var _$=Object.defineProperty;var I$=(e,a,t)=>a in e?_$(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t;var Mr=(e,a,t)=>I$(e,typeof a!="symbol"?a+"":a,t);function N$(e,a){for(var t=0;t<a.length;t++){const n=a[t];if(typeof n!="string"&&!Array.isArray(n)){for(const i in n)if(i!=="default"&&!(i in e)){const r=Object.getOwnPropertyDescriptor(n,i);r&&Object.defineProperty(e,i,r.get?r:{enumerable:!0,get:()=>n[i]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var Ve=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function an(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function P3(e){if(e.__esModule)return e;var a=e.default;if(typeof a=="function"){var t=function n(){return this instanceof n?Reflect.construct(a,arguments,this.constructor):a.apply(this,arguments)};t.prototype=a.prototype}else t={};return Object.defineProperty(t,"__esModule",{value:!0}),Object.keys(e).forEach(function(n){var i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,i.get?i:{enumerable:!0,get:function(){return e[n]}})}),t}var VI={exports:{}},py={},GI={exports:{}},Aa={};/**
 * @license React
 * react.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */var op=Symbol.for("react.element"),L$=Symbol.for("react.portal"),R$=Symbol.for("react.fragment"),P$=Symbol.for("react.strict_mode"),M$=Symbol.for("react.profiler"),O$=Symbol.for("react.provider"),B$=Symbol.for("react.context"),F$=Symbol.for("react.forward_ref"),U$=Symbol.for("react.suspense"),j$=Symbol.for("react.memo"),z$=Symbol.for("react.lazy"),Jx=Symbol.iterator;function $$(e){return e===null||typeof e!="object"?null:(e=Jx&&e[Jx]||e["@@iterator"],typeof e=="function"?e:null)}var WI={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},YI=Object.assign,XI={};function gd(e,a,t){this.props=e,this.context=a,this.refs=XI,this.updater=t||WI}gd.prototype.isReactComponent={};gd.prototype.setState=function(e,a){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,a,"setState")};gd.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function QI(){}QI.prototype=gd.prototype;function M3(e,a,t){this.props=e,this.context=a,this.refs=XI,this.updater=t||WI}var O3=M3.prototype=new QI;O3.constructor=M3;YI(O3,gd.prototype);O3.isPureReactComponent=!0;var e4=Array.isArray,ZI=Object.prototype.hasOwnProperty,B3={current:null},JI={key:!0,ref:!0,__self:!0,__source:!0};function eN(e,a,t){var n,i={},r=null,s=null;if(a!=null)for(n in a.ref!==void 0&&(s=a.ref),a.key!==void 0&&(r=""+a.key),a)ZI.call(a,n)&&!JI.hasOwnProperty(n)&&(i[n]=a[n]);var u=arguments.length-2;if(u===1)i.children=t;else if(1<u){for(var o=Array(u),l=0;l<u;l++)o[l]=arguments[l+2];i.children=o}if(e&&e.defaultProps)for(n in u=e.defaultProps,u)i[n]===void 0&&(i[n]=u[n]);return{$$typeof:op,type:e,key:r,ref:s,props:i,_owner:B3.current}}function K$(e,a){return{$$typeof:op,type:e.type,key:a,ref:e.ref,props:e.props,_owner:e._owner}}function F3(e){return typeof e=="object"&&e!==null&&e.$$typeof===op}function H$(e){var a={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(t){return a[t]})}var a4=/\/+/g;function r1(e,a){return typeof e=="object"&&e!==null&&e.key!=null?H$(""+e.key):a.toString(36)}function h2(e,a,t,n,i){var r=typeof e;(r==="undefined"||r==="boolean")&&(e=null);var s=!1;if(e===null)s=!0;else switch(r){case"string":case"number":s=!0;break;case"object":switch(e.$$typeof){case op:case L$:s=!0}}if(s)return s=e,i=i(s),e=n===""?"."+r1(s,0):n,e4(i)?(t="",e!=null&&(t=e.replace(a4,"$&/")+"/"),h2(i,a,t,"",function(l){return l})):i!=null&&(F3(i)&&(i=K$(i,t+(!i.key||s&&s.key===i.key?"":(""+i.key).replace(a4,"$&/")+"/")+e)),a.push(i)),1;if(s=0,n=n===""?".":n+":",e4(e))for(var u=0;u<e.length;u++){r=e[u];var o=n+r1(r,u);s+=h2(r,a,t,o,i)}else if(o=$$(e),typeof o=="function")for(e=o.call(e),u=0;!(r=e.next()).done;)r=r.value,o=n+r1(r,u++),s+=h2(r,a,t,o,i);else if(r==="object")throw a=String(e),Error("Objects are not valid as a React child (found: "+(a==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":a)+"). If you meant to render a collection of children, use an array instead.");return s}function Wp(e,a,t){if(e==null)return e;var n=[],i=0;return h2(e,n,"","",function(r){return a.call(t,r,i++)}),n}function q$(e){if(e._status===-1){var a=e._result;a=a(),a.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=a)}if(e._status===1)return e._result.default;throw e._result}var zn={current:null},m2={transition:null},V$={ReactCurrentDispatcher:zn,ReactCurrentBatchConfig:m2,ReactCurrentOwner:B3};function aN(){throw Error("act(...) is not supported in production builds of React.")}Aa.Children={map:Wp,forEach:function(e,a,t){Wp(e,function(){a.apply(this,arguments)},t)},count:function(e){var a=0;return Wp(e,function(){a++}),a},toArray:function(e){return Wp(e,function(a){return a})||[]},only:function(e){if(!F3(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};Aa.Component=gd;Aa.Fragment=R$;Aa.Profiler=M$;Aa.PureComponent=M3;Aa.StrictMode=P$;Aa.Suspense=U$;Aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=V$;Aa.act=aN;Aa.cloneElement=function(e,a,t){if(e==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var n=YI({},e.props),i=e.key,r=e.ref,s=e._owner;if(a!=null){if(a.ref!==void 0&&(r=a.ref,s=B3.current),a.key!==void 0&&(i=""+a.key),e.type&&e.type.defaultProps)var u=e.type.defaultProps;for(o in a)ZI.call(a,o)&&!JI.hasOwnProperty(o)&&(n[o]=a[o]===void 0&&u!==void 0?u[o]:a[o])}var o=arguments.length-2;if(o===1)n.children=t;else if(1<o){u=Array(o);for(var l=0;l<o;l++)u[l]=arguments[l+2];n.children=u}return{$$typeof:op,type:e.type,key:i,ref:r,props:n,_owner:s}};Aa.createContext=function(e){return e={$$typeof:B$,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:O$,_context:e},e.Consumer=e};Aa.createElement=eN;Aa.createFactory=function(e){var a=eN.bind(null,e);return a.type=e,a};Aa.createRef=function(){return{current:null}};Aa.forwardRef=function(e){return{$$typeof:F$,render:e}};Aa.isValidElement=F3;Aa.lazy=function(e){return{$$typeof:z$,_payload:{_status:-1,_result:e},_init:q$}};Aa.memo=function(e,a){return{$$typeof:j$,type:e,compare:a===void 0?null:a}};Aa.startTransition=function(e){var a=m2.transition;m2.transition={};try{e()}finally{m2.transition=a}};Aa.unstable_act=aN;Aa.useCallback=function(e,a){return zn.current.useCallback(e,a)};Aa.useContext=function(e){return zn.current.useContext(e)};Aa.useDebugValue=function(){};Aa.useDeferredValue=function(e){return zn.current.useDeferredValue(e)};Aa.useEffect=function(e,a){return zn.current.useEffect(e,a)};Aa.useId=function(){return zn.current.useId()};Aa.useImperativeHandle=function(e,a,t){return zn.current.useImperativeHandle(e,a,t)};Aa.useInsertionEffect=function(e,a){return zn.current.useInsertionEffect(e,a)};Aa.useLayoutEffect=function(e,a){return zn.current.useLayoutEffect(e,a)};Aa.useMemo=function(e,a){return zn.current.useMemo(e,a)};Aa.useReducer=function(e,a,t){return zn.current.useReducer(e,a,t)};Aa.useRef=function(e){return zn.current.useRef(e)};Aa.useState=function(e){return zn.current.useState(e)};Aa.useSyncExternalStore=function(e,a,t){return zn.current.useSyncExternalStore(e,a,t)};Aa.useTransition=function(){return zn.current.useTransition()};Aa.version="18.3.1";GI.exports=Aa;var X=GI.exports;const Va=an(X),TS=N$({__proto__:null,default:Va},[X]);/**
 * @license React
 * react-jsx-runtime.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */var G$=X,W$=Symbol.for("react.element"),Y$=Symbol.for("react.fragment"),X$=Object.prototype.hasOwnProperty,Q$=G$.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,Z$={key:!0,ref:!0,__self:!0,__source:!0};function tN(e,a,t){var n,i={},r=null,s=null;t!==void 0&&(r=""+t),a.key!==void 0&&(r=""+a.key),a.ref!==void 0&&(s=a.ref);for(n in a)X$.call(a,n)&&!Z$.hasOwnProperty(n)&&(i[n]=a[n]);if(e&&e.defaultProps)for(n in a=e.defaultProps,a)i[n]===void 0&&(i[n]=a[n]);return{$$typeof:W$,type:e,key:r,ref:s,props:i,_owner:Q$.current}}py.Fragment=Y$;py.jsx=tN;py.jsxs=tN;VI.exports=py;var nN=VI.exports,Md=function(e){return e&&e.Math===Math&&e},nt=Md(typeof globalThis=="object"&&globalThis)||Md(typeof window=="object"&&window)||Md(typeof self=="object"&&self)||Md(typeof Ve=="object"&&Ve)||Md(typeof Ve=="object"&&Ve)||function(){return this}()||Function("return this")(),U3={},ft=function(e){try{return!!e()}catch{return!0}},J$=ft,wn=!J$(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7}),eK=ft,fy=!eK(function(){var e=(function(){}).bind();return typeof e!="function"||e.hasOwnProperty("prototype")}),aK=fy,Yp=Function.prototype.call,ms=aK?Yp.bind(Yp):function(){return Yp.apply(Yp,arguments)},iN={},rN={}.propertyIsEnumerable,sN=Object.getOwnPropertyDescriptor,tK=sN&&!rN.call({1:2},1);iN.f=tK?function(a){var t=sN(this,a);return!!t&&t.enumerable}:rN;var lp=function(e,a){return{enumerable:!(e&1),configurable:!(e&2),writable:!(e&4),value:a}},uN=fy,oN=Function.prototype,SS=oN.call,nK=uN&&oN.bind.bind(SS,SS),Ga=uN?nK:function(e){return function(){return SS.apply(e,arguments)}},lN=Ga,iK=lN({}.toString),rK=lN("".slice),gp=function(e){return rK(iK(e),8,-1)},sK=Ga,uK=ft,oK=gp,s1=Object,lK=sK("".split),gN=uK(function(){return!s1("z").propertyIsEnumerable(0)})?function(e){return oK(e)==="String"?lK(e,""):s1(e)}:s1,hy=function(e){return e==null},gK=hy,dK=TypeError,io=function(e){if(gK(e))throw new dK("Can't call method on "+e);return e},cK=gN,pK=io,ro=function(e){return cK(pK(e))},u1=typeof document=="object"&&document.all,tn=typeof u1>"u"&&u1!==void 0?function(e){return typeof e=="function"||e===u1}:function(e){return typeof e=="function"},fK=tn,Nr=function(e){return typeof e=="object"?e!==null:fK(e)},o1=nt,hK=tn,mK=function(e){return hK(e)?e:void 0},ys=function(e,a){return arguments.length<2?mK(o1[e]):o1[e]&&o1[e][a]},yK=Ga,dd=yK({}.isPrototypeOf),bK=nt,t4=bK.navigator,n4=t4&&t4.userAgent,my=n4?String(n4):"",dN=nt,l1=my,i4=dN.process,r4=dN.Deno,s4=i4&&i4.versions||r4&&r4.version,u4=s4&&s4.v8,yr,fh;u4&&(yr=u4.split("."),fh=yr[0]>0&&yr[0]<4?1:+(yr[0]+yr[1]));!fh&&l1&&(yr=l1.match(/Edge\/(\d+)/),(!yr||yr[1]>=74)&&(yr=l1.match(/Chrome\/(\d+)/),yr&&(fh=+yr[1])));var cN=fh,o4=cN,TK=ft,SK=nt,AK=SK.String,pN=!!Object.getOwnPropertySymbols&&!TK(function(){var e=Symbol("symbol detection");return!AK(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&o4&&o4<41}),vK=pN,fN=vK&&!Symbol.sham&&typeof Symbol.iterator=="symbol",DK=ys,xK=tn,EK=dd,kK=fN,CK=Object,j3=kK?function(e){return typeof e=="symbol"}:function(e){var a=DK("Symbol");return xK(a)&&EK(a.prototype,CK(e))},wK=String,dp=function(e){try{return wK(e)}catch{return"Object"}},_K=tn,IK=dp,NK=TypeError,Zs=function(e){if(_K(e))return e;throw new NK(IK(e)+" is not a function")},LK=Zs,RK=hy,z3=function(e,a){var t=e[a];return RK(t)?void 0:LK(t)},g1=ms,d1=tn,c1=Nr,PK=TypeError,MK=function(e,a){var t,n;if(a==="string"&&d1(t=e.toString)&&!c1(n=g1(t,e))||d1(t=e.valueOf)&&!c1(n=g1(t,e))||a!=="string"&&d1(t=e.toString)&&!c1(n=g1(t,e)))return n;throw new PK("Can't convert object to primitive value")},hN={exports:{}},OK=!1,l4=nt,BK=Object.defineProperty,$3=function(e,a){try{BK(l4,e,{value:a,configurable:!0,writable:!0})}catch{l4[e]=a}return a},FK=nt,UK=$3,g4="__core-js_shared__",d4=hN.exports=FK[g4]||UK(g4,{});(d4.versions||(d4.versions=[])).push({version:"3.38.1",mode:"global",copyright:"© 2014-2024 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.38.1/LICENSE",source:"https://github.com/zloirock/core-js"});var K3=hN.exports,c4=K3,mN=function(e,a){return c4[e]||(c4[e]=a||{})},jK=io,zK=Object,ll=function(e){return zK(jK(e))},$K=Ga,KK=ll,HK=$K({}.hasOwnProperty),$n=Object.hasOwn||function(a,t){return HK(KK(a),t)},qK=Ga,VK=0,GK=Math.random(),WK=qK(1 .toString),yy=function(e){return"Symbol("+(e===void 0?"":e)+")_"+WK(++VK+GK,36)},YK=nt,XK=mN,p4=$n,QK=yy,ZK=pN,JK=fN,Vl=YK.Symbol,p1=XK("wks"),eH=JK?Vl.for||Vl:Vl&&Vl.withoutSetter||QK,so=function(e){return p4(p1,e)||(p1[e]=ZK&&p4(Vl,e)?Vl[e]:eH("Symbol."+e)),p1[e]},aH=ms,f4=Nr,h4=j3,tH=z3,nH=MK,iH=so,rH=TypeError,sH=iH("toPrimitive"),yN=function(e,a){if(!f4(e)||h4(e))return e;var t=tH(e,sH),n;if(t){if(a===void 0&&(a="default"),n=aH(t,e,a),!f4(n)||h4(n))return n;throw new rH("Can't convert object to primitive value")}return a===void 0&&(a="number"),nH(e,a)},uH=yN,oH=j3,H3=function(e){var a=uH(e,"string");return oH(a)?a:a+""},lH=nt,m4=Nr,AS=lH.document,gH=m4(AS)&&m4(AS.createElement),q3=function(e){return gH?AS.createElement(e):{}},dH=wn,cH=ft,pH=q3,bN=!dH&&!cH(function(){return Object.defineProperty(pH("div"),"a",{get:function(){return 7}}).a!==7}),fH=wn,hH=ms,mH=iN,yH=lp,bH=ro,TH=H3,SH=$n,AH=bN,y4=Object.getOwnPropertyDescriptor;U3.f=fH?y4:function(a,t){if(a=bH(a),t=TH(t),AH)try{return y4(a,t)}catch{}if(SH(a,t))return yH(!hH(mH.f,a,t),a[t])};var bs={},vH=wn,DH=ft,TN=vH&&DH(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42}),xH=Nr,EH=String,kH=TypeError,Js=function(e){if(xH(e))return e;throw new kH(EH(e)+" is not an object")},CH=wn,wH=bN,_H=TN,Xp=Js,b4=H3,IH=TypeError,f1=Object.defineProperty,NH=Object.getOwnPropertyDescriptor,h1="enumerable",m1="configurable",y1="writable";bs.f=CH?_H?function(a,t,n){if(Xp(a),t=b4(t),Xp(n),typeof a=="function"&&t==="prototype"&&"value"in n&&y1 in n&&!n[y1]){var i=NH(a,t);i&&i[y1]&&(a[t]=n.value,n={configurable:m1 in n?n[m1]:i[m1],enumerable:h1 in n?n[h1]:i[h1],writable:!1})}return f1(a,t,n)}:f1:function(a,t,n){if(Xp(a),t=b4(t),Xp(n),wH)try{return f1(a,t,n)}catch{}if("get"in n||"set"in n)throw new IH("Accessors not supported");return"value"in n&&(a[t]=n.value),a};var LH=wn,RH=bs,PH=lp,gl=LH?function(e,a,t){return RH.f(e,a,PH(1,t))}:function(e,a,t){return e[a]=t,e},SN={exports:{}},vS=wn,MH=$n,AN=Function.prototype,OH=vS&&Object.getOwnPropertyDescriptor,V3=MH(AN,"name"),BH=V3&&(function(){}).name==="something",FH=V3&&(!vS||vS&&OH(AN,"name").configurable),UH={EXISTS:V3,PROPER:BH,CONFIGURABLE:FH},jH=Ga,zH=tn,DS=K3,$H=jH(Function.toString);zH(DS.inspectSource)||(DS.inspectSource=function(e){return $H(e)});var vN=DS.inspectSource,KH=nt,HH=tn,T4=KH.WeakMap,qH=HH(T4)&&/native code/.test(String(T4)),VH=mN,GH=yy,S4=VH("keys"),G3=function(e){return S4[e]||(S4[e]=GH(e))},W3={},WH=qH,DN=nt,YH=Nr,XH=gl,b1=$n,T1=K3,QH=G3,ZH=W3,A4="Object already initialized",xS=DN.TypeError,JH=DN.WeakMap,hh,oc,mh,eq=function(e){return mh(e)?oc(e):hh(e,{})},aq=function(e){return function(a){var t;if(!YH(a)||(t=oc(a)).type!==e)throw new xS("Incompatible receiver, "+e+" required");return t}};if(WH||T1.state){var Or=T1.state||(T1.state=new JH);Or.get=Or.get,Or.has=Or.has,Or.set=Or.set,hh=function(e,a){if(Or.has(e))throw new xS(A4);return a.facade=e,Or.set(e,a),a},oc=function(e){return Or.get(e)||{}},mh=function(e){return Or.has(e)}}else{var Cl=QH("state");ZH[Cl]=!0,hh=function(e,a){if(b1(e,Cl))throw new xS(A4);return a.facade=e,XH(e,Cl,a),a},oc=function(e){return b1(e,Cl)?e[Cl]:{}},mh=function(e){return b1(e,Cl)}}var xN={set:hh,get:oc,has:mh,enforce:eq,getterFor:aq},Y3=Ga,tq=ft,nq=tn,Qp=$n,ES=wn,iq=UH.CONFIGURABLE,rq=vN,EN=xN,sq=EN.enforce,uq=EN.get,v4=String,y2=Object.defineProperty,oq=Y3("".slice),lq=Y3("".replace),gq=Y3([].join),dq=ES&&!tq(function(){return y2(function(){},"length",{value:8}).length!==8}),cq=String(String).split("String"),pq=SN.exports=function(e,a,t){oq(v4(a),0,7)==="Symbol("&&(a="["+lq(v4(a),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),t&&t.getter&&(a="get "+a),t&&t.setter&&(a="set "+a),(!Qp(e,"name")||iq&&e.name!==a)&&(ES?y2(e,"name",{value:a,configurable:!0}):e.name=a),dq&&t&&Qp(t,"arity")&&e.length!==t.arity&&y2(e,"length",{value:t.arity});try{t&&Qp(t,"constructor")&&t.constructor?ES&&y2(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch{}var n=sq(e);return Qp(n,"source")||(n.source=gq(cq,typeof a=="string"?a:"")),e};Function.prototype.toString=pq(function(){return nq(this)&&uq(this).source||rq(this)},"toString");var kN=SN.exports,fq=tn,hq=bs,mq=kN,yq=$3,by=function(e,a,t,n){n||(n={});var i=n.enumerable,r=n.name!==void 0?n.name:a;if(fq(t)&&mq(t,r,n),n.global)i?e[a]=t:yq(a,t);else{try{n.unsafe?e[a]&&(i=!0):delete e[a]}catch{}i?e[a]=t:hq.f(e,a,{value:t,enumerable:!1,configurable:!n.nonConfigurable,writable:!n.nonWritable})}return e},CN={},bq=Math.ceil,Tq=Math.floor,Sq=Math.trunc||function(a){var t=+a;return(t>0?Tq:bq)(t)},Aq=Sq,eu=function(e){var a=+e;return a!==a||a===0?0:Aq(a)},vq=eu,Dq=Math.max,xq=Math.min,wN=function(e,a){var t=vq(e);return t<0?Dq(t+a,0):xq(t,a)},Eq=eu,kq=Math.min,Cq=function(e){var a=Eq(e);return a>0?kq(a,9007199254740991):0},wq=Cq,Ri=function(e){return wq(e.length)},_q=ro,Iq=wN,Nq=Ri,D4=function(e){return function(a,t,n){var i=_q(a),r=Nq(i);if(r===0)return!e&&-1;var s=Iq(n,r),u;if(e&&t!==t){for(;r>s;)if(u=i[s++],u!==u)return!0}else for(;r>s;s++)if((e||s in i)&&i[s]===t)return e||s||0;return!e&&-1}},Lq={includes:D4(!0),indexOf:D4(!1)},Rq=Ga,S1=$n,Pq=ro,Mq=Lq.indexOf,Oq=W3,x4=Rq([].push),_N=function(e,a){var t=Pq(e),n=0,i=[],r;for(r in t)!S1(Oq,r)&&S1(t,r)&&x4(i,r);for(;a.length>n;)S1(t,r=a[n++])&&(~Mq(i,r)||x4(i,r));return i},X3=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],Bq=_N,Fq=X3,Uq=Fq.concat("length","prototype");CN.f=Object.getOwnPropertyNames||function(a){return Bq(a,Uq)};var IN={};IN.f=Object.getOwnPropertySymbols;var jq=ys,zq=Ga,$q=CN,Kq=IN,Hq=Js,qq=zq([].concat),Vq=jq("Reflect","ownKeys")||function(a){var t=$q.f(Hq(a)),n=Kq.f;return n?qq(t,n(a)):t},E4=$n,Gq=Vq,Wq=U3,Yq=bs,NN=function(e,a,t){for(var n=Gq(a),i=Yq.f,r=Wq.f,s=0;s<n.length;s++){var u=n[s];!E4(e,u)&&!(t&&E4(t,u))&&i(e,u,r(a,u))}},Xq=ft,Qq=tn,Zq=/#|\.prototype\./,cp=function(e,a){var t=eV[Jq(e)];return t===tV?!0:t===aV?!1:Qq(a)?Xq(a):!!a},Jq=cp.normalize=function(e){return String(e).replace(Zq,".").toLowerCase()},eV=cp.data={},aV=cp.NATIVE="N",tV=cp.POLYFILL="P",nV=cp,Zp=nt,iV=U3.f,rV=gl,sV=by,uV=$3,oV=NN,lV=nV,St=function(e,a){var t=e.target,n=e.global,i=e.stat,r,s,u,o,l,g;if(n?s=Zp:i?s=Zp[t]||uV(t,{}):s=Zp[t]&&Zp[t].prototype,s)for(u in a){if(l=a[u],e.dontCallGetSet?(g=iV(s,u),o=g&&g.value):o=s[u],r=lV(n?u:t+(i?".":"#")+u,e.forced),!r&&o!==void 0){if(typeof l==typeof o)continue;oV(l,o)}(e.sham||o&&o.sham)&&rV(l,"sham",!0),sV(s,u,l,e)}},gV=fy,LN=Function.prototype,k4=LN.apply,C4=LN.call,Ty=typeof Reflect=="object"&&Reflect.apply||(gV?C4.bind(k4):function(){return C4.apply(k4,arguments)}),dV=Ga,cV=Zs,pV=function(e,a,t){try{return dV(cV(Object.getOwnPropertyDescriptor(e,a)[t]))}catch{}},fV=Nr,hV=function(e){return fV(e)||e===null},mV=hV,yV=String,bV=TypeError,TV=function(e){if(mV(e))return e;throw new bV("Can't set "+yV(e)+" as a prototype")},SV=pV,AV=Nr,vV=io,DV=TV,Q3=Object.setPrototypeOf||("__proto__"in{}?function(){var e=!1,a={},t;try{t=SV(Object.prototype,"__proto__","set"),t(a,[]),e=a instanceof Array}catch{}return function(i,r){return vV(i),DV(r),AV(i)&&(e?t(i,r):i.__proto__=r),i}}():void 0),xV=bs.f,EV=function(e,a,t){t in e||xV(e,t,{configurable:!0,get:function(){return a[t]},set:function(n){a[t]=n}})},kV=tn,CV=Nr,w4=Q3,RN=function(e,a,t){var n,i;return w4&&kV(n=a.constructor)&&n!==t&&CV(i=n.prototype)&&i!==t.prototype&&w4(e,i),e},wV=so,_V=wV("toStringTag"),PN={};PN[_V]="z";var IV=String(PN)==="[object z]",NV=IV,LV=tn,b2=gp,RV=so,PV=RV("toStringTag"),MV=Object,OV=b2(function(){return arguments}())==="Arguments",BV=function(e,a){try{return e[a]}catch{}},cd=NV?b2:function(e){var a,t,n;return e===void 0?"Undefined":e===null?"Null":typeof(t=BV(a=MV(e),PV))=="string"?t:OV?b2(a):(n=b2(a))==="Object"&&LV(a.callee)?"Arguments":n},FV=cd,UV=String,dl=function(e){if(FV(e)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return UV(e)},jV=dl,MN=function(e,a){return e===void 0?arguments.length<2?"":a:jV(e)},zV=Nr,$V=gl,KV=function(e,a){zV(a)&&"cause"in a&&$V(e,"cause",a.cause)},HV=Ga,ON=Error,qV=HV("".replace),VV=function(e){return String(new ON(e).stack)}("zxcasd"),BN=/\n\s*at [^:]*:[^\n]*/,GV=BN.test(VV),FN=function(e,a){if(GV&&typeof e=="string"&&!ON.prepareStackTrace)for(;a--;)e=qV(e,BN,"");return e},WV=ft,YV=lp,UN=!WV(function(){var e=new Error("a");return"stack"in e?(Object.defineProperty(e,"stack",YV(1,7)),e.stack!==7):!0}),XV=gl,QV=FN,ZV=UN,_4=Error.captureStackTrace,JV=function(e,a,t,n){ZV&&(_4?_4(e,a):XV(e,"stack",QV(t,n)))},I4=ys,eG=$n,N4=gl,aG=dd,L4=Q3,R4=NN,P4=EV,tG=RN,nG=MN,iG=KV,rG=JV,sG=wn,jN=function(e,a,t,n){var i="stackTraceLimit",r=n?2:1,s=e.split("."),u=s[s.length-1],o=I4.apply(null,s);if(o){var l=o.prototype;if(eG(l,"cause")&&delete l.cause,!t)return o;var g=I4("Error"),d=a(function(c,p){var f=nG(n?p:c,void 0),h=n?new o(c):new o;return f!==void 0&&N4(h,"message",f),rG(h,d,h.stack,2),this&&aG(l,this)&&tG(h,this,d),arguments.length>r&&iG(h,arguments[r]),h});d.prototype=l,u!=="Error"?L4?L4(d,g):R4(d,g,{name:!0}):sG&&i in o&&(P4(d,o,i),P4(d,o,"prepareStackTrace")),R4(d,o);try{l.name!==u&&N4(l,"name",u),l.constructor=d}catch{}return d}},zN=St,uG=nt,Ts=Ty,$N=jN,kS="WebAssembly",M4=uG[kS],yh=new Error("e",{cause:7}).cause!==7,cl=function(e,a){var t={};t[e]=$N(e,a,yh),zN({global:!0,constructor:!0,arity:1,forced:yh},t)},Z3=function(e,a){if(M4&&M4[e]){var t={};t[e]=$N(kS+"."+e,a,yh),zN({target:kS,stat:!0,constructor:!0,arity:1,forced:yh},t)}};cl("Error",function(e){return function(t){return Ts(e,this,arguments)}});cl("EvalError",function(e){return function(t){return Ts(e,this,arguments)}});cl("RangeError",function(e){return function(t){return Ts(e,this,arguments)}});cl("ReferenceError",function(e){return function(t){return Ts(e,this,arguments)}});cl("SyntaxError",function(e){return function(t){return Ts(e,this,arguments)}});cl("TypeError",function(e){return function(t){return Ts(e,this,arguments)}});cl("URIError",function(e){return function(t){return Ts(e,this,arguments)}});Z3("CompileError",function(e){return function(t){return Ts(e,this,arguments)}});Z3("LinkError",function(e){return function(t){return Ts(e,this,arguments)}});Z3("RuntimeError",function(e){return function(t){return Ts(e,this,arguments)}});var oG=St,lG=ys,gG=Ty,O4=ft,dG=jN,J3="AggregateError",B4=lG(J3),F4=!O4(function(){return B4([1]).errors[0]!==1})&&O4(function(){return B4([1],J3,{cause:7}).cause!==7});oG({global:!0,constructor:!0,arity:2,forced:F4},{AggregateError:dG(J3,function(e){return function(t,n){return gG(e,this,arguments)}},F4,!0)});var KN={},cG=_N,pG=X3,fG=Object.keys||function(a){return cG(a,pG)},hG=wn,mG=TN,yG=bs,bG=Js,TG=ro,SG=fG;KN.f=hG&&!mG?Object.defineProperties:function(a,t){bG(a);for(var n=TG(t),i=SG(t),r=i.length,s=0,u;r>s;)yG.f(a,u=i[s++],n[u]);return a};var AG=ys,HN=AG("document","documentElement"),vG=Js,DG=KN,U4=X3,xG=W3,EG=HN,kG=q3,CG=G3,j4=">",z4="<",CS="prototype",wS="script",qN=CG("IE_PROTO"),A1=function(){},VN=function(e){return z4+wS+j4+e+z4+"/"+wS+j4},$4=function(e){e.write(VN("")),e.close();var a=e.parentWindow.Object;return e=null,a},wG=function(){var e=kG("iframe"),a="java"+wS+":",t;return e.style.display="none",EG.appendChild(e),e.src=String(a),t=e.contentWindow.document,t.open(),t.write(VN("document.F=Object")),t.close(),t.F},Jp,T2=function(){try{Jp=new ActiveXObject("htmlfile")}catch{}T2=typeof document<"u"?document.domain&&Jp?$4(Jp):wG():$4(Jp);for(var e=U4.length;e--;)delete T2[CS][U4[e]];return T2()};xG[qN]=!0;var _G=Object.create||function(a,t){var n;return a!==null?(A1[CS]=vG(a),n=new A1,A1[CS]=null,n[qN]=a):n=T2(),t===void 0?n:DG.f(n,t)},IG=so,NG=_G,LG=bs.f,_S=IG("unscopables"),IS=Array.prototype;IS[_S]===void 0&&LG(IS,_S,{configurable:!0,value:NG(null)});var pd=function(e){IS[_S][e]=!0},RG=St,PG=ll,MG=Ri,OG=eu,BG=pd;RG({target:"Array",proto:!0},{at:function(a){var t=PG(this),n=MG(t),i=OG(a),r=i>=0?i:n+i;return r<0||r>=n?void 0:t[r]}});BG("at");var FG=gp,UG=Ga,jG=function(e){if(FG(e)==="Function")return UG(e)},K4=jG,zG=Zs,$G=fy,KG=K4(K4.bind),ev=function(e,a){return zG(e),a===void 0?e:$G?KG(e,a):function(){return e.apply(a,arguments)}},HG=ev,qG=gN,VG=ll,GG=Ri,H4=function(e){var a=e===1;return function(t,n,i){for(var r=VG(t),s=qG(r),u=GG(s),o=HG(n,i),l,g;u-- >0;)if(l=s[u],g=o(l,u,r),g)switch(e){case 0:return l;case 1:return u}return a?-1:void 0}},Sy={findLast:H4(0),findLastIndex:H4(1)},WG=St,YG=Sy.findLast,XG=pd;WG({target:"Array",proto:!0},{findLast:function(a){return YG(this,a,arguments.length>1?arguments[1]:void 0)}});XG("findLast");var QG=St,ZG=Sy.findLastIndex,JG=pd;QG({target:"Array",proto:!0},{findLastIndex:function(a){return ZG(this,a,arguments.length>1?arguments[1]:void 0)}});JG("findLastIndex");var eW=gp,aW=Array.isArray||function(a){return eW(a)==="Array"},tW=wn,nW=aW,iW=TypeError,rW=Object.getOwnPropertyDescriptor,sW=tW&&!function(){if(this!==void 0)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(e){return e instanceof TypeError}}(),GN=sW?function(e,a){if(nW(e)&&!rW(e,"length").writable)throw new iW("Cannot set read only .length");return e.length=a}:function(e,a){return e.length=a},uW=TypeError,oW=9007199254740991,av=function(e){if(e>oW)throw uW("Maximum allowed index exceeded");return e},lW=St,gW=ll,dW=Ri,cW=GN,pW=av,fW=ft,hW=fW(function(){return[].push.call({length:4294967296},1)!==4294967297}),mW=function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(e){return e instanceof TypeError}},yW=hW||!mW();lW({target:"Array",proto:!0,arity:1,forced:yW},{push:function(a){var t=gW(this),n=dW(t),i=arguments.length;pW(n+i);for(var r=0;r<i;r++)t[n]=arguments[r],n++;return cW(t,n),n}});var bW=Ri,WN=function(e,a){for(var t=bW(e),n=new a(t),i=0;i<t;i++)n[i]=e[t-i-1];return n},TW=St,SW=WN,AW=ro,vW=pd,DW=Array;TW({target:"Array",proto:!0},{toReversed:function(){return SW(AW(this),DW)}});vW("toReversed");var xW=Ri,YN=function(e,a,t){for(var n=0,i=arguments.length>2?t:xW(a),r=new e(i);i>n;)r[n]=a[n++];return r},EW=nt,kW=function(e,a){var t=EW[e],n=t&&t.prototype;return n&&n[a]},CW=St,wW=Ga,_W=Zs,IW=ro,NW=YN,LW=kW,RW=pd,PW=Array,MW=wW(LW("Array","sort"));CW({target:"Array",proto:!0},{toSorted:function(a){a!==void 0&&_W(a);var t=IW(this),n=NW(PW,t);return MW(n,a)}});RW("toSorted");var OW=St,BW=pd,FW=av,UW=Ri,jW=wN,zW=ro,$W=eu,KW=Array,HW=Math.max,qW=Math.min;OW({target:"Array",proto:!0},{toSpliced:function(a,t){var n=zW(this),i=UW(n),r=jW(a,i),s=arguments.length,u=0,o,l,g,d;for(s===0?o=l=0:s===1?(o=0,l=i-r):(o=s-2,l=qW(HW($W(t),0),i-r)),g=FW(i+o-l),d=KW(g);u<r;u++)d[u]=n[u];for(;u<r+o;u++)d[u]=arguments[u-r+2];for(;u<g;u++)d[u]=n[u+l-o];return d}});BW("toSpliced");var q4=dp,VW=TypeError,GW=function(e,a){if(!delete e[a])throw new VW("Cannot delete property "+q4(a)+" of "+q4(e))},WW=St,YW=ll,XW=Ri,QW=GN,ZW=GW,JW=av,eY=[].unshift(0)!==1,aY=function(){try{Object.defineProperty([],"length",{writable:!1}).unshift()}catch(e){return e instanceof TypeError}},tY=eY||!aY();WW({target:"Array",proto:!0,arity:1,forced:tY},{unshift:function(a){var t=YW(this),n=XW(t),i=arguments.length;if(i){JW(n+i);for(var r=n;r--;){var s=r+i;r in t?t[s]=t[r]:ZW(t,s)}for(var u=0;u<i;u++)t[u]=arguments[u]}return QW(t,n+i)}});var nY=Ri,iY=eu,rY=RangeError,XN=function(e,a,t,n){var i=nY(e),r=iY(t),s=r<0?i+r:r;if(s>=i||s<0)throw new rY("Incorrect index");for(var u=new a(i),o=0;o<i;o++)u[o]=o===s?n:e[o];return u},sY=St,uY=XN,oY=ro,lY=Array;sY({target:"Array",proto:!0},{with:function(e,a){return uY(oY(this),lY,e,a)}});var QN={},gY=so,dY=QN,cY=gY("iterator"),pY=Array.prototype,fY=function(e){return e!==void 0&&(dY.Array===e||pY[cY]===e)},hY=cd,V4=z3,mY=hy,yY=QN,bY=so,TY=bY("iterator"),ZN=function(e){if(!mY(e))return V4(e,TY)||V4(e,"@@iterator")||yY[hY(e)]},SY=ms,AY=Zs,vY=Js,DY=dp,xY=ZN,EY=TypeError,kY=function(e,a){var t=arguments.length<2?xY(e):a;if(AY(t))return vY(SY(t,e));throw new EY(DY(e)+" is not iterable")},CY=ms,G4=Js,wY=z3,_Y=function(e,a,t){var n,i;G4(e);try{if(n=wY(e,"return"),!n){if(a==="throw")throw t;return t}n=CY(n,e)}catch(r){i=!0,n=r}if(a==="throw")throw t;if(i)throw n;return G4(n),t},IY=ev,NY=ms,LY=Js,RY=dp,PY=fY,MY=Ri,W4=dd,OY=kY,BY=ZN,Y4=_Y,FY=TypeError,S2=function(e,a){this.stopped=e,this.result=a},X4=S2.prototype,tv=function(e,a,t){var n=t&&t.that,i=!!(t&&t.AS_ENTRIES),r=!!(t&&t.IS_RECORD),s=!!(t&&t.IS_ITERATOR),u=!!(t&&t.INTERRUPTED),o=IY(a,n),l,g,d,c,p,f,h,y=function(m){return l&&Y4(l,"normal",m),new S2(!0,m)},b=function(m){return i?(LY(m),u?o(m[0],m[1],y):o(m[0],m[1])):u?o(m,y):o(m)};if(r)l=e.iterator;else if(s)l=e;else{if(g=BY(e),!g)throw new FY(RY(e)+" is not iterable");if(PY(g)){for(d=0,c=MY(e);c>d;d++)if(p=b(e[d]),p&&W4(X4,p))return p;return new S2(!1)}l=OY(e,g)}for(f=r?e.next:l.next;!(h=NY(f,l)).done;){try{p=b(h.value)}catch(m){Y4(l,"throw",m)}if(typeof p=="object"&&p&&W4(X4,p))return p}return new S2(!1)},ef=Ga,Od=Map.prototype,JN={Map,set:ef(Od.set),get:ef(Od.get),has:ef(Od.has),remove:ef(Od.delete),proto:Od},UY=St,jY=Ga,zY=Zs,$Y=io,KY=tv,Ay=JN,HY=ft,eL=Ay.Map,qY=Ay.has,VY=Ay.get,GY=Ay.set,WY=jY([].push),YY=HY(function(){return eL.groupBy("ab",function(e){return e}).get("a").length!==1});UY({target:"Map",stat:!0,forced:YY},{groupBy:function(a,t){$Y(a),zY(t);var n=new eL,i=0;return KY(a,function(r){var s=t(r,i++);qY(n,s)?WY(VY(n,s),r):GY(n,s,[r])}),n}});var XY=St,QY=ys,ZY=Ga,JY=Zs,eX=io,aX=H3,tX=tv,nX=ft,Q4=Object.groupBy,iX=QY("Object","create"),rX=ZY([].push),sX=!Q4||nX(function(){return Q4("ab",function(e){return e}).a.length!==1});XY({target:"Object",stat:!0,forced:sX},{groupBy:function(a,t){eX(a),JY(t);var n=iX(null),i=0;return tX(a,function(r){var s=aX(t(r,i++));s in n?rX(n[s],r):n[s]=[r]}),n}});var uX=St,oX=$n;uX({target:"Object",stat:!0},{hasOwn:oX});var aL={},Z4=Zs,lX=TypeError,gX=function(e){var a,t;this.promise=new e(function(n,i){if(a!==void 0||t!==void 0)throw new lX("Bad Promise constructor");a=n,t=i}),this.resolve=Z4(a),this.reject=Z4(t)};aL.f=function(e){return new gX(e)};var dX=St,cX=aL;dX({target:"Promise",stat:!0},{withResolvers:function(){var a=cX.f(this);return{promise:a.promise,resolve:a.resolve,reject:a.reject}}});var J4=kN,pX=bs,nv=function(e,a,t){return t.get&&J4(t.get,a,{getter:!0}),t.set&&J4(t.set,a,{setter:!0}),pX.f(e,a,t)},fX=Js,tL=function(){var e=fX(this),a="";return e.hasIndices&&(a+="d"),e.global&&(a+="g"),e.ignoreCase&&(a+="i"),e.multiline&&(a+="m"),e.dotAll&&(a+="s"),e.unicode&&(a+="u"),e.unicodeSets&&(a+="v"),e.sticky&&(a+="y"),a},hX=nt,mX=wn,yX=nv,bX=tL,TX=ft,nL=hX.RegExp,iL=nL.prototype,SX=mX&&TX(function(){var e=!0;try{nL(".","d")}catch{e=!1}var a={},t="",n=e?"dgimsy":"gimsy",i=function(o,l){Object.defineProperty(a,o,{get:function(){return t+=l,!0}})},r={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};e&&(r.hasIndices="d");for(var s in r)i(s,r[s]);var u=Object.getOwnPropertyDescriptor(iL,"flags").get.call(a);return u!==n||t!==n});SX&&yX(iL,"flags",{configurable:!0,get:bX});var AX=St,vX=Ga,DX=io,xX=eu,EX=dl,kX=ft,CX=vX("".charAt),wX=kX(function(){return"𠮷".at(-2)!=="\uD842"});AX({target:"String",proto:!0,forced:wX},{at:function(a){var t=EX(DX(this)),n=t.length,i=xX(a),r=i>=0?i:n+i;return r<0||r>=n?void 0:CX(t,r)}});var _X=St,IX=Ga,NX=io,LX=dl,e5=IX("".charCodeAt);_X({target:"String",proto:!0},{isWellFormed:function(){for(var a=LX(NX(this)),t=a.length,n=0;n<t;n++){var i=e5(a,n);if((i&63488)===55296&&(i>=56320||++n>=t||(e5(a,n)&64512)!==56320))return!1}return!0}});var RX=St,rL=ms,iv=Ga,PX=io,MX=dl,OX=ft,BX=Array,v1=iv("".charAt),a5=iv("".charCodeAt),FX=iv([].join),NS="".toWellFormed,UX="�",t5=NS&&OX(function(){return rL(NS,1)!=="1"});RX({target:"String",proto:!0,forced:t5},{toWellFormed:function(){var a=MX(PX(this));if(t5)return rL(NS,a);for(var t=a.length,n=BX(t),i=0;i<t;i++){var r=a5(a,i);(r&63488)!==55296?n[i]=v1(a,i):r>=56320||i+1>=t||(a5(a,i+1)&64512)!==56320?n[i]=UX:(n[i]=v1(a,i),n[++i]=v1(a,i))}return FX(n,"")}});var jX=typeof ArrayBuffer<"u"&&typeof DataView<"u",zX=ft,$X=!zX(function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}),KX=$n,HX=tn,qX=ll,VX=G3,GX=$X,n5=VX("IE_PROTO"),LS=Object,WX=LS.prototype,YX=GX?LS.getPrototypeOf:function(e){var a=qX(e);if(KX(a,n5))return a[n5];var t=a.constructor;return HX(t)&&a instanceof t?t.prototype:a instanceof LS?WX:null},XX=jX,rv=wn,Un=nt,sL=tn,vy=Nr,Qu=$n,sv=cd,QX=dp,ZX=gl,RS=by,JX=nv,eQ=dd,Dy=YX,fd=Q3,aQ=so,tQ=yy,uL=xN,oL=uL.enforce,nQ=uL.get,bh=Un.Int8Array,PS=bh&&bh.prototype,i5=Un.Uint8ClampedArray,r5=i5&&i5.prototype,ts=bh&&Dy(bh),Dr=PS&&Dy(PS),iQ=Object.prototype,uv=Un.TypeError,s5=aQ("toStringTag"),MS=tQ("TYPED_ARRAY_TAG"),Th="TypedArrayConstructor",Hs=XX&&!!fd&&sv(Un.opera)!=="Opera",lL=!1,ii,Du,mg,qs={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},ov={BigInt64Array:8,BigUint64Array:8},rQ=function(a){if(!vy(a))return!1;var t=sv(a);return t==="DataView"||Qu(qs,t)||Qu(ov,t)},gL=function(e){var a=Dy(e);if(vy(a)){var t=nQ(a);return t&&Qu(t,Th)?t[Th]:gL(a)}},dL=function(e){if(!vy(e))return!1;var a=sv(e);return Qu(qs,a)||Qu(ov,a)},sQ=function(e){if(dL(e))return e;throw new uv("Target is not a typed array")},uQ=function(e){if(sL(e)&&(!fd||eQ(ts,e)))return e;throw new uv(QX(e)+" is not a typed array constructor")},oQ=function(e,a,t,n){if(rv){if(t)for(var i in qs){var r=Un[i];if(r&&Qu(r.prototype,e))try{delete r.prototype[e]}catch{try{r.prototype[e]=a}catch{}}}(!Dr[e]||t)&&RS(Dr,e,t?a:Hs&&PS[e]||a,n)}},lQ=function(e,a,t){var n,i;if(rv){if(fd){if(t){for(n in qs)if(i=Un[n],i&&Qu(i,e))try{delete i[e]}catch{}}if(!ts[e]||t)try{return RS(ts,e,t?a:Hs&&ts[e]||a)}catch{}else return}for(n in qs)i=Un[n],i&&(!i[e]||t)&&RS(i,e,a)}};for(ii in qs)Du=Un[ii],mg=Du&&Du.prototype,mg?oL(mg)[Th]=Du:Hs=!1;for(ii in ov)Du=Un[ii],mg=Du&&Du.prototype,mg&&(oL(mg)[Th]=Du);if((!Hs||!sL(ts)||ts===Function.prototype)&&(ts=function(){throw new uv("Incorrect invocation")},Hs))for(ii in qs)Un[ii]&&fd(Un[ii],ts);if((!Hs||!Dr||Dr===iQ)&&(Dr=ts.prototype,Hs))for(ii in qs)Un[ii]&&fd(Un[ii].prototype,Dr);Hs&&Dy(r5)!==Dr&&fd(r5,Dr);if(rv&&!Qu(Dr,s5)){lL=!0,JX(Dr,s5,{configurable:!0,get:function(){return vy(this)?this[MS]:void 0}});for(ii in qs)Un[ii]&&ZX(Un[ii],MS,ii)}var pl={NATIVE_ARRAY_BUFFER_VIEWS:Hs,TYPED_ARRAY_TAG:lL&&MS,aTypedArray:sQ,aTypedArrayConstructor:uQ,exportTypedArrayMethod:oQ,exportTypedArrayStaticMethod:lQ,getTypedArrayConstructor:gL,isView:rQ,isTypedArray:dL,TypedArray:ts,TypedArrayPrototype:Dr},cL=pl,gQ=Ri,dQ=eu,cQ=cL.aTypedArray,pQ=cL.exportTypedArrayMethod;pQ("at",function(a){var t=cQ(this),n=gQ(t),i=dQ(a),r=i>=0?i:n+i;return r<0||r>=n?void 0:t[r]});var pL=pl,fQ=Sy.findLast,hQ=pL.aTypedArray,mQ=pL.exportTypedArrayMethod;mQ("findLast",function(a){return fQ(hQ(this),a,arguments.length>1?arguments[1]:void 0)});var fL=pl,yQ=Sy.findLastIndex,bQ=fL.aTypedArray,TQ=fL.exportTypedArrayMethod;TQ("findLastIndex",function(a){return yQ(bQ(this),a,arguments.length>1?arguments[1]:void 0)});var SQ=eu,AQ=RangeError,vQ=function(e){var a=SQ(e);if(a<0)throw new AQ("The argument can't be less than 0");return a},DQ=vQ,xQ=RangeError,EQ=function(e,a){var t=DQ(e);if(t%a)throw new xQ("Wrong offset");return t},hL=nt,mL=ms,lv=pl,kQ=Ri,CQ=EQ,wQ=ll,yL=ft,_Q=hL.RangeError,OS=hL.Int8Array,u5=OS&&OS.prototype,bL=u5&&u5.set,IQ=lv.aTypedArray,NQ=lv.exportTypedArrayMethod,BS=!yL(function(){var e=new Uint8ClampedArray(2);return mL(bL,e,{length:1,0:3},1),e[1]!==3}),LQ=BS&&lv.NATIVE_ARRAY_BUFFER_VIEWS&&yL(function(){var e=new OS(2);return e.set(1),e.set("2",1),e[0]!==0||e[1]!==2});NQ("set",function(a){IQ(this);var t=CQ(arguments.length>1?arguments[1]:void 0,1),n=wQ(a);if(BS)return mL(bL,this,n,t);var i=this.length,r=kQ(n),s=0;if(r+t>i)throw new _Q("Wrong length");for(;s<r;)this[t+s]=n[s++]},!BS||LQ);var RQ=WN,gv=pl,PQ=gv.aTypedArray,MQ=gv.exportTypedArrayMethod,OQ=gv.getTypedArrayConstructor;MQ("toReversed",function(){return RQ(PQ(this),OQ(this))});var xy=pl,BQ=Ga,FQ=Zs,UQ=YN,jQ=xy.aTypedArray,zQ=xy.getTypedArrayConstructor,$Q=xy.exportTypedArrayMethod,KQ=BQ(xy.TypedArrayPrototype.sort);$Q("toSorted",function(a){a!==void 0&&FQ(a);var t=jQ(this),n=UQ(zQ(t),t);return KQ(n,a)});var HQ=cd,qQ=function(e){var a=HQ(e);return a==="BigInt64Array"||a==="BigUint64Array"},VQ=yN,GQ=TypeError,WQ=function(e){var a=VQ(e,"number");if(typeof a=="number")throw new GQ("Can't convert number to bigint");return BigInt(a)},YQ=XN,dv=pl,XQ=qQ,QQ=eu,ZQ=WQ,JQ=dv.aTypedArray,eZ=dv.getTypedArrayConstructor,aZ=dv.exportTypedArrayMethod,tZ=!!function(){try{new Int8Array(1).with(2,{valueOf:function(){throw 8}})}catch(e){return e===8}}();aZ("with",function(e,a){var t=JQ(this),n=QQ(e),i=XQ(t)?ZQ(a):+a;return YQ(t,eZ(t),n,i)},!tZ);var nZ=dd,iZ=TypeError,rZ=function(e,a){if(nZ(a,e))return e;throw new iZ("Incorrect invocation")},sZ={IndexSizeError:{s:"INDEX_SIZE_ERR",c:1,m:1},DOMStringSizeError:{s:"DOMSTRING_SIZE_ERR",c:2,m:0},HierarchyRequestError:{s:"HIERARCHY_REQUEST_ERR",c:3,m:1},WrongDocumentError:{s:"WRONG_DOCUMENT_ERR",c:4,m:1},InvalidCharacterError:{s:"INVALID_CHARACTER_ERR",c:5,m:1},NoDataAllowedError:{s:"NO_DATA_ALLOWED_ERR",c:6,m:0},NoModificationAllowedError:{s:"NO_MODIFICATION_ALLOWED_ERR",c:7,m:1},NotFoundError:{s:"NOT_FOUND_ERR",c:8,m:1},NotSupportedError:{s:"NOT_SUPPORTED_ERR",c:9,m:1},InUseAttributeError:{s:"INUSE_ATTRIBUTE_ERR",c:10,m:1},InvalidStateError:{s:"INVALID_STATE_ERR",c:11,m:1},SyntaxError:{s:"SYNTAX_ERR",c:12,m:1},InvalidModificationError:{s:"INVALID_MODIFICATION_ERR",c:13,m:1},NamespaceError:{s:"NAMESPACE_ERR",c:14,m:1},InvalidAccessError:{s:"INVALID_ACCESS_ERR",c:15,m:1},ValidationError:{s:"VALIDATION_ERR",c:16,m:0},TypeMismatchError:{s:"TYPE_MISMATCH_ERR",c:17,m:1},SecurityError:{s:"SECURITY_ERR",c:18,m:1},NetworkError:{s:"NETWORK_ERR",c:19,m:1},AbortError:{s:"ABORT_ERR",c:20,m:1},URLMismatchError:{s:"URL_MISMATCH_ERR",c:21,m:1},QuotaExceededError:{s:"QUOTA_EXCEEDED_ERR",c:22,m:1},TimeoutError:{s:"TIMEOUT_ERR",c:23,m:1},InvalidNodeTypeError:{s:"INVALID_NODE_TYPE_ERR",c:24,m:1},DataCloneError:{s:"DATA_CLONE_ERR",c:25,m:1}},uZ=St,oZ=nt,cv=ys,FS=lp,US=bs.f,o5=$n,lZ=rZ,gZ=RN,l5=MN,D1=sZ,dZ=FN,cZ=wn,pp="DOMException",TL=cv("Error"),fp=cv(pp),pv=function(){lZ(this,pZ);var a=arguments.length,t=l5(a<1?void 0:arguments[0]),n=l5(a<2?void 0:arguments[1],"Error"),i=new fp(t,n),r=new TL(t);return r.name=pp,US(i,"stack",FS(1,dZ(r.stack,1))),gZ(i,this,pv),i},pZ=pv.prototype=fp.prototype,fZ="stack"in new TL(pp),hZ="stack"in new fp(1,2),x1=fp&&cZ&&Object.getOwnPropertyDescriptor(oZ,pp),mZ=!!x1&&!(x1.writable&&x1.configurable),g5=fZ&&!mZ&&!hZ;uZ({global:!0,constructor:!0,forced:g5},{DOMException:g5?pv:fp});var h0=cv(pp),d5=h0.prototype;if(d5.constructor!==h0){US(d5,"constructor",FS(1,h0));for(var c5 in D1)if(o5(D1,c5)){var p5=D1[c5],f5=p5.s;o5(h0,f5)||US(h0,f5,FS(6,p5.c))}}var yZ=Ga,SL=yZ([].slice),bZ=TypeError,hd=function(e,a){if(e<a)throw new bZ("Not enough arguments");return e},TZ=my,SZ=/(?:ipad|iphone|ipod).*applewebkit/i.test(TZ),Bd=nt,AZ=my,vZ=gp,af=function(e){return AZ.slice(0,e.length)===e},fv=function(){return af("Bun/")?"BUN":af("Cloudflare-Workers")?"CLOUDFLARE":af("Deno/")?"DENO":af("Node.js/")?"NODE":Bd.Bun&&typeof Bun.version=="string"?"BUN":Bd.Deno&&typeof Deno.version=="object"?"DENO":vZ(Bd.process)==="process"?"NODE":Bd.window&&Bd.document?"BROWSER":"REST"}(),DZ=fv,AL=DZ==="NODE",Di=nt,xZ=Ty,EZ=ev,h5=tn,kZ=$n,vL=ft,m5=HN,CZ=SL,y5=q3,wZ=hd,_Z=SZ,IZ=AL,jS=Di.setImmediate,zS=Di.clearImmediate,NZ=Di.process,E1=Di.Dispatch,LZ=Di.Function,b5=Di.MessageChannel,RZ=Di.String,k1=0,w0={},T5="onreadystatechange",lc,bo,C1,w1;vL(function(){lc=Di.location});var hv=function(e){if(kZ(w0,e)){var a=w0[e];delete w0[e],a()}},_1=function(e){return function(){hv(e)}},S5=function(e){hv(e.data)},A5=function(e){Di.postMessage(RZ(e),lc.protocol+"//"+lc.host)};(!jS||!zS)&&(jS=function(a){wZ(arguments.length,1);var t=h5(a)?a:LZ(a),n=CZ(arguments,1);return w0[++k1]=function(){xZ(t,void 0,n)},bo(k1),k1},zS=function(a){delete w0[a]},IZ?bo=function(e){NZ.nextTick(_1(e))}:E1&&E1.now?bo=function(e){E1.now(_1(e))}:b5&&!_Z?(C1=new b5,w1=C1.port2,C1.port1.onmessage=S5,bo=EZ(w1.postMessage,w1)):Di.addEventListener&&h5(Di.postMessage)&&!Di.importScripts&&lc&&lc.protocol!=="file:"&&!vL(A5)?(bo=A5,Di.addEventListener("message",S5,!1)):T5 in y5("script")?bo=function(e){m5.appendChild(y5("script"))[T5]=function(){m5.removeChild(this),hv(e)}}:bo=function(e){setTimeout(_1(e),0)});var DL={set:jS,clear:zS},PZ=St,MZ=nt,v5=DL.clear;PZ({global:!0,bind:!0,enumerable:!0,forced:MZ.clearImmediate!==v5},{clearImmediate:v5});var xL=nt,OZ=Ty,BZ=tn,FZ=fv,UZ=my,jZ=SL,zZ=hd,$Z=xL.Function,KZ=/MSIE .\./.test(UZ)||FZ==="BUN"&&function(){var e=xL.Bun.version.split(".");return e.length<3||e[0]==="0"&&(e[1]<3||e[1]==="3"&&e[2]==="0")}(),HZ=function(e,a){var t=a?2:1;return KZ?function(n,i){var r=zZ(arguments.length,1)>t,s=BZ(n)?n:$Z(n),u=r?jZ(arguments,t):[],o=r?function(){OZ(s,this,u)}:s;return a?e(o,i):e(o)}:e},qZ=St,EL=nt,D5=DL.set,VZ=HZ,x5=EL.setImmediate?VZ(D5,!1):D5;qZ({global:!0,bind:!0,enumerable:!0,forced:EL.setImmediate!==x5},{setImmediate:x5});var GZ=Ga,WZ=ft,kL=tn,YZ=cd,XZ=ys,QZ=vN,CL=function(){},wL=XZ("Reflect","construct"),mv=/^\s*(?:class|function)\b/,ZZ=GZ(mv.exec),JZ=!mv.test(CL),Fd=function(a){if(!kL(a))return!1;try{return wL(CL,[],a),!0}catch{return!1}},_L=function(a){if(!kL(a))return!1;switch(YZ(a)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return JZ||!!ZZ(mv,QZ(a))}catch{return!0}};_L.sham=!0;var eJ=!wL||WZ(function(){var e;return Fd(Fd.call)||!Fd(Object)||!Fd(function(){e=!0})||e})?_L:Fd,aJ=wn,tJ=bs,nJ=lp,iJ=function(e,a,t){aJ?tJ.f(e,a,nJ(0,t)):e[a]=t},rJ=ms,sJ=$n,uJ=dd,oJ=tL,E5=RegExp.prototype,lJ=function(e){var a=e.flags;return a===void 0&&!("flags"in E5)&&!sJ(e,"flags")&&uJ(E5,e)?rJ(oJ,e):a},I1=Ga,tf=Set.prototype,IL={Set,add:I1(tf.add),has:I1(tf.has),remove:I1(tf.delete),proto:tf},gJ=ms,dJ=function(e,a,t){for(var n=t?e:e.iterator,i=e.next,r,s;!(r=gJ(i,n)).done;)if(s=a(r.value),s!==void 0)return s},NL=Ga,cJ=dJ,LL=IL,pJ=LL.Set,RL=LL.proto,fJ=NL(RL.forEach),PL=NL(RL.keys),hJ=PL(new pJ).next,mJ=function(e,a,t){return t?cJ({iterator:PL(e),next:hJ},a):fJ(e,a)},yJ=nt,bJ=AL,TJ=function(e){if(bJ){try{return yJ.process.getBuiltinModule(e)}catch{}try{return Function('return require("'+e+'")')()}catch{}}},SJ=nt,AJ=ft,N1=cN,L1=fv,k5=SJ.structuredClone,ML=!!k5&&!AJ(function(){if(L1==="DENO"&&N1>92||L1==="NODE"&&N1>94||L1==="BROWSER"&&N1>97)return!1;var e=new ArrayBuffer(8),a=k5(e,{transfer:[e]});return e.byteLength!==0||a.byteLength!==8}),yv=nt,vJ=TJ,DJ=ML,xJ=yv.structuredClone,C5=yv.ArrayBuffer,nf=yv.MessageChannel,$S=!1,R1,w5,rf,P1;if(DJ)$S=function(e){xJ(e,{transfer:[e]})};else if(C5)try{nf||(R1=vJ("worker_threads"),R1&&(nf=R1.MessageChannel)),nf&&(w5=new nf,rf=new C5(2),P1=function(e){w5.port1.postMessage(null,[e])},rf.byteLength===2&&(P1(rf),rf.byteLength===0&&($S=P1)))}catch{}var EJ=$S,kJ=St,bn=nt,_0=ys,hp=Ga,bv=ft,CJ=yy,Pg=tn,wJ=eJ,_J=hy,Ey=Nr,IJ=j3,NJ=tv,OL=Js,Sh=cd,LJ=$n,RJ=iJ,M1=gl,A2=Ri,PJ=hd,MJ=lJ,ky=JN,Tv=IL,OJ=mJ,_5=EJ,BJ=UN,Sv=ML,m0=bn.Object,FJ=bn.Array,BL=bn.Date,FL=bn.Error,UJ=bn.TypeError,jJ=bn.PerformanceMark,Yo=_0("DOMException"),KS=ky.Map,Av=ky.has,UL=ky.get,Ah=ky.set,jL=Tv.Set,zL=Tv.add,zJ=Tv.has,$J=_0("Object","keys"),KJ=hp([].push),HJ=hp((!0).valueOf),qJ=hp(1 .valueOf),VJ=hp("".valueOf),GJ=hp(BL.prototype.getTime),HS=CJ("structuredClone"),gc="DataCloneError",v2="Transferring",$L=function(e){return!bv(function(){var a=new bn.Set([7]),t=e(a),n=e(m0(7));return t===a||!t.has(7)||!Ey(n)||+n!=7})&&e},I5=function(e,a){return!bv(function(){var t=new a,n=e({a:t,b:t});return!(n&&n.a===n.b&&n.a instanceof a&&n.a.stack===t.stack)})},WJ=function(e){return!bv(function(){var a=e(new bn.AggregateError([1],HS,{cause:3}));return a.name!=="AggregateError"||a.errors[0]!==1||a.message!==HS||a.cause!==3})},yg=bn.structuredClone,YJ=!I5(yg,FL)||!I5(yg,Yo)||!WJ(yg),XJ=!yg&&$L(function(e){return new jJ(HS,{detail:e}).detail}),Bs=$L(yg)||XJ,O1=function(e){throw new Yo("Uncloneable type: "+e,gc)},Zn=function(e,a){throw new Yo((a||"Cloning")+" of "+e+" cannot be properly polyfilled in this engine",gc)},B1=function(e,a){return Bs||Zn(a),Bs(e)},QJ=function(){var e;try{e=new bn.DataTransfer}catch{try{e=new bn.ClipboardEvent("").clipboardData}catch{}}return e&&e.items&&e.files?e:null},KL=function(e,a,t){if(Av(a,e))return UL(a,e);var n=t||Sh(e),i,r,s,u,o,l;if(n==="SharedArrayBuffer")Bs?i=Bs(e):i=e;else{var g=bn.DataView;!g&&!Pg(e.slice)&&Zn("ArrayBuffer");try{if(Pg(e.slice)&&!e.resizable)i=e.slice(0);else for(r=e.byteLength,s=("maxByteLength"in e)?{maxByteLength:e.maxByteLength}:void 0,i=new ArrayBuffer(r,s),u=new g(e),o=new g(i),l=0;l<r;l++)o.setUint8(l,u.getUint8(l))}catch{throw new Yo("ArrayBuffer is detached",gc)}}return Ah(a,e,i),i},ZJ=function(e,a,t,n,i){var r=bn[a];return Ey(r)||Zn(a),new r(KL(e.buffer,i),t,n)},dn=function(e,a){if(IJ(e)&&O1("Symbol"),!Ey(e))return e;if(a){if(Av(a,e))return UL(a,e)}else a=new KS;var t=Sh(e),n,i,r,s,u,o,l,g;switch(t){case"Array":r=FJ(A2(e));break;case"Object":r={};break;case"Map":r=new KS;break;case"Set":r=new jL;break;case"RegExp":r=new RegExp(e.source,MJ(e));break;case"Error":switch(i=e.name,i){case"AggregateError":r=new(_0(i))([]);break;case"EvalError":case"RangeError":case"ReferenceError":case"SuppressedError":case"SyntaxError":case"TypeError":case"URIError":r=new(_0(i));break;case"CompileError":case"LinkError":case"RuntimeError":r=new(_0("WebAssembly",i));break;default:r=new FL}break;case"DOMException":r=new Yo(e.message,e.name);break;case"ArrayBuffer":case"SharedArrayBuffer":r=KL(e,a,t);break;case"DataView":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float16Array":case"Float32Array":case"Float64Array":case"BigInt64Array":case"BigUint64Array":o=t==="DataView"?e.byteLength:e.length,r=ZJ(e,t,e.byteOffset,o,a);break;case"DOMQuad":try{r=new DOMQuad(dn(e.p1,a),dn(e.p2,a),dn(e.p3,a),dn(e.p4,a))}catch{r=B1(e,t)}break;case"File":if(Bs)try{r=Bs(e),Sh(r)!==t&&(r=void 0)}catch{}if(!r)try{r=new File([e],e.name,e)}catch{}r||Zn(t);break;case"FileList":if(s=QJ(),s){for(u=0,o=A2(e);u<o;u++)s.items.add(dn(e[u],a));r=s.files}else r=B1(e,t);break;case"ImageData":try{r=new ImageData(dn(e.data,a),e.width,e.height,{colorSpace:e.colorSpace})}catch{r=B1(e,t)}break;default:if(Bs)r=Bs(e);else switch(t){case"BigInt":r=m0(e.valueOf());break;case"Boolean":r=m0(HJ(e));break;case"Number":r=m0(qJ(e));break;case"String":r=m0(VJ(e));break;case"Date":r=new BL(GJ(e));break;case"Blob":try{r=e.slice(0,e.size,e.type)}catch{Zn(t)}break;case"DOMPoint":case"DOMPointReadOnly":n=bn[t];try{r=n.fromPoint?n.fromPoint(e):new n(e.x,e.y,e.z,e.w)}catch{Zn(t)}break;case"DOMRect":case"DOMRectReadOnly":n=bn[t];try{r=n.fromRect?n.fromRect(e):new n(e.x,e.y,e.width,e.height)}catch{Zn(t)}break;case"DOMMatrix":case"DOMMatrixReadOnly":n=bn[t];try{r=n.fromMatrix?n.fromMatrix(e):new n(e)}catch{Zn(t)}break;case"AudioData":case"VideoFrame":Pg(e.clone)||Zn(t);try{r=e.clone()}catch{O1(t)}break;case"CropTarget":case"CryptoKey":case"FileSystemDirectoryHandle":case"FileSystemFileHandle":case"FileSystemHandle":case"GPUCompilationInfo":case"GPUCompilationMessage":case"ImageBitmap":case"RTCCertificate":case"WebAssembly.Module":Zn(t);default:O1(t)}}switch(Ah(a,e,r),t){case"Array":case"Object":for(l=$J(e),u=0,o=A2(l);u<o;u++)g=l[u],RJ(r,g,dn(e[g],a));break;case"Map":e.forEach(function(d,c){Ah(r,dn(c,a),dn(d,a))});break;case"Set":e.forEach(function(d){zL(r,dn(d,a))});break;case"Error":M1(r,"message",dn(e.message,a)),LJ(e,"cause")&&M1(r,"cause",dn(e.cause,a)),i==="AggregateError"?r.errors=dn(e.errors,a):i==="SuppressedError"&&(r.error=dn(e.error,a),r.suppressed=dn(e.suppressed,a));case"DOMException":BJ&&M1(r,"stack",dn(e.stack,a))}return r},JJ=function(e,a){if(!Ey(e))throw new UJ("Transfer option cannot be converted to a sequence");var t=[];NJ(e,function(c){KJ(t,OL(c))});for(var n=0,i=A2(t),r=new jL,s,u,o,l,g,d;n<i;){if(s=t[n++],u=Sh(s),u==="ArrayBuffer"?zJ(r,s):Av(a,s))throw new Yo("Duplicate transferable",gc);if(u==="ArrayBuffer"){zL(r,s);continue}if(Sv)l=yg(s,{transfer:[s]});else switch(u){case"ImageBitmap":o=bn.OffscreenCanvas,wJ(o)||Zn(u,v2);try{g=new o(s.width,s.height),d=g.getContext("bitmaprenderer"),d.transferFromImageBitmap(s),l=g.transferToImageBitmap()}catch{}break;case"AudioData":case"VideoFrame":(!Pg(s.clone)||!Pg(s.close))&&Zn(u,v2);try{l=s.clone(),s.close()}catch{}break;case"MediaSourceHandle":case"MessagePort":case"OffscreenCanvas":case"ReadableStream":case"TransformStream":case"WritableStream":Zn(u,v2)}if(l===void 0)throw new Yo("This object cannot be transferred: "+u,gc);Ah(a,s,l)}return r},eee=function(e){OJ(e,function(a){Sv?Bs(a,{transfer:[a]}):Pg(a.transfer)?a.transfer():_5?_5(a):Zn("ArrayBuffer",v2)})};kJ({global:!0,enumerable:!0,sham:!Sv,forced:YJ},{structuredClone:function(a){var t=PJ(arguments.length,1)>1&&!_J(arguments[1])?OL(arguments[1]):void 0,n=t?t.transfer:void 0,i,r;n!==void 0&&(i=new KS,r=JJ(n,i));var s=dn(a,i);return r&&eee(r),s}});var aee=ft,tee=so,nee=wn,N5=OK,iee=tee("iterator"),ree=!aee(function(){var e=new URL("b?a=1&b=2&c=3","https://a"),a=e.searchParams,t=new URLSearchParams("a=1&a=2&b=3"),n="";return e.pathname="c%20d",a.forEach(function(i,r){a.delete("b"),n+=r+i}),t.delete("a",2),t.delete("b",void 0),N5&&(!e.toJSON||!t.has("a",1)||t.has("a",2)||!t.has("a",void 0)||t.has("b"))||!a.size&&(N5||!nee)||!a.sort||e.href!=="https://a/c%20d?a=1&c=3"||a.get("c")!=="3"||String(new URLSearchParams("?a=1"))!=="a=1"||!a[iee]||new URL("https://a@b").username!=="a"||new URLSearchParams(new URLSearchParams("a=b")).get("a")!=="b"||new URL("https://тест").host!=="xn--e1aybc"||new URL("https://a#б").hash!=="#%D0%B1"||n!=="a1c3"||new URL("https://x",void 0).host!=="x"}),see=St,uee=ys,HL=ft,oee=hd,L5=dl,lee=ree,vv=uee("URL"),gee=lee&&HL(function(){vv.canParse()}),dee=HL(function(){return vv.canParse.length!==1});see({target:"URL",stat:!0,forced:!gee||dee},{canParse:function(a){var t=oee(arguments.length,1),n=L5(a),i=t<2||arguments[1]===void 0?void 0:L5(arguments[1]);try{return!!new vv(n,i)}catch{return!1}}});var cee=by,Cy=Ga,R5=dl,pee=hd,qL=URLSearchParams,wy=qL.prototype,fee=Cy(wy.append),P5=Cy(wy.delete),hee=Cy(wy.forEach),mee=Cy([].push),Dv=new qL("a=1&a=2&b=3");Dv.delete("a",1);Dv.delete("b",void 0);Dv+""!="a=2"&&cee(wy,"delete",function(e){var a=arguments.length,t=a<2?void 0:arguments[1];if(a&&t===void 0)return P5(this,e);var n=[];hee(this,function(d,c){mee(n,{key:c,value:d})}),pee(a,1);for(var i=R5(e),r=R5(t),s=0,u=0,o=!1,l=n.length,g;s<l;)g=n[s++],o||g.key===i?(o=!0,P5(this,g.key)):u++;for(;u<l;)g=n[u++],g.key===i&&g.value===r||fee(this,g.key,g.value)},{enumerable:!0,unsafe:!0});var yee=by,VL=Ga,bee=dl,Tee=hd,GL=URLSearchParams,xv=GL.prototype,See=VL(xv.getAll),Aee=VL(xv.has),M5=new GL("a=1");(M5.has("a",2)||!M5.has("a",void 0))&&yee(xv,"has",function(a){var t=arguments.length,n=t<2?void 0:arguments[1];if(t&&n===void 0)return Aee(this,a);var i=See(this,a);Tee(t,1);for(var r=bee(n),s=0;s<i.length;)if(i[s++]===r)return!0;return!1},{enumerable:!0,unsafe:!0});var vee=wn,Dee=Ga,xee=nv,qS=URLSearchParams.prototype,Eee=Dee(qS.forEach);vee&&!("size"in qS)&&xee(qS,"size",{get:function(){var a=0;return Eee(this,function(){a++}),a},configurable:!0,enumerable:!0});const kee={BASE_URL:"/",DEV:!1,MODE:"production",PACKAGE_VERSION:"4.7.0",PROD:!0,SSR:!1,VITE_CORS_PROXY_URL:"https://proxy.streamwatch.online",VITE_PWA_ENABLED:"true",VITE_TMDB_READ_API_KEY:"eyJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJhZGRmYmE0MWQwY2I1YWJhMmViYWFlMTJhYzkyYjY3MSIsInN1YiI6IjY1ZTE3NjZkYTM5ZDBiMDE2MzA4MjhmMSIsInNjb3BlcyI6WyJhcGlfcmVhZCJdLCJ2ZXJzaW9uIjoxfQ.g9j3N6nX5_MPszip-tYmX_tEpwvPzAllcWRSQzCU2XY",VITE_VERCEL_BRANCH_URL:"smov-git-main-youts-projects-4ad2dad7.vercel.app",VITE_VERCEL_ENV:"production",VITE_VERCEL_GIT_COMMIT_AUTHOR_LOGIN:"steveyout",VITE_VERCEL_GIT_COMMIT_AUTHOR_NAME:"Steve Yout",VITE_VERCEL_GIT_COMMIT_MESSAGE:"Update index.html",VITE_VERCEL_GIT_COMMIT_REF:"main",VITE_VERCEL_GIT_COMMIT_SHA:"91cf961cd93fbfa4d709c57620ed8cccce3aa06b",VITE_VERCEL_GIT_PREVIOUS_SHA:"",VITE_VERCEL_GIT_PROVIDER:"github",VITE_VERCEL_GIT_PULL_REQUEST_ID:"",VITE_VERCEL_GIT_REPO_ID:"806226125",VITE_VERCEL_GIT_REPO_OWNER:"steveyout",VITE_VERCEL_GIT_REPO_SLUG:"smov",VITE_VERCEL_PROJECT_PRODUCTION_URL:"streamwatch.online",VITE_VERCEL_URL:"smov-bpwmy7stx-youts-projects-4ad2dad7.vercel.app"},O5=e=>{let a;const t=new Set,n=(g,d)=>{const c=typeof g=="function"?g(a):g;if(!Object.is(c,a)){const p=a;a=d??(typeof c!="object"||c===null)?c:Object.assign({},a,c),t.forEach(f=>f(a,p))}},i=()=>a,o={setState:n,getState:i,getInitialState:()=>l,subscribe:g=>(t.add(g),()=>t.delete(g)),destroy:()=>{(kee?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),t.clear()}},l=a=e(n,i,o);return o},Cee=e=>e?O5(e):O5;var WL={exports:{}},YL={},XL={exports:{}},QL={};/**
 * @license React
 * use-sync-external-store-shim.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */var Mg=X;function wee(e,a){return e===a&&(e!==0||1/e===1/a)||e!==e&&a!==a}var _ee=typeof Object.is=="function"?Object.is:wee,Iee=Mg.useState,Nee=Mg.useEffect,Lee=Mg.useLayoutEffect,Ree=Mg.useDebugValue;function Pee(e,a){var t=a(),n=Iee({inst:{value:t,getSnapshot:a}}),i=n[0].inst,r=n[1];return Lee(function(){i.value=t,i.getSnapshot=a,F1(i)&&r({inst:i})},[e,t,a]),Nee(function(){return F1(i)&&r({inst:i}),e(function(){F1(i)&&r({inst:i})})},[e]),Ree(t),t}function F1(e){var a=e.getSnapshot;e=e.value;try{var t=a();return!_ee(e,t)}catch{return!0}}function Mee(e,a){return a()}var Oee=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?Mee:Pee;QL.useSyncExternalStore=Mg.useSyncExternalStore!==void 0?Mg.useSyncExternalStore:Oee;XL.exports=QL;var Bee=XL.exports;/**
 * @license React
 * use-sync-external-store-shim/with-selector.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */var _y=X,Fee=Bee;function Uee(e,a){return e===a&&(e!==0||1/e===1/a)||e!==e&&a!==a}var jee=typeof Object.is=="function"?Object.is:Uee,zee=Fee.useSyncExternalStore,$ee=_y.useRef,Kee=_y.useEffect,Hee=_y.useMemo,qee=_y.useDebugValue;YL.useSyncExternalStoreWithSelector=function(e,a,t,n,i){var r=$ee(null);if(r.current===null){var s={hasValue:!1,value:null};r.current=s}else s=r.current;r=Hee(function(){function o(p){if(!l){if(l=!0,g=p,p=n(p),i!==void 0&&s.hasValue){var f=s.value;if(i(f,p))return d=f}return d=p}if(f=d,jee(g,p))return f;var h=n(p);return i!==void 0&&i(f,h)?f:(g=p,d=h)}var l=!1,g,d,c=t===void 0?null:t;return[function(){return o(a())},c===null?void 0:function(){return o(c())}]},[a,t,n,i]);var u=zee(e,r[0],r[1]);return Kee(function(){s.hasValue=!0,s.value=u},[u]),qee(u),u};WL.exports=YL;var Vee=WL.exports;const Gee=an(Vee),ZL={BASE_URL:"/",DEV:!1,MODE:"production",PACKAGE_VERSION:"4.7.0",PROD:!0,SSR:!1,VITE_CORS_PROXY_URL:"https://proxy.streamwatch.online",VITE_PWA_ENABLED:"true",VITE_TMDB_READ_API_KEY:"eyJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJhZGRmYmE0MWQwY2I1YWJhMmViYWFlMTJhYzkyYjY3MSIsInN1YiI6IjY1ZTE3NjZkYTM5ZDBiMDE2MzA4MjhmMSIsInNjb3BlcyI6WyJhcGlfcmVhZCJdLCJ2ZXJzaW9uIjoxfQ.g9j3N6nX5_MPszip-tYmX_tEpwvPzAllcWRSQzCU2XY",VITE_VERCEL_BRANCH_URL:"smov-git-main-youts-projects-4ad2dad7.vercel.app",VITE_VERCEL_ENV:"production",VITE_VERCEL_GIT_COMMIT_AUTHOR_LOGIN:"steveyout",VITE_VERCEL_GIT_COMMIT_AUTHOR_NAME:"Steve Yout",VITE_VERCEL_GIT_COMMIT_MESSAGE:"Update index.html",VITE_VERCEL_GIT_COMMIT_REF:"main",VITE_VERCEL_GIT_COMMIT_SHA:"91cf961cd93fbfa4d709c57620ed8cccce3aa06b",VITE_VERCEL_GIT_PREVIOUS_SHA:"",VITE_VERCEL_GIT_PROVIDER:"github",VITE_VERCEL_GIT_PULL_REQUEST_ID:"",VITE_VERCEL_GIT_REPO_ID:"806226125",VITE_VERCEL_GIT_REPO_OWNER:"steveyout",VITE_VERCEL_GIT_REPO_SLUG:"smov",VITE_VERCEL_PROJECT_PRODUCTION_URL:"streamwatch.online",VITE_VERCEL_URL:"smov-bpwmy7stx-youts-projects-4ad2dad7.vercel.app"},{useDebugValue:Wee}=Va,{useSyncExternalStoreWithSelector:Yee}=Gee;let B5=!1;const Xee=e=>e;function Qee(e,a=Xee,t){(ZL?"production":void 0)!=="production"&&t&&!B5&&(console.warn("[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"),B5=!0);const n=Yee(e.subscribe,e.getState,e.getServerState||e.getInitialState,a,t);return Wee(n),n}const F5=e=>{(ZL?"production":void 0)!=="production"&&typeof e!="function"&&console.warn("[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.");const a=typeof e=="function"?Cee(e):e,t=(n,i)=>Qee(a,n,i);return Object.assign(t,a),t},fke=e=>e?F5(e):F5,Zee={BASE_URL:"/",DEV:!1,MODE:"production",PACKAGE_VERSION:"4.7.0",PROD:!0,SSR:!1,VITE_CORS_PROXY_URL:"https://proxy.streamwatch.online",VITE_PWA_ENABLED:"true",VITE_TMDB_READ_API_KEY:"eyJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJhZGRmYmE0MWQwY2I1YWJhMmViYWFlMTJhYzkyYjY3MSIsInN1YiI6IjY1ZTE3NjZkYTM5ZDBiMDE2MzA4MjhmMSIsInNjb3BlcyI6WyJhcGlfcmVhZCJdLCJ2ZXJzaW9uIjoxfQ.g9j3N6nX5_MPszip-tYmX_tEpwvPzAllcWRSQzCU2XY",VITE_VERCEL_BRANCH_URL:"smov-git-main-youts-projects-4ad2dad7.vercel.app",VITE_VERCEL_ENV:"production",VITE_VERCEL_GIT_COMMIT_AUTHOR_LOGIN:"steveyout",VITE_VERCEL_GIT_COMMIT_AUTHOR_NAME:"Steve Yout",VITE_VERCEL_GIT_COMMIT_MESSAGE:"Update index.html",VITE_VERCEL_GIT_COMMIT_REF:"main",VITE_VERCEL_GIT_COMMIT_SHA:"91cf961cd93fbfa4d709c57620ed8cccce3aa06b",VITE_VERCEL_GIT_PREVIOUS_SHA:"",VITE_VERCEL_GIT_PROVIDER:"github",VITE_VERCEL_GIT_PULL_REQUEST_ID:"",VITE_VERCEL_GIT_REPO_ID:"806226125",VITE_VERCEL_GIT_REPO_OWNER:"steveyout",VITE_VERCEL_GIT_REPO_SLUG:"smov",VITE_VERCEL_PROJECT_PRODUCTION_URL:"streamwatch.online",VITE_VERCEL_URL:"smov-bpwmy7stx-youts-projects-4ad2dad7.vercel.app"};function Jee(e,a){let t;try{t=e()}catch{return}return{getItem:i=>{var r;const s=o=>o===null?null:JSON.parse(o,void 0),u=(r=t.getItem(i))!=null?r:null;return u instanceof Promise?u.then(s):s(u)},setItem:(i,r)=>t.setItem(i,JSON.stringify(r,void 0)),removeItem:i=>t.removeItem(i)}}const dc=e=>a=>{try{const t=e(a);return t instanceof Promise?t:{then(n){return dc(n)(t)},catch(n){return this}}}catch(t){return{then(n){return this},catch(n){return dc(n)(t)}}}},eae=(e,a)=>(t,n,i)=>{let r={getStorage:()=>localStorage,serialize:JSON.stringify,deserialize:JSON.parse,partialize:y=>y,version:0,merge:(y,b)=>({...b,...y}),...a},s=!1;const u=new Set,o=new Set;let l;try{l=r.getStorage()}catch{}if(!l)return e((...y)=>{console.warn(`[zustand persist middleware] Unable to update item '${r.name}', the given storage is currently unavailable.`),t(...y)},n,i);const g=dc(r.serialize),d=()=>{const y=r.partialize({...n()});let b;const m=g({state:y,version:r.version}).then(T=>l.setItem(r.name,T)).catch(T=>{b=T});if(b)throw b;return m},c=i.setState;i.setState=(y,b)=>{c(y,b),d()};const p=e((...y)=>{t(...y),d()},n,i);let f;const h=()=>{var y;if(!l)return;s=!1,u.forEach(m=>m(n()));const b=((y=r.onRehydrateStorage)==null?void 0:y.call(r,n()))||void 0;return dc(l.getItem.bind(l))(r.name).then(m=>{if(m)return r.deserialize(m)}).then(m=>{if(m)if(typeof m.version=="number"&&m.version!==r.version){if(r.migrate)return r.migrate(m.state,m.version);console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return m.state}).then(m=>{var T;return f=r.merge(m,(T=n())!=null?T:p),t(f,!0),d()}).then(()=>{b==null||b(f,void 0),s=!0,o.forEach(m=>m(f))}).catch(m=>{b==null||b(void 0,m)})};return i.persist={setOptions:y=>{r={...r,...y},y.getStorage&&(l=y.getStorage())},clearStorage:()=>{l==null||l.removeItem(r.name)},getOptions:()=>r,rehydrate:()=>h(),hasHydrated:()=>s,onHydrate:y=>(u.add(y),()=>{u.delete(y)}),onFinishHydration:y=>(o.add(y),()=>{o.delete(y)})},h(),f||p},aae=(e,a)=>(t,n,i)=>{let r={storage:Jee(()=>localStorage),partialize:h=>h,version:0,merge:(h,y)=>({...y,...h}),...a},s=!1;const u=new Set,o=new Set;let l=r.storage;if(!l)return e((...h)=>{console.warn(`[zustand persist middleware] Unable to update item '${r.name}', the given storage is currently unavailable.`),t(...h)},n,i);const g=()=>{const h=r.partialize({...n()});return l.setItem(r.name,{state:h,version:r.version})},d=i.setState;i.setState=(h,y)=>{d(h,y),g()};const c=e((...h)=>{t(...h),g()},n,i);i.getInitialState=()=>c;let p;const f=()=>{var h,y;if(!l)return;s=!1,u.forEach(m=>{var T;return m((T=n())!=null?T:c)});const b=((y=r.onRehydrateStorage)==null?void 0:y.call(r,(h=n())!=null?h:c))||void 0;return dc(l.getItem.bind(l))(r.name).then(m=>{if(m)if(typeof m.version=="number"&&m.version!==r.version){if(r.migrate)return[!0,r.migrate(m.state,m.version)];console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return[!1,m.state];return[!1,void 0]}).then(m=>{var T;const[A,v]=m;if(p=r.merge(v,(T=n())!=null?T:c),t(p,!0),A)return g()}).then(()=>{b==null||b(p,void 0),p=n(),s=!0,o.forEach(m=>m(p))}).catch(m=>{b==null||b(void 0,m)})};return i.persist={setOptions:h=>{r={...r,...h},h.storage&&(l=h.storage)},clearStorage:()=>{l==null||l.removeItem(r.name)},getOptions:()=>r,rehydrate:()=>f(),hasHydrated:()=>s,onHydrate:h=>(u.add(h),()=>{u.delete(h)}),onFinishHydration:h=>(o.add(h),()=>{o.delete(h)})},r.skipHydration||f(),p||c},tae=(e,a)=>"getStorage"in a||"serialize"in a||"deserialize"in a?((Zee?"production":void 0)!=="production"&&console.warn("[DEPRECATED] `getStorage`, `serialize` and `deserialize` options are deprecated. Use `storage` option instead."),eae(e,a)):aae(e,a),hke=tae;var JL=Symbol.for("immer-nothing"),U5=Symbol.for("immer-draftable"),wi=Symbol.for("immer-state");function vr(e,...a){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var Og=Object.getPrototypeOf;function Bg(e){return!!e&&!!e[wi]}function Xo(e){var a;return e?eR(e)||Array.isArray(e)||!!e[U5]||!!((a=e.constructor)!=null&&a[U5])||Ny(e)||Ly(e):!1}var nae=Object.prototype.constructor.toString();function eR(e){if(!e||typeof e!="object")return!1;const a=Og(e);if(a===null)return!0;const t=Object.hasOwnProperty.call(a,"constructor")&&a.constructor;return t===Object?!0:typeof t=="function"&&Function.toString.call(t)===nae}function vh(e,a){Iy(e)===0?Reflect.ownKeys(e).forEach(t=>{a(t,e[t],e)}):e.forEach((t,n)=>a(n,t,e))}function Iy(e){const a=e[wi];return a?a.type_:Array.isArray(e)?1:Ny(e)?2:Ly(e)?3:0}function VS(e,a){return Iy(e)===2?e.has(a):Object.prototype.hasOwnProperty.call(e,a)}function aR(e,a,t){const n=Iy(e);n===2?e.set(a,t):n===3?e.add(t):e[a]=t}function iae(e,a){return e===a?e!==0||1/e===1/a:e!==e&&a!==a}function Ny(e){return e instanceof Map}function Ly(e){return e instanceof Set}function Do(e){return e.copy_||e.base_}function GS(e,a){if(Ny(e))return new Map(e);if(Ly(e))return new Set(e);if(Array.isArray(e))return Array.prototype.slice.call(e);const t=eR(e);if(a===!0||a==="class_only"&&!t){const n=Object.getOwnPropertyDescriptors(e);delete n[wi];let i=Reflect.ownKeys(n);for(let r=0;r<i.length;r++){const s=i[r],u=n[s];u.writable===!1&&(u.writable=!0,u.configurable=!0),(u.get||u.set)&&(n[s]={configurable:!0,writable:!0,enumerable:u.enumerable,value:e[s]})}return Object.create(Og(e),n)}else{const n=Og(e);if(n!==null&&t)return{...e};const i=Object.create(n);return Object.assign(i,e)}}function Ev(e,a=!1){return Ry(e)||Bg(e)||!Xo(e)||(Iy(e)>1&&(e.set=e.add=e.clear=e.delete=rae),Object.freeze(e),a&&Object.entries(e).forEach(([t,n])=>Ev(n,!0))),e}function rae(){vr(2)}function Ry(e){return Object.isFrozen(e)}var sae={};function Qo(e){const a=sae[e];return a||vr(0,e),a}var cc;function tR(){return cc}function uae(e,a){return{drafts_:[],parent_:e,immer_:a,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function j5(e,a){a&&(Qo("Patches"),e.patches_=[],e.inversePatches_=[],e.patchListener_=a)}function WS(e){YS(e),e.drafts_.forEach(oae),e.drafts_=null}function YS(e){e===cc&&(cc=e.parent_)}function z5(e){return cc=uae(cc,e)}function oae(e){const a=e[wi];a.type_===0||a.type_===1?a.revoke_():a.revoked_=!0}function $5(e,a){a.unfinalizedDrafts_=a.drafts_.length;const t=a.drafts_[0];return e!==void 0&&e!==t?(t[wi].modified_&&(WS(a),vr(4)),Xo(e)&&(e=Dh(a,e),a.parent_||xh(a,e)),a.patches_&&Qo("Patches").generateReplacementPatches_(t[wi].base_,e,a.patches_,a.inversePatches_)):e=Dh(a,t,[]),WS(a),a.patches_&&a.patchListener_(a.patches_,a.inversePatches_),e!==JL?e:void 0}function Dh(e,a,t){if(Ry(a))return a;const n=a[wi];if(!n)return vh(a,(i,r)=>K5(e,n,a,i,r,t)),a;if(n.scope_!==e)return a;if(!n.modified_)return xh(e,n.base_,!0),n.base_;if(!n.finalized_){n.finalized_=!0,n.scope_.unfinalizedDrafts_--;const i=n.copy_;let r=i,s=!1;n.type_===3&&(r=new Set(i),i.clear(),s=!0),vh(r,(u,o)=>K5(e,n,i,u,o,t,s)),xh(e,i,!1),t&&e.patches_&&Qo("Patches").generatePatches_(n,t,e.patches_,e.inversePatches_)}return n.copy_}function K5(e,a,t,n,i,r,s){if(Bg(i)){const u=r&&a&&a.type_!==3&&!VS(a.assigned_,n)?r.concat(n):void 0,o=Dh(e,i,u);if(aR(t,n,o),Bg(o))e.canAutoFreeze_=!1;else return}else s&&t.add(i);if(Xo(i)&&!Ry(i)){if(!e.immer_.autoFreeze_&&e.unfinalizedDrafts_<1)return;Dh(e,i),(!a||!a.scope_.parent_)&&typeof n!="symbol"&&Object.prototype.propertyIsEnumerable.call(t,n)&&xh(e,i)}}function xh(e,a,t=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Ev(a,t)}function lae(e,a){const t=Array.isArray(e),n={type_:t?1:0,scope_:a?a.scope_:tR(),modified_:!1,finalized_:!1,assigned_:{},parent_:a,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1};let i=n,r=kv;t&&(i=[n],r=pc);const{revoke:s,proxy:u}=Proxy.revocable(i,r);return n.draft_=u,n.revoke_=s,u}var kv={get(e,a){if(a===wi)return e;const t=Do(e);if(!VS(t,a))return gae(e,t,a);const n=t[a];return e.finalized_||!Xo(n)?n:n===U1(e.base_,a)?(j1(e),e.copy_[a]=QS(n,e)):n},has(e,a){return a in Do(e)},ownKeys(e){return Reflect.ownKeys(Do(e))},set(e,a,t){const n=nR(Do(e),a);if(n!=null&&n.set)return n.set.call(e.draft_,t),!0;if(!e.modified_){const i=U1(Do(e),a),r=i==null?void 0:i[wi];if(r&&r.base_===t)return e.copy_[a]=t,e.assigned_[a]=!1,!0;if(iae(t,i)&&(t!==void 0||VS(e.base_,a)))return!0;j1(e),XS(e)}return e.copy_[a]===t&&(t!==void 0||a in e.copy_)||Number.isNaN(t)&&Number.isNaN(e.copy_[a])||(e.copy_[a]=t,e.assigned_[a]=!0),!0},deleteProperty(e,a){return U1(e.base_,a)!==void 0||a in e.base_?(e.assigned_[a]=!1,j1(e),XS(e)):delete e.assigned_[a],e.copy_&&delete e.copy_[a],!0},getOwnPropertyDescriptor(e,a){const t=Do(e),n=Reflect.getOwnPropertyDescriptor(t,a);return n&&{writable:!0,configurable:e.type_!==1||a!=="length",enumerable:n.enumerable,value:t[a]}},defineProperty(){vr(11)},getPrototypeOf(e){return Og(e.base_)},setPrototypeOf(){vr(12)}},pc={};vh(kv,(e,a)=>{pc[e]=function(){return arguments[0]=arguments[0][0],a.apply(this,arguments)}});pc.deleteProperty=function(e,a){return pc.set.call(this,e,a,void 0)};pc.set=function(e,a,t){return kv.set.call(this,e[0],a,t,e[0])};function U1(e,a){const t=e[wi];return(t?Do(t):e)[a]}function gae(e,a,t){var i;const n=nR(a,t);return n?"value"in n?n.value:(i=n.get)==null?void 0:i.call(e.draft_):void 0}function nR(e,a){if(!(a in e))return;let t=Og(e);for(;t;){const n=Object.getOwnPropertyDescriptor(t,a);if(n)return n;t=Og(t)}}function XS(e){e.modified_||(e.modified_=!0,e.parent_&&XS(e.parent_))}function j1(e){e.copy_||(e.copy_=GS(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var dae=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.produce=(a,t,n)=>{if(typeof a=="function"&&typeof t!="function"){const r=t;t=a;const s=this;return function(o=r,...l){return s.produce(o,g=>t.call(this,g,...l))}}typeof t!="function"&&vr(6),n!==void 0&&typeof n!="function"&&vr(7);let i;if(Xo(a)){const r=z5(this),s=QS(a,void 0);let u=!0;try{i=t(s),u=!1}finally{u?WS(r):YS(r)}return j5(r,n),$5(i,r)}else if(!a||typeof a!="object"){if(i=t(a),i===void 0&&(i=a),i===JL&&(i=void 0),this.autoFreeze_&&Ev(i,!0),n){const r=[],s=[];Qo("Patches").generateReplacementPatches_(a,i,r,s),n(r,s)}return i}else vr(1,a)},this.produceWithPatches=(a,t)=>{if(typeof a=="function")return(s,...u)=>this.produceWithPatches(s,o=>a(o,...u));let n,i;return[this.produce(a,t,(s,u)=>{n=s,i=u}),n,i]},typeof(e==null?void 0:e.autoFreeze)=="boolean"&&this.setAutoFreeze(e.autoFreeze),typeof(e==null?void 0:e.useStrictShallowCopy)=="boolean"&&this.setUseStrictShallowCopy(e.useStrictShallowCopy)}createDraft(e){Xo(e)||vr(8),Bg(e)&&(e=cae(e));const a=z5(this),t=QS(e,void 0);return t[wi].isManual_=!0,YS(a),t}finishDraft(e,a){const t=e&&e[wi];(!t||!t.isManual_)&&vr(9);const{scope_:n}=t;return j5(n,a),$5(void 0,n)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}applyPatches(e,a){let t;for(t=a.length-1;t>=0;t--){const i=a[t];if(i.path.length===0&&i.op==="replace"){e=i.value;break}}t>-1&&(a=a.slice(t+1));const n=Qo("Patches").applyPatches_;return Bg(e)?n(e,a):this.produce(e,i=>n(i,a))}};function QS(e,a){const t=Ny(e)?Qo("MapSet").proxyMap_(e,a):Ly(e)?Qo("MapSet").proxySet_(e,a):lae(e,a);return(a?a.scope_:tR()).drafts_.push(t),t}function cae(e){return Bg(e)||vr(10,e),iR(e)}function iR(e){if(!Xo(e)||Ry(e))return e;const a=e[wi];let t;if(a){if(!a.modified_)return a.base_;a.finalized_=!0,t=GS(e,a.scope_.immer_.useStrictShallowCopy_)}else t=GS(e,!0);return vh(t,(n,i)=>{aR(t,n,iR(i))}),a&&(a.finalized_=!1),t}var _i=new dae,pae=_i.produce;_i.produceWithPatches.bind(_i);_i.setAutoFreeze.bind(_i);_i.setUseStrictShallowCopy.bind(_i);_i.applyPatches.bind(_i);_i.createDraft.bind(_i);_i.finishDraft.bind(_i);const fae=e=>(a,t,n)=>(n.setState=(i,r,...s)=>{const u=typeof i=="function"?pae(i):i;return a(u,r,...s)},e(n.setState,t,n)),mke=fae,hae=/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,mae=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,yae=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function bae(e,a){if(e==="__proto__"||e==="constructor"&&a&&typeof a=="object"&&"prototype"in a){Tae(e);return}return a}function Tae(e){console.warn(`[destr] Dropping "${e}" key to prevent prototype pollution.`)}function Sae(e,a={}){if(typeof e!="string")return e;const t=e.trim();if(e[0]==='"'&&e.endsWith('"')&&!e.includes("\\"))return t.slice(1,-1);if(t.length<=9){const n=t.toLowerCase();if(n==="true")return!0;if(n==="false")return!1;if(n==="undefined")return;if(n==="null")return null;if(n==="nan")return Number.NaN;if(n==="infinity")return Number.POSITIVE_INFINITY;if(n==="-infinity")return Number.NEGATIVE_INFINITY}if(!yae.test(e)){if(a.strict)throw new SyntaxError("[destr] Invalid JSON");return e}try{if(hae.test(e)||mae.test(e)){if(a.strict)throw new Error("[destr] Possible prototype pollution");return JSON.parse(e,bae)}return JSON.parse(e)}catch(n){if(a.strict)throw n;return e}}const Aae=/#/g,vae=/&/g,Dae=/\//g,xae=/=/g,Cv=/\+/g,Eae=/%5e/gi,kae=/%60/gi,Cae=/%7c/gi,wae=/%20/gi;function _ae(e){return encodeURI(""+e).replace(Cae,"|")}function ZS(e){return _ae(typeof e=="string"?e:JSON.stringify(e)).replace(Cv,"%2B").replace(wae,"+").replace(Aae,"%23").replace(vae,"%26").replace(kae,"`").replace(Eae,"^").replace(Dae,"%2F")}function z1(e){return ZS(e).replace(xae,"%3D")}function rR(e=""){try{return decodeURIComponent(""+e)}catch{return""+e}}function Iae(e){return rR(e.replace(Cv," "))}function Nae(e){return rR(e.replace(Cv," "))}function Lae(e=""){const a={};e[0]==="?"&&(e=e.slice(1));for(const t of e.split("&")){const n=t.match(/([^=]+)=?(.*)/)||[];if(n.length<2)continue;const i=Iae(n[1]);if(i==="__proto__"||i==="constructor")continue;const r=Nae(n[2]||"");a[i]===void 0?a[i]=r:Array.isArray(a[i])?a[i].push(r):a[i]=[a[i],r]}return a}function Rae(e,a){return(typeof a=="number"||typeof a=="boolean")&&(a=String(a)),a?Array.isArray(a)?a.map(t=>`${z1(e)}=${ZS(t)}`).join("&"):`${z1(e)}=${ZS(a)}`:z1(e)}function Pae(e){return Object.keys(e).filter(a=>e[a]!==void 0).map(a=>Rae(a,e[a])).filter(Boolean).join("&")}const Mae=/^[\s\w\0+.-]{2,}:([/\\]{1,2})/,Oae=/^[\s\w\0+.-]{2,}:([/\\]{2})?/,Bae=/^([/\\]\s*){2,}[^/\\]/,Fae=/^\.?\//;function sR(e,a={}){return typeof a=="boolean"&&(a={acceptRelative:a}),a.strict?Mae.test(e):Oae.test(e)||(a.acceptRelative?Bae.test(e):!1)}function Uae(e="",a){return e.endsWith("/")}function jae(e="",a){return(Uae(e)?e.slice(0,-1):e)||"/"}function zae(e="",a){return e.endsWith("/")?e:e+"/"}function $ae(e,a){if(Hae(a)||sR(e))return e;const t=jae(a);return e.startsWith(t)?e:Vae(t,e)}function Kae(e,a){const t=Gae(e),n={...Lae(t.search),...a};return t.search=Pae(n),Wae(t)}function Hae(e){return!e||e==="/"}function qae(e){return e&&e!=="/"}function Vae(e,...a){let t=e||"";for(const n of a.filter(i=>qae(i)))if(t){const i=n.replace(Fae,"");t=zae(t)+i}else t=n;return t}const uR=Symbol.for("ufo:protocolRelative");function Gae(e="",a){const t=e.match(/^[\s\0]*(blob:|data:|javascript:|vbscript:)(.*)/i);if(t){const[,d,c=""]=t;return{protocol:d.toLowerCase(),pathname:c,href:d+c,auth:"",host:"",search:"",hash:""}}if(!sR(e,{acceptRelative:!0}))return H5(e);const[,n="",i,r=""]=e.replace(/\\/g,"/").match(/^[\s\0]*([\w+.-]{2,}:)?\/\/([^/@]+@)?(.*)/)||[];let[,s="",u=""]=r.match(/([^#/?]*)(.*)?/)||[];n==="file:"&&(u=u.replace(/\/(?=[A-Za-z]:)/,""));const{pathname:o,search:l,hash:g}=H5(u);return{protocol:n.toLowerCase(),auth:i?i.slice(0,Math.max(0,i.length-1)):"",host:s,pathname:o,search:l,hash:g,[uR]:!n}}function H5(e=""){const[a="",t="",n=""]=(e.match(/([^#?]*)(\?[^#]*)?(#.*)?/)||[]).splice(1);return{pathname:a,search:t,hash:n}}function Wae(e){const a=e.pathname||"",t=e.search?(e.search.startsWith("?")?"":"?")+e.search:"",n=e.hash||"",i=e.auth?e.auth+"@":"",r=e.host||"";return(e.protocol||e[uR]?(e.protocol||"")+"//":"")+i+r+a+t+n}let Yae=class extends Error{constructor(a,t){super(a,t),this.name="FetchError",t!=null&&t.cause&&!this.cause&&(this.cause=t.cause)}};function Xae(e){var o,l,g,d,c;const a=((o=e.error)==null?void 0:o.message)||((l=e.error)==null?void 0:l.toString())||"",t=((g=e.request)==null?void 0:g.method)||((d=e.options)==null?void 0:d.method)||"GET",n=((c=e.request)==null?void 0:c.url)||String(e.request)||"/",i=`[${t}] ${JSON.stringify(n)}`,r=e.response?`${e.response.status} ${e.response.statusText}`:"<no response>",s=`${i}: ${r}${a?` ${a}`:""}`,u=new Yae(s,e.error?{cause:e.error}:void 0);for(const p of["request","options","response"])Object.defineProperty(u,p,{get(){return e[p]}});for(const[p,f]of[["data","_data"],["status","status"],["statusCode","status"],["statusText","statusText"],["statusMessage","statusText"]])Object.defineProperty(u,p,{get(){return e.response&&e.response[f]}});return u}const Qae=new Set(Object.freeze(["PATCH","POST","PUT","DELETE"]));function q5(e="GET"){return Qae.has(e.toUpperCase())}function Zae(e){if(e===void 0)return!1;const a=typeof e;return a==="string"||a==="number"||a==="boolean"||a===null?!0:a!=="object"?!1:Array.isArray(e)?!0:e.buffer?!1:e.constructor&&e.constructor.name==="Object"||typeof e.toJSON=="function"}const Jae=new Set(["image/svg","application/xml","application/xhtml","application/html"]),ete=/^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i;function ate(e=""){if(!e)return"json";const a=e.split(";").shift()||"";return ete.test(a)?"json":Jae.has(a)||a.startsWith("text/")?"text":"blob"}function tte(e,a,t,n){const i=nte((a==null?void 0:a.headers)??(e==null?void 0:e.headers),t==null?void 0:t.headers,n);let r;return(t!=null&&t.query||t!=null&&t.params||a!=null&&a.params||a!=null&&a.query)&&(r={...t==null?void 0:t.params,...t==null?void 0:t.query,...a==null?void 0:a.params,...a==null?void 0:a.query}),{...t,...a,query:r,params:r,headers:i}}function nte(e,a,t){if(!a)return new t(e);const n=new t(a);if(e)for(const[i,r]of Symbol.iterator in e||Array.isArray(e)?e:new t(e))n.set(i,r);return n}async function sf(e,a){if(a)if(Array.isArray(a))for(const t of a)await t(e);else await a(e)}const ite=new Set([408,409,425,429,500,502,503,504]),rte=new Set([101,204,205,304]);function oR(e={}){const{fetch:a=globalThis.fetch,Headers:t=globalThis.Headers,AbortController:n=globalThis.AbortController}=e;async function i(u){const o=u.error&&u.error.name==="AbortError"&&!u.options.timeout||!1;if(u.options.retry!==!1&&!o){let g;typeof u.options.retry=="number"?g=u.options.retry:g=q5(u.options.method)?0:1;const d=u.response&&u.response.status||500;if(g>0&&(Array.isArray(u.options.retryStatusCodes)?u.options.retryStatusCodes.includes(d):ite.has(d))){const c=typeof u.options.retryDelay=="function"?u.options.retryDelay(u):u.options.retryDelay||0;return c>0&&await new Promise(p=>setTimeout(p,c)),r(u.request,{...u.options,retry:g-1})}}const l=Xae(u);throw Error.captureStackTrace&&Error.captureStackTrace(l,r),l}const r=async function(o,l={}){var p;const g={request:o,options:tte(o,l,e.defaults,t),response:void 0,error:void 0};g.options.method=(p=g.options.method)==null?void 0:p.toUpperCase(),g.options.onRequest&&await sf(g,g.options.onRequest),typeof g.request=="string"&&(g.options.baseURL&&(g.request=$ae(g.request,g.options.baseURL)),g.options.query&&(g.request=Kae(g.request,g.options.query))),g.options.body&&q5(g.options.method)&&(Zae(g.options.body)?(g.options.body=typeof g.options.body=="string"?g.options.body:JSON.stringify(g.options.body),g.options.headers=new t(g.options.headers||{}),g.options.headers.has("content-type")||g.options.headers.set("content-type","application/json"),g.options.headers.has("accept")||g.options.headers.set("accept","application/json")):("pipeTo"in g.options.body&&typeof g.options.body.pipeTo=="function"||typeof g.options.body.pipe=="function")&&("duplex"in g.options||(g.options.duplex="half")));let d;if(!g.options.signal&&g.options.timeout){const f=new n;d=setTimeout(()=>{const h=new Error("[TimeoutError]: The operation was aborted due to timeout");h.name="TimeoutError",h.code=23,f.abort(h)},g.options.timeout),g.options.signal=f.signal}try{g.response=await a(g.request,g.options)}catch(f){return g.error=f,g.options.onRequestError&&await sf(g,g.options.onRequestError),await i(g)}finally{d&&clearTimeout(d)}if(g.response.body&&!rte.has(g.response.status)&&g.options.method!=="HEAD"){const f=(g.options.parseResponse?"json":g.options.responseType)||ate(g.response.headers.get("content-type")||"");switch(f){case"json":{const h=await g.response.text(),y=g.options.parseResponse||Sae;g.response._data=y(h);break}case"stream":{g.response._data=g.response.body;break}default:g.response._data=await g.response[f]()}}return g.options.onResponse&&await sf(g,g.options.onResponse),!g.options.ignoreResponseError&&g.response.status>=400&&g.response.status<600?(g.options.onResponseError&&await sf(g,g.options.onResponseError),await i(g)):g.response},s=async function(o,l){return(await r(o,l))._data};return s.raw=r,s.native=(...u)=>a(...u),s.create=(u={},o={})=>oR({...e,...o,defaults:{...e.defaults,...o.defaults,...u}}),s}const Eh=function(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("unable to locate global object")}(),ste=Eh.fetch?(...e)=>Eh.fetch(...e):()=>Promise.reject(new Error("[ofetch] global.fetch is not supported!")),ute=Eh.Headers,ote=Eh.AbortController,bke=oR({fetch:ste,Headers:ute,AbortController:ote});var lR={exports:{}};(function(e,a){(function(t,n,i){e.exports=i(),e.exports.default=i()})("slugify",Ve,function(){var t=JSON.parse(`{"$":"dollar","%":"percent","&":"and","<":"less",">":"greater","|":"or","¢":"cent","£":"pound","¤":"currency","¥":"yen","©":"(c)","ª":"a","®":"(r)","º":"o","À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","Æ":"AE","Ç":"C","È":"E","É":"E","Ê":"E","Ë":"E","Ì":"I","Í":"I","Î":"I","Ï":"I","Ð":"D","Ñ":"N","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","Ù":"U","Ú":"U","Û":"U","Ü":"U","Ý":"Y","Þ":"TH","ß":"ss","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","æ":"ae","ç":"c","è":"e","é":"e","ê":"e","ë":"e","ì":"i","í":"i","î":"i","ï":"i","ð":"d","ñ":"n","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","ù":"u","ú":"u","û":"u","ü":"u","ý":"y","þ":"th","ÿ":"y","Ā":"A","ā":"a","Ă":"A","ă":"a","Ą":"A","ą":"a","Ć":"C","ć":"c","Č":"C","č":"c","Ď":"D","ď":"d","Đ":"DJ","đ":"dj","Ē":"E","ē":"e","Ė":"E","ė":"e","Ę":"e","ę":"e","Ě":"E","ě":"e","Ğ":"G","ğ":"g","Ģ":"G","ģ":"g","Ĩ":"I","ĩ":"i","Ī":"i","ī":"i","Į":"I","į":"i","İ":"I","ı":"i","Ķ":"k","ķ":"k","Ļ":"L","ļ":"l","Ľ":"L","ľ":"l","Ł":"L","ł":"l","Ń":"N","ń":"n","Ņ":"N","ņ":"n","Ň":"N","ň":"n","Ō":"O","ō":"o","Ő":"O","ő":"o","Œ":"OE","œ":"oe","Ŕ":"R","ŕ":"r","Ř":"R","ř":"r","Ś":"S","ś":"s","Ş":"S","ş":"s","Š":"S","š":"s","Ţ":"T","ţ":"t","Ť":"T","ť":"t","Ũ":"U","ũ":"u","Ū":"u","ū":"u","Ů":"U","ů":"u","Ű":"U","ű":"u","Ų":"U","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","ź":"z","Ż":"Z","ż":"z","Ž":"Z","ž":"z","Ə":"E","ƒ":"f","Ơ":"O","ơ":"o","Ư":"U","ư":"u","ǈ":"LJ","ǉ":"lj","ǋ":"NJ","ǌ":"nj","Ș":"S","ș":"s","Ț":"T","ț":"t","ə":"e","˚":"o","Ά":"A","Έ":"E","Ή":"H","Ί":"I","Ό":"O","Ύ":"Y","Ώ":"W","ΐ":"i","Α":"A","Β":"B","Γ":"G","Δ":"D","Ε":"E","Ζ":"Z","Η":"H","Θ":"8","Ι":"I","Κ":"K","Λ":"L","Μ":"M","Ν":"N","Ξ":"3","Ο":"O","Π":"P","Ρ":"R","Σ":"S","Τ":"T","Υ":"Y","Φ":"F","Χ":"X","Ψ":"PS","Ω":"W","Ϊ":"I","Ϋ":"Y","ά":"a","έ":"e","ή":"h","ί":"i","ΰ":"y","α":"a","β":"b","γ":"g","δ":"d","ε":"e","ζ":"z","η":"h","θ":"8","ι":"i","κ":"k","λ":"l","μ":"m","ν":"n","ξ":"3","ο":"o","π":"p","ρ":"r","ς":"s","σ":"s","τ":"t","υ":"y","φ":"f","χ":"x","ψ":"ps","ω":"w","ϊ":"i","ϋ":"y","ό":"o","ύ":"y","ώ":"w","Ё":"Yo","Ђ":"DJ","Є":"Ye","І":"I","Ї":"Yi","Ј":"J","Љ":"LJ","Њ":"NJ","Ћ":"C","Џ":"DZ","А":"A","Б":"B","В":"V","Г":"G","Д":"D","Е":"E","Ж":"Zh","З":"Z","И":"I","Й":"J","К":"K","Л":"L","М":"M","Н":"N","О":"O","П":"P","Р":"R","С":"S","Т":"T","У":"U","Ф":"F","Х":"H","Ц":"C","Ч":"Ch","Ш":"Sh","Щ":"Sh","Ъ":"U","Ы":"Y","Ь":"","Э":"E","Ю":"Yu","Я":"Ya","а":"a","б":"b","в":"v","г":"g","д":"d","е":"e","ж":"zh","з":"z","и":"i","й":"j","к":"k","л":"l","м":"m","н":"n","о":"o","п":"p","р":"r","с":"s","т":"t","у":"u","ф":"f","х":"h","ц":"c","ч":"ch","ш":"sh","щ":"sh","ъ":"u","ы":"y","ь":"","э":"e","ю":"yu","я":"ya","ё":"yo","ђ":"dj","є":"ye","і":"i","ї":"yi","ј":"j","љ":"lj","њ":"nj","ћ":"c","ѝ":"u","џ":"dz","Ґ":"G","ґ":"g","Ғ":"GH","ғ":"gh","Қ":"KH","қ":"kh","Ң":"NG","ң":"ng","Ү":"UE","ү":"ue","Ұ":"U","ұ":"u","Һ":"H","һ":"h","Ә":"AE","ә":"ae","Ө":"OE","ө":"oe","Ա":"A","Բ":"B","Գ":"G","Դ":"D","Ե":"E","Զ":"Z","Է":"E'","Ը":"Y'","Թ":"T'","Ժ":"JH","Ի":"I","Լ":"L","Խ":"X","Ծ":"C'","Կ":"K","Հ":"H","Ձ":"D'","Ղ":"GH","Ճ":"TW","Մ":"M","Յ":"Y","Ն":"N","Շ":"SH","Չ":"CH","Պ":"P","Ջ":"J","Ռ":"R'","Ս":"S","Վ":"V","Տ":"T","Ր":"R","Ց":"C","Փ":"P'","Ք":"Q'","Օ":"O''","Ֆ":"F","և":"EV","ء":"a","آ":"aa","أ":"a","ؤ":"u","إ":"i","ئ":"e","ا":"a","ب":"b","ة":"h","ت":"t","ث":"th","ج":"j","ح":"h","خ":"kh","د":"d","ذ":"th","ر":"r","ز":"z","س":"s","ش":"sh","ص":"s","ض":"dh","ط":"t","ظ":"z","ع":"a","غ":"gh","ف":"f","ق":"q","ك":"k","ل":"l","م":"m","ن":"n","ه":"h","و":"w","ى":"a","ي":"y","ً":"an","ٌ":"on","ٍ":"en","َ":"a","ُ":"u","ِ":"e","ْ":"","٠":"0","١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","پ":"p","چ":"ch","ژ":"zh","ک":"k","گ":"g","ی":"y","۰":"0","۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","฿":"baht","ა":"a","ბ":"b","გ":"g","დ":"d","ე":"e","ვ":"v","ზ":"z","თ":"t","ი":"i","კ":"k","ლ":"l","მ":"m","ნ":"n","ო":"o","პ":"p","ჟ":"zh","რ":"r","ს":"s","ტ":"t","უ":"u","ფ":"f","ქ":"k","ღ":"gh","ყ":"q","შ":"sh","ჩ":"ch","ც":"ts","ძ":"dz","წ":"ts","ჭ":"ch","ხ":"kh","ჯ":"j","ჰ":"h","Ṣ":"S","ṣ":"s","Ẁ":"W","ẁ":"w","Ẃ":"W","ẃ":"w","Ẅ":"W","ẅ":"w","ẞ":"SS","Ạ":"A","ạ":"a","Ả":"A","ả":"a","Ấ":"A","ấ":"a","Ầ":"A","ầ":"a","Ẩ":"A","ẩ":"a","Ẫ":"A","ẫ":"a","Ậ":"A","ậ":"a","Ắ":"A","ắ":"a","Ằ":"A","ằ":"a","Ẳ":"A","ẳ":"a","Ẵ":"A","ẵ":"a","Ặ":"A","ặ":"a","Ẹ":"E","ẹ":"e","Ẻ":"E","ẻ":"e","Ẽ":"E","ẽ":"e","Ế":"E","ế":"e","Ề":"E","ề":"e","Ể":"E","ể":"e","Ễ":"E","ễ":"e","Ệ":"E","ệ":"e","Ỉ":"I","ỉ":"i","Ị":"I","ị":"i","Ọ":"O","ọ":"o","Ỏ":"O","ỏ":"o","Ố":"O","ố":"o","Ồ":"O","ồ":"o","Ổ":"O","ổ":"o","Ỗ":"O","ỗ":"o","Ộ":"O","ộ":"o","Ớ":"O","ớ":"o","Ờ":"O","ờ":"o","Ở":"O","ở":"o","Ỡ":"O","ỡ":"o","Ợ":"O","ợ":"o","Ụ":"U","ụ":"u","Ủ":"U","ủ":"u","Ứ":"U","ứ":"u","Ừ":"U","ừ":"u","Ử":"U","ử":"u","Ữ":"U","ữ":"u","Ự":"U","ự":"u","Ỳ":"Y","ỳ":"y","Ỵ":"Y","ỵ":"y","Ỷ":"Y","ỷ":"y","Ỹ":"Y","ỹ":"y","–":"-","‘":"'","’":"'","“":"\\"","”":"\\"","„":"\\"","†":"+","•":"*","…":"...","₠":"ecu","₢":"cruzeiro","₣":"french franc","₤":"lira","₥":"mill","₦":"naira","₧":"peseta","₨":"rupee","₩":"won","₪":"new shequel","₫":"dong","€":"euro","₭":"kip","₮":"tugrik","₯":"drachma","₰":"penny","₱":"peso","₲":"guarani","₳":"austral","₴":"hryvnia","₵":"cedi","₸":"kazakhstani tenge","₹":"indian rupee","₺":"turkish lira","₽":"russian ruble","₿":"bitcoin","℠":"sm","™":"tm","∂":"d","∆":"delta","∑":"sum","∞":"infinity","♥":"love","元":"yuan","円":"yen","﷼":"rial","ﻵ":"laa","ﻷ":"laa","ﻹ":"lai","ﻻ":"la"}`),n=JSON.parse('{"bg":{"Й":"Y","Ц":"Ts","Щ":"Sht","Ъ":"A","Ь":"Y","й":"y","ц":"ts","щ":"sht","ъ":"a","ь":"y"},"de":{"Ä":"AE","ä":"ae","Ö":"OE","ö":"oe","Ü":"UE","ü":"ue","ß":"ss","%":"prozent","&":"und","|":"oder","∑":"summe","∞":"unendlich","♥":"liebe"},"es":{"%":"por ciento","&":"y","<":"menor que",">":"mayor que","|":"o","¢":"centavos","£":"libras","¤":"moneda","₣":"francos","∑":"suma","∞":"infinito","♥":"amor"},"fr":{"%":"pourcent","&":"et","<":"plus petit",">":"plus grand","|":"ou","¢":"centime","£":"livre","¤":"devise","₣":"franc","∑":"somme","∞":"infini","♥":"amour"},"pt":{"%":"porcento","&":"e","<":"menor",">":"maior","|":"ou","¢":"centavo","∑":"soma","£":"libra","∞":"infinito","♥":"amor"},"uk":{"И":"Y","и":"y","Й":"Y","й":"y","Ц":"Ts","ц":"ts","Х":"Kh","х":"kh","Щ":"Shch","щ":"shch","Г":"H","г":"h"},"vi":{"Đ":"D","đ":"d"},"da":{"Ø":"OE","ø":"oe","Å":"AA","å":"aa","%":"procent","&":"og","|":"eller","$":"dollar","<":"mindre end",">":"større end"},"nb":{"&":"og","Å":"AA","Æ":"AE","Ø":"OE","å":"aa","æ":"ae","ø":"oe"},"it":{"&":"e"},"nl":{"&":"en"},"sv":{"&":"och","Å":"AA","Ä":"AE","Ö":"OE","å":"aa","ä":"ae","ö":"oe"}}');function i(r,s){if(typeof r!="string")throw new Error("slugify: string argument expected");s=typeof s=="string"?{replacement:s}:s||{};var u=n[s.locale]||{},o=s.replacement===void 0?"-":s.replacement,l=s.trim===void 0?!0:s.trim,g=r.normalize().split("").reduce(function(d,c){var p=u[c];return p===void 0&&(p=t[c]),p===void 0&&(p=c),p===o&&(p=" "),d+p.replace(s.remove||/[^\w\s$*_+~.()'"!\-:@]+/g,"")},"");return s.strict&&(g=g.replace(/[^A-Za-z0-9\s]/g,"")),l&&(g=g.trim()),g=g.replace(/\s+/g,o),s.lower&&(g=g.toLowerCase()),g}return i.extend=function(r){Object.assign(t,r)},i})})(lR);var lte=lR.exports;const Tke=an(lte),gte={aa:{name:"Afar",nativeName:"Afaraf"},ab:{name:"Abkhaz",nativeName:"аҧсуа бызшәа"},ae:{name:"Avestan",nativeName:"avesta"},af:{name:"Afrikaans",nativeName:"Afrikaans"},ak:{name:"Akan",nativeName:"Akan"},am:{name:"Amharic",nativeName:"አማርኛ"},an:{name:"Aragonese",nativeName:"aragonés"},ar:{name:"Arabic",nativeName:"العربية"},as:{name:"Assamese",nativeName:"অসমীয়া"},av:{name:"Avaric",nativeName:"авар мацӀ"},ay:{name:"Aymara",nativeName:"aymar aru"},az:{name:"Azerbaijani",nativeName:"azərbaycan dili"},ba:{name:"Bashkir",nativeName:"башҡорт теле"},be:{name:"Belarusian",nativeName:"беларуская мова"},bg:{name:"Bulgarian",nativeName:"български език"},bi:{name:"Bislama",nativeName:"Bislama"},bm:{name:"Bambara",nativeName:"bamanankan"},bn:{name:"Bengali",nativeName:"বাংলা"},bo:{name:"Tibetan",nativeName:"བོད་ཡིག"},br:{name:"Breton",nativeName:"brezhoneg"},bs:{name:"Bosnian",nativeName:"bosanski jezik"},ca:{name:"Catalan",nativeName:"Català"},ce:{name:"Chechen",nativeName:"нохчийн мотт"},ch:{name:"Chamorro",nativeName:"Chamoru"},co:{name:"Corsican",nativeName:"corsu"},cr:{name:"Cree",nativeName:"ᓀᐦᐃᔭᐍᐏᐣ"},cs:{name:"Czech",nativeName:"čeština"},cu:{name:"Old Church Slavonic",nativeName:"ѩзыкъ словѣньскъ"},cv:{name:"Chuvash",nativeName:"чӑваш чӗлхи"},cy:{name:"Welsh",nativeName:"Cymraeg"},da:{name:"Danish",nativeName:"Dansk"},de:{name:"German",nativeName:"Deutsch"},dv:{name:"Divehi",nativeName:"ދިވެހި"},dz:{name:"Dzongkha",nativeName:"རྫོང་ཁ"},ee:{name:"Ewe",nativeName:"Eʋegbe"},el:{name:"Greek",nativeName:"Ελληνικά"},en:{name:"English",nativeName:"English"},eo:{name:"Esperanto",nativeName:"Esperanto"},es:{name:"Spanish",nativeName:"Español"},et:{name:"Estonian",nativeName:"eesti"},eu:{name:"Basque",nativeName:"euskara"},fa:{name:"Persian",nativeName:"فارسی"},ff:{name:"Fula",nativeName:"Fulfulde"},fi:{name:"Finnish",nativeName:"suomi"},fj:{name:"Fijian",nativeName:"vosa Vakaviti"},fo:{name:"Faroese",nativeName:"Føroyskt"},fr:{name:"French",nativeName:"Français"},fy:{name:"Western Frisian",nativeName:"Frysk"},ga:{name:"Irish",nativeName:"Gaeilge"},gd:{name:"Scottish Gaelic",nativeName:"Gàidhlig"},gl:{name:"Galician",nativeName:"galego"},gn:{name:"Guaraní",nativeName:"Avañe'ẽ"},gu:{name:"Gujarati",nativeName:"ગુજરાતી"},gv:{name:"Manx",nativeName:"Gaelg"},ha:{name:"Hausa",nativeName:"هَوُسَ"},he:{name:"Hebrew",nativeName:"עברית"},hi:{name:"Hindi",nativeName:"हिन्दी"},ho:{name:"Hiri Motu",nativeName:"Hiri Motu"},hr:{name:"Croatian",nativeName:"Hrvatski"},ht:{name:"Haitian",nativeName:"Kreyòl ayisyen"},hu:{name:"Hungarian",nativeName:"magyar"},hy:{name:"Armenian",nativeName:"Հայերեն"},hz:{name:"Herero",nativeName:"Otjiherero"},ia:{name:"Interlingua",nativeName:"Interlingua"},id:{name:"Indonesian",nativeName:"Bahasa Indonesia"},ie:{name:"Interlingue",nativeName:"Interlingue"},ig:{name:"Igbo",nativeName:"Asụsụ Igbo"},ii:{name:"Nuosu",nativeName:"ꆈꌠ꒿ Nuosuhxop"},ik:{name:"Inupiaq",nativeName:"Iñupiaq"},io:{name:"Ido",nativeName:"Ido"},is:{name:"Icelandic",nativeName:"Íslenska"},it:{name:"Italian",nativeName:"Italiano"},iu:{name:"Inuktitut",nativeName:"ᐃᓄᒃᑎᑐᑦ"},ja:{name:"Japanese",nativeName:"日本語"},jv:{name:"Javanese",nativeName:"basa Jawa"},ka:{name:"Georgian",nativeName:"ქართული"},kg:{name:"Kongo",nativeName:"Kikongo"},ki:{name:"Kikuyu",nativeName:"Gĩkũyũ"},kj:{name:"Kwanyama",nativeName:"Kuanyama"},kk:{name:"Kazakh",nativeName:"қазақ тілі"},kl:{name:"Kalaallisut",nativeName:"kalaallisut"},km:{name:"Khmer",nativeName:"ខេមរភាសា"},kn:{name:"Kannada",nativeName:"ಕನ್ನಡ"},ko:{name:"Korean",nativeName:"한국어"},kr:{name:"Kanuri",nativeName:"Kanuri"},ks:{name:"Kashmiri",nativeName:"कश्मीरी"},ku:{name:"Kurdish",nativeName:"Kurdî"},kv:{name:"Komi",nativeName:"коми кыв"},kw:{name:"Cornish",nativeName:"Kernewek"},ky:{name:"Kyrgyz",nativeName:"Кыргызча"},la:{name:"Latin",nativeName:"latine"},lb:{name:"Luxembourgish",nativeName:"Lëtzebuergesch"},lg:{name:"Ganda",nativeName:"Luganda"},li:{name:"Limburgish",nativeName:"Limburgs"},ln:{name:"Lingala",nativeName:"Lingála"},lo:{name:"Lao",nativeName:"ພາສາລາວ"},lt:{name:"Lithuanian",nativeName:"lietuvių kalba"},lu:{name:"Luba-Katanga",nativeName:"Kiluba"},lv:{name:"Latvian",nativeName:"latviešu valoda"},mg:{name:"Malagasy",nativeName:"fiteny malagasy"},mh:{name:"Marshallese",nativeName:"Kajin M̧ajeļ"},mi:{name:"Māori",nativeName:"te reo Māori"},mk:{name:"Macedonian",nativeName:"македонски јазик"},ml:{name:"Malayalam",nativeName:"മലയാളം"},mn:{name:"Mongolian",nativeName:"Монгол хэл"},mr:{name:"Marathi",nativeName:"मराठी"},ms:{name:"Malay",nativeName:"Bahasa Melayu"},mt:{name:"Maltese",nativeName:"Malti"},my:{name:"Burmese",nativeName:"ဗမာစာ"},na:{name:"Nauru",nativeName:"Dorerin Naoero"},nb:{name:"Norwegian Bokmål",nativeName:"Norsk bokmål"},nd:{name:"Northern Ndebele",nativeName:"isiNdebele"},ne:{name:"Nepali",nativeName:"नेपाली"},ng:{name:"Ndonga",nativeName:"Owambo"},nl:{name:"Dutch",nativeName:"Nederlands"},nn:{name:"Norwegian Nynorsk",nativeName:"Norsk nynorsk"},no:{name:"Norwegian",nativeName:"Norsk"},nr:{name:"Southern Ndebele",nativeName:"isiNdebele"},nv:{name:"Navajo",nativeName:"Diné bizaad"},ny:{name:"Chichewa",nativeName:"chiCheŵa"},oc:{name:"Occitan",nativeName:"occitan"},oj:{name:"Ojibwe",nativeName:"ᐊᓂᔑᓈᐯᒧᐎᓐ"},om:{name:"Oromo",nativeName:"Afaan Oromoo"},or:{name:"Oriya",nativeName:"ଓଡ଼ିଆ"},os:{name:"Ossetian",nativeName:"ирон æвзаг"},pa:{name:"Panjabi",nativeName:"ਪੰਜਾਬੀ"},pi:{name:"Pāli",nativeName:"पाऴि"},pl:{name:"Polish",nativeName:"Polski"},ps:{name:"Pashto",nativeName:"پښتو"},pt:{name:"Portuguese",nativeName:"Português"},qu:{name:"Quechua",nativeName:"Runa Simi"},rm:{name:"Romansh",nativeName:"rumantsch grischun"},rn:{name:"Kirundi",nativeName:"Ikirundi"},ro:{name:"Romanian",nativeName:"Română"},ru:{name:"Russian",nativeName:"Русский"},rw:{name:"Kinyarwanda",nativeName:"Ikinyarwanda"},sa:{name:"Sanskrit",nativeName:"संस्कृतम्"},sc:{name:"Sardinian",nativeName:"sardu"},sd:{name:"Sindhi",nativeName:"सिन्धी"},se:{name:"Northern Sami",nativeName:"Davvisámegiella"},sg:{name:"Sango",nativeName:"yângâ tî sängö"},si:{name:"Sinhala",nativeName:"සිංහල"},sk:{name:"Slovak",nativeName:"slovenčina"},sl:{name:"Slovenian",nativeName:"slovenščina"},sm:{name:"Samoan",nativeName:"gagana fa'a Samoa"},sn:{name:"Shona",nativeName:"chiShona"},so:{name:"Somali",nativeName:"Soomaaliga"},sq:{name:"Albanian",nativeName:"Shqip"},sr:{name:"Serbian",nativeName:"српски језик"},ss:{name:"Swati",nativeName:"SiSwati"},st:{name:"Southern Sotho",nativeName:"Sesotho"},su:{name:"Sundanese",nativeName:"Basa Sunda"},sv:{name:"Swedish",nativeName:"Svenska"},sw:{name:"Swahili",nativeName:"Kiswahili"},ta:{name:"Tamil",nativeName:"தமிழ்"},te:{name:"Telugu",nativeName:"తెలుగు"},tg:{name:"Tajik",nativeName:"тоҷикӣ"},th:{name:"Thai",nativeName:"ไทย"},ti:{name:"Tigrinya",nativeName:"ትግርኛ"},tk:{name:"Turkmen",nativeName:"Türkmençe"},tl:{name:"Tagalog",nativeName:"Wikang Tagalog"},tn:{name:"Tswana",nativeName:"Setswana"},to:{name:"Tonga",nativeName:"faka Tonga"},tr:{name:"Turkish",nativeName:"Türkçe"},ts:{name:"Tsonga",nativeName:"Xitsonga"},tt:{name:"Tatar",nativeName:"татар теле"},tw:{name:"Twi",nativeName:"Twi"},ty:{name:"Tahitian",nativeName:"Reo Tahiti"},ug:{name:"Uyghur",nativeName:"ئۇيغۇرچە‎"},uk:{name:"Ukrainian",nativeName:"Українська"},ur:{name:"Urdu",nativeName:"اردو"},uz:{name:"Uzbek",nativeName:"Ўзбек"},ve:{name:"Venda",nativeName:"Tshivenḓa"},vi:{name:"Vietnamese",nativeName:"Tiếng Việt"},vo:{name:"Volapük",nativeName:"Volapük"},wa:{name:"Walloon",nativeName:"walon"},wo:{name:"Wolof",nativeName:"Wollof"},xh:{name:"Xhosa",nativeName:"isiXhosa"},yi:{name:"Yiddish",nativeName:"ייִדיש"},yo:{name:"Yoruba",nativeName:"Yorùbá"},za:{name:"Zhuang",nativeName:"Saɯ cueŋƅ"},zh:{name:"Chinese",nativeName:"中文"},zu:{name:"Zulu",nativeName:"isiZulu"}};var dte=gte;const I0=dte,gR={},kh={},dR=[],cR=[],pR=[];for(const e in I0){const{name:a,nativeName:t}=I0[e];gR[e]=kh[a.toLowerCase()]=kh[t.toLowerCase()]={code:e,name:a,nativeName:t},dR.push(e),cR.push(a),pR.push(t)}var cte=class D2{static getLanguages(a=[]){return a.map(t=>D2.validate(t)?Object.assign({},gR[t]):{code:t,name:"",nativeName:""})}static getName(a){return D2.validate(a)?I0[a].name:""}static getAllNames(){return cR.slice()}static getNativeName(a){return D2.validate(a)?I0[a].nativeName:""}static getAllNativeNames(){return pR.slice()}static getCode(a){return a=a.toLowerCase(),kh.hasOwnProperty(a)?kh[a].code:""}static getAllCodes(){return dR.slice()}static validate(a){return I0.hasOwnProperty(a)}};const fR=an(cte);let pte=e=>crypto.getRandomValues(new Uint8Array(e)),fte=(e,a,t)=>{let n=(2<<Math.log(e.length-1)/Math.LN2)-1,i=-~(1.6*n*a/e.length);return(r=a)=>{let s="";for(;;){let u=t(i),o=i;for(;o--;)if(s+=e[u[o]&n]||"",s.length===r)return s}}},hR=(e,a=21)=>fte(e,a,pte);var fc={};Object.defineProperty(fc,"__esModule",{value:!0});var au=fc.unpack=fc.detect=void 0;function hte(e){return e.replace(" ","").startsWith("eval(function(p,a,c,k,e,")}fc.detect=hte;function mte(e){let{payload:a,symtab:t,radix:n,count:i}=u(e);if(i!=t.length)throw Error("Malformed p.a.c.k.e.r. symtab.");let r;try{r=new yte(n)}catch{throw Error("Unknown p.a.c.k.e.r. encoding.")}function s(l){const g=l;let d;return n==1?d=t[parseInt(g)]:d=t[r.unbase(g)],d||g}return e=a.replace(/\b\w+\b/g,s),e;function u(l){const g=[/}\('(.*)', *(\d+|\[\]), *(\d+), *'(.*)'\.split\('\|'\), *(\d+), *(.*)\)\)/,/}\('(.*)', *(\d+|\[\]), *(\d+), *'(.*)'\.split\('\|'\)/];for(const d of g){const c=d.exec(l);if(c){let p=c;p[2]=="[]";try{return{payload:p[1],symtab:p[4].split("|"),radix:parseInt(p[2]),count:parseInt(p[3])}}catch{throw Error("Corrupted p.a.c.k.e.r. data.")}}}throw Error("Could not make sense of p.a.c.k.e.r data (unexpected code structure)")}function o(l){return l}}au=fc.unpack=mte;class yte{constructor(a){if(this.ALPHABET={62:"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",95:"' !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~'"},this.dictionary={},this.base=a,36<a&&a<62&&(this.ALPHABET[a]=this.ALPHABET[a]||this.ALPHABET[62].substr(0,a)),2<=a&&a<=36)this.unbase=t=>parseInt(t,a);else{try{[...this.ALPHABET[a]].forEach((t,n)=>{this.dictionary[t]=n})}catch{throw Error("Unsupported base encoding.")}this.unbase=this._dictunbaser}}_dictunbaser(a){let t=0;return[...a].reverse().forEach((n,i)=>{t=t+Math.pow(this.base,i)*this.dictionary[n]}),t}}var mR={exports:{}};function bte(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var $1={exports:{}};const Tte={},Ste=Object.freeze(Object.defineProperty({__proto__:null,default:Tte},Symbol.toStringTag,{value:"Module"})),Py=P3(Ste);var V5;function Ea(){return V5||(V5=1,function(e,a){(function(t,n){e.exports=n()})(Ve,function(){var t=t||function(n,i){var r;if(typeof window<"u"&&window.crypto&&(r=window.crypto),typeof self<"u"&&self.crypto&&(r=self.crypto),typeof globalThis<"u"&&globalThis.crypto&&(r=globalThis.crypto),!r&&typeof window<"u"&&window.msCrypto&&(r=window.msCrypto),!r&&typeof Ve<"u"&&Ve.crypto&&(r=Ve.crypto),!r&&typeof bte=="function")try{r=Py}catch{}var s=function(){if(r){if(typeof r.getRandomValues=="function")try{return r.getRandomValues(new Uint32Array(1))[0]}catch{}if(typeof r.randomBytes=="function")try{return r.randomBytes(4).readInt32LE()}catch{}}throw new Error("Native crypto module could not be used to get secure random number.")},u=Object.create||function(){function m(){}return function(T){var A;return m.prototype=T,A=new m,m.prototype=null,A}}(),o={},l=o.lib={},g=l.Base=function(){return{extend:function(m){var T=u(this);return m&&T.mixIn(m),(!T.hasOwnProperty("init")||this.init===T.init)&&(T.init=function(){T.$super.init.apply(this,arguments)}),T.init.prototype=T,T.$super=this,T},create:function(){var m=this.extend();return m.init.apply(m,arguments),m},init:function(){},mixIn:function(m){for(var T in m)m.hasOwnProperty(T)&&(this[T]=m[T]);m.hasOwnProperty("toString")&&(this.toString=m.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),d=l.WordArray=g.extend({init:function(m,T){m=this.words=m||[],T!=i?this.sigBytes=T:this.sigBytes=m.length*4},toString:function(m){return(m||p).stringify(this)},concat:function(m){var T=this.words,A=m.words,v=this.sigBytes,D=m.sigBytes;if(this.clamp(),v%4)for(var k=0;k<D;k++){var N=A[k>>>2]>>>24-k%4*8&255;T[v+k>>>2]|=N<<24-(v+k)%4*8}else for(var q=0;q<D;q+=4)T[v+q>>>2]=A[q>>>2];return this.sigBytes+=D,this},clamp:function(){var m=this.words,T=this.sigBytes;m[T>>>2]&=4294967295<<32-T%4*8,m.length=n.ceil(T/4)},clone:function(){var m=g.clone.call(this);return m.words=this.words.slice(0),m},random:function(m){for(var T=[],A=0;A<m;A+=4)T.push(s());return new d.init(T,m)}}),c=o.enc={},p=c.Hex={stringify:function(m){for(var T=m.words,A=m.sigBytes,v=[],D=0;D<A;D++){var k=T[D>>>2]>>>24-D%4*8&255;v.push((k>>>4).toString(16)),v.push((k&15).toString(16))}return v.join("")},parse:function(m){for(var T=m.length,A=[],v=0;v<T;v+=2)A[v>>>3]|=parseInt(m.substr(v,2),16)<<24-v%8*4;return new d.init(A,T/2)}},f=c.Latin1={stringify:function(m){for(var T=m.words,A=m.sigBytes,v=[],D=0;D<A;D++){var k=T[D>>>2]>>>24-D%4*8&255;v.push(String.fromCharCode(k))}return v.join("")},parse:function(m){for(var T=m.length,A=[],v=0;v<T;v++)A[v>>>2]|=(m.charCodeAt(v)&255)<<24-v%4*8;return new d.init(A,T)}},h=c.Utf8={stringify:function(m){try{return decodeURIComponent(escape(f.stringify(m)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(m){return f.parse(unescape(encodeURIComponent(m)))}},y=l.BufferedBlockAlgorithm=g.extend({reset:function(){this._data=new d.init,this._nDataBytes=0},_append:function(m){typeof m=="string"&&(m=h.parse(m)),this._data.concat(m),this._nDataBytes+=m.sigBytes},_process:function(m){var T,A=this._data,v=A.words,D=A.sigBytes,k=this.blockSize,N=k*4,q=D/N;m?q=n.ceil(q):q=n.max((q|0)-this._minBufferSize,0);var R=q*k,z=n.min(R*4,D);if(R){for(var W=0;W<R;W+=k)this._doProcessBlock(v,W);T=v.splice(0,R),A.sigBytes-=z}return new d.init(T,z)},clone:function(){var m=g.clone.call(this);return m._data=this._data.clone(),m},_minBufferSize:0});l.Hasher=y.extend({cfg:g.extend(),init:function(m){this.cfg=this.cfg.extend(m),this.reset()},reset:function(){y.reset.call(this),this._doReset()},update:function(m){return this._append(m),this._process(),this},finalize:function(m){m&&this._append(m);var T=this._doFinalize();return T},blockSize:16,_createHelper:function(m){return function(T,A){return new m.init(A).finalize(T)}},_createHmacHelper:function(m){return function(T,A){return new b.HMAC.init(m,A).finalize(T)}}});var b=o.algo={};return o}(Math);return t})}($1)),$1.exports}var K1={exports:{}},G5;function My(){return G5||(G5=1,function(e,a){(function(t,n){e.exports=n(Ea())})(Ve,function(t){return function(n){var i=t,r=i.lib,s=r.Base,u=r.WordArray,o=i.x64={};o.Word=s.extend({init:function(l,g){this.high=l,this.low=g}}),o.WordArray=s.extend({init:function(l,g){l=this.words=l||[],g!=n?this.sigBytes=g:this.sigBytes=l.length*8},toX32:function(){for(var l=this.words,g=l.length,d=[],c=0;c<g;c++){var p=l[c];d.push(p.high),d.push(p.low)}return u.create(d,this.sigBytes)},clone:function(){for(var l=s.clone.call(this),g=l.words=this.words.slice(0),d=g.length,c=0;c<d;c++)g[c]=g[c].clone();return l}})}(),t})}(K1)),K1.exports}var H1={exports:{}},W5;function Ate(){return W5||(W5=1,function(e,a){(function(t,n){e.exports=n(Ea())})(Ve,function(t){return function(){if(typeof ArrayBuffer=="function"){var n=t,i=n.lib,r=i.WordArray,s=r.init,u=r.init=function(o){if(o instanceof ArrayBuffer&&(o=new Uint8Array(o)),(o instanceof Int8Array||typeof Uint8ClampedArray<"u"&&o instanceof Uint8ClampedArray||o instanceof Int16Array||o instanceof Uint16Array||o instanceof Int32Array||o instanceof Uint32Array||o instanceof Float32Array||o instanceof Float64Array)&&(o=new Uint8Array(o.buffer,o.byteOffset,o.byteLength)),o instanceof Uint8Array){for(var l=o.byteLength,g=[],d=0;d<l;d++)g[d>>>2]|=o[d]<<24-d%4*8;s.call(this,g,l)}else s.apply(this,arguments)};u.prototype=r}}(),t.lib.WordArray})}(H1)),H1.exports}var q1={exports:{}},Y5;function vte(){return Y5||(Y5=1,function(e,a){(function(t,n){e.exports=n(Ea())})(Ve,function(t){return function(){var n=t,i=n.lib,r=i.WordArray,s=n.enc;s.Utf16=s.Utf16BE={stringify:function(o){for(var l=o.words,g=o.sigBytes,d=[],c=0;c<g;c+=2){var p=l[c>>>2]>>>16-c%4*8&65535;d.push(String.fromCharCode(p))}return d.join("")},parse:function(o){for(var l=o.length,g=[],d=0;d<l;d++)g[d>>>1]|=o.charCodeAt(d)<<16-d%2*16;return r.create(g,l*2)}},s.Utf16LE={stringify:function(o){for(var l=o.words,g=o.sigBytes,d=[],c=0;c<g;c+=2){var p=u(l[c>>>2]>>>16-c%4*8&65535);d.push(String.fromCharCode(p))}return d.join("")},parse:function(o){for(var l=o.length,g=[],d=0;d<l;d++)g[d>>>1]|=u(o.charCodeAt(d)<<16-d%2*16);return r.create(g,l*2)}};function u(o){return o<<8&4278255360|o>>>8&16711935}}(),t.enc.Utf16})}(q1)),q1.exports}var V1={exports:{}},X5;function fl(){return X5||(X5=1,function(e,a){(function(t,n){e.exports=n(Ea())})(Ve,function(t){return function(){var n=t,i=n.lib,r=i.WordArray,s=n.enc;s.Base64={stringify:function(o){var l=o.words,g=o.sigBytes,d=this._map;o.clamp();for(var c=[],p=0;p<g;p+=3)for(var f=l[p>>>2]>>>24-p%4*8&255,h=l[p+1>>>2]>>>24-(p+1)%4*8&255,y=l[p+2>>>2]>>>24-(p+2)%4*8&255,b=f<<16|h<<8|y,m=0;m<4&&p+m*.75<g;m++)c.push(d.charAt(b>>>6*(3-m)&63));var T=d.charAt(64);if(T)for(;c.length%4;)c.push(T);return c.join("")},parse:function(o){var l=o.length,g=this._map,d=this._reverseMap;if(!d){d=this._reverseMap=[];for(var c=0;c<g.length;c++)d[g.charCodeAt(c)]=c}var p=g.charAt(64);if(p){var f=o.indexOf(p);f!==-1&&(l=f)}return u(o,l,d)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="};function u(o,l,g){for(var d=[],c=0,p=0;p<l;p++)if(p%4){var f=g[o.charCodeAt(p-1)]<<p%4*2,h=g[o.charCodeAt(p)]>>>6-p%4*2,y=f|h;d[c>>>2]|=y<<24-c%4*8,c++}return r.create(d,c)}}(),t.enc.Base64})}(V1)),V1.exports}var G1={exports:{}},Q5;function Dte(){return Q5||(Q5=1,function(e,a){(function(t,n){e.exports=n(Ea())})(Ve,function(t){return function(){var n=t,i=n.lib,r=i.WordArray,s=n.enc;s.Base64url={stringify:function(o,l){l===void 0&&(l=!0);var g=o.words,d=o.sigBytes,c=l?this._safe_map:this._map;o.clamp();for(var p=[],f=0;f<d;f+=3)for(var h=g[f>>>2]>>>24-f%4*8&255,y=g[f+1>>>2]>>>24-(f+1)%4*8&255,b=g[f+2>>>2]>>>24-(f+2)%4*8&255,m=h<<16|y<<8|b,T=0;T<4&&f+T*.75<d;T++)p.push(c.charAt(m>>>6*(3-T)&63));var A=c.charAt(64);if(A)for(;p.length%4;)p.push(A);return p.join("")},parse:function(o,l){l===void 0&&(l=!0);var g=o.length,d=l?this._safe_map:this._map,c=this._reverseMap;if(!c){c=this._reverseMap=[];for(var p=0;p<d.length;p++)c[d.charCodeAt(p)]=p}var f=d.charAt(64);if(f){var h=o.indexOf(f);h!==-1&&(g=h)}return u(o,g,c)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",_safe_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"};function u(o,l,g){for(var d=[],c=0,p=0;p<l;p++)if(p%4){var f=g[o.charCodeAt(p-1)]<<p%4*2,h=g[o.charCodeAt(p)]>>>6-p%4*2,y=f|h;d[c>>>2]|=y<<24-c%4*8,c++}return r.create(d,c)}}(),t.enc.Base64url})}(G1)),G1.exports}var W1={exports:{}},Z5;function hl(){return Z5||(Z5=1,function(e,a){(function(t,n){e.exports=n(Ea())})(Ve,function(t){return function(n){var i=t,r=i.lib,s=r.WordArray,u=r.Hasher,o=i.algo,l=[];(function(){for(var h=0;h<64;h++)l[h]=n.abs(n.sin(h+1))*4294967296|0})();var g=o.MD5=u.extend({_doReset:function(){this._hash=new s.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(h,y){for(var b=0;b<16;b++){var m=y+b,T=h[m];h[m]=(T<<8|T>>>24)&16711935|(T<<24|T>>>8)&4278255360}var A=this._hash.words,v=h[y+0],D=h[y+1],k=h[y+2],N=h[y+3],q=h[y+4],R=h[y+5],z=h[y+6],W=h[y+7],K=h[y+8],P=h[y+9],L=h[y+10],H=h[y+11],U=h[y+12],G=h[y+13],E=h[y+14],x=h[y+15],_=A[0],I=A[1],w=A[2],C=A[3];_=d(_,I,w,C,v,7,l[0]),C=d(C,_,I,w,D,12,l[1]),w=d(w,C,_,I,k,17,l[2]),I=d(I,w,C,_,N,22,l[3]),_=d(_,I,w,C,q,7,l[4]),C=d(C,_,I,w,R,12,l[5]),w=d(w,C,_,I,z,17,l[6]),I=d(I,w,C,_,W,22,l[7]),_=d(_,I,w,C,K,7,l[8]),C=d(C,_,I,w,P,12,l[9]),w=d(w,C,_,I,L,17,l[10]),I=d(I,w,C,_,H,22,l[11]),_=d(_,I,w,C,U,7,l[12]),C=d(C,_,I,w,G,12,l[13]),w=d(w,C,_,I,E,17,l[14]),I=d(I,w,C,_,x,22,l[15]),_=c(_,I,w,C,D,5,l[16]),C=c(C,_,I,w,z,9,l[17]),w=c(w,C,_,I,H,14,l[18]),I=c(I,w,C,_,v,20,l[19]),_=c(_,I,w,C,R,5,l[20]),C=c(C,_,I,w,L,9,l[21]),w=c(w,C,_,I,x,14,l[22]),I=c(I,w,C,_,q,20,l[23]),_=c(_,I,w,C,P,5,l[24]),C=c(C,_,I,w,E,9,l[25]),w=c(w,C,_,I,N,14,l[26]),I=c(I,w,C,_,K,20,l[27]),_=c(_,I,w,C,G,5,l[28]),C=c(C,_,I,w,k,9,l[29]),w=c(w,C,_,I,W,14,l[30]),I=c(I,w,C,_,U,20,l[31]),_=p(_,I,w,C,R,4,l[32]),C=p(C,_,I,w,K,11,l[33]),w=p(w,C,_,I,H,16,l[34]),I=p(I,w,C,_,E,23,l[35]),_=p(_,I,w,C,D,4,l[36]),C=p(C,_,I,w,q,11,l[37]),w=p(w,C,_,I,W,16,l[38]),I=p(I,w,C,_,L,23,l[39]),_=p(_,I,w,C,G,4,l[40]),C=p(C,_,I,w,v,11,l[41]),w=p(w,C,_,I,N,16,l[42]),I=p(I,w,C,_,z,23,l[43]),_=p(_,I,w,C,P,4,l[44]),C=p(C,_,I,w,U,11,l[45]),w=p(w,C,_,I,x,16,l[46]),I=p(I,w,C,_,k,23,l[47]),_=f(_,I,w,C,v,6,l[48]),C=f(C,_,I,w,W,10,l[49]),w=f(w,C,_,I,E,15,l[50]),I=f(I,w,C,_,R,21,l[51]),_=f(_,I,w,C,U,6,l[52]),C=f(C,_,I,w,N,10,l[53]),w=f(w,C,_,I,L,15,l[54]),I=f(I,w,C,_,D,21,l[55]),_=f(_,I,w,C,K,6,l[56]),C=f(C,_,I,w,x,10,l[57]),w=f(w,C,_,I,z,15,l[58]),I=f(I,w,C,_,G,21,l[59]),_=f(_,I,w,C,q,6,l[60]),C=f(C,_,I,w,H,10,l[61]),w=f(w,C,_,I,k,15,l[62]),I=f(I,w,C,_,P,21,l[63]),A[0]=A[0]+_|0,A[1]=A[1]+I|0,A[2]=A[2]+w|0,A[3]=A[3]+C|0},_doFinalize:function(){var h=this._data,y=h.words,b=this._nDataBytes*8,m=h.sigBytes*8;y[m>>>5]|=128<<24-m%32;var T=n.floor(b/4294967296),A=b;y[(m+64>>>9<<4)+15]=(T<<8|T>>>24)&16711935|(T<<24|T>>>8)&4278255360,y[(m+64>>>9<<4)+14]=(A<<8|A>>>24)&16711935|(A<<24|A>>>8)&4278255360,h.sigBytes=(y.length+1)*4,this._process();for(var v=this._hash,D=v.words,k=0;k<4;k++){var N=D[k];D[k]=(N<<8|N>>>24)&16711935|(N<<24|N>>>8)&4278255360}return v},clone:function(){var h=u.clone.call(this);return h._hash=this._hash.clone(),h}});function d(h,y,b,m,T,A,v){var D=h+(y&b|~y&m)+T+v;return(D<<A|D>>>32-A)+y}function c(h,y,b,m,T,A,v){var D=h+(y&m|b&~m)+T+v;return(D<<A|D>>>32-A)+y}function p(h,y,b,m,T,A,v){var D=h+(y^b^m)+T+v;return(D<<A|D>>>32-A)+y}function f(h,y,b,m,T,A,v){var D=h+(b^(y|~m))+T+v;return(D<<A|D>>>32-A)+y}i.MD5=u._createHelper(g),i.HmacMD5=u._createHmacHelper(g)}(Math),t.MD5})}(W1)),W1.exports}var Y1={exports:{}},J5;function yR(){return J5||(J5=1,function(e,a){(function(t,n){e.exports=n(Ea())})(Ve,function(t){return function(){var n=t,i=n.lib,r=i.WordArray,s=i.Hasher,u=n.algo,o=[],l=u.SHA1=s.extend({_doReset:function(){this._hash=new r.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(g,d){for(var c=this._hash.words,p=c[0],f=c[1],h=c[2],y=c[3],b=c[4],m=0;m<80;m++){if(m<16)o[m]=g[d+m]|0;else{var T=o[m-3]^o[m-8]^o[m-14]^o[m-16];o[m]=T<<1|T>>>31}var A=(p<<5|p>>>27)+b+o[m];m<20?A+=(f&h|~f&y)+1518500249:m<40?A+=(f^h^y)+1859775393:m<60?A+=(f&h|f&y|h&y)-1894007588:A+=(f^h^y)-899497514,b=y,y=h,h=f<<30|f>>>2,f=p,p=A}c[0]=c[0]+p|0,c[1]=c[1]+f|0,c[2]=c[2]+h|0,c[3]=c[3]+y|0,c[4]=c[4]+b|0},_doFinalize:function(){var g=this._data,d=g.words,c=this._nDataBytes*8,p=g.sigBytes*8;return d[p>>>5]|=128<<24-p%32,d[(p+64>>>9<<4)+14]=Math.floor(c/4294967296),d[(p+64>>>9<<4)+15]=c,g.sigBytes=d.length*4,this._process(),this._hash},clone:function(){var g=s.clone.call(this);return g._hash=this._hash.clone(),g}});n.SHA1=s._createHelper(l),n.HmacSHA1=s._createHmacHelper(l)}(),t.SHA1})}(Y1)),Y1.exports}var X1={exports:{}},eE;function wv(){return eE||(eE=1,function(e,a){(function(t,n){e.exports=n(Ea())})(Ve,function(t){return function(n){var i=t,r=i.lib,s=r.WordArray,u=r.Hasher,o=i.algo,l=[],g=[];(function(){function p(b){for(var m=n.sqrt(b),T=2;T<=m;T++)if(!(b%T))return!1;return!0}function f(b){return(b-(b|0))*4294967296|0}for(var h=2,y=0;y<64;)p(h)&&(y<8&&(l[y]=f(n.pow(h,1/2))),g[y]=f(n.pow(h,1/3)),y++),h++})();var d=[],c=o.SHA256=u.extend({_doReset:function(){this._hash=new s.init(l.slice(0))},_doProcessBlock:function(p,f){for(var h=this._hash.words,y=h[0],b=h[1],m=h[2],T=h[3],A=h[4],v=h[5],D=h[6],k=h[7],N=0;N<64;N++){if(N<16)d[N]=p[f+N]|0;else{var q=d[N-15],R=(q<<25|q>>>7)^(q<<14|q>>>18)^q>>>3,z=d[N-2],W=(z<<15|z>>>17)^(z<<13|z>>>19)^z>>>10;d[N]=R+d[N-7]+W+d[N-16]}var K=A&v^~A&D,P=y&b^y&m^b&m,L=(y<<30|y>>>2)^(y<<19|y>>>13)^(y<<10|y>>>22),H=(A<<26|A>>>6)^(A<<21|A>>>11)^(A<<7|A>>>25),U=k+H+K+g[N]+d[N],G=L+P;k=D,D=v,v=A,A=T+U|0,T=m,m=b,b=y,y=U+G|0}h[0]=h[0]+y|0,h[1]=h[1]+b|0,h[2]=h[2]+m|0,h[3]=h[3]+T|0,h[4]=h[4]+A|0,h[5]=h[5]+v|0,h[6]=h[6]+D|0,h[7]=h[7]+k|0},_doFinalize:function(){var p=this._data,f=p.words,h=this._nDataBytes*8,y=p.sigBytes*8;return f[y>>>5]|=128<<24-y%32,f[(y+64>>>9<<4)+14]=n.floor(h/4294967296),f[(y+64>>>9<<4)+15]=h,p.sigBytes=f.length*4,this._process(),this._hash},clone:function(){var p=u.clone.call(this);return p._hash=this._hash.clone(),p}});i.SHA256=u._createHelper(c),i.HmacSHA256=u._createHmacHelper(c)}(Math),t.SHA256})}(X1)),X1.exports}var Q1={exports:{}},aE;function xte(){return aE||(aE=1,function(e,a){(function(t,n,i){e.exports=n(Ea(),wv())})(Ve,function(t){return function(){var n=t,i=n.lib,r=i.WordArray,s=n.algo,u=s.SHA256,o=s.SHA224=u.extend({_doReset:function(){this._hash=new r.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var l=u._doFinalize.call(this);return l.sigBytes-=4,l}});n.SHA224=u._createHelper(o),n.HmacSHA224=u._createHmacHelper(o)}(),t.SHA224})}(Q1)),Q1.exports}var Z1={exports:{}},tE;function bR(){return tE||(tE=1,function(e,a){(function(t,n,i){e.exports=n(Ea(),My())})(Ve,function(t){return function(){var n=t,i=n.lib,r=i.Hasher,s=n.x64,u=s.Word,o=s.WordArray,l=n.algo;function g(){return u.create.apply(u,arguments)}var d=[g(1116352408,3609767458),g(1899447441,602891725),g(3049323471,3964484399),g(3921009573,2173295548),g(961987163,4081628472),g(1508970993,3053834265),g(2453635748,2937671579),g(2870763221,3664609560),g(3624381080,2734883394),g(310598401,1164996542),g(607225278,1323610764),g(1426881987,3590304994),g(1925078388,4068182383),g(2162078206,991336113),g(2614888103,633803317),g(3248222580,3479774868),g(3835390401,2666613458),g(4022224774,944711139),g(264347078,2341262773),g(604807628,2007800933),g(770255983,1495990901),g(1249150122,1856431235),g(1555081692,3175218132),g(1996064986,2198950837),g(2554220882,3999719339),g(2821834349,766784016),g(2952996808,2566594879),g(3210313671,3203337956),g(3336571891,1034457026),g(3584528711,2466948901),g(113926993,3758326383),g(338241895,168717936),g(666307205,1188179964),g(773529912,1546045734),g(1294757372,1522805485),g(1396182291,2643833823),g(1695183700,2343527390),g(1986661051,1014477480),g(2177026350,1206759142),g(2456956037,344077627),g(2730485921,1290863460),g(2820302411,3158454273),g(3259730800,3505952657),g(3345764771,106217008),g(3516065817,3606008344),g(3600352804,1432725776),g(4094571909,1467031594),g(275423344,851169720),g(430227734,3100823752),g(506948616,1363258195),g(659060556,3750685593),g(883997877,3785050280),g(958139571,3318307427),g(1322822218,3812723403),g(1537002063,2003034995),g(1747873779,3602036899),g(1955562222,1575990012),g(2024104815,1125592928),g(2227730452,2716904306),g(2361852424,442776044),g(2428436474,593698344),g(2756734187,3733110249),g(3204031479,2999351573),g(3329325298,3815920427),g(3391569614,3928383900),g(3515267271,566280711),g(3940187606,3454069534),g(4118630271,4000239992),g(116418474,1914138554),g(174292421,2731055270),g(289380356,3203993006),g(460393269,320620315),g(685471733,587496836),g(852142971,1086792851),g(1017036298,365543100),g(1126000580,2618297676),g(1288033470,3409855158),g(1501505948,4234509866),g(1607167915,987167468),g(1816402316,1246189591)],c=[];(function(){for(var f=0;f<80;f++)c[f]=g()})();var p=l.SHA512=r.extend({_doReset:function(){this._hash=new o.init([new u.init(1779033703,4089235720),new u.init(3144134277,2227873595),new u.init(1013904242,4271175723),new u.init(2773480762,1595750129),new u.init(1359893119,2917565137),new u.init(2600822924,725511199),new u.init(528734635,4215389547),new u.init(1541459225,327033209)])},_doProcessBlock:function(f,h){for(var y=this._hash.words,b=y[0],m=y[1],T=y[2],A=y[3],v=y[4],D=y[5],k=y[6],N=y[7],q=b.high,R=b.low,z=m.high,W=m.low,K=T.high,P=T.low,L=A.high,H=A.low,U=v.high,G=v.low,E=D.high,x=D.low,_=k.high,I=k.low,w=N.high,C=N.low,M=q,$=R,Z=z,ne=W,le=K,be=P,Te=L,ye=H,de=U,Ne=G,Be=E,Le=x,Fe=_,Me=I,ia=w,va=C,ta=0;ta<80;ta++){var sa,da,Ma=c[ta];if(ta<16)da=Ma.high=f[h+ta*2]|0,sa=Ma.low=f[h+ta*2+1]|0;else{var ca=c[ta-15],fa=ca.high,Ua=ca.low,kt=(fa>>>1|Ua<<31)^(fa>>>8|Ua<<24)^fa>>>7,At=(Ua>>>1|fa<<31)^(Ua>>>8|fa<<24)^(Ua>>>7|fa<<25),sn=c[ta-2],un=sn.high,on=sn.low,Na=(un>>>19|on<<13)^(un<<3|on>>>29)^un>>>6,ot=(on>>>19|un<<13)^(on<<3|un>>>29)^(on>>>6|un<<26),vt=c[ta-7],Pt=vt.high,Vn=vt.low,Oi=c[ta-16],Ut=Oi.high,In=Oi.low;sa=At+Vn,da=kt+Pt+(sa>>>0<At>>>0?1:0),sa=sa+ot,da=da+Na+(sa>>>0<ot>>>0?1:0),sa=sa+In,da=da+Ut+(sa>>>0<In>>>0?1:0),Ma.high=da,Ma.low=sa}var An=de&Be^~de&Fe,Qa=Ne&Le^~Ne&Me,jt=M&Z^M&le^Z&le,As=$&ne^$&be^ne&be,vs=(M>>>28|$<<4)^(M<<30|$>>>2)^(M<<25|$>>>7),fi=($>>>28|M<<4)^($<<30|M>>>2)^($<<25|M>>>7),Ds=(de>>>14|Ne<<18)^(de>>>18|Ne<<14)^(de<<23|Ne>>>9),Bi=(Ne>>>14|de<<18)^(Ne>>>18|de<<14)^(Ne<<23|de>>>9),zt=d[ta],Fi=zt.high,mo=zt.low,ln=va+Bi,Ct=ia+Ds+(ln>>>0<va>>>0?1:0),ln=ln+Qa,Ct=Ct+An+(ln>>>0<Qa>>>0?1:0),ln=ln+mo,Ct=Ct+Fi+(ln>>>0<mo>>>0?1:0),ln=ln+sa,Ct=Ct+da+(ln>>>0<sa>>>0?1:0),xs=fi+As,ur=vs+jt+(xs>>>0<fi>>>0?1:0);ia=Fe,va=Me,Fe=Be,Me=Le,Be=de,Le=Ne,Ne=ye+ln|0,de=Te+Ct+(Ne>>>0<ye>>>0?1:0)|0,Te=le,ye=be,le=Z,be=ne,Z=M,ne=$,$=ln+xs|0,M=Ct+ur+($>>>0<ln>>>0?1:0)|0}R=b.low=R+$,b.high=q+M+(R>>>0<$>>>0?1:0),W=m.low=W+ne,m.high=z+Z+(W>>>0<ne>>>0?1:0),P=T.low=P+be,T.high=K+le+(P>>>0<be>>>0?1:0),H=A.low=H+ye,A.high=L+Te+(H>>>0<ye>>>0?1:0),G=v.low=G+Ne,v.high=U+de+(G>>>0<Ne>>>0?1:0),x=D.low=x+Le,D.high=E+Be+(x>>>0<Le>>>0?1:0),I=k.low=I+Me,k.high=_+Fe+(I>>>0<Me>>>0?1:0),C=N.low=C+va,N.high=w+ia+(C>>>0<va>>>0?1:0)},_doFinalize:function(){var f=this._data,h=f.words,y=this._nDataBytes*8,b=f.sigBytes*8;h[b>>>5]|=128<<24-b%32,h[(b+128>>>10<<5)+30]=Math.floor(y/4294967296),h[(b+128>>>10<<5)+31]=y,f.sigBytes=h.length*4,this._process();var m=this._hash.toX32();return m},clone:function(){var f=r.clone.call(this);return f._hash=this._hash.clone(),f},blockSize:1024/32});n.SHA512=r._createHelper(p),n.HmacSHA512=r._createHmacHelper(p)}(),t.SHA512})}(Z1)),Z1.exports}var J1={exports:{}},nE;function Ete(){return nE||(nE=1,function(e,a){(function(t,n,i){e.exports=n(Ea(),My(),bR())})(Ve,function(t){return function(){var n=t,i=n.x64,r=i.Word,s=i.WordArray,u=n.algo,o=u.SHA512,l=u.SHA384=o.extend({_doReset:function(){this._hash=new s.init([new r.init(3418070365,3238371032),new r.init(1654270250,914150663),new r.init(2438529370,812702999),new r.init(355462360,4144912697),new r.init(1731405415,4290775857),new r.init(2394180231,1750603025),new r.init(3675008525,1694076839),new r.init(1203062813,3204075428)])},_doFinalize:function(){var g=o._doFinalize.call(this);return g.sigBytes-=16,g}});n.SHA384=o._createHelper(l),n.HmacSHA384=o._createHmacHelper(l)}(),t.SHA384})}(J1)),J1.exports}var eb={exports:{}},iE;function kte(){return iE||(iE=1,function(e,a){(function(t,n,i){e.exports=n(Ea(),My())})(Ve,function(t){return function(n){var i=t,r=i.lib,s=r.WordArray,u=r.Hasher,o=i.x64,l=o.Word,g=i.algo,d=[],c=[],p=[];(function(){for(var y=1,b=0,m=0;m<24;m++){d[y+5*b]=(m+1)*(m+2)/2%64;var T=b%5,A=(2*y+3*b)%5;y=T,b=A}for(var y=0;y<5;y++)for(var b=0;b<5;b++)c[y+5*b]=b+(2*y+3*b)%5*5;for(var v=1,D=0;D<24;D++){for(var k=0,N=0,q=0;q<7;q++){if(v&1){var R=(1<<q)-1;R<32?N^=1<<R:k^=1<<R-32}v&128?v=v<<1^113:v<<=1}p[D]=l.create(k,N)}})();var f=[];(function(){for(var y=0;y<25;y++)f[y]=l.create()})();var h=g.SHA3=u.extend({cfg:u.cfg.extend({outputLength:512}),_doReset:function(){for(var y=this._state=[],b=0;b<25;b++)y[b]=new l.init;this.blockSize=(1600-2*this.cfg.outputLength)/32},_doProcessBlock:function(y,b){for(var m=this._state,T=this.blockSize/2,A=0;A<T;A++){var v=y[b+2*A],D=y[b+2*A+1];v=(v<<8|v>>>24)&16711935|(v<<24|v>>>8)&4278255360,D=(D<<8|D>>>24)&16711935|(D<<24|D>>>8)&4278255360;var k=m[A];k.high^=D,k.low^=v}for(var N=0;N<24;N++){for(var q=0;q<5;q++){for(var R=0,z=0,W=0;W<5;W++){var k=m[q+5*W];R^=k.high,z^=k.low}var K=f[q];K.high=R,K.low=z}for(var q=0;q<5;q++)for(var P=f[(q+4)%5],L=f[(q+1)%5],H=L.high,U=L.low,R=P.high^(H<<1|U>>>31),z=P.low^(U<<1|H>>>31),W=0;W<5;W++){var k=m[q+5*W];k.high^=R,k.low^=z}for(var G=1;G<25;G++){var R,z,k=m[G],E=k.high,x=k.low,_=d[G];_<32?(R=E<<_|x>>>32-_,z=x<<_|E>>>32-_):(R=x<<_-32|E>>>64-_,z=E<<_-32|x>>>64-_);var I=f[c[G]];I.high=R,I.low=z}var w=f[0],C=m[0];w.high=C.high,w.low=C.low;for(var q=0;q<5;q++)for(var W=0;W<5;W++){var G=q+5*W,k=m[G],M=f[G],$=f[(q+1)%5+5*W],Z=f[(q+2)%5+5*W];k.high=M.high^~$.high&Z.high,k.low=M.low^~$.low&Z.low}var k=m[0],ne=p[N];k.high^=ne.high,k.low^=ne.low}},_doFinalize:function(){var y=this._data,b=y.words;this._nDataBytes*8;var m=y.sigBytes*8,T=this.blockSize*32;b[m>>>5]|=1<<24-m%32,b[(n.ceil((m+1)/T)*T>>>5)-1]|=128,y.sigBytes=b.length*4,this._process();for(var A=this._state,v=this.cfg.outputLength/8,D=v/8,k=[],N=0;N<D;N++){var q=A[N],R=q.high,z=q.low;R=(R<<8|R>>>24)&16711935|(R<<24|R>>>8)&4278255360,z=(z<<8|z>>>24)&16711935|(z<<24|z>>>8)&4278255360,k.push(z),k.push(R)}return new s.init(k,v)},clone:function(){for(var y=u.clone.call(this),b=y._state=this._state.slice(0),m=0;m<25;m++)b[m]=b[m].clone();return y}});i.SHA3=u._createHelper(h),i.HmacSHA3=u._createHmacHelper(h)}(Math),t.SHA3})}(eb)),eb.exports}var ab={exports:{}},rE;function Cte(){return rE||(rE=1,function(e,a){(function(t,n){e.exports=n(Ea())})(Ve,function(t){/** @preserve
			(c) 2012 by Cédric Mesnil. All rights reserved.

			Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

			    - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
			    - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

			THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
			*/return function(n){var i=t,r=i.lib,s=r.WordArray,u=r.Hasher,o=i.algo,l=s.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),g=s.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),d=s.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),c=s.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),p=s.create([0,1518500249,1859775393,2400959708,2840853838]),f=s.create([1352829926,1548603684,1836072691,2053994217,0]),h=o.RIPEMD160=u.extend({_doReset:function(){this._hash=s.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(D,k){for(var N=0;N<16;N++){var q=k+N,R=D[q];D[q]=(R<<8|R>>>24)&16711935|(R<<24|R>>>8)&4278255360}var z=this._hash.words,W=p.words,K=f.words,P=l.words,L=g.words,H=d.words,U=c.words,G,E,x,_,I,w,C,M,$,Z;w=G=z[0],C=E=z[1],M=x=z[2],$=_=z[3],Z=I=z[4];for(var ne,N=0;N<80;N+=1)ne=G+D[k+P[N]]|0,N<16?ne+=y(E,x,_)+W[0]:N<32?ne+=b(E,x,_)+W[1]:N<48?ne+=m(E,x,_)+W[2]:N<64?ne+=T(E,x,_)+W[3]:ne+=A(E,x,_)+W[4],ne=ne|0,ne=v(ne,H[N]),ne=ne+I|0,G=I,I=_,_=v(x,10),x=E,E=ne,ne=w+D[k+L[N]]|0,N<16?ne+=A(C,M,$)+K[0]:N<32?ne+=T(C,M,$)+K[1]:N<48?ne+=m(C,M,$)+K[2]:N<64?ne+=b(C,M,$)+K[3]:ne+=y(C,M,$)+K[4],ne=ne|0,ne=v(ne,U[N]),ne=ne+Z|0,w=Z,Z=$,$=v(M,10),M=C,C=ne;ne=z[1]+x+$|0,z[1]=z[2]+_+Z|0,z[2]=z[3]+I+w|0,z[3]=z[4]+G+C|0,z[4]=z[0]+E+M|0,z[0]=ne},_doFinalize:function(){var D=this._data,k=D.words,N=this._nDataBytes*8,q=D.sigBytes*8;k[q>>>5]|=128<<24-q%32,k[(q+64>>>9<<4)+14]=(N<<8|N>>>24)&16711935|(N<<24|N>>>8)&4278255360,D.sigBytes=(k.length+1)*4,this._process();for(var R=this._hash,z=R.words,W=0;W<5;W++){var K=z[W];z[W]=(K<<8|K>>>24)&16711935|(K<<24|K>>>8)&4278255360}return R},clone:function(){var D=u.clone.call(this);return D._hash=this._hash.clone(),D}});function y(D,k,N){return D^k^N}function b(D,k,N){return D&k|~D&N}function m(D,k,N){return(D|~k)^N}function T(D,k,N){return D&N|k&~N}function A(D,k,N){return D^(k|~N)}function v(D,k){return D<<k|D>>>32-k}i.RIPEMD160=u._createHelper(h),i.HmacRIPEMD160=u._createHmacHelper(h)}(),t.RIPEMD160})}(ab)),ab.exports}var tb={exports:{}},sE;function _v(){return sE||(sE=1,function(e,a){(function(t,n){e.exports=n(Ea())})(Ve,function(t){(function(){var n=t,i=n.lib,r=i.Base,s=n.enc,u=s.Utf8,o=n.algo;o.HMAC=r.extend({init:function(l,g){l=this._hasher=new l.init,typeof g=="string"&&(g=u.parse(g));var d=l.blockSize,c=d*4;g.sigBytes>c&&(g=l.finalize(g)),g.clamp();for(var p=this._oKey=g.clone(),f=this._iKey=g.clone(),h=p.words,y=f.words,b=0;b<d;b++)h[b]^=1549556828,y[b]^=909522486;p.sigBytes=f.sigBytes=c,this.reset()},reset:function(){var l=this._hasher;l.reset(),l.update(this._iKey)},update:function(l){return this._hasher.update(l),this},finalize:function(l){var g=this._hasher,d=g.finalize(l);g.reset();var c=g.finalize(this._oKey.clone().concat(d));return c}})})()})}(tb)),tb.exports}var nb={exports:{}},uE;function wte(){return uE||(uE=1,function(e,a){(function(t,n,i){e.exports=n(Ea(),wv(),_v())})(Ve,function(t){return function(){var n=t,i=n.lib,r=i.Base,s=i.WordArray,u=n.algo,o=u.SHA256,l=u.HMAC,g=u.PBKDF2=r.extend({cfg:r.extend({keySize:128/32,hasher:o,iterations:25e4}),init:function(d){this.cfg=this.cfg.extend(d)},compute:function(d,c){for(var p=this.cfg,f=l.create(p.hasher,d),h=s.create(),y=s.create([1]),b=h.words,m=y.words,T=p.keySize,A=p.iterations;b.length<T;){var v=f.update(c).finalize(y);f.reset();for(var D=v.words,k=D.length,N=v,q=1;q<A;q++){N=f.finalize(N),f.reset();for(var R=N.words,z=0;z<k;z++)D[z]^=R[z]}h.concat(v),m[0]++}return h.sigBytes=T*4,h}});n.PBKDF2=function(d,c,p){return g.create(p).compute(d,c)}}(),t.PBKDF2})}(nb)),nb.exports}var ib={exports:{}},oE;function uo(){return oE||(oE=1,function(e,a){(function(t,n,i){e.exports=n(Ea(),yR(),_v())})(Ve,function(t){return function(){var n=t,i=n.lib,r=i.Base,s=i.WordArray,u=n.algo,o=u.MD5,l=u.EvpKDF=r.extend({cfg:r.extend({keySize:128/32,hasher:o,iterations:1}),init:function(g){this.cfg=this.cfg.extend(g)},compute:function(g,d){for(var c,p=this.cfg,f=p.hasher.create(),h=s.create(),y=h.words,b=p.keySize,m=p.iterations;y.length<b;){c&&f.update(c),c=f.update(g).finalize(d),f.reset();for(var T=1;T<m;T++)c=f.finalize(c),f.reset();h.concat(c)}return h.sigBytes=b*4,h}});n.EvpKDF=function(g,d,c){return l.create(c).compute(g,d)}}(),t.EvpKDF})}(ib)),ib.exports}var rb={exports:{}},lE;function nn(){return lE||(lE=1,function(e,a){(function(t,n,i){e.exports=n(Ea(),uo())})(Ve,function(t){t.lib.Cipher||function(n){var i=t,r=i.lib,s=r.Base,u=r.WordArray,o=r.BufferedBlockAlgorithm,l=i.enc;l.Utf8;var g=l.Base64,d=i.algo,c=d.EvpKDF,p=r.Cipher=o.extend({cfg:s.extend(),createEncryptor:function(R,z){return this.create(this._ENC_XFORM_MODE,R,z)},createDecryptor:function(R,z){return this.create(this._DEC_XFORM_MODE,R,z)},init:function(R,z,W){this.cfg=this.cfg.extend(W),this._xformMode=R,this._key=z,this.reset()},reset:function(){o.reset.call(this),this._doReset()},process:function(R){return this._append(R),this._process()},finalize:function(R){R&&this._append(R);var z=this._doFinalize();return z},keySize:128/32,ivSize:128/32,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){function R(z){return typeof z=="string"?q:D}return function(z){return{encrypt:function(W,K,P){return R(K).encrypt(z,W,K,P)},decrypt:function(W,K,P){return R(K).decrypt(z,W,K,P)}}}}()});r.StreamCipher=p.extend({_doFinalize:function(){var R=this._process(!0);return R},blockSize:1});var f=i.mode={},h=r.BlockCipherMode=s.extend({createEncryptor:function(R,z){return this.Encryptor.create(R,z)},createDecryptor:function(R,z){return this.Decryptor.create(R,z)},init:function(R,z){this._cipher=R,this._iv=z}}),y=f.CBC=function(){var R=h.extend();R.Encryptor=R.extend({processBlock:function(W,K){var P=this._cipher,L=P.blockSize;z.call(this,W,K,L),P.encryptBlock(W,K),this._prevBlock=W.slice(K,K+L)}}),R.Decryptor=R.extend({processBlock:function(W,K){var P=this._cipher,L=P.blockSize,H=W.slice(K,K+L);P.decryptBlock(W,K),z.call(this,W,K,L),this._prevBlock=H}});function z(W,K,P){var L,H=this._iv;H?(L=H,this._iv=n):L=this._prevBlock;for(var U=0;U<P;U++)W[K+U]^=L[U]}return R}(),b=i.pad={},m=b.Pkcs7={pad:function(R,z){for(var W=z*4,K=W-R.sigBytes%W,P=K<<24|K<<16|K<<8|K,L=[],H=0;H<K;H+=4)L.push(P);var U=u.create(L,K);R.concat(U)},unpad:function(R){var z=R.words[R.sigBytes-1>>>2]&255;R.sigBytes-=z}};r.BlockCipher=p.extend({cfg:p.cfg.extend({mode:y,padding:m}),reset:function(){var R;p.reset.call(this);var z=this.cfg,W=z.iv,K=z.mode;this._xformMode==this._ENC_XFORM_MODE?R=K.createEncryptor:(R=K.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==R?this._mode.init(this,W&&W.words):(this._mode=R.call(K,this,W&&W.words),this._mode.__creator=R)},_doProcessBlock:function(R,z){this._mode.processBlock(R,z)},_doFinalize:function(){var R,z=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(z.pad(this._data,this.blockSize),R=this._process(!0)):(R=this._process(!0),z.unpad(R)),R},blockSize:128/32});var T=r.CipherParams=s.extend({init:function(R){this.mixIn(R)},toString:function(R){return(R||this.formatter).stringify(this)}}),A=i.format={},v=A.OpenSSL={stringify:function(R){var z,W=R.ciphertext,K=R.salt;return K?z=u.create([1398893684,1701076831]).concat(K).concat(W):z=W,z.toString(g)},parse:function(R){var z,W=g.parse(R),K=W.words;return K[0]==1398893684&&K[1]==1701076831&&(z=u.create(K.slice(2,4)),K.splice(0,4),W.sigBytes-=16),T.create({ciphertext:W,salt:z})}},D=r.SerializableCipher=s.extend({cfg:s.extend({format:v}),encrypt:function(R,z,W,K){K=this.cfg.extend(K);var P=R.createEncryptor(W,K),L=P.finalize(z),H=P.cfg;return T.create({ciphertext:L,key:W,iv:H.iv,algorithm:R,mode:H.mode,padding:H.padding,blockSize:R.blockSize,formatter:K.format})},decrypt:function(R,z,W,K){K=this.cfg.extend(K),z=this._parse(z,K.format);var P=R.createDecryptor(W,K).finalize(z.ciphertext);return P},_parse:function(R,z){return typeof R=="string"?z.parse(R,this):R}}),k=i.kdf={},N=k.OpenSSL={execute:function(R,z,W,K,P){if(K||(K=u.random(64/8)),P)var L=c.create({keySize:z+W,hasher:P}).compute(R,K);else var L=c.create({keySize:z+W}).compute(R,K);var H=u.create(L.words.slice(z),W*4);return L.sigBytes=z*4,T.create({key:L,iv:H,salt:K})}},q=r.PasswordBasedCipher=D.extend({cfg:D.cfg.extend({kdf:N}),encrypt:function(R,z,W,K){K=this.cfg.extend(K);var P=K.kdf.execute(W,R.keySize,R.ivSize,K.salt,K.hasher);K.iv=P.iv;var L=D.encrypt.call(this,R,z,P.key,K);return L.mixIn(P),L},decrypt:function(R,z,W,K){K=this.cfg.extend(K),z=this._parse(z,K.format);var P=K.kdf.execute(W,R.keySize,R.ivSize,z.salt,K.hasher);K.iv=P.iv;var L=D.decrypt.call(this,R,z,P.key,K);return L}})}()})}(rb)),rb.exports}var sb={exports:{}},gE;function _te(){return gE||(gE=1,function(e,a){(function(t,n,i){e.exports=n(Ea(),nn())})(Ve,function(t){return t.mode.CFB=function(){var n=t.lib.BlockCipherMode.extend();n.Encryptor=n.extend({processBlock:function(r,s){var u=this._cipher,o=u.blockSize;i.call(this,r,s,o,u),this._prevBlock=r.slice(s,s+o)}}),n.Decryptor=n.extend({processBlock:function(r,s){var u=this._cipher,o=u.blockSize,l=r.slice(s,s+o);i.call(this,r,s,o,u),this._prevBlock=l}});function i(r,s,u,o){var l,g=this._iv;g?(l=g.slice(0),this._iv=void 0):l=this._prevBlock,o.encryptBlock(l,0);for(var d=0;d<u;d++)r[s+d]^=l[d]}return n}(),t.mode.CFB})}(sb)),sb.exports}var ub={exports:{}},dE;function Ite(){return dE||(dE=1,function(e,a){(function(t,n,i){e.exports=n(Ea(),nn())})(Ve,function(t){return t.mode.CTR=function(){var n=t.lib.BlockCipherMode.extend(),i=n.Encryptor=n.extend({processBlock:function(r,s){var u=this._cipher,o=u.blockSize,l=this._iv,g=this._counter;l&&(g=this._counter=l.slice(0),this._iv=void 0);var d=g.slice(0);u.encryptBlock(d,0),g[o-1]=g[o-1]+1|0;for(var c=0;c<o;c++)r[s+c]^=d[c]}});return n.Decryptor=i,n}(),t.mode.CTR})}(ub)),ub.exports}var ob={exports:{}},cE;function Nte(){return cE||(cE=1,function(e,a){(function(t,n,i){e.exports=n(Ea(),nn())})(Ve,function(t){/** @preserve
 * Counter block mode compatible with  Dr Brian Gladman fileenc.c
 * derived from CryptoJS.mode.CTR
 * Jan Hruby jhruby.web@gmail.com
 */return t.mode.CTRGladman=function(){var n=t.lib.BlockCipherMode.extend();function i(u){if((u>>24&255)===255){var o=u>>16&255,l=u>>8&255,g=u&255;o===255?(o=0,l===255?(l=0,g===255?g=0:++g):++l):++o,u=0,u+=o<<16,u+=l<<8,u+=g}else u+=1<<24;return u}function r(u){return(u[0]=i(u[0]))===0&&(u[1]=i(u[1])),u}var s=n.Encryptor=n.extend({processBlock:function(u,o){var l=this._cipher,g=l.blockSize,d=this._iv,c=this._counter;d&&(c=this._counter=d.slice(0),this._iv=void 0),r(c);var p=c.slice(0);l.encryptBlock(p,0);for(var f=0;f<g;f++)u[o+f]^=p[f]}});return n.Decryptor=s,n}(),t.mode.CTRGladman})}(ob)),ob.exports}var lb={exports:{}},pE;function Lte(){return pE||(pE=1,function(e,a){(function(t,n,i){e.exports=n(Ea(),nn())})(Ve,function(t){return t.mode.OFB=function(){var n=t.lib.BlockCipherMode.extend(),i=n.Encryptor=n.extend({processBlock:function(r,s){var u=this._cipher,o=u.blockSize,l=this._iv,g=this._keystream;l&&(g=this._keystream=l.slice(0),this._iv=void 0),u.encryptBlock(g,0);for(var d=0;d<o;d++)r[s+d]^=g[d]}});return n.Decryptor=i,n}(),t.mode.OFB})}(lb)),lb.exports}var gb={exports:{}},fE;function Rte(){return fE||(fE=1,function(e,a){(function(t,n,i){e.exports=n(Ea(),nn())})(Ve,function(t){return t.mode.ECB=function(){var n=t.lib.BlockCipherMode.extend();return n.Encryptor=n.extend({processBlock:function(i,r){this._cipher.encryptBlock(i,r)}}),n.Decryptor=n.extend({processBlock:function(i,r){this._cipher.decryptBlock(i,r)}}),n}(),t.mode.ECB})}(gb)),gb.exports}var db={exports:{}},hE;function Pte(){return hE||(hE=1,function(e,a){(function(t,n,i){e.exports=n(Ea(),nn())})(Ve,function(t){return t.pad.AnsiX923={pad:function(n,i){var r=n.sigBytes,s=i*4,u=s-r%s,o=r+u-1;n.clamp(),n.words[o>>>2]|=u<<24-o%4*8,n.sigBytes+=u},unpad:function(n){var i=n.words[n.sigBytes-1>>>2]&255;n.sigBytes-=i}},t.pad.Ansix923})}(db)),db.exports}var cb={exports:{}},mE;function Mte(){return mE||(mE=1,function(e,a){(function(t,n,i){e.exports=n(Ea(),nn())})(Ve,function(t){return t.pad.Iso10126={pad:function(n,i){var r=i*4,s=r-n.sigBytes%r;n.concat(t.lib.WordArray.random(s-1)).concat(t.lib.WordArray.create([s<<24],1))},unpad:function(n){var i=n.words[n.sigBytes-1>>>2]&255;n.sigBytes-=i}},t.pad.Iso10126})}(cb)),cb.exports}var pb={exports:{}},yE;function Ote(){return yE||(yE=1,function(e,a){(function(t,n,i){e.exports=n(Ea(),nn())})(Ve,function(t){return t.pad.Iso97971={pad:function(n,i){n.concat(t.lib.WordArray.create([2147483648],1)),t.pad.ZeroPadding.pad(n,i)},unpad:function(n){t.pad.ZeroPadding.unpad(n),n.sigBytes--}},t.pad.Iso97971})}(pb)),pb.exports}var fb={exports:{}},bE;function Bte(){return bE||(bE=1,function(e,a){(function(t,n,i){e.exports=n(Ea(),nn())})(Ve,function(t){return t.pad.ZeroPadding={pad:function(n,i){var r=i*4;n.clamp(),n.sigBytes+=r-(n.sigBytes%r||r)},unpad:function(n){for(var i=n.words,r=n.sigBytes-1,r=n.sigBytes-1;r>=0;r--)if(i[r>>>2]>>>24-r%4*8&255){n.sigBytes=r+1;break}}},t.pad.ZeroPadding})}(fb)),fb.exports}var hb={exports:{}},TE;function Fte(){return TE||(TE=1,function(e,a){(function(t,n,i){e.exports=n(Ea(),nn())})(Ve,function(t){return t.pad.NoPadding={pad:function(){},unpad:function(){}},t.pad.NoPadding})}(hb)),hb.exports}var mb={exports:{}},SE;function Ute(){return SE||(SE=1,function(e,a){(function(t,n,i){e.exports=n(Ea(),nn())})(Ve,function(t){return function(n){var i=t,r=i.lib,s=r.CipherParams,u=i.enc,o=u.Hex,l=i.format;l.Hex={stringify:function(g){return g.ciphertext.toString(o)},parse:function(g){var d=o.parse(g);return s.create({ciphertext:d})}}}(),t.format.Hex})}(mb)),mb.exports}var yb={exports:{}},AE;function jte(){return AE||(AE=1,function(e,a){(function(t,n,i){e.exports=n(Ea(),fl(),hl(),uo(),nn())})(Ve,function(t){return function(){var n=t,i=n.lib,r=i.BlockCipher,s=n.algo,u=[],o=[],l=[],g=[],d=[],c=[],p=[],f=[],h=[],y=[];(function(){for(var T=[],A=0;A<256;A++)A<128?T[A]=A<<1:T[A]=A<<1^283;for(var v=0,D=0,A=0;A<256;A++){var k=D^D<<1^D<<2^D<<3^D<<4;k=k>>>8^k&255^99,u[v]=k,o[k]=v;var N=T[v],q=T[N],R=T[q],z=T[k]*257^k*16843008;l[v]=z<<24|z>>>8,g[v]=z<<16|z>>>16,d[v]=z<<8|z>>>24,c[v]=z;var z=R*16843009^q*65537^N*257^v*16843008;p[k]=z<<24|z>>>8,f[k]=z<<16|z>>>16,h[k]=z<<8|z>>>24,y[k]=z,v?(v=N^T[T[T[R^N]]],D^=T[T[D]]):v=D=1}})();var b=[0,1,2,4,8,16,32,64,128,27,54],m=s.AES=r.extend({_doReset:function(){var T;if(!(this._nRounds&&this._keyPriorReset===this._key)){for(var A=this._keyPriorReset=this._key,v=A.words,D=A.sigBytes/4,k=this._nRounds=D+6,N=(k+1)*4,q=this._keySchedule=[],R=0;R<N;R++)R<D?q[R]=v[R]:(T=q[R-1],R%D?D>6&&R%D==4&&(T=u[T>>>24]<<24|u[T>>>16&255]<<16|u[T>>>8&255]<<8|u[T&255]):(T=T<<8|T>>>24,T=u[T>>>24]<<24|u[T>>>16&255]<<16|u[T>>>8&255]<<8|u[T&255],T^=b[R/D|0]<<24),q[R]=q[R-D]^T);for(var z=this._invKeySchedule=[],W=0;W<N;W++){var R=N-W;if(W%4)var T=q[R];else var T=q[R-4];W<4||R<=4?z[W]=T:z[W]=p[u[T>>>24]]^f[u[T>>>16&255]]^h[u[T>>>8&255]]^y[u[T&255]]}}},encryptBlock:function(T,A){this._doCryptBlock(T,A,this._keySchedule,l,g,d,c,u)},decryptBlock:function(T,A){var v=T[A+1];T[A+1]=T[A+3],T[A+3]=v,this._doCryptBlock(T,A,this._invKeySchedule,p,f,h,y,o);var v=T[A+1];T[A+1]=T[A+3],T[A+3]=v},_doCryptBlock:function(T,A,v,D,k,N,q,R){for(var z=this._nRounds,W=T[A]^v[0],K=T[A+1]^v[1],P=T[A+2]^v[2],L=T[A+3]^v[3],H=4,U=1;U<z;U++){var G=D[W>>>24]^k[K>>>16&255]^N[P>>>8&255]^q[L&255]^v[H++],E=D[K>>>24]^k[P>>>16&255]^N[L>>>8&255]^q[W&255]^v[H++],x=D[P>>>24]^k[L>>>16&255]^N[W>>>8&255]^q[K&255]^v[H++],_=D[L>>>24]^k[W>>>16&255]^N[K>>>8&255]^q[P&255]^v[H++];W=G,K=E,P=x,L=_}var G=(R[W>>>24]<<24|R[K>>>16&255]<<16|R[P>>>8&255]<<8|R[L&255])^v[H++],E=(R[K>>>24]<<24|R[P>>>16&255]<<16|R[L>>>8&255]<<8|R[W&255])^v[H++],x=(R[P>>>24]<<24|R[L>>>16&255]<<16|R[W>>>8&255]<<8|R[K&255])^v[H++],_=(R[L>>>24]<<24|R[W>>>16&255]<<16|R[K>>>8&255]<<8|R[P&255])^v[H++];T[A]=G,T[A+1]=E,T[A+2]=x,T[A+3]=_},keySize:256/32});n.AES=r._createHelper(m)}(),t.AES})}(yb)),yb.exports}var bb={exports:{}},vE;function zte(){return vE||(vE=1,function(e,a){(function(t,n,i){e.exports=n(Ea(),fl(),hl(),uo(),nn())})(Ve,function(t){return function(){var n=t,i=n.lib,r=i.WordArray,s=i.BlockCipher,u=n.algo,o=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],l=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],g=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],d=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],c=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],p=u.DES=s.extend({_doReset:function(){for(var b=this._key,m=b.words,T=[],A=0;A<56;A++){var v=o[A]-1;T[A]=m[v>>>5]>>>31-v%32&1}for(var D=this._subKeys=[],k=0;k<16;k++){for(var N=D[k]=[],q=g[k],A=0;A<24;A++)N[A/6|0]|=T[(l[A]-1+q)%28]<<31-A%6,N[4+(A/6|0)]|=T[28+(l[A+24]-1+q)%28]<<31-A%6;N[0]=N[0]<<1|N[0]>>>31;for(var A=1;A<7;A++)N[A]=N[A]>>>(A-1)*4+3;N[7]=N[7]<<5|N[7]>>>27}for(var R=this._invSubKeys=[],A=0;A<16;A++)R[A]=D[15-A]},encryptBlock:function(b,m){this._doCryptBlock(b,m,this._subKeys)},decryptBlock:function(b,m){this._doCryptBlock(b,m,this._invSubKeys)},_doCryptBlock:function(b,m,T){this._lBlock=b[m],this._rBlock=b[m+1],f.call(this,4,252645135),f.call(this,16,65535),h.call(this,2,858993459),h.call(this,8,16711935),f.call(this,1,1431655765);for(var A=0;A<16;A++){for(var v=T[A],D=this._lBlock,k=this._rBlock,N=0,q=0;q<8;q++)N|=d[q][((k^v[q])&c[q])>>>0];this._lBlock=k,this._rBlock=D^N}var R=this._lBlock;this._lBlock=this._rBlock,this._rBlock=R,f.call(this,1,1431655765),h.call(this,8,16711935),h.call(this,2,858993459),f.call(this,16,65535),f.call(this,4,252645135),b[m]=this._lBlock,b[m+1]=this._rBlock},keySize:64/32,ivSize:64/32,blockSize:64/32});function f(b,m){var T=(this._lBlock>>>b^this._rBlock)&m;this._rBlock^=T,this._lBlock^=T<<b}function h(b,m){var T=(this._rBlock>>>b^this._lBlock)&m;this._lBlock^=T,this._rBlock^=T<<b}n.DES=s._createHelper(p);var y=u.TripleDES=s.extend({_doReset:function(){var b=this._key,m=b.words;if(m.length!==2&&m.length!==4&&m.length<6)throw new Error("Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.");var T=m.slice(0,2),A=m.length<4?m.slice(0,2):m.slice(2,4),v=m.length<6?m.slice(0,2):m.slice(4,6);this._des1=p.createEncryptor(r.create(T)),this._des2=p.createEncryptor(r.create(A)),this._des3=p.createEncryptor(r.create(v))},encryptBlock:function(b,m){this._des1.encryptBlock(b,m),this._des2.decryptBlock(b,m),this._des3.encryptBlock(b,m)},decryptBlock:function(b,m){this._des3.decryptBlock(b,m),this._des2.encryptBlock(b,m),this._des1.decryptBlock(b,m)},keySize:192/32,ivSize:64/32,blockSize:64/32});n.TripleDES=s._createHelper(y)}(),t.TripleDES})}(bb)),bb.exports}var Tb={exports:{}},DE;function $te(){return DE||(DE=1,function(e,a){(function(t,n,i){e.exports=n(Ea(),fl(),hl(),uo(),nn())})(Ve,function(t){return function(){var n=t,i=n.lib,r=i.StreamCipher,s=n.algo,u=s.RC4=r.extend({_doReset:function(){for(var g=this._key,d=g.words,c=g.sigBytes,p=this._S=[],f=0;f<256;f++)p[f]=f;for(var f=0,h=0;f<256;f++){var y=f%c,b=d[y>>>2]>>>24-y%4*8&255;h=(h+p[f]+b)%256;var m=p[f];p[f]=p[h],p[h]=m}this._i=this._j=0},_doProcessBlock:function(g,d){g[d]^=o.call(this)},keySize:256/32,ivSize:0});function o(){for(var g=this._S,d=this._i,c=this._j,p=0,f=0;f<4;f++){d=(d+1)%256,c=(c+g[d])%256;var h=g[d];g[d]=g[c],g[c]=h,p|=g[(g[d]+g[c])%256]<<24-f*8}return this._i=d,this._j=c,p}n.RC4=r._createHelper(u);var l=s.RC4Drop=u.extend({cfg:u.cfg.extend({drop:192}),_doReset:function(){u._doReset.call(this);for(var g=this.cfg.drop;g>0;g--)o.call(this)}});n.RC4Drop=r._createHelper(l)}(),t.RC4})}(Tb)),Tb.exports}var Sb={exports:{}},xE;function Kte(){return xE||(xE=1,function(e,a){(function(t,n,i){e.exports=n(Ea(),fl(),hl(),uo(),nn())})(Ve,function(t){return function(){var n=t,i=n.lib,r=i.StreamCipher,s=n.algo,u=[],o=[],l=[],g=s.Rabbit=r.extend({_doReset:function(){for(var c=this._key.words,p=this.cfg.iv,f=0;f<4;f++)c[f]=(c[f]<<8|c[f]>>>24)&16711935|(c[f]<<24|c[f]>>>8)&4278255360;var h=this._X=[c[0],c[3]<<16|c[2]>>>16,c[1],c[0]<<16|c[3]>>>16,c[2],c[1]<<16|c[0]>>>16,c[3],c[2]<<16|c[1]>>>16],y=this._C=[c[2]<<16|c[2]>>>16,c[0]&4294901760|c[1]&65535,c[3]<<16|c[3]>>>16,c[1]&4294901760|c[2]&65535,c[0]<<16|c[0]>>>16,c[2]&4294901760|c[3]&65535,c[1]<<16|c[1]>>>16,c[3]&4294901760|c[0]&65535];this._b=0;for(var f=0;f<4;f++)d.call(this);for(var f=0;f<8;f++)y[f]^=h[f+4&7];if(p){var b=p.words,m=b[0],T=b[1],A=(m<<8|m>>>24)&16711935|(m<<24|m>>>8)&4278255360,v=(T<<8|T>>>24)&16711935|(T<<24|T>>>8)&4278255360,D=A>>>16|v&4294901760,k=v<<16|A&65535;y[0]^=A,y[1]^=D,y[2]^=v,y[3]^=k,y[4]^=A,y[5]^=D,y[6]^=v,y[7]^=k;for(var f=0;f<4;f++)d.call(this)}},_doProcessBlock:function(c,p){var f=this._X;d.call(this),u[0]=f[0]^f[5]>>>16^f[3]<<16,u[1]=f[2]^f[7]>>>16^f[5]<<16,u[2]=f[4]^f[1]>>>16^f[7]<<16,u[3]=f[6]^f[3]>>>16^f[1]<<16;for(var h=0;h<4;h++)u[h]=(u[h]<<8|u[h]>>>24)&16711935|(u[h]<<24|u[h]>>>8)&4278255360,c[p+h]^=u[h]},blockSize:128/32,ivSize:64/32});function d(){for(var c=this._X,p=this._C,f=0;f<8;f++)o[f]=p[f];p[0]=p[0]+1295307597+this._b|0,p[1]=p[1]+3545052371+(p[0]>>>0<o[0]>>>0?1:0)|0,p[2]=p[2]+886263092+(p[1]>>>0<o[1]>>>0?1:0)|0,p[3]=p[3]+1295307597+(p[2]>>>0<o[2]>>>0?1:0)|0,p[4]=p[4]+3545052371+(p[3]>>>0<o[3]>>>0?1:0)|0,p[5]=p[5]+886263092+(p[4]>>>0<o[4]>>>0?1:0)|0,p[6]=p[6]+1295307597+(p[5]>>>0<o[5]>>>0?1:0)|0,p[7]=p[7]+3545052371+(p[6]>>>0<o[6]>>>0?1:0)|0,this._b=p[7]>>>0<o[7]>>>0?1:0;for(var f=0;f<8;f++){var h=c[f]+p[f],y=h&65535,b=h>>>16,m=((y*y>>>17)+y*b>>>15)+b*b,T=((h&4294901760)*h|0)+((h&65535)*h|0);l[f]=m^T}c[0]=l[0]+(l[7]<<16|l[7]>>>16)+(l[6]<<16|l[6]>>>16)|0,c[1]=l[1]+(l[0]<<8|l[0]>>>24)+l[7]|0,c[2]=l[2]+(l[1]<<16|l[1]>>>16)+(l[0]<<16|l[0]>>>16)|0,c[3]=l[3]+(l[2]<<8|l[2]>>>24)+l[1]|0,c[4]=l[4]+(l[3]<<16|l[3]>>>16)+(l[2]<<16|l[2]>>>16)|0,c[5]=l[5]+(l[4]<<8|l[4]>>>24)+l[3]|0,c[6]=l[6]+(l[5]<<16|l[5]>>>16)+(l[4]<<16|l[4]>>>16)|0,c[7]=l[7]+(l[6]<<8|l[6]>>>24)+l[5]|0}n.Rabbit=r._createHelper(g)}(),t.Rabbit})}(Sb)),Sb.exports}var Ab={exports:{}},EE;function Hte(){return EE||(EE=1,function(e,a){(function(t,n,i){e.exports=n(Ea(),fl(),hl(),uo(),nn())})(Ve,function(t){return function(){var n=t,i=n.lib,r=i.StreamCipher,s=n.algo,u=[],o=[],l=[],g=s.RabbitLegacy=r.extend({_doReset:function(){var c=this._key.words,p=this.cfg.iv,f=this._X=[c[0],c[3]<<16|c[2]>>>16,c[1],c[0]<<16|c[3]>>>16,c[2],c[1]<<16|c[0]>>>16,c[3],c[2]<<16|c[1]>>>16],h=this._C=[c[2]<<16|c[2]>>>16,c[0]&4294901760|c[1]&65535,c[3]<<16|c[3]>>>16,c[1]&4294901760|c[2]&65535,c[0]<<16|c[0]>>>16,c[2]&4294901760|c[3]&65535,c[1]<<16|c[1]>>>16,c[3]&4294901760|c[0]&65535];this._b=0;for(var y=0;y<4;y++)d.call(this);for(var y=0;y<8;y++)h[y]^=f[y+4&7];if(p){var b=p.words,m=b[0],T=b[1],A=(m<<8|m>>>24)&16711935|(m<<24|m>>>8)&4278255360,v=(T<<8|T>>>24)&16711935|(T<<24|T>>>8)&4278255360,D=A>>>16|v&4294901760,k=v<<16|A&65535;h[0]^=A,h[1]^=D,h[2]^=v,h[3]^=k,h[4]^=A,h[5]^=D,h[6]^=v,h[7]^=k;for(var y=0;y<4;y++)d.call(this)}},_doProcessBlock:function(c,p){var f=this._X;d.call(this),u[0]=f[0]^f[5]>>>16^f[3]<<16,u[1]=f[2]^f[7]>>>16^f[5]<<16,u[2]=f[4]^f[1]>>>16^f[7]<<16,u[3]=f[6]^f[3]>>>16^f[1]<<16;for(var h=0;h<4;h++)u[h]=(u[h]<<8|u[h]>>>24)&16711935|(u[h]<<24|u[h]>>>8)&4278255360,c[p+h]^=u[h]},blockSize:128/32,ivSize:64/32});function d(){for(var c=this._X,p=this._C,f=0;f<8;f++)o[f]=p[f];p[0]=p[0]+1295307597+this._b|0,p[1]=p[1]+3545052371+(p[0]>>>0<o[0]>>>0?1:0)|0,p[2]=p[2]+886263092+(p[1]>>>0<o[1]>>>0?1:0)|0,p[3]=p[3]+1295307597+(p[2]>>>0<o[2]>>>0?1:0)|0,p[4]=p[4]+3545052371+(p[3]>>>0<o[3]>>>0?1:0)|0,p[5]=p[5]+886263092+(p[4]>>>0<o[4]>>>0?1:0)|0,p[6]=p[6]+1295307597+(p[5]>>>0<o[5]>>>0?1:0)|0,p[7]=p[7]+3545052371+(p[6]>>>0<o[6]>>>0?1:0)|0,this._b=p[7]>>>0<o[7]>>>0?1:0;for(var f=0;f<8;f++){var h=c[f]+p[f],y=h&65535,b=h>>>16,m=((y*y>>>17)+y*b>>>15)+b*b,T=((h&4294901760)*h|0)+((h&65535)*h|0);l[f]=m^T}c[0]=l[0]+(l[7]<<16|l[7]>>>16)+(l[6]<<16|l[6]>>>16)|0,c[1]=l[1]+(l[0]<<8|l[0]>>>24)+l[7]|0,c[2]=l[2]+(l[1]<<16|l[1]>>>16)+(l[0]<<16|l[0]>>>16)|0,c[3]=l[3]+(l[2]<<8|l[2]>>>24)+l[1]|0,c[4]=l[4]+(l[3]<<16|l[3]>>>16)+(l[2]<<16|l[2]>>>16)|0,c[5]=l[5]+(l[4]<<8|l[4]>>>24)+l[3]|0,c[6]=l[6]+(l[5]<<16|l[5]>>>16)+(l[4]<<16|l[4]>>>16)|0,c[7]=l[7]+(l[6]<<8|l[6]>>>24)+l[5]|0}n.RabbitLegacy=r._createHelper(g)}(),t.RabbitLegacy})}(Ab)),Ab.exports}var vb={exports:{}},kE;function qte(){return kE||(kE=1,function(e,a){(function(t,n,i){e.exports=n(Ea(),fl(),hl(),uo(),nn())})(Ve,function(t){return function(){var n=t,i=n.lib,r=i.BlockCipher,s=n.algo;const u=16,o=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],l=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var g={pbox:[],sbox:[]};function d(y,b){let m=b>>24&255,T=b>>16&255,A=b>>8&255,v=b&255,D=y.sbox[0][m]+y.sbox[1][T];return D=D^y.sbox[2][A],D=D+y.sbox[3][v],D}function c(y,b,m){let T=b,A=m,v;for(let D=0;D<u;++D)T=T^y.pbox[D],A=d(y,T)^A,v=T,T=A,A=v;return v=T,T=A,A=v,A=A^y.pbox[u],T=T^y.pbox[u+1],{left:T,right:A}}function p(y,b,m){let T=b,A=m,v;for(let D=u+1;D>1;--D)T=T^y.pbox[D],A=d(y,T)^A,v=T,T=A,A=v;return v=T,T=A,A=v,A=A^y.pbox[1],T=T^y.pbox[0],{left:T,right:A}}function f(y,b,m){for(let k=0;k<4;k++){y.sbox[k]=[];for(let N=0;N<256;N++)y.sbox[k][N]=l[k][N]}let T=0;for(let k=0;k<u+2;k++)y.pbox[k]=o[k]^b[T],T++,T>=m&&(T=0);let A=0,v=0,D=0;for(let k=0;k<u+2;k+=2)D=c(y,A,v),A=D.left,v=D.right,y.pbox[k]=A,y.pbox[k+1]=v;for(let k=0;k<4;k++)for(let N=0;N<256;N+=2)D=c(y,A,v),A=D.left,v=D.right,y.sbox[k][N]=A,y.sbox[k][N+1]=v;return!0}var h=s.Blowfish=r.extend({_doReset:function(){if(this._keyPriorReset!==this._key){var y=this._keyPriorReset=this._key,b=y.words,m=y.sigBytes/4;f(g,b,m)}},encryptBlock:function(y,b){var m=c(g,y[b],y[b+1]);y[b]=m.left,y[b+1]=m.right},decryptBlock:function(y,b){var m=p(g,y[b],y[b+1]);y[b]=m.left,y[b+1]=m.right},blockSize:64/32,keySize:128/32,ivSize:64/32});n.Blowfish=r._createHelper(h)}(),t.Blowfish})}(vb)),vb.exports}(function(e,a){(function(t,n,i){e.exports=n(Ea(),My(),Ate(),vte(),fl(),Dte(),hl(),yR(),wv(),xte(),bR(),Ete(),kte(),Cte(),_v(),wte(),uo(),nn(),_te(),Ite(),Nte(),Lte(),Rte(),Pte(),Mte(),Ote(),Bte(),Fte(),Ute(),jte(),zte(),$te(),Kte(),Hte(),qte())})(Ve,function(t){return t})})(mR);var Vte=mR.exports;const Ou=an(Vte),Iv={xml:!1,decodeEntities:!0},CE={_useHtmlParser2:!0,xmlMode:!0};function JS(e){return e!=null&&e.xml?typeof e.xml=="boolean"?CE:{...CE,...e.xml}:e??void 0}var Fa;(function(e){e.Root="root",e.Text="text",e.Directive="directive",e.Comment="comment",e.Script="script",e.Style="style",e.Tag="tag",e.CDATA="cdata",e.Doctype="doctype"})(Fa||(Fa={}));function Gte(e){return e.type===Fa.Tag||e.type===Fa.Script||e.type===Fa.Style}const Wte=Fa.Root,Yte=Fa.Text,Xte=Fa.Directive,Qte=Fa.Comment,Zte=Fa.Script,Jte=Fa.Style,ene=Fa.Tag,ane=Fa.CDATA,tne=Fa.Doctype;let TR=class{constructor(){this.parent=null,this.prev=null,this.next=null,this.startIndex=null,this.endIndex=null}get parentNode(){return this.parent}set parentNode(a){this.parent=a}get previousSibling(){return this.prev}set previousSibling(a){this.prev=a}get nextSibling(){return this.next}set nextSibling(a){this.next=a}cloneNode(a=!1){return Ch(this,a)}};class Nv extends TR{constructor(a){super(),this.data=a}get nodeValue(){return this.data}set nodeValue(a){this.data=a}}class hc extends Nv{constructor(){super(...arguments),this.type=Fa.Text}get nodeType(){return 3}}class Lv extends Nv{constructor(){super(...arguments),this.type=Fa.Comment}get nodeType(){return 8}}class Rv extends Nv{constructor(a,t){super(t),this.name=a,this.type=Fa.Directive}get nodeType(){return 1}}class Pv extends TR{constructor(a){super(),this.children=a}get firstChild(){var a;return(a=this.children[0])!==null&&a!==void 0?a:null}get lastChild(){return this.children.length>0?this.children[this.children.length-1]:null}get childNodes(){return this.children}set childNodes(a){this.children=a}}class SR extends Pv{constructor(){super(...arguments),this.type=Fa.CDATA}get nodeType(){return 4}}let Zo=class extends Pv{constructor(){super(...arguments),this.type=Fa.Root}get nodeType(){return 9}},Mv=class extends Pv{constructor(a,t,n=[],i=a==="script"?Fa.Script:a==="style"?Fa.Style:Fa.Tag){super(n),this.name=a,this.attribs=t,this.type=i}get nodeType(){return 1}get tagName(){return this.name}set tagName(a){this.name=a}get attributes(){return Object.keys(this.attribs).map(a=>{var t,n;return{name:a,value:this.attribs[a],namespace:(t=this["x-attribsNamespace"])===null||t===void 0?void 0:t[a],prefix:(n=this["x-attribsPrefix"])===null||n===void 0?void 0:n[a]}})}};function ra(e){return Gte(e)}function Oy(e){return e.type===Fa.CDATA}function os(e){return e.type===Fa.Text}function By(e){return e.type===Fa.Comment}function eA(e){return e.type===Fa.Directive}function ml(e){return e.type===Fa.Root}function Jt(e){return Object.prototype.hasOwnProperty.call(e,"children")}function Ch(e,a=!1){let t;if(os(e))t=new hc(e.data);else if(By(e))t=new Lv(e.data);else if(ra(e)){const n=a?Db(e.children):[],i=new Mv(e.name,{...e.attribs},n);n.forEach(r=>r.parent=i),e.namespace!=null&&(i.namespace=e.namespace),e["x-attribsNamespace"]&&(i["x-attribsNamespace"]={...e["x-attribsNamespace"]}),e["x-attribsPrefix"]&&(i["x-attribsPrefix"]={...e["x-attribsPrefix"]}),t=i}else if(Oy(e)){const n=a?Db(e.children):[],i=new SR(n);n.forEach(r=>r.parent=i),t=i}else if(ml(e)){const n=a?Db(e.children):[],i=new Zo(n);n.forEach(r=>r.parent=i),e["x-mode"]&&(i["x-mode"]=e["x-mode"]),t=i}else if(eA(e)){const n=new Rv(e.name,e.data);e["x-name"]!=null&&(n["x-name"]=e["x-name"],n["x-publicId"]=e["x-publicId"],n["x-systemId"]=e["x-systemId"]),t=n}else throw new Error(`Not implemented yet: ${e.type}`);return t.startIndex=e.startIndex,t.endIndex=e.endIndex,e.sourceCodeLocation!=null&&(t.sourceCodeLocation=e.sourceCodeLocation),t}function Db(e){const a=e.map(t=>Ch(t,!0));for(let t=1;t<a.length;t++)a[t].prev=a[t-1],a[t-1].next=a[t];return a}const wE={withStartIndices:!1,withEndIndices:!1,xmlMode:!1};class nne{constructor(a,t,n){this.dom=[],this.root=new Zo(this.dom),this.done=!1,this.tagStack=[this.root],this.lastNode=null,this.parser=null,typeof t=="function"&&(n=t,t=wE),typeof a=="object"&&(t=a,a=void 0),this.callback=a??null,this.options=t??wE,this.elementCB=n??null}onparserinit(a){this.parser=a}onreset(){this.dom=[],this.root=new Zo(this.dom),this.done=!1,this.tagStack=[this.root],this.lastNode=null,this.parser=null}onend(){this.done||(this.done=!0,this.parser=null,this.handleCallback(null))}onerror(a){this.handleCallback(a)}onclosetag(){this.lastNode=null;const a=this.tagStack.pop();this.options.withEndIndices&&(a.endIndex=this.parser.endIndex),this.elementCB&&this.elementCB(a)}onopentag(a,t){const n=this.options.xmlMode?Fa.Tag:void 0,i=new Mv(a,t,void 0,n);this.addNode(i),this.tagStack.push(i)}ontext(a){const{lastNode:t}=this;if(t&&t.type===Fa.Text)t.data+=a,this.options.withEndIndices&&(t.endIndex=this.parser.endIndex);else{const n=new hc(a);this.addNode(n),this.lastNode=n}}oncomment(a){if(this.lastNode&&this.lastNode.type===Fa.Comment){this.lastNode.data+=a;return}const t=new Lv(a);this.addNode(t),this.lastNode=t}oncommentend(){this.lastNode=null}oncdatastart(){const a=new hc(""),t=new SR([a]);this.addNode(t),a.parent=t,this.lastNode=a}oncdataend(){this.lastNode=null}onprocessinginstruction(a,t){const n=new Rv(a,t);this.addNode(n)}handleCallback(a){if(typeof this.callback=="function")this.callback(a,this.dom);else if(a)throw a}addNode(a){const t=this.tagStack[this.tagStack.length-1],n=t.children[t.children.length-1];this.options.withStartIndices&&(a.startIndex=this.parser.startIndex),this.options.withEndIndices&&(a.endIndex=this.parser.endIndex),t.children.push(a),n&&(a.prev=n,n.next=a),a.parent=t,this.lastNode=null}}const Is=new Uint16Array('ᵁ<Õıʊҝջאٵ۞ޢߖࠏ੊ઑඡ๭༉༦჊ረዡᐕᒝᓃᓟᔥ\0\0\0\0\0\0ᕫᛍᦍᰒᷝ὾⁠↰⊍⏀⏻⑂⠤⤒ⴈ⹈⿎〖㊺㘹㞬㣾㨨㩱㫠㬮ࠀEMabcfglmnoprstu\\bfms¦³¹ÈÏlig耻Æ䃆P耻&䀦cute耻Á䃁reve;䄂Āiyx}rc耻Â䃂;䐐r;쀀𝔄rave耻À䃀pha;䎑acr;䄀d;橓Āgp¡on;䄄f;쀀𝔸plyFunction;恡ing耻Å䃅Ācs¾Ãr;쀀𝒜ign;扔ilde耻Ã䃃ml耻Ä䃄ЀaceforsuåûþėĜĢħĪĀcrêòkslash;或Ŷöø;櫧ed;挆y;䐑ƀcrtąċĔause;戵noullis;愬a;䎒r;쀀𝔅pf;쀀𝔹eve;䋘còēmpeq;扎܀HOacdefhilorsuōőŖƀƞƢƵƷƺǜȕɳɸɾcy;䐧PY耻©䂩ƀcpyŝŢźute;䄆Ā;iŧŨ拒talDifferentialD;慅leys;愭ȀaeioƉƎƔƘron;䄌dil耻Ç䃇rc;䄈nint;戰ot;䄊ĀdnƧƭilla;䂸terDot;䂷òſi;䎧rcleȀDMPTǇǋǑǖot;抙inus;抖lus;投imes;抗oĀcsǢǸkwiseContourIntegral;戲eCurlyĀDQȃȏoubleQuote;思uote;怙ȀlnpuȞȨɇɕonĀ;eȥȦ户;橴ƀgitȯȶȺruent;扡nt;戯ourIntegral;戮ĀfrɌɎ;愂oduct;成nterClockwiseContourIntegral;戳oss;樯cr;쀀𝒞pĀ;Cʄʅ拓ap;才րDJSZacefiosʠʬʰʴʸˋ˗ˡ˦̳ҍĀ;oŹʥtrahd;椑cy;䐂cy;䐅cy;䐏ƀgrsʿ˄ˇger;怡r;憡hv;櫤Āayː˕ron;䄎;䐔lĀ;t˝˞戇a;䎔r;쀀𝔇Āaf˫̧Ācm˰̢riticalȀADGT̖̜̀̆cute;䂴oŴ̋̍;䋙bleAcute;䋝rave;䁠ilde;䋜ond;拄ferentialD;慆Ѱ̽\0\0\0͔͂\0Ѕf;쀀𝔻ƀ;DE͈͉͍䂨ot;惜qual;扐blèCDLRUVͣͲ΂ϏϢϸontourIntegraìȹoɴ͹\0\0ͻ»͉nArrow;懓Āeo·ΤftƀARTΐΖΡrrow;懐ightArrow;懔eåˊngĀLRΫτeftĀARγιrrow;柸ightArrow;柺ightArrow;柹ightĀATϘϞrrow;懒ee;抨pɁϩ\0\0ϯrrow;懑ownArrow;懕erticalBar;戥ǹABLRTaВЪаўѿͼrrowƀ;BUНОТ憓ar;椓pArrow;懵reve;䌑eft˒к\0ц\0ѐightVector;楐eeVector;楞ectorĀ;Bљњ憽ar;楖ightǔѧ\0ѱeeVector;楟ectorĀ;BѺѻ懁ar;楗eeĀ;A҆҇护rrow;憧ĀctҒҗr;쀀𝒟rok;䄐ࠀNTacdfglmopqstuxҽӀӄӋӞӢӧӮӵԡԯԶՒ՝ՠեG;䅊H耻Ð䃐cute耻É䃉ƀaiyӒӗӜron;䄚rc耻Ê䃊;䐭ot;䄖r;쀀𝔈rave耻È䃈ement;戈ĀapӺӾcr;䄒tyɓԆ\0\0ԒmallSquare;旻erySmallSquare;斫ĀgpԦԪon;䄘f;쀀𝔼silon;䎕uĀaiԼՉlĀ;TՂՃ橵ilde;扂librium;懌Āci՗՚r;愰m;橳a;䎗ml耻Ë䃋Āipժկsts;戃onentialE;慇ʀcfiosօֈ֍ֲ׌y;䐤r;쀀𝔉lledɓ֗\0\0֣mallSquare;旼erySmallSquare;斪Ͱֺ\0ֿ\0\0ׄf;쀀𝔽All;戀riertrf;愱cò׋؀JTabcdfgorstר׬ׯ׺؀ؒؖ؛؝أ٬ٲcy;䐃耻>䀾mmaĀ;d׷׸䎓;䏜reve;䄞ƀeiy؇،ؐdil;䄢rc;䄜;䐓ot;䄠r;쀀𝔊;拙pf;쀀𝔾eater̀EFGLSTصلَٖٛ٦qualĀ;Lؾؿ扥ess;招ullEqual;执reater;檢ess;扷lantEqual;橾ilde;扳cr;쀀𝒢;扫ЀAacfiosuڅڋږڛڞڪھۊRDcy;䐪Āctڐڔek;䋇;䁞irc;䄤r;愌lbertSpace;愋ǰگ\0ڲf;愍izontalLine;攀Āctۃۅòکrok;䄦mpńېۘownHumðįqual;扏܀EJOacdfgmnostuۺ۾܃܇܎ܚܞܡܨ݄ݸދޏޕcy;䐕lig;䄲cy;䐁cute耻Í䃍Āiyܓܘrc耻Î䃎;䐘ot;䄰r;愑rave耻Ì䃌ƀ;apܠܯܿĀcgܴܷr;䄪inaryI;慈lieóϝǴ݉\0ݢĀ;eݍݎ戬Āgrݓݘral;戫section;拂isibleĀCTݬݲomma;恣imes;恢ƀgptݿރވon;䄮f;쀀𝕀a;䎙cr;愐ilde;䄨ǫޚ\0ޞcy;䐆l耻Ï䃏ʀcfosuެ޷޼߂ߐĀiyޱ޵rc;䄴;䐙r;쀀𝔍pf;쀀𝕁ǣ߇\0ߌr;쀀𝒥rcy;䐈kcy;䐄΀HJacfosߤߨ߽߬߱ࠂࠈcy;䐥cy;䐌ppa;䎚Āey߶߻dil;䄶;䐚r;쀀𝔎pf;쀀𝕂cr;쀀𝒦րJTaceflmostࠥࠩࠬࡐࡣ঳সে্਷ੇcy;䐉耻<䀼ʀcmnpr࠷࠼ࡁࡄࡍute;䄹bda;䎛g;柪lacetrf;愒r;憞ƀaeyࡗ࡜ࡡron;䄽dil;䄻;䐛Āfsࡨ॰tԀACDFRTUVarࡾࢩࢱࣦ࣠ࣼयज़ΐ४Ānrࢃ࢏gleBracket;柨rowƀ;BR࢙࢚࢞憐ar;懤ightArrow;懆eiling;挈oǵࢷ\0ࣃbleBracket;柦nǔࣈ\0࣒eeVector;楡ectorĀ;Bࣛࣜ懃ar;楙loor;挊ightĀAV࣯ࣵrrow;憔ector;楎Āerँगeƀ;AVउऊऐ抣rrow;憤ector;楚iangleƀ;BEतथऩ抲ar;槏qual;抴pƀDTVषूौownVector;楑eeVector;楠ectorĀ;Bॖॗ憿ar;楘ectorĀ;B॥०憼ar;楒ightáΜs̀EFGLSTॾঋকঝঢভqualGreater;拚ullEqual;扦reater;扶ess;檡lantEqual;橽ilde;扲r;쀀𝔏Ā;eঽা拘ftarrow;懚idot;䄿ƀnpw৔ਖਛgȀLRlr৞৷ਂਐeftĀAR০৬rrow;柵ightArrow;柷ightArrow;柶eftĀarγਊightáοightáϊf;쀀𝕃erĀLRਢਬeftArrow;憙ightArrow;憘ƀchtਾੀੂòࡌ;憰rok;䅁;扪Ѐacefiosuਗ਼੝੠੷੼અઋ઎p;椅y;䐜Ādl੥੯iumSpace;恟lintrf;愳r;쀀𝔐nusPlus;戓pf;쀀𝕄cò੶;䎜ҀJacefostuણધભીଔଙඑ඗ඞcy;䐊cute;䅃ƀaey઴હાron;䅇dil;䅅;䐝ƀgswે૰଎ativeƀMTV૓૟૨ediumSpace;怋hiĀcn૦૘ë૙eryThiî૙tedĀGL૸ଆreaterGreateòٳessLesóੈLine;䀊r;쀀𝔑ȀBnptଢନଷ଺reak;恠BreakingSpace;䂠f;愕ڀ;CDEGHLNPRSTV୕ୖ୪୼஡௫ఄ౞಄ದ೘ൡඅ櫬Āou୛୤ngruent;扢pCap;扭oubleVerticalBar;戦ƀlqxஃஊ஛ement;戉ualĀ;Tஒஓ扠ilde;쀀≂̸ists;戄reater΀;EFGLSTஶஷ஽௉௓௘௥扯qual;扱ullEqual;쀀≧̸reater;쀀≫̸ess;批lantEqual;쀀⩾̸ilde;扵umpń௲௽ownHump;쀀≎̸qual;쀀≏̸eĀfsఊధtTriangleƀ;BEచఛడ拪ar;쀀⧏̸qual;括s̀;EGLSTవశ఼ౄోౘ扮qual;扰reater;扸ess;쀀≪̸lantEqual;쀀⩽̸ilde;扴estedĀGL౨౹reaterGreater;쀀⪢̸essLess;쀀⪡̸recedesƀ;ESಒಓಛ技qual;쀀⪯̸lantEqual;拠ĀeiಫಹverseElement;戌ghtTriangleƀ;BEೋೌ೒拫ar;쀀⧐̸qual;拭ĀquೝഌuareSuĀbp೨೹setĀ;E೰ೳ쀀⊏̸qual;拢ersetĀ;Eഃആ쀀⊐̸qual;拣ƀbcpഓതൎsetĀ;Eഛഞ쀀⊂⃒qual;抈ceedsȀ;ESTലള഻െ抁qual;쀀⪰̸lantEqual;拡ilde;쀀≿̸ersetĀ;E൘൛쀀⊃⃒qual;抉ildeȀ;EFT൮൯൵ൿ扁qual;扄ullEqual;扇ilde;扉erticalBar;戤cr;쀀𝒩ilde耻Ñ䃑;䎝܀Eacdfgmoprstuvලෂ෉෕ෛ෠෧෼ขภยา฿ไlig;䅒cute耻Ó䃓Āiy෎ීrc耻Ô䃔;䐞blac;䅐r;쀀𝔒rave耻Ò䃒ƀaei෮ෲ෶cr;䅌ga;䎩cron;䎟pf;쀀𝕆enCurlyĀDQฎบoubleQuote;怜uote;怘;橔Āclวฬr;쀀𝒪ash耻Ø䃘iŬื฼de耻Õ䃕es;樷ml耻Ö䃖erĀBP๋๠Āar๐๓r;怾acĀek๚๜;揞et;掴arenthesis;揜Ҁacfhilors๿ງຊຏຒດຝະ໼rtialD;戂y;䐟r;쀀𝔓i;䎦;䎠usMinus;䂱Āipຢອncareplanåڝf;愙Ȁ;eio຺ູ໠໤檻cedesȀ;EST່້໏໚扺qual;檯lantEqual;扼ilde;找me;怳Ādp໩໮uct;戏ortionĀ;aȥ໹l;戝Āci༁༆r;쀀𝒫;䎨ȀUfos༑༖༛༟OT耻"䀢r;쀀𝔔pf;愚cr;쀀𝒬؀BEacefhiorsu༾གྷཇའཱིྦྷྪྭ႖ႩႴႾarr;椐G耻®䂮ƀcnrཎནབute;䅔g;柫rĀ;tཛྷཝ憠l;椖ƀaeyཧཬཱron;䅘dil;䅖;䐠Ā;vླྀཹ愜erseĀEUྂྙĀlq྇ྎement;戋uilibrium;懋pEquilibrium;楯r»ཹo;䎡ghtЀACDFTUVa࿁࿫࿳ဢဨၛႇϘĀnr࿆࿒gleBracket;柩rowƀ;BL࿜࿝࿡憒ar;懥eftArrow;懄eiling;按oǵ࿹\0စbleBracket;柧nǔည\0နeeVector;楝ectorĀ;Bဝသ懂ar;楕loor;挋Āerိ၃eƀ;AVဵံြ抢rrow;憦ector;楛iangleƀ;BEၐၑၕ抳ar;槐qual;抵pƀDTVၣၮၸownVector;楏eeVector;楜ectorĀ;Bႂႃ憾ar;楔ectorĀ;B႑႒懀ar;楓Āpuႛ႞f;愝ndImplies;楰ightarrow;懛ĀchႹႼr;愛;憱leDelayed;槴ڀHOacfhimoqstuფჱჷჽᄙᄞᅑᅖᅡᅧᆵᆻᆿĀCcჩხHcy;䐩y;䐨FTcy;䐬cute;䅚ʀ;aeiyᄈᄉᄎᄓᄗ檼ron;䅠dil;䅞rc;䅜;䐡r;쀀𝔖ortȀDLRUᄪᄴᄾᅉownArrow»ОeftArrow»࢚ightArrow»࿝pArrow;憑gma;䎣allCircle;战pf;쀀𝕊ɲᅭ\0\0ᅰt;戚areȀ;ISUᅻᅼᆉᆯ斡ntersection;抓uĀbpᆏᆞsetĀ;Eᆗᆘ抏qual;抑ersetĀ;Eᆨᆩ抐qual;抒nion;抔cr;쀀𝒮ar;拆ȀbcmpᇈᇛሉላĀ;sᇍᇎ拐etĀ;Eᇍᇕqual;抆ĀchᇠህeedsȀ;ESTᇭᇮᇴᇿ扻qual;檰lantEqual;扽ilde;承Tháྌ;我ƀ;esሒሓሣ拑rsetĀ;Eሜም抃qual;抇et»ሓրHRSacfhiorsሾቄ቉ቕ቞ቱቶኟዂወዑORN耻Þ䃞ADE;愢ĀHc቎ቒcy;䐋y;䐦Ābuቚቜ;䀉;䎤ƀaeyብቪቯron;䅤dil;䅢;䐢r;쀀𝔗Āeiቻ኉ǲኀ\0ኇefore;戴a;䎘Ācn኎ኘkSpace;쀀  Space;怉ldeȀ;EFTካኬኲኼ戼qual;扃ullEqual;扅ilde;扈pf;쀀𝕋ipleDot;惛Āctዖዛr;쀀𝒯rok;䅦ૡዷጎጚጦ\0ጬጱ\0\0\0\0\0ጸጽ፷ᎅ\0᏿ᐄᐊᐐĀcrዻጁute耻Ú䃚rĀ;oጇገ憟cir;楉rǣጓ\0጖y;䐎ve;䅬Āiyጞጣrc耻Û䃛;䐣blac;䅰r;쀀𝔘rave耻Ù䃙acr;䅪Ādiፁ፩erĀBPፈ፝Āarፍፐr;䁟acĀekፗፙ;揟et;掵arenthesis;揝onĀ;P፰፱拃lus;抎Āgp፻፿on;䅲f;쀀𝕌ЀADETadps᎕ᎮᎸᏄϨᏒᏗᏳrrowƀ;BDᅐᎠᎤar;椒ownArrow;懅ownArrow;憕quilibrium;楮eeĀ;AᏋᏌ报rrow;憥ownáϳerĀLRᏞᏨeftArrow;憖ightArrow;憗iĀ;lᏹᏺ䏒on;䎥ing;䅮cr;쀀𝒰ilde;䅨ml耻Ü䃜ҀDbcdefosvᐧᐬᐰᐳᐾᒅᒊᒐᒖash;披ar;櫫y;䐒ashĀ;lᐻᐼ抩;櫦Āerᑃᑅ;拁ƀbtyᑌᑐᑺar;怖Ā;iᑏᑕcalȀBLSTᑡᑥᑪᑴar;戣ine;䁼eparator;杘ilde;所ThinSpace;怊r;쀀𝔙pf;쀀𝕍cr;쀀𝒱dash;抪ʀcefosᒧᒬᒱᒶᒼirc;䅴dge;拀r;쀀𝔚pf;쀀𝕎cr;쀀𝒲Ȁfiosᓋᓐᓒᓘr;쀀𝔛;䎞pf;쀀𝕏cr;쀀𝒳ҀAIUacfosuᓱᓵᓹᓽᔄᔏᔔᔚᔠcy;䐯cy;䐇cy;䐮cute耻Ý䃝Āiyᔉᔍrc;䅶;䐫r;쀀𝔜pf;쀀𝕐cr;쀀𝒴ml;䅸ЀHacdefosᔵᔹᔿᕋᕏᕝᕠᕤcy;䐖cute;䅹Āayᕄᕉron;䅽;䐗ot;䅻ǲᕔ\0ᕛoWidtè૙a;䎖r;愨pf;愤cr;쀀𝒵௡ᖃᖊᖐ\0ᖰᖶᖿ\0\0\0\0ᗆᗛᗫᙟ᙭\0ᚕ᚛ᚲᚹ\0ᚾcute耻á䃡reve;䄃̀;Ediuyᖜᖝᖡᖣᖨᖭ戾;쀀∾̳;房rc耻â䃢te肻´̆;䐰lig耻æ䃦Ā;r²ᖺ;쀀𝔞rave耻à䃠ĀepᗊᗖĀfpᗏᗔsym;愵èᗓha;䎱ĀapᗟcĀclᗤᗧr;䄁g;樿ɤᗰ\0\0ᘊʀ;adsvᗺᗻᗿᘁᘇ戧nd;橕;橜lope;橘;橚΀;elmrszᘘᘙᘛᘞᘿᙏᙙ戠;榤e»ᘙsdĀ;aᘥᘦ戡ѡᘰᘲᘴᘶᘸᘺᘼᘾ;榨;榩;榪;榫;榬;榭;榮;榯tĀ;vᙅᙆ戟bĀ;dᙌᙍ抾;榝Āptᙔᙗh;戢»¹arr;捼Āgpᙣᙧon;䄅f;쀀𝕒΀;Eaeiop዁ᙻᙽᚂᚄᚇᚊ;橰cir;橯;扊d;手s;䀧roxĀ;e዁ᚒñᚃing耻å䃥ƀctyᚡᚦᚨr;쀀𝒶;䀪mpĀ;e዁ᚯñʈilde耻ã䃣ml耻ä䃤Āciᛂᛈoninôɲnt;樑ࠀNabcdefiklnoprsu᛭ᛱᜰ᜼ᝃᝈ᝸᝽០៦ᠹᡐᜍ᤽᥈ᥰot;櫭Ācrᛶ᜞kȀcepsᜀᜅᜍᜓong;扌psilon;䏶rime;怵imĀ;e᜚᜛戽q;拍Ŷᜢᜦee;抽edĀ;gᜬᜭ挅e»ᜭrkĀ;t፜᜷brk;掶Āoyᜁᝁ;䐱quo;怞ʀcmprtᝓ᝛ᝡᝤᝨausĀ;eĊĉptyv;榰séᜌnoõēƀahwᝯ᝱ᝳ;䎲;愶een;扬r;쀀𝔟g΀costuvwឍឝឳេ៕៛៞ƀaiuបពរðݠrc;旯p»፱ƀdptឤឨឭot;樀lus;樁imes;樂ɱឹ\0\0ើcup;樆ar;昅riangleĀdu៍្own;施p;斳plus;樄eåᑄåᒭarow;植ƀako៭ᠦᠵĀcn៲ᠣkƀlst៺֫᠂ozenge;槫riangleȀ;dlr᠒᠓᠘᠝斴own;斾eft;旂ight;斸k;搣Ʊᠫ\0ᠳƲᠯ\0ᠱ;斒;斑4;斓ck;斈ĀeoᠾᡍĀ;qᡃᡆ쀀=⃥uiv;쀀≡⃥t;挐Ȁptwxᡙᡞᡧᡬf;쀀𝕓Ā;tᏋᡣom»Ꮜtie;拈؀DHUVbdhmptuvᢅᢖᢪᢻᣗᣛᣬ᣿ᤅᤊᤐᤡȀLRlrᢎᢐᢒᢔ;敗;敔;敖;敓ʀ;DUduᢡᢢᢤᢦᢨ敐;敦;敩;敤;敧ȀLRlrᢳᢵᢷᢹ;敝;敚;敜;教΀;HLRhlrᣊᣋᣍᣏᣑᣓᣕ救;敬;散;敠;敫;敢;敟ox;槉ȀLRlrᣤᣦᣨᣪ;敕;敒;攐;攌ʀ;DUduڽ᣷᣹᣻᣽;敥;敨;攬;攴inus;抟lus;択imes;抠ȀLRlrᤙᤛᤝ᤟;敛;敘;攘;攔΀;HLRhlrᤰᤱᤳᤵᤷ᤻᤹攂;敪;敡;敞;攼;攤;攜Āevģ᥂bar耻¦䂦Ȁceioᥑᥖᥚᥠr;쀀𝒷mi;恏mĀ;e᜚᜜lƀ;bhᥨᥩᥫ䁜;槅sub;柈Ŭᥴ᥾lĀ;e᥹᥺怢t»᥺pƀ;Eeįᦅᦇ;檮Ā;qۜۛೡᦧ\0᧨ᨑᨕᨲ\0ᨷᩐ\0\0᪴\0\0᫁\0\0ᬡᬮ᭍᭒\0᯽\0ᰌƀcpr᦭ᦲ᧝ute;䄇̀;abcdsᦿᧀᧄ᧊᧕᧙戩nd;橄rcup;橉Āau᧏᧒p;橋p;橇ot;橀;쀀∩︀Āeo᧢᧥t;恁îړȀaeiu᧰᧻ᨁᨅǰ᧵\0᧸s;橍on;䄍dil耻ç䃧rc;䄉psĀ;sᨌᨍ橌m;橐ot;䄋ƀdmnᨛᨠᨦil肻¸ƭptyv;榲t脀¢;eᨭᨮ䂢räƲr;쀀𝔠ƀceiᨽᩀᩍy;䑇ckĀ;mᩇᩈ朓ark»ᩈ;䏇r΀;Ecefms᩟᩠ᩢᩫ᪤᪪᪮旋;槃ƀ;elᩩᩪᩭ䋆q;扗eɡᩴ\0\0᪈rrowĀlr᩼᪁eft;憺ight;憻ʀRSacd᪒᪔᪖᪚᪟»ཇ;擈st;抛irc;抚ash;抝nint;樐id;櫯cir;槂ubsĀ;u᪻᪼晣it»᪼ˬ᫇᫔᫺\0ᬊonĀ;eᫍᫎ䀺Ā;qÇÆɭ᫙\0\0᫢aĀ;t᫞᫟䀬;䁀ƀ;fl᫨᫩᫫戁îᅠeĀmx᫱᫶ent»᫩eóɍǧ᫾\0ᬇĀ;dኻᬂot;橭nôɆƀfryᬐᬔᬗ;쀀𝕔oäɔ脀©;sŕᬝr;愗Āaoᬥᬩrr;憵ss;朗Ācuᬲᬷr;쀀𝒸Ābpᬼ᭄Ā;eᭁᭂ櫏;櫑Ā;eᭉᭊ櫐;櫒dot;拯΀delprvw᭠᭬᭷ᮂᮬᯔ᯹arrĀlr᭨᭪;椸;椵ɰ᭲\0\0᭵r;拞c;拟arrĀ;p᭿ᮀ憶;椽̀;bcdosᮏᮐᮖᮡᮥᮨ截rcap;橈Āauᮛᮞp;橆p;橊ot;抍r;橅;쀀∪︀Ȁalrv᮵ᮿᯞᯣrrĀ;mᮼᮽ憷;椼yƀevwᯇᯔᯘqɰᯎ\0\0ᯒreã᭳uã᭵ee;拎edge;拏en耻¤䂤earrowĀlrᯮ᯳eft»ᮀight»ᮽeäᯝĀciᰁᰇoninôǷnt;戱lcty;挭ঀAHabcdefhijlorstuwz᰸᰻᰿ᱝᱩᱵᲊᲞᲬᲷ᳻᳿ᴍᵻᶑᶫᶻ᷆᷍rò΁ar;楥Ȁglrs᱈ᱍ᱒᱔ger;怠eth;愸òᄳhĀ;vᱚᱛ怐»ऊūᱡᱧarow;椏aã̕Āayᱮᱳron;䄏;䐴ƀ;ao̲ᱼᲄĀgrʿᲁr;懊tseq;橷ƀglmᲑᲔᲘ耻°䂰ta;䎴ptyv;榱ĀirᲣᲨsht;楿;쀀𝔡arĀlrᲳᲵ»ࣜ»သʀaegsv᳂͸᳖᳜᳠mƀ;oș᳊᳔ndĀ;ș᳑uit;晦amma;䏝in;拲ƀ;io᳧᳨᳸䃷de脀÷;o᳧ᳰntimes;拇nø᳷cy;䑒cɯᴆ\0\0ᴊrn;挞op;挍ʀlptuwᴘᴝᴢᵉᵕlar;䀤f;쀀𝕕ʀ;emps̋ᴭᴷᴽᵂqĀ;d͒ᴳot;扑inus;戸lus;戔quare;抡blebarwedgåúnƀadhᄮᵝᵧownarrowóᲃarpoonĀlrᵲᵶefôᲴighôᲶŢᵿᶅkaro÷གɯᶊ\0\0ᶎrn;挟op;挌ƀcotᶘᶣᶦĀryᶝᶡ;쀀𝒹;䑕l;槶rok;䄑Ādrᶰᶴot;拱iĀ;fᶺ᠖斿Āah᷀᷃ròЩaòྦangle;榦Āci᷒ᷕy;䑟grarr;柿ऀDacdefglmnopqrstuxḁḉḙḸոḼṉṡṾấắẽỡἪἷὄ὎὚ĀDoḆᴴoôᲉĀcsḎḔute耻é䃩ter;橮ȀaioyḢḧḱḶron;䄛rĀ;cḭḮ扖耻ê䃪lon;払;䑍ot;䄗ĀDrṁṅot;扒;쀀𝔢ƀ;rsṐṑṗ檚ave耻è䃨Ā;dṜṝ檖ot;檘Ȁ;ilsṪṫṲṴ檙nters;揧;愓Ā;dṹṺ檕ot;檗ƀapsẅẉẗcr;䄓tyƀ;svẒẓẕ戅et»ẓpĀ1;ẝẤĳạả;怄;怅怃ĀgsẪẬ;䅋p;怂ĀgpẴẸon;䄙f;쀀𝕖ƀalsỄỎỒrĀ;sỊị拕l;槣us;橱iƀ;lvỚớở䎵on»ớ;䏵ȀcsuvỪỳἋἣĀioữḱrc»Ḯɩỹ\0\0ỻíՈantĀglἂἆtr»ṝess»Ṻƀaeiἒ἖Ἒls;䀽st;扟vĀ;DȵἠD;橸parsl;槥ĀDaἯἳot;打rr;楱ƀcdiἾὁỸr;愯oô͒ĀahὉὋ;䎷耻ð䃰Āmrὓὗl耻ë䃫o;悬ƀcipὡὤὧl;䀡sôծĀeoὬὴctatioîՙnentialåչৡᾒ\0ᾞ\0ᾡᾧ\0\0ῆῌ\0ΐ\0ῦῪ \0 ⁚llingdotseñṄy;䑄male;晀ƀilrᾭᾳ῁lig;耀ﬃɩᾹ\0\0᾽g;耀ﬀig;耀ﬄ;쀀𝔣lig;耀ﬁlig;쀀fjƀaltῙ῜ῡt;晭ig;耀ﬂns;斱of;䆒ǰ΅\0ῳf;쀀𝕗ĀakֿῷĀ;vῼ´拔;櫙artint;樍Āao‌⁕Ācs‑⁒α‚‰‸⁅⁈\0⁐β•‥‧‪‬\0‮耻½䂽;慓耻¼䂼;慕;慙;慛Ƴ‴\0‶;慔;慖ʴ‾⁁\0\0⁃耻¾䂾;慗;慜5;慘ƶ⁌\0⁎;慚;慝8;慞l;恄wn;挢cr;쀀𝒻ࢀEabcdefgijlnorstv₂₉₟₥₰₴⃰⃵⃺⃿℃ℒℸ̗ℾ⅒↞Ā;lٍ₇;檌ƀcmpₐₕ₝ute;䇵maĀ;dₜ᳚䎳;檆reve;䄟Āiy₪₮rc;䄝;䐳ot;䄡Ȁ;lqsؾق₽⃉ƀ;qsؾٌ⃄lanô٥Ȁ;cdl٥⃒⃥⃕c;檩otĀ;o⃜⃝檀Ā;l⃢⃣檂;檄Ā;e⃪⃭쀀⋛︀s;檔r;쀀𝔤Ā;gٳ؛mel;愷cy;䑓Ȁ;Eajٚℌℎℐ;檒;檥;檤ȀEaesℛℝ℩ℴ;扩pĀ;p℣ℤ檊rox»ℤĀ;q℮ℯ檈Ā;q℮ℛim;拧pf;쀀𝕘Āci⅃ⅆr;愊mƀ;el٫ⅎ⅐;檎;檐茀>;cdlqr׮ⅠⅪⅮⅳⅹĀciⅥⅧ;檧r;橺ot;拗Par;榕uest;橼ʀadelsↄⅪ←ٖ↛ǰ↉\0↎proø₞r;楸qĀlqؿ↖lesó₈ií٫Āen↣↭rtneqq;쀀≩︀Å↪ԀAabcefkosy⇄⇇⇱⇵⇺∘∝∯≨≽ròΠȀilmr⇐⇔⇗⇛rsðᒄf»․ilôکĀdr⇠⇤cy;䑊ƀ;cwࣴ⇫⇯ir;楈;憭ar;意irc;䄥ƀalr∁∎∓rtsĀ;u∉∊晥it»∊lip;怦con;抹r;쀀𝔥sĀew∣∩arow;椥arow;椦ʀamopr∺∾≃≞≣rr;懿tht;戻kĀlr≉≓eftarrow;憩ightarrow;憪f;쀀𝕙bar;怕ƀclt≯≴≸r;쀀𝒽asè⇴rok;䄧Ābp⊂⊇ull;恃hen»ᱛૡ⊣\0⊪\0⊸⋅⋎\0⋕⋳\0\0⋸⌢⍧⍢⍿\0⎆⎪⎴cute耻í䃭ƀ;iyݱ⊰⊵rc耻î䃮;䐸Ācx⊼⊿y;䐵cl耻¡䂡ĀfrΟ⋉;쀀𝔦rave耻ì䃬Ȁ;inoܾ⋝⋩⋮Āin⋢⋦nt;樌t;戭fin;槜ta;愩lig;䄳ƀaop⋾⌚⌝ƀcgt⌅⌈⌗r;䄫ƀelpܟ⌏⌓inåގarôܠh;䄱f;抷ed;䆵ʀ;cfotӴ⌬⌱⌽⍁are;愅inĀ;t⌸⌹戞ie;槝doô⌙ʀ;celpݗ⍌⍐⍛⍡al;抺Āgr⍕⍙eróᕣã⍍arhk;樗rod;樼Ȁcgpt⍯⍲⍶⍻y;䑑on;䄯f;쀀𝕚a;䎹uest耻¿䂿Āci⎊⎏r;쀀𝒾nʀ;EdsvӴ⎛⎝⎡ӳ;拹ot;拵Ā;v⎦⎧拴;拳Ā;iݷ⎮lde;䄩ǫ⎸\0⎼cy;䑖l耻ï䃯̀cfmosu⏌⏗⏜⏡⏧⏵Āiy⏑⏕rc;䄵;䐹r;쀀𝔧ath;䈷pf;쀀𝕛ǣ⏬\0⏱r;쀀𝒿rcy;䑘kcy;䑔Ѐacfghjos␋␖␢␧␭␱␵␻ppaĀ;v␓␔䎺;䏰Āey␛␠dil;䄷;䐺r;쀀𝔨reen;䄸cy;䑅cy;䑜pf;쀀𝕜cr;쀀𝓀஀ABEHabcdefghjlmnoprstuv⑰⒁⒆⒍⒑┎┽╚▀♎♞♥♹♽⚚⚲⛘❝❨➋⟀⠁⠒ƀart⑷⑺⑼rò৆òΕail;椛arr;椎Ā;gঔ⒋;檋ar;楢ॣ⒥\0⒪\0⒱\0\0\0\0\0⒵Ⓔ\0ⓆⓈⓍ\0⓹ute;䄺mptyv;榴raîࡌbda;䎻gƀ;dlࢎⓁⓃ;榑åࢎ;檅uo耻«䂫rЀ;bfhlpst࢙ⓞⓦⓩ⓫⓮⓱⓵Ā;f࢝ⓣs;椟s;椝ë≒p;憫l;椹im;楳l;憢ƀ;ae⓿─┄檫il;椙Ā;s┉┊檭;쀀⪭︀ƀabr┕┙┝rr;椌rk;杲Āak┢┬cĀek┨┪;䁻;䁛Āes┱┳;榋lĀdu┹┻;榏;榍Ȁaeuy╆╋╖╘ron;䄾Ādi═╔il;䄼ìࢰâ┩;䐻Ȁcqrs╣╦╭╽a;椶uoĀ;rนᝆĀdu╲╷har;楧shar;楋h;憲ʀ;fgqs▋▌উ◳◿扤tʀahlrt▘▤▷◂◨rrowĀ;t࢙□aé⓶arpoonĀdu▯▴own»њp»०eftarrows;懇ightƀahs◍◖◞rrowĀ;sࣴࢧarpoonó྘quigarro÷⇰hreetimes;拋ƀ;qs▋ও◺lanôবʀ;cdgsব☊☍☝☨c;檨otĀ;o☔☕橿Ā;r☚☛檁;檃Ā;e☢☥쀀⋚︀s;檓ʀadegs☳☹☽♉♋pproøⓆot;拖qĀgq♃♅ôউgtò⒌ôছiíলƀilr♕࣡♚sht;楼;쀀𝔩Ā;Eজ♣;檑š♩♶rĀdu▲♮Ā;l॥♳;楪lk;斄cy;䑙ʀ;achtੈ⚈⚋⚑⚖rò◁orneòᴈard;楫ri;旺Āio⚟⚤dot;䅀ustĀ;a⚬⚭掰che»⚭ȀEaes⚻⚽⛉⛔;扨pĀ;p⛃⛄檉rox»⛄Ā;q⛎⛏檇Ā;q⛎⚻im;拦Ѐabnoptwz⛩⛴⛷✚✯❁❇❐Ānr⛮⛱g;柬r;懽rëࣁgƀlmr⛿✍✔eftĀar০✇ightá৲apsto;柼ightá৽parrowĀlr✥✩efô⓭ight;憬ƀafl✶✹✽r;榅;쀀𝕝us;樭imes;樴š❋❏st;戗áፎƀ;ef❗❘᠀旊nge»❘arĀ;l❤❥䀨t;榓ʀachmt❳❶❼➅➇ròࢨorneòᶌarĀ;d྘➃;業;怎ri;抿̀achiqt➘➝ੀ➢➮➻quo;怹r;쀀𝓁mƀ;egল➪➬;檍;檏Ābu┪➳oĀ;rฟ➹;怚rok;䅂萀<;cdhilqrࠫ⟒☹⟜⟠⟥⟪⟰Āci⟗⟙;檦r;橹reå◲mes;拉arr;楶uest;橻ĀPi⟵⟹ar;榖ƀ;ef⠀भ᠛旃rĀdu⠇⠍shar;楊har;楦Āen⠗⠡rtneqq;쀀≨︀Å⠞܀Dacdefhilnopsu⡀⡅⢂⢎⢓⢠⢥⢨⣚⣢⣤ઃ⣳⤂Dot;戺Ȁclpr⡎⡒⡣⡽r耻¯䂯Āet⡗⡙;時Ā;e⡞⡟朠se»⡟Ā;sျ⡨toȀ;dluျ⡳⡷⡻owîҌefôएðᏑker;斮Āoy⢇⢌mma;権;䐼ash;怔asuredangle»ᘦr;쀀𝔪o;愧ƀcdn⢯⢴⣉ro耻µ䂵Ȁ;acdᑤ⢽⣀⣄sôᚧir;櫰ot肻·Ƶusƀ;bd⣒ᤃ⣓戒Ā;uᴼ⣘;横ţ⣞⣡p;櫛ò−ðઁĀdp⣩⣮els;抧f;쀀𝕞Āct⣸⣽r;쀀𝓂pos»ᖝƀ;lm⤉⤊⤍䎼timap;抸ఀGLRVabcdefghijlmoprstuvw⥂⥓⥾⦉⦘⧚⧩⨕⨚⩘⩝⪃⪕⪤⪨⬄⬇⭄⭿⮮ⰴⱧⱼ⳩Āgt⥇⥋;쀀⋙̸Ā;v⥐௏쀀≫⃒ƀelt⥚⥲⥶ftĀar⥡⥧rrow;懍ightarrow;懎;쀀⋘̸Ā;v⥻ే쀀≪⃒ightarrow;懏ĀDd⦎⦓ash;抯ash;抮ʀbcnpt⦣⦧⦬⦱⧌la»˞ute;䅄g;쀀∠⃒ʀ;Eiop඄⦼⧀⧅⧈;쀀⩰̸d;쀀≋̸s;䅉roø඄urĀ;a⧓⧔普lĀ;s⧓ସǳ⧟\0⧣p肻 ଷmpĀ;e௹ఀʀaeouy⧴⧾⨃⨐⨓ǰ⧹\0⧻;橃on;䅈dil;䅆ngĀ;dൾ⨊ot;쀀⩭̸p;橂;䐽ash;怓΀;Aadqsxஒ⨩⨭⨻⩁⩅⩐rr;懗rĀhr⨳⨶k;椤Ā;oᏲᏰot;쀀≐̸uiöୣĀei⩊⩎ar;椨í஘istĀ;s஠டr;쀀𝔫ȀEest௅⩦⩹⩼ƀ;qs஼⩭௡ƀ;qs஼௅⩴lanô௢ií௪Ā;rஶ⪁»ஷƀAap⪊⪍⪑rò⥱rr;憮ar;櫲ƀ;svྍ⪜ྌĀ;d⪡⪢拼;拺cy;䑚΀AEadest⪷⪺⪾⫂⫅⫶⫹rò⥦;쀀≦̸rr;憚r;急Ȁ;fqs఻⫎⫣⫯tĀar⫔⫙rro÷⫁ightarro÷⪐ƀ;qs఻⪺⫪lanôౕĀ;sౕ⫴»శiíౝĀ;rవ⫾iĀ;eచథiäඐĀpt⬌⬑f;쀀𝕟膀¬;in⬙⬚⬶䂬nȀ;Edvஉ⬤⬨⬮;쀀⋹̸ot;쀀⋵̸ǡஉ⬳⬵;拷;拶iĀ;vಸ⬼ǡಸ⭁⭃;拾;拽ƀaor⭋⭣⭩rȀ;ast୻⭕⭚⭟lleì୻l;쀀⫽⃥;쀀∂̸lint;樔ƀ;ceಒ⭰⭳uåಥĀ;cಘ⭸Ā;eಒ⭽ñಘȀAait⮈⮋⮝⮧rò⦈rrƀ;cw⮔⮕⮙憛;쀀⤳̸;쀀↝̸ghtarrow»⮕riĀ;eೋೖ΀chimpqu⮽⯍⯙⬄୸⯤⯯Ȁ;cerല⯆ഷ⯉uå൅;쀀𝓃ortɭ⬅\0\0⯖ará⭖mĀ;e൮⯟Ā;q൴൳suĀbp⯫⯭å೸åഋƀbcp⯶ⰑⰙȀ;Ees⯿ⰀഢⰄ抄;쀀⫅̸etĀ;eഛⰋqĀ;qണⰀcĀ;eലⰗñസȀ;EesⰢⰣൟⰧ抅;쀀⫆̸etĀ;e൘ⰮqĀ;qൠⰣȀgilrⰽⰿⱅⱇìௗlde耻ñ䃱çృiangleĀlrⱒⱜeftĀ;eచⱚñదightĀ;eೋⱥñ೗Ā;mⱬⱭ䎽ƀ;esⱴⱵⱹ䀣ro;愖p;怇ҀDHadgilrsⲏⲔⲙⲞⲣⲰⲶⳓⳣash;抭arr;椄p;쀀≍⃒ash;抬ĀetⲨⲬ;쀀≥⃒;쀀>⃒nfin;槞ƀAetⲽⳁⳅrr;椂;쀀≤⃒Ā;rⳊⳍ쀀<⃒ie;쀀⊴⃒ĀAtⳘⳜrr;椃rie;쀀⊵⃒im;쀀∼⃒ƀAan⳰⳴ⴂrr;懖rĀhr⳺⳽k;椣Ā;oᏧᏥear;椧ቓ᪕\0\0\0\0\0\0\0\0\0\0\0\0\0ⴭ\0ⴸⵈⵠⵥ⵲ⶄᬇ\0\0ⶍⶫ\0ⷈⷎ\0ⷜ⸙⸫⸾⹃Ācsⴱ᪗ute耻ó䃳ĀiyⴼⵅrĀ;c᪞ⵂ耻ô䃴;䐾ʀabios᪠ⵒⵗǈⵚlac;䅑v;樸old;榼lig;䅓Ācr⵩⵭ir;榿;쀀𝔬ͯ⵹\0\0⵼\0ⶂn;䋛ave耻ò䃲;槁Ābmⶈ෴ar;榵Ȁacitⶕ⶘ⶥⶨrò᪀Āir⶝ⶠr;榾oss;榻nå๒;槀ƀaeiⶱⶵⶹcr;䅍ga;䏉ƀcdnⷀⷅǍron;䎿;榶pf;쀀𝕠ƀaelⷔ⷗ǒr;榷rp;榹΀;adiosvⷪⷫⷮ⸈⸍⸐⸖戨rò᪆Ȁ;efmⷷⷸ⸂⸅橝rĀ;oⷾⷿ愴f»ⷿ耻ª䂪耻º䂺gof;抶r;橖lope;橗;橛ƀclo⸟⸡⸧ò⸁ash耻ø䃸l;折iŬⸯ⸴de耻õ䃵esĀ;aǛ⸺s;樶ml耻ö䃶bar;挽ૡ⹞\0⹽\0⺀⺝\0⺢⺹\0\0⻋ຜ\0⼓\0\0⼫⾼\0⿈rȀ;astЃ⹧⹲຅脀¶;l⹭⹮䂶leìЃɩ⹸\0\0⹻m;櫳;櫽y;䐿rʀcimpt⺋⺏⺓ᡥ⺗nt;䀥od;䀮il;怰enk;怱r;쀀𝔭ƀimo⺨⺰⺴Ā;v⺭⺮䏆;䏕maô੶ne;明ƀ;tv⺿⻀⻈䏀chfork»´;䏖Āau⻏⻟nĀck⻕⻝kĀ;h⇴⻛;愎ö⇴sҀ;abcdemst⻳⻴ᤈ⻹⻽⼄⼆⼊⼎䀫cir;樣ir;樢Āouᵀ⼂;樥;橲n肻±ຝim;樦wo;樧ƀipu⼙⼠⼥ntint;樕f;쀀𝕡nd耻£䂣Ԁ;Eaceinosu່⼿⽁⽄⽇⾁⾉⾒⽾⾶;檳p;檷uå໙Ā;c໎⽌̀;acens່⽙⽟⽦⽨⽾pproø⽃urlyeñ໙ñ໎ƀaes⽯⽶⽺pprox;檹qq;檵im;拨iíໟmeĀ;s⾈ຮ怲ƀEas⽸⾐⽺ð⽵ƀdfp໬⾙⾯ƀals⾠⾥⾪lar;挮ine;挒urf;挓Ā;t໻⾴ï໻rel;抰Āci⿀⿅r;쀀𝓅;䏈ncsp;怈̀fiopsu⿚⋢⿟⿥⿫⿱r;쀀𝔮pf;쀀𝕢rime;恗cr;쀀𝓆ƀaeo⿸〉〓tĀei⿾々rnionóڰnt;樖stĀ;e【】䀿ñἙô༔઀ABHabcdefhilmnoprstux぀けさすムㄎㄫㅇㅢㅲㆎ㈆㈕㈤㈩㉘㉮㉲㊐㊰㊷ƀartぇおがròႳòϝail;検aròᱥar;楤΀cdenqrtとふへみわゔヌĀeuねぱ;쀀∽̱te;䅕iãᅮmptyv;榳gȀ;del࿑らるろ;榒;榥å࿑uo耻»䂻rր;abcfhlpstw࿜ガクシスゼゾダッデナp;極Ā;f࿠ゴs;椠;椳s;椞ë≝ð✮l;楅im;楴l;憣;憝Āaiパフil;椚oĀ;nホボ戶aló༞ƀabrョリヮrò៥rk;杳ĀakンヽcĀekヹ・;䁽;䁝Āes㄂㄄;榌lĀduㄊㄌ;榎;榐Ȁaeuyㄗㄜㄧㄩron;䅙Ādiㄡㄥil;䅗ì࿲âヺ;䑀Ȁclqsㄴㄷㄽㅄa;椷dhar;楩uoĀ;rȎȍh;憳ƀacgㅎㅟངlȀ;ipsླྀㅘㅛႜnåႻarôྩt;断ƀilrㅩဣㅮsht;楽;쀀𝔯ĀaoㅷㆆrĀduㅽㅿ»ѻĀ;l႑ㆄ;楬Ā;vㆋㆌ䏁;䏱ƀgns㆕ㇹㇼht̀ahlrstㆤㆰ㇂㇘㇤㇮rrowĀ;t࿜ㆭaéトarpoonĀduㆻㆿowîㅾp»႒eftĀah㇊㇐rrowó࿪arpoonóՑightarrows;應quigarro÷ニhreetimes;拌g;䋚ingdotseñἲƀahm㈍㈐㈓rò࿪aòՑ;怏oustĀ;a㈞㈟掱che»㈟mid;櫮Ȁabpt㈲㈽㉀㉒Ānr㈷㈺g;柭r;懾rëဃƀafl㉇㉊㉎r;榆;쀀𝕣us;樮imes;樵Āap㉝㉧rĀ;g㉣㉤䀩t;榔olint;樒arò㇣Ȁachq㉻㊀Ⴜ㊅quo;怺r;쀀𝓇Ābu・㊊oĀ;rȔȓƀhir㊗㊛㊠reåㇸmes;拊iȀ;efl㊪ၙᠡ㊫方tri;槎luhar;楨;愞ൡ㋕㋛㋟㌬㌸㍱\0㍺㎤\0\0㏬㏰\0㐨㑈㑚㒭㒱㓊㓱\0㘖\0\0㘳cute;䅛quï➺Ԁ;Eaceinpsyᇭ㋳㋵㋿㌂㌋㌏㌟㌦㌩;檴ǰ㋺\0㋼;檸on;䅡uåᇾĀ;dᇳ㌇il;䅟rc;䅝ƀEas㌖㌘㌛;檶p;檺im;择olint;樓iíሄ;䑁otƀ;be㌴ᵇ㌵担;橦΀Aacmstx㍆㍊㍗㍛㍞㍣㍭rr;懘rĀhr㍐㍒ë∨Ā;oਸ਼਴t耻§䂧i;䀻war;椩mĀin㍩ðnuóñt;朶rĀ;o㍶⁕쀀𝔰Ȁacoy㎂㎆㎑㎠rp;景Āhy㎋㎏cy;䑉;䑈rtɭ㎙\0\0㎜iäᑤaraì⹯耻­䂭Āgm㎨㎴maƀ;fv㎱㎲㎲䏃;䏂Ѐ;deglnprካ㏅㏉㏎㏖㏞㏡㏦ot;橪Ā;q኱ኰĀ;E㏓㏔檞;檠Ā;E㏛㏜檝;檟e;扆lus;樤arr;楲aròᄽȀaeit㏸㐈㐏㐗Āls㏽㐄lsetmé㍪hp;樳parsl;槤Ādlᑣ㐔e;挣Ā;e㐜㐝檪Ā;s㐢㐣檬;쀀⪬︀ƀflp㐮㐳㑂tcy;䑌Ā;b㐸㐹䀯Ā;a㐾㐿槄r;挿f;쀀𝕤aĀdr㑍ЂesĀ;u㑔㑕晠it»㑕ƀcsu㑠㑹㒟Āau㑥㑯pĀ;sᆈ㑫;쀀⊓︀pĀ;sᆴ㑵;쀀⊔︀uĀbp㑿㒏ƀ;esᆗᆜ㒆etĀ;eᆗ㒍ñᆝƀ;esᆨᆭ㒖etĀ;eᆨ㒝ñᆮƀ;afᅻ㒦ְrť㒫ֱ»ᅼaròᅈȀcemt㒹㒾㓂㓅r;쀀𝓈tmîñiì㐕aræᆾĀar㓎㓕rĀ;f㓔ឿ昆Āan㓚㓭ightĀep㓣㓪psiloîỠhé⺯s»⡒ʀbcmnp㓻㕞ሉ㖋㖎Ҁ;Edemnprs㔎㔏㔑㔕㔞㔣㔬㔱㔶抂;櫅ot;檽Ā;dᇚ㔚ot;櫃ult;櫁ĀEe㔨㔪;櫋;把lus;檿arr;楹ƀeiu㔽㕒㕕tƀ;en㔎㕅㕋qĀ;qᇚ㔏eqĀ;q㔫㔨m;櫇Ābp㕚㕜;櫕;櫓c̀;acensᇭ㕬㕲㕹㕻㌦pproø㋺urlyeñᇾñᇳƀaes㖂㖈㌛pproø㌚qñ㌗g;晪ڀ123;Edehlmnps㖩㖬㖯ሜ㖲㖴㗀㗉㗕㗚㗟㗨㗭耻¹䂹耻²䂲耻³䂳;櫆Āos㖹㖼t;檾ub;櫘Ā;dሢ㗅ot;櫄sĀou㗏㗒l;柉b;櫗arr;楻ult;櫂ĀEe㗤㗦;櫌;抋lus;櫀ƀeiu㗴㘉㘌tƀ;enሜ㗼㘂qĀ;qሢ㖲eqĀ;q㗧㗤m;櫈Ābp㘑㘓;櫔;櫖ƀAan㘜㘠㘭rr;懙rĀhr㘦㘨ë∮Ā;oਫ਩war;椪lig耻ß䃟௡㙑㙝㙠ዎ㙳㙹\0㙾㛂\0\0\0\0\0㛛㜃\0㜉㝬\0\0\0㞇ɲ㙖\0\0㙛get;挖;䏄rë๟ƀaey㙦㙫㙰ron;䅥dil;䅣;䑂lrec;挕r;쀀𝔱Ȁeiko㚆㚝㚵㚼ǲ㚋\0㚑eĀ4fኄኁaƀ;sv㚘㚙㚛䎸ym;䏑Ācn㚢㚲kĀas㚨㚮pproø዁im»ኬsðኞĀas㚺㚮ð዁rn耻þ䃾Ǭ̟㛆⋧es膀×;bd㛏㛐㛘䃗Ā;aᤏ㛕r;樱;樰ƀeps㛡㛣㜀á⩍Ȁ;bcf҆㛬㛰㛴ot;挶ir;櫱Ā;o㛹㛼쀀𝕥rk;櫚á㍢rime;怴ƀaip㜏㜒㝤dåቈ΀adempst㜡㝍㝀㝑㝗㝜㝟ngleʀ;dlqr㜰㜱㜶㝀㝂斵own»ᶻeftĀ;e⠀㜾ñम;扜ightĀ;e㊪㝋ñၚot;旬inus;樺lus;樹b;槍ime;樻ezium;揢ƀcht㝲㝽㞁Āry㝷㝻;쀀𝓉;䑆cy;䑛rok;䅧Āio㞋㞎xô᝷headĀlr㞗㞠eftarro÷ࡏightarrow»ཝऀAHabcdfghlmoprstuw㟐㟓㟗㟤㟰㟼㠎㠜㠣㠴㡑㡝㡫㢩㣌㣒㣪㣶ròϭar;楣Ācr㟜㟢ute耻ú䃺òᅐrǣ㟪\0㟭y;䑞ve;䅭Āiy㟵㟺rc耻û䃻;䑃ƀabh㠃㠆㠋ròᎭlac;䅱aòᏃĀir㠓㠘sht;楾;쀀𝔲rave耻ù䃹š㠧㠱rĀlr㠬㠮»ॗ»ႃlk;斀Āct㠹㡍ɯ㠿\0\0㡊rnĀ;e㡅㡆挜r»㡆op;挏ri;旸Āal㡖㡚cr;䅫肻¨͉Āgp㡢㡦on;䅳f;쀀𝕦̀adhlsuᅋ㡸㡽፲㢑㢠ownáᎳarpoonĀlr㢈㢌efô㠭ighô㠯iƀ;hl㢙㢚㢜䏅»ᏺon»㢚parrows;懈ƀcit㢰㣄㣈ɯ㢶\0\0㣁rnĀ;e㢼㢽挝r»㢽op;挎ng;䅯ri;旹cr;쀀𝓊ƀdir㣙㣝㣢ot;拰lde;䅩iĀ;f㜰㣨»᠓Āam㣯㣲rò㢨l耻ü䃼angle;榧ހABDacdeflnoprsz㤜㤟㤩㤭㦵㦸㦽㧟㧤㧨㧳㧹㧽㨁㨠ròϷarĀ;v㤦㤧櫨;櫩asèϡĀnr㤲㤷grt;榜΀eknprst㓣㥆㥋㥒㥝㥤㦖appá␕othinçẖƀhir㓫⻈㥙opô⾵Ā;hᎷ㥢ïㆍĀiu㥩㥭gmá㎳Ābp㥲㦄setneqĀ;q㥽㦀쀀⊊︀;쀀⫋︀setneqĀ;q㦏㦒쀀⊋︀;쀀⫌︀Āhr㦛㦟etá㚜iangleĀlr㦪㦯eft»थight»ၑy;䐲ash»ံƀelr㧄㧒㧗ƀ;beⷪ㧋㧏ar;抻q;扚lip;拮Ābt㧜ᑨaòᑩr;쀀𝔳tré㦮suĀbp㧯㧱»ജ»൙pf;쀀𝕧roð໻tré㦴Ācu㨆㨋r;쀀𝓋Ābp㨐㨘nĀEe㦀㨖»㥾nĀEe㦒㨞»㦐igzag;榚΀cefoprs㨶㨻㩖㩛㩔㩡㩪irc;䅵Ādi㩀㩑Ābg㩅㩉ar;機eĀ;qᗺ㩏;扙erp;愘r;쀀𝔴pf;쀀𝕨Ā;eᑹ㩦atèᑹcr;쀀𝓌ૣណ㪇\0㪋\0㪐㪛\0\0㪝㪨㪫㪯\0\0㫃㫎\0㫘ៜ៟tré៑r;쀀𝔵ĀAa㪔㪗ròσrò৶;䎾ĀAa㪡㪤ròθrò৫að✓is;拻ƀdptឤ㪵㪾Āfl㪺ឩ;쀀𝕩imåឲĀAa㫇㫊ròώròਁĀcq㫒ីr;쀀𝓍Āpt៖㫜ré។Ѐacefiosu㫰㫽㬈㬌㬑㬕㬛㬡cĀuy㫶㫻te耻ý䃽;䑏Āiy㬂㬆rc;䅷;䑋n耻¥䂥r;쀀𝔶cy;䑗pf;쀀𝕪cr;쀀𝓎Ācm㬦㬩y;䑎l耻ÿ䃿Ԁacdefhiosw㭂㭈㭔㭘㭤㭩㭭㭴㭺㮀cute;䅺Āay㭍㭒ron;䅾;䐷ot;䅼Āet㭝㭡træᕟa;䎶r;쀀𝔷cy;䐶grarr;懝pf;쀀𝕫cr;쀀𝓏Ājn㮅㮇;怍j;怌'.split("").map(e=>e.charCodeAt(0))),AR=new Uint16Array("Ȁaglq	\x1Bɭ\0\0p;䀦os;䀧t;䀾t;䀼uot;䀢".split("").map(e=>e.charCodeAt(0)));var xb;const ine=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),aA=(xb=String.fromCodePoint)!==null&&xb!==void 0?xb:function(e){let a="";return e>65535&&(e-=65536,a+=String.fromCharCode(e>>>10&1023|55296),e=56320|e&1023),a+=String.fromCharCode(e),a};function vR(e){var a;return e>=55296&&e<=57343||e>1114111?65533:(a=ine.get(e))!==null&&a!==void 0?a:e}var Yt;(function(e){e[e.NUM=35]="NUM",e[e.SEMI=59]="SEMI",e[e.EQUALS=61]="EQUALS",e[e.ZERO=48]="ZERO",e[e.NINE=57]="NINE",e[e.LOWER_A=97]="LOWER_A",e[e.LOWER_F=102]="LOWER_F",e[e.LOWER_X=120]="LOWER_X",e[e.LOWER_Z=122]="LOWER_Z",e[e.UPPER_A=65]="UPPER_A",e[e.UPPER_F=70]="UPPER_F",e[e.UPPER_Z=90]="UPPER_Z"})(Yt||(Yt={}));const rne=32;var xi;(function(e){e[e.VALUE_LENGTH=49152]="VALUE_LENGTH",e[e.BRANCH_LENGTH=16256]="BRANCH_LENGTH",e[e.JUMP_TABLE=127]="JUMP_TABLE"})(xi||(xi={}));function tA(e){return e>=Yt.ZERO&&e<=Yt.NINE}function sne(e){return e>=Yt.UPPER_A&&e<=Yt.UPPER_F||e>=Yt.LOWER_A&&e<=Yt.LOWER_F}function une(e){return e>=Yt.UPPER_A&&e<=Yt.UPPER_Z||e>=Yt.LOWER_A&&e<=Yt.LOWER_Z||tA(e)}function one(e){return e===Yt.EQUALS||une(e)}var Ht;(function(e){e[e.EntityStart=0]="EntityStart",e[e.NumericStart=1]="NumericStart",e[e.NumericDecimal=2]="NumericDecimal",e[e.NumericHex=3]="NumericHex",e[e.NamedEntity=4]="NamedEntity"})(Ht||(Ht={}));var Io;(function(e){e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict",e[e.Attribute=2]="Attribute"})(Io||(Io={}));class lne{constructor(a,t,n){this.decodeTree=a,this.emitCodePoint=t,this.errors=n,this.state=Ht.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=Io.Strict}startEntity(a){this.decodeMode=a,this.state=Ht.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1}write(a,t){switch(this.state){case Ht.EntityStart:return a.charCodeAt(t)===Yt.NUM?(this.state=Ht.NumericStart,this.consumed+=1,this.stateNumericStart(a,t+1)):(this.state=Ht.NamedEntity,this.stateNamedEntity(a,t));case Ht.NumericStart:return this.stateNumericStart(a,t);case Ht.NumericDecimal:return this.stateNumericDecimal(a,t);case Ht.NumericHex:return this.stateNumericHex(a,t);case Ht.NamedEntity:return this.stateNamedEntity(a,t)}}stateNumericStart(a,t){return t>=a.length?-1:(a.charCodeAt(t)|rne)===Yt.LOWER_X?(this.state=Ht.NumericHex,this.consumed+=1,this.stateNumericHex(a,t+1)):(this.state=Ht.NumericDecimal,this.stateNumericDecimal(a,t))}addToNumericResult(a,t,n,i){if(t!==n){const r=n-t;this.result=this.result*Math.pow(i,r)+parseInt(a.substr(t,r),i),this.consumed+=r}}stateNumericHex(a,t){const n=t;for(;t<a.length;){const i=a.charCodeAt(t);if(tA(i)||sne(i))t+=1;else return this.addToNumericResult(a,n,t,16),this.emitNumericEntity(i,3)}return this.addToNumericResult(a,n,t,16),-1}stateNumericDecimal(a,t){const n=t;for(;t<a.length;){const i=a.charCodeAt(t);if(tA(i))t+=1;else return this.addToNumericResult(a,n,t,10),this.emitNumericEntity(i,2)}return this.addToNumericResult(a,n,t,10),-1}emitNumericEntity(a,t){var n;if(this.consumed<=t)return(n=this.errors)===null||n===void 0||n.absenceOfDigitsInNumericCharacterReference(this.consumed),0;if(a===Yt.SEMI)this.consumed+=1;else if(this.decodeMode===Io.Strict)return 0;return this.emitCodePoint(vR(this.result),this.consumed),this.errors&&(a!==Yt.SEMI&&this.errors.missingSemicolonAfterCharacterReference(),this.errors.validateNumericCharacterReference(this.result)),this.consumed}stateNamedEntity(a,t){const{decodeTree:n}=this;let i=n[this.treeIndex],r=(i&xi.VALUE_LENGTH)>>14;for(;t<a.length;t++,this.excess++){const s=a.charCodeAt(t);if(this.treeIndex=Ov(n,i,this.treeIndex+Math.max(1,r),s),this.treeIndex<0)return this.result===0||this.decodeMode===Io.Attribute&&(r===0||one(s))?0:this.emitNotTerminatedNamedEntity();if(i=n[this.treeIndex],r=(i&xi.VALUE_LENGTH)>>14,r!==0){if(s===Yt.SEMI)return this.emitNamedEntityData(this.treeIndex,r,this.consumed+this.excess);this.decodeMode!==Io.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}return-1}emitNotTerminatedNamedEntity(){var a;const{result:t,decodeTree:n}=this,i=(n[t]&xi.VALUE_LENGTH)>>14;return this.emitNamedEntityData(t,i,this.consumed),(a=this.errors)===null||a===void 0||a.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(a,t,n){const{decodeTree:i}=this;return this.emitCodePoint(t===1?i[a]&~xi.VALUE_LENGTH:i[a+1],n),t===3&&this.emitCodePoint(i[a+2],n),n}end(){var a;switch(this.state){case Ht.NamedEntity:return this.result!==0&&(this.decodeMode!==Io.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case Ht.NumericDecimal:return this.emitNumericEntity(0,2);case Ht.NumericHex:return this.emitNumericEntity(0,3);case Ht.NumericStart:return(a=this.errors)===null||a===void 0||a.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case Ht.EntityStart:return 0}}}function DR(e){let a="";const t=new lne(e,n=>a+=aA(n));return function(i,r){let s=0,u=0;for(;(u=i.indexOf("&",u))>=0;){a+=i.slice(s,u),t.startEntity(r);const l=t.write(i,u+1);if(l<0){s=u+t.end();break}s=u+l,u=l===0?s+1:s}const o=a+i.slice(s);return a="",o}}function Ov(e,a,t,n){const i=(a&xi.BRANCH_LENGTH)>>7,r=a&xi.JUMP_TABLE;if(i===0)return r!==0&&n===r?t:-1;if(r){const o=n-r;return o<0||o>=i?-1:e[t+o]-1}let s=t,u=s+i-1;for(;s<=u;){const o=s+u>>>1,l=e[o];if(l<n)s=o+1;else if(l>n)u=o-1;else return e[o+i]}return-1}DR(Is);DR(AR);const _E=/["&'<>$\x80-\uFFFF]/g,gne=new Map([[34,"&quot;"],[38,"&amp;"],[39,"&apos;"],[60,"&lt;"],[62,"&gt;"]]),dne=String.prototype.codePointAt!=null?(e,a)=>e.codePointAt(a):(e,a)=>(e.charCodeAt(a)&64512)===55296?(e.charCodeAt(a)-55296)*1024+e.charCodeAt(a+1)-56320+65536:e.charCodeAt(a);function xR(e){let a="",t=0,n;for(;(n=_E.exec(e))!==null;){const i=n.index,r=e.charCodeAt(i),s=gne.get(r);s!==void 0?(a+=e.substring(t,i)+s,t=i+1):(a+=`${e.substring(t,i)}&#x${dne(e,i).toString(16)};`,t=_E.lastIndex+=+((r&64512)===55296))}return a+e.substr(t)}function ER(e,a){return function(n){let i,r=0,s="";for(;i=e.exec(n);)r!==i.index&&(s+=n.substring(r,i.index)),s+=a.get(i[0].charCodeAt(0)),r=i.index+1;return s+n.substring(r)}}const kR=ER(/["&\u00A0]/g,new Map([[34,"&quot;"],[38,"&amp;"],[160,"&nbsp;"]])),CR=ER(/[&<>\u00A0]/g,new Map([[38,"&amp;"],[60,"&lt;"],[62,"&gt;"],[160,"&nbsp;"]])),cne=new Map(["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","textPath"].map(e=>[e.toLowerCase(),e])),pne=new Map(["definitionURL","attributeName","attributeType","baseFrequency","baseProfile","calcMode","clipPathUnits","diffuseConstant","edgeMode","filterUnits","glyphRef","gradientTransform","gradientUnits","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","numOctaves","pathLength","patternContentUnits","patternTransform","patternUnits","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","surfaceScale","systemLanguage","tableValues","targetX","targetY","textLength","viewBox","viewTarget","xChannelSelector","yChannelSelector","zoomAndPan"].map(e=>[e.toLowerCase(),e])),fne=new Set(["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"]);function hne(e){return e.replace(/"/g,"&quot;")}function mne(e,a){var t;if(!e)return;const n=((t=a.encodeEntities)!==null&&t!==void 0?t:a.decodeEntities)===!1?hne:a.xmlMode||a.encodeEntities!=="utf8"?xR:kR;return Object.keys(e).map(i=>{var r,s;const u=(r=e[i])!==null&&r!==void 0?r:"";return a.xmlMode==="foreign"&&(i=(s=pne.get(i))!==null&&s!==void 0?s:i),!a.emptyAttrs&&!a.xmlMode&&u===""?i:`${i}="${n(u)}"`}).join(" ")}const IE=new Set(["area","base","basefont","br","col","command","embed","frame","hr","img","input","isindex","keygen","link","meta","param","source","track","wbr"]);function Fy(e,a={}){const t="length"in e?e:[e];let n="";for(let i=0;i<t.length;i++)n+=yne(t[i],a);return n}function yne(e,a){switch(e.type){case Wte:return Fy(e.children,a);case tne:case Xte:return Ane(e);case Qte:return xne(e);case ane:return Dne(e);case Zte:case Jte:case ene:return Sne(e,a);case Yte:return vne(e,a)}}const bne=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignObject","desc","title"]),Tne=new Set(["svg","math"]);function Sne(e,a){var t;a.xmlMode==="foreign"&&(e.name=(t=cne.get(e.name))!==null&&t!==void 0?t:e.name,e.parent&&bne.has(e.parent.name)&&(a={...a,xmlMode:!1})),!a.xmlMode&&Tne.has(e.name)&&(a={...a,xmlMode:"foreign"});let n=`<${e.name}`;const i=mne(e.attribs,a);return i&&(n+=` ${i}`),e.children.length===0&&(a.xmlMode?a.selfClosingTags!==!1:a.selfClosingTags&&IE.has(e.name))?(a.xmlMode||(n+=" "),n+="/>"):(n+=">",e.children.length>0&&(n+=Fy(e.children,a)),(a.xmlMode||!IE.has(e.name))&&(n+=`</${e.name}>`)),n}function Ane(e){return`<${e.data}>`}function vne(e,a){var t;let n=e.data||"";return((t=a.encodeEntities)!==null&&t!==void 0?t:a.decodeEntities)!==!1&&!(!a.xmlMode&&e.parent&&fne.has(e.parent.name))&&(n=a.xmlMode||a.encodeEntities!=="utf8"?xR(n):CR(n)),n}function Dne(e){return`<![CDATA[${e.children[0].data}]]>`}function xne(e){return`<!--${e.data}-->`}function wR(e,a){return Fy(e,a)}function Ene(e,a){return Jt(e)?e.children.map(t=>wR(t,a)).join(""):""}function x2(e){return Array.isArray(e)?e.map(x2).join(""):ra(e)?e.name==="br"?`
`:x2(e.children):Oy(e)?x2(e.children):os(e)?e.data:""}function Fg(e){return Array.isArray(e)?e.map(Fg).join(""):Jt(e)&&!By(e)?Fg(e.children):os(e)?e.data:""}function wh(e){return Array.isArray(e)?e.map(wh).join(""):Jt(e)&&(e.type===Fa.Tag||Oy(e))?wh(e.children):os(e)?e.data:""}function Uy(e){return Jt(e)?e.children:[]}function _R(e){return e.parent||null}function IR(e){const a=_R(e);if(a!=null)return Uy(a);const t=[e];let{prev:n,next:i}=e;for(;n!=null;)t.unshift(n),{prev:n}=n;for(;i!=null;)t.push(i),{next:i}=i;return t}function kne(e,a){var t;return(t=e.attribs)===null||t===void 0?void 0:t[a]}function Cne(e,a){return e.attribs!=null&&Object.prototype.hasOwnProperty.call(e.attribs,a)&&e.attribs[a]!=null}function wne(e){return e.name}function Bv(e){let{next:a}=e;for(;a!==null&&!ra(a);)({next:a}=a);return a}function Fv(e){let{prev:a}=e;for(;a!==null&&!ra(a);)({prev:a}=a);return a}function yl(e){if(e.prev&&(e.prev.next=e.next),e.next&&(e.next.prev=e.prev),e.parent){const a=e.parent.children,t=a.lastIndexOf(e);t>=0&&a.splice(t,1)}e.next=null,e.prev=null,e.parent=null}function _ne(e,a){const t=a.prev=e.prev;t&&(t.next=a);const n=a.next=e.next;n&&(n.prev=a);const i=a.parent=e.parent;if(i){const r=i.children;r[r.lastIndexOf(e)]=a,e.parent=null}}function Ine(e,a){if(yl(a),a.next=null,a.parent=e,e.children.push(a)>1){const t=e.children[e.children.length-2];t.next=a,a.prev=t}else a.prev=null}function Nne(e,a){yl(a);const{parent:t}=e,n=e.next;if(a.next=n,a.prev=e,e.next=a,a.parent=t,n){if(n.prev=a,t){const i=t.children;i.splice(i.lastIndexOf(n),0,a)}}else t&&t.children.push(a)}function Lne(e,a){if(yl(a),a.parent=e,a.prev=null,e.children.unshift(a)!==1){const t=e.children[1];t.prev=a,a.next=t}else a.next=null}function Rne(e,a){yl(a);const{parent:t}=e;if(t){const n=t.children;n.splice(n.indexOf(e),0,a)}e.prev&&(e.prev.next=a),a.parent=t,a.prev=e.prev,a.next=e,e.prev=a}function jy(e,a,t=!0,n=1/0){return Uv(e,Array.isArray(a)?a:[a],t,n)}function Uv(e,a,t,n){const i=[],r=[a],s=[0];for(;;){if(s[0]>=r[0].length){if(s.length===1)return i;r.shift(),s.shift();continue}const u=r[0][s[0]++];if(e(u)&&(i.push(u),--n<=0))return i;t&&Jt(u)&&u.children.length>0&&(s.unshift(0),r.unshift(u.children))}}function Pne(e,a){return a.find(e)}function jv(e,a,t=!0){let n=null;for(let i=0;i<a.length&&!n;i++){const r=a[i];if(ra(r))e(r)?n=r:t&&r.children.length>0&&(n=jv(e,r.children,!0));else continue}return n}function NR(e,a){return a.some(t=>ra(t)&&(e(t)||NR(e,t.children)))}function Mne(e,a){const t=[],n=[a],i=[0];for(;;){if(i[0]>=n[0].length){if(n.length===1)return t;n.shift(),i.shift();continue}const r=n[0][i[0]++];ra(r)&&(e(r)&&t.push(r),r.children.length>0&&(i.unshift(0),n.unshift(r.children)))}}const _h={tag_name(e){return typeof e=="function"?a=>ra(a)&&e(a.name):e==="*"?ra:a=>ra(a)&&a.name===e},tag_type(e){return typeof e=="function"?a=>e(a.type):a=>a.type===e},tag_contains(e){return typeof e=="function"?a=>os(a)&&e(a.data):a=>os(a)&&a.data===e}};function LR(e,a){return typeof a=="function"?t=>ra(t)&&a(t.attribs[e]):t=>ra(t)&&t.attribs[e]===a}function One(e,a){return t=>e(t)||a(t)}function RR(e){const a=Object.keys(e).map(t=>{const n=e[t];return Object.prototype.hasOwnProperty.call(_h,t)?_h[t](n):LR(t,n)});return a.length===0?null:a.reduce(One)}function Bne(e,a){const t=RR(e);return t?t(a):!0}function Fne(e,a,t,n=1/0){const i=RR(e);return i?jy(i,a,t,n):[]}function Une(e,a,t=!0){return Array.isArray(a)||(a=[a]),jv(LR("id",e),a,t)}function md(e,a,t=!0,n=1/0){return jy(_h.tag_name(e),a,t,n)}function jne(e,a,t=!0,n=1/0){return jy(_h.tag_type(e),a,t,n)}function zne(e){let a=e.length;for(;--a>=0;){const t=e[a];if(a>0&&e.lastIndexOf(t,a-1)>=0){e.splice(a,1);continue}for(let n=t.parent;n;n=n.parent)if(e.includes(n)){e.splice(a,1);break}}return e}var Hi;(function(e){e[e.DISCONNECTED=1]="DISCONNECTED",e[e.PRECEDING=2]="PRECEDING",e[e.FOLLOWING=4]="FOLLOWING",e[e.CONTAINS=8]="CONTAINS",e[e.CONTAINED_BY=16]="CONTAINED_BY"})(Hi||(Hi={}));function PR(e,a){const t=[],n=[];if(e===a)return 0;let i=Jt(e)?e:e.parent;for(;i;)t.unshift(i),i=i.parent;for(i=Jt(a)?a:a.parent;i;)n.unshift(i),i=i.parent;const r=Math.min(t.length,n.length);let s=0;for(;s<r&&t[s]===n[s];)s++;if(s===0)return Hi.DISCONNECTED;const u=t[s-1],o=u.children,l=t[s],g=n[s];return o.indexOf(l)>o.indexOf(g)?u===a?Hi.FOLLOWING|Hi.CONTAINED_BY:Hi.FOLLOWING:u===e?Hi.PRECEDING|Hi.CONTAINS:Hi.PRECEDING}function yd(e){return e=e.filter((a,t,n)=>!n.includes(a,t+1)),e.sort((a,t)=>{const n=PR(a,t);return n&Hi.PRECEDING?-1:n&Hi.FOLLOWING?1:0}),e}function $ne(e){const a=Ih(Gne,e);return a?a.name==="feed"?Kne(a):Hne(a):null}function Kne(e){var a;const t=e.children,n={type:"atom",items:md("entry",t).map(s=>{var u;const{children:o}=s,l={media:MR(o)};Qn(l,"id","id",o),Qn(l,"title","title",o);const g=(u=Ih("link",o))===null||u===void 0?void 0:u.attribs.href;g&&(l.link=g);const d=xu("summary",o)||xu("content",o);d&&(l.description=d);const c=xu("updated",o);return c&&(l.pubDate=new Date(c)),l})};Qn(n,"id","id",t),Qn(n,"title","title",t);const i=(a=Ih("link",t))===null||a===void 0?void 0:a.attribs.href;i&&(n.link=i),Qn(n,"description","subtitle",t);const r=xu("updated",t);return r&&(n.updated=new Date(r)),Qn(n,"author","email",t,!0),n}function Hne(e){var a,t;const n=(t=(a=Ih("channel",e.children))===null||a===void 0?void 0:a.children)!==null&&t!==void 0?t:[],i={type:e.name.substr(0,3),id:"",items:md("item",e.children).map(s=>{const{children:u}=s,o={media:MR(u)};Qn(o,"id","guid",u),Qn(o,"title","title",u),Qn(o,"link","link",u),Qn(o,"description","description",u);const l=xu("pubDate",u)||xu("dc:date",u);return l&&(o.pubDate=new Date(l)),o})};Qn(i,"title","title",n),Qn(i,"link","link",n),Qn(i,"description","description",n);const r=xu("lastBuildDate",n);return r&&(i.updated=new Date(r)),Qn(i,"author","managingEditor",n,!0),i}const qne=["url","type","lang"],Vne=["fileSize","bitrate","framerate","samplingrate","channels","duration","height","width"];function MR(e){return md("media:content",e).map(a=>{const{attribs:t}=a,n={medium:t.medium,isDefault:!!t.isDefault};for(const i of qne)t[i]&&(n[i]=t[i]);for(const i of Vne)t[i]&&(n[i]=parseInt(t[i],10));return t.expression&&(n.expression=t.expression),n})}function Ih(e,a){return md(e,a,!0,1)[0]}function xu(e,a,t=!1){return Fg(md(e,a,t,1)).trim()}function Qn(e,a,t,n,i=!1){const r=xu(t,n,i);r&&(e[a]=r)}function Gne(e){return e==="rss"||e==="feed"||e==="rdf:RDF"}const zy=Object.freeze(Object.defineProperty({__proto__:null,get DocumentPosition(){return Hi},append:Nne,appendChild:Ine,compareDocumentPosition:PR,existsOne:NR,filter:jy,find:Uv,findAll:Mne,findOne:jv,findOneChild:Pne,getAttributeValue:kne,getChildren:Uy,getElementById:Une,getElements:Fne,getElementsByTagName:md,getElementsByTagType:jne,getFeed:$ne,getInnerHTML:Ene,getName:wne,getOuterHTML:wR,getParent:_R,getSiblings:IR,getText:x2,hasAttrib:Cne,hasChildren:Jt,innerText:wh,isCDATA:Oy,isComment:By,isDocument:ml,isTag:ra,isText:os,nextElementSibling:Bv,prepend:Rne,prependChild:Lne,prevElementSibling:Fv,removeElement:yl,removeSubsets:zne,replaceElement:_ne,testElement:Bne,textContent:Fg,uniqueSort:yd},Symbol.toStringTag,{value:"Module"}));function OR(e,a,t){return e?e(a??e._root.children,null,void 0,t).toString():""}function Wne(e,a){return typeof e=="object"&&e!=null&&!("length"in e)&&!("type"in e)}function Yne(e,a){const t=Wne(e)?(a=e,void 0):e,n={...Iv,...this===null||this===void 0?void 0:this._options,...JS(a??{})};return OR(this,t,n)}function Xne(e){const a={...this._options,xmlMode:!0};return OR(this,e,a)}function mc(e){const a=e||(this?this.root():[]);let t="";for(let n=0;n<a.length;n++)t+=Fg(a[n]);return t}function Qne(e,a,t=typeof a=="boolean"?a:!1){if(!e||typeof e!="string")return null;typeof a=="boolean"&&(t=a);const n=this.load(e,Iv,!1);return t||n("script").remove(),n.root()[0].children.slice()}function Zne(){return this(this._root)}function BR(e,a){if(a===e)return!1;let t=a;for(;t&&t!==t.parent;)if(t=t.parent,t===e)return!0;return!1}function Jne(e,a){if(!NE(e)||!NE(a))return;let t=e.length;const n=+a.length;for(let i=0;i<n;i++)e[t++]=a[i];return e.length=t,e}function NE(e){if(Array.isArray(e))return!0;if(typeof e!="object"||!Object.prototype.hasOwnProperty.call(e,"length")||typeof e.length!="number"||e.length<0)return!1;for(let a=0;a<e.length;a++)if(!(a in e))return!1;return!0}const eie=Object.freeze(Object.defineProperty({__proto__:null,contains:BR,html:Yne,merge:Jne,parseHTML:Qne,root:Zne,text:mc,xml:Xne},Symbol.toStringTag,{value:"Module"}));function ls(e){return e.cheerio!=null}function aie(e){return e.replace(/[_.-](\w|$)/g,(a,t)=>t.toUpperCase())}function tie(e){return e.replace(/[A-Z]/g,"-$&").toLowerCase()}function bt(e,a){const t=e.length;for(let n=0;n<t;n++)a(e[n],n);return e}function nA(e){const a="length"in e?Array.prototype.map.call(e,n=>Ch(n,!0)):[Ch(e,!0)],t=new Zo(a);return a.forEach(n=>{n.parent=t}),a}var No;(function(e){e[e.LowerA=97]="LowerA",e[e.LowerZ=122]="LowerZ",e[e.UpperA=65]="UpperA",e[e.UpperZ=90]="UpperZ",e[e.Exclamation=33]="Exclamation"})(No||(No={}));function iA(e){const a=e.indexOf("<");if(a<0||a>e.length-3)return!1;const t=e.charCodeAt(a+1);return(t>=No.LowerA&&t<=No.LowerZ||t>=No.UpperA&&t<=No.UpperZ||t===No.Exclamation)&&e.includes(">",a+2)}const bg=Object.prototype.hasOwnProperty,yc=/\s+/,Eb="data-",LE={null:null,true:!0,false:!1},zv=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,nie=/^{[^]*}$|^\[[^]*]$/;function Nh(e,a,t){var n;if(!(!e||!ra(e))){if((n=e.attribs)!==null&&n!==void 0||(e.attribs={}),!a)return e.attribs;if(bg.call(e.attribs,a))return!t&&zv.test(a)?a:e.attribs[a];if(e.name==="option"&&a==="value")return mc(e.children);if(e.name==="input"&&(e.attribs.type==="radio"||e.attribs.type==="checkbox")&&a==="value")return"on"}}function Tg(e,a,t){t===null?FR(e,a):e.attribs[a]=`${t}`}function iie(e,a){if(typeof e=="object"||a!==void 0){if(typeof a=="function"){if(typeof e!="string")throw new Error("Bad combination of arguments.");return bt(this,(t,n)=>{ra(t)&&Tg(t,e,a.call(t,n,t.attribs[e]))})}return bt(this,t=>{ra(t)&&(typeof e=="object"?Object.keys(e).forEach(n=>{const i=e[n];Tg(t,n,i)}):Tg(t,e,a))})}return arguments.length>1?this:Nh(this[0],e,this.options.xmlMode)}function RE(e,a,t){return a in e?e[a]:!t&&zv.test(a)?Nh(e,a,!1)!==void 0:Nh(e,a,t)}function kb(e,a,t,n){a in e?e[a]=t:Tg(e,a,!n&&zv.test(a)?t?"":null:`${t}`)}function rie(e,a){var t;if(typeof e=="string"&&a===void 0){const n=this[0];if(!n||!ra(n))return;switch(e){case"style":{const i=this.css(),r=Object.keys(i);return r.forEach((s,u)=>{i[u]=s}),i.length=r.length,i}case"tagName":case"nodeName":return n.name.toUpperCase();case"href":case"src":{const i=(t=n.attribs)===null||t===void 0?void 0:t[e];return typeof URL<"u"&&(e==="href"&&(n.tagName==="a"||n.name==="link")||e==="src"&&(n.tagName==="img"||n.tagName==="iframe"||n.tagName==="audio"||n.tagName==="video"||n.tagName==="source"))&&i!==void 0&&this.options.baseURI?new URL(i,this.options.baseURI).href:i}case"innerText":return wh(n);case"textContent":return Fg(n);case"outerHTML":return this.clone().wrap("<container />").parent().html();case"innerHTML":return this.html();default:return RE(n,e,this.options.xmlMode)}}if(typeof e=="object"||a!==void 0){if(typeof a=="function"){if(typeof e=="object")throw new Error("Bad combination of arguments.");return bt(this,(n,i)=>{ra(n)&&kb(n,e,a.call(n,i,RE(n,e,this.options.xmlMode)),this.options.xmlMode)})}return bt(this,n=>{ra(n)&&(typeof e=="object"?Object.keys(e).forEach(i=>{const r=e[i];kb(n,i,r,this.options.xmlMode)}):kb(n,e,a,this.options.xmlMode))})}}function PE(e,a,t){var n;const i=e;(n=i.data)!==null&&n!==void 0||(i.data={}),typeof a=="object"?Object.assign(i.data,a):typeof a=="string"&&t!==void 0&&(i.data[a]=t)}function ME(e,a){let t,n,i;a==null?(t=Object.keys(e.attribs).filter(r=>r.startsWith(Eb)),n=t.map(r=>aie(r.slice(Eb.length)))):(t=[Eb+tie(a)],n=[a]);for(let r=0;r<t.length;++r){const s=t[r],u=n[r];if(bg.call(e.attribs,s)&&!bg.call(e.data,u)){if(i=e.attribs[s],bg.call(LE,i))i=LE[i];else if(i===String(Number(i)))i=Number(i);else if(nie.test(i))try{i=JSON.parse(i)}catch{}e.data[u]=i}}return a==null?e.data:i}function sie(e,a){var t;const n=this[0];if(!n||!ra(n))return;const i=n;return(t=i.data)!==null&&t!==void 0||(i.data={}),e?typeof e=="object"||a!==void 0?(bt(this,r=>{ra(r)&&(typeof e=="object"?PE(r,e):PE(r,e,a))}),this):bg.call(i.data,e)?i.data[e]:ME(i,e):ME(i)}function uie(e){const a=arguments.length===0,t=this[0];if(!t||!ra(t))return a?void 0:this;switch(t.name){case"textarea":return this.text(e);case"select":{const n=this.find("option:selected");if(!a){if(this.attr("multiple")==null&&typeof e=="object")return this;this.find("option").removeAttr("selected");const i=typeof e!="object"?[e]:e;for(let r=0;r<i.length;r++)this.find(`option[value="${i[r]}"]`).attr("selected","");return this}return this.attr("multiple")?n.toArray().map(i=>mc(i.children)):n.attr("value")}case"input":case"option":return a?this.attr("value"):this.attr("value",e)}}function FR(e,a){!e.attribs||!bg.call(e.attribs,a)||delete e.attribs[a]}function Lh(e){return e?e.trim().split(yc):[]}function oie(e){const a=Lh(e);for(let t=0;t<a.length;t++)bt(this,n=>{ra(n)&&FR(n,a[t])});return this}function lie(e){return this.toArray().some(a=>{const t=ra(a)&&a.attribs.class;let n=-1;if(t&&e.length)for(;(n=t.indexOf(e,n+1))>-1;){const i=n+e.length;if((n===0||yc.test(t[n-1]))&&(i===t.length||yc.test(t[i])))return!0}return!1})}function UR(e){if(typeof e=="function")return bt(this,(n,i)=>{if(ra(n)){const r=n.attribs.class||"";UR.call([n],e.call(n,i,r))}});if(!e||typeof e!="string")return this;const a=e.split(yc),t=this.length;for(let n=0;n<t;n++){const i=this[n];if(!ra(i))continue;const r=Nh(i,"class",!1);if(!r)Tg(i,"class",a.join(" ").trim());else{let s=` ${r} `;for(let u=0;u<a.length;u++){const o=`${a[u]} `;s.includes(` ${o}`)||(s+=o)}Tg(i,"class",s.trim())}}return this}function jR(e){if(typeof e=="function")return bt(this,(i,r)=>{ra(i)&&jR.call([i],e.call(i,r,i.attribs.class||""))});const a=Lh(e),t=a.length,n=arguments.length===0;return bt(this,i=>{if(ra(i))if(n)i.attribs.class="";else{const r=Lh(i.attribs.class);let s=!1;for(let u=0;u<t;u++){const o=r.indexOf(a[u]);o>=0&&(r.splice(o,1),s=!0,u--)}s&&(i.attribs.class=r.join(" "))}})}function zR(e,a){if(typeof e=="function")return bt(this,(s,u)=>{ra(s)&&zR.call([s],e.call(s,u,s.attribs.class||"",a),a)});if(!e||typeof e!="string")return this;const t=e.split(yc),n=t.length,i=typeof a=="boolean"?a?1:-1:0,r=this.length;for(let s=0;s<r;s++){const u=this[s];if(!ra(u))continue;const o=Lh(u.attribs.class);for(let l=0;l<n;l++){const g=o.indexOf(t[l]);i>=0&&g<0?o.push(t[l]):i<=0&&g>=0&&o.splice(g,1)}u.attribs.class=o.join(" ")}return this}const gie=Object.freeze(Object.defineProperty({__proto__:null,addClass:UR,attr:iie,data:sie,hasClass:lie,prop:rie,removeAttr:oie,removeClass:jR,toggleClass:zR,val:uie},Symbol.toStringTag,{value:"Module"}));var Ze;(function(e){e.Attribute="attribute",e.Pseudo="pseudo",e.PseudoElement="pseudo-element",e.Tag="tag",e.Universal="universal",e.Adjacent="adjacent",e.Child="child",e.Descendant="descendant",e.Parent="parent",e.Sibling="sibling",e.ColumnCombinator="column-combinator"})(Ze||(Ze={}));var Bt;(function(e){e.Any="any",e.Element="element",e.End="end",e.Equals="equals",e.Exists="exists",e.Hyphen="hyphen",e.Not="not",e.Start="start"})(Bt||(Bt={}));const OE=/^[^\\#]?(?:\\(?:[\da-f]{1,6}\s?|.)|[\w\-\u00b0-\uFFFF])+/,die=/\\([\da-f]{1,6}\s?|(\s)|.)/gi,cie=new Map([[126,Bt.Element],[94,Bt.Start],[36,Bt.End],[42,Bt.Any],[33,Bt.Not],[124,Bt.Hyphen]]),pie=new Set(["has","not","matches","is","where","host","host-context"]);function N0(e){switch(e.type){case Ze.Adjacent:case Ze.Child:case Ze.Descendant:case Ze.Parent:case Ze.Sibling:case Ze.ColumnCombinator:return!0;default:return!1}}const fie=new Set(["contains","icontains"]);function hie(e,a,t){const n=parseInt(a,16)-65536;return n!==n||t?a:n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,n&1023|56320)}function Ud(e){return e.replace(die,hie)}function Cb(e){return e===39||e===34}function BE(e){return e===32||e===9||e===10||e===12||e===13}function $y(e){const a=[],t=$R(a,`${e}`,0);if(t<e.length)throw new Error(`Unmatched selector: ${e.slice(t)}`);return a}function $R(e,a,t){let n=[];function i(c){const p=a.slice(t+c).match(OE);if(!p)throw new Error(`Expected name, found ${a.slice(t)}`);const[f]=p;return t+=c+f.length,Ud(f)}function r(c){for(t+=c;t<a.length&&BE(a.charCodeAt(t));)t++}function s(){t+=1;const c=t;let p=1;for(;p>0&&t<a.length;t++)a.charCodeAt(t)===40&&!u(t)?p++:a.charCodeAt(t)===41&&!u(t)&&p--;if(p)throw new Error("Parenthesis not matched");return Ud(a.slice(c,t-1))}function u(c){let p=0;for(;a.charCodeAt(--c)===92;)p++;return(p&1)===1}function o(){if(n.length>0&&N0(n[n.length-1]))throw new Error("Did not expect successive traversals.")}function l(c){if(n.length>0&&n[n.length-1].type===Ze.Descendant){n[n.length-1].type=c;return}o(),n.push({type:c})}function g(c,p){n.push({type:Ze.Attribute,name:c,action:p,value:i(1),namespace:null,ignoreCase:"quirks"})}function d(){if(n.length&&n[n.length-1].type===Ze.Descendant&&n.pop(),n.length===0)throw new Error("Empty sub-selector");e.push(n)}if(r(0),a.length===t)return t;e:for(;t<a.length;){const c=a.charCodeAt(t);switch(c){case 32:case 9:case 10:case 12:case 13:{(n.length===0||n[0].type!==Ze.Descendant)&&(o(),n.push({type:Ze.Descendant})),r(1);break}case 62:{l(Ze.Child),r(1);break}case 60:{l(Ze.Parent),r(1);break}case 126:{l(Ze.Sibling),r(1);break}case 43:{l(Ze.Adjacent),r(1);break}case 46:{g("class",Bt.Element);break}case 35:{g("id",Bt.Equals);break}case 91:{r(1);let p,f=null;a.charCodeAt(t)===124?p=i(1):a.startsWith("*|",t)?(f="*",p=i(2)):(p=i(0),a.charCodeAt(t)===124&&a.charCodeAt(t+1)!==61&&(f=p,p=i(1))),r(0);let h=Bt.Exists;const y=cie.get(a.charCodeAt(t));if(y){if(h=y,a.charCodeAt(t+1)!==61)throw new Error("Expected `=`");r(2)}else a.charCodeAt(t)===61&&(h=Bt.Equals,r(1));let b="",m=null;if(h!=="exists"){if(Cb(a.charCodeAt(t))){const v=a.charCodeAt(t);let D=t+1;for(;D<a.length&&(a.charCodeAt(D)!==v||u(D));)D+=1;if(a.charCodeAt(D)!==v)throw new Error("Attribute value didn't end");b=Ud(a.slice(t+1,D)),t=D+1}else{const v=t;for(;t<a.length&&(!BE(a.charCodeAt(t))&&a.charCodeAt(t)!==93||u(t));)t+=1;b=Ud(a.slice(v,t))}r(0);const A=a.charCodeAt(t)|32;A===115?(m=!1,r(1)):A===105&&(m=!0,r(1))}if(a.charCodeAt(t)!==93)throw new Error("Attribute selector didn't terminate");t+=1;const T={type:Ze.Attribute,name:p,action:h,value:b,namespace:f,ignoreCase:m};n.push(T);break}case 58:{if(a.charCodeAt(t+1)===58){n.push({type:Ze.PseudoElement,name:i(2).toLowerCase(),data:a.charCodeAt(t)===40?s():null});continue}const p=i(1).toLowerCase();let f=null;if(a.charCodeAt(t)===40)if(pie.has(p)){if(Cb(a.charCodeAt(t+1)))throw new Error(`Pseudo-selector ${p} cannot be quoted`);if(f=[],t=$R(f,a,t+1),a.charCodeAt(t)!==41)throw new Error(`Missing closing parenthesis in :${p} (${a})`);t+=1}else{if(f=s(),fie.has(p)){const h=f.charCodeAt(0);h===f.charCodeAt(f.length-1)&&Cb(h)&&(f=f.slice(1,-1))}f=Ud(f)}n.push({type:Ze.Pseudo,name:p,data:f});break}case 44:{d(),n=[],r(1);break}default:{if(a.startsWith("/*",t)){const h=a.indexOf("*/",t+2);if(h<0)throw new Error("Comment was not terminated");t=h+2,n.length===0&&r(0);break}let p=null,f;if(c===42)t+=1,f="*";else if(c===124){if(f="",a.charCodeAt(t+1)===124){l(Ze.ColumnCombinator),r(2);break}}else if(OE.test(a.slice(t)))f=i(0);else break e;a.charCodeAt(t)===124&&a.charCodeAt(t+1)!==124&&(p=f,a.charCodeAt(t+1)===42?(f="*",t+=2):f=i(1)),n.push(f==="*"?{type:Ze.Universal,namespace:p}:{type:Ze.Tag,name:f,namespace:p})}}}return d(),t}var Rh={trueFunc:function(){return!0},falseFunc:function(){return!1}};const ma=an(Rh),KR=new Map([[Ze.Universal,50],[Ze.Tag,30],[Ze.Attribute,1],[Ze.Pseudo,0]]);function $v(e){return!KR.has(e.type)}const mie=new Map([[Bt.Exists,10],[Bt.Equals,8],[Bt.Not,7],[Bt.Start,6],[Bt.End,6],[Bt.Any,5]]);function yie(e){const a=e.map(HR);for(let t=1;t<e.length;t++){const n=a[t];if(!(n<0))for(let i=t-1;i>=0&&n<a[i];i--){const r=e[i+1];e[i+1]=e[i],e[i]=r,a[i+1]=a[i],a[i]=n}}}function HR(e){var a,t;let n=(a=KR.get(e.type))!==null&&a!==void 0?a:-1;return e.type===Ze.Attribute?(n=(t=mie.get(e.action))!==null&&t!==void 0?t:4,e.action===Bt.Equals&&e.name==="id"&&(n=9),e.ignoreCase&&(n>>=1)):e.type===Ze.Pseudo&&(e.data?e.name==="has"||e.name==="contains"?n=0:Array.isArray(e.data)?(n=Math.min(...e.data.map(i=>Math.min(...i.map(HR)))),n<0&&(n=0)):n=2:n=3),n}const bie=/[-[\]{}()*+?.,\\^$|#\s]/g;function FE(e){return e.replace(bie,"\\$&")}const Tie=new Set(["accept","accept-charset","align","alink","axis","bgcolor","charset","checked","clear","codetype","color","compact","declare","defer","dir","direction","disabled","enctype","face","frame","hreflang","http-equiv","lang","language","link","media","method","multiple","nohref","noresize","noshade","nowrap","readonly","rel","rev","rules","scope","scrolling","selected","shape","target","text","type","valign","valuetype","vlink"]);function To(e,a){return typeof e.ignoreCase=="boolean"?e.ignoreCase:e.ignoreCase==="quirks"?!!a.quirksMode:!a.xmlMode&&Tie.has(e.name)}const Sie={equals(e,a,t){const{adapter:n}=t,{name:i}=a;let{value:r}=a;return To(a,t)?(r=r.toLowerCase(),s=>{const u=n.getAttributeValue(s,i);return u!=null&&u.length===r.length&&u.toLowerCase()===r&&e(s)}):s=>n.getAttributeValue(s,i)===r&&e(s)},hyphen(e,a,t){const{adapter:n}=t,{name:i}=a;let{value:r}=a;const s=r.length;return To(a,t)?(r=r.toLowerCase(),function(o){const l=n.getAttributeValue(o,i);return l!=null&&(l.length===s||l.charAt(s)==="-")&&l.substr(0,s).toLowerCase()===r&&e(o)}):function(o){const l=n.getAttributeValue(o,i);return l!=null&&(l.length===s||l.charAt(s)==="-")&&l.substr(0,s)===r&&e(o)}},element(e,a,t){const{adapter:n}=t,{name:i,value:r}=a;if(/\s/.test(r))return ma.falseFunc;const s=new RegExp(`(?:^|\\s)${FE(r)}(?:$|\\s)`,To(a,t)?"i":"");return function(o){const l=n.getAttributeValue(o,i);return l!=null&&l.length>=r.length&&s.test(l)&&e(o)}},exists(e,{name:a},{adapter:t}){return n=>t.hasAttrib(n,a)&&e(n)},start(e,a,t){const{adapter:n}=t,{name:i}=a;let{value:r}=a;const s=r.length;return s===0?ma.falseFunc:To(a,t)?(r=r.toLowerCase(),u=>{const o=n.getAttributeValue(u,i);return o!=null&&o.length>=s&&o.substr(0,s).toLowerCase()===r&&e(u)}):u=>{var o;return!!(!((o=n.getAttributeValue(u,i))===null||o===void 0)&&o.startsWith(r))&&e(u)}},end(e,a,t){const{adapter:n}=t,{name:i}=a;let{value:r}=a;const s=-r.length;return s===0?ma.falseFunc:To(a,t)?(r=r.toLowerCase(),u=>{var o;return((o=n.getAttributeValue(u,i))===null||o===void 0?void 0:o.substr(s).toLowerCase())===r&&e(u)}):u=>{var o;return!!(!((o=n.getAttributeValue(u,i))===null||o===void 0)&&o.endsWith(r))&&e(u)}},any(e,a,t){const{adapter:n}=t,{name:i,value:r}=a;if(r==="")return ma.falseFunc;if(To(a,t)){const s=new RegExp(FE(r),"i");return function(o){const l=n.getAttributeValue(o,i);return l!=null&&l.length>=r.length&&s.test(l)&&e(o)}}return s=>{var u;return!!(!((u=n.getAttributeValue(s,i))===null||u===void 0)&&u.includes(r))&&e(s)}},not(e,a,t){const{adapter:n}=t,{name:i}=a;let{value:r}=a;return r===""?s=>!!n.getAttributeValue(s,i)&&e(s):To(a,t)?(r=r.toLowerCase(),s=>{const u=n.getAttributeValue(s,i);return(u==null||u.length!==r.length||u.toLowerCase()!==r)&&e(s)}):s=>n.getAttributeValue(s,i)!==r&&e(s)}},Aie=new Set([9,10,12,13,32]),UE=48,vie=57;function Die(e){if(e=e.trim().toLowerCase(),e==="even")return[2,0];if(e==="odd")return[2,1];let a=0,t=0,n=r(),i=s();if(a<e.length&&e.charAt(a)==="n"&&(a++,t=n*(i??1),u(),a<e.length?(n=r(),u(),i=s()):n=i=0),i===null||a<e.length)throw new Error(`n-th rule couldn't be parsed ('${e}')`);return[t,n*i];function r(){return e.charAt(a)==="-"?(a++,-1):(e.charAt(a)==="+"&&a++,1)}function s(){const o=a;let l=0;for(;a<e.length&&e.charCodeAt(a)>=UE&&e.charCodeAt(a)<=vie;)l=l*10+(e.charCodeAt(a)-UE),a++;return a===o?null:l}function u(){for(;a<e.length&&Aie.has(e.charCodeAt(a));)a++}}function xie(e){const a=e[0],t=e[1]-1;if(t<0&&a<=0)return ma.falseFunc;if(a===-1)return r=>r<=t;if(a===0)return r=>r===t;if(a===1)return t<0?ma.trueFunc:r=>r>=t;const n=Math.abs(a),i=(t%n+n)%n;return a>1?r=>r>=t&&r%n===i:r=>r<=t&&r%n===i}function uf(e){return xie(Die(e))}function of(e,a){return t=>{const n=a.getParent(t);return n!=null&&a.isTag(n)&&e(t)}}const rA={contains(e,a,{adapter:t}){return function(i){return e(i)&&t.getText(i).includes(a)}},icontains(e,a,{adapter:t}){const n=a.toLowerCase();return function(r){return e(r)&&t.getText(r).toLowerCase().includes(n)}},"nth-child"(e,a,{adapter:t,equals:n}){const i=uf(a);return i===ma.falseFunc?ma.falseFunc:i===ma.trueFunc?of(e,t):function(s){const u=t.getSiblings(s);let o=0;for(let l=0;l<u.length&&!n(s,u[l]);l++)t.isTag(u[l])&&o++;return i(o)&&e(s)}},"nth-last-child"(e,a,{adapter:t,equals:n}){const i=uf(a);return i===ma.falseFunc?ma.falseFunc:i===ma.trueFunc?of(e,t):function(s){const u=t.getSiblings(s);let o=0;for(let l=u.length-1;l>=0&&!n(s,u[l]);l--)t.isTag(u[l])&&o++;return i(o)&&e(s)}},"nth-of-type"(e,a,{adapter:t,equals:n}){const i=uf(a);return i===ma.falseFunc?ma.falseFunc:i===ma.trueFunc?of(e,t):function(s){const u=t.getSiblings(s);let o=0;for(let l=0;l<u.length;l++){const g=u[l];if(n(s,g))break;t.isTag(g)&&t.getName(g)===t.getName(s)&&o++}return i(o)&&e(s)}},"nth-last-of-type"(e,a,{adapter:t,equals:n}){const i=uf(a);return i===ma.falseFunc?ma.falseFunc:i===ma.trueFunc?of(e,t):function(s){const u=t.getSiblings(s);let o=0;for(let l=u.length-1;l>=0;l--){const g=u[l];if(n(s,g))break;t.isTag(g)&&t.getName(g)===t.getName(s)&&o++}return i(o)&&e(s)}},root(e,a,{adapter:t}){return n=>{const i=t.getParent(n);return(i==null||!t.isTag(i))&&e(n)}},scope(e,a,t,n){const{equals:i}=t;return!n||n.length===0?rA.root(e,a,t):n.length===1?r=>i(n[0],r)&&e(r):r=>n.includes(r)&&e(r)},hover:wb("isHovered"),visited:wb("isVisited"),active:wb("isActive")};function wb(e){return function(t,n,{adapter:i}){const r=i[e];return typeof r!="function"?ma.falseFunc:function(u){return r(u)&&t(u)}}}const jE={empty(e,{adapter:a}){return!a.getChildren(e).some(t=>a.isTag(t)||a.getText(t)!=="")},"first-child"(e,{adapter:a,equals:t}){if(a.prevElementSibling)return a.prevElementSibling(e)==null;const n=a.getSiblings(e).find(i=>a.isTag(i));return n!=null&&t(e,n)},"last-child"(e,{adapter:a,equals:t}){const n=a.getSiblings(e);for(let i=n.length-1;i>=0;i--){if(t(e,n[i]))return!0;if(a.isTag(n[i]))break}return!1},"first-of-type"(e,{adapter:a,equals:t}){const n=a.getSiblings(e),i=a.getName(e);for(let r=0;r<n.length;r++){const s=n[r];if(t(e,s))return!0;if(a.isTag(s)&&a.getName(s)===i)break}return!1},"last-of-type"(e,{adapter:a,equals:t}){const n=a.getSiblings(e),i=a.getName(e);for(let r=n.length-1;r>=0;r--){const s=n[r];if(t(e,s))return!0;if(a.isTag(s)&&a.getName(s)===i)break}return!1},"only-of-type"(e,{adapter:a,equals:t}){const n=a.getName(e);return a.getSiblings(e).every(i=>t(e,i)||!a.isTag(i)||a.getName(i)!==n)},"only-child"(e,{adapter:a,equals:t}){return a.getSiblings(e).every(n=>t(e,n)||!a.isTag(n))}};function zE(e,a,t,n){if(t===null){if(e.length>n)throw new Error(`Pseudo-class :${a} requires an argument`)}else if(e.length===n)throw new Error(`Pseudo-class :${a} doesn't have any arguments`)}const Eie={"any-link":":is(a, area, link)[href]",link:":any-link:not(:visited)",disabled:`:is(
        :is(button, input, select, textarea, optgroup, option)[disabled],
        optgroup[disabled] > option,
        fieldset[disabled]:not(fieldset[disabled] legend:first-of-type *)
    )`,enabled:":not(:disabled)",checked:":is(:is(input[type=radio], input[type=checkbox])[checked], option:selected)",required:":is(input, select, textarea)[required]",optional:":is(input, select, textarea):not([required])",selected:"option:is([selected], select:not([multiple]):not(:has(> option[selected])) > :first-of-type)",checkbox:"[type=checkbox]",file:"[type=file]",password:"[type=password]",radio:"[type=radio]",reset:"[type=reset]",image:"[type=image]",submit:"[type=submit]",parent:":not(:empty)",header:":is(h1, h2, h3, h4, h5, h6)",button:":is(button, input[type=button])",input:":is(input, textarea, select, button)",text:"input:is(:not([type!='']), [type=text])"},qR={};function kie(e,a){return e===ma.falseFunc?ma.falseFunc:t=>a.isTag(t)&&e(t)}function VR(e,a){const t=a.getSiblings(e);if(t.length<=1)return[];const n=t.indexOf(e);return n<0||n===t.length-1?[]:t.slice(n+1).filter(a.isTag)}function sA(e){return{xmlMode:!!e.xmlMode,lowerCaseAttributeNames:!!e.lowerCaseAttributeNames,lowerCaseTags:!!e.lowerCaseTags,quirksMode:!!e.quirksMode,cacheResults:!!e.cacheResults,pseudos:e.pseudos,adapter:e.adapter,equals:e.equals}}const _b=(e,a,t,n,i)=>{const r=i(a,sA(t),n);return r===ma.trueFunc?e:r===ma.falseFunc?ma.falseFunc:s=>r(s)&&e(s)},Ib={is:_b,matches:_b,where:_b,not(e,a,t,n,i){const r=i(a,sA(t),n);return r===ma.falseFunc?e:r===ma.trueFunc?ma.falseFunc:s=>!r(s)&&e(s)},has(e,a,t,n,i){const{adapter:r}=t,s=sA(t);s.relativeSelector=!0;const u=a.some(g=>g.some($v))?[qR]:void 0,o=i(a,s,u);if(o===ma.falseFunc)return ma.falseFunc;const l=kie(o,r);if(u&&o!==ma.trueFunc){const{shouldTestNextSiblings:g=!1}=o;return d=>{if(!e(d))return!1;u[0]=d;const c=r.getChildren(d),p=g?[...c,...VR(d,r)]:c;return r.existsOne(l,p)}}return g=>e(g)&&r.existsOne(l,r.getChildren(g))}};function Cie(e,a,t,n,i){var r;const{name:s,data:u}=a;if(Array.isArray(u)){if(!(s in Ib))throw new Error(`Unknown pseudo-class :${s}(${u})`);return Ib[s](e,u,t,n,i)}const o=(r=t.pseudos)===null||r===void 0?void 0:r[s],l=typeof o=="string"?o:Eie[s];if(typeof l=="string"){if(u!=null)throw new Error(`Pseudo ${s} doesn't have any arguments`);const g=$y(l);return Ib.is(e,g,t,n,i)}if(typeof o=="function")return zE(o,s,u,1),g=>o(g,u)&&e(g);if(s in rA)return rA[s](e,u,t,n);if(s in jE){const g=jE[s];return zE(g,s,u,2),d=>g(d,t,u)&&e(d)}throw new Error(`Unknown pseudo-class :${s}`)}function Nb(e,a){const t=a.getParent(e);return t&&a.isTag(t)?t:null}function wie(e,a,t,n,i){const{adapter:r,equals:s}=t;switch(a.type){case Ze.PseudoElement:throw new Error("Pseudo-elements are not supported by css-select");case Ze.ColumnCombinator:throw new Error("Column combinators are not yet supported by css-select");case Ze.Attribute:{if(a.namespace!=null)throw new Error("Namespaced attributes are not yet supported by css-select");return(!t.xmlMode||t.lowerCaseAttributeNames)&&(a.name=a.name.toLowerCase()),Sie[a.action](e,a,t)}case Ze.Pseudo:return Cie(e,a,t,n,i);case Ze.Tag:{if(a.namespace!=null)throw new Error("Namespaced tag names are not yet supported by css-select");let{name:u}=a;return(!t.xmlMode||t.lowerCaseTags)&&(u=u.toLowerCase()),function(l){return r.getName(l)===u&&e(l)}}case Ze.Descendant:{if(t.cacheResults===!1||typeof WeakSet>"u")return function(l){let g=l;for(;g=Nb(g,r);)if(e(g))return!0;return!1};const u=new WeakSet;return function(l){let g=l;for(;g=Nb(g,r);)if(!u.has(g)){if(r.isTag(g)&&e(g))return!0;u.add(g)}return!1}}case"_flexibleDescendant":return function(o){let l=o;do if(e(l))return!0;while(l=Nb(l,r));return!1};case Ze.Parent:return function(o){return r.getChildren(o).some(l=>r.isTag(l)&&e(l))};case Ze.Child:return function(o){const l=r.getParent(o);return l!=null&&r.isTag(l)&&e(l)};case Ze.Sibling:return function(o){const l=r.getSiblings(o);for(let g=0;g<l.length;g++){const d=l[g];if(s(o,d))break;if(r.isTag(d)&&e(d))return!0}return!1};case Ze.Adjacent:return r.prevElementSibling?function(o){const l=r.prevElementSibling(o);return l!=null&&e(l)}:function(o){const l=r.getSiblings(o);let g;for(let d=0;d<l.length;d++){const c=l[d];if(s(o,c))break;r.isTag(c)&&(g=c)}return!!g&&e(g)};case Ze.Universal:{if(a.namespace!=null&&a.namespace!=="*")throw new Error("Namespaced universal selectors are not yet supported by css-select");return e}}}function GR(e){return e.type===Ze.Pseudo&&(e.name==="scope"||Array.isArray(e.data)&&e.data.some(a=>a.some(GR)))}const _ie={type:Ze.Descendant},Iie={type:"_flexibleDescendant"},Nie={type:Ze.Pseudo,name:"scope",data:null};function Lie(e,{adapter:a},t){const n=!!(t!=null&&t.every(i=>{const r=a.isTag(i)&&a.getParent(i);return i===qR||r&&a.isTag(r)}));for(const i of e){if(!(i.length>0&&$v(i[0])&&i[0].type!==Ze.Descendant))if(n&&!i.some(GR))i.unshift(_ie);else continue;i.unshift(Nie)}}function WR(e,a,t){var n;e.forEach(yie),t=(n=a.context)!==null&&n!==void 0?n:t;const i=Array.isArray(t),r=t&&(Array.isArray(t)?t:[t]);if(a.relativeSelector!==!1)Lie(e,a,r);else if(e.some(o=>o.length>0&&$v(o[0])))throw new Error("Relative selectors are not allowed when the `relativeSelector` option is disabled");let s=!1;const u=e.map(o=>{if(o.length>=2){const[l,g]=o;l.type!==Ze.Pseudo||l.name!=="scope"||(i&&g.type===Ze.Descendant?o[1]=Iie:(g.type===Ze.Adjacent||g.type===Ze.Sibling)&&(s=!0))}return Rie(o,a,r)}).reduce(Pie,ma.falseFunc);return u.shouldTestNextSiblings=s,u}function Rie(e,a,t){var n;return e.reduce((i,r)=>i===ma.falseFunc?ma.falseFunc:wie(i,r,a,t,WR),(n=a.rootFunc)!==null&&n!==void 0?n:ma.trueFunc)}function Pie(e,a){return a===ma.falseFunc||e===ma.trueFunc?e:e===ma.falseFunc||a===ma.trueFunc?a:function(n){return e(n)||a(n)}}const YR=(e,a)=>e===a,Mie={adapter:zy,equals:YR};function Oie(e){var a,t,n,i;const r=e??Mie;return(a=r.adapter)!==null&&a!==void 0||(r.adapter=zy),(t=r.equals)!==null&&t!==void 0||(r.equals=(i=(n=r.adapter)===null||n===void 0?void 0:n.equals)!==null&&i!==void 0?i:YR),r}function Bie(e){return function(t,n,i){const r=Oie(n);return e(t,r,i)}}const Kv=Bie(WR);function XR(e,a,t=!1){return t&&(e=Fie(e,a)),Array.isArray(e)?a.removeSubsets(e):a.getChildren(e)}function Fie(e,a){const t=Array.isArray(e)?e.slice(0):[e],n=t.length;for(let i=0;i<n;i++){const r=VR(t[i],a);t.push(...r)}return t}const Uie=new Set(["first","last","eq","gt","nth","lt","even","odd"]);function Ph(e){return e.type!=="pseudo"?!1:Uie.has(e.name)?!0:e.name==="not"&&Array.isArray(e.data)?e.data.some(a=>a.some(Ph)):!1}function jie(e,a,t){const n=a!=null?parseInt(a,10):NaN;switch(e){case"first":return 1;case"nth":case"eq":return isFinite(n)?n>=0?n+1:1/0:0;case"lt":return isFinite(n)?n>=0?Math.min(n,t):1/0:0;case"gt":return isFinite(n)?1/0:0;case"odd":return 2*t;case"even":return 2*t-1;case"last":case"not":return 1/0}}function zie(e){for(;e.parent;)e=e.parent;return e}function Hv(e){const a=[],t=[];for(const n of e)n.some(Ph)?a.push(n):t.push(n);return[t,a]}const $ie={type:Ze.Universal,namespace:null},Kie={type:Ze.Pseudo,name:"scope",data:null};function QR(e,a,t={}){return ZR([e],a,t)}function ZR(e,a,t={}){if(typeof a=="function")return e.some(a);const[n,i]=Hv($y(a));return n.length>0&&e.some(Kv(n,t))||i.some(r=>aP(r,e,t).length>0)}function Hie(e,a,t,n){const i=typeof t=="string"?parseInt(t,10):NaN;switch(e){case"first":case"lt":return a;case"last":return a.length>0?[a[a.length-1]]:a;case"nth":case"eq":return isFinite(i)&&Math.abs(i)<a.length?[i<0?a[a.length+i]:a[i]]:[];case"gt":return isFinite(i)?a.slice(i+1):[];case"even":return a.filter((r,s)=>s%2===0);case"odd":return a.filter((r,s)=>s%2===1);case"not":{const r=new Set(eP(t,a,n));return a.filter(s=>!r.has(s))}}}function JR(e,a,t={}){return eP($y(e),a,t)}function eP(e,a,t){if(a.length===0)return[];const[n,i]=Hv(e);let r;if(n.length){const s=oA(a,n,t);if(i.length===0)return s;s.length&&(r=new Set(s))}for(let s=0;s<i.length&&(r==null?void 0:r.size)!==a.length;s++){const u=i[s];if((r?a.filter(g=>ra(g)&&!r.has(g)):a).length===0)break;const l=aP(u,a,t);if(l.length)if(r)l.forEach(g=>r.add(g));else{if(s===i.length-1)return l;r=new Set(l)}}return typeof r<"u"?r.size===a.length?a:a.filter(s=>r.has(s)):[]}function aP(e,a,t){var n;if(e.some(N0)){const i=(n=t.root)!==null&&n!==void 0?n:zie(a[0]),r={...t,context:a,relativeSelector:!1};return e.push(Kie),Mh(i,e,r,!0,a.length)}return Mh(a,e,t,!1,a.length)}function qie(e,a,t={},n=1/0){if(typeof e=="function")return tP(a,e);const[i,r]=Hv($y(e)),s=r.map(u=>Mh(a,u,t,!0,n));return i.length&&s.push(uA(a,i,t,n)),s.length===0?[]:s.length===1?s[0]:yd(s.reduce((u,o)=>[...u,...o]))}function Mh(e,a,t,n,i){const r=a.findIndex(Ph),s=a.slice(0,r),u=a[r],o=a.length-1===r?i:1/0,l=jie(u.name,u.data,o);if(l===0)return[];const d=(s.length===0&&!Array.isArray(e)?Uy(e).filter(ra):s.length===0?(Array.isArray(e)?e:[e]).filter(ra):n||s.some(N0)?uA(e,[s],t,l):oA(e,[s],t)).slice(0,l);let c=Hie(u.name,d,u.data,t);if(c.length===0||a.length===r+1)return c;const p=a.slice(r+1),f=p.some(N0);if(f){if(N0(p[0])){const{type:h}=p[0];(h===Ze.Sibling||h===Ze.Adjacent)&&(c=XR(c,zy,!0)),p.unshift($ie)}t={...t,relativeSelector:!1,rootFunc:h=>c.includes(h)}}else t.rootFunc&&t.rootFunc!==Rh.trueFunc&&(t={...t,rootFunc:Rh.trueFunc});return p.some(Ph)?Mh(c,p,t,!1,i):f?uA(c,[p],t,i):oA(c,[p],t)}function uA(e,a,t,n){const i=Kv(a,t,e);return tP(e,i,n)}function tP(e,a,t=1/0){const n=XR(e,zy,a.shouldTestNextSiblings);return Uv(i=>ra(i)&&a(i),n,!0,t)}function oA(e,a,t){const n=(Array.isArray(e)?e:[e]).filter(ra);if(n.length===0)return n;const i=Kv(a,t);return i===Rh.trueFunc?n:n.filter(i)}const Vie=/^\s*[~+]/;function Gie(e){var a;if(!e)return this._make([]);const t=this.toArray();if(typeof e!="string"){const r=ls(e)?e.toArray():[e];return this._make(r.filter(s=>t.some(u=>BR(u,s))))}const n=Vie.test(e)?t:this.children().toArray(),i={context:t,root:(a=this._root)===null||a===void 0?void 0:a[0],xmlMode:this.options.xmlMode,lowerCaseTags:this.options.lowerCaseTags,lowerCaseAttributeNames:this.options.lowerCaseAttributeNames,pseudos:this.options.pseudos,quirksMode:this.options.quirksMode};return this._make(qie(e,n,i))}function qv(e){return function(a,...t){return function(n){var i;let r=e(a,this);return n&&(r=Wv(r,n,this.options.xmlMode,(i=this._root)===null||i===void 0?void 0:i[0])),this._make(this.length>1&&r.length>1?t.reduce((s,u)=>u(s),r):r)}}}const mp=qv((e,a)=>{const t=[];for(let n=0;n<a.length;n++){const i=e(a[n]);t.push(i)}return new Array().concat(...t)}),Vv=qv((e,a)=>{const t=[];for(let n=0;n<a.length;n++){const i=e(a[n]);i!==null&&t.push(i)}return t});function Gv(e,...a){let t=null;const n=qv((i,r)=>{const s=[];return bt(r,u=>{for(let o;(o=i(u))&&!(t!=null&&t(o,s.length));u=o)s.push(o)}),s})(e,...a);return function(i,r){t=typeof i=="string"?u=>QR(u,i,this.options):i?yp(i):null;const s=n.call(this,r);return t=null,s}}function bd(e){return Array.from(new Set(e))}const Wie=Vv(({parent:e})=>e&&!ml(e)?e:null,bd),Yie=mp(e=>{const a=[];for(;e.parent&&!ml(e.parent);)a.push(e.parent),e=e.parent;return a},yd,e=>e.reverse()),Xie=Gv(({parent:e})=>e&&!ml(e)?e:null,yd,e=>e.reverse());function Qie(e){var a;const t=[];if(!e)return this._make(t);const n={xmlMode:this.options.xmlMode,root:(a=this._root)===null||a===void 0?void 0:a[0]},i=typeof e=="string"?r=>QR(r,e,n):yp(e);return bt(this,r=>{for(;r&&ra(r);){if(i(r,0)){t.includes(r)||t.push(r);break}r=r.parent}}),this._make(t)}const Zie=Vv(e=>Bv(e)),Jie=mp(e=>{const a=[];for(;e.next;)e=e.next,ra(e)&&a.push(e);return a},bd),ere=Gv(e=>Bv(e),bd),are=Vv(e=>Fv(e)),tre=mp(e=>{const a=[];for(;e.prev;)e=e.prev,ra(e)&&a.push(e);return a},bd),nre=Gv(e=>Fv(e),bd),ire=mp(e=>IR(e).filter(a=>ra(a)&&a!==e),yd),rre=mp(e=>Uy(e).filter(ra),bd);function sre(){const e=this.toArray().reduce((a,t)=>Jt(t)?a.concat(t.children):a,[]);return this._make(e)}function ure(e){let a=0;const t=this.length;for(;a<t&&e.call(this[a],a,this[a])!==!1;)++a;return this}function ore(e){let a=[];for(let t=0;t<this.length;t++){const n=this[t],i=e.call(n,t,n);i!=null&&(a=a.concat(i))}return this._make(a)}function yp(e){return typeof e=="function"?(a,t)=>e.call(a,t,a):ls(e)?a=>Array.prototype.includes.call(e,a):function(a){return e===a}}function lre(e){var a;return this._make(Wv(this.toArray(),e,this.options.xmlMode,(a=this._root)===null||a===void 0?void 0:a[0]))}function Wv(e,a,t,n){return typeof a=="string"?JR(a,e,{xmlMode:t,root:n}):e.filter(yp(a))}function gre(e){const a=this.toArray();return typeof e=="string"?ZR(a.filter(ra),e,this.options):e?a.some(yp(e)):!1}function dre(e){let a=this.toArray();if(typeof e=="string"){const t=new Set(JR(e,a,this.options));a=a.filter(n=>!t.has(n))}else{const t=yp(e);a=a.filter((n,i)=>!t(n,i))}return this._make(a)}function cre(e){return this.filter(typeof e=="string"?`:has(${e})`:(a,t)=>this._make(t).find(e).length>0)}function pre(){return this.length>1?this._make(this[0]):this}function fre(){return this.length>0?this._make(this[this.length-1]):this}function hre(e){var a;return e=+e,e===0&&this.length<=1?this:(e<0&&(e=this.length+e),this._make((a=this[e])!==null&&a!==void 0?a:[]))}function mre(e){return e==null?this.toArray():this[e<0?this.length+e:e]}function yre(){return Array.prototype.slice.call(this)}function bre(e){let a,t;return e==null?(a=this.parent().children(),t=this[0]):typeof e=="string"?(a=this._make(e),t=this[0]):(a=this,t=ls(e)?e[0]:e),Array.prototype.indexOf.call(a,t)}function Tre(e,a){return this._make(Array.prototype.slice.call(this,e,a))}function Sre(){var e;return(e=this.prevObject)!==null&&e!==void 0?e:this._make([])}function Are(e,a){const t=this._make(e,a),n=yd([...this.get(),...t.get()]);return this._make(n)}function vre(e){return this.prevObject?this.add(e?this.prevObject.filter(e):this.prevObject):this}const Dre=Object.freeze(Object.defineProperty({__proto__:null,add:Are,addBack:vre,children:rre,closest:Qie,contents:sre,each:ure,end:Sre,eq:hre,filter:lre,filterArray:Wv,find:Gie,first:pre,get:mre,has:cre,index:bre,is:gre,last:fre,map:ore,next:Zie,nextAll:Jie,nextUntil:ere,not:dre,parent:Wie,parents:Yie,parentsUntil:Xie,prev:are,prevAll:tre,prevUntil:nre,siblings:ire,slice:Tre,toArray:yre},Symbol.toStringTag,{value:"Module"}));function xre(e){return function(t,n,i,r){if(typeof Buffer<"u"&&Buffer.isBuffer(t)&&(t=t.toString()),typeof t=="string")return e(t,n,i,r);const s=t;if(!Array.isArray(s)&&ml(s))return s;const u=new Zo([]);return Jo(s,u),u}}function Jo(e,a){const t=Array.isArray(e)?e:[e];a?a.children=t:a=null;for(let n=0;n<t.length;n++){const i=t[n];i.parent&&i.parent.children!==t&&yl(i),a?(i.prev=t[n-1]||null,i.next=t[n+1]||null):i.prev=i.next=null,i.parent=a}return a}function Ere(e,a){return e==null?[]:ls(e)?a?nA(e.get()):e.get():Array.isArray(e)?e.reduce((t,n)=>t.concat(this._makeDomArray(n,a)),[]):typeof e=="string"?this._parse(e,this.options,!1,null).children:a?nA([e]):[e]}function nP(e){return function(...a){const t=this.length-1;return bt(this,(n,i)=>{if(!Jt(n))return;const r=typeof a[0]=="function"?a[0].call(n,i,this._render(n.children)):a,s=this._makeDomArray(r,i<t);e(s,n.children,n)})}}function oo(e,a,t,n,i){var r,s;const u=[a,t,...n],o=a===0?null:e[a-1],l=a+t>=e.length?null:e[a+t];for(let g=0;g<n.length;++g){const d=n[g],c=d.parent;if(c){const f=c.children.indexOf(d);f>-1&&(c.children.splice(f,1),i===c&&a>f&&u[0]--)}d.parent=i,d.prev&&(d.prev.next=(r=d.next)!==null&&r!==void 0?r:null),d.next&&(d.next.prev=(s=d.prev)!==null&&s!==void 0?s:null),d.prev=g===0?o:n[g-1],d.next=g===n.length-1?l:n[g+1]}return o&&(o.next=n[0]),l&&(l.prev=n[n.length-1]),e.splice(...u)}function kre(e){return(ls(e)?e:this._make(e)).append(this),this}function Cre(e){return(ls(e)?e:this._make(e)).prepend(this),this}const wre=nP((e,a,t)=>{oo(a,a.length,0,e,t)}),_re=nP((e,a,t)=>{oo(a,0,0,e,t)});function iP(e){return function(a){const t=this.length-1,n=this.parents().last();for(let i=0;i<this.length;i++){const r=this[i],s=typeof a=="function"?a.call(r,i,r):typeof a=="string"&&!iA(a)?n.find(a).clone():a,[u]=this._makeDomArray(s,i<t);if(!u||!Jt(u))continue;let o=u,l=0;for(;l<o.children.length;){const g=o.children[l];ra(g)?(o=g,l=0):l++}e(r,o,[u])}return this}}const Ire=iP((e,a,t)=>{const{parent:n}=e;if(!n)return;const i=n.children,r=i.indexOf(e);Jo([e],a),oo(i,r,0,t,n)}),Nre=iP((e,a,t)=>{Jt(e)&&(Jo(e.children,a),Jo(t,e))});function Lre(e){return this.parent(e).not("body").each((a,t)=>{this._make(t).replaceWith(t.children)}),this}function Rre(e){const a=this[0];if(a){const t=this._make(typeof e=="function"?e.call(a,0,a):e).insertBefore(a);let n;for(let r=0;r<t.length;r++)t[r].type==="tag"&&(n=t[r]);let i=0;for(;n&&i<n.children.length;){const r=n.children[i];r.type==="tag"?(n=r,i=0):i++}n&&this._make(n).append(this)}return this}function Pre(...e){const a=this.length-1;return bt(this,(t,n)=>{const{parent:i}=t;if(!Jt(t)||!i)return;const r=i.children,s=r.indexOf(t);if(s<0)return;const u=typeof e[0]=="function"?e[0].call(t,n,this._render(t.children)):e,o=this._makeDomArray(u,n<a);oo(r,s+1,0,o,i)})}function Mre(e){typeof e=="string"&&(e=this._make(e)),this.remove();const a=[];return this._makeDomArray(e).forEach(t=>{const n=this.clone().toArray(),{parent:i}=t;if(!i)return;const r=i.children,s=r.indexOf(t);s<0||(oo(r,s+1,0,n,i),a.push(...n))}),this._make(a)}function Ore(...e){const a=this.length-1;return bt(this,(t,n)=>{const{parent:i}=t;if(!Jt(t)||!i)return;const r=i.children,s=r.indexOf(t);if(s<0)return;const u=typeof e[0]=="function"?e[0].call(t,n,this._render(t.children)):e,o=this._makeDomArray(u,n<a);oo(r,s,0,o,i)})}function Bre(e){const a=this._make(e);this.remove();const t=[];return bt(a,n=>{const i=this.clone().toArray(),{parent:r}=n;if(!r)return;const s=r.children,u=s.indexOf(n);u<0||(oo(s,u,0,i,r),t.push(...i))}),this._make(t)}function Fre(e){const a=e?this.filter(e):this;return bt(a,t=>{yl(t),t.prev=t.next=t.parent=null}),this}function Ure(e){return bt(this,(a,t)=>{const{parent:n}=a;if(!n)return;const i=n.children,r=typeof e=="function"?e.call(a,t,a):e,s=this._makeDomArray(r);Jo(s,null);const u=i.indexOf(a);oo(i,u,1,s,n),s.includes(a)||(a.parent=a.prev=a.next=null)})}function jre(){return bt(this,e=>{Jt(e)&&(e.children.forEach(a=>{a.next=a.prev=a.parent=null}),e.children.length=0)})}function zre(e){if(e===void 0){const a=this[0];return!a||!Jt(a)?null:this._render(a.children)}return bt(this,a=>{if(!Jt(a))return;a.children.forEach(n=>{n.next=n.prev=n.parent=null});const t=ls(e)?e.toArray():this._parse(`${e}`,this.options,!1,a).children;Jo(t,a)})}function $re(){return this._render(this)}function Kre(e){return e===void 0?mc(this):typeof e=="function"?bt(this,(a,t)=>this._make(a).text(e.call(a,t,mc([a])))):bt(this,a=>{if(!Jt(a))return;a.children.forEach(n=>{n.next=n.prev=n.parent=null});const t=new hc(`${e}`);Jo(t,a)})}function Hre(){return this._make(nA(this.get()))}const qre=Object.freeze(Object.defineProperty({__proto__:null,_makeDomArray:Ere,after:Pre,append:wre,appendTo:kre,before:Ore,clone:Hre,empty:jre,html:zre,insertAfter:Mre,insertBefore:Bre,prepend:_re,prependTo:Cre,remove:Fre,replaceWith:Ure,text:Kre,toString:$re,unwrap:Lre,wrap:Ire,wrapAll:Rre,wrapInner:Nre},Symbol.toStringTag,{value:"Module"}));function Vre(e,a){if(e!=null&&a!=null||typeof e=="object"&&!Array.isArray(e))return bt(this,(t,n)=>{ra(t)&&rP(t,e,a,n)});if(this.length!==0)return sP(this[0],e)}function rP(e,a,t,n){if(typeof a=="string"){const i=sP(e),r=typeof t=="function"?t.call(e,n,i[a]):t;r===""?delete i[a]:r!=null&&(i[a]=r),e.attribs.style=Gre(i)}else typeof a=="object"&&Object.keys(a).forEach((i,r)=>{rP(e,i,a[i],r)})}function sP(e,a){if(!e||!ra(e))return;const t=Wre(e.attribs.style);if(typeof a=="string")return t[a];if(Array.isArray(a)){const n={};return a.forEach(i=>{t[i]!=null&&(n[i]=t[i])}),n}return t}function Gre(e){return Object.keys(e).reduce((a,t)=>`${a}${a?" ":""}${t}: ${e[t]};`,"")}function Wre(e){if(e=(e||"").trim(),!e)return{};const a={};let t;for(const n of e.split(";")){const i=n.indexOf(":");if(i<1||i===n.length-1){const r=n.trimEnd();r.length>0&&t!==void 0&&(a[t]+=`;${r}`)}else t=n.slice(0,i).trim(),a[t]=n.slice(i+1).trim()}return a}const Yre=Object.freeze(Object.defineProperty({__proto__:null,css:Vre},Symbol.toStringTag,{value:"Module"})),$E="input,select,textarea,keygen",Xre=/%20/g,KE=/\r?\n/g;function Qre(){return this.serializeArray().map(t=>`${encodeURIComponent(t.name)}=${encodeURIComponent(t.value)}`).join("&").replace(Xre,"+")}function Zre(){return this.map((e,a)=>{const t=this._make(a);return ra(a)&&a.name==="form"?t.find($E).toArray():t.filter($E).toArray()}).filter('[name!=""]:enabled:not(:submit, :button, :image, :reset, :file):matches([checked], :not(:checkbox, :radio))').map((e,a)=>{var t;const n=this._make(a),i=n.attr("name"),r=(t=n.val())!==null&&t!==void 0?t:"";return Array.isArray(r)?r.map(s=>({name:i,value:s.replace(KE,`\r
`)})):{name:i,value:r.replace(KE,`\r
`)}}).toArray()}const Jre=Object.freeze(Object.defineProperty({__proto__:null,serialize:Qre,serializeArray:Zre},Symbol.toStringTag,{value:"Module"}));class bp{constructor(a,t,n){if(this.length=0,this.options=n,this._root=t,a){for(let i=0;i<a.length;i++)this[i]=a[i];this.length=a.length}}}bp.prototype.cheerio="[cheerio object]";bp.prototype.splice=Array.prototype.splice;bp.prototype[Symbol.iterator]=Array.prototype[Symbol.iterator];Object.assign(bp.prototype,gie,Dre,qre,Yre,Jre);function ese(e,a){return function t(n,i,r=!0){if(n==null)throw new Error("cheerio.load() expects a string");const s={...Iv,...JS(i)},u=e(n,s,r,null);class o extends bp{_make(d,c){const p=l(d,c);return p.prevObject=this,p}_parse(d,c,p,f){return e(d,c,p,f)}_render(d){return a(d,this.options)}}function l(g,d,c=u,p){if(g&&ls(g))return g;const f={...s,...JS(p)},h=typeof c=="string"?[e(c,f,!1,null)]:"length"in c?c:[c],y=ls(h)?h:new o(h,null,f);if(y._root=y,!g)return new o(void 0,y,f);const b=typeof g=="string"&&iA(g)?e(g,f,!1,null).children:ase(g)?[g]:Array.isArray(g)?g:void 0,m=new o(b,y,f);if(b)return m;if(typeof g!="string")throw new Error("Unexpected type of selector");let T=g;const A=d?typeof d=="string"?iA(d)?new o([e(d,f,!1,null)],y,f):(T=`${d} ${T}`,y):ls(d)?d:new o(Array.isArray(d)?d:[d],y,f):y;return A?A.find(T):m}return Object.assign(l,eie,{load:t,_root:u,_options:s,fn:o.prototype,prototype:o.prototype}),l}}function ase(e){return!!e.name||e.type==="root"||e.type==="text"||e.type==="comment"}const tse=new Set([65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111]),dt="�";var V;(function(e){e[e.EOF=-1]="EOF",e[e.NULL=0]="NULL",e[e.TABULATION=9]="TABULATION",e[e.CARRIAGE_RETURN=13]="CARRIAGE_RETURN",e[e.LINE_FEED=10]="LINE_FEED",e[e.FORM_FEED=12]="FORM_FEED",e[e.SPACE=32]="SPACE",e[e.EXCLAMATION_MARK=33]="EXCLAMATION_MARK",e[e.QUOTATION_MARK=34]="QUOTATION_MARK",e[e.NUMBER_SIGN=35]="NUMBER_SIGN",e[e.AMPERSAND=38]="AMPERSAND",e[e.APOSTROPHE=39]="APOSTROPHE",e[e.HYPHEN_MINUS=45]="HYPHEN_MINUS",e[e.SOLIDUS=47]="SOLIDUS",e[e.DIGIT_0=48]="DIGIT_0",e[e.DIGIT_9=57]="DIGIT_9",e[e.SEMICOLON=59]="SEMICOLON",e[e.LESS_THAN_SIGN=60]="LESS_THAN_SIGN",e[e.EQUALS_SIGN=61]="EQUALS_SIGN",e[e.GREATER_THAN_SIGN=62]="GREATER_THAN_SIGN",e[e.QUESTION_MARK=63]="QUESTION_MARK",e[e.LATIN_CAPITAL_A=65]="LATIN_CAPITAL_A",e[e.LATIN_CAPITAL_F=70]="LATIN_CAPITAL_F",e[e.LATIN_CAPITAL_X=88]="LATIN_CAPITAL_X",e[e.LATIN_CAPITAL_Z=90]="LATIN_CAPITAL_Z",e[e.RIGHT_SQUARE_BRACKET=93]="RIGHT_SQUARE_BRACKET",e[e.GRAVE_ACCENT=96]="GRAVE_ACCENT",e[e.LATIN_SMALL_A=97]="LATIN_SMALL_A",e[e.LATIN_SMALL_F=102]="LATIN_SMALL_F",e[e.LATIN_SMALL_X=120]="LATIN_SMALL_X",e[e.LATIN_SMALL_Z=122]="LATIN_SMALL_Z",e[e.REPLACEMENT_CHARACTER=65533]="REPLACEMENT_CHARACTER"})(V=V||(V={}));const Gn={DASH_DASH:"--",CDATA_START:"[CDATA[",DOCTYPE:"doctype",SCRIPT:"script",PUBLIC:"public",SYSTEM:"system"};function uP(e){return e>=55296&&e<=57343}function nse(e){return e>=56320&&e<=57343}function ise(e,a){return(e-55296)*1024+9216+a}function oP(e){return e!==32&&e!==10&&e!==13&&e!==9&&e!==12&&e>=1&&e<=31||e>=127&&e<=159}function lP(e){return e>=64976&&e<=65007||tse.has(e)}var fe;(function(e){e.controlCharacterInInputStream="control-character-in-input-stream",e.noncharacterInInputStream="noncharacter-in-input-stream",e.surrogateInInputStream="surrogate-in-input-stream",e.nonVoidHtmlElementStartTagWithTrailingSolidus="non-void-html-element-start-tag-with-trailing-solidus",e.endTagWithAttributes="end-tag-with-attributes",e.endTagWithTrailingSolidus="end-tag-with-trailing-solidus",e.unexpectedSolidusInTag="unexpected-solidus-in-tag",e.unexpectedNullCharacter="unexpected-null-character",e.unexpectedQuestionMarkInsteadOfTagName="unexpected-question-mark-instead-of-tag-name",e.invalidFirstCharacterOfTagName="invalid-first-character-of-tag-name",e.unexpectedEqualsSignBeforeAttributeName="unexpected-equals-sign-before-attribute-name",e.missingEndTagName="missing-end-tag-name",e.unexpectedCharacterInAttributeName="unexpected-character-in-attribute-name",e.unknownNamedCharacterReference="unknown-named-character-reference",e.missingSemicolonAfterCharacterReference="missing-semicolon-after-character-reference",e.unexpectedCharacterAfterDoctypeSystemIdentifier="unexpected-character-after-doctype-system-identifier",e.unexpectedCharacterInUnquotedAttributeValue="unexpected-character-in-unquoted-attribute-value",e.eofBeforeTagName="eof-before-tag-name",e.eofInTag="eof-in-tag",e.missingAttributeValue="missing-attribute-value",e.missingWhitespaceBetweenAttributes="missing-whitespace-between-attributes",e.missingWhitespaceAfterDoctypePublicKeyword="missing-whitespace-after-doctype-public-keyword",e.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers="missing-whitespace-between-doctype-public-and-system-identifiers",e.missingWhitespaceAfterDoctypeSystemKeyword="missing-whitespace-after-doctype-system-keyword",e.missingQuoteBeforeDoctypePublicIdentifier="missing-quote-before-doctype-public-identifier",e.missingQuoteBeforeDoctypeSystemIdentifier="missing-quote-before-doctype-system-identifier",e.missingDoctypePublicIdentifier="missing-doctype-public-identifier",e.missingDoctypeSystemIdentifier="missing-doctype-system-identifier",e.abruptDoctypePublicIdentifier="abrupt-doctype-public-identifier",e.abruptDoctypeSystemIdentifier="abrupt-doctype-system-identifier",e.cdataInHtmlContent="cdata-in-html-content",e.incorrectlyOpenedComment="incorrectly-opened-comment",e.eofInScriptHtmlCommentLikeText="eof-in-script-html-comment-like-text",e.eofInDoctype="eof-in-doctype",e.nestedComment="nested-comment",e.abruptClosingOfEmptyComment="abrupt-closing-of-empty-comment",e.eofInComment="eof-in-comment",e.incorrectlyClosedComment="incorrectly-closed-comment",e.eofInCdata="eof-in-cdata",e.absenceOfDigitsInNumericCharacterReference="absence-of-digits-in-numeric-character-reference",e.nullCharacterReference="null-character-reference",e.surrogateCharacterReference="surrogate-character-reference",e.characterReferenceOutsideUnicodeRange="character-reference-outside-unicode-range",e.controlCharacterReference="control-character-reference",e.noncharacterCharacterReference="noncharacter-character-reference",e.missingWhitespaceBeforeDoctypeName="missing-whitespace-before-doctype-name",e.missingDoctypeName="missing-doctype-name",e.invalidCharacterSequenceAfterDoctypeName="invalid-character-sequence-after-doctype-name",e.duplicateAttribute="duplicate-attribute",e.nonConformingDoctype="non-conforming-doctype",e.missingDoctype="missing-doctype",e.misplacedDoctype="misplaced-doctype",e.endTagWithoutMatchingOpenElement="end-tag-without-matching-open-element",e.closingOfElementWithOpenChildElements="closing-of-element-with-open-child-elements",e.disallowedContentInNoscriptInHead="disallowed-content-in-noscript-in-head",e.openElementsLeftAfterEof="open-elements-left-after-eof",e.abandonedHeadElementChild="abandoned-head-element-child",e.misplacedStartTagForHeadElement="misplaced-start-tag-for-head-element",e.nestedNoscriptInHead="nested-noscript-in-head",e.eofInElementThatCanContainOnlyText="eof-in-element-that-can-contain-only-text"})(fe=fe||(fe={}));const rse=65536;class sse{constructor(a){this.handler=a,this.html="",this.pos=-1,this.lastGapPos=-2,this.gapStack=[],this.skipNextNewLine=!1,this.lastChunkWritten=!1,this.endOfChunkHit=!1,this.bufferWaterline=rse,this.isEol=!1,this.lineStartPos=0,this.droppedBufferSize=0,this.line=1,this.lastErrOffset=-1}get col(){return this.pos-this.lineStartPos+ +(this.lastGapPos!==this.pos)}get offset(){return this.droppedBufferSize+this.pos}getError(a){const{line:t,col:n,offset:i}=this;return{code:a,startLine:t,endLine:t,startCol:n,endCol:n,startOffset:i,endOffset:i}}_err(a){this.handler.onParseError&&this.lastErrOffset!==this.offset&&(this.lastErrOffset=this.offset,this.handler.onParseError(this.getError(a)))}_addGap(){this.gapStack.push(this.lastGapPos),this.lastGapPos=this.pos}_processSurrogate(a){if(this.pos!==this.html.length-1){const t=this.html.charCodeAt(this.pos+1);if(nse(t))return this.pos++,this._addGap(),ise(a,t)}else if(!this.lastChunkWritten)return this.endOfChunkHit=!0,V.EOF;return this._err(fe.surrogateInInputStream),a}willDropParsedChunk(){return this.pos>this.bufferWaterline}dropParsedChunk(){this.willDropParsedChunk()&&(this.html=this.html.substring(this.pos),this.lineStartPos-=this.pos,this.droppedBufferSize+=this.pos,this.pos=0,this.lastGapPos=-2,this.gapStack.length=0)}write(a,t){this.html.length>0?this.html+=a:this.html=a,this.endOfChunkHit=!1,this.lastChunkWritten=t}insertHtmlAtCurrentPos(a){this.html=this.html.substring(0,this.pos+1)+a+this.html.substring(this.pos+1),this.endOfChunkHit=!1}startsWith(a,t){if(this.pos+a.length>this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,!1;if(t)return this.html.startsWith(a,this.pos);for(let n=0;n<a.length;n++)if((this.html.charCodeAt(this.pos+n)|32)!==a.charCodeAt(n))return!1;return!0}peek(a){const t=this.pos+a;if(t>=this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,V.EOF;const n=this.html.charCodeAt(t);return n===V.CARRIAGE_RETURN?V.LINE_FEED:n}advance(){if(this.pos++,this.isEol&&(this.isEol=!1,this.line++,this.lineStartPos=this.pos),this.pos>=this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,V.EOF;let a=this.html.charCodeAt(this.pos);return a===V.CARRIAGE_RETURN?(this.isEol=!0,this.skipNextNewLine=!0,V.LINE_FEED):a===V.LINE_FEED&&(this.isEol=!0,this.skipNextNewLine)?(this.line--,this.skipNextNewLine=!1,this._addGap(),this.advance()):(this.skipNextNewLine=!1,uP(a)&&(a=this._processSurrogate(a)),this.handler.onParseError===null||a>31&&a<127||a===V.LINE_FEED||a===V.CARRIAGE_RETURN||a>159&&a<64976||this._checkForProblematicCharacters(a),a)}_checkForProblematicCharacters(a){oP(a)?this._err(fe.controlCharacterInInputStream):lP(a)&&this._err(fe.noncharacterInInputStream)}retreat(a){for(this.pos-=a;this.pos<this.lastGapPos;)this.lastGapPos=this.gapStack.pop(),this.pos--;this.isEol=!1}}var _a;(function(e){e[e.CHARACTER=0]="CHARACTER",e[e.NULL_CHARACTER=1]="NULL_CHARACTER",e[e.WHITESPACE_CHARACTER=2]="WHITESPACE_CHARACTER",e[e.START_TAG=3]="START_TAG",e[e.END_TAG=4]="END_TAG",e[e.COMMENT=5]="COMMENT",e[e.DOCTYPE=6]="DOCTYPE",e[e.EOF=7]="EOF",e[e.HIBERNATION=8]="HIBERNATION"})(_a=_a||(_a={}));function gP(e,a){for(let t=e.attrs.length-1;t>=0;t--)if(e.attrs[t].name===a)return e.attrs[t].value;return null}var me;(function(e){e.HTML="http://www.w3.org/1999/xhtml",e.MATHML="http://www.w3.org/1998/Math/MathML",e.SVG="http://www.w3.org/2000/svg",e.XLINK="http://www.w3.org/1999/xlink",e.XML="http://www.w3.org/XML/1998/namespace",e.XMLNS="http://www.w3.org/2000/xmlns/"})(me=me||(me={}));var Bu;(function(e){e.TYPE="type",e.ACTION="action",e.ENCODING="encoding",e.PROMPT="prompt",e.NAME="name",e.COLOR="color",e.FACE="face",e.SIZE="size"})(Bu=Bu||(Bu={}));var ei;(function(e){e.NO_QUIRKS="no-quirks",e.QUIRKS="quirks",e.LIMITED_QUIRKS="limited-quirks"})(ei=ei||(ei={}));var ue;(function(e){e.A="a",e.ADDRESS="address",e.ANNOTATION_XML="annotation-xml",e.APPLET="applet",e.AREA="area",e.ARTICLE="article",e.ASIDE="aside",e.B="b",e.BASE="base",e.BASEFONT="basefont",e.BGSOUND="bgsound",e.BIG="big",e.BLOCKQUOTE="blockquote",e.BODY="body",e.BR="br",e.BUTTON="button",e.CAPTION="caption",e.CENTER="center",e.CODE="code",e.COL="col",e.COLGROUP="colgroup",e.DD="dd",e.DESC="desc",e.DETAILS="details",e.DIALOG="dialog",e.DIR="dir",e.DIV="div",e.DL="dl",e.DT="dt",e.EM="em",e.EMBED="embed",e.FIELDSET="fieldset",e.FIGCAPTION="figcaption",e.FIGURE="figure",e.FONT="font",e.FOOTER="footer",e.FOREIGN_OBJECT="foreignObject",e.FORM="form",e.FRAME="frame",e.FRAMESET="frameset",e.H1="h1",e.H2="h2",e.H3="h3",e.H4="h4",e.H5="h5",e.H6="h6",e.HEAD="head",e.HEADER="header",e.HGROUP="hgroup",e.HR="hr",e.HTML="html",e.I="i",e.IMG="img",e.IMAGE="image",e.INPUT="input",e.IFRAME="iframe",e.KEYGEN="keygen",e.LABEL="label",e.LI="li",e.LINK="link",e.LISTING="listing",e.MAIN="main",e.MALIGNMARK="malignmark",e.MARQUEE="marquee",e.MATH="math",e.MENU="menu",e.META="meta",e.MGLYPH="mglyph",e.MI="mi",e.MO="mo",e.MN="mn",e.MS="ms",e.MTEXT="mtext",e.NAV="nav",e.NOBR="nobr",e.NOFRAMES="noframes",e.NOEMBED="noembed",e.NOSCRIPT="noscript",e.OBJECT="object",e.OL="ol",e.OPTGROUP="optgroup",e.OPTION="option",e.P="p",e.PARAM="param",e.PLAINTEXT="plaintext",e.PRE="pre",e.RB="rb",e.RP="rp",e.RT="rt",e.RTC="rtc",e.RUBY="ruby",e.S="s",e.SCRIPT="script",e.SECTION="section",e.SELECT="select",e.SOURCE="source",e.SMALL="small",e.SPAN="span",e.STRIKE="strike",e.STRONG="strong",e.STYLE="style",e.SUB="sub",e.SUMMARY="summary",e.SUP="sup",e.TABLE="table",e.TBODY="tbody",e.TEMPLATE="template",e.TEXTAREA="textarea",e.TFOOT="tfoot",e.TD="td",e.TH="th",e.THEAD="thead",e.TITLE="title",e.TR="tr",e.TRACK="track",e.TT="tt",e.U="u",e.UL="ul",e.SVG="svg",e.VAR="var",e.WBR="wbr",e.XMP="xmp"})(ue=ue||(ue={}));var S;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.A=1]="A",e[e.ADDRESS=2]="ADDRESS",e[e.ANNOTATION_XML=3]="ANNOTATION_XML",e[e.APPLET=4]="APPLET",e[e.AREA=5]="AREA",e[e.ARTICLE=6]="ARTICLE",e[e.ASIDE=7]="ASIDE",e[e.B=8]="B",e[e.BASE=9]="BASE",e[e.BASEFONT=10]="BASEFONT",e[e.BGSOUND=11]="BGSOUND",e[e.BIG=12]="BIG",e[e.BLOCKQUOTE=13]="BLOCKQUOTE",e[e.BODY=14]="BODY",e[e.BR=15]="BR",e[e.BUTTON=16]="BUTTON",e[e.CAPTION=17]="CAPTION",e[e.CENTER=18]="CENTER",e[e.CODE=19]="CODE",e[e.COL=20]="COL",e[e.COLGROUP=21]="COLGROUP",e[e.DD=22]="DD",e[e.DESC=23]="DESC",e[e.DETAILS=24]="DETAILS",e[e.DIALOG=25]="DIALOG",e[e.DIR=26]="DIR",e[e.DIV=27]="DIV",e[e.DL=28]="DL",e[e.DT=29]="DT",e[e.EM=30]="EM",e[e.EMBED=31]="EMBED",e[e.FIELDSET=32]="FIELDSET",e[e.FIGCAPTION=33]="FIGCAPTION",e[e.FIGURE=34]="FIGURE",e[e.FONT=35]="FONT",e[e.FOOTER=36]="FOOTER",e[e.FOREIGN_OBJECT=37]="FOREIGN_OBJECT",e[e.FORM=38]="FORM",e[e.FRAME=39]="FRAME",e[e.FRAMESET=40]="FRAMESET",e[e.H1=41]="H1",e[e.H2=42]="H2",e[e.H3=43]="H3",e[e.H4=44]="H4",e[e.H5=45]="H5",e[e.H6=46]="H6",e[e.HEAD=47]="HEAD",e[e.HEADER=48]="HEADER",e[e.HGROUP=49]="HGROUP",e[e.HR=50]="HR",e[e.HTML=51]="HTML",e[e.I=52]="I",e[e.IMG=53]="IMG",e[e.IMAGE=54]="IMAGE",e[e.INPUT=55]="INPUT",e[e.IFRAME=56]="IFRAME",e[e.KEYGEN=57]="KEYGEN",e[e.LABEL=58]="LABEL",e[e.LI=59]="LI",e[e.LINK=60]="LINK",e[e.LISTING=61]="LISTING",e[e.MAIN=62]="MAIN",e[e.MALIGNMARK=63]="MALIGNMARK",e[e.MARQUEE=64]="MARQUEE",e[e.MATH=65]="MATH",e[e.MENU=66]="MENU",e[e.META=67]="META",e[e.MGLYPH=68]="MGLYPH",e[e.MI=69]="MI",e[e.MO=70]="MO",e[e.MN=71]="MN",e[e.MS=72]="MS",e[e.MTEXT=73]="MTEXT",e[e.NAV=74]="NAV",e[e.NOBR=75]="NOBR",e[e.NOFRAMES=76]="NOFRAMES",e[e.NOEMBED=77]="NOEMBED",e[e.NOSCRIPT=78]="NOSCRIPT",e[e.OBJECT=79]="OBJECT",e[e.OL=80]="OL",e[e.OPTGROUP=81]="OPTGROUP",e[e.OPTION=82]="OPTION",e[e.P=83]="P",e[e.PARAM=84]="PARAM",e[e.PLAINTEXT=85]="PLAINTEXT",e[e.PRE=86]="PRE",e[e.RB=87]="RB",e[e.RP=88]="RP",e[e.RT=89]="RT",e[e.RTC=90]="RTC",e[e.RUBY=91]="RUBY",e[e.S=92]="S",e[e.SCRIPT=93]="SCRIPT",e[e.SECTION=94]="SECTION",e[e.SELECT=95]="SELECT",e[e.SOURCE=96]="SOURCE",e[e.SMALL=97]="SMALL",e[e.SPAN=98]="SPAN",e[e.STRIKE=99]="STRIKE",e[e.STRONG=100]="STRONG",e[e.STYLE=101]="STYLE",e[e.SUB=102]="SUB",e[e.SUMMARY=103]="SUMMARY",e[e.SUP=104]="SUP",e[e.TABLE=105]="TABLE",e[e.TBODY=106]="TBODY",e[e.TEMPLATE=107]="TEMPLATE",e[e.TEXTAREA=108]="TEXTAREA",e[e.TFOOT=109]="TFOOT",e[e.TD=110]="TD",e[e.TH=111]="TH",e[e.THEAD=112]="THEAD",e[e.TITLE=113]="TITLE",e[e.TR=114]="TR",e[e.TRACK=115]="TRACK",e[e.TT=116]="TT",e[e.U=117]="U",e[e.UL=118]="UL",e[e.SVG=119]="SVG",e[e.VAR=120]="VAR",e[e.WBR=121]="WBR",e[e.XMP=122]="XMP"})(S=S||(S={}));const use=new Map([[ue.A,S.A],[ue.ADDRESS,S.ADDRESS],[ue.ANNOTATION_XML,S.ANNOTATION_XML],[ue.APPLET,S.APPLET],[ue.AREA,S.AREA],[ue.ARTICLE,S.ARTICLE],[ue.ASIDE,S.ASIDE],[ue.B,S.B],[ue.BASE,S.BASE],[ue.BASEFONT,S.BASEFONT],[ue.BGSOUND,S.BGSOUND],[ue.BIG,S.BIG],[ue.BLOCKQUOTE,S.BLOCKQUOTE],[ue.BODY,S.BODY],[ue.BR,S.BR],[ue.BUTTON,S.BUTTON],[ue.CAPTION,S.CAPTION],[ue.CENTER,S.CENTER],[ue.CODE,S.CODE],[ue.COL,S.COL],[ue.COLGROUP,S.COLGROUP],[ue.DD,S.DD],[ue.DESC,S.DESC],[ue.DETAILS,S.DETAILS],[ue.DIALOG,S.DIALOG],[ue.DIR,S.DIR],[ue.DIV,S.DIV],[ue.DL,S.DL],[ue.DT,S.DT],[ue.EM,S.EM],[ue.EMBED,S.EMBED],[ue.FIELDSET,S.FIELDSET],[ue.FIGCAPTION,S.FIGCAPTION],[ue.FIGURE,S.FIGURE],[ue.FONT,S.FONT],[ue.FOOTER,S.FOOTER],[ue.FOREIGN_OBJECT,S.FOREIGN_OBJECT],[ue.FORM,S.FORM],[ue.FRAME,S.FRAME],[ue.FRAMESET,S.FRAMESET],[ue.H1,S.H1],[ue.H2,S.H2],[ue.H3,S.H3],[ue.H4,S.H4],[ue.H5,S.H5],[ue.H6,S.H6],[ue.HEAD,S.HEAD],[ue.HEADER,S.HEADER],[ue.HGROUP,S.HGROUP],[ue.HR,S.HR],[ue.HTML,S.HTML],[ue.I,S.I],[ue.IMG,S.IMG],[ue.IMAGE,S.IMAGE],[ue.INPUT,S.INPUT],[ue.IFRAME,S.IFRAME],[ue.KEYGEN,S.KEYGEN],[ue.LABEL,S.LABEL],[ue.LI,S.LI],[ue.LINK,S.LINK],[ue.LISTING,S.LISTING],[ue.MAIN,S.MAIN],[ue.MALIGNMARK,S.MALIGNMARK],[ue.MARQUEE,S.MARQUEE],[ue.MATH,S.MATH],[ue.MENU,S.MENU],[ue.META,S.META],[ue.MGLYPH,S.MGLYPH],[ue.MI,S.MI],[ue.MO,S.MO],[ue.MN,S.MN],[ue.MS,S.MS],[ue.MTEXT,S.MTEXT],[ue.NAV,S.NAV],[ue.NOBR,S.NOBR],[ue.NOFRAMES,S.NOFRAMES],[ue.NOEMBED,S.NOEMBED],[ue.NOSCRIPT,S.NOSCRIPT],[ue.OBJECT,S.OBJECT],[ue.OL,S.OL],[ue.OPTGROUP,S.OPTGROUP],[ue.OPTION,S.OPTION],[ue.P,S.P],[ue.PARAM,S.PARAM],[ue.PLAINTEXT,S.PLAINTEXT],[ue.PRE,S.PRE],[ue.RB,S.RB],[ue.RP,S.RP],[ue.RT,S.RT],[ue.RTC,S.RTC],[ue.RUBY,S.RUBY],[ue.S,S.S],[ue.SCRIPT,S.SCRIPT],[ue.SECTION,S.SECTION],[ue.SELECT,S.SELECT],[ue.SOURCE,S.SOURCE],[ue.SMALL,S.SMALL],[ue.SPAN,S.SPAN],[ue.STRIKE,S.STRIKE],[ue.STRONG,S.STRONG],[ue.STYLE,S.STYLE],[ue.SUB,S.SUB],[ue.SUMMARY,S.SUMMARY],[ue.SUP,S.SUP],[ue.TABLE,S.TABLE],[ue.TBODY,S.TBODY],[ue.TEMPLATE,S.TEMPLATE],[ue.TEXTAREA,S.TEXTAREA],[ue.TFOOT,S.TFOOT],[ue.TD,S.TD],[ue.TH,S.TH],[ue.THEAD,S.THEAD],[ue.TITLE,S.TITLE],[ue.TR,S.TR],[ue.TRACK,S.TRACK],[ue.TT,S.TT],[ue.U,S.U],[ue.UL,S.UL],[ue.SVG,S.SVG],[ue.VAR,S.VAR],[ue.WBR,S.WBR],[ue.XMP,S.XMP]]);function Ky(e){var a;return(a=use.get(e))!==null&&a!==void 0?a:S.UNKNOWN}const Ee=S,ose={[me.HTML]:new Set([Ee.ADDRESS,Ee.APPLET,Ee.AREA,Ee.ARTICLE,Ee.ASIDE,Ee.BASE,Ee.BASEFONT,Ee.BGSOUND,Ee.BLOCKQUOTE,Ee.BODY,Ee.BR,Ee.BUTTON,Ee.CAPTION,Ee.CENTER,Ee.COL,Ee.COLGROUP,Ee.DD,Ee.DETAILS,Ee.DIR,Ee.DIV,Ee.DL,Ee.DT,Ee.EMBED,Ee.FIELDSET,Ee.FIGCAPTION,Ee.FIGURE,Ee.FOOTER,Ee.FORM,Ee.FRAME,Ee.FRAMESET,Ee.H1,Ee.H2,Ee.H3,Ee.H4,Ee.H5,Ee.H6,Ee.HEAD,Ee.HEADER,Ee.HGROUP,Ee.HR,Ee.HTML,Ee.IFRAME,Ee.IMG,Ee.INPUT,Ee.LI,Ee.LINK,Ee.LISTING,Ee.MAIN,Ee.MARQUEE,Ee.MENU,Ee.META,Ee.NAV,Ee.NOEMBED,Ee.NOFRAMES,Ee.NOSCRIPT,Ee.OBJECT,Ee.OL,Ee.P,Ee.PARAM,Ee.PLAINTEXT,Ee.PRE,Ee.SCRIPT,Ee.SECTION,Ee.SELECT,Ee.SOURCE,Ee.STYLE,Ee.SUMMARY,Ee.TABLE,Ee.TBODY,Ee.TD,Ee.TEMPLATE,Ee.TEXTAREA,Ee.TFOOT,Ee.TH,Ee.THEAD,Ee.TITLE,Ee.TR,Ee.TRACK,Ee.UL,Ee.WBR,Ee.XMP]),[me.MATHML]:new Set([Ee.MI,Ee.MO,Ee.MN,Ee.MS,Ee.MTEXT,Ee.ANNOTATION_XML]),[me.SVG]:new Set([Ee.TITLE,Ee.FOREIGN_OBJECT,Ee.DESC]),[me.XLINK]:new Set,[me.XML]:new Set,[me.XMLNS]:new Set};function dP(e){return e===Ee.H1||e===Ee.H2||e===Ee.H3||e===Ee.H4||e===Ee.H5||e===Ee.H6}const lse=new Set([ue.STYLE,ue.SCRIPT,ue.XMP,ue.IFRAME,ue.NOEMBED,ue.NOFRAMES,ue.PLAINTEXT]);function gse(e,a){return lse.has(e)||a&&e===ue.NOSCRIPT}const dse=new Map([[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]);var Y;(function(e){e[e.DATA=0]="DATA",e[e.RCDATA=1]="RCDATA",e[e.RAWTEXT=2]="RAWTEXT",e[e.SCRIPT_DATA=3]="SCRIPT_DATA",e[e.PLAINTEXT=4]="PLAINTEXT",e[e.TAG_OPEN=5]="TAG_OPEN",e[e.END_TAG_OPEN=6]="END_TAG_OPEN",e[e.TAG_NAME=7]="TAG_NAME",e[e.RCDATA_LESS_THAN_SIGN=8]="RCDATA_LESS_THAN_SIGN",e[e.RCDATA_END_TAG_OPEN=9]="RCDATA_END_TAG_OPEN",e[e.RCDATA_END_TAG_NAME=10]="RCDATA_END_TAG_NAME",e[e.RAWTEXT_LESS_THAN_SIGN=11]="RAWTEXT_LESS_THAN_SIGN",e[e.RAWTEXT_END_TAG_OPEN=12]="RAWTEXT_END_TAG_OPEN",e[e.RAWTEXT_END_TAG_NAME=13]="RAWTEXT_END_TAG_NAME",e[e.SCRIPT_DATA_LESS_THAN_SIGN=14]="SCRIPT_DATA_LESS_THAN_SIGN",e[e.SCRIPT_DATA_END_TAG_OPEN=15]="SCRIPT_DATA_END_TAG_OPEN",e[e.SCRIPT_DATA_END_TAG_NAME=16]="SCRIPT_DATA_END_TAG_NAME",e[e.SCRIPT_DATA_ESCAPE_START=17]="SCRIPT_DATA_ESCAPE_START",e[e.SCRIPT_DATA_ESCAPE_START_DASH=18]="SCRIPT_DATA_ESCAPE_START_DASH",e[e.SCRIPT_DATA_ESCAPED=19]="SCRIPT_DATA_ESCAPED",e[e.SCRIPT_DATA_ESCAPED_DASH=20]="SCRIPT_DATA_ESCAPED_DASH",e[e.SCRIPT_DATA_ESCAPED_DASH_DASH=21]="SCRIPT_DATA_ESCAPED_DASH_DASH",e[e.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN=22]="SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN",e[e.SCRIPT_DATA_ESCAPED_END_TAG_OPEN=23]="SCRIPT_DATA_ESCAPED_END_TAG_OPEN",e[e.SCRIPT_DATA_ESCAPED_END_TAG_NAME=24]="SCRIPT_DATA_ESCAPED_END_TAG_NAME",e[e.SCRIPT_DATA_DOUBLE_ESCAPE_START=25]="SCRIPT_DATA_DOUBLE_ESCAPE_START",e[e.SCRIPT_DATA_DOUBLE_ESCAPED=26]="SCRIPT_DATA_DOUBLE_ESCAPED",e[e.SCRIPT_DATA_DOUBLE_ESCAPED_DASH=27]="SCRIPT_DATA_DOUBLE_ESCAPED_DASH",e[e.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH=28]="SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH",e[e.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN=29]="SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN",e[e.SCRIPT_DATA_DOUBLE_ESCAPE_END=30]="SCRIPT_DATA_DOUBLE_ESCAPE_END",e[e.BEFORE_ATTRIBUTE_NAME=31]="BEFORE_ATTRIBUTE_NAME",e[e.ATTRIBUTE_NAME=32]="ATTRIBUTE_NAME",e[e.AFTER_ATTRIBUTE_NAME=33]="AFTER_ATTRIBUTE_NAME",e[e.BEFORE_ATTRIBUTE_VALUE=34]="BEFORE_ATTRIBUTE_VALUE",e[e.ATTRIBUTE_VALUE_DOUBLE_QUOTED=35]="ATTRIBUTE_VALUE_DOUBLE_QUOTED",e[e.ATTRIBUTE_VALUE_SINGLE_QUOTED=36]="ATTRIBUTE_VALUE_SINGLE_QUOTED",e[e.ATTRIBUTE_VALUE_UNQUOTED=37]="ATTRIBUTE_VALUE_UNQUOTED",e[e.AFTER_ATTRIBUTE_VALUE_QUOTED=38]="AFTER_ATTRIBUTE_VALUE_QUOTED",e[e.SELF_CLOSING_START_TAG=39]="SELF_CLOSING_START_TAG",e[e.BOGUS_COMMENT=40]="BOGUS_COMMENT",e[e.MARKUP_DECLARATION_OPEN=41]="MARKUP_DECLARATION_OPEN",e[e.COMMENT_START=42]="COMMENT_START",e[e.COMMENT_START_DASH=43]="COMMENT_START_DASH",e[e.COMMENT=44]="COMMENT",e[e.COMMENT_LESS_THAN_SIGN=45]="COMMENT_LESS_THAN_SIGN",e[e.COMMENT_LESS_THAN_SIGN_BANG=46]="COMMENT_LESS_THAN_SIGN_BANG",e[e.COMMENT_LESS_THAN_SIGN_BANG_DASH=47]="COMMENT_LESS_THAN_SIGN_BANG_DASH",e[e.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH=48]="COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH",e[e.COMMENT_END_DASH=49]="COMMENT_END_DASH",e[e.COMMENT_END=50]="COMMENT_END",e[e.COMMENT_END_BANG=51]="COMMENT_END_BANG",e[e.DOCTYPE=52]="DOCTYPE",e[e.BEFORE_DOCTYPE_NAME=53]="BEFORE_DOCTYPE_NAME",e[e.DOCTYPE_NAME=54]="DOCTYPE_NAME",e[e.AFTER_DOCTYPE_NAME=55]="AFTER_DOCTYPE_NAME",e[e.AFTER_DOCTYPE_PUBLIC_KEYWORD=56]="AFTER_DOCTYPE_PUBLIC_KEYWORD",e[e.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER=57]="BEFORE_DOCTYPE_PUBLIC_IDENTIFIER",e[e.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED=58]="DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED",e[e.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED=59]="DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED",e[e.AFTER_DOCTYPE_PUBLIC_IDENTIFIER=60]="AFTER_DOCTYPE_PUBLIC_IDENTIFIER",e[e.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS=61]="BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS",e[e.AFTER_DOCTYPE_SYSTEM_KEYWORD=62]="AFTER_DOCTYPE_SYSTEM_KEYWORD",e[e.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER=63]="BEFORE_DOCTYPE_SYSTEM_IDENTIFIER",e[e.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED=64]="DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED",e[e.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED=65]="DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED",e[e.AFTER_DOCTYPE_SYSTEM_IDENTIFIER=66]="AFTER_DOCTYPE_SYSTEM_IDENTIFIER",e[e.BOGUS_DOCTYPE=67]="BOGUS_DOCTYPE",e[e.CDATA_SECTION=68]="CDATA_SECTION",e[e.CDATA_SECTION_BRACKET=69]="CDATA_SECTION_BRACKET",e[e.CDATA_SECTION_END=70]="CDATA_SECTION_END",e[e.CHARACTER_REFERENCE=71]="CHARACTER_REFERENCE",e[e.NAMED_CHARACTER_REFERENCE=72]="NAMED_CHARACTER_REFERENCE",e[e.AMBIGUOUS_AMPERSAND=73]="AMBIGUOUS_AMPERSAND",e[e.NUMERIC_CHARACTER_REFERENCE=74]="NUMERIC_CHARACTER_REFERENCE",e[e.HEXADEMICAL_CHARACTER_REFERENCE_START=75]="HEXADEMICAL_CHARACTER_REFERENCE_START",e[e.HEXADEMICAL_CHARACTER_REFERENCE=76]="HEXADEMICAL_CHARACTER_REFERENCE",e[e.DECIMAL_CHARACTER_REFERENCE=77]="DECIMAL_CHARACTER_REFERENCE",e[e.NUMERIC_CHARACTER_REFERENCE_END=78]="NUMERIC_CHARACTER_REFERENCE_END"})(Y||(Y={}));const ni={DATA:Y.DATA,RCDATA:Y.RCDATA,RAWTEXT:Y.RAWTEXT,SCRIPT_DATA:Y.SCRIPT_DATA,PLAINTEXT:Y.PLAINTEXT,CDATA_SECTION:Y.CDATA_SECTION};function L0(e){return e>=V.DIGIT_0&&e<=V.DIGIT_9}function y0(e){return e>=V.LATIN_CAPITAL_A&&e<=V.LATIN_CAPITAL_Z}function cse(e){return e>=V.LATIN_SMALL_A&&e<=V.LATIN_SMALL_Z}function mu(e){return cse(e)||y0(e)}function lA(e){return mu(e)||L0(e)}function cP(e){return e>=V.LATIN_CAPITAL_A&&e<=V.LATIN_CAPITAL_F}function pP(e){return e>=V.LATIN_SMALL_A&&e<=V.LATIN_SMALL_F}function pse(e){return L0(e)||cP(e)||pP(e)}function lf(e){return e+32}function fP(e){return e===V.SPACE||e===V.LINE_FEED||e===V.TABULATION||e===V.FORM_FEED}function fse(e){return e===V.EQUALS_SIGN||lA(e)}function HE(e){return fP(e)||e===V.SOLIDUS||e===V.GREATER_THAN_SIGN}let hse=class{constructor(a,t){this.options=a,this.handler=t,this.paused=!1,this.inLoop=!1,this.inForeignNode=!1,this.lastStartTagName="",this.active=!1,this.state=Y.DATA,this.returnState=Y.DATA,this.charRefCode=-1,this.consumedAfterSnapshot=-1,this.currentCharacterToken=null,this.currentToken=null,this.currentAttr={name:"",value:""},this.preprocessor=new sse(t),this.currentLocation=this.getCurrentLocation(-1)}_err(a){var t,n;(n=(t=this.handler).onParseError)===null||n===void 0||n.call(t,this.preprocessor.getError(a))}getCurrentLocation(a){return this.options.sourceCodeLocationInfo?{startLine:this.preprocessor.line,startCol:this.preprocessor.col-a,startOffset:this.preprocessor.offset-a,endLine:-1,endCol:-1,endOffset:-1}:null}_runParsingLoop(){if(!this.inLoop){for(this.inLoop=!0;this.active&&!this.paused;){this.consumedAfterSnapshot=0;const a=this._consume();this._ensureHibernation()||this._callState(a)}this.inLoop=!1}}pause(){this.paused=!0}resume(a){if(!this.paused)throw new Error("Parser was already resumed");this.paused=!1,!this.inLoop&&(this._runParsingLoop(),this.paused||a==null||a())}write(a,t,n){this.active=!0,this.preprocessor.write(a,t),this._runParsingLoop(),this.paused||n==null||n()}insertHtmlAtCurrentPos(a){this.active=!0,this.preprocessor.insertHtmlAtCurrentPos(a),this._runParsingLoop()}_ensureHibernation(){return this.preprocessor.endOfChunkHit?(this._unconsume(this.consumedAfterSnapshot),this.active=!1,!0):!1}_consume(){return this.consumedAfterSnapshot++,this.preprocessor.advance()}_unconsume(a){this.consumedAfterSnapshot-=a,this.preprocessor.retreat(a)}_reconsumeInState(a,t){this.state=a,this._callState(t)}_advanceBy(a){this.consumedAfterSnapshot+=a;for(let t=0;t<a;t++)this.preprocessor.advance()}_consumeSequenceIfMatch(a,t){return this.preprocessor.startsWith(a,t)?(this._advanceBy(a.length-1),!0):!1}_createStartTagToken(){this.currentToken={type:_a.START_TAG,tagName:"",tagID:S.UNKNOWN,selfClosing:!1,ackSelfClosing:!1,attrs:[],location:this.getCurrentLocation(1)}}_createEndTagToken(){this.currentToken={type:_a.END_TAG,tagName:"",tagID:S.UNKNOWN,selfClosing:!1,ackSelfClosing:!1,attrs:[],location:this.getCurrentLocation(2)}}_createCommentToken(a){this.currentToken={type:_a.COMMENT,data:"",location:this.getCurrentLocation(a)}}_createDoctypeToken(a){this.currentToken={type:_a.DOCTYPE,name:a,forceQuirks:!1,publicId:null,systemId:null,location:this.currentLocation}}_createCharacterToken(a,t){this.currentCharacterToken={type:a,chars:t,location:this.currentLocation}}_createAttr(a){this.currentAttr={name:a,value:""},this.currentLocation=this.getCurrentLocation(0)}_leaveAttrName(){var a,t;const n=this.currentToken;if(gP(n,this.currentAttr.name)===null){if(n.attrs.push(this.currentAttr),n.location&&this.currentLocation){const i=(a=(t=n.location).attrs)!==null&&a!==void 0?a:t.attrs=Object.create(null);i[this.currentAttr.name]=this.currentLocation,this._leaveAttrValue()}}else this._err(fe.duplicateAttribute)}_leaveAttrValue(){this.currentLocation&&(this.currentLocation.endLine=this.preprocessor.line,this.currentLocation.endCol=this.preprocessor.col,this.currentLocation.endOffset=this.preprocessor.offset)}prepareToken(a){this._emitCurrentCharacterToken(a.location),this.currentToken=null,a.location&&(a.location.endLine=this.preprocessor.line,a.location.endCol=this.preprocessor.col+1,a.location.endOffset=this.preprocessor.offset+1),this.currentLocation=this.getCurrentLocation(-1)}emitCurrentTagToken(){const a=this.currentToken;this.prepareToken(a),a.tagID=Ky(a.tagName),a.type===_a.START_TAG?(this.lastStartTagName=a.tagName,this.handler.onStartTag(a)):(a.attrs.length>0&&this._err(fe.endTagWithAttributes),a.selfClosing&&this._err(fe.endTagWithTrailingSolidus),this.handler.onEndTag(a)),this.preprocessor.dropParsedChunk()}emitCurrentComment(a){this.prepareToken(a),this.handler.onComment(a),this.preprocessor.dropParsedChunk()}emitCurrentDoctype(a){this.prepareToken(a),this.handler.onDoctype(a),this.preprocessor.dropParsedChunk()}_emitCurrentCharacterToken(a){if(this.currentCharacterToken){switch(a&&this.currentCharacterToken.location&&(this.currentCharacterToken.location.endLine=a.startLine,this.currentCharacterToken.location.endCol=a.startCol,this.currentCharacterToken.location.endOffset=a.startOffset),this.currentCharacterToken.type){case _a.CHARACTER:{this.handler.onCharacter(this.currentCharacterToken);break}case _a.NULL_CHARACTER:{this.handler.onNullCharacter(this.currentCharacterToken);break}case _a.WHITESPACE_CHARACTER:{this.handler.onWhitespaceCharacter(this.currentCharacterToken);break}}this.currentCharacterToken=null}}_emitEOFToken(){const a=this.getCurrentLocation(0);a&&(a.endLine=a.startLine,a.endCol=a.startCol,a.endOffset=a.startOffset),this._emitCurrentCharacterToken(a),this.handler.onEof({type:_a.EOF,location:a}),this.active=!1}_appendCharToCurrentCharacterToken(a,t){if(this.currentCharacterToken)if(this.currentCharacterToken.type!==a)this.currentLocation=this.getCurrentLocation(0),this._emitCurrentCharacterToken(this.currentLocation),this.preprocessor.dropParsedChunk();else{this.currentCharacterToken.chars+=t;return}this._createCharacterToken(a,t)}_emitCodePoint(a){const t=fP(a)?_a.WHITESPACE_CHARACTER:a===V.NULL?_a.NULL_CHARACTER:_a.CHARACTER;this._appendCharToCurrentCharacterToken(t,String.fromCodePoint(a))}_emitChars(a){this._appendCharToCurrentCharacterToken(_a.CHARACTER,a)}_matchNamedCharacterReference(a){let t=null,n=0,i=!1;for(let r=0,s=Is[0];r>=0&&(r=Ov(Is,s,r+1,a),!(r<0));a=this._consume()){n+=1,s=Is[r];const u=s&xi.VALUE_LENGTH;if(u){const o=(u>>14)-1;if(a!==V.SEMICOLON&&this._isCharacterReferenceInAttribute()&&fse(this.preprocessor.peek(1))?(t=[V.AMPERSAND],r+=o):(t=o===0?[Is[r]&~xi.VALUE_LENGTH]:o===1?[Is[++r]]:[Is[++r],Is[++r]],n=0,i=a!==V.SEMICOLON),o===0){this._consume();break}}}return this._unconsume(n),i&&!this.preprocessor.endOfChunkHit&&this._err(fe.missingSemicolonAfterCharacterReference),this._unconsume(1),t}_isCharacterReferenceInAttribute(){return this.returnState===Y.ATTRIBUTE_VALUE_DOUBLE_QUOTED||this.returnState===Y.ATTRIBUTE_VALUE_SINGLE_QUOTED||this.returnState===Y.ATTRIBUTE_VALUE_UNQUOTED}_flushCodePointConsumedAsCharacterReference(a){this._isCharacterReferenceInAttribute()?this.currentAttr.value+=String.fromCodePoint(a):this._emitCodePoint(a)}_callState(a){switch(this.state){case Y.DATA:{this._stateData(a);break}case Y.RCDATA:{this._stateRcdata(a);break}case Y.RAWTEXT:{this._stateRawtext(a);break}case Y.SCRIPT_DATA:{this._stateScriptData(a);break}case Y.PLAINTEXT:{this._statePlaintext(a);break}case Y.TAG_OPEN:{this._stateTagOpen(a);break}case Y.END_TAG_OPEN:{this._stateEndTagOpen(a);break}case Y.TAG_NAME:{this._stateTagName(a);break}case Y.RCDATA_LESS_THAN_SIGN:{this._stateRcdataLessThanSign(a);break}case Y.RCDATA_END_TAG_OPEN:{this._stateRcdataEndTagOpen(a);break}case Y.RCDATA_END_TAG_NAME:{this._stateRcdataEndTagName(a);break}case Y.RAWTEXT_LESS_THAN_SIGN:{this._stateRawtextLessThanSign(a);break}case Y.RAWTEXT_END_TAG_OPEN:{this._stateRawtextEndTagOpen(a);break}case Y.RAWTEXT_END_TAG_NAME:{this._stateRawtextEndTagName(a);break}case Y.SCRIPT_DATA_LESS_THAN_SIGN:{this._stateScriptDataLessThanSign(a);break}case Y.SCRIPT_DATA_END_TAG_OPEN:{this._stateScriptDataEndTagOpen(a);break}case Y.SCRIPT_DATA_END_TAG_NAME:{this._stateScriptDataEndTagName(a);break}case Y.SCRIPT_DATA_ESCAPE_START:{this._stateScriptDataEscapeStart(a);break}case Y.SCRIPT_DATA_ESCAPE_START_DASH:{this._stateScriptDataEscapeStartDash(a);break}case Y.SCRIPT_DATA_ESCAPED:{this._stateScriptDataEscaped(a);break}case Y.SCRIPT_DATA_ESCAPED_DASH:{this._stateScriptDataEscapedDash(a);break}case Y.SCRIPT_DATA_ESCAPED_DASH_DASH:{this._stateScriptDataEscapedDashDash(a);break}case Y.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN:{this._stateScriptDataEscapedLessThanSign(a);break}case Y.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:{this._stateScriptDataEscapedEndTagOpen(a);break}case Y.SCRIPT_DATA_ESCAPED_END_TAG_NAME:{this._stateScriptDataEscapedEndTagName(a);break}case Y.SCRIPT_DATA_DOUBLE_ESCAPE_START:{this._stateScriptDataDoubleEscapeStart(a);break}case Y.SCRIPT_DATA_DOUBLE_ESCAPED:{this._stateScriptDataDoubleEscaped(a);break}case Y.SCRIPT_DATA_DOUBLE_ESCAPED_DASH:{this._stateScriptDataDoubleEscapedDash(a);break}case Y.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH:{this._stateScriptDataDoubleEscapedDashDash(a);break}case Y.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN:{this._stateScriptDataDoubleEscapedLessThanSign(a);break}case Y.SCRIPT_DATA_DOUBLE_ESCAPE_END:{this._stateScriptDataDoubleEscapeEnd(a);break}case Y.BEFORE_ATTRIBUTE_NAME:{this._stateBeforeAttributeName(a);break}case Y.ATTRIBUTE_NAME:{this._stateAttributeName(a);break}case Y.AFTER_ATTRIBUTE_NAME:{this._stateAfterAttributeName(a);break}case Y.BEFORE_ATTRIBUTE_VALUE:{this._stateBeforeAttributeValue(a);break}case Y.ATTRIBUTE_VALUE_DOUBLE_QUOTED:{this._stateAttributeValueDoubleQuoted(a);break}case Y.ATTRIBUTE_VALUE_SINGLE_QUOTED:{this._stateAttributeValueSingleQuoted(a);break}case Y.ATTRIBUTE_VALUE_UNQUOTED:{this._stateAttributeValueUnquoted(a);break}case Y.AFTER_ATTRIBUTE_VALUE_QUOTED:{this._stateAfterAttributeValueQuoted(a);break}case Y.SELF_CLOSING_START_TAG:{this._stateSelfClosingStartTag(a);break}case Y.BOGUS_COMMENT:{this._stateBogusComment(a);break}case Y.MARKUP_DECLARATION_OPEN:{this._stateMarkupDeclarationOpen(a);break}case Y.COMMENT_START:{this._stateCommentStart(a);break}case Y.COMMENT_START_DASH:{this._stateCommentStartDash(a);break}case Y.COMMENT:{this._stateComment(a);break}case Y.COMMENT_LESS_THAN_SIGN:{this._stateCommentLessThanSign(a);break}case Y.COMMENT_LESS_THAN_SIGN_BANG:{this._stateCommentLessThanSignBang(a);break}case Y.COMMENT_LESS_THAN_SIGN_BANG_DASH:{this._stateCommentLessThanSignBangDash(a);break}case Y.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH:{this._stateCommentLessThanSignBangDashDash(a);break}case Y.COMMENT_END_DASH:{this._stateCommentEndDash(a);break}case Y.COMMENT_END:{this._stateCommentEnd(a);break}case Y.COMMENT_END_BANG:{this._stateCommentEndBang(a);break}case Y.DOCTYPE:{this._stateDoctype(a);break}case Y.BEFORE_DOCTYPE_NAME:{this._stateBeforeDoctypeName(a);break}case Y.DOCTYPE_NAME:{this._stateDoctypeName(a);break}case Y.AFTER_DOCTYPE_NAME:{this._stateAfterDoctypeName(a);break}case Y.AFTER_DOCTYPE_PUBLIC_KEYWORD:{this._stateAfterDoctypePublicKeyword(a);break}case Y.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER:{this._stateBeforeDoctypePublicIdentifier(a);break}case Y.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED:{this._stateDoctypePublicIdentifierDoubleQuoted(a);break}case Y.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED:{this._stateDoctypePublicIdentifierSingleQuoted(a);break}case Y.AFTER_DOCTYPE_PUBLIC_IDENTIFIER:{this._stateAfterDoctypePublicIdentifier(a);break}case Y.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS:{this._stateBetweenDoctypePublicAndSystemIdentifiers(a);break}case Y.AFTER_DOCTYPE_SYSTEM_KEYWORD:{this._stateAfterDoctypeSystemKeyword(a);break}case Y.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER:{this._stateBeforeDoctypeSystemIdentifier(a);break}case Y.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED:{this._stateDoctypeSystemIdentifierDoubleQuoted(a);break}case Y.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED:{this._stateDoctypeSystemIdentifierSingleQuoted(a);break}case Y.AFTER_DOCTYPE_SYSTEM_IDENTIFIER:{this._stateAfterDoctypeSystemIdentifier(a);break}case Y.BOGUS_DOCTYPE:{this._stateBogusDoctype(a);break}case Y.CDATA_SECTION:{this._stateCdataSection(a);break}case Y.CDATA_SECTION_BRACKET:{this._stateCdataSectionBracket(a);break}case Y.CDATA_SECTION_END:{this._stateCdataSectionEnd(a);break}case Y.CHARACTER_REFERENCE:{this._stateCharacterReference(a);break}case Y.NAMED_CHARACTER_REFERENCE:{this._stateNamedCharacterReference(a);break}case Y.AMBIGUOUS_AMPERSAND:{this._stateAmbiguousAmpersand(a);break}case Y.NUMERIC_CHARACTER_REFERENCE:{this._stateNumericCharacterReference(a);break}case Y.HEXADEMICAL_CHARACTER_REFERENCE_START:{this._stateHexademicalCharacterReferenceStart(a);break}case Y.HEXADEMICAL_CHARACTER_REFERENCE:{this._stateHexademicalCharacterReference(a);break}case Y.DECIMAL_CHARACTER_REFERENCE:{this._stateDecimalCharacterReference(a);break}case Y.NUMERIC_CHARACTER_REFERENCE_END:{this._stateNumericCharacterReferenceEnd(a);break}default:throw new Error("Unknown state")}}_stateData(a){switch(a){case V.LESS_THAN_SIGN:{this.state=Y.TAG_OPEN;break}case V.AMPERSAND:{this.returnState=Y.DATA,this.state=Y.CHARACTER_REFERENCE;break}case V.NULL:{this._err(fe.unexpectedNullCharacter),this._emitCodePoint(a);break}case V.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(a)}}_stateRcdata(a){switch(a){case V.AMPERSAND:{this.returnState=Y.RCDATA,this.state=Y.CHARACTER_REFERENCE;break}case V.LESS_THAN_SIGN:{this.state=Y.RCDATA_LESS_THAN_SIGN;break}case V.NULL:{this._err(fe.unexpectedNullCharacter),this._emitChars(dt);break}case V.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(a)}}_stateRawtext(a){switch(a){case V.LESS_THAN_SIGN:{this.state=Y.RAWTEXT_LESS_THAN_SIGN;break}case V.NULL:{this._err(fe.unexpectedNullCharacter),this._emitChars(dt);break}case V.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(a)}}_stateScriptData(a){switch(a){case V.LESS_THAN_SIGN:{this.state=Y.SCRIPT_DATA_LESS_THAN_SIGN;break}case V.NULL:{this._err(fe.unexpectedNullCharacter),this._emitChars(dt);break}case V.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(a)}}_statePlaintext(a){switch(a){case V.NULL:{this._err(fe.unexpectedNullCharacter),this._emitChars(dt);break}case V.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(a)}}_stateTagOpen(a){if(mu(a))this._createStartTagToken(),this.state=Y.TAG_NAME,this._stateTagName(a);else switch(a){case V.EXCLAMATION_MARK:{this.state=Y.MARKUP_DECLARATION_OPEN;break}case V.SOLIDUS:{this.state=Y.END_TAG_OPEN;break}case V.QUESTION_MARK:{this._err(fe.unexpectedQuestionMarkInsteadOfTagName),this._createCommentToken(1),this.state=Y.BOGUS_COMMENT,this._stateBogusComment(a);break}case V.EOF:{this._err(fe.eofBeforeTagName),this._emitChars("<"),this._emitEOFToken();break}default:this._err(fe.invalidFirstCharacterOfTagName),this._emitChars("<"),this.state=Y.DATA,this._stateData(a)}}_stateEndTagOpen(a){if(mu(a))this._createEndTagToken(),this.state=Y.TAG_NAME,this._stateTagName(a);else switch(a){case V.GREATER_THAN_SIGN:{this._err(fe.missingEndTagName),this.state=Y.DATA;break}case V.EOF:{this._err(fe.eofBeforeTagName),this._emitChars("</"),this._emitEOFToken();break}default:this._err(fe.invalidFirstCharacterOfTagName),this._createCommentToken(2),this.state=Y.BOGUS_COMMENT,this._stateBogusComment(a)}}_stateTagName(a){const t=this.currentToken;switch(a){case V.SPACE:case V.LINE_FEED:case V.TABULATION:case V.FORM_FEED:{this.state=Y.BEFORE_ATTRIBUTE_NAME;break}case V.SOLIDUS:{this.state=Y.SELF_CLOSING_START_TAG;break}case V.GREATER_THAN_SIGN:{this.state=Y.DATA,this.emitCurrentTagToken();break}case V.NULL:{this._err(fe.unexpectedNullCharacter),t.tagName+=dt;break}case V.EOF:{this._err(fe.eofInTag),this._emitEOFToken();break}default:t.tagName+=String.fromCodePoint(y0(a)?lf(a):a)}}_stateRcdataLessThanSign(a){a===V.SOLIDUS?this.state=Y.RCDATA_END_TAG_OPEN:(this._emitChars("<"),this.state=Y.RCDATA,this._stateRcdata(a))}_stateRcdataEndTagOpen(a){mu(a)?(this.state=Y.RCDATA_END_TAG_NAME,this._stateRcdataEndTagName(a)):(this._emitChars("</"),this.state=Y.RCDATA,this._stateRcdata(a))}handleSpecialEndTag(a){if(!this.preprocessor.startsWith(this.lastStartTagName,!1))return!this._ensureHibernation();this._createEndTagToken();const t=this.currentToken;switch(t.tagName=this.lastStartTagName,this.preprocessor.peek(this.lastStartTagName.length)){case V.SPACE:case V.LINE_FEED:case V.TABULATION:case V.FORM_FEED:return this._advanceBy(this.lastStartTagName.length),this.state=Y.BEFORE_ATTRIBUTE_NAME,!1;case V.SOLIDUS:return this._advanceBy(this.lastStartTagName.length),this.state=Y.SELF_CLOSING_START_TAG,!1;case V.GREATER_THAN_SIGN:return this._advanceBy(this.lastStartTagName.length),this.emitCurrentTagToken(),this.state=Y.DATA,!1;default:return!this._ensureHibernation()}}_stateRcdataEndTagName(a){this.handleSpecialEndTag(a)&&(this._emitChars("</"),this.state=Y.RCDATA,this._stateRcdata(a))}_stateRawtextLessThanSign(a){a===V.SOLIDUS?this.state=Y.RAWTEXT_END_TAG_OPEN:(this._emitChars("<"),this.state=Y.RAWTEXT,this._stateRawtext(a))}_stateRawtextEndTagOpen(a){mu(a)?(this.state=Y.RAWTEXT_END_TAG_NAME,this._stateRawtextEndTagName(a)):(this._emitChars("</"),this.state=Y.RAWTEXT,this._stateRawtext(a))}_stateRawtextEndTagName(a){this.handleSpecialEndTag(a)&&(this._emitChars("</"),this.state=Y.RAWTEXT,this._stateRawtext(a))}_stateScriptDataLessThanSign(a){switch(a){case V.SOLIDUS:{this.state=Y.SCRIPT_DATA_END_TAG_OPEN;break}case V.EXCLAMATION_MARK:{this.state=Y.SCRIPT_DATA_ESCAPE_START,this._emitChars("<!");break}default:this._emitChars("<"),this.state=Y.SCRIPT_DATA,this._stateScriptData(a)}}_stateScriptDataEndTagOpen(a){mu(a)?(this.state=Y.SCRIPT_DATA_END_TAG_NAME,this._stateScriptDataEndTagName(a)):(this._emitChars("</"),this.state=Y.SCRIPT_DATA,this._stateScriptData(a))}_stateScriptDataEndTagName(a){this.handleSpecialEndTag(a)&&(this._emitChars("</"),this.state=Y.SCRIPT_DATA,this._stateScriptData(a))}_stateScriptDataEscapeStart(a){a===V.HYPHEN_MINUS?(this.state=Y.SCRIPT_DATA_ESCAPE_START_DASH,this._emitChars("-")):(this.state=Y.SCRIPT_DATA,this._stateScriptData(a))}_stateScriptDataEscapeStartDash(a){a===V.HYPHEN_MINUS?(this.state=Y.SCRIPT_DATA_ESCAPED_DASH_DASH,this._emitChars("-")):(this.state=Y.SCRIPT_DATA,this._stateScriptData(a))}_stateScriptDataEscaped(a){switch(a){case V.HYPHEN_MINUS:{this.state=Y.SCRIPT_DATA_ESCAPED_DASH,this._emitChars("-");break}case V.LESS_THAN_SIGN:{this.state=Y.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN;break}case V.NULL:{this._err(fe.unexpectedNullCharacter),this._emitChars(dt);break}case V.EOF:{this._err(fe.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this._emitCodePoint(a)}}_stateScriptDataEscapedDash(a){switch(a){case V.HYPHEN_MINUS:{this.state=Y.SCRIPT_DATA_ESCAPED_DASH_DASH,this._emitChars("-");break}case V.LESS_THAN_SIGN:{this.state=Y.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN;break}case V.NULL:{this._err(fe.unexpectedNullCharacter),this.state=Y.SCRIPT_DATA_ESCAPED,this._emitChars(dt);break}case V.EOF:{this._err(fe.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this.state=Y.SCRIPT_DATA_ESCAPED,this._emitCodePoint(a)}}_stateScriptDataEscapedDashDash(a){switch(a){case V.HYPHEN_MINUS:{this._emitChars("-");break}case V.LESS_THAN_SIGN:{this.state=Y.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN;break}case V.GREATER_THAN_SIGN:{this.state=Y.SCRIPT_DATA,this._emitChars(">");break}case V.NULL:{this._err(fe.unexpectedNullCharacter),this.state=Y.SCRIPT_DATA_ESCAPED,this._emitChars(dt);break}case V.EOF:{this._err(fe.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this.state=Y.SCRIPT_DATA_ESCAPED,this._emitCodePoint(a)}}_stateScriptDataEscapedLessThanSign(a){a===V.SOLIDUS?this.state=Y.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:mu(a)?(this._emitChars("<"),this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPE_START,this._stateScriptDataDoubleEscapeStart(a)):(this._emitChars("<"),this.state=Y.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(a))}_stateScriptDataEscapedEndTagOpen(a){mu(a)?(this.state=Y.SCRIPT_DATA_ESCAPED_END_TAG_NAME,this._stateScriptDataEscapedEndTagName(a)):(this._emitChars("</"),this.state=Y.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(a))}_stateScriptDataEscapedEndTagName(a){this.handleSpecialEndTag(a)&&(this._emitChars("</"),this.state=Y.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(a))}_stateScriptDataDoubleEscapeStart(a){if(this.preprocessor.startsWith(Gn.SCRIPT,!1)&&HE(this.preprocessor.peek(Gn.SCRIPT.length))){this._emitCodePoint(a);for(let t=0;t<Gn.SCRIPT.length;t++)this._emitCodePoint(this._consume());this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED}else this._ensureHibernation()||(this.state=Y.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(a))}_stateScriptDataDoubleEscaped(a){switch(a){case V.HYPHEN_MINUS:{this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED_DASH,this._emitChars("-");break}case V.LESS_THAN_SIGN:{this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN,this._emitChars("<");break}case V.NULL:{this._err(fe.unexpectedNullCharacter),this._emitChars(dt);break}case V.EOF:{this._err(fe.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this._emitCodePoint(a)}}_stateScriptDataDoubleEscapedDash(a){switch(a){case V.HYPHEN_MINUS:{this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH,this._emitChars("-");break}case V.LESS_THAN_SIGN:{this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN,this._emitChars("<");break}case V.NULL:{this._err(fe.unexpectedNullCharacter),this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitChars(dt);break}case V.EOF:{this._err(fe.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitCodePoint(a)}}_stateScriptDataDoubleEscapedDashDash(a){switch(a){case V.HYPHEN_MINUS:{this._emitChars("-");break}case V.LESS_THAN_SIGN:{this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN,this._emitChars("<");break}case V.GREATER_THAN_SIGN:{this.state=Y.SCRIPT_DATA,this._emitChars(">");break}case V.NULL:{this._err(fe.unexpectedNullCharacter),this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitChars(dt);break}case V.EOF:{this._err(fe.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitCodePoint(a)}}_stateScriptDataDoubleEscapedLessThanSign(a){a===V.SOLIDUS?(this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPE_END,this._emitChars("/")):(this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED,this._stateScriptDataDoubleEscaped(a))}_stateScriptDataDoubleEscapeEnd(a){if(this.preprocessor.startsWith(Gn.SCRIPT,!1)&&HE(this.preprocessor.peek(Gn.SCRIPT.length))){this._emitCodePoint(a);for(let t=0;t<Gn.SCRIPT.length;t++)this._emitCodePoint(this._consume());this.state=Y.SCRIPT_DATA_ESCAPED}else this._ensureHibernation()||(this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED,this._stateScriptDataDoubleEscaped(a))}_stateBeforeAttributeName(a){switch(a){case V.SPACE:case V.LINE_FEED:case V.TABULATION:case V.FORM_FEED:break;case V.SOLIDUS:case V.GREATER_THAN_SIGN:case V.EOF:{this.state=Y.AFTER_ATTRIBUTE_NAME,this._stateAfterAttributeName(a);break}case V.EQUALS_SIGN:{this._err(fe.unexpectedEqualsSignBeforeAttributeName),this._createAttr("="),this.state=Y.ATTRIBUTE_NAME;break}default:this._createAttr(""),this.state=Y.ATTRIBUTE_NAME,this._stateAttributeName(a)}}_stateAttributeName(a){switch(a){case V.SPACE:case V.LINE_FEED:case V.TABULATION:case V.FORM_FEED:case V.SOLIDUS:case V.GREATER_THAN_SIGN:case V.EOF:{this._leaveAttrName(),this.state=Y.AFTER_ATTRIBUTE_NAME,this._stateAfterAttributeName(a);break}case V.EQUALS_SIGN:{this._leaveAttrName(),this.state=Y.BEFORE_ATTRIBUTE_VALUE;break}case V.QUOTATION_MARK:case V.APOSTROPHE:case V.LESS_THAN_SIGN:{this._err(fe.unexpectedCharacterInAttributeName),this.currentAttr.name+=String.fromCodePoint(a);break}case V.NULL:{this._err(fe.unexpectedNullCharacter),this.currentAttr.name+=dt;break}default:this.currentAttr.name+=String.fromCodePoint(y0(a)?lf(a):a)}}_stateAfterAttributeName(a){switch(a){case V.SPACE:case V.LINE_FEED:case V.TABULATION:case V.FORM_FEED:break;case V.SOLIDUS:{this.state=Y.SELF_CLOSING_START_TAG;break}case V.EQUALS_SIGN:{this.state=Y.BEFORE_ATTRIBUTE_VALUE;break}case V.GREATER_THAN_SIGN:{this.state=Y.DATA,this.emitCurrentTagToken();break}case V.EOF:{this._err(fe.eofInTag),this._emitEOFToken();break}default:this._createAttr(""),this.state=Y.ATTRIBUTE_NAME,this._stateAttributeName(a)}}_stateBeforeAttributeValue(a){switch(a){case V.SPACE:case V.LINE_FEED:case V.TABULATION:case V.FORM_FEED:break;case V.QUOTATION_MARK:{this.state=Y.ATTRIBUTE_VALUE_DOUBLE_QUOTED;break}case V.APOSTROPHE:{this.state=Y.ATTRIBUTE_VALUE_SINGLE_QUOTED;break}case V.GREATER_THAN_SIGN:{this._err(fe.missingAttributeValue),this.state=Y.DATA,this.emitCurrentTagToken();break}default:this.state=Y.ATTRIBUTE_VALUE_UNQUOTED,this._stateAttributeValueUnquoted(a)}}_stateAttributeValueDoubleQuoted(a){switch(a){case V.QUOTATION_MARK:{this.state=Y.AFTER_ATTRIBUTE_VALUE_QUOTED;break}case V.AMPERSAND:{this.returnState=Y.ATTRIBUTE_VALUE_DOUBLE_QUOTED,this.state=Y.CHARACTER_REFERENCE;break}case V.NULL:{this._err(fe.unexpectedNullCharacter),this.currentAttr.value+=dt;break}case V.EOF:{this._err(fe.eofInTag),this._emitEOFToken();break}default:this.currentAttr.value+=String.fromCodePoint(a)}}_stateAttributeValueSingleQuoted(a){switch(a){case V.APOSTROPHE:{this.state=Y.AFTER_ATTRIBUTE_VALUE_QUOTED;break}case V.AMPERSAND:{this.returnState=Y.ATTRIBUTE_VALUE_SINGLE_QUOTED,this.state=Y.CHARACTER_REFERENCE;break}case V.NULL:{this._err(fe.unexpectedNullCharacter),this.currentAttr.value+=dt;break}case V.EOF:{this._err(fe.eofInTag),this._emitEOFToken();break}default:this.currentAttr.value+=String.fromCodePoint(a)}}_stateAttributeValueUnquoted(a){switch(a){case V.SPACE:case V.LINE_FEED:case V.TABULATION:case V.FORM_FEED:{this._leaveAttrValue(),this.state=Y.BEFORE_ATTRIBUTE_NAME;break}case V.AMPERSAND:{this.returnState=Y.ATTRIBUTE_VALUE_UNQUOTED,this.state=Y.CHARACTER_REFERENCE;break}case V.GREATER_THAN_SIGN:{this._leaveAttrValue(),this.state=Y.DATA,this.emitCurrentTagToken();break}case V.NULL:{this._err(fe.unexpectedNullCharacter),this.currentAttr.value+=dt;break}case V.QUOTATION_MARK:case V.APOSTROPHE:case V.LESS_THAN_SIGN:case V.EQUALS_SIGN:case V.GRAVE_ACCENT:{this._err(fe.unexpectedCharacterInUnquotedAttributeValue),this.currentAttr.value+=String.fromCodePoint(a);break}case V.EOF:{this._err(fe.eofInTag),this._emitEOFToken();break}default:this.currentAttr.value+=String.fromCodePoint(a)}}_stateAfterAttributeValueQuoted(a){switch(a){case V.SPACE:case V.LINE_FEED:case V.TABULATION:case V.FORM_FEED:{this._leaveAttrValue(),this.state=Y.BEFORE_ATTRIBUTE_NAME;break}case V.SOLIDUS:{this._leaveAttrValue(),this.state=Y.SELF_CLOSING_START_TAG;break}case V.GREATER_THAN_SIGN:{this._leaveAttrValue(),this.state=Y.DATA,this.emitCurrentTagToken();break}case V.EOF:{this._err(fe.eofInTag),this._emitEOFToken();break}default:this._err(fe.missingWhitespaceBetweenAttributes),this.state=Y.BEFORE_ATTRIBUTE_NAME,this._stateBeforeAttributeName(a)}}_stateSelfClosingStartTag(a){switch(a){case V.GREATER_THAN_SIGN:{const t=this.currentToken;t.selfClosing=!0,this.state=Y.DATA,this.emitCurrentTagToken();break}case V.EOF:{this._err(fe.eofInTag),this._emitEOFToken();break}default:this._err(fe.unexpectedSolidusInTag),this.state=Y.BEFORE_ATTRIBUTE_NAME,this._stateBeforeAttributeName(a)}}_stateBogusComment(a){const t=this.currentToken;switch(a){case V.GREATER_THAN_SIGN:{this.state=Y.DATA,this.emitCurrentComment(t);break}case V.EOF:{this.emitCurrentComment(t),this._emitEOFToken();break}case V.NULL:{this._err(fe.unexpectedNullCharacter),t.data+=dt;break}default:t.data+=String.fromCodePoint(a)}}_stateMarkupDeclarationOpen(a){this._consumeSequenceIfMatch(Gn.DASH_DASH,!0)?(this._createCommentToken(Gn.DASH_DASH.length+1),this.state=Y.COMMENT_START):this._consumeSequenceIfMatch(Gn.DOCTYPE,!1)?(this.currentLocation=this.getCurrentLocation(Gn.DOCTYPE.length+1),this.state=Y.DOCTYPE):this._consumeSequenceIfMatch(Gn.CDATA_START,!0)?this.inForeignNode?this.state=Y.CDATA_SECTION:(this._err(fe.cdataInHtmlContent),this._createCommentToken(Gn.CDATA_START.length+1),this.currentToken.data="[CDATA[",this.state=Y.BOGUS_COMMENT):this._ensureHibernation()||(this._err(fe.incorrectlyOpenedComment),this._createCommentToken(2),this.state=Y.BOGUS_COMMENT,this._stateBogusComment(a))}_stateCommentStart(a){switch(a){case V.HYPHEN_MINUS:{this.state=Y.COMMENT_START_DASH;break}case V.GREATER_THAN_SIGN:{this._err(fe.abruptClosingOfEmptyComment),this.state=Y.DATA;const t=this.currentToken;this.emitCurrentComment(t);break}default:this.state=Y.COMMENT,this._stateComment(a)}}_stateCommentStartDash(a){const t=this.currentToken;switch(a){case V.HYPHEN_MINUS:{this.state=Y.COMMENT_END;break}case V.GREATER_THAN_SIGN:{this._err(fe.abruptClosingOfEmptyComment),this.state=Y.DATA,this.emitCurrentComment(t);break}case V.EOF:{this._err(fe.eofInComment),this.emitCurrentComment(t),this._emitEOFToken();break}default:t.data+="-",this.state=Y.COMMENT,this._stateComment(a)}}_stateComment(a){const t=this.currentToken;switch(a){case V.HYPHEN_MINUS:{this.state=Y.COMMENT_END_DASH;break}case V.LESS_THAN_SIGN:{t.data+="<",this.state=Y.COMMENT_LESS_THAN_SIGN;break}case V.NULL:{this._err(fe.unexpectedNullCharacter),t.data+=dt;break}case V.EOF:{this._err(fe.eofInComment),this.emitCurrentComment(t),this._emitEOFToken();break}default:t.data+=String.fromCodePoint(a)}}_stateCommentLessThanSign(a){const t=this.currentToken;switch(a){case V.EXCLAMATION_MARK:{t.data+="!",this.state=Y.COMMENT_LESS_THAN_SIGN_BANG;break}case V.LESS_THAN_SIGN:{t.data+="<";break}default:this.state=Y.COMMENT,this._stateComment(a)}}_stateCommentLessThanSignBang(a){a===V.HYPHEN_MINUS?this.state=Y.COMMENT_LESS_THAN_SIGN_BANG_DASH:(this.state=Y.COMMENT,this._stateComment(a))}_stateCommentLessThanSignBangDash(a){a===V.HYPHEN_MINUS?this.state=Y.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH:(this.state=Y.COMMENT_END_DASH,this._stateCommentEndDash(a))}_stateCommentLessThanSignBangDashDash(a){a!==V.GREATER_THAN_SIGN&&a!==V.EOF&&this._err(fe.nestedComment),this.state=Y.COMMENT_END,this._stateCommentEnd(a)}_stateCommentEndDash(a){const t=this.currentToken;switch(a){case V.HYPHEN_MINUS:{this.state=Y.COMMENT_END;break}case V.EOF:{this._err(fe.eofInComment),this.emitCurrentComment(t),this._emitEOFToken();break}default:t.data+="-",this.state=Y.COMMENT,this._stateComment(a)}}_stateCommentEnd(a){const t=this.currentToken;switch(a){case V.GREATER_THAN_SIGN:{this.state=Y.DATA,this.emitCurrentComment(t);break}case V.EXCLAMATION_MARK:{this.state=Y.COMMENT_END_BANG;break}case V.HYPHEN_MINUS:{t.data+="-";break}case V.EOF:{this._err(fe.eofInComment),this.emitCurrentComment(t),this._emitEOFToken();break}default:t.data+="--",this.state=Y.COMMENT,this._stateComment(a)}}_stateCommentEndBang(a){const t=this.currentToken;switch(a){case V.HYPHEN_MINUS:{t.data+="--!",this.state=Y.COMMENT_END_DASH;break}case V.GREATER_THAN_SIGN:{this._err(fe.incorrectlyClosedComment),this.state=Y.DATA,this.emitCurrentComment(t);break}case V.EOF:{this._err(fe.eofInComment),this.emitCurrentComment(t),this._emitEOFToken();break}default:t.data+="--!",this.state=Y.COMMENT,this._stateComment(a)}}_stateDoctype(a){switch(a){case V.SPACE:case V.LINE_FEED:case V.TABULATION:case V.FORM_FEED:{this.state=Y.BEFORE_DOCTYPE_NAME;break}case V.GREATER_THAN_SIGN:{this.state=Y.BEFORE_DOCTYPE_NAME,this._stateBeforeDoctypeName(a);break}case V.EOF:{this._err(fe.eofInDoctype),this._createDoctypeToken(null);const t=this.currentToken;t.forceQuirks=!0,this.emitCurrentDoctype(t),this._emitEOFToken();break}default:this._err(fe.missingWhitespaceBeforeDoctypeName),this.state=Y.BEFORE_DOCTYPE_NAME,this._stateBeforeDoctypeName(a)}}_stateBeforeDoctypeName(a){if(y0(a))this._createDoctypeToken(String.fromCharCode(lf(a))),this.state=Y.DOCTYPE_NAME;else switch(a){case V.SPACE:case V.LINE_FEED:case V.TABULATION:case V.FORM_FEED:break;case V.NULL:{this._err(fe.unexpectedNullCharacter),this._createDoctypeToken(dt),this.state=Y.DOCTYPE_NAME;break}case V.GREATER_THAN_SIGN:{this._err(fe.missingDoctypeName),this._createDoctypeToken(null);const t=this.currentToken;t.forceQuirks=!0,this.emitCurrentDoctype(t),this.state=Y.DATA;break}case V.EOF:{this._err(fe.eofInDoctype),this._createDoctypeToken(null);const t=this.currentToken;t.forceQuirks=!0,this.emitCurrentDoctype(t),this._emitEOFToken();break}default:this._createDoctypeToken(String.fromCodePoint(a)),this.state=Y.DOCTYPE_NAME}}_stateDoctypeName(a){const t=this.currentToken;switch(a){case V.SPACE:case V.LINE_FEED:case V.TABULATION:case V.FORM_FEED:{this.state=Y.AFTER_DOCTYPE_NAME;break}case V.GREATER_THAN_SIGN:{this.state=Y.DATA,this.emitCurrentDoctype(t);break}case V.NULL:{this._err(fe.unexpectedNullCharacter),t.name+=dt;break}case V.EOF:{this._err(fe.eofInDoctype),t.forceQuirks=!0,this.emitCurrentDoctype(t),this._emitEOFToken();break}default:t.name+=String.fromCodePoint(y0(a)?lf(a):a)}}_stateAfterDoctypeName(a){const t=this.currentToken;switch(a){case V.SPACE:case V.LINE_FEED:case V.TABULATION:case V.FORM_FEED:break;case V.GREATER_THAN_SIGN:{this.state=Y.DATA,this.emitCurrentDoctype(t);break}case V.EOF:{this._err(fe.eofInDoctype),t.forceQuirks=!0,this.emitCurrentDoctype(t),this._emitEOFToken();break}default:this._consumeSequenceIfMatch(Gn.PUBLIC,!1)?this.state=Y.AFTER_DOCTYPE_PUBLIC_KEYWORD:this._consumeSequenceIfMatch(Gn.SYSTEM,!1)?this.state=Y.AFTER_DOCTYPE_SYSTEM_KEYWORD:this._ensureHibernation()||(this._err(fe.invalidCharacterSequenceAfterDoctypeName),t.forceQuirks=!0,this.state=Y.BOGUS_DOCTYPE,this._stateBogusDoctype(a))}}_stateAfterDoctypePublicKeyword(a){const t=this.currentToken;switch(a){case V.SPACE:case V.LINE_FEED:case V.TABULATION:case V.FORM_FEED:{this.state=Y.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER;break}case V.QUOTATION_MARK:{this._err(fe.missingWhitespaceAfterDoctypePublicKeyword),t.publicId="",this.state=Y.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED;break}case V.APOSTROPHE:{this._err(fe.missingWhitespaceAfterDoctypePublicKeyword),t.publicId="",this.state=Y.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED;break}case V.GREATER_THAN_SIGN:{this._err(fe.missingDoctypePublicIdentifier),t.forceQuirks=!0,this.state=Y.DATA,this.emitCurrentDoctype(t);break}case V.EOF:{this._err(fe.eofInDoctype),t.forceQuirks=!0,this.emitCurrentDoctype(t),this._emitEOFToken();break}default:this._err(fe.missingQuoteBeforeDoctypePublicIdentifier),t.forceQuirks=!0,this.state=Y.BOGUS_DOCTYPE,this._stateBogusDoctype(a)}}_stateBeforeDoctypePublicIdentifier(a){const t=this.currentToken;switch(a){case V.SPACE:case V.LINE_FEED:case V.TABULATION:case V.FORM_FEED:break;case V.QUOTATION_MARK:{t.publicId="",this.state=Y.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED;break}case V.APOSTROPHE:{t.publicId="",this.state=Y.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED;break}case V.GREATER_THAN_SIGN:{this._err(fe.missingDoctypePublicIdentifier),t.forceQuirks=!0,this.state=Y.DATA,this.emitCurrentDoctype(t);break}case V.EOF:{this._err(fe.eofInDoctype),t.forceQuirks=!0,this.emitCurrentDoctype(t),this._emitEOFToken();break}default:this._err(fe.missingQuoteBeforeDoctypePublicIdentifier),t.forceQuirks=!0,this.state=Y.BOGUS_DOCTYPE,this._stateBogusDoctype(a)}}_stateDoctypePublicIdentifierDoubleQuoted(a){const t=this.currentToken;switch(a){case V.QUOTATION_MARK:{this.state=Y.AFTER_DOCTYPE_PUBLIC_IDENTIFIER;break}case V.NULL:{this._err(fe.unexpectedNullCharacter),t.publicId+=dt;break}case V.GREATER_THAN_SIGN:{this._err(fe.abruptDoctypePublicIdentifier),t.forceQuirks=!0,this.emitCurrentDoctype(t),this.state=Y.DATA;break}case V.EOF:{this._err(fe.eofInDoctype),t.forceQuirks=!0,this.emitCurrentDoctype(t),this._emitEOFToken();break}default:t.publicId+=String.fromCodePoint(a)}}_stateDoctypePublicIdentifierSingleQuoted(a){const t=this.currentToken;switch(a){case V.APOSTROPHE:{this.state=Y.AFTER_DOCTYPE_PUBLIC_IDENTIFIER;break}case V.NULL:{this._err(fe.unexpectedNullCharacter),t.publicId+=dt;break}case V.GREATER_THAN_SIGN:{this._err(fe.abruptDoctypePublicIdentifier),t.forceQuirks=!0,this.emitCurrentDoctype(t),this.state=Y.DATA;break}case V.EOF:{this._err(fe.eofInDoctype),t.forceQuirks=!0,this.emitCurrentDoctype(t),this._emitEOFToken();break}default:t.publicId+=String.fromCodePoint(a)}}_stateAfterDoctypePublicIdentifier(a){const t=this.currentToken;switch(a){case V.SPACE:case V.LINE_FEED:case V.TABULATION:case V.FORM_FEED:{this.state=Y.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS;break}case V.GREATER_THAN_SIGN:{this.state=Y.DATA,this.emitCurrentDoctype(t);break}case V.QUOTATION_MARK:{this._err(fe.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),t.systemId="",this.state=Y.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break}case V.APOSTROPHE:{this._err(fe.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),t.systemId="",this.state=Y.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break}case V.EOF:{this._err(fe.eofInDoctype),t.forceQuirks=!0,this.emitCurrentDoctype(t),this._emitEOFToken();break}default:this._err(fe.missingQuoteBeforeDoctypeSystemIdentifier),t.forceQuirks=!0,this.state=Y.BOGUS_DOCTYPE,this._stateBogusDoctype(a)}}_stateBetweenDoctypePublicAndSystemIdentifiers(a){const t=this.currentToken;switch(a){case V.SPACE:case V.LINE_FEED:case V.TABULATION:case V.FORM_FEED:break;case V.GREATER_THAN_SIGN:{this.emitCurrentDoctype(t),this.state=Y.DATA;break}case V.QUOTATION_MARK:{t.systemId="",this.state=Y.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break}case V.APOSTROPHE:{t.systemId="",this.state=Y.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break}case V.EOF:{this._err(fe.eofInDoctype),t.forceQuirks=!0,this.emitCurrentDoctype(t),this._emitEOFToken();break}default:this._err(fe.missingQuoteBeforeDoctypeSystemIdentifier),t.forceQuirks=!0,this.state=Y.BOGUS_DOCTYPE,this._stateBogusDoctype(a)}}_stateAfterDoctypeSystemKeyword(a){const t=this.currentToken;switch(a){case V.SPACE:case V.LINE_FEED:case V.TABULATION:case V.FORM_FEED:{this.state=Y.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER;break}case V.QUOTATION_MARK:{this._err(fe.missingWhitespaceAfterDoctypeSystemKeyword),t.systemId="",this.state=Y.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break}case V.APOSTROPHE:{this._err(fe.missingWhitespaceAfterDoctypeSystemKeyword),t.systemId="",this.state=Y.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break}case V.GREATER_THAN_SIGN:{this._err(fe.missingDoctypeSystemIdentifier),t.forceQuirks=!0,this.state=Y.DATA,this.emitCurrentDoctype(t);break}case V.EOF:{this._err(fe.eofInDoctype),t.forceQuirks=!0,this.emitCurrentDoctype(t),this._emitEOFToken();break}default:this._err(fe.missingQuoteBeforeDoctypeSystemIdentifier),t.forceQuirks=!0,this.state=Y.BOGUS_DOCTYPE,this._stateBogusDoctype(a)}}_stateBeforeDoctypeSystemIdentifier(a){const t=this.currentToken;switch(a){case V.SPACE:case V.LINE_FEED:case V.TABULATION:case V.FORM_FEED:break;case V.QUOTATION_MARK:{t.systemId="",this.state=Y.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break}case V.APOSTROPHE:{t.systemId="",this.state=Y.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break}case V.GREATER_THAN_SIGN:{this._err(fe.missingDoctypeSystemIdentifier),t.forceQuirks=!0,this.state=Y.DATA,this.emitCurrentDoctype(t);break}case V.EOF:{this._err(fe.eofInDoctype),t.forceQuirks=!0,this.emitCurrentDoctype(t),this._emitEOFToken();break}default:this._err(fe.missingQuoteBeforeDoctypeSystemIdentifier),t.forceQuirks=!0,this.state=Y.BOGUS_DOCTYPE,this._stateBogusDoctype(a)}}_stateDoctypeSystemIdentifierDoubleQuoted(a){const t=this.currentToken;switch(a){case V.QUOTATION_MARK:{this.state=Y.AFTER_DOCTYPE_SYSTEM_IDENTIFIER;break}case V.NULL:{this._err(fe.unexpectedNullCharacter),t.systemId+=dt;break}case V.GREATER_THAN_SIGN:{this._err(fe.abruptDoctypeSystemIdentifier),t.forceQuirks=!0,this.emitCurrentDoctype(t),this.state=Y.DATA;break}case V.EOF:{this._err(fe.eofInDoctype),t.forceQuirks=!0,this.emitCurrentDoctype(t),this._emitEOFToken();break}default:t.systemId+=String.fromCodePoint(a)}}_stateDoctypeSystemIdentifierSingleQuoted(a){const t=this.currentToken;switch(a){case V.APOSTROPHE:{this.state=Y.AFTER_DOCTYPE_SYSTEM_IDENTIFIER;break}case V.NULL:{this._err(fe.unexpectedNullCharacter),t.systemId+=dt;break}case V.GREATER_THAN_SIGN:{this._err(fe.abruptDoctypeSystemIdentifier),t.forceQuirks=!0,this.emitCurrentDoctype(t),this.state=Y.DATA;break}case V.EOF:{this._err(fe.eofInDoctype),t.forceQuirks=!0,this.emitCurrentDoctype(t),this._emitEOFToken();break}default:t.systemId+=String.fromCodePoint(a)}}_stateAfterDoctypeSystemIdentifier(a){const t=this.currentToken;switch(a){case V.SPACE:case V.LINE_FEED:case V.TABULATION:case V.FORM_FEED:break;case V.GREATER_THAN_SIGN:{this.emitCurrentDoctype(t),this.state=Y.DATA;break}case V.EOF:{this._err(fe.eofInDoctype),t.forceQuirks=!0,this.emitCurrentDoctype(t),this._emitEOFToken();break}default:this._err(fe.unexpectedCharacterAfterDoctypeSystemIdentifier),this.state=Y.BOGUS_DOCTYPE,this._stateBogusDoctype(a)}}_stateBogusDoctype(a){const t=this.currentToken;switch(a){case V.GREATER_THAN_SIGN:{this.emitCurrentDoctype(t),this.state=Y.DATA;break}case V.NULL:{this._err(fe.unexpectedNullCharacter);break}case V.EOF:{this.emitCurrentDoctype(t),this._emitEOFToken();break}}}_stateCdataSection(a){switch(a){case V.RIGHT_SQUARE_BRACKET:{this.state=Y.CDATA_SECTION_BRACKET;break}case V.EOF:{this._err(fe.eofInCdata),this._emitEOFToken();break}default:this._emitCodePoint(a)}}_stateCdataSectionBracket(a){a===V.RIGHT_SQUARE_BRACKET?this.state=Y.CDATA_SECTION_END:(this._emitChars("]"),this.state=Y.CDATA_SECTION,this._stateCdataSection(a))}_stateCdataSectionEnd(a){switch(a){case V.GREATER_THAN_SIGN:{this.state=Y.DATA;break}case V.RIGHT_SQUARE_BRACKET:{this._emitChars("]");break}default:this._emitChars("]]"),this.state=Y.CDATA_SECTION,this._stateCdataSection(a)}}_stateCharacterReference(a){a===V.NUMBER_SIGN?this.state=Y.NUMERIC_CHARACTER_REFERENCE:lA(a)?(this.state=Y.NAMED_CHARACTER_REFERENCE,this._stateNamedCharacterReference(a)):(this._flushCodePointConsumedAsCharacterReference(V.AMPERSAND),this._reconsumeInState(this.returnState,a))}_stateNamedCharacterReference(a){const t=this._matchNamedCharacterReference(a);if(!this._ensureHibernation())if(t){for(let n=0;n<t.length;n++)this._flushCodePointConsumedAsCharacterReference(t[n]);this.state=this.returnState}else this._flushCodePointConsumedAsCharacterReference(V.AMPERSAND),this.state=Y.AMBIGUOUS_AMPERSAND}_stateAmbiguousAmpersand(a){lA(a)?this._flushCodePointConsumedAsCharacterReference(a):(a===V.SEMICOLON&&this._err(fe.unknownNamedCharacterReference),this._reconsumeInState(this.returnState,a))}_stateNumericCharacterReference(a){this.charRefCode=0,a===V.LATIN_SMALL_X||a===V.LATIN_CAPITAL_X?this.state=Y.HEXADEMICAL_CHARACTER_REFERENCE_START:L0(a)?(this.state=Y.DECIMAL_CHARACTER_REFERENCE,this._stateDecimalCharacterReference(a)):(this._err(fe.absenceOfDigitsInNumericCharacterReference),this._flushCodePointConsumedAsCharacterReference(V.AMPERSAND),this._flushCodePointConsumedAsCharacterReference(V.NUMBER_SIGN),this._reconsumeInState(this.returnState,a))}_stateHexademicalCharacterReferenceStart(a){pse(a)?(this.state=Y.HEXADEMICAL_CHARACTER_REFERENCE,this._stateHexademicalCharacterReference(a)):(this._err(fe.absenceOfDigitsInNumericCharacterReference),this._flushCodePointConsumedAsCharacterReference(V.AMPERSAND),this._flushCodePointConsumedAsCharacterReference(V.NUMBER_SIGN),this._unconsume(2),this.state=this.returnState)}_stateHexademicalCharacterReference(a){cP(a)?this.charRefCode=this.charRefCode*16+a-55:pP(a)?this.charRefCode=this.charRefCode*16+a-87:L0(a)?this.charRefCode=this.charRefCode*16+a-48:a===V.SEMICOLON?this.state=Y.NUMERIC_CHARACTER_REFERENCE_END:(this._err(fe.missingSemicolonAfterCharacterReference),this.state=Y.NUMERIC_CHARACTER_REFERENCE_END,this._stateNumericCharacterReferenceEnd(a))}_stateDecimalCharacterReference(a){L0(a)?this.charRefCode=this.charRefCode*10+a-48:a===V.SEMICOLON?this.state=Y.NUMERIC_CHARACTER_REFERENCE_END:(this._err(fe.missingSemicolonAfterCharacterReference),this.state=Y.NUMERIC_CHARACTER_REFERENCE_END,this._stateNumericCharacterReferenceEnd(a))}_stateNumericCharacterReferenceEnd(a){if(this.charRefCode===V.NULL)this._err(fe.nullCharacterReference),this.charRefCode=V.REPLACEMENT_CHARACTER;else if(this.charRefCode>1114111)this._err(fe.characterReferenceOutsideUnicodeRange),this.charRefCode=V.REPLACEMENT_CHARACTER;else if(uP(this.charRefCode))this._err(fe.surrogateCharacterReference),this.charRefCode=V.REPLACEMENT_CHARACTER;else if(lP(this.charRefCode))this._err(fe.noncharacterCharacterReference);else if(oP(this.charRefCode)||this.charRefCode===V.CARRIAGE_RETURN){this._err(fe.controlCharacterReference);const t=dse.get(this.charRefCode);t!==void 0&&(this.charRefCode=t)}this._flushCodePointConsumedAsCharacterReference(this.charRefCode),this._reconsumeInState(this.returnState,a)}};const hP=new Set([S.DD,S.DT,S.LI,S.OPTGROUP,S.OPTION,S.P,S.RB,S.RP,S.RT,S.RTC]),qE=new Set([...hP,S.CAPTION,S.COLGROUP,S.TBODY,S.TD,S.TFOOT,S.TH,S.THEAD,S.TR]),gf=new Map([[S.APPLET,me.HTML],[S.CAPTION,me.HTML],[S.HTML,me.HTML],[S.MARQUEE,me.HTML],[S.OBJECT,me.HTML],[S.TABLE,me.HTML],[S.TD,me.HTML],[S.TEMPLATE,me.HTML],[S.TH,me.HTML],[S.ANNOTATION_XML,me.MATHML],[S.MI,me.MATHML],[S.MN,me.MATHML],[S.MO,me.MATHML],[S.MS,me.MATHML],[S.MTEXT,me.MATHML],[S.DESC,me.SVG],[S.FOREIGN_OBJECT,me.SVG],[S.TITLE,me.SVG]]),mse=[S.H1,S.H2,S.H3,S.H4,S.H5,S.H6],yse=[S.TR,S.TEMPLATE,S.HTML],bse=[S.TBODY,S.TFOOT,S.THEAD,S.TEMPLATE,S.HTML],Tse=[S.TABLE,S.TEMPLATE,S.HTML],Sse=[S.TD,S.TH];class Ase{get currentTmplContentOrNode(){return this._isInTemplate()?this.treeAdapter.getTemplateContent(this.current):this.current}constructor(a,t,n){this.treeAdapter=t,this.handler=n,this.items=[],this.tagIDs=[],this.stackTop=-1,this.tmplCount=0,this.currentTagId=S.UNKNOWN,this.current=a}_indexOf(a){return this.items.lastIndexOf(a,this.stackTop)}_isInTemplate(){return this.currentTagId===S.TEMPLATE&&this.treeAdapter.getNamespaceURI(this.current)===me.HTML}_updateCurrentElement(){this.current=this.items[this.stackTop],this.currentTagId=this.tagIDs[this.stackTop]}push(a,t){this.stackTop++,this.items[this.stackTop]=a,this.current=a,this.tagIDs[this.stackTop]=t,this.currentTagId=t,this._isInTemplate()&&this.tmplCount++,this.handler.onItemPush(a,t,!0)}pop(){const a=this.current;this.tmplCount>0&&this._isInTemplate()&&this.tmplCount--,this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(a,!0)}replace(a,t){const n=this._indexOf(a);this.items[n]=t,n===this.stackTop&&(this.current=t)}insertAfter(a,t,n){const i=this._indexOf(a)+1;this.items.splice(i,0,t),this.tagIDs.splice(i,0,n),this.stackTop++,i===this.stackTop&&this._updateCurrentElement(),this.handler.onItemPush(this.current,this.currentTagId,i===this.stackTop)}popUntilTagNamePopped(a){let t=this.stackTop+1;do t=this.tagIDs.lastIndexOf(a,t-1);while(t>0&&this.treeAdapter.getNamespaceURI(this.items[t])!==me.HTML);this.shortenToLength(t<0?0:t)}shortenToLength(a){for(;this.stackTop>=a;){const t=this.current;this.tmplCount>0&&this._isInTemplate()&&(this.tmplCount-=1),this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(t,this.stackTop<a)}}popUntilElementPopped(a){const t=this._indexOf(a);this.shortenToLength(t<0?0:t)}popUntilPopped(a,t){const n=this._indexOfTagNames(a,t);this.shortenToLength(n<0?0:n)}popUntilNumberedHeaderPopped(){this.popUntilPopped(mse,me.HTML)}popUntilTableCellPopped(){this.popUntilPopped(Sse,me.HTML)}popAllUpToHtmlElement(){this.tmplCount=0,this.shortenToLength(1)}_indexOfTagNames(a,t){for(let n=this.stackTop;n>=0;n--)if(a.includes(this.tagIDs[n])&&this.treeAdapter.getNamespaceURI(this.items[n])===t)return n;return-1}clearBackTo(a,t){const n=this._indexOfTagNames(a,t);this.shortenToLength(n+1)}clearBackToTableContext(){this.clearBackTo(Tse,me.HTML)}clearBackToTableBodyContext(){this.clearBackTo(bse,me.HTML)}clearBackToTableRowContext(){this.clearBackTo(yse,me.HTML)}remove(a){const t=this._indexOf(a);t>=0&&(t===this.stackTop?this.pop():(this.items.splice(t,1),this.tagIDs.splice(t,1),this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(a,!1)))}tryPeekProperlyNestedBodyElement(){return this.stackTop>=1&&this.tagIDs[1]===S.BODY?this.items[1]:null}contains(a){return this._indexOf(a)>-1}getCommonAncestor(a){const t=this._indexOf(a)-1;return t>=0?this.items[t]:null}isRootHtmlElementCurrent(){return this.stackTop===0&&this.tagIDs[0]===S.HTML}hasInScope(a){for(let t=this.stackTop;t>=0;t--){const n=this.tagIDs[t],i=this.treeAdapter.getNamespaceURI(this.items[t]);if(n===a&&i===me.HTML)return!0;if(gf.get(n)===i)return!1}return!0}hasNumberedHeaderInScope(){for(let a=this.stackTop;a>=0;a--){const t=this.tagIDs[a],n=this.treeAdapter.getNamespaceURI(this.items[a]);if(dP(t)&&n===me.HTML)return!0;if(gf.get(t)===n)return!1}return!0}hasInListItemScope(a){for(let t=this.stackTop;t>=0;t--){const n=this.tagIDs[t],i=this.treeAdapter.getNamespaceURI(this.items[t]);if(n===a&&i===me.HTML)return!0;if((n===S.UL||n===S.OL)&&i===me.HTML||gf.get(n)===i)return!1}return!0}hasInButtonScope(a){for(let t=this.stackTop;t>=0;t--){const n=this.tagIDs[t],i=this.treeAdapter.getNamespaceURI(this.items[t]);if(n===a&&i===me.HTML)return!0;if(n===S.BUTTON&&i===me.HTML||gf.get(n)===i)return!1}return!0}hasInTableScope(a){for(let t=this.stackTop;t>=0;t--){const n=this.tagIDs[t];if(this.treeAdapter.getNamespaceURI(this.items[t])===me.HTML){if(n===a)return!0;if(n===S.TABLE||n===S.TEMPLATE||n===S.HTML)return!1}}return!0}hasTableBodyContextInTableScope(){for(let a=this.stackTop;a>=0;a--){const t=this.tagIDs[a];if(this.treeAdapter.getNamespaceURI(this.items[a])===me.HTML){if(t===S.TBODY||t===S.THEAD||t===S.TFOOT)return!0;if(t===S.TABLE||t===S.HTML)return!1}}return!0}hasInSelectScope(a){for(let t=this.stackTop;t>=0;t--){const n=this.tagIDs[t];if(this.treeAdapter.getNamespaceURI(this.items[t])===me.HTML){if(n===a)return!0;if(n!==S.OPTION&&n!==S.OPTGROUP)return!1}}return!0}generateImpliedEndTags(){for(;hP.has(this.currentTagId);)this.pop()}generateImpliedEndTagsThoroughly(){for(;qE.has(this.currentTagId);)this.pop()}generateImpliedEndTagsWithExclusion(a){for(;this.currentTagId!==a&&qE.has(this.currentTagId);)this.pop()}}const Lb=3;var br;(function(e){e[e.Marker=0]="Marker",e[e.Element=1]="Element"})(br=br||(br={}));const VE={type:br.Marker};class vse{constructor(a){this.treeAdapter=a,this.entries=[],this.bookmark=null}_getNoahArkConditionCandidates(a,t){const n=[],i=t.length,r=this.treeAdapter.getTagName(a),s=this.treeAdapter.getNamespaceURI(a);for(let u=0;u<this.entries.length;u++){const o=this.entries[u];if(o.type===br.Marker)break;const{element:l}=o;if(this.treeAdapter.getTagName(l)===r&&this.treeAdapter.getNamespaceURI(l)===s){const g=this.treeAdapter.getAttrList(l);g.length===i&&n.push({idx:u,attrs:g})}}return n}_ensureNoahArkCondition(a){if(this.entries.length<Lb)return;const t=this.treeAdapter.getAttrList(a),n=this._getNoahArkConditionCandidates(a,t);if(n.length<Lb)return;const i=new Map(t.map(s=>[s.name,s.value]));let r=0;for(let s=0;s<n.length;s++){const u=n[s];u.attrs.every(o=>i.get(o.name)===o.value)&&(r+=1,r>=Lb&&this.entries.splice(u.idx,1))}}insertMarker(){this.entries.unshift(VE)}pushElement(a,t){this._ensureNoahArkCondition(a),this.entries.unshift({type:br.Element,element:a,token:t})}insertElementAfterBookmark(a,t){const n=this.entries.indexOf(this.bookmark);this.entries.splice(n,0,{type:br.Element,element:a,token:t})}removeEntry(a){const t=this.entries.indexOf(a);t>=0&&this.entries.splice(t,1)}clearToLastMarker(){const a=this.entries.indexOf(VE);a>=0?this.entries.splice(0,a+1):this.entries.length=0}getElementEntryInScopeWithTagName(a){const t=this.entries.find(n=>n.type===br.Marker||this.treeAdapter.getTagName(n.element)===a);return t&&t.type===br.Element?t:null}getElementEntry(a){return this.entries.find(t=>t.type===br.Element&&t.element===a)}}function GE(e){return{nodeName:"#text",value:e,parentNode:null}}const Lo={createDocument(){return{nodeName:"#document",mode:ei.NO_QUIRKS,childNodes:[]}},createDocumentFragment(){return{nodeName:"#document-fragment",childNodes:[]}},createElement(e,a,t){return{nodeName:e,tagName:e,attrs:t,namespaceURI:a,childNodes:[],parentNode:null}},createCommentNode(e){return{nodeName:"#comment",data:e,parentNode:null}},appendChild(e,a){e.childNodes.push(a),a.parentNode=e},insertBefore(e,a,t){const n=e.childNodes.indexOf(t);e.childNodes.splice(n,0,a),a.parentNode=e},setTemplateContent(e,a){e.content=a},getTemplateContent(e){return e.content},setDocumentType(e,a,t,n){const i=e.childNodes.find(r=>r.nodeName==="#documentType");if(i)i.name=a,i.publicId=t,i.systemId=n;else{const r={nodeName:"#documentType",name:a,publicId:t,systemId:n,parentNode:null};Lo.appendChild(e,r)}},setDocumentMode(e,a){e.mode=a},getDocumentMode(e){return e.mode},detachNode(e){if(e.parentNode){const a=e.parentNode.childNodes.indexOf(e);e.parentNode.childNodes.splice(a,1),e.parentNode=null}},insertText(e,a){if(e.childNodes.length>0){const t=e.childNodes[e.childNodes.length-1];if(Lo.isTextNode(t)){t.value+=a;return}}Lo.appendChild(e,GE(a))},insertTextBefore(e,a,t){const n=e.childNodes[e.childNodes.indexOf(t)-1];n&&Lo.isTextNode(n)?n.value+=a:Lo.insertBefore(e,GE(a),t)},adoptAttributes(e,a){const t=new Set(e.attrs.map(n=>n.name));for(let n=0;n<a.length;n++)t.has(a[n].name)||e.attrs.push(a[n])},getFirstChild(e){return e.childNodes[0]},getChildNodes(e){return e.childNodes},getParentNode(e){return e.parentNode},getAttrList(e){return e.attrs},getTagName(e){return e.tagName},getNamespaceURI(e){return e.namespaceURI},getTextNodeContent(e){return e.value},getCommentNodeContent(e){return e.data},getDocumentTypeNodeName(e){return e.name},getDocumentTypeNodePublicId(e){return e.publicId},getDocumentTypeNodeSystemId(e){return e.systemId},isTextNode(e){return e.nodeName==="#text"},isCommentNode(e){return e.nodeName==="#comment"},isDocumentTypeNode(e){return e.nodeName==="#documentType"},isElementNode(e){return Object.prototype.hasOwnProperty.call(e,"tagName")},setNodeSourceCodeLocation(e,a){e.sourceCodeLocation=a},getNodeSourceCodeLocation(e){return e.sourceCodeLocation},updateNodeSourceCodeLocation(e,a){e.sourceCodeLocation={...e.sourceCodeLocation,...a}}},mP="html",Dse="about:legacy-compat",xse="http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd",yP=["+//silmaril//dtd html pro v0r11 19970101//","-//as//dtd html 3.0 aswedit + extensions//","-//advasoft ltd//dtd html 3.0 aswedit + extensions//","-//ietf//dtd html 2.0 level 1//","-//ietf//dtd html 2.0 level 2//","-//ietf//dtd html 2.0 strict level 1//","-//ietf//dtd html 2.0 strict level 2//","-//ietf//dtd html 2.0 strict//","-//ietf//dtd html 2.0//","-//ietf//dtd html 2.1e//","-//ietf//dtd html 3.0//","-//ietf//dtd html 3.2 final//","-//ietf//dtd html 3.2//","-//ietf//dtd html 3//","-//ietf//dtd html level 0//","-//ietf//dtd html level 1//","-//ietf//dtd html level 2//","-//ietf//dtd html level 3//","-//ietf//dtd html strict level 0//","-//ietf//dtd html strict level 1//","-//ietf//dtd html strict level 2//","-//ietf//dtd html strict level 3//","-//ietf//dtd html strict//","-//ietf//dtd html//","-//metrius//dtd metrius presentational//","-//microsoft//dtd internet explorer 2.0 html strict//","-//microsoft//dtd internet explorer 2.0 html//","-//microsoft//dtd internet explorer 2.0 tables//","-//microsoft//dtd internet explorer 3.0 html strict//","-//microsoft//dtd internet explorer 3.0 html//","-//microsoft//dtd internet explorer 3.0 tables//","-//netscape comm. corp.//dtd html//","-//netscape comm. corp.//dtd strict html//","-//o'reilly and associates//dtd html 2.0//","-//o'reilly and associates//dtd html extended 1.0//","-//o'reilly and associates//dtd html extended relaxed 1.0//","-//sq//dtd html 2.0 hotmetal + extensions//","-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//","-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//","-//spyglass//dtd html 2.0 extended//","-//sun microsystems corp.//dtd hotjava html//","-//sun microsystems corp.//dtd hotjava strict html//","-//w3c//dtd html 3 1995-03-24//","-//w3c//dtd html 3.2 draft//","-//w3c//dtd html 3.2 final//","-//w3c//dtd html 3.2//","-//w3c//dtd html 3.2s draft//","-//w3c//dtd html 4.0 frameset//","-//w3c//dtd html 4.0 transitional//","-//w3c//dtd html experimental 19960712//","-//w3c//dtd html experimental 970421//","-//w3c//dtd w3 html//","-//w3o//dtd w3 html 3.0//","-//webtechs//dtd mozilla html 2.0//","-//webtechs//dtd mozilla html//"],Ese=[...yP,"-//w3c//dtd html 4.01 frameset//","-//w3c//dtd html 4.01 transitional//"],kse=new Set(["-//w3o//dtd w3 html strict 3.0//en//","-/w3c/dtd html 4.0 transitional/en","html"]),bP=["-//w3c//dtd xhtml 1.0 frameset//","-//w3c//dtd xhtml 1.0 transitional//"],Cse=[...bP,"-//w3c//dtd html 4.01 frameset//","-//w3c//dtd html 4.01 transitional//"];function WE(e,a){return a.some(t=>e.startsWith(t))}function wse(e){return e.name===mP&&e.publicId===null&&(e.systemId===null||e.systemId===Dse)}function _se(e){if(e.name!==mP)return ei.QUIRKS;const{systemId:a}=e;if(a&&a.toLowerCase()===xse)return ei.QUIRKS;let{publicId:t}=e;if(t!==null){if(t=t.toLowerCase(),kse.has(t))return ei.QUIRKS;let n=a===null?Ese:yP;if(WE(t,n))return ei.QUIRKS;if(n=a===null?bP:Cse,WE(t,n))return ei.LIMITED_QUIRKS}return ei.NO_QUIRKS}const YE={TEXT_HTML:"text/html",APPLICATION_XML:"application/xhtml+xml"},Ise="definitionurl",Nse="definitionURL",Lse=new Map(["attributeName","attributeType","baseFrequency","baseProfile","calcMode","clipPathUnits","diffuseConstant","edgeMode","filterUnits","glyphRef","gradientTransform","gradientUnits","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","numOctaves","pathLength","patternContentUnits","patternTransform","patternUnits","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","surfaceScale","systemLanguage","tableValues","targetX","targetY","textLength","viewBox","viewTarget","xChannelSelector","yChannelSelector","zoomAndPan"].map(e=>[e.toLowerCase(),e])),Rse=new Map([["xlink:actuate",{prefix:"xlink",name:"actuate",namespace:me.XLINK}],["xlink:arcrole",{prefix:"xlink",name:"arcrole",namespace:me.XLINK}],["xlink:href",{prefix:"xlink",name:"href",namespace:me.XLINK}],["xlink:role",{prefix:"xlink",name:"role",namespace:me.XLINK}],["xlink:show",{prefix:"xlink",name:"show",namespace:me.XLINK}],["xlink:title",{prefix:"xlink",name:"title",namespace:me.XLINK}],["xlink:type",{prefix:"xlink",name:"type",namespace:me.XLINK}],["xml:base",{prefix:"xml",name:"base",namespace:me.XML}],["xml:lang",{prefix:"xml",name:"lang",namespace:me.XML}],["xml:space",{prefix:"xml",name:"space",namespace:me.XML}],["xmlns",{prefix:"",name:"xmlns",namespace:me.XMLNS}],["xmlns:xlink",{prefix:"xmlns",name:"xlink",namespace:me.XMLNS}]]),Pse=new Map(["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","textPath"].map(e=>[e.toLowerCase(),e])),Mse=new Set([S.B,S.BIG,S.BLOCKQUOTE,S.BODY,S.BR,S.CENTER,S.CODE,S.DD,S.DIV,S.DL,S.DT,S.EM,S.EMBED,S.H1,S.H2,S.H3,S.H4,S.H5,S.H6,S.HEAD,S.HR,S.I,S.IMG,S.LI,S.LISTING,S.MENU,S.META,S.NOBR,S.OL,S.P,S.PRE,S.RUBY,S.S,S.SMALL,S.SPAN,S.STRONG,S.STRIKE,S.SUB,S.SUP,S.TABLE,S.TT,S.U,S.UL,S.VAR]);function Ose(e){const a=e.tagID;return a===S.FONT&&e.attrs.some(({name:n})=>n===Bu.COLOR||n===Bu.SIZE||n===Bu.FACE)||Mse.has(a)}function TP(e){for(let a=0;a<e.attrs.length;a++)if(e.attrs[a].name===Ise){e.attrs[a].name=Nse;break}}function SP(e){for(let a=0;a<e.attrs.length;a++){const t=Lse.get(e.attrs[a].name);t!=null&&(e.attrs[a].name=t)}}function Yv(e){for(let a=0;a<e.attrs.length;a++){const t=Rse.get(e.attrs[a].name);t&&(e.attrs[a].prefix=t.prefix,e.attrs[a].name=t.name,e.attrs[a].namespace=t.namespace)}}function Bse(e){const a=Pse.get(e.tagName);a!=null&&(e.tagName=a,e.tagID=Ky(e.tagName))}function Fse(e,a){return a===me.MATHML&&(e===S.MI||e===S.MO||e===S.MN||e===S.MS||e===S.MTEXT)}function Use(e,a,t){if(a===me.MATHML&&e===S.ANNOTATION_XML){for(let n=0;n<t.length;n++)if(t[n].name===Bu.ENCODING){const i=t[n].value.toLowerCase();return i===YE.TEXT_HTML||i===YE.APPLICATION_XML}}return a===me.SVG&&(e===S.FOREIGN_OBJECT||e===S.DESC||e===S.TITLE)}function jse(e,a,t,n){return(!n||n===me.HTML)&&Use(e,a,t)||(!n||n===me.MATHML)&&Fse(e,a)}const zse="hidden",$se=8,Kse=3;var J;(function(e){e[e.INITIAL=0]="INITIAL",e[e.BEFORE_HTML=1]="BEFORE_HTML",e[e.BEFORE_HEAD=2]="BEFORE_HEAD",e[e.IN_HEAD=3]="IN_HEAD",e[e.IN_HEAD_NO_SCRIPT=4]="IN_HEAD_NO_SCRIPT",e[e.AFTER_HEAD=5]="AFTER_HEAD",e[e.IN_BODY=6]="IN_BODY",e[e.TEXT=7]="TEXT",e[e.IN_TABLE=8]="IN_TABLE",e[e.IN_TABLE_TEXT=9]="IN_TABLE_TEXT",e[e.IN_CAPTION=10]="IN_CAPTION",e[e.IN_COLUMN_GROUP=11]="IN_COLUMN_GROUP",e[e.IN_TABLE_BODY=12]="IN_TABLE_BODY",e[e.IN_ROW=13]="IN_ROW",e[e.IN_CELL=14]="IN_CELL",e[e.IN_SELECT=15]="IN_SELECT",e[e.IN_SELECT_IN_TABLE=16]="IN_SELECT_IN_TABLE",e[e.IN_TEMPLATE=17]="IN_TEMPLATE",e[e.AFTER_BODY=18]="AFTER_BODY",e[e.IN_FRAMESET=19]="IN_FRAMESET",e[e.AFTER_FRAMESET=20]="AFTER_FRAMESET",e[e.AFTER_AFTER_BODY=21]="AFTER_AFTER_BODY",e[e.AFTER_AFTER_FRAMESET=22]="AFTER_AFTER_FRAMESET"})(J||(J={}));const Hse={startLine:-1,startCol:-1,startOffset:-1,endLine:-1,endCol:-1,endOffset:-1},AP=new Set([S.TABLE,S.TBODY,S.TFOOT,S.THEAD,S.TR]),XE={scriptingEnabled:!0,sourceCodeLocationInfo:!1,treeAdapter:Lo,onParseError:null};let vP=class{constructor(a,t,n=null,i=null){this.fragmentContext=n,this.scriptHandler=i,this.currentToken=null,this.stopped=!1,this.insertionMode=J.INITIAL,this.originalInsertionMode=J.INITIAL,this.headElement=null,this.formElement=null,this.currentNotInHTML=!1,this.tmplInsertionModeStack=[],this.pendingCharacterTokens=[],this.hasNonWhitespacePendingCharacterToken=!1,this.framesetOk=!0,this.skipNextNewLine=!1,this.fosterParentingEnabled=!1,this.options={...XE,...a},this.treeAdapter=this.options.treeAdapter,this.onParseError=this.options.onParseError,this.onParseError&&(this.options.sourceCodeLocationInfo=!0),this.document=t??this.treeAdapter.createDocument(),this.tokenizer=new hse(this.options,this),this.activeFormattingElements=new vse(this.treeAdapter),this.fragmentContextID=n?Ky(this.treeAdapter.getTagName(n)):S.UNKNOWN,this._setContextModes(n??this.document,this.fragmentContextID),this.openElements=new Ase(this.document,this.treeAdapter,this)}static parse(a,t){const n=new this(t);return n.tokenizer.write(a,!0),n.document}static getFragmentParser(a,t){const n={...XE,...t};a??(a=n.treeAdapter.createElement(ue.TEMPLATE,me.HTML,[]));const i=n.treeAdapter.createElement("documentmock",me.HTML,[]),r=new this(n,i,a);return r.fragmentContextID===S.TEMPLATE&&r.tmplInsertionModeStack.unshift(J.IN_TEMPLATE),r._initTokenizerForFragmentParsing(),r._insertFakeRootElement(),r._resetInsertionMode(),r._findFormInFragmentContext(),r}getFragment(){const a=this.treeAdapter.getFirstChild(this.document),t=this.treeAdapter.createDocumentFragment();return this._adoptNodes(a,t),t}_err(a,t,n){var i;if(!this.onParseError)return;const r=(i=a.location)!==null&&i!==void 0?i:Hse,s={code:t,startLine:r.startLine,startCol:r.startCol,startOffset:r.startOffset,endLine:n?r.startLine:r.endLine,endCol:n?r.startCol:r.endCol,endOffset:n?r.startOffset:r.endOffset};this.onParseError(s)}onItemPush(a,t,n){var i,r;(r=(i=this.treeAdapter).onItemPush)===null||r===void 0||r.call(i,a),n&&this.openElements.stackTop>0&&this._setContextModes(a,t)}onItemPop(a,t){var n,i;if(this.options.sourceCodeLocationInfo&&this._setEndLocation(a,this.currentToken),(i=(n=this.treeAdapter).onItemPop)===null||i===void 0||i.call(n,a,this.openElements.current),t){let r,s;this.openElements.stackTop===0&&this.fragmentContext?(r=this.fragmentContext,s=this.fragmentContextID):{current:r,currentTagId:s}=this.openElements,this._setContextModes(r,s)}}_setContextModes(a,t){const n=a===this.document||this.treeAdapter.getNamespaceURI(a)===me.HTML;this.currentNotInHTML=!n,this.tokenizer.inForeignNode=!n&&!this._isIntegrationPoint(t,a)}_switchToTextParsing(a,t){this._insertElement(a,me.HTML),this.tokenizer.state=t,this.originalInsertionMode=this.insertionMode,this.insertionMode=J.TEXT}switchToPlaintextParsing(){this.insertionMode=J.TEXT,this.originalInsertionMode=J.IN_BODY,this.tokenizer.state=ni.PLAINTEXT}_getAdjustedCurrentElement(){return this.openElements.stackTop===0&&this.fragmentContext?this.fragmentContext:this.openElements.current}_findFormInFragmentContext(){let a=this.fragmentContext;for(;a;){if(this.treeAdapter.getTagName(a)===ue.FORM){this.formElement=a;break}a=this.treeAdapter.getParentNode(a)}}_initTokenizerForFragmentParsing(){if(!(!this.fragmentContext||this.treeAdapter.getNamespaceURI(this.fragmentContext)!==me.HTML))switch(this.fragmentContextID){case S.TITLE:case S.TEXTAREA:{this.tokenizer.state=ni.RCDATA;break}case S.STYLE:case S.XMP:case S.IFRAME:case S.NOEMBED:case S.NOFRAMES:case S.NOSCRIPT:{this.tokenizer.state=ni.RAWTEXT;break}case S.SCRIPT:{this.tokenizer.state=ni.SCRIPT_DATA;break}case S.PLAINTEXT:{this.tokenizer.state=ni.PLAINTEXT;break}}}_setDocumentType(a){const t=a.name||"",n=a.publicId||"",i=a.systemId||"";if(this.treeAdapter.setDocumentType(this.document,t,n,i),a.location){const s=this.treeAdapter.getChildNodes(this.document).find(u=>this.treeAdapter.isDocumentTypeNode(u));s&&this.treeAdapter.setNodeSourceCodeLocation(s,a.location)}}_attachElementToTree(a,t){if(this.options.sourceCodeLocationInfo){const n=t&&{...t,startTag:t};this.treeAdapter.setNodeSourceCodeLocation(a,n)}if(this._shouldFosterParentOnInsertion())this._fosterParentElement(a);else{const n=this.openElements.currentTmplContentOrNode;this.treeAdapter.appendChild(n,a)}}_appendElement(a,t){const n=this.treeAdapter.createElement(a.tagName,t,a.attrs);this._attachElementToTree(n,a.location)}_insertElement(a,t){const n=this.treeAdapter.createElement(a.tagName,t,a.attrs);this._attachElementToTree(n,a.location),this.openElements.push(n,a.tagID)}_insertFakeElement(a,t){const n=this.treeAdapter.createElement(a,me.HTML,[]);this._attachElementToTree(n,null),this.openElements.push(n,t)}_insertTemplate(a){const t=this.treeAdapter.createElement(a.tagName,me.HTML,a.attrs),n=this.treeAdapter.createDocumentFragment();this.treeAdapter.setTemplateContent(t,n),this._attachElementToTree(t,a.location),this.openElements.push(t,a.tagID),this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(n,null)}_insertFakeRootElement(){const a=this.treeAdapter.createElement(ue.HTML,me.HTML,[]);this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(a,null),this.treeAdapter.appendChild(this.openElements.current,a),this.openElements.push(a,S.HTML)}_appendCommentNode(a,t){const n=this.treeAdapter.createCommentNode(a.data);this.treeAdapter.appendChild(t,n),this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(n,a.location)}_insertCharacters(a){let t,n;if(this._shouldFosterParentOnInsertion()?({parent:t,beforeElement:n}=this._findFosterParentingLocation(),n?this.treeAdapter.insertTextBefore(t,a.chars,n):this.treeAdapter.insertText(t,a.chars)):(t=this.openElements.currentTmplContentOrNode,this.treeAdapter.insertText(t,a.chars)),!a.location)return;const i=this.treeAdapter.getChildNodes(t),r=n?i.lastIndexOf(n):i.length,s=i[r-1];if(this.treeAdapter.getNodeSourceCodeLocation(s)){const{endLine:o,endCol:l,endOffset:g}=a.location;this.treeAdapter.updateNodeSourceCodeLocation(s,{endLine:o,endCol:l,endOffset:g})}else this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(s,a.location)}_adoptNodes(a,t){for(let n=this.treeAdapter.getFirstChild(a);n;n=this.treeAdapter.getFirstChild(a))this.treeAdapter.detachNode(n),this.treeAdapter.appendChild(t,n)}_setEndLocation(a,t){if(this.treeAdapter.getNodeSourceCodeLocation(a)&&t.location){const n=t.location,i=this.treeAdapter.getTagName(a),r=t.type===_a.END_TAG&&i===t.tagName?{endTag:{...n},endLine:n.endLine,endCol:n.endCol,endOffset:n.endOffset}:{endLine:n.startLine,endCol:n.startCol,endOffset:n.startOffset};this.treeAdapter.updateNodeSourceCodeLocation(a,r)}}shouldProcessStartTagTokenInForeignContent(a){if(!this.currentNotInHTML)return!1;let t,n;return this.openElements.stackTop===0&&this.fragmentContext?(t=this.fragmentContext,n=this.fragmentContextID):{current:t,currentTagId:n}=this.openElements,a.tagID===S.SVG&&this.treeAdapter.getTagName(t)===ue.ANNOTATION_XML&&this.treeAdapter.getNamespaceURI(t)===me.MATHML?!1:this.tokenizer.inForeignNode||(a.tagID===S.MGLYPH||a.tagID===S.MALIGNMARK)&&!this._isIntegrationPoint(n,t,me.HTML)}_processToken(a){switch(a.type){case _a.CHARACTER:{this.onCharacter(a);break}case _a.NULL_CHARACTER:{this.onNullCharacter(a);break}case _a.COMMENT:{this.onComment(a);break}case _a.DOCTYPE:{this.onDoctype(a);break}case _a.START_TAG:{this._processStartTag(a);break}case _a.END_TAG:{this.onEndTag(a);break}case _a.EOF:{this.onEof(a);break}case _a.WHITESPACE_CHARACTER:{this.onWhitespaceCharacter(a);break}}}_isIntegrationPoint(a,t,n){const i=this.treeAdapter.getNamespaceURI(t),r=this.treeAdapter.getAttrList(t);return jse(a,i,r,n)}_reconstructActiveFormattingElements(){const a=this.activeFormattingElements.entries.length;if(a){const t=this.activeFormattingElements.entries.findIndex(i=>i.type===br.Marker||this.openElements.contains(i.element)),n=t<0?a-1:t-1;for(let i=n;i>=0;i--){const r=this.activeFormattingElements.entries[i];this._insertElement(r.token,this.treeAdapter.getNamespaceURI(r.element)),r.element=this.openElements.current}}}_closeTableCell(){this.openElements.generateImpliedEndTags(),this.openElements.popUntilTableCellPopped(),this.activeFormattingElements.clearToLastMarker(),this.insertionMode=J.IN_ROW}_closePElement(){this.openElements.generateImpliedEndTagsWithExclusion(S.P),this.openElements.popUntilTagNamePopped(S.P)}_resetInsertionMode(){for(let a=this.openElements.stackTop;a>=0;a--)switch(a===0&&this.fragmentContext?this.fragmentContextID:this.openElements.tagIDs[a]){case S.TR:{this.insertionMode=J.IN_ROW;return}case S.TBODY:case S.THEAD:case S.TFOOT:{this.insertionMode=J.IN_TABLE_BODY;return}case S.CAPTION:{this.insertionMode=J.IN_CAPTION;return}case S.COLGROUP:{this.insertionMode=J.IN_COLUMN_GROUP;return}case S.TABLE:{this.insertionMode=J.IN_TABLE;return}case S.BODY:{this.insertionMode=J.IN_BODY;return}case S.FRAMESET:{this.insertionMode=J.IN_FRAMESET;return}case S.SELECT:{this._resetInsertionModeForSelect(a);return}case S.TEMPLATE:{this.insertionMode=this.tmplInsertionModeStack[0];return}case S.HTML:{this.insertionMode=this.headElement?J.AFTER_HEAD:J.BEFORE_HEAD;return}case S.TD:case S.TH:{if(a>0){this.insertionMode=J.IN_CELL;return}break}case S.HEAD:{if(a>0){this.insertionMode=J.IN_HEAD;return}break}}this.insertionMode=J.IN_BODY}_resetInsertionModeForSelect(a){if(a>0)for(let t=a-1;t>0;t--){const n=this.openElements.tagIDs[t];if(n===S.TEMPLATE)break;if(n===S.TABLE){this.insertionMode=J.IN_SELECT_IN_TABLE;return}}this.insertionMode=J.IN_SELECT}_isElementCausesFosterParenting(a){return AP.has(a)}_shouldFosterParentOnInsertion(){return this.fosterParentingEnabled&&this._isElementCausesFosterParenting(this.openElements.currentTagId)}_findFosterParentingLocation(){for(let a=this.openElements.stackTop;a>=0;a--){const t=this.openElements.items[a];switch(this.openElements.tagIDs[a]){case S.TEMPLATE:{if(this.treeAdapter.getNamespaceURI(t)===me.HTML)return{parent:this.treeAdapter.getTemplateContent(t),beforeElement:null};break}case S.TABLE:{const n=this.treeAdapter.getParentNode(t);return n?{parent:n,beforeElement:t}:{parent:this.openElements.items[a-1],beforeElement:null}}}}return{parent:this.openElements.items[0],beforeElement:null}}_fosterParentElement(a){const t=this._findFosterParentingLocation();t.beforeElement?this.treeAdapter.insertBefore(t.parent,a,t.beforeElement):this.treeAdapter.appendChild(t.parent,a)}_isSpecialElement(a,t){const n=this.treeAdapter.getNamespaceURI(a);return ose[n].has(t)}onCharacter(a){if(this.skipNextNewLine=!1,this.tokenizer.inForeignNode){Soe(this,a);return}switch(this.insertionMode){case J.INITIAL:{jd(this,a);break}case J.BEFORE_HTML:{R0(this,a);break}case J.BEFORE_HEAD:{P0(this,a);break}case J.IN_HEAD:{M0(this,a);break}case J.IN_HEAD_NO_SCRIPT:{O0(this,a);break}case J.AFTER_HEAD:{B0(this,a);break}case J.IN_BODY:case J.IN_CAPTION:case J.IN_CELL:case J.IN_TEMPLATE:{xP(this,a);break}case J.TEXT:case J.IN_SELECT:case J.IN_SELECT_IN_TABLE:{this._insertCharacters(a);break}case J.IN_TABLE:case J.IN_TABLE_BODY:case J.IN_ROW:{Rb(this,a);break}case J.IN_TABLE_TEXT:{IP(this,a);break}case J.IN_COLUMN_GROUP:{Oh(this,a);break}case J.AFTER_BODY:{Bh(this,a);break}case J.AFTER_AFTER_BODY:{E2(this,a);break}}}onNullCharacter(a){if(this.skipNextNewLine=!1,this.tokenizer.inForeignNode){Toe(this,a);return}switch(this.insertionMode){case J.INITIAL:{jd(this,a);break}case J.BEFORE_HTML:{R0(this,a);break}case J.BEFORE_HEAD:{P0(this,a);break}case J.IN_HEAD:{M0(this,a);break}case J.IN_HEAD_NO_SCRIPT:{O0(this,a);break}case J.AFTER_HEAD:{B0(this,a);break}case J.TEXT:{this._insertCharacters(a);break}case J.IN_TABLE:case J.IN_TABLE_BODY:case J.IN_ROW:{Rb(this,a);break}case J.IN_COLUMN_GROUP:{Oh(this,a);break}case J.AFTER_BODY:{Bh(this,a);break}case J.AFTER_AFTER_BODY:{E2(this,a);break}}}onComment(a){if(this.skipNextNewLine=!1,this.currentNotInHTML){gA(this,a);return}switch(this.insertionMode){case J.INITIAL:case J.BEFORE_HTML:case J.BEFORE_HEAD:case J.IN_HEAD:case J.IN_HEAD_NO_SCRIPT:case J.AFTER_HEAD:case J.IN_BODY:case J.IN_TABLE:case J.IN_CAPTION:case J.IN_COLUMN_GROUP:case J.IN_TABLE_BODY:case J.IN_ROW:case J.IN_CELL:case J.IN_SELECT:case J.IN_SELECT_IN_TABLE:case J.IN_TEMPLATE:case J.IN_FRAMESET:case J.AFTER_FRAMESET:{gA(this,a);break}case J.IN_TABLE_TEXT:{zd(this,a);break}case J.AFTER_BODY:{Qse(this,a);break}case J.AFTER_AFTER_BODY:case J.AFTER_AFTER_FRAMESET:{Zse(this,a);break}}}onDoctype(a){switch(this.skipNextNewLine=!1,this.insertionMode){case J.INITIAL:{Jse(this,a);break}case J.BEFORE_HEAD:case J.IN_HEAD:case J.IN_HEAD_NO_SCRIPT:case J.AFTER_HEAD:{this._err(a,fe.misplacedDoctype);break}case J.IN_TABLE_TEXT:{zd(this,a);break}}}onStartTag(a){this.skipNextNewLine=!1,this.currentToken=a,this._processStartTag(a),a.selfClosing&&!a.ackSelfClosing&&this._err(a,fe.nonVoidHtmlElementStartTagWithTrailingSolidus)}_processStartTag(a){this.shouldProcessStartTagTokenInForeignContent(a)?Aoe(this,a):this._startTagOutsideForeignContent(a)}_startTagOutsideForeignContent(a){switch(this.insertionMode){case J.INITIAL:{jd(this,a);break}case J.BEFORE_HTML:{eue(this,a);break}case J.BEFORE_HEAD:{tue(this,a);break}case J.IN_HEAD:{Lr(this,a);break}case J.IN_HEAD_NO_SCRIPT:{rue(this,a);break}case J.AFTER_HEAD:{uue(this,a);break}case J.IN_BODY:{_n(this,a);break}case J.IN_TABLE:{Ug(this,a);break}case J.IN_TABLE_TEXT:{zd(this,a);break}case J.IN_CAPTION:{noe(this,a);break}case J.IN_COLUMN_GROUP:{Zv(this,a);break}case J.IN_TABLE_BODY:{Vy(this,a);break}case J.IN_ROW:{Gy(this,a);break}case J.IN_CELL:{soe(this,a);break}case J.IN_SELECT:{RP(this,a);break}case J.IN_SELECT_IN_TABLE:{ooe(this,a);break}case J.IN_TEMPLATE:{goe(this,a);break}case J.AFTER_BODY:{coe(this,a);break}case J.IN_FRAMESET:{poe(this,a);break}case J.AFTER_FRAMESET:{hoe(this,a);break}case J.AFTER_AFTER_BODY:{yoe(this,a);break}case J.AFTER_AFTER_FRAMESET:{boe(this,a);break}}}onEndTag(a){this.skipNextNewLine=!1,this.currentToken=a,this.currentNotInHTML?voe(this,a):this._endTagOutsideForeignContent(a)}_endTagOutsideForeignContent(a){switch(this.insertionMode){case J.INITIAL:{jd(this,a);break}case J.BEFORE_HTML:{aue(this,a);break}case J.BEFORE_HEAD:{nue(this,a);break}case J.IN_HEAD:{iue(this,a);break}case J.IN_HEAD_NO_SCRIPT:{sue(this,a);break}case J.AFTER_HEAD:{oue(this,a);break}case J.IN_BODY:{qy(this,a);break}case J.TEXT:{Gue(this,a);break}case J.IN_TABLE:{bc(this,a);break}case J.IN_TABLE_TEXT:{zd(this,a);break}case J.IN_CAPTION:{ioe(this,a);break}case J.IN_COLUMN_GROUP:{roe(this,a);break}case J.IN_TABLE_BODY:{dA(this,a);break}case J.IN_ROW:{LP(this,a);break}case J.IN_CELL:{uoe(this,a);break}case J.IN_SELECT:{PP(this,a);break}case J.IN_SELECT_IN_TABLE:{loe(this,a);break}case J.IN_TEMPLATE:{doe(this,a);break}case J.AFTER_BODY:{OP(this,a);break}case J.IN_FRAMESET:{foe(this,a);break}case J.AFTER_FRAMESET:{moe(this,a);break}case J.AFTER_AFTER_BODY:{E2(this,a);break}}}onEof(a){switch(this.insertionMode){case J.INITIAL:{jd(this,a);break}case J.BEFORE_HTML:{R0(this,a);break}case J.BEFORE_HEAD:{P0(this,a);break}case J.IN_HEAD:{M0(this,a);break}case J.IN_HEAD_NO_SCRIPT:{O0(this,a);break}case J.AFTER_HEAD:{B0(this,a);break}case J.IN_BODY:case J.IN_TABLE:case J.IN_CAPTION:case J.IN_COLUMN_GROUP:case J.IN_TABLE_BODY:case J.IN_ROW:case J.IN_CELL:case J.IN_SELECT:case J.IN_SELECT_IN_TABLE:{wP(this,a);break}case J.TEXT:{Wue(this,a);break}case J.IN_TABLE_TEXT:{zd(this,a);break}case J.IN_TEMPLATE:{MP(this,a);break}case J.AFTER_BODY:case J.IN_FRAMESET:case J.AFTER_FRAMESET:case J.AFTER_AFTER_BODY:case J.AFTER_AFTER_FRAMESET:{Qv(this,a);break}}}onWhitespaceCharacter(a){if(this.skipNextNewLine&&(this.skipNextNewLine=!1,a.chars.charCodeAt(0)===V.LINE_FEED)){if(a.chars.length===1)return;a.chars=a.chars.substr(1)}if(this.tokenizer.inForeignNode){this._insertCharacters(a);return}switch(this.insertionMode){case J.IN_HEAD:case J.IN_HEAD_NO_SCRIPT:case J.AFTER_HEAD:case J.TEXT:case J.IN_COLUMN_GROUP:case J.IN_SELECT:case J.IN_SELECT_IN_TABLE:case J.IN_FRAMESET:case J.AFTER_FRAMESET:{this._insertCharacters(a);break}case J.IN_BODY:case J.IN_CAPTION:case J.IN_CELL:case J.IN_TEMPLATE:case J.AFTER_BODY:case J.AFTER_AFTER_BODY:case J.AFTER_AFTER_FRAMESET:{DP(this,a);break}case J.IN_TABLE:case J.IN_TABLE_BODY:case J.IN_ROW:{Rb(this,a);break}case J.IN_TABLE_TEXT:{_P(this,a);break}}}};function qse(e,a){let t=e.activeFormattingElements.getElementEntryInScopeWithTagName(a.tagName);return t?e.openElements.contains(t.element)?e.openElements.hasInScope(a.tagID)||(t=null):(e.activeFormattingElements.removeEntry(t),t=null):CP(e,a),t}function Vse(e,a){let t=null,n=e.openElements.stackTop;for(;n>=0;n--){const i=e.openElements.items[n];if(i===a.element)break;e._isSpecialElement(i,e.openElements.tagIDs[n])&&(t=i)}return t||(e.openElements.shortenToLength(n<0?0:n),e.activeFormattingElements.removeEntry(a)),t}function Gse(e,a,t){let n=a,i=e.openElements.getCommonAncestor(a);for(let r=0,s=i;s!==t;r++,s=i){i=e.openElements.getCommonAncestor(s);const u=e.activeFormattingElements.getElementEntry(s),o=u&&r>=Kse;!u||o?(o&&e.activeFormattingElements.removeEntry(u),e.openElements.remove(s)):(s=Wse(e,u),n===a&&(e.activeFormattingElements.bookmark=u),e.treeAdapter.detachNode(n),e.treeAdapter.appendChild(s,n),n=s)}return n}function Wse(e,a){const t=e.treeAdapter.getNamespaceURI(a.element),n=e.treeAdapter.createElement(a.token.tagName,t,a.token.attrs);return e.openElements.replace(a.element,n),a.element=n,n}function Yse(e,a,t){const n=e.treeAdapter.getTagName(a),i=Ky(n);if(e._isElementCausesFosterParenting(i))e._fosterParentElement(t);else{const r=e.treeAdapter.getNamespaceURI(a);i===S.TEMPLATE&&r===me.HTML&&(a=e.treeAdapter.getTemplateContent(a)),e.treeAdapter.appendChild(a,t)}}function Xse(e,a,t){const n=e.treeAdapter.getNamespaceURI(t.element),{token:i}=t,r=e.treeAdapter.createElement(i.tagName,n,i.attrs);e._adoptNodes(a,r),e.treeAdapter.appendChild(a,r),e.activeFormattingElements.insertElementAfterBookmark(r,i),e.activeFormattingElements.removeEntry(t),e.openElements.remove(t.element),e.openElements.insertAfter(a,r,i.tagID)}function Xv(e,a){for(let t=0;t<$se;t++){const n=qse(e,a);if(!n)break;const i=Vse(e,n);if(!i)break;e.activeFormattingElements.bookmark=n;const r=Gse(e,i,n.element),s=e.openElements.getCommonAncestor(n.element);e.treeAdapter.detachNode(r),s&&Yse(e,s,r),Xse(e,i,n)}}function gA(e,a){e._appendCommentNode(a,e.openElements.currentTmplContentOrNode)}function Qse(e,a){e._appendCommentNode(a,e.openElements.items[0])}function Zse(e,a){e._appendCommentNode(a,e.document)}function Qv(e,a){if(e.stopped=!0,a.location){const t=e.fragmentContext?0:2;for(let n=e.openElements.stackTop;n>=t;n--)e._setEndLocation(e.openElements.items[n],a);if(!e.fragmentContext&&e.openElements.stackTop>=0){const n=e.openElements.items[0],i=e.treeAdapter.getNodeSourceCodeLocation(n);if(i&&!i.endTag&&(e._setEndLocation(n,a),e.openElements.stackTop>=1)){const r=e.openElements.items[1],s=e.treeAdapter.getNodeSourceCodeLocation(r);s&&!s.endTag&&e._setEndLocation(r,a)}}}}function Jse(e,a){e._setDocumentType(a);const t=a.forceQuirks?ei.QUIRKS:_se(a);wse(a)||e._err(a,fe.nonConformingDoctype),e.treeAdapter.setDocumentMode(e.document,t),e.insertionMode=J.BEFORE_HTML}function jd(e,a){e._err(a,fe.missingDoctype,!0),e.treeAdapter.setDocumentMode(e.document,ei.QUIRKS),e.insertionMode=J.BEFORE_HTML,e._processToken(a)}function eue(e,a){a.tagID===S.HTML?(e._insertElement(a,me.HTML),e.insertionMode=J.BEFORE_HEAD):R0(e,a)}function aue(e,a){const t=a.tagID;(t===S.HTML||t===S.HEAD||t===S.BODY||t===S.BR)&&R0(e,a)}function R0(e,a){e._insertFakeRootElement(),e.insertionMode=J.BEFORE_HEAD,e._processToken(a)}function tue(e,a){switch(a.tagID){case S.HTML:{_n(e,a);break}case S.HEAD:{e._insertElement(a,me.HTML),e.headElement=e.openElements.current,e.insertionMode=J.IN_HEAD;break}default:P0(e,a)}}function nue(e,a){const t=a.tagID;t===S.HEAD||t===S.BODY||t===S.HTML||t===S.BR?P0(e,a):e._err(a,fe.endTagWithoutMatchingOpenElement)}function P0(e,a){e._insertFakeElement(ue.HEAD,S.HEAD),e.headElement=e.openElements.current,e.insertionMode=J.IN_HEAD,e._processToken(a)}function Lr(e,a){switch(a.tagID){case S.HTML:{_n(e,a);break}case S.BASE:case S.BASEFONT:case S.BGSOUND:case S.LINK:case S.META:{e._appendElement(a,me.HTML),a.ackSelfClosing=!0;break}case S.TITLE:{e._switchToTextParsing(a,ni.RCDATA);break}case S.NOSCRIPT:{e.options.scriptingEnabled?e._switchToTextParsing(a,ni.RAWTEXT):(e._insertElement(a,me.HTML),e.insertionMode=J.IN_HEAD_NO_SCRIPT);break}case S.NOFRAMES:case S.STYLE:{e._switchToTextParsing(a,ni.RAWTEXT);break}case S.SCRIPT:{e._switchToTextParsing(a,ni.SCRIPT_DATA);break}case S.TEMPLATE:{e._insertTemplate(a),e.activeFormattingElements.insertMarker(),e.framesetOk=!1,e.insertionMode=J.IN_TEMPLATE,e.tmplInsertionModeStack.unshift(J.IN_TEMPLATE);break}case S.HEAD:{e._err(a,fe.misplacedStartTagForHeadElement);break}default:M0(e,a)}}function iue(e,a){switch(a.tagID){case S.HEAD:{e.openElements.pop(),e.insertionMode=J.AFTER_HEAD;break}case S.BODY:case S.BR:case S.HTML:{M0(e,a);break}case S.TEMPLATE:{bl(e,a);break}default:e._err(a,fe.endTagWithoutMatchingOpenElement)}}function bl(e,a){e.openElements.tmplCount>0?(e.openElements.generateImpliedEndTagsThoroughly(),e.openElements.currentTagId!==S.TEMPLATE&&e._err(a,fe.closingOfElementWithOpenChildElements),e.openElements.popUntilTagNamePopped(S.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e.tmplInsertionModeStack.shift(),e._resetInsertionMode()):e._err(a,fe.endTagWithoutMatchingOpenElement)}function M0(e,a){e.openElements.pop(),e.insertionMode=J.AFTER_HEAD,e._processToken(a)}function rue(e,a){switch(a.tagID){case S.HTML:{_n(e,a);break}case S.BASEFONT:case S.BGSOUND:case S.HEAD:case S.LINK:case S.META:case S.NOFRAMES:case S.STYLE:{Lr(e,a);break}case S.NOSCRIPT:{e._err(a,fe.nestedNoscriptInHead);break}default:O0(e,a)}}function sue(e,a){switch(a.tagID){case S.NOSCRIPT:{e.openElements.pop(),e.insertionMode=J.IN_HEAD;break}case S.BR:{O0(e,a);break}default:e._err(a,fe.endTagWithoutMatchingOpenElement)}}function O0(e,a){const t=a.type===_a.EOF?fe.openElementsLeftAfterEof:fe.disallowedContentInNoscriptInHead;e._err(a,t),e.openElements.pop(),e.insertionMode=J.IN_HEAD,e._processToken(a)}function uue(e,a){switch(a.tagID){case S.HTML:{_n(e,a);break}case S.BODY:{e._insertElement(a,me.HTML),e.framesetOk=!1,e.insertionMode=J.IN_BODY;break}case S.FRAMESET:{e._insertElement(a,me.HTML),e.insertionMode=J.IN_FRAMESET;break}case S.BASE:case S.BASEFONT:case S.BGSOUND:case S.LINK:case S.META:case S.NOFRAMES:case S.SCRIPT:case S.STYLE:case S.TEMPLATE:case S.TITLE:{e._err(a,fe.abandonedHeadElementChild),e.openElements.push(e.headElement,S.HEAD),Lr(e,a),e.openElements.remove(e.headElement);break}case S.HEAD:{e._err(a,fe.misplacedStartTagForHeadElement);break}default:B0(e,a)}}function oue(e,a){switch(a.tagID){case S.BODY:case S.HTML:case S.BR:{B0(e,a);break}case S.TEMPLATE:{bl(e,a);break}default:e._err(a,fe.endTagWithoutMatchingOpenElement)}}function B0(e,a){e._insertFakeElement(ue.BODY,S.BODY),e.insertionMode=J.IN_BODY,Hy(e,a)}function Hy(e,a){switch(a.type){case _a.CHARACTER:{xP(e,a);break}case _a.WHITESPACE_CHARACTER:{DP(e,a);break}case _a.COMMENT:{gA(e,a);break}case _a.START_TAG:{_n(e,a);break}case _a.END_TAG:{qy(e,a);break}case _a.EOF:{wP(e,a);break}}}function DP(e,a){e._reconstructActiveFormattingElements(),e._insertCharacters(a)}function xP(e,a){e._reconstructActiveFormattingElements(),e._insertCharacters(a),e.framesetOk=!1}function lue(e,a){e.openElements.tmplCount===0&&e.treeAdapter.adoptAttributes(e.openElements.items[0],a.attrs)}function gue(e,a){const t=e.openElements.tryPeekProperlyNestedBodyElement();t&&e.openElements.tmplCount===0&&(e.framesetOk=!1,e.treeAdapter.adoptAttributes(t,a.attrs))}function due(e,a){const t=e.openElements.tryPeekProperlyNestedBodyElement();e.framesetOk&&t&&(e.treeAdapter.detachNode(t),e.openElements.popAllUpToHtmlElement(),e._insertElement(a,me.HTML),e.insertionMode=J.IN_FRAMESET)}function cue(e,a){e.openElements.hasInButtonScope(S.P)&&e._closePElement(),e._insertElement(a,me.HTML)}function pue(e,a){e.openElements.hasInButtonScope(S.P)&&e._closePElement(),dP(e.openElements.currentTagId)&&e.openElements.pop(),e._insertElement(a,me.HTML)}function fue(e,a){e.openElements.hasInButtonScope(S.P)&&e._closePElement(),e._insertElement(a,me.HTML),e.skipNextNewLine=!0,e.framesetOk=!1}function hue(e,a){const t=e.openElements.tmplCount>0;(!e.formElement||t)&&(e.openElements.hasInButtonScope(S.P)&&e._closePElement(),e._insertElement(a,me.HTML),t||(e.formElement=e.openElements.current))}function mue(e,a){e.framesetOk=!1;const t=a.tagID;for(let n=e.openElements.stackTop;n>=0;n--){const i=e.openElements.tagIDs[n];if(t===S.LI&&i===S.LI||(t===S.DD||t===S.DT)&&(i===S.DD||i===S.DT)){e.openElements.generateImpliedEndTagsWithExclusion(i),e.openElements.popUntilTagNamePopped(i);break}if(i!==S.ADDRESS&&i!==S.DIV&&i!==S.P&&e._isSpecialElement(e.openElements.items[n],i))break}e.openElements.hasInButtonScope(S.P)&&e._closePElement(),e._insertElement(a,me.HTML)}function yue(e,a){e.openElements.hasInButtonScope(S.P)&&e._closePElement(),e._insertElement(a,me.HTML),e.tokenizer.state=ni.PLAINTEXT}function bue(e,a){e.openElements.hasInScope(S.BUTTON)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(S.BUTTON)),e._reconstructActiveFormattingElements(),e._insertElement(a,me.HTML),e.framesetOk=!1}function Tue(e,a){const t=e.activeFormattingElements.getElementEntryInScopeWithTagName(ue.A);t&&(Xv(e,a),e.openElements.remove(t.element),e.activeFormattingElements.removeEntry(t)),e._reconstructActiveFormattingElements(),e._insertElement(a,me.HTML),e.activeFormattingElements.pushElement(e.openElements.current,a)}function Sue(e,a){e._reconstructActiveFormattingElements(),e._insertElement(a,me.HTML),e.activeFormattingElements.pushElement(e.openElements.current,a)}function Aue(e,a){e._reconstructActiveFormattingElements(),e.openElements.hasInScope(S.NOBR)&&(Xv(e,a),e._reconstructActiveFormattingElements()),e._insertElement(a,me.HTML),e.activeFormattingElements.pushElement(e.openElements.current,a)}function vue(e,a){e._reconstructActiveFormattingElements(),e._insertElement(a,me.HTML),e.activeFormattingElements.insertMarker(),e.framesetOk=!1}function Due(e,a){e.treeAdapter.getDocumentMode(e.document)!==ei.QUIRKS&&e.openElements.hasInButtonScope(S.P)&&e._closePElement(),e._insertElement(a,me.HTML),e.framesetOk=!1,e.insertionMode=J.IN_TABLE}function EP(e,a){e._reconstructActiveFormattingElements(),e._appendElement(a,me.HTML),e.framesetOk=!1,a.ackSelfClosing=!0}function kP(e){const a=gP(e,Bu.TYPE);return a!=null&&a.toLowerCase()===zse}function xue(e,a){e._reconstructActiveFormattingElements(),e._appendElement(a,me.HTML),kP(a)||(e.framesetOk=!1),a.ackSelfClosing=!0}function Eue(e,a){e._appendElement(a,me.HTML),a.ackSelfClosing=!0}function kue(e,a){e.openElements.hasInButtonScope(S.P)&&e._closePElement(),e._appendElement(a,me.HTML),e.framesetOk=!1,a.ackSelfClosing=!0}function Cue(e,a){a.tagName=ue.IMG,a.tagID=S.IMG,EP(e,a)}function wue(e,a){e._insertElement(a,me.HTML),e.skipNextNewLine=!0,e.tokenizer.state=ni.RCDATA,e.originalInsertionMode=e.insertionMode,e.framesetOk=!1,e.insertionMode=J.TEXT}function _ue(e,a){e.openElements.hasInButtonScope(S.P)&&e._closePElement(),e._reconstructActiveFormattingElements(),e.framesetOk=!1,e._switchToTextParsing(a,ni.RAWTEXT)}function Iue(e,a){e.framesetOk=!1,e._switchToTextParsing(a,ni.RAWTEXT)}function QE(e,a){e._switchToTextParsing(a,ni.RAWTEXT)}function Nue(e,a){e._reconstructActiveFormattingElements(),e._insertElement(a,me.HTML),e.framesetOk=!1,e.insertionMode=e.insertionMode===J.IN_TABLE||e.insertionMode===J.IN_CAPTION||e.insertionMode===J.IN_TABLE_BODY||e.insertionMode===J.IN_ROW||e.insertionMode===J.IN_CELL?J.IN_SELECT_IN_TABLE:J.IN_SELECT}function Lue(e,a){e.openElements.currentTagId===S.OPTION&&e.openElements.pop(),e._reconstructActiveFormattingElements(),e._insertElement(a,me.HTML)}function Rue(e,a){e.openElements.hasInScope(S.RUBY)&&e.openElements.generateImpliedEndTags(),e._insertElement(a,me.HTML)}function Pue(e,a){e.openElements.hasInScope(S.RUBY)&&e.openElements.generateImpliedEndTagsWithExclusion(S.RTC),e._insertElement(a,me.HTML)}function Mue(e,a){e._reconstructActiveFormattingElements(),TP(a),Yv(a),a.selfClosing?e._appendElement(a,me.MATHML):e._insertElement(a,me.MATHML),a.ackSelfClosing=!0}function Oue(e,a){e._reconstructActiveFormattingElements(),SP(a),Yv(a),a.selfClosing?e._appendElement(a,me.SVG):e._insertElement(a,me.SVG),a.ackSelfClosing=!0}function ZE(e,a){e._reconstructActiveFormattingElements(),e._insertElement(a,me.HTML)}function _n(e,a){switch(a.tagID){case S.I:case S.S:case S.B:case S.U:case S.EM:case S.TT:case S.BIG:case S.CODE:case S.FONT:case S.SMALL:case S.STRIKE:case S.STRONG:{Sue(e,a);break}case S.A:{Tue(e,a);break}case S.H1:case S.H2:case S.H3:case S.H4:case S.H5:case S.H6:{pue(e,a);break}case S.P:case S.DL:case S.OL:case S.UL:case S.DIV:case S.DIR:case S.NAV:case S.MAIN:case S.MENU:case S.ASIDE:case S.CENTER:case S.FIGURE:case S.FOOTER:case S.HEADER:case S.HGROUP:case S.DIALOG:case S.DETAILS:case S.ADDRESS:case S.ARTICLE:case S.SECTION:case S.SUMMARY:case S.FIELDSET:case S.BLOCKQUOTE:case S.FIGCAPTION:{cue(e,a);break}case S.LI:case S.DD:case S.DT:{mue(e,a);break}case S.BR:case S.IMG:case S.WBR:case S.AREA:case S.EMBED:case S.KEYGEN:{EP(e,a);break}case S.HR:{kue(e,a);break}case S.RB:case S.RTC:{Rue(e,a);break}case S.RT:case S.RP:{Pue(e,a);break}case S.PRE:case S.LISTING:{fue(e,a);break}case S.XMP:{_ue(e,a);break}case S.SVG:{Oue(e,a);break}case S.HTML:{lue(e,a);break}case S.BASE:case S.LINK:case S.META:case S.STYLE:case S.TITLE:case S.SCRIPT:case S.BGSOUND:case S.BASEFONT:case S.TEMPLATE:{Lr(e,a);break}case S.BODY:{gue(e,a);break}case S.FORM:{hue(e,a);break}case S.NOBR:{Aue(e,a);break}case S.MATH:{Mue(e,a);break}case S.TABLE:{Due(e,a);break}case S.INPUT:{xue(e,a);break}case S.PARAM:case S.TRACK:case S.SOURCE:{Eue(e,a);break}case S.IMAGE:{Cue(e,a);break}case S.BUTTON:{bue(e,a);break}case S.APPLET:case S.OBJECT:case S.MARQUEE:{vue(e,a);break}case S.IFRAME:{Iue(e,a);break}case S.SELECT:{Nue(e,a);break}case S.OPTION:case S.OPTGROUP:{Lue(e,a);break}case S.NOEMBED:{QE(e,a);break}case S.FRAMESET:{due(e,a);break}case S.TEXTAREA:{wue(e,a);break}case S.NOSCRIPT:{e.options.scriptingEnabled?QE(e,a):ZE(e,a);break}case S.PLAINTEXT:{yue(e,a);break}case S.COL:case S.TH:case S.TD:case S.TR:case S.HEAD:case S.FRAME:case S.TBODY:case S.TFOOT:case S.THEAD:case S.CAPTION:case S.COLGROUP:break;default:ZE(e,a)}}function Bue(e,a){if(e.openElements.hasInScope(S.BODY)&&(e.insertionMode=J.AFTER_BODY,e.options.sourceCodeLocationInfo)){const t=e.openElements.tryPeekProperlyNestedBodyElement();t&&e._setEndLocation(t,a)}}function Fue(e,a){e.openElements.hasInScope(S.BODY)&&(e.insertionMode=J.AFTER_BODY,OP(e,a))}function Uue(e,a){const t=a.tagID;e.openElements.hasInScope(t)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(t))}function jue(e){const a=e.openElements.tmplCount>0,{formElement:t}=e;a||(e.formElement=null),(t||a)&&e.openElements.hasInScope(S.FORM)&&(e.openElements.generateImpliedEndTags(),a?e.openElements.popUntilTagNamePopped(S.FORM):t&&e.openElements.remove(t))}function zue(e){e.openElements.hasInButtonScope(S.P)||e._insertFakeElement(ue.P,S.P),e._closePElement()}function $ue(e){e.openElements.hasInListItemScope(S.LI)&&(e.openElements.generateImpliedEndTagsWithExclusion(S.LI),e.openElements.popUntilTagNamePopped(S.LI))}function Kue(e,a){const t=a.tagID;e.openElements.hasInScope(t)&&(e.openElements.generateImpliedEndTagsWithExclusion(t),e.openElements.popUntilTagNamePopped(t))}function Hue(e){e.openElements.hasNumberedHeaderInScope()&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilNumberedHeaderPopped())}function que(e,a){const t=a.tagID;e.openElements.hasInScope(t)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(t),e.activeFormattingElements.clearToLastMarker())}function Vue(e){e._reconstructActiveFormattingElements(),e._insertFakeElement(ue.BR,S.BR),e.openElements.pop(),e.framesetOk=!1}function CP(e,a){const t=a.tagName,n=a.tagID;for(let i=e.openElements.stackTop;i>0;i--){const r=e.openElements.items[i],s=e.openElements.tagIDs[i];if(n===s&&(n!==S.UNKNOWN||e.treeAdapter.getTagName(r)===t)){e.openElements.generateImpliedEndTagsWithExclusion(n),e.openElements.stackTop>=i&&e.openElements.shortenToLength(i);break}if(e._isSpecialElement(r,s))break}}function qy(e,a){switch(a.tagID){case S.A:case S.B:case S.I:case S.S:case S.U:case S.EM:case S.TT:case S.BIG:case S.CODE:case S.FONT:case S.NOBR:case S.SMALL:case S.STRIKE:case S.STRONG:{Xv(e,a);break}case S.P:{zue(e);break}case S.DL:case S.UL:case S.OL:case S.DIR:case S.DIV:case S.NAV:case S.PRE:case S.MAIN:case S.MENU:case S.ASIDE:case S.BUTTON:case S.CENTER:case S.FIGURE:case S.FOOTER:case S.HEADER:case S.HGROUP:case S.DIALOG:case S.ADDRESS:case S.ARTICLE:case S.DETAILS:case S.SECTION:case S.SUMMARY:case S.LISTING:case S.FIELDSET:case S.BLOCKQUOTE:case S.FIGCAPTION:{Uue(e,a);break}case S.LI:{$ue(e);break}case S.DD:case S.DT:{Kue(e,a);break}case S.H1:case S.H2:case S.H3:case S.H4:case S.H5:case S.H6:{Hue(e);break}case S.BR:{Vue(e);break}case S.BODY:{Bue(e,a);break}case S.HTML:{Fue(e,a);break}case S.FORM:{jue(e);break}case S.APPLET:case S.OBJECT:case S.MARQUEE:{que(e,a);break}case S.TEMPLATE:{bl(e,a);break}default:CP(e,a)}}function wP(e,a){e.tmplInsertionModeStack.length>0?MP(e,a):Qv(e,a)}function Gue(e,a){var t;a.tagID===S.SCRIPT&&((t=e.scriptHandler)===null||t===void 0||t.call(e,e.openElements.current)),e.openElements.pop(),e.insertionMode=e.originalInsertionMode}function Wue(e,a){e._err(a,fe.eofInElementThatCanContainOnlyText),e.openElements.pop(),e.insertionMode=e.originalInsertionMode,e.onEof(a)}function Rb(e,a){if(AP.has(e.openElements.currentTagId))switch(e.pendingCharacterTokens.length=0,e.hasNonWhitespacePendingCharacterToken=!1,e.originalInsertionMode=e.insertionMode,e.insertionMode=J.IN_TABLE_TEXT,a.type){case _a.CHARACTER:{IP(e,a);break}case _a.WHITESPACE_CHARACTER:{_P(e,a);break}}else Tp(e,a)}function Yue(e,a){e.openElements.clearBackToTableContext(),e.activeFormattingElements.insertMarker(),e._insertElement(a,me.HTML),e.insertionMode=J.IN_CAPTION}function Xue(e,a){e.openElements.clearBackToTableContext(),e._insertElement(a,me.HTML),e.insertionMode=J.IN_COLUMN_GROUP}function Que(e,a){e.openElements.clearBackToTableContext(),e._insertFakeElement(ue.COLGROUP,S.COLGROUP),e.insertionMode=J.IN_COLUMN_GROUP,Zv(e,a)}function Zue(e,a){e.openElements.clearBackToTableContext(),e._insertElement(a,me.HTML),e.insertionMode=J.IN_TABLE_BODY}function Jue(e,a){e.openElements.clearBackToTableContext(),e._insertFakeElement(ue.TBODY,S.TBODY),e.insertionMode=J.IN_TABLE_BODY,Vy(e,a)}function eoe(e,a){e.openElements.hasInTableScope(S.TABLE)&&(e.openElements.popUntilTagNamePopped(S.TABLE),e._resetInsertionMode(),e._processStartTag(a))}function aoe(e,a){kP(a)?e._appendElement(a,me.HTML):Tp(e,a),a.ackSelfClosing=!0}function toe(e,a){!e.formElement&&e.openElements.tmplCount===0&&(e._insertElement(a,me.HTML),e.formElement=e.openElements.current,e.openElements.pop())}function Ug(e,a){switch(a.tagID){case S.TD:case S.TH:case S.TR:{Jue(e,a);break}case S.STYLE:case S.SCRIPT:case S.TEMPLATE:{Lr(e,a);break}case S.COL:{Que(e,a);break}case S.FORM:{toe(e,a);break}case S.TABLE:{eoe(e,a);break}case S.TBODY:case S.TFOOT:case S.THEAD:{Zue(e,a);break}case S.INPUT:{aoe(e,a);break}case S.CAPTION:{Yue(e,a);break}case S.COLGROUP:{Xue(e,a);break}default:Tp(e,a)}}function bc(e,a){switch(a.tagID){case S.TABLE:{e.openElements.hasInTableScope(S.TABLE)&&(e.openElements.popUntilTagNamePopped(S.TABLE),e._resetInsertionMode());break}case S.TEMPLATE:{bl(e,a);break}case S.BODY:case S.CAPTION:case S.COL:case S.COLGROUP:case S.HTML:case S.TBODY:case S.TD:case S.TFOOT:case S.TH:case S.THEAD:case S.TR:break;default:Tp(e,a)}}function Tp(e,a){const t=e.fosterParentingEnabled;e.fosterParentingEnabled=!0,Hy(e,a),e.fosterParentingEnabled=t}function _P(e,a){e.pendingCharacterTokens.push(a)}function IP(e,a){e.pendingCharacterTokens.push(a),e.hasNonWhitespacePendingCharacterToken=!0}function zd(e,a){let t=0;if(e.hasNonWhitespacePendingCharacterToken)for(;t<e.pendingCharacterTokens.length;t++)Tp(e,e.pendingCharacterTokens[t]);else for(;t<e.pendingCharacterTokens.length;t++)e._insertCharacters(e.pendingCharacterTokens[t]);e.insertionMode=e.originalInsertionMode,e._processToken(a)}const NP=new Set([S.CAPTION,S.COL,S.COLGROUP,S.TBODY,S.TD,S.TFOOT,S.TH,S.THEAD,S.TR]);function noe(e,a){const t=a.tagID;NP.has(t)?e.openElements.hasInTableScope(S.CAPTION)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(S.CAPTION),e.activeFormattingElements.clearToLastMarker(),e.insertionMode=J.IN_TABLE,Ug(e,a)):_n(e,a)}function ioe(e,a){const t=a.tagID;switch(t){case S.CAPTION:case S.TABLE:{e.openElements.hasInTableScope(S.CAPTION)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(S.CAPTION),e.activeFormattingElements.clearToLastMarker(),e.insertionMode=J.IN_TABLE,t===S.TABLE&&bc(e,a));break}case S.BODY:case S.COL:case S.COLGROUP:case S.HTML:case S.TBODY:case S.TD:case S.TFOOT:case S.TH:case S.THEAD:case S.TR:break;default:qy(e,a)}}function Zv(e,a){switch(a.tagID){case S.HTML:{_n(e,a);break}case S.COL:{e._appendElement(a,me.HTML),a.ackSelfClosing=!0;break}case S.TEMPLATE:{Lr(e,a);break}default:Oh(e,a)}}function roe(e,a){switch(a.tagID){case S.COLGROUP:{e.openElements.currentTagId===S.COLGROUP&&(e.openElements.pop(),e.insertionMode=J.IN_TABLE);break}case S.TEMPLATE:{bl(e,a);break}case S.COL:break;default:Oh(e,a)}}function Oh(e,a){e.openElements.currentTagId===S.COLGROUP&&(e.openElements.pop(),e.insertionMode=J.IN_TABLE,e._processToken(a))}function Vy(e,a){switch(a.tagID){case S.TR:{e.openElements.clearBackToTableBodyContext(),e._insertElement(a,me.HTML),e.insertionMode=J.IN_ROW;break}case S.TH:case S.TD:{e.openElements.clearBackToTableBodyContext(),e._insertFakeElement(ue.TR,S.TR),e.insertionMode=J.IN_ROW,Gy(e,a);break}case S.CAPTION:case S.COL:case S.COLGROUP:case S.TBODY:case S.TFOOT:case S.THEAD:{e.openElements.hasTableBodyContextInTableScope()&&(e.openElements.clearBackToTableBodyContext(),e.openElements.pop(),e.insertionMode=J.IN_TABLE,Ug(e,a));break}default:Ug(e,a)}}function dA(e,a){const t=a.tagID;switch(a.tagID){case S.TBODY:case S.TFOOT:case S.THEAD:{e.openElements.hasInTableScope(t)&&(e.openElements.clearBackToTableBodyContext(),e.openElements.pop(),e.insertionMode=J.IN_TABLE);break}case S.TABLE:{e.openElements.hasTableBodyContextInTableScope()&&(e.openElements.clearBackToTableBodyContext(),e.openElements.pop(),e.insertionMode=J.IN_TABLE,bc(e,a));break}case S.BODY:case S.CAPTION:case S.COL:case S.COLGROUP:case S.HTML:case S.TD:case S.TH:case S.TR:break;default:bc(e,a)}}function Gy(e,a){switch(a.tagID){case S.TH:case S.TD:{e.openElements.clearBackToTableRowContext(),e._insertElement(a,me.HTML),e.insertionMode=J.IN_CELL,e.activeFormattingElements.insertMarker();break}case S.CAPTION:case S.COL:case S.COLGROUP:case S.TBODY:case S.TFOOT:case S.THEAD:case S.TR:{e.openElements.hasInTableScope(S.TR)&&(e.openElements.clearBackToTableRowContext(),e.openElements.pop(),e.insertionMode=J.IN_TABLE_BODY,Vy(e,a));break}default:Ug(e,a)}}function LP(e,a){switch(a.tagID){case S.TR:{e.openElements.hasInTableScope(S.TR)&&(e.openElements.clearBackToTableRowContext(),e.openElements.pop(),e.insertionMode=J.IN_TABLE_BODY);break}case S.TABLE:{e.openElements.hasInTableScope(S.TR)&&(e.openElements.clearBackToTableRowContext(),e.openElements.pop(),e.insertionMode=J.IN_TABLE_BODY,dA(e,a));break}case S.TBODY:case S.TFOOT:case S.THEAD:{(e.openElements.hasInTableScope(a.tagID)||e.openElements.hasInTableScope(S.TR))&&(e.openElements.clearBackToTableRowContext(),e.openElements.pop(),e.insertionMode=J.IN_TABLE_BODY,dA(e,a));break}case S.BODY:case S.CAPTION:case S.COL:case S.COLGROUP:case S.HTML:case S.TD:case S.TH:break;default:bc(e,a)}}function soe(e,a){const t=a.tagID;NP.has(t)?(e.openElements.hasInTableScope(S.TD)||e.openElements.hasInTableScope(S.TH))&&(e._closeTableCell(),Gy(e,a)):_n(e,a)}function uoe(e,a){const t=a.tagID;switch(t){case S.TD:case S.TH:{e.openElements.hasInTableScope(t)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(t),e.activeFormattingElements.clearToLastMarker(),e.insertionMode=J.IN_ROW);break}case S.TABLE:case S.TBODY:case S.TFOOT:case S.THEAD:case S.TR:{e.openElements.hasInTableScope(t)&&(e._closeTableCell(),LP(e,a));break}case S.BODY:case S.CAPTION:case S.COL:case S.COLGROUP:case S.HTML:break;default:qy(e,a)}}function RP(e,a){switch(a.tagID){case S.HTML:{_n(e,a);break}case S.OPTION:{e.openElements.currentTagId===S.OPTION&&e.openElements.pop(),e._insertElement(a,me.HTML);break}case S.OPTGROUP:{e.openElements.currentTagId===S.OPTION&&e.openElements.pop(),e.openElements.currentTagId===S.OPTGROUP&&e.openElements.pop(),e._insertElement(a,me.HTML);break}case S.INPUT:case S.KEYGEN:case S.TEXTAREA:case S.SELECT:{e.openElements.hasInSelectScope(S.SELECT)&&(e.openElements.popUntilTagNamePopped(S.SELECT),e._resetInsertionMode(),a.tagID!==S.SELECT&&e._processStartTag(a));break}case S.SCRIPT:case S.TEMPLATE:{Lr(e,a);break}}}function PP(e,a){switch(a.tagID){case S.OPTGROUP:{e.openElements.stackTop>0&&e.openElements.currentTagId===S.OPTION&&e.openElements.tagIDs[e.openElements.stackTop-1]===S.OPTGROUP&&e.openElements.pop(),e.openElements.currentTagId===S.OPTGROUP&&e.openElements.pop();break}case S.OPTION:{e.openElements.currentTagId===S.OPTION&&e.openElements.pop();break}case S.SELECT:{e.openElements.hasInSelectScope(S.SELECT)&&(e.openElements.popUntilTagNamePopped(S.SELECT),e._resetInsertionMode());break}case S.TEMPLATE:{bl(e,a);break}}}function ooe(e,a){const t=a.tagID;t===S.CAPTION||t===S.TABLE||t===S.TBODY||t===S.TFOOT||t===S.THEAD||t===S.TR||t===S.TD||t===S.TH?(e.openElements.popUntilTagNamePopped(S.SELECT),e._resetInsertionMode(),e._processStartTag(a)):RP(e,a)}function loe(e,a){const t=a.tagID;t===S.CAPTION||t===S.TABLE||t===S.TBODY||t===S.TFOOT||t===S.THEAD||t===S.TR||t===S.TD||t===S.TH?e.openElements.hasInTableScope(t)&&(e.openElements.popUntilTagNamePopped(S.SELECT),e._resetInsertionMode(),e.onEndTag(a)):PP(e,a)}function goe(e,a){switch(a.tagID){case S.BASE:case S.BASEFONT:case S.BGSOUND:case S.LINK:case S.META:case S.NOFRAMES:case S.SCRIPT:case S.STYLE:case S.TEMPLATE:case S.TITLE:{Lr(e,a);break}case S.CAPTION:case S.COLGROUP:case S.TBODY:case S.TFOOT:case S.THEAD:{e.tmplInsertionModeStack[0]=J.IN_TABLE,e.insertionMode=J.IN_TABLE,Ug(e,a);break}case S.COL:{e.tmplInsertionModeStack[0]=J.IN_COLUMN_GROUP,e.insertionMode=J.IN_COLUMN_GROUP,Zv(e,a);break}case S.TR:{e.tmplInsertionModeStack[0]=J.IN_TABLE_BODY,e.insertionMode=J.IN_TABLE_BODY,Vy(e,a);break}case S.TD:case S.TH:{e.tmplInsertionModeStack[0]=J.IN_ROW,e.insertionMode=J.IN_ROW,Gy(e,a);break}default:e.tmplInsertionModeStack[0]=J.IN_BODY,e.insertionMode=J.IN_BODY,_n(e,a)}}function doe(e,a){a.tagID===S.TEMPLATE&&bl(e,a)}function MP(e,a){e.openElements.tmplCount>0?(e.openElements.popUntilTagNamePopped(S.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e.tmplInsertionModeStack.shift(),e._resetInsertionMode(),e.onEof(a)):Qv(e,a)}function coe(e,a){a.tagID===S.HTML?_n(e,a):Bh(e,a)}function OP(e,a){var t;if(a.tagID===S.HTML){if(e.fragmentContext||(e.insertionMode=J.AFTER_AFTER_BODY),e.options.sourceCodeLocationInfo&&e.openElements.tagIDs[0]===S.HTML){e._setEndLocation(e.openElements.items[0],a);const n=e.openElements.items[1];n&&!(!((t=e.treeAdapter.getNodeSourceCodeLocation(n))===null||t===void 0)&&t.endTag)&&e._setEndLocation(n,a)}}else Bh(e,a)}function Bh(e,a){e.insertionMode=J.IN_BODY,Hy(e,a)}function poe(e,a){switch(a.tagID){case S.HTML:{_n(e,a);break}case S.FRAMESET:{e._insertElement(a,me.HTML);break}case S.FRAME:{e._appendElement(a,me.HTML),a.ackSelfClosing=!0;break}case S.NOFRAMES:{Lr(e,a);break}}}function foe(e,a){a.tagID===S.FRAMESET&&!e.openElements.isRootHtmlElementCurrent()&&(e.openElements.pop(),!e.fragmentContext&&e.openElements.currentTagId!==S.FRAMESET&&(e.insertionMode=J.AFTER_FRAMESET))}function hoe(e,a){switch(a.tagID){case S.HTML:{_n(e,a);break}case S.NOFRAMES:{Lr(e,a);break}}}function moe(e,a){a.tagID===S.HTML&&(e.insertionMode=J.AFTER_AFTER_FRAMESET)}function yoe(e,a){a.tagID===S.HTML?_n(e,a):E2(e,a)}function E2(e,a){e.insertionMode=J.IN_BODY,Hy(e,a)}function boe(e,a){switch(a.tagID){case S.HTML:{_n(e,a);break}case S.NOFRAMES:{Lr(e,a);break}}}function Toe(e,a){a.chars=dt,e._insertCharacters(a)}function Soe(e,a){e._insertCharacters(a),e.framesetOk=!1}function BP(e){for(;e.treeAdapter.getNamespaceURI(e.openElements.current)!==me.HTML&&!e._isIntegrationPoint(e.openElements.currentTagId,e.openElements.current);)e.openElements.pop()}function Aoe(e,a){if(Ose(a))BP(e),e._startTagOutsideForeignContent(a);else{const t=e._getAdjustedCurrentElement(),n=e.treeAdapter.getNamespaceURI(t);n===me.MATHML?TP(a):n===me.SVG&&(Bse(a),SP(a)),Yv(a),a.selfClosing?e._appendElement(a,n):e._insertElement(a,n),a.ackSelfClosing=!0}}function voe(e,a){if(a.tagID===S.P||a.tagID===S.BR){BP(e),e._endTagOutsideForeignContent(a);return}for(let t=e.openElements.stackTop;t>0;t--){const n=e.openElements.items[t];if(e.treeAdapter.getNamespaceURI(n)===me.HTML){e._endTagOutsideForeignContent(a);break}const i=e.treeAdapter.getTagName(n);if(i.toLowerCase()===a.tagName){a.tagName=i,e.openElements.shortenToLength(t);break}}}const Doe=new Set([ue.AREA,ue.BASE,ue.BASEFONT,ue.BGSOUND,ue.BR,ue.COL,ue.EMBED,ue.FRAME,ue.HR,ue.IMG,ue.INPUT,ue.KEYGEN,ue.LINK,ue.META,ue.PARAM,ue.SOURCE,ue.TRACK,ue.WBR]);function xoe(e,a){return a.treeAdapter.isElementNode(e)&&a.treeAdapter.getNamespaceURI(e)===me.HTML&&Doe.has(a.treeAdapter.getTagName(e))}const Eoe={treeAdapter:Lo,scriptingEnabled:!0};function koe(e,a){const t={...Eoe,...a};return FP(e,t)}function Coe(e,a){let t="";const n=a.treeAdapter.isElementNode(e)&&a.treeAdapter.getTagName(e)===ue.TEMPLATE&&a.treeAdapter.getNamespaceURI(e)===me.HTML?a.treeAdapter.getTemplateContent(e):e,i=a.treeAdapter.getChildNodes(n);if(i)for(const r of i)t+=FP(r,a);return t}function FP(e,a){return a.treeAdapter.isElementNode(e)?woe(e,a):a.treeAdapter.isTextNode(e)?Ioe(e,a):a.treeAdapter.isCommentNode(e)?Noe(e,a):a.treeAdapter.isDocumentTypeNode(e)?Loe(e,a):""}function woe(e,a){const t=a.treeAdapter.getTagName(e);return`<${t}${_oe(e,a)}>${xoe(e,a)?"":`${Coe(e,a)}</${t}>`}`}function _oe(e,{treeAdapter:a}){let t="";for(const n of a.getAttrList(e)){if(t+=" ",!n.namespace)t+=n.name;else switch(n.namespace){case me.XML:{t+=`xml:${n.name}`;break}case me.XMLNS:{n.name!=="xmlns"&&(t+="xmlns:"),t+=n.name;break}case me.XLINK:{t+=`xlink:${n.name}`;break}default:t+=`${n.prefix}:${n.name}`}t+=`="${kR(n.value)}"`}return t}function Ioe(e,a){const{treeAdapter:t}=a,n=t.getTextNodeContent(e),i=t.getParentNode(e),r=i&&t.isElementNode(i)&&t.getTagName(i);return r&&t.getNamespaceURI(i)===me.HTML&&gse(r,a.scriptingEnabled)?n:CR(n)}function Noe(e,{treeAdapter:a}){return`<!--${a.getCommentNodeContent(e)}-->`}function Loe(e,{treeAdapter:a}){return`<!DOCTYPE ${a.getDocumentTypeNodeName(e)}>`}function Roe(e,a){return vP.parse(e,a)}function Poe(e,a,t){typeof e=="string"&&(t=a,a=e,e=null);const n=vP.getFragmentParser(e,t);return n.tokenizer.write(a,!0),n.getFragment()}function JE(e){return new hc(e)}function e8(e){const a=e.includes('"')?"'":'"';return a+e+a}function Moe(e,a,t){let n="!DOCTYPE ";return e&&(n+=e),a?n+=` PUBLIC ${e8(a)}`:t&&(n+=" SYSTEM"),t&&(n+=` ${e8(t)}`),n}const Gl={isCommentNode:By,isElementNode:ra,isTextNode:os,createDocument(){const e=new Zo([]);return e["x-mode"]=ei.NO_QUIRKS,e},createDocumentFragment(){return new Zo([])},createElement(e,a,t){const n=Object.create(null),i=Object.create(null),r=Object.create(null);for(let u=0;u<t.length;u++){const o=t[u].name;n[o]=t[u].value,i[o]=t[u].namespace,r[o]=t[u].prefix}const s=new Mv(e,n,[]);return s.namespace=a,s["x-attribsNamespace"]=i,s["x-attribsPrefix"]=r,s},createCommentNode(e){return new Lv(e)},appendChild(e,a){const t=e.children[e.children.length-1];t&&(t.next=a,a.prev=t),e.children.push(a),a.parent=e},insertBefore(e,a,t){const n=e.children.indexOf(t),{prev:i}=t;i&&(i.next=a,a.prev=i),t.prev=a,a.next=t,e.children.splice(n,0,a),a.parent=e},setTemplateContent(e,a){Gl.appendChild(e,a)},getTemplateContent(e){return e.children[0]},setDocumentType(e,a,t,n){const i=Moe(a,t,n);let r=e.children.find(s=>eA(s)&&s.name==="!doctype");r?r.data=i??null:(r=new Rv("!doctype",i),Gl.appendChild(e,r)),r["x-name"]=a??void 0,r["x-publicId"]=t??void 0,r["x-systemId"]=n??void 0},setDocumentMode(e,a){e["x-mode"]=a},getDocumentMode(e){return e["x-mode"]},detachNode(e){if(e.parent){const a=e.parent.children.indexOf(e),{prev:t,next:n}=e;e.prev=null,e.next=null,t&&(t.next=n),n&&(n.prev=t),e.parent.children.splice(a,1),e.parent=null}},insertText(e,a){const t=e.children[e.children.length-1];t&&os(t)?t.data+=a:Gl.appendChild(e,JE(a))},insertTextBefore(e,a,t){const n=e.children[e.children.indexOf(t)-1];n&&os(n)?n.data+=a:Gl.insertBefore(e,JE(a),t)},adoptAttributes(e,a){for(let t=0;t<a.length;t++){const n=a[t].name;typeof e.attribs[n]>"u"&&(e.attribs[n]=a[t].value,e["x-attribsNamespace"][n]=a[t].namespace,e["x-attribsPrefix"][n]=a[t].prefix)}},getFirstChild(e){return e.children[0]},getChildNodes(e){return e.children},getParentNode(e){return e.parent},getAttrList(e){return e.attributes},getTagName(e){return e.name},getNamespaceURI(e){return e.namespace},getTextNodeContent(e){return e.data},getCommentNodeContent(e){return e.data},getDocumentTypeNodeName(e){var a;return(a=e["x-name"])!==null&&a!==void 0?a:""},getDocumentTypeNodePublicId(e){var a;return(a=e["x-publicId"])!==null&&a!==void 0?a:""},getDocumentTypeNodeSystemId(e){var a;return(a=e["x-systemId"])!==null&&a!==void 0?a:""},isDocumentTypeNode(e){return eA(e)&&e.name==="!doctype"},setNodeSourceCodeLocation(e,a){a&&(e.startIndex=a.startOffset,e.endIndex=a.endOffset),e.sourceCodeLocation=a},getNodeSourceCodeLocation(e){return e.sourceCodeLocation},updateNodeSourceCodeLocation(e,a){a.endOffset!=null&&(e.endIndex=a.endOffset),e.sourceCodeLocation={...e.sourceCodeLocation,...a}}};function Ooe(e,a,t,n){const i={scriptingEnabled:typeof a.scriptingEnabled=="boolean"?a.scriptingEnabled:!0,treeAdapter:Gl,sourceCodeLocationInfo:a.sourceCodeLocationInfo};return t?Roe(e,i):Poe(n,e,i)}const Boe={treeAdapter:Gl};function Foe(e){const a="length"in e?e:[e];for(let n=0;n<a.length;n+=1){const i=a[n];ml(i)&&Array.prototype.splice.call(a,n,1,...i.children)}let t="";for(let n=0;n<a.length;n+=1){const i=a[n];t+=koe(i,Boe)}return t}var je;(function(e){e[e.Tab=9]="Tab",e[e.NewLine=10]="NewLine",e[e.FormFeed=12]="FormFeed",e[e.CarriageReturn=13]="CarriageReturn",e[e.Space=32]="Space",e[e.ExclamationMark=33]="ExclamationMark",e[e.Number=35]="Number",e[e.Amp=38]="Amp",e[e.SingleQuote=39]="SingleQuote",e[e.DoubleQuote=34]="DoubleQuote",e[e.Dash=45]="Dash",e[e.Slash=47]="Slash",e[e.Zero=48]="Zero",e[e.Nine=57]="Nine",e[e.Semi=59]="Semi",e[e.Lt=60]="Lt",e[e.Eq=61]="Eq",e[e.Gt=62]="Gt",e[e.Questionmark=63]="Questionmark",e[e.UpperA=65]="UpperA",e[e.LowerA=97]="LowerA",e[e.UpperF=70]="UpperF",e[e.LowerF=102]="LowerF",e[e.UpperZ=90]="UpperZ",e[e.LowerZ=122]="LowerZ",e[e.LowerX=120]="LowerX",e[e.OpeningSquareBracket=91]="OpeningSquareBracket"})(je||(je={}));var Se;(function(e){e[e.Text=1]="Text",e[e.BeforeTagName=2]="BeforeTagName",e[e.InTagName=3]="InTagName",e[e.InSelfClosingTag=4]="InSelfClosingTag",e[e.BeforeClosingTagName=5]="BeforeClosingTagName",e[e.InClosingTagName=6]="InClosingTagName",e[e.AfterClosingTagName=7]="AfterClosingTagName",e[e.BeforeAttributeName=8]="BeforeAttributeName",e[e.InAttributeName=9]="InAttributeName",e[e.AfterAttributeName=10]="AfterAttributeName",e[e.BeforeAttributeValue=11]="BeforeAttributeValue",e[e.InAttributeValueDq=12]="InAttributeValueDq",e[e.InAttributeValueSq=13]="InAttributeValueSq",e[e.InAttributeValueNq=14]="InAttributeValueNq",e[e.BeforeDeclaration=15]="BeforeDeclaration",e[e.InDeclaration=16]="InDeclaration",e[e.InProcessingInstruction=17]="InProcessingInstruction",e[e.BeforeComment=18]="BeforeComment",e[e.CDATASequence=19]="CDATASequence",e[e.InSpecialComment=20]="InSpecialComment",e[e.InCommentLike=21]="InCommentLike",e[e.BeforeSpecialS=22]="BeforeSpecialS",e[e.SpecialStartSequence=23]="SpecialStartSequence",e[e.InSpecialTag=24]="InSpecialTag",e[e.BeforeEntity=25]="BeforeEntity",e[e.BeforeNumericEntity=26]="BeforeNumericEntity",e[e.InNamedEntity=27]="InNamedEntity",e[e.InNumericEntity=28]="InNumericEntity",e[e.InHexEntity=29]="InHexEntity"})(Se||(Se={}));function ws(e){return e===je.Space||e===je.NewLine||e===je.Tab||e===je.FormFeed||e===je.CarriageReturn}function df(e){return e===je.Slash||e===je.Gt||ws(e)}function a8(e){return e>=je.Zero&&e<=je.Nine}function Uoe(e){return e>=je.LowerA&&e<=je.LowerZ||e>=je.UpperA&&e<=je.UpperZ}function joe(e){return e>=je.UpperA&&e<=je.UpperF||e>=je.LowerA&&e<=je.LowerF}var Qr;(function(e){e[e.NoValue=0]="NoValue",e[e.Unquoted=1]="Unquoted",e[e.Single=2]="Single",e[e.Double=3]="Double"})(Qr||(Qr={}));const Wn={Cdata:new Uint8Array([67,68,65,84,65,91]),CdataEnd:new Uint8Array([93,93,62]),CommentEnd:new Uint8Array([45,45,62]),ScriptEnd:new Uint8Array([60,47,115,99,114,105,112,116]),StyleEnd:new Uint8Array([60,47,115,116,121,108,101]),TitleEnd:new Uint8Array([60,47,116,105,116,108,101])};class zoe{constructor({xmlMode:a=!1,decodeEntities:t=!0},n){this.cbs=n,this.state=Se.Text,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=Se.Text,this.isSpecial=!1,this.running=!0,this.offset=0,this.currentSequence=void 0,this.sequenceIndex=0,this.trieIndex=0,this.trieCurrent=0,this.entityResult=0,this.entityExcess=0,this.xmlMode=a,this.decodeEntities=t,this.entityTrie=a?AR:Is}reset(){this.state=Se.Text,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=Se.Text,this.currentSequence=void 0,this.running=!0,this.offset=0}write(a){this.offset+=this.buffer.length,this.buffer=a,this.parse()}end(){this.running&&this.finish()}pause(){this.running=!1}resume(){this.running=!0,this.index<this.buffer.length+this.offset&&this.parse()}getIndex(){return this.index}getSectionStart(){return this.sectionStart}stateText(a){a===je.Lt||!this.decodeEntities&&this.fastForwardTo(je.Lt)?(this.index>this.sectionStart&&this.cbs.ontext(this.sectionStart,this.index),this.state=Se.BeforeTagName,this.sectionStart=this.index):this.decodeEntities&&a===je.Amp&&(this.state=Se.BeforeEntity)}stateSpecialStartSequence(a){const t=this.sequenceIndex===this.currentSequence.length;if(!(t?df(a):(a|32)===this.currentSequence[this.sequenceIndex]))this.isSpecial=!1;else if(!t){this.sequenceIndex++;return}this.sequenceIndex=0,this.state=Se.InTagName,this.stateInTagName(a)}stateInSpecialTag(a){if(this.sequenceIndex===this.currentSequence.length){if(a===je.Gt||ws(a)){const t=this.index-this.currentSequence.length;if(this.sectionStart<t){const n=this.index;this.index=t,this.cbs.ontext(this.sectionStart,t),this.index=n}this.isSpecial=!1,this.sectionStart=t+2,this.stateInClosingTagName(a);return}this.sequenceIndex=0}(a|32)===this.currentSequence[this.sequenceIndex]?this.sequenceIndex+=1:this.sequenceIndex===0?this.currentSequence===Wn.TitleEnd?this.decodeEntities&&a===je.Amp&&(this.state=Se.BeforeEntity):this.fastForwardTo(je.Lt)&&(this.sequenceIndex=1):this.sequenceIndex=+(a===je.Lt)}stateCDATASequence(a){a===Wn.Cdata[this.sequenceIndex]?++this.sequenceIndex===Wn.Cdata.length&&(this.state=Se.InCommentLike,this.currentSequence=Wn.CdataEnd,this.sequenceIndex=0,this.sectionStart=this.index+1):(this.sequenceIndex=0,this.state=Se.InDeclaration,this.stateInDeclaration(a))}fastForwardTo(a){for(;++this.index<this.buffer.length+this.offset;)if(this.buffer.charCodeAt(this.index-this.offset)===a)return!0;return this.index=this.buffer.length+this.offset-1,!1}stateInCommentLike(a){a===this.currentSequence[this.sequenceIndex]?++this.sequenceIndex===this.currentSequence.length&&(this.currentSequence===Wn.CdataEnd?this.cbs.oncdata(this.sectionStart,this.index,2):this.cbs.oncomment(this.sectionStart,this.index,2),this.sequenceIndex=0,this.sectionStart=this.index+1,this.state=Se.Text):this.sequenceIndex===0?this.fastForwardTo(this.currentSequence[0])&&(this.sequenceIndex=1):a!==this.currentSequence[this.sequenceIndex-1]&&(this.sequenceIndex=0)}isTagStartChar(a){return this.xmlMode?!df(a):Uoe(a)}startSpecial(a,t){this.isSpecial=!0,this.currentSequence=a,this.sequenceIndex=t,this.state=Se.SpecialStartSequence}stateBeforeTagName(a){if(a===je.ExclamationMark)this.state=Se.BeforeDeclaration,this.sectionStart=this.index+1;else if(a===je.Questionmark)this.state=Se.InProcessingInstruction,this.sectionStart=this.index+1;else if(this.isTagStartChar(a)){const t=a|32;this.sectionStart=this.index,!this.xmlMode&&t===Wn.TitleEnd[2]?this.startSpecial(Wn.TitleEnd,3):this.state=!this.xmlMode&&t===Wn.ScriptEnd[2]?Se.BeforeSpecialS:Se.InTagName}else a===je.Slash?this.state=Se.BeforeClosingTagName:(this.state=Se.Text,this.stateText(a))}stateInTagName(a){df(a)&&(this.cbs.onopentagname(this.sectionStart,this.index),this.sectionStart=-1,this.state=Se.BeforeAttributeName,this.stateBeforeAttributeName(a))}stateBeforeClosingTagName(a){ws(a)||(a===je.Gt?this.state=Se.Text:(this.state=this.isTagStartChar(a)?Se.InClosingTagName:Se.InSpecialComment,this.sectionStart=this.index))}stateInClosingTagName(a){(a===je.Gt||ws(a))&&(this.cbs.onclosetag(this.sectionStart,this.index),this.sectionStart=-1,this.state=Se.AfterClosingTagName,this.stateAfterClosingTagName(a))}stateAfterClosingTagName(a){(a===je.Gt||this.fastForwardTo(je.Gt))&&(this.state=Se.Text,this.baseState=Se.Text,this.sectionStart=this.index+1)}stateBeforeAttributeName(a){a===je.Gt?(this.cbs.onopentagend(this.index),this.isSpecial?(this.state=Se.InSpecialTag,this.sequenceIndex=0):this.state=Se.Text,this.baseState=this.state,this.sectionStart=this.index+1):a===je.Slash?this.state=Se.InSelfClosingTag:ws(a)||(this.state=Se.InAttributeName,this.sectionStart=this.index)}stateInSelfClosingTag(a){a===je.Gt?(this.cbs.onselfclosingtag(this.index),this.state=Se.Text,this.baseState=Se.Text,this.sectionStart=this.index+1,this.isSpecial=!1):ws(a)||(this.state=Se.BeforeAttributeName,this.stateBeforeAttributeName(a))}stateInAttributeName(a){(a===je.Eq||df(a))&&(this.cbs.onattribname(this.sectionStart,this.index),this.sectionStart=-1,this.state=Se.AfterAttributeName,this.stateAfterAttributeName(a))}stateAfterAttributeName(a){a===je.Eq?this.state=Se.BeforeAttributeValue:a===je.Slash||a===je.Gt?(this.cbs.onattribend(Qr.NoValue,this.index),this.state=Se.BeforeAttributeName,this.stateBeforeAttributeName(a)):ws(a)||(this.cbs.onattribend(Qr.NoValue,this.index),this.state=Se.InAttributeName,this.sectionStart=this.index)}stateBeforeAttributeValue(a){a===je.DoubleQuote?(this.state=Se.InAttributeValueDq,this.sectionStart=this.index+1):a===je.SingleQuote?(this.state=Se.InAttributeValueSq,this.sectionStart=this.index+1):ws(a)||(this.sectionStart=this.index,this.state=Se.InAttributeValueNq,this.stateInAttributeValueNoQuotes(a))}handleInAttributeValue(a,t){a===t||!this.decodeEntities&&this.fastForwardTo(t)?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(t===je.DoubleQuote?Qr.Double:Qr.Single,this.index),this.state=Se.BeforeAttributeName):this.decodeEntities&&a===je.Amp&&(this.baseState=this.state,this.state=Se.BeforeEntity)}stateInAttributeValueDoubleQuotes(a){this.handleInAttributeValue(a,je.DoubleQuote)}stateInAttributeValueSingleQuotes(a){this.handleInAttributeValue(a,je.SingleQuote)}stateInAttributeValueNoQuotes(a){ws(a)||a===je.Gt?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(Qr.Unquoted,this.index),this.state=Se.BeforeAttributeName,this.stateBeforeAttributeName(a)):this.decodeEntities&&a===je.Amp&&(this.baseState=this.state,this.state=Se.BeforeEntity)}stateBeforeDeclaration(a){a===je.OpeningSquareBracket?(this.state=Se.CDATASequence,this.sequenceIndex=0):this.state=a===je.Dash?Se.BeforeComment:Se.InDeclaration}stateInDeclaration(a){(a===je.Gt||this.fastForwardTo(je.Gt))&&(this.cbs.ondeclaration(this.sectionStart,this.index),this.state=Se.Text,this.sectionStart=this.index+1)}stateInProcessingInstruction(a){(a===je.Gt||this.fastForwardTo(je.Gt))&&(this.cbs.onprocessinginstruction(this.sectionStart,this.index),this.state=Se.Text,this.sectionStart=this.index+1)}stateBeforeComment(a){a===je.Dash?(this.state=Se.InCommentLike,this.currentSequence=Wn.CommentEnd,this.sequenceIndex=2,this.sectionStart=this.index+1):this.state=Se.InDeclaration}stateInSpecialComment(a){(a===je.Gt||this.fastForwardTo(je.Gt))&&(this.cbs.oncomment(this.sectionStart,this.index,0),this.state=Se.Text,this.sectionStart=this.index+1)}stateBeforeSpecialS(a){const t=a|32;t===Wn.ScriptEnd[3]?this.startSpecial(Wn.ScriptEnd,4):t===Wn.StyleEnd[3]?this.startSpecial(Wn.StyleEnd,4):(this.state=Se.InTagName,this.stateInTagName(a))}stateBeforeEntity(a){this.entityExcess=1,this.entityResult=0,a===je.Number?this.state=Se.BeforeNumericEntity:a===je.Amp||(this.trieIndex=0,this.trieCurrent=this.entityTrie[0],this.state=Se.InNamedEntity,this.stateInNamedEntity(a))}stateInNamedEntity(a){if(this.entityExcess+=1,this.trieIndex=Ov(this.entityTrie,this.trieCurrent,this.trieIndex+1,a),this.trieIndex<0){this.emitNamedEntity(),this.index--;return}this.trieCurrent=this.entityTrie[this.trieIndex];const t=this.trieCurrent&xi.VALUE_LENGTH;if(t){const n=(t>>14)-1;if(!this.allowLegacyEntity()&&a!==je.Semi)this.trieIndex+=n;else{const i=this.index-this.entityExcess+1;i>this.sectionStart&&this.emitPartial(this.sectionStart,i),this.entityResult=this.trieIndex,this.trieIndex+=n,this.entityExcess=0,this.sectionStart=this.index+1,n===0&&this.emitNamedEntity()}}}emitNamedEntity(){if(this.state=this.baseState,this.entityResult===0)return;switch((this.entityTrie[this.entityResult]&xi.VALUE_LENGTH)>>14){case 1:{this.emitCodePoint(this.entityTrie[this.entityResult]&~xi.VALUE_LENGTH);break}case 2:{this.emitCodePoint(this.entityTrie[this.entityResult+1]);break}case 3:this.emitCodePoint(this.entityTrie[this.entityResult+1]),this.emitCodePoint(this.entityTrie[this.entityResult+2])}}stateBeforeNumericEntity(a){(a|32)===je.LowerX?(this.entityExcess++,this.state=Se.InHexEntity):(this.state=Se.InNumericEntity,this.stateInNumericEntity(a))}emitNumericEntity(a){const t=this.index-this.entityExcess-1;t+2+ +(this.state===Se.InHexEntity)!==this.index&&(t>this.sectionStart&&this.emitPartial(this.sectionStart,t),this.sectionStart=this.index+Number(a),this.emitCodePoint(vR(this.entityResult))),this.state=this.baseState}stateInNumericEntity(a){a===je.Semi?this.emitNumericEntity(!0):a8(a)?(this.entityResult=this.entityResult*10+(a-je.Zero),this.entityExcess++):(this.allowLegacyEntity()?this.emitNumericEntity(!1):this.state=this.baseState,this.index--)}stateInHexEntity(a){a===je.Semi?this.emitNumericEntity(!0):a8(a)?(this.entityResult=this.entityResult*16+(a-je.Zero),this.entityExcess++):joe(a)?(this.entityResult=this.entityResult*16+((a|32)-je.LowerA+10),this.entityExcess++):(this.allowLegacyEntity()?this.emitNumericEntity(!1):this.state=this.baseState,this.index--)}allowLegacyEntity(){return!this.xmlMode&&(this.baseState===Se.Text||this.baseState===Se.InSpecialTag)}cleanup(){this.running&&this.sectionStart!==this.index&&(this.state===Se.Text||this.state===Se.InSpecialTag&&this.sequenceIndex===0?(this.cbs.ontext(this.sectionStart,this.index),this.sectionStart=this.index):(this.state===Se.InAttributeValueDq||this.state===Se.InAttributeValueSq||this.state===Se.InAttributeValueNq)&&(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=this.index))}shouldContinue(){return this.index<this.buffer.length+this.offset&&this.running}parse(){for(;this.shouldContinue();){const a=this.buffer.charCodeAt(this.index-this.offset);switch(this.state){case Se.Text:{this.stateText(a);break}case Se.SpecialStartSequence:{this.stateSpecialStartSequence(a);break}case Se.InSpecialTag:{this.stateInSpecialTag(a);break}case Se.CDATASequence:{this.stateCDATASequence(a);break}case Se.InAttributeValueDq:{this.stateInAttributeValueDoubleQuotes(a);break}case Se.InAttributeName:{this.stateInAttributeName(a);break}case Se.InCommentLike:{this.stateInCommentLike(a);break}case Se.InSpecialComment:{this.stateInSpecialComment(a);break}case Se.BeforeAttributeName:{this.stateBeforeAttributeName(a);break}case Se.InTagName:{this.stateInTagName(a);break}case Se.InClosingTagName:{this.stateInClosingTagName(a);break}case Se.BeforeTagName:{this.stateBeforeTagName(a);break}case Se.AfterAttributeName:{this.stateAfterAttributeName(a);break}case Se.InAttributeValueSq:{this.stateInAttributeValueSingleQuotes(a);break}case Se.BeforeAttributeValue:{this.stateBeforeAttributeValue(a);break}case Se.BeforeClosingTagName:{this.stateBeforeClosingTagName(a);break}case Se.AfterClosingTagName:{this.stateAfterClosingTagName(a);break}case Se.BeforeSpecialS:{this.stateBeforeSpecialS(a);break}case Se.InAttributeValueNq:{this.stateInAttributeValueNoQuotes(a);break}case Se.InSelfClosingTag:{this.stateInSelfClosingTag(a);break}case Se.InDeclaration:{this.stateInDeclaration(a);break}case Se.BeforeDeclaration:{this.stateBeforeDeclaration(a);break}case Se.BeforeComment:{this.stateBeforeComment(a);break}case Se.InProcessingInstruction:{this.stateInProcessingInstruction(a);break}case Se.InNamedEntity:{this.stateInNamedEntity(a);break}case Se.BeforeEntity:{this.stateBeforeEntity(a);break}case Se.InHexEntity:{this.stateInHexEntity(a);break}case Se.InNumericEntity:{this.stateInNumericEntity(a);break}default:this.stateBeforeNumericEntity(a)}this.index++}this.cleanup()}finish(){this.state===Se.InNamedEntity&&this.emitNamedEntity(),this.sectionStart<this.index&&this.handleTrailingData(),this.cbs.onend()}handleTrailingData(){const a=this.buffer.length+this.offset;this.state===Se.InCommentLike?this.currentSequence===Wn.CdataEnd?this.cbs.oncdata(this.sectionStart,a,0):this.cbs.oncomment(this.sectionStart,a,0):this.state===Se.InNumericEntity&&this.allowLegacyEntity()?this.emitNumericEntity(!1):this.state===Se.InHexEntity&&this.allowLegacyEntity()?this.emitNumericEntity(!1):this.state===Se.InTagName||this.state===Se.BeforeAttributeName||this.state===Se.BeforeAttributeValue||this.state===Se.AfterAttributeName||this.state===Se.InAttributeName||this.state===Se.InAttributeValueSq||this.state===Se.InAttributeValueDq||this.state===Se.InAttributeValueNq||this.state===Se.InClosingTagName||this.cbs.ontext(this.sectionStart,a)}emitPartial(a,t){this.baseState!==Se.Text&&this.baseState!==Se.InSpecialTag?this.cbs.onattribdata(a,t):this.cbs.ontext(a,t)}emitCodePoint(a){this.baseState!==Se.Text&&this.baseState!==Se.InSpecialTag?this.cbs.onattribentity(a):this.cbs.ontextentity(a)}}const wl=new Set(["input","option","optgroup","select","button","datalist","textarea"]),Ha=new Set(["p"]),t8=new Set(["thead","tbody"]),n8=new Set(["dd","dt"]),i8=new Set(["rt","rp"]),$oe=new Map([["tr",new Set(["tr","th","td"])],["th",new Set(["th"])],["td",new Set(["thead","th","td"])],["body",new Set(["head","link","script"])],["li",new Set(["li"])],["p",Ha],["h1",Ha],["h2",Ha],["h3",Ha],["h4",Ha],["h5",Ha],["h6",Ha],["select",wl],["input",wl],["output",wl],["button",wl],["datalist",wl],["textarea",wl],["option",new Set(["option"])],["optgroup",new Set(["optgroup","option"])],["dd",n8],["dt",n8],["address",Ha],["article",Ha],["aside",Ha],["blockquote",Ha],["details",Ha],["div",Ha],["dl",Ha],["fieldset",Ha],["figcaption",Ha],["figure",Ha],["footer",Ha],["form",Ha],["header",Ha],["hr",Ha],["main",Ha],["nav",Ha],["ol",Ha],["pre",Ha],["section",Ha],["table",Ha],["ul",Ha],["rt",i8],["rp",i8],["tbody",t8],["tfoot",t8]]),Koe=new Set(["area","base","basefont","br","col","command","embed","frame","hr","img","input","isindex","keygen","link","meta","param","source","track","wbr"]),r8=new Set(["math","svg"]),s8=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignobject","desc","title"]),Hoe=/\s|\//;class qoe{constructor(a,t={}){var n,i,r,s,u;this.options=t,this.startIndex=0,this.endIndex=0,this.openTagStart=0,this.tagname="",this.attribname="",this.attribvalue="",this.attribs=null,this.stack=[],this.foreignContext=[],this.buffers=[],this.bufferOffset=0,this.writeIndex=0,this.ended=!1,this.cbs=a??{},this.lowerCaseTagNames=(n=t.lowerCaseTags)!==null&&n!==void 0?n:!t.xmlMode,this.lowerCaseAttributeNames=(i=t.lowerCaseAttributeNames)!==null&&i!==void 0?i:!t.xmlMode,this.tokenizer=new((r=t.Tokenizer)!==null&&r!==void 0?r:zoe)(this.options,this),(u=(s=this.cbs).onparserinit)===null||u===void 0||u.call(s,this)}ontext(a,t){var n,i;const r=this.getSlice(a,t);this.endIndex=t-1,(i=(n=this.cbs).ontext)===null||i===void 0||i.call(n,r),this.startIndex=t}ontextentity(a){var t,n;const i=this.tokenizer.getSectionStart();this.endIndex=i-1,(n=(t=this.cbs).ontext)===null||n===void 0||n.call(t,aA(a)),this.startIndex=i}isVoidElement(a){return!this.options.xmlMode&&Koe.has(a)}onopentagname(a,t){this.endIndex=t;let n=this.getSlice(a,t);this.lowerCaseTagNames&&(n=n.toLowerCase()),this.emitOpenTag(n)}emitOpenTag(a){var t,n,i,r;this.openTagStart=this.startIndex,this.tagname=a;const s=!this.options.xmlMode&&$oe.get(a);if(s)for(;this.stack.length>0&&s.has(this.stack[this.stack.length-1]);){const u=this.stack.pop();(n=(t=this.cbs).onclosetag)===null||n===void 0||n.call(t,u,!0)}this.isVoidElement(a)||(this.stack.push(a),r8.has(a)?this.foreignContext.push(!0):s8.has(a)&&this.foreignContext.push(!1)),(r=(i=this.cbs).onopentagname)===null||r===void 0||r.call(i,a),this.cbs.onopentag&&(this.attribs={})}endOpenTag(a){var t,n;this.startIndex=this.openTagStart,this.attribs&&((n=(t=this.cbs).onopentag)===null||n===void 0||n.call(t,this.tagname,this.attribs,a),this.attribs=null),this.cbs.onclosetag&&this.isVoidElement(this.tagname)&&this.cbs.onclosetag(this.tagname,!0),this.tagname=""}onopentagend(a){this.endIndex=a,this.endOpenTag(!1),this.startIndex=a+1}onclosetag(a,t){var n,i,r,s,u,o;this.endIndex=t;let l=this.getSlice(a,t);if(this.lowerCaseTagNames&&(l=l.toLowerCase()),(r8.has(l)||s8.has(l))&&this.foreignContext.pop(),this.isVoidElement(l))!this.options.xmlMode&&l==="br"&&((i=(n=this.cbs).onopentagname)===null||i===void 0||i.call(n,"br"),(s=(r=this.cbs).onopentag)===null||s===void 0||s.call(r,"br",{},!0),(o=(u=this.cbs).onclosetag)===null||o===void 0||o.call(u,"br",!1));else{const g=this.stack.lastIndexOf(l);if(g!==-1)if(this.cbs.onclosetag){let d=this.stack.length-g;for(;d--;)this.cbs.onclosetag(this.stack.pop(),d!==0)}else this.stack.length=g;else!this.options.xmlMode&&l==="p"&&(this.emitOpenTag("p"),this.closeCurrentTag(!0))}this.startIndex=t+1}onselfclosingtag(a){this.endIndex=a,this.options.xmlMode||this.options.recognizeSelfClosing||this.foreignContext[this.foreignContext.length-1]?(this.closeCurrentTag(!1),this.startIndex=a+1):this.onopentagend(a)}closeCurrentTag(a){var t,n;const i=this.tagname;this.endOpenTag(a),this.stack[this.stack.length-1]===i&&((n=(t=this.cbs).onclosetag)===null||n===void 0||n.call(t,i,!a),this.stack.pop())}onattribname(a,t){this.startIndex=a;const n=this.getSlice(a,t);this.attribname=this.lowerCaseAttributeNames?n.toLowerCase():n}onattribdata(a,t){this.attribvalue+=this.getSlice(a,t)}onattribentity(a){this.attribvalue+=aA(a)}onattribend(a,t){var n,i;this.endIndex=t,(i=(n=this.cbs).onattribute)===null||i===void 0||i.call(n,this.attribname,this.attribvalue,a===Qr.Double?'"':a===Qr.Single?"'":a===Qr.NoValue?void 0:null),this.attribs&&!Object.prototype.hasOwnProperty.call(this.attribs,this.attribname)&&(this.attribs[this.attribname]=this.attribvalue),this.attribvalue=""}getInstructionName(a){const t=a.search(Hoe);let n=t<0?a:a.substr(0,t);return this.lowerCaseTagNames&&(n=n.toLowerCase()),n}ondeclaration(a,t){this.endIndex=t;const n=this.getSlice(a,t);if(this.cbs.onprocessinginstruction){const i=this.getInstructionName(n);this.cbs.onprocessinginstruction(`!${i}`,`!${n}`)}this.startIndex=t+1}onprocessinginstruction(a,t){this.endIndex=t;const n=this.getSlice(a,t);if(this.cbs.onprocessinginstruction){const i=this.getInstructionName(n);this.cbs.onprocessinginstruction(`?${i}`,`?${n}`)}this.startIndex=t+1}oncomment(a,t,n){var i,r,s,u;this.endIndex=t,(r=(i=this.cbs).oncomment)===null||r===void 0||r.call(i,this.getSlice(a,t-n)),(u=(s=this.cbs).oncommentend)===null||u===void 0||u.call(s),this.startIndex=t+1}oncdata(a,t,n){var i,r,s,u,o,l,g,d,c,p;this.endIndex=t;const f=this.getSlice(a,t-n);this.options.xmlMode||this.options.recognizeCDATA?((r=(i=this.cbs).oncdatastart)===null||r===void 0||r.call(i),(u=(s=this.cbs).ontext)===null||u===void 0||u.call(s,f),(l=(o=this.cbs).oncdataend)===null||l===void 0||l.call(o)):((d=(g=this.cbs).oncomment)===null||d===void 0||d.call(g,`[CDATA[${f}]]`),(p=(c=this.cbs).oncommentend)===null||p===void 0||p.call(c)),this.startIndex=t+1}onend(){var a,t;if(this.cbs.onclosetag){this.endIndex=this.startIndex;for(let n=this.stack.length;n>0;this.cbs.onclosetag(this.stack[--n],!0));}(t=(a=this.cbs).onend)===null||t===void 0||t.call(a)}reset(){var a,t,n,i;(t=(a=this.cbs).onreset)===null||t===void 0||t.call(a),this.tokenizer.reset(),this.tagname="",this.attribname="",this.attribs=null,this.stack.length=0,this.startIndex=0,this.endIndex=0,(i=(n=this.cbs).onparserinit)===null||i===void 0||i.call(n,this),this.buffers.length=0,this.bufferOffset=0,this.writeIndex=0,this.ended=!1}parseComplete(a){this.reset(),this.end(a)}getSlice(a,t){for(;a-this.bufferOffset>=this.buffers[0].length;)this.shiftBuffer();let n=this.buffers[0].slice(a-this.bufferOffset,t-this.bufferOffset);for(;t-this.bufferOffset>this.buffers[0].length;)this.shiftBuffer(),n+=this.buffers[0].slice(0,t-this.bufferOffset);return n}shiftBuffer(){this.bufferOffset+=this.buffers[0].length,this.writeIndex--,this.buffers.shift()}write(a){var t,n;if(this.ended){(n=(t=this.cbs).onerror)===null||n===void 0||n.call(t,new Error(".write() after done!"));return}this.buffers.push(a),this.tokenizer.running&&(this.tokenizer.write(a),this.writeIndex++)}end(a){var t,n;if(this.ended){(n=(t=this.cbs).onerror)===null||n===void 0||n.call(t,new Error(".end() after done!"));return}a&&this.write(a),this.ended=!0,this.tokenizer.end()}pause(){this.tokenizer.pause()}resume(){for(this.tokenizer.resume();this.tokenizer.running&&this.writeIndex<this.buffers.length;)this.tokenizer.write(this.buffers[this.writeIndex++]);this.ended&&this.tokenizer.end()}parseChunk(a){this.write(a)}done(a){this.end(a)}}function Voe(e,a){const t=new nne(void 0,a);return new qoe(t,a).end(e),t.root}const Goe=xre((e,a,t,n)=>a.xmlMode||a._useHtmlParser2?Voe(e,a):Ooe(e,a,t,n)),qe=ese(Goe,(e,a)=>a.xmlMode||a._useHtmlParser2?Fy(e,a):Foe(e));qe([]);var Woe=typeof self=="object"?self.FormData:window.FormData;const Jv=an(Woe);var e6={};/*!
 * cookie
 * Copyright(c) 2012-2014 Roman Shtylman
 * Copyright(c) 2015 Douglas Christopher Wilson
 * MIT Licensed
 */e6.parse=Xoe;e6.serialize=Qoe;var Yoe=Object.prototype.toString,cf=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function Xoe(e,a){if(typeof e!="string")throw new TypeError("argument str must be a string");for(var t={},n=a||{},i=n.decode||Zoe,r=0;r<e.length;){var s=e.indexOf("=",r);if(s===-1)break;var u=e.indexOf(";",r);if(u===-1)u=e.length;else if(u<s){r=e.lastIndexOf(";",s-1)+1;continue}var o=e.slice(r,s).trim();if(t[o]===void 0){var l=e.slice(s+1,u).trim();l.charCodeAt(0)===34&&(l=l.slice(1,-1)),t[o]=ale(l,i)}r=u+1}return t}function Qoe(e,a,t){var n=t||{},i=n.encode||Joe;if(typeof i!="function")throw new TypeError("option encode is invalid");if(!cf.test(e))throw new TypeError("argument name is invalid");var r=i(a);if(r&&!cf.test(r))throw new TypeError("argument val is invalid");var s=e+"="+r;if(n.maxAge!=null){var u=n.maxAge-0;if(isNaN(u)||!isFinite(u))throw new TypeError("option maxAge is invalid");s+="; Max-Age="+Math.floor(u)}if(n.domain){if(!cf.test(n.domain))throw new TypeError("option domain is invalid");s+="; Domain="+n.domain}if(n.path){if(!cf.test(n.path))throw new TypeError("option path is invalid");s+="; Path="+n.path}if(n.expires){var o=n.expires;if(!ele(o)||isNaN(o.valueOf()))throw new TypeError("option expires is invalid");s+="; Expires="+o.toUTCString()}if(n.httpOnly&&(s+="; HttpOnly"),n.secure&&(s+="; Secure"),n.partitioned&&(s+="; Partitioned"),n.priority){var l=typeof n.priority=="string"?n.priority.toLowerCase():n.priority;switch(l){case"low":s+="; Priority=Low";break;case"medium":s+="; Priority=Medium";break;case"high":s+="; Priority=High";break;default:throw new TypeError("option priority is invalid")}}if(n.sameSite){var g=typeof n.sameSite=="string"?n.sameSite.toLowerCase():n.sameSite;switch(g){case!0:s+="; SameSite=Strict";break;case"lax":s+="; SameSite=Lax";break;case"strict":s+="; SameSite=Strict";break;case"none":s+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return s}function Zoe(e){return e.indexOf("%")!==-1?decodeURIComponent(e):e}function Joe(e){return encodeURIComponent(e)}function ele(e){return Yoe.call(e)==="[object Date]"||e instanceof Date}function ale(e,a){try{return a(e)}catch{return e}}var Sp={exports:{}},Wl={decodeValues:!0,map:!1,silent:!1};function cA(e){return typeof e=="string"&&!!e.trim()}function pA(e,a){var t=e.split(";").filter(cA),n=t.shift(),i=tle(n),r=i.name,s=i.value;a=a?Object.assign({},Wl,a):Wl;try{s=a.decodeValues?decodeURIComponent(s):s}catch(o){console.error("set-cookie-parser encountered an error while decoding a cookie with value '"+s+"'. Set options.decodeValues to false to disable this feature.",o)}var u={name:r,value:s};return t.forEach(function(o){var l=o.split("="),g=l.shift().trimLeft().toLowerCase(),d=l.join("=");g==="expires"?u.expires=new Date(d):g==="max-age"?u.maxAge=parseInt(d,10):g==="secure"?u.secure=!0:g==="httponly"?u.httpOnly=!0:g==="samesite"?u.sameSite=d:g==="partitioned"?u.partitioned=!0:u[g]=d}),u}function tle(e){var a="",t="",n=e.split("=");return n.length>1?(a=n.shift(),t=n.join("=")):t=e,{name:a,value:t}}function UP(e,a){if(a=a?Object.assign({},Wl,a):Wl,!e)return a.map?{}:[];if(e.headers)if(typeof e.headers.getSetCookie=="function")e=e.headers.getSetCookie();else if(e.headers["set-cookie"])e=e.headers["set-cookie"];else{var t=e.headers[Object.keys(e.headers).find(function(i){return i.toLowerCase()==="set-cookie"})];!t&&e.headers.cookie&&!a.silent&&console.warn("Warning: set-cookie-parser appears to have been called on a request object. It is designed to parse Set-Cookie headers from responses, not Cookie headers from requests. Set the option {silent: true} to suppress this warning."),e=t}if(Array.isArray(e)||(e=[e]),a=a?Object.assign({},Wl,a):Wl,a.map){var n={};return e.filter(cA).reduce(function(i,r){var s=pA(r,a);return i[s.name]=s,i},n)}else return e.filter(cA).map(function(i){return pA(i,a)})}function nle(e){if(Array.isArray(e))return e;if(typeof e!="string")return[];var a=[],t=0,n,i,r,s,u;function o(){for(;t<e.length&&/\s/.test(e.charAt(t));)t+=1;return t<e.length}function l(){return i=e.charAt(t),i!=="="&&i!==";"&&i!==","}for(;t<e.length;){for(n=t,u=!1;o();)if(i=e.charAt(t),i===","){for(r=t,t+=1,o(),s=t;t<e.length&&l();)t+=1;t<e.length&&e.charAt(t)==="="?(u=!0,t=s,a.push(e.substring(n,r)),n=t):t=r+1}else t+=1;(!u||t>=e.length)&&a.push(e.substring(n,e.length))}return a}Sp.exports=UP;Sp.exports.parse=UP;Sp.exports.parseString=pA;Sp.exports.splitCookiesString=nle;var ile=Sp.exports;const u8=an(ile);var jP={exports:{}};/*! For license information please see hls-parser.min.js.LICENSE.txt */(function(e,a){(function(t,n){e.exports=n()})(self,()=>(()=>{var t={377:function(r,s,u){function o(E,x){return function(_){if(Array.isArray(_))return _}(E)||function(_,I){var w=_==null?null:typeof Symbol<"u"&&_[Symbol.iterator]||_["@@iterator"];if(w!=null){var C,M,$,Z,ne=[],le=!0,be=!1;try{if($=(w=w.call(_)).next,I===0){if(Object(w)!==w)return;le=!1}else for(;!(le=(C=$.call(w)).done)&&(ne.push(C.value),ne.length!==I);le=!0);}catch(Te){be=!0,M=Te}finally{try{if(!le&&w.return!=null&&(Z=w.return(),Object(Z)!==Z))return}finally{if(be)throw M}}return ne}}(E,x)||g(E,x)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function l(E,x){var _=typeof Symbol<"u"&&E[Symbol.iterator]||E["@@iterator"];if(!_){if(Array.isArray(E)||(_=g(E))||x){_&&(E=_);var I=0,w=function(){};return{s:w,n:function(){return I>=E.length?{done:!0}:{done:!1,value:E[I++]}},e:function(Z){throw Z},f:w}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var C,M=!0,$=!1;return{s:function(){_=_.call(E)},n:function(){var Z=_.next();return M=Z.done,Z},e:function(Z){$=!0,C=Z},f:function(){try{M||_.return==null||_.return()}finally{if($)throw C}}}}function g(E,x){if(E){if(typeof E=="string")return d(E,x);var _=Object.prototype.toString.call(E).slice(8,-1);return _==="Object"&&E.constructor&&(_=E.constructor.name),_==="Map"||_==="Set"?Array.from(E):_==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(_)?d(E,x):void 0}}function d(E,x){(x==null||x>E.length)&&(x=E.length);for(var _=0,I=new Array(x);_<x;_++)I[_]=E[_];return I}var c=this&&this.__createBinding||(Object.create?function(E,x,_,I){I===void 0&&(I=_);var w=Object.getOwnPropertyDescriptor(x,_);w&&!("get"in w?!x.__esModule:w.writable||w.configurable)||(w={enumerable:!0,get:function(){return x[_]}}),Object.defineProperty(E,I,w)}:function(E,x,_,I){I===void 0&&(I=_),E[I]=x[_]}),p=this&&this.__setModuleDefault||(Object.create?function(E,x){Object.defineProperty(E,"default",{enumerable:!0,value:x})}:function(E,x){E.default=x}),f=this&&this.__importStar||function(E){if(E&&E.__esModule)return E;var x={};if(E!=null)for(var _ in E)_!=="default"&&Object.prototype.hasOwnProperty.call(E,_)&&c(x,E,_);return p(x,E),x};Object.defineProperty(s,"__esModule",{value:!0});var h=f(u(203)),y=u(31);function b(E){return h.trim(E,'"')}function m(E){var x=h.splitAt(E,",");return{duration:h.toNumber(x[0]),title:decodeURIComponent(escape(x[1]))}}function T(E){var x=h.splitAt(E,"@");return{length:h.toNumber(x[0]),offset:x[1]?h.toNumber(x[1]):-1}}function A(E){var x=h.splitAt(E,"x");return{width:h.toNumber(x[0]),height:h.toNumber(x[1])}}function v(E){var x="ALLOWED-CPC: Each entry must consit of KEYFORMAT and Content Protection Configuration",_=E.split(",");_.length===0&&h.INVALIDPLAYLIST(x);var I,w=[],C=l(_);try{for(C.s();!(I=C.n()).done;){var M=I.value,$=o(h.splitAt(M,":"),2),Z=$[0],ne=$[1];Z&&ne?w.push({format:Z,cpcList:ne.split("/")}):h.INVALIDPLAYLIST(x)}}catch(le){C.e(le)}finally{C.f()}return w}function D(E){return E.startsWith('"')?b(E):E.startsWith("0x")||E.startsWith("0X")?h.hexToByteSequence(E):h.toNumber(E)}function k(E,x){x.IV&&E.compatibleVersion<2&&(E.compatibleVersion=2),(x.KEYFORMAT||x.KEYFORMATVERSIONS)&&E.compatibleVersion<5&&(E.compatibleVersion=5)}function N(E){var x,_,I,w={},C=l(h.splitByCommaWithPreservingQuotes(E));try{for(C.s();!(x=C.n()).done;){var M=x.value,$=o(h.splitAt(M,"="),2),Z=$[0],ne=$[1],le=b(ne);switch(Z){case"URI":w[Z]=le;break;case"START-DATE":case"END-DATE":w[Z]=new Date(le);break;case"IV":w[Z]=(_=le,I=void 0,(I=h.hexToByteSequence(_)).length!==16&&h.INVALIDPLAYLIST("IV must be a 128-bit unsigned integer"),I);break;case"BYTERANGE":w[Z]=T(le);break;case"RESOLUTION":w[Z]=A(le);break;case"ALLOWED-CPC":w[Z]=v(le);break;case"END-ON-NEXT":case"DEFAULT":case"AUTOSELECT":case"FORCED":case"PRECISE":case"CAN-BLOCK-RELOAD":case"INDEPENDENT":case"GAP":w[Z]=le==="YES";break;case"DURATION":case"PLANNED-DURATION":case"BANDWIDTH":case"AVERAGE-BANDWIDTH":case"FRAME-RATE":case"TIME-OFFSET":case"CAN-SKIP-UNTIL":case"HOLD-BACK":case"PART-HOLD-BACK":case"PART-TARGET":case"BYTERANGE-START":case"BYTERANGE-LENGTH":case"LAST-MSN":case"LAST-PART":case"SKIPPED-SEGMENTS":case"SCORE":case"PROGRAM-ID":w[Z]=h.toNumber(le);break;default:Z.startsWith("SCTE35-")?w[Z]=h.hexToByteSequence(le):Z.startsWith("X-")?w[Z]=D(ne):(Z==="VIDEO-RANGE"&&le!=="SDR"&&le!=="HLG"&&le!=="PQ"&&h.INVALIDPLAYLIST('VIDEO-RANGE: unknown value "'.concat(le,'"')),w[Z]=le)}}}catch(be){C.e(be)}finally{C.f()}return w}function q(){h.INVALIDPLAYLIST("The file contains both media and master playlist tags.")}function R(E,x,_){var I,w=(I=x.attributes,new y.Rendition({type:I.TYPE,uri:I.URI,groupId:I["GROUP-ID"],language:I.LANGUAGE,assocLanguage:I["ASSOC-LANGUAGE"],name:I.NAME,isDefault:I.DEFAULT,autoselect:I.AUTOSELECT,forced:I.FORCED,instreamId:I["INSTREAM-ID"],characteristics:I.CHARACTERISTICS,channels:I.CHANNELS})),C=E[h.camelify(_)],M=function($,Z){var ne,le=!1,be=l($);try{for(be.s();!(ne=be.n()).done;){var Te=ne.value;if(Te.name===Z.name)return"All EXT-X-MEDIA tags in the same Group MUST have different NAME attributes.";Te.isDefault&&(le=!0)}}catch(ye){be.e(ye)}finally{be.f()}return le&&Z.isDefault?"EXT-X-MEDIA A Group MUST NOT have more than one member with a DEFAULT attribute of YES.":""}(C,w);M&&h.INVALIDPLAYLIST(M),C.push(w),w.isDefault&&(E.currentRenditions[h.camelify(_)]=C.length-1)}function z(E,x,_,I,w){var C,M=new y.Variant({uri:_,bandwidth:x.BANDWIDTH,averageBandwidth:x["AVERAGE-BANDWIDTH"],score:x.SCORE,codecs:x.CODECS,resolution:x.RESOLUTION,frameRate:x["FRAME-RATE"],hdcpLevel:x["HDCP-LEVEL"],allowedCpc:x["ALLOWED-CPC"],videoRange:x["VIDEO-RANGE"],stableVariantId:x["STABLE-VARIANT-ID"],programId:x["PROGRAM-ID"]}),$=l(E);try{for($.s();!(C=$.n()).done;){var Z=C.value;if(Z.name==="EXT-X-MEDIA"){var ne=Z.attributes,le=ne.TYPE;if(le&&ne["GROUP-ID"]||h.INVALIDPLAYLIST("EXT-X-MEDIA TYPE attribute is REQUIRED."),x[le]===ne["GROUP-ID"]&&(R(M,Z,le),le==="CLOSED-CAPTIONS")){var be,Te=l(M.closedCaptions);try{for(Te.s();!(be=Te.n()).done;){var ye=be.value.instreamId;if(ye&&ye.startsWith("SERVICE")&&w.compatibleVersion<7){w.compatibleVersion=7;break}}}catch(de){Te.e(de)}finally{Te.f()}}}}}catch(de){$.e(de)}finally{$.f()}return function(de,Ne,Be){for(var Le=function(){var ia=Me[Fe];ia==="CLOSED-CAPTIONS"&&de[ia]==="NONE"?(Be.isClosedCaptionsNone=!0,Ne.closedCaptions=[]):de[ia]&&!Ne[h.camelify(ia)].some(function(va){return va.groupId===de[ia]})&&h.INVALIDPLAYLIST("".concat(ia," attribute MUST match the value of the GROUP-ID attribute of an EXT-X-MEDIA tag whose TYPE attribute is ").concat(ia,"."))},Fe=0,Me=["AUDIO","VIDEO","SUBTITLES","CLOSED-CAPTIONS"];Fe<Me.length;Fe++)Le()}(x,M,w),M.isIFrameOnly=I,M}function W(E,x,_,I,w,C,M){for(var $=new y.Segment({uri:x,mediaSequenceNumber:w,discontinuitySequence:C}),Z=!1,ne=!1,le=_;le<=I;le++){var be=G(E[le]),Te=be.name,ye=be.value,de=be.attributes;if(Te==="EXTINF")!Number.isInteger(ye.duration)&&M.compatibleVersion<3&&(M.compatibleVersion=3),Math.round(ye.duration)>M.targetDuration&&h.INVALIDPLAYLIST("EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration"),$.duration=ye.duration,$.title=ye.title;else if(Te==="EXT-X-BYTERANGE")M.compatibleVersion<4&&(M.compatibleVersion=4),$.byterange=ye;else if(Te==="EXT-X-DISCONTINUITY")$.parts.length>0&&h.INVALIDPLAYLIST("EXT-X-DISCONTINUITY must appear before the first EXT-X-PART tag of the Parent Segment."),$.discontinuity=!0;else if(Te==="EXT-X-GAP")M.compatibleVersion<8&&(M.compatibleVersion=8),$.gap=!0;else if(Te==="EXT-X-KEY")$.parts.length>0&&h.INVALIDPLAYLIST("EXT-X-KEY must appear before the first EXT-X-PART tag of the Parent Segment."),k(M,de),$.key=new y.Key({method:de.METHOD,uri:de.URI,iv:de.IV,format:de.KEYFORMAT,formatVersion:de.KEYFORMATVERSIONS});else if(Te==="EXT-X-MAP")$.parts.length>0&&h.INVALIDPLAYLIST("EXT-X-MAP must appear before the first EXT-X-PART tag of the Parent Segment."),M.compatibleVersion<5&&(M.compatibleVersion=5),M.hasMap=!0,$.map=new y.MediaInitializationSection({uri:de.URI,byterange:de.BYTERANGE});else if(Te==="EXT-X-PROGRAM-DATE-TIME")$.programDateTime=ye;else if(Te==="EXT-X-DATERANGE"){for(var Ne={},Be=0,Le=Object.keys(de);Be<Le.length;Be++){var Fe=Le[Be];(Fe.startsWith("SCTE35-")||Fe.startsWith("X-"))&&(Ne[Fe]=de[Fe])}$.dateRange=new y.DateRange({id:de.ID,classId:de.CLASS,start:de["START-DATE"],end:de["END-DATE"],duration:de.DURATION,plannedDuration:de["PLANNED-DURATION"],endOnNext:de["END-ON-NEXT"],attributes:Ne})}else if(Te==="EXT-X-CUE-OUT")$.markers.push(new y.SpliceInfo({type:"OUT",duration:de&&de.DURATION||ye}));else if(Te==="EXT-X-CUE-IN")$.markers.push(new y.SpliceInfo({type:"IN"}));else if(Te==="EXT-X-CUE-OUT-CONT"||Te==="EXT-X-CUE"||Te==="EXT-OATCLS-SCTE35"||Te==="EXT-X-ASSET"||Te==="EXT-X-SCTE35")$.markers.push(new y.SpliceInfo({type:"RAW",tagName:Te,value:ye}));else if(Te!=="EXT-X-PRELOAD-HINT"||de.TYPE)if(Te==="EXT-X-PRELOAD-HINT"&&de.TYPE==="PART"&&ne)h.INVALIDPLAYLIST("Servers should not add more than one EXT-X-PRELOAD-HINT tag with the same TYPE attribute to a Playlist.");else if(Te!=="EXT-X-PART"&&Te!=="EXT-X-PRELOAD-HINT"||de.URI){if(Te==="EXT-X-PRELOAD-HINT"&&de.TYPE==="MAP")Z&&h.INVALIDPLAYLIST("Servers should not add more than one EXT-X-PRELOAD-HINT tag with the same TYPE attribute to a Playlist."),Z=!0,M.hasMap=!0,$.map=new y.MediaInitializationSection({hint:!0,uri:de.URI,byterange:{length:de["BYTERANGE-LENGTH"],offset:de["BYTERANGE-START"]||0}});else if(Te==="EXT-X-PART"||Te==="EXT-X-PRELOAD-HINT"&&de.TYPE==="PART"){Te!=="EXT-X-PART"||de.DURATION||h.INVALIDPLAYLIST("EXT-X-PART: DURATION attribute is mandatory"),Te==="EXT-X-PRELOAD-HINT"&&(ne=!0);var Me=new y.PartialSegment({hint:Te==="EXT-X-PRELOAD-HINT",uri:de.URI,byterange:Te==="EXT-X-PART"?de.BYTERANGE:{length:de["BYTERANGE-LENGTH"],offset:de["BYTERANGE-START"]||0},duration:de.DURATION,independent:de.INDEPENDENT,gap:de.GAP});$.gap&&!Me.gap&&h.INVALIDPLAYLIST("Partial segments must have GAP=YES if they are in a gap (EXT-X-GAP)"),$.parts.push(Me)}}else h.INVALIDPLAYLIST("EXT-X-PART / EXT-X-PRELOAD-HINT: URI attribute is mandatory");else h.INVALIDPLAYLIST("EXT-X-PRELOAD-HINT: TYPE attribute is mandatory")}return $}function K(E,x,_,I,w,C,M){for(var $=new y.PrefetchSegment({uri:x,mediaSequenceNumber:w,discontinuitySequence:C}),Z=_;Z<=I;Z++){var ne=E[Z],le=ne.name,be=ne.attributes;le==="EXTINF"?h.INVALIDPLAYLIST("A prefetch segment must not be advertised with an EXTINF tag."):le==="EXT-X-DISCONTINUITY"?h.INVALIDPLAYLIST("A prefetch segment must not be advertised with an EXT-X-DISCONTINUITY tag."):le==="EXT-X-PREFETCH-DISCONTINUITY"?$.discontinuity=!0:le==="EXT-X-KEY"?(k(M,be),$.key=new y.Key({method:be.METHOD,uri:be.URI,iv:be.IV,format:be.KEYFORMAT,formatVersion:be.KEYFORMATVERSIONS})):le==="EXT-X-MAP"&&h.INVALIDPLAYLIST("Prefetch segments must not be advertised with an EXT-X-MAP tag.")}return $}function P(E,x){var _,I=new y.MediaPlaylist,w=-1,C=0,M=!1,$=!1,Z=0,ne=null,le=null,be=!1,Te=l(E.entries());try{for(Te.s();!(_=Te.n()).done;){var ye=o(_.value,2),de=ye[0],Ne=ye[1],Be=G(Ne),Le=Be.name,Fe=Be.value,Me=Be.attributes;if(Be.category!=="Segment"){if(Le==="EXT-X-VERSION")I.version===void 0?I.version=Fe:h.INVALIDPLAYLIST("A Playlist file MUST NOT contain more than one EXT-X-VERSION tag.");else if(Le==="EXT-X-TARGETDURATION")I.targetDuration=x.targetDuration=Fe;else if(Le==="EXT-X-MEDIA-SEQUENCE")I.segments.length>0&&h.INVALIDPLAYLIST("The EXT-X-MEDIA-SEQUENCE tag MUST appear before the first Media Segment in the Playlist."),I.mediaSequenceBase=C=Fe;else if(Le==="EXT-X-DISCONTINUITY-SEQUENCE")I.segments.length>0&&h.INVALIDPLAYLIST("The EXT-X-DISCONTINUITY-SEQUENCE tag MUST appear before the first Media Segment in the Playlist."),M&&h.INVALIDPLAYLIST("The EXT-X-DISCONTINUITY-SEQUENCE tag MUST appear before any EXT-X-DISCONTINUITY tag."),I.discontinuitySequenceBase=Z=Fe;else if(Le==="EXT-X-ENDLIST")I.endlist=!0;else if(Le==="EXT-X-PLAYLIST-TYPE")I.playlistType=Fe;else if(Le==="EXT-X-I-FRAMES-ONLY")x.compatibleVersion<4&&(x.compatibleVersion=4),I.isIFrame=!0;else if(Le==="EXT-X-INDEPENDENT-SEGMENTS")I.independentSegments&&h.INVALIDPLAYLIST("EXT-X-INDEPENDENT-SEGMENTS tag MUST NOT appear more than once in a Playlist"),I.independentSegments=!0;else if(Le==="EXT-X-START")I.start&&h.INVALIDPLAYLIST("EXT-X-START tag MUST NOT appear more than once in a Playlist"),typeof Me["TIME-OFFSET"]!="number"&&h.INVALIDPLAYLIST("EXT-X-START: TIME-OFFSET attribute is REQUIRED"),I.start={offset:Me["TIME-OFFSET"],precise:Me.PRECISE||!1};else if(Le==="EXT-X-SERVER-CONTROL")Me["CAN-BLOCK-RELOAD"]||h.INVALIDPLAYLIST("EXT-X-SERVER-CONTROL: CAN-BLOCK-RELOAD=YES is mandatory for Low-Latency HLS"),I.lowLatencyCompatibility={canBlockReload:Me["CAN-BLOCK-RELOAD"],canSkipUntil:Me["CAN-SKIP-UNTIL"],holdBack:Me["HOLD-BACK"],partHoldBack:Me["PART-HOLD-BACK"]};else if(Le==="EXT-X-PART-INF")Me["PART-TARGET"]||h.INVALIDPLAYLIST("EXT-X-PART-INF: PART-TARGET attribute is mandatory"),I.partTargetDuration=Me["PART-TARGET"];else if(Le==="EXT-X-RENDITION-REPORT")Me.URI||h.INVALIDPLAYLIST("EXT-X-RENDITION-REPORT: URI attribute is mandatory"),Me.URI.search(/^[a-z]+:/)===0&&h.INVALIDPLAYLIST("EXT-X-RENDITION-REPORT: URI must be relative to the playlist uri"),I.renditionReports.push(new y.RenditionReport({uri:Me.URI,lastMSN:Me["LAST-MSN"],lastPart:Me["LAST-PART"]}));else if(Le==="EXT-X-SKIP")Me["SKIPPED-SEGMENTS"]||h.INVALIDPLAYLIST("EXT-X-SKIP: SKIPPED-SEGMENTS attribute is mandatory"),x.compatibleVersion<9&&(x.compatibleVersion=9),I.skip=Me["SKIPPED-SEGMENTS"],C+=I.skip;else if(Le==="EXT-X-PREFETCH"){var ia=K(E,Fe,w===-1?de:w,de-1,C++,Z,x);ia&&(ia.discontinuity&&(ia.discontinuitySequence++,Z=ia.discontinuitySequence),ia.key?ne=ia.key:ia.key=ne,I.prefetchSegments.push(ia)),$=!0,w=-1}else if(typeof Ne=="string"){w===-1&&h.INVALIDPLAYLIST("A URI line is not preceded by any segment tags"),I.targetDuration||h.INVALIDPLAYLIST("The EXT-X-TARGETDURATION tag is REQUIRED"),$&&h.INVALIDPLAYLIST("These segments must appear after all complete segments.");var va=W(E,Ne,w,de-1,C++,Z,x);if(va){var ta=o(L(I,va,Z,ne,le),3);Z=ta[0],ne=ta[1],le=ta[2],!be&&va.parts.length>0&&(be=!0)}w=-1}}else w===-1&&(w=de),Le==="EXT-X-DISCONTINUITY"&&(M=!0)}}catch(ca){Te.e(ca)}finally{Te.f()}if(w!==-1){var sa=W(E,"",w,E.length-1,C++,Z,x);if(sa){var da,Ma=sa.parts;!(Ma.length>0)||I.endlist||(da=Ma.at(-1))!==null&&da!==void 0&&da.hint||h.INVALIDPLAYLIST("If the Playlist contains EXT-X-PART tags and does not contain an EXT-X-ENDLIST tag, the Playlist must contain an EXT-X-PRELOAD-HINT tag with a TYPE=PART attribute"),L(I,sa,ne,le),!be&&sa.parts.length>0&&(be=!0)}}return function(ca){for(var fa=new Map,Ua=new Map,kt=!1,At=!1,sn=ca.length-1;sn>=0;sn--){var un=ca[sn],on=un.programDateTime,Na=un.dateRange;if(on&&(At=!0),Na&&Na.start){kt=!0,Na.endOnNext&&(Na.end||Na.duration)&&h.INVALIDPLAYLIST("An EXT-X-DATERANGE tag with an END-ON-NEXT=YES attribute MUST NOT contain DURATION or END-DATE attributes.");var ot=Na.start.getTime(),vt=Na.duration||0;Na.end&&Na.duration&&ot+1e3*vt!==Na.end.getTime()&&h.INVALIDPLAYLIST("END-DATE MUST be equal to the value of the START-DATE attribute plus the value of the DURATION"),Na.endOnNext&&(Na.end=fa.get(Na.classId)),fa.set(Na.classId,Na.start);var Pt=Na.end?Na.end.getTime():Na.start.getTime()+1e3*(Na.duration||0),Vn=Ua.get(Na.classId);if(Vn){var Oi,Ut=l(Vn);try{for(Ut.s();!(Oi=Ut.n()).done;){var In=Oi.value;(In.start<=ot&&In.end>ot||In.start>=ot&&In.start<Pt)&&h.INVALIDPLAYLIST("DATERANGE tags with the same CLASS should not overlap")}}catch(An){Ut.e(An)}finally{Ut.f()}Vn.push({start:ot,end:Pt})}else Na.classId&&Ua.set(Na.classId,[{start:ot,end:Pt}])}}kt&&!At&&h.INVALIDPLAYLIST("If a Playlist contains an EXT-X-DATERANGE tag, it MUST also contain at least one EXT-X-PROGRAM-DATE-TIME tag.")}(I.segments),I.lowLatencyCompatibility&&function(ca,fa){var Ua=ca.lowLatencyCompatibility,kt=ca.targetDuration,At=ca.partTargetDuration,sn=ca.segments,un=ca.renditionReports,on=Ua.canSkipUntil,Na=Ua.holdBack,ot=Ua.partHoldBack;if(on<6*kt&&h.INVALIDPLAYLIST("The Skip Boundary must be at least six times the EXT-X-TARGETDURATION."),Na<3*kt&&h.INVALIDPLAYLIST("HOLD-BACK must be at least three times the EXT-X-TARGETDURATION."),fa){At===void 0&&h.INVALIDPLAYLIST("EXT-X-PART-INF is required if a Playlist contains one or more EXT-X-PART tags"),ot===void 0&&h.INVALIDPLAYLIST("EXT-X-PART: PART-HOLD-BACK attribute is mandatory"),ot<At&&h.INVALIDPLAYLIST("PART-HOLD-BACK must be at least PART-TARGET");var vt,Pt=l(sn.entries());try{for(Pt.s();!(vt=Pt.n()).done;){var Vn=o(vt.value,2),Oi=Vn[0],Ut=Vn[1].parts;Ut.length>0&&Oi<sn.length-3&&h.INVALIDPLAYLIST("Remove EXT-X-PART tags from the Playlist after they are greater than three target durations from the end of the Playlist.");var In,An=l(Ut.entries());try{for(An.s();!(In=An.n()).done;){var Qa=o(In.value,2),jt=Qa[0],As=Qa[1].duration;As!==void 0&&(As>At&&h.INVALIDPLAYLIST("PART-TARGET is the maximum duration of any Partial Segment"),jt<Ut.length-1&&As<.85*At&&h.INVALIDPLAYLIST("All Partial Segments except the last part of a segment must have a duration of at least 85% of PART-TARGET"))}}catch(Fi){An.e(Fi)}finally{An.f()}}}catch(Fi){Pt.e(Fi)}finally{Pt.f()}}var vs,fi=l(un);try{for(fi.s();!(vs=fi.n()).done;){var Ds,Bi=vs.value,zt=sn.at(-1);(Ds=Bi.lastMSN)!==null&&Ds!==void 0||(Bi.lastMSN=zt.mediaSequenceNumber),(Bi.lastPart===null||Bi.lastPart===void 0)&&zt.parts.length>0&&(Bi.lastPart=zt.parts.length-1)}}catch(Fi){fi.e(Fi)}finally{fi.f()}}(I,be),I}function L(E,x,_,I,w){var C=x.discontinuity,M=x.key,$=x.map,Z=x.byterange,ne=x.uri;if(C&&(x.discontinuitySequence=_+1),M||(x.key=I),$||(x.map=w),Z&&Z.offset===-1){var le=E.segments;if(le.length>0){var be=le.at(-1);be.byterange&&be.uri===ne?Z.offset=be.byterange.offset+be.byterange.length:h.INVALIDPLAYLIST("If offset of EXT-X-BYTERANGE is not present, a previous Media Segment MUST be a sub-range of the same media resource")}else h.INVALIDPLAYLIST("If offset of EXT-X-BYTERANGE is not present, a previous Media Segment MUST appear in the Playlist file")}return E.segments.push(x),[x.discontinuitySequence,x.key,x.map]}function H(E,x){var _=function(ne){var le=ne.indexOf(":");return le===-1?[ne.slice(1).trim(),null]:[ne.slice(1,le).trim(),ne.slice(le+1).trim()]}(E),I=o(_,2),w=I[0],C=I[1],M=function(ne){switch(ne){case"EXTM3U":case"EXT-X-VERSION":return"Basic";case"EXTINF":case"EXT-X-BYTERANGE":case"EXT-X-DISCONTINUITY":case"EXT-X-PREFETCH-DISCONTINUITY":case"EXT-X-KEY":case"EXT-X-MAP":case"EXT-X-PROGRAM-DATE-TIME":case"EXT-X-DATERANGE":case"EXT-X-CUE-OUT":case"EXT-X-CUE-IN":case"EXT-X-CUE-OUT-CONT":case"EXT-X-CUE":case"EXT-OATCLS-SCTE35":case"EXT-X-ASSET":case"EXT-X-SCTE35":case"EXT-X-PART":case"EXT-X-PRELOAD-HINT":case"EXT-X-GAP":return"Segment";case"EXT-X-TARGETDURATION":case"EXT-X-MEDIA-SEQUENCE":case"EXT-X-DISCONTINUITY-SEQUENCE":case"EXT-X-ENDLIST":case"EXT-X-PLAYLIST-TYPE":case"EXT-X-I-FRAMES-ONLY":case"EXT-X-SERVER-CONTROL":case"EXT-X-PART-INF":case"EXT-X-PREFETCH":case"EXT-X-RENDITION-REPORT":case"EXT-X-SKIP":return"MediaPlaylist";case"EXT-X-MEDIA":case"EXT-X-STREAM-INF":case"EXT-X-I-FRAME-STREAM-INF":case"EXT-X-SESSION-DATA":case"EXT-X-SESSION-KEY":return"MasterPlaylist";case"EXT-X-INDEPENDENT-SEGMENTS":case"EXT-X-START":return"MediaorMasterPlaylist";default:return"Unknown"}}(w);if(function(ne,le){if(ne==="Segment"||ne==="MediaPlaylist")return le.isMasterPlaylist===void 0?void(le.isMasterPlaylist=!1):void(le.isMasterPlaylist&&q());if(ne==="MasterPlaylist"){if(le.isMasterPlaylist===void 0)return void(le.isMasterPlaylist=!0);le.isMasterPlaylist===!1&&q()}}(M,x),M==="Unknown")return null;M==="MediaPlaylist"&&w!=="EXT-X-RENDITION-REPORT"&&w!=="EXT-X-PREFETCH"&&(x.hash[w]&&h.INVALIDPLAYLIST("There MUST NOT be more than one Media Playlist tag of each type in any Media Playlist"),x.hash[w]=!0);var $=function(ne,le){switch(ne){case"EXTM3U":case"EXT-X-DISCONTINUITY":case"EXT-X-ENDLIST":case"EXT-X-I-FRAMES-ONLY":case"EXT-X-INDEPENDENT-SEGMENTS":case"EXT-X-CUE-IN":case"EXT-X-GAP":return[null,null];case"EXT-X-VERSION":case"EXT-X-TARGETDURATION":case"EXT-X-MEDIA-SEQUENCE":case"EXT-X-DISCONTINUITY-SEQUENCE":return[h.toNumber(le),null];case"EXT-X-CUE-OUT":return Number.isNaN(Number(le))?[null,N(le)]:[h.toNumber(le),null];case"EXT-X-KEY":case"EXT-X-MAP":case"EXT-X-DATERANGE":case"EXT-X-MEDIA":case"EXT-X-STREAM-INF":case"EXT-X-I-FRAME-STREAM-INF":case"EXT-X-SESSION-DATA":case"EXT-X-SESSION-KEY":case"EXT-X-START":case"EXT-X-SERVER-CONTROL":case"EXT-X-PART-INF":case"EXT-X-PART":case"EXT-X-PRELOAD-HINT":case"EXT-X-RENDITION-REPORT":case"EXT-X-SKIP":return[null,N(le)];case"EXTINF":return[m(le),null];case"EXT-X-BYTERANGE":return[T(le),null];case"EXT-X-PROGRAM-DATE-TIME":return[new Date(le),null];default:return[le,null]}}(w,C),Z=o($,2);return{name:w,category:M,value:Z[0],attributes:Z[1]}}function U(E,x){var _;return x.isMasterPlaylist?_=function(I,w){var C,M=new y.MasterPlaylist,$=!1,Z=l(I.entries());try{var ne=function(){var de=o(C.value,2),Ne=de[0],Be=G(de[1]),Le=Be.name,Fe=Be.value,Me=Be.attributes;if(Le==="EXT-X-VERSION")M.version=Fe;else if(Le==="EXT-X-STREAM-INF"){var ia=I[Ne+1];(typeof ia!="string"||ia.startsWith("#EXT"))&&h.INVALIDPLAYLIST("EXT-X-STREAM-INF must be followed by a URI line");var va=z(I,Me,ia,!1,w);va&&(typeof va.score=="number"&&($=!0,va.score<0&&h.INVALIDPLAYLIST("SCORE attribute on EXT-X-STREAM-INF must be positive decimal-floating-point number.")),M.variants.push(va))}else if(Le==="EXT-X-I-FRAME-STREAM-INF"){var ta=z(I,Me,Me.URI,!0,w);ta&&M.variants.push(ta)}else if(Le==="EXT-X-SESSION-DATA"){var sa=new y.SessionData({id:Me["DATA-ID"],value:Me.VALUE,uri:Me.URI,language:Me.LANGUAGE});M.sessionDataList.some(function(Ma){return Ma.id===sa.id&&Ma.language===sa.language})&&h.INVALIDPLAYLIST("A Playlist MUST NOT contain more than one EXT-X-SESSION-DATA tag with the same DATA-ID attribute and the same LANGUAGE attribute."),M.sessionDataList.push(sa)}else if(Le==="EXT-X-SESSION-KEY"){Me.METHOD==="NONE"&&h.INVALIDPLAYLIST("EXT-X-SESSION-KEY: The value of the METHOD attribute MUST NOT be NONE");var da=new y.Key({method:Me.METHOD,uri:Me.URI,iv:Me.IV,format:Me.KEYFORMAT,formatVersion:Me.KEYFORMATVERSIONS});M.sessionKeyList.some(function(Ma){return function(ca,fa){if(ca.method!==fa.method||ca.uri!==fa.uri)return!1;if(ca.iv){if(!fa.iv||ca.iv.byteLength!==fa.iv.byteLength)return!1;for(var Ua=0;Ua<ca.iv.byteLength;Ua++)if(ca.iv[Ua]!==fa.iv[Ua])return!1}else if(fa.iv)return!1;return ca.format===fa.format&&ca.formatVersion===fa.formatVersion}(Ma,da)})&&h.INVALIDPLAYLIST("A Master Playlist MUST NOT contain more than one EXT-X-SESSION-KEY tag with the same METHOD, URI, IV, KEYFORMAT, and KEYFORMATVERSIONS attribute values."),k(w,Me),M.sessionKeyList.push(da)}else Le==="EXT-X-INDEPENDENT-SEGMENTS"?(M.independentSegments&&h.INVALIDPLAYLIST("EXT-X-INDEPENDENT-SEGMENTS tag MUST NOT appear more than once in a Playlist"),M.independentSegments=!0):Le==="EXT-X-START"&&(M.start&&h.INVALIDPLAYLIST("EXT-X-START tag MUST NOT appear more than once in a Playlist"),typeof Me["TIME-OFFSET"]!="number"&&h.INVALIDPLAYLIST("EXT-X-START: TIME-OFFSET attribute is REQUIRED"),M.start={offset:Me["TIME-OFFSET"],precise:Me.PRECISE||!1})};for(Z.s();!(C=Z.n()).done;)ne()}catch(de){Z.e(de)}finally{Z.f()}if($){var le,be=l(M.variants);try{for(be.s();!(le=be.n()).done;)typeof le.value.score!="number"&&h.INVALIDPLAYLIST("If any Variant Stream contains the SCORE attribute, then all Variant Streams in the Master Playlist SHOULD have a SCORE attribute")}catch(de){be.e(de)}finally{be.f()}}if(w.isClosedCaptionsNone){var Te,ye=l(M.variants);try{for(ye.s();!(Te=ye.n()).done;)Te.value.closedCaptions.length>0&&h.INVALIDPLAYLIST("If there is a variant with CLOSED-CAPTIONS attribute of NONE, all EXT-X-STREAM-INF tags MUST have this attribute with a value of NONE")}catch(de){ye.e(de)}finally{ye.f()}}return M}(E,x):!(_=P(E,x)).isIFrame&&x.hasMap&&x.compatibleVersion<6&&(x.compatibleVersion=6),x.compatibleVersion>1&&(!_.version||_.version<x.compatibleVersion)&&h.INVALIDPLAYLIST("EXT-X-VERSION needs to be ".concat(x.compatibleVersion," or higher.")),_}function G(E){return typeof E=="string"?{}:E}s.default=function(E){var x={version:void 0,isMasterPlaylist:void 0,hasMap:!1,targetDuration:0,compatibleVersion:1,isClosedCaptionsNone:!1,hash:{}},_=U(function(I,w){var C,M=[],$=l(I.split(`
`));try{for($.s();!(C=$.n()).done;){var Z=C.value.trim();if(Z)if(Z.startsWith("#")){if(Z.startsWith("#EXT")){var ne=H(Z,w);ne&&M.push(ne)}}else M.push(Z)}}catch(le){$.e(le)}finally{$.f()}return M.length!==0&&M[0].name==="EXTM3U"||h.INVALIDPLAYLIST("The EXTM3U tag MUST be the first line."),M}(E,x),x);return _.source=E,_}},887:function(r,s,u){function o(E){return o=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(x){return typeof x}:function(x){return x&&typeof Symbol=="function"&&x.constructor===Symbol&&x!==Symbol.prototype?"symbol":typeof x},o(E)}function l(E,x){return function(_){if(Array.isArray(_))return _}(E)||function(_,I){var w=_==null?null:typeof Symbol<"u"&&_[Symbol.iterator]||_["@@iterator"];if(w!=null){var C,M,$,Z,ne=[],le=!0,be=!1;try{if($=(w=w.call(_)).next,I===0){if(Object(w)!==w)return;le=!1}else for(;!(le=(C=$.call(w)).done)&&(ne.push(C.value),ne.length!==I);le=!0);}catch(Te){be=!0,M=Te}finally{try{if(!le&&w.return!=null&&(Z=w.return(),Object(Z)!==Z))return}finally{if(be)throw M}}return ne}}(E,x)||d(E,x)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function g(E,x){var _=typeof Symbol<"u"&&E[Symbol.iterator]||E["@@iterator"];if(!_){if(Array.isArray(E)||(_=d(E))||x){_&&(E=_);var I=0,w=function(){};return{s:w,n:function(){return I>=E.length?{done:!0}:{done:!1,value:E[I++]}},e:function(Z){throw Z},f:w}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var C,M=!0,$=!1;return{s:function(){_=_.call(E)},n:function(){var Z=_.next();return M=Z.done,Z},e:function(Z){$=!0,C=Z},f:function(){try{M||_.return==null||_.return()}finally{if($)throw C}}}}function d(E,x){if(E){if(typeof E=="string")return c(E,x);var _=Object.prototype.toString.call(E).slice(8,-1);return _==="Object"&&E.constructor&&(_=E.constructor.name),_==="Map"||_==="Set"?Array.from(E):_==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(_)?c(E,x):void 0}}function c(E,x){(x==null||x>E.length)&&(x=E.length);for(var _=0,I=new Array(x);_<x;_++)I[_]=E[_];return I}function p(E,x){for(var _=0;_<x.length;_++){var I=x[_];I.enumerable=I.enumerable||!1,I.configurable=!0,"value"in I&&(I.writable=!0),Object.defineProperty(E,A(I.key),I)}}function f(E,x,_){return x=T(x),function(I,w){if(w&&(o(w)==="object"||typeof w=="function"))return w;if(w!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return function(C){if(C===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return C}(I)}(E,b()?Reflect.construct(x,[],T(E).constructor):x.apply(E,_))}function h(){return h=typeof Reflect<"u"&&Reflect.get?Reflect.get.bind():function(E,x,_){var I=function(C,M){for(;!Object.prototype.hasOwnProperty.call(C,M)&&(C=T(C))!==null;);return C}(E,x);if(I){var w=Object.getOwnPropertyDescriptor(I,x);return w.get?w.get.call(arguments.length<3?E:_):w.value}},h.apply(this,arguments)}function y(E){var x=typeof Map=="function"?new Map:void 0;return y=function(_){if(_===null||!function(w){try{return Function.toString.call(w).indexOf("[native code]")!==-1}catch{return typeof w=="function"}}(_))return _;if(typeof _!="function")throw new TypeError("Super expression must either be null or a function");if(x!==void 0){if(x.has(_))return x.get(_);x.set(_,I)}function I(){return function(w,C,M){if(b())return Reflect.construct.apply(null,arguments);var $=[null];$.push.apply($,C);var Z=new(w.bind.apply(w,$));return M&&m(Z,M.prototype),Z}(_,arguments,T(this).constructor)}return I.prototype=Object.create(_.prototype,{constructor:{value:I,enumerable:!1,writable:!0,configurable:!0}}),m(I,_)},y(E)}function b(){try{var E=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(b=function(){return!!E})()}function m(E,x){return m=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(_,I){return _.__proto__=I,_},m(E,x)}function T(E){return T=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(x){return x.__proto__||Object.getPrototypeOf(x)},T(E)}function A(E){var x=function(_,I){if(o(_)!="object"||!_)return _;var w=_[Symbol.toPrimitive];if(w!==void 0){var C=w.call(_,I);if(o(C)!="object")return C;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(_)}(E,"string");return o(x)=="symbol"?x:x+""}var v=this&&this.__createBinding||(Object.create?function(E,x,_,I){I===void 0&&(I=_);var w=Object.getOwnPropertyDescriptor(x,_);w&&!("get"in w?!x.__esModule:w.writable||w.configurable)||(w={enumerable:!0,get:function(){return x[_]}}),Object.defineProperty(E,I,w)}:function(E,x,_,I){I===void 0&&(I=_),E[I]=x[_]}),D=this&&this.__setModuleDefault||(Object.create?function(E,x){Object.defineProperty(E,"default",{enumerable:!0,value:x})}:function(E,x){E.default=x}),k=this&&this.__importStar||function(E){if(E&&E.__esModule)return E;var x={};if(E!=null)for(var _ in E)_!=="default"&&Object.prototype.hasOwnProperty.call(E,_)&&v(x,E,_);return D(x,E),x};Object.defineProperty(s,"__esModule",{value:!0});var N=k(u(203)),q=["#EXTINF","#EXT-X-BYTERANGE","#EXT-X-DISCONTINUITY","#EXT-X-STREAM-INF","#EXT-X-CUE-OUT","#EXT-X-CUE-IN","#EXT-X-KEY","#EXT-X-MAP"],R=["#EXT-X-MEDIA"],z=function(E){function x(C){var M,$,Z,ne;return function(le,be){if(!(le instanceof be))throw new TypeError("Cannot call a class as a function")}(this,x),M=f(this,x),$=M,ne=void 0,(Z=A(Z="baseUri"))in $?Object.defineProperty($,Z,{value:ne,enumerable:!0,configurable:!0,writable:!0}):$[Z]=ne,M.baseUri=C,M}return function(C,M){if(typeof M!="function"&&M!==null)throw new TypeError("Super expression must either be null or a function");C.prototype=Object.create(M&&M.prototype,{constructor:{value:C,writable:!0,configurable:!0}}),Object.defineProperty(C,"prototype",{writable:!1}),M&&m(C,M)}(x,E),_=x,I=[{key:"push",value:function(){for(var C=this,M=arguments.length,$=new Array(M),Z=0;Z<M;Z++)$[Z]=arguments[Z];for(var ne=function(){var Te=be[le];if(!Te.startsWith("#")||q.some(function(ye){return Te.startsWith(ye)}))return h(T(x.prototype),"push",C).call(C,Te),0;if(C.includes(Te)){if(R.some(function(ye){return Te.startsWith(ye)}))return 0;N.INVALIDPLAYLIST("Redundant item (".concat(Te,")"))}h(T(x.prototype),"push",C).call(C,Te)},le=0,be=$;le<be.length;le++)ne();return this.length}},{key:"join",value:function(){for(var C=arguments.length>0&&arguments[0]!==void 0?arguments[0]:",",M=this.length-1;M>=0;M--)this[M]||this.splice(M,1);return h(T(x.prototype),"join",this).call(this,C)}}],I&&p(_.prototype,I),w&&p(_,w),Object.defineProperty(_,"prototype",{writable:!1}),_;var _,I,w}(y(Array));function W(E,x){var _=1e3;x&&(_=Math.pow(10,x));var I=Math.round(E*_)/_;return x?I.toFixed(x):I}function K(E){var x=['DATA-ID="'.concat(E.id,'"')];return E.language&&x.push('LANGUAGE="'.concat(E.language,'"')),E.value?x.push('VALUE="'.concat(E.value,'"')):E.uri&&x.push('URI="'.concat(E.uri,'"')),"#EXT-X-SESSION-DATA:".concat(x.join(","))}function P(E,x){var _=x?"#EXT-X-SESSION-KEY":"#EXT-X-KEY",I=["METHOD=".concat(E.method)];return E.uri&&I.push('URI="'.concat(E.uri,'"')),E.iv&&(E.iv.byteLength!==16&&N.INVALIDPLAYLIST("IV must be a 128-bit unsigned integer"),I.push("IV=".concat(N.byteSequenceToHex(E.iv)))),E.format&&I.push('KEYFORMAT="'.concat(E.format,'"')),E.formatVersion&&I.push('KEYFORMATVERSIONS="'.concat(E.formatVersion,'"')),"".concat(_,":").concat(I.join(","))}function L(E,x){var _=x.isIFrameOnly?"#EXT-X-I-FRAME-STREAM-INF":"#EXT-X-STREAM-INF",I=["BANDWIDTH=".concat(x.bandwidth)];if(x.averageBandwidth&&I.push("AVERAGE-BANDWIDTH=".concat(x.averageBandwidth)),x.isIFrameOnly&&I.push('URI="'.concat(x.uri,'"')),x.codecs&&I.push('CODECS="'.concat(x.codecs,'"')),x.resolution&&I.push("RESOLUTION=".concat(x.resolution.width,"x").concat(x.resolution.height)),x.frameRate&&I.push("FRAME-RATE=".concat(W(x.frameRate,3))),x.hdcpLevel&&I.push("HDCP-LEVEL=".concat(x.hdcpLevel)),x.audio.length>0){I.push('AUDIO="'.concat(x.audio[0].groupId,'"'));var w,C=g(x.audio);try{for(C.s();!(w=C.n()).done;){var M=w.value;E.push(H(M))}}catch(ta){C.e(ta)}finally{C.f()}}if(x.video.length>0){I.push('VIDEO="'.concat(x.video[0].groupId,'"'));var $,Z=g(x.video);try{for(Z.s();!($=Z.n()).done;){var ne=$.value;E.push(H(ne))}}catch(ta){Z.e(ta)}finally{Z.f()}}if(x.subtitles.length>0){I.push('SUBTITLES="'.concat(x.subtitles[0].groupId,'"'));var le,be=g(x.subtitles);try{for(be.s();!(le=be.n()).done;){var Te=le.value;E.push(H(Te))}}catch(ta){be.e(ta)}finally{be.f()}}if(N.getOptions().allowClosedCaptionsNone&&x.closedCaptions.length===0)I.push("CLOSED-CAPTIONS=NONE");else if(x.closedCaptions.length>0){I.push('CLOSED-CAPTIONS="'.concat(x.closedCaptions[0].groupId,'"'));var ye,de=g(x.closedCaptions);try{for(de.s();!(ye=de.n()).done;){var Ne=ye.value;E.push(H(Ne))}}catch(ta){de.e(ta)}finally{de.f()}}if(x.score&&I.push("SCORE=".concat(x.score)),x.allowedCpc){var Be,Le=[],Fe=g(x.allowedCpc);try{for(Fe.s();!(Be=Fe.n()).done;){var Me=Be.value,ia=Me.format,va=Me.cpcList;Le.push("".concat(ia,":").concat(va.join("/")))}}catch(ta){Fe.e(ta)}finally{Fe.f()}I.push('ALLOWED-CPC="'.concat(Le.join(","),'"'))}x.videoRange&&I.push("VIDEO-RANGE=".concat(x.videoRange)),x.stableVariantId&&I.push('STABLE-VARIANT-ID="'.concat(x.stableVariantId,'"')),x.programId&&I.push("PROGRAM-ID=".concat(x.programId)),E.push("".concat(_,":").concat(I.join(","))),x.isIFrameOnly||E.push("".concat(x.uri))}function H(E){var x=["TYPE=".concat(E.type),'GROUP-ID="'.concat(E.groupId,'"'),'NAME="'.concat(E.name,'"')];return E.isDefault!==void 0&&x.push("DEFAULT=".concat(E.isDefault?"YES":"NO")),E.autoselect!==void 0&&x.push("AUTOSELECT=".concat(E.autoselect?"YES":"NO")),E.forced!==void 0&&x.push("FORCED=".concat(E.forced?"YES":"NO")),E.language&&x.push('LANGUAGE="'.concat(E.language,'"')),E.assocLanguage&&x.push('ASSOC-LANGUAGE="'.concat(E.assocLanguage,'"')),E.instreamId&&x.push('INSTREAM-ID="'.concat(E.instreamId,'"')),E.characteristics&&x.push('CHARACTERISTICS="'.concat(E.characteristics,'"')),E.channels&&x.push('CHANNELS="'.concat(E.channels,'"')),E.uri&&x.push('URI="'.concat(E.uri,'"')),"#EXT-X-MEDIA:".concat(x.join(","))}function U(E,x,_,I){var w=arguments.length>4&&arguments[4]!==void 0?arguments[4]:1,C=!1,M="";if(x.discontinuity&&E.push("#EXT-X-DISCONTINUITY"),x.gap&&E.push("#EXT-X-GAP"),x.key){var $=P(x.key);$!==_&&(E.push($),_=$)}if(x.map){var Z=function(ye){var de=['URI="'.concat(ye.uri,'"')];return ye.byterange&&de.push('BYTERANGE="'.concat(G(ye.byterange),'"')),"#EXT-X-MAP:".concat(de.join(","))}(x.map);Z!==I&&(E.push(Z),I=Z)}if(x.programDateTime&&E.push("#EXT-X-PROGRAM-DATE-TIME:".concat(N.formatDate(x.programDateTime))),x.dateRange&&E.push(function(ye){var de=['ID="'.concat(ye.id,'"')];ye.start&&de.push('START-DATE="'.concat(N.formatDate(ye.start),'"')),ye.end&&de.push('END-DATE="'.concat(N.formatDate(ye.end),'"')),ye.duration&&de.push("DURATION=".concat(ye.duration)),ye.plannedDuration&&de.push("PLANNED-DURATION=".concat(ye.plannedDuration)),ye.classId&&de.push('CLASS="'.concat(ye.classId,'"')),ye.endOnNext&&de.push("END-ON-NEXT=YES");for(var Ne=0,Be=Object.keys(ye.attributes);Ne<Be.length;Ne++){var Le=Be[Ne];Le.startsWith("X-")?typeof ye.attributes[Le]=="number"?de.push("".concat(Le,"=").concat(ye.attributes[Le])):de.push("".concat(Le,'="').concat(ye.attributes[Le],'"')):Le.startsWith("SCTE35-")&&de.push("".concat(Le,"=").concat(N.byteSequenceToHex(ye.attributes[Le])))}return"#EXT-X-DATERANGE:".concat(de.join(","))}(x.dateRange)),x.markers.length>0&&(M=function(ye,de){var Ne,Be="",Le=g(de);try{for(Le.s();!(Ne=Le.n()).done;){var Fe=Ne.value;if(Fe.type==="OUT")Be="OUT",ye.push("#EXT-X-CUE-OUT:DURATION=".concat(Fe.duration));else if(Fe.type==="IN")Be="IN",ye.push("#EXT-X-CUE-IN");else if(Fe.type==="RAW"){var Me=Fe.value?":".concat(Fe.value):"";ye.push("#".concat(Fe.tagName).concat(Me))}}}catch(ia){Le.e(ia)}finally{Le.f()}return Be}(E,x.markers)),x.parts.length>0&&(C=function(ye,de){var Ne,Be=!1,Le=g(de);try{for(Le.s();!(Ne=Le.n()).done;){var Fe=Ne.value;if(Fe.hint){var Me=[];if(Me.push("TYPE=PART",'URI="'.concat(Fe.uri,'"')),Fe.byterange){var ia=Fe.byterange,va=ia.offset,ta=ia.length;Me.push("BYTERANGE-START=".concat(va)),ta&&Me.push("BYTERANGE-LENGTH=".concat(ta))}ye.push("#EXT-X-PRELOAD-HINT:".concat(Me.join(","))),Be=!0}else{var sa=[];sa.push("DURATION=".concat(Fe.duration),'URI="'.concat(Fe.uri,'"')),Fe.byterange&&sa.push("BYTERANGE=".concat(G(Fe.byterange))),Fe.independent&&sa.push("INDEPENDENT=YES"),Fe.gap&&sa.push("GAP=YES"),ye.push("#EXT-X-PART:".concat(sa.join(",")))}}}catch(da){Le.e(da)}finally{Le.f()}return Be}(E,x.parts)),C)return[_,I];var ne,le,be,Te=w<3?Math.round(x.duration):W(x.duration,(ne=x.duration,le=ne.toString(10),(be=le.indexOf("."))===-1?0:le.length-be-1));return E.push("#EXTINF:".concat(Te,",").concat(unescape(encodeURIComponent(x.title||"")))),x.byterange&&E.push("#EXT-X-BYTERANGE:".concat(G(x.byterange))),Array.prototype.push.call(E,"".concat(x.uri)),[_,I,M]}function G(E){var x=E.offset,_=E.length;return"".concat(_,"@").concat(x)}s.default=function(E,x){N.PARAMCHECK(E),N.ASSERT("Not a playlist",E.type==="playlist");var _=new z(E.uri);return _.push("#EXTM3U"),E.version&&_.push("#EXT-X-VERSION:".concat(E.version)),E.independentSegments&&_.push("#EXT-X-INDEPENDENT-SEGMENTS"),E.start&&_.push("#EXT-X-START:TIME-OFFSET=".concat(W(E.start.offset)).concat(E.start.precise?",PRECISE=YES":"")),E.isMasterPlaylist?function(I,w,C){var M,$=g(w.sessionDataList);try{for($.s();!(M=$.n()).done;){var Z=M.value;I.push(K(Z))}}catch(Fe){$.e(Fe)}finally{$.f()}var ne,le=g(w.sessionKeyList);try{for(le.s();!(ne=le.n()).done;){var be=ne.value;I.push(P(be,!0))}}catch(Fe){le.e(Fe)}finally{le.f()}var Te,ye=g(w.variants.entries());try{for(ye.s();!(Te=ye.n()).done;){var de=l(Te.value,2),Ne=de[0],Be=de[1],Le=I.length;L(I,Be),C!=null&&C.variantProcessor&&C.variantProcessor(I,Le,I.length-1,Be,Ne)}}catch(Fe){ye.e(Fe)}finally{ye.f()}}(_,E,x):function(I,w,C){var M="",$="",Z=!1;if(w.targetDuration&&I.push("#EXT-X-TARGETDURATION:".concat(w.targetDuration)),w.lowLatencyCompatibility){var ne=w.lowLatencyCompatibility,le=ne.canBlockReload,be=ne.canSkipUntil,Te=ne.holdBack,ye=ne.partHoldBack,de=[];de.push("CAN-BLOCK-RELOAD=".concat(le?"YES":"NO")),be!==void 0&&de.push("CAN-SKIP-UNTIL=".concat(be)),Te!==void 0&&de.push("HOLD-BACK=".concat(Te)),ye!==void 0&&de.push("PART-HOLD-BACK=".concat(ye)),I.push("#EXT-X-SERVER-CONTROL:".concat(de.join(",")))}w.partTargetDuration&&I.push("#EXT-X-PART-INF:PART-TARGET=".concat(w.partTargetDuration)),w.mediaSequenceBase&&I.push("#EXT-X-MEDIA-SEQUENCE:".concat(w.mediaSequenceBase)),w.discontinuitySequenceBase&&I.push("#EXT-X-DISCONTINUITY-SEQUENCE:".concat(w.discontinuitySequenceBase)),w.playlistType&&I.push("#EXT-X-PLAYLIST-TYPE:".concat(w.playlistType)),w.isIFrame&&I.push("#EXT-X-I-FRAMES-ONLY"),w.skip>0&&I.push("#EXT-X-SKIP:SKIPPED-SEGMENTS=".concat(w.skip));var Ne,Be=g(w.segments.entries());try{for(Be.s();!(Ne=Be.n()).done;){var Le,Fe=l(Ne.value,2),Me=Fe[0],ia=Fe[1],va=I.length,ta=l(U(I,ia,M,$,w.version),3);M=ta[0],$=ta[1],(Le=ta[2])==="OUT"?Z=!0:Le==="IN"&&Z&&(Z=!1),C!=null&&C.segmentProcessor&&C.segmentProcessor(I,va,I.length-1,ia,Me)}}catch(At){Be.e(At)}finally{Be.f()}w.playlistType==="VOD"&&Z&&I.push("#EXT-X-CUE-IN"),w.prefetchSegments.length>2&&N.INVALIDPLAYLIST("The server must deliver no more than two prefetch segments");var sa,da=g(w.prefetchSegments);try{for(da.s();!(sa=da.n()).done;){var Ma=sa.value;Ma.discontinuity&&I.push("#EXT-X-PREFETCH-DISCONTINUITY"),I.push("#EXT-X-PREFETCH:".concat(Ma.uri))}}catch(At){da.e(At)}finally{da.f()}w.endlist&&I.push("#EXT-X-ENDLIST");var ca,fa=g(w.renditionReports);try{for(fa.s();!(ca=fa.n()).done;){var Ua=ca.value,kt=[];kt.push('URI="'.concat(Ua.uri,'"'),"LAST-MSN=".concat(Ua.lastMSN)),Ua.lastPart!==void 0&&kt.push("LAST-PART=".concat(Ua.lastPart)),I.push("#EXT-X-RENDITION-REPORT:".concat(kt.join(",")))}}catch(At){fa.e(At)}finally{fa.f()}}(_,E,x),_.join(`
`)}},31:function(r,s,u){function o(w){return o=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(C){return typeof C}:function(C){return C&&typeof Symbol=="function"&&C.constructor===Symbol&&C!==Symbol.prototype?"symbol":typeof C},o(w)}function l(w,C){var M=Object.keys(w);if(Object.getOwnPropertySymbols){var $=Object.getOwnPropertySymbols(w);C&&($=$.filter(function(Z){return Object.getOwnPropertyDescriptor(w,Z).enumerable})),M.push.apply(M,$)}return M}function g(w){for(var C=1;C<arguments.length;C++){var M=arguments[C]!=null?arguments[C]:{};C%2?l(Object(M),!0).forEach(function($){m(w,$,M[$])}):Object.getOwnPropertyDescriptors?Object.defineProperties(w,Object.getOwnPropertyDescriptors(M)):l(Object(M)).forEach(function($){Object.defineProperty(w,$,Object.getOwnPropertyDescriptor(M,$))})}return w}function d(w,C,M){return C=p(C),function($,Z){if(Z&&(o(Z)==="object"||typeof Z=="function"))return Z;if(Z!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return function(ne){if(ne===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return ne}($)}(w,c()?Reflect.construct(C,M||[],p(w).constructor):C.apply(w,M))}function c(){try{var w=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(c=function(){return!!w})()}function p(w){return p=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(C){return C.__proto__||Object.getPrototypeOf(C)},p(w)}function f(w,C){if(typeof C!="function"&&C!==null)throw new TypeError("Super expression must either be null or a function");w.prototype=Object.create(C&&C.prototype,{constructor:{value:w,writable:!0,configurable:!0}}),Object.defineProperty(w,"prototype",{writable:!1}),C&&h(w,C)}function h(w,C){return h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(M,$){return M.__proto__=$,M},h(w,C)}function y(w,C,M){return Object.defineProperty(w,"prototype",{writable:!1}),w}function b(w,C){if(!(w instanceof C))throw new TypeError("Cannot call a class as a function")}function m(w,C,M){return(C=T(C))in w?Object.defineProperty(w,C,{value:M,enumerable:!0,configurable:!0,writable:!0}):w[C]=M,w}function T(w){var C=function(M,$){if(o(M)!="object"||!M)return M;var Z=M[Symbol.toPrimitive];if(Z!==void 0){var ne=Z.call(M,$||"default");if(o(ne)!="object")return ne;throw new TypeError("@@toPrimitive must return a primitive value.")}return($==="string"?String:Number)(M)}(w,"string");return o(C)=="symbol"?C:C+""}var A=this&&this.__createBinding||(Object.create?function(w,C,M,$){$===void 0&&($=M);var Z=Object.getOwnPropertyDescriptor(C,M);Z&&!("get"in Z?!C.__esModule:Z.writable||Z.configurable)||(Z={enumerable:!0,get:function(){return C[M]}}),Object.defineProperty(w,$,Z)}:function(w,C,M,$){$===void 0&&($=M),w[$]=C[M]}),v=this&&this.__setModuleDefault||(Object.create?function(w,C){Object.defineProperty(w,"default",{enumerable:!0,value:C})}:function(w,C){w.default=C}),D=this&&this.__importStar||function(w){if(w&&w.__esModule)return w;var C={};if(w!=null)for(var M in w)M!=="default"&&Object.prototype.hasOwnProperty.call(w,M)&&A(C,w,M);return v(C,w),C};Object.defineProperty(s,"__esModule",{value:!0}),s.RenditionReport=s.PrefetchSegment=s.PartialSegment=s.Segment=s.MediaPlaylist=s.MasterPlaylist=s.Playlist=s.SpliceInfo=s.DateRange=s.MediaInitializationSection=s.Key=s.SessionData=s.Variant=s.Rendition=void 0;var k=D(u(203)),N=y(function w(C){var M=C.type,$=C.uri,Z=C.groupId,ne=C.language,le=C.assocLanguage,be=C.name,Te=C.isDefault,ye=C.autoselect,de=C.forced,Ne=C.instreamId,Be=C.characteristics,Le=C.channels;b(this,w),m(this,"type",void 0),m(this,"uri",void 0),m(this,"groupId",void 0),m(this,"language",void 0),m(this,"assocLanguage",void 0),m(this,"name",void 0),m(this,"isDefault",void 0),m(this,"autoselect",void 0),m(this,"forced",void 0),m(this,"instreamId",void 0),m(this,"characteristics",void 0),m(this,"channels",void 0),k.PARAMCHECK(M,Z,be),k.CONDITIONALASSERT([M==="SUBTITLES",$],[M==="CLOSED-CAPTIONS",Ne],[M==="CLOSED-CAPTIONS",!$],[de,M==="SUBTITLES"]),this.type=M,this.uri=$,this.groupId=Z,this.language=ne,this.assocLanguage=le,this.name=be,this.isDefault=Te,this.autoselect=ye,this.forced=de,this.instreamId=Ne,this.characteristics=Be,this.channels=Le});s.Rendition=N;var q=y(function w(C){var M=C.uri,$=C.isIFrameOnly,Z=$!==void 0&&$,ne=C.bandwidth,le=C.averageBandwidth,be=C.score,Te=C.codecs,ye=C.resolution,de=C.frameRate,Ne=C.hdcpLevel,Be=C.allowedCpc,Le=C.videoRange,Fe=C.stableVariantId,Me=C.programId,ia=C.audio,va=ia===void 0?[]:ia,ta=C.video,sa=ta===void 0?[]:ta,da=C.subtitles,Ma=da===void 0?[]:da,ca=C.closedCaptions,fa=ca===void 0?[]:ca,Ua=C.currentRenditions,kt=Ua===void 0?{audio:0,video:0,subtitles:0,closedCaptions:0}:Ua;b(this,w),m(this,"uri",void 0),m(this,"isIFrameOnly",void 0),m(this,"bandwidth",void 0),m(this,"averageBandwidth",void 0),m(this,"score",void 0),m(this,"codecs",void 0),m(this,"resolution",void 0),m(this,"frameRate",void 0),m(this,"hdcpLevel",void 0),m(this,"allowedCpc",void 0),m(this,"videoRange",void 0),m(this,"stableVariantId",void 0),m(this,"programId",void 0),m(this,"audio",void 0),m(this,"video",void 0),m(this,"subtitles",void 0),m(this,"closedCaptions",void 0),m(this,"currentRenditions",void 0),k.PARAMCHECK(M,ne),this.uri=M,this.isIFrameOnly=Z,this.bandwidth=ne,this.averageBandwidth=le,this.score=be,this.codecs=Te,this.resolution=ye,this.frameRate=de,this.hdcpLevel=Ne,this.allowedCpc=Be,this.videoRange=Le,this.stableVariantId=Fe,this.programId=Me,this.audio=va,this.video=sa,this.subtitles=Ma,this.closedCaptions=fa,this.currentRenditions=kt});s.Variant=q;var R=y(function w(C){var M=C.id,$=C.value,Z=C.uri,ne=C.language;b(this,w),m(this,"id",void 0),m(this,"value",void 0),m(this,"uri",void 0),m(this,"language",void 0),k.PARAMCHECK(M,$||Z),k.ASSERT("SessionData cannot have both value and uri, shoud be either.",!($&&Z)),this.id=M,this.value=$,this.uri=Z,this.language=ne});s.SessionData=R;var z=y(function w(C){var M=C.method,$=C.uri,Z=C.iv,ne=C.format,le=C.formatVersion;b(this,w),m(this,"method",void 0),m(this,"uri",void 0),m(this,"iv",void 0),m(this,"format",void 0),m(this,"formatVersion",void 0),k.PARAMCHECK(M),k.CONDITIONALPARAMCHECK([M!=="NONE",$]),k.CONDITIONALASSERT([M==="NONE",!($||Z||ne||le)]),this.method=M,this.uri=$,this.iv=Z,this.format=ne,this.formatVersion=le});s.Key=z;var W=y(function w(C){var M=C.hint,$=M!==void 0&&M,Z=C.uri,ne=C.mimeType,le=C.byterange;b(this,w),m(this,"hint",void 0),m(this,"uri",void 0),m(this,"mimeType",void 0),m(this,"byterange",void 0),k.PARAMCHECK(Z),this.hint=$,this.uri=Z,this.mimeType=ne,this.byterange=le});s.MediaInitializationSection=W;var K=y(function w(C){var M=C.id,$=C.classId,Z=C.start,ne=C.end,le=C.duration,be=C.plannedDuration,Te=C.endOnNext,ye=C.attributes,de=ye===void 0?{}:ye;b(this,w),m(this,"id",void 0),m(this,"classId",void 0),m(this,"start",void 0),m(this,"end",void 0),m(this,"duration",void 0),m(this,"plannedDuration",void 0),m(this,"endOnNext",void 0),m(this,"attributes",void 0),k.PARAMCHECK(M),k.CONDITIONALPARAMCHECK([Te===!0,$]),k.CONDITIONALASSERT([ne,Z],[ne,Z<=ne],[le,le>=0],[be,be>=0]),this.id=M,this.classId=$,this.start=Z,this.end=ne,this.duration=le,this.plannedDuration=be,this.endOnNext=Te,this.attributes=de});s.DateRange=K;var P=y(function w(C){var M=C.type,$=C.duration,Z=C.tagName,ne=C.value;b(this,w),m(this,"type",void 0),m(this,"duration",void 0),m(this,"tagName",void 0),m(this,"value",void 0),k.PARAMCHECK(M),k.CONDITIONALPARAMCHECK([M==="OUT",$]),k.CONDITIONALPARAMCHECK([M==="RAW",Z]),this.type=M,this.duration=$,this.tagName=Z,this.value=ne});s.SpliceInfo=P;var L=y(function w(C){b(this,w),m(this,"type",void 0),k.PARAMCHECK(C),this.type=C}),H=function(w){function C(M){var $,Z=M.isMasterPlaylist,ne=M.uri,le=M.version,be=M.independentSegments,Te=be!==void 0&&be,ye=M.start,de=M.source;return b(this,C),m($=d(this,C,["playlist"]),"isMasterPlaylist",void 0),m($,"uri",void 0),m($,"version",void 0),m($,"independentSegments",void 0),m($,"start",void 0),m($,"source",void 0),k.PARAMCHECK(Z),$.isMasterPlaylist=Z,$.uri=ne,$.version=le,$.independentSegments=Te,$.start=ye,$.source=de,$}return f(C,w),y(C)}(L);s.Playlist=H;var U=function(w){function C(){var M,$=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};b(this,C),m(M=d(this,C,[g(g({},$),{},{isMasterPlaylist:!0})]),"variants",void 0),m(M,"currentVariant",void 0),m(M,"sessionDataList",void 0),m(M,"sessionKeyList",void 0);var Z=$.variants,ne=Z===void 0?[]:Z,le=$.currentVariant,be=$.sessionDataList,Te=be===void 0?[]:be,ye=$.sessionKeyList,de=ye===void 0?[]:ye;return M.variants=ne,M.currentVariant=le,M.sessionDataList=Te,M.sessionKeyList=de,M}return f(C,w),y(C)}(H);s.MasterPlaylist=U;var G=function(w){function C(){var M,$=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};b(this,C),m(M=d(this,C,[g(g({},$),{},{isMasterPlaylist:!1})]),"targetDuration",void 0),m(M,"mediaSequenceBase",void 0),m(M,"discontinuitySequenceBase",void 0),m(M,"endlist",void 0),m(M,"playlistType",void 0),m(M,"isIFrame",void 0),m(M,"segments",void 0),m(M,"prefetchSegments",void 0),m(M,"lowLatencyCompatibility",void 0),m(M,"partTargetDuration",void 0),m(M,"renditionReports",void 0),m(M,"skip",void 0),m(M,"hash",void 0);var Z=$.targetDuration,ne=$.mediaSequenceBase,le=ne===void 0?0:ne,be=$.discontinuitySequenceBase,Te=be===void 0?0:be,ye=$.endlist,de=ye!==void 0&&ye,Ne=$.playlistType,Be=$.isIFrame,Le=$.segments,Fe=Le===void 0?[]:Le,Me=$.prefetchSegments,ia=Me===void 0?[]:Me,va=$.lowLatencyCompatibility,ta=$.partTargetDuration,sa=$.renditionReports,da=sa===void 0?[]:sa,Ma=$.skip,ca=Ma===void 0?0:Ma,fa=$.hash;return M.targetDuration=Z,M.mediaSequenceBase=le,M.discontinuitySequenceBase=Te,M.endlist=de,M.playlistType=Ne,M.isIFrame=Be,M.segments=Fe,M.prefetchSegments=ia,M.lowLatencyCompatibility=va,M.partTargetDuration=ta,M.renditionReports=da,M.skip=ca,M.hash=fa,M}return f(C,w),y(C)}(H);s.MediaPlaylist=G;var E=function(w){function C(M){var $,Z=M.uri,ne=M.mimeType,le=M.data,be=M.duration,Te=M.title,ye=M.byterange,de=M.discontinuity,Ne=M.mediaSequenceNumber,Be=Ne===void 0?0:Ne,Le=M.discontinuitySequence,Fe=Le===void 0?0:Le,Me=M.key,ia=M.map,va=M.programDateTime,ta=M.dateRange,sa=M.markers,da=sa===void 0?[]:sa,Ma=M.parts,ca=Ma===void 0?[]:Ma,fa=M.gap;return b(this,C),m($=d(this,C,["segment"]),"uri",void 0),m($,"mimeType",void 0),m($,"data",void 0),m($,"duration",void 0),m($,"title",void 0),m($,"byterange",void 0),m($,"discontinuity",void 0),m($,"mediaSequenceNumber",void 0),m($,"discontinuitySequence",void 0),m($,"key",void 0),m($,"map",void 0),m($,"programDateTime",void 0),m($,"dateRange",void 0),m($,"markers",void 0),m($,"parts",void 0),m($,"gap",void 0),$.uri=Z,$.mimeType=ne,$.data=le,$.duration=be,$.title=Te,$.byterange=ye,$.discontinuity=de,$.mediaSequenceNumber=Be,$.discontinuitySequence=Fe,$.key=Me,$.map=ia,$.programDateTime=va,$.dateRange=ta,$.markers=da,$.parts=ca,$.gap=fa,$}return f(C,w),y(C)}(L);s.Segment=E;var x=function(w){function C(M){var $,Z=M.hint,ne=Z!==void 0&&Z,le=M.uri,be=M.duration,Te=M.independent,ye=M.byterange,de=M.gap;return b(this,C),m($=d(this,C,["part"]),"hint",void 0),m($,"uri",void 0),m($,"duration",void 0),m($,"independent",void 0),m($,"byterange",void 0),m($,"gap",void 0),k.PARAMCHECK(le),$.hint=ne,$.uri=le,$.duration=be,$.independent=Te,$.duration=be,$.byterange=ye,$.gap=de,$}return f(C,w),y(C)}(L);s.PartialSegment=x;var _=function(w){function C(M){var $,Z=M.uri,ne=M.discontinuity,le=M.mediaSequenceNumber,be=le===void 0?0:le,Te=M.discontinuitySequence,ye=Te===void 0?0:Te,de=M.key;return b(this,C),m($=d(this,C,["prefetch"]),"uri",void 0),m($,"discontinuity",void 0),m($,"mediaSequenceNumber",void 0),m($,"discontinuitySequence",void 0),m($,"key",void 0),k.PARAMCHECK(Z),$.uri=Z,$.discontinuity=ne,$.mediaSequenceNumber=be,$.discontinuitySequence=ye,$.key=de,$}return f(C,w),y(C)}(L);s.PrefetchSegment=_;var I=y(function w(C){var M=C.uri,$=C.lastMSN,Z=C.lastPart;b(this,w),m(this,"uri",void 0),m(this,"lastMSN",void 0),m(this,"lastPart",void 0),k.PARAMCHECK(M),this.uri=M,this.lastMSN=$,this.lastPart=Z});s.RenditionReport=I},203:(r,s)=>{function u(p,f){return function(h){if(Array.isArray(h))return h}(p)||function(h,y){var b=h==null?null:typeof Symbol<"u"&&h[Symbol.iterator]||h["@@iterator"];if(b!=null){var m,T,A,v,D=[],k=!0,N=!1;try{if(A=(b=b.call(h)).next,y!==0)for(;!(k=(m=A.call(b)).done)&&(D.push(m.value),D.length!==y);k=!0);}catch(q){N=!0,T=q}finally{try{if(!k&&b.return!=null&&(v=b.return(),Object(v)!==v))return}finally{if(N)throw T}}return D}}(p,f)||l(p,f)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function o(p,f){var h=typeof Symbol<"u"&&p[Symbol.iterator]||p["@@iterator"];if(!h){if(Array.isArray(p)||(h=l(p))||f){h&&(p=h);var y=0,b=function(){};return{s:b,n:function(){return y>=p.length?{done:!0}:{done:!1,value:p[y++]}},e:function(v){throw v},f:b}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var m,T=!0,A=!1;return{s:function(){h=h.call(p)},n:function(){var v=h.next();return T=v.done,v},e:function(v){A=!0,m=v},f:function(){try{T||h.return==null||h.return()}finally{if(A)throw m}}}}function l(p,f){if(p){if(typeof p=="string")return g(p,f);var h=Object.prototype.toString.call(p).slice(8,-1);return h==="Object"&&p.constructor&&(h=p.constructor.name),h==="Map"||h==="Set"?Array.from(p):h==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(h)?g(p,f):void 0}}function g(p,f){(f==null||f>p.length)&&(f=p.length);for(var h=0,y=new Array(f);h<f;h++)y[h]=p[h];return y}Object.defineProperty(s,"__esModule",{value:!0}),s.getOptions=s.setOptions=s.hasOwnProp=s.formatDate=s.camelify=s.splitByCommaWithPreservingQuotes=s.trim=s.splitAt=s.tryCatch=s.byteSequenceToHex=s.hexToByteSequence=s.toNumber=s.INVALIDPLAYLIST=s.CONDITIONALPARAMCHECK=s.PARAMCHECK=s.CONDITIONALASSERT=s.ASSERT=s.THROW=void 0;var d={};function c(p){if(d.strictMode)throw p;d.silent||console.error(p.message)}s.THROW=c,s.ASSERT=function(p){for(var f=arguments.length,h=new Array(f>1?f-1:0),y=1;y<f;y++)h[y-1]=arguments[y];var b,m=o(h.entries());try{for(m.s();!(b=m.n()).done;){var T=u(b.value,2),A=T[0];T[1]||c(new Error("".concat(p," : Failed at [").concat(A,"]")))}}catch(v){m.e(v)}finally{m.f()}},s.CONDITIONALASSERT=function(){for(var p=arguments.length,f=new Array(p),h=0;h<p;h++)f[h]=arguments[h];var y,b=o(f.entries());try{for(b.s();!(y=b.n()).done;){var m=u(y.value,2),T=m[0],A=u(m[1],2),v=A[0],D=A[1];v&&(D||c(new Error("Conditional Assert : Failed at [".concat(T,"]"))))}}catch(k){b.e(k)}finally{b.f()}},s.PARAMCHECK=function(){for(var p=arguments.length,f=new Array(p),h=0;h<p;h++)f[h]=arguments[h];var y,b=o(f.entries());try{for(b.s();!(y=b.n()).done;){var m=u(y.value,2),T=m[0];m[1]===void 0&&c(new Error("Param Check : Failed at [".concat(T,"]")))}}catch(A){b.e(A)}finally{b.f()}},s.CONDITIONALPARAMCHECK=function(){for(var p=arguments.length,f=new Array(p),h=0;h<p;h++)f[h]=arguments[h];var y,b=o(f.entries());try{for(b.s();!(y=b.n()).done;){var m=u(y.value,2),T=m[0],A=u(m[1],2),v=A[0],D=A[1];v&&D===void 0&&c(new Error("Conditional Param Check : Failed at [".concat(T,"]")))}}catch(k){b.e(k)}finally{b.f()}},s.INVALIDPLAYLIST=function(p){c(new Error("Invalid Playlist : ".concat(p)))},s.toNumber=function(p){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:10;if(typeof p=="number")return p;var h=f===10?Number.parseFloat(p):Number.parseInt(p,f);return Number.isNaN(h)?0:h},s.hexToByteSequence=function(p){(p.startsWith("0x")||p.startsWith("0X"))&&(p=p.slice(2));for(var f=new Uint8Array(p.length/2),h=0;h<p.length;h+=2)f[h/2]=Number.parseInt(p.slice(h,h+2),16);return f},s.byteSequenceToHex=function(p){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,h=arguments.length>2&&arguments[2]!==void 0?arguments[2]:p.byteLength;h<=f&&c(new Error("end must be larger than start : start=".concat(f,", end=").concat(h)));for(var y=[],b=f;b<h;b++)y.push("0".concat((255&p[b]).toString(16).toUpperCase()).slice(-2));return"0x".concat(y.join(""))},s.tryCatch=function(p,f){try{return p()}catch(h){return f(h)}},s.splitAt=function(p,f){for(var h=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,y=-1,b=0,m=0;b<p.length;b++)if(p[b]===f){if(m++===h)return[p.slice(0,b),p.slice(b+1)];y=b}return y!==-1?[p.slice(0,y),p.slice(y+1)]:[p]},s.trim=function(p){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:" ";return p&&(p=p.trim(),f===" "||(p.startsWith(f)&&(p=p.slice(1)),p.endsWith(f)&&(p=p.slice(0,-1))),p)},s.splitByCommaWithPreservingQuotes=function(p){for(var f=[],h=!0,y=0,b=[],m=0;m<p.length;m++){var T=p[m];h&&T===","?(f.push(p.slice(y,m).trim()),y=m+1):T!=='"'&&T!=="'"||(h?(b.push(T),h=!1):T===b.at(-1)?(b.pop(),h=!0):b.push(T))}return f.push(p.slice(y).trim()),f},s.camelify=function(p){var f,h=[],y=!1,b=o(p);try{for(b.s();!(f=b.n()).done;){var m=f.value;m!=="-"&&m!=="_"?y?(h.push(m.toUpperCase()),y=!1):h.push(m.toLowerCase()):y=!0}}catch(T){b.e(T)}finally{b.f()}return h.join("")},s.formatDate=function(p){var f=p.getUTCFullYear(),h=("0"+(p.getUTCMonth()+1)).slice(-2),y=("0"+p.getUTCDate()).slice(-2),b=("0"+p.getUTCHours()).slice(-2),m=("0"+p.getUTCMinutes()).slice(-2),T=("0"+p.getUTCSeconds()).slice(-2),A=("00"+p.getUTCMilliseconds()).slice(-3);return"".concat(f,"-").concat(h,"-").concat(y,"T").concat(b,":").concat(m,":").concat(T,".").concat(A,"Z")},s.hasOwnProp=function(p,f){return Object.hasOwn(p,f)},s.setOptions=function(){var p=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};d=Object.assign(d,p)},s.getOptions=function(){return Object.assign({},d)}},73:function(r,s,u){var o=this&&this.__createBinding||(Object.create?function(y,b,m,T){T===void 0&&(T=m);var A=Object.getOwnPropertyDescriptor(b,m);A&&!("get"in A?!b.__esModule:A.writable||A.configurable)||(A={enumerable:!0,get:function(){return b[m]}}),Object.defineProperty(y,T,A)}:function(y,b,m,T){T===void 0&&(T=m),y[T]=b[m]}),l=this&&this.__setModuleDefault||(Object.create?function(y,b){Object.defineProperty(y,"default",{enumerable:!0,value:b})}:function(y,b){y.default=b}),g=this&&this.__importStar||function(y){if(y&&y.__esModule)return y;var b={};if(y!=null)for(var m in y)m!=="default"&&Object.prototype.hasOwnProperty.call(y,m)&&o(b,y,m);return l(b,y),b},d=this&&this.__importDefault||function(y){return y&&y.__esModule?y:{default:y}};Object.defineProperty(s,"__esModule",{value:!0}),s.setOptions=s.getOptions=s.types=s.stringify=s.parse=void 0;const c=u(203);Object.defineProperty(s,"getOptions",{enumerable:!0,get:function(){return c.getOptions}}),Object.defineProperty(s,"setOptions",{enumerable:!0,get:function(){return c.setOptions}});const p=d(u(377));s.parse=p.default;const f=d(u(887));s.stringify=f.default;const h=g(u(31));s.types=h}},n={},i=function r(s){var u=n[s];if(u!==void 0)return u.exports;var o=n[s]={exports:{}};return t[s].call(o.exports,o,o.exports,r),o.exports}(73);return i})())})(jP);var pf=jP.exports;class Ce extends Error{constructor(a){super(`Couldn't find a stream: ${a??"not found"}`),this.name="NotFoundError"}}function zP(e){const a=[];return e.scrapeMovie&&a.push("movie"),e.scrapeShow&&a.push("show"),{type:"source",id:e.id,rank:e.rank,name:e.name,mediaTypes:a}}function $P(e){return{type:"embed",id:e.id,rank:e.rank,name:e.name}}function rle(e){return e.sources.sort((a,t)=>t.rank-a.rank).map(zP)}function sle(e){return e.embeds.sort((a,t)=>t.rank-a.rank).map($P)}function ule(e,a){const t=e.sources.find(i=>i.id===a);if(t)return zP(t);const n=e.embeds.find(i=>i.id===a);return n?$P(n):null}function a6(e,a){let t=(a==null?void 0:a.baseUrl)??"",n=e;t.length>0&&!t.endsWith("/")&&(t+="/"),n.startsWith("/")&&(n=n.slice(1));const i=t+n;if(!i.startsWith("http://")&&!i.startsWith("https://")&&!i.startsWith("data:"))throw new Error(`Invald URL -- URL doesn't start with a http scheme: '${i}'`);const r=new URL(i);return Object.entries((a==null?void 0:a.query)??{}).forEach(([s,u])=>{r.searchParams.set(s,u)}),r.toString()}function o8(e){const a=(n,i)=>e(n,{headers:(i==null?void 0:i.headers)??{},method:(i==null?void 0:i.method)??"GET",query:(i==null?void 0:i.query)??{},baseUrl:(i==null?void 0:i.baseUrl)??"",readHeaders:(i==null?void 0:i.readHeaders)??[],body:i==null?void 0:i.body,credentials:i==null?void 0:i.credentials}),t=async(n,i)=>(await a(n,i)).body;return t.full=a,t}const Ke={CORS_ALLOWED:"cors-allowed",IP_LOCKED:"ip-locked",CF_BLOCKED:"cf-blocked",PROXY_BLOCKED:"proxy-blocked"},Eke={BROWSER:"browser",BROWSER_EXTENSION:"browser-extension",NATIVE:"native",ANY:"any"},ole={browser:{requires:[Ke.CORS_ALLOWED],disallowed:[]},"browser-extension":{requires:[],disallowed:[]},native:{requires:[],disallowed:[]},any:{requires:[],disallowed:[]}};function lle(e,a,t){const n=ole[e];return a||n.disallowed.push(Ke.IP_LOCKED),t&&n.disallowed.push(Ke.PROXY_BLOCKED),n}function Tc(e,a){return!(!e.requires.every(i=>a.includes(i))||e.disallowed.some(i=>a.includes(i)))}const gle={srt:"srt",vtt:"vtt"};function Tl(e){const t=Object.keys(gle).find(n=>e.endsWith(`.${n}`));return t||null}function tu(e){const a=fR.getCode(e);return a.length===0?null:a}function dle(e){return e?fR.validate(e):!1}function Wy(e){const a={};return e.filter(t=>a[t.language]?!1:(a[t.language]=!0,!0))}async function Fh(e,a,t){try{const[n,i,r]=atob(t).split(".").map((o,l)=>l===0?o:Number(o)||null);if(!n)return e;const s=await a.proxiedFetcher(`https://rest.opensubtitles.org/search/${i&&r?`episode-${r}/`:""}imdbid-${n.slice(2)}${i&&r?`/season-${i}`:""}`,{headers:{"X-User-Agent":"VLSub 0.10.2"}}),u=[];for(const o of s){const l=o.SubDownloadLink.replace(".gz","").replace("download/","download/subencoding-utf8/"),g=tu(o.LanguageName);!l||!g||u.push({id:l,opensubtitles:!0,url:l,type:o.SubFormat||"srt",hasCorsRestrictions:!1,language:g})}return[...e,...Wy(u)]}catch{return e}}function Uh(e){return!!(!e.flags.includes(Ke.CORS_ALLOWED)||e.headers&&Object.keys(e.headers).length>0)}function jh(e){const a=e.headers&&Object.keys(e.headers).length>0?e.headers:void 0,t={...e.type==="hls"&&{depth:e.proxyDepth??0}},n={headers:a,options:t};return e.type==="hls"&&(n.type="hls",n.url=e.playlist,e.playlist=`https://proxy.nsbx.ru/proxy?${new URLSearchParams({payload:Buffer.from(JSON.stringify(n)).toString("base64url")})}`),e.type==="file"&&(n.type="mp4",Object.entries(e.qualities).forEach(i=>{n.url=i[1].url,i[1].url=`https://proxy.nsbx.ru/proxy?${new URLSearchParams({payload:Buffer.from(JSON.stringify(n)).toString("base64url")})}`})),e.headers={},e.flags=[Ke.CORS_ALLOWED],e}function Wa(e){const a=[];return e.scrapeMovie&&a.push("movie"),e.scrapeShow&&a.push("show"),{...e,type:"source",disabled:e.disabled??!1,externalSource:e.externalSource??!1,mediaTypes:a}}function ka(e){return{...e,type:"embed",disabled:e.disabled??!1,mediaTypes:void 0}}const cle=[{id:"delta",rank:699},{id:"alpha",rank:695}];function ple(e){return ka({id:e.id,name:e.id.charAt(0).toUpperCase()+e.id.slice(1),rank:e.rank,disabled:!1,async scrape(a){const[t,n]=a.url.split("|"),i=await a.fetcher.full("/search",{query:{query:t,provider:e.id},credentials:"include",baseUrl:n});if(i.statusCode===429)throw new Error("Rate limited");if(i.statusCode!==200)throw new Ce("Failed to search");a.progress(50);const r=await a.fetcher("/provider",{query:{resourceId:i.body.url,provider:e.id},credentials:"include",baseUrl:n});return a.progress(100),r}})}const[KP,HP]=cle.map(ple),ff="https://embed.warezcdn.com",fA="https://warezcdn.com/embed",k2="https://warezcdn.com/player",fle="https://workerproxy.warezcdn.workers.dev";async function l8(e,a,t){const n={id:t,sv:a},r=(await e.proxiedFetcher("/getPlay.php",{baseUrl:fA,headers:{Referer:`${fA}/getEmbed.php?${new URLSearchParams(n)}`},query:n})).match(/window\.location\.href="([^"]*)";/);if(!r)throw new Error("Could not find embed url");return r[1]}function hle(e){let a=atob(e);a=a.trim(),a=a.split("").reverse().join("");let t=a.slice(-5);return t=t.split("").reverse().join(""),a=a.slice(0,-5),`${a}${t}`}async function qP(e){var a;const n=(a=(await e.proxiedFetcher("/player.php",{baseUrl:k2,headers:{Referer:`${k2}/getEmbed.php?${new URLSearchParams({id:e.url,sv:"warezcdn"})}`},query:{id:e.url}})).match(/let allowanceKey = "(.*?)";/))==null?void 0:a[1];if(!n)throw new Ce("Failed to get allowanceKey");const i=await e.proxiedFetcher("/functions.php",{baseUrl:k2,method:"POST",body:new URLSearchParams({getVideo:e.url,key:n})}),r=JSON.parse(i);if(!r.id)throw new Ce("can't get stream id");const s=hle(r.id);if(!s)throw new Ce("can't get file id");return s}const mle=[50,51,52,53,54,55,56,57,58,59,60,61,62,63,64];async function yle(e,a){for(const t of mle){const n=`https://cloclo${t}.cloud.mail.ru/weblink/view/${a}`;if((await e.proxiedFetcher.full(n,{method:"GET",headers:{Range:"bytes=0-1"}})).statusCode===206)return n}return null}const zh=ka({id:"warezcdnembedmp4",name:"WarezCDN MP4",rank:82,disabled:!0,async scrape(e){const a=await qP(e);if(!a)throw new Ce("can't get file id");const t=await yle(e,a);if(!t)throw new Ce("can't get stream id");return{stream:[{id:"primary",captions:[],qualities:{unknown:{type:"mp4",url:`${fle}/?${new URLSearchParams({url:t})}`}},type:"file",flags:[Ke.CORS_ALLOWED]}]}}}),hA="https://api.whvx.net";async function g8(e){var a;const t={title:e.media.title,releaseYear:e.media.releaseYear,tmdbId:e.media.tmdbId,imdbId:e.media.imdbId,type:e.media.type,...e.media.type==="show"&&{season:e.media.season.number.toString(),episode:e.media.episode.number.toString()}},n=await e.fetcher("/status",{baseUrl:hA});if(((a=n.providers)==null?void 0:a.length)===0)throw new Ce("No providers available");return{embeds:n.providers.map(r=>({embedId:r,url:JSON.stringify(t)}))}}const ble=Wa({id:"whvx",name:"VidBinge",rank:128,flags:[Ke.CORS_ALLOWED],scrapeMovie:g8,scrapeShow:g8}),Tle=[{id:"nova",rank:720},{id:"astra",rank:710},{id:"orion",rank:700}],d8={Origin:"https://www.vidbinge.com",Referer:"https://www.vidbinge.com"};function Sle(e){return ka({id:e.id,name:e.id.charAt(0).toUpperCase()+e.id.slice(1),rank:e.rank,disabled:e.disabled,async scrape(a){let t=50;const n=setInterval(()=>{t<100&&(t+=1,a.progress(t))},100);try{const i=await a.fetcher.full(`${hA}/search?query=${encodeURIComponent(a.url)}&provider=${e.id}`,{headers:d8});if(i.statusCode===429)throw new Error("Rate limited");if(i.statusCode!==200)throw new Ce("Failed to search");const r=await a.fetcher(`${hA}/source?resourceId=${encodeURIComponent(i.body.url)}&provider=${e.id}`,{headers:d8});return clearInterval(n),a.progress(100),r}catch{throw clearInterval(n),a.progress(100),new Ce("Failed to search")}}})}const[VP,GP,WP]=Tle.map(Sle),YP=[zh.id,KP.id,HP.id,VP.id,GP.id,WP.id];function $h(e){return e?e.type==="hls"?!!e.playlist:e.type==="file"?Object.values(e.qualities).filter(t=>t.url.length>0).length!==0:!1:!1}async function mA(e,a,t){if(YP.includes(t))return e;if(e.type==="hls"){if(e.playlist.startsWith("data:"))return e;const n=await a.proxiedFetcher.full(e.playlist,{method:"GET",headers:{...e.preferredHeaders,...e.headers}});return n.statusCode<200||n.statusCode>=400?null:e}if(e.type==="file"){const n=await Promise.all(Object.values(e.qualities).map(r=>a.proxiedFetcher.full(r.url,{method:"GET",headers:{...e.preferredHeaders,...e.headers,Range:"bytes=0-1"}}))),i=e.qualities;return Object.keys(e.qualities).forEach((r,s)=>{(n[s].statusCode<200||n[s].statusCode>=400)&&delete i[r]}),Object.keys(i).length===0?null:{...e,qualities:i}}return null}async function XP(e,a,t){return YP.includes(t)?e:(await Promise.all(e.map(n=>mA(n,a,t)))).filter(n=>n!==null)}async function Ale(e,a){const t=e.sources.find(r=>a.id===r.id);if(!t)throw new Error("Source with ID not found");if(a.media.type==="movie"&&!t.scrapeMovie)throw new Error("Source is not compatible with movies");if(a.media.type==="show"&&!t.scrapeShow)throw new Error("Source is not compatible with shows");const n={fetcher:a.fetcher,proxiedFetcher:a.proxiedFetcher,progress(r){var s,u;(u=(s=a.events)==null?void 0:s.update)==null||u.call(s,{id:t.id,percentage:r,status:"pending"})}};let i=null;if(a.media.type==="movie"&&t.scrapeMovie?i=await t.scrapeMovie({...n,media:a.media}):a.media.type==="show"&&t.scrapeShow&&(i=await t.scrapeShow({...n,media:a.media})),i!=null&&i.stream&&(i.stream=i.stream.filter(r=>$h(r)).filter(r=>Tc(a.features,r.flags)),i.stream=i.stream.map(r=>Uh(r)&&a.proxyStreams?jh(r):r)),!i)throw new Error("output is null");if(i.embeds=i.embeds.filter(r=>{const s=e.embeds.find(u=>u.id===r.embedId);return!(!s||s.disabled)}),!a.disableOpensubtitles)for(const r of i.embeds)r.url=`${r.url}${btoa("MEDIA=")}${btoa(`${a.media.imdbId}${a.media.type==="show"?`.${a.media.season.number}.${a.media.episode.number}`:""}`)}`;if((!i.stream||i.stream.length===0)&&i.embeds.length===0)throw new Ce("No streams found");if(i.stream&&i.stream.length>0&&i.embeds.length===0){const r=await XP(i.stream,a,t.id);if(r.length===0)throw new Ce("No playable streams found");if(!a.disableOpensubtitles)for(const s of r)s.captions=await Fh(s.captions,a,btoa(`${a.media.imdbId}${a.media.type==="show"?`.${a.media.season.number}.${a.media.episode.number}`:""}`));i.stream=r}return i}async function vle(e,a){const t=e.embeds.find(u=>a.id===u.id);if(!t)throw new Error("Embed with ID not found");let n=a.url,i;a.url.includes(btoa("MEDIA="))&&([n,i]=n.split(btoa("MEDIA=")));const r=await t.scrape({fetcher:a.fetcher,proxiedFetcher:a.proxiedFetcher,url:n,progress(u){var o,l;(l=(o=a.events)==null?void 0:o.update)==null||l.call(o,{id:t.id,percentage:u,status:"pending"})}});if(r.stream=r.stream.filter(u=>$h(u)).filter(u=>Tc(a.features,u.flags)),r.stream.length===0)throw new Ce("No streams found");r.stream=r.stream.map(u=>Uh(u)&&a.proxyStreams?jh(u):u);const s=await XP(r.stream,a,t.id);if(s.length===0)throw new Ce("No playable streams found");if(i&&!a.disableOpensubtitles)for(const u of s)u.captions=await Fh(u.captions,a,i);return r.stream=s,r}function c8(e,a){const t=[...a];return t.sort((n,i)=>{const r=e.indexOf(n.id),s=e.indexOf(i.id);return r>=0&&s>=0?r-s:s>=0?1:r>=0?-1:i.rank-n.rank}),t}async function Dle(e,a){var t,n,i,r,s,u,o,l,g,d,c,p,f,h;const y=c8(a.sourceOrder??[],e.sources).filter(v=>a.media.type==="movie"?!!v.scrapeMovie:a.media.type==="show"?!!v.scrapeShow:!1),b=c8(a.embedOrder??[],e.embeds),m=b.map(v=>v.id);let T="";const A={fetcher:a.fetcher,proxiedFetcher:a.proxiedFetcher,progress(v){var D,k;(k=(D=a.events)==null?void 0:D.update)==null||k.call(D,{id:T,percentage:v,status:"pending"})}};(n=(t=a.events)==null?void 0:t.init)==null||n.call(t,{sourceIds:y.map(v=>v.id)});for(const v of y){(r=(i=a.events)==null?void 0:i.start)==null||r.call(i,v.id),T=v.id;let D=null;try{if(a.media.type==="movie"&&v.scrapeMovie?D=await v.scrapeMovie({...A,media:a.media}):a.media.type==="show"&&v.scrapeShow&&(D=await v.scrapeShow({...A,media:a.media})),D&&(D.stream=(D.stream??[]).filter($h).filter(N=>Tc(a.features,N.flags)),D.stream=D.stream.map(N=>Uh(N)&&a.proxyStreams?jh(N):N)),!D||!((s=D.stream)!=null&&s.length)&&!D.embeds.length)throw new Ce("No streams found")}catch(N){const q={id:v.id,percentage:100,status:N instanceof Ce?"notfound":"failure",reason:N instanceof Ce?N.message:void 0,error:N instanceof Ce?void 0:N};(o=(u=a.events)==null?void 0:u.update)==null||o.call(u,q);continue}if(!D)throw new Error("Invalid media type");if((l=D.stream)!=null&&l[0]){const N=await mA(D.stream[0],a,v.id);if(!N)throw new Ce("No streams found");return a.disableOpensubtitles||(N.captions=await Fh(N.captions,a,btoa(`${a.media.imdbId}${a.media.type==="show"?`.${a.media.season.number}.${a.media.episode.number}`:""}`))),{sourceId:v.id,stream:N}}const k=D.embeds.filter(N=>{const q=e.embeds.find(R=>R.id===N.embedId);return q&&!q.disabled}).sort((N,q)=>m.indexOf(N.embedId)-m.indexOf(q.embedId));k.length>0&&((d=(g=a.events)==null?void 0:g.discoverEmbeds)==null||d.call(g,{embeds:k.map((N,q)=>({id:[v.id,q].join("-"),embedScraperId:N.embedId})),sourceId:v.id}));for(const[N,q]of k.entries()){const R=b.find(K=>K.id===q.embedId);if(!R)throw new Error("Invalid embed returned");const z=[v.id,N].join("-");(p=(c=a.events)==null?void 0:c.start)==null||p.call(c,z),T=z;let W;try{if(W=await R.scrape({...A,url:q.url}),W.stream=W.stream.filter($h).filter(P=>Tc(a.features,P.flags)),W.stream=W.stream.map(P=>Uh(P)&&a.proxyStreams?jh(P):P),W.stream.length===0)throw new Ce("No streams found");const K=await mA(W.stream[0],a,q.embedId);if(!K)throw new Ce("No streams found");a.disableOpensubtitles||(K.captions=await Fh(K.captions,a,btoa(`${a.media.imdbId}${a.media.type==="show"?`.${a.media.season.number}.${a.media.episode.number}`:""}`))),W.stream=[K]}catch(K){const P={id:z,percentage:100,status:K instanceof Ce?"notfound":"failure",reason:K instanceof Ce?K.message:void 0,error:K instanceof Ce?void 0:K};(h=(f=a.events)==null?void 0:f.update)==null||h.call(f,P);continue}return{sourceId:v.id,embedId:R.id,stream:W.stream[0]}}}return null}function xle(e){const a={embeds:e.embeds,sources:e.sources},t={features:e.features,fetcher:o8(e.fetcher),proxiedFetcher:o8(e.proxiedFetcher??e.fetcher),proxyStreams:e.proxyStreams};return{runAll(n){return Dle(a,{...t,...n})},runSourceScraper(n){return Ale(a,{...t,...n})},runEmbedScraper(n){return vle(a,{...t,...n})},getMetadata(n){return ule(a,n)},listSources(){return rle(a)},listEmbeds(){return sle(a)}}}const Ele=hR("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",10),hf="https://d000d.com",yA=ka({id:"dood",name:"dood",rank:173,async scrape(e){var a,t;let n=e.url;e.url.includes("primewire")&&(n=(await e.proxiedFetcher.full(e.url)).finalUrl);const i=n.split("/d/")[1]||n.split("/e/")[1],r=await e.proxiedFetcher(`/e/${i}`,{method:"GET",baseUrl:hf}),s=(a=r.match(/\?token=([^&]+)&expiry=/))==null?void 0:a[1],u=(t=r.match(/\$\.get\('\/pass_md5([^']+)/))==null?void 0:t[1],o=r.match(/thumbnails:\s\{\s*vtt:\s'([^']*)'/),g=`${await e.proxiedFetcher(`/pass_md5${u}`,{headers:{Referer:`${hf}/e/${i}`},method:"GET",baseUrl:hf})}${Ele()}?token=${s}&expiry=${Date.now()}`;if(!g.startsWith("http"))throw new Error("Invalid URL");return{stream:[{id:"primary",type:"file",flags:[],captions:[],qualities:{unknown:{type:"mp4",url:g}},headers:{Referer:hf},...o?{thumbnailTrack:{type:"vtt",url:`https:${o[1]}`}}:{}}]}}}),kle=/eval\((.*)\)/g,Cle=/file:"(.*?)"/g,wle=/\{file:"([^"]+)",kind:"thumbnails"\}/g,_le=ka({id:"dropload",name:"Dropload",rank:120,scrape:async e=>{const a=await e.proxiedFetcher.full(e.url,{headers:{referer:e.url}}),t=new URL(a.finalUrl),i=a.body.match(kle);if(!i)throw new Error("Failed to find eval code");const r=au(i[1]),s=Cle.exec(r),u=wle.exec(r);if(!(s!=null&&s[1]))throw new Error("Failed to find file");return{stream:[{id:"primary",type:"hls",playlist:s[1],flags:[Ke.IP_LOCKED,Ke.CORS_ALLOWED],captions:[],...u?{thumbnailTrack:{type:"vtt",url:t.origin+u[1]}}:{}}]}}}),Ile="https://www.febbox.com";function QP(e){const[a,t,n,i]=e.slice(1).split("/"),r=n?parseInt(n,10):void 0,s=i?parseInt(i,10):void 0;return{type:a,id:t,season:r,episode:s}}async function p8(e,a,t){var n;const i={share_key:a,pwd:""};return t&&(i.parent_id=t.toString(),i.page="1"),((n=(await e.proxiedFetcher("/file/file_share_list",{headers:{"accept-language":"en"},baseUrl:Ile,query:i})).data)==null?void 0:n.file_list)??[]}function f8(e){return e.ext==="mp4"||e.ext==="mkv"}async function Nle(e,a,t,n,i){const r=await p8(e,a);if(t==="show"){const s=r.find(d=>d.is_dir?d.file_name.toLowerCase()===`season ${n}`:!1);if(!s)return[];const u=await p8(e,a,s.fid),o=(n==null?void 0:n.toString())??"0",l=(i==null?void 0:i.toString())??"0",g=new RegExp(`[Ss]0*${o}[Ee]0*${l}`);return u.filter(d=>!(d.is_dir||!d.file_name.match(g))).filter(f8)}return r.filter(s=>!s.is_dir).filter(f8)}const Lle=atob("d0VpcGhUbiE="),ZP=atob("MTIzZDZjZWRmNjI2ZHk1NDIzM2FhMXc2"),h8=[atob("aHR0cHM6Ly9zaG93Ym94LnNoZWd1Lm5ldC9hcGkvYXBpX2NsaWVudC9pbmRleC8="),atob("aHR0cHM6Ly9tYnBhcGkuc2hlZ3UubmV0L2FwaS9hcGlfY2xpZW50L2luZGV4Lw==")],m8=atob("bW92aWVib3g="),Rle=atob("Y29tLnRkby5zaG93Ym94"),y8=[atob("bWJwaW1hZ2VzLmNodWF4aW4uY29t"),atob("aW1hZ2VzLnNoZWd1Lm5ldA==")],Ple="https://www.showbox.media";function Mle(e){return Ou.TripleDES.encrypt(e,Ou.enc.Utf8.parse(ZP),{iv:Ou.enc.Utf8.parse(Lle)}).toString()}function Ole(e,a,t){return e?Ou.MD5(Ou.MD5(a).toString()+t+e).toString():null}const Ble=hR("1234567890abcdef"),Fle=()=>Math.floor(Date.now()/1e3+60*60*12),t6=async(e,a,t=!1)=>{const n={childmode:"0",app_version:"11.5",appid:Rle,lang:"en",expired_date:`${Fle()}`,platform:"android",channel:"Website"},i=Mle(JSON.stringify({...n,...a})),r=Ou.MD5(m8).toString(),s=Ole(i,m8,ZP),u=JSON.stringify({app_key:r,verify:s,encrypt_data:i}),o=btoa(u),l=new URLSearchParams;l.append("data",o),l.append("appid","27"),l.append("platform","android"),l.append("version","129"),l.append("medium","Website"),l.append("token",Ble(32));const g=t?h8[1]:h8[0],d=await e.proxiedFetcher(g,{method:"POST",headers:{Platform:"android","Content-Type":"application/x-www-form-urlencoded","User-Agent":"okhttp/3.2.0"},body:l});return JSON.parse(d)};async function JP(e,a,t,n,i,r){const u={fid:t,uid:"",module:n==="movie"?"Movie_srt_list_v2":"TV_srt_list_v2",mid:n==="movie"?a:void 0,tid:n!=="movie"?a:void 0,episode:i==null?void 0:i.toString(),season:r==null?void 0:r.toString()},l=(await t6(e,u)).data.list;let g=[];return l.forEach(d=>{const c=d.subtitles.sort((y,b)=>b.order-y.order)[0];if(!c)return;const p=c.file_path.replace(y8[0],y8[1]).replace(/\s/g,"+").replace(/[()]/g,y=>`%${y.charCodeAt(0).toString(16)}`),f=Tl(p);!f||!dle(c.lang)||g.push({id:p,language:c.lang,hasCorsRestrictions:!0,type:f,url:p})}),g=Wy(g),g}function Ule(e){return new URL(e).pathname.split("/")[2]}const jle=ka({id:"febbox-hls",name:"Febbox (HLS)",rank:160,disabled:!0,async scrape(e){var a;const{type:t,id:n,season:i,episode:r}=QP(e.url),s=await e.proxiedFetcher("/index/share_link",{baseUrl:Ple,query:{id:n,type:t==="movie"?"1":"2"}});if(!((a=s==null?void 0:s.data)!=null&&a.link))throw new Error("No embed url found");e.progress(30);const u=Ule(s.data.link),l=(await Nle(e,u,t,i,r))[0];if(!l)throw new Error("No playable mp4 stream found");return e.progress(70),{stream:[{id:"primary",type:"hls",flags:[],captions:await JP(e,n,l.fid,t,i,r),playlist:`https://www.febbox.com/hls/main/${l.oss_fid}.m3u8`}]}}}),eM=["360","480","720","1080","4k"];function zle(e){const a=e.real_quality.replace("p","").toLowerCase();return eM.includes(a)?{real_quality:a,path:e.path,fid:e.fid}:null}async function $le(e,a){var t;const n=(await t6(e,a)).data,i=n.list.map(s=>zle(s)).filter(s=>!!s),r={};return eM.forEach(s=>{const u=i.find(o=>o.real_quality===s&&o.path);u&&(r[s]={type:"mp4",url:u.path})}),{qualities:r,fid:(t=n.list[0])==null?void 0:t.fid}}const aM=ka({id:"febbox-mp4",name:"Febbox (MP4)",rank:190,async scrape(e){const{type:a,id:t,season:n,episode:i}=QP(e.url);let r=null;if(a==="movie"?r={uid:"",module:"Movie_downloadurl_v3",mid:t,oss:"1",group:""}:a==="show"&&(r={uid:"",module:"TV_downloadurl_v3",tid:t,season:n,episode:i,oss:"1",group:""}),!r)throw Error("Incorrect type");const{qualities:s,fid:u}=await $le(e,r);if(u===void 0)throw new Error("No streamable file found");return e.progress(70),{stream:[{id:"primary",captions:await JP(e,t,u,a,i,n),qualities:s,type:"file",flags:[Ke.CORS_ALLOWED]}]}}}),Kle=/file: ?"(http.*?)"/,Hle=/\{file:\s"([^"]+)",\skind:\s"thumbnails"\}/g,qle=ka({id:"filelions",name:"filelions",rank:115,async scrape(e){const a=await e.proxiedFetcher.full(e.url,{headers:{referer:e.url}}),t=a.body,n=new URL(a.finalUrl),i=t.match(Kle)??[],r=Hle.exec(t),s=i[1];if(!s)throw new Error("Stream url not found");return{stream:[{id:"primary",type:"hls",playlist:s,flags:[Ke.IP_LOCKED,Ke.CORS_ALLOWED],captions:[],...r?{thumbnailTrack:{type:"vtt",url:n.origin+r[1]}}:{}}]}}}),b8="https://mixdrop.ag",Vle=/(eval\(function\(p,a,c,k,e,d\){.*{}\)\))/,Gle=/MDCore\.wurl="(.*?)";/,jg=ka({id:"mixdrop",name:"MixDrop",rank:198,async scrape(e){let a=e.url;e.url.includes("primewire")&&(a=(await e.fetcher.full(e.url)).finalUrl);const t=new URL(a).pathname.split("/")[2],i=(await e.proxiedFetcher(`/e/${t}`,{baseUrl:b8})).match(Vle);if(!i)throw new Error("failed to find packed mixdrop JavaScript");const s=au(i[1]).match(Gle);if(!s)throw new Error("failed to find packed mixdrop source link");const u=s[1];return{stream:[{id:"primary",type:"file",flags:[Ke.IP_LOCKED],captions:[],qualities:{unknown:{type:"mp4",url:u.startsWith("http")?u:`https:${u}`,headers:{Referer:b8}}}}]}}}),tM=ka({id:"mp4upload",name:"mp4upload",rank:170,async scrape(e){const a=await e.proxiedFetcher(e.url),t=new RegExp('(?<=player\\.src\\()\\s*{\\s*type:\\s*"[^"]+",\\s*src:\\s*"([^"]+)"\\s*}\\s*(?=\\);)',"s"),i=(a.match(t)??[])[1];if(!i)throw new Error("Stream url not found in embed code");return{stream:[{id:"primary",type:"file",flags:[Ke.CORS_ALLOWED],captions:[],qualities:{1080:{type:"mp4",url:i}}}]}}}),Wle=/eval\(function\(h,u,n,t,e,r\).*?\("(.*?)",\d*?,"(.*?)",(\d*?),(\d*?),\d*?\)\)/,Yle=/file:"(.*?)"/;function Xle(e,a,t,n){const i=a[n];return e.split(i).filter(u=>u).map(u=>{const o=u.split("").reduceRight((l,g,d)=>l+a.indexOf(g)*n**(u.length-1-d),0);return String.fromCharCode(o-t)}).join("")}const nM=ka({id:"streambucket",name:"StreamBucket",rank:196,disabled:!0,async scrape(e){const t=await(await fetch(e.url)).text();if(t.includes("captcha-checkbox"))throw new Error("StreamBucket got captchaed");let n=t.match(Wle);if(!n)throw new Error("Failed to find StreamBucket hunter JavaScript");const i=n[1],r=n[2],s=Number(n[3]),u=Number(n[4]);if(Number.isNaN(s))throw new Error("StreamBucket hunter JavaScript charCodeOffset is not a valid number");if(Number.isNaN(u))throw new Error("StreamBucket hunter JavaScript delimiterOffset is not a valid number");if(n=Xle(i,r,s,u).match(Yle),!n)throw new Error("Failed to find StreamBucket HLS link");return{stream:[{id:"primary",type:"hls",playlist:n[1],flags:[Ke.CORS_ALLOWED],captions:[]}]}}});var Yl=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function iM(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Qle(e){if(e.__esModule)return e;var a=e.default;if(typeof a=="function"){var t=function n(){return this instanceof n?Reflect.construct(a,arguments,this.constructor):a.apply(this,arguments)};t.prototype=a.prototype}else t={};return Object.defineProperty(t,"__esModule",{value:!0}),Object.keys(e).forEach(function(n){var i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,i.get?i:{enumerable:!0,get:function(){return e[n]}})}),t}var rM={exports:{}};function Zle(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Pb={exports:{}};const Jle={},ege=Object.freeze(Object.defineProperty({__proto__:null,default:Jle},Symbol.toStringTag,{value:"Module"})),age=Qle(ege);var T8;function sM(){return T8||(T8=1,function(e,a){(function(t,n){e.exports=n()})(Yl,function(){var t=t||function(n,i){var r;if(typeof window<"u"&&window.crypto&&(r=window.crypto),typeof self<"u"&&self.crypto&&(r=self.crypto),typeof globalThis<"u"&&globalThis.crypto&&(r=globalThis.crypto),!r&&typeof window<"u"&&window.msCrypto&&(r=window.msCrypto),!r&&typeof Yl<"u"&&Yl.crypto&&(r=Yl.crypto),!r&&typeof Zle=="function")try{r=age}catch{}var s=function(){if(r){if(typeof r.getRandomValues=="function")try{return r.getRandomValues(new Uint32Array(1))[0]}catch{}if(typeof r.randomBytes=="function")try{return r.randomBytes(4).readInt32LE()}catch{}}throw new Error("Native crypto module could not be used to get secure random number.")},u=Object.create||function(){function m(){}return function(T){var A;return m.prototype=T,A=new m,m.prototype=null,A}}(),o={},l=o.lib={},g=l.Base=function(){return{extend:function(m){var T=u(this);return m&&T.mixIn(m),(!T.hasOwnProperty("init")||this.init===T.init)&&(T.init=function(){T.$super.init.apply(this,arguments)}),T.init.prototype=T,T.$super=this,T},create:function(){var m=this.extend();return m.init.apply(m,arguments),m},init:function(){},mixIn:function(m){for(var T in m)m.hasOwnProperty(T)&&(this[T]=m[T]);m.hasOwnProperty("toString")&&(this.toString=m.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),d=l.WordArray=g.extend({init:function(m,T){m=this.words=m||[],T!=i?this.sigBytes=T:this.sigBytes=m.length*4},toString:function(m){return(m||p).stringify(this)},concat:function(m){var T=this.words,A=m.words,v=this.sigBytes,D=m.sigBytes;if(this.clamp(),v%4)for(var k=0;k<D;k++){var N=A[k>>>2]>>>24-k%4*8&255;T[v+k>>>2]|=N<<24-(v+k)%4*8}else for(var q=0;q<D;q+=4)T[v+q>>>2]=A[q>>>2];return this.sigBytes+=D,this},clamp:function(){var m=this.words,T=this.sigBytes;m[T>>>2]&=4294967295<<32-T%4*8,m.length=n.ceil(T/4)},clone:function(){var m=g.clone.call(this);return m.words=this.words.slice(0),m},random:function(m){for(var T=[],A=0;A<m;A+=4)T.push(s());return new d.init(T,m)}}),c=o.enc={},p=c.Hex={stringify:function(m){for(var T=m.words,A=m.sigBytes,v=[],D=0;D<A;D++){var k=T[D>>>2]>>>24-D%4*8&255;v.push((k>>>4).toString(16)),v.push((k&15).toString(16))}return v.join("")},parse:function(m){for(var T=m.length,A=[],v=0;v<T;v+=2)A[v>>>3]|=parseInt(m.substr(v,2),16)<<24-v%8*4;return new d.init(A,T/2)}},f=c.Latin1={stringify:function(m){for(var T=m.words,A=m.sigBytes,v=[],D=0;D<A;D++){var k=T[D>>>2]>>>24-D%4*8&255;v.push(String.fromCharCode(k))}return v.join("")},parse:function(m){for(var T=m.length,A=[],v=0;v<T;v++)A[v>>>2]|=(m.charCodeAt(v)&255)<<24-v%4*8;return new d.init(A,T)}},h=c.Utf8={stringify:function(m){try{return decodeURIComponent(escape(f.stringify(m)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(m){return f.parse(unescape(encodeURIComponent(m)))}},y=l.BufferedBlockAlgorithm=g.extend({reset:function(){this._data=new d.init,this._nDataBytes=0},_append:function(m){typeof m=="string"&&(m=h.parse(m)),this._data.concat(m),this._nDataBytes+=m.sigBytes},_process:function(m){var T,A=this._data,v=A.words,D=A.sigBytes,k=this.blockSize,N=k*4,q=D/N;m?q=n.ceil(q):q=n.max((q|0)-this._minBufferSize,0);var R=q*k,z=n.min(R*4,D);if(R){for(var W=0;W<R;W+=k)this._doProcessBlock(v,W);T=v.splice(0,R),A.sigBytes-=z}return new d.init(T,z)},clone:function(){var m=g.clone.call(this);return m._data=this._data.clone(),m},_minBufferSize:0});l.Hasher=y.extend({cfg:g.extend(),init:function(m){this.cfg=this.cfg.extend(m),this.reset()},reset:function(){y.reset.call(this),this._doReset()},update:function(m){return this._append(m),this._process(),this},finalize:function(m){m&&this._append(m);var T=this._doFinalize();return T},blockSize:16,_createHelper:function(m){return function(T,A){return new m.init(A).finalize(T)}},_createHmacHelper:function(m){return function(T,A){return new b.HMAC.init(m,A).finalize(T)}}});var b=o.algo={};return o}(Math);return t})}(Pb)),Pb.exports}(function(e,a){(function(t,n){e.exports=n(sM())})(Yl,function(t){return function(){var n=t,i=n.lib,r=i.WordArray,s=n.enc;s.Base64={stringify:function(o){var l=o.words,g=o.sigBytes,d=this._map;o.clamp();for(var c=[],p=0;p<g;p+=3)for(var f=l[p>>>2]>>>24-p%4*8&255,h=l[p+1>>>2]>>>24-(p+1)%4*8&255,y=l[p+2>>>2]>>>24-(p+2)%4*8&255,b=f<<16|h<<8|y,m=0;m<4&&p+m*.75<g;m++)c.push(d.charAt(b>>>6*(3-m)&63));var T=d.charAt(64);if(T)for(;c.length%4;)c.push(T);return c.join("")},parse:function(o){var l=o.length,g=this._map,d=this._reverseMap;if(!d){d=this._reverseMap=[];for(var c=0;c<g.length;c++)d[g.charCodeAt(c)]=c}var p=g.charAt(64);if(p){var f=o.indexOf(p);f!==-1&&(l=f)}return u(o,l,d)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="};function u(o,l,g){for(var d=[],c=0,p=0;p<l;p++)if(p%4){var f=g[o.charCodeAt(p-1)]<<p%4*2,h=g[o.charCodeAt(p)]>>>6-p%4*2,y=f|h;d[c>>>2]|=y<<24-c%4*8,c++}return r.create(d,c)}}(),t.enc.Base64})})(rM);var tge=rM.exports;const nge=iM(tge);var uM={exports:{}};(function(e,a){(function(t,n){e.exports=n(sM())})(Yl,function(t){return t.enc.Utf8})})(uM);var ige=uM.exports;const rge=iM(ige);async function sge(e,a,t){const n=nge.stringify(rge.parse(a)).replace(/=/g,"."),i=await e.proxiedFetcher("https://www.google.com/recaptcha/api.js",{query:{render:t}}),r=i.substring(i.indexOf("/releases/")+10,i.indexOf("/recaptcha__en.js")),s=await e.proxiedFetcher("https://www.google.com/recaptcha/api2/anchor?cb=1&hl=en&size=invisible&cb=flicklax",{query:{k:t,co:n,v:r}}),u=qe(s)("#recaptcha-token").attr("value");if(!u)throw new Error("Unable to find cToken");const l=(await e.proxiedFetcher("https://www.google.com/recaptcha/api2/reload",{query:{v:r,reason:"q",k:t,c:u,sa:"",co:a},headers:{referer:"https://www.google.com/recaptcha/api2/"},method:"POST"})).match('rresp","(.+?)"');return l?l[1]:null}const oM=ka({id:"streamsb",name:"StreamSB",rank:150,async scrape(e){const a=e.url.replace(".html","").replace("embed-","").replace("e/","").replace("d/",""),t=new URL(a),n=await e.proxiedFetcher(`${t.origin}/d${t.pathname}`);e.progress(20);const i=qe(n),r=[];i("[onclick^=download_video]").each((o,l)=>{const g=i(l),d=g.attr("onclick"),p=/download_video\('(.+?)','(.+?)','(.+?)'\)/.exec(d??"");if(!p)return;const f=g.find("span").text(),y=/(.+?) \((.+?)\)/.exec(f??"");y&&r.push({parameters:[p[1],p[2],p[3]],quality:{label:y[1].trim(),size:y[2]}})}),e.progress(40);let s=await Promise.all(r.map(async o=>{const l={op:"download_orig",id:o.parameters[0],mode:o.parameters[1],hash:o.parameters[2]},g=await e.proxiedFetcher("/dl",{query:l,baseUrl:t.origin}),c=qe(g)(".g-recaptcha").attr("data-sitekey");if(!c)throw new Error("Unable to get captcha key");const p=await sge(e,t.origin,c);if(!p)throw new Error("Unable to get captcha token");const f=new Jv;f.append("op","download_orig"),f.append("id",o.parameters[0]),f.append("mode",o.parameters[1]),f.append("hash",o.parameters[2]),f.append("g-recaptcha-response",p);const h=await e.proxiedFetcher("/dl",{method:"POST",baseUrl:t.origin,body:f,query:l}),y=qe(h)(".btn.btn-light.btn-lg").attr("href");return{quality:o.quality.label,url:y}}));s=s.filter(o=>!!o.url),e.progress(80);const u=s.reduce((o,l)=>(o[l.quality]={type:"mp4",url:l.url},o),{});return{stream:[{id:"primary",type:"file",flags:[Ke.CORS_ALLOWED],qualities:u,captions:[]}]}}});function uge(e){return String.fromCharCode(parseInt(e,16))}function oge(e,a){var t;return(((t=e.match(/../g))==null?void 0:t.map(uge).join(""))||"").split("").map((i,r)=>String.fromCharCode(i.charCodeAt(0)^a.charCodeAt(r%a.length))).join("")}const lge=ka({id:"turbovid",name:"Turbovid",rank:122,async scrape(e){var a,t;const n=new URL(e.url).origin,i=await e.proxiedFetcher(e.url);e.progress(30);const r=(a=i.match(/const\s+apkey\s*=\s*"(.*?)";/))==null?void 0:a[1],s=(t=i.match(/const\s+xxid\s*=\s*"(.*?)";/))==null?void 0:t[1];if(!r||!s)throw new Error("Failed to get required values");const u=JSON.parse(await e.proxiedFetcher("/api/cucked/juice_key",{baseUrl:n,headers:{referer:e.url}})).juice;if(!u)throw new Error("Failed to fetch the key");e.progress(60);const o=JSON.parse(await e.proxiedFetcher("/api/cucked/the_juice/",{baseUrl:n,query:{[r]:s},headers:{referer:e.url}})).data;if(!o)throw new Error("Failed to fetch required data");return e.progress(90),{stream:[{type:"hls",id:"primary",playlist:oge(o,u),headers:{referer:n},flags:[],captions:[]}]}}}),gge="https://rabbitstream.net",dge="https://rabbitstream.net/",{AES:cge,enc:pge}=Ou;function fge(e){try{return JSON.parse(e),!0}catch{return!1}}function hge(e){const a=e.lastIndexOf("switch"),t=e.indexOf("partKeyStartPosition"),n=e.slice(a,t),i=[],r=n.matchAll(/:[a-zA-Z0-9]+=([a-zA-Z0-9]+),[a-zA-Z0-9]+=([a-zA-Z0-9]+);/g);for(const s of r){const u=[];for(const o of[s[1],s[2]]){const l=new RegExp(`${o}=0x([a-zA-Z0-9]+)`,"g"),g=[...e.matchAll(l)],d=g[g.length-1];if(!d)return null;const c=parseInt(d[1],16);u.push(c)}i.push([u[0],u[1]])}return i}const Vs=ka({id:"upcloud",name:"UpCloud",rank:200,disabled:!0,async scrape(e){const a=new URL(e.url.replace("embed-5","embed-4")),t=a.pathname.split("/"),n=t[t.length-1],i=await e.proxiedFetcher(`${a.origin}/ajax/embed-4/getSources?id=${n}`,{headers:{Referer:a.origin,"X-Requested-With":"XMLHttpRequest"}});let r=null;if(!fge(i.sources)){const u=await e.proxiedFetcher("https://rabbitstream.net/js/player/prod/e4-player.min.js",{query:{v:Date.now().toString()}}),o=hge(u);if(!o)throw new Error("Key extraction failed");let l="",g=i.sources,d=0;o.forEach(([f,h])=>{const y=f+d,b=y+h;l+=i.sources.slice(y,b),g=g.replace(i.sources.substring(y,b),""),d+=h});const c=cge.decrypt(g,l).toString(pge.Utf8),p=JSON.parse(c)[0];if(!p)throw new Error("No stream found");r=p}if(!r)throw new Error("upcloud source not found");const s=[];return i.tracks.forEach(u=>{if(u.kind!=="captions")return;const o=Tl(u.file);if(!o)return;const l=tu(u.label.split(" ")[0]);l&&s.push({id:u.file,language:l,hasCorsRestrictions:!1,type:o,url:u.file})}),{stream:[{id:"primary",type:"hls",playlist:r.file,flags:[Ke.CORS_ALLOWED],captions:s,preferredHeaders:{Referer:dge,Origin:gge}}]}}}),mge=/(eval\(function\(p,a,c,k,e,d\).*\)\)\))/,yge=/sources:\[{file:"(.*?)"/,Kh=ka({id:"upstream",name:"UpStream",rank:199,async scrape(e){const t=(await e.proxiedFetcher(e.url)).match(mge);if(t){const i=au(t[1]).match(yge);if(i)return{stream:[{id:"primary",type:"hls",playlist:i[1],flags:[Ke.CORS_ALLOWED],captions:[]}]}}throw new Error("upstream source not found")}}),C2="https://vidsrc.me",bA="https://vidsrc.stream",bge=/file:"(.*?)"/,Tge=/var pass_path = "(.*set_pass\.php.*)";/;function lM(e){const a=e.replace(/\/@#@\/[^=/]+==/g,"");return a.match(/\/@#@\/[^=/]+==/)?lM(a):a}const gM=ka({id:"vidsrcembed",name:"VidSrc",rank:197,async scrape(e){var a,t,n;const i=await e.proxiedFetcher(e.url,{headers:{referer:e.url}});let r=(t=(a=i.match(bge))==null?void 0:a[1])==null?void 0:t.slice(2);if(!r)throw new Error("Unable to find HLS playlist");r=lM(r);const s=atob(r);if(!s.includes(".m3u8"))throw new Error("Unable to find HLS playlist");let u=(n=i.match(Tge))==null?void 0:n[1];return u&&(u.startsWith("//")&&(u=`https:${u}`),await e.proxiedFetcher(u,{headers:{referer:e.url}})),{stream:[{id:"primary",type:"hls",playlist:s,headers:{Referer:bA,Origin:bA},flags:[],captions:[]}]}}}),Sge=/eval\((.*)\)/g,Age=/file:"(.*?)"/g,vge=/\{file:"([^"]+)",kind:"thumbnails"\}/g,Dge=ka({id:"vtube",name:"vTube",rank:145,scrape:async e=>{const a=await e.proxiedFetcher.full(e.url,{headers:{referer:e.url}}),t=a.body,i=qe(t)("script").text().match(Sge);if(!i)throw new Error("Failed to find eval code");const r=au(i==null?void 0:i.toString()),s=Age.exec(r),u=vge.exec(r);if(!(s!=null&&s[1]))throw new Error("Failed to find file");return{stream:[{id:"primary",type:"hls",playlist:s[1],flags:[Ke.CORS_ALLOWED],captions:[],...u?{thumbnailTrack:{type:"vtt",url:new URL(a.finalUrl).origin+u[1]}}:{}}]}}}),xge="https://autoembed.cc/";async function S8(e){const t=(await e.proxiedFetcher("/embed/player.php",{baseUrl:xge,query:{id:e.media.tmdbId,...e.media.type==="show"&&{s:e.media.season.number.toString(),e:e.media.episode.number.toString()}}})).match(/"file": (\[.*?\])/s);if(!t[1])throw new Ce("No data found");const n=JSON.parse(t[1].replace(/,\s*\]$/,"]")),i=[];for(const r of n){const s=r.file;s&&i.push({embedId:`autoembed-${r.title.toLowerCase().trim()}`,url:s})}return{embeds:i}}const Ege=Wa({id:"autoembed",name:"Autoembed",rank:10,disabled:!0,flags:[Ke.CORS_ALLOWED],scrapeMovie:S8,scrapeShow:S8});function A8(e){let a=e.trim().toLowerCase();return a!=="the movie"&&a.endsWith("the movie")&&(a=a.replace("the movie","")),a!=="the series"&&a.endsWith("the series")&&(a=a.replace("the series","")),a.replace(/['":]/g,"").replace(/[^a-zA-Z0-9]+/g,"_")}function Yy(e,a){return A8(e)===A8(a)}function ci(e,a,t){const n=t===void 0?!0:e.releaseYear===t;return Yy(e.title,a)&&n}const kge="https://catflix.su";async function v8(e){var a;const t=await e.proxiedFetcher("/",{baseUrl:kge,query:{s:e.media.title}});e.progress(40);const n=qe(t),i=[];n("li").each((o,l)=>{const g=n(l).find("h2").first().text().trim(),d=Number(n(l).find(".text-xs > span").eq(1).text().trim())||void 0,c=n(l).find("a").attr("href");!g||!c||i.push({title:g,year:d,url:c})});let r=(a=i.find(o=>o&&ci(e.media,o.title,o.year)))==null?void 0:a.url;if(!r)throw new Ce("No watchable item found");if(e.progress(60),e.media.type==="show"){const o=r.match(/\/series\/([^/]+)\/?/);if(!o)throw new Error("Failed to parse watch page url");r=r.replace(`/series/${o[1]}`,`/episode/${o[1]}-${e.media.season.number}x${e.media.episode.number}`)}const s=qe(await e.proxiedFetcher(r));e.progress(80);const u=s("iframe").first().attr("src");if(!u)throw new Error("Failed to find embed url");return e.progress(90),{embeds:[{embedId:"turbovid",url:u}]}}const Cge=Wa({id:"catflix",name:"Catflix",rank:122,flags:[],scrapeMovie:v8,scrapeShow:v8});function Fu(e){return Object.entries(e).map(([a,t])=>e6.serialize(a,t)).join("; ")}function Sc(e){const a=u8.splitCookiesString(e);return u8.parse(a,{map:!0})}const w2="https://ee3.me",wge="_sf_",_ge="defonotscraping";async function Ige(e,a,t){const n=await t.proxiedFetcher.full("/login",{baseUrl:w2,method:"POST",body:new URLSearchParams({user:e,pass:a,action:"login"}),readHeaders:["Set-Cookie"]}),i=JSON.parse(n.body);return Sc(i.status===1?n.headers.get("Set-Cookie")??"":"PHPSESSID=mk2p73c77qc28o5i5120843ruu;").PHPSESSID.value}function Nge(e){const a=[],t=qe(e);return t("div").each((n,i)=>{const r=t(i).find(".title").text().trim(),s=parseInt(t(i).find(".details span").first().text().trim(),10),u=t(i).find(".control-buttons").attr("data-id");r&&s&&u&&a.push({title:r,year:s,id:u})}),a}async function Lge(e){var a,t;const n=await Ige(wge,_ge,e);if(!n)throw new Error("Login failed");const r=(a=Nge(await e.proxiedFetcher("/get",{baseUrl:w2,method:"POST",body:new URLSearchParams({query:e.media.title,action:"search"}),headers:{cookie:Fu({PHPSESSID:n})}})).find(c=>c&&ci(e.media,c.title,c.year)))==null?void 0:a.id;if(!r)throw new Ce("No watchable item found");const s=JSON.parse(await e.proxiedFetcher("/get",{baseUrl:w2,method:"POST",body:new URLSearchParams({id:r,action:"get_movie_info"}),headers:{cookie:Fu({PHPSESSID:n})}}));if(!s.message.video)throw new Error("Failed to get the stream");const u=JSON.parse(await e.proxiedFetcher("/renew",{baseUrl:w2,method:"POST",headers:{cookie:Fu({PHPSESSID:n})}}));if(!u.k)throw new Error("Failed to get the key");const o=s.message.server==="1"?"https://vid.ee3.me/vid/":"https://vault.rips.cc/video/",l=u.k,g=`${o}${s.message.video}?${new URLSearchParams({k:l})}`,d=[];return((t=s.message.subs)==null?void 0:t.toLowerCase())==="yes"&&s.message.imdbID&&d.push({id:`https://rips.cc/subs/${s.message.imdbID}.vtt`,url:`https://rips.cc/subs/${s.message.imdbID}.vtt`,type:"vtt",hasCorsRestrictions:!1,language:"en"}),{embeds:[],stream:[{id:"primary",type:"file",flags:[Ke.CORS_ALLOWED],captions:d,qualities:{720:{type:"mp4",url:g}}}]}}const Rge=Wa({id:"ee3",name:"EE3",rank:111,flags:[Ke.CORS_ALLOWED],scrapeMovie:Lge}),zg=ka({id:"vidcloud",name:"VidCloud",rank:201,disabled:!0,async scrape(e){return{stream:(await Vs.scrape(e)).stream.map(t=>({...t,flags:[]}))}}}),Sg="https://flixhq.to";async function mf(e,a){return(await e.proxiedFetcher(`/ajax/sources/${a}`,{baseUrl:Sg})).link}async function Pge(e,a,t){const n=t.split("-"),i=n[n.length-1],r=await e.proxiedFetcher(`/ajax/movie/episodes/${i}`,{baseUrl:Sg}),s=qe(r);return s(".nav-item > a").toArray().map(o=>{const l=s(o),g=l.attr("title"),d=l.attr("data-linkid");if(!g||!d)throw new Error("invalid sources");return{embed:g,episodeId:d}})}async function Mge(e,a,t){var n,i;const r=t.split("-"),s=r[r.length-1],u=await e.proxiedFetcher(`/ajax/season/list/${s}`,{baseUrl:Sg}),o=qe(u),l=(n=o(".dropdown-item").toArray().find(y=>o(y).text()===`Season ${a.season.number}`))==null?void 0:n.attribs["data-id"];if(!l)throw new Ce("season not found");const g=await e.proxiedFetcher(`/ajax/season/episodes/${l}`,{baseUrl:Sg}),d=qe(g),c=(i=d(".nav-item > a").toArray().map(y=>({id:d(y).attr("data-id"),title:d(y).attr("title")})).find(y=>{var b;return(b=y.title)==null?void 0:b.startsWith(`Eps ${a.episode.number}`)}))==null?void 0:i.id;if(!c)throw new Ce("episode not found");const p=await e.proxiedFetcher(`/ajax/episode/servers/${c}`,{baseUrl:Sg}),f=qe(p);return f(".nav-item > a").toArray().map(y=>{const b=f(y),m=b.attr("title"),T=b.attr("data-id");if(!m||!T)throw new Error("invalid sources");return{embed:m,episodeId:T}})}async function D8(e,a){const t=await e.proxiedFetcher(`/search/${a.title.replaceAll(/[^a-z0-9A-Z]/g,"-")}`,{baseUrl:Sg}),n=qe(t),r=n(".film_list-wrap > div.flw-item").toArray().map(s=>{var u;const o=n(s),l=(u=o.find("div.film-poster > a").attr("href"))==null?void 0:u.slice(1),g=o.find("div.film-detail > h2 > a").attr("title"),d=o.find("div.film-detail > div.fd-infor > span:nth-child(1)").text(),c=d.includes("SS")?d.split("SS")[1]:"0";return!l||!g||!d?null:{id:l,title:g,year:parseInt(d,10),seasons:parseInt(c,10)}}).find(s=>s?a.type==="movie"?ci(a,s.title,s.year):Yy(a.title,s.title)&&a.season.number<s.seasons+1:!1);return r?r.id:null}const Oge=Wa({id:"flixhq",name:"FlixHQ",rank:61,flags:[Ke.CORS_ALLOWED],disabled:!0,async scrapeMovie(e){const a=await D8(e,e.media);if(!a)throw new Ce("no search results match");const t=await Pge(e,e.media,a),n=[];for(const i of t)i.embed.toLowerCase()==="upcloud"?n.push({embedId:Vs.id,url:await mf(e,i.episodeId)}):i.embed.toLowerCase()==="vidcloud"&&n.push({embedId:zg.id,url:await mf(e,i.episodeId)});return{embeds:n}},async scrapeShow(e){const a=await D8(e,e.media);if(!a)throw new Ce("no search results match");const t=await Mge(e,e.media,a),n=[];for(const i of t)i.embed.toLowerCase()==="server upcloud"?n.push({embedId:Vs.id,url:await mf(e,i.episodeId)}):i.embed.toLowerCase()==="server vidcloud"&&n.push({embedId:zg.id,url:await mf(e,i.episodeId)});return{embeds:n}}});function dM(e){switch(e.toLowerCase().replace("p","")){case"360":return"360";case"480":return"480";case"720":return"720";case"1080":return"1080";case"2160":return"4k";case"4k":return"4k";default:return"unknown"}}const yf="https://fsharetv.co";async function Bge(e){var a,t;const n=await e.proxiedFetcher("/search",{baseUrl:yf,query:{q:e.media.title}}),i=qe(n),r=[];i(".movie-item").each((c,p)=>{var f;const[,h,y]=((f=i(p).find("b").text())==null?void 0:f.match(/^(.*?)\s*(?:\(?\s*(\d{4})(?:\s*-\s*\d{0,4})?\s*\)?)?\s*$/))||[],b=i(p).find("a").attr("href");!h||!b||r.push({title:h,year:Number(y)??void 0,url:b})});const s=(a=r.find(c=>c&&ci(e.media,c.title,c.year)))==null?void 0:a.url;if(!s)throw new Ce("No watchable item found");const o=(t=(await e.proxiedFetcher(s.replace("/movie","/w"),{baseUrl:yf})).match(/Movie\.setSource\('([^']*)'/))==null?void 0:t[1];if(!o)throw new Error("File ID not found");const l=await e.proxiedFetcher(`/api/file/${o}/source`,{baseUrl:yf,query:{type:"watch"}});if(!l.data.file.sources.length)throw new Error("No sources found");const g=new URL((await e.proxiedFetcher.full(l.data.file.sources[0].src,{baseUrl:yf})).finalUrl).origin,d=l.data.file.sources.reduce((c,p)=>{const f=typeof p.quality=="number"?p.quality.toString():p.quality,h=dM(f);return c[h]={type:"mp4",url:`${g}${p.src.replace("/api","")}`},c},{});return{embeds:[],stream:[{id:"primary",type:"file",flags:[],headers:{referer:"https://fsharetv.co"},qualities:d,captions:[]}]}}const Fge=Wa({id:"fsharetv",name:"FshareTV",rank:93,flags:[],scrapeMovie:Bge}),Uge=/'hls': ?'(http.*?)',/,jge=/previewThumbnails:\s{.*src:\["([^"]+)"]/,TA=ka({id:"voe",name:"voe.sx",rank:180,async scrape(e){const a=await e.proxiedFetcher.full(e.url),t=a.body,n=t.match(Uge)??[],i=t.match(jge),r=n[1];if(!r)throw new Error("Stream url not found in embed code");return{stream:[{type:"hls",id:"primary",playlist:r,flags:[Ke.CORS_ALLOWED,Ke.IP_LOCKED],captions:[],headers:{Referer:"https://voe.sx"},...i?{thumbnailTrack:{type:"vtt",url:new URL(a.finalUrl).origin+i[1]}}:{}}]}}});async function Ui(e,a,t){const n=qe(a)(`a[title*=${t} i]`),i=(n==null?void 0:n.attr("data-id"))??(n==null?void 0:n.attr("data-linkid"));if(!i)return;const r=await e.proxiedFetcher(`/ajax/sources/${i}`,{headers:{"X-Requested-With":"XMLHttpRequest"},baseUrl:xo});if(!(!r.link||r.type!=="iframe"))return r}const xo="https://gomovies.sx",zge=Wa({id:"gomovies",name:"GOmovies",rank:60,disabled:!0,flags:[Ke.CORS_ALLOWED],async scrapeShow(e){var a;const t=await e.proxiedFetcher(`/search/${e.media.title.replaceAll(/[^a-z0-9A-Z]/g,"-")}`,{method:"GET",headers:{"X-Requested-With":"XMLHttpRequest"},baseUrl:xo}),n=qe(t),s=n("div.film-detail").toArray().map(W=>{var K,P;const L=(K=n(W).find("h2.film-name a"))==null?void 0:K.text(),H=(P=n(W).find("span.fdi-item:first"))==null?void 0:P.text(),U=n(W).find("h2.film-name a").attr("href");return{name:L,year:H,path:U}}).find(W=>W.name===e.media.title);if(!(s!=null&&s.path))throw new Ce("Media not found");let u=(a=s.path.split("-").pop())==null?void 0:a.replace("/","");const o=await e.proxiedFetcher(`/ajax/v2/tv/seasons/${u}`,{headers:{"X-Requested-With":"XMLHttpRequest"},baseUrl:xo}),g=qe(o)(".ss-item").toArray().map(W=>({number:qe(W).text().replace("Season ",""),dataId:W.attribs["data-id"]})),d=e.media.season.number,c=g.find(W=>+W.number===d);if(!c)throw new Ce("Season not found");const p=await e.proxiedFetcher(`/ajax/v2/season/episodes/${c.dataId}`,{headers:{"X-Requested-With":"XMLHttpRequest"},baseUrl:xo}),f=qe(p),y=f(".eps-item").toArray().map(W=>({dataId:W.attribs["data-id"],number:f(W).find("strong").text().replace("Eps","").replace(":","").trim()})),b=e.media.episode.number,m=y.find(W=>W.number?+W.number===b:!1);if(!(m!=null&&m.dataId))throw new Ce("Episode not found");u=m.dataId;const T=await e.proxiedFetcher(`ajax/v2/episode/servers/${u}`,{baseUrl:xo,headers:{"X-Requested-With":"XMLHttpRequest"}}),A=await Ui(e,T,"upcloud"),v=await Ui(e,T,"vidcloud"),D=await Ui(e,T,"voe"),k=await Ui(e,T,"doodstream"),N=await Ui(e,T,"upstream"),q=await Ui(e,T,"mixdrop"),z=[{embedId:Vs.id,url:A==null?void 0:A.link},{embedId:zg.id,url:v==null?void 0:v.link},{embedId:TA.id,url:D==null?void 0:D.link},{embedId:yA.id,url:k==null?void 0:k.link},{embedId:Kh.id,url:N==null?void 0:N.link},{embedId:jg.id,url:q==null?void 0:q.link}].filter(W=>W.url).map(W=>({embedId:W.embedId,url:W.url}));if(z.length===0)throw new Error("No valid embeds found.");return{embeds:z}},async scrapeMovie(e){var a;const t=await e.proxiedFetcher(`/search/${e.media.title.replaceAll(/[^a-z0-9A-Z]/g,"-")}`,{method:"GET",headers:{"X-Requested-With":"XMLHttpRequest"},baseUrl:xo}),n=qe(t),s=n("div.film-detail").toArray().map(b=>{var m,T;const A=(m=n(b).find("h2.film-name a"))==null?void 0:m.text(),v=(T=n(b).find("span.fdi-item:first"))==null?void 0:T.text(),D=n(b).find("h2.film-name a").attr("href");return{name:A,year:v,path:D}}).find(b=>b.name===e.media.title&&b.year===e.media.releaseYear.toString());if(!(s!=null&&s.path))throw new Ce("Media not found");const u=(a=s.path.split("-").pop())==null?void 0:a.replace("/",""),o=await e.proxiedFetcher(`ajax/movie/episodes/${u}`,{headers:{"X-Requested-With":"XMLHttpRequest"},baseUrl:xo}),l=await Ui(e,o,"upcloud"),g=await Ui(e,o,"vidcloud"),d=await Ui(e,o,"voe"),c=await Ui(e,o,"doodstream"),p=await Ui(e,o,"upstream"),f=await Ui(e,o,"mixdrop"),y=[{embedId:Vs.id,url:l==null?void 0:l.link},{embedId:zg.id,url:g==null?void 0:g.link},{embedId:TA.id,url:d==null?void 0:d.link},{embedId:yA.id,url:c==null?void 0:c.link},{embedId:Kh.id,url:p==null?void 0:p.link},{embedId:jg.id,url:f==null?void 0:f.link}].filter(b=>b.url).map(b=>({embedId:b.embedId,url:b.url}));if(y.length===0)throw new Error("No valid embeds found.");return{embeds:y}}});async function x8(e){let a=[];for(const t of e){let n="";if(t.name.includes("Рус"))n="ru";else if(t.name.includes("Укр"))n="uk";else if(t.name.includes("Eng"))n="en";else continue;a.push({id:t.url,url:t.url,language:n,type:"vtt",hasCorsRestrictions:!1})}return a=Wy(a),a}const E8="https://api.insertunit.ws/",$ge=Wa({id:"insertunit",name:"Insertunit",disabled:!0,rank:60,flags:[Ke.CORS_ALLOWED],async scrapeShow(e){const a=await e.fetcher(`/embed/imdb/${e.media.imdbId}`,{baseUrl:E8});e.progress(30);const n=/seasons:(.*)/.exec(a);if(n===null||n[1]===null)throw new Ce("No result found");e.progress(60);const r=JSON.parse(n[1]).find(o=>o.season===e.media.season.number&&!o.blocked),s=r==null?void 0:r.episodes.find(o=>o.episode.includes(e.media.episode.number.toString()));if(!(s!=null&&s.hls))throw new Ce("No result found");let u=[];return s.cc!=null&&(u=await x8(s.cc)),e.progress(95),{embeds:[],stream:[{id:"primary",playlist:s.hls,type:"hls",flags:[Ke.CORS_ALLOWED],captions:u}]}},async scrapeMovie(e){const a=await e.fetcher(`/embed/imdb/${e.media.imdbId}`,{baseUrl:E8});e.progress(35);const n=/hls: "([^"]*)/.exec(a);if(n===null||n[1]===null)throw new Ce("No result found");e.progress(75);const r=/cc: (.*)/.exec(a);let s=[];if(r!=null&&r[1]!=null){const u=JSON.parse(r[1]);s=await x8(u)}return e.progress(90),{embeds:[],stream:[{id:"primary",type:"hls",playlist:n[1],flags:[Ke.CORS_ALLOWED],captions:s}]}}}),Hh="https://kissasian.sh",Kge=[{type:tM.id,id:"mp"},{type:oM.id,id:"sb"}];async function k8(e,a){let t=await Promise.all(Kge.map(async n=>{if(!a.url)throw new Ce("Episode not found");const i=await e.proxiedFetcher(`${a.url}&s=${n.id}`,{baseUrl:Hh,headers:{accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","accept-language":"en-US,en;q=0.9","cache-control":"no-cache",pragma:"no-cache","sec-ch-ua":'"Not)A;Brand";v="24", "Chromium";v="116"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"macOS"',"sec-fetch-dest":"document","sec-fetch-mode":"navigate","sec-fetch-site":"cross-site","sec-fetch-user":"?1","upgrade-insecure-requests":"1",cookie:"__rd=; ASP.NET_SessionId=jwnl2kmlw5h4mfdaxvpk30q0; k_token=OKbJDFNx3rUtaw7iAA6UxMKSJb79lgZ2X2rVC9aupJhycYQKVSLaW1y2B4K%2f%2fo3i6BuzhXgfkJGmKlKH6LpNlKPPpZUk31n9DapfMdJgjlLExgrPS3jpSKwGnNUI%2bOpNpZu9%2fFnkLZRxvVKCa8APMxrck1tYkKXWqfyJJh8%2b7hQTI1wfAOU%2fLEouHhtQGL%2fReTzElw2LQ0XSL1pjs%2fkWW3rM3of2je7Oo13I%2f7olLFuiJUVWyNbn%2fYKSgNrm%2bQ3p"}}),s=qe(i)("#my_video_1").attr("src");if(!s)throw new Error("Embed not found");return{embedId:n.id,url:s}}));return t=t.filter(n=>!!n.url),t}function C8(e){return e(".episodeSub").toArray().map(t=>{var n;const i=(n=e(t).find(".episodeSub a").text().split("Episode")[1])==null?void 0:n.trim(),r=e(t).find(".episodeSub a").attr("href");return{number:i,url:r}}).filter(t=>!!t.url)}async function w8(e,a,t){const n=new Jv;n.append("keyword",`${a} ${t??""}`.trim()),n.append("type","Drama");const i=await e.proxiedFetcher("/Search/SearchSuggest",{baseUrl:Hh,method:"POST",body:n}),r=qe(i);return Array.from(r("a")).map(s=>({name:r(s).text(),url:s.attribs.href}))}const Hge=Wa({id:"kissasian",name:"KissAsian",rank:40,flags:[Ke.CORS_ALLOWED],disabled:!0,async scrapeShow(e){const a=e.media.season.number,t=e.media.episode.number,n=await w8(e,e.media.title,a),i=n.find(g=>{var d;return((d=g.name)==null?void 0:d.toLowerCase())===e.media.title.toLowerCase()})??n[0];if(!i)throw new Ce("Drama not found");e.progress(30);const r=await e.proxiedFetcher(i.url,{baseUrl:Hh}),s=qe(r),o=(await C8(s)).find(g=>g.number===`${t}`);if(!(o!=null&&o.url))throw new Ce("Episode not found");return e.progress(70),{embeds:await k8(e,o)}},async scrapeMovie(e){const a=await w8(e,e.media.title,void 0),t=a.find(o=>{var l;return((l=o.name)==null?void 0:l.toLowerCase())===e.media.title.toLowerCase()})??a[0];if(!t)throw new Ce("Drama not found");e.progress(30);const n=await e.proxiedFetcher(t.url,{baseUrl:Hh}),i=qe(n),s=C8(i)[0];if(!(s!=null&&s.url))throw new Ce("Episode not found");return e.progress(70),{embeds:await k8(e,s)}}});async function qge(e,a,t){let n="";return t.type==="show"?n="/v1/episodes/view":t.type==="movie"&&(n="/v1/movies/view"),await e.fetcher(n,{baseUrl:Ac,query:{expand:"streams,subtitles",id:a}})}async function Vge(e,a,t){const n=await qge(e,a,t),i=n.streams,r=["auto","1080p","1080","720p","720","480p","480","240p","240","360p","360","144","144p"];let s=null;for(const o of r)i[o]&&!s&&(s=i[o]);let u=[];for(const o of n.subtitles){const l=tu(o.language);l&&u.push({id:o.url,type:"vtt",url:`${Ac}${o.url}`,hasCorsRestrictions:!1,language:l})}return u=Wy(u),{playlist:s,captions:u}}const Ac="https://lmscript.xyz";async function Gge(e,a){if(a.type==="show")return(await e.fetcher("/v1/shows",{baseUrl:Ac,query:{"filters[q]":a.title}})).items.find(r=>ci(a,r.title,Number(r.year)));if(a.type==="movie")return(await e.fetcher("/v1/movies",{baseUrl:Ac,query:{"filters[q]":a.title}})).items.find(r=>ci(a,r.title,Number(r.year)))}async function Wge(e,a,t){var n;let i=null;if(a.type==="movie")i=t.id_movie;else if(a.type==="show"){const u=(n=(await e.fetcher("/v1/shows",{baseUrl:Ac,query:{expand:"episodes",id:t.id_show}})).episodes)==null?void 0:n.find(o=>Number(o.season)===Number(a.season.number)&&Number(o.episode)===Number(a.episode.number));u&&(i=u.id)}if(i===null)throw new Ce("Not found");return await Vge(e,i,a)}async function _8(e){const a=await Gge(e,e.media);if(!a)throw new Ce("Media not found");e.progress(30);const t=await Wge(e,e.media,a);if(!t.playlist)throw new Ce("No video found");return e.progress(60),{embeds:[],stream:[{id:"primary",playlist:t.playlist,type:"hls",flags:[Ke.IP_LOCKED],captions:t.captions}]}}const Yge=Wa({id:"lookmovie",name:"LookMovie",disabled:!0,rank:50,flags:[Ke.IP_LOCKED],scrapeShow:_8,scrapeMovie:_8});async function I8(e){var a;const t={title:e.media.title,releaseYear:e.media.releaseYear,tmdbId:e.media.tmdbId,imdbId:e.media.imdbId,type:e.media.type,...e.media.type==="show"&&{season:e.media.season.number.toString(),episode:e.media.episode.number.toString()}},n=await e.fetcher("https://api.nsbx.ru/status");if(((a=n.providers)==null?void 0:a.length)===0)throw new Ce("No providers available");if(!n.endpoint)throw new Error("No endpoint returned");return{embeds:n.providers.map(r=>({embedId:r,url:`${JSON.stringify(t)}|${n.endpoint}`}))}}const Xge=Wa({id:"nsbx",name:"NSBX",rank:129,flags:[Ke.CORS_ALLOWED],disabled:!1,scrapeMovie:I8,scrapeShow:I8}),N8=async e=>{var a;try{const t=await e.fetcher.full("https://red-star.ningai.workers.dev/scrape/showbox",{query:{type:e.media.type,title:e.media.title,releaseYear:e.media.releaseYear.toString(),tmdbId:e.media.tmdbId,imdbId:e.media.imdbId??"",...e.media.type==="show"&&{episodeNumber:e.media.episode.number.toString(),episodeTmdbId:e.media.episode.tmdbId,seasonNumber:e.media.season.number.toString(),seasonTmdbId:e.media.season.tmdbId}}});if(t.statusCode===200&&((a=t.body.stream)!=null&&a.length))return{stream:t.body.stream,embeds:[]};throw t.statusCode===404?new Ce("No watchable item found"):new Error(t.body.message??"An error has occurred!")}catch(t){throw t instanceof Ce?new Ce(t.message):new Error(t.message??"An error has occurred!")}},Qge=Wa({id:"redstar",name:"redStar",disabled:!0,rank:131,flags:[Ke.CORS_ALLOWED],scrapeMovie:N8,scrapeShow:N8}),L8=atob("aHR0cHM6Ly9mc2IuOG1ldDNkdGpmcmNxY2hjb25xcGtsd3hzeGIyb2N1bWMuc3RyZWFt"),R8="https://remotestre.am",bf="https://remotestre.am/",Zge=Wa({id:"remotestream",name:"Remote Stream",disabled:!0,rank:20,flags:[Ke.CORS_ALLOWED],async scrapeShow(e){var a;const t=e.media.season.number,n=e.media.episode.number,i=`${L8}/Shows/${e.media.tmdbId}/${t}/${n}/${n}.m3u8`;if(e.progress(30),!((a=(await e.proxiedFetcher.full(i,{method:"GET",readHeaders:["content-type"],headers:{Referer:bf}})).headers.get("content-type"))!=null&&a.toLowerCase().includes("application/x-mpegurl")))throw new Ce("No watchable item found");return e.progress(90),{embeds:[],stream:[{id:"primary",captions:[],playlist:i,type:"hls",flags:[Ke.CORS_ALLOWED],preferredHeaders:{Referer:bf,Origin:R8}}]}},async scrapeMovie(e){var a;const t=`${L8}/Movies/${e.media.tmdbId}/${e.media.tmdbId}.m3u8`;if(e.progress(30),!((a=(await e.proxiedFetcher.full(t,{method:"GET",readHeaders:["content-type"],headers:{Referer:bf}})).headers.get("content-type"))!=null&&a.toLowerCase().includes("application/x-mpegurl")))throw new Ce("No watchable item found");return e.progress(90),{embeds:[],stream:[{id:"primary",captions:[],playlist:t,type:"hls",flags:[Ke.CORS_ALLOWED],preferredHeaders:{Referer:bf,Origin:R8}}]}}});async function P8(e){const a={module:"Search4",page:"1",type:"all",keyword:e.media.title,pagelimit:"20"},t=(await t6(e,a,!0)).data.list;e.progress(50);const n=t.find(u=>Yy(u.title,e.media.title)&&u.year===Number(e.media.releaseYear));if(!n)throw new Ce("No entry found");const i=n.id,r=e.media.type==="show"?e.media.season.number:"",s=e.media.type==="show"?e.media.episode.number:"";return{embeds:[{embedId:aM.id,url:`/${e.media.type}/${i}/${r}/${s}`}]}}const Jge=Wa({id:"showbox",name:"Showbox",rank:150,disabled:!0,flags:[Ke.CORS_ALLOWED,Ke.CF_BLOCKED],scrapeShow:P8,scrapeMovie:P8}),M8="https://tugaflix.best/";function O8(e){const a=[],t=qe(e);return t(".items .poster").each((n,i)=>{var r;const s=t(i).find("a"),u=s.attr("href"),[,o,l]=((r=s.attr("title"))==null?void 0:r.match(/^(.*?)\s*(?:\((\d{4})\))?\s*$/))||[];!o||!u||a.push({title:o,year:l?parseInt(l,10):void 0,url:u})}),a}const ede=Wa({id:"tugaflix",name:"Tugaflix",rank:73,flags:[Ke.IP_LOCKED],scrapeMovie:async e=>{var a;const t=O8(await e.proxiedFetcher("/filmes/",{baseUrl:M8,query:{s:e.media.title}}));if(t.length===0)throw new Ce("No watchable item found");const n=(a=t.find(u=>u&&ci(e.media,u.title,u.year)))==null?void 0:a.url;if(!n)throw new Ce("No watchable item found");const i=await e.proxiedFetcher(n,{method:"POST",body:new URLSearchParams({play:""})}),r=qe(i),s=[];for(const u of r(".play a")){const o=r(u).attr("href");if(!o)continue;const l=await e.proxiedFetcher.full(o.startsWith("https://")?o:`https://${o}`),g=qe(l.body)('a:contains("Download Filme")').attr("href");g&&(g.includes("streamtape")?s.push({embedId:"streamtape",url:g}):g.includes("dood")&&s.push({embedId:"dood",url:g}))}return{embeds:s}},scrapeShow:async e=>{var a;const t=O8(await e.proxiedFetcher("/series/",{baseUrl:M8,query:{s:e.media.title}}));if(t.length===0)throw new Ce("No watchable item found");const n=(a=t.find(d=>d&&ci(e.media,d.title,d.year)))==null?void 0:a.url;if(!n)throw new Ce("No watchable item found");const i=e.media.season.number<10?`0${e.media.season.number}`:e.media.season.number.toString(),r=e.media.episode.number<10?`0${e.media.episode.number}`:e.media.episode.number.toString(),s=await e.proxiedFetcher(n,{method:"POST",body:new URLSearchParams({[`S${i}E${r}`]:""})}),u=qe(s)('iframe[name="player"]').attr("src");if(!u)throw new Error("Failed to find iframe");const o=await e.proxiedFetcher(u.startsWith("https:")?u:`https:${u}`,{method:"POST",body:new URLSearchParams({submit:""})}),l=[],g=qe(o)('a:contains("Download Episodio")').attr("href");return g!=null&&g.includes("streamtape")?l.push({embedId:"streamtape",url:g}):g!=null&&g.includes("dood")&&l.push({embedId:"dood",url:g}),{embeds:l}}});function ade(e,a){let t="";const n=a.length;for(let i=0;i<e.length;i+=2){const r=parseInt(e.substr(i,2),16),s=a.charCodeAt(i/2%n);t+=String.fromCharCode(r^s)}return t}async function cM(e,a){const t=[];let n=await e.proxiedFetcher(a,{baseUrl:C2}),i=qe(n);const r=i(".server[data-hash]").toArray().map(s=>i(s).attr("data-hash")).filter(s=>s!==void 0);for(const s of r){n=await e.proxiedFetcher(`/rcp/${s}`,{baseUrl:bA,headers:{referer:C2}}),i=qe(n);const u=i("#hidden").attr("data-h"),o=i("body").attr("data-i");if(!u||!o)throw new Error("Failed to find encoded iframe src");let l=ade(u,o);l.startsWith("//")&&(l=`https:${l}`);const{finalUrl:g}=await e.proxiedFetcher.full(l,{method:"HEAD",headers:{referer:C2}}),d={embedId:"",url:g};switch(new URL(g).host){case"vidsrc.stream":d.embedId=gM.id;break;case"streambucket.net":d.embedId=nM.id;break;case"2embed.cc":case"www.2embed.cc":break;case"player-cdn.com":break;default:throw new Error(`Failed to find VidSrc embed source for ${g}`)}d.embedId!==""&&t.push(d)}return t}async function tde(e){return cM(e,`/embed/${e.media.tmdbId}`)}async function nde(e){const a=await e.proxiedFetcher(`/embed/${e.media.tmdbId}`,{baseUrl:C2}),n=qe(a)(`.ep[data-s="${e.media.season.number}"][data-e="${e.media.episode.number}"]`).first();if(n.length===0)throw new Error("failed to find episode element");const i=n.attr("data-iframe");if(!i)throw new Error("failed to find episode starting URL");return cM(e,i)}async function ide(e){return{embeds:await tde(e)}}async function rde(e){return{embeds:await nde(e)}}const sde=Wa({id:"vidsrc",name:"VidSrc",rank:90,disabled:!0,flags:[],scrapeMovie:ide,scrapeShow:rde});async function ude(e,a){const t=e.media.type==="movie"?"list":"servers",n=await e.proxiedFetcher(`/ajax/episode/${t}/${a}`,{baseUrl:Td}),i=qe(n);return i(".nav-item a").toArray().map(r=>{const s=e.media.type==="movie"?"data-linkid":"data-id",u=i(r),o=u.attr("title"),l=u.attr(s);if(!o||!l)throw new Error("invalid sources");return{embed:o,episodeId:l}})}async function ode(e,a){const t=await e.proxiedFetcher(`/ajax/sources/${a}`,{baseUrl:Td});return t.type!=="iframe"?null:t.link}async function lde(e,a,t){const n=await e.proxiedFetcher(`/ajax/season/list/${t}`,{baseUrl:Td}),i=qe(n),s=i(".dropdown-menu a").toArray().map(u=>{var o;const l=i(u),g=l.attr("data-id"),d=(o=l.html())==null?void 0:o.split(" ")[1];if(!g||!d||Number.isNaN(Number(d)))throw new Error("invalid season");return{id:g,season:Number(d)}}).find(u=>u.season===a.season.number);return s?s.id:null}async function gde(e,a,t){const n=/Eps (\d*):/,i=await e.proxiedFetcher(`/ajax/season/episodes/${t}`,{baseUrl:Td}),r=qe(i),u=r(".eps-item").toArray().map(o=>{const l=r(o),g=l.attr("data-id"),d=l.attr("title");if(!g||!d)throw new Error("invalid episode");const c=d.match(n);if(!c||Number.isNaN(Number(c[1])))throw new Error("invalid episode");return{id:g,episode:Number(c[1])}}).find(o=>o.episode===a.episode.number);return u?u.id:null}const Td="https://zoechip.cc";async function dde(e,a){const t=await ode(e,a.episodeId);if(t){const n={embedId:"",url:t};switch(new URL(t).host){case"rabbitstream.net":n.embedId=Vs.id;break;case"upstream.to":n.embedId=Kh.id;break;case"mixdrop.co":n.embedId=jg.id;break;default:return null}return n}}async function pM(e,a){const t=await ude(e,a),n=[];for(const i of t){const r=await dde(e,i);if(r){const s=n.find(u=>u.embedId===Vs.id);r.embedId===Vs.id&&s&&(r.embedId=zg.id),n.push(r)}}return{embeds:n}}async function fM(e,a){const t=a.title.toLocaleLowerCase().replace(/ /g,"-"),n=await e.proxiedFetcher(`/search/${t}`,{baseUrl:Td}),i=qe(n);return i(".film_list-wrap .flw-item .film-detail").toArray().map(r=>{const s=i(r),u=s.find(".film-name a"),o=s.find(".fd-infor"),l=u.attr("title"),g=u.attr("href"),d=o.find(".fdi-type").html();let c=o.find(".fdi-item").html();const p=g==null?void 0:g.split("-").pop();if(!l||!g||!d)return null;if(!c||Number.isNaN(Number(c)))if(d==="TV")c="0";else return null;return p?{title:l,year:Number(c),id:p,type:d,href:g}:null})}async function cde(e,a){const n=(await fM(e,a)).find(i=>i&&i.type==="Movie"&&ci(a,i.title,i.year));return n?n.id:null}async function pde(e,a){const t=/<\/strong><\/span> (\d.*)-\d.*-\d.*/,i=(await fM(e,a)).filter(r=>r&&r.type==="TV"&&ci(a,r.title));for(const r of i){if(!r)continue;const u=(await e.proxiedFetcher(r.href,{baseUrl:Td})).match(t);if(u){const o=Number(u[1]);if(!Number.isNaN(o)&&ci(a,r.title,o))return r.id}}return null}async function fde(e){const a=await cde(e,e.media);if(!a)throw new Ce("no search results match");return pM(e,a)}async function hde(e){const a=await pde(e,e.media);if(!a)throw new Ce("no search results match");const t=await lde(e,e.media,a);if(!t)throw new Ce("no season found");const n=await gde(e,e.media,t);if(!n)throw new Ce("no episode found");return pM(e,n)}const mde=Wa({id:"zoechip",name:"ZoeChip",rank:62,flags:[Ke.CORS_ALLOWED],disabled:!0,scrapeMovie:fde,scrapeShow:hde}),yde=[{id:"autoembed-english",rank:10},{id:"autoembed-hindi",rank:9},{id:"autoembed-tamil",rank:8},{id:"autoembed-telugu",rank:7},{id:"autoembed-bengali",rank:6}];function bde(e){return ka({id:e.id,name:e.id.charAt(0).toUpperCase()+e.id.slice(1),rank:e.rank,async scrape(a){return{stream:[{id:"primary",type:"hls",playlist:a.url,flags:[Ke.CORS_ALLOWED],captions:[]}]}}})}const[Tde,Sde,Ade,vde,Dde]=yde.map(bde),xde=/eval\((.*)\)/g,Ede=/https?:\/\/.*\.mp4/,kde=ka({id:"bflix",name:"bFlix",rank:113,scrape:async e=>{const t=(await e.proxiedFetcher(e.url)).match(xde);if(!t)throw new Error("Failed to find eval code");const i=au(t[0]).match(Ede);if(!(i!=null&&i[0]))throw new Error("Failed to find file");return{stream:[{id:"primary",type:"file",flags:[],captions:[],qualities:{unknown:{type:"mp4",url:i[0]}},headers:{Referer:"https://bflix.gs/"}}]}}}),Cde="https://ridomovies.tv/",hM=ka({id:"closeload",name:"CloseLoad",rank:106,async scrape(e){var a;const t=new URL(e.url).origin,n=await e.proxiedFetcher(e.url,{headers:{referer:Cde}}),i=qe(n),r=i("track").map((d,c)=>{const p=i(c),f=`${t}${p.attr("src")}`,h=p.attr("label")??"",y=tu(h),b=Tl(f);return!y||!b?null:{id:f,language:y,hasCorsRestrictions:!0,type:b,url:f}}).get().filter(d=>d!==null),s=i("script").filter((d,c)=>{var p;const f=i(c);return(f.attr("type")==="text/javascript"&&((p=f.html())==null?void 0:p.includes("p,a,c,k,e,d")))??!1}).html();if(!s)throw new Error("Couldn't find eval code");const u=au(s),l=(a=/var\s+(\w+)\s*=\s*"([^"]+)";/g.exec(u))==null?void 0:a[2];if(!l)throw new Ce("Unable to find source url");return{stream:[{id:"primary",type:"hls",playlist:atob(l),captions:r,flags:[Ke.IP_LOCKED],headers:{Referer:"https://closeload.top/",Origin:"https://closeload.top"}}]}}}),wde=/eval\((.*)\)/g,_de=/file:"(.*?)"/g,mM=ka({id:"filemoon",name:"Filemoon",rank:300,scrape:async e=>{const a=await e.proxiedFetcher(e.url,{headers:{referer:e.url}}),n=qe(a)("script").text().match(wde);if(!n)throw new Error("Failed to find eval code");const i=au(n[0]),r=_de.exec(i);if(!(r!=null&&r[1]))throw new Error("Failed to find file");const u=new URL(e.url).searchParams.get("sub.info"),o=[];if(u){const l=await e.proxiedFetcher(u);for(const g of l){const d=tu(g.label),c=Tl(g.file);!d||!c||o.push({id:g.file,url:g.file,type:c,language:d,hasCorsRestrictions:!1})}}return{stream:[{id:"primary",type:"hls",playlist:r[1],flags:[Ke.IP_LOCKED],captions:o}]}}}),Ide=ka({id:"filemoon-mp4",name:"Filemoon MP4",rank:400,scrape:async e=>{const a=await mM.scrape(e);if(!a.stream)throw new Ce("Failed to find result");if(a.stream[0].type!=="hls")throw new Ce("Failed to find hls stream");return{stream:[{id:"primary",type:"file",qualities:{unknown:{type:"mp4",url:a.stream[0].playlist.replace(/\/hls2\//,"/download/").replace(/\.m3u8/,".mp4")}},flags:[Ke.IP_LOCKED],captions:a.stream[0].captions}]}}}),Nde=ka({id:"hydrax",name:"Hydrax",rank:250,async scrape(e){const a=await e.proxiedFetcher(e.url),t=a.match(/PLAYER\(atob\("(.*?)"/);if(!(t!=null&&t[1]))throw new Error("No Data Found");e.progress(50);const n=a.match(/({"pieceLength.+?})/);let i={};n!=null&&n[1]&&(i=JSON.parse(n[1]));const r=JSON.parse(atob(t[1]));if(!r.id||!r.domain)throw new Error("Required values missing");const s=new URL((await e.proxiedFetcher.full(`https://${r.domain}`)).finalUrl).hostname;return e.progress(100),{stream:[{id:"primary",type:"file",qualities:{...(i==null?void 0:i.fullHd)&&{1080:{type:"mp4",url:`https://${s}/whw${r.id}`}},...(i==null?void 0:i.hd)&&{720:{type:"mp4",url:`https://${s}/www${r.id}`}},...(i==null?void 0:i.mHd)&&{480:{type:"mp4",url:`https://${s}/${r.id}`}},360:{type:"mp4",url:`https://${s}/${r.id}`}},headers:{Referer:e.url.replace(new URL(e.url).hostname,"abysscdn.com")},captions:[],flags:[]}]}}}),{AES:Lde,MD5:B8}=Ou;function Rde(e,a){return Lde.encrypt(e,a).toString().replace("U2FsdGVkX1","").replace(/\//g,"|a").replace(/\+/g,"|b").replace(/\\=/g,"|c").replace(/\|/g,"-z")}function Pde(e,a){let t="";for(let n=0;n<e.length;n++){let i=e[n];if(i.match(/[a-z]/i)){const r=e.charCodeAt(n);r>=65&&r<=90?i=String.fromCharCode((r-65+a)%26+65):r>=97&&r<=122&&(i=String.fromCharCode((r-97+a)%26+97))}t+=i}return t}function Mde(e){let a="";for(let t=0;t<e.length;t++)a+=e[t].charCodeAt(0).toString(16);return a}function Ode(e,a,t){const n=Mde(Pde(Rde(`Win32|${e}|${a}|${t}`,B8("plhq@@@2022").toString()),22));return`${n}|${B8(`${n}plhq@@@22`).toString()}`}const F8="https://api-post-iframe-rd.playm4u.xyz/api/playiframe",Bde=ka({id:"playm4u-nm",name:"PlayM4U",rank:240,scrape:async e=>{var a,t;const i=qe(await e.proxiedFetcher(e.url))(`script:contains("${F8}")`).text();if(!i)throw new Error("Failed to get script");e.progress(50);const r="https://ww2.m4ufree.tv",s=(a=i.match(/var\s?idfile\s?=\s?"(.*)";/im))==null?void 0:a[1],u=(t=i.match(/var\s?iduser\s?=\s?"(.*)";/im))==null?void 0:t[1];if(!s||!u)throw new Error("Failed to get ids");const o="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789=+",l=await e.proxiedFetcher(F8,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({namekey:"playm4u03",token:Array.from({length:100},()=>o.charAt(Math.floor(Math.random()*o.length))).join(""),referrer:r,data:Ode(u,s,r)})});if(!l.data||l.type!=="url-m3u8")throw new Error("Failed to get the stream");return e.progress(100),{stream:[{id:"primary",type:"hls",playlist:l.data,captions:[],flags:[]}]}}}),Fde="https://ridomovies.tv/",yM=ka({id:"ridoo",name:"Ridoo",rank:105,async scrape(e){var a;const t=await e.proxiedFetcher(e.url,{headers:{referer:Fde}}),i=(a=/file:"([^"]+)"/g.exec(t))==null?void 0:a[1];if(!i)throw new Ce("Unable to find source url");return{stream:[{id:"primary",type:"hls",playlist:i,captions:[],flags:[Ke.CORS_ALLOWED]}]}}});function Ude(e){const a=["U0ZML2RVN0IvRGx4","MGNhL0JWb0kvTlM5","Ym94LzJTSS9aU0Zj","SGJ0L1dGakIvN0dX","eE52L1QwOC96N0Yz"];let t=e.slice(2);for(let n=4;n>-1;n--)t=t.replace(`//${a[n]}`,"");return atob(t)}const n6=ka({id:"smashystream-f",name:"SmashyStream (F)",rank:71,async scrape(e){var a,t;const n=await e.proxiedFetcher(e.url,{headers:{Referer:e.url}});if(!n.sourceUrls[0])throw new Ce("No watchable item found");const i=Ude(n.sourceUrls[0]);if(!i.includes(".m3u8"))throw new Error("Failed to decode");const r=((t=(a=n.subtitles)==null?void 0:a.match(/\[([^\]]+)\](https?:\/\/\S+?)(?=,\[|$)/g))==null?void 0:t.map(s=>{const u=s.match(/\[([^\]]+)\](https?:\/\/\S+?)(?=,\[|$)/);if(u){const[,o,l]=u;if(o&&l){const g=tu(o.replace(/ - .*/,"")),d=Tl(l);return!g||!d?null:{id:l,url:l.replace(",",""),language:g,type:d,hasCorsRestrictions:!1}}}return null}).filter(s=>s!==null))??[];return{stream:[{id:"primary",playlist:i,type:"hls",flags:[Ke.CORS_ALLOWED],captions:r}]}}}),bM=ka({id:"smashystream-o",name:"SmashyStream (O)",rank:70,async scrape(e){return{stream:(await n6.scrape(e)).stream}}}),jde=ka({id:"streamtape",name:"Streamtape",rank:160,async scrape(e){var a;const n=(await e.proxiedFetcher(e.url)).match(/robotlink'\).innerHTML = (.*)'/);if(!n)throw new Error("No match found");const[i,r]=((a=n==null?void 0:n[1])==null?void 0:a.split("+ ('"))??[];if(!i||!r)throw new Error("No match found");const s=`https:${i==null?void 0:i.replace(/'/g,"").trim()}${r==null?void 0:r.substring(3).trim()}`;return{stream:[{id:"primary",type:"file",flags:[Ke.CORS_ALLOWED,Ke.IP_LOCKED],captions:[],qualities:{unknown:{type:"mp4",url:s}},headers:{Referer:"https://streamtape.com"}}]}}}),zde=/(eval\(function\(p,a,c,k,e,d\).*\)\)\))/,$de=/src:"(https:\/\/[^"]+)"/,Kde=ka({id:"streamvid",name:"Streamvid",rank:215,async scrape(e){const t=(await e.proxiedFetcher(e.url)).match(zde);if(!t)throw new Error("streamvid packed not found");const i=au(t[1]).match($de);if(!i)throw new Error("streamvid link not found");return{stream:[{type:"hls",id:"primary",playlist:i[1],flags:[Ke.CORS_ALLOWED],captions:[]}]}}}),Hde="WXrUARXb1aDLaZjI",qde=e=>{const a=e.replace(/_/g,"/").replace(/-/g,"+"),t=atob(a),n=new Uint8Array(t.length);for(let i=0;i<n.length;i+=1)n[i]=t.charCodeAt(i);return n},SA=(e,a)=>{const t=Array.from(Array(256).keys());let n=0;for(let s=0;s<256;s+=1){n=(n+t[s]+e.charCodeAt(s%e.length))%256;const u=t[s];t[s]=t[n],t[n]=u}n=0;let i=0,r="";for(let s=0;s<a.length;s+=1){n=(n+1)%256,i=(i+t[n])%256;const u=t[n];t[n]=t[i],t[i]=u,typeof a[s]=="string"?r+=String.fromCharCode(a[s].charCodeAt(0)^t[(t[n]+t[i])%256]):typeof a[s]=="number"&&(r+=String.fromCharCode(a[s]^t[(t[n]+t[i])%256]))}return r},Vde=e=>{const a=qde(e),t=SA(Hde,a);return decodeURIComponent(decodeURIComponent(t))},TM="https://vidplay.online",Gde=async e=>{var a;const t=await e.proxiedFetcher("https://github.com/Ciarands/vidsrc-keys/blob/main/keys.json"),n=/"rawLines":\s*\[([\s\S]*?)\]/,i=(a=t.match(n))==null?void 0:a[1];if(!i)throw new Error("No keys found");return JSON.parse(`${i.substring(1).replace(/\\"/g,'"')}]`)},Wde=async e=>{const t=new URL(e.url).pathname.replace("/e/",""),n=await Gde(e),i=SA(n[0],t),r=SA(n[1],i);return btoa(r).replace("/","_")},Yde=async e=>{var a;const t=await Wde(e),i=(a=(await e.proxiedFetcher("/futoken",{baseUrl:TM,headers:{referer:e.url}})).match(/var\s+k\s*=\s*'([^']+)'/))==null?void 0:a[1];if(!i)throw new Error("No fuKey found");const r=[];for(let s=0;s<t.length;s+=1)r.push(i.charCodeAt(s%i.length)+t.charCodeAt(s));return`${i},${r.join(",")}`},Xde=async e=>{const a=await Yde(e);return a6(`/mediainfo/${a}`,{baseUrl:TM,query:{...Object.fromEntries(new URL(e.url).searchParams.entries()),autostart:"true"}})},Qde=ka({id:"vidplay",name:"VidPlay",rank:401,scrape:async e=>{const a=await Xde(e),t=await e.proxiedFetcher(a,{headers:{referer:e.url}});if(typeof t.result=="number")throw new Error("File not found");const n=t.result.sources[0].file,i=t.result.tracks.find(l=>l.kind==="thumbnails");let r;i&&(r={type:"vtt",url:i.file});const s=new URL(e.url),u=s.searchParams.get("sub.info"),o=[];if(u){const l=await e.proxiedFetcher(u);for(const g of l){const d=tu(g.label),c=Tl(g.file);!d||!c||o.push({id:g.file,url:g.file,type:c,language:d,hasCorsRestrictions:!1})}}return{stream:[{id:"primary",type:"hls",playlist:n,flags:[Ke.PROXY_BLOCKED],headers:{Referer:s.origin,Origin:s.origin},captions:o,thumbnailTrack:r}]}}});async function Zde(e,a){var t;const n=await e.proxiedFetcher("https://cloud.mail.ru/public/uaRH/2PYWcJRpH"),r=(t=/"videowl_view":\{"count":"(\d+)","url":"([^"]+)"\}/g.exec(n))==null?void 0:t[2];if(!r)throw new Ce("Failed to get videoOwlUrl");return`${r}/0p/${btoa(a)}.m3u8?${new URLSearchParams({double_encode:"1"})}`}const AA=ka({id:"warezcdnembedhls",name:"WarezCDN HLS",disabled:!0,rank:83,async scrape(e){const a=await qP(e);if(!a)throw new Ce("can't get file id");const t=await Zde(e,a);return{stream:[{id:"primary",type:"hls",flags:[Ke.IP_LOCKED],captions:[],playlist:t}]}}}),SM=ka({id:"warezplayer",name:"warezPLAYER",rank:85,async scrape(e){const a=await e.proxiedFetcher.full("/player.php",{baseUrl:k2,headers:{Referer:`${fA}/getEmbed.php?${new URLSearchParams({id:e.url,sv:"warezcdn"})}`},query:{id:e.url}}),t=new URL(a.finalUrl),n=t.pathname.split("/")[2],i=await e.proxiedFetcher("/player/index.php",{baseUrl:t.origin,query:{data:n,do:"getVideo"},method:"POST",body:new URLSearchParams({hash:n}),headers:{"X-Requested-With":"XMLHttpRequest"}}),r=JSON.parse(i);if(!r.videoSource)throw new Error("Playlist not found");return{stream:[{id:"primary",type:"hls",flags:[],captions:[],playlist:r.videoSource,headers:{Accept:"*/*"}}]}}}),Jde=ka({id:"wootly",name:"wootly",rank:172,async scrape(e){var a,t;const n="https://www.wootly.ch",i=await e.proxiedFetcher.full(e.url,{method:"GET",readHeaders:["Set-Cookie"]}),s=Sc(i.headers.get("Set-Cookie")||"").wootsses.value;let u=qe(i.body);const o=u("iframe").attr("src")??"",l=await e.proxiedFetcher.full(o,{method:"GET",readHeaders:["Set-Cookie"],headers:{cookie:Fu({wootsses:s})}}),d=Sc(l.headers.get("Set-Cookie")||"").wooz.value,c=await e.proxiedFetcher(o,{method:"POST",body:new URLSearchParams({qdf:"1"}),headers:{cookie:Fu({wooz:d}),Referer:o}});u=qe(c);const p=u("script").html()??"",f=(a=p.match(/tk=([^;]+)/))==null?void 0:a[0].replace(/tk=|["\s]/g,""),h=(t=p.match(/vd=([^,]+)/))==null?void 0:t[0].replace(/vd=|["\s]/g,"");if(!f||!h)throw new Error("wootly source not found");const y=await e.proxiedFetcher("/grabd",{baseUrl:n,query:{t:f,id:h},method:"GET",headers:{cookie:Fu({wooz:d,wootsses:s})}});if(!y)throw new Error("wootly source not found");return{stream:[{id:"primary",type:"file",flags:[Ke.IP_LOCKED],captions:[],qualities:{unknown:{type:"mp4",url:y}}}]}}}),i6="https://www.goojara.to",Mb="https://ww1.goojara.to";async function e0e(e,a){const t=await e.fetcher.full(`/${a}`,{baseUrl:Mb,headers:{Referer:i6,cookie:""},readHeaders:["Set-Cookie"],method:"GET"}),n=Sc(t.headers.get("Set-Cookie")||""),i=t.body.split("_3chk('")[1].split("'")[0],r=t.body.split("_3chk('")[1].split("'")[2];let s="",u="";n&&n.aGooz&&i&&r&&(s=n.aGooz.value,u=Fu({aGooz:s,[i]:r}));const o=qe(t.body),l=o("a").map((c,p)=>o(p).attr("href")).get().filter(c=>c&&c.includes(`${Mb}/go.php`)),g=await Promise.all(l.map(c=>e.fetcher.full(c,{headers:{cookie:u,Referer:Mb},method:"GET"}).catch(()=>null))),d=[];for(const c of g)if(c){const p=["wootly","upstream","mixdrop","dood"].find(f=>c.finalUrl.includes(f));p&&d.push({embedId:p,url:c.finalUrl})}return d}let qh;const AM={cookie:"aGooz=t9pmkdtef1b3lg3pmo1u2re816; bd9aa48e=0d7b89e8c79844e9df07a2; _b414=2151C6B12E2A88379AFF2C0DD65AC8298DEC2BF4; 9d287aaa=8f32ad589e1c4288fe152f",Referer:"https://www.goojara.to/"};async function a0e(e,a){qh=await e.fetcher("/xhrr.php",{baseUrl:i6,headers:AM,method:"POST",body:new URLSearchParams({q:a.title})});const t=qe(qh),n=[];return t(".mfeed > li").each((r,s)=>{var u;const o=t(s).find("strong").text(),l=t(s).text().match(/\((\d{4})\)/),g=t(s).find("div").attr("class"),d=g==="it"?"show":g==="im"?"movie":"",c=l?l[1]:"",p=(u=t(s).find("a").attr("href"))==null?void 0:u.split("/")[3];if(!p)throw new Ce("Not found");a.type===d&&n.push({title:o,year:c,slug:p,type:d})}),n.find(r=>ci(a,r.title,Number(r.year)))}async function t0e(e,a,t){let n=null;if(a.type==="movie")n=t.slug;else if(a.type==="show"){qh=await e.fetcher(`/${t.slug}`,{baseUrl:i6,headers:AM,method:"GET",query:{s:a.season.number.toString()}});let r="";const s=qe(qh);s(".seho").each((u,o)=>{const l=s(o).find(".seep .sea").text().trim();if(parseInt(l,10)===a.episode.number){const g=s(o).find(".snfo h1 a").attr("href"),d=g==null?void 0:g.match(/\/([a-zA-Z0-9]+)$/);if(d&&d[1])return r=d[1],!1}}),n=r}if(n===null)throw new Ce("Not found");return await e0e(e,n)}async function U8(e){const a=await a0e(e,e.media);if(!a)throw new Ce("Media not found");e.progress(30);const t=await t0e(e,e.media,a);if((t==null?void 0:t.length)===0)throw new Ce("No embeds found");return e.progress(60),{embeds:t}}const n0e=Wa({id:"goojara",name:"Goojara",rank:70,flags:[],disabled:!0,scrapeShow:U8,scrapeMovie:U8});function i0e(){const e=()=>Math.floor(Math.random()*16).toString(16),a=t=>Array.from({length:t},e).join("");return`${a(8)}-${a(4)}-${a(4)}-${a(4)}-${a(12)}`}function r0e(e){if(!e||typeof e=="boolean")return[];const a=e.split(","),t=[];return a.forEach(n=>{const i=n.match(/\[([^\]]+)\](https?:\/\/\S+?)(?=,\[|$)/);if(i){const r=Tl(i[2]),s=tu(i[1]);if(!r||!s)return;t.push({id:i[2],language:s,hasCorsRestrictions:!1,type:r,url:i[2]})}}),t}function s0e(e){if(!e)throw new Ce("No video links found");const a=e.split(","),t={};return a.forEach(n=>{const i=n.match(/\[([^]+)](https?:\/\/[^\s,]+\.mp4)/);if(i){const r=i[1],s=i[2],u=r.match(/(\d+p)/),o=u?u[1]:"Unknown",l=dM(o);t[l]={type:"mp4",url:s}}}),t}function u0e(e){const a=/^(.*?),.*?(\d{4})/,t=e.match(a);if(t){const n=t[1],i=t[2];return{title:n.trim(),year:i?parseInt(i,10):null}}return null}const vM="https://hdrzk.org",r6={"X-Hdrezka-Android-App":"1","X-Hdrezka-Android-App-Version":"2.2.0"};async function o0e(e){var a;const t=/<a href="([^"]+)"><span class="enty">([^<]+)<\/span> \(([^)]+)\)/g,n=/\/(\d+)-[^/]+\.html$/,i=await e.proxiedFetcher("/engine/ajax/search.php",{baseUrl:vM,headers:r6,query:{q:e.media.title}}),r=[];for(const u of i.matchAll(t)){const o=u[1],l=u[3],g=u0e(l);if(g!==null){const d=((a=o.match(n))==null?void 0:a[1])||null;r.push({id:d??"",year:g.year??0,type:e.media.type,url:o})}}return r.filter(u=>u.type===e.media.type&&u.year===e.media.releaseYear)[0]||null}async function l0e(e,a,t){const n=new URLSearchParams;n.append("id",e),n.append("translator_id",a),t.media.type==="show"&&(n.append("season",t.media.season.number.toString()),n.append("episode",t.media.episode.number.toString())),t.media.type==="movie"&&(n.append("is_camprip","0"),n.append("is_ads","0"),n.append("is_director","0")),n.append("favs",i0e()),n.append("action",t.media.type==="show"?"get_stream":"get_movie");const i=await t.proxiedFetcher("/ajax/get_cdn_series/",{baseUrl:vM,method:"POST",body:n,headers:r6});return JSON.parse(i)}async function g0e(e,a,t){const n=await t.proxiedFetcher(e,{headers:r6});if(n.includes('data-translator_id="238"'))return"238";const i=t.media.type==="movie"?"initCDNMoviesEvents":"initCDNSeriesEvents",r=new RegExp(`sof\\.tv\\.${i}\\(${a}, ([^,]+)`,"i"),s=n.match(r);return s?s[1]:null}const j8=async e=>{const a=await o0e(e);if(!a||!a.id)throw new Ce("No result found");const t=await g0e(a.url,a.id,e);if(!t)throw new Ce("No translator id found");const{url:n,subtitle:i}=await l0e(a.id,t,e),r=s0e(n),s=r0e(i);return{embeds:[],stream:[{id:"primary",type:"file",flags:[Ke.CORS_ALLOWED,Ke.IP_LOCKED],captions:s,qualities:r}]}},d0e=Wa({id:"hdrezka",name:"HDRezka",rank:120,flags:[Ke.CORS_ALLOWED,Ke.IP_LOCKED],scrapeShow:j8,scrapeMovie:j8});let _l="https://m4ufree.tv";const z8=async e=>{var a,t,n;const i=await e.proxiedFetcher.full(_l);_l=new URL(i.finalUrl).origin;const r=e.media.title.replace(/'/g,"").replace(/!|@|%|\^|\*|\(|\)|\+|=|<|>|\?|\/|,|\.|:|;|'| |"|&|#|\[|\]|~|$|_/g,"-").replace(/-+-/g,"-").replace(/^-+|-+$/g,"").replace(/Ă¢â‚¬â€œ/g,""),s=qe(await e.proxiedFetcher(`/search/${r}.html`,{baseUrl:_l,query:{type:e.media.type==="movie"?"movie":"tvs"}})),u=[];s(".item").each((y,b)=>{var m;const[,T,A]=((m=s(b).find(".imagecover a").attr("title"))==null?void 0:m.match(/^(.*?)\s*(?:\(?\s*(\d{4})(?:\s*-\s*\d{0,4})?\s*\)?)?\s*$/))||[],v=s(b).find("a").attr("href");!T||!v||u.push({title:T,year:A?parseInt(A,10):void 0,url:v})});const o=(a=u.find(y=>y&&ci(e.media,y.title,y.year)))==null?void 0:a.url;if(!o)throw new Ce("No watchable item found");e.progress(25);const l=await e.proxiedFetcher.full(o,{baseUrl:_l,readHeaders:["Set-Cookie"]});e.progress(50);let g=qe(l.body);const d=(n=(t=g('script:contains("_token:")').html())==null?void 0:t.match(/_token:\s?'(.*)'/m))==null?void 0:n[1];if(!d)throw new Error("Failed to find csrfToken");const c=Sc(l.headers.get("Set-Cookie")??"").laravel_session;if(!(c!=null&&c.value))throw new Error("Failed to find cookie");const p=Fu({[c.name]:c.value});if(e.media.type==="show"){const y=e.media.season.number<10?`0${e.media.season.number}`:e.media.season.number.toString(),b=e.media.episode.number<10?`0${e.media.episode.number}`:e.media.episode.number.toString(),m=g(`button:contains("S${y}-E${b}")`).attr("idepisode");if(!m)throw new Error("Failed to find episodeToken");g=qe(await e.proxiedFetcher("/ajaxtv",{baseUrl:_l,method:"POST",body:new URLSearchParams({idepisode:m,_token:d}),headers:{cookie:p}}))}e.progress(75);const f=[],h=g("div.row.justify-content-md-center div.le-server").map((y,b)=>{const m=g(b).find("span").text().toLowerCase().replace("#",""),T=g(b).find("span").attr("data");return!T||!m?null:{name:m,data:T}}).get();for(const y of h){let b;if(y.name==="m")b="playm4u-m";else if(y.name==="nm")b="playm4u-nm";else if(y.name==="h")b="hydrax";else continue;const T=qe(await e.proxiedFetcher("/ajax",{baseUrl:_l,method:"POST",body:new URLSearchParams({m4u:y.data,_token:d}),headers:{cookie:p}}))("iframe").attr("src");T&&(e.progress(100),f.push({embedId:b,url:T}))}return{embeds:f}},c0e=Wa({id:"m4ufree",name:"M4UFree",rank:125,flags:[],scrapeMovie:z8,scrapeShow:z8}),Ob="https://nepu.io",$8="https://nepu.to",K8=async e=>{const a=await e.proxiedFetcher("/ajax/posts",{baseUrl:Ob,query:{q:e.media.title}}),n=JSON.parse(a).data.find(g=>!g||e.media.type==="movie"&&g.type!=="Movie"||e.media.type==="show"&&g.type!=="Serie"?!1:Yy(e.media.title,g.name));if(!n)throw new Ce("No watchable item found");let i=n.url;e.media.type==="show"&&(i=`${n.url}/season/${e.media.season.number}/episode/${e.media.episode.number}`);const r=await e.proxiedFetcher(i,{baseUrl:Ob}),u=qe(r)("a[data-embed]").attr("data-embed");if(!u)throw new Ce("No embed found.");const l=(await e.proxiedFetcher("/ajax/embed",{method:"POST",baseUrl:Ob,body:new URLSearchParams({id:u})})).match(/"file":"(http[^"]+)"/);if(!l)throw new Ce("No stream found.");return{embeds:[],stream:[{id:"primary",captions:[],playlist:l[1],type:"hls",headers:{Origin:$8,Referer:`${$8}/`},flags:[]}]}},p0e=Wa({id:"nepu",name:"Nepu",rank:80,disabled:!0,flags:[],scrapeMovie:K8,scrapeShow:K8}),f0e="https://w1.nites.is";async function H8(e){var a;const t=await e.proxiedFetcher("/wp-admin/admin-ajax.php",{baseUrl:f0e,method:"POST",body:new URLSearchParams({action:"ajax_pagination",query_vars:"mixed",search:e.media.title})}),n=qe(t),i=[];n("li").each((g,d)=>{const c=n(d).find(".entry-title").first().text().trim(),p=parseInt(n(d).find(".year").first().text().trim(),10),f=n(d).find(".lnk-blk").attr("href");!c||!p||!f||i.push({title:c,year:p,url:f})});let r=(a=i.find(g=>g&&ci(e.media,g.title,g.year)))==null?void 0:a.url;if(!r)throw new Ce("No watchable item found");if(e.media.type==="show"){const g=r.match(/\/series\/([^/]+)\/?/);if(!g)throw new Error("Failed to parse watch page url");r=r.replace(`/series/${g[1]}`,`/episode/${g[1]}-${e.media.season.number}x${e.media.episode.number}`)}const u=qe(await e.proxiedFetcher(r))('ul.bx-lst li a:contains("- Bflix")').closest("aside").next("div.video-options").find("iframe").attr("data-lazy-src");if(!u)throw new Error("Failed to find embed url");const l=qe(await e.proxiedFetcher(u))("iframe").attr("src");if(!l)throw new Error("Failed to find embed url");return{embeds:[{embedId:"bflix",url:l}]}}const h0e=Wa({id:"nites",name:"Nites",rank:90,flags:[],scrapeMovie:H8,scrapeShow:H8}),F0="https://www.primewire.tf",m0e=atob("bHpRUHNYU0tjRw=="),y0e=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],b0e=[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],T0e=[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],S0e=[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],A0e=[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462];class v0e{constructor(a){this.sBox0=b0e.slice(),this.sBox1=T0e.slice(),this.sBox2=S0e.slice(),this.sBox3=A0e.slice(),this.pArray=y0e.slice(),this.keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",this.iv="abc12345",this.generateSubkeys(a)}encrypt(a){const t=this.utf8Decode(a);let n="";const i=8,r="\0",s=Math.ceil(a.length/i);for(let u=0;u<s;u++){let o=t.substr(i*u,i);o.length<i&&(o+=r.repeat(i-o.length));let[l,g]=this.split64by32(o);[l,g]=this.encipher(l,g),n+=this.num2block32(l)+this.num2block32(g)}return n}decrypt(a){const t=Math.ceil(a.length/8);let n="";for(let i=0;i<t;i++){const r=a.substr(8*i,8);if(r.length<8)throw new Error("Invalid block size");const[s,u]=this.split64by32(r),[o,l]=this.decipher(s,u);n+=this.num2block32(o)+this.num2block32(l)}return this.utf8Encode(n)}substitute(a){const t=a>>>24,n=a<<8>>>24,i=a<<16>>>24,r=a<<24>>>24;let s=this.addMod32(this.sBox0[t],this.sBox1[n]);return s=this.xor(s,this.sBox2[i]),s=this.addMod32(s,this.sBox3[r]),s}encipher(a,t){for(var n,i=0;i<16;i++)n=a=this.xor(a,this.pArray[i]),a=t=this.xor(this.substitute(a),t),t=n;return n=a,a=t,t=n,t=this.xor(t,this.pArray[16]),[a=this.xor(a,this.pArray[17]),t]}decipher(a,t){let n,i=a,r=t;n=this.xor(i,this.pArray[17]),i=this.xor(r,this.pArray[16]),r=n;for(let s=15;s>=0;s--)n=i,i=r,r=n,r=this.xor(this.substitute(i),r),i=this.xor(i,this.pArray[s]);return[i,r]}generateSubkeys(a){let t,n=0,i=0;for(let s=0;s<18;s++){t=0;for(let u=0;u<4;u++)t=this.fixNegative(t<<8|a.charCodeAt(n)),n=(n+1)%a.length;this.pArray[i]=this.xor(this.pArray[i],t),i++}let r=[0,0];for(let s=0;s<18;s+=2)r=this.encipher(r[0],r[1]),this.pArray[s]=r[0],this.pArray[s+1]=r[1];for(let s=0;s<256;s+=2)r=this.encipher(r[0],r[1]),this.sBox0[s]=r[0],this.sBox0[s+1]=r[1];for(let s=0;s<256;s+=2)r=this.encipher(r[0],r[1]),this.sBox1[s]=r[0],this.sBox1[s+1]=r[1];for(let s=0;s<256;s+=2)r=this.encipher(r[0],r[1]),this.sBox2[s]=r[0],this.sBox2[s+1]=r[1];for(let s=0;s<256;s+=2)r=this.encipher(r[0],r[1]),this.sBox3[s]=r[0],this.sBox3[s+1]=r[1]}block32toNum(a){return this.fixNegative(a.charCodeAt(0)<<24|a.charCodeAt(1)<<16|a.charCodeAt(2)<<8|a.charCodeAt(3))}num2block32(a){return String.fromCharCode(a>>>24)+String.fromCharCode(a<<8>>>24)+String.fromCharCode(a<<16>>>24)+String.fromCharCode(a<<24>>>24)}xor(a,t){return this.fixNegative(a^t)}addMod32(a,t){return this.fixNegative(a+t|0)}fixNegative(a){return a>>>0}split64by32(a){const t=a.substring(0,4),n=a.substring(4,8);return[this.block32toNum(t),this.block32toNum(n)]}utf8Decode(a){let t="";for(let n=0;n<a.length;n++){const i=a.charCodeAt(n);if(i<128)t+=String.fromCharCode(i);else if(i>127&&i<2048){const r=i>>6|192,s=63&i|128;t+=String.fromCharCode(r,s)}else{const r=i>>12|224,s=i>>6&63|128,u=63&i|128;t+=String.fromCharCode(r,s,u)}}return t}utf8Encode(a){let t="",n;for(let i=0;i<a.length;i++)if(n=a.charCodeAt(i),n<128)t+=String.fromCharCode(n);else if(n>191&&n<224){const r=a.charCodeAt(i+1);t+=String.fromCharCode((31&n)<<6|63&r),i+=1}else{const r=a.charCodeAt(i+1),s=a.charCodeAt(i+2);t+=String.fromCharCode((15&n)<<12|(63&r)<<6|63&s),i+=2}return t}base64(a){let t,n,i,r,s,u,o="",l=0;const g=a.replace(/[^A-Za-z0-9\\+\\/=]/g,"");for(;l<g.length;)t=this.keyStr.indexOf(g.charAt(l++))<<2|(r=this.keyStr.indexOf(g.charAt(l++)))>>4,n=(15&r)<<4|(s=this.keyStr.indexOf(g.charAt(l++)))>>2,i=(3&s)<<6|(u=this.keyStr.indexOf(g.charAt(l++))),o+=String.fromCharCode(t),s!==64&&(o+=String.fromCharCode(n)),u!==64&&(o+=String.fromCharCode(i));return o}}function D0e(e){const a=e.slice(-10),t=e.slice(0,-10),n=new v0e(a),i=n.decrypt(n.base64(t)).match(/.{1,5}/g);if(i)return i;throw new Error("No links found")}async function q8(e,a){return(await e.proxiedFetcher("/api/v1/show/",{baseUrl:F0,query:{key:m0e,imdb_id:a}})).id}async function V8(e){const a=qe(e),t=a("#user-data").attr("v");if(!t)throw new Ce("No user data found");const n=D0e(t),i=[];if(!n)throw new Ce("No links found");for(const r in n)if(r.includes(r)){const u=a(`.propper-link[link_version='${r}']`).parent().parent().parent().find(".version-host").text().trim();let o;switch(u){case"mixdrop.co":o="mixdrop";break;case"voe.sx":o="voe";break;case"upstream.to":o="upstream";break;case"streamvid.net":o="streamvid";break;case"dood.watch":o="dood";break;case"dropload.io":o="dropload";break;case"filelions.to":o="filelions";break;case"vtube.to":o="vtube";break;default:o=null}if(!o)continue;i.push({url:`${F0}/links/go/${n[r]}`,embedId:o})}return i}const x0e=Wa({id:"primewire",name:"Primewire",rank:1,flags:[Ke.CORS_ALLOWED],async scrapeMovie(e){if(!e.media.imdbId)throw new Error("No imdbId provided");const a=await q8(e,e.media.imdbId),t=await e.proxiedFetcher(`movie/${a}`,{baseUrl:F0});return{embeds:await V8(t)}},async scrapeShow(e){var a;if(!e.media.imdbId)throw new Error("No imdbId provided");const t=await q8(e,e.media.imdbId),n=await e.proxiedFetcher(`tv/${t}`,{baseUrl:F0}),r=(a=qe(n)(`.show_season[data-id='${e.media.season.number}'] > div > a`).toArray().find(o=>o.attribs.href.includes(`-episode-${e.media.episode.number}`)))==null?void 0:a.attribs.href;if(!r)throw new Ce("No episode links found");const s=await e.proxiedFetcher(r,{baseUrl:F0});return{embeds:await V8(s)}}}),DM="https://ridomovies.tv",G8=`${DM}/core/api`,W8=async e=>{const n=(await e.proxiedFetcher("/search",{baseUrl:G8,query:{q:e.media.title}})).data.items.map(l=>{const g=l.title,d=l.contentable.releaseYear,c=l.fullSlug;return{name:g,year:d,fullSlug:c}}).find(l=>l.name===e.media.title&&l.year===e.media.releaseYear.toString());if(!(n!=null&&n.fullSlug))throw new Ce("No watchable item found");let i=`/${n.fullSlug}/videos`;if(e.media.type==="show"){const l=await e.proxiedFetcher(`/${n.fullSlug}`,{baseUrl:DM}),g=`season-${e.media.season.number}/episode-${e.media.episode.number}`,d=new RegExp(`\\\\"id\\\\":\\\\"(\\d+)\\\\"(?=.*?\\\\\\"fullSlug\\\\\\":\\\\\\"[^"]*${g}[^"]*\\\\\\")`,"g"),p=[...l.matchAll(d)].map(h=>h[1]);if(p.length===0)throw new Ce("No watchable item found");i=`/episodes/${p.at(-1)}/videos`}const r=await e.proxiedFetcher(i,{baseUrl:G8}),u=qe(r.data[0].url)("iframe").attr("data-src");if(!u)throw new Ce("No watchable item found");const o=[];return u.includes("closeload")&&o.push({embedId:hM.id,url:u}),u.includes("ridoo")&&o.push({embedId:yM.id,url:u}),{embeds:o}},E0e=Wa({id:"ridomovies",name:"RidoMovies",rank:100,flags:[Ke.CORS_ALLOWED],scrapeMovie:W8,scrapeShow:W8}),Y8=async e=>{const a=e.media.type==="movie"?`?tmdb=${e.media.tmdbId}`:`?tmdb=${e.media.tmdbId}&season=${e.media.season.number}&episode=${e.media.episode.number}`;return{embeds:[{embedId:n6.id,url:`https://embed.smashystream.com/videofeee.php${a}`},{embedId:bM.id,url:`https://embed.smashystream.com/shortmoviec.php${a}`}]}},k0e=Wa({id:"smashystream",name:"SmashyStream",rank:30,disabled:!0,flags:[Ke.CORS_ALLOWED],scrapeMovie:Y8,scrapeShow:Y8});async function X8(e,a,t){const n=await e(a,{headers:t}),i=pf.parse(n);return i.isMasterPlaylist&&await Promise.all(i.variants.map(async r=>{const s=await e(r.uri,{headers:t}),u=pf.parse(s);r.uri=`data:application/vnd.apple.mpegurl;base64,${btoa(pf.stringify(u))}`})),`data:application/vnd.apple.mpegurl;base64,${btoa(pf.stringify(i))}`}const So="https://soaper.tv",Q8=async e=>{const a=await e.proxiedFetcher("/search.html",{baseUrl:So,query:{keyword:e.media.title}}),t=qe(a);let n=t("a").filter((c,p)=>t(p).text()===e.media.title).attr("href");if(!n)throw new Ce("Content not found");if(e.media.type==="show"){const c=e.media.season.number,p=e.media.episode.number,f=await e.proxiedFetcher(n,{baseUrl:So}),h=qe(f),b=h("h4").filter((m,T)=>h(T).text().trim().split(":")[0].trim()===`Season${c}`).parent().find("a").toArray();n=h(b.find(m=>parseInt(h(m).text().split(".")[0],10)===p)).attr("href")}if(!n)throw new Ce("Content not found");const i=await e.proxiedFetcher(n,{baseUrl:So}),s=qe(i)("#hId").attr("value");if(!s)throw new Ce("Content not found");const u=new URLSearchParams;u.append("pass",s),u.append("e2","0"),u.append("server","0");const o=e.media.type==="show"?"/home/index/getEInfoAjax":"/home/index/getMInfoAjax",l=await e.proxiedFetcher(o,{baseUrl:So,method:"POST",body:u,headers:{referer:`${So}${n}`}}),g=JSON.parse(l),d=[];for(const c of g.subs){let p="";c.name.includes(".srt")?p=tu(c.name.split(".srt")[0]):c.name.includes(":")?p=c.name.split(":")[0]:p=c.name,p&&d.push({id:c.path,url:c.path,type:"srt",hasCorsRestrictions:!1,language:p})}return{embeds:[],stream:[{id:"primary",playlist:await X8(e.proxiedFetcher,`${So}/${g.val}`),type:"hls",proxyDepth:2,flags:[Ke.CORS_ALLOWED],captions:d},...g.val_bak?[{id:"backup",playlist:await X8(e.proxiedFetcher,`${So}/${g.val_bak}`),type:"hls",flags:[Ke.CORS_ALLOWED],proxyDepth:2,captions:d}]:[]]}},C0e=Wa({id:"soapertv",name:"SoaperTV",rank:126,flags:[Ke.CORS_ALLOWED],scrapeMovie:Q8,scrapeShow:Q8}),_2="https://vidsrc.to",Bb=`${_2}/`,Z8=async e=>{var a;const t=e.media.imdbId??e.media.tmdbId,n=e.media.type==="movie"?`/embed/movie/${t}`:`/embed/tv/${t}/${e.media.season.number}/${e.media.episode.number}`,i=await e.proxiedFetcher(n,{baseUrl:_2,headers:{referer:Bb}}),s=qe(i)("a[data-id]").attr("data-id");if(!s)throw new Error("No data-id found");const u=await e.proxiedFetcher(`/ajax/embed/episode/${s}/sources`,{baseUrl:_2,headers:{referer:Bb}});if(u.status!==200)throw new Error("No sources found");const o=[],l=[];for(const g of u.result){const d=await e.proxiedFetcher(`/ajax/embed/source/${g.id}`,{baseUrl:_2,headers:{referer:Bb}}),c=Vde(d.result.url);l.push({source:g.title,url:c})}for(const g of l){if(g.source==="Vidplay"){const d=new URL(g.url);o.push({embedId:"vidplay",url:d.toString()})}if(g.source==="Filemoon"){const d=new URL(g.url),c=(a=l.find(f=>f.source==="Vidplay"&&f.url.includes("sub.info")))==null?void 0:a.url,p=c?new URL(c).searchParams.get("sub.info"):null;p&&d.searchParams.set("sub.info",p),o.push({embedId:"filemoon",url:d.toString()},{embedId:"filemoon-mp4",url:d.toString()})}}return{embeds:o}},w0e=Wa({id:"vidsrcto",name:"VidSrcTo",disabled:!0,scrapeMovie:Z8,scrapeShow:Z8,flags:[Ke.PROXY_BLOCKED],rank:130}),_0e=Wa({id:"warezcdn",name:"WarezCDN",rank:81,flags:[Ke.CORS_ALLOWED],scrapeMovie:async e=>{if(!e.media.imdbId)throw new Ce("This source requires IMDB id.");const a=await e.proxiedFetcher(`/filme/${e.media.imdbId}`,{baseUrl:ff}),t=qe(a),n=t(".hostList.active [data-load-embed]").get(),i=[];return n.forEach(async r=>{const s=t(r).attr("data-load-embed-host"),u=t(r).attr("data-load-embed");if(s==="mixdrop"){const o=await l8(e,"mixdrop",u);if(!o)throw new Error("Could not find embed url");i.push({embedId:jg.id,url:o})}else s==="warezcdn"&&i.push({embedId:AA.id,url:u},{embedId:zh.id,url:u},{embedId:SM.id,url:u})}),{embeds:i}},scrapeShow:async e=>{var a;if(!e.media.imdbId)throw new Ce("This source requires IMDB id.");const t=`${ff}/serie/${e.media.imdbId}/${e.media.season.number}/${e.media.episode.number}`,i=(a=(await e.proxiedFetcher(t)).match(/\$\('\[data-load-episode-content="(\d+)"\]'\)/))==null?void 0:a[1];if(!i)throw new Ce("Failed to find episode id");const r=await e.proxiedFetcher("/serieAjax.php",{method:"POST",baseUrl:ff,body:new URLSearchParams({getAudios:i}),headers:{Origin:ff,Referer:t,"X-Requested-With":"XMLHttpRequest"}}),u=JSON.parse(r).list[0],o=[];if(u.mixdropStatus==="3"){const l=await l8(e,"mixdrop",u.id);if(!l)throw new Error("Could not find embed url");o.push({embedId:jg.id,url:l})}return u.warezcdnStatus==="3"&&o.push({embedId:AA.id,url:u.id},{embedId:zh.id,url:u.id}),{embeds:o}}});function xM(){return[Cge,Oge,Zge,Hge,Jge,zge,mde,sde,Yge,Xge,k0e,E0e,w0e,p0e,n0e,d0e,c0e,x0e,_0e,$ge,h0e,C0e,Ege,ede,Rge,ble,Fge,Qge]}function I0e(){return[Vs,zg,tM,oM,Kh,aM,jle,jg,gM,nM,n6,bM,yM,hM,mM,Ide,KP,HP,Qde,Jde,yA,Kde,TA,jde,_le,qle,Dge,AA,zh,SM,kde,Bde,Nde,Tde,Sde,Ade,vde,Dde,lge,VP,GP,WP]}function N0e(){return xM().filter(e=>!e.disabled&&!e.externalSource)}function J8(){return xM().filter(e=>e.externalSource&&!e.disabled)}function L0e(){return I0e().filter(e=>!e.disabled)}function Fb(e){return new Set(e).size!==e.length}function R0e(e,a){const t=a.sources.filter(o=>!(o!=null&&o.disabled)),n=a.embeds.filter(o=>!(o!=null&&o.disabled)),i=[...t,...n],r=Fb(i.map(o=>o.id)),s=Fb(t.map(o=>o.rank)),u=Fb(n.map(o=>o.rank));if(r)throw new Error("Duplicate id found in sources/embeds");if(s)throw new Error("Duplicate rank found in sources");if(u)throw new Error("Duplicate rank found in embeds");return{sources:t.filter(o=>Tc(e,o.flags)),embeds:n}}function kke(e){var a;const t=lle(e.proxyStreams?"any":e.target,e.consistentIpForRequests??!1,e.proxyStreams),n=[...N0e()];e.externalSources==="all"?n.push(...J8()):(a=e.externalSources)==null||a.forEach(r=>{const s=J8().find(u=>u.id===r);s&&n.push(s)});const i=R0e(t,{embeds:L0e(),sources:n});return xle({embeds:i.embeds,sources:i.sources,features:t,fetcher:e.fetcher,proxiedFetcher:e.proxiedFetcher,proxyStreams:e.proxyStreams})}const P0e=()=>{try{return require("react-native"),!0}catch{return!1}};function M0e(e){return e===void 0||typeof e=="string"||e instanceof URLSearchParams||e instanceof Jv?e instanceof URLSearchParams&&P0e()?{headers:{"Content-Type":"application/x-www-form-urlencoded"},body:e.toString()}:{headers:{},body:e}:{headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}}function O0e(e,a){const t=new Headers;return e.forEach(n=>{var i;const r=n.toLowerCase(),s=a.headers.get(r),o=((i=a.extraHeaders)==null?void 0:i.get(r))??s;o&&t.set(r,o)}),t}function B0e(e){return async(t,n)=>{var i;const r=a6(t,n),s=M0e(n.body),u=await e(r,{method:n.method,headers:{...s.headers,...n.headers},body:s.body,credentials:n.credentials});let o;return((i=u.headers.get("content-type"))==null?void 0:i.includes("application/json"))?o=await u.json():o=await u.text(),{body:o,finalUrl:u.extraUrl??u.url,headers:O0e(n.readHeaders,u),statusCode:u.status}}}const ek={cookie:"X-Cookie",referer:"X-Referer",origin:"X-Origin","user-agent":"X-User-Agent","x-real-ip":"X-X-Real-Ip"},F0e={"x-set-cookie":"Set-Cookie"};function Cke(e,a){return async(n,i)=>{const r=B0e(async(o,l)=>{const g=await a(o,l);return g.extraHeaders=new Headers,Object.entries(F0e).forEach(d=>{var c;const p=g.headers.get(d[0]);p&&((c=g.extraHeaders)==null||c.set(d[1].toLowerCase(),p))}),g.extraUrl=g.headers.get("X-Final-Destination")??g.url,g}),s=a6(n,i),u=Object.entries(i.headers).map(o=>{const l=o[0].toLowerCase();return ek[l]?[ek[l],o[1]]:o});return r(e,{...i,query:{destination:s},headers:Object.fromEntries(u),baseUrl:void 0})}}class b0 extends Error{}b0.prototype.name="InvalidTokenError";function U0e(e){return decodeURIComponent(atob(e).replace(/(.)/g,(a,t)=>{let n=t.charCodeAt(0).toString(16).toUpperCase();return n.length<2&&(n="0"+n),"%"+n}))}function j0e(e){let a=e.replace(/-/g,"+").replace(/_/g,"/");switch(a.length%4){case 0:break;case 2:a+="==";break;case 3:a+="=";break;default:throw new Error("base64 string is not of the correct length")}try{return U0e(a)}catch{return atob(a)}}function wke(e,a){if(typeof e!="string")throw new b0("Invalid token specified: must be a string");a||(a={});const t=a.header===!0?0:1,n=e.split(".")[t];if(typeof n!="string")throw new b0(`Invalid token specified: missing part #${t+1}`);let i;try{i=j0e(n)}catch(r){throw new b0(`Invalid token specified: invalid base64 for part #${t+1} (${r.message})`)}try{return JSON.parse(i)}catch(r){throw new b0(`Invalid token specified: invalid json for part #${t+1} (${r.message})`)}}const z0e=({as:e="div",...a},t)=>nN.jsx(e,{...a,ref:t}),$0e=X.forwardRef(z0e),K0e="https://challenges.cloudflare.com/turnstile/v0/api.js",s6="cf-turnstile-script",H0e="cf-turnstile",u6="onloadTurnstileCallback",EM=e=>!!document.getElementById(e),q0e=({render:e="explicit",onLoadCallbackName:a=u6,scriptOptions:{nonce:t="",defer:n=!0,async:i=!0,id:r="",appendTo:s,onError:u,crossOrigin:o=""}={}})=>{const l=r||s6;if(EM(l))return;const g=document.createElement("script");if(g.id=l,g.src=`${K0e}?onload=${a}&render=${e}`,document.querySelector(`script[src="${g.src}"]`))return;g.defer=!!n,g.async=!!i,t&&(g.nonce=t),o&&(g.crossOrigin=o),u&&(g.onerror=u,delete window[a]),(s==="body"?document.body:document.getElementsByTagName("head")[0]).appendChild(g)},Br={normal:{width:300,height:65},compact:{width:130,height:120},invisible:{width:0,height:0,overflow:"hidden"},auto:{},interactionOnly:{width:"fit-content",height:"auto",display:"flex"}};function V0e(e){let a;return e!=="invisible"&&e!=="auto"&&(a=e),a}function G0e(e=s6){const[a,t]=X.useState(!1);return X.useEffect(()=>{const n=()=>{EM(e)&&t(!0)},i=new MutationObserver(n);return i.observe(document,{childList:!0,subtree:!0}),n(),()=>{i.disconnect()}},[e]),a}let U0="unloaded",kM;const W0e=new Promise((e,a)=>{kM={resolve:e,reject:a},U0==="ready"&&e(void 0)}),Y0e=(e=u6)=>(U0==="unloaded"&&(U0="loading",window[e]=()=>{kM.resolve(),U0="ready",delete window[e]}),W0e),X0e=X.forwardRef((e,a)=>{const{scriptOptions:t,options:n={},siteKey:i,onWidgetLoad:r,onSuccess:s,onExpire:u,onError:o,onBeforeInteractive:l,onAfterInteractive:g,onUnsupported:d,onLoadScript:c,id:p,style:f,as:h="div",injectScript:y=!0,...b}=e,m=n.size||"normal",[T,A]=X.useState(n.execution==="execute"?Br.invisible:n.appearance==="interaction-only"?Br.interactionOnly:Br[m]),v=X.useRef(null),[D,k]=X.useState(!1),N=X.useRef(),q=X.useRef(!1),R=p||H0e,z=(t==null?void 0:t.id)||s6,W=G0e(z),K=(t==null?void 0:t.onLoadCallbackName)||u6,P=n.appearance||"always",L=X.useMemo(()=>({sitekey:i,action:n.action,cData:n.cData,callback:U=>{q.current=!0,s==null||s(U)},"error-callback":o,"expired-callback":u,"before-interactive-callback":l,"after-interactive-callback":g,"unsupported-callback":d,theme:n.theme||"auto",language:n.language||"auto",tabindex:n.tabIndex,"response-field":n.responseField,"response-field-name":n.responseFieldName,size:V0e(m),retry:n.retry||"auto","retry-interval":n.retryInterval||8e3,"refresh-expired":n.refreshExpired||"auto",execution:n.execution||"render",appearance:n.appearance||"always"}),[n.action,n.appearance,n.cData,n.execution,n.language,n.refreshExpired,n.responseField,n.responseFieldName,n.retry,n.retryInterval,n.tabIndex,n.theme,i,m]),H=X.useCallback(()=>typeof window<"u"&&!!window.turnstile,[]);return X.useEffect(function(){y&&!D&&q0e({onLoadCallbackName:K,scriptOptions:{...t,id:z}})},[y,D,t,z]),X.useEffect(function(){U0!=="ready"&&Y0e(K).then(()=>k(!0)).catch(console.error)},[]),X.useEffect(function(){if(!v.current||!D)return;let G=!1;return(async()=>{if(G||!v.current)return;const x=window.turnstile.render(v.current,L);N.current=x,N.current&&(r==null||r(N.current))})(),()=>{G=!0,N.current&&(window.turnstile.remove(N.current),q.current=!1)}},[R,D,L]),X.useImperativeHandle(a,()=>{const{turnstile:U}=window;return{getResponse(){if(!(U!=null&&U.getResponse)||!N.current||!H()){console.warn("Turnstile has not been loaded");return}return U.getResponse(N.current)},async getResponsePromise(G=3e4,E=100){return new Promise((x,_)=>{let I;const w=async()=>{if(q.current&&window.turnstile&&N.current)try{const C=window.turnstile.getResponse(N.current);return I&&clearTimeout(I),C?x(C):_(new Error("No response received"))}catch(C){return I&&clearTimeout(I),console.warn("Failed to get response",C),_(new Error("Failed to get response"))}I||(I=setTimeout(()=>{I&&clearTimeout(I),_(new Error("Timeout"))},G)),await new Promise(C=>setTimeout(C,E)),await w()};w()})},reset(){if(!(U!=null&&U.reset)||!N.current||!H()){console.warn("Turnstile has not been loaded");return}n.execution==="execute"&&A(Br.invisible);try{q.current=!1,U.reset(N.current)}catch(G){console.warn(`Failed to reset Turnstile widget ${N}`,G)}},remove(){if(!(U!=null&&U.remove)||!N.current||!H()){console.warn("Turnstile has not been loaded");return}A(Br.invisible),q.current=!1,U.remove(N.current),N.current=null},render(){if(!(U!=null&&U.render)||!v.current||!H()||N.current){console.warn("Turnstile has not been loaded or container not found");return}const G=U.render(v.current,L);return N.current=G,N.current&&(r==null||r(N.current)),n.execution!=="execute"&&A(Br[m]),G},execute(){if(n.execution!=="execute"){console.warn('Execution mode is not set to "execute"');return}if(!(U!=null&&U.execute)||!v.current||!N.current||!H()){console.warn("Turnstile has not been loaded or container not found");return}U.execute(v.current,L),A(Br[m])},isExpired(){if(!(U!=null&&U.isExpired)||!N.current||!H()){console.warn("Turnstile has not been loaded");return}return U.isExpired(N.current)}}},[N,n.execution,m,L,v,H,D,r]),X.useEffect(()=>{W&&!D&&window.turnstile&&k(!0)},[D,W]),X.useEffect(()=>{A(n.execution==="execute"?Br.invisible:P==="interaction-only"?Br.interactionOnly:Br[m])},[n.execution,m,P]),X.useEffect(()=>{!W||typeof c!="function"||c()},[W]),nN.jsx($0e,{ref:v,as:h,id:R,style:{...T,...f},...b})});X0e.displayName="Turnstile";var CM={exports:{}};/*!
	Copyright (c) 2018 Jed Watson.
	Licensed under the MIT License (MIT), see
	http://jedwatson.github.io/classnames
*/(function(e){(function(){var a={}.hasOwnProperty;function t(){for(var r="",s=0;s<arguments.length;s++){var u=arguments[s];u&&(r=i(r,n(u)))}return r}function n(r){if(typeof r=="string"||typeof r=="number")return r;if(typeof r!="object")return"";if(Array.isArray(r))return t.apply(null,r);if(r.toString!==Object.prototype.toString&&!r.toString.toString().includes("[native code]"))return r.toString();var s="";for(var u in r)a.call(r,u)&&r[u]&&(s=i(s,u));return s}function i(r,s){return s?r?r+" "+s:r+s:r}e.exports?(t.default=t,e.exports=t):window.classNames=t})()})(CM);var Q0e=CM.exports;const _ke=an(Q0e);let Z0e=(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce((a,t)=>(t&=63,t<36?a+=t.toString(36):t<62?a+=(t-26).toString(36).toUpperCase():t>62?a+="-":a+="_",a),"");var HI,qI;(HI=globalThis.browser)!=null&&HI.tabs||((qI=globalThis.chrome)==null||qI.tabs);var J0e=(e,a)=>!a.__internal&&e.source===globalThis.window&&e.data.name===a.name&&(a.relayId===void 0||e.data.relayId===a.relayId),ece=(e,a=globalThis.window)=>new Promise((t,n)=>{let i=Z0e(),r=new AbortController;a.addEventListener("message",s=>{J0e(s,e)&&s.data.relayed&&s.data.instanceId===i&&(t(s.data.body),r.abort())},{signal:r.signal}),a.postMessage({...e,instanceId:i},{targetOrigin:e.targetOrigin||"/"})}),Ike=ece,vA={exports:{}};const ace="2.0.0",wM=256,tce=Number.MAX_SAFE_INTEGER||9007199254740991,nce=16,ice=wM-6,rce=["major","premajor","minor","preminor","patch","prepatch","prerelease"];var Xy={MAX_LENGTH:wM,MAX_SAFE_COMPONENT_LENGTH:nce,MAX_SAFE_BUILD_LENGTH:ice,MAX_SAFE_INTEGER:tce,RELEASE_TYPES:rce,SEMVER_SPEC_VERSION:ace,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2},Ub={};const sce=typeof process=="object"&&Ub&&Ub.NODE_DEBUG&&/\bsemver\b/i.test(Ub.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};var Qy=sce;(function(e,a){const{MAX_SAFE_COMPONENT_LENGTH:t,MAX_SAFE_BUILD_LENGTH:n,MAX_LENGTH:i}=Xy,r=Qy;a=e.exports={};const s=a.re=[],u=a.safeRe=[],o=a.src=[],l=a.t={};let g=0;const d="[a-zA-Z0-9-]",c=[["\\s",1],["\\d",i],[d,n]],p=h=>{for(const[y,b]of c)h=h.split(`${y}*`).join(`${y}{0,${b}}`).split(`${y}+`).join(`${y}{1,${b}}`);return h},f=(h,y,b)=>{const m=p(y),T=g++;r(h,T,y),l[h]=T,o[T]=y,s[T]=new RegExp(y,b?"g":void 0),u[T]=new RegExp(m,b?"g":void 0)};f("NUMERICIDENTIFIER","0|[1-9]\\d*"),f("NUMERICIDENTIFIERLOOSE","\\d+"),f("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${d}*`),f("MAINVERSION",`(${o[l.NUMERICIDENTIFIER]})\\.(${o[l.NUMERICIDENTIFIER]})\\.(${o[l.NUMERICIDENTIFIER]})`),f("MAINVERSIONLOOSE",`(${o[l.NUMERICIDENTIFIERLOOSE]})\\.(${o[l.NUMERICIDENTIFIERLOOSE]})\\.(${o[l.NUMERICIDENTIFIERLOOSE]})`),f("PRERELEASEIDENTIFIER",`(?:${o[l.NUMERICIDENTIFIER]}|${o[l.NONNUMERICIDENTIFIER]})`),f("PRERELEASEIDENTIFIERLOOSE",`(?:${o[l.NUMERICIDENTIFIERLOOSE]}|${o[l.NONNUMERICIDENTIFIER]})`),f("PRERELEASE",`(?:-(${o[l.PRERELEASEIDENTIFIER]}(?:\\.${o[l.PRERELEASEIDENTIFIER]})*))`),f("PRERELEASELOOSE",`(?:-?(${o[l.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${o[l.PRERELEASEIDENTIFIERLOOSE]})*))`),f("BUILDIDENTIFIER",`${d}+`),f("BUILD",`(?:\\+(${o[l.BUILDIDENTIFIER]}(?:\\.${o[l.BUILDIDENTIFIER]})*))`),f("FULLPLAIN",`v?${o[l.MAINVERSION]}${o[l.PRERELEASE]}?${o[l.BUILD]}?`),f("FULL",`^${o[l.FULLPLAIN]}$`),f("LOOSEPLAIN",`[v=\\s]*${o[l.MAINVERSIONLOOSE]}${o[l.PRERELEASELOOSE]}?${o[l.BUILD]}?`),f("LOOSE",`^${o[l.LOOSEPLAIN]}$`),f("GTLT","((?:<|>)?=?)"),f("XRANGEIDENTIFIERLOOSE",`${o[l.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),f("XRANGEIDENTIFIER",`${o[l.NUMERICIDENTIFIER]}|x|X|\\*`),f("XRANGEPLAIN",`[v=\\s]*(${o[l.XRANGEIDENTIFIER]})(?:\\.(${o[l.XRANGEIDENTIFIER]})(?:\\.(${o[l.XRANGEIDENTIFIER]})(?:${o[l.PRERELEASE]})?${o[l.BUILD]}?)?)?`),f("XRANGEPLAINLOOSE",`[v=\\s]*(${o[l.XRANGEIDENTIFIERLOOSE]})(?:\\.(${o[l.XRANGEIDENTIFIERLOOSE]})(?:\\.(${o[l.XRANGEIDENTIFIERLOOSE]})(?:${o[l.PRERELEASELOOSE]})?${o[l.BUILD]}?)?)?`),f("XRANGE",`^${o[l.GTLT]}\\s*${o[l.XRANGEPLAIN]}$`),f("XRANGELOOSE",`^${o[l.GTLT]}\\s*${o[l.XRANGEPLAINLOOSE]}$`),f("COERCEPLAIN",`(^|[^\\d])(\\d{1,${t}})(?:\\.(\\d{1,${t}}))?(?:\\.(\\d{1,${t}}))?`),f("COERCE",`${o[l.COERCEPLAIN]}(?:$|[^\\d])`),f("COERCEFULL",o[l.COERCEPLAIN]+`(?:${o[l.PRERELEASE]})?(?:${o[l.BUILD]})?(?:$|[^\\d])`),f("COERCERTL",o[l.COERCE],!0),f("COERCERTLFULL",o[l.COERCEFULL],!0),f("LONETILDE","(?:~>?)"),f("TILDETRIM",`(\\s*)${o[l.LONETILDE]}\\s+`,!0),a.tildeTrimReplace="$1~",f("TILDE",`^${o[l.LONETILDE]}${o[l.XRANGEPLAIN]}$`),f("TILDELOOSE",`^${o[l.LONETILDE]}${o[l.XRANGEPLAINLOOSE]}$`),f("LONECARET","(?:\\^)"),f("CARETTRIM",`(\\s*)${o[l.LONECARET]}\\s+`,!0),a.caretTrimReplace="$1^",f("CARET",`^${o[l.LONECARET]}${o[l.XRANGEPLAIN]}$`),f("CARETLOOSE",`^${o[l.LONECARET]}${o[l.XRANGEPLAINLOOSE]}$`),f("COMPARATORLOOSE",`^${o[l.GTLT]}\\s*(${o[l.LOOSEPLAIN]})$|^$`),f("COMPARATOR",`^${o[l.GTLT]}\\s*(${o[l.FULLPLAIN]})$|^$`),f("COMPARATORTRIM",`(\\s*)${o[l.GTLT]}\\s*(${o[l.LOOSEPLAIN]}|${o[l.XRANGEPLAIN]})`,!0),a.comparatorTrimReplace="$1$2$3",f("HYPHENRANGE",`^\\s*(${o[l.XRANGEPLAIN]})\\s+-\\s+(${o[l.XRANGEPLAIN]})\\s*$`),f("HYPHENRANGELOOSE",`^\\s*(${o[l.XRANGEPLAINLOOSE]})\\s+-\\s+(${o[l.XRANGEPLAINLOOSE]})\\s*$`),f("STAR","(<|>)?=?\\s*\\*"),f("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),f("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")})(vA,vA.exports);var Ap=vA.exports;const uce=Object.freeze({loose:!0}),oce=Object.freeze({}),lce=e=>e?typeof e!="object"?uce:e:oce;var o6=lce;const ak=/^[0-9]+$/,_M=(e,a)=>{const t=ak.test(e),n=ak.test(a);return t&&n&&(e=+e,a=+a),e===a?0:t&&!n?-1:n&&!t?1:e<a?-1:1},gce=(e,a)=>_M(a,e);var IM={compareIdentifiers:_M,rcompareIdentifiers:gce};const Tf=Qy,{MAX_LENGTH:tk,MAX_SAFE_INTEGER:Sf}=Xy,{safeRe:nk,t:ik}=Ap,dce=o6,{compareIdentifiers:Il}=IM;let cce=class $r{constructor(a,t){if(t=dce(t),a instanceof $r){if(a.loose===!!t.loose&&a.includePrerelease===!!t.includePrerelease)return a;a=a.version}else if(typeof a!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof a}".`);if(a.length>tk)throw new TypeError(`version is longer than ${tk} characters`);Tf("SemVer",a,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const n=a.trim().match(t.loose?nk[ik.LOOSE]:nk[ik.FULL]);if(!n)throw new TypeError(`Invalid Version: ${a}`);if(this.raw=a,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>Sf||this.major<0)throw new TypeError("Invalid major version");if(this.minor>Sf||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>Sf||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map(i=>{if(/^[0-9]+$/.test(i)){const r=+i;if(r>=0&&r<Sf)return r}return i}):this.prerelease=[],this.build=n[5]?n[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(a){if(Tf("SemVer.compare",this.version,this.options,a),!(a instanceof $r)){if(typeof a=="string"&&a===this.version)return 0;a=new $r(a,this.options)}return a.version===this.version?0:this.compareMain(a)||this.comparePre(a)}compareMain(a){return a instanceof $r||(a=new $r(a,this.options)),Il(this.major,a.major)||Il(this.minor,a.minor)||Il(this.patch,a.patch)}comparePre(a){if(a instanceof $r||(a=new $r(a,this.options)),this.prerelease.length&&!a.prerelease.length)return-1;if(!this.prerelease.length&&a.prerelease.length)return 1;if(!this.prerelease.length&&!a.prerelease.length)return 0;let t=0;do{const n=this.prerelease[t],i=a.prerelease[t];if(Tf("prerelease compare",t,n,i),n===void 0&&i===void 0)return 0;if(i===void 0)return 1;if(n===void 0)return-1;if(n===i)continue;return Il(n,i)}while(++t)}compareBuild(a){a instanceof $r||(a=new $r(a,this.options));let t=0;do{const n=this.build[t],i=a.build[t];if(Tf("build compare",t,n,i),n===void 0&&i===void 0)return 0;if(i===void 0)return 1;if(n===void 0)return-1;if(n===i)continue;return Il(n,i)}while(++t)}inc(a,t,n){switch(a){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",t,n);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t,n);break;case"prepatch":this.prerelease.length=0,this.inc("patch",t,n),this.inc("pre",t,n);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",t,n),this.inc("pre",t,n);break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{const i=Number(n)?1:0;if(!t&&n===!1)throw new Error("invalid increment argument: identifier is empty");if(this.prerelease.length===0)this.prerelease=[i];else{let r=this.prerelease.length;for(;--r>=0;)typeof this.prerelease[r]=="number"&&(this.prerelease[r]++,r=-2);if(r===-1){if(t===this.prerelease.join(".")&&n===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(i)}}if(t){let r=[t,i];n===!1&&(r=[t]),Il(this.prerelease[0],t)===0?isNaN(this.prerelease[1])&&(this.prerelease=r):this.prerelease=r}break}default:throw new Error(`invalid increment argument: ${a}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};var Kn=cce;const rk=Kn,pce=(e,a,t=!1)=>{if(e instanceof rk)return e;try{return new rk(e,a)}catch(n){if(!t)return null;throw n}};var Sd=pce;const fce=Sd,hce=(e,a)=>{const t=fce(e,a);return t?t.version:null};var mce=hce;const yce=Sd,bce=(e,a)=>{const t=yce(e.trim().replace(/^[=v]+/,""),a);return t?t.version:null};var Tce=bce;const sk=Kn,Sce=(e,a,t,n,i)=>{typeof t=="string"&&(i=n,n=t,t=void 0);try{return new sk(e instanceof sk?e.version:e,t).inc(a,n,i).version}catch{return null}};var Ace=Sce;const uk=Sd,vce=(e,a)=>{const t=uk(e,null,!0),n=uk(a,null,!0),i=t.compare(n);if(i===0)return null;const r=i>0,s=r?t:n,u=r?n:t,o=!!s.prerelease.length;if(!!u.prerelease.length&&!o)return!u.patch&&!u.minor?"major":s.patch?"patch":s.minor?"minor":"major";const g=o?"pre":"";return t.major!==n.major?g+"major":t.minor!==n.minor?g+"minor":t.patch!==n.patch?g+"patch":"prerelease"};var Dce=vce;const xce=Kn,Ece=(e,a)=>new xce(e,a).major;var kce=Ece;const Cce=Kn,wce=(e,a)=>new Cce(e,a).minor;var _ce=wce;const Ice=Kn,Nce=(e,a)=>new Ice(e,a).patch;var Lce=Nce;const Rce=Sd,Pce=(e,a)=>{const t=Rce(e,a);return t&&t.prerelease.length?t.prerelease:null};var Mce=Pce;const ok=Kn,Oce=(e,a,t)=>new ok(e,t).compare(new ok(a,t));var Rr=Oce;const Bce=Rr,Fce=(e,a,t)=>Bce(a,e,t);var Uce=Fce;const jce=Rr,zce=(e,a)=>jce(e,a,!0);var $ce=zce;const lk=Kn,Kce=(e,a,t)=>{const n=new lk(e,t),i=new lk(a,t);return n.compare(i)||n.compareBuild(i)};var l6=Kce;const Hce=l6,qce=(e,a)=>e.sort((t,n)=>Hce(t,n,a));var Vce=qce;const Gce=l6,Wce=(e,a)=>e.sort((t,n)=>Gce(n,t,a));var Yce=Wce;const Xce=Rr,Qce=(e,a,t)=>Xce(e,a,t)>0;var Zy=Qce;const Zce=Rr,Jce=(e,a,t)=>Zce(e,a,t)<0;var g6=Jce;const epe=Rr,ape=(e,a,t)=>epe(e,a,t)===0;var NM=ape;const tpe=Rr,npe=(e,a,t)=>tpe(e,a,t)!==0;var LM=npe;const ipe=Rr,rpe=(e,a,t)=>ipe(e,a,t)>=0;var d6=rpe;const spe=Rr,upe=(e,a,t)=>spe(e,a,t)<=0;var c6=upe;const ope=NM,lpe=LM,gpe=Zy,dpe=d6,cpe=g6,ppe=c6,fpe=(e,a,t,n)=>{switch(a){case"===":return typeof e=="object"&&(e=e.version),typeof t=="object"&&(t=t.version),e===t;case"!==":return typeof e=="object"&&(e=e.version),typeof t=="object"&&(t=t.version),e!==t;case"":case"=":case"==":return ope(e,t,n);case"!=":return lpe(e,t,n);case">":return gpe(e,t,n);case">=":return dpe(e,t,n);case"<":return cpe(e,t,n);case"<=":return ppe(e,t,n);default:throw new TypeError(`Invalid operator: ${a}`)}};var RM=fpe;const hpe=Kn,mpe=Sd,{safeRe:Af,t:vf}=Ap,ype=(e,a)=>{if(e instanceof hpe)return e;if(typeof e=="number"&&(e=String(e)),typeof e!="string")return null;a=a||{};let t=null;if(!a.rtl)t=e.match(a.includePrerelease?Af[vf.COERCEFULL]:Af[vf.COERCE]);else{const o=a.includePrerelease?Af[vf.COERCERTLFULL]:Af[vf.COERCERTL];let l;for(;(l=o.exec(e))&&(!t||t.index+t[0].length!==e.length);)(!t||l.index+l[0].length!==t.index+t[0].length)&&(t=l),o.lastIndex=l.index+l[1].length+l[2].length;o.lastIndex=-1}if(t===null)return null;const n=t[2],i=t[3]||"0",r=t[4]||"0",s=a.includePrerelease&&t[5]?`-${t[5]}`:"",u=a.includePrerelease&&t[6]?`+${t[6]}`:"";return mpe(`${n}.${i}.${r}${s}${u}`,a)};var bpe=ype;class Tpe{constructor(){this.max=1e3,this.map=new Map}get(a){const t=this.map.get(a);if(t!==void 0)return this.map.delete(a),this.map.set(a,t),t}delete(a){return this.map.delete(a)}set(a,t){if(!this.delete(a)&&t!==void 0){if(this.map.size>=this.max){const i=this.map.keys().next().value;this.delete(i)}this.map.set(a,t)}return this}}var Spe=Tpe,jb,gk;function Pr(){if(gk)return jb;gk=1;const e=/\s+/g;class a{constructor(L,H){if(H=i(H),L instanceof a)return L.loose===!!H.loose&&L.includePrerelease===!!H.includePrerelease?L:new a(L.raw,H);if(L instanceof r)return this.raw=L.value,this.set=[[L]],this.formatted=void 0,this;if(this.options=H,this.loose=!!H.loose,this.includePrerelease=!!H.includePrerelease,this.raw=L.trim().replace(e," "),this.set=this.raw.split("||").map(U=>this.parseRange(U.trim())).filter(U=>U.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){const U=this.set[0];if(this.set=this.set.filter(G=>!h(G[0])),this.set.length===0)this.set=[U];else if(this.set.length>1){for(const G of this.set)if(G.length===1&&y(G[0])){this.set=[G];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let L=0;L<this.set.length;L++){L>0&&(this.formatted+="||");const H=this.set[L];for(let U=0;U<H.length;U++)U>0&&(this.formatted+=" "),this.formatted+=H[U].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(L){const U=((this.options.includePrerelease&&p)|(this.options.loose&&f))+":"+L,G=n.get(U);if(G)return G;const E=this.options.loose,x=E?o[l.HYPHENRANGELOOSE]:o[l.HYPHENRANGE];L=L.replace(x,W(this.options.includePrerelease)),s("hyphen replace",L),L=L.replace(o[l.COMPARATORTRIM],g),s("comparator trim",L),L=L.replace(o[l.TILDETRIM],d),s("tilde trim",L),L=L.replace(o[l.CARETTRIM],c),s("caret trim",L);let _=L.split(" ").map(M=>m(M,this.options)).join(" ").split(/\s+/).map(M=>z(M,this.options));E&&(_=_.filter(M=>(s("loose invalid filter",M,this.options),!!M.match(o[l.COMPARATORLOOSE])))),s("range list",_);const I=new Map,w=_.map(M=>new r(M,this.options));for(const M of w){if(h(M))return[M];I.set(M.value,M)}I.size>1&&I.has("")&&I.delete("");const C=[...I.values()];return n.set(U,C),C}intersects(L,H){if(!(L instanceof a))throw new TypeError("a Range is required");return this.set.some(U=>b(U,H)&&L.set.some(G=>b(G,H)&&U.every(E=>G.every(x=>E.intersects(x,H)))))}test(L){if(!L)return!1;if(typeof L=="string")try{L=new u(L,this.options)}catch{return!1}for(let H=0;H<this.set.length;H++)if(K(this.set[H],L,this.options))return!0;return!1}}jb=a;const t=Spe,n=new t,i=o6,r=Jy(),s=Qy,u=Kn,{safeRe:o,t:l,comparatorTrimReplace:g,tildeTrimReplace:d,caretTrimReplace:c}=Ap,{FLAG_INCLUDE_PRERELEASE:p,FLAG_LOOSE:f}=Xy,h=P=>P.value==="<0.0.0-0",y=P=>P.value==="",b=(P,L)=>{let H=!0;const U=P.slice();let G=U.pop();for(;H&&U.length;)H=U.every(E=>G.intersects(E,L)),G=U.pop();return H},m=(P,L)=>(s("comp",P,L),P=D(P,L),s("caret",P),P=A(P,L),s("tildes",P),P=N(P,L),s("xrange",P),P=R(P,L),s("stars",P),P),T=P=>!P||P.toLowerCase()==="x"||P==="*",A=(P,L)=>P.trim().split(/\s+/).map(H=>v(H,L)).join(" "),v=(P,L)=>{const H=L.loose?o[l.TILDELOOSE]:o[l.TILDE];return P.replace(H,(U,G,E,x,_)=>{s("tilde",P,U,G,E,x,_);let I;return T(G)?I="":T(E)?I=`>=${G}.0.0 <${+G+1}.0.0-0`:T(x)?I=`>=${G}.${E}.0 <${G}.${+E+1}.0-0`:_?(s("replaceTilde pr",_),I=`>=${G}.${E}.${x}-${_} <${G}.${+E+1}.0-0`):I=`>=${G}.${E}.${x} <${G}.${+E+1}.0-0`,s("tilde return",I),I})},D=(P,L)=>P.trim().split(/\s+/).map(H=>k(H,L)).join(" "),k=(P,L)=>{s("caret",P,L);const H=L.loose?o[l.CARETLOOSE]:o[l.CARET],U=L.includePrerelease?"-0":"";return P.replace(H,(G,E,x,_,I)=>{s("caret",P,G,E,x,_,I);let w;return T(E)?w="":T(x)?w=`>=${E}.0.0${U} <${+E+1}.0.0-0`:T(_)?E==="0"?w=`>=${E}.${x}.0${U} <${E}.${+x+1}.0-0`:w=`>=${E}.${x}.0${U} <${+E+1}.0.0-0`:I?(s("replaceCaret pr",I),E==="0"?x==="0"?w=`>=${E}.${x}.${_}-${I} <${E}.${x}.${+_+1}-0`:w=`>=${E}.${x}.${_}-${I} <${E}.${+x+1}.0-0`:w=`>=${E}.${x}.${_}-${I} <${+E+1}.0.0-0`):(s("no pr"),E==="0"?x==="0"?w=`>=${E}.${x}.${_}${U} <${E}.${x}.${+_+1}-0`:w=`>=${E}.${x}.${_}${U} <${E}.${+x+1}.0-0`:w=`>=${E}.${x}.${_} <${+E+1}.0.0-0`),s("caret return",w),w})},N=(P,L)=>(s("replaceXRanges",P,L),P.split(/\s+/).map(H=>q(H,L)).join(" ")),q=(P,L)=>{P=P.trim();const H=L.loose?o[l.XRANGELOOSE]:o[l.XRANGE];return P.replace(H,(U,G,E,x,_,I)=>{s("xRange",P,U,G,E,x,_,I);const w=T(E),C=w||T(x),M=C||T(_),$=M;return G==="="&&$&&(G=""),I=L.includePrerelease?"-0":"",w?G===">"||G==="<"?U="<0.0.0-0":U="*":G&&$?(C&&(x=0),_=0,G===">"?(G=">=",C?(E=+E+1,x=0,_=0):(x=+x+1,_=0)):G==="<="&&(G="<",C?E=+E+1:x=+x+1),G==="<"&&(I="-0"),U=`${G+E}.${x}.${_}${I}`):C?U=`>=${E}.0.0${I} <${+E+1}.0.0-0`:M&&(U=`>=${E}.${x}.0${I} <${E}.${+x+1}.0-0`),s("xRange return",U),U})},R=(P,L)=>(s("replaceStars",P,L),P.trim().replace(o[l.STAR],"")),z=(P,L)=>(s("replaceGTE0",P,L),P.trim().replace(o[L.includePrerelease?l.GTE0PRE:l.GTE0],"")),W=P=>(L,H,U,G,E,x,_,I,w,C,M,$)=>(T(U)?H="":T(G)?H=`>=${U}.0.0${P?"-0":""}`:T(E)?H=`>=${U}.${G}.0${P?"-0":""}`:x?H=`>=${H}`:H=`>=${H}${P?"-0":""}`,T(w)?I="":T(C)?I=`<${+w+1}.0.0-0`:T(M)?I=`<${w}.${+C+1}.0-0`:$?I=`<=${w}.${C}.${M}-${$}`:P?I=`<${w}.${C}.${+M+1}-0`:I=`<=${I}`,`${H} ${I}`.trim()),K=(P,L,H)=>{for(let U=0;U<P.length;U++)if(!P[U].test(L))return!1;if(L.prerelease.length&&!H.includePrerelease){for(let U=0;U<P.length;U++)if(s(P[U].semver),P[U].semver!==r.ANY&&P[U].semver.prerelease.length>0){const G=P[U].semver;if(G.major===L.major&&G.minor===L.minor&&G.patch===L.patch)return!0}return!1}return!0};return jb}var zb,dk;function Jy(){if(dk)return zb;dk=1;const e=Symbol("SemVer ANY");class a{static get ANY(){return e}constructor(g,d){if(d=t(d),g instanceof a){if(g.loose===!!d.loose)return g;g=g.value}g=g.trim().split(/\s+/).join(" "),s("comparator",g,d),this.options=d,this.loose=!!d.loose,this.parse(g),this.semver===e?this.value="":this.value=this.operator+this.semver.version,s("comp",this)}parse(g){const d=this.options.loose?n[i.COMPARATORLOOSE]:n[i.COMPARATOR],c=g.match(d);if(!c)throw new TypeError(`Invalid comparator: ${g}`);this.operator=c[1]!==void 0?c[1]:"",this.operator==="="&&(this.operator=""),c[2]?this.semver=new u(c[2],this.options.loose):this.semver=e}toString(){return this.value}test(g){if(s("Comparator.test",g,this.options.loose),this.semver===e||g===e)return!0;if(typeof g=="string")try{g=new u(g,this.options)}catch{return!1}return r(g,this.operator,this.semver,this.options)}intersects(g,d){if(!(g instanceof a))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new o(g.value,d).test(this.value):g.operator===""?g.value===""?!0:new o(this.value,d).test(g.semver):(d=t(d),d.includePrerelease&&(this.value==="<0.0.0-0"||g.value==="<0.0.0-0")||!d.includePrerelease&&(this.value.startsWith("<0.0.0")||g.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&g.operator.startsWith(">")||this.operator.startsWith("<")&&g.operator.startsWith("<")||this.semver.version===g.semver.version&&this.operator.includes("=")&&g.operator.includes("=")||r(this.semver,"<",g.semver,d)&&this.operator.startsWith(">")&&g.operator.startsWith("<")||r(this.semver,">",g.semver,d)&&this.operator.startsWith("<")&&g.operator.startsWith(">")))}}zb=a;const t=o6,{safeRe:n,t:i}=Ap,r=RM,s=Qy,u=Kn,o=Pr();return zb}const Ape=Pr(),vpe=(e,a,t)=>{try{a=new Ape(a,t)}catch{return!1}return a.test(e)};var e9=vpe;const Dpe=Pr(),xpe=(e,a)=>new Dpe(e,a).set.map(t=>t.map(n=>n.value).join(" ").trim().split(" "));var Epe=xpe;const kpe=Kn,Cpe=Pr(),wpe=(e,a,t)=>{let n=null,i=null,r=null;try{r=new Cpe(a,t)}catch{return null}return e.forEach(s=>{r.test(s)&&(!n||i.compare(s)===-1)&&(n=s,i=new kpe(n,t))}),n};var _pe=wpe;const Ipe=Kn,Npe=Pr(),Lpe=(e,a,t)=>{let n=null,i=null,r=null;try{r=new Npe(a,t)}catch{return null}return e.forEach(s=>{r.test(s)&&(!n||i.compare(s)===1)&&(n=s,i=new Ipe(n,t))}),n};var Rpe=Lpe;const $b=Kn,Ppe=Pr(),ck=Zy,Mpe=(e,a)=>{e=new Ppe(e,a);let t=new $b("0.0.0");if(e.test(t)||(t=new $b("0.0.0-0"),e.test(t)))return t;t=null;for(let n=0;n<e.set.length;++n){const i=e.set[n];let r=null;i.forEach(s=>{const u=new $b(s.semver.version);switch(s.operator){case">":u.prerelease.length===0?u.patch++:u.prerelease.push(0),u.raw=u.format();case"":case">=":(!r||ck(u,r))&&(r=u);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${s.operator}`)}}),r&&(!t||ck(t,r))&&(t=r)}return t&&e.test(t)?t:null};var Ope=Mpe;const Bpe=Pr(),Fpe=(e,a)=>{try{return new Bpe(e,a).range||"*"}catch{return null}};var Upe=Fpe;const jpe=Kn,PM=Jy(),{ANY:zpe}=PM,$pe=Pr(),Kpe=e9,pk=Zy,fk=g6,Hpe=c6,qpe=d6,Vpe=(e,a,t,n)=>{e=new jpe(e,n),a=new $pe(a,n);let i,r,s,u,o;switch(t){case">":i=pk,r=Hpe,s=fk,u=">",o=">=";break;case"<":i=fk,r=qpe,s=pk,u="<",o="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(Kpe(e,a,n))return!1;for(let l=0;l<a.set.length;++l){const g=a.set[l];let d=null,c=null;if(g.forEach(p=>{p.semver===zpe&&(p=new PM(">=0.0.0")),d=d||p,c=c||p,i(p.semver,d.semver,n)?d=p:s(p.semver,c.semver,n)&&(c=p)}),d.operator===u||d.operator===o||(!c.operator||c.operator===u)&&r(e,c.semver))return!1;if(c.operator===o&&s(e,c.semver))return!1}return!0};var p6=Vpe;const Gpe=p6,Wpe=(e,a,t)=>Gpe(e,a,">",t);var Ype=Wpe;const Xpe=p6,Qpe=(e,a,t)=>Xpe(e,a,"<",t);var Zpe=Qpe;const hk=Pr(),Jpe=(e,a,t)=>(e=new hk(e,t),a=new hk(a,t),e.intersects(a,t));var efe=Jpe;const afe=e9,tfe=Rr;var nfe=(e,a,t)=>{const n=[];let i=null,r=null;const s=e.sort((g,d)=>tfe(g,d,t));for(const g of s)afe(g,a,t)?(r=g,i||(i=g)):(r&&n.push([i,r]),r=null,i=null);i&&n.push([i,null]);const u=[];for(const[g,d]of n)g===d?u.push(g):!d&&g===s[0]?u.push("*"):d?g===s[0]?u.push(`<=${d}`):u.push(`${g} - ${d}`):u.push(`>=${g}`);const o=u.join(" || "),l=typeof a.raw=="string"?a.raw:String(a);return o.length<l.length?o:a};const mk=Pr(),f6=Jy(),{ANY:Kb}=f6,$d=e9,h6=Rr,ife=(e,a,t={})=>{if(e===a)return!0;e=new mk(e,t),a=new mk(a,t);let n=!1;e:for(const i of e.set){for(const r of a.set){const s=sfe(i,r,t);if(n=n||s!==null,s)continue e}if(n)return!1}return!0},rfe=[new f6(">=0.0.0-0")],yk=[new f6(">=0.0.0")],sfe=(e,a,t)=>{if(e===a)return!0;if(e.length===1&&e[0].semver===Kb){if(a.length===1&&a[0].semver===Kb)return!0;t.includePrerelease?e=rfe:e=yk}if(a.length===1&&a[0].semver===Kb){if(t.includePrerelease)return!0;a=yk}const n=new Set;let i,r;for(const p of e)p.operator===">"||p.operator===">="?i=bk(i,p,t):p.operator==="<"||p.operator==="<="?r=Tk(r,p,t):n.add(p.semver);if(n.size>1)return null;let s;if(i&&r){if(s=h6(i.semver,r.semver,t),s>0)return null;if(s===0&&(i.operator!==">="||r.operator!=="<="))return null}for(const p of n){if(i&&!$d(p,String(i),t)||r&&!$d(p,String(r),t))return null;for(const f of a)if(!$d(p,String(f),t))return!1;return!0}let u,o,l,g,d=r&&!t.includePrerelease&&r.semver.prerelease.length?r.semver:!1,c=i&&!t.includePrerelease&&i.semver.prerelease.length?i.semver:!1;d&&d.prerelease.length===1&&r.operator==="<"&&d.prerelease[0]===0&&(d=!1);for(const p of a){if(g=g||p.operator===">"||p.operator===">=",l=l||p.operator==="<"||p.operator==="<=",i){if(c&&p.semver.prerelease&&p.semver.prerelease.length&&p.semver.major===c.major&&p.semver.minor===c.minor&&p.semver.patch===c.patch&&(c=!1),p.operator===">"||p.operator===">="){if(u=bk(i,p,t),u===p&&u!==i)return!1}else if(i.operator===">="&&!$d(i.semver,String(p),t))return!1}if(r){if(d&&p.semver.prerelease&&p.semver.prerelease.length&&p.semver.major===d.major&&p.semver.minor===d.minor&&p.semver.patch===d.patch&&(d=!1),p.operator==="<"||p.operator==="<="){if(o=Tk(r,p,t),o===p&&o!==r)return!1}else if(r.operator==="<="&&!$d(r.semver,String(p),t))return!1}if(!p.operator&&(r||i)&&s!==0)return!1}return!(i&&l&&!r&&s!==0||r&&g&&!i&&s!==0||c||d)},bk=(e,a,t)=>{if(!e)return a;const n=h6(e.semver,a.semver,t);return n>0?e:n<0||a.operator===">"&&e.operator===">="?a:e},Tk=(e,a,t)=>{if(!e)return a;const n=h6(e.semver,a.semver,t);return n<0?e:n>0||a.operator==="<"&&e.operator==="<="?a:e};var ufe=ife;const Hb=Ap,Sk=Xy,ofe=Kn,Ak=IM,lfe=Sd,gfe=mce,dfe=Tce,cfe=Ace,pfe=Dce,ffe=kce,hfe=_ce,mfe=Lce,yfe=Mce,bfe=Rr,Tfe=Uce,Sfe=$ce,Afe=l6,vfe=Vce,Dfe=Yce,xfe=Zy,Efe=g6,kfe=NM,Cfe=LM,wfe=d6,_fe=c6,Ife=RM,Nfe=bpe,Lfe=Jy(),Rfe=Pr(),Pfe=e9,Mfe=Epe,Ofe=_pe,Bfe=Rpe,Ffe=Ope,Ufe=Upe,jfe=p6,zfe=Ype,$fe=Zpe,Kfe=efe,Hfe=nfe,qfe=ufe;var Nke={parse:lfe,valid:gfe,clean:dfe,inc:cfe,diff:pfe,major:ffe,minor:hfe,patch:mfe,prerelease:yfe,compare:bfe,rcompare:Tfe,compareLoose:Sfe,compareBuild:Afe,sort:vfe,rsort:Dfe,gt:xfe,lt:Efe,eq:kfe,neq:Cfe,gte:wfe,lte:_fe,cmp:Ife,coerce:Nfe,Comparator:Lfe,Range:Rfe,satisfies:Pfe,toComparators:Mfe,maxSatisfying:Ofe,minSatisfying:Bfe,minVersion:Ffe,validRange:Ufe,outside:jfe,gtr:zfe,ltr:$fe,intersects:Kfe,simplifyRange:Hfe,subset:qfe,SemVer:ofe,re:Hb.re,src:Hb.src,tokens:Hb.t,SEMVER_SPEC_VERSION:Sk.SEMVER_SPEC_VERSION,RELEASE_TYPES:Sk.RELEASE_TYPES,compareIdentifiers:Ak.compareIdentifiers,rcompareIdentifiers:Ak.rcompareIdentifiers},Vfe=typeof Element<"u",Gfe=typeof Map=="function",Wfe=typeof Set=="function",Yfe=typeof ArrayBuffer=="function"&&!!ArrayBuffer.isView;function I2(e,a){if(e===a)return!0;if(e&&a&&typeof e=="object"&&typeof a=="object"){if(e.constructor!==a.constructor)return!1;var t,n,i;if(Array.isArray(e)){if(t=e.length,t!=a.length)return!1;for(n=t;n--!==0;)if(!I2(e[n],a[n]))return!1;return!0}var r;if(Gfe&&e instanceof Map&&a instanceof Map){if(e.size!==a.size)return!1;for(r=e.entries();!(n=r.next()).done;)if(!a.has(n.value[0]))return!1;for(r=e.entries();!(n=r.next()).done;)if(!I2(n.value[1],a.get(n.value[0])))return!1;return!0}if(Wfe&&e instanceof Set&&a instanceof Set){if(e.size!==a.size)return!1;for(r=e.entries();!(n=r.next()).done;)if(!a.has(n.value[0]))return!1;return!0}if(Yfe&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(a)){if(t=e.length,t!=a.length)return!1;for(n=t;n--!==0;)if(e[n]!==a[n])return!1;return!0}if(e.constructor===RegExp)return e.source===a.source&&e.flags===a.flags;if(e.valueOf!==Object.prototype.valueOf&&typeof e.valueOf=="function"&&typeof a.valueOf=="function")return e.valueOf()===a.valueOf();if(e.toString!==Object.prototype.toString&&typeof e.toString=="function"&&typeof a.toString=="function")return e.toString()===a.toString();if(i=Object.keys(e),t=i.length,t!==Object.keys(a).length)return!1;for(n=t;n--!==0;)if(!Object.prototype.hasOwnProperty.call(a,i[n]))return!1;if(Vfe&&e instanceof Element)return!1;for(n=t;n--!==0;)if(!((i[n]==="_owner"||i[n]==="__v"||i[n]==="__o")&&e.$$typeof)&&!I2(e[i[n]],a[i[n]]))return!1;return!0}return e!==e&&a!==a}var Xfe=function(a,t){try{return I2(a,t)}catch(n){if((n.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw n}};const Qfe=an(Xfe);var Zfe=function(e,a,t,n,i,r,s,u){if(!e){var o;if(a===void 0)o=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var l=[t,n,i,r,s,u],g=0;o=new Error(a.replace(/%s/g,function(){return l[g++]})),o.name="Invariant Violation"}throw o.framesToPop=1,o}},Jfe=Zfe;const vk=an(Jfe);var e2e=function(a,t,n,i){var r=n?n.call(i,a,t):void 0;if(r!==void 0)return!!r;if(a===t)return!0;if(typeof a!="object"||!a||typeof t!="object"||!t)return!1;var s=Object.keys(a),u=Object.keys(t);if(s.length!==u.length)return!1;for(var o=Object.prototype.hasOwnProperty.bind(t),l=0;l<s.length;l++){var g=s[l];if(!o(g))return!1;var d=a[g],c=t[g];if(r=n?n.call(i,d,c,g):void 0,r===!1||r===void 0&&d!==c)return!1}return!0};const a2e=an(e2e);var MM=(e=>(e.BASE="base",e.BODY="body",e.HEAD="head",e.HTML="html",e.LINK="link",e.META="meta",e.NOSCRIPT="noscript",e.SCRIPT="script",e.STYLE="style",e.TITLE="title",e.FRAGMENT="Symbol(react.fragment)",e))(MM||{}),qb={link:{rel:["amphtml","canonical","alternate"]},script:{type:["application/ld+json"]},meta:{charset:"",name:["generator","robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]}},Dk=Object.values(MM),m6={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},t2e=Object.entries(m6).reduce((e,[a,t])=>(e[t]=a,e),{}),xr="data-rh",Ag={DEFAULT_TITLE:"defaultTitle",DEFER:"defer",ENCODE_SPECIAL_CHARACTERS:"encodeSpecialCharacters",ON_CHANGE_CLIENT_STATE:"onChangeClientState",TITLE_TEMPLATE:"titleTemplate",PRIORITIZE_SEO_TAGS:"prioritizeSeoTags"},vg=(e,a)=>{for(let t=e.length-1;t>=0;t-=1){const n=e[t];if(Object.prototype.hasOwnProperty.call(n,a))return n[a]}return null},n2e=e=>{let a=vg(e,"title");const t=vg(e,Ag.TITLE_TEMPLATE);if(Array.isArray(a)&&(a=a.join("")),t&&a)return t.replace(/%s/g,()=>a);const n=vg(e,Ag.DEFAULT_TITLE);return a||n||void 0},i2e=e=>vg(e,Ag.ON_CHANGE_CLIENT_STATE)||(()=>{}),Vb=(e,a)=>a.filter(t=>typeof t[e]<"u").map(t=>t[e]).reduce((t,n)=>({...t,...n}),{}),r2e=(e,a)=>a.filter(t=>typeof t.base<"u").map(t=>t.base).reverse().reduce((t,n)=>{if(!t.length){const i=Object.keys(n);for(let r=0;r<i.length;r+=1){const u=i[r].toLowerCase();if(e.indexOf(u)!==-1&&n[u])return t.concat(n)}}return t},[]),s2e=e=>console&&typeof console.warn=="function"&&console.warn(e),Kd=(e,a,t)=>{const n={};return t.filter(i=>Array.isArray(i[e])?!0:(typeof i[e]<"u"&&s2e(`Helmet: ${e} should be of type "Array". Instead found type "${typeof i[e]}"`),!1)).map(i=>i[e]).reverse().reduce((i,r)=>{const s={};r.filter(o=>{let l;const g=Object.keys(o);for(let c=0;c<g.length;c+=1){const p=g[c],f=p.toLowerCase();a.indexOf(f)!==-1&&!(l==="rel"&&o[l].toLowerCase()==="canonical")&&!(f==="rel"&&o[f].toLowerCase()==="stylesheet")&&(l=f),a.indexOf(p)!==-1&&(p==="innerHTML"||p==="cssText"||p==="itemprop")&&(l=p)}if(!l||!o[l])return!1;const d=o[l].toLowerCase();return n[l]||(n[l]={}),s[l]||(s[l]={}),n[l][d]?!1:(s[l][d]=!0,!0)}).reverse().forEach(o=>i.push(o));const u=Object.keys(s);for(let o=0;o<u.length;o+=1){const l=u[o],g={...n[l],...s[l]};n[l]=g}return i},[]).reverse()},u2e=(e,a)=>{if(Array.isArray(e)&&e.length){for(let t=0;t<e.length;t+=1)if(e[t][a])return!0}return!1},o2e=e=>({baseTag:r2e(["href"],e),bodyAttributes:Vb("bodyAttributes",e),defer:vg(e,Ag.DEFER),encode:vg(e,Ag.ENCODE_SPECIAL_CHARACTERS),htmlAttributes:Vb("htmlAttributes",e),linkTags:Kd("link",["rel","href"],e),metaTags:Kd("meta",["name","charset","http-equiv","property","itemprop"],e),noscriptTags:Kd("noscript",["innerHTML"],e),onChangeClientState:i2e(e),scriptTags:Kd("script",["src","innerHTML"],e),styleTags:Kd("style",["cssText"],e),title:n2e(e),titleAttributes:Vb("titleAttributes",e),prioritizeSeoTags:u2e(e,Ag.PRIORITIZE_SEO_TAGS)}),OM=e=>Array.isArray(e)?e.join(""):e,l2e=(e,a)=>{const t=Object.keys(e);for(let n=0;n<t.length;n+=1)if(a[t[n]]&&a[t[n]].includes(e[t[n]]))return!0;return!1},Gb=(e,a)=>Array.isArray(e)?e.reduce((t,n)=>(l2e(n,a)?t.priority.push(n):t.default.push(n),t),{priority:[],default:[]}):{default:e,priority:[]},xk=(e,a)=>({...e,[a]:void 0}),g2e=["noscript","script","style"],DA=(e,a=!0)=>a===!1?String(e):String(e).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;"),BM=e=>Object.keys(e).reduce((a,t)=>{const n=typeof e[t]<"u"?`${t}="${e[t]}"`:`${t}`;return a?`${a} ${n}`:n},""),d2e=(e,a,t,n)=>{const i=BM(t),r=OM(a);return i?`<${e} ${xr}="true" ${i}>${DA(r,n)}</${e}>`:`<${e} ${xr}="true">${DA(r,n)}</${e}>`},c2e=(e,a,t=!0)=>a.reduce((n,i)=>{const r=i,s=Object.keys(r).filter(l=>!(l==="innerHTML"||l==="cssText")).reduce((l,g)=>{const d=typeof r[g]>"u"?g:`${g}="${DA(r[g],t)}"`;return l?`${l} ${d}`:d},""),u=r.innerHTML||r.cssText||"",o=g2e.indexOf(e)===-1;return`${n}<${e} ${xr}="true" ${s}${o?"/>":`>${u}</${e}>`}`},""),FM=(e,a={})=>Object.keys(e).reduce((t,n)=>{const i=m6[n];return t[i||n]=e[n],t},a),p2e=(e,a,t)=>{const n={key:a,[xr]:!0},i=FM(t,n);return[Va.createElement("title",i,a)]},N2=(e,a)=>a.map((t,n)=>{const i={key:n,[xr]:!0};return Object.keys(t).forEach(r=>{const u=m6[r]||r;if(u==="innerHTML"||u==="cssText"){const o=t.innerHTML||t.cssText;i.dangerouslySetInnerHTML={__html:o}}else i[u]=t[r]}),Va.createElement(e,i)}),$i=(e,a,t=!0)=>{switch(e){case"title":return{toComponent:()=>p2e(e,a.title,a.titleAttributes),toString:()=>d2e(e,a.title,a.titleAttributes,t)};case"bodyAttributes":case"htmlAttributes":return{toComponent:()=>FM(a),toString:()=>BM(a)};default:return{toComponent:()=>N2(e,a),toString:()=>c2e(e,a,t)}}},f2e=({metaTags:e,linkTags:a,scriptTags:t,encode:n})=>{const i=Gb(e,qb.meta),r=Gb(a,qb.link),s=Gb(t,qb.script);return{priorityMethods:{toComponent:()=>[...N2("meta",i.priority),...N2("link",r.priority),...N2("script",s.priority)],toString:()=>`${$i("meta",i.priority,n)} ${$i("link",r.priority,n)} ${$i("script",s.priority,n)}`},metaTags:i.default,linkTags:r.default,scriptTags:s.default}},h2e=e=>{const{baseTag:a,bodyAttributes:t,encode:n=!0,htmlAttributes:i,noscriptTags:r,styleTags:s,title:u="",titleAttributes:o,prioritizeSeoTags:l}=e;let{linkTags:g,metaTags:d,scriptTags:c}=e,p={toComponent:()=>{},toString:()=>""};return l&&({priorityMethods:p,linkTags:g,metaTags:d,scriptTags:c}=f2e(e)),{priority:p,base:$i("base",a,n),bodyAttributes:$i("bodyAttributes",t,n),htmlAttributes:$i("htmlAttributes",i,n),link:$i("link",g,n),meta:$i("meta",d,n),noscript:$i("noscript",r,n),script:$i("script",c,n),style:$i("style",s,n),title:$i("title",{title:u,titleAttributes:o},n)}},xA=h2e,Df=[],UM=!!(typeof window<"u"&&window.document&&window.document.createElement),EA=class{constructor(e,a){Mr(this,"instances",[]);Mr(this,"canUseDOM",UM);Mr(this,"context");Mr(this,"value",{setHelmet:e=>{this.context.helmet=e},helmetInstances:{get:()=>this.canUseDOM?Df:this.instances,add:e=>{(this.canUseDOM?Df:this.instances).push(e)},remove:e=>{const a=(this.canUseDOM?Df:this.instances).indexOf(e);(this.canUseDOM?Df:this.instances).splice(a,1)}}});this.context=e,this.canUseDOM=a||!1,a||(e.helmet=xA({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))}},m2e={},jM=Va.createContext(m2e),Ko,y2e=(Ko=class extends X.Component{constructor(t){super(t);Mr(this,"helmetData");this.helmetData=new EA(this.props.context||{},Ko.canUseDOM)}render(){return Va.createElement(jM.Provider,{value:this.helmetData.value},this.props.children)}},Mr(Ko,"canUseDOM",UM),Ko),Nl=(e,a)=>{const t=document.head||document.querySelector("head"),n=t.querySelectorAll(`${e}[${xr}]`),i=[].slice.call(n),r=[];let s;return a&&a.length&&a.forEach(u=>{const o=document.createElement(e);for(const l in u)if(Object.prototype.hasOwnProperty.call(u,l))if(l==="innerHTML")o.innerHTML=u.innerHTML;else if(l==="cssText")o.styleSheet?o.styleSheet.cssText=u.cssText:o.appendChild(document.createTextNode(u.cssText));else{const g=l,d=typeof u[g]>"u"?"":u[g];o.setAttribute(l,d)}o.setAttribute(xr,"true"),i.some((l,g)=>(s=g,o.isEqualNode(l)))?i.splice(s,1):r.push(o)}),i.forEach(u=>{var o;return(o=u.parentNode)==null?void 0:o.removeChild(u)}),r.forEach(u=>t.appendChild(u)),{oldTags:i,newTags:r}},kA=(e,a)=>{const t=document.getElementsByTagName(e)[0];if(!t)return;const n=t.getAttribute(xr),i=n?n.split(","):[],r=[...i],s=Object.keys(a);for(const u of s){const o=a[u]||"";t.getAttribute(u)!==o&&t.setAttribute(u,o),i.indexOf(u)===-1&&i.push(u);const l=r.indexOf(u);l!==-1&&r.splice(l,1)}for(let u=r.length-1;u>=0;u-=1)t.removeAttribute(r[u]);i.length===r.length?t.removeAttribute(xr):t.getAttribute(xr)!==s.join(",")&&t.setAttribute(xr,s.join(","))},b2e=(e,a)=>{typeof e<"u"&&document.title!==e&&(document.title=OM(e)),kA("title",a)},Ek=(e,a)=>{const{baseTag:t,bodyAttributes:n,htmlAttributes:i,linkTags:r,metaTags:s,noscriptTags:u,onChangeClientState:o,scriptTags:l,styleTags:g,title:d,titleAttributes:c}=e;kA("body",n),kA("html",i),b2e(d,c);const p={baseTag:Nl("base",t),linkTags:Nl("link",r),metaTags:Nl("meta",s),noscriptTags:Nl("noscript",u),scriptTags:Nl("script",l),styleTags:Nl("style",g)},f={},h={};Object.keys(p).forEach(y=>{const{newTags:b,oldTags:m}=p[y];b.length&&(f[y]=b),m.length&&(h[y]=p[y].oldTags)}),a&&a(),o(e,f,h)},Hd=null,T2e=e=>{Hd&&cancelAnimationFrame(Hd),e.defer?Hd=requestAnimationFrame(()=>{Ek(e,()=>{Hd=null})}):(Ek(e),Hd=null)},S2e=T2e,kk=class extends X.Component{constructor(){super(...arguments);Mr(this,"rendered",!1)}shouldComponentUpdate(a){return!a2e(a,this.props)}componentDidUpdate(){this.emitChange()}componentWillUnmount(){const{helmetInstances:a}=this.props.context;a.remove(this),this.emitChange()}emitChange(){const{helmetInstances:a,setHelmet:t}=this.props.context;let n=null;const i=o2e(a.get().map(r=>{const s={...r.props};return delete s.context,s}));y2e.canUseDOM?S2e(i):xA&&(n=xA(i)),t(n)}init(){if(this.rendered)return;this.rendered=!0;const{helmetInstances:a}=this.props.context;a.add(this),this.emitChange()}render(){return this.init(),null}},bS,Lke=(bS=class extends X.Component{shouldComponentUpdate(e){return!Qfe(xk(this.props,"helmetData"),xk(e,"helmetData"))}mapNestedChildrenToProps(e,a){if(!a)return null;switch(e.type){case"script":case"noscript":return{innerHTML:a};case"style":return{cssText:a};default:throw new Error(`<${e.type} /> elements are self-closing and can not contain children. Refer to our API for more information.`)}}flattenArrayTypeChildren(e,a,t,n){return{...a,[e.type]:[...a[e.type]||[],{...t,...this.mapNestedChildrenToProps(e,n)}]}}mapObjectTypeChildren(e,a,t,n){switch(e.type){case"title":return{...a,[e.type]:n,titleAttributes:{...t}};case"body":return{...a,bodyAttributes:{...t}};case"html":return{...a,htmlAttributes:{...t}};default:return{...a,[e.type]:{...t}}}}mapArrayTypeChildrenToProps(e,a){let t={...a};return Object.keys(e).forEach(n=>{t={...t,[n]:e[n]}}),t}warnOnInvalidChildren(e,a){return vk(Dk.some(t=>e.type===t),typeof e.type=="function"?"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.":`Only elements types ${Dk.join(", ")} are allowed. Helmet does not support rendering <${e.type}> elements. Refer to our API for more information.`),vk(!a||typeof a=="string"||Array.isArray(a)&&!a.some(t=>typeof t!="string"),`Helmet expects a string as a child of <${e.type}>. Did you forget to wrap your children in braces? ( <${e.type}>{\`\`}</${e.type}> ) Refer to our API for more information.`),!0}mapChildrenToProps(e,a){let t={};return Va.Children.forEach(e,n=>{if(!n||!n.props)return;const{children:i,...r}=n.props,s=Object.keys(r).reduce((o,l)=>(o[t2e[l]||l]=r[l],o),{});let{type:u}=n;switch(typeof u=="symbol"?u=u.toString():this.warnOnInvalidChildren(n,i),u){case"Symbol(react.fragment)":a=this.mapChildrenToProps(i,a);break;case"link":case"meta":case"noscript":case"script":case"style":t=this.flattenArrayTypeChildren(n,t,s,i);break;default:a=this.mapObjectTypeChildren(n,a,s,i);break}}),this.mapArrayTypeChildrenToProps(t,a)}render(){const{children:e,...a}=this.props;let t={...a},{helmetData:n}=a;if(e&&(t=this.mapChildrenToProps(e,t)),n&&!(n instanceof EA)){const i=n;n=new EA(i.context,!0),delete t.helmetData}return n?Va.createElement(kk,{...t,context:n.value}):Va.createElement(jM.Consumer,null,i=>Va.createElement(kk,{...t,context:i}))}},Mr(bS,"defaultProps",{defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1}),bS);const A2e={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,a){console&&console[e]&&console[e].apply(console,a)}};class Vh{constructor(a){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.init(a,t)}init(a){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=t.prefix||"i18next:",this.logger=a||A2e,this.options=t,this.debug=t.debug}log(){for(var a=arguments.length,t=new Array(a),n=0;n<a;n++)t[n]=arguments[n];return this.forward(t,"log","",!0)}warn(){for(var a=arguments.length,t=new Array(a),n=0;n<a;n++)t[n]=arguments[n];return this.forward(t,"warn","",!0)}error(){for(var a=arguments.length,t=new Array(a),n=0;n<a;n++)t[n]=arguments[n];return this.forward(t,"error","")}deprecate(){for(var a=arguments.length,t=new Array(a),n=0;n<a;n++)t[n]=arguments[n];return this.forward(t,"warn","WARNING DEPRECATED: ",!0)}forward(a,t,n,i){return i&&!this.debug?null:(typeof a[0]=="string"&&(a[0]=`${n}${this.prefix} ${a[0]}`),this.logger[t](a))}create(a){return new Vh(this.logger,{prefix:`${this.prefix}:${a}:`,...this.options})}clone(a){return a=a||this.options,a.prefix=a.prefix||this.prefix,new Vh(this.logger,a)}}var ns=new Vh;let a9=class{constructor(){this.observers={}}on(a,t){return a.split(" ").forEach(n=>{this.observers[n]||(this.observers[n]=new Map);const i=this.observers[n].get(t)||0;this.observers[n].set(t,i+1)}),this}off(a,t){if(this.observers[a]){if(!t){delete this.observers[a];return}this.observers[a].delete(t)}}emit(a){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];this.observers[a]&&Array.from(this.observers[a].entries()).forEach(s=>{let[u,o]=s;for(let l=0;l<o;l++)u(...n)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(s=>{let[u,o]=s;for(let l=0;l<o;l++)u.apply(u,[a,...n])})}};const qd=()=>{let e,a;const t=new Promise((n,i)=>{e=n,a=i});return t.resolve=e,t.reject=a,t},Ck=e=>e==null?"":""+e,v2e=(e,a,t)=>{e.forEach(n=>{a[n]&&(t[n]=a[n])})},D2e=/###/g,wk=e=>e&&e.indexOf("###")>-1?e.replace(D2e,"."):e,_k=e=>!e||typeof e=="string",j0=(e,a,t)=>{const n=typeof a!="string"?a:a.split(".");let i=0;for(;i<n.length-1;){if(_k(e))return{};const r=wk(n[i]);!e[r]&&t&&(e[r]=new t),Object.prototype.hasOwnProperty.call(e,r)?e=e[r]:e={},++i}return _k(e)?{}:{obj:e,k:wk(n[i])}},Ik=(e,a,t)=>{const{obj:n,k:i}=j0(e,a,Object);if(n!==void 0||a.length===1){n[i]=t;return}let r=a[a.length-1],s=a.slice(0,a.length-1),u=j0(e,s,Object);for(;u.obj===void 0&&s.length;)r=`${s[s.length-1]}.${r}`,s=s.slice(0,s.length-1),u=j0(e,s,Object),u&&u.obj&&typeof u.obj[`${u.k}.${r}`]<"u"&&(u.obj=void 0);u.obj[`${u.k}.${r}`]=t},x2e=(e,a,t,n)=>{const{obj:i,k:r}=j0(e,a,Object);i[r]=i[r]||[],i[r].push(t)},Gh=(e,a)=>{const{obj:t,k:n}=j0(e,a);if(t)return t[n]},E2e=(e,a,t)=>{const n=Gh(e,t);return n!==void 0?n:Gh(a,t)},zM=(e,a,t)=>{for(const n in a)n!=="__proto__"&&n!=="constructor"&&(n in e?typeof e[n]=="string"||e[n]instanceof String||typeof a[n]=="string"||a[n]instanceof String?t&&(e[n]=a[n]):zM(e[n],a[n],t):e[n]=a[n]);return e},Ll=e=>e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var k2e={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};const C2e=e=>typeof e=="string"?e.replace(/[&<>"'\/]/g,a=>k2e[a]):e;class w2e{constructor(a){this.capacity=a,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(a){const t=this.regExpMap.get(a);if(t!==void 0)return t;const n=new RegExp(a);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(a,n),this.regExpQueue.push(a),n}}const _2e=[" ",",","?","!",";"],I2e=new w2e(20),N2e=(e,a,t)=>{a=a||"",t=t||"";const n=_2e.filter(s=>a.indexOf(s)<0&&t.indexOf(s)<0);if(n.length===0)return!0;const i=I2e.getRegExp(`(${n.map(s=>s==="?"?"\\?":s).join("|")})`);let r=!i.test(e);if(!r){const s=e.indexOf(t);s>0&&!i.test(e.substring(0,s))&&(r=!0)}return r},CA=function(e,a){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(!e)return;if(e[a])return e[a];const n=a.split(t);let i=e;for(let r=0;r<n.length;){if(!i||typeof i!="object")return;let s,u="";for(let o=r;o<n.length;++o)if(o!==r&&(u+=t),u+=n[o],s=i[u],s!==void 0){if(["string","number","boolean"].indexOf(typeof s)>-1&&o<n.length-1)continue;r+=o-r+1;break}i=s}return i},Wh=e=>e&&e.indexOf("_")>0?e.replace("_","-"):e;class Nk extends a9{constructor(a){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=a||{},this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(a){this.options.ns.indexOf(a)<0&&this.options.ns.push(a)}removeNamespaces(a){const t=this.options.ns.indexOf(a);t>-1&&this.options.ns.splice(t,1)}getResource(a,t,n){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const r=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,s=i.ignoreJSONStructure!==void 0?i.ignoreJSONStructure:this.options.ignoreJSONStructure;let u;a.indexOf(".")>-1?u=a.split("."):(u=[a,t],n&&(Array.isArray(n)?u.push(...n):typeof n=="string"&&r?u.push(...n.split(r)):u.push(n)));const o=Gh(this.data,u);return!o&&!t&&!n&&a.indexOf(".")>-1&&(a=u[0],t=u[1],n=u.slice(2).join(".")),o||!s||typeof n!="string"?o:CA(this.data&&this.data[a]&&this.data[a][t],n,r)}addResource(a,t,n,i){let r=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1};const s=r.keySeparator!==void 0?r.keySeparator:this.options.keySeparator;let u=[a,t];n&&(u=u.concat(s?n.split(s):n)),a.indexOf(".")>-1&&(u=a.split("."),i=t,t=u[1]),this.addNamespaces(t),Ik(this.data,u,i),r.silent||this.emit("added",a,t,n,i)}addResources(a,t,n){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(const r in n)(typeof n[r]=="string"||Array.isArray(n[r]))&&this.addResource(a,t,r,n[r],{silent:!0});i.silent||this.emit("added",a,t,n)}addResourceBundle(a,t,n,i,r){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1,skipCopy:!1},u=[a,t];a.indexOf(".")>-1&&(u=a.split("."),i=n,n=t,t=u[1]),this.addNamespaces(t);let o=Gh(this.data,u)||{};s.skipCopy||(n=JSON.parse(JSON.stringify(n))),i?zM(o,n,r):o={...o,...n},Ik(this.data,u,o),s.silent||this.emit("added",a,t,n)}removeResourceBundle(a,t){this.hasResourceBundle(a,t)&&delete this.data[a][t],this.removeNamespaces(t),this.emit("removed",a,t)}hasResourceBundle(a,t){return this.getResource(a,t)!==void 0}getResourceBundle(a,t){return t||(t=this.options.defaultNS),this.options.compatibilityAPI==="v1"?{...this.getResource(a,t)}:this.getResource(a,t)}getDataByLanguage(a){return this.data[a]}hasLanguageSomeTranslations(a){const t=this.getDataByLanguage(a);return!!(t&&Object.keys(t)||[]).find(i=>t[i]&&Object.keys(t[i]).length>0)}toJSON(){return this.data}}var $M={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,a,t,n,i){return e.forEach(r=>{this.processors[r]&&(a=this.processors[r].process(a,t,n,i))}),a}};const Lk={};class Yh extends a9{constructor(a){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),v2e(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],a,this),this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=ns.create("translator")}changeLanguage(a){a&&(this.language=a)}exists(a){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(a==null)return!1;const n=this.resolve(a,t);return n&&n.res!==void 0}extractFromKey(a,t){let n=t.nsSeparator!==void 0?t.nsSeparator:this.options.nsSeparator;n===void 0&&(n=":");const i=t.keySeparator!==void 0?t.keySeparator:this.options.keySeparator;let r=t.ns||this.options.defaultNS||[];const s=n&&a.indexOf(n)>-1,u=!this.options.userDefinedKeySeparator&&!t.keySeparator&&!this.options.userDefinedNsSeparator&&!t.nsSeparator&&!N2e(a,n,i);if(s&&!u){const o=a.match(this.interpolator.nestingRegexp);if(o&&o.length>0)return{key:a,namespaces:r};const l=a.split(n);(n!==i||n===i&&this.options.ns.indexOf(l[0])>-1)&&(r=l.shift()),a=l.join(i)}return typeof r=="string"&&(r=[r]),{key:a,namespaces:r}}translate(a,t,n){if(typeof t!="object"&&this.options.overloadTranslationOptionHandler&&(t=this.options.overloadTranslationOptionHandler(arguments)),typeof t=="object"&&(t={...t}),t||(t={}),a==null)return"";Array.isArray(a)||(a=[String(a)]);const i=t.returnDetails!==void 0?t.returnDetails:this.options.returnDetails,r=t.keySeparator!==void 0?t.keySeparator:this.options.keySeparator,{key:s,namespaces:u}=this.extractFromKey(a[a.length-1],t),o=u[u.length-1],l=t.lng||this.language,g=t.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(l&&l.toLowerCase()==="cimode"){if(g){const A=t.nsSeparator||this.options.nsSeparator;return i?{res:`${o}${A}${s}`,usedKey:s,exactUsedKey:s,usedLng:l,usedNS:o,usedParams:this.getUsedParamsDetails(t)}:`${o}${A}${s}`}return i?{res:s,usedKey:s,exactUsedKey:s,usedLng:l,usedNS:o,usedParams:this.getUsedParamsDetails(t)}:s}const d=this.resolve(a,t);let c=d&&d.res;const p=d&&d.usedKey||s,f=d&&d.exactUsedKey||s,h=Object.prototype.toString.apply(c),y=["[object Number]","[object Function]","[object RegExp]"],b=t.joinArrays!==void 0?t.joinArrays:this.options.joinArrays,m=!this.i18nFormat||this.i18nFormat.handleAsObject;if(m&&c&&(typeof c!="string"&&typeof c!="boolean"&&typeof c!="number")&&y.indexOf(h)<0&&!(typeof b=="string"&&Array.isArray(c))){if(!t.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const A=this.options.returnedObjectHandler?this.options.returnedObjectHandler(p,c,{...t,ns:u}):`key '${s} (${this.language})' returned an object instead of string.`;return i?(d.res=A,d.usedParams=this.getUsedParamsDetails(t),d):A}if(r){const A=Array.isArray(c),v=A?[]:{},D=A?f:p;for(const k in c)if(Object.prototype.hasOwnProperty.call(c,k)){const N=`${D}${r}${k}`;v[k]=this.translate(N,{...t,joinArrays:!1,ns:u}),v[k]===N&&(v[k]=c[k])}c=v}}else if(m&&typeof b=="string"&&Array.isArray(c))c=c.join(b),c&&(c=this.extendTranslation(c,a,t,n));else{let A=!1,v=!1;const D=t.count!==void 0&&typeof t.count!="string",k=Yh.hasDefaultValue(t),N=D?this.pluralResolver.getSuffix(l,t.count,t):"",q=t.ordinal&&D?this.pluralResolver.getSuffix(l,t.count,{ordinal:!1}):"",R=D&&!t.ordinal&&t.count===0&&this.pluralResolver.shouldUseIntlApi(),z=R&&t[`defaultValue${this.options.pluralSeparator}zero`]||t[`defaultValue${N}`]||t[`defaultValue${q}`]||t.defaultValue;!this.isValidLookup(c)&&k&&(A=!0,c=z),this.isValidLookup(c)||(v=!0,c=s);const K=(t.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&v?void 0:c,P=k&&z!==c&&this.options.updateMissing;if(v||A||P){if(this.logger.log(P?"updateKey":"missingKey",l,o,s,P?z:c),r){const G=this.resolve(s,{...t,keySeparator:!1});G&&G.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let L=[];const H=this.languageUtils.getFallbackCodes(this.options.fallbackLng,t.lng||this.language);if(this.options.saveMissingTo==="fallback"&&H&&H[0])for(let G=0;G<H.length;G++)L.push(H[G]);else this.options.saveMissingTo==="all"?L=this.languageUtils.toResolveHierarchy(t.lng||this.language):L.push(t.lng||this.language);const U=(G,E,x)=>{const _=k&&x!==c?x:K;this.options.missingKeyHandler?this.options.missingKeyHandler(G,o,E,_,P,t):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(G,o,E,_,P,t),this.emit("missingKey",G,o,E,c)};this.options.saveMissing&&(this.options.saveMissingPlurals&&D?L.forEach(G=>{const E=this.pluralResolver.getSuffixes(G,t);R&&t[`defaultValue${this.options.pluralSeparator}zero`]&&E.indexOf(`${this.options.pluralSeparator}zero`)<0&&E.push(`${this.options.pluralSeparator}zero`),E.forEach(x=>{U([G],s+x,t[`defaultValue${x}`]||z)})}):U(L,s,z))}c=this.extendTranslation(c,a,t,d,n),v&&c===s&&this.options.appendNamespaceToMissingKey&&(c=`${o}:${s}`),(v||A)&&this.options.parseMissingKeyHandler&&(this.options.compatibilityAPI!=="v1"?c=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${o}:${s}`:s,A?c:void 0):c=this.options.parseMissingKeyHandler(c))}return i?(d.res=c,d.usedParams=this.getUsedParamsDetails(t),d):c}extendTranslation(a,t,n,i,r){var s=this;if(this.i18nFormat&&this.i18nFormat.parse)a=this.i18nFormat.parse(a,{...this.options.interpolation.defaultVariables,...n},n.lng||this.language||i.usedLng,i.usedNS,i.usedKey,{resolved:i});else if(!n.skipInterpolation){n.interpolation&&this.interpolator.init({...n,interpolation:{...this.options.interpolation,...n.interpolation}});const l=typeof a=="string"&&(n&&n.interpolation&&n.interpolation.skipOnVariables!==void 0?n.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let g;if(l){const c=a.match(this.interpolator.nestingRegexp);g=c&&c.length}let d=n.replace&&typeof n.replace!="string"?n.replace:n;if(this.options.interpolation.defaultVariables&&(d={...this.options.interpolation.defaultVariables,...d}),a=this.interpolator.interpolate(a,d,n.lng||this.language||i.usedLng,n),l){const c=a.match(this.interpolator.nestingRegexp),p=c&&c.length;g<p&&(n.nest=!1)}!n.lng&&this.options.compatibilityAPI!=="v1"&&i&&i.res&&(n.lng=this.language||i.usedLng),n.nest!==!1&&(a=this.interpolator.nest(a,function(){for(var c=arguments.length,p=new Array(c),f=0;f<c;f++)p[f]=arguments[f];return r&&r[0]===p[0]&&!n.context?(s.logger.warn(`It seems you are nesting recursively key: ${p[0]} in key: ${t[0]}`),null):s.translate(...p,t)},n)),n.interpolation&&this.interpolator.reset()}const u=n.postProcess||this.options.postProcess,o=typeof u=="string"?[u]:u;return a!=null&&o&&o.length&&n.applyPostProcessor!==!1&&(a=$M.handle(o,a,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...i,usedParams:this.getUsedParamsDetails(n)},...n}:n,this)),a}resolve(a){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n,i,r,s,u;return typeof a=="string"&&(a=[a]),a.forEach(o=>{if(this.isValidLookup(n))return;const l=this.extractFromKey(o,t),g=l.key;i=g;let d=l.namespaces;this.options.fallbackNS&&(d=d.concat(this.options.fallbackNS));const c=t.count!==void 0&&typeof t.count!="string",p=c&&!t.ordinal&&t.count===0&&this.pluralResolver.shouldUseIntlApi(),f=t.context!==void 0&&(typeof t.context=="string"||typeof t.context=="number")&&t.context!=="",h=t.lngs?t.lngs:this.languageUtils.toResolveHierarchy(t.lng||this.language,t.fallbackLng);d.forEach(y=>{this.isValidLookup(n)||(u=y,!Lk[`${h[0]}-${y}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(u)&&(Lk[`${h[0]}-${y}`]=!0,this.logger.warn(`key "${i}" for languages "${h.join(", ")}" won't get resolved as namespace "${u}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),h.forEach(b=>{if(this.isValidLookup(n))return;s=b;const m=[g];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(m,g,b,y,t);else{let A;c&&(A=this.pluralResolver.getSuffix(b,t.count,t));const v=`${this.options.pluralSeparator}zero`,D=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(c&&(m.push(g+A),t.ordinal&&A.indexOf(D)===0&&m.push(g+A.replace(D,this.options.pluralSeparator)),p&&m.push(g+v)),f){const k=`${g}${this.options.contextSeparator}${t.context}`;m.push(k),c&&(m.push(k+A),t.ordinal&&A.indexOf(D)===0&&m.push(k+A.replace(D,this.options.pluralSeparator)),p&&m.push(k+v))}}let T;for(;T=m.pop();)this.isValidLookup(n)||(r=T,n=this.getResource(b,y,T,t))}))})}),{res:n,usedKey:i,exactUsedKey:r,usedLng:s,usedNS:u}}isValidLookup(a){return a!==void 0&&!(!this.options.returnNull&&a===null)&&!(!this.options.returnEmptyString&&a==="")}getResource(a,t,n){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(a,t,n,i):this.resourceStore.getResource(a,t,n,i)}getUsedParamsDetails(){let a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const t=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],n=a.replace&&typeof a.replace!="string";let i=n?a.replace:a;if(n&&typeof a.count<"u"&&(i.count=a.count),this.options.interpolation.defaultVariables&&(i={...this.options.interpolation.defaultVariables,...i}),!n){i={...i};for(const r of t)delete i[r]}return i}static hasDefaultValue(a){const t="defaultValue";for(const n in a)if(Object.prototype.hasOwnProperty.call(a,n)&&t===n.substring(0,t.length)&&a[n]!==void 0)return!0;return!1}}const Wb=e=>e.charAt(0).toUpperCase()+e.slice(1);class Rk{constructor(a){this.options=a,this.supportedLngs=this.options.supportedLngs||!1,this.logger=ns.create("languageUtils")}getScriptPartFromCode(a){if(a=Wh(a),!a||a.indexOf("-")<0)return null;const t=a.split("-");return t.length===2||(t.pop(),t[t.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(t.join("-"))}getLanguagePartFromCode(a){if(a=Wh(a),!a||a.indexOf("-")<0)return a;const t=a.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(a){if(typeof a=="string"&&a.indexOf("-")>-1){const t=["hans","hant","latn","cyrl","cans","mong","arab"];let n=a.split("-");return this.options.lowerCaseLng?n=n.map(i=>i.toLowerCase()):n.length===2?(n[0]=n[0].toLowerCase(),n[1]=n[1].toUpperCase(),t.indexOf(n[1].toLowerCase())>-1&&(n[1]=Wb(n[1].toLowerCase()))):n.length===3&&(n[0]=n[0].toLowerCase(),n[1].length===2&&(n[1]=n[1].toUpperCase()),n[0]!=="sgn"&&n[2].length===2&&(n[2]=n[2].toUpperCase()),t.indexOf(n[1].toLowerCase())>-1&&(n[1]=Wb(n[1].toLowerCase())),t.indexOf(n[2].toLowerCase())>-1&&(n[2]=Wb(n[2].toLowerCase()))),n.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?a.toLowerCase():a}isSupportedCode(a){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(a=this.getLanguagePartFromCode(a)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(a)>-1}getBestMatchFromCodes(a){if(!a)return null;let t;return a.forEach(n=>{if(t)return;const i=this.formatLanguageCode(n);(!this.options.supportedLngs||this.isSupportedCode(i))&&(t=i)}),!t&&this.options.supportedLngs&&a.forEach(n=>{if(t)return;const i=this.getLanguagePartFromCode(n);if(this.isSupportedCode(i))return t=i;t=this.options.supportedLngs.find(r=>{if(r===i)return r;if(!(r.indexOf("-")<0&&i.indexOf("-")<0)&&(r.indexOf("-")>0&&i.indexOf("-")<0&&r.substring(0,r.indexOf("-"))===i||r.indexOf(i)===0&&i.length>1))return r})}),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t}getFallbackCodes(a,t){if(!a)return[];if(typeof a=="function"&&(a=a(t)),typeof a=="string"&&(a=[a]),Array.isArray(a))return a;if(!t)return a.default||[];let n=a[t];return n||(n=a[this.getScriptPartFromCode(t)]),n||(n=a[this.formatLanguageCode(t)]),n||(n=a[this.getLanguagePartFromCode(t)]),n||(n=a.default),n||[]}toResolveHierarchy(a,t){const n=this.getFallbackCodes(t||this.options.fallbackLng||[],a),i=[],r=s=>{s&&(this.isSupportedCode(s)?i.push(s):this.logger.warn(`rejecting language code not found in supportedLngs: ${s}`))};return typeof a=="string"&&(a.indexOf("-")>-1||a.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&r(this.formatLanguageCode(a)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&r(this.getScriptPartFromCode(a)),this.options.load!=="currentOnly"&&r(this.getLanguagePartFromCode(a))):typeof a=="string"&&r(this.formatLanguageCode(a)),n.forEach(s=>{i.indexOf(s)<0&&r(this.formatLanguageCode(s))}),i}}let L2e=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],R2e={1:e=>+(e>1),2:e=>+(e!=1),3:e=>0,4:e=>e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2,5:e=>e==0?0:e==1?1:e==2?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5,6:e=>e==1?0:e>=2&&e<=4?1:2,7:e=>e==1?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2,8:e=>e==1?0:e==2?1:e!=8&&e!=11?2:3,9:e=>+(e>=2),10:e=>e==1?0:e==2?1:e<7?2:e<11?3:4,11:e=>e==1||e==11?0:e==2||e==12?1:e>2&&e<20?2:3,12:e=>+(e%10!=1||e%100==11),13:e=>+(e!==0),14:e=>e==1?0:e==2?1:e==3?2:3,15:e=>e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2,16:e=>e%10==1&&e%100!=11?0:e!==0?1:2,17:e=>e==1||e%10==1&&e%100!=11?0:1,18:e=>e==0?0:e==1?1:2,19:e=>e==1?0:e==0||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3,20:e=>e==1?0:e==0||e%100>0&&e%100<20?1:2,21:e=>e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0,22:e=>e==1?0:e==2?1:(e<0||e>10)&&e%10==0?2:3};const P2e=["v1","v2","v3"],M2e=["v4"],Pk={zero:0,one:1,two:2,few:3,many:4,other:5},O2e=()=>{const e={};return L2e.forEach(a=>{a.lngs.forEach(t=>{e[t]={numbers:a.nr,plurals:R2e[a.fc]}})}),e};class B2e{constructor(a){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=a,this.options=t,this.logger=ns.create("pluralResolver"),(!this.options.compatibilityJSON||M2e.includes(this.options.compatibilityJSON))&&(typeof Intl>"u"||!Intl.PluralRules)&&(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=O2e(),this.pluralRulesCache={}}addRule(a,t){this.rules[a]=t}clearCache(){this.pluralRulesCache={}}getRule(a){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.shouldUseIntlApi())try{const n=Wh(a==="dev"?"en":a),i=t.ordinal?"ordinal":"cardinal",r=JSON.stringify({cleanedCode:n,type:i});if(r in this.pluralRulesCache)return this.pluralRulesCache[r];const s=new Intl.PluralRules(n,{type:i});return this.pluralRulesCache[r]=s,s}catch{return}return this.rules[a]||this.rules[this.languageUtils.getLanguagePartFromCode(a)]}needsPlural(a){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const n=this.getRule(a,t);return this.shouldUseIntlApi()?n&&n.resolvedOptions().pluralCategories.length>1:n&&n.numbers.length>1}getPluralFormsOfKey(a,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(a,n).map(i=>`${t}${i}`)}getSuffixes(a){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const n=this.getRule(a,t);return n?this.shouldUseIntlApi()?n.resolvedOptions().pluralCategories.sort((i,r)=>Pk[i]-Pk[r]).map(i=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${i}`):n.numbers.map(i=>this.getSuffix(a,i,t)):[]}getSuffix(a,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const i=this.getRule(a,n);return i?this.shouldUseIntlApi()?`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${i.select(t)}`:this.getSuffixRetroCompatible(i,t):(this.logger.warn(`no plural rule found for: ${a}`),"")}getSuffixRetroCompatible(a,t){const n=a.noAbs?a.plurals(t):a.plurals(Math.abs(t));let i=a.numbers[n];this.options.simplifyPluralSuffix&&a.numbers.length===2&&a.numbers[0]===1&&(i===2?i="plural":i===1&&(i=""));const r=()=>this.options.prepend&&i.toString()?this.options.prepend+i.toString():i.toString();return this.options.compatibilityJSON==="v1"?i===1?"":typeof i=="number"?`_plural_${i.toString()}`:r():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&a.numbers.length===2&&a.numbers[0]===1?r():this.options.prepend&&n.toString()?this.options.prepend+n.toString():n.toString()}shouldUseIntlApi(){return!P2e.includes(this.options.compatibilityJSON)}}const Mk=function(e,a,t){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,r=E2e(e,a,t);return!r&&i&&typeof t=="string"&&(r=CA(e,t,n),r===void 0&&(r=CA(a,t,n))),r},Yb=e=>e.replace(/\$/g,"$$$$");class F2e{constructor(){let a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=ns.create("interpolator"),this.options=a,this.format=a.interpolation&&a.interpolation.format||(t=>t),this.init(a)}init(){let a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};a.interpolation||(a.interpolation={escapeValue:!0});const{escape:t,escapeValue:n,useRawValueToEscape:i,prefix:r,prefixEscaped:s,suffix:u,suffixEscaped:o,formatSeparator:l,unescapeSuffix:g,unescapePrefix:d,nestingPrefix:c,nestingPrefixEscaped:p,nestingSuffix:f,nestingSuffixEscaped:h,nestingOptionsSeparator:y,maxReplaces:b,alwaysFormat:m}=a.interpolation;this.escape=t!==void 0?t:C2e,this.escapeValue=n!==void 0?n:!0,this.useRawValueToEscape=i!==void 0?i:!1,this.prefix=r?Ll(r):s||"{{",this.suffix=u?Ll(u):o||"}}",this.formatSeparator=l||",",this.unescapePrefix=g?"":d||"-",this.unescapeSuffix=this.unescapePrefix?"":g||"",this.nestingPrefix=c?Ll(c):p||Ll("$t("),this.nestingSuffix=f?Ll(f):h||Ll(")"),this.nestingOptionsSeparator=y||",",this.maxReplaces=b||1e3,this.alwaysFormat=m!==void 0?m:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const a=(t,n)=>t&&t.source===n?(t.lastIndex=0,t):new RegExp(n,"g");this.regexp=a(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=a(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=a(this.nestingRegexp,`${this.nestingPrefix}(.+?)${this.nestingSuffix}`)}interpolate(a,t,n,i){let r,s,u;const o=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},l=p=>{if(p.indexOf(this.formatSeparator)<0){const b=Mk(t,o,p,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(b,void 0,n,{...i,...t,interpolationkey:p}):b}const f=p.split(this.formatSeparator),h=f.shift().trim(),y=f.join(this.formatSeparator).trim();return this.format(Mk(t,o,h,this.options.keySeparator,this.options.ignoreJSONStructure),y,n,{...i,...t,interpolationkey:h})};this.resetRegExp();const g=i&&i.missingInterpolationHandler||this.options.missingInterpolationHandler,d=i&&i.interpolation&&i.interpolation.skipOnVariables!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:p=>Yb(p)},{regex:this.regexp,safeValue:p=>this.escapeValue?Yb(this.escape(p)):Yb(p)}].forEach(p=>{for(u=0;r=p.regex.exec(a);){const f=r[1].trim();if(s=l(f),s===void 0)if(typeof g=="function"){const y=g(a,r,i);s=typeof y=="string"?y:""}else if(i&&Object.prototype.hasOwnProperty.call(i,f))s="";else if(d){s=r[0];continue}else this.logger.warn(`missed to pass in variable ${f} for interpolating ${a}`),s="";else typeof s!="string"&&!this.useRawValueToEscape&&(s=Ck(s));const h=p.safeValue(s);if(a=a.replace(r[0],h),d?(p.regex.lastIndex+=s.length,p.regex.lastIndex-=r[0].length):p.regex.lastIndex=0,u++,u>=this.maxReplaces)break}}),a}nest(a,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i,r,s;const u=(o,l)=>{const g=this.nestingOptionsSeparator;if(o.indexOf(g)<0)return o;const d=o.split(new RegExp(`${g}[ ]*{`));let c=`{${d[1]}`;o=d[0],c=this.interpolate(c,s);const p=c.match(/'/g),f=c.match(/"/g);(p&&p.length%2===0&&!f||f.length%2!==0)&&(c=c.replace(/'/g,'"'));try{s=JSON.parse(c),l&&(s={...l,...s})}catch(h){return this.logger.warn(`failed parsing options string in nesting for key ${o}`,h),`${o}${g}${c}`}return s.defaultValue&&s.defaultValue.indexOf(this.prefix)>-1&&delete s.defaultValue,o};for(;i=this.nestingRegexp.exec(a);){let o=[];s={...n},s=s.replace&&typeof s.replace!="string"?s.replace:s,s.applyPostProcessor=!1,delete s.defaultValue;let l=!1;if(i[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(i[1])){const g=i[1].split(this.formatSeparator).map(d=>d.trim());i[1]=g.shift(),o=g,l=!0}if(r=t(u.call(this,i[1].trim(),s),s),r&&i[0]===a&&typeof r!="string")return r;typeof r!="string"&&(r=Ck(r)),r||(this.logger.warn(`missed to resolve ${i[1]} for nesting ${a}`),r=""),l&&(r=o.reduce((g,d)=>this.format(g,d,n.lng,{...n,interpolationkey:i[1].trim()}),r.trim())),a=a.replace(i[0],r),this.regexp.lastIndex=0}return a}}const U2e=e=>{let a=e.toLowerCase().trim();const t={};if(e.indexOf("(")>-1){const n=e.split("(");a=n[0].toLowerCase().trim();const i=n[1].substring(0,n[1].length-1);a==="currency"&&i.indexOf(":")<0?t.currency||(t.currency=i.trim()):a==="relativetime"&&i.indexOf(":")<0?t.range||(t.range=i.trim()):i.split(";").forEach(s=>{if(s){const[u,...o]=s.split(":"),l=o.join(":").trim().replace(/^'+|'+$/g,""),g=u.trim();t[g]||(t[g]=l),l==="false"&&(t[g]=!1),l==="true"&&(t[g]=!0),isNaN(l)||(t[g]=parseInt(l,10))}})}return{formatName:a,formatOptions:t}},Rl=e=>{const a={};return(t,n,i)=>{let r=i;i&&i.interpolationkey&&i.formatParams&&i.formatParams[i.interpolationkey]&&i[i.interpolationkey]&&(r={...r,[i.interpolationkey]:void 0});const s=n+JSON.stringify(r);let u=a[s];return u||(u=e(Wh(n),i),a[s]=u),u(t)}};class j2e{constructor(){let a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=ns.create("formatter"),this.options=a,this.formats={number:Rl((t,n)=>{const i=new Intl.NumberFormat(t,{...n});return r=>i.format(r)}),currency:Rl((t,n)=>{const i=new Intl.NumberFormat(t,{...n,style:"currency"});return r=>i.format(r)}),datetime:Rl((t,n)=>{const i=new Intl.DateTimeFormat(t,{...n});return r=>i.format(r)}),relativetime:Rl((t,n)=>{const i=new Intl.RelativeTimeFormat(t,{...n});return r=>i.format(r,n.range||"day")}),list:Rl((t,n)=>{const i=new Intl.ListFormat(t,{...n});return r=>i.format(r)})},this.init(a)}init(a){const n=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}}).interpolation;this.formatSeparator=n.formatSeparator?n.formatSeparator:n.formatSeparator||","}add(a,t){this.formats[a.toLowerCase().trim()]=t}addCached(a,t){this.formats[a.toLowerCase().trim()]=Rl(t)}format(a,t,n){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const r=t.split(this.formatSeparator);if(r.length>1&&r[0].indexOf("(")>1&&r[0].indexOf(")")<0&&r.find(u=>u.indexOf(")")>-1)){const u=r.findIndex(o=>o.indexOf(")")>-1);r[0]=[r[0],...r.splice(1,u)].join(this.formatSeparator)}return r.reduce((u,o)=>{const{formatName:l,formatOptions:g}=U2e(o);if(this.formats[l]){let d=u;try{const c=i&&i.formatParams&&i.formatParams[i.interpolationkey]||{},p=c.locale||c.lng||i.locale||i.lng||n;d=this.formats[l](u,p,{...g,...i,...c})}catch(c){this.logger.warn(c)}return d}else this.logger.warn(`there was no format function for ${l}`);return u},a)}}const z2e=(e,a)=>{e.pending[a]!==void 0&&(delete e.pending[a],e.pendingCount--)};class $2e extends a9{constructor(a,t,n){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(),this.backend=a,this.store=t,this.services=n,this.languageUtils=n.languageUtils,this.options=i,this.logger=ns.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],this.backend&&this.backend.init&&this.backend.init(n,i.backend,i)}queueLoad(a,t,n,i){const r={},s={},u={},o={};return a.forEach(l=>{let g=!0;t.forEach(d=>{const c=`${l}|${d}`;!n.reload&&this.store.hasResourceBundle(l,d)?this.state[c]=2:this.state[c]<0||(this.state[c]===1?s[c]===void 0&&(s[c]=!0):(this.state[c]=1,g=!1,s[c]===void 0&&(s[c]=!0),r[c]===void 0&&(r[c]=!0),o[d]===void 0&&(o[d]=!0)))}),g||(u[l]=!0)}),(Object.keys(r).length||Object.keys(s).length)&&this.queue.push({pending:s,pendingCount:Object.keys(s).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(r),pending:Object.keys(s),toLoadLanguages:Object.keys(u),toLoadNamespaces:Object.keys(o)}}loaded(a,t,n){const i=a.split("|"),r=i[0],s=i[1];t&&this.emit("failedLoading",r,s,t),!t&&n&&this.store.addResourceBundle(r,s,n,void 0,void 0,{skipCopy:!0}),this.state[a]=t?-1:2,t&&n&&(this.state[a]=0);const u={};this.queue.forEach(o=>{x2e(o.loaded,[r],s),z2e(o,a),t&&o.errors.push(t),o.pendingCount===0&&!o.done&&(Object.keys(o.loaded).forEach(l=>{u[l]||(u[l]={});const g=o.loaded[l];g.length&&g.forEach(d=>{u[l][d]===void 0&&(u[l][d]=!0)})}),o.done=!0,o.errors.length?o.callback(o.errors):o.callback())}),this.emit("loaded",u),this.queue=this.queue.filter(o=>!o.done)}read(a,t,n){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,r=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,s=arguments.length>5?arguments[5]:void 0;if(!a.length)return s(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:a,ns:t,fcName:n,tried:i,wait:r,callback:s});return}this.readingCalls++;const u=(l,g)=>{if(this.readingCalls--,this.waitingReads.length>0){const d=this.waitingReads.shift();this.read(d.lng,d.ns,d.fcName,d.tried,d.wait,d.callback)}if(l&&g&&i<this.maxRetries){setTimeout(()=>{this.read.call(this,a,t,n,i+1,r*2,s)},r);return}s(l,g)},o=this.backend[n].bind(this.backend);if(o.length===2){try{const l=o(a,t);l&&typeof l.then=="function"?l.then(g=>u(null,g)).catch(u):u(null,l)}catch(l){u(l)}return}return o(a,t,u)}prepareLoading(a,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),i&&i();typeof a=="string"&&(a=this.languageUtils.toResolveHierarchy(a)),typeof t=="string"&&(t=[t]);const r=this.queueLoad(a,t,n,i);if(!r.toLoad.length)return r.pending.length||i(),null;r.toLoad.forEach(s=>{this.loadOne(s)})}load(a,t,n){this.prepareLoading(a,t,{},n)}reload(a,t,n){this.prepareLoading(a,t,{reload:!0},n)}loadOne(a){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const n=a.split("|"),i=n[0],r=n[1];this.read(i,r,"read",void 0,void 0,(s,u)=>{s&&this.logger.warn(`${t}loading namespace ${r} for language ${i} failed`,s),!s&&u&&this.logger.log(`${t}loaded namespace ${r} for language ${i}`,u),this.loaded(a,s,u)})}saveMissing(a,t,n,i,r){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},u=arguments.length>6&&arguments[6]!==void 0?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(t)){this.logger.warn(`did not save key "${n}" as the namespace "${t}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(n==null||n==="")){if(this.backend&&this.backend.create){const o={...s,isUpdate:r},l=this.backend.create.bind(this.backend);if(l.length<6)try{let g;l.length===5?g=l(a,t,n,i,o):g=l(a,t,n,i),g&&typeof g.then=="function"?g.then(d=>u(null,d)).catch(u):u(null,g)}catch(g){u(g)}else l(a,t,n,i,u,o)}!a||!a[0]||this.store.addResource(a[0],t,n,i)}}}const Ok=()=>({debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:e=>{let a={};if(typeof e[1]=="object"&&(a=e[1]),typeof e[1]=="string"&&(a.defaultValue=e[1]),typeof e[2]=="string"&&(a.tDescription=e[2]),typeof e[2]=="object"||typeof e[3]=="object"){const t=e[3]||e[2];Object.keys(t).forEach(n=>{a[n]=t[n]})}return a},interpolation:{escapeValue:!0,format:e=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}),Bk=e=>(typeof e.ns=="string"&&(e.ns=[e.ns]),typeof e.fallbackLng=="string"&&(e.fallbackLng=[e.fallbackLng]),typeof e.fallbackNS=="string"&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e),xf=()=>{},K2e=e=>{Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(t=>{typeof e[t]=="function"&&(e[t]=e[t].bind(e))})};class vc extends a9{constructor(){let a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;if(super(),this.options=Bk(a),this.services={},this.logger=ns,this.modules={external:[]},K2e(this),t&&!this.isInitialized&&!a.isClone){if(!this.options.initImmediate)return this.init(a,t),this;setTimeout(()=>{this.init(a,t)},0)}}init(){var a=this;let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;this.isInitializing=!0,typeof t=="function"&&(n=t,t={}),!t.defaultNS&&t.defaultNS!==!1&&t.ns&&(typeof t.ns=="string"?t.defaultNS=t.ns:t.ns.indexOf("translation")<0&&(t.defaultNS=t.ns[0]));const i=Ok();this.options={...i,...this.options,...Bk(t)},this.options.compatibilityAPI!=="v1"&&(this.options.interpolation={...i.interpolation,...this.options.interpolation}),t.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=t.keySeparator),t.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=t.nsSeparator);const r=g=>g?typeof g=="function"?new g:g:null;if(!this.options.isClone){this.modules.logger?ns.init(r(this.modules.logger),this.options):ns.init(null,this.options);let g;this.modules.formatter?g=this.modules.formatter:typeof Intl<"u"&&(g=j2e);const d=new Rk(this.options);this.store=new Nk(this.options.resources,this.options);const c=this.services;c.logger=ns,c.resourceStore=this.store,c.languageUtils=d,c.pluralResolver=new B2e(d,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),g&&(!this.options.interpolation.format||this.options.interpolation.format===i.interpolation.format)&&(c.formatter=r(g),c.formatter.init(c,this.options),this.options.interpolation.format=c.formatter.format.bind(c.formatter)),c.interpolator=new F2e(this.options),c.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},c.backendConnector=new $2e(r(this.modules.backend),c.resourceStore,c,this.options),c.backendConnector.on("*",function(p){for(var f=arguments.length,h=new Array(f>1?f-1:0),y=1;y<f;y++)h[y-1]=arguments[y];a.emit(p,...h)}),this.modules.languageDetector&&(c.languageDetector=r(this.modules.languageDetector),c.languageDetector.init&&c.languageDetector.init(c,this.options.detection,this.options)),this.modules.i18nFormat&&(c.i18nFormat=r(this.modules.i18nFormat),c.i18nFormat.init&&c.i18nFormat.init(this)),this.translator=new Yh(this.services,this.options),this.translator.on("*",function(p){for(var f=arguments.length,h=new Array(f>1?f-1:0),y=1;y<f;y++)h[y-1]=arguments[y];a.emit(p,...h)}),this.modules.external.forEach(p=>{p.init&&p.init(this)})}if(this.format=this.options.interpolation.format,n||(n=xf),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const g=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);g.length>0&&g[0]!=="dev"&&(this.options.lng=g[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(g=>{this[g]=function(){return a.store[g](...arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(g=>{this[g]=function(){return a.store[g](...arguments),a}});const o=qd(),l=()=>{const g=(d,c)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),o.resolve(c),n(d,c)};if(this.languages&&this.options.compatibilityAPI!=="v1"&&!this.isInitialized)return g(null,this.t.bind(this));this.changeLanguage(this.options.lng,g)};return this.options.resources||!this.options.initImmediate?l():setTimeout(l,0),o}loadResources(a){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:xf;const i=typeof a=="string"?a:this.language;if(typeof a=="function"&&(n=a),!this.options.resources||this.options.partialBundledLanguages){if(i&&i.toLowerCase()==="cimode"&&(!this.options.preload||this.options.preload.length===0))return n();const r=[],s=u=>{if(!u||u==="cimode")return;this.services.languageUtils.toResolveHierarchy(u).forEach(l=>{l!=="cimode"&&r.indexOf(l)<0&&r.push(l)})};i?s(i):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(o=>s(o)),this.options.preload&&this.options.preload.forEach(u=>s(u)),this.services.backendConnector.load(r,this.options.ns,u=>{!u&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),n(u)})}else n(null)}reloadResources(a,t,n){const i=qd();return typeof a=="function"&&(n=a,a=void 0),typeof t=="function"&&(n=t,t=void 0),a||(a=this.languages),t||(t=this.options.ns),n||(n=xf),this.services.backendConnector.reload(a,t,r=>{i.resolve(),n(r)}),i}use(a){if(!a)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!a.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return a.type==="backend"&&(this.modules.backend=a),(a.type==="logger"||a.log&&a.warn&&a.error)&&(this.modules.logger=a),a.type==="languageDetector"&&(this.modules.languageDetector=a),a.type==="i18nFormat"&&(this.modules.i18nFormat=a),a.type==="postProcessor"&&$M.addPostProcessor(a),a.type==="formatter"&&(this.modules.formatter=a),a.type==="3rdParty"&&this.modules.external.push(a),this}setResolvedLanguage(a){if(!(!a||!this.languages)&&!(["cimode","dev"].indexOf(a)>-1))for(let t=0;t<this.languages.length;t++){const n=this.languages[t];if(!(["cimode","dev"].indexOf(n)>-1)&&this.store.hasLanguageSomeTranslations(n)){this.resolvedLanguage=n;break}}}changeLanguage(a,t){var n=this;this.isLanguageChangingTo=a;const i=qd();this.emit("languageChanging",a);const r=o=>{this.language=o,this.languages=this.services.languageUtils.toResolveHierarchy(o),this.resolvedLanguage=void 0,this.setResolvedLanguage(o)},s=(o,l)=>{l?(r(l),this.translator.changeLanguage(l),this.isLanguageChangingTo=void 0,this.emit("languageChanged",l),this.logger.log("languageChanged",l)):this.isLanguageChangingTo=void 0,i.resolve(function(){return n.t(...arguments)}),t&&t(o,function(){return n.t(...arguments)})},u=o=>{!a&&!o&&this.services.languageDetector&&(o=[]);const l=typeof o=="string"?o:this.services.languageUtils.getBestMatchFromCodes(o);l&&(this.language||r(l),this.translator.language||this.translator.changeLanguage(l),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(l)),this.loadResources(l,g=>{s(g,l)})};return!a&&this.services.languageDetector&&!this.services.languageDetector.async?u(this.services.languageDetector.detect()):!a&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(u):this.services.languageDetector.detect(u):u(a),i}getFixedT(a,t,n){var i=this;const r=function(s,u){let o;if(typeof u!="object"){for(var l=arguments.length,g=new Array(l>2?l-2:0),d=2;d<l;d++)g[d-2]=arguments[d];o=i.options.overloadTranslationOptionHandler([s,u].concat(g))}else o={...u};o.lng=o.lng||r.lng,o.lngs=o.lngs||r.lngs,o.ns=o.ns||r.ns,o.keyPrefix!==""&&(o.keyPrefix=o.keyPrefix||n||r.keyPrefix);const c=i.options.keySeparator||".";let p;return o.keyPrefix&&Array.isArray(s)?p=s.map(f=>`${o.keyPrefix}${c}${f}`):p=o.keyPrefix?`${o.keyPrefix}${c}${s}`:s,i.t(p,o)};return typeof a=="string"?r.lng=a:r.lngs=a,r.ns=t,r.keyPrefix=n,r}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(a){this.options.defaultNS=a}hasLoadedNamespace(a){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const n=t.lng||this.resolvedLanguage||this.languages[0],i=this.options?this.options.fallbackLng:!1,r=this.languages[this.languages.length-1];if(n.toLowerCase()==="cimode")return!0;const s=(u,o)=>{const l=this.services.backendConnector.state[`${u}|${o}`];return l===-1||l===0||l===2};if(t.precheck){const u=t.precheck(this,s);if(u!==void 0)return u}return!!(this.hasResourceBundle(n,a)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||s(n,a)&&(!i||s(r,a)))}loadNamespaces(a,t){const n=qd();return this.options.ns?(typeof a=="string"&&(a=[a]),a.forEach(i=>{this.options.ns.indexOf(i)<0&&this.options.ns.push(i)}),this.loadResources(i=>{n.resolve(),t&&t(i)}),n):(t&&t(),Promise.resolve())}loadLanguages(a,t){const n=qd();typeof a=="string"&&(a=[a]);const i=this.options.preload||[],r=a.filter(s=>i.indexOf(s)<0&&this.services.languageUtils.isSupportedCode(s));return r.length?(this.options.preload=i.concat(r),this.loadResources(s=>{n.resolve(),t&&t(s)}),n):(t&&t(),Promise.resolve())}dir(a){if(a||(a=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!a)return"rtl";const t=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],n=this.services&&this.services.languageUtils||new Rk(Ok());return t.indexOf(n.getLanguagePartFromCode(a))>-1||a.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){let a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return new vc(a,t)}cloneInstance(){let a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:xf;const n=a.forkResourceStore;n&&delete a.forkResourceStore;const i={...this.options,...a,isClone:!0},r=new vc(i);return(a.debug!==void 0||a.prefix!==void 0)&&(r.logger=r.logger.clone(a)),["store","services","language"].forEach(u=>{r[u]=this[u]}),r.services={...this.services},r.services.utils={hasLoadedNamespace:r.hasLoadedNamespace.bind(r)},n&&(r.store=new Nk(this.store.data,i),r.services.resourceStore=r.store),r.translator=new Yh(r.services,i),r.translator.on("*",function(u){for(var o=arguments.length,l=new Array(o>1?o-1:0),g=1;g<o;g++)l[g-1]=arguments[g];r.emit(u,...l)}),r.init(i,t),r.translator.options=i,r.translator.backendConnector.services.utils={hasLoadedNamespace:r.hasLoadedNamespace.bind(r)},r}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const Hn=vc.createInstance();Hn.createInstance=vc.createInstance;Hn.createInstance;Hn.dir;Hn.init;Hn.loadResources;Hn.reloadResources;Hn.use;Hn.changeLanguage;Hn.getFixedT;const Pke=Hn.t;Hn.exists;Hn.setDefaultNamespace;Hn.hasLoadedNamespace;Hn.loadNamespaces;Hn.loadLanguages;var H2e={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0};const q2e=an(H2e);var V2e=/\s([^'"/\s><]+?)[\s/>]|([^\s=]+)=\s?(".*?"|'.*?')/g;function Fk(e){var a={type:"tag",name:"",voidElement:!1,attrs:{},children:[]},t=e.match(/<\/?([^\s]+?)[/\s>]/);if(t&&(a.name=t[1],(q2e[t[1]]||e.charAt(e.length-2)==="/")&&(a.voidElement=!0),a.name.startsWith("!--"))){var n=e.indexOf("-->");return{type:"comment",comment:n!==-1?e.slice(4,n):""}}for(var i=new RegExp(V2e),r=null;(r=i.exec(e))!==null;)if(r[0].trim())if(r[1]){var s=r[1].trim(),u=[s,""];s.indexOf("=")>-1&&(u=s.split("=")),a.attrs[u[0]]=u[1],i.lastIndex--}else r[2]&&(a.attrs[r[2]]=r[3].trim().substring(1,r[3].length-1));return a}var G2e=/<[a-zA-Z0-9\-\!\/](?:"[^"]*"|'[^']*'|[^'">])*>/g,W2e=/^\s*$/,Y2e=Object.create(null);function KM(e,a){switch(a.type){case"text":return e+a.content;case"tag":return e+="<"+a.name+(a.attrs?function(t){var n=[];for(var i in t)n.push(i+'="'+t[i]+'"');return n.length?" "+n.join(" "):""}(a.attrs):"")+(a.voidElement?"/>":">"),a.voidElement?e:e+a.children.reduce(KM,"")+"</"+a.name+">";case"comment":return e+"<!--"+a.comment+"-->"}}var X2e={parse:function(e,a){a||(a={}),a.components||(a.components=Y2e);var t,n=[],i=[],r=-1,s=!1;if(e.indexOf("<")!==0){var u=e.indexOf("<");n.push({type:"text",content:u===-1?e:e.substring(0,u)})}return e.replace(G2e,function(o,l){if(s){if(o!=="</"+t.name+">")return;s=!1}var g,d=o.charAt(1)!=="/",c=o.startsWith("<!--"),p=l+o.length,f=e.charAt(p);if(c){var h=Fk(o);return r<0?(n.push(h),n):((g=i[r]).children.push(h),n)}if(d&&(r++,(t=Fk(o)).type==="tag"&&a.components[t.name]&&(t.type="component",s=!0),t.voidElement||s||!f||f==="<"||t.children.push({type:"text",content:e.slice(p,e.indexOf("<",p))}),r===0&&n.push(t),(g=i[r-1])&&g.children.push(t),i[r]=t),(!d||t.voidElement)&&(r>-1&&(t.voidElement||t.name===o.slice(2,-1))&&(r--,t=r===-1?n:i[r]),!s&&f!=="<"&&f)){g=r===-1?n:i[r].children;var y=e.indexOf("<",p),b=e.slice(p,y===-1?void 0:y);W2e.test(b)&&(b=" "),(y>-1&&r+g.length>=0||b!==" ")&&g.push({type:"text",content:b})}}),n},stringify:function(e){return e.reduce(function(a,t){return a+KM("",t)},"")}};function L2(){if(console&&console.warn){for(var e=arguments.length,a=new Array(e),t=0;t<e;t++)a[t]=arguments[t];ar(a[0])&&(a[0]=`react-i18next:: ${a[0]}`),console.warn(...a)}}const Uk={};function Xh(){for(var e=arguments.length,a=new Array(e),t=0;t<e;t++)a[t]=arguments[t];ar(a[0])&&Uk[a[0]]||(ar(a[0])&&(Uk[a[0]]=new Date),L2(...a))}const HM=(e,a)=>()=>{if(e.isInitialized)a();else{const t=()=>{setTimeout(()=>{e.off("initialized",t)},0),a()};e.on("initialized",t)}},jk=(e,a,t)=>{e.loadNamespaces(a,HM(e,t))},zk=(e,a,t,n)=>{ar(t)&&(t=[t]),t.forEach(i=>{e.options.ns.indexOf(i)<0&&e.options.ns.push(i)}),e.loadLanguages(a,HM(e,n))},Q2e=function(e,a){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const n=a.languages[0],i=a.options?a.options.fallbackLng:!1,r=a.languages[a.languages.length-1];if(n.toLowerCase()==="cimode")return!0;const s=(u,o)=>{const l=a.services.backendConnector.state[`${u}|${o}`];return l===-1||l===2};return t.bindI18n&&t.bindI18n.indexOf("languageChanging")>-1&&a.services.backendConnector.backend&&a.isLanguageChangingTo&&!s(a.isLanguageChangingTo,e)?!1:!!(a.hasResourceBundle(n,e)||!a.services.backendConnector.backend||a.options.resources&&!a.options.partialBundledLanguages||s(n,e)&&(!i||s(r,e)))},Z2e=function(e,a){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return!a.languages||!a.languages.length?(Xh("i18n.languages were undefined or empty",a.languages),!0):a.options.ignoreJSONStructure!==void 0?a.hasLoadedNamespace(e,{lng:t.lng,precheck:(i,r)=>{if(t.bindI18n&&t.bindI18n.indexOf("languageChanging")>-1&&i.services.backendConnector.backend&&i.isLanguageChangingTo&&!r(i.isLanguageChangingTo,e))return!1}}):Q2e(e,a,t)},ar=e=>typeof e=="string",Xl=e=>typeof e=="object"&&e!==null,J2e=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,ehe={"&amp;":"&","&#38;":"&","&lt;":"<","&#60;":"<","&gt;":">","&#62;":">","&apos;":"'","&#39;":"'","&quot;":'"',"&#34;":'"',"&nbsp;":" ","&#160;":" ","&copy;":"©","&#169;":"©","&reg;":"®","&#174;":"®","&hellip;":"…","&#8230;":"…","&#x2F;":"/","&#47;":"/"},ahe=e=>ehe[e],the=e=>e.replace(J2e,ahe);let wA={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:the};const nhe=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};wA={...wA,...e}},qM=()=>wA;let VM;const ihe=e=>{VM=e},y6=()=>VM,Xb=(e,a)=>{if(!e)return!1;const t=e.props?e.props.children:e.children;return a?t.length>0:!!t},Qb=e=>{if(!e)return[];const a=e.props?e.props.children:e.children;return e.props&&e.props.i18nIsDynamicList?Ql(a):a},rhe=e=>Array.isArray(e)&&e.every(X.isValidElement),Ql=e=>Array.isArray(e)?e:[e],she=(e,a)=>{const t={...a};return t.props=Object.assign(e.props,a.props),t},GM=(e,a)=>{if(!e)return"";let t="";const n=Ql(e),i=a.transSupportBasicHtmlNodes&&a.transKeepBasicHtmlNodesFor?a.transKeepBasicHtmlNodesFor:[];return n.forEach((r,s)=>{if(ar(r))t+=`${r}`;else if(X.isValidElement(r)){const{props:u,type:o}=r,l=Object.keys(u).length,g=i.indexOf(o)>-1,d=u.children;if(!d&&g&&!l)t+=`<${o}/>`;else if(!d&&(!g||l)||u.i18nIsDynamicList)t+=`<${s}></${s}>`;else if(g&&l===1&&ar(d))t+=`<${o}>${d}</${o}>`;else{const c=GM(d,a);t+=`<${s}>${c}</${s}>`}}else if(r===null)L2("Trans: the passed in value is invalid - seems you passed in a null child.");else if(Xl(r)){const{format:u,...o}=r,l=Object.keys(o);if(l.length===1){const g=u?`${l[0]}, ${u}`:l[0];t+=`{{${g}}}`}else L2("react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.",r)}else L2("Trans: the passed in value is invalid - seems you passed in a variable like {number} - please pass in variables for interpolation as full objects like {{number}}.",r)}),t},uhe=(e,a,t,n,i,r)=>{if(a==="")return[];const s=n.transKeepBasicHtmlNodesFor||[],u=a&&new RegExp(s.map(y=>`<${y}`).join("|")).test(a);if(!e&&!u&&!r)return[a];const o={},l=y=>{Ql(y).forEach(m=>{ar(m)||(Xb(m)?l(Qb(m)):Xl(m)&&!X.isValidElement(m)&&Object.assign(o,m))})};l(e);const g=X2e.parse(`<0>${a}</0>`),d={...o,...i},c=(y,b,m)=>{const T=Qb(y),A=f(T,b.children,m);return rhe(T)&&A.length===0||y.props&&y.props.i18nIsDynamicList?T:A},p=(y,b,m,T,A)=>{y.dummy?(y.children=b,m.push(X.cloneElement(y,{key:T},A?void 0:b))):m.push(...X.Children.map([y],v=>{const D={...v.props};return delete D.i18nIsDynamicList,X.createElement(v.type,{...D,key:T,ref:v.ref},A?null:b)}))},f=(y,b,m)=>{const T=Ql(y);return Ql(b).reduce((v,D,k)=>{const N=D.children&&D.children[0]&&D.children[0].content&&t.services.interpolator.interpolate(D.children[0].content,d,t.language);if(D.type==="tag"){let q=T[parseInt(D.name,10)];m.length===1&&!q&&(q=m[0][D.name]),q||(q={});const R=Object.keys(D.attrs).length!==0?she({props:D.attrs},q):q,z=X.isValidElement(R),W=z&&Xb(D,!0)&&!D.voidElement,K=u&&Xl(R)&&R.dummy&&!z,P=Xl(e)&&Object.hasOwnProperty.call(e,D.name);if(ar(R)){const L=t.services.interpolator.interpolate(R,d,t.language);v.push(L)}else if(Xb(R)||W){const L=c(R,D,m);p(R,L,v,k)}else if(K){const L=f(T,D.children,m);p(R,L,v,k)}else if(Number.isNaN(parseFloat(D.name)))if(P){const L=c(R,D,m);p(R,L,v,k,D.voidElement)}else if(n.transSupportBasicHtmlNodes&&s.indexOf(D.name)>-1)if(D.voidElement)v.push(X.createElement(D.name,{key:`${D.name}-${k}`}));else{const L=f(T,D.children,m);v.push(X.createElement(D.name,{key:`${D.name}-${k}`},L))}else if(D.voidElement)v.push(`<${D.name} />`);else{const L=f(T,D.children,m);v.push(`<${D.name}>${L}</${D.name}>`)}else if(Xl(R)&&!z){const L=D.children[0]?N:null;L&&v.push(L)}else p(R,N,v,k,D.children.length!==1||!N)}else if(D.type==="text"){const q=n.transWrapTextNodes,R=r?n.unescape(t.services.interpolator.interpolate(D.content,d,t.language)):t.services.interpolator.interpolate(D.content,d,t.language);q?v.push(X.createElement(q,{key:`${D.name}-${k}`},R)):v.push(R)}return v},[])},h=f([{dummy:!0,children:e||[]}],g,Ql(e||[]));return Qb(h[0])};function ohe(e){let{children:a,count:t,parent:n,i18nKey:i,context:r,tOptions:s={},values:u,defaults:o,components:l,ns:g,i18n:d,t:c,shouldUnescape:p,...f}=e;const h=d||y6();if(!h)return Xh("You will need to pass in an i18next instance by using i18nextReactModule"),a;const y=c||h.t.bind(h)||(W=>W),b={...qM(),...h.options&&h.options.react};let m=g||y.ns||h.options&&h.options.defaultNS;m=ar(m)?[m]:m||["translation"];const T=GM(a,b),A=o||T||b.transEmptyNodeValue||i,{hashTransKey:v}=b,D=i||(v?v(T||A):T||A);h.options&&h.options.interpolation&&h.options.interpolation.defaultVariables&&(u=u&&Object.keys(u).length>0?{...u,...h.options.interpolation.defaultVariables}:{...h.options.interpolation.defaultVariables});const k=u||t!==void 0||!a?s.interpolation:{interpolation:{...s.interpolation,prefix:"#$?",suffix:"?$#"}},N={...s,context:r||s.context,count:t,...u,...k,defaultValue:A,ns:m},q=D?y(D,N):A;l&&Object.keys(l).forEach(W=>{const K=l[W];if(typeof K.type=="function"||!K.props||!K.props.children||q.indexOf(`${W}/>`)<0&&q.indexOf(`${W} />`)<0)return;function P(){return X.createElement(X.Fragment,null,K)}l[W]=X.createElement(P)});const R=uhe(l||a,q,h,b,N,p),z=n!==void 0?n:b.defaultTransParent;return z?X.createElement(z,f,R):R}const Mke={type:"3rdParty",init(e){nhe(e.options.react),ihe(e)}},WM=X.createContext();class lhe{constructor(){Mr(this,"getUsedNamespaces",()=>Object.keys(this.usedNamespaces));this.usedNamespaces={}}addUsedNamespaces(a){a.forEach(t=>{this.usedNamespaces[t]||(this.usedNamespaces[t]=!0)})}}function Oke(e){let{children:a,count:t,parent:n,i18nKey:i,context:r,tOptions:s={},values:u,defaults:o,components:l,ns:g,i18n:d,t:c,shouldUnescape:p,...f}=e;const{i18n:h,defaultNS:y}=X.useContext(WM)||{},b=d||h||y6(),m=c||b&&b.t.bind(b);return ohe({children:a,count:t,parent:n,i18nKey:i,context:r,tOptions:s,values:u,defaults:o,components:l,ns:g||m&&m.ns||y||b&&b.options&&b.options.defaultNS,i18n:b,t:c,shouldUnescape:p,...f})}const ghe=(e,a)=>{const t=X.useRef();return X.useEffect(()=>{t.current=e},[e,a]),t.current},YM=(e,a,t,n)=>e.getFixedT(a,t,n),dhe=(e,a,t,n)=>X.useCallback(YM(e,a,t,n),[e,a,t,n]),Bke=function(e){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{i18n:t}=a,{i18n:n,defaultNS:i}=X.useContext(WM)||{},r=t||n||y6();if(r&&!r.reportNamespaces&&(r.reportNamespaces=new lhe),!r){Xh("You will need to pass in an i18next instance by using initReactI18next");const A=(D,k)=>ar(k)?k:Xl(k)&&ar(k.defaultValue)?k.defaultValue:Array.isArray(D)?D[D.length-1]:D,v=[A,{},!1];return v.t=A,v.i18n={},v.ready=!1,v}r.options.react&&r.options.react.wait!==void 0&&Xh("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const s={...qM(),...r.options.react,...a},{useSuspense:u,keyPrefix:o}=s;let l=i||r.options&&r.options.defaultNS;l=ar(l)?[l]:l||["translation"],r.reportNamespaces.addUsedNamespaces&&r.reportNamespaces.addUsedNamespaces(l);const g=(r.isInitialized||r.initializedStoreOnce)&&l.every(A=>Z2e(A,r,s)),d=dhe(r,a.lng||null,s.nsMode==="fallback"?l:l[0],o),c=()=>d,p=()=>YM(r,a.lng||null,s.nsMode==="fallback"?l:l[0],o),[f,h]=X.useState(c);let y=l.join();a.lng&&(y=`${a.lng}${y}`);const b=ghe(y),m=X.useRef(!0);X.useEffect(()=>{const{bindI18n:A,bindI18nStore:v}=s;m.current=!0,!g&&!u&&(a.lng?zk(r,a.lng,l,()=>{m.current&&h(p)}):jk(r,l,()=>{m.current&&h(p)})),g&&b&&b!==y&&m.current&&h(p);const D=()=>{m.current&&h(p)};return A&&r&&r.on(A,D),v&&r&&r.store.on(v,D),()=>{m.current=!1,A&&r&&A.split(" ").forEach(k=>r.off(k,D)),v&&r&&v.split(" ").forEach(k=>r.store.off(k,D))}},[r,y]),X.useEffect(()=>{m.current&&g&&h(c)},[r,o,g]);const T=[f,r,g];if(T.t=f,T.i18n=r,T.ready=g,g||!g&&!u)return T;throw new Promise(A=>{a.lng?zk(r,a.lng,l,()=>A()):jk(r,l,()=>A())})};var XM={};const che=["Northwest Caucasian","Afro-Asiatic","Indo-European","Niger–Congo","Northeast Caucasian","Aymaran","Turkic","Language isolate","Creole","Sino-Tibetan","Austronesian","Algonquian","Constructed","Uralic","South Caucasian","Tupian","Eskimo–Aleut","Japonic","Dravidian","Nilo-Saharan","Austroasiatic","Koreanic","Tai–Kadai","Mongolic","Dené–Yeniseian","Niger-Congo","Quechuan"],phe=[{iso639_1:"ab",iso639_2:"abk",iso639_2en:"abk",iso639_3:"abk",name:["Abkhaz"],nativeName:["аҧсуа бызшәа","аҧсшәа"],direction:"LTR",family:"Northwest Caucasian"},{iso639_1:"aa",iso639_2:"aar",iso639_2en:"aar",iso639_3:"aar",name:["Afar"],nativeName:["Afaraf"],direction:"LTR",family:"Afro-Asiatic",countries:["DJI"]},{iso639_1:"af",iso639_2:"afr",iso639_2en:"afr",iso639_3:"afr",name:["Afrikaans"],nativeName:["Afrikaans"],direction:"LTR",family:"Indo-European",countries:["ZAF"],langCultureMs:[{langCultureName:"af-ZA",displayName:"Afrikaans - South Africa",cultureCode:"0x0436"}]},{iso639_1:"ak",iso639_2:"aka",iso639_2en:"aka",iso639_3:"aka",name:["Akan"],nativeName:["Akan"],direction:"LTR",family:"Niger–Congo",countries:["GHA"]},{iso639_1:"sq",iso639_2:"sqi",iso639_2en:"alb",iso639_3:"sqi",name:["Albanian"],nativeName:["gjuha shqipe"],direction:"LTR",family:"Indo-European",countries:["ALB"],langCultureMs:[{langCultureName:"sq-AL",displayName:"Albanian - Albania",cultureCode:"0x041C"}]},{iso639_1:"am",iso639_2:"amh",iso639_2en:"amh",iso639_3:"amh",name:["Amharic"],nativeName:["አማርኛ"],direction:"LTR",family:"Afro-Asiatic",countries:["ETH"]},{iso639_1:"ar",iso639_2:"ara",iso639_2en:"ara",iso639_3:"ara",name:["Arabic"],nativeName:["العربية"],direction:"RTL",family:"Afro-Asiatic",countries:["DZA","BHR","TCD","COM","DJI","EGY","ERI","IRQ","ISR","JOR","KWT","LBN","LBY","MRT","MAR","NER","OMN","QAT","SAU","SOM","SDN","SYR","TUN","ARE","YEM"],langCultureMs:[{langCultureName:"ar-DZ",displayName:"Arabic - Algeria",cultureCode:"0x1401"},{langCultureName:"ar-BH",displayName:"Arabic - Bahrain",cultureCode:"0x3C01"},{langCultureName:"ar-EG",displayName:"Arabic - Egypt",cultureCode:"0x0C01"},{langCultureName:"ar-IQ",displayName:"Arabic - Iraq",cultureCode:"0x0801"},{langCultureName:"ar-JO",displayName:"Arabic - Jordan",cultureCode:"0x2C01"},{langCultureName:"ar-KW",displayName:"Arabic - Kuwait",cultureCode:"0x3401"},{langCultureName:"ar-LB",displayName:"Arabic - Lebanon",cultureCode:"0x3001"},{langCultureName:"ar-LY",displayName:"Arabic - Libya",cultureCode:"0x1001"},{langCultureName:"ar-MA",displayName:"Arabic - Morocco",cultureCode:"0x1801"},{langCultureName:"ar-OM",displayName:"Arabic - Oman",cultureCode:"0x2001"},{langCultureName:"ar-QA",displayName:"Arabic - Qatar",cultureCode:"0x4001"},{langCultureName:"ar-SA",displayName:"Arabic - Saudi Arabia",cultureCode:"0x0401"},{langCultureName:"ar-SY",displayName:"Arabic - Syria",cultureCode:"0x2801"},{langCultureName:"ar-TN",displayName:"Arabic - Tunisia",cultureCode:"0x1C01"},{langCultureName:"ar-AE",displayName:"Arabic - United Arab Emirates",cultureCode:"0x3801"},{langCultureName:"ar-YE",displayName:"Arabic - Yemen",cultureCode:"0x2401"}]},{iso639_1:"an",iso639_2:"arg",iso639_2en:"arg",iso639_3:"arg",name:["Aragonese"],nativeName:["aragonés"],direction:"LTR",family:"Indo-European"},{iso639_1:"hy",iso639_2:"hye",iso639_2en:"arm",iso639_3:"hye",name:["Armenian"],nativeName:["Հայերեն"],direction:"LTR",family:"Indo-European",countries:["ARM"],langCultureMs:[{langCultureName:"hy-AM",displayName:"Armenian - Armenia",cultureCode:"0x042B"}]},{iso639_1:"as",iso639_2:"asm",iso639_2en:"asm",iso639_3:"asm",name:["Assamese"],nativeName:["অসমীয়া"],direction:"LTR",family:"Indo-European"},{iso639_1:"av",iso639_2:"ava",iso639_2en:"ava",iso639_3:"ava",name:["Avaric"],nativeName:["авар мацӀ","магӀарул мацӀ"],direction:"LTR",family:"Northeast Caucasian"},{iso639_1:"ae",iso639_2:"ave",iso639_2en:"ave",iso639_3:"ave",name:["Avestan"],nativeName:["avesta"],direction:"LTR",family:"Indo-European"},{iso639_1:"ay",iso639_2:"aym",iso639_2en:"aym",iso639_3:"aym",name:["Aymara"],nativeName:["aymar aru"],direction:"LTR",family:"Aymaran",countries:["BOL","PER"]},{iso639_1:"az",iso639_2:"aze",iso639_2en:"aze",iso639_3:"aze",name:["Azerbaijani"],nativeName:["azərbaycan dili"],direction:"LTR",family:"Turkic",countries:["AZE"],langCultureMs:[{langCultureName:"Cy-az-AZ",displayName:"Azeri (Cyrillic) - Azerbaijan",cultureCode:"0x082C"},{langCultureName:"Lt-az-AZ",displayName:"Azeri (Latin) - Azerbaijan",cultureCode:"0x042C"}]},{iso639_1:"bm",iso639_2:"bam",iso639_2en:"bam",iso639_3:"bam",name:["Bambara"],nativeName:["bamanankan"],direction:"LTR",family:"Niger–Congo",countries:["MLI"]},{iso639_1:"ba",iso639_2:"bak",iso639_2en:"bak",iso639_3:"bak",name:["Bashkir"],nativeName:["башҡорт теле"],direction:"LTR",family:"Turkic"},{iso639_1:"eu",iso639_2:"eus",iso639_2en:"baq",iso639_3:"eus",name:["Basque"],nativeName:["euskara","euskera"],direction:"LTR",family:"Language isolate",langCultureMs:[{langCultureName:"eu-ES",displayName:"Basque - Basque",cultureCode:"0x042D"}]},{iso639_1:"be",iso639_2:"bel",iso639_2en:"bel",iso639_3:"bel",name:["Belarusian"],nativeName:["беларуская мова"],direction:"LTR",family:"Indo-European",countries:["BLR"],langCultureMs:[{langCultureName:"be-BY",displayName:"Belarusian - Belarus",cultureCode:"0x0423"}]},{iso639_1:"bn",iso639_2:"ben",iso639_2en:"ben",iso639_3:"ben",name:["Bengali","Bangla"],nativeName:["বাংলা"],direction:"LTR",family:"Indo-European",countries:["BGD","IND"]},{iso639_1:"",iso639_2:"ber",iso639_2en:"ber",iso639_3:"ber",name:["Berber"],nativeName:["Tamaziɣt","Tamazight","ⵜⴰⵎⴰⵣⵉⵖⵜ"],direction:"LTR",family:"Afro-Asiatic",countries:["DZA","MAR"]},{iso639_1:"bh",iso639_2:"bih",iso639_2en:"bih",iso639_3:"",name:["Bihari"],nativeName:["भोजपुरी"],direction:"LTR",family:"Indo-European"},{iso639_1:"bi",iso639_2:"bis",iso639_2en:"bis",iso639_3:"bis",name:["Bislama"],nativeName:["Bislama"],direction:"LTR",family:"Creole",countries:["VUT"]},{iso639_1:"bs",iso639_2:"bos",iso639_2en:"bos",iso639_3:"bos",name:["Bosnian"],nativeName:["bosanski jezik"],direction:"LTR",family:"Indo-European",countries:["BIH"]},{iso639_1:"br",iso639_2:"bre",iso639_2en:"bre",iso639_3:"bre",name:["Breton"],nativeName:["brezhoneg"],direction:"LTR",family:"Indo-European"},{iso639_1:"bg",iso639_2:"bul",iso639_2en:"bul",iso639_3:"bul",name:["Bulgarian"],nativeName:["български език"],direction:"LTR",family:"Indo-European",countries:["BGR"],langCultureMs:[{langCultureName:"bg-BG",displayName:"Bulgarian - Bulgaria",cultureCode:"0x0402"}]},{iso639_1:"my",iso639_2:"mya",iso639_2en:"bur",iso639_3:"mya",name:["Burmese"],nativeName:["ဗမာစာ"],direction:"LTR",family:"Sino-Tibetan",countries:["MMR"]},{iso639_1:"ca",iso639_2:"cat",iso639_2en:"cat",iso639_3:"cat",name:["Catalan","Valencian"],nativeName:["català","valencià"],direction:"LTR",family:"Indo-European",countries:["AND"],langCultureMs:[{langCultureName:"ca-ES",displayName:"Catalan - Catalan",cultureCode:"0x0403"}]},{iso639_1:"ch",iso639_2:"cha",iso639_2en:"cha",iso639_3:"cha",name:["Chamorro"],nativeName:["Chamoru"],direction:"LTR",family:"Austronesian"},{iso639_1:"ce",iso639_2:"che",iso639_2en:"che",iso639_3:"che",name:["Chechen"],nativeName:["нохчийн мотт"],direction:"LTR",family:"Northeast Caucasian"},{iso639_1:"ny",iso639_2:"nya",iso639_2en:"nya",iso639_3:"nya",name:["Chichewa","Chewa","Nyanja"],nativeName:["chiCheŵa","chinyanja"],direction:"LTR",family:"Niger–Congo",countries:["MWI"]},{iso639_1:"zh",iso639_2:"zho",iso639_2en:"chi",iso639_3:"zho",name:["Chinese"],nativeName:["中文 (Zhōngwén)","汉语","漢語"],direction:"LTR",family:"Sino-Tibetan",countries:["HKG","MAC","CHN","TWN","SGP"],langCultureMs:[{langCultureName:"zh-CN",displayName:"Chinese - China",cultureCode:"0x0804"},{langCultureName:"zh-HK",displayName:"Chinese - Hong Kong SAR",cultureCode:"0x0C04"},{langCultureName:"zh-MO",displayName:"Chinese - Macau SAR",cultureCode:"0x1404"},{langCultureName:"zh-TW",displayName:"Chinese - Taiwan",cultureCode:"0x0404"},{langCultureName:"zh-CHS",displayName:"Chinese (Simplified)",cultureCode:"0x0004"},{langCultureName:"zh-CHT",displayName:"Chinese (Traditional)",cultureCode:"0x7C04"}]},{iso639_1:"cv",iso639_2:"chv",iso639_2en:"chv",iso639_3:"chv",name:["Chuvash"],nativeName:["чӑваш чӗлхи"],direction:"LTR",family:"Turkic"},{iso639_1:"kw",iso639_2:"cor",iso639_2en:"cor",iso639_3:"cor",name:["Cornish"],nativeName:["Kernewek"],direction:"LTR",family:"Indo-European"},{iso639_1:"co",iso639_2:"cos",iso639_2en:"cos",iso639_3:"cos",name:["Corsican"],nativeName:["corsu","lingua corsa"],direction:"LTR",family:"Indo-European"},{iso639_1:"cr",iso639_2:"cre",iso639_2en:"cre",iso639_3:"cre",name:["Cree"],nativeName:["ᓀᐦᐃᔭᐍᐏᐣ"],direction:"LTR",family:"Algonquian"},{iso639_1:"hr",iso639_2:"hrv",iso639_2en:"hrv",iso639_3:"hrv",name:["Croatian"],nativeName:["hrvatski jezik"],direction:"LTR",family:"Indo-European",countries:["HRV","BIH"],langCultureMs:[{langCultureName:"hr-HR",displayName:"Croatian - Croatia",cultureCode:"0x041A"}]},{iso639_1:"cs",iso639_2:"ces",iso639_2en:"cze",iso639_3:"ces",name:["Czech"],nativeName:["čeština","český jazyk"],direction:"LTR",family:"Indo-European",countries:["CZE","SVK"],langCultureMs:[{langCultureName:"cs-CZ",displayName:"Czech - Czech Republic",cultureCode:"0x0405"}]},{iso639_1:"da",iso639_2:"dan",iso639_2en:"dan",iso639_3:"dan",name:["Danish"],nativeName:["dansk"],direction:"LTR",family:"Indo-European",countries:["DNK","FRO"],langCultureMs:[{langCultureName:"da-DK",displayName:"Danish - Denmark",cultureCode:"0x0406"}]},{iso639_1:"",iso639_2:"",iso639_2en:"",iso639_3:"prs",name:["Dari"],nativeName:["فارسی دری"],direction:"LTR",family:"Indo-European",countries:["AFG"]},{iso639_1:"dv",iso639_2:"div",iso639_2en:"div",iso639_3:"div",name:["Divehi","Dhivehi","Maldivian"],nativeName:["ދިވެހި"],direction:"RTL",family:"Indo-European",countries:["MDV"],langCultureMs:[{langCultureName:"div-MV",displayName:"Dhivehi - Maldives",cultureCode:"0x0465"}]},{iso639_1:"nl",iso639_2:"nld",iso639_2en:"dut",iso639_3:"nld",name:["Dutch"],nativeName:["Nederlands","Vlaams"],direction:"LTR",family:"Indo-European",countries:["BEL","NLD","ABW","CUW","SXM","SUR"],langCultureMs:[{langCultureName:"nl-BE",displayName:"Dutch - Belgium",cultureCode:"0x0813"},{langCultureName:"nl-NL",displayName:"Dutch - The Netherlands",cultureCode:"0x0413"}]},{iso639_1:"dz",iso639_2:"dzo",iso639_2en:"dzo",iso639_3:"dzo",name:["Dzongkha"],nativeName:["རྫོང་ཁ"],direction:"LTR",family:"Sino-Tibetan",countries:["BTN"]},{iso639_1:"en",iso639_2:"eng",iso639_2en:"eng",iso639_3:"eng",name:["English"],nativeName:["English"],direction:"LTR",family:"Indo-European",countries:["ATG","AUS","BHS","BRB","BLZ","BWA","CMR","CAN","CUW","DMA","ERI","FJI","GMB","GHA","GRD","GUY","HKG","IND","IRL","JAM","KEN","KIR","LSO","LBR","MWI","MYS","MLT","MHL","MUS","FSM","NAM","NRU","NZL","NGA","PAK","PLW","PNG","PHL","RWA","KNA","LCA","VCT","WSM","SYC","SLE","SGP","SXM","SLB","ZAF","SSD","LKA","SDN","SWZ","TZA","TON","TTO","TUV","UGA","GBR","USA","VUT","ZMB","ZWE"],langCultureMs:[{langCultureName:"en-AU",displayName:"English - Australia",cultureCode:"0x0C09"},{langCultureName:"en-BZ",displayName:"English - Belize",cultureCode:"0x2809"},{langCultureName:"en-CA",displayName:"English - Canada",cultureCode:"0x1009"},{langCultureName:"en-CB",displayName:"English - Caribbean",cultureCode:"0x2409"},{langCultureName:"en-IE",displayName:"English - Ireland",cultureCode:"0x1809"},{langCultureName:"en-JM",displayName:"English - Jamaica",cultureCode:"0x2009"},{langCultureName:"en-NZ",displayName:"English - New Zealand",cultureCode:"0x1409"},{langCultureName:"en-PH",displayName:"English - Philippines",cultureCode:"0x3409"},{langCultureName:"en-ZA",displayName:"English - South Africa",cultureCode:"0x1C09"},{langCultureName:"en-TT",displayName:"English - Trinidad and Tobago",cultureCode:"0x2C09"},{langCultureName:"en-GB",displayName:"English - United Kingdom",cultureCode:"0x0809"},{langCultureName:"en-US",displayName:"English - United States",cultureCode:"0x0409"},{langCultureName:"en-ZW",displayName:"English - Zimbabwe",cultureCode:"0x3009"},{langCultureName:"en-SG",displayName:"English - Singapore",cultureCode:"0x1004"}]},{iso639_1:"eo",iso639_2:"epo",iso639_2en:"epo",iso639_3:"epo",name:["Esperanto"],nativeName:["Esperanto"],direction:"LTR",family:"Constructed"},{iso639_1:"et",iso639_2:"est",iso639_2en:"est",iso639_3:"est",name:["Estonian"],nativeName:["eesti","eesti keel"],direction:"LTR",family:"Uralic",countries:["EST"],langCultureMs:[{langCultureName:"et-EE",displayName:"Estonian - Estonia",cultureCode:"0x0425"}]},{iso639_1:"ee",iso639_2:"ewe",iso639_2en:"ewe",iso639_3:"ewe",name:["Ewe"],nativeName:["Eʋegbe"],direction:"LTR",family:"Niger–Congo",countries:["GHA","TGO"]},{iso639_1:"fo",iso639_2:"fao",iso639_2en:"fao",iso639_3:"fao",name:["Faroese"],nativeName:["føroyskt"],direction:"LTR",family:"Indo-European",langCultureMs:[{langCultureName:"fo-FO",displayName:"Faroese - Faroe Islands",cultureCode:"0x0438"}]},{iso639_1:"fj",iso639_2:"fij",iso639_2en:"fij",iso639_3:"fij",name:["Fijian"],nativeName:["vosa Vakaviti"],direction:"LTR",family:"Austronesian",countries:["FJI"]},{iso639_1:"fi",iso639_2:"fin",iso639_2en:"fin",iso639_3:"fin",name:["Finnish"],nativeName:["suomi","suomen kieli"],direction:"LTR",family:"Uralic",countries:["FIN"],langCultureMs:[{langCultureName:"fi-FI",displayName:"Finnish - Finland",cultureCode:"0x040B"}]},{iso639_1:"fr",iso639_2:"fra",iso639_2en:"fre",iso639_3:"fra",name:["French"],nativeName:["français","langue française"],direction:"LTR",family:"Indo-European",countries:["BEL","BEN","BFA","BDI","CMR","CAN","CAF","TCD","COM","CIV","COD","COG","DJI","GNQ","FRA","GUF","PYF","GLP","MTQ","MYT","NCL","REU","BLM","SPM","WLF","GAB","GIN","HTI","ITA","JEY","LUX","MDG","MLI","MUS","MCO","NER","RWA","SEN","SYC","CHE","TGO","VUT"],langCultureMs:[{langCultureName:"fr-BE",displayName:"French - Belgium",cultureCode:"0x080C"},{langCultureName:"fr-CA",displayName:"French - Canada",cultureCode:"0x0C0C"},{langCultureName:"fr-FR",displayName:"French - France",cultureCode:"0x040C"},{langCultureName:"fr-LU",displayName:"French - Luxembourg",cultureCode:"0x140C"},{langCultureName:"fr-MC",displayName:"French - Monaco",cultureCode:"0x180C"},{langCultureName:"fr-CH",displayName:"French - Switzerland",cultureCode:"0x100C"}]},{iso639_1:"ff",iso639_2:"ful",iso639_2en:"ful",iso639_3:"ful",name:["Fula","Fulah","Pulaar","Pular"],nativeName:["Fulfulde","Pulaar","Pular"],direction:"LTR",family:"Niger–Congo",countries:["BEN","BFA","MLI","NER","SEN"]},{iso639_1:"gl",iso639_2:"glg",iso639_2en:"glg",iso639_3:"glg",name:["Galician"],nativeName:["galego"],direction:"LTR",family:"Indo-European",langCultureMs:[{langCultureName:"gl-ES",displayName:"Galician - Galician",cultureCode:"0x0456"}]},{iso639_1:"ka",iso639_2:"kat",iso639_2en:"geo",iso639_3:"kat",name:["Georgian"],nativeName:["ქართული"],direction:"LTR",family:"South Caucasian",countries:["GEO"],langCultureMs:[{langCultureName:"ka-GE",displayName:"Georgian - Georgia",cultureCode:"0x0437"}]},{iso639_1:"de",iso639_2:"deu",iso639_2en:"ger",iso639_3:"deu",name:["German"],nativeName:["Deutsch"],direction:"LTR",family:"Indo-European",countries:["AUT","BEL","DEU","LIE","LUX","ITA","CHE"],langCultureMs:[{langCultureName:"de-AT",displayName:"German - Austria",cultureCode:"0x0C07"},{langCultureName:"de-DE",displayName:"German - Germany",cultureCode:"0x0407"},{langCultureName:"de-LI",displayName:"German - Liechtenstein",cultureCode:"0x1407"},{langCultureName:"de-LU",displayName:"German - Luxembourg",cultureCode:"0x1007"},{langCultureName:"de-CH",displayName:"German - Switzerland",cultureCode:"0x0807"}]},{iso639_1:"el",iso639_2:"ell",iso639_2en:"gre",iso639_3:"ell",name:["Greek"],nativeName:["ελληνικά"],direction:"LTR",family:"Indo-European",countries:["GRC","CYP"],langCultureMs:[{langCultureName:"el-GR",displayName:"Greek - Greece",cultureCode:"0x0408"}]},{iso639_1:"gn",iso639_2:"grn",iso639_2en:"grn",iso639_3:"grn",name:["Guaraní"],nativeName:["Avañe'ẽ"],direction:"LTR",family:"Tupian",countries:["PRY","BOL"]},{iso639_1:"gu",iso639_2:"guj",iso639_2en:"guj",iso639_3:"guj",name:["Gujarati"],nativeName:["ગુજરાતી"],direction:"LTR",family:"Indo-European",countries:["IND"],langCultureMs:[{langCultureName:"gu-IN",displayName:"Gujarati - India",cultureCode:"0x0447"}]},{iso639_1:"ht",iso639_2:"hat",iso639_2en:"hat",iso639_3:"hat",name:["Haitian","Haitian Creole"],nativeName:["Kreyòl ayisyen"],direction:"LTR",family:"Creole",countries:["HTI"]},{iso639_1:"ha",iso639_2:"hau",iso639_2en:"hau",iso639_3:"hau",name:["Hausa"],nativeName:["(Hausa) هَوُسَ"],direction:"LTR",family:"Afro-Asiatic",countries:["NER","NGA"]},{iso639_1:"he",iso639_2:"heb",iso639_2en:"heb",iso639_3:"heb",name:["Hebrew"],nativeName:["עברית"],direction:"RTL",family:"Afro-Asiatic",countries:["ISR"],langCultureMs:[{langCultureName:"he-IL",displayName:"Hebrew - Israel",cultureCode:"0x040D"}]},{iso639_1:"hz",iso639_2:"her",iso639_2en:"her",iso639_3:"her",name:["Herero"],nativeName:["Otjiherero"],direction:"LTR",family:"Niger–Congo"},{iso639_1:"hi",iso639_2:"hin",iso639_2en:"hin",iso639_3:"hin",name:["Hindi"],nativeName:["हिन्दी","हिंदी"],direction:"LTR",family:"Indo-European",countries:["IND","FJI"],langCultureMs:[{langCultureName:"hi-IN",displayName:"Hindi - India",cultureCode:"0x0439"}]},{iso639_1:"ho",iso639_2:"hmo",iso639_2en:"hmo",iso639_3:"hmo",name:["Hiri Motu"],nativeName:["Hiri Motu"],direction:"LTR",family:"Austronesian",countries:["PNG"]},{iso639_1:"hu",iso639_2:"hun",iso639_2en:"hun",iso639_3:"hun",name:["Hungarian"],nativeName:["magyar"],direction:"LTR",family:"Uralic",countries:["HUN"],langCultureMs:[{langCultureName:"hu-HU",displayName:"Hungarian - Hungary",cultureCode:"0x040E"}]},{iso639_1:"ia",iso639_2:"ina",iso639_2en:"ina",iso639_3:"ina",name:["Interlingua"],nativeName:["Interlingua"],direction:"LTR",family:"Constructed"},{iso639_1:"id",iso639_2:"ind",iso639_2en:"ind",iso639_3:"ind",name:["Indonesian"],nativeName:["Bahasa Indonesia"],direction:"LTR",family:"Austronesian",countries:["IDN"],langCultureMs:[{langCultureName:"id-ID",displayName:"Indonesian - Indonesia",cultureCode:"0x0421"}]},{iso639_1:"ie",iso639_2:"ile",iso639_2en:"ile",iso639_3:"ile",name:["Interlingue"],nativeName:["Interlingue"],direction:"LTR",family:"Constructed"},{iso639_1:"ga",iso639_2:"gle",iso639_2en:"gle",iso639_3:"gle",name:["Irish"],nativeName:["Gaeilge"],direction:"LTR",family:"Indo-European",countries:["IRL"]},{iso639_1:"ig",iso639_2:"ibo",iso639_2en:"ibo",iso639_3:"ibo",name:["Igbo"],nativeName:["Asụsụ Igbo"],direction:"LTR",family:"Niger–Congo",countries:["NGA"]},{iso639_1:"ik",iso639_2:"ipk",iso639_2en:"ipk",iso639_3:"ipk",name:["Inupiaq"],nativeName:["Iñupiaq","Iñupiatun"],direction:"LTR",family:"Eskimo–Aleut"},{iso639_1:"io",iso639_2:"ido",iso639_2en:"ido",iso639_3:"ido",name:["Ido"],nativeName:["Ido"],direction:"LTR",family:"Constructed"},{iso639_1:"is",iso639_2:"isl",iso639_2en:"ice",iso639_3:"isl",name:["Icelandic"],nativeName:["Íslenska"],direction:"LTR",family:"Indo-European",countries:["ISL"],langCultureMs:[{langCultureName:"is-IS",displayName:"Icelandic - Iceland",cultureCode:"0x040F"}]},{iso639_1:"it",iso639_2:"ita",iso639_2en:"ita",iso639_3:"ita",name:["Italian"],nativeName:["italiano"],direction:"LTR",family:"Indo-European",countries:["ITA","HRV","SMR","SVN","CHE","VAT"],langCultureMs:[{langCultureName:"it-IT",displayName:"Italian - Italy",cultureCode:"0x0410"},{langCultureName:"it-CH",displayName:"Italian - Switzerland",cultureCode:"0x0810"}]},{iso639_1:"iu",iso639_2:"iku",iso639_2en:"iku",iso639_3:"iku",name:["Inuktitut"],nativeName:["ᐃᓄᒃᑎᑐᑦ"],direction:"LTR",family:"Eskimo–Aleut"},{iso639_1:"ja",iso639_2:"jpn",iso639_2en:"jpn",iso639_3:"jpn",name:["Japanese"],nativeName:["日本語 (にほんご)"],direction:"LTR",family:"Japonic",countries:["JPN"],langCultureMs:[{langCultureName:"ja-JP",displayName:"Japanese - Japan",cultureCode:"0x0411"}]},{iso639_1:"jv",iso639_2:"jav",iso639_2en:"jav",iso639_3:"jav",name:["Javanese"],nativeName:["basa Jawa"],direction:"LTR",family:"Austronesian"},{iso639_1:"kl",iso639_2:"kal",iso639_2en:"kal",iso639_3:"kal",name:["Kalaallisut","Greenlandic"],nativeName:["kalaallisut","kalaallit oqaasii"],direction:"LTR",family:"Eskimo–Aleut"},{iso639_1:"kn",iso639_2:"kan",iso639_2en:"kan",iso639_3:"kan",name:["Kannada"],nativeName:["ಕನ್ನಡ"],direction:"LTR",family:"Dravidian",langCultureMs:[{langCultureName:"kn-IN",displayName:"Kannada - India",cultureCode:"0x044B"}]},{iso639_1:"kr",iso639_2:"kau",iso639_2en:"kau",iso639_3:"kau",name:["Kanuri"],nativeName:["Kanuri"],direction:"LTR",family:"Nilo-Saharan",countries:["NER"]},{iso639_1:"ks",iso639_2:"kas",iso639_2en:"kas",iso639_3:"kas",name:["Kashmiri"],nativeName:["कश्मीरी","كشميري‎"],direction:"LTR",family:"Indo-European"},{iso639_1:"kk",iso639_2:"kaz",iso639_2en:"kaz",iso639_3:"kaz",name:["Kazakh"],nativeName:["қазақ тілі"],direction:"LTR",family:"Turkic",countries:["KAZ"],langCultureMs:[{langCultureName:"kk-KZ",displayName:"Kazakh - Kazakhstan",cultureCode:"0x043F"}]},{iso639_1:"km",iso639_2:"khm",iso639_2en:"khm",iso639_3:"khm",name:["Khmer"],nativeName:["ខ្មែរ","ខេមរភាសា","ភាសាខ្មែរ"],direction:"LTR",family:"Austroasiatic",countries:["KHM"]},{iso639_1:"ki",iso639_2:"kik",iso639_2en:"kik",iso639_3:"kik",name:["Kikuyu","Gikuyu"],nativeName:["Gĩkũyũ"],direction:"LTR",family:"Niger–Congo"},{iso639_1:"rw",iso639_2:"kin",iso639_2en:"kin",iso639_3:"kin",name:["Kinyarwanda"],nativeName:["Ikinyarwanda"],direction:"LTR",family:"Niger–Congo",countries:["RWA"]},{iso639_1:"ky",iso639_2:"kir",iso639_2en:"kir",iso639_3:"kir",name:["Kyrgyz"],nativeName:["Кыргызча","Кыргыз тили"],direction:"LTR",family:"Turkic",countries:["KGZ"],langCultureMs:[{langCultureName:"ky-KZ",displayName:"Kyrgyz - Kazakhstan",cultureCode:"0x0440"}]},{iso639_1:"kv",iso639_2:"kom",iso639_2en:"kom",iso639_3:"kom",name:["Komi"],nativeName:["коми кыв"],direction:"LTR",family:"Uralic"},{iso639_1:"kg",iso639_2:"kon",iso639_2en:"kon",iso639_3:"kon",name:["Kongo"],nativeName:["Kikongo"],direction:"LTR",family:"Niger–Congo",countries:["AGO","COD","COG"]},{iso639_1:"ko",iso639_2:"kor",iso639_2en:"kor",iso639_3:"kor",name:["Korean"],nativeName:["한국어","조선어"],direction:"LTR",family:"Koreanic",countries:["PRK","KOR"],langCultureMs:[{langCultureName:"ko-KR",displayName:"Korean - Korea",cultureCode:"0x0412"}]},{iso639_1:"ku",iso639_2:"kur",iso639_2en:"kur",iso639_3:"kur",name:["Kurdish"],nativeName:["Kurdî","كوردی‎"],direction:"RTL",family:"Indo-European",countries:["IRQ"]},{iso639_1:"kj",iso639_2:"kua",iso639_2en:"kua",iso639_3:"kua",name:["Kwanyama","Kuanyama"],nativeName:["Kuanyama"],direction:"LTR",family:"Niger–Congo",countries:["AGO"]},{iso639_1:"la",iso639_2:"lat",iso639_2en:"lat",iso639_3:"lat",name:["Latin"],nativeName:["latine","lingua latina"],direction:"LTR",family:"Indo-European",countries:["VAT"]},{iso639_1:"lb",iso639_2:"ltz",iso639_2en:"ltz",iso639_3:"ltz",name:["Luxembourgish","Letzeburgesch"],nativeName:["Lëtzebuergesch"],direction:"LTR",family:"Indo-European",countries:["LUX"]},{iso639_1:"lg",iso639_2:"lug",iso639_2en:"lug",iso639_3:"lug",name:["Ganda"],nativeName:["Luganda"],direction:"LTR",family:"Niger–Congo"},{iso639_1:"li",iso639_2:"lim",iso639_2en:"lim",iso639_3:"lim",name:["Limburgish","Limburgan","Limburger"],nativeName:["Limburgs"],direction:"LTR",family:"Indo-European"},{iso639_1:"ln",iso639_2:"lin",iso639_2en:"lin",iso639_3:"lin",name:["Lingala"],nativeName:["Lingála"],direction:"LTR",family:"Niger–Congo",countries:["COD","COG"]},{iso639_1:"lo",iso639_2:"lao",iso639_2en:"lao",iso639_3:"lao",name:["Lao"],nativeName:["ພາສາລາວ"],direction:"LTR",family:"Tai–Kadai",countries:["LAO"]},{iso639_1:"lt",iso639_2:"lit",iso639_2en:"lit",iso639_3:"lit",name:["Lithuanian"],nativeName:["lietuvių kalba"],direction:"LTR",family:"Indo-European",countries:["LTU"],langCultureMs:[{langCultureName:"lt-LT",displayName:"Lithuanian - Lithuania",cultureCode:"0x0427"}]},{iso639_1:"lu",iso639_2:"lub",iso639_2en:"lub",iso639_3:"lub",name:["Luba-Katanga"],nativeName:["Tshiluba"],direction:"LTR",family:"Niger–Congo",countries:["COD"]},{iso639_1:"lv",iso639_2:"lav",iso639_2en:"lav",iso639_3:"lav",name:["Latvian"],nativeName:["latviešu valoda"],direction:"LTR",family:"Indo-European",countries:["LVA"],langCultureMs:[{langCultureName:"lv-LV",displayName:"Latvian - Latvia",cultureCode:"0x0426"}]},{iso639_1:"gv",iso639_2:"glv",iso639_2en:"glv",iso639_3:"glv",name:["Manx"],nativeName:["Gaelg","Gailck"],direction:"LTR",family:"Indo-European"},{iso639_1:"mk",iso639_2:"mkd",iso639_2en:"mac",iso639_3:"mkd",name:["Macedonian"],nativeName:["македонски јазик"],direction:"LTR",family:"Indo-European",countries:["MKD"],langCultureMs:[{langCultureName:"mk-MK",displayName:"Macedonian (FYROM)",cultureCode:"0x042F"}]},{iso639_1:"mg",iso639_2:"mlg",iso639_2en:"mlg",iso639_3:"mlg",name:["Malagasy"],nativeName:["fiteny malagasy"],direction:"LTR",family:"Austronesian",countries:["MDG"]},{iso639_1:"ms",iso639_2:"msa",iso639_2en:"may",iso639_3:"msa",name:["Malay"],nativeName:["bahasa Melayu","بهاس ملايو‎"],direction:"LTR",family:"Austronesian",countries:["MYS","BRN","SGP","IDN"],langCultureMs:[{langCultureName:"ms-BN",displayName:"Malay - Brunei",cultureCode:"0x083E"},{langCultureName:"ms-MY",displayName:"Malay - Malaysia",cultureCode:"0x043E"}]},{iso639_1:"ml",iso639_2:"mal",iso639_2en:"mal",iso639_3:"mal",name:["Malayalam"],nativeName:["മലയാളം"],direction:"LTR",family:"Dravidian"},{iso639_1:"mt",iso639_2:"mlt",iso639_2en:"mlt",iso639_3:"mlt",name:["Maltese"],nativeName:["Malti"],direction:"LTR",family:"Afro-Asiatic",countries:["MLT"]},{iso639_1:"mi",iso639_2:"mri",iso639_2en:"mao",iso639_3:"mri",name:["Māori"],nativeName:["te reo Māori"],direction:"LTR",family:"Austronesian",countries:["NZL"]},{iso639_1:"mr",iso639_2:"mar",iso639_2en:"mar",iso639_3:"mar",name:["Marathi (Marāṭhī)"],nativeName:["मराठी"],direction:"LTR",family:"Indo-European",langCultureMs:[{langCultureName:"mr-IN",displayName:"Marathi - India",cultureCode:"0x044E"}]},{iso639_1:"mh",iso639_2:"mah",iso639_2en:"mah",iso639_3:"mah",name:["Marshallese"],nativeName:["Kajin M̧ajeļ"],direction:"LTR",family:"Austronesian",countries:["MHL"]},{iso639_1:"mn",iso639_2:"mon",iso639_2en:"mon",iso639_3:"mon",name:["Mongolian"],nativeName:["монгол"],direction:"LTR",family:"Mongolic",countries:["MNG"],langCultureMs:[{langCultureName:"mn-MN",displayName:"Mongolian - Mongolia",cultureCode:"0x0450"}]},{iso639_1:"na",iso639_2:"nau",iso639_2en:"nau",iso639_3:"nau",name:["Nauru"],nativeName:["Ekakairũ Naoero"],direction:"LTR",family:"Austronesian"},{iso639_1:"nv",iso639_2:"nav",iso639_2en:"nav",iso639_3:"nav",name:["Navajo","Navaho"],nativeName:["Diné bizaad","Dinékʼehǰí"],direction:"LTR",family:"Dené–Yeniseian"},{iso639_1:"nb",iso639_2:"nob",iso639_2en:"nob",iso639_3:"nob",name:["Norwegian Bokmål"],nativeName:["Norsk bokmål"],direction:"LTR",family:"Indo-European",countries:["NOR"],langCultureMs:[{langCultureName:"nb-NO",displayName:"Norwegian (Bokmål) - Norway",cultureCode:"0x0414"}]},{iso639_1:"nd",iso639_2:"nde",iso639_2en:"nde",iso639_3:"nde",name:["Northern Ndebele"],nativeName:["isiNdebele"],direction:"LTR",family:"Niger–Congo",countries:["ZAF","ZWE"]},{iso639_1:"",iso639_2:"nso",iso639_2en:"nso",iso639_3:"nso",name:["Northern Sotho"],nativeName:["Sesotho sa Leboa"],direction:"LTR",family:"Niger-Congo",countries:["ZAF"]},{iso639_1:"ne",iso639_2:"nep",iso639_2en:"nep",iso639_3:"nep",name:["Nepali"],nativeName:["नेपाली"],direction:"LTR",family:"Indo-European",countries:["NPL"]},{iso639_1:"ng",iso639_2:"ndo",iso639_2en:"ndo",iso639_3:"ndo",name:["Ndonga"],nativeName:["Owambo"],direction:"LTR",family:"Niger–Congo"},{iso639_1:"nn",iso639_2:"nno",iso639_2en:"nno",iso639_3:"nno",name:["Norwegian Nynorsk"],nativeName:["Norsk nynorsk"],direction:"LTR",family:"Indo-European",countries:["NOR"],langCultureMs:[{langCultureName:"nn-NO",displayName:"Norwegian (Nynorsk) - Norway",cultureCode:"0x0814"}]},{iso639_1:"no",iso639_2:"nor",iso639_2en:"nor",iso639_3:"nor",name:["Norwegian"],nativeName:["Norsk"],direction:"LTR",family:"Indo-European",countries:["NOR"]},{iso639_1:"ii",iso639_2:"iii",iso639_2en:"iii",iso639_3:"iii",name:["Nuosu"],nativeName:["Nuosuhxop"],direction:"LTR",family:"Sino-Tibetan"},{iso639_1:"nr",iso639_2:"nbl",iso639_2en:"nbl",iso639_3:"nbl",name:["Southern Ndebele"],nativeName:["isiNdebele"],direction:"LTR",family:"Niger–Congo",countries:["ZAF"]},{iso639_1:"oc",iso639_2:"oci",iso639_2en:"oci",iso639_3:"oci",name:["Occitan"],nativeName:["occitan","lenga d'òc"],direction:"LTR",family:"Indo-European"},{iso639_1:"oj",iso639_2:"oji",iso639_2en:"oji",iso639_3:"oji",name:["Ojibwe","Ojibwa"],nativeName:["ᐊᓂᔑᓈᐯᒧᐎᓐ"],direction:"LTR",family:"Algonquian"},{iso639_1:"cu",iso639_2:"chu",iso639_2en:"chu",iso639_3:"chu",name:["Old Church Slavonic","Church Slavonic","Old Bulgarian"],nativeName:["ѩзыкъ словѣньскъ"],direction:"LTR",family:"Indo-European"},{iso639_1:"om",iso639_2:"orm",iso639_2en:"orm",iso639_3:"orm",name:["Oromo"],nativeName:["Afaan Oromoo"],direction:"LTR",family:"Afro-Asiatic"},{iso639_1:"or",iso639_2:"ori",iso639_2en:"ori",iso639_3:"ori",name:["Oriya"],nativeName:["ଓଡ଼ିଆ"],direction:"LTR",family:"Indo-European"},{iso639_1:"os",iso639_2:"oss",iso639_2en:"oss",iso639_3:"oss",name:["Ossetian","Ossetic"],nativeName:["ирон æвзаг"],direction:"LTR",family:"Indo-European",countries:[]},{iso639_1:"pa",iso639_2:"pan",iso639_2en:"pan",iso639_3:"pan",name:["Panjabi","Punjabi"],nativeName:["ਪੰਜਾਬੀ","پنجابی‎"],direction:"LTR",family:"Indo-European",countries:["IND"],langCultureMs:[{langCultureName:"pa-IN",displayName:"Punjabi - India",cultureCode:"0x0446"}]},{iso639_1:"pi",iso639_2:"pli",iso639_2en:"pli",iso639_3:"pli",name:["Pāli"],nativeName:["पाऴि"],direction:"LTR",family:"Indo-European"},{iso639_1:"fa",iso639_2:"fas",iso639_2en:"per",iso639_3:"fas",name:["Persian","Farsi"],nativeName:["فارسی"],direction:"RTL",family:"Indo-European",countries:["IRN","AFG","TJK"],langCultureMs:[{langCultureName:"fa-IR",displayName:"Farsi - Iran",cultureCode:"0x0429"}]},{iso639_1:"pl",iso639_2:"pol",iso639_2en:"pol",iso639_3:"pol",name:["Polish"],nativeName:["język polski","polszczyzna"],direction:"LTR",family:"Indo-European",countries:["POL"],langCultureMs:[{langCultureName:"pl-PL",displayName:"Polish - Poland",cultureCode:"0x0415"}]},{iso639_1:"ps",iso639_2:"pus",iso639_2en:"pus",iso639_3:"pus",name:["Pashto","Pushto"],nativeName:["پښتو"],direction:"RTL",family:"Indo-European",countries:["AFG"]},{iso639_1:"pt",iso639_2:"por",iso639_2en:"por",iso639_3:"por",name:["Portuguese"],nativeName:["português"],direction:"LTR",family:"Indo-European",countries:["AGO","BRA","CPV","TLS","GNQ","GNB","MAC","MOZ","PRT","STP"],langCultureMs:[{langCultureName:"pt-BR",displayName:"Portuguese - Brazil",cultureCode:"0x0416"},{langCultureName:"pt-PT",displayName:"Portuguese - Portugal",cultureCode:"0x0816"}]},{iso639_1:"qu",iso639_2:"que",iso639_2en:"que",iso639_3:"que",name:["Quechua"],nativeName:["Runa Simi","Kichwa"],direction:"LTR",family:"Quechuan",countries:["BOL","PER"]},{iso639_1:"rm",iso639_2:"roh",iso639_2en:"roh",iso639_3:"roh",name:["Romansh"],nativeName:["rumantsch grischun"],direction:"LTR",family:"Indo-European",countries:["CHE"]},{iso639_1:"rn",iso639_2:"run",iso639_2en:"run",iso639_3:"run",name:["Kirundi"],nativeName:["Ikirundi"],direction:"LTR",family:"Niger–Congo",countries:["BDI"]},{iso639_1:"ro",iso639_2:"ron",iso639_2en:"rum",iso639_3:"ron",name:["Romanian"],nativeName:["limba română"],direction:"LTR",family:"Indo-European",countries:["ROU","MDA"],langCultureMs:[{langCultureName:"ro-RO",displayName:"Romanian - Romania",cultureCode:"0x0418"}]},{iso639_1:"ru",iso639_2:"rus",iso639_2en:"rus",iso639_3:"rus",name:["Russian"],nativeName:["русский язык"],direction:"LTR",family:"Indo-European",countries:["RUS","BLR","KAZ","KGZ","TJK"],langCultureMs:[{langCultureName:"ru-RU",displayName:"Russian - Russia",cultureCode:"0x0419"}]},{iso639_1:"sa",iso639_2:"san",iso639_2en:"san",iso639_3:"san",name:["Sanskrit (Saṁskṛta)"],nativeName:["संस्कृतम्"],direction:"LTR",family:"Indo-European",langCultureMs:[{langCultureName:"sa-IN",displayName:"Sanskrit - India",cultureCode:"0x044F"}]},{iso639_1:"sc",iso639_2:"srd",iso639_2en:"srd",iso639_3:"srd",name:["Sardinian"],nativeName:["sardu"],direction:"LTR",family:"Indo-European"},{iso639_1:"sd",iso639_2:"snd",iso639_2en:"snd",iso639_3:"snd",name:["Sindhi"],nativeName:["सिन्धी","سنڌي، سندھی‎"],direction:"RTL",family:"Indo-European"},{iso639_1:"se",iso639_2:"sme",iso639_2en:"sme",iso639_3:"sme",name:["Northern Sami"],nativeName:["Davvisámegiella"],direction:"LTR",family:"Uralic"},{iso639_1:"sm",iso639_2:"smo",iso639_2en:"smo",iso639_3:"smo",name:["Samoan"],nativeName:["gagana fa'a Samoa"],direction:"LTR",family:"Austronesian"},{iso639_1:"sg",iso639_2:"sag",iso639_2en:"sag",iso639_3:"sag",name:["Sango"],nativeName:["yângâ tî sängö"],direction:"LTR",family:"Creole",countries:["CAF"]},{iso639_1:"sr",iso639_2:"srp",iso639_2en:"srp",iso639_3:"srp",name:["Serbian"],nativeName:["српски језик"],direction:"LTR",family:"Indo-European",countries:["SRB","BIH"],langCultureMs:[{langCultureName:"Cy-sr-SP",displayName:"Serbian (Cyrillic) - Serbia",cultureCode:"0x0C1A"},{langCultureName:"Lt-sr-SP",displayName:"Serbian (Latin) - Serbia",cultureCode:"0x081A"}]},{iso639_1:"gd",iso639_2:"gla",iso639_2en:"gla",iso639_3:"gla",name:["Scottish Gaelic","Gaelic"],nativeName:["Gàidhlig"],direction:"LTR",family:"Indo-European"},{iso639_1:"sn",iso639_2:"sna",iso639_2en:"sna",iso639_3:"sna",name:["Shona"],nativeName:["chiShona"],direction:"LTR",family:"Niger–Congo",countries:["ZWE"]},{iso639_1:"si",iso639_2:"sin",iso639_2en:"sin",iso639_3:"sin",name:["Sinhala","Sinhalese"],nativeName:["සිංහල"],direction:"LTR",family:"Indo-European",countries:["LKA"]},{iso639_1:"sk",iso639_2:"slk",iso639_2en:"slo",iso639_3:"slk",name:["Slovak"],nativeName:["slovenčina","slovenský jazyk"],direction:"LTR",family:"Indo-European",countries:["SVK","CZE"],langCultureMs:[{langCultureName:"sk-SK",displayName:"Slovak - Slovakia",cultureCode:"0x041B"}]},{iso639_1:"sl",iso639_2:"slv",iso639_2en:"slv",iso639_3:"slv",name:["Slovene"],nativeName:["slovenski jezik","slovenščina"],direction:"LTR",family:"Indo-European",countries:["SVN"],langCultureMs:[{langCultureName:"sl-SI",displayName:"Slovenian - Slovenia",cultureCode:"0x0424"}]},{iso639_1:"so",iso639_2:"som",iso639_2en:"som",iso639_3:"som",name:["Somali"],nativeName:["Soomaaliga","af Soomaali"],direction:"LTR",family:"Afro-Asiatic",countries:["DJI","SOM"]},{iso639_1:"st",iso639_2:"sot",iso639_2en:"sot",iso639_3:"sot",name:["Southern Sotho"],nativeName:["Sesotho"],direction:"LTR",family:"Niger–Congo",countries:["LSO","ZAF"]},{iso639_1:"es",iso639_2:"spa",iso639_2en:"spa",iso639_3:"spa",name:["Spanish","Castilian"],nativeName:["español","castellano"],direction:"LTR",family:"Indo-European",countries:["ARG","BOL","CHL","COL","CRI","CUB","DOM","ECU","SLV","GNQ","GTM","HND","MEX","NIC","PAN","PRY","PER","PRI","ESP","URY","VEN","ESH"],langCultureMs:[{langCultureName:"es-AR",displayName:"Spanish - Argentina",cultureCode:"0x2C0A"},{langCultureName:"es-BO",displayName:"Spanish - Bolivia",cultureCode:"0x400A"},{langCultureName:"es-CL",displayName:"Spanish - Chile",cultureCode:"0x340A"},{langCultureName:"es-CO",displayName:"Spanish - Colombia",cultureCode:"0x240A"},{langCultureName:"es-CR",displayName:"Spanish - Costa Rica",cultureCode:"0x140A"},{langCultureName:"es-DO",displayName:"Spanish - Dominican Republic",cultureCode:"0x1C0A"},{langCultureName:"es-EC",displayName:"Spanish - Ecuador",cultureCode:"0x300A"},{langCultureName:"es-SV",displayName:"Spanish - El Salvador",cultureCode:"0x440A"},{langCultureName:"es-GT",displayName:"Spanish - Guatemala",cultureCode:"0x100A"},{langCultureName:"es-HN",displayName:"Spanish - Honduras",cultureCode:"0x480A"},{langCultureName:"es-MX",displayName:"Spanish - Mexico",cultureCode:"0x080A"},{langCultureName:"es-NI",displayName:"Spanish - Nicaragua",cultureCode:"0x4C0A"},{langCultureName:"es-PA",displayName:"Spanish - Panama",cultureCode:"0x180A"},{langCultureName:"es-PY",displayName:"Spanish - Paraguay",cultureCode:"0x3C0A"},{langCultureName:"es-PE",displayName:"Spanish - Peru",cultureCode:"0x280A"},{langCultureName:"es-PR",displayName:"Spanish - Puerto Rico",cultureCode:"0x500A"},{langCultureName:"es-ES",displayName:"Spanish - Spain",cultureCode:"0x0C0A"},{langCultureName:"es-UY",displayName:"Spanish - Uruguay",cultureCode:"0x380A"},{langCultureName:"es-VE",displayName:"Spanish - Venezuela",cultureCode:"0x200A"}]},{iso639_1:"su",iso639_2:"sun",iso639_2en:"sun",iso639_3:"sun",name:["Sundanese"],nativeName:["Basa Sunda"],direction:"LTR",family:"Austronesian"},{iso639_1:"sw",iso639_2:"swa",iso639_2en:"swa",iso639_3:"swa",name:["Swahili"],nativeName:["Kiswahili"],direction:"LTR",family:"Niger–Congo",countries:["COD","KEN","TZA","UGA"],langCultureMs:[{langCultureName:"sw-KE",displayName:"Swahili - Kenya",cultureCode:"0x0441"}]},{iso639_1:"ss",iso639_2:"ssw",iso639_2en:"ssw",iso639_3:"ssw",name:["Swati"],nativeName:["SiSwati"],direction:"LTR",family:"Niger–Congo",countries:["SWZ","ZAF"]},{iso639_1:"sv",iso639_2:"swe",iso639_2en:"swe",iso639_3:"swe",name:["Swedish"],nativeName:["Svenska"],direction:"LTR",family:"Indo-European",countries:["SWE","FIN","ALA"],langCultureMs:[{langCultureName:"sv-FI",displayName:"Swedish - Finland",cultureCode:"0x081D"},{langCultureName:"sv-SE",displayName:"Swedish - Sweden",cultureCode:"0x041D"}]},{iso639_1:"ta",iso639_2:"tam",iso639_2en:"tam",iso639_3:"tam",name:["Tamil"],nativeName:["தமிழ்"],direction:"LTR",family:"Dravidian",countries:["IND","SGP","LKA","MYS","MUS"],langCultureMs:[{langCultureName:"ta-IN",displayName:"Tamil - India",cultureCode:"0x0449"}]},{iso639_1:"te",iso639_2:"tel",iso639_2en:"tel",iso639_3:"tel",name:["Telugu"],nativeName:["తెలుగు"],direction:"LTR",family:"Dravidian",countries:["IND"],langCultureMs:[{langCultureName:"te-IN",displayName:"Telugu - India",cultureCode:"0x044A"}]},{iso639_1:"tg",iso639_2:"tgk",iso639_2en:"tgk",iso639_3:"tgk",name:["Tajik"],nativeName:["тоҷикӣ","toğikī","تاجیکی‎"],direction:"LTR",family:"Indo-European",countries:["TJK"]},{iso639_1:"th",iso639_2:"tha",iso639_2en:"tha",iso639_3:"tha",name:["Thai"],nativeName:["ไทย"],direction:"LTR",family:"Tai–Kadai",countries:["THA"],langCultureMs:[{langCultureName:"th-TH",displayName:"Thai - Thailand",cultureCode:"0x041E"}]},{iso639_1:"ti",iso639_2:"tir",iso639_2en:"tir",iso639_3:"tir",name:["Tigrinya"],nativeName:["ትግርኛ"],direction:"LTR",family:"Afro-Asiatic",countries:["ERI"]},{iso639_1:"bo",iso639_2:"bod",iso639_2en:"tib",iso639_3:"bod",name:["Tibetan Standard","Tibetan","Central"],nativeName:["བོད་ཡིག"],direction:"LTR",family:"Sino-Tibetan"},{iso639_1:"tk",iso639_2:"tuk",iso639_2en:"tuk",iso639_3:"tuk",name:["Turkmen"],nativeName:["Türkmen","Түркмен"],direction:"LTR",family:"Turkic",countries:["TKM"]},{iso639_1:"tl",iso639_2:"tgl",iso639_2en:"tgl",iso639_3:"tgl",name:["Tagalog"],nativeName:["Wikang Tagalog"],direction:"LTR",family:"Austronesian",countries:["PHL"]},{iso639_1:"",iso639_2:"fil",iso639_2en:"fil",iso639_3:"fil",name:["Filipino"],nativeName:["Filipino"],direction:"LTR",family:"Austronesian",countries:["PHL"]},{iso639_1:"tn",iso639_2:"tsn",iso639_2en:"tsn",iso639_3:"tsn",name:["Tswana"],nativeName:["Setswana"],direction:"LTR",family:"Niger–Congo",countries:["BWA","ZAF"]},{iso639_1:"to",iso639_2:"ton",iso639_2en:"ton",iso639_3:"ton",name:["Tonga (Tonga Islands)"],nativeName:["faka Tonga"],direction:"LTR",family:"Austronesian"},{iso639_1:"tr",iso639_2:"tur",iso639_2en:"tur",iso639_3:"tur",name:["Turkish"],nativeName:["Türkçe"],direction:"LTR",family:"Turkic",countries:["TUR","CYP"],langCultureMs:[{langCultureName:"tr-TR",displayName:"Turkish - Turkey",cultureCode:"0x041F"}]},{iso639_1:"ts",iso639_2:"tso",iso639_2en:"tso",iso639_3:"tso",name:["Tsonga"],nativeName:["Xitsonga"],direction:"LTR",family:"Niger–Congo",countries:["ZAF"]},{iso639_1:"tt",iso639_2:"tat",iso639_2en:"tat",iso639_3:"tat",name:["Tatar"],nativeName:["татар теле","tatar tele"],direction:"LTR",family:"Turkic",langCultureMs:[{langCultureName:"tt-RU",displayName:"Tatar - Russia",cultureCode:"0x0444"}]},{iso639_1:"tw",iso639_2:"twi",iso639_2en:"twi",iso639_3:"twi",name:["Twi"],nativeName:["Twi"],direction:"LTR",family:"Niger–Congo"},{iso639_1:"ty",iso639_2:"tah",iso639_2en:"tah",iso639_3:"tah",name:["Tahitian"],nativeName:["Reo Tahiti"],direction:"LTR",family:"Austronesian"},{iso639_1:"ug",iso639_2:"uig",iso639_2en:"uig",iso639_3:"uig",name:["Uyghur","Uighur"],nativeName:["Uyƣurqə","ئۇيغۇرچە‎"],direction:"RTL",family:"Turkic"},{iso639_1:"uk",iso639_2:"ukr",iso639_2en:"ukr",iso639_3:"ukr",name:["Ukrainian"],nativeName:["українська мова"],direction:"LTR",family:"Indo-European",countries:["UKR"],langCultureMs:[{langCultureName:"uk-UA",displayName:"Ukrainian - Ukraine",cultureCode:"0x0422"}]},{iso639_1:"ur",iso639_2:"urd",iso639_2en:"urd",iso639_3:"urd",name:["Urdu"],nativeName:["اردو"],direction:"RTL",family:"Indo-European",countries:["PAK","FJI"],langCultureMs:[{langCultureName:"ur-PK",displayName:"Urdu - Pakistan",cultureCode:"0x0420"}]},{iso639_1:"uz",iso639_2:"uzb",iso639_2en:"uzb",iso639_3:"uzb",name:["Uzbek"],nativeName:["O‘zbek","Ўзбек","أۇزبېك‎"],direction:"LTR",family:"Turkic",countries:["UZB"],langCultureMs:[{langCultureName:"Cy-uz-UZ",displayName:"Uzbek (Cyrillic) - Uzbekistan",cultureCode:"0x0843"},{langCultureName:"Lt-uz-UZ",displayName:"Uzbek (Latin) - Uzbekistan",cultureCode:"0x0443"}]},{iso639_1:"ve",iso639_2:"ven",iso639_2en:"ven",iso639_3:"ven",name:["Venda"],nativeName:["Tshivenḓa"],direction:"LTR",family:"Niger–Congo",countries:["ZAF"]},{iso639_1:"vi",iso639_2:"vie",iso639_2en:"vie",iso639_3:"vie",name:["Vietnamese"],nativeName:["Tiếng Việt"],direction:"LTR",family:"Austroasiatic",countries:["VNM"],langCultureMs:[{langCultureName:"vi-VN",displayName:"Vietnamese - Vietnam",cultureCode:"0x042A"}]},{iso639_1:"vo",iso639_2:"vol",iso639_2en:"vol",iso639_3:"vol",name:["Volapük"],nativeName:["Volapük"],direction:"LTR",family:"Constructed"},{iso639_1:"wa",iso639_2:"wln",iso639_2en:"wln",iso639_3:"wln",name:["Walloon"],nativeName:["walon"],direction:"LTR",family:"Indo-European"},{iso639_1:"cy",iso639_2:"cym",iso639_2en:"wel",iso639_3:"cym",name:["Welsh"],nativeName:["Cymraeg"],direction:"LTR",family:"Indo-European",countries:["GBR"]},{iso639_1:"wo",iso639_2:"wol",iso639_2en:"wol",iso639_3:"wol",name:["Wolof"],nativeName:["Wollof"],direction:"LTR",family:"Niger–Congo",countries:["SEN"]},{iso639_1:"fy",iso639_2:"fry",iso639_2en:"fry",iso639_3:"fry",name:["Western Frisian"],nativeName:["Frysk"],direction:"LTR",family:"Indo-European"},{iso639_1:"xh",iso639_2:"xho",iso639_2en:"xho",iso639_3:"xho",name:["Xhosa"],nativeName:["isiXhosa"],direction:"LTR",family:"Niger–Congo",countries:["ZAF"]},{iso639_1:"yi",iso639_2:"yid",iso639_2en:"yid",iso639_3:"yid",name:["Yiddish"],nativeName:["ייִדיש"],direction:"RTL",family:"Indo-European"},{iso639_1:"yo",iso639_2:"yor",iso639_2en:"yor",iso639_3:"yor",name:["Yoruba"],nativeName:["Yorùbá"],direction:"LTR",family:"Niger–Congo",countries:["BEN","NGA"]},{iso639_1:"za",iso639_2:"zha",iso639_2en:"zha",iso639_3:"zha",name:["Zhuang","Chuang"],nativeName:["Saɯ cueŋƅ","Saw cuengh"],direction:"LTR",family:"Tai–Kadai"},{iso639_1:"zu",iso639_2:"zul",iso639_2en:"zul",iso639_3:"zul",name:["Zulu"],nativeName:["isiZulu"],direction:"LTR",family:"Niger–Congo",countries:["ZAF"]},{iso639_1:"",iso639_2:"ace",iso639_2en:"ace",iso639_3:"ace",name:["Achinese"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"ach",iso639_2en:"ach",iso639_3:"ach",name:["Acoli"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"ada",iso639_2en:"ada",iso639_3:"ada",name:["Adangme"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"ady",iso639_2en:"ady",iso639_3:"ady",name:["Adyghe"," Adygei"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"afa",iso639_2en:"afa",iso639_3:"afa",name:["Afro-Asiatic languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"afh",iso639_2en:"afh",iso639_3:"afh",name:["Afrihili"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"ain",iso639_2en:"ain",iso639_3:"ain",name:["Ainu"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"akk",iso639_2en:"akk",iso639_3:"akk",name:["Akkadian"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"ale",iso639_2en:"ale",iso639_3:"ale",name:["Aleut"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"alg",iso639_2en:"alg",iso639_3:"alg",name:["Algonquian languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"alt",iso639_2en:"alt",iso639_3:"alt",name:["Southern Altai"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"ang",iso639_2en:"ang",iso639_3:"ang",name:["English, Old (ca.450-1100)"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"anp",iso639_2en:"anp",iso639_3:"anp",name:["Angika"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"apa",iso639_2en:"apa",iso639_3:"apa",name:["Apache languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"arc",iso639_2en:"arc",iso639_3:"arc",name:["Official Aramaic (700-300 BCE)"," Imperial Aramaic (700-300 BCE)"],nativeName:[""],direction:"RTL",family:""},{iso639_1:"",iso639_2:"arn",iso639_2en:"arn",iso639_3:"arn",name:["Mapudungun"," Mapuche"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"arp",iso639_2en:"arp",iso639_3:"arp",name:["Arapaho"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"art",iso639_2en:"art",iso639_3:"art",name:["Artificial languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"arw",iso639_2en:"arw",iso639_3:"arw",name:["Arawak"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"ast",iso639_2en:"ast",iso639_3:"ast",name:["Asturian"," Bable"," Leonese"," Asturleonese"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"ath",iso639_2en:"ath",iso639_3:"ath",name:["Athapascan languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"aus",iso639_2en:"aus",iso639_3:"aus",name:["Australian languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"awa",iso639_2en:"awa",iso639_3:"awa",name:["Awadhi"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"bad",iso639_2en:"bad",iso639_3:"bad",name:["Banda languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"bai",iso639_2en:"bai",iso639_3:"bai",name:["Bamileke languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"bal",iso639_2en:"bal",iso639_3:"bal",name:["Baluchi","Balochi"],nativeName:[""],direction:"RTL",family:""},{iso639_1:"",iso639_2:"ban",iso639_2en:"ban",iso639_3:"ban",name:["Balinese"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"bas",iso639_2en:"bas",iso639_3:"bas",name:["Basa"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"bat",iso639_2en:"bat",iso639_3:"bat",name:["Baltic languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"bej",iso639_2en:"bej",iso639_3:"bej",name:["Beja"," Bedawiyet"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"bem",iso639_2en:"bem",iso639_3:"bem",name:["Bemba"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"bho",iso639_2en:"bho",iso639_3:"bho",name:["Bhojpuri"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"bik",iso639_2en:"bik",iso639_3:"bik",name:["Bikol"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"bin",iso639_2en:"bin",iso639_3:"bin",name:["Bini"," Edo"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"bla",iso639_2en:"bla",iso639_3:"bla",name:["Siksika"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"bnt",iso639_2en:"bnt",iso639_3:"bnt",name:["Bantu languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"bra",iso639_2en:"bra",iso639_3:"bra",name:["Braj"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"btk",iso639_2en:"btk",iso639_3:"btk",name:["Batak languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"bua",iso639_2en:"bua",iso639_3:"bua",name:["Buriat"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"bug",iso639_2en:"bug",iso639_3:"bug",name:["Buginese"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"byn",iso639_2en:"byn",iso639_3:"byn",name:["Blin"," Bilin"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"cad",iso639_2en:"cad",iso639_3:"cad",name:["Caddo"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"cai",iso639_2en:"cai",iso639_3:"cai",name:["Central American Indian languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"car",iso639_2en:"car",iso639_3:"car",name:["Galibi Carib"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"cau",iso639_2en:"cau",iso639_3:"cau",name:["Caucasian languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"ceb",iso639_2en:"ceb",iso639_3:"ceb",name:["Cebuano"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"cel",iso639_2en:"cel",iso639_3:"cel",name:["Celtic languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"chb",iso639_2en:"chb",iso639_3:"chb",name:["Chibcha"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"chg",iso639_2en:"chg",iso639_3:"chg",name:["Chagatai"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"chk",iso639_2en:"chk",iso639_3:"chk",name:["Chuukese"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"chm",iso639_2en:"chm",iso639_3:"chm",name:["Mari"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"chn",iso639_2en:"chn",iso639_3:"chn",name:["Chinook jargon"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"cho",iso639_2en:"cho",iso639_3:"cho",name:["Choctaw"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"chp",iso639_2en:"chp",iso639_3:"chp",name:["Chipewyan"," Dene Suline"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"chr",iso639_2en:"chr",iso639_3:"chr",name:["Cherokee"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"chy",iso639_2en:"chy",iso639_3:"chy",name:["Cheyenne"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"cmc",iso639_2en:"cmc",iso639_3:"cmc",name:["Chamic languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"cop",iso639_2en:"cop",iso639_3:"cop",name:["Coptic"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"cpe",iso639_2en:"cpe",iso639_3:"cpe",name:["Creoles and pidgins, English based"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"cpf",iso639_2en:"cpf",iso639_3:"cpf",name:["Creoles and pidgins, French-based"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"cpp",iso639_2en:"cpp",iso639_3:"cpp",name:["Creoles and pidgins, Portuguese-based"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"crh",iso639_2en:"crh",iso639_3:"crh",name:["Crimean Tatar"," Crimean Turkish"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"crp",iso639_2en:"crp",iso639_3:"crp",name:["Creoles and pidgins"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"csb",iso639_2en:"csb",iso639_3:"csb",name:["Kashubian"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"cus",iso639_2en:"cus",iso639_3:"cus",name:["Cushitic languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"dak",iso639_2en:"dak",iso639_3:"dak",name:["Dakota"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"dar",iso639_2en:"dar",iso639_3:"dar",name:["Dargwa"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"day",iso639_2en:"day",iso639_3:"day",name:["Land Dayak languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"del",iso639_2en:"del",iso639_3:"del",name:["Delaware"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"den",iso639_2en:"den",iso639_3:"den",name:["Slave (Athapascan)"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"dgr",iso639_2en:"dgr",iso639_3:"dgr",name:["Dogrib"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"din",iso639_2en:"din",iso639_3:"din",name:["Dinka"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"doi",iso639_2en:"doi",iso639_3:"doi",name:["Dogri"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"dra",iso639_2en:"dra",iso639_3:"dra",name:["Dravidian languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"dsb",iso639_2en:"dsb",iso639_3:"dsb",name:["Lower Sorbian"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"dua",iso639_2en:"dua",iso639_3:"dua",name:["Duala"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"dum",iso639_2en:"dum",iso639_3:"dum",name:["Dutch, Middle (ca.1050-1350)"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"dyu",iso639_2en:"dyu",iso639_3:"dyu",name:["Dyula"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"efi",iso639_2en:"efi",iso639_3:"efi",name:["Efik"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"egy",iso639_2en:"egy",iso639_3:"egy",name:["Egyptian (Ancient)"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"eka",iso639_2en:"eka",iso639_3:"eka",name:["Ekajuk"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"elx",iso639_2en:"elx",iso639_3:"elx",name:["Elamite"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"enm",iso639_2en:"enm",iso639_3:"enm",name:["English, Middle (1100-1500)"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"ewo",iso639_2en:"ewo",iso639_3:"ewo",name:["Ewondo"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"fan",iso639_2en:"fan",iso639_3:"fan",name:["Fang"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"fat",iso639_2en:"fat",iso639_3:"fat",name:["Fanti"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"fiu",iso639_2en:"fiu",iso639_3:"fiu",name:["Finno-Ugrian languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"fon",iso639_2en:"fon",iso639_3:"fon",name:["Fon"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"frm",iso639_2en:"frm",iso639_3:"frm",name:["French, Middle (ca.1400-1600)"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"fro",iso639_2en:"fro",iso639_3:"fro",name:["French, Old (842-ca.1400)"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"frr",iso639_2en:"frr",iso639_3:"frr",name:["Northern Frisian"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"frs",iso639_2en:"frs",iso639_3:"frs",name:["Eastern Frisian"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"fur",iso639_2en:"fur",iso639_3:"fur",name:["Friulian"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"gaa",iso639_2en:"gaa",iso639_3:"gaa",name:["Ga"],nativeName:[""],direction:"LTR",family:"",countries:["GHA"]},{iso639_1:"",iso639_2:"gay",iso639_2en:"gay",iso639_3:"gay",name:["Gayo"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"gba",iso639_2en:"gba",iso639_3:"gba",name:["Gbaya"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"gem",iso639_2en:"gem",iso639_3:"gem",name:["Germanic languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"gez",iso639_2en:"gez",iso639_3:"gez",name:["Geez"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"gil",iso639_2en:"gil",iso639_3:"gil",name:["Gilbertese"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"gmh",iso639_2en:"gmh",iso639_3:"gmh",name:["German, Middle High (ca.1050-1500)"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"goh",iso639_2en:"goh",iso639_3:"goh",name:["German, Old High (ca.750-1050)"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"gon",iso639_2en:"gon",iso639_3:"gon",name:["Gondi"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"gor",iso639_2en:"gor",iso639_3:"gor",name:["Gorontalo"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"got",iso639_2en:"got",iso639_3:"got",name:["Gothic"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"grb",iso639_2en:"grb",iso639_3:"grb",name:["Grebo"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"grc",iso639_2en:"grc",iso639_3:"grc",name:["Greek, Ancient (to 1453)"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"gsw",iso639_2en:"gsw",iso639_3:"gsw",name:["Swiss German"," Alemannic"," Alsatian"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"gwi",iso639_2en:"gwi",iso639_3:"gwi",name:["Gwich'in"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"hai",iso639_2en:"hai",iso639_3:"hai",name:["Haida"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"haw",iso639_2en:"haw",iso639_3:"haw",name:["Hawaiian"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"hil",iso639_2en:"hil",iso639_3:"hil",name:["Hiligaynon"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"him",iso639_2en:"him",iso639_3:"him",name:["Himachali languages"," Western Pahari languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"hit",iso639_2en:"hit",iso639_3:"hit",name:["Hittite"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"hmn",iso639_2en:"hmn",iso639_3:"hmn",name:["Hmong"," Mong"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"hsb",iso639_2en:"hsb",iso639_3:"hsb",name:["Upper Sorbian"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"hup",iso639_2en:"hup",iso639_3:"hup",name:["Hupa"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"iba",iso639_2en:"iba",iso639_3:"iba",name:["Iban"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"ijo",iso639_2en:"ijo",iso639_3:"ijo",name:["Ijo languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"ilo",iso639_2en:"ilo",iso639_3:"ilo",name:["Iloko"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"inc",iso639_2en:"inc",iso639_3:"inc",name:["Indic languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"ine",iso639_2en:"ine",iso639_3:"ine",name:["Indo-European languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"inh",iso639_2en:"inh",iso639_3:"inh",name:["Ingush"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"ira",iso639_2en:"ira",iso639_3:"ira",name:["Iranian languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"iro",iso639_2en:"iro",iso639_3:"iro",name:["Iroquoian languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"jbo",iso639_2en:"jbo",iso639_3:"jbo",name:["Lojban"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"jpr",iso639_2en:"jpr",iso639_3:"jpr",name:["Judeo-Persian"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"jrb",iso639_2en:"jrb",iso639_3:"jrb",name:["Judeo-Arabic"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"kaa",iso639_2en:"kaa",iso639_3:"kaa",name:["Kara-Kalpak"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"kab",iso639_2en:"kab",iso639_3:"kab",name:["Kabyle"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"kac",iso639_2en:"kac",iso639_3:"kac",name:["Kachin"," Jingpho"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"kam",iso639_2en:"kam",iso639_3:"kam",name:["Kamba"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"kar",iso639_2en:"kar",iso639_3:"kar",name:["Karen languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"kaw",iso639_2en:"kaw",iso639_3:"kaw",name:["Kawi"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"kbd",iso639_2en:"kbd",iso639_3:"kbd",name:["Kabardian"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"kha",iso639_2en:"kha",iso639_3:"kha",name:["Khasi"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"khi",iso639_2en:"khi",iso639_3:"khi",name:["Khoisan languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"kho",iso639_2en:"kho",iso639_3:"kho",name:["Khotanese"," Sakan"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"kmb",iso639_2en:"kmb",iso639_3:"kmb",name:["Kimbundu"],nativeName:[""],direction:"LTR",family:"",countries:["AGO"]},{iso639_1:"",iso639_2:"kok",iso639_2en:"kok",iso639_3:"kok",name:["Konkani"],nativeName:[""],direction:"LTR",family:"",langCultureMs:[{langCultureName:"kok-IN",displayName:"Konkani - India",cultureCode:"0x0457"}]},{iso639_1:"",iso639_2:"kos",iso639_2en:"kos",iso639_3:"kos",name:["Kosraean"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"kpe",iso639_2en:"kpe",iso639_3:"kpe",name:["Kpelle"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"krc",iso639_2en:"krc",iso639_3:"krc",name:["Karachay-Balkar"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"krl",iso639_2en:"krl",iso639_3:"krl",name:["Karelian"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"kro",iso639_2en:"kro",iso639_3:"kro",name:["Kru languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"kru",iso639_2en:"kru",iso639_3:"kru",name:["Kurukh"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"kum",iso639_2en:"kum",iso639_3:"kum",name:["Kumyk"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"kut",iso639_2en:"kut",iso639_3:"kut",name:["Kutenai"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"lad",iso639_2en:"lad",iso639_3:"lad",name:["Ladino"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"lah",iso639_2en:"lah",iso639_3:"lah",name:["Lahnda"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"lam",iso639_2en:"lam",iso639_3:"lam",name:["Lamba"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"lez",iso639_2en:"lez",iso639_3:"lez",name:["Lezghian"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"lol",iso639_2en:"lol",iso639_3:"lol",name:["Mongo"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"loz",iso639_2en:"loz",iso639_3:"loz",name:["Lozi"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"lua",iso639_2en:"lua",iso639_3:"lua",name:["Luba-Lulua"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"lui",iso639_2en:"lui",iso639_3:"lui",name:["Luiseno"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"lun",iso639_2en:"lun",iso639_3:"lun",name:["Lunda"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"luo",iso639_2en:"luo",iso639_3:"luo",name:["Luo (Kenya and Tanzania)"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"lus",iso639_2en:"lus",iso639_3:"lus",name:["Lushai"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"mad",iso639_2en:"mad",iso639_3:"mad",name:["Madurese"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"mag",iso639_2en:"mag",iso639_3:"mag",name:["Magahi"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"mai",iso639_2en:"mai",iso639_3:"mai",name:["Maithili"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"mak",iso639_2en:"mak",iso639_3:"mak",name:["Makasar"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"man",iso639_2en:"man",iso639_3:"man",name:["Mandingo"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"map",iso639_2en:"map",iso639_3:"map",name:["Austronesian languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"mas",iso639_2en:"mas",iso639_3:"mas",name:["Masai"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"mdf",iso639_2en:"mdf",iso639_3:"mdf",name:["Moksha"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"mdr",iso639_2en:"mdr",iso639_3:"mdr",name:["Mandar"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"men",iso639_2en:"men",iso639_3:"men",name:["Mende"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"mga",iso639_2en:"mga",iso639_3:"mga",name:["Irish, Middle (900-1200)"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"mic",iso639_2en:"mic",iso639_3:"mic",name:["Mi'kmaq"," Micmac"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"min",iso639_2en:"min",iso639_3:"min",name:["Minangkabau"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"mis",iso639_2en:"mis",iso639_3:"mis",name:["Uncoded languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"mkh",iso639_2en:"mkh",iso639_3:"mkh",name:["Mon-Khmer languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"mnc",iso639_2en:"mnc",iso639_3:"mnc",name:["Manchu"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"mni",iso639_2en:"mni",iso639_3:"mni",name:["Manipuri"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"mno",iso639_2en:"mno",iso639_3:"mno",name:["Manobo languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"moh",iso639_2en:"moh",iso639_3:"moh",name:["Mohawk"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"mos",iso639_2en:"mos",iso639_3:"mos",name:["Mossi"],nativeName:[""],direction:"LTR",family:"",countries:["BFA"]},{iso639_1:"",iso639_2:"mul",iso639_2en:"mul",iso639_3:"mul",name:["Multiple languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"mun",iso639_2en:"mun",iso639_3:"mun",name:["Munda languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"mus",iso639_2en:"mus",iso639_3:"mus",name:["Creek"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"mwl",iso639_2en:"mwl",iso639_3:"mwl",name:["Mirandese"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"mwr",iso639_2en:"mwr",iso639_3:"mwr",name:["Marwari"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"myn",iso639_2en:"myn",iso639_3:"myn",name:["Mayan languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"myv",iso639_2en:"myv",iso639_3:"myv",name:["Erzya"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"nah",iso639_2en:"nah",iso639_3:"nah",name:["Nahuatl languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"nai",iso639_2en:"nai",iso639_3:"nai",name:["North American Indian languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"nap",iso639_2en:"nap",iso639_3:"nap",name:["Neapolitan"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"nds",iso639_2en:"nds",iso639_3:"nds",name:["Low German"," Low Saxon"," German, Low"," Saxon, Low"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"new",iso639_2en:"new",iso639_3:"new",name:["Nepal Bhasa"," Newari"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"nia",iso639_2en:"nia",iso639_3:"nia",name:["Nias"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"nic",iso639_2en:"nic",iso639_3:"nic",name:["Niger-Kordofanian languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"niu",iso639_2en:"niu",iso639_3:"niu",name:["Niuean"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"nog",iso639_2en:"nog",iso639_3:"nog",name:["Nogai"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"non",iso639_2en:"non",iso639_3:"non",name:["Norse, Old"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"nqo",iso639_2en:"nqo",iso639_3:"nqo",name:["N'Ko"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"nub",iso639_2en:"nub",iso639_3:"nub",name:["Nubian languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"nwc",iso639_2en:"nwc",iso639_3:"nwc",name:["Classical Newari"," Old Newari"," Classical Nepal Bhasa"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"nym",iso639_2en:"nym",iso639_3:"nym",name:["Nyamwezi"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"nyn",iso639_2en:"nyn",iso639_3:"nyn",name:["Nyankole"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"nyo",iso639_2en:"nyo",iso639_3:"nyo",name:["Nyoro"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"nzi",iso639_2en:"nzi",iso639_3:"nzi",name:["Nzima"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"osa",iso639_2en:"osa",iso639_3:"osa",name:["Osage"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"ota",iso639_2en:"ota",iso639_3:"ota",name:["Turkish, Ottoman (1500-1928)"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"oto",iso639_2en:"oto",iso639_3:"oto",name:["Otomian languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"paa",iso639_2en:"paa",iso639_3:"paa",name:["Papuan languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"pag",iso639_2en:"pag",iso639_3:"pag",name:["Pangasinan"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"pal",iso639_2en:"pal",iso639_3:"pal",name:["Pahlavi"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"pam",iso639_2en:"pam",iso639_3:"pam",name:["Pampanga"," Kapampangan"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"pap",iso639_2en:"pap",iso639_3:"pap",name:["Papiamento"],nativeName:[""],direction:"LTR",family:"",countries:["ABW","CUW"]},{iso639_1:"",iso639_2:"pau",iso639_2en:"pau",iso639_3:"pau",name:["Palauan"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"peo",iso639_2en:"peo",iso639_3:"peo",name:["Persian, Old (ca.600-400 B.C.)"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"phi",iso639_2en:"phi",iso639_3:"phi",name:["Philippine languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"phn",iso639_2en:"phn",iso639_3:"phn",name:["Phoenician"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"pon",iso639_2en:"pon",iso639_3:"pon",name:["Pohnpeian"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"pra",iso639_2en:"pra",iso639_3:"pra",name:["Prakrit languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"pro",iso639_2en:"pro",iso639_3:"pro",name:["Provençal, Old (to 1500)","Occitan, Old (to 1500)"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"qaa-qtz",iso639_2en:"qaa-qtz",iso639_3:"qaa-qtz",name:["Reserved for local use"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"raj",iso639_2en:"raj",iso639_3:"raj",name:["Rajasthani"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"rap",iso639_2en:"rap",iso639_3:"rap",name:["Rapanui"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"rar",iso639_2en:"rar",iso639_3:"rar",name:["Rarotongan"," Cook Islands Maori"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"roa",iso639_2en:"roa",iso639_3:"roa",name:["Romance languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"rom",iso639_2en:"rom",iso639_3:"rom",name:["Romany"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"rup",iso639_2en:"rup",iso639_3:"rup",name:["Aromanian"," Arumanian"," Macedo-Romanian"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"sad",iso639_2en:"sad",iso639_3:"sad",name:["Sandawe"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"sah",iso639_2en:"sah",iso639_3:"sah",name:["Yakut"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"sai",iso639_2en:"sai",iso639_3:"sai",name:["South American Indian languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"sal",iso639_2en:"sal",iso639_3:"sal",name:["Salishan languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"sam",iso639_2en:"sam",iso639_3:"sam",name:["Samaritan Aramaic"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"sas",iso639_2en:"sas",iso639_3:"sas",name:["Sasak"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"sat",iso639_2en:"sat",iso639_3:"sat",name:["Santali"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"scn",iso639_2en:"scn",iso639_3:"scn",name:["Sicilian"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"sco",iso639_2en:"sco",iso639_3:"sco",name:["Scots"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"sel",iso639_2en:"sel",iso639_3:"sel",name:["Selkup"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"sem",iso639_2en:"sem",iso639_3:"sem",name:["Semitic languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"sga",iso639_2en:"sga",iso639_3:"sga",name:["Irish, Old (to 900)"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"sgn",iso639_2en:"sgn",iso639_3:"sgn",name:["Sign Languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"shn",iso639_2en:"shn",iso639_3:"shn",name:["Shan"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"sid",iso639_2en:"sid",iso639_3:"sid",name:["Sidamo"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"sio",iso639_2en:"sio",iso639_3:"sio",name:["Siouan languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"sit",iso639_2en:"sit",iso639_3:"sit",name:["Sino-Tibetan languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"sla",iso639_2en:"sla",iso639_3:"sla",name:["Slavic languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"sma",iso639_2en:"sma",iso639_3:"sma",name:["Southern Sami"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"smi",iso639_2en:"smi",iso639_3:"smi",name:["Sami languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"smj",iso639_2en:"smj",iso639_3:"smj",name:["Lule Sami"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"smn",iso639_2en:"smn",iso639_3:"smn",name:["Inari Sami"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"sms",iso639_2en:"sms",iso639_3:"sms",name:["Skolt Sami"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"snk",iso639_2en:"snk",iso639_3:"snk",name:["Soninke"],nativeName:[""],direction:"LTR",family:"",countries:["MLI","SEN"]},{iso639_1:"",iso639_2:"sog",iso639_2en:"sog",iso639_3:"sog",name:["Sogdian"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"son",iso639_2en:"son",iso639_3:"son",name:["Songhai languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"srn",iso639_2en:"srn",iso639_3:"srn",name:["Sranan Tongo"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"srr",iso639_2en:"srr",iso639_3:"srr",name:["Serer"],nativeName:[""],direction:"LTR",family:"",countries:["SEN"]},{iso639_1:"",iso639_2:"ssa",iso639_2en:"ssa",iso639_3:"ssa",name:["Nilo-Saharan languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"suk",iso639_2en:"suk",iso639_3:"suk",name:["Sukuma"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"sus",iso639_2en:"sus",iso639_3:"sus",name:["Susu"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"sux",iso639_2en:"sux",iso639_3:"sux",name:["Sumerian"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"syc",iso639_2en:"syc",iso639_3:"syc",name:["Classical Syriac"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"syr",iso639_2en:"syr",iso639_3:"syr",name:["Syriac"],nativeName:[""],direction:"LTR",family:"",langCultureMs:[{langCultureName:"syr-SY",displayName:"Syriac - Syria",cultureCode:"0x045A"}]},{iso639_1:"",iso639_2:"tai",iso639_2en:"tai",iso639_3:"tai",name:["Tai languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"tem",iso639_2en:"tem",iso639_3:"tem",name:["Timne"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"ter",iso639_2en:"ter",iso639_3:"ter",name:["Tereno"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"tet",iso639_2en:"tet",iso639_3:"tet",name:["Tetum"],nativeName:[""],direction:"LTR",family:"",countries:["TLS"]},{iso639_1:"",iso639_2:"tig",iso639_2en:"tig",iso639_3:"tig",name:["Tigre"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"tiv",iso639_2en:"tiv",iso639_3:"tiv",name:["Tiv"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"tkl",iso639_2en:"tkl",iso639_3:"tkl",name:["Tokelau"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"tlh",iso639_2en:"tlh",iso639_3:"tlh",name:["Klingon"," tlhIngan-Hol"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"tli",iso639_2en:"tli",iso639_3:"tli",name:["Tlingit"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"tmh",iso639_2en:"tmh",iso639_3:"tmh",name:["Tamashek"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"tog",iso639_2en:"tog",iso639_3:"tog",name:["Tonga (Nyasa)"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"tpi",iso639_2en:"tpi",iso639_3:"tpi",name:["Tok Pisin"],nativeName:[""],direction:"LTR",family:"",countries:["PNG"]},{iso639_1:"",iso639_2:"tsi",iso639_2en:"tsi",iso639_3:"tsi",name:["Tsimshian"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"tum",iso639_2en:"tum",iso639_3:"tum",name:["Tumbuka"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"tup",iso639_2en:"tup",iso639_3:"tup",name:["Tupi languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"tut",iso639_2en:"tut",iso639_3:"tut",name:["Altaic languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"tvl",iso639_2en:"tvl",iso639_3:"tvl",name:["Tuvalu"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"tyv",iso639_2en:"tyv",iso639_3:"tyv",name:["Tuvinian"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"udm",iso639_2en:"udm",iso639_3:"udm",name:["Udmurt"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"uga",iso639_2en:"uga",iso639_3:"uga",name:["Ugaritic"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"umb",iso639_2en:"umb",iso639_3:"umb",name:["Umbundu"],nativeName:[""],direction:"LTR",family:"",countries:["AGO"]},{iso639_1:"",iso639_2:"und",iso639_2en:"und",iso639_3:"und",name:["Undetermined"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"vai",iso639_2en:"vai",iso639_3:"vai",name:["Vai"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"vot",iso639_2en:"vot",iso639_3:"vot",name:["Votic"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"wak",iso639_2en:"wak",iso639_3:"wak",name:["Wakashan languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"wal",iso639_2en:"wal",iso639_3:"wal",name:["Wolaitta"," Wolaytta"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"war",iso639_2en:"war",iso639_3:"war",name:["Waray"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"was",iso639_2en:"was",iso639_3:"was",name:["Washo"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"wen",iso639_2en:"wen",iso639_3:"wen",name:["Sorbian languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"xal",iso639_2en:"xal",iso639_3:"xal",name:["Kalmyk"," Oirat"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"yao",iso639_2en:"yao",iso639_3:"yao",name:["Yao"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"yap",iso639_2en:"yap",iso639_3:"yap",name:["Yapese"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"ypk",iso639_2en:"ypk",iso639_3:"ypk",name:["Yupik languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"zap",iso639_2en:"zap",iso639_3:"zap",name:["Zapotec"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"zbl",iso639_2en:"zbl",iso639_3:"zbl",name:["Blissymbols"," Blissymbolics"," Bliss"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"zen",iso639_2en:"zen",iso639_3:"zen",name:["Zenaga"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"zgh",iso639_2en:"zgh",iso639_3:"zgh",name:["Standard Moroccan Tamazight"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"znd",iso639_2en:"znd",iso639_3:"znd",name:["Zande languages"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"zun",iso639_2en:"zun",iso639_3:"zun",name:["Zuni"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"zxx",iso639_2en:"zxx",iso639_3:"zxx",name:["No linguistic content"," Not applicable"],nativeName:[""],direction:"LTR",family:""},{iso639_1:"",iso639_2:"zza",iso639_2en:"zza",iso639_3:"zza",name:["Zaza"," Dimili"," Dimli"," Kirdki"," Kirmanjki"," Zazaki"],nativeName:[""],direction:"LTR",family:""}],fhe=[{code_2:"AF",code_3:"AFG",numCode:"004",name:"Afghanistan",languages:["prs","pus","fas"]},{code_2:"AX",code_3:"ALA",numCode:"248",name:"Åland Islands",languages:["swe"]},{code_2:"AL",code_3:"ALB",numCode:"008",name:"Albania",languages:["sqi"],langCultureMs:[{langCultureName:"sq-AL",displayName:"Albanian - Albania",cultureCode:"0x041C"}]},{code_2:"DZ",code_3:"DZA",numCode:"012",name:"Algeria",languages:["ara","ber"],langCultureMs:[{langCultureName:"ar-DZ",displayName:"Arabic - Algeria",cultureCode:"0x1401"}]},{code_2:"AS",code_3:"ASM",numCode:"016",name:"American Samoa"},{code_2:"AD",code_3:"AND",numCode:"020",name:"Andorra",languages:["cat"]},{code_2:"AO",code_3:"AGO",numCode:"024",name:"Angola",languages:["kon","kmb","kua","por","umb"]},{code_2:"AI",code_3:"AIA",numCode:"660",name:"Anguilla"},{code_2:"AQ",code_3:"ATA",numCode:"010",name:"Antarctica"},{code_2:"AG",code_3:"ATG",numCode:"028",name:"Antigua and Barbuda",languages:["eng"]},{code_2:"AR",code_3:"ARG",numCode:"032",name:"Argentina",languages:["spa"],langCultureMs:[{langCultureName:"es-AR",displayName:"Spanish - Argentina",cultureCode:"0x2C0A"}]},{code_2:"AM",code_3:"ARM",numCode:"051",name:"Armenia",languages:["hye"],langCultureMs:[{langCultureName:"hy-AM",displayName:"Armenian - Armenia",cultureCode:"0x042B"}]},{code_2:"AW",code_3:"ABW",numCode:"533",name:"Aruba",languages:["nld","pap"]},{code_2:"AU",code_3:"AUS",numCode:"036",name:"Australia",languages:["eng"],langCultureMs:[{langCultureName:"en-AU",displayName:"English - Australia",cultureCode:"0x0C09"}]},{code_2:"AT",code_3:"AUT",numCode:"040",name:"Austria",languages:["deu"],langCultureMs:[{langCultureName:"de-AT",displayName:"German - Austria",cultureCode:"0x0C07"}]},{code_2:"AZ",code_3:"AZE",numCode:"031",name:"Azerbaijan",languages:["aze"],langCultureMs:[{langCultureName:"Cy-az-AZ",displayName:"Azeri (Cyrillic) - Azerbaijan",cultureCode:"0x082C"},{langCultureName:"Lt-az-AZ",displayName:"Azeri (Latin) - Azerbaijan",cultureCode:"0x042C"}]},{code_2:"BS",code_3:"BHS",numCode:"044",name:"Bahamas",languages:["eng"]},{code_2:"BH",code_3:"BHR",numCode:"048",name:"Bahrain",languages:["ara"],langCultureMs:[{langCultureName:"ar-BH",displayName:"Arabic - Bahrain",cultureCode:"0x3C01"}]},{code_2:"BD",code_3:"BGD",numCode:"050",name:"Bangladesh",languages:["ben"]},{code_2:"BB",code_3:"BRB",numCode:"052",name:"Barbados",languages:["eng"]},{code_2:"BY",code_3:"BLR",numCode:"112",name:"Belarus",languages:["bel","rus"],langCultureMs:[{langCultureName:"be-BY",displayName:"Belarusian - Belarus",cultureCode:"0x0423"}]},{code_2:"BE",code_3:"BEL",numCode:"056",name:"Belgium",languages:["nld","fra","deu"],langCultureMs:[{langCultureName:"nl-BE",displayName:"Dutch - Belgium",cultureCode:"0x0813"},{langCultureName:"fr-BE",displayName:"French - Belgium",cultureCode:"0x080C"}]},{code_2:"BZ",code_3:"BLZ",numCode:"084",name:"Belize",languages:["eng"],langCultureMs:[{langCultureName:"en-BZ",displayName:"English - Belize",cultureCode:"0x2809"}]},{code_2:"BJ",code_3:"BEN",numCode:"204",name:"Benin",languages:["fra","ful","yor"]},{code_2:"BM",code_3:"BMU",numCode:"060",name:"Bermuda"},{code_2:"BT",code_3:"BTN",numCode:"064",name:"Bhutan",languages:["dzo"]},{code_2:"BO",code_3:"BOL",numCode:"068",name:"Bolivia, Plurinational State of",languages:["aym","grn","que","spa"],langCultureMs:[{langCultureName:"es-BO",displayName:"Spanish - Bolivia",cultureCode:"0x400A"}]},{code_2:"BQ",code_3:"BES",numCode:"535",name:"Bonaire, Sint Eustatius and Saba"},{code_2:"BA",code_3:"BIH",numCode:"070",name:"Bosnia and Herzegovina",languages:["bos","hrv","srp"]},{code_2:"BW",code_3:"BWA",numCode:"072",name:"Botswana",languages:["eng","tsn"]},{code_2:"BV",code_3:"BVT",numCode:"074",name:"Bouvet Island"},{code_2:"BR",code_3:"BRA",numCode:"076",name:"Brazil",languages:["por"],langCultureMs:[{langCultureName:"pt-BR",displayName:"Portuguese - Brazil",cultureCode:"0x0416"}]},{code_2:"IO",code_3:"IOT",numCode:"086",name:"British Indian Ocean Territory"},{code_2:"BN",code_3:"BRN",numCode:"096",name:"Brunei Darussalam",languages:["msa"],langCultureMs:[{langCultureName:"ms-BN",displayName:"Malay - Brunei",cultureCode:"0x083E"}]},{code_2:"BG",code_3:"BGR",numCode:"100",name:"Bulgaria",languages:["bul"],langCultureMs:[{langCultureName:"bg-BG",displayName:"Bulgarian - Bulgaria",cultureCode:"0x0402"}]},{code_2:"BF",code_3:"BFA",numCode:"854",name:"Burkina Faso",languages:["fra","ful","mos"]},{code_2:"BI",code_3:"BDI",numCode:"108",name:"Burundi",languages:["fra","run"]},{code_2:"KH",code_3:"KHM",numCode:"116",name:"Cambodia",languages:["khm"]},{code_2:"CM",code_3:"CMR",numCode:"120",name:"Cameroon",languages:["eng","fra"]},{code_2:"CA",code_3:"CAN",numCode:"124",name:"Canada",languages:["eng","fra"],langCultureMs:[{langCultureName:"en-CA",displayName:"English - Canada",cultureCode:"0x1009"},{langCultureName:"fr-CA",displayName:"French - Canada",cultureCode:"0x0C0C"}]},{code_2:"CV",code_3:"CPV",numCode:"132",name:"Cape Verde",languages:["por"]},{code_2:"KY",code_3:"CYM",numCode:"136",name:"Cayman Islands"},{code_2:"CF",code_3:"CAF",numCode:"140",name:"Central African Republic",languages:["fra","sag"]},{code_2:"TD",code_3:"TCD",numCode:"148",name:"Chad",languages:["ara","fra"]},{code_2:"CL",code_3:"CHL",numCode:"152",name:"Chile",languages:["spa"],langCultureMs:[{langCultureName:"es-CL",displayName:"Spanish - Chile",cultureCode:"0x340A"}]},{code_2:"CN",code_3:"CHN",numCode:"156",name:"China",languages:["zho"],langCultureMs:[{langCultureName:"zh-CN",displayName:"Chinese - China",cultureCode:"0x0804"},{langCultureName:"zh-CHS",displayName:"Chinese (Simplified)",cultureCode:"0x0004"},{langCultureName:"zh-CHT",displayName:"Chinese (Traditional)",cultureCode:"0x7C04"}]},{code_2:"CX",code_3:"CXR",numCode:"162",name:"Christmas Island"},{code_2:"CC",code_3:"CCK",numCode:"166",name:"Cocos (Keeling) Islands"},{code_2:"CO",code_3:"COL",numCode:"170",name:"Colombia",languages:["spa"],langCultureMs:[{langCultureName:"es-CO",displayName:"Spanish - Colombia",cultureCode:"0x240A"}]},{code_2:"KM",code_3:"COM",numCode:"174",name:"Comoros",languages:["ara","fra"]},{code_2:"CG",code_3:"COG",numCode:"178",name:"Congo",languages:["fra","kon","lin"]},{code_2:"CD",code_3:"COD",numCode:"180",name:"Congo, the Democratic Republic of the",languages:["fra","kon","lin","swa","lub"]},{code_2:"CK",code_3:"COK",numCode:"184",name:"Cook Islands"},{code_2:"CR",code_3:"CRI",numCode:"188",name:"Costa Rica",languages:["spa"],langCultureMs:[{langCultureName:"es-CR",displayName:"Spanish - Costa Rica",cultureCode:"0x140A"}]},{code_2:"CI",code_3:"CIV",numCode:"384",name:"Côte d'Ivoire",languages:["fra"]},{code_2:"HR",code_3:"HRV",numCode:"191",name:"Croatia",languages:["hrv","ita"],langCultureMs:[{langCultureName:"hr-HR",displayName:"Croatian - Croatia",cultureCode:"0x041A"}]},{code_2:"CU",code_3:"CUB",numCode:"192",name:"Cuba",languages:["spa"]},{code_2:"CW",code_3:"CUW",numCode:"531",name:"Curaçao",languages:["nld","eng","pap"]},{code_2:"CY",code_3:"CYP",numCode:"196",name:"Cyprus",languages:["ell","tur"]},{code_2:"CZ",code_3:"CZE",numCode:"203",name:"Czech Republic",languages:["ces","slk"],langCultureMs:[{langCultureName:"cs-CZ",displayName:"Czech - Czech Republic",cultureCode:"0x0405"}]},{code_2:"DK",code_3:"DNK",numCode:"208",name:"Denmark",languages:["dan"],langCultureMs:[{langCultureName:"da-DK",displayName:"Danish - Denmark",cultureCode:"0x0406"}]},{code_2:"DJ",code_3:"DJI",numCode:"262",name:"Djibouti",languages:["aar","ara","fra","som"]},{code_2:"DM",code_3:"DMA",numCode:"212",name:"Dominica",languages:["eng"]},{code_2:"DO",code_3:"DOM",numCode:"214",name:"Dominican Republic",languages:["spa"],langCultureMs:[{langCultureName:"es-DO",displayName:"Spanish - Dominican Republic",cultureCode:"0x1C0A"}]},{code_2:"EC",code_3:"ECU",numCode:"218",name:"Ecuador",languages:["spa"],langCultureMs:[{langCultureName:"es-EC",displayName:"Spanish - Ecuador",cultureCode:"0x300A"}]},{code_2:"EG",code_3:"EGY",numCode:"818",name:"Egypt",languages:["ara"],langCultureMs:[{langCultureName:"ar-EG",displayName:"Arabic - Egypt",cultureCode:"0x0C01"}]},{code_2:"SV",code_3:"SLV",numCode:"222",name:"El Salvador",languages:["spa"],langCultureMs:[{langCultureName:"es-SV",displayName:"Spanish - El Salvador",cultureCode:"0x440A"}]},{code_2:"GQ",code_3:"GNQ",numCode:"226",name:"Equatorial Guinea",languages:["fra","por","spa"]},{code_2:"ER",code_3:"ERI",numCode:"232",name:"Eritrea",languages:["ara","eng","tir"]},{code_2:"EE",code_3:"EST",numCode:"233",name:"Estonia",languages:["est"],langCultureMs:[{langCultureName:"et-EE",displayName:"Estonian - Estonia",cultureCode:"0x0425"}]},{code_2:"ET",code_3:"ETH",numCode:"231",name:"Ethiopia",languages:["amh"]},{code_2:"FK",code_3:"FLK",numCode:"238",name:"Falkland Islands (Malvinas)"},{code_2:"FO",code_3:"FRO",numCode:"234",name:"Faroe Islands",languages:["dan"],langCultureMs:[{langCultureName:"fo-FO",displayName:"Faroese - Faroe Islands",cultureCode:"0x0438"}]},{code_2:"FJ",code_3:"FJI",numCode:"242",name:"Fiji",languages:["eng","fij","hin","urd"]},{code_2:"FI",code_3:"FIN",numCode:"246",name:"Finland",languages:["fin","swe"],langCultureMs:[{langCultureName:"fi-FI",displayName:"Finnish - Finland",cultureCode:"0x040B"},{langCultureName:"sv-FI",displayName:"Swedish - Finland",cultureCode:"0x081D"}]},{code_2:"FR",code_3:"FRA",numCode:"250",name:"France",languages:["fra"],langCultureMs:[{langCultureName:"fr-FR",displayName:"French - France",cultureCode:"0x040C"}]},{code_2:"GF",code_3:"GUF",numCode:"254",name:"French Guiana",languages:["fra"]},{code_2:"PF",code_3:"PYF",numCode:"258",name:"French Polynesia",languages:["fra"]},{code_2:"TF",code_3:"ATF",numCode:"260",name:"French Southern Territories"},{code_2:"GA",code_3:"GAB",numCode:"266",name:"Gabon",languages:["fra"]},{code_2:"GM",code_3:"GMB",numCode:"270",name:"Gambia",languages:["eng"]},{code_2:"GE",code_3:"GEO",numCode:"268",name:"Georgia",languages:["kat"],langCultureMs:[{langCultureName:"ka-GE",displayName:"Georgian - Georgia",cultureCode:"0x0437"}]},{code_2:"DE",code_3:"DEU",numCode:"276",name:"Germany",languages:["deu"],langCultureMs:[{langCultureName:"de-DE",displayName:"German - Germany",cultureCode:"0x0407"}]},{code_2:"GH",code_3:"GHA",numCode:"288",name:"Ghana",languages:["aka","eng","ewe","gaa"]},{code_2:"GI",code_3:"GIB",numCode:"292",name:"Gibraltar"},{code_2:"GR",code_3:"GRC",numCode:"300",name:"Greece",languages:["ell"],langCultureMs:[{langCultureName:"el-GR",displayName:"Greek - Greece",cultureCode:"0x0408"}]},{code_2:"GL",code_3:"GRL",numCode:"304",name:"Greenland"},{code_2:"GD",code_3:"GRD",numCode:"308",name:"Grenada",languages:["eng"]},{code_2:"GP",code_3:"GLP",numCode:"312",name:"Guadeloupe",languages:["fra"]},{code_2:"GU",code_3:"GUM",numCode:"316",name:"Guam"},{code_2:"GT",code_3:"GTM",numCode:"320",name:"Guatemala",languages:["spa"],langCultureMs:[{langCultureName:"es-GT",displayName:"Spanish - Guatemala",cultureCode:"0x100A"}]},{code_2:"GG",code_3:"GGY",numCode:"831",name:"Guernsey"},{code_2:"GN",code_3:"GIN",numCode:"324",name:"Guinea",languages:["fra"]},{code_2:"GW",code_3:"GNB",numCode:"624",name:"Guinea-Bissau",languages:["por"]},{code_2:"GY",code_3:"GUY",numCode:"328",name:"Guyana",languages:["eng"]},{code_2:"HT",code_3:"HTI",numCode:"332",name:"Haiti",languages:["fra","hat"]},{code_2:"HM",code_3:"HMD",numCode:"334",name:"Heard Island and McDonald Islands"},{code_2:"VA",code_3:"VAT",numCode:"336",name:"Holy See (Vatican City State)",languages:["ita","lat"]},{code_2:"HN",code_3:"HND",numCode:"340",name:"Honduras",languages:["spa"],langCultureMs:[{langCultureName:"es-HN",displayName:"Spanish - Honduras",cultureCode:"0x480A"}]},{code_2:"HK",code_3:"HKG",numCode:"344",name:"Hong Kong",languages:["zho","eng"],langCultureMs:[{langCultureName:"zh-HK",displayName:"Chinese - Hong Kong SAR",cultureCode:"0x0C04"}]},{code_2:"HU",code_3:"HUN",numCode:"348",name:"Hungary",languages:["hun"],langCultureMs:[{langCultureName:"hu-HU",displayName:"Hungarian - Hungary",cultureCode:"0x040E"}]},{code_2:"IS",code_3:"ISL",numCode:"352",name:"Iceland",languages:["isl"],langCultureMs:[{langCultureName:"is-IS",displayName:"Icelandic - Iceland",cultureCode:"0x040F"}]},{code_2:"IN",code_3:"IND",numCode:"356",name:"India",languages:["ben","eng","guj","hin","pan","tam","tel"],langCultureMs:[{langCultureName:"gu-IN",displayName:"Gujarati - India",cultureCode:"0x0447"},{langCultureName:"hi-IN",displayName:"Hindi - India",cultureCode:"0x0439"},{langCultureName:"kn-IN",displayName:"Kannada - India",cultureCode:"0x044B"},{langCultureName:"kok-IN",displayName:"Konkani - India",cultureCode:"0x0457"},{langCultureName:"mr-IN",displayName:"Marathi - India",cultureCode:"0x044E"},{langCultureName:"pa-IN",displayName:"Punjabi - India",cultureCode:"0x0446"},{langCultureName:"sa-IN",displayName:"Sanskrit - India",cultureCode:"0x044F"},{langCultureName:"ta-IN",displayName:"Tamil - India",cultureCode:"0x0449"},{langCultureName:"te-IN",displayName:"Telugu - India",cultureCode:"0x044A"}]},{code_2:"ID",code_3:"IDN",numCode:"360",name:"Indonesia",languages:["ind","msa"],langCultureMs:[{langCultureName:"id-ID",displayName:"Indonesian - Indonesia",cultureCode:"0x0421"}]},{code_2:"IR",code_3:"IRN",numCode:"364",name:"Iran, Islamic Republic of",languages:["fas"],langCultureMs:[{langCultureName:"fa-IR",displayName:"Farsi - Iran",cultureCode:"0x0429"}]},{code_2:"IQ",code_3:"IRQ",numCode:"368",name:"Iraq",languages:["ara","kur"],langCultureMs:[{langCultureName:"ar-IQ",displayName:"Arabic - Iraq",cultureCode:"0x0801"}]},{code_2:"IE",code_3:"IRL",numCode:"372",name:"Ireland",languages:["eng","gle"],langCultureMs:[{langCultureName:"en-IE",displayName:"English - Ireland",cultureCode:"0x1809"}]},{code_2:"IM",code_3:"IMN",numCode:"833",name:"Isle of Man"},{code_2:"IL",code_3:"ISR",numCode:"376",name:"Israel",languages:["ara","heb"],langCultureMs:[{langCultureName:"he-IL",displayName:"Hebrew - Israel",cultureCode:"0x040D"}]},{code_2:"IT",code_3:"ITA",numCode:"380",name:"Italy",languages:["fra","deu","ita"],langCultureMs:[{langCultureName:"it-IT",displayName:"Italian - Italy",cultureCode:"0x0410"}]},{code_2:"JM",code_3:"JAM",numCode:"388",name:"Jamaica",languages:["eng"],langCultureMs:[{langCultureName:"en-JM",displayName:"English - Jamaica",cultureCode:"0x2009"}]},{code_2:"JP",code_3:"JPN",numCode:"392",name:"Japan",languages:["jpn"],langCultureMs:[{langCultureName:"ja-JP",displayName:"Japanese - Japan",cultureCode:"0x0411"}]},{code_2:"JE",code_3:"JEY",numCode:"832",name:"Jersey",languages:["fra"]},{code_2:"JO",code_3:"JOR",numCode:"400",name:"Jordan",languages:["ara"],langCultureMs:[{langCultureName:"ar-JO",displayName:"Arabic - Jordan",cultureCode:"0x2C01"}]},{code_2:"KZ",code_3:"KAZ",numCode:"398",name:"Kazakhstan",languages:["kaz","rus"],langCultureMs:[{langCultureName:"kk-KZ",displayName:"Kazakh - Kazakhstan",cultureCode:"0x043F"},{langCultureName:"ky-KZ",displayName:"Kyrgyz - Kazakhstan",cultureCode:"0x0440"}]},{code_2:"KE",code_3:"KEN",numCode:"404",name:"Kenya",languages:["eng","swa"],langCultureMs:[{langCultureName:"sw-KE",displayName:"Swahili - Kenya",cultureCode:"0x0441"}]},{code_2:"KI",code_3:"KIR",numCode:"296",name:"Kiribati",languages:["eng"]},{code_2:"KP",code_3:"PRK",numCode:"408",name:"Korea, Democratic People's Republic of",languages:["kor"]},{code_2:"KR",code_3:"KOR",numCode:"410",name:"Korea, Republic of",languages:["kor"],langCultureMs:[{langCultureName:"ko-KR",displayName:"Korean - Korea",cultureCode:"0x0412"}]},{code_2:"KW",code_3:"KWT",numCode:"414",name:"Kuwait",languages:["ara"],langCultureMs:[{langCultureName:"ar-KW",displayName:"Arabic - Kuwait",cultureCode:"0x3401"}]},{code_2:"KG",code_3:"KGZ",numCode:"417",name:"Kyrgyzstan",languages:["kir","rus"]},{code_2:"LA",code_3:"LAO",numCode:"418",name:"Lao People's Democratic Republic",languages:["lao"]},{code_2:"LV",code_3:"LVA",numCode:"428",name:"Latvia",languages:["lav"],langCultureMs:[{langCultureName:"lv-LV",displayName:"Latvian - Latvia",cultureCode:"0x0426"}]},{code_2:"LB",code_3:"LBN",numCode:"422",name:"Lebanon",languages:["ara"],langCultureMs:[{langCultureName:"ar-LB",displayName:"Arabic - Lebanon",cultureCode:"0x3001"}]},{code_2:"LS",code_3:"LSO",numCode:"426",name:"Lesotho",languages:["eng","sot"]},{code_2:"LR",code_3:"LBR",numCode:"430",name:"Liberia",languages:["eng"]},{code_2:"LY",code_3:"LBY",numCode:"434",name:"Libya",languages:["ara"],langCultureMs:[{langCultureName:"ar-LY",displayName:"Arabic - Libya",cultureCode:"0x1001"}]},{code_2:"LI",code_3:"LIE",numCode:"438",name:"Liechtenstein",languages:["deu"],langCultureMs:[{langCultureName:"de-LI",displayName:"German - Liechtenstein",cultureCode:"0x1407"}]},{code_2:"LT",code_3:"LTU",numCode:"440",name:"Lithuania",languages:["lit"],langCultureMs:[{langCultureName:"lt-LT",displayName:"Lithuanian - Lithuania",cultureCode:"0x0427"}]},{code_2:"LU",code_3:"LUX",numCode:"442",name:"Luxembourg",languages:["fra","deu","ltz"],langCultureMs:[{langCultureName:"fr-LU",displayName:"French - Luxembourg",cultureCode:"0x140C"},{langCultureName:"de-LU",displayName:"German - Luxembourg",cultureCode:"0x1007"}]},{code_2:"MO",code_3:"MAC",numCode:"446",name:"Macao",languages:["zho","por"],langCultureMs:[{langCultureName:"zh-MO",displayName:"Chinese - Macau SAR",cultureCode:"0x1404"}]},{code_2:"MK",code_3:"MKD",numCode:"807",name:"Macedonia, the former Yugoslav Republic of",languages:["mkd"],langCultureMs:[{langCultureName:"mk-MK",displayName:"Macedonian (FYROM)",cultureCode:"0x042F"}]},{code_2:"MG",code_3:"MDG",numCode:"450",name:"Madagascar",languages:["fra","mlg"]},{code_2:"MW",code_3:"MWI",numCode:"454",name:"Malawi",languages:["nya","eng"]},{code_2:"MY",code_3:"MYS",numCode:"458",name:"Malaysia",languages:["eng","msa","tam"],langCultureMs:[{langCultureName:"ms-MY",displayName:"Malay - Malaysia",cultureCode:"0x043E"}]},{code_2:"MV",code_3:"MDV",numCode:"462",name:"Maldives",languages:["div"],langCultureMs:[{langCultureName:"div-MV",displayName:"Dhivehi - Maldives",cultureCode:"0x0465"}]},{code_2:"ML",code_3:"MLI",numCode:"466",name:"Mali",languages:["bam","fra","ful","snk"]},{code_2:"MT",code_3:"MLT",numCode:"470",name:"Malta",languages:["eng","mlt"]},{code_2:"MH",code_3:"MHL",numCode:"584",name:"Marshall Islands",languages:["eng","mah"]},{code_2:"MQ",code_3:"MTQ",numCode:"474",name:"Martinique",languages:["fra"]},{code_2:"MR",code_3:"MRT",numCode:"478",name:"Mauritania",languages:["ara"]},{code_2:"MU",code_3:"MUS",numCode:"480",name:"Mauritius",languages:["eng","fra","tam"]},{code_2:"YT",code_3:"MYT",numCode:"175",name:"Mayotte",languages:["fra"]},{code_2:"MX",code_3:"MEX",numCode:"484",name:"Mexico",languages:["spa"],langCultureMs:[{langCultureName:"es-MX",displayName:"Spanish - Mexico",cultureCode:"0x080A"}]},{code_2:"FM",code_3:"FSM",numCode:"583",name:"Micronesia, Federated States of",languages:["eng"]},{code_2:"MD",code_3:"MDA",numCode:"498",name:"Moldova, Republic of",languages:["ron"]},{code_2:"MC",code_3:"MCO",numCode:"492",name:"Monaco",languages:["fra"],langCultureMs:[{langCultureName:"fr-MC",displayName:"French - Monaco",cultureCode:"0x180C"}]},{code_2:"MN",code_3:"MNG",numCode:"496",name:"Mongolia",languages:["mon"],langCultureMs:[{langCultureName:"mn-MN",displayName:"Mongolian - Mongolia",cultureCode:"0x0450"}]},{code_2:"ME",code_3:"MNE",numCode:"499",name:"Montenegro"},{code_2:"MS",code_3:"MSR",numCode:"500",name:"Montserrat"},{code_2:"MA",code_3:"MAR",numCode:"504",name:"Morocco",languages:["ara","ber"],langCultureMs:[{langCultureName:"ar-MA",displayName:"Arabic - Morocco",cultureCode:"0x1801"}]},{code_2:"MZ",code_3:"MOZ",numCode:"508",name:"Mozambique",languages:["por"]},{code_2:"MM",code_3:"MMR",numCode:"104",name:"Myanmar",languages:["mya"]},{code_2:"NA",code_3:"NAM",numCode:"516",name:"Namibia",languages:["eng"]},{code_2:"NR",code_3:"NRU",numCode:"520",name:"Nauru",languages:["eng"]},{code_2:"NP",code_3:"NPL",numCode:"524",name:"Nepal",languages:["nep"]},{code_2:"NL",code_3:"NLD",numCode:"528",name:"Netherlands",languages:["nld"],langCultureMs:[{langCultureName:"nl-NL",displayName:"Dutch - The Netherlands",cultureCode:"0x0413"}]},{code_2:"NC",code_3:"NCL",numCode:"540",name:"New Caledonia",languages:["fra"]},{code_2:"NZ",code_3:"NZL",numCode:"554",name:"New Zealand",languages:["eng","mri"],langCultureMs:[{langCultureName:"en-NZ",displayName:"English - New Zealand",cultureCode:"0x1409"}]},{code_2:"NI",code_3:"NIC",numCode:"558",name:"Nicaragua",languages:["spa"],langCultureMs:[{langCultureName:"es-NI",displayName:"Spanish - Nicaragua",cultureCode:"0x4C0A"}]},{code_2:"NE",code_3:"NER",numCode:"562",name:"Niger",languages:["ara","fra","ful","hau","kau"]},{code_2:"NG",code_3:"NGA",numCode:"566",name:"Nigeria",languages:["eng","hau","ibo","yor"]},{code_2:"NU",code_3:"NIU",numCode:"570",name:"Niue"},{code_2:"NF",code_3:"NFK",numCode:"574",name:"Norfolk Island"},{code_2:"MP",code_3:"MNP",numCode:"580",name:"Northern Mariana Islands"},{code_2:"NO",code_3:"NOR",numCode:"578",name:"Norway",languages:["nob","nno","nor"],langCultureMs:[{langCultureName:"nb-NO",displayName:"Norwegian (Bokmål) - Norway",cultureCode:"0x0414"},{langCultureName:"nn-NO",displayName:"Norwegian (Nynorsk) - Norway",cultureCode:"0x0814"}]},{code_2:"OM",code_3:"OMN",numCode:"512",name:"Oman",languages:["ara"],langCultureMs:[{langCultureName:"ar-OM",displayName:"Arabic - Oman",cultureCode:"0x2001"}]},{code_2:"PK",code_3:"PAK",numCode:"586",name:"Pakistan",languages:["eng","urd"],langCultureMs:[{langCultureName:"ur-PK",displayName:"Urdu - Pakistan",cultureCode:"0x0420"}]},{code_2:"PW",code_3:"PLW",numCode:"585",name:"Palau",languages:["eng"]},{code_2:"PS",code_3:"PSE",numCode:"275",name:"Palestine, State of"},{code_2:"PA",code_3:"PAN",numCode:"591",name:"Panama",languages:["spa"],langCultureMs:[{langCultureName:"es-PA",displayName:"Spanish - Panama",cultureCode:"0x180A"}]},{code_2:"PG",code_3:"PNG",numCode:"598",name:"Papua New Guinea",languages:["eng","hmo","tpi"]},{code_2:"PY",code_3:"PRY",numCode:"600",name:"Paraguay",languages:["grn","spa"],langCultureMs:[{langCultureName:"es-PY",displayName:"Spanish - Paraguay",cultureCode:"0x3C0A"}]},{code_2:"PE",code_3:"PER",numCode:"604",name:"Peru",languages:["aym","que","spa"],langCultureMs:[{langCultureName:"es-PE",displayName:"Spanish - Peru",cultureCode:"0x280A"}]},{code_2:"PH",code_3:"PHL",numCode:"608",name:"Philippines",languages:["eng","fil","tgl"],langCultureMs:[{langCultureName:"en-PH",displayName:"English - Philippines",cultureCode:"0x3409"}]},{code_2:"PN",code_3:"PCN",numCode:"612",name:"Pitcairn"},{code_2:"PL",code_3:"POL",numCode:"616",name:"Poland",languages:["pol"],langCultureMs:[{langCultureName:"pl-PL",displayName:"Polish - Poland",cultureCode:"0x0415"}]},{code_2:"PT",code_3:"PRT",numCode:"620",name:"Portugal",languages:["por"],langCultureMs:[{langCultureName:"pt-PT",displayName:"Portuguese - Portugal",cultureCode:"0x0816"}]},{code_2:"PR",code_3:"PRI",numCode:"630",name:"Puerto Rico",languages:["spa"],langCultureMs:[{langCultureName:"es-PR",displayName:"Spanish - Puerto Rico",cultureCode:"0x500A"}]},{code_2:"QA",code_3:"QAT",numCode:"634",name:"Qatar",languages:["ara"],langCultureMs:[{langCultureName:"ar-QA",displayName:"Arabic - Qatar",cultureCode:"0x4001"}]},{code_2:"RE",code_3:"REU",numCode:"638",name:"Réunion",languages:["fra"]},{code_2:"RO",code_3:"ROU",numCode:"642",name:"Romania",languages:["ron"],langCultureMs:[{langCultureName:"ro-RO",displayName:"Romanian - Romania",cultureCode:"0x0418"}]},{code_2:"RU",code_3:"RUS",numCode:"643",name:"Russian Federation",languages:["rus"],langCultureMs:[{langCultureName:"ru-RU",displayName:"Russian - Russia",cultureCode:"0x0419"},{langCultureName:"tt-RU",displayName:"Tatar - Russia",cultureCode:"0x0444"}]},{code_2:"RW",code_3:"RWA",numCode:"646",name:"Rwanda",languages:["eng","fra","kin"]},{code_2:"BL",code_3:"BLM",numCode:"652",name:"Saint Barthélemy",languages:["fra"]},{code_2:"SH",code_3:"SHN",numCode:"654",name:"Saint Helena, Ascension and Tristan da Cunha"},{code_2:"KN",code_3:"KNA",numCode:"659",name:"Saint Kitts and Nevis",languages:["eng"]},{code_2:"LC",code_3:"LCA",numCode:"662",name:"Saint Lucia",languages:["eng"]},{code_2:"MF",code_3:"MAF",numCode:"663",name:"Saint Martin (French part)"},{code_2:"PM",code_3:"SPM",numCode:"666",name:"Saint Pierre and Miquelon",languages:["fra"]},{code_2:"VC",code_3:"VCT",numCode:"670",name:"Saint Vincent and the Grenadines",languages:["eng"]},{code_2:"WS",code_3:"WSM",numCode:"882",name:"Samoa",languages:["eng"]},{code_2:"SM",code_3:"SMR",numCode:"674",name:"San Marino",languages:["ita"]},{code_2:"ST",code_3:"STP",numCode:"678",name:"Sao Tome and Principe",languages:["por"]},{code_2:"SA",code_3:"SAU",numCode:"682",name:"Saudi Arabia",languages:["ara"],langCultureMs:[{langCultureName:"ar-SA",displayName:"Arabic - Saudi Arabia",cultureCode:"0x0401"}]},{code_2:"SN",code_3:"SEN",numCode:"686",name:"Senegal",languages:["fra","ful","srr","snk","wol"]},{code_2:"RS",code_3:"SRB",numCode:"688",name:"Serbia",languages:["srp"],langCultureMs:[{langCultureName:"Cy-sr-SP",displayName:"Serbian (Cyrillic) - Serbia",cultureCode:"0x0C1A"},{langCultureName:"Lt-sr-SP",displayName:"Serbian (Latin) - Serbia",cultureCode:"0x081A"}]},{code_2:"SC",code_3:"SYC",numCode:"690",name:"Seychelles",languages:["eng","fra"]},{code_2:"SL",code_3:"SLE",numCode:"694",name:"Sierra Leone",languages:["eng"]},{code_2:"SG",code_3:"SGP",numCode:"702",name:"Singapore",languages:["eng","zho","msa","tam"],langCultureMs:[{langCultureName:"en-SG",displayName:"English - Singapore",cultureCode:"0x1004"}]},{code_2:"SX",code_3:"SXM",numCode:"534",name:"Sint Maarten (Dutch part)",languages:["nld","eng"]},{code_2:"SK",code_3:"SVK",numCode:"703",name:"Slovakia",languages:["ces","slk"],langCultureMs:[{langCultureName:"sk-SK",displayName:"Slovak - Slovakia",cultureCode:"0x041B"}]},{code_2:"SI",code_3:"SVN",numCode:"705",name:"Slovenia",languages:["ita","slv"],langCultureMs:[{langCultureName:"sl-SI",displayName:"Slovenian - Slovenia",cultureCode:"0x0424"}]},{code_2:"SB",code_3:"SLB",numCode:"090",name:"Solomon Islands",languages:["eng"]},{code_2:"SO",code_3:"SOM",numCode:"706",name:"Somalia",languages:["ara","som"]},{code_2:"ZA",code_3:"ZAF",numCode:"710",name:"South Africa",languages:["afr","eng","nde","nbl","nso","sot","ssw","tso","tsn","ven","xho","zul"],langCultureMs:[{langCultureName:"af-ZA",displayName:"Afrikaans - South Africa",cultureCode:"0x0436"},{langCultureName:"en-ZA",displayName:"English - South Africa",cultureCode:"0x1C09"}]},{code_2:"GS",code_3:"SGS",numCode:"239",name:"South Georgia and the South Sandwich Islands"},{code_2:"SS",code_3:"SSD",numCode:"728",name:"South Sudan",languages:["eng"]},{code_2:"ES",code_3:"ESP",numCode:"724",name:"Spain",languages:["spa"],langCultureMs:[{langCultureName:"eu-ES",displayName:"Basque - Basque",cultureCode:"0x042D"},{langCultureName:"ca-ES",displayName:"Catalan - Catalan",cultureCode:"0x0403"},{langCultureName:"gl-ES",displayName:"Galician - Galician",cultureCode:"0x0456"},{langCultureName:"es-ES",displayName:"Spanish - Spain",cultureCode:"0x0C0A"}]},{code_2:"LK",code_3:"LKA",numCode:"144",name:"Sri Lanka",languages:["eng","sin","tam"]},{code_2:"SD",code_3:"SDN",numCode:"729",name:"Sudan",languages:["ara","eng"]},{code_2:"SR",code_3:"SUR",numCode:"740",name:"Suriname",languages:["nld"]},{code_2:"SJ",code_3:"SJM",numCode:"744",name:"Svalbard and Jan Mayen"},{code_2:"SZ",code_3:"SWZ",numCode:"748",name:"Swaziland",languages:["eng","ssw"]},{code_2:"SE",code_3:"SWE",numCode:"752",name:"Sweden",languages:["swe"],langCultureMs:[{langCultureName:"sv-SE",displayName:"Swedish - Sweden",cultureCode:"0x041D"}]},{code_2:"CH",code_3:"CHE",numCode:"756",name:"Switzerland",languages:["fra","deu","ita","roh"],langCultureMs:[{langCultureName:"fr-CH",displayName:"French - Switzerland",cultureCode:"0x100C"},{langCultureName:"de-CH",displayName:"German - Switzerland",cultureCode:"0x0807"},{langCultureName:"it-CH",displayName:"Italian - Switzerland",cultureCode:"0x0810"}]},{code_2:"SY",code_3:"SYR",numCode:"760",name:"Syrian Arab Republic",languages:["ara"],langCultureMs:[{langCultureName:"ar-SY",displayName:"Arabic - Syria",cultureCode:"0x2801"},{langCultureName:"syr-SY",displayName:"Syriac - Syria",cultureCode:"0x045A"}]},{code_2:"TW",code_3:"TWN",numCode:"158",name:"Taiwan, Province of China",languages:["zho"],langCultureMs:[{langCultureName:"zh-TW",displayName:"Chinese - Taiwan",cultureCode:"0x0404"}]},{code_2:"TJ",code_3:"TJK",numCode:"762",name:"Tajikistan",languages:["fas","rus","tgk"]},{code_2:"TZ",code_3:"TZA",numCode:"834",name:"Tanzania, United Republic of",languages:["eng","swa"]},{code_2:"TH",code_3:"THA",numCode:"764",name:"Thailand",languages:["tha"],langCultureMs:[{langCultureName:"th-TH",displayName:"Thai - Thailand",cultureCode:"0x041E"}]},{code_2:"TL",code_3:"TLS",numCode:"626",name:"Timor-Leste",languages:["por","tet"]},{code_2:"TG",code_3:"TGO",numCode:"768",name:"Togo",languages:["ewe","fra"]},{code_2:"TK",code_3:"TKL",numCode:"772",name:"Tokelau"},{code_2:"TO",code_3:"TON",numCode:"776",name:"Tonga",languages:["eng"]},{code_2:"TT",code_3:"TTO",numCode:"780",name:"Trinidad and Tobago",languages:["eng"],langCultureMs:[{langCultureName:"en-TT",displayName:"English - Trinidad and Tobago",cultureCode:"0x2C09"}]},{code_2:"TN",code_3:"TUN",numCode:"788",name:"Tunisia",languages:["ara"],langCultureMs:[{langCultureName:"ar-TN",displayName:"Arabic - Tunisia",cultureCode:"0x1C01"}]},{code_2:"TR",code_3:"TUR",numCode:"792",name:"Turkey",languages:["tur"],langCultureMs:[{langCultureName:"tr-TR",displayName:"Turkish - Turkey",cultureCode:"0x041F"}]},{code_2:"TM",code_3:"TKM",numCode:"795",name:"Turkmenistan",languages:["tuk"]},{code_2:"TC",code_3:"TCA",numCode:"796",name:"Turks and Caicos Islands"},{code_2:"TV",code_3:"TUV",numCode:"798",name:"Tuvalu",languages:["eng"]},{code_2:"UG",code_3:"UGA",numCode:"800",name:"Uganda",languages:["eng","swa"]},{code_2:"UA",code_3:"UKR",numCode:"804",name:"Ukraine",languages:["ukr"],langCultureMs:[{langCultureName:"uk-UA",displayName:"Ukrainian - Ukraine",cultureCode:"0x0422"}]},{code_2:"AE",code_3:"ARE",numCode:"784",name:"United Arab Emirates",languages:["ara"],langCultureMs:[{langCultureName:"ar-AE",displayName:"Arabic - United Arab Emirates",cultureCode:"0x3801"}]},{code_2:"GB",code_3:"GBR",numCode:"826",name:"United Kingdom",languages:["eng","cym"],langCultureMs:[{langCultureName:"en-GB",displayName:"English - United Kingdom",cultureCode:"0x0809"}]},{code_2:"US",code_3:"USA",numCode:"840",name:"United States",languages:["eng"],langCultureMs:[{langCultureName:"en-US",displayName:"English - United States",cultureCode:"0x0409"}]},{code_2:"UM",code_3:"UMI",numCode:"581",name:"United States Minor Outlying Islands"},{code_2:"UY",code_3:"URY",numCode:"858",name:"Uruguay",languages:["spa"],langCultureMs:[{langCultureName:"es-UY",displayName:"Spanish - Uruguay",cultureCode:"0x380A"}]},{code_2:"UZ",code_3:"UZB",numCode:"860",name:"Uzbekistan",languages:["uzb"],langCultureMs:[{langCultureName:"Cy-uz-UZ",displayName:"Uzbek (Cyrillic) - Uzbekistan",cultureCode:"0x0843"},{langCultureName:"Lt-uz-UZ",displayName:"Uzbek (Latin) - Uzbekistan",cultureCode:"0x0443"}]},{code_2:"VU",code_3:"VUT",numCode:"548",name:"Vanuatu",languages:["bis","eng","fra"]},{code_2:"VE",code_3:"VEN",numCode:"862",name:"Venezuela, Bolivarian Republic of",languages:["spa"],langCultureMs:[{langCultureName:"es-VE",displayName:"Spanish - Venezuela",cultureCode:"0x200A"}]},{code_2:"VN",code_3:"VNM",numCode:"704",name:"Viet Nam",languages:["vie"],langCultureMs:[{langCultureName:"vi-VN",displayName:"Vietnamese - Vietnam",cultureCode:"0x042A"}]},{code_2:"VG",code_3:"VGB",numCode:"092",name:"Virgin Islands, British"},{code_2:"VI",code_3:"VIR",numCode:"850",name:"Virgin Islands, U.S."},{code_2:"WF",code_3:"WLF",numCode:"876",name:"Wallis and Futuna",languages:["fra"]},{code_2:"EH",code_3:"ESH",numCode:"732",name:"Western Sahara",languages:["spa"]},{code_2:"YE",code_3:"YEM",numCode:"887",name:"Yemen",languages:["ara"],langCultureMs:[{langCultureName:"ar-YE",displayName:"Arabic - Yemen",cultureCode:"0x2401"}]},{code_2:"ZM",code_3:"ZMB",numCode:"894",name:"Zambia",languages:["eng"]},{code_2:"ZW",code_3:"ZWE",numCode:"716",name:"Zimbabwe",languages:["eng","nde","sna"],langCultureMs:[{langCultureName:"en-ZW",displayName:"English - Zimbabwe",cultureCode:"0x3009"}]}],hhe=[["af","ZA"],["am","ET"],["ar","AE"],["ar","BH"],["ar","DZ"],["ar","EG"],["ar","IQ"],["ar","JO"],["ar","KW"],["ar","LB"],["ar","LY"],["ar","MA"],["arn","CL"],["ar","OM"],["ar","QA"],["ar","SA"],["ar","SY"],["ar","TN"],["ar","YE"],["as","IN"],["az","Cyrl","AZ"],["az","Latn","AZ"],["ba","RU"],["be","BY"],["bg","BG"],["bn","BD"],["bn","IN"],["bo","CN"],["br","FR"],["bs","Cyrl","BA"],["bs","Latn","BA"],["ca","ES"],["co","FR"],["cs","CZ"],["cy","GB"],["da","DK"],["de","AT"],["de","CH"],["de","DE"],["de","LI"],["de","LU"],["dsb","DE"],["dv","MV"],["el","GR"],["en","029"],["en","AU"],["en","BZ"],["en","CA"],["en","GB"],["en","IE"],["en","IN"],["en","JM"],["en","MY"],["en","NZ"],["en","PH"],["en","SG"],["en","TT"],["en","US"],["en","ZA"],["en","ZW"],["es","AR"],["es","BO"],["es","CL"],["es","CO"],["es","CR"],["es","DO"],["es","EC"],["es","ES"],["es","GT"],["es","HN"],["es","MX"],["es","NI"],["es","PA"],["es","PE"],["es","PR"],["es","PY"],["es","SV"],["es","US"],["es","UY"],["es","VE"],["et","EE"],["eu","ES"],["fa","IR"],["fi","FI"],["fil","PH"],["fo","FO"],["fr","BE"],["fr","CA"],["fr","CH"],["fr","FR"],["fr","LU"],["fr","MC"],["fy","NL"],["ga","IE"],["gd","GB"],["gl","ES"],["gsw","FR"],["gu","IN"],["ha","Latn","NG"],["he","IL"],["hi","IN"],["hr","BA"],["hr","HR"],["hsb","DE"],["hu","HU"],["hy","AM"],["id","ID"],["ig","NG"],["ii","CN"],["is","IS"],["it","CH"],["it","IT"],["iu","Cans","CA"],["iu","Latn","CA"],["ja","JP"],["ka","GE"],["kk","KZ"],["kl","GL"],["km","KH"],["kn","IN"],["kok","IN"],["ko","KR"],["ky","KG"],["lb","LU"],["lo","LA"],["lt","LT"],["lv","LV"],["mi","NZ"],["mk","MK"],["ml","IN"],["mn","MN"],["mn","Mong","CN"],["moh","CA"],["mr","IN"],["ms","BN"],["ms","MY"],["mt","MT"],["nb","NO"],["ne","NP"],["nl","BE"],["nl","NL"],["nn","NO"],["nso","ZA"],["oc","FR"],["or","IN"],["pa","IN"],["pl","PL"],["prs","AF"],["ps","AF"],["pt","BR"],["pt","PT"],["qut","GT"],["quz","BO"],["quz","EC"],["quz","PE"],["rm","CH"],["ro","RO"],["ru","RU"],["rw","RW"],["sah","RU"],["sa","IN"],["se","FI"],["se","NO"],["se","SE"],["si","LK"],["sk","SK"],["sl","SI"],["sma","NO"],["sma","SE"],["smj","NO"],["smj","SE"],["smn","FI"],["sms","FI"],["sq","AL"],["sr","Cyrl","BA"],["sr","Cyrl","CS"],["sr","Cyrl","ME"],["sr","Cyrl","RS"],["sr","Latn","BA"],["sr","Latn","CS"],["sr","Latn","ME"],["sr","Latn","RS"],["sv","FI"],["sv","SE"],["sw","KE"],["syr","SY"],["ta","IN"],["te","IN"],["tg","Cyrl","TJ"],["th","TH"],["tk","TM"],["tn","ZA"],["tr","TR"],["tt","RU"],["tzm","Latn","DZ"],["ug","CN"],["uk","UA"],["ur","PK"],["uz","Cyrl","UZ"],["uz","Latn","UZ"],["vi","VN"],["wo","SN"],["xh","ZA"],["yo","NG"],["zh","CN"],["zh","HK"],["zh","MO"],["zh","SG"],["zh","TW"],["zu","ZA"]],mhe={languageFamilies:che,languages:phe,countries:fhe,locales:hhe};(function(e){const a=mhe;function t(i,r){return i||r}function n(i){return typeof i=="function"}e.getCountries=function(){return a.countries},e.getLanguages=function(){return a.languages},e.getLanguageFamilies=function(){return a.languageFamilies},e.getLanguageCodes=function(i,r){const{languages:s}=a,u=["iso639_1","iso639_2en","iso639_3"],o=[];if(r=r||(n(i)?i:t),i=i&&!n(i)?i:1,i=Math.floor(Number(i)),Number.isNaN(i)||i<1||i>u.length)return r("Wrong language code type provided. Valid values: 1, 2, 3 for iso639-1, iso639-2, iso639-3 respectively");const l=u[i-1];for(const g of s)g[l]&&o.push(g[l]);return r(null,o)},e.getCountryCodes=function(i,r){const{countries:s}=a,u=["numCode","code_2","code_3"],o=[];if(r=r||(n(i)?i:t),i=i&&!n(i)?i:2,i=Math.floor(Number(i)),Number.isNaN(i)||i<1||i>u.length)return r("Wrong country code type provided. Valid values: 1, 2, 3 for numeric code, alpha-2, alpha-3 respectively");const l=u[i-1];for(const g of s)g[l]&&o.push(g[l]);return r(null,o)},e.languageCodeExists=function(i){let r,s;if(!i)return!1;i=i.toLowerCase();for(let u=1;u<4&&(r=e.getLanguageCodes(u),s=r.includes(i),!s);u++);return s},e.countryCodeExists=function(i){let r,s;if(!i)return!1;i=i.toUpperCase();for(let u=1;u<4&&(r=e.getCountryCodes(u),s=r.includes(i),!s);u++);return s},e.getCountry=function(i,r,s){const{countries:u}=a;let o,l,g;if(typeof i!="string")return r("No country code provided");if(r=r||t,i=i.toUpperCase(),i.length===2?l="code_2":i.length===3&&(l="code_3"),l){if(o=u.find(d=>d[l]===i),!o)return r('There is no country with code "'+i+'"');if(o={...o},!s&&(g=o.languages,o.languages=[],g))for(const d of g)o.languages.push(e.getLanguage(d,null,!0));return r(null,o)}return r("Wrong type of country code provided")},e.getLanguage=function(i,r,s){const{languages:u}=a;let o;const l=[];let g;if(r=r||t,typeof i!="string")return r("No language code provided");if(i=i.toLowerCase(),i.length===2?l.push("iso639_1"):i.length===3&&l.push("iso639_2","iso639_2en","iso639_3"),l){for(const d of l)if(o=u.find(c=>c[d]===i),o)break;if(!o)return r('There is no language with code "'+i+'"');if(o={...o},!s&&(g=o.countries,o.countries=[],g))for(const d of g)o.countries.push(e.getCountry(d,null,!0));return r(null,o)}return r("Wrong type of language code provided")},e.getCountryLanguages=function(i,r){const s=[];return r=r||t,e.getCountry(i,function(u,o){if(u)return r(u);for(const l of o.languages)s.push({iso639_1:l.iso639_1,iso639_2:l.iso639_2en,iso639_3:l.iso639_3})}),r(null,s)},e.getLanguageCountries=function(i,r){const s=[];return r=r||t,e.getLanguage(i,function(u,o){if(u)return r(u);for(const l of o.countries)s.push({code_2:l.code_2,code_3:l.code_3,numCode:l.numCode})}),r(null,s)},e.getCountryMsLocales=function(i,r){let s=[];return r=r||t,e.getCountry(i,function(u,o){if(u)return r(u);s=o.langCultureMs}),r(null,s)},e.getLanguageMsLocales=function(i,r){let s=[];return r=r||t,e.getLanguage(i,function(u,o){if(u)return r(u);s=o.langCultureMs}),r(null,s)},e.getLanguageFamilyMembers=function(i,r){const{languages:s}=a,u=[];if(r=r||t,typeof i!="string")return r("No language family provided");if(i=i.toLowerCase(),!a.languageFamilies.find(g=>g.toLowerCase()===i))return r('There is no language family "'+i+'"');const l=s.filter(g=>g.family.toLowerCase()===i);for(const g of l)u.push(e.getLanguage(g.iso639_3));return r(null,u)},e.getLocales=function(i){const{locales:r}=a,s=[];let u;for(const o of r)u=o[2]?"-"+o[2]:"",i?s.push(o[0]+u+"-"+o[1]):s.push(o[0]+"-"+o[1]+u);return s}})(XM);const Fke=an(XM);var yhe={},b6={};function bhe(e){for(var a=-1,t=e?e.length:0,n=0,i=[];++a<t;){var r=e[a];r&&(i[n++]=r)}return i}var The=bhe,Ad={},t9={},vd={},T6={};Object.defineProperty(T6,"__esModule",{value:!0});T6.default={bh:15,aav:209,afa:298,alg:415,alv:430,apa:505,aqa:531,aql:536,art:558,ath:596,auf:620,aus:633,awd:655,azc:702,bad:714,bai:719,bat:727,ber:826,bnt:1054,btk:1193,cai:1366,cau:1377,cba:1383,ccn:1413,ccs:1418,cdc:1420,cdd:1421,cel:1439,cmc:1529,cpe:1584,cpf:1585,cpp:1590,crp:1611,csu:1641,cus:1677,day:1721,dmn:1867,dra:1913,egx:2024,esx:2110,euq:2123,fiu:2165,fox:2187,gem:2313,gme:2399,gmq:2405,gmw:2409,grk:2475,him:2626,hmx:2667,hok:2689,hyx:2760,iir:2814,ijo:2819,inc:2858,ine:2859,ira:2878,iro:2884,itc:2904,jpx:3043,kar:3090,kdo:3160,khi:3256,kro:3511,map:4085,mkh:4328,mno:4409,mun:4581,myn:4681,nah:4726,nai:4727,ngf:4848,nic:4894,nub:5131,omq:5301,omv:5305,oto:5370,paa:5394,phi:5499,plf:5554,poz:5639,pqe:5655,pqw:5657,pra:5658,qwe:5793,roa:5920,sai:5984,sal:5987,sdv:6065,sem:6080,sgn:6110,sio:6158,sit:6163,sla:6211,smi:6240,son:6291,sqj:6325,ssa:6359,syd:6474,tai:6506,tbq:6538,trk:6863,tup:6942,tut:6945,tuw:6948,urj:7122,wak:7262,wen:7311,xgn:7563,xnd:7653,ypk:7975,zhx:8104,zle:8129,zls:8134,zlw:8135,znd:8163};var S6={};Object.defineProperty(S6,"__esModule",{value:!0});S6.default={aao:8240,abh:8241,abv:8242,acm:8243,acq:8244,acw:8245,acx:8246,acy:8247,adf:8248,ads:8249,aeb:8250,aec:8251,aed:8252,aen:8253,afb:8254,afg:8255,ajp:8256,ajs:8257,apc:8258,apd:8259,arb:8260,arq:8261,ars:8262,ary:8263,arz:8264,ase:8265,asf:8266,asp:8267,asq:8268,asw:8269,auz:8270,avl:8271,ayh:8272,ayl:8273,ayn:8274,ayp:8275,bbz:8276,bfi:8277,bfk:8278,bjn:8279,bog:8280,bqn:8281,bqy:8282,btj:8283,bve:8284,bvl:8285,bvu:8286,bzs:8287,cdo:8288,cds:8289,cjy:8290,cmn:8291,cnp:8292,coa:8293,cpx:8294,csc:8295,csd:8296,cse:8297,csf:8298,csg:8299,csl:8300,csn:8301,csp:8302,csq:8303,csr:8304,csx:8305,czh:8306,czo:8307,doq:8308,dse:8309,dsl:8310,dsz:8311,dup:8312,ecs:8313,ehs:8314,esl:8315,esn:8316,eso:8317,eth:8318,fcs:8319,fse:8320,fsl:8321,fss:8322,gan:8323,gds:8324,gom:8325,gse:8326,gsg:8327,gsm:8328,gss:8329,gus:8330,hab:8331,haf:8332,hak:8333,hds:8334,hji:8335,hks:8336,hos:8337,hps:8338,hsh:8339,hsl:8340,hsn:8341,icl:8342,iks:8343,ils:8344,inl:8345,ins:8346,ise:8347,isg:8348,isr:8349,jak:8350,jax:8351,jcs:8352,jhs:8353,jks:8354,jls:8355,jos:8356,jsl:8357,jus:8358,kgi:8359,knn:8360,kvb:8361,kvk:8362,kvr:8363,kxd:8364,lbs:8365,lce:8366,lcf:8367,liw:8368,lls:8369,lsb:8370,lsc:8371,lsg:8372,lsl:8373,lsn:8374,lso:8375,lsp:8376,lst:8377,lsv:8378,lsw:8379,lsy:8380,ltg:8381,lvs:8382,lws:8383,lzh:8384,max:8385,mdl:8386,meo:8387,mfa:8388,mfb:8389,mfs:8390,min:8391,mnp:8392,mqg:8393,mre:8394,msd:8395,msi:8396,msr:8397,mui:8398,mzc:8399,mzg:8400,mzy:8401,nan:8402,nbs:8403,ncs:8404,nsi:8405,nsl:8406,nsp:8407,nsr:8408,nzs:8409,okl:8410,orn:8411,ors:8412,pel:8413,pga:8414,pgz:8415,pks:8416,prl:8417,prz:8418,psc:8419,psd:8420,pse:8421,psg:8422,psl:8423,pso:8424,psp:8425,psr:8426,pys:8427,rib:8428,rms:8429,rnb:8430,rsi:8431,rsl:8432,rsm:8433,rsn:8434,sdl:8435,sfb:8436,sfs:8437,sgg:8438,sgx:8439,shu:8440,slf:8441,sls:8442,sqk:8443,sqs:8444,sqx:8445,ssh:8446,ssp:8447,ssr:8448,svk:8449,swc:8450,swh:8451,swl:8452,syy:8453,szs:8454,tmw:8455,tse:8456,tsm:8457,tsq:8458,tss:8459,tsy:8460,tza:8461,ugn:8462,ugy:8463,ukl:8464,uks:8465,urk:8466,uzn:8467,uzs:8468,vgt:8469,vkk:8470,vkt:8471,vsi:8472,vsl:8473,vsv:8474,wbs:8475,wuu:8476,xki:8477,xml:8478,xmm:8479,xms:8480,yds:8481,ygs:8482,yhs:8483,ysl:8484,ysm:8485,yue:8486,zib:8487,zlm:8488,zmi:8489,zsl:8490,zsm:8491};var A6={};Object.defineProperty(A6,"__esModule",{value:!0});A6.default={"art-lojban":9117,"cel-gaulish":9118,"en-gb-oed":9119,"i-ami":9120,"i-bnn":9121,"i-default":9122,"i-enochian":9123,"i-hak":9124,"i-klingon":9125,"i-lux":9126,"i-mingo":9127,"i-navajo":9128,"i-pwn":9129,"i-tao":9130,"i-tay":9131,"i-tsu":9132,"no-bok":9133,"no-nyn":9134,"sgn-be-fr":9135,"sgn-be-nl":9136,"sgn-ch-de":9137,"zh-guoyu":9138,"zh-hakka":9139,"zh-min":9140,"zh-min-nan":9141,"zh-xiang":9142};var v6={};Object.defineProperty(v6,"__esModule",{value:!0});v6.default={142:{region:8999},143:{region:9e3},145:{region:9001},150:{region:9002},151:{region:9003},154:{region:9004},155:{region:9005},202:{region:9006},419:{region:9007},1901:{variant:9010},1994:{variant:9012},1996:{variant:9013},aa:{language:0,region:8704},ab:{language:1},ae:{language:2,region:8707},af:{language:3,region:8708},ak:{language:4},am:{language:5,region:8712},an:{language:6,region:8713},ar:{language:7,region:8716},as:{language:8,region:8717},av:{language:9},ay:{language:10},az:{language:11,region:8722},ba:{language:12,region:8723},be:{language:13,region:8726},bg:{language:14,region:8728},bh:{language:15,region:8729},bi:{language:16,region:8730},bm:{language:17,region:8733},bn:{language:18,region:8734},bo:{language:19,region:8735},br:{language:20,region:8737},bs:{language:21,region:8738},ca:{language:22,region:8745},ce:{language:23},ch:{language:24,region:8750},co:{language:25,region:8756},cr:{language:26,region:8758},cs:{language:27,region:8759},cu:{language:28,region:8760},cv:{language:29,region:8761},cy:{language:30,region:8764},da:{language:31},de:{language:32,region:8767},dv:{language:33},dz:{language:34,region:8773},ee:{language:35,region:8776},el:{language:36},en:{language:37},eo:{language:38},es:{language:39,region:8780},et:{language:40,region:8781},eu:{language:41,region:8782},fa:{language:42},ff:{language:43},fi:{language:44,region:8784},fj:{language:45,region:8785},fo:{language:46,region:8788},fr:{language:47,region:8789},fy:{language:48},ga:{language:49,region:8791},gd:{language:50,region:8793},gl:{language:51,region:8799},gn:{language:52,region:8801},gu:{language:53,region:8807},gv:{language:54},ha:{language:55},he:{language:56},hi:{language:57},ho:{language:58},hr:{language:59,region:8813},ht:{language:60,region:8814},hu:{language:61,region:8815},hy:{language:62},hz:{language:63},ia:{language:64},id:{language:65,region:8817},ie:{language:66,region:8818},ig:{language:67},ii:{language:68},ik:{language:69},in:{language:70,region:8821},io:{language:71,region:8822},is:{language:72,region:8825},it:{language:73,region:8826},iu:{language:74},iw:{language:75},ja:{language:76},ji:{language:77},jv:{language:78},jw:{language:79},ka:{language:80},kg:{language:81,region:8832},ki:{language:82,region:8834},kj:{language:83},kk:{language:84},kl:{language:85},km:{language:86,region:8835},kn:{language:87,region:8836},ko:{language:88},kr:{language:89,region:8838},ks:{language:90},ku:{language:91},kv:{language:92},kw:{language:93,region:8839},ky:{language:94,region:8840},la:{language:95,region:8842},lb:{language:96,region:8843},lg:{language:97},li:{language:98,region:8845},ln:{language:99},lo:{language:100},lt:{language:101,region:8849},lu:{language:102,region:8850},lv:{language:103,region:8851},mg:{language:104,region:8858},mh:{language:105,region:8859},mi:{language:106},mk:{language:107,region:8860},ml:{language:108,region:8861},mn:{language:109,region:8863},mo:{language:110,region:8864},mr:{language:111,region:8867},ms:{language:112,region:8868},mt:{language:113,region:8869},my:{language:114,region:8874},na:{language:115,region:8876},nb:{language:116},nd:{language:117},ne:{language:118,region:8878},ng:{language:119,region:8880},nl:{language:120,region:8882},nn:{language:121},no:{language:122,region:8883},nr:{language:123,region:8885},nv:{language:124},ny:{language:125},oc:{language:126},oj:{language:127},om:{language:128,region:8889},or:{language:129},os:{language:130},pa:{language:131,region:8890},pi:{language:132},pl:{language:133,region:8896},ps:{language:134,region:8900},pt:{language:135,region:8901},qu:{language:136},rm:{language:137},rn:{language:138},ro:{language:139,region:8907},ru:{language:140,region:8909},rw:{language:141,region:8910},sa:{language:142,region:8911},sc:{language:143,region:8913},sd:{language:144,region:8914},se:{language:145,region:8915},sg:{language:146,region:8916},sh:{language:147,region:8917},si:{language:148,region:8918},sk:{language:149,region:8920},sl:{language:150,region:8921},sm:{language:151,region:8922},sn:{language:152,region:8923},so:{language:153,region:8924},sq:{language:154},sr:{language:155,region:8925},ss:{language:156,region:8926},st:{language:157,region:8927},su:{language:158,region:8928},sv:{language:159,region:8929},sw:{language:160},ta:{language:161,region:8933},te:{language:162},tg:{language:163,region:8937},th:{language:164,region:8938},ti:{language:165},tk:{language:166,region:8940},tl:{language:167,region:8941},tn:{language:168,region:8943},to:{language:169,region:8944},tr:{language:170,region:8946},ts:{language:171},tt:{language:172,region:8947},tw:{language:173,region:8949},ty:{language:174},ug:{language:175,region:8952},uk:{language:176},ur:{language:177},uz:{language:178,region:8957},ve:{language:179,region:8960},vi:{language:180,region:8962},vo:{language:181},wa:{language:182},wo:{language:183},xh:{language:184},yi:{language:185},yo:{language:186},za:{language:187,region:8972},zh:{language:188},zu:{language:189},aaa:{language:190},aab:{language:191},aac:{language:192},aad:{language:193},aae:{language:194},aaf:{language:195},aag:{language:196},aah:{language:197},aai:{language:198},aak:{language:199},aal:{language:200},aam:{language:201},aan:{language:202},aao:{language:203,extlang:8240},aap:{language:204},aaq:{language:205},aas:{language:206},aat:{language:207},aau:{language:208},aav:{language:209},aaw:{language:210},aax:{language:211},aaz:{language:212},aba:{language:213},abb:{language:214},abc:{language:215},abd:{language:216},abe:{language:217},abf:{language:218},abg:{language:219},abh:{language:220,extlang:8241},abi:{language:221},abj:{language:222},abl:{language:223},abm:{language:224},abn:{language:225},abo:{language:226},abp:{language:227},abq:{language:228},abr:{language:229},abs:{language:230},abt:{language:231},abu:{language:232},abv:{language:233,extlang:8242},abw:{language:234},abx:{language:235},aby:{language:236},abz:{language:237},aca:{language:238},acb:{language:239},acd:{language:240},ace:{language:241},acf:{language:242},ach:{language:243},aci:{language:244},ack:{language:245},acl:{language:246},acm:{language:247,extlang:8243},acn:{language:248},acp:{language:249},acq:{language:250,extlang:8244},acr:{language:251},acs:{language:252},act:{language:253},acu:{language:254},acv:{language:255},acw:{language:256,extlang:8245},acx:{language:257,extlang:8246},acy:{language:258,extlang:8247},acz:{language:259},ada:{language:260},adb:{language:261},add:{language:262},ade:{language:263},adf:{language:264,extlang:8248},adg:{language:265},adh:{language:266},adi:{language:267},adj:{language:268},adl:{language:269},adn:{language:270},ado:{language:271},adp:{language:272},adq:{language:273},adr:{language:274},ads:{language:275,extlang:8249},adt:{language:276},adu:{language:277},adw:{language:278},adx:{language:279},ady:{language:280},adz:{language:281},aea:{language:282},aeb:{language:283,extlang:8250},aec:{language:284,extlang:8251},aed:{language:285,extlang:8252},aee:{language:286},aek:{language:287},ael:{language:288},aem:{language:289},aen:{language:290,extlang:8253},aeq:{language:291},aer:{language:292},aes:{language:293},aeu:{language:294},aew:{language:295},aey:{language:296},aez:{language:297},afa:{language:298},afb:{language:299,extlang:8254},afd:{language:300},afe:{language:301},afg:{language:302,extlang:8255},afh:{language:303},afi:{language:304},afk:{language:305},afn:{language:306},afo:{language:307},afp:{language:308},afs:{language:309},aft:{language:310},afu:{language:311},afz:{language:312},aga:{language:313},agb:{language:314},agc:{language:315},agd:{language:316},age:{language:317},agf:{language:318},agg:{language:319},agh:{language:320},agi:{language:321},agj:{language:322},agk:{language:323},agl:{language:324},agm:{language:325},agn:{language:326},ago:{language:327},agp:{language:328},agq:{language:329},agr:{language:330},ags:{language:331},agt:{language:332},agu:{language:333},agv:{language:334},agw:{language:335},agx:{language:336},agy:{language:337},agz:{language:338},aha:{language:339},ahb:{language:340},ahg:{language:341},ahh:{language:342},ahi:{language:343},ahk:{language:344},ahl:{language:345},ahm:{language:346},ahn:{language:347},aho:{language:348},ahp:{language:349},ahr:{language:350},ahs:{language:351},aht:{language:352},aia:{language:353},aib:{language:354},aic:{language:355},aid:{language:356},aie:{language:357},aif:{language:358},aig:{language:359},aih:{language:360},aii:{language:361},aij:{language:362},aik:{language:363},ail:{language:364},aim:{language:365},ain:{language:366},aio:{language:367},aip:{language:368},aiq:{language:369},air:{language:370},ais:{language:371},ait:{language:372},aiw:{language:373},aix:{language:374},aiy:{language:375},aja:{language:376},ajg:{language:377},aji:{language:378},ajn:{language:379},ajp:{language:380,extlang:8256},ajs:{language:381,extlang:8257},ajt:{language:382},aju:{language:383},ajw:{language:384},ajz:{language:385},akb:{language:386},akc:{language:387},akd:{language:388},ake:{language:389},akf:{language:390},akg:{language:391},akh:{language:392},aki:{language:393},akj:{language:394},akk:{language:395},akl:{language:396},akm:{language:397},ako:{language:398},akp:{language:399},akq:{language:400},akr:{language:401},aks:{language:402},akt:{language:403},aku:{language:404},akv:{language:405},akw:{language:406},akx:{language:407},aky:{language:408},akz:{language:409},ala:{language:410},alc:{language:411},ald:{language:412},ale:{language:413},alf:{language:414},alg:{language:415},alh:{language:416},ali:{language:417},alj:{language:418},alk:{language:419},all:{language:420},alm:{language:421},aln:{language:422},alo:{language:423},alp:{language:424},alq:{language:425},alr:{language:426},als:{language:427},alt:{language:428},alu:{language:429},alv:{language:430},alw:{language:431},alx:{language:432},aly:{language:433},alz:{language:434},ama:{language:435},amb:{language:436},amc:{language:437},ame:{language:438},amf:{language:439},amg:{language:440},ami:{language:441},amj:{language:442},amk:{language:443},aml:{language:444},amm:{language:445},amn:{language:446},amo:{language:447},amp:{language:448},amq:{language:449},amr:{language:450},ams:{language:451},amt:{language:452},amu:{language:453},amv:{language:454},amw:{language:455},amx:{language:456},amy:{language:457},amz:{language:458},ana:{language:459},anb:{language:460},anc:{language:461},and:{language:462},ane:{language:463},anf:{language:464},ang:{language:465},anh:{language:466},ani:{language:467},anj:{language:468},ank:{language:469},anl:{language:470},anm:{language:471},ann:{language:472},ano:{language:473},anp:{language:474},anq:{language:475},anr:{language:476},ans:{language:477},ant:{language:478},anu:{language:479},anv:{language:480},anw:{language:481},anx:{language:482},any:{language:483},anz:{language:484},aoa:{language:485},aob:{language:486},aoc:{language:487},aod:{language:488},aoe:{language:489},aof:{language:490},aog:{language:491},aoh:{language:492},aoi:{language:493},aoj:{language:494},aok:{language:495},aol:{language:496},aom:{language:497},aon:{language:498},aor:{language:499},aos:{language:500},aot:{language:501},aou:{language:502},aox:{language:503},aoz:{language:504},apa:{language:505},apb:{language:506},apc:{language:507,extlang:8258},apd:{language:508,extlang:8259},ape:{language:509},apf:{language:510},apg:{language:511},aph:{language:512},api:{language:513},apj:{language:514},apk:{language:515},apl:{language:516},apm:{language:517},apn:{language:518},apo:{language:519},app:{language:520},apq:{language:521},apr:{language:522},aps:{language:523},apt:{language:524},apu:{language:525},apv:{language:526},apw:{language:527},apx:{language:528},apy:{language:529},apz:{language:530},aqa:{language:531},aqc:{language:532},aqd:{language:533},aqg:{language:534},aqk:{language:535},aql:{language:536},aqm:{language:537},aqn:{language:538},aqp:{language:539},aqr:{language:540},aqt:{language:541},aqz:{language:542},arb:{language:543,extlang:8260},arc:{language:544},ard:{language:545},are:{language:546},arh:{language:547},ari:{language:548},arj:{language:549},ark:{language:550},arl:{language:551},arn:{language:552},aro:{language:553},arp:{language:554},arq:{language:555,extlang:8261},arr:{language:556},ars:{language:557,extlang:8262},art:{language:558},aru:{language:559},arv:{language:560},arw:{language:561},arx:{language:562},ary:{language:563,extlang:8263},arz:{language:564,extlang:8264},asa:{language:565},asb:{language:566},asc:{language:567},asd:{language:568},ase:{language:569,extlang:8265},asf:{language:570,extlang:8266},asg:{language:571},ash:{language:572},asi:{language:573},asj:{language:574},ask:{language:575},asl:{language:576},asn:{language:577},aso:{language:578},asp:{language:579,extlang:8267},asq:{language:580,extlang:8268},asr:{language:581},ass:{language:582},ast:{language:583},asu:{language:584},asv:{language:585},asw:{language:586,extlang:8269},asx:{language:587},asy:{language:588},asz:{language:589},ata:{language:590},atb:{language:591},atc:{language:592},atd:{language:593},ate:{language:594},atg:{language:595},ath:{language:596},ati:{language:597},atj:{language:598},atk:{language:599},atl:{language:600},atm:{language:601},atn:{language:602},ato:{language:603},atp:{language:604},atq:{language:605},atr:{language:606},ats:{language:607},att:{language:608},atu:{language:609},atv:{language:610},atw:{language:611},atx:{language:612},aty:{language:613},atz:{language:614},aua:{language:615},aub:{language:616},auc:{language:617},aud:{language:618},aue:{language:619},auf:{language:620},aug:{language:621},auh:{language:622},aui:{language:623},auj:{language:624},auk:{language:625},aul:{language:626},aum:{language:627},aun:{language:628},auo:{language:629},aup:{language:630},auq:{language:631},aur:{language:632},aus:{language:633},aut:{language:634},auu:{language:635},auw:{language:636},aux:{language:637},auy:{language:638},auz:{language:639,extlang:8270},avb:{language:640},avd:{language:641},avi:{language:642},avk:{language:643},avl:{language:644,extlang:8271},avm:{language:645},avn:{language:646},avo:{language:647},avs:{language:648},avt:{language:649},avu:{language:650},avv:{language:651},awa:{language:652},awb:{language:653},awc:{language:654},awd:{language:655},awe:{language:656},awg:{language:657},awh:{language:658},awi:{language:659},awk:{language:660},awm:{language:661},awn:{language:662},awo:{language:663},awr:{language:664},aws:{language:665},awt:{language:666},awu:{language:667},awv:{language:668},aww:{language:669},awx:{language:670},awy:{language:671},axb:{language:672},axe:{language:673},axg:{language:674},axk:{language:675},axl:{language:676},axm:{language:677},axx:{language:678},aya:{language:679},ayb:{language:680},ayc:{language:681},ayd:{language:682},aye:{language:683},ayg:{language:684},ayh:{language:685,extlang:8272},ayi:{language:686},ayk:{language:687},ayl:{language:688,extlang:8273},ayn:{language:689,extlang:8274},ayo:{language:690},ayp:{language:691,extlang:8275},ayq:{language:692},ayr:{language:693},ays:{language:694},ayt:{language:695},ayu:{language:696},ayx:{language:697},ayy:{language:698},ayz:{language:699},aza:{language:700},azb:{language:701},azc:{language:702},azd:{language:703},azg:{language:704},azj:{language:705},azm:{language:706},azn:{language:707},azo:{language:708},azt:{language:709},azz:{language:710},baa:{language:711},bab:{language:712},bac:{language:713},bad:{language:714},bae:{language:715},baf:{language:716},bag:{language:717},bah:{language:718},bai:{language:719},baj:{language:720},bal:{language:721},ban:{language:722},bao:{language:723},bap:{language:724},bar:{language:725},bas:{language:726},bat:{language:727},bau:{language:728},bav:{language:729},baw:{language:730},bax:{language:731},bay:{language:732},baz:{language:733},bba:{language:734},bbb:{language:735},bbc:{language:736},bbd:{language:737},bbe:{language:738},bbf:{language:739},bbg:{language:740},bbh:{language:741},bbi:{language:742},bbj:{language:743},bbk:{language:744},bbl:{language:745},bbm:{language:746},bbn:{language:747},bbo:{language:748},bbp:{language:749},bbq:{language:750},bbr:{language:751},bbs:{language:752},bbt:{language:753},bbu:{language:754},bbv:{language:755},bbw:{language:756},bbx:{language:757},bby:{language:758},bbz:{language:759,extlang:8276},bca:{language:760},bcb:{language:761},bcc:{language:762},bcd:{language:763},bce:{language:764},bcf:{language:765},bcg:{language:766},bch:{language:767},bci:{language:768},bcj:{language:769},bck:{language:770},bcl:{language:771},bcm:{language:772},bcn:{language:773},bco:{language:774},bcp:{language:775},bcq:{language:776},bcr:{language:777},bcs:{language:778},bct:{language:779},bcu:{language:780},bcv:{language:781},bcw:{language:782},bcy:{language:783},bcz:{language:784},bda:{language:785},bdb:{language:786},bdc:{language:787},bdd:{language:788},bde:{language:789},bdf:{language:790},bdg:{language:791},bdh:{language:792},bdi:{language:793},bdj:{language:794},bdk:{language:795},bdl:{language:796},bdm:{language:797},bdn:{language:798},bdo:{language:799},bdp:{language:800},bdq:{language:801},bdr:{language:802},bds:{language:803},bdt:{language:804},bdu:{language:805},bdv:{language:806},bdw:{language:807},bdx:{language:808},bdy:{language:809},bdz:{language:810},bea:{language:811},beb:{language:812},bec:{language:813},bed:{language:814},bee:{language:815},bef:{language:816},beg:{language:817},beh:{language:818},bei:{language:819},bej:{language:820},bek:{language:821},bem:{language:822},beo:{language:823},bep:{language:824},beq:{language:825},ber:{language:826},bes:{language:827},bet:{language:828},beu:{language:829},bev:{language:830},bew:{language:831},bex:{language:832},bey:{language:833},bez:{language:834},bfa:{language:835},bfb:{language:836},bfc:{language:837},bfd:{language:838},bfe:{language:839},bff:{language:840},bfg:{language:841},bfh:{language:842},bfi:{language:843,extlang:8277},bfj:{language:844},bfk:{language:845,extlang:8278},bfl:{language:846},bfm:{language:847},bfn:{language:848},bfo:{language:849},bfp:{language:850},bfq:{language:851},bfr:{language:852},bfs:{language:853},bft:{language:854},bfu:{language:855},bfw:{language:856},bfx:{language:857},bfy:{language:858},bfz:{language:859},bga:{language:860},bgb:{language:861},bgc:{language:862},bgd:{language:863},bge:{language:864},bgf:{language:865},bgg:{language:866},bgi:{language:867},bgj:{language:868},bgk:{language:869},bgl:{language:870},bgm:{language:871},bgn:{language:872},bgo:{language:873},bgp:{language:874},bgq:{language:875},bgr:{language:876},bgs:{language:877},bgt:{language:878},bgu:{language:879},bgv:{language:880},bgw:{language:881},bgx:{language:882},bgy:{language:883},bgz:{language:884},bha:{language:885},bhb:{language:886},bhc:{language:887},bhd:{language:888},bhe:{language:889},bhf:{language:890},bhg:{language:891},bhh:{language:892},bhi:{language:893},bhj:{language:894},bhk:{language:895},bhl:{language:896},bhm:{language:897},bhn:{language:898},bho:{language:899},bhp:{language:900},bhq:{language:901},bhr:{language:902},bhs:{language:903},bht:{language:904},bhu:{language:905},bhv:{language:906},bhw:{language:907},bhx:{language:908},bhy:{language:909},bhz:{language:910},bia:{language:911},bib:{language:912},bic:{language:913},bid:{language:914},bie:{language:915},bif:{language:916},big:{language:917},bij:{language:918},bik:{language:919},bil:{language:920},bim:{language:921},bin:{language:922},bio:{language:923},bip:{language:924},biq:{language:925},bir:{language:926},bit:{language:927},biu:{language:928},biv:{language:929},biw:{language:930},bix:{language:931},biy:{language:932},biz:{language:933},bja:{language:934},bjb:{language:935},bjc:{language:936},bjd:{language:937},bje:{language:938},bjf:{language:939},bjg:{language:940},bjh:{language:941},bji:{language:942},bjj:{language:943},bjk:{language:944},bjl:{language:945},bjm:{language:946},bjn:{language:947,extlang:8279},bjo:{language:948},bjp:{language:949},bjq:{language:950},bjr:{language:951},bjs:{language:952},bjt:{language:953},bju:{language:954},bjv:{language:955},bjw:{language:956},bjx:{language:957},bjy:{language:958},bjz:{language:959},bka:{language:960},bkb:{language:961},bkc:{language:962},bkd:{language:963},bkf:{language:964},bkg:{language:965},bkh:{language:966},bki:{language:967},bkj:{language:968},bkk:{language:969},bkl:{language:970},bkm:{language:971},bkn:{language:972},bko:{language:973},bkp:{language:974},bkq:{language:975},bkr:{language:976},bks:{language:977},bkt:{language:978},bku:{language:979},bkv:{language:980},bkw:{language:981},bkx:{language:982},bky:{language:983},bkz:{language:984},bla:{language:985},blb:{language:986},blc:{language:987},bld:{language:988},ble:{language:989},blf:{language:990},blg:{language:991},blh:{language:992},bli:{language:993},blj:{language:994},blk:{language:995},bll:{language:996},blm:{language:997},bln:{language:998},blo:{language:999},blp:{language:1e3},blq:{language:1001},blr:{language:1002},bls:{language:1003},blt:{language:1004},blv:{language:1005},blw:{language:1006},blx:{language:1007},bly:{language:1008},blz:{language:1009},bma:{language:1010},bmb:{language:1011},bmc:{language:1012},bmd:{language:1013},bme:{language:1014},bmf:{language:1015},bmg:{language:1016},bmh:{language:1017},bmi:{language:1018},bmj:{language:1019},bmk:{language:1020},bml:{language:1021},bmm:{language:1022},bmn:{language:1023},bmo:{language:1024},bmp:{language:1025},bmq:{language:1026},bmr:{language:1027},bms:{language:1028},bmt:{language:1029},bmu:{language:1030},bmv:{language:1031},bmw:{language:1032},bmx:{language:1033},bmy:{language:1034},bmz:{language:1035},bna:{language:1036},bnb:{language:1037},bnc:{language:1038},bnd:{language:1039},bne:{language:1040},bnf:{language:1041},bng:{language:1042},bni:{language:1043},bnj:{language:1044},bnk:{language:1045},bnl:{language:1046},bnm:{language:1047},bnn:{language:1048},bno:{language:1049},bnp:{language:1050},bnq:{language:1051},bnr:{language:1052},bns:{language:1053},bnt:{language:1054},bnu:{language:1055},bnv:{language:1056},bnw:{language:1057},bnx:{language:1058},bny:{language:1059},bnz:{language:1060},boa:{language:1061},bob:{language:1062},boe:{language:1063},bof:{language:1064},bog:{language:1065,extlang:8280},boh:{language:1066},boi:{language:1067},boj:{language:1068},bok:{language:1069},bol:{language:1070},bom:{language:1071},bon:{language:1072},boo:{language:1073},bop:{language:1074},boq:{language:1075},bor:{language:1076},bot:{language:1077},bou:{language:1078},bov:{language:1079},bow:{language:1080},box:{language:1081},boy:{language:1082},boz:{language:1083},bpa:{language:1084},bpb:{language:1085},bpc:{language:1086},bpd:{language:1087},bpe:{language:1088},bpg:{language:1089},bph:{language:1090},bpi:{language:1091},bpj:{language:1092},bpk:{language:1093},bpl:{language:1094},bpm:{language:1095},bpn:{language:1096},bpo:{language:1097},bpp:{language:1098},bpq:{language:1099},bpr:{language:1100},bps:{language:1101},bpt:{language:1102},bpu:{language:1103},bpv:{language:1104},bpw:{language:1105},bpx:{language:1106},bpy:{language:1107},bpz:{language:1108},bqa:{language:1109},bqb:{language:1110},bqc:{language:1111},bqd:{language:1112},bqf:{language:1113},bqg:{language:1114},bqh:{language:1115},bqi:{language:1116},bqj:{language:1117},bqk:{language:1118},bql:{language:1119},bqm:{language:1120},bqn:{language:1121,extlang:8281},bqo:{language:1122},bqp:{language:1123},bqq:{language:1124},bqr:{language:1125},bqs:{language:1126},bqt:{language:1127},bqu:{language:1128},bqv:{language:1129},bqw:{language:1130},bqx:{language:1131},bqy:{language:1132,extlang:8282},bqz:{language:1133},bra:{language:1134},brb:{language:1135},brc:{language:1136},brd:{language:1137},brf:{language:1138},brg:{language:1139},brh:{language:1140},bri:{language:1141},brj:{language:1142},brk:{language:1143},brl:{language:1144},brm:{language:1145},brn:{language:1146},bro:{language:1147},brp:{language:1148},brq:{language:1149},brr:{language:1150},brs:{language:1151},brt:{language:1152},bru:{language:1153},brv:{language:1154},brw:{language:1155},brx:{language:1156},bry:{language:1157},brz:{language:1158},bsa:{language:1159},bsb:{language:1160},bsc:{language:1161},bse:{language:1162},bsf:{language:1163},bsg:{language:1164},bsh:{language:1165},bsi:{language:1166},bsj:{language:1167},bsk:{language:1168},bsl:{language:1169},bsm:{language:1170},bsn:{language:1171},bso:{language:1172},bsp:{language:1173},bsq:{language:1174},bsr:{language:1175},bss:{language:1176},bst:{language:1177},bsu:{language:1178},bsv:{language:1179},bsw:{language:1180},bsx:{language:1181},bsy:{language:1182},bta:{language:1183},btb:{language:1184},btc:{language:1185},btd:{language:1186},bte:{language:1187},btf:{language:1188},btg:{language:1189},bth:{language:1190},bti:{language:1191},btj:{language:1192,extlang:8283},btk:{language:1193},btl:{language:1194},btm:{language:1195},btn:{language:1196},bto:{language:1197},btp:{language:1198},btq:{language:1199},btr:{language:1200},bts:{language:1201},btt:{language:1202},btu:{language:1203},btv:{language:1204},btw:{language:1205},btx:{language:1206},bty:{language:1207},btz:{language:1208},bua:{language:1209},bub:{language:1210},buc:{language:1211},bud:{language:1212},bue:{language:1213},buf:{language:1214},bug:{language:1215},buh:{language:1216},bui:{language:1217},buj:{language:1218},buk:{language:1219},bum:{language:1220},bun:{language:1221},buo:{language:1222},bup:{language:1223},buq:{language:1224},bus:{language:1225},but:{language:1226},buu:{language:1227},buv:{language:1228},buw:{language:1229},bux:{language:1230},buy:{language:1231},buz:{language:1232},bva:{language:1233},bvb:{language:1234},bvc:{language:1235},bvd:{language:1236},bve:{language:1237,extlang:8284},bvf:{language:1238},bvg:{language:1239},bvh:{language:1240},bvi:{language:1241},bvj:{language:1242},bvk:{language:1243},bvl:{language:1244,extlang:8285},bvm:{language:1245},bvn:{language:1246},bvo:{language:1247},bvp:{language:1248},bvq:{language:1249},bvr:{language:1250},bvt:{language:1251},bvu:{language:1252,extlang:8286},bvv:{language:1253},bvw:{language:1254},bvx:{language:1255},bvy:{language:1256},bvz:{language:1257},bwa:{language:1258},bwb:{language:1259},bwc:{language:1260},bwd:{language:1261},bwe:{language:1262},bwf:{language:1263},bwg:{language:1264},bwh:{language:1265},bwi:{language:1266},bwj:{language:1267},bwk:{language:1268},bwl:{language:1269},bwm:{language:1270},bwn:{language:1271},bwo:{language:1272},bwp:{language:1273},bwq:{language:1274},bwr:{language:1275},bws:{language:1276},bwt:{language:1277},bwu:{language:1278},bww:{language:1279},bwx:{language:1280},bwy:{language:1281},bwz:{language:1282},bxa:{language:1283},bxb:{language:1284},bxc:{language:1285},bxd:{language:1286},bxe:{language:1287},bxf:{language:1288},bxg:{language:1289},bxh:{language:1290},bxi:{language:1291},bxj:{language:1292},bxk:{language:1293},bxl:{language:1294},bxm:{language:1295},bxn:{language:1296},bxo:{language:1297},bxp:{language:1298},bxq:{language:1299},bxr:{language:1300},bxs:{language:1301},bxu:{language:1302},bxv:{language:1303},bxw:{language:1304},bxx:{language:1305},bxz:{language:1306},bya:{language:1307},byb:{language:1308},byc:{language:1309},byd:{language:1310},bye:{language:1311},byf:{language:1312},byg:{language:1313},byh:{language:1314},byi:{language:1315},byj:{language:1316},byk:{language:1317},byl:{language:1318},bym:{language:1319},byn:{language:1320},byo:{language:1321},byp:{language:1322},byq:{language:1323},byr:{language:1324},bys:{language:1325},byt:{language:1326},byv:{language:1327},byw:{language:1328},byx:{language:1329},byy:{language:1330},byz:{language:1331},bza:{language:1332},bzb:{language:1333},bzc:{language:1334},bzd:{language:1335},bze:{language:1336},bzf:{language:1337},bzg:{language:1338},bzh:{language:1339},bzi:{language:1340},bzj:{language:1341},bzk:{language:1342},bzl:{language:1343},bzm:{language:1344},bzn:{language:1345},bzo:{language:1346},bzp:{language:1347},bzq:{language:1348},bzr:{language:1349},bzs:{language:1350,extlang:8287},bzt:{language:1351},bzu:{language:1352},bzv:{language:1353},bzw:{language:1354},bzx:{language:1355},bzy:{language:1356},bzz:{language:1357},caa:{language:1358},cab:{language:1359},cac:{language:1360},cad:{language:1361},cae:{language:1362},caf:{language:1363},cag:{language:1364},cah:{language:1365},cai:{language:1366},caj:{language:1367},cak:{language:1368},cal:{language:1369},cam:{language:1370},can:{language:1371},cao:{language:1372},cap:{language:1373},caq:{language:1374},car:{language:1375},cas:{language:1376},cau:{language:1377},cav:{language:1378},caw:{language:1379},cax:{language:1380},cay:{language:1381},caz:{language:1382},cba:{language:1383},cbb:{language:1384},cbc:{language:1385},cbd:{language:1386},cbe:{language:1387},cbg:{language:1388},cbh:{language:1389},cbi:{language:1390},cbj:{language:1391},cbk:{language:1392},cbl:{language:1393},cbn:{language:1394},cbo:{language:1395},cbq:{language:1396},cbr:{language:1397},cbs:{language:1398},cbt:{language:1399},cbu:{language:1400},cbv:{language:1401},cbw:{language:1402},cby:{language:1403},cca:{language:1404},ccc:{language:1405},ccd:{language:1406},cce:{language:1407},ccg:{language:1408},cch:{language:1409},ccj:{language:1410},ccl:{language:1411},ccm:{language:1412},ccn:{language:1413},cco:{language:1414},ccp:{language:1415},ccq:{language:1416},ccr:{language:1417},ccs:{language:1418},cda:{language:1419},cdc:{language:1420},cdd:{language:1421},cde:{language:1422},cdf:{language:1423},cdg:{language:1424},cdh:{language:1425},cdi:{language:1426},cdj:{language:1427},cdm:{language:1428},cdn:{language:1429},cdo:{language:1430,extlang:8288},cdr:{language:1431},cds:{language:1432,extlang:8289},cdy:{language:1433},cdz:{language:1434},cea:{language:1435},ceb:{language:1436},ceg:{language:1437},cek:{language:1438},cel:{language:1439},cen:{language:1440},cet:{language:1441},cey:{language:1442},cfa:{language:1443},cfd:{language:1444},cfg:{language:1445},cfm:{language:1446},cga:{language:1447},cgc:{language:1448},cgg:{language:1449},cgk:{language:1450},chb:{language:1451},chc:{language:1452},chd:{language:1453},chf:{language:1454},chg:{language:1455},chh:{language:1456},chj:{language:1457},chk:{language:1458},chl:{language:1459},chm:{language:1460},chn:{language:1461},cho:{language:1462},chp:{language:1463},chq:{language:1464},chr:{language:1465},cht:{language:1466},chw:{language:1467},chx:{language:1468},chy:{language:1469},chz:{language:1470},cia:{language:1471},cib:{language:1472},cic:{language:1473},cid:{language:1474},cie:{language:1475},cih:{language:1476},cik:{language:1477},cim:{language:1478},cin:{language:1479},cip:{language:1480},cir:{language:1481},ciw:{language:1482},ciy:{language:1483},cja:{language:1484},cje:{language:1485},cjh:{language:1486},cji:{language:1487},cjk:{language:1488},cjm:{language:1489},cjn:{language:1490},cjo:{language:1491},cjp:{language:1492},cjr:{language:1493},cjs:{language:1494},cjv:{language:1495},cjy:{language:1496,extlang:8290},cka:{language:1497},ckb:{language:1498},ckh:{language:1499},ckl:{language:1500},ckm:{language:1501},ckn:{language:1502},cko:{language:1503},ckq:{language:1504},ckr:{language:1505},cks:{language:1506},ckt:{language:1507},cku:{language:1508},ckv:{language:1509},ckx:{language:1510},cky:{language:1511},ckz:{language:1512},cla:{language:1513},clc:{language:1514},cld:{language:1515},cle:{language:1516},clh:{language:1517},cli:{language:1518},clj:{language:1519},clk:{language:1520},cll:{language:1521},clm:{language:1522},clo:{language:1523},clt:{language:1524},clu:{language:1525},clw:{language:1526},cly:{language:1527},cma:{language:1528},cmc:{language:1529},cme:{language:1530},cmg:{language:1531},cmi:{language:1532},cmk:{language:1533},cml:{language:1534},cmm:{language:1535},cmn:{language:1536,extlang:8291},cmo:{language:1537},cmr:{language:1538},cms:{language:1539},cmt:{language:1540},cna:{language:1541},cnb:{language:1542},cnc:{language:1543},cng:{language:1544},cnh:{language:1545},cni:{language:1546},cnk:{language:1547},cnl:{language:1548},cno:{language:1549},cnp:{language:1550,extlang:8292},cnq:{language:1551},cnr:{language:1552},cns:{language:1553},cnt:{language:1554},cnu:{language:1555},cnw:{language:1556},cnx:{language:1557},coa:{language:1558,extlang:8293},cob:{language:1559},coc:{language:1560},cod:{language:1561},coe:{language:1562},cof:{language:1563},cog:{language:1564},coh:{language:1565},coj:{language:1566},cok:{language:1567},col:{language:1568},com:{language:1569},con:{language:1570},coo:{language:1571},cop:{language:1572},coq:{language:1573},cot:{language:1574},cou:{language:1575},cov:{language:1576},cow:{language:1577},cox:{language:1578},coy:{language:1579},coz:{language:1580},cpa:{language:1581},cpb:{language:1582},cpc:{language:1583},cpe:{language:1584},cpf:{language:1585},cpg:{language:1586},cpi:{language:1587},cpn:{language:1588},cpo:{language:1589},cpp:{language:1590},cps:{language:1591},cpu:{language:1592},cpx:{language:1593,extlang:8294},cpy:{language:1594},cqd:{language:1595},cqu:{language:1596},cra:{language:1597},crb:{language:1598},crc:{language:1599},crd:{language:1600},crf:{language:1601},crg:{language:1602},crh:{language:1603},cri:{language:1604},crj:{language:1605},crk:{language:1606},crl:{language:1607},crm:{language:1608},crn:{language:1609},cro:{language:1610},crp:{language:1611},crq:{language:1612},crr:{language:1613},crs:{language:1614},crt:{language:1615},crv:{language:1616},crw:{language:1617},crx:{language:1618},cry:{language:1619},crz:{language:1620},csa:{language:1621},csb:{language:1622},csc:{language:1623,extlang:8295},csd:{language:1624,extlang:8296},cse:{language:1625,extlang:8297},csf:{language:1626,extlang:8298},csg:{language:1627,extlang:8299},csh:{language:1628},csi:{language:1629},csj:{language:1630},csk:{language:1631},csl:{language:1632,extlang:8300},csm:{language:1633},csn:{language:1634,extlang:8301},cso:{language:1635},csp:{language:1636,extlang:8302},csq:{language:1637,extlang:8303},csr:{language:1638,extlang:8304},css:{language:1639},cst:{language:1640},csu:{language:1641},csv:{language:1642},csw:{language:1643},csx:{language:1644,extlang:8305},csy:{language:1645},csz:{language:1646},cta:{language:1647},ctc:{language:1648},ctd:{language:1649},cte:{language:1650},ctg:{language:1651},cth:{language:1652},ctl:{language:1653},ctm:{language:1654},ctn:{language:1655},cto:{language:1656},ctp:{language:1657},cts:{language:1658},ctt:{language:1659},ctu:{language:1660},cty:{language:1661},ctz:{language:1662},cua:{language:1663},cub:{language:1664},cuc:{language:1665},cug:{language:1666},cuh:{language:1667},cui:{language:1668},cuj:{language:1669},cuk:{language:1670},cul:{language:1671},cum:{language:1672},cuo:{language:1673},cup:{language:1674},cuq:{language:1675},cur:{language:1676},cus:{language:1677},cut:{language:1678},cuu:{language:1679},cuv:{language:1680},cuw:{language:1681},cux:{language:1682},cuy:{language:1683},cvg:{language:1684},cvn:{language:1685},cwa:{language:1686},cwb:{language:1687},cwd:{language:1688},cwe:{language:1689},cwg:{language:1690},cwt:{language:1691},cya:{language:1692},cyb:{language:1693},cyo:{language:1694},czh:{language:1695,extlang:8306},czk:{language:1696},czn:{language:1697},czo:{language:1698,extlang:8307},czt:{language:1699},daa:{language:1700},dac:{language:1701},dad:{language:1702},dae:{language:1703},daf:{language:1704},dag:{language:1705},dah:{language:1706},dai:{language:1707},daj:{language:1708},dak:{language:1709},dal:{language:1710},dam:{language:1711},dao:{language:1712},dap:{language:1713},daq:{language:1714},dar:{language:1715},das:{language:1716},dau:{language:1717},dav:{language:1718},daw:{language:1719},dax:{language:1720},day:{language:1721},daz:{language:1722},dba:{language:1723},dbb:{language:1724},dbd:{language:1725},dbe:{language:1726},dbf:{language:1727},dbg:{language:1728},dbi:{language:1729},dbj:{language:1730},dbl:{language:1731},dbm:{language:1732},dbn:{language:1733},dbo:{language:1734},dbp:{language:1735},dbq:{language:1736},dbr:{language:1737},dbt:{language:1738},dbu:{language:1739},dbv:{language:1740},dbw:{language:1741},dby:{language:1742},dcc:{language:1743},dcr:{language:1744},dda:{language:1745},ddd:{language:1746},dde:{language:1747},ddg:{language:1748},ddi:{language:1749},ddj:{language:1750},ddn:{language:1751},ddo:{language:1752},ddr:{language:1753},dds:{language:1754},ddw:{language:1755},dec:{language:1756},ded:{language:1757},dee:{language:1758},def:{language:1759},deg:{language:1760},deh:{language:1761},dei:{language:1762},dek:{language:1763},del:{language:1764},dem:{language:1765},den:{language:1766},dep:{language:1767},deq:{language:1768},der:{language:1769},des:{language:1770},dev:{language:1771},dez:{language:1772},dga:{language:1773},dgb:{language:1774},dgc:{language:1775},dgd:{language:1776},dge:{language:1777},dgg:{language:1778},dgh:{language:1779},dgi:{language:1780},dgk:{language:1781},dgl:{language:1782},dgn:{language:1783},dgo:{language:1784},dgr:{language:1785},dgs:{language:1786},dgt:{language:1787},dgu:{language:1788},dgw:{language:1789},dgx:{language:1790},dgz:{language:1791},dha:{language:1792},dhd:{language:1793},dhg:{language:1794},dhi:{language:1795},dhl:{language:1796},dhm:{language:1797},dhn:{language:1798},dho:{language:1799},dhr:{language:1800},dhs:{language:1801},dhu:{language:1802},dhv:{language:1803},dhw:{language:1804},dhx:{language:1805},dia:{language:1806},dib:{language:1807},dic:{language:1808},did:{language:1809},dif:{language:1810},dig:{language:1811},dih:{language:1812},dii:{language:1813},dij:{language:1814},dik:{language:1815},dil:{language:1816},dim:{language:1817},din:{language:1818},dio:{language:1819},dip:{language:1820},diq:{language:1821},dir:{language:1822},dis:{language:1823},dit:{language:1824},diu:{language:1825},diw:{language:1826},dix:{language:1827},diy:{language:1828},diz:{language:1829},dja:{language:1830},djb:{language:1831},djc:{language:1832},djd:{language:1833},dje:{language:1834},djf:{language:1835},dji:{language:1836},djj:{language:1837},djk:{language:1838},djl:{language:1839},djm:{language:1840},djn:{language:1841},djo:{language:1842},djr:{language:1843},dju:{language:1844},djw:{language:1845},dka:{language:1846},dkg:{language:1847},dkk:{language:1848},dkl:{language:1849},dkr:{language:1850},dks:{language:1851},dkx:{language:1852},dlg:{language:1853},dlk:{language:1854},dlm:{language:1855},dln:{language:1856},dma:{language:1857},dmb:{language:1858},dmc:{language:1859},dmd:{language:1860},dme:{language:1861},dmf:{language:1862},dmg:{language:1863},dmk:{language:1864},dml:{language:1865},dmm:{language:1866},dmn:{language:1867},dmo:{language:1868},dmr:{language:1869},dms:{language:1870},dmu:{language:1871},dmv:{language:1872},dmw:{language:1873},dmx:{language:1874},dmy:{language:1875},dna:{language:1876},dnd:{language:1877},dne:{language:1878},dng:{language:1879},dni:{language:1880},dnj:{language:1881},dnk:{language:1882},dnn:{language:1883},dno:{language:1884},dnr:{language:1885},dnt:{language:1886},dnu:{language:1887},dnv:{language:1888},dnw:{language:1889},dny:{language:1890},doa:{language:1891},dob:{language:1892},doc:{language:1893},doe:{language:1894},dof:{language:1895},doh:{language:1896},doi:{language:1897},dok:{language:1898},dol:{language:1899},don:{language:1900},doo:{language:1901},dop:{language:1902},doq:{language:1903,extlang:8308},dor:{language:1904},dos:{language:1905},dot:{language:1906},dov:{language:1907},dow:{language:1908},dox:{language:1909},doy:{language:1910},doz:{language:1911},dpp:{language:1912},dra:{language:1913},drb:{language:1914},drc:{language:1915},drd:{language:1916},dre:{language:1917},drg:{language:1918},drh:{language:1919},dri:{language:1920},drl:{language:1921},drn:{language:1922},dro:{language:1923},drq:{language:1924},drr:{language:1925},drs:{language:1926},drt:{language:1927},dru:{language:1928},drw:{language:1929},dry:{language:1930},dsb:{language:1931},dse:{language:1932,extlang:8309},dsh:{language:1933},dsi:{language:1934},dsl:{language:1935,extlang:8310},dsn:{language:1936},dso:{language:1937},dsq:{language:1938},dsz:{language:1939,extlang:8311},dta:{language:1940},dtb:{language:1941},dtd:{language:1942},dth:{language:1943},dti:{language:1944},dtk:{language:1945},dtm:{language:1946},dtn:{language:1947},dto:{language:1948},dtp:{language:1949},dtr:{language:1950},dts:{language:1951},dtt:{language:1952},dtu:{language:1953},dty:{language:1954},dua:{language:1955},dub:{language:1956},duc:{language:1957},dud:{language:1958},due:{language:1959},duf:{language:1960},dug:{language:1961},duh:{language:1962},dui:{language:1963},duj:{language:1964},duk:{language:1965},dul:{language:1966},dum:{language:1967},dun:{language:1968},duo:{language:1969},dup:{language:1970,extlang:8312},duq:{language:1971},dur:{language:1972},dus:{language:1973},duu:{language:1974},duv:{language:1975},duw:{language:1976},dux:{language:1977},duy:{language:1978},duz:{language:1979},dva:{language:1980},dwa:{language:1981},dwk:{language:1982},dwl:{language:1983},dwr:{language:1984},dws:{language:1985},dwu:{language:1986},dww:{language:1987},dwy:{language:1988},dwz:{language:1989},dya:{language:1990},dyb:{language:1991},dyd:{language:1992},dyg:{language:1993},dyi:{language:1994},dym:{language:1995},dyn:{language:1996},dyo:{language:1997},dyu:{language:1998},dyy:{language:1999},dza:{language:2e3},dzd:{language:2001},dze:{language:2002},dzg:{language:2003},dzl:{language:2004},dzn:{language:2005},eaa:{language:2006},ebc:{language:2007},ebg:{language:2008},ebk:{language:2009},ebo:{language:2010},ebr:{language:2011},ebu:{language:2012},ecr:{language:2013},ecs:{language:2014,extlang:8313},ecy:{language:2015},eee:{language:2016},efa:{language:2017},efe:{language:2018},efi:{language:2019},ega:{language:2020},egl:{language:2021},egm:{language:2022},ego:{language:2023},egx:{language:2024},egy:{language:2025},ehs:{language:2026,extlang:8314},ehu:{language:2027},eip:{language:2028},eit:{language:2029},eiv:{language:2030},eja:{language:2031},eka:{language:2032},ekc:{language:2033},eke:{language:2034},ekg:{language:2035},eki:{language:2036},ekk:{language:2037},ekl:{language:2038},ekm:{language:2039},eko:{language:2040},ekp:{language:2041},ekr:{language:2042},eky:{language:2043},ele:{language:2044},elh:{language:2045},eli:{language:2046},elk:{language:2047},elm:{language:2048},elo:{language:2049},elp:{language:2050},elu:{language:2051},elx:{language:2052},ema:{language:2053},emb:{language:2054},eme:{language:2055},emg:{language:2056},emi:{language:2057},emk:{language:2058},emm:{language:2059},emn:{language:2060},emo:{language:2061},emp:{language:2062},emq:{language:2063},ems:{language:2064},emu:{language:2065},emw:{language:2066},emx:{language:2067},emy:{language:2068},emz:{language:2069},ena:{language:2070},enb:{language:2071},enc:{language:2072},end:{language:2073},enf:{language:2074},enh:{language:2075},enl:{language:2076},enm:{language:2077},enn:{language:2078},eno:{language:2079},enq:{language:2080},enr:{language:2081},enu:{language:2082},env:{language:2083},enw:{language:2084},enx:{language:2085},eot:{language:2086},epi:{language:2087},era:{language:2088},erg:{language:2089},erh:{language:2090},eri:{language:2091},erk:{language:2092},ero:{language:2093},err:{language:2094},ers:{language:2095},ert:{language:2096},erw:{language:2097},ese:{language:2098},esg:{language:2099},esh:{language:2100},esi:{language:2101},esk:{language:2102},esl:{language:2103,extlang:8315},esm:{language:2104},esn:{language:2105,extlang:8316},eso:{language:2106,extlang:8317},esq:{language:2107},ess:{language:2108},esu:{language:2109},esx:{language:2110},esy:{language:2111},etb:{language:2112},etc:{language:2113},eth:{language:2114,extlang:8318},etn:{language:2115},eto:{language:2116},etr:{language:2117},ets:{language:2118},ett:{language:2119},etu:{language:2120},etx:{language:2121},etz:{language:2122},euq:{language:2123},eve:{language:2124},evh:{language:2125},evn:{language:2126},ewo:{language:2127},ext:{language:2128},eya:{language:2129},eyo:{language:2130},eza:{language:2131},eze:{language:2132},faa:{language:2133},fab:{language:2134},fad:{language:2135},faf:{language:2136},fag:{language:2137},fah:{language:2138},fai:{language:2139},faj:{language:2140},fak:{language:2141},fal:{language:2142},fam:{language:2143},fan:{language:2144},fap:{language:2145},far:{language:2146},fat:{language:2147},fau:{language:2148},fax:{language:2149},fay:{language:2150},faz:{language:2151},fbl:{language:2152},fcs:{language:2153,extlang:8319},fer:{language:2154},ffi:{language:2155},ffm:{language:2156},fgr:{language:2157},fia:{language:2158},fie:{language:2159},fif:{language:2160},fil:{language:2161},fip:{language:2162},fir:{language:2163},fit:{language:2164},fiu:{language:2165},fiw:{language:2166},fkk:{language:2167},fkv:{language:2168},fla:{language:2169},flh:{language:2170},fli:{language:2171},fll:{language:2172},fln:{language:2173},flr:{language:2174},fly:{language:2175},fmp:{language:2176},fmu:{language:2177},fnb:{language:2178},fng:{language:2179},fni:{language:2180},fod:{language:2181},foi:{language:2182},fom:{language:2183},fon:{language:2184},for:{language:2185},fos:{language:2186},fox:{language:2187},fpe:{language:2188},fqs:{language:2189},frc:{language:2190},frd:{language:2191},frk:{language:2192},frm:{language:2193},fro:{language:2194},frp:{language:2195},frq:{language:2196},frr:{language:2197},frs:{language:2198},frt:{language:2199},fse:{language:2200,extlang:8320},fsl:{language:2201,extlang:8321},fss:{language:2202,extlang:8322},fub:{language:2203},fuc:{language:2204},fud:{language:2205},fue:{language:2206},fuf:{language:2207},fuh:{language:2208},fui:{language:2209},fuj:{language:2210},fum:{language:2211},fun:{language:2212},fuq:{language:2213},fur:{language:2214},fut:{language:2215},fuu:{language:2216},fuv:{language:2217},fuy:{language:2218},fvr:{language:2219},fwa:{language:2220},fwe:{language:2221},gaa:{language:2222},gab:{language:2223},gac:{language:2224},gad:{language:2225},gae:{language:2226},gaf:{language:2227},gag:{language:2228},gah:{language:2229},gai:{language:2230},gaj:{language:2231},gak:{language:2232},gal:{language:2233},gam:{language:2234},gan:{language:2235,extlang:8323},gao:{language:2236},gap:{language:2237},gaq:{language:2238},gar:{language:2239},gas:{language:2240},gat:{language:2241},gau:{language:2242},gav:{language:2243},gaw:{language:2244},gax:{language:2245},gay:{language:2246},gaz:{language:2247},gba:{language:2248},gbb:{language:2249},gbc:{language:2250},gbd:{language:2251},gbe:{language:2252},gbf:{language:2253},gbg:{language:2254},gbh:{language:2255},gbi:{language:2256},gbj:{language:2257},gbk:{language:2258},gbl:{language:2259},gbm:{language:2260},gbn:{language:2261},gbo:{language:2262},gbp:{language:2263},gbq:{language:2264},gbr:{language:2265},gbs:{language:2266},gbu:{language:2267},gbv:{language:2268},gbw:{language:2269},gbx:{language:2270},gby:{language:2271},gbz:{language:2272},gcc:{language:2273},gcd:{language:2274},gce:{language:2275},gcf:{language:2276},gcl:{language:2277},gcn:{language:2278},gcr:{language:2279},gct:{language:2280},gda:{language:2281},gdb:{language:2282},gdc:{language:2283},gdd:{language:2284},gde:{language:2285},gdf:{language:2286},gdg:{language:2287},gdh:{language:2288},gdi:{language:2289},gdj:{language:2290},gdk:{language:2291},gdl:{language:2292},gdm:{language:2293},gdn:{language:2294},gdo:{language:2295},gdq:{language:2296},gdr:{language:2297},gds:{language:2298,extlang:8324},gdt:{language:2299},gdu:{language:2300},gdx:{language:2301},gea:{language:2302},geb:{language:2303},gec:{language:2304},ged:{language:2305},gef:{language:2306},geg:{language:2307},geh:{language:2308},gei:{language:2309},gej:{language:2310},gek:{language:2311},gel:{language:2312},gem:{language:2313},geq:{language:2314},ges:{language:2315},gev:{language:2316},gew:{language:2317},gex:{language:2318},gey:{language:2319},gez:{language:2320},gfk:{language:2321},gft:{language:2322},gfx:{language:2323},gga:{language:2324},ggb:{language:2325},ggd:{language:2326},gge:{language:2327},ggg:{language:2328},ggk:{language:2329},ggl:{language:2330},ggn:{language:2331},ggo:{language:2332},ggr:{language:2333},ggt:{language:2334},ggu:{language:2335},ggw:{language:2336},gha:{language:2337},ghc:{language:2338},ghe:{language:2339},ghh:{language:2340},ghk:{language:2341},ghl:{language:2342},ghn:{language:2343},gho:{language:2344},ghr:{language:2345},ghs:{language:2346},ght:{language:2347},gia:{language:2348},gib:{language:2349},gic:{language:2350},gid:{language:2351},gie:{language:2352},gig:{language:2353},gih:{language:2354},gii:{language:2355},gil:{language:2356},gim:{language:2357},gin:{language:2358},gio:{language:2359},gip:{language:2360},giq:{language:2361},gir:{language:2362},gis:{language:2363},git:{language:2364},giu:{language:2365},giw:{language:2366},gix:{language:2367},giy:{language:2368},giz:{language:2369},gji:{language:2370},gjk:{language:2371},gjm:{language:2372},gjn:{language:2373},gjr:{language:2374},gju:{language:2375},gka:{language:2376},gkd:{language:2377},gke:{language:2378},gkn:{language:2379},gko:{language:2380},gkp:{language:2381},gku:{language:2382},glb:{language:2383},glc:{language:2384},gld:{language:2385},glh:{language:2386},gli:{language:2387},glj:{language:2388},glk:{language:2389},gll:{language:2390},glo:{language:2391},glr:{language:2392},glu:{language:2393},glw:{language:2394},gly:{language:2395},gma:{language:2396},gmb:{language:2397},gmd:{language:2398},gme:{language:2399},gmg:{language:2400},gmh:{language:2401},gml:{language:2402},gmm:{language:2403},gmn:{language:2404},gmq:{language:2405},gmr:{language:2406},gmu:{language:2407},gmv:{language:2408},gmw:{language:2409},gmx:{language:2410},gmy:{language:2411},gmz:{language:2412},gna:{language:2413},gnb:{language:2414},gnc:{language:2415},gnd:{language:2416},gne:{language:2417},gng:{language:2418},gnh:{language:2419},gni:{language:2420},gnj:{language:2421},gnk:{language:2422},gnl:{language:2423},gnm:{language:2424},gnn:{language:2425},gno:{language:2426},gnq:{language:2427},gnr:{language:2428},gnt:{language:2429},gnu:{language:2430},gnw:{language:2431},gnz:{language:2432},goa:{language:2433},gob:{language:2434},goc:{language:2435},god:{language:2436},goe:{language:2437},gof:{language:2438},gog:{language:2439},goh:{language:2440},goi:{language:2441},goj:{language:2442},gok:{language:2443},gol:{language:2444},gom:{language:2445,extlang:8325},gon:{language:2446},goo:{language:2447},gop:{language:2448},goq:{language:2449},gor:{language:2450},gos:{language:2451},got:{language:2452},gou:{language:2453},gov:{language:2454},gow:{language:2455},gox:{language:2456},goy:{language:2457},goz:{language:2458},gpa:{language:2459},gpe:{language:2460},gpn:{language:2461},gqa:{language:2462},gqi:{language:2463},gqn:{language:2464},gqr:{language:2465},gqu:{language:2466},gra:{language:2467},grb:{language:2468},grc:{language:2469},grd:{language:2470},grg:{language:2471},grh:{language:2472},gri:{language:2473},grj:{language:2474},grk:{language:2475},grm:{language:2476},gro:{language:2477},grq:{language:2478},grr:{language:2479},grs:{language:2480},grt:{language:2481},gru:{language:2482},grv:{language:2483},grw:{language:2484},grx:{language:2485},gry:{language:2486},grz:{language:2487},gse:{language:2488,extlang:8326},gsg:{language:2489,extlang:8327},gsl:{language:2490},gsm:{language:2491,extlang:8328},gsn:{language:2492},gso:{language:2493},gsp:{language:2494},gss:{language:2495,extlang:8329},gsw:{language:2496},gta:{language:2497},gti:{language:2498},gtu:{language:2499},gua:{language:2500},gub:{language:2501},guc:{language:2502},gud:{language:2503},gue:{language:2504},guf:{language:2505},gug:{language:2506},guh:{language:2507},gui:{language:2508},guk:{language:2509},gul:{language:2510},gum:{language:2511},gun:{language:2512},guo:{language:2513},gup:{language:2514},guq:{language:2515},gur:{language:2516},gus:{language:2517,extlang:8330},gut:{language:2518},guu:{language:2519},guv:{language:2520},guw:{language:2521},gux:{language:2522},guz:{language:2523},gva:{language:2524},gvc:{language:2525},gve:{language:2526},gvf:{language:2527},gvj:{language:2528},gvl:{language:2529},gvm:{language:2530},gvn:{language:2531},gvo:{language:2532},gvp:{language:2533},gvr:{language:2534},gvs:{language:2535},gvy:{language:2536},gwa:{language:2537},gwb:{language:2538},gwc:{language:2539},gwd:{language:2540},gwe:{language:2541},gwf:{language:2542},gwg:{language:2543},gwi:{language:2544},gwj:{language:2545},gwm:{language:2546},gwn:{language:2547},gwr:{language:2548},gwt:{language:2549},gwu:{language:2550},gww:{language:2551},gwx:{language:2552},gxx:{language:2553},gya:{language:2554},gyb:{language:2555},gyd:{language:2556},gye:{language:2557},gyf:{language:2558},gyg:{language:2559},gyi:{language:2560},gyl:{language:2561},gym:{language:2562},gyn:{language:2563},gyo:{language:2564},gyr:{language:2565},gyy:{language:2566},gyz:{language:2567},gza:{language:2568},gzi:{language:2569},gzn:{language:2570},haa:{language:2571},hab:{language:2572,extlang:8331},hac:{language:2573},had:{language:2574},hae:{language:2575},haf:{language:2576,extlang:8332},hag:{language:2577},hah:{language:2578},hai:{language:2579},haj:{language:2580},hak:{language:2581,extlang:8333},hal:{language:2582},ham:{language:2583},han:{language:2584},hao:{language:2585},hap:{language:2586},haq:{language:2587},har:{language:2588},has:{language:2589},hav:{language:2590},haw:{language:2591},hax:{language:2592},hay:{language:2593},haz:{language:2594},hba:{language:2595},hbb:{language:2596},hbn:{language:2597},hbo:{language:2598},hbu:{language:2599},hca:{language:2600},hch:{language:2601},hdn:{language:2602},hds:{language:2603,extlang:8334},hdy:{language:2604},hea:{language:2605},hed:{language:2606},heg:{language:2607},heh:{language:2608},hei:{language:2609},hem:{language:2610},hgm:{language:2611},hgw:{language:2612},hhi:{language:2613},hhr:{language:2614},hhy:{language:2615},hia:{language:2616},hib:{language:2617},hid:{language:2618},hif:{language:2619},hig:{language:2620},hih:{language:2621},hii:{language:2622},hij:{language:2623},hik:{language:2624},hil:{language:2625},him:{language:2626},hio:{language:2627},hir:{language:2628},hit:{language:2629},hiw:{language:2630},hix:{language:2631},hji:{language:2632,extlang:8335},hka:{language:2633},hke:{language:2634},hkh:{language:2635},hkk:{language:2636},hkn:{language:2637},hks:{language:2638,extlang:8336},hla:{language:2639},hlb:{language:2640},hld:{language:2641},hle:{language:2642},hlt:{language:2643},hlu:{language:2644},hma:{language:2645},hmb:{language:2646},hmc:{language:2647},hmd:{language:2648},hme:{language:2649},hmf:{language:2650},hmg:{language:2651},hmh:{language:2652},hmi:{language:2653},hmj:{language:2654},hmk:{language:2655},hml:{language:2656},hmm:{language:2657},hmn:{language:2658},hmp:{language:2659},hmq:{language:2660},hmr:{language:2661},hms:{language:2662},hmt:{language:2663},hmu:{language:2664},hmv:{language:2665},hmw:{language:2666},hmx:{language:2667},hmy:{language:2668},hmz:{language:2669},hna:{language:2670},hnd:{language:2671},hne:{language:2672},hng:{language:2673},hnh:{language:2674},hni:{language:2675},hnj:{language:2676},hnn:{language:2677},hno:{language:2678},hns:{language:2679},hnu:{language:2680},hoa:{language:2681},hob:{language:2682},hoc:{language:2683},hod:{language:2684},hoe:{language:2685},hoh:{language:2686},hoi:{language:2687},hoj:{language:2688},hok:{language:2689},hol:{language:2690},hom:{language:2691},hoo:{language:2692},hop:{language:2693},hor:{language:2694},hos:{language:2695,extlang:8337},hot:{language:2696},hov:{language:2697},how:{language:2698},hoy:{language:2699},hoz:{language:2700},hpo:{language:2701},hps:{language:2702,extlang:8338},hra:{language:2703},hrc:{language:2704},hre:{language:2705},hrk:{language:2706},hrm:{language:2707},hro:{language:2708},hrp:{language:2709},hrr:{language:2710},hrt:{language:2711},hru:{language:2712},hrw:{language:2713},hrx:{language:2714},hrz:{language:2715},hsb:{language:2716},hsh:{language:2717,extlang:8339},hsl:{language:2718,extlang:8340},hsn:{language:2719,extlang:8341},hss:{language:2720},hti:{language:2721},hto:{language:2722},hts:{language:2723},htu:{language:2724},htx:{language:2725},hub:{language:2726},huc:{language:2727},hud:{language:2728},hue:{language:2729},huf:{language:2730},hug:{language:2731},huh:{language:2732},hui:{language:2733},huj:{language:2734},huk:{language:2735},hul:{language:2736},hum:{language:2737},huo:{language:2738},hup:{language:2739},huq:{language:2740},hur:{language:2741},hus:{language:2742},hut:{language:2743},huu:{language:2744},huv:{language:2745},huw:{language:2746},hux:{language:2747},huy:{language:2748},huz:{language:2749},hvc:{language:2750},hve:{language:2751},hvk:{language:2752},hvn:{language:2753},hvv:{language:2754},hwa:{language:2755},hwc:{language:2756},hwo:{language:2757},hya:{language:2758},hyw:{language:2759},hyx:{language:2760},iai:{language:2761},ian:{language:2762},iap:{language:2763},iar:{language:2764},iba:{language:2765},ibb:{language:2766},ibd:{language:2767},ibe:{language:2768},ibg:{language:2769},ibh:{language:2770},ibi:{language:2771},ibl:{language:2772},ibm:{language:2773},ibn:{language:2774},ibr:{language:2775},ibu:{language:2776},iby:{language:2777},ica:{language:2778},ich:{language:2779},icl:{language:2780,extlang:8342},icr:{language:2781},ida:{language:2782},idb:{language:2783},idc:{language:2784},idd:{language:2785},ide:{language:2786},idi:{language:2787},idr:{language:2788},ids:{language:2789},idt:{language:2790},idu:{language:2791},ifa:{language:2792},ifb:{language:2793},ife:{language:2794},iff:{language:2795},ifk:{language:2796},ifm:{language:2797},ifu:{language:2798},ify:{language:2799},igb:{language:2800},ige:{language:2801},igg:{language:2802},igl:{language:2803},igm:{language:2804},ign:{language:2805},igo:{language:2806},igs:{language:2807},igw:{language:2808},ihb:{language:2809},ihi:{language:2810},ihp:{language:2811},ihw:{language:2812},iin:{language:2813},iir:{language:2814},ijc:{language:2815},ije:{language:2816},ijj:{language:2817},ijn:{language:2818},ijo:{language:2819},ijs:{language:2820},ike:{language:2821},iki:{language:2822},ikk:{language:2823},ikl:{language:2824},iko:{language:2825},ikp:{language:2826},ikr:{language:2827},iks:{language:2828,extlang:8343},ikt:{language:2829},ikv:{language:2830},ikw:{language:2831},ikx:{language:2832},ikz:{language:2833},ila:{language:2834},ilb:{language:2835},ilg:{language:2836},ili:{language:2837},ilk:{language:2838},ill:{language:2839},ilm:{language:2840},ilo:{language:2841},ilp:{language:2842},ils:{language:2843,extlang:8344},ilu:{language:2844},ilv:{language:2845},ilw:{language:2846},ima:{language:2847},ime:{language:2848},imi:{language:2849},iml:{language:2850},imn:{language:2851},imo:{language:2852},imr:{language:2853},ims:{language:2854},imt:{language:2855},imy:{language:2856},inb:{language:2857},inc:{language:2858},ine:{language:2859},ing:{language:2860},inh:{language:2861},inj:{language:2862},inl:{language:2863,extlang:8345},inm:{language:2864},inn:{language:2865},ino:{language:2866},inp:{language:2867},ins:{language:2868,extlang:8346},int:{language:2869},inz:{language:2870},ior:{language:2871},iou:{language:2872},iow:{language:2873},ipi:{language:2874},ipo:{language:2875},iqu:{language:2876},iqw:{language:2877},ira:{language:2878},ire:{language:2879},irh:{language:2880},iri:{language:2881},irk:{language:2882},irn:{language:2883},iro:{language:2884},irr:{language:2885},iru:{language:2886},irx:{language:2887},iry:{language:2888},isa:{language:2889},isc:{language:2890},isd:{language:2891},ise:{language:2892,extlang:8347},isg:{language:2893,extlang:8348},ish:{language:2894},isi:{language:2895},isk:{language:2896},ism:{language:2897},isn:{language:2898},iso:{language:2899},isr:{language:2900,extlang:8349},ist:{language:2901},isu:{language:2902},itb:{language:2903},itc:{language:2904},itd:{language:2905},ite:{language:2906},iti:{language:2907},itk:{language:2908},itl:{language:2909},itm:{language:2910},ito:{language:2911},itr:{language:2912},its:{language:2913},itt:{language:2914},itv:{language:2915},itw:{language:2916},itx:{language:2917},ity:{language:2918},itz:{language:2919},ium:{language:2920},ivb:{language:2921},ivv:{language:2922},iwk:{language:2923},iwm:{language:2924},iwo:{language:2925},iws:{language:2926},ixc:{language:2927},ixl:{language:2928},iya:{language:2929},iyo:{language:2930},iyx:{language:2931},izh:{language:2932},izi:{language:2933},izr:{language:2934},izz:{language:2935},jaa:{language:2936},jab:{language:2937},jac:{language:2938},jad:{language:2939},jae:{language:2940},jaf:{language:2941},jah:{language:2942},jaj:{language:2943},jak:{language:2944,extlang:8350},jal:{language:2945},jam:{language:2946},jan:{language:2947},jao:{language:2948},jaq:{language:2949},jar:{language:2950},jas:{language:2951},jat:{language:2952},jau:{language:2953},jax:{language:2954,extlang:8351},jay:{language:2955},jaz:{language:2956},jbe:{language:2957},jbi:{language:2958},jbj:{language:2959},jbk:{language:2960},jbm:{language:2961},jbn:{language:2962},jbo:{language:2963},jbr:{language:2964},jbt:{language:2965},jbu:{language:2966},jbw:{language:2967},jcs:{language:2968,extlang:8352},jct:{language:2969},jda:{language:2970},jdg:{language:2971},jdt:{language:2972},jeb:{language:2973},jee:{language:2974},jeg:{language:2975},jeh:{language:2976},jei:{language:2977},jek:{language:2978},jel:{language:2979},jen:{language:2980},jer:{language:2981},jet:{language:2982},jeu:{language:2983},jgb:{language:2984},jge:{language:2985},jgk:{language:2986},jgo:{language:2987},jhi:{language:2988},jhs:{language:2989,extlang:8353},jia:{language:2990},jib:{language:2991},jic:{language:2992},jid:{language:2993},jie:{language:2994},jig:{language:2995},jih:{language:2996},jii:{language:2997},jil:{language:2998},jim:{language:2999},jio:{language:3e3},jiq:{language:3001},jit:{language:3002},jiu:{language:3003},jiv:{language:3004},jiy:{language:3005},jje:{language:3006},jjr:{language:3007},jka:{language:3008},jkm:{language:3009},jko:{language:3010},jkp:{language:3011},jkr:{language:3012},jks:{language:3013,extlang:8354},jku:{language:3014},jle:{language:3015},jls:{language:3016,extlang:8355},jma:{language:3017},jmb:{language:3018},jmc:{language:3019},jmd:{language:3020},jmi:{language:3021},jml:{language:3022},jmn:{language:3023},jmr:{language:3024},jms:{language:3025},jmw:{language:3026},jmx:{language:3027},jna:{language:3028},jnd:{language:3029},jng:{language:3030},jni:{language:3031},jnj:{language:3032},jnl:{language:3033},jns:{language:3034},job:{language:3035},jod:{language:3036},jog:{language:3037},jor:{language:3038},jos:{language:3039,extlang:8356},jow:{language:3040},jpa:{language:3041},jpr:{language:3042},jpx:{language:3043},jqr:{language:3044},jra:{language:3045},jrb:{language:3046},jrr:{language:3047},jrt:{language:3048},jru:{language:3049},jsl:{language:3050,extlang:8357},jua:{language:3051},jub:{language:3052},juc:{language:3053},jud:{language:3054},juh:{language:3055},jui:{language:3056},juk:{language:3057},jul:{language:3058},jum:{language:3059},jun:{language:3060},juo:{language:3061},jup:{language:3062},jur:{language:3063},jus:{language:3064,extlang:8358},jut:{language:3065},juu:{language:3066},juw:{language:3067},juy:{language:3068},jvd:{language:3069},jvn:{language:3070},jwi:{language:3071},jya:{language:3072},jye:{language:3073},jyy:{language:3074},kaa:{language:3075},kab:{language:3076},kac:{language:3077},kad:{language:3078},kae:{language:3079},kaf:{language:3080},kag:{language:3081},kah:{language:3082},kai:{language:3083},kaj:{language:3084},kak:{language:3085},kam:{language:3086},kao:{language:3087},kap:{language:3088},kaq:{language:3089},kar:{language:3090},kav:{language:3091},kaw:{language:3092},kax:{language:3093},kay:{language:3094},kba:{language:3095},kbb:{language:3096},kbc:{language:3097},kbd:{language:3098},kbe:{language:3099},kbf:{language:3100},kbg:{language:3101},kbh:{language:3102},kbi:{language:3103},kbj:{language:3104},kbk:{language:3105},kbl:{language:3106},kbm:{language:3107},kbn:{language:3108},kbo:{language:3109},kbp:{language:3110},kbq:{language:3111},kbr:{language:3112},kbs:{language:3113},kbt:{language:3114},kbu:{language:3115},kbv:{language:3116},kbw:{language:3117},kbx:{language:3118},kby:{language:3119},kbz:{language:3120},kca:{language:3121},kcb:{language:3122},kcc:{language:3123},kcd:{language:3124},kce:{language:3125},kcf:{language:3126},kcg:{language:3127},kch:{language:3128},kci:{language:3129},kcj:{language:3130},kck:{language:3131},kcl:{language:3132},kcm:{language:3133},kcn:{language:3134},kco:{language:3135},kcp:{language:3136},kcq:{language:3137},kcr:{language:3138},kcs:{language:3139},kct:{language:3140},kcu:{language:3141},kcv:{language:3142},kcw:{language:3143},kcx:{language:3144},kcy:{language:3145},kcz:{language:3146},kda:{language:3147},kdc:{language:3148},kdd:{language:3149},kde:{language:3150},kdf:{language:3151},kdg:{language:3152},kdh:{language:3153},kdi:{language:3154},kdj:{language:3155},kdk:{language:3156},kdl:{language:3157},kdm:{language:3158},kdn:{language:3159},kdo:{language:3160},kdp:{language:3161},kdq:{language:3162},kdr:{language:3163},kdt:{language:3164},kdu:{language:3165},kdv:{language:3166},kdw:{language:3167},kdx:{language:3168},kdy:{language:3169},kdz:{language:3170},kea:{language:3171},keb:{language:3172},kec:{language:3173},ked:{language:3174},kee:{language:3175},kef:{language:3176},keg:{language:3177},keh:{language:3178},kei:{language:3179},kej:{language:3180},kek:{language:3181},kel:{language:3182},kem:{language:3183},ken:{language:3184},keo:{language:3185},kep:{language:3186},keq:{language:3187},ker:{language:3188},kes:{language:3189},ket:{language:3190},keu:{language:3191},kev:{language:3192},kew:{language:3193},kex:{language:3194},key:{language:3195},kez:{language:3196},kfa:{language:3197},kfb:{language:3198},kfc:{language:3199},kfd:{language:3200},kfe:{language:3201},kff:{language:3202},kfg:{language:3203},kfh:{language:3204},kfi:{language:3205},kfj:{language:3206},kfk:{language:3207},kfl:{language:3208},kfm:{language:3209},kfn:{language:3210},kfo:{language:3211},kfp:{language:3212},kfq:{language:3213},kfr:{language:3214},kfs:{language:3215},kft:{language:3216},kfu:{language:3217},kfv:{language:3218},kfw:{language:3219},kfx:{language:3220},kfy:{language:3221},kfz:{language:3222},kga:{language:3223},kgb:{language:3224},kgc:{language:3225},kgd:{language:3226},kge:{language:3227},kgf:{language:3228},kgg:{language:3229},kgh:{language:3230},kgi:{language:3231,extlang:8359},kgj:{language:3232},kgk:{language:3233},kgl:{language:3234},kgm:{language:3235},kgn:{language:3236},kgo:{language:3237},kgp:{language:3238},kgq:{language:3239},kgr:{language:3240},kgs:{language:3241},kgt:{language:3242},kgu:{language:3243},kgv:{language:3244},kgw:{language:3245},kgx:{language:3246},kgy:{language:3247},kha:{language:3248},khb:{language:3249},khc:{language:3250},khd:{language:3251},khe:{language:3252},khf:{language:3253},khg:{language:3254},khh:{language:3255},khi:{language:3256},khj:{language:3257},khk:{language:3258},khl:{language:3259},khn:{language:3260},kho:{language:3261},khp:{language:3262},khq:{language:3263},khr:{language:3264},khs:{language:3265},kht:{language:3266},khu:{language:3267},khv:{language:3268},khw:{language:3269},khx:{language:3270},khy:{language:3271},khz:{language:3272},kia:{language:3273},kib:{language:3274},kic:{language:3275},kid:{language:3276},kie:{language:3277},kif:{language:3278},kig:{language:3279},kih:{language:3280},kii:{language:3281},kij:{language:3282},kil:{language:3283},kim:{language:3284},kio:{language:3285},kip:{language:3286},kiq:{language:3287},kis:{language:3288},kit:{language:3289},kiu:{language:3290},kiv:{language:3291},kiw:{language:3292},kix:{language:3293},kiy:{language:3294},kiz:{language:3295},kja:{language:3296},kjb:{language:3297},kjc:{language:3298},kjd:{language:3299},kje:{language:3300},kjf:{language:3301},kjg:{language:3302},kjh:{language:3303},kji:{language:3304},kjj:{language:3305},kjk:{language:3306},kjl:{language:3307},kjm:{language:3308},kjn:{language:3309},kjo:{language:3310},kjp:{language:3311},kjq:{language:3312},kjr:{language:3313},kjs:{language:3314},kjt:{language:3315},kju:{language:3316},kjv:{language:3317},kjx:{language:3318},kjy:{language:3319},kjz:{language:3320},kka:{language:3321},kkb:{language:3322},kkc:{language:3323},kkd:{language:3324},kke:{language:3325},kkf:{language:3326},kkg:{language:3327},kkh:{language:3328},kki:{language:3329},kkj:{language:3330},kkk:{language:3331},kkl:{language:3332},kkm:{language:3333},kkn:{language:3334},kko:{language:3335},kkp:{language:3336},kkq:{language:3337},kkr:{language:3338},kks:{language:3339},kkt:{language:3340},kku:{language:3341},kkv:{language:3342},kkw:{language:3343},kkx:{language:3344},kky:{language:3345},kkz:{language:3346},kla:{language:3347},klb:{language:3348},klc:{language:3349},kld:{language:3350},kle:{language:3351},klf:{language:3352},klg:{language:3353},klh:{language:3354},kli:{language:3355},klj:{language:3356},klk:{language:3357},kll:{language:3358},klm:{language:3359},kln:{language:3360},klo:{language:3361},klp:{language:3362},klq:{language:3363},klr:{language:3364},kls:{language:3365},klt:{language:3366},klu:{language:3367},klv:{language:3368},klw:{language:3369},klx:{language:3370},kly:{language:3371},klz:{language:3372},kma:{language:3373},kmb:{language:3374},kmc:{language:3375},kmd:{language:3376},kme:{language:3377},kmf:{language:3378},kmg:{language:3379},kmh:{language:3380},kmi:{language:3381},kmj:{language:3382},kmk:{language:3383},kml:{language:3384},kmm:{language:3385},kmn:{language:3386},kmo:{language:3387},kmp:{language:3388},kmq:{language:3389},kmr:{language:3390},kms:{language:3391},kmt:{language:3392},kmu:{language:3393},kmv:{language:3394},kmw:{language:3395},kmx:{language:3396},kmy:{language:3397},kmz:{language:3398},kna:{language:3399},knb:{language:3400},knc:{language:3401},knd:{language:3402},kne:{language:3403},knf:{language:3404},kng:{language:3405},kni:{language:3406},knj:{language:3407},knk:{language:3408},knl:{language:3409},knm:{language:3410},knn:{language:3411,extlang:8360},kno:{language:3412},knp:{language:3413},knq:{language:3414},knr:{language:3415},kns:{language:3416},knt:{language:3417},knu:{language:3418},knv:{language:3419},knw:{language:3420},knx:{language:3421},kny:{language:3422},knz:{language:3423},koa:{language:3424},koc:{language:3425},kod:{language:3426},koe:{language:3427},kof:{language:3428},kog:{language:3429},koh:{language:3430},koi:{language:3431},koj:{language:3432},kok:{language:3433},kol:{language:3434},koo:{language:3435},kop:{language:3436},koq:{language:3437},kos:{language:3438},kot:{language:3439},kou:{language:3440},kov:{language:3441},kow:{language:3442},kox:{language:3443},koy:{language:3444},koz:{language:3445},kpa:{language:3446},kpb:{language:3447},kpc:{language:3448},kpd:{language:3449},kpe:{language:3450},kpf:{language:3451},kpg:{language:3452},kph:{language:3453},kpi:{language:3454},kpj:{language:3455},kpk:{language:3456},kpl:{language:3457},kpm:{language:3458},kpn:{language:3459},kpo:{language:3460},kpp:{language:3461},kpq:{language:3462},kpr:{language:3463},kps:{language:3464},kpt:{language:3465},kpu:{language:3466},kpv:{language:3467},kpw:{language:3468},kpx:{language:3469},kpy:{language:3470},kpz:{language:3471},kqa:{language:3472},kqb:{language:3473},kqc:{language:3474},kqd:{language:3475},kqe:{language:3476},kqf:{language:3477},kqg:{language:3478},kqh:{language:3479},kqi:{language:3480},kqj:{language:3481},kqk:{language:3482},kql:{language:3483},kqm:{language:3484},kqn:{language:3485},kqo:{language:3486},kqp:{language:3487},kqq:{language:3488},kqr:{language:3489},kqs:{language:3490},kqt:{language:3491},kqu:{language:3492},kqv:{language:3493},kqw:{language:3494},kqx:{language:3495},kqy:{language:3496},kqz:{language:3497},kra:{language:3498},krb:{language:3499},krc:{language:3500},krd:{language:3501},kre:{language:3502},krf:{language:3503},krh:{language:3504},kri:{language:3505},krj:{language:3506},krk:{language:3507},krl:{language:3508},krm:{language:3509},krn:{language:3510},kro:{language:3511},krp:{language:3512},krr:{language:3513},krs:{language:3514},krt:{language:3515},kru:{language:3516},krv:{language:3517},krw:{language:3518},krx:{language:3519},kry:{language:3520},krz:{language:3521},ksa:{language:3522},ksb:{language:3523},ksc:{language:3524},ksd:{language:3525},kse:{language:3526},ksf:{language:3527},ksg:{language:3528},ksh:{language:3529},ksi:{language:3530},ksj:{language:3531},ksk:{language:3532},ksl:{language:3533},ksm:{language:3534},ksn:{language:3535},kso:{language:3536},ksp:{language:3537},ksq:{language:3538},ksr:{language:3539},kss:{language:3540},kst:{language:3541},ksu:{language:3542},ksv:{language:3543},ksw:{language:3544},ksx:{language:3545},ksy:{language:3546},ksz:{language:3547},kta:{language:3548},ktb:{language:3549},ktc:{language:3550},ktd:{language:3551},kte:{language:3552},ktf:{language:3553},ktg:{language:3554},kth:{language:3555},kti:{language:3556},ktj:{language:3557},ktk:{language:3558},ktl:{language:3559},ktm:{language:3560},ktn:{language:3561},kto:{language:3562},ktp:{language:3563},ktq:{language:3564},ktr:{language:3565},kts:{language:3566},ktt:{language:3567},ktu:{language:3568},ktv:{language:3569},ktw:{language:3570},ktx:{language:3571},kty:{language:3572},ktz:{language:3573},kub:{language:3574},kuc:{language:3575},kud:{language:3576},kue:{language:3577},kuf:{language:3578},kug:{language:3579},kuh:{language:3580},kui:{language:3581},kuj:{language:3582},kuk:{language:3583},kul:{language:3584},kum:{language:3585},kun:{language:3586},kuo:{language:3587},kup:{language:3588},kuq:{language:3589},kus:{language:3590},kut:{language:3591},kuu:{language:3592},kuv:{language:3593},kuw:{language:3594},kux:{language:3595},kuy:{language:3596},kuz:{language:3597},kva:{language:3598},kvb:{language:3599,extlang:8361},kvc:{language:3600},kvd:{language:3601},kve:{language:3602},kvf:{language:3603},kvg:{language:3604},kvh:{language:3605},kvi:{language:3606},kvj:{language:3607},kvk:{language:3608,extlang:8362},kvl:{language:3609},kvm:{language:3610},kvn:{language:3611},kvo:{language:3612},kvp:{language:3613},kvq:{language:3614},kvr:{language:3615,extlang:8363},kvs:{language:3616},kvt:{language:3617},kvu:{language:3618},kvv:{language:3619},kvw:{language:3620},kvx:{language:3621},kvy:{language:3622},kvz:{language:3623},kwa:{language:3624},kwb:{language:3625},kwc:{language:3626},kwd:{language:3627},kwe:{language:3628},kwf:{language:3629},kwg:{language:3630},kwh:{language:3631},kwi:{language:3632},kwj:{language:3633},kwk:{language:3634},kwl:{language:3635},kwm:{language:3636},kwn:{language:3637},kwo:{language:3638},kwp:{language:3639},kwq:{language:3640},kwr:{language:3641},kws:{language:3642},kwt:{language:3643},kwu:{language:3644},kwv:{language:3645},kww:{language:3646},kwx:{language:3647},kwy:{language:3648},kwz:{language:3649},kxa:{language:3650},kxb:{language:3651},kxc:{language:3652},kxd:{language:3653,extlang:8364},kxe:{language:3654},kxf:{language:3655},kxh:{language:3656},kxi:{language:3657},kxj:{language:3658},kxk:{language:3659},kxl:{language:3660},kxm:{language:3661},kxn:{language:3662},kxo:{language:3663},kxp:{language:3664},kxq:{language:3665},kxr:{language:3666},kxs:{language:3667},kxt:{language:3668},kxu:{language:3669},kxv:{language:3670},kxw:{language:3671},kxx:{language:3672},kxy:{language:3673},kxz:{language:3674},kya:{language:3675},kyb:{language:3676},kyc:{language:3677},kyd:{language:3678},kye:{language:3679},kyf:{language:3680},kyg:{language:3681},kyh:{language:3682},kyi:{language:3683},kyj:{language:3684},kyk:{language:3685},kyl:{language:3686},kym:{language:3687},kyn:{language:3688},kyo:{language:3689},kyp:{language:3690},kyq:{language:3691},kyr:{language:3692},kys:{language:3693},kyt:{language:3694},kyu:{language:3695},kyv:{language:3696},kyw:{language:3697},kyx:{language:3698},kyy:{language:3699},kyz:{language:3700},kza:{language:3701},kzb:{language:3702},kzc:{language:3703},kzd:{language:3704},kze:{language:3705},kzf:{language:3706},kzg:{language:3707},kzh:{language:3708},kzi:{language:3709},kzj:{language:3710},kzk:{language:3711},kzl:{language:3712},kzm:{language:3713},kzn:{language:3714},kzo:{language:3715},kzp:{language:3716},kzq:{language:3717},kzr:{language:3718},kzs:{language:3719},kzt:{language:3720},kzu:{language:3721},kzv:{language:3722},kzw:{language:3723},kzx:{language:3724},kzy:{language:3725},kzz:{language:3726},laa:{language:3727},lab:{language:3728},lac:{language:3729},lad:{language:3730},lae:{language:3731},laf:{language:3732},lag:{language:3733},lah:{language:3734},lai:{language:3735},laj:{language:3736},lak:{language:3737},lal:{language:3738},lam:{language:3739},lan:{language:3740},lap:{language:3741},laq:{language:3742},lar:{language:3743},las:{language:3744},lau:{language:3745},law:{language:3746},lax:{language:3747},lay:{language:3748},laz:{language:3749},lba:{language:3750},lbb:{language:3751},lbc:{language:3752},lbe:{language:3753},lbf:{language:3754},lbg:{language:3755},lbi:{language:3756},lbj:{language:3757},lbk:{language:3758},lbl:{language:3759},lbm:{language:3760},lbn:{language:3761},lbo:{language:3762},lbq:{language:3763},lbr:{language:3764},lbs:{language:3765,extlang:8365},lbt:{language:3766},lbu:{language:3767},lbv:{language:3768},lbw:{language:3769},lbx:{language:3770},lby:{language:3771},lbz:{language:3772},lcc:{language:3773},lcd:{language:3774},lce:{language:3775,extlang:8366},lcf:{language:3776,extlang:8367},lch:{language:3777},lcl:{language:3778},lcm:{language:3779},lcp:{language:3780},lcq:{language:3781},lcs:{language:3782},lda:{language:3783},ldb:{language:3784},ldd:{language:3785},ldg:{language:3786},ldh:{language:3787},ldi:{language:3788},ldj:{language:3789},ldk:{language:3790},ldl:{language:3791},ldm:{language:3792},ldn:{language:3793},ldo:{language:3794},ldp:{language:3795},ldq:{language:3796},lea:{language:3797},leb:{language:3798},lec:{language:3799},led:{language:3800},lee:{language:3801},lef:{language:3802},leg:{language:3803},leh:{language:3804},lei:{language:3805},lej:{language:3806},lek:{language:3807},lel:{language:3808},lem:{language:3809},len:{language:3810},leo:{language:3811},lep:{language:3812},leq:{language:3813},ler:{language:3814},les:{language:3815},let:{language:3816},leu:{language:3817},lev:{language:3818},lew:{language:3819},lex:{language:3820},ley:{language:3821},lez:{language:3822},lfa:{language:3823},lfn:{language:3824},lga:{language:3825},lgb:{language:3826},lgg:{language:3827},lgh:{language:3828},lgi:{language:3829},lgk:{language:3830},lgl:{language:3831},lgm:{language:3832},lgn:{language:3833},lgo:{language:3834},lgq:{language:3835},lgr:{language:3836},lgt:{language:3837},lgu:{language:3838},lgz:{language:3839},lha:{language:3840},lhh:{language:3841},lhi:{language:3842},lhl:{language:3843},lhm:{language:3844},lhn:{language:3845},lhp:{language:3846},lhs:{language:3847},lht:{language:3848},lhu:{language:3849},lia:{language:3850},lib:{language:3851},lic:{language:3852},lid:{language:3853},lie:{language:3854},lif:{language:3855},lig:{language:3856},lih:{language:3857},lii:{language:3858},lij:{language:3859},lik:{language:3860},lil:{language:3861},lio:{language:3862},lip:{language:3863},liq:{language:3864},lir:{language:3865},lis:{language:3866},liu:{language:3867},liv:{language:3868},liw:{language:3869,extlang:8368},lix:{language:3870},liy:{language:3871},liz:{language:3872},lja:{language:3873},lje:{language:3874},lji:{language:3875},ljl:{language:3876},ljp:{language:3877},ljw:{language:3878},ljx:{language:3879},lka:{language:3880},lkb:{language:3881},lkc:{language:3882},lkd:{language:3883},lke:{language:3884},lkh:{language:3885},lki:{language:3886},lkj:{language:3887},lkl:{language:3888},lkm:{language:3889},lkn:{language:3890},lko:{language:3891},lkr:{language:3892},lks:{language:3893},lkt:{language:3894},lku:{language:3895},lky:{language:3896},lla:{language:3897},llb:{language:3898},llc:{language:3899},lld:{language:3900},lle:{language:3901},llf:{language:3902},llg:{language:3903},llh:{language:3904},lli:{language:3905},llj:{language:3906},llk:{language:3907},lll:{language:3908},llm:{language:3909},lln:{language:3910},llo:{language:3911},llp:{language:3912},llq:{language:3913},lls:{language:3914,extlang:8369},llu:{language:3915},llx:{language:3916},lma:{language:3917},lmb:{language:3918},lmc:{language:3919},lmd:{language:3920},lme:{language:3921},lmf:{language:3922},lmg:{language:3923},lmh:{language:3924},lmi:{language:3925},lmj:{language:3926},lmk:{language:3927},lml:{language:3928},lmm:{language:3929},lmn:{language:3930},lmo:{language:3931},lmp:{language:3932},lmq:{language:3933},lmr:{language:3934},lmu:{language:3935},lmv:{language:3936},lmw:{language:3937},lmx:{language:3938},lmy:{language:3939},lmz:{language:3940},lna:{language:3941},lnb:{language:3942},lnd:{language:3943},lng:{language:3944},lnh:{language:3945},lni:{language:3946},lnj:{language:3947},lnl:{language:3948},lnm:{language:3949},lnn:{language:3950},lno:{language:3951},lns:{language:3952},lnu:{language:3953},lnw:{language:3954},lnz:{language:3955},loa:{language:3956},lob:{language:3957},loc:{language:3958},loe:{language:3959},lof:{language:3960},log:{language:3961},loh:{language:3962},loi:{language:3963},loj:{language:3964},lok:{language:3965},lol:{language:3966},lom:{language:3967},lon:{language:3968},loo:{language:3969},lop:{language:3970},loq:{language:3971},lor:{language:3972},los:{language:3973},lot:{language:3974},lou:{language:3975},lov:{language:3976},low:{language:3977},lox:{language:3978},loy:{language:3979},loz:{language:3980},lpa:{language:3981},lpe:{language:3982},lpn:{language:3983},lpo:{language:3984},lpx:{language:3985},lqr:{language:3986},lra:{language:3987},lrc:{language:3988},lre:{language:3989},lrg:{language:3990},lri:{language:3991},lrk:{language:3992},lrl:{language:3993},lrm:{language:3994},lrn:{language:3995},lro:{language:3996},lrr:{language:3997},lrt:{language:3998},lrv:{language:3999},lrz:{language:4e3},lsa:{language:4001},lsb:{language:4002,extlang:8370},lsc:{language:4003,extlang:8371},lsd:{language:4004},lse:{language:4005},lsg:{language:4006,extlang:8372},lsh:{language:4007},lsi:{language:4008},lsl:{language:4009,extlang:8373},lsm:{language:4010},lsn:{language:4011,extlang:8374},lso:{language:4012,extlang:8375},lsp:{language:4013,extlang:8376},lsr:{language:4014},lss:{language:4015},lst:{language:4016,extlang:8377},lsv:{language:4017,extlang:8378},lsw:{language:4018,extlang:8379},lsy:{language:4019,extlang:8380},ltc:{language:4020},ltg:{language:4021,extlang:8381},lth:{language:4022},lti:{language:4023},ltn:{language:4024},lto:{language:4025},lts:{language:4026},ltu:{language:4027},lua:{language:4028},luc:{language:4029},lud:{language:4030},lue:{language:4031},luf:{language:4032},lui:{language:4033},luj:{language:4034},luk:{language:4035},lul:{language:4036},lum:{language:4037},lun:{language:4038},luo:{language:4039},lup:{language:4040},luq:{language:4041},lur:{language:4042},lus:{language:4043},lut:{language:4044},luu:{language:4045},luv:{language:4046},luw:{language:4047},luy:{language:4048},luz:{language:4049},lva:{language:4050},lvi:{language:4051},lvk:{language:4052},lvs:{language:4053,extlang:8382},lvu:{language:4054},lwa:{language:4055},lwe:{language:4056},lwg:{language:4057},lwh:{language:4058},lwl:{language:4059},lwm:{language:4060},lwo:{language:4061},lws:{language:4062,extlang:8383},lwt:{language:4063},lwu:{language:4064},lww:{language:4065},lxm:{language:4066},lya:{language:4067},lyg:{language:4068},lyn:{language:4069},lzh:{language:4070,extlang:8384},lzl:{language:4071},lzn:{language:4072},lzz:{language:4073},maa:{language:4074},mab:{language:4075},mad:{language:4076},mae:{language:4077},maf:{language:4078},mag:{language:4079},mai:{language:4080},maj:{language:4081},mak:{language:4082},mam:{language:4083},man:{language:4084},map:{language:4085},maq:{language:4086},mas:{language:4087},mat:{language:4088},mau:{language:4089},mav:{language:4090},maw:{language:4091},max:{language:4092,extlang:8385},maz:{language:4093},mba:{language:4094},mbb:{language:4095},mbc:{language:4096},mbd:{language:4097},mbe:{language:4098},mbf:{language:4099},mbh:{language:4100},mbi:{language:4101},mbj:{language:4102},mbk:{language:4103},mbl:{language:4104},mbm:{language:4105},mbn:{language:4106},mbo:{language:4107},mbp:{language:4108},mbq:{language:4109},mbr:{language:4110},mbs:{language:4111},mbt:{language:4112},mbu:{language:4113},mbv:{language:4114},mbw:{language:4115},mbx:{language:4116},mby:{language:4117},mbz:{language:4118},mca:{language:4119},mcb:{language:4120},mcc:{language:4121},mcd:{language:4122},mce:{language:4123},mcf:{language:4124},mcg:{language:4125},mch:{language:4126},mci:{language:4127},mcj:{language:4128},mck:{language:4129},mcl:{language:4130},mcm:{language:4131},mcn:{language:4132},mco:{language:4133},mcp:{language:4134},mcq:{language:4135},mcr:{language:4136},mcs:{language:4137},mct:{language:4138},mcu:{language:4139},mcv:{language:4140},mcw:{language:4141},mcx:{language:4142},mcy:{language:4143},mcz:{language:4144},mda:{language:4145},mdb:{language:4146},mdc:{language:4147},mdd:{language:4148},mde:{language:4149},mdf:{language:4150},mdg:{language:4151},mdh:{language:4152},mdi:{language:4153},mdj:{language:4154},mdk:{language:4155},mdl:{language:4156,extlang:8386},mdm:{language:4157},mdn:{language:4158},mdp:{language:4159},mdq:{language:4160},mdr:{language:4161},mds:{language:4162},mdt:{language:4163},mdu:{language:4164},mdv:{language:4165},mdw:{language:4166},mdx:{language:4167},mdy:{language:4168},mdz:{language:4169},mea:{language:4170},meb:{language:4171},mec:{language:4172},med:{language:4173},mee:{language:4174},mef:{language:4175},meg:{language:4176},meh:{language:4177},mei:{language:4178},mej:{language:4179},mek:{language:4180},mel:{language:4181},mem:{language:4182},men:{language:4183},meo:{language:4184,extlang:8387},mep:{language:4185},meq:{language:4186},mer:{language:4187},mes:{language:4188},met:{language:4189},meu:{language:4190},mev:{language:4191},mew:{language:4192},mey:{language:4193},mez:{language:4194},mfa:{language:4195,extlang:8388},mfb:{language:4196,extlang:8389},mfc:{language:4197},mfd:{language:4198},mfe:{language:4199},mff:{language:4200},mfg:{language:4201},mfh:{language:4202},mfi:{language:4203},mfj:{language:4204},mfk:{language:4205},mfl:{language:4206},mfm:{language:4207},mfn:{language:4208},mfo:{language:4209},mfp:{language:4210},mfq:{language:4211},mfr:{language:4212},mfs:{language:4213,extlang:8390},mft:{language:4214},mfu:{language:4215},mfv:{language:4216},mfw:{language:4217},mfx:{language:4218},mfy:{language:4219},mfz:{language:4220},mga:{language:4221},mgb:{language:4222},mgc:{language:4223},mgd:{language:4224},mge:{language:4225},mgf:{language:4226},mgg:{language:4227},mgh:{language:4228},mgi:{language:4229},mgj:{language:4230},mgk:{language:4231},mgl:{language:4232},mgm:{language:4233},mgn:{language:4234},mgo:{language:4235},mgp:{language:4236},mgq:{language:4237},mgr:{language:4238},mgs:{language:4239},mgt:{language:4240},mgu:{language:4241},mgv:{language:4242},mgw:{language:4243},mgx:{language:4244},mgy:{language:4245},mgz:{language:4246},mha:{language:4247},mhb:{language:4248},mhc:{language:4249},mhd:{language:4250},mhe:{language:4251},mhf:{language:4252},mhg:{language:4253},mhh:{language:4254},mhi:{language:4255},mhj:{language:4256},mhk:{language:4257},mhl:{language:4258},mhm:{language:4259},mhn:{language:4260},mho:{language:4261},mhp:{language:4262},mhq:{language:4263},mhr:{language:4264},mhs:{language:4265},mht:{language:4266},mhu:{language:4267},mhw:{language:4268},mhx:{language:4269},mhy:{language:4270},mhz:{language:4271},mia:{language:4272},mib:{language:4273},mic:{language:4274},mid:{language:4275},mie:{language:4276},mif:{language:4277},mig:{language:4278},mih:{language:4279},mii:{language:4280},mij:{language:4281},mik:{language:4282},mil:{language:4283},mim:{language:4284},min:{language:4285,extlang:8391},mio:{language:4286},mip:{language:4287},miq:{language:4288},mir:{language:4289},mis:{language:4290},mit:{language:4291},miu:{language:4292},miw:{language:4293},mix:{language:4294},miy:{language:4295},miz:{language:4296},mja:{language:4297},mjb:{language:4298},mjc:{language:4299},mjd:{language:4300},mje:{language:4301},mjg:{language:4302},mjh:{language:4303},mji:{language:4304},mjj:{language:4305},mjk:{language:4306},mjl:{language:4307},mjm:{language:4308},mjn:{language:4309},mjo:{language:4310},mjp:{language:4311},mjq:{language:4312},mjr:{language:4313},mjs:{language:4314},mjt:{language:4315},mju:{language:4316},mjv:{language:4317},mjw:{language:4318},mjx:{language:4319},mjy:{language:4320},mjz:{language:4321},mka:{language:4322},mkb:{language:4323},mkc:{language:4324},mke:{language:4325},mkf:{language:4326},mkg:{language:4327},mkh:{language:4328},mki:{language:4329},mkj:{language:4330},mkk:{language:4331},mkl:{language:4332},mkm:{language:4333},mkn:{language:4334},mko:{language:4335},mkp:{language:4336},mkq:{language:4337},mkr:{language:4338},mks:{language:4339},mkt:{language:4340},mku:{language:4341},mkv:{language:4342},mkw:{language:4343},mkx:{language:4344},mky:{language:4345},mkz:{language:4346},mla:{language:4347},mlb:{language:4348},mlc:{language:4349},mld:{language:4350},mle:{language:4351},mlf:{language:4352},mlh:{language:4353},mli:{language:4354},mlj:{language:4355},mlk:{language:4356},mll:{language:4357},mlm:{language:4358},mln:{language:4359},mlo:{language:4360},mlp:{language:4361},mlq:{language:4362},mlr:{language:4363},mls:{language:4364},mlu:{language:4365},mlv:{language:4366},mlw:{language:4367},mlx:{language:4368},mlz:{language:4369},mma:{language:4370},mmb:{language:4371},mmc:{language:4372},mmd:{language:4373},mme:{language:4374},mmf:{language:4375},mmg:{language:4376},mmh:{language:4377},mmi:{language:4378},mmj:{language:4379},mmk:{language:4380},mml:{language:4381},mmm:{language:4382},mmn:{language:4383},mmo:{language:4384},mmp:{language:4385},mmq:{language:4386},mmr:{language:4387},mmt:{language:4388},mmu:{language:4389},mmv:{language:4390},mmw:{language:4391},mmx:{language:4392},mmy:{language:4393},mmz:{language:4394},mna:{language:4395},mnb:{language:4396},mnc:{language:4397},mnd:{language:4398},mne:{language:4399},mnf:{language:4400},mng:{language:4401},mnh:{language:4402},mni:{language:4403},mnj:{language:4404},mnk:{language:4405},mnl:{language:4406},mnm:{language:4407},mnn:{language:4408},mno:{language:4409},mnp:{language:4410,extlang:8392},mnq:{language:4411},mnr:{language:4412},mns:{language:4413},mnt:{language:4414},mnu:{language:4415},mnv:{language:4416},mnw:{language:4417},mnx:{language:4418},mny:{language:4419},mnz:{language:4420},moa:{language:4421},moc:{language:4422},mod:{language:4423},moe:{language:4424},mof:{language:4425},mog:{language:4426},moh:{language:4427},moi:{language:4428},moj:{language:4429},mok:{language:4430},mom:{language:4431},moo:{language:4432},mop:{language:4433},moq:{language:4434},mor:{language:4435},mos:{language:4436},mot:{language:4437},mou:{language:4438},mov:{language:4439},mow:{language:4440},mox:{language:4441},moy:{language:4442},moz:{language:4443},mpa:{language:4444},mpb:{language:4445},mpc:{language:4446},mpd:{language:4447},mpe:{language:4448},mpg:{language:4449},mph:{language:4450},mpi:{language:4451},mpj:{language:4452},mpk:{language:4453},mpl:{language:4454},mpm:{language:4455},mpn:{language:4456},mpo:{language:4457},mpp:{language:4458},mpq:{language:4459},mpr:{language:4460},mps:{language:4461},mpt:{language:4462},mpu:{language:4463},mpv:{language:4464},mpw:{language:4465},mpx:{language:4466},mpy:{language:4467},mpz:{language:4468},mqa:{language:4469},mqb:{language:4470},mqc:{language:4471},mqe:{language:4472},mqf:{language:4473},mqg:{language:4474,extlang:8393},mqh:{language:4475},mqi:{language:4476},mqj:{language:4477},mqk:{language:4478},mql:{language:4479},mqm:{language:4480},mqn:{language:4481},mqo:{language:4482},mqp:{language:4483},mqq:{language:4484},mqr:{language:4485},mqs:{language:4486},mqt:{language:4487},mqu:{language:4488},mqv:{language:4489},mqw:{language:4490},mqx:{language:4491},mqy:{language:4492},mqz:{language:4493},mra:{language:4494},mrb:{language:4495},mrc:{language:4496},mrd:{language:4497},mre:{language:4498,extlang:8394},mrf:{language:4499},mrg:{language:4500},mrh:{language:4501},mrj:{language:4502},mrk:{language:4503},mrl:{language:4504},mrm:{language:4505},mrn:{language:4506},mro:{language:4507},mrp:{language:4508},mrq:{language:4509},mrr:{language:4510},mrs:{language:4511},mrt:{language:4512},mru:{language:4513},mrv:{language:4514},mrw:{language:4515},mrx:{language:4516},mry:{language:4517},mrz:{language:4518},msb:{language:4519},msc:{language:4520},msd:{language:4521,extlang:8395},mse:{language:4522},msf:{language:4523},msg:{language:4524},msh:{language:4525},msi:{language:4526,extlang:8396},msj:{language:4527},msk:{language:4528},msl:{language:4529},msm:{language:4530},msn:{language:4531},mso:{language:4532},msp:{language:4533},msq:{language:4534},msr:{language:4535,extlang:8397},mss:{language:4536},mst:{language:4537},msu:{language:4538},msv:{language:4539},msw:{language:4540},msx:{language:4541},msy:{language:4542},msz:{language:4543},mta:{language:4544},mtb:{language:4545},mtc:{language:4546},mtd:{language:4547},mte:{language:4548},mtf:{language:4549},mtg:{language:4550},mth:{language:4551},mti:{language:4552},mtj:{language:4553},mtk:{language:4554},mtl:{language:4555},mtm:{language:4556},mtn:{language:4557},mto:{language:4558},mtp:{language:4559},mtq:{language:4560},mtr:{language:4561},mts:{language:4562},mtt:{language:4563},mtu:{language:4564},mtv:{language:4565},mtw:{language:4566},mtx:{language:4567},mty:{language:4568},mua:{language:4569},mub:{language:4570},muc:{language:4571},mud:{language:4572},mue:{language:4573},mug:{language:4574},muh:{language:4575},mui:{language:4576,extlang:8398},muj:{language:4577},muk:{language:4578},mul:{language:4579},mum:{language:4580},mun:{language:4581},muo:{language:4582},mup:{language:4583},muq:{language:4584},mur:{language:4585},mus:{language:4586},mut:{language:4587},muu:{language:4588},muv:{language:4589},mux:{language:4590},muy:{language:4591},muz:{language:4592},mva:{language:4593},mvb:{language:4594},mvd:{language:4595},mve:{language:4596},mvf:{language:4597},mvg:{language:4598},mvh:{language:4599},mvi:{language:4600},mvk:{language:4601},mvl:{language:4602},mvm:{language:4603},mvn:{language:4604},mvo:{language:4605},mvp:{language:4606},mvq:{language:4607},mvr:{language:4608},mvs:{language:4609},mvt:{language:4610},mvu:{language:4611},mvv:{language:4612},mvw:{language:4613},mvx:{language:4614},mvy:{language:4615},mvz:{language:4616},mwa:{language:4617},mwb:{language:4618},mwc:{language:4619},mwd:{language:4620},mwe:{language:4621},mwf:{language:4622},mwg:{language:4623},mwh:{language:4624},mwi:{language:4625},mwj:{language:4626},mwk:{language:4627},mwl:{language:4628},mwm:{language:4629},mwn:{language:4630},mwo:{language:4631},mwp:{language:4632},mwq:{language:4633},mwr:{language:4634},mws:{language:4635},mwt:{language:4636},mwu:{language:4637},mwv:{language:4638},mww:{language:4639},mwx:{language:4640},mwy:{language:4641},mwz:{language:4642},mxa:{language:4643},mxb:{language:4644},mxc:{language:4645},mxd:{language:4646},mxe:{language:4647},mxf:{language:4648},mxg:{language:4649},mxh:{language:4650},mxi:{language:4651},mxj:{language:4652},mxk:{language:4653},mxl:{language:4654},mxm:{language:4655},mxn:{language:4656},mxo:{language:4657},mxp:{language:4658},mxq:{language:4659},mxr:{language:4660},mxs:{language:4661},mxt:{language:4662},mxu:{language:4663},mxv:{language:4664},mxw:{language:4665},mxx:{language:4666},mxy:{language:4667},mxz:{language:4668},myb:{language:4669},myc:{language:4670},myd:{language:4671},mye:{language:4672},myf:{language:4673},myg:{language:4674},myh:{language:4675},myi:{language:4676},myj:{language:4677},myk:{language:4678},myl:{language:4679},mym:{language:4680},myn:{language:4681},myo:{language:4682},myp:{language:4683},myq:{language:4684},myr:{language:4685},mys:{language:4686},myt:{language:4687},myu:{language:4688},myv:{language:4689},myw:{language:4690},myx:{language:4691},myy:{language:4692},myz:{language:4693},mza:{language:4694},mzb:{language:4695},mzc:{language:4696,extlang:8399},mzd:{language:4697},mze:{language:4698},mzg:{language:4699,extlang:8400},mzh:{language:4700},mzi:{language:4701},mzj:{language:4702},mzk:{language:4703},mzl:{language:4704},mzm:{language:4705},mzn:{language:4706},mzo:{language:4707},mzp:{language:4708},mzq:{language:4709},mzr:{language:4710},mzs:{language:4711},mzt:{language:4712},mzu:{language:4713},mzv:{language:4714},mzw:{language:4715},mzx:{language:4716},mzy:{language:4717,extlang:8401},mzz:{language:4718},naa:{language:4719},nab:{language:4720},nac:{language:4721},nad:{language:4722},nae:{language:4723},naf:{language:4724},nag:{language:4725},nah:{language:4726},nai:{language:4727},naj:{language:4728},nak:{language:4729},nal:{language:4730},nam:{language:4731},nan:{language:4732,extlang:8402},nao:{language:4733},nap:{language:4734},naq:{language:4735},nar:{language:4736},nas:{language:4737},nat:{language:4738},naw:{language:4739},nax:{language:4740},nay:{language:4741},naz:{language:4742},nba:{language:4743},nbb:{language:4744},nbc:{language:4745},nbd:{language:4746},nbe:{language:4747},nbf:{language:4748},nbg:{language:4749},nbh:{language:4750},nbi:{language:4751},nbj:{language:4752},nbk:{language:4753},nbm:{language:4754},nbn:{language:4755},nbo:{language:4756},nbp:{language:4757},nbq:{language:4758},nbr:{language:4759},nbs:{language:4760,extlang:8403},nbt:{language:4761},nbu:{language:4762},nbv:{language:4763},nbw:{language:4764},nbx:{language:4765},nby:{language:4766},nca:{language:4767},ncb:{language:4768},ncc:{language:4769},ncd:{language:4770},nce:{language:4771},ncf:{language:4772},ncg:{language:4773},nch:{language:4774},nci:{language:4775},ncj:{language:4776},nck:{language:4777},ncl:{language:4778},ncm:{language:4779},ncn:{language:4780},nco:{language:4781},ncp:{language:4782},ncq:{language:4783},ncr:{language:4784},ncs:{language:4785,extlang:8404},nct:{language:4786},ncu:{language:4787},ncx:{language:4788},ncz:{language:4789},nda:{language:4790},ndb:{language:4791},ndc:{language:4792},ndd:{language:4793},ndf:{language:4794},ndg:{language:4795},ndh:{language:4796},ndi:{language:4797},ndj:{language:4798},ndk:{language:4799},ndl:{language:4800},ndm:{language:4801},ndn:{language:4802},ndp:{language:4803},ndq:{language:4804},ndr:{language:4805},nds:{language:4806},ndt:{language:4807},ndu:{language:4808},ndv:{language:4809},ndw:{language:4810},ndx:{language:4811},ndy:{language:4812},ndz:{language:4813},nea:{language:4814},neb:{language:4815},nec:{language:4816},ned:{language:4817},nee:{language:4818},nef:{language:4819},neg:{language:4820},neh:{language:4821},nei:{language:4822},nej:{language:4823},nek:{language:4824},nem:{language:4825},nen:{language:4826},neo:{language:4827},neq:{language:4828},ner:{language:4829},nes:{language:4830},net:{language:4831},neu:{language:4832},nev:{language:4833},new:{language:4834},nex:{language:4835},ney:{language:4836},nez:{language:4837},nfa:{language:4838},nfd:{language:4839},nfl:{language:4840},nfr:{language:4841},nfu:{language:4842},nga:{language:4843},ngb:{language:4844},ngc:{language:4845},ngd:{language:4846},nge:{language:4847},ngf:{language:4848},ngg:{language:4849},ngh:{language:4850},ngi:{language:4851},ngj:{language:4852},ngk:{language:4853},ngl:{language:4854},ngm:{language:4855},ngn:{language:4856},ngo:{language:4857},ngp:{language:4858},ngq:{language:4859},ngr:{language:4860},ngs:{language:4861},ngt:{language:4862},ngu:{language:4863},ngv:{language:4864},ngw:{language:4865},ngx:{language:4866},ngy:{language:4867},ngz:{language:4868},nha:{language:4869},nhb:{language:4870},nhc:{language:4871},nhd:{language:4872},nhe:{language:4873},nhf:{language:4874},nhg:{language:4875},nhh:{language:4876},nhi:{language:4877},nhk:{language:4878},nhm:{language:4879},nhn:{language:4880},nho:{language:4881},nhp:{language:4882},nhq:{language:4883},nhr:{language:4884},nht:{language:4885},nhu:{language:4886},nhv:{language:4887},nhw:{language:4888},nhx:{language:4889},nhy:{language:4890},nhz:{language:4891},nia:{language:4892},nib:{language:4893},nic:{language:4894},nid:{language:4895},nie:{language:4896},nif:{language:4897},nig:{language:4898},nih:{language:4899},nii:{language:4900},nij:{language:4901},nik:{language:4902},nil:{language:4903},nim:{language:4904},nin:{language:4905},nio:{language:4906},niq:{language:4907},nir:{language:4908},nis:{language:4909},nit:{language:4910},niu:{language:4911},niv:{language:4912},niw:{language:4913},nix:{language:4914},niy:{language:4915},niz:{language:4916},nja:{language:4917},njb:{language:4918},njd:{language:4919},njh:{language:4920},nji:{language:4921},njj:{language:4922},njl:{language:4923},njm:{language:4924},njn:{language:4925},njo:{language:4926},njr:{language:4927},njs:{language:4928},njt:{language:4929},nju:{language:4930},njx:{language:4931},njy:{language:4932},njz:{language:4933},nka:{language:4934},nkb:{language:4935},nkc:{language:4936},nkd:{language:4937},nke:{language:4938},nkf:{language:4939},nkg:{language:4940},nkh:{language:4941},nki:{language:4942},nkj:{language:4943},nkk:{language:4944},nkm:{language:4945},nkn:{language:4946},nko:{language:4947},nkp:{language:4948},nkq:{language:4949},nkr:{language:4950},nks:{language:4951},nkt:{language:4952},nku:{language:4953},nkv:{language:4954},nkw:{language:4955},nkx:{language:4956},nkz:{language:4957},nla:{language:4958},nlc:{language:4959},nle:{language:4960},nlg:{language:4961},nli:{language:4962},nlj:{language:4963},nlk:{language:4964},nll:{language:4965},nlm:{language:4966},nln:{language:4967},nlo:{language:4968},nlq:{language:4969},nlr:{language:4970},nlu:{language:4971},nlv:{language:4972},nlw:{language:4973},nlx:{language:4974},nly:{language:4975},nlz:{language:4976},nma:{language:4977},nmb:{language:4978},nmc:{language:4979},nmd:{language:4980},nme:{language:4981},nmf:{language:4982},nmg:{language:4983},nmh:{language:4984},nmi:{language:4985},nmj:{language:4986},nmk:{language:4987},nml:{language:4988},nmm:{language:4989},nmn:{language:4990},nmo:{language:4991},nmp:{language:4992},nmq:{language:4993},nmr:{language:4994},nms:{language:4995},nmt:{language:4996},nmu:{language:4997},nmv:{language:4998},nmw:{language:4999},nmx:{language:5e3},nmy:{language:5001},nmz:{language:5002},nna:{language:5003},nnb:{language:5004},nnc:{language:5005},nnd:{language:5006},nne:{language:5007},nnf:{language:5008},nng:{language:5009},nnh:{language:5010},nni:{language:5011},nnj:{language:5012},nnk:{language:5013},nnl:{language:5014},nnm:{language:5015},nnn:{language:5016},nnp:{language:5017},nnq:{language:5018},nnr:{language:5019},nns:{language:5020},nnt:{language:5021},nnu:{language:5022},nnv:{language:5023},nnw:{language:5024},nnx:{language:5025},nny:{language:5026},nnz:{language:5027},noa:{language:5028},noc:{language:5029},nod:{language:5030},noe:{language:5031},nof:{language:5032},nog:{language:5033},noh:{language:5034},noi:{language:5035},noj:{language:5036},nok:{language:5037},nol:{language:5038},nom:{language:5039},non:{language:5040},noo:{language:5041},nop:{language:5042},noq:{language:5043},nos:{language:5044},not:{language:5045},nou:{language:5046},nov:{language:5047},now:{language:5048},noy:{language:5049},noz:{language:5050},npa:{language:5051},npb:{language:5052},npg:{language:5053},nph:{language:5054},npi:{language:5055},npl:{language:5056},npn:{language:5057},npo:{language:5058},nps:{language:5059},npu:{language:5060},npx:{language:5061},npy:{language:5062},nqg:{language:5063},nqk:{language:5064},nql:{language:5065},nqm:{language:5066},nqn:{language:5067},nqo:{language:5068},nqq:{language:5069},nqt:{language:5070},nqy:{language:5071},nra:{language:5072},nrb:{language:5073},nrc:{language:5074},nre:{language:5075},nrf:{language:5076},nrg:{language:5077},nri:{language:5078},nrk:{language:5079},nrl:{language:5080},nrm:{language:5081},nrn:{language:5082},nrp:{language:5083},nrr:{language:5084},nrt:{language:5085},nru:{language:5086},nrx:{language:5087},nrz:{language:5088},nsa:{language:5089},nsb:{language:5090},nsc:{language:5091},nsd:{language:5092},nse:{language:5093},nsf:{language:5094},nsg:{language:5095},nsh:{language:5096},nsi:{language:5097,extlang:8405},nsk:{language:5098},nsl:{language:5099,extlang:8406},nsm:{language:5100},nsn:{language:5101},nso:{language:5102},nsp:{language:5103,extlang:8407},nsq:{language:5104},nsr:{language:5105,extlang:8408},nss:{language:5106},nst:{language:5107},nsu:{language:5108},nsv:{language:5109},nsw:{language:5110},nsx:{language:5111},nsy:{language:5112},nsz:{language:5113},ntd:{language:5114},nte:{language:5115},ntg:{language:5116},nti:{language:5117},ntj:{language:5118},ntk:{language:5119},ntm:{language:5120},nto:{language:5121},ntp:{language:5122},ntr:{language:5123},nts:{language:5124},ntu:{language:5125},ntw:{language:5126},ntx:{language:5127},nty:{language:5128},ntz:{language:5129},nua:{language:5130},nub:{language:5131},nuc:{language:5132},nud:{language:5133},nue:{language:5134},nuf:{language:5135},nug:{language:5136},nuh:{language:5137},nui:{language:5138},nuj:{language:5139},nuk:{language:5140},nul:{language:5141},num:{language:5142},nun:{language:5143},nuo:{language:5144},nup:{language:5145},nuq:{language:5146},nur:{language:5147},nus:{language:5148},nut:{language:5149},nuu:{language:5150},nuv:{language:5151},nuw:{language:5152},nux:{language:5153},nuy:{language:5154},nuz:{language:5155},nvh:{language:5156},nvm:{language:5157},nvo:{language:5158},nwa:{language:5159},nwb:{language:5160},nwc:{language:5161},nwe:{language:5162},nwg:{language:5163},nwi:{language:5164},nwm:{language:5165},nwo:{language:5166},nwr:{language:5167},nww:{language:5168},nwx:{language:5169},nwy:{language:5170},nxa:{language:5171},nxd:{language:5172},nxe:{language:5173},nxg:{language:5174},nxi:{language:5175},nxk:{language:5176},nxl:{language:5177},nxm:{language:5178},nxn:{language:5179},nxo:{language:5180},nxq:{language:5181},nxr:{language:5182},nxu:{language:5183},nxx:{language:5184},nyb:{language:5185},nyc:{language:5186},nyd:{language:5187},nye:{language:5188},nyf:{language:5189},nyg:{language:5190},nyh:{language:5191},nyi:{language:5192},nyj:{language:5193},nyk:{language:5194},nyl:{language:5195},nym:{language:5196},nyn:{language:5197},nyo:{language:5198},nyp:{language:5199},nyq:{language:5200},nyr:{language:5201},nys:{language:5202},nyt:{language:5203},nyu:{language:5204},nyv:{language:5205},nyw:{language:5206},nyx:{language:5207},nyy:{language:5208},nza:{language:5209},nzb:{language:5210},nzd:{language:5211},nzi:{language:5212},nzk:{language:5213},nzm:{language:5214},nzs:{language:5215,extlang:8409},nzu:{language:5216},nzy:{language:5217},nzz:{language:5218},oaa:{language:5219},oac:{language:5220},oar:{language:5221},oav:{language:5222},obi:{language:5223},obk:{language:5224},obl:{language:5225},obm:{language:5226},obo:{language:5227},obr:{language:5228},obt:{language:5229},obu:{language:5230},oca:{language:5231},och:{language:5232},ocm:{language:5233},oco:{language:5234},ocu:{language:5235},oda:{language:5236},odk:{language:5237},odt:{language:5238},odu:{language:5239},ofo:{language:5240},ofs:{language:5241},ofu:{language:5242},ogb:{language:5243},ogc:{language:5244},oge:{language:5245},ogg:{language:5246},ogo:{language:5247},ogu:{language:5248},oht:{language:5249},ohu:{language:5250},oia:{language:5251},oie:{language:5252},oin:{language:5253},ojb:{language:5254},ojc:{language:5255},ojg:{language:5256},ojp:{language:5257},ojs:{language:5258},ojv:{language:5259},ojw:{language:5260},oka:{language:5261},okb:{language:5262},okc:{language:5263},okd:{language:5264},oke:{language:5265},okg:{language:5266},okh:{language:5267},oki:{language:5268},okj:{language:5269},okk:{language:5270},okl:{language:5271,extlang:8410},okm:{language:5272},okn:{language:5273},oko:{language:5274},okr:{language:5275},oks:{language:5276},oku:{language:5277},okv:{language:5278},okx:{language:5279},okz:{language:5280},ola:{language:5281},old:{language:5282},ole:{language:5283},olk:{language:5284},olm:{language:5285},olo:{language:5286},olr:{language:5287},olt:{language:5288},olu:{language:5289},oma:{language:5290},omb:{language:5291},omc:{language:5292},ome:{language:5293},omg:{language:5294},omi:{language:5295},omk:{language:5296},oml:{language:5297},omn:{language:5298},omo:{language:5299},omp:{language:5300},omq:{language:5301},omr:{language:5302},omt:{language:5303},omu:{language:5304},omv:{language:5305},omw:{language:5306},omx:{language:5307},omy:{language:5308},ona:{language:5309},onb:{language:5310},one:{language:5311},ong:{language:5312},oni:{language:5313},onj:{language:5314},onk:{language:5315},onn:{language:5316},ono:{language:5317},onp:{language:5318},onr:{language:5319},ons:{language:5320},ont:{language:5321},onu:{language:5322},onw:{language:5323},onx:{language:5324},ood:{language:5325},oog:{language:5326},oon:{language:5327},oor:{language:5328},oos:{language:5329},opa:{language:5330},opk:{language:5331},opm:{language:5332},opo:{language:5333},opt:{language:5334},opy:{language:5335},ora:{language:5336},orc:{language:5337},ore:{language:5338},org:{language:5339},orh:{language:5340},orn:{language:5341,extlang:8411},oro:{language:5342},orr:{language:5343},ors:{language:5344,extlang:8412},ort:{language:5345},oru:{language:5346},orv:{language:5347},orw:{language:5348},orx:{language:5349},ory:{language:5350},orz:{language:5351},osa:{language:5352},osc:{language:5353},osi:{language:5354},osn:{language:5355},oso:{language:5356},osp:{language:5357},ost:{language:5358},osu:{language:5359},osx:{language:5360},ota:{language:5361},otb:{language:5362},otd:{language:5363},ote:{language:5364},oti:{language:5365},otk:{language:5366},otl:{language:5367},otm:{language:5368},otn:{language:5369},oto:{language:5370},otq:{language:5371},otr:{language:5372},ots:{language:5373},ott:{language:5374},otu:{language:5375},otw:{language:5376},otx:{language:5377},oty:{language:5378},otz:{language:5379},oua:{language:5380},oub:{language:5381},oue:{language:5382},oui:{language:5383},oum:{language:5384},oun:{language:5385},ovd:{language:5386},owi:{language:5387},owl:{language:5388},oyb:{language:5389},oyd:{language:5390},oym:{language:5391},oyy:{language:5392},ozm:{language:5393},paa:{language:5394},pab:{language:5395},pac:{language:5396},pad:{language:5397},pae:{language:5398},paf:{language:5399},pag:{language:5400},pah:{language:5401},pai:{language:5402},pak:{language:5403},pal:{language:5404},pam:{language:5405},pao:{language:5406},pap:{language:5407},paq:{language:5408},par:{language:5409},pas:{language:5410},pat:{language:5411},pau:{language:5412},pav:{language:5413},paw:{language:5414},pax:{language:5415},pay:{language:5416},paz:{language:5417},pbb:{language:5418},pbc:{language:5419},pbe:{language:5420},pbf:{language:5421},pbg:{language:5422},pbh:{language:5423},pbi:{language:5424},pbl:{language:5425},pbm:{language:5426},pbn:{language:5427},pbo:{language:5428},pbp:{language:5429},pbr:{language:5430},pbs:{language:5431},pbt:{language:5432},pbu:{language:5433},pbv:{language:5434},pby:{language:5435},pbz:{language:5436},pca:{language:5437},pcb:{language:5438},pcc:{language:5439},pcd:{language:5440},pce:{language:5441},pcf:{language:5442},pcg:{language:5443},pch:{language:5444},pci:{language:5445},pcj:{language:5446},pck:{language:5447},pcl:{language:5448},pcm:{language:5449},pcn:{language:5450},pcp:{language:5451},pcr:{language:5452},pcw:{language:5453},pda:{language:5454},pdc:{language:5455},pdi:{language:5456},pdn:{language:5457},pdo:{language:5458},pdt:{language:5459},pdu:{language:5460},pea:{language:5461},peb:{language:5462},ped:{language:5463},pee:{language:5464},pef:{language:5465},peg:{language:5466},peh:{language:5467},pei:{language:5468},pej:{language:5469},pek:{language:5470},pel:{language:5471,extlang:8413},pem:{language:5472},peo:{language:5473},pep:{language:5474},peq:{language:5475},pes:{language:5476},pev:{language:5477},pex:{language:5478},pey:{language:5479},pez:{language:5480},pfa:{language:5481},pfe:{language:5482},pfl:{language:5483},pga:{language:5484,extlang:8414},pgd:{language:5485},pgg:{language:5486},pgi:{language:5487},pgk:{language:5488},pgl:{language:5489},pgn:{language:5490},pgs:{language:5491},pgu:{language:5492},pgy:{language:5493},pgz:{language:5494,extlang:8415},pha:{language:5495},phd:{language:5496},phg:{language:5497},phh:{language:5498},phi:{language:5499},phj:{language:5500},phk:{language:5501},phl:{language:5502},phm:{language:5503},phn:{language:5504},pho:{language:5505},phq:{language:5506},phr:{language:5507},pht:{language:5508},phu:{language:5509},phv:{language:5510},phw:{language:5511},pia:{language:5512},pib:{language:5513},pic:{language:5514},pid:{language:5515},pie:{language:5516},pif:{language:5517},pig:{language:5518},pih:{language:5519},pii:{language:5520},pij:{language:5521},pil:{language:5522},pim:{language:5523},pin:{language:5524},pio:{language:5525},pip:{language:5526},pir:{language:5527},pis:{language:5528},pit:{language:5529},piu:{language:5530},piv:{language:5531},piw:{language:5532},pix:{language:5533},piy:{language:5534},piz:{language:5535},pjt:{language:5536},pka:{language:5537},pkb:{language:5538},pkc:{language:5539},pkg:{language:5540},pkh:{language:5541},pkn:{language:5542},pko:{language:5543},pkp:{language:5544},pkr:{language:5545},pks:{language:5546,extlang:8416},pkt:{language:5547},pku:{language:5548},pla:{language:5549},plb:{language:5550},plc:{language:5551},pld:{language:5552},ple:{language:5553},plf:{language:5554},plg:{language:5555},plh:{language:5556},plj:{language:5557},plk:{language:5558},pll:{language:5559},pln:{language:5560},plo:{language:5561},plp:{language:5562},plq:{language:5563},plr:{language:5564},pls:{language:5565},plt:{language:5566},plu:{language:5567},plv:{language:5568},plw:{language:5569},ply:{language:5570},plz:{language:5571},pma:{language:5572},pmb:{language:5573},pmc:{language:5574},pmd:{language:5575},pme:{language:5576},pmf:{language:5577},pmh:{language:5578},pmi:{language:5579},pmj:{language:5580},pmk:{language:5581},pml:{language:5582},pmm:{language:5583},pmn:{language:5584},pmo:{language:5585},pmq:{language:5586},pmr:{language:5587},pms:{language:5588},pmt:{language:5589},pmu:{language:5590},pmw:{language:5591},pmx:{language:5592},pmy:{language:5593},pmz:{language:5594},pna:{language:5595},pnb:{language:5596},pnc:{language:5597},pnd:{language:5598},pne:{language:5599},png:{language:5600},pnh:{language:5601},pni:{language:5602},pnj:{language:5603},pnk:{language:5604},pnl:{language:5605},pnm:{language:5606},pnn:{language:5607},pno:{language:5608},pnp:{language:5609},pnq:{language:5610},pnr:{language:5611},pns:{language:5612},pnt:{language:5613},pnu:{language:5614},pnv:{language:5615},pnw:{language:5616},pnx:{language:5617},pny:{language:5618},pnz:{language:5619},poc:{language:5620},pod:{language:5621},poe:{language:5622},pof:{language:5623},pog:{language:5624},poh:{language:5625},poi:{language:5626},pok:{language:5627},pom:{language:5628},pon:{language:5629},poo:{language:5630},pop:{language:5631},poq:{language:5632},pos:{language:5633},pot:{language:5634},pov:{language:5635},pow:{language:5636},pox:{language:5637},poy:{language:5638},poz:{language:5639},ppa:{language:5640},ppe:{language:5641},ppi:{language:5642},ppk:{language:5643},ppl:{language:5644},ppm:{language:5645},ppn:{language:5646},ppo:{language:5647},ppp:{language:5648},ppq:{language:5649},ppr:{language:5650},pps:{language:5651},ppt:{language:5652},ppu:{language:5653},pqa:{language:5654},pqe:{language:5655},pqm:{language:5656},pqw:{language:5657},pra:{language:5658},prb:{language:5659},prc:{language:5660},prd:{language:5661},pre:{language:5662},prf:{language:5663},prg:{language:5664},prh:{language:5665},pri:{language:5666},prk:{language:5667},prl:{language:5668,extlang:8417},prm:{language:5669},prn:{language:5670},pro:{language:5671},prp:{language:5672},prq:{language:5673},prr:{language:5674},prs:{language:5675},prt:{language:5676},pru:{language:5677},prw:{language:5678},prx:{language:5679},pry:{language:5680},prz:{language:5681,extlang:8418},psa:{language:5682},psc:{language:5683,extlang:8419},psd:{language:5684,extlang:8420},pse:{language:5685,extlang:8421},psg:{language:5686,extlang:8422},psh:{language:5687},psi:{language:5688},psl:{language:5689,extlang:8423},psm:{language:5690},psn:{language:5691},pso:{language:5692,extlang:8424},psp:{language:5693,extlang:8425},psq:{language:5694},psr:{language:5695,extlang:8426},pss:{language:5696},pst:{language:5697},psu:{language:5698},psw:{language:5699},psy:{language:5700},pta:{language:5701},pth:{language:5702},pti:{language:5703},ptn:{language:5704},pto:{language:5705},ptp:{language:5706},ptq:{language:5707},ptr:{language:5708},ptt:{language:5709},ptu:{language:5710},ptv:{language:5711},ptw:{language:5712},pty:{language:5713},pua:{language:5714},pub:{language:5715},puc:{language:5716},pud:{language:5717},pue:{language:5718},puf:{language:5719},pug:{language:5720},pui:{language:5721},puj:{language:5722},puk:{language:5723},pum:{language:5724},puo:{language:5725},pup:{language:5726},puq:{language:5727},pur:{language:5728},put:{language:5729},puu:{language:5730},puw:{language:5731},pux:{language:5732},puy:{language:5733},puz:{language:5734},pwa:{language:5735},pwb:{language:5736},pwg:{language:5737},pwi:{language:5738},pwm:{language:5739},pwn:{language:5740},pwo:{language:5741},pwr:{language:5742},pww:{language:5743},pxm:{language:5744},pye:{language:5745},pym:{language:5746},pyn:{language:5747},pys:{language:5748,extlang:8427},pyu:{language:5749},pyx:{language:5750},pyy:{language:5751},pzh:{language:5752},pzn:{language:5753},"qaa..qtz":{language:5754},qua:{language:5755},qub:{language:5756},quc:{language:5757},qud:{language:5758},quf:{language:5759},qug:{language:5760},quh:{language:5761},qui:{language:5762},quk:{language:5763},qul:{language:5764},qum:{language:5765},qun:{language:5766},qup:{language:5767},quq:{language:5768},qur:{language:5769},qus:{language:5770},quv:{language:5771},quw:{language:5772},qux:{language:5773},quy:{language:5774},quz:{language:5775},qva:{language:5776},qvc:{language:5777},qve:{language:5778},qvh:{language:5779},qvi:{language:5780},qvj:{language:5781},qvl:{language:5782},qvm:{language:5783},qvn:{language:5784},qvo:{language:5785},qvp:{language:5786},qvs:{language:5787},qvw:{language:5788},qvy:{language:5789},qvz:{language:5790},qwa:{language:5791},qwc:{language:5792},qwe:{language:5793},qwh:{language:5794},qwm:{language:5795},qws:{language:5796},qwt:{language:5797},qxa:{language:5798},qxc:{language:5799},qxh:{language:5800},qxl:{language:5801},qxn:{language:5802},qxo:{language:5803},qxp:{language:5804},qxq:{language:5805},qxr:{language:5806},qxs:{language:5807},qxt:{language:5808},qxu:{language:5809},qxw:{language:5810},qya:{language:5811},qyp:{language:5812},raa:{language:5813},rab:{language:5814},rac:{language:5815},rad:{language:5816},raf:{language:5817},rag:{language:5818},rah:{language:5819},rai:{language:5820},raj:{language:5821},rak:{language:5822},ral:{language:5823},ram:{language:5824},ran:{language:5825},rao:{language:5826},rap:{language:5827},raq:{language:5828},rar:{language:5829},ras:{language:5830},rat:{language:5831},rau:{language:5832},rav:{language:5833},raw:{language:5834},rax:{language:5835},ray:{language:5836},raz:{language:5837},rbb:{language:5838},rbk:{language:5839},rbl:{language:5840},rbp:{language:5841},rcf:{language:5842},rdb:{language:5843},rea:{language:5844},reb:{language:5845},ree:{language:5846},reg:{language:5847},rei:{language:5848},rej:{language:5849},rel:{language:5850},rem:{language:5851},ren:{language:5852},rer:{language:5853},res:{language:5854},ret:{language:5855},rey:{language:5856},rga:{language:5857},rge:{language:5858},rgk:{language:5859},rgn:{language:5860},rgr:{language:5861},rgs:{language:5862},rgu:{language:5863},rhg:{language:5864},rhp:{language:5865},ria:{language:5866},rib:{language:5867,extlang:8428},rie:{language:5868},rif:{language:5869},ril:{language:5870},rim:{language:5871},rin:{language:5872},rir:{language:5873},rit:{language:5874},riu:{language:5875},rjg:{language:5876},rji:{language:5877},rjs:{language:5878},rka:{language:5879},rkb:{language:5880},rkh:{language:5881},rki:{language:5882},rkm:{language:5883},rkt:{language:5884},rkw:{language:5885},rma:{language:5886},rmb:{language:5887},rmc:{language:5888},rmd:{language:5889},rme:{language:5890},rmf:{language:5891},rmg:{language:5892},rmh:{language:5893},rmi:{language:5894},rmk:{language:5895},rml:{language:5896},rmm:{language:5897},rmn:{language:5898},rmo:{language:5899},rmp:{language:5900},rmq:{language:5901},rmr:{language:5902},rms:{language:5903,extlang:8429},rmt:{language:5904},rmu:{language:5905},rmv:{language:5906},rmw:{language:5907},rmx:{language:5908},rmy:{language:5909},rmz:{language:5910},rna:{language:5911},rnb:{language:5912,extlang:8430},rnd:{language:5913},rng:{language:5914},rnl:{language:5915},rnn:{language:5916},rnp:{language:5917},rnr:{language:5918},rnw:{language:5919},roa:{language:5920},rob:{language:5921},roc:{language:5922},rod:{language:5923},roe:{language:5924},rof:{language:5925},rog:{language:5926},rol:{language:5927},rom:{language:5928},roo:{language:5929},rop:{language:5930},ror:{language:5931},rou:{language:5932},row:{language:5933},rpn:{language:5934},rpt:{language:5935},rri:{language:5936},rro:{language:5937},rrt:{language:5938},rsb:{language:5939},rsi:{language:5940,extlang:8431},rsk:{language:5941},rsl:{language:5942,extlang:8432},rsm:{language:5943,extlang:8433},rsn:{language:5944,extlang:8434},rtc:{language:5945},rth:{language:5946},rtm:{language:5947},rts:{language:5948},rtw:{language:5949},rub:{language:5950},ruc:{language:5951},rue:{language:5952},ruf:{language:5953},rug:{language:5954},ruh:{language:5955},rui:{language:5956},ruk:{language:5957},ruo:{language:5958},rup:{language:5959},ruq:{language:5960},rut:{language:5961},ruu:{language:5962},ruy:{language:5963},ruz:{language:5964},rwa:{language:5965},rwk:{language:5966},rwl:{language:5967},rwm:{language:5968},rwo:{language:5969},rwr:{language:5970},rxd:{language:5971},rxw:{language:5972},ryn:{language:5973},rys:{language:5974},ryu:{language:5975},rzh:{language:5976},saa:{language:5977},sab:{language:5978},sac:{language:5979},sad:{language:5980},sae:{language:5981},saf:{language:5982},sah:{language:5983},sai:{language:5984},saj:{language:5985},sak:{language:5986},sal:{language:5987},sam:{language:5988},sao:{language:5989},sap:{language:5990},saq:{language:5991},sar:{language:5992},sas:{language:5993},sat:{language:5994},sau:{language:5995},sav:{language:5996},saw:{language:5997},sax:{language:5998},say:{language:5999},saz:{language:6e3},sba:{language:6001},sbb:{language:6002},sbc:{language:6003},sbd:{language:6004},sbe:{language:6005},sbf:{language:6006},sbg:{language:6007},sbh:{language:6008},sbi:{language:6009},sbj:{language:6010},sbk:{language:6011},sbl:{language:6012},sbm:{language:6013},sbn:{language:6014},sbo:{language:6015},sbp:{language:6016},sbq:{language:6017},sbr:{language:6018},sbs:{language:6019},sbt:{language:6020},sbu:{language:6021},sbv:{language:6022},sbw:{language:6023},sbx:{language:6024},sby:{language:6025},sbz:{language:6026},sca:{language:6027},scb:{language:6028},sce:{language:6029},scf:{language:6030},scg:{language:6031},sch:{language:6032},sci:{language:6033},sck:{language:6034},scl:{language:6035},scn:{language:6036},sco:{language:6037},scp:{language:6038},scq:{language:6039},scs:{language:6040},sct:{language:6041},scu:{language:6042},scv:{language:6043},scw:{language:6044},scx:{language:6045},sda:{language:6046},sdb:{language:6047},sdc:{language:6048},sde:{language:6049},sdf:{language:6050},sdg:{language:6051},sdh:{language:6052},sdj:{language:6053},sdk:{language:6054},sdl:{language:6055,extlang:8435},sdm:{language:6056},sdn:{language:6057},sdo:{language:6058},sdp:{language:6059},sdq:{language:6060},sdr:{language:6061},sds:{language:6062},sdt:{language:6063},sdu:{language:6064},sdv:{language:6065},sdx:{language:6066},sdz:{language:6067},sea:{language:6068},seb:{language:6069},sec:{language:6070},sed:{language:6071},see:{language:6072},sef:{language:6073},seg:{language:6074},seh:{language:6075},sei:{language:6076},sej:{language:6077},sek:{language:6078},sel:{language:6079},sem:{language:6080},sen:{language:6081},seo:{language:6082},sep:{language:6083},seq:{language:6084},ser:{language:6085},ses:{language:6086},set:{language:6087},seu:{language:6088},sev:{language:6089},sew:{language:6090},sey:{language:6091},sez:{language:6092},sfb:{language:6093,extlang:8436},sfe:{language:6094},sfm:{language:6095},sfs:{language:6096,extlang:8437},sfw:{language:6097},sga:{language:6098},sgb:{language:6099},sgc:{language:6100},sgd:{language:6101},sge:{language:6102},sgg:{language:6103,extlang:8438},sgh:{language:6104},sgi:{language:6105},sgj:{language:6106},sgk:{language:6107},sgl:{language:6108},sgm:{language:6109},sgn:{language:6110},sgo:{language:6111},sgp:{language:6112},sgr:{language:6113},sgs:{language:6114},sgt:{language:6115},sgu:{language:6116},sgw:{language:6117},sgx:{language:6118,extlang:8439},sgy:{language:6119},sgz:{language:6120},sha:{language:6121},shb:{language:6122},shc:{language:6123},shd:{language:6124},she:{language:6125},shg:{language:6126},shh:{language:6127},shi:{language:6128},shj:{language:6129},shk:{language:6130},shl:{language:6131},shm:{language:6132},shn:{language:6133},sho:{language:6134},shp:{language:6135},shq:{language:6136},shr:{language:6137},shs:{language:6138},sht:{language:6139},shu:{language:6140,extlang:8440},shv:{language:6141},shw:{language:6142},shx:{language:6143},shy:{language:6144},shz:{language:6145},sia:{language:6146},sib:{language:6147},sid:{language:6148},sie:{language:6149},sif:{language:6150},sig:{language:6151},sih:{language:6152},sii:{language:6153},sij:{language:6154},sik:{language:6155},sil:{language:6156},sim:{language:6157},sio:{language:6158},sip:{language:6159},siq:{language:6160},sir:{language:6161},sis:{language:6162},sit:{language:6163},siu:{language:6164},siv:{language:6165},siw:{language:6166},six:{language:6167},siy:{language:6168},siz:{language:6169},sja:{language:6170},sjb:{language:6171},sjd:{language:6172},sje:{language:6173},sjg:{language:6174},sjk:{language:6175},sjl:{language:6176},sjm:{language:6177},sjn:{language:6178},sjo:{language:6179},sjp:{language:6180},sjr:{language:6181},sjs:{language:6182},sjt:{language:6183},sju:{language:6184},sjw:{language:6185},ska:{language:6186},skb:{language:6187},skc:{language:6188},skd:{language:6189},ske:{language:6190},skf:{language:6191},skg:{language:6192},skh:{language:6193},ski:{language:6194},skj:{language:6195},skk:{language:6196},skm:{language:6197},skn:{language:6198},sko:{language:6199},skp:{language:6200},skq:{language:6201},skr:{language:6202},sks:{language:6203},skt:{language:6204},sku:{language:6205},skv:{language:6206},skw:{language:6207},skx:{language:6208},sky:{language:6209},skz:{language:6210},sla:{language:6211},slc:{language:6212},sld:{language:6213},sle:{language:6214},slf:{language:6215,extlang:8441},slg:{language:6216},slh:{language:6217},sli:{language:6218},slj:{language:6219},sll:{language:6220},slm:{language:6221},sln:{language:6222},slp:{language:6223},slq:{language:6224},slr:{language:6225},sls:{language:6226,extlang:8442},slt:{language:6227},slu:{language:6228},slw:{language:6229},slx:{language:6230},sly:{language:6231},slz:{language:6232},sma:{language:6233},smb:{language:6234},smc:{language:6235},smd:{language:6236},smf:{language:6237},smg:{language:6238},smh:{language:6239},smi:{language:6240},smj:{language:6241},smk:{language:6242},sml:{language:6243},smm:{language:6244},smn:{language:6245},smp:{language:6246},smq:{language:6247},smr:{language:6248},sms:{language:6249},smt:{language:6250},smu:{language:6251},smv:{language:6252},smw:{language:6253},smx:{language:6254},smy:{language:6255},smz:{language:6256},snb:{language:6257},snc:{language:6258},sne:{language:6259},snf:{language:6260},sng:{language:6261},snh:{language:6262},sni:{language:6263},snj:{language:6264},snk:{language:6265},snl:{language:6266},snm:{language:6267},snn:{language:6268},sno:{language:6269},snp:{language:6270},snq:{language:6271},snr:{language:6272},sns:{language:6273},snu:{language:6274},snv:{language:6275},snw:{language:6276},snx:{language:6277},sny:{language:6278},snz:{language:6279},soa:{language:6280},sob:{language:6281},soc:{language:6282},sod:{language:6283},soe:{language:6284},sog:{language:6285},soh:{language:6286},soi:{language:6287},soj:{language:6288},sok:{language:6289},sol:{language:6290},son:{language:6291},soo:{language:6292},sop:{language:6293},soq:{language:6294},sor:{language:6295},sos:{language:6296},sou:{language:6297},sov:{language:6298},sow:{language:6299},sox:{language:6300},soy:{language:6301},soz:{language:6302},spb:{language:6303},spc:{language:6304},spd:{language:6305},spe:{language:6306},spg:{language:6307},spi:{language:6308},spk:{language:6309},spl:{language:6310},spm:{language:6311},spn:{language:6312},spo:{language:6313},spp:{language:6314},spq:{language:6315},spr:{language:6316},sps:{language:6317},spt:{language:6318},spu:{language:6319},spv:{language:6320},spx:{language:6321},spy:{language:6322},sqa:{language:6323},sqh:{language:6324},sqj:{language:6325},sqk:{language:6326,extlang:8443},sqm:{language:6327},sqn:{language:6328},sqo:{language:6329},sqq:{language:6330},sqr:{language:6331},sqs:{language:6332,extlang:8444},sqt:{language:6333},squ:{language:6334},sqx:{language:6335,extlang:8445},sra:{language:6336},srb:{language:6337},src:{language:6338},sre:{language:6339},srf:{language:6340},srg:{language:6341},srh:{language:6342},sri:{language:6343},srk:{language:6344},srl:{language:6345},srm:{language:6346},srn:{language:6347},sro:{language:6348},srq:{language:6349},srr:{language:6350},srs:{language:6351},srt:{language:6352},sru:{language:6353},srv:{language:6354},srw:{language:6355},srx:{language:6356},sry:{language:6357},srz:{language:6358},ssa:{language:6359},ssb:{language:6360},ssc:{language:6361},ssd:{language:6362},sse:{language:6363},ssf:{language:6364},ssg:{language:6365},ssh:{language:6366,extlang:8446},ssi:{language:6367},ssj:{language:6368},ssk:{language:6369},ssl:{language:6370},ssm:{language:6371},ssn:{language:6372},sso:{language:6373},ssp:{language:6374,extlang:8447},ssq:{language:6375},ssr:{language:6376,extlang:8448},sss:{language:6377},sst:{language:6378},ssu:{language:6379},ssv:{language:6380},ssx:{language:6381},ssy:{language:6382},ssz:{language:6383},sta:{language:6384},stb:{language:6385},std:{language:6386},ste:{language:6387},stf:{language:6388},stg:{language:6389},sth:{language:6390},sti:{language:6391},stj:{language:6392},stk:{language:6393},stl:{language:6394},stm:{language:6395},stn:{language:6396},sto:{language:6397},stp:{language:6398},stq:{language:6399},str:{language:6400},sts:{language:6401},stt:{language:6402},stu:{language:6403},stv:{language:6404},stw:{language:6405},sty:{language:6406},sua:{language:6407},sub:{language:6408},suc:{language:6409},sue:{language:6410},sug:{language:6411},sui:{language:6412},suj:{language:6413},suk:{language:6414},sul:{language:6415},sum:{language:6416},suo:{language:6417},suq:{language:6418},sur:{language:6419},sus:{language:6420},sut:{language:6421},suv:{language:6422},suw:{language:6423},sux:{language:6424},suy:{language:6425},suz:{language:6426},sva:{language:6427},svb:{language:6428},svc:{language:6429},sve:{language:6430},svk:{language:6431,extlang:8449},svm:{language:6432},svr:{language:6433},svs:{language:6434},svx:{language:6435},swb:{language:6436},swc:{language:6437,extlang:8450},swf:{language:6438},swg:{language:6439},swh:{language:6440,extlang:8451},swi:{language:6441},swj:{language:6442},swk:{language:6443},swl:{language:6444,extlang:8452},swm:{language:6445},swn:{language:6446},swo:{language:6447},swp:{language:6448},swq:{language:6449},swr:{language:6450},sws:{language:6451},swt:{language:6452},swu:{language:6453},swv:{language:6454},sww:{language:6455},swx:{language:6456},swy:{language:6457},sxb:{language:6458},sxc:{language:6459},sxe:{language:6460},sxg:{language:6461},sxk:{language:6462},sxl:{language:6463},sxm:{language:6464},sxn:{language:6465},sxo:{language:6466},sxr:{language:6467},sxs:{language:6468},sxu:{language:6469},sxw:{language:6470},sya:{language:6471},syb:{language:6472},syc:{language:6473},syd:{language:6474},syi:{language:6475},syk:{language:6476},syl:{language:6477},sym:{language:6478},syn:{language:6479},syo:{language:6480},syr:{language:6481},sys:{language:6482},syw:{language:6483},syx:{language:6484},syy:{language:6485,extlang:8453},sza:{language:6486},szb:{language:6487},szc:{language:6488},szd:{language:6489},sze:{language:6490},szg:{language:6491},szl:{language:6492},szn:{language:6493},szp:{language:6494},szs:{language:6495,extlang:8454},szv:{language:6496},szw:{language:6497},szy:{language:6498},taa:{language:6499},tab:{language:6500},tac:{language:6501},tad:{language:6502},tae:{language:6503},taf:{language:6504},tag:{language:6505},tai:{language:6506},taj:{language:6507},tak:{language:6508},tal:{language:6509},tan:{language:6510},tao:{language:6511},tap:{language:6512},taq:{language:6513},tar:{language:6514},tas:{language:6515},tau:{language:6516},tav:{language:6517},taw:{language:6518},tax:{language:6519},tay:{language:6520},taz:{language:6521},tba:{language:6522},tbb:{language:6523},tbc:{language:6524},tbd:{language:6525},tbe:{language:6526},tbf:{language:6527},tbg:{language:6528},tbh:{language:6529},tbi:{language:6530},tbj:{language:6531},tbk:{language:6532},tbl:{language:6533},tbm:{language:6534},tbn:{language:6535},tbo:{language:6536},tbp:{language:6537},tbq:{language:6538},tbr:{language:6539},tbs:{language:6540},tbt:{language:6541},tbu:{language:6542},tbv:{language:6543},tbw:{language:6544},tbx:{language:6545},tby:{language:6546},tbz:{language:6547},tca:{language:6548},tcb:{language:6549},tcc:{language:6550},tcd:{language:6551},tce:{language:6552},tcf:{language:6553},tcg:{language:6554},tch:{language:6555},tci:{language:6556},tck:{language:6557},tcl:{language:6558},tcm:{language:6559},tcn:{language:6560},tco:{language:6561},tcp:{language:6562},tcq:{language:6563},tcs:{language:6564},tct:{language:6565},tcu:{language:6566},tcw:{language:6567},tcx:{language:6568},tcy:{language:6569},tcz:{language:6570},tda:{language:6571},tdb:{language:6572},tdc:{language:6573},tdd:{language:6574},tde:{language:6575},tdf:{language:6576},tdg:{language:6577},tdh:{language:6578},tdi:{language:6579},tdj:{language:6580},tdk:{language:6581},tdl:{language:6582},tdm:{language:6583},tdn:{language:6584},tdo:{language:6585},tdq:{language:6586},tdr:{language:6587},tds:{language:6588},tdt:{language:6589},tdu:{language:6590},tdv:{language:6591},tdx:{language:6592},tdy:{language:6593},tea:{language:6594},teb:{language:6595},tec:{language:6596},ted:{language:6597},tee:{language:6598},tef:{language:6599},teg:{language:6600},teh:{language:6601},tei:{language:6602},tek:{language:6603},tem:{language:6604},ten:{language:6605},teo:{language:6606},tep:{language:6607},teq:{language:6608},ter:{language:6609},tes:{language:6610},tet:{language:6611},teu:{language:6612},tev:{language:6613},tew:{language:6614},tex:{language:6615},tey:{language:6616},tez:{language:6617},tfi:{language:6618},tfn:{language:6619},tfo:{language:6620},tfr:{language:6621},tft:{language:6622},tga:{language:6623},tgb:{language:6624},tgc:{language:6625},tgd:{language:6626},tge:{language:6627},tgf:{language:6628},tgg:{language:6629},tgh:{language:6630},tgi:{language:6631},tgj:{language:6632},tgn:{language:6633},tgo:{language:6634},tgp:{language:6635},tgq:{language:6636},tgr:{language:6637},tgs:{language:6638},tgt:{language:6639},tgu:{language:6640},tgv:{language:6641},tgw:{language:6642},tgx:{language:6643},tgy:{language:6644},tgz:{language:6645},thc:{language:6646},thd:{language:6647},the:{language:6648},thf:{language:6649},thh:{language:6650},thi:{language:6651},thk:{language:6652},thl:{language:6653},thm:{language:6654},thn:{language:6655},thp:{language:6656},thq:{language:6657},thr:{language:6658},ths:{language:6659},tht:{language:6660},thu:{language:6661},thv:{language:6662},thw:{language:6663},thx:{language:6664},thy:{language:6665},thz:{language:6666},tia:{language:6667},tic:{language:6668},tid:{language:6669},tie:{language:6670},tif:{language:6671},tig:{language:6672},tih:{language:6673},tii:{language:6674},tij:{language:6675},tik:{language:6676},til:{language:6677},tim:{language:6678},tin:{language:6679},tio:{language:6680},tip:{language:6681},tiq:{language:6682},tis:{language:6683},tit:{language:6684},tiu:{language:6685},tiv:{language:6686},tiw:{language:6687},tix:{language:6688},tiy:{language:6689},tiz:{language:6690},tja:{language:6691},tjg:{language:6692},tji:{language:6693},tjj:{language:6694},tjl:{language:6695},tjm:{language:6696},tjn:{language:6697},tjo:{language:6698},tjp:{language:6699},tjs:{language:6700},tju:{language:6701},tjw:{language:6702},tka:{language:6703},tkb:{language:6704},tkd:{language:6705},tke:{language:6706},tkf:{language:6707},tkg:{language:6708},tkk:{language:6709},tkl:{language:6710},tkm:{language:6711},tkn:{language:6712},tkp:{language:6713},tkq:{language:6714},tkr:{language:6715},tks:{language:6716},tkt:{language:6717},tku:{language:6718},tkv:{language:6719},tkw:{language:6720},tkx:{language:6721},tkz:{language:6722},tla:{language:6723},tlb:{language:6724},tlc:{language:6725},tld:{language:6726},tlf:{language:6727},tlg:{language:6728},tlh:{language:6729},tli:{language:6730},tlj:{language:6731},tlk:{language:6732},tll:{language:6733},tlm:{language:6734},tln:{language:6735},tlo:{language:6736},tlp:{language:6737},tlq:{language:6738},tlr:{language:6739},tls:{language:6740},tlt:{language:6741},tlu:{language:6742},tlv:{language:6743},tlw:{language:6744},tlx:{language:6745},tly:{language:6746},tma:{language:6747},tmb:{language:6748},tmc:{language:6749},tmd:{language:6750},tme:{language:6751},tmf:{language:6752},tmg:{language:6753},tmh:{language:6754},tmi:{language:6755},tmj:{language:6756},tmk:{language:6757},tml:{language:6758},tmm:{language:6759},tmn:{language:6760},tmo:{language:6761},tmp:{language:6762},tmq:{language:6763},tmr:{language:6764},tms:{language:6765},tmt:{language:6766},tmu:{language:6767},tmv:{language:6768},tmw:{language:6769,extlang:8455},tmy:{language:6770},tmz:{language:6771},tna:{language:6772},tnb:{language:6773},tnc:{language:6774},tnd:{language:6775},tne:{language:6776},tnf:{language:6777},tng:{language:6778},tnh:{language:6779},tni:{language:6780},tnk:{language:6781},tnl:{language:6782},tnm:{language:6783},tnn:{language:6784},tno:{language:6785},tnp:{language:6786},tnq:{language:6787},tnr:{language:6788},tns:{language:6789},tnt:{language:6790},tnu:{language:6791},tnv:{language:6792},tnw:{language:6793},tnx:{language:6794},tny:{language:6795},tnz:{language:6796},tob:{language:6797},toc:{language:6798},tod:{language:6799},toe:{language:6800},tof:{language:6801},tog:{language:6802},toh:{language:6803},toi:{language:6804},toj:{language:6805},tok:{language:6806},tol:{language:6807},tom:{language:6808},too:{language:6809},top:{language:6810},toq:{language:6811},tor:{language:6812},tos:{language:6813},tou:{language:6814},tov:{language:6815},tow:{language:6816},tox:{language:6817},toy:{language:6818},toz:{language:6819},tpa:{language:6820},tpc:{language:6821},tpe:{language:6822},tpf:{language:6823},tpg:{language:6824},tpi:{language:6825},tpj:{language:6826},tpk:{language:6827},tpl:{language:6828},tpm:{language:6829},tpn:{language:6830},tpo:{language:6831},tpp:{language:6832},tpq:{language:6833},tpr:{language:6834},tpt:{language:6835},tpu:{language:6836},tpv:{language:6837},tpw:{language:6838},tpx:{language:6839},tpy:{language:6840},tpz:{language:6841},tqb:{language:6842},tql:{language:6843},tqm:{language:6844},tqn:{language:6845},tqo:{language:6846},tqp:{language:6847},tqq:{language:6848},tqr:{language:6849},tqt:{language:6850},tqu:{language:6851},tqw:{language:6852},tra:{language:6853},trb:{language:6854},trc:{language:6855},trd:{language:6856},tre:{language:6857},trf:{language:6858},trg:{language:6859},trh:{language:6860},tri:{language:6861},trj:{language:6862},trk:{language:6863},trl:{language:6864},trm:{language:6865},trn:{language:6866},tro:{language:6867},trp:{language:6868},trq:{language:6869},trr:{language:6870},trs:{language:6871},trt:{language:6872},tru:{language:6873},trv:{language:6874},trw:{language:6875},trx:{language:6876},try:{language:6877},trz:{language:6878},tsa:{language:6879},tsb:{language:6880},tsc:{language:6881},tsd:{language:6882},tse:{language:6883,extlang:8456},tsf:{language:6884},tsg:{language:6885},tsh:{language:6886},tsi:{language:6887},tsj:{language:6888},tsk:{language:6889},tsl:{language:6890},tsm:{language:6891,extlang:8457},tsp:{language:6892},tsq:{language:6893,extlang:8458},tsr:{language:6894},tss:{language:6895,extlang:8459},tst:{language:6896},tsu:{language:6897},tsv:{language:6898},tsw:{language:6899},tsx:{language:6900},tsy:{language:6901,extlang:8460},tsz:{language:6902},tta:{language:6903},ttb:{language:6904},ttc:{language:6905},ttd:{language:6906},tte:{language:6907},ttf:{language:6908},ttg:{language:6909},tth:{language:6910},tti:{language:6911},ttj:{language:6912},ttk:{language:6913},ttl:{language:6914},ttm:{language:6915},ttn:{language:6916},tto:{language:6917},ttp:{language:6918},ttq:{language:6919},ttr:{language:6920},tts:{language:6921},ttt:{language:6922},ttu:{language:6923},ttv:{language:6924},ttw:{language:6925},tty:{language:6926},ttz:{language:6927},tua:{language:6928},tub:{language:6929},tuc:{language:6930},tud:{language:6931},tue:{language:6932},tuf:{language:6933},tug:{language:6934},tuh:{language:6935},tui:{language:6936},tuj:{language:6937},tul:{language:6938},tum:{language:6939},tun:{language:6940},tuo:{language:6941},tup:{language:6942},tuq:{language:6943},tus:{language:6944},tut:{language:6945},tuu:{language:6946},tuv:{language:6947},tuw:{language:6948},tux:{language:6949},tuy:{language:6950},tuz:{language:6951},tva:{language:6952},tvd:{language:6953},tve:{language:6954},tvk:{language:6955},tvl:{language:6956},tvm:{language:6957},tvn:{language:6958},tvo:{language:6959},tvs:{language:6960},tvt:{language:6961},tvu:{language:6962},tvw:{language:6963},tvx:{language:6964},tvy:{language:6965},twa:{language:6966},twb:{language:6967},twc:{language:6968},twd:{language:6969},twe:{language:6970},twf:{language:6971},twg:{language:6972},twh:{language:6973},twl:{language:6974},twm:{language:6975},twn:{language:6976},two:{language:6977},twp:{language:6978},twq:{language:6979},twr:{language:6980},twt:{language:6981},twu:{language:6982},tww:{language:6983},twx:{language:6984},twy:{language:6985},txa:{language:6986},txb:{language:6987},txc:{language:6988},txe:{language:6989},txg:{language:6990},txh:{language:6991},txi:{language:6992},txj:{language:6993},txm:{language:6994},txn:{language:6995},txo:{language:6996},txq:{language:6997},txr:{language:6998},txs:{language:6999},txt:{language:7e3},txu:{language:7001},txx:{language:7002},txy:{language:7003},tya:{language:7004},tye:{language:7005},tyh:{language:7006},tyi:{language:7007},tyj:{language:7008},tyl:{language:7009},tyn:{language:7010},typ:{language:7011},tyr:{language:7012},tys:{language:7013},tyt:{language:7014},tyu:{language:7015},tyv:{language:7016},tyx:{language:7017},tyy:{language:7018},tyz:{language:7019},tza:{language:7020,extlang:8461},tzh:{language:7021},tzj:{language:7022},tzl:{language:7023},tzm:{language:7024},tzn:{language:7025},tzo:{language:7026},tzx:{language:7027},uam:{language:7028},uan:{language:7029},uar:{language:7030},uba:{language:7031},ubi:{language:7032},ubl:{language:7033},ubr:{language:7034},ubu:{language:7035},uby:{language:7036},uda:{language:7037},ude:{language:7038},udg:{language:7039},udi:{language:7040},udj:{language:7041},udl:{language:7042},udm:{language:7043},udu:{language:7044},ues:{language:7045},ufi:{language:7046},uga:{language:7047},ugb:{language:7048},uge:{language:7049},ugh:{language:7050},ugn:{language:7051,extlang:8462},ugo:{language:7052},ugy:{language:7053,extlang:8463},uha:{language:7054},uhn:{language:7055},uis:{language:7056},uiv:{language:7057},uji:{language:7058},uka:{language:7059},ukg:{language:7060},ukh:{language:7061},uki:{language:7062},ukk:{language:7063},ukl:{language:7064,extlang:8464},ukp:{language:7065},ukq:{language:7066},uks:{language:7067,extlang:8465},uku:{language:7068},ukv:{language:7069},ukw:{language:7070},uky:{language:7071},ula:{language:7072},ulb:{language:7073},ulc:{language:7074},ule:{language:7075},ulf:{language:7076},uli:{language:7077},ulk:{language:7078},ull:{language:7079},ulm:{language:7080},uln:{language:7081},ulu:{language:7082},ulw:{language:7083},uma:{language:7084},umb:{language:7085},umc:{language:7086},umd:{language:7087},umg:{language:7088},umi:{language:7089},umm:{language:7090},umn:{language:7091},umo:{language:7092},ump:{language:7093},umr:{language:7094},ums:{language:7095},umu:{language:7096},una:{language:7097},und:{language:7098},une:{language:7099},ung:{language:7100},uni:{language:7101},unk:{language:7102},unm:{language:7103},unn:{language:7104},unp:{language:7105},unr:{language:7106},unu:{language:7107},unx:{language:7108},unz:{language:7109},uok:{language:7110},uon:{language:7111},upi:{language:7112},upv:{language:7113},ura:{language:7114},urb:{language:7115},urc:{language:7116},ure:{language:7117},urf:{language:7118},urg:{language:7119},urh:{language:7120},uri:{language:7121},urj:{language:7122},urk:{language:7123,extlang:8466},url:{language:7124},urm:{language:7125},urn:{language:7126},uro:{language:7127},urp:{language:7128},urr:{language:7129},urt:{language:7130},uru:{language:7131},urv:{language:7132},urw:{language:7133},urx:{language:7134},ury:{language:7135},urz:{language:7136},usa:{language:7137},ush:{language:7138},usi:{language:7139},usk:{language:7140},usp:{language:7141},uss:{language:7142},usu:{language:7143},uta:{language:7144},ute:{language:7145},uth:{language:7146},utp:{language:7147},utr:{language:7148},utu:{language:7149},uum:{language:7150},uun:{language:7151},uur:{language:7152},uuu:{language:7153},uve:{language:7154},uvh:{language:7155},uvl:{language:7156},uwa:{language:7157},uya:{language:7158},uzn:{language:7159,extlang:8467},uzs:{language:7160,extlang:8468},vaa:{language:7161},vae:{language:7162},vaf:{language:7163},vag:{language:7164},vah:{language:7165},vai:{language:7166},vaj:{language:7167},val:{language:7168},vam:{language:7169},van:{language:7170},vao:{language:7171},vap:{language:7172},var:{language:7173},vas:{language:7174},vau:{language:7175},vav:{language:7176},vay:{language:7177},vbb:{language:7178},vbk:{language:7179},vec:{language:7180},ved:{language:7181},vel:{language:7182},vem:{language:7183},veo:{language:7184},vep:{language:7185},ver:{language:7186},vgr:{language:7187},vgt:{language:7188,extlang:8469},vic:{language:7189},vid:{language:7190},vif:{language:7191},vig:{language:7192},vil:{language:7193},vin:{language:7194},vis:{language:7195},vit:{language:7196},viv:{language:7197},vka:{language:7198},vki:{language:7199},vkj:{language:7200},vkk:{language:7201,extlang:8470},vkl:{language:7202},vkm:{language:7203},vkn:{language:7204},vko:{language:7205},vkp:{language:7206},vkt:{language:7207,extlang:8471},vku:{language:7208},vkz:{language:7209},vlp:{language:7210},vls:{language:7211},vma:{language:7212},vmb:{language:7213},vmc:{language:7214},vmd:{language:7215},vme:{language:7216},vmf:{language:7217},vmg:{language:7218},vmh:{language:7219},vmi:{language:7220},vmj:{language:7221},vmk:{language:7222},vml:{language:7223},vmm:{language:7224},vmp:{language:7225},vmq:{language:7226},vmr:{language:7227},vms:{language:7228},vmu:{language:7229},vmv:{language:7230},vmw:{language:7231},vmx:{language:7232},vmy:{language:7233},vmz:{language:7234},vnk:{language:7235},vnm:{language:7236},vnp:{language:7237},vor:{language:7238},vot:{language:7239},vra:{language:7240},vro:{language:7241},vrs:{language:7242},vrt:{language:7243},vsi:{language:7244,extlang:8472},vsl:{language:7245,extlang:8473},vsv:{language:7246,extlang:8474},vto:{language:7247},vum:{language:7248},vun:{language:7249},vut:{language:7250},vwa:{language:7251},waa:{language:7252},wab:{language:7253},wac:{language:7254},wad:{language:7255},wae:{language:7256},waf:{language:7257},wag:{language:7258},wah:{language:7259},wai:{language:7260},waj:{language:7261},wak:{language:7262},wal:{language:7263},wam:{language:7264},wan:{language:7265},wao:{language:7266},wap:{language:7267},waq:{language:7268},war:{language:7269},was:{language:7270},wat:{language:7271},wau:{language:7272},wav:{language:7273},waw:{language:7274},wax:{language:7275},way:{language:7276},waz:{language:7277},wba:{language:7278},wbb:{language:7279},wbe:{language:7280},wbf:{language:7281},wbh:{language:7282},wbi:{language:7283},wbj:{language:7284},wbk:{language:7285},wbl:{language:7286},wbm:{language:7287},wbp:{language:7288},wbq:{language:7289},wbr:{language:7290},wbs:{language:7291,extlang:8475},wbt:{language:7292},wbv:{language:7293},wbw:{language:7294},wca:{language:7295},wci:{language:7296},wdd:{language:7297},wdg:{language:7298},wdj:{language:7299},wdk:{language:7300},wdt:{language:7301},wdu:{language:7302},wdy:{language:7303},wea:{language:7304},wec:{language:7305},wed:{language:7306},weg:{language:7307},weh:{language:7308},wei:{language:7309},wem:{language:7310},wen:{language:7311},weo:{language:7312},wep:{language:7313},wer:{language:7314},wes:{language:7315},wet:{language:7316},weu:{language:7317},wew:{language:7318},wfg:{language:7319},wga:{language:7320},wgb:{language:7321},wgg:{language:7322},wgi:{language:7323},wgo:{language:7324},wgu:{language:7325},wgw:{language:7326},wgy:{language:7327},wha:{language:7328},whg:{language:7329},whk:{language:7330},whu:{language:7331},wib:{language:7332},wic:{language:7333},wie:{language:7334},wif:{language:7335},wig:{language:7336},wih:{language:7337},wii:{language:7338},wij:{language:7339},wik:{language:7340},wil:{language:7341},wim:{language:7342},win:{language:7343},wir:{language:7344},wit:{language:7345},wiu:{language:7346},wiv:{language:7347},wiw:{language:7348},wiy:{language:7349},wja:{language:7350},wji:{language:7351},wka:{language:7352},wkb:{language:7353},wkd:{language:7354},wkl:{language:7355},wkr:{language:7356},wku:{language:7357},wkw:{language:7358},wky:{language:7359},wla:{language:7360},wlc:{language:7361},wle:{language:7362},wlg:{language:7363},wlh:{language:7364},wli:{language:7365},wlk:{language:7366},wll:{language:7367},wlm:{language:7368},wlo:{language:7369},wlr:{language:7370},wls:{language:7371},wlu:{language:7372},wlv:{language:7373},wlw:{language:7374},wlx:{language:7375},wly:{language:7376},wma:{language:7377},wmb:{language:7378},wmc:{language:7379},wmd:{language:7380},wme:{language:7381},wmg:{language:7382},wmh:{language:7383},wmi:{language:7384},wmm:{language:7385},wmn:{language:7386},wmo:{language:7387},wms:{language:7388},wmt:{language:7389},wmw:{language:7390},wmx:{language:7391},wnb:{language:7392},wnc:{language:7393},wnd:{language:7394},wne:{language:7395},wng:{language:7396},wni:{language:7397},wnk:{language:7398},wnm:{language:7399},wnn:{language:7400},wno:{language:7401},wnp:{language:7402},wnu:{language:7403},wnw:{language:7404},wny:{language:7405},woa:{language:7406},wob:{language:7407},woc:{language:7408},wod:{language:7409},woe:{language:7410},wof:{language:7411},wog:{language:7412},woi:{language:7413},wok:{language:7414},wom:{language:7415},won:{language:7416},woo:{language:7417},wor:{language:7418},wos:{language:7419},wow:{language:7420},woy:{language:7421},wpc:{language:7422},wra:{language:7423},wrb:{language:7424},wrd:{language:7425},wrg:{language:7426},wrh:{language:7427},wri:{language:7428},wrk:{language:7429},wrl:{language:7430},wrm:{language:7431},wrn:{language:7432},wro:{language:7433},wrp:{language:7434},wrr:{language:7435},wrs:{language:7436},wru:{language:7437},wrv:{language:7438},wrw:{language:7439},wrx:{language:7440},wry:{language:7441},wrz:{language:7442},wsa:{language:7443},wsg:{language:7444},wsi:{language:7445},wsk:{language:7446},wsr:{language:7447},wss:{language:7448},wsu:{language:7449},wsv:{language:7450},wtf:{language:7451},wth:{language:7452},wti:{language:7453},wtk:{language:7454},wtm:{language:7455},wtw:{language:7456},wua:{language:7457},wub:{language:7458},wud:{language:7459},wuh:{language:7460},wul:{language:7461},wum:{language:7462},wun:{language:7463},wur:{language:7464},wut:{language:7465},wuu:{language:7466,extlang:8476},wuv:{language:7467},wux:{language:7468},wuy:{language:7469},wwa:{language:7470},wwb:{language:7471},wwo:{language:7472},wwr:{language:7473},www:{language:7474},wxa:{language:7475},wxw:{language:7476},wya:{language:7477},wyb:{language:7478},wyi:{language:7479},wym:{language:7480},wyn:{language:7481},wyr:{language:7482},wyy:{language:7483},xaa:{language:7484},xab:{language:7485},xac:{language:7486},xad:{language:7487},xae:{language:7488},xag:{language:7489},xai:{language:7490},xaj:{language:7491},xak:{language:7492},xal:{language:7493},xam:{language:7494},xan:{language:7495},xao:{language:7496},xap:{language:7497},xaq:{language:7498},xar:{language:7499},xas:{language:7500},xat:{language:7501},xau:{language:7502},xav:{language:7503},xaw:{language:7504},xay:{language:7505},xba:{language:7506},xbb:{language:7507},xbc:{language:7508},xbd:{language:7509},xbe:{language:7510},xbg:{language:7511},xbi:{language:7512},xbj:{language:7513},xbm:{language:7514},xbn:{language:7515},xbo:{language:7516},xbp:{language:7517},xbr:{language:7518},xbw:{language:7519},xbx:{language:7520},xby:{language:7521},xcb:{language:7522},xcc:{language:7523},xce:{language:7524},xcg:{language:7525},xch:{language:7526},xcl:{language:7527},xcm:{language:7528},xcn:{language:7529},xco:{language:7530},xcr:{language:7531},xct:{language:7532},xcu:{language:7533},xcv:{language:7534},xcw:{language:7535},xcy:{language:7536},xda:{language:7537},xdc:{language:7538},xdk:{language:7539},xdm:{language:7540},xdo:{language:7541},xdq:{language:7542},xdy:{language:7543},xeb:{language:7544},xed:{language:7545},xeg:{language:7546},xel:{language:7547},xem:{language:7548},xep:{language:7549},xer:{language:7550},xes:{language:7551},xet:{language:7552},xeu:{language:7553},xfa:{language:7554},xga:{language:7555},xgb:{language:7556},xgd:{language:7557},xgf:{language:7558},xgg:{language:7559},xgi:{language:7560},xgl:{language:7561},xgm:{language:7562},xgn:{language:7563},xgr:{language:7564},xgu:{language:7565},xgw:{language:7566},xha:{language:7567},xhc:{language:7568},xhd:{language:7569},xhe:{language:7570},xhm:{language:7571},xhr:{language:7572},xht:{language:7573},xhu:{language:7574},xhv:{language:7575},xia:{language:7576},xib:{language:7577},xii:{language:7578},xil:{language:7579},xin:{language:7580},xip:{language:7581},xir:{language:7582},xis:{language:7583},xiv:{language:7584},xiy:{language:7585},xjb:{language:7586},xjt:{language:7587},xka:{language:7588},xkb:{language:7589},xkc:{language:7590},xkd:{language:7591},xke:{language:7592},xkf:{language:7593},xkg:{language:7594},xkh:{language:7595},xki:{language:7596,extlang:8477},xkj:{language:7597},xkk:{language:7598},xkl:{language:7599},xkn:{language:7600},xko:{language:7601},xkp:{language:7602},xkq:{language:7603},xkr:{language:7604},xks:{language:7605},xkt:{language:7606},xku:{language:7607},xkv:{language:7608},xkw:{language:7609},xkx:{language:7610},xky:{language:7611},xkz:{language:7612},xla:{language:7613},xlb:{language:7614},xlc:{language:7615},xld:{language:7616},xle:{language:7617},xlg:{language:7618},xli:{language:7619},xln:{language:7620},xlo:{language:7621},xlp:{language:7622},xls:{language:7623},xlu:{language:7624},xly:{language:7625},xma:{language:7626},xmb:{language:7627},xmc:{language:7628},xmd:{language:7629},xme:{language:7630},xmf:{language:7631},xmg:{language:7632},xmh:{language:7633},xmj:{language:7634},xmk:{language:7635},xml:{language:7636,extlang:8478},xmm:{language:7637,extlang:8479},xmn:{language:7638},xmo:{language:7639},xmp:{language:7640},xmq:{language:7641},xmr:{language:7642},xms:{language:7643,extlang:8480},xmt:{language:7644},xmu:{language:7645},xmv:{language:7646},xmw:{language:7647},xmx:{language:7648},xmy:{language:7649},xmz:{language:7650},xna:{language:7651},xnb:{language:7652},xnd:{language:7653},xng:{language:7654},xnh:{language:7655},xni:{language:7656},xnj:{language:7657},xnk:{language:7658},xnm:{language:7659},xnn:{language:7660},xno:{language:7661},xnq:{language:7662},xnr:{language:7663},xns:{language:7664},xnt:{language:7665},xnu:{language:7666},xny:{language:7667},xnz:{language:7668},xoc:{language:7669},xod:{language:7670},xog:{language:7671},xoi:{language:7672},xok:{language:7673},xom:{language:7674},xon:{language:7675},xoo:{language:7676},xop:{language:7677},xor:{language:7678},xow:{language:7679},xpa:{language:7680},xpb:{language:7681},xpc:{language:7682},xpd:{language:7683},xpe:{language:7684},xpf:{language:7685},xpg:{language:7686},xph:{language:7687},xpi:{language:7688},xpj:{language:7689},xpk:{language:7690},xpl:{language:7691},xpm:{language:7692},xpn:{language:7693},xpo:{language:7694},xpp:{language:7695},xpq:{language:7696},xpr:{language:7697},xps:{language:7698},xpt:{language:7699},xpu:{language:7700},xpv:{language:7701},xpw:{language:7702},xpx:{language:7703},xpy:{language:7704},xpz:{language:7705},xqa:{language:7706},xqt:{language:7707},xra:{language:7708},xrb:{language:7709},xrd:{language:7710},xre:{language:7711},xrg:{language:7712},xri:{language:7713},xrm:{language:7714},xrn:{language:7715},xrq:{language:7716},xrr:{language:7717},xrt:{language:7718},xru:{language:7719},xrw:{language:7720},xsa:{language:7721},xsb:{language:7722},xsc:{language:7723},xsd:{language:7724},xse:{language:7725},xsh:{language:7726},xsi:{language:7727},xsj:{language:7728},xsl:{language:7729},xsm:{language:7730},xsn:{language:7731},xso:{language:7732},xsp:{language:7733},xsq:{language:7734},xsr:{language:7735},xss:{language:7736},xsu:{language:7737},xsv:{language:7738},xsy:{language:7739},xta:{language:7740},xtb:{language:7741},xtc:{language:7742},xtd:{language:7743},xte:{language:7744},xtg:{language:7745},xth:{language:7746},xti:{language:7747},xtj:{language:7748},xtl:{language:7749},xtm:{language:7750},xtn:{language:7751},xto:{language:7752},xtp:{language:7753},xtq:{language:7754},xtr:{language:7755},xts:{language:7756},xtt:{language:7757},xtu:{language:7758},xtv:{language:7759},xtw:{language:7760},xty:{language:7761},xtz:{language:7762},xua:{language:7763},xub:{language:7764},xud:{language:7765},xug:{language:7766},xuj:{language:7767},xul:{language:7768},xum:{language:7769},xun:{language:7770},xuo:{language:7771},xup:{language:7772},xur:{language:7773},xut:{language:7774},xuu:{language:7775},xve:{language:7776},xvi:{language:7777},xvn:{language:7778},xvo:{language:7779},xvs:{language:7780},xwa:{language:7781},xwc:{language:7782},xwd:{language:7783},xwe:{language:7784},xwg:{language:7785},xwj:{language:7786},xwk:{language:7787},xwl:{language:7788},xwo:{language:7789},xwr:{language:7790},xwt:{language:7791},xww:{language:7792},xxb:{language:7793},xxk:{language:7794},xxm:{language:7795},xxr:{language:7796},xxt:{language:7797},xya:{language:7798},xyb:{language:7799},xyj:{language:7800},xyk:{language:7801},xyl:{language:7802},xyt:{language:7803},xyy:{language:7804},xzh:{language:7805},xzm:{language:7806},xzp:{language:7807},yaa:{language:7808},yab:{language:7809},yac:{language:7810},yad:{language:7811},yae:{language:7812},yaf:{language:7813},yag:{language:7814},yah:{language:7815},yai:{language:7816},yaj:{language:7817},yak:{language:7818},yal:{language:7819},yam:{language:7820},yan:{language:7821},yao:{language:7822},yap:{language:7823},yaq:{language:7824},yar:{language:7825},yas:{language:7826},yat:{language:7827},yau:{language:7828},yav:{language:7829},yaw:{language:7830},yax:{language:7831},yay:{language:7832},yaz:{language:7833},yba:{language:7834},ybb:{language:7835},ybd:{language:7836},ybe:{language:7837},ybh:{language:7838},ybi:{language:7839},ybj:{language:7840},ybk:{language:7841},ybl:{language:7842},ybm:{language:7843},ybn:{language:7844},ybo:{language:7845},ybx:{language:7846},yby:{language:7847},ych:{language:7848},ycl:{language:7849},ycn:{language:7850},ycp:{language:7851},yda:{language:7852},ydd:{language:7853},yde:{language:7854},ydg:{language:7855},ydk:{language:7856},yds:{language:7857,extlang:8481},yea:{language:7858},yec:{language:7859},yee:{language:7860},yei:{language:7861},yej:{language:7862},yel:{language:7863},yen:{language:7864},yer:{language:7865},yes:{language:7866},yet:{language:7867},yeu:{language:7868},yev:{language:7869},yey:{language:7870},yga:{language:7871},ygi:{language:7872},ygl:{language:7873},ygm:{language:7874},ygp:{language:7875},ygr:{language:7876},ygs:{language:7877,extlang:8482},ygu:{language:7878},ygw:{language:7879},yha:{language:7880},yhd:{language:7881},yhl:{language:7882},yhs:{language:7883,extlang:8483},yia:{language:7884},yif:{language:7885},yig:{language:7886},yih:{language:7887},yii:{language:7888},yij:{language:7889},yik:{language:7890},yil:{language:7891},yim:{language:7892},yin:{language:7893},yip:{language:7894},yiq:{language:7895},yir:{language:7896},yis:{language:7897},yit:{language:7898},yiu:{language:7899},yiv:{language:7900},yix:{language:7901},yiy:{language:7902},yiz:{language:7903},yka:{language:7904},ykg:{language:7905},yki:{language:7906},ykk:{language:7907},ykl:{language:7908},ykm:{language:7909},ykn:{language:7910},yko:{language:7911},ykr:{language:7912},ykt:{language:7913},yku:{language:7914},yky:{language:7915},yla:{language:7916},ylb:{language:7917},yle:{language:7918},ylg:{language:7919},yli:{language:7920},yll:{language:7921},ylm:{language:7922},yln:{language:7923},ylo:{language:7924},ylr:{language:7925},ylu:{language:7926},yly:{language:7927},yma:{language:7928},ymb:{language:7929},ymc:{language:7930},ymd:{language:7931},yme:{language:7932},ymg:{language:7933},ymh:{language:7934},ymi:{language:7935},ymk:{language:7936},yml:{language:7937},ymm:{language:7938},ymn:{language:7939},ymo:{language:7940},ymp:{language:7941},ymq:{language:7942},ymr:{language:7943},yms:{language:7944},ymt:{language:7945},ymx:{language:7946},ymz:{language:7947},yna:{language:7948},ynd:{language:7949},yne:{language:7950},yng:{language:7951},ynh:{language:7952},ynk:{language:7953},ynl:{language:7954},ynn:{language:7955},yno:{language:7956},ynq:{language:7957},yns:{language:7958},ynu:{language:7959},yob:{language:7960},yog:{language:7961},yoi:{language:7962},yok:{language:7963},yol:{language:7964},yom:{language:7965},yon:{language:7966},yos:{language:7967},yot:{language:7968},yox:{language:7969},yoy:{language:7970},ypa:{language:7971},ypb:{language:7972},ypg:{language:7973},yph:{language:7974},ypk:{language:7975},ypm:{language:7976},ypn:{language:7977},ypo:{language:7978},ypp:{language:7979},ypz:{language:7980},yra:{language:7981},yrb:{language:7982},yre:{language:7983},yri:{language:7984},yrk:{language:7985},yrl:{language:7986},yrm:{language:7987},yrn:{language:7988},yro:{language:7989},yrs:{language:7990},yrw:{language:7991},yry:{language:7992},ysc:{language:7993},ysd:{language:7994},ysg:{language:7995},ysl:{language:7996,extlang:8484},ysm:{language:7997,extlang:8485},ysn:{language:7998},yso:{language:7999},ysp:{language:8e3},ysr:{language:8001},yss:{language:8002},ysy:{language:8003},yta:{language:8004},ytl:{language:8005},ytp:{language:8006},ytw:{language:8007},yty:{language:8008},yua:{language:8009},yub:{language:8010},yuc:{language:8011},yud:{language:8012},yue:{language:8013,extlang:8486},yuf:{language:8014},yug:{language:8015},yui:{language:8016},yuj:{language:8017},yuk:{language:8018},yul:{language:8019},yum:{language:8020},yun:{language:8021},yup:{language:8022},yuq:{language:8023},yur:{language:8024},yut:{language:8025},yuu:{language:8026},yuw:{language:8027},yux:{language:8028},yuy:{language:8029},yuz:{language:8030},yva:{language:8031},yvt:{language:8032},ywa:{language:8033},ywg:{language:8034},ywl:{language:8035},ywn:{language:8036},ywq:{language:8037},ywr:{language:8038},ywt:{language:8039},ywu:{language:8040},yww:{language:8041},yxa:{language:8042},yxg:{language:8043},yxl:{language:8044},yxm:{language:8045},yxu:{language:8046},yxy:{language:8047},yyr:{language:8048},yyu:{language:8049},yyz:{language:8050},yzg:{language:8051},yzk:{language:8052},zaa:{language:8053},zab:{language:8054},zac:{language:8055},zad:{language:8056},zae:{language:8057},zaf:{language:8058},zag:{language:8059},zah:{language:8060},zai:{language:8061},zaj:{language:8062},zak:{language:8063},zal:{language:8064},zam:{language:8065},zao:{language:8066},zap:{language:8067},zaq:{language:8068},zar:{language:8069},zas:{language:8070},zat:{language:8071},zau:{language:8072},zav:{language:8073},zaw:{language:8074},zax:{language:8075},zay:{language:8076},zaz:{language:8077},zba:{language:8078},zbc:{language:8079},zbe:{language:8080},zbl:{language:8081},zbt:{language:8082},zbu:{language:8083},zbw:{language:8084},zca:{language:8085},zcd:{language:8086},zch:{language:8087},zdj:{language:8088},zea:{language:8089},zeg:{language:8090},zeh:{language:8091},zen:{language:8092},zga:{language:8093},zgb:{language:8094},zgh:{language:8095},zgm:{language:8096},zgn:{language:8097},zgr:{language:8098},zhb:{language:8099},zhd:{language:8100},zhi:{language:8101},zhn:{language:8102},zhw:{language:8103},zhx:{language:8104},zia:{language:8105},zib:{language:8106,extlang:8487},zik:{language:8107},zil:{language:8108},zim:{language:8109},zin:{language:8110},zir:{language:8111},ziw:{language:8112},ziz:{language:8113},zka:{language:8114},zkb:{language:8115},zkd:{language:8116},zkg:{language:8117},zkh:{language:8118},zkk:{language:8119},zkn:{language:8120},zko:{language:8121},zkp:{language:8122},zkr:{language:8123},zkt:{language:8124},zku:{language:8125},zkv:{language:8126},zkz:{language:8127},zla:{language:8128},zle:{language:8129},zlj:{language:8130},zlm:{language:8131,extlang:8488},zln:{language:8132},zlq:{language:8133},zls:{language:8134},zlw:{language:8135},zma:{language:8136},zmb:{language:8137},zmc:{language:8138},zmd:{language:8139},zme:{language:8140},zmf:{language:8141},zmg:{language:8142},zmh:{language:8143},zmi:{language:8144,extlang:8489},zmj:{language:8145},zmk:{language:8146},zml:{language:8147},zmm:{language:8148},zmn:{language:8149},zmo:{language:8150},zmp:{language:8151},zmq:{language:8152},zmr:{language:8153},zms:{language:8154},zmt:{language:8155},zmu:{language:8156},zmv:{language:8157},zmw:{language:8158},zmx:{language:8159},zmy:{language:8160},zmz:{language:8161},zna:{language:8162},znd:{language:8163},zne:{language:8164},zng:{language:8165},znk:{language:8166},zns:{language:8167},zoc:{language:8168},zoh:{language:8169},zom:{language:8170},zoo:{language:8171},zoq:{language:8172},zor:{language:8173},zos:{language:8174},zpa:{language:8175},zpb:{language:8176},zpc:{language:8177},zpd:{language:8178},zpe:{language:8179},zpf:{language:8180},zpg:{language:8181},zph:{language:8182},zpi:{language:8183},zpj:{language:8184},zpk:{language:8185},zpl:{language:8186},zpm:{language:8187},zpn:{language:8188},zpo:{language:8189},zpp:{language:8190},zpq:{language:8191},zpr:{language:8192},zps:{language:8193},zpt:{language:8194},zpu:{language:8195},zpv:{language:8196},zpw:{language:8197},zpx:{language:8198},zpy:{language:8199},zpz:{language:8200},zqe:{language:8201},zra:{language:8202},zrg:{language:8203},zrn:{language:8204},zro:{language:8205},zrp:{language:8206},zrs:{language:8207},zsa:{language:8208},zsk:{language:8209},zsl:{language:8210,extlang:8490},zsm:{language:8211,extlang:8491},zsr:{language:8212},zsu:{language:8213},zte:{language:8214},ztg:{language:8215},ztl:{language:8216},ztm:{language:8217},ztn:{language:8218},ztp:{language:8219},ztq:{language:8220},zts:{language:8221},ztt:{language:8222},ztu:{language:8223},ztx:{language:8224},zty:{language:8225},zua:{language:8226},zuh:{language:8227},zum:{language:8228},zun:{language:8229},zuy:{language:8230},zwa:{language:8231},zxx:{language:8232},zyb:{language:8233},zyg:{language:8234},zyj:{language:8235},zyn:{language:8236},zyp:{language:8237},zza:{language:8238},zzj:{language:8239},adlm:{script:8492},afak:{script:8493},aghb:{script:8494},ahom:{script:8495},arab:{script:8496},aran:{script:8497},armi:{script:8498},armn:{script:8499},avst:{script:8500},bali:{script:8501},bamu:{script:8502},bass:{script:8503},batk:{script:8504},beng:{script:8505},bhks:{script:8506},blis:{script:8507},bopo:{script:8508},brah:{script:8509},brai:{script:8510},bugi:{script:8511},buhd:{script:8512},cakm:{script:8513},cans:{script:8514},cari:{script:8515},cham:{script:8516},cher:{script:8517},chrs:{script:8518},cirt:{script:8519},copt:{script:8520},cpmn:{script:8521},cprt:{script:8522},cyrl:{script:8523},cyrs:{script:8524},deva:{script:8525},diak:{script:8526},dogr:{script:8527},dsrt:{script:8528},dupl:{script:8529},egyd:{script:8530},egyh:{script:8531},egyp:{script:8532},elba:{script:8533},elym:{script:8534},ethi:{script:8535},geok:{script:8536},geor:{script:8537},glag:{script:8538},gong:{script:8539},gonm:{script:8540},goth:{script:8541},gran:{script:8542},grek:{script:8543},gujr:{script:8544},guru:{script:8545},hanb:{script:8546},hang:{script:8547},hani:{script:8548},hano:{script:8549},hans:{script:8550},hant:{script:8551},hatr:{script:8552},hebr:{script:8553},hira:{script:8554},hluw:{script:8555},hmng:{script:8556},hmnp:{script:8557},hrkt:{script:8558},hung:{script:8559},inds:{script:8560},ital:{script:8561},jamo:{script:8562},java:{script:8563},jpan:{script:8564},jurc:{script:8565},kali:{script:8566},kana:{script:8567},kawi:{script:8568},khar:{script:8569},khmr:{script:8570},khoj:{script:8571},kitl:{script:8572},kits:{script:8573},knda:{script:8574},kore:{script:8575},kpel:{script:8576},kthi:{script:8577},lana:{script:8578},laoo:{script:8579},latf:{script:8580},latg:{script:8581},latn:{script:8582},leke:{script:8583},lepc:{script:8584},limb:{script:8585},lina:{script:8586},linb:{script:8587},lisu:{script:8588},loma:{script:8589},lyci:{script:8590},lydi:{script:8591},mahj:{script:8592},maka:{script:8593},mand:{script:8594},mani:{script:8595},marc:{script:8596},maya:{script:8597},medf:{script:8598},mend:{script:8599},merc:{script:8600},mero:{script:8601},mlym:{script:8602},modi:{script:8603},mong:{script:8604},moon:{script:8605},mroo:{script:8606},mtei:{script:8607},mult:{script:8608},mymr:{script:8609},nagm:{script:8610},nand:{script:8611},narb:{script:8612},nbat:{script:8613},newa:{script:8614},nkdb:{script:8615},nkgb:{script:8616},nkoo:{script:8617},nshu:{script:8618},ogam:{script:8619},olck:{script:8620},orkh:{script:8621},orya:{script:8622},osge:{script:8623},osma:{script:8624},ougr:{script:8625},palm:{script:8626},pauc:{script:8627},pcun:{script:8628},pelm:{script:8629},perm:{script:8630},phag:{script:8631},phli:{script:8632},phlp:{script:8633},phlv:{script:8634},phnx:{script:8635},piqd:{script:8636},plrd:{script:8637},prti:{script:8638},psin:{script:8639},"qaaa..qabx":{script:8640},ranj:{script:8641},rjng:{script:8642},rohg:{script:8643},roro:{script:8644},runr:{script:8645},samr:{script:8646},sara:{script:8647},sarb:{script:8648},saur:{script:8649},sgnw:{script:8650},shaw:{script:8651},shrd:{script:8652},shui:{script:8653},sidd:{script:8654},sind:{script:8655},sinh:{script:8656},sogd:{script:8657},sogo:{script:8658},sora:{script:8659},soyo:{script:8660},sund:{script:8661},sunu:{script:8662},sylo:{script:8663},syrc:{script:8664},syre:{script:8665},syrj:{script:8666},syrn:{script:8667},tagb:{script:8668},takr:{script:8669},tale:{script:8670},talu:{script:8671},taml:{script:8672},tang:{script:8673},tavt:{script:8674},telu:{script:8675},teng:{script:8676},tfng:{script:8677},tglg:{script:8678},thaa:{script:8679},thai:{script:8680},tibt:{script:8681},tirh:{script:8682},tnsa:{script:8683},toto:{script:8684},ugar:{script:8685},vaii:{script:8686},visp:{script:8687},vith:{script:8688},wara:{script:8689},wcho:{script:8690},wole:{script:8691},xpeo:{script:8692},xsux:{script:8693},yezi:{script:8694},yiii:{script:8695},zanb:{script:8696},zinh:{script:8697},zmth:{script:8698},zsye:{script:8699},zsym:{script:8700},zxxx:{script:8701},zyyy:{script:8702},zzzz:{script:8703},ac:{region:8705},ad:{region:8706},ag:{region:8709},ai:{region:8710},al:{region:8711},ao:{region:8714},aq:{region:8715},at:{region:8718},au:{region:8719},aw:{region:8720},ax:{region:8721},bb:{region:8724},bd:{region:8725},bf:{region:8727},bj:{region:8731},bl:{region:8732},bq:{region:8736},bt:{region:8739},bu:{region:8740},bv:{region:8741},bw:{region:8742},by:{region:8743},bz:{region:8744},cc:{region:8746},cd:{region:8747},cf:{region:8748},cg:{region:8749},ci:{region:8751},ck:{region:8752},cl:{region:8753},cm:{region:8754},cn:{region:8755},cp:{region:8757},cw:{region:8762},cx:{region:8763},cz:{region:8765},dd:{region:8766},dg:{region:8768},dj:{region:8769},dk:{region:8770},dm:{region:8771},do:{region:8772},ea:{region:8774},ec:{region:8775},eg:{region:8777},eh:{region:8778},er:{region:8779},ez:{region:8783},fk:{region:8786},fm:{region:8787},fx:{region:8790},gb:{region:8792},ge:{region:8794},gf:{region:8795},gg:{region:8796},gh:{region:8797},gi:{region:8798},gm:{region:8800},gp:{region:8802},gq:{region:8803},gr:{region:8804},gs:{region:8805},gt:{region:8806},gw:{region:8808},gy:{region:8809},hk:{region:8810},hm:{region:8811},hn:{region:8812},ic:{region:8816},il:{region:8819},im:{region:8820},iq:{region:8823},ir:{region:8824},je:{region:8827},jm:{region:8828},jo:{region:8829},jp:{region:8830},ke:{region:8831},kh:{region:8833},kp:{region:8837},kz:{region:8841},lc:{region:8844},lk:{region:8846},lr:{region:8847},ls:{region:8848},ly:{region:8852},ma:{region:8853},mc:{region:8854},md:{region:8855},me:{region:8856},mf:{region:8857},mm:{region:8862},mp:{region:8865},mq:{region:8866},mu:{region:8870},mv:{region:8871},mw:{region:8872},mx:{region:8873},mz:{region:8875},nc:{region:8877},nf:{region:8879},ni:{region:8881},np:{region:8884},nt:{region:8886},nu:{region:8887},nz:{region:8888},pe:{region:8891},pf:{region:8892},pg:{region:8893},ph:{region:8894},pk:{region:8895},pm:{region:8897},pn:{region:8898},pr:{region:8899},pw:{region:8902},py:{region:8903},qa:{region:8904},"qm..qz":{region:8905},re:{region:8906},rs:{region:8908},sb:{region:8912},sj:{region:8919},sx:{region:8930},sy:{region:8931},sz:{region:8932},tc:{region:8934},td:{region:8935},tf:{region:8936},tj:{region:8939},tm:{region:8942},tp:{region:8945},tv:{region:8948},tz:{region:8950},ua:{region:8951},um:{region:8953},un:{region:8954},us:{region:8955},uy:{region:8956},va:{region:8958},vc:{region:8959},vg:{region:8961},vn:{region:8963},vu:{region:8964},wf:{region:8965},ws:{region:8966},"xa..xz":{region:8967},yd:{region:8968},ye:{region:8969},yt:{region:8970},yu:{region:8971},zm:{region:8973},zr:{region:8974},zw:{region:8975},zz:{region:8976},"001":{region:8977},"002":{region:8978},"003":{region:8979},"005":{region:8980},"009":{region:8981},"011":{region:8982},"013":{region:8983},"014":{region:8984},"015":{region:8985},"017":{region:8986},"018":{region:8987},"019":{region:8988},"021":{region:8989},"029":{region:8990},"030":{region:8991},"034":{region:8992},"035":{region:8993},"039":{region:8994},"053":{region:8995},"054":{region:8996},"057":{region:8997},"061":{region:8998},"1606nict":{variant:9008},"1694acad":{variant:9009},"1959acad":{variant:9011},abl1943:{variant:9014},akuapem:{variant:9015},alalc97:{variant:9016},aluku:{variant:9017},ao1990:{variant:9018},aranes:{variant:9019},arevela:{variant:9020},arevmda:{variant:9021},arkaika:{variant:9022},asante:{variant:9023},auvern:{variant:9024},baku1926:{variant:9025},balanka:{variant:9026},barla:{variant:9027},basiceng:{variant:9028},bauddha:{variant:9029},biscayan:{variant:9030},biske:{variant:9031},bohoric:{variant:9032},boont:{variant:9033},bornholm:{variant:9034},cisaup:{variant:9035},colb1945:{variant:9036},cornu:{variant:9037},creiss:{variant:9038},dajnko:{variant:9039},ekavsk:{variant:9040},emodeng:{variant:9041},fonipa:{variant:9042},fonkirsh:{variant:9043},fonnapa:{variant:9044},fonupa:{variant:9045},fonxsamp:{variant:9046},gallo:{variant:9047},gascon:{variant:9048},grclass:{variant:9049},grital:{variant:9050},grmistr:{variant:9051},hepburn:{variant:9052},heploc:{variant:9053},hognorsk:{variant:9054},hsistemo:{variant:9055},ijekavsk:{variant:9056},itihasa:{variant:9057},ivanchov:{variant:9058},jauer:{variant:9059},jyutping:{variant:9060},kkcor:{variant:9061},kociewie:{variant:9062},kscor:{variant:9063},laukika:{variant:9064},lemosin:{variant:9065},lengadoc:{variant:9066},lipaw:{variant:9067},ltg2007:{variant:9068},luna1918:{variant:9069},metelko:{variant:9070},monoton:{variant:9071},ndyuka:{variant:9072},nedis:{variant:9073},newfound:{variant:9074},nicard:{variant:9075},njiva:{variant:9076},nulik:{variant:9077},osojs:{variant:9078},oxendict:{variant:9079},pahawh2:{variant:9080},pahawh3:{variant:9081},pahawh4:{variant:9082},pamaka:{variant:9083},peano:{variant:9084},petr1708:{variant:9085},pinyin:{variant:9086},polyton:{variant:9087},provenc:{variant:9088},puter:{variant:9089},rigik:{variant:9090},rozaj:{variant:9091},rumgr:{variant:9092},scotland:{variant:9093},scouse:{variant:9094},simple:{variant:9095},solba:{variant:9096},sotav:{variant:9097},spanglis:{variant:9098},surmiran:{variant:9099},sursilv:{variant:9100},sutsilv:{variant:9101},synnejyl:{variant:9102},tarask:{variant:9103},tongyong:{variant:9104},tunumiit:{variant:9105},uccor:{variant:9106},ucrcor:{variant:9107},ulster:{variant:9108},unifon:{variant:9109},vaidika:{variant:9110},valencia:{variant:9111},vallader:{variant:9112},vecdruka:{variant:9113},vivaraup:{variant:9114},wadegile:{variant:9115},xsistemo:{variant:9116},"art-lojban":{grandfathered:9117},"cel-gaulish":{grandfathered:9118},"en-gb-oed":{grandfathered:9119},"i-ami":{grandfathered:9120},"i-bnn":{grandfathered:9121},"i-default":{grandfathered:9122},"i-enochian":{grandfathered:9123},"i-hak":{grandfathered:9124},"i-klingon":{grandfathered:9125},"i-lux":{grandfathered:9126},"i-mingo":{grandfathered:9127},"i-navajo":{grandfathered:9128},"i-pwn":{grandfathered:9129},"i-tao":{grandfathered:9130},"i-tay":{grandfathered:9131},"i-tsu":{grandfathered:9132},"no-bok":{grandfathered:9133},"no-nyn":{grandfathered:9134},"sgn-be-fr":{grandfathered:9135},"sgn-be-nl":{grandfathered:9136},"sgn-ch-de":{grandfathered:9137},"zh-guoyu":{grandfathered:9138},"zh-hakka":{grandfathered:9139},"zh-min":{grandfathered:9140},"zh-min-nan":{grandfathered:9141},"zh-xiang":{grandfathered:9142},"az-arab":{redundant:9143},"az-cyrl":{redundant:9144},"az-latn":{redundant:9145},"be-latn":{redundant:9146},"bs-cyrl":{redundant:9147},"bs-latn":{redundant:9148},"de-1901":{redundant:9149},"de-1996":{redundant:9150},"de-at-1901":{redundant:9151},"de-at-1996":{redundant:9152},"de-ch-1901":{redundant:9153},"de-ch-1996":{redundant:9154},"de-de-1901":{redundant:9155},"de-de-1996":{redundant:9156},"en-boont":{redundant:9157},"en-scouse":{redundant:9158},"es-419":{redundant:9159},"iu-cans":{redundant:9160},"iu-latn":{redundant:9161},"mn-cyrl":{redundant:9162},"mn-mong":{redundant:9163},"sgn-br":{redundant:9164},"sgn-co":{redundant:9165},"sgn-de":{redundant:9166},"sgn-dk":{redundant:9167},"sgn-es":{redundant:9168},"sgn-fr":{redundant:9169},"sgn-gb":{redundant:9170},"sgn-gr":{redundant:9171},"sgn-ie":{redundant:9172},"sgn-it":{redundant:9173},"sgn-jp":{redundant:9174},"sgn-mx":{redundant:9175},"sgn-ni":{redundant:9176},"sgn-nl":{redundant:9177},"sgn-no":{redundant:9178},"sgn-pt":{redundant:9179},"sgn-se":{redundant:9180},"sgn-us":{redundant:9181},"sgn-za":{redundant:9182},"sl-nedis":{redundant:9183},"sl-rozaj":{redundant:9184},"sr-cyrl":{redundant:9185},"sr-latn":{redundant:9186},"tg-arab":{redundant:9187},"tg-cyrl":{redundant:9188},"uz-cyrl":{redundant:9189},"uz-latn":{redundant:9190},"yi-latn":{redundant:9191},"zh-cmn":{redundant:9192},"zh-cmn-hans":{redundant:9193},"zh-cmn-hant":{redundant:9194},"zh-gan":{redundant:9195},"zh-hans":{redundant:9196},"zh-hans-cn":{redundant:9197},"zh-hans-hk":{redundant:9198},"zh-hans-mo":{redundant:9199},"zh-hans-sg":{redundant:9200},"zh-hans-tw":{redundant:9201},"zh-hant":{redundant:9202},"zh-hant-cn":{redundant:9203},"zh-hant-hk":{redundant:9204},"zh-hant-mo":{redundant:9205},"zh-hant-sg":{redundant:9206},"zh-hant-tw":{redundant:9207},"zh-wuu":{redundant:9208},"zh-yue":{redundant:9209}};var D6={};Object.defineProperty(D6,"__esModule",{value:!0});D6.default={aa:0,ab:1,ae:2,af:3,ak:4,am:5,an:6,ar:7,as:8,av:9,ay:10,az:11,ba:12,be:13,bg:14,bh:15,bi:16,bm:17,bn:18,bo:19,br:20,bs:21,ca:22,ce:23,ch:24,co:25,cr:26,cs:27,cu:28,cv:29,cy:30,da:31,de:32,dv:33,dz:34,ee:35,el:36,en:37,eo:38,es:39,et:40,eu:41,fa:42,ff:43,fi:44,fj:45,fo:46,fr:47,fy:48,ga:49,gd:50,gl:51,gn:52,gu:53,gv:54,ha:55,he:56,hi:57,ho:58,hr:59,ht:60,hu:61,hy:62,hz:63,ia:64,id:65,ie:66,ig:67,ii:68,ik:69,in:70,io:71,is:72,it:73,iu:74,iw:75,ja:76,ji:77,jv:78,jw:79,ka:80,kg:81,ki:82,kj:83,kk:84,kl:85,km:86,kn:87,ko:88,kr:89,ks:90,ku:91,kv:92,kw:93,ky:94,la:95,lb:96,lg:97,li:98,ln:99,lo:100,lt:101,lu:102,lv:103,mg:104,mh:105,mi:106,mk:107,ml:108,mn:109,mo:110,mr:111,ms:112,mt:113,my:114,na:115,nb:116,nd:117,ne:118,ng:119,nl:120,nn:121,no:122,nr:123,nv:124,ny:125,oc:126,oj:127,om:128,or:129,os:130,pa:131,pi:132,pl:133,ps:134,pt:135,qu:136,rm:137,rn:138,ro:139,ru:140,rw:141,sa:142,sc:143,sd:144,se:145,sg:146,sh:147,si:148,sk:149,sl:150,sm:151,sn:152,so:153,sq:154,sr:155,ss:156,st:157,su:158,sv:159,sw:160,ta:161,te:162,tg:163,th:164,ti:165,tk:166,tl:167,tn:168,to:169,tr:170,ts:171,tt:172,tw:173,ty:174,ug:175,uk:176,ur:177,uz:178,ve:179,vi:180,vo:181,wa:182,wo:183,xh:184,yi:185,yo:186,za:187,zh:188,zu:189,aaa:190,aab:191,aac:192,aad:193,aae:194,aaf:195,aag:196,aah:197,aai:198,aak:199,aal:200,aam:201,aan:202,aao:203,aap:204,aaq:205,aas:206,aat:207,aau:208,aav:209,aaw:210,aax:211,aaz:212,aba:213,abb:214,abc:215,abd:216,abe:217,abf:218,abg:219,abh:220,abi:221,abj:222,abl:223,abm:224,abn:225,abo:226,abp:227,abq:228,abr:229,abs:230,abt:231,abu:232,abv:233,abw:234,abx:235,aby:236,abz:237,aca:238,acb:239,acd:240,ace:241,acf:242,ach:243,aci:244,ack:245,acl:246,acm:247,acn:248,acp:249,acq:250,acr:251,acs:252,act:253,acu:254,acv:255,acw:256,acx:257,acy:258,acz:259,ada:260,adb:261,add:262,ade:263,adf:264,adg:265,adh:266,adi:267,adj:268,adl:269,adn:270,ado:271,adp:272,adq:273,adr:274,ads:275,adt:276,adu:277,adw:278,adx:279,ady:280,adz:281,aea:282,aeb:283,aec:284,aed:285,aee:286,aek:287,ael:288,aem:289,aen:290,aeq:291,aer:292,aes:293,aeu:294,aew:295,aey:296,aez:297,afa:298,afb:299,afd:300,afe:301,afg:302,afh:303,afi:304,afk:305,afn:306,afo:307,afp:308,afs:309,aft:310,afu:311,afz:312,aga:313,agb:314,agc:315,agd:316,age:317,agf:318,agg:319,agh:320,agi:321,agj:322,agk:323,agl:324,agm:325,agn:326,ago:327,agp:328,agq:329,agr:330,ags:331,agt:332,agu:333,agv:334,agw:335,agx:336,agy:337,agz:338,aha:339,ahb:340,ahg:341,ahh:342,ahi:343,ahk:344,ahl:345,ahm:346,ahn:347,aho:348,ahp:349,ahr:350,ahs:351,aht:352,aia:353,aib:354,aic:355,aid:356,aie:357,aif:358,aig:359,aih:360,aii:361,aij:362,aik:363,ail:364,aim:365,ain:366,aio:367,aip:368,aiq:369,air:370,ais:371,ait:372,aiw:373,aix:374,aiy:375,aja:376,ajg:377,aji:378,ajn:379,ajp:380,ajs:381,ajt:382,aju:383,ajw:384,ajz:385,akb:386,akc:387,akd:388,ake:389,akf:390,akg:391,akh:392,aki:393,akj:394,akk:395,akl:396,akm:397,ako:398,akp:399,akq:400,akr:401,aks:402,akt:403,aku:404,akv:405,akw:406,akx:407,aky:408,akz:409,ala:410,alc:411,ald:412,ale:413,alf:414,alg:415,alh:416,ali:417,alj:418,alk:419,all:420,alm:421,aln:422,alo:423,alp:424,alq:425,alr:426,als:427,alt:428,alu:429,alv:430,alw:431,alx:432,aly:433,alz:434,ama:435,amb:436,amc:437,ame:438,amf:439,amg:440,ami:441,amj:442,amk:443,aml:444,amm:445,amn:446,amo:447,amp:448,amq:449,amr:450,ams:451,amt:452,amu:453,amv:454,amw:455,amx:456,amy:457,amz:458,ana:459,anb:460,anc:461,and:462,ane:463,anf:464,ang:465,anh:466,ani:467,anj:468,ank:469,anl:470,anm:471,ann:472,ano:473,anp:474,anq:475,anr:476,ans:477,ant:478,anu:479,anv:480,anw:481,anx:482,any:483,anz:484,aoa:485,aob:486,aoc:487,aod:488,aoe:489,aof:490,aog:491,aoh:492,aoi:493,aoj:494,aok:495,aol:496,aom:497,aon:498,aor:499,aos:500,aot:501,aou:502,aox:503,aoz:504,apa:505,apb:506,apc:507,apd:508,ape:509,apf:510,apg:511,aph:512,api:513,apj:514,apk:515,apl:516,apm:517,apn:518,apo:519,app:520,apq:521,apr:522,aps:523,apt:524,apu:525,apv:526,apw:527,apx:528,apy:529,apz:530,aqa:531,aqc:532,aqd:533,aqg:534,aqk:535,aql:536,aqm:537,aqn:538,aqp:539,aqr:540,aqt:541,aqz:542,arb:543,arc:544,ard:545,are:546,arh:547,ari:548,arj:549,ark:550,arl:551,arn:552,aro:553,arp:554,arq:555,arr:556,ars:557,art:558,aru:559,arv:560,arw:561,arx:562,ary:563,arz:564,asa:565,asb:566,asc:567,asd:568,ase:569,asf:570,asg:571,ash:572,asi:573,asj:574,ask:575,asl:576,asn:577,aso:578,asp:579,asq:580,asr:581,ass:582,ast:583,asu:584,asv:585,asw:586,asx:587,asy:588,asz:589,ata:590,atb:591,atc:592,atd:593,ate:594,atg:595,ath:596,ati:597,atj:598,atk:599,atl:600,atm:601,atn:602,ato:603,atp:604,atq:605,atr:606,ats:607,att:608,atu:609,atv:610,atw:611,atx:612,aty:613,atz:614,aua:615,aub:616,auc:617,aud:618,aue:619,auf:620,aug:621,auh:622,aui:623,auj:624,auk:625,aul:626,aum:627,aun:628,auo:629,aup:630,auq:631,aur:632,aus:633,aut:634,auu:635,auw:636,aux:637,auy:638,auz:639,avb:640,avd:641,avi:642,avk:643,avl:644,avm:645,avn:646,avo:647,avs:648,avt:649,avu:650,avv:651,awa:652,awb:653,awc:654,awd:655,awe:656,awg:657,awh:658,awi:659,awk:660,awm:661,awn:662,awo:663,awr:664,aws:665,awt:666,awu:667,awv:668,aww:669,awx:670,awy:671,axb:672,axe:673,axg:674,axk:675,axl:676,axm:677,axx:678,aya:679,ayb:680,ayc:681,ayd:682,aye:683,ayg:684,ayh:685,ayi:686,ayk:687,ayl:688,ayn:689,ayo:690,ayp:691,ayq:692,ayr:693,ays:694,ayt:695,ayu:696,ayx:697,ayy:698,ayz:699,aza:700,azb:701,azc:702,azd:703,azg:704,azj:705,azm:706,azn:707,azo:708,azt:709,azz:710,baa:711,bab:712,bac:713,bad:714,bae:715,baf:716,bag:717,bah:718,bai:719,baj:720,bal:721,ban:722,bao:723,bap:724,bar:725,bas:726,bat:727,bau:728,bav:729,baw:730,bax:731,bay:732,baz:733,bba:734,bbb:735,bbc:736,bbd:737,bbe:738,bbf:739,bbg:740,bbh:741,bbi:742,bbj:743,bbk:744,bbl:745,bbm:746,bbn:747,bbo:748,bbp:749,bbq:750,bbr:751,bbs:752,bbt:753,bbu:754,bbv:755,bbw:756,bbx:757,bby:758,bbz:759,bca:760,bcb:761,bcc:762,bcd:763,bce:764,bcf:765,bcg:766,bch:767,bci:768,bcj:769,bck:770,bcl:771,bcm:772,bcn:773,bco:774,bcp:775,bcq:776,bcr:777,bcs:778,bct:779,bcu:780,bcv:781,bcw:782,bcy:783,bcz:784,bda:785,bdb:786,bdc:787,bdd:788,bde:789,bdf:790,bdg:791,bdh:792,bdi:793,bdj:794,bdk:795,bdl:796,bdm:797,bdn:798,bdo:799,bdp:800,bdq:801,bdr:802,bds:803,bdt:804,bdu:805,bdv:806,bdw:807,bdx:808,bdy:809,bdz:810,bea:811,beb:812,bec:813,bed:814,bee:815,bef:816,beg:817,beh:818,bei:819,bej:820,bek:821,bem:822,beo:823,bep:824,beq:825,ber:826,bes:827,bet:828,beu:829,bev:830,bew:831,bex:832,bey:833,bez:834,bfa:835,bfb:836,bfc:837,bfd:838,bfe:839,bff:840,bfg:841,bfh:842,bfi:843,bfj:844,bfk:845,bfl:846,bfm:847,bfn:848,bfo:849,bfp:850,bfq:851,bfr:852,bfs:853,bft:854,bfu:855,bfw:856,bfx:857,bfy:858,bfz:859,bga:860,bgb:861,bgc:862,bgd:863,bge:864,bgf:865,bgg:866,bgi:867,bgj:868,bgk:869,bgl:870,bgm:871,bgn:872,bgo:873,bgp:874,bgq:875,bgr:876,bgs:877,bgt:878,bgu:879,bgv:880,bgw:881,bgx:882,bgy:883,bgz:884,bha:885,bhb:886,bhc:887,bhd:888,bhe:889,bhf:890,bhg:891,bhh:892,bhi:893,bhj:894,bhk:895,bhl:896,bhm:897,bhn:898,bho:899,bhp:900,bhq:901,bhr:902,bhs:903,bht:904,bhu:905,bhv:906,bhw:907,bhx:908,bhy:909,bhz:910,bia:911,bib:912,bic:913,bid:914,bie:915,bif:916,big:917,bij:918,bik:919,bil:920,bim:921,bin:922,bio:923,bip:924,biq:925,bir:926,bit:927,biu:928,biv:929,biw:930,bix:931,biy:932,biz:933,bja:934,bjb:935,bjc:936,bjd:937,bje:938,bjf:939,bjg:940,bjh:941,bji:942,bjj:943,bjk:944,bjl:945,bjm:946,bjn:947,bjo:948,bjp:949,bjq:950,bjr:951,bjs:952,bjt:953,bju:954,bjv:955,bjw:956,bjx:957,bjy:958,bjz:959,bka:960,bkb:961,bkc:962,bkd:963,bkf:964,bkg:965,bkh:966,bki:967,bkj:968,bkk:969,bkl:970,bkm:971,bkn:972,bko:973,bkp:974,bkq:975,bkr:976,bks:977,bkt:978,bku:979,bkv:980,bkw:981,bkx:982,bky:983,bkz:984,bla:985,blb:986,blc:987,bld:988,ble:989,blf:990,blg:991,blh:992,bli:993,blj:994,blk:995,bll:996,blm:997,bln:998,blo:999,blp:1e3,blq:1001,blr:1002,bls:1003,blt:1004,blv:1005,blw:1006,blx:1007,bly:1008,blz:1009,bma:1010,bmb:1011,bmc:1012,bmd:1013,bme:1014,bmf:1015,bmg:1016,bmh:1017,bmi:1018,bmj:1019,bmk:1020,bml:1021,bmm:1022,bmn:1023,bmo:1024,bmp:1025,bmq:1026,bmr:1027,bms:1028,bmt:1029,bmu:1030,bmv:1031,bmw:1032,bmx:1033,bmy:1034,bmz:1035,bna:1036,bnb:1037,bnc:1038,bnd:1039,bne:1040,bnf:1041,bng:1042,bni:1043,bnj:1044,bnk:1045,bnl:1046,bnm:1047,bnn:1048,bno:1049,bnp:1050,bnq:1051,bnr:1052,bns:1053,bnt:1054,bnu:1055,bnv:1056,bnw:1057,bnx:1058,bny:1059,bnz:1060,boa:1061,bob:1062,boe:1063,bof:1064,bog:1065,boh:1066,boi:1067,boj:1068,bok:1069,bol:1070,bom:1071,bon:1072,boo:1073,bop:1074,boq:1075,bor:1076,bot:1077,bou:1078,bov:1079,bow:1080,box:1081,boy:1082,boz:1083,bpa:1084,bpb:1085,bpc:1086,bpd:1087,bpe:1088,bpg:1089,bph:1090,bpi:1091,bpj:1092,bpk:1093,bpl:1094,bpm:1095,bpn:1096,bpo:1097,bpp:1098,bpq:1099,bpr:1100,bps:1101,bpt:1102,bpu:1103,bpv:1104,bpw:1105,bpx:1106,bpy:1107,bpz:1108,bqa:1109,bqb:1110,bqc:1111,bqd:1112,bqf:1113,bqg:1114,bqh:1115,bqi:1116,bqj:1117,bqk:1118,bql:1119,bqm:1120,bqn:1121,bqo:1122,bqp:1123,bqq:1124,bqr:1125,bqs:1126,bqt:1127,bqu:1128,bqv:1129,bqw:1130,bqx:1131,bqy:1132,bqz:1133,bra:1134,brb:1135,brc:1136,brd:1137,brf:1138,brg:1139,brh:1140,bri:1141,brj:1142,brk:1143,brl:1144,brm:1145,brn:1146,bro:1147,brp:1148,brq:1149,brr:1150,brs:1151,brt:1152,bru:1153,brv:1154,brw:1155,brx:1156,bry:1157,brz:1158,bsa:1159,bsb:1160,bsc:1161,bse:1162,bsf:1163,bsg:1164,bsh:1165,bsi:1166,bsj:1167,bsk:1168,bsl:1169,bsm:1170,bsn:1171,bso:1172,bsp:1173,bsq:1174,bsr:1175,bss:1176,bst:1177,bsu:1178,bsv:1179,bsw:1180,bsx:1181,bsy:1182,bta:1183,btb:1184,btc:1185,btd:1186,bte:1187,btf:1188,btg:1189,bth:1190,bti:1191,btj:1192,btk:1193,btl:1194,btm:1195,btn:1196,bto:1197,btp:1198,btq:1199,btr:1200,bts:1201,btt:1202,btu:1203,btv:1204,btw:1205,btx:1206,bty:1207,btz:1208,bua:1209,bub:1210,buc:1211,bud:1212,bue:1213,buf:1214,bug:1215,buh:1216,bui:1217,buj:1218,buk:1219,bum:1220,bun:1221,buo:1222,bup:1223,buq:1224,bus:1225,but:1226,buu:1227,buv:1228,buw:1229,bux:1230,buy:1231,buz:1232,bva:1233,bvb:1234,bvc:1235,bvd:1236,bve:1237,bvf:1238,bvg:1239,bvh:1240,bvi:1241,bvj:1242,bvk:1243,bvl:1244,bvm:1245,bvn:1246,bvo:1247,bvp:1248,bvq:1249,bvr:1250,bvt:1251,bvu:1252,bvv:1253,bvw:1254,bvx:1255,bvy:1256,bvz:1257,bwa:1258,bwb:1259,bwc:1260,bwd:1261,bwe:1262,bwf:1263,bwg:1264,bwh:1265,bwi:1266,bwj:1267,bwk:1268,bwl:1269,bwm:1270,bwn:1271,bwo:1272,bwp:1273,bwq:1274,bwr:1275,bws:1276,bwt:1277,bwu:1278,bww:1279,bwx:1280,bwy:1281,bwz:1282,bxa:1283,bxb:1284,bxc:1285,bxd:1286,bxe:1287,bxf:1288,bxg:1289,bxh:1290,bxi:1291,bxj:1292,bxk:1293,bxl:1294,bxm:1295,bxn:1296,bxo:1297,bxp:1298,bxq:1299,bxr:1300,bxs:1301,bxu:1302,bxv:1303,bxw:1304,bxx:1305,bxz:1306,bya:1307,byb:1308,byc:1309,byd:1310,bye:1311,byf:1312,byg:1313,byh:1314,byi:1315,byj:1316,byk:1317,byl:1318,bym:1319,byn:1320,byo:1321,byp:1322,byq:1323,byr:1324,bys:1325,byt:1326,byv:1327,byw:1328,byx:1329,byy:1330,byz:1331,bza:1332,bzb:1333,bzc:1334,bzd:1335,bze:1336,bzf:1337,bzg:1338,bzh:1339,bzi:1340,bzj:1341,bzk:1342,bzl:1343,bzm:1344,bzn:1345,bzo:1346,bzp:1347,bzq:1348,bzr:1349,bzs:1350,bzt:1351,bzu:1352,bzv:1353,bzw:1354,bzx:1355,bzy:1356,bzz:1357,caa:1358,cab:1359,cac:1360,cad:1361,cae:1362,caf:1363,cag:1364,cah:1365,cai:1366,caj:1367,cak:1368,cal:1369,cam:1370,can:1371,cao:1372,cap:1373,caq:1374,car:1375,cas:1376,cau:1377,cav:1378,caw:1379,cax:1380,cay:1381,caz:1382,cba:1383,cbb:1384,cbc:1385,cbd:1386,cbe:1387,cbg:1388,cbh:1389,cbi:1390,cbj:1391,cbk:1392,cbl:1393,cbn:1394,cbo:1395,cbq:1396,cbr:1397,cbs:1398,cbt:1399,cbu:1400,cbv:1401,cbw:1402,cby:1403,cca:1404,ccc:1405,ccd:1406,cce:1407,ccg:1408,cch:1409,ccj:1410,ccl:1411,ccm:1412,ccn:1413,cco:1414,ccp:1415,ccq:1416,ccr:1417,ccs:1418,cda:1419,cdc:1420,cdd:1421,cde:1422,cdf:1423,cdg:1424,cdh:1425,cdi:1426,cdj:1427,cdm:1428,cdn:1429,cdo:1430,cdr:1431,cds:1432,cdy:1433,cdz:1434,cea:1435,ceb:1436,ceg:1437,cek:1438,cel:1439,cen:1440,cet:1441,cey:1442,cfa:1443,cfd:1444,cfg:1445,cfm:1446,cga:1447,cgc:1448,cgg:1449,cgk:1450,chb:1451,chc:1452,chd:1453,chf:1454,chg:1455,chh:1456,chj:1457,chk:1458,chl:1459,chm:1460,chn:1461,cho:1462,chp:1463,chq:1464,chr:1465,cht:1466,chw:1467,chx:1468,chy:1469,chz:1470,cia:1471,cib:1472,cic:1473,cid:1474,cie:1475,cih:1476,cik:1477,cim:1478,cin:1479,cip:1480,cir:1481,ciw:1482,ciy:1483,cja:1484,cje:1485,cjh:1486,cji:1487,cjk:1488,cjm:1489,cjn:1490,cjo:1491,cjp:1492,cjr:1493,cjs:1494,cjv:1495,cjy:1496,cka:1497,ckb:1498,ckh:1499,ckl:1500,ckm:1501,ckn:1502,cko:1503,ckq:1504,ckr:1505,cks:1506,ckt:1507,cku:1508,ckv:1509,ckx:1510,cky:1511,ckz:1512,cla:1513,clc:1514,cld:1515,cle:1516,clh:1517,cli:1518,clj:1519,clk:1520,cll:1521,clm:1522,clo:1523,clt:1524,clu:1525,clw:1526,cly:1527,cma:1528,cmc:1529,cme:1530,cmg:1531,cmi:1532,cmk:1533,cml:1534,cmm:1535,cmn:1536,cmo:1537,cmr:1538,cms:1539,cmt:1540,cna:1541,cnb:1542,cnc:1543,cng:1544,cnh:1545,cni:1546,cnk:1547,cnl:1548,cno:1549,cnp:1550,cnq:1551,cnr:1552,cns:1553,cnt:1554,cnu:1555,cnw:1556,cnx:1557,coa:1558,cob:1559,coc:1560,cod:1561,coe:1562,cof:1563,cog:1564,coh:1565,coj:1566,cok:1567,col:1568,com:1569,con:1570,coo:1571,cop:1572,coq:1573,cot:1574,cou:1575,cov:1576,cow:1577,cox:1578,coy:1579,coz:1580,cpa:1581,cpb:1582,cpc:1583,cpe:1584,cpf:1585,cpg:1586,cpi:1587,cpn:1588,cpo:1589,cpp:1590,cps:1591,cpu:1592,cpx:1593,cpy:1594,cqd:1595,cqu:1596,cra:1597,crb:1598,crc:1599,crd:1600,crf:1601,crg:1602,crh:1603,cri:1604,crj:1605,crk:1606,crl:1607,crm:1608,crn:1609,cro:1610,crp:1611,crq:1612,crr:1613,crs:1614,crt:1615,crv:1616,crw:1617,crx:1618,cry:1619,crz:1620,csa:1621,csb:1622,csc:1623,csd:1624,cse:1625,csf:1626,csg:1627,csh:1628,csi:1629,csj:1630,csk:1631,csl:1632,csm:1633,csn:1634,cso:1635,csp:1636,csq:1637,csr:1638,css:1639,cst:1640,csu:1641,csv:1642,csw:1643,csx:1644,csy:1645,csz:1646,cta:1647,ctc:1648,ctd:1649,cte:1650,ctg:1651,cth:1652,ctl:1653,ctm:1654,ctn:1655,cto:1656,ctp:1657,cts:1658,ctt:1659,ctu:1660,cty:1661,ctz:1662,cua:1663,cub:1664,cuc:1665,cug:1666,cuh:1667,cui:1668,cuj:1669,cuk:1670,cul:1671,cum:1672,cuo:1673,cup:1674,cuq:1675,cur:1676,cus:1677,cut:1678,cuu:1679,cuv:1680,cuw:1681,cux:1682,cuy:1683,cvg:1684,cvn:1685,cwa:1686,cwb:1687,cwd:1688,cwe:1689,cwg:1690,cwt:1691,cya:1692,cyb:1693,cyo:1694,czh:1695,czk:1696,czn:1697,czo:1698,czt:1699,daa:1700,dac:1701,dad:1702,dae:1703,daf:1704,dag:1705,dah:1706,dai:1707,daj:1708,dak:1709,dal:1710,dam:1711,dao:1712,dap:1713,daq:1714,dar:1715,das:1716,dau:1717,dav:1718,daw:1719,dax:1720,day:1721,daz:1722,dba:1723,dbb:1724,dbd:1725,dbe:1726,dbf:1727,dbg:1728,dbi:1729,dbj:1730,dbl:1731,dbm:1732,dbn:1733,dbo:1734,dbp:1735,dbq:1736,dbr:1737,dbt:1738,dbu:1739,dbv:1740,dbw:1741,dby:1742,dcc:1743,dcr:1744,dda:1745,ddd:1746,dde:1747,ddg:1748,ddi:1749,ddj:1750,ddn:1751,ddo:1752,ddr:1753,dds:1754,ddw:1755,dec:1756,ded:1757,dee:1758,def:1759,deg:1760,deh:1761,dei:1762,dek:1763,del:1764,dem:1765,den:1766,dep:1767,deq:1768,der:1769,des:1770,dev:1771,dez:1772,dga:1773,dgb:1774,dgc:1775,dgd:1776,dge:1777,dgg:1778,dgh:1779,dgi:1780,dgk:1781,dgl:1782,dgn:1783,dgo:1784,dgr:1785,dgs:1786,dgt:1787,dgu:1788,dgw:1789,dgx:1790,dgz:1791,dha:1792,dhd:1793,dhg:1794,dhi:1795,dhl:1796,dhm:1797,dhn:1798,dho:1799,dhr:1800,dhs:1801,dhu:1802,dhv:1803,dhw:1804,dhx:1805,dia:1806,dib:1807,dic:1808,did:1809,dif:1810,dig:1811,dih:1812,dii:1813,dij:1814,dik:1815,dil:1816,dim:1817,din:1818,dio:1819,dip:1820,diq:1821,dir:1822,dis:1823,dit:1824,diu:1825,diw:1826,dix:1827,diy:1828,diz:1829,dja:1830,djb:1831,djc:1832,djd:1833,dje:1834,djf:1835,dji:1836,djj:1837,djk:1838,djl:1839,djm:1840,djn:1841,djo:1842,djr:1843,dju:1844,djw:1845,dka:1846,dkg:1847,dkk:1848,dkl:1849,dkr:1850,dks:1851,dkx:1852,dlg:1853,dlk:1854,dlm:1855,dln:1856,dma:1857,dmb:1858,dmc:1859,dmd:1860,dme:1861,dmf:1862,dmg:1863,dmk:1864,dml:1865,dmm:1866,dmn:1867,dmo:1868,dmr:1869,dms:1870,dmu:1871,dmv:1872,dmw:1873,dmx:1874,dmy:1875,dna:1876,dnd:1877,dne:1878,dng:1879,dni:1880,dnj:1881,dnk:1882,dnn:1883,dno:1884,dnr:1885,dnt:1886,dnu:1887,dnv:1888,dnw:1889,dny:1890,doa:1891,dob:1892,doc:1893,doe:1894,dof:1895,doh:1896,doi:1897,dok:1898,dol:1899,don:1900,doo:1901,dop:1902,doq:1903,dor:1904,dos:1905,dot:1906,dov:1907,dow:1908,dox:1909,doy:1910,doz:1911,dpp:1912,dra:1913,drb:1914,drc:1915,drd:1916,dre:1917,drg:1918,drh:1919,dri:1920,drl:1921,drn:1922,dro:1923,drq:1924,drr:1925,drs:1926,drt:1927,dru:1928,drw:1929,dry:1930,dsb:1931,dse:1932,dsh:1933,dsi:1934,dsl:1935,dsn:1936,dso:1937,dsq:1938,dsz:1939,dta:1940,dtb:1941,dtd:1942,dth:1943,dti:1944,dtk:1945,dtm:1946,dtn:1947,dto:1948,dtp:1949,dtr:1950,dts:1951,dtt:1952,dtu:1953,dty:1954,dua:1955,dub:1956,duc:1957,dud:1958,due:1959,duf:1960,dug:1961,duh:1962,dui:1963,duj:1964,duk:1965,dul:1966,dum:1967,dun:1968,duo:1969,dup:1970,duq:1971,dur:1972,dus:1973,duu:1974,duv:1975,duw:1976,dux:1977,duy:1978,duz:1979,dva:1980,dwa:1981,dwk:1982,dwl:1983,dwr:1984,dws:1985,dwu:1986,dww:1987,dwy:1988,dwz:1989,dya:1990,dyb:1991,dyd:1992,dyg:1993,dyi:1994,dym:1995,dyn:1996,dyo:1997,dyu:1998,dyy:1999,dza:2e3,dzd:2001,dze:2002,dzg:2003,dzl:2004,dzn:2005,eaa:2006,ebc:2007,ebg:2008,ebk:2009,ebo:2010,ebr:2011,ebu:2012,ecr:2013,ecs:2014,ecy:2015,eee:2016,efa:2017,efe:2018,efi:2019,ega:2020,egl:2021,egm:2022,ego:2023,egx:2024,egy:2025,ehs:2026,ehu:2027,eip:2028,eit:2029,eiv:2030,eja:2031,eka:2032,ekc:2033,eke:2034,ekg:2035,eki:2036,ekk:2037,ekl:2038,ekm:2039,eko:2040,ekp:2041,ekr:2042,eky:2043,ele:2044,elh:2045,eli:2046,elk:2047,elm:2048,elo:2049,elp:2050,elu:2051,elx:2052,ema:2053,emb:2054,eme:2055,emg:2056,emi:2057,emk:2058,emm:2059,emn:2060,emo:2061,emp:2062,emq:2063,ems:2064,emu:2065,emw:2066,emx:2067,emy:2068,emz:2069,ena:2070,enb:2071,enc:2072,end:2073,enf:2074,enh:2075,enl:2076,enm:2077,enn:2078,eno:2079,enq:2080,enr:2081,enu:2082,env:2083,enw:2084,enx:2085,eot:2086,epi:2087,era:2088,erg:2089,erh:2090,eri:2091,erk:2092,ero:2093,err:2094,ers:2095,ert:2096,erw:2097,ese:2098,esg:2099,esh:2100,esi:2101,esk:2102,esl:2103,esm:2104,esn:2105,eso:2106,esq:2107,ess:2108,esu:2109,esx:2110,esy:2111,etb:2112,etc:2113,eth:2114,etn:2115,eto:2116,etr:2117,ets:2118,ett:2119,etu:2120,etx:2121,etz:2122,euq:2123,eve:2124,evh:2125,evn:2126,ewo:2127,ext:2128,eya:2129,eyo:2130,eza:2131,eze:2132,faa:2133,fab:2134,fad:2135,faf:2136,fag:2137,fah:2138,fai:2139,faj:2140,fak:2141,fal:2142,fam:2143,fan:2144,fap:2145,far:2146,fat:2147,fau:2148,fax:2149,fay:2150,faz:2151,fbl:2152,fcs:2153,fer:2154,ffi:2155,ffm:2156,fgr:2157,fia:2158,fie:2159,fif:2160,fil:2161,fip:2162,fir:2163,fit:2164,fiu:2165,fiw:2166,fkk:2167,fkv:2168,fla:2169,flh:2170,fli:2171,fll:2172,fln:2173,flr:2174,fly:2175,fmp:2176,fmu:2177,fnb:2178,fng:2179,fni:2180,fod:2181,foi:2182,fom:2183,fon:2184,for:2185,fos:2186,fox:2187,fpe:2188,fqs:2189,frc:2190,frd:2191,frk:2192,frm:2193,fro:2194,frp:2195,frq:2196,frr:2197,frs:2198,frt:2199,fse:2200,fsl:2201,fss:2202,fub:2203,fuc:2204,fud:2205,fue:2206,fuf:2207,fuh:2208,fui:2209,fuj:2210,fum:2211,fun:2212,fuq:2213,fur:2214,fut:2215,fuu:2216,fuv:2217,fuy:2218,fvr:2219,fwa:2220,fwe:2221,gaa:2222,gab:2223,gac:2224,gad:2225,gae:2226,gaf:2227,gag:2228,gah:2229,gai:2230,gaj:2231,gak:2232,gal:2233,gam:2234,gan:2235,gao:2236,gap:2237,gaq:2238,gar:2239,gas:2240,gat:2241,gau:2242,gav:2243,gaw:2244,gax:2245,gay:2246,gaz:2247,gba:2248,gbb:2249,gbc:2250,gbd:2251,gbe:2252,gbf:2253,gbg:2254,gbh:2255,gbi:2256,gbj:2257,gbk:2258,gbl:2259,gbm:2260,gbn:2261,gbo:2262,gbp:2263,gbq:2264,gbr:2265,gbs:2266,gbu:2267,gbv:2268,gbw:2269,gbx:2270,gby:2271,gbz:2272,gcc:2273,gcd:2274,gce:2275,gcf:2276,gcl:2277,gcn:2278,gcr:2279,gct:2280,gda:2281,gdb:2282,gdc:2283,gdd:2284,gde:2285,gdf:2286,gdg:2287,gdh:2288,gdi:2289,gdj:2290,gdk:2291,gdl:2292,gdm:2293,gdn:2294,gdo:2295,gdq:2296,gdr:2297,gds:2298,gdt:2299,gdu:2300,gdx:2301,gea:2302,geb:2303,gec:2304,ged:2305,gef:2306,geg:2307,geh:2308,gei:2309,gej:2310,gek:2311,gel:2312,gem:2313,geq:2314,ges:2315,gev:2316,gew:2317,gex:2318,gey:2319,gez:2320,gfk:2321,gft:2322,gfx:2323,gga:2324,ggb:2325,ggd:2326,gge:2327,ggg:2328,ggk:2329,ggl:2330,ggn:2331,ggo:2332,ggr:2333,ggt:2334,ggu:2335,ggw:2336,gha:2337,ghc:2338,ghe:2339,ghh:2340,ghk:2341,ghl:2342,ghn:2343,gho:2344,ghr:2345,ghs:2346,ght:2347,gia:2348,gib:2349,gic:2350,gid:2351,gie:2352,gig:2353,gih:2354,gii:2355,gil:2356,gim:2357,gin:2358,gio:2359,gip:2360,giq:2361,gir:2362,gis:2363,git:2364,giu:2365,giw:2366,gix:2367,giy:2368,giz:2369,gji:2370,gjk:2371,gjm:2372,gjn:2373,gjr:2374,gju:2375,gka:2376,gkd:2377,gke:2378,gkn:2379,gko:2380,gkp:2381,gku:2382,glb:2383,glc:2384,gld:2385,glh:2386,gli:2387,glj:2388,glk:2389,gll:2390,glo:2391,glr:2392,glu:2393,glw:2394,gly:2395,gma:2396,gmb:2397,gmd:2398,gme:2399,gmg:2400,gmh:2401,gml:2402,gmm:2403,gmn:2404,gmq:2405,gmr:2406,gmu:2407,gmv:2408,gmw:2409,gmx:2410,gmy:2411,gmz:2412,gna:2413,gnb:2414,gnc:2415,gnd:2416,gne:2417,gng:2418,gnh:2419,gni:2420,gnj:2421,gnk:2422,gnl:2423,gnm:2424,gnn:2425,gno:2426,gnq:2427,gnr:2428,gnt:2429,gnu:2430,gnw:2431,gnz:2432,goa:2433,gob:2434,goc:2435,god:2436,goe:2437,gof:2438,gog:2439,goh:2440,goi:2441,goj:2442,gok:2443,gol:2444,gom:2445,gon:2446,goo:2447,gop:2448,goq:2449,gor:2450,gos:2451,got:2452,gou:2453,gov:2454,gow:2455,gox:2456,goy:2457,goz:2458,gpa:2459,gpe:2460,gpn:2461,gqa:2462,gqi:2463,gqn:2464,gqr:2465,gqu:2466,gra:2467,grb:2468,grc:2469,grd:2470,grg:2471,grh:2472,gri:2473,grj:2474,grk:2475,grm:2476,gro:2477,grq:2478,grr:2479,grs:2480,grt:2481,gru:2482,grv:2483,grw:2484,grx:2485,gry:2486,grz:2487,gse:2488,gsg:2489,gsl:2490,gsm:2491,gsn:2492,gso:2493,gsp:2494,gss:2495,gsw:2496,gta:2497,gti:2498,gtu:2499,gua:2500,gub:2501,guc:2502,gud:2503,gue:2504,guf:2505,gug:2506,guh:2507,gui:2508,guk:2509,gul:2510,gum:2511,gun:2512,guo:2513,gup:2514,guq:2515,gur:2516,gus:2517,gut:2518,guu:2519,guv:2520,guw:2521,gux:2522,guz:2523,gva:2524,gvc:2525,gve:2526,gvf:2527,gvj:2528,gvl:2529,gvm:2530,gvn:2531,gvo:2532,gvp:2533,gvr:2534,gvs:2535,gvy:2536,gwa:2537,gwb:2538,gwc:2539,gwd:2540,gwe:2541,gwf:2542,gwg:2543,gwi:2544,gwj:2545,gwm:2546,gwn:2547,gwr:2548,gwt:2549,gwu:2550,gww:2551,gwx:2552,gxx:2553,gya:2554,gyb:2555,gyd:2556,gye:2557,gyf:2558,gyg:2559,gyi:2560,gyl:2561,gym:2562,gyn:2563,gyo:2564,gyr:2565,gyy:2566,gyz:2567,gza:2568,gzi:2569,gzn:2570,haa:2571,hab:2572,hac:2573,had:2574,hae:2575,haf:2576,hag:2577,hah:2578,hai:2579,haj:2580,hak:2581,hal:2582,ham:2583,han:2584,hao:2585,hap:2586,haq:2587,har:2588,has:2589,hav:2590,haw:2591,hax:2592,hay:2593,haz:2594,hba:2595,hbb:2596,hbn:2597,hbo:2598,hbu:2599,hca:2600,hch:2601,hdn:2602,hds:2603,hdy:2604,hea:2605,hed:2606,heg:2607,heh:2608,hei:2609,hem:2610,hgm:2611,hgw:2612,hhi:2613,hhr:2614,hhy:2615,hia:2616,hib:2617,hid:2618,hif:2619,hig:2620,hih:2621,hii:2622,hij:2623,hik:2624,hil:2625,him:2626,hio:2627,hir:2628,hit:2629,hiw:2630,hix:2631,hji:2632,hka:2633,hke:2634,hkh:2635,hkk:2636,hkn:2637,hks:2638,hla:2639,hlb:2640,hld:2641,hle:2642,hlt:2643,hlu:2644,hma:2645,hmb:2646,hmc:2647,hmd:2648,hme:2649,hmf:2650,hmg:2651,hmh:2652,hmi:2653,hmj:2654,hmk:2655,hml:2656,hmm:2657,hmn:2658,hmp:2659,hmq:2660,hmr:2661,hms:2662,hmt:2663,hmu:2664,hmv:2665,hmw:2666,hmx:2667,hmy:2668,hmz:2669,hna:2670,hnd:2671,hne:2672,hng:2673,hnh:2674,hni:2675,hnj:2676,hnn:2677,hno:2678,hns:2679,hnu:2680,hoa:2681,hob:2682,hoc:2683,hod:2684,hoe:2685,hoh:2686,hoi:2687,hoj:2688,hok:2689,hol:2690,hom:2691,hoo:2692,hop:2693,hor:2694,hos:2695,hot:2696,hov:2697,how:2698,hoy:2699,hoz:2700,hpo:2701,hps:2702,hra:2703,hrc:2704,hre:2705,hrk:2706,hrm:2707,hro:2708,hrp:2709,hrr:2710,hrt:2711,hru:2712,hrw:2713,hrx:2714,hrz:2715,hsb:2716,hsh:2717,hsl:2718,hsn:2719,hss:2720,hti:2721,hto:2722,hts:2723,htu:2724,htx:2725,hub:2726,huc:2727,hud:2728,hue:2729,huf:2730,hug:2731,huh:2732,hui:2733,huj:2734,huk:2735,hul:2736,hum:2737,huo:2738,hup:2739,huq:2740,hur:2741,hus:2742,hut:2743,huu:2744,huv:2745,huw:2746,hux:2747,huy:2748,huz:2749,hvc:2750,hve:2751,hvk:2752,hvn:2753,hvv:2754,hwa:2755,hwc:2756,hwo:2757,hya:2758,hyw:2759,hyx:2760,iai:2761,ian:2762,iap:2763,iar:2764,iba:2765,ibb:2766,ibd:2767,ibe:2768,ibg:2769,ibh:2770,ibi:2771,ibl:2772,ibm:2773,ibn:2774,ibr:2775,ibu:2776,iby:2777,ica:2778,ich:2779,icl:2780,icr:2781,ida:2782,idb:2783,idc:2784,idd:2785,ide:2786,idi:2787,idr:2788,ids:2789,idt:2790,idu:2791,ifa:2792,ifb:2793,ife:2794,iff:2795,ifk:2796,ifm:2797,ifu:2798,ify:2799,igb:2800,ige:2801,igg:2802,igl:2803,igm:2804,ign:2805,igo:2806,igs:2807,igw:2808,ihb:2809,ihi:2810,ihp:2811,ihw:2812,iin:2813,iir:2814,ijc:2815,ije:2816,ijj:2817,ijn:2818,ijo:2819,ijs:2820,ike:2821,iki:2822,ikk:2823,ikl:2824,iko:2825,ikp:2826,ikr:2827,iks:2828,ikt:2829,ikv:2830,ikw:2831,ikx:2832,ikz:2833,ila:2834,ilb:2835,ilg:2836,ili:2837,ilk:2838,ill:2839,ilm:2840,ilo:2841,ilp:2842,ils:2843,ilu:2844,ilv:2845,ilw:2846,ima:2847,ime:2848,imi:2849,iml:2850,imn:2851,imo:2852,imr:2853,ims:2854,imt:2855,imy:2856,inb:2857,inc:2858,ine:2859,ing:2860,inh:2861,inj:2862,inl:2863,inm:2864,inn:2865,ino:2866,inp:2867,ins:2868,int:2869,inz:2870,ior:2871,iou:2872,iow:2873,ipi:2874,ipo:2875,iqu:2876,iqw:2877,ira:2878,ire:2879,irh:2880,iri:2881,irk:2882,irn:2883,iro:2884,irr:2885,iru:2886,irx:2887,iry:2888,isa:2889,isc:2890,isd:2891,ise:2892,isg:2893,ish:2894,isi:2895,isk:2896,ism:2897,isn:2898,iso:2899,isr:2900,ist:2901,isu:2902,itb:2903,itc:2904,itd:2905,ite:2906,iti:2907,itk:2908,itl:2909,itm:2910,ito:2911,itr:2912,its:2913,itt:2914,itv:2915,itw:2916,itx:2917,ity:2918,itz:2919,ium:2920,ivb:2921,ivv:2922,iwk:2923,iwm:2924,iwo:2925,iws:2926,ixc:2927,ixl:2928,iya:2929,iyo:2930,iyx:2931,izh:2932,izi:2933,izr:2934,izz:2935,jaa:2936,jab:2937,jac:2938,jad:2939,jae:2940,jaf:2941,jah:2942,jaj:2943,jak:2944,jal:2945,jam:2946,jan:2947,jao:2948,jaq:2949,jar:2950,jas:2951,jat:2952,jau:2953,jax:2954,jay:2955,jaz:2956,jbe:2957,jbi:2958,jbj:2959,jbk:2960,jbm:2961,jbn:2962,jbo:2963,jbr:2964,jbt:2965,jbu:2966,jbw:2967,jcs:2968,jct:2969,jda:2970,jdg:2971,jdt:2972,jeb:2973,jee:2974,jeg:2975,jeh:2976,jei:2977,jek:2978,jel:2979,jen:2980,jer:2981,jet:2982,jeu:2983,jgb:2984,jge:2985,jgk:2986,jgo:2987,jhi:2988,jhs:2989,jia:2990,jib:2991,jic:2992,jid:2993,jie:2994,jig:2995,jih:2996,jii:2997,jil:2998,jim:2999,jio:3e3,jiq:3001,jit:3002,jiu:3003,jiv:3004,jiy:3005,jje:3006,jjr:3007,jka:3008,jkm:3009,jko:3010,jkp:3011,jkr:3012,jks:3013,jku:3014,jle:3015,jls:3016,jma:3017,jmb:3018,jmc:3019,jmd:3020,jmi:3021,jml:3022,jmn:3023,jmr:3024,jms:3025,jmw:3026,jmx:3027,jna:3028,jnd:3029,jng:3030,jni:3031,jnj:3032,jnl:3033,jns:3034,job:3035,jod:3036,jog:3037,jor:3038,jos:3039,jow:3040,jpa:3041,jpr:3042,jpx:3043,jqr:3044,jra:3045,jrb:3046,jrr:3047,jrt:3048,jru:3049,jsl:3050,jua:3051,jub:3052,juc:3053,jud:3054,juh:3055,jui:3056,juk:3057,jul:3058,jum:3059,jun:3060,juo:3061,jup:3062,jur:3063,jus:3064,jut:3065,juu:3066,juw:3067,juy:3068,jvd:3069,jvn:3070,jwi:3071,jya:3072,jye:3073,jyy:3074,kaa:3075,kab:3076,kac:3077,kad:3078,kae:3079,kaf:3080,kag:3081,kah:3082,kai:3083,kaj:3084,kak:3085,kam:3086,kao:3087,kap:3088,kaq:3089,kar:3090,kav:3091,kaw:3092,kax:3093,kay:3094,kba:3095,kbb:3096,kbc:3097,kbd:3098,kbe:3099,kbf:3100,kbg:3101,kbh:3102,kbi:3103,kbj:3104,kbk:3105,kbl:3106,kbm:3107,kbn:3108,kbo:3109,kbp:3110,kbq:3111,kbr:3112,kbs:3113,kbt:3114,kbu:3115,kbv:3116,kbw:3117,kbx:3118,kby:3119,kbz:3120,kca:3121,kcb:3122,kcc:3123,kcd:3124,kce:3125,kcf:3126,kcg:3127,kch:3128,kci:3129,kcj:3130,kck:3131,kcl:3132,kcm:3133,kcn:3134,kco:3135,kcp:3136,kcq:3137,kcr:3138,kcs:3139,kct:3140,kcu:3141,kcv:3142,kcw:3143,kcx:3144,kcy:3145,kcz:3146,kda:3147,kdc:3148,kdd:3149,kde:3150,kdf:3151,kdg:3152,kdh:3153,kdi:3154,kdj:3155,kdk:3156,kdl:3157,kdm:3158,kdn:3159,kdo:3160,kdp:3161,kdq:3162,kdr:3163,kdt:3164,kdu:3165,kdv:3166,kdw:3167,kdx:3168,kdy:3169,kdz:3170,kea:3171,keb:3172,kec:3173,ked:3174,kee:3175,kef:3176,keg:3177,keh:3178,kei:3179,kej:3180,kek:3181,kel:3182,kem:3183,ken:3184,keo:3185,kep:3186,keq:3187,ker:3188,kes:3189,ket:3190,keu:3191,kev:3192,kew:3193,kex:3194,key:3195,kez:3196,kfa:3197,kfb:3198,kfc:3199,kfd:3200,kfe:3201,kff:3202,kfg:3203,kfh:3204,kfi:3205,kfj:3206,kfk:3207,kfl:3208,kfm:3209,kfn:3210,kfo:3211,kfp:3212,kfq:3213,kfr:3214,kfs:3215,kft:3216,kfu:3217,kfv:3218,kfw:3219,kfx:3220,kfy:3221,kfz:3222,kga:3223,kgb:3224,kgc:3225,kgd:3226,kge:3227,kgf:3228,kgg:3229,kgh:3230,kgi:3231,kgj:3232,kgk:3233,kgl:3234,kgm:3235,kgn:3236,kgo:3237,kgp:3238,kgq:3239,kgr:3240,kgs:3241,kgt:3242,kgu:3243,kgv:3244,kgw:3245,kgx:3246,kgy:3247,kha:3248,khb:3249,khc:3250,khd:3251,khe:3252,khf:3253,khg:3254,khh:3255,khi:3256,khj:3257,khk:3258,khl:3259,khn:3260,kho:3261,khp:3262,khq:3263,khr:3264,khs:3265,kht:3266,khu:3267,khv:3268,khw:3269,khx:3270,khy:3271,khz:3272,kia:3273,kib:3274,kic:3275,kid:3276,kie:3277,kif:3278,kig:3279,kih:3280,kii:3281,kij:3282,kil:3283,kim:3284,kio:3285,kip:3286,kiq:3287,kis:3288,kit:3289,kiu:3290,kiv:3291,kiw:3292,kix:3293,kiy:3294,kiz:3295,kja:3296,kjb:3297,kjc:3298,kjd:3299,kje:3300,kjf:3301,kjg:3302,kjh:3303,kji:3304,kjj:3305,kjk:3306,kjl:3307,kjm:3308,kjn:3309,kjo:3310,kjp:3311,kjq:3312,kjr:3313,kjs:3314,kjt:3315,kju:3316,kjv:3317,kjx:3318,kjy:3319,kjz:3320,kka:3321,kkb:3322,kkc:3323,kkd:3324,kke:3325,kkf:3326,kkg:3327,kkh:3328,kki:3329,kkj:3330,kkk:3331,kkl:3332,kkm:3333,kkn:3334,kko:3335,kkp:3336,kkq:3337,kkr:3338,kks:3339,kkt:3340,kku:3341,kkv:3342,kkw:3343,kkx:3344,kky:3345,kkz:3346,kla:3347,klb:3348,klc:3349,kld:3350,kle:3351,klf:3352,klg:3353,klh:3354,kli:3355,klj:3356,klk:3357,kll:3358,klm:3359,kln:3360,klo:3361,klp:3362,klq:3363,klr:3364,kls:3365,klt:3366,klu:3367,klv:3368,klw:3369,klx:3370,kly:3371,klz:3372,kma:3373,kmb:3374,kmc:3375,kmd:3376,kme:3377,kmf:3378,kmg:3379,kmh:3380,kmi:3381,kmj:3382,kmk:3383,kml:3384,kmm:3385,kmn:3386,kmo:3387,kmp:3388,kmq:3389,kmr:3390,kms:3391,kmt:3392,kmu:3393,kmv:3394,kmw:3395,kmx:3396,kmy:3397,kmz:3398,kna:3399,knb:3400,knc:3401,knd:3402,kne:3403,knf:3404,kng:3405,kni:3406,knj:3407,knk:3408,knl:3409,knm:3410,knn:3411,kno:3412,knp:3413,knq:3414,knr:3415,kns:3416,knt:3417,knu:3418,knv:3419,knw:3420,knx:3421,kny:3422,knz:3423,koa:3424,koc:3425,kod:3426,koe:3427,kof:3428,kog:3429,koh:3430,koi:3431,koj:3432,kok:3433,kol:3434,koo:3435,kop:3436,koq:3437,kos:3438,kot:3439,kou:3440,kov:3441,kow:3442,kox:3443,koy:3444,koz:3445,kpa:3446,kpb:3447,kpc:3448,kpd:3449,kpe:3450,kpf:3451,kpg:3452,kph:3453,kpi:3454,kpj:3455,kpk:3456,kpl:3457,kpm:3458,kpn:3459,kpo:3460,kpp:3461,kpq:3462,kpr:3463,kps:3464,kpt:3465,kpu:3466,kpv:3467,kpw:3468,kpx:3469,kpy:3470,kpz:3471,kqa:3472,kqb:3473,kqc:3474,kqd:3475,kqe:3476,kqf:3477,kqg:3478,kqh:3479,kqi:3480,kqj:3481,kqk:3482,kql:3483,kqm:3484,kqn:3485,kqo:3486,kqp:3487,kqq:3488,kqr:3489,kqs:3490,kqt:3491,kqu:3492,kqv:3493,kqw:3494,kqx:3495,kqy:3496,kqz:3497,kra:3498,krb:3499,krc:3500,krd:3501,kre:3502,krf:3503,krh:3504,kri:3505,krj:3506,krk:3507,krl:3508,krm:3509,krn:3510,kro:3511,krp:3512,krr:3513,krs:3514,krt:3515,kru:3516,krv:3517,krw:3518,krx:3519,kry:3520,krz:3521,ksa:3522,ksb:3523,ksc:3524,ksd:3525,kse:3526,ksf:3527,ksg:3528,ksh:3529,ksi:3530,ksj:3531,ksk:3532,ksl:3533,ksm:3534,ksn:3535,kso:3536,ksp:3537,ksq:3538,ksr:3539,kss:3540,kst:3541,ksu:3542,ksv:3543,ksw:3544,ksx:3545,ksy:3546,ksz:3547,kta:3548,ktb:3549,ktc:3550,ktd:3551,kte:3552,ktf:3553,ktg:3554,kth:3555,kti:3556,ktj:3557,ktk:3558,ktl:3559,ktm:3560,ktn:3561,kto:3562,ktp:3563,ktq:3564,ktr:3565,kts:3566,ktt:3567,ktu:3568,ktv:3569,ktw:3570,ktx:3571,kty:3572,ktz:3573,kub:3574,kuc:3575,kud:3576,kue:3577,kuf:3578,kug:3579,kuh:3580,kui:3581,kuj:3582,kuk:3583,kul:3584,kum:3585,kun:3586,kuo:3587,kup:3588,kuq:3589,kus:3590,kut:3591,kuu:3592,kuv:3593,kuw:3594,kux:3595,kuy:3596,kuz:3597,kva:3598,kvb:3599,kvc:3600,kvd:3601,kve:3602,kvf:3603,kvg:3604,kvh:3605,kvi:3606,kvj:3607,kvk:3608,kvl:3609,kvm:3610,kvn:3611,kvo:3612,kvp:3613,kvq:3614,kvr:3615,kvs:3616,kvt:3617,kvu:3618,kvv:3619,kvw:3620,kvx:3621,kvy:3622,kvz:3623,kwa:3624,kwb:3625,kwc:3626,kwd:3627,kwe:3628,kwf:3629,kwg:3630,kwh:3631,kwi:3632,kwj:3633,kwk:3634,kwl:3635,kwm:3636,kwn:3637,kwo:3638,kwp:3639,kwq:3640,kwr:3641,kws:3642,kwt:3643,kwu:3644,kwv:3645,kww:3646,kwx:3647,kwy:3648,kwz:3649,kxa:3650,kxb:3651,kxc:3652,kxd:3653,kxe:3654,kxf:3655,kxh:3656,kxi:3657,kxj:3658,kxk:3659,kxl:3660,kxm:3661,kxn:3662,kxo:3663,kxp:3664,kxq:3665,kxr:3666,kxs:3667,kxt:3668,kxu:3669,kxv:3670,kxw:3671,kxx:3672,kxy:3673,kxz:3674,kya:3675,kyb:3676,kyc:3677,kyd:3678,kye:3679,kyf:3680,kyg:3681,kyh:3682,kyi:3683,kyj:3684,kyk:3685,kyl:3686,kym:3687,kyn:3688,kyo:3689,kyp:3690,kyq:3691,kyr:3692,kys:3693,kyt:3694,kyu:3695,kyv:3696,kyw:3697,kyx:3698,kyy:3699,kyz:3700,kza:3701,kzb:3702,kzc:3703,kzd:3704,kze:3705,kzf:3706,kzg:3707,kzh:3708,kzi:3709,kzj:3710,kzk:3711,kzl:3712,kzm:3713,kzn:3714,kzo:3715,kzp:3716,kzq:3717,kzr:3718,kzs:3719,kzt:3720,kzu:3721,kzv:3722,kzw:3723,kzx:3724,kzy:3725,kzz:3726,laa:3727,lab:3728,lac:3729,lad:3730,lae:3731,laf:3732,lag:3733,lah:3734,lai:3735,laj:3736,lak:3737,lal:3738,lam:3739,lan:3740,lap:3741,laq:3742,lar:3743,las:3744,lau:3745,law:3746,lax:3747,lay:3748,laz:3749,lba:3750,lbb:3751,lbc:3752,lbe:3753,lbf:3754,lbg:3755,lbi:3756,lbj:3757,lbk:3758,lbl:3759,lbm:3760,lbn:3761,lbo:3762,lbq:3763,lbr:3764,lbs:3765,lbt:3766,lbu:3767,lbv:3768,lbw:3769,lbx:3770,lby:3771,lbz:3772,lcc:3773,lcd:3774,lce:3775,lcf:3776,lch:3777,lcl:3778,lcm:3779,lcp:3780,lcq:3781,lcs:3782,lda:3783,ldb:3784,ldd:3785,ldg:3786,ldh:3787,ldi:3788,ldj:3789,ldk:3790,ldl:3791,ldm:3792,ldn:3793,ldo:3794,ldp:3795,ldq:3796,lea:3797,leb:3798,lec:3799,led:3800,lee:3801,lef:3802,leg:3803,leh:3804,lei:3805,lej:3806,lek:3807,lel:3808,lem:3809,len:3810,leo:3811,lep:3812,leq:3813,ler:3814,les:3815,let:3816,leu:3817,lev:3818,lew:3819,lex:3820,ley:3821,lez:3822,lfa:3823,lfn:3824,lga:3825,lgb:3826,lgg:3827,lgh:3828,lgi:3829,lgk:3830,lgl:3831,lgm:3832,lgn:3833,lgo:3834,lgq:3835,lgr:3836,lgt:3837,lgu:3838,lgz:3839,lha:3840,lhh:3841,lhi:3842,lhl:3843,lhm:3844,lhn:3845,lhp:3846,lhs:3847,lht:3848,lhu:3849,lia:3850,lib:3851,lic:3852,lid:3853,lie:3854,lif:3855,lig:3856,lih:3857,lii:3858,lij:3859,lik:3860,lil:3861,lio:3862,lip:3863,liq:3864,lir:3865,lis:3866,liu:3867,liv:3868,liw:3869,lix:3870,liy:3871,liz:3872,lja:3873,lje:3874,lji:3875,ljl:3876,ljp:3877,ljw:3878,ljx:3879,lka:3880,lkb:3881,lkc:3882,lkd:3883,lke:3884,lkh:3885,lki:3886,lkj:3887,lkl:3888,lkm:3889,lkn:3890,lko:3891,lkr:3892,lks:3893,lkt:3894,lku:3895,lky:3896,lla:3897,llb:3898,llc:3899,lld:3900,lle:3901,llf:3902,llg:3903,llh:3904,lli:3905,llj:3906,llk:3907,lll:3908,llm:3909,lln:3910,llo:3911,llp:3912,llq:3913,lls:3914,llu:3915,llx:3916,lma:3917,lmb:3918,lmc:3919,lmd:3920,lme:3921,lmf:3922,lmg:3923,lmh:3924,lmi:3925,lmj:3926,lmk:3927,lml:3928,lmm:3929,lmn:3930,lmo:3931,lmp:3932,lmq:3933,lmr:3934,lmu:3935,lmv:3936,lmw:3937,lmx:3938,lmy:3939,lmz:3940,lna:3941,lnb:3942,lnd:3943,lng:3944,lnh:3945,lni:3946,lnj:3947,lnl:3948,lnm:3949,lnn:3950,lno:3951,lns:3952,lnu:3953,lnw:3954,lnz:3955,loa:3956,lob:3957,loc:3958,loe:3959,lof:3960,log:3961,loh:3962,loi:3963,loj:3964,lok:3965,lol:3966,lom:3967,lon:3968,loo:3969,lop:3970,loq:3971,lor:3972,los:3973,lot:3974,lou:3975,lov:3976,low:3977,lox:3978,loy:3979,loz:3980,lpa:3981,lpe:3982,lpn:3983,lpo:3984,lpx:3985,lqr:3986,lra:3987,lrc:3988,lre:3989,lrg:3990,lri:3991,lrk:3992,lrl:3993,lrm:3994,lrn:3995,lro:3996,lrr:3997,lrt:3998,lrv:3999,lrz:4e3,lsa:4001,lsb:4002,lsc:4003,lsd:4004,lse:4005,lsg:4006,lsh:4007,lsi:4008,lsl:4009,lsm:4010,lsn:4011,lso:4012,lsp:4013,lsr:4014,lss:4015,lst:4016,lsv:4017,lsw:4018,lsy:4019,ltc:4020,ltg:4021,lth:4022,lti:4023,ltn:4024,lto:4025,lts:4026,ltu:4027,lua:4028,luc:4029,lud:4030,lue:4031,luf:4032,lui:4033,luj:4034,luk:4035,lul:4036,lum:4037,lun:4038,luo:4039,lup:4040,luq:4041,lur:4042,lus:4043,lut:4044,luu:4045,luv:4046,luw:4047,luy:4048,luz:4049,lva:4050,lvi:4051,lvk:4052,lvs:4053,lvu:4054,lwa:4055,lwe:4056,lwg:4057,lwh:4058,lwl:4059,lwm:4060,lwo:4061,lws:4062,lwt:4063,lwu:4064,lww:4065,lxm:4066,lya:4067,lyg:4068,lyn:4069,lzh:4070,lzl:4071,lzn:4072,lzz:4073,maa:4074,mab:4075,mad:4076,mae:4077,maf:4078,mag:4079,mai:4080,maj:4081,mak:4082,mam:4083,man:4084,map:4085,maq:4086,mas:4087,mat:4088,mau:4089,mav:4090,maw:4091,max:4092,maz:4093,mba:4094,mbb:4095,mbc:4096,mbd:4097,mbe:4098,mbf:4099,mbh:4100,mbi:4101,mbj:4102,mbk:4103,mbl:4104,mbm:4105,mbn:4106,mbo:4107,mbp:4108,mbq:4109,mbr:4110,mbs:4111,mbt:4112,mbu:4113,mbv:4114,mbw:4115,mbx:4116,mby:4117,mbz:4118,mca:4119,mcb:4120,mcc:4121,mcd:4122,mce:4123,mcf:4124,mcg:4125,mch:4126,mci:4127,mcj:4128,mck:4129,mcl:4130,mcm:4131,mcn:4132,mco:4133,mcp:4134,mcq:4135,mcr:4136,mcs:4137,mct:4138,mcu:4139,mcv:4140,mcw:4141,mcx:4142,mcy:4143,mcz:4144,mda:4145,mdb:4146,mdc:4147,mdd:4148,mde:4149,mdf:4150,mdg:4151,mdh:4152,mdi:4153,mdj:4154,mdk:4155,mdl:4156,mdm:4157,mdn:4158,mdp:4159,mdq:4160,mdr:4161,mds:4162,mdt:4163,mdu:4164,mdv:4165,mdw:4166,mdx:4167,mdy:4168,mdz:4169,mea:4170,meb:4171,mec:4172,med:4173,mee:4174,mef:4175,meg:4176,meh:4177,mei:4178,mej:4179,mek:4180,mel:4181,mem:4182,men:4183,meo:4184,mep:4185,meq:4186,mer:4187,mes:4188,met:4189,meu:4190,mev:4191,mew:4192,mey:4193,mez:4194,mfa:4195,mfb:4196,mfc:4197,mfd:4198,mfe:4199,mff:4200,mfg:4201,mfh:4202,mfi:4203,mfj:4204,mfk:4205,mfl:4206,mfm:4207,mfn:4208,mfo:4209,mfp:4210,mfq:4211,mfr:4212,mfs:4213,mft:4214,mfu:4215,mfv:4216,mfw:4217,mfx:4218,mfy:4219,mfz:4220,mga:4221,mgb:4222,mgc:4223,mgd:4224,mge:4225,mgf:4226,mgg:4227,mgh:4228,mgi:4229,mgj:4230,mgk:4231,mgl:4232,mgm:4233,mgn:4234,mgo:4235,mgp:4236,mgq:4237,mgr:4238,mgs:4239,mgt:4240,mgu:4241,mgv:4242,mgw:4243,mgx:4244,mgy:4245,mgz:4246,mha:4247,mhb:4248,mhc:4249,mhd:4250,mhe:4251,mhf:4252,mhg:4253,mhh:4254,mhi:4255,mhj:4256,mhk:4257,mhl:4258,mhm:4259,mhn:4260,mho:4261,mhp:4262,mhq:4263,mhr:4264,mhs:4265,mht:4266,mhu:4267,mhw:4268,mhx:4269,mhy:4270,mhz:4271,mia:4272,mib:4273,mic:4274,mid:4275,mie:4276,mif:4277,mig:4278,mih:4279,mii:4280,mij:4281,mik:4282,mil:4283,mim:4284,min:4285,mio:4286,mip:4287,miq:4288,mir:4289,mis:4290,mit:4291,miu:4292,miw:4293,mix:4294,miy:4295,miz:4296,mja:4297,mjb:4298,mjc:4299,mjd:4300,mje:4301,mjg:4302,mjh:4303,mji:4304,mjj:4305,mjk:4306,mjl:4307,mjm:4308,mjn:4309,mjo:4310,mjp:4311,mjq:4312,mjr:4313,mjs:4314,mjt:4315,mju:4316,mjv:4317,mjw:4318,mjx:4319,mjy:4320,mjz:4321,mka:4322,mkb:4323,mkc:4324,mke:4325,mkf:4326,mkg:4327,mkh:4328,mki:4329,mkj:4330,mkk:4331,mkl:4332,mkm:4333,mkn:4334,mko:4335,mkp:4336,mkq:4337,mkr:4338,mks:4339,mkt:4340,mku:4341,mkv:4342,mkw:4343,mkx:4344,mky:4345,mkz:4346,mla:4347,mlb:4348,mlc:4349,mld:4350,mle:4351,mlf:4352,mlh:4353,mli:4354,mlj:4355,mlk:4356,mll:4357,mlm:4358,mln:4359,mlo:4360,mlp:4361,mlq:4362,mlr:4363,mls:4364,mlu:4365,mlv:4366,mlw:4367,mlx:4368,mlz:4369,mma:4370,mmb:4371,mmc:4372,mmd:4373,mme:4374,mmf:4375,mmg:4376,mmh:4377,mmi:4378,mmj:4379,mmk:4380,mml:4381,mmm:4382,mmn:4383,mmo:4384,mmp:4385,mmq:4386,mmr:4387,mmt:4388,mmu:4389,mmv:4390,mmw:4391,mmx:4392,mmy:4393,mmz:4394,mna:4395,mnb:4396,mnc:4397,mnd:4398,mne:4399,mnf:4400,mng:4401,mnh:4402,mni:4403,mnj:4404,mnk:4405,mnl:4406,mnm:4407,mnn:4408,mno:4409,mnp:4410,mnq:4411,mnr:4412,mns:4413,mnt:4414,mnu:4415,mnv:4416,mnw:4417,mnx:4418,mny:4419,mnz:4420,moa:4421,moc:4422,mod:4423,moe:4424,mof:4425,mog:4426,moh:4427,moi:4428,moj:4429,mok:4430,mom:4431,moo:4432,mop:4433,moq:4434,mor:4435,mos:4436,mot:4437,mou:4438,mov:4439,mow:4440,mox:4441,moy:4442,moz:4443,mpa:4444,mpb:4445,mpc:4446,mpd:4447,mpe:4448,mpg:4449,mph:4450,mpi:4451,mpj:4452,mpk:4453,mpl:4454,mpm:4455,mpn:4456,mpo:4457,mpp:4458,mpq:4459,mpr:4460,mps:4461,mpt:4462,mpu:4463,mpv:4464,mpw:4465,mpx:4466,mpy:4467,mpz:4468,mqa:4469,mqb:4470,mqc:4471,mqe:4472,mqf:4473,mqg:4474,mqh:4475,mqi:4476,mqj:4477,mqk:4478,mql:4479,mqm:4480,mqn:4481,mqo:4482,mqp:4483,mqq:4484,mqr:4485,mqs:4486,mqt:4487,mqu:4488,mqv:4489,mqw:4490,mqx:4491,mqy:4492,mqz:4493,mra:4494,mrb:4495,mrc:4496,mrd:4497,mre:4498,mrf:4499,mrg:4500,mrh:4501,mrj:4502,mrk:4503,mrl:4504,mrm:4505,mrn:4506,mro:4507,mrp:4508,mrq:4509,mrr:4510,mrs:4511,mrt:4512,mru:4513,mrv:4514,mrw:4515,mrx:4516,mry:4517,mrz:4518,msb:4519,msc:4520,msd:4521,mse:4522,msf:4523,msg:4524,msh:4525,msi:4526,msj:4527,msk:4528,msl:4529,msm:4530,msn:4531,mso:4532,msp:4533,msq:4534,msr:4535,mss:4536,mst:4537,msu:4538,msv:4539,msw:4540,msx:4541,msy:4542,msz:4543,mta:4544,mtb:4545,mtc:4546,mtd:4547,mte:4548,mtf:4549,mtg:4550,mth:4551,mti:4552,mtj:4553,mtk:4554,mtl:4555,mtm:4556,mtn:4557,mto:4558,mtp:4559,mtq:4560,mtr:4561,mts:4562,mtt:4563,mtu:4564,mtv:4565,mtw:4566,mtx:4567,mty:4568,mua:4569,mub:4570,muc:4571,mud:4572,mue:4573,mug:4574,muh:4575,mui:4576,muj:4577,muk:4578,mul:4579,mum:4580,mun:4581,muo:4582,mup:4583,muq:4584,mur:4585,mus:4586,mut:4587,muu:4588,muv:4589,mux:4590,muy:4591,muz:4592,mva:4593,mvb:4594,mvd:4595,mve:4596,mvf:4597,mvg:4598,mvh:4599,mvi:4600,mvk:4601,mvl:4602,mvm:4603,mvn:4604,mvo:4605,mvp:4606,mvq:4607,mvr:4608,mvs:4609,mvt:4610,mvu:4611,mvv:4612,mvw:4613,mvx:4614,mvy:4615,mvz:4616,mwa:4617,mwb:4618,mwc:4619,mwd:4620,mwe:4621,mwf:4622,mwg:4623,mwh:4624,mwi:4625,mwj:4626,mwk:4627,mwl:4628,mwm:4629,mwn:4630,mwo:4631,mwp:4632,mwq:4633,mwr:4634,mws:4635,mwt:4636,mwu:4637,mwv:4638,mww:4639,mwx:4640,mwy:4641,mwz:4642,mxa:4643,mxb:4644,mxc:4645,mxd:4646,mxe:4647,mxf:4648,mxg:4649,mxh:4650,mxi:4651,mxj:4652,mxk:4653,mxl:4654,mxm:4655,mxn:4656,mxo:4657,mxp:4658,mxq:4659,mxr:4660,mxs:4661,mxt:4662,mxu:4663,mxv:4664,mxw:4665,mxx:4666,mxy:4667,mxz:4668,myb:4669,myc:4670,myd:4671,mye:4672,myf:4673,myg:4674,myh:4675,myi:4676,myj:4677,myk:4678,myl:4679,mym:4680,myn:4681,myo:4682,myp:4683,myq:4684,myr:4685,mys:4686,myt:4687,myu:4688,myv:4689,myw:4690,myx:4691,myy:4692,myz:4693,mza:4694,mzb:4695,mzc:4696,mzd:4697,mze:4698,mzg:4699,mzh:4700,mzi:4701,mzj:4702,mzk:4703,mzl:4704,mzm:4705,mzn:4706,mzo:4707,mzp:4708,mzq:4709,mzr:4710,mzs:4711,mzt:4712,mzu:4713,mzv:4714,mzw:4715,mzx:4716,mzy:4717,mzz:4718,naa:4719,nab:4720,nac:4721,nad:4722,nae:4723,naf:4724,nag:4725,nah:4726,nai:4727,naj:4728,nak:4729,nal:4730,nam:4731,nan:4732,nao:4733,nap:4734,naq:4735,nar:4736,nas:4737,nat:4738,naw:4739,nax:4740,nay:4741,naz:4742,nba:4743,nbb:4744,nbc:4745,nbd:4746,nbe:4747,nbf:4748,nbg:4749,nbh:4750,nbi:4751,nbj:4752,nbk:4753,nbm:4754,nbn:4755,nbo:4756,nbp:4757,nbq:4758,nbr:4759,nbs:4760,nbt:4761,nbu:4762,nbv:4763,nbw:4764,nbx:4765,nby:4766,nca:4767,ncb:4768,ncc:4769,ncd:4770,nce:4771,ncf:4772,ncg:4773,nch:4774,nci:4775,ncj:4776,nck:4777,ncl:4778,ncm:4779,ncn:4780,nco:4781,ncp:4782,ncq:4783,ncr:4784,ncs:4785,nct:4786,ncu:4787,ncx:4788,ncz:4789,nda:4790,ndb:4791,ndc:4792,ndd:4793,ndf:4794,ndg:4795,ndh:4796,ndi:4797,ndj:4798,ndk:4799,ndl:4800,ndm:4801,ndn:4802,ndp:4803,ndq:4804,ndr:4805,nds:4806,ndt:4807,ndu:4808,ndv:4809,ndw:4810,ndx:4811,ndy:4812,ndz:4813,nea:4814,neb:4815,nec:4816,ned:4817,nee:4818,nef:4819,neg:4820,neh:4821,nei:4822,nej:4823,nek:4824,nem:4825,nen:4826,neo:4827,neq:4828,ner:4829,nes:4830,net:4831,neu:4832,nev:4833,new:4834,nex:4835,ney:4836,nez:4837,nfa:4838,nfd:4839,nfl:4840,nfr:4841,nfu:4842,nga:4843,ngb:4844,ngc:4845,ngd:4846,nge:4847,ngf:4848,ngg:4849,ngh:4850,ngi:4851,ngj:4852,ngk:4853,ngl:4854,ngm:4855,ngn:4856,ngo:4857,ngp:4858,ngq:4859,ngr:4860,ngs:4861,ngt:4862,ngu:4863,ngv:4864,ngw:4865,ngx:4866,ngy:4867,ngz:4868,nha:4869,nhb:4870,nhc:4871,nhd:4872,nhe:4873,nhf:4874,nhg:4875,nhh:4876,nhi:4877,nhk:4878,nhm:4879,nhn:4880,nho:4881,nhp:4882,nhq:4883,nhr:4884,nht:4885,nhu:4886,nhv:4887,nhw:4888,nhx:4889,nhy:4890,nhz:4891,nia:4892,nib:4893,nic:4894,nid:4895,nie:4896,nif:4897,nig:4898,nih:4899,nii:4900,nij:4901,nik:4902,nil:4903,nim:4904,nin:4905,nio:4906,niq:4907,nir:4908,nis:4909,nit:4910,niu:4911,niv:4912,niw:4913,nix:4914,niy:4915,niz:4916,nja:4917,njb:4918,njd:4919,njh:4920,nji:4921,njj:4922,njl:4923,njm:4924,njn:4925,njo:4926,njr:4927,njs:4928,njt:4929,nju:4930,njx:4931,njy:4932,njz:4933,nka:4934,nkb:4935,nkc:4936,nkd:4937,nke:4938,nkf:4939,nkg:4940,nkh:4941,nki:4942,nkj:4943,nkk:4944,nkm:4945,nkn:4946,nko:4947,nkp:4948,nkq:4949,nkr:4950,nks:4951,nkt:4952,nku:4953,nkv:4954,nkw:4955,nkx:4956,nkz:4957,nla:4958,nlc:4959,nle:4960,nlg:4961,nli:4962,nlj:4963,nlk:4964,nll:4965,nlm:4966,nln:4967,nlo:4968,nlq:4969,nlr:4970,nlu:4971,nlv:4972,nlw:4973,nlx:4974,nly:4975,nlz:4976,nma:4977,nmb:4978,nmc:4979,nmd:4980,nme:4981,nmf:4982,nmg:4983,nmh:4984,nmi:4985,nmj:4986,nmk:4987,nml:4988,nmm:4989,nmn:4990,nmo:4991,nmp:4992,nmq:4993,nmr:4994,nms:4995,nmt:4996,nmu:4997,nmv:4998,nmw:4999,nmx:5e3,nmy:5001,nmz:5002,nna:5003,nnb:5004,nnc:5005,nnd:5006,nne:5007,nnf:5008,nng:5009,nnh:5010,nni:5011,nnj:5012,nnk:5013,nnl:5014,nnm:5015,nnn:5016,nnp:5017,nnq:5018,nnr:5019,nns:5020,nnt:5021,nnu:5022,nnv:5023,nnw:5024,nnx:5025,nny:5026,nnz:5027,noa:5028,noc:5029,nod:5030,noe:5031,nof:5032,nog:5033,noh:5034,noi:5035,noj:5036,nok:5037,nol:5038,nom:5039,non:5040,noo:5041,nop:5042,noq:5043,nos:5044,not:5045,nou:5046,nov:5047,now:5048,noy:5049,noz:5050,npa:5051,npb:5052,npg:5053,nph:5054,npi:5055,npl:5056,npn:5057,npo:5058,nps:5059,npu:5060,npx:5061,npy:5062,nqg:5063,nqk:5064,nql:5065,nqm:5066,nqn:5067,nqo:5068,nqq:5069,nqt:5070,nqy:5071,nra:5072,nrb:5073,nrc:5074,nre:5075,nrf:5076,nrg:5077,nri:5078,nrk:5079,nrl:5080,nrm:5081,nrn:5082,nrp:5083,nrr:5084,nrt:5085,nru:5086,nrx:5087,nrz:5088,nsa:5089,nsb:5090,nsc:5091,nsd:5092,nse:5093,nsf:5094,nsg:5095,nsh:5096,nsi:5097,nsk:5098,nsl:5099,nsm:5100,nsn:5101,nso:5102,nsp:5103,nsq:5104,nsr:5105,nss:5106,nst:5107,nsu:5108,nsv:5109,nsw:5110,nsx:5111,nsy:5112,nsz:5113,ntd:5114,nte:5115,ntg:5116,nti:5117,ntj:5118,ntk:5119,ntm:5120,nto:5121,ntp:5122,ntr:5123,nts:5124,ntu:5125,ntw:5126,ntx:5127,nty:5128,ntz:5129,nua:5130,nub:5131,nuc:5132,nud:5133,nue:5134,nuf:5135,nug:5136,nuh:5137,nui:5138,nuj:5139,nuk:5140,nul:5141,num:5142,nun:5143,nuo:5144,nup:5145,nuq:5146,nur:5147,nus:5148,nut:5149,nuu:5150,nuv:5151,nuw:5152,nux:5153,nuy:5154,nuz:5155,nvh:5156,nvm:5157,nvo:5158,nwa:5159,nwb:5160,nwc:5161,nwe:5162,nwg:5163,nwi:5164,nwm:5165,nwo:5166,nwr:5167,nww:5168,nwx:5169,nwy:5170,nxa:5171,nxd:5172,nxe:5173,nxg:5174,nxi:5175,nxk:5176,nxl:5177,nxm:5178,nxn:5179,nxo:5180,nxq:5181,nxr:5182,nxu:5183,nxx:5184,nyb:5185,nyc:5186,nyd:5187,nye:5188,nyf:5189,nyg:5190,nyh:5191,nyi:5192,nyj:5193,nyk:5194,nyl:5195,nym:5196,nyn:5197,nyo:5198,nyp:5199,nyq:5200,nyr:5201,nys:5202,nyt:5203,nyu:5204,nyv:5205,nyw:5206,nyx:5207,nyy:5208,nza:5209,nzb:5210,nzd:5211,nzi:5212,nzk:5213,nzm:5214,nzs:5215,nzu:5216,nzy:5217,nzz:5218,oaa:5219,oac:5220,oar:5221,oav:5222,obi:5223,obk:5224,obl:5225,obm:5226,obo:5227,obr:5228,obt:5229,obu:5230,oca:5231,och:5232,ocm:5233,oco:5234,ocu:5235,oda:5236,odk:5237,odt:5238,odu:5239,ofo:5240,ofs:5241,ofu:5242,ogb:5243,ogc:5244,oge:5245,ogg:5246,ogo:5247,ogu:5248,oht:5249,ohu:5250,oia:5251,oie:5252,oin:5253,ojb:5254,ojc:5255,ojg:5256,ojp:5257,ojs:5258,ojv:5259,ojw:5260,oka:5261,okb:5262,okc:5263,okd:5264,oke:5265,okg:5266,okh:5267,oki:5268,okj:5269,okk:5270,okl:5271,okm:5272,okn:5273,oko:5274,okr:5275,oks:5276,oku:5277,okv:5278,okx:5279,okz:5280,ola:5281,old:5282,ole:5283,olk:5284,olm:5285,olo:5286,olr:5287,olt:5288,olu:5289,oma:5290,omb:5291,omc:5292,ome:5293,omg:5294,omi:5295,omk:5296,oml:5297,omn:5298,omo:5299,omp:5300,omq:5301,omr:5302,omt:5303,omu:5304,omv:5305,omw:5306,omx:5307,omy:5308,ona:5309,onb:5310,one:5311,ong:5312,oni:5313,onj:5314,onk:5315,onn:5316,ono:5317,onp:5318,onr:5319,ons:5320,ont:5321,onu:5322,onw:5323,onx:5324,ood:5325,oog:5326,oon:5327,oor:5328,oos:5329,opa:5330,opk:5331,opm:5332,opo:5333,opt:5334,opy:5335,ora:5336,orc:5337,ore:5338,org:5339,orh:5340,orn:5341,oro:5342,orr:5343,ors:5344,ort:5345,oru:5346,orv:5347,orw:5348,orx:5349,ory:5350,orz:5351,osa:5352,osc:5353,osi:5354,osn:5355,oso:5356,osp:5357,ost:5358,osu:5359,osx:5360,ota:5361,otb:5362,otd:5363,ote:5364,oti:5365,otk:5366,otl:5367,otm:5368,otn:5369,oto:5370,otq:5371,otr:5372,ots:5373,ott:5374,otu:5375,otw:5376,otx:5377,oty:5378,otz:5379,oua:5380,oub:5381,oue:5382,oui:5383,oum:5384,oun:5385,ovd:5386,owi:5387,owl:5388,oyb:5389,oyd:5390,oym:5391,oyy:5392,ozm:5393,paa:5394,pab:5395,pac:5396,pad:5397,pae:5398,paf:5399,pag:5400,pah:5401,pai:5402,pak:5403,pal:5404,pam:5405,pao:5406,pap:5407,paq:5408,par:5409,pas:5410,pat:5411,pau:5412,pav:5413,paw:5414,pax:5415,pay:5416,paz:5417,pbb:5418,pbc:5419,pbe:5420,pbf:5421,pbg:5422,pbh:5423,pbi:5424,pbl:5425,pbm:5426,pbn:5427,pbo:5428,pbp:5429,pbr:5430,pbs:5431,pbt:5432,pbu:5433,pbv:5434,pby:5435,pbz:5436,pca:5437,pcb:5438,pcc:5439,pcd:5440,pce:5441,pcf:5442,pcg:5443,pch:5444,pci:5445,pcj:5446,pck:5447,pcl:5448,pcm:5449,pcn:5450,pcp:5451,pcr:5452,pcw:5453,pda:5454,pdc:5455,pdi:5456,pdn:5457,pdo:5458,pdt:5459,pdu:5460,pea:5461,peb:5462,ped:5463,pee:5464,pef:5465,peg:5466,peh:5467,pei:5468,pej:5469,pek:5470,pel:5471,pem:5472,peo:5473,pep:5474,peq:5475,pes:5476,pev:5477,pex:5478,pey:5479,pez:5480,pfa:5481,pfe:5482,pfl:5483,pga:5484,pgd:5485,pgg:5486,pgi:5487,pgk:5488,pgl:5489,pgn:5490,pgs:5491,pgu:5492,pgy:5493,pgz:5494,pha:5495,phd:5496,phg:5497,phh:5498,phi:5499,phj:5500,phk:5501,phl:5502,phm:5503,phn:5504,pho:5505,phq:5506,phr:5507,pht:5508,phu:5509,phv:5510,phw:5511,pia:5512,pib:5513,pic:5514,pid:5515,pie:5516,pif:5517,pig:5518,pih:5519,pii:5520,pij:5521,pil:5522,pim:5523,pin:5524,pio:5525,pip:5526,pir:5527,pis:5528,pit:5529,piu:5530,piv:5531,piw:5532,pix:5533,piy:5534,piz:5535,pjt:5536,pka:5537,pkb:5538,pkc:5539,pkg:5540,pkh:5541,pkn:5542,pko:5543,pkp:5544,pkr:5545,pks:5546,pkt:5547,pku:5548,pla:5549,plb:5550,plc:5551,pld:5552,ple:5553,plf:5554,plg:5555,plh:5556,plj:5557,plk:5558,pll:5559,pln:5560,plo:5561,plp:5562,plq:5563,plr:5564,pls:5565,plt:5566,plu:5567,plv:5568,plw:5569,ply:5570,plz:5571,pma:5572,pmb:5573,pmc:5574,pmd:5575,pme:5576,pmf:5577,pmh:5578,pmi:5579,pmj:5580,pmk:5581,pml:5582,pmm:5583,pmn:5584,pmo:5585,pmq:5586,pmr:5587,pms:5588,pmt:5589,pmu:5590,pmw:5591,pmx:5592,pmy:5593,pmz:5594,pna:5595,pnb:5596,pnc:5597,pnd:5598,pne:5599,png:5600,pnh:5601,pni:5602,pnj:5603,pnk:5604,pnl:5605,pnm:5606,pnn:5607,pno:5608,pnp:5609,pnq:5610,pnr:5611,pns:5612,pnt:5613,pnu:5614,pnv:5615,pnw:5616,pnx:5617,pny:5618,pnz:5619,poc:5620,pod:5621,poe:5622,pof:5623,pog:5624,poh:5625,poi:5626,pok:5627,pom:5628,pon:5629,poo:5630,pop:5631,poq:5632,pos:5633,pot:5634,pov:5635,pow:5636,pox:5637,poy:5638,poz:5639,ppa:5640,ppe:5641,ppi:5642,ppk:5643,ppl:5644,ppm:5645,ppn:5646,ppo:5647,ppp:5648,ppq:5649,ppr:5650,pps:5651,ppt:5652,ppu:5653,pqa:5654,pqe:5655,pqm:5656,pqw:5657,pra:5658,prb:5659,prc:5660,prd:5661,pre:5662,prf:5663,prg:5664,prh:5665,pri:5666,prk:5667,prl:5668,prm:5669,prn:5670,pro:5671,prp:5672,prq:5673,prr:5674,prs:5675,prt:5676,pru:5677,prw:5678,prx:5679,pry:5680,prz:5681,psa:5682,psc:5683,psd:5684,pse:5685,psg:5686,psh:5687,psi:5688,psl:5689,psm:5690,psn:5691,pso:5692,psp:5693,psq:5694,psr:5695,pss:5696,pst:5697,psu:5698,psw:5699,psy:5700,pta:5701,pth:5702,pti:5703,ptn:5704,pto:5705,ptp:5706,ptq:5707,ptr:5708,ptt:5709,ptu:5710,ptv:5711,ptw:5712,pty:5713,pua:5714,pub:5715,puc:5716,pud:5717,pue:5718,puf:5719,pug:5720,pui:5721,puj:5722,puk:5723,pum:5724,puo:5725,pup:5726,puq:5727,pur:5728,put:5729,puu:5730,puw:5731,pux:5732,puy:5733,puz:5734,pwa:5735,pwb:5736,pwg:5737,pwi:5738,pwm:5739,pwn:5740,pwo:5741,pwr:5742,pww:5743,pxm:5744,pye:5745,pym:5746,pyn:5747,pys:5748,pyu:5749,pyx:5750,pyy:5751,pzh:5752,pzn:5753,"qaa..qtz":5754,qua:5755,qub:5756,quc:5757,qud:5758,quf:5759,qug:5760,quh:5761,qui:5762,quk:5763,qul:5764,qum:5765,qun:5766,qup:5767,quq:5768,qur:5769,qus:5770,quv:5771,quw:5772,qux:5773,quy:5774,quz:5775,qva:5776,qvc:5777,qve:5778,qvh:5779,qvi:5780,qvj:5781,qvl:5782,qvm:5783,qvn:5784,qvo:5785,qvp:5786,qvs:5787,qvw:5788,qvy:5789,qvz:5790,qwa:5791,qwc:5792,qwe:5793,qwh:5794,qwm:5795,qws:5796,qwt:5797,qxa:5798,qxc:5799,qxh:5800,qxl:5801,qxn:5802,qxo:5803,qxp:5804,qxq:5805,qxr:5806,qxs:5807,qxt:5808,qxu:5809,qxw:5810,qya:5811,qyp:5812,raa:5813,rab:5814,rac:5815,rad:5816,raf:5817,rag:5818,rah:5819,rai:5820,raj:5821,rak:5822,ral:5823,ram:5824,ran:5825,rao:5826,rap:5827,raq:5828,rar:5829,ras:5830,rat:5831,rau:5832,rav:5833,raw:5834,rax:5835,ray:5836,raz:5837,rbb:5838,rbk:5839,rbl:5840,rbp:5841,rcf:5842,rdb:5843,rea:5844,reb:5845,ree:5846,reg:5847,rei:5848,rej:5849,rel:5850,rem:5851,ren:5852,rer:5853,res:5854,ret:5855,rey:5856,rga:5857,rge:5858,rgk:5859,rgn:5860,rgr:5861,rgs:5862,rgu:5863,rhg:5864,rhp:5865,ria:5866,rib:5867,rie:5868,rif:5869,ril:5870,rim:5871,rin:5872,rir:5873,rit:5874,riu:5875,rjg:5876,rji:5877,rjs:5878,rka:5879,rkb:5880,rkh:5881,rki:5882,rkm:5883,rkt:5884,rkw:5885,rma:5886,rmb:5887,rmc:5888,rmd:5889,rme:5890,rmf:5891,rmg:5892,rmh:5893,rmi:5894,rmk:5895,rml:5896,rmm:5897,rmn:5898,rmo:5899,rmp:5900,rmq:5901,rmr:5902,rms:5903,rmt:5904,rmu:5905,rmv:5906,rmw:5907,rmx:5908,rmy:5909,rmz:5910,rna:5911,rnb:5912,rnd:5913,rng:5914,rnl:5915,rnn:5916,rnp:5917,rnr:5918,rnw:5919,roa:5920,rob:5921,roc:5922,rod:5923,roe:5924,rof:5925,rog:5926,rol:5927,rom:5928,roo:5929,rop:5930,ror:5931,rou:5932,row:5933,rpn:5934,rpt:5935,rri:5936,rro:5937,rrt:5938,rsb:5939,rsi:5940,rsk:5941,rsl:5942,rsm:5943,rsn:5944,rtc:5945,rth:5946,rtm:5947,rts:5948,rtw:5949,rub:5950,ruc:5951,rue:5952,ruf:5953,rug:5954,ruh:5955,rui:5956,ruk:5957,ruo:5958,rup:5959,ruq:5960,rut:5961,ruu:5962,ruy:5963,ruz:5964,rwa:5965,rwk:5966,rwl:5967,rwm:5968,rwo:5969,rwr:5970,rxd:5971,rxw:5972,ryn:5973,rys:5974,ryu:5975,rzh:5976,saa:5977,sab:5978,sac:5979,sad:5980,sae:5981,saf:5982,sah:5983,sai:5984,saj:5985,sak:5986,sal:5987,sam:5988,sao:5989,sap:5990,saq:5991,sar:5992,sas:5993,sat:5994,sau:5995,sav:5996,saw:5997,sax:5998,say:5999,saz:6e3,sba:6001,sbb:6002,sbc:6003,sbd:6004,sbe:6005,sbf:6006,sbg:6007,sbh:6008,sbi:6009,sbj:6010,sbk:6011,sbl:6012,sbm:6013,sbn:6014,sbo:6015,sbp:6016,sbq:6017,sbr:6018,sbs:6019,sbt:6020,sbu:6021,sbv:6022,sbw:6023,sbx:6024,sby:6025,sbz:6026,sca:6027,scb:6028,sce:6029,scf:6030,scg:6031,sch:6032,sci:6033,sck:6034,scl:6035,scn:6036,sco:6037,scp:6038,scq:6039,scs:6040,sct:6041,scu:6042,scv:6043,scw:6044,scx:6045,sda:6046,sdb:6047,sdc:6048,sde:6049,sdf:6050,sdg:6051,sdh:6052,sdj:6053,sdk:6054,sdl:6055,sdm:6056,sdn:6057,sdo:6058,sdp:6059,sdq:6060,sdr:6061,sds:6062,sdt:6063,sdu:6064,sdv:6065,sdx:6066,sdz:6067,sea:6068,seb:6069,sec:6070,sed:6071,see:6072,sef:6073,seg:6074,seh:6075,sei:6076,sej:6077,sek:6078,sel:6079,sem:6080,sen:6081,seo:6082,sep:6083,seq:6084,ser:6085,ses:6086,set:6087,seu:6088,sev:6089,sew:6090,sey:6091,sez:6092,sfb:6093,sfe:6094,sfm:6095,sfs:6096,sfw:6097,sga:6098,sgb:6099,sgc:6100,sgd:6101,sge:6102,sgg:6103,sgh:6104,sgi:6105,sgj:6106,sgk:6107,sgl:6108,sgm:6109,sgn:6110,sgo:6111,sgp:6112,sgr:6113,sgs:6114,sgt:6115,sgu:6116,sgw:6117,sgx:6118,sgy:6119,sgz:6120,sha:6121,shb:6122,shc:6123,shd:6124,she:6125,shg:6126,shh:6127,shi:6128,shj:6129,shk:6130,shl:6131,shm:6132,shn:6133,sho:6134,shp:6135,shq:6136,shr:6137,shs:6138,sht:6139,shu:6140,shv:6141,shw:6142,shx:6143,shy:6144,shz:6145,sia:6146,sib:6147,sid:6148,sie:6149,sif:6150,sig:6151,sih:6152,sii:6153,sij:6154,sik:6155,sil:6156,sim:6157,sio:6158,sip:6159,siq:6160,sir:6161,sis:6162,sit:6163,siu:6164,siv:6165,siw:6166,six:6167,siy:6168,siz:6169,sja:6170,sjb:6171,sjd:6172,sje:6173,sjg:6174,sjk:6175,sjl:6176,sjm:6177,sjn:6178,sjo:6179,sjp:6180,sjr:6181,sjs:6182,sjt:6183,sju:6184,sjw:6185,ska:6186,skb:6187,skc:6188,skd:6189,ske:6190,skf:6191,skg:6192,skh:6193,ski:6194,skj:6195,skk:6196,skm:6197,skn:6198,sko:6199,skp:6200,skq:6201,skr:6202,sks:6203,skt:6204,sku:6205,skv:6206,skw:6207,skx:6208,sky:6209,skz:6210,sla:6211,slc:6212,sld:6213,sle:6214,slf:6215,slg:6216,slh:6217,sli:6218,slj:6219,sll:6220,slm:6221,sln:6222,slp:6223,slq:6224,slr:6225,sls:6226,slt:6227,slu:6228,slw:6229,slx:6230,sly:6231,slz:6232,sma:6233,smb:6234,smc:6235,smd:6236,smf:6237,smg:6238,smh:6239,smi:6240,smj:6241,smk:6242,sml:6243,smm:6244,smn:6245,smp:6246,smq:6247,smr:6248,sms:6249,smt:6250,smu:6251,smv:6252,smw:6253,smx:6254,smy:6255,smz:6256,snb:6257,snc:6258,sne:6259,snf:6260,sng:6261,snh:6262,sni:6263,snj:6264,snk:6265,snl:6266,snm:6267,snn:6268,sno:6269,snp:6270,snq:6271,snr:6272,sns:6273,snu:6274,snv:6275,snw:6276,snx:6277,sny:6278,snz:6279,soa:6280,sob:6281,soc:6282,sod:6283,soe:6284,sog:6285,soh:6286,soi:6287,soj:6288,sok:6289,sol:6290,son:6291,soo:6292,sop:6293,soq:6294,sor:6295,sos:6296,sou:6297,sov:6298,sow:6299,sox:6300,soy:6301,soz:6302,spb:6303,spc:6304,spd:6305,spe:6306,spg:6307,spi:6308,spk:6309,spl:6310,spm:6311,spn:6312,spo:6313,spp:6314,spq:6315,spr:6316,sps:6317,spt:6318,spu:6319,spv:6320,spx:6321,spy:6322,sqa:6323,sqh:6324,sqj:6325,sqk:6326,sqm:6327,sqn:6328,sqo:6329,sqq:6330,sqr:6331,sqs:6332,sqt:6333,squ:6334,sqx:6335,sra:6336,srb:6337,src:6338,sre:6339,srf:6340,srg:6341,srh:6342,sri:6343,srk:6344,srl:6345,srm:6346,srn:6347,sro:6348,srq:6349,srr:6350,srs:6351,srt:6352,sru:6353,srv:6354,srw:6355,srx:6356,sry:6357,srz:6358,ssa:6359,ssb:6360,ssc:6361,ssd:6362,sse:6363,ssf:6364,ssg:6365,ssh:6366,ssi:6367,ssj:6368,ssk:6369,ssl:6370,ssm:6371,ssn:6372,sso:6373,ssp:6374,ssq:6375,ssr:6376,sss:6377,sst:6378,ssu:6379,ssv:6380,ssx:6381,ssy:6382,ssz:6383,sta:6384,stb:6385,std:6386,ste:6387,stf:6388,stg:6389,sth:6390,sti:6391,stj:6392,stk:6393,stl:6394,stm:6395,stn:6396,sto:6397,stp:6398,stq:6399,str:6400,sts:6401,stt:6402,stu:6403,stv:6404,stw:6405,sty:6406,sua:6407,sub:6408,suc:6409,sue:6410,sug:6411,sui:6412,suj:6413,suk:6414,sul:6415,sum:6416,suo:6417,suq:6418,sur:6419,sus:6420,sut:6421,suv:6422,suw:6423,sux:6424,suy:6425,suz:6426,sva:6427,svb:6428,svc:6429,sve:6430,svk:6431,svm:6432,svr:6433,svs:6434,svx:6435,swb:6436,swc:6437,swf:6438,swg:6439,swh:6440,swi:6441,swj:6442,swk:6443,swl:6444,swm:6445,swn:6446,swo:6447,swp:6448,swq:6449,swr:6450,sws:6451,swt:6452,swu:6453,swv:6454,sww:6455,swx:6456,swy:6457,sxb:6458,sxc:6459,sxe:6460,sxg:6461,sxk:6462,sxl:6463,sxm:6464,sxn:6465,sxo:6466,sxr:6467,sxs:6468,sxu:6469,sxw:6470,sya:6471,syb:6472,syc:6473,syd:6474,syi:6475,syk:6476,syl:6477,sym:6478,syn:6479,syo:6480,syr:6481,sys:6482,syw:6483,syx:6484,syy:6485,sza:6486,szb:6487,szc:6488,szd:6489,sze:6490,szg:6491,szl:6492,szn:6493,szp:6494,szs:6495,szv:6496,szw:6497,szy:6498,taa:6499,tab:6500,tac:6501,tad:6502,tae:6503,taf:6504,tag:6505,tai:6506,taj:6507,tak:6508,tal:6509,tan:6510,tao:6511,tap:6512,taq:6513,tar:6514,tas:6515,tau:6516,tav:6517,taw:6518,tax:6519,tay:6520,taz:6521,tba:6522,tbb:6523,tbc:6524,tbd:6525,tbe:6526,tbf:6527,tbg:6528,tbh:6529,tbi:6530,tbj:6531,tbk:6532,tbl:6533,tbm:6534,tbn:6535,tbo:6536,tbp:6537,tbq:6538,tbr:6539,tbs:6540,tbt:6541,tbu:6542,tbv:6543,tbw:6544,tbx:6545,tby:6546,tbz:6547,tca:6548,tcb:6549,tcc:6550,tcd:6551,tce:6552,tcf:6553,tcg:6554,tch:6555,tci:6556,tck:6557,tcl:6558,tcm:6559,tcn:6560,tco:6561,tcp:6562,tcq:6563,tcs:6564,tct:6565,tcu:6566,tcw:6567,tcx:6568,tcy:6569,tcz:6570,tda:6571,tdb:6572,tdc:6573,tdd:6574,tde:6575,tdf:6576,tdg:6577,tdh:6578,tdi:6579,tdj:6580,tdk:6581,tdl:6582,tdm:6583,tdn:6584,tdo:6585,tdq:6586,tdr:6587,tds:6588,tdt:6589,tdu:6590,tdv:6591,tdx:6592,tdy:6593,tea:6594,teb:6595,tec:6596,ted:6597,tee:6598,tef:6599,teg:6600,teh:6601,tei:6602,tek:6603,tem:6604,ten:6605,teo:6606,tep:6607,teq:6608,ter:6609,tes:6610,tet:6611,teu:6612,tev:6613,tew:6614,tex:6615,tey:6616,tez:6617,tfi:6618,tfn:6619,tfo:6620,tfr:6621,tft:6622,tga:6623,tgb:6624,tgc:6625,tgd:6626,tge:6627,tgf:6628,tgg:6629,tgh:6630,tgi:6631,tgj:6632,tgn:6633,tgo:6634,tgp:6635,tgq:6636,tgr:6637,tgs:6638,tgt:6639,tgu:6640,tgv:6641,tgw:6642,tgx:6643,tgy:6644,tgz:6645,thc:6646,thd:6647,the:6648,thf:6649,thh:6650,thi:6651,thk:6652,thl:6653,thm:6654,thn:6655,thp:6656,thq:6657,thr:6658,ths:6659,tht:6660,thu:6661,thv:6662,thw:6663,thx:6664,thy:6665,thz:6666,tia:6667,tic:6668,tid:6669,tie:6670,tif:6671,tig:6672,tih:6673,tii:6674,tij:6675,tik:6676,til:6677,tim:6678,tin:6679,tio:6680,tip:6681,tiq:6682,tis:6683,tit:6684,tiu:6685,tiv:6686,tiw:6687,tix:6688,tiy:6689,tiz:6690,tja:6691,tjg:6692,tji:6693,tjj:6694,tjl:6695,tjm:6696,tjn:6697,tjo:6698,tjp:6699,tjs:6700,tju:6701,tjw:6702,tka:6703,tkb:6704,tkd:6705,tke:6706,tkf:6707,tkg:6708,tkk:6709,tkl:6710,tkm:6711,tkn:6712,tkp:6713,tkq:6714,tkr:6715,tks:6716,tkt:6717,tku:6718,tkv:6719,tkw:6720,tkx:6721,tkz:6722,tla:6723,tlb:6724,tlc:6725,tld:6726,tlf:6727,tlg:6728,tlh:6729,tli:6730,tlj:6731,tlk:6732,tll:6733,tlm:6734,tln:6735,tlo:6736,tlp:6737,tlq:6738,tlr:6739,tls:6740,tlt:6741,tlu:6742,tlv:6743,tlw:6744,tlx:6745,tly:6746,tma:6747,tmb:6748,tmc:6749,tmd:6750,tme:6751,tmf:6752,tmg:6753,tmh:6754,tmi:6755,tmj:6756,tmk:6757,tml:6758,tmm:6759,tmn:6760,tmo:6761,tmp:6762,tmq:6763,tmr:6764,tms:6765,tmt:6766,tmu:6767,tmv:6768,tmw:6769,tmy:6770,tmz:6771,tna:6772,tnb:6773,tnc:6774,tnd:6775,tne:6776,tnf:6777,tng:6778,tnh:6779,tni:6780,tnk:6781,tnl:6782,tnm:6783,tnn:6784,tno:6785,tnp:6786,tnq:6787,tnr:6788,tns:6789,tnt:6790,tnu:6791,tnv:6792,tnw:6793,tnx:6794,tny:6795,tnz:6796,tob:6797,toc:6798,tod:6799,toe:6800,tof:6801,tog:6802,toh:6803,toi:6804,toj:6805,tok:6806,tol:6807,tom:6808,too:6809,top:6810,toq:6811,tor:6812,tos:6813,tou:6814,tov:6815,tow:6816,tox:6817,toy:6818,toz:6819,tpa:6820,tpc:6821,tpe:6822,tpf:6823,tpg:6824,tpi:6825,tpj:6826,tpk:6827,tpl:6828,tpm:6829,tpn:6830,tpo:6831,tpp:6832,tpq:6833,tpr:6834,tpt:6835,tpu:6836,tpv:6837,tpw:6838,tpx:6839,tpy:6840,tpz:6841,tqb:6842,tql:6843,tqm:6844,tqn:6845,tqo:6846,tqp:6847,tqq:6848,tqr:6849,tqt:6850,tqu:6851,tqw:6852,tra:6853,trb:6854,trc:6855,trd:6856,tre:6857,trf:6858,trg:6859,trh:6860,tri:6861,trj:6862,trk:6863,trl:6864,trm:6865,trn:6866,tro:6867,trp:6868,trq:6869,trr:6870,trs:6871,trt:6872,tru:6873,trv:6874,trw:6875,trx:6876,try:6877,trz:6878,tsa:6879,tsb:6880,tsc:6881,tsd:6882,tse:6883,tsf:6884,tsg:6885,tsh:6886,tsi:6887,tsj:6888,tsk:6889,tsl:6890,tsm:6891,tsp:6892,tsq:6893,tsr:6894,tss:6895,tst:6896,tsu:6897,tsv:6898,tsw:6899,tsx:6900,tsy:6901,tsz:6902,tta:6903,ttb:6904,ttc:6905,ttd:6906,tte:6907,ttf:6908,ttg:6909,tth:6910,tti:6911,ttj:6912,ttk:6913,ttl:6914,ttm:6915,ttn:6916,tto:6917,ttp:6918,ttq:6919,ttr:6920,tts:6921,ttt:6922,ttu:6923,ttv:6924,ttw:6925,tty:6926,ttz:6927,tua:6928,tub:6929,tuc:6930,tud:6931,tue:6932,tuf:6933,tug:6934,tuh:6935,tui:6936,tuj:6937,tul:6938,tum:6939,tun:6940,tuo:6941,tup:6942,tuq:6943,tus:6944,tut:6945,tuu:6946,tuv:6947,tuw:6948,tux:6949,tuy:6950,tuz:6951,tva:6952,tvd:6953,tve:6954,tvk:6955,tvl:6956,tvm:6957,tvn:6958,tvo:6959,tvs:6960,tvt:6961,tvu:6962,tvw:6963,tvx:6964,tvy:6965,twa:6966,twb:6967,twc:6968,twd:6969,twe:6970,twf:6971,twg:6972,twh:6973,twl:6974,twm:6975,twn:6976,two:6977,twp:6978,twq:6979,twr:6980,twt:6981,twu:6982,tww:6983,twx:6984,twy:6985,txa:6986,txb:6987,txc:6988,txe:6989,txg:6990,txh:6991,txi:6992,txj:6993,txm:6994,txn:6995,txo:6996,txq:6997,txr:6998,txs:6999,txt:7e3,txu:7001,txx:7002,txy:7003,tya:7004,tye:7005,tyh:7006,tyi:7007,tyj:7008,tyl:7009,tyn:7010,typ:7011,tyr:7012,tys:7013,tyt:7014,tyu:7015,tyv:7016,tyx:7017,tyy:7018,tyz:7019,tza:7020,tzh:7021,tzj:7022,tzl:7023,tzm:7024,tzn:7025,tzo:7026,tzx:7027,uam:7028,uan:7029,uar:7030,uba:7031,ubi:7032,ubl:7033,ubr:7034,ubu:7035,uby:7036,uda:7037,ude:7038,udg:7039,udi:7040,udj:7041,udl:7042,udm:7043,udu:7044,ues:7045,ufi:7046,uga:7047,ugb:7048,uge:7049,ugh:7050,ugn:7051,ugo:7052,ugy:7053,uha:7054,uhn:7055,uis:7056,uiv:7057,uji:7058,uka:7059,ukg:7060,ukh:7061,uki:7062,ukk:7063,ukl:7064,ukp:7065,ukq:7066,uks:7067,uku:7068,ukv:7069,ukw:7070,uky:7071,ula:7072,ulb:7073,ulc:7074,ule:7075,ulf:7076,uli:7077,ulk:7078,ull:7079,ulm:7080,uln:7081,ulu:7082,ulw:7083,uma:7084,umb:7085,umc:7086,umd:7087,umg:7088,umi:7089,umm:7090,umn:7091,umo:7092,ump:7093,umr:7094,ums:7095,umu:7096,una:7097,und:7098,une:7099,ung:7100,uni:7101,unk:7102,unm:7103,unn:7104,unp:7105,unr:7106,unu:7107,unx:7108,unz:7109,uok:7110,uon:7111,upi:7112,upv:7113,ura:7114,urb:7115,urc:7116,ure:7117,urf:7118,urg:7119,urh:7120,uri:7121,urj:7122,urk:7123,url:7124,urm:7125,urn:7126,uro:7127,urp:7128,urr:7129,urt:7130,uru:7131,urv:7132,urw:7133,urx:7134,ury:7135,urz:7136,usa:7137,ush:7138,usi:7139,usk:7140,usp:7141,uss:7142,usu:7143,uta:7144,ute:7145,uth:7146,utp:7147,utr:7148,utu:7149,uum:7150,uun:7151,uur:7152,uuu:7153,uve:7154,uvh:7155,uvl:7156,uwa:7157,uya:7158,uzn:7159,uzs:7160,vaa:7161,vae:7162,vaf:7163,vag:7164,vah:7165,vai:7166,vaj:7167,val:7168,vam:7169,van:7170,vao:7171,vap:7172,var:7173,vas:7174,vau:7175,vav:7176,vay:7177,vbb:7178,vbk:7179,vec:7180,ved:7181,vel:7182,vem:7183,veo:7184,vep:7185,ver:7186,vgr:7187,vgt:7188,vic:7189,vid:7190,vif:7191,vig:7192,vil:7193,vin:7194,vis:7195,vit:7196,viv:7197,vka:7198,vki:7199,vkj:7200,vkk:7201,vkl:7202,vkm:7203,vkn:7204,vko:7205,vkp:7206,vkt:7207,vku:7208,vkz:7209,vlp:7210,vls:7211,vma:7212,vmb:7213,vmc:7214,vmd:7215,vme:7216,vmf:7217,vmg:7218,vmh:7219,vmi:7220,vmj:7221,vmk:7222,vml:7223,vmm:7224,vmp:7225,vmq:7226,vmr:7227,vms:7228,vmu:7229,vmv:7230,vmw:7231,vmx:7232,vmy:7233,vmz:7234,vnk:7235,vnm:7236,vnp:7237,vor:7238,vot:7239,vra:7240,vro:7241,vrs:7242,vrt:7243,vsi:7244,vsl:7245,vsv:7246,vto:7247,vum:7248,vun:7249,vut:7250,vwa:7251,waa:7252,wab:7253,wac:7254,wad:7255,wae:7256,waf:7257,wag:7258,wah:7259,wai:7260,waj:7261,wak:7262,wal:7263,wam:7264,wan:7265,wao:7266,wap:7267,waq:7268,war:7269,was:7270,wat:7271,wau:7272,wav:7273,waw:7274,wax:7275,way:7276,waz:7277,wba:7278,wbb:7279,wbe:7280,wbf:7281,wbh:7282,wbi:7283,wbj:7284,wbk:7285,wbl:7286,wbm:7287,wbp:7288,wbq:7289,wbr:7290,wbs:7291,wbt:7292,wbv:7293,wbw:7294,wca:7295,wci:7296,wdd:7297,wdg:7298,wdj:7299,wdk:7300,wdt:7301,wdu:7302,wdy:7303,wea:7304,wec:7305,wed:7306,weg:7307,weh:7308,wei:7309,wem:7310,wen:7311,weo:7312,wep:7313,wer:7314,wes:7315,wet:7316,weu:7317,wew:7318,wfg:7319,wga:7320,wgb:7321,wgg:7322,wgi:7323,wgo:7324,wgu:7325,wgw:7326,wgy:7327,wha:7328,whg:7329,whk:7330,whu:7331,wib:7332,wic:7333,wie:7334,wif:7335,wig:7336,wih:7337,wii:7338,wij:7339,wik:7340,wil:7341,wim:7342,win:7343,wir:7344,wit:7345,wiu:7346,wiv:7347,wiw:7348,wiy:7349,wja:7350,wji:7351,wka:7352,wkb:7353,wkd:7354,wkl:7355,wkr:7356,wku:7357,wkw:7358,wky:7359,wla:7360,wlc:7361,wle:7362,wlg:7363,wlh:7364,wli:7365,wlk:7366,wll:7367,wlm:7368,wlo:7369,wlr:7370,wls:7371,wlu:7372,wlv:7373,wlw:7374,wlx:7375,wly:7376,wma:7377,wmb:7378,wmc:7379,wmd:7380,wme:7381,wmg:7382,wmh:7383,wmi:7384,wmm:7385,wmn:7386,wmo:7387,wms:7388,wmt:7389,wmw:7390,wmx:7391,wnb:7392,wnc:7393,wnd:7394,wne:7395,wng:7396,wni:7397,wnk:7398,wnm:7399,wnn:7400,wno:7401,wnp:7402,wnu:7403,wnw:7404,wny:7405,woa:7406,wob:7407,woc:7408,wod:7409,woe:7410,wof:7411,wog:7412,woi:7413,wok:7414,wom:7415,won:7416,woo:7417,wor:7418,wos:7419,wow:7420,woy:7421,wpc:7422,wra:7423,wrb:7424,wrd:7425,wrg:7426,wrh:7427,wri:7428,wrk:7429,wrl:7430,wrm:7431,wrn:7432,wro:7433,wrp:7434,wrr:7435,wrs:7436,wru:7437,wrv:7438,wrw:7439,wrx:7440,wry:7441,wrz:7442,wsa:7443,wsg:7444,wsi:7445,wsk:7446,wsr:7447,wss:7448,wsu:7449,wsv:7450,wtf:7451,wth:7452,wti:7453,wtk:7454,wtm:7455,wtw:7456,wua:7457,wub:7458,wud:7459,wuh:7460,wul:7461,wum:7462,wun:7463,wur:7464,wut:7465,wuu:7466,wuv:7467,wux:7468,wuy:7469,wwa:7470,wwb:7471,wwo:7472,wwr:7473,www:7474,wxa:7475,wxw:7476,wya:7477,wyb:7478,wyi:7479,wym:7480,wyn:7481,wyr:7482,wyy:7483,xaa:7484,xab:7485,xac:7486,xad:7487,xae:7488,xag:7489,xai:7490,xaj:7491,xak:7492,xal:7493,xam:7494,xan:7495,xao:7496,xap:7497,xaq:7498,xar:7499,xas:7500,xat:7501,xau:7502,xav:7503,xaw:7504,xay:7505,xba:7506,xbb:7507,xbc:7508,xbd:7509,xbe:7510,xbg:7511,xbi:7512,xbj:7513,xbm:7514,xbn:7515,xbo:7516,xbp:7517,xbr:7518,xbw:7519,xbx:7520,xby:7521,xcb:7522,xcc:7523,xce:7524,xcg:7525,xch:7526,xcl:7527,xcm:7528,xcn:7529,xco:7530,xcr:7531,xct:7532,xcu:7533,xcv:7534,xcw:7535,xcy:7536,xda:7537,xdc:7538,xdk:7539,xdm:7540,xdo:7541,xdq:7542,xdy:7543,xeb:7544,xed:7545,xeg:7546,xel:7547,xem:7548,xep:7549,xer:7550,xes:7551,xet:7552,xeu:7553,xfa:7554,xga:7555,xgb:7556,xgd:7557,xgf:7558,xgg:7559,xgi:7560,xgl:7561,xgm:7562,xgn:7563,xgr:7564,xgu:7565,xgw:7566,xha:7567,xhc:7568,xhd:7569,xhe:7570,xhm:7571,xhr:7572,xht:7573,xhu:7574,xhv:7575,xia:7576,xib:7577,xii:7578,xil:7579,xin:7580,xip:7581,xir:7582,xis:7583,xiv:7584,xiy:7585,xjb:7586,xjt:7587,xka:7588,xkb:7589,xkc:7590,xkd:7591,xke:7592,xkf:7593,xkg:7594,xkh:7595,xki:7596,xkj:7597,xkk:7598,xkl:7599,xkn:7600,xko:7601,xkp:7602,xkq:7603,xkr:7604,xks:7605,xkt:7606,xku:7607,xkv:7608,xkw:7609,xkx:7610,xky:7611,xkz:7612,xla:7613,xlb:7614,xlc:7615,xld:7616,xle:7617,xlg:7618,xli:7619,xln:7620,xlo:7621,xlp:7622,xls:7623,xlu:7624,xly:7625,xma:7626,xmb:7627,xmc:7628,xmd:7629,xme:7630,xmf:7631,xmg:7632,xmh:7633,xmj:7634,xmk:7635,xml:7636,xmm:7637,xmn:7638,xmo:7639,xmp:7640,xmq:7641,xmr:7642,xms:7643,xmt:7644,xmu:7645,xmv:7646,xmw:7647,xmx:7648,xmy:7649,xmz:7650,xna:7651,xnb:7652,xnd:7653,xng:7654,xnh:7655,xni:7656,xnj:7657,xnk:7658,xnm:7659,xnn:7660,xno:7661,xnq:7662,xnr:7663,xns:7664,xnt:7665,xnu:7666,xny:7667,xnz:7668,xoc:7669,xod:7670,xog:7671,xoi:7672,xok:7673,xom:7674,xon:7675,xoo:7676,xop:7677,xor:7678,xow:7679,xpa:7680,xpb:7681,xpc:7682,xpd:7683,xpe:7684,xpf:7685,xpg:7686,xph:7687,xpi:7688,xpj:7689,xpk:7690,xpl:7691,xpm:7692,xpn:7693,xpo:7694,xpp:7695,xpq:7696,xpr:7697,xps:7698,xpt:7699,xpu:7700,xpv:7701,xpw:7702,xpx:7703,xpy:7704,xpz:7705,xqa:7706,xqt:7707,xra:7708,xrb:7709,xrd:7710,xre:7711,xrg:7712,xri:7713,xrm:7714,xrn:7715,xrq:7716,xrr:7717,xrt:7718,xru:7719,xrw:7720,xsa:7721,xsb:7722,xsc:7723,xsd:7724,xse:7725,xsh:7726,xsi:7727,xsj:7728,xsl:7729,xsm:7730,xsn:7731,xso:7732,xsp:7733,xsq:7734,xsr:7735,xss:7736,xsu:7737,xsv:7738,xsy:7739,xta:7740,xtb:7741,xtc:7742,xtd:7743,xte:7744,xtg:7745,xth:7746,xti:7747,xtj:7748,xtl:7749,xtm:7750,xtn:7751,xto:7752,xtp:7753,xtq:7754,xtr:7755,xts:7756,xtt:7757,xtu:7758,xtv:7759,xtw:7760,xty:7761,xtz:7762,xua:7763,xub:7764,xud:7765,xug:7766,xuj:7767,xul:7768,xum:7769,xun:7770,xuo:7771,xup:7772,xur:7773,xut:7774,xuu:7775,xve:7776,xvi:7777,xvn:7778,xvo:7779,xvs:7780,xwa:7781,xwc:7782,xwd:7783,xwe:7784,xwg:7785,xwj:7786,xwk:7787,xwl:7788,xwo:7789,xwr:7790,xwt:7791,xww:7792,xxb:7793,xxk:7794,xxm:7795,xxr:7796,xxt:7797,xya:7798,xyb:7799,xyj:7800,xyk:7801,xyl:7802,xyt:7803,xyy:7804,xzh:7805,xzm:7806,xzp:7807,yaa:7808,yab:7809,yac:7810,yad:7811,yae:7812,yaf:7813,yag:7814,yah:7815,yai:7816,yaj:7817,yak:7818,yal:7819,yam:7820,yan:7821,yao:7822,yap:7823,yaq:7824,yar:7825,yas:7826,yat:7827,yau:7828,yav:7829,yaw:7830,yax:7831,yay:7832,yaz:7833,yba:7834,ybb:7835,ybd:7836,ybe:7837,ybh:7838,ybi:7839,ybj:7840,ybk:7841,ybl:7842,ybm:7843,ybn:7844,ybo:7845,ybx:7846,yby:7847,ych:7848,ycl:7849,ycn:7850,ycp:7851,yda:7852,ydd:7853,yde:7854,ydg:7855,ydk:7856,yds:7857,yea:7858,yec:7859,yee:7860,yei:7861,yej:7862,yel:7863,yen:7864,yer:7865,yes:7866,yet:7867,yeu:7868,yev:7869,yey:7870,yga:7871,ygi:7872,ygl:7873,ygm:7874,ygp:7875,ygr:7876,ygs:7877,ygu:7878,ygw:7879,yha:7880,yhd:7881,yhl:7882,yhs:7883,yia:7884,yif:7885,yig:7886,yih:7887,yii:7888,yij:7889,yik:7890,yil:7891,yim:7892,yin:7893,yip:7894,yiq:7895,yir:7896,yis:7897,yit:7898,yiu:7899,yiv:7900,yix:7901,yiy:7902,yiz:7903,yka:7904,ykg:7905,yki:7906,ykk:7907,ykl:7908,ykm:7909,ykn:7910,yko:7911,ykr:7912,ykt:7913,yku:7914,yky:7915,yla:7916,ylb:7917,yle:7918,ylg:7919,yli:7920,yll:7921,ylm:7922,yln:7923,ylo:7924,ylr:7925,ylu:7926,yly:7927,yma:7928,ymb:7929,ymc:7930,ymd:7931,yme:7932,ymg:7933,ymh:7934,ymi:7935,ymk:7936,yml:7937,ymm:7938,ymn:7939,ymo:7940,ymp:7941,ymq:7942,ymr:7943,yms:7944,ymt:7945,ymx:7946,ymz:7947,yna:7948,ynd:7949,yne:7950,yng:7951,ynh:7952,ynk:7953,ynl:7954,ynn:7955,yno:7956,ynq:7957,yns:7958,ynu:7959,yob:7960,yog:7961,yoi:7962,yok:7963,yol:7964,yom:7965,yon:7966,yos:7967,yot:7968,yox:7969,yoy:7970,ypa:7971,ypb:7972,ypg:7973,yph:7974,ypk:7975,ypm:7976,ypn:7977,ypo:7978,ypp:7979,ypz:7980,yra:7981,yrb:7982,yre:7983,yri:7984,yrk:7985,yrl:7986,yrm:7987,yrn:7988,yro:7989,yrs:7990,yrw:7991,yry:7992,ysc:7993,ysd:7994,ysg:7995,ysl:7996,ysm:7997,ysn:7998,yso:7999,ysp:8e3,ysr:8001,yss:8002,ysy:8003,yta:8004,ytl:8005,ytp:8006,ytw:8007,yty:8008,yua:8009,yub:8010,yuc:8011,yud:8012,yue:8013,yuf:8014,yug:8015,yui:8016,yuj:8017,yuk:8018,yul:8019,yum:8020,yun:8021,yup:8022,yuq:8023,yur:8024,yut:8025,yuu:8026,yuw:8027,yux:8028,yuy:8029,yuz:8030,yva:8031,yvt:8032,ywa:8033,ywg:8034,ywl:8035,ywn:8036,ywq:8037,ywr:8038,ywt:8039,ywu:8040,yww:8041,yxa:8042,yxg:8043,yxl:8044,yxm:8045,yxu:8046,yxy:8047,yyr:8048,yyu:8049,yyz:8050,yzg:8051,yzk:8052,zaa:8053,zab:8054,zac:8055,zad:8056,zae:8057,zaf:8058,zag:8059,zah:8060,zai:8061,zaj:8062,zak:8063,zal:8064,zam:8065,zao:8066,zap:8067,zaq:8068,zar:8069,zas:8070,zat:8071,zau:8072,zav:8073,zaw:8074,zax:8075,zay:8076,zaz:8077,zba:8078,zbc:8079,zbe:8080,zbl:8081,zbt:8082,zbu:8083,zbw:8084,zca:8085,zcd:8086,zch:8087,zdj:8088,zea:8089,zeg:8090,zeh:8091,zen:8092,zga:8093,zgb:8094,zgh:8095,zgm:8096,zgn:8097,zgr:8098,zhb:8099,zhd:8100,zhi:8101,zhn:8102,zhw:8103,zhx:8104,zia:8105,zib:8106,zik:8107,zil:8108,zim:8109,zin:8110,zir:8111,ziw:8112,ziz:8113,zka:8114,zkb:8115,zkd:8116,zkg:8117,zkh:8118,zkk:8119,zkn:8120,zko:8121,zkp:8122,zkr:8123,zkt:8124,zku:8125,zkv:8126,zkz:8127,zla:8128,zle:8129,zlj:8130,zlm:8131,zln:8132,zlq:8133,zls:8134,zlw:8135,zma:8136,zmb:8137,zmc:8138,zmd:8139,zme:8140,zmf:8141,zmg:8142,zmh:8143,zmi:8144,zmj:8145,zmk:8146,zml:8147,zmm:8148,zmn:8149,zmo:8150,zmp:8151,zmq:8152,zmr:8153,zms:8154,zmt:8155,zmu:8156,zmv:8157,zmw:8158,zmx:8159,zmy:8160,zmz:8161,zna:8162,znd:8163,zne:8164,zng:8165,znk:8166,zns:8167,zoc:8168,zoh:8169,zom:8170,zoo:8171,zoq:8172,zor:8173,zos:8174,zpa:8175,zpb:8176,zpc:8177,zpd:8178,zpe:8179,zpf:8180,zpg:8181,zph:8182,zpi:8183,zpj:8184,zpk:8185,zpl:8186,zpm:8187,zpn:8188,zpo:8189,zpp:8190,zpq:8191,zpr:8192,zps:8193,zpt:8194,zpu:8195,zpv:8196,zpw:8197,zpx:8198,zpy:8199,zpz:8200,zqe:8201,zra:8202,zrg:8203,zrn:8204,zro:8205,zrp:8206,zrs:8207,zsa:8208,zsk:8209,zsl:8210,zsm:8211,zsr:8212,zsu:8213,zte:8214,ztg:8215,ztl:8216,ztm:8217,ztn:8218,ztp:8219,ztq:8220,zts:8221,ztt:8222,ztu:8223,ztx:8224,zty:8225,zua:8226,zuh:8227,zum:8228,zun:8229,zuy:8230,zwa:8231,zxx:8232,zyb:8233,zyg:8234,zyj:8235,zyn:8236,zyp:8237,zza:8238,zzj:8239};var x6={};Object.defineProperty(x6,"__esModule",{value:!0});x6.default={ak:4,ar:7,ay:10,az:11,cr:26,et:40,fa:42,ff:43,gn:52,ik:69,iu:74,kg:81,kr:89,ku:91,kv:92,lv:103,mg:104,mn:109,ms:112,ne:118,no:122,oj:127,om:128,or:129,ps:134,qu:136,sc:143,sh:147,sq:154,sw:160,uz:178,yi:185,za:187,zh:188,bal:721,bik:919,bnc:1038,bua:1209,chm:1460,del:1764,den:1766,din:1818,doi:1897,gba:2248,gon:2446,grb:2468,hai:2579,hmn:2658,jrb:3046,kln:3360,kok:3433,kpe:3450,lah:3734,luy:4048,man:4084,mwr:4634,raj:5821,rom:5928,syr:6481,tmh:6754,zap:8067,zza:8238};var E6={};Object.defineProperty(E6,"__esModule",{value:!0});E6.default={"File-Date":"2022-06-28"};var k6={};Object.defineProperty(k6,"__esModule",{value:!0});k6.default={"qaa..qtz":5754};var C6={};Object.defineProperty(C6,"__esModule",{value:!0});C6.default={"az-arab":9143,"az-cyrl":9144,"az-latn":9145,"be-latn":9146,"bs-cyrl":9147,"bs-latn":9148,"de-1901":9149,"de-1996":9150,"de-at-1901":9151,"de-at-1996":9152,"de-ch-1901":9153,"de-ch-1996":9154,"de-de-1901":9155,"de-de-1996":9156,"en-boont":9157,"en-scouse":9158,"es-419":9159,"iu-cans":9160,"iu-latn":9161,"mn-cyrl":9162,"mn-mong":9163,"sgn-br":9164,"sgn-co":9165,"sgn-de":9166,"sgn-dk":9167,"sgn-es":9168,"sgn-fr":9169,"sgn-gb":9170,"sgn-gr":9171,"sgn-ie":9172,"sgn-it":9173,"sgn-jp":9174,"sgn-mx":9175,"sgn-ni":9176,"sgn-nl":9177,"sgn-no":9178,"sgn-pt":9179,"sgn-se":9180,"sgn-us":9181,"sgn-za":9182,"sl-nedis":9183,"sl-rozaj":9184,"sr-cyrl":9185,"sr-latn":9186,"tg-arab":9187,"tg-cyrl":9188,"uz-cyrl":9189,"uz-latn":9190,"yi-latn":9191,"zh-cmn":9192,"zh-cmn-hans":9193,"zh-cmn-hant":9194,"zh-gan":9195,"zh-hans":9196,"zh-hans-cn":9197,"zh-hans-hk":9198,"zh-hans-mo":9199,"zh-hans-sg":9200,"zh-hans-tw":9201,"zh-hant":9202,"zh-hant-cn":9203,"zh-hant-hk":9204,"zh-hant-mo":9205,"zh-hant-sg":9206,"zh-hant-tw":9207,"zh-wuu":9208,"zh-yue":9209};var w6={};Object.defineProperty(w6,"__esModule",{value:!0});w6.default={142:8999,143:9e3,145:9001,150:9002,151:9003,154:9004,155:9005,202:9006,419:9007,aa:8704,ac:8705,ad:8706,ae:8707,af:8708,ag:8709,ai:8710,al:8711,am:8712,an:8713,ao:8714,aq:8715,ar:8716,as:8717,at:8718,au:8719,aw:8720,ax:8721,az:8722,ba:8723,bb:8724,bd:8725,be:8726,bf:8727,bg:8728,bh:8729,bi:8730,bj:8731,bl:8732,bm:8733,bn:8734,bo:8735,bq:8736,br:8737,bs:8738,bt:8739,bu:8740,bv:8741,bw:8742,by:8743,bz:8744,ca:8745,cc:8746,cd:8747,cf:8748,cg:8749,ch:8750,ci:8751,ck:8752,cl:8753,cm:8754,cn:8755,co:8756,cp:8757,cr:8758,cs:8759,cu:8760,cv:8761,cw:8762,cx:8763,cy:8764,cz:8765,dd:8766,de:8767,dg:8768,dj:8769,dk:8770,dm:8771,do:8772,dz:8773,ea:8774,ec:8775,ee:8776,eg:8777,eh:8778,er:8779,es:8780,et:8781,eu:8782,ez:8783,fi:8784,fj:8785,fk:8786,fm:8787,fo:8788,fr:8789,fx:8790,ga:8791,gb:8792,gd:8793,ge:8794,gf:8795,gg:8796,gh:8797,gi:8798,gl:8799,gm:8800,gn:8801,gp:8802,gq:8803,gr:8804,gs:8805,gt:8806,gu:8807,gw:8808,gy:8809,hk:8810,hm:8811,hn:8812,hr:8813,ht:8814,hu:8815,ic:8816,id:8817,ie:8818,il:8819,im:8820,in:8821,io:8822,iq:8823,ir:8824,is:8825,it:8826,je:8827,jm:8828,jo:8829,jp:8830,ke:8831,kg:8832,kh:8833,ki:8834,km:8835,kn:8836,kp:8837,kr:8838,kw:8839,ky:8840,kz:8841,la:8842,lb:8843,lc:8844,li:8845,lk:8846,lr:8847,ls:8848,lt:8849,lu:8850,lv:8851,ly:8852,ma:8853,mc:8854,md:8855,me:8856,mf:8857,mg:8858,mh:8859,mk:8860,ml:8861,mm:8862,mn:8863,mo:8864,mp:8865,mq:8866,mr:8867,ms:8868,mt:8869,mu:8870,mv:8871,mw:8872,mx:8873,my:8874,mz:8875,na:8876,nc:8877,ne:8878,nf:8879,ng:8880,ni:8881,nl:8882,no:8883,np:8884,nr:8885,nt:8886,nu:8887,nz:8888,om:8889,pa:8890,pe:8891,pf:8892,pg:8893,ph:8894,pk:8895,pl:8896,pm:8897,pn:8898,pr:8899,ps:8900,pt:8901,pw:8902,py:8903,qa:8904,"qm..qz":8905,re:8906,ro:8907,rs:8908,ru:8909,rw:8910,sa:8911,sb:8912,sc:8913,sd:8914,se:8915,sg:8916,sh:8917,si:8918,sj:8919,sk:8920,sl:8921,sm:8922,sn:8923,so:8924,sr:8925,ss:8926,st:8927,su:8928,sv:8929,sx:8930,sy:8931,sz:8932,ta:8933,tc:8934,td:8935,tf:8936,tg:8937,th:8938,tj:8939,tk:8940,tl:8941,tm:8942,tn:8943,to:8944,tp:8945,tr:8946,tt:8947,tv:8948,tw:8949,tz:8950,ua:8951,ug:8952,um:8953,un:8954,us:8955,uy:8956,uz:8957,va:8958,vc:8959,ve:8960,vg:8961,vi:8962,vn:8963,vu:8964,wf:8965,ws:8966,"xa..xz":8967,yd:8968,ye:8969,yt:8970,yu:8971,za:8972,zm:8973,zr:8974,zw:8975,zz:8976,"001":8977,"002":8978,"003":8979,"005":8980,"009":8981,"011":8982,"013":8983,"014":8984,"015":8985,"017":8986,"018":8987,"019":8988,"021":8989,"029":8990,"030":8991,"034":8992,"035":8993,"039":8994,"053":8995,"054":8996,"057":8997,"061":8998};var _6={};Object.defineProperty(_6,"__esModule",{value:!0});_6.default=[{Type:"language",Subtag:"aa",Description:["Afar"],Added:"2005-10-16"},{Type:"language",Subtag:"ab",Description:["Abkhazian"],Added:"2005-10-16","Suppress-Script":"Cyrl"},{Type:"language",Subtag:"ae",Description:["Avestan"],Added:"2005-10-16"},{Type:"language",Subtag:"af",Description:["Afrikaans"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"ak",Description:["Akan"],Added:"2005-10-16",Scope:"macrolanguage"},{Type:"language",Subtag:"am",Description:["Amharic"],Added:"2005-10-16","Suppress-Script":"Ethi"},{Type:"language",Subtag:"an",Description:["Aragonese"],Added:"2005-10-16"},{Type:"language",Subtag:"ar",Description:["Arabic"],Added:"2005-10-16","Suppress-Script":"Arab",Scope:"macrolanguage"},{Type:"language",Subtag:"as",Description:["Assamese"],Added:"2005-10-16","Suppress-Script":"Beng"},{Type:"language",Subtag:"av",Description:["Avaric"],Added:"2005-10-16"},{Type:"language",Subtag:"ay",Description:["Aymara"],Added:"2005-10-16","Suppress-Script":"Latn",Scope:"macrolanguage"},{Type:"language",Subtag:"az",Description:["Azerbaijani"],Added:"2005-10-16",Scope:"macrolanguage"},{Type:"language",Subtag:"ba",Description:["Bashkir"],Added:"2005-10-16"},{Type:"language",Subtag:"be",Description:["Belarusian"],Added:"2005-10-16","Suppress-Script":"Cyrl"},{Type:"language",Subtag:"bg",Description:["Bulgarian"],Added:"2005-10-16","Suppress-Script":"Cyrl"},{Type:"language",Subtag:"bh",Description:["Bihari languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"bi",Description:["Bislama"],Added:"2005-10-16"},{Type:"language",Subtag:"bm",Description:["Bambara"],Added:"2005-10-16"},{Type:"language",Subtag:"bn",Description:["Bengali","Bangla"],Added:"2005-10-16","Suppress-Script":"Beng"},{Type:"language",Subtag:"bo",Description:["Tibetan"],Added:"2005-10-16"},{Type:"language",Subtag:"br",Description:["Breton"],Added:"2005-10-16"},{Type:"language",Subtag:"bs",Description:["Bosnian"],Added:"2005-10-16","Suppress-Script":"Latn",Macrolanguage:"sh"},{Type:"language",Subtag:"ca",Description:["Catalan","Valencian"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"ce",Description:["Chechen"],Added:"2005-10-16"},{Type:"language",Subtag:"ch",Description:["Chamorro"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"co",Description:["Corsican"],Added:"2005-10-16"},{Type:"language",Subtag:"cr",Description:["Cree"],Added:"2005-10-16",Scope:"macrolanguage"},{Type:"language",Subtag:"cs",Description:["Czech"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"cu",Description:["Church Slavic","Church Slavonic","Old Bulgarian","Old Church Slavonic","Old Slavonic"],Added:"2005-10-16"},{Type:"language",Subtag:"cv",Description:["Chuvash"],Added:"2005-10-16"},{Type:"language",Subtag:"cy",Description:["Welsh"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"da",Description:["Danish"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"de",Description:["German"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"dv",Description:["Dhivehi","Divehi","Maldivian"],Added:"2005-10-16","Suppress-Script":"Thaa"},{Type:"language",Subtag:"dz",Description:["Dzongkha"],Added:"2005-10-16","Suppress-Script":"Tibt"},{Type:"language",Subtag:"ee",Description:["Ewe"],Added:"2005-10-16"},{Type:"language",Subtag:"el",Description:["Modern Greek (1453-)"],Added:"2005-10-16","Suppress-Script":"Grek"},{Type:"language",Subtag:"en",Description:["English"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"eo",Description:["Esperanto"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"es",Description:["Spanish","Castilian"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"et",Description:["Estonian"],Added:"2005-10-16","Suppress-Script":"Latn",Scope:"macrolanguage"},{Type:"language",Subtag:"eu",Description:["Basque"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"fa",Description:["Persian"],Added:"2005-10-16","Suppress-Script":"Arab",Scope:"macrolanguage"},{Type:"language",Subtag:"ff",Description:["Fulah"],Added:"2005-10-16",Scope:"macrolanguage"},{Type:"language",Subtag:"fi",Description:["Finnish"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"fj",Description:["Fijian"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"fo",Description:["Faroese"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"fr",Description:["French"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"fy",Description:["Western Frisian"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"ga",Description:["Irish"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"gd",Description:["Scottish Gaelic","Gaelic"],Added:"2005-10-16"},{Type:"language",Subtag:"gl",Description:["Galician"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"gn",Description:["Guarani"],Added:"2005-10-16","Suppress-Script":"Latn",Scope:"macrolanguage"},{Type:"language",Subtag:"gu",Description:["Gujarati"],Added:"2005-10-16","Suppress-Script":"Gujr"},{Type:"language",Subtag:"gv",Description:["Manx"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"ha",Description:["Hausa"],Added:"2005-10-16"},{Type:"language",Subtag:"he",Description:["Hebrew"],Added:"2005-10-16","Suppress-Script":"Hebr"},{Type:"language",Subtag:"hi",Description:["Hindi"],Added:"2005-10-16","Suppress-Script":"Deva"},{Type:"language",Subtag:"ho",Description:["Hiri Motu"],Added:"2005-10-16"},{Type:"language",Subtag:"hr",Description:["Croatian"],Added:"2005-10-16","Suppress-Script":"Latn",Macrolanguage:"sh"},{Type:"language",Subtag:"ht",Description:["Haitian","Haitian Creole"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"hu",Description:["Hungarian"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"hy",Description:["Armenian"],Added:"2005-10-16","Suppress-Script":"Armn",Comments:["see also hyw"]},{Type:"language",Subtag:"hz",Description:["Herero"],Added:"2005-10-16"},{Type:"language",Subtag:"ia",Description:["Interlingua (International Auxiliary Language Association)"],Added:"2005-10-16"},{Type:"language",Subtag:"id",Description:["Indonesian"],Added:"2005-10-16","Suppress-Script":"Latn",Macrolanguage:"ms"},{Type:"language",Subtag:"ie",Description:["Interlingue","Occidental"],Added:"2005-10-16"},{Type:"language",Subtag:"ig",Description:["Igbo"],Added:"2005-10-16"},{Type:"language",Subtag:"ii",Description:["Sichuan Yi","Nuosu"],Added:"2005-10-16"},{Type:"language",Subtag:"ik",Description:["Inupiaq"],Added:"2005-10-16",Scope:"macrolanguage"},{Type:"language",Subtag:"in",Description:["Indonesian"],Added:"2005-10-16",Deprecated:"1989-01-01","Preferred-Value":"id","Suppress-Script":"Latn",Macrolanguage:"ms"},{Type:"language",Subtag:"io",Description:["Ido"],Added:"2005-10-16"},{Type:"language",Subtag:"is",Description:["Icelandic"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"it",Description:["Italian"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"iu",Description:["Inuktitut"],Added:"2005-10-16",Scope:"macrolanguage"},{Type:"language",Subtag:"iw",Description:["Hebrew"],Added:"2005-10-16",Deprecated:"1989-01-01","Preferred-Value":"he","Suppress-Script":"Hebr"},{Type:"language",Subtag:"ja",Description:["Japanese"],Added:"2005-10-16","Suppress-Script":"Jpan"},{Type:"language",Subtag:"ji",Description:["Yiddish"],Added:"2005-10-16",Deprecated:"1989-01-01","Preferred-Value":"yi"},{Type:"language",Subtag:"jv",Description:["Javanese"],Added:"2005-10-16"},{Type:"language",Subtag:"jw",Description:["Javanese"],Added:"2005-10-16",Deprecated:"2001-08-13","Preferred-Value":"jv",Comments:["published by error in Table 1 of ISO 639:1988"]},{Type:"language",Subtag:"ka",Description:["Georgian"],Added:"2005-10-16","Suppress-Script":"Geor"},{Type:"language",Subtag:"kg",Description:["Kongo"],Added:"2005-10-16",Scope:"macrolanguage"},{Type:"language",Subtag:"ki",Description:["Kikuyu","Gikuyu"],Added:"2005-10-16"},{Type:"language",Subtag:"kj",Description:["Kuanyama","Kwanyama"],Added:"2005-10-16"},{Type:"language",Subtag:"kk",Description:["Kazakh"],Added:"2005-10-16","Suppress-Script":"Cyrl"},{Type:"language",Subtag:"kl",Description:["Kalaallisut","Greenlandic"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"km",Description:["Khmer","Central Khmer"],Added:"2005-10-16","Suppress-Script":"Khmr"},{Type:"language",Subtag:"kn",Description:["Kannada"],Added:"2005-10-16","Suppress-Script":"Knda"},{Type:"language",Subtag:"ko",Description:["Korean"],Added:"2005-10-16","Suppress-Script":"Kore"},{Type:"language",Subtag:"kr",Description:["Kanuri"],Added:"2005-10-16",Scope:"macrolanguage"},{Type:"language",Subtag:"ks",Description:["Kashmiri"],Added:"2005-10-16"},{Type:"language",Subtag:"ku",Description:["Kurdish"],Added:"2005-10-16",Scope:"macrolanguage"},{Type:"language",Subtag:"kv",Description:["Komi"],Added:"2005-10-16",Scope:"macrolanguage"},{Type:"language",Subtag:"kw",Description:["Cornish"],Added:"2005-10-16"},{Type:"language",Subtag:"ky",Description:["Kirghiz","Kyrgyz"],Added:"2005-10-16"},{Type:"language",Subtag:"la",Description:["Latin"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"lb",Description:["Luxembourgish","Letzeburgesch"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"lg",Description:["Ganda","Luganda"],Added:"2005-10-16"},{Type:"language",Subtag:"li",Description:["Limburgan","Limburger","Limburgish"],Added:"2005-10-16"},{Type:"language",Subtag:"ln",Description:["Lingala"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"lo",Description:["Lao"],Added:"2005-10-16","Suppress-Script":"Laoo"},{Type:"language",Subtag:"lt",Description:["Lithuanian"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"lu",Description:["Luba-Katanga"],Added:"2005-10-16"},{Type:"language",Subtag:"lv",Description:["Latvian"],Added:"2005-10-16","Suppress-Script":"Latn",Scope:"macrolanguage"},{Type:"language",Subtag:"mg",Description:["Malagasy"],Added:"2005-10-16","Suppress-Script":"Latn",Scope:"macrolanguage"},{Type:"language",Subtag:"mh",Description:["Marshallese"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"mi",Description:["Maori"],Added:"2005-10-16"},{Type:"language",Subtag:"mk",Description:["Macedonian"],Added:"2005-10-16","Suppress-Script":"Cyrl"},{Type:"language",Subtag:"ml",Description:["Malayalam"],Added:"2005-10-16","Suppress-Script":"Mlym"},{Type:"language",Subtag:"mn",Description:["Mongolian"],Added:"2005-10-16",Scope:"macrolanguage"},{Type:"language",Subtag:"mo",Description:["Moldavian","Moldovan"],Added:"2005-10-16",Deprecated:"2008-11-22","Preferred-Value":"ro","Suppress-Script":"Latn"},{Type:"language",Subtag:"mr",Description:["Marathi"],Added:"2005-10-16","Suppress-Script":"Deva"},{Type:"language",Subtag:"ms",Description:["Malay (macrolanguage)"],Added:"2005-10-16","Suppress-Script":"Latn",Scope:"macrolanguage"},{Type:"language",Subtag:"mt",Description:["Maltese"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"my",Description:["Burmese"],Added:"2005-10-16","Suppress-Script":"Mymr"},{Type:"language",Subtag:"na",Description:["Nauru"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"nb",Description:["Norwegian Bokmål"],Added:"2005-10-16","Suppress-Script":"Latn",Macrolanguage:"no"},{Type:"language",Subtag:"nd",Description:["North Ndebele"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"ne",Description:["Nepali (macrolanguage)"],Added:"2005-10-16","Suppress-Script":"Deva",Scope:"macrolanguage"},{Type:"language",Subtag:"ng",Description:["Ndonga"],Added:"2005-10-16"},{Type:"language",Subtag:"nl",Description:["Dutch","Flemish"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"nn",Description:["Norwegian Nynorsk"],Added:"2005-10-16","Suppress-Script":"Latn",Macrolanguage:"no"},{Type:"language",Subtag:"no",Description:["Norwegian"],Added:"2005-10-16","Suppress-Script":"Latn",Scope:"macrolanguage"},{Type:"language",Subtag:"nr",Description:["South Ndebele"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"nv",Description:["Navajo","Navaho"],Added:"2005-10-16"},{Type:"language",Subtag:"ny",Description:["Nyanja","Chewa","Chichewa"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"oc",Description:["Occitan (post 1500)"],Added:"2005-10-16"},{Type:"language",Subtag:"oj",Description:["Ojibwa"],Added:"2005-10-16",Scope:"macrolanguage"},{Type:"language",Subtag:"om",Description:["Oromo"],Added:"2005-10-16","Suppress-Script":"Latn",Scope:"macrolanguage"},{Type:"language",Subtag:"or",Description:["Oriya (macrolanguage)","Odia (macrolanguage)"],Added:"2005-10-16","Suppress-Script":"Orya",Scope:"macrolanguage"},{Type:"language",Subtag:"os",Description:["Ossetian","Ossetic"],Added:"2005-10-16"},{Type:"language",Subtag:"pa",Description:["Panjabi","Punjabi"],Added:"2005-10-16","Suppress-Script":"Guru"},{Type:"language",Subtag:"pi",Description:["Pali"],Added:"2005-10-16"},{Type:"language",Subtag:"pl",Description:["Polish"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"ps",Description:["Pushto","Pashto"],Added:"2005-10-16","Suppress-Script":"Arab",Scope:"macrolanguage"},{Type:"language",Subtag:"pt",Description:["Portuguese"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"qu",Description:["Quechua"],Added:"2005-10-16","Suppress-Script":"Latn",Scope:"macrolanguage"},{Type:"language",Subtag:"rm",Description:["Romansh"],"Suppress-Script":"Latn",Added:"2005-10-16"},{Type:"language",Subtag:"rn",Description:["Rundi"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"ro",Description:["Romanian","Moldavian","Moldovan"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"ru",Description:["Russian"],Added:"2005-10-16","Suppress-Script":"Cyrl"},{Type:"language",Subtag:"rw",Description:["Kinyarwanda"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"sa",Description:["Sanskrit"],Added:"2005-10-16"},{Type:"language",Subtag:"sc",Description:["Sardinian"],Added:"2005-10-16",Scope:"macrolanguage"},{Type:"language",Subtag:"sd",Description:["Sindhi"],Added:"2005-10-16"},{Type:"language",Subtag:"se",Description:["Northern Sami"],Added:"2005-10-16"},{Type:"language",Subtag:"sg",Description:["Sango"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"sh",Description:["Serbo-Croatian"],Added:"2005-10-16",Scope:"macrolanguage",Comments:["sr, hr, bs are preferred for most modern uses"]},{Type:"language",Subtag:"si",Description:["Sinhala","Sinhalese"],Added:"2005-10-16","Suppress-Script":"Sinh"},{Type:"language",Subtag:"sk",Description:["Slovak"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"sl",Description:["Slovenian"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"sm",Description:["Samoan"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"sn",Description:["Shona"],Added:"2005-10-16"},{Type:"language",Subtag:"so",Description:["Somali"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"sq",Description:["Albanian"],Added:"2005-10-16","Suppress-Script":"Latn",Scope:"macrolanguage"},{Type:"language",Subtag:"sr",Description:["Serbian"],Added:"2005-10-16",Macrolanguage:"sh",Comments:["see cnr for Montenegrin"]},{Type:"language",Subtag:"ss",Description:["Swati"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"st",Description:["Southern Sotho"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"su",Description:["Sundanese"],Added:"2005-10-16"},{Type:"language",Subtag:"sv",Description:["Swedish"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"sw",Description:["Swahili (macrolanguage)"],Added:"2005-10-16","Suppress-Script":"Latn",Scope:"macrolanguage"},{Type:"language",Subtag:"ta",Description:["Tamil"],Added:"2005-10-16","Suppress-Script":"Taml"},{Type:"language",Subtag:"te",Description:["Telugu"],Added:"2005-10-16","Suppress-Script":"Telu"},{Type:"language",Subtag:"tg",Description:["Tajik"],Added:"2005-10-16"},{Type:"language",Subtag:"th",Description:["Thai"],Added:"2005-10-16","Suppress-Script":"Thai"},{Type:"language",Subtag:"ti",Description:["Tigrinya"],Added:"2005-10-16","Suppress-Script":"Ethi"},{Type:"language",Subtag:"tk",Description:["Turkmen"],Added:"2005-10-16"},{Type:"language",Subtag:"tl",Description:["Tagalog"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"tn",Description:["Tswana"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"to",Description:["Tonga (Tonga Islands)"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"tr",Description:["Turkish"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"ts",Description:["Tsonga"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"tt",Description:["Tatar"],Added:"2005-10-16"},{Type:"language",Subtag:"tw",Description:["Twi"],Added:"2005-10-16",Macrolanguage:"ak"},{Type:"language",Subtag:"ty",Description:["Tahitian"],Added:"2005-10-16"},{Type:"language",Subtag:"ug",Description:["Uighur","Uyghur"],Added:"2005-10-16"},{Type:"language",Subtag:"uk",Description:["Ukrainian"],Added:"2005-10-16","Suppress-Script":"Cyrl"},{Type:"language",Subtag:"ur",Description:["Urdu"],Added:"2005-10-16","Suppress-Script":"Arab"},{Type:"language",Subtag:"uz",Description:["Uzbek"],Added:"2005-10-16",Scope:"macrolanguage"},{Type:"language",Subtag:"ve",Description:["Venda"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"vi",Description:["Vietnamese"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"vo",Description:["Volapük"],Added:"2005-10-16"},{Type:"language",Subtag:"wa",Description:["Walloon"],Added:"2005-10-16"},{Type:"language",Subtag:"wo",Description:["Wolof"],Added:"2005-10-16"},{Type:"language",Subtag:"xh",Description:["Xhosa"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"yi",Description:["Yiddish"],Added:"2005-10-16","Suppress-Script":"Hebr",Scope:"macrolanguage"},{Type:"language",Subtag:"yo",Description:["Yoruba"],Added:"2005-10-16"},{Type:"language",Subtag:"za",Description:["Zhuang","Chuang"],Added:"2005-10-16",Scope:"macrolanguage"},{Type:"language",Subtag:"zh",Description:["Chinese"],Added:"2005-10-16",Scope:"macrolanguage"},{Type:"language",Subtag:"zu",Description:["Zulu"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"aaa",Description:["Ghotuo"],Added:"2009-07-29"},{Type:"language",Subtag:"aab",Description:["Alumu-Tesu"],Added:"2009-07-29"},{Type:"language",Subtag:"aac",Description:["Ari"],Added:"2009-07-29"},{Type:"language",Subtag:"aad",Description:["Amal"],Added:"2009-07-29"},{Type:"language",Subtag:"aae",Description:["Arbëreshë Albanian"],Added:"2009-07-29",Macrolanguage:"sq"},{Type:"language",Subtag:"aaf",Description:["Aranadan"],Added:"2009-07-29"},{Type:"language",Subtag:"aag",Description:["Ambrak"],Added:"2009-07-29"},{Type:"language",Subtag:"aah",Description:["Abu' Arapesh"],Added:"2009-07-29"},{Type:"language",Subtag:"aai",Description:["Arifama-Miniafia"],Added:"2009-07-29"},{Type:"language",Subtag:"aak",Description:["Ankave"],Added:"2009-07-29"},{Type:"language",Subtag:"aal",Description:["Afade"],Added:"2009-07-29"},{Type:"language",Subtag:"aam",Description:["Aramanik"],Added:"2009-07-29",Deprecated:"2015-02-12","Preferred-Value":"aas"},{Type:"language",Subtag:"aan",Description:["Anambé"],Added:"2009-07-29"},{Type:"language",Subtag:"aao",Description:["Algerian Saharan Arabic"],Added:"2009-07-29",Macrolanguage:"ar"},{Type:"language",Subtag:"aap",Description:["Pará Arára"],Added:"2009-07-29"},{Type:"language",Subtag:"aaq",Description:["Eastern Abnaki"],Added:"2009-07-29"},{Type:"language",Subtag:"aas",Description:["Aasáx"],Added:"2009-07-29"},{Type:"language",Subtag:"aat",Description:["Arvanitika Albanian"],Added:"2009-07-29",Macrolanguage:"sq"},{Type:"language",Subtag:"aau",Description:["Abau"],Added:"2009-07-29"},{Type:"language",Subtag:"aav",Description:["Austro-Asiatic languages"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"aaw",Description:["Solong"],Added:"2009-07-29"},{Type:"language",Subtag:"aax",Description:["Mandobo Atas"],Added:"2009-07-29"},{Type:"language",Subtag:"aaz",Description:["Amarasi"],Added:"2009-07-29"},{Type:"language",Subtag:"aba",Description:["Abé"],Added:"2009-07-29"},{Type:"language",Subtag:"abb",Description:["Bankon"],Added:"2009-07-29"},{Type:"language",Subtag:"abc",Description:["Ambala Ayta"],Added:"2009-07-29"},{Type:"language",Subtag:"abd",Description:["Manide"],Added:"2009-07-29"},{Type:"language",Subtag:"abe",Description:["Western Abnaki"],Added:"2009-07-29"},{Type:"language",Subtag:"abf",Description:["Abai Sungai"],Added:"2009-07-29"},{Type:"language",Subtag:"abg",Description:["Abaga"],Added:"2009-07-29"},{Type:"language",Subtag:"abh",Description:["Tajiki Arabic"],Added:"2009-07-29",Macrolanguage:"ar"},{Type:"language",Subtag:"abi",Description:["Abidji"],Added:"2009-07-29"},{Type:"language",Subtag:"abj",Description:["Aka-Bea"],Added:"2009-07-29"},{Type:"language",Subtag:"abl",Description:["Lampung Nyo"],Added:"2009-07-29"},{Type:"language",Subtag:"abm",Description:["Abanyom"],Added:"2009-07-29"},{Type:"language",Subtag:"abn",Description:["Abua"],Added:"2009-07-29"},{Type:"language",Subtag:"abo",Description:["Abon"],Added:"2009-07-29"},{Type:"language",Subtag:"abp",Description:["Abellen Ayta"],Added:"2009-07-29"},{Type:"language",Subtag:"abq",Description:["Abaza"],Added:"2009-07-29"},{Type:"language",Subtag:"abr",Description:["Abron"],Added:"2009-07-29"},{Type:"language",Subtag:"abs",Description:["Ambonese Malay"],Added:"2009-07-29"},{Type:"language",Subtag:"abt",Description:["Ambulas"],Added:"2009-07-29"},{Type:"language",Subtag:"abu",Description:["Abure"],Added:"2009-07-29"},{Type:"language",Subtag:"abv",Description:["Baharna Arabic"],Added:"2009-07-29",Macrolanguage:"ar"},{Type:"language",Subtag:"abw",Description:["Pal"],Added:"2009-07-29"},{Type:"language",Subtag:"abx",Description:["Inabaknon"],Added:"2009-07-29"},{Type:"language",Subtag:"aby",Description:["Aneme Wake"],Added:"2009-07-29"},{Type:"language",Subtag:"abz",Description:["Abui"],Added:"2009-07-29"},{Type:"language",Subtag:"aca",Description:["Achagua"],Added:"2009-07-29"},{Type:"language",Subtag:"acb",Description:["Áncá"],Added:"2009-07-29"},{Type:"language",Subtag:"acd",Description:["Gikyode"],Added:"2009-07-29"},{Type:"language",Subtag:"ace",Description:["Achinese"],Added:"2005-10-16"},{Type:"language",Subtag:"acf",Description:["Saint Lucian Creole French"],Added:"2009-07-29"},{Type:"language",Subtag:"ach",Description:["Acoli"],Added:"2005-10-16"},{Type:"language",Subtag:"aci",Description:["Aka-Cari"],Added:"2009-07-29"},{Type:"language",Subtag:"ack",Description:["Aka-Kora"],Added:"2009-07-29"},{Type:"language",Subtag:"acl",Description:["Akar-Bale"],Added:"2009-07-29"},{Type:"language",Subtag:"acm",Description:["Mesopotamian Arabic"],Added:"2009-07-29",Macrolanguage:"ar"},{Type:"language",Subtag:"acn",Description:["Achang"],Added:"2009-07-29"},{Type:"language",Subtag:"acp",Description:["Eastern Acipa"],Added:"2009-07-29"},{Type:"language",Subtag:"acq",Description:["Ta'izzi-Adeni Arabic"],Added:"2009-07-29",Macrolanguage:"ar"},{Type:"language",Subtag:"acr",Description:["Achi"],Added:"2009-07-29"},{Type:"language",Subtag:"acs",Description:["Acroá"],Added:"2009-07-29"},{Type:"language",Subtag:"act",Description:["Achterhoeks"],Added:"2009-07-29"},{Type:"language",Subtag:"acu",Description:["Achuar-Shiwiar"],Added:"2009-07-29"},{Type:"language",Subtag:"acv",Description:["Achumawi"],Added:"2009-07-29"},{Type:"language",Subtag:"acw",Description:["Hijazi Arabic"],Added:"2009-07-29",Macrolanguage:"ar"},{Type:"language",Subtag:"acx",Description:["Omani Arabic"],Added:"2009-07-29",Macrolanguage:"ar"},{Type:"language",Subtag:"acy",Description:["Cypriot Arabic"],Added:"2009-07-29",Macrolanguage:"ar"},{Type:"language",Subtag:"acz",Description:["Acheron"],Added:"2009-07-29"},{Type:"language",Subtag:"ada",Description:["Adangme"],Added:"2005-10-16"},{Type:"language",Subtag:"adb",Description:["Atauran"],Added:"2009-07-29"},{Type:"language",Subtag:"add",Description:["Lidzonka","Dzodinka"],Added:"2009-07-29"},{Type:"language",Subtag:"ade",Description:["Adele"],Added:"2009-07-29"},{Type:"language",Subtag:"adf",Description:["Dhofari Arabic"],Added:"2009-07-29",Macrolanguage:"ar"},{Type:"language",Subtag:"adg",Description:["Andegerebinha"],Added:"2009-07-29"},{Type:"language",Subtag:"adh",Description:["Adhola"],Added:"2009-07-29"},{Type:"language",Subtag:"adi",Description:["Adi"],Added:"2009-07-29"},{Type:"language",Subtag:"adj",Description:["Adioukrou"],Added:"2009-07-29"},{Type:"language",Subtag:"adl",Description:["Galo"],Added:"2009-07-29"},{Type:"language",Subtag:"adn",Description:["Adang"],Added:"2009-07-29"},{Type:"language",Subtag:"ado",Description:["Abu"],Added:"2009-07-29"},{Type:"language",Subtag:"adp",Description:["Adap"],Added:"2009-07-29",Deprecated:"2015-02-12","Preferred-Value":"dz"},{Type:"language",Subtag:"adq",Description:["Adangbe"],Added:"2009-07-29"},{Type:"language",Subtag:"adr",Description:["Adonara"],Added:"2009-07-29"},{Type:"language",Subtag:"ads",Description:["Adamorobe Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"adt",Description:["Adnyamathanha"],Added:"2009-07-29"},{Type:"language",Subtag:"adu",Description:["Aduge"],Added:"2009-07-29"},{Type:"language",Subtag:"adw",Description:["Amundava"],Added:"2009-07-29"},{Type:"language",Subtag:"adx",Description:["Amdo Tibetan"],Added:"2009-07-29"},{Type:"language",Subtag:"ady",Description:["Adyghe","Adygei"],Added:"2005-10-16"},{Type:"language",Subtag:"adz",Description:["Adzera"],Added:"2009-07-29"},{Type:"language",Subtag:"aea",Description:["Areba"],Added:"2009-07-29"},{Type:"language",Subtag:"aeb",Description:["Tunisian Arabic"],Added:"2009-07-29",Macrolanguage:"ar"},{Type:"language",Subtag:"aec",Description:["Saidi Arabic"],Added:"2009-07-29",Macrolanguage:"ar"},{Type:"language",Subtag:"aed",Description:["Argentine Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"aee",Description:["Northeast Pashai","Northeast Pashayi"],Added:"2009-07-29"},{Type:"language",Subtag:"aek",Description:["Haeke"],Added:"2009-07-29"},{Type:"language",Subtag:"ael",Description:["Ambele"],Added:"2009-07-29"},{Type:"language",Subtag:"aem",Description:["Arem"],Added:"2009-07-29"},{Type:"language",Subtag:"aen",Description:["Armenian Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"aeq",Description:["Aer"],Added:"2009-07-29"},{Type:"language",Subtag:"aer",Description:["Eastern Arrernte"],Added:"2009-07-29"},{Type:"language",Subtag:"aes",Description:["Alsea"],Added:"2009-07-29"},{Type:"language",Subtag:"aeu",Description:["Akeu"],Added:"2009-07-29"},{Type:"language",Subtag:"aew",Description:["Ambakich"],Added:"2009-07-29"},{Type:"language",Subtag:"aey",Description:["Amele"],Added:"2009-07-29"},{Type:"language",Subtag:"aez",Description:["Aeka"],Added:"2009-07-29"},{Type:"language",Subtag:"afa",Description:["Afro-Asiatic languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"afb",Description:["Gulf Arabic"],Added:"2009-07-29",Macrolanguage:"ar"},{Type:"language",Subtag:"afd",Description:["Andai"],Added:"2009-07-29"},{Type:"language",Subtag:"afe",Description:["Putukwam"],Added:"2009-07-29"},{Type:"language",Subtag:"afg",Description:["Afghan Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"afh",Description:["Afrihili"],Added:"2005-10-16"},{Type:"language",Subtag:"afi",Description:["Akrukay","Chini"],Added:"2009-07-29"},{Type:"language",Subtag:"afk",Description:["Nanubae"],Added:"2009-07-29"},{Type:"language",Subtag:"afn",Description:["Defaka"],Added:"2009-07-29"},{Type:"language",Subtag:"afo",Description:["Eloyi"],Added:"2009-07-29"},{Type:"language",Subtag:"afp",Description:["Tapei"],Added:"2009-07-29"},{Type:"language",Subtag:"afs",Description:["Afro-Seminole Creole"],Added:"2009-07-29"},{Type:"language",Subtag:"aft",Description:["Afitti"],Added:"2009-07-29"},{Type:"language",Subtag:"afu",Description:["Awutu"],Added:"2009-07-29"},{Type:"language",Subtag:"afz",Description:["Obokuitai"],Added:"2009-07-29"},{Type:"language",Subtag:"aga",Description:["Aguano"],Added:"2009-07-29"},{Type:"language",Subtag:"agb",Description:["Legbo"],Added:"2009-07-29"},{Type:"language",Subtag:"agc",Description:["Agatu"],Added:"2009-07-29"},{Type:"language",Subtag:"agd",Description:["Agarabi"],Added:"2009-07-29"},{Type:"language",Subtag:"age",Description:["Angal"],Added:"2009-07-29"},{Type:"language",Subtag:"agf",Description:["Arguni"],Added:"2009-07-29"},{Type:"language",Subtag:"agg",Description:["Angor"],Added:"2009-07-29"},{Type:"language",Subtag:"agh",Description:["Ngelima"],Added:"2009-07-29"},{Type:"language",Subtag:"agi",Description:["Agariya"],Added:"2009-07-29"},{Type:"language",Subtag:"agj",Description:["Argobba"],Added:"2009-07-29"},{Type:"language",Subtag:"agk",Description:["Isarog Agta"],Added:"2009-07-29"},{Type:"language",Subtag:"agl",Description:["Fembe"],Added:"2009-07-29"},{Type:"language",Subtag:"agm",Description:["Angaataha"],Added:"2009-07-29"},{Type:"language",Subtag:"agn",Description:["Agutaynen"],Added:"2009-07-29"},{Type:"language",Subtag:"ago",Description:["Tainae"],Added:"2009-07-29"},{Type:"language",Subtag:"agp",Description:["Paranan"],Added:"2009-07-29",Deprecated:"2010-03-11",Comments:["see apf, prf"]},{Type:"language",Subtag:"agq",Description:["Aghem"],Added:"2009-07-29"},{Type:"language",Subtag:"agr",Description:["Aguaruna"],Added:"2009-07-29"},{Type:"language",Subtag:"ags",Description:["Esimbi"],Added:"2009-07-29"},{Type:"language",Subtag:"agt",Description:["Central Cagayan Agta"],Added:"2009-07-29"},{Type:"language",Subtag:"agu",Description:["Aguacateco"],Added:"2009-07-29"},{Type:"language",Subtag:"agv",Description:["Remontado Dumagat"],Added:"2009-07-29"},{Type:"language",Subtag:"agw",Description:["Kahua"],Added:"2009-07-29"},{Type:"language",Subtag:"agx",Description:["Aghul"],Added:"2009-07-29"},{Type:"language",Subtag:"agy",Description:["Southern Alta"],Added:"2009-07-29"},{Type:"language",Subtag:"agz",Description:["Mt. Iriga Agta"],Added:"2009-07-29"},{Type:"language",Subtag:"aha",Description:["Ahanta"],Added:"2009-07-29"},{Type:"language",Subtag:"ahb",Description:["Axamb"],Added:"2009-07-29"},{Type:"language",Subtag:"ahg",Description:["Qimant"],Added:"2009-07-29"},{Type:"language",Subtag:"ahh",Description:["Aghu"],Added:"2009-07-29"},{Type:"language",Subtag:"ahi",Description:["Tiagbamrin Aizi"],Added:"2009-07-29"},{Type:"language",Subtag:"ahk",Description:["Akha"],Added:"2009-07-29"},{Type:"language",Subtag:"ahl",Description:["Igo"],Added:"2009-07-29"},{Type:"language",Subtag:"ahm",Description:["Mobumrin Aizi"],Added:"2009-07-29"},{Type:"language",Subtag:"ahn",Description:["Àhàn"],Added:"2009-07-29"},{Type:"language",Subtag:"aho",Description:["Ahom"],Added:"2009-07-29"},{Type:"language",Subtag:"ahp",Description:["Aproumu Aizi"],Added:"2009-07-29"},{Type:"language",Subtag:"ahr",Description:["Ahirani"],Added:"2009-07-29"},{Type:"language",Subtag:"ahs",Description:["Ashe"],Added:"2009-07-29"},{Type:"language",Subtag:"aht",Description:["Ahtena"],Added:"2009-07-29"},{Type:"language",Subtag:"aia",Description:["Arosi"],Added:"2009-07-29"},{Type:"language",Subtag:"aib",Description:["Ainu (China)"],Added:"2009-07-29"},{Type:"language",Subtag:"aic",Description:["Ainbai"],Added:"2009-07-29"},{Type:"language",Subtag:"aid",Description:["Alngith"],Added:"2009-07-29"},{Type:"language",Subtag:"aie",Description:["Amara"],Added:"2009-07-29"},{Type:"language",Subtag:"aif",Description:["Agi"],Added:"2009-07-29"},{Type:"language",Subtag:"aig",Description:["Antigua and Barbuda Creole English"],Added:"2009-07-29"},{Type:"language",Subtag:"aih",Description:["Ai-Cham"],Added:"2009-07-29"},{Type:"language",Subtag:"aii",Description:["Assyrian Neo-Aramaic"],Added:"2009-07-29",Macrolanguage:"syr"},{Type:"language",Subtag:"aij",Description:["Lishanid Noshan"],Added:"2009-07-29"},{Type:"language",Subtag:"aik",Description:["Ake"],Added:"2009-07-29"},{Type:"language",Subtag:"ail",Description:["Aimele"],Added:"2009-07-29"},{Type:"language",Subtag:"aim",Description:["Aimol"],Added:"2009-07-29"},{Type:"language",Subtag:"ain",Description:["Ainu (Japan)"],Added:"2005-10-16"},{Type:"language",Subtag:"aio",Description:["Aiton"],Added:"2009-07-29"},{Type:"language",Subtag:"aip",Description:["Burumakok"],Added:"2009-07-29"},{Type:"language",Subtag:"aiq",Description:["Aimaq"],Added:"2009-07-29"},{Type:"language",Subtag:"air",Description:["Airoran"],Added:"2009-07-29"},{Type:"language",Subtag:"ais",Description:["Nataoran Amis"],Added:"2009-07-29",Deprecated:"2019-04-16",Comments:["see ami, szy"]},{Type:"language",Subtag:"ait",Description:["Arikem"],Added:"2009-07-29"},{Type:"language",Subtag:"aiw",Description:["Aari"],Added:"2009-07-29"},{Type:"language",Subtag:"aix",Description:["Aighon"],Added:"2009-07-29"},{Type:"language",Subtag:"aiy",Description:["Ali"],Added:"2009-07-29"},{Type:"language",Subtag:"aja",Description:["Aja (South Sudan)"],Added:"2009-07-29"},{Type:"language",Subtag:"ajg",Description:["Aja (Benin)"],Added:"2009-07-29"},{Type:"language",Subtag:"aji",Description:["Ajië"],Added:"2009-07-29"},{Type:"language",Subtag:"ajn",Description:["Andajin"],Added:"2012-08-12"},{Type:"language",Subtag:"ajp",Description:["South Levantine Arabic"],Added:"2009-07-29",Macrolanguage:"ar"},{Type:"language",Subtag:"ajs",Description:["Algerian Jewish Sign Language"],Added:"2022-02-25"},{Type:"language",Subtag:"ajt",Description:["Judeo-Tunisian Arabic"],Added:"2009-07-29",Deprecated:"2022-02-25","Preferred-Value":"aeb",Macrolanguage:"jrb"},{Type:"language",Subtag:"aju",Description:["Judeo-Moroccan Arabic"],Added:"2009-07-29",Macrolanguage:"jrb"},{Type:"language",Subtag:"ajw",Description:["Ajawa"],Added:"2009-07-29"},{Type:"language",Subtag:"ajz",Description:["Amri Karbi"],Added:"2009-07-29"},{Type:"language",Subtag:"akb",Description:["Batak Angkola"],Added:"2009-07-29"},{Type:"language",Subtag:"akc",Description:["Mpur"],Added:"2009-07-29"},{Type:"language",Subtag:"akd",Description:["Ukpet-Ehom"],Added:"2009-07-29"},{Type:"language",Subtag:"ake",Description:["Akawaio"],Added:"2009-07-29"},{Type:"language",Subtag:"akf",Description:["Akpa"],Added:"2009-07-29"},{Type:"language",Subtag:"akg",Description:["Anakalangu"],Added:"2009-07-29"},{Type:"language",Subtag:"akh",Description:["Angal Heneng"],Added:"2009-07-29"},{Type:"language",Subtag:"aki",Description:["Aiome"],Added:"2009-07-29"},{Type:"language",Subtag:"akj",Description:["Aka-Jeru"],Added:"2009-07-29"},{Type:"language",Subtag:"akk",Description:["Akkadian"],Added:"2005-10-16"},{Type:"language",Subtag:"akl",Description:["Aklanon"],Added:"2009-07-29"},{Type:"language",Subtag:"akm",Description:["Aka-Bo"],Added:"2009-07-29"},{Type:"language",Subtag:"ako",Description:["Akurio"],Added:"2009-07-29"},{Type:"language",Subtag:"akp",Description:["Siwu"],Added:"2009-07-29"},{Type:"language",Subtag:"akq",Description:["Ak"],Added:"2009-07-29"},{Type:"language",Subtag:"akr",Description:["Araki"],Added:"2009-07-29"},{Type:"language",Subtag:"aks",Description:["Akaselem"],Added:"2009-07-29"},{Type:"language",Subtag:"akt",Description:["Akolet"],Added:"2009-07-29"},{Type:"language",Subtag:"aku",Description:["Akum"],Added:"2009-07-29"},{Type:"language",Subtag:"akv",Description:["Akhvakh"],Added:"2009-07-29"},{Type:"language",Subtag:"akw",Description:["Akwa"],Added:"2009-07-29"},{Type:"language",Subtag:"akx",Description:["Aka-Kede"],Added:"2009-07-29"},{Type:"language",Subtag:"aky",Description:["Aka-Kol"],Added:"2009-07-29"},{Type:"language",Subtag:"akz",Description:["Alabama"],Added:"2009-07-29"},{Type:"language",Subtag:"ala",Description:["Alago"],Added:"2009-07-29"},{Type:"language",Subtag:"alc",Description:["Qawasqar"],Added:"2009-07-29"},{Type:"language",Subtag:"ald",Description:["Alladian"],Added:"2009-07-29"},{Type:"language",Subtag:"ale",Description:["Aleut"],Added:"2005-10-16"},{Type:"language",Subtag:"alf",Description:["Alege"],Added:"2009-07-29"},{Type:"language",Subtag:"alg",Description:["Algonquian languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"alh",Description:["Alawa"],Added:"2009-07-29"},{Type:"language",Subtag:"ali",Description:["Amaimon"],Added:"2009-07-29"},{Type:"language",Subtag:"alj",Description:["Alangan"],Added:"2009-07-29"},{Type:"language",Subtag:"alk",Description:["Alak"],Added:"2009-07-29"},{Type:"language",Subtag:"all",Description:["Allar"],Added:"2009-07-29"},{Type:"language",Subtag:"alm",Description:["Amblong"],Added:"2009-07-29"},{Type:"language",Subtag:"aln",Description:["Gheg Albanian"],Added:"2009-07-29",Macrolanguage:"sq"},{Type:"language",Subtag:"alo",Description:["Larike-Wakasihu"],Added:"2009-07-29"},{Type:"language",Subtag:"alp",Description:["Alune"],Added:"2009-07-29"},{Type:"language",Subtag:"alq",Description:["Algonquin"],Added:"2009-07-29"},{Type:"language",Subtag:"alr",Description:["Alutor"],Added:"2009-07-29"},{Type:"language",Subtag:"als",Description:["Tosk Albanian"],Added:"2009-07-29",Macrolanguage:"sq"},{Type:"language",Subtag:"alt",Description:["Southern Altai"],Added:"2005-10-16"},{Type:"language",Subtag:"alu",Description:["'Are'are"],Added:"2009-07-29"},{Type:"language",Subtag:"alv",Description:["Atlantic-Congo languages"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"alw",Description:["Alaba-K’abeena","Wanbasana"],Added:"2009-07-29"},{Type:"language",Subtag:"alx",Description:["Amol"],Added:"2009-07-29"},{Type:"language",Subtag:"aly",Description:["Alyawarr"],Added:"2009-07-29"},{Type:"language",Subtag:"alz",Description:["Alur"],Added:"2009-07-29"},{Type:"language",Subtag:"ama",Description:["Amanayé"],Added:"2009-07-29"},{Type:"language",Subtag:"amb",Description:["Ambo"],Added:"2009-07-29"},{Type:"language",Subtag:"amc",Description:["Amahuaca"],Added:"2009-07-29"},{Type:"language",Subtag:"ame",Description:["Yanesha'"],Added:"2009-07-29"},{Type:"language",Subtag:"amf",Description:["Hamer-Banna"],Added:"2009-07-29"},{Type:"language",Subtag:"amg",Description:["Amurdak"],Added:"2009-07-29"},{Type:"language",Subtag:"ami",Description:["Amis"],Added:"2009-07-29"},{Type:"language",Subtag:"amj",Description:["Amdang"],Added:"2009-07-29"},{Type:"language",Subtag:"amk",Description:["Ambai"],Added:"2009-07-29"},{Type:"language",Subtag:"aml",Description:["War-Jaintia"],Added:"2009-07-29"},{Type:"language",Subtag:"amm",Description:["Ama (Papua New Guinea)"],Added:"2009-07-29"},{Type:"language",Subtag:"amn",Description:["Amanab"],Added:"2009-07-29"},{Type:"language",Subtag:"amo",Description:["Amo"],Added:"2009-07-29"},{Type:"language",Subtag:"amp",Description:["Alamblak"],Added:"2009-07-29"},{Type:"language",Subtag:"amq",Description:["Amahai"],Added:"2009-07-29"},{Type:"language",Subtag:"amr",Description:["Amarakaeri"],Added:"2009-07-29"},{Type:"language",Subtag:"ams",Description:["Southern Amami-Oshima"],Added:"2009-07-29"},{Type:"language",Subtag:"amt",Description:["Amto"],Added:"2009-07-29"},{Type:"language",Subtag:"amu",Description:["Guerrero Amuzgo"],Added:"2009-07-29"},{Type:"language",Subtag:"amv",Description:["Ambelau"],Added:"2009-07-29"},{Type:"language",Subtag:"amw",Description:["Western Neo-Aramaic"],Added:"2009-07-29"},{Type:"language",Subtag:"amx",Description:["Anmatyerre"],Added:"2009-07-29"},{Type:"language",Subtag:"amy",Description:["Ami"],Added:"2009-07-29"},{Type:"language",Subtag:"amz",Description:["Atampaya"],Added:"2009-07-29"},{Type:"language",Subtag:"ana",Description:["Andaqui"],Added:"2009-07-29"},{Type:"language",Subtag:"anb",Description:["Andoa"],Added:"2009-07-29"},{Type:"language",Subtag:"anc",Description:["Ngas"],Added:"2009-07-29"},{Type:"language",Subtag:"and",Description:["Ansus"],Added:"2009-07-29"},{Type:"language",Subtag:"ane",Description:["Xârâcùù"],Added:"2009-07-29"},{Type:"language",Subtag:"anf",Description:["Animere"],Added:"2009-07-29"},{Type:"language",Subtag:"ang",Description:["Old English (ca. 450-1100)"],Added:"2005-10-16"},{Type:"language",Subtag:"anh",Description:["Nend"],Added:"2009-07-29"},{Type:"language",Subtag:"ani",Description:["Andi"],Added:"2009-07-29"},{Type:"language",Subtag:"anj",Description:["Anor"],Added:"2009-07-29"},{Type:"language",Subtag:"ank",Description:["Goemai"],Added:"2009-07-29"},{Type:"language",Subtag:"anl",Description:["Anu-Hkongso Chin"],Added:"2009-07-29"},{Type:"language",Subtag:"anm",Description:["Anal"],Added:"2009-07-29"},{Type:"language",Subtag:"ann",Description:["Obolo"],Added:"2009-07-29"},{Type:"language",Subtag:"ano",Description:["Andoque"],Added:"2009-07-29"},{Type:"language",Subtag:"anp",Description:["Angika"],Added:"2006-03-08"},{Type:"language",Subtag:"anq",Description:["Jarawa (India)"],Added:"2009-07-29"},{Type:"language",Subtag:"anr",Description:["Andh"],Added:"2009-07-29"},{Type:"language",Subtag:"ans",Description:["Anserma"],Added:"2009-07-29"},{Type:"language",Subtag:"ant",Description:["Antakarinya","Antikarinya"],Added:"2009-07-29"},{Type:"language",Subtag:"anu",Description:["Anuak"],Added:"2009-07-29"},{Type:"language",Subtag:"anv",Description:["Denya"],Added:"2009-07-29"},{Type:"language",Subtag:"anw",Description:["Anaang"],Added:"2009-07-29"},{Type:"language",Subtag:"anx",Description:["Andra-Hus"],Added:"2009-07-29"},{Type:"language",Subtag:"any",Description:["Anyin"],Added:"2009-07-29"},{Type:"language",Subtag:"anz",Description:["Anem"],Added:"2009-07-29"},{Type:"language",Subtag:"aoa",Description:["Angolar"],Added:"2009-07-29"},{Type:"language",Subtag:"aob",Description:["Abom"],Added:"2009-07-29"},{Type:"language",Subtag:"aoc",Description:["Pemon"],Added:"2009-07-29"},{Type:"language",Subtag:"aod",Description:["Andarum"],Added:"2009-07-29"},{Type:"language",Subtag:"aoe",Description:["Angal Enen"],Added:"2009-07-29"},{Type:"language",Subtag:"aof",Description:["Bragat"],Added:"2009-07-29"},{Type:"language",Subtag:"aog",Description:["Angoram"],Added:"2009-07-29"},{Type:"language",Subtag:"aoh",Description:["Arma"],Added:"2009-07-29",Deprecated:"2020-03-28"},{Type:"language",Subtag:"aoi",Description:["Anindilyakwa"],Added:"2009-07-29"},{Type:"language",Subtag:"aoj",Description:["Mufian"],Added:"2009-07-29"},{Type:"language",Subtag:"aok",Description:["Arhö"],Added:"2009-07-29"},{Type:"language",Subtag:"aol",Description:["Alor"],Added:"2009-07-29"},{Type:"language",Subtag:"aom",Description:["Ömie"],Added:"2009-07-29"},{Type:"language",Subtag:"aon",Description:["Bumbita Arapesh"],Added:"2009-07-29"},{Type:"language",Subtag:"aor",Description:["Aore"],Added:"2009-07-29"},{Type:"language",Subtag:"aos",Description:["Taikat"],Added:"2009-07-29"},{Type:"language",Subtag:"aot",Description:["Atong (India)","A'tong"],Added:"2009-07-29"},{Type:"language",Subtag:"aou",Description:["A'ou"],Added:"2012-08-12"},{Type:"language",Subtag:"aox",Description:["Atorada"],Added:"2009-07-29"},{Type:"language",Subtag:"aoz",Description:["Uab Meto"],Added:"2009-07-29"},{Type:"language",Subtag:"apa",Description:["Apache languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"apb",Description:["Sa'a"],Added:"2009-07-29"},{Type:"language",Subtag:"apc",Description:["North Levantine Arabic"],Added:"2009-07-29",Macrolanguage:"ar"},{Type:"language",Subtag:"apd",Description:["Sudanese Arabic"],Added:"2009-07-29",Macrolanguage:"ar"},{Type:"language",Subtag:"ape",Description:["Bukiyip"],Added:"2009-07-29"},{Type:"language",Subtag:"apf",Description:["Pahanan Agta"],Added:"2010-03-11"},{Type:"language",Subtag:"apg",Description:["Ampanang"],Added:"2009-07-29"},{Type:"language",Subtag:"aph",Description:["Athpariya"],Added:"2009-07-29"},{Type:"language",Subtag:"api",Description:["Apiaká"],Added:"2009-07-29"},{Type:"language",Subtag:"apj",Description:["Jicarilla Apache"],Added:"2009-07-29"},{Type:"language",Subtag:"apk",Description:["Kiowa Apache"],Added:"2009-07-29"},{Type:"language",Subtag:"apl",Description:["Lipan Apache"],Added:"2009-07-29"},{Type:"language",Subtag:"apm",Description:["Mescalero-Chiricahua Apache"],Added:"2009-07-29"},{Type:"language",Subtag:"apn",Description:["Apinayé"],Added:"2009-07-29"},{Type:"language",Subtag:"apo",Description:["Ambul"],Added:"2009-07-29"},{Type:"language",Subtag:"app",Description:["Apma"],Added:"2009-07-29"},{Type:"language",Subtag:"apq",Description:["A-Pucikwar"],Added:"2009-07-29"},{Type:"language",Subtag:"apr",Description:["Arop-Lokep"],Added:"2009-07-29"},{Type:"language",Subtag:"aps",Description:["Arop-Sissano"],Added:"2009-07-29"},{Type:"language",Subtag:"apt",Description:["Apatani"],Added:"2009-07-29"},{Type:"language",Subtag:"apu",Description:["Apurinã"],Added:"2009-07-29"},{Type:"language",Subtag:"apv",Description:["Alapmunte"],Added:"2009-07-29"},{Type:"language",Subtag:"apw",Description:["Western Apache"],Added:"2009-07-29"},{Type:"language",Subtag:"apx",Description:["Aputai"],Added:"2009-07-29"},{Type:"language",Subtag:"apy",Description:["Apalaí"],Added:"2009-07-29"},{Type:"language",Subtag:"apz",Description:["Safeyoka"],Added:"2009-07-29"},{Type:"language",Subtag:"aqa",Description:["Alacalufan languages"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"aqc",Description:["Archi"],Added:"2009-07-29"},{Type:"language",Subtag:"aqd",Description:["Ampari Dogon"],Added:"2011-08-16"},{Type:"language",Subtag:"aqg",Description:["Arigidi"],Added:"2009-07-29"},{Type:"language",Subtag:"aqk",Description:["Aninka"],Added:"2021-02-20"},{Type:"language",Subtag:"aql",Description:["Algic languages"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"aqm",Description:["Atohwaim"],Added:"2009-07-29"},{Type:"language",Subtag:"aqn",Description:["Northern Alta"],Added:"2009-07-29"},{Type:"language",Subtag:"aqp",Description:["Atakapa"],Added:"2009-07-29"},{Type:"language",Subtag:"aqr",Description:["Arhâ"],Added:"2009-07-29"},{Type:"language",Subtag:"aqt",Description:["Angaité"],Added:"2014-02-28"},{Type:"language",Subtag:"aqz",Description:["Akuntsu"],Added:"2010-03-11"},{Type:"language",Subtag:"arb",Description:["Standard Arabic"],Added:"2009-07-29",Macrolanguage:"ar"},{Type:"language",Subtag:"arc",Description:["Official Aramaic (700-300 BCE)","Imperial Aramaic (700-300 BCE)"],Added:"2005-10-16"},{Type:"language",Subtag:"ard",Description:["Arabana"],Added:"2009-07-29"},{Type:"language",Subtag:"are",Description:["Western Arrarnta"],Added:"2009-07-29"},{Type:"language",Subtag:"arh",Description:["Arhuaco"],Added:"2009-07-29"},{Type:"language",Subtag:"ari",Description:["Arikara"],Added:"2009-07-29"},{Type:"language",Subtag:"arj",Description:["Arapaso"],Added:"2009-07-29"},{Type:"language",Subtag:"ark",Description:["Arikapú"],Added:"2009-07-29"},{Type:"language",Subtag:"arl",Description:["Arabela"],Added:"2009-07-29"},{Type:"language",Subtag:"arn",Description:["Mapudungun","Mapuche"],Added:"2005-10-16"},{Type:"language",Subtag:"aro",Description:["Araona"],Added:"2009-07-29"},{Type:"language",Subtag:"arp",Description:["Arapaho"],Added:"2005-10-16"},{Type:"language",Subtag:"arq",Description:["Algerian Arabic"],Added:"2009-07-29",Macrolanguage:"ar"},{Type:"language",Subtag:"arr",Description:["Karo (Brazil)"],Added:"2009-07-29"},{Type:"language",Subtag:"ars",Description:["Najdi Arabic"],Added:"2009-07-29",Macrolanguage:"ar"},{Type:"language",Subtag:"art",Description:["Artificial languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"aru",Description:["Aruá (Amazonas State)","Arawá"],Added:"2009-07-29"},{Type:"language",Subtag:"arv",Description:["Arbore"],Added:"2009-07-29"},{Type:"language",Subtag:"arw",Description:["Arawak"],Added:"2005-10-16"},{Type:"language",Subtag:"arx",Description:["Aruá (Rodonia State)"],Added:"2009-07-29"},{Type:"language",Subtag:"ary",Description:["Moroccan Arabic"],Added:"2009-07-29",Macrolanguage:"ar"},{Type:"language",Subtag:"arz",Description:["Egyptian Arabic"],Added:"2009-07-29",Macrolanguage:"ar"},{Type:"language",Subtag:"asa",Description:["Asu (Tanzania)"],Added:"2009-07-29"},{Type:"language",Subtag:"asb",Description:["Assiniboine"],Added:"2009-07-29"},{Type:"language",Subtag:"asc",Description:["Casuarina Coast Asmat"],Added:"2009-07-29"},{Type:"language",Subtag:"asd",Description:["Asas"],Added:"2009-07-29",Deprecated:"2019-04-16","Preferred-Value":"snz"},{Type:"language",Subtag:"ase",Description:["American Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"asf",Description:["Auslan","Australian Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"asg",Description:["Cishingini"],Added:"2009-07-29"},{Type:"language",Subtag:"ash",Description:["Abishira"],Added:"2009-07-29"},{Type:"language",Subtag:"asi",Description:["Buruwai"],Added:"2009-07-29"},{Type:"language",Subtag:"asj",Description:["Sari"],Added:"2009-07-29"},{Type:"language",Subtag:"ask",Description:["Ashkun"],Added:"2009-07-29"},{Type:"language",Subtag:"asl",Description:["Asilulu"],Added:"2009-07-29"},{Type:"language",Subtag:"asn",Description:["Xingú Asuriní"],Added:"2009-07-29"},{Type:"language",Subtag:"aso",Description:["Dano"],Added:"2009-07-29"},{Type:"language",Subtag:"asp",Description:["Algerian Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"asq",Description:["Austrian Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"asr",Description:["Asuri"],Added:"2009-07-29"},{Type:"language",Subtag:"ass",Description:["Ipulo"],Added:"2009-07-29"},{Type:"language",Subtag:"ast",Description:["Asturian","Asturleonese","Bable","Leonese"],Added:"2005-10-16"},{Type:"language",Subtag:"asu",Description:["Tocantins Asurini"],Added:"2009-07-29"},{Type:"language",Subtag:"asv",Description:["Asoa"],Added:"2009-07-29"},{Type:"language",Subtag:"asw",Description:["Australian Aborigines Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"asx",Description:["Muratayak"],Added:"2009-07-29"},{Type:"language",Subtag:"asy",Description:["Yaosakor Asmat"],Added:"2009-07-29"},{Type:"language",Subtag:"asz",Description:["As"],Added:"2009-07-29"},{Type:"language",Subtag:"ata",Description:["Pele-Ata"],Added:"2009-07-29"},{Type:"language",Subtag:"atb",Description:["Zaiwa"],Added:"2009-07-29"},{Type:"language",Subtag:"atc",Description:["Atsahuaca"],Added:"2009-07-29"},{Type:"language",Subtag:"atd",Description:["Ata Manobo"],Added:"2009-07-29"},{Type:"language",Subtag:"ate",Description:["Atemble"],Added:"2009-07-29"},{Type:"language",Subtag:"atg",Description:["Ivbie North-Okpela-Arhe"],Added:"2009-07-29"},{Type:"language",Subtag:"ath",Description:["Athapascan languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"ati",Description:["Attié"],Added:"2009-07-29"},{Type:"language",Subtag:"atj",Description:["Atikamekw"],Added:"2009-07-29"},{Type:"language",Subtag:"atk",Description:["Ati"],Added:"2009-07-29"},{Type:"language",Subtag:"atl",Description:["Mt. Iraya Agta"],Added:"2009-07-29"},{Type:"language",Subtag:"atm",Description:["Ata"],Added:"2009-07-29"},{Type:"language",Subtag:"atn",Description:["Ashtiani"],Added:"2009-07-29"},{Type:"language",Subtag:"ato",Description:["Atong (Cameroon)"],Added:"2009-07-29"},{Type:"language",Subtag:"atp",Description:["Pudtol Atta"],Added:"2009-07-29"},{Type:"language",Subtag:"atq",Description:["Aralle-Tabulahan"],Added:"2009-07-29"},{Type:"language",Subtag:"atr",Description:["Waimiri-Atroari"],Added:"2009-07-29"},{Type:"language",Subtag:"ats",Description:["Gros Ventre"],Added:"2009-07-29"},{Type:"language",Subtag:"att",Description:["Pamplona Atta"],Added:"2009-07-29"},{Type:"language",Subtag:"atu",Description:["Reel"],Added:"2009-07-29"},{Type:"language",Subtag:"atv",Description:["Northern Altai"],Added:"2009-07-29"},{Type:"language",Subtag:"atw",Description:["Atsugewi"],Added:"2009-07-29"},{Type:"language",Subtag:"atx",Description:["Arutani"],Added:"2009-07-29"},{Type:"language",Subtag:"aty",Description:["Aneityum"],Added:"2009-07-29"},{Type:"language",Subtag:"atz",Description:["Arta"],Added:"2009-07-29"},{Type:"language",Subtag:"aua",Description:["Asumboa"],Added:"2009-07-29"},{Type:"language",Subtag:"aub",Description:["Alugu"],Added:"2009-07-29"},{Type:"language",Subtag:"auc",Description:["Waorani"],Added:"2009-07-29"},{Type:"language",Subtag:"aud",Description:["Anuta"],Added:"2009-07-29"},{Type:"language",Subtag:"aue",Description:["ǂKxʼauǁʼein"],Added:"2009-07-29",Deprecated:"2015-02-12","Preferred-Value":"ktz"},{Type:"language",Subtag:"auf",Description:["Arauan languages"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"aug",Description:["Aguna"],Added:"2009-07-29"},{Type:"language",Subtag:"auh",Description:["Aushi"],Added:"2009-07-29"},{Type:"language",Subtag:"aui",Description:["Anuki"],Added:"2009-07-29"},{Type:"language",Subtag:"auj",Description:["Awjilah"],Added:"2009-07-29"},{Type:"language",Subtag:"auk",Description:["Heyo"],Added:"2009-07-29"},{Type:"language",Subtag:"aul",Description:["Aulua"],Added:"2009-07-29"},{Type:"language",Subtag:"aum",Description:["Asu (Nigeria)"],Added:"2009-07-29"},{Type:"language",Subtag:"aun",Description:["Molmo One"],Added:"2009-07-29"},{Type:"language",Subtag:"auo",Description:["Auyokawa"],Added:"2009-07-29"},{Type:"language",Subtag:"aup",Description:["Makayam"],Added:"2009-07-29"},{Type:"language",Subtag:"auq",Description:["Anus","Korur"],Added:"2009-07-29"},{Type:"language",Subtag:"aur",Description:["Aruek"],Added:"2009-07-29"},{Type:"language",Subtag:"aus",Description:["Australian languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"aut",Description:["Austral"],Added:"2009-07-29"},{Type:"language",Subtag:"auu",Description:["Auye"],Added:"2009-07-29"},{Type:"language",Subtag:"auw",Description:["Awyi"],Added:"2009-07-29"},{Type:"language",Subtag:"aux",Description:["Aurá"],Added:"2009-07-29"},{Type:"language",Subtag:"auy",Description:["Awiyaana"],Added:"2009-07-29"},{Type:"language",Subtag:"auz",Description:["Uzbeki Arabic"],Added:"2009-07-29",Macrolanguage:"ar"},{Type:"language",Subtag:"avb",Description:["Avau"],Added:"2009-07-29"},{Type:"language",Subtag:"avd",Description:["Alviri-Vidari"],Added:"2009-07-29"},{Type:"language",Subtag:"avi",Description:["Avikam"],Added:"2009-07-29"},{Type:"language",Subtag:"avk",Description:["Kotava"],Added:"2009-07-29"},{Type:"language",Subtag:"avl",Description:["Eastern Egyptian Bedawi Arabic"],Added:"2009-07-29",Macrolanguage:"ar"},{Type:"language",Subtag:"avm",Description:["Angkamuthi"],Added:"2012-08-12"},{Type:"language",Subtag:"avn",Description:["Avatime"],Added:"2009-07-29"},{Type:"language",Subtag:"avo",Description:["Agavotaguerra"],Added:"2009-07-29"},{Type:"language",Subtag:"avs",Description:["Aushiri"],Added:"2009-07-29"},{Type:"language",Subtag:"avt",Description:["Au"],Added:"2009-07-29"},{Type:"language",Subtag:"avu",Description:["Avokaya"],Added:"2009-07-29"},{Type:"language",Subtag:"avv",Description:["Avá-Canoeiro"],Added:"2009-07-29"},{Type:"language",Subtag:"awa",Description:["Awadhi"],Added:"2005-10-16"},{Type:"language",Subtag:"awb",Description:["Awa (Papua New Guinea)"],Added:"2009-07-29"},{Type:"language",Subtag:"awc",Description:["Cicipu"],Added:"2009-07-29"},{Type:"language",Subtag:"awd",Description:["Arawakan languages"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"awe",Description:["Awetí"],Added:"2009-07-29"},{Type:"language",Subtag:"awg",Description:["Anguthimri"],Added:"2012-08-12"},{Type:"language",Subtag:"awh",Description:["Awbono"],Added:"2009-07-29"},{Type:"language",Subtag:"awi",Description:["Aekyom"],Added:"2009-07-29"},{Type:"language",Subtag:"awk",Description:["Awabakal"],Added:"2009-07-29"},{Type:"language",Subtag:"awm",Description:["Arawum"],Added:"2009-07-29"},{Type:"language",Subtag:"awn",Description:["Awngi"],Added:"2009-07-29"},{Type:"language",Subtag:"awo",Description:["Awak"],Added:"2009-07-29"},{Type:"language",Subtag:"awr",Description:["Awera"],Added:"2009-07-29"},{Type:"language",Subtag:"aws",Description:["South Awyu"],Added:"2009-07-29"},{Type:"language",Subtag:"awt",Description:["Araweté"],Added:"2009-07-29"},{Type:"language",Subtag:"awu",Description:["Central Awyu"],Added:"2009-07-29"},{Type:"language",Subtag:"awv",Description:["Jair Awyu"],Added:"2009-07-29"},{Type:"language",Subtag:"aww",Description:["Awun"],Added:"2009-07-29"},{Type:"language",Subtag:"awx",Description:["Awara"],Added:"2009-07-29"},{Type:"language",Subtag:"awy",Description:["Edera Awyu"],Added:"2009-07-29"},{Type:"language",Subtag:"axb",Description:["Abipon"],Added:"2009-07-29"},{Type:"language",Subtag:"axe",Description:["Ayerrerenge"],Added:"2012-08-12"},{Type:"language",Subtag:"axg",Description:["Mato Grosso Arára"],Added:"2009-07-29"},{Type:"language",Subtag:"axk",Description:["Yaka (Central African Republic)"],Added:"2009-07-29"},{Type:"language",Subtag:"axl",Description:["Lower Southern Aranda"],Added:"2013-09-10"},{Type:"language",Subtag:"axm",Description:["Middle Armenian"],Added:"2009-07-29"},{Type:"language",Subtag:"axx",Description:["Xârâgurè"],Added:"2009-07-29"},{Type:"language",Subtag:"aya",Description:["Awar"],Added:"2009-07-29"},{Type:"language",Subtag:"ayb",Description:["Ayizo Gbe"],Added:"2009-07-29"},{Type:"language",Subtag:"ayc",Description:["Southern Aymara"],Added:"2009-07-29",Macrolanguage:"ay"},{Type:"language",Subtag:"ayd",Description:["Ayabadhu"],Added:"2009-07-29"},{Type:"language",Subtag:"aye",Description:["Ayere"],Added:"2009-07-29"},{Type:"language",Subtag:"ayg",Description:["Ginyanga"],Added:"2009-07-29"},{Type:"language",Subtag:"ayh",Description:["Hadrami Arabic"],Added:"2009-07-29",Macrolanguage:"ar"},{Type:"language",Subtag:"ayi",Description:["Leyigha"],Added:"2009-07-29"},{Type:"language",Subtag:"ayk",Description:["Akuku"],Added:"2009-07-29"},{Type:"language",Subtag:"ayl",Description:["Libyan Arabic"],Added:"2009-07-29",Macrolanguage:"ar"},{Type:"language",Subtag:"ayn",Description:["Sanaani Arabic"],Added:"2009-07-29",Macrolanguage:"ar"},{Type:"language",Subtag:"ayo",Description:["Ayoreo"],Added:"2009-07-29"},{Type:"language",Subtag:"ayp",Description:["North Mesopotamian Arabic"],Added:"2009-07-29",Macrolanguage:"ar"},{Type:"language",Subtag:"ayq",Description:["Ayi (Papua New Guinea)"],Added:"2009-07-29"},{Type:"language",Subtag:"ayr",Description:["Central Aymara"],Added:"2009-07-29",Macrolanguage:"ay"},{Type:"language",Subtag:"ays",Description:["Sorsogon Ayta"],Added:"2009-07-29"},{Type:"language",Subtag:"ayt",Description:["Magbukun Ayta"],Added:"2009-07-29"},{Type:"language",Subtag:"ayu",Description:["Ayu"],Added:"2009-07-29"},{Type:"language",Subtag:"ayx",Description:["Ayi (China)"],Added:"2009-07-29",Deprecated:"2011-08-16","Preferred-Value":"nun"},{Type:"language",Subtag:"ayy",Description:["Tayabas Ayta"],Added:"2009-07-29",Deprecated:"2020-03-28"},{Type:"language",Subtag:"ayz",Description:["Mai Brat"],Added:"2009-07-29"},{Type:"language",Subtag:"aza",Description:["Azha"],Added:"2009-07-29"},{Type:"language",Subtag:"azb",Description:["South Azerbaijani"],Added:"2009-07-29",Macrolanguage:"az"},{Type:"language",Subtag:"azc",Description:["Uto-Aztecan languages"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"azd",Description:["Eastern Durango Nahuatl"],Added:"2012-08-12"},{Type:"language",Subtag:"azg",Description:["San Pedro Amuzgos Amuzgo"],Added:"2009-07-29"},{Type:"language",Subtag:"azj",Description:["North Azerbaijani"],Added:"2009-07-29",Macrolanguage:"az"},{Type:"language",Subtag:"azm",Description:["Ipalapa Amuzgo"],Added:"2009-07-29"},{Type:"language",Subtag:"azn",Description:["Western Durango Nahuatl"],Added:"2012-08-12"},{Type:"language",Subtag:"azo",Description:["Awing"],Added:"2009-07-29"},{Type:"language",Subtag:"azt",Description:["Faire Atta"],Added:"2009-07-29"},{Type:"language",Subtag:"azz",Description:["Highland Puebla Nahuatl"],Added:"2009-07-29"},{Type:"language",Subtag:"baa",Description:["Babatana"],Added:"2009-07-29"},{Type:"language",Subtag:"bab",Description:["Bainouk-Gunyuño"],Added:"2009-07-29"},{Type:"language",Subtag:"bac",Description:["Badui"],Added:"2009-07-29"},{Type:"language",Subtag:"bad",Description:["Banda languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"bae",Description:["Baré"],Added:"2009-07-29"},{Type:"language",Subtag:"baf",Description:["Nubaca"],Added:"2009-07-29"},{Type:"language",Subtag:"bag",Description:["Tuki"],Added:"2009-07-29"},{Type:"language",Subtag:"bah",Description:["Bahamas Creole English"],Added:"2009-07-29"},{Type:"language",Subtag:"bai",Description:["Bamileke languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"baj",Description:["Barakai"],Added:"2009-07-29"},{Type:"language",Subtag:"bal",Description:["Baluchi"],Added:"2005-10-16",Scope:"macrolanguage"},{Type:"language",Subtag:"ban",Description:["Balinese"],Added:"2005-10-16"},{Type:"language",Subtag:"bao",Description:["Waimaha"],Added:"2009-07-29"},{Type:"language",Subtag:"bap",Description:["Bantawa"],Added:"2009-07-29"},{Type:"language",Subtag:"bar",Description:["Bavarian"],Added:"2009-07-29"},{Type:"language",Subtag:"bas",Description:["Basa (Cameroon)"],Added:"2005-10-16"},{Type:"language",Subtag:"bat",Description:["Baltic languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"bau",Description:["Bada (Nigeria)"],Added:"2009-07-29"},{Type:"language",Subtag:"bav",Description:["Vengo"],Added:"2009-07-29"},{Type:"language",Subtag:"baw",Description:["Bambili-Bambui"],Added:"2009-07-29"},{Type:"language",Subtag:"bax",Description:["Bamun"],Added:"2009-07-29"},{Type:"language",Subtag:"bay",Description:["Batuley"],Added:"2009-07-29"},{Type:"language",Subtag:"baz",Description:["Tunen"],Added:"2009-07-29",Deprecated:"2012-08-12",Comments:["see nvo, tvu"]},{Type:"language",Subtag:"bba",Description:["Baatonum"],Added:"2009-07-29"},{Type:"language",Subtag:"bbb",Description:["Barai"],Added:"2009-07-29"},{Type:"language",Subtag:"bbc",Description:["Batak Toba"],Added:"2009-07-29"},{Type:"language",Subtag:"bbd",Description:["Bau"],Added:"2009-07-29"},{Type:"language",Subtag:"bbe",Description:["Bangba"],Added:"2009-07-29"},{Type:"language",Subtag:"bbf",Description:["Baibai"],Added:"2009-07-29"},{Type:"language",Subtag:"bbg",Description:["Barama"],Added:"2009-07-29"},{Type:"language",Subtag:"bbh",Description:["Bugan"],Added:"2009-07-29"},{Type:"language",Subtag:"bbi",Description:["Barombi"],Added:"2009-07-29"},{Type:"language",Subtag:"bbj",Description:["Ghomálá'"],Added:"2009-07-29"},{Type:"language",Subtag:"bbk",Description:["Babanki"],Added:"2009-07-29"},{Type:"language",Subtag:"bbl",Description:["Bats"],Added:"2009-07-29"},{Type:"language",Subtag:"bbm",Description:["Babango"],Added:"2009-07-29"},{Type:"language",Subtag:"bbn",Description:["Uneapa"],Added:"2009-07-29"},{Type:"language",Subtag:"bbo",Description:["Northern Bobo Madaré","Konabéré"],Added:"2009-07-29"},{Type:"language",Subtag:"bbp",Description:["West Central Banda"],Added:"2009-07-29"},{Type:"language",Subtag:"bbq",Description:["Bamali"],Added:"2009-07-29"},{Type:"language",Subtag:"bbr",Description:["Girawa"],Added:"2009-07-29"},{Type:"language",Subtag:"bbs",Description:["Bakpinka"],Added:"2009-07-29"},{Type:"language",Subtag:"bbt",Description:["Mburku"],Added:"2009-07-29"},{Type:"language",Subtag:"bbu",Description:["Kulung (Nigeria)"],Added:"2009-07-29"},{Type:"language",Subtag:"bbv",Description:["Karnai"],Added:"2009-07-29"},{Type:"language",Subtag:"bbw",Description:["Baba"],Added:"2009-07-29"},{Type:"language",Subtag:"bbx",Description:["Bubia"],Added:"2009-07-29"},{Type:"language",Subtag:"bby",Description:["Befang"],Added:"2009-07-29"},{Type:"language",Subtag:"bbz",Description:["Babalia Creole Arabic"],Added:"2009-07-29",Deprecated:"2020-03-28",Macrolanguage:"ar"},{Type:"language",Subtag:"bca",Description:["Central Bai"],Added:"2009-07-29"},{Type:"language",Subtag:"bcb",Description:["Bainouk-Samik"],Added:"2009-07-29"},{Type:"language",Subtag:"bcc",Description:["Southern Balochi"],Added:"2009-07-29",Macrolanguage:"bal"},{Type:"language",Subtag:"bcd",Description:["North Babar"],Added:"2009-07-29"},{Type:"language",Subtag:"bce",Description:["Bamenyam"],Added:"2009-07-29"},{Type:"language",Subtag:"bcf",Description:["Bamu"],Added:"2009-07-29"},{Type:"language",Subtag:"bcg",Description:["Baga Pokur"],Added:"2009-07-29"},{Type:"language",Subtag:"bch",Description:["Bariai"],Added:"2009-07-29"},{Type:"language",Subtag:"bci",Description:["Baoulé"],Added:"2009-07-29"},{Type:"language",Subtag:"bcj",Description:["Bardi"],Added:"2009-07-29"},{Type:"language",Subtag:"bck",Description:["Bunuba"],Added:"2009-07-29"},{Type:"language",Subtag:"bcl",Description:["Central Bikol"],Added:"2009-07-29",Macrolanguage:"bik"},{Type:"language",Subtag:"bcm",Description:["Bannoni"],Added:"2009-07-29"},{Type:"language",Subtag:"bcn",Description:["Bali (Nigeria)"],Added:"2009-07-29"},{Type:"language",Subtag:"bco",Description:["Kaluli"],Added:"2009-07-29"},{Type:"language",Subtag:"bcp",Description:["Bali (Democratic Republic of Congo)"],Added:"2009-07-29"},{Type:"language",Subtag:"bcq",Description:["Bench"],Added:"2009-07-29"},{Type:"language",Subtag:"bcr",Description:["Babine"],Added:"2009-07-29"},{Type:"language",Subtag:"bcs",Description:["Kohumono"],Added:"2009-07-29"},{Type:"language",Subtag:"bct",Description:["Bendi"],Added:"2009-07-29"},{Type:"language",Subtag:"bcu",Description:["Awad Bing"],Added:"2009-07-29"},{Type:"language",Subtag:"bcv",Description:["Shoo-Minda-Nye"],Added:"2009-07-29"},{Type:"language",Subtag:"bcw",Description:["Bana"],Added:"2009-07-29"},{Type:"language",Subtag:"bcy",Description:["Bacama"],Added:"2009-07-29"},{Type:"language",Subtag:"bcz",Description:["Bainouk-Gunyaamolo"],Added:"2009-07-29"},{Type:"language",Subtag:"bda",Description:["Bayot"],Added:"2009-07-29"},{Type:"language",Subtag:"bdb",Description:["Basap"],Added:"2009-07-29"},{Type:"language",Subtag:"bdc",Description:["Emberá-Baudó"],Added:"2009-07-29"},{Type:"language",Subtag:"bdd",Description:["Bunama"],Added:"2009-07-29"},{Type:"language",Subtag:"bde",Description:["Bade"],Added:"2009-07-29"},{Type:"language",Subtag:"bdf",Description:["Biage"],Added:"2010-03-11"},{Type:"language",Subtag:"bdg",Description:["Bonggi"],Added:"2009-07-29"},{Type:"language",Subtag:"bdh",Description:["Baka (South Sudan)"],Added:"2009-07-29"},{Type:"language",Subtag:"bdi",Description:["Burun"],Added:"2009-07-29"},{Type:"language",Subtag:"bdj",Description:["Bai (South Sudan)","Bai"],Added:"2009-07-29"},{Type:"language",Subtag:"bdk",Description:["Budukh"],Added:"2009-07-29"},{Type:"language",Subtag:"bdl",Description:["Indonesian Bajau"],Added:"2009-07-29"},{Type:"language",Subtag:"bdm",Description:["Buduma"],Added:"2009-07-29"},{Type:"language",Subtag:"bdn",Description:["Baldemu"],Added:"2009-07-29"},{Type:"language",Subtag:"bdo",Description:["Morom"],Added:"2009-07-29"},{Type:"language",Subtag:"bdp",Description:["Bende"],Added:"2009-07-29"},{Type:"language",Subtag:"bdq",Description:["Bahnar"],Added:"2009-07-29"},{Type:"language",Subtag:"bdr",Description:["West Coast Bajau"],Added:"2009-07-29"},{Type:"language",Subtag:"bds",Description:["Burunge"],Added:"2009-07-29"},{Type:"language",Subtag:"bdt",Description:["Bokoto"],Added:"2009-07-29",Macrolanguage:"gba"},{Type:"language",Subtag:"bdu",Description:["Oroko"],Added:"2009-07-29"},{Type:"language",Subtag:"bdv",Description:["Bodo Parja"],Added:"2009-07-29"},{Type:"language",Subtag:"bdw",Description:["Baham"],Added:"2009-07-29"},{Type:"language",Subtag:"bdx",Description:["Budong-Budong"],Added:"2009-07-29"},{Type:"language",Subtag:"bdy",Description:["Bandjalang"],Added:"2009-07-29"},{Type:"language",Subtag:"bdz",Description:["Badeshi"],Added:"2009-07-29"},{Type:"language",Subtag:"bea",Description:["Beaver"],Added:"2009-07-29"},{Type:"language",Subtag:"beb",Description:["Bebele"],Added:"2009-07-29"},{Type:"language",Subtag:"bec",Description:["Iceve-Maci"],Added:"2009-07-29"},{Type:"language",Subtag:"bed",Description:["Bedoanas"],Added:"2009-07-29"},{Type:"language",Subtag:"bee",Description:["Byangsi"],Added:"2009-07-29"},{Type:"language",Subtag:"bef",Description:["Benabena"],Added:"2009-07-29"},{Type:"language",Subtag:"beg",Description:["Belait"],Added:"2009-07-29"},{Type:"language",Subtag:"beh",Description:["Biali"],Added:"2009-07-29"},{Type:"language",Subtag:"bei",Description:["Bekati'"],Added:"2009-07-29"},{Type:"language",Subtag:"bej",Description:["Beja","Bedawiyet"],Added:"2005-10-16"},{Type:"language",Subtag:"bek",Description:["Bebeli"],Added:"2009-07-29"},{Type:"language",Subtag:"bem",Description:["Bemba (Zambia)"],Added:"2005-10-16"},{Type:"language",Subtag:"beo",Description:["Beami"],Added:"2009-07-29"},{Type:"language",Subtag:"bep",Description:["Besoa"],Added:"2009-07-29"},{Type:"language",Subtag:"beq",Description:["Beembe"],Added:"2009-07-29"},{Type:"language",Subtag:"ber",Description:["Berber languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"bes",Description:["Besme"],Added:"2009-07-29"},{Type:"language",Subtag:"bet",Description:["Guiberoua Béte"],Added:"2009-07-29"},{Type:"language",Subtag:"beu",Description:["Blagar"],Added:"2009-07-29"},{Type:"language",Subtag:"bev",Description:["Daloa Bété"],Added:"2009-07-29"},{Type:"language",Subtag:"bew",Description:["Betawi"],Added:"2009-07-29"},{Type:"language",Subtag:"bex",Description:["Jur Modo"],Added:"2009-07-29"},{Type:"language",Subtag:"bey",Description:["Beli (Papua New Guinea)"],Added:"2009-07-29"},{Type:"language",Subtag:"bez",Description:["Bena (Tanzania)"],Added:"2009-07-29"},{Type:"language",Subtag:"bfa",Description:["Bari"],Added:"2009-07-29"},{Type:"language",Subtag:"bfb",Description:["Pauri Bareli"],Added:"2009-07-29"},{Type:"language",Subtag:"bfc",Description:["Panyi Bai","Northern Bai"],Added:"2009-07-29"},{Type:"language",Subtag:"bfd",Description:["Bafut"],Added:"2009-07-29"},{Type:"language",Subtag:"bfe",Description:["Betaf","Tena"],Added:"2009-07-29"},{Type:"language",Subtag:"bff",Description:["Bofi"],Added:"2009-07-29"},{Type:"language",Subtag:"bfg",Description:["Busang Kayan"],Added:"2009-07-29"},{Type:"language",Subtag:"bfh",Description:["Blafe"],Added:"2009-07-29"},{Type:"language",Subtag:"bfi",Description:["British Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"bfj",Description:["Bafanji"],Added:"2009-07-29"},{Type:"language",Subtag:"bfk",Description:["Ban Khor Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"bfl",Description:["Banda-Ndélé"],Added:"2009-07-29"},{Type:"language",Subtag:"bfm",Description:["Mmen"],Added:"2009-07-29"},{Type:"language",Subtag:"bfn",Description:["Bunak"],Added:"2009-07-29"},{Type:"language",Subtag:"bfo",Description:["Malba Birifor"],Added:"2009-07-29"},{Type:"language",Subtag:"bfp",Description:["Beba"],Added:"2009-07-29"},{Type:"language",Subtag:"bfq",Description:["Badaga"],Added:"2009-07-29"},{Type:"language",Subtag:"bfr",Description:["Bazigar"],Added:"2009-07-29"},{Type:"language",Subtag:"bfs",Description:["Southern Bai"],Added:"2009-07-29"},{Type:"language",Subtag:"bft",Description:["Balti"],Added:"2009-07-29"},{Type:"language",Subtag:"bfu",Description:["Gahri"],Added:"2009-07-29"},{Type:"language",Subtag:"bfw",Description:["Bondo"],Added:"2009-07-29"},{Type:"language",Subtag:"bfx",Description:["Bantayanon"],Added:"2010-03-11"},{Type:"language",Subtag:"bfy",Description:["Bagheli"],Added:"2009-07-29"},{Type:"language",Subtag:"bfz",Description:["Mahasu Pahari"],Added:"2009-07-29"},{Type:"language",Subtag:"bga",Description:["Gwamhi-Wuri"],Added:"2009-07-29"},{Type:"language",Subtag:"bgb",Description:["Bobongko"],Added:"2009-07-29"},{Type:"language",Subtag:"bgc",Description:["Haryanvi"],Added:"2009-07-29"},{Type:"language",Subtag:"bgd",Description:["Rathwi Bareli"],Added:"2009-07-29"},{Type:"language",Subtag:"bge",Description:["Bauria"],Added:"2009-07-29"},{Type:"language",Subtag:"bgf",Description:["Bangandu"],Added:"2009-07-29"},{Type:"language",Subtag:"bgg",Description:["Bugun"],Added:"2009-07-29"},{Type:"language",Subtag:"bgi",Description:["Giangan"],Added:"2009-07-29"},{Type:"language",Subtag:"bgj",Description:["Bangolan"],Added:"2009-07-29"},{Type:"language",Subtag:"bgk",Description:["Bit","Buxinhua"],Added:"2009-07-29"},{Type:"language",Subtag:"bgl",Description:["Bo (Laos)"],Added:"2009-07-29"},{Type:"language",Subtag:"bgm",Description:["Baga Mboteni"],Added:"2009-07-29",Deprecated:"2016-05-30","Preferred-Value":"bcg"},{Type:"language",Subtag:"bgn",Description:["Western Balochi"],Added:"2009-07-29",Macrolanguage:"bal"},{Type:"language",Subtag:"bgo",Description:["Baga Koga"],Added:"2009-07-29"},{Type:"language",Subtag:"bgp",Description:["Eastern Balochi"],Added:"2009-07-29",Macrolanguage:"bal"},{Type:"language",Subtag:"bgq",Description:["Bagri"],Added:"2009-07-29",Macrolanguage:"raj"},{Type:"language",Subtag:"bgr",Description:["Bawm Chin"],Added:"2009-07-29"},{Type:"language",Subtag:"bgs",Description:["Tagabawa"],Added:"2009-07-29"},{Type:"language",Subtag:"bgt",Description:["Bughotu"],Added:"2009-07-29"},{Type:"language",Subtag:"bgu",Description:["Mbongno"],Added:"2009-07-29"},{Type:"language",Subtag:"bgv",Description:["Warkay-Bipim"],Added:"2009-07-29"},{Type:"language",Subtag:"bgw",Description:["Bhatri"],Added:"2009-07-29"},{Type:"language",Subtag:"bgx",Description:["Balkan Gagauz Turkish"],Added:"2009-07-29"},{Type:"language",Subtag:"bgy",Description:["Benggoi"],Added:"2009-07-29"},{Type:"language",Subtag:"bgz",Description:["Banggai"],Added:"2009-07-29"},{Type:"language",Subtag:"bha",Description:["Bharia"],Added:"2009-07-29"},{Type:"language",Subtag:"bhb",Description:["Bhili"],Added:"2009-07-29"},{Type:"language",Subtag:"bhc",Description:["Biga"],Added:"2009-07-29"},{Type:"language",Subtag:"bhd",Description:["Bhadrawahi"],Added:"2009-07-29"},{Type:"language",Subtag:"bhe",Description:["Bhaya"],Added:"2009-07-29"},{Type:"language",Subtag:"bhf",Description:["Odiai"],Added:"2009-07-29"},{Type:"language",Subtag:"bhg",Description:["Binandere"],Added:"2009-07-29"},{Type:"language",Subtag:"bhh",Description:["Bukharic"],Added:"2009-07-29"},{Type:"language",Subtag:"bhi",Description:["Bhilali"],Added:"2009-07-29"},{Type:"language",Subtag:"bhj",Description:["Bahing"],Added:"2009-07-29"},{Type:"language",Subtag:"bhk",Description:["Albay Bicolano"],Added:"2009-07-29",Deprecated:"2010-03-11",Macrolanguage:"bik",Comments:["see fbl, lbl, rbl, ubl"]},{Type:"language",Subtag:"bhl",Description:["Bimin"],Added:"2009-07-29"},{Type:"language",Subtag:"bhm",Description:["Bathari"],Added:"2009-07-29"},{Type:"language",Subtag:"bhn",Description:["Bohtan Neo-Aramaic"],Added:"2009-07-29"},{Type:"language",Subtag:"bho",Description:["Bhojpuri"],Added:"2005-10-16"},{Type:"language",Subtag:"bhp",Description:["Bima"],Added:"2009-07-29"},{Type:"language",Subtag:"bhq",Description:["Tukang Besi South"],Added:"2009-07-29"},{Type:"language",Subtag:"bhr",Description:["Bara Malagasy"],Added:"2009-07-29",Macrolanguage:"mg"},{Type:"language",Subtag:"bhs",Description:["Buwal"],Added:"2009-07-29"},{Type:"language",Subtag:"bht",Description:["Bhattiyali"],Added:"2009-07-29"},{Type:"language",Subtag:"bhu",Description:["Bhunjia"],Added:"2009-07-29"},{Type:"language",Subtag:"bhv",Description:["Bahau"],Added:"2009-07-29"},{Type:"language",Subtag:"bhw",Description:["Biak"],Added:"2009-07-29"},{Type:"language",Subtag:"bhx",Description:["Bhalay"],Added:"2009-07-29"},{Type:"language",Subtag:"bhy",Description:["Bhele"],Added:"2009-07-29"},{Type:"language",Subtag:"bhz",Description:["Bada (Indonesia)"],Added:"2009-07-29"},{Type:"language",Subtag:"bia",Description:["Badimaya"],Added:"2009-07-29"},{Type:"language",Subtag:"bib",Description:["Bissa","Bisa"],Added:"2009-07-29"},{Type:"language",Subtag:"bic",Description:["Bikaru"],Added:"2009-07-29",Deprecated:"2021-02-20","Preferred-Value":"bir"},{Type:"language",Subtag:"bid",Description:["Bidiyo"],Added:"2009-07-29"},{Type:"language",Subtag:"bie",Description:["Bepour"],Added:"2009-07-29"},{Type:"language",Subtag:"bif",Description:["Biafada"],Added:"2009-07-29"},{Type:"language",Subtag:"big",Description:["Biangai"],Added:"2009-07-29"},{Type:"language",Subtag:"bij",Description:["Vaghat-Ya-Bijim-Legeri"],Added:"2009-07-29",Deprecated:"2021-02-20",Comments:["see dkg, jbm, tyy"]},{Type:"language",Subtag:"bik",Description:["Bikol"],Added:"2005-10-16",Scope:"macrolanguage"},{Type:"language",Subtag:"bil",Description:["Bile"],Added:"2009-07-29"},{Type:"language",Subtag:"bim",Description:["Bimoba"],Added:"2009-07-29"},{Type:"language",Subtag:"bin",Description:["Bini","Edo"],Added:"2005-10-16"},{Type:"language",Subtag:"bio",Description:["Nai"],Added:"2009-07-29"},{Type:"language",Subtag:"bip",Description:["Bila"],Added:"2009-07-29"},{Type:"language",Subtag:"biq",Description:["Bipi"],Added:"2009-07-29"},{Type:"language",Subtag:"bir",Description:["Bisorio"],Added:"2009-07-29"},{Type:"language",Subtag:"bit",Description:["Berinomo"],Added:"2009-07-29"},{Type:"language",Subtag:"biu",Description:["Biete"],Added:"2009-07-29"},{Type:"language",Subtag:"biv",Description:["Southern Birifor"],Added:"2009-07-29"},{Type:"language",Subtag:"biw",Description:["Kol (Cameroon)"],Added:"2009-07-29"},{Type:"language",Subtag:"bix",Description:["Bijori"],Added:"2009-07-29"},{Type:"language",Subtag:"biy",Description:["Birhor"],Added:"2009-07-29"},{Type:"language",Subtag:"biz",Description:["Baloi"],Added:"2009-07-29"},{Type:"language",Subtag:"bja",Description:["Budza"],Added:"2009-07-29"},{Type:"language",Subtag:"bjb",Description:["Banggarla"],Added:"2009-07-29"},{Type:"language",Subtag:"bjc",Description:["Bariji"],Added:"2009-07-29"},{Type:"language",Subtag:"bjd",Description:["Bandjigali"],Added:"2009-07-29",Deprecated:"2012-08-12","Preferred-Value":"drl"},{Type:"language",Subtag:"bje",Description:["Biao-Jiao Mien"],Added:"2009-07-29"},{Type:"language",Subtag:"bjf",Description:["Barzani Jewish Neo-Aramaic"],Added:"2009-07-29"},{Type:"language",Subtag:"bjg",Description:["Bidyogo"],Added:"2009-07-29"},{Type:"language",Subtag:"bjh",Description:["Bahinemo"],Added:"2009-07-29"},{Type:"language",Subtag:"bji",Description:["Burji"],Added:"2009-07-29"},{Type:"language",Subtag:"bjj",Description:["Kanauji"],Added:"2009-07-29"},{Type:"language",Subtag:"bjk",Description:["Barok"],Added:"2009-07-29"},{Type:"language",Subtag:"bjl",Description:["Bulu (Papua New Guinea)"],Added:"2009-07-29"},{Type:"language",Subtag:"bjm",Description:["Bajelani"],Added:"2009-07-29"},{Type:"language",Subtag:"bjn",Description:["Banjar"],Added:"2009-07-29",Macrolanguage:"ms"},{Type:"language",Subtag:"bjo",Description:["Mid-Southern Banda"],Added:"2009-07-29"},{Type:"language",Subtag:"bjp",Description:["Fanamaket"],Added:"2013-09-10"},{Type:"language",Subtag:"bjq",Description:["Southern Betsimisaraka Malagasy"],Added:"2009-07-29",Deprecated:"2011-08-16",Macrolanguage:"mg",Comments:["see bzc, tkg"]},{Type:"language",Subtag:"bjr",Description:["Binumarien"],Added:"2009-07-29"},{Type:"language",Subtag:"bjs",Description:["Bajan"],Added:"2009-07-29"},{Type:"language",Subtag:"bjt",Description:["Balanta-Ganja"],Added:"2009-07-29"},{Type:"language",Subtag:"bju",Description:["Busuu"],Added:"2009-07-29"},{Type:"language",Subtag:"bjv",Description:["Bedjond"],Added:"2009-07-29"},{Type:"language",Subtag:"bjw",Description:["Bakwé"],Added:"2009-07-29"},{Type:"language",Subtag:"bjx",Description:["Banao Itneg"],Added:"2009-07-29"},{Type:"language",Subtag:"bjy",Description:["Bayali"],Added:"2009-07-29"},{Type:"language",Subtag:"bjz",Description:["Baruga"],Added:"2009-07-29"},{Type:"language",Subtag:"bka",Description:["Kyak"],Added:"2009-07-29"},{Type:"language",Subtag:"bkb",Description:["Finallig"],Added:"2009-07-29",Deprecated:"2010-03-11",Comments:["see ebk, obk"]},{Type:"language",Subtag:"bkc",Description:["Baka (Cameroon)"],Added:"2009-07-29"},{Type:"language",Subtag:"bkd",Description:["Binukid","Talaandig"],Added:"2009-07-29"},{Type:"language",Subtag:"bkf",Description:["Beeke"],Added:"2009-07-29"},{Type:"language",Subtag:"bkg",Description:["Buraka"],Added:"2009-07-29"},{Type:"language",Subtag:"bkh",Description:["Bakoko"],Added:"2009-07-29"},{Type:"language",Subtag:"bki",Description:["Baki"],Added:"2009-07-29"},{Type:"language",Subtag:"bkj",Description:["Pande"],Added:"2009-07-29"},{Type:"language",Subtag:"bkk",Description:["Brokskat"],Added:"2009-07-29"},{Type:"language",Subtag:"bkl",Description:["Berik"],Added:"2009-07-29"},{Type:"language",Subtag:"bkm",Description:["Kom (Cameroon)"],Added:"2009-07-29"},{Type:"language",Subtag:"bkn",Description:["Bukitan"],Added:"2009-07-29"},{Type:"language",Subtag:"bko",Description:["Kwa'"],Added:"2009-07-29"},{Type:"language",Subtag:"bkp",Description:["Boko (Democratic Republic of Congo)"],Added:"2009-07-29"},{Type:"language",Subtag:"bkq",Description:["Bakairí"],Added:"2009-07-29"},{Type:"language",Subtag:"bkr",Description:["Bakumpai"],Added:"2009-07-29"},{Type:"language",Subtag:"bks",Description:["Northern Sorsoganon"],Added:"2009-07-29"},{Type:"language",Subtag:"bkt",Description:["Boloki"],Added:"2009-07-29"},{Type:"language",Subtag:"bku",Description:["Buhid"],Added:"2009-07-29"},{Type:"language",Subtag:"bkv",Description:["Bekwarra"],Added:"2009-07-29"},{Type:"language",Subtag:"bkw",Description:["Bekwel"],Added:"2009-07-29"},{Type:"language",Subtag:"bkx",Description:["Baikeno"],Added:"2009-07-29"},{Type:"language",Subtag:"bky",Description:["Bokyi"],Added:"2009-07-29"},{Type:"language",Subtag:"bkz",Description:["Bungku"],Added:"2009-07-29"},{Type:"language",Subtag:"bla",Description:["Siksika"],Added:"2005-10-16"},{Type:"language",Subtag:"blb",Description:["Bilua"],Added:"2009-07-29"},{Type:"language",Subtag:"blc",Description:["Bella Coola"],Added:"2009-07-29"},{Type:"language",Subtag:"bld",Description:["Bolango"],Added:"2009-07-29"},{Type:"language",Subtag:"ble",Description:["Balanta-Kentohe"],Added:"2009-07-29"},{Type:"language",Subtag:"blf",Description:["Buol"],Added:"2009-07-29"},{Type:"language",Subtag:"blg",Description:["Balau"],Added:"2009-07-29",Deprecated:"2021-02-20","Preferred-Value":"iba"},{Type:"language",Subtag:"blh",Description:["Kuwaa"],Added:"2009-07-29"},{Type:"language",Subtag:"bli",Description:["Bolia"],Added:"2009-07-29"},{Type:"language",Subtag:"blj",Description:["Bolongan"],Added:"2009-07-29"},{Type:"language",Subtag:"blk",Description:["Pa'o Karen","Pa'O"],Added:"2009-07-29"},{Type:"language",Subtag:"bll",Description:["Biloxi"],Added:"2009-07-29"},{Type:"language",Subtag:"blm",Description:["Beli (South Sudan)"],Added:"2009-07-29"},{Type:"language",Subtag:"bln",Description:["Southern Catanduanes Bikol"],Added:"2009-07-29",Macrolanguage:"bik"},{Type:"language",Subtag:"blo",Description:["Anii"],Added:"2009-07-29"},{Type:"language",Subtag:"blp",Description:["Blablanga"],Added:"2009-07-29"},{Type:"language",Subtag:"blq",Description:["Baluan-Pam"],Added:"2009-07-29"},{Type:"language",Subtag:"blr",Description:["Blang"],Added:"2009-07-29"},{Type:"language",Subtag:"bls",Description:["Balaesang"],Added:"2009-07-29"},{Type:"language",Subtag:"blt",Description:["Tai Dam"],Added:"2009-07-29"},{Type:"language",Subtag:"blv",Description:["Kibala","Bolo"],Added:"2009-07-29"},{Type:"language",Subtag:"blw",Description:["Balangao"],Added:"2009-07-29"},{Type:"language",Subtag:"blx",Description:["Mag-Indi Ayta"],Added:"2009-07-29"},{Type:"language",Subtag:"bly",Description:["Notre"],Added:"2009-07-29"},{Type:"language",Subtag:"blz",Description:["Balantak"],Added:"2009-07-29"},{Type:"language",Subtag:"bma",Description:["Lame"],Added:"2009-07-29"},{Type:"language",Subtag:"bmb",Description:["Bembe"],Added:"2009-07-29"},{Type:"language",Subtag:"bmc",Description:["Biem"],Added:"2009-07-29"},{Type:"language",Subtag:"bmd",Description:["Baga Manduri"],Added:"2009-07-29"},{Type:"language",Subtag:"bme",Description:["Limassa"],Added:"2009-07-29"},{Type:"language",Subtag:"bmf",Description:["Bom-Kim"],Added:"2009-07-29"},{Type:"language",Subtag:"bmg",Description:["Bamwe"],Added:"2009-07-29"},{Type:"language",Subtag:"bmh",Description:["Kein"],Added:"2009-07-29"},{Type:"language",Subtag:"bmi",Description:["Bagirmi"],Added:"2009-07-29"},{Type:"language",Subtag:"bmj",Description:["Bote-Majhi"],Added:"2009-07-29"},{Type:"language",Subtag:"bmk",Description:["Ghayavi"],Added:"2009-07-29"},{Type:"language",Subtag:"bml",Description:["Bomboli"],Added:"2009-07-29"},{Type:"language",Subtag:"bmm",Description:["Northern Betsimisaraka Malagasy"],Added:"2009-07-29",Macrolanguage:"mg"},{Type:"language",Subtag:"bmn",Description:["Bina (Papua New Guinea)"],Added:"2009-07-29"},{Type:"language",Subtag:"bmo",Description:["Bambalang"],Added:"2009-07-29"},{Type:"language",Subtag:"bmp",Description:["Bulgebi"],Added:"2009-07-29"},{Type:"language",Subtag:"bmq",Description:["Bomu"],Added:"2009-07-29"},{Type:"language",Subtag:"bmr",Description:["Muinane"],Added:"2009-07-29"},{Type:"language",Subtag:"bms",Description:["Bilma Kanuri"],Added:"2009-07-29"},{Type:"language",Subtag:"bmt",Description:["Biao Mon"],Added:"2009-07-29"},{Type:"language",Subtag:"bmu",Description:["Somba-Siawari"],Added:"2009-07-29"},{Type:"language",Subtag:"bmv",Description:["Bum"],Added:"2009-07-29"},{Type:"language",Subtag:"bmw",Description:["Bomwali"],Added:"2009-07-29"},{Type:"language",Subtag:"bmx",Description:["Baimak"],Added:"2009-07-29"},{Type:"language",Subtag:"bmy",Description:["Bemba (Democratic Republic of Congo)"],Added:"2009-07-29",Deprecated:"2015-02-12"},{Type:"language",Subtag:"bmz",Description:["Baramu"],Added:"2009-07-29"},{Type:"language",Subtag:"bna",Description:["Bonerate"],Added:"2009-07-29"},{Type:"language",Subtag:"bnb",Description:["Bookan"],Added:"2009-07-29"},{Type:"language",Subtag:"bnc",Description:["Bontok"],Added:"2009-07-29",Scope:"macrolanguage"},{Type:"language",Subtag:"bnd",Description:["Banda (Indonesia)"],Added:"2009-07-29"},{Type:"language",Subtag:"bne",Description:["Bintauna"],Added:"2009-07-29"},{Type:"language",Subtag:"bnf",Description:["Masiwang"],Added:"2009-07-29"},{Type:"language",Subtag:"bng",Description:["Benga"],Added:"2009-07-29"},{Type:"language",Subtag:"bni",Description:["Bangi"],Added:"2009-07-29"},{Type:"language",Subtag:"bnj",Description:["Eastern Tawbuid"],Added:"2009-07-29"},{Type:"language",Subtag:"bnk",Description:["Bierebo"],Added:"2009-07-29"},{Type:"language",Subtag:"bnl",Description:["Boon"],Added:"2009-07-29"},{Type:"language",Subtag:"bnm",Description:["Batanga"],Added:"2009-07-29"},{Type:"language",Subtag:"bnn",Description:["Bunun"],Added:"2009-07-29"},{Type:"language",Subtag:"bno",Description:["Bantoanon"],Added:"2009-07-29"},{Type:"language",Subtag:"bnp",Description:["Bola"],Added:"2009-07-29"},{Type:"language",Subtag:"bnq",Description:["Bantik"],Added:"2009-07-29"},{Type:"language",Subtag:"bnr",Description:["Butmas-Tur"],Added:"2009-07-29"},{Type:"language",Subtag:"bns",Description:["Bundeli"],Added:"2009-07-29"},{Type:"language",Subtag:"bnt",Description:["Bantu languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"bnu",Description:["Bentong"],Added:"2009-07-29"},{Type:"language",Subtag:"bnv",Description:["Bonerif","Beneraf","Edwas"],Added:"2009-07-29"},{Type:"language",Subtag:"bnw",Description:["Bisis"],Added:"2009-07-29"},{Type:"language",Subtag:"bnx",Description:["Bangubangu"],Added:"2009-07-29"},{Type:"language",Subtag:"bny",Description:["Bintulu"],Added:"2009-07-29"},{Type:"language",Subtag:"bnz",Description:["Beezen"],Added:"2009-07-29"},{Type:"language",Subtag:"boa",Description:["Bora"],Added:"2009-07-29"},{Type:"language",Subtag:"bob",Description:["Aweer"],Added:"2009-07-29"},{Type:"language",Subtag:"boe",Description:["Mundabli"],Added:"2009-07-29"},{Type:"language",Subtag:"bof",Description:["Bolon"],Added:"2009-07-29"},{Type:"language",Subtag:"bog",Description:["Bamako Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"boh",Description:["Boma"],Added:"2009-07-29"},{Type:"language",Subtag:"boi",Description:["Barbareño"],Added:"2009-07-29"},{Type:"language",Subtag:"boj",Description:["Anjam"],Added:"2009-07-29"},{Type:"language",Subtag:"bok",Description:["Bonjo"],Added:"2009-07-29"},{Type:"language",Subtag:"bol",Description:["Bole"],Added:"2009-07-29"},{Type:"language",Subtag:"bom",Description:["Berom"],Added:"2009-07-29"},{Type:"language",Subtag:"bon",Description:["Bine"],Added:"2009-07-29"},{Type:"language",Subtag:"boo",Description:["Tiemacèwè Bozo"],Added:"2009-07-29"},{Type:"language",Subtag:"bop",Description:["Bonkiman"],Added:"2009-07-29"},{Type:"language",Subtag:"boq",Description:["Bogaya"],Added:"2009-07-29"},{Type:"language",Subtag:"bor",Description:["Borôro"],Added:"2009-07-29"},{Type:"language",Subtag:"bot",Description:["Bongo"],Added:"2009-07-29"},{Type:"language",Subtag:"bou",Description:["Bondei"],Added:"2009-07-29"},{Type:"language",Subtag:"bov",Description:["Tuwuli"],Added:"2009-07-29"},{Type:"language",Subtag:"bow",Description:["Rema"],Added:"2009-07-29"},{Type:"language",Subtag:"box",Description:["Buamu"],Added:"2009-07-29"},{Type:"language",Subtag:"boy",Description:["Bodo (Central African Republic)"],Added:"2009-07-29"},{Type:"language",Subtag:"boz",Description:["Tiéyaxo Bozo"],Added:"2009-07-29"},{Type:"language",Subtag:"bpa",Description:["Daakaka"],Added:"2009-07-29"},{Type:"language",Subtag:"bpb",Description:["Barbacoas"],Added:"2009-07-29",Deprecated:"2020-03-28"},{Type:"language",Subtag:"bpc",Description:["Mbuk"],Added:"2022-02-25"},{Type:"language",Subtag:"bpd",Description:["Banda-Banda"],Added:"2009-07-29"},{Type:"language",Subtag:"bpe",Description:["Bauni"],Added:"2021-02-20"},{Type:"language",Subtag:"bpg",Description:["Bonggo"],Added:"2009-07-29"},{Type:"language",Subtag:"bph",Description:["Botlikh"],Added:"2009-07-29"},{Type:"language",Subtag:"bpi",Description:["Bagupi"],Added:"2009-07-29"},{Type:"language",Subtag:"bpj",Description:["Binji"],Added:"2009-07-29"},{Type:"language",Subtag:"bpk",Description:["Orowe","'Ôrôê"],Added:"2009-07-29"},{Type:"language",Subtag:"bpl",Description:["Broome Pearling Lugger Pidgin"],Added:"2009-07-29"},{Type:"language",Subtag:"bpm",Description:["Biyom"],Added:"2009-07-29"},{Type:"language",Subtag:"bpn",Description:["Dzao Min"],Added:"2009-07-29"},{Type:"language",Subtag:"bpo",Description:["Anasi"],Added:"2009-07-29"},{Type:"language",Subtag:"bpp",Description:["Kaure"],Added:"2009-07-29"},{Type:"language",Subtag:"bpq",Description:["Banda Malay"],Added:"2009-07-29"},{Type:"language",Subtag:"bpr",Description:["Koronadal Blaan"],Added:"2009-07-29"},{Type:"language",Subtag:"bps",Description:["Sarangani Blaan"],Added:"2009-07-29"},{Type:"language",Subtag:"bpt",Description:["Barrow Point"],Added:"2009-07-29"},{Type:"language",Subtag:"bpu",Description:["Bongu"],Added:"2009-07-29"},{Type:"language",Subtag:"bpv",Description:["Bian Marind"],Added:"2009-07-29"},{Type:"language",Subtag:"bpw",Description:["Bo (Papua New Guinea)"],Added:"2009-07-29"},{Type:"language",Subtag:"bpx",Description:["Palya Bareli"],Added:"2009-07-29"},{Type:"language",Subtag:"bpy",Description:["Bishnupriya"],Added:"2009-07-29"},{Type:"language",Subtag:"bpz",Description:["Bilba"],Added:"2009-07-29"},{Type:"language",Subtag:"bqa",Description:["Tchumbuli"],Added:"2009-07-29"},{Type:"language",Subtag:"bqb",Description:["Bagusa"],Added:"2009-07-29"},{Type:"language",Subtag:"bqc",Description:["Boko (Benin)","Boo"],Added:"2009-07-29"},{Type:"language",Subtag:"bqd",Description:["Bung"],Added:"2009-07-29"},{Type:"language",Subtag:"bqf",Description:["Baga Kaloum"],Added:"2009-07-29"},{Type:"language",Subtag:"bqg",Description:["Bago-Kusuntu"],Added:"2009-07-29"},{Type:"language",Subtag:"bqh",Description:["Baima"],Added:"2009-07-29"},{Type:"language",Subtag:"bqi",Description:["Bakhtiari"],Added:"2009-07-29"},{Type:"language",Subtag:"bqj",Description:["Bandial"],Added:"2009-07-29"},{Type:"language",Subtag:"bqk",Description:["Banda-Mbrès"],Added:"2009-07-29"},{Type:"language",Subtag:"bql",Description:["Bilakura"],Added:"2009-07-29"},{Type:"language",Subtag:"bqm",Description:["Wumboko"],Added:"2009-07-29"},{Type:"language",Subtag:"bqn",Description:["Bulgarian Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"bqo",Description:["Balo"],Added:"2009-07-29"},{Type:"language",Subtag:"bqp",Description:["Busa"],Added:"2009-07-29"},{Type:"language",Subtag:"bqq",Description:["Biritai"],Added:"2009-07-29"},{Type:"language",Subtag:"bqr",Description:["Burusu"],Added:"2009-07-29"},{Type:"language",Subtag:"bqs",Description:["Bosngun"],Added:"2009-07-29"},{Type:"language",Subtag:"bqt",Description:["Bamukumbit"],Added:"2009-07-29"},{Type:"language",Subtag:"bqu",Description:["Boguru"],Added:"2009-07-29"},{Type:"language",Subtag:"bqv",Description:["Koro Wachi","Begbere-Ejar"],Added:"2009-07-29"},{Type:"language",Subtag:"bqw",Description:["Buru (Nigeria)"],Added:"2009-07-29"},{Type:"language",Subtag:"bqx",Description:["Baangi"],Added:"2009-07-29"},{Type:"language",Subtag:"bqy",Description:["Bengkala Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"bqz",Description:["Bakaka"],Added:"2009-07-29"},{Type:"language",Subtag:"bra",Description:["Braj"],Added:"2005-10-16"},{Type:"language",Subtag:"brb",Description:["Brao","Lave"],Added:"2009-07-29"},{Type:"language",Subtag:"brc",Description:["Berbice Creole Dutch"],Added:"2009-07-29"},{Type:"language",Subtag:"brd",Description:["Baraamu"],Added:"2009-07-29"},{Type:"language",Subtag:"brf",Description:["Bira"],Added:"2009-07-29"},{Type:"language",Subtag:"brg",Description:["Baure"],Added:"2009-07-29"},{Type:"language",Subtag:"brh",Description:["Brahui"],Added:"2009-07-29"},{Type:"language",Subtag:"bri",Description:["Mokpwe"],Added:"2009-07-29"},{Type:"language",Subtag:"brj",Description:["Bieria"],Added:"2009-07-29"},{Type:"language",Subtag:"brk",Description:["Birked"],Added:"2009-07-29"},{Type:"language",Subtag:"brl",Description:["Birwa"],Added:"2009-07-29"},{Type:"language",Subtag:"brm",Description:["Barambu"],Added:"2009-07-29"},{Type:"language",Subtag:"brn",Description:["Boruca"],Added:"2009-07-29"},{Type:"language",Subtag:"bro",Description:["Brokkat"],Added:"2009-07-29"},{Type:"language",Subtag:"brp",Description:["Barapasi"],Added:"2009-07-29"},{Type:"language",Subtag:"brq",Description:["Breri"],Added:"2009-07-29"},{Type:"language",Subtag:"brr",Description:["Birao"],Added:"2009-07-29"},{Type:"language",Subtag:"brs",Description:["Baras"],Added:"2009-07-29"},{Type:"language",Subtag:"brt",Description:["Bitare"],Added:"2009-07-29"},{Type:"language",Subtag:"bru",Description:["Eastern Bru"],Added:"2009-07-29"},{Type:"language",Subtag:"brv",Description:["Western Bru"],Added:"2009-07-29"},{Type:"language",Subtag:"brw",Description:["Bellari"],Added:"2009-07-29"},{Type:"language",Subtag:"brx",Description:["Bodo (India)"],Added:"2009-07-29"},{Type:"language",Subtag:"bry",Description:["Burui"],Added:"2009-07-29"},{Type:"language",Subtag:"brz",Description:["Bilbil"],Added:"2009-07-29"},{Type:"language",Subtag:"bsa",Description:["Abinomn"],Added:"2009-07-29"},{Type:"language",Subtag:"bsb",Description:["Brunei Bisaya"],Added:"2009-07-29"},{Type:"language",Subtag:"bsc",Description:["Bassari","Oniyan"],Added:"2009-07-29"},{Type:"language",Subtag:"bse",Description:["Wushi"],Added:"2009-07-29"},{Type:"language",Subtag:"bsf",Description:["Bauchi"],Added:"2009-07-29"},{Type:"language",Subtag:"bsg",Description:["Bashkardi"],Added:"2009-07-29"},{Type:"language",Subtag:"bsh",Description:["Kati"],Added:"2009-07-29"},{Type:"language",Subtag:"bsi",Description:["Bassossi"],Added:"2009-07-29"},{Type:"language",Subtag:"bsj",Description:["Bangwinji"],Added:"2009-07-29"},{Type:"language",Subtag:"bsk",Description:["Burushaski"],Added:"2009-07-29"},{Type:"language",Subtag:"bsl",Description:["Basa-Gumna"],Added:"2009-07-29"},{Type:"language",Subtag:"bsm",Description:["Busami"],Added:"2009-07-29"},{Type:"language",Subtag:"bsn",Description:["Barasana-Eduria"],Added:"2009-07-29"},{Type:"language",Subtag:"bso",Description:["Buso"],Added:"2009-07-29"},{Type:"language",Subtag:"bsp",Description:["Baga Sitemu"],Added:"2009-07-29"},{Type:"language",Subtag:"bsq",Description:["Bassa"],Added:"2009-07-29"},{Type:"language",Subtag:"bsr",Description:["Bassa-Kontagora"],Added:"2009-07-29"},{Type:"language",Subtag:"bss",Description:["Akoose"],Added:"2009-07-29"},{Type:"language",Subtag:"bst",Description:["Basketo"],Added:"2009-07-29"},{Type:"language",Subtag:"bsu",Description:["Bahonsuai"],Added:"2009-07-29"},{Type:"language",Subtag:"bsv",Description:["Baga Sobané"],Added:"2009-07-29"},{Type:"language",Subtag:"bsw",Description:["Baiso"],Added:"2009-07-29"},{Type:"language",Subtag:"bsx",Description:["Yangkam"],Added:"2009-07-29"},{Type:"language",Subtag:"bsy",Description:["Sabah Bisaya"],Added:"2009-07-29"},{Type:"language",Subtag:"bta",Description:["Bata"],Added:"2009-07-29"},{Type:"language",Subtag:"btb",Description:["Beti (Cameroon)"],Added:"2009-07-29",Deprecated:"2010-03-11",Comments:["see beb, bum, bxp, eto, ewo, fan, mct"]},{Type:"language",Subtag:"btc",Description:["Bati (Cameroon)"],Added:"2009-07-29"},{Type:"language",Subtag:"btd",Description:["Batak Dairi"],Added:"2009-07-29"},{Type:"language",Subtag:"bte",Description:["Gamo-Ningi"],Added:"2009-07-29"},{Type:"language",Subtag:"btf",Description:["Birgit"],Added:"2009-07-29"},{Type:"language",Subtag:"btg",Description:["Gagnoa Bété"],Added:"2009-07-29"},{Type:"language",Subtag:"bth",Description:["Biatah Bidayuh"],Added:"2009-07-29"},{Type:"language",Subtag:"bti",Description:["Burate"],Added:"2009-07-29"},{Type:"language",Subtag:"btj",Description:["Bacanese Malay"],Added:"2009-07-29",Macrolanguage:"ms"},{Type:"language",Subtag:"btk",Description:["Batak languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"btl",Description:["Bhatola"],Added:"2009-07-29",Deprecated:"2016-05-30"},{Type:"language",Subtag:"btm",Description:["Batak Mandailing"],Added:"2009-07-29"},{Type:"language",Subtag:"btn",Description:["Ratagnon"],Added:"2009-07-29"},{Type:"language",Subtag:"bto",Description:["Rinconada Bikol"],Added:"2009-07-29",Macrolanguage:"bik"},{Type:"language",Subtag:"btp",Description:["Budibud"],Added:"2009-07-29"},{Type:"language",Subtag:"btq",Description:["Batek"],Added:"2009-07-29"},{Type:"language",Subtag:"btr",Description:["Baetora"],Added:"2009-07-29"},{Type:"language",Subtag:"bts",Description:["Batak Simalungun"],Added:"2009-07-29"},{Type:"language",Subtag:"btt",Description:["Bete-Bendi"],Added:"2009-07-29"},{Type:"language",Subtag:"btu",Description:["Batu"],Added:"2009-07-29"},{Type:"language",Subtag:"btv",Description:["Bateri"],Added:"2009-07-29"},{Type:"language",Subtag:"btw",Description:["Butuanon"],Added:"2009-07-29"},{Type:"language",Subtag:"btx",Description:["Batak Karo"],Added:"2009-07-29"},{Type:"language",Subtag:"bty",Description:["Bobot"],Added:"2009-07-29"},{Type:"language",Subtag:"btz",Description:["Batak Alas-Kluet"],Added:"2009-07-29"},{Type:"language",Subtag:"bua",Description:["Buriat"],Added:"2005-10-16",Scope:"macrolanguage"},{Type:"language",Subtag:"bub",Description:["Bua"],Added:"2009-07-29"},{Type:"language",Subtag:"buc",Description:["Bushi"],Added:"2009-07-29"},{Type:"language",Subtag:"bud",Description:["Ntcham"],Added:"2009-07-29"},{Type:"language",Subtag:"bue",Description:["Beothuk"],Added:"2009-07-29"},{Type:"language",Subtag:"buf",Description:["Bushoong"],Added:"2009-07-29"},{Type:"language",Subtag:"bug",Description:["Buginese"],Added:"2005-10-16"},{Type:"language",Subtag:"buh",Description:["Younuo Bunu"],Added:"2009-07-29"},{Type:"language",Subtag:"bui",Description:["Bongili"],Added:"2009-07-29"},{Type:"language",Subtag:"buj",Description:["Basa-Gurmana"],Added:"2009-07-29"},{Type:"language",Subtag:"buk",Description:["Bugawac"],Added:"2009-07-29"},{Type:"language",Subtag:"bum",Description:["Bulu (Cameroon)"],Added:"2009-07-29"},{Type:"language",Subtag:"bun",Description:["Sherbro"],Added:"2009-07-29"},{Type:"language",Subtag:"buo",Description:["Terei"],Added:"2009-07-29"},{Type:"language",Subtag:"bup",Description:["Busoa"],Added:"2009-07-29"},{Type:"language",Subtag:"buq",Description:["Brem"],Added:"2009-07-29"},{Type:"language",Subtag:"bus",Description:["Bokobaru"],Added:"2009-07-29"},{Type:"language",Subtag:"but",Description:["Bungain"],Added:"2009-07-29"},{Type:"language",Subtag:"buu",Description:["Budu"],Added:"2009-07-29"},{Type:"language",Subtag:"buv",Description:["Bun"],Added:"2009-07-29"},{Type:"language",Subtag:"buw",Description:["Bubi"],Added:"2009-07-29"},{Type:"language",Subtag:"bux",Description:["Boghom"],Added:"2009-07-29"},{Type:"language",Subtag:"buy",Description:["Bullom So"],Added:"2009-07-29"},{Type:"language",Subtag:"buz",Description:["Bukwen"],Added:"2009-07-29"},{Type:"language",Subtag:"bva",Description:["Barein"],Added:"2009-07-29"},{Type:"language",Subtag:"bvb",Description:["Bube"],Added:"2009-07-29"},{Type:"language",Subtag:"bvc",Description:["Baelelea"],Added:"2009-07-29"},{Type:"language",Subtag:"bvd",Description:["Baeggu"],Added:"2009-07-29"},{Type:"language",Subtag:"bve",Description:["Berau Malay"],Added:"2009-07-29",Macrolanguage:"ms"},{Type:"language",Subtag:"bvf",Description:["Boor"],Added:"2009-07-29"},{Type:"language",Subtag:"bvg",Description:["Bonkeng"],Added:"2009-07-29"},{Type:"language",Subtag:"bvh",Description:["Bure"],Added:"2009-07-29"},{Type:"language",Subtag:"bvi",Description:["Belanda Viri"],Added:"2009-07-29"},{Type:"language",Subtag:"bvj",Description:["Baan"],Added:"2009-07-29"},{Type:"language",Subtag:"bvk",Description:["Bukat"],Added:"2009-07-29"},{Type:"language",Subtag:"bvl",Description:["Bolivian Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"bvm",Description:["Bamunka"],Added:"2009-07-29"},{Type:"language",Subtag:"bvn",Description:["Buna"],Added:"2009-07-29"},{Type:"language",Subtag:"bvo",Description:["Bolgo"],Added:"2009-07-29"},{Type:"language",Subtag:"bvp",Description:["Bumang"],Added:"2013-09-10"},{Type:"language",Subtag:"bvq",Description:["Birri"],Added:"2009-07-29"},{Type:"language",Subtag:"bvr",Description:["Burarra"],Added:"2009-07-29"},{Type:"language",Subtag:"bvt",Description:["Bati (Indonesia)"],Added:"2009-07-29"},{Type:"language",Subtag:"bvu",Description:["Bukit Malay"],Added:"2009-07-29",Macrolanguage:"ms"},{Type:"language",Subtag:"bvv",Description:["Baniva"],Added:"2009-07-29"},{Type:"language",Subtag:"bvw",Description:["Boga"],Added:"2009-07-29"},{Type:"language",Subtag:"bvx",Description:["Dibole"],Added:"2009-07-29"},{Type:"language",Subtag:"bvy",Description:["Baybayanon"],Added:"2010-03-11"},{Type:"language",Subtag:"bvz",Description:["Bauzi"],Added:"2009-07-29"},{Type:"language",Subtag:"bwa",Description:["Bwatoo"],Added:"2009-07-29"},{Type:"language",Subtag:"bwb",Description:["Namosi-Naitasiri-Serua"],Added:"2009-07-29"},{Type:"language",Subtag:"bwc",Description:["Bwile"],Added:"2009-07-29"},{Type:"language",Subtag:"bwd",Description:["Bwaidoka"],Added:"2009-07-29"},{Type:"language",Subtag:"bwe",Description:["Bwe Karen"],Added:"2009-07-29"},{Type:"language",Subtag:"bwf",Description:["Boselewa"],Added:"2009-07-29"},{Type:"language",Subtag:"bwg",Description:["Barwe"],Added:"2009-07-29"},{Type:"language",Subtag:"bwh",Description:["Bishuo"],Added:"2009-07-29"},{Type:"language",Subtag:"bwi",Description:["Baniwa"],Added:"2009-07-29"},{Type:"language",Subtag:"bwj",Description:["Láá Láá Bwamu"],Added:"2009-07-29"},{Type:"language",Subtag:"bwk",Description:["Bauwaki"],Added:"2009-07-29"},{Type:"language",Subtag:"bwl",Description:["Bwela"],Added:"2009-07-29"},{Type:"language",Subtag:"bwm",Description:["Biwat"],Added:"2009-07-29"},{Type:"language",Subtag:"bwn",Description:["Wunai Bunu"],Added:"2009-07-29"},{Type:"language",Subtag:"bwo",Description:["Boro (Ethiopia)","Borna (Ethiopia)"],Added:"2009-07-29"},{Type:"language",Subtag:"bwp",Description:["Mandobo Bawah"],Added:"2009-07-29"},{Type:"language",Subtag:"bwq",Description:["Southern Bobo Madaré"],Added:"2009-07-29"},{Type:"language",Subtag:"bwr",Description:["Bura-Pabir"],Added:"2009-07-29"},{Type:"language",Subtag:"bws",Description:["Bomboma"],Added:"2009-07-29"},{Type:"language",Subtag:"bwt",Description:["Bafaw-Balong"],Added:"2009-07-29"},{Type:"language",Subtag:"bwu",Description:["Buli (Ghana)"],Added:"2009-07-29"},{Type:"language",Subtag:"bww",Description:["Bwa"],Added:"2009-07-29"},{Type:"language",Subtag:"bwx",Description:["Bu-Nao Bunu"],Added:"2009-07-29"},{Type:"language",Subtag:"bwy",Description:["Cwi Bwamu"],Added:"2009-07-29"},{Type:"language",Subtag:"bwz",Description:["Bwisi"],Added:"2009-07-29"},{Type:"language",Subtag:"bxa",Description:["Tairaha"],Added:"2009-07-29"},{Type:"language",Subtag:"bxb",Description:["Belanda Bor"],Added:"2009-07-29"},{Type:"language",Subtag:"bxc",Description:["Molengue"],Added:"2009-07-29"},{Type:"language",Subtag:"bxd",Description:["Pela"],Added:"2009-07-29"},{Type:"language",Subtag:"bxe",Description:["Birale"],Added:"2009-07-29"},{Type:"language",Subtag:"bxf",Description:["Bilur","Minigir"],Added:"2009-07-29",Comments:["see also vmg"]},{Type:"language",Subtag:"bxg",Description:["Bangala"],Added:"2009-07-29"},{Type:"language",Subtag:"bxh",Description:["Buhutu"],Added:"2009-07-29"},{Type:"language",Subtag:"bxi",Description:["Pirlatapa"],Added:"2009-07-29"},{Type:"language",Subtag:"bxj",Description:["Bayungu"],Added:"2009-07-29"},{Type:"language",Subtag:"bxk",Description:["Bukusu","Lubukusu"],Added:"2009-07-29",Macrolanguage:"luy"},{Type:"language",Subtag:"bxl",Description:["Jalkunan"],Added:"2009-07-29"},{Type:"language",Subtag:"bxm",Description:["Mongolia Buriat"],Added:"2009-07-29",Macrolanguage:"bua"},{Type:"language",Subtag:"bxn",Description:["Burduna"],Added:"2009-07-29"},{Type:"language",Subtag:"bxo",Description:["Barikanchi"],Added:"2009-07-29"},{Type:"language",Subtag:"bxp",Description:["Bebil"],Added:"2009-07-29"},{Type:"language",Subtag:"bxq",Description:["Beele"],Added:"2009-07-29"},{Type:"language",Subtag:"bxr",Description:["Russia Buriat"],Added:"2009-07-29",Macrolanguage:"bua"},{Type:"language",Subtag:"bxs",Description:["Busam"],Added:"2009-07-29"},{Type:"language",Subtag:"bxu",Description:["China Buriat"],Added:"2009-07-29",Macrolanguage:"bua"},{Type:"language",Subtag:"bxv",Description:["Berakou"],Added:"2009-07-29"},{Type:"language",Subtag:"bxw",Description:["Bankagooma"],Added:"2009-07-29"},{Type:"language",Subtag:"bxx",Description:["Borna (Democratic Republic of Congo)"],Added:"2009-07-29",Deprecated:"2015-02-12"},{Type:"language",Subtag:"bxz",Description:["Binahari"],Added:"2009-07-29"},{Type:"language",Subtag:"bya",Description:["Batak"],Added:"2009-07-29"},{Type:"language",Subtag:"byb",Description:["Bikya"],Added:"2009-07-29"},{Type:"language",Subtag:"byc",Description:["Ubaghara"],Added:"2009-07-29"},{Type:"language",Subtag:"byd",Description:["Benyadu'"],Added:"2009-07-29"},{Type:"language",Subtag:"bye",Description:["Pouye"],Added:"2009-07-29"},{Type:"language",Subtag:"byf",Description:["Bete"],Added:"2009-07-29"},{Type:"language",Subtag:"byg",Description:["Baygo"],Added:"2009-07-29"},{Type:"language",Subtag:"byh",Description:["Bhujel"],Added:"2009-07-29"},{Type:"language",Subtag:"byi",Description:["Buyu"],Added:"2009-07-29"},{Type:"language",Subtag:"byj",Description:["Bina (Nigeria)"],Added:"2009-07-29"},{Type:"language",Subtag:"byk",Description:["Biao"],Added:"2009-07-29"},{Type:"language",Subtag:"byl",Description:["Bayono"],Added:"2009-07-29"},{Type:"language",Subtag:"bym",Description:["Bidjara"],Added:"2009-07-29"},{Type:"language",Subtag:"byn",Description:["Bilin","Blin"],Added:"2005-10-16"},{Type:"language",Subtag:"byo",Description:["Biyo"],Added:"2009-07-29"},{Type:"language",Subtag:"byp",Description:["Bumaji"],Added:"2009-07-29"},{Type:"language",Subtag:"byq",Description:["Basay"],Added:"2009-07-29"},{Type:"language",Subtag:"byr",Description:["Baruya","Yipma"],Added:"2009-07-29"},{Type:"language",Subtag:"bys",Description:["Burak"],Added:"2009-07-29"},{Type:"language",Subtag:"byt",Description:["Berti"],Added:"2009-07-29"},{Type:"language",Subtag:"byv",Description:["Medumba"],Added:"2009-07-29"},{Type:"language",Subtag:"byw",Description:["Belhariya"],Added:"2009-07-29"},{Type:"language",Subtag:"byx",Description:["Qaqet"],Added:"2009-07-29"},{Type:"language",Subtag:"byy",Description:["Buya"],Added:"2009-07-29",Deprecated:"2015-02-12"},{Type:"language",Subtag:"byz",Description:["Banaro"],Added:"2009-07-29"},{Type:"language",Subtag:"bza",Description:["Bandi"],Added:"2009-07-29"},{Type:"language",Subtag:"bzb",Description:["Andio"],Added:"2009-07-29"},{Type:"language",Subtag:"bzc",Description:["Southern Betsimisaraka Malagasy"],Added:"2011-08-16",Macrolanguage:"mg"},{Type:"language",Subtag:"bzd",Description:["Bribri"],Added:"2009-07-29"},{Type:"language",Subtag:"bze",Description:["Jenaama Bozo"],Added:"2009-07-29"},{Type:"language",Subtag:"bzf",Description:["Boikin"],Added:"2009-07-29"},{Type:"language",Subtag:"bzg",Description:["Babuza"],Added:"2009-07-29"},{Type:"language",Subtag:"bzh",Description:["Mapos Buang"],Added:"2009-07-29"},{Type:"language",Subtag:"bzi",Description:["Bisu"],Added:"2009-07-29"},{Type:"language",Subtag:"bzj",Description:["Belize Kriol English"],Added:"2009-07-29"},{Type:"language",Subtag:"bzk",Description:["Nicaragua Creole English"],Added:"2009-07-29"},{Type:"language",Subtag:"bzl",Description:["Boano (Sulawesi)"],Added:"2009-07-29"},{Type:"language",Subtag:"bzm",Description:["Bolondo"],Added:"2009-07-29"},{Type:"language",Subtag:"bzn",Description:["Boano (Maluku)"],Added:"2009-07-29"},{Type:"language",Subtag:"bzo",Description:["Bozaba"],Added:"2009-07-29"},{Type:"language",Subtag:"bzp",Description:["Kemberano"],Added:"2009-07-29"},{Type:"language",Subtag:"bzq",Description:["Buli (Indonesia)"],Added:"2009-07-29"},{Type:"language",Subtag:"bzr",Description:["Biri"],Added:"2009-07-29"},{Type:"language",Subtag:"bzs",Description:["Brazilian Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"bzt",Description:["Brithenig"],Added:"2009-07-29"},{Type:"language",Subtag:"bzu",Description:["Burmeso"],Added:"2009-07-29"},{Type:"language",Subtag:"bzv",Description:["Naami"],Added:"2009-07-29"},{Type:"language",Subtag:"bzw",Description:["Basa (Nigeria)"],Added:"2009-07-29"},{Type:"language",Subtag:"bzx",Description:["Kɛlɛngaxo Bozo"],Added:"2009-07-29"},{Type:"language",Subtag:"bzy",Description:["Obanliku"],Added:"2009-07-29"},{Type:"language",Subtag:"bzz",Description:["Evant"],Added:"2009-07-29"},{Type:"language",Subtag:"caa",Description:["Chortí"],Added:"2009-07-29"},{Type:"language",Subtag:"cab",Description:["Garifuna"],Added:"2009-07-29"},{Type:"language",Subtag:"cac",Description:["Chuj"],Added:"2009-07-29"},{Type:"language",Subtag:"cad",Description:["Caddo"],Added:"2005-10-16"},{Type:"language",Subtag:"cae",Description:["Lehar","Laalaa"],Added:"2009-07-29"},{Type:"language",Subtag:"caf",Description:["Southern Carrier"],Added:"2009-07-29"},{Type:"language",Subtag:"cag",Description:["Nivaclé"],Added:"2009-07-29"},{Type:"language",Subtag:"cah",Description:["Cahuarano"],Added:"2009-07-29"},{Type:"language",Subtag:"cai",Description:["Central American Indian languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"caj",Description:["Chané"],Added:"2009-07-29"},{Type:"language",Subtag:"cak",Description:["Kaqchikel","Cakchiquel"],Added:"2009-07-29"},{Type:"language",Subtag:"cal",Description:["Carolinian"],Added:"2009-07-29"},{Type:"language",Subtag:"cam",Description:["Cemuhî"],Added:"2009-07-29"},{Type:"language",Subtag:"can",Description:["Chambri"],Added:"2009-07-29"},{Type:"language",Subtag:"cao",Description:["Chácobo"],Added:"2009-07-29"},{Type:"language",Subtag:"cap",Description:["Chipaya"],Added:"2009-07-29"},{Type:"language",Subtag:"caq",Description:["Car Nicobarese"],Added:"2009-07-29"},{Type:"language",Subtag:"car",Description:["Galibi Carib"],Added:"2005-10-16"},{Type:"language",Subtag:"cas",Description:["Tsimané"],Added:"2009-07-29"},{Type:"language",Subtag:"cau",Description:["Caucasian languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"cav",Description:["Cavineña"],Added:"2009-07-29"},{Type:"language",Subtag:"caw",Description:["Callawalla"],Added:"2009-07-29"},{Type:"language",Subtag:"cax",Description:["Chiquitano"],Added:"2009-07-29"},{Type:"language",Subtag:"cay",Description:["Cayuga"],Added:"2009-07-29"},{Type:"language",Subtag:"caz",Description:["Canichana"],Added:"2009-07-29"},{Type:"language",Subtag:"cba",Description:["Chibchan languages"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"cbb",Description:["Cabiyarí"],Added:"2009-07-29"},{Type:"language",Subtag:"cbc",Description:["Carapana"],Added:"2009-07-29"},{Type:"language",Subtag:"cbd",Description:["Carijona"],Added:"2009-07-29"},{Type:"language",Subtag:"cbe",Description:["Chipiajes"],Added:"2009-07-29",Deprecated:"2016-05-30"},{Type:"language",Subtag:"cbg",Description:["Chimila"],Added:"2009-07-29"},{Type:"language",Subtag:"cbh",Description:["Cagua"],Added:"2009-07-29",Deprecated:"2016-05-30"},{Type:"language",Subtag:"cbi",Description:["Chachi"],Added:"2009-07-29"},{Type:"language",Subtag:"cbj",Description:["Ede Cabe"],Added:"2009-07-29"},{Type:"language",Subtag:"cbk",Description:["Chavacano"],Added:"2009-07-29"},{Type:"language",Subtag:"cbl",Description:["Bualkhaw Chin"],Added:"2009-07-29"},{Type:"language",Subtag:"cbn",Description:["Nyahkur"],Added:"2009-07-29"},{Type:"language",Subtag:"cbo",Description:["Izora"],Added:"2009-07-29"},{Type:"language",Subtag:"cbq",Description:["Tsucuba","Cuba"],Added:"2015-02-12"},{Type:"language",Subtag:"cbr",Description:["Cashibo-Cacataibo"],Added:"2009-07-29"},{Type:"language",Subtag:"cbs",Description:["Cashinahua"],Added:"2009-07-29"},{Type:"language",Subtag:"cbt",Description:["Chayahuita"],Added:"2009-07-29"},{Type:"language",Subtag:"cbu",Description:["Candoshi-Shapra"],Added:"2009-07-29"},{Type:"language",Subtag:"cbv",Description:["Cacua"],Added:"2009-07-29"},{Type:"language",Subtag:"cbw",Description:["Kinabalian"],Added:"2010-03-11"},{Type:"language",Subtag:"cby",Description:["Carabayo"],Added:"2009-07-29"},{Type:"language",Subtag:"cca",Description:["Cauca"],Added:"2009-07-29",Deprecated:"2020-03-28"},{Type:"language",Subtag:"ccc",Description:["Chamicuro"],Added:"2009-07-29"},{Type:"language",Subtag:"ccd",Description:["Cafundo Creole"],Added:"2009-07-29"},{Type:"language",Subtag:"cce",Description:["Chopi"],Added:"2009-07-29"},{Type:"language",Subtag:"ccg",Description:["Samba Daka"],Added:"2009-07-29"},{Type:"language",Subtag:"cch",Description:["Atsam"],Added:"2009-07-29"},{Type:"language",Subtag:"ccj",Description:["Kasanga"],Added:"2009-07-29"},{Type:"language",Subtag:"ccl",Description:["Cutchi-Swahili"],Added:"2009-07-29"},{Type:"language",Subtag:"ccm",Description:["Malaccan Creole Malay"],Added:"2009-07-29"},{Type:"language",Subtag:"ccn",Description:["North Caucasian languages"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"cco",Description:["Comaltepec Chinantec"],Added:"2009-07-29"},{Type:"language",Subtag:"ccp",Description:["Chakma"],Added:"2009-07-29"},{Type:"language",Subtag:"ccq",Description:["Chaungtha"],Added:"2009-07-29",Deprecated:"2012-08-12","Preferred-Value":"rki"},{Type:"language",Subtag:"ccr",Description:["Cacaopera"],Added:"2009-07-29"},{Type:"language",Subtag:"ccs",Description:["South Caucasian languages"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"cda",Description:["Choni"],Added:"2009-07-29"},{Type:"language",Subtag:"cdc",Description:["Chadic languages"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"cdd",Description:["Caddoan languages"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"cde",Description:["Chenchu"],Added:"2009-07-29"},{Type:"language",Subtag:"cdf",Description:["Chiru"],Added:"2009-07-29"},{Type:"language",Subtag:"cdg",Description:["Chamari"],Added:"2009-07-29",Deprecated:"2020-03-28"},{Type:"language",Subtag:"cdh",Description:["Chambeali"],Added:"2009-07-29"},{Type:"language",Subtag:"cdi",Description:["Chodri"],Added:"2009-07-29"},{Type:"language",Subtag:"cdj",Description:["Churahi"],Added:"2009-07-29"},{Type:"language",Subtag:"cdm",Description:["Chepang"],Added:"2009-07-29"},{Type:"language",Subtag:"cdn",Description:["Chaudangsi"],Added:"2009-07-29"},{Type:"language",Subtag:"cdo",Description:["Min Dong Chinese"],Added:"2009-07-29",Macrolanguage:"zh"},{Type:"language",Subtag:"cdr",Description:["Cinda-Regi-Tiyal"],Added:"2009-07-29"},{Type:"language",Subtag:"cds",Description:["Chadian Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"cdy",Description:["Chadong"],Added:"2009-07-29"},{Type:"language",Subtag:"cdz",Description:["Koda"],Added:"2009-07-29"},{Type:"language",Subtag:"cea",Description:["Lower Chehalis"],Added:"2009-07-29"},{Type:"language",Subtag:"ceb",Description:["Cebuano"],Added:"2005-10-16"},{Type:"language",Subtag:"ceg",Description:["Chamacoco"],Added:"2009-07-29"},{Type:"language",Subtag:"cek",Description:["Eastern Khumi Chin"],Added:"2012-08-12"},{Type:"language",Subtag:"cel",Description:["Celtic languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"cen",Description:["Cen"],Added:"2009-07-29"},{Type:"language",Subtag:"cet",Description:["Centúúm"],Added:"2009-07-29"},{Type:"language",Subtag:"cey",Description:["Ekai Chin"],Added:"2019-04-16"},{Type:"language",Subtag:"cfa",Description:["Dijim-Bwilim"],Added:"2009-07-29"},{Type:"language",Subtag:"cfd",Description:["Cara"],Added:"2009-07-29"},{Type:"language",Subtag:"cfg",Description:["Como Karim"],Added:"2009-07-29"},{Type:"language",Subtag:"cfm",Description:["Falam Chin"],Added:"2009-07-29"},{Type:"language",Subtag:"cga",Description:["Changriwa"],Added:"2009-07-29"},{Type:"language",Subtag:"cgc",Description:["Kagayanen"],Added:"2009-07-29"},{Type:"language",Subtag:"cgg",Description:["Chiga"],Added:"2009-07-29"},{Type:"language",Subtag:"cgk",Description:["Chocangacakha"],Added:"2009-07-29"},{Type:"language",Subtag:"chb",Description:["Chibcha"],Added:"2005-10-16"},{Type:"language",Subtag:"chc",Description:["Catawba"],Added:"2009-07-29"},{Type:"language",Subtag:"chd",Description:["Highland Oaxaca Chontal"],Added:"2009-07-29"},{Type:"language",Subtag:"chf",Description:["Tabasco Chontal"],Added:"2009-07-29"},{Type:"language",Subtag:"chg",Description:["Chagatai"],Added:"2005-10-16"},{Type:"language",Subtag:"chh",Description:["Chinook"],Added:"2009-07-29"},{Type:"language",Subtag:"chj",Description:["Ojitlán Chinantec"],Added:"2009-07-29"},{Type:"language",Subtag:"chk",Description:["Chuukese"],Added:"2005-10-16"},{Type:"language",Subtag:"chl",Description:["Cahuilla"],Added:"2009-07-29"},{Type:"language",Subtag:"chm",Description:["Mari (Russia)"],Added:"2005-10-16",Scope:"macrolanguage"},{Type:"language",Subtag:"chn",Description:["Chinook jargon"],Added:"2005-10-16"},{Type:"language",Subtag:"cho",Description:["Choctaw"],Added:"2005-10-16"},{Type:"language",Subtag:"chp",Description:["Chipewyan","Dene Suline"],Added:"2005-10-16"},{Type:"language",Subtag:"chq",Description:["Quiotepec Chinantec"],Added:"2009-07-29"},{Type:"language",Subtag:"chr",Description:["Cherokee"],Added:"2005-10-16"},{Type:"language",Subtag:"cht",Description:["Cholón"],Added:"2009-07-29"},{Type:"language",Subtag:"chw",Description:["Chuwabu"],Added:"2009-07-29"},{Type:"language",Subtag:"chx",Description:["Chantyal"],Added:"2009-07-29"},{Type:"language",Subtag:"chy",Description:["Cheyenne"],Added:"2005-10-16"},{Type:"language",Subtag:"chz",Description:["Ozumacín Chinantec"],Added:"2009-07-29"},{Type:"language",Subtag:"cia",Description:["Cia-Cia"],Added:"2009-07-29"},{Type:"language",Subtag:"cib",Description:["Ci Gbe"],Added:"2009-07-29"},{Type:"language",Subtag:"cic",Description:["Chickasaw"],Added:"2009-07-29"},{Type:"language",Subtag:"cid",Description:["Chimariko"],Added:"2009-07-29"},{Type:"language",Subtag:"cie",Description:["Cineni"],Added:"2009-07-29"},{Type:"language",Subtag:"cih",Description:["Chinali"],Added:"2009-07-29"},{Type:"language",Subtag:"cik",Description:["Chitkuli Kinnauri"],Added:"2009-07-29"},{Type:"language",Subtag:"cim",Description:["Cimbrian"],Added:"2009-07-29"},{Type:"language",Subtag:"cin",Description:["Cinta Larga"],Added:"2009-07-29"},{Type:"language",Subtag:"cip",Description:["Chiapanec"],Added:"2009-07-29"},{Type:"language",Subtag:"cir",Description:["Tiri","Haméa","Méa"],Added:"2009-07-29"},{Type:"language",Subtag:"ciw",Description:["Chippewa"],Added:"2009-07-29",Macrolanguage:"oj"},{Type:"language",Subtag:"ciy",Description:["Chaima"],Added:"2009-07-29"},{Type:"language",Subtag:"cja",Description:["Western Cham"],Added:"2009-07-29"},{Type:"language",Subtag:"cje",Description:["Chru"],Added:"2009-07-29"},{Type:"language",Subtag:"cjh",Description:["Upper Chehalis"],Added:"2009-07-29"},{Type:"language",Subtag:"cji",Description:["Chamalal"],Added:"2009-07-29"},{Type:"language",Subtag:"cjk",Description:["Chokwe"],Added:"2009-07-29"},{Type:"language",Subtag:"cjm",Description:["Eastern Cham"],Added:"2009-07-29"},{Type:"language",Subtag:"cjn",Description:["Chenapian"],Added:"2009-07-29"},{Type:"language",Subtag:"cjo",Description:["Ashéninka Pajonal"],Added:"2009-07-29"},{Type:"language",Subtag:"cjp",Description:["Cabécar"],Added:"2009-07-29"},{Type:"language",Subtag:"cjr",Description:["Chorotega"],Added:"2009-07-29",Deprecated:"2010-03-11","Preferred-Value":"mom"},{Type:"language",Subtag:"cjs",Description:["Shor"],Added:"2009-07-29"},{Type:"language",Subtag:"cjv",Description:["Chuave"],Added:"2009-07-29"},{Type:"language",Subtag:"cjy",Description:["Jinyu Chinese"],Added:"2009-07-29",Macrolanguage:"zh"},{Type:"language",Subtag:"cka",Description:["Khumi Awa Chin"],Added:"2009-07-29",Deprecated:"2012-08-12","Preferred-Value":"cmr"},{Type:"language",Subtag:"ckb",Description:["Central Kurdish"],Added:"2009-07-29",Macrolanguage:"ku"},{Type:"language",Subtag:"ckh",Description:["Chak"],Added:"2009-07-29"},{Type:"language",Subtag:"ckl",Description:["Cibak"],Added:"2009-07-29"},{Type:"language",Subtag:"ckm",Description:["Chakavian"],Added:"2020-03-28"},{Type:"language",Subtag:"ckn",Description:["Kaang Chin"],Added:"2013-09-10"},{Type:"language",Subtag:"cko",Description:["Anufo"],Added:"2009-07-29"},{Type:"language",Subtag:"ckq",Description:["Kajakse"],Added:"2009-07-29"},{Type:"language",Subtag:"ckr",Description:["Kairak"],Added:"2009-07-29"},{Type:"language",Subtag:"cks",Description:["Tayo"],Added:"2009-07-29"},{Type:"language",Subtag:"ckt",Description:["Chukot"],Added:"2009-07-29"},{Type:"language",Subtag:"cku",Description:["Koasati"],Added:"2009-07-29"},{Type:"language",Subtag:"ckv",Description:["Kavalan"],Added:"2009-07-29"},{Type:"language",Subtag:"ckx",Description:["Caka"],Added:"2009-07-29"},{Type:"language",Subtag:"cky",Description:["Cakfem-Mushere"],Added:"2009-07-29"},{Type:"language",Subtag:"ckz",Description:["Cakchiquel-Quiché Mixed Language"],Added:"2009-07-29"},{Type:"language",Subtag:"cla",Description:["Ron"],Added:"2009-07-29"},{Type:"language",Subtag:"clc",Description:["Chilcotin"],Added:"2009-07-29"},{Type:"language",Subtag:"cld",Description:["Chaldean Neo-Aramaic"],Added:"2009-07-29",Macrolanguage:"syr"},{Type:"language",Subtag:"cle",Description:["Lealao Chinantec"],Added:"2009-07-29"},{Type:"language",Subtag:"clh",Description:["Chilisso"],Added:"2009-07-29"},{Type:"language",Subtag:"cli",Description:["Chakali"],Added:"2009-07-29"},{Type:"language",Subtag:"clj",Description:["Laitu Chin"],Added:"2012-08-12"},{Type:"language",Subtag:"clk",Description:["Idu-Mishmi"],Added:"2009-07-29"},{Type:"language",Subtag:"cll",Description:["Chala"],Added:"2009-07-29"},{Type:"language",Subtag:"clm",Description:["Clallam"],Added:"2009-07-29"},{Type:"language",Subtag:"clo",Description:["Lowland Oaxaca Chontal"],Added:"2009-07-29"},{Type:"language",Subtag:"clt",Description:["Lautu Chin"],Added:"2012-08-12"},{Type:"language",Subtag:"clu",Description:["Caluyanun"],Added:"2009-07-29"},{Type:"language",Subtag:"clw",Description:["Chulym"],Added:"2009-07-29"},{Type:"language",Subtag:"cly",Description:["Eastern Highland Chatino"],Added:"2009-07-29"},{Type:"language",Subtag:"cma",Description:["Maa"],Added:"2009-07-29"},{Type:"language",Subtag:"cmc",Description:["Chamic languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"cme",Description:["Cerma"],Added:"2009-07-29"},{Type:"language",Subtag:"cmg",Description:["Classical Mongolian"],Added:"2009-07-29"},{Type:"language",Subtag:"cmi",Description:["Emberá-Chamí"],Added:"2009-07-29"},{Type:"language",Subtag:"cmk",Description:["Chimakum"],Added:"2009-07-29",Deprecated:"2010-03-11","Preferred-Value":"xch"},{Type:"language",Subtag:"cml",Description:["Campalagian"],Added:"2009-07-29"},{Type:"language",Subtag:"cmm",Description:["Michigamea"],Added:"2009-07-29"},{Type:"language",Subtag:"cmn",Description:["Mandarin Chinese"],Added:"2009-07-29",Macrolanguage:"zh"},{Type:"language",Subtag:"cmo",Description:["Central Mnong"],Added:"2009-07-29"},{Type:"language",Subtag:"cmr",Description:["Mro-Khimi Chin"],Added:"2009-07-29"},{Type:"language",Subtag:"cms",Description:["Messapic"],Added:"2009-07-29"},{Type:"language",Subtag:"cmt",Description:["Camtho"],Added:"2009-07-29"},{Type:"language",Subtag:"cna",Description:["Changthang"],Added:"2009-07-29"},{Type:"language",Subtag:"cnb",Description:["Chinbon Chin"],Added:"2009-07-29"},{Type:"language",Subtag:"cnc",Description:["Côông"],Added:"2009-07-29"},{Type:"language",Subtag:"cng",Description:["Northern Qiang"],Added:"2009-07-29"},{Type:"language",Subtag:"cnh",Description:["Hakha Chin","Haka Chin"],Added:"2009-07-29"},{Type:"language",Subtag:"cni",Description:["Asháninka"],Added:"2009-07-29"},{Type:"language",Subtag:"cnk",Description:["Khumi Chin"],Added:"2009-07-29"},{Type:"language",Subtag:"cnl",Description:["Lalana Chinantec"],Added:"2009-07-29"},{Type:"language",Subtag:"cno",Description:["Con"],Added:"2009-07-29"},{Type:"language",Subtag:"cnp",Description:["Northern Ping Chinese","Northern Pinghua"],Added:"2020-03-28",Macrolanguage:"zh"},{Type:"language",Subtag:"cnq",Description:["Chung"],Added:"2022-02-25"},{Type:"language",Subtag:"cnr",Description:["Montenegrin"],Added:"2018-01-23",Macrolanguage:"sh",Comments:["see sr for Serbian"]},{Type:"language",Subtag:"cns",Description:["Central Asmat"],Added:"2009-07-29"},{Type:"language",Subtag:"cnt",Description:["Tepetotutla Chinantec"],Added:"2009-07-29"},{Type:"language",Subtag:"cnu",Description:["Chenoua"],Added:"2009-07-29"},{Type:"language",Subtag:"cnw",Description:["Ngawn Chin"],Added:"2009-07-29"},{Type:"language",Subtag:"cnx",Description:["Middle Cornish"],Added:"2009-07-29"},{Type:"language",Subtag:"coa",Description:["Cocos Islands Malay"],Added:"2009-07-29",Macrolanguage:"ms"},{Type:"language",Subtag:"cob",Description:["Chicomuceltec"],Added:"2009-07-29"},{Type:"language",Subtag:"coc",Description:["Cocopa"],Added:"2009-07-29"},{Type:"language",Subtag:"cod",Description:["Cocama-Cocamilla"],Added:"2009-07-29"},{Type:"language",Subtag:"coe",Description:["Koreguaje"],Added:"2009-07-29"},{Type:"language",Subtag:"cof",Description:["Colorado"],Added:"2009-07-29"},{Type:"language",Subtag:"cog",Description:["Chong"],Added:"2009-07-29"},{Type:"language",Subtag:"coh",Description:["Chonyi-Dzihana-Kauma","Chichonyi-Chidzihana-Chikauma"],Added:"2009-07-29"},{Type:"language",Subtag:"coj",Description:["Cochimi"],Added:"2009-07-29"},{Type:"language",Subtag:"cok",Description:["Santa Teresa Cora"],Added:"2009-07-29"},{Type:"language",Subtag:"col",Description:["Columbia-Wenatchi"],Added:"2009-07-29"},{Type:"language",Subtag:"com",Description:["Comanche"],Added:"2009-07-29"},{Type:"language",Subtag:"con",Description:["Cofán"],Added:"2009-07-29"},{Type:"language",Subtag:"coo",Description:["Comox"],Added:"2009-07-29"},{Type:"language",Subtag:"cop",Description:["Coptic"],Added:"2005-10-16"},{Type:"language",Subtag:"coq",Description:["Coquille"],Added:"2009-07-29"},{Type:"language",Subtag:"cot",Description:["Caquinte"],Added:"2009-07-29"},{Type:"language",Subtag:"cou",Description:["Wamey"],Added:"2009-07-29"},{Type:"language",Subtag:"cov",Description:["Cao Miao"],Added:"2009-07-29"},{Type:"language",Subtag:"cow",Description:["Cowlitz"],Added:"2009-07-29"},{Type:"language",Subtag:"cox",Description:["Nanti"],Added:"2009-07-29"},{Type:"language",Subtag:"coy",Description:["Coyaima"],Added:"2009-07-29",Deprecated:"2016-05-30","Preferred-Value":"pij"},{Type:"language",Subtag:"coz",Description:["Chochotec"],Added:"2009-07-29"},{Type:"language",Subtag:"cpa",Description:["Palantla Chinantec"],Added:"2009-07-29"},{Type:"language",Subtag:"cpb",Description:["Ucayali-Yurúa Ashéninka"],Added:"2009-07-29"},{Type:"language",Subtag:"cpc",Description:["Ajyíninka Apurucayali"],Added:"2009-07-29"},{Type:"language",Subtag:"cpe",Description:["English-based creoles and pidgins"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"cpf",Description:["French-based creoles and pidgins"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"cpg",Description:["Cappadocian Greek"],Added:"2009-07-29"},{Type:"language",Subtag:"cpi",Description:["Chinese Pidgin English"],Added:"2009-07-29"},{Type:"language",Subtag:"cpn",Description:["Cherepon"],Added:"2009-07-29"},{Type:"language",Subtag:"cpo",Description:["Kpeego"],Added:"2013-09-10"},{Type:"language",Subtag:"cpp",Description:["Portuguese-based creoles and pidgins"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"cps",Description:["Capiznon"],Added:"2009-07-29"},{Type:"language",Subtag:"cpu",Description:["Pichis Ashéninka"],Added:"2009-07-29"},{Type:"language",Subtag:"cpx",Description:["Pu-Xian Chinese"],Added:"2009-07-29",Macrolanguage:"zh"},{Type:"language",Subtag:"cpy",Description:["South Ucayali Ashéninka"],Added:"2009-07-29"},{Type:"language",Subtag:"cqd",Description:["Chuanqiandian Cluster Miao"],Added:"2009-07-29",Macrolanguage:"hmn"},{Type:"language",Subtag:"cqu",Description:["Chilean Quechua"],Added:"2009-07-29",Deprecated:"2016-05-30","Preferred-Value":"quh",Macrolanguage:"qu"},{Type:"language",Subtag:"cra",Description:["Chara"],Added:"2009-07-29"},{Type:"language",Subtag:"crb",Description:["Island Carib"],Added:"2009-07-29"},{Type:"language",Subtag:"crc",Description:["Lonwolwol"],Added:"2009-07-29"},{Type:"language",Subtag:"crd",Description:["Coeur d'Alene"],Added:"2009-07-29"},{Type:"language",Subtag:"crf",Description:["Caramanta"],Added:"2009-07-29"},{Type:"language",Subtag:"crg",Description:["Michif"],Added:"2009-07-29"},{Type:"language",Subtag:"crh",Description:["Crimean Tatar","Crimean Turkish"],Added:"2005-10-16"},{Type:"language",Subtag:"cri",Description:["Sãotomense"],Added:"2009-07-29"},{Type:"language",Subtag:"crj",Description:["Southern East Cree"],Added:"2009-07-29",Macrolanguage:"cr"},{Type:"language",Subtag:"crk",Description:["Plains Cree"],Added:"2009-07-29",Macrolanguage:"cr"},{Type:"language",Subtag:"crl",Description:["Northern East Cree"],Added:"2009-07-29",Macrolanguage:"cr"},{Type:"language",Subtag:"crm",Description:["Moose Cree"],Added:"2009-07-29",Macrolanguage:"cr"},{Type:"language",Subtag:"crn",Description:["El Nayar Cora"],Added:"2009-07-29"},{Type:"language",Subtag:"cro",Description:["Crow"],Added:"2009-07-29"},{Type:"language",Subtag:"crp",Description:["Creoles and pidgins"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"crq",Description:["Iyo'wujwa Chorote"],Added:"2009-07-29"},{Type:"language",Subtag:"crr",Description:["Carolina Algonquian"],Added:"2009-07-29"},{Type:"language",Subtag:"crs",Description:["Seselwa Creole French"],Added:"2009-07-29"},{Type:"language",Subtag:"crt",Description:["Iyojwa'ja Chorote"],Added:"2009-07-29"},{Type:"language",Subtag:"crv",Description:["Chaura"],Added:"2009-07-29"},{Type:"language",Subtag:"crw",Description:["Chrau"],Added:"2009-07-29"},{Type:"language",Subtag:"crx",Description:["Carrier"],Added:"2009-07-29"},{Type:"language",Subtag:"cry",Description:["Cori"],Added:"2009-07-29"},{Type:"language",Subtag:"crz",Description:["Cruzeño"],Added:"2009-07-29"},{Type:"language",Subtag:"csa",Description:["Chiltepec Chinantec"],Added:"2009-07-29"},{Type:"language",Subtag:"csb",Description:["Kashubian"],Added:"2005-10-16"},{Type:"language",Subtag:"csc",Description:["Catalan Sign Language","Lengua de señas catalana","Llengua de Signes Catalana"],Added:"2009-07-29"},{Type:"language",Subtag:"csd",Description:["Chiangmai Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"cse",Description:["Czech Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"csf",Description:["Cuba Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"csg",Description:["Chilean Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"csh",Description:["Asho Chin"],Added:"2009-07-29"},{Type:"language",Subtag:"csi",Description:["Coast Miwok"],Added:"2009-07-29"},{Type:"language",Subtag:"csj",Description:["Songlai Chin"],Added:"2013-09-10"},{Type:"language",Subtag:"csk",Description:["Jola-Kasa"],Added:"2009-07-29"},{Type:"language",Subtag:"csl",Description:["Chinese Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"csm",Description:["Central Sierra Miwok"],Added:"2009-07-29"},{Type:"language",Subtag:"csn",Description:["Colombian Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"cso",Description:["Sochiapam Chinantec","Sochiapan Chinantec"],Added:"2009-07-29"},{Type:"language",Subtag:"csp",Description:["Southern Ping Chinese","Southern Pinghua"],Added:"2020-03-28",Macrolanguage:"zh"},{Type:"language",Subtag:"csq",Description:["Croatia Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"csr",Description:["Costa Rican Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"css",Description:["Southern Ohlone"],Added:"2009-07-29"},{Type:"language",Subtag:"cst",Description:["Northern Ohlone"],Added:"2009-07-29"},{Type:"language",Subtag:"csu",Description:["Central Sudanic languages"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"csv",Description:["Sumtu Chin"],Added:"2012-08-12"},{Type:"language",Subtag:"csw",Description:["Swampy Cree"],Added:"2009-07-29",Macrolanguage:"cr"},{Type:"language",Subtag:"csx",Description:["Cambodian Sign Language"],Added:"2021-02-20"},{Type:"language",Subtag:"csy",Description:["Siyin Chin"],Added:"2009-07-29"},{Type:"language",Subtag:"csz",Description:["Coos"],Added:"2009-07-29"},{Type:"language",Subtag:"cta",Description:["Tataltepec Chatino"],Added:"2009-07-29"},{Type:"language",Subtag:"ctc",Description:["Chetco"],Added:"2009-07-29"},{Type:"language",Subtag:"ctd",Description:["Tedim Chin"],Added:"2009-07-29"},{Type:"language",Subtag:"cte",Description:["Tepinapa Chinantec"],Added:"2009-07-29"},{Type:"language",Subtag:"ctg",Description:["Chittagonian"],Added:"2009-07-29"},{Type:"language",Subtag:"cth",Description:["Thaiphum Chin"],Added:"2012-08-12"},{Type:"language",Subtag:"ctl",Description:["Tlacoatzintepec Chinantec"],Added:"2009-07-29"},{Type:"language",Subtag:"ctm",Description:["Chitimacha"],Added:"2009-07-29"},{Type:"language",Subtag:"ctn",Description:["Chhintange"],Added:"2009-07-29"},{Type:"language",Subtag:"cto",Description:["Emberá-Catío"],Added:"2009-07-29"},{Type:"language",Subtag:"ctp",Description:["Western Highland Chatino"],Added:"2009-07-29"},{Type:"language",Subtag:"cts",Description:["Northern Catanduanes Bikol"],Added:"2009-07-29",Macrolanguage:"bik"},{Type:"language",Subtag:"ctt",Description:["Wayanad Chetti"],Added:"2009-07-29"},{Type:"language",Subtag:"ctu",Description:["Chol"],Added:"2009-07-29"},{Type:"language",Subtag:"cty",Description:["Moundadan Chetty"],Added:"2021-02-20"},{Type:"language",Subtag:"ctz",Description:["Zacatepec Chatino"],Added:"2009-07-29"},{Type:"language",Subtag:"cua",Description:["Cua"],Added:"2009-07-29"},{Type:"language",Subtag:"cub",Description:["Cubeo"],Added:"2009-07-29"},{Type:"language",Subtag:"cuc",Description:["Usila Chinantec"],Added:"2009-07-29"},{Type:"language",Subtag:"cug",Description:["Chungmboko","Cung"],Added:"2009-07-29",Deprecated:"2022-02-25",Comments:["see bpc, cnq"]},{Type:"language",Subtag:"cuh",Description:["Chuka","Gichuka"],Added:"2009-07-29"},{Type:"language",Subtag:"cui",Description:["Cuiba"],Added:"2009-07-29"},{Type:"language",Subtag:"cuj",Description:["Mashco Piro"],Added:"2009-07-29"},{Type:"language",Subtag:"cuk",Description:["San Blas Kuna"],Added:"2009-07-29"},{Type:"language",Subtag:"cul",Description:["Culina","Kulina"],Added:"2009-07-29"},{Type:"language",Subtag:"cum",Description:["Cumeral"],Added:"2009-07-29",Deprecated:"2016-05-30"},{Type:"language",Subtag:"cuo",Description:["Cumanagoto"],Added:"2009-07-29"},{Type:"language",Subtag:"cup",Description:["Cupeño"],Added:"2009-07-29"},{Type:"language",Subtag:"cuq",Description:["Cun"],Added:"2009-07-29"},{Type:"language",Subtag:"cur",Description:["Chhulung"],Added:"2009-07-29"},{Type:"language",Subtag:"cus",Description:["Cushitic languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"cut",Description:["Teutila Cuicatec"],Added:"2009-07-29"},{Type:"language",Subtag:"cuu",Description:["Tai Ya"],Added:"2009-07-29"},{Type:"language",Subtag:"cuv",Description:["Cuvok"],Added:"2009-07-29"},{Type:"language",Subtag:"cuw",Description:["Chukwa"],Added:"2009-07-29"},{Type:"language",Subtag:"cux",Description:["Tepeuxila Cuicatec"],Added:"2009-07-29"},{Type:"language",Subtag:"cuy",Description:["Cuitlatec"],Added:"2018-03-08"},{Type:"language",Subtag:"cvg",Description:["Chug"],Added:"2009-07-29"},{Type:"language",Subtag:"cvn",Description:["Valle Nacional Chinantec"],Added:"2009-07-29"},{Type:"language",Subtag:"cwa",Description:["Kabwa"],Added:"2009-07-29"},{Type:"language",Subtag:"cwb",Description:["Maindo"],Added:"2009-07-29"},{Type:"language",Subtag:"cwd",Description:["Woods Cree"],Added:"2009-07-29",Macrolanguage:"cr"},{Type:"language",Subtag:"cwe",Description:["Kwere"],Added:"2009-07-29"},{Type:"language",Subtag:"cwg",Description:["Chewong","Cheq Wong"],Added:"2009-07-29"},{Type:"language",Subtag:"cwt",Description:["Kuwaataay"],Added:"2009-07-29"},{Type:"language",Subtag:"cya",Description:["Nopala Chatino"],Added:"2009-07-29"},{Type:"language",Subtag:"cyb",Description:["Cayubaba"],Added:"2009-07-29"},{Type:"language",Subtag:"cyo",Description:["Cuyonon"],Added:"2009-07-29"},{Type:"language",Subtag:"czh",Description:["Huizhou Chinese"],Added:"2009-07-29",Macrolanguage:"zh"},{Type:"language",Subtag:"czk",Description:["Knaanic"],Added:"2009-07-29"},{Type:"language",Subtag:"czn",Description:["Zenzontepec Chatino"],Added:"2009-07-29"},{Type:"language",Subtag:"czo",Description:["Min Zhong Chinese"],Added:"2009-07-29",Macrolanguage:"zh"},{Type:"language",Subtag:"czt",Description:["Zotung Chin"],Added:"2009-07-29"},{Type:"language",Subtag:"daa",Description:["Dangaléat"],Added:"2009-07-29"},{Type:"language",Subtag:"dac",Description:["Dambi"],Added:"2009-07-29"},{Type:"language",Subtag:"dad",Description:["Marik"],Added:"2009-07-29"},{Type:"language",Subtag:"dae",Description:["Duupa"],Added:"2009-07-29"},{Type:"language",Subtag:"daf",Description:["Dan"],Added:"2009-07-29",Deprecated:"2013-09-10",Comments:["see dnj, lda"]},{Type:"language",Subtag:"dag",Description:["Dagbani"],Added:"2009-07-29"},{Type:"language",Subtag:"dah",Description:["Gwahatike"],Added:"2009-07-29"},{Type:"language",Subtag:"dai",Description:["Day"],Added:"2009-07-29"},{Type:"language",Subtag:"daj",Description:["Dar Fur Daju"],Added:"2009-07-29"},{Type:"language",Subtag:"dak",Description:["Dakota"],Added:"2005-10-16"},{Type:"language",Subtag:"dal",Description:["Dahalo"],Added:"2009-07-29"},{Type:"language",Subtag:"dam",Description:["Damakawa"],Added:"2009-07-29"},{Type:"language",Subtag:"dao",Description:["Daai Chin"],Added:"2009-07-29"},{Type:"language",Subtag:"dap",Description:["Nisi (India)"],Added:"2009-07-29",Deprecated:"2012-08-12",Comments:["see njz, tgj"]},{Type:"language",Subtag:"daq",Description:["Dandami Maria"],Added:"2009-07-29"},{Type:"language",Subtag:"dar",Description:["Dargwa"],Added:"2005-10-16"},{Type:"language",Subtag:"das",Description:["Daho-Doo"],Added:"2009-07-29"},{Type:"language",Subtag:"dau",Description:["Dar Sila Daju"],Added:"2009-07-29"},{Type:"language",Subtag:"dav",Description:["Taita","Dawida"],Added:"2009-07-29"},{Type:"language",Subtag:"daw",Description:["Davawenyo"],Added:"2009-07-29"},{Type:"language",Subtag:"dax",Description:["Dayi"],Added:"2009-07-29"},{Type:"language",Subtag:"day",Description:["Land Dayak languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"daz",Description:["Dao"],Added:"2009-07-29"},{Type:"language",Subtag:"dba",Description:["Bangime"],Added:"2009-07-29"},{Type:"language",Subtag:"dbb",Description:["Deno"],Added:"2009-07-29"},{Type:"language",Subtag:"dbd",Description:["Dadiya"],Added:"2009-07-29"},{Type:"language",Subtag:"dbe",Description:["Dabe"],Added:"2009-07-29"},{Type:"language",Subtag:"dbf",Description:["Edopi"],Added:"2009-07-29"},{Type:"language",Subtag:"dbg",Description:["Dogul Dom Dogon"],Added:"2009-07-29"},{Type:"language",Subtag:"dbi",Description:["Doka"],Added:"2009-07-29"},{Type:"language",Subtag:"dbj",Description:["Ida'an"],Added:"2009-07-29"},{Type:"language",Subtag:"dbl",Description:["Dyirbal"],Added:"2009-07-29"},{Type:"language",Subtag:"dbm",Description:["Duguri"],Added:"2009-07-29"},{Type:"language",Subtag:"dbn",Description:["Duriankere"],Added:"2009-07-29"},{Type:"language",Subtag:"dbo",Description:["Dulbu"],Added:"2009-07-29"},{Type:"language",Subtag:"dbp",Description:["Duwai"],Added:"2009-07-29"},{Type:"language",Subtag:"dbq",Description:["Daba"],Added:"2009-07-29"},{Type:"language",Subtag:"dbr",Description:["Dabarre"],Added:"2009-07-29"},{Type:"language",Subtag:"dbt",Description:["Ben Tey Dogon"],Added:"2012-08-12"},{Type:"language",Subtag:"dbu",Description:["Bondum Dom Dogon"],Added:"2009-07-29"},{Type:"language",Subtag:"dbv",Description:["Dungu"],Added:"2009-07-29"},{Type:"language",Subtag:"dbw",Description:["Bankan Tey Dogon"],Added:"2012-08-12"},{Type:"language",Subtag:"dby",Description:["Dibiyaso"],Added:"2009-07-29"},{Type:"language",Subtag:"dcc",Description:["Deccan"],Added:"2009-07-29"},{Type:"language",Subtag:"dcr",Description:["Negerhollands"],Added:"2009-07-29"},{Type:"language",Subtag:"dda",Description:["Dadi Dadi"],Added:"2012-08-12"},{Type:"language",Subtag:"ddd",Description:["Dongotono"],Added:"2009-07-29"},{Type:"language",Subtag:"dde",Description:["Doondo"],Added:"2009-07-29"},{Type:"language",Subtag:"ddg",Description:["Fataluku"],Added:"2009-07-29"},{Type:"language",Subtag:"ddi",Description:["West Goodenough"],Added:"2009-07-29"},{Type:"language",Subtag:"ddj",Description:["Jaru"],Added:"2009-07-29"},{Type:"language",Subtag:"ddn",Description:["Dendi (Benin)"],Added:"2009-07-29"},{Type:"language",Subtag:"ddo",Description:["Dido"],Added:"2009-07-29"},{Type:"language",Subtag:"ddr",Description:["Dhudhuroa"],Added:"2012-08-12"},{Type:"language",Subtag:"dds",Description:["Donno So Dogon"],Added:"2009-07-29"},{Type:"language",Subtag:"ddw",Description:["Dawera-Daweloor"],Added:"2009-07-29"},{Type:"language",Subtag:"dec",Description:["Dagik"],Added:"2009-07-29"},{Type:"language",Subtag:"ded",Description:["Dedua"],Added:"2009-07-29"},{Type:"language",Subtag:"dee",Description:["Dewoin"],Added:"2009-07-29"},{Type:"language",Subtag:"def",Description:["Dezfuli"],Added:"2009-07-29"},{Type:"language",Subtag:"deg",Description:["Degema"],Added:"2009-07-29"},{Type:"language",Subtag:"deh",Description:["Dehwari"],Added:"2009-07-29"},{Type:"language",Subtag:"dei",Description:["Demisa"],Added:"2009-07-29"},{Type:"language",Subtag:"dek",Description:["Dek"],Added:"2009-07-29"},{Type:"language",Subtag:"del",Description:["Delaware"],Added:"2005-10-16",Scope:"macrolanguage"},{Type:"language",Subtag:"dem",Description:["Dem"],Added:"2009-07-29"},{Type:"language",Subtag:"den",Description:["Slave (Athapascan)"],Added:"2005-10-16",Scope:"macrolanguage"},{Type:"language",Subtag:"dep",Description:["Pidgin Delaware"],Added:"2009-07-29"},{Type:"language",Subtag:"deq",Description:["Dendi (Central African Republic)"],Added:"2009-07-29"},{Type:"language",Subtag:"der",Description:["Deori"],Added:"2009-07-29"},{Type:"language",Subtag:"des",Description:["Desano"],Added:"2009-07-29"},{Type:"language",Subtag:"dev",Description:["Domung"],Added:"2009-07-29"},{Type:"language",Subtag:"dez",Description:["Dengese"],Added:"2009-07-29"},{Type:"language",Subtag:"dga",Description:["Southern Dagaare"],Added:"2009-07-29"},{Type:"language",Subtag:"dgb",Description:["Bunoge Dogon"],Added:"2009-07-29"},{Type:"language",Subtag:"dgc",Description:["Casiguran Dumagat Agta"],Added:"2009-07-29"},{Type:"language",Subtag:"dgd",Description:["Dagaari Dioula"],Added:"2009-07-29"},{Type:"language",Subtag:"dge",Description:["Degenan"],Added:"2009-07-29"},{Type:"language",Subtag:"dgg",Description:["Doga"],Added:"2009-07-29"},{Type:"language",Subtag:"dgh",Description:["Dghwede"],Added:"2009-07-29"},{Type:"language",Subtag:"dgi",Description:["Northern Dagara"],Added:"2009-07-29"},{Type:"language",Subtag:"dgk",Description:["Dagba"],Added:"2009-07-29"},{Type:"language",Subtag:"dgl",Description:["Andaandi","Dongolawi"],Added:"2012-08-12"},{Type:"language",Subtag:"dgn",Description:["Dagoman"],Added:"2009-07-29"},{Type:"language",Subtag:"dgo",Description:["Dogri (individual language)"],Added:"2009-07-29",Macrolanguage:"doi"},{Type:"language",Subtag:"dgr",Description:["Dogrib","Tłı̨chǫ"],Added:"2005-10-16"},{Type:"language",Subtag:"dgs",Description:["Dogoso"],Added:"2009-07-29"},{Type:"language",Subtag:"dgt",Description:["Ndra'ngith"],Added:"2012-08-12"},{Type:"language",Subtag:"dgu",Description:["Degaru"],Added:"2009-07-29",Deprecated:"2020-03-28"},{Type:"language",Subtag:"dgw",Description:["Daungwurrung"],Added:"2012-08-12"},{Type:"language",Subtag:"dgx",Description:["Doghoro"],Added:"2009-07-29"},{Type:"language",Subtag:"dgz",Description:["Daga"],Added:"2009-07-29"},{Type:"language",Subtag:"dha",Description:["Dhanwar (India)"],Added:"2009-07-29",Deprecated:"2011-08-16"},{Type:"language",Subtag:"dhd",Description:["Dhundari"],Added:"2009-07-29",Macrolanguage:"mwr"},{Type:"language",Subtag:"dhg",Description:["Dhangu-Djangu","Dhangu","Djangu"],Added:"2009-07-29"},{Type:"language",Subtag:"dhi",Description:["Dhimal"],Added:"2009-07-29"},{Type:"language",Subtag:"dhl",Description:["Dhalandji"],Added:"2009-07-29"},{Type:"language",Subtag:"dhm",Description:["Zemba"],Added:"2009-07-29"},{Type:"language",Subtag:"dhn",Description:["Dhanki"],Added:"2009-07-29"},{Type:"language",Subtag:"dho",Description:["Dhodia"],Added:"2009-07-29"},{Type:"language",Subtag:"dhr",Description:["Dhargari"],Added:"2009-07-29"},{Type:"language",Subtag:"dhs",Description:["Dhaiso"],Added:"2009-07-29"},{Type:"language",Subtag:"dhu",Description:["Dhurga"],Added:"2009-07-29"},{Type:"language",Subtag:"dhv",Description:["Dehu","Drehu"],Added:"2009-07-29"},{Type:"language",Subtag:"dhw",Description:["Dhanwar (Nepal)"],Added:"2009-07-29"},{Type:"language",Subtag:"dhx",Description:["Dhungaloo"],Added:"2013-09-10"},{Type:"language",Subtag:"dia",Description:["Dia"],Added:"2009-07-29"},{Type:"language",Subtag:"dib",Description:["South Central Dinka"],Added:"2009-07-29",Macrolanguage:"din"},{Type:"language",Subtag:"dic",Description:["Lakota Dida"],Added:"2009-07-29"},{Type:"language",Subtag:"did",Description:["Didinga"],Added:"2009-07-29"},{Type:"language",Subtag:"dif",Description:["Dieri","Diyari"],Added:"2009-07-29"},{Type:"language",Subtag:"dig",Description:["Digo","Chidigo"],Added:"2009-07-29"},{Type:"language",Subtag:"dih",Description:["Kumiai"],Added:"2009-07-29"},{Type:"language",Subtag:"dii",Description:["Dimbong"],Added:"2009-07-29"},{Type:"language",Subtag:"dij",Description:["Dai"],Added:"2009-07-29"},{Type:"language",Subtag:"dik",Description:["Southwestern Dinka"],Added:"2009-07-29",Macrolanguage:"din"},{Type:"language",Subtag:"dil",Description:["Dilling"],Added:"2009-07-29"},{Type:"language",Subtag:"dim",Description:["Dime"],Added:"2009-07-29"},{Type:"language",Subtag:"din",Description:["Dinka"],Added:"2005-10-16",Scope:"macrolanguage"},{Type:"language",Subtag:"dio",Description:["Dibo"],Added:"2009-07-29"},{Type:"language",Subtag:"dip",Description:["Northeastern Dinka"],Added:"2009-07-29",Macrolanguage:"din"},{Type:"language",Subtag:"diq",Description:["Dimli (individual language)"],Added:"2009-07-29",Macrolanguage:"zza"},{Type:"language",Subtag:"dir",Description:["Dirim"],Added:"2009-07-29"},{Type:"language",Subtag:"dis",Description:["Dimasa"],Added:"2009-07-29"},{Type:"language",Subtag:"dit",Description:["Dirari"],Added:"2009-07-29",Deprecated:"2019-04-29","Preferred-Value":"dif"},{Type:"language",Subtag:"diu",Description:["Diriku"],Added:"2009-07-29"},{Type:"language",Subtag:"diw",Description:["Northwestern Dinka"],Added:"2009-07-29",Macrolanguage:"din"},{Type:"language",Subtag:"dix",Description:["Dixon Reef"],Added:"2009-07-29"},{Type:"language",Subtag:"diy",Description:["Diuwe"],Added:"2009-07-29"},{Type:"language",Subtag:"diz",Description:["Ding"],Added:"2009-07-29"},{Type:"language",Subtag:"dja",Description:["Djadjawurrung"],Added:"2012-08-12"},{Type:"language",Subtag:"djb",Description:["Djinba"],Added:"2009-07-29"},{Type:"language",Subtag:"djc",Description:["Dar Daju Daju"],Added:"2009-07-29"},{Type:"language",Subtag:"djd",Description:["Djamindjung","Ngaliwurru"],Added:"2009-07-29"},{Type:"language",Subtag:"dje",Description:["Zarma"],Added:"2009-07-29"},{Type:"language",Subtag:"djf",Description:["Djangun"],Added:"2009-07-29"},{Type:"language",Subtag:"dji",Description:["Djinang"],Added:"2009-07-29"},{Type:"language",Subtag:"djj",Description:["Djeebbana"],Added:"2009-07-29"},{Type:"language",Subtag:"djk",Description:["Eastern Maroon Creole","Businenge Tongo","Nenge"],Added:"2009-07-29"},{Type:"language",Subtag:"djl",Description:["Djiwarli"],Added:"2009-07-29",Deprecated:"2013-09-10",Comments:["see dze, iin"]},{Type:"language",Subtag:"djm",Description:["Jamsay Dogon"],Added:"2009-07-29"},{Type:"language",Subtag:"djn",Description:["Jawoyn","Djauan"],Added:"2009-07-29"},{Type:"language",Subtag:"djo",Description:["Jangkang"],Added:"2009-07-29"},{Type:"language",Subtag:"djr",Description:["Djambarrpuyngu"],Added:"2009-07-29"},{Type:"language",Subtag:"dju",Description:["Kapriman"],Added:"2009-07-29"},{Type:"language",Subtag:"djw",Description:["Djawi"],Added:"2009-07-29"},{Type:"language",Subtag:"dka",Description:["Dakpakha"],Added:"2009-07-29"},{Type:"language",Subtag:"dkg",Description:["Kadung"],Added:"2021-02-20"},{Type:"language",Subtag:"dkk",Description:["Dakka"],Added:"2009-07-29"},{Type:"language",Subtag:"dkl",Description:["Kolum So Dogon"],Added:"2009-07-29",Deprecated:"2011-08-16",Comments:["see aqd, dmb"]},{Type:"language",Subtag:"dkr",Description:["Kuijau"],Added:"2009-07-29"},{Type:"language",Subtag:"dks",Description:["Southeastern Dinka"],Added:"2009-07-29",Macrolanguage:"din"},{Type:"language",Subtag:"dkx",Description:["Mazagway"],Added:"2009-07-29"},{Type:"language",Subtag:"dlg",Description:["Dolgan"],Added:"2009-07-29"},{Type:"language",Subtag:"dlk",Description:["Dahalik"],Added:"2013-09-10"},{Type:"language",Subtag:"dlm",Description:["Dalmatian"],Added:"2009-07-29"},{Type:"language",Subtag:"dln",Description:["Darlong"],Added:"2009-07-29"},{Type:"language",Subtag:"dma",Description:["Duma"],Added:"2009-07-29"},{Type:"language",Subtag:"dmb",Description:["Mombo Dogon"],Added:"2011-08-16"},{Type:"language",Subtag:"dmc",Description:["Gavak"],Added:"2009-07-29"},{Type:"language",Subtag:"dmd",Description:["Madhi Madhi"],Added:"2012-08-12"},{Type:"language",Subtag:"dme",Description:["Dugwor"],Added:"2009-07-29"},{Type:"language",Subtag:"dmf",Description:["Medefaidrin"],Added:"2020-03-28"},{Type:"language",Subtag:"dmg",Description:["Upper Kinabatangan"],Added:"2009-07-29"},{Type:"language",Subtag:"dmk",Description:["Domaaki"],Added:"2009-07-29"},{Type:"language",Subtag:"dml",Description:["Dameli"],Added:"2009-07-29"},{Type:"language",Subtag:"dmm",Description:["Dama"],Added:"2009-07-29"},{Type:"language",Subtag:"dmn",Description:["Mande languages"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"dmo",Description:["Kemedzung"],Added:"2009-07-29"},{Type:"language",Subtag:"dmr",Description:["East Damar"],Added:"2009-07-29"},{Type:"language",Subtag:"dms",Description:["Dampelas"],Added:"2009-07-29"},{Type:"language",Subtag:"dmu",Description:["Dubu","Tebi"],Added:"2009-07-29"},{Type:"language",Subtag:"dmv",Description:["Dumpas"],Added:"2009-07-29"},{Type:"language",Subtag:"dmw",Description:["Mudburra"],Added:"2013-09-10"},{Type:"language",Subtag:"dmx",Description:["Dema"],Added:"2009-07-29"},{Type:"language",Subtag:"dmy",Description:["Demta","Sowari"],Added:"2009-07-29"},{Type:"language",Subtag:"dna",Description:["Upper Grand Valley Dani"],Added:"2009-07-29"},{Type:"language",Subtag:"dnd",Description:["Daonda"],Added:"2009-07-29"},{Type:"language",Subtag:"dne",Description:["Ndendeule"],Added:"2009-07-29"},{Type:"language",Subtag:"dng",Description:["Dungan"],Added:"2009-07-29"},{Type:"language",Subtag:"dni",Description:["Lower Grand Valley Dani"],Added:"2009-07-29"},{Type:"language",Subtag:"dnj",Description:["Dan"],Added:"2013-09-10"},{Type:"language",Subtag:"dnk",Description:["Dengka"],Added:"2009-07-29"},{Type:"language",Subtag:"dnn",Description:["Dzùùngoo"],Added:"2009-07-29"},{Type:"language",Subtag:"dno",Description:["Ndrulo","Northern Lendu"],Added:"2018-10-28"},{Type:"language",Subtag:"dnr",Description:["Danaru"],Added:"2009-07-29"},{Type:"language",Subtag:"dnt",Description:["Mid Grand Valley Dani"],Added:"2009-07-29"},{Type:"language",Subtag:"dnu",Description:["Danau"],Added:"2009-07-29"},{Type:"language",Subtag:"dnv",Description:["Danu"],Added:"2012-08-12"},{Type:"language",Subtag:"dnw",Description:["Western Dani"],Added:"2009-07-29"},{Type:"language",Subtag:"dny",Description:["Dení"],Added:"2009-07-29"},{Type:"language",Subtag:"doa",Description:["Dom"],Added:"2009-07-29"},{Type:"language",Subtag:"dob",Description:["Dobu"],Added:"2009-07-29"},{Type:"language",Subtag:"doc",Description:["Northern Dong"],Added:"2009-07-29"},{Type:"language",Subtag:"doe",Description:["Doe"],Added:"2009-07-29"},{Type:"language",Subtag:"dof",Description:["Domu"],Added:"2009-07-29"},{Type:"language",Subtag:"doh",Description:["Dong"],Added:"2009-07-29"},{Type:"language",Subtag:"doi",Description:["Dogri (macrolanguage)"],Added:"2005-10-16",Scope:"macrolanguage"},{Type:"language",Subtag:"dok",Description:["Dondo"],Added:"2009-07-29"},{Type:"language",Subtag:"dol",Description:["Doso"],Added:"2009-07-29"},{Type:"language",Subtag:"don",Description:["Toura (Papua New Guinea)"],Added:"2009-07-29"},{Type:"language",Subtag:"doo",Description:["Dongo"],Added:"2009-07-29"},{Type:"language",Subtag:"dop",Description:["Lukpa"],Added:"2009-07-29"},{Type:"language",Subtag:"doq",Description:["Dominican Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"dor",Description:["Dori'o"],Added:"2009-07-29"},{Type:"language",Subtag:"dos",Description:["Dogosé"],Added:"2009-07-29"},{Type:"language",Subtag:"dot",Description:["Dass"],Added:"2009-07-29"},{Type:"language",Subtag:"dov",Description:["Dombe"],Added:"2009-07-29"},{Type:"language",Subtag:"dow",Description:["Doyayo"],Added:"2009-07-29"},{Type:"language",Subtag:"dox",Description:["Bussa"],Added:"2009-07-29"},{Type:"language",Subtag:"doy",Description:["Dompo"],Added:"2009-07-29"},{Type:"language",Subtag:"doz",Description:["Dorze"],Added:"2009-07-29"},{Type:"language",Subtag:"dpp",Description:["Papar"],Added:"2009-07-29"},{Type:"language",Subtag:"dra",Description:["Dravidian languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"drb",Description:["Dair"],Added:"2009-07-29"},{Type:"language",Subtag:"drc",Description:["Minderico"],Added:"2011-08-16"},{Type:"language",Subtag:"drd",Description:["Darmiya"],Added:"2009-07-29"},{Type:"language",Subtag:"dre",Description:["Dolpo"],Added:"2009-07-29"},{Type:"language",Subtag:"drg",Description:["Rungus"],Added:"2009-07-29"},{Type:"language",Subtag:"drh",Description:["Darkhat"],Added:"2009-07-29",Deprecated:"2010-03-11","Preferred-Value":"khk"},{Type:"language",Subtag:"dri",Description:["C'Lela"],Added:"2009-07-29"},{Type:"language",Subtag:"drl",Description:["Paakantyi"],Added:"2009-07-29"},{Type:"language",Subtag:"drn",Description:["West Damar"],Added:"2009-07-29"},{Type:"language",Subtag:"dro",Description:["Daro-Matu Melanau"],Added:"2009-07-29"},{Type:"language",Subtag:"drq",Description:["Dura"],Added:"2009-07-29"},{Type:"language",Subtag:"drr",Description:["Dororo"],Added:"2009-07-29",Deprecated:"2020-03-28","Preferred-Value":"kzk"},{Type:"language",Subtag:"drs",Description:["Gedeo"],Added:"2009-07-29"},{Type:"language",Subtag:"drt",Description:["Drents"],Added:"2009-07-29"},{Type:"language",Subtag:"dru",Description:["Rukai"],Added:"2009-07-29"},{Type:"language",Subtag:"drw",Description:["Darwazi"],Added:"2009-07-29",Deprecated:"2010-03-11","Preferred-Value":"prs"},{Type:"language",Subtag:"dry",Description:["Darai"],Added:"2009-07-29"},{Type:"language",Subtag:"dsb",Description:["Lower Sorbian"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"dse",Description:["Dutch Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"dsh",Description:["Daasanach"],Added:"2009-07-29"},{Type:"language",Subtag:"dsi",Description:["Disa"],Added:"2009-07-29"},{Type:"language",Subtag:"dsl",Description:["Danish Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"dsn",Description:["Dusner"],Added:"2009-07-29"},{Type:"language",Subtag:"dso",Description:["Desiya"],Added:"2009-07-29"},{Type:"language",Subtag:"dsq",Description:["Tadaksahak"],Added:"2009-07-29"},{Type:"language",Subtag:"dsz",Description:["Mardin Sign Language"],Added:"2022-02-25"},{Type:"language",Subtag:"dta",Description:["Daur"],Added:"2009-07-29"},{Type:"language",Subtag:"dtb",Description:["Labuk-Kinabatangan Kadazan"],Added:"2009-07-29"},{Type:"language",Subtag:"dtd",Description:["Ditidaht"],Added:"2011-08-16"},{Type:"language",Subtag:"dth",Description:["Adithinngithigh"],Added:"2012-08-12"},{Type:"language",Subtag:"dti",Description:["Ana Tinga Dogon"],Added:"2009-07-29"},{Type:"language",Subtag:"dtk",Description:["Tene Kan Dogon"],Added:"2009-07-29"},{Type:"language",Subtag:"dtm",Description:["Tomo Kan Dogon"],Added:"2009-07-29"},{Type:"language",Subtag:"dtn",Description:["Daatsʼíin"],Added:"2016-05-30"},{Type:"language",Subtag:"dto",Description:["Tommo So Dogon"],Added:"2012-08-12"},{Type:"language",Subtag:"dtp",Description:["Kadazan Dusun","Central Dusun"],Added:"2009-07-29"},{Type:"language",Subtag:"dtr",Description:["Lotud"],Added:"2009-07-29"},{Type:"language",Subtag:"dts",Description:["Toro So Dogon"],Added:"2009-07-29"},{Type:"language",Subtag:"dtt",Description:["Toro Tegu Dogon"],Added:"2009-07-29"},{Type:"language",Subtag:"dtu",Description:["Tebul Ure Dogon"],Added:"2009-07-29"},{Type:"language",Subtag:"dty",Description:["Dotyali"],Added:"2012-08-12",Macrolanguage:"ne"},{Type:"language",Subtag:"dua",Description:["Duala"],Added:"2005-10-16"},{Type:"language",Subtag:"dub",Description:["Dubli"],Added:"2009-07-29"},{Type:"language",Subtag:"duc",Description:["Duna"],Added:"2009-07-29"},{Type:"language",Subtag:"dud",Description:["Hun-Saare"],Added:"2009-07-29",Deprecated:"2019-04-16",Comments:["see uth, uss"]},{Type:"language",Subtag:"due",Description:["Umiray Dumaget Agta"],Added:"2009-07-29"},{Type:"language",Subtag:"duf",Description:["Dumbea","Drubea"],Added:"2009-07-29"},{Type:"language",Subtag:"dug",Description:["Duruma","Chiduruma"],Added:"2009-07-29"},{Type:"language",Subtag:"duh",Description:["Dungra Bhil"],Added:"2009-07-29"},{Type:"language",Subtag:"dui",Description:["Dumun"],Added:"2009-07-29"},{Type:"language",Subtag:"duj",Description:["Dhuwal"],Added:"2009-07-29",Deprecated:"2016-05-30",Comments:["see dwu, dwy"]},{Type:"language",Subtag:"duk",Description:["Uyajitaya"],Added:"2009-07-29"},{Type:"language",Subtag:"dul",Description:["Alabat Island Agta"],Added:"2009-07-29"},{Type:"language",Subtag:"dum",Description:["Middle Dutch (ca. 1050-1350)"],Added:"2005-10-16"},{Type:"language",Subtag:"dun",Description:["Dusun Deyah"],Added:"2009-07-29"},{Type:"language",Subtag:"duo",Description:["Dupaninan Agta"],Added:"2009-07-29"},{Type:"language",Subtag:"dup",Description:["Duano"],Added:"2009-07-29",Macrolanguage:"ms"},{Type:"language",Subtag:"duq",Description:["Dusun Malang"],Added:"2009-07-29"},{Type:"language",Subtag:"dur",Description:["Dii"],Added:"2009-07-29"},{Type:"language",Subtag:"dus",Description:["Dumi"],Added:"2009-07-29"},{Type:"language",Subtag:"duu",Description:["Drung"],Added:"2009-07-29"},{Type:"language",Subtag:"duv",Description:["Duvle"],Added:"2009-07-29"},{Type:"language",Subtag:"duw",Description:["Dusun Witu"],Added:"2009-07-29"},{Type:"language",Subtag:"dux",Description:["Duungooma"],Added:"2009-07-29"},{Type:"language",Subtag:"duy",Description:["Dicamay Agta"],Added:"2009-07-29"},{Type:"language",Subtag:"duz",Description:["Duli-Gey"],Added:"2009-07-29"},{Type:"language",Subtag:"dva",Description:["Duau"],Added:"2009-07-29"},{Type:"language",Subtag:"dwa",Description:["Diri"],Added:"2009-07-29"},{Type:"language",Subtag:"dwk",Description:["Dawik Kui"],Added:"2020-03-28"},{Type:"language",Subtag:"dwl",Description:["Walo Kumbe Dogon"],Added:"2009-07-29",Deprecated:"2012-08-12",Comments:["see dbt, dbw"]},{Type:"language",Subtag:"dwr",Description:["Dawro"],Added:"2009-07-29"},{Type:"language",Subtag:"dws",Description:["Dutton World Speedwords"],Added:"2009-07-29"},{Type:"language",Subtag:"dwu",Description:["Dhuwal"],Added:"2016-05-30"},{Type:"language",Subtag:"dww",Description:["Dawawa"],Added:"2009-07-29"},{Type:"language",Subtag:"dwy",Description:["Dhuwaya"],Added:"2016-05-30"},{Type:"language",Subtag:"dwz",Description:["Dewas Rai"],Added:"2018-10-28"},{Type:"language",Subtag:"dya",Description:["Dyan"],Added:"2009-07-29"},{Type:"language",Subtag:"dyb",Description:["Dyaberdyaber"],Added:"2009-07-29"},{Type:"language",Subtag:"dyd",Description:["Dyugun"],Added:"2009-07-29"},{Type:"language",Subtag:"dyg",Description:["Villa Viciosa Agta"],Added:"2009-07-29"},{Type:"language",Subtag:"dyi",Description:["Djimini Senoufo"],Added:"2009-07-29"},{Type:"language",Subtag:"dym",Description:["Yanda Dom Dogon"],Added:"2009-07-29"},{Type:"language",Subtag:"dyn",Description:["Dyangadi","Dhanggatti"],Added:"2009-07-29"},{Type:"language",Subtag:"dyo",Description:["Jola-Fonyi"],Added:"2009-07-29"},{Type:"language",Subtag:"dyu",Description:["Dyula"],Added:"2005-10-16"},{Type:"language",Subtag:"dyy",Description:["Djabugay","Dyaabugay"],Added:"2009-07-29"},{Type:"language",Subtag:"dza",Description:["Tunzu"],Added:"2009-07-29"},{Type:"language",Subtag:"dzd",Description:["Daza"],Added:"2009-07-29",Deprecated:"2015-02-12"},{Type:"language",Subtag:"dze",Description:["Djiwarli"],Added:"2013-09-10"},{Type:"language",Subtag:"dzg",Description:["Dazaga"],Added:"2009-07-29"},{Type:"language",Subtag:"dzl",Description:["Dzalakha"],Added:"2009-07-29"},{Type:"language",Subtag:"dzn",Description:["Dzando"],Added:"2009-07-29"},{Type:"language",Subtag:"eaa",Description:["Karenggapa"],Added:"2013-09-10"},{Type:"language",Subtag:"ebc",Description:["Beginci"],Added:"2020-03-28"},{Type:"language",Subtag:"ebg",Description:["Ebughu"],Added:"2009-07-29"},{Type:"language",Subtag:"ebk",Description:["Eastern Bontok"],Added:"2010-03-11",Macrolanguage:"bnc"},{Type:"language",Subtag:"ebo",Description:["Teke-Ebo"],Added:"2009-07-29"},{Type:"language",Subtag:"ebr",Description:["Ebrié"],Added:"2009-07-29"},{Type:"language",Subtag:"ebu",Description:["Embu","Kiembu"],Added:"2009-07-29"},{Type:"language",Subtag:"ecr",Description:["Eteocretan"],Added:"2009-07-29"},{Type:"language",Subtag:"ecs",Description:["Ecuadorian Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"ecy",Description:["Eteocypriot"],Added:"2009-07-29"},{Type:"language",Subtag:"eee",Description:["E"],Added:"2009-07-29"},{Type:"language",Subtag:"efa",Description:["Efai"],Added:"2009-07-29"},{Type:"language",Subtag:"efe",Description:["Efe"],Added:"2009-07-29"},{Type:"language",Subtag:"efi",Description:["Efik"],Added:"2005-10-16"},{Type:"language",Subtag:"ega",Description:["Ega"],Added:"2009-07-29"},{Type:"language",Subtag:"egl",Description:["Emilian"],Added:"2009-07-29"},{Type:"language",Subtag:"egm",Description:["Benamanga"],Added:"2022-02-25"},{Type:"language",Subtag:"ego",Description:["Eggon"],Added:"2009-07-29"},{Type:"language",Subtag:"egx",Description:["Egyptian languages"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"egy",Description:["Egyptian (Ancient)"],Added:"2005-10-16"},{Type:"language",Subtag:"ehs",Description:["Miyakubo Sign Language"],Added:"2021-02-20"},{Type:"language",Subtag:"ehu",Description:["Ehueun"],Added:"2009-07-29"},{Type:"language",Subtag:"eip",Description:["Eipomek"],Added:"2009-07-29"},{Type:"language",Subtag:"eit",Description:["Eitiep"],Added:"2009-07-29"},{Type:"language",Subtag:"eiv",Description:["Askopan"],Added:"2009-07-29"},{Type:"language",Subtag:"eja",Description:["Ejamat"],Added:"2009-07-29"},{Type:"language",Subtag:"eka",Description:["Ekajuk"],Added:"2005-10-16"},{Type:"language",Subtag:"ekc",Description:["Eastern Karnic"],Added:"2013-09-10",Deprecated:"2020-03-28"},{Type:"language",Subtag:"eke",Description:["Ekit"],Added:"2009-07-29"},{Type:"language",Subtag:"ekg",Description:["Ekari"],Added:"2009-07-29"},{Type:"language",Subtag:"eki",Description:["Eki"],Added:"2009-07-29"},{Type:"language",Subtag:"ekk",Description:["Standard Estonian"],Added:"2009-07-29",Macrolanguage:"et"},{Type:"language",Subtag:"ekl",Description:["Kol (Bangladesh)","Kol"],Added:"2009-07-29"},{Type:"language",Subtag:"ekm",Description:["Elip"],Added:"2009-07-29"},{Type:"language",Subtag:"eko",Description:["Koti"],Added:"2009-07-29"},{Type:"language",Subtag:"ekp",Description:["Ekpeye"],Added:"2009-07-29"},{Type:"language",Subtag:"ekr",Description:["Yace"],Added:"2009-07-29"},{Type:"language",Subtag:"eky",Description:["Eastern Kayah"],Added:"2009-07-29"},{Type:"language",Subtag:"ele",Description:["Elepi"],Added:"2009-07-29"},{Type:"language",Subtag:"elh",Description:["El Hugeirat"],Added:"2009-07-29"},{Type:"language",Subtag:"eli",Description:["Nding"],Added:"2009-07-29"},{Type:"language",Subtag:"elk",Description:["Elkei"],Added:"2009-07-29"},{Type:"language",Subtag:"elm",Description:["Eleme"],Added:"2009-07-29"},{Type:"language",Subtag:"elo",Description:["El Molo"],Added:"2009-07-29"},{Type:"language",Subtag:"elp",Description:["Elpaputih"],Added:"2009-07-29",Deprecated:"2012-08-12",Comments:["see amq, plh"]},{Type:"language",Subtag:"elu",Description:["Elu"],Added:"2009-07-29"},{Type:"language",Subtag:"elx",Description:["Elamite"],Added:"2005-10-16"},{Type:"language",Subtag:"ema",Description:["Emai-Iuleha-Ora"],Added:"2009-07-29"},{Type:"language",Subtag:"emb",Description:["Embaloh"],Added:"2009-07-29"},{Type:"language",Subtag:"eme",Description:["Emerillon"],Added:"2009-07-29"},{Type:"language",Subtag:"emg",Description:["Eastern Meohang"],Added:"2009-07-29"},{Type:"language",Subtag:"emi",Description:["Mussau-Emira"],Added:"2009-07-29"},{Type:"language",Subtag:"emk",Description:["Eastern Maninkakan"],Added:"2009-07-29",Macrolanguage:"man"},{Type:"language",Subtag:"emm",Description:["Mamulique"],Added:"2009-07-29"},{Type:"language",Subtag:"emn",Description:["Eman"],Added:"2009-07-29"},{Type:"language",Subtag:"emo",Description:["Emok"],Added:"2009-07-29",Deprecated:"2014-02-28"},{Type:"language",Subtag:"emp",Description:["Northern Emberá"],Added:"2009-07-29"},{Type:"language",Subtag:"emq",Description:["Eastern Minyag"],Added:"2021-02-20"},{Type:"language",Subtag:"ems",Description:["Pacific Gulf Yupik"],Added:"2009-07-29"},{Type:"language",Subtag:"emu",Description:["Eastern Muria"],Added:"2009-07-29"},{Type:"language",Subtag:"emw",Description:["Emplawas"],Added:"2009-07-29"},{Type:"language",Subtag:"emx",Description:["Erromintxela"],Added:"2010-03-11"},{Type:"language",Subtag:"emy",Description:["Epigraphic Mayan"],Added:"2009-07-29"},{Type:"language",Subtag:"emz",Description:["Mbessa"],Added:"2021-02-20"},{Type:"language",Subtag:"ena",Description:["Apali"],Added:"2009-07-29"},{Type:"language",Subtag:"enb",Description:["Markweeta"],Added:"2009-07-29",Macrolanguage:"kln"},{Type:"language",Subtag:"enc",Description:["En"],Added:"2009-07-29"},{Type:"language",Subtag:"end",Description:["Ende"],Added:"2009-07-29"},{Type:"language",Subtag:"enf",Description:["Forest Enets"],Added:"2009-07-29"},{Type:"language",Subtag:"enh",Description:["Tundra Enets"],Added:"2009-07-29"},{Type:"language",Subtag:"enl",Description:["Enlhet"],Added:"2014-02-28"},{Type:"language",Subtag:"enm",Description:["Middle English (1100-1500)"],Added:"2005-10-16"},{Type:"language",Subtag:"enn",Description:["Engenni"],Added:"2009-07-29"},{Type:"language",Subtag:"eno",Description:["Enggano"],Added:"2009-07-29"},{Type:"language",Subtag:"enq",Description:["Enga"],Added:"2009-07-29"},{Type:"language",Subtag:"enr",Description:["Emumu","Emem"],Added:"2009-07-29"},{Type:"language",Subtag:"enu",Description:["Enu"],Added:"2009-07-29"},{Type:"language",Subtag:"env",Description:["Enwan (Edo State)"],Added:"2009-07-29"},{Type:"language",Subtag:"enw",Description:["Enwan (Akwa Ibom State)"],Added:"2009-07-29"},{Type:"language",Subtag:"enx",Description:["Enxet"],Added:"2014-02-28"},{Type:"language",Subtag:"eot",Description:["Beti (Côte d'Ivoire)"],Added:"2009-07-29"},{Type:"language",Subtag:"epi",Description:["Epie"],Added:"2009-07-29"},{Type:"language",Subtag:"era",Description:["Eravallan"],Added:"2009-07-29"},{Type:"language",Subtag:"erg",Description:["Sie"],Added:"2009-07-29"},{Type:"language",Subtag:"erh",Description:["Eruwa"],Added:"2009-07-29"},{Type:"language",Subtag:"eri",Description:["Ogea"],Added:"2009-07-29"},{Type:"language",Subtag:"erk",Description:["South Efate"],Added:"2009-07-29"},{Type:"language",Subtag:"ero",Description:["Horpa"],Added:"2009-07-29"},{Type:"language",Subtag:"err",Description:["Erre"],Added:"2009-07-29"},{Type:"language",Subtag:"ers",Description:["Ersu"],Added:"2009-07-29"},{Type:"language",Subtag:"ert",Description:["Eritai"],Added:"2009-07-29"},{Type:"language",Subtag:"erw",Description:["Erokwanas"],Added:"2009-07-29"},{Type:"language",Subtag:"ese",Description:["Ese Ejja"],Added:"2009-07-29"},{Type:"language",Subtag:"esg",Description:["Aheri Gondi"],Added:"2016-05-30",Macrolanguage:"gon"},{Type:"language",Subtag:"esh",Description:["Eshtehardi"],Added:"2009-07-29"},{Type:"language",Subtag:"esi",Description:["North Alaskan Inupiatun"],Added:"2009-07-29",Macrolanguage:"ik"},{Type:"language",Subtag:"esk",Description:["Northwest Alaska Inupiatun"],Added:"2009-07-29",Macrolanguage:"ik"},{Type:"language",Subtag:"esl",Description:["Egypt Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"esm",Description:["Esuma"],Added:"2009-07-29"},{Type:"language",Subtag:"esn",Description:["Salvadoran Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"eso",Description:["Estonian Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"esq",Description:["Esselen"],Added:"2009-07-29"},{Type:"language",Subtag:"ess",Description:["Central Siberian Yupik"],Added:"2009-07-29"},{Type:"language",Subtag:"esu",Description:["Central Yupik"],Added:"2009-07-29"},{Type:"language",Subtag:"esx",Description:["Eskimo-Aleut languages"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"esy",Description:["Eskayan"],Added:"2014-04-06"},{Type:"language",Subtag:"etb",Description:["Etebi"],Added:"2009-07-29"},{Type:"language",Subtag:"etc",Description:["Etchemin"],Added:"2009-07-29"},{Type:"language",Subtag:"eth",Description:["Ethiopian Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"etn",Description:["Eton (Vanuatu)"],Added:"2009-07-29"},{Type:"language",Subtag:"eto",Description:["Eton (Cameroon)"],Added:"2009-07-29"},{Type:"language",Subtag:"etr",Description:["Edolo"],Added:"2009-07-29"},{Type:"language",Subtag:"ets",Description:["Yekhee"],Added:"2009-07-29"},{Type:"language",Subtag:"ett",Description:["Etruscan"],Added:"2009-07-29"},{Type:"language",Subtag:"etu",Description:["Ejagham"],Added:"2009-07-29"},{Type:"language",Subtag:"etx",Description:["Eten"],Added:"2009-07-29"},{Type:"language",Subtag:"etz",Description:["Semimi"],Added:"2009-07-29"},{Type:"language",Subtag:"euq",Description:["Basque (family)"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"eve",Description:["Even"],Added:"2009-07-29"},{Type:"language",Subtag:"evh",Description:["Uvbie"],Added:"2009-07-29"},{Type:"language",Subtag:"evn",Description:["Evenki"],Added:"2009-07-29"},{Type:"language",Subtag:"ewo",Description:["Ewondo"],Added:"2005-10-16"},{Type:"language",Subtag:"ext",Description:["Extremaduran"],Added:"2009-07-29"},{Type:"language",Subtag:"eya",Description:["Eyak"],Added:"2009-07-29"},{Type:"language",Subtag:"eyo",Description:["Keiyo"],Added:"2009-07-29",Macrolanguage:"kln"},{Type:"language",Subtag:"eza",Description:["Ezaa"],Added:"2013-09-10"},{Type:"language",Subtag:"eze",Description:["Uzekwe"],Added:"2009-07-29"},{Type:"language",Subtag:"faa",Description:["Fasu"],Added:"2009-07-29"},{Type:"language",Subtag:"fab",Description:["Fa d'Ambu"],Added:"2009-07-29"},{Type:"language",Subtag:"fad",Description:["Wagi"],Added:"2009-07-29"},{Type:"language",Subtag:"faf",Description:["Fagani"],Added:"2009-07-29"},{Type:"language",Subtag:"fag",Description:["Finongan"],Added:"2009-07-29"},{Type:"language",Subtag:"fah",Description:["Baissa Fali"],Added:"2009-07-29"},{Type:"language",Subtag:"fai",Description:["Faiwol"],Added:"2009-07-29"},{Type:"language",Subtag:"faj",Description:["Faita"],Added:"2009-07-29"},{Type:"language",Subtag:"fak",Description:["Fang (Cameroon)"],Added:"2009-07-29"},{Type:"language",Subtag:"fal",Description:["South Fali"],Added:"2009-07-29"},{Type:"language",Subtag:"fam",Description:["Fam"],Added:"2009-07-29"},{Type:"language",Subtag:"fan",Description:["Fang (Equatorial Guinea)"],Added:"2005-10-16"},{Type:"language",Subtag:"fap",Description:["Paloor"],Added:"2009-07-29"},{Type:"language",Subtag:"far",Description:["Fataleka"],Added:"2009-07-29"},{Type:"language",Subtag:"fat",Description:["Fanti"],Added:"2005-10-16",Macrolanguage:"ak"},{Type:"language",Subtag:"fau",Description:["Fayu"],Added:"2009-07-29"},{Type:"language",Subtag:"fax",Description:["Fala"],Added:"2009-07-29"},{Type:"language",Subtag:"fay",Description:["Southwestern Fars"],Added:"2009-07-29"},{Type:"language",Subtag:"faz",Description:["Northwestern Fars"],Added:"2009-07-29"},{Type:"language",Subtag:"fbl",Description:["West Albay Bikol"],Added:"2010-03-11",Macrolanguage:"bik"},{Type:"language",Subtag:"fcs",Description:["Quebec Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"fer",Description:["Feroge"],Added:"2009-07-29"},{Type:"language",Subtag:"ffi",Description:["Foia Foia"],Added:"2009-07-29"},{Type:"language",Subtag:"ffm",Description:["Maasina Fulfulde"],Added:"2009-07-29",Macrolanguage:"ff"},{Type:"language",Subtag:"fgr",Description:["Fongoro"],Added:"2009-07-29"},{Type:"language",Subtag:"fia",Description:["Nobiin"],Added:"2009-07-29"},{Type:"language",Subtag:"fie",Description:["Fyer"],Added:"2009-07-29"},{Type:"language",Subtag:"fif",Description:["Faifi"],Added:"2020-06-08"},{Type:"language",Subtag:"fil",Description:["Filipino","Pilipino"],Added:"2005-10-16"},{Type:"language",Subtag:"fip",Description:["Fipa"],Added:"2009-07-29"},{Type:"language",Subtag:"fir",Description:["Firan"],Added:"2009-07-29"},{Type:"language",Subtag:"fit",Description:["Tornedalen Finnish","Meänkieli"],Added:"2009-07-29"},{Type:"language",Subtag:"fiu",Description:["Finno-Ugrian languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"fiw",Description:["Fiwaga"],Added:"2009-07-29"},{Type:"language",Subtag:"fkk",Description:["Kirya-Konzəl"],Added:"2012-08-12"},{Type:"language",Subtag:"fkv",Description:["Kven Finnish"],Added:"2009-07-29"},{Type:"language",Subtag:"fla",Description:["Kalispel-Pend d'Oreille"],Added:"2009-07-29"},{Type:"language",Subtag:"flh",Description:["Foau"],Added:"2009-07-29"},{Type:"language",Subtag:"fli",Description:["Fali"],Added:"2009-07-29"},{Type:"language",Subtag:"fll",Description:["North Fali"],Added:"2009-07-29"},{Type:"language",Subtag:"fln",Description:["Flinders Island"],Added:"2009-07-29"},{Type:"language",Subtag:"flr",Description:["Fuliiru"],Added:"2009-07-29"},{Type:"language",Subtag:"fly",Description:["Flaaitaal","Tsotsitaal"],Added:"2009-07-29"},{Type:"language",Subtag:"fmp",Description:["Fe'fe'"],Added:"2009-07-29"},{Type:"language",Subtag:"fmu",Description:["Far Western Muria"],Added:"2009-07-29"},{Type:"language",Subtag:"fnb",Description:["Fanbak"],Added:"2016-05-30"},{Type:"language",Subtag:"fng",Description:["Fanagalo"],Added:"2009-07-29"},{Type:"language",Subtag:"fni",Description:["Fania"],Added:"2009-07-29"},{Type:"language",Subtag:"fod",Description:["Foodo"],Added:"2009-07-29"},{Type:"language",Subtag:"foi",Description:["Foi"],Added:"2009-07-29"},{Type:"language",Subtag:"fom",Description:["Foma"],Added:"2009-07-29"},{Type:"language",Subtag:"fon",Description:["Fon"],Added:"2005-10-16"},{Type:"language",Subtag:"for",Description:["Fore"],Added:"2009-07-29"},{Type:"language",Subtag:"fos",Description:["Siraya"],Added:"2009-07-29"},{Type:"language",Subtag:"fox",Description:["Formosan languages"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"fpe",Description:["Fernando Po Creole English"],Added:"2009-07-29"},{Type:"language",Subtag:"fqs",Description:["Fas"],Added:"2009-07-29"},{Type:"language",Subtag:"frc",Description:["Cajun French"],Added:"2009-07-29"},{Type:"language",Subtag:"frd",Description:["Fordata"],Added:"2009-07-29"},{Type:"language",Subtag:"frk",Description:["Frankish"],Added:"2009-07-29"},{Type:"language",Subtag:"frm",Description:["Middle French (ca. 1400-1600)"],Added:"2005-10-16"},{Type:"language",Subtag:"fro",Description:["Old French (842-ca. 1400)"],Added:"2005-10-16"},{Type:"language",Subtag:"frp",Description:["Arpitan","Francoprovençal"],Added:"2009-07-29"},{Type:"language",Subtag:"frq",Description:["Forak"],Added:"2009-07-29"},{Type:"language",Subtag:"frr",Description:["Northern Frisian"],Added:"2006-03-08","Suppress-Script":"Latn"},{Type:"language",Subtag:"frs",Description:["Eastern Frisian"],Added:"2006-03-08","Suppress-Script":"Latn"},{Type:"language",Subtag:"frt",Description:["Fortsenal"],Added:"2009-07-29"},{Type:"language",Subtag:"fse",Description:["Finnish Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"fsl",Description:["French Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"fss",Description:["Finland-Swedish Sign Language","finlandssvenskt teckenspråk","suomenruotsalainen viittomakieli"],Added:"2009-07-29"},{Type:"language",Subtag:"fub",Description:["Adamawa Fulfulde"],Added:"2009-07-29",Macrolanguage:"ff"},{Type:"language",Subtag:"fuc",Description:["Pulaar"],Added:"2009-07-29",Macrolanguage:"ff"},{Type:"language",Subtag:"fud",Description:["East Futuna"],Added:"2009-07-29"},{Type:"language",Subtag:"fue",Description:["Borgu Fulfulde"],Added:"2009-07-29",Macrolanguage:"ff"},{Type:"language",Subtag:"fuf",Description:["Pular"],Added:"2009-07-29",Macrolanguage:"ff"},{Type:"language",Subtag:"fuh",Description:["Western Niger Fulfulde"],Added:"2009-07-29",Macrolanguage:"ff"},{Type:"language",Subtag:"fui",Description:["Bagirmi Fulfulde"],Added:"2009-07-29",Macrolanguage:"ff"},{Type:"language",Subtag:"fuj",Description:["Ko"],Added:"2009-07-29"},{Type:"language",Subtag:"fum",Description:["Fum"],Added:"2009-07-29"},{Type:"language",Subtag:"fun",Description:["Fulniô"],Added:"2009-07-29"},{Type:"language",Subtag:"fuq",Description:["Central-Eastern Niger Fulfulde"],Added:"2009-07-29",Macrolanguage:"ff"},{Type:"language",Subtag:"fur",Description:["Friulian"],Added:"2005-10-16"},{Type:"language",Subtag:"fut",Description:["Futuna-Aniwa"],Added:"2009-07-29"},{Type:"language",Subtag:"fuu",Description:["Furu"],Added:"2009-07-29"},{Type:"language",Subtag:"fuv",Description:["Nigerian Fulfulde"],Added:"2009-07-29",Macrolanguage:"ff"},{Type:"language",Subtag:"fuy",Description:["Fuyug"],Added:"2009-07-29"},{Type:"language",Subtag:"fvr",Description:["Fur"],Added:"2009-07-29"},{Type:"language",Subtag:"fwa",Description:["Fwâi"],Added:"2009-07-29"},{Type:"language",Subtag:"fwe",Description:["Fwe"],Added:"2009-07-29"},{Type:"language",Subtag:"gaa",Description:["Ga"],Added:"2005-10-16"},{Type:"language",Subtag:"gab",Description:["Gabri"],Added:"2009-07-29"},{Type:"language",Subtag:"gac",Description:["Mixed Great Andamanese"],Added:"2010-03-11"},{Type:"language",Subtag:"gad",Description:["Gaddang"],Added:"2009-07-29"},{Type:"language",Subtag:"gae",Description:["Guarequena"],Added:"2009-07-29"},{Type:"language",Subtag:"gaf",Description:["Gende"],Added:"2009-07-29"},{Type:"language",Subtag:"gag",Description:["Gagauz"],Added:"2009-07-29"},{Type:"language",Subtag:"gah",Description:["Alekano"],Added:"2009-07-29"},{Type:"language",Subtag:"gai",Description:["Borei"],Added:"2009-07-29"},{Type:"language",Subtag:"gaj",Description:["Gadsup"],Added:"2009-07-29"},{Type:"language",Subtag:"gak",Description:["Gamkonora"],Added:"2009-07-29"},{Type:"language",Subtag:"gal",Description:["Galolen"],Added:"2009-07-29"},{Type:"language",Subtag:"gam",Description:["Kandawo"],Added:"2009-07-29"},{Type:"language",Subtag:"gan",Description:["Gan Chinese"],Added:"2009-07-29",Macrolanguage:"zh"},{Type:"language",Subtag:"gao",Description:["Gants"],Added:"2009-07-29"},{Type:"language",Subtag:"gap",Description:["Gal"],Added:"2009-07-29"},{Type:"language",Subtag:"gaq",Description:["Gata'"],Added:"2009-07-29"},{Type:"language",Subtag:"gar",Description:["Galeya"],Added:"2009-07-29"},{Type:"language",Subtag:"gas",Description:["Adiwasi Garasia"],Added:"2009-07-29"},{Type:"language",Subtag:"gat",Description:["Kenati"],Added:"2009-07-29"},{Type:"language",Subtag:"gau",Description:["Mudhili Gadaba"],Added:"2009-07-29"},{Type:"language",Subtag:"gav",Description:["Gabutamon"],Added:"2009-07-29",Deprecated:"2010-03-11","Preferred-Value":"dev"},{Type:"language",Subtag:"gaw",Description:["Nobonob"],Added:"2009-07-29"},{Type:"language",Subtag:"gax",Description:["Borana-Arsi-Guji Oromo"],Added:"2009-07-29",Macrolanguage:"om"},{Type:"language",Subtag:"gay",Description:["Gayo"],Added:"2005-10-16"},{Type:"language",Subtag:"gaz",Description:["West Central Oromo"],Added:"2009-07-29",Macrolanguage:"om"},{Type:"language",Subtag:"gba",Description:["Gbaya (Central African Republic)"],Added:"2005-10-16",Scope:"macrolanguage"},{Type:"language",Subtag:"gbb",Description:["Kaytetye"],Added:"2009-07-29"},{Type:"language",Subtag:"gbc",Description:["Garawa"],Added:"2009-07-29",Deprecated:"2012-08-12",Comments:["see wny, wrk"]},{Type:"language",Subtag:"gbd",Description:["Karajarri"],Added:"2009-07-29"},{Type:"language",Subtag:"gbe",Description:["Niksek"],Added:"2009-07-29"},{Type:"language",Subtag:"gbf",Description:["Gaikundi"],Added:"2009-07-29"},{Type:"language",Subtag:"gbg",Description:["Gbanziri"],Added:"2009-07-29"},{Type:"language",Subtag:"gbh",Description:["Defi Gbe"],Added:"2009-07-29"},{Type:"language",Subtag:"gbi",Description:["Galela"],Added:"2009-07-29"},{Type:"language",Subtag:"gbj",Description:["Bodo Gadaba"],Added:"2009-07-29"},{Type:"language",Subtag:"gbk",Description:["Gaddi"],Added:"2009-07-29"},{Type:"language",Subtag:"gbl",Description:["Gamit"],Added:"2009-07-29"},{Type:"language",Subtag:"gbm",Description:["Garhwali"],Added:"2009-07-29"},{Type:"language",Subtag:"gbn",Description:["Mo'da"],Added:"2009-07-29"},{Type:"language",Subtag:"gbo",Description:["Northern Grebo"],Added:"2009-07-29",Macrolanguage:"grb"},{Type:"language",Subtag:"gbp",Description:["Gbaya-Bossangoa"],Added:"2009-07-29",Macrolanguage:"gba"},{Type:"language",Subtag:"gbq",Description:["Gbaya-Bozoum"],Added:"2009-07-29",Macrolanguage:"gba"},{Type:"language",Subtag:"gbr",Description:["Gbagyi"],Added:"2009-07-29"},{Type:"language",Subtag:"gbs",Description:["Gbesi Gbe"],Added:"2009-07-29"},{Type:"language",Subtag:"gbu",Description:["Gagadu"],Added:"2009-07-29"},{Type:"language",Subtag:"gbv",Description:["Gbanu"],Added:"2009-07-29"},{Type:"language",Subtag:"gbw",Description:["Gabi-Gabi"],Added:"2013-09-10"},{Type:"language",Subtag:"gbx",Description:["Eastern Xwla Gbe"],Added:"2009-07-29"},{Type:"language",Subtag:"gby",Description:["Gbari"],Added:"2009-07-29"},{Type:"language",Subtag:"gbz",Description:["Zoroastrian Dari"],Added:"2009-07-29"},{Type:"language",Subtag:"gcc",Description:["Mali"],Added:"2009-07-29"},{Type:"language",Subtag:"gcd",Description:["Ganggalida"],Added:"2009-07-29"},{Type:"language",Subtag:"gce",Description:["Galice"],Added:"2009-07-29"},{Type:"language",Subtag:"gcf",Description:["Guadeloupean Creole French"],Added:"2009-07-29"},{Type:"language",Subtag:"gcl",Description:["Grenadian Creole English"],Added:"2009-07-29"},{Type:"language",Subtag:"gcn",Description:["Gaina"],Added:"2009-07-29"},{Type:"language",Subtag:"gcr",Description:["Guianese Creole French"],Added:"2009-07-29"},{Type:"language",Subtag:"gct",Description:["Colonia Tovar German"],Added:"2009-07-29"},{Type:"language",Subtag:"gda",Description:["Gade Lohar"],Added:"2009-07-29",Macrolanguage:"raj"},{Type:"language",Subtag:"gdb",Description:["Pottangi Ollar Gadaba"],Added:"2009-07-29"},{Type:"language",Subtag:"gdc",Description:["Gugu Badhun"],Added:"2009-07-29"},{Type:"language",Subtag:"gdd",Description:["Gedaged"],Added:"2009-07-29"},{Type:"language",Subtag:"gde",Description:["Gude"],Added:"2009-07-29"},{Type:"language",Subtag:"gdf",Description:["Guduf-Gava"],Added:"2009-07-29"},{Type:"language",Subtag:"gdg",Description:["Ga'dang"],Added:"2009-07-29"},{Type:"language",Subtag:"gdh",Description:["Gadjerawang","Gajirrabeng"],Added:"2009-07-29"},{Type:"language",Subtag:"gdi",Description:["Gundi"],Added:"2009-07-29"},{Type:"language",Subtag:"gdj",Description:["Gurdjar"],Added:"2009-07-29"},{Type:"language",Subtag:"gdk",Description:["Gadang"],Added:"2009-07-29"},{Type:"language",Subtag:"gdl",Description:["Dirasha"],Added:"2009-07-29"},{Type:"language",Subtag:"gdm",Description:["Laal"],Added:"2009-07-29"},{Type:"language",Subtag:"gdn",Description:["Umanakaina"],Added:"2009-07-29"},{Type:"language",Subtag:"gdo",Description:["Ghodoberi"],Added:"2009-07-29"},{Type:"language",Subtag:"gdq",Description:["Mehri"],Added:"2009-07-29"},{Type:"language",Subtag:"gdr",Description:["Wipi"],Added:"2009-07-29"},{Type:"language",Subtag:"gds",Description:["Ghandruk Sign Language"],Added:"2012-08-12"},{Type:"language",Subtag:"gdt",Description:["Kungardutyi"],Added:"2013-09-10"},{Type:"language",Subtag:"gdu",Description:["Gudu"],Added:"2009-07-29"},{Type:"language",Subtag:"gdx",Description:["Godwari"],Added:"2009-07-29"},{Type:"language",Subtag:"gea",Description:["Geruma"],Added:"2009-07-29"},{Type:"language",Subtag:"geb",Description:["Kire"],Added:"2009-07-29"},{Type:"language",Subtag:"gec",Description:["Gboloo Grebo"],Added:"2009-07-29",Macrolanguage:"grb"},{Type:"language",Subtag:"ged",Description:["Gade"],Added:"2009-07-29"},{Type:"language",Subtag:"gef",Description:["Gerai"],Added:"2020-03-28"},{Type:"language",Subtag:"geg",Description:["Gengle"],Added:"2009-07-29"},{Type:"language",Subtag:"geh",Description:["Hutterite German","Hutterisch"],Added:"2009-07-29"},{Type:"language",Subtag:"gei",Description:["Gebe"],Added:"2009-07-29"},{Type:"language",Subtag:"gej",Description:["Gen"],Added:"2009-07-29"},{Type:"language",Subtag:"gek",Description:["Ywom"],Added:"2009-07-29"},{Type:"language",Subtag:"gel",Description:["ut-Ma'in"],Added:"2009-07-29"},{Type:"language",Subtag:"gem",Description:["Germanic languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"geq",Description:["Geme"],Added:"2009-07-29"},{Type:"language",Subtag:"ges",Description:["Geser-Gorom"],Added:"2009-07-29"},{Type:"language",Subtag:"gev",Description:["Eviya"],Added:"2014-02-28"},{Type:"language",Subtag:"gew",Description:["Gera"],Added:"2009-07-29"},{Type:"language",Subtag:"gex",Description:["Garre"],Added:"2009-07-29"},{Type:"language",Subtag:"gey",Description:["Enya"],Added:"2009-07-29"},{Type:"language",Subtag:"gez",Description:["Geez"],Added:"2005-10-16"},{Type:"language",Subtag:"gfk",Description:["Patpatar"],Added:"2009-07-29"},{Type:"language",Subtag:"gft",Description:["Gafat"],Added:"2009-07-29"},{Type:"language",Subtag:"gfx",Description:["Mangetti Dune ǃXung"],Added:"2012-08-12",Deprecated:"2015-02-12","Preferred-Value":"vaj"},{Type:"language",Subtag:"gga",Description:["Gao"],Added:"2009-07-29"},{Type:"language",Subtag:"ggb",Description:["Gbii"],Added:"2009-07-29"},{Type:"language",Subtag:"ggd",Description:["Gugadj"],Added:"2009-07-29"},{Type:"language",Subtag:"gge",Description:["Gurr-goni"],Added:"2009-07-29"},{Type:"language",Subtag:"ggg",Description:["Gurgula"],Added:"2009-07-29"},{Type:"language",Subtag:"ggk",Description:["Kungarakany"],Added:"2009-07-29"},{Type:"language",Subtag:"ggl",Description:["Ganglau"],Added:"2009-07-29"},{Type:"language",Subtag:"ggn",Description:["Eastern Gurung"],Added:"2009-07-29",Deprecated:"2016-05-30","Preferred-Value":"gvr"},{Type:"language",Subtag:"ggo",Description:["Southern Gondi"],Added:"2009-07-29",Deprecated:"2016-05-30",Comments:["see esg, wsg"]},{Type:"language",Subtag:"ggr",Description:["Aghu Tharnggalu"],Added:"2009-07-29",Deprecated:"2013-09-10",Comments:["see gtu, ikr"]},{Type:"language",Subtag:"ggt",Description:["Gitua"],Added:"2009-07-29"},{Type:"language",Subtag:"ggu",Description:["Gagu","Gban"],Added:"2009-07-29"},{Type:"language",Subtag:"ggw",Description:["Gogodala"],Added:"2009-07-29"},{Type:"language",Subtag:"gha",Description:["Ghadamès"],Added:"2009-07-29"},{Type:"language",Subtag:"ghc",Description:["Hiberno-Scottish Gaelic"],Added:"2009-07-29"},{Type:"language",Subtag:"ghe",Description:["Southern Ghale"],Added:"2009-07-29"},{Type:"language",Subtag:"ghh",Description:["Northern Ghale"],Added:"2009-07-29"},{Type:"language",Subtag:"ghk",Description:["Geko Karen"],Added:"2009-07-29"},{Type:"language",Subtag:"ghl",Description:["Ghulfan"],Added:"2009-07-29"},{Type:"language",Subtag:"ghn",Description:["Ghanongga"],Added:"2009-07-29"},{Type:"language",Subtag:"gho",Description:["Ghomara"],Added:"2009-07-29"},{Type:"language",Subtag:"ghr",Description:["Ghera"],Added:"2009-07-29"},{Type:"language",Subtag:"ghs",Description:["Guhu-Samane"],Added:"2009-07-29"},{Type:"language",Subtag:"ght",Description:["Kuke","Kutang Ghale"],Added:"2009-07-29"},{Type:"language",Subtag:"gia",Description:["Kija"],Added:"2009-07-29"},{Type:"language",Subtag:"gib",Description:["Gibanawa"],Added:"2009-07-29"},{Type:"language",Subtag:"gic",Description:["Gail"],Added:"2009-07-29"},{Type:"language",Subtag:"gid",Description:["Gidar"],Added:"2009-07-29"},{Type:"language",Subtag:"gie",Description:["Gaɓogbo","Guébie"],Added:"2017-02-23"},{Type:"language",Subtag:"gig",Description:["Goaria"],Added:"2009-07-29"},{Type:"language",Subtag:"gih",Description:["Githabul"],Added:"2013-09-10"},{Type:"language",Subtag:"gii",Description:["Girirra"],Added:"2021-02-20"},{Type:"language",Subtag:"gil",Description:["Gilbertese"],Added:"2005-10-16"},{Type:"language",Subtag:"gim",Description:["Gimi (Eastern Highlands)"],Added:"2009-07-29"},{Type:"language",Subtag:"gin",Description:["Hinukh"],Added:"2009-07-29"},{Type:"language",Subtag:"gio",Description:["Gelao"],Added:"2009-07-29",Deprecated:"2012-08-12",Comments:["see aou, gqu"]},{Type:"language",Subtag:"gip",Description:["Gimi (West New Britain)"],Added:"2009-07-29"},{Type:"language",Subtag:"giq",Description:["Green Gelao"],Added:"2009-07-29"},{Type:"language",Subtag:"gir",Description:["Red Gelao"],Added:"2009-07-29"},{Type:"language",Subtag:"gis",Description:["North Giziga"],Added:"2009-07-29"},{Type:"language",Subtag:"git",Description:["Gitxsan"],Added:"2009-07-29"},{Type:"language",Subtag:"giu",Description:["Mulao"],Added:"2012-08-12"},{Type:"language",Subtag:"giw",Description:["White Gelao"],Added:"2009-07-29"},{Type:"language",Subtag:"gix",Description:["Gilima"],Added:"2009-07-29"},{Type:"language",Subtag:"giy",Description:["Giyug"],Added:"2009-07-29"},{Type:"language",Subtag:"giz",Description:["South Giziga"],Added:"2009-07-29"},{Type:"language",Subtag:"gji",Description:["Geji"],Added:"2009-07-29",Deprecated:"2021-02-20",Comments:["see gyz, zbu"]},{Type:"language",Subtag:"gjk",Description:["Kachi Koli"],Added:"2009-07-29"},{Type:"language",Subtag:"gjm",Description:["Gunditjmara"],Added:"2013-09-10"},{Type:"language",Subtag:"gjn",Description:["Gonja"],Added:"2009-07-29"},{Type:"language",Subtag:"gjr",Description:["Gurindji Kriol"],Added:"2016-05-30"},{Type:"language",Subtag:"gju",Description:["Gujari"],Added:"2009-07-29",Macrolanguage:"raj"},{Type:"language",Subtag:"gka",Description:["Guya"],Added:"2009-07-29"},{Type:"language",Subtag:"gkd",Description:["Magɨ (Madang Province)"],Added:"2018-03-08"},{Type:"language",Subtag:"gke",Description:["Ndai"],Added:"2009-07-29"},{Type:"language",Subtag:"gkn",Description:["Gokana"],Added:"2009-07-29"},{Type:"language",Subtag:"gko",Description:["Kok-Nar"],Added:"2012-08-12"},{Type:"language",Subtag:"gkp",Description:["Guinea Kpelle"],Added:"2009-07-29",Macrolanguage:"kpe"},{Type:"language",Subtag:"gku",Description:["ǂUngkue"],Added:"2015-02-12"},{Type:"language",Subtag:"glb",Description:["Belning"],Added:"2021-02-20"},{Type:"language",Subtag:"glc",Description:["Bon Gula"],Added:"2009-07-29"},{Type:"language",Subtag:"gld",Description:["Nanai"],Added:"2009-07-29"},{Type:"language",Subtag:"glh",Description:["Northwest Pashai","Northwest Pashayi"],Added:"2009-07-29"},{Type:"language",Subtag:"gli",Description:["Guliguli"],Added:"2009-07-29",Deprecated:"2020-03-28","Preferred-Value":"kzk"},{Type:"language",Subtag:"glj",Description:["Gula Iro"],Added:"2009-07-29"},{Type:"language",Subtag:"glk",Description:["Gilaki"],Added:"2009-07-29"},{Type:"language",Subtag:"gll",Description:["Garlali"],Added:"2013-09-10"},{Type:"language",Subtag:"glo",Description:["Galambu"],Added:"2009-07-29"},{Type:"language",Subtag:"glr",Description:["Glaro-Twabo"],Added:"2009-07-29"},{Type:"language",Subtag:"glu",Description:["Gula (Chad)"],Added:"2009-07-29"},{Type:"language",Subtag:"glw",Description:["Glavda"],Added:"2009-07-29"},{Type:"language",Subtag:"gly",Description:["Gule"],Added:"2009-07-29"},{Type:"language",Subtag:"gma",Description:["Gambera"],Added:"2009-07-29"},{Type:"language",Subtag:"gmb",Description:["Gula'alaa"],Added:"2009-07-29"},{Type:"language",Subtag:"gmd",Description:["Mághdì"],Added:"2009-07-29"},{Type:"language",Subtag:"gme",Description:["East Germanic languages"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"gmg",Description:["Magɨyi"],Added:"2014-02-28"},{Type:"language",Subtag:"gmh",Description:["Middle High German (ca. 1050-1500)"],Added:"2005-10-16"},{Type:"language",Subtag:"gml",Description:["Middle Low German"],Added:"2009-07-29"},{Type:"language",Subtag:"gmm",Description:["Gbaya-Mbodomo"],Added:"2009-07-29",Macrolanguage:"gba"},{Type:"language",Subtag:"gmn",Description:["Gimnime"],Added:"2009-07-29"},{Type:"language",Subtag:"gmq",Description:["North Germanic languages"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"gmr",Description:["Mirning","Mirniny"],Added:"2020-03-28"},{Type:"language",Subtag:"gmu",Description:["Gumalu"],Added:"2009-07-29"},{Type:"language",Subtag:"gmv",Description:["Gamo"],Added:"2009-07-29"},{Type:"language",Subtag:"gmw",Description:["West Germanic languages"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"gmx",Description:["Magoma"],Added:"2009-07-29"},{Type:"language",Subtag:"gmy",Description:["Mycenaean Greek"],Added:"2009-07-29"},{Type:"language",Subtag:"gmz",Description:["Mgbolizhia"],Added:"2013-09-10"},{Type:"language",Subtag:"gna",Description:["Kaansa"],Added:"2009-07-29"},{Type:"language",Subtag:"gnb",Description:["Gangte"],Added:"2009-07-29"},{Type:"language",Subtag:"gnc",Description:["Guanche"],Added:"2009-07-29"},{Type:"language",Subtag:"gnd",Description:["Zulgo-Gemzek"],Added:"2009-07-29"},{Type:"language",Subtag:"gne",Description:["Ganang"],Added:"2009-07-29"},{Type:"language",Subtag:"gng",Description:["Ngangam"],Added:"2009-07-29"},{Type:"language",Subtag:"gnh",Description:["Lere"],Added:"2009-07-29"},{Type:"language",Subtag:"gni",Description:["Gooniyandi"],Added:"2009-07-29"},{Type:"language",Subtag:"gnj",Description:["Ngen"],Added:"2018-03-08"},{Type:"language",Subtag:"gnk",Description:["ǁGana"],Added:"2009-07-29"},{Type:"language",Subtag:"gnl",Description:["Gangulu"],Added:"2009-07-29"},{Type:"language",Subtag:"gnm",Description:["Ginuman"],Added:"2009-07-29"},{Type:"language",Subtag:"gnn",Description:["Gumatj"],Added:"2009-07-29"},{Type:"language",Subtag:"gno",Description:["Northern Gondi"],Added:"2009-07-29",Macrolanguage:"gon"},{Type:"language",Subtag:"gnq",Description:["Gana"],Added:"2009-07-29"},{Type:"language",Subtag:"gnr",Description:["Gureng Gureng"],Added:"2009-07-29"},{Type:"language",Subtag:"gnt",Description:["Guntai"],Added:"2009-07-29"},{Type:"language",Subtag:"gnu",Description:["Gnau"],Added:"2009-07-29"},{Type:"language",Subtag:"gnw",Description:["Western Bolivian Guaraní"],Added:"2009-07-29",Macrolanguage:"gn"},{Type:"language",Subtag:"gnz",Description:["Ganzi"],Added:"2009-07-29"},{Type:"language",Subtag:"goa",Description:["Guro"],Added:"2009-07-29"},{Type:"language",Subtag:"gob",Description:["Playero"],Added:"2009-07-29"},{Type:"language",Subtag:"goc",Description:["Gorakor"],Added:"2009-07-29"},{Type:"language",Subtag:"god",Description:["Godié"],Added:"2009-07-29"},{Type:"language",Subtag:"goe",Description:["Gongduk"],Added:"2009-07-29"},{Type:"language",Subtag:"gof",Description:["Gofa"],Added:"2009-07-29"},{Type:"language",Subtag:"gog",Description:["Gogo"],Added:"2009-07-29"},{Type:"language",Subtag:"goh",Description:["Old High German (ca. 750-1050)"],Added:"2005-10-16"},{Type:"language",Subtag:"goi",Description:["Gobasi"],Added:"2009-07-29"},{Type:"language",Subtag:"goj",Description:["Gowlan"],Added:"2009-07-29"},{Type:"language",Subtag:"gok",Description:["Gowli"],Added:"2009-07-29"},{Type:"language",Subtag:"gol",Description:["Gola"],Added:"2009-07-29"},{Type:"language",Subtag:"gom",Description:["Goan Konkani"],Added:"2009-07-29",Macrolanguage:"kok"},{Type:"language",Subtag:"gon",Description:["Gondi"],Added:"2005-10-16",Scope:"macrolanguage"},{Type:"language",Subtag:"goo",Description:["Gone Dau"],Added:"2009-07-29"},{Type:"language",Subtag:"gop",Description:["Yeretuar"],Added:"2009-07-29"},{Type:"language",Subtag:"goq",Description:["Gorap"],Added:"2009-07-29"},{Type:"language",Subtag:"gor",Description:["Gorontalo"],Added:"2005-10-16"},{Type:"language",Subtag:"gos",Description:["Gronings"],Added:"2009-07-29"},{Type:"language",Subtag:"got",Description:["Gothic"],Added:"2005-10-16"},{Type:"language",Subtag:"gou",Description:["Gavar"],Added:"2009-07-29"},{Type:"language",Subtag:"gov",Description:["Goo"],Added:"2022-02-25"},{Type:"language",Subtag:"gow",Description:["Gorowa"],Added:"2009-07-29"},{Type:"language",Subtag:"gox",Description:["Gobu"],Added:"2009-07-29"},{Type:"language",Subtag:"goy",Description:["Goundo"],Added:"2009-07-29"},{Type:"language",Subtag:"goz",Description:["Gozarkhani"],Added:"2009-07-29"},{Type:"language",Subtag:"gpa",Description:["Gupa-Abawa"],Added:"2009-07-29"},{Type:"language",Subtag:"gpe",Description:["Ghanaian Pidgin English"],Added:"2012-08-12"},{Type:"language",Subtag:"gpn",Description:["Taiap"],Added:"2009-07-29"},{Type:"language",Subtag:"gqa",Description:["Ga'anda"],Added:"2009-07-29"},{Type:"language",Subtag:"gqi",Description:["Guiqiong"],Added:"2009-07-29"},{Type:"language",Subtag:"gqn",Description:["Guana (Brazil)"],Added:"2009-07-29"},{Type:"language",Subtag:"gqr",Description:["Gor"],Added:"2009-07-29"},{Type:"language",Subtag:"gqu",Description:["Qau"],Added:"2012-08-12"},{Type:"language",Subtag:"gra",Description:["Rajput Garasia"],Added:"2009-07-29"},{Type:"language",Subtag:"grb",Description:["Grebo"],Added:"2005-10-16",Scope:"macrolanguage"},{Type:"language",Subtag:"grc",Description:["Ancient Greek (to 1453)"],Added:"2005-10-16"},{Type:"language",Subtag:"grd",Description:["Guruntum-Mbaaru"],Added:"2009-07-29"},{Type:"language",Subtag:"grg",Description:["Madi"],Added:"2009-07-29"},{Type:"language",Subtag:"grh",Description:["Gbiri-Niragu"],Added:"2009-07-29"},{Type:"language",Subtag:"gri",Description:["Ghari"],Added:"2009-07-29"},{Type:"language",Subtag:"grj",Description:["Southern Grebo"],Added:"2009-07-29",Macrolanguage:"grb"},{Type:"language",Subtag:"grk",Description:["Greek languages"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"grm",Description:["Kota Marudu Talantang"],Added:"2009-07-29"},{Type:"language",Subtag:"gro",Description:["Groma"],Added:"2009-07-29"},{Type:"language",Subtag:"grq",Description:["Gorovu"],Added:"2009-07-29"},{Type:"language",Subtag:"grr",Description:["Taznatit"],Added:"2009-07-29"},{Type:"language",Subtag:"grs",Description:["Gresi"],Added:"2009-07-29"},{Type:"language",Subtag:"grt",Description:["Garo"],Added:"2009-07-29"},{Type:"language",Subtag:"gru",Description:["Kistane"],Added:"2009-07-29"},{Type:"language",Subtag:"grv",Description:["Central Grebo"],Added:"2009-07-29",Macrolanguage:"grb"},{Type:"language",Subtag:"grw",Description:["Gweda"],Added:"2009-07-29"},{Type:"language",Subtag:"grx",Description:["Guriaso"],Added:"2009-07-29"},{Type:"language",Subtag:"gry",Description:["Barclayville Grebo"],Added:"2009-07-29",Macrolanguage:"grb"},{Type:"language",Subtag:"grz",Description:["Guramalum"],Added:"2009-07-29"},{Type:"language",Subtag:"gse",Description:["Ghanaian Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"gsg",Description:["German Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"gsl",Description:["Gusilay"],Added:"2009-07-29"},{Type:"language",Subtag:"gsm",Description:["Guatemalan Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"gsn",Description:["Nema","Gusan"],Added:"2009-07-29"},{Type:"language",Subtag:"gso",Description:["Southwest Gbaya"],Added:"2009-07-29",Macrolanguage:"gba"},{Type:"language",Subtag:"gsp",Description:["Wasembo"],Added:"2009-07-29"},{Type:"language",Subtag:"gss",Description:["Greek Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"gsw",Description:["Swiss German","Alemannic","Alsatian"],Added:"2006-03-08","Suppress-Script":"Latn"},{Type:"language",Subtag:"gta",Description:["Guató"],Added:"2009-07-29"},{Type:"language",Subtag:"gti",Description:["Gbati-ri"],Added:"2009-07-29",Deprecated:"2015-02-12","Preferred-Value":"nyc"},{Type:"language",Subtag:"gtu",Description:["Aghu-Tharnggala"],Added:"2013-09-10"},{Type:"language",Subtag:"gua",Description:["Shiki"],Added:"2009-07-29"},{Type:"language",Subtag:"gub",Description:["Guajajára"],Added:"2009-07-29"},{Type:"language",Subtag:"guc",Description:["Wayuu"],Added:"2009-07-29"},{Type:"language",Subtag:"gud",Description:["Yocoboué Dida"],Added:"2009-07-29"},{Type:"language",Subtag:"gue",Description:["Gurindji"],Added:"2009-07-29"},{Type:"language",Subtag:"guf",Description:["Gupapuyngu"],Added:"2009-07-29"},{Type:"language",Subtag:"gug",Description:["Paraguayan Guaraní"],Added:"2009-07-29",Macrolanguage:"gn"},{Type:"language",Subtag:"guh",Description:["Guahibo"],Added:"2009-07-29"},{Type:"language",Subtag:"gui",Description:["Eastern Bolivian Guaraní"],Added:"2009-07-29",Macrolanguage:"gn"},{Type:"language",Subtag:"guk",Description:["Gumuz"],Added:"2009-07-29"},{Type:"language",Subtag:"gul",Description:["Sea Island Creole English"],Added:"2009-07-29"},{Type:"language",Subtag:"gum",Description:["Guambiano"],Added:"2009-07-29"},{Type:"language",Subtag:"gun",Description:["Mbyá Guaraní"],Added:"2009-07-29",Macrolanguage:"gn"},{Type:"language",Subtag:"guo",Description:["Guayabero"],Added:"2009-07-29"},{Type:"language",Subtag:"gup",Description:["Gunwinggu"],Added:"2009-07-29"},{Type:"language",Subtag:"guq",Description:["Aché"],Added:"2009-07-29"},{Type:"language",Subtag:"gur",Description:["Farefare"],Added:"2009-07-29"},{Type:"language",Subtag:"gus",Description:["Guinean Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"gut",Description:["Maléku Jaíka"],Added:"2009-07-29"},{Type:"language",Subtag:"guu",Description:["Yanomamö"],Added:"2009-07-29"},{Type:"language",Subtag:"guv",Description:["Gey"],Added:"2009-07-29",Deprecated:"2016-05-30","Preferred-Value":"duz"},{Type:"language",Subtag:"guw",Description:["Gun"],Added:"2009-07-29"},{Type:"language",Subtag:"gux",Description:["Gourmanchéma"],Added:"2009-07-29"},{Type:"language",Subtag:"guz",Description:["Gusii","Ekegusii"],Added:"2009-07-29"},{Type:"language",Subtag:"gva",Description:["Guana (Paraguay)"],Added:"2009-07-29"},{Type:"language",Subtag:"gvc",Description:["Guanano"],Added:"2009-07-29"},{Type:"language",Subtag:"gve",Description:["Duwet"],Added:"2009-07-29"},{Type:"language",Subtag:"gvf",Description:["Golin"],Added:"2009-07-29"},{Type:"language",Subtag:"gvj",Description:["Guajá"],Added:"2009-07-29"},{Type:"language",Subtag:"gvl",Description:["Gulay"],Added:"2009-07-29"},{Type:"language",Subtag:"gvm",Description:["Gurmana"],Added:"2009-07-29"},{Type:"language",Subtag:"gvn",Description:["Kuku-Yalanji"],Added:"2009-07-29"},{Type:"language",Subtag:"gvo",Description:["Gavião Do Jiparaná"],Added:"2009-07-29"},{Type:"language",Subtag:"gvp",Description:["Pará Gavião"],Added:"2009-07-29"},{Type:"language",Subtag:"gvr",Description:["Gurung"],Added:"2009-07-29"},{Type:"language",Subtag:"gvs",Description:["Gumawana"],Added:"2009-07-29"},{Type:"language",Subtag:"gvy",Description:["Guyani"],Added:"2009-07-29"},{Type:"language",Subtag:"gwa",Description:["Mbato"],Added:"2009-07-29"},{Type:"language",Subtag:"gwb",Description:["Gwa"],Added:"2009-07-29"},{Type:"language",Subtag:"gwc",Description:["Gawri","Kalami"],Added:"2009-07-29"},{Type:"language",Subtag:"gwd",Description:["Gawwada"],Added:"2009-07-29"},{Type:"language",Subtag:"gwe",Description:["Gweno"],Added:"2009-07-29"},{Type:"language",Subtag:"gwf",Description:["Gowro"],Added:"2009-07-29"},{Type:"language",Subtag:"gwg",Description:["Moo"],Added:"2009-07-29"},{Type:"language",Subtag:"gwi",Description:["Gwichʼin"],Added:"2005-10-16"},{Type:"language",Subtag:"gwj",Description:["ǀGwi"],Added:"2009-07-29"},{Type:"language",Subtag:"gwm",Description:["Awngthim"],Added:"2012-08-12"},{Type:"language",Subtag:"gwn",Description:["Gwandara"],Added:"2009-07-29"},{Type:"language",Subtag:"gwr",Description:["Gwere"],Added:"2009-07-29"},{Type:"language",Subtag:"gwt",Description:["Gawar-Bati"],Added:"2009-07-29"},{Type:"language",Subtag:"gwu",Description:["Guwamu"],Added:"2009-07-29"},{Type:"language",Subtag:"gww",Description:["Kwini"],Added:"2009-07-29"},{Type:"language",Subtag:"gwx",Description:["Gua"],Added:"2009-07-29"},{Type:"language",Subtag:"gxx",Description:["Wè Southern"],Added:"2009-07-29"},{Type:"language",Subtag:"gya",Description:["Northwest Gbaya"],Added:"2009-07-29",Macrolanguage:"gba"},{Type:"language",Subtag:"gyb",Description:["Garus"],Added:"2009-07-29"},{Type:"language",Subtag:"gyd",Description:["Kayardild"],Added:"2009-07-29"},{Type:"language",Subtag:"gye",Description:["Gyem"],Added:"2009-07-29"},{Type:"language",Subtag:"gyf",Description:["Gungabula"],Added:"2009-07-29"},{Type:"language",Subtag:"gyg",Description:["Gbayi"],Added:"2009-07-29"},{Type:"language",Subtag:"gyi",Description:["Gyele"],Added:"2009-07-29"},{Type:"language",Subtag:"gyl",Description:["Gayil"],Added:"2009-07-29"},{Type:"language",Subtag:"gym",Description:["Ngäbere"],Added:"2009-07-29"},{Type:"language",Subtag:"gyn",Description:["Guyanese Creole English"],Added:"2009-07-29"},{Type:"language",Subtag:"gyo",Description:["Gyalsumdo"],Added:"2018-03-08"},{Type:"language",Subtag:"gyr",Description:["Guarayu"],Added:"2009-07-29"},{Type:"language",Subtag:"gyy",Description:["Gunya"],Added:"2009-07-29"},{Type:"language",Subtag:"gyz",Description:["Geji","Gyaazi"],Added:"2021-02-20"},{Type:"language",Subtag:"gza",Description:["Ganza"],Added:"2009-07-29"},{Type:"language",Subtag:"gzi",Description:["Gazi"],Added:"2009-07-29"},{Type:"language",Subtag:"gzn",Description:["Gane"],Added:"2009-07-29"},{Type:"language",Subtag:"haa",Description:["Han"],Added:"2009-07-29"},{Type:"language",Subtag:"hab",Description:["Hanoi Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"hac",Description:["Gurani"],Added:"2009-07-29"},{Type:"language",Subtag:"had",Description:["Hatam"],Added:"2009-07-29"},{Type:"language",Subtag:"hae",Description:["Eastern Oromo"],Added:"2009-07-29",Macrolanguage:"om"},{Type:"language",Subtag:"haf",Description:["Haiphong Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"hag",Description:["Hanga"],Added:"2009-07-29"},{Type:"language",Subtag:"hah",Description:["Hahon"],Added:"2009-07-29"},{Type:"language",Subtag:"hai",Description:["Haida"],Added:"2005-10-16",Scope:"macrolanguage"},{Type:"language",Subtag:"haj",Description:["Hajong"],Added:"2009-07-29"},{Type:"language",Subtag:"hak",Description:["Hakka Chinese"],Added:"2009-07-29",Macrolanguage:"zh"},{Type:"language",Subtag:"hal",Description:["Halang"],Added:"2009-07-29"},{Type:"language",Subtag:"ham",Description:["Hewa"],Added:"2009-07-29"},{Type:"language",Subtag:"han",Description:["Hangaza"],Added:"2009-07-29"},{Type:"language",Subtag:"hao",Description:["Hakö"],Added:"2009-07-29"},{Type:"language",Subtag:"hap",Description:["Hupla"],Added:"2009-07-29"},{Type:"language",Subtag:"haq",Description:["Ha"],Added:"2009-07-29"},{Type:"language",Subtag:"har",Description:["Harari"],Added:"2009-07-29"},{Type:"language",Subtag:"has",Description:["Haisla"],Added:"2009-07-29"},{Type:"language",Subtag:"hav",Description:["Havu"],Added:"2009-07-29"},{Type:"language",Subtag:"haw",Description:["Hawaiian"],Added:"2005-10-16"},{Type:"language",Subtag:"hax",Description:["Southern Haida"],Added:"2009-07-29",Macrolanguage:"hai"},{Type:"language",Subtag:"hay",Description:["Haya"],Added:"2009-07-29"},{Type:"language",Subtag:"haz",Description:["Hazaragi"],Added:"2009-07-29"},{Type:"language",Subtag:"hba",Description:["Hamba"],Added:"2009-07-29"},{Type:"language",Subtag:"hbb",Description:["Huba"],Added:"2009-07-29"},{Type:"language",Subtag:"hbn",Description:["Heiban"],Added:"2009-07-29"},{Type:"language",Subtag:"hbo",Description:["Ancient Hebrew"],Added:"2009-07-29"},{Type:"language",Subtag:"hbu",Description:["Habu"],Added:"2009-07-29"},{Type:"language",Subtag:"hca",Description:["Andaman Creole Hindi"],Added:"2009-07-29"},{Type:"language",Subtag:"hch",Description:["Huichol"],Added:"2009-07-29"},{Type:"language",Subtag:"hdn",Description:["Northern Haida"],Added:"2009-07-29",Macrolanguage:"hai"},{Type:"language",Subtag:"hds",Description:["Honduras Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"hdy",Description:["Hadiyya"],Added:"2009-07-29"},{Type:"language",Subtag:"hea",Description:["Northern Qiandong Miao"],Added:"2009-07-29",Macrolanguage:"hmn"},{Type:"language",Subtag:"hed",Description:["Herdé"],Added:"2009-07-29"},{Type:"language",Subtag:"heg",Description:["Helong"],Added:"2009-07-29"},{Type:"language",Subtag:"heh",Description:["Hehe"],Added:"2009-07-29"},{Type:"language",Subtag:"hei",Description:["Heiltsuk"],Added:"2009-07-29"},{Type:"language",Subtag:"hem",Description:["Hemba"],Added:"2009-07-29"},{Type:"language",Subtag:"hgm",Description:["Haiǁom"],Added:"2009-07-29"},{Type:"language",Subtag:"hgw",Description:["Haigwai"],Added:"2009-07-29"},{Type:"language",Subtag:"hhi",Description:["Hoia Hoia"],Added:"2009-07-29"},{Type:"language",Subtag:"hhr",Description:["Kerak"],Added:"2009-07-29"},{Type:"language",Subtag:"hhy",Description:["Hoyahoya"],Added:"2009-07-29"},{Type:"language",Subtag:"hia",Description:["Lamang"],Added:"2009-07-29"},{Type:"language",Subtag:"hib",Description:["Hibito"],Added:"2009-07-29"},{Type:"language",Subtag:"hid",Description:["Hidatsa"],Added:"2009-07-29"},{Type:"language",Subtag:"hif",Description:["Fiji Hindi"],Added:"2009-07-29"},{Type:"language",Subtag:"hig",Description:["Kamwe"],Added:"2009-07-29"},{Type:"language",Subtag:"hih",Description:["Pamosu"],Added:"2009-07-29"},{Type:"language",Subtag:"hii",Description:["Hinduri"],Added:"2009-07-29"},{Type:"language",Subtag:"hij",Description:["Hijuk"],Added:"2009-07-29"},{Type:"language",Subtag:"hik",Description:["Seit-Kaitetu"],Added:"2009-07-29"},{Type:"language",Subtag:"hil",Description:["Hiligaynon"],Added:"2005-10-16"},{Type:"language",Subtag:"him",Description:["Himachali languages","Western Pahari languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"hio",Description:["Tsoa"],Added:"2009-07-29"},{Type:"language",Subtag:"hir",Description:["Himarimã"],Added:"2009-07-29"},{Type:"language",Subtag:"hit",Description:["Hittite"],Added:"2005-10-16"},{Type:"language",Subtag:"hiw",Description:["Hiw"],Added:"2009-07-29"},{Type:"language",Subtag:"hix",Description:["Hixkaryána"],Added:"2009-07-29"},{Type:"language",Subtag:"hji",Description:["Haji"],Added:"2009-07-29",Macrolanguage:"ms"},{Type:"language",Subtag:"hka",Description:["Kahe"],Added:"2009-07-29"},{Type:"language",Subtag:"hke",Description:["Hunde"],Added:"2009-07-29"},{Type:"language",Subtag:"hkh",Description:["Khah","Poguli"],Added:"2021-02-20"},{Type:"language",Subtag:"hkk",Description:["Hunjara-Kaina Ke"],Added:"2009-07-29"},{Type:"language",Subtag:"hkn",Description:["Mel-Khaonh"],Added:"2018-03-08"},{Type:"language",Subtag:"hks",Description:["Hong Kong Sign Language","Heung Kong Sau Yue"],Added:"2009-07-29"},{Type:"language",Subtag:"hla",Description:["Halia"],Added:"2009-07-29"},{Type:"language",Subtag:"hlb",Description:["Halbi"],Added:"2009-07-29"},{Type:"language",Subtag:"hld",Description:["Halang Doan"],Added:"2009-07-29"},{Type:"language",Subtag:"hle",Description:["Hlersu"],Added:"2009-07-29"},{Type:"language",Subtag:"hlt",Description:["Matu Chin"],Added:"2009-07-29"},{Type:"language",Subtag:"hlu",Description:["Hieroglyphic Luwian"],Added:"2009-07-29"},{Type:"language",Subtag:"hma",Description:["Southern Mashan Hmong","Southern Mashan Miao"],Added:"2009-07-29",Macrolanguage:"hmn"},{Type:"language",Subtag:"hmb",Description:["Humburi Senni Songhay"],Added:"2009-07-29"},{Type:"language",Subtag:"hmc",Description:["Central Huishui Hmong","Central Huishui Miao"],Added:"2009-07-29",Macrolanguage:"hmn"},{Type:"language",Subtag:"hmd",Description:["Large Flowery Miao","A-hmaos","Da-Hua Miao"],Added:"2009-07-29",Macrolanguage:"hmn"},{Type:"language",Subtag:"hme",Description:["Eastern Huishui Hmong","Eastern Huishui Miao"],Added:"2009-07-29",Macrolanguage:"hmn"},{Type:"language",Subtag:"hmf",Description:["Hmong Don"],Added:"2009-07-29"},{Type:"language",Subtag:"hmg",Description:["Southwestern Guiyang Hmong"],Added:"2009-07-29",Macrolanguage:"hmn"},{Type:"language",Subtag:"hmh",Description:["Southwestern Huishui Hmong","Southwestern Huishui Miao"],Added:"2009-07-29",Macrolanguage:"hmn"},{Type:"language",Subtag:"hmi",Description:["Northern Huishui Hmong","Northern Huishui Miao"],Added:"2009-07-29",Macrolanguage:"hmn"},{Type:"language",Subtag:"hmj",Description:["Ge","Gejia"],Added:"2009-07-29",Macrolanguage:"hmn"},{Type:"language",Subtag:"hmk",Description:["Maek"],Added:"2009-07-29"},{Type:"language",Subtag:"hml",Description:["Luopohe Hmong","Luopohe Miao"],Added:"2009-07-29",Macrolanguage:"hmn"},{Type:"language",Subtag:"hmm",Description:["Central Mashan Hmong","Central Mashan Miao"],Added:"2009-07-29",Macrolanguage:"hmn"},{Type:"language",Subtag:"hmn",Description:["Hmong","Mong"],Added:"2005-10-16",Scope:"macrolanguage"},{Type:"language",Subtag:"hmp",Description:["Northern Mashan Hmong","Northern Mashan Miao"],Added:"2009-07-29",Macrolanguage:"hmn"},{Type:"language",Subtag:"hmq",Description:["Eastern Qiandong Miao"],Added:"2009-07-29",Macrolanguage:"hmn"},{Type:"language",Subtag:"hmr",Description:["Hmar"],Added:"2009-07-29"},{Type:"language",Subtag:"hms",Description:["Southern Qiandong Miao"],Added:"2009-07-29",Macrolanguage:"hmn"},{Type:"language",Subtag:"hmt",Description:["Hamtai"],Added:"2009-07-29"},{Type:"language",Subtag:"hmu",Description:["Hamap"],Added:"2009-07-29"},{Type:"language",Subtag:"hmv",Description:["Hmong Dô"],Added:"2009-07-29"},{Type:"language",Subtag:"hmw",Description:["Western Mashan Hmong","Western Mashan Miao"],Added:"2009-07-29",Macrolanguage:"hmn"},{Type:"language",Subtag:"hmx",Description:["Hmong-Mien languages"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"hmy",Description:["Southern Guiyang Hmong","Southern Guiyang Miao"],Added:"2009-07-29",Macrolanguage:"hmn"},{Type:"language",Subtag:"hmz",Description:["Hmong Shua","Sinicized Miao"],Added:"2009-07-29",Macrolanguage:"hmn"},{Type:"language",Subtag:"hna",Description:["Mina (Cameroon)"],Added:"2009-07-29"},{Type:"language",Subtag:"hnd",Description:["Southern Hindko"],Added:"2009-07-29",Macrolanguage:"lah"},{Type:"language",Subtag:"hne",Description:["Chhattisgarhi"],Added:"2009-07-29"},{Type:"language",Subtag:"hng",Description:["Hungu"],Added:"2020-03-28"},{Type:"language",Subtag:"hnh",Description:["ǁAni"],Added:"2009-07-29"},{Type:"language",Subtag:"hni",Description:["Hani"],Added:"2009-07-29"},{Type:"language",Subtag:"hnj",Description:["Hmong Njua","Mong Leng","Mong Njua"],Added:"2009-07-29",Macrolanguage:"hmn"},{Type:"language",Subtag:"hnn",Description:["Hanunoo"],Added:"2009-07-29"},{Type:"language",Subtag:"hno",Description:["Northern Hindko"],Added:"2009-07-29",Macrolanguage:"lah"},{Type:"language",Subtag:"hns",Description:["Caribbean Hindustani"],Added:"2009-07-29"},{Type:"language",Subtag:"hnu",Description:["Hung"],Added:"2009-07-29"},{Type:"language",Subtag:"hoa",Description:["Hoava"],Added:"2009-07-29"},{Type:"language",Subtag:"hob",Description:["Mari (Madang Province)"],Added:"2009-07-29"},{Type:"language",Subtag:"hoc",Description:["Ho"],Added:"2009-07-29"},{Type:"language",Subtag:"hod",Description:["Holma"],Added:"2009-07-29"},{Type:"language",Subtag:"hoe",Description:["Horom"],Added:"2009-07-29"},{Type:"language",Subtag:"hoh",Description:["Hobyót"],Added:"2009-07-29"},{Type:"language",Subtag:"hoi",Description:["Holikachuk"],Added:"2009-07-29"},{Type:"language",Subtag:"hoj",Description:["Hadothi","Haroti"],Added:"2009-07-29",Macrolanguage:"raj"},{Type:"language",Subtag:"hok",Description:["Hokan languages"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"hol",Description:["Holu"],Added:"2009-07-29"},{Type:"language",Subtag:"hom",Description:["Homa"],Added:"2009-07-29"},{Type:"language",Subtag:"hoo",Description:["Holoholo"],Added:"2009-07-29"},{Type:"language",Subtag:"hop",Description:["Hopi"],Added:"2009-07-29"},{Type:"language",Subtag:"hor",Description:["Horo"],Added:"2009-07-29"},{Type:"language",Subtag:"hos",Description:["Ho Chi Minh City Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"hot",Description:["Hote","Malê"],Added:"2009-07-29"},{Type:"language",Subtag:"hov",Description:["Hovongan"],Added:"2009-07-29"},{Type:"language",Subtag:"how",Description:["Honi"],Added:"2009-07-29"},{Type:"language",Subtag:"hoy",Description:["Holiya"],Added:"2009-07-29"},{Type:"language",Subtag:"hoz",Description:["Hozo"],Added:"2009-07-29"},{Type:"language",Subtag:"hpo",Description:["Hpon"],Added:"2009-07-29"},{Type:"language",Subtag:"hps",Description:["Hawai'i Sign Language (HSL)","Hawai'i Pidgin Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"hra",Description:["Hrangkhol"],Added:"2009-07-29"},{Type:"language",Subtag:"hrc",Description:["Niwer Mil"],Added:"2013-09-10"},{Type:"language",Subtag:"hre",Description:["Hre"],Added:"2009-07-29"},{Type:"language",Subtag:"hrk",Description:["Haruku"],Added:"2009-07-29"},{Type:"language",Subtag:"hrm",Description:["Horned Miao"],Added:"2009-07-29",Macrolanguage:"hmn"},{Type:"language",Subtag:"hro",Description:["Haroi"],Added:"2009-07-29"},{Type:"language",Subtag:"hrp",Description:["Nhirrpi"],Added:"2013-09-10"},{Type:"language",Subtag:"hrr",Description:["Horuru"],Added:"2009-07-29",Deprecated:"2012-08-12","Preferred-Value":"jal"},{Type:"language",Subtag:"hrt",Description:["Hértevin"],Added:"2009-07-29"},{Type:"language",Subtag:"hru",Description:["Hruso"],Added:"2009-07-29"},{Type:"language",Subtag:"hrw",Description:["Warwar Feni"],Added:"2013-09-10"},{Type:"language",Subtag:"hrx",Description:["Hunsrik"],Added:"2009-07-29"},{Type:"language",Subtag:"hrz",Description:["Harzani"],Added:"2009-07-29"},{Type:"language",Subtag:"hsb",Description:["Upper Sorbian"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"hsh",Description:["Hungarian Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"hsl",Description:["Hausa Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"hsn",Description:["Xiang Chinese"],Added:"2009-07-29",Macrolanguage:"zh"},{Type:"language",Subtag:"hss",Description:["Harsusi"],Added:"2009-07-29"},{Type:"language",Subtag:"hti",Description:["Hoti"],Added:"2009-07-29"},{Type:"language",Subtag:"hto",Description:["Minica Huitoto"],Added:"2009-07-29"},{Type:"language",Subtag:"hts",Description:["Hadza"],Added:"2009-07-29"},{Type:"language",Subtag:"htu",Description:["Hitu"],Added:"2009-07-29"},{Type:"language",Subtag:"htx",Description:["Middle Hittite"],Added:"2009-07-29"},{Type:"language",Subtag:"hub",Description:["Huambisa"],Added:"2009-07-29"},{Type:"language",Subtag:"huc",Description:["ǂHua","ǂʼAmkhoe"],Added:"2009-07-29"},{Type:"language",Subtag:"hud",Description:["Huaulu"],Added:"2009-07-29"},{Type:"language",Subtag:"hue",Description:["San Francisco Del Mar Huave"],Added:"2009-07-29"},{Type:"language",Subtag:"huf",Description:["Humene"],Added:"2009-07-29"},{Type:"language",Subtag:"hug",Description:["Huachipaeri"],Added:"2009-07-29"},{Type:"language",Subtag:"huh",Description:["Huilliche"],Added:"2009-07-29"},{Type:"language",Subtag:"hui",Description:["Huli"],Added:"2009-07-29"},{Type:"language",Subtag:"huj",Description:["Northern Guiyang Hmong","Northern Guiyang Miao"],Added:"2009-07-29",Macrolanguage:"hmn"},{Type:"language",Subtag:"huk",Description:["Hulung"],Added:"2009-07-29"},{Type:"language",Subtag:"hul",Description:["Hula"],Added:"2009-07-29"},{Type:"language",Subtag:"hum",Description:["Hungana"],Added:"2009-07-29"},{Type:"language",Subtag:"huo",Description:["Hu"],Added:"2009-07-29"},{Type:"language",Subtag:"hup",Description:["Hupa"],Added:"2005-10-16"},{Type:"language",Subtag:"huq",Description:["Tsat"],Added:"2009-07-29"},{Type:"language",Subtag:"hur",Description:["Halkomelem"],Added:"2009-07-29"},{Type:"language",Subtag:"hus",Description:["Huastec"],Added:"2009-07-29"},{Type:"language",Subtag:"hut",Description:["Humla"],Added:"2009-07-29"},{Type:"language",Subtag:"huu",Description:["Murui Huitoto"],Added:"2009-07-29"},{Type:"language",Subtag:"huv",Description:["San Mateo Del Mar Huave"],Added:"2009-07-29"},{Type:"language",Subtag:"huw",Description:["Hukumina"],Added:"2009-07-29"},{Type:"language",Subtag:"hux",Description:["Nüpode Huitoto"],Added:"2009-07-29"},{Type:"language",Subtag:"huy",Description:["Hulaulá"],Added:"2009-07-29"},{Type:"language",Subtag:"huz",Description:["Hunzib"],Added:"2009-07-29"},{Type:"language",Subtag:"hvc",Description:["Haitian Vodoun Culture Language"],Added:"2009-07-29"},{Type:"language",Subtag:"hve",Description:["San Dionisio Del Mar Huave"],Added:"2009-07-29"},{Type:"language",Subtag:"hvk",Description:["Haveke"],Added:"2009-07-29"},{Type:"language",Subtag:"hvn",Description:["Sabu"],Added:"2009-07-29"},{Type:"language",Subtag:"hvv",Description:["Santa María Del Mar Huave"],Added:"2009-07-29"},{Type:"language",Subtag:"hwa",Description:["Wané"],Added:"2009-07-29"},{Type:"language",Subtag:"hwc",Description:["Hawai'i Creole English","Hawai'i Pidgin"],Added:"2009-07-29"},{Type:"language",Subtag:"hwo",Description:["Hwana"],Added:"2009-07-29"},{Type:"language",Subtag:"hya",Description:["Hya"],Added:"2009-07-29"},{Type:"language",Subtag:"hyw",Description:["Western Armenian"],Added:"2018-03-08",Comments:["see also hy"]},{Type:"language",Subtag:"hyx",Description:["Armenian (family)"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"iai",Description:["Iaai"],Added:"2009-07-29"},{Type:"language",Subtag:"ian",Description:["Iatmul"],Added:"2009-07-29"},{Type:"language",Subtag:"iap",Description:["Iapama"],Added:"2009-07-29",Deprecated:"2016-05-30"},{Type:"language",Subtag:"iar",Description:["Purari"],Added:"2009-07-29"},{Type:"language",Subtag:"iba",Description:["Iban"],Added:"2005-10-16"},{Type:"language",Subtag:"ibb",Description:["Ibibio"],Added:"2009-07-29"},{Type:"language",Subtag:"ibd",Description:["Iwaidja"],Added:"2009-07-29"},{Type:"language",Subtag:"ibe",Description:["Akpes"],Added:"2009-07-29"},{Type:"language",Subtag:"ibg",Description:["Ibanag"],Added:"2009-07-29"},{Type:"language",Subtag:"ibh",Description:["Bih"],Added:"2017-02-23"},{Type:"language",Subtag:"ibi",Description:["Ibilo"],Added:"2009-07-29",Deprecated:"2012-08-12","Preferred-Value":"opa"},{Type:"language",Subtag:"ibl",Description:["Ibaloi"],Added:"2009-07-29"},{Type:"language",Subtag:"ibm",Description:["Agoi"],Added:"2009-07-29"},{Type:"language",Subtag:"ibn",Description:["Ibino"],Added:"2009-07-29"},{Type:"language",Subtag:"ibr",Description:["Ibuoro"],Added:"2009-07-29"},{Type:"language",Subtag:"ibu",Description:["Ibu"],Added:"2009-07-29"},{Type:"language",Subtag:"iby",Description:["Ibani"],Added:"2009-07-29"},{Type:"language",Subtag:"ica",Description:["Ede Ica"],Added:"2009-07-29"},{Type:"language",Subtag:"ich",Description:["Etkywan"],Added:"2009-07-29"},{Type:"language",Subtag:"icl",Description:["Icelandic Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"icr",Description:["Islander Creole English"],Added:"2009-07-29"},{Type:"language",Subtag:"ida",Description:["Idakho-Isukha-Tiriki","Luidakho-Luisukha-Lutirichi"],Added:"2009-07-29",Macrolanguage:"luy"},{Type:"language",Subtag:"idb",Description:["Indo-Portuguese"],Added:"2009-07-29"},{Type:"language",Subtag:"idc",Description:["Idon","Ajiya"],Added:"2009-07-29"},{Type:"language",Subtag:"idd",Description:["Ede Idaca"],Added:"2009-07-29"},{Type:"language",Subtag:"ide",Description:["Idere"],Added:"2009-07-29"},{Type:"language",Subtag:"idi",Description:["Idi"],Added:"2009-07-29"},{Type:"language",Subtag:"idr",Description:["Indri"],Added:"2009-07-29"},{Type:"language",Subtag:"ids",Description:["Idesa"],Added:"2009-07-29"},{Type:"language",Subtag:"idt",Description:["Idaté"],Added:"2009-07-29"},{Type:"language",Subtag:"idu",Description:["Idoma"],Added:"2009-07-29"},{Type:"language",Subtag:"ifa",Description:["Amganad Ifugao"],Added:"2009-07-29"},{Type:"language",Subtag:"ifb",Description:["Batad Ifugao","Ayangan Ifugao"],Added:"2009-07-29"},{Type:"language",Subtag:"ife",Description:["Ifè"],Added:"2009-07-29"},{Type:"language",Subtag:"iff",Description:["Ifo"],Added:"2009-07-29"},{Type:"language",Subtag:"ifk",Description:["Tuwali Ifugao"],Added:"2009-07-29"},{Type:"language",Subtag:"ifm",Description:["Teke-Fuumu"],Added:"2009-07-29"},{Type:"language",Subtag:"ifu",Description:["Mayoyao Ifugao"],Added:"2009-07-29"},{Type:"language",Subtag:"ify",Description:["Keley-I Kallahan"],Added:"2009-07-29"},{Type:"language",Subtag:"igb",Description:["Ebira"],Added:"2009-07-29"},{Type:"language",Subtag:"ige",Description:["Igede"],Added:"2009-07-29"},{Type:"language",Subtag:"igg",Description:["Igana"],Added:"2009-07-29"},{Type:"language",Subtag:"igl",Description:["Igala"],Added:"2009-07-29"},{Type:"language",Subtag:"igm",Description:["Kanggape"],Added:"2009-07-29"},{Type:"language",Subtag:"ign",Description:["Ignaciano"],Added:"2009-07-29"},{Type:"language",Subtag:"igo",Description:["Isebe"],Added:"2009-07-29"},{Type:"language",Subtag:"igs",Description:["Interglossa"],Added:"2009-07-29"},{Type:"language",Subtag:"igw",Description:["Igwe"],Added:"2009-07-29"},{Type:"language",Subtag:"ihb",Description:["Iha Based Pidgin"],Added:"2009-07-29"},{Type:"language",Subtag:"ihi",Description:["Ihievbe"],Added:"2009-07-29"},{Type:"language",Subtag:"ihp",Description:["Iha"],Added:"2009-07-29"},{Type:"language",Subtag:"ihw",Description:["Bidhawal"],Added:"2012-08-12"},{Type:"language",Subtag:"iin",Description:["Thiin"],Added:"2013-09-10"},{Type:"language",Subtag:"iir",Description:["Indo-Iranian languages"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"ijc",Description:["Izon"],Added:"2009-07-29"},{Type:"language",Subtag:"ije",Description:["Biseni"],Added:"2009-07-29"},{Type:"language",Subtag:"ijj",Description:["Ede Ije"],Added:"2009-07-29"},{Type:"language",Subtag:"ijn",Description:["Kalabari"],Added:"2009-07-29"},{Type:"language",Subtag:"ijo",Description:["Ijo languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"ijs",Description:["Southeast Ijo"],Added:"2009-07-29"},{Type:"language",Subtag:"ike",Description:["Eastern Canadian Inuktitut"],Added:"2009-07-29",Macrolanguage:"iu"},{Type:"language",Subtag:"iki",Description:["Iko"],Added:"2009-07-29"},{Type:"language",Subtag:"ikk",Description:["Ika"],Added:"2009-07-29"},{Type:"language",Subtag:"ikl",Description:["Ikulu"],Added:"2009-07-29"},{Type:"language",Subtag:"iko",Description:["Olulumo-Ikom"],Added:"2009-07-29"},{Type:"language",Subtag:"ikp",Description:["Ikpeshi"],Added:"2009-07-29"},{Type:"language",Subtag:"ikr",Description:["Ikaranggal"],Added:"2013-09-10"},{Type:"language",Subtag:"iks",Description:["Inuit Sign Language"],Added:"2015-02-12"},{Type:"language",Subtag:"ikt",Description:["Inuinnaqtun","Western Canadian Inuktitut"],Added:"2009-07-29",Macrolanguage:"iu"},{Type:"language",Subtag:"ikv",Description:["Iku-Gora-Ankwa"],Added:"2009-07-29"},{Type:"language",Subtag:"ikw",Description:["Ikwere"],Added:"2009-07-29"},{Type:"language",Subtag:"ikx",Description:["Ik"],Added:"2009-07-29"},{Type:"language",Subtag:"ikz",Description:["Ikizu"],Added:"2009-07-29"},{Type:"language",Subtag:"ila",Description:["Ile Ape"],Added:"2009-07-29"},{Type:"language",Subtag:"ilb",Description:["Ila"],Added:"2009-07-29"},{Type:"language",Subtag:"ilg",Description:["Garig-Ilgar"],Added:"2009-07-29"},{Type:"language",Subtag:"ili",Description:["Ili Turki"],Added:"2009-07-29"},{Type:"language",Subtag:"ilk",Description:["Ilongot"],Added:"2009-07-29"},{Type:"language",Subtag:"ill",Description:["Iranun"],Added:"2009-07-29",Deprecated:"2016-05-30",Comments:["see ilm, ilp"]},{Type:"language",Subtag:"ilm",Description:["Iranun (Malaysia)"],Added:"2016-05-30"},{Type:"language",Subtag:"ilo",Description:["Iloko"],Added:"2005-10-16"},{Type:"language",Subtag:"ilp",Description:["Iranun (Philippines)"],Added:"2016-05-30"},{Type:"language",Subtag:"ils",Description:["International Sign"],Added:"2009-07-29"},{Type:"language",Subtag:"ilu",Description:["Ili'uun"],Added:"2009-07-29"},{Type:"language",Subtag:"ilv",Description:["Ilue"],Added:"2009-07-29"},{Type:"language",Subtag:"ilw",Description:["Talur"],Added:"2009-07-29",Deprecated:"2013-09-10","Preferred-Value":"gal"},{Type:"language",Subtag:"ima",Description:["Mala Malasar"],Added:"2009-07-29"},{Type:"language",Subtag:"ime",Description:["Imeraguen"],Added:"2009-07-29",Deprecated:"2015-02-12"},{Type:"language",Subtag:"imi",Description:["Anamgura"],Added:"2009-07-29"},{Type:"language",Subtag:"iml",Description:["Miluk"],Added:"2009-07-29"},{Type:"language",Subtag:"imn",Description:["Imonda"],Added:"2009-07-29"},{Type:"language",Subtag:"imo",Description:["Imbongu"],Added:"2009-07-29"},{Type:"language",Subtag:"imr",Description:["Imroing"],Added:"2009-07-29"},{Type:"language",Subtag:"ims",Description:["Marsian"],Added:"2009-07-29"},{Type:"language",Subtag:"imt",Description:["Imotong"],Added:"2022-02-25"},{Type:"language",Subtag:"imy",Description:["Milyan"],Added:"2009-07-29"},{Type:"language",Subtag:"inb",Description:["Inga"],Added:"2009-07-29"},{Type:"language",Subtag:"inc",Description:["Indic languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"ine",Description:["Indo-European languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"ing",Description:["Degexit'an"],Added:"2009-07-29"},{Type:"language",Subtag:"inh",Description:["Ingush"],Added:"2005-10-16"},{Type:"language",Subtag:"inj",Description:["Jungle Inga"],Added:"2009-07-29"},{Type:"language",Subtag:"inl",Description:["Indonesian Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"inm",Description:["Minaean"],Added:"2009-07-29"},{Type:"language",Subtag:"inn",Description:["Isinai"],Added:"2009-07-29"},{Type:"language",Subtag:"ino",Description:["Inoke-Yate"],Added:"2009-07-29"},{Type:"language",Subtag:"inp",Description:["Iñapari"],Added:"2009-07-29"},{Type:"language",Subtag:"ins",Description:["Indian Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"int",Description:["Intha"],Added:"2009-07-29"},{Type:"language",Subtag:"inz",Description:["Ineseño"],Added:"2009-07-29"},{Type:"language",Subtag:"ior",Description:["Inor"],Added:"2009-07-29"},{Type:"language",Subtag:"iou",Description:["Tuma-Irumu"],Added:"2009-07-29"},{Type:"language",Subtag:"iow",Description:["Iowa-Oto"],Added:"2009-07-29"},{Type:"language",Subtag:"ipi",Description:["Ipili"],Added:"2009-07-29"},{Type:"language",Subtag:"ipo",Description:["Ipiko"],Added:"2009-07-29"},{Type:"language",Subtag:"iqu",Description:["Iquito"],Added:"2009-07-29"},{Type:"language",Subtag:"iqw",Description:["Ikwo"],Added:"2013-09-10"},{Type:"language",Subtag:"ira",Description:["Iranian languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"ire",Description:["Iresim"],Added:"2009-07-29"},{Type:"language",Subtag:"irh",Description:["Irarutu"],Added:"2009-07-29"},{Type:"language",Subtag:"iri",Description:["Rigwe","Irigwe"],Added:"2009-07-29"},{Type:"language",Subtag:"irk",Description:["Iraqw"],Added:"2009-07-29"},{Type:"language",Subtag:"irn",Description:["Irántxe"],Added:"2009-07-29"},{Type:"language",Subtag:"iro",Description:["Iroquoian languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"irr",Description:["Ir"],Added:"2009-07-29"},{Type:"language",Subtag:"iru",Description:["Irula"],Added:"2009-07-29"},{Type:"language",Subtag:"irx",Description:["Kamberau"],Added:"2009-07-29"},{Type:"language",Subtag:"iry",Description:["Iraya"],Added:"2009-07-29"},{Type:"language",Subtag:"isa",Description:["Isabi"],Added:"2009-07-29"},{Type:"language",Subtag:"isc",Description:["Isconahua"],Added:"2009-07-29"},{Type:"language",Subtag:"isd",Description:["Isnag"],Added:"2009-07-29"},{Type:"language",Subtag:"ise",Description:["Italian Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"isg",Description:["Irish Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"ish",Description:["Esan"],Added:"2009-07-29"},{Type:"language",Subtag:"isi",Description:["Nkem-Nkum"],Added:"2009-07-29"},{Type:"language",Subtag:"isk",Description:["Ishkashimi"],Added:"2010-03-11"},{Type:"language",Subtag:"ism",Description:["Masimasi"],Added:"2009-07-29"},{Type:"language",Subtag:"isn",Description:["Isanzu"],Added:"2009-07-29"},{Type:"language",Subtag:"iso",Description:["Isoko"],Added:"2009-07-29"},{Type:"language",Subtag:"isr",Description:["Israeli Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"ist",Description:["Istriot"],Added:"2009-07-29"},{Type:"language",Subtag:"isu",Description:["Isu (Menchum Division)"],Added:"2009-07-29"},{Type:"language",Subtag:"itb",Description:["Binongan Itneg"],Added:"2009-07-29"},{Type:"language",Subtag:"itc",Description:["Italic languages"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"itd",Description:["Southern Tidung"],Added:"2016-05-30"},{Type:"language",Subtag:"ite",Description:["Itene"],Added:"2009-07-29"},{Type:"language",Subtag:"iti",Description:["Inlaod Itneg"],Added:"2009-07-29"},{Type:"language",Subtag:"itk",Description:["Judeo-Italian"],Added:"2009-07-29"},{Type:"language",Subtag:"itl",Description:["Itelmen"],Added:"2009-07-29"},{Type:"language",Subtag:"itm",Description:["Itu Mbon Uzo"],Added:"2009-07-29"},{Type:"language",Subtag:"ito",Description:["Itonama"],Added:"2009-07-29"},{Type:"language",Subtag:"itr",Description:["Iteri"],Added:"2009-07-29"},{Type:"language",Subtag:"its",Description:["Isekiri"],Added:"2009-07-29"},{Type:"language",Subtag:"itt",Description:["Maeng Itneg"],Added:"2009-07-29"},{Type:"language",Subtag:"itv",Description:["Itawit"],Added:"2009-07-29"},{Type:"language",Subtag:"itw",Description:["Ito"],Added:"2009-07-29"},{Type:"language",Subtag:"itx",Description:["Itik"],Added:"2009-07-29"},{Type:"language",Subtag:"ity",Description:["Moyadan Itneg"],Added:"2009-07-29"},{Type:"language",Subtag:"itz",Description:["Itzá"],Added:"2009-07-29"},{Type:"language",Subtag:"ium",Description:["Iu Mien"],Added:"2009-07-29"},{Type:"language",Subtag:"ivb",Description:["Ibatan"],Added:"2009-07-29"},{Type:"language",Subtag:"ivv",Description:["Ivatan"],Added:"2009-07-29"},{Type:"language",Subtag:"iwk",Description:["I-Wak"],Added:"2009-07-29"},{Type:"language",Subtag:"iwm",Description:["Iwam"],Added:"2009-07-29"},{Type:"language",Subtag:"iwo",Description:["Iwur"],Added:"2009-07-29"},{Type:"language",Subtag:"iws",Description:["Sepik Iwam"],Added:"2009-07-29"},{Type:"language",Subtag:"ixc",Description:["Ixcatec"],Added:"2009-07-29"},{Type:"language",Subtag:"ixl",Description:["Ixil"],Added:"2009-07-29"},{Type:"language",Subtag:"iya",Description:["Iyayu"],Added:"2009-07-29"},{Type:"language",Subtag:"iyo",Description:["Mesaka"],Added:"2009-07-29"},{Type:"language",Subtag:"iyx",Description:["Yaka (Congo)"],Added:"2009-07-29"},{Type:"language",Subtag:"izh",Description:["Ingrian"],Added:"2009-07-29"},{Type:"language",Subtag:"izi",Description:["Izi-Ezaa-Ikwo-Mgbo"],Added:"2009-07-29",Deprecated:"2013-09-10",Comments:["see eza, gmz, iqw, izz"]},{Type:"language",Subtag:"izr",Description:["Izere"],Added:"2009-07-29"},{Type:"language",Subtag:"izz",Description:["Izii"],Added:"2013-09-10"},{Type:"language",Subtag:"jaa",Description:["Jamamadí"],Added:"2009-07-29"},{Type:"language",Subtag:"jab",Description:["Hyam"],Added:"2009-07-29"},{Type:"language",Subtag:"jac",Description:["Popti'","Jakalteko"],Added:"2009-07-29"},{Type:"language",Subtag:"jad",Description:["Jahanka"],Added:"2009-07-29"},{Type:"language",Subtag:"jae",Description:["Yabem"],Added:"2009-07-29"},{Type:"language",Subtag:"jaf",Description:["Jara"],Added:"2009-07-29"},{Type:"language",Subtag:"jah",Description:["Jah Hut"],Added:"2009-07-29"},{Type:"language",Subtag:"jaj",Description:["Zazao"],Added:"2009-07-29"},{Type:"language",Subtag:"jak",Description:["Jakun"],Added:"2009-07-29",Macrolanguage:"ms"},{Type:"language",Subtag:"jal",Description:["Yalahatan"],Added:"2009-07-29"},{Type:"language",Subtag:"jam",Description:["Jamaican Creole English"],Added:"2009-07-29"},{Type:"language",Subtag:"jan",Description:["Jandai"],Added:"2012-08-12"},{Type:"language",Subtag:"jao",Description:["Yanyuwa"],Added:"2009-07-29"},{Type:"language",Subtag:"jaq",Description:["Yaqay"],Added:"2009-07-29"},{Type:"language",Subtag:"jar",Description:["Jarawa (Nigeria)"],Added:"2009-07-29",Deprecated:"2012-08-12",Comments:["see jgk, jjr"]},{Type:"language",Subtag:"jas",Description:["New Caledonian Javanese"],Added:"2009-07-29"},{Type:"language",Subtag:"jat",Description:["Jakati"],Added:"2009-07-29",Macrolanguage:"lah"},{Type:"language",Subtag:"jau",Description:["Yaur"],Added:"2009-07-29"},{Type:"language",Subtag:"jax",Description:["Jambi Malay"],Added:"2009-07-29",Macrolanguage:"ms"},{Type:"language",Subtag:"jay",Description:["Yan-nhangu","Nhangu"],Added:"2009-07-29"},{Type:"language",Subtag:"jaz",Description:["Jawe"],Added:"2009-07-29"},{Type:"language",Subtag:"jbe",Description:["Judeo-Berber"],Added:"2009-07-29"},{Type:"language",Subtag:"jbi",Description:["Badjiri"],Added:"2013-09-10"},{Type:"language",Subtag:"jbj",Description:["Arandai"],Added:"2009-07-29"},{Type:"language",Subtag:"jbk",Description:["Barikewa"],Added:"2012-08-12"},{Type:"language",Subtag:"jbm",Description:["Bijim"],Added:"2021-02-20"},{Type:"language",Subtag:"jbn",Description:["Nafusi"],Added:"2009-07-29"},{Type:"language",Subtag:"jbo",Description:["Lojban"],Added:"2005-10-16"},{Type:"language",Subtag:"jbr",Description:["Jofotek-Bromnya"],Added:"2009-07-29"},{Type:"language",Subtag:"jbt",Description:["Jabutí"],Added:"2009-07-29"},{Type:"language",Subtag:"jbu",Description:["Jukun Takum"],Added:"2009-07-29"},{Type:"language",Subtag:"jbw",Description:["Yawijibaya"],Added:"2012-08-12"},{Type:"language",Subtag:"jcs",Description:["Jamaican Country Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"jct",Description:["Krymchak"],Added:"2009-07-29"},{Type:"language",Subtag:"jda",Description:["Jad"],Added:"2009-07-29"},{Type:"language",Subtag:"jdg",Description:["Jadgali"],Added:"2009-07-29"},{Type:"language",Subtag:"jdt",Description:["Judeo-Tat"],Added:"2009-07-29"},{Type:"language",Subtag:"jeb",Description:["Jebero"],Added:"2009-07-29"},{Type:"language",Subtag:"jee",Description:["Jerung"],Added:"2009-07-29"},{Type:"language",Subtag:"jeg",Description:["Jeng"],Added:"2009-07-29",Deprecated:"2017-02-23","Preferred-Value":"oyb"},{Type:"language",Subtag:"jeh",Description:["Jeh"],Added:"2009-07-29"},{Type:"language",Subtag:"jei",Description:["Yei"],Added:"2009-07-29"},{Type:"language",Subtag:"jek",Description:["Jeri Kuo"],Added:"2009-07-29"},{Type:"language",Subtag:"jel",Description:["Yelmek"],Added:"2009-07-29"},{Type:"language",Subtag:"jen",Description:["Dza"],Added:"2009-07-29"},{Type:"language",Subtag:"jer",Description:["Jere"],Added:"2009-07-29"},{Type:"language",Subtag:"jet",Description:["Manem"],Added:"2009-07-29"},{Type:"language",Subtag:"jeu",Description:["Jonkor Bourmataguil"],Added:"2009-07-29"},{Type:"language",Subtag:"jgb",Description:["Ngbee"],Added:"2009-07-29"},{Type:"language",Subtag:"jge",Description:["Judeo-Georgian"],Added:"2009-07-29"},{Type:"language",Subtag:"jgk",Description:["Gwak"],Added:"2012-08-12"},{Type:"language",Subtag:"jgo",Description:["Ngomba"],Added:"2009-07-29"},{Type:"language",Subtag:"jhi",Description:["Jehai"],Added:"2009-07-29"},{Type:"language",Subtag:"jhs",Description:["Jhankot Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"jia",Description:["Jina"],Added:"2009-07-29"},{Type:"language",Subtag:"jib",Description:["Jibu"],Added:"2009-07-29"},{Type:"language",Subtag:"jic",Description:["Tol"],Added:"2009-07-29"},{Type:"language",Subtag:"jid",Description:["Bu (Kaduna State)"],Added:"2009-07-29"},{Type:"language",Subtag:"jie",Description:["Jilbe"],Added:"2009-07-29"},{Type:"language",Subtag:"jig",Description:["Jingulu","Djingili"],Added:"2009-07-29"},{Type:"language",Subtag:"jih",Description:["sTodsde","Shangzhai"],Added:"2009-07-29"},{Type:"language",Subtag:"jii",Description:["Jiiddu"],Added:"2009-07-29"},{Type:"language",Subtag:"jil",Description:["Jilim"],Added:"2009-07-29"},{Type:"language",Subtag:"jim",Description:["Jimi (Cameroon)"],Added:"2009-07-29"},{Type:"language",Subtag:"jio",Description:["Jiamao"],Added:"2009-07-29"},{Type:"language",Subtag:"jiq",Description:["Guanyinqiao","Lavrung"],Added:"2009-07-29"},{Type:"language",Subtag:"jit",Description:["Jita"],Added:"2009-07-29"},{Type:"language",Subtag:"jiu",Description:["Youle Jinuo"],Added:"2009-07-29"},{Type:"language",Subtag:"jiv",Description:["Shuar"],Added:"2009-07-29"},{Type:"language",Subtag:"jiy",Description:["Buyuan Jinuo"],Added:"2009-07-29"},{Type:"language",Subtag:"jje",Description:["Jejueo"],Added:"2015-02-12"},{Type:"language",Subtag:"jjr",Description:["Bankal"],Added:"2012-08-12"},{Type:"language",Subtag:"jka",Description:["Kaera"],Added:"2016-05-30"},{Type:"language",Subtag:"jkm",Description:["Mobwa Karen"],Added:"2012-08-12"},{Type:"language",Subtag:"jko",Description:["Kubo"],Added:"2009-07-29"},{Type:"language",Subtag:"jkp",Description:["Paku Karen"],Added:"2012-08-12"},{Type:"language",Subtag:"jkr",Description:["Koro (India)"],Added:"2012-08-12"},{Type:"language",Subtag:"jks",Description:["Amami Koniya Sign Language"],Added:"2021-02-20"},{Type:"language",Subtag:"jku",Description:["Labir"],Added:"2009-07-29"},{Type:"language",Subtag:"jle",Description:["Ngile"],Added:"2009-07-29"},{Type:"language",Subtag:"jls",Description:["Jamaican Sign Language"],Added:"2010-03-11"},{Type:"language",Subtag:"jma",Description:["Dima"],Added:"2009-07-29"},{Type:"language",Subtag:"jmb",Description:["Zumbun"],Added:"2009-07-29"},{Type:"language",Subtag:"jmc",Description:["Machame"],Added:"2009-07-29"},{Type:"language",Subtag:"jmd",Description:["Yamdena"],Added:"2009-07-29"},{Type:"language",Subtag:"jmi",Description:["Jimi (Nigeria)"],Added:"2009-07-29"},{Type:"language",Subtag:"jml",Description:["Jumli"],Added:"2009-07-29"},{Type:"language",Subtag:"jmn",Description:["Makuri Naga"],Added:"2009-07-29"},{Type:"language",Subtag:"jmr",Description:["Kamara"],Added:"2009-07-29"},{Type:"language",Subtag:"jms",Description:["Mashi (Nigeria)"],Added:"2009-07-29"},{Type:"language",Subtag:"jmw",Description:["Mouwase"],Added:"2012-08-12"},{Type:"language",Subtag:"jmx",Description:["Western Juxtlahuaca Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"jna",Description:["Jangshung"],Added:"2009-07-29"},{Type:"language",Subtag:"jnd",Description:["Jandavra"],Added:"2009-07-29"},{Type:"language",Subtag:"jng",Description:["Yangman"],Added:"2009-07-29"},{Type:"language",Subtag:"jni",Description:["Janji"],Added:"2009-07-29"},{Type:"language",Subtag:"jnj",Description:["Yemsa"],Added:"2009-07-29"},{Type:"language",Subtag:"jnl",Description:["Rawat"],Added:"2009-07-29"},{Type:"language",Subtag:"jns",Description:["Jaunsari"],Added:"2009-07-29"},{Type:"language",Subtag:"job",Description:["Joba"],Added:"2009-07-29"},{Type:"language",Subtag:"jod",Description:["Wojenaka"],Added:"2009-07-29"},{Type:"language",Subtag:"jog",Description:["Jogi"],Added:"2015-05-27"},{Type:"language",Subtag:"jor",Description:["Jorá"],Added:"2009-07-29"},{Type:"language",Subtag:"jos",Description:["Jordanian Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"jow",Description:["Jowulu"],Added:"2009-07-29"},{Type:"language",Subtag:"jpa",Description:["Jewish Palestinian Aramaic"],Added:"2009-07-29"},{Type:"language",Subtag:"jpr",Description:["Judeo-Persian"],Added:"2005-10-16"},{Type:"language",Subtag:"jpx",Description:["Japanese (family)"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"jqr",Description:["Jaqaru"],Added:"2009-07-29"},{Type:"language",Subtag:"jra",Description:["Jarai"],Added:"2009-07-29"},{Type:"language",Subtag:"jrb",Description:["Judeo-Arabic"],Added:"2005-10-16",Scope:"macrolanguage"},{Type:"language",Subtag:"jrr",Description:["Jiru"],Added:"2009-07-29"},{Type:"language",Subtag:"jrt",Description:["Jakattoe"],Added:"2009-07-29"},{Type:"language",Subtag:"jru",Description:["Japrería"],Added:"2009-07-29"},{Type:"language",Subtag:"jsl",Description:["Japanese Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"jua",Description:["Júma"],Added:"2009-07-29"},{Type:"language",Subtag:"jub",Description:["Wannu"],Added:"2009-07-29"},{Type:"language",Subtag:"juc",Description:["Jurchen"],Added:"2009-07-29"},{Type:"language",Subtag:"jud",Description:["Worodougou"],Added:"2009-07-29"},{Type:"language",Subtag:"juh",Description:["Hõne"],Added:"2009-07-29"},{Type:"language",Subtag:"jui",Description:["Ngadjuri"],Added:"2012-08-12"},{Type:"language",Subtag:"juk",Description:["Wapan"],Added:"2009-07-29"},{Type:"language",Subtag:"jul",Description:["Jirel"],Added:"2009-07-29"},{Type:"language",Subtag:"jum",Description:["Jumjum"],Added:"2009-07-29"},{Type:"language",Subtag:"jun",Description:["Juang"],Added:"2009-07-29"},{Type:"language",Subtag:"juo",Description:["Jiba"],Added:"2009-07-29"},{Type:"language",Subtag:"jup",Description:["Hupdë"],Added:"2009-07-29"},{Type:"language",Subtag:"jur",Description:["Jurúna"],Added:"2009-07-29"},{Type:"language",Subtag:"jus",Description:["Jumla Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"jut",Description:["Jutish"],Added:"2009-07-29"},{Type:"language",Subtag:"juu",Description:["Ju"],Added:"2009-07-29"},{Type:"language",Subtag:"juw",Description:["Wãpha"],Added:"2009-07-29"},{Type:"language",Subtag:"juy",Description:["Juray"],Added:"2009-07-29"},{Type:"language",Subtag:"jvd",Description:["Javindo"],Added:"2009-07-29"},{Type:"language",Subtag:"jvn",Description:["Caribbean Javanese"],Added:"2009-07-29"},{Type:"language",Subtag:"jwi",Description:["Jwira-Pepesa"],Added:"2009-07-29"},{Type:"language",Subtag:"jya",Description:["Jiarong"],Added:"2009-07-29"},{Type:"language",Subtag:"jye",Description:["Judeo-Yemeni Arabic"],Added:"2009-07-29",Macrolanguage:"jrb"},{Type:"language",Subtag:"jyy",Description:["Jaya"],Added:"2009-07-29"},{Type:"language",Subtag:"kaa",Description:["Kara-Kalpak","Karakalpak"],Added:"2005-10-16"},{Type:"language",Subtag:"kab",Description:["Kabyle"],Added:"2005-10-16"},{Type:"language",Subtag:"kac",Description:["Kachin","Jingpho"],Added:"2005-10-16"},{Type:"language",Subtag:"kad",Description:["Adara"],Added:"2009-07-29"},{Type:"language",Subtag:"kae",Description:["Ketangalan"],Added:"2009-07-29"},{Type:"language",Subtag:"kaf",Description:["Katso"],Added:"2009-07-29"},{Type:"language",Subtag:"kag",Description:["Kajaman"],Added:"2009-07-29"},{Type:"language",Subtag:"kah",Description:["Kara (Central African Republic)"],Added:"2009-07-29"},{Type:"language",Subtag:"kai",Description:["Karekare"],Added:"2009-07-29"},{Type:"language",Subtag:"kaj",Description:["Jju"],Added:"2009-07-29"},{Type:"language",Subtag:"kak",Description:["Kalanguya","Kayapa Kallahan"],Added:"2009-07-29"},{Type:"language",Subtag:"kam",Description:["Kamba (Kenya)"],Added:"2005-10-16"},{Type:"language",Subtag:"kao",Description:["Xaasongaxango"],Added:"2009-07-29"},{Type:"language",Subtag:"kap",Description:["Bezhta"],Added:"2009-07-29"},{Type:"language",Subtag:"kaq",Description:["Capanahua"],Added:"2009-07-29"},{Type:"language",Subtag:"kar",Description:["Karen languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"kav",Description:["Katukína"],Added:"2009-07-29"},{Type:"language",Subtag:"kaw",Description:["Kawi"],Added:"2005-10-16"},{Type:"language",Subtag:"kax",Description:["Kao"],Added:"2009-07-29"},{Type:"language",Subtag:"kay",Description:["Kamayurá"],Added:"2009-07-29"},{Type:"language",Subtag:"kba",Description:["Kalarko"],Added:"2009-07-29"},{Type:"language",Subtag:"kbb",Description:["Kaxuiâna"],Added:"2009-07-29"},{Type:"language",Subtag:"kbc",Description:["Kadiwéu"],Added:"2009-07-29"},{Type:"language",Subtag:"kbd",Description:["Kabardian"],Added:"2005-10-16"},{Type:"language",Subtag:"kbe",Description:["Kanju"],Added:"2009-07-29"},{Type:"language",Subtag:"kbf",Description:["Kakauhua"],Added:"2009-07-29",Deprecated:"2015-02-12"},{Type:"language",Subtag:"kbg",Description:["Khamba"],Added:"2009-07-29"},{Type:"language",Subtag:"kbh",Description:["Camsá"],Added:"2009-07-29"},{Type:"language",Subtag:"kbi",Description:["Kaptiau"],Added:"2009-07-29"},{Type:"language",Subtag:"kbj",Description:["Kari"],Added:"2009-07-29"},{Type:"language",Subtag:"kbk",Description:["Grass Koiari"],Added:"2009-07-29"},{Type:"language",Subtag:"kbl",Description:["Kanembu"],Added:"2009-07-29"},{Type:"language",Subtag:"kbm",Description:["Iwal"],Added:"2009-07-29"},{Type:"language",Subtag:"kbn",Description:["Kare (Central African Republic)"],Added:"2009-07-29"},{Type:"language",Subtag:"kbo",Description:["Keliko"],Added:"2009-07-29"},{Type:"language",Subtag:"kbp",Description:["Kabiyè"],Added:"2009-07-29"},{Type:"language",Subtag:"kbq",Description:["Kamano"],Added:"2009-07-29"},{Type:"language",Subtag:"kbr",Description:["Kafa"],Added:"2009-07-29"},{Type:"language",Subtag:"kbs",Description:["Kande"],Added:"2009-07-29"},{Type:"language",Subtag:"kbt",Description:["Abadi"],Added:"2009-07-29"},{Type:"language",Subtag:"kbu",Description:["Kabutra"],Added:"2009-07-29"},{Type:"language",Subtag:"kbv",Description:["Dera (Indonesia)"],Added:"2009-07-29"},{Type:"language",Subtag:"kbw",Description:["Kaiep"],Added:"2009-07-29"},{Type:"language",Subtag:"kbx",Description:["Ap Ma"],Added:"2009-07-29"},{Type:"language",Subtag:"kby",Description:["Manga Kanuri"],Added:"2009-07-29",Macrolanguage:"kr"},{Type:"language",Subtag:"kbz",Description:["Duhwa"],Added:"2009-07-29"},{Type:"language",Subtag:"kca",Description:["Khanty"],Added:"2009-07-29"},{Type:"language",Subtag:"kcb",Description:["Kawacha"],Added:"2009-07-29"},{Type:"language",Subtag:"kcc",Description:["Lubila"],Added:"2009-07-29"},{Type:"language",Subtag:"kcd",Description:["Ngkâlmpw Kanum"],Added:"2009-07-29"},{Type:"language",Subtag:"kce",Description:["Kaivi"],Added:"2009-07-29"},{Type:"language",Subtag:"kcf",Description:["Ukaan"],Added:"2009-07-29"},{Type:"language",Subtag:"kcg",Description:["Tyap"],Added:"2009-07-29"},{Type:"language",Subtag:"kch",Description:["Vono"],Added:"2009-07-29"},{Type:"language",Subtag:"kci",Description:["Kamantan"],Added:"2009-07-29"},{Type:"language",Subtag:"kcj",Description:["Kobiana"],Added:"2009-07-29"},{Type:"language",Subtag:"kck",Description:["Kalanga"],Added:"2009-07-29"},{Type:"language",Subtag:"kcl",Description:["Kela (Papua New Guinea)","Kala"],Added:"2009-07-29"},{Type:"language",Subtag:"kcm",Description:["Gula (Central African Republic)"],Added:"2009-07-29"},{Type:"language",Subtag:"kcn",Description:["Nubi"],Added:"2009-07-29"},{Type:"language",Subtag:"kco",Description:["Kinalakna"],Added:"2009-07-29"},{Type:"language",Subtag:"kcp",Description:["Kanga"],Added:"2009-07-29"},{Type:"language",Subtag:"kcq",Description:["Kamo"],Added:"2009-07-29"},{Type:"language",Subtag:"kcr",Description:["Katla"],Added:"2009-07-29"},{Type:"language",Subtag:"kcs",Description:["Koenoem"],Added:"2009-07-29"},{Type:"language",Subtag:"kct",Description:["Kaian"],Added:"2009-07-29"},{Type:"language",Subtag:"kcu",Description:["Kami (Tanzania)"],Added:"2009-07-29"},{Type:"language",Subtag:"kcv",Description:["Kete"],Added:"2009-07-29"},{Type:"language",Subtag:"kcw",Description:["Kabwari"],Added:"2009-07-29"},{Type:"language",Subtag:"kcx",Description:["Kachama-Ganjule"],Added:"2009-07-29"},{Type:"language",Subtag:"kcy",Description:["Korandje"],Added:"2009-07-29"},{Type:"language",Subtag:"kcz",Description:["Konongo"],Added:"2009-07-29"},{Type:"language",Subtag:"kda",Description:["Worimi"],Added:"2009-07-29"},{Type:"language",Subtag:"kdc",Description:["Kutu"],Added:"2009-07-29"},{Type:"language",Subtag:"kdd",Description:["Yankunytjatjara"],Added:"2009-07-29"},{Type:"language",Subtag:"kde",Description:["Makonde"],Added:"2009-07-29"},{Type:"language",Subtag:"kdf",Description:["Mamusi"],Added:"2009-07-29"},{Type:"language",Subtag:"kdg",Description:["Seba"],Added:"2009-07-29"},{Type:"language",Subtag:"kdh",Description:["Tem"],Added:"2009-07-29"},{Type:"language",Subtag:"kdi",Description:["Kumam"],Added:"2009-07-29"},{Type:"language",Subtag:"kdj",Description:["Karamojong"],Added:"2009-07-29"},{Type:"language",Subtag:"kdk",Description:["Numèè","Kwényi"],Added:"2009-07-29"},{Type:"language",Subtag:"kdl",Description:["Tsikimba"],Added:"2009-07-29"},{Type:"language",Subtag:"kdm",Description:["Kagoma"],Added:"2009-07-29"},{Type:"language",Subtag:"kdn",Description:["Kunda"],Added:"2009-07-29"},{Type:"language",Subtag:"kdo",Description:["Kordofanian languages"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"kdp",Description:["Kaningdon-Nindem"],Added:"2009-07-29"},{Type:"language",Subtag:"kdq",Description:["Koch"],Added:"2009-07-29"},{Type:"language",Subtag:"kdr",Description:["Karaim"],Added:"2009-07-29"},{Type:"language",Subtag:"kdt",Description:["Kuy"],Added:"2009-07-29"},{Type:"language",Subtag:"kdu",Description:["Kadaru"],Added:"2009-07-29"},{Type:"language",Subtag:"kdv",Description:["Kado"],Added:"2009-07-29",Deprecated:"2012-08-12",Comments:["see zkd, zkn"]},{Type:"language",Subtag:"kdw",Description:["Koneraw"],Added:"2009-07-29"},{Type:"language",Subtag:"kdx",Description:["Kam"],Added:"2009-07-29"},{Type:"language",Subtag:"kdy",Description:["Keder","Keijar"],Added:"2009-07-29"},{Type:"language",Subtag:"kdz",Description:["Kwaja"],Added:"2009-07-29"},{Type:"language",Subtag:"kea",Description:["Kabuverdianu"],Added:"2009-07-29"},{Type:"language",Subtag:"keb",Description:["Kélé"],Added:"2009-07-29"},{Type:"language",Subtag:"kec",Description:["Keiga"],Added:"2009-07-29"},{Type:"language",Subtag:"ked",Description:["Kerewe"],Added:"2009-07-29"},{Type:"language",Subtag:"kee",Description:["Eastern Keres"],Added:"2009-07-29"},{Type:"language",Subtag:"kef",Description:["Kpessi"],Added:"2009-07-29"},{Type:"language",Subtag:"keg",Description:["Tese"],Added:"2009-07-29"},{Type:"language",Subtag:"keh",Description:["Keak"],Added:"2009-07-29"},{Type:"language",Subtag:"kei",Description:["Kei"],Added:"2009-07-29"},{Type:"language",Subtag:"kej",Description:["Kadar"],Added:"2009-07-29"},{Type:"language",Subtag:"kek",Description:["Kekchí"],Added:"2009-07-29"},{Type:"language",Subtag:"kel",Description:["Kela (Democratic Republic of Congo)"],Added:"2009-07-29"},{Type:"language",Subtag:"kem",Description:["Kemak"],Added:"2009-07-29"},{Type:"language",Subtag:"ken",Description:["Kenyang"],Added:"2009-07-29"},{Type:"language",Subtag:"keo",Description:["Kakwa"],Added:"2009-07-29"},{Type:"language",Subtag:"kep",Description:["Kaikadi"],Added:"2009-07-29"},{Type:"language",Subtag:"keq",Description:["Kamar"],Added:"2009-07-29"},{Type:"language",Subtag:"ker",Description:["Kera"],Added:"2009-07-29"},{Type:"language",Subtag:"kes",Description:["Kugbo"],Added:"2009-07-29"},{Type:"language",Subtag:"ket",Description:["Ket"],Added:"2009-07-29"},{Type:"language",Subtag:"keu",Description:["Akebu"],Added:"2009-07-29"},{Type:"language",Subtag:"kev",Description:["Kanikkaran"],Added:"2009-07-29"},{Type:"language",Subtag:"kew",Description:["West Kewa"],Added:"2009-07-29"},{Type:"language",Subtag:"kex",Description:["Kukna"],Added:"2009-07-29"},{Type:"language",Subtag:"key",Description:["Kupia"],Added:"2009-07-29"},{Type:"language",Subtag:"kez",Description:["Kukele"],Added:"2009-07-29"},{Type:"language",Subtag:"kfa",Description:["Kodava"],Added:"2009-07-29"},{Type:"language",Subtag:"kfb",Description:["Northwestern Kolami"],Added:"2009-07-29"},{Type:"language",Subtag:"kfc",Description:["Konda-Dora"],Added:"2009-07-29"},{Type:"language",Subtag:"kfd",Description:["Korra Koraga"],Added:"2009-07-29"},{Type:"language",Subtag:"kfe",Description:["Kota (India)"],Added:"2009-07-29"},{Type:"language",Subtag:"kff",Description:["Koya"],Added:"2009-07-29"},{Type:"language",Subtag:"kfg",Description:["Kudiya"],Added:"2009-07-29"},{Type:"language",Subtag:"kfh",Description:["Kurichiya"],Added:"2009-07-29"},{Type:"language",Subtag:"kfi",Description:["Kannada Kurumba"],Added:"2009-07-29"},{Type:"language",Subtag:"kfj",Description:["Kemiehua"],Added:"2009-07-29"},{Type:"language",Subtag:"kfk",Description:["Kinnauri"],Added:"2009-07-29"},{Type:"language",Subtag:"kfl",Description:["Kung"],Added:"2009-07-29"},{Type:"language",Subtag:"kfm",Description:["Khunsari"],Added:"2009-07-29"},{Type:"language",Subtag:"kfn",Description:["Kuk"],Added:"2009-07-29"},{Type:"language",Subtag:"kfo",Description:["Koro (Côte d'Ivoire)"],Added:"2009-07-29"},{Type:"language",Subtag:"kfp",Description:["Korwa"],Added:"2009-07-29"},{Type:"language",Subtag:"kfq",Description:["Korku"],Added:"2009-07-29"},{Type:"language",Subtag:"kfr",Description:["Kachhi","Kutchi"],Added:"2009-07-29"},{Type:"language",Subtag:"kfs",Description:["Bilaspuri"],Added:"2009-07-29"},{Type:"language",Subtag:"kft",Description:["Kanjari"],Added:"2009-07-29"},{Type:"language",Subtag:"kfu",Description:["Katkari"],Added:"2009-07-29"},{Type:"language",Subtag:"kfv",Description:["Kurmukar"],Added:"2009-07-29"},{Type:"language",Subtag:"kfw",Description:["Kharam Naga"],Added:"2009-07-29"},{Type:"language",Subtag:"kfx",Description:["Kullu Pahari"],Added:"2009-07-29"},{Type:"language",Subtag:"kfy",Description:["Kumaoni"],Added:"2009-07-29"},{Type:"language",Subtag:"kfz",Description:["Koromfé"],Added:"2009-07-29"},{Type:"language",Subtag:"kga",Description:["Koyaga"],Added:"2009-07-29"},{Type:"language",Subtag:"kgb",Description:["Kawe"],Added:"2009-07-29"},{Type:"language",Subtag:"kgc",Description:["Kasseng"],Added:"2009-07-29",Deprecated:"2016-05-30","Preferred-Value":"tdf"},{Type:"language",Subtag:"kgd",Description:["Kataang"],Added:"2009-07-29",Deprecated:"2017-02-23",Comments:["see ncq, sct"]},{Type:"language",Subtag:"kge",Description:["Komering"],Added:"2009-07-29"},{Type:"language",Subtag:"kgf",Description:["Kube"],Added:"2009-07-29"},{Type:"language",Subtag:"kgg",Description:["Kusunda"],Added:"2009-07-29"},{Type:"language",Subtag:"kgh",Description:["Upper Tanudan Kalinga"],Added:"2009-07-29",Deprecated:"2012-08-12","Preferred-Value":"kml"},{Type:"language",Subtag:"kgi",Description:["Selangor Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"kgj",Description:["Gamale Kham"],Added:"2009-07-29"},{Type:"language",Subtag:"kgk",Description:["Kaiwá"],Added:"2009-07-29"},{Type:"language",Subtag:"kgl",Description:["Kunggari"],Added:"2009-07-29"},{Type:"language",Subtag:"kgm",Description:["Karipúna"],Added:"2009-07-29"},{Type:"language",Subtag:"kgn",Description:["Karingani"],Added:"2009-07-29"},{Type:"language",Subtag:"kgo",Description:["Krongo"],Added:"2009-07-29"},{Type:"language",Subtag:"kgp",Description:["Kaingang"],Added:"2009-07-29"},{Type:"language",Subtag:"kgq",Description:["Kamoro"],Added:"2009-07-29"},{Type:"language",Subtag:"kgr",Description:["Abun"],Added:"2009-07-29"},{Type:"language",Subtag:"kgs",Description:["Kumbainggar"],Added:"2009-07-29"},{Type:"language",Subtag:"kgt",Description:["Somyev"],Added:"2009-07-29"},{Type:"language",Subtag:"kgu",Description:["Kobol"],Added:"2009-07-29"},{Type:"language",Subtag:"kgv",Description:["Karas"],Added:"2009-07-29"},{Type:"language",Subtag:"kgw",Description:["Karon Dori"],Added:"2009-07-29"},{Type:"language",Subtag:"kgx",Description:["Kamaru"],Added:"2009-07-29"},{Type:"language",Subtag:"kgy",Description:["Kyerung"],Added:"2009-07-29"},{Type:"language",Subtag:"kha",Description:["Khasi"],Added:"2005-10-16",Comments:["as of 2008-04-21 this subtag does not include Lyngngam; see lyg"]},{Type:"language",Subtag:"khb",Description:["Lü"],Added:"2009-07-29"},{Type:"language",Subtag:"khc",Description:["Tukang Besi North"],Added:"2009-07-29"},{Type:"language",Subtag:"khd",Description:["Bädi Kanum"],Added:"2009-07-29"},{Type:"language",Subtag:"khe",Description:["Korowai"],Added:"2009-07-29"},{Type:"language",Subtag:"khf",Description:["Khuen"],Added:"2009-07-29"},{Type:"language",Subtag:"khg",Description:["Khams Tibetan"],Added:"2009-07-29"},{Type:"language",Subtag:"khh",Description:["Kehu"],Added:"2009-07-29"},{Type:"language",Subtag:"khi",Description:["Khoisan languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"khj",Description:["Kuturmi"],Added:"2009-07-29"},{Type:"language",Subtag:"khk",Description:["Halh Mongolian"],Added:"2009-07-29",Macrolanguage:"mn"},{Type:"language",Subtag:"khl",Description:["Lusi"],Added:"2009-07-29"},{Type:"language",Subtag:"khn",Description:["Khandesi"],Added:"2009-07-29"},{Type:"language",Subtag:"kho",Description:["Khotanese","Sakan"],Added:"2005-10-16"},{Type:"language",Subtag:"khp",Description:["Kapori","Kapauri"],Added:"2009-07-29"},{Type:"language",Subtag:"khq",Description:["Koyra Chiini Songhay"],Added:"2009-07-29"},{Type:"language",Subtag:"khr",Description:["Kharia"],Added:"2009-07-29"},{Type:"language",Subtag:"khs",Description:["Kasua"],Added:"2009-07-29"},{Type:"language",Subtag:"kht",Description:["Khamti"],Added:"2009-07-29"},{Type:"language",Subtag:"khu",Description:["Nkhumbi"],Added:"2009-07-29"},{Type:"language",Subtag:"khv",Description:["Khvarshi"],Added:"2009-07-29"},{Type:"language",Subtag:"khw",Description:["Khowar"],Added:"2009-07-29"},{Type:"language",Subtag:"khx",Description:["Kanu"],Added:"2009-07-29"},{Type:"language",Subtag:"khy",Description:["Kele (Democratic Republic of Congo)"],Added:"2009-07-29"},{Type:"language",Subtag:"khz",Description:["Keapara"],Added:"2009-07-29"},{Type:"language",Subtag:"kia",Description:["Kim"],Added:"2009-07-29"},{Type:"language",Subtag:"kib",Description:["Koalib"],Added:"2009-07-29"},{Type:"language",Subtag:"kic",Description:["Kickapoo"],Added:"2009-07-29"},{Type:"language",Subtag:"kid",Description:["Koshin"],Added:"2009-07-29"},{Type:"language",Subtag:"kie",Description:["Kibet"],Added:"2009-07-29"},{Type:"language",Subtag:"kif",Description:["Eastern Parbate Kham"],Added:"2009-07-29"},{Type:"language",Subtag:"kig",Description:["Kimaama","Kimaghima"],Added:"2009-07-29"},{Type:"language",Subtag:"kih",Description:["Kilmeri"],Added:"2009-07-29"},{Type:"language",Subtag:"kii",Description:["Kitsai"],Added:"2009-07-29"},{Type:"language",Subtag:"kij",Description:["Kilivila"],Added:"2009-07-29"},{Type:"language",Subtag:"kil",Description:["Kariya"],Added:"2009-07-29"},{Type:"language",Subtag:"kim",Description:["Karagas"],Added:"2009-07-29"},{Type:"language",Subtag:"kio",Description:["Kiowa"],Added:"2009-07-29"},{Type:"language",Subtag:"kip",Description:["Sheshi Kham"],Added:"2009-07-29"},{Type:"language",Subtag:"kiq",Description:["Kosadle","Kosare"],Added:"2009-07-29"},{Type:"language",Subtag:"kis",Description:["Kis"],Added:"2009-07-29"},{Type:"language",Subtag:"kit",Description:["Agob"],Added:"2009-07-29"},{Type:"language",Subtag:"kiu",Description:["Kirmanjki (individual language)"],Added:"2009-07-29",Macrolanguage:"zza"},{Type:"language",Subtag:"kiv",Description:["Kimbu"],Added:"2009-07-29"},{Type:"language",Subtag:"kiw",Description:["Northeast Kiwai"],Added:"2009-07-29"},{Type:"language",Subtag:"kix",Description:["Khiamniungan Naga"],Added:"2009-07-29"},{Type:"language",Subtag:"kiy",Description:["Kirikiri"],Added:"2009-07-29"},{Type:"language",Subtag:"kiz",Description:["Kisi"],Added:"2009-07-29"},{Type:"language",Subtag:"kja",Description:["Mlap"],Added:"2009-07-29"},{Type:"language",Subtag:"kjb",Description:["Q'anjob'al","Kanjobal"],Added:"2009-07-29"},{Type:"language",Subtag:"kjc",Description:["Coastal Konjo"],Added:"2009-07-29"},{Type:"language",Subtag:"kjd",Description:["Southern Kiwai"],Added:"2009-07-29"},{Type:"language",Subtag:"kje",Description:["Kisar"],Added:"2009-07-29"},{Type:"language",Subtag:"kjf",Description:["Khalaj [Indo-Iranian]"],Added:"2009-07-29",Deprecated:"2020-03-28"},{Type:"language",Subtag:"kjg",Description:["Khmu"],Added:"2009-07-29"},{Type:"language",Subtag:"kjh",Description:["Khakas"],Added:"2009-07-29"},{Type:"language",Subtag:"kji",Description:["Zabana"],Added:"2009-07-29"},{Type:"language",Subtag:"kjj",Description:["Khinalugh"],Added:"2009-07-29"},{Type:"language",Subtag:"kjk",Description:["Highland Konjo"],Added:"2009-07-29"},{Type:"language",Subtag:"kjl",Description:["Western Parbate Kham"],Added:"2009-07-29"},{Type:"language",Subtag:"kjm",Description:["Kháng"],Added:"2009-07-29"},{Type:"language",Subtag:"kjn",Description:["Kunjen"],Added:"2009-07-29"},{Type:"language",Subtag:"kjo",Description:["Harijan Kinnauri"],Added:"2009-07-29"},{Type:"language",Subtag:"kjp",Description:["Pwo Eastern Karen"],Added:"2009-07-29"},{Type:"language",Subtag:"kjq",Description:["Western Keres"],Added:"2009-07-29"},{Type:"language",Subtag:"kjr",Description:["Kurudu"],Added:"2009-07-29"},{Type:"language",Subtag:"kjs",Description:["East Kewa"],Added:"2009-07-29"},{Type:"language",Subtag:"kjt",Description:["Phrae Pwo Karen"],Added:"2009-07-29"},{Type:"language",Subtag:"kju",Description:["Kashaya"],Added:"2009-07-29"},{Type:"language",Subtag:"kjv",Description:["Kaikavian Literary Language"],Added:"2015-02-12"},{Type:"language",Subtag:"kjx",Description:["Ramopa"],Added:"2009-07-29"},{Type:"language",Subtag:"kjy",Description:["Erave"],Added:"2009-07-29"},{Type:"language",Subtag:"kjz",Description:["Bumthangkha"],Added:"2009-07-29"},{Type:"language",Subtag:"kka",Description:["Kakanda"],Added:"2009-07-29"},{Type:"language",Subtag:"kkb",Description:["Kwerisa"],Added:"2009-07-29"},{Type:"language",Subtag:"kkc",Description:["Odoodee"],Added:"2009-07-29"},{Type:"language",Subtag:"kkd",Description:["Kinuku"],Added:"2009-07-29"},{Type:"language",Subtag:"kke",Description:["Kakabe"],Added:"2009-07-29"},{Type:"language",Subtag:"kkf",Description:["Kalaktang Monpa"],Added:"2009-07-29"},{Type:"language",Subtag:"kkg",Description:["Mabaka Valley Kalinga"],Added:"2009-07-29"},{Type:"language",Subtag:"kkh",Description:["Khün"],Added:"2009-07-29"},{Type:"language",Subtag:"kki",Description:["Kagulu"],Added:"2009-07-29"},{Type:"language",Subtag:"kkj",Description:["Kako"],Added:"2009-07-29"},{Type:"language",Subtag:"kkk",Description:["Kokota"],Added:"2009-07-29"},{Type:"language",Subtag:"kkl",Description:["Kosarek Yale"],Added:"2009-07-29"},{Type:"language",Subtag:"kkm",Description:["Kiong"],Added:"2009-07-29"},{Type:"language",Subtag:"kkn",Description:["Kon Keu"],Added:"2009-07-29"},{Type:"language",Subtag:"kko",Description:["Karko"],Added:"2009-07-29"},{Type:"language",Subtag:"kkp",Description:["Gugubera","Koko-Bera"],Added:"2009-07-29"},{Type:"language",Subtag:"kkq",Description:["Kaeku"],Added:"2009-07-29"},{Type:"language",Subtag:"kkr",Description:["Kir-Balar"],Added:"2009-07-29"},{Type:"language",Subtag:"kks",Description:["Giiwo"],Added:"2009-07-29"},{Type:"language",Subtag:"kkt",Description:["Koi"],Added:"2009-07-29"},{Type:"language",Subtag:"kku",Description:["Tumi"],Added:"2009-07-29"},{Type:"language",Subtag:"kkv",Description:["Kangean"],Added:"2009-07-29"},{Type:"language",Subtag:"kkw",Description:["Teke-Kukuya"],Added:"2009-07-29"},{Type:"language",Subtag:"kkx",Description:["Kohin"],Added:"2009-07-29"},{Type:"language",Subtag:"kky",Description:["Guugu Yimidhirr","Guguyimidjir"],Added:"2009-07-29"},{Type:"language",Subtag:"kkz",Description:["Kaska"],Added:"2009-07-29"},{Type:"language",Subtag:"kla",Description:["Klamath-Modoc"],Added:"2009-07-29"},{Type:"language",Subtag:"klb",Description:["Kiliwa"],Added:"2009-07-29"},{Type:"language",Subtag:"klc",Description:["Kolbila"],Added:"2009-07-29"},{Type:"language",Subtag:"kld",Description:["Gamilaraay"],Added:"2009-07-29"},{Type:"language",Subtag:"kle",Description:["Kulung (Nepal)"],Added:"2009-07-29"},{Type:"language",Subtag:"klf",Description:["Kendeje"],Added:"2009-07-29"},{Type:"language",Subtag:"klg",Description:["Tagakaulo"],Added:"2009-07-29"},{Type:"language",Subtag:"klh",Description:["Weliki"],Added:"2009-07-29"},{Type:"language",Subtag:"kli",Description:["Kalumpang"],Added:"2009-07-29"},{Type:"language",Subtag:"klj",Description:["Khalaj"],Added:"2009-07-29"},{Type:"language",Subtag:"klk",Description:["Kono (Nigeria)"],Added:"2009-07-29"},{Type:"language",Subtag:"kll",Description:["Kagan Kalagan"],Added:"2009-07-29"},{Type:"language",Subtag:"klm",Description:["Migum"],Added:"2009-07-29"},{Type:"language",Subtag:"kln",Description:["Kalenjin"],Added:"2009-07-29",Scope:"macrolanguage"},{Type:"language",Subtag:"klo",Description:["Kapya"],Added:"2009-07-29"},{Type:"language",Subtag:"klp",Description:["Kamasa"],Added:"2009-07-29"},{Type:"language",Subtag:"klq",Description:["Rumu"],Added:"2009-07-29"},{Type:"language",Subtag:"klr",Description:["Khaling"],Added:"2009-07-29"},{Type:"language",Subtag:"kls",Description:["Kalasha"],Added:"2009-07-29"},{Type:"language",Subtag:"klt",Description:["Nukna"],Added:"2009-07-29"},{Type:"language",Subtag:"klu",Description:["Klao"],Added:"2009-07-29"},{Type:"language",Subtag:"klv",Description:["Maskelynes"],Added:"2009-07-29"},{Type:"language",Subtag:"klw",Description:["Tado","Lindu"],Added:"2009-07-29"},{Type:"language",Subtag:"klx",Description:["Koluwawa"],Added:"2009-07-29"},{Type:"language",Subtag:"kly",Description:["Kalao"],Added:"2009-07-29"},{Type:"language",Subtag:"klz",Description:["Kabola"],Added:"2009-07-29"},{Type:"language",Subtag:"kma",Description:["Konni"],Added:"2009-07-29"},{Type:"language",Subtag:"kmb",Description:["Kimbundu"],Added:"2005-10-16"},{Type:"language",Subtag:"kmc",Description:["Southern Dong"],Added:"2009-07-29"},{Type:"language",Subtag:"kmd",Description:["Majukayang Kalinga"],Added:"2009-07-29"},{Type:"language",Subtag:"kme",Description:["Bakole"],Added:"2009-07-29"},{Type:"language",Subtag:"kmf",Description:["Kare (Papua New Guinea)"],Added:"2009-07-29"},{Type:"language",Subtag:"kmg",Description:["Kâte"],Added:"2009-07-29"},{Type:"language",Subtag:"kmh",Description:["Kalam"],Added:"2009-07-29"},{Type:"language",Subtag:"kmi",Description:["Kami (Nigeria)"],Added:"2009-07-29"},{Type:"language",Subtag:"kmj",Description:["Kumarbhag Paharia"],Added:"2009-07-29"},{Type:"language",Subtag:"kmk",Description:["Limos Kalinga"],Added:"2009-07-29"},{Type:"language",Subtag:"kml",Description:["Tanudan Kalinga"],Added:"2009-07-29"},{Type:"language",Subtag:"kmm",Description:["Kom (India)"],Added:"2009-07-29"},{Type:"language",Subtag:"kmn",Description:["Awtuw"],Added:"2009-07-29"},{Type:"language",Subtag:"kmo",Description:["Kwoma"],Added:"2009-07-29"},{Type:"language",Subtag:"kmp",Description:["Gimme"],Added:"2009-07-29"},{Type:"language",Subtag:"kmq",Description:["Kwama"],Added:"2009-07-29"},{Type:"language",Subtag:"kmr",Description:["Northern Kurdish"],Added:"2009-07-29",Macrolanguage:"ku"},{Type:"language",Subtag:"kms",Description:["Kamasau"],Added:"2009-07-29"},{Type:"language",Subtag:"kmt",Description:["Kemtuik"],Added:"2009-07-29"},{Type:"language",Subtag:"kmu",Description:["Kanite"],Added:"2009-07-29"},{Type:"language",Subtag:"kmv",Description:["Karipúna Creole French"],Added:"2009-07-29"},{Type:"language",Subtag:"kmw",Description:["Komo (Democratic Republic of Congo)"],Added:"2009-07-29"},{Type:"language",Subtag:"kmx",Description:["Waboda"],Added:"2009-07-29"},{Type:"language",Subtag:"kmy",Description:["Koma"],Added:"2009-07-29"},{Type:"language",Subtag:"kmz",Description:["Khorasani Turkish"],Added:"2009-07-29"},{Type:"language",Subtag:"kna",Description:["Dera (Nigeria)"],Added:"2009-07-29"},{Type:"language",Subtag:"knb",Description:["Lubuagan Kalinga"],Added:"2009-07-29"},{Type:"language",Subtag:"knc",Description:["Central Kanuri"],Added:"2009-07-29",Macrolanguage:"kr"},{Type:"language",Subtag:"knd",Description:["Konda"],Added:"2009-07-29"},{Type:"language",Subtag:"kne",Description:["Kankanaey"],Added:"2009-07-29"},{Type:"language",Subtag:"knf",Description:["Mankanya"],Added:"2009-07-29"},{Type:"language",Subtag:"kng",Description:["Koongo"],Added:"2009-07-29",Macrolanguage:"kg"},{Type:"language",Subtag:"kni",Description:["Kanufi"],Added:"2009-07-29"},{Type:"language",Subtag:"knj",Description:["Western Kanjobal"],Added:"2009-07-29"},{Type:"language",Subtag:"knk",Description:["Kuranko"],Added:"2009-07-29"},{Type:"language",Subtag:"knl",Description:["Keninjal"],Added:"2009-07-29"},{Type:"language",Subtag:"knm",Description:["Kanamarí"],Added:"2009-07-29"},{Type:"language",Subtag:"knn",Description:["Konkani (individual language)"],Added:"2009-07-29",Macrolanguage:"kok"},{Type:"language",Subtag:"kno",Description:["Kono (Sierra Leone)"],Added:"2009-07-29"},{Type:"language",Subtag:"knp",Description:["Kwanja"],Added:"2009-07-29"},{Type:"language",Subtag:"knq",Description:["Kintaq"],Added:"2009-07-29"},{Type:"language",Subtag:"knr",Description:["Kaningra"],Added:"2009-07-29"},{Type:"language",Subtag:"kns",Description:["Kensiu"],Added:"2009-07-29"},{Type:"language",Subtag:"knt",Description:["Panoan Katukína"],Added:"2009-07-29"},{Type:"language",Subtag:"knu",Description:["Kono (Guinea)"],Added:"2009-07-29"},{Type:"language",Subtag:"knv",Description:["Tabo"],Added:"2009-07-29"},{Type:"language",Subtag:"knw",Description:["Kung-Ekoka"],Added:"2009-07-29"},{Type:"language",Subtag:"knx",Description:["Kendayan","Salako"],Added:"2009-07-29"},{Type:"language",Subtag:"kny",Description:["Kanyok"],Added:"2009-07-29"},{Type:"language",Subtag:"knz",Description:["Kalamsé"],Added:"2009-07-29"},{Type:"language",Subtag:"koa",Description:["Konomala"],Added:"2009-07-29"},{Type:"language",Subtag:"koc",Description:["Kpati"],Added:"2009-07-29"},{Type:"language",Subtag:"kod",Description:["Kodi"],Added:"2009-07-29"},{Type:"language",Subtag:"koe",Description:["Kacipo-Bale Suri"],Added:"2009-07-29"},{Type:"language",Subtag:"kof",Description:["Kubi"],Added:"2009-07-29"},{Type:"language",Subtag:"kog",Description:["Cogui","Kogi"],Added:"2009-07-29"},{Type:"language",Subtag:"koh",Description:["Koyo"],Added:"2009-07-29"},{Type:"language",Subtag:"koi",Description:["Komi-Permyak"],Added:"2009-07-29",Macrolanguage:"kv"},{Type:"language",Subtag:"koj",Description:["Sara Dunjo"],Added:"2009-07-29",Deprecated:"2015-02-12","Preferred-Value":"kwv"},{Type:"language",Subtag:"kok",Description:["Konkani (macrolanguage)"],Added:"2005-10-16","Suppress-Script":"Deva",Scope:"macrolanguage"},{Type:"language",Subtag:"kol",Description:["Kol (Papua New Guinea)"],Added:"2009-07-29"},{Type:"language",Subtag:"koo",Description:["Konzo"],Added:"2009-07-29"},{Type:"language",Subtag:"kop",Description:["Waube"],Added:"2009-07-29"},{Type:"language",Subtag:"koq",Description:["Kota (Gabon)"],Added:"2009-07-29"},{Type:"language",Subtag:"kos",Description:["Kosraean"],Added:"2005-10-16"},{Type:"language",Subtag:"kot",Description:["Lagwan"],Added:"2009-07-29"},{Type:"language",Subtag:"kou",Description:["Koke"],Added:"2009-07-29"},{Type:"language",Subtag:"kov",Description:["Kudu-Camo"],Added:"2009-07-29"},{Type:"language",Subtag:"kow",Description:["Kugama"],Added:"2009-07-29"},{Type:"language",Subtag:"kox",Description:["Coxima"],Added:"2009-07-29",Deprecated:"2016-05-30"},{Type:"language",Subtag:"koy",Description:["Koyukon"],Added:"2009-07-29"},{Type:"language",Subtag:"koz",Description:["Korak"],Added:"2009-07-29"},{Type:"language",Subtag:"kpa",Description:["Kutto"],Added:"2009-07-29"},{Type:"language",Subtag:"kpb",Description:["Mullu Kurumba"],Added:"2009-07-29"},{Type:"language",Subtag:"kpc",Description:["Curripaco"],Added:"2009-07-29"},{Type:"language",Subtag:"kpd",Description:["Koba"],Added:"2009-07-29"},{Type:"language",Subtag:"kpe",Description:["Kpelle"],Added:"2005-10-16",Scope:"macrolanguage"},{Type:"language",Subtag:"kpf",Description:["Komba"],Added:"2009-07-29"},{Type:"language",Subtag:"kpg",Description:["Kapingamarangi"],Added:"2009-07-29"},{Type:"language",Subtag:"kph",Description:["Kplang"],Added:"2009-07-29"},{Type:"language",Subtag:"kpi",Description:["Kofei"],Added:"2009-07-29"},{Type:"language",Subtag:"kpj",Description:["Karajá"],Added:"2009-07-29"},{Type:"language",Subtag:"kpk",Description:["Kpan"],Added:"2009-07-29"},{Type:"language",Subtag:"kpl",Description:["Kpala"],Added:"2009-07-29"},{Type:"language",Subtag:"kpm",Description:["Koho"],Added:"2009-07-29"},{Type:"language",Subtag:"kpn",Description:["Kepkiriwát"],Added:"2009-07-29"},{Type:"language",Subtag:"kpo",Description:["Ikposo"],Added:"2009-07-29"},{Type:"language",Subtag:"kpp",Description:["Paku Karen"],Added:"2009-07-29",Deprecated:"2012-08-12",Comments:["see jkm, jkp"]},{Type:"language",Subtag:"kpq",Description:["Korupun-Sela"],Added:"2009-07-29"},{Type:"language",Subtag:"kpr",Description:["Korafe-Yegha"],Added:"2009-07-29"},{Type:"language",Subtag:"kps",Description:["Tehit"],Added:"2009-07-29"},{Type:"language",Subtag:"kpt",Description:["Karata"],Added:"2009-07-29"},{Type:"language",Subtag:"kpu",Description:["Kafoa"],Added:"2009-07-29"},{Type:"language",Subtag:"kpv",Description:["Komi-Zyrian"],Added:"2009-07-29",Macrolanguage:"kv"},{Type:"language",Subtag:"kpw",Description:["Kobon"],Added:"2009-07-29"},{Type:"language",Subtag:"kpx",Description:["Mountain Koiali"],Added:"2009-07-29"},{Type:"language",Subtag:"kpy",Description:["Koryak"],Added:"2009-07-29"},{Type:"language",Subtag:"kpz",Description:["Kupsabiny"],Added:"2009-07-29"},{Type:"language",Subtag:"kqa",Description:["Mum"],Added:"2009-07-29"},{Type:"language",Subtag:"kqb",Description:["Kovai"],Added:"2009-07-29"},{Type:"language",Subtag:"kqc",Description:["Doromu-Koki"],Added:"2009-07-29"},{Type:"language",Subtag:"kqd",Description:["Koy Sanjaq Surat"],Added:"2009-07-29"},{Type:"language",Subtag:"kqe",Description:["Kalagan"],Added:"2009-07-29"},{Type:"language",Subtag:"kqf",Description:["Kakabai"],Added:"2009-07-29"},{Type:"language",Subtag:"kqg",Description:["Khe"],Added:"2009-07-29"},{Type:"language",Subtag:"kqh",Description:["Kisankasa"],Added:"2009-07-29"},{Type:"language",Subtag:"kqi",Description:["Koitabu"],Added:"2009-07-29"},{Type:"language",Subtag:"kqj",Description:["Koromira"],Added:"2009-07-29"},{Type:"language",Subtag:"kqk",Description:["Kotafon Gbe"],Added:"2009-07-29"},{Type:"language",Subtag:"kql",Description:["Kyenele"],Added:"2009-07-29"},{Type:"language",Subtag:"kqm",Description:["Khisa"],Added:"2009-07-29"},{Type:"language",Subtag:"kqn",Description:["Kaonde"],Added:"2009-07-29"},{Type:"language",Subtag:"kqo",Description:["Eastern Krahn"],Added:"2009-07-29"},{Type:"language",Subtag:"kqp",Description:["Kimré"],Added:"2009-07-29"},{Type:"language",Subtag:"kqq",Description:["Krenak"],Added:"2009-07-29"},{Type:"language",Subtag:"kqr",Description:["Kimaragang"],Added:"2009-07-29"},{Type:"language",Subtag:"kqs",Description:["Northern Kissi"],Added:"2009-07-29"},{Type:"language",Subtag:"kqt",Description:["Klias River Kadazan"],Added:"2009-07-29"},{Type:"language",Subtag:"kqu",Description:["Seroa"],Added:"2009-07-29"},{Type:"language",Subtag:"kqv",Description:["Okolod"],Added:"2009-07-29"},{Type:"language",Subtag:"kqw",Description:["Kandas"],Added:"2009-07-29"},{Type:"language",Subtag:"kqx",Description:["Mser"],Added:"2009-07-29"},{Type:"language",Subtag:"kqy",Description:["Koorete"],Added:"2009-07-29"},{Type:"language",Subtag:"kqz",Description:["Korana"],Added:"2009-07-29"},{Type:"language",Subtag:"kra",Description:["Kumhali"],Added:"2009-07-29"},{Type:"language",Subtag:"krb",Description:["Karkin"],Added:"2009-07-29"},{Type:"language",Subtag:"krc",Description:["Karachay-Balkar"],Added:"2005-10-16"},{Type:"language",Subtag:"krd",Description:["Kairui-Midiki"],Added:"2009-07-29"},{Type:"language",Subtag:"kre",Description:["Panará"],Added:"2009-07-29"},{Type:"language",Subtag:"krf",Description:["Koro (Vanuatu)"],Added:"2009-07-29"},{Type:"language",Subtag:"krh",Description:["Kurama"],Added:"2009-07-29"},{Type:"language",Subtag:"kri",Description:["Krio"],Added:"2009-07-29"},{Type:"language",Subtag:"krj",Description:["Kinaray-A"],Added:"2009-07-29"},{Type:"language",Subtag:"krk",Description:["Kerek"],Added:"2009-07-29"},{Type:"language",Subtag:"krl",Description:["Karelian"],Added:"2006-03-08"},{Type:"language",Subtag:"krm",Description:["Krim"],Added:"2009-07-29",Deprecated:"2017-02-23","Preferred-Value":"bmf"},{Type:"language",Subtag:"krn",Description:["Sapo"],Added:"2009-07-29"},{Type:"language",Subtag:"kro",Description:["Kru languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"krp",Description:["Korop"],Added:"2009-07-29"},{Type:"language",Subtag:"krr",Description:["Krung"],Added:"2009-07-29"},{Type:"language",Subtag:"krs",Description:["Gbaya (Sudan)"],Added:"2009-07-29"},{Type:"language",Subtag:"krt",Description:["Tumari Kanuri"],Added:"2009-07-29",Macrolanguage:"kr"},{Type:"language",Subtag:"kru",Description:["Kurukh"],Added:"2005-10-16"},{Type:"language",Subtag:"krv",Description:["Kavet"],Added:"2009-07-29"},{Type:"language",Subtag:"krw",Description:["Western Krahn"],Added:"2009-07-29"},{Type:"language",Subtag:"krx",Description:["Karon"],Added:"2009-07-29"},{Type:"language",Subtag:"kry",Description:["Kryts"],Added:"2009-07-29"},{Type:"language",Subtag:"krz",Description:["Sota Kanum"],Added:"2009-07-29"},{Type:"language",Subtag:"ksa",Description:["Shuwa-Zamani"],Added:"2009-07-29"},{Type:"language",Subtag:"ksb",Description:["Shambala"],Added:"2009-07-29"},{Type:"language",Subtag:"ksc",Description:["Southern Kalinga"],Added:"2009-07-29"},{Type:"language",Subtag:"ksd",Description:["Kuanua"],Added:"2009-07-29"},{Type:"language",Subtag:"kse",Description:["Kuni"],Added:"2009-07-29"},{Type:"language",Subtag:"ksf",Description:["Bafia"],Added:"2009-07-29"},{Type:"language",Subtag:"ksg",Description:["Kusaghe"],Added:"2009-07-29"},{Type:"language",Subtag:"ksh",Description:["Kölsch"],Added:"2009-07-29"},{Type:"language",Subtag:"ksi",Description:["Krisa","I'saka"],Added:"2009-07-29"},{Type:"language",Subtag:"ksj",Description:["Uare"],Added:"2009-07-29"},{Type:"language",Subtag:"ksk",Description:["Kansa"],Added:"2009-07-29"},{Type:"language",Subtag:"ksl",Description:["Kumalu"],Added:"2009-07-29"},{Type:"language",Subtag:"ksm",Description:["Kumba"],Added:"2009-07-29"},{Type:"language",Subtag:"ksn",Description:["Kasiguranin"],Added:"2009-07-29"},{Type:"language",Subtag:"kso",Description:["Kofa"],Added:"2009-07-29"},{Type:"language",Subtag:"ksp",Description:["Kaba"],Added:"2009-07-29"},{Type:"language",Subtag:"ksq",Description:["Kwaami"],Added:"2009-07-29"},{Type:"language",Subtag:"ksr",Description:["Borong"],Added:"2009-07-29"},{Type:"language",Subtag:"kss",Description:["Southern Kisi"],Added:"2009-07-29"},{Type:"language",Subtag:"kst",Description:["Winyé"],Added:"2009-07-29"},{Type:"language",Subtag:"ksu",Description:["Khamyang"],Added:"2009-07-29"},{Type:"language",Subtag:"ksv",Description:["Kusu"],Added:"2009-07-29"},{Type:"language",Subtag:"ksw",Description:["S'gaw Karen"],Added:"2009-07-29"},{Type:"language",Subtag:"ksx",Description:["Kedang"],Added:"2009-07-29"},{Type:"language",Subtag:"ksy",Description:["Kharia Thar"],Added:"2009-07-29"},{Type:"language",Subtag:"ksz",Description:["Kodaku"],Added:"2009-07-29"},{Type:"language",Subtag:"kta",Description:["Katua"],Added:"2009-07-29"},{Type:"language",Subtag:"ktb",Description:["Kambaata"],Added:"2009-07-29"},{Type:"language",Subtag:"ktc",Description:["Kholok"],Added:"2009-07-29"},{Type:"language",Subtag:"ktd",Description:["Kokata","Kukatha"],Added:"2009-07-29"},{Type:"language",Subtag:"kte",Description:["Nubri"],Added:"2009-07-29"},{Type:"language",Subtag:"ktf",Description:["Kwami"],Added:"2009-07-29"},{Type:"language",Subtag:"ktg",Description:["Kalkutung"],Added:"2009-07-29"},{Type:"language",Subtag:"kth",Description:["Karanga"],Added:"2009-07-29"},{Type:"language",Subtag:"kti",Description:["North Muyu"],Added:"2009-07-29"},{Type:"language",Subtag:"ktj",Description:["Plapo Krumen"],Added:"2009-07-29"},{Type:"language",Subtag:"ktk",Description:["Kaniet"],Added:"2009-07-29"},{Type:"language",Subtag:"ktl",Description:["Koroshi"],Added:"2009-07-29"},{Type:"language",Subtag:"ktm",Description:["Kurti"],Added:"2009-07-29"},{Type:"language",Subtag:"ktn",Description:["Karitiâna"],Added:"2009-07-29"},{Type:"language",Subtag:"kto",Description:["Kuot"],Added:"2009-07-29"},{Type:"language",Subtag:"ktp",Description:["Kaduo"],Added:"2009-07-29"},{Type:"language",Subtag:"ktq",Description:["Katabaga"],Added:"2009-07-29"},{Type:"language",Subtag:"ktr",Description:["Kota Marudu Tinagas"],Added:"2009-07-29",Deprecated:"2016-05-30","Preferred-Value":"dtp"},{Type:"language",Subtag:"kts",Description:["South Muyu"],Added:"2009-07-29"},{Type:"language",Subtag:"ktt",Description:["Ketum"],Added:"2009-07-29"},{Type:"language",Subtag:"ktu",Description:["Kituba (Democratic Republic of Congo)"],Added:"2009-07-29"},{Type:"language",Subtag:"ktv",Description:["Eastern Katu"],Added:"2009-07-29"},{Type:"language",Subtag:"ktw",Description:["Kato"],Added:"2009-07-29"},{Type:"language",Subtag:"ktx",Description:["Kaxararí"],Added:"2009-07-29"},{Type:"language",Subtag:"kty",Description:["Kango (Bas-Uélé District)"],Added:"2009-07-29"},{Type:"language",Subtag:"ktz",Description:["Juǀʼhoan","Juǀʼhoansi"],Added:"2009-07-29"},{Type:"language",Subtag:"kub",Description:["Kutep"],Added:"2009-07-29"},{Type:"language",Subtag:"kuc",Description:["Kwinsu"],Added:"2009-07-29"},{Type:"language",Subtag:"kud",Description:["'Auhelawa"],Added:"2009-07-29"},{Type:"language",Subtag:"kue",Description:["Kuman (Papua New Guinea)"],Added:"2009-07-29"},{Type:"language",Subtag:"kuf",Description:["Western Katu"],Added:"2009-07-29"},{Type:"language",Subtag:"kug",Description:["Kupa"],Added:"2009-07-29"},{Type:"language",Subtag:"kuh",Description:["Kushi"],Added:"2009-07-29"},{Type:"language",Subtag:"kui",Description:["Kuikúro-Kalapálo","Kalapalo"],Added:"2009-07-29"},{Type:"language",Subtag:"kuj",Description:["Kuria"],Added:"2009-07-29"},{Type:"language",Subtag:"kuk",Description:["Kepo'"],Added:"2009-07-29"},{Type:"language",Subtag:"kul",Description:["Kulere"],Added:"2009-07-29"},{Type:"language",Subtag:"kum",Description:["Kumyk"],Added:"2005-10-16"},{Type:"language",Subtag:"kun",Description:["Kunama"],Added:"2009-07-29"},{Type:"language",Subtag:"kuo",Description:["Kumukio"],Added:"2009-07-29"},{Type:"language",Subtag:"kup",Description:["Kunimaipa"],Added:"2009-07-29"},{Type:"language",Subtag:"kuq",Description:["Karipuna"],Added:"2009-07-29"},{Type:"language",Subtag:"kus",Description:["Kusaal"],Added:"2009-07-29"},{Type:"language",Subtag:"kut",Description:["Kutenai"],Added:"2005-10-16"},{Type:"language",Subtag:"kuu",Description:["Upper Kuskokwim"],Added:"2009-07-29"},{Type:"language",Subtag:"kuv",Description:["Kur"],Added:"2009-07-29"},{Type:"language",Subtag:"kuw",Description:["Kpagua"],Added:"2009-07-29"},{Type:"language",Subtag:"kux",Description:["Kukatja"],Added:"2009-07-29"},{Type:"language",Subtag:"kuy",Description:["Kuuku-Ya'u"],Added:"2009-07-29"},{Type:"language",Subtag:"kuz",Description:["Kunza"],Added:"2009-07-29"},{Type:"language",Subtag:"kva",Description:["Bagvalal"],Added:"2009-07-29"},{Type:"language",Subtag:"kvb",Description:["Kubu"],Added:"2009-07-29",Macrolanguage:"ms"},{Type:"language",Subtag:"kvc",Description:["Kove"],Added:"2009-07-29"},{Type:"language",Subtag:"kvd",Description:["Kui (Indonesia)"],Added:"2009-07-29"},{Type:"language",Subtag:"kve",Description:["Kalabakan"],Added:"2009-07-29"},{Type:"language",Subtag:"kvf",Description:["Kabalai"],Added:"2009-07-29"},{Type:"language",Subtag:"kvg",Description:["Kuni-Boazi"],Added:"2009-07-29"},{Type:"language",Subtag:"kvh",Description:["Komodo"],Added:"2009-07-29"},{Type:"language",Subtag:"kvi",Description:["Kwang"],Added:"2009-07-29"},{Type:"language",Subtag:"kvj",Description:["Psikye"],Added:"2009-07-29"},{Type:"language",Subtag:"kvk",Description:["Korean Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"kvl",Description:["Kayaw"],Added:"2009-07-29"},{Type:"language",Subtag:"kvm",Description:["Kendem"],Added:"2009-07-29"},{Type:"language",Subtag:"kvn",Description:["Border Kuna"],Added:"2009-07-29"},{Type:"language",Subtag:"kvo",Description:["Dobel"],Added:"2009-07-29"},{Type:"language",Subtag:"kvp",Description:["Kompane"],Added:"2009-07-29"},{Type:"language",Subtag:"kvq",Description:["Geba Karen"],Added:"2009-07-29"},{Type:"language",Subtag:"kvr",Description:["Kerinci"],Added:"2009-07-29",Macrolanguage:"ms"},{Type:"language",Subtag:"kvs",Description:["Kunggara"],Added:"2009-07-29",Deprecated:"2016-05-30","Preferred-Value":"gdj"},{Type:"language",Subtag:"kvt",Description:["Lahta Karen","Lahta"],Added:"2009-07-29"},{Type:"language",Subtag:"kvu",Description:["Yinbaw Karen"],Added:"2009-07-29"},{Type:"language",Subtag:"kvv",Description:["Kola"],Added:"2009-07-29"},{Type:"language",Subtag:"kvw",Description:["Wersing"],Added:"2009-07-29"},{Type:"language",Subtag:"kvx",Description:["Parkari Koli"],Added:"2009-07-29"},{Type:"language",Subtag:"kvy",Description:["Yintale Karen","Yintale"],Added:"2009-07-29"},{Type:"language",Subtag:"kvz",Description:["Tsakwambo","Tsaukambo"],Added:"2009-07-29"},{Type:"language",Subtag:"kwa",Description:["Dâw"],Added:"2009-07-29"},{Type:"language",Subtag:"kwb",Description:["Kwa"],Added:"2009-07-29"},{Type:"language",Subtag:"kwc",Description:["Likwala"],Added:"2009-07-29"},{Type:"language",Subtag:"kwd",Description:["Kwaio"],Added:"2009-07-29"},{Type:"language",Subtag:"kwe",Description:["Kwerba"],Added:"2009-07-29"},{Type:"language",Subtag:"kwf",Description:["Kwara'ae"],Added:"2009-07-29"},{Type:"language",Subtag:"kwg",Description:["Sara Kaba Deme"],Added:"2009-07-29"},{Type:"language",Subtag:"kwh",Description:["Kowiai"],Added:"2009-07-29"},{Type:"language",Subtag:"kwi",Description:["Awa-Cuaiquer"],Added:"2009-07-29"},{Type:"language",Subtag:"kwj",Description:["Kwanga"],Added:"2009-07-29"},{Type:"language",Subtag:"kwk",Description:["Kwakiutl"],Added:"2009-07-29"},{Type:"language",Subtag:"kwl",Description:["Kofyar"],Added:"2009-07-29"},{Type:"language",Subtag:"kwm",Description:["Kwambi"],Added:"2009-07-29"},{Type:"language",Subtag:"kwn",Description:["Kwangali"],Added:"2009-07-29"},{Type:"language",Subtag:"kwo",Description:["Kwomtari"],Added:"2009-07-29"},{Type:"language",Subtag:"kwp",Description:["Kodia"],Added:"2009-07-29"},{Type:"language",Subtag:"kwq",Description:["Kwak"],Added:"2009-07-29",Deprecated:"2015-02-12","Preferred-Value":"yam"},{Type:"language",Subtag:"kwr",Description:["Kwer"],Added:"2009-07-29"},{Type:"language",Subtag:"kws",Description:["Kwese"],Added:"2009-07-29"},{Type:"language",Subtag:"kwt",Description:["Kwesten"],Added:"2009-07-29"},{Type:"language",Subtag:"kwu",Description:["Kwakum"],Added:"2009-07-29"},{Type:"language",Subtag:"kwv",Description:["Sara Kaba Náà"],Added:"2009-07-29"},{Type:"language",Subtag:"kww",Description:["Kwinti"],Added:"2009-07-29"},{Type:"language",Subtag:"kwx",Description:["Khirwar"],Added:"2009-07-29"},{Type:"language",Subtag:"kwy",Description:["San Salvador Kongo"],Added:"2009-07-29",Macrolanguage:"kg"},{Type:"language",Subtag:"kwz",Description:["Kwadi"],Added:"2009-07-29"},{Type:"language",Subtag:"kxa",Description:["Kairiru"],Added:"2009-07-29"},{Type:"language",Subtag:"kxb",Description:["Krobu"],Added:"2009-07-29"},{Type:"language",Subtag:"kxc",Description:["Konso","Khonso"],Added:"2009-07-29"},{Type:"language",Subtag:"kxd",Description:["Brunei"],Added:"2009-07-29",Macrolanguage:"ms"},{Type:"language",Subtag:"kxe",Description:["Kakihum"],Added:"2009-07-29",Deprecated:"2015-02-12","Preferred-Value":"tvd"},{Type:"language",Subtag:"kxf",Description:["Manumanaw Karen","Manumanaw"],Added:"2009-07-29"},{Type:"language",Subtag:"kxh",Description:["Karo (Ethiopia)"],Added:"2009-07-29"},{Type:"language",Subtag:"kxi",Description:["Keningau Murut"],Added:"2009-07-29"},{Type:"language",Subtag:"kxj",Description:["Kulfa"],Added:"2009-07-29"},{Type:"language",Subtag:"kxk",Description:["Zayein Karen"],Added:"2009-07-29"},{Type:"language",Subtag:"kxl",Description:["Nepali Kurux"],Added:"2009-07-29",Deprecated:"2020-03-28","Preferred-Value":"kru"},{Type:"language",Subtag:"kxm",Description:["Northern Khmer"],Added:"2009-07-29"},{Type:"language",Subtag:"kxn",Description:["Kanowit-Tanjong Melanau"],Added:"2009-07-29"},{Type:"language",Subtag:"kxo",Description:["Kanoé"],Added:"2009-07-29"},{Type:"language",Subtag:"kxp",Description:["Wadiyara Koli"],Added:"2009-07-29"},{Type:"language",Subtag:"kxq",Description:["Smärky Kanum"],Added:"2009-07-29"},{Type:"language",Subtag:"kxr",Description:["Koro (Papua New Guinea)"],Added:"2009-07-29"},{Type:"language",Subtag:"kxs",Description:["Kangjia"],Added:"2009-07-29"},{Type:"language",Subtag:"kxt",Description:["Koiwat"],Added:"2009-07-29"},{Type:"language",Subtag:"kxu",Description:["Kui (India)"],Added:"2009-07-29",Deprecated:"2020-03-28",Comments:["see dwk, uki"]},{Type:"language",Subtag:"kxv",Description:["Kuvi"],Added:"2009-07-29"},{Type:"language",Subtag:"kxw",Description:["Konai"],Added:"2009-07-29"},{Type:"language",Subtag:"kxx",Description:["Likuba"],Added:"2009-07-29"},{Type:"language",Subtag:"kxy",Description:["Kayong"],Added:"2009-07-29"},{Type:"language",Subtag:"kxz",Description:["Kerewo"],Added:"2009-07-29"},{Type:"language",Subtag:"kya",Description:["Kwaya"],Added:"2009-07-29"},{Type:"language",Subtag:"kyb",Description:["Butbut Kalinga"],Added:"2009-07-29"},{Type:"language",Subtag:"kyc",Description:["Kyaka"],Added:"2009-07-29"},{Type:"language",Subtag:"kyd",Description:["Karey"],Added:"2009-07-29"},{Type:"language",Subtag:"kye",Description:["Krache"],Added:"2009-07-29"},{Type:"language",Subtag:"kyf",Description:["Kouya"],Added:"2009-07-29"},{Type:"language",Subtag:"kyg",Description:["Keyagana"],Added:"2009-07-29"},{Type:"language",Subtag:"kyh",Description:["Karok"],Added:"2009-07-29"},{Type:"language",Subtag:"kyi",Description:["Kiput"],Added:"2009-07-29"},{Type:"language",Subtag:"kyj",Description:["Karao"],Added:"2009-07-29"},{Type:"language",Subtag:"kyk",Description:["Kamayo"],Added:"2009-07-29"},{Type:"language",Subtag:"kyl",Description:["Kalapuya"],Added:"2009-07-29"},{Type:"language",Subtag:"kym",Description:["Kpatili"],Added:"2009-07-29"},{Type:"language",Subtag:"kyn",Description:["Northern Binukidnon"],Added:"2009-07-29"},{Type:"language",Subtag:"kyo",Description:["Kelon"],Added:"2009-07-29"},{Type:"language",Subtag:"kyp",Description:["Kang"],Added:"2009-07-29"},{Type:"language",Subtag:"kyq",Description:["Kenga"],Added:"2009-07-29"},{Type:"language",Subtag:"kyr",Description:["Kuruáya"],Added:"2009-07-29"},{Type:"language",Subtag:"kys",Description:["Baram Kayan"],Added:"2009-07-29"},{Type:"language",Subtag:"kyt",Description:["Kayagar"],Added:"2009-07-29"},{Type:"language",Subtag:"kyu",Description:["Western Kayah"],Added:"2009-07-29"},{Type:"language",Subtag:"kyv",Description:["Kayort"],Added:"2009-07-29"},{Type:"language",Subtag:"kyw",Description:["Kudmali"],Added:"2009-07-29"},{Type:"language",Subtag:"kyx",Description:["Rapoisi"],Added:"2009-07-29"},{Type:"language",Subtag:"kyy",Description:["Kambaira"],Added:"2009-07-29"},{Type:"language",Subtag:"kyz",Description:["Kayabí"],Added:"2009-07-29"},{Type:"language",Subtag:"kza",Description:["Western Karaboro"],Added:"2009-07-29"},{Type:"language",Subtag:"kzb",Description:["Kaibobo"],Added:"2009-07-29"},{Type:"language",Subtag:"kzc",Description:["Bondoukou Kulango"],Added:"2009-07-29"},{Type:"language",Subtag:"kzd",Description:["Kadai"],Added:"2009-07-29"},{Type:"language",Subtag:"kze",Description:["Kosena"],Added:"2009-07-29"},{Type:"language",Subtag:"kzf",Description:["Da'a Kaili"],Added:"2009-07-29"},{Type:"language",Subtag:"kzg",Description:["Kikai"],Added:"2009-07-29"},{Type:"language",Subtag:"kzh",Description:["Kenuzi-Dongola"],Added:"2009-07-29",Deprecated:"2012-08-12",Comments:["see dgl, xnz"]},{Type:"language",Subtag:"kzi",Description:["Kelabit"],Added:"2009-07-29"},{Type:"language",Subtag:"kzj",Description:["Coastal Kadazan"],Added:"2009-07-29",Deprecated:"2016-05-30","Preferred-Value":"dtp"},{Type:"language",Subtag:"kzk",Description:["Kazukuru"],Added:"2009-07-29"},{Type:"language",Subtag:"kzl",Description:["Kayeli"],Added:"2009-07-29"},{Type:"language",Subtag:"kzm",Description:["Kais"],Added:"2009-07-29"},{Type:"language",Subtag:"kzn",Description:["Kokola"],Added:"2009-07-29"},{Type:"language",Subtag:"kzo",Description:["Kaningi"],Added:"2009-07-29"},{Type:"language",Subtag:"kzp",Description:["Kaidipang"],Added:"2009-07-29"},{Type:"language",Subtag:"kzq",Description:["Kaike"],Added:"2009-07-29"},{Type:"language",Subtag:"kzr",Description:["Karang"],Added:"2009-07-29"},{Type:"language",Subtag:"kzs",Description:["Sugut Dusun"],Added:"2009-07-29"},{Type:"language",Subtag:"kzt",Description:["Tambunan Dusun"],Added:"2009-07-29",Deprecated:"2016-05-30","Preferred-Value":"dtp"},{Type:"language",Subtag:"kzu",Description:["Kayupulau"],Added:"2009-07-29"},{Type:"language",Subtag:"kzv",Description:["Komyandaret"],Added:"2009-07-29"},{Type:"language",Subtag:"kzw",Description:["Karirí-Xocó"],Added:"2009-07-29"},{Type:"language",Subtag:"kzx",Description:["Kamarian"],Added:"2009-07-29"},{Type:"language",Subtag:"kzy",Description:["Kango (Tshopo District)"],Added:"2009-07-29"},{Type:"language",Subtag:"kzz",Description:["Kalabra"],Added:"2009-07-29"},{Type:"language",Subtag:"laa",Description:["Southern Subanen"],Added:"2009-07-29"},{Type:"language",Subtag:"lab",Description:["Linear A"],Added:"2009-07-29"},{Type:"language",Subtag:"lac",Description:["Lacandon"],Added:"2009-07-29"},{Type:"language",Subtag:"lad",Description:["Ladino"],Added:"2005-10-16"},{Type:"language",Subtag:"lae",Description:["Pattani"],Added:"2009-07-29"},{Type:"language",Subtag:"laf",Description:["Lafofa"],Added:"2009-07-29"},{Type:"language",Subtag:"lag",Description:["Langi"],Added:"2009-07-29"},{Type:"language",Subtag:"lah",Description:["Lahnda"],Added:"2005-10-16",Scope:"macrolanguage"},{Type:"language",Subtag:"lai",Description:["Lambya"],Added:"2009-07-29"},{Type:"language",Subtag:"laj",Description:["Lango (Uganda)"],Added:"2009-07-29"},{Type:"language",Subtag:"lak",Description:["Laka (Nigeria)"],Added:"2009-07-29",Deprecated:"2022-02-25","Preferred-Value":"ksp"},{Type:"language",Subtag:"lal",Description:["Lalia"],Added:"2009-07-29"},{Type:"language",Subtag:"lam",Description:["Lamba"],Added:"2005-10-16"},{Type:"language",Subtag:"lan",Description:["Laru"],Added:"2009-07-29"},{Type:"language",Subtag:"lap",Description:["Laka (Chad)"],Added:"2009-07-29"},{Type:"language",Subtag:"laq",Description:["Qabiao"],Added:"2009-07-29"},{Type:"language",Subtag:"lar",Description:["Larteh"],Added:"2009-07-29"},{Type:"language",Subtag:"las",Description:["Lama (Togo)"],Added:"2009-07-29"},{Type:"language",Subtag:"lau",Description:["Laba"],Added:"2009-07-29"},{Type:"language",Subtag:"law",Description:["Lauje"],Added:"2009-07-29"},{Type:"language",Subtag:"lax",Description:["Tiwa"],Added:"2009-07-29"},{Type:"language",Subtag:"lay",Description:["Lama Bai"],Added:"2009-07-29"},{Type:"language",Subtag:"laz",Description:["Aribwatsa"],Added:"2009-07-29"},{Type:"language",Subtag:"lba",Description:["Lui"],Added:"2009-07-29",Deprecated:"2019-04-16"},{Type:"language",Subtag:"lbb",Description:["Label"],Added:"2009-07-29"},{Type:"language",Subtag:"lbc",Description:["Lakkia"],Added:"2009-07-29"},{Type:"language",Subtag:"lbe",Description:["Lak"],Added:"2009-07-29"},{Type:"language",Subtag:"lbf",Description:["Tinani"],Added:"2009-07-29"},{Type:"language",Subtag:"lbg",Description:["Laopang"],Added:"2009-07-29"},{Type:"language",Subtag:"lbi",Description:["La'bi"],Added:"2009-07-29"},{Type:"language",Subtag:"lbj",Description:["Ladakhi"],Added:"2009-07-29"},{Type:"language",Subtag:"lbk",Description:["Central Bontok"],Added:"2010-03-11",Macrolanguage:"bnc"},{Type:"language",Subtag:"lbl",Description:["Libon Bikol"],Added:"2010-03-11",Macrolanguage:"bik"},{Type:"language",Subtag:"lbm",Description:["Lodhi"],Added:"2009-07-29"},{Type:"language",Subtag:"lbn",Description:["Rmeet"],Added:"2009-07-29"},{Type:"language",Subtag:"lbo",Description:["Laven"],Added:"2009-07-29"},{Type:"language",Subtag:"lbq",Description:["Wampar"],Added:"2009-07-29"},{Type:"language",Subtag:"lbr",Description:["Lohorung"],Added:"2009-07-29"},{Type:"language",Subtag:"lbs",Description:["Libyan Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"lbt",Description:["Lachi"],Added:"2009-07-29"},{Type:"language",Subtag:"lbu",Description:["Labu"],Added:"2009-07-29"},{Type:"language",Subtag:"lbv",Description:["Lavatbura-Lamusong"],Added:"2009-07-29"},{Type:"language",Subtag:"lbw",Description:["Tolaki"],Added:"2009-07-29"},{Type:"language",Subtag:"lbx",Description:["Lawangan"],Added:"2009-07-29"},{Type:"language",Subtag:"lby",Description:["Lamalama","Lamu-Lamu"],Added:"2009-07-29"},{Type:"language",Subtag:"lbz",Description:["Lardil"],Added:"2009-07-29"},{Type:"language",Subtag:"lcc",Description:["Legenyem"],Added:"2009-07-29"},{Type:"language",Subtag:"lcd",Description:["Lola"],Added:"2009-07-29"},{Type:"language",Subtag:"lce",Description:["Loncong","Sekak"],Added:"2009-07-29",Macrolanguage:"ms"},{Type:"language",Subtag:"lcf",Description:["Lubu"],Added:"2009-07-29",Macrolanguage:"ms"},{Type:"language",Subtag:"lch",Description:["Luchazi"],Added:"2009-07-29"},{Type:"language",Subtag:"lcl",Description:["Lisela"],Added:"2009-07-29"},{Type:"language",Subtag:"lcm",Description:["Tungag"],Added:"2009-07-29"},{Type:"language",Subtag:"lcp",Description:["Western Lawa"],Added:"2009-07-29"},{Type:"language",Subtag:"lcq",Description:["Luhu"],Added:"2009-07-29"},{Type:"language",Subtag:"lcs",Description:["Lisabata-Nuniali"],Added:"2009-07-29"},{Type:"language",Subtag:"lda",Description:["Kla-Dan"],Added:"2013-09-10"},{Type:"language",Subtag:"ldb",Description:["Dũya"],Added:"2009-07-29"},{Type:"language",Subtag:"ldd",Description:["Luri"],Added:"2009-07-29"},{Type:"language",Subtag:"ldg",Description:["Lenyima"],Added:"2009-07-29"},{Type:"language",Subtag:"ldh",Description:["Lamja-Dengsa-Tola"],Added:"2009-07-29"},{Type:"language",Subtag:"ldi",Description:["Laari"],Added:"2009-07-29",Macrolanguage:"kg"},{Type:"language",Subtag:"ldj",Description:["Lemoro"],Added:"2009-07-29"},{Type:"language",Subtag:"ldk",Description:["Leelau"],Added:"2009-07-29"},{Type:"language",Subtag:"ldl",Description:["Kaan"],Added:"2009-07-29"},{Type:"language",Subtag:"ldm",Description:["Landoma"],Added:"2009-07-29"},{Type:"language",Subtag:"ldn",Description:["Láadan"],Added:"2009-07-29"},{Type:"language",Subtag:"ldo",Description:["Loo"],Added:"2009-07-29"},{Type:"language",Subtag:"ldp",Description:["Tso"],Added:"2009-07-29"},{Type:"language",Subtag:"ldq",Description:["Lufu"],Added:"2009-07-29"},{Type:"language",Subtag:"lea",Description:["Lega-Shabunda"],Added:"2009-07-29"},{Type:"language",Subtag:"leb",Description:["Lala-Bisa"],Added:"2009-07-29"},{Type:"language",Subtag:"lec",Description:["Leco"],Added:"2009-07-29"},{Type:"language",Subtag:"led",Description:["Lendu"],Added:"2009-07-29"},{Type:"language",Subtag:"lee",Description:["Lyélé"],Added:"2009-07-29"},{Type:"language",Subtag:"lef",Description:["Lelemi"],Added:"2009-07-29"},{Type:"language",Subtag:"leg",Description:["Lengua"],Added:"2009-07-29",Deprecated:"2014-02-28",Comments:["see enl, enx"]},{Type:"language",Subtag:"leh",Description:["Lenje"],Added:"2009-07-29"},{Type:"language",Subtag:"lei",Description:["Lemio"],Added:"2009-07-29"},{Type:"language",Subtag:"lej",Description:["Lengola"],Added:"2009-07-29"},{Type:"language",Subtag:"lek",Description:["Leipon"],Added:"2009-07-29"},{Type:"language",Subtag:"lel",Description:["Lele (Democratic Republic of Congo)"],Added:"2009-07-29"},{Type:"language",Subtag:"lem",Description:["Nomaande"],Added:"2009-07-29"},{Type:"language",Subtag:"len",Description:["Lenca"],Added:"2009-07-29"},{Type:"language",Subtag:"leo",Description:["Leti (Cameroon)"],Added:"2009-07-29"},{Type:"language",Subtag:"lep",Description:["Lepcha"],Added:"2009-07-29"},{Type:"language",Subtag:"leq",Description:["Lembena"],Added:"2009-07-29"},{Type:"language",Subtag:"ler",Description:["Lenkau"],Added:"2009-07-29"},{Type:"language",Subtag:"les",Description:["Lese"],Added:"2009-07-29"},{Type:"language",Subtag:"let",Description:["Lesing-Gelimi","Amio-Gelimi"],Added:"2009-07-29"},{Type:"language",Subtag:"leu",Description:["Kara (Papua New Guinea)"],Added:"2009-07-29"},{Type:"language",Subtag:"lev",Description:["Lamma"],Added:"2009-07-29"},{Type:"language",Subtag:"lew",Description:["Ledo Kaili"],Added:"2009-07-29"},{Type:"language",Subtag:"lex",Description:["Luang"],Added:"2009-07-29"},{Type:"language",Subtag:"ley",Description:["Lemolang"],Added:"2009-07-29"},{Type:"language",Subtag:"lez",Description:["Lezghian"],Added:"2005-10-16"},{Type:"language",Subtag:"lfa",Description:["Lefa"],Added:"2009-07-29"},{Type:"language",Subtag:"lfn",Description:["Lingua Franca Nova"],Added:"2009-07-29"},{Type:"language",Subtag:"lga",Description:["Lungga"],Added:"2009-07-29"},{Type:"language",Subtag:"lgb",Description:["Laghu"],Added:"2009-07-29"},{Type:"language",Subtag:"lgg",Description:["Lugbara"],Added:"2009-07-29"},{Type:"language",Subtag:"lgh",Description:["Laghuu"],Added:"2009-07-29"},{Type:"language",Subtag:"lgi",Description:["Lengilu"],Added:"2009-07-29"},{Type:"language",Subtag:"lgk",Description:["Lingarak","Neverver"],Added:"2009-07-29"},{Type:"language",Subtag:"lgl",Description:["Wala"],Added:"2009-07-29"},{Type:"language",Subtag:"lgm",Description:["Lega-Mwenga"],Added:"2009-07-29"},{Type:"language",Subtag:"lgn",Description:["T'apo","Opuuo"],Added:"2009-07-29"},{Type:"language",Subtag:"lgo",Description:["Lango (South Sudan)"],Added:"2022-02-25"},{Type:"language",Subtag:"lgq",Description:["Logba"],Added:"2009-07-29"},{Type:"language",Subtag:"lgr",Description:["Lengo"],Added:"2009-07-29"},{Type:"language",Subtag:"lgt",Description:["Pahi"],Added:"2009-07-29"},{Type:"language",Subtag:"lgu",Description:["Longgu"],Added:"2009-07-29"},{Type:"language",Subtag:"lgz",Description:["Ligenza"],Added:"2009-07-29"},{Type:"language",Subtag:"lha",Description:["Laha (Viet Nam)"],Added:"2009-07-29"},{Type:"language",Subtag:"lhh",Description:["Laha (Indonesia)"],Added:"2009-07-29"},{Type:"language",Subtag:"lhi",Description:["Lahu Shi"],Added:"2009-07-29"},{Type:"language",Subtag:"lhl",Description:["Lahul Lohar"],Added:"2009-07-29"},{Type:"language",Subtag:"lhm",Description:["Lhomi"],Added:"2009-07-29"},{Type:"language",Subtag:"lhn",Description:["Lahanan"],Added:"2009-07-29"},{Type:"language",Subtag:"lhp",Description:["Lhokpu"],Added:"2009-07-29"},{Type:"language",Subtag:"lhs",Description:["Mlahsö"],Added:"2009-07-29"},{Type:"language",Subtag:"lht",Description:["Lo-Toga"],Added:"2009-07-29"},{Type:"language",Subtag:"lhu",Description:["Lahu"],Added:"2009-07-29"},{Type:"language",Subtag:"lia",Description:["West-Central Limba"],Added:"2009-07-29"},{Type:"language",Subtag:"lib",Description:["Likum"],Added:"2009-07-29"},{Type:"language",Subtag:"lic",Description:["Hlai"],Added:"2009-07-29"},{Type:"language",Subtag:"lid",Description:["Nyindrou"],Added:"2009-07-29"},{Type:"language",Subtag:"lie",Description:["Likila"],Added:"2009-07-29"},{Type:"language",Subtag:"lif",Description:["Limbu"],Added:"2009-07-29"},{Type:"language",Subtag:"lig",Description:["Ligbi"],Added:"2009-07-29"},{Type:"language",Subtag:"lih",Description:["Lihir"],Added:"2009-07-29"},{Type:"language",Subtag:"lii",Description:["Lingkhim"],Added:"2009-07-29",Deprecated:"2015-02-12","Preferred-Value":"raq"},{Type:"language",Subtag:"lij",Description:["Ligurian"],Added:"2009-07-29"},{Type:"language",Subtag:"lik",Description:["Lika"],Added:"2009-07-29"},{Type:"language",Subtag:"lil",Description:["Lillooet"],Added:"2009-07-29"},{Type:"language",Subtag:"lio",Description:["Liki"],Added:"2009-07-29"},{Type:"language",Subtag:"lip",Description:["Sekpele"],Added:"2009-07-29"},{Type:"language",Subtag:"liq",Description:["Libido"],Added:"2009-07-29"},{Type:"language",Subtag:"lir",Description:["Liberian English"],Added:"2009-07-29"},{Type:"language",Subtag:"lis",Description:["Lisu"],Added:"2009-07-29"},{Type:"language",Subtag:"liu",Description:["Logorik"],Added:"2009-07-29"},{Type:"language",Subtag:"liv",Description:["Liv"],Added:"2009-07-29"},{Type:"language",Subtag:"liw",Description:["Col"],Added:"2009-07-29",Macrolanguage:"ms"},{Type:"language",Subtag:"lix",Description:["Liabuku"],Added:"2009-07-29"},{Type:"language",Subtag:"liy",Description:["Banda-Bambari"],Added:"2009-07-29"},{Type:"language",Subtag:"liz",Description:["Libinza"],Added:"2009-07-29"},{Type:"language",Subtag:"lja",Description:["Golpa"],Added:"2013-09-10"},{Type:"language",Subtag:"lje",Description:["Rampi"],Added:"2009-07-29"},{Type:"language",Subtag:"lji",Description:["Laiyolo"],Added:"2009-07-29"},{Type:"language",Subtag:"ljl",Description:["Li'o"],Added:"2009-07-29"},{Type:"language",Subtag:"ljp",Description:["Lampung Api"],Added:"2009-07-29"},{Type:"language",Subtag:"ljw",Description:["Yirandali"],Added:"2013-09-10"},{Type:"language",Subtag:"ljx",Description:["Yuru"],Added:"2013-09-10"},{Type:"language",Subtag:"lka",Description:["Lakalei"],Added:"2009-07-29"},{Type:"language",Subtag:"lkb",Description:["Kabras","Lukabaras"],Added:"2009-07-29",Macrolanguage:"luy"},{Type:"language",Subtag:"lkc",Description:["Kucong"],Added:"2009-07-29"},{Type:"language",Subtag:"lkd",Description:["Lakondê"],Added:"2009-07-29"},{Type:"language",Subtag:"lke",Description:["Kenyi"],Added:"2009-07-29"},{Type:"language",Subtag:"lkh",Description:["Lakha"],Added:"2009-07-29"},{Type:"language",Subtag:"lki",Description:["Laki"],Added:"2009-07-29"},{Type:"language",Subtag:"lkj",Description:["Remun"],Added:"2009-07-29"},{Type:"language",Subtag:"lkl",Description:["Laeko-Libuat"],Added:"2009-07-29"},{Type:"language",Subtag:"lkm",Description:["Kalaamaya"],Added:"2013-09-10"},{Type:"language",Subtag:"lkn",Description:["Lakon","Vure"],Added:"2009-07-29"},{Type:"language",Subtag:"lko",Description:["Khayo","Olukhayo"],Added:"2009-07-29",Macrolanguage:"luy"},{Type:"language",Subtag:"lkr",Description:["Päri"],Added:"2009-07-29"},{Type:"language",Subtag:"lks",Description:["Kisa","Olushisa"],Added:"2009-07-29",Macrolanguage:"luy"},{Type:"language",Subtag:"lkt",Description:["Lakota"],Added:"2009-07-29"},{Type:"language",Subtag:"lku",Description:["Kungkari"],Added:"2013-09-10"},{Type:"language",Subtag:"lky",Description:["Lokoya"],Added:"2009-07-29"},{Type:"language",Subtag:"lla",Description:["Lala-Roba"],Added:"2009-07-29"},{Type:"language",Subtag:"llb",Description:["Lolo"],Added:"2009-07-29"},{Type:"language",Subtag:"llc",Description:["Lele (Guinea)"],Added:"2009-07-29"},{Type:"language",Subtag:"lld",Description:["Ladin"],Added:"2009-07-29"},{Type:"language",Subtag:"lle",Description:["Lele (Papua New Guinea)"],Added:"2009-07-29"},{Type:"language",Subtag:"llf",Description:["Hermit"],Added:"2009-07-29"},{Type:"language",Subtag:"llg",Description:["Lole"],Added:"2009-07-29"},{Type:"language",Subtag:"llh",Description:["Lamu"],Added:"2009-07-29"},{Type:"language",Subtag:"lli",Description:["Teke-Laali"],Added:"2009-07-29"},{Type:"language",Subtag:"llj",Description:["Ladji Ladji"],Added:"2012-08-12"},{Type:"language",Subtag:"llk",Description:["Lelak"],Added:"2009-07-29"},{Type:"language",Subtag:"lll",Description:["Lilau"],Added:"2009-07-29"},{Type:"language",Subtag:"llm",Description:["Lasalimu"],Added:"2009-07-29"},{Type:"language",Subtag:"lln",Description:["Lele (Chad)"],Added:"2009-07-29"},{Type:"language",Subtag:"llo",Description:["Khlor"],Added:"2009-07-29",Deprecated:"2019-04-16","Preferred-Value":"ngt"},{Type:"language",Subtag:"llp",Description:["North Efate"],Added:"2009-07-29"},{Type:"language",Subtag:"llq",Description:["Lolak"],Added:"2009-07-29"},{Type:"language",Subtag:"lls",Description:["Lithuanian Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"llu",Description:["Lau"],Added:"2009-07-29"},{Type:"language",Subtag:"llx",Description:["Lauan"],Added:"2009-07-29"},{Type:"language",Subtag:"lma",Description:["East Limba"],Added:"2009-07-29"},{Type:"language",Subtag:"lmb",Description:["Merei"],Added:"2009-07-29"},{Type:"language",Subtag:"lmc",Description:["Limilngan"],Added:"2009-07-29"},{Type:"language",Subtag:"lmd",Description:["Lumun"],Added:"2009-07-29"},{Type:"language",Subtag:"lme",Description:["Pévé"],Added:"2009-07-29"},{Type:"language",Subtag:"lmf",Description:["South Lembata"],Added:"2009-07-29"},{Type:"language",Subtag:"lmg",Description:["Lamogai"],Added:"2009-07-29"},{Type:"language",Subtag:"lmh",Description:["Lambichhong"],Added:"2009-07-29"},{Type:"language",Subtag:"lmi",Description:["Lombi"],Added:"2009-07-29"},{Type:"language",Subtag:"lmj",Description:["West Lembata"],Added:"2009-07-29"},{Type:"language",Subtag:"lmk",Description:["Lamkang"],Added:"2009-07-29"},{Type:"language",Subtag:"lml",Description:["Hano"],Added:"2009-07-29"},{Type:"language",Subtag:"lmm",Description:["Lamam"],Added:"2009-07-29",Deprecated:"2014-02-28","Preferred-Value":"rmx"},{Type:"language",Subtag:"lmn",Description:["Lambadi"],Added:"2009-07-29"},{Type:"language",Subtag:"lmo",Description:["Lombard"],Added:"2009-07-29"},{Type:"language",Subtag:"lmp",Description:["Limbum"],Added:"2009-07-29"},{Type:"language",Subtag:"lmq",Description:["Lamatuka"],Added:"2009-07-29"},{Type:"language",Subtag:"lmr",Description:["Lamalera"],Added:"2009-07-29"},{Type:"language",Subtag:"lmu",Description:["Lamenu"],Added:"2009-07-29"},{Type:"language",Subtag:"lmv",Description:["Lomaiviti"],Added:"2009-07-29"},{Type:"language",Subtag:"lmw",Description:["Lake Miwok"],Added:"2009-07-29"},{Type:"language",Subtag:"lmx",Description:["Laimbue"],Added:"2009-07-29"},{Type:"language",Subtag:"lmy",Description:["Lamboya"],Added:"2009-07-29"},{Type:"language",Subtag:"lmz",Description:["Lumbee"],Added:"2009-07-29",Deprecated:"2020-03-28"},{Type:"language",Subtag:"lna",Description:["Langbashe"],Added:"2009-07-29"},{Type:"language",Subtag:"lnb",Description:["Mbalanhu"],Added:"2009-07-29"},{Type:"language",Subtag:"lnd",Description:["Lundayeh","Lun Bawang"],Added:"2009-07-29"},{Type:"language",Subtag:"lng",Description:["Langobardic"],Added:"2009-07-29"},{Type:"language",Subtag:"lnh",Description:["Lanoh"],Added:"2009-07-29"},{Type:"language",Subtag:"lni",Description:["Daantanai'"],Added:"2009-07-29"},{Type:"language",Subtag:"lnj",Description:["Leningitij"],Added:"2009-07-29"},{Type:"language",Subtag:"lnl",Description:["South Central Banda"],Added:"2009-07-29"},{Type:"language",Subtag:"lnm",Description:["Langam"],Added:"2009-07-29"},{Type:"language",Subtag:"lnn",Description:["Lorediakarkar"],Added:"2009-07-29"},{Type:"language",Subtag:"lno",Description:["Lango (South Sudan)"],Added:"2009-07-29",Deprecated:"2022-02-25",Comments:["see imt, lgo, lqr, oie"]},{Type:"language",Subtag:"lns",Description:["Lamnso'"],Added:"2009-07-29"},{Type:"language",Subtag:"lnu",Description:["Longuda"],Added:"2009-07-29"},{Type:"language",Subtag:"lnw",Description:["Lanima"],Added:"2013-09-10"},{Type:"language",Subtag:"lnz",Description:["Lonzo"],Added:"2009-07-29"},{Type:"language",Subtag:"loa",Description:["Loloda"],Added:"2009-07-29"},{Type:"language",Subtag:"lob",Description:["Lobi"],Added:"2009-07-29"},{Type:"language",Subtag:"loc",Description:["Inonhan"],Added:"2009-07-29"},{Type:"language",Subtag:"loe",Description:["Saluan"],Added:"2009-07-29"},{Type:"language",Subtag:"lof",Description:["Logol"],Added:"2009-07-29"},{Type:"language",Subtag:"log",Description:["Logo"],Added:"2009-07-29"},{Type:"language",Subtag:"loh",Description:["Narim"],Added:"2009-07-29"},{Type:"language",Subtag:"loi",Description:["Loma (Côte d'Ivoire)"],Added:"2009-07-29"},{Type:"language",Subtag:"loj",Description:["Lou"],Added:"2009-07-29"},{Type:"language",Subtag:"lok",Description:["Loko"],Added:"2009-07-29"},{Type:"language",Subtag:"lol",Description:["Mongo"],Added:"2005-10-16"},{Type:"language",Subtag:"lom",Description:["Loma (Liberia)"],Added:"2009-07-29"},{Type:"language",Subtag:"lon",Description:["Malawi Lomwe"],Added:"2009-07-29"},{Type:"language",Subtag:"loo",Description:["Lombo"],Added:"2009-07-29"},{Type:"language",Subtag:"lop",Description:["Lopa"],Added:"2009-07-29"},{Type:"language",Subtag:"loq",Description:["Lobala"],Added:"2009-07-29"},{Type:"language",Subtag:"lor",Description:["Téén"],Added:"2009-07-29"},{Type:"language",Subtag:"los",Description:["Loniu"],Added:"2009-07-29"},{Type:"language",Subtag:"lot",Description:["Otuho"],Added:"2009-07-29"},{Type:"language",Subtag:"lou",Description:["Louisiana Creole"],Added:"2009-07-29"},{Type:"language",Subtag:"lov",Description:["Lopi"],Added:"2009-07-29"},{Type:"language",Subtag:"low",Description:["Tampias Lobu"],Added:"2009-07-29"},{Type:"language",Subtag:"lox",Description:["Loun"],Added:"2009-07-29"},{Type:"language",Subtag:"loy",Description:["Loke"],Added:"2009-07-29"},{Type:"language",Subtag:"loz",Description:["Lozi"],Added:"2005-10-16"},{Type:"language",Subtag:"lpa",Description:["Lelepa"],Added:"2009-07-29"},{Type:"language",Subtag:"lpe",Description:["Lepki"],Added:"2009-07-29"},{Type:"language",Subtag:"lpn",Description:["Long Phuri Naga"],Added:"2009-07-29"},{Type:"language",Subtag:"lpo",Description:["Lipo"],Added:"2009-07-29"},{Type:"language",Subtag:"lpx",Description:["Lopit"],Added:"2009-07-29"},{Type:"language",Subtag:"lqr",Description:["Logir"],Added:"2022-02-25"},{Type:"language",Subtag:"lra",Description:["Rara Bakati'"],Added:"2009-07-29"},{Type:"language",Subtag:"lrc",Description:["Northern Luri"],Added:"2009-07-29"},{Type:"language",Subtag:"lre",Description:["Laurentian"],Added:"2009-07-29"},{Type:"language",Subtag:"lrg",Description:["Laragia"],Added:"2009-07-29"},{Type:"language",Subtag:"lri",Description:["Marachi","Olumarachi"],Added:"2009-07-29",Macrolanguage:"luy"},{Type:"language",Subtag:"lrk",Description:["Loarki"],Added:"2009-07-29"},{Type:"language",Subtag:"lrl",Description:["Lari"],Added:"2009-07-29"},{Type:"language",Subtag:"lrm",Description:["Marama","Olumarama"],Added:"2009-07-29",Macrolanguage:"luy"},{Type:"language",Subtag:"lrn",Description:["Lorang"],Added:"2009-07-29"},{Type:"language",Subtag:"lro",Description:["Laro"],Added:"2009-07-29"},{Type:"language",Subtag:"lrr",Description:["Southern Yamphu"],Added:"2009-07-29"},{Type:"language",Subtag:"lrt",Description:["Larantuka Malay"],Added:"2009-07-29"},{Type:"language",Subtag:"lrv",Description:["Larevat"],Added:"2009-07-29"},{Type:"language",Subtag:"lrz",Description:["Lemerig"],Added:"2009-07-29"},{Type:"language",Subtag:"lsa",Description:["Lasgerdi"],Added:"2009-07-29"},{Type:"language",Subtag:"lsb",Description:["Burundian Sign Language","Langue des Signes Burundaise"],Added:"2021-02-20"},{Type:"language",Subtag:"lsc",Description:["Albarradas Sign Language","Lengua de señas Albarradas"],Added:"2022-02-25"},{Type:"language",Subtag:"lsd",Description:["Lishana Deni"],Added:"2009-07-29"},{Type:"language",Subtag:"lse",Description:["Lusengo"],Added:"2009-07-29"},{Type:"language",Subtag:"lsg",Description:["Lyons Sign Language"],Added:"2009-07-29",Deprecated:"2018-03-08"},{Type:"language",Subtag:"lsh",Description:["Lish"],Added:"2009-07-29"},{Type:"language",Subtag:"lsi",Description:["Lashi"],Added:"2009-07-29"},{Type:"language",Subtag:"lsl",Description:["Latvian Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"lsm",Description:["Saamia","Olusamia"],Added:"2009-07-29",Macrolanguage:"luy"},{Type:"language",Subtag:"lsn",Description:["Tibetan Sign Language"],Added:"2019-04-16"},{Type:"language",Subtag:"lso",Description:["Laos Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"lsp",Description:["Panamanian Sign Language","Lengua de Señas Panameñas"],Added:"2009-07-29"},{Type:"language",Subtag:"lsr",Description:["Aruop"],Added:"2009-07-29"},{Type:"language",Subtag:"lss",Description:["Lasi"],Added:"2009-07-29"},{Type:"language",Subtag:"lst",Description:["Trinidad and Tobago Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"lsv",Description:["Sivia Sign Language"],Added:"2019-04-16"},{Type:"language",Subtag:"lsw",Description:["Seychelles Sign Language","Lalang Siny Seselwa","Langue des Signes Seychelloise"],Added:"2022-02-25"},{Type:"language",Subtag:"lsy",Description:["Mauritian Sign Language"],Added:"2010-03-11"},{Type:"language",Subtag:"ltc",Description:["Late Middle Chinese"],Added:"2009-07-29"},{Type:"language",Subtag:"ltg",Description:["Latgalian"],Added:"2010-03-11",Macrolanguage:"lv"},{Type:"language",Subtag:"lth",Description:["Thur"],Added:"2017-02-23"},{Type:"language",Subtag:"lti",Description:["Leti (Indonesia)"],Added:"2009-07-29"},{Type:"language",Subtag:"ltn",Description:["Latundê"],Added:"2009-07-29"},{Type:"language",Subtag:"lto",Description:["Tsotso","Olutsotso"],Added:"2009-07-29",Macrolanguage:"luy"},{Type:"language",Subtag:"lts",Description:["Tachoni","Lutachoni"],Added:"2009-07-29",Macrolanguage:"luy"},{Type:"language",Subtag:"ltu",Description:["Latu"],Added:"2009-07-29"},{Type:"language",Subtag:"lua",Description:["Luba-Lulua"],Added:"2005-10-16"},{Type:"language",Subtag:"luc",Description:["Aringa"],Added:"2009-07-29"},{Type:"language",Subtag:"lud",Description:["Ludian"],Added:"2009-07-29"},{Type:"language",Subtag:"lue",Description:["Luvale"],Added:"2009-07-29"},{Type:"language",Subtag:"luf",Description:["Laua"],Added:"2009-07-29"},{Type:"language",Subtag:"lui",Description:["Luiseno"],Added:"2005-10-16"},{Type:"language",Subtag:"luj",Description:["Luna"],Added:"2009-07-29"},{Type:"language",Subtag:"luk",Description:["Lunanakha"],Added:"2009-07-29"},{Type:"language",Subtag:"lul",Description:["Olu'bo"],Added:"2009-07-29"},{Type:"language",Subtag:"lum",Description:["Luimbi"],Added:"2009-07-29"},{Type:"language",Subtag:"lun",Description:["Lunda"],Added:"2005-10-16"},{Type:"language",Subtag:"luo",Description:["Luo (Kenya and Tanzania)","Dholuo"],Added:"2005-10-16"},{Type:"language",Subtag:"lup",Description:["Lumbu"],Added:"2009-07-29"},{Type:"language",Subtag:"luq",Description:["Lucumi"],Added:"2009-07-29"},{Type:"language",Subtag:"lur",Description:["Laura"],Added:"2009-07-29"},{Type:"language",Subtag:"lus",Description:["Lushai"],Added:"2005-10-16"},{Type:"language",Subtag:"lut",Description:["Lushootseed"],Added:"2009-07-29"},{Type:"language",Subtag:"luu",Description:["Lumba-Yakkha"],Added:"2009-07-29"},{Type:"language",Subtag:"luv",Description:["Luwati"],Added:"2009-07-29"},{Type:"language",Subtag:"luw",Description:["Luo (Cameroon)"],Added:"2009-07-29"},{Type:"language",Subtag:"luy",Description:["Luyia","Oluluyia"],Added:"2009-07-29",Scope:"macrolanguage"},{Type:"language",Subtag:"luz",Description:["Southern Luri"],Added:"2009-07-29"},{Type:"language",Subtag:"lva",Description:["Maku'a"],Added:"2009-07-29"},{Type:"language",Subtag:"lvi",Description:["Lavi"],Added:"2019-04-16"},{Type:"language",Subtag:"lvk",Description:["Lavukaleve"],Added:"2009-07-29"},{Type:"language",Subtag:"lvs",Description:["Standard Latvian"],Added:"2010-03-11",Macrolanguage:"lv"},{Type:"language",Subtag:"lvu",Description:["Levuka"],Added:"2009-07-29"},{Type:"language",Subtag:"lwa",Description:["Lwalu"],Added:"2009-07-29"},{Type:"language",Subtag:"lwe",Description:["Lewo Eleng"],Added:"2009-07-29"},{Type:"language",Subtag:"lwg",Description:["Wanga","Oluwanga"],Added:"2009-07-29",Macrolanguage:"luy"},{Type:"language",Subtag:"lwh",Description:["White Lachi"],Added:"2009-07-29"},{Type:"language",Subtag:"lwl",Description:["Eastern Lawa"],Added:"2009-07-29"},{Type:"language",Subtag:"lwm",Description:["Laomian"],Added:"2009-07-29"},{Type:"language",Subtag:"lwo",Description:["Luwo"],Added:"2009-07-29"},{Type:"language",Subtag:"lws",Description:["Malawian Sign Language"],Added:"2018-03-08"},{Type:"language",Subtag:"lwt",Description:["Lewotobi"],Added:"2009-07-29"},{Type:"language",Subtag:"lwu",Description:["Lawu"],Added:"2013-09-10"},{Type:"language",Subtag:"lww",Description:["Lewo"],Added:"2009-07-29"},{Type:"language",Subtag:"lxm",Description:["Lakurumau"],Added:"2021-02-20"},{Type:"language",Subtag:"lya",Description:["Layakha"],Added:"2009-07-29"},{Type:"language",Subtag:"lyg",Description:["Lyngngam"],Added:"2009-07-29"},{Type:"language",Subtag:"lyn",Description:["Luyana"],Added:"2009-07-29"},{Type:"language",Subtag:"lzh",Description:["Literary Chinese"],Added:"2009-07-29",Macrolanguage:"zh"},{Type:"language",Subtag:"lzl",Description:["Litzlitz"],Added:"2009-07-29"},{Type:"language",Subtag:"lzn",Description:["Leinong Naga"],Added:"2009-07-29"},{Type:"language",Subtag:"lzz",Description:["Laz"],Added:"2009-07-29"},{Type:"language",Subtag:"maa",Description:["San Jerónimo Tecóatl Mazatec"],Added:"2009-07-29",Comments:["see also pbm"]},{Type:"language",Subtag:"mab",Description:["Yutanduchi Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"mad",Description:["Madurese"],Added:"2005-10-16"},{Type:"language",Subtag:"mae",Description:["Bo-Rukul"],Added:"2009-07-29"},{Type:"language",Subtag:"maf",Description:["Mafa"],Added:"2009-07-29"},{Type:"language",Subtag:"mag",Description:["Magahi"],Added:"2005-10-16"},{Type:"language",Subtag:"mai",Description:["Maithili"],Added:"2005-10-16","Suppress-Script":"Deva"},{Type:"language",Subtag:"maj",Description:["Jalapa De Díaz Mazatec"],Added:"2009-07-29"},{Type:"language",Subtag:"mak",Description:["Makasar"],Added:"2005-10-16"},{Type:"language",Subtag:"mam",Description:["Mam"],Added:"2009-07-29"},{Type:"language",Subtag:"man",Description:["Mandingo","Manding"],Added:"2005-10-16",Scope:"macrolanguage"},{Type:"language",Subtag:"map",Description:["Austronesian languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"maq",Description:["Chiquihuitlán Mazatec"],Added:"2009-07-29"},{Type:"language",Subtag:"mas",Description:["Masai"],Added:"2005-10-16"},{Type:"language",Subtag:"mat",Description:["San Francisco Matlatzinca"],Added:"2009-07-29"},{Type:"language",Subtag:"mau",Description:["Huautla Mazatec"],Added:"2009-07-29"},{Type:"language",Subtag:"mav",Description:["Sateré-Mawé"],Added:"2009-07-29"},{Type:"language",Subtag:"maw",Description:["Mampruli"],Added:"2009-07-29"},{Type:"language",Subtag:"max",Description:["North Moluccan Malay"],Added:"2009-07-29",Macrolanguage:"ms"},{Type:"language",Subtag:"maz",Description:["Central Mazahua"],Added:"2009-07-29"},{Type:"language",Subtag:"mba",Description:["Higaonon"],Added:"2009-07-29"},{Type:"language",Subtag:"mbb",Description:["Western Bukidnon Manobo"],Added:"2009-07-29"},{Type:"language",Subtag:"mbc",Description:["Macushi"],Added:"2009-07-29"},{Type:"language",Subtag:"mbd",Description:["Dibabawon Manobo"],Added:"2009-07-29"},{Type:"language",Subtag:"mbe",Description:["Molale"],Added:"2009-07-29"},{Type:"language",Subtag:"mbf",Description:["Baba Malay"],Added:"2009-07-29"},{Type:"language",Subtag:"mbh",Description:["Mangseng"],Added:"2009-07-29"},{Type:"language",Subtag:"mbi",Description:["Ilianen Manobo"],Added:"2009-07-29"},{Type:"language",Subtag:"mbj",Description:["Nadëb"],Added:"2009-07-29"},{Type:"language",Subtag:"mbk",Description:["Malol"],Added:"2009-07-29"},{Type:"language",Subtag:"mbl",Description:["Maxakalí"],Added:"2009-07-29"},{Type:"language",Subtag:"mbm",Description:["Ombamba"],Added:"2009-07-29"},{Type:"language",Subtag:"mbn",Description:["Macaguán"],Added:"2009-07-29"},{Type:"language",Subtag:"mbo",Description:["Mbo (Cameroon)"],Added:"2009-07-29"},{Type:"language",Subtag:"mbp",Description:["Malayo"],Added:"2009-07-29"},{Type:"language",Subtag:"mbq",Description:["Maisin"],Added:"2009-07-29"},{Type:"language",Subtag:"mbr",Description:["Nukak Makú"],Added:"2009-07-29"},{Type:"language",Subtag:"mbs",Description:["Sarangani Manobo"],Added:"2009-07-29"},{Type:"language",Subtag:"mbt",Description:["Matigsalug Manobo"],Added:"2009-07-29"},{Type:"language",Subtag:"mbu",Description:["Mbula-Bwazza"],Added:"2009-07-29"},{Type:"language",Subtag:"mbv",Description:["Mbulungish"],Added:"2009-07-29"},{Type:"language",Subtag:"mbw",Description:["Maring"],Added:"2009-07-29"},{Type:"language",Subtag:"mbx",Description:["Mari (East Sepik Province)"],Added:"2009-07-29"},{Type:"language",Subtag:"mby",Description:["Memoni"],Added:"2009-07-29"},{Type:"language",Subtag:"mbz",Description:["Amoltepec Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"mca",Description:["Maca"],Added:"2009-07-29"},{Type:"language",Subtag:"mcb",Description:["Machiguenga"],Added:"2009-07-29"},{Type:"language",Subtag:"mcc",Description:["Bitur"],Added:"2009-07-29"},{Type:"language",Subtag:"mcd",Description:["Sharanahua"],Added:"2009-07-29"},{Type:"language",Subtag:"mce",Description:["Itundujia Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"mcf",Description:["Matsés"],Added:"2009-07-29"},{Type:"language",Subtag:"mcg",Description:["Mapoyo"],Added:"2009-07-29"},{Type:"language",Subtag:"mch",Description:["Maquiritari"],Added:"2009-07-29"},{Type:"language",Subtag:"mci",Description:["Mese"],Added:"2009-07-29"},{Type:"language",Subtag:"mcj",Description:["Mvanip"],Added:"2009-07-29"},{Type:"language",Subtag:"mck",Description:["Mbunda"],Added:"2009-07-29"},{Type:"language",Subtag:"mcl",Description:["Macaguaje"],Added:"2009-07-29"},{Type:"language",Subtag:"mcm",Description:["Malaccan Creole Portuguese"],Added:"2009-07-29"},{Type:"language",Subtag:"mcn",Description:["Masana"],Added:"2009-07-29"},{Type:"language",Subtag:"mco",Description:["Coatlán Mixe"],Added:"2009-07-29"},{Type:"language",Subtag:"mcp",Description:["Makaa"],Added:"2009-07-29"},{Type:"language",Subtag:"mcq",Description:["Ese"],Added:"2009-07-29"},{Type:"language",Subtag:"mcr",Description:["Menya"],Added:"2009-07-29"},{Type:"language",Subtag:"mcs",Description:["Mambai"],Added:"2009-07-29"},{Type:"language",Subtag:"mct",Description:["Mengisa"],Added:"2009-07-29"},{Type:"language",Subtag:"mcu",Description:["Cameroon Mambila"],Added:"2009-07-29"},{Type:"language",Subtag:"mcv",Description:["Minanibai"],Added:"2009-07-29"},{Type:"language",Subtag:"mcw",Description:["Mawa (Chad)"],Added:"2009-07-29"},{Type:"language",Subtag:"mcx",Description:["Mpiemo"],Added:"2009-07-29"},{Type:"language",Subtag:"mcy",Description:["South Watut"],Added:"2009-07-29"},{Type:"language",Subtag:"mcz",Description:["Mawan"],Added:"2009-07-29"},{Type:"language",Subtag:"mda",Description:["Mada (Nigeria)"],Added:"2009-07-29"},{Type:"language",Subtag:"mdb",Description:["Morigi"],Added:"2009-07-29"},{Type:"language",Subtag:"mdc",Description:["Male (Papua New Guinea)"],Added:"2009-07-29"},{Type:"language",Subtag:"mdd",Description:["Mbum"],Added:"2009-07-29"},{Type:"language",Subtag:"mde",Description:["Maba (Chad)"],Added:"2009-07-29"},{Type:"language",Subtag:"mdf",Description:["Moksha"],Added:"2005-10-16"},{Type:"language",Subtag:"mdg",Description:["Massalat"],Added:"2009-07-29"},{Type:"language",Subtag:"mdh",Description:["Maguindanaon"],Added:"2009-07-29"},{Type:"language",Subtag:"mdi",Description:["Mamvu"],Added:"2009-07-29"},{Type:"language",Subtag:"mdj",Description:["Mangbetu"],Added:"2009-07-29"},{Type:"language",Subtag:"mdk",Description:["Mangbutu"],Added:"2009-07-29"},{Type:"language",Subtag:"mdl",Description:["Maltese Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"mdm",Description:["Mayogo"],Added:"2009-07-29"},{Type:"language",Subtag:"mdn",Description:["Mbati"],Added:"2009-07-29"},{Type:"language",Subtag:"mdp",Description:["Mbala"],Added:"2009-07-29"},{Type:"language",Subtag:"mdq",Description:["Mbole"],Added:"2009-07-29"},{Type:"language",Subtag:"mdr",Description:["Mandar"],Added:"2005-10-16"},{Type:"language",Subtag:"mds",Description:["Maria (Papua New Guinea)"],Added:"2009-07-29"},{Type:"language",Subtag:"mdt",Description:["Mbere"],Added:"2009-07-29"},{Type:"language",Subtag:"mdu",Description:["Mboko"],Added:"2009-07-29"},{Type:"language",Subtag:"mdv",Description:["Santa Lucía Monteverde Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"mdw",Description:["Mbosi"],Added:"2009-07-29"},{Type:"language",Subtag:"mdx",Description:["Dizin"],Added:"2009-07-29"},{Type:"language",Subtag:"mdy",Description:["Male (Ethiopia)"],Added:"2009-07-29"},{Type:"language",Subtag:"mdz",Description:["Suruí Do Pará"],Added:"2009-07-29"},{Type:"language",Subtag:"mea",Description:["Menka"],Added:"2009-07-29"},{Type:"language",Subtag:"meb",Description:["Ikobi"],Added:"2009-07-29"},{Type:"language",Subtag:"mec",Description:["Marra"],Added:"2009-07-29"},{Type:"language",Subtag:"med",Description:["Melpa"],Added:"2009-07-29"},{Type:"language",Subtag:"mee",Description:["Mengen"],Added:"2009-07-29"},{Type:"language",Subtag:"mef",Description:["Megam"],Added:"2009-07-29"},{Type:"language",Subtag:"meg",Description:["Mea"],Added:"2009-07-29",Deprecated:"2013-09-10","Preferred-Value":"cir"},{Type:"language",Subtag:"meh",Description:["Southwestern Tlaxiaco Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"mei",Description:["Midob"],Added:"2009-07-29"},{Type:"language",Subtag:"mej",Description:["Meyah"],Added:"2009-07-29"},{Type:"language",Subtag:"mek",Description:["Mekeo"],Added:"2009-07-29"},{Type:"language",Subtag:"mel",Description:["Central Melanau"],Added:"2009-07-29"},{Type:"language",Subtag:"mem",Description:["Mangala"],Added:"2009-07-29"},{Type:"language",Subtag:"men",Description:["Mende (Sierra Leone)"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"meo",Description:["Kedah Malay"],Added:"2009-07-29",Macrolanguage:"ms"},{Type:"language",Subtag:"mep",Description:["Miriwoong"],Added:"2009-07-29"},{Type:"language",Subtag:"meq",Description:["Merey"],Added:"2009-07-29"},{Type:"language",Subtag:"mer",Description:["Meru"],Added:"2009-07-29"},{Type:"language",Subtag:"mes",Description:["Masmaje"],Added:"2009-07-29"},{Type:"language",Subtag:"met",Description:["Mato"],Added:"2009-07-29"},{Type:"language",Subtag:"meu",Description:["Motu"],Added:"2009-07-29"},{Type:"language",Subtag:"mev",Description:["Mano"],Added:"2009-07-29"},{Type:"language",Subtag:"mew",Description:["Maaka"],Added:"2009-07-29"},{Type:"language",Subtag:"mey",Description:["Hassaniyya"],Added:"2009-07-29"},{Type:"language",Subtag:"mez",Description:["Menominee"],Added:"2009-07-29"},{Type:"language",Subtag:"mfa",Description:["Pattani Malay"],Added:"2009-07-29",Macrolanguage:"ms"},{Type:"language",Subtag:"mfb",Description:["Bangka"],Added:"2009-07-29",Macrolanguage:"ms"},{Type:"language",Subtag:"mfc",Description:["Mba"],Added:"2009-07-29"},{Type:"language",Subtag:"mfd",Description:["Mendankwe-Nkwen"],Added:"2009-07-29"},{Type:"language",Subtag:"mfe",Description:["Morisyen"],Added:"2009-07-29"},{Type:"language",Subtag:"mff",Description:["Naki"],Added:"2009-07-29"},{Type:"language",Subtag:"mfg",Description:["Mogofin"],Added:"2009-07-29"},{Type:"language",Subtag:"mfh",Description:["Matal"],Added:"2009-07-29"},{Type:"language",Subtag:"mfi",Description:["Wandala"],Added:"2009-07-29"},{Type:"language",Subtag:"mfj",Description:["Mefele"],Added:"2009-07-29"},{Type:"language",Subtag:"mfk",Description:["North Mofu"],Added:"2009-07-29"},{Type:"language",Subtag:"mfl",Description:["Putai"],Added:"2009-07-29"},{Type:"language",Subtag:"mfm",Description:["Marghi South"],Added:"2009-07-29"},{Type:"language",Subtag:"mfn",Description:["Cross River Mbembe"],Added:"2009-07-29"},{Type:"language",Subtag:"mfo",Description:["Mbe"],Added:"2009-07-29"},{Type:"language",Subtag:"mfp",Description:["Makassar Malay"],Added:"2009-07-29"},{Type:"language",Subtag:"mfq",Description:["Moba"],Added:"2009-07-29"},{Type:"language",Subtag:"mfr",Description:["Marrithiyel"],Added:"2009-07-29"},{Type:"language",Subtag:"mfs",Description:["Mexican Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"mft",Description:["Mokerang"],Added:"2009-07-29"},{Type:"language",Subtag:"mfu",Description:["Mbwela"],Added:"2009-07-29"},{Type:"language",Subtag:"mfv",Description:["Mandjak"],Added:"2009-07-29"},{Type:"language",Subtag:"mfw",Description:["Mulaha"],Added:"2009-07-29"},{Type:"language",Subtag:"mfx",Description:["Melo"],Added:"2009-07-29"},{Type:"language",Subtag:"mfy",Description:["Mayo"],Added:"2009-07-29"},{Type:"language",Subtag:"mfz",Description:["Mabaan"],Added:"2009-07-29"},{Type:"language",Subtag:"mga",Description:["Middle Irish (900-1200)"],Added:"2005-10-16"},{Type:"language",Subtag:"mgb",Description:["Mararit"],Added:"2009-07-29"},{Type:"language",Subtag:"mgc",Description:["Morokodo"],Added:"2009-07-29"},{Type:"language",Subtag:"mgd",Description:["Moru"],Added:"2009-07-29"},{Type:"language",Subtag:"mge",Description:["Mango"],Added:"2009-07-29"},{Type:"language",Subtag:"mgf",Description:["Maklew"],Added:"2009-07-29"},{Type:"language",Subtag:"mgg",Description:["Mpumpong"],Added:"2009-07-29"},{Type:"language",Subtag:"mgh",Description:["Makhuwa-Meetto"],Added:"2009-07-29"},{Type:"language",Subtag:"mgi",Description:["Lijili"],Added:"2009-07-29"},{Type:"language",Subtag:"mgj",Description:["Abureni"],Added:"2009-07-29"},{Type:"language",Subtag:"mgk",Description:["Mawes"],Added:"2009-07-29"},{Type:"language",Subtag:"mgl",Description:["Maleu-Kilenge"],Added:"2009-07-29"},{Type:"language",Subtag:"mgm",Description:["Mambae"],Added:"2009-07-29"},{Type:"language",Subtag:"mgn",Description:["Mbangi"],Added:"2009-07-29"},{Type:"language",Subtag:"mgo",Description:["Meta'"],Added:"2009-07-29"},{Type:"language",Subtag:"mgp",Description:["Eastern Magar"],Added:"2009-07-29"},{Type:"language",Subtag:"mgq",Description:["Malila"],Added:"2009-07-29"},{Type:"language",Subtag:"mgr",Description:["Mambwe-Lungu"],Added:"2009-07-29"},{Type:"language",Subtag:"mgs",Description:["Manda (Tanzania)"],Added:"2009-07-29"},{Type:"language",Subtag:"mgt",Description:["Mongol"],Added:"2009-07-29"},{Type:"language",Subtag:"mgu",Description:["Mailu"],Added:"2009-07-29"},{Type:"language",Subtag:"mgv",Description:["Matengo"],Added:"2009-07-29"},{Type:"language",Subtag:"mgw",Description:["Matumbi"],Added:"2009-07-29"},{Type:"language",Subtag:"mgx",Description:["Omati"],Added:"2009-07-29",Deprecated:"2012-08-12",Comments:["see jbk, jmw"]},{Type:"language",Subtag:"mgy",Description:["Mbunga"],Added:"2009-07-29"},{Type:"language",Subtag:"mgz",Description:["Mbugwe"],Added:"2009-07-29"},{Type:"language",Subtag:"mha",Description:["Manda (India)"],Added:"2009-07-29"},{Type:"language",Subtag:"mhb",Description:["Mahongwe"],Added:"2009-07-29"},{Type:"language",Subtag:"mhc",Description:["Mocho"],Added:"2009-07-29"},{Type:"language",Subtag:"mhd",Description:["Mbugu"],Added:"2009-07-29"},{Type:"language",Subtag:"mhe",Description:["Besisi","Mah Meri"],Added:"2009-07-29"},{Type:"language",Subtag:"mhf",Description:["Mamaa"],Added:"2009-07-29"},{Type:"language",Subtag:"mhg",Description:["Margu"],Added:"2009-07-29"},{Type:"language",Subtag:"mhh",Description:["Maskoy Pidgin"],Added:"2009-07-29",Deprecated:"2014-02-28"},{Type:"language",Subtag:"mhi",Description:["Ma'di"],Added:"2009-07-29"},{Type:"language",Subtag:"mhj",Description:["Mogholi"],Added:"2009-07-29"},{Type:"language",Subtag:"mhk",Description:["Mungaka"],Added:"2009-07-29"},{Type:"language",Subtag:"mhl",Description:["Mauwake"],Added:"2009-07-29"},{Type:"language",Subtag:"mhm",Description:["Makhuwa-Moniga"],Added:"2009-07-29"},{Type:"language",Subtag:"mhn",Description:["Mócheno"],Added:"2009-07-29"},{Type:"language",Subtag:"mho",Description:["Mashi (Zambia)"],Added:"2009-07-29"},{Type:"language",Subtag:"mhp",Description:["Balinese Malay"],Added:"2009-07-29"},{Type:"language",Subtag:"mhq",Description:["Mandan"],Added:"2009-07-29"},{Type:"language",Subtag:"mhr",Description:["Eastern Mari"],Added:"2009-07-29",Macrolanguage:"chm"},{Type:"language",Subtag:"mhs",Description:["Buru (Indonesia)"],Added:"2009-07-29"},{Type:"language",Subtag:"mht",Description:["Mandahuaca"],Added:"2009-07-29"},{Type:"language",Subtag:"mhu",Description:["Digaro-Mishmi","Darang Deng"],Added:"2009-07-29"},{Type:"language",Subtag:"mhw",Description:["Mbukushu"],Added:"2009-07-29"},{Type:"language",Subtag:"mhx",Description:["Maru","Lhaovo"],Added:"2009-07-29"},{Type:"language",Subtag:"mhy",Description:["Ma'anyan"],Added:"2009-07-29"},{Type:"language",Subtag:"mhz",Description:["Mor (Mor Islands)"],Added:"2009-07-29"},{Type:"language",Subtag:"mia",Description:["Miami"],Added:"2009-07-29"},{Type:"language",Subtag:"mib",Description:["Atatláhuca Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"mic",Description:["Mi'kmaq","Micmac"],Added:"2005-10-16"},{Type:"language",Subtag:"mid",Description:["Mandaic"],Added:"2009-07-29"},{Type:"language",Subtag:"mie",Description:["Ocotepec Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"mif",Description:["Mofu-Gudur"],Added:"2009-07-29"},{Type:"language",Subtag:"mig",Description:["San Miguel El Grande Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"mih",Description:["Chayuco Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"mii",Description:["Chigmecatitlán Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"mij",Description:["Abar","Mungbam"],Added:"2009-07-29"},{Type:"language",Subtag:"mik",Description:["Mikasuki"],Added:"2009-07-29"},{Type:"language",Subtag:"mil",Description:["Peñoles Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"mim",Description:["Alacatlatzala Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"min",Description:["Minangkabau"],Added:"2005-10-16",Macrolanguage:"ms"},{Type:"language",Subtag:"mio",Description:["Pinotepa Nacional Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"mip",Description:["Apasco-Apoala Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"miq",Description:["Mískito"],Added:"2009-07-29"},{Type:"language",Subtag:"mir",Description:["Isthmus Mixe"],Added:"2009-07-29"},{Type:"language",Subtag:"mis",Description:["Uncoded languages"],Added:"2005-10-16",Scope:"special"},{Type:"language",Subtag:"mit",Description:["Southern Puebla Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"miu",Description:["Cacaloxtepec Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"miw",Description:["Akoye"],Added:"2009-07-29"},{Type:"language",Subtag:"mix",Description:["Mixtepec Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"miy",Description:["Ayutla Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"miz",Description:["Coatzospan Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"mja",Description:["Mahei"],Added:"2009-07-29",Deprecated:"2011-08-16"},{Type:"language",Subtag:"mjb",Description:["Makalero"],Added:"2016-05-30"},{Type:"language",Subtag:"mjc",Description:["San Juan Colorado Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"mjd",Description:["Northwest Maidu"],Added:"2009-07-29"},{Type:"language",Subtag:"mje",Description:["Muskum"],Added:"2009-07-29"},{Type:"language",Subtag:"mjg",Description:["Tu"],Added:"2009-07-29"},{Type:"language",Subtag:"mjh",Description:["Mwera (Nyasa)"],Added:"2009-07-29"},{Type:"language",Subtag:"mji",Description:["Kim Mun"],Added:"2009-07-29"},{Type:"language",Subtag:"mjj",Description:["Mawak"],Added:"2009-07-29"},{Type:"language",Subtag:"mjk",Description:["Matukar"],Added:"2009-07-29"},{Type:"language",Subtag:"mjl",Description:["Mandeali"],Added:"2009-07-29"},{Type:"language",Subtag:"mjm",Description:["Medebur"],Added:"2009-07-29"},{Type:"language",Subtag:"mjn",Description:["Ma (Papua New Guinea)"],Added:"2009-07-29"},{Type:"language",Subtag:"mjo",Description:["Malankuravan"],Added:"2009-07-29"},{Type:"language",Subtag:"mjp",Description:["Malapandaram"],Added:"2009-07-29"},{Type:"language",Subtag:"mjq",Description:["Malaryan"],Added:"2009-07-29"},{Type:"language",Subtag:"mjr",Description:["Malavedan"],Added:"2009-07-29"},{Type:"language",Subtag:"mjs",Description:["Miship"],Added:"2009-07-29"},{Type:"language",Subtag:"mjt",Description:["Sauria Paharia"],Added:"2009-07-29"},{Type:"language",Subtag:"mju",Description:["Manna-Dora"],Added:"2009-07-29"},{Type:"language",Subtag:"mjv",Description:["Mannan"],Added:"2009-07-29"},{Type:"language",Subtag:"mjw",Description:["Karbi"],Added:"2009-07-29"},{Type:"language",Subtag:"mjx",Description:["Mahali"],Added:"2009-07-29"},{Type:"language",Subtag:"mjy",Description:["Mahican"],Added:"2009-07-29"},{Type:"language",Subtag:"mjz",Description:["Majhi"],Added:"2009-07-29"},{Type:"language",Subtag:"mka",Description:["Mbre"],Added:"2009-07-29"},{Type:"language",Subtag:"mkb",Description:["Mal Paharia"],Added:"2009-07-29"},{Type:"language",Subtag:"mkc",Description:["Siliput"],Added:"2009-07-29"},{Type:"language",Subtag:"mke",Description:["Mawchi"],Added:"2009-07-29"},{Type:"language",Subtag:"mkf",Description:["Miya"],Added:"2009-07-29"},{Type:"language",Subtag:"mkg",Description:["Mak (China)"],Added:"2009-07-29"},{Type:"language",Subtag:"mkh",Description:["Mon-Khmer languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"mki",Description:["Dhatki"],Added:"2009-07-29"},{Type:"language",Subtag:"mkj",Description:["Mokilese"],Added:"2009-07-29"},{Type:"language",Subtag:"mkk",Description:["Byep"],Added:"2009-07-29"},{Type:"language",Subtag:"mkl",Description:["Mokole"],Added:"2009-07-29"},{Type:"language",Subtag:"mkm",Description:["Moklen"],Added:"2009-07-29"},{Type:"language",Subtag:"mkn",Description:["Kupang Malay"],Added:"2009-07-29"},{Type:"language",Subtag:"mko",Description:["Mingang Doso"],Added:"2009-07-29"},{Type:"language",Subtag:"mkp",Description:["Moikodi"],Added:"2009-07-29"},{Type:"language",Subtag:"mkq",Description:["Bay Miwok"],Added:"2009-07-29"},{Type:"language",Subtag:"mkr",Description:["Malas"],Added:"2009-07-29"},{Type:"language",Subtag:"mks",Description:["Silacayoapan Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"mkt",Description:["Vamale"],Added:"2009-07-29"},{Type:"language",Subtag:"mku",Description:["Konyanka Maninka"],Added:"2009-07-29",Macrolanguage:"man"},{Type:"language",Subtag:"mkv",Description:["Mafea"],Added:"2009-07-29"},{Type:"language",Subtag:"mkw",Description:["Kituba (Congo)"],Added:"2009-07-29"},{Type:"language",Subtag:"mkx",Description:["Kinamiging Manobo"],Added:"2009-07-29"},{Type:"language",Subtag:"mky",Description:["East Makian"],Added:"2009-07-29"},{Type:"language",Subtag:"mkz",Description:["Makasae"],Added:"2009-07-29"},{Type:"language",Subtag:"mla",Description:["Malo"],Added:"2009-07-29"},{Type:"language",Subtag:"mlb",Description:["Mbule"],Added:"2009-07-29"},{Type:"language",Subtag:"mlc",Description:["Cao Lan"],Added:"2009-07-29"},{Type:"language",Subtag:"mld",Description:["Malakhel"],Added:"2009-07-29",Deprecated:"2013-09-10"},{Type:"language",Subtag:"mle",Description:["Manambu"],Added:"2009-07-29"},{Type:"language",Subtag:"mlf",Description:["Mal"],Added:"2009-07-29"},{Type:"language",Subtag:"mlh",Description:["Mape"],Added:"2009-07-29"},{Type:"language",Subtag:"mli",Description:["Malimpung"],Added:"2009-07-29"},{Type:"language",Subtag:"mlj",Description:["Miltu"],Added:"2009-07-29"},{Type:"language",Subtag:"mlk",Description:["Ilwana","Kiwilwana"],Added:"2009-07-29"},{Type:"language",Subtag:"mll",Description:["Malua Bay"],Added:"2009-07-29"},{Type:"language",Subtag:"mlm",Description:["Mulam"],Added:"2009-07-29"},{Type:"language",Subtag:"mln",Description:["Malango"],Added:"2009-07-29"},{Type:"language",Subtag:"mlo",Description:["Mlomp"],Added:"2009-07-29"},{Type:"language",Subtag:"mlp",Description:["Bargam"],Added:"2009-07-29"},{Type:"language",Subtag:"mlq",Description:["Western Maninkakan"],Added:"2009-07-29",Macrolanguage:"man"},{Type:"language",Subtag:"mlr",Description:["Vame"],Added:"2009-07-29"},{Type:"language",Subtag:"mls",Description:["Masalit"],Added:"2009-07-29"},{Type:"language",Subtag:"mlu",Description:["To'abaita"],Added:"2009-07-29"},{Type:"language",Subtag:"mlv",Description:["Motlav","Mwotlap"],Added:"2009-07-29"},{Type:"language",Subtag:"mlw",Description:["Moloko"],Added:"2009-07-29"},{Type:"language",Subtag:"mlx",Description:["Malfaxal","Naha'ai"],Added:"2009-07-29"},{Type:"language",Subtag:"mlz",Description:["Malaynon"],Added:"2009-07-29"},{Type:"language",Subtag:"mma",Description:["Mama"],Added:"2009-07-29"},{Type:"language",Subtag:"mmb",Description:["Momina"],Added:"2009-07-29"},{Type:"language",Subtag:"mmc",Description:["Michoacán Mazahua"],Added:"2009-07-29"},{Type:"language",Subtag:"mmd",Description:["Maonan"],Added:"2009-07-29"},{Type:"language",Subtag:"mme",Description:["Mae"],Added:"2009-07-29"},{Type:"language",Subtag:"mmf",Description:["Mundat"],Added:"2009-07-29"},{Type:"language",Subtag:"mmg",Description:["North Ambrym"],Added:"2009-07-29"},{Type:"language",Subtag:"mmh",Description:["Mehináku"],Added:"2009-07-29"},{Type:"language",Subtag:"mmi",Description:["Musar"],Added:"2009-07-29"},{Type:"language",Subtag:"mmj",Description:["Majhwar"],Added:"2009-07-29"},{Type:"language",Subtag:"mmk",Description:["Mukha-Dora"],Added:"2009-07-29"},{Type:"language",Subtag:"mml",Description:["Man Met"],Added:"2009-07-29"},{Type:"language",Subtag:"mmm",Description:["Maii"],Added:"2009-07-29"},{Type:"language",Subtag:"mmn",Description:["Mamanwa"],Added:"2009-07-29"},{Type:"language",Subtag:"mmo",Description:["Mangga Buang"],Added:"2009-07-29"},{Type:"language",Subtag:"mmp",Description:["Siawi"],Added:"2009-07-29"},{Type:"language",Subtag:"mmq",Description:["Musak"],Added:"2009-07-29"},{Type:"language",Subtag:"mmr",Description:["Western Xiangxi Miao"],Added:"2009-07-29",Macrolanguage:"hmn"},{Type:"language",Subtag:"mmt",Description:["Malalamai"],Added:"2009-07-29"},{Type:"language",Subtag:"mmu",Description:["Mmaala"],Added:"2009-07-29"},{Type:"language",Subtag:"mmv",Description:["Miriti"],Added:"2009-07-29"},{Type:"language",Subtag:"mmw",Description:["Emae"],Added:"2009-07-29"},{Type:"language",Subtag:"mmx",Description:["Madak"],Added:"2009-07-29"},{Type:"language",Subtag:"mmy",Description:["Migaama"],Added:"2009-07-29"},{Type:"language",Subtag:"mmz",Description:["Mabaale"],Added:"2009-07-29"},{Type:"language",Subtag:"mna",Description:["Mbula"],Added:"2009-07-29"},{Type:"language",Subtag:"mnb",Description:["Muna"],Added:"2009-07-29"},{Type:"language",Subtag:"mnc",Description:["Manchu"],Added:"2005-10-16"},{Type:"language",Subtag:"mnd",Description:["Mondé"],Added:"2009-07-29"},{Type:"language",Subtag:"mne",Description:["Naba"],Added:"2009-07-29"},{Type:"language",Subtag:"mnf",Description:["Mundani"],Added:"2009-07-29"},{Type:"language",Subtag:"mng",Description:["Eastern Mnong"],Added:"2009-07-29"},{Type:"language",Subtag:"mnh",Description:["Mono (Democratic Republic of Congo)"],Added:"2009-07-29"},{Type:"language",Subtag:"mni",Description:["Manipuri"],Added:"2005-10-16"},{Type:"language",Subtag:"mnj",Description:["Munji"],Added:"2009-07-29"},{Type:"language",Subtag:"mnk",Description:["Mandinka"],Added:"2009-07-29",Macrolanguage:"man"},{Type:"language",Subtag:"mnl",Description:["Tiale"],Added:"2009-07-29"},{Type:"language",Subtag:"mnm",Description:["Mapena"],Added:"2009-07-29"},{Type:"language",Subtag:"mnn",Description:["Southern Mnong"],Added:"2009-07-29"},{Type:"language",Subtag:"mno",Description:["Manobo languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"mnp",Description:["Min Bei Chinese"],Added:"2009-07-29",Macrolanguage:"zh"},{Type:"language",Subtag:"mnq",Description:["Minriq"],Added:"2009-07-29"},{Type:"language",Subtag:"mnr",Description:["Mono (USA)"],Added:"2009-07-29"},{Type:"language",Subtag:"mns",Description:["Mansi"],Added:"2009-07-29"},{Type:"language",Subtag:"mnt",Description:["Maykulan"],Added:"2009-07-29",Deprecated:"2013-09-10",Comments:["see wnn, xyj, xyk, xyt"]},{Type:"language",Subtag:"mnu",Description:["Mer"],Added:"2009-07-29"},{Type:"language",Subtag:"mnv",Description:["Rennell-Bellona"],Added:"2009-07-29"},{Type:"language",Subtag:"mnw",Description:["Mon"],Added:"2009-07-29"},{Type:"language",Subtag:"mnx",Description:["Manikion"],Added:"2009-07-29"},{Type:"language",Subtag:"mny",Description:["Manyawa"],Added:"2009-07-29"},{Type:"language",Subtag:"mnz",Description:["Moni"],Added:"2009-07-29"},{Type:"language",Subtag:"moa",Description:["Mwan"],Added:"2009-07-29"},{Type:"language",Subtag:"moc",Description:["Mocoví"],Added:"2009-07-29"},{Type:"language",Subtag:"mod",Description:["Mobilian"],Added:"2009-07-29"},{Type:"language",Subtag:"moe",Description:["Innu","Montagnais"],Added:"2009-07-29"},{Type:"language",Subtag:"mof",Description:["Mohegan-Montauk-Narragansett"],Added:"2009-07-29",Deprecated:"2010-03-11",Comments:["see xnt, xpq"]},{Type:"language",Subtag:"mog",Description:["Mongondow"],Added:"2009-07-29"},{Type:"language",Subtag:"moh",Description:["Mohawk"],Added:"2005-10-16"},{Type:"language",Subtag:"moi",Description:["Mboi"],Added:"2009-07-29"},{Type:"language",Subtag:"moj",Description:["Monzombo"],Added:"2009-07-29"},{Type:"language",Subtag:"mok",Description:["Morori"],Added:"2009-07-29"},{Type:"language",Subtag:"mom",Description:["Mangue"],Added:"2009-07-29"},{Type:"language",Subtag:"moo",Description:["Monom"],Added:"2009-07-29"},{Type:"language",Subtag:"mop",Description:["Mopán Maya"],Added:"2009-07-29"},{Type:"language",Subtag:"moq",Description:["Mor (Bomberai Peninsula)"],Added:"2009-07-29"},{Type:"language",Subtag:"mor",Description:["Moro"],Added:"2009-07-29"},{Type:"language",Subtag:"mos",Description:["Mossi"],Added:"2005-10-16"},{Type:"language",Subtag:"mot",Description:["Barí"],Added:"2009-07-29"},{Type:"language",Subtag:"mou",Description:["Mogum"],Added:"2009-07-29"},{Type:"language",Subtag:"mov",Description:["Mohave"],Added:"2009-07-29"},{Type:"language",Subtag:"mow",Description:["Moi (Congo)"],Added:"2009-07-29"},{Type:"language",Subtag:"mox",Description:["Molima"],Added:"2009-07-29"},{Type:"language",Subtag:"moy",Description:["Shekkacho"],Added:"2009-07-29"},{Type:"language",Subtag:"moz",Description:["Mukulu","Gergiko"],Added:"2009-07-29"},{Type:"language",Subtag:"mpa",Description:["Mpoto"],Added:"2009-07-29"},{Type:"language",Subtag:"mpb",Description:["Malak Malak","Mullukmulluk"],Added:"2009-07-29"},{Type:"language",Subtag:"mpc",Description:["Mangarrayi"],Added:"2009-07-29"},{Type:"language",Subtag:"mpd",Description:["Machinere"],Added:"2009-07-29"},{Type:"language",Subtag:"mpe",Description:["Majang"],Added:"2009-07-29"},{Type:"language",Subtag:"mpg",Description:["Marba"],Added:"2009-07-29"},{Type:"language",Subtag:"mph",Description:["Maung"],Added:"2009-07-29"},{Type:"language",Subtag:"mpi",Description:["Mpade"],Added:"2009-07-29"},{Type:"language",Subtag:"mpj",Description:["Martu Wangka","Wangkajunga"],Added:"2009-07-29"},{Type:"language",Subtag:"mpk",Description:["Mbara (Chad)"],Added:"2009-07-29"},{Type:"language",Subtag:"mpl",Description:["Middle Watut"],Added:"2009-07-29"},{Type:"language",Subtag:"mpm",Description:["Yosondúa Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"mpn",Description:["Mindiri"],Added:"2009-07-29"},{Type:"language",Subtag:"mpo",Description:["Miu"],Added:"2009-07-29"},{Type:"language",Subtag:"mpp",Description:["Migabac"],Added:"2009-07-29"},{Type:"language",Subtag:"mpq",Description:["Matís"],Added:"2009-07-29"},{Type:"language",Subtag:"mpr",Description:["Vangunu"],Added:"2009-07-29"},{Type:"language",Subtag:"mps",Description:["Dadibi"],Added:"2009-07-29"},{Type:"language",Subtag:"mpt",Description:["Mian"],Added:"2009-07-29"},{Type:"language",Subtag:"mpu",Description:["Makuráp"],Added:"2009-07-29"},{Type:"language",Subtag:"mpv",Description:["Mungkip"],Added:"2009-07-29"},{Type:"language",Subtag:"mpw",Description:["Mapidian"],Added:"2009-07-29"},{Type:"language",Subtag:"mpx",Description:["Misima-Panaeati"],Added:"2009-07-29"},{Type:"language",Subtag:"mpy",Description:["Mapia"],Added:"2009-07-29"},{Type:"language",Subtag:"mpz",Description:["Mpi"],Added:"2009-07-29"},{Type:"language",Subtag:"mqa",Description:["Maba (Indonesia)"],Added:"2009-07-29"},{Type:"language",Subtag:"mqb",Description:["Mbuko"],Added:"2009-07-29"},{Type:"language",Subtag:"mqc",Description:["Mangole"],Added:"2009-07-29"},{Type:"language",Subtag:"mqe",Description:["Matepi"],Added:"2009-07-29"},{Type:"language",Subtag:"mqf",Description:["Momuna"],Added:"2009-07-29"},{Type:"language",Subtag:"mqg",Description:["Kota Bangun Kutai Malay"],Added:"2009-07-29",Macrolanguage:"ms"},{Type:"language",Subtag:"mqh",Description:["Tlazoyaltepec Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"mqi",Description:["Mariri"],Added:"2009-07-29"},{Type:"language",Subtag:"mqj",Description:["Mamasa"],Added:"2009-07-29"},{Type:"language",Subtag:"mqk",Description:["Rajah Kabunsuwan Manobo"],Added:"2009-07-29"},{Type:"language",Subtag:"mql",Description:["Mbelime"],Added:"2009-07-29"},{Type:"language",Subtag:"mqm",Description:["South Marquesan"],Added:"2009-07-29"},{Type:"language",Subtag:"mqn",Description:["Moronene"],Added:"2009-07-29"},{Type:"language",Subtag:"mqo",Description:["Modole"],Added:"2009-07-29"},{Type:"language",Subtag:"mqp",Description:["Manipa"],Added:"2009-07-29"},{Type:"language",Subtag:"mqq",Description:["Minokok"],Added:"2009-07-29"},{Type:"language",Subtag:"mqr",Description:["Mander"],Added:"2009-07-29"},{Type:"language",Subtag:"mqs",Description:["West Makian"],Added:"2009-07-29"},{Type:"language",Subtag:"mqt",Description:["Mok"],Added:"2009-07-29"},{Type:"language",Subtag:"mqu",Description:["Mandari"],Added:"2009-07-29"},{Type:"language",Subtag:"mqv",Description:["Mosimo"],Added:"2009-07-29"},{Type:"language",Subtag:"mqw",Description:["Murupi"],Added:"2009-07-29"},{Type:"language",Subtag:"mqx",Description:["Mamuju"],Added:"2009-07-29"},{Type:"language",Subtag:"mqy",Description:["Manggarai"],Added:"2009-07-29"},{Type:"language",Subtag:"mqz",Description:["Pano"],Added:"2009-07-29"},{Type:"language",Subtag:"mra",Description:["Mlabri"],Added:"2009-07-29"},{Type:"language",Subtag:"mrb",Description:["Marino"],Added:"2009-07-29"},{Type:"language",Subtag:"mrc",Description:["Maricopa"],Added:"2009-07-29"},{Type:"language",Subtag:"mrd",Description:["Western Magar"],Added:"2009-07-29"},{Type:"language",Subtag:"mre",Description:["Martha's Vineyard Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"mrf",Description:["Elseng"],Added:"2009-07-29"},{Type:"language",Subtag:"mrg",Description:["Mising"],Added:"2009-07-29"},{Type:"language",Subtag:"mrh",Description:["Mara Chin"],Added:"2009-07-29"},{Type:"language",Subtag:"mrj",Description:["Western Mari"],Added:"2009-07-29",Macrolanguage:"chm"},{Type:"language",Subtag:"mrk",Description:["Hmwaveke"],Added:"2009-07-29"},{Type:"language",Subtag:"mrl",Description:["Mortlockese"],Added:"2009-07-29"},{Type:"language",Subtag:"mrm",Description:["Merlav","Mwerlap"],Added:"2009-07-29"},{Type:"language",Subtag:"mrn",Description:["Cheke Holo"],Added:"2009-07-29"},{Type:"language",Subtag:"mro",Description:["Mru"],Added:"2009-07-29"},{Type:"language",Subtag:"mrp",Description:["Morouas"],Added:"2009-07-29"},{Type:"language",Subtag:"mrq",Description:["North Marquesan"],Added:"2009-07-29"},{Type:"language",Subtag:"mrr",Description:["Maria (India)"],Added:"2009-07-29"},{Type:"language",Subtag:"mrs",Description:["Maragus"],Added:"2009-07-29"},{Type:"language",Subtag:"mrt",Description:["Marghi Central"],Added:"2009-07-29"},{Type:"language",Subtag:"mru",Description:["Mono (Cameroon)"],Added:"2009-07-29"},{Type:"language",Subtag:"mrv",Description:["Mangareva"],Added:"2009-07-29"},{Type:"language",Subtag:"mrw",Description:["Maranao"],Added:"2009-07-29"},{Type:"language",Subtag:"mrx",Description:["Maremgi","Dineor"],Added:"2009-07-29"},{Type:"language",Subtag:"mry",Description:["Mandaya"],Added:"2009-07-29"},{Type:"language",Subtag:"mrz",Description:["Marind"],Added:"2009-07-29"},{Type:"language",Subtag:"msb",Description:["Masbatenyo"],Added:"2009-07-29"},{Type:"language",Subtag:"msc",Description:["Sankaran Maninka"],Added:"2009-07-29",Macrolanguage:"man"},{Type:"language",Subtag:"msd",Description:["Yucatec Maya Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"mse",Description:["Musey"],Added:"2009-07-29"},{Type:"language",Subtag:"msf",Description:["Mekwei"],Added:"2009-07-29"},{Type:"language",Subtag:"msg",Description:["Moraid"],Added:"2009-07-29"},{Type:"language",Subtag:"msh",Description:["Masikoro Malagasy"],Added:"2009-07-29",Macrolanguage:"mg"},{Type:"language",Subtag:"msi",Description:["Sabah Malay"],Added:"2009-07-29",Macrolanguage:"ms"},{Type:"language",Subtag:"msj",Description:["Ma (Democratic Republic of Congo)"],Added:"2009-07-29"},{Type:"language",Subtag:"msk",Description:["Mansaka"],Added:"2009-07-29"},{Type:"language",Subtag:"msl",Description:["Molof","Poule"],Added:"2009-07-29"},{Type:"language",Subtag:"msm",Description:["Agusan Manobo"],Added:"2009-07-29"},{Type:"language",Subtag:"msn",Description:["Vurës"],Added:"2009-07-29"},{Type:"language",Subtag:"mso",Description:["Mombum"],Added:"2009-07-29"},{Type:"language",Subtag:"msp",Description:["Maritsauá"],Added:"2009-07-29"},{Type:"language",Subtag:"msq",Description:["Caac"],Added:"2009-07-29"},{Type:"language",Subtag:"msr",Description:["Mongolian Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"mss",Description:["West Masela"],Added:"2009-07-29"},{Type:"language",Subtag:"mst",Description:["Cataelano Mandaya"],Added:"2009-07-29",Deprecated:"2010-03-11","Preferred-Value":"mry"},{Type:"language",Subtag:"msu",Description:["Musom"],Added:"2009-07-29"},{Type:"language",Subtag:"msv",Description:["Maslam"],Added:"2009-07-29"},{Type:"language",Subtag:"msw",Description:["Mansoanka"],Added:"2009-07-29"},{Type:"language",Subtag:"msx",Description:["Moresada"],Added:"2009-07-29"},{Type:"language",Subtag:"msy",Description:["Aruamu"],Added:"2009-07-29"},{Type:"language",Subtag:"msz",Description:["Momare"],Added:"2009-07-29"},{Type:"language",Subtag:"mta",Description:["Cotabato Manobo"],Added:"2009-07-29"},{Type:"language",Subtag:"mtb",Description:["Anyin Morofo"],Added:"2009-07-29"},{Type:"language",Subtag:"mtc",Description:["Munit"],Added:"2009-07-29"},{Type:"language",Subtag:"mtd",Description:["Mualang"],Added:"2009-07-29"},{Type:"language",Subtag:"mte",Description:["Mono (Solomon Islands)"],Added:"2009-07-29"},{Type:"language",Subtag:"mtf",Description:["Murik (Papua New Guinea)"],Added:"2009-07-29"},{Type:"language",Subtag:"mtg",Description:["Una"],Added:"2009-07-29"},{Type:"language",Subtag:"mth",Description:["Munggui"],Added:"2009-07-29"},{Type:"language",Subtag:"mti",Description:["Maiwa (Papua New Guinea)"],Added:"2009-07-29"},{Type:"language",Subtag:"mtj",Description:["Moskona"],Added:"2009-07-29"},{Type:"language",Subtag:"mtk",Description:["Mbe'"],Added:"2009-07-29"},{Type:"language",Subtag:"mtl",Description:["Montol"],Added:"2009-07-29"},{Type:"language",Subtag:"mtm",Description:["Mator"],Added:"2009-07-29"},{Type:"language",Subtag:"mtn",Description:["Matagalpa"],Added:"2009-07-29"},{Type:"language",Subtag:"mto",Description:["Totontepec Mixe"],Added:"2009-07-29"},{Type:"language",Subtag:"mtp",Description:["Wichí Lhamtés Nocten"],Added:"2009-07-29"},{Type:"language",Subtag:"mtq",Description:["Muong"],Added:"2009-07-29"},{Type:"language",Subtag:"mtr",Description:["Mewari"],Added:"2009-07-29",Macrolanguage:"mwr"},{Type:"language",Subtag:"mts",Description:["Yora"],Added:"2009-07-29"},{Type:"language",Subtag:"mtt",Description:["Mota"],Added:"2009-07-29"},{Type:"language",Subtag:"mtu",Description:["Tututepec Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"mtv",Description:["Asaro'o"],Added:"2009-07-29"},{Type:"language",Subtag:"mtw",Description:["Southern Binukidnon"],Added:"2009-07-29"},{Type:"language",Subtag:"mtx",Description:["Tidaá Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"mty",Description:["Nabi"],Added:"2009-07-29"},{Type:"language",Subtag:"mua",Description:["Mundang"],Added:"2009-07-29"},{Type:"language",Subtag:"mub",Description:["Mubi"],Added:"2009-07-29"},{Type:"language",Subtag:"muc",Description:["Ajumbu"],Added:"2009-07-29"},{Type:"language",Subtag:"mud",Description:["Mednyj Aleut"],Added:"2009-07-29"},{Type:"language",Subtag:"mue",Description:["Media Lengua"],Added:"2009-07-29"},{Type:"language",Subtag:"mug",Description:["Musgu"],Added:"2009-07-29"},{Type:"language",Subtag:"muh",Description:["Mündü"],Added:"2009-07-29"},{Type:"language",Subtag:"mui",Description:["Musi"],Added:"2009-07-29",Macrolanguage:"ms"},{Type:"language",Subtag:"muj",Description:["Mabire"],Added:"2009-07-29"},{Type:"language",Subtag:"muk",Description:["Mugom"],Added:"2009-07-29"},{Type:"language",Subtag:"mul",Description:["Multiple languages"],Added:"2005-10-16",Scope:"special"},{Type:"language",Subtag:"mum",Description:["Maiwala"],Added:"2009-07-29"},{Type:"language",Subtag:"mun",Description:["Munda languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"muo",Description:["Nyong"],Added:"2009-07-29"},{Type:"language",Subtag:"mup",Description:["Malvi"],Added:"2009-07-29",Macrolanguage:"raj"},{Type:"language",Subtag:"muq",Description:["Eastern Xiangxi Miao"],Added:"2009-07-29",Macrolanguage:"hmn"},{Type:"language",Subtag:"mur",Description:["Murle"],Added:"2009-07-29"},{Type:"language",Subtag:"mus",Description:["Creek"],Added:"2005-10-16"},{Type:"language",Subtag:"mut",Description:["Western Muria"],Added:"2009-07-29"},{Type:"language",Subtag:"muu",Description:["Yaaku"],Added:"2009-07-29"},{Type:"language",Subtag:"muv",Description:["Muthuvan"],Added:"2009-07-29"},{Type:"language",Subtag:"mux",Description:["Bo-Ung"],Added:"2009-07-29"},{Type:"language",Subtag:"muy",Description:["Muyang"],Added:"2009-07-29"},{Type:"language",Subtag:"muz",Description:["Mursi"],Added:"2009-07-29"},{Type:"language",Subtag:"mva",Description:["Manam"],Added:"2009-07-29"},{Type:"language",Subtag:"mvb",Description:["Mattole"],Added:"2009-07-29"},{Type:"language",Subtag:"mvd",Description:["Mamboru"],Added:"2009-07-29"},{Type:"language",Subtag:"mve",Description:["Marwari (Pakistan)"],Added:"2009-07-29",Macrolanguage:"mwr"},{Type:"language",Subtag:"mvf",Description:["Peripheral Mongolian"],Added:"2009-07-29",Macrolanguage:"mn"},{Type:"language",Subtag:"mvg",Description:["Yucuañe Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"mvh",Description:["Mulgi"],Added:"2009-07-29"},{Type:"language",Subtag:"mvi",Description:["Miyako"],Added:"2009-07-29"},{Type:"language",Subtag:"mvk",Description:["Mekmek"],Added:"2009-07-29"},{Type:"language",Subtag:"mvl",Description:["Mbara (Australia)"],Added:"2009-07-29"},{Type:"language",Subtag:"mvm",Description:["Muya"],Added:"2009-07-29",Deprecated:"2021-02-20",Comments:["see emq, wmg"]},{Type:"language",Subtag:"mvn",Description:["Minaveha"],Added:"2009-07-29"},{Type:"language",Subtag:"mvo",Description:["Marovo"],Added:"2009-07-29"},{Type:"language",Subtag:"mvp",Description:["Duri"],Added:"2009-07-29"},{Type:"language",Subtag:"mvq",Description:["Moere"],Added:"2009-07-29"},{Type:"language",Subtag:"mvr",Description:["Marau"],Added:"2009-07-29"},{Type:"language",Subtag:"mvs",Description:["Massep"],Added:"2009-07-29"},{Type:"language",Subtag:"mvt",Description:["Mpotovoro"],Added:"2009-07-29"},{Type:"language",Subtag:"mvu",Description:["Marfa"],Added:"2009-07-29"},{Type:"language",Subtag:"mvv",Description:["Tagal Murut"],Added:"2009-07-29"},{Type:"language",Subtag:"mvw",Description:["Machinga"],Added:"2009-07-29"},{Type:"language",Subtag:"mvx",Description:["Meoswar"],Added:"2009-07-29"},{Type:"language",Subtag:"mvy",Description:["Indus Kohistani"],Added:"2009-07-29"},{Type:"language",Subtag:"mvz",Description:["Mesqan"],Added:"2009-07-29"},{Type:"language",Subtag:"mwa",Description:["Mwatebu"],Added:"2009-07-29"},{Type:"language",Subtag:"mwb",Description:["Juwal"],Added:"2009-07-29"},{Type:"language",Subtag:"mwc",Description:["Are"],Added:"2009-07-29"},{Type:"language",Subtag:"mwd",Description:["Mudbura"],Added:"2009-07-29",Deprecated:"2013-09-10",Comments:["see dmw, xrq"]},{Type:"language",Subtag:"mwe",Description:["Mwera (Chimwera)"],Added:"2009-07-29"},{Type:"language",Subtag:"mwf",Description:["Murrinh-Patha"],Added:"2009-07-29"},{Type:"language",Subtag:"mwg",Description:["Aiklep"],Added:"2009-07-29"},{Type:"language",Subtag:"mwh",Description:["Mouk-Aria"],Added:"2009-07-29"},{Type:"language",Subtag:"mwi",Description:["Labo","Ninde"],Added:"2009-07-29"},{Type:"language",Subtag:"mwj",Description:["Maligo"],Added:"2009-07-29",Deprecated:"2015-02-12","Preferred-Value":"vaj"},{Type:"language",Subtag:"mwk",Description:["Kita Maninkakan"],Added:"2009-07-29",Macrolanguage:"man"},{Type:"language",Subtag:"mwl",Description:["Mirandese"],Added:"2005-10-16"},{Type:"language",Subtag:"mwm",Description:["Sar"],Added:"2009-07-29"},{Type:"language",Subtag:"mwn",Description:["Nyamwanga"],Added:"2009-07-29"},{Type:"language",Subtag:"mwo",Description:["Central Maewo"],Added:"2009-07-29"},{Type:"language",Subtag:"mwp",Description:["Kala Lagaw Ya"],Added:"2009-07-29"},{Type:"language",Subtag:"mwq",Description:["Mün Chin"],Added:"2009-07-29"},{Type:"language",Subtag:"mwr",Description:["Marwari"],Added:"2005-10-16",Scope:"macrolanguage"},{Type:"language",Subtag:"mws",Description:["Mwimbi-Muthambi"],Added:"2009-07-29"},{Type:"language",Subtag:"mwt",Description:["Moken"],Added:"2009-07-29"},{Type:"language",Subtag:"mwu",Description:["Mittu"],Added:"2009-07-29"},{Type:"language",Subtag:"mwv",Description:["Mentawai"],Added:"2009-07-29"},{Type:"language",Subtag:"mww",Description:["Hmong Daw"],Added:"2009-07-29",Macrolanguage:"hmn"},{Type:"language",Subtag:"mwx",Description:["Mediak"],Added:"2009-07-29",Deprecated:"2018-03-08"},{Type:"language",Subtag:"mwy",Description:["Mosiro"],Added:"2009-07-29",Deprecated:"2018-03-08"},{Type:"language",Subtag:"mwz",Description:["Moingi"],Added:"2009-07-29"},{Type:"language",Subtag:"mxa",Description:["Northwest Oaxaca Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"mxb",Description:["Tezoatlán Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"mxc",Description:["Manyika"],Added:"2009-07-29"},{Type:"language",Subtag:"mxd",Description:["Modang"],Added:"2009-07-29"},{Type:"language",Subtag:"mxe",Description:["Mele-Fila"],Added:"2009-07-29"},{Type:"language",Subtag:"mxf",Description:["Malgbe"],Added:"2009-07-29"},{Type:"language",Subtag:"mxg",Description:["Mbangala"],Added:"2009-07-29"},{Type:"language",Subtag:"mxh",Description:["Mvuba"],Added:"2009-07-29"},{Type:"language",Subtag:"mxi",Description:["Mozarabic"],Added:"2009-07-29"},{Type:"language",Subtag:"mxj",Description:["Miju-Mishmi","Geman Deng"],Added:"2009-07-29"},{Type:"language",Subtag:"mxk",Description:["Monumbo"],Added:"2009-07-29"},{Type:"language",Subtag:"mxl",Description:["Maxi Gbe"],Added:"2009-07-29"},{Type:"language",Subtag:"mxm",Description:["Meramera"],Added:"2009-07-29"},{Type:"language",Subtag:"mxn",Description:["Moi (Indonesia)"],Added:"2009-07-29"},{Type:"language",Subtag:"mxo",Description:["Mbowe"],Added:"2009-07-29"},{Type:"language",Subtag:"mxp",Description:["Tlahuitoltepec Mixe"],Added:"2009-07-29"},{Type:"language",Subtag:"mxq",Description:["Juquila Mixe"],Added:"2009-07-29"},{Type:"language",Subtag:"mxr",Description:["Murik (Malaysia)"],Added:"2009-07-29"},{Type:"language",Subtag:"mxs",Description:["Huitepec Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"mxt",Description:["Jamiltepec Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"mxu",Description:["Mada (Cameroon)"],Added:"2009-07-29"},{Type:"language",Subtag:"mxv",Description:["Metlatónoc Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"mxw",Description:["Namo"],Added:"2009-07-29"},{Type:"language",Subtag:"mxx",Description:["Mahou","Mawukakan"],Added:"2009-07-29"},{Type:"language",Subtag:"mxy",Description:["Southeastern Nochixtlán Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"mxz",Description:["Central Masela"],Added:"2009-07-29"},{Type:"language",Subtag:"myb",Description:["Mbay"],Added:"2009-07-29"},{Type:"language",Subtag:"myc",Description:["Mayeka"],Added:"2009-07-29"},{Type:"language",Subtag:"myd",Description:["Maramba"],Added:"2009-07-29",Deprecated:"2019-04-16","Preferred-Value":"aog"},{Type:"language",Subtag:"mye",Description:["Myene"],Added:"2009-07-29"},{Type:"language",Subtag:"myf",Description:["Bambassi"],Added:"2009-07-29"},{Type:"language",Subtag:"myg",Description:["Manta"],Added:"2009-07-29"},{Type:"language",Subtag:"myh",Description:["Makah"],Added:"2009-07-29"},{Type:"language",Subtag:"myi",Description:["Mina (India)"],Added:"2009-07-29",Deprecated:"2019-04-16"},{Type:"language",Subtag:"myj",Description:["Mangayat"],Added:"2009-07-29"},{Type:"language",Subtag:"myk",Description:["Mamara Senoufo"],Added:"2009-07-29"},{Type:"language",Subtag:"myl",Description:["Moma"],Added:"2009-07-29"},{Type:"language",Subtag:"mym",Description:["Me'en"],Added:"2009-07-29"},{Type:"language",Subtag:"myn",Description:["Mayan languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"myo",Description:["Anfillo"],Added:"2009-07-29"},{Type:"language",Subtag:"myp",Description:["Pirahã"],Added:"2009-07-29"},{Type:"language",Subtag:"myq",Description:["Forest Maninka"],Added:"2009-07-29",Deprecated:"2013-09-10",Macrolanguage:"man"},{Type:"language",Subtag:"myr",Description:["Muniche"],Added:"2009-07-29"},{Type:"language",Subtag:"mys",Description:["Mesmes"],Added:"2009-07-29"},{Type:"language",Subtag:"myt",Description:["Sangab Mandaya"],Added:"2009-07-29",Deprecated:"2010-03-11","Preferred-Value":"mry"},{Type:"language",Subtag:"myu",Description:["Mundurukú"],Added:"2009-07-29"},{Type:"language",Subtag:"myv",Description:["Erzya"],Added:"2005-10-16"},{Type:"language",Subtag:"myw",Description:["Muyuw"],Added:"2009-07-29"},{Type:"language",Subtag:"myx",Description:["Masaaba"],Added:"2009-07-29"},{Type:"language",Subtag:"myy",Description:["Macuna"],Added:"2009-07-29"},{Type:"language",Subtag:"myz",Description:["Classical Mandaic"],Added:"2009-07-29"},{Type:"language",Subtag:"mza",Description:["Santa María Zacatepec Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"mzb",Description:["Tumzabt"],Added:"2009-07-29"},{Type:"language",Subtag:"mzc",Description:["Madagascar Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"mzd",Description:["Malimba"],Added:"2009-07-29"},{Type:"language",Subtag:"mze",Description:["Morawa"],Added:"2009-07-29"},{Type:"language",Subtag:"mzg",Description:["Monastic Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"mzh",Description:["Wichí Lhamtés Güisnay"],Added:"2009-07-29"},{Type:"language",Subtag:"mzi",Description:["Ixcatlán Mazatec"],Added:"2009-07-29"},{Type:"language",Subtag:"mzj",Description:["Manya"],Added:"2009-07-29"},{Type:"language",Subtag:"mzk",Description:["Nigeria Mambila"],Added:"2009-07-29"},{Type:"language",Subtag:"mzl",Description:["Mazatlán Mixe"],Added:"2009-07-29"},{Type:"language",Subtag:"mzm",Description:["Mumuye"],Added:"2009-07-29"},{Type:"language",Subtag:"mzn",Description:["Mazanderani"],Added:"2009-07-29"},{Type:"language",Subtag:"mzo",Description:["Matipuhy"],Added:"2009-07-29"},{Type:"language",Subtag:"mzp",Description:["Movima"],Added:"2009-07-29"},{Type:"language",Subtag:"mzq",Description:["Mori Atas"],Added:"2009-07-29"},{Type:"language",Subtag:"mzr",Description:["Marúbo"],Added:"2009-07-29"},{Type:"language",Subtag:"mzs",Description:["Macanese"],Added:"2009-07-29"},{Type:"language",Subtag:"mzt",Description:["Mintil"],Added:"2009-07-29"},{Type:"language",Subtag:"mzu",Description:["Inapang"],Added:"2009-07-29"},{Type:"language",Subtag:"mzv",Description:["Manza"],Added:"2009-07-29"},{Type:"language",Subtag:"mzw",Description:["Deg"],Added:"2009-07-29"},{Type:"language",Subtag:"mzx",Description:["Mawayana"],Added:"2009-07-29"},{Type:"language",Subtag:"mzy",Description:["Mozambican Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"mzz",Description:["Maiadomu"],Added:"2009-07-29"},{Type:"language",Subtag:"naa",Description:["Namla"],Added:"2009-07-29"},{Type:"language",Subtag:"nab",Description:["Southern Nambikuára"],Added:"2009-07-29"},{Type:"language",Subtag:"nac",Description:["Narak"],Added:"2009-07-29"},{Type:"language",Subtag:"nad",Description:["Nijadali"],Added:"2009-07-29",Deprecated:"2016-05-30","Preferred-Value":"xny"},{Type:"language",Subtag:"nae",Description:["Naka'ela"],Added:"2009-07-29"},{Type:"language",Subtag:"naf",Description:["Nabak"],Added:"2009-07-29"},{Type:"language",Subtag:"nag",Description:["Naga Pidgin"],Added:"2009-07-29"},{Type:"language",Subtag:"nah",Description:["Nahuatl languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"nai",Description:["North American Indian languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"naj",Description:["Nalu"],Added:"2009-07-29"},{Type:"language",Subtag:"nak",Description:["Nakanai"],Added:"2009-07-29"},{Type:"language",Subtag:"nal",Description:["Nalik"],Added:"2009-07-29"},{Type:"language",Subtag:"nam",Description:["Ngan'gityemerri"],Added:"2009-07-29"},{Type:"language",Subtag:"nan",Description:["Min Nan Chinese"],Added:"2009-07-29",Macrolanguage:"zh"},{Type:"language",Subtag:"nao",Description:["Naaba"],Added:"2009-07-29"},{Type:"language",Subtag:"nap",Description:["Neapolitan"],Added:"2005-10-16"},{Type:"language",Subtag:"naq",Description:["Khoekhoe","Nama (Namibia)"],Added:"2009-07-29"},{Type:"language",Subtag:"nar",Description:["Iguta"],Added:"2009-07-29"},{Type:"language",Subtag:"nas",Description:["Naasioi"],Added:"2009-07-29"},{Type:"language",Subtag:"nat",Description:["Ca̱hungwa̱rya̱","Hungworo"],Added:"2009-07-29"},{Type:"language",Subtag:"naw",Description:["Nawuri"],Added:"2009-07-29"},{Type:"language",Subtag:"nax",Description:["Nakwi"],Added:"2009-07-29"},{Type:"language",Subtag:"nay",Description:["Ngarrindjeri"],Added:"2009-07-29"},{Type:"language",Subtag:"naz",Description:["Coatepec Nahuatl"],Added:"2009-07-29"},{Type:"language",Subtag:"nba",Description:["Nyemba"],Added:"2009-07-29"},{Type:"language",Subtag:"nbb",Description:["Ndoe"],Added:"2009-07-29"},{Type:"language",Subtag:"nbc",Description:["Chang Naga"],Added:"2009-07-29"},{Type:"language",Subtag:"nbd",Description:["Ngbinda"],Added:"2009-07-29"},{Type:"language",Subtag:"nbe",Description:["Konyak Naga"],Added:"2009-07-29"},{Type:"language",Subtag:"nbf",Description:["Naxi"],Added:"2009-07-29",Deprecated:"2011-08-16",Comments:["see nru, nxq"]},{Type:"language",Subtag:"nbg",Description:["Nagarchal"],Added:"2009-07-29"},{Type:"language",Subtag:"nbh",Description:["Ngamo"],Added:"2009-07-29"},{Type:"language",Subtag:"nbi",Description:["Mao Naga"],Added:"2009-07-29"},{Type:"language",Subtag:"nbj",Description:["Ngarinyman"],Added:"2009-07-29"},{Type:"language",Subtag:"nbk",Description:["Nake"],Added:"2009-07-29"},{Type:"language",Subtag:"nbm",Description:["Ngbaka Ma'bo"],Added:"2009-07-29"},{Type:"language",Subtag:"nbn",Description:["Kuri"],Added:"2009-07-29"},{Type:"language",Subtag:"nbo",Description:["Nkukoli"],Added:"2009-07-29"},{Type:"language",Subtag:"nbp",Description:["Nnam"],Added:"2009-07-29"},{Type:"language",Subtag:"nbq",Description:["Nggem"],Added:"2009-07-29"},{Type:"language",Subtag:"nbr",Description:["Numana"],Added:"2009-07-29"},{Type:"language",Subtag:"nbs",Description:["Namibian Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"nbt",Description:["Na"],Added:"2009-07-29"},{Type:"language",Subtag:"nbu",Description:["Rongmei Naga"],Added:"2009-07-29"},{Type:"language",Subtag:"nbv",Description:["Ngamambo"],Added:"2009-07-29"},{Type:"language",Subtag:"nbw",Description:["Southern Ngbandi"],Added:"2009-07-29"},{Type:"language",Subtag:"nbx",Description:["Ngura"],Added:"2009-07-29",Deprecated:"2013-09-10",Comments:["see ekc, gll, jbi, xpt, xwk"]},{Type:"language",Subtag:"nby",Description:["Ningera"],Added:"2009-07-29"},{Type:"language",Subtag:"nca",Description:["Iyo"],Added:"2009-07-29"},{Type:"language",Subtag:"ncb",Description:["Central Nicobarese"],Added:"2009-07-29"},{Type:"language",Subtag:"ncc",Description:["Ponam"],Added:"2009-07-29"},{Type:"language",Subtag:"ncd",Description:["Nachering"],Added:"2009-07-29"},{Type:"language",Subtag:"nce",Description:["Yale"],Added:"2009-07-29"},{Type:"language",Subtag:"ncf",Description:["Notsi"],Added:"2009-07-29"},{Type:"language",Subtag:"ncg",Description:["Nisga'a"],Added:"2009-07-29"},{Type:"language",Subtag:"nch",Description:["Central Huasteca Nahuatl"],Added:"2009-07-29"},{Type:"language",Subtag:"nci",Description:["Classical Nahuatl"],Added:"2009-07-29"},{Type:"language",Subtag:"ncj",Description:["Northern Puebla Nahuatl"],Added:"2009-07-29"},{Type:"language",Subtag:"nck",Description:["Na-kara"],Added:"2009-07-29"},{Type:"language",Subtag:"ncl",Description:["Michoacán Nahuatl"],Added:"2009-07-29"},{Type:"language",Subtag:"ncm",Description:["Nambo"],Added:"2009-07-29"},{Type:"language",Subtag:"ncn",Description:["Nauna"],Added:"2009-07-29"},{Type:"language",Subtag:"nco",Description:["Sibe"],Added:"2009-07-29"},{Type:"language",Subtag:"ncp",Description:["Ndaktup"],Added:"2009-07-29",Deprecated:"2018-03-08","Preferred-Value":"kdz"},{Type:"language",Subtag:"ncq",Description:["Northern Katang"],Added:"2017-02-23"},{Type:"language",Subtag:"ncr",Description:["Ncane"],Added:"2009-07-29"},{Type:"language",Subtag:"ncs",Description:["Nicaraguan Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"nct",Description:["Chothe Naga"],Added:"2009-07-29"},{Type:"language",Subtag:"ncu",Description:["Chumburung"],Added:"2009-07-29"},{Type:"language",Subtag:"ncx",Description:["Central Puebla Nahuatl"],Added:"2009-07-29"},{Type:"language",Subtag:"ncz",Description:["Natchez"],Added:"2009-07-29"},{Type:"language",Subtag:"nda",Description:["Ndasa"],Added:"2009-07-29"},{Type:"language",Subtag:"ndb",Description:["Kenswei Nsei"],Added:"2009-07-29"},{Type:"language",Subtag:"ndc",Description:["Ndau"],Added:"2009-07-29"},{Type:"language",Subtag:"ndd",Description:["Nde-Nsele-Nta"],Added:"2009-07-29"},{Type:"language",Subtag:"ndf",Description:["Nadruvian"],Added:"2009-07-29"},{Type:"language",Subtag:"ndg",Description:["Ndengereko"],Added:"2009-07-29"},{Type:"language",Subtag:"ndh",Description:["Ndali"],Added:"2009-07-29"},{Type:"language",Subtag:"ndi",Description:["Samba Leko"],Added:"2009-07-29"},{Type:"language",Subtag:"ndj",Description:["Ndamba"],Added:"2009-07-29"},{Type:"language",Subtag:"ndk",Description:["Ndaka"],Added:"2009-07-29"},{Type:"language",Subtag:"ndl",Description:["Ndolo"],Added:"2009-07-29"},{Type:"language",Subtag:"ndm",Description:["Ndam"],Added:"2009-07-29"},{Type:"language",Subtag:"ndn",Description:["Ngundi"],Added:"2009-07-29"},{Type:"language",Subtag:"ndp",Description:["Ndo"],Added:"2009-07-29"},{Type:"language",Subtag:"ndq",Description:["Ndombe"],Added:"2009-07-29"},{Type:"language",Subtag:"ndr",Description:["Ndoola"],Added:"2009-07-29"},{Type:"language",Subtag:"nds",Description:["Low German","Low Saxon"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"ndt",Description:["Ndunga"],Added:"2009-07-29"},{Type:"language",Subtag:"ndu",Description:["Dugun"],Added:"2009-07-29"},{Type:"language",Subtag:"ndv",Description:["Ndut"],Added:"2009-07-29"},{Type:"language",Subtag:"ndw",Description:["Ndobo"],Added:"2009-07-29"},{Type:"language",Subtag:"ndx",Description:["Nduga"],Added:"2009-07-29"},{Type:"language",Subtag:"ndy",Description:["Lutos"],Added:"2009-07-29"},{Type:"language",Subtag:"ndz",Description:["Ndogo"],Added:"2009-07-29"},{Type:"language",Subtag:"nea",Description:["Eastern Ngad'a"],Added:"2009-07-29"},{Type:"language",Subtag:"neb",Description:["Toura (Côte d'Ivoire)"],Added:"2009-07-29"},{Type:"language",Subtag:"nec",Description:["Nedebang"],Added:"2009-07-29"},{Type:"language",Subtag:"ned",Description:["Nde-Gbite"],Added:"2009-07-29"},{Type:"language",Subtag:"nee",Description:["Nêlêmwa-Nixumwak"],Added:"2009-07-29"},{Type:"language",Subtag:"nef",Description:["Nefamese"],Added:"2009-07-29"},{Type:"language",Subtag:"neg",Description:["Negidal"],Added:"2009-07-29"},{Type:"language",Subtag:"neh",Description:["Nyenkha"],Added:"2009-07-29"},{Type:"language",Subtag:"nei",Description:["Neo-Hittite"],Added:"2009-07-29"},{Type:"language",Subtag:"nej",Description:["Neko"],Added:"2009-07-29"},{Type:"language",Subtag:"nek",Description:["Neku"],Added:"2009-07-29"},{Type:"language",Subtag:"nem",Description:["Nemi"],Added:"2009-07-29"},{Type:"language",Subtag:"nen",Description:["Nengone"],Added:"2009-07-29"},{Type:"language",Subtag:"neo",Description:["Ná-Meo"],Added:"2009-07-29"},{Type:"language",Subtag:"neq",Description:["North Central Mixe"],Added:"2009-07-29"},{Type:"language",Subtag:"ner",Description:["Yahadian"],Added:"2009-07-29"},{Type:"language",Subtag:"nes",Description:["Bhoti Kinnauri"],Added:"2009-07-29"},{Type:"language",Subtag:"net",Description:["Nete"],Added:"2009-07-29"},{Type:"language",Subtag:"neu",Description:["Neo"],Added:"2012-08-12"},{Type:"language",Subtag:"nev",Description:["Nyaheun"],Added:"2009-07-29"},{Type:"language",Subtag:"new",Description:["Newari","Nepal Bhasa"],Added:"2005-10-16"},{Type:"language",Subtag:"nex",Description:["Neme"],Added:"2009-07-29"},{Type:"language",Subtag:"ney",Description:["Neyo"],Added:"2009-07-29"},{Type:"language",Subtag:"nez",Description:["Nez Perce"],Added:"2009-07-29"},{Type:"language",Subtag:"nfa",Description:["Dhao"],Added:"2009-07-29"},{Type:"language",Subtag:"nfd",Description:["Ahwai"],Added:"2009-07-29"},{Type:"language",Subtag:"nfl",Description:["Ayiwo","Äiwoo"],Added:"2009-07-29"},{Type:"language",Subtag:"nfr",Description:["Nafaanra"],Added:"2009-07-29"},{Type:"language",Subtag:"nfu",Description:["Mfumte"],Added:"2009-07-29"},{Type:"language",Subtag:"nga",Description:["Ngbaka"],Added:"2009-07-29"},{Type:"language",Subtag:"ngb",Description:["Northern Ngbandi"],Added:"2009-07-29"},{Type:"language",Subtag:"ngc",Description:["Ngombe (Democratic Republic of Congo)"],Added:"2009-07-29"},{Type:"language",Subtag:"ngd",Description:["Ngando (Central African Republic)"],Added:"2009-07-29"},{Type:"language",Subtag:"nge",Description:["Ngemba"],Added:"2009-07-29"},{Type:"language",Subtag:"ngf",Description:["Trans-New Guinea languages"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"ngg",Description:["Ngbaka Manza"],Added:"2009-07-29"},{Type:"language",Subtag:"ngh",Description:["Nǁng"],Added:"2009-07-29"},{Type:"language",Subtag:"ngi",Description:["Ngizim"],Added:"2009-07-29"},{Type:"language",Subtag:"ngj",Description:["Ngie"],Added:"2009-07-29"},{Type:"language",Subtag:"ngk",Description:["Dalabon"],Added:"2009-07-29"},{Type:"language",Subtag:"ngl",Description:["Lomwe"],Added:"2009-07-29"},{Type:"language",Subtag:"ngm",Description:["Ngatik Men's Creole"],Added:"2009-07-29"},{Type:"language",Subtag:"ngn",Description:["Ngwo"],Added:"2009-07-29"},{Type:"language",Subtag:"ngo",Description:["Ngoni"],Added:"2009-07-29",Deprecated:"2021-02-20",Comments:["see xnj, xnq"]},{Type:"language",Subtag:"ngp",Description:["Ngulu"],Added:"2009-07-29"},{Type:"language",Subtag:"ngq",Description:["Ngurimi","Ngoreme"],Added:"2009-07-29"},{Type:"language",Subtag:"ngr",Description:["Engdewu"],Added:"2009-07-29"},{Type:"language",Subtag:"ngs",Description:["Gvoko"],Added:"2009-07-29"},{Type:"language",Subtag:"ngt",Description:["Kriang","Ngeq"],Added:"2009-07-29"},{Type:"language",Subtag:"ngu",Description:["Guerrero Nahuatl"],Added:"2009-07-29"},{Type:"language",Subtag:"ngv",Description:["Nagumi"],Added:"2009-07-29"},{Type:"language",Subtag:"ngw",Description:["Ngwaba"],Added:"2009-07-29"},{Type:"language",Subtag:"ngx",Description:["Nggwahyi"],Added:"2009-07-29"},{Type:"language",Subtag:"ngy",Description:["Tibea"],Added:"2009-07-29"},{Type:"language",Subtag:"ngz",Description:["Ngungwel"],Added:"2009-07-29"},{Type:"language",Subtag:"nha",Description:["Nhanda"],Added:"2009-07-29"},{Type:"language",Subtag:"nhb",Description:["Beng"],Added:"2009-07-29"},{Type:"language",Subtag:"nhc",Description:["Tabasco Nahuatl"],Added:"2009-07-29"},{Type:"language",Subtag:"nhd",Description:["Chiripá","Ava Guaraní"],Added:"2009-07-29",Macrolanguage:"gn"},{Type:"language",Subtag:"nhe",Description:["Eastern Huasteca Nahuatl"],Added:"2009-07-29"},{Type:"language",Subtag:"nhf",Description:["Nhuwala"],Added:"2009-07-29"},{Type:"language",Subtag:"nhg",Description:["Tetelcingo Nahuatl"],Added:"2009-07-29"},{Type:"language",Subtag:"nhh",Description:["Nahari"],Added:"2009-07-29"},{Type:"language",Subtag:"nhi",Description:["Zacatlán-Ahuacatlán-Tepetzintla Nahuatl"],Added:"2009-07-29"},{Type:"language",Subtag:"nhk",Description:["Isthmus-Cosoleacaque Nahuatl"],Added:"2009-07-29"},{Type:"language",Subtag:"nhm",Description:["Morelos Nahuatl"],Added:"2009-07-29"},{Type:"language",Subtag:"nhn",Description:["Central Nahuatl"],Added:"2009-07-29"},{Type:"language",Subtag:"nho",Description:["Takuu"],Added:"2009-07-29"},{Type:"language",Subtag:"nhp",Description:["Isthmus-Pajapan Nahuatl"],Added:"2009-07-29"},{Type:"language",Subtag:"nhq",Description:["Huaxcaleca Nahuatl"],Added:"2009-07-29"},{Type:"language",Subtag:"nhr",Description:["Naro"],Added:"2009-07-29"},{Type:"language",Subtag:"nht",Description:["Ometepec Nahuatl"],Added:"2009-07-29"},{Type:"language",Subtag:"nhu",Description:["Noone"],Added:"2009-07-29"},{Type:"language",Subtag:"nhv",Description:["Temascaltepec Nahuatl"],Added:"2009-07-29"},{Type:"language",Subtag:"nhw",Description:["Western Huasteca Nahuatl"],Added:"2009-07-29"},{Type:"language",Subtag:"nhx",Description:["Isthmus-Mecayapan Nahuatl"],Added:"2009-07-29"},{Type:"language",Subtag:"nhy",Description:["Northern Oaxaca Nahuatl"],Added:"2009-07-29"},{Type:"language",Subtag:"nhz",Description:["Santa María La Alta Nahuatl"],Added:"2009-07-29"},{Type:"language",Subtag:"nia",Description:["Nias"],Added:"2005-10-16"},{Type:"language",Subtag:"nib",Description:["Nakame"],Added:"2009-07-29"},{Type:"language",Subtag:"nic",Description:["Niger-Kordofanian languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"nid",Description:["Ngandi"],Added:"2009-07-29"},{Type:"language",Subtag:"nie",Description:["Niellim"],Added:"2009-07-29"},{Type:"language",Subtag:"nif",Description:["Nek"],Added:"2009-07-29"},{Type:"language",Subtag:"nig",Description:["Ngalakgan"],Added:"2009-07-29"},{Type:"language",Subtag:"nih",Description:["Nyiha (Tanzania)"],Added:"2009-07-29"},{Type:"language",Subtag:"nii",Description:["Nii"],Added:"2009-07-29"},{Type:"language",Subtag:"nij",Description:["Ngaju"],Added:"2009-07-29"},{Type:"language",Subtag:"nik",Description:["Southern Nicobarese"],Added:"2009-07-29"},{Type:"language",Subtag:"nil",Description:["Nila"],Added:"2009-07-29"},{Type:"language",Subtag:"nim",Description:["Nilamba"],Added:"2009-07-29"},{Type:"language",Subtag:"nin",Description:["Ninzo"],Added:"2009-07-29"},{Type:"language",Subtag:"nio",Description:["Nganasan"],Added:"2009-07-29"},{Type:"language",Subtag:"niq",Description:["Nandi"],Added:"2009-07-29",Macrolanguage:"kln"},{Type:"language",Subtag:"nir",Description:["Nimboran"],Added:"2009-07-29"},{Type:"language",Subtag:"nis",Description:["Nimi"],Added:"2009-07-29"},{Type:"language",Subtag:"nit",Description:["Southeastern Kolami"],Added:"2009-07-29"},{Type:"language",Subtag:"niu",Description:["Niuean"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"niv",Description:["Gilyak"],Added:"2009-07-29"},{Type:"language",Subtag:"niw",Description:["Nimo"],Added:"2009-07-29"},{Type:"language",Subtag:"nix",Description:["Hema"],Added:"2009-07-29"},{Type:"language",Subtag:"niy",Description:["Ngiti"],Added:"2009-07-29"},{Type:"language",Subtag:"niz",Description:["Ningil"],Added:"2009-07-29"},{Type:"language",Subtag:"nja",Description:["Nzanyi"],Added:"2009-07-29"},{Type:"language",Subtag:"njb",Description:["Nocte Naga"],Added:"2009-07-29"},{Type:"language",Subtag:"njd",Description:["Ndonde Hamba"],Added:"2009-07-29"},{Type:"language",Subtag:"njh",Description:["Lotha Naga"],Added:"2009-07-29"},{Type:"language",Subtag:"nji",Description:["Gudanji"],Added:"2009-07-29"},{Type:"language",Subtag:"njj",Description:["Njen"],Added:"2009-07-29"},{Type:"language",Subtag:"njl",Description:["Njalgulgule"],Added:"2009-07-29"},{Type:"language",Subtag:"njm",Description:["Angami Naga"],Added:"2009-07-29"},{Type:"language",Subtag:"njn",Description:["Liangmai Naga"],Added:"2009-07-29"},{Type:"language",Subtag:"njo",Description:["Ao Naga"],Added:"2009-07-29"},{Type:"language",Subtag:"njr",Description:["Njerep"],Added:"2009-07-29"},{Type:"language",Subtag:"njs",Description:["Nisa"],Added:"2009-07-29"},{Type:"language",Subtag:"njt",Description:["Ndyuka-Trio Pidgin"],Added:"2009-07-29"},{Type:"language",Subtag:"nju",Description:["Ngadjunmaya"],Added:"2009-07-29"},{Type:"language",Subtag:"njx",Description:["Kunyi"],Added:"2009-07-29"},{Type:"language",Subtag:"njy",Description:["Njyem"],Added:"2009-07-29"},{Type:"language",Subtag:"njz",Description:["Nyishi"],Added:"2012-08-12"},{Type:"language",Subtag:"nka",Description:["Nkoya"],Added:"2009-07-29"},{Type:"language",Subtag:"nkb",Description:["Khoibu Naga"],Added:"2009-07-29"},{Type:"language",Subtag:"nkc",Description:["Nkongho"],Added:"2009-07-29"},{Type:"language",Subtag:"nkd",Description:["Koireng"],Added:"2009-07-29"},{Type:"language",Subtag:"nke",Description:["Duke"],Added:"2009-07-29"},{Type:"language",Subtag:"nkf",Description:["Inpui Naga"],Added:"2009-07-29"},{Type:"language",Subtag:"nkg",Description:["Nekgini"],Added:"2009-07-29"},{Type:"language",Subtag:"nkh",Description:["Khezha Naga"],Added:"2009-07-29"},{Type:"language",Subtag:"nki",Description:["Thangal Naga"],Added:"2009-07-29"},{Type:"language",Subtag:"nkj",Description:["Nakai"],Added:"2009-07-29"},{Type:"language",Subtag:"nkk",Description:["Nokuku"],Added:"2009-07-29"},{Type:"language",Subtag:"nkm",Description:["Namat"],Added:"2009-07-29"},{Type:"language",Subtag:"nkn",Description:["Nkangala"],Added:"2009-07-29"},{Type:"language",Subtag:"nko",Description:["Nkonya"],Added:"2009-07-29"},{Type:"language",Subtag:"nkp",Description:["Niuatoputapu"],Added:"2009-07-29"},{Type:"language",Subtag:"nkq",Description:["Nkami"],Added:"2010-04-16"},{Type:"language",Subtag:"nkr",Description:["Nukuoro"],Added:"2009-07-29"},{Type:"language",Subtag:"nks",Description:["North Asmat"],Added:"2009-07-29"},{Type:"language",Subtag:"nkt",Description:["Nyika (Tanzania)"],Added:"2009-07-29"},{Type:"language",Subtag:"nku",Description:["Bouna Kulango"],Added:"2009-07-29"},{Type:"language",Subtag:"nkv",Description:["Nyika (Malawi and Zambia)"],Added:"2009-07-29"},{Type:"language",Subtag:"nkw",Description:["Nkutu"],Added:"2009-07-29"},{Type:"language",Subtag:"nkx",Description:["Nkoroo"],Added:"2009-07-29"},{Type:"language",Subtag:"nkz",Description:["Nkari"],Added:"2009-07-29"},{Type:"language",Subtag:"nla",Description:["Ngombale"],Added:"2009-07-29"},{Type:"language",Subtag:"nlc",Description:["Nalca"],Added:"2009-07-29"},{Type:"language",Subtag:"nle",Description:["East Nyala"],Added:"2009-07-29",Macrolanguage:"luy"},{Type:"language",Subtag:"nlg",Description:["Gela"],Added:"2009-07-29"},{Type:"language",Subtag:"nli",Description:["Grangali"],Added:"2009-07-29"},{Type:"language",Subtag:"nlj",Description:["Nyali"],Added:"2009-07-29"},{Type:"language",Subtag:"nlk",Description:["Ninia Yali"],Added:"2009-07-29"},{Type:"language",Subtag:"nll",Description:["Nihali"],Added:"2009-07-29"},{Type:"language",Subtag:"nlm",Description:["Mankiyali"],Added:"2018-03-08"},{Type:"language",Subtag:"nln",Description:["Durango Nahuatl"],Added:"2009-07-29",Deprecated:"2012-08-12",Comments:["see azd, azn"]},{Type:"language",Subtag:"nlo",Description:["Ngul"],Added:"2009-07-29"},{Type:"language",Subtag:"nlq",Description:["Lao Naga"],Added:"2013-09-10"},{Type:"language",Subtag:"nlr",Description:["Ngarla"],Added:"2009-07-29",Deprecated:"2013-09-10",Comments:["see nrk, ywg"]},{Type:"language",Subtag:"nlu",Description:["Nchumbulu"],Added:"2009-07-29"},{Type:"language",Subtag:"nlv",Description:["Orizaba Nahuatl"],Added:"2009-07-29"},{Type:"language",Subtag:"nlw",Description:["Walangama"],Added:"2013-09-10"},{Type:"language",Subtag:"nlx",Description:["Nahali"],Added:"2009-07-29"},{Type:"language",Subtag:"nly",Description:["Nyamal"],Added:"2009-07-29"},{Type:"language",Subtag:"nlz",Description:["Nalögo"],Added:"2009-07-29"},{Type:"language",Subtag:"nma",Description:["Maram Naga"],Added:"2009-07-29"},{Type:"language",Subtag:"nmb",Description:["Big Nambas","V'ënen Taut"],Added:"2009-07-29"},{Type:"language",Subtag:"nmc",Description:["Ngam"],Added:"2009-07-29"},{Type:"language",Subtag:"nmd",Description:["Ndumu"],Added:"2009-07-29"},{Type:"language",Subtag:"nme",Description:["Mzieme Naga"],Added:"2009-07-29"},{Type:"language",Subtag:"nmf",Description:["Tangkhul Naga (India)"],Added:"2009-07-29",Comments:["see ntx"]},{Type:"language",Subtag:"nmg",Description:["Kwasio"],Added:"2009-07-29"},{Type:"language",Subtag:"nmh",Description:["Monsang Naga"],Added:"2009-07-29"},{Type:"language",Subtag:"nmi",Description:["Nyam"],Added:"2009-07-29"},{Type:"language",Subtag:"nmj",Description:["Ngombe (Central African Republic)"],Added:"2009-07-29"},{Type:"language",Subtag:"nmk",Description:["Namakura"],Added:"2009-07-29"},{Type:"language",Subtag:"nml",Description:["Ndemli"],Added:"2009-07-29"},{Type:"language",Subtag:"nmm",Description:["Manangba"],Added:"2009-07-29"},{Type:"language",Subtag:"nmn",Description:["ǃXóõ"],Added:"2009-07-29"},{Type:"language",Subtag:"nmo",Description:["Moyon Naga"],Added:"2009-07-29"},{Type:"language",Subtag:"nmp",Description:["Nimanbur"],Added:"2009-07-29"},{Type:"language",Subtag:"nmq",Description:["Nambya"],Added:"2009-07-29"},{Type:"language",Subtag:"nmr",Description:["Nimbari"],Added:"2009-07-29"},{Type:"language",Subtag:"nms",Description:["Letemboi"],Added:"2009-07-29"},{Type:"language",Subtag:"nmt",Description:["Namonuito"],Added:"2009-07-29"},{Type:"language",Subtag:"nmu",Description:["Northeast Maidu"],Added:"2009-07-29"},{Type:"language",Subtag:"nmv",Description:["Ngamini"],Added:"2009-07-29"},{Type:"language",Subtag:"nmw",Description:["Nimoa","Rifao"],Added:"2009-07-29"},{Type:"language",Subtag:"nmx",Description:["Nama (Papua New Guinea)"],Added:"2009-07-29"},{Type:"language",Subtag:"nmy",Description:["Namuyi"],Added:"2009-07-29"},{Type:"language",Subtag:"nmz",Description:["Nawdm"],Added:"2009-07-29"},{Type:"language",Subtag:"nna",Description:["Nyangumarta"],Added:"2009-07-29"},{Type:"language",Subtag:"nnb",Description:["Nande"],Added:"2009-07-29"},{Type:"language",Subtag:"nnc",Description:["Nancere"],Added:"2009-07-29"},{Type:"language",Subtag:"nnd",Description:["West Ambae"],Added:"2009-07-29"},{Type:"language",Subtag:"nne",Description:["Ngandyera"],Added:"2009-07-29"},{Type:"language",Subtag:"nnf",Description:["Ngaing"],Added:"2009-07-29"},{Type:"language",Subtag:"nng",Description:["Maring Naga"],Added:"2009-07-29"},{Type:"language",Subtag:"nnh",Description:["Ngiemboon"],Added:"2009-07-29"},{Type:"language",Subtag:"nni",Description:["North Nuaulu"],Added:"2009-07-29"},{Type:"language",Subtag:"nnj",Description:["Nyangatom"],Added:"2009-07-29"},{Type:"language",Subtag:"nnk",Description:["Nankina"],Added:"2009-07-29"},{Type:"language",Subtag:"nnl",Description:["Northern Rengma Naga"],Added:"2009-07-29"},{Type:"language",Subtag:"nnm",Description:["Namia"],Added:"2009-07-29"},{Type:"language",Subtag:"nnn",Description:["Ngete"],Added:"2009-07-29"},{Type:"language",Subtag:"nnp",Description:["Wancho Naga"],Added:"2009-07-29"},{Type:"language",Subtag:"nnq",Description:["Ngindo"],Added:"2009-07-29"},{Type:"language",Subtag:"nnr",Description:["Narungga"],Added:"2009-07-29"},{Type:"language",Subtag:"nns",Description:["Ningye"],Added:"2009-07-29",Deprecated:"2019-04-16","Preferred-Value":"nbr"},{Type:"language",Subtag:"nnt",Description:["Nanticoke"],Added:"2009-07-29"},{Type:"language",Subtag:"nnu",Description:["Dwang"],Added:"2009-07-29"},{Type:"language",Subtag:"nnv",Description:["Nugunu (Australia)"],Added:"2009-07-29"},{Type:"language",Subtag:"nnw",Description:["Southern Nuni"],Added:"2009-07-29"},{Type:"language",Subtag:"nnx",Description:["Ngong"],Added:"2009-07-29",Deprecated:"2015-02-12","Preferred-Value":"ngv"},{Type:"language",Subtag:"nny",Description:["Nyangga"],Added:"2009-07-29"},{Type:"language",Subtag:"nnz",Description:["Nda'nda'"],Added:"2009-07-29"},{Type:"language",Subtag:"noa",Description:["Woun Meu"],Added:"2009-07-29"},{Type:"language",Subtag:"noc",Description:["Nuk"],Added:"2009-07-29"},{Type:"language",Subtag:"nod",Description:["Northern Thai"],Added:"2009-07-29"},{Type:"language",Subtag:"noe",Description:["Nimadi"],Added:"2009-07-29"},{Type:"language",Subtag:"nof",Description:["Nomane"],Added:"2009-07-29"},{Type:"language",Subtag:"nog",Description:["Nogai"],Added:"2005-10-16"},{Type:"language",Subtag:"noh",Description:["Nomu"],Added:"2009-07-29"},{Type:"language",Subtag:"noi",Description:["Noiri"],Added:"2009-07-29"},{Type:"language",Subtag:"noj",Description:["Nonuya"],Added:"2010-03-11"},{Type:"language",Subtag:"nok",Description:["Nooksack"],Added:"2009-07-29"},{Type:"language",Subtag:"nol",Description:["Nomlaki"],Added:"2013-09-10"},{Type:"language",Subtag:"nom",Description:["Nocamán"],Added:"2009-07-29"},{Type:"language",Subtag:"non",Description:["Old Norse"],Added:"2005-10-16"},{Type:"language",Subtag:"noo",Description:["Nootka"],Added:"2009-07-29",Deprecated:"2011-08-16",Comments:["see dtd, nuk"]},{Type:"language",Subtag:"nop",Description:["Numanggang"],Added:"2009-07-29"},{Type:"language",Subtag:"noq",Description:["Ngongo"],Added:"2009-07-29"},{Type:"language",Subtag:"nos",Description:["Eastern Nisu"],Added:"2009-07-29"},{Type:"language",Subtag:"not",Description:["Nomatsiguenga"],Added:"2009-07-29"},{Type:"language",Subtag:"nou",Description:["Ewage-Notu"],Added:"2009-07-29"},{Type:"language",Subtag:"nov",Description:["Novial"],Added:"2009-07-29"},{Type:"language",Subtag:"now",Description:["Nyambo"],Added:"2009-07-29"},{Type:"language",Subtag:"noy",Description:["Noy"],Added:"2009-07-29"},{Type:"language",Subtag:"noz",Description:["Nayi"],Added:"2009-07-29"},{Type:"language",Subtag:"npa",Description:["Nar Phu"],Added:"2009-07-29"},{Type:"language",Subtag:"npb",Description:["Nupbikha"],Added:"2009-07-29"},{Type:"language",Subtag:"npg",Description:["Ponyo-Gongwang Naga"],Added:"2012-08-12"},{Type:"language",Subtag:"nph",Description:["Phom Naga"],Added:"2009-07-29"},{Type:"language",Subtag:"npi",Description:["Nepali (individual language)"],Added:"2012-08-12",Macrolanguage:"ne"},{Type:"language",Subtag:"npl",Description:["Southeastern Puebla Nahuatl"],Added:"2009-07-29"},{Type:"language",Subtag:"npn",Description:["Mondropolon"],Added:"2009-07-29"},{Type:"language",Subtag:"npo",Description:["Pochuri Naga"],Added:"2009-07-29"},{Type:"language",Subtag:"nps",Description:["Nipsan"],Added:"2009-07-29"},{Type:"language",Subtag:"npu",Description:["Puimei Naga"],Added:"2009-07-29"},{Type:"language",Subtag:"npx",Description:["Noipx"],Added:"2017-02-23"},{Type:"language",Subtag:"npy",Description:["Napu"],Added:"2009-07-29"},{Type:"language",Subtag:"nqg",Description:["Southern Nago"],Added:"2009-07-29"},{Type:"language",Subtag:"nqk",Description:["Kura Ede Nago"],Added:"2009-07-29"},{Type:"language",Subtag:"nql",Description:["Ngendelengo"],Added:"2017-02-23"},{Type:"language",Subtag:"nqm",Description:["Ndom"],Added:"2009-07-29"},{Type:"language",Subtag:"nqn",Description:["Nen"],Added:"2009-07-29"},{Type:"language",Subtag:"nqo",Description:["N'Ko","N’Ko"],Added:"2006-06-05","Suppress-Script":"Nkoo"},{Type:"language",Subtag:"nqq",Description:["Kyan-Karyaw Naga"],Added:"2013-09-10"},{Type:"language",Subtag:"nqt",Description:["Nteng"],Added:"2021-02-20"},{Type:"language",Subtag:"nqy",Description:["Akyaung Ari Naga"],Added:"2012-08-12"},{Type:"language",Subtag:"nra",Description:["Ngom"],Added:"2009-07-29"},{Type:"language",Subtag:"nrb",Description:["Nara"],Added:"2009-07-29"},{Type:"language",Subtag:"nrc",Description:["Noric"],Added:"2009-07-29"},{Type:"language",Subtag:"nre",Description:["Southern Rengma Naga"],Added:"2009-07-29"},{Type:"language",Subtag:"nrf",Description:["Jèrriais","Guernésiais"],Added:"2015-02-12"},{Type:"language",Subtag:"nrg",Description:["Narango"],Added:"2009-07-29"},{Type:"language",Subtag:"nri",Description:["Chokri Naga"],Added:"2009-07-29"},{Type:"language",Subtag:"nrk",Description:["Ngarla"],Added:"2013-09-10"},{Type:"language",Subtag:"nrl",Description:["Ngarluma"],Added:"2009-07-29"},{Type:"language",Subtag:"nrm",Description:["Narom"],Added:"2009-07-29"},{Type:"language",Subtag:"nrn",Description:["Norn"],Added:"2009-07-29"},{Type:"language",Subtag:"nrp",Description:["North Picene"],Added:"2009-07-29"},{Type:"language",Subtag:"nrr",Description:["Norra","Nora"],Added:"2009-07-29"},{Type:"language",Subtag:"nrt",Description:["Northern Kalapuya"],Added:"2009-07-29"},{Type:"language",Subtag:"nru",Description:["Narua"],Added:"2011-08-16"},{Type:"language",Subtag:"nrx",Description:["Ngurmbur"],Added:"2009-07-29"},{Type:"language",Subtag:"nrz",Description:["Lala"],Added:"2009-07-29"},{Type:"language",Subtag:"nsa",Description:["Sangtam Naga"],Added:"2009-07-29"},{Type:"language",Subtag:"nsb",Description:["Lower Nossob"],Added:"2020-03-28"},{Type:"language",Subtag:"nsc",Description:["Nshi"],Added:"2009-07-29"},{Type:"language",Subtag:"nsd",Description:["Southern Nisu"],Added:"2009-07-29"},{Type:"language",Subtag:"nse",Description:["Nsenga"],Added:"2009-07-29"},{Type:"language",Subtag:"nsf",Description:["Northwestern Nisu"],Added:"2012-08-12"},{Type:"language",Subtag:"nsg",Description:["Ngasa"],Added:"2009-07-29"},{Type:"language",Subtag:"nsh",Description:["Ngoshie"],Added:"2009-07-29"},{Type:"language",Subtag:"nsi",Description:["Nigerian Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"nsk",Description:["Naskapi"],Added:"2009-07-29"},{Type:"language",Subtag:"nsl",Description:["Norwegian Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"nsm",Description:["Sumi Naga"],Added:"2009-07-29"},{Type:"language",Subtag:"nsn",Description:["Nehan"],Added:"2009-07-29"},{Type:"language",Subtag:"nso",Description:["Pedi","Northern Sotho","Sepedi"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"nsp",Description:["Nepalese Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"nsq",Description:["Northern Sierra Miwok"],Added:"2009-07-29"},{Type:"language",Subtag:"nsr",Description:["Maritime Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"nss",Description:["Nali"],Added:"2009-07-29"},{Type:"language",Subtag:"nst",Description:["Tase Naga"],Added:"2009-07-29"},{Type:"language",Subtag:"nsu",Description:["Sierra Negra Nahuatl"],Added:"2009-07-29"},{Type:"language",Subtag:"nsv",Description:["Southwestern Nisu"],Added:"2009-07-29"},{Type:"language",Subtag:"nsw",Description:["Navut"],Added:"2009-07-29"},{Type:"language",Subtag:"nsx",Description:["Nsongo"],Added:"2009-07-29"},{Type:"language",Subtag:"nsy",Description:["Nasal"],Added:"2009-07-29"},{Type:"language",Subtag:"nsz",Description:["Nisenan"],Added:"2009-07-29"},{Type:"language",Subtag:"ntd",Description:["Northern Tidung"],Added:"2016-05-30"},{Type:"language",Subtag:"nte",Description:["Nathembo"],Added:"2009-07-29"},{Type:"language",Subtag:"ntg",Description:["Ngantangarra"],Added:"2013-09-10"},{Type:"language",Subtag:"nti",Description:["Natioro"],Added:"2009-07-29"},{Type:"language",Subtag:"ntj",Description:["Ngaanyatjarra"],Added:"2009-07-29"},{Type:"language",Subtag:"ntk",Description:["Ikoma-Nata-Isenye"],Added:"2009-07-29"},{Type:"language",Subtag:"ntm",Description:["Nateni"],Added:"2009-07-29"},{Type:"language",Subtag:"nto",Description:["Ntomba"],Added:"2009-07-29"},{Type:"language",Subtag:"ntp",Description:["Northern Tepehuan"],Added:"2009-07-29"},{Type:"language",Subtag:"ntr",Description:["Delo"],Added:"2009-07-29"},{Type:"language",Subtag:"nts",Description:["Natagaimas"],Added:"2009-07-29",Deprecated:"2016-05-30","Preferred-Value":"pij"},{Type:"language",Subtag:"ntu",Description:["Natügu"],Added:"2009-07-29"},{Type:"language",Subtag:"ntw",Description:["Nottoway"],Added:"2009-07-29"},{Type:"language",Subtag:"ntx",Description:["Tangkhul Naga (Myanmar)"],Added:"2012-08-12",Comments:["see nmf"]},{Type:"language",Subtag:"nty",Description:["Mantsi"],Added:"2009-07-29"},{Type:"language",Subtag:"ntz",Description:["Natanzi"],Added:"2009-07-29"},{Type:"language",Subtag:"nua",Description:["Yuanga"],Added:"2009-07-29"},{Type:"language",Subtag:"nub",Description:["Nubian languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"nuc",Description:["Nukuini"],Added:"2009-07-29"},{Type:"language",Subtag:"nud",Description:["Ngala"],Added:"2009-07-29"},{Type:"language",Subtag:"nue",Description:["Ngundu"],Added:"2009-07-29"},{Type:"language",Subtag:"nuf",Description:["Nusu"],Added:"2009-07-29"},{Type:"language",Subtag:"nug",Description:["Nungali"],Added:"2009-07-29"},{Type:"language",Subtag:"nuh",Description:["Ndunda"],Added:"2009-07-29"},{Type:"language",Subtag:"nui",Description:["Ngumbi"],Added:"2009-07-29"},{Type:"language",Subtag:"nuj",Description:["Nyole"],Added:"2009-07-29"},{Type:"language",Subtag:"nuk",Description:["Nuu-chah-nulth","Nuuchahnulth"],Added:"2011-08-16"},{Type:"language",Subtag:"nul",Description:["Nusa Laut"],Added:"2009-07-29"},{Type:"language",Subtag:"num",Description:["Niuafo'ou"],Added:"2009-07-29"},{Type:"language",Subtag:"nun",Description:["Anong"],Added:"2009-07-29"},{Type:"language",Subtag:"nuo",Description:["Nguôn"],Added:"2009-07-29"},{Type:"language",Subtag:"nup",Description:["Nupe-Nupe-Tako"],Added:"2009-07-29"},{Type:"language",Subtag:"nuq",Description:["Nukumanu"],Added:"2009-07-29"},{Type:"language",Subtag:"nur",Description:["Nukuria"],Added:"2009-07-29"},{Type:"language",Subtag:"nus",Description:["Nuer"],Added:"2009-07-29"},{Type:"language",Subtag:"nut",Description:["Nung (Viet Nam)"],Added:"2009-07-29"},{Type:"language",Subtag:"nuu",Description:["Ngbundu"],Added:"2009-07-29"},{Type:"language",Subtag:"nuv",Description:["Northern Nuni"],Added:"2009-07-29"},{Type:"language",Subtag:"nuw",Description:["Nguluwan"],Added:"2009-07-29"},{Type:"language",Subtag:"nux",Description:["Mehek"],Added:"2009-07-29"},{Type:"language",Subtag:"nuy",Description:["Nunggubuyu"],Added:"2009-07-29"},{Type:"language",Subtag:"nuz",Description:["Tlamacazapa Nahuatl"],Added:"2009-07-29"},{Type:"language",Subtag:"nvh",Description:["Nasarian"],Added:"2009-07-29"},{Type:"language",Subtag:"nvm",Description:["Namiae"],Added:"2009-07-29"},{Type:"language",Subtag:"nvo",Description:["Nyokon"],Added:"2012-08-12"},{Type:"language",Subtag:"nwa",Description:["Nawathinehena"],Added:"2009-07-29"},{Type:"language",Subtag:"nwb",Description:["Nyabwa"],Added:"2009-07-29"},{Type:"language",Subtag:"nwc",Description:["Classical Newari","Classical Nepal Bhasa","Old Newari"],Added:"2005-10-16"},{Type:"language",Subtag:"nwe",Description:["Ngwe"],Added:"2009-07-29"},{Type:"language",Subtag:"nwg",Description:["Ngayawung"],Added:"2012-08-12"},{Type:"language",Subtag:"nwi",Description:["Southwest Tanna"],Added:"2009-07-29"},{Type:"language",Subtag:"nwm",Description:["Nyamusa-Molo"],Added:"2009-07-29"},{Type:"language",Subtag:"nwo",Description:["Nauo"],Added:"2012-08-12"},{Type:"language",Subtag:"nwr",Description:["Nawaru"],Added:"2009-07-29"},{Type:"language",Subtag:"nww",Description:["Ndwewe"],Added:"2022-02-25"},{Type:"language",Subtag:"nwx",Description:["Middle Newar"],Added:"2009-07-29"},{Type:"language",Subtag:"nwy",Description:["Nottoway-Meherrin"],Added:"2009-07-29"},{Type:"language",Subtag:"nxa",Description:["Nauete"],Added:"2009-07-29"},{Type:"language",Subtag:"nxd",Description:["Ngando (Democratic Republic of Congo)"],Added:"2009-07-29"},{Type:"language",Subtag:"nxe",Description:["Nage"],Added:"2009-07-29"},{Type:"language",Subtag:"nxg",Description:["Ngad'a"],Added:"2009-07-29"},{Type:"language",Subtag:"nxi",Description:["Nindi"],Added:"2009-07-29"},{Type:"language",Subtag:"nxk",Description:["Koki Naga"],Added:"2012-08-12"},{Type:"language",Subtag:"nxl",Description:["South Nuaulu"],Added:"2009-07-29"},{Type:"language",Subtag:"nxm",Description:["Numidian"],Added:"2009-07-29"},{Type:"language",Subtag:"nxn",Description:["Ngawun"],Added:"2009-07-29"},{Type:"language",Subtag:"nxo",Description:["Ndambomo"],Added:"2015-02-12"},{Type:"language",Subtag:"nxq",Description:["Naxi"],Added:"2011-08-16"},{Type:"language",Subtag:"nxr",Description:["Ninggerum"],Added:"2009-07-29"},{Type:"language",Subtag:"nxu",Description:["Narau"],Added:"2009-07-29",Deprecated:"2020-03-28","Preferred-Value":"bpp"},{Type:"language",Subtag:"nxx",Description:["Nafri"],Added:"2009-07-29"},{Type:"language",Subtag:"nyb",Description:["Nyangbo"],Added:"2009-07-29"},{Type:"language",Subtag:"nyc",Description:["Nyanga-li"],Added:"2009-07-29"},{Type:"language",Subtag:"nyd",Description:["Nyore","Olunyole"],Added:"2009-07-29",Macrolanguage:"luy"},{Type:"language",Subtag:"nye",Description:["Nyengo"],Added:"2009-07-29"},{Type:"language",Subtag:"nyf",Description:["Giryama","Kigiryama"],Added:"2009-07-29"},{Type:"language",Subtag:"nyg",Description:["Nyindu"],Added:"2009-07-29"},{Type:"language",Subtag:"nyh",Description:["Nyikina"],Added:"2009-07-29"},{Type:"language",Subtag:"nyi",Description:["Ama (Sudan)"],Added:"2009-07-29"},{Type:"language",Subtag:"nyj",Description:["Nyanga"],Added:"2009-07-29"},{Type:"language",Subtag:"nyk",Description:["Nyaneka"],Added:"2009-07-29"},{Type:"language",Subtag:"nyl",Description:["Nyeu"],Added:"2009-07-29"},{Type:"language",Subtag:"nym",Description:["Nyamwezi"],Added:"2005-10-16"},{Type:"language",Subtag:"nyn",Description:["Nyankole"],Added:"2005-10-16"},{Type:"language",Subtag:"nyo",Description:["Nyoro"],Added:"2005-10-16"},{Type:"language",Subtag:"nyp",Description:["Nyang'i"],Added:"2009-07-29"},{Type:"language",Subtag:"nyq",Description:["Nayini"],Added:"2009-07-29"},{Type:"language",Subtag:"nyr",Description:["Nyiha (Malawi)"],Added:"2009-07-29"},{Type:"language",Subtag:"nys",Description:["Nyungar"],Added:"2009-07-29"},{Type:"language",Subtag:"nyt",Description:["Nyawaygi"],Added:"2009-07-29"},{Type:"language",Subtag:"nyu",Description:["Nyungwe"],Added:"2009-07-29"},{Type:"language",Subtag:"nyv",Description:["Nyulnyul"],Added:"2009-07-29"},{Type:"language",Subtag:"nyw",Description:["Nyaw"],Added:"2009-07-29"},{Type:"language",Subtag:"nyx",Description:["Nganyaywana"],Added:"2009-07-29"},{Type:"language",Subtag:"nyy",Description:["Nyakyusa-Ngonde"],Added:"2009-07-29"},{Type:"language",Subtag:"nza",Description:["Tigon Mbembe"],Added:"2009-07-29"},{Type:"language",Subtag:"nzb",Description:["Njebi"],Added:"2009-07-29"},{Type:"language",Subtag:"nzd",Description:["Nzadi"],Added:"2018-03-08"},{Type:"language",Subtag:"nzi",Description:["Nzima"],Added:"2005-10-16"},{Type:"language",Subtag:"nzk",Description:["Nzakara"],Added:"2009-07-29"},{Type:"language",Subtag:"nzm",Description:["Zeme Naga"],Added:"2009-07-29"},{Type:"language",Subtag:"nzs",Description:["New Zealand Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"nzu",Description:["Teke-Nzikou"],Added:"2009-07-29"},{Type:"language",Subtag:"nzy",Description:["Nzakambay"],Added:"2009-07-29"},{Type:"language",Subtag:"nzz",Description:["Nanga Dama Dogon"],Added:"2010-03-11"},{Type:"language",Subtag:"oaa",Description:["Orok"],Added:"2009-07-29"},{Type:"language",Subtag:"oac",Description:["Oroch"],Added:"2009-07-29"},{Type:"language",Subtag:"oar",Description:["Old Aramaic (up to 700 BCE)","Ancient Aramaic (up to 700 BCE)"],Added:"2009-07-29"},{Type:"language",Subtag:"oav",Description:["Old Avar"],Added:"2009-07-29"},{Type:"language",Subtag:"obi",Description:["Obispeño"],Added:"2009-07-29"},{Type:"language",Subtag:"obk",Description:["Southern Bontok"],Added:"2010-03-11",Macrolanguage:"bnc"},{Type:"language",Subtag:"obl",Description:["Oblo"],Added:"2009-07-29"},{Type:"language",Subtag:"obm",Description:["Moabite"],Added:"2009-07-29"},{Type:"language",Subtag:"obo",Description:["Obo Manobo"],Added:"2009-07-29"},{Type:"language",Subtag:"obr",Description:["Old Burmese"],Added:"2009-07-29"},{Type:"language",Subtag:"obt",Description:["Old Breton"],Added:"2009-07-29"},{Type:"language",Subtag:"obu",Description:["Obulom"],Added:"2009-07-29"},{Type:"language",Subtag:"oca",Description:["Ocaina"],Added:"2009-07-29"},{Type:"language",Subtag:"och",Description:["Old Chinese"],Added:"2009-07-29"},{Type:"language",Subtag:"ocm",Description:["Old Cham"],Added:"2021-02-20"},{Type:"language",Subtag:"oco",Description:["Old Cornish"],Added:"2009-07-29"},{Type:"language",Subtag:"ocu",Description:["Atzingo Matlatzinca"],Added:"2009-07-29"},{Type:"language",Subtag:"oda",Description:["Odut"],Added:"2009-07-29"},{Type:"language",Subtag:"odk",Description:["Od"],Added:"2009-07-29"},{Type:"language",Subtag:"odt",Description:["Old Dutch"],Added:"2009-07-29"},{Type:"language",Subtag:"odu",Description:["Odual"],Added:"2009-07-29"},{Type:"language",Subtag:"ofo",Description:["Ofo"],Added:"2009-07-29"},{Type:"language",Subtag:"ofs",Description:["Old Frisian"],Added:"2009-07-29"},{Type:"language",Subtag:"ofu",Description:["Efutop"],Added:"2009-07-29"},{Type:"language",Subtag:"ogb",Description:["Ogbia"],Added:"2009-07-29"},{Type:"language",Subtag:"ogc",Description:["Ogbah"],Added:"2009-07-29"},{Type:"language",Subtag:"oge",Description:["Old Georgian"],Added:"2009-07-29"},{Type:"language",Subtag:"ogg",Description:["Ogbogolo"],Added:"2009-07-29"},{Type:"language",Subtag:"ogo",Description:["Khana"],Added:"2009-07-29"},{Type:"language",Subtag:"ogu",Description:["Ogbronuagum"],Added:"2009-07-29"},{Type:"language",Subtag:"oht",Description:["Old Hittite"],Added:"2009-07-29"},{Type:"language",Subtag:"ohu",Description:["Old Hungarian"],Added:"2009-07-29"},{Type:"language",Subtag:"oia",Description:["Oirata"],Added:"2009-07-29"},{Type:"language",Subtag:"oie",Description:["Okolie"],Added:"2022-02-25"},{Type:"language",Subtag:"oin",Description:["Inebu One"],Added:"2009-07-29"},{Type:"language",Subtag:"ojb",Description:["Northwestern Ojibwa"],Added:"2009-07-29",Macrolanguage:"oj"},{Type:"language",Subtag:"ojc",Description:["Central Ojibwa"],Added:"2009-07-29",Macrolanguage:"oj"},{Type:"language",Subtag:"ojg",Description:["Eastern Ojibwa"],Added:"2009-07-29",Macrolanguage:"oj"},{Type:"language",Subtag:"ojp",Description:["Old Japanese"],Added:"2009-07-29"},{Type:"language",Subtag:"ojs",Description:["Severn Ojibwa"],Added:"2009-07-29",Macrolanguage:"oj"},{Type:"language",Subtag:"ojv",Description:["Ontong Java"],Added:"2009-07-29"},{Type:"language",Subtag:"ojw",Description:["Western Ojibwa"],Added:"2009-07-29",Macrolanguage:"oj"},{Type:"language",Subtag:"oka",Description:["Okanagan"],Added:"2009-07-29"},{Type:"language",Subtag:"okb",Description:["Okobo"],Added:"2009-07-29"},{Type:"language",Subtag:"okc",Description:["Kobo"],Added:"2021-02-20"},{Type:"language",Subtag:"okd",Description:["Okodia"],Added:"2009-07-29"},{Type:"language",Subtag:"oke",Description:["Okpe (Southwestern Edo)"],Added:"2009-07-29"},{Type:"language",Subtag:"okg",Description:["Koko Babangk"],Added:"2012-08-12"},{Type:"language",Subtag:"okh",Description:["Koresh-e Rostam"],Added:"2009-07-29"},{Type:"language",Subtag:"oki",Description:["Okiek"],Added:"2009-07-29",Macrolanguage:"kln"},{Type:"language",Subtag:"okj",Description:["Oko-Juwoi"],Added:"2009-07-29"},{Type:"language",Subtag:"okk",Description:["Kwamtim One"],Added:"2009-07-29"},{Type:"language",Subtag:"okl",Description:["Old Kentish Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"okm",Description:["Middle Korean (10th-16th cent.)"],Added:"2009-07-29"},{Type:"language",Subtag:"okn",Description:["Oki-No-Erabu"],Added:"2009-07-29"},{Type:"language",Subtag:"oko",Description:["Old Korean (3rd-9th cent.)"],Added:"2009-07-29"},{Type:"language",Subtag:"okr",Description:["Kirike"],Added:"2009-07-29"},{Type:"language",Subtag:"oks",Description:["Oko-Eni-Osayen"],Added:"2009-07-29"},{Type:"language",Subtag:"oku",Description:["Oku"],Added:"2009-07-29"},{Type:"language",Subtag:"okv",Description:["Orokaiva"],Added:"2009-07-29"},{Type:"language",Subtag:"okx",Description:["Okpe (Northwestern Edo)"],Added:"2009-07-29"},{Type:"language",Subtag:"okz",Description:["Old Khmer"],Added:"2021-02-20"},{Type:"language",Subtag:"ola",Description:["Walungge"],Added:"2009-07-29"},{Type:"language",Subtag:"old",Description:["Mochi"],Added:"2009-07-29"},{Type:"language",Subtag:"ole",Description:["Olekha"],Added:"2009-07-29"},{Type:"language",Subtag:"olk",Description:["Olkol"],Added:"2013-09-10"},{Type:"language",Subtag:"olm",Description:["Oloma"],Added:"2009-07-29"},{Type:"language",Subtag:"olo",Description:["Livvi"],Added:"2009-07-29"},{Type:"language",Subtag:"olr",Description:["Olrat"],Added:"2009-07-29"},{Type:"language",Subtag:"olt",Description:["Old Lithuanian"],Added:"2014-02-28"},{Type:"language",Subtag:"olu",Description:["Kuvale"],Added:"2016-05-30"},{Type:"language",Subtag:"oma",Description:["Omaha-Ponca"],Added:"2009-07-29"},{Type:"language",Subtag:"omb",Description:["East Ambae"],Added:"2009-07-29"},{Type:"language",Subtag:"omc",Description:["Mochica"],Added:"2009-07-29"},{Type:"language",Subtag:"ome",Description:["Omejes"],Added:"2009-07-29",Deprecated:"2016-05-30"},{Type:"language",Subtag:"omg",Description:["Omagua"],Added:"2009-07-29"},{Type:"language",Subtag:"omi",Description:["Omi"],Added:"2009-07-29"},{Type:"language",Subtag:"omk",Description:["Omok"],Added:"2009-07-29"},{Type:"language",Subtag:"oml",Description:["Ombo"],Added:"2009-07-29"},{Type:"language",Subtag:"omn",Description:["Minoan"],Added:"2009-07-29"},{Type:"language",Subtag:"omo",Description:["Utarmbung"],Added:"2009-07-29"},{Type:"language",Subtag:"omp",Description:["Old Manipuri"],Added:"2009-07-29"},{Type:"language",Subtag:"omq",Description:["Oto-Manguean languages"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"omr",Description:["Old Marathi"],Added:"2009-07-29"},{Type:"language",Subtag:"omt",Description:["Omotik"],Added:"2009-07-29"},{Type:"language",Subtag:"omu",Description:["Omurano"],Added:"2009-07-29"},{Type:"language",Subtag:"omv",Description:["Omotic languages"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"omw",Description:["South Tairora"],Added:"2009-07-29"},{Type:"language",Subtag:"omx",Description:["Old Mon"],Added:"2009-07-29"},{Type:"language",Subtag:"omy",Description:["Old Malay"],Added:"2021-02-20"},{Type:"language",Subtag:"ona",Description:["Ona"],Added:"2009-07-29"},{Type:"language",Subtag:"onb",Description:["Lingao"],Added:"2009-07-29"},{Type:"language",Subtag:"one",Description:["Oneida"],Added:"2009-07-29"},{Type:"language",Subtag:"ong",Description:["Olo"],Added:"2009-07-29"},{Type:"language",Subtag:"oni",Description:["Onin"],Added:"2009-07-29"},{Type:"language",Subtag:"onj",Description:["Onjob"],Added:"2009-07-29"},{Type:"language",Subtag:"onk",Description:["Kabore One"],Added:"2009-07-29"},{Type:"language",Subtag:"onn",Description:["Onobasulu"],Added:"2009-07-29"},{Type:"language",Subtag:"ono",Description:["Onondaga"],Added:"2009-07-29"},{Type:"language",Subtag:"onp",Description:["Sartang"],Added:"2009-07-29"},{Type:"language",Subtag:"onr",Description:["Northern One"],Added:"2009-07-29"},{Type:"language",Subtag:"ons",Description:["Ono"],Added:"2009-07-29"},{Type:"language",Subtag:"ont",Description:["Ontenu"],Added:"2009-07-29"},{Type:"language",Subtag:"onu",Description:["Unua"],Added:"2009-07-29"},{Type:"language",Subtag:"onw",Description:["Old Nubian"],Added:"2009-07-29"},{Type:"language",Subtag:"onx",Description:["Onin Based Pidgin"],Added:"2009-07-29"},{Type:"language",Subtag:"ood",Description:["Tohono O'odham"],Added:"2009-07-29"},{Type:"language",Subtag:"oog",Description:["Ong"],Added:"2009-07-29"},{Type:"language",Subtag:"oon",Description:["Önge"],Added:"2009-07-29"},{Type:"language",Subtag:"oor",Description:["Oorlams"],Added:"2009-07-29"},{Type:"language",Subtag:"oos",Description:["Old Ossetic"],Added:"2009-07-29"},{Type:"language",Subtag:"opa",Description:["Okpamheri"],Added:"2009-07-29"},{Type:"language",Subtag:"opk",Description:["Kopkaka"],Added:"2009-07-29"},{Type:"language",Subtag:"opm",Description:["Oksapmin"],Added:"2009-07-29"},{Type:"language",Subtag:"opo",Description:["Opao"],Added:"2009-07-29"},{Type:"language",Subtag:"opt",Description:["Opata"],Added:"2009-07-29"},{Type:"language",Subtag:"opy",Description:["Ofayé"],Added:"2009-07-29"},{Type:"language",Subtag:"ora",Description:["Oroha"],Added:"2009-07-29"},{Type:"language",Subtag:"orc",Description:["Orma"],Added:"2009-07-29",Macrolanguage:"om"},{Type:"language",Subtag:"ore",Description:["Orejón"],Added:"2009-07-29"},{Type:"language",Subtag:"org",Description:["Oring"],Added:"2009-07-29"},{Type:"language",Subtag:"orh",Description:["Oroqen"],Added:"2009-07-29"},{Type:"language",Subtag:"orn",Description:["Orang Kanaq"],Added:"2009-07-29",Macrolanguage:"ms"},{Type:"language",Subtag:"oro",Description:["Orokolo"],Added:"2009-07-29"},{Type:"language",Subtag:"orr",Description:["Oruma"],Added:"2009-07-29"},{Type:"language",Subtag:"ors",Description:["Orang Seletar"],Added:"2009-07-29",Macrolanguage:"ms"},{Type:"language",Subtag:"ort",Description:["Adivasi Oriya"],Added:"2009-07-29"},{Type:"language",Subtag:"oru",Description:["Ormuri"],Added:"2009-07-29"},{Type:"language",Subtag:"orv",Description:["Old Russian"],Added:"2009-07-29"},{Type:"language",Subtag:"orw",Description:["Oro Win"],Added:"2009-07-29"},{Type:"language",Subtag:"orx",Description:["Oro"],Added:"2009-07-29"},{Type:"language",Subtag:"ory",Description:["Odia (individual language)","Oriya (individual language)"],Added:"2012-08-12",Macrolanguage:"or"},{Type:"language",Subtag:"orz",Description:["Ormu"],Added:"2009-07-29"},{Type:"language",Subtag:"osa",Description:["Osage"],Added:"2005-10-16"},{Type:"language",Subtag:"osc",Description:["Oscan"],Added:"2009-07-29"},{Type:"language",Subtag:"osi",Description:["Osing"],Added:"2009-07-29"},{Type:"language",Subtag:"osn",Description:["Old Sundanese"],Added:"2021-02-20"},{Type:"language",Subtag:"oso",Description:["Ososo"],Added:"2009-07-29"},{Type:"language",Subtag:"osp",Description:["Old Spanish"],Added:"2009-07-29"},{Type:"language",Subtag:"ost",Description:["Osatu"],Added:"2009-07-29"},{Type:"language",Subtag:"osu",Description:["Southern One"],Added:"2009-07-29"},{Type:"language",Subtag:"osx",Description:["Old Saxon"],Added:"2009-07-29"},{Type:"language",Subtag:"ota",Description:["Ottoman Turkish (1500-1928)"],Added:"2005-10-16"},{Type:"language",Subtag:"otb",Description:["Old Tibetan"],Added:"2009-07-29"},{Type:"language",Subtag:"otd",Description:["Ot Danum"],Added:"2009-07-29"},{Type:"language",Subtag:"ote",Description:["Mezquital Otomi"],Added:"2009-07-29"},{Type:"language",Subtag:"oti",Description:["Oti"],Added:"2009-07-29"},{Type:"language",Subtag:"otk",Description:["Old Turkish"],Added:"2009-07-29"},{Type:"language",Subtag:"otl",Description:["Tilapa Otomi"],Added:"2009-07-29"},{Type:"language",Subtag:"otm",Description:["Eastern Highland Otomi"],Added:"2009-07-29"},{Type:"language",Subtag:"otn",Description:["Tenango Otomi"],Added:"2009-07-29"},{Type:"language",Subtag:"oto",Description:["Otomian languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"otq",Description:["Querétaro Otomi"],Added:"2009-07-29"},{Type:"language",Subtag:"otr",Description:["Otoro"],Added:"2009-07-29"},{Type:"language",Subtag:"ots",Description:["Estado de México Otomi"],Added:"2009-07-29"},{Type:"language",Subtag:"ott",Description:["Temoaya Otomi"],Added:"2009-07-29"},{Type:"language",Subtag:"otu",Description:["Otuke"],Added:"2009-07-29"},{Type:"language",Subtag:"otw",Description:["Ottawa"],Added:"2009-07-29",Macrolanguage:"oj"},{Type:"language",Subtag:"otx",Description:["Texcatepec Otomi"],Added:"2009-07-29"},{Type:"language",Subtag:"oty",Description:["Old Tamil"],Added:"2009-07-29"},{Type:"language",Subtag:"otz",Description:["Ixtenco Otomi"],Added:"2009-07-29"},{Type:"language",Subtag:"oua",Description:["Tagargrent"],Added:"2009-07-29"},{Type:"language",Subtag:"oub",Description:["Glio-Oubi"],Added:"2009-07-29"},{Type:"language",Subtag:"oue",Description:["Oune"],Added:"2009-07-29"},{Type:"language",Subtag:"oui",Description:["Old Uighur"],Added:"2009-07-29"},{Type:"language",Subtag:"oum",Description:["Ouma"],Added:"2009-07-29"},{Type:"language",Subtag:"oun",Description:["ǃOǃung"],Added:"2009-07-29",Deprecated:"2015-02-12","Preferred-Value":"vaj"},{Type:"language",Subtag:"ovd",Description:["Elfdalian","Övdalian"],Added:"2016-06-16"},{Type:"language",Subtag:"owi",Description:["Owiniga"],Added:"2009-07-29"},{Type:"language",Subtag:"owl",Description:["Old Welsh"],Added:"2009-07-29"},{Type:"language",Subtag:"oyb",Description:["Oy"],Added:"2009-07-29"},{Type:"language",Subtag:"oyd",Description:["Oyda"],Added:"2009-07-29"},{Type:"language",Subtag:"oym",Description:["Wayampi"],Added:"2009-07-29"},{Type:"language",Subtag:"oyy",Description:["Oya'oya"],Added:"2009-07-29"},{Type:"language",Subtag:"ozm",Description:["Koonzime"],Added:"2009-07-29"},{Type:"language",Subtag:"paa",Description:["Papuan languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"pab",Description:["Parecís"],Added:"2009-07-29"},{Type:"language",Subtag:"pac",Description:["Pacoh"],Added:"2009-07-29"},{Type:"language",Subtag:"pad",Description:["Paumarí"],Added:"2009-07-29"},{Type:"language",Subtag:"pae",Description:["Pagibete"],Added:"2009-07-29"},{Type:"language",Subtag:"paf",Description:["Paranawát"],Added:"2009-07-29"},{Type:"language",Subtag:"pag",Description:["Pangasinan"],Added:"2005-10-16"},{Type:"language",Subtag:"pah",Description:["Tenharim"],Added:"2009-07-29"},{Type:"language",Subtag:"pai",Description:["Pe"],Added:"2009-07-29"},{Type:"language",Subtag:"pak",Description:["Parakanã"],Added:"2009-07-29"},{Type:"language",Subtag:"pal",Description:["Pahlavi"],Added:"2005-10-16"},{Type:"language",Subtag:"pam",Description:["Pampanga","Kapampangan"],Added:"2005-10-16"},{Type:"language",Subtag:"pao",Description:["Northern Paiute"],Added:"2009-07-29"},{Type:"language",Subtag:"pap",Description:["Papiamento"],Added:"2005-10-16"},{Type:"language",Subtag:"paq",Description:["Parya"],Added:"2009-07-29"},{Type:"language",Subtag:"par",Description:["Panamint","Timbisha"],Added:"2009-07-29"},{Type:"language",Subtag:"pas",Description:["Papasena"],Added:"2009-07-29"},{Type:"language",Subtag:"pat",Description:["Papitalai"],Added:"2009-07-29",Deprecated:"2021-02-20","Preferred-Value":"kxr"},{Type:"language",Subtag:"pau",Description:["Palauan"],Added:"2005-10-16"},{Type:"language",Subtag:"pav",Description:["Pakaásnovos"],Added:"2009-07-29"},{Type:"language",Subtag:"paw",Description:["Pawnee"],Added:"2009-07-29"},{Type:"language",Subtag:"pax",Description:["Pankararé"],Added:"2009-07-29"},{Type:"language",Subtag:"pay",Description:["Pech"],Added:"2009-07-29"},{Type:"language",Subtag:"paz",Description:["Pankararú"],Added:"2009-07-29"},{Type:"language",Subtag:"pbb",Description:["Páez"],Added:"2009-07-29"},{Type:"language",Subtag:"pbc",Description:["Patamona"],Added:"2009-07-29"},{Type:"language",Subtag:"pbe",Description:["Mezontla Popoloca"],Added:"2009-07-29"},{Type:"language",Subtag:"pbf",Description:["Coyotepec Popoloca"],Added:"2009-07-29"},{Type:"language",Subtag:"pbg",Description:["Paraujano"],Added:"2009-07-29"},{Type:"language",Subtag:"pbh",Description:["E'ñapa Woromaipu"],Added:"2009-07-29"},{Type:"language",Subtag:"pbi",Description:["Parkwa"],Added:"2009-07-29"},{Type:"language",Subtag:"pbl",Description:["Mak (Nigeria)"],Added:"2009-07-29"},{Type:"language",Subtag:"pbm",Description:["Puebla Mazatec"],Added:"2018-03-08",Comments:["see also maa"]},{Type:"language",Subtag:"pbn",Description:["Kpasam"],Added:"2009-07-29"},{Type:"language",Subtag:"pbo",Description:["Papel"],Added:"2009-07-29"},{Type:"language",Subtag:"pbp",Description:["Badyara"],Added:"2009-07-29"},{Type:"language",Subtag:"pbr",Description:["Pangwa"],Added:"2009-07-29"},{Type:"language",Subtag:"pbs",Description:["Central Pame"],Added:"2009-07-29"},{Type:"language",Subtag:"pbt",Description:["Southern Pashto"],Added:"2009-07-29",Macrolanguage:"ps"},{Type:"language",Subtag:"pbu",Description:["Northern Pashto"],Added:"2009-07-29",Macrolanguage:"ps"},{Type:"language",Subtag:"pbv",Description:["Pnar"],Added:"2009-07-29"},{Type:"language",Subtag:"pby",Description:["Pyu (Papua New Guinea)"],Added:"2009-07-29"},{Type:"language",Subtag:"pbz",Description:["Palu"],Added:"2009-07-29",Deprecated:"2012-08-12"},{Type:"language",Subtag:"pca",Description:["Santa Inés Ahuatempan Popoloca"],Added:"2009-07-29"},{Type:"language",Subtag:"pcb",Description:["Pear"],Added:"2009-07-29"},{Type:"language",Subtag:"pcc",Description:["Bouyei"],Added:"2009-07-29"},{Type:"language",Subtag:"pcd",Description:["Picard"],Added:"2009-07-29"},{Type:"language",Subtag:"pce",Description:["Ruching Palaung"],Added:"2009-07-29"},{Type:"language",Subtag:"pcf",Description:["Paliyan"],Added:"2009-07-29"},{Type:"language",Subtag:"pcg",Description:["Paniya"],Added:"2009-07-29"},{Type:"language",Subtag:"pch",Description:["Pardhan"],Added:"2009-07-29"},{Type:"language",Subtag:"pci",Description:["Duruwa"],Added:"2009-07-29"},{Type:"language",Subtag:"pcj",Description:["Parenga"],Added:"2009-07-29"},{Type:"language",Subtag:"pck",Description:["Paite Chin"],Added:"2009-07-29"},{Type:"language",Subtag:"pcl",Description:["Pardhi"],Added:"2009-07-29"},{Type:"language",Subtag:"pcm",Description:["Nigerian Pidgin"],Added:"2009-07-29"},{Type:"language",Subtag:"pcn",Description:["Piti"],Added:"2009-07-29"},{Type:"language",Subtag:"pcp",Description:["Pacahuara"],Added:"2009-07-29"},{Type:"language",Subtag:"pcr",Description:["Panang"],Added:"2009-07-29",Deprecated:"2013-09-10","Preferred-Value":"adx"},{Type:"language",Subtag:"pcw",Description:["Pyapun"],Added:"2009-07-29"},{Type:"language",Subtag:"pda",Description:["Anam"],Added:"2009-07-29"},{Type:"language",Subtag:"pdc",Description:["Pennsylvania German"],Added:"2009-07-29"},{Type:"language",Subtag:"pdi",Description:["Pa Di"],Added:"2009-07-29"},{Type:"language",Subtag:"pdn",Description:["Podena","Fedan"],Added:"2009-07-29"},{Type:"language",Subtag:"pdo",Description:["Padoe"],Added:"2009-07-29"},{Type:"language",Subtag:"pdt",Description:["Plautdietsch"],Added:"2009-07-29"},{Type:"language",Subtag:"pdu",Description:["Kayan"],Added:"2009-07-29"},{Type:"language",Subtag:"pea",Description:["Peranakan Indonesian"],Added:"2009-07-29"},{Type:"language",Subtag:"peb",Description:["Eastern Pomo"],Added:"2009-07-29"},{Type:"language",Subtag:"ped",Description:["Mala (Papua New Guinea)"],Added:"2009-07-29"},{Type:"language",Subtag:"pee",Description:["Taje"],Added:"2009-07-29"},{Type:"language",Subtag:"pef",Description:["Northeastern Pomo"],Added:"2009-07-29"},{Type:"language",Subtag:"peg",Description:["Pengo"],Added:"2009-07-29"},{Type:"language",Subtag:"peh",Description:["Bonan"],Added:"2009-07-29"},{Type:"language",Subtag:"pei",Description:["Chichimeca-Jonaz"],Added:"2009-07-29"},{Type:"language",Subtag:"pej",Description:["Northern Pomo"],Added:"2009-07-29"},{Type:"language",Subtag:"pek",Description:["Penchal"],Added:"2009-07-29"},{Type:"language",Subtag:"pel",Description:["Pekal"],Added:"2009-07-29",Macrolanguage:"ms"},{Type:"language",Subtag:"pem",Description:["Phende"],Added:"2009-07-29"},{Type:"language",Subtag:"peo",Description:["Old Persian (ca. 600-400 B.C.)"],Added:"2005-10-16"},{Type:"language",Subtag:"pep",Description:["Kunja"],Added:"2009-07-29"},{Type:"language",Subtag:"peq",Description:["Southern Pomo"],Added:"2009-07-29"},{Type:"language",Subtag:"pes",Description:["Iranian Persian"],Added:"2009-07-29",Macrolanguage:"fa"},{Type:"language",Subtag:"pev",Description:["Pémono"],Added:"2009-07-29"},{Type:"language",Subtag:"pex",Description:["Petats"],Added:"2009-07-29"},{Type:"language",Subtag:"pey",Description:["Petjo"],Added:"2009-07-29"},{Type:"language",Subtag:"pez",Description:["Eastern Penan"],Added:"2009-07-29"},{Type:"language",Subtag:"pfa",Description:["Pááfang"],Added:"2009-07-29"},{Type:"language",Subtag:"pfe",Description:["Pere"],Added:"2009-07-29"},{Type:"language",Subtag:"pfl",Description:["Pfaelzisch"],Added:"2009-07-29"},{Type:"language",Subtag:"pga",Description:["Sudanese Creole Arabic"],Added:"2009-07-29",Macrolanguage:"ar"},{Type:"language",Subtag:"pgd",Description:["Gāndhārī"],Added:"2015-02-12"},{Type:"language",Subtag:"pgg",Description:["Pangwali"],Added:"2009-07-29"},{Type:"language",Subtag:"pgi",Description:["Pagi"],Added:"2009-07-29"},{Type:"language",Subtag:"pgk",Description:["Rerep"],Added:"2009-07-29"},{Type:"language",Subtag:"pgl",Description:["Primitive Irish"],Added:"2011-08-16"},{Type:"language",Subtag:"pgn",Description:["Paelignian"],Added:"2009-07-29"},{Type:"language",Subtag:"pgs",Description:["Pangseng"],Added:"2009-07-29"},{Type:"language",Subtag:"pgu",Description:["Pagu"],Added:"2009-07-29"},{Type:"language",Subtag:"pgy",Description:["Pongyong"],Added:"2009-07-29",Deprecated:"2012-08-12"},{Type:"language",Subtag:"pgz",Description:["Papua New Guinean Sign Language"],Added:"2016-05-30"},{Type:"language",Subtag:"pha",Description:["Pa-Hng"],Added:"2009-07-29"},{Type:"language",Subtag:"phd",Description:["Phudagi"],Added:"2009-07-29"},{Type:"language",Subtag:"phg",Description:["Phuong"],Added:"2009-07-29"},{Type:"language",Subtag:"phh",Description:["Phukha"],Added:"2009-07-29"},{Type:"language",Subtag:"phi",Description:["Philippine languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"phj",Description:["Pahari"],Added:"2022-02-25"},{Type:"language",Subtag:"phk",Description:["Phake"],Added:"2009-07-29"},{Type:"language",Subtag:"phl",Description:["Phalura","Palula"],Added:"2009-07-29"},{Type:"language",Subtag:"phm",Description:["Phimbi"],Added:"2009-07-29"},{Type:"language",Subtag:"phn",Description:["Phoenician"],Added:"2005-10-16"},{Type:"language",Subtag:"pho",Description:["Phunoi"],Added:"2009-07-29"},{Type:"language",Subtag:"phq",Description:["Phana'"],Added:"2009-07-29"},{Type:"language",Subtag:"phr",Description:["Pahari-Potwari"],Added:"2009-07-29",Macrolanguage:"lah"},{Type:"language",Subtag:"pht",Description:["Phu Thai"],Added:"2009-07-29"},{Type:"language",Subtag:"phu",Description:["Phuan"],Added:"2009-07-29"},{Type:"language",Subtag:"phv",Description:["Pahlavani"],Added:"2009-07-29"},{Type:"language",Subtag:"phw",Description:["Phangduwali"],Added:"2009-07-29"},{Type:"language",Subtag:"pia",Description:["Pima Bajo"],Added:"2009-07-29"},{Type:"language",Subtag:"pib",Description:["Yine"],Added:"2009-07-29"},{Type:"language",Subtag:"pic",Description:["Pinji"],Added:"2009-07-29"},{Type:"language",Subtag:"pid",Description:["Piaroa"],Added:"2009-07-29"},{Type:"language",Subtag:"pie",Description:["Piro"],Added:"2009-07-29"},{Type:"language",Subtag:"pif",Description:["Pingelapese"],Added:"2009-07-29"},{Type:"language",Subtag:"pig",Description:["Pisabo"],Added:"2009-07-29"},{Type:"language",Subtag:"pih",Description:["Pitcairn-Norfolk"],Added:"2009-07-29"},{Type:"language",Subtag:"pii",Description:["Pini"],Added:"2009-07-29",Deprecated:"2022-02-25"},{Type:"language",Subtag:"pij",Description:["Pijao"],Added:"2009-07-29"},{Type:"language",Subtag:"pil",Description:["Yom"],Added:"2009-07-29"},{Type:"language",Subtag:"pim",Description:["Powhatan"],Added:"2009-07-29"},{Type:"language",Subtag:"pin",Description:["Piame"],Added:"2009-07-29"},{Type:"language",Subtag:"pio",Description:["Piapoco"],Added:"2009-07-29"},{Type:"language",Subtag:"pip",Description:["Pero"],Added:"2009-07-29"},{Type:"language",Subtag:"pir",Description:["Piratapuyo"],Added:"2009-07-29"},{Type:"language",Subtag:"pis",Description:["Pijin"],Added:"2009-07-29"},{Type:"language",Subtag:"pit",Description:["Pitta Pitta"],Added:"2009-07-29"},{Type:"language",Subtag:"piu",Description:["Pintupi-Luritja"],Added:"2009-07-29"},{Type:"language",Subtag:"piv",Description:["Pileni","Vaeakau-Taumako"],Added:"2009-07-29"},{Type:"language",Subtag:"piw",Description:["Pimbwe"],Added:"2009-07-29"},{Type:"language",Subtag:"pix",Description:["Piu"],Added:"2009-07-29"},{Type:"language",Subtag:"piy",Description:["Piya-Kwonci"],Added:"2009-07-29"},{Type:"language",Subtag:"piz",Description:["Pije"],Added:"2009-07-29"},{Type:"language",Subtag:"pjt",Description:["Pitjantjatjara"],Added:"2009-07-29"},{Type:"language",Subtag:"pka",Description:["Ardhamāgadhī Prākrit"],Added:"2009-07-29"},{Type:"language",Subtag:"pkb",Description:["Pokomo","Kipfokomo"],Added:"2009-07-29"},{Type:"language",Subtag:"pkc",Description:["Paekche"],Added:"2009-07-29"},{Type:"language",Subtag:"pkg",Description:["Pak-Tong"],Added:"2009-07-29"},{Type:"language",Subtag:"pkh",Description:["Pankhu"],Added:"2009-07-29"},{Type:"language",Subtag:"pkn",Description:["Pakanha"],Added:"2009-07-29"},{Type:"language",Subtag:"pko",Description:["Pökoot"],Added:"2009-07-29",Macrolanguage:"kln"},{Type:"language",Subtag:"pkp",Description:["Pukapuka"],Added:"2009-07-29"},{Type:"language",Subtag:"pkr",Description:["Attapady Kurumba"],Added:"2009-07-29"},{Type:"language",Subtag:"pks",Description:["Pakistan Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"pkt",Description:["Maleng"],Added:"2009-07-29"},{Type:"language",Subtag:"pku",Description:["Paku"],Added:"2009-07-29"},{Type:"language",Subtag:"pla",Description:["Miani"],Added:"2009-07-29"},{Type:"language",Subtag:"plb",Description:["Polonombauk"],Added:"2009-07-29"},{Type:"language",Subtag:"plc",Description:["Central Palawano"],Added:"2009-07-29"},{Type:"language",Subtag:"pld",Description:["Polari"],Added:"2009-07-29"},{Type:"language",Subtag:"ple",Description:["Palu'e"],Added:"2009-07-29"},{Type:"language",Subtag:"plf",Description:["Central Malayo-Polynesian languages"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"plg",Description:["Pilagá"],Added:"2009-07-29"},{Type:"language",Subtag:"plh",Description:["Paulohi"],Added:"2009-07-29"},{Type:"language",Subtag:"plj",Description:["Polci"],Added:"2009-07-29"},{Type:"language",Subtag:"plk",Description:["Kohistani Shina"],Added:"2009-07-29"},{Type:"language",Subtag:"pll",Description:["Shwe Palaung"],Added:"2009-07-29"},{Type:"language",Subtag:"pln",Description:["Palenquero"],Added:"2009-07-29"},{Type:"language",Subtag:"plo",Description:["Oluta Popoluca"],Added:"2009-07-29"},{Type:"language",Subtag:"plp",Description:["Palpa"],Added:"2009-07-29",Deprecated:"2020-03-28"},{Type:"language",Subtag:"plq",Description:["Palaic"],Added:"2009-07-29"},{Type:"language",Subtag:"plr",Description:["Palaka Senoufo"],Added:"2009-07-29"},{Type:"language",Subtag:"pls",Description:["San Marcos Tlacoyalco Popoloca","San Marcos Tlalcoyalco Popoloca"],Added:"2009-07-29"},{Type:"language",Subtag:"plt",Description:["Plateau Malagasy"],Added:"2009-07-29",Macrolanguage:"mg"},{Type:"language",Subtag:"plu",Description:["Palikúr"],Added:"2009-07-29"},{Type:"language",Subtag:"plv",Description:["Southwest Palawano"],Added:"2009-07-29"},{Type:"language",Subtag:"plw",Description:["Brooke's Point Palawano"],Added:"2009-07-29"},{Type:"language",Subtag:"ply",Description:["Bolyu"],Added:"2009-07-29"},{Type:"language",Subtag:"plz",Description:["Paluan"],Added:"2009-07-29"},{Type:"language",Subtag:"pma",Description:["Paama"],Added:"2009-07-29"},{Type:"language",Subtag:"pmb",Description:["Pambia"],Added:"2009-07-29"},{Type:"language",Subtag:"pmc",Description:["Palumata"],Added:"2009-07-29",Deprecated:"2016-05-30","Preferred-Value":"huw"},{Type:"language",Subtag:"pmd",Description:["Pallanganmiddang"],Added:"2012-08-12"},{Type:"language",Subtag:"pme",Description:["Pwaamei"],Added:"2009-07-29"},{Type:"language",Subtag:"pmf",Description:["Pamona"],Added:"2009-07-29"},{Type:"language",Subtag:"pmh",Description:["Māhārāṣṭri Prākrit"],Added:"2009-07-29"},{Type:"language",Subtag:"pmi",Description:["Northern Pumi"],Added:"2009-07-29"},{Type:"language",Subtag:"pmj",Description:["Southern Pumi"],Added:"2009-07-29"},{Type:"language",Subtag:"pmk",Description:["Pamlico"],Added:"2009-07-29"},{Type:"language",Subtag:"pml",Description:["Lingua Franca"],Added:"2009-07-29"},{Type:"language",Subtag:"pmm",Description:["Pomo"],Added:"2009-07-29"},{Type:"language",Subtag:"pmn",Description:["Pam"],Added:"2009-07-29"},{Type:"language",Subtag:"pmo",Description:["Pom"],Added:"2009-07-29"},{Type:"language",Subtag:"pmq",Description:["Northern Pame"],Added:"2009-07-29"},{Type:"language",Subtag:"pmr",Description:["Paynamar"],Added:"2009-07-29"},{Type:"language",Subtag:"pms",Description:["Piemontese"],Added:"2009-07-29"},{Type:"language",Subtag:"pmt",Description:["Tuamotuan"],Added:"2009-07-29"},{Type:"language",Subtag:"pmu",Description:["Mirpur Panjabi"],Added:"2009-07-29",Deprecated:"2015-02-12","Preferred-Value":"phr",Macrolanguage:"lah"},{Type:"language",Subtag:"pmw",Description:["Plains Miwok"],Added:"2009-07-29"},{Type:"language",Subtag:"pmx",Description:["Poumei Naga"],Added:"2009-07-29"},{Type:"language",Subtag:"pmy",Description:["Papuan Malay"],Added:"2009-07-29"},{Type:"language",Subtag:"pmz",Description:["Southern Pame"],Added:"2009-07-29"},{Type:"language",Subtag:"pna",Description:["Punan Bah-Biau"],Added:"2009-07-29"},{Type:"language",Subtag:"pnb",Description:["Western Panjabi"],Added:"2009-07-29",Macrolanguage:"lah"},{Type:"language",Subtag:"pnc",Description:["Pannei"],Added:"2009-07-29"},{Type:"language",Subtag:"pnd",Description:["Mpinda"],Added:"2019-04-16"},{Type:"language",Subtag:"pne",Description:["Western Penan"],Added:"2009-07-29"},{Type:"language",Subtag:"png",Description:["Pangu","Pongu"],Added:"2009-07-29"},{Type:"language",Subtag:"pnh",Description:["Penrhyn"],Added:"2009-07-29"},{Type:"language",Subtag:"pni",Description:["Aoheng"],Added:"2009-07-29"},{Type:"language",Subtag:"pnj",Description:["Pinjarup"],Added:"2013-09-10"},{Type:"language",Subtag:"pnk",Description:["Paunaka"],Added:"2012-08-12"},{Type:"language",Subtag:"pnl",Description:["Paleni"],Added:"2013-09-10",Comments:["see also wbf"]},{Type:"language",Subtag:"pnm",Description:["Punan Batu 1"],Added:"2009-07-29"},{Type:"language",Subtag:"pnn",Description:["Pinai-Hagahai"],Added:"2009-07-29"},{Type:"language",Subtag:"pno",Description:["Panobo"],Added:"2009-07-29"},{Type:"language",Subtag:"pnp",Description:["Pancana"],Added:"2009-07-29"},{Type:"language",Subtag:"pnq",Description:["Pana (Burkina Faso)"],Added:"2009-07-29"},{Type:"language",Subtag:"pnr",Description:["Panim"],Added:"2009-07-29"},{Type:"language",Subtag:"pns",Description:["Ponosakan"],Added:"2009-07-29"},{Type:"language",Subtag:"pnt",Description:["Pontic"],Added:"2009-07-29"},{Type:"language",Subtag:"pnu",Description:["Jiongnai Bunu"],Added:"2009-07-29"},{Type:"language",Subtag:"pnv",Description:["Pinigura"],Added:"2009-07-29"},{Type:"language",Subtag:"pnw",Description:["Banyjima","Panytyima"],Added:"2009-07-29"},{Type:"language",Subtag:"pnx",Description:["Phong-Kniang"],Added:"2009-07-29"},{Type:"language",Subtag:"pny",Description:["Pinyin"],Added:"2009-07-29",Comments:["a Niger-Congo language spoken in Cameroon; not to be confused with the Pinyin romanization systems used for Chinese and Tibetan"]},{Type:"language",Subtag:"pnz",Description:["Pana (Central African Republic)"],Added:"2009-07-29"},{Type:"language",Subtag:"poc",Description:["Poqomam"],Added:"2009-07-29"},{Type:"language",Subtag:"pod",Description:["Ponares"],Added:"2009-07-29",Deprecated:"2016-05-30"},{Type:"language",Subtag:"poe",Description:["San Juan Atzingo Popoloca"],Added:"2009-07-29"},{Type:"language",Subtag:"pof",Description:["Poke"],Added:"2009-07-29"},{Type:"language",Subtag:"pog",Description:["Potiguára"],Added:"2009-07-29"},{Type:"language",Subtag:"poh",Description:["Poqomchi'"],Added:"2009-07-29"},{Type:"language",Subtag:"poi",Description:["Highland Popoluca"],Added:"2009-07-29"},{Type:"language",Subtag:"pok",Description:["Pokangá"],Added:"2009-07-29"},{Type:"language",Subtag:"pom",Description:["Southeastern Pomo"],Added:"2009-07-29"},{Type:"language",Subtag:"pon",Description:["Pohnpeian"],Added:"2005-10-16"},{Type:"language",Subtag:"poo",Description:["Central Pomo"],Added:"2009-07-29"},{Type:"language",Subtag:"pop",Description:["Pwapwâ"],Added:"2009-07-29"},{Type:"language",Subtag:"poq",Description:["Texistepec Popoluca"],Added:"2009-07-29"},{Type:"language",Subtag:"pos",Description:["Sayula Popoluca"],Added:"2009-07-29"},{Type:"language",Subtag:"pot",Description:["Potawatomi"],Added:"2009-07-29"},{Type:"language",Subtag:"pov",Description:["Upper Guinea Crioulo"],Added:"2009-07-29"},{Type:"language",Subtag:"pow",Description:["San Felipe Otlaltepec Popoloca"],Added:"2009-07-29"},{Type:"language",Subtag:"pox",Description:["Polabian"],Added:"2009-07-29"},{Type:"language",Subtag:"poy",Description:["Pogolo"],Added:"2009-07-29"},{Type:"language",Subtag:"poz",Description:["Malayo-Polynesian languages"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"ppa",Description:["Pao"],Added:"2009-07-29",Deprecated:"2016-05-30","Preferred-Value":"bfy"},{Type:"language",Subtag:"ppe",Description:["Papi"],Added:"2009-07-29"},{Type:"language",Subtag:"ppi",Description:["Paipai"],Added:"2009-07-29"},{Type:"language",Subtag:"ppk",Description:["Uma"],Added:"2009-07-29"},{Type:"language",Subtag:"ppl",Description:["Pipil","Nicarao"],Added:"2009-07-29"},{Type:"language",Subtag:"ppm",Description:["Papuma"],Added:"2009-07-29"},{Type:"language",Subtag:"ppn",Description:["Papapana"],Added:"2009-07-29"},{Type:"language",Subtag:"ppo",Description:["Folopa"],Added:"2009-07-29"},{Type:"language",Subtag:"ppp",Description:["Pelende"],Added:"2009-07-29"},{Type:"language",Subtag:"ppq",Description:["Pei"],Added:"2009-07-29"},{Type:"language",Subtag:"ppr",Description:["Piru"],Added:"2009-07-29",Deprecated:"2013-09-10","Preferred-Value":"lcq"},{Type:"language",Subtag:"pps",Description:["San Luís Temalacayuca Popoloca"],Added:"2009-07-29"},{Type:"language",Subtag:"ppt",Description:["Pare"],Added:"2009-07-29"},{Type:"language",Subtag:"ppu",Description:["Papora"],Added:"2009-07-29"},{Type:"language",Subtag:"pqa",Description:["Pa'a"],Added:"2009-07-29"},{Type:"language",Subtag:"pqe",Description:["Eastern Malayo-Polynesian languages"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"pqm",Description:["Malecite-Passamaquoddy"],Added:"2009-07-29"},{Type:"language",Subtag:"pqw",Description:["Western Malayo-Polynesian languages"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"pra",Description:["Prakrit languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"prb",Description:["Lua'"],Added:"2009-07-29",Deprecated:"2017-02-23"},{Type:"language",Subtag:"prc",Description:["Parachi"],Added:"2009-07-29"},{Type:"language",Subtag:"prd",Description:["Parsi-Dari"],Added:"2009-07-29"},{Type:"language",Subtag:"pre",Description:["Principense"],Added:"2009-07-29"},{Type:"language",Subtag:"prf",Description:["Paranan"],Added:"2010-03-11"},{Type:"language",Subtag:"prg",Description:["Prussian"],Added:"2009-07-29"},{Type:"language",Subtag:"prh",Description:["Porohanon"],Added:"2009-07-29"},{Type:"language",Subtag:"pri",Description:["Paicî"],Added:"2009-07-29"},{Type:"language",Subtag:"prk",Description:["Parauk"],Added:"2009-07-29"},{Type:"language",Subtag:"prl",Description:["Peruvian Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"prm",Description:["Kibiri"],Added:"2009-07-29"},{Type:"language",Subtag:"prn",Description:["Prasuni"],Added:"2009-07-29"},{Type:"language",Subtag:"pro",Description:["Old Provençal (to 1500)","Old Occitan (to 1500)"],Added:"2005-10-16"},{Type:"language",Subtag:"prp",Description:["Parsi"],Added:"2009-07-29"},{Type:"language",Subtag:"prq",Description:["Ashéninka Perené"],Added:"2009-07-29"},{Type:"language",Subtag:"prr",Description:["Puri"],Added:"2009-07-29"},{Type:"language",Subtag:"prs",Description:["Dari","Afghan Persian"],Added:"2009-07-29",Macrolanguage:"fa"},{Type:"language",Subtag:"prt",Description:["Phai"],Added:"2009-07-29"},{Type:"language",Subtag:"pru",Description:["Puragi"],Added:"2009-07-29"},{Type:"language",Subtag:"prw",Description:["Parawen"],Added:"2009-07-29"},{Type:"language",Subtag:"prx",Description:["Purik"],Added:"2009-07-29"},{Type:"language",Subtag:"pry",Description:["Pray 3"],Added:"2009-07-29",Deprecated:"2016-05-30","Preferred-Value":"prt"},{Type:"language",Subtag:"prz",Description:["Providencia Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"psa",Description:["Asue Awyu"],Added:"2009-07-29"},{Type:"language",Subtag:"psc",Description:["Iranian Sign Language","Persian Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"psd",Description:["Plains Indian Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"pse",Description:["Central Malay"],Added:"2009-07-29",Macrolanguage:"ms"},{Type:"language",Subtag:"psg",Description:["Penang Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"psh",Description:["Southwest Pashai","Southwest Pashayi"],Added:"2009-07-29"},{Type:"language",Subtag:"psi",Description:["Southeast Pashai","Southeast Pashayi"],Added:"2009-07-29"},{Type:"language",Subtag:"psl",Description:["Puerto Rican Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"psm",Description:["Pauserna"],Added:"2009-07-29"},{Type:"language",Subtag:"psn",Description:["Panasuan"],Added:"2009-07-29"},{Type:"language",Subtag:"pso",Description:["Polish Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"psp",Description:["Philippine Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"psq",Description:["Pasi"],Added:"2009-07-29"},{Type:"language",Subtag:"psr",Description:["Portuguese Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"pss",Description:["Kaulong"],Added:"2009-07-29"},{Type:"language",Subtag:"pst",Description:["Central Pashto"],Added:"2009-07-29",Macrolanguage:"ps"},{Type:"language",Subtag:"psu",Description:["Sauraseni Prākrit"],Added:"2009-07-29"},{Type:"language",Subtag:"psw",Description:["Port Sandwich"],Added:"2009-07-29"},{Type:"language",Subtag:"psy",Description:["Piscataway"],Added:"2009-07-29"},{Type:"language",Subtag:"pta",Description:["Pai Tavytera"],Added:"2009-07-29"},{Type:"language",Subtag:"pth",Description:["Pataxó Hã-Ha-Hãe"],Added:"2009-07-29"},{Type:"language",Subtag:"pti",Description:["Pindiini","Wangkatha"],Added:"2009-07-29"},{Type:"language",Subtag:"ptn",Description:["Patani"],Added:"2009-07-29"},{Type:"language",Subtag:"pto",Description:["Zo'é"],Added:"2009-07-29"},{Type:"language",Subtag:"ptp",Description:["Patep"],Added:"2009-07-29"},{Type:"language",Subtag:"ptq",Description:["Pattapu"],Added:"2014-04-06"},{Type:"language",Subtag:"ptr",Description:["Piamatsina"],Added:"2009-07-29"},{Type:"language",Subtag:"ptt",Description:["Enrekang"],Added:"2009-07-29"},{Type:"language",Subtag:"ptu",Description:["Bambam"],Added:"2009-07-29"},{Type:"language",Subtag:"ptv",Description:["Port Vato"],Added:"2009-07-29"},{Type:"language",Subtag:"ptw",Description:["Pentlatch"],Added:"2009-07-29"},{Type:"language",Subtag:"pty",Description:["Pathiya"],Added:"2009-07-29"},{Type:"language",Subtag:"pua",Description:["Western Highland Purepecha"],Added:"2009-07-29"},{Type:"language",Subtag:"pub",Description:["Purum"],Added:"2009-07-29"},{Type:"language",Subtag:"puc",Description:["Punan Merap"],Added:"2009-07-29"},{Type:"language",Subtag:"pud",Description:["Punan Aput"],Added:"2009-07-29"},{Type:"language",Subtag:"pue",Description:["Puelche"],Added:"2009-07-29"},{Type:"language",Subtag:"puf",Description:["Punan Merah"],Added:"2009-07-29"},{Type:"language",Subtag:"pug",Description:["Phuie"],Added:"2009-07-29"},{Type:"language",Subtag:"pui",Description:["Puinave"],Added:"2009-07-29"},{Type:"language",Subtag:"puj",Description:["Punan Tubu"],Added:"2009-07-29"},{Type:"language",Subtag:"puk",Description:["Pu Ko"],Added:"2009-07-29",Deprecated:"2017-02-23"},{Type:"language",Subtag:"pum",Description:["Puma"],Added:"2009-07-29"},{Type:"language",Subtag:"puo",Description:["Puoc"],Added:"2009-07-29"},{Type:"language",Subtag:"pup",Description:["Pulabu"],Added:"2009-07-29"},{Type:"language",Subtag:"puq",Description:["Puquina"],Added:"2009-07-29"},{Type:"language",Subtag:"pur",Description:["Puruborá"],Added:"2009-07-29"},{Type:"language",Subtag:"put",Description:["Putoh"],Added:"2009-07-29"},{Type:"language",Subtag:"puu",Description:["Punu"],Added:"2009-07-29"},{Type:"language",Subtag:"puw",Description:["Puluwatese"],Added:"2009-07-29"},{Type:"language",Subtag:"pux",Description:["Puare"],Added:"2009-07-29"},{Type:"language",Subtag:"puy",Description:["Purisimeño"],Added:"2009-07-29"},{Type:"language",Subtag:"puz",Description:["Purum Naga"],Added:"2009-07-29",Deprecated:"2014-02-28","Preferred-Value":"pub"},{Type:"language",Subtag:"pwa",Description:["Pawaia"],Added:"2009-07-29"},{Type:"language",Subtag:"pwb",Description:["Panawa"],Added:"2009-07-29"},{Type:"language",Subtag:"pwg",Description:["Gapapaiwa"],Added:"2009-07-29"},{Type:"language",Subtag:"pwi",Description:["Patwin"],Added:"2013-09-10"},{Type:"language",Subtag:"pwm",Description:["Molbog"],Added:"2009-07-29"},{Type:"language",Subtag:"pwn",Description:["Paiwan"],Added:"2009-07-29"},{Type:"language",Subtag:"pwo",Description:["Pwo Western Karen"],Added:"2009-07-29"},{Type:"language",Subtag:"pwr",Description:["Powari"],Added:"2009-07-29"},{Type:"language",Subtag:"pww",Description:["Pwo Northern Karen"],Added:"2009-07-29"},{Type:"language",Subtag:"pxm",Description:["Quetzaltepec Mixe"],Added:"2009-07-29"},{Type:"language",Subtag:"pye",Description:["Pye Krumen"],Added:"2009-07-29"},{Type:"language",Subtag:"pym",Description:["Fyam"],Added:"2009-07-29"},{Type:"language",Subtag:"pyn",Description:["Poyanáwa"],Added:"2009-07-29"},{Type:"language",Subtag:"pys",Description:["Paraguayan Sign Language","Lengua de Señas del Paraguay"],Added:"2010-03-11"},{Type:"language",Subtag:"pyu",Description:["Puyuma"],Added:"2009-07-29"},{Type:"language",Subtag:"pyx",Description:["Pyu (Myanmar)"],Added:"2009-07-29"},{Type:"language",Subtag:"pyy",Description:["Pyen"],Added:"2009-07-29"},{Type:"language",Subtag:"pzh",Description:["Pazeh"],Added:"2022-02-25"},{Type:"language",Subtag:"pzn",Description:["Jejara Naga","Para Naga"],Added:"2009-07-29"},{Type:"language",Subtag:"qaa..qtz",Description:["Private use"],Added:"2005-10-16",Scope:"private-use"},{Type:"language",Subtag:"qua",Description:["Quapaw"],Added:"2009-07-29"},{Type:"language",Subtag:"qub",Description:["Huallaga Huánuco Quechua"],Added:"2009-07-29",Macrolanguage:"qu"},{Type:"language",Subtag:"quc",Description:["K'iche'","Quiché"],Added:"2009-07-29"},{Type:"language",Subtag:"qud",Description:["Calderón Highland Quichua"],Added:"2009-07-29",Macrolanguage:"qu"},{Type:"language",Subtag:"quf",Description:["Lambayeque Quechua"],Added:"2009-07-29",Macrolanguage:"qu"},{Type:"language",Subtag:"qug",Description:["Chimborazo Highland Quichua"],Added:"2009-07-29",Macrolanguage:"qu"},{Type:"language",Subtag:"quh",Description:["South Bolivian Quechua"],Added:"2009-07-29",Macrolanguage:"qu"},{Type:"language",Subtag:"qui",Description:["Quileute"],Added:"2009-07-29"},{Type:"language",Subtag:"quk",Description:["Chachapoyas Quechua"],Added:"2009-07-29",Macrolanguage:"qu"},{Type:"language",Subtag:"qul",Description:["North Bolivian Quechua"],Added:"2009-07-29",Macrolanguage:"qu"},{Type:"language",Subtag:"qum",Description:["Sipacapense"],Added:"2009-07-29"},{Type:"language",Subtag:"qun",Description:["Quinault"],Added:"2009-07-29"},{Type:"language",Subtag:"qup",Description:["Southern Pastaza Quechua"],Added:"2009-07-29",Macrolanguage:"qu"},{Type:"language",Subtag:"quq",Description:["Quinqui"],Added:"2009-07-29"},{Type:"language",Subtag:"qur",Description:["Yanahuanca Pasco Quechua"],Added:"2009-07-29",Macrolanguage:"qu"},{Type:"language",Subtag:"qus",Description:["Santiago del Estero Quichua"],Added:"2009-07-29",Macrolanguage:"qu"},{Type:"language",Subtag:"quv",Description:["Sacapulteco"],Added:"2009-07-29"},{Type:"language",Subtag:"quw",Description:["Tena Lowland Quichua"],Added:"2009-07-29",Macrolanguage:"qu"},{Type:"language",Subtag:"qux",Description:["Yauyos Quechua"],Added:"2009-07-29",Macrolanguage:"qu"},{Type:"language",Subtag:"quy",Description:["Ayacucho Quechua"],Added:"2009-07-29",Macrolanguage:"qu"},{Type:"language",Subtag:"quz",Description:["Cusco Quechua"],Added:"2009-07-29",Macrolanguage:"qu"},{Type:"language",Subtag:"qva",Description:["Ambo-Pasco Quechua"],Added:"2009-07-29",Macrolanguage:"qu"},{Type:"language",Subtag:"qvc",Description:["Cajamarca Quechua"],Added:"2009-07-29",Macrolanguage:"qu"},{Type:"language",Subtag:"qve",Description:["Eastern Apurímac Quechua"],Added:"2009-07-29",Macrolanguage:"qu"},{Type:"language",Subtag:"qvh",Description:["Huamalíes-Dos de Mayo Huánuco Quechua"],Added:"2009-07-29",Macrolanguage:"qu"},{Type:"language",Subtag:"qvi",Description:["Imbabura Highland Quichua"],Added:"2009-07-29",Macrolanguage:"qu"},{Type:"language",Subtag:"qvj",Description:["Loja Highland Quichua"],Added:"2009-07-29",Macrolanguage:"qu"},{Type:"language",Subtag:"qvl",Description:["Cajatambo North Lima Quechua"],Added:"2009-07-29",Macrolanguage:"qu"},{Type:"language",Subtag:"qvm",Description:["Margos-Yarowilca-Lauricocha Quechua"],Added:"2009-07-29",Macrolanguage:"qu"},{Type:"language",Subtag:"qvn",Description:["North Junín Quechua"],Added:"2009-07-29",Macrolanguage:"qu"},{Type:"language",Subtag:"qvo",Description:["Napo Lowland Quechua"],Added:"2009-07-29",Macrolanguage:"qu"},{Type:"language",Subtag:"qvp",Description:["Pacaraos Quechua"],Added:"2009-07-29",Macrolanguage:"qu"},{Type:"language",Subtag:"qvs",Description:["San Martín Quechua"],Added:"2009-07-29",Macrolanguage:"qu"},{Type:"language",Subtag:"qvw",Description:["Huaylla Wanca Quechua"],Added:"2009-07-29",Macrolanguage:"qu"},{Type:"language",Subtag:"qvy",Description:["Queyu"],Added:"2009-07-29"},{Type:"language",Subtag:"qvz",Description:["Northern Pastaza Quichua"],Added:"2009-07-29",Macrolanguage:"qu"},{Type:"language",Subtag:"qwa",Description:["Corongo Ancash Quechua"],Added:"2009-07-29",Macrolanguage:"qu"},{Type:"language",Subtag:"qwc",Description:["Classical Quechua"],Added:"2009-07-29",Macrolanguage:"qu"},{Type:"language",Subtag:"qwe",Description:["Quechuan (family)"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"qwh",Description:["Huaylas Ancash Quechua"],Added:"2009-07-29",Macrolanguage:"qu"},{Type:"language",Subtag:"qwm",Description:["Kuman (Russia)"],Added:"2009-07-29"},{Type:"language",Subtag:"qws",Description:["Sihuas Ancash Quechua"],Added:"2009-07-29",Macrolanguage:"qu"},{Type:"language",Subtag:"qwt",Description:["Kwalhioqua-Tlatskanai"],Added:"2009-07-29"},{Type:"language",Subtag:"qxa",Description:["Chiquián Ancash Quechua"],Added:"2009-07-29",Macrolanguage:"qu"},{Type:"language",Subtag:"qxc",Description:["Chincha Quechua"],Added:"2009-07-29",Macrolanguage:"qu"},{Type:"language",Subtag:"qxh",Description:["Panao Huánuco Quechua"],Added:"2009-07-29",Macrolanguage:"qu"},{Type:"language",Subtag:"qxl",Description:["Salasaca Highland Quichua"],Added:"2009-07-29",Macrolanguage:"qu"},{Type:"language",Subtag:"qxn",Description:["Northern Conchucos Ancash Quechua"],Added:"2009-07-29",Macrolanguage:"qu"},{Type:"language",Subtag:"qxo",Description:["Southern Conchucos Ancash Quechua"],Added:"2009-07-29",Macrolanguage:"qu"},{Type:"language",Subtag:"qxp",Description:["Puno Quechua"],Added:"2009-07-29",Macrolanguage:"qu"},{Type:"language",Subtag:"qxq",Description:["Qashqa'i"],Added:"2009-07-29"},{Type:"language",Subtag:"qxr",Description:["Cañar Highland Quichua"],Added:"2009-07-29",Macrolanguage:"qu"},{Type:"language",Subtag:"qxs",Description:["Southern Qiang"],Added:"2009-07-29"},{Type:"language",Subtag:"qxt",Description:["Santa Ana de Tusi Pasco Quechua"],Added:"2009-07-29",Macrolanguage:"qu"},{Type:"language",Subtag:"qxu",Description:["Arequipa-La Unión Quechua"],Added:"2009-07-29",Macrolanguage:"qu"},{Type:"language",Subtag:"qxw",Description:["Jauja Wanca Quechua"],Added:"2009-07-29",Macrolanguage:"qu"},{Type:"language",Subtag:"qya",Description:["Quenya"],Added:"2009-07-29"},{Type:"language",Subtag:"qyp",Description:["Quiripi"],Added:"2009-07-29"},{Type:"language",Subtag:"raa",Description:["Dungmali"],Added:"2009-07-29"},{Type:"language",Subtag:"rab",Description:["Camling"],Added:"2009-07-29"},{Type:"language",Subtag:"rac",Description:["Rasawa"],Added:"2009-07-29"},{Type:"language",Subtag:"rad",Description:["Rade"],Added:"2009-07-29"},{Type:"language",Subtag:"raf",Description:["Western Meohang"],Added:"2009-07-29"},{Type:"language",Subtag:"rag",Description:["Logooli","Lulogooli"],Added:"2009-07-29",Macrolanguage:"luy"},{Type:"language",Subtag:"rah",Description:["Rabha"],Added:"2009-07-29"},{Type:"language",Subtag:"rai",Description:["Ramoaaina"],Added:"2009-07-29"},{Type:"language",Subtag:"raj",Description:["Rajasthani"],Added:"2005-10-16",Scope:"macrolanguage"},{Type:"language",Subtag:"rak",Description:["Tulu-Bohuai"],Added:"2009-07-29"},{Type:"language",Subtag:"ral",Description:["Ralte"],Added:"2009-07-29"},{Type:"language",Subtag:"ram",Description:["Canela"],Added:"2009-07-29"},{Type:"language",Subtag:"ran",Description:["Riantana"],Added:"2009-07-29"},{Type:"language",Subtag:"rao",Description:["Rao"],Added:"2009-07-29"},{Type:"language",Subtag:"rap",Description:["Rapanui"],Added:"2005-10-16"},{Type:"language",Subtag:"raq",Description:["Saam"],Added:"2009-07-29"},{Type:"language",Subtag:"rar",Description:["Rarotongan","Cook Islands Maori"],Added:"2005-10-16"},{Type:"language",Subtag:"ras",Description:["Tegali"],Added:"2009-07-29"},{Type:"language",Subtag:"rat",Description:["Razajerdi"],Added:"2009-07-29"},{Type:"language",Subtag:"rau",Description:["Raute"],Added:"2009-07-29"},{Type:"language",Subtag:"rav",Description:["Sampang"],Added:"2009-07-29"},{Type:"language",Subtag:"raw",Description:["Rawang"],Added:"2009-07-29"},{Type:"language",Subtag:"rax",Description:["Rang"],Added:"2009-07-29"},{Type:"language",Subtag:"ray",Description:["Rapa"],Added:"2009-07-29"},{Type:"language",Subtag:"raz",Description:["Rahambuu"],Added:"2009-07-29"},{Type:"language",Subtag:"rbb",Description:["Rumai Palaung"],Added:"2009-07-29"},{Type:"language",Subtag:"rbk",Description:["Northern Bontok"],Added:"2010-03-11",Macrolanguage:"bnc"},{Type:"language",Subtag:"rbl",Description:["Miraya Bikol"],Added:"2010-03-11",Macrolanguage:"bik"},{Type:"language",Subtag:"rbp",Description:["Barababaraba"],Added:"2012-08-12"},{Type:"language",Subtag:"rcf",Description:["Réunion Creole French"],Added:"2009-07-29"},{Type:"language",Subtag:"rdb",Description:["Rudbari"],Added:"2009-07-29"},{Type:"language",Subtag:"rea",Description:["Rerau"],Added:"2009-07-29"},{Type:"language",Subtag:"reb",Description:["Rembong"],Added:"2009-07-29"},{Type:"language",Subtag:"ree",Description:["Rejang Kayan"],Added:"2009-07-29"},{Type:"language",Subtag:"reg",Description:["Kara (Tanzania)"],Added:"2009-07-29"},{Type:"language",Subtag:"rei",Description:["Reli"],Added:"2009-07-29"},{Type:"language",Subtag:"rej",Description:["Rejang"],Added:"2009-07-29"},{Type:"language",Subtag:"rel",Description:["Rendille"],Added:"2009-07-29"},{Type:"language",Subtag:"rem",Description:["Remo"],Added:"2009-07-29"},{Type:"language",Subtag:"ren",Description:["Rengao"],Added:"2009-07-29"},{Type:"language",Subtag:"rer",Description:["Rer Bare"],Added:"2009-07-29"},{Type:"language",Subtag:"res",Description:["Reshe"],Added:"2009-07-29"},{Type:"language",Subtag:"ret",Description:["Retta"],Added:"2009-07-29"},{Type:"language",Subtag:"rey",Description:["Reyesano"],Added:"2009-07-29"},{Type:"language",Subtag:"rga",Description:["Roria"],Added:"2009-07-29"},{Type:"language",Subtag:"rge",Description:["Romano-Greek"],Added:"2009-07-29"},{Type:"language",Subtag:"rgk",Description:["Rangkas"],Added:"2009-07-29"},{Type:"language",Subtag:"rgn",Description:["Romagnol"],Added:"2009-07-29"},{Type:"language",Subtag:"rgr",Description:["Resígaro"],Added:"2009-07-29"},{Type:"language",Subtag:"rgs",Description:["Southern Roglai"],Added:"2009-07-29"},{Type:"language",Subtag:"rgu",Description:["Ringgou"],Added:"2009-07-29"},{Type:"language",Subtag:"rhg",Description:["Rohingya"],Added:"2009-07-29"},{Type:"language",Subtag:"rhp",Description:["Yahang"],Added:"2009-07-29"},{Type:"language",Subtag:"ria",Description:["Riang (India)"],Added:"2009-07-29"},{Type:"language",Subtag:"rib",Description:["Bribri Sign Language"],Added:"2022-02-25"},{Type:"language",Subtag:"rie",Description:["Rien"],Added:"2009-07-29",Deprecated:"2017-02-23"},{Type:"language",Subtag:"rif",Description:["Tarifit"],Added:"2009-07-29"},{Type:"language",Subtag:"ril",Description:["Riang Lang","Riang (Myanmar)"],Added:"2009-07-29"},{Type:"language",Subtag:"rim",Description:["Nyaturu"],Added:"2009-07-29"},{Type:"language",Subtag:"rin",Description:["Nungu"],Added:"2009-07-29"},{Type:"language",Subtag:"rir",Description:["Ribun"],Added:"2009-07-29"},{Type:"language",Subtag:"rit",Description:["Ritharrngu"],Added:"2009-07-29"},{Type:"language",Subtag:"riu",Description:["Riung"],Added:"2009-07-29"},{Type:"language",Subtag:"rjg",Description:["Rajong"],Added:"2009-07-29"},{Type:"language",Subtag:"rji",Description:["Raji"],Added:"2009-07-29"},{Type:"language",Subtag:"rjs",Description:["Rajbanshi"],Added:"2009-07-29"},{Type:"language",Subtag:"rka",Description:["Kraol"],Added:"2009-07-29"},{Type:"language",Subtag:"rkb",Description:["Rikbaktsa"],Added:"2009-07-29"},{Type:"language",Subtag:"rkh",Description:["Rakahanga-Manihiki"],Added:"2009-07-29"},{Type:"language",Subtag:"rki",Description:["Rakhine"],Added:"2009-07-29"},{Type:"language",Subtag:"rkm",Description:["Marka"],Added:"2009-07-29"},{Type:"language",Subtag:"rkt",Description:["Rangpuri","Kamta"],Added:"2009-07-29"},{Type:"language",Subtag:"rkw",Description:["Arakwal"],Added:"2013-09-10"},{Type:"language",Subtag:"rma",Description:["Rama"],Added:"2009-07-29"},{Type:"language",Subtag:"rmb",Description:["Rembarrnga"],Added:"2009-07-29"},{Type:"language",Subtag:"rmc",Description:["Carpathian Romani"],Added:"2009-07-29",Macrolanguage:"rom"},{Type:"language",Subtag:"rmd",Description:["Traveller Danish"],Added:"2009-07-29"},{Type:"language",Subtag:"rme",Description:["Angloromani"],Added:"2009-07-29"},{Type:"language",Subtag:"rmf",Description:["Kalo Finnish Romani"],Added:"2009-07-29",Macrolanguage:"rom"},{Type:"language",Subtag:"rmg",Description:["Traveller Norwegian"],Added:"2009-07-29"},{Type:"language",Subtag:"rmh",Description:["Murkim"],Added:"2009-07-29"},{Type:"language",Subtag:"rmi",Description:["Lomavren"],Added:"2009-07-29"},{Type:"language",Subtag:"rmk",Description:["Romkun"],Added:"2009-07-29"},{Type:"language",Subtag:"rml",Description:["Baltic Romani"],Added:"2009-07-29",Macrolanguage:"rom"},{Type:"language",Subtag:"rmm",Description:["Roma"],Added:"2009-07-29"},{Type:"language",Subtag:"rmn",Description:["Balkan Romani"],Added:"2009-07-29",Macrolanguage:"rom"},{Type:"language",Subtag:"rmo",Description:["Sinte Romani"],Added:"2009-07-29",Macrolanguage:"rom"},{Type:"language",Subtag:"rmp",Description:["Rempi"],Added:"2009-07-29"},{Type:"language",Subtag:"rmq",Description:["Caló"],Added:"2010-03-11"},{Type:"language",Subtag:"rmr",Description:["Caló"],Added:"2009-07-29",Deprecated:"2010-03-11",Comments:["see emx, rmq"]},{Type:"language",Subtag:"rms",Description:["Romanian Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"rmt",Description:["Domari"],Added:"2009-07-29"},{Type:"language",Subtag:"rmu",Description:["Tavringer Romani"],Added:"2009-07-29"},{Type:"language",Subtag:"rmv",Description:["Romanova"],Added:"2009-07-29"},{Type:"language",Subtag:"rmw",Description:["Welsh Romani"],Added:"2009-07-29",Macrolanguage:"rom"},{Type:"language",Subtag:"rmx",Description:["Romam"],Added:"2009-07-29"},{Type:"language",Subtag:"rmy",Description:["Vlax Romani"],Added:"2009-07-29",Macrolanguage:"rom"},{Type:"language",Subtag:"rmz",Description:["Marma"],Added:"2009-07-29"},{Type:"language",Subtag:"rna",Description:["Runa"],Added:"2009-07-29",Deprecated:"2016-05-30"},{Type:"language",Subtag:"rnb",Description:["Brunca Sign Language"],Added:"2022-02-25"},{Type:"language",Subtag:"rnd",Description:["Ruund"],Added:"2009-07-29"},{Type:"language",Subtag:"rng",Description:["Ronga"],Added:"2009-07-29"},{Type:"language",Subtag:"rnl",Description:["Ranglong"],Added:"2009-07-29"},{Type:"language",Subtag:"rnn",Description:["Roon"],Added:"2009-07-29"},{Type:"language",Subtag:"rnp",Description:["Rongpo"],Added:"2009-07-29"},{Type:"language",Subtag:"rnr",Description:["Nari Nari"],Added:"2012-08-20"},{Type:"language",Subtag:"rnw",Description:["Rungwa"],Added:"2009-07-29"},{Type:"language",Subtag:"roa",Description:["Romance languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"rob",Description:["Tae'"],Added:"2009-07-29"},{Type:"language",Subtag:"roc",Description:["Cacgia Roglai"],Added:"2009-07-29"},{Type:"language",Subtag:"rod",Description:["Rogo"],Added:"2009-07-29"},{Type:"language",Subtag:"roe",Description:["Ronji"],Added:"2009-07-29"},{Type:"language",Subtag:"rof",Description:["Rombo"],Added:"2009-07-29"},{Type:"language",Subtag:"rog",Description:["Northern Roglai"],Added:"2009-07-29"},{Type:"language",Subtag:"rol",Description:["Romblomanon"],Added:"2009-07-29"},{Type:"language",Subtag:"rom",Description:["Romany"],Added:"2005-10-16",Scope:"macrolanguage"},{Type:"language",Subtag:"roo",Description:["Rotokas"],Added:"2009-07-29"},{Type:"language",Subtag:"rop",Description:["Kriol"],Added:"2009-07-29"},{Type:"language",Subtag:"ror",Description:["Rongga"],Added:"2009-07-29"},{Type:"language",Subtag:"rou",Description:["Runga"],Added:"2009-07-29"},{Type:"language",Subtag:"row",Description:["Dela-Oenale"],Added:"2009-07-29"},{Type:"language",Subtag:"rpn",Description:["Repanbitip"],Added:"2009-07-29"},{Type:"language",Subtag:"rpt",Description:["Rapting"],Added:"2009-07-29"},{Type:"language",Subtag:"rri",Description:["Ririo"],Added:"2009-07-29"},{Type:"language",Subtag:"rro",Description:["Waima"],Added:"2009-07-29"},{Type:"language",Subtag:"rrt",Description:["Arritinngithigh"],Added:"2012-08-12"},{Type:"language",Subtag:"rsb",Description:["Romano-Serbian"],Added:"2009-07-29"},{Type:"language",Subtag:"rsi",Description:["Rennellese Sign Language"],Added:"2009-07-29",Deprecated:"2017-02-23"},{Type:"language",Subtag:"rsk",Description:["Ruthenian","Rusyn"],Added:"2022-02-25"},{Type:"language",Subtag:"rsl",Description:["Russian Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"rsm",Description:["Miriwoong Sign Language"],Added:"2016-05-30"},{Type:"language",Subtag:"rsn",Description:["Rwandan Sign Language"],Added:"2022-02-25"},{Type:"language",Subtag:"rtc",Description:["Rungtu Chin"],Added:"2012-08-12"},{Type:"language",Subtag:"rth",Description:["Ratahan"],Added:"2009-07-29"},{Type:"language",Subtag:"rtm",Description:["Rotuman"],Added:"2009-07-29"},{Type:"language",Subtag:"rts",Description:["Yurats"],Added:"2015-02-12"},{Type:"language",Subtag:"rtw",Description:["Rathawi"],Added:"2009-07-29"},{Type:"language",Subtag:"rub",Description:["Gungu"],Added:"2009-07-29"},{Type:"language",Subtag:"ruc",Description:["Ruuli"],Added:"2009-07-29"},{Type:"language",Subtag:"rue",Description:["Rusyn"],Added:"2009-07-29"},{Type:"language",Subtag:"ruf",Description:["Luguru"],Added:"2009-07-29"},{Type:"language",Subtag:"rug",Description:["Roviana"],Added:"2009-07-29"},{Type:"language",Subtag:"ruh",Description:["Ruga"],Added:"2009-07-29"},{Type:"language",Subtag:"rui",Description:["Rufiji"],Added:"2009-07-29"},{Type:"language",Subtag:"ruk",Description:["Che"],Added:"2009-07-29"},{Type:"language",Subtag:"ruo",Description:["Istro Romanian"],Added:"2009-07-29"},{Type:"language",Subtag:"rup",Description:["Macedo-Romanian","Aromanian","Arumanian"],Added:"2005-10-16"},{Type:"language",Subtag:"ruq",Description:["Megleno Romanian"],Added:"2009-07-29"},{Type:"language",Subtag:"rut",Description:["Rutul"],Added:"2009-07-29"},{Type:"language",Subtag:"ruu",Description:["Lanas Lobu"],Added:"2009-07-29"},{Type:"language",Subtag:"ruy",Description:["Mala (Nigeria)"],Added:"2009-07-29"},{Type:"language",Subtag:"ruz",Description:["Ruma"],Added:"2009-07-29"},{Type:"language",Subtag:"rwa",Description:["Rawo"],Added:"2009-07-29"},{Type:"language",Subtag:"rwk",Description:["Rwa"],Added:"2009-07-29"},{Type:"language",Subtag:"rwl",Description:["Ruwila"],Added:"2021-02-20"},{Type:"language",Subtag:"rwm",Description:["Amba (Uganda)"],Added:"2009-07-29"},{Type:"language",Subtag:"rwo",Description:["Rawa"],Added:"2009-07-29"},{Type:"language",Subtag:"rwr",Description:["Marwari (India)"],Added:"2009-07-29",Macrolanguage:"mwr"},{Type:"language",Subtag:"rxd",Description:["Ngardi"],Added:"2013-09-10"},{Type:"language",Subtag:"rxw",Description:["Karuwali","Garuwali"],Added:"2013-09-10"},{Type:"language",Subtag:"ryn",Description:["Northern Amami-Oshima"],Added:"2009-07-29"},{Type:"language",Subtag:"rys",Description:["Yaeyama"],Added:"2009-07-29"},{Type:"language",Subtag:"ryu",Description:["Central Okinawan"],Added:"2009-07-29"},{Type:"language",Subtag:"rzh",Description:["Rāziḥī"],Added:"2016-05-30"},{Type:"language",Subtag:"saa",Description:["Saba"],Added:"2009-07-29"},{Type:"language",Subtag:"sab",Description:["Buglere"],Added:"2009-07-29"},{Type:"language",Subtag:"sac",Description:["Meskwaki"],Added:"2009-07-29"},{Type:"language",Subtag:"sad",Description:["Sandawe"],Added:"2005-10-16"},{Type:"language",Subtag:"sae",Description:["Sabanê"],Added:"2009-07-29"},{Type:"language",Subtag:"saf",Description:["Safaliba"],Added:"2009-07-29"},{Type:"language",Subtag:"sah",Description:["Yakut"],Added:"2005-10-16"},{Type:"language",Subtag:"sai",Description:["South American Indian languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"saj",Description:["Sahu"],Added:"2009-07-29"},{Type:"language",Subtag:"sak",Description:["Sake"],Added:"2009-07-29"},{Type:"language",Subtag:"sal",Description:["Salishan languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"sam",Description:["Samaritan Aramaic"],Added:"2005-10-16"},{Type:"language",Subtag:"sao",Description:["Sause"],Added:"2009-07-29"},{Type:"language",Subtag:"sap",Description:["Sanapaná"],Added:"2009-07-29",Deprecated:"2014-02-28",Comments:["see aqt, spn"]},{Type:"language",Subtag:"saq",Description:["Samburu"],Added:"2009-07-29"},{Type:"language",Subtag:"sar",Description:["Saraveca"],Added:"2009-07-29"},{Type:"language",Subtag:"sas",Description:["Sasak"],Added:"2005-10-16"},{Type:"language",Subtag:"sat",Description:["Santali"],Added:"2005-10-16"},{Type:"language",Subtag:"sau",Description:["Saleman"],Added:"2009-07-29"},{Type:"language",Subtag:"sav",Description:["Saafi-Saafi"],Added:"2009-07-29"},{Type:"language",Subtag:"saw",Description:["Sawi"],Added:"2009-07-29"},{Type:"language",Subtag:"sax",Description:["Sa"],Added:"2009-07-29"},{Type:"language",Subtag:"say",Description:["Saya"],Added:"2009-07-29"},{Type:"language",Subtag:"saz",Description:["Saurashtra"],Added:"2009-07-29"},{Type:"language",Subtag:"sba",Description:["Ngambay"],Added:"2009-07-29"},{Type:"language",Subtag:"sbb",Description:["Simbo"],Added:"2009-07-29"},{Type:"language",Subtag:"sbc",Description:["Kele (Papua New Guinea)"],Added:"2009-07-29"},{Type:"language",Subtag:"sbd",Description:["Southern Samo"],Added:"2009-07-29"},{Type:"language",Subtag:"sbe",Description:["Saliba"],Added:"2009-07-29"},{Type:"language",Subtag:"sbf",Description:["Chabu","Shabo"],Added:"2009-07-29"},{Type:"language",Subtag:"sbg",Description:["Seget"],Added:"2009-07-29"},{Type:"language",Subtag:"sbh",Description:["Sori-Harengan"],Added:"2009-07-29"},{Type:"language",Subtag:"sbi",Description:["Seti"],Added:"2009-07-29"},{Type:"language",Subtag:"sbj",Description:["Surbakhal"],Added:"2009-07-29"},{Type:"language",Subtag:"sbk",Description:["Safwa"],Added:"2009-07-29"},{Type:"language",Subtag:"sbl",Description:["Botolan Sambal"],Added:"2009-07-29"},{Type:"language",Subtag:"sbm",Description:["Sagala"],Added:"2009-07-29"},{Type:"language",Subtag:"sbn",Description:["Sindhi Bhil"],Added:"2009-07-29"},{Type:"language",Subtag:"sbo",Description:["Sabüm"],Added:"2009-07-29"},{Type:"language",Subtag:"sbp",Description:["Sangu (Tanzania)"],Added:"2009-07-29"},{Type:"language",Subtag:"sbq",Description:["Sileibi"],Added:"2009-07-29"},{Type:"language",Subtag:"sbr",Description:["Sembakung Murut"],Added:"2009-07-29"},{Type:"language",Subtag:"sbs",Description:["Subiya"],Added:"2009-07-29"},{Type:"language",Subtag:"sbt",Description:["Kimki"],Added:"2009-07-29"},{Type:"language",Subtag:"sbu",Description:["Stod Bhoti"],Added:"2009-07-29"},{Type:"language",Subtag:"sbv",Description:["Sabine"],Added:"2009-07-29"},{Type:"language",Subtag:"sbw",Description:["Simba"],Added:"2009-07-29"},{Type:"language",Subtag:"sbx",Description:["Seberuang"],Added:"2009-07-29"},{Type:"language",Subtag:"sby",Description:["Soli"],Added:"2009-07-29"},{Type:"language",Subtag:"sbz",Description:["Sara Kaba"],Added:"2009-07-29"},{Type:"language",Subtag:"sca",Description:["Sansu"],Added:"2009-07-29",Deprecated:"2012-08-12","Preferred-Value":"hle"},{Type:"language",Subtag:"scb",Description:["Chut"],Added:"2009-07-29"},{Type:"language",Subtag:"sce",Description:["Dongxiang"],Added:"2009-07-29"},{Type:"language",Subtag:"scf",Description:["San Miguel Creole French"],Added:"2009-07-29"},{Type:"language",Subtag:"scg",Description:["Sanggau"],Added:"2009-07-29"},{Type:"language",Subtag:"sch",Description:["Sakachep"],Added:"2009-07-29"},{Type:"language",Subtag:"sci",Description:["Sri Lankan Creole Malay"],Added:"2009-07-29"},{Type:"language",Subtag:"sck",Description:["Sadri"],Added:"2009-07-29"},{Type:"language",Subtag:"scl",Description:["Shina"],Added:"2009-07-29"},{Type:"language",Subtag:"scn",Description:["Sicilian"],Added:"2005-10-16"},{Type:"language",Subtag:"sco",Description:["Scots"],Added:"2005-10-16"},{Type:"language",Subtag:"scp",Description:["Hyolmo","Helambu Sherpa"],Added:"2009-07-29"},{Type:"language",Subtag:"scq",Description:["Sa'och"],Added:"2009-07-29"},{Type:"language",Subtag:"scs",Description:["North Slavey"],Added:"2009-07-29",Macrolanguage:"den"},{Type:"language",Subtag:"sct",Description:["Southern Katang"],Added:"2017-02-23"},{Type:"language",Subtag:"scu",Description:["Shumcho"],Added:"2009-07-29"},{Type:"language",Subtag:"scv",Description:["Sheni"],Added:"2009-07-29"},{Type:"language",Subtag:"scw",Description:["Sha"],Added:"2009-07-29"},{Type:"language",Subtag:"scx",Description:["Sicel"],Added:"2009-07-29"},{Type:"language",Subtag:"sda",Description:["Toraja-Sa'dan"],Added:"2009-07-29"},{Type:"language",Subtag:"sdb",Description:["Shabak"],Added:"2009-07-29"},{Type:"language",Subtag:"sdc",Description:["Sassarese Sardinian"],Added:"2009-07-29",Macrolanguage:"sc"},{Type:"language",Subtag:"sde",Description:["Surubu"],Added:"2009-07-29"},{Type:"language",Subtag:"sdf",Description:["Sarli"],Added:"2009-07-29"},{Type:"language",Subtag:"sdg",Description:["Savi"],Added:"2009-07-29"},{Type:"language",Subtag:"sdh",Description:["Southern Kurdish"],Added:"2009-07-29",Macrolanguage:"ku"},{Type:"language",Subtag:"sdj",Description:["Suundi"],Added:"2009-07-29"},{Type:"language",Subtag:"sdk",Description:["Sos Kundi"],Added:"2009-07-29"},{Type:"language",Subtag:"sdl",Description:["Saudi Arabian Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"sdm",Description:["Semandang"],Added:"2009-07-29",Deprecated:"2020-03-28",Comments:["see ebc, gef, sdq"]},{Type:"language",Subtag:"sdn",Description:["Gallurese Sardinian"],Added:"2009-07-29",Macrolanguage:"sc"},{Type:"language",Subtag:"sdo",Description:["Bukar-Sadung Bidayuh"],Added:"2009-07-29"},{Type:"language",Subtag:"sdp",Description:["Sherdukpen"],Added:"2009-07-29"},{Type:"language",Subtag:"sdq",Description:["Semandang"],Added:"2020-03-28"},{Type:"language",Subtag:"sdr",Description:["Oraon Sadri"],Added:"2009-07-29"},{Type:"language",Subtag:"sds",Description:["Sened"],Added:"2009-07-29"},{Type:"language",Subtag:"sdt",Description:["Shuadit"],Added:"2009-07-29"},{Type:"language",Subtag:"sdu",Description:["Sarudu"],Added:"2009-07-29"},{Type:"language",Subtag:"sdv",Description:["Eastern Sudanic languages"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"sdx",Description:["Sibu Melanau"],Added:"2009-07-29"},{Type:"language",Subtag:"sdz",Description:["Sallands"],Added:"2009-07-29"},{Type:"language",Subtag:"sea",Description:["Semai"],Added:"2009-07-29"},{Type:"language",Subtag:"seb",Description:["Shempire Senoufo"],Added:"2009-07-29"},{Type:"language",Subtag:"sec",Description:["Sechelt"],Added:"2009-07-29"},{Type:"language",Subtag:"sed",Description:["Sedang"],Added:"2009-07-29"},{Type:"language",Subtag:"see",Description:["Seneca"],Added:"2009-07-29"},{Type:"language",Subtag:"sef",Description:["Cebaara Senoufo"],Added:"2009-07-29"},{Type:"language",Subtag:"seg",Description:["Segeju"],Added:"2009-07-29"},{Type:"language",Subtag:"seh",Description:["Sena"],Added:"2009-07-29"},{Type:"language",Subtag:"sei",Description:["Seri"],Added:"2009-07-29"},{Type:"language",Subtag:"sej",Description:["Sene"],Added:"2009-07-29"},{Type:"language",Subtag:"sek",Description:["Sekani"],Added:"2009-07-29"},{Type:"language",Subtag:"sel",Description:["Selkup"],Added:"2005-10-16"},{Type:"language",Subtag:"sem",Description:["Semitic languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"sen",Description:["Nanerigé Sénoufo"],Added:"2009-07-29"},{Type:"language",Subtag:"seo",Description:["Suarmin"],Added:"2009-07-29"},{Type:"language",Subtag:"sep",Description:["Sìcìté Sénoufo"],Added:"2009-07-29"},{Type:"language",Subtag:"seq",Description:["Senara Sénoufo"],Added:"2009-07-29"},{Type:"language",Subtag:"ser",Description:["Serrano"],Added:"2009-07-29"},{Type:"language",Subtag:"ses",Description:["Koyraboro Senni Songhai"],Added:"2009-07-29"},{Type:"language",Subtag:"set",Description:["Sentani"],Added:"2009-07-29"},{Type:"language",Subtag:"seu",Description:["Serui-Laut"],Added:"2009-07-29"},{Type:"language",Subtag:"sev",Description:["Nyarafolo Senoufo"],Added:"2009-07-29"},{Type:"language",Subtag:"sew",Description:["Sewa Bay"],Added:"2009-07-29"},{Type:"language",Subtag:"sey",Description:["Secoya"],Added:"2009-07-29"},{Type:"language",Subtag:"sez",Description:["Senthang Chin"],Added:"2009-07-29"},{Type:"language",Subtag:"sfb",Description:["Langue des signes de Belgique Francophone","French Belgian Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"sfe",Description:["Eastern Subanen"],Added:"2012-08-12"},{Type:"language",Subtag:"sfm",Description:["Small Flowery Miao"],Added:"2009-07-29",Macrolanguage:"hmn"},{Type:"language",Subtag:"sfs",Description:["South African Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"sfw",Description:["Sehwi"],Added:"2009-07-29"},{Type:"language",Subtag:"sga",Description:["Old Irish (to 900)"],Added:"2005-10-16"},{Type:"language",Subtag:"sgb",Description:["Mag-antsi Ayta"],Added:"2009-07-29"},{Type:"language",Subtag:"sgc",Description:["Kipsigis"],Added:"2009-07-29",Macrolanguage:"kln"},{Type:"language",Subtag:"sgd",Description:["Surigaonon"],Added:"2010-03-11"},{Type:"language",Subtag:"sge",Description:["Segai"],Added:"2009-07-29"},{Type:"language",Subtag:"sgg",Description:["Swiss-German Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"sgh",Description:["Shughni"],Added:"2009-07-29"},{Type:"language",Subtag:"sgi",Description:["Suga"],Added:"2009-07-29"},{Type:"language",Subtag:"sgj",Description:["Surgujia"],Added:"2012-08-12"},{Type:"language",Subtag:"sgk",Description:["Sangkong"],Added:"2009-07-29"},{Type:"language",Subtag:"sgl",Description:["Sanglechi-Ishkashimi"],Added:"2009-07-29",Deprecated:"2010-03-11",Comments:["see isk, sgy"]},{Type:"language",Subtag:"sgm",Description:["Singa"],Added:"2009-07-29"},{Type:"language",Subtag:"sgn",Description:["Sign languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"sgo",Description:["Songa"],Added:"2009-07-29",Deprecated:"2015-02-12"},{Type:"language",Subtag:"sgp",Description:["Singpho"],Added:"2009-07-29"},{Type:"language",Subtag:"sgr",Description:["Sangisari"],Added:"2009-07-29"},{Type:"language",Subtag:"sgs",Description:["Samogitian"],Added:"2010-07-26"},{Type:"language",Subtag:"sgt",Description:["Brokpake"],Added:"2009-07-29"},{Type:"language",Subtag:"sgu",Description:["Salas"],Added:"2009-07-29"},{Type:"language",Subtag:"sgw",Description:["Sebat Bet Gurage"],Added:"2009-07-29"},{Type:"language",Subtag:"sgx",Description:["Sierra Leone Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"sgy",Description:["Sanglechi"],Added:"2010-03-11"},{Type:"language",Subtag:"sgz",Description:["Sursurunga"],Added:"2009-07-29"},{Type:"language",Subtag:"sha",Description:["Shall-Zwall"],Added:"2009-07-29"},{Type:"language",Subtag:"shb",Description:["Ninam"],Added:"2009-07-29"},{Type:"language",Subtag:"shc",Description:["Sonde"],Added:"2009-07-29"},{Type:"language",Subtag:"shd",Description:["Kundal Shahi"],Added:"2010-03-11"},{Type:"language",Subtag:"she",Description:["Sheko"],Added:"2009-07-29"},{Type:"language",Subtag:"shg",Description:["Shua"],Added:"2009-07-29"},{Type:"language",Subtag:"shh",Description:["Shoshoni"],Added:"2009-07-29"},{Type:"language",Subtag:"shi",Description:["Tachelhit"],Added:"2009-07-29"},{Type:"language",Subtag:"shj",Description:["Shatt"],Added:"2009-07-29"},{Type:"language",Subtag:"shk",Description:["Shilluk"],Added:"2009-07-29"},{Type:"language",Subtag:"shl",Description:["Shendu"],Added:"2009-07-29"},{Type:"language",Subtag:"shm",Description:["Shahrudi"],Added:"2009-07-29"},{Type:"language",Subtag:"shn",Description:["Shan"],Added:"2005-10-16"},{Type:"language",Subtag:"sho",Description:["Shanga"],Added:"2009-07-29"},{Type:"language",Subtag:"shp",Description:["Shipibo-Conibo"],Added:"2009-07-29"},{Type:"language",Subtag:"shq",Description:["Sala"],Added:"2009-07-29"},{Type:"language",Subtag:"shr",Description:["Shi"],Added:"2009-07-29"},{Type:"language",Subtag:"shs",Description:["Shuswap"],Added:"2009-07-29"},{Type:"language",Subtag:"sht",Description:["Shasta"],Added:"2009-07-29"},{Type:"language",Subtag:"shu",Description:["Chadian Arabic"],Added:"2009-07-29",Macrolanguage:"ar"},{Type:"language",Subtag:"shv",Description:["Shehri"],Added:"2009-07-29"},{Type:"language",Subtag:"shw",Description:["Shwai"],Added:"2009-07-29"},{Type:"language",Subtag:"shx",Description:["She"],Added:"2009-07-29"},{Type:"language",Subtag:"shy",Description:["Tachawit"],Added:"2009-07-29"},{Type:"language",Subtag:"shz",Description:["Syenara Senoufo"],Added:"2009-07-29"},{Type:"language",Subtag:"sia",Description:["Akkala Sami"],Added:"2009-07-29"},{Type:"language",Subtag:"sib",Description:["Sebop"],Added:"2009-07-29"},{Type:"language",Subtag:"sid",Description:["Sidamo"],Added:"2005-10-16"},{Type:"language",Subtag:"sie",Description:["Simaa"],Added:"2009-07-29"},{Type:"language",Subtag:"sif",Description:["Siamou"],Added:"2009-07-29"},{Type:"language",Subtag:"sig",Description:["Paasaal"],Added:"2009-07-29"},{Type:"language",Subtag:"sih",Description:["Zire","Sîshëë"],Added:"2009-07-29"},{Type:"language",Subtag:"sii",Description:["Shom Peng"],Added:"2009-07-29"},{Type:"language",Subtag:"sij",Description:["Numbami"],Added:"2009-07-29"},{Type:"language",Subtag:"sik",Description:["Sikiana"],Added:"2009-07-29"},{Type:"language",Subtag:"sil",Description:["Tumulung Sisaala"],Added:"2009-07-29"},{Type:"language",Subtag:"sim",Description:["Mende (Papua New Guinea)"],Added:"2009-07-29"},{Type:"language",Subtag:"sio",Description:["Siouan languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"sip",Description:["Sikkimese"],Added:"2009-07-29"},{Type:"language",Subtag:"siq",Description:["Sonia"],Added:"2009-07-29"},{Type:"language",Subtag:"sir",Description:["Siri"],Added:"2009-07-29"},{Type:"language",Subtag:"sis",Description:["Siuslaw"],Added:"2009-07-29"},{Type:"language",Subtag:"sit",Description:["Sino-Tibetan languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"siu",Description:["Sinagen"],Added:"2009-07-29"},{Type:"language",Subtag:"siv",Description:["Sumariup"],Added:"2009-07-29"},{Type:"language",Subtag:"siw",Description:["Siwai"],Added:"2009-07-29"},{Type:"language",Subtag:"six",Description:["Sumau"],Added:"2009-07-29"},{Type:"language",Subtag:"siy",Description:["Sivandi"],Added:"2009-07-29"},{Type:"language",Subtag:"siz",Description:["Siwi"],Added:"2009-07-29"},{Type:"language",Subtag:"sja",Description:["Epena"],Added:"2009-07-29"},{Type:"language",Subtag:"sjb",Description:["Sajau Basap"],Added:"2009-07-29"},{Type:"language",Subtag:"sjd",Description:["Kildin Sami"],Added:"2009-07-29"},{Type:"language",Subtag:"sje",Description:["Pite Sami"],Added:"2009-07-29"},{Type:"language",Subtag:"sjg",Description:["Assangori"],Added:"2009-07-29"},{Type:"language",Subtag:"sjk",Description:["Kemi Sami"],Added:"2009-07-29"},{Type:"language",Subtag:"sjl",Description:["Sajalong","Miji"],Added:"2009-07-29"},{Type:"language",Subtag:"sjm",Description:["Mapun"],Added:"2009-07-29"},{Type:"language",Subtag:"sjn",Description:["Sindarin"],Added:"2009-07-29"},{Type:"language",Subtag:"sjo",Description:["Xibe"],Added:"2009-07-29"},{Type:"language",Subtag:"sjp",Description:["Surjapuri"],Added:"2009-07-29"},{Type:"language",Subtag:"sjr",Description:["Siar-Lak"],Added:"2009-07-29"},{Type:"language",Subtag:"sjs",Description:["Senhaja De Srair"],Added:"2009-07-29"},{Type:"language",Subtag:"sjt",Description:["Ter Sami"],Added:"2009-07-29"},{Type:"language",Subtag:"sju",Description:["Ume Sami"],Added:"2009-07-29"},{Type:"language",Subtag:"sjw",Description:["Shawnee"],Added:"2009-07-29"},{Type:"language",Subtag:"ska",Description:["Skagit"],Added:"2009-07-29"},{Type:"language",Subtag:"skb",Description:["Saek"],Added:"2009-07-29"},{Type:"language",Subtag:"skc",Description:["Ma Manda"],Added:"2009-07-29"},{Type:"language",Subtag:"skd",Description:["Southern Sierra Miwok"],Added:"2009-07-29"},{Type:"language",Subtag:"ske",Description:["Seke (Vanuatu)"],Added:"2009-07-29"},{Type:"language",Subtag:"skf",Description:["Sakirabiá"],Added:"2009-07-29"},{Type:"language",Subtag:"skg",Description:["Sakalava Malagasy"],Added:"2009-07-29",Macrolanguage:"mg"},{Type:"language",Subtag:"skh",Description:["Sikule"],Added:"2009-07-29"},{Type:"language",Subtag:"ski",Description:["Sika"],Added:"2009-07-29"},{Type:"language",Subtag:"skj",Description:["Seke (Nepal)"],Added:"2009-07-29"},{Type:"language",Subtag:"skk",Description:["Sok"],Added:"2009-07-29",Deprecated:"2017-02-23","Preferred-Value":"oyb"},{Type:"language",Subtag:"skm",Description:["Kutong"],Added:"2009-07-29"},{Type:"language",Subtag:"skn",Description:["Kolibugan Subanon"],Added:"2009-07-29"},{Type:"language",Subtag:"sko",Description:["Seko Tengah"],Added:"2009-07-29"},{Type:"language",Subtag:"skp",Description:["Sekapan"],Added:"2009-07-29"},{Type:"language",Subtag:"skq",Description:["Sininkere"],Added:"2009-07-29"},{Type:"language",Subtag:"skr",Description:["Saraiki","Seraiki"],Added:"2009-07-29",Macrolanguage:"lah"},{Type:"language",Subtag:"sks",Description:["Maia"],Added:"2009-07-29"},{Type:"language",Subtag:"skt",Description:["Sakata"],Added:"2009-07-29"},{Type:"language",Subtag:"sku",Description:["Sakao"],Added:"2009-07-29"},{Type:"language",Subtag:"skv",Description:["Skou"],Added:"2009-07-29"},{Type:"language",Subtag:"skw",Description:["Skepi Creole Dutch"],Added:"2009-07-29"},{Type:"language",Subtag:"skx",Description:["Seko Padang"],Added:"2009-07-29"},{Type:"language",Subtag:"sky",Description:["Sikaiana"],Added:"2009-07-29"},{Type:"language",Subtag:"skz",Description:["Sekar"],Added:"2009-07-29"},{Type:"language",Subtag:"sla",Description:["Slavic languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"slc",Description:["Sáliba"],Added:"2009-07-29"},{Type:"language",Subtag:"sld",Description:["Sissala"],Added:"2009-07-29"},{Type:"language",Subtag:"sle",Description:["Sholaga"],Added:"2009-07-29"},{Type:"language",Subtag:"slf",Description:["Swiss-Italian Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"slg",Description:["Selungai Murut"],Added:"2009-07-29"},{Type:"language",Subtag:"slh",Description:["Southern Puget Sound Salish"],Added:"2009-07-29"},{Type:"language",Subtag:"sli",Description:["Lower Silesian"],Added:"2009-07-29"},{Type:"language",Subtag:"slj",Description:["Salumá"],Added:"2009-07-29"},{Type:"language",Subtag:"sll",Description:["Salt-Yui"],Added:"2009-07-29"},{Type:"language",Subtag:"slm",Description:["Pangutaran Sama"],Added:"2009-07-29"},{Type:"language",Subtag:"sln",Description:["Salinan"],Added:"2009-07-29"},{Type:"language",Subtag:"slp",Description:["Lamaholot"],Added:"2009-07-29"},{Type:"language",Subtag:"slq",Description:["Salchuq"],Added:"2009-07-29"},{Type:"language",Subtag:"slr",Description:["Salar"],Added:"2009-07-29"},{Type:"language",Subtag:"sls",Description:["Singapore Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"slt",Description:["Sila"],Added:"2009-07-29"},{Type:"language",Subtag:"slu",Description:["Selaru"],Added:"2009-07-29"},{Type:"language",Subtag:"slw",Description:["Sialum"],Added:"2009-07-29"},{Type:"language",Subtag:"slx",Description:["Salampasu"],Added:"2009-07-29"},{Type:"language",Subtag:"sly",Description:["Selayar"],Added:"2009-07-29"},{Type:"language",Subtag:"slz",Description:["Ma'ya"],Added:"2009-07-29"},{Type:"language",Subtag:"sma",Description:["Southern Sami"],Added:"2005-10-16"},{Type:"language",Subtag:"smb",Description:["Simbari"],Added:"2009-07-29"},{Type:"language",Subtag:"smc",Description:["Som"],Added:"2009-07-29"},{Type:"language",Subtag:"smd",Description:["Sama"],Added:"2009-07-29",Deprecated:"2022-02-25","Preferred-Value":"kmb"},{Type:"language",Subtag:"smf",Description:["Auwe"],Added:"2009-07-29"},{Type:"language",Subtag:"smg",Description:["Simbali"],Added:"2009-07-29"},{Type:"language",Subtag:"smh",Description:["Samei"],Added:"2009-07-29"},{Type:"language",Subtag:"smi",Description:["Sami languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"smj",Description:["Lule Sami"],Added:"2005-10-16"},{Type:"language",Subtag:"smk",Description:["Bolinao"],Added:"2009-07-29"},{Type:"language",Subtag:"sml",Description:["Central Sama"],Added:"2009-07-29"},{Type:"language",Subtag:"smm",Description:["Musasa"],Added:"2009-07-29"},{Type:"language",Subtag:"smn",Description:["Inari Sami"],Added:"2005-10-16"},{Type:"language",Subtag:"smp",Description:["Samaritan"],Added:"2009-07-29"},{Type:"language",Subtag:"smq",Description:["Samo"],Added:"2009-07-29"},{Type:"language",Subtag:"smr",Description:["Simeulue"],Added:"2009-07-29"},{Type:"language",Subtag:"sms",Description:["Skolt Sami"],Added:"2005-10-16"},{Type:"language",Subtag:"smt",Description:["Simte"],Added:"2009-07-29"},{Type:"language",Subtag:"smu",Description:["Somray"],Added:"2009-07-29"},{Type:"language",Subtag:"smv",Description:["Samvedi"],Added:"2009-07-29"},{Type:"language",Subtag:"smw",Description:["Sumbawa"],Added:"2009-07-29"},{Type:"language",Subtag:"smx",Description:["Samba"],Added:"2009-07-29"},{Type:"language",Subtag:"smy",Description:["Semnani"],Added:"2009-07-29"},{Type:"language",Subtag:"smz",Description:["Simeku"],Added:"2009-07-29"},{Type:"language",Subtag:"snb",Description:["Sebuyau"],Added:"2009-07-29",Deprecated:"2022-02-25","Preferred-Value":"iba"},{Type:"language",Subtag:"snc",Description:["Sinaugoro"],Added:"2009-07-29"},{Type:"language",Subtag:"sne",Description:["Bau Bidayuh"],Added:"2009-07-29"},{Type:"language",Subtag:"snf",Description:["Noon"],Added:"2009-07-29"},{Type:"language",Subtag:"sng",Description:["Sanga (Democratic Republic of Congo)"],Added:"2009-07-29"},{Type:"language",Subtag:"snh",Description:["Shinabo"],Added:"2009-07-29",Deprecated:"2017-02-23"},{Type:"language",Subtag:"sni",Description:["Sensi"],Added:"2009-07-29"},{Type:"language",Subtag:"snj",Description:["Riverain Sango"],Added:"2009-07-29"},{Type:"language",Subtag:"snk",Description:["Soninke"],Added:"2005-10-16"},{Type:"language",Subtag:"snl",Description:["Sangil"],Added:"2009-07-29"},{Type:"language",Subtag:"snm",Description:["Southern Ma'di"],Added:"2009-07-29"},{Type:"language",Subtag:"snn",Description:["Siona"],Added:"2009-07-29"},{Type:"language",Subtag:"sno",Description:["Snohomish"],Added:"2009-07-29"},{Type:"language",Subtag:"snp",Description:["Siane"],Added:"2009-07-29"},{Type:"language",Subtag:"snq",Description:["Sangu (Gabon)"],Added:"2009-07-29"},{Type:"language",Subtag:"snr",Description:["Sihan"],Added:"2009-07-29"},{Type:"language",Subtag:"sns",Description:["South West Bay","Nahavaq"],Added:"2009-07-29"},{Type:"language",Subtag:"snu",Description:["Senggi","Viid"],Added:"2009-07-29"},{Type:"language",Subtag:"snv",Description:["Sa'ban"],Added:"2009-07-29"},{Type:"language",Subtag:"snw",Description:["Selee"],Added:"2009-07-29"},{Type:"language",Subtag:"snx",Description:["Sam"],Added:"2009-07-29"},{Type:"language",Subtag:"sny",Description:["Saniyo-Hiyewe"],Added:"2009-07-29"},{Type:"language",Subtag:"snz",Description:["Kou"],Added:"2009-07-29"},{Type:"language",Subtag:"soa",Description:["Thai Song"],Added:"2009-07-29"},{Type:"language",Subtag:"sob",Description:["Sobei"],Added:"2009-07-29"},{Type:"language",Subtag:"soc",Description:["So (Democratic Republic of Congo)"],Added:"2009-07-29"},{Type:"language",Subtag:"sod",Description:["Songoora"],Added:"2009-07-29"},{Type:"language",Subtag:"soe",Description:["Songomeno"],Added:"2009-07-29"},{Type:"language",Subtag:"sog",Description:["Sogdian"],Added:"2005-10-16"},{Type:"language",Subtag:"soh",Description:["Aka"],Added:"2009-07-29"},{Type:"language",Subtag:"soi",Description:["Sonha"],Added:"2009-07-29"},{Type:"language",Subtag:"soj",Description:["Soi"],Added:"2009-07-29"},{Type:"language",Subtag:"sok",Description:["Sokoro"],Added:"2009-07-29"},{Type:"language",Subtag:"sol",Description:["Solos"],Added:"2009-07-29"},{Type:"language",Subtag:"son",Description:["Songhai languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"soo",Description:["Songo"],Added:"2009-07-29"},{Type:"language",Subtag:"sop",Description:["Songe"],Added:"2009-07-29"},{Type:"language",Subtag:"soq",Description:["Kanasi"],Added:"2009-07-29"},{Type:"language",Subtag:"sor",Description:["Somrai"],Added:"2009-07-29"},{Type:"language",Subtag:"sos",Description:["Seeku"],Added:"2009-07-29"},{Type:"language",Subtag:"sou",Description:["Southern Thai"],Added:"2009-07-29"},{Type:"language",Subtag:"sov",Description:["Sonsorol"],Added:"2009-07-29"},{Type:"language",Subtag:"sow",Description:["Sowanda"],Added:"2009-07-29"},{Type:"language",Subtag:"sox",Description:["Swo"],Added:"2009-07-29"},{Type:"language",Subtag:"soy",Description:["Miyobe"],Added:"2009-07-29"},{Type:"language",Subtag:"soz",Description:["Temi"],Added:"2009-07-29"},{Type:"language",Subtag:"spb",Description:["Sepa (Indonesia)"],Added:"2009-07-29"},{Type:"language",Subtag:"spc",Description:["Sapé"],Added:"2009-07-29"},{Type:"language",Subtag:"spd",Description:["Saep"],Added:"2009-07-29"},{Type:"language",Subtag:"spe",Description:["Sepa (Papua New Guinea)"],Added:"2009-07-29"},{Type:"language",Subtag:"spg",Description:["Sian"],Added:"2009-07-29"},{Type:"language",Subtag:"spi",Description:["Saponi"],Added:"2009-07-29"},{Type:"language",Subtag:"spk",Description:["Sengo"],Added:"2009-07-29"},{Type:"language",Subtag:"spl",Description:["Selepet"],Added:"2009-07-29"},{Type:"language",Subtag:"spm",Description:["Akukem"],Added:"2009-07-29"},{Type:"language",Subtag:"spn",Description:["Sanapaná"],Added:"2014-02-28"},{Type:"language",Subtag:"spo",Description:["Spokane"],Added:"2009-07-29"},{Type:"language",Subtag:"spp",Description:["Supyire Senoufo"],Added:"2009-07-29"},{Type:"language",Subtag:"spq",Description:["Loreto-Ucayali Spanish"],Added:"2009-07-29"},{Type:"language",Subtag:"spr",Description:["Saparua"],Added:"2009-07-29"},{Type:"language",Subtag:"sps",Description:["Saposa"],Added:"2009-07-29"},{Type:"language",Subtag:"spt",Description:["Spiti Bhoti"],Added:"2009-07-29"},{Type:"language",Subtag:"spu",Description:["Sapuan"],Added:"2009-07-29"},{Type:"language",Subtag:"spv",Description:["Sambalpuri","Kosli"],Added:"2012-08-12",Macrolanguage:"or"},{Type:"language",Subtag:"spx",Description:["South Picene"],Added:"2009-07-29"},{Type:"language",Subtag:"spy",Description:["Sabaot"],Added:"2009-07-29",Macrolanguage:"kln"},{Type:"language",Subtag:"sqa",Description:["Shama-Sambuga"],Added:"2009-07-29"},{Type:"language",Subtag:"sqh",Description:["Shau"],Added:"2009-07-29"},{Type:"language",Subtag:"sqj",Description:["Albanian languages"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"sqk",Description:["Albanian Sign Language"],Added:"2012-08-12"},{Type:"language",Subtag:"sqm",Description:["Suma"],Added:"2009-07-29"},{Type:"language",Subtag:"sqn",Description:["Susquehannock"],Added:"2009-07-29"},{Type:"language",Subtag:"sqo",Description:["Sorkhei"],Added:"2009-07-29"},{Type:"language",Subtag:"sqq",Description:["Sou"],Added:"2009-07-29"},{Type:"language",Subtag:"sqr",Description:["Siculo Arabic"],Added:"2009-07-29"},{Type:"language",Subtag:"sqs",Description:["Sri Lankan Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"sqt",Description:["Soqotri"],Added:"2009-07-29"},{Type:"language",Subtag:"squ",Description:["Squamish"],Added:"2009-07-29"},{Type:"language",Subtag:"sqx",Description:["Kufr Qassem Sign Language (KQSL)"],Added:"2021-02-20"},{Type:"language",Subtag:"sra",Description:["Saruga"],Added:"2009-07-29"},{Type:"language",Subtag:"srb",Description:["Sora"],Added:"2009-07-29"},{Type:"language",Subtag:"src",Description:["Logudorese Sardinian"],Added:"2009-07-29",Macrolanguage:"sc"},{Type:"language",Subtag:"sre",Description:["Sara"],Added:"2009-07-29"},{Type:"language",Subtag:"srf",Description:["Nafi"],Added:"2009-07-29"},{Type:"language",Subtag:"srg",Description:["Sulod"],Added:"2009-07-29"},{Type:"language",Subtag:"srh",Description:["Sarikoli"],Added:"2009-07-29"},{Type:"language",Subtag:"sri",Description:["Siriano"],Added:"2009-07-29"},{Type:"language",Subtag:"srk",Description:["Serudung Murut"],Added:"2009-07-29"},{Type:"language",Subtag:"srl",Description:["Isirawa"],Added:"2009-07-29"},{Type:"language",Subtag:"srm",Description:["Saramaccan"],Added:"2009-07-29"},{Type:"language",Subtag:"srn",Description:["Sranan Tongo"],Added:"2005-10-16"},{Type:"language",Subtag:"sro",Description:["Campidanese Sardinian"],Added:"2009-07-29",Macrolanguage:"sc"},{Type:"language",Subtag:"srq",Description:["Sirionó"],Added:"2009-07-29"},{Type:"language",Subtag:"srr",Description:["Serer"],Added:"2005-10-16"},{Type:"language",Subtag:"srs",Description:["Sarsi"],Added:"2009-07-29"},{Type:"language",Subtag:"srt",Description:["Sauri"],Added:"2009-07-29"},{Type:"language",Subtag:"sru",Description:["Suruí"],Added:"2009-07-29"},{Type:"language",Subtag:"srv",Description:["Southern Sorsoganon"],Added:"2009-07-29"},{Type:"language",Subtag:"srw",Description:["Serua"],Added:"2009-07-29"},{Type:"language",Subtag:"srx",Description:["Sirmauri"],Added:"2009-07-29"},{Type:"language",Subtag:"sry",Description:["Sera"],Added:"2009-07-29"},{Type:"language",Subtag:"srz",Description:["Shahmirzadi"],Added:"2009-07-29"},{Type:"language",Subtag:"ssa",Description:["Nilo-Saharan languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"ssb",Description:["Southern Sama"],Added:"2009-07-29"},{Type:"language",Subtag:"ssc",Description:["Suba-Simbiti"],Added:"2009-07-29"},{Type:"language",Subtag:"ssd",Description:["Siroi"],Added:"2009-07-29"},{Type:"language",Subtag:"sse",Description:["Balangingi","Bangingih Sama"],Added:"2009-07-29"},{Type:"language",Subtag:"ssf",Description:["Thao"],Added:"2009-07-29"},{Type:"language",Subtag:"ssg",Description:["Seimat"],Added:"2009-07-29"},{Type:"language",Subtag:"ssh",Description:["Shihhi Arabic"],Added:"2009-07-29",Macrolanguage:"ar"},{Type:"language",Subtag:"ssi",Description:["Sansi"],Added:"2009-07-29"},{Type:"language",Subtag:"ssj",Description:["Sausi"],Added:"2009-07-29"},{Type:"language",Subtag:"ssk",Description:["Sunam"],Added:"2009-07-29"},{Type:"language",Subtag:"ssl",Description:["Western Sisaala"],Added:"2009-07-29"},{Type:"language",Subtag:"ssm",Description:["Semnam"],Added:"2009-07-29"},{Type:"language",Subtag:"ssn",Description:["Waata"],Added:"2009-07-29"},{Type:"language",Subtag:"sso",Description:["Sissano"],Added:"2009-07-29"},{Type:"language",Subtag:"ssp",Description:["Spanish Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"ssq",Description:["So'a"],Added:"2009-07-29"},{Type:"language",Subtag:"ssr",Description:["Swiss-French Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"sss",Description:["Sô"],Added:"2009-07-29"},{Type:"language",Subtag:"sst",Description:["Sinasina"],Added:"2009-07-29"},{Type:"language",Subtag:"ssu",Description:["Susuami"],Added:"2009-07-29"},{Type:"language",Subtag:"ssv",Description:["Shark Bay"],Added:"2009-07-29"},{Type:"language",Subtag:"ssx",Description:["Samberigi"],Added:"2009-07-29"},{Type:"language",Subtag:"ssy",Description:["Saho"],Added:"2009-07-29"},{Type:"language",Subtag:"ssz",Description:["Sengseng"],Added:"2009-07-29"},{Type:"language",Subtag:"sta",Description:["Settla"],Added:"2009-07-29"},{Type:"language",Subtag:"stb",Description:["Northern Subanen"],Added:"2009-07-29"},{Type:"language",Subtag:"std",Description:["Sentinel"],Added:"2009-07-29"},{Type:"language",Subtag:"ste",Description:["Liana-Seti"],Added:"2009-07-29"},{Type:"language",Subtag:"stf",Description:["Seta"],Added:"2009-07-29"},{Type:"language",Subtag:"stg",Description:["Trieng"],Added:"2009-07-29"},{Type:"language",Subtag:"sth",Description:["Shelta"],Added:"2009-07-29"},{Type:"language",Subtag:"sti",Description:["Bulo Stieng"],Added:"2009-07-29"},{Type:"language",Subtag:"stj",Description:["Matya Samo"],Added:"2009-07-29"},{Type:"language",Subtag:"stk",Description:["Arammba"],Added:"2009-07-29"},{Type:"language",Subtag:"stl",Description:["Stellingwerfs"],Added:"2009-07-29"},{Type:"language",Subtag:"stm",Description:["Setaman"],Added:"2009-07-29"},{Type:"language",Subtag:"stn",Description:["Owa"],Added:"2009-07-29"},{Type:"language",Subtag:"sto",Description:["Stoney"],Added:"2009-07-29"},{Type:"language",Subtag:"stp",Description:["Southeastern Tepehuan"],Added:"2009-07-29"},{Type:"language",Subtag:"stq",Description:["Saterfriesisch"],Added:"2009-07-29"},{Type:"language",Subtag:"str",Description:["Straits Salish"],Added:"2009-07-29"},{Type:"language",Subtag:"sts",Description:["Shumashti"],Added:"2009-07-29"},{Type:"language",Subtag:"stt",Description:["Budeh Stieng"],Added:"2009-07-29"},{Type:"language",Subtag:"stu",Description:["Samtao"],Added:"2009-07-29"},{Type:"language",Subtag:"stv",Description:["Silt'e"],Added:"2009-07-29"},{Type:"language",Subtag:"stw",Description:["Satawalese"],Added:"2009-07-29"},{Type:"language",Subtag:"sty",Description:["Siberian Tatar"],Added:"2013-09-10"},{Type:"language",Subtag:"sua",Description:["Sulka"],Added:"2009-07-29"},{Type:"language",Subtag:"sub",Description:["Suku"],Added:"2009-07-29"},{Type:"language",Subtag:"suc",Description:["Western Subanon"],Added:"2009-07-29"},{Type:"language",Subtag:"sue",Description:["Suena"],Added:"2009-07-29"},{Type:"language",Subtag:"sug",Description:["Suganga"],Added:"2009-07-29"},{Type:"language",Subtag:"sui",Description:["Suki"],Added:"2009-07-29"},{Type:"language",Subtag:"suj",Description:["Shubi"],Added:"2009-07-29",Comments:["see also xsj"]},{Type:"language",Subtag:"suk",Description:["Sukuma"],Added:"2005-10-16"},{Type:"language",Subtag:"sul",Description:["Surigaonon"],Added:"2009-07-29",Deprecated:"2010-03-11",Comments:["see sgd, tgn"]},{Type:"language",Subtag:"sum",Description:["Sumo-Mayangna"],Added:"2009-07-29",Deprecated:"2010-03-11",Comments:["see ulw, yan"]},{Type:"language",Subtag:"suo",Description:["Bouni"],Added:"2021-02-20"},{Type:"language",Subtag:"suq",Description:["Tirmaga-Chai Suri","Suri"],Added:"2009-07-29"},{Type:"language",Subtag:"sur",Description:["Mwaghavul"],Added:"2009-07-29"},{Type:"language",Subtag:"sus",Description:["Susu"],Added:"2005-10-16"},{Type:"language",Subtag:"sut",Description:["Subtiaba"],Added:"2009-07-29"},{Type:"language",Subtag:"suv",Description:["Puroik"],Added:"2009-07-29"},{Type:"language",Subtag:"suw",Description:["Sumbwa"],Added:"2009-07-29"},{Type:"language",Subtag:"sux",Description:["Sumerian"],Added:"2005-10-16"},{Type:"language",Subtag:"suy",Description:["Suyá"],Added:"2009-07-29"},{Type:"language",Subtag:"suz",Description:["Sunwar"],Added:"2009-07-29"},{Type:"language",Subtag:"sva",Description:["Svan"],Added:"2009-07-29"},{Type:"language",Subtag:"svb",Description:["Ulau-Suain"],Added:"2009-07-29"},{Type:"language",Subtag:"svc",Description:["Vincentian Creole English"],Added:"2009-07-29"},{Type:"language",Subtag:"sve",Description:["Serili"],Added:"2009-07-29"},{Type:"language",Subtag:"svk",Description:["Slovakian Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"svm",Description:["Slavomolisano"],Added:"2013-09-10"},{Type:"language",Subtag:"svr",Description:["Savara"],Added:"2009-07-29",Deprecated:"2016-05-30"},{Type:"language",Subtag:"svs",Description:["Savosavo"],Added:"2009-07-29"},{Type:"language",Subtag:"svx",Description:["Skalvian"],Added:"2009-07-29"},{Type:"language",Subtag:"swb",Description:["Maore Comorian"],Added:"2009-07-29"},{Type:"language",Subtag:"swc",Description:["Congo Swahili"],Added:"2009-07-29",Macrolanguage:"sw"},{Type:"language",Subtag:"swf",Description:["Sere"],Added:"2009-07-29"},{Type:"language",Subtag:"swg",Description:["Swabian"],Added:"2009-07-29"},{Type:"language",Subtag:"swh",Description:["Swahili (individual language)","Kiswahili"],Added:"2009-07-29",Macrolanguage:"sw"},{Type:"language",Subtag:"swi",Description:["Sui"],Added:"2009-07-29"},{Type:"language",Subtag:"swj",Description:["Sira"],Added:"2009-07-29"},{Type:"language",Subtag:"swk",Description:["Malawi Sena"],Added:"2009-07-29"},{Type:"language",Subtag:"swl",Description:["Swedish Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"swm",Description:["Samosa"],Added:"2009-07-29"},{Type:"language",Subtag:"swn",Description:["Sawknah"],Added:"2009-07-29"},{Type:"language",Subtag:"swo",Description:["Shanenawa"],Added:"2009-07-29"},{Type:"language",Subtag:"swp",Description:["Suau"],Added:"2009-07-29"},{Type:"language",Subtag:"swq",Description:["Sharwa"],Added:"2009-07-29"},{Type:"language",Subtag:"swr",Description:["Saweru"],Added:"2009-07-29"},{Type:"language",Subtag:"sws",Description:["Seluwasan"],Added:"2009-07-29"},{Type:"language",Subtag:"swt",Description:["Sawila"],Added:"2009-07-29"},{Type:"language",Subtag:"swu",Description:["Suwawa"],Added:"2009-07-29"},{Type:"language",Subtag:"swv",Description:["Shekhawati"],Added:"2009-07-29",Macrolanguage:"mwr"},{Type:"language",Subtag:"sww",Description:["Sowa"],Added:"2009-07-29"},{Type:"language",Subtag:"swx",Description:["Suruahá"],Added:"2009-07-29"},{Type:"language",Subtag:"swy",Description:["Sarua"],Added:"2009-07-29"},{Type:"language",Subtag:"sxb",Description:["Suba"],Added:"2009-07-29"},{Type:"language",Subtag:"sxc",Description:["Sicanian"],Added:"2009-07-29"},{Type:"language",Subtag:"sxe",Description:["Sighu"],Added:"2009-07-29"},{Type:"language",Subtag:"sxg",Description:["Shuhi","Shixing"],Added:"2009-07-29"},{Type:"language",Subtag:"sxk",Description:["Southern Kalapuya"],Added:"2009-07-29"},{Type:"language",Subtag:"sxl",Description:["Selian"],Added:"2009-07-29"},{Type:"language",Subtag:"sxm",Description:["Samre"],Added:"2009-07-29"},{Type:"language",Subtag:"sxn",Description:["Sangir"],Added:"2009-07-29"},{Type:"language",Subtag:"sxo",Description:["Sorothaptic"],Added:"2009-07-29"},{Type:"language",Subtag:"sxr",Description:["Saaroa"],Added:"2009-07-29"},{Type:"language",Subtag:"sxs",Description:["Sasaru"],Added:"2009-07-29"},{Type:"language",Subtag:"sxu",Description:["Upper Saxon"],Added:"2009-07-29"},{Type:"language",Subtag:"sxw",Description:["Saxwe Gbe"],Added:"2009-07-29"},{Type:"language",Subtag:"sya",Description:["Siang"],Added:"2009-07-29"},{Type:"language",Subtag:"syb",Description:["Central Subanen"],Added:"2009-07-29"},{Type:"language",Subtag:"syc",Description:["Classical Syriac"],Added:"2007-04-03"},{Type:"language",Subtag:"syd",Description:["Samoyedic languages"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"syi",Description:["Seki"],Added:"2009-07-29"},{Type:"language",Subtag:"syk",Description:["Sukur"],Added:"2009-07-29"},{Type:"language",Subtag:"syl",Description:["Sylheti"],Added:"2009-07-29"},{Type:"language",Subtag:"sym",Description:["Maya Samo"],Added:"2009-07-29"},{Type:"language",Subtag:"syn",Description:["Senaya"],Added:"2009-07-29"},{Type:"language",Subtag:"syo",Description:["Suoy"],Added:"2009-07-29"},{Type:"language",Subtag:"syr",Description:["Syriac"],Added:"2005-10-16",Scope:"macrolanguage"},{Type:"language",Subtag:"sys",Description:["Sinyar"],Added:"2009-07-29"},{Type:"language",Subtag:"syw",Description:["Kagate"],Added:"2009-07-29"},{Type:"language",Subtag:"syx",Description:["Samay"],Added:"2015-02-12"},{Type:"language",Subtag:"syy",Description:["Al-Sayyid Bedouin Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"sza",Description:["Semelai"],Added:"2009-07-29"},{Type:"language",Subtag:"szb",Description:["Ngalum"],Added:"2009-07-29"},{Type:"language",Subtag:"szc",Description:["Semaq Beri"],Added:"2009-07-29"},{Type:"language",Subtag:"szd",Description:["Seru"],Added:"2009-07-29"},{Type:"language",Subtag:"sze",Description:["Seze"],Added:"2009-07-29"},{Type:"language",Subtag:"szg",Description:["Sengele"],Added:"2009-07-29"},{Type:"language",Subtag:"szl",Description:["Silesian"],Added:"2009-07-29"},{Type:"language",Subtag:"szn",Description:["Sula"],Added:"2009-07-29"},{Type:"language",Subtag:"szp",Description:["Suabo"],Added:"2009-07-29"},{Type:"language",Subtag:"szs",Description:["Solomon Islands Sign Language"],Added:"2017-02-23"},{Type:"language",Subtag:"szv",Description:["Isu (Fako Division)"],Added:"2009-07-29"},{Type:"language",Subtag:"szw",Description:["Sawai"],Added:"2009-07-29"},{Type:"language",Subtag:"szy",Description:["Sakizaya"],Added:"2019-04-16"},{Type:"language",Subtag:"taa",Description:["Lower Tanana"],Added:"2009-07-29"},{Type:"language",Subtag:"tab",Description:["Tabassaran"],Added:"2009-07-29"},{Type:"language",Subtag:"tac",Description:["Lowland Tarahumara"],Added:"2009-07-29"},{Type:"language",Subtag:"tad",Description:["Tause"],Added:"2009-07-29"},{Type:"language",Subtag:"tae",Description:["Tariana"],Added:"2009-07-29"},{Type:"language",Subtag:"taf",Description:["Tapirapé"],Added:"2009-07-29"},{Type:"language",Subtag:"tag",Description:["Tagoi"],Added:"2009-07-29"},{Type:"language",Subtag:"tai",Description:["Tai languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"taj",Description:["Eastern Tamang"],Added:"2009-07-29"},{Type:"language",Subtag:"tak",Description:["Tala"],Added:"2009-07-29"},{Type:"language",Subtag:"tal",Description:["Tal"],Added:"2009-07-29"},{Type:"language",Subtag:"tan",Description:["Tangale"],Added:"2009-07-29"},{Type:"language",Subtag:"tao",Description:["Yami"],Added:"2009-07-29"},{Type:"language",Subtag:"tap",Description:["Taabwa"],Added:"2009-07-29"},{Type:"language",Subtag:"taq",Description:["Tamasheq"],Added:"2009-07-29",Macrolanguage:"tmh"},{Type:"language",Subtag:"tar",Description:["Central Tarahumara"],Added:"2009-07-29"},{Type:"language",Subtag:"tas",Description:["Tay Boi"],Added:"2009-07-29"},{Type:"language",Subtag:"tau",Description:["Upper Tanana"],Added:"2009-07-29"},{Type:"language",Subtag:"tav",Description:["Tatuyo"],Added:"2009-07-29"},{Type:"language",Subtag:"taw",Description:["Tai"],Added:"2009-07-29"},{Type:"language",Subtag:"tax",Description:["Tamki"],Added:"2009-07-29"},{Type:"language",Subtag:"tay",Description:["Atayal"],Added:"2009-07-29"},{Type:"language",Subtag:"taz",Description:["Tocho"],Added:"2009-07-29"},{Type:"language",Subtag:"tba",Description:["Aikanã"],Added:"2009-07-29"},{Type:"language",Subtag:"tbb",Description:["Tapeba"],Added:"2009-07-29",Deprecated:"2020-03-28"},{Type:"language",Subtag:"tbc",Description:["Takia"],Added:"2009-07-29"},{Type:"language",Subtag:"tbd",Description:["Kaki Ae"],Added:"2009-07-29"},{Type:"language",Subtag:"tbe",Description:["Tanimbili"],Added:"2009-07-29"},{Type:"language",Subtag:"tbf",Description:["Mandara"],Added:"2009-07-29"},{Type:"language",Subtag:"tbg",Description:["North Tairora"],Added:"2009-07-29"},{Type:"language",Subtag:"tbh",Description:["Dharawal","Thurawal"],Added:"2009-07-29"},{Type:"language",Subtag:"tbi",Description:["Gaam"],Added:"2009-07-29"},{Type:"language",Subtag:"tbj",Description:["Tiang"],Added:"2009-07-29"},{Type:"language",Subtag:"tbk",Description:["Calamian Tagbanwa"],Added:"2009-07-29"},{Type:"language",Subtag:"tbl",Description:["Tboli"],Added:"2009-07-29"},{Type:"language",Subtag:"tbm",Description:["Tagbu"],Added:"2009-07-29"},{Type:"language",Subtag:"tbn",Description:["Barro Negro Tunebo"],Added:"2009-07-29"},{Type:"language",Subtag:"tbo",Description:["Tawala"],Added:"2009-07-29"},{Type:"language",Subtag:"tbp",Description:["Taworta","Diebroud"],Added:"2009-07-29"},{Type:"language",Subtag:"tbq",Description:["Tibeto-Burman languages"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"tbr",Description:["Tumtum"],Added:"2009-07-29"},{Type:"language",Subtag:"tbs",Description:["Tanguat"],Added:"2009-07-29"},{Type:"language",Subtag:"tbt",Description:["Tembo (Kitembo)"],Added:"2009-07-29"},{Type:"language",Subtag:"tbu",Description:["Tubar"],Added:"2009-07-29"},{Type:"language",Subtag:"tbv",Description:["Tobo"],Added:"2009-07-29"},{Type:"language",Subtag:"tbw",Description:["Tagbanwa"],Added:"2009-07-29"},{Type:"language",Subtag:"tbx",Description:["Kapin"],Added:"2009-07-29"},{Type:"language",Subtag:"tby",Description:["Tabaru"],Added:"2009-07-29"},{Type:"language",Subtag:"tbz",Description:["Ditammari"],Added:"2009-07-29"},{Type:"language",Subtag:"tca",Description:["Ticuna"],Added:"2009-07-29"},{Type:"language",Subtag:"tcb",Description:["Tanacross"],Added:"2009-07-29"},{Type:"language",Subtag:"tcc",Description:["Datooga"],Added:"2009-07-29"},{Type:"language",Subtag:"tcd",Description:["Tafi"],Added:"2009-07-29"},{Type:"language",Subtag:"tce",Description:["Southern Tutchone"],Added:"2009-07-29"},{Type:"language",Subtag:"tcf",Description:["Malinaltepec Me'phaa","Malinaltepec Tlapanec"],Added:"2009-07-29"},{Type:"language",Subtag:"tcg",Description:["Tamagario"],Added:"2009-07-29"},{Type:"language",Subtag:"tch",Description:["Turks And Caicos Creole English"],Added:"2009-07-29"},{Type:"language",Subtag:"tci",Description:["Wára"],Added:"2009-07-29"},{Type:"language",Subtag:"tck",Description:["Tchitchege"],Added:"2009-07-29"},{Type:"language",Subtag:"tcl",Description:["Taman (Myanmar)"],Added:"2009-07-29"},{Type:"language",Subtag:"tcm",Description:["Tanahmerah"],Added:"2009-07-29"},{Type:"language",Subtag:"tcn",Description:["Tichurong"],Added:"2009-07-29"},{Type:"language",Subtag:"tco",Description:["Taungyo"],Added:"2009-07-29"},{Type:"language",Subtag:"tcp",Description:["Tawr Chin"],Added:"2009-07-29"},{Type:"language",Subtag:"tcq",Description:["Kaiy"],Added:"2009-07-29"},{Type:"language",Subtag:"tcs",Description:["Torres Strait Creole","Yumplatok"],Added:"2009-07-29"},{Type:"language",Subtag:"tct",Description:["T'en"],Added:"2009-07-29"},{Type:"language",Subtag:"tcu",Description:["Southeastern Tarahumara"],Added:"2009-07-29"},{Type:"language",Subtag:"tcw",Description:["Tecpatlán Totonac"],Added:"2009-07-29"},{Type:"language",Subtag:"tcx",Description:["Toda"],Added:"2009-07-29"},{Type:"language",Subtag:"tcy",Description:["Tulu"],Added:"2009-07-29"},{Type:"language",Subtag:"tcz",Description:["Thado Chin"],Added:"2009-07-29"},{Type:"language",Subtag:"tda",Description:["Tagdal"],Added:"2009-07-29"},{Type:"language",Subtag:"tdb",Description:["Panchpargania"],Added:"2009-07-29"},{Type:"language",Subtag:"tdc",Description:["Emberá-Tadó"],Added:"2009-07-29"},{Type:"language",Subtag:"tdd",Description:["Tai Nüa"],Added:"2009-07-29"},{Type:"language",Subtag:"tde",Description:["Tiranige Diga Dogon"],Added:"2010-03-11"},{Type:"language",Subtag:"tdf",Description:["Talieng"],Added:"2009-07-29"},{Type:"language",Subtag:"tdg",Description:["Western Tamang"],Added:"2009-07-29"},{Type:"language",Subtag:"tdh",Description:["Thulung"],Added:"2009-07-29"},{Type:"language",Subtag:"tdi",Description:["Tomadino"],Added:"2009-07-29"},{Type:"language",Subtag:"tdj",Description:["Tajio"],Added:"2009-07-29"},{Type:"language",Subtag:"tdk",Description:["Tambas"],Added:"2009-07-29"},{Type:"language",Subtag:"tdl",Description:["Sur"],Added:"2009-07-29"},{Type:"language",Subtag:"tdm",Description:["Taruma"],Added:"2016-05-30"},{Type:"language",Subtag:"tdn",Description:["Tondano"],Added:"2009-07-29"},{Type:"language",Subtag:"tdo",Description:["Teme"],Added:"2009-07-29"},{Type:"language",Subtag:"tdq",Description:["Tita"],Added:"2009-07-29"},{Type:"language",Subtag:"tdr",Description:["Todrah"],Added:"2009-07-29"},{Type:"language",Subtag:"tds",Description:["Doutai"],Added:"2009-07-29"},{Type:"language",Subtag:"tdt",Description:["Tetun Dili"],Added:"2009-07-29"},{Type:"language",Subtag:"tdu",Description:["Tempasuk Dusun"],Added:"2009-07-29",Deprecated:"2016-05-30","Preferred-Value":"dtp"},{Type:"language",Subtag:"tdv",Description:["Toro"],Added:"2009-07-29"},{Type:"language",Subtag:"tdx",Description:["Tandroy-Mahafaly Malagasy"],Added:"2009-07-29",Macrolanguage:"mg"},{Type:"language",Subtag:"tdy",Description:["Tadyawan"],Added:"2009-07-29"},{Type:"language",Subtag:"tea",Description:["Temiar"],Added:"2009-07-29"},{Type:"language",Subtag:"teb",Description:["Tetete"],Added:"2009-07-29"},{Type:"language",Subtag:"tec",Description:["Terik"],Added:"2009-07-29",Macrolanguage:"kln"},{Type:"language",Subtag:"ted",Description:["Tepo Krumen"],Added:"2009-07-29"},{Type:"language",Subtag:"tee",Description:["Huehuetla Tepehua"],Added:"2009-07-29"},{Type:"language",Subtag:"tef",Description:["Teressa"],Added:"2009-07-29"},{Type:"language",Subtag:"teg",Description:["Teke-Tege"],Added:"2009-07-29"},{Type:"language",Subtag:"teh",Description:["Tehuelche"],Added:"2009-07-29"},{Type:"language",Subtag:"tei",Description:["Torricelli"],Added:"2009-07-29"},{Type:"language",Subtag:"tek",Description:["Ibali Teke"],Added:"2009-07-29"},{Type:"language",Subtag:"tem",Description:["Timne"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"ten",Description:["Tama (Colombia)"],Added:"2009-07-29"},{Type:"language",Subtag:"teo",Description:["Teso"],Added:"2009-07-29"},{Type:"language",Subtag:"tep",Description:["Tepecano"],Added:"2009-07-29"},{Type:"language",Subtag:"teq",Description:["Temein"],Added:"2009-07-29"},{Type:"language",Subtag:"ter",Description:["Tereno"],Added:"2005-10-16"},{Type:"language",Subtag:"tes",Description:["Tengger"],Added:"2009-07-29"},{Type:"language",Subtag:"tet",Description:["Tetum"],Added:"2005-10-16"},{Type:"language",Subtag:"teu",Description:["Soo"],Added:"2009-07-29"},{Type:"language",Subtag:"tev",Description:["Teor"],Added:"2009-07-29"},{Type:"language",Subtag:"tew",Description:["Tewa (USA)"],Added:"2009-07-29"},{Type:"language",Subtag:"tex",Description:["Tennet"],Added:"2009-07-29"},{Type:"language",Subtag:"tey",Description:["Tulishi"],Added:"2009-07-29"},{Type:"language",Subtag:"tez",Description:["Tetserret"],Added:"2018-03-08"},{Type:"language",Subtag:"tfi",Description:["Tofin Gbe"],Added:"2009-07-29"},{Type:"language",Subtag:"tfn",Description:["Tanaina"],Added:"2009-07-29"},{Type:"language",Subtag:"tfo",Description:["Tefaro"],Added:"2009-07-29"},{Type:"language",Subtag:"tfr",Description:["Teribe"],Added:"2009-07-29"},{Type:"language",Subtag:"tft",Description:["Ternate"],Added:"2009-07-29"},{Type:"language",Subtag:"tga",Description:["Sagalla"],Added:"2009-07-29"},{Type:"language",Subtag:"tgb",Description:["Tobilung"],Added:"2009-07-29"},{Type:"language",Subtag:"tgc",Description:["Tigak"],Added:"2009-07-29"},{Type:"language",Subtag:"tgd",Description:["Ciwogai"],Added:"2009-07-29"},{Type:"language",Subtag:"tge",Description:["Eastern Gorkha Tamang"],Added:"2009-07-29"},{Type:"language",Subtag:"tgf",Description:["Chalikha"],Added:"2009-07-29"},{Type:"language",Subtag:"tgg",Description:["Tangga"],Added:"2009-07-29",Deprecated:"2013-09-10",Comments:["see bjp, hrc, hrw"]},{Type:"language",Subtag:"tgh",Description:["Tobagonian Creole English"],Added:"2009-07-29"},{Type:"language",Subtag:"tgi",Description:["Lawunuia"],Added:"2009-07-29"},{Type:"language",Subtag:"tgj",Description:["Tagin"],Added:"2012-08-12"},{Type:"language",Subtag:"tgn",Description:["Tandaganon"],Added:"2010-03-11"},{Type:"language",Subtag:"tgo",Description:["Sudest"],Added:"2009-07-29"},{Type:"language",Subtag:"tgp",Description:["Tangoa"],Added:"2009-07-29"},{Type:"language",Subtag:"tgq",Description:["Tring"],Added:"2009-07-29"},{Type:"language",Subtag:"tgr",Description:["Tareng"],Added:"2009-07-29"},{Type:"language",Subtag:"tgs",Description:["Nume"],Added:"2009-07-29"},{Type:"language",Subtag:"tgt",Description:["Central Tagbanwa"],Added:"2009-07-29"},{Type:"language",Subtag:"tgu",Description:["Tanggu"],Added:"2009-07-29"},{Type:"language",Subtag:"tgv",Description:["Tingui-Boto"],Added:"2009-07-29"},{Type:"language",Subtag:"tgw",Description:["Tagwana Senoufo"],Added:"2009-07-29"},{Type:"language",Subtag:"tgx",Description:["Tagish"],Added:"2009-07-29"},{Type:"language",Subtag:"tgy",Description:["Togoyo"],Added:"2009-07-29"},{Type:"language",Subtag:"tgz",Description:["Tagalaka"],Added:"2012-08-12"},{Type:"language",Subtag:"thc",Description:["Tai Hang Tong"],Added:"2009-07-29",Deprecated:"2016-05-30","Preferred-Value":"tpo"},{Type:"language",Subtag:"thd",Description:["Kuuk Thaayorre","Thayore"],Added:"2009-07-29"},{Type:"language",Subtag:"the",Description:["Chitwania Tharu"],Added:"2009-07-29"},{Type:"language",Subtag:"thf",Description:["Thangmi"],Added:"2009-07-29"},{Type:"language",Subtag:"thh",Description:["Northern Tarahumara"],Added:"2009-07-29"},{Type:"language",Subtag:"thi",Description:["Tai Long"],Added:"2009-07-29"},{Type:"language",Subtag:"thk",Description:["Tharaka","Kitharaka"],Added:"2009-07-29"},{Type:"language",Subtag:"thl",Description:["Dangaura Tharu"],Added:"2009-07-29"},{Type:"language",Subtag:"thm",Description:["Aheu"],Added:"2009-07-29"},{Type:"language",Subtag:"thn",Description:["Thachanadan"],Added:"2009-07-29"},{Type:"language",Subtag:"thp",Description:["Thompson"],Added:"2009-07-29"},{Type:"language",Subtag:"thq",Description:["Kochila Tharu"],Added:"2009-07-29"},{Type:"language",Subtag:"thr",Description:["Rana Tharu"],Added:"2009-07-29"},{Type:"language",Subtag:"ths",Description:["Thakali"],Added:"2009-07-29"},{Type:"language",Subtag:"tht",Description:["Tahltan"],Added:"2009-07-29"},{Type:"language",Subtag:"thu",Description:["Thuri"],Added:"2009-07-29"},{Type:"language",Subtag:"thv",Description:["Tahaggart Tamahaq"],Added:"2009-07-29",Macrolanguage:"tmh"},{Type:"language",Subtag:"thw",Description:["Thudam"],Added:"2009-07-29",Deprecated:"2020-06-08","Preferred-Value":"ola"},{Type:"language",Subtag:"thx",Description:["The"],Added:"2009-07-29",Deprecated:"2015-02-12","Preferred-Value":"oyb"},{Type:"language",Subtag:"thy",Description:["Tha"],Added:"2009-07-29"},{Type:"language",Subtag:"thz",Description:["Tayart Tamajeq"],Added:"2009-07-29",Macrolanguage:"tmh"},{Type:"language",Subtag:"tia",Description:["Tidikelt Tamazight"],Added:"2009-07-29"},{Type:"language",Subtag:"tic",Description:["Tira"],Added:"2009-07-29"},{Type:"language",Subtag:"tid",Description:["Tidong"],Added:"2009-07-29",Deprecated:"2016-05-30",Comments:["see itd, ntd"]},{Type:"language",Subtag:"tie",Description:["Tingal"],Added:"2009-07-29",Deprecated:"2011-08-16","Preferred-Value":"ras"},{Type:"language",Subtag:"tif",Description:["Tifal"],Added:"2009-07-29"},{Type:"language",Subtag:"tig",Description:["Tigre"],Added:"2005-10-16"},{Type:"language",Subtag:"tih",Description:["Timugon Murut"],Added:"2009-07-29"},{Type:"language",Subtag:"tii",Description:["Tiene"],Added:"2009-07-29"},{Type:"language",Subtag:"tij",Description:["Tilung"],Added:"2009-07-29"},{Type:"language",Subtag:"tik",Description:["Tikar"],Added:"2009-07-29"},{Type:"language",Subtag:"til",Description:["Tillamook"],Added:"2009-07-29"},{Type:"language",Subtag:"tim",Description:["Timbe"],Added:"2009-07-29"},{Type:"language",Subtag:"tin",Description:["Tindi"],Added:"2009-07-29"},{Type:"language",Subtag:"tio",Description:["Teop"],Added:"2009-07-29"},{Type:"language",Subtag:"tip",Description:["Trimuris"],Added:"2009-07-29"},{Type:"language",Subtag:"tiq",Description:["Tiéfo"],Added:"2009-07-29"},{Type:"language",Subtag:"tis",Description:["Masadiit Itneg"],Added:"2009-07-29"},{Type:"language",Subtag:"tit",Description:["Tinigua"],Added:"2009-07-29"},{Type:"language",Subtag:"tiu",Description:["Adasen"],Added:"2009-07-29"},{Type:"language",Subtag:"tiv",Description:["Tiv"],Added:"2005-10-16"},{Type:"language",Subtag:"tiw",Description:["Tiwi"],Added:"2009-07-29"},{Type:"language",Subtag:"tix",Description:["Southern Tiwa"],Added:"2009-07-29"},{Type:"language",Subtag:"tiy",Description:["Tiruray"],Added:"2009-07-29"},{Type:"language",Subtag:"tiz",Description:["Tai Hongjin"],Added:"2009-07-29"},{Type:"language",Subtag:"tja",Description:["Tajuasohn"],Added:"2009-07-29"},{Type:"language",Subtag:"tjg",Description:["Tunjung"],Added:"2009-07-29"},{Type:"language",Subtag:"tji",Description:["Northern Tujia"],Added:"2009-07-29"},{Type:"language",Subtag:"tjj",Description:["Tjungundji"],Added:"2019-04-16"},{Type:"language",Subtag:"tjl",Description:["Tai Laing"],Added:"2012-08-12"},{Type:"language",Subtag:"tjm",Description:["Timucua"],Added:"2009-07-29"},{Type:"language",Subtag:"tjn",Description:["Tonjon"],Added:"2009-07-29"},{Type:"language",Subtag:"tjo",Description:["Temacine Tamazight"],Added:"2009-07-29"},{Type:"language",Subtag:"tjp",Description:["Tjupany"],Added:"2019-04-16"},{Type:"language",Subtag:"tjs",Description:["Southern Tujia"],Added:"2009-07-29"},{Type:"language",Subtag:"tju",Description:["Tjurruru"],Added:"2009-07-29"},{Type:"language",Subtag:"tjw",Description:["Djabwurrung"],Added:"2013-09-10"},{Type:"language",Subtag:"tka",Description:["Truká"],Added:"2009-07-29"},{Type:"language",Subtag:"tkb",Description:["Buksa"],Added:"2009-07-29"},{Type:"language",Subtag:"tkd",Description:["Tukudede"],Added:"2009-07-29"},{Type:"language",Subtag:"tke",Description:["Takwane"],Added:"2009-07-29"},{Type:"language",Subtag:"tkf",Description:["Tukumanféd"],Added:"2009-07-29"},{Type:"language",Subtag:"tkg",Description:["Tesaka Malagasy"],Added:"2011-08-16",Macrolanguage:"mg"},{Type:"language",Subtag:"tkk",Description:["Takpa"],Added:"2009-07-29",Deprecated:"2011-08-16","Preferred-Value":"twm"},{Type:"language",Subtag:"tkl",Description:["Tokelau"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"tkm",Description:["Takelma"],Added:"2009-07-29"},{Type:"language",Subtag:"tkn",Description:["Toku-No-Shima"],Added:"2009-07-29"},{Type:"language",Subtag:"tkp",Description:["Tikopia"],Added:"2009-07-29"},{Type:"language",Subtag:"tkq",Description:["Tee"],Added:"2009-07-29"},{Type:"language",Subtag:"tkr",Description:["Tsakhur"],Added:"2009-07-29"},{Type:"language",Subtag:"tks",Description:["Takestani"],Added:"2009-07-29"},{Type:"language",Subtag:"tkt",Description:["Kathoriya Tharu"],Added:"2009-07-29"},{Type:"language",Subtag:"tku",Description:["Upper Necaxa Totonac"],Added:"2009-07-29"},{Type:"language",Subtag:"tkv",Description:["Mur Pano"],Added:"2014-02-28"},{Type:"language",Subtag:"tkw",Description:["Teanu"],Added:"2009-07-29"},{Type:"language",Subtag:"tkx",Description:["Tangko"],Added:"2009-07-29"},{Type:"language",Subtag:"tkz",Description:["Takua"],Added:"2009-07-29"},{Type:"language",Subtag:"tla",Description:["Southwestern Tepehuan"],Added:"2009-07-29"},{Type:"language",Subtag:"tlb",Description:["Tobelo"],Added:"2009-07-29"},{Type:"language",Subtag:"tlc",Description:["Yecuatla Totonac"],Added:"2009-07-29"},{Type:"language",Subtag:"tld",Description:["Talaud"],Added:"2009-07-29"},{Type:"language",Subtag:"tlf",Description:["Telefol"],Added:"2009-07-29"},{Type:"language",Subtag:"tlg",Description:["Tofanma"],Added:"2009-07-29"},{Type:"language",Subtag:"tlh",Description:["Klingon","tlhIngan Hol"],Added:"2005-10-16"},{Type:"language",Subtag:"tli",Description:["Tlingit"],Added:"2005-10-16"},{Type:"language",Subtag:"tlj",Description:["Talinga-Bwisi"],Added:"2009-07-29"},{Type:"language",Subtag:"tlk",Description:["Taloki"],Added:"2009-07-29"},{Type:"language",Subtag:"tll",Description:["Tetela"],Added:"2009-07-29"},{Type:"language",Subtag:"tlm",Description:["Tolomako"],Added:"2009-07-29"},{Type:"language",Subtag:"tln",Description:["Talondo'"],Added:"2009-07-29"},{Type:"language",Subtag:"tlo",Description:["Talodi"],Added:"2009-07-29"},{Type:"language",Subtag:"tlp",Description:["Filomena Mata-Coahuitlán Totonac"],Added:"2009-07-29"},{Type:"language",Subtag:"tlq",Description:["Tai Loi"],Added:"2009-07-29"},{Type:"language",Subtag:"tlr",Description:["Talise"],Added:"2009-07-29"},{Type:"language",Subtag:"tls",Description:["Tambotalo"],Added:"2009-07-29"},{Type:"language",Subtag:"tlt",Description:["Sou Nama","Teluti"],Added:"2009-07-29"},{Type:"language",Subtag:"tlu",Description:["Tulehu"],Added:"2009-07-29"},{Type:"language",Subtag:"tlv",Description:["Taliabu"],Added:"2009-07-29"},{Type:"language",Subtag:"tlw",Description:["South Wemale"],Added:"2009-07-29",Deprecated:"2012-08-12","Preferred-Value":"weo"},{Type:"language",Subtag:"tlx",Description:["Khehek"],Added:"2009-07-29"},{Type:"language",Subtag:"tly",Description:["Talysh"],Added:"2009-07-29"},{Type:"language",Subtag:"tma",Description:["Tama (Chad)"],Added:"2009-07-29"},{Type:"language",Subtag:"tmb",Description:["Katbol","Avava"],Added:"2009-07-29"},{Type:"language",Subtag:"tmc",Description:["Tumak"],Added:"2009-07-29"},{Type:"language",Subtag:"tmd",Description:["Haruai"],Added:"2009-07-29"},{Type:"language",Subtag:"tme",Description:["Tremembé"],Added:"2009-07-29"},{Type:"language",Subtag:"tmf",Description:["Toba-Maskoy"],Added:"2009-07-29"},{Type:"language",Subtag:"tmg",Description:["Ternateño"],Added:"2009-07-29"},{Type:"language",Subtag:"tmh",Description:["Tamashek"],Added:"2005-10-16","Suppress-Script":"Latn",Scope:"macrolanguage"},{Type:"language",Subtag:"tmi",Description:["Tutuba"],Added:"2009-07-29"},{Type:"language",Subtag:"tmj",Description:["Samarokena"],Added:"2009-07-29"},{Type:"language",Subtag:"tmk",Description:["Northwestern Tamang"],Added:"2009-07-29"},{Type:"language",Subtag:"tml",Description:["Tamnim Citak"],Added:"2009-07-29"},{Type:"language",Subtag:"tmm",Description:["Tai Thanh"],Added:"2009-07-29"},{Type:"language",Subtag:"tmn",Description:["Taman (Indonesia)"],Added:"2009-07-29"},{Type:"language",Subtag:"tmo",Description:["Temoq"],Added:"2009-07-29"},{Type:"language",Subtag:"tmp",Description:["Tai Mène"],Added:"2009-07-29",Deprecated:"2016-05-30","Preferred-Value":"tyj"},{Type:"language",Subtag:"tmq",Description:["Tumleo"],Added:"2009-07-29"},{Type:"language",Subtag:"tmr",Description:["Jewish Babylonian Aramaic (ca. 200-1200 CE)"],Added:"2009-07-29"},{Type:"language",Subtag:"tms",Description:["Tima"],Added:"2009-07-29"},{Type:"language",Subtag:"tmt",Description:["Tasmate"],Added:"2009-07-29"},{Type:"language",Subtag:"tmu",Description:["Iau"],Added:"2009-07-29"},{Type:"language",Subtag:"tmv",Description:["Tembo (Motembo)"],Added:"2009-07-29"},{Type:"language",Subtag:"tmw",Description:["Temuan"],Added:"2009-07-29",Macrolanguage:"ms"},{Type:"language",Subtag:"tmy",Description:["Tami"],Added:"2009-07-29"},{Type:"language",Subtag:"tmz",Description:["Tamanaku"],Added:"2009-07-29"},{Type:"language",Subtag:"tna",Description:["Tacana"],Added:"2009-07-29"},{Type:"language",Subtag:"tnb",Description:["Western Tunebo"],Added:"2009-07-29"},{Type:"language",Subtag:"tnc",Description:["Tanimuca-Retuarã"],Added:"2009-07-29"},{Type:"language",Subtag:"tnd",Description:["Angosturas Tunebo"],Added:"2009-07-29"},{Type:"language",Subtag:"tne",Description:["Tinoc Kallahan"],Added:"2009-07-29",Deprecated:"2016-05-30","Preferred-Value":"kak"},{Type:"language",Subtag:"tnf",Description:["Tangshewi"],Added:"2009-07-29",Deprecated:"2010-03-11","Preferred-Value":"prs"},{Type:"language",Subtag:"tng",Description:["Tobanga"],Added:"2009-07-29"},{Type:"language",Subtag:"tnh",Description:["Maiani"],Added:"2009-07-29"},{Type:"language",Subtag:"tni",Description:["Tandia"],Added:"2009-07-29"},{Type:"language",Subtag:"tnk",Description:["Kwamera"],Added:"2009-07-29"},{Type:"language",Subtag:"tnl",Description:["Lenakel"],Added:"2009-07-29"},{Type:"language",Subtag:"tnm",Description:["Tabla"],Added:"2009-07-29"},{Type:"language",Subtag:"tnn",Description:["North Tanna"],Added:"2009-07-29"},{Type:"language",Subtag:"tno",Description:["Toromono"],Added:"2009-07-29"},{Type:"language",Subtag:"tnp",Description:["Whitesands"],Added:"2009-07-29"},{Type:"language",Subtag:"tnq",Description:["Taino"],Added:"2009-07-29"},{Type:"language",Subtag:"tnr",Description:["Ménik"],Added:"2009-07-29"},{Type:"language",Subtag:"tns",Description:["Tenis"],Added:"2009-07-29"},{Type:"language",Subtag:"tnt",Description:["Tontemboan"],Added:"2009-07-29"},{Type:"language",Subtag:"tnu",Description:["Tay Khang"],Added:"2009-07-29"},{Type:"language",Subtag:"tnv",Description:["Tangchangya"],Added:"2009-07-29"},{Type:"language",Subtag:"tnw",Description:["Tonsawang"],Added:"2009-07-29"},{Type:"language",Subtag:"tnx",Description:["Tanema"],Added:"2009-07-29"},{Type:"language",Subtag:"tny",Description:["Tongwe"],Added:"2009-07-29"},{Type:"language",Subtag:"tnz",Description:["Ten'edn"],Added:"2009-07-29"},{Type:"language",Subtag:"tob",Description:["Toba"],Added:"2009-07-29"},{Type:"language",Subtag:"toc",Description:["Coyutla Totonac"],Added:"2009-07-29"},{Type:"language",Subtag:"tod",Description:["Toma"],Added:"2009-07-29"},{Type:"language",Subtag:"toe",Description:["Tomedes"],Added:"2009-07-29",Deprecated:"2016-05-30"},{Type:"language",Subtag:"tof",Description:["Gizrra"],Added:"2009-07-29"},{Type:"language",Subtag:"tog",Description:["Tonga (Nyasa)"],Added:"2005-10-16"},{Type:"language",Subtag:"toh",Description:["Gitonga"],Added:"2009-07-29"},{Type:"language",Subtag:"toi",Description:["Tonga (Zambia)"],Added:"2009-07-29"},{Type:"language",Subtag:"toj",Description:["Tojolabal"],Added:"2009-07-29"},{Type:"language",Subtag:"tok",Description:["Toki Pona"],Added:"2022-02-25"},{Type:"language",Subtag:"tol",Description:["Tolowa"],Added:"2009-07-29"},{Type:"language",Subtag:"tom",Description:["Tombulu"],Added:"2009-07-29"},{Type:"language",Subtag:"too",Description:["Xicotepec De Juárez Totonac"],Added:"2009-07-29"},{Type:"language",Subtag:"top",Description:["Papantla Totonac"],Added:"2009-07-29"},{Type:"language",Subtag:"toq",Description:["Toposa"],Added:"2009-07-29"},{Type:"language",Subtag:"tor",Description:["Togbo-Vara Banda"],Added:"2009-07-29"},{Type:"language",Subtag:"tos",Description:["Highland Totonac"],Added:"2009-07-29"},{Type:"language",Subtag:"tou",Description:["Tho"],Added:"2009-07-29"},{Type:"language",Subtag:"tov",Description:["Upper Taromi"],Added:"2009-07-29"},{Type:"language",Subtag:"tow",Description:["Jemez"],Added:"2009-07-29"},{Type:"language",Subtag:"tox",Description:["Tobian"],Added:"2009-07-29"},{Type:"language",Subtag:"toy",Description:["Topoiyo"],Added:"2009-07-29"},{Type:"language",Subtag:"toz",Description:["To"],Added:"2009-07-29"},{Type:"language",Subtag:"tpa",Description:["Taupota"],Added:"2009-07-29"},{Type:"language",Subtag:"tpc",Description:["Azoyú Me'phaa","Azoyú Tlapanec"],Added:"2009-07-29"},{Type:"language",Subtag:"tpe",Description:["Tippera"],Added:"2009-07-29"},{Type:"language",Subtag:"tpf",Description:["Tarpia"],Added:"2009-07-29"},{Type:"language",Subtag:"tpg",Description:["Kula"],Added:"2009-07-29"},{Type:"language",Subtag:"tpi",Description:["Tok Pisin"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"tpj",Description:["Tapieté"],Added:"2009-07-29"},{Type:"language",Subtag:"tpk",Description:["Tupinikin"],Added:"2009-07-29"},{Type:"language",Subtag:"tpl",Description:["Tlacoapa Me'phaa","Tlacoapa Tlapanec"],Added:"2009-07-29"},{Type:"language",Subtag:"tpm",Description:["Tampulma"],Added:"2009-07-29"},{Type:"language",Subtag:"tpn",Description:["Tupinambá"],Added:"2009-07-29"},{Type:"language",Subtag:"tpo",Description:["Tai Pao"],Added:"2009-07-29"},{Type:"language",Subtag:"tpp",Description:["Pisaflores Tepehua"],Added:"2009-07-29"},{Type:"language",Subtag:"tpq",Description:["Tukpa"],Added:"2009-07-29"},{Type:"language",Subtag:"tpr",Description:["Tuparí"],Added:"2009-07-29"},{Type:"language",Subtag:"tpt",Description:["Tlachichilco Tepehua"],Added:"2009-07-29"},{Type:"language",Subtag:"tpu",Description:["Tampuan"],Added:"2009-07-29"},{Type:"language",Subtag:"tpv",Description:["Tanapag"],Added:"2009-07-29"},{Type:"language",Subtag:"tpw",Description:["Tupí"],Added:"2009-07-29"},{Type:"language",Subtag:"tpx",Description:["Acatepec Me'phaa","Acatepec Tlapanec"],Added:"2009-07-29"},{Type:"language",Subtag:"tpy",Description:["Trumai"],Added:"2009-07-29"},{Type:"language",Subtag:"tpz",Description:["Tinputz"],Added:"2009-07-29"},{Type:"language",Subtag:"tqb",Description:["Tembé"],Added:"2009-07-29"},{Type:"language",Subtag:"tql",Description:["Lehali"],Added:"2009-07-29"},{Type:"language",Subtag:"tqm",Description:["Turumsa"],Added:"2009-07-29"},{Type:"language",Subtag:"tqn",Description:["Tenino"],Added:"2009-07-29"},{Type:"language",Subtag:"tqo",Description:["Toaripi"],Added:"2009-07-29"},{Type:"language",Subtag:"tqp",Description:["Tomoip"],Added:"2009-07-29"},{Type:"language",Subtag:"tqq",Description:["Tunni"],Added:"2009-07-29"},{Type:"language",Subtag:"tqr",Description:["Torona"],Added:"2009-07-29"},{Type:"language",Subtag:"tqt",Description:["Western Totonac"],Added:"2009-07-29"},{Type:"language",Subtag:"tqu",Description:["Touo"],Added:"2009-07-29"},{Type:"language",Subtag:"tqw",Description:["Tonkawa"],Added:"2009-07-29"},{Type:"language",Subtag:"tra",Description:["Tirahi"],Added:"2009-07-29"},{Type:"language",Subtag:"trb",Description:["Terebu"],Added:"2009-07-29"},{Type:"language",Subtag:"trc",Description:["Copala Triqui"],Added:"2009-07-29"},{Type:"language",Subtag:"trd",Description:["Turi"],Added:"2009-07-29"},{Type:"language",Subtag:"tre",Description:["East Tarangan"],Added:"2009-07-29"},{Type:"language",Subtag:"trf",Description:["Trinidadian Creole English"],Added:"2009-07-29"},{Type:"language",Subtag:"trg",Description:["Lishán Didán"],Added:"2009-07-29"},{Type:"language",Subtag:"trh",Description:["Turaka"],Added:"2009-07-29"},{Type:"language",Subtag:"tri",Description:["Trió"],Added:"2009-07-29"},{Type:"language",Subtag:"trj",Description:["Toram"],Added:"2009-07-29"},{Type:"language",Subtag:"trk",Description:["Turkic languages"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"trl",Description:["Traveller Scottish"],Added:"2009-07-29"},{Type:"language",Subtag:"trm",Description:["Tregami"],Added:"2009-07-29"},{Type:"language",Subtag:"trn",Description:["Trinitario"],Added:"2009-07-29"},{Type:"language",Subtag:"tro",Description:["Tarao Naga"],Added:"2009-07-29"},{Type:"language",Subtag:"trp",Description:["Kok Borok"],Added:"2009-07-29"},{Type:"language",Subtag:"trq",Description:["San Martín Itunyoso Triqui"],Added:"2009-07-29"},{Type:"language",Subtag:"trr",Description:["Taushiro"],Added:"2009-07-29"},{Type:"language",Subtag:"trs",Description:["Chicahuaxtla Triqui"],Added:"2009-07-29"},{Type:"language",Subtag:"trt",Description:["Tunggare"],Added:"2009-07-29"},{Type:"language",Subtag:"tru",Description:["Turoyo","Surayt"],Added:"2009-07-29"},{Type:"language",Subtag:"trv",Description:["Sediq","Seediq","Taroko"],Added:"2009-07-29"},{Type:"language",Subtag:"trw",Description:["Torwali"],Added:"2009-07-29"},{Type:"language",Subtag:"trx",Description:["Tringgus-Sembaan Bidayuh"],Added:"2009-07-29"},{Type:"language",Subtag:"try",Description:["Turung"],Added:"2009-07-29"},{Type:"language",Subtag:"trz",Description:["Torá"],Added:"2009-07-29"},{Type:"language",Subtag:"tsa",Description:["Tsaangi"],Added:"2009-07-29"},{Type:"language",Subtag:"tsb",Description:["Tsamai"],Added:"2009-07-29"},{Type:"language",Subtag:"tsc",Description:["Tswa"],Added:"2009-07-29"},{Type:"language",Subtag:"tsd",Description:["Tsakonian"],Added:"2009-07-29"},{Type:"language",Subtag:"tse",Description:["Tunisian Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"tsf",Description:["Southwestern Tamang"],Added:"2009-07-29",Deprecated:"2015-02-12","Preferred-Value":"taj"},{Type:"language",Subtag:"tsg",Description:["Tausug"],Added:"2009-07-29"},{Type:"language",Subtag:"tsh",Description:["Tsuvan"],Added:"2009-07-29"},{Type:"language",Subtag:"tsi",Description:["Tsimshian"],Added:"2005-10-16"},{Type:"language",Subtag:"tsj",Description:["Tshangla"],Added:"2009-07-29"},{Type:"language",Subtag:"tsk",Description:["Tseku"],Added:"2009-07-29"},{Type:"language",Subtag:"tsl",Description:["Ts'ün-Lao"],Added:"2009-07-29"},{Type:"language",Subtag:"tsm",Description:["Turkish Sign Language","Türk İşaret Dili"],Added:"2009-07-29"},{Type:"language",Subtag:"tsp",Description:["Northern Toussian"],Added:"2009-07-29"},{Type:"language",Subtag:"tsq",Description:["Thai Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"tsr",Description:["Akei"],Added:"2009-07-29"},{Type:"language",Subtag:"tss",Description:["Taiwan Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"tst",Description:["Tondi Songway Kiini"],Added:"2011-08-16"},{Type:"language",Subtag:"tsu",Description:["Tsou"],Added:"2009-07-29"},{Type:"language",Subtag:"tsv",Description:["Tsogo"],Added:"2009-07-29"},{Type:"language",Subtag:"tsw",Description:["Tsishingini"],Added:"2009-07-29"},{Type:"language",Subtag:"tsx",Description:["Mubami"],Added:"2009-07-29"},{Type:"language",Subtag:"tsy",Description:["Tebul Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"tsz",Description:["Purepecha"],Added:"2009-07-29"},{Type:"language",Subtag:"tta",Description:["Tutelo"],Added:"2009-07-29"},{Type:"language",Subtag:"ttb",Description:["Gaa"],Added:"2009-07-29"},{Type:"language",Subtag:"ttc",Description:["Tektiteko"],Added:"2009-07-29"},{Type:"language",Subtag:"ttd",Description:["Tauade"],Added:"2009-07-29"},{Type:"language",Subtag:"tte",Description:["Bwanabwana"],Added:"2009-07-29"},{Type:"language",Subtag:"ttf",Description:["Tuotomb"],Added:"2009-07-29"},{Type:"language",Subtag:"ttg",Description:["Tutong"],Added:"2009-07-29"},{Type:"language",Subtag:"tth",Description:["Upper Ta'oih"],Added:"2009-07-29"},{Type:"language",Subtag:"tti",Description:["Tobati"],Added:"2009-07-29"},{Type:"language",Subtag:"ttj",Description:["Tooro"],Added:"2009-07-29"},{Type:"language",Subtag:"ttk",Description:["Totoro"],Added:"2009-07-29"},{Type:"language",Subtag:"ttl",Description:["Totela"],Added:"2009-07-29"},{Type:"language",Subtag:"ttm",Description:["Northern Tutchone"],Added:"2009-07-29"},{Type:"language",Subtag:"ttn",Description:["Towei"],Added:"2009-07-29"},{Type:"language",Subtag:"tto",Description:["Lower Ta'oih"],Added:"2009-07-29"},{Type:"language",Subtag:"ttp",Description:["Tombelala"],Added:"2009-07-29"},{Type:"language",Subtag:"ttq",Description:["Tawallammat Tamajaq"],Added:"2009-07-29",Macrolanguage:"tmh"},{Type:"language",Subtag:"ttr",Description:["Tera"],Added:"2009-07-29"},{Type:"language",Subtag:"tts",Description:["Northeastern Thai"],Added:"2009-07-29"},{Type:"language",Subtag:"ttt",Description:["Muslim Tat"],Added:"2009-07-29"},{Type:"language",Subtag:"ttu",Description:["Torau"],Added:"2009-07-29"},{Type:"language",Subtag:"ttv",Description:["Titan"],Added:"2009-07-29"},{Type:"language",Subtag:"ttw",Description:["Long Wat"],Added:"2009-07-29"},{Type:"language",Subtag:"tty",Description:["Sikaritai"],Added:"2009-07-29"},{Type:"language",Subtag:"ttz",Description:["Tsum"],Added:"2009-07-29"},{Type:"language",Subtag:"tua",Description:["Wiarumus"],Added:"2009-07-29"},{Type:"language",Subtag:"tub",Description:["Tübatulabal"],Added:"2009-07-29"},{Type:"language",Subtag:"tuc",Description:["Mutu"],Added:"2009-07-29"},{Type:"language",Subtag:"tud",Description:["Tuxá"],Added:"2009-07-29"},{Type:"language",Subtag:"tue",Description:["Tuyuca"],Added:"2009-07-29"},{Type:"language",Subtag:"tuf",Description:["Central Tunebo"],Added:"2009-07-29"},{Type:"language",Subtag:"tug",Description:["Tunia"],Added:"2009-07-29"},{Type:"language",Subtag:"tuh",Description:["Taulil"],Added:"2009-07-29"},{Type:"language",Subtag:"tui",Description:["Tupuri"],Added:"2009-07-29"},{Type:"language",Subtag:"tuj",Description:["Tugutil"],Added:"2009-07-29"},{Type:"language",Subtag:"tul",Description:["Tula"],Added:"2009-07-29"},{Type:"language",Subtag:"tum",Description:["Tumbuka"],Added:"2005-10-16"},{Type:"language",Subtag:"tun",Description:["Tunica"],Added:"2009-07-29"},{Type:"language",Subtag:"tuo",Description:["Tucano"],Added:"2009-07-29"},{Type:"language",Subtag:"tup",Description:["Tupi languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"tuq",Description:["Tedaga"],Added:"2009-07-29"},{Type:"language",Subtag:"tus",Description:["Tuscarora"],Added:"2009-07-29"},{Type:"language",Subtag:"tut",Description:["Altaic languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"tuu",Description:["Tututni"],Added:"2009-07-29"},{Type:"language",Subtag:"tuv",Description:["Turkana"],Added:"2009-07-29"},{Type:"language",Subtag:"tuw",Description:["Tungus languages"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"tux",Description:["Tuxináwa"],Added:"2009-07-29"},{Type:"language",Subtag:"tuy",Description:["Tugen"],Added:"2009-07-29",Macrolanguage:"kln"},{Type:"language",Subtag:"tuz",Description:["Turka"],Added:"2009-07-29"},{Type:"language",Subtag:"tva",Description:["Vaghua"],Added:"2009-07-29"},{Type:"language",Subtag:"tvd",Description:["Tsuvadi"],Added:"2009-07-29"},{Type:"language",Subtag:"tve",Description:["Te'un"],Added:"2009-07-29"},{Type:"language",Subtag:"tvk",Description:["Southeast Ambrym"],Added:"2009-07-29"},{Type:"language",Subtag:"tvl",Description:["Tuvalu"],Added:"2005-10-16","Suppress-Script":"Latn"},{Type:"language",Subtag:"tvm",Description:["Tela-Masbuar"],Added:"2009-07-29"},{Type:"language",Subtag:"tvn",Description:["Tavoyan"],Added:"2009-07-29"},{Type:"language",Subtag:"tvo",Description:["Tidore"],Added:"2009-07-29"},{Type:"language",Subtag:"tvs",Description:["Taveta"],Added:"2009-07-29"},{Type:"language",Subtag:"tvt",Description:["Tutsa Naga"],Added:"2009-07-29"},{Type:"language",Subtag:"tvu",Description:["Tunen"],Added:"2012-08-12"},{Type:"language",Subtag:"tvw",Description:["Sedoa"],Added:"2009-07-29"},{Type:"language",Subtag:"tvx",Description:["Taivoan"],Added:"2019-04-16"},{Type:"language",Subtag:"tvy",Description:["Timor Pidgin"],Added:"2009-07-29"},{Type:"language",Subtag:"twa",Description:["Twana"],Added:"2009-07-29"},{Type:"language",Subtag:"twb",Description:["Western Tawbuid"],Added:"2009-07-29"},{Type:"language",Subtag:"twc",Description:["Teshenawa"],Added:"2009-07-29"},{Type:"language",Subtag:"twd",Description:["Twents"],Added:"2009-07-29"},{Type:"language",Subtag:"twe",Description:["Tewa (Indonesia)"],Added:"2009-07-29"},{Type:"language",Subtag:"twf",Description:["Northern Tiwa"],Added:"2009-07-29"},{Type:"language",Subtag:"twg",Description:["Tereweng"],Added:"2009-07-29"},{Type:"language",Subtag:"twh",Description:["Tai Dón"],Added:"2009-07-29"},{Type:"language",Subtag:"twl",Description:["Tawara"],Added:"2009-07-29"},{Type:"language",Subtag:"twm",Description:["Tawang Monpa"],Added:"2009-07-29"},{Type:"language",Subtag:"twn",Description:["Twendi"],Added:"2009-07-29"},{Type:"language",Subtag:"two",Description:["Tswapong"],Added:"2009-07-29"},{Type:"language",Subtag:"twp",Description:["Ere"],Added:"2009-07-29"},{Type:"language",Subtag:"twq",Description:["Tasawaq"],Added:"2009-07-29"},{Type:"language",Subtag:"twr",Description:["Southwestern Tarahumara"],Added:"2009-07-29"},{Type:"language",Subtag:"twt",Description:["Turiwára"],Added:"2009-07-29"},{Type:"language",Subtag:"twu",Description:["Termanu"],Added:"2009-07-29"},{Type:"language",Subtag:"tww",Description:["Tuwari"],Added:"2009-07-29"},{Type:"language",Subtag:"twx",Description:["Tewe"],Added:"2009-07-29"},{Type:"language",Subtag:"twy",Description:["Tawoyan"],Added:"2009-07-29"},{Type:"language",Subtag:"txa",Description:["Tombonuo"],Added:"2009-07-29"},{Type:"language",Subtag:"txb",Description:["Tokharian B"],Added:"2009-07-29"},{Type:"language",Subtag:"txc",Description:["Tsetsaut"],Added:"2009-07-29"},{Type:"language",Subtag:"txe",Description:["Totoli"],Added:"2009-07-29"},{Type:"language",Subtag:"txg",Description:["Tangut"],Added:"2009-07-29"},{Type:"language",Subtag:"txh",Description:["Thracian"],Added:"2009-07-29"},{Type:"language",Subtag:"txi",Description:["Ikpeng"],Added:"2009-07-29"},{Type:"language",Subtag:"txj",Description:["Tarjumo"],Added:"2015-02-12"},{Type:"language",Subtag:"txm",Description:["Tomini"],Added:"2009-07-29"},{Type:"language",Subtag:"txn",Description:["West Tarangan"],Added:"2009-07-29"},{Type:"language",Subtag:"txo",Description:["Toto"],Added:"2009-07-29"},{Type:"language",Subtag:"txq",Description:["Tii"],Added:"2009-07-29"},{Type:"language",Subtag:"txr",Description:["Tartessian"],Added:"2009-07-29"},{Type:"language",Subtag:"txs",Description:["Tonsea"],Added:"2009-07-29"},{Type:"language",Subtag:"txt",Description:["Citak"],Added:"2009-07-29"},{Type:"language",Subtag:"txu",Description:["Kayapó"],Added:"2009-07-29"},{Type:"language",Subtag:"txx",Description:["Tatana"],Added:"2009-07-29"},{Type:"language",Subtag:"txy",Description:["Tanosy Malagasy"],Added:"2009-07-29",Macrolanguage:"mg"},{Type:"language",Subtag:"tya",Description:["Tauya"],Added:"2009-07-29"},{Type:"language",Subtag:"tye",Description:["Kyanga"],Added:"2009-07-29"},{Type:"language",Subtag:"tyh",Description:["O'du"],Added:"2009-07-29"},{Type:"language",Subtag:"tyi",Description:["Teke-Tsaayi"],Added:"2009-07-29"},{Type:"language",Subtag:"tyj",Description:["Tai Do","Tai Yo"],Added:"2009-07-29"},{Type:"language",Subtag:"tyl",Description:["Thu Lao"],Added:"2009-07-29"},{Type:"language",Subtag:"tyn",Description:["Kombai"],Added:"2009-07-29"},{Type:"language",Subtag:"typ",Description:["Thaypan"],Added:"2009-07-29"},{Type:"language",Subtag:"tyr",Description:["Tai Daeng"],Added:"2009-07-29"},{Type:"language",Subtag:"tys",Description:["Tày Sa Pa"],Added:"2009-07-29"},{Type:"language",Subtag:"tyt",Description:["Tày Tac"],Added:"2009-07-29"},{Type:"language",Subtag:"tyu",Description:["Kua"],Added:"2009-07-29"},{Type:"language",Subtag:"tyv",Description:["Tuvinian"],Added:"2005-10-16"},{Type:"language",Subtag:"tyx",Description:["Teke-Tyee"],Added:"2009-07-29"},{Type:"language",Subtag:"tyy",Description:["Tiyaa"],Added:"2021-02-20"},{Type:"language",Subtag:"tyz",Description:["Tày"],Added:"2009-07-29"},{Type:"language",Subtag:"tza",Description:["Tanzanian Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"tzh",Description:["Tzeltal"],Added:"2009-07-29"},{Type:"language",Subtag:"tzj",Description:["Tz'utujil"],Added:"2009-07-29"},{Type:"language",Subtag:"tzl",Description:["Talossan"],Added:"2013-09-10"},{Type:"language",Subtag:"tzm",Description:["Central Atlas Tamazight"],Added:"2009-07-29"},{Type:"language",Subtag:"tzn",Description:["Tugun"],Added:"2009-07-29"},{Type:"language",Subtag:"tzo",Description:["Tzotzil"],Added:"2009-07-29"},{Type:"language",Subtag:"tzx",Description:["Tabriak"],Added:"2009-07-29"},{Type:"language",Subtag:"uam",Description:["Uamué"],Added:"2009-07-29"},{Type:"language",Subtag:"uan",Description:["Kuan"],Added:"2009-07-29"},{Type:"language",Subtag:"uar",Description:["Tairuma"],Added:"2009-07-29"},{Type:"language",Subtag:"uba",Description:["Ubang"],Added:"2009-07-29"},{Type:"language",Subtag:"ubi",Description:["Ubi"],Added:"2009-07-29"},{Type:"language",Subtag:"ubl",Description:["Buhi'non Bikol"],Added:"2010-03-11",Macrolanguage:"bik"},{Type:"language",Subtag:"ubr",Description:["Ubir"],Added:"2009-07-29"},{Type:"language",Subtag:"ubu",Description:["Umbu-Ungu"],Added:"2009-07-29"},{Type:"language",Subtag:"uby",Description:["Ubykh"],Added:"2009-07-29"},{Type:"language",Subtag:"uda",Description:["Uda"],Added:"2009-07-29"},{Type:"language",Subtag:"ude",Description:["Udihe"],Added:"2009-07-29"},{Type:"language",Subtag:"udg",Description:["Muduga"],Added:"2009-07-29"},{Type:"language",Subtag:"udi",Description:["Udi"],Added:"2009-07-29"},{Type:"language",Subtag:"udj",Description:["Ujir"],Added:"2009-07-29"},{Type:"language",Subtag:"udl",Description:["Wuzlam"],Added:"2009-07-29"},{Type:"language",Subtag:"udm",Description:["Udmurt"],Added:"2005-10-16"},{Type:"language",Subtag:"udu",Description:["Uduk"],Added:"2009-07-29"},{Type:"language",Subtag:"ues",Description:["Kioko"],Added:"2009-07-29"},{Type:"language",Subtag:"ufi",Description:["Ufim"],Added:"2009-07-29"},{Type:"language",Subtag:"uga",Description:["Ugaritic"],Added:"2005-10-16"},{Type:"language",Subtag:"ugb",Description:["Kuku-Ugbanh"],Added:"2009-07-29"},{Type:"language",Subtag:"uge",Description:["Ughele"],Added:"2009-07-29"},{Type:"language",Subtag:"ugh",Description:["Kubachi"],Added:"2022-02-25"},{Type:"language",Subtag:"ugn",Description:["Ugandan Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"ugo",Description:["Ugong"],Added:"2009-07-29"},{Type:"language",Subtag:"ugy",Description:["Uruguayan Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"uha",Description:["Uhami"],Added:"2009-07-29"},{Type:"language",Subtag:"uhn",Description:["Damal"],Added:"2009-07-29"},{Type:"language",Subtag:"uis",Description:["Uisai"],Added:"2009-07-29"},{Type:"language",Subtag:"uiv",Description:["Iyive"],Added:"2009-07-29"},{Type:"language",Subtag:"uji",Description:["Tanjijili"],Added:"2009-07-29"},{Type:"language",Subtag:"uka",Description:["Kaburi"],Added:"2009-07-29"},{Type:"language",Subtag:"ukg",Description:["Ukuriguma"],Added:"2009-07-29"},{Type:"language",Subtag:"ukh",Description:["Ukhwejo"],Added:"2009-07-29"},{Type:"language",Subtag:"uki",Description:["Kui (India)"],Added:"2020-03-28"},{Type:"language",Subtag:"ukk",Description:["Muak Sa-aak"],Added:"2017-02-23"},{Type:"language",Subtag:"ukl",Description:["Ukrainian Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"ukp",Description:["Ukpe-Bayobiri"],Added:"2009-07-29"},{Type:"language",Subtag:"ukq",Description:["Ukwa"],Added:"2009-07-29"},{Type:"language",Subtag:"uks",Description:["Urubú-Kaapor Sign Language","Kaapor Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"uku",Description:["Ukue"],Added:"2009-07-29"},{Type:"language",Subtag:"ukv",Description:["Kuku"],Added:"2020-03-28"},{Type:"language",Subtag:"ukw",Description:["Ukwuani-Aboh-Ndoni"],Added:"2009-07-29"},{Type:"language",Subtag:"uky",Description:["Kuuk-Yak"],Added:"2012-08-12"},{Type:"language",Subtag:"ula",Description:["Fungwa"],Added:"2009-07-29"},{Type:"language",Subtag:"ulb",Description:["Ulukwumi"],Added:"2009-07-29"},{Type:"language",Subtag:"ulc",Description:["Ulch"],Added:"2009-07-29"},{Type:"language",Subtag:"ule",Description:["Lule"],Added:"2013-09-10"},{Type:"language",Subtag:"ulf",Description:["Usku","Afra"],Added:"2009-07-29"},{Type:"language",Subtag:"uli",Description:["Ulithian"],Added:"2009-07-29"},{Type:"language",Subtag:"ulk",Description:["Meriam Mir"],Added:"2009-07-29"},{Type:"language",Subtag:"ull",Description:["Ullatan"],Added:"2009-07-29"},{Type:"language",Subtag:"ulm",Description:["Ulumanda'"],Added:"2009-07-29"},{Type:"language",Subtag:"uln",Description:["Unserdeutsch"],Added:"2009-07-29"},{Type:"language",Subtag:"ulu",Description:["Uma' Lung"],Added:"2009-07-29"},{Type:"language",Subtag:"ulw",Description:["Ulwa"],Added:"2010-03-11"},{Type:"language",Subtag:"uma",Description:["Umatilla"],Added:"2009-07-29"},{Type:"language",Subtag:"umb",Description:["Umbundu"],Added:"2005-10-16"},{Type:"language",Subtag:"umc",Description:["Marrucinian"],Added:"2009-07-29"},{Type:"language",Subtag:"umd",Description:["Umbindhamu"],Added:"2009-07-29"},{Type:"language",Subtag:"umg",Description:["Morrobalama","Umbuygamu"],Added:"2009-07-29"},{Type:"language",Subtag:"umi",Description:["Ukit"],Added:"2009-07-29"},{Type:"language",Subtag:"umm",Description:["Umon"],Added:"2009-07-29"},{Type:"language",Subtag:"umn",Description:["Makyan Naga"],Added:"2009-07-29"},{Type:"language",Subtag:"umo",Description:["Umotína"],Added:"2009-07-29"},{Type:"language",Subtag:"ump",Description:["Umpila"],Added:"2009-07-29"},{Type:"language",Subtag:"umr",Description:["Umbugarla"],Added:"2009-07-29"},{Type:"language",Subtag:"ums",Description:["Pendau"],Added:"2009-07-29"},{Type:"language",Subtag:"umu",Description:["Munsee"],Added:"2009-07-29",Macrolanguage:"del"},{Type:"language",Subtag:"una",Description:["North Watut"],Added:"2009-07-29"},{Type:"language",Subtag:"und",Description:["Undetermined"],Added:"2005-10-16",Scope:"special"},{Type:"language",Subtag:"une",Description:["Uneme"],Added:"2009-07-29"},{Type:"language",Subtag:"ung",Description:["Ngarinyin"],Added:"2009-07-29"},{Type:"language",Subtag:"uni",Description:["Uni"],Added:"2021-02-20"},{Type:"language",Subtag:"unk",Description:["Enawené-Nawé"],Added:"2009-07-29"},{Type:"language",Subtag:"unm",Description:["Unami"],Added:"2009-07-29",Macrolanguage:"del"},{Type:"language",Subtag:"unn",Description:["Kurnai"],Added:"2013-09-10"},{Type:"language",Subtag:"unp",Description:["Worora"],Added:"2009-07-29",Deprecated:"2012-08-12",Comments:["see wro, xgu"]},{Type:"language",Subtag:"unr",Description:["Mundari"],Added:"2009-07-29"},{Type:"language",Subtag:"unu",Description:["Unubahe"],Added:"2013-09-10"},{Type:"language",Subtag:"unx",Description:["Munda"],Added:"2009-07-29"},{Type:"language",Subtag:"unz",Description:["Unde Kaili"],Added:"2009-07-29"},{Type:"language",Subtag:"uok",Description:["Uokha"],Added:"2009-07-29",Deprecated:"2015-02-12","Preferred-Value":"ema"},{Type:"language",Subtag:"uon",Description:["Kulon"],Added:"2022-02-25"},{Type:"language",Subtag:"upi",Description:["Umeda"],Added:"2009-07-29"},{Type:"language",Subtag:"upv",Description:["Uripiv-Wala-Rano-Atchin"],Added:"2009-07-29"},{Type:"language",Subtag:"ura",Description:["Urarina"],Added:"2009-07-29"},{Type:"language",Subtag:"urb",Description:["Urubú-Kaapor","Kaapor"],Added:"2009-07-29"},{Type:"language",Subtag:"urc",Description:["Urningangg"],Added:"2009-07-29"},{Type:"language",Subtag:"ure",Description:["Uru"],Added:"2009-07-29"},{Type:"language",Subtag:"urf",Description:["Uradhi"],Added:"2009-07-29"},{Type:"language",Subtag:"urg",Description:["Urigina"],Added:"2009-07-29"},{Type:"language",Subtag:"urh",Description:["Urhobo"],Added:"2009-07-29"},{Type:"language",Subtag:"uri",Description:["Urim"],Added:"2009-07-29"},{Type:"language",Subtag:"urj",Description:["Uralic languages"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"urk",Description:["Urak Lawoi'"],Added:"2009-07-29",Macrolanguage:"ms"},{Type:"language",Subtag:"url",Description:["Urali"],Added:"2009-07-29"},{Type:"language",Subtag:"urm",Description:["Urapmin"],Added:"2009-07-29"},{Type:"language",Subtag:"urn",Description:["Uruangnirin"],Added:"2009-07-29"},{Type:"language",Subtag:"uro",Description:["Ura (Papua New Guinea)"],Added:"2009-07-29"},{Type:"language",Subtag:"urp",Description:["Uru-Pa-In"],Added:"2009-07-29"},{Type:"language",Subtag:"urr",Description:["Lehalurup","Löyöp"],Added:"2009-07-29"},{Type:"language",Subtag:"urt",Description:["Urat"],Added:"2009-07-29"},{Type:"language",Subtag:"uru",Description:["Urumi"],Added:"2009-07-29"},{Type:"language",Subtag:"urv",Description:["Uruava"],Added:"2009-07-29"},{Type:"language",Subtag:"urw",Description:["Sop"],Added:"2009-07-29"},{Type:"language",Subtag:"urx",Description:["Urimo"],Added:"2009-07-29"},{Type:"language",Subtag:"ury",Description:["Orya"],Added:"2009-07-29"},{Type:"language",Subtag:"urz",Description:["Uru-Eu-Wau-Wau"],Added:"2009-07-29"},{Type:"language",Subtag:"usa",Description:["Usarufa"],Added:"2009-07-29"},{Type:"language",Subtag:"ush",Description:["Ushojo"],Added:"2009-07-29"},{Type:"language",Subtag:"usi",Description:["Usui"],Added:"2009-07-29"},{Type:"language",Subtag:"usk",Description:["Usaghade"],Added:"2009-07-29"},{Type:"language",Subtag:"usp",Description:["Uspanteco"],Added:"2009-07-29"},{Type:"language",Subtag:"uss",Description:["us-Saare"],Added:"2019-04-16"},{Type:"language",Subtag:"usu",Description:["Uya"],Added:"2009-07-29"},{Type:"language",Subtag:"uta",Description:["Otank"],Added:"2009-07-29"},{Type:"language",Subtag:"ute",Description:["Ute-Southern Paiute"],Added:"2009-07-29"},{Type:"language",Subtag:"uth",Description:["ut-Hun"],Added:"2019-04-16"},{Type:"language",Subtag:"utp",Description:["Amba (Solomon Islands)"],Added:"2009-07-29"},{Type:"language",Subtag:"utr",Description:["Etulo"],Added:"2009-07-29"},{Type:"language",Subtag:"utu",Description:["Utu"],Added:"2009-07-29"},{Type:"language",Subtag:"uum",Description:["Urum"],Added:"2009-07-29"},{Type:"language",Subtag:"uun",Description:["Kulon-Pazeh"],Added:"2009-07-29",Deprecated:"2022-02-25",Comments:["see pzh, uon"]},{Type:"language",Subtag:"uur",Description:["Ura (Vanuatu)"],Added:"2009-07-29"},{Type:"language",Subtag:"uuu",Description:["U"],Added:"2009-07-29"},{Type:"language",Subtag:"uve",Description:["West Uvean","Fagauvea"],Added:"2009-07-29"},{Type:"language",Subtag:"uvh",Description:["Uri"],Added:"2009-07-29"},{Type:"language",Subtag:"uvl",Description:["Lote"],Added:"2009-07-29"},{Type:"language",Subtag:"uwa",Description:["Kuku-Uwanh"],Added:"2009-07-29"},{Type:"language",Subtag:"uya",Description:["Doko-Uyanga"],Added:"2009-07-29"},{Type:"language",Subtag:"uzn",Description:["Northern Uzbek"],Added:"2009-07-29",Macrolanguage:"uz"},{Type:"language",Subtag:"uzs",Description:["Southern Uzbek"],Added:"2009-07-29",Macrolanguage:"uz"},{Type:"language",Subtag:"vaa",Description:["Vaagri Booli"],Added:"2009-07-29"},{Type:"language",Subtag:"vae",Description:["Vale"],Added:"2009-07-29"},{Type:"language",Subtag:"vaf",Description:["Vafsi"],Added:"2009-07-29"},{Type:"language",Subtag:"vag",Description:["Vagla"],Added:"2009-07-29"},{Type:"language",Subtag:"vah",Description:["Varhadi-Nagpuri"],Added:"2009-07-29"},{Type:"language",Subtag:"vai",Description:["Vai"],Added:"2005-10-16"},{Type:"language",Subtag:"vaj",Description:["Sekele","Northwestern ǃKung","Vasekele"],Added:"2009-07-29"},{Type:"language",Subtag:"val",Description:["Vehes"],Added:"2009-07-29"},{Type:"language",Subtag:"vam",Description:["Vanimo"],Added:"2009-07-29"},{Type:"language",Subtag:"van",Description:["Valman"],Added:"2009-07-29"},{Type:"language",Subtag:"vao",Description:["Vao"],Added:"2009-07-29"},{Type:"language",Subtag:"vap",Description:["Vaiphei"],Added:"2009-07-29"},{Type:"language",Subtag:"var",Description:["Huarijio"],Added:"2009-07-29"},{Type:"language",Subtag:"vas",Description:["Vasavi"],Added:"2009-07-29"},{Type:"language",Subtag:"vau",Description:["Vanuma"],Added:"2009-07-29"},{Type:"language",Subtag:"vav",Description:["Varli"],Added:"2009-07-29"},{Type:"language",Subtag:"vay",Description:["Wayu"],Added:"2009-07-29"},{Type:"language",Subtag:"vbb",Description:["Southeast Babar"],Added:"2009-07-29"},{Type:"language",Subtag:"vbk",Description:["Southwestern Bontok"],Added:"2010-03-11",Macrolanguage:"bnc"},{Type:"language",Subtag:"vec",Description:["Venetian"],Added:"2009-07-29"},{Type:"language",Subtag:"ved",Description:["Veddah"],Added:"2009-07-29"},{Type:"language",Subtag:"vel",Description:["Veluws"],Added:"2009-07-29"},{Type:"language",Subtag:"vem",Description:["Vemgo-Mabas"],Added:"2009-07-29"},{Type:"language",Subtag:"veo",Description:["Ventureño"],Added:"2009-07-29"},{Type:"language",Subtag:"vep",Description:["Veps"],Added:"2009-07-29"},{Type:"language",Subtag:"ver",Description:["Mom Jango"],Added:"2009-07-29"},{Type:"language",Subtag:"vgr",Description:["Vaghri"],Added:"2009-07-29"},{Type:"language",Subtag:"vgt",Description:["Vlaamse Gebarentaal","Flemish Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"vic",Description:["Virgin Islands Creole English"],Added:"2009-07-29"},{Type:"language",Subtag:"vid",Description:["Vidunda"],Added:"2009-07-29"},{Type:"language",Subtag:"vif",Description:["Vili"],Added:"2009-07-29"},{Type:"language",Subtag:"vig",Description:["Viemo"],Added:"2009-07-29"},{Type:"language",Subtag:"vil",Description:["Vilela"],Added:"2009-07-29"},{Type:"language",Subtag:"vin",Description:["Vinza"],Added:"2009-07-29"},{Type:"language",Subtag:"vis",Description:["Vishavan"],Added:"2009-07-29"},{Type:"language",Subtag:"vit",Description:["Viti"],Added:"2009-07-29"},{Type:"language",Subtag:"viv",Description:["Iduna"],Added:"2009-07-29"},{Type:"language",Subtag:"vka",Description:["Kariyarra"],Added:"2009-07-29"},{Type:"language",Subtag:"vki",Description:["Ija-Zuba"],Added:"2009-07-29",Deprecated:"2021-02-20",Comments:["see vkn, vkz"]},{Type:"language",Subtag:"vkj",Description:["Kujarge"],Added:"2009-07-29"},{Type:"language",Subtag:"vkk",Description:["Kaur"],Added:"2009-07-29",Macrolanguage:"ms"},{Type:"language",Subtag:"vkl",Description:["Kulisusu"],Added:"2009-07-29"},{Type:"language",Subtag:"vkm",Description:["Kamakan"],Added:"2009-07-29"},{Type:"language",Subtag:"vkn",Description:["Koro Nulu"],Added:"2021-02-20"},{Type:"language",Subtag:"vko",Description:["Kodeoha"],Added:"2009-07-29"},{Type:"language",Subtag:"vkp",Description:["Korlai Creole Portuguese"],Added:"2009-07-29"},{Type:"language",Subtag:"vkt",Description:["Tenggarong Kutai Malay"],Added:"2009-07-29",Macrolanguage:"ms"},{Type:"language",Subtag:"vku",Description:["Kurrama"],Added:"2009-07-29"},{Type:"language",Subtag:"vkz",Description:["Koro Zuba"],Added:"2021-02-20"},{Type:"language",Subtag:"vlp",Description:["Valpei"],Added:"2009-07-29"},{Type:"language",Subtag:"vls",Description:["Vlaams"],Added:"2009-07-29"},{Type:"language",Subtag:"vma",Description:["Martuyhunira"],Added:"2009-07-29"},{Type:"language",Subtag:"vmb",Description:["Barbaram"],Added:"2009-07-29"},{Type:"language",Subtag:"vmc",Description:["Juxtlahuaca Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"vmd",Description:["Mudu Koraga"],Added:"2009-07-29"},{Type:"language",Subtag:"vme",Description:["East Masela"],Added:"2009-07-29"},{Type:"language",Subtag:"vmf",Description:["Mainfränkisch"],Added:"2009-07-29"},{Type:"language",Subtag:"vmg",Description:["Lungalunga"],Added:"2009-07-29",Comments:["see also bxf"]},{Type:"language",Subtag:"vmh",Description:["Maraghei"],Added:"2009-07-29"},{Type:"language",Subtag:"vmi",Description:["Miwa"],Added:"2009-07-29"},{Type:"language",Subtag:"vmj",Description:["Ixtayutla Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"vmk",Description:["Makhuwa-Shirima"],Added:"2009-07-29"},{Type:"language",Subtag:"vml",Description:["Malgana"],Added:"2009-07-29"},{Type:"language",Subtag:"vmm",Description:["Mitlatongo Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"vmp",Description:["Soyaltepec Mazatec"],Added:"2009-07-29"},{Type:"language",Subtag:"vmq",Description:["Soyaltepec Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"vmr",Description:["Marenje"],Added:"2009-07-29"},{Type:"language",Subtag:"vms",Description:["Moksela"],Added:"2009-07-29"},{Type:"language",Subtag:"vmu",Description:["Muluridyi"],Added:"2009-07-29"},{Type:"language",Subtag:"vmv",Description:["Valley Maidu"],Added:"2009-07-29"},{Type:"language",Subtag:"vmw",Description:["Makhuwa"],Added:"2009-07-29"},{Type:"language",Subtag:"vmx",Description:["Tamazola Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"vmy",Description:["Ayautla Mazatec"],Added:"2009-07-29"},{Type:"language",Subtag:"vmz",Description:["Mazatlán Mazatec"],Added:"2009-07-29"},{Type:"language",Subtag:"vnk",Description:["Vano","Lovono"],Added:"2009-07-29"},{Type:"language",Subtag:"vnm",Description:["Vinmavis","Neve'ei"],Added:"2009-07-29"},{Type:"language",Subtag:"vnp",Description:["Vunapu"],Added:"2009-07-29"},{Type:"language",Subtag:"vor",Description:["Voro"],Added:"2009-07-29"},{Type:"language",Subtag:"vot",Description:["Votic"],Added:"2005-10-16"},{Type:"language",Subtag:"vra",Description:["Vera'a"],Added:"2009-07-29"},{Type:"language",Subtag:"vro",Description:["Võro"],Added:"2009-07-29",Macrolanguage:"et"},{Type:"language",Subtag:"vrs",Description:["Varisi"],Added:"2009-07-29"},{Type:"language",Subtag:"vrt",Description:["Burmbar","Banam Bay"],Added:"2009-07-29"},{Type:"language",Subtag:"vsi",Description:["Moldova Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"vsl",Description:["Venezuelan Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"vsv",Description:["Valencian Sign Language","Llengua de signes valenciana"],Added:"2009-07-29"},{Type:"language",Subtag:"vto",Description:["Vitou"],Added:"2009-07-29"},{Type:"language",Subtag:"vum",Description:["Vumbu"],Added:"2009-07-29"},{Type:"language",Subtag:"vun",Description:["Vunjo"],Added:"2009-07-29"},{Type:"language",Subtag:"vut",Description:["Vute"],Added:"2009-07-29"},{Type:"language",Subtag:"vwa",Description:["Awa (China)"],Added:"2009-07-29"},{Type:"language",Subtag:"waa",Description:["Walla Walla"],Added:"2009-07-29"},{Type:"language",Subtag:"wab",Description:["Wab"],Added:"2009-07-29"},{Type:"language",Subtag:"wac",Description:["Wasco-Wishram"],Added:"2009-07-29"},{Type:"language",Subtag:"wad",Description:["Wamesa","Wondama"],Added:"2009-07-29"},{Type:"language",Subtag:"wae",Description:["Walser"],Added:"2009-07-29"},{Type:"language",Subtag:"waf",Description:["Wakoná"],Added:"2009-07-29"},{Type:"language",Subtag:"wag",Description:["Wa'ema"],Added:"2009-07-29"},{Type:"language",Subtag:"wah",Description:["Watubela"],Added:"2009-07-29"},{Type:"language",Subtag:"wai",Description:["Wares"],Added:"2009-07-29"},{Type:"language",Subtag:"waj",Description:["Waffa"],Added:"2009-07-29"},{Type:"language",Subtag:"wak",Description:["Wakashan languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"wal",Description:["Wolaytta","Wolaitta"],Added:"2005-10-16"},{Type:"language",Subtag:"wam",Description:["Wampanoag"],Added:"2009-07-29"},{Type:"language",Subtag:"wan",Description:["Wan"],Added:"2009-07-29"},{Type:"language",Subtag:"wao",Description:["Wappo"],Added:"2009-07-29"},{Type:"language",Subtag:"wap",Description:["Wapishana"],Added:"2009-07-29"},{Type:"language",Subtag:"waq",Description:["Wagiman"],Added:"2009-07-29"},{Type:"language",Subtag:"war",Description:["Waray (Philippines)"],Added:"2005-10-16"},{Type:"language",Subtag:"was",Description:["Washo"],Added:"2005-10-16"},{Type:"language",Subtag:"wat",Description:["Kaninuwa"],Added:"2009-07-29"},{Type:"language",Subtag:"wau",Description:["Waurá"],Added:"2009-07-29"},{Type:"language",Subtag:"wav",Description:["Waka"],Added:"2009-07-29"},{Type:"language",Subtag:"waw",Description:["Waiwai"],Added:"2009-07-29"},{Type:"language",Subtag:"wax",Description:["Watam","Marangis"],Added:"2009-07-29"},{Type:"language",Subtag:"way",Description:["Wayana"],Added:"2009-07-29"},{Type:"language",Subtag:"waz",Description:["Wampur"],Added:"2009-07-29"},{Type:"language",Subtag:"wba",Description:["Warao"],Added:"2009-07-29"},{Type:"language",Subtag:"wbb",Description:["Wabo"],Added:"2009-07-29"},{Type:"language",Subtag:"wbe",Description:["Waritai"],Added:"2009-07-29"},{Type:"language",Subtag:"wbf",Description:["Wara"],Added:"2009-07-29",Comments:["see also pnl"]},{Type:"language",Subtag:"wbh",Description:["Wanda"],Added:"2009-07-29"},{Type:"language",Subtag:"wbi",Description:["Vwanji"],Added:"2009-07-29"},{Type:"language",Subtag:"wbj",Description:["Alagwa"],Added:"2009-07-29"},{Type:"language",Subtag:"wbk",Description:["Waigali"],Added:"2009-07-29"},{Type:"language",Subtag:"wbl",Description:["Wakhi"],Added:"2009-07-29"},{Type:"language",Subtag:"wbm",Description:["Wa"],Added:"2009-07-29"},{Type:"language",Subtag:"wbp",Description:["Warlpiri"],Added:"2009-07-29"},{Type:"language",Subtag:"wbq",Description:["Waddar"],Added:"2009-07-29"},{Type:"language",Subtag:"wbr",Description:["Wagdi"],Added:"2009-07-29",Macrolanguage:"raj"},{Type:"language",Subtag:"wbs",Description:["West Bengal Sign Language"],Added:"2017-02-23"},{Type:"language",Subtag:"wbt",Description:["Warnman"],Added:"2009-07-29"},{Type:"language",Subtag:"wbv",Description:["Wajarri"],Added:"2009-07-29"},{Type:"language",Subtag:"wbw",Description:["Woi"],Added:"2009-07-29"},{Type:"language",Subtag:"wca",Description:["Yanomámi"],Added:"2009-07-29"},{Type:"language",Subtag:"wci",Description:["Waci Gbe"],Added:"2009-07-29"},{Type:"language",Subtag:"wdd",Description:["Wandji"],Added:"2009-07-29"},{Type:"language",Subtag:"wdg",Description:["Wadaginam"],Added:"2009-07-29"},{Type:"language",Subtag:"wdj",Description:["Wadjiginy"],Added:"2009-07-29"},{Type:"language",Subtag:"wdk",Description:["Wadikali"],Added:"2013-09-10"},{Type:"language",Subtag:"wdt",Description:["Wendat"],Added:"2022-02-25"},{Type:"language",Subtag:"wdu",Description:["Wadjigu"],Added:"2009-07-29"},{Type:"language",Subtag:"wdy",Description:["Wadjabangayi"],Added:"2013-09-10"},{Type:"language",Subtag:"wea",Description:["Wewaw"],Added:"2009-07-29"},{Type:"language",Subtag:"wec",Description:["Wè Western"],Added:"2009-07-29"},{Type:"language",Subtag:"wed",Description:["Wedau"],Added:"2009-07-29"},{Type:"language",Subtag:"weg",Description:["Wergaia"],Added:"2013-09-10"},{Type:"language",Subtag:"weh",Description:["Weh"],Added:"2009-07-29"},{Type:"language",Subtag:"wei",Description:["Kiunum"],Added:"2009-07-29"},{Type:"language",Subtag:"wem",Description:["Weme Gbe"],Added:"2009-07-29"},{Type:"language",Subtag:"wen",Description:["Sorbian languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"weo",Description:["Wemale"],Added:"2009-07-29"},{Type:"language",Subtag:"wep",Description:["Westphalien"],Added:"2009-07-29"},{Type:"language",Subtag:"wer",Description:["Weri"],Added:"2009-07-29"},{Type:"language",Subtag:"wes",Description:["Cameroon Pidgin"],Added:"2009-07-29"},{Type:"language",Subtag:"wet",Description:["Perai"],Added:"2009-07-29"},{Type:"language",Subtag:"weu",Description:["Rawngtu Chin"],Added:"2009-07-29"},{Type:"language",Subtag:"wew",Description:["Wejewa"],Added:"2009-07-29"},{Type:"language",Subtag:"wfg",Description:["Yafi","Zorop"],Added:"2009-07-29"},{Type:"language",Subtag:"wga",Description:["Wagaya"],Added:"2009-07-29"},{Type:"language",Subtag:"wgb",Description:["Wagawaga"],Added:"2010-03-11"},{Type:"language",Subtag:"wgg",Description:["Wangkangurru","Wangganguru"],Added:"2009-07-29"},{Type:"language",Subtag:"wgi",Description:["Wahgi"],Added:"2009-07-29"},{Type:"language",Subtag:"wgo",Description:["Waigeo"],Added:"2009-07-29"},{Type:"language",Subtag:"wgu",Description:["Wirangu"],Added:"2012-08-12"},{Type:"language",Subtag:"wgw",Description:["Wagawaga"],Added:"2009-07-29",Deprecated:"2010-03-11",Comments:["see wgb, ylb"]},{Type:"language",Subtag:"wgy",Description:["Warrgamay"],Added:"2009-07-29"},{Type:"language",Subtag:"wha",Description:["Sou Upaa","Manusela"],Added:"2009-07-29"},{Type:"language",Subtag:"whg",Description:["North Wahgi"],Added:"2009-07-29"},{Type:"language",Subtag:"whk",Description:["Wahau Kenyah"],Added:"2009-07-29"},{Type:"language",Subtag:"whu",Description:["Wahau Kayan"],Added:"2009-07-29"},{Type:"language",Subtag:"wib",Description:["Southern Toussian"],Added:"2009-07-29"},{Type:"language",Subtag:"wic",Description:["Wichita"],Added:"2009-07-29"},{Type:"language",Subtag:"wie",Description:["Wik-Epa"],Added:"2009-07-29"},{Type:"language",Subtag:"wif",Description:["Wik-Keyangan"],Added:"2009-07-29"},{Type:"language",Subtag:"wig",Description:["Wik Ngathan"],Added:"2009-07-29"},{Type:"language",Subtag:"wih",Description:["Wik-Me'anha"],Added:"2009-07-29"},{Type:"language",Subtag:"wii",Description:["Minidien"],Added:"2009-07-29"},{Type:"language",Subtag:"wij",Description:["Wik-Iiyanh"],Added:"2009-07-29"},{Type:"language",Subtag:"wik",Description:["Wikalkan"],Added:"2009-07-29"},{Type:"language",Subtag:"wil",Description:["Wilawila"],Added:"2009-07-29"},{Type:"language",Subtag:"wim",Description:["Wik-Mungkan"],Added:"2009-07-29"},{Type:"language",Subtag:"win",Description:["Ho-Chunk"],Added:"2009-07-29"},{Type:"language",Subtag:"wir",Description:["Wiraféd"],Added:"2009-07-29"},{Type:"language",Subtag:"wit",Description:["Wintu"],Added:"2009-07-29",Deprecated:"2013-09-10",Comments:["see nol, pwi, wnw"]},{Type:"language",Subtag:"wiu",Description:["Wiru"],Added:"2009-07-29"},{Type:"language",Subtag:"wiv",Description:["Vitu"],Added:"2009-07-29"},{Type:"language",Subtag:"wiw",Description:["Wirangu"],Added:"2009-07-29",Deprecated:"2012-08-12",Comments:["see nwo, wgu"]},{Type:"language",Subtag:"wiy",Description:["Wiyot"],Added:"2009-07-29"},{Type:"language",Subtag:"wja",Description:["Waja"],Added:"2009-07-29"},{Type:"language",Subtag:"wji",Description:["Warji"],Added:"2009-07-29"},{Type:"language",Subtag:"wka",Description:["Kw'adza"],Added:"2009-07-29"},{Type:"language",Subtag:"wkb",Description:["Kumbaran"],Added:"2009-07-29"},{Type:"language",Subtag:"wkd",Description:["Wakde","Mo"],Added:"2009-07-29"},{Type:"language",Subtag:"wkl",Description:["Kalanadi"],Added:"2009-07-29"},{Type:"language",Subtag:"wkr",Description:["Keerray-Woorroong"],Added:"2019-04-16"},{Type:"language",Subtag:"wku",Description:["Kunduvadi"],Added:"2009-07-29"},{Type:"language",Subtag:"wkw",Description:["Wakawaka"],Added:"2009-07-29"},{Type:"language",Subtag:"wky",Description:["Wangkayutyuru"],Added:"2013-09-10"},{Type:"language",Subtag:"wla",Description:["Walio"],Added:"2009-07-29"},{Type:"language",Subtag:"wlc",Description:["Mwali Comorian"],Added:"2009-07-29"},{Type:"language",Subtag:"wle",Description:["Wolane"],Added:"2009-07-29"},{Type:"language",Subtag:"wlg",Description:["Kunbarlang"],Added:"2009-07-29"},{Type:"language",Subtag:"wlh",Description:["Welaun"],Added:"2020-03-28"},{Type:"language",Subtag:"wli",Description:["Waioli"],Added:"2009-07-29"},{Type:"language",Subtag:"wlk",Description:["Wailaki"],Added:"2009-07-29"},{Type:"language",Subtag:"wll",Description:["Wali (Sudan)"],Added:"2009-07-29"},{Type:"language",Subtag:"wlm",Description:["Middle Welsh"],Added:"2009-07-29"},{Type:"language",Subtag:"wlo",Description:["Wolio"],Added:"2009-07-29"},{Type:"language",Subtag:"wlr",Description:["Wailapa"],Added:"2009-07-29"},{Type:"language",Subtag:"wls",Description:["Wallisian"],Added:"2009-07-29"},{Type:"language",Subtag:"wlu",Description:["Wuliwuli"],Added:"2009-07-29"},{Type:"language",Subtag:"wlv",Description:["Wichí Lhamtés Vejoz"],Added:"2009-07-29"},{Type:"language",Subtag:"wlw",Description:["Walak"],Added:"2009-07-29"},{Type:"language",Subtag:"wlx",Description:["Wali (Ghana)"],Added:"2009-07-29"},{Type:"language",Subtag:"wly",Description:["Waling"],Added:"2009-07-29"},{Type:"language",Subtag:"wma",Description:["Mawa (Nigeria)"],Added:"2009-07-29"},{Type:"language",Subtag:"wmb",Description:["Wambaya"],Added:"2009-07-29"},{Type:"language",Subtag:"wmc",Description:["Wamas"],Added:"2009-07-29"},{Type:"language",Subtag:"wmd",Description:["Mamaindé"],Added:"2009-07-29"},{Type:"language",Subtag:"wme",Description:["Wambule"],Added:"2009-07-29"},{Type:"language",Subtag:"wmg",Description:["Western Minyag"],Added:"2021-02-20"},{Type:"language",Subtag:"wmh",Description:["Waima'a"],Added:"2009-07-29"},{Type:"language",Subtag:"wmi",Description:["Wamin"],Added:"2009-07-29"},{Type:"language",Subtag:"wmm",Description:["Maiwa (Indonesia)"],Added:"2009-07-29"},{Type:"language",Subtag:"wmn",Description:["Waamwang"],Added:"2009-07-29"},{Type:"language",Subtag:"wmo",Description:["Wom (Papua New Guinea)"],Added:"2009-07-29"},{Type:"language",Subtag:"wms",Description:["Wambon"],Added:"2009-07-29"},{Type:"language",Subtag:"wmt",Description:["Walmajarri"],Added:"2009-07-29"},{Type:"language",Subtag:"wmw",Description:["Mwani"],Added:"2009-07-29"},{Type:"language",Subtag:"wmx",Description:["Womo"],Added:"2009-07-29"},{Type:"language",Subtag:"wnb",Description:["Wanambre"],Added:"2009-07-29"},{Type:"language",Subtag:"wnc",Description:["Wantoat"],Added:"2009-07-29"},{Type:"language",Subtag:"wnd",Description:["Wandarang"],Added:"2009-07-29"},{Type:"language",Subtag:"wne",Description:["Waneci"],Added:"2009-07-29"},{Type:"language",Subtag:"wng",Description:["Wanggom"],Added:"2009-07-29"},{Type:"language",Subtag:"wni",Description:["Ndzwani Comorian"],Added:"2009-07-29"},{Type:"language",Subtag:"wnk",Description:["Wanukaka"],Added:"2009-07-29"},{Type:"language",Subtag:"wnm",Description:["Wanggamala"],Added:"2009-07-29"},{Type:"language",Subtag:"wnn",Description:["Wunumara"],Added:"2013-09-10"},{Type:"language",Subtag:"wno",Description:["Wano"],Added:"2009-07-29"},{Type:"language",Subtag:"wnp",Description:["Wanap"],Added:"2009-07-29"},{Type:"language",Subtag:"wnu",Description:["Usan"],Added:"2009-07-29"},{Type:"language",Subtag:"wnw",Description:["Wintu"],Added:"2013-09-10"},{Type:"language",Subtag:"wny",Description:["Wanyi","Waanyi"],Added:"2012-08-12"},{Type:"language",Subtag:"woa",Description:["Kuwema","Tyaraity"],Added:"2009-07-29"},{Type:"language",Subtag:"wob",Description:["Wè Northern"],Added:"2009-07-29"},{Type:"language",Subtag:"woc",Description:["Wogeo"],Added:"2009-07-29"},{Type:"language",Subtag:"wod",Description:["Wolani"],Added:"2009-07-29"},{Type:"language",Subtag:"woe",Description:["Woleaian"],Added:"2009-07-29"},{Type:"language",Subtag:"wof",Description:["Gambian Wolof"],Added:"2009-07-29"},{Type:"language",Subtag:"wog",Description:["Wogamusin"],Added:"2009-07-29"},{Type:"language",Subtag:"woi",Description:["Kamang"],Added:"2009-07-29"},{Type:"language",Subtag:"wok",Description:["Longto"],Added:"2009-07-29"},{Type:"language",Subtag:"wom",Description:["Wom (Nigeria)"],Added:"2009-07-29"},{Type:"language",Subtag:"won",Description:["Wongo"],Added:"2009-07-29"},{Type:"language",Subtag:"woo",Description:["Manombai"],Added:"2009-07-29"},{Type:"language",Subtag:"wor",Description:["Woria"],Added:"2009-07-29"},{Type:"language",Subtag:"wos",Description:["Hanga Hundi"],Added:"2009-07-29"},{Type:"language",Subtag:"wow",Description:["Wawonii"],Added:"2009-07-29"},{Type:"language",Subtag:"woy",Description:["Weyto"],Added:"2009-07-29"},{Type:"language",Subtag:"wpc",Description:["Maco"],Added:"2009-07-29"},{Type:"language",Subtag:"wra",Description:["Warapu"],Added:"2009-07-29",Deprecated:"2021-02-20",Comments:["see bpe, suo, uni"]},{Type:"language",Subtag:"wrb",Description:["Waluwarra","Warluwara"],Added:"2009-07-29"},{Type:"language",Subtag:"wrd",Description:["Warduji"],Added:"2009-07-29",Deprecated:"2022-02-25"},{Type:"language",Subtag:"wrg",Description:["Warungu","Gudjal"],Added:"2009-07-29"},{Type:"language",Subtag:"wrh",Description:["Wiradjuri"],Added:"2009-07-29"},{Type:"language",Subtag:"wri",Description:["Wariyangga"],Added:"2009-07-29"},{Type:"language",Subtag:"wrk",Description:["Garrwa"],Added:"2012-08-12"},{Type:"language",Subtag:"wrl",Description:["Warlmanpa"],Added:"2009-07-29"},{Type:"language",Subtag:"wrm",Description:["Warumungu"],Added:"2009-07-29"},{Type:"language",Subtag:"wrn",Description:["Warnang"],Added:"2009-07-29"},{Type:"language",Subtag:"wro",Description:["Worrorra"],Added:"2012-08-12"},{Type:"language",Subtag:"wrp",Description:["Waropen"],Added:"2009-07-29"},{Type:"language",Subtag:"wrr",Description:["Wardaman"],Added:"2009-07-29"},{Type:"language",Subtag:"wrs",Description:["Waris"],Added:"2009-07-29"},{Type:"language",Subtag:"wru",Description:["Waru"],Added:"2009-07-29"},{Type:"language",Subtag:"wrv",Description:["Waruna"],Added:"2009-07-29"},{Type:"language",Subtag:"wrw",Description:["Gugu Warra"],Added:"2009-07-29"},{Type:"language",Subtag:"wrx",Description:["Wae Rana"],Added:"2009-07-29"},{Type:"language",Subtag:"wry",Description:["Merwari"],Added:"2009-07-29",Macrolanguage:"mwr"},{Type:"language",Subtag:"wrz",Description:["Waray (Australia)"],Added:"2009-07-29"},{Type:"language",Subtag:"wsa",Description:["Warembori"],Added:"2009-07-29"},{Type:"language",Subtag:"wsg",Description:["Adilabad Gondi"],Added:"2016-05-30",Macrolanguage:"gon"},{Type:"language",Subtag:"wsi",Description:["Wusi"],Added:"2009-07-29"},{Type:"language",Subtag:"wsk",Description:["Waskia"],Added:"2009-07-29"},{Type:"language",Subtag:"wsr",Description:["Owenia"],Added:"2009-07-29"},{Type:"language",Subtag:"wss",Description:["Wasa"],Added:"2009-07-29"},{Type:"language",Subtag:"wsu",Description:["Wasu"],Added:"2009-07-29"},{Type:"language",Subtag:"wsv",Description:["Wotapuri-Katarqalai"],Added:"2009-07-29"},{Type:"language",Subtag:"wtf",Description:["Watiwa"],Added:"2009-07-29"},{Type:"language",Subtag:"wth",Description:["Wathawurrung"],Added:"2013-09-10"},{Type:"language",Subtag:"wti",Description:["Berta"],Added:"2009-07-29"},{Type:"language",Subtag:"wtk",Description:["Watakataui"],Added:"2009-07-29"},{Type:"language",Subtag:"wtm",Description:["Mewati"],Added:"2009-07-29"},{Type:"language",Subtag:"wtw",Description:["Wotu"],Added:"2009-07-29"},{Type:"language",Subtag:"wua",Description:["Wikngenchera"],Added:"2009-07-29"},{Type:"language",Subtag:"wub",Description:["Wunambal"],Added:"2009-07-29"},{Type:"language",Subtag:"wud",Description:["Wudu"],Added:"2009-07-29"},{Type:"language",Subtag:"wuh",Description:["Wutunhua"],Added:"2009-07-29"},{Type:"language",Subtag:"wul",Description:["Silimo"],Added:"2009-07-29"},{Type:"language",Subtag:"wum",Description:["Wumbvu"],Added:"2009-07-29"},{Type:"language",Subtag:"wun",Description:["Bungu"],Added:"2009-07-29"},{Type:"language",Subtag:"wur",Description:["Wurrugu"],Added:"2009-07-29"},{Type:"language",Subtag:"wut",Description:["Wutung"],Added:"2009-07-29"},{Type:"language",Subtag:"wuu",Description:["Wu Chinese"],Added:"2009-07-29",Macrolanguage:"zh"},{Type:"language",Subtag:"wuv",Description:["Wuvulu-Aua"],Added:"2009-07-29"},{Type:"language",Subtag:"wux",Description:["Wulna"],Added:"2009-07-29"},{Type:"language",Subtag:"wuy",Description:["Wauyai"],Added:"2009-07-29"},{Type:"language",Subtag:"wwa",Description:["Waama"],Added:"2009-07-29"},{Type:"language",Subtag:"wwb",Description:["Wakabunga"],Added:"2012-08-12"},{Type:"language",Subtag:"wwo",Description:["Wetamut","Dorig"],Added:"2009-07-29"},{Type:"language",Subtag:"wwr",Description:["Warrwa"],Added:"2009-07-29"},{Type:"language",Subtag:"www",Description:["Wawa"],Added:"2009-07-29"},{Type:"language",Subtag:"wxa",Description:["Waxianghua"],Added:"2009-07-29"},{Type:"language",Subtag:"wxw",Description:["Wardandi"],Added:"2013-09-10"},{Type:"language",Subtag:"wya",Description:["Wyandot"],Added:"2009-07-29",Deprecated:"2022-02-25",Comments:["see wdt, wyn"]},{Type:"language",Subtag:"wyb",Description:["Wangaaybuwan-Ngiyambaa"],Added:"2009-07-29"},{Type:"language",Subtag:"wyi",Description:["Woiwurrung"],Added:"2013-09-10"},{Type:"language",Subtag:"wym",Description:["Wymysorys"],Added:"2009-07-29"},{Type:"language",Subtag:"wyn",Description:["Wyandot"],Added:"2022-02-25"},{Type:"language",Subtag:"wyr",Description:["Wayoró"],Added:"2009-07-29"},{Type:"language",Subtag:"wyy",Description:["Western Fijian"],Added:"2009-07-29"},{Type:"language",Subtag:"xaa",Description:["Andalusian Arabic"],Added:"2009-07-29"},{Type:"language",Subtag:"xab",Description:["Sambe"],Added:"2009-07-29"},{Type:"language",Subtag:"xac",Description:["Kachari"],Added:"2009-07-29"},{Type:"language",Subtag:"xad",Description:["Adai"],Added:"2009-07-29"},{Type:"language",Subtag:"xae",Description:["Aequian"],Added:"2009-07-29"},{Type:"language",Subtag:"xag",Description:["Aghwan"],Added:"2009-07-29"},{Type:"language",Subtag:"xai",Description:["Kaimbé"],Added:"2009-07-29"},{Type:"language",Subtag:"xaj",Description:["Ararandewára"],Added:"2014-02-28"},{Type:"language",Subtag:"xak",Description:["Máku"],Added:"2016-05-30"},{Type:"language",Subtag:"xal",Description:["Kalmyk","Oirat"],Added:"2005-10-16"},{Type:"language",Subtag:"xam",Description:["ǀXam"],Added:"2009-07-29"},{Type:"language",Subtag:"xan",Description:["Xamtanga"],Added:"2009-07-29"},{Type:"language",Subtag:"xao",Description:["Khao"],Added:"2009-07-29"},{Type:"language",Subtag:"xap",Description:["Apalachee"],Added:"2009-07-29"},{Type:"language",Subtag:"xaq",Description:["Aquitanian"],Added:"2009-07-29"},{Type:"language",Subtag:"xar",Description:["Karami"],Added:"2009-07-29"},{Type:"language",Subtag:"xas",Description:["Kamas"],Added:"2009-07-29"},{Type:"language",Subtag:"xat",Description:["Katawixi"],Added:"2009-07-29"},{Type:"language",Subtag:"xau",Description:["Kauwera"],Added:"2009-07-29"},{Type:"language",Subtag:"xav",Description:["Xavánte"],Added:"2009-07-29"},{Type:"language",Subtag:"xaw",Description:["Kawaiisu"],Added:"2009-07-29"},{Type:"language",Subtag:"xay",Description:["Kayan Mahakam"],Added:"2009-07-29"},{Type:"language",Subtag:"xba",Description:["Kamba (Brazil)"],Added:"2009-07-29",Deprecated:"2016-05-30","Preferred-Value":"cax"},{Type:"language",Subtag:"xbb",Description:["Lower Burdekin"],Added:"2010-03-11"},{Type:"language",Subtag:"xbc",Description:["Bactrian"],Added:"2009-07-29"},{Type:"language",Subtag:"xbd",Description:["Bindal"],Added:"2013-09-10"},{Type:"language",Subtag:"xbe",Description:["Bigambal"],Added:"2013-09-10"},{Type:"language",Subtag:"xbg",Description:["Bunganditj"],Added:"2013-09-10"},{Type:"language",Subtag:"xbi",Description:["Kombio"],Added:"2009-07-29"},{Type:"language",Subtag:"xbj",Description:["Birrpayi"],Added:"2013-09-10"},{Type:"language",Subtag:"xbm",Description:["Middle Breton"],Added:"2009-07-29"},{Type:"language",Subtag:"xbn",Description:["Kenaboi"],Added:"2010-03-11"},{Type:"language",Subtag:"xbo",Description:["Bolgarian"],Added:"2009-07-29"},{Type:"language",Subtag:"xbp",Description:["Bibbulman"],Added:"2013-09-10"},{Type:"language",Subtag:"xbr",Description:["Kambera"],Added:"2009-07-29"},{Type:"language",Subtag:"xbw",Description:["Kambiwá"],Added:"2009-07-29"},{Type:"language",Subtag:"xbx",Description:["Kabixí"],Added:"2009-07-29",Deprecated:"2016-05-30"},{Type:"language",Subtag:"xby",Description:["Batjala","Batyala"],Added:"2013-09-10"},{Type:"language",Subtag:"xcb",Description:["Cumbric"],Added:"2009-07-29"},{Type:"language",Subtag:"xcc",Description:["Camunic"],Added:"2009-07-29"},{Type:"language",Subtag:"xce",Description:["Celtiberian"],Added:"2009-07-29"},{Type:"language",Subtag:"xcg",Description:["Cisalpine Gaulish"],Added:"2009-07-29"},{Type:"language",Subtag:"xch",Description:["Chemakum","Chimakum"],Added:"2009-07-29"},{Type:"language",Subtag:"xcl",Description:["Classical Armenian"],Added:"2009-07-29"},{Type:"language",Subtag:"xcm",Description:["Comecrudo"],Added:"2009-07-29"},{Type:"language",Subtag:"xcn",Description:["Cotoname"],Added:"2009-07-29"},{Type:"language",Subtag:"xco",Description:["Chorasmian"],Added:"2009-07-29"},{Type:"language",Subtag:"xcr",Description:["Carian"],Added:"2009-07-29"},{Type:"language",Subtag:"xct",Description:["Classical Tibetan"],Added:"2009-07-29"},{Type:"language",Subtag:"xcu",Description:["Curonian"],Added:"2009-07-29"},{Type:"language",Subtag:"xcv",Description:["Chuvantsy"],Added:"2009-07-29"},{Type:"language",Subtag:"xcw",Description:["Coahuilteco"],Added:"2009-07-29"},{Type:"language",Subtag:"xcy",Description:["Cayuse"],Added:"2009-07-29"},{Type:"language",Subtag:"xda",Description:["Darkinyung"],Added:"2013-09-10"},{Type:"language",Subtag:"xdc",Description:["Dacian"],Added:"2009-07-29"},{Type:"language",Subtag:"xdk",Description:["Dharuk"],Added:"2013-09-10"},{Type:"language",Subtag:"xdm",Description:["Edomite"],Added:"2009-07-29"},{Type:"language",Subtag:"xdo",Description:["Kwandu"],Added:"2017-02-23"},{Type:"language",Subtag:"xdq",Description:["Kaitag"],Added:"2022-02-25"},{Type:"language",Subtag:"xdy",Description:["Malayic Dayak"],Added:"2009-07-29"},{Type:"language",Subtag:"xeb",Description:["Eblan"],Added:"2009-07-29"},{Type:"language",Subtag:"xed",Description:["Hdi"],Added:"2009-07-29"},{Type:"language",Subtag:"xeg",Description:["ǁXegwi"],Added:"2009-07-29"},{Type:"language",Subtag:"xel",Description:["Kelo"],Added:"2009-07-29"},{Type:"language",Subtag:"xem",Description:["Kembayan"],Added:"2009-07-29"},{Type:"language",Subtag:"xep",Description:["Epi-Olmec"],Added:"2009-07-29"},{Type:"language",Subtag:"xer",Description:["Xerénte"],Added:"2009-07-29"},{Type:"language",Subtag:"xes",Description:["Kesawai"],Added:"2009-07-29"},{Type:"language",Subtag:"xet",Description:["Xetá"],Added:"2009-07-29"},{Type:"language",Subtag:"xeu",Description:["Keoru-Ahia"],Added:"2009-07-29"},{Type:"language",Subtag:"xfa",Description:["Faliscan"],Added:"2009-07-29"},{Type:"language",Subtag:"xga",Description:["Galatian"],Added:"2009-07-29"},{Type:"language",Subtag:"xgb",Description:["Gbin"],Added:"2012-08-12"},{Type:"language",Subtag:"xgd",Description:["Gudang"],Added:"2013-09-10"},{Type:"language",Subtag:"xgf",Description:["Gabrielino-Fernandeño"],Added:"2009-07-29"},{Type:"language",Subtag:"xgg",Description:["Goreng"],Added:"2013-09-10"},{Type:"language",Subtag:"xgi",Description:["Garingbal"],Added:"2013-09-10"},{Type:"language",Subtag:"xgl",Description:["Galindan"],Added:"2009-07-29"},{Type:"language",Subtag:"xgm",Description:["Dharumbal","Guwinmal"],Added:"2013-09-10"},{Type:"language",Subtag:"xgn",Description:["Mongolian languages"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"xgr",Description:["Garza"],Added:"2009-07-29"},{Type:"language",Subtag:"xgu",Description:["Unggumi"],Added:"2012-08-12"},{Type:"language",Subtag:"xgw",Description:["Guwa"],Added:"2013-09-10"},{Type:"language",Subtag:"xha",Description:["Harami"],Added:"2009-07-29"},{Type:"language",Subtag:"xhc",Description:["Hunnic"],Added:"2009-07-29"},{Type:"language",Subtag:"xhd",Description:["Hadrami"],Added:"2009-07-29"},{Type:"language",Subtag:"xhe",Description:["Khetrani"],Added:"2009-07-29",Macrolanguage:"lah"},{Type:"language",Subtag:"xhm",Description:["Middle Khmer (1400 to 1850 CE)"],Added:"2022-02-25"},{Type:"language",Subtag:"xhr",Description:["Hernican"],Added:"2009-07-29"},{Type:"language",Subtag:"xht",Description:["Hattic"],Added:"2009-07-29"},{Type:"language",Subtag:"xhu",Description:["Hurrian"],Added:"2009-07-29"},{Type:"language",Subtag:"xhv",Description:["Khua"],Added:"2009-07-29"},{Type:"language",Subtag:"xia",Description:["Xiandao"],Added:"2009-07-29",Deprecated:"2013-09-10","Preferred-Value":"acn"},{Type:"language",Subtag:"xib",Description:["Iberian"],Added:"2009-07-29"},{Type:"language",Subtag:"xii",Description:["Xiri"],Added:"2009-07-29"},{Type:"language",Subtag:"xil",Description:["Illyrian"],Added:"2009-07-29"},{Type:"language",Subtag:"xin",Description:["Xinca"],Added:"2009-07-29"},{Type:"language",Subtag:"xip",Description:["Xipináwa"],Added:"2009-07-29",Deprecated:"2016-05-30"},{Type:"language",Subtag:"xir",Description:["Xiriâna"],Added:"2009-07-29"},{Type:"language",Subtag:"xis",Description:["Kisan"],Added:"2014-02-28"},{Type:"language",Subtag:"xiv",Description:["Indus Valley Language"],Added:"2009-07-29"},{Type:"language",Subtag:"xiy",Description:["Xipaya"],Added:"2009-07-29"},{Type:"language",Subtag:"xjb",Description:["Minjungbal"],Added:"2013-09-10"},{Type:"language",Subtag:"xjt",Description:["Jaitmatang"],Added:"2013-09-10"},{Type:"language",Subtag:"xka",Description:["Kalkoti"],Added:"2009-07-29"},{Type:"language",Subtag:"xkb",Description:["Northern Nago"],Added:"2009-07-29"},{Type:"language",Subtag:"xkc",Description:["Kho'ini"],Added:"2009-07-29"},{Type:"language",Subtag:"xkd",Description:["Mendalam Kayan"],Added:"2009-07-29"},{Type:"language",Subtag:"xke",Description:["Kereho"],Added:"2009-07-29"},{Type:"language",Subtag:"xkf",Description:["Khengkha"],Added:"2009-07-29"},{Type:"language",Subtag:"xkg",Description:["Kagoro"],Added:"2009-07-29"},{Type:"language",Subtag:"xkh",Description:["Karahawyana"],Added:"2009-07-29",Deprecated:"2016-05-30","Preferred-Value":"waw"},{Type:"language",Subtag:"xki",Description:["Kenyan Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"xkj",Description:["Kajali"],Added:"2009-07-29"},{Type:"language",Subtag:"xkk",Description:["Kachok","Kaco'"],Added:"2009-07-29"},{Type:"language",Subtag:"xkl",Description:["Mainstream Kenyah"],Added:"2009-07-29"},{Type:"language",Subtag:"xkn",Description:["Kayan River Kayan"],Added:"2009-07-29"},{Type:"language",Subtag:"xko",Description:["Kiorr"],Added:"2009-07-29"},{Type:"language",Subtag:"xkp",Description:["Kabatei"],Added:"2009-07-29"},{Type:"language",Subtag:"xkq",Description:["Koroni"],Added:"2009-07-29"},{Type:"language",Subtag:"xkr",Description:["Xakriabá"],Added:"2009-07-29"},{Type:"language",Subtag:"xks",Description:["Kumbewaha"],Added:"2009-07-29"},{Type:"language",Subtag:"xkt",Description:["Kantosi"],Added:"2009-07-29"},{Type:"language",Subtag:"xku",Description:["Kaamba"],Added:"2009-07-29"},{Type:"language",Subtag:"xkv",Description:["Kgalagadi"],Added:"2009-07-29"},{Type:"language",Subtag:"xkw",Description:["Kembra"],Added:"2009-07-29"},{Type:"language",Subtag:"xkx",Description:["Karore"],Added:"2009-07-29"},{Type:"language",Subtag:"xky",Description:["Uma' Lasan"],Added:"2009-07-29"},{Type:"language",Subtag:"xkz",Description:["Kurtokha"],Added:"2009-07-29"},{Type:"language",Subtag:"xla",Description:["Kamula"],Added:"2009-07-29"},{Type:"language",Subtag:"xlb",Description:["Loup B"],Added:"2009-07-29"},{Type:"language",Subtag:"xlc",Description:["Lycian"],Added:"2009-07-29"},{Type:"language",Subtag:"xld",Description:["Lydian"],Added:"2009-07-29"},{Type:"language",Subtag:"xle",Description:["Lemnian"],Added:"2009-07-29"},{Type:"language",Subtag:"xlg",Description:["Ligurian (Ancient)"],Added:"2009-07-29"},{Type:"language",Subtag:"xli",Description:["Liburnian"],Added:"2009-07-29"},{Type:"language",Subtag:"xln",Description:["Alanic"],Added:"2009-07-29"},{Type:"language",Subtag:"xlo",Description:["Loup A"],Added:"2009-07-29"},{Type:"language",Subtag:"xlp",Description:["Lepontic"],Added:"2009-07-29"},{Type:"language",Subtag:"xls",Description:["Lusitanian"],Added:"2009-07-29"},{Type:"language",Subtag:"xlu",Description:["Cuneiform Luwian"],Added:"2009-07-29"},{Type:"language",Subtag:"xly",Description:["Elymian"],Added:"2009-07-29"},{Type:"language",Subtag:"xma",Description:["Mushungulu"],Added:"2009-07-29"},{Type:"language",Subtag:"xmb",Description:["Mbonga"],Added:"2009-07-29"},{Type:"language",Subtag:"xmc",Description:["Makhuwa-Marrevone"],Added:"2009-07-29"},{Type:"language",Subtag:"xmd",Description:["Mbudum"],Added:"2009-07-29"},{Type:"language",Subtag:"xme",Description:["Median"],Added:"2009-07-29"},{Type:"language",Subtag:"xmf",Description:["Mingrelian"],Added:"2009-07-29"},{Type:"language",Subtag:"xmg",Description:["Mengaka"],Added:"2009-07-29"},{Type:"language",Subtag:"xmh",Description:["Kugu-Muminh"],Added:"2009-07-29"},{Type:"language",Subtag:"xmj",Description:["Majera"],Added:"2009-07-29"},{Type:"language",Subtag:"xmk",Description:["Ancient Macedonian"],Added:"2009-07-29"},{Type:"language",Subtag:"xml",Description:["Malaysian Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"xmm",Description:["Manado Malay"],Added:"2009-07-29",Macrolanguage:"ms"},{Type:"language",Subtag:"xmn",Description:["Manichaean Middle Persian"],Added:"2009-07-29"},{Type:"language",Subtag:"xmo",Description:["Morerebi"],Added:"2009-07-29"},{Type:"language",Subtag:"xmp",Description:["Kuku-Mu'inh"],Added:"2009-07-29"},{Type:"language",Subtag:"xmq",Description:["Kuku-Mangk"],Added:"2009-07-29"},{Type:"language",Subtag:"xmr",Description:["Meroitic"],Added:"2009-07-29"},{Type:"language",Subtag:"xms",Description:["Moroccan Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"xmt",Description:["Matbat"],Added:"2009-07-29"},{Type:"language",Subtag:"xmu",Description:["Kamu"],Added:"2009-07-29"},{Type:"language",Subtag:"xmv",Description:["Antankarana Malagasy","Tankarana Malagasy"],Added:"2009-07-29",Macrolanguage:"mg"},{Type:"language",Subtag:"xmw",Description:["Tsimihety Malagasy"],Added:"2009-07-29",Macrolanguage:"mg"},{Type:"language",Subtag:"xmx",Description:["Salawati","Maden"],Added:"2009-07-29"},{Type:"language",Subtag:"xmy",Description:["Mayaguduna"],Added:"2009-07-29"},{Type:"language",Subtag:"xmz",Description:["Mori Bawah"],Added:"2009-07-29"},{Type:"language",Subtag:"xna",Description:["Ancient North Arabian"],Added:"2009-07-29"},{Type:"language",Subtag:"xnb",Description:["Kanakanabu"],Added:"2009-07-29"},{Type:"language",Subtag:"xnd",Description:["Na-Dene languages"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"xng",Description:["Middle Mongolian"],Added:"2009-07-29"},{Type:"language",Subtag:"xnh",Description:["Kuanhua"],Added:"2009-07-29"},{Type:"language",Subtag:"xni",Description:["Ngarigu"],Added:"2013-09-10"},{Type:"language",Subtag:"xnj",Description:["Ngoni (Tanzania)"],Added:"2021-02-20"},{Type:"language",Subtag:"xnk",Description:["Nganakarti"],Added:"2013-09-10"},{Type:"language",Subtag:"xnm",Description:["Ngumbarl"],Added:"2020-03-28"},{Type:"language",Subtag:"xnn",Description:["Northern Kankanay"],Added:"2009-07-29"},{Type:"language",Subtag:"xno",Description:["Anglo-Norman"],Added:"2009-07-29"},{Type:"language",Subtag:"xnq",Description:["Ngoni (Mozambique)"],Added:"2021-02-20"},{Type:"language",Subtag:"xnr",Description:["Kangri"],Added:"2009-07-29",Macrolanguage:"doi"},{Type:"language",Subtag:"xns",Description:["Kanashi"],Added:"2009-07-29"},{Type:"language",Subtag:"xnt",Description:["Narragansett"],Added:"2010-03-11"},{Type:"language",Subtag:"xnu",Description:["Nukunul"],Added:"2013-09-10"},{Type:"language",Subtag:"xny",Description:["Nyiyaparli"],Added:"2013-09-10"},{Type:"language",Subtag:"xnz",Description:["Kenzi","Mattoki"],Added:"2012-08-12"},{Type:"language",Subtag:"xoc",Description:["O'chi'chi'"],Added:"2009-07-29"},{Type:"language",Subtag:"xod",Description:["Kokoda"],Added:"2009-07-29"},{Type:"language",Subtag:"xog",Description:["Soga"],Added:"2009-07-29"},{Type:"language",Subtag:"xoi",Description:["Kominimung"],Added:"2009-07-29"},{Type:"language",Subtag:"xok",Description:["Xokleng"],Added:"2009-07-29"},{Type:"language",Subtag:"xom",Description:["Komo (Sudan)"],Added:"2009-07-29"},{Type:"language",Subtag:"xon",Description:["Konkomba"],Added:"2009-07-29"},{Type:"language",Subtag:"xoo",Description:["Xukurú"],Added:"2009-07-29"},{Type:"language",Subtag:"xop",Description:["Kopar"],Added:"2009-07-29"},{Type:"language",Subtag:"xor",Description:["Korubo"],Added:"2009-07-29"},{Type:"language",Subtag:"xow",Description:["Kowaki"],Added:"2009-07-29"},{Type:"language",Subtag:"xpa",Description:["Pirriya"],Added:"2013-09-10"},{Type:"language",Subtag:"xpb",Description:["Northeastern Tasmanian","Pyemmairrener"],Added:"2020-03-28"},{Type:"language",Subtag:"xpc",Description:["Pecheneg"],Added:"2009-07-29"},{Type:"language",Subtag:"xpd",Description:["Oyster Bay Tasmanian"],Added:"2020-03-28"},{Type:"language",Subtag:"xpe",Description:["Liberia Kpelle"],Added:"2009-07-29",Macrolanguage:"kpe"},{Type:"language",Subtag:"xpf",Description:["Southeast Tasmanian","Nuenonne"],Added:"2020-03-28"},{Type:"language",Subtag:"xpg",Description:["Phrygian"],Added:"2009-07-29"},{Type:"language",Subtag:"xph",Description:["North Midlands Tasmanian","Tyerrenoterpanner"],Added:"2020-03-28"},{Type:"language",Subtag:"xpi",Description:["Pictish"],Added:"2009-07-29"},{Type:"language",Subtag:"xpj",Description:["Mpalitjanh"],Added:"2012-08-12"},{Type:"language",Subtag:"xpk",Description:["Kulina Pano"],Added:"2009-07-29"},{Type:"language",Subtag:"xpl",Description:["Port Sorell Tasmanian"],Added:"2020-03-28"},{Type:"language",Subtag:"xpm",Description:["Pumpokol"],Added:"2009-07-29"},{Type:"language",Subtag:"xpn",Description:["Kapinawá"],Added:"2009-07-29"},{Type:"language",Subtag:"xpo",Description:["Pochutec"],Added:"2009-07-29"},{Type:"language",Subtag:"xpp",Description:["Puyo-Paekche"],Added:"2009-07-29"},{Type:"language",Subtag:"xpq",Description:["Mohegan-Pequot"],Added:"2010-03-11"},{Type:"language",Subtag:"xpr",Description:["Parthian"],Added:"2009-07-29"},{Type:"language",Subtag:"xps",Description:["Pisidian"],Added:"2009-07-29"},{Type:"language",Subtag:"xpt",Description:["Punthamara"],Added:"2013-09-10"},{Type:"language",Subtag:"xpu",Description:["Punic"],Added:"2009-07-29"},{Type:"language",Subtag:"xpv",Description:["Northern Tasmanian","Tommeginne"],Added:"2020-03-28"},{Type:"language",Subtag:"xpw",Description:["Northwestern Tasmanian","Peerapper"],Added:"2020-03-28"},{Type:"language",Subtag:"xpx",Description:["Southwestern Tasmanian","Toogee"],Added:"2020-03-28"},{Type:"language",Subtag:"xpy",Description:["Puyo"],Added:"2009-07-29"},{Type:"language",Subtag:"xpz",Description:["Bruny Island Tasmanian"],Added:"2020-03-28"},{Type:"language",Subtag:"xqa",Description:["Karakhanid"],Added:"2009-07-29"},{Type:"language",Subtag:"xqt",Description:["Qatabanian"],Added:"2009-07-29"},{Type:"language",Subtag:"xra",Description:["Krahô"],Added:"2009-07-29"},{Type:"language",Subtag:"xrb",Description:["Eastern Karaboro"],Added:"2009-07-29"},{Type:"language",Subtag:"xrd",Description:["Gundungurra"],Added:"2013-09-10"},{Type:"language",Subtag:"xre",Description:["Kreye"],Added:"2009-07-29"},{Type:"language",Subtag:"xrg",Description:["Minang"],Added:"2013-09-10"},{Type:"language",Subtag:"xri",Description:["Krikati-Timbira"],Added:"2009-07-29"},{Type:"language",Subtag:"xrm",Description:["Armazic"],Added:"2009-07-29"},{Type:"language",Subtag:"xrn",Description:["Arin"],Added:"2009-07-29"},{Type:"language",Subtag:"xrq",Description:["Karranga"],Added:"2013-09-10",Deprecated:"2020-03-28","Preferred-Value":"dmw"},{Type:"language",Subtag:"xrr",Description:["Raetic"],Added:"2009-07-29"},{Type:"language",Subtag:"xrt",Description:["Aranama-Tamique"],Added:"2009-07-29"},{Type:"language",Subtag:"xru",Description:["Marriammu"],Added:"2009-07-29"},{Type:"language",Subtag:"xrw",Description:["Karawa"],Added:"2009-07-29"},{Type:"language",Subtag:"xsa",Description:["Sabaean"],Added:"2009-07-29"},{Type:"language",Subtag:"xsb",Description:["Sambal"],Added:"2009-07-29"},{Type:"language",Subtag:"xsc",Description:["Scythian"],Added:"2009-07-29"},{Type:"language",Subtag:"xsd",Description:["Sidetic"],Added:"2009-07-29"},{Type:"language",Subtag:"xse",Description:["Sempan"],Added:"2009-07-29"},{Type:"language",Subtag:"xsh",Description:["Shamang"],Added:"2009-07-29"},{Type:"language",Subtag:"xsi",Description:["Sio"],Added:"2009-07-29"},{Type:"language",Subtag:"xsj",Description:["Subi"],Added:"2009-07-29",Comments:["see also suj"]},{Type:"language",Subtag:"xsl",Description:["South Slavey"],Added:"2009-07-29",Macrolanguage:"den"},{Type:"language",Subtag:"xsm",Description:["Kasem"],Added:"2009-07-29"},{Type:"language",Subtag:"xsn",Description:["Sanga (Nigeria)"],Added:"2009-07-29"},{Type:"language",Subtag:"xso",Description:["Solano"],Added:"2009-07-29"},{Type:"language",Subtag:"xsp",Description:["Silopi"],Added:"2009-07-29"},{Type:"language",Subtag:"xsq",Description:["Makhuwa-Saka"],Added:"2009-07-29"},{Type:"language",Subtag:"xsr",Description:["Sherpa"],Added:"2009-07-29"},{Type:"language",Subtag:"xss",Description:["Assan"],Added:"2009-07-29"},{Type:"language",Subtag:"xsu",Description:["Sanumá"],Added:"2009-07-29"},{Type:"language",Subtag:"xsv",Description:["Sudovian"],Added:"2009-07-29"},{Type:"language",Subtag:"xsy",Description:["Saisiyat"],Added:"2009-07-29"},{Type:"language",Subtag:"xta",Description:["Alcozauca Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"xtb",Description:["Chazumba Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"xtc",Description:["Katcha-Kadugli-Miri"],Added:"2009-07-29"},{Type:"language",Subtag:"xtd",Description:["Diuxi-Tilantongo Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"xte",Description:["Ketengban"],Added:"2009-07-29"},{Type:"language",Subtag:"xtg",Description:["Transalpine Gaulish"],Added:"2009-07-29"},{Type:"language",Subtag:"xth",Description:["Yitha Yitha"],Added:"2013-09-10"},{Type:"language",Subtag:"xti",Description:["Sinicahua Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"xtj",Description:["San Juan Teita Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"xtl",Description:["Tijaltepec Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"xtm",Description:["Magdalena Peñasco Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"xtn",Description:["Northern Tlaxiaco Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"xto",Description:["Tokharian A"],Added:"2009-07-29"},{Type:"language",Subtag:"xtp",Description:["San Miguel Piedras Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"xtq",Description:["Tumshuqese"],Added:"2009-07-29"},{Type:"language",Subtag:"xtr",Description:["Early Tripuri"],Added:"2009-07-29"},{Type:"language",Subtag:"xts",Description:["Sindihui Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"xtt",Description:["Tacahua Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"xtu",Description:["Cuyamecalco Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"xtv",Description:["Thawa"],Added:"2013-09-10"},{Type:"language",Subtag:"xtw",Description:["Tawandê"],Added:"2009-07-29"},{Type:"language",Subtag:"xty",Description:["Yoloxochitl Mixtec"],Added:"2009-07-29"},{Type:"language",Subtag:"xtz",Description:["Tasmanian"],Added:"2009-07-29",Deprecated:"2020-03-28",Comments:["see xpb, xpd, xpf, xph, xpl, xpv, xpw, xpx, xpz"]},{Type:"language",Subtag:"xua",Description:["Alu Kurumba"],Added:"2009-07-29"},{Type:"language",Subtag:"xub",Description:["Betta Kurumba"],Added:"2009-07-29"},{Type:"language",Subtag:"xud",Description:["Umiida"],Added:"2012-08-12"},{Type:"language",Subtag:"xug",Description:["Kunigami"],Added:"2009-07-29"},{Type:"language",Subtag:"xuj",Description:["Jennu Kurumba"],Added:"2009-07-29"},{Type:"language",Subtag:"xul",Description:["Ngunawal","Nunukul"],Added:"2013-09-10"},{Type:"language",Subtag:"xum",Description:["Umbrian"],Added:"2009-07-29"},{Type:"language",Subtag:"xun",Description:["Unggaranggu"],Added:"2012-08-12"},{Type:"language",Subtag:"xuo",Description:["Kuo"],Added:"2009-07-29"},{Type:"language",Subtag:"xup",Description:["Upper Umpqua"],Added:"2009-07-29"},{Type:"language",Subtag:"xur",Description:["Urartian"],Added:"2009-07-29"},{Type:"language",Subtag:"xut",Description:["Kuthant"],Added:"2009-07-29"},{Type:"language",Subtag:"xuu",Description:["Kxoe","Khwedam"],Added:"2009-07-29"},{Type:"language",Subtag:"xve",Description:["Venetic"],Added:"2009-07-29"},{Type:"language",Subtag:"xvi",Description:["Kamviri"],Added:"2009-07-29"},{Type:"language",Subtag:"xvn",Description:["Vandalic"],Added:"2009-07-29"},{Type:"language",Subtag:"xvo",Description:["Volscian"],Added:"2009-07-29"},{Type:"language",Subtag:"xvs",Description:["Vestinian"],Added:"2009-07-29"},{Type:"language",Subtag:"xwa",Description:["Kwaza"],Added:"2009-07-29"},{Type:"language",Subtag:"xwc",Description:["Woccon"],Added:"2009-07-29"},{Type:"language",Subtag:"xwd",Description:["Wadi Wadi"],Added:"2013-09-10"},{Type:"language",Subtag:"xwe",Description:["Xwela Gbe"],Added:"2009-07-29"},{Type:"language",Subtag:"xwg",Description:["Kwegu"],Added:"2009-07-29"},{Type:"language",Subtag:"xwj",Description:["Wajuk"],Added:"2013-09-10"},{Type:"language",Subtag:"xwk",Description:["Wangkumara"],Added:"2013-09-10"},{Type:"language",Subtag:"xwl",Description:["Western Xwla Gbe"],Added:"2009-07-29"},{Type:"language",Subtag:"xwo",Description:["Written Oirat"],Added:"2009-07-29"},{Type:"language",Subtag:"xwr",Description:["Kwerba Mamberamo"],Added:"2009-07-29"},{Type:"language",Subtag:"xwt",Description:["Wotjobaluk"],Added:"2013-09-10"},{Type:"language",Subtag:"xww",Description:["Wemba Wemba"],Added:"2013-09-10"},{Type:"language",Subtag:"xxb",Description:["Boro (Ghana)"],Added:"2009-07-29"},{Type:"language",Subtag:"xxk",Description:["Ke'o"],Added:"2009-07-29"},{Type:"language",Subtag:"xxm",Description:["Minkin"],Added:"2013-09-10"},{Type:"language",Subtag:"xxr",Description:["Koropó"],Added:"2009-07-29"},{Type:"language",Subtag:"xxt",Description:["Tambora"],Added:"2009-07-29"},{Type:"language",Subtag:"xya",Description:["Yaygir"],Added:"2013-09-10"},{Type:"language",Subtag:"xyb",Description:["Yandjibara"],Added:"2013-09-10"},{Type:"language",Subtag:"xyj",Description:["Mayi-Yapi"],Added:"2013-09-10"},{Type:"language",Subtag:"xyk",Description:["Mayi-Kulan"],Added:"2013-09-10"},{Type:"language",Subtag:"xyl",Description:["Yalakalore"],Added:"2009-07-29"},{Type:"language",Subtag:"xyt",Description:["Mayi-Thakurti"],Added:"2013-09-10"},{Type:"language",Subtag:"xyy",Description:["Yorta Yorta"],Added:"2012-08-12"},{Type:"language",Subtag:"xzh",Description:["Zhang-Zhung"],Added:"2009-07-29"},{Type:"language",Subtag:"xzm",Description:["Zemgalian"],Added:"2009-07-29"},{Type:"language",Subtag:"xzp",Description:["Ancient Zapotec"],Added:"2009-07-29"},{Type:"language",Subtag:"yaa",Description:["Yaminahua"],Added:"2009-07-29"},{Type:"language",Subtag:"yab",Description:["Yuhup"],Added:"2009-07-29"},{Type:"language",Subtag:"yac",Description:["Pass Valley Yali"],Added:"2009-07-29"},{Type:"language",Subtag:"yad",Description:["Yagua"],Added:"2009-07-29"},{Type:"language",Subtag:"yae",Description:["Pumé"],Added:"2009-07-29"},{Type:"language",Subtag:"yaf",Description:["Yaka (Democratic Republic of Congo)"],Added:"2009-07-29"},{Type:"language",Subtag:"yag",Description:["Yámana"],Added:"2009-07-29"},{Type:"language",Subtag:"yah",Description:["Yazgulyam"],Added:"2009-07-29"},{Type:"language",Subtag:"yai",Description:["Yagnobi"],Added:"2009-07-29"},{Type:"language",Subtag:"yaj",Description:["Banda-Yangere"],Added:"2009-07-29"},{Type:"language",Subtag:"yak",Description:["Yakama"],Added:"2009-07-29"},{Type:"language",Subtag:"yal",Description:["Yalunka"],Added:"2009-07-29"},{Type:"language",Subtag:"yam",Description:["Yamba"],Added:"2009-07-29"},{Type:"language",Subtag:"yan",Description:["Mayangna"],Added:"2010-03-11"},{Type:"language",Subtag:"yao",Description:["Yao"],Added:"2005-10-16"},{Type:"language",Subtag:"yap",Description:["Yapese"],Added:"2005-10-16"},{Type:"language",Subtag:"yaq",Description:["Yaqui"],Added:"2009-07-29"},{Type:"language",Subtag:"yar",Description:["Yabarana"],Added:"2009-07-29"},{Type:"language",Subtag:"yas",Description:["Nugunu (Cameroon)"],Added:"2009-07-29"},{Type:"language",Subtag:"yat",Description:["Yambeta"],Added:"2009-07-29"},{Type:"language",Subtag:"yau",Description:["Yuwana"],Added:"2009-07-29"},{Type:"language",Subtag:"yav",Description:["Yangben"],Added:"2009-07-29"},{Type:"language",Subtag:"yaw",Description:["Yawalapití"],Added:"2009-07-29"},{Type:"language",Subtag:"yax",Description:["Yauma"],Added:"2009-07-29"},{Type:"language",Subtag:"yay",Description:["Agwagwune"],Added:"2009-07-29"},{Type:"language",Subtag:"yaz",Description:["Lokaa"],Added:"2009-07-29"},{Type:"language",Subtag:"yba",Description:["Yala"],Added:"2009-07-29"},{Type:"language",Subtag:"ybb",Description:["Yemba"],Added:"2009-07-29"},{Type:"language",Subtag:"ybd",Description:["Yangbye"],Added:"2009-07-29",Deprecated:"2012-08-12","Preferred-Value":"rki"},{Type:"language",Subtag:"ybe",Description:["West Yugur"],Added:"2009-07-29"},{Type:"language",Subtag:"ybh",Description:["Yakha"],Added:"2009-07-29"},{Type:"language",Subtag:"ybi",Description:["Yamphu"],Added:"2009-07-29"},{Type:"language",Subtag:"ybj",Description:["Hasha"],Added:"2009-07-29"},{Type:"language",Subtag:"ybk",Description:["Bokha"],Added:"2009-07-29"},{Type:"language",Subtag:"ybl",Description:["Yukuben"],Added:"2009-07-29"},{Type:"language",Subtag:"ybm",Description:["Yaben"],Added:"2009-07-29"},{Type:"language",Subtag:"ybn",Description:["Yabaâna"],Added:"2009-07-29"},{Type:"language",Subtag:"ybo",Description:["Yabong"],Added:"2009-07-29"},{Type:"language",Subtag:"ybx",Description:["Yawiyo"],Added:"2009-07-29"},{Type:"language",Subtag:"yby",Description:["Yaweyuha"],Added:"2009-07-29"},{Type:"language",Subtag:"ych",Description:["Chesu"],Added:"2009-07-29"},{Type:"language",Subtag:"ycl",Description:["Lolopo"],Added:"2009-07-29"},{Type:"language",Subtag:"ycn",Description:["Yucuna"],Added:"2009-07-29"},{Type:"language",Subtag:"ycp",Description:["Chepya"],Added:"2009-07-29"},{Type:"language",Subtag:"yda",Description:["Yanda"],Added:"2013-09-10"},{Type:"language",Subtag:"ydd",Description:["Eastern Yiddish"],Added:"2009-07-29",Macrolanguage:"yi"},{Type:"language",Subtag:"yde",Description:["Yangum Dey"],Added:"2009-07-29"},{Type:"language",Subtag:"ydg",Description:["Yidgha"],Added:"2009-07-29"},{Type:"language",Subtag:"ydk",Description:["Yoidik"],Added:"2009-07-29"},{Type:"language",Subtag:"yds",Description:["Yiddish Sign Language"],Added:"2009-07-29",Deprecated:"2015-02-12"},{Type:"language",Subtag:"yea",Description:["Ravula"],Added:"2009-07-29"},{Type:"language",Subtag:"yec",Description:["Yeniche"],Added:"2009-07-29"},{Type:"language",Subtag:"yee",Description:["Yimas"],Added:"2009-07-29"},{Type:"language",Subtag:"yei",Description:["Yeni"],Added:"2009-07-29"},{Type:"language",Subtag:"yej",Description:["Yevanic"],Added:"2009-07-29"},{Type:"language",Subtag:"yel",Description:["Yela"],Added:"2009-07-29"},{Type:"language",Subtag:"yen",Description:["Yendang"],Added:"2009-07-29",Deprecated:"2012-08-12",Comments:["see ynq, yot"]},{Type:"language",Subtag:"yer",Description:["Tarok"],Added:"2009-07-29"},{Type:"language",Subtag:"yes",Description:["Nyankpa"],Added:"2009-07-29"},{Type:"language",Subtag:"yet",Description:["Yetfa"],Added:"2009-07-29"},{Type:"language",Subtag:"yeu",Description:["Yerukula"],Added:"2009-07-29"},{Type:"language",Subtag:"yev",Description:["Yapunda"],Added:"2009-07-29"},{Type:"language",Subtag:"yey",Description:["Yeyi"],Added:"2009-07-29"},{Type:"language",Subtag:"yga",Description:["Malyangapa"],Added:"2012-08-12"},{Type:"language",Subtag:"ygi",Description:["Yiningayi"],Added:"2013-09-10"},{Type:"language",Subtag:"ygl",Description:["Yangum Gel"],Added:"2009-07-29"},{Type:"language",Subtag:"ygm",Description:["Yagomi"],Added:"2009-07-29"},{Type:"language",Subtag:"ygp",Description:["Gepo"],Added:"2009-07-29"},{Type:"language",Subtag:"ygr",Description:["Yagaria"],Added:"2009-07-29"},{Type:"language",Subtag:"ygs",Description:["Yolŋu Sign Language"],Added:"2014-02-28"},{Type:"language",Subtag:"ygu",Description:["Yugul"],Added:"2013-09-10"},{Type:"language",Subtag:"ygw",Description:["Yagwoia"],Added:"2009-07-29"},{Type:"language",Subtag:"yha",Description:["Baha Buyang"],Added:"2009-07-29"},{Type:"language",Subtag:"yhd",Description:["Judeo-Iraqi Arabic"],Added:"2009-07-29",Macrolanguage:"jrb"},{Type:"language",Subtag:"yhl",Description:["Hlepho Phowa"],Added:"2009-07-29"},{Type:"language",Subtag:"yhs",Description:["Yan-nhaŋu Sign Language"],Added:"2015-04-17"},{Type:"language",Subtag:"yia",Description:["Yinggarda"],Added:"2009-07-29"},{Type:"language",Subtag:"yif",Description:["Ache"],Added:"2009-07-29"},{Type:"language",Subtag:"yig",Description:["Wusa Nasu"],Added:"2009-07-29"},{Type:"language",Subtag:"yih",Description:["Western Yiddish"],Added:"2009-07-29",Macrolanguage:"yi"},{Type:"language",Subtag:"yii",Description:["Yidiny"],Added:"2009-07-29"},{Type:"language",Subtag:"yij",Description:["Yindjibarndi"],Added:"2009-07-29"},{Type:"language",Subtag:"yik",Description:["Dongshanba Lalo"],Added:"2009-07-29"},{Type:"language",Subtag:"yil",Description:["Yindjilandji"],Added:"2009-07-29"},{Type:"language",Subtag:"yim",Description:["Yimchungru Naga"],Added:"2009-07-29"},{Type:"language",Subtag:"yin",Description:["Riang Lai","Yinchia"],Added:"2009-07-29"},{Type:"language",Subtag:"yip",Description:["Pholo"],Added:"2009-07-29"},{Type:"language",Subtag:"yiq",Description:["Miqie"],Added:"2009-07-29"},{Type:"language",Subtag:"yir",Description:["North Awyu"],Added:"2009-07-29"},{Type:"language",Subtag:"yis",Description:["Yis"],Added:"2009-07-29"},{Type:"language",Subtag:"yit",Description:["Eastern Lalu"],Added:"2009-07-29"},{Type:"language",Subtag:"yiu",Description:["Awu"],Added:"2009-07-29"},{Type:"language",Subtag:"yiv",Description:["Northern Nisu"],Added:"2009-07-29"},{Type:"language",Subtag:"yix",Description:["Axi Yi"],Added:"2009-07-29"},{Type:"language",Subtag:"yiy",Description:["Yir Yoront"],Added:"2009-07-29",Deprecated:"2013-09-10",Comments:["see yrm, yyr"]},{Type:"language",Subtag:"yiz",Description:["Azhe"],Added:"2009-07-29"},{Type:"language",Subtag:"yka",Description:["Yakan"],Added:"2009-07-29"},{Type:"language",Subtag:"ykg",Description:["Northern Yukaghir"],Added:"2009-07-29"},{Type:"language",Subtag:"yki",Description:["Yoke"],Added:"2009-07-29"},{Type:"language",Subtag:"ykk",Description:["Yakaikeke"],Added:"2009-07-29"},{Type:"language",Subtag:"ykl",Description:["Khlula"],Added:"2009-07-29"},{Type:"language",Subtag:"ykm",Description:["Kap"],Added:"2009-07-29"},{Type:"language",Subtag:"ykn",Description:["Kua-nsi"],Added:"2012-08-12"},{Type:"language",Subtag:"yko",Description:["Yasa"],Added:"2009-07-29"},{Type:"language",Subtag:"ykr",Description:["Yekora"],Added:"2009-07-29"},{Type:"language",Subtag:"ykt",Description:["Kathu"],Added:"2009-07-29"},{Type:"language",Subtag:"yku",Description:["Kuamasi"],Added:"2012-08-12"},{Type:"language",Subtag:"yky",Description:["Yakoma"],Added:"2009-07-29"},{Type:"language",Subtag:"yla",Description:["Yaul"],Added:"2009-07-29"},{Type:"language",Subtag:"ylb",Description:["Yaleba"],Added:"2010-03-11"},{Type:"language",Subtag:"yle",Description:["Yele"],Added:"2009-07-29"},{Type:"language",Subtag:"ylg",Description:["Yelogu"],Added:"2009-07-29"},{Type:"language",Subtag:"yli",Description:["Angguruk Yali"],Added:"2009-07-29"},{Type:"language",Subtag:"yll",Description:["Yil"],Added:"2009-07-29"},{Type:"language",Subtag:"ylm",Description:["Limi"],Added:"2009-07-29"},{Type:"language",Subtag:"yln",Description:["Langnian Buyang"],Added:"2009-07-29"},{Type:"language",Subtag:"ylo",Description:["Naluo Yi"],Added:"2009-07-29"},{Type:"language",Subtag:"ylr",Description:["Yalarnnga"],Added:"2009-07-29"},{Type:"language",Subtag:"ylu",Description:["Aribwaung"],Added:"2009-07-29"},{Type:"language",Subtag:"yly",Description:["Nyâlayu","Nyelâyu"],Added:"2009-07-29"},{Type:"language",Subtag:"yma",Description:["Yamphe"],Added:"2009-07-29",Deprecated:"2012-08-12","Preferred-Value":"lrr"},{Type:"language",Subtag:"ymb",Description:["Yambes"],Added:"2009-07-29"},{Type:"language",Subtag:"ymc",Description:["Southern Muji"],Added:"2009-07-29"},{Type:"language",Subtag:"ymd",Description:["Muda"],Added:"2009-07-29"},{Type:"language",Subtag:"yme",Description:["Yameo"],Added:"2009-07-29"},{Type:"language",Subtag:"ymg",Description:["Yamongeri"],Added:"2009-07-29"},{Type:"language",Subtag:"ymh",Description:["Mili"],Added:"2009-07-29"},{Type:"language",Subtag:"ymi",Description:["Moji"],Added:"2009-07-29"},{Type:"language",Subtag:"ymk",Description:["Makwe"],Added:"2009-07-29"},{Type:"language",Subtag:"yml",Description:["Iamalele"],Added:"2009-07-29"},{Type:"language",Subtag:"ymm",Description:["Maay"],Added:"2009-07-29"},{Type:"language",Subtag:"ymn",Description:["Yamna","Sunum"],Added:"2009-07-29"},{Type:"language",Subtag:"ymo",Description:["Yangum Mon"],Added:"2009-07-29"},{Type:"language",Subtag:"ymp",Description:["Yamap"],Added:"2009-07-29"},{Type:"language",Subtag:"ymq",Description:["Qila Muji"],Added:"2009-07-29"},{Type:"language",Subtag:"ymr",Description:["Malasar"],Added:"2009-07-29"},{Type:"language",Subtag:"yms",Description:["Mysian"],Added:"2009-07-29"},{Type:"language",Subtag:"ymt",Description:["Mator-Taygi-Karagas"],Added:"2009-07-29",Deprecated:"2015-02-12","Preferred-Value":"mtm"},{Type:"language",Subtag:"ymx",Description:["Northern Muji"],Added:"2009-07-29"},{Type:"language",Subtag:"ymz",Description:["Muzi"],Added:"2009-07-29"},{Type:"language",Subtag:"yna",Description:["Aluo"],Added:"2009-07-29"},{Type:"language",Subtag:"ynd",Description:["Yandruwandha"],Added:"2009-07-29"},{Type:"language",Subtag:"yne",Description:["Lang'e"],Added:"2009-07-29"},{Type:"language",Subtag:"yng",Description:["Yango"],Added:"2009-07-29"},{Type:"language",Subtag:"ynh",Description:["Yangho"],Added:"2009-07-29",Deprecated:"2015-02-12"},{Type:"language",Subtag:"ynk",Description:["Naukan Yupik"],Added:"2009-07-29"},{Type:"language",Subtag:"ynl",Description:["Yangulam"],Added:"2009-07-29"},{Type:"language",Subtag:"ynn",Description:["Yana"],Added:"2009-07-29"},{Type:"language",Subtag:"yno",Description:["Yong"],Added:"2009-07-29"},{Type:"language",Subtag:"ynq",Description:["Yendang"],Added:"2012-08-12"},{Type:"language",Subtag:"yns",Description:["Yansi"],Added:"2009-07-29"},{Type:"language",Subtag:"ynu",Description:["Yahuna"],Added:"2009-07-29"},{Type:"language",Subtag:"yob",Description:["Yoba"],Added:"2009-07-29"},{Type:"language",Subtag:"yog",Description:["Yogad"],Added:"2009-07-29"},{Type:"language",Subtag:"yoi",Description:["Yonaguni"],Added:"2009-07-29"},{Type:"language",Subtag:"yok",Description:["Yokuts"],Added:"2009-07-29"},{Type:"language",Subtag:"yol",Description:["Yola"],Added:"2009-07-29"},{Type:"language",Subtag:"yom",Description:["Yombe"],Added:"2009-07-29"},{Type:"language",Subtag:"yon",Description:["Yongkom"],Added:"2009-07-29"},{Type:"language",Subtag:"yos",Description:["Yos"],Added:"2009-07-29",Deprecated:"2013-09-10","Preferred-Value":"zom"},{Type:"language",Subtag:"yot",Description:["Yotti"],Added:"2012-08-12"},{Type:"language",Subtag:"yox",Description:["Yoron"],Added:"2009-07-29"},{Type:"language",Subtag:"yoy",Description:["Yoy"],Added:"2009-07-29"},{Type:"language",Subtag:"ypa",Description:["Phala"],Added:"2009-07-29"},{Type:"language",Subtag:"ypb",Description:["Labo Phowa"],Added:"2009-07-29"},{Type:"language",Subtag:"ypg",Description:["Phola"],Added:"2009-07-29"},{Type:"language",Subtag:"yph",Description:["Phupha"],Added:"2009-07-29"},{Type:"language",Subtag:"ypk",Description:["Yupik languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"ypm",Description:["Phuma"],Added:"2009-07-29"},{Type:"language",Subtag:"ypn",Description:["Ani Phowa"],Added:"2009-07-29"},{Type:"language",Subtag:"ypo",Description:["Alo Phola"],Added:"2009-07-29"},{Type:"language",Subtag:"ypp",Description:["Phupa"],Added:"2009-07-29"},{Type:"language",Subtag:"ypz",Description:["Phuza"],Added:"2009-07-29"},{Type:"language",Subtag:"yra",Description:["Yerakai"],Added:"2009-07-29"},{Type:"language",Subtag:"yrb",Description:["Yareba"],Added:"2009-07-29"},{Type:"language",Subtag:"yre",Description:["Yaouré"],Added:"2009-07-29"},{Type:"language",Subtag:"yri",Description:["Yarí"],Added:"2009-07-29",Deprecated:"2016-05-30"},{Type:"language",Subtag:"yrk",Description:["Nenets"],Added:"2009-07-29"},{Type:"language",Subtag:"yrl",Description:["Nhengatu"],Added:"2009-07-29"},{Type:"language",Subtag:"yrm",Description:["Yirrk-Mel"],Added:"2013-09-10"},{Type:"language",Subtag:"yrn",Description:["Yerong"],Added:"2009-07-29"},{Type:"language",Subtag:"yro",Description:["Yaroamë"],Added:"2016-05-30"},{Type:"language",Subtag:"yrs",Description:["Yarsun"],Added:"2009-07-29"},{Type:"language",Subtag:"yrw",Description:["Yarawata"],Added:"2009-07-29"},{Type:"language",Subtag:"yry",Description:["Yarluyandi"],Added:"2013-09-10"},{Type:"language",Subtag:"ysc",Description:["Yassic"],Added:"2009-07-29"},{Type:"language",Subtag:"ysd",Description:["Samatao"],Added:"2009-07-29"},{Type:"language",Subtag:"ysg",Description:["Sonaga"],Added:"2012-08-12"},{Type:"language",Subtag:"ysl",Description:["Yugoslavian Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"ysm",Description:["Myanmar Sign Language"],Added:"2021-02-20"},{Type:"language",Subtag:"ysn",Description:["Sani"],Added:"2009-07-29"},{Type:"language",Subtag:"yso",Description:["Nisi (China)"],Added:"2009-07-29"},{Type:"language",Subtag:"ysp",Description:["Southern Lolopo"],Added:"2009-07-29"},{Type:"language",Subtag:"ysr",Description:["Sirenik Yupik"],Added:"2009-07-29"},{Type:"language",Subtag:"yss",Description:["Yessan-Mayo"],Added:"2009-07-29"},{Type:"language",Subtag:"ysy",Description:["Sanie"],Added:"2009-07-29"},{Type:"language",Subtag:"yta",Description:["Talu"],Added:"2009-07-29"},{Type:"language",Subtag:"ytl",Description:["Tanglang"],Added:"2009-07-29"},{Type:"language",Subtag:"ytp",Description:["Thopho"],Added:"2009-07-29"},{Type:"language",Subtag:"ytw",Description:["Yout Wam"],Added:"2010-03-11"},{Type:"language",Subtag:"yty",Description:["Yatay"],Added:"2013-09-10"},{Type:"language",Subtag:"yua",Description:["Yucateco","Yucatec Maya"],Added:"2009-07-29"},{Type:"language",Subtag:"yub",Description:["Yugambal"],Added:"2009-07-29"},{Type:"language",Subtag:"yuc",Description:["Yuchi"],Added:"2009-07-29"},{Type:"language",Subtag:"yud",Description:["Judeo-Tripolitanian Arabic"],Added:"2009-07-29",Macrolanguage:"jrb"},{Type:"language",Subtag:"yue",Description:["Yue Chinese","Cantonese"],Added:"2009-07-29",Macrolanguage:"zh"},{Type:"language",Subtag:"yuf",Description:["Havasupai-Walapai-Yavapai"],Added:"2009-07-29"},{Type:"language",Subtag:"yug",Description:["Yug"],Added:"2009-07-29"},{Type:"language",Subtag:"yui",Description:["Yurutí"],Added:"2009-07-29"},{Type:"language",Subtag:"yuj",Description:["Karkar-Yuri"],Added:"2009-07-29"},{Type:"language",Subtag:"yuk",Description:["Yuki"],Added:"2009-07-29"},{Type:"language",Subtag:"yul",Description:["Yulu"],Added:"2009-07-29"},{Type:"language",Subtag:"yum",Description:["Quechan"],Added:"2009-07-29"},{Type:"language",Subtag:"yun",Description:["Bena (Nigeria)"],Added:"2009-07-29"},{Type:"language",Subtag:"yup",Description:["Yukpa"],Added:"2009-07-29"},{Type:"language",Subtag:"yuq",Description:["Yuqui"],Added:"2009-07-29"},{Type:"language",Subtag:"yur",Description:["Yurok"],Added:"2009-07-29"},{Type:"language",Subtag:"yut",Description:["Yopno"],Added:"2009-07-29"},{Type:"language",Subtag:"yuu",Description:["Yugh"],Added:"2009-07-29",Deprecated:"2014-02-28","Preferred-Value":"yug"},{Type:"language",Subtag:"yuw",Description:["Yau (Morobe Province)"],Added:"2009-07-29"},{Type:"language",Subtag:"yux",Description:["Southern Yukaghir"],Added:"2009-07-29"},{Type:"language",Subtag:"yuy",Description:["East Yugur"],Added:"2009-07-29"},{Type:"language",Subtag:"yuz",Description:["Yuracare"],Added:"2009-07-29"},{Type:"language",Subtag:"yva",Description:["Yawa"],Added:"2009-07-29"},{Type:"language",Subtag:"yvt",Description:["Yavitero"],Added:"2009-07-29"},{Type:"language",Subtag:"ywa",Description:["Kalou"],Added:"2009-07-29"},{Type:"language",Subtag:"ywg",Description:["Yinhawangka"],Added:"2013-09-10"},{Type:"language",Subtag:"ywl",Description:["Western Lalu"],Added:"2009-07-29"},{Type:"language",Subtag:"ywn",Description:["Yawanawa"],Added:"2009-07-29"},{Type:"language",Subtag:"ywq",Description:["Wuding-Luquan Yi"],Added:"2009-07-29"},{Type:"language",Subtag:"ywr",Description:["Yawuru"],Added:"2009-07-29"},{Type:"language",Subtag:"ywt",Description:["Xishanba Lalo","Central Lalo"],Added:"2009-07-29"},{Type:"language",Subtag:"ywu",Description:["Wumeng Nasu"],Added:"2009-07-29"},{Type:"language",Subtag:"yww",Description:["Yawarawarga"],Added:"2009-07-29"},{Type:"language",Subtag:"yxa",Description:["Mayawali"],Added:"2013-09-10"},{Type:"language",Subtag:"yxg",Description:["Yagara"],Added:"2012-08-12"},{Type:"language",Subtag:"yxl",Description:["Yardliyawarra"],Added:"2013-09-10"},{Type:"language",Subtag:"yxm",Description:["Yinwum"],Added:"2013-09-10"},{Type:"language",Subtag:"yxu",Description:["Yuyu"],Added:"2013-09-10"},{Type:"language",Subtag:"yxy",Description:["Yabula Yabula"],Added:"2012-08-12"},{Type:"language",Subtag:"yyr",Description:["Yir Yoront"],Added:"2013-09-03"},{Type:"language",Subtag:"yyu",Description:["Yau (Sandaun Province)"],Added:"2009-07-29"},{Type:"language",Subtag:"yyz",Description:["Ayizi"],Added:"2009-07-29"},{Type:"language",Subtag:"yzg",Description:["E'ma Buyang"],Added:"2009-07-29"},{Type:"language",Subtag:"yzk",Description:["Zokhuo"],Added:"2009-07-29"},{Type:"language",Subtag:"zaa",Description:["Sierra de Juárez Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"zab",Description:["Western Tlacolula Valley Zapotec","San Juan Guelavía Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"zac",Description:["Ocotlán Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"zad",Description:["Cajonos Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"zae",Description:["Yareni Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"zaf",Description:["Ayoquesco Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"zag",Description:["Zaghawa"],Added:"2009-07-29"},{Type:"language",Subtag:"zah",Description:["Zangwal"],Added:"2009-07-29"},{Type:"language",Subtag:"zai",Description:["Isthmus Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"zaj",Description:["Zaramo"],Added:"2009-07-29"},{Type:"language",Subtag:"zak",Description:["Zanaki"],Added:"2009-07-29"},{Type:"language",Subtag:"zal",Description:["Zauzou"],Added:"2009-07-29"},{Type:"language",Subtag:"zam",Description:["Miahuatlán Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"zao",Description:["Ozolotepec Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"zap",Description:["Zapotec"],Added:"2005-10-16",Scope:"macrolanguage"},{Type:"language",Subtag:"zaq",Description:["Aloápam Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"zar",Description:["Rincón Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"zas",Description:["Santo Domingo Albarradas Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"zat",Description:["Tabaa Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"zau",Description:["Zangskari"],Added:"2009-07-29"},{Type:"language",Subtag:"zav",Description:["Yatzachi Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"zaw",Description:["Mitla Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"zax",Description:["Xadani Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"zay",Description:["Zayse-Zergulla","Zaysete"],Added:"2009-07-29"},{Type:"language",Subtag:"zaz",Description:["Zari"],Added:"2009-07-29"},{Type:"language",Subtag:"zba",Description:["Balaibalan"],Added:"2020-03-28"},{Type:"language",Subtag:"zbc",Description:["Central Berawan"],Added:"2009-07-29"},{Type:"language",Subtag:"zbe",Description:["East Berawan"],Added:"2009-07-29"},{Type:"language",Subtag:"zbl",Description:["Blissymbols","Bliss","Blissymbolics"],Added:"2007-08-21","Suppress-Script":"Blis"},{Type:"language",Subtag:"zbt",Description:["Batui"],Added:"2009-07-29"},{Type:"language",Subtag:"zbu",Description:["Bu (Bauchi State)"],Added:"2021-02-20"},{Type:"language",Subtag:"zbw",Description:["West Berawan"],Added:"2009-07-29"},{Type:"language",Subtag:"zca",Description:["Coatecas Altas Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"zcd",Description:["Las Delicias Zapotec"],Added:"2022-02-25",Macrolanguage:"zap"},{Type:"language",Subtag:"zch",Description:["Central Hongshuihe Zhuang"],Added:"2009-07-29",Macrolanguage:"za"},{Type:"language",Subtag:"zdj",Description:["Ngazidja Comorian"],Added:"2009-07-29"},{Type:"language",Subtag:"zea",Description:["Zeeuws"],Added:"2009-07-29"},{Type:"language",Subtag:"zeg",Description:["Zenag"],Added:"2009-07-29"},{Type:"language",Subtag:"zeh",Description:["Eastern Hongshuihe Zhuang"],Added:"2009-07-29",Macrolanguage:"za"},{Type:"language",Subtag:"zen",Description:["Zenaga"],Added:"2005-10-16"},{Type:"language",Subtag:"zga",Description:["Kinga"],Added:"2009-07-29"},{Type:"language",Subtag:"zgb",Description:["Guibei Zhuang"],Added:"2009-07-29",Macrolanguage:"za"},{Type:"language",Subtag:"zgh",Description:["Standard Moroccan Tamazight"],Added:"2013-01-25"},{Type:"language",Subtag:"zgm",Description:["Minz Zhuang"],Added:"2009-07-29",Macrolanguage:"za"},{Type:"language",Subtag:"zgn",Description:["Guibian Zhuang"],Added:"2009-07-29",Macrolanguage:"za"},{Type:"language",Subtag:"zgr",Description:["Magori"],Added:"2009-07-29"},{Type:"language",Subtag:"zhb",Description:["Zhaba"],Added:"2009-07-29"},{Type:"language",Subtag:"zhd",Description:["Dai Zhuang"],Added:"2009-07-29",Macrolanguage:"za"},{Type:"language",Subtag:"zhi",Description:["Zhire"],Added:"2009-07-29"},{Type:"language",Subtag:"zhn",Description:["Nong Zhuang"],Added:"2009-07-29",Macrolanguage:"za"},{Type:"language",Subtag:"zhw",Description:["Zhoa"],Added:"2009-07-29"},{Type:"language",Subtag:"zhx",Description:["Chinese (family)"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"zia",Description:["Zia"],Added:"2009-07-29"},{Type:"language",Subtag:"zib",Description:["Zimbabwe Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"zik",Description:["Zimakani"],Added:"2009-07-29"},{Type:"language",Subtag:"zil",Description:["Zialo"],Added:"2011-08-16"},{Type:"language",Subtag:"zim",Description:["Mesme"],Added:"2009-07-29"},{Type:"language",Subtag:"zin",Description:["Zinza"],Added:"2009-07-29"},{Type:"language",Subtag:"zir",Description:["Ziriya"],Added:"2009-07-29",Deprecated:"2020-03-28","Preferred-Value":"scv"},{Type:"language",Subtag:"ziw",Description:["Zigula"],Added:"2009-07-29"},{Type:"language",Subtag:"ziz",Description:["Zizilivakan"],Added:"2009-07-29"},{Type:"language",Subtag:"zka",Description:["Kaimbulawa"],Added:"2009-07-29"},{Type:"language",Subtag:"zkb",Description:["Koibal"],Added:"2009-07-29"},{Type:"language",Subtag:"zkd",Description:["Kadu"],Added:"2012-08-12"},{Type:"language",Subtag:"zkg",Description:["Koguryo"],Added:"2009-07-29"},{Type:"language",Subtag:"zkh",Description:["Khorezmian"],Added:"2009-07-29"},{Type:"language",Subtag:"zkk",Description:["Karankawa"],Added:"2009-07-29"},{Type:"language",Subtag:"zkn",Description:["Kanan"],Added:"2012-08-12"},{Type:"language",Subtag:"zko",Description:["Kott"],Added:"2009-07-29"},{Type:"language",Subtag:"zkp",Description:["São Paulo Kaingáng"],Added:"2009-07-29"},{Type:"language",Subtag:"zkr",Description:["Zakhring"],Added:"2009-07-29"},{Type:"language",Subtag:"zkt",Description:["Kitan"],Added:"2009-07-29"},{Type:"language",Subtag:"zku",Description:["Kaurna"],Added:"2009-07-29"},{Type:"language",Subtag:"zkv",Description:["Krevinian"],Added:"2009-07-29"},{Type:"language",Subtag:"zkz",Description:["Khazar"],Added:"2009-07-29"},{Type:"language",Subtag:"zla",Description:["Zula"],Added:"2021-02-20"},{Type:"language",Subtag:"zle",Description:["East Slavic languages"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"zlj",Description:["Liujiang Zhuang"],Added:"2009-07-29",Macrolanguage:"za"},{Type:"language",Subtag:"zlm",Description:["Malay (individual language)"],Added:"2009-07-29",Macrolanguage:"ms"},{Type:"language",Subtag:"zln",Description:["Lianshan Zhuang"],Added:"2009-07-29",Macrolanguage:"za"},{Type:"language",Subtag:"zlq",Description:["Liuqian Zhuang"],Added:"2009-07-29",Macrolanguage:"za"},{Type:"language",Subtag:"zls",Description:["South Slavic languages"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"zlw",Description:["West Slavic languages"],Added:"2009-07-29",Scope:"collection"},{Type:"language",Subtag:"zma",Description:["Manda (Australia)"],Added:"2009-07-29"},{Type:"language",Subtag:"zmb",Description:["Zimba"],Added:"2009-07-29"},{Type:"language",Subtag:"zmc",Description:["Margany"],Added:"2009-07-29"},{Type:"language",Subtag:"zmd",Description:["Maridan"],Added:"2009-07-29"},{Type:"language",Subtag:"zme",Description:["Mangerr"],Added:"2009-07-29"},{Type:"language",Subtag:"zmf",Description:["Mfinu"],Added:"2009-07-29"},{Type:"language",Subtag:"zmg",Description:["Marti Ke"],Added:"2009-07-29"},{Type:"language",Subtag:"zmh",Description:["Makolkol"],Added:"2009-07-29"},{Type:"language",Subtag:"zmi",Description:["Negeri Sembilan Malay"],Added:"2009-07-29",Macrolanguage:"ms"},{Type:"language",Subtag:"zmj",Description:["Maridjabin"],Added:"2009-07-29"},{Type:"language",Subtag:"zmk",Description:["Mandandanyi"],Added:"2009-07-29"},{Type:"language",Subtag:"zml",Description:["Matngala"],Added:"2009-07-29"},{Type:"language",Subtag:"zmm",Description:["Marimanindji","Marramaninyshi"],Added:"2009-07-29"},{Type:"language",Subtag:"zmn",Description:["Mbangwe"],Added:"2009-07-29"},{Type:"language",Subtag:"zmo",Description:["Molo"],Added:"2009-07-29"},{Type:"language",Subtag:"zmp",Description:["Mpuono"],Added:"2009-07-29"},{Type:"language",Subtag:"zmq",Description:["Mituku"],Added:"2009-07-29"},{Type:"language",Subtag:"zmr",Description:["Maranunggu"],Added:"2009-07-29"},{Type:"language",Subtag:"zms",Description:["Mbesa"],Added:"2009-07-29"},{Type:"language",Subtag:"zmt",Description:["Maringarr"],Added:"2009-07-29"},{Type:"language",Subtag:"zmu",Description:["Muruwari"],Added:"2009-07-29"},{Type:"language",Subtag:"zmv",Description:["Mbariman-Gudhinma"],Added:"2009-07-29"},{Type:"language",Subtag:"zmw",Description:["Mbo (Democratic Republic of Congo)"],Added:"2009-07-29"},{Type:"language",Subtag:"zmx",Description:["Bomitaba"],Added:"2009-07-29"},{Type:"language",Subtag:"zmy",Description:["Mariyedi"],Added:"2009-07-29"},{Type:"language",Subtag:"zmz",Description:["Mbandja"],Added:"2009-07-29"},{Type:"language",Subtag:"zna",Description:["Zan Gula"],Added:"2009-07-29"},{Type:"language",Subtag:"znd",Description:["Zande languages"],Added:"2005-10-16",Scope:"collection"},{Type:"language",Subtag:"zne",Description:["Zande (individual language)"],Added:"2009-07-29"},{Type:"language",Subtag:"zng",Description:["Mang"],Added:"2009-07-29"},{Type:"language",Subtag:"znk",Description:["Manangkari"],Added:"2009-07-29"},{Type:"language",Subtag:"zns",Description:["Mangas"],Added:"2009-07-29"},{Type:"language",Subtag:"zoc",Description:["Copainalá Zoque"],Added:"2009-07-29"},{Type:"language",Subtag:"zoh",Description:["Chimalapa Zoque"],Added:"2009-07-29"},{Type:"language",Subtag:"zom",Description:["Zou"],Added:"2009-07-29"},{Type:"language",Subtag:"zoo",Description:["Asunción Mixtepec Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"zoq",Description:["Tabasco Zoque"],Added:"2009-07-29"},{Type:"language",Subtag:"zor",Description:["Rayón Zoque"],Added:"2009-07-29"},{Type:"language",Subtag:"zos",Description:["Francisco León Zoque"],Added:"2009-07-29"},{Type:"language",Subtag:"zpa",Description:["Lachiguiri Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"zpb",Description:["Yautepec Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"zpc",Description:["Choapan Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"zpd",Description:["Southeastern Ixtlán Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"zpe",Description:["Petapa Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"zpf",Description:["San Pedro Quiatoni Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"zpg",Description:["Guevea De Humboldt Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"zph",Description:["Totomachapan Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"zpi",Description:["Santa María Quiegolani Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"zpj",Description:["Quiavicuzas Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"zpk",Description:["Tlacolulita Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"zpl",Description:["Lachixío Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"zpm",Description:["Mixtepec Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"zpn",Description:["Santa Inés Yatzechi Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"zpo",Description:["Amatlán Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"zpp",Description:["El Alto Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"zpq",Description:["Zoogocho Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"zpr",Description:["Santiago Xanica Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"zps",Description:["Coatlán Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"zpt",Description:["San Vicente Coatlán Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"zpu",Description:["Yalálag Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"zpv",Description:["Chichicapan Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"zpw",Description:["Zaniza Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"zpx",Description:["San Baltazar Loxicha Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"zpy",Description:["Mazaltepec Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"zpz",Description:["Texmelucan Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"zqe",Description:["Qiubei Zhuang"],Added:"2009-07-29",Macrolanguage:"za"},{Type:"language",Subtag:"zra",Description:["Kara (Korea)"],Added:"2009-07-29"},{Type:"language",Subtag:"zrg",Description:["Mirgan"],Added:"2009-07-29"},{Type:"language",Subtag:"zrn",Description:["Zerenkel"],Added:"2009-07-29"},{Type:"language",Subtag:"zro",Description:["Záparo"],Added:"2009-07-29"},{Type:"language",Subtag:"zrp",Description:["Zarphatic"],Added:"2009-07-29"},{Type:"language",Subtag:"zrs",Description:["Mairasi"],Added:"2009-07-29"},{Type:"language",Subtag:"zsa",Description:["Sarasira"],Added:"2009-07-29"},{Type:"language",Subtag:"zsk",Description:["Kaskean"],Added:"2009-07-29"},{Type:"language",Subtag:"zsl",Description:["Zambian Sign Language"],Added:"2009-07-29"},{Type:"language",Subtag:"zsm",Description:["Standard Malay"],Added:"2009-07-29",Macrolanguage:"ms"},{Type:"language",Subtag:"zsr",Description:["Southern Rincon Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"zsu",Description:["Sukurum"],Added:"2009-07-29"},{Type:"language",Subtag:"zte",Description:["Elotepec Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"ztg",Description:["Xanaguía Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"ztl",Description:["Lapaguía-Guivini Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"ztm",Description:["San Agustín Mixtepec Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"ztn",Description:["Santa Catarina Albarradas Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"ztp",Description:["Loxicha Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"ztq",Description:["Quioquitani-Quierí Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"zts",Description:["Tilquiapan Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"ztt",Description:["Tejalapan Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"ztu",Description:["Güilá Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"ztx",Description:["Zaachila Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"zty",Description:["Yatee Zapotec"],Added:"2009-07-29",Macrolanguage:"zap"},{Type:"language",Subtag:"zua",Description:["Zeem"],Added:"2009-07-29"},{Type:"language",Subtag:"zuh",Description:["Tokano"],Added:"2009-07-29"},{Type:"language",Subtag:"zum",Description:["Kumzari"],Added:"2009-07-29"},{Type:"language",Subtag:"zun",Description:["Zuni"],Added:"2005-10-16"},{Type:"language",Subtag:"zuy",Description:["Zumaya"],Added:"2009-07-29"},{Type:"language",Subtag:"zwa",Description:["Zay"],Added:"2009-07-29"},{Type:"language",Subtag:"zxx",Description:["No linguistic content","Not applicable"],Added:"2006-03-08",Scope:"special"},{Type:"language",Subtag:"zyb",Description:["Yongbei Zhuang"],Added:"2009-07-29",Macrolanguage:"za"},{Type:"language",Subtag:"zyg",Description:["Yang Zhuang"],Added:"2009-07-29",Macrolanguage:"za"},{Type:"language",Subtag:"zyj",Description:["Youjiang Zhuang"],Added:"2009-07-29",Macrolanguage:"za"},{Type:"language",Subtag:"zyn",Description:["Yongnan Zhuang"],Added:"2009-07-29",Macrolanguage:"za"},{Type:"language",Subtag:"zyp",Description:["Zyphe Chin"],Added:"2009-07-29"},{Type:"language",Subtag:"zza",Description:["Zaza","Dimili","Dimli (macrolanguage)","Kirdki","Kirmanjki (macrolanguage)","Zazaki"],Added:"2006-08-24",Scope:"macrolanguage"},{Type:"language",Subtag:"zzj",Description:["Zuojiang Zhuang"],Added:"2009-07-29",Macrolanguage:"za"},{Type:"extlang",Subtag:"aao",Description:["Algerian Saharan Arabic"],Added:"2009-07-29","Preferred-Value":"aao",Prefix:["ar"],Macrolanguage:"ar"},{Type:"extlang",Subtag:"abh",Description:["Tajiki Arabic"],Added:"2009-07-29","Preferred-Value":"abh",Prefix:["ar"],Macrolanguage:"ar"},{Type:"extlang",Subtag:"abv",Description:["Baharna Arabic"],Added:"2009-07-29","Preferred-Value":"abv",Prefix:["ar"],Macrolanguage:"ar"},{Type:"extlang",Subtag:"acm",Description:["Mesopotamian Arabic"],Added:"2009-07-29","Preferred-Value":"acm",Prefix:["ar"],Macrolanguage:"ar"},{Type:"extlang",Subtag:"acq",Description:["Ta'izzi-Adeni Arabic"],Added:"2009-07-29","Preferred-Value":"acq",Prefix:["ar"],Macrolanguage:"ar"},{Type:"extlang",Subtag:"acw",Description:["Hijazi Arabic"],Added:"2009-07-29","Preferred-Value":"acw",Prefix:["ar"],Macrolanguage:"ar"},{Type:"extlang",Subtag:"acx",Description:["Omani Arabic"],Added:"2009-07-29","Preferred-Value":"acx",Prefix:["ar"],Macrolanguage:"ar"},{Type:"extlang",Subtag:"acy",Description:["Cypriot Arabic"],Added:"2009-07-29","Preferred-Value":"acy",Prefix:["ar"],Macrolanguage:"ar"},{Type:"extlang",Subtag:"adf",Description:["Dhofari Arabic"],Added:"2009-07-29","Preferred-Value":"adf",Prefix:["ar"],Macrolanguage:"ar"},{Type:"extlang",Subtag:"ads",Description:["Adamorobe Sign Language"],Added:"2009-07-29","Preferred-Value":"ads",Prefix:["sgn"]},{Type:"extlang",Subtag:"aeb",Description:["Tunisian Arabic"],Added:"2009-07-29","Preferred-Value":"aeb",Prefix:["ar"],Macrolanguage:"ar"},{Type:"extlang",Subtag:"aec",Description:["Saidi Arabic"],Added:"2009-07-29","Preferred-Value":"aec",Prefix:["ar"],Macrolanguage:"ar"},{Type:"extlang",Subtag:"aed",Description:["Argentine Sign Language"],Added:"2009-07-29","Preferred-Value":"aed",Prefix:["sgn"]},{Type:"extlang",Subtag:"aen",Description:["Armenian Sign Language"],Added:"2009-07-29","Preferred-Value":"aen",Prefix:["sgn"]},{Type:"extlang",Subtag:"afb",Description:["Gulf Arabic"],Added:"2009-07-29","Preferred-Value":"afb",Prefix:["ar"],Macrolanguage:"ar"},{Type:"extlang",Subtag:"afg",Description:["Afghan Sign Language"],Added:"2009-07-29","Preferred-Value":"afg",Prefix:["sgn"]},{Type:"extlang",Subtag:"ajp",Description:["South Levantine Arabic"],Added:"2009-07-29","Preferred-Value":"ajp",Prefix:["ar"],Macrolanguage:"ar"},{Type:"extlang",Subtag:"ajs",Description:["Algerian Jewish Sign Language"],Added:"2022-02-25","Preferred-Value":"ajs",Prefix:["sgn"]},{Type:"extlang",Subtag:"apc",Description:["North Levantine Arabic"],Added:"2009-07-29","Preferred-Value":"apc",Prefix:["ar"],Macrolanguage:"ar"},{Type:"extlang",Subtag:"apd",Description:["Sudanese Arabic"],Added:"2009-07-29","Preferred-Value":"apd",Prefix:["ar"],Macrolanguage:"ar"},{Type:"extlang",Subtag:"arb",Description:["Standard Arabic"],Added:"2009-07-29","Preferred-Value":"arb",Prefix:["ar"],Macrolanguage:"ar"},{Type:"extlang",Subtag:"arq",Description:["Algerian Arabic"],Added:"2009-07-29","Preferred-Value":"arq",Prefix:["ar"],Macrolanguage:"ar"},{Type:"extlang",Subtag:"ars",Description:["Najdi Arabic"],Added:"2009-07-29","Preferred-Value":"ars",Prefix:["ar"],Macrolanguage:"ar"},{Type:"extlang",Subtag:"ary",Description:["Moroccan Arabic"],Added:"2009-07-29","Preferred-Value":"ary",Prefix:["ar"],Macrolanguage:"ar"},{Type:"extlang",Subtag:"arz",Description:["Egyptian Arabic"],Added:"2009-07-29","Preferred-Value":"arz",Prefix:["ar"],Macrolanguage:"ar"},{Type:"extlang",Subtag:"ase",Description:["American Sign Language"],Added:"2009-07-29","Preferred-Value":"ase",Prefix:["sgn"]},{Type:"extlang",Subtag:"asf",Description:["Auslan","Australian Sign Language"],Added:"2009-07-29","Preferred-Value":"asf",Prefix:["sgn"]},{Type:"extlang",Subtag:"asp",Description:["Algerian Sign Language"],Added:"2009-07-29","Preferred-Value":"asp",Prefix:["sgn"]},{Type:"extlang",Subtag:"asq",Description:["Austrian Sign Language"],Added:"2009-07-29","Preferred-Value":"asq",Prefix:["sgn"]},{Type:"extlang",Subtag:"asw",Description:["Australian Aborigines Sign Language"],Added:"2009-07-29","Preferred-Value":"asw",Prefix:["sgn"]},{Type:"extlang",Subtag:"auz",Description:["Uzbeki Arabic"],Added:"2009-07-29","Preferred-Value":"auz",Prefix:["ar"],Macrolanguage:"ar"},{Type:"extlang",Subtag:"avl",Description:["Eastern Egyptian Bedawi Arabic"],Added:"2009-07-29","Preferred-Value":"avl",Prefix:["ar"],Macrolanguage:"ar"},{Type:"extlang",Subtag:"ayh",Description:["Hadrami Arabic"],Added:"2009-07-29","Preferred-Value":"ayh",Prefix:["ar"],Macrolanguage:"ar"},{Type:"extlang",Subtag:"ayl",Description:["Libyan Arabic"],Added:"2009-07-29","Preferred-Value":"ayl",Prefix:["ar"],Macrolanguage:"ar"},{Type:"extlang",Subtag:"ayn",Description:["Sanaani Arabic"],Added:"2009-07-29","Preferred-Value":"ayn",Prefix:["ar"],Macrolanguage:"ar"},{Type:"extlang",Subtag:"ayp",Description:["North Mesopotamian Arabic"],Added:"2009-07-29","Preferred-Value":"ayp",Prefix:["ar"],Macrolanguage:"ar"},{Type:"extlang",Subtag:"bbz",Description:["Babalia Creole Arabic"],Added:"2009-07-29",Deprecated:"2020-03-28","Preferred-Value":"bbz",Prefix:["ar"],Macrolanguage:"ar"},{Type:"extlang",Subtag:"bfi",Description:["British Sign Language"],Added:"2009-07-29","Preferred-Value":"bfi",Prefix:["sgn"]},{Type:"extlang",Subtag:"bfk",Description:["Ban Khor Sign Language"],Added:"2009-07-29","Preferred-Value":"bfk",Prefix:["sgn"]},{Type:"extlang",Subtag:"bjn",Description:["Banjar"],Added:"2009-07-29","Preferred-Value":"bjn",Prefix:["ms"],Macrolanguage:"ms"},{Type:"extlang",Subtag:"bog",Description:["Bamako Sign Language"],Added:"2009-07-29","Preferred-Value":"bog",Prefix:["sgn"]},{Type:"extlang",Subtag:"bqn",Description:["Bulgarian Sign Language"],Added:"2009-07-29","Preferred-Value":"bqn",Prefix:["sgn"]},{Type:"extlang",Subtag:"bqy",Description:["Bengkala Sign Language"],Added:"2009-07-29","Preferred-Value":"bqy",Prefix:["sgn"]},{Type:"extlang",Subtag:"btj",Description:["Bacanese Malay"],Added:"2009-07-29","Preferred-Value":"btj",Prefix:["ms"],Macrolanguage:"ms"},{Type:"extlang",Subtag:"bve",Description:["Berau Malay"],Added:"2009-07-29","Preferred-Value":"bve",Prefix:["ms"],Macrolanguage:"ms"},{Type:"extlang",Subtag:"bvl",Description:["Bolivian Sign Language"],Added:"2009-07-29","Preferred-Value":"bvl",Prefix:["sgn"]},{Type:"extlang",Subtag:"bvu",Description:["Bukit Malay"],Added:"2009-07-29","Preferred-Value":"bvu",Prefix:["ms"],Macrolanguage:"ms"},{Type:"extlang",Subtag:"bzs",Description:["Brazilian Sign Language"],Added:"2009-07-29","Preferred-Value":"bzs",Prefix:["sgn"]},{Type:"extlang",Subtag:"cdo",Description:["Min Dong Chinese"],Added:"2009-07-29","Preferred-Value":"cdo",Prefix:["zh"],Macrolanguage:"zh"},{Type:"extlang",Subtag:"cds",Description:["Chadian Sign Language"],Added:"2009-07-29","Preferred-Value":"cds",Prefix:["sgn"]},{Type:"extlang",Subtag:"cjy",Description:["Jinyu Chinese"],Added:"2009-07-29","Preferred-Value":"cjy",Prefix:["zh"],Macrolanguage:"zh"},{Type:"extlang",Subtag:"cmn",Description:["Mandarin Chinese"],Added:"2009-07-29","Preferred-Value":"cmn",Prefix:["zh"],Macrolanguage:"zh"},{Type:"extlang",Subtag:"cnp",Description:["Northern Ping Chinese","Northern Pinghua"],Added:"2020-03-28","Preferred-Value":"cnp",Prefix:["zh"],Macrolanguage:"zh"},{Type:"extlang",Subtag:"coa",Description:["Cocos Islands Malay"],Added:"2009-07-29","Preferred-Value":"coa",Prefix:["ms"],Macrolanguage:"ms"},{Type:"extlang",Subtag:"cpx",Description:["Pu-Xian Chinese"],Added:"2009-07-29","Preferred-Value":"cpx",Prefix:["zh"],Macrolanguage:"zh"},{Type:"extlang",Subtag:"csc",Description:["Catalan Sign Language","Lengua de señas catalana","Llengua de Signes Catalana"],Added:"2009-07-29","Preferred-Value":"csc",Prefix:["sgn"]},{Type:"extlang",Subtag:"csd",Description:["Chiangmai Sign Language"],Added:"2009-07-29","Preferred-Value":"csd",Prefix:["sgn"]},{Type:"extlang",Subtag:"cse",Description:["Czech Sign Language"],Added:"2009-07-29","Preferred-Value":"cse",Prefix:["sgn"]},{Type:"extlang",Subtag:"csf",Description:["Cuba Sign Language"],Added:"2009-07-29","Preferred-Value":"csf",Prefix:["sgn"]},{Type:"extlang",Subtag:"csg",Description:["Chilean Sign Language"],Added:"2009-07-29","Preferred-Value":"csg",Prefix:["sgn"]},{Type:"extlang",Subtag:"csl",Description:["Chinese Sign Language"],Added:"2009-07-29","Preferred-Value":"csl",Prefix:["sgn"]},{Type:"extlang",Subtag:"csn",Description:["Colombian Sign Language"],Added:"2009-07-29","Preferred-Value":"csn",Prefix:["sgn"]},{Type:"extlang",Subtag:"csp",Description:["Southern Ping Chinese","Southern Pinghua"],Added:"2020-03-28","Preferred-Value":"csp",Prefix:["zh"],Macrolanguage:"zh"},{Type:"extlang",Subtag:"csq",Description:["Croatia Sign Language"],Added:"2009-07-29","Preferred-Value":"csq",Prefix:["sgn"]},{Type:"extlang",Subtag:"csr",Description:["Costa Rican Sign Language"],Added:"2009-07-29","Preferred-Value":"csr",Prefix:["sgn"]},{Type:"extlang",Subtag:"csx",Description:["Cambodian Sign Language"],Added:"2021-02-20","Preferred-Value":"csx",Prefix:["sgn"]},{Type:"extlang",Subtag:"czh",Description:["Huizhou Chinese"],Added:"2009-07-29","Preferred-Value":"czh",Prefix:["zh"],Macrolanguage:"zh"},{Type:"extlang",Subtag:"czo",Description:["Min Zhong Chinese"],Added:"2009-07-29","Preferred-Value":"czo",Prefix:["zh"],Macrolanguage:"zh"},{Type:"extlang",Subtag:"doq",Description:["Dominican Sign Language"],Added:"2009-07-29","Preferred-Value":"doq",Prefix:["sgn"]},{Type:"extlang",Subtag:"dse",Description:["Dutch Sign Language"],Added:"2009-07-29","Preferred-Value":"dse",Prefix:["sgn"]},{Type:"extlang",Subtag:"dsl",Description:["Danish Sign Language"],Added:"2009-07-29","Preferred-Value":"dsl",Prefix:["sgn"]},{Type:"extlang",Subtag:"dsz",Description:["Mardin Sign Language"],Added:"2022-02-25","Preferred-Value":"dsz",Prefix:["sgn"]},{Type:"extlang",Subtag:"dup",Description:["Duano"],Added:"2009-07-29","Preferred-Value":"dup",Prefix:["ms"],Macrolanguage:"ms"},{Type:"extlang",Subtag:"ecs",Description:["Ecuadorian Sign Language"],Added:"2009-07-29","Preferred-Value":"ecs",Prefix:["sgn"]},{Type:"extlang",Subtag:"ehs",Description:["Miyakubo Sign Language"],Added:"2021-02-20","Preferred-Value":"ehs",Prefix:["sgn"]},{Type:"extlang",Subtag:"esl",Description:["Egypt Sign Language"],Added:"2009-07-29","Preferred-Value":"esl",Prefix:["sgn"]},{Type:"extlang",Subtag:"esn",Description:["Salvadoran Sign Language"],Added:"2009-07-29","Preferred-Value":"esn",Prefix:["sgn"]},{Type:"extlang",Subtag:"eso",Description:["Estonian Sign Language"],Added:"2009-07-29","Preferred-Value":"eso",Prefix:["sgn"]},{Type:"extlang",Subtag:"eth",Description:["Ethiopian Sign Language"],Added:"2009-07-29","Preferred-Value":"eth",Prefix:["sgn"]},{Type:"extlang",Subtag:"fcs",Description:["Quebec Sign Language"],Added:"2009-07-29","Preferred-Value":"fcs",Prefix:["sgn"]},{Type:"extlang",Subtag:"fse",Description:["Finnish Sign Language"],Added:"2009-07-29","Preferred-Value":"fse",Prefix:["sgn"]},{Type:"extlang",Subtag:"fsl",Description:["French Sign Language"],Added:"2009-07-29","Preferred-Value":"fsl",Prefix:["sgn"]},{Type:"extlang",Subtag:"fss",Description:["Finland-Swedish Sign Language","finlandssvenskt teckenspråk","suomenruotsalainen viittomakieli"],Added:"2009-07-29","Preferred-Value":"fss",Prefix:["sgn"]},{Type:"extlang",Subtag:"gan",Description:["Gan Chinese"],Added:"2009-07-29","Preferred-Value":"gan",Prefix:["zh"],Macrolanguage:"zh"},{Type:"extlang",Subtag:"gds",Description:["Ghandruk Sign Language"],Added:"2012-08-12","Preferred-Value":"gds",Prefix:["sgn"]},{Type:"extlang",Subtag:"gom",Description:["Goan Konkani"],Added:"2009-07-29","Preferred-Value":"gom",Prefix:["kok"],Macrolanguage:"kok"},{Type:"extlang",Subtag:"gse",Description:["Ghanaian Sign Language"],Added:"2009-07-29","Preferred-Value":"gse",Prefix:["sgn"]},{Type:"extlang",Subtag:"gsg",Description:["German Sign Language"],Added:"2009-07-29","Preferred-Value":"gsg",Prefix:["sgn"]},{Type:"extlang",Subtag:"gsm",Description:["Guatemalan Sign Language"],Added:"2009-07-29","Preferred-Value":"gsm",Prefix:["sgn"]},{Type:"extlang",Subtag:"gss",Description:["Greek Sign Language"],Added:"2009-07-29","Preferred-Value":"gss",Prefix:["sgn"]},{Type:"extlang",Subtag:"gus",Description:["Guinean Sign Language"],Added:"2009-07-29","Preferred-Value":"gus",Prefix:["sgn"]},{Type:"extlang",Subtag:"hab",Description:["Hanoi Sign Language"],Added:"2009-07-29","Preferred-Value":"hab",Prefix:["sgn"]},{Type:"extlang",Subtag:"haf",Description:["Haiphong Sign Language"],Added:"2009-07-29","Preferred-Value":"haf",Prefix:["sgn"]},{Type:"extlang",Subtag:"hak",Description:["Hakka Chinese"],Added:"2009-07-29","Preferred-Value":"hak",Prefix:["zh"],Macrolanguage:"zh"},{Type:"extlang",Subtag:"hds",Description:["Honduras Sign Language"],Added:"2009-07-29","Preferred-Value":"hds",Prefix:["sgn"]},{Type:"extlang",Subtag:"hji",Description:["Haji"],Added:"2009-07-29","Preferred-Value":"hji",Prefix:["ms"],Macrolanguage:"ms"},{Type:"extlang",Subtag:"hks",Description:["Hong Kong Sign Language","Heung Kong Sau Yue"],Added:"2009-07-29","Preferred-Value":"hks",Prefix:["sgn"]},{Type:"extlang",Subtag:"hos",Description:["Ho Chi Minh City Sign Language"],Added:"2009-07-29","Preferred-Value":"hos",Prefix:["sgn"]},{Type:"extlang",Subtag:"hps",Description:["Hawai'i Sign Language (HSL)","Hawai'i Pidgin Sign Language"],Added:"2009-07-29","Preferred-Value":"hps",Prefix:["sgn"]},{Type:"extlang",Subtag:"hsh",Description:["Hungarian Sign Language"],Added:"2009-07-29","Preferred-Value":"hsh",Prefix:["sgn"]},{Type:"extlang",Subtag:"hsl",Description:["Hausa Sign Language"],Added:"2009-07-29","Preferred-Value":"hsl",Prefix:["sgn"]},{Type:"extlang",Subtag:"hsn",Description:["Xiang Chinese"],Added:"2009-07-29","Preferred-Value":"hsn",Prefix:["zh"],Macrolanguage:"zh"},{Type:"extlang",Subtag:"icl",Description:["Icelandic Sign Language"],Added:"2009-07-29","Preferred-Value":"icl",Prefix:["sgn"]},{Type:"extlang",Subtag:"iks",Description:["Inuit Sign Language"],Added:"2015-02-12","Preferred-Value":"iks",Prefix:["sgn"]},{Type:"extlang",Subtag:"ils",Description:["International Sign"],Added:"2009-07-29","Preferred-Value":"ils",Prefix:["sgn"]},{Type:"extlang",Subtag:"inl",Description:["Indonesian Sign Language"],Added:"2009-07-29","Preferred-Value":"inl",Prefix:["sgn"]},{Type:"extlang",Subtag:"ins",Description:["Indian Sign Language"],Added:"2009-07-29","Preferred-Value":"ins",Prefix:["sgn"]},{Type:"extlang",Subtag:"ise",Description:["Italian Sign Language"],Added:"2009-07-29","Preferred-Value":"ise",Prefix:["sgn"]},{Type:"extlang",Subtag:"isg",Description:["Irish Sign Language"],Added:"2009-07-29","Preferred-Value":"isg",Prefix:["sgn"]},{Type:"extlang",Subtag:"isr",Description:["Israeli Sign Language"],Added:"2009-07-29","Preferred-Value":"isr",Prefix:["sgn"]},{Type:"extlang",Subtag:"jak",Description:["Jakun"],Added:"2009-07-29","Preferred-Value":"jak",Prefix:["ms"],Macrolanguage:"ms"},{Type:"extlang",Subtag:"jax",Description:["Jambi Malay"],Added:"2009-07-29","Preferred-Value":"jax",Prefix:["ms"],Macrolanguage:"ms"},{Type:"extlang",Subtag:"jcs",Description:["Jamaican Country Sign Language"],Added:"2009-07-29","Preferred-Value":"jcs",Prefix:["sgn"]},{Type:"extlang",Subtag:"jhs",Description:["Jhankot Sign Language"],Added:"2009-07-29","Preferred-Value":"jhs",Prefix:["sgn"]},{Type:"extlang",Subtag:"jks",Description:["Amami Koniya Sign Language"],Added:"2021-02-20","Preferred-Value":"jks",Prefix:["sgn"]},{Type:"extlang",Subtag:"jls",Description:["Jamaican Sign Language"],Added:"2010-03-11","Preferred-Value":"jls",Prefix:["sgn"]},{Type:"extlang",Subtag:"jos",Description:["Jordanian Sign Language"],Added:"2009-07-29","Preferred-Value":"jos",Prefix:["sgn"]},{Type:"extlang",Subtag:"jsl",Description:["Japanese Sign Language"],Added:"2009-07-29","Preferred-Value":"jsl",Prefix:["sgn"]},{Type:"extlang",Subtag:"jus",Description:["Jumla Sign Language"],Added:"2009-07-29","Preferred-Value":"jus",Prefix:["sgn"]},{Type:"extlang",Subtag:"kgi",Description:["Selangor Sign Language"],Added:"2009-07-29","Preferred-Value":"kgi",Prefix:["sgn"]},{Type:"extlang",Subtag:"knn",Description:["Konkani (individual language)"],Added:"2009-07-29","Preferred-Value":"knn",Prefix:["kok"],Macrolanguage:"kok"},{Type:"extlang",Subtag:"kvb",Description:["Kubu"],Added:"2009-07-29","Preferred-Value":"kvb",Prefix:["ms"],Macrolanguage:"ms"},{Type:"extlang",Subtag:"kvk",Description:["Korean Sign Language"],Added:"2009-07-29","Preferred-Value":"kvk",Prefix:["sgn"]},{Type:"extlang",Subtag:"kvr",Description:["Kerinci"],Added:"2009-07-29","Preferred-Value":"kvr",Prefix:["ms"],Macrolanguage:"ms"},{Type:"extlang",Subtag:"kxd",Description:["Brunei"],Added:"2009-07-29","Preferred-Value":"kxd",Prefix:["ms"],Macrolanguage:"ms"},{Type:"extlang",Subtag:"lbs",Description:["Libyan Sign Language"],Added:"2009-07-29","Preferred-Value":"lbs",Prefix:["sgn"]},{Type:"extlang",Subtag:"lce",Description:["Loncong","Sekak"],Added:"2009-07-29","Preferred-Value":"lce",Prefix:["ms"],Macrolanguage:"ms"},{Type:"extlang",Subtag:"lcf",Description:["Lubu"],Added:"2009-07-29","Preferred-Value":"lcf",Prefix:["ms"],Macrolanguage:"ms"},{Type:"extlang",Subtag:"liw",Description:["Col"],Added:"2009-07-29","Preferred-Value":"liw",Prefix:["ms"],Macrolanguage:"ms"},{Type:"extlang",Subtag:"lls",Description:["Lithuanian Sign Language"],Added:"2009-07-29","Preferred-Value":"lls",Prefix:["sgn"]},{Type:"extlang",Subtag:"lsb",Description:["Burundian Sign Language","Langue des Signes Burundaise"],Added:"2021-02-20","Preferred-Value":"lsb",Prefix:["sgn"]},{Type:"extlang",Subtag:"lsc",Description:["Albarradas Sign Language","Lengua de señas Albarradas"],Added:"2022-02-25","Preferred-Value":"lsc",Prefix:["sgn"]},{Type:"extlang",Subtag:"lsg",Description:["Lyons Sign Language"],Added:"2009-07-29",Deprecated:"2018-03-08","Preferred-Value":"lsg",Prefix:["sgn"]},{Type:"extlang",Subtag:"lsl",Description:["Latvian Sign Language"],Added:"2009-07-29","Preferred-Value":"lsl",Prefix:["sgn"]},{Type:"extlang",Subtag:"lsn",Description:["Tibetan Sign Language"],Added:"2019-04-16","Preferred-Value":"lsn",Prefix:["sgn"]},{Type:"extlang",Subtag:"lso",Description:["Laos Sign Language"],Added:"2009-07-29","Preferred-Value":"lso",Prefix:["sgn"]},{Type:"extlang",Subtag:"lsp",Description:["Panamanian Sign Language","Lengua de Señas Panameñas"],Added:"2009-07-29","Preferred-Value":"lsp",Prefix:["sgn"]},{Type:"extlang",Subtag:"lst",Description:["Trinidad and Tobago Sign Language"],Added:"2009-07-29","Preferred-Value":"lst",Prefix:["sgn"]},{Type:"extlang",Subtag:"lsv",Description:["Sivia Sign Language"],Added:"2019-04-16","Preferred-Value":"lsv",Prefix:["sgn"]},{Type:"extlang",Subtag:"lsw",Description:["Seychelles Sign Language","Lalang Siny Seselwa","Langue des Signes Seychelloise"],Added:"2022-02-25","Preferred-Value":"lsw",Prefix:["sgn"]},{Type:"extlang",Subtag:"lsy",Description:["Mauritian Sign Language"],Added:"2010-03-11","Preferred-Value":"lsy",Prefix:["sgn"]},{Type:"extlang",Subtag:"ltg",Description:["Latgalian"],Added:"2010-03-11","Preferred-Value":"ltg",Prefix:["lv"],Macrolanguage:"lv"},{Type:"extlang",Subtag:"lvs",Description:["Standard Latvian"],Added:"2010-03-11","Preferred-Value":"lvs",Prefix:["lv"],Macrolanguage:"lv"},{Type:"extlang",Subtag:"lws",Description:["Malawian Sign Language"],Added:"2018-03-08","Preferred-Value":"lws",Prefix:["sgn"]},{Type:"extlang",Subtag:"lzh",Description:["Literary Chinese"],Added:"2009-07-29","Preferred-Value":"lzh",Prefix:["zh"],Macrolanguage:"zh"},{Type:"extlang",Subtag:"max",Description:["North Moluccan Malay"],Added:"2009-07-29","Preferred-Value":"max",Prefix:["ms"],Macrolanguage:"ms"},{Type:"extlang",Subtag:"mdl",Description:["Maltese Sign Language"],Added:"2009-07-29","Preferred-Value":"mdl",Prefix:["sgn"]},{Type:"extlang",Subtag:"meo",Description:["Kedah Malay"],Added:"2009-07-29","Preferred-Value":"meo",Prefix:["ms"],Macrolanguage:"ms"},{Type:"extlang",Subtag:"mfa",Description:["Pattani Malay"],Added:"2009-07-29","Preferred-Value":"mfa",Prefix:["ms"],Macrolanguage:"ms"},{Type:"extlang",Subtag:"mfb",Description:["Bangka"],Added:"2009-07-29","Preferred-Value":"mfb",Prefix:["ms"],Macrolanguage:"ms"},{Type:"extlang",Subtag:"mfs",Description:["Mexican Sign Language"],Added:"2009-07-29","Preferred-Value":"mfs",Prefix:["sgn"]},{Type:"extlang",Subtag:"min",Description:["Minangkabau"],Added:"2009-07-29","Preferred-Value":"min",Prefix:["ms"],Macrolanguage:"ms"},{Type:"extlang",Subtag:"mnp",Description:["Min Bei Chinese"],Added:"2009-07-29","Preferred-Value":"mnp",Prefix:["zh"],Macrolanguage:"zh"},{Type:"extlang",Subtag:"mqg",Description:["Kota Bangun Kutai Malay"],Added:"2009-07-29","Preferred-Value":"mqg",Prefix:["ms"],Macrolanguage:"ms"},{Type:"extlang",Subtag:"mre",Description:["Martha's Vineyard Sign Language"],Added:"2009-07-29","Preferred-Value":"mre",Prefix:["sgn"]},{Type:"extlang",Subtag:"msd",Description:["Yucatec Maya Sign Language"],Added:"2009-07-29","Preferred-Value":"msd",Prefix:["sgn"]},{Type:"extlang",Subtag:"msi",Description:["Sabah Malay"],Added:"2009-07-29","Preferred-Value":"msi",Prefix:["ms"],Macrolanguage:"ms"},{Type:"extlang",Subtag:"msr",Description:["Mongolian Sign Language"],Added:"2009-07-29","Preferred-Value":"msr",Prefix:["sgn"]},{Type:"extlang",Subtag:"mui",Description:["Musi"],Added:"2009-07-29","Preferred-Value":"mui",Prefix:["ms"],Macrolanguage:"ms"},{Type:"extlang",Subtag:"mzc",Description:["Madagascar Sign Language"],Added:"2009-07-29","Preferred-Value":"mzc",Prefix:["sgn"]},{Type:"extlang",Subtag:"mzg",Description:["Monastic Sign Language"],Added:"2009-07-29","Preferred-Value":"mzg",Prefix:["sgn"]},{Type:"extlang",Subtag:"mzy",Description:["Mozambican Sign Language"],Added:"2009-07-29","Preferred-Value":"mzy",Prefix:["sgn"]},{Type:"extlang",Subtag:"nan",Description:["Min Nan Chinese"],Added:"2009-07-29","Preferred-Value":"nan",Prefix:["zh"],Macrolanguage:"zh"},{Type:"extlang",Subtag:"nbs",Description:["Namibian Sign Language"],Added:"2009-07-29","Preferred-Value":"nbs",Prefix:["sgn"]},{Type:"extlang",Subtag:"ncs",Description:["Nicaraguan Sign Language"],Added:"2009-07-29","Preferred-Value":"ncs",Prefix:["sgn"]},{Type:"extlang",Subtag:"nsi",Description:["Nigerian Sign Language"],Added:"2009-07-29","Preferred-Value":"nsi",Prefix:["sgn"]},{Type:"extlang",Subtag:"nsl",Description:["Norwegian Sign Language"],Added:"2009-07-29","Preferred-Value":"nsl",Prefix:["sgn"]},{Type:"extlang",Subtag:"nsp",Description:["Nepalese Sign Language"],Added:"2009-07-29","Preferred-Value":"nsp",Prefix:["sgn"]},{Type:"extlang",Subtag:"nsr",Description:["Maritime Sign Language"],Added:"2009-07-29","Preferred-Value":"nsr",Prefix:["sgn"]},{Type:"extlang",Subtag:"nzs",Description:["New Zealand Sign Language"],Added:"2009-07-29","Preferred-Value":"nzs",Prefix:["sgn"]},{Type:"extlang",Subtag:"okl",Description:["Old Kentish Sign Language"],Added:"2009-07-29","Preferred-Value":"okl",Prefix:["sgn"]},{Type:"extlang",Subtag:"orn",Description:["Orang Kanaq"],Added:"2009-07-29","Preferred-Value":"orn",Prefix:["ms"],Macrolanguage:"ms"},{Type:"extlang",Subtag:"ors",Description:["Orang Seletar"],Added:"2009-07-29","Preferred-Value":"ors",Prefix:["ms"],Macrolanguage:"ms"},{Type:"extlang",Subtag:"pel",Description:["Pekal"],Added:"2009-07-29","Preferred-Value":"pel",Prefix:["ms"],Macrolanguage:"ms"},{Type:"extlang",Subtag:"pga",Description:["Sudanese Creole Arabic"],Added:"2009-07-29","Preferred-Value":"pga",Prefix:["ar"],Macrolanguage:"ar"},{Type:"extlang",Subtag:"pgz",Description:["Papua New Guinean Sign Language"],Added:"2016-05-30","Preferred-Value":"pgz",Prefix:["sgn"]},{Type:"extlang",Subtag:"pks",Description:["Pakistan Sign Language"],Added:"2009-07-29","Preferred-Value":"pks",Prefix:["sgn"]},{Type:"extlang",Subtag:"prl",Description:["Peruvian Sign Language"],Added:"2009-07-29","Preferred-Value":"prl",Prefix:["sgn"]},{Type:"extlang",Subtag:"prz",Description:["Providencia Sign Language"],Added:"2009-07-29","Preferred-Value":"prz",Prefix:["sgn"]},{Type:"extlang",Subtag:"psc",Description:["Iranian Sign Language","Persian Sign Language"],Added:"2009-07-29","Preferred-Value":"psc",Prefix:["sgn"]},{Type:"extlang",Subtag:"psd",Description:["Plains Indian Sign Language"],Added:"2009-07-29","Preferred-Value":"psd",Prefix:["sgn"]},{Type:"extlang",Subtag:"pse",Description:["Central Malay"],Added:"2009-07-29","Preferred-Value":"pse",Prefix:["ms"],Macrolanguage:"ms"},{Type:"extlang",Subtag:"psg",Description:["Penang Sign Language"],Added:"2009-07-29","Preferred-Value":"psg",Prefix:["sgn"]},{Type:"extlang",Subtag:"psl",Description:["Puerto Rican Sign Language"],Added:"2009-07-29","Preferred-Value":"psl",Prefix:["sgn"]},{Type:"extlang",Subtag:"pso",Description:["Polish Sign Language"],Added:"2009-07-29","Preferred-Value":"pso",Prefix:["sgn"]},{Type:"extlang",Subtag:"psp",Description:["Philippine Sign Language"],Added:"2009-07-29","Preferred-Value":"psp",Prefix:["sgn"]},{Type:"extlang",Subtag:"psr",Description:["Portuguese Sign Language"],Added:"2009-07-29","Preferred-Value":"psr",Prefix:["sgn"]},{Type:"extlang",Subtag:"pys",Description:["Paraguayan Sign Language","Lengua de Señas del Paraguay"],Added:"2010-03-11","Preferred-Value":"pys",Prefix:["sgn"]},{Type:"extlang",Subtag:"rib",Description:["Bribri Sign Language"],Added:"2022-02-25","Preferred-Value":"rib",Prefix:["sgn"]},{Type:"extlang",Subtag:"rms",Description:["Romanian Sign Language"],Added:"2009-07-29","Preferred-Value":"rms",Prefix:["sgn"]},{Type:"extlang",Subtag:"rnb",Description:["Brunca Sign Language"],Added:"2022-02-25","Preferred-Value":"rnb",Prefix:["sgn"]},{Type:"extlang",Subtag:"rsi",Description:["Rennellese Sign Language"],Added:"2009-07-29",Deprecated:"2017-02-23","Preferred-Value":"rsi",Prefix:["sgn"]},{Type:"extlang",Subtag:"rsl",Description:["Russian Sign Language"],Added:"2009-07-29","Preferred-Value":"rsl",Prefix:["sgn"]},{Type:"extlang",Subtag:"rsm",Description:["Miriwoong Sign Language"],Added:"2016-05-30","Preferred-Value":"rsm",Prefix:["sgn"]},{Type:"extlang",Subtag:"rsn",Description:["Rwandan Sign Language"],Added:"2022-02-25","Preferred-Value":"rsn",Prefix:["sgn"]},{Type:"extlang",Subtag:"sdl",Description:["Saudi Arabian Sign Language"],Added:"2009-07-29","Preferred-Value":"sdl",Prefix:["sgn"]},{Type:"extlang",Subtag:"sfb",Description:["Langue des signes de Belgique Francophone","French Belgian Sign Language"],Added:"2009-07-29","Preferred-Value":"sfb",Prefix:["sgn"]},{Type:"extlang",Subtag:"sfs",Description:["South African Sign Language"],Added:"2009-07-29","Preferred-Value":"sfs",Prefix:["sgn"]},{Type:"extlang",Subtag:"sgg",Description:["Swiss-German Sign Language"],Added:"2009-07-29","Preferred-Value":"sgg",Prefix:["sgn"]},{Type:"extlang",Subtag:"sgx",Description:["Sierra Leone Sign Language"],Added:"2009-07-29","Preferred-Value":"sgx",Prefix:["sgn"]},{Type:"extlang",Subtag:"shu",Description:["Chadian Arabic"],Added:"2009-07-29","Preferred-Value":"shu",Prefix:["ar"],Macrolanguage:"ar"},{Type:"extlang",Subtag:"slf",Description:["Swiss-Italian Sign Language"],Added:"2009-07-29","Preferred-Value":"slf",Prefix:["sgn"]},{Type:"extlang",Subtag:"sls",Description:["Singapore Sign Language"],Added:"2009-07-29","Preferred-Value":"sls",Prefix:["sgn"]},{Type:"extlang",Subtag:"sqk",Description:["Albanian Sign Language"],Added:"2012-08-12","Preferred-Value":"sqk",Prefix:["sgn"]},{Type:"extlang",Subtag:"sqs",Description:["Sri Lankan Sign Language"],Added:"2009-07-29","Preferred-Value":"sqs",Prefix:["sgn"]},{Type:"extlang",Subtag:"sqx",Description:["Kufr Qassem Sign Language (KQSL)"],Added:"2021-02-20","Preferred-Value":"sqx",Prefix:["sgn"]},{Type:"extlang",Subtag:"ssh",Description:["Shihhi Arabic"],Added:"2009-07-29","Preferred-Value":"ssh",Prefix:["ar"],Macrolanguage:"ar"},{Type:"extlang",Subtag:"ssp",Description:["Spanish Sign Language"],Added:"2009-07-29","Preferred-Value":"ssp",Prefix:["sgn"]},{Type:"extlang",Subtag:"ssr",Description:["Swiss-French Sign Language"],Added:"2009-07-29","Preferred-Value":"ssr",Prefix:["sgn"]},{Type:"extlang",Subtag:"svk",Description:["Slovakian Sign Language"],Added:"2009-07-29","Preferred-Value":"svk",Prefix:["sgn"]},{Type:"extlang",Subtag:"swc",Description:["Congo Swahili"],Added:"2009-07-29","Preferred-Value":"swc",Prefix:["sw"],Macrolanguage:"sw"},{Type:"extlang",Subtag:"swh",Description:["Swahili (individual language)","Kiswahili"],Added:"2009-07-29","Preferred-Value":"swh",Prefix:["sw"],Macrolanguage:"sw"},{Type:"extlang",Subtag:"swl",Description:["Swedish Sign Language"],Added:"2009-07-29","Preferred-Value":"swl",Prefix:["sgn"]},{Type:"extlang",Subtag:"syy",Description:["Al-Sayyid Bedouin Sign Language"],Added:"2009-07-29","Preferred-Value":"syy",Prefix:["sgn"]},{Type:"extlang",Subtag:"szs",Description:["Solomon Islands Sign Language"],Added:"2017-02-23","Preferred-Value":"szs",Prefix:["sgn"]},{Type:"extlang",Subtag:"tmw",Description:["Temuan"],Added:"2009-07-29","Preferred-Value":"tmw",Prefix:["ms"],Macrolanguage:"ms"},{Type:"extlang",Subtag:"tse",Description:["Tunisian Sign Language"],Added:"2009-07-29","Preferred-Value":"tse",Prefix:["sgn"]},{Type:"extlang",Subtag:"tsm",Description:["Turkish Sign Language","Türk İşaret Dili"],Added:"2009-07-29","Preferred-Value":"tsm",Prefix:["sgn"]},{Type:"extlang",Subtag:"tsq",Description:["Thai Sign Language"],Added:"2009-07-29","Preferred-Value":"tsq",Prefix:["sgn"]},{Type:"extlang",Subtag:"tss",Description:["Taiwan Sign Language"],Added:"2009-07-29","Preferred-Value":"tss",Prefix:["sgn"]},{Type:"extlang",Subtag:"tsy",Description:["Tebul Sign Language"],Added:"2009-07-29","Preferred-Value":"tsy",Prefix:["sgn"]},{Type:"extlang",Subtag:"tza",Description:["Tanzanian Sign Language"],Added:"2009-07-29","Preferred-Value":"tza",Prefix:["sgn"]},{Type:"extlang",Subtag:"ugn",Description:["Ugandan Sign Language"],Added:"2009-07-29","Preferred-Value":"ugn",Prefix:["sgn"]},{Type:"extlang",Subtag:"ugy",Description:["Uruguayan Sign Language"],Added:"2009-07-29","Preferred-Value":"ugy",Prefix:["sgn"]},{Type:"extlang",Subtag:"ukl",Description:["Ukrainian Sign Language"],Added:"2009-07-29","Preferred-Value":"ukl",Prefix:["sgn"]},{Type:"extlang",Subtag:"uks",Description:["Urubú-Kaapor Sign Language","Kaapor Sign Language"],Added:"2009-07-29","Preferred-Value":"uks",Prefix:["sgn"]},{Type:"extlang",Subtag:"urk",Description:["Urak Lawoi'"],Added:"2009-07-29","Preferred-Value":"urk",Prefix:["ms"],Macrolanguage:"ms"},{Type:"extlang",Subtag:"uzn",Description:["Northern Uzbek"],Added:"2009-07-29","Preferred-Value":"uzn",Prefix:["uz"],Macrolanguage:"uz"},{Type:"extlang",Subtag:"uzs",Description:["Southern Uzbek"],Added:"2009-07-29","Preferred-Value":"uzs",Prefix:["uz"],Macrolanguage:"uz"},{Type:"extlang",Subtag:"vgt",Description:["Vlaamse Gebarentaal","Flemish Sign Language"],Added:"2009-07-29","Preferred-Value":"vgt",Prefix:["sgn"]},{Type:"extlang",Subtag:"vkk",Description:["Kaur"],Added:"2009-07-29","Preferred-Value":"vkk",Prefix:["ms"],Macrolanguage:"ms"},{Type:"extlang",Subtag:"vkt",Description:["Tenggarong Kutai Malay"],Added:"2009-07-29","Preferred-Value":"vkt",Prefix:["ms"],Macrolanguage:"ms"},{Type:"extlang",Subtag:"vsi",Description:["Moldova Sign Language"],Added:"2009-07-29","Preferred-Value":"vsi",Prefix:["sgn"]},{Type:"extlang",Subtag:"vsl",Description:["Venezuelan Sign Language"],Added:"2009-07-29","Preferred-Value":"vsl",Prefix:["sgn"]},{Type:"extlang",Subtag:"vsv",Description:["Valencian Sign Language","Llengua de signes valenciana"],Added:"2009-07-29","Preferred-Value":"vsv",Prefix:["sgn"]},{Type:"extlang",Subtag:"wbs",Description:["West Bengal Sign Language"],Added:"2017-02-23","Preferred-Value":"wbs",Prefix:["sgn"]},{Type:"extlang",Subtag:"wuu",Description:["Wu Chinese"],Added:"2009-07-29","Preferred-Value":"wuu",Prefix:["zh"],Macrolanguage:"zh"},{Type:"extlang",Subtag:"xki",Description:["Kenyan Sign Language"],Added:"2009-07-29","Preferred-Value":"xki",Prefix:["sgn"]},{Type:"extlang",Subtag:"xml",Description:["Malaysian Sign Language"],Added:"2009-07-29","Preferred-Value":"xml",Prefix:["sgn"]},{Type:"extlang",Subtag:"xmm",Description:["Manado Malay"],Added:"2009-07-29","Preferred-Value":"xmm",Prefix:["ms"],Macrolanguage:"ms"},{Type:"extlang",Subtag:"xms",Description:["Moroccan Sign Language"],Added:"2009-07-29","Preferred-Value":"xms",Prefix:["sgn"]},{Type:"extlang",Subtag:"yds",Description:["Yiddish Sign Language"],Added:"2009-07-29",Deprecated:"2015-02-12","Preferred-Value":"yds",Prefix:["sgn"]},{Type:"extlang",Subtag:"ygs",Description:["Yolŋu Sign Language"],Added:"2014-02-28","Preferred-Value":"ygs",Prefix:["sgn"]},{Type:"extlang",Subtag:"yhs",Description:["Yan-nhaŋu Sign Language"],Added:"2015-04-17","Preferred-Value":"yhs",Prefix:["sgn"]},{Type:"extlang",Subtag:"ysl",Description:["Yugoslavian Sign Language"],Added:"2009-07-29","Preferred-Value":"ysl",Prefix:["sgn"]},{Type:"extlang",Subtag:"ysm",Description:["Myanmar Sign Language"],Added:"2021-02-20","Preferred-Value":"ysm",Prefix:["sgn"]},{Type:"extlang",Subtag:"yue",Description:["Yue Chinese","Cantonese"],Added:"2009-07-29","Preferred-Value":"yue",Prefix:["zh"],Macrolanguage:"zh"},{Type:"extlang",Subtag:"zib",Description:["Zimbabwe Sign Language"],Added:"2009-07-29","Preferred-Value":"zib",Prefix:["sgn"]},{Type:"extlang",Subtag:"zlm",Description:["Malay (individual language)"],Added:"2009-07-29","Preferred-Value":"zlm",Prefix:["ms"],Macrolanguage:"ms"},{Type:"extlang",Subtag:"zmi",Description:["Negeri Sembilan Malay"],Added:"2009-07-29","Preferred-Value":"zmi",Prefix:["ms"],Macrolanguage:"ms"},{Type:"extlang",Subtag:"zsl",Description:["Zambian Sign Language"],Added:"2009-07-29","Preferred-Value":"zsl",Prefix:["sgn"]},{Type:"extlang",Subtag:"zsm",Description:["Standard Malay"],Added:"2009-07-29","Preferred-Value":"zsm",Prefix:["ms"],Macrolanguage:"ms"},{Type:"script",Subtag:"Adlm",Description:["Adlam"],Added:"2014-12-11"},{Type:"script",Subtag:"Afak",Description:["Afaka"],Added:"2011-01-07"},{Type:"script",Subtag:"Aghb",Description:["Caucasian Albanian"],Added:"2012-11-01"},{Type:"script",Subtag:"Ahom",Description:["Ahom","Tai Ahom"],Added:"2013-12-02"},{Type:"script",Subtag:"Arab",Description:["Arabic"],Added:"2005-10-16"},{Type:"script",Subtag:"Aran",Description:["Arabic (Nastaliq variant)"],Added:"2014-12-11"},{Type:"script",Subtag:"Armi",Description:["Imperial Aramaic"],Added:"2007-12-05"},{Type:"script",Subtag:"Armn",Description:["Armenian"],Added:"2005-10-16"},{Type:"script",Subtag:"Avst",Description:["Avestan"],Added:"2007-07-28"},{Type:"script",Subtag:"Bali",Description:["Balinese"],Added:"2005-10-16"},{Type:"script",Subtag:"Bamu",Description:["Bamum"],Added:"2009-07-30"},{Type:"script",Subtag:"Bass",Description:["Bassa Vah"],Added:"2010-04-10"},{Type:"script",Subtag:"Batk",Description:["Batak"],Added:"2005-10-16"},{Type:"script",Subtag:"Beng",Description:["Bengali","Bangla"],Added:"2005-10-16"},{Type:"script",Subtag:"Bhks",Description:["Bhaiksuki"],Added:"2015-07-24"},{Type:"script",Subtag:"Blis",Description:["Blissymbols"],Added:"2005-10-16"},{Type:"script",Subtag:"Bopo",Description:["Bopomofo"],Added:"2005-10-16"},{Type:"script",Subtag:"Brah",Description:["Brahmi"],Added:"2005-10-16"},{Type:"script",Subtag:"Brai",Description:["Braille"],Added:"2005-10-16"},{Type:"script",Subtag:"Bugi",Description:["Buginese"],Added:"2005-10-16"},{Type:"script",Subtag:"Buhd",Description:["Buhid"],Added:"2005-10-16"},{Type:"script",Subtag:"Cakm",Description:["Chakma"],Added:"2007-12-05"},{Type:"script",Subtag:"Cans",Description:["Unified Canadian Aboriginal Syllabics"],Added:"2005-10-16"},{Type:"script",Subtag:"Cari",Description:["Carian"],Added:"2006-07-21"},{Type:"script",Subtag:"Cham",Description:["Cham"],Added:"2005-10-16"},{Type:"script",Subtag:"Cher",Description:["Cherokee"],Added:"2005-10-16"},{Type:"script",Subtag:"Chrs",Description:["Chorasmian"],Added:"2019-09-11"},{Type:"script",Subtag:"Cirt",Description:["Cirth"],Added:"2005-10-16"},{Type:"script",Subtag:"Copt",Description:["Coptic"],Added:"2005-10-16"},{Type:"script",Subtag:"Cpmn",Description:["Cypro-Minoan"],Added:"2017-08-13"},{Type:"script",Subtag:"Cprt",Description:["Cypriot syllabary"],Added:"2005-10-16"},{Type:"script",Subtag:"Cyrl",Description:["Cyrillic"],Added:"2005-10-16"},{Type:"script",Subtag:"Cyrs",Description:["Cyrillic (Old Church Slavonic variant)"],Added:"2005-10-16"},{Type:"script",Subtag:"Deva",Description:["Devanagari","Nagari"],Added:"2005-10-16"},{Type:"script",Subtag:"Diak",Description:["Dives Akuru"],Added:"2019-09-11"},{Type:"script",Subtag:"Dogr",Description:["Dogra"],Added:"2017-01-13"},{Type:"script",Subtag:"Dsrt",Description:["Deseret","Mormon"],Added:"2005-10-16"},{Type:"script",Subtag:"Dupl",Description:["Duployan shorthand","Duployan stenography"],Added:"2010-08-16"},{Type:"script",Subtag:"Egyd",Description:["Egyptian demotic"],Added:"2005-10-16"},{Type:"script",Subtag:"Egyh",Description:["Egyptian hieratic"],Added:"2005-10-16"},{Type:"script",Subtag:"Egyp",Description:["Egyptian hieroglyphs"],Added:"2005-10-16"},{Type:"script",Subtag:"Elba",Description:["Elbasan"],Added:"2010-08-16"},{Type:"script",Subtag:"Elym",Description:["Elymaic"],Added:"2018-10-28"},{Type:"script",Subtag:"Ethi",Description:["Ethiopic","Geʻez","Ge'ez"],Added:"2005-10-16"},{Type:"script",Subtag:"Geok",Description:["Khutsuri (Asomtavruli and Nuskhuri)"],Added:"2005-10-16"},{Type:"script",Subtag:"Geor",Description:["Georgian (Mkhedruli and Mtavruli)"],Added:"2005-10-16"},{Type:"script",Subtag:"Glag",Description:["Glagolitic"],Added:"2005-10-16"},{Type:"script",Subtag:"Gong",Description:["Gunjala Gondi"],Added:"2017-01-13"},{Type:"script",Subtag:"Gonm",Description:["Masaram Gondi"],Added:"2017-01-13"},{Type:"script",Subtag:"Goth",Description:["Gothic"],Added:"2005-10-16"},{Type:"script",Subtag:"Gran",Description:["Grantha"],Added:"2009-12-09"},{Type:"script",Subtag:"Grek",Description:["Greek"],Added:"2005-10-16"},{Type:"script",Subtag:"Gujr",Description:["Gujarati"],Added:"2005-10-16"},{Type:"script",Subtag:"Guru",Description:["Gurmukhi"],Added:"2005-10-16"},{Type:"script",Subtag:"Hanb",Description:["Han with Bopomofo (alias for Han + Bopomofo)"],Added:"2016-02-08"},{Type:"script",Subtag:"Hang",Description:["Hangul","Hangŭl","Hangeul"],Added:"2005-10-16"},{Type:"script",Subtag:"Hani",Description:["Han","Hanzi","Kanji","Hanja"],Added:"2005-10-16"},{Type:"script",Subtag:"Hano",Description:["Hanunoo","Hanunóo"],Added:"2005-10-16"},{Type:"script",Subtag:"Hans",Description:["Han (Simplified variant)"],Added:"2005-10-16"},{Type:"script",Subtag:"Hant",Description:["Han (Traditional variant)"],Added:"2005-10-16"},{Type:"script",Subtag:"Hatr",Description:["Hatran"],Added:"2013-12-02"},{Type:"script",Subtag:"Hebr",Description:["Hebrew"],Added:"2005-10-16"},{Type:"script",Subtag:"Hira",Description:["Hiragana"],Added:"2005-10-16"},{Type:"script",Subtag:"Hluw",Description:["Anatolian Hieroglyphs","Luwian Hieroglyphs","Hittite Hieroglyphs"],Added:"2011-12-28"},{Type:"script",Subtag:"Hmng",Description:["Pahawh Hmong"],Added:"2005-10-16"},{Type:"script",Subtag:"Hmnp",Description:["Nyiakeng Puachue Hmong"],Added:"2017-08-13"},{Type:"script",Subtag:"Hrkt",Description:["Japanese syllabaries (alias for Hiragana + Katakana)"],Added:"2005-10-16"},{Type:"script",Subtag:"Hung",Description:["Old Hungarian","Hungarian Runic"],Added:"2005-10-16"},{Type:"script",Subtag:"Inds",Description:["Indus","Harappan"],Added:"2005-10-16"},{Type:"script",Subtag:"Ital",Description:["Old Italic (Etruscan, Oscan, etc.)"],Added:"2005-10-16"},{Type:"script",Subtag:"Jamo",Description:["Jamo (alias for Jamo subset of Hangul)"],Added:"2016-02-08"},{Type:"script",Subtag:"Java",Description:["Javanese"],Added:"2005-10-16"},{Type:"script",Subtag:"Jpan",Description:["Japanese (alias for Han + Hiragana + Katakana)"],Added:"2006-07-21"},{Type:"script",Subtag:"Jurc",Description:["Jurchen"],Added:"2011-01-07"},{Type:"script",Subtag:"Kali",Description:["Kayah Li"],Added:"2005-10-16"},{Type:"script",Subtag:"Kana",Description:["Katakana"],Added:"2005-10-16"},{Type:"script",Subtag:"Kawi",Description:["Kawi"],Added:"2021-12-24"},{Type:"script",Subtag:"Khar",Description:["Kharoshthi"],Added:"2005-10-16"},{Type:"script",Subtag:"Khmr",Description:["Khmer"],Added:"2005-10-16"},{Type:"script",Subtag:"Khoj",Description:["Khojki"],Added:"2011-08-16"},{Type:"script",Subtag:"Kitl",Description:["Khitan large script"],Added:"2014-12-11"},{Type:"script",Subtag:"Kits",Description:["Khitan small script"],Added:"2014-12-11"},{Type:"script",Subtag:"Knda",Description:["Kannada"],Added:"2005-10-16"},{Type:"script",Subtag:"Kore",Description:["Korean (alias for Hangul + Han)"],Added:"2007-07-05"},{Type:"script",Subtag:"Kpel",Description:["Kpelle"],Added:"2010-04-10"},{Type:"script",Subtag:"Kthi",Description:["Kaithi"],Added:"2007-12-05"},{Type:"script",Subtag:"Lana",Description:["Tai Tham","Lanna"],Added:"2006-07-21"},{Type:"script",Subtag:"Laoo",Description:["Lao"],Added:"2005-10-16"},{Type:"script",Subtag:"Latf",Description:["Latin (Fraktur variant)"],Added:"2005-10-16"},{Type:"script",Subtag:"Latg",Description:["Latin (Gaelic variant)"],Added:"2005-10-16"},{Type:"script",Subtag:"Latn",Description:["Latin"],Added:"2005-10-16"},{Type:"script",Subtag:"Leke",Description:["Leke"],Added:"2015-07-24"},{Type:"script",Subtag:"Lepc",Description:["Lepcha","Róng"],Added:"2005-10-16"},{Type:"script",Subtag:"Limb",Description:["Limbu"],Added:"2005-10-16"},{Type:"script",Subtag:"Lina",Description:["Linear A"],Added:"2005-10-16"},{Type:"script",Subtag:"Linb",Description:["Linear B"],Added:"2005-10-16"},{Type:"script",Subtag:"Lisu",Description:["Lisu","Fraser"],Added:"2009-03-13"},{Type:"script",Subtag:"Loma",Description:["Loma"],Added:"2010-04-10"},{Type:"script",Subtag:"Lyci",Description:["Lycian"],Added:"2006-07-21"},{Type:"script",Subtag:"Lydi",Description:["Lydian"],Added:"2006-07-21"},{Type:"script",Subtag:"Mahj",Description:["Mahajani"],Added:"2012-11-01"},{Type:"script",Subtag:"Maka",Description:["Makasar"],Added:"2017-01-13"},{Type:"script",Subtag:"Mand",Description:["Mandaic","Mandaean"],Added:"2005-10-16"},{Type:"script",Subtag:"Mani",Description:["Manichaean"],Added:"2007-07-28"},{Type:"script",Subtag:"Marc",Description:["Marchen"],Added:"2014-12-11"},{Type:"script",Subtag:"Maya",Description:["Mayan hieroglyphs"],Added:"2005-10-16"},{Type:"script",Subtag:"Medf",Description:["Medefaidrin","Oberi Okaime","Oberi Ɔkaimɛ"],Added:"2017-01-13"},{Type:"script",Subtag:"Mend",Description:["Mende Kikakui"],Added:"2010-04-10"},{Type:"script",Subtag:"Merc",Description:["Meroitic Cursive"],Added:"2009-12-09"},{Type:"script",Subtag:"Mero",Description:["Meroitic Hieroglyphs"],Added:"2005-10-16"},{Type:"script",Subtag:"Mlym",Description:["Malayalam"],Added:"2005-10-16"},{Type:"script",Subtag:"Modi",Description:["Modi","Moḍī"],Added:"2013-12-02"},{Type:"script",Subtag:"Mong",Description:["Mongolian"],Added:"2005-10-16"},{Type:"script",Subtag:"Moon",Description:["Moon","Moon code","Moon script","Moon type"],Added:"2007-01-26"},{Type:"script",Subtag:"Mroo",Description:["Mro","Mru"],Added:"2011-01-07"},{Type:"script",Subtag:"Mtei",Description:["Meitei Mayek","Meithei","Meetei"],Added:"2007-01-26"},{Type:"script",Subtag:"Mult",Description:["Multani"],Added:"2013-12-02"},{Type:"script",Subtag:"Mymr",Description:["Myanmar","Burmese"],Added:"2005-10-16"},{Type:"script",Subtag:"Nagm",Description:["Nag Mundari"],Added:"2021-12-24"},{Type:"script",Subtag:"Nand",Description:["Nandinagari"],Added:"2018-10-28"},{Type:"script",Subtag:"Narb",Description:["Old North Arabian","Ancient North Arabian"],Added:"2010-04-10"},{Type:"script",Subtag:"Nbat",Description:["Nabataean"],Added:"2010-04-10"},{Type:"script",Subtag:"Newa",Description:["Newa","Newar","Newari","Nepāla lipi"],Added:"2016-01-04"},{Type:"script",Subtag:"Nkdb",Description:["Naxi Dongba","na²¹ɕi³³ to³³ba²¹","Nakhi Tomba"],Added:"2017-08-13"},{Type:"script",Subtag:"Nkgb",Description:["Naxi Geba","na²¹ɕi³³ gʌ²¹ba²¹","'Na-'Khi ²Ggŏ-¹baw","Nakhi Geba"],Added:"2009-03-13"},{Type:"script",Subtag:"Nkoo",Description:["N’Ko","N'Ko"],Added:"2005-10-16"},{Type:"script",Subtag:"Nshu",Description:["Nüshu"],Added:"2011-01-07"},{Type:"script",Subtag:"Ogam",Description:["Ogham"],Added:"2005-10-16"},{Type:"script",Subtag:"Olck",Description:["Ol Chiki","Ol Cemet'","Ol","Santali"],Added:"2006-07-21"},{Type:"script",Subtag:"Orkh",Description:["Old Turkic","Orkhon Runic"],Added:"2009-07-30"},{Type:"script",Subtag:"Orya",Description:["Oriya","Odia"],Added:"2005-10-16"},{Type:"script",Subtag:"Osge",Description:["Osage"],Added:"2014-12-11"},{Type:"script",Subtag:"Osma",Description:["Osmanya"],Added:"2005-10-16"},{Type:"script",Subtag:"Ougr",Description:["Old Uyghur"],Added:"2021-02-12"},{Type:"script",Subtag:"Palm",Description:["Palmyrene"],Added:"2010-04-10"},{Type:"script",Subtag:"Pauc",Description:["Pau Cin Hau"],Added:"2013-12-02"},{Type:"script",Subtag:"Pcun",Description:["Proto-Cuneiform"],Added:"2021-02-12"},{Type:"script",Subtag:"Pelm",Description:["Proto-Elamite"],Added:"2021-02-12"},{Type:"script",Subtag:"Perm",Description:["Old Permic"],Added:"2005-10-16"},{Type:"script",Subtag:"Phag",Description:["Phags-pa"],Added:"2005-10-16"},{Type:"script",Subtag:"Phli",Description:["Inscriptional Pahlavi"],Added:"2007-12-05"},{Type:"script",Subtag:"Phlp",Description:["Psalter Pahlavi"],Added:"2007-12-05"},{Type:"script",Subtag:"Phlv",Description:["Book Pahlavi"],Added:"2007-07-28"},{Type:"script",Subtag:"Phnx",Description:["Phoenician"],Added:"2005-10-16"},{Type:"script",Subtag:"Piqd",Description:["Klingon (KLI pIqaD)"],Added:"2016-01-04"},{Type:"script",Subtag:"Plrd",Description:["Miao","Pollard"],Added:"2005-10-16"},{Type:"script",Subtag:"Prti",Description:["Inscriptional Parthian"],Added:"2007-12-05"},{Type:"script",Subtag:"Psin",Description:["Proto-Sinaitic"],Added:"2021-02-12"},{Type:"script",Subtag:"Qaaa..Qabx",Description:["Private use"],Added:"2005-10-16"},{Type:"script",Subtag:"Ranj",Description:["Ranjana"],Added:"2021-02-12"},{Type:"script",Subtag:"Rjng",Description:["Rejang","Redjang","Kaganga"],Added:"2006-10-17"},{Type:"script",Subtag:"Rohg",Description:["Hanifi Rohingya"],Added:"2017-12-13"},{Type:"script",Subtag:"Roro",Description:["Rongorongo"],Added:"2005-10-16"},{Type:"script",Subtag:"Runr",Description:["Runic"],Added:"2005-10-16"},{Type:"script",Subtag:"Samr",Description:["Samaritan"],Added:"2007-07-28"},{Type:"script",Subtag:"Sara",Description:["Sarati"],Added:"2005-10-16"},{Type:"script",Subtag:"Sarb",Description:["Old South Arabian"],Added:"2009-07-30"},{Type:"script",Subtag:"Saur",Description:["Saurashtra"],Added:"2006-07-21"},{Type:"script",Subtag:"Sgnw",Description:["SignWriting"],Added:"2006-10-17"},{Type:"script",Subtag:"Shaw",Description:["Shavian","Shaw"],Added:"2005-10-16"},{Type:"script",Subtag:"Shrd",Description:["Sharada","Śāradā"],Added:"2011-01-07"},{Type:"script",Subtag:"Shui",Description:["Shuishu"],Added:"2017-08-13"},{Type:"script",Subtag:"Sidd",Description:["Siddham","Siddhaṃ","Siddhamātṛkā"],Added:"2013-12-02"},{Type:"script",Subtag:"Sind",Description:["Khudawadi","Sindhi"],Added:"2010-08-16"},{Type:"script",Subtag:"Sinh",Description:["Sinhala"],Added:"2005-10-16"},{Type:"script",Subtag:"Sogd",Description:["Sogdian"],Added:"2017-12-13"},{Type:"script",Subtag:"Sogo",Description:["Old Sogdian"],Added:"2017-12-13"},{Type:"script",Subtag:"Sora",Description:["Sora Sompeng"],Added:"2011-01-07"},{Type:"script",Subtag:"Soyo",Description:["Soyombo"],Added:"2017-01-13"},{Type:"script",Subtag:"Sund",Description:["Sundanese"],Added:"2006-07-21"},{Type:"script",Subtag:"Sunu",Description:["Sunuwar"],Added:"2021-12-24"},{Type:"script",Subtag:"Sylo",Description:["Syloti Nagri"],Added:"2005-10-16"},{Type:"script",Subtag:"Syrc",Description:["Syriac"],Added:"2005-10-16"},{Type:"script",Subtag:"Syre",Description:["Syriac (Estrangelo variant)"],Added:"2005-10-16"},{Type:"script",Subtag:"Syrj",Description:["Syriac (Western variant)"],Added:"2005-10-16"},{Type:"script",Subtag:"Syrn",Description:["Syriac (Eastern variant)"],Added:"2005-10-16"},{Type:"script",Subtag:"Tagb",Description:["Tagbanwa"],Added:"2005-10-16"},{Type:"script",Subtag:"Takr",Description:["Takri","Ṭākrī","Ṭāṅkrī"],Added:"2011-01-07"},{Type:"script",Subtag:"Tale",Description:["Tai Le"],Added:"2005-10-16"},{Type:"script",Subtag:"Talu",Description:["New Tai Lue"],Added:"2005-10-16"},{Type:"script",Subtag:"Taml",Description:["Tamil"],Added:"2005-10-16"},{Type:"script",Subtag:"Tang",Description:["Tangut"],Added:"2011-01-07"},{Type:"script",Subtag:"Tavt",Description:["Tai Viet"],Added:"2007-12-05"},{Type:"script",Subtag:"Telu",Description:["Telugu"],Added:"2005-10-16"},{Type:"script",Subtag:"Teng",Description:["Tengwar"],Added:"2005-10-16"},{Type:"script",Subtag:"Tfng",Description:["Tifinagh","Berber"],Added:"2005-10-16"},{Type:"script",Subtag:"Tglg",Description:["Tagalog","Baybayin","Alibata"],Added:"2005-10-16"},{Type:"script",Subtag:"Thaa",Description:["Thaana"],Added:"2005-10-16"},{Type:"script",Subtag:"Thai",Description:["Thai"],Added:"2005-10-16"},{Type:"script",Subtag:"Tibt",Description:["Tibetan"],Added:"2005-10-16"},{Type:"script",Subtag:"Tirh",Description:["Tirhuta"],Added:"2011-08-16"},{Type:"script",Subtag:"Tnsa",Description:["Tangsa"],Added:"2021-03-05"},{Type:"script",Subtag:"Toto",Description:["Toto"],Added:"2020-05-12"},{Type:"script",Subtag:"Ugar",Description:["Ugaritic"],Added:"2005-10-16"},{Type:"script",Subtag:"Vaii",Description:["Vai"],Added:"2005-10-16"},{Type:"script",Subtag:"Visp",Description:["Visible Speech"],Added:"2005-10-16"},{Type:"script",Subtag:"Vith",Description:["Vithkuqi"],Added:"2021-03-05"},{Type:"script",Subtag:"Wara",Description:["Warang Citi","Varang Kshiti"],Added:"2009-12-09"},{Type:"script",Subtag:"Wcho",Description:["Wancho"],Added:"2017-08-13"},{Type:"script",Subtag:"Wole",Description:["Woleai"],Added:"2011-01-07"},{Type:"script",Subtag:"Xpeo",Description:["Old Persian"],Added:"2005-10-16"},{Type:"script",Subtag:"Xsux",Description:["Sumero-Akkadian cuneiform"],Added:"2005-10-16"},{Type:"script",Subtag:"Yezi",Description:["Yezidi"],Added:"2019-09-11"},{Type:"script",Subtag:"Yiii",Description:["Yi"],Added:"2005-10-16"},{Type:"script",Subtag:"Zanb",Description:["Zanabazar Square","Zanabazarin Dörböljin Useg","Xewtee Dörböljin Bicig","Horizontal Square Script"],Added:"2017-01-13"},{Type:"script",Subtag:"Zinh",Description:["Code for inherited script"],Added:"2009-04-03",Comments:["Not intended for use as a language subtag"]},{Type:"script",Subtag:"Zmth",Description:["Mathematical notation"],Added:"2007-12-05"},{Type:"script",Subtag:"Zsye",Description:["Symbols (Emoji variant)"],Added:"2016-01-04"},{Type:"script",Subtag:"Zsym",Description:["Symbols"],Added:"2007-12-05"},{Type:"script",Subtag:"Zxxx",Description:["Code for unwritten documents"],Added:"2005-10-16"},{Type:"script",Subtag:"Zyyy",Description:["Code for undetermined script"],Added:"2005-10-16"},{Type:"script",Subtag:"Zzzz",Description:["Code for uncoded script"],Added:"2005-10-16"},{Type:"region",Subtag:"AA",Description:["Private use"],Added:"2005-10-16"},{Type:"region",Subtag:"AC",Description:["Ascension Island"],Added:"2009-07-29"},{Type:"region",Subtag:"AD",Description:["Andorra"],Added:"2005-10-16"},{Type:"region",Subtag:"AE",Description:["United Arab Emirates"],Added:"2005-10-16"},{Type:"region",Subtag:"AF",Description:["Afghanistan"],Added:"2005-10-16"},{Type:"region",Subtag:"AG",Description:["Antigua and Barbuda"],Added:"2005-10-16"},{Type:"region",Subtag:"AI",Description:["Anguilla"],Added:"2005-10-16"},{Type:"region",Subtag:"AL",Description:["Albania"],Added:"2005-10-16"},{Type:"region",Subtag:"AM",Description:["Armenia"],Added:"2005-10-16"},{Type:"region",Subtag:"AN",Description:["Netherlands Antilles"],Added:"2005-10-16",Deprecated:"2011-01-07",Comments:["see BQ, CW, and SX"]},{Type:"region",Subtag:"AO",Description:["Angola"],Added:"2005-10-16"},{Type:"region",Subtag:"AQ",Description:["Antarctica"],Added:"2005-10-16"},{Type:"region",Subtag:"AR",Description:["Argentina"],Added:"2005-10-16"},{Type:"region",Subtag:"AS",Description:["American Samoa"],Added:"2005-10-16"},{Type:"region",Subtag:"AT",Description:["Austria"],Added:"2005-10-16"},{Type:"region",Subtag:"AU",Description:["Australia"],Added:"2005-10-16"},{Type:"region",Subtag:"AW",Description:["Aruba"],Added:"2005-10-16"},{Type:"region",Subtag:"AX",Description:["Åland Islands"],Added:"2005-10-16"},{Type:"region",Subtag:"AZ",Description:["Azerbaijan"],Added:"2005-10-16"},{Type:"region",Subtag:"BA",Description:["Bosnia and Herzegovina"],Added:"2005-10-16"},{Type:"region",Subtag:"BB",Description:["Barbados"],Added:"2005-10-16"},{Type:"region",Subtag:"BD",Description:["Bangladesh"],Added:"2005-10-16"},{Type:"region",Subtag:"BE",Description:["Belgium"],Added:"2005-10-16"},{Type:"region",Subtag:"BF",Description:["Burkina Faso"],Added:"2005-10-16"},{Type:"region",Subtag:"BG",Description:["Bulgaria"],Added:"2005-10-16"},{Type:"region",Subtag:"BH",Description:["Bahrain"],Added:"2005-10-16"},{Type:"region",Subtag:"BI",Description:["Burundi"],Added:"2005-10-16"},{Type:"region",Subtag:"BJ",Description:["Benin"],Added:"2005-10-16"},{Type:"region",Subtag:"BL",Description:["Saint Barthélemy"],Added:"2007-11-02"},{Type:"region",Subtag:"BM",Description:["Bermuda"],Added:"2005-10-16"},{Type:"region",Subtag:"BN",Description:["Brunei Darussalam"],Added:"2005-10-16"},{Type:"region",Subtag:"BO",Description:["Bolivia"],Added:"2005-10-16"},{Type:"region",Subtag:"BQ",Description:["Bonaire, Sint Eustatius and Saba"],Added:"2011-01-07"},{Type:"region",Subtag:"BR",Description:["Brazil"],Added:"2005-10-16"},{Type:"region",Subtag:"BS",Description:["Bahamas"],Added:"2005-10-16"},{Type:"region",Subtag:"BT",Description:["Bhutan"],Added:"2005-10-16"},{Type:"region",Subtag:"BU",Description:["Burma"],Added:"2005-10-16",Deprecated:"1989-12-05","Preferred-Value":"MM"},{Type:"region",Subtag:"BV",Description:["Bouvet Island"],Added:"2005-10-16"},{Type:"region",Subtag:"BW",Description:["Botswana"],Added:"2005-10-16"},{Type:"region",Subtag:"BY",Description:["Belarus"],Added:"2005-10-16"},{Type:"region",Subtag:"BZ",Description:["Belize"],Added:"2005-10-16"},{Type:"region",Subtag:"CA",Description:["Canada"],Added:"2005-10-16"},{Type:"region",Subtag:"CC",Description:["Cocos (Keeling) Islands"],Added:"2005-10-16"},{Type:"region",Subtag:"CD",Description:["The Democratic Republic of the Congo"],Added:"2005-10-16"},{Type:"region",Subtag:"CF",Description:["Central African Republic"],Added:"2005-10-16"},{Type:"region",Subtag:"CG",Description:["Congo"],Added:"2005-10-16"},{Type:"region",Subtag:"CH",Description:["Switzerland"],Added:"2005-10-16"},{Type:"region",Subtag:"CI",Description:["Côte d'Ivoire"],Added:"2005-10-16"},{Type:"region",Subtag:"CK",Description:["Cook Islands"],Added:"2005-10-16"},{Type:"region",Subtag:"CL",Description:["Chile"],Added:"2005-10-16"},{Type:"region",Subtag:"CM",Description:["Cameroon"],Added:"2005-10-16"},{Type:"region",Subtag:"CN",Description:["China"],Added:"2005-10-16"},{Type:"region",Subtag:"CO",Description:["Colombia"],Added:"2005-10-16"},{Type:"region",Subtag:"CP",Description:["Clipperton Island"],Added:"2009-07-29"},{Type:"region",Subtag:"CR",Description:["Costa Rica"],Added:"2005-10-16"},{Type:"region",Subtag:"CS",Description:["Serbia and Montenegro"],Added:"2005-10-16",Deprecated:"2006-10-05",Comments:["see RS for Serbia or ME for Montenegro"]},{Type:"region",Subtag:"CU",Description:["Cuba"],Added:"2005-10-16"},{Type:"region",Subtag:"CV",Description:["Cabo Verde","Cape Verde"],Added:"2005-10-16"},{Type:"region",Subtag:"CW",Description:["Curaçao"],Added:"2011-01-07"},{Type:"region",Subtag:"CX",Description:["Christmas Island"],Added:"2005-10-16"},{Type:"region",Subtag:"CY",Description:["Cyprus"],Added:"2005-10-16"},{Type:"region",Subtag:"CZ",Description:["Czechia","Czech Republic"],Added:"2005-10-16"},{Type:"region",Subtag:"DD",Description:["German Democratic Republic"],Added:"2005-10-16",Deprecated:"1990-10-30","Preferred-Value":"DE"},{Type:"region",Subtag:"DE",Description:["Germany"],Added:"2005-10-16"},{Type:"region",Subtag:"DG",Description:["Diego Garcia"],Added:"2009-07-29"},{Type:"region",Subtag:"DJ",Description:["Djibouti"],Added:"2005-10-16"},{Type:"region",Subtag:"DK",Description:["Denmark"],Added:"2005-10-16"},{Type:"region",Subtag:"DM",Description:["Dominica"],Added:"2005-10-16"},{Type:"region",Subtag:"DO",Description:["Dominican Republic"],Added:"2005-10-16"},{Type:"region",Subtag:"DZ",Description:["Algeria"],Added:"2005-10-16"},{Type:"region",Subtag:"EA",Description:["Ceuta, Melilla"],Added:"2009-07-29"},{Type:"region",Subtag:"EC",Description:["Ecuador"],Added:"2005-10-16"},{Type:"region",Subtag:"EE",Description:["Estonia"],Added:"2005-10-16"},{Type:"region",Subtag:"EG",Description:["Egypt"],Added:"2005-10-16"},{Type:"region",Subtag:"EH",Description:["Western Sahara"],Added:"2005-10-16"},{Type:"region",Subtag:"ER",Description:["Eritrea"],Added:"2005-10-16"},{Type:"region",Subtag:"ES",Description:["Spain"],Added:"2005-10-16"},{Type:"region",Subtag:"ET",Description:["Ethiopia"],Added:"2005-10-16"},{Type:"region",Subtag:"EU",Description:["European Union"],Added:"2009-07-29"},{Type:"region",Subtag:"EZ",Description:["Eurozone"],Added:"2016-07-14"},{Type:"region",Subtag:"FI",Description:["Finland"],Added:"2005-10-16"},{Type:"region",Subtag:"FJ",Description:["Fiji"],Added:"2005-10-16"},{Type:"region",Subtag:"FK",Description:["Falkland Islands (Malvinas)"],Added:"2005-10-16"},{Type:"region",Subtag:"FM",Description:["Federated States of Micronesia"],Added:"2005-10-16"},{Type:"region",Subtag:"FO",Description:["Faroe Islands"],Added:"2005-10-16"},{Type:"region",Subtag:"FR",Description:["France"],Added:"2005-10-16"},{Type:"region",Subtag:"FX",Description:["Metropolitan France"],Added:"2005-10-16",Deprecated:"1997-07-14","Preferred-Value":"FR"},{Type:"region",Subtag:"GA",Description:["Gabon"],Added:"2005-10-16"},{Type:"region",Subtag:"GB",Description:["United Kingdom"],Added:"2005-10-16",Comments:["as of 2006-03-29 GB no longer includes the Channel Islands and Isle of Man; see GG, JE, IM"]},{Type:"region",Subtag:"GD",Description:["Grenada"],Added:"2005-10-16"},{Type:"region",Subtag:"GE",Description:["Georgia"],Added:"2005-10-16"},{Type:"region",Subtag:"GF",Description:["French Guiana"],Added:"2005-10-16"},{Type:"region",Subtag:"GG",Description:["Guernsey"],Added:"2006-03-29"},{Type:"region",Subtag:"GH",Description:["Ghana"],Added:"2005-10-16"},{Type:"region",Subtag:"GI",Description:["Gibraltar"],Added:"2005-10-16"},{Type:"region",Subtag:"GL",Description:["Greenland"],Added:"2005-10-16"},{Type:"region",Subtag:"GM",Description:["Gambia"],Added:"2005-10-16"},{Type:"region",Subtag:"GN",Description:["Guinea"],Added:"2005-10-16"},{Type:"region",Subtag:"GP",Description:["Guadeloupe"],Added:"2005-10-16"},{Type:"region",Subtag:"GQ",Description:["Equatorial Guinea"],Added:"2005-10-16"},{Type:"region",Subtag:"GR",Description:["Greece"],Added:"2005-10-16"},{Type:"region",Subtag:"GS",Description:["South Georgia and the South Sandwich Islands"],Added:"2005-10-16"},{Type:"region",Subtag:"GT",Description:["Guatemala"],Added:"2005-10-16"},{Type:"region",Subtag:"GU",Description:["Guam"],Added:"2005-10-16"},{Type:"region",Subtag:"GW",Description:["Guinea-Bissau"],Added:"2005-10-16"},{Type:"region",Subtag:"GY",Description:["Guyana"],Added:"2005-10-16"},{Type:"region",Subtag:"HK",Description:["Hong Kong"],Added:"2005-10-16"},{Type:"region",Subtag:"HM",Description:["Heard Island and McDonald Islands"],Added:"2005-10-16"},{Type:"region",Subtag:"HN",Description:["Honduras"],Added:"2005-10-16"},{Type:"region",Subtag:"HR",Description:["Croatia"],Added:"2005-10-16"},{Type:"region",Subtag:"HT",Description:["Haiti"],Added:"2005-10-16"},{Type:"region",Subtag:"HU",Description:["Hungary"],Added:"2005-10-16"},{Type:"region",Subtag:"IC",Description:["Canary Islands"],Added:"2009-07-29"},{Type:"region",Subtag:"ID",Description:["Indonesia"],Added:"2005-10-16"},{Type:"region",Subtag:"IE",Description:["Ireland"],Added:"2005-10-16"},{Type:"region",Subtag:"IL",Description:["Israel"],Added:"2005-10-16"},{Type:"region",Subtag:"IM",Description:["Isle of Man"],Added:"2006-03-29"},{Type:"region",Subtag:"IN",Description:["India"],Added:"2005-10-16"},{Type:"region",Subtag:"IO",Description:["British Indian Ocean Territory"],Added:"2005-10-16"},{Type:"region",Subtag:"IQ",Description:["Iraq"],Added:"2005-10-16"},{Type:"region",Subtag:"IR",Description:["Islamic Republic of Iran"],Added:"2005-10-16"},{Type:"region",Subtag:"IS",Description:["Iceland"],Added:"2005-10-16"},{Type:"region",Subtag:"IT",Description:["Italy"],Added:"2005-10-16"},{Type:"region",Subtag:"JE",Description:["Jersey"],Added:"2006-03-29"},{Type:"region",Subtag:"JM",Description:["Jamaica"],Added:"2005-10-16"},{Type:"region",Subtag:"JO",Description:["Jordan"],Added:"2005-10-16"},{Type:"region",Subtag:"JP",Description:["Japan"],Added:"2005-10-16"},{Type:"region",Subtag:"KE",Description:["Kenya"],Added:"2005-10-16"},{Type:"region",Subtag:"KG",Description:["Kyrgyzstan"],Added:"2005-10-16"},{Type:"region",Subtag:"KH",Description:["Cambodia"],Added:"2005-10-16"},{Type:"region",Subtag:"KI",Description:["Kiribati"],Added:"2005-10-16"},{Type:"region",Subtag:"KM",Description:["Comoros"],Added:"2005-10-16"},{Type:"region",Subtag:"KN",Description:["Saint Kitts and Nevis"],Added:"2005-10-16"},{Type:"region",Subtag:"KP",Description:["Democratic People's Republic of Korea"],Added:"2005-10-16"},{Type:"region",Subtag:"KR",Description:["Republic of Korea"],Added:"2005-10-16"},{Type:"region",Subtag:"KW",Description:["Kuwait"],Added:"2005-10-16"},{Type:"region",Subtag:"KY",Description:["Cayman Islands"],Added:"2005-10-16"},{Type:"region",Subtag:"KZ",Description:["Kazakhstan"],Added:"2005-10-16"},{Type:"region",Subtag:"LA",Description:["Lao People's Democratic Republic"],Added:"2005-10-16"},{Type:"region",Subtag:"LB",Description:["Lebanon"],Added:"2005-10-16"},{Type:"region",Subtag:"LC",Description:["Saint Lucia"],Added:"2005-10-16"},{Type:"region",Subtag:"LI",Description:["Liechtenstein"],Added:"2005-10-16"},{Type:"region",Subtag:"LK",Description:["Sri Lanka"],Added:"2005-10-16"},{Type:"region",Subtag:"LR",Description:["Liberia"],Added:"2005-10-16"},{Type:"region",Subtag:"LS",Description:["Lesotho"],Added:"2005-10-16"},{Type:"region",Subtag:"LT",Description:["Lithuania"],Added:"2005-10-16"},{Type:"region",Subtag:"LU",Description:["Luxembourg"],Added:"2005-10-16"},{Type:"region",Subtag:"LV",Description:["Latvia"],Added:"2005-10-16"},{Type:"region",Subtag:"LY",Description:["Libya"],Added:"2005-10-16"},{Type:"region",Subtag:"MA",Description:["Morocco"],Added:"2005-10-16"},{Type:"region",Subtag:"MC",Description:["Monaco"],Added:"2005-10-16"},{Type:"region",Subtag:"MD",Description:["Moldova"],Added:"2005-10-16"},{Type:"region",Subtag:"ME",Description:["Montenegro"],Added:"2006-10-05"},{Type:"region",Subtag:"MF",Description:["Saint Martin (French part)"],Added:"2007-11-02"},{Type:"region",Subtag:"MG",Description:["Madagascar"],Added:"2005-10-16"},{Type:"region",Subtag:"MH",Description:["Marshall Islands"],Added:"2005-10-16"},{Type:"region",Subtag:"MK",Description:["North Macedonia"],Added:"2005-10-16"},{Type:"region",Subtag:"ML",Description:["Mali"],Added:"2005-10-16"},{Type:"region",Subtag:"MM",Description:["Myanmar"],Added:"2005-10-16"},{Type:"region",Subtag:"MN",Description:["Mongolia"],Added:"2005-10-16"},{Type:"region",Subtag:"MO",Description:["Macao"],Added:"2005-10-16"},{Type:"region",Subtag:"MP",Description:["Northern Mariana Islands"],Added:"2005-10-16"},{Type:"region",Subtag:"MQ",Description:["Martinique"],Added:"2005-10-16"},{Type:"region",Subtag:"MR",Description:["Mauritania"],Added:"2005-10-16"},{Type:"region",Subtag:"MS",Description:["Montserrat"],Added:"2005-10-16"},{Type:"region",Subtag:"MT",Description:["Malta"],Added:"2005-10-16"},{Type:"region",Subtag:"MU",Description:["Mauritius"],Added:"2005-10-16"},{Type:"region",Subtag:"MV",Description:["Maldives"],Added:"2005-10-16"},{Type:"region",Subtag:"MW",Description:["Malawi"],Added:"2005-10-16"},{Type:"region",Subtag:"MX",Description:["Mexico"],Added:"2005-10-16"},{Type:"region",Subtag:"MY",Description:["Malaysia"],Added:"2005-10-16"},{Type:"region",Subtag:"MZ",Description:["Mozambique"],Added:"2005-10-16"},{Type:"region",Subtag:"NA",Description:["Namibia"],Added:"2005-10-16"},{Type:"region",Subtag:"NC",Description:["New Caledonia"],Added:"2005-10-16"},{Type:"region",Subtag:"NE",Description:["Niger"],Added:"2005-10-16"},{Type:"region",Subtag:"NF",Description:["Norfolk Island"],Added:"2005-10-16"},{Type:"region",Subtag:"NG",Description:["Nigeria"],Added:"2005-10-16"},{Type:"region",Subtag:"NI",Description:["Nicaragua"],Added:"2005-10-16"},{Type:"region",Subtag:"NL",Description:["Netherlands"],Added:"2005-10-16"},{Type:"region",Subtag:"NO",Description:["Norway"],Added:"2005-10-16"},{Type:"region",Subtag:"NP",Description:["Nepal"],Added:"2005-10-16"},{Type:"region",Subtag:"NR",Description:["Nauru"],Added:"2005-10-16"},{Type:"region",Subtag:"NT",Description:["Neutral Zone"],Added:"2005-10-16",Deprecated:"1993-07-12"},{Type:"region",Subtag:"NU",Description:["Niue"],Added:"2005-10-16"},{Type:"region",Subtag:"NZ",Description:["New Zealand"],Added:"2005-10-16"},{Type:"region",Subtag:"OM",Description:["Oman"],Added:"2005-10-16"},{Type:"region",Subtag:"PA",Description:["Panama"],Added:"2005-10-16"},{Type:"region",Subtag:"PE",Description:["Peru"],Added:"2005-10-16"},{Type:"region",Subtag:"PF",Description:["French Polynesia"],Added:"2005-10-16"},{Type:"region",Subtag:"PG",Description:["Papua New Guinea"],Added:"2005-10-16"},{Type:"region",Subtag:"PH",Description:["Philippines"],Added:"2005-10-16"},{Type:"region",Subtag:"PK",Description:["Pakistan"],Added:"2005-10-16"},{Type:"region",Subtag:"PL",Description:["Poland"],Added:"2005-10-16"},{Type:"region",Subtag:"PM",Description:["Saint Pierre and Miquelon"],Added:"2005-10-16"},{Type:"region",Subtag:"PN",Description:["Pitcairn"],Added:"2005-10-16"},{Type:"region",Subtag:"PR",Description:["Puerto Rico"],Added:"2005-10-16"},{Type:"region",Subtag:"PS",Description:["State of Palestine"],Added:"2005-10-16"},{Type:"region",Subtag:"PT",Description:["Portugal"],Added:"2005-10-16"},{Type:"region",Subtag:"PW",Description:["Palau"],Added:"2005-10-16"},{Type:"region",Subtag:"PY",Description:["Paraguay"],Added:"2005-10-16"},{Type:"region",Subtag:"QA",Description:["Qatar"],Added:"2005-10-16"},{Type:"region",Subtag:"QM..QZ",Description:["Private use"],Added:"2005-10-16"},{Type:"region",Subtag:"RE",Description:["Réunion"],Added:"2005-10-16"},{Type:"region",Subtag:"RO",Description:["Romania"],Added:"2005-10-16"},{Type:"region",Subtag:"RS",Description:["Serbia"],Added:"2006-10-05"},{Type:"region",Subtag:"RU",Description:["Russian Federation"],Added:"2005-10-16"},{Type:"region",Subtag:"RW",Description:["Rwanda"],Added:"2005-10-16"},{Type:"region",Subtag:"SA",Description:["Saudi Arabia"],Added:"2005-10-16"},{Type:"region",Subtag:"SB",Description:["Solomon Islands"],Added:"2005-10-16"},{Type:"region",Subtag:"SC",Description:["Seychelles"],Added:"2005-10-16"},{Type:"region",Subtag:"SD",Description:["Sudan"],Added:"2005-10-16"},{Type:"region",Subtag:"SE",Description:["Sweden"],Added:"2005-10-16"},{Type:"region",Subtag:"SG",Description:["Singapore"],Added:"2005-10-16"},{Type:"region",Subtag:"SH",Description:["Saint Helena, Ascension and Tristan da Cunha"],Added:"2005-10-16"},{Type:"region",Subtag:"SI",Description:["Slovenia"],Added:"2005-10-16"},{Type:"region",Subtag:"SJ",Description:["Svalbard and Jan Mayen"],Added:"2005-10-16"},{Type:"region",Subtag:"SK",Description:["Slovakia"],Added:"2005-10-16"},{Type:"region",Subtag:"SL",Description:["Sierra Leone"],Added:"2005-10-16"},{Type:"region",Subtag:"SM",Description:["San Marino"],Added:"2005-10-16"},{Type:"region",Subtag:"SN",Description:["Senegal"],Added:"2005-10-16"},{Type:"region",Subtag:"SO",Description:["Somalia"],Added:"2005-10-16"},{Type:"region",Subtag:"SR",Description:["Suriname"],Added:"2005-10-16"},{Type:"region",Subtag:"SS",Description:["South Sudan"],Added:"2011-08-25"},{Type:"region",Subtag:"ST",Description:["Sao Tome and Principe"],Added:"2005-10-16"},{Type:"region",Subtag:"SU",Description:["Union of Soviet Socialist Republics"],Added:"2005-10-16",Deprecated:"1992-08-30"},{Type:"region",Subtag:"SV",Description:["El Salvador"],Added:"2005-10-16"},{Type:"region",Subtag:"SX",Description:["Sint Maarten (Dutch part)"],Added:"2011-01-07"},{Type:"region",Subtag:"SY",Description:["Syrian Arab Republic"],Added:"2005-10-16"},{Type:"region",Subtag:"SZ",Description:["Eswatini","eSwatini","Swaziland"],Added:"2005-10-16"},{Type:"region",Subtag:"TA",Description:["Tristan da Cunha"],Added:"2009-07-29"},{Type:"region",Subtag:"TC",Description:["Turks and Caicos Islands"],Added:"2005-10-16"},{Type:"region",Subtag:"TD",Description:["Chad"],Added:"2005-10-16"},{Type:"region",Subtag:"TF",Description:["French Southern Territories"],Added:"2005-10-16"},{Type:"region",Subtag:"TG",Description:["Togo"],Added:"2005-10-16"},{Type:"region",Subtag:"TH",Description:["Thailand"],Added:"2005-10-16"},{Type:"region",Subtag:"TJ",Description:["Tajikistan"],Added:"2005-10-16"},{Type:"region",Subtag:"TK",Description:["Tokelau"],Added:"2005-10-16"},{Type:"region",Subtag:"TL",Description:["Timor-Leste"],Added:"2005-10-16"},{Type:"region",Subtag:"TM",Description:["Turkmenistan"],Added:"2005-10-16"},{Type:"region",Subtag:"TN",Description:["Tunisia"],Added:"2005-10-16"},{Type:"region",Subtag:"TO",Description:["Tonga"],Added:"2005-10-16"},{Type:"region",Subtag:"TP",Description:["East Timor"],Added:"2005-10-16",Deprecated:"2002-05-20","Preferred-Value":"TL"},{Type:"region",Subtag:"TR",Description:["Turkey"],Added:"2005-10-16"},{Type:"region",Subtag:"TT",Description:["Trinidad and Tobago"],Added:"2005-10-16"},{Type:"region",Subtag:"TV",Description:["Tuvalu"],Added:"2005-10-16"},{Type:"region",Subtag:"TW",Description:["Taiwan, Province of China"],Added:"2005-10-16"},{Type:"region",Subtag:"TZ",Description:["United Republic of Tanzania"],Added:"2005-10-16"},{Type:"region",Subtag:"UA",Description:["Ukraine"],Added:"2005-10-16"},{Type:"region",Subtag:"UG",Description:["Uganda"],Added:"2005-10-16"},{Type:"region",Subtag:"UM",Description:["United States Minor Outlying Islands"],Added:"2005-10-16"},{Type:"region",Subtag:"UN",Description:["United Nations"],Added:"2016-07-14"},{Type:"region",Subtag:"US",Description:["United States"],Added:"2005-10-16"},{Type:"region",Subtag:"UY",Description:["Uruguay"],Added:"2005-10-16"},{Type:"region",Subtag:"UZ",Description:["Uzbekistan"],Added:"2005-10-16"},{Type:"region",Subtag:"VA",Description:["Holy See (Vatican City State)"],Added:"2005-10-16"},{Type:"region",Subtag:"VC",Description:["Saint Vincent and the Grenadines"],Added:"2005-10-16"},{Type:"region",Subtag:"VE",Description:["Venezuela"],Added:"2005-10-16"},{Type:"region",Subtag:"VG",Description:["British Virgin Islands"],Added:"2005-10-16"},{Type:"region",Subtag:"VI",Description:["U.S. Virgin Islands"],Added:"2005-10-16"},{Type:"region",Subtag:"VN",Description:["Viet Nam"],Added:"2005-10-16"},{Type:"region",Subtag:"VU",Description:["Vanuatu"],Added:"2005-10-16"},{Type:"region",Subtag:"WF",Description:["Wallis and Futuna"],Added:"2005-10-16"},{Type:"region",Subtag:"WS",Description:["Samoa"],Added:"2005-10-16"},{Type:"region",Subtag:"XA..XZ",Description:["Private use"],Added:"2005-10-16"},{Type:"region",Subtag:"YD",Description:["Democratic Yemen"],Added:"2005-10-16",Deprecated:"1990-08-14","Preferred-Value":"YE"},{Type:"region",Subtag:"YE",Description:["Yemen"],Added:"2005-10-16"},{Type:"region",Subtag:"YT",Description:["Mayotte"],Added:"2005-10-16"},{Type:"region",Subtag:"YU",Description:["Yugoslavia"],Added:"2005-10-16",Deprecated:"2003-07-23",Comments:["see BA, HR, ME, MK, RS, or SI"]},{Type:"region",Subtag:"ZA",Description:["South Africa"],Added:"2005-10-16"},{Type:"region",Subtag:"ZM",Description:["Zambia"],Added:"2005-10-16"},{Type:"region",Subtag:"ZR",Description:["Zaire"],Added:"2005-10-16",Deprecated:"1997-07-14","Preferred-Value":"CD"},{Type:"region",Subtag:"ZW",Description:["Zimbabwe"],Added:"2005-10-16"},{Type:"region",Subtag:"ZZ",Description:["Private use"],Added:"2005-10-16"},{Type:"region",Subtag:"001",Description:["World"],Added:"2005-10-16"},{Type:"region",Subtag:"002",Description:["Africa"],Added:"2005-10-16"},{Type:"region",Subtag:"003",Description:["North America"],Added:"2010-08-16",Comments:["Includes Northern America (021), Caribbean (029), and Central America (013); see also 021"]},{Type:"region",Subtag:"005",Description:["South America"],Added:"2005-10-16"},{Type:"region",Subtag:"009",Description:["Oceania"],Added:"2005-10-16"},{Type:"region",Subtag:"011",Description:["Western Africa"],Added:"2005-10-16"},{Type:"region",Subtag:"013",Description:["Central America"],Added:"2005-10-16"},{Type:"region",Subtag:"014",Description:["Eastern Africa"],Added:"2005-10-16"},{Type:"region",Subtag:"015",Description:["Northern Africa"],Added:"2005-10-16"},{Type:"region",Subtag:"017",Description:["Middle Africa"],Added:"2005-10-16"},{Type:"region",Subtag:"018",Description:["Southern Africa"],Added:"2005-10-16"},{Type:"region",Subtag:"019",Description:["Americas"],Added:"2005-10-16"},{Type:"region",Subtag:"021",Description:["Northern America"],Added:"2005-10-16",Comments:["Does not include Caribbean (029) or Central America (013); see also 003"]},{Type:"region",Subtag:"029",Description:["Caribbean"],Added:"2005-10-16"},{Type:"region",Subtag:"030",Description:["Eastern Asia"],Added:"2005-10-16"},{Type:"region",Subtag:"034",Description:["Southern Asia"],Added:"2005-10-16"},{Type:"region",Subtag:"035",Description:["South-Eastern Asia"],Added:"2005-10-16"},{Type:"region",Subtag:"039",Description:["Southern Europe"],Added:"2005-10-16"},{Type:"region",Subtag:"053",Description:["Australia and New Zealand"],Added:"2005-10-16"},{Type:"region",Subtag:"054",Description:["Melanesia"],Added:"2005-10-16"},{Type:"region",Subtag:"057",Description:["Micronesia"],Added:"2005-10-16"},{Type:"region",Subtag:"061",Description:["Polynesia"],Added:"2005-10-16"},{Type:"region",Subtag:"142",Description:["Asia"],Added:"2005-10-16"},{Type:"region",Subtag:"143",Description:["Central Asia"],Added:"2005-10-16"},{Type:"region",Subtag:"145",Description:["Western Asia"],Added:"2005-10-16"},{Type:"region",Subtag:"150",Description:["Europe"],Added:"2005-10-16"},{Type:"region",Subtag:"151",Description:["Eastern Europe"],Added:"2005-10-16"},{Type:"region",Subtag:"154",Description:["Northern Europe"],Added:"2005-10-16"},{Type:"region",Subtag:"155",Description:["Western Europe"],Added:"2005-10-16"},{Type:"region",Subtag:"202",Description:["Sub-Saharan Africa"],Added:"2017-04-18"},{Type:"region",Subtag:"419",Description:["Latin America and the Caribbean"],Added:"2005-10-16"},{Type:"variant",Subtag:"1606nict",Description:["Late Middle French (to 1606)"],Added:"2007-03-20",Prefix:["frm"],Comments:['16th century French as in Jean Nicot, "Thresor de la langue francoyse", 1606, but also including some French similar to that of Rabelais']},{Type:"variant",Subtag:"1694acad",Description:["Early Modern French"],Added:"2007-03-20",Prefix:["fr"],Comments:[`17th century French, as catalogued in the "Dictionnaire de l'académie françoise", 4eme ed. 1694; frequently includes elements of Middle French, as this is a transitional period`]},{Type:"variant",Subtag:"1901",Description:["Traditional German orthography"],Added:"2005-10-16",Prefix:["de"]},{Type:"variant",Subtag:"1959acad",Description:['"Academic" ("governmental") variant of Belarusian as codified in 1959'],Added:"2008-09-30",Prefix:["be"]},{Type:"variant",Subtag:"1994",Description:["Standardized Resian orthography"],Added:"2007-07-28",Prefix:["sl-rozaj","sl-rozaj-biske","sl-rozaj-njiva","sl-rozaj-osojs","sl-rozaj-solba"],Comments:["For standardized Resian an orthography was published in 1994."]},{Type:"variant",Subtag:"1996",Description:["German orthography of 1996"],Added:"2005-10-16",Prefix:["de"]},{Type:"variant",Subtag:"abl1943",Description:["Orthographic formulation of 1943 - Official in Brazil (Formulário Ortográfico de 1943 - Oficial no Brasil)"],Added:"2015-05-06",Prefix:["pt-BR"],Comments:["Denotes conventions established by the Academia Brasileira de Letras in 1943 and generally used in Brazil until 2009"]},{Type:"variant",Subtag:"akuapem",Description:["Akuapem Twi"],Added:"2017-06-05",Prefix:["tw"]},{Type:"variant",Subtag:"alalc97",Description:["ALA-LC Romanization, 1997 edition"],Added:"2009-12-09",Comments:['Romanizations recommended by the American Library Association and the Library of Congress, in "ALA-LC Romanization Tables: Transliteration Schemes for Non-Roman Scripts" (1997), ISBN 978-0-8444-0940-5.']},{Type:"variant",Subtag:"aluku",Description:["Aluku dialect","Boni dialect"],Added:"2009-09-05",Prefix:["djk"],Comments:['Aluku dialect of the "Busi Nenge Tongo" English-based Creole continuum in Eastern Suriname and Western French Guiana']},{Type:"variant",Subtag:"ao1990",Description:["Portuguese Language Orthographic Agreement of 1990 (Acordo Ortográfico da Língua Portuguesa de 1990)"],Added:"2015-05-06",Prefix:["pt","gl"],Comments:["Portuguese orthography conventions established in 1990 but not brought into effect until 2009"]},{Type:"variant",Subtag:"aranes",Description:["Aranese"],Added:"2018-04-22",Prefix:["oc"],Comments:["Occitan variant spoken in the Val d'Aran"]},{Type:"variant",Subtag:"arevela",Description:["Eastern Armenian"],Added:"2006-09-18",Deprecated:"2018-03-24",Prefix:["hy"],Comments:["Preferred tag is hy"]},{Type:"variant",Subtag:"arevmda",Description:["Western Armenian"],Added:"2006-09-18",Deprecated:"2018-03-24",Prefix:["hy"],Comments:["Preferred tag is hyw"]},{Type:"variant",Subtag:"arkaika",Description:["Arcaicam Esperantom","Arkaika Esperanto"],Added:"2020-12-17",Prefix:["eo"],Comments:["Archaic Esperanto variant devised by Manuel Halvelik"]},{Type:"variant",Subtag:"asante",Description:["Asante Twi","Ashanti Twi"],Added:"2017-06-05",Prefix:["tw"]},{Type:"variant",Subtag:"auvern",Description:["Auvergnat"],Added:"2018-04-22",Prefix:["oc"],Comments:["Occitan variant spoken in Auvergne"]},{Type:"variant",Subtag:"baku1926",Description:["Unified Turkic Latin Alphabet (Historical)"],Added:"2007-04-18",Prefix:["az","ba","crh","kk","krc","ky","sah","tk","tt","uz"],Comments:["Denotes alphabet used in Turkic republics/regions of the former USSR in late 1920s, and throughout 1930s, which aspired to represent equivalent phonemes in a unified fashion. Also known as: New Turkic Alphabet; Birlәşdirilmiş Jeni Tyrk Әlifbasь (Birlesdirilmis Jeni Tyrk Elifbasi); Jaŋalif (Janalif)."]},{Type:"variant",Subtag:"balanka",Description:["The Balanka dialect of Anii"],Added:"2014-02-15",Prefix:["blo"],Comments:["Balanka is one of 19 Anii dialects."]},{Type:"variant",Subtag:"barla",Description:["The Barlavento dialect group of Kabuverdianu"],Prefix:["kea"],Comments:["Barlavento is one of the two main dialect groups of Kabuverdianu."],Added:"2013-12-10"},{Type:"variant",Subtag:"basiceng",Description:["Basic English"],Added:"2015-12-29",Prefix:["en"]},{Type:"variant",Subtag:"bauddha",Description:["Buddhist Hybrid Sanskrit"],Added:"2010-07-28",Prefix:["sa"]},{Type:"variant",Subtag:"biscayan",Description:["Biscayan dialect of Basque"],Added:"2010-04-13",Prefix:["eu"]},{Type:"variant",Subtag:"biske",Description:["The San Giorgio dialect of Resian","The Bila dialect of Resian"],Added:"2007-07-05",Prefix:["sl-rozaj"],Comments:["The dialect of San Giorgio/Bila is one of the four major local dialects of Resian"]},{Type:"variant",Subtag:"bohoric",Description:["Slovene in Bohorič alphabet"],Added:"2012-06-27",Prefix:["sl"],Comments:["The subtag represents the alphabet codified by Adam Bohorič in 1584 and used from the first printed Slovene book and up to the mid-19th century."]},{Type:"variant",Subtag:"boont",Description:["Boontling"],Added:"2006-09-18",Prefix:["en"],Comments:["Jargon embedded in American English"]},{Type:"variant",Subtag:"bornholm",Description:["Bornholmsk"],Added:"2019-03-27",Prefix:["da"]},{Type:"variant",Subtag:"cisaup",Description:["Cisalpine"],Added:"2018-04-22",Prefix:["oc"],Comments:["Occitan variant spoken in northwestern Italy"]},{Type:"variant",Subtag:"colb1945",Description:["Portuguese-Brazilian Orthographic Convention of 1945 (Convenção Ortográfica Luso-Brasileira de 1945)"],Added:"2015-05-06",Prefix:["pt"],Comments:["Portuguese orthography conventions established in 1945, generally in effect until 2009. This reform was not ratified in Brazil."]},{Type:"variant",Subtag:"cornu",Description:["Cornu-English","Cornish English","Anglo-Cornish"],Added:"2015-12-07",Prefix:["en"]},{Type:"variant",Subtag:"creiss",Description:["Occitan variants of the Croissant area"],Added:"2018-04-22",Prefix:["oc"]},{Type:"variant",Subtag:"dajnko",Description:["Slovene in Dajnko alphabet"],Added:"2012-06-27",Prefix:["sl"],Comments:["The subtag represents the alphabet codified by Peter Dajnko and used from 1824 to 1839 mostly in Styria (in what is now Eastern Slovenia)."]},{Type:"variant",Subtag:"ekavsk",Description:["Serbian with Ekavian pronunciation"],Prefix:["sr","sr-Latn","sr-Cyrl"],Added:"2013-12-02"},{Type:"variant",Subtag:"emodeng",Description:["Early Modern English (1500-1700)"],Added:"2012-02-05",Prefix:["en"]},{Type:"variant",Subtag:"fonipa",Description:["International Phonetic Alphabet"],Added:"2006-12-11"},{Type:"variant",Subtag:"fonkirsh",Description:["Kirshenbaum Phonetic Alphabet"],Added:"2018-04-22"},{Type:"variant",Subtag:"fonnapa",Description:["North American Phonetic Alphabet","Americanist Phonetic Notation"],Added:"2016-06-24"},{Type:"variant",Subtag:"fonupa",Description:["Uralic Phonetic Alphabet"],Added:"2006-12-11"},{Type:"variant",Subtag:"fonxsamp",Description:["X-SAMPA transcription"],Added:"2010-10-23",Comments:["Indicates that the content is transcribed according to X-SAMPA"]},{Type:"variant",Subtag:"gallo",Description:["Gallo"],Added:"2021-08-05",Prefix:["fr"]},{Type:"variant",Subtag:"gascon",Description:["Gascon"],Added:"2018-04-22",Prefix:["oc"],Comments:["Occitan variant spoken in Gascony"]},{Type:"variant",Subtag:"grclass",Description:["Classical Occitan orthography"],Added:"2018-04-22",Prefix:["oc","oc-aranes","oc-auvern","oc-cisaup","oc-creiss","oc-gascon","oc-lemosin","oc-lengadoc","oc-nicard","oc-provenc","oc-vivaraup"],Comments:["Classical written standard for Occitan developed in 1935 by Alibèrt"]},{Type:"variant",Subtag:"grital",Description:["Italian-inspired Occitan orthography"],Added:"2018-04-22",Prefix:["oc","oc-cisaup","oc-nicard","oc-provenc"]},{Type:"variant",Subtag:"grmistr",Description:["Mistralian or Mistralian-inspired Occitan orthography"],Added:"2018-04-22",Prefix:["oc","oc-aranes","oc-auvern","oc-cisaup","oc-creiss","oc-gascon","oc-lemosin","oc-lengadoc","oc-nicard","oc-provenc","oc-vivaraup"],Comments:["Written standard developed by Romanilha in 1853 and used by Mistral and the Félibres, including derived standards such as Escolo dóu Po, Escolo Gaston Febus, and others"]},{Type:"variant",Subtag:"hepburn",Description:["Hepburn romanization"],Added:"2009-10-01",Prefix:["ja-Latn"]},{Type:"variant",Subtag:"heploc",Description:["Hepburn romanization, Library of Congress method"],Added:"2009-10-01",Deprecated:"2010-02-07","Preferred-Value":"alalc97",Prefix:["ja-Latn-hepburn"],Comments:["Preferred tag is ja-Latn-alalc97"]},{Type:"variant",Subtag:"hognorsk",Description:["Norwegian in Høgnorsk (High Norwegian) orthography"],Added:"2010-01-02",Prefix:["nn"],Comments:["Norwegian following Ivar Aasen's orthographical principles, including modern usage."]},{Type:"variant",Subtag:"hsistemo",Description:["Standard H-system orthographic fallback for spelling Esperanto"],Added:"2017-03-14",Prefix:["eo"]},{Type:"variant",Subtag:"ijekavsk",Description:["Serbian with Ijekavian pronunciation"],Prefix:["sr","sr-Latn","sr-Cyrl"],Added:"2013-12-02"},{Type:"variant",Subtag:"itihasa",Description:["Epic Sanskrit"],Added:"2010-07-28",Prefix:["sa"]},{Type:"variant",Subtag:"ivanchov",Description:["Bulgarian in 1899 orthography"],Added:"2017-12-13",Prefix:["bg"],Comments:["Bulgarian orthography introduced by Todor Ivanchov in 1899"]},{Type:"variant",Subtag:"jauer",Description:["Jauer dialect of Romansh"],Added:"2010-06-29",Prefix:["rm"],Comments:["The spoken dialect of the Val Müstair, which has no written standard."]},{Type:"variant",Subtag:"jyutping",Description:["Jyutping Cantonese Romanization"],Added:"2010-10-23",Prefix:["yue"],Comments:["Jyutping romanization of Cantonese"]},{Type:"variant",Subtag:"kkcor",Description:["Common Cornish orthography of Revived Cornish"],Added:"2008-10-14",Prefix:["kw"]},{Type:"variant",Subtag:"kociewie",Description:["The Kociewie dialect of Polish"],Added:"2014-11-27",Prefix:["pl"],Comments:["The dialect of Kociewie is spoken in the region around Starogard Gdański, Tczew and Świecie in northern Poland."]},{Type:"variant",Subtag:"kscor",Description:["Standard Cornish orthography of Revived Cornish","Kernowek Standard"],Added:"2012-06-27",Prefix:["kw"]},{Type:"variant",Subtag:"laukika",Description:["Classical Sanskrit"],Added:"2010-07-28",Prefix:["sa"]},{Type:"variant",Subtag:"lemosin",Description:["Limousin"],Added:"2018-04-22",Prefix:["oc"],Comments:["Occitan variant spoken in Limousin"]},{Type:"variant",Subtag:"lengadoc",Description:["Languedocien"],Added:"2018-04-22",Prefix:["oc"],Comments:["Occitan variant spoken in Languedoc"]},{Type:"variant",Subtag:"lipaw",Description:["The Lipovaz dialect of Resian","The Lipovec dialect of Resian"],Added:"2007-08-11",Prefix:["sl-rozaj"],Comments:["The dialect of Lipovaz/Lipovec is one of the minor local dialects of Resian"]},{Type:"variant",Subtag:"ltg2007",Description:["The Latgalian language orthography codified in the language law in 2007"],Added:"2022-06-23",Prefix:["ltg"]},{Type:"variant",Subtag:"luna1918",Description:["Post-1917 Russian orthography"],Added:"2010-10-10",Prefix:["ru"],Comments:["Russian orthography as established by the 1917/1918 orthographic reforms"]},{Type:"variant",Subtag:"metelko",Description:["Slovene in Metelko alphabet"],Added:"2012-06-27",Prefix:["sl"],Comments:["The subtag represents the alphabet codified by Franc Serafin Metelko and used from 1825 to 1833."]},{Type:"variant",Subtag:"monoton",Description:["Monotonic Greek"],Added:"2006-12-11",Prefix:["el"]},{Type:"variant",Subtag:"ndyuka",Description:["Ndyuka dialect","Aukan dialect"],Added:"2009-09-05",Prefix:["djk"],Comments:['Ndyuka dialect of the "Busi Nenge Tongo" English-based Creole continuum in Eastern Suriname and Western French Guiana']},{Type:"variant",Subtag:"nedis",Description:["Natisone dialect","Nadiza dialect"],Added:"2005-10-16",Prefix:["sl"]},{Type:"variant",Subtag:"newfound",Description:["Newfoundland English"],Added:"2015-11-25",Prefix:["en-CA"]},{Type:"variant",Subtag:"nicard",Description:["Niçard"],Added:"2018-04-22",Prefix:["oc"],Comments:["Occitan variant spoken in Nice"]},{Type:"variant",Subtag:"njiva",Description:["The Gniva dialect of Resian","The Njiva dialect of Resian"],Added:"2007-07-05",Prefix:["sl-rozaj"],Comments:["The dialect of Gniva/Njiva is one of the four major local dialects of Resian"]},{Type:"variant",Subtag:"nulik",Description:["Volapük nulik","Volapük perevidöl","Volapük nulädik","de Jong's Volapük","New Volapük","Revised Volapük","Modern Volapük"],Added:"2012-01-28",Prefix:["vo"]},{Type:"variant",Subtag:"osojs",Description:["The Oseacco dialect of Resian","The Osojane dialect of Resian"],Added:"2007-07-05",Prefix:["sl-rozaj"],Comments:["The dialect of Oseacco/Osojane is one of the four major local dialects of Resian"]},{Type:"variant",Subtag:"oxendict",Description:["Oxford English Dictionary spelling"],Added:"2015-04-17",Prefix:["en"]},{Type:"variant",Subtag:"pahawh2",Description:["Pahawh Hmong Second Stage Reduced orthography"],Added:"2017-01-13",Prefix:["mww","hnj"]},{Type:"variant",Subtag:"pahawh3",Description:["Pahawh Hmong Third Stage Reduced orthography"],Added:"2017-01-13",Prefix:["mww","hnj"]},{Type:"variant",Subtag:"pahawh4",Description:["Pahawh Hmong Final Version orthography"],Added:"2017-01-13",Prefix:["mww","hnj"]},{Type:"variant",Subtag:"pamaka",Description:["Pamaka dialect"],Added:"2009-09-05",Prefix:["djk"],Comments:['Pamaka dialect of the "Busi Nenge Tongo" English-based Creole continuum in Eastern Suriname and Western French Guiana']},{Type:"variant",Subtag:"peano",Description:["Latino Sine Flexione","Interlingua de API","Interlingua de Peano"],Prefix:["la"],Comments:["Peano’s Interlingua, created in 1903 by Giuseppe Peano as an international auxiliary language"],Added:"2020-03-12"},{Type:"variant",Subtag:"petr1708",Description:["Petrine orthography"],Added:"2010-10-10",Prefix:["ru"],Comments:["Russian orthography from the Petrine orthographic reforms of 1708 to the 1917 orthographic reform"]},{Type:"variant",Subtag:"pinyin",Description:["Pinyin romanization"],Added:"2008-10-14",Prefix:["zh-Latn","bo-Latn"]},{Type:"variant",Subtag:"polyton",Description:["Polytonic Greek"],Added:"2006-12-11",Prefix:["el"]},{Type:"variant",Subtag:"provenc",Description:["Provençal"],Added:"2018-04-22",Prefix:["oc"],Comments:["Occitan variant spoken in Provence"]},{Type:"variant",Subtag:"puter",Description:["Puter idiom of Romansh"],Added:"2010-06-29",Prefix:["rm"],Comments:['Puter is one of the five traditional written standards or "idioms" of the Romansh language.']},{Type:"variant",Subtag:"rigik",Description:["Volapük rigik","Schleyer's Volapük","Original Volapük","Classic Volapük"],Added:"2012-01-28",Prefix:["vo"]},{Type:"variant",Subtag:"rozaj",Description:["Resian","Resianic","Rezijan"],Added:"2005-10-16",Prefix:["sl"]},{Type:"variant",Subtag:"rumgr",Description:["Rumantsch Grischun"],Added:"2010-06-29",Prefix:["rm"],Comments:["Supraregional Romansh written standard"]},{Type:"variant",Subtag:"scotland",Description:["Scottish Standard English"],Added:"2007-08-31",Prefix:["en"]},{Type:"variant",Subtag:"scouse",Description:["Scouse"],Added:"2006-09-18",Prefix:["en"],Comments:["English Liverpudlian dialect known as 'Scouse'"]},{Type:"variant",Subtag:"simple",Description:["Simplified form"],Added:"2015-12-29"},{Type:"variant",Subtag:"solba",Description:["The Stolvizza dialect of Resian","The Solbica dialect of Resian"],Added:"2007-07-05",Prefix:["sl-rozaj"],Comments:["The dialect of Stolvizza/Solbica is one of the four major local dialects of Resian"]},{Type:"variant",Subtag:"sotav",Description:["The Sotavento dialect group of Kabuverdianu"],Prefix:["kea"],Comments:["Sotavento is one of the two main dialect groups of Kabuverdianu."],Added:"2013-12-10"},{Type:"variant",Subtag:"spanglis",Description:["Spanglish"],Added:"2017-02-23",Prefix:["en","es"],Comments:["A variety of contact dialects of English and Spanish"]},{Type:"variant",Subtag:"surmiran",Description:["Surmiran idiom of Romansh"],Added:"2010-06-29",Prefix:["rm"],Comments:['Surmiran is one of the five traditional written standards or "idioms" of the Romansh language.']},{Type:"variant",Subtag:"sursilv",Description:["Sursilvan idiom of Romansh"],Added:"2010-06-29",Prefix:["rm"],Comments:['Sursilvan is one of the five traditional written standards or "idioms" of the Romansh language.']},{Type:"variant",Subtag:"sutsilv",Description:["Sutsilvan idiom of Romansh"],Added:"2010-06-29",Prefix:["rm"],Comments:['Sutsilvan is one of the five traditional written standards or "idioms" of the Romansh language.']},{Type:"variant",Subtag:"synnejyl",Description:["Synnejysk","South Jutish"],Added:"2021-07-17",Prefix:["da"]},{Type:"variant",Subtag:"tarask",Description:["Belarusian in Taraskievica orthography"],Added:"2007-04-27",Prefix:["be"],Comments:[`The subtag represents Branislau Taraskievic's Belarusian orthography as published in "Bielaruski klasycny pravapis" by Juras Buslakou, Vincuk Viacorka, Zmicier Sanko, and Zmicier Sauka (Vilnia- Miensk 2005).`]},{Type:"variant",Subtag:"tongyong",Description:["Tongyong Pinyin romanization"],Added:"2020-06-08",Prefix:["zh-Latn"],Comments:["Former official transcription standard for Mandarin Chinese in Taiwan."]},{Type:"variant",Subtag:"tunumiit",Description:["Tunumiisiut","East Greenlandic","Østgrønlandsk"],Added:"2020-07-16",Prefix:["kl"],Comments:["Also known as Tunumiit oraasiat"]},{Type:"variant",Subtag:"uccor",Description:["Unified Cornish orthography of Revived Cornish"],Added:"2008-10-14",Prefix:["kw"]},{Type:"variant",Subtag:"ucrcor",Description:["Unified Cornish Revised orthography of Revived Cornish"],Added:"2008-10-14",Prefix:["kw"]},{Type:"variant",Subtag:"ulster",Description:["Ulster dialect of Scots"],Added:"2010-04-10",Prefix:["sco"]},{Type:"variant",Subtag:"unifon",Description:["Unifon phonetic alphabet"],Added:"2013-10-02",Prefix:["en","hup","kyh","tol","yur"]},{Type:"variant",Subtag:"vaidika",Description:["Vedic Sanskrit"],Added:"2010-07-28",Prefix:["sa"],Comments:["The most ancient dialect of Sanskrit used in verse and prose composed until about the 4th century B.C.E."]},{Type:"variant",Subtag:"valencia",Description:["Valencian"],Added:"2007-03-06",Prefix:["ca"],Comments:['Variety spoken in the "Comunidad Valenciana" region of Spain, where it is co-official with Spanish.']},{Type:"variant",Subtag:"vallader",Description:["Vallader idiom of Romansh"],Added:"2010-06-29",Prefix:["rm"],Comments:['Vallader is one of the five traditional written standards or "idioms" of the Romansh language.']},{Type:"variant",Subtag:"vecdruka",Description:['Latvian orthography used before 1920s ("vecā druka")'],Added:"2020-09-26",Prefix:["lv"],Comments:["The subtag represents the old orthography of the Latvian language used during c. 1600s–1920s."]},{Type:"variant",Subtag:"vivaraup",Description:["Vivaro-Alpine"],Added:"2018-04-22",Prefix:["oc"],Comments:["Occitan variant spoken in northeastern Occitania"]},{Type:"variant",Subtag:"wadegile",Description:["Wade-Giles romanization"],Added:"2008-10-03",Prefix:["zh-Latn"]},{Type:"variant",Subtag:"xsistemo",Description:["Standard X-system orthographic fallback for spelling Esperanto"],Added:"2017-03-14",Prefix:["eo"]},{Type:"grandfathered",Tag:"art-lojban",Description:["Lojban"],Added:"2001-11-11",Deprecated:"2003-09-02","Preferred-Value":"jbo"},{Type:"grandfathered",Tag:"cel-gaulish",Description:["Gaulish"],Added:"2001-05-25",Deprecated:"2015-03-29",Comments:["see xcg, xga, xtg"]},{Type:"grandfathered",Tag:"en-GB-oed",Description:["English, Oxford English Dictionary spelling"],Added:"2003-07-09",Deprecated:"2015-04-17","Preferred-Value":"en-GB-oxendict"},{Type:"grandfathered",Tag:"i-ami",Description:["Amis"],Added:"1999-05-25",Deprecated:"2009-07-29","Preferred-Value":"ami"},{Type:"grandfathered",Tag:"i-bnn",Description:["Bunun"],Added:"1999-05-25",Deprecated:"2009-07-29","Preferred-Value":"bnn"},{Type:"grandfathered",Tag:"i-default",Description:["Default Language"],Added:"1998-03-10"},{Type:"grandfathered",Tag:"i-enochian",Description:["Enochian"],Added:"2002-07-03",Deprecated:"2015-03-29"},{Type:"grandfathered",Tag:"i-hak",Description:["Hakka"],Added:"1999-01-31",Deprecated:"2000-01-10","Preferred-Value":"hak"},{Type:"grandfathered",Tag:"i-klingon",Description:["Klingon"],Added:"1999-05-26",Deprecated:"2004-02-24","Preferred-Value":"tlh"},{Type:"grandfathered",Tag:"i-lux",Description:["Luxembourgish"],Added:"1997-09-19",Deprecated:"1998-09-09","Preferred-Value":"lb"},{Type:"grandfathered",Tag:"i-mingo",Description:["Mingo"],Added:"1997-09-19"},{Type:"grandfathered",Tag:"i-navajo",Description:["Navajo"],Added:"1997-09-19",Deprecated:"2000-02-18","Preferred-Value":"nv"},{Type:"grandfathered",Tag:"i-pwn",Description:["Paiwan"],Added:"1999-05-25",Deprecated:"2009-07-29","Preferred-Value":"pwn"},{Type:"grandfathered",Tag:"i-tao",Description:["Tao"],Added:"1999-05-25",Deprecated:"2009-07-29","Preferred-Value":"tao"},{Type:"grandfathered",Tag:"i-tay",Description:["Tayal"],Added:"1999-05-25",Deprecated:"2009-07-29","Preferred-Value":"tay"},{Type:"grandfathered",Tag:"i-tsu",Description:["Tsou"],Added:"1999-05-25",Deprecated:"2009-07-29","Preferred-Value":"tsu"},{Type:"grandfathered",Tag:"no-bok",Description:["Norwegian Bokmal"],Added:"1995-08-23",Deprecated:"2000-02-18","Preferred-Value":"nb"},{Type:"grandfathered",Tag:"no-nyn",Description:["Norwegian Nynorsk"],Added:"1995-08-23",Deprecated:"2000-02-18","Preferred-Value":"nn"},{Type:"grandfathered",Tag:"sgn-BE-FR",Description:["Belgian-French Sign Language"],Added:"2001-11-11",Deprecated:"2009-07-29","Preferred-Value":"sfb"},{Type:"grandfathered",Tag:"sgn-BE-NL",Description:["Belgian-Flemish Sign Language"],Added:"2001-11-11",Deprecated:"2009-07-29","Preferred-Value":"vgt"},{Type:"grandfathered",Tag:"sgn-CH-DE",Description:["Swiss German Sign Language"],Added:"2001-11-11",Deprecated:"2009-07-29","Preferred-Value":"sgg"},{Type:"grandfathered",Tag:"zh-guoyu",Description:["Mandarin or Standard Chinese"],Added:"1999-12-18",Deprecated:"2005-07-15","Preferred-Value":"cmn"},{Type:"grandfathered",Tag:"zh-hakka",Description:["Hakka"],Added:"1999-12-18",Deprecated:"2009-07-29","Preferred-Value":"hak"},{Type:"grandfathered",Tag:"zh-min",Description:["Min, Fuzhou, Hokkien, Amoy, or Taiwanese"],Added:"1999-12-18",Deprecated:"2009-07-29",Comments:["see cdo, cpx, czo, mnp, nan"]},{Type:"grandfathered",Tag:"zh-min-nan",Description:["Minnan, Hokkien, Amoy, Taiwanese, Southern Min, Southern Fujian, Hoklo, Southern Fukien, Ho-lo"],Added:"2001-03-26",Deprecated:"2009-07-29","Preferred-Value":"nan"},{Type:"grandfathered",Tag:"zh-xiang",Description:["Xiang or Hunanese"],Added:"1999-12-18",Deprecated:"2009-07-29","Preferred-Value":"hsn"},{Type:"redundant",Tag:"az-Arab",Description:["Azerbaijani in Arabic script"],Added:"2003-05-30"},{Type:"redundant",Tag:"az-Cyrl",Description:["Azerbaijani in Cyrillic script"],Added:"2003-05-30"},{Type:"redundant",Tag:"az-Latn",Description:["Azerbaijani in Latin script"],Added:"2003-05-30"},{Type:"redundant",Tag:"be-Latn",Description:["Belarusian in Latin script"],Added:"2005-01-06"},{Type:"redundant",Tag:"bs-Cyrl",Description:["Bosnian in Cyrillic script"],Added:"2005-02-17"},{Type:"redundant",Tag:"bs-Latn",Description:["Bosnian in Latin script"],Added:"2005-02-17"},{Type:"redundant",Tag:"de-1901",Description:["German, traditional orthography"],Added:"2001-07-17"},{Type:"redundant",Tag:"de-1996",Description:["German, orthography of 1996"],Added:"2001-07-17"},{Type:"redundant",Tag:"de-AT-1901",Description:["German, Austrian variant, traditional orthography"],Added:"2001-07-17"},{Type:"redundant",Tag:"de-AT-1996",Description:["German, Austrian variant, orthography of 1996"],Added:"2001-07-17"},{Type:"redundant",Tag:"de-CH-1901",Description:["German, Swiss variant, traditional orthography"],Added:"2001-07-17"},{Type:"redundant",Tag:"de-CH-1996",Description:["German, Swiss variant, orthography of 1996"],Added:"2001-07-17"},{Type:"redundant",Tag:"de-DE-1901",Description:["German, German variant, traditional orthography"],Added:"2001-07-17"},{Type:"redundant",Tag:"de-DE-1996",Description:["German, German variant, orthography of 1996"],Added:"2001-07-17"},{Type:"redundant",Tag:"en-boont",Description:["Boontling"],Added:"2003-02-14"},{Type:"redundant",Tag:"en-scouse",Description:["Scouse"],Added:"2000-05-25"},{Type:"redundant",Tag:"es-419",Description:["Latin American Spanish"],Added:"2005-07-15"},{Type:"redundant",Tag:"iu-Cans",Description:["Inuktitut in Canadian Aboriginal Syllabic script"],Added:"2005-02-17"},{Type:"redundant",Tag:"iu-Latn",Description:["Inuktitut in Latin script"],Added:"2005-02-17"},{Type:"redundant",Tag:"mn-Cyrl",Description:["Mongolian in Cyrillic script"],Added:"2005-02-17"},{Type:"redundant",Tag:"mn-Mong",Description:["Mongolian in Mongolian script"],Added:"2005-02-17"},{Type:"redundant",Tag:"sgn-BR",Description:["Brazilian Sign Language"],Added:"2001-11-11",Deprecated:"2009-07-29","Preferred-Value":"bzs"},{Type:"redundant",Tag:"sgn-CO",Description:["Colombian Sign Language"],Added:"2001-11-11",Deprecated:"2009-07-29","Preferred-Value":"csn"},{Type:"redundant",Tag:"sgn-DE",Description:["German Sign Language"],Added:"2001-11-11",Deprecated:"2009-07-29","Preferred-Value":"gsg"},{Type:"redundant",Tag:"sgn-DK",Description:["Danish Sign Language"],Added:"2001-11-11",Deprecated:"2009-07-29","Preferred-Value":"dsl"},{Type:"redundant",Tag:"sgn-ES",Description:["Spanish Sign Language"],Added:"2001-11-11",Deprecated:"2009-07-29","Preferred-Value":"ssp"},{Type:"redundant",Tag:"sgn-FR",Description:["French Sign Language"],Added:"2001-11-11",Deprecated:"2009-07-29","Preferred-Value":"fsl"},{Type:"redundant",Tag:"sgn-GB",Description:["British Sign Language"],Added:"2001-03-02",Deprecated:"2009-07-29","Preferred-Value":"bfi"},{Type:"redundant",Tag:"sgn-GR",Description:["Greek Sign Language"],Added:"2001-11-11",Deprecated:"2009-07-29","Preferred-Value":"gss"},{Type:"redundant",Tag:"sgn-IE",Description:["Irish Sign Language"],Added:"2001-03-02",Deprecated:"2009-07-29","Preferred-Value":"isg"},{Type:"redundant",Tag:"sgn-IT",Description:["Italian Sign Language"],Added:"2001-11-11",Deprecated:"2009-07-29","Preferred-Value":"ise"},{Type:"redundant",Tag:"sgn-JP",Description:["Japanese Sign Language"],Added:"2001-11-11",Deprecated:"2009-07-29","Preferred-Value":"jsl"},{Type:"redundant",Tag:"sgn-MX",Description:["Mexican Sign Language"],Added:"2001-11-11",Deprecated:"2009-07-29","Preferred-Value":"mfs"},{Type:"redundant",Tag:"sgn-NI",Description:["Nicaraguan Sign Language"],Added:"2001-03-02",Deprecated:"2009-07-29","Preferred-Value":"ncs"},{Type:"redundant",Tag:"sgn-NL",Description:["Dutch Sign Language"],Added:"2001-11-11",Deprecated:"2009-07-29","Preferred-Value":"dse"},{Type:"redundant",Tag:"sgn-NO",Description:["Norwegian Sign Language"],Added:"2001-11-11",Deprecated:"2009-07-29","Preferred-Value":"nsl"},{Type:"redundant",Tag:"sgn-PT",Description:["Portuguese Sign Language"],Added:"2001-11-11",Deprecated:"2009-07-29","Preferred-Value":"psr"},{Type:"redundant",Tag:"sgn-SE",Description:["Swedish Sign Language"],Added:"2001-11-11",Deprecated:"2009-07-29","Preferred-Value":"swl"},{Type:"redundant",Tag:"sgn-US",Description:["American Sign Language"],Added:"2001-03-02",Deprecated:"2009-07-29","Preferred-Value":"ase"},{Type:"redundant",Tag:"sgn-ZA",Description:["South African Sign Language"],Added:"2001-11-11",Deprecated:"2009-07-29","Preferred-Value":"sfs"},{Type:"redundant",Tag:"sl-nedis",Description:["Natisone dialect, Nadiza dialect"],Added:"2004-06-01"},{Type:"redundant",Tag:"sl-rozaj",Description:["Resian, Resianic, Rezijan"],Added:"2003-10-09"},{Type:"redundant",Tag:"sr-Cyrl",Description:["Serbian in Cyrillic script"],Added:"2003-05-30"},{Type:"redundant",Tag:"sr-Latn",Description:["Serbian in Latin script"],Added:"2003-05-30"},{Type:"redundant",Tag:"tg-Arab",Description:["Tajik in Arabic script"],Added:"2005-02-17"},{Type:"redundant",Tag:"tg-Cyrl",Description:["Tajik in Cyrillic script"],Added:"2005-02-17"},{Type:"redundant",Tag:"uz-Cyrl",Description:["Uzbek in Cyrillic script"],Added:"2003-05-30"},{Type:"redundant",Tag:"uz-Latn",Description:["Uzbek in Latin script"],Added:"2003-05-30"},{Type:"redundant",Tag:"yi-Latn",Description:["Yiddish, in Latin script"],Added:"2003-01-07"},{Type:"redundant",Tag:"zh-cmn",Description:["Mandarin Chinese"],Added:"2005-07-15",Deprecated:"2009-07-29","Preferred-Value":"cmn"},{Type:"redundant",Tag:"zh-cmn-Hans",Description:["Mandarin Chinese (Simplified)"],Added:"2005-07-15",Deprecated:"2009-07-29","Preferred-Value":"cmn-Hans"},{Type:"redundant",Tag:"zh-cmn-Hant",Description:["Mandarin Chinese (Traditional)"],Added:"2005-07-15",Deprecated:"2009-07-29","Preferred-Value":"cmn-Hant"},{Type:"redundant",Tag:"zh-gan",Description:["Kan or Gan"],Added:"1999-12-18",Deprecated:"2009-07-29","Preferred-Value":"gan"},{Type:"redundant",Tag:"zh-Hans",Description:["simplified Chinese"],Added:"2003-05-30"},{Type:"redundant",Tag:"zh-Hans-CN",Description:["PRC Mainland Chinese in simplified script"],Added:"2005-04-13"},{Type:"redundant",Tag:"zh-Hans-HK",Description:["Hong Kong Chinese in simplified script"],Added:"2005-04-11"},{Type:"redundant",Tag:"zh-Hans-MO",Description:["Macao Chinese in simplified script"],Added:"2005-04-11"},{Type:"redundant",Tag:"zh-Hans-SG",Description:["Singapore Chinese in simplified script"],Added:"2005-04-11"},{Type:"redundant",Tag:"zh-Hans-TW",Description:["Taiwan Chinese in simplified script"],Added:"2005-04-11"},{Type:"redundant",Tag:"zh-Hant",Description:["traditional Chinese"],Added:"2003-05-30"},{Type:"redundant",Tag:"zh-Hant-CN",Description:["PRC Mainland Chinese in traditional script"],Added:"2005-04-13"},{Type:"redundant",Tag:"zh-Hant-HK",Description:["Hong Kong Chinese in traditional script"],Added:"2005-04-11"},{Type:"redundant",Tag:"zh-Hant-MO",Description:["Macao Chinese in traditional script"],Added:"2005-04-11"},{Type:"redundant",Tag:"zh-Hant-SG",Description:["Singapore Chinese in traditional script"],Added:"2005-04-11"},{Type:"redundant",Tag:"zh-Hant-TW",Description:["Taiwan Chinese in traditional script"],Added:"2005-04-11"},{Type:"redundant",Tag:"zh-wuu",Description:["Shanghaiese or Wu"],Added:"1999-12-18",Deprecated:"2009-07-29","Preferred-Value":"wuu"},{Type:"redundant",Tag:"zh-yue",Description:["Cantonese"],Added:"1999-12-18",Deprecated:"2009-07-29","Preferred-Value":"yue"}];var I6={};Object.defineProperty(I6,"__esModule",{value:!0});I6.default={adlm:8492,afak:8493,aghb:8494,ahom:8495,arab:8496,aran:8497,armi:8498,armn:8499,avst:8500,bali:8501,bamu:8502,bass:8503,batk:8504,beng:8505,bhks:8506,blis:8507,bopo:8508,brah:8509,brai:8510,bugi:8511,buhd:8512,cakm:8513,cans:8514,cari:8515,cham:8516,cher:8517,chrs:8518,cirt:8519,copt:8520,cpmn:8521,cprt:8522,cyrl:8523,cyrs:8524,deva:8525,diak:8526,dogr:8527,dsrt:8528,dupl:8529,egyd:8530,egyh:8531,egyp:8532,elba:8533,elym:8534,ethi:8535,geok:8536,geor:8537,glag:8538,gong:8539,gonm:8540,goth:8541,gran:8542,grek:8543,gujr:8544,guru:8545,hanb:8546,hang:8547,hani:8548,hano:8549,hans:8550,hant:8551,hatr:8552,hebr:8553,hira:8554,hluw:8555,hmng:8556,hmnp:8557,hrkt:8558,hung:8559,inds:8560,ital:8561,jamo:8562,java:8563,jpan:8564,jurc:8565,kali:8566,kana:8567,kawi:8568,khar:8569,khmr:8570,khoj:8571,kitl:8572,kits:8573,knda:8574,kore:8575,kpel:8576,kthi:8577,lana:8578,laoo:8579,latf:8580,latg:8581,latn:8582,leke:8583,lepc:8584,limb:8585,lina:8586,linb:8587,lisu:8588,loma:8589,lyci:8590,lydi:8591,mahj:8592,maka:8593,mand:8594,mani:8595,marc:8596,maya:8597,medf:8598,mend:8599,merc:8600,mero:8601,mlym:8602,modi:8603,mong:8604,moon:8605,mroo:8606,mtei:8607,mult:8608,mymr:8609,nagm:8610,nand:8611,narb:8612,nbat:8613,newa:8614,nkdb:8615,nkgb:8616,nkoo:8617,nshu:8618,ogam:8619,olck:8620,orkh:8621,orya:8622,osge:8623,osma:8624,ougr:8625,palm:8626,pauc:8627,pcun:8628,pelm:8629,perm:8630,phag:8631,phli:8632,phlp:8633,phlv:8634,phnx:8635,piqd:8636,plrd:8637,prti:8638,psin:8639,"qaaa..qabx":8640,ranj:8641,rjng:8642,rohg:8643,roro:8644,runr:8645,samr:8646,sara:8647,sarb:8648,saur:8649,sgnw:8650,shaw:8651,shrd:8652,shui:8653,sidd:8654,sind:8655,sinh:8656,sogd:8657,sogo:8658,sora:8659,soyo:8660,sund:8661,sunu:8662,sylo:8663,syrc:8664,syre:8665,syrj:8666,syrn:8667,tagb:8668,takr:8669,tale:8670,talu:8671,taml:8672,tang:8673,tavt:8674,telu:8675,teng:8676,tfng:8677,tglg:8678,thaa:8679,thai:8680,tibt:8681,tirh:8682,tnsa:8683,toto:8684,ugar:8685,vaii:8686,visp:8687,vith:8688,wara:8689,wcho:8690,wole:8691,xpeo:8692,xsux:8693,yezi:8694,yiii:8695,zanb:8696,zinh:8697,zmth:8698,zsye:8699,zsym:8700,zxxx:8701,zyyy:8702,zzzz:8703};var N6={};Object.defineProperty(N6,"__esModule",{value:!0});N6.default={mis:4290,mul:4579,und:7098,zxx:8232};var L6={};Object.defineProperty(L6,"__esModule",{value:!0});L6.default={1901:9010,1994:9012,1996:9013,"1606nict":9008,"1694acad":9009,"1959acad":9011,abl1943:9014,akuapem:9015,alalc97:9016,aluku:9017,ao1990:9018,aranes:9019,arevela:9020,arevmda:9021,arkaika:9022,asante:9023,auvern:9024,baku1926:9025,balanka:9026,barla:9027,basiceng:9028,bauddha:9029,biscayan:9030,biske:9031,bohoric:9032,boont:9033,bornholm:9034,cisaup:9035,colb1945:9036,cornu:9037,creiss:9038,dajnko:9039,ekavsk:9040,emodeng:9041,fonipa:9042,fonkirsh:9043,fonnapa:9044,fonupa:9045,fonxsamp:9046,gallo:9047,gascon:9048,grclass:9049,grital:9050,grmistr:9051,hepburn:9052,heploc:9053,hognorsk:9054,hsistemo:9055,ijekavsk:9056,itihasa:9057,ivanchov:9058,jauer:9059,jyutping:9060,kkcor:9061,kociewie:9062,kscor:9063,laukika:9064,lemosin:9065,lengadoc:9066,lipaw:9067,ltg2007:9068,luna1918:9069,metelko:9070,monoton:9071,ndyuka:9072,nedis:9073,newfound:9074,nicard:9075,njiva:9076,nulik:9077,osojs:9078,oxendict:9079,pahawh2:9080,pahawh3:9081,pahawh4:9082,pamaka:9083,peano:9084,petr1708:9085,pinyin:9086,polyton:9087,provenc:9088,puter:9089,rigik:9090,rozaj:9091,rumgr:9092,scotland:9093,scouse:9094,simple:9095,solba:9096,sotav:9097,spanglis:9098,surmiran:9099,sursilv:9100,sutsilv:9101,synnejyl:9102,tarask:9103,tongyong:9104,tunumiit:9105,uccor:9106,ucrcor:9107,ulster:9108,unifon:9109,vaidika:9110,valencia:9111,vallader:9112,vecdruka:9113,vivaraup:9114,wadegile:9115,xsistemo:9116};var Dd={};Object.defineProperty(Dd,"__esModule",{value:!0});Dd.nextString=void 0;function R6(e){return e.length===0?"a":e[e.length-1]==="z"?`${R6(e.substr(0,e.length-1))}a`:e.substring(0,e.length-1)+String.fromCharCode(e[e.length-1].charCodeAt(0)+1)}Dd.nextString=R6;function She(e,a=!0){const[t,n]=e.toLowerCase().split(/\.\.\.?/);if(!t)throw new Error("Please supply a range that has a beginning.");let i=t;const r=[];do r.push(i),i=R6(i);while(n&&i.length<n.length||(a?i<=n:i<n));return r}Dd.default=She;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.lastUpdatedAt=e.lastUpdatedAtString=void 0;const a=T6,t=S6,n=A6,i=v6,r=D6,s=x6,u=E6,o=k6,l=C6,g=w6,d=_6,c=I6,p=N6,f=L6,h=Dd,y={collection:a.default,extlang:t.default,grandfathered:n.default,index:i.default,language:r.default,macrolanguage:s.default,meta:u.default,privateuse:o.default,redundant:l.default,region:g.default,registry:d.default,script:c.default,special:p.default,variant:f.default};[y.script,y.region,y.privateuse,y.language].forEach(b=>{Object.keys(b).forEach(m=>{m.match("..")&&(0,h.default)(m).forEach(T=>{b[T]=b[m]})})}),e.default=y,e.lastUpdatedAtString=new Date(y.meta["File-Date"]),e.lastUpdatedAt=new Date(e.lastUpdatedAtString)})(vd);Object.defineProperty(t9,"__esModule",{value:!0});const $k=vd;function Ahe(e,a){const t=$k.default[e][a.toLowerCase()];return $k.default.registry[t]}t9.default=Ahe;var vp={},Dp={};Object.defineProperty(Dp,"__esModule",{value:!0});Dp.errorMessages=void 0;function vhe(e,a,t){if(a)t!==null&&t(e.trim());else throw new Error(e.trim())}Dp.default=vhe;Dp.errorMessages={duplicateVariant:(e,a)=>`
    The supplied tag ‘${e}’ contains a variant (‘${a}’) that is present more than once.

    Please provide variants only once.
  `,emptyTag:`
    The supplied tag was empty. Please supply an IETF language tag!
  `,invalidExtension:(e,a,t)=>`
    The supplied tag ‘${e}’ contains a singleton (the ‘${a[0]}’ in ‘${a}’ and
    ‘${a[0]}-${t}’) that is present more than once.

    The tag cannot have ‘${a}’ and ‘${a[0]}-${t}’ at the same time.

    Please supply only one value for the ‘${a[0]}-...’ extension.
  `,invalidTag:e=>`
    Could not interpret ‘${e}’ - Please supply a valid IETF/BCP-47 language tag!

    If necessary, you can find out more on https://tools.ietf.org/html/rfc5646.
  `,underscoresFound:e=>`
    ‘${e}’ is not a valid IETF language tag.

    It contains underscores, indicating that it is a POSIX locale [1] or Unicode language tag [2].

    Despite looking similar, both standards work differently than what the
    @sozialhelden/ietf-language-tags module supports.

    - If you generated the tag yourself, please ensure you use minus signs (e.g. ‘de-DE’), not
      underscores, for separating the subtags.
    - If you got the value from an API or library, please try to find a replacement that outputs
      real IETF/BCP-47 language tags, or convert the value yourself. Note that conversion is more
      complicated than just replacing '_' with '-'! For Unicode language tags, the standard [2]
      describes how to convert them to the IETF/BCP-47 format.
    - If you actually wanted to work with POSIX locales, this library is probably not the right
      one, it only supports IETF language tags.
    - If you actually wanted to work with Unicode language tags, you can convert them by replacing
      the underscores with hyphens. However, this library won't help you with parsing the Unicode
      standard’s extensions - if you need to interpret them, you need additional code for this. It
      might be a better idea to have a look at cldrjs [3] in your case.

    Sorry for the inconvenience!

    [1] POSIX locales / ISO 15897 / https://www.iso.org/standard/50707.html
    [2] http://unicode.org/reports/tr35/#Unicode_Language_and_Locale_Identifiers.
    [3] https://github.com/rxaviers/cldrjs
  `};var n9={};Object.defineProperty(n9,"__esModule",{value:!0});function Dhe(e){const a=e.split(/-/);return a.map((t,n)=>{if(n!==0&&a[n-1].length!==1){if(t.length===2)return t.toUpperCase();if(t.length===4)return`${t[0].toUpperCase()}${t.slice(1).toLowerCase()}`}return t.toLowerCase()}).join("-")}n9.default=Dhe;var xd={};Object.defineProperty(xd,"__esModule",{value:!0});xd.rfc5646RegExp=void 0;const Pl=vd;function Ml(e){return`(?:${Object.keys(e).map(t=>t.replace(/\./g,"\\.")).join("|")})`}function QM(e=!1){const a=Ml(Pl.default.grandfathered),t=`(?<extlang>${e?Ml(Pl.default.extlang):"(?:[a-z]{3}(?:-[a-z]{3}){0,2})"})`,n=e?Ml(Pl.default.script):"[a-z]{4}",i=e?Ml(Pl.default.region):"(?:[a-z]{2}|[0-9]{3})",r=e?Ml(Pl.default.variant):"(?:[a-z0-9]{5,8}|[0-9][a-z0-9]{3})",u="[0-9a-wy-z](?:-[a-z0-9]{2,8})+",o="x(?:-[a-z0-9]{1,8})+",c=`^(?:(?<langtag>${`
    (?<language>${e?Ml(Pl.default.language):`(?:[a-z]{2,3}(?:-${t})?|[a-z]{4}|[a-z]{5,8})`})
    (-(?<script>${n}))?
    (-(?<region>${i}))?
    (?<variants>(?:-${r})*)
    (?<extensions>(?:-${u})*)
    (?:-(?<privateuse>(?:${o})))?
  `})|(?<privateuse2>${o})|(?<grandfathered>${a}))$`.replace(/[\s\t\n]/g,"");return new RegExp(c,"i")}xd.default=QM;xd.rfc5646RegExp=QM();Object.defineProperty(vp,"__esModule",{value:!0});const Fr=Dp,xhe=n9,Ehe=xd;function khe(e,a=!1,t=console.log){if(e.match(/_/)){(0,Fr.default)(Fr.errorMessages.underscoresFound(e),a,t);return}if(e===""){(0,Fr.default)(Fr.errorMessages.emptyTag,a,t);return}const n=(0,xhe.default)(e),i=n.match(Ehe.rfc5646RegExp);if(!i||!i.groups){(0,Fr.default)(Fr.errorMessages.invalidTag(e),a,t);return}const{groups:r}=i,s={};let u=!0;if(r.extensions){const d=r.extensions.toLowerCase().match(/(?:[0-9a-wy-z](?:-[a-z0-9]{2,8})+)/g);Array.from(d||[]).forEach(c=>{const p=s[c[0]];p&&((0,Fr.default)(Fr.errorMessages.invalidExtension(n,c,p),a,t),u=!1),s[c[0]]=c.slice(2)})}if(!u)return;const o=r.variants?r.variants.split(/-/).filter(d=>d!==""):void 0,l=new Set(o);if(o&&o.length!==l.size){const d=Array.from(l).find(c=>o.filter(p=>p===c).length>1);if(d){(0,Fr.default)(Fr.errorMessages.duplicateVariant(n,d),a,t);return}}const g={variants:o,extensions:r.extensions?s:void 0,extlang:r.extlang,grandfathered:r.grandfathered,langtag:r.langtag,language:r.language,privateuse:r.privateuse||r.privateuse2,region:r.region,script:r.script};return Object.keys(g).forEach(d=>{const c=g[d];(typeof c>"u"||c==="")&&delete g[d]}),g}vp.default=khe;Object.defineProperty(Ad,"__esModule",{value:!0});Ad.expandTag=void 0;const Kk=t9,Che=vp,whe=["language","extlang","grandfathered","redundant","region","script","variants","collection","macrolanguage","privateuse","special"];function ZM(e){const a={parts:e};return whe.forEach(t=>{const n=e[t];if(!n||t==="parts")return;if(t==="langtag"||t==="extensions"||t==="privateuse"||t==="special"){a[t]=n;return}if(t==="variants"){a.variants=n.map(r=>(0,Kk.default)("variant",r));return}const i=(0,Kk.default)(t,n);i&&(a[t]=i)}),a}Ad.expandTag=ZM;function _he(e,a=!1){const t=(0,Che.default)(e,a);if(t)return ZM(t)}Ad.default=_he;Object.defineProperty(b6,"__esModule",{value:!0});const Ihe=The,Nhe=Ad,Lhe=vp;function Zb(e,a,t){return t[0]==="Private use"?[`private use ${e} ‘${a.parts[e]}’`]:t}function Rhe(e){var o,l,g,d,c,p,f,h,y;const a=(0,Lhe.default)(e,!0,null);if(!a)return`Invalid tag ‘${e}’`;const t=(0,Nhe.expandTag)(a),n=t&&t.language&&t.language.Description&&t.language.Description[0],i=t.variants&&t.variants.map(b=>{var m;return(((m=b==null?void 0:b.Description)==null?void 0:m[0])||`‘${b}’ variant`).replace(/^The /,"").replace(n||"","").replace(/^, /,"")}).join(" or "),r=t.variants?`${i}${i&&i.match(/dialect$/)?"":" variant"} of `:"",s=t.privateuse?`private extension ‘${t.privateuse}’`:"";let u=(r+(0,Ihe.default)([t.grandfathered&&`${t.grandfathered.Description} (grandfathered tag)`,(l=(o=t.extlang)==null?void 0:o.Description)==null?void 0:l.join(" / "),(g=t.macrolanguage)==null?void 0:g.Description,(d=t.collection)==null?void 0:d.Description,((c=t.language)==null?void 0:c.Description)&&Zb("language",t,t.language.Description).join(" / "),((p=t.script)==null?void 0:p.Description)&&`written in ${Zb("script",t,t.script.Description).join("/")} script`,((f=t.region)==null?void 0:f.Description)&&`as used in ${Zb("region",t,t.region.Description)}`,(h=t.redundant)==null?void 0:h.Description,(y=t.special)==null?void 0:y.Description,t.extensions&&`Extensions: ${t.extensions}`]).join(", ")).replace(/\s+/g," ");return s&&(u?u+=` (with ${s})`:u+=s),u.length>0?u:"(undefined tag)"}b6.default=Rhe;var P6={};Object.defineProperty(P6,"__esModule",{value:!0});const Ef=vd;function Phe(e){const a=Ef.default.language[e],t=Ef.default.registry[a].Macrolanguage,n=typeof t<"u"&&Ef.default.macrolanguage[t];return n?Ef.default.registry[n]:void 0}P6.default=Phe;var M6={};Object.defineProperty(M6,"__esModule",{value:!0});const Jb=vd;function Mhe(e){const a=Jb.default.index[e.toLowerCase()];if(a){if(a.grandfathered)return Jb.default.registry[a.grandfathered]["Preferred-Value"];if(a.redundant)return Jb.default.registry[a.redundant]["Preferred-Value"]}}M6.default=Mhe;var JM={};Object.defineProperty(JM,"__esModule",{value:!0});(function(e){var a=Ve&&Ve.__createBinding||(Object.create?function(p,f,h,y){y===void 0&&(y=h);var b=Object.getOwnPropertyDescriptor(f,h);(!b||("get"in b?!f.__esModule:b.writable||b.configurable))&&(b={enumerable:!0,get:function(){return f[h]}}),Object.defineProperty(p,y,b)}:function(p,f,h,y){y===void 0&&(y=h),p[y]=f[h]}),t=Ve&&Ve.__exportStar||function(p,f){for(var h in p)h!=="default"&&!Object.prototype.hasOwnProperty.call(f,h)&&a(f,p,h)};Object.defineProperty(e,"__esModule",{value:!0}),e.createRFC5646Regexp=e.normalizeLanguageTagCasing=e.indexes=e.getSubTag=e.getTag=e.getPreferredLanguageTag=e.getMacroLanguage=e.parseLanguageTag=e.generateAlphabeticRange=e.describeIETFLanguageTag=void 0;var n=b6;Object.defineProperty(e,"describeIETFLanguageTag",{enumerable:!0,get:function(){return n.default}});var i=Dd;Object.defineProperty(e,"generateAlphabeticRange",{enumerable:!0,get:function(){return i.default}});var r=vp;Object.defineProperty(e,"parseLanguageTag",{enumerable:!0,get:function(){return r.default}});var s=P6;Object.defineProperty(e,"getMacroLanguage",{enumerable:!0,get:function(){return s.default}});var u=M6;Object.defineProperty(e,"getPreferredLanguageTag",{enumerable:!0,get:function(){return u.default}});var o=Ad;Object.defineProperty(e,"getTag",{enumerable:!0,get:function(){return o.default}});var l=t9;Object.defineProperty(e,"getSubTag",{enumerable:!0,get:function(){return l.default}});var g=vd;Object.defineProperty(e,"indexes",{enumerable:!0,get:function(){return g.default}});var d=n9;Object.defineProperty(e,"normalizeLanguageTagCasing",{enumerable:!0,get:function(){return d.default}});var c=xd;Object.defineProperty(e,"createRFC5646Regexp",{enumerable:!0,get:function(){return c.default}}),t(JM,e)})(yhe);var Qh={exports:{}};Qh.exports;(function(e,a){var t=200,n="__lodash_hash_undefined__",i=800,r=16,s=9007199254740991,u="[object Arguments]",o="[object Array]",l="[object AsyncFunction]",g="[object Boolean]",d="[object Date]",c="[object Error]",p="[object Function]",f="[object GeneratorFunction]",h="[object Map]",y="[object Number]",b="[object Null]",m="[object Object]",T="[object Proxy]",A="[object RegExp]",v="[object Set]",D="[object String]",k="[object Undefined]",N="[object WeakMap]",q="[object ArrayBuffer]",R="[object DataView]",z="[object Float32Array]",W="[object Float64Array]",K="[object Int8Array]",P="[object Int16Array]",L="[object Int32Array]",H="[object Uint8Array]",U="[object Uint8ClampedArray]",G="[object Uint16Array]",E="[object Uint32Array]",x=/[\\^$.*+?()[\]{}|]/g,_=/^\[object .+?Constructor\]$/,I=/^(?:0|[1-9]\d*)$/,w={};w[z]=w[W]=w[K]=w[P]=w[L]=w[H]=w[U]=w[G]=w[E]=!0,w[u]=w[o]=w[q]=w[g]=w[R]=w[d]=w[c]=w[p]=w[h]=w[y]=w[m]=w[A]=w[v]=w[D]=w[N]=!1;var C=typeof Ve=="object"&&Ve&&Ve.Object===Object&&Ve,M=typeof self=="object"&&self&&self.Object===Object&&self,$=C||M||Function("return this")(),Z=a&&!a.nodeType&&a,ne=Z&&!0&&e&&!e.nodeType&&e,le=ne&&ne.exports===Z,be=le&&C.process,Te=function(){try{var Q=ne&&ne.require&&ne.require("util").types;return Q||be&&be.binding&&be.binding("util")}catch{}}(),ye=Te&&Te.isTypedArray;function de(Q,re,pe){switch(pe.length){case 0:return Q.call(re);case 1:return Q.call(re,pe[0]);case 2:return Q.call(re,pe[0],pe[1]);case 3:return Q.call(re,pe[0],pe[1],pe[2])}return Q.apply(re,pe)}function Ne(Q,re){for(var pe=-1,Ge=Array(Q);++pe<Q;)Ge[pe]=re(pe);return Ge}function Be(Q){return function(re){return Q(re)}}function Le(Q,re){return Q==null?void 0:Q[re]}function Fe(Q,re){return function(pe){return Q(re(pe))}}var Me=Array.prototype,ia=Function.prototype,va=Object.prototype,ta=$["__core-js_shared__"],sa=ia.toString,da=va.hasOwnProperty,Ma=function(){var Q=/[^.]+$/.exec(ta&&ta.keys&&ta.keys.IE_PROTO||"");return Q?"Symbol(src)_1."+Q:""}(),ca=va.toString,fa=sa.call(Object),Ua=RegExp("^"+sa.call(da).replace(x,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),kt=le?$.Buffer:void 0,At=$.Symbol,sn=$.Uint8Array;kt&&kt.allocUnsafe;var un=Fe(Object.getPrototypeOf,Object),on=Object.create,Na=va.propertyIsEnumerable,ot=Me.splice,vt=At?At.toStringTag:void 0,Pt=function(){try{var Q=Q9(Object,"defineProperty");return Q({},"",{}),Q}catch{}}(),Vn=kt?kt.isBuffer:void 0,Oi=Math.max,Ut=Date.now,In=Q9($,"Map"),An=Q9(Object,"create"),Qa=function(){function Q(){}return function(re){if(!yo(re))return{};if(on)return on(re);Q.prototype=re;var pe=new Q;return Q.prototype=void 0,pe}}();function jt(Q){var re=-1,pe=Q==null?0:Q.length;for(this.clear();++re<pe;){var Ge=Q[re];this.set(Ge[0],Ge[1])}}function As(){this.__data__=An?An(null):{},this.size=0}function vs(Q){var re=this.has(Q)&&delete this.__data__[Q];return this.size-=re?1:0,re}function fi(Q){var re=this.__data__;if(An){var pe=re[Q];return pe===n?void 0:pe}return da.call(re,Q)?re[Q]:void 0}function Ds(Q){var re=this.__data__;return An?re[Q]!==void 0:da.call(re,Q)}function Bi(Q,re){var pe=this.__data__;return this.size+=this.has(Q)?0:1,pe[Q]=An&&re===void 0?n:re,this}jt.prototype.clear=As,jt.prototype.delete=vs,jt.prototype.get=fi,jt.prototype.has=Ds,jt.prototype.set=Bi;function zt(Q){var re=-1,pe=Q==null?0:Q.length;for(this.clear();++re<pe;){var Ge=Q[re];this.set(Ge[0],Ge[1])}}function Fi(){this.__data__=[],this.size=0}function mo(Q){var re=this.__data__,pe=wt(re,Q);if(pe<0)return!1;var Ge=re.length-1;return pe==Ge?re.pop():ot.call(re,pe,1),--this.size,!0}function ln(Q){var re=this.__data__,pe=wt(re,Q);return pe<0?void 0:re[pe][1]}function Ct(Q){return wt(this.__data__,Q)>-1}function xs(Q,re){var pe=this.__data__,Ge=wt(pe,Q);return Ge<0?(++this.size,pe.push([Q,re])):pe[Ge][1]=re,this}zt.prototype.clear=Fi,zt.prototype.delete=mo,zt.prototype.get=ln,zt.prototype.has=Ct,zt.prototype.set=xs;function ur(Q){var re=-1,pe=Q==null?0:Q.length;for(this.clear();++re<pe;){var Ge=Q[re];this.set(Ge[0],Ge[1])}}function Fp(){this.size=0,this.__data__={hash:new jt,map:new(In||zt),string:new jt}}function Up(Q){var re=Vp(this,Q).delete(Q);return this.size-=re?1:0,re}function jp(Q){return Vp(this,Q).get(Q)}function or(Q){return Vp(this,Q).has(Q)}function zp(Q,re){var pe=Vp(this,Q),Ge=pe.size;return pe.set(Q,re),this.size+=pe.size==Ge?0:1,this}ur.prototype.clear=Fp,ur.prototype.delete=Up,ur.prototype.get=jp,ur.prototype.has=or,ur.prototype.set=zp;function Es(Q){var re=this.__data__=new zt(Q);this.size=re.size}function $p(){this.__data__=new zt,this.size=0}function Kp(Q){var re=this.__data__,pe=re.delete(Q);return this.size=re.size,pe}function X9(Q){return this.__data__.get(Q)}function We(Q){return this.__data__.has(Q)}function ie(Q,re){var pe=this.__data__;if(pe instanceof zt){var Ge=pe.__data__;if(!In||Ge.length<t-1)return Ge.push([Q,re]),this.size=++pe.size,this;pe=this.__data__=new ur(Ge)}return pe.set(Q,re),this.size=pe.size,this}Es.prototype.clear=$p,Es.prototype.delete=Kp,Es.prototype.get=X9,Es.prototype.has=We,Es.prototype.set=ie;function we(Q,re){var pe=e1(Q),Ge=!pe&&J9(Q),Ca=!pe&&!Ge&&Gx(Q),Ya=!pe&&!Ge&&!Ca&&Yx(Q),lt=pe||Ge||Ca||Ya,Ba=lt?Ne(Q.length,String):[],gt=Ba.length;for(var lr in Q)lt&&(lr=="length"||Ca&&(lr=="offset"||lr=="parent")||Ya&&(lr=="buffer"||lr=="byteLength"||lr=="byteOffset")||qx(lr,gt))||Ba.push(lr);return Ba}function He(Q,re,pe){(pe!==void 0&&!Gp(Q[re],pe)||pe===void 0&&!(re in Q))&&_t(Q,re,pe)}function Ka(Q,re,pe){var Ge=Q[re];(!(da.call(Q,re)&&Gp(Ge,pe))||pe===void 0&&!(re in Q))&&_t(Q,re,pe)}function wt(Q,re){for(var pe=Q.length;pe--;)if(Gp(Q[pe][0],re))return pe;return-1}function _t(Q,re,pe){re=="__proto__"&&Pt?Pt(Q,re,{configurable:!0,enumerable:!0,value:pe,writable:!0}):Q[re]=pe}var vn=d$();function Nn(Q){return Q==null?Q===void 0?k:b:vt&&vt in Object(Q)?c$(Q):b$(Q)}function uu(Q){return Rd(Q)&&Nn(Q)==u}function gn(Q){if(!yo(Q)||m$(Q))return!1;var re=t1(Q)?Ua:_;return re.test(v$(Q))}function Hp(Q){return Rd(Q)&&Wx(Q.length)&&!!w[Nn(Q)]}function qp(Q){if(!yo(Q))return y$(Q);var re=Vx(Q),pe=[];for(var Ge in Q)Ge=="constructor"&&(re||!da.call(Q,Ge))||pe.push(Ge);return pe}function Hx(Q,re,pe,Ge,Ca){Q!==re&&vn(re,function(Ya,lt){if(Ca||(Ca=new Es),yo(Ya))t$(Q,re,lt,pe,Hx,Ge,Ca);else{var Ba=Ge?Ge(Z9(Q,lt),Ya,lt+"",Q,re,Ca):void 0;Ba===void 0&&(Ba=Ya),He(Q,lt,Ba)}},Xx)}function t$(Q,re,pe,Ge,Ca,Ya,lt){var Ba=Z9(Q,pe),gt=Z9(re,pe),lr=lt.get(gt);if(lr){He(Q,pe,lr);return}var hi=Ya?Ya(Ba,gt,pe+"",Q,re,lt):void 0,Pd=hi===void 0;if(Pd){var n1=e1(gt),i1=!n1&&Gx(gt),Zx=!n1&&!i1&&Yx(gt);hi=gt,n1||i1||Zx?e1(Ba)?hi=Ba:D$(Ba)?hi=o$(Ba):i1?(Pd=!1,hi=r$(gt)):Zx?(Pd=!1,hi=u$(gt)):hi=[]:x$(gt)||J9(gt)?(hi=Ba,J9(Ba)?hi=E$(Ba):(!yo(Ba)||t1(Ba))&&(hi=p$(gt))):Pd=!1}Pd&&(lt.set(gt,hi),Ca(hi,gt,Ge,Ya,lt),lt.delete(gt)),He(Q,pe,hi)}function n$(Q,re){return S$(T$(Q,re,Qx),Q+"")}var i$=Pt?function(Q,re){return Pt(Q,"toString",{configurable:!0,enumerable:!1,value:C$(re),writable:!0})}:Qx;function r$(Q,re){return Q.slice()}function s$(Q){var re=new Q.constructor(Q.byteLength);return new sn(re).set(new sn(Q)),re}function u$(Q,re){var pe=s$(Q.buffer);return new Q.constructor(pe,Q.byteOffset,Q.length)}function o$(Q,re){var pe=-1,Ge=Q.length;for(re||(re=Array(Ge));++pe<Ge;)re[pe]=Q[pe];return re}function l$(Q,re,pe,Ge){var Ca=!pe;pe||(pe={});for(var Ya=-1,lt=re.length;++Ya<lt;){var Ba=re[Ya],gt=void 0;gt===void 0&&(gt=Q[Ba]),Ca?_t(pe,Ba,gt):Ka(pe,Ba,gt)}return pe}function g$(Q){return n$(function(re,pe){var Ge=-1,Ca=pe.length,Ya=Ca>1?pe[Ca-1]:void 0,lt=Ca>2?pe[2]:void 0;for(Ya=Q.length>3&&typeof Ya=="function"?(Ca--,Ya):void 0,lt&&f$(pe[0],pe[1],lt)&&(Ya=Ca<3?void 0:Ya,Ca=1),re=Object(re);++Ge<Ca;){var Ba=pe[Ge];Ba&&Q(re,Ba,Ge,Ya)}return re})}function d$(Q){return function(re,pe,Ge){for(var Ca=-1,Ya=Object(re),lt=Ge(re),Ba=lt.length;Ba--;){var gt=lt[++Ca];if(pe(Ya[gt],gt,Ya)===!1)break}return re}}function Vp(Q,re){var pe=Q.__data__;return h$(re)?pe[typeof re=="string"?"string":"hash"]:pe.map}function Q9(Q,re){var pe=Le(Q,re);return gn(pe)?pe:void 0}function c$(Q){var re=da.call(Q,vt),pe=Q[vt];try{Q[vt]=void 0;var Ge=!0}catch{}var Ca=ca.call(Q);return Ge&&(re?Q[vt]=pe:delete Q[vt]),Ca}function p$(Q){return typeof Q.constructor=="function"&&!Vx(Q)?Qa(un(Q)):{}}function qx(Q,re){var pe=typeof Q;return re=re??s,!!re&&(pe=="number"||pe!="symbol"&&I.test(Q))&&Q>-1&&Q%1==0&&Q<re}function f$(Q,re,pe){if(!yo(pe))return!1;var Ge=typeof re;return(Ge=="number"?a1(pe)&&qx(re,pe.length):Ge=="string"&&re in pe)?Gp(pe[re],Q):!1}function h$(Q){var re=typeof Q;return re=="string"||re=="number"||re=="symbol"||re=="boolean"?Q!=="__proto__":Q===null}function m$(Q){return!!Ma&&Ma in Q}function Vx(Q){var re=Q&&Q.constructor,pe=typeof re=="function"&&re.prototype||va;return Q===pe}function y$(Q){var re=[];if(Q!=null)for(var pe in Object(Q))re.push(pe);return re}function b$(Q){return ca.call(Q)}function T$(Q,re,pe){return re=Oi(re===void 0?Q.length-1:re,0),function(){for(var Ge=arguments,Ca=-1,Ya=Oi(Ge.length-re,0),lt=Array(Ya);++Ca<Ya;)lt[Ca]=Ge[re+Ca];Ca=-1;for(var Ba=Array(re+1);++Ca<re;)Ba[Ca]=Ge[Ca];return Ba[re]=pe(lt),de(Q,this,Ba)}}function Z9(Q,re){if(!(re==="constructor"&&typeof Q[re]=="function")&&re!="__proto__")return Q[re]}var S$=A$(i$);function A$(Q){var re=0,pe=0;return function(){var Ge=Ut(),Ca=r-(Ge-pe);if(pe=Ge,Ca>0){if(++re>=i)return arguments[0]}else re=0;return Q.apply(void 0,arguments)}}function v$(Q){if(Q!=null){try{return sa.call(Q)}catch{}try{return Q+""}catch{}}return""}function Gp(Q,re){return Q===re||Q!==Q&&re!==re}var J9=uu(function(){return arguments}())?uu:function(Q){return Rd(Q)&&da.call(Q,"callee")&&!Na.call(Q,"callee")},e1=Array.isArray;function a1(Q){return Q!=null&&Wx(Q.length)&&!t1(Q)}function D$(Q){return Rd(Q)&&a1(Q)}var Gx=Vn||w$;function t1(Q){if(!yo(Q))return!1;var re=Nn(Q);return re==p||re==f||re==l||re==T}function Wx(Q){return typeof Q=="number"&&Q>-1&&Q%1==0&&Q<=s}function yo(Q){var re=typeof Q;return Q!=null&&(re=="object"||re=="function")}function Rd(Q){return Q!=null&&typeof Q=="object"}function x$(Q){if(!Rd(Q)||Nn(Q)!=m)return!1;var re=un(Q);if(re===null)return!0;var pe=da.call(re,"constructor")&&re.constructor;return typeof pe=="function"&&pe instanceof pe&&sa.call(pe)==fa}var Yx=ye?Be(ye):Hp;function E$(Q){return l$(Q,Xx(Q))}function Xx(Q){return a1(Q)?we(Q):qp(Q)}var k$=g$(function(Q,re,pe){Hx(Q,re,pe)});function C$(Q){return function(){return Q}}function Qx(Q){return Q}function w$(){return!1}e.exports=k$})(Qh,Qh.exports);var Ohe=Qh.exports;const Uke=an(Ohe);var Bhe={},eO={},aO={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var a=function(){for(var i=arguments.length,r=new Array(i),s=0;s<i;s++)r[s]=arguments[s];if(typeof window<"u"){var u;typeof window.gtag>"u"&&(window.dataLayer=window.dataLayer||[],window.gtag=function(){window.dataLayer.push(arguments)}),(u=window).gtag.apply(u,r)}},t=a;e.default=t})(aO);var tO={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=s;var a=/^(a|an|and|as|at|but|by|en|for|if|in|nor|of|on|or|per|the|to|vs?\.?|via)$/i;function t(u){return u.toString().trim().replace(/[A-Za-z0-9\u00C0-\u00FF]+[^\s-]*/g,function(o,l,g){return l>0&&l+o.length!==g.length&&o.search(a)>-1&&g.charAt(l-2)!==":"&&(g.charAt(l+o.length)!=="-"||g.charAt(l-1)==="-")&&g.charAt(l-1).search(/[^\s-]/)<0?o.toLowerCase():o.substr(1).search(/[A-Z]|\../)>-1?o:o.charAt(0).toUpperCase()+o.substr(1)})}function n(u){return typeof u=="string"&&u.indexOf("@")!==-1}var i="REDACTED (Potential Email Address)";function r(u){return n(u)?(console.warn("This arg looks like an email address, redacting."),i):u}function s(){var u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,g=u||"";return o&&(g=t(u)),l&&(g=r(g)),g}})(tO);(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=e.GA4=void 0;var a=s(aO),t=s(tO),n=["eventCategory","eventAction","eventLabel","eventValue","hitType"],i=["title","location"],r=["page","hitType"];function s(P){return P&&P.__esModule?P:{default:P}}function u(P,L){if(P==null)return{};var H=o(P,L),U,G;if(Object.getOwnPropertySymbols){var E=Object.getOwnPropertySymbols(P);for(G=0;G<E.length;G++)U=E[G],!(L.indexOf(U)>=0)&&Object.prototype.propertyIsEnumerable.call(P,U)&&(H[U]=P[U])}return H}function o(P,L){if(P==null)return{};var H={},U=Object.keys(P),G,E;for(E=0;E<U.length;E++)G=U[E],!(L.indexOf(G)>=0)&&(H[G]=P[G]);return H}function l(P){"@babel/helpers - typeof";return l=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(L){return typeof L}:function(L){return L&&typeof Symbol=="function"&&L.constructor===Symbol&&L!==Symbol.prototype?"symbol":typeof L},l(P)}function g(P){return p(P)||c(P)||m(P)||d()}function d(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function c(P){if(typeof Symbol<"u"&&P[Symbol.iterator]!=null||P["@@iterator"]!=null)return Array.from(P)}function p(P){if(Array.isArray(P))return T(P)}function f(P,L){var H=Object.keys(P);if(Object.getOwnPropertySymbols){var U=Object.getOwnPropertySymbols(P);L&&(U=U.filter(function(G){return Object.getOwnPropertyDescriptor(P,G).enumerable})),H.push.apply(H,U)}return H}function h(P){for(var L=1;L<arguments.length;L++){var H=arguments[L]!=null?arguments[L]:{};L%2?f(Object(H),!0).forEach(function(U){q(P,U,H[U])}):Object.getOwnPropertyDescriptors?Object.defineProperties(P,Object.getOwnPropertyDescriptors(H)):f(Object(H)).forEach(function(U){Object.defineProperty(P,U,Object.getOwnPropertyDescriptor(H,U))})}return P}function y(P,L){return v(P)||A(P,L)||m(P,L)||b()}function b(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function m(P,L){if(P){if(typeof P=="string")return T(P,L);var H=Object.prototype.toString.call(P).slice(8,-1);if(H==="Object"&&P.constructor&&(H=P.constructor.name),H==="Map"||H==="Set")return Array.from(P);if(H==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(H))return T(P,L)}}function T(P,L){(L==null||L>P.length)&&(L=P.length);for(var H=0,U=new Array(L);H<L;H++)U[H]=P[H];return U}function A(P,L){var H=P==null?null:typeof Symbol<"u"&&P[Symbol.iterator]||P["@@iterator"];if(H!=null){var U,G,E,x,_=[],I=!0,w=!1;try{if(E=(H=H.call(P)).next,L!==0)for(;!(I=(U=E.call(H)).done)&&(_.push(U.value),_.length!==L);I=!0);}catch(C){w=!0,G=C}finally{try{if(!I&&H.return!=null&&(x=H.return(),Object(x)!==x))return}finally{if(w)throw G}}return _}}function v(P){if(Array.isArray(P))return P}function D(P,L){if(!(P instanceof L))throw new TypeError("Cannot call a class as a function")}function k(P,L){for(var H=0;H<L.length;H++){var U=L[H];U.enumerable=U.enumerable||!1,U.configurable=!0,"value"in U&&(U.writable=!0),Object.defineProperty(P,R(U.key),U)}}function N(P,L,H){return L&&k(P.prototype,L),Object.defineProperty(P,"prototype",{writable:!1}),P}function q(P,L,H){return L=R(L),L in P?Object.defineProperty(P,L,{value:H,enumerable:!0,configurable:!0,writable:!0}):P[L]=H,P}function R(P){var L=z(P,"string");return l(L)==="symbol"?L:String(L)}function z(P,L){if(l(P)!=="object"||P===null)return P;var H=P[Symbol.toPrimitive];if(H!==void 0){var U=H.call(P,L||"default");if(l(U)!=="object")return U;throw new TypeError("@@toPrimitive must return a primitive value.")}return(L==="string"?String:Number)(P)}var W=function(){function P(){var L=this;D(this,P),q(this,"reset",function(){L.isInitialized=!1,L._testMode=!1,L._currentMeasurementId,L._hasLoadedGA=!1,L._isQueuing=!1,L._queueGtag=[]}),q(this,"_gtag",function(){for(var H=arguments.length,U=new Array(H),G=0;G<H;G++)U[G]=arguments[G];L._testMode||L._isQueuing?L._queueGtag.push(U):a.default.apply(void 0,U)}),q(this,"_loadGA",function(H,U){var G=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"https://www.googletagmanager.com/gtag/js";if(!(typeof window>"u"||typeof document>"u")&&!L._hasLoadedGA){var E=document.createElement("script");E.async=!0,E.src="".concat(G,"?id=").concat(H),U&&E.setAttribute("nonce",U),document.body.appendChild(E),window.dataLayer=window.dataLayer||[],window.gtag=function(){window.dataLayer.push(arguments)},L._hasLoadedGA=!0}}),q(this,"_toGtagOptions",function(H){if(H){var U={cookieUpdate:"cookie_update",cookieExpires:"cookie_expires",cookieDomain:"cookie_domain",cookieFlags:"cookie_flags",userId:"user_id",clientId:"client_id",anonymizeIp:"anonymize_ip",contentGroup1:"content_group1",contentGroup2:"content_group2",contentGroup3:"content_group3",contentGroup4:"content_group4",contentGroup5:"content_group5",allowAdFeatures:"allow_google_signals",allowAdPersonalizationSignals:"allow_ad_personalization_signals",nonInteraction:"non_interaction",page:"page_path",hitCallback:"event_callback"},G=Object.entries(H).reduce(function(E,x){var _=y(x,2),I=_[0],w=_[1];return U[I]?E[U[I]]=w:E[I]=w,E},{});return G}}),q(this,"initialize",function(H){var U=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!H)throw new Error("Require GA_MEASUREMENT_ID");var G=typeof H=="string"?[{trackingId:H}]:H;L._currentMeasurementId=G[0].trackingId;var E=U.gaOptions,x=U.gtagOptions,_=U.nonce,I=U.testMode,w=I===void 0?!1:I,C=U.gtagUrl;if(L._testMode=w,w||L._loadGA(L._currentMeasurementId,_,C),L.isInitialized||(L._gtag("js",new Date),G.forEach(function(Z){var ne=h(h(h({},L._toGtagOptions(h(h({},E),Z.gaOptions))),x),Z.gtagOptions);Object.keys(ne).length?L._gtag("config",Z.trackingId,ne):L._gtag("config",Z.trackingId)})),L.isInitialized=!0,!w){var M=g(L._queueGtag);for(L._queueGtag=[],L._isQueuing=!1;M.length;){var $=M.shift();L._gtag.apply(L,g($)),$[0]==="get"&&(L._isQueuing=!0)}}}),q(this,"set",function(H){if(!H){console.warn("`fieldsObject` is required in .set()");return}if(l(H)!=="object"){console.warn("Expected `fieldsObject` arg to be an Object");return}Object.keys(H).length===0&&console.warn("empty `fieldsObject` given to .set()"),L._gaCommand("set",H)}),q(this,"_gaCommandSendEvent",function(H,U,G,E,x){L._gtag("event",U,h(h({event_category:H,event_label:G,value:E},x&&{non_interaction:x.nonInteraction}),L._toGtagOptions(x)))}),q(this,"_gaCommandSendEventParameters",function(){for(var H=arguments.length,U=new Array(H),G=0;G<H;G++)U[G]=arguments[G];if(typeof U[0]=="string")L._gaCommandSendEvent.apply(L,g(U.slice(1)));else{var E=U[0],x=E.eventCategory,_=E.eventAction,I=E.eventLabel,w=E.eventValue;E.hitType;var C=u(E,n);L._gaCommandSendEvent(x,_,I,w,C)}}),q(this,"_gaCommandSendTiming",function(H,U,G,E){L._gtag("event","timing_complete",{name:U,value:G,event_category:H,event_label:E})}),q(this,"_gaCommandSendPageview",function(H,U){if(U&&Object.keys(U).length){var G=L._toGtagOptions(U),E=G.title,x=G.location,_=u(G,i);L._gtag("event","page_view",h(h(h(h({},H&&{page_path:H}),E&&{page_title:E}),x&&{page_location:x}),_))}else H?L._gtag("event","page_view",{page_path:H}):L._gtag("event","page_view")}),q(this,"_gaCommandSendPageviewParameters",function(){for(var H=arguments.length,U=new Array(H),G=0;G<H;G++)U[G]=arguments[G];if(typeof U[0]=="string")L._gaCommandSendPageview.apply(L,g(U.slice(1)));else{var E=U[0],x=E.page;E.hitType;var _=u(E,r);L._gaCommandSendPageview(x,_)}}),q(this,"_gaCommandSend",function(){for(var H=arguments.length,U=new Array(H),G=0;G<H;G++)U[G]=arguments[G];var E=typeof U[0]=="string"?U[0]:U[0].hitType;switch(E){case"event":L._gaCommandSendEventParameters.apply(L,U);break;case"pageview":L._gaCommandSendPageviewParameters.apply(L,U);break;case"timing":L._gaCommandSendTiming.apply(L,g(U.slice(1)));break;case"screenview":case"transaction":case"item":case"social":case"exception":console.warn("Unsupported send command: ".concat(E));break;default:console.warn("Send command doesn't exist: ".concat(E))}}),q(this,"_gaCommandSet",function(){for(var H=arguments.length,U=new Array(H),G=0;G<H;G++)U[G]=arguments[G];typeof U[0]=="string"&&(U[0]=q({},U[0],U[1])),L._gtag("set",L._toGtagOptions(U[0]))}),q(this,"_gaCommand",function(H){for(var U=arguments.length,G=new Array(U>1?U-1:0),E=1;E<U;E++)G[E-1]=arguments[E];switch(H){case"send":L._gaCommandSend.apply(L,G);break;case"set":L._gaCommandSet.apply(L,G);break;default:console.warn("Command doesn't exist: ".concat(H))}}),q(this,"ga",function(){for(var H=arguments.length,U=new Array(H),G=0;G<H;G++)U[G]=arguments[G];if(typeof U[0]=="string")L._gaCommand.apply(L,U);else{var E=U[0];L._gtag("get",L._currentMeasurementId,"client_id",function(x){L._isQueuing=!1;var _=L._queueGtag;for(E({get:function(C){return C==="clientId"?x:C==="trackingId"?L._currentMeasurementId:C==="apiVersion"?"1":void 0}});_.length;){var I=_.shift();L._gtag.apply(L,g(I))}}),L._isQueuing=!0}return L.ga}),q(this,"event",function(H,U){if(typeof H=="string")L._gtag("event",H,L._toGtagOptions(U));else{var G=H.action,E=H.category,x=H.label,_=H.value,I=H.nonInteraction,w=H.transport;if(!E||!G){console.warn("args.category AND args.action are required in event()");return}var C={hitType:"event",eventCategory:(0,t.default)(E),eventAction:(0,t.default)(G)};x&&(C.eventLabel=(0,t.default)(x)),typeof _<"u"&&(typeof _!="number"?console.warn("Expected `args.value` arg to be a Number."):C.eventValue=_),typeof I<"u"&&(typeof I!="boolean"?console.warn("`args.nonInteraction` must be a boolean."):C.nonInteraction=I),typeof w<"u"&&(typeof w!="string"?console.warn("`args.transport` must be a string."):(["beacon","xhr","image"].indexOf(w)===-1&&console.warn("`args.transport` must be either one of these values: `beacon`, `xhr` or `image`"),C.transport=w)),L._gaCommand("send",C)}}),q(this,"send",function(H){L._gaCommand("send",H)}),this.reset()}return N(P,[{key:"gtag",value:function(){this._gtag.apply(this,arguments)}}]),P}();e.GA4=W;var K=new W;e.default=K})(eO);(function(e){function a(u){"@babel/helpers - typeof";return a=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(o){return typeof o}:function(o){return o&&typeof Symbol=="function"&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},a(u)}Object.defineProperty(e,"__esModule",{value:!0}),e.default=e.ReactGAImplementation=void 0;var t=i(eO);function n(u){if(typeof WeakMap!="function")return null;var o=new WeakMap,l=new WeakMap;return(n=function(d){return d?l:o})(u)}function i(u,o){if(u&&u.__esModule)return u;if(u===null||a(u)!=="object"&&typeof u!="function")return{default:u};var l=n(o);if(l&&l.has(u))return l.get(u);var g={},d=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var c in u)if(c!=="default"&&Object.prototype.hasOwnProperty.call(u,c)){var p=d?Object.getOwnPropertyDescriptor(u,c):null;p&&(p.get||p.set)?Object.defineProperty(g,c,p):g[c]=u[c]}return g.default=u,l&&l.set(u,g),g}var r=t.GA4;e.ReactGAImplementation=r;var s=t.default;e.default=s})(Bhe);var nO={exports:{}},Pi={},iO={exports:{}},rO={};/**
 * @license React
 * scheduler.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */(function(e){function a(G,E){var x=G.length;G.push(E);e:for(;0<x;){var _=x-1>>>1,I=G[_];if(0<i(I,E))G[_]=E,G[x]=I,x=_;else break e}}function t(G){return G.length===0?null:G[0]}function n(G){if(G.length===0)return null;var E=G[0],x=G.pop();if(x!==E){G[0]=x;e:for(var _=0,I=G.length,w=I>>>1;_<w;){var C=2*(_+1)-1,M=G[C],$=C+1,Z=G[$];if(0>i(M,x))$<I&&0>i(Z,M)?(G[_]=Z,G[$]=x,_=$):(G[_]=M,G[C]=x,_=C);else if($<I&&0>i(Z,x))G[_]=Z,G[$]=x,_=$;else break e}}return E}function i(G,E){var x=G.sortIndex-E.sortIndex;return x!==0?x:G.id-E.id}if(typeof performance=="object"&&typeof performance.now=="function"){var r=performance;e.unstable_now=function(){return r.now()}}else{var s=Date,u=s.now();e.unstable_now=function(){return s.now()-u}}var o=[],l=[],g=1,d=null,c=3,p=!1,f=!1,h=!1,y=typeof setTimeout=="function"?setTimeout:null,b=typeof clearTimeout=="function"?clearTimeout:null,m=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function T(G){for(var E=t(l);E!==null;){if(E.callback===null)n(l);else if(E.startTime<=G)n(l),E.sortIndex=E.expirationTime,a(o,E);else break;E=t(l)}}function A(G){if(h=!1,T(G),!f)if(t(o)!==null)f=!0,H(v);else{var E=t(l);E!==null&&U(A,E.startTime-G)}}function v(G,E){f=!1,h&&(h=!1,b(N),N=-1),p=!0;var x=c;try{for(T(E),d=t(o);d!==null&&(!(d.expirationTime>E)||G&&!z());){var _=d.callback;if(typeof _=="function"){d.callback=null,c=d.priorityLevel;var I=_(d.expirationTime<=E);E=e.unstable_now(),typeof I=="function"?d.callback=I:d===t(o)&&n(o),T(E)}else n(o);d=t(o)}if(d!==null)var w=!0;else{var C=t(l);C!==null&&U(A,C.startTime-E),w=!1}return w}finally{d=null,c=x,p=!1}}var D=!1,k=null,N=-1,q=5,R=-1;function z(){return!(e.unstable_now()-R<q)}function W(){if(k!==null){var G=e.unstable_now();R=G;var E=!0;try{E=k(!0,G)}finally{E?K():(D=!1,k=null)}}else D=!1}var K;if(typeof m=="function")K=function(){m(W)};else if(typeof MessageChannel<"u"){var P=new MessageChannel,L=P.port2;P.port1.onmessage=W,K=function(){L.postMessage(null)}}else K=function(){y(W,0)};function H(G){k=G,D||(D=!0,K())}function U(G,E){N=y(function(){G(e.unstable_now())},E)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(G){G.callback=null},e.unstable_continueExecution=function(){f||p||(f=!0,H(v))},e.unstable_forceFrameRate=function(G){0>G||125<G?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):q=0<G?Math.floor(1e3/G):5},e.unstable_getCurrentPriorityLevel=function(){return c},e.unstable_getFirstCallbackNode=function(){return t(o)},e.unstable_next=function(G){switch(c){case 1:case 2:case 3:var E=3;break;default:E=c}var x=c;c=E;try{return G()}finally{c=x}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(G,E){switch(G){case 1:case 2:case 3:case 4:case 5:break;default:G=3}var x=c;c=G;try{return E()}finally{c=x}},e.unstable_scheduleCallback=function(G,E,x){var _=e.unstable_now();switch(typeof x=="object"&&x!==null?(x=x.delay,x=typeof x=="number"&&0<x?_+x:_):x=_,G){case 1:var I=-1;break;case 2:I=250;break;case 5:I=1073741823;break;case 4:I=1e4;break;default:I=5e3}return I=x+I,G={id:g++,callback:E,priorityLevel:G,startTime:x,expirationTime:I,sortIndex:-1},x>_?(G.sortIndex=x,a(l,G),t(o)===null&&G===t(l)&&(h?(b(N),N=-1):h=!0,U(A,x-_))):(G.sortIndex=I,a(o,G),f||p||(f=!0,H(v))),G},e.unstable_shouldYield=z,e.unstable_wrapCallback=function(G){var E=c;return function(){var x=c;c=E;try{return G.apply(this,arguments)}finally{c=x}}}})(rO);iO.exports=rO;var Fhe=iO.exports;/**
 * @license React
 * react-dom.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */var Uhe=X,Ii=Fhe;function ke(e){for(var a="https://reactjs.org/docs/error-decoder.html?invariant="+e,t=1;t<arguments.length;t++)a+="&args[]="+encodeURIComponent(arguments[t]);return"Minified React error #"+e+"; visit "+a+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var sO=new Set,Dc={};function Sl(e,a){$g(e,a),$g(e+"Capture",a)}function $g(e,a){for(Dc[e]=a,e=0;e<a.length;e++)sO.add(a[e])}var Gs=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),_A=Object.prototype.hasOwnProperty,jhe=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,Hk={},qk={};function zhe(e){return _A.call(qk,e)?!0:_A.call(Hk,e)?!1:jhe.test(e)?qk[e]=!0:(Hk[e]=!0,!1)}function $he(e,a,t,n){if(t!==null&&t.type===0)return!1;switch(typeof a){case"function":case"symbol":return!0;case"boolean":return n?!1:t!==null?!t.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function Khe(e,a,t,n){if(a===null||typeof a>"u"||$he(e,a,t,n))return!0;if(n)return!1;if(t!==null)switch(t.type){case 3:return!a;case 4:return a===!1;case 5:return isNaN(a);case 6:return isNaN(a)||1>a}return!1}function qn(e,a,t,n,i,r,s){this.acceptsBooleans=a===2||a===3||a===4,this.attributeName=n,this.attributeNamespace=i,this.mustUseProperty=t,this.propertyName=e,this.type=a,this.sanitizeURL=r,this.removeEmptyString=s}var Sn={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){Sn[e]=new qn(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var a=e[0];Sn[a]=new qn(a,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){Sn[e]=new qn(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){Sn[e]=new qn(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){Sn[e]=new qn(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){Sn[e]=new qn(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){Sn[e]=new qn(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){Sn[e]=new qn(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){Sn[e]=new qn(e,5,!1,e.toLowerCase(),null,!1,!1)});var O6=/[\-:]([a-z])/g;function B6(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var a=e.replace(O6,B6);Sn[a]=new qn(a,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var a=e.replace(O6,B6);Sn[a]=new qn(a,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var a=e.replace(O6,B6);Sn[a]=new qn(a,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){Sn[e]=new qn(e,1,!1,e.toLowerCase(),null,!1,!1)});Sn.xlinkHref=new qn("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){Sn[e]=new qn(e,1,!1,e.toLowerCase(),null,!0,!0)});function F6(e,a,t,n){var i=Sn.hasOwnProperty(a)?Sn[a]:null;(i!==null?i.type!==0:n||!(2<a.length)||a[0]!=="o"&&a[0]!=="O"||a[1]!=="n"&&a[1]!=="N")&&(Khe(a,t,i,n)&&(t=null),n||i===null?zhe(a)&&(t===null?e.removeAttribute(a):e.setAttribute(a,""+t)):i.mustUseProperty?e[i.propertyName]=t===null?i.type===3?!1:"":t:(a=i.attributeName,n=i.attributeNamespace,t===null?e.removeAttribute(a):(i=i.type,t=i===3||i===4&&t===!0?"":""+t,n?e.setAttributeNS(n,a,t):e.setAttribute(a,t))))}var nu=Uhe.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,kf=Symbol.for("react.element"),Zl=Symbol.for("react.portal"),Jl=Symbol.for("react.fragment"),U6=Symbol.for("react.strict_mode"),IA=Symbol.for("react.profiler"),uO=Symbol.for("react.provider"),oO=Symbol.for("react.context"),j6=Symbol.for("react.forward_ref"),NA=Symbol.for("react.suspense"),LA=Symbol.for("react.suspense_list"),z6=Symbol.for("react.memo"),yu=Symbol.for("react.lazy"),lO=Symbol.for("react.offscreen"),Vk=Symbol.iterator;function Vd(e){return e===null||typeof e!="object"?null:(e=Vk&&e[Vk]||e["@@iterator"],typeof e=="function"?e:null)}var Tt=Object.assign,eT;function T0(e){if(eT===void 0)try{throw Error()}catch(t){var a=t.stack.trim().match(/\n( *(at )?)/);eT=a&&a[1]||""}return`
`+eT+e}var aT=!1;function tT(e,a){if(!e||aT)return"";aT=!0;var t=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(a)if(a=function(){throw Error()},Object.defineProperty(a.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(a,[])}catch(l){var n=l}Reflect.construct(e,[],a)}else{try{a.call()}catch(l){n=l}e.call(a.prototype)}else{try{throw Error()}catch(l){n=l}e()}}catch(l){if(l&&n&&typeof l.stack=="string"){for(var i=l.stack.split(`
`),r=n.stack.split(`
`),s=i.length-1,u=r.length-1;1<=s&&0<=u&&i[s]!==r[u];)u--;for(;1<=s&&0<=u;s--,u--)if(i[s]!==r[u]){if(s!==1||u!==1)do if(s--,u--,0>u||i[s]!==r[u]){var o=`
`+i[s].replace(" at new "," at ");return e.displayName&&o.includes("<anonymous>")&&(o=o.replace("<anonymous>",e.displayName)),o}while(1<=s&&0<=u);break}}}finally{aT=!1,Error.prepareStackTrace=t}return(e=e?e.displayName||e.name:"")?T0(e):""}function Hhe(e){switch(e.tag){case 5:return T0(e.type);case 16:return T0("Lazy");case 13:return T0("Suspense");case 19:return T0("SuspenseList");case 0:case 2:case 15:return e=tT(e.type,!1),e;case 11:return e=tT(e.type.render,!1),e;case 1:return e=tT(e.type,!0),e;default:return""}}function RA(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Jl:return"Fragment";case Zl:return"Portal";case IA:return"Profiler";case U6:return"StrictMode";case NA:return"Suspense";case LA:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case oO:return(e.displayName||"Context")+".Consumer";case uO:return(e._context.displayName||"Context")+".Provider";case j6:var a=e.render;return e=e.displayName,e||(e=a.displayName||a.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case z6:return a=e.displayName||null,a!==null?a:RA(e.type)||"Memo";case yu:a=e._payload,e=e._init;try{return RA(e(a))}catch{}}return null}function qhe(e){var a=e.type;switch(e.tag){case 24:return"Cache";case 9:return(a.displayName||"Context")+".Consumer";case 10:return(a._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=a.render,e=e.displayName||e.name||"",a.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return a;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return RA(a);case 8:return a===U6?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof a=="function")return a.displayName||a.name||null;if(typeof a=="string")return a}return null}function Zu(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function gO(e){var a=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(a==="checkbox"||a==="radio")}function Vhe(e){var a=gO(e)?"checked":"value",t=Object.getOwnPropertyDescriptor(e.constructor.prototype,a),n=""+e[a];if(!e.hasOwnProperty(a)&&typeof t<"u"&&typeof t.get=="function"&&typeof t.set=="function"){var i=t.get,r=t.set;return Object.defineProperty(e,a,{configurable:!0,get:function(){return i.call(this)},set:function(s){n=""+s,r.call(this,s)}}),Object.defineProperty(e,a,{enumerable:t.enumerable}),{getValue:function(){return n},setValue:function(s){n=""+s},stopTracking:function(){e._valueTracker=null,delete e[a]}}}}function Cf(e){e._valueTracker||(e._valueTracker=Vhe(e))}function dO(e){if(!e)return!1;var a=e._valueTracker;if(!a)return!0;var t=a.getValue(),n="";return e&&(n=gO(e)?e.checked?"true":"false":e.value),e=n,e!==t?(a.setValue(e),!0):!1}function Zh(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function PA(e,a){var t=a.checked;return Tt({},a,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:t??e._wrapperState.initialChecked})}function Gk(e,a){var t=a.defaultValue==null?"":a.defaultValue,n=a.checked!=null?a.checked:a.defaultChecked;t=Zu(a.value!=null?a.value:t),e._wrapperState={initialChecked:n,initialValue:t,controlled:a.type==="checkbox"||a.type==="radio"?a.checked!=null:a.value!=null}}function cO(e,a){a=a.checked,a!=null&&F6(e,"checked",a,!1)}function MA(e,a){cO(e,a);var t=Zu(a.value),n=a.type;if(t!=null)n==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+t):e.value!==""+t&&(e.value=""+t);else if(n==="submit"||n==="reset"){e.removeAttribute("value");return}a.hasOwnProperty("value")?OA(e,a.type,t):a.hasOwnProperty("defaultValue")&&OA(e,a.type,Zu(a.defaultValue)),a.checked==null&&a.defaultChecked!=null&&(e.defaultChecked=!!a.defaultChecked)}function Wk(e,a,t){if(a.hasOwnProperty("value")||a.hasOwnProperty("defaultValue")){var n=a.type;if(!(n!=="submit"&&n!=="reset"||a.value!==void 0&&a.value!==null))return;a=""+e._wrapperState.initialValue,t||a===e.value||(e.value=a),e.defaultValue=a}t=e.name,t!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,t!==""&&(e.name=t)}function OA(e,a,t){(a!=="number"||Zh(e.ownerDocument)!==e)&&(t==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+t&&(e.defaultValue=""+t))}var S0=Array.isArray;function Dg(e,a,t,n){if(e=e.options,a){a={};for(var i=0;i<t.length;i++)a["$"+t[i]]=!0;for(t=0;t<e.length;t++)i=a.hasOwnProperty("$"+e[t].value),e[t].selected!==i&&(e[t].selected=i),i&&n&&(e[t].defaultSelected=!0)}else{for(t=""+Zu(t),a=null,i=0;i<e.length;i++){if(e[i].value===t){e[i].selected=!0,n&&(e[i].defaultSelected=!0);return}a!==null||e[i].disabled||(a=e[i])}a!==null&&(a.selected=!0)}}function BA(e,a){if(a.dangerouslySetInnerHTML!=null)throw Error(ke(91));return Tt({},a,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function Yk(e,a){var t=a.value;if(t==null){if(t=a.children,a=a.defaultValue,t!=null){if(a!=null)throw Error(ke(92));if(S0(t)){if(1<t.length)throw Error(ke(93));t=t[0]}a=t}a==null&&(a=""),t=a}e._wrapperState={initialValue:Zu(t)}}function pO(e,a){var t=Zu(a.value),n=Zu(a.defaultValue);t!=null&&(t=""+t,t!==e.value&&(e.value=t),a.defaultValue==null&&e.defaultValue!==t&&(e.defaultValue=t)),n!=null&&(e.defaultValue=""+n)}function Xk(e){var a=e.textContent;a===e._wrapperState.initialValue&&a!==""&&a!==null&&(e.value=a)}function fO(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function FA(e,a){return e==null||e==="http://www.w3.org/1999/xhtml"?fO(a):e==="http://www.w3.org/2000/svg"&&a==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var wf,hO=function(e){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(a,t,n,i){MSApp.execUnsafeLocalFunction(function(){return e(a,t,n,i)})}:e}(function(e,a){if(e.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in e)e.innerHTML=a;else{for(wf=wf||document.createElement("div"),wf.innerHTML="<svg>"+a.valueOf().toString()+"</svg>",a=wf.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;a.firstChild;)e.appendChild(a.firstChild)}});function xc(e,a){if(a){var t=e.firstChild;if(t&&t===e.lastChild&&t.nodeType===3){t.nodeValue=a;return}}e.textContent=a}var z0={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Ghe=["Webkit","ms","Moz","O"];Object.keys(z0).forEach(function(e){Ghe.forEach(function(a){a=a+e.charAt(0).toUpperCase()+e.substring(1),z0[a]=z0[e]})});function mO(e,a,t){return a==null||typeof a=="boolean"||a===""?"":t||typeof a!="number"||a===0||z0.hasOwnProperty(e)&&z0[e]?(""+a).trim():a+"px"}function yO(e,a){e=e.style;for(var t in a)if(a.hasOwnProperty(t)){var n=t.indexOf("--")===0,i=mO(t,a[t],n);t==="float"&&(t="cssFloat"),n?e.setProperty(t,i):e[t]=i}}var Whe=Tt({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function UA(e,a){if(a){if(Whe[e]&&(a.children!=null||a.dangerouslySetInnerHTML!=null))throw Error(ke(137,e));if(a.dangerouslySetInnerHTML!=null){if(a.children!=null)throw Error(ke(60));if(typeof a.dangerouslySetInnerHTML!="object"||!("__html"in a.dangerouslySetInnerHTML))throw Error(ke(61))}if(a.style!=null&&typeof a.style!="object")throw Error(ke(62))}}function jA(e,a){if(e.indexOf("-")===-1)return typeof a.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var zA=null;function $6(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var $A=null,xg=null,Eg=null;function Qk(e){if(e=kp(e)){if(typeof $A!="function")throw Error(ke(280));var a=e.stateNode;a&&(a=o9(a),$A(e.stateNode,e.type,a))}}function bO(e){xg?Eg?Eg.push(e):Eg=[e]:xg=e}function TO(){if(xg){var e=xg,a=Eg;if(Eg=xg=null,Qk(e),a)for(e=0;e<a.length;e++)Qk(a[e])}}function SO(e,a){return e(a)}function AO(){}var nT=!1;function vO(e,a,t){if(nT)return e(a,t);nT=!0;try{return SO(e,a,t)}finally{nT=!1,(xg!==null||Eg!==null)&&(AO(),TO())}}function Ec(e,a){var t=e.stateNode;if(t===null)return null;var n=o9(t);if(n===null)return null;t=n[a];e:switch(a){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(n=!n.disabled)||(e=e.type,n=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!n;break e;default:e=!1}if(e)return null;if(t&&typeof t!="function")throw Error(ke(231,a,typeof t));return t}var KA=!1;if(Gs)try{var Gd={};Object.defineProperty(Gd,"passive",{get:function(){KA=!0}}),window.addEventListener("test",Gd,Gd),window.removeEventListener("test",Gd,Gd)}catch{KA=!1}function Yhe(e,a,t,n,i,r,s,u,o){var l=Array.prototype.slice.call(arguments,3);try{a.apply(t,l)}catch(g){this.onError(g)}}var $0=!1,Jh=null,em=!1,HA=null,Xhe={onError:function(e){$0=!0,Jh=e}};function Qhe(e,a,t,n,i,r,s,u,o){$0=!1,Jh=null,Yhe.apply(Xhe,arguments)}function Zhe(e,a,t,n,i,r,s,u,o){if(Qhe.apply(this,arguments),$0){if($0){var l=Jh;$0=!1,Jh=null}else throw Error(ke(198));em||(em=!0,HA=l)}}function Al(e){var a=e,t=e;if(e.alternate)for(;a.return;)a=a.return;else{e=a;do a=e,a.flags&4098&&(t=a.return),e=a.return;while(e)}return a.tag===3?t:null}function DO(e){if(e.tag===13){var a=e.memoizedState;if(a===null&&(e=e.alternate,e!==null&&(a=e.memoizedState)),a!==null)return a.dehydrated}return null}function Zk(e){if(Al(e)!==e)throw Error(ke(188))}function Jhe(e){var a=e.alternate;if(!a){if(a=Al(e),a===null)throw Error(ke(188));return a!==e?null:e}for(var t=e,n=a;;){var i=t.return;if(i===null)break;var r=i.alternate;if(r===null){if(n=i.return,n!==null){t=n;continue}break}if(i.child===r.child){for(r=i.child;r;){if(r===t)return Zk(i),e;if(r===n)return Zk(i),a;r=r.sibling}throw Error(ke(188))}if(t.return!==n.return)t=i,n=r;else{for(var s=!1,u=i.child;u;){if(u===t){s=!0,t=i,n=r;break}if(u===n){s=!0,n=i,t=r;break}u=u.sibling}if(!s){for(u=r.child;u;){if(u===t){s=!0,t=r,n=i;break}if(u===n){s=!0,n=r,t=i;break}u=u.sibling}if(!s)throw Error(ke(189))}}if(t.alternate!==n)throw Error(ke(190))}if(t.tag!==3)throw Error(ke(188));return t.stateNode.current===t?e:a}function xO(e){return e=Jhe(e),e!==null?EO(e):null}function EO(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var a=EO(e);if(a!==null)return a;e=e.sibling}return null}var kO=Ii.unstable_scheduleCallback,Jk=Ii.unstable_cancelCallback,eme=Ii.unstable_shouldYield,ame=Ii.unstable_requestPaint,It=Ii.unstable_now,tme=Ii.unstable_getCurrentPriorityLevel,K6=Ii.unstable_ImmediatePriority,CO=Ii.unstable_UserBlockingPriority,am=Ii.unstable_NormalPriority,nme=Ii.unstable_LowPriority,wO=Ii.unstable_IdlePriority,i9=null,gs=null;function ime(e){if(gs&&typeof gs.onCommitFiberRoot=="function")try{gs.onCommitFiberRoot(i9,e,void 0,(e.current.flags&128)===128)}catch{}}var Cr=Math.clz32?Math.clz32:ume,rme=Math.log,sme=Math.LN2;function ume(e){return e>>>=0,e===0?32:31-(rme(e)/sme|0)|0}var _f=64,If=4194304;function A0(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function tm(e,a){var t=e.pendingLanes;if(t===0)return 0;var n=0,i=e.suspendedLanes,r=e.pingedLanes,s=t&268435455;if(s!==0){var u=s&~i;u!==0?n=A0(u):(r&=s,r!==0&&(n=A0(r)))}else s=t&~i,s!==0?n=A0(s):r!==0&&(n=A0(r));if(n===0)return 0;if(a!==0&&a!==n&&!(a&i)&&(i=n&-n,r=a&-a,i>=r||i===16&&(r&4194240)!==0))return a;if(n&4&&(n|=t&16),a=e.entangledLanes,a!==0)for(e=e.entanglements,a&=n;0<a;)t=31-Cr(a),i=1<<t,n|=e[t],a&=~i;return n}function ome(e,a){switch(e){case 1:case 2:case 4:return a+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function lme(e,a){for(var t=e.suspendedLanes,n=e.pingedLanes,i=e.expirationTimes,r=e.pendingLanes;0<r;){var s=31-Cr(r),u=1<<s,o=i[s];o===-1?(!(u&t)||u&n)&&(i[s]=ome(u,a)):o<=a&&(e.expiredLanes|=u),r&=~u}}function qA(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function _O(){var e=_f;return _f<<=1,!(_f&4194240)&&(_f=64),e}function iT(e){for(var a=[],t=0;31>t;t++)a.push(e);return a}function xp(e,a,t){e.pendingLanes|=a,a!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,a=31-Cr(a),e[a]=t}function gme(e,a){var t=e.pendingLanes&~a;e.pendingLanes=a,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=a,e.mutableReadLanes&=a,e.entangledLanes&=a,a=e.entanglements;var n=e.eventTimes;for(e=e.expirationTimes;0<t;){var i=31-Cr(t),r=1<<i;a[i]=0,n[i]=-1,e[i]=-1,t&=~r}}function H6(e,a){var t=e.entangledLanes|=a;for(e=e.entanglements;t;){var n=31-Cr(t),i=1<<n;i&a|e[n]&a&&(e[n]|=a),t&=~i}}var $a=0;function IO(e){return e&=-e,1<e?4<e?e&268435455?16:536870912:4:1}var NO,q6,LO,RO,PO,VA=!1,Nf=[],Uu=null,ju=null,zu=null,kc=new Map,Cc=new Map,Su=[],dme="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function eC(e,a){switch(e){case"focusin":case"focusout":Uu=null;break;case"dragenter":case"dragleave":ju=null;break;case"mouseover":case"mouseout":zu=null;break;case"pointerover":case"pointerout":kc.delete(a.pointerId);break;case"gotpointercapture":case"lostpointercapture":Cc.delete(a.pointerId)}}function Wd(e,a,t,n,i,r){return e===null||e.nativeEvent!==r?(e={blockedOn:a,domEventName:t,eventSystemFlags:n,nativeEvent:r,targetContainers:[i]},a!==null&&(a=kp(a),a!==null&&q6(a)),e):(e.eventSystemFlags|=n,a=e.targetContainers,i!==null&&a.indexOf(i)===-1&&a.push(i),e)}function cme(e,a,t,n,i){switch(a){case"focusin":return Uu=Wd(Uu,e,a,t,n,i),!0;case"dragenter":return ju=Wd(ju,e,a,t,n,i),!0;case"mouseover":return zu=Wd(zu,e,a,t,n,i),!0;case"pointerover":var r=i.pointerId;return kc.set(r,Wd(kc.get(r)||null,e,a,t,n,i)),!0;case"gotpointercapture":return r=i.pointerId,Cc.set(r,Wd(Cc.get(r)||null,e,a,t,n,i)),!0}return!1}function MO(e){var a=Fo(e.target);if(a!==null){var t=Al(a);if(t!==null){if(a=t.tag,a===13){if(a=DO(t),a!==null){e.blockedOn=a,PO(e.priority,function(){LO(t)});return}}else if(a===3&&t.stateNode.current.memoizedState.isDehydrated){e.blockedOn=t.tag===3?t.stateNode.containerInfo:null;return}}}e.blockedOn=null}function R2(e){if(e.blockedOn!==null)return!1;for(var a=e.targetContainers;0<a.length;){var t=GA(e.domEventName,e.eventSystemFlags,a[0],e.nativeEvent);if(t===null){t=e.nativeEvent;var n=new t.constructor(t.type,t);zA=n,t.target.dispatchEvent(n),zA=null}else return a=kp(t),a!==null&&q6(a),e.blockedOn=t,!1;a.shift()}return!0}function aC(e,a,t){R2(e)&&t.delete(a)}function pme(){VA=!1,Uu!==null&&R2(Uu)&&(Uu=null),ju!==null&&R2(ju)&&(ju=null),zu!==null&&R2(zu)&&(zu=null),kc.forEach(aC),Cc.forEach(aC)}function Yd(e,a){e.blockedOn===a&&(e.blockedOn=null,VA||(VA=!0,Ii.unstable_scheduleCallback(Ii.unstable_NormalPriority,pme)))}function wc(e){function a(i){return Yd(i,e)}if(0<Nf.length){Yd(Nf[0],e);for(var t=1;t<Nf.length;t++){var n=Nf[t];n.blockedOn===e&&(n.blockedOn=null)}}for(Uu!==null&&Yd(Uu,e),ju!==null&&Yd(ju,e),zu!==null&&Yd(zu,e),kc.forEach(a),Cc.forEach(a),t=0;t<Su.length;t++)n=Su[t],n.blockedOn===e&&(n.blockedOn=null);for(;0<Su.length&&(t=Su[0],t.blockedOn===null);)MO(t),t.blockedOn===null&&Su.shift()}var kg=nu.ReactCurrentBatchConfig,nm=!0;function fme(e,a,t,n){var i=$a,r=kg.transition;kg.transition=null;try{$a=1,V6(e,a,t,n)}finally{$a=i,kg.transition=r}}function hme(e,a,t,n){var i=$a,r=kg.transition;kg.transition=null;try{$a=4,V6(e,a,t,n)}finally{$a=i,kg.transition=r}}function V6(e,a,t,n){if(nm){var i=GA(e,a,t,n);if(i===null)fT(e,a,n,im,t),eC(e,n);else if(cme(i,e,a,t,n))n.stopPropagation();else if(eC(e,n),a&4&&-1<dme.indexOf(e)){for(;i!==null;){var r=kp(i);if(r!==null&&NO(r),r=GA(e,a,t,n),r===null&&fT(e,a,n,im,t),r===i)break;i=r}i!==null&&n.stopPropagation()}else fT(e,a,n,null,t)}}var im=null;function GA(e,a,t,n){if(im=null,e=$6(n),e=Fo(e),e!==null)if(a=Al(e),a===null)e=null;else if(t=a.tag,t===13){if(e=DO(a),e!==null)return e;e=null}else if(t===3){if(a.stateNode.current.memoizedState.isDehydrated)return a.tag===3?a.stateNode.containerInfo:null;e=null}else a!==e&&(e=null);return im=e,null}function OO(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(tme()){case K6:return 1;case CO:return 4;case am:case nme:return 16;case wO:return 536870912;default:return 16}default:return 16}}var Eu=null,G6=null,P2=null;function BO(){if(P2)return P2;var e,a=G6,t=a.length,n,i="value"in Eu?Eu.value:Eu.textContent,r=i.length;for(e=0;e<t&&a[e]===i[e];e++);var s=t-e;for(n=1;n<=s&&a[t-n]===i[r-n];n++);return P2=i.slice(e,1<n?1-n:void 0)}function M2(e){var a=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&a===13&&(e=13)):e=a,e===10&&(e=13),32<=e||e===13?e:0}function Lf(){return!0}function tC(){return!1}function Mi(e){function a(t,n,i,r,s){this._reactName=t,this._targetInst=i,this.type=n,this.nativeEvent=r,this.target=s,this.currentTarget=null;for(var u in e)e.hasOwnProperty(u)&&(t=e[u],this[u]=t?t(r):r[u]);return this.isDefaultPrevented=(r.defaultPrevented!=null?r.defaultPrevented:r.returnValue===!1)?Lf:tC,this.isPropagationStopped=tC,this}return Tt(a.prototype,{preventDefault:function(){this.defaultPrevented=!0;var t=this.nativeEvent;t&&(t.preventDefault?t.preventDefault():typeof t.returnValue!="unknown"&&(t.returnValue=!1),this.isDefaultPrevented=Lf)},stopPropagation:function(){var t=this.nativeEvent;t&&(t.stopPropagation?t.stopPropagation():typeof t.cancelBubble!="unknown"&&(t.cancelBubble=!0),this.isPropagationStopped=Lf)},persist:function(){},isPersistent:Lf}),a}var Ed={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},W6=Mi(Ed),Ep=Tt({},Ed,{view:0,detail:0}),mme=Mi(Ep),rT,sT,Xd,r9=Tt({},Ep,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Y6,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==Xd&&(Xd&&e.type==="mousemove"?(rT=e.screenX-Xd.screenX,sT=e.screenY-Xd.screenY):sT=rT=0,Xd=e),rT)},movementY:function(e){return"movementY"in e?e.movementY:sT}}),nC=Mi(r9),yme=Tt({},r9,{dataTransfer:0}),bme=Mi(yme),Tme=Tt({},Ep,{relatedTarget:0}),uT=Mi(Tme),Sme=Tt({},Ed,{animationName:0,elapsedTime:0,pseudoElement:0}),Ame=Mi(Sme),vme=Tt({},Ed,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Dme=Mi(vme),xme=Tt({},Ed,{data:0}),iC=Mi(xme),Eme={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},kme={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Cme={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function wme(e){var a=this.nativeEvent;return a.getModifierState?a.getModifierState(e):(e=Cme[e])?!!a[e]:!1}function Y6(){return wme}var _me=Tt({},Ep,{key:function(e){if(e.key){var a=Eme[e.key]||e.key;if(a!=="Unidentified")return a}return e.type==="keypress"?(e=M2(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?kme[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Y6,charCode:function(e){return e.type==="keypress"?M2(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?M2(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),Ime=Mi(_me),Nme=Tt({},r9,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),rC=Mi(Nme),Lme=Tt({},Ep,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Y6}),Rme=Mi(Lme),Pme=Tt({},Ed,{propertyName:0,elapsedTime:0,pseudoElement:0}),Mme=Mi(Pme),Ome=Tt({},r9,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),Bme=Mi(Ome),Fme=[9,13,27,32],X6=Gs&&"CompositionEvent"in window,K0=null;Gs&&"documentMode"in document&&(K0=document.documentMode);var Ume=Gs&&"TextEvent"in window&&!K0,FO=Gs&&(!X6||K0&&8<K0&&11>=K0),sC=" ",uC=!1;function UO(e,a){switch(e){case"keyup":return Fme.indexOf(a.keyCode)!==-1;case"keydown":return a.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function jO(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var eg=!1;function jme(e,a){switch(e){case"compositionend":return jO(a);case"keypress":return a.which!==32?null:(uC=!0,sC);case"textInput":return e=a.data,e===sC&&uC?null:e;default:return null}}function zme(e,a){if(eg)return e==="compositionend"||!X6&&UO(e,a)?(e=BO(),P2=G6=Eu=null,eg=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(a.ctrlKey||a.altKey||a.metaKey)||a.ctrlKey&&a.altKey){if(a.char&&1<a.char.length)return a.char;if(a.which)return String.fromCharCode(a.which)}return null;case"compositionend":return FO&&a.locale!=="ko"?null:a.data;default:return null}}var $me={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function oC(e){var a=e&&e.nodeName&&e.nodeName.toLowerCase();return a==="input"?!!$me[e.type]:a==="textarea"}function zO(e,a,t,n){bO(n),a=rm(a,"onChange"),0<a.length&&(t=new W6("onChange","change",null,t,n),e.push({event:t,listeners:a}))}var H0=null,_c=null;function Kme(e){ZO(e,0)}function s9(e){var a=ng(e);if(dO(a))return e}function Hme(e,a){if(e==="change")return a}var $O=!1;if(Gs){var oT;if(Gs){var lT="oninput"in document;if(!lT){var lC=document.createElement("div");lC.setAttribute("oninput","return;"),lT=typeof lC.oninput=="function"}oT=lT}else oT=!1;$O=oT&&(!document.documentMode||9<document.documentMode)}function gC(){H0&&(H0.detachEvent("onpropertychange",KO),_c=H0=null)}function KO(e){if(e.propertyName==="value"&&s9(_c)){var a=[];zO(a,_c,e,$6(e)),vO(Kme,a)}}function qme(e,a,t){e==="focusin"?(gC(),H0=a,_c=t,H0.attachEvent("onpropertychange",KO)):e==="focusout"&&gC()}function Vme(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return s9(_c)}function Gme(e,a){if(e==="click")return s9(a)}function Wme(e,a){if(e==="input"||e==="change")return s9(a)}function Yme(e,a){return e===a&&(e!==0||1/e===1/a)||e!==e&&a!==a}var _r=typeof Object.is=="function"?Object.is:Yme;function Ic(e,a){if(_r(e,a))return!0;if(typeof e!="object"||e===null||typeof a!="object"||a===null)return!1;var t=Object.keys(e),n=Object.keys(a);if(t.length!==n.length)return!1;for(n=0;n<t.length;n++){var i=t[n];if(!_A.call(a,i)||!_r(e[i],a[i]))return!1}return!0}function dC(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function cC(e,a){var t=dC(e);e=0;for(var n;t;){if(t.nodeType===3){if(n=e+t.textContent.length,e<=a&&n>=a)return{node:t,offset:a-e};e=n}e:{for(;t;){if(t.nextSibling){t=t.nextSibling;break e}t=t.parentNode}t=void 0}t=dC(t)}}function HO(e,a){return e&&a?e===a?!0:e&&e.nodeType===3?!1:a&&a.nodeType===3?HO(e,a.parentNode):"contains"in e?e.contains(a):e.compareDocumentPosition?!!(e.compareDocumentPosition(a)&16):!1:!1}function qO(){for(var e=window,a=Zh();a instanceof e.HTMLIFrameElement;){try{var t=typeof a.contentWindow.location.href=="string"}catch{t=!1}if(t)e=a.contentWindow;else break;a=Zh(e.document)}return a}function Q6(e){var a=e&&e.nodeName&&e.nodeName.toLowerCase();return a&&(a==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||a==="textarea"||e.contentEditable==="true")}function Xme(e){var a=qO(),t=e.focusedElem,n=e.selectionRange;if(a!==t&&t&&t.ownerDocument&&HO(t.ownerDocument.documentElement,t)){if(n!==null&&Q6(t)){if(a=n.start,e=n.end,e===void 0&&(e=a),"selectionStart"in t)t.selectionStart=a,t.selectionEnd=Math.min(e,t.value.length);else if(e=(a=t.ownerDocument||document)&&a.defaultView||window,e.getSelection){e=e.getSelection();var i=t.textContent.length,r=Math.min(n.start,i);n=n.end===void 0?r:Math.min(n.end,i),!e.extend&&r>n&&(i=n,n=r,r=i),i=cC(t,r);var s=cC(t,n);i&&s&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&(a=a.createRange(),a.setStart(i.node,i.offset),e.removeAllRanges(),r>n?(e.addRange(a),e.extend(s.node,s.offset)):(a.setEnd(s.node,s.offset),e.addRange(a)))}}for(a=[],e=t;e=e.parentNode;)e.nodeType===1&&a.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof t.focus=="function"&&t.focus(),t=0;t<a.length;t++)e=a[t],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var Qme=Gs&&"documentMode"in document&&11>=document.documentMode,ag=null,WA=null,q0=null,YA=!1;function pC(e,a,t){var n=t.window===t?t.document:t.nodeType===9?t:t.ownerDocument;YA||ag==null||ag!==Zh(n)||(n=ag,"selectionStart"in n&&Q6(n)?n={start:n.selectionStart,end:n.selectionEnd}:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection(),n={anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}),q0&&Ic(q0,n)||(q0=n,n=rm(WA,"onSelect"),0<n.length&&(a=new W6("onSelect","select",null,a,t),e.push({event:a,listeners:n}),a.target=ag)))}function Rf(e,a){var t={};return t[e.toLowerCase()]=a.toLowerCase(),t["Webkit"+e]="webkit"+a,t["Moz"+e]="moz"+a,t}var tg={animationend:Rf("Animation","AnimationEnd"),animationiteration:Rf("Animation","AnimationIteration"),animationstart:Rf("Animation","AnimationStart"),transitionend:Rf("Transition","TransitionEnd")},gT={},VO={};Gs&&(VO=document.createElement("div").style,"AnimationEvent"in window||(delete tg.animationend.animation,delete tg.animationiteration.animation,delete tg.animationstart.animation),"TransitionEvent"in window||delete tg.transitionend.transition);function u9(e){if(gT[e])return gT[e];if(!tg[e])return e;var a=tg[e],t;for(t in a)if(a.hasOwnProperty(t)&&t in VO)return gT[e]=a[t];return e}var GO=u9("animationend"),WO=u9("animationiteration"),YO=u9("animationstart"),XO=u9("transitionend"),QO=new Map,fC="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function lo(e,a){QO.set(e,a),Sl(a,[e])}for(var dT=0;dT<fC.length;dT++){var cT=fC[dT],Zme=cT.toLowerCase(),Jme=cT[0].toUpperCase()+cT.slice(1);lo(Zme,"on"+Jme)}lo(GO,"onAnimationEnd");lo(WO,"onAnimationIteration");lo(YO,"onAnimationStart");lo("dblclick","onDoubleClick");lo("focusin","onFocus");lo("focusout","onBlur");lo(XO,"onTransitionEnd");$g("onMouseEnter",["mouseout","mouseover"]);$g("onMouseLeave",["mouseout","mouseover"]);$g("onPointerEnter",["pointerout","pointerover"]);$g("onPointerLeave",["pointerout","pointerover"]);Sl("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));Sl("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));Sl("onBeforeInput",["compositionend","keypress","textInput","paste"]);Sl("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));Sl("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));Sl("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var v0="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),eye=new Set("cancel close invalid load scroll toggle".split(" ").concat(v0));function hC(e,a,t){var n=e.type||"unknown-event";e.currentTarget=t,Zhe(n,a,void 0,e),e.currentTarget=null}function ZO(e,a){a=(a&4)!==0;for(var t=0;t<e.length;t++){var n=e[t],i=n.event;n=n.listeners;e:{var r=void 0;if(a)for(var s=n.length-1;0<=s;s--){var u=n[s],o=u.instance,l=u.currentTarget;if(u=u.listener,o!==r&&i.isPropagationStopped())break e;hC(i,u,l),r=o}else for(s=0;s<n.length;s++){if(u=n[s],o=u.instance,l=u.currentTarget,u=u.listener,o!==r&&i.isPropagationStopped())break e;hC(i,u,l),r=o}}}if(em)throw e=HA,em=!1,HA=null,e}function it(e,a){var t=a[e7];t===void 0&&(t=a[e7]=new Set);var n=e+"__bubble";t.has(n)||(JO(a,e,2,!1),t.add(n))}function pT(e,a,t){var n=0;a&&(n|=4),JO(t,e,n,a)}var Pf="_reactListening"+Math.random().toString(36).slice(2);function Nc(e){if(!e[Pf]){e[Pf]=!0,sO.forEach(function(t){t!=="selectionchange"&&(eye.has(t)||pT(t,!1,e),pT(t,!0,e))});var a=e.nodeType===9?e:e.ownerDocument;a===null||a[Pf]||(a[Pf]=!0,pT("selectionchange",!1,a))}}function JO(e,a,t,n){switch(OO(a)){case 1:var i=fme;break;case 4:i=hme;break;default:i=V6}t=i.bind(null,a,t,e),i=void 0,!KA||a!=="touchstart"&&a!=="touchmove"&&a!=="wheel"||(i=!0),n?i!==void 0?e.addEventListener(a,t,{capture:!0,passive:i}):e.addEventListener(a,t,!0):i!==void 0?e.addEventListener(a,t,{passive:i}):e.addEventListener(a,t,!1)}function fT(e,a,t,n,i){var r=n;if(!(a&1)&&!(a&2)&&n!==null)e:for(;;){if(n===null)return;var s=n.tag;if(s===3||s===4){var u=n.stateNode.containerInfo;if(u===i||u.nodeType===8&&u.parentNode===i)break;if(s===4)for(s=n.return;s!==null;){var o=s.tag;if((o===3||o===4)&&(o=s.stateNode.containerInfo,o===i||o.nodeType===8&&o.parentNode===i))return;s=s.return}for(;u!==null;){if(s=Fo(u),s===null)return;if(o=s.tag,o===5||o===6){n=r=s;continue e}u=u.parentNode}}n=n.return}vO(function(){var l=r,g=$6(t),d=[];e:{var c=QO.get(e);if(c!==void 0){var p=W6,f=e;switch(e){case"keypress":if(M2(t)===0)break e;case"keydown":case"keyup":p=Ime;break;case"focusin":f="focus",p=uT;break;case"focusout":f="blur",p=uT;break;case"beforeblur":case"afterblur":p=uT;break;case"click":if(t.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":p=nC;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":p=bme;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":p=Rme;break;case GO:case WO:case YO:p=Ame;break;case XO:p=Mme;break;case"scroll":p=mme;break;case"wheel":p=Bme;break;case"copy":case"cut":case"paste":p=Dme;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":p=rC}var h=(a&4)!==0,y=!h&&e==="scroll",b=h?c!==null?c+"Capture":null:c;h=[];for(var m=l,T;m!==null;){T=m;var A=T.stateNode;if(T.tag===5&&A!==null&&(T=A,b!==null&&(A=Ec(m,b),A!=null&&h.push(Lc(m,A,T)))),y)break;m=m.return}0<h.length&&(c=new p(c,f,null,t,g),d.push({event:c,listeners:h}))}}if(!(a&7)){e:{if(c=e==="mouseover"||e==="pointerover",p=e==="mouseout"||e==="pointerout",c&&t!==zA&&(f=t.relatedTarget||t.fromElement)&&(Fo(f)||f[Ws]))break e;if((p||c)&&(c=g.window===g?g:(c=g.ownerDocument)?c.defaultView||c.parentWindow:window,p?(f=t.relatedTarget||t.toElement,p=l,f=f?Fo(f):null,f!==null&&(y=Al(f),f!==y||f.tag!==5&&f.tag!==6)&&(f=null)):(p=null,f=l),p!==f)){if(h=nC,A="onMouseLeave",b="onMouseEnter",m="mouse",(e==="pointerout"||e==="pointerover")&&(h=rC,A="onPointerLeave",b="onPointerEnter",m="pointer"),y=p==null?c:ng(p),T=f==null?c:ng(f),c=new h(A,m+"leave",p,t,g),c.target=y,c.relatedTarget=T,A=null,Fo(g)===l&&(h=new h(b,m+"enter",f,t,g),h.target=T,h.relatedTarget=y,A=h),y=A,p&&f)a:{for(h=p,b=f,m=0,T=h;T;T=Ol(T))m++;for(T=0,A=b;A;A=Ol(A))T++;for(;0<m-T;)h=Ol(h),m--;for(;0<T-m;)b=Ol(b),T--;for(;m--;){if(h===b||b!==null&&h===b.alternate)break a;h=Ol(h),b=Ol(b)}h=null}else h=null;p!==null&&mC(d,c,p,h,!1),f!==null&&y!==null&&mC(d,y,f,h,!0)}}e:{if(c=l?ng(l):window,p=c.nodeName&&c.nodeName.toLowerCase(),p==="select"||p==="input"&&c.type==="file")var v=Hme;else if(oC(c))if($O)v=Wme;else{v=Vme;var D=qme}else(p=c.nodeName)&&p.toLowerCase()==="input"&&(c.type==="checkbox"||c.type==="radio")&&(v=Gme);if(v&&(v=v(e,l))){zO(d,v,t,g);break e}D&&D(e,c,l),e==="focusout"&&(D=c._wrapperState)&&D.controlled&&c.type==="number"&&OA(c,"number",c.value)}switch(D=l?ng(l):window,e){case"focusin":(oC(D)||D.contentEditable==="true")&&(ag=D,WA=l,q0=null);break;case"focusout":q0=WA=ag=null;break;case"mousedown":YA=!0;break;case"contextmenu":case"mouseup":case"dragend":YA=!1,pC(d,t,g);break;case"selectionchange":if(Qme)break;case"keydown":case"keyup":pC(d,t,g)}var k;if(X6)e:{switch(e){case"compositionstart":var N="onCompositionStart";break e;case"compositionend":N="onCompositionEnd";break e;case"compositionupdate":N="onCompositionUpdate";break e}N=void 0}else eg?UO(e,t)&&(N="onCompositionEnd"):e==="keydown"&&t.keyCode===229&&(N="onCompositionStart");N&&(FO&&t.locale!=="ko"&&(eg||N!=="onCompositionStart"?N==="onCompositionEnd"&&eg&&(k=BO()):(Eu=g,G6="value"in Eu?Eu.value:Eu.textContent,eg=!0)),D=rm(l,N),0<D.length&&(N=new iC(N,e,null,t,g),d.push({event:N,listeners:D}),k?N.data=k:(k=jO(t),k!==null&&(N.data=k)))),(k=Ume?jme(e,t):zme(e,t))&&(l=rm(l,"onBeforeInput"),0<l.length&&(g=new iC("onBeforeInput","beforeinput",null,t,g),d.push({event:g,listeners:l}),g.data=k))}ZO(d,a)})}function Lc(e,a,t){return{instance:e,listener:a,currentTarget:t}}function rm(e,a){for(var t=a+"Capture",n=[];e!==null;){var i=e,r=i.stateNode;i.tag===5&&r!==null&&(i=r,r=Ec(e,t),r!=null&&n.unshift(Lc(e,r,i)),r=Ec(e,a),r!=null&&n.push(Lc(e,r,i))),e=e.return}return n}function Ol(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function mC(e,a,t,n,i){for(var r=a._reactName,s=[];t!==null&&t!==n;){var u=t,o=u.alternate,l=u.stateNode;if(o!==null&&o===n)break;u.tag===5&&l!==null&&(u=l,i?(o=Ec(t,r),o!=null&&s.unshift(Lc(t,o,u))):i||(o=Ec(t,r),o!=null&&s.push(Lc(t,o,u)))),t=t.return}s.length!==0&&e.push({event:a,listeners:s})}var aye=/\r\n?/g,tye=/\u0000|\uFFFD/g;function yC(e){return(typeof e=="string"?e:""+e).replace(aye,`
`).replace(tye,"")}function Mf(e,a,t){if(a=yC(a),yC(e)!==a&&t)throw Error(ke(425))}function sm(){}var XA=null,QA=null;function ZA(e,a){return e==="textarea"||e==="noscript"||typeof a.children=="string"||typeof a.children=="number"||typeof a.dangerouslySetInnerHTML=="object"&&a.dangerouslySetInnerHTML!==null&&a.dangerouslySetInnerHTML.__html!=null}var JA=typeof setTimeout=="function"?setTimeout:void 0,nye=typeof clearTimeout=="function"?clearTimeout:void 0,bC=typeof Promise=="function"?Promise:void 0,iye=typeof queueMicrotask=="function"?queueMicrotask:typeof bC<"u"?function(e){return bC.resolve(null).then(e).catch(rye)}:JA;function rye(e){setTimeout(function(){throw e})}function hT(e,a){var t=a,n=0;do{var i=t.nextSibling;if(e.removeChild(t),i&&i.nodeType===8)if(t=i.data,t==="/$"){if(n===0){e.removeChild(i),wc(a);return}n--}else t!=="$"&&t!=="$?"&&t!=="$!"||n++;t=i}while(t);wc(a)}function $u(e){for(;e!=null;e=e.nextSibling){var a=e.nodeType;if(a===1||a===3)break;if(a===8){if(a=e.data,a==="$"||a==="$!"||a==="$?")break;if(a==="/$")return null}}return e}function TC(e){e=e.previousSibling;for(var a=0;e;){if(e.nodeType===8){var t=e.data;if(t==="$"||t==="$!"||t==="$?"){if(a===0)return e;a--}else t==="/$"&&a++}e=e.previousSibling}return null}var kd=Math.random().toString(36).slice(2),Zr="__reactFiber$"+kd,Rc="__reactProps$"+kd,Ws="__reactContainer$"+kd,e7="__reactEvents$"+kd,sye="__reactListeners$"+kd,uye="__reactHandles$"+kd;function Fo(e){var a=e[Zr];if(a)return a;for(var t=e.parentNode;t;){if(a=t[Ws]||t[Zr]){if(t=a.alternate,a.child!==null||t!==null&&t.child!==null)for(e=TC(e);e!==null;){if(t=e[Zr])return t;e=TC(e)}return a}e=t,t=e.parentNode}return null}function kp(e){return e=e[Zr]||e[Ws],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function ng(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(ke(33))}function o9(e){return e[Rc]||null}var a7=[],ig=-1;function go(e){return{current:e}}function ut(e){0>ig||(e.current=a7[ig],a7[ig]=null,ig--)}function tt(e,a){ig++,a7[ig]=e.current,e.current=a}var Ju={},Cn=go(Ju),oi=go(!1),el=Ju;function Kg(e,a){var t=e.type.contextTypes;if(!t)return Ju;var n=e.stateNode;if(n&&n.__reactInternalMemoizedUnmaskedChildContext===a)return n.__reactInternalMemoizedMaskedChildContext;var i={},r;for(r in t)i[r]=a[r];return n&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=a,e.__reactInternalMemoizedMaskedChildContext=i),i}function li(e){return e=e.childContextTypes,e!=null}function um(){ut(oi),ut(Cn)}function SC(e,a,t){if(Cn.current!==Ju)throw Error(ke(168));tt(Cn,a),tt(oi,t)}function eB(e,a,t){var n=e.stateNode;if(a=a.childContextTypes,typeof n.getChildContext!="function")return t;n=n.getChildContext();for(var i in n)if(!(i in a))throw Error(ke(108,qhe(e)||"Unknown",i));return Tt({},t,n)}function om(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Ju,el=Cn.current,tt(Cn,e),tt(oi,oi.current),!0}function AC(e,a,t){var n=e.stateNode;if(!n)throw Error(ke(169));t?(e=eB(e,a,el),n.__reactInternalMemoizedMergedChildContext=e,ut(oi),ut(Cn),tt(Cn,e)):ut(oi),tt(oi,t)}var Os=null,l9=!1,mT=!1;function aB(e){Os===null?Os=[e]:Os.push(e)}function oye(e){l9=!0,aB(e)}function co(){if(!mT&&Os!==null){mT=!0;var e=0,a=$a;try{var t=Os;for($a=1;e<t.length;e++){var n=t[e];do n=n(!0);while(n!==null)}Os=null,l9=!1}catch(i){throw Os!==null&&(Os=Os.slice(e+1)),kO(K6,co),i}finally{$a=a,mT=!1}}return null}var rg=[],sg=0,lm=null,gm=0,Vi=[],Gi=0,al=null,Fs=1,Us="";function Eo(e,a){rg[sg++]=gm,rg[sg++]=lm,lm=e,gm=a}function tB(e,a,t){Vi[Gi++]=Fs,Vi[Gi++]=Us,Vi[Gi++]=al,al=e;var n=Fs;e=Us;var i=32-Cr(n)-1;n&=~(1<<i),t+=1;var r=32-Cr(a)+i;if(30<r){var s=i-i%5;r=(n&(1<<s)-1).toString(32),n>>=s,i-=s,Fs=1<<32-Cr(a)+i|t<<i|n,Us=r+e}else Fs=1<<r|t<<i|n,Us=e}function Z6(e){e.return!==null&&(Eo(e,1),tB(e,1,0))}function J6(e){for(;e===lm;)lm=rg[--sg],rg[sg]=null,gm=rg[--sg],rg[sg]=null;for(;e===al;)al=Vi[--Gi],Vi[Gi]=null,Us=Vi[--Gi],Vi[Gi]=null,Fs=Vi[--Gi],Vi[Gi]=null}var Ci=null,Ei=null,ct=!1,Tr=null;function nB(e,a){var t=Xi(5,null,null,0);t.elementType="DELETED",t.stateNode=a,t.return=e,a=e.deletions,a===null?(e.deletions=[t],e.flags|=16):a.push(t)}function vC(e,a){switch(e.tag){case 5:var t=e.type;return a=a.nodeType!==1||t.toLowerCase()!==a.nodeName.toLowerCase()?null:a,a!==null?(e.stateNode=a,Ci=e,Ei=$u(a.firstChild),!0):!1;case 6:return a=e.pendingProps===""||a.nodeType!==3?null:a,a!==null?(e.stateNode=a,Ci=e,Ei=null,!0):!1;case 13:return a=a.nodeType!==8?null:a,a!==null?(t=al!==null?{id:Fs,overflow:Us}:null,e.memoizedState={dehydrated:a,treeContext:t,retryLane:1073741824},t=Xi(18,null,null,0),t.stateNode=a,t.return=e,e.child=t,Ci=e,Ei=null,!0):!1;default:return!1}}function t7(e){return(e.mode&1)!==0&&(e.flags&128)===0}function n7(e){if(ct){var a=Ei;if(a){var t=a;if(!vC(e,a)){if(t7(e))throw Error(ke(418));a=$u(t.nextSibling);var n=Ci;a&&vC(e,a)?nB(n,t):(e.flags=e.flags&-4097|2,ct=!1,Ci=e)}}else{if(t7(e))throw Error(ke(418));e.flags=e.flags&-4097|2,ct=!1,Ci=e}}}function DC(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;Ci=e}function Of(e){if(e!==Ci)return!1;if(!ct)return DC(e),ct=!0,!1;var a;if((a=e.tag!==3)&&!(a=e.tag!==5)&&(a=e.type,a=a!=="head"&&a!=="body"&&!ZA(e.type,e.memoizedProps)),a&&(a=Ei)){if(t7(e))throw iB(),Error(ke(418));for(;a;)nB(e,a),a=$u(a.nextSibling)}if(DC(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(ke(317));e:{for(e=e.nextSibling,a=0;e;){if(e.nodeType===8){var t=e.data;if(t==="/$"){if(a===0){Ei=$u(e.nextSibling);break e}a--}else t!=="$"&&t!=="$!"&&t!=="$?"||a++}e=e.nextSibling}Ei=null}}else Ei=Ci?$u(e.stateNode.nextSibling):null;return!0}function iB(){for(var e=Ei;e;)e=$u(e.nextSibling)}function Hg(){Ei=Ci=null,ct=!1}function eD(e){Tr===null?Tr=[e]:Tr.push(e)}var lye=nu.ReactCurrentBatchConfig;function Qd(e,a,t){if(e=t.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(t._owner){if(t=t._owner,t){if(t.tag!==1)throw Error(ke(309));var n=t.stateNode}if(!n)throw Error(ke(147,e));var i=n,r=""+e;return a!==null&&a.ref!==null&&typeof a.ref=="function"&&a.ref._stringRef===r?a.ref:(a=function(s){var u=i.refs;s===null?delete u[r]:u[r]=s},a._stringRef=r,a)}if(typeof e!="string")throw Error(ke(284));if(!t._owner)throw Error(ke(290,e))}return e}function Bf(e,a){throw e=Object.prototype.toString.call(a),Error(ke(31,e==="[object Object]"?"object with keys {"+Object.keys(a).join(", ")+"}":e))}function xC(e){var a=e._init;return a(e._payload)}function rB(e){function a(b,m){if(e){var T=b.deletions;T===null?(b.deletions=[m],b.flags|=16):T.push(m)}}function t(b,m){if(!e)return null;for(;m!==null;)a(b,m),m=m.sibling;return null}function n(b,m){for(b=new Map;m!==null;)m.key!==null?b.set(m.key,m):b.set(m.index,m),m=m.sibling;return b}function i(b,m){return b=Vu(b,m),b.index=0,b.sibling=null,b}function r(b,m,T){return b.index=T,e?(T=b.alternate,T!==null?(T=T.index,T<m?(b.flags|=2,m):T):(b.flags|=2,m)):(b.flags|=1048576,m)}function s(b){return e&&b.alternate===null&&(b.flags|=2),b}function u(b,m,T,A){return m===null||m.tag!==6?(m=DT(T,b.mode,A),m.return=b,m):(m=i(m,T),m.return=b,m)}function o(b,m,T,A){var v=T.type;return v===Jl?g(b,m,T.props.children,A,T.key):m!==null&&(m.elementType===v||typeof v=="object"&&v!==null&&v.$$typeof===yu&&xC(v)===m.type)?(A=i(m,T.props),A.ref=Qd(b,m,T),A.return=b,A):(A=$2(T.type,T.key,T.props,null,b.mode,A),A.ref=Qd(b,m,T),A.return=b,A)}function l(b,m,T,A){return m===null||m.tag!==4||m.stateNode.containerInfo!==T.containerInfo||m.stateNode.implementation!==T.implementation?(m=xT(T,b.mode,A),m.return=b,m):(m=i(m,T.children||[]),m.return=b,m)}function g(b,m,T,A,v){return m===null||m.tag!==7?(m=qo(T,b.mode,A,v),m.return=b,m):(m=i(m,T),m.return=b,m)}function d(b,m,T){if(typeof m=="string"&&m!==""||typeof m=="number")return m=DT(""+m,b.mode,T),m.return=b,m;if(typeof m=="object"&&m!==null){switch(m.$$typeof){case kf:return T=$2(m.type,m.key,m.props,null,b.mode,T),T.ref=Qd(b,null,m),T.return=b,T;case Zl:return m=xT(m,b.mode,T),m.return=b,m;case yu:var A=m._init;return d(b,A(m._payload),T)}if(S0(m)||Vd(m))return m=qo(m,b.mode,T,null),m.return=b,m;Bf(b,m)}return null}function c(b,m,T,A){var v=m!==null?m.key:null;if(typeof T=="string"&&T!==""||typeof T=="number")return v!==null?null:u(b,m,""+T,A);if(typeof T=="object"&&T!==null){switch(T.$$typeof){case kf:return T.key===v?o(b,m,T,A):null;case Zl:return T.key===v?l(b,m,T,A):null;case yu:return v=T._init,c(b,m,v(T._payload),A)}if(S0(T)||Vd(T))return v!==null?null:g(b,m,T,A,null);Bf(b,T)}return null}function p(b,m,T,A,v){if(typeof A=="string"&&A!==""||typeof A=="number")return b=b.get(T)||null,u(m,b,""+A,v);if(typeof A=="object"&&A!==null){switch(A.$$typeof){case kf:return b=b.get(A.key===null?T:A.key)||null,o(m,b,A,v);case Zl:return b=b.get(A.key===null?T:A.key)||null,l(m,b,A,v);case yu:var D=A._init;return p(b,m,T,D(A._payload),v)}if(S0(A)||Vd(A))return b=b.get(T)||null,g(m,b,A,v,null);Bf(m,A)}return null}function f(b,m,T,A){for(var v=null,D=null,k=m,N=m=0,q=null;k!==null&&N<T.length;N++){k.index>N?(q=k,k=null):q=k.sibling;var R=c(b,k,T[N],A);if(R===null){k===null&&(k=q);break}e&&k&&R.alternate===null&&a(b,k),m=r(R,m,N),D===null?v=R:D.sibling=R,D=R,k=q}if(N===T.length)return t(b,k),ct&&Eo(b,N),v;if(k===null){for(;N<T.length;N++)k=d(b,T[N],A),k!==null&&(m=r(k,m,N),D===null?v=k:D.sibling=k,D=k);return ct&&Eo(b,N),v}for(k=n(b,k);N<T.length;N++)q=p(k,b,N,T[N],A),q!==null&&(e&&q.alternate!==null&&k.delete(q.key===null?N:q.key),m=r(q,m,N),D===null?v=q:D.sibling=q,D=q);return e&&k.forEach(function(z){return a(b,z)}),ct&&Eo(b,N),v}function h(b,m,T,A){var v=Vd(T);if(typeof v!="function")throw Error(ke(150));if(T=v.call(T),T==null)throw Error(ke(151));for(var D=v=null,k=m,N=m=0,q=null,R=T.next();k!==null&&!R.done;N++,R=T.next()){k.index>N?(q=k,k=null):q=k.sibling;var z=c(b,k,R.value,A);if(z===null){k===null&&(k=q);break}e&&k&&z.alternate===null&&a(b,k),m=r(z,m,N),D===null?v=z:D.sibling=z,D=z,k=q}if(R.done)return t(b,k),ct&&Eo(b,N),v;if(k===null){for(;!R.done;N++,R=T.next())R=d(b,R.value,A),R!==null&&(m=r(R,m,N),D===null?v=R:D.sibling=R,D=R);return ct&&Eo(b,N),v}for(k=n(b,k);!R.done;N++,R=T.next())R=p(k,b,N,R.value,A),R!==null&&(e&&R.alternate!==null&&k.delete(R.key===null?N:R.key),m=r(R,m,N),D===null?v=R:D.sibling=R,D=R);return e&&k.forEach(function(W){return a(b,W)}),ct&&Eo(b,N),v}function y(b,m,T,A){if(typeof T=="object"&&T!==null&&T.type===Jl&&T.key===null&&(T=T.props.children),typeof T=="object"&&T!==null){switch(T.$$typeof){case kf:e:{for(var v=T.key,D=m;D!==null;){if(D.key===v){if(v=T.type,v===Jl){if(D.tag===7){t(b,D.sibling),m=i(D,T.props.children),m.return=b,b=m;break e}}else if(D.elementType===v||typeof v=="object"&&v!==null&&v.$$typeof===yu&&xC(v)===D.type){t(b,D.sibling),m=i(D,T.props),m.ref=Qd(b,D,T),m.return=b,b=m;break e}t(b,D);break}else a(b,D);D=D.sibling}T.type===Jl?(m=qo(T.props.children,b.mode,A,T.key),m.return=b,b=m):(A=$2(T.type,T.key,T.props,null,b.mode,A),A.ref=Qd(b,m,T),A.return=b,b=A)}return s(b);case Zl:e:{for(D=T.key;m!==null;){if(m.key===D)if(m.tag===4&&m.stateNode.containerInfo===T.containerInfo&&m.stateNode.implementation===T.implementation){t(b,m.sibling),m=i(m,T.children||[]),m.return=b,b=m;break e}else{t(b,m);break}else a(b,m);m=m.sibling}m=xT(T,b.mode,A),m.return=b,b=m}return s(b);case yu:return D=T._init,y(b,m,D(T._payload),A)}if(S0(T))return f(b,m,T,A);if(Vd(T))return h(b,m,T,A);Bf(b,T)}return typeof T=="string"&&T!==""||typeof T=="number"?(T=""+T,m!==null&&m.tag===6?(t(b,m.sibling),m=i(m,T),m.return=b,b=m):(t(b,m),m=DT(T,b.mode,A),m.return=b,b=m),s(b)):t(b,m)}return y}var qg=rB(!0),sB=rB(!1),dm=go(null),cm=null,ug=null,aD=null;function tD(){aD=ug=cm=null}function nD(e){var a=dm.current;ut(dm),e._currentValue=a}function i7(e,a,t){for(;e!==null;){var n=e.alternate;if((e.childLanes&a)!==a?(e.childLanes|=a,n!==null&&(n.childLanes|=a)):n!==null&&(n.childLanes&a)!==a&&(n.childLanes|=a),e===t)break;e=e.return}}function Cg(e,a){cm=e,aD=ug=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&a&&(ri=!0),e.firstContext=null)}function nr(e){var a=e._currentValue;if(aD!==e)if(e={context:e,memoizedValue:a,next:null},ug===null){if(cm===null)throw Error(ke(308));ug=e,cm.dependencies={lanes:0,firstContext:e}}else ug=ug.next=e;return a}var Uo=null;function iD(e){Uo===null?Uo=[e]:Uo.push(e)}function uB(e,a,t,n){var i=a.interleaved;return i===null?(t.next=t,iD(a)):(t.next=i.next,i.next=t),a.interleaved=t,Ys(e,n)}function Ys(e,a){e.lanes|=a;var t=e.alternate;for(t!==null&&(t.lanes|=a),t=e,e=e.return;e!==null;)e.childLanes|=a,t=e.alternate,t!==null&&(t.childLanes|=a),t=e,e=e.return;return t.tag===3?t.stateNode:null}var bu=!1;function rD(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function oB(e,a){e=e.updateQueue,a.updateQueue===e&&(a.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function $s(e,a){return{eventTime:e,lane:a,tag:0,payload:null,callback:null,next:null}}function Ku(e,a,t){var n=e.updateQueue;if(n===null)return null;if(n=n.shared,Ra&2){var i=n.pending;return i===null?a.next=a:(a.next=i.next,i.next=a),n.pending=a,Ys(e,t)}return i=n.interleaved,i===null?(a.next=a,iD(n)):(a.next=i.next,i.next=a),n.interleaved=a,Ys(e,t)}function O2(e,a,t){if(a=a.updateQueue,a!==null&&(a=a.shared,(t&4194240)!==0)){var n=a.lanes;n&=e.pendingLanes,t|=n,a.lanes=t,H6(e,t)}}function EC(e,a){var t=e.updateQueue,n=e.alternate;if(n!==null&&(n=n.updateQueue,t===n)){var i=null,r=null;if(t=t.firstBaseUpdate,t!==null){do{var s={eventTime:t.eventTime,lane:t.lane,tag:t.tag,payload:t.payload,callback:t.callback,next:null};r===null?i=r=s:r=r.next=s,t=t.next}while(t!==null);r===null?i=r=a:r=r.next=a}else i=r=a;t={baseState:n.baseState,firstBaseUpdate:i,lastBaseUpdate:r,shared:n.shared,effects:n.effects},e.updateQueue=t;return}e=t.lastBaseUpdate,e===null?t.firstBaseUpdate=a:e.next=a,t.lastBaseUpdate=a}function pm(e,a,t,n){var i=e.updateQueue;bu=!1;var r=i.firstBaseUpdate,s=i.lastBaseUpdate,u=i.shared.pending;if(u!==null){i.shared.pending=null;var o=u,l=o.next;o.next=null,s===null?r=l:s.next=l,s=o;var g=e.alternate;g!==null&&(g=g.updateQueue,u=g.lastBaseUpdate,u!==s&&(u===null?g.firstBaseUpdate=l:u.next=l,g.lastBaseUpdate=o))}if(r!==null){var d=i.baseState;s=0,g=l=o=null,u=r;do{var c=u.lane,p=u.eventTime;if((n&c)===c){g!==null&&(g=g.next={eventTime:p,lane:0,tag:u.tag,payload:u.payload,callback:u.callback,next:null});e:{var f=e,h=u;switch(c=a,p=t,h.tag){case 1:if(f=h.payload,typeof f=="function"){d=f.call(p,d,c);break e}d=f;break e;case 3:f.flags=f.flags&-65537|128;case 0:if(f=h.payload,c=typeof f=="function"?f.call(p,d,c):f,c==null)break e;d=Tt({},d,c);break e;case 2:bu=!0}}u.callback!==null&&u.lane!==0&&(e.flags|=64,c=i.effects,c===null?i.effects=[u]:c.push(u))}else p={eventTime:p,lane:c,tag:u.tag,payload:u.payload,callback:u.callback,next:null},g===null?(l=g=p,o=d):g=g.next=p,s|=c;if(u=u.next,u===null){if(u=i.shared.pending,u===null)break;c=u,u=c.next,c.next=null,i.lastBaseUpdate=c,i.shared.pending=null}}while(!0);if(g===null&&(o=d),i.baseState=o,i.firstBaseUpdate=l,i.lastBaseUpdate=g,a=i.shared.interleaved,a!==null){i=a;do s|=i.lane,i=i.next;while(i!==a)}else r===null&&(i.shared.lanes=0);nl|=s,e.lanes=s,e.memoizedState=d}}function kC(e,a,t){if(e=a.effects,a.effects=null,e!==null)for(a=0;a<e.length;a++){var n=e[a],i=n.callback;if(i!==null){if(n.callback=null,n=t,typeof i!="function")throw Error(ke(191,i));i.call(n)}}}var Cp={},ds=go(Cp),Pc=go(Cp),Mc=go(Cp);function jo(e){if(e===Cp)throw Error(ke(174));return e}function sD(e,a){switch(tt(Mc,a),tt(Pc,e),tt(ds,Cp),e=a.nodeType,e){case 9:case 11:a=(a=a.documentElement)?a.namespaceURI:FA(null,"");break;default:e=e===8?a.parentNode:a,a=e.namespaceURI||null,e=e.tagName,a=FA(a,e)}ut(ds),tt(ds,a)}function Vg(){ut(ds),ut(Pc),ut(Mc)}function lB(e){jo(Mc.current);var a=jo(ds.current),t=FA(a,e.type);a!==t&&(tt(Pc,e),tt(ds,t))}function uD(e){Pc.current===e&&(ut(ds),ut(Pc))}var mt=go(0);function fm(e){for(var a=e;a!==null;){if(a.tag===13){var t=a.memoizedState;if(t!==null&&(t=t.dehydrated,t===null||t.data==="$?"||t.data==="$!"))return a}else if(a.tag===19&&a.memoizedProps.revealOrder!==void 0){if(a.flags&128)return a}else if(a.child!==null){a.child.return=a,a=a.child;continue}if(a===e)break;for(;a.sibling===null;){if(a.return===null||a.return===e)return null;a=a.return}a.sibling.return=a.return,a=a.sibling}return null}var yT=[];function oD(){for(var e=0;e<yT.length;e++)yT[e]._workInProgressVersionPrimary=null;yT.length=0}var B2=nu.ReactCurrentDispatcher,bT=nu.ReactCurrentBatchConfig,tl=0,yt=null,Ot=null,Gt=null,hm=!1,V0=!1,Oc=0,gye=0;function Dn(){throw Error(ke(321))}function lD(e,a){if(a===null)return!1;for(var t=0;t<a.length&&t<e.length;t++)if(!_r(e[t],a[t]))return!1;return!0}function gD(e,a,t,n,i,r){if(tl=r,yt=a,a.memoizedState=null,a.updateQueue=null,a.lanes=0,B2.current=e===null||e.memoizedState===null?fye:hye,e=t(n,i),V0){r=0;do{if(V0=!1,Oc=0,25<=r)throw Error(ke(301));r+=1,Gt=Ot=null,a.updateQueue=null,B2.current=mye,e=t(n,i)}while(V0)}if(B2.current=mm,a=Ot!==null&&Ot.next!==null,tl=0,Gt=Ot=yt=null,hm=!1,a)throw Error(ke(300));return e}function dD(){var e=Oc!==0;return Oc=0,e}function Kr(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Gt===null?yt.memoizedState=Gt=e:Gt=Gt.next=e,Gt}function ir(){if(Ot===null){var e=yt.alternate;e=e!==null?e.memoizedState:null}else e=Ot.next;var a=Gt===null?yt.memoizedState:Gt.next;if(a!==null)Gt=a,Ot=e;else{if(e===null)throw Error(ke(310));Ot=e,e={memoizedState:Ot.memoizedState,baseState:Ot.baseState,baseQueue:Ot.baseQueue,queue:Ot.queue,next:null},Gt===null?yt.memoizedState=Gt=e:Gt=Gt.next=e}return Gt}function Bc(e,a){return typeof a=="function"?a(e):a}function TT(e){var a=ir(),t=a.queue;if(t===null)throw Error(ke(311));t.lastRenderedReducer=e;var n=Ot,i=n.baseQueue,r=t.pending;if(r!==null){if(i!==null){var s=i.next;i.next=r.next,r.next=s}n.baseQueue=i=r,t.pending=null}if(i!==null){r=i.next,n=n.baseState;var u=s=null,o=null,l=r;do{var g=l.lane;if((tl&g)===g)o!==null&&(o=o.next={lane:0,action:l.action,hasEagerState:l.hasEagerState,eagerState:l.eagerState,next:null}),n=l.hasEagerState?l.eagerState:e(n,l.action);else{var d={lane:g,action:l.action,hasEagerState:l.hasEagerState,eagerState:l.eagerState,next:null};o===null?(u=o=d,s=n):o=o.next=d,yt.lanes|=g,nl|=g}l=l.next}while(l!==null&&l!==r);o===null?s=n:o.next=u,_r(n,a.memoizedState)||(ri=!0),a.memoizedState=n,a.baseState=s,a.baseQueue=o,t.lastRenderedState=n}if(e=t.interleaved,e!==null){i=e;do r=i.lane,yt.lanes|=r,nl|=r,i=i.next;while(i!==e)}else i===null&&(t.lanes=0);return[a.memoizedState,t.dispatch]}function ST(e){var a=ir(),t=a.queue;if(t===null)throw Error(ke(311));t.lastRenderedReducer=e;var n=t.dispatch,i=t.pending,r=a.memoizedState;if(i!==null){t.pending=null;var s=i=i.next;do r=e(r,s.action),s=s.next;while(s!==i);_r(r,a.memoizedState)||(ri=!0),a.memoizedState=r,a.baseQueue===null&&(a.baseState=r),t.lastRenderedState=r}return[r,n]}function gB(){}function dB(e,a){var t=yt,n=ir(),i=a(),r=!_r(n.memoizedState,i);if(r&&(n.memoizedState=i,ri=!0),n=n.queue,cD(fB.bind(null,t,n,e),[e]),n.getSnapshot!==a||r||Gt!==null&&Gt.memoizedState.tag&1){if(t.flags|=2048,Fc(9,pB.bind(null,t,n,i,a),void 0,null),Qt===null)throw Error(ke(349));tl&30||cB(t,a,i)}return i}function cB(e,a,t){e.flags|=16384,e={getSnapshot:a,value:t},a=yt.updateQueue,a===null?(a={lastEffect:null,stores:null},yt.updateQueue=a,a.stores=[e]):(t=a.stores,t===null?a.stores=[e]:t.push(e))}function pB(e,a,t,n){a.value=t,a.getSnapshot=n,hB(a)&&mB(e)}function fB(e,a,t){return t(function(){hB(a)&&mB(e)})}function hB(e){var a=e.getSnapshot;e=e.value;try{var t=a();return!_r(e,t)}catch{return!0}}function mB(e){var a=Ys(e,1);a!==null&&wr(a,e,1,-1)}function CC(e){var a=Kr();return typeof e=="function"&&(e=e()),a.memoizedState=a.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Bc,lastRenderedState:e},a.queue=e,e=e.dispatch=pye.bind(null,yt,e),[a.memoizedState,e]}function Fc(e,a,t,n){return e={tag:e,create:a,destroy:t,deps:n,next:null},a=yt.updateQueue,a===null?(a={lastEffect:null,stores:null},yt.updateQueue=a,a.lastEffect=e.next=e):(t=a.lastEffect,t===null?a.lastEffect=e.next=e:(n=t.next,t.next=e,e.next=n,a.lastEffect=e)),e}function yB(){return ir().memoizedState}function F2(e,a,t,n){var i=Kr();yt.flags|=e,i.memoizedState=Fc(1|a,t,void 0,n===void 0?null:n)}function g9(e,a,t,n){var i=ir();n=n===void 0?null:n;var r=void 0;if(Ot!==null){var s=Ot.memoizedState;if(r=s.destroy,n!==null&&lD(n,s.deps)){i.memoizedState=Fc(a,t,r,n);return}}yt.flags|=e,i.memoizedState=Fc(1|a,t,r,n)}function wC(e,a){return F2(8390656,8,e,a)}function cD(e,a){return g9(2048,8,e,a)}function bB(e,a){return g9(4,2,e,a)}function TB(e,a){return g9(4,4,e,a)}function SB(e,a){if(typeof a=="function")return e=e(),a(e),function(){a(null)};if(a!=null)return e=e(),a.current=e,function(){a.current=null}}function AB(e,a,t){return t=t!=null?t.concat([e]):null,g9(4,4,SB.bind(null,a,e),t)}function pD(){}function vB(e,a){var t=ir();a=a===void 0?null:a;var n=t.memoizedState;return n!==null&&a!==null&&lD(a,n[1])?n[0]:(t.memoizedState=[e,a],e)}function DB(e,a){var t=ir();a=a===void 0?null:a;var n=t.memoizedState;return n!==null&&a!==null&&lD(a,n[1])?n[0]:(e=e(),t.memoizedState=[e,a],e)}function xB(e,a,t){return tl&21?(_r(t,a)||(t=_O(),yt.lanes|=t,nl|=t,e.baseState=!0),a):(e.baseState&&(e.baseState=!1,ri=!0),e.memoizedState=t)}function dye(e,a){var t=$a;$a=t!==0&&4>t?t:4,e(!0);var n=bT.transition;bT.transition={};try{e(!1),a()}finally{$a=t,bT.transition=n}}function EB(){return ir().memoizedState}function cye(e,a,t){var n=qu(e);if(t={lane:n,action:t,hasEagerState:!1,eagerState:null,next:null},kB(e))CB(a,t);else if(t=uB(e,a,t,n),t!==null){var i=Fn();wr(t,e,n,i),wB(t,a,n)}}function pye(e,a,t){var n=qu(e),i={lane:n,action:t,hasEagerState:!1,eagerState:null,next:null};if(kB(e))CB(a,i);else{var r=e.alternate;if(e.lanes===0&&(r===null||r.lanes===0)&&(r=a.lastRenderedReducer,r!==null))try{var s=a.lastRenderedState,u=r(s,t);if(i.hasEagerState=!0,i.eagerState=u,_r(u,s)){var o=a.interleaved;o===null?(i.next=i,iD(a)):(i.next=o.next,o.next=i),a.interleaved=i;return}}catch{}finally{}t=uB(e,a,i,n),t!==null&&(i=Fn(),wr(t,e,n,i),wB(t,a,n))}}function kB(e){var a=e.alternate;return e===yt||a!==null&&a===yt}function CB(e,a){V0=hm=!0;var t=e.pending;t===null?a.next=a:(a.next=t.next,t.next=a),e.pending=a}function wB(e,a,t){if(t&4194240){var n=a.lanes;n&=e.pendingLanes,t|=n,a.lanes=t,H6(e,t)}}var mm={readContext:nr,useCallback:Dn,useContext:Dn,useEffect:Dn,useImperativeHandle:Dn,useInsertionEffect:Dn,useLayoutEffect:Dn,useMemo:Dn,useReducer:Dn,useRef:Dn,useState:Dn,useDebugValue:Dn,useDeferredValue:Dn,useTransition:Dn,useMutableSource:Dn,useSyncExternalStore:Dn,useId:Dn,unstable_isNewReconciler:!1},fye={readContext:nr,useCallback:function(e,a){return Kr().memoizedState=[e,a===void 0?null:a],e},useContext:nr,useEffect:wC,useImperativeHandle:function(e,a,t){return t=t!=null?t.concat([e]):null,F2(4194308,4,SB.bind(null,a,e),t)},useLayoutEffect:function(e,a){return F2(4194308,4,e,a)},useInsertionEffect:function(e,a){return F2(4,2,e,a)},useMemo:function(e,a){var t=Kr();return a=a===void 0?null:a,e=e(),t.memoizedState=[e,a],e},useReducer:function(e,a,t){var n=Kr();return a=t!==void 0?t(a):a,n.memoizedState=n.baseState=a,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:a},n.queue=e,e=e.dispatch=cye.bind(null,yt,e),[n.memoizedState,e]},useRef:function(e){var a=Kr();return e={current:e},a.memoizedState=e},useState:CC,useDebugValue:pD,useDeferredValue:function(e){return Kr().memoizedState=e},useTransition:function(){var e=CC(!1),a=e[0];return e=dye.bind(null,e[1]),Kr().memoizedState=e,[a,e]},useMutableSource:function(){},useSyncExternalStore:function(e,a,t){var n=yt,i=Kr();if(ct){if(t===void 0)throw Error(ke(407));t=t()}else{if(t=a(),Qt===null)throw Error(ke(349));tl&30||cB(n,a,t)}i.memoizedState=t;var r={value:t,getSnapshot:a};return i.queue=r,wC(fB.bind(null,n,r,e),[e]),n.flags|=2048,Fc(9,pB.bind(null,n,r,t,a),void 0,null),t},useId:function(){var e=Kr(),a=Qt.identifierPrefix;if(ct){var t=Us,n=Fs;t=(n&~(1<<32-Cr(n)-1)).toString(32)+t,a=":"+a+"R"+t,t=Oc++,0<t&&(a+="H"+t.toString(32)),a+=":"}else t=gye++,a=":"+a+"r"+t.toString(32)+":";return e.memoizedState=a},unstable_isNewReconciler:!1},hye={readContext:nr,useCallback:vB,useContext:nr,useEffect:cD,useImperativeHandle:AB,useInsertionEffect:bB,useLayoutEffect:TB,useMemo:DB,useReducer:TT,useRef:yB,useState:function(){return TT(Bc)},useDebugValue:pD,useDeferredValue:function(e){var a=ir();return xB(a,Ot.memoizedState,e)},useTransition:function(){var e=TT(Bc)[0],a=ir().memoizedState;return[e,a]},useMutableSource:gB,useSyncExternalStore:dB,useId:EB,unstable_isNewReconciler:!1},mye={readContext:nr,useCallback:vB,useContext:nr,useEffect:cD,useImperativeHandle:AB,useInsertionEffect:bB,useLayoutEffect:TB,useMemo:DB,useReducer:ST,useRef:yB,useState:function(){return ST(Bc)},useDebugValue:pD,useDeferredValue:function(e){var a=ir();return Ot===null?a.memoizedState=e:xB(a,Ot.memoizedState,e)},useTransition:function(){var e=ST(Bc)[0],a=ir().memoizedState;return[e,a]},useMutableSource:gB,useSyncExternalStore:dB,useId:EB,unstable_isNewReconciler:!1};function hr(e,a){if(e&&e.defaultProps){a=Tt({},a),e=e.defaultProps;for(var t in e)a[t]===void 0&&(a[t]=e[t]);return a}return a}function r7(e,a,t,n){a=e.memoizedState,t=t(n,a),t=t==null?a:Tt({},a,t),e.memoizedState=t,e.lanes===0&&(e.updateQueue.baseState=t)}var d9={isMounted:function(e){return(e=e._reactInternals)?Al(e)===e:!1},enqueueSetState:function(e,a,t){e=e._reactInternals;var n=Fn(),i=qu(e),r=$s(n,i);r.payload=a,t!=null&&(r.callback=t),a=Ku(e,r,i),a!==null&&(wr(a,e,i,n),O2(a,e,i))},enqueueReplaceState:function(e,a,t){e=e._reactInternals;var n=Fn(),i=qu(e),r=$s(n,i);r.tag=1,r.payload=a,t!=null&&(r.callback=t),a=Ku(e,r,i),a!==null&&(wr(a,e,i,n),O2(a,e,i))},enqueueForceUpdate:function(e,a){e=e._reactInternals;var t=Fn(),n=qu(e),i=$s(t,n);i.tag=2,a!=null&&(i.callback=a),a=Ku(e,i,n),a!==null&&(wr(a,e,n,t),O2(a,e,n))}};function _C(e,a,t,n,i,r,s){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(n,r,s):a.prototype&&a.prototype.isPureReactComponent?!Ic(t,n)||!Ic(i,r):!0}function _B(e,a,t){var n=!1,i=Ju,r=a.contextType;return typeof r=="object"&&r!==null?r=nr(r):(i=li(a)?el:Cn.current,n=a.contextTypes,r=(n=n!=null)?Kg(e,i):Ju),a=new a(t,r),e.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,a.updater=d9,e.stateNode=a,a._reactInternals=e,n&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=i,e.__reactInternalMemoizedMaskedChildContext=r),a}function IC(e,a,t,n){e=a.state,typeof a.componentWillReceiveProps=="function"&&a.componentWillReceiveProps(t,n),typeof a.UNSAFE_componentWillReceiveProps=="function"&&a.UNSAFE_componentWillReceiveProps(t,n),a.state!==e&&d9.enqueueReplaceState(a,a.state,null)}function s7(e,a,t,n){var i=e.stateNode;i.props=t,i.state=e.memoizedState,i.refs={},rD(e);var r=a.contextType;typeof r=="object"&&r!==null?i.context=nr(r):(r=li(a)?el:Cn.current,i.context=Kg(e,r)),i.state=e.memoizedState,r=a.getDerivedStateFromProps,typeof r=="function"&&(r7(e,a,r,t),i.state=e.memoizedState),typeof a.getDerivedStateFromProps=="function"||typeof i.getSnapshotBeforeUpdate=="function"||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(a=i.state,typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount(),a!==i.state&&d9.enqueueReplaceState(i,i.state,null),pm(e,t,i,n),i.state=e.memoizedState),typeof i.componentDidMount=="function"&&(e.flags|=4194308)}function Gg(e,a){try{var t="",n=a;do t+=Hhe(n),n=n.return;while(n);var i=t}catch(r){i=`
Error generating stack: `+r.message+`
`+r.stack}return{value:e,source:a,stack:i,digest:null}}function AT(e,a,t){return{value:e,source:null,stack:t??null,digest:a??null}}function u7(e,a){try{console.error(a.value)}catch(t){setTimeout(function(){throw t})}}var yye=typeof WeakMap=="function"?WeakMap:Map;function IB(e,a,t){t=$s(-1,t),t.tag=3,t.payload={element:null};var n=a.value;return t.callback=function(){bm||(bm=!0,y7=n),u7(e,a)},t}function NB(e,a,t){t=$s(-1,t),t.tag=3;var n=e.type.getDerivedStateFromError;if(typeof n=="function"){var i=a.value;t.payload=function(){return n(i)},t.callback=function(){u7(e,a)}}var r=e.stateNode;return r!==null&&typeof r.componentDidCatch=="function"&&(t.callback=function(){u7(e,a),typeof n!="function"&&(Hu===null?Hu=new Set([this]):Hu.add(this));var s=a.stack;this.componentDidCatch(a.value,{componentStack:s!==null?s:""})}),t}function NC(e,a,t){var n=e.pingCache;if(n===null){n=e.pingCache=new yye;var i=new Set;n.set(a,i)}else i=n.get(a),i===void 0&&(i=new Set,n.set(a,i));i.has(t)||(i.add(t),e=Nye.bind(null,e,a,t),a.then(e,e))}function LC(e){do{var a;if((a=e.tag===13)&&(a=e.memoizedState,a=a!==null?a.dehydrated!==null:!0),a)return e;e=e.return}while(e!==null);return null}function RC(e,a,t,n,i){return e.mode&1?(e.flags|=65536,e.lanes=i,e):(e===a?e.flags|=65536:(e.flags|=128,t.flags|=131072,t.flags&=-52805,t.tag===1&&(t.alternate===null?t.tag=17:(a=$s(-1,1),a.tag=2,Ku(t,a,1))),t.lanes|=1),e)}var bye=nu.ReactCurrentOwner,ri=!1;function Mn(e,a,t,n){a.child=e===null?sB(a,null,t,n):qg(a,e.child,t,n)}function PC(e,a,t,n,i){t=t.render;var r=a.ref;return Cg(a,i),n=gD(e,a,t,n,r,i),t=dD(),e!==null&&!ri?(a.updateQueue=e.updateQueue,a.flags&=-2053,e.lanes&=~i,Xs(e,a,i)):(ct&&t&&Z6(a),a.flags|=1,Mn(e,a,n,i),a.child)}function MC(e,a,t,n,i){if(e===null){var r=t.type;return typeof r=="function"&&!AD(r)&&r.defaultProps===void 0&&t.compare===null&&t.defaultProps===void 0?(a.tag=15,a.type=r,LB(e,a,r,n,i)):(e=$2(t.type,null,n,a,a.mode,i),e.ref=a.ref,e.return=a,a.child=e)}if(r=e.child,!(e.lanes&i)){var s=r.memoizedProps;if(t=t.compare,t=t!==null?t:Ic,t(s,n)&&e.ref===a.ref)return Xs(e,a,i)}return a.flags|=1,e=Vu(r,n),e.ref=a.ref,e.return=a,a.child=e}function LB(e,a,t,n,i){if(e!==null){var r=e.memoizedProps;if(Ic(r,n)&&e.ref===a.ref)if(ri=!1,a.pendingProps=n=r,(e.lanes&i)!==0)e.flags&131072&&(ri=!0);else return a.lanes=e.lanes,Xs(e,a,i)}return o7(e,a,t,n,i)}function RB(e,a,t){var n=a.pendingProps,i=n.children,r=e!==null?e.memoizedState:null;if(n.mode==="hidden")if(!(a.mode&1))a.memoizedState={baseLanes:0,cachePool:null,transitions:null},tt(lg,bi),bi|=t;else{if(!(t&1073741824))return e=r!==null?r.baseLanes|t:t,a.lanes=a.childLanes=1073741824,a.memoizedState={baseLanes:e,cachePool:null,transitions:null},a.updateQueue=null,tt(lg,bi),bi|=e,null;a.memoizedState={baseLanes:0,cachePool:null,transitions:null},n=r!==null?r.baseLanes:t,tt(lg,bi),bi|=n}else r!==null?(n=r.baseLanes|t,a.memoizedState=null):n=t,tt(lg,bi),bi|=n;return Mn(e,a,i,t),a.child}function PB(e,a){var t=a.ref;(e===null&&t!==null||e!==null&&e.ref!==t)&&(a.flags|=512,a.flags|=2097152)}function o7(e,a,t,n,i){var r=li(t)?el:Cn.current;return r=Kg(a,r),Cg(a,i),t=gD(e,a,t,n,r,i),n=dD(),e!==null&&!ri?(a.updateQueue=e.updateQueue,a.flags&=-2053,e.lanes&=~i,Xs(e,a,i)):(ct&&n&&Z6(a),a.flags|=1,Mn(e,a,t,i),a.child)}function OC(e,a,t,n,i){if(li(t)){var r=!0;om(a)}else r=!1;if(Cg(a,i),a.stateNode===null)U2(e,a),_B(a,t,n),s7(a,t,n,i),n=!0;else if(e===null){var s=a.stateNode,u=a.memoizedProps;s.props=u;var o=s.context,l=t.contextType;typeof l=="object"&&l!==null?l=nr(l):(l=li(t)?el:Cn.current,l=Kg(a,l));var g=t.getDerivedStateFromProps,d=typeof g=="function"||typeof s.getSnapshotBeforeUpdate=="function";d||typeof s.UNSAFE_componentWillReceiveProps!="function"&&typeof s.componentWillReceiveProps!="function"||(u!==n||o!==l)&&IC(a,s,n,l),bu=!1;var c=a.memoizedState;s.state=c,pm(a,n,s,i),o=a.memoizedState,u!==n||c!==o||oi.current||bu?(typeof g=="function"&&(r7(a,t,g,n),o=a.memoizedState),(u=bu||_C(a,t,u,n,c,o,l))?(d||typeof s.UNSAFE_componentWillMount!="function"&&typeof s.componentWillMount!="function"||(typeof s.componentWillMount=="function"&&s.componentWillMount(),typeof s.UNSAFE_componentWillMount=="function"&&s.UNSAFE_componentWillMount()),typeof s.componentDidMount=="function"&&(a.flags|=4194308)):(typeof s.componentDidMount=="function"&&(a.flags|=4194308),a.memoizedProps=n,a.memoizedState=o),s.props=n,s.state=o,s.context=l,n=u):(typeof s.componentDidMount=="function"&&(a.flags|=4194308),n=!1)}else{s=a.stateNode,oB(e,a),u=a.memoizedProps,l=a.type===a.elementType?u:hr(a.type,u),s.props=l,d=a.pendingProps,c=s.context,o=t.contextType,typeof o=="object"&&o!==null?o=nr(o):(o=li(t)?el:Cn.current,o=Kg(a,o));var p=t.getDerivedStateFromProps;(g=typeof p=="function"||typeof s.getSnapshotBeforeUpdate=="function")||typeof s.UNSAFE_componentWillReceiveProps!="function"&&typeof s.componentWillReceiveProps!="function"||(u!==d||c!==o)&&IC(a,s,n,o),bu=!1,c=a.memoizedState,s.state=c,pm(a,n,s,i);var f=a.memoizedState;u!==d||c!==f||oi.current||bu?(typeof p=="function"&&(r7(a,t,p,n),f=a.memoizedState),(l=bu||_C(a,t,l,n,c,f,o)||!1)?(g||typeof s.UNSAFE_componentWillUpdate!="function"&&typeof s.componentWillUpdate!="function"||(typeof s.componentWillUpdate=="function"&&s.componentWillUpdate(n,f,o),typeof s.UNSAFE_componentWillUpdate=="function"&&s.UNSAFE_componentWillUpdate(n,f,o)),typeof s.componentDidUpdate=="function"&&(a.flags|=4),typeof s.getSnapshotBeforeUpdate=="function"&&(a.flags|=1024)):(typeof s.componentDidUpdate!="function"||u===e.memoizedProps&&c===e.memoizedState||(a.flags|=4),typeof s.getSnapshotBeforeUpdate!="function"||u===e.memoizedProps&&c===e.memoizedState||(a.flags|=1024),a.memoizedProps=n,a.memoizedState=f),s.props=n,s.state=f,s.context=o,n=l):(typeof s.componentDidUpdate!="function"||u===e.memoizedProps&&c===e.memoizedState||(a.flags|=4),typeof s.getSnapshotBeforeUpdate!="function"||u===e.memoizedProps&&c===e.memoizedState||(a.flags|=1024),n=!1)}return l7(e,a,t,n,r,i)}function l7(e,a,t,n,i,r){PB(e,a);var s=(a.flags&128)!==0;if(!n&&!s)return i&&AC(a,t,!1),Xs(e,a,r);n=a.stateNode,bye.current=a;var u=s&&typeof t.getDerivedStateFromError!="function"?null:n.render();return a.flags|=1,e!==null&&s?(a.child=qg(a,e.child,null,r),a.child=qg(a,null,u,r)):Mn(e,a,u,r),a.memoizedState=n.state,i&&AC(a,t,!0),a.child}function MB(e){var a=e.stateNode;a.pendingContext?SC(e,a.pendingContext,a.pendingContext!==a.context):a.context&&SC(e,a.context,!1),sD(e,a.containerInfo)}function BC(e,a,t,n,i){return Hg(),eD(i),a.flags|=256,Mn(e,a,t,n),a.child}var g7={dehydrated:null,treeContext:null,retryLane:0};function d7(e){return{baseLanes:e,cachePool:null,transitions:null}}function OB(e,a,t){var n=a.pendingProps,i=mt.current,r=!1,s=(a.flags&128)!==0,u;if((u=s)||(u=e!==null&&e.memoizedState===null?!1:(i&2)!==0),u?(r=!0,a.flags&=-129):(e===null||e.memoizedState!==null)&&(i|=1),tt(mt,i&1),e===null)return n7(a),e=a.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(a.mode&1?e.data==="$!"?a.lanes=8:a.lanes=1073741824:a.lanes=1,null):(s=n.children,e=n.fallback,r?(n=a.mode,r=a.child,s={mode:"hidden",children:s},!(n&1)&&r!==null?(r.childLanes=0,r.pendingProps=s):r=f9(s,n,0,null),e=qo(e,n,t,null),r.return=a,e.return=a,r.sibling=e,a.child=r,a.child.memoizedState=d7(t),a.memoizedState=g7,e):fD(a,s));if(i=e.memoizedState,i!==null&&(u=i.dehydrated,u!==null))return Tye(e,a,s,n,u,i,t);if(r){r=n.fallback,s=a.mode,i=e.child,u=i.sibling;var o={mode:"hidden",children:n.children};return!(s&1)&&a.child!==i?(n=a.child,n.childLanes=0,n.pendingProps=o,a.deletions=null):(n=Vu(i,o),n.subtreeFlags=i.subtreeFlags&14680064),u!==null?r=Vu(u,r):(r=qo(r,s,t,null),r.flags|=2),r.return=a,n.return=a,n.sibling=r,a.child=n,n=r,r=a.child,s=e.child.memoizedState,s=s===null?d7(t):{baseLanes:s.baseLanes|t,cachePool:null,transitions:s.transitions},r.memoizedState=s,r.childLanes=e.childLanes&~t,a.memoizedState=g7,n}return r=e.child,e=r.sibling,n=Vu(r,{mode:"visible",children:n.children}),!(a.mode&1)&&(n.lanes=t),n.return=a,n.sibling=null,e!==null&&(t=a.deletions,t===null?(a.deletions=[e],a.flags|=16):t.push(e)),a.child=n,a.memoizedState=null,n}function fD(e,a){return a=f9({mode:"visible",children:a},e.mode,0,null),a.return=e,e.child=a}function Ff(e,a,t,n){return n!==null&&eD(n),qg(a,e.child,null,t),e=fD(a,a.pendingProps.children),e.flags|=2,a.memoizedState=null,e}function Tye(e,a,t,n,i,r,s){if(t)return a.flags&256?(a.flags&=-257,n=AT(Error(ke(422))),Ff(e,a,s,n)):a.memoizedState!==null?(a.child=e.child,a.flags|=128,null):(r=n.fallback,i=a.mode,n=f9({mode:"visible",children:n.children},i,0,null),r=qo(r,i,s,null),r.flags|=2,n.return=a,r.return=a,n.sibling=r,a.child=n,a.mode&1&&qg(a,e.child,null,s),a.child.memoizedState=d7(s),a.memoizedState=g7,r);if(!(a.mode&1))return Ff(e,a,s,null);if(i.data==="$!"){if(n=i.nextSibling&&i.nextSibling.dataset,n)var u=n.dgst;return n=u,r=Error(ke(419)),n=AT(r,n,void 0),Ff(e,a,s,n)}if(u=(s&e.childLanes)!==0,ri||u){if(n=Qt,n!==null){switch(s&-s){case 4:i=2;break;case 16:i=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:i=32;break;case 536870912:i=268435456;break;default:i=0}i=i&(n.suspendedLanes|s)?0:i,i!==0&&i!==r.retryLane&&(r.retryLane=i,Ys(e,i),wr(n,e,i,-1))}return SD(),n=AT(Error(ke(421))),Ff(e,a,s,n)}return i.data==="$?"?(a.flags|=128,a.child=e.child,a=Lye.bind(null,e),i._reactRetry=a,null):(e=r.treeContext,Ei=$u(i.nextSibling),Ci=a,ct=!0,Tr=null,e!==null&&(Vi[Gi++]=Fs,Vi[Gi++]=Us,Vi[Gi++]=al,Fs=e.id,Us=e.overflow,al=a),a=fD(a,n.children),a.flags|=4096,a)}function FC(e,a,t){e.lanes|=a;var n=e.alternate;n!==null&&(n.lanes|=a),i7(e.return,a,t)}function vT(e,a,t,n,i){var r=e.memoizedState;r===null?e.memoizedState={isBackwards:a,rendering:null,renderingStartTime:0,last:n,tail:t,tailMode:i}:(r.isBackwards=a,r.rendering=null,r.renderingStartTime=0,r.last=n,r.tail=t,r.tailMode=i)}function BB(e,a,t){var n=a.pendingProps,i=n.revealOrder,r=n.tail;if(Mn(e,a,n.children,t),n=mt.current,n&2)n=n&1|2,a.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=a.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&FC(e,t,a);else if(e.tag===19)FC(e,t,a);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===a)break e;for(;e.sibling===null;){if(e.return===null||e.return===a)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}n&=1}if(tt(mt,n),!(a.mode&1))a.memoizedState=null;else switch(i){case"forwards":for(t=a.child,i=null;t!==null;)e=t.alternate,e!==null&&fm(e)===null&&(i=t),t=t.sibling;t=i,t===null?(i=a.child,a.child=null):(i=t.sibling,t.sibling=null),vT(a,!1,i,t,r);break;case"backwards":for(t=null,i=a.child,a.child=null;i!==null;){if(e=i.alternate,e!==null&&fm(e)===null){a.child=i;break}e=i.sibling,i.sibling=t,t=i,i=e}vT(a,!0,t,null,r);break;case"together":vT(a,!1,null,null,void 0);break;default:a.memoizedState=null}return a.child}function U2(e,a){!(a.mode&1)&&e!==null&&(e.alternate=null,a.alternate=null,a.flags|=2)}function Xs(e,a,t){if(e!==null&&(a.dependencies=e.dependencies),nl|=a.lanes,!(t&a.childLanes))return null;if(e!==null&&a.child!==e.child)throw Error(ke(153));if(a.child!==null){for(e=a.child,t=Vu(e,e.pendingProps),a.child=t,t.return=a;e.sibling!==null;)e=e.sibling,t=t.sibling=Vu(e,e.pendingProps),t.return=a;t.sibling=null}return a.child}function Sye(e,a,t){switch(a.tag){case 3:MB(a),Hg();break;case 5:lB(a);break;case 1:li(a.type)&&om(a);break;case 4:sD(a,a.stateNode.containerInfo);break;case 10:var n=a.type._context,i=a.memoizedProps.value;tt(dm,n._currentValue),n._currentValue=i;break;case 13:if(n=a.memoizedState,n!==null)return n.dehydrated!==null?(tt(mt,mt.current&1),a.flags|=128,null):t&a.child.childLanes?OB(e,a,t):(tt(mt,mt.current&1),e=Xs(e,a,t),e!==null?e.sibling:null);tt(mt,mt.current&1);break;case 19:if(n=(t&a.childLanes)!==0,e.flags&128){if(n)return BB(e,a,t);a.flags|=128}if(i=a.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),tt(mt,mt.current),n)break;return null;case 22:case 23:return a.lanes=0,RB(e,a,t)}return Xs(e,a,t)}var FB,c7,UB,jB;FB=function(e,a){for(var t=a.child;t!==null;){if(t.tag===5||t.tag===6)e.appendChild(t.stateNode);else if(t.tag!==4&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===a)break;for(;t.sibling===null;){if(t.return===null||t.return===a)return;t=t.return}t.sibling.return=t.return,t=t.sibling}};c7=function(){};UB=function(e,a,t,n){var i=e.memoizedProps;if(i!==n){e=a.stateNode,jo(ds.current);var r=null;switch(t){case"input":i=PA(e,i),n=PA(e,n),r=[];break;case"select":i=Tt({},i,{value:void 0}),n=Tt({},n,{value:void 0}),r=[];break;case"textarea":i=BA(e,i),n=BA(e,n),r=[];break;default:typeof i.onClick!="function"&&typeof n.onClick=="function"&&(e.onclick=sm)}UA(t,n);var s;t=null;for(l in i)if(!n.hasOwnProperty(l)&&i.hasOwnProperty(l)&&i[l]!=null)if(l==="style"){var u=i[l];for(s in u)u.hasOwnProperty(s)&&(t||(t={}),t[s]="")}else l!=="dangerouslySetInnerHTML"&&l!=="children"&&l!=="suppressContentEditableWarning"&&l!=="suppressHydrationWarning"&&l!=="autoFocus"&&(Dc.hasOwnProperty(l)?r||(r=[]):(r=r||[]).push(l,null));for(l in n){var o=n[l];if(u=i!=null?i[l]:void 0,n.hasOwnProperty(l)&&o!==u&&(o!=null||u!=null))if(l==="style")if(u){for(s in u)!u.hasOwnProperty(s)||o&&o.hasOwnProperty(s)||(t||(t={}),t[s]="");for(s in o)o.hasOwnProperty(s)&&u[s]!==o[s]&&(t||(t={}),t[s]=o[s])}else t||(r||(r=[]),r.push(l,t)),t=o;else l==="dangerouslySetInnerHTML"?(o=o?o.__html:void 0,u=u?u.__html:void 0,o!=null&&u!==o&&(r=r||[]).push(l,o)):l==="children"?typeof o!="string"&&typeof o!="number"||(r=r||[]).push(l,""+o):l!=="suppressContentEditableWarning"&&l!=="suppressHydrationWarning"&&(Dc.hasOwnProperty(l)?(o!=null&&l==="onScroll"&&it("scroll",e),r||u===o||(r=[])):(r=r||[]).push(l,o))}t&&(r=r||[]).push("style",t);var l=r;(a.updateQueue=l)&&(a.flags|=4)}};jB=function(e,a,t,n){t!==n&&(a.flags|=4)};function Zd(e,a){if(!ct)switch(e.tailMode){case"hidden":a=e.tail;for(var t=null;a!==null;)a.alternate!==null&&(t=a),a=a.sibling;t===null?e.tail=null:t.sibling=null;break;case"collapsed":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?a||e.tail===null?e.tail=null:e.tail.sibling=null:n.sibling=null}}function xn(e){var a=e.alternate!==null&&e.alternate.child===e.child,t=0,n=0;if(a)for(var i=e.child;i!==null;)t|=i.lanes|i.childLanes,n|=i.subtreeFlags&14680064,n|=i.flags&14680064,i.return=e,i=i.sibling;else for(i=e.child;i!==null;)t|=i.lanes|i.childLanes,n|=i.subtreeFlags,n|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=n,e.childLanes=t,a}function Aye(e,a,t){var n=a.pendingProps;switch(J6(a),a.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return xn(a),null;case 1:return li(a.type)&&um(),xn(a),null;case 3:return n=a.stateNode,Vg(),ut(oi),ut(Cn),oD(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(Of(a)?a.flags|=4:e===null||e.memoizedState.isDehydrated&&!(a.flags&256)||(a.flags|=1024,Tr!==null&&(S7(Tr),Tr=null))),c7(e,a),xn(a),null;case 5:uD(a);var i=jo(Mc.current);if(t=a.type,e!==null&&a.stateNode!=null)UB(e,a,t,n,i),e.ref!==a.ref&&(a.flags|=512,a.flags|=2097152);else{if(!n){if(a.stateNode===null)throw Error(ke(166));return xn(a),null}if(e=jo(ds.current),Of(a)){n=a.stateNode,t=a.type;var r=a.memoizedProps;switch(n[Zr]=a,n[Rc]=r,e=(a.mode&1)!==0,t){case"dialog":it("cancel",n),it("close",n);break;case"iframe":case"object":case"embed":it("load",n);break;case"video":case"audio":for(i=0;i<v0.length;i++)it(v0[i],n);break;case"source":it("error",n);break;case"img":case"image":case"link":it("error",n),it("load",n);break;case"details":it("toggle",n);break;case"input":Gk(n,r),it("invalid",n);break;case"select":n._wrapperState={wasMultiple:!!r.multiple},it("invalid",n);break;case"textarea":Yk(n,r),it("invalid",n)}UA(t,r),i=null;for(var s in r)if(r.hasOwnProperty(s)){var u=r[s];s==="children"?typeof u=="string"?n.textContent!==u&&(r.suppressHydrationWarning!==!0&&Mf(n.textContent,u,e),i=["children",u]):typeof u=="number"&&n.textContent!==""+u&&(r.suppressHydrationWarning!==!0&&Mf(n.textContent,u,e),i=["children",""+u]):Dc.hasOwnProperty(s)&&u!=null&&s==="onScroll"&&it("scroll",n)}switch(t){case"input":Cf(n),Wk(n,r,!0);break;case"textarea":Cf(n),Xk(n);break;case"select":case"option":break;default:typeof r.onClick=="function"&&(n.onclick=sm)}n=i,a.updateQueue=n,n!==null&&(a.flags|=4)}else{s=i.nodeType===9?i:i.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=fO(t)),e==="http://www.w3.org/1999/xhtml"?t==="script"?(e=s.createElement("div"),e.innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):typeof n.is=="string"?e=s.createElement(t,{is:n.is}):(e=s.createElement(t),t==="select"&&(s=e,n.multiple?s.multiple=!0:n.size&&(s.size=n.size))):e=s.createElementNS(e,t),e[Zr]=a,e[Rc]=n,FB(e,a,!1,!1),a.stateNode=e;e:{switch(s=jA(t,n),t){case"dialog":it("cancel",e),it("close",e),i=n;break;case"iframe":case"object":case"embed":it("load",e),i=n;break;case"video":case"audio":for(i=0;i<v0.length;i++)it(v0[i],e);i=n;break;case"source":it("error",e),i=n;break;case"img":case"image":case"link":it("error",e),it("load",e),i=n;break;case"details":it("toggle",e),i=n;break;case"input":Gk(e,n),i=PA(e,n),it("invalid",e);break;case"option":i=n;break;case"select":e._wrapperState={wasMultiple:!!n.multiple},i=Tt({},n,{value:void 0}),it("invalid",e);break;case"textarea":Yk(e,n),i=BA(e,n),it("invalid",e);break;default:i=n}UA(t,i),u=i;for(r in u)if(u.hasOwnProperty(r)){var o=u[r];r==="style"?yO(e,o):r==="dangerouslySetInnerHTML"?(o=o?o.__html:void 0,o!=null&&hO(e,o)):r==="children"?typeof o=="string"?(t!=="textarea"||o!=="")&&xc(e,o):typeof o=="number"&&xc(e,""+o):r!=="suppressContentEditableWarning"&&r!=="suppressHydrationWarning"&&r!=="autoFocus"&&(Dc.hasOwnProperty(r)?o!=null&&r==="onScroll"&&it("scroll",e):o!=null&&F6(e,r,o,s))}switch(t){case"input":Cf(e),Wk(e,n,!1);break;case"textarea":Cf(e),Xk(e);break;case"option":n.value!=null&&e.setAttribute("value",""+Zu(n.value));break;case"select":e.multiple=!!n.multiple,r=n.value,r!=null?Dg(e,!!n.multiple,r,!1):n.defaultValue!=null&&Dg(e,!!n.multiple,n.defaultValue,!0);break;default:typeof i.onClick=="function"&&(e.onclick=sm)}switch(t){case"button":case"input":case"select":case"textarea":n=!!n.autoFocus;break e;case"img":n=!0;break e;default:n=!1}}n&&(a.flags|=4)}a.ref!==null&&(a.flags|=512,a.flags|=2097152)}return xn(a),null;case 6:if(e&&a.stateNode!=null)jB(e,a,e.memoizedProps,n);else{if(typeof n!="string"&&a.stateNode===null)throw Error(ke(166));if(t=jo(Mc.current),jo(ds.current),Of(a)){if(n=a.stateNode,t=a.memoizedProps,n[Zr]=a,(r=n.nodeValue!==t)&&(e=Ci,e!==null))switch(e.tag){case 3:Mf(n.nodeValue,t,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&Mf(n.nodeValue,t,(e.mode&1)!==0)}r&&(a.flags|=4)}else n=(t.nodeType===9?t:t.ownerDocument).createTextNode(n),n[Zr]=a,a.stateNode=n}return xn(a),null;case 13:if(ut(mt),n=a.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(ct&&Ei!==null&&a.mode&1&&!(a.flags&128))iB(),Hg(),a.flags|=98560,r=!1;else if(r=Of(a),n!==null&&n.dehydrated!==null){if(e===null){if(!r)throw Error(ke(318));if(r=a.memoizedState,r=r!==null?r.dehydrated:null,!r)throw Error(ke(317));r[Zr]=a}else Hg(),!(a.flags&128)&&(a.memoizedState=null),a.flags|=4;xn(a),r=!1}else Tr!==null&&(S7(Tr),Tr=null),r=!0;if(!r)return a.flags&65536?a:null}return a.flags&128?(a.lanes=t,a):(n=n!==null,n!==(e!==null&&e.memoizedState!==null)&&n&&(a.child.flags|=8192,a.mode&1&&(e===null||mt.current&1?Ft===0&&(Ft=3):SD())),a.updateQueue!==null&&(a.flags|=4),xn(a),null);case 4:return Vg(),c7(e,a),e===null&&Nc(a.stateNode.containerInfo),xn(a),null;case 10:return nD(a.type._context),xn(a),null;case 17:return li(a.type)&&um(),xn(a),null;case 19:if(ut(mt),r=a.memoizedState,r===null)return xn(a),null;if(n=(a.flags&128)!==0,s=r.rendering,s===null)if(n)Zd(r,!1);else{if(Ft!==0||e!==null&&e.flags&128)for(e=a.child;e!==null;){if(s=fm(e),s!==null){for(a.flags|=128,Zd(r,!1),n=s.updateQueue,n!==null&&(a.updateQueue=n,a.flags|=4),a.subtreeFlags=0,n=t,t=a.child;t!==null;)r=t,e=n,r.flags&=14680066,s=r.alternate,s===null?(r.childLanes=0,r.lanes=e,r.child=null,r.subtreeFlags=0,r.memoizedProps=null,r.memoizedState=null,r.updateQueue=null,r.dependencies=null,r.stateNode=null):(r.childLanes=s.childLanes,r.lanes=s.lanes,r.child=s.child,r.subtreeFlags=0,r.deletions=null,r.memoizedProps=s.memoizedProps,r.memoizedState=s.memoizedState,r.updateQueue=s.updateQueue,r.type=s.type,e=s.dependencies,r.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),t=t.sibling;return tt(mt,mt.current&1|2),a.child}e=e.sibling}r.tail!==null&&It()>Wg&&(a.flags|=128,n=!0,Zd(r,!1),a.lanes=4194304)}else{if(!n)if(e=fm(s),e!==null){if(a.flags|=128,n=!0,t=e.updateQueue,t!==null&&(a.updateQueue=t,a.flags|=4),Zd(r,!0),r.tail===null&&r.tailMode==="hidden"&&!s.alternate&&!ct)return xn(a),null}else 2*It()-r.renderingStartTime>Wg&&t!==1073741824&&(a.flags|=128,n=!0,Zd(r,!1),a.lanes=4194304);r.isBackwards?(s.sibling=a.child,a.child=s):(t=r.last,t!==null?t.sibling=s:a.child=s,r.last=s)}return r.tail!==null?(a=r.tail,r.rendering=a,r.tail=a.sibling,r.renderingStartTime=It(),a.sibling=null,t=mt.current,tt(mt,n?t&1|2:t&1),a):(xn(a),null);case 22:case 23:return TD(),n=a.memoizedState!==null,e!==null&&e.memoizedState!==null!==n&&(a.flags|=8192),n&&a.mode&1?bi&1073741824&&(xn(a),a.subtreeFlags&6&&(a.flags|=8192)):xn(a),null;case 24:return null;case 25:return null}throw Error(ke(156,a.tag))}function vye(e,a){switch(J6(a),a.tag){case 1:return li(a.type)&&um(),e=a.flags,e&65536?(a.flags=e&-65537|128,a):null;case 3:return Vg(),ut(oi),ut(Cn),oD(),e=a.flags,e&65536&&!(e&128)?(a.flags=e&-65537|128,a):null;case 5:return uD(a),null;case 13:if(ut(mt),e=a.memoizedState,e!==null&&e.dehydrated!==null){if(a.alternate===null)throw Error(ke(340));Hg()}return e=a.flags,e&65536?(a.flags=e&-65537|128,a):null;case 19:return ut(mt),null;case 4:return Vg(),null;case 10:return nD(a.type._context),null;case 22:case 23:return TD(),null;case 24:return null;default:return null}}var Uf=!1,kn=!1,Dye=typeof WeakSet=="function"?WeakSet:Set,ze=null;function og(e,a){var t=e.ref;if(t!==null)if(typeof t=="function")try{t(null)}catch(n){Dt(e,a,n)}else t.current=null}function p7(e,a,t){try{t()}catch(n){Dt(e,a,n)}}var UC=!1;function xye(e,a){if(XA=nm,e=qO(),Q6(e)){if("selectionStart"in e)var t={start:e.selectionStart,end:e.selectionEnd};else e:{t=(t=e.ownerDocument)&&t.defaultView||window;var n=t.getSelection&&t.getSelection();if(n&&n.rangeCount!==0){t=n.anchorNode;var i=n.anchorOffset,r=n.focusNode;n=n.focusOffset;try{t.nodeType,r.nodeType}catch{t=null;break e}var s=0,u=-1,o=-1,l=0,g=0,d=e,c=null;a:for(;;){for(var p;d!==t||i!==0&&d.nodeType!==3||(u=s+i),d!==r||n!==0&&d.nodeType!==3||(o=s+n),d.nodeType===3&&(s+=d.nodeValue.length),(p=d.firstChild)!==null;)c=d,d=p;for(;;){if(d===e)break a;if(c===t&&++l===i&&(u=s),c===r&&++g===n&&(o=s),(p=d.nextSibling)!==null)break;d=c,c=d.parentNode}d=p}t=u===-1||o===-1?null:{start:u,end:o}}else t=null}t=t||{start:0,end:0}}else t=null;for(QA={focusedElem:e,selectionRange:t},nm=!1,ze=a;ze!==null;)if(a=ze,e=a.child,(a.subtreeFlags&1028)!==0&&e!==null)e.return=a,ze=e;else for(;ze!==null;){a=ze;try{var f=a.alternate;if(a.flags&1024)switch(a.tag){case 0:case 11:case 15:break;case 1:if(f!==null){var h=f.memoizedProps,y=f.memoizedState,b=a.stateNode,m=b.getSnapshotBeforeUpdate(a.elementType===a.type?h:hr(a.type,h),y);b.__reactInternalSnapshotBeforeUpdate=m}break;case 3:var T=a.stateNode.containerInfo;T.nodeType===1?T.textContent="":T.nodeType===9&&T.documentElement&&T.removeChild(T.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(ke(163))}}catch(A){Dt(a,a.return,A)}if(e=a.sibling,e!==null){e.return=a.return,ze=e;break}ze=a.return}return f=UC,UC=!1,f}function G0(e,a,t){var n=a.updateQueue;if(n=n!==null?n.lastEffect:null,n!==null){var i=n=n.next;do{if((i.tag&e)===e){var r=i.destroy;i.destroy=void 0,r!==void 0&&p7(a,t,r)}i=i.next}while(i!==n)}}function c9(e,a){if(a=a.updateQueue,a=a!==null?a.lastEffect:null,a!==null){var t=a=a.next;do{if((t.tag&e)===e){var n=t.create;t.destroy=n()}t=t.next}while(t!==a)}}function f7(e){var a=e.ref;if(a!==null){var t=e.stateNode;switch(e.tag){case 5:e=t;break;default:e=t}typeof a=="function"?a(e):a.current=e}}function zB(e){var a=e.alternate;a!==null&&(e.alternate=null,zB(a)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(a=e.stateNode,a!==null&&(delete a[Zr],delete a[Rc],delete a[e7],delete a[sye],delete a[uye])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function $B(e){return e.tag===5||e.tag===3||e.tag===4}function jC(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||$B(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function h7(e,a,t){var n=e.tag;if(n===5||n===6)e=e.stateNode,a?t.nodeType===8?t.parentNode.insertBefore(e,a):t.insertBefore(e,a):(t.nodeType===8?(a=t.parentNode,a.insertBefore(e,t)):(a=t,a.appendChild(e)),t=t._reactRootContainer,t!=null||a.onclick!==null||(a.onclick=sm));else if(n!==4&&(e=e.child,e!==null))for(h7(e,a,t),e=e.sibling;e!==null;)h7(e,a,t),e=e.sibling}function m7(e,a,t){var n=e.tag;if(n===5||n===6)e=e.stateNode,a?t.insertBefore(e,a):t.appendChild(e);else if(n!==4&&(e=e.child,e!==null))for(m7(e,a,t),e=e.sibling;e!==null;)m7(e,a,t),e=e.sibling}var cn=null,mr=!1;function ou(e,a,t){for(t=t.child;t!==null;)KB(e,a,t),t=t.sibling}function KB(e,a,t){if(gs&&typeof gs.onCommitFiberUnmount=="function")try{gs.onCommitFiberUnmount(i9,t)}catch{}switch(t.tag){case 5:kn||og(t,a);case 6:var n=cn,i=mr;cn=null,ou(e,a,t),cn=n,mr=i,cn!==null&&(mr?(e=cn,t=t.stateNode,e.nodeType===8?e.parentNode.removeChild(t):e.removeChild(t)):cn.removeChild(t.stateNode));break;case 18:cn!==null&&(mr?(e=cn,t=t.stateNode,e.nodeType===8?hT(e.parentNode,t):e.nodeType===1&&hT(e,t),wc(e)):hT(cn,t.stateNode));break;case 4:n=cn,i=mr,cn=t.stateNode.containerInfo,mr=!0,ou(e,a,t),cn=n,mr=i;break;case 0:case 11:case 14:case 15:if(!kn&&(n=t.updateQueue,n!==null&&(n=n.lastEffect,n!==null))){i=n=n.next;do{var r=i,s=r.destroy;r=r.tag,s!==void 0&&(r&2||r&4)&&p7(t,a,s),i=i.next}while(i!==n)}ou(e,a,t);break;case 1:if(!kn&&(og(t,a),n=t.stateNode,typeof n.componentWillUnmount=="function"))try{n.props=t.memoizedProps,n.state=t.memoizedState,n.componentWillUnmount()}catch(u){Dt(t,a,u)}ou(e,a,t);break;case 21:ou(e,a,t);break;case 22:t.mode&1?(kn=(n=kn)||t.memoizedState!==null,ou(e,a,t),kn=n):ou(e,a,t);break;default:ou(e,a,t)}}function zC(e){var a=e.updateQueue;if(a!==null){e.updateQueue=null;var t=e.stateNode;t===null&&(t=e.stateNode=new Dye),a.forEach(function(n){var i=Rye.bind(null,e,n);t.has(n)||(t.add(n),n.then(i,i))})}}function gr(e,a){var t=a.deletions;if(t!==null)for(var n=0;n<t.length;n++){var i=t[n];try{var r=e,s=a,u=s;e:for(;u!==null;){switch(u.tag){case 5:cn=u.stateNode,mr=!1;break e;case 3:cn=u.stateNode.containerInfo,mr=!0;break e;case 4:cn=u.stateNode.containerInfo,mr=!0;break e}u=u.return}if(cn===null)throw Error(ke(160));KB(r,s,i),cn=null,mr=!1;var o=i.alternate;o!==null&&(o.return=null),i.return=null}catch(l){Dt(i,a,l)}}if(a.subtreeFlags&12854)for(a=a.child;a!==null;)HB(a,e),a=a.sibling}function HB(e,a){var t=e.alternate,n=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(gr(a,e),Ur(e),n&4){try{G0(3,e,e.return),c9(3,e)}catch(h){Dt(e,e.return,h)}try{G0(5,e,e.return)}catch(h){Dt(e,e.return,h)}}break;case 1:gr(a,e),Ur(e),n&512&&t!==null&&og(t,t.return);break;case 5:if(gr(a,e),Ur(e),n&512&&t!==null&&og(t,t.return),e.flags&32){var i=e.stateNode;try{xc(i,"")}catch(h){Dt(e,e.return,h)}}if(n&4&&(i=e.stateNode,i!=null)){var r=e.memoizedProps,s=t!==null?t.memoizedProps:r,u=e.type,o=e.updateQueue;if(e.updateQueue=null,o!==null)try{u==="input"&&r.type==="radio"&&r.name!=null&&cO(i,r),jA(u,s);var l=jA(u,r);for(s=0;s<o.length;s+=2){var g=o[s],d=o[s+1];g==="style"?yO(i,d):g==="dangerouslySetInnerHTML"?hO(i,d):g==="children"?xc(i,d):F6(i,g,d,l)}switch(u){case"input":MA(i,r);break;case"textarea":pO(i,r);break;case"select":var c=i._wrapperState.wasMultiple;i._wrapperState.wasMultiple=!!r.multiple;var p=r.value;p!=null?Dg(i,!!r.multiple,p,!1):c!==!!r.multiple&&(r.defaultValue!=null?Dg(i,!!r.multiple,r.defaultValue,!0):Dg(i,!!r.multiple,r.multiple?[]:"",!1))}i[Rc]=r}catch(h){Dt(e,e.return,h)}}break;case 6:if(gr(a,e),Ur(e),n&4){if(e.stateNode===null)throw Error(ke(162));i=e.stateNode,r=e.memoizedProps;try{i.nodeValue=r}catch(h){Dt(e,e.return,h)}}break;case 3:if(gr(a,e),Ur(e),n&4&&t!==null&&t.memoizedState.isDehydrated)try{wc(a.containerInfo)}catch(h){Dt(e,e.return,h)}break;case 4:gr(a,e),Ur(e);break;case 13:gr(a,e),Ur(e),i=e.child,i.flags&8192&&(r=i.memoizedState!==null,i.stateNode.isHidden=r,!r||i.alternate!==null&&i.alternate.memoizedState!==null||(yD=It())),n&4&&zC(e);break;case 22:if(g=t!==null&&t.memoizedState!==null,e.mode&1?(kn=(l=kn)||g,gr(a,e),kn=l):gr(a,e),Ur(e),n&8192){if(l=e.memoizedState!==null,(e.stateNode.isHidden=l)&&!g&&e.mode&1)for(ze=e,g=e.child;g!==null;){for(d=ze=g;ze!==null;){switch(c=ze,p=c.child,c.tag){case 0:case 11:case 14:case 15:G0(4,c,c.return);break;case 1:og(c,c.return);var f=c.stateNode;if(typeof f.componentWillUnmount=="function"){n=c,t=c.return;try{a=n,f.props=a.memoizedProps,f.state=a.memoizedState,f.componentWillUnmount()}catch(h){Dt(n,t,h)}}break;case 5:og(c,c.return);break;case 22:if(c.memoizedState!==null){KC(d);continue}}p!==null?(p.return=c,ze=p):KC(d)}g=g.sibling}e:for(g=null,d=e;;){if(d.tag===5){if(g===null){g=d;try{i=d.stateNode,l?(r=i.style,typeof r.setProperty=="function"?r.setProperty("display","none","important"):r.display="none"):(u=d.stateNode,o=d.memoizedProps.style,s=o!=null&&o.hasOwnProperty("display")?o.display:null,u.style.display=mO("display",s))}catch(h){Dt(e,e.return,h)}}}else if(d.tag===6){if(g===null)try{d.stateNode.nodeValue=l?"":d.memoizedProps}catch(h){Dt(e,e.return,h)}}else if((d.tag!==22&&d.tag!==23||d.memoizedState===null||d===e)&&d.child!==null){d.child.return=d,d=d.child;continue}if(d===e)break e;for(;d.sibling===null;){if(d.return===null||d.return===e)break e;g===d&&(g=null),d=d.return}g===d&&(g=null),d.sibling.return=d.return,d=d.sibling}}break;case 19:gr(a,e),Ur(e),n&4&&zC(e);break;case 21:break;default:gr(a,e),Ur(e)}}function Ur(e){var a=e.flags;if(a&2){try{e:{for(var t=e.return;t!==null;){if($B(t)){var n=t;break e}t=t.return}throw Error(ke(160))}switch(n.tag){case 5:var i=n.stateNode;n.flags&32&&(xc(i,""),n.flags&=-33);var r=jC(e);m7(e,r,i);break;case 3:case 4:var s=n.stateNode.containerInfo,u=jC(e);h7(e,u,s);break;default:throw Error(ke(161))}}catch(o){Dt(e,e.return,o)}e.flags&=-3}a&4096&&(e.flags&=-4097)}function Eye(e,a,t){ze=e,qB(e)}function qB(e,a,t){for(var n=(e.mode&1)!==0;ze!==null;){var i=ze,r=i.child;if(i.tag===22&&n){var s=i.memoizedState!==null||Uf;if(!s){var u=i.alternate,o=u!==null&&u.memoizedState!==null||kn;u=Uf;var l=kn;if(Uf=s,(kn=o)&&!l)for(ze=i;ze!==null;)s=ze,o=s.child,s.tag===22&&s.memoizedState!==null?HC(i):o!==null?(o.return=s,ze=o):HC(i);for(;r!==null;)ze=r,qB(r),r=r.sibling;ze=i,Uf=u,kn=l}$C(e)}else i.subtreeFlags&8772&&r!==null?(r.return=i,ze=r):$C(e)}}function $C(e){for(;ze!==null;){var a=ze;if(a.flags&8772){var t=a.alternate;try{if(a.flags&8772)switch(a.tag){case 0:case 11:case 15:kn||c9(5,a);break;case 1:var n=a.stateNode;if(a.flags&4&&!kn)if(t===null)n.componentDidMount();else{var i=a.elementType===a.type?t.memoizedProps:hr(a.type,t.memoizedProps);n.componentDidUpdate(i,t.memoizedState,n.__reactInternalSnapshotBeforeUpdate)}var r=a.updateQueue;r!==null&&kC(a,r,n);break;case 3:var s=a.updateQueue;if(s!==null){if(t=null,a.child!==null)switch(a.child.tag){case 5:t=a.child.stateNode;break;case 1:t=a.child.stateNode}kC(a,s,t)}break;case 5:var u=a.stateNode;if(t===null&&a.flags&4){t=u;var o=a.memoizedProps;switch(a.type){case"button":case"input":case"select":case"textarea":o.autoFocus&&t.focus();break;case"img":o.src&&(t.src=o.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(a.memoizedState===null){var l=a.alternate;if(l!==null){var g=l.memoizedState;if(g!==null){var d=g.dehydrated;d!==null&&wc(d)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(ke(163))}kn||a.flags&512&&f7(a)}catch(c){Dt(a,a.return,c)}}if(a===e){ze=null;break}if(t=a.sibling,t!==null){t.return=a.return,ze=t;break}ze=a.return}}function KC(e){for(;ze!==null;){var a=ze;if(a===e){ze=null;break}var t=a.sibling;if(t!==null){t.return=a.return,ze=t;break}ze=a.return}}function HC(e){for(;ze!==null;){var a=ze;try{switch(a.tag){case 0:case 11:case 15:var t=a.return;try{c9(4,a)}catch(o){Dt(a,t,o)}break;case 1:var n=a.stateNode;if(typeof n.componentDidMount=="function"){var i=a.return;try{n.componentDidMount()}catch(o){Dt(a,i,o)}}var r=a.return;try{f7(a)}catch(o){Dt(a,r,o)}break;case 5:var s=a.return;try{f7(a)}catch(o){Dt(a,s,o)}}}catch(o){Dt(a,a.return,o)}if(a===e){ze=null;break}var u=a.sibling;if(u!==null){u.return=a.return,ze=u;break}ze=a.return}}var kye=Math.ceil,ym=nu.ReactCurrentDispatcher,hD=nu.ReactCurrentOwner,tr=nu.ReactCurrentBatchConfig,Ra=0,Qt=null,Lt=null,Tn=0,bi=0,lg=go(0),Ft=0,Uc=null,nl=0,p9=0,mD=0,W0=null,ai=null,yD=0,Wg=1/0,Ns=null,bm=!1,y7=null,Hu=null,jf=!1,ku=null,Tm=0,Y0=0,b7=null,j2=-1,z2=0;function Fn(){return Ra&6?It():j2!==-1?j2:j2=It()}function qu(e){return e.mode&1?Ra&2&&Tn!==0?Tn&-Tn:lye.transition!==null?(z2===0&&(z2=_O()),z2):(e=$a,e!==0||(e=window.event,e=e===void 0?16:OO(e.type)),e):1}function wr(e,a,t,n){if(50<Y0)throw Y0=0,b7=null,Error(ke(185));xp(e,t,n),(!(Ra&2)||e!==Qt)&&(e===Qt&&(!(Ra&2)&&(p9|=t),Ft===4&&Au(e,Tn)),gi(e,n),t===1&&Ra===0&&!(a.mode&1)&&(Wg=It()+500,l9&&co()))}function gi(e,a){var t=e.callbackNode;lme(e,a);var n=tm(e,e===Qt?Tn:0);if(n===0)t!==null&&Jk(t),e.callbackNode=null,e.callbackPriority=0;else if(a=n&-n,e.callbackPriority!==a){if(t!=null&&Jk(t),a===1)e.tag===0?oye(qC.bind(null,e)):aB(qC.bind(null,e)),iye(function(){!(Ra&6)&&co()}),t=null;else{switch(IO(n)){case 1:t=K6;break;case 4:t=CO;break;case 16:t=am;break;case 536870912:t=wO;break;default:t=am}t=JB(t,VB.bind(null,e))}e.callbackPriority=a,e.callbackNode=t}}function VB(e,a){if(j2=-1,z2=0,Ra&6)throw Error(ke(327));var t=e.callbackNode;if(wg()&&e.callbackNode!==t)return null;var n=tm(e,e===Qt?Tn:0);if(n===0)return null;if(n&30||n&e.expiredLanes||a)a=Sm(e,n);else{a=n;var i=Ra;Ra|=2;var r=WB();(Qt!==e||Tn!==a)&&(Ns=null,Wg=It()+500,Ho(e,a));do try{_ye();break}catch(u){GB(e,u)}while(!0);tD(),ym.current=r,Ra=i,Lt!==null?a=0:(Qt=null,Tn=0,a=Ft)}if(a!==0){if(a===2&&(i=qA(e),i!==0&&(n=i,a=T7(e,i))),a===1)throw t=Uc,Ho(e,0),Au(e,n),gi(e,It()),t;if(a===6)Au(e,n);else{if(i=e.current.alternate,!(n&30)&&!Cye(i)&&(a=Sm(e,n),a===2&&(r=qA(e),r!==0&&(n=r,a=T7(e,r))),a===1))throw t=Uc,Ho(e,0),Au(e,n),gi(e,It()),t;switch(e.finishedWork=i,e.finishedLanes=n,a){case 0:case 1:throw Error(ke(345));case 2:ko(e,ai,Ns);break;case 3:if(Au(e,n),(n&130023424)===n&&(a=yD+500-It(),10<a)){if(tm(e,0)!==0)break;if(i=e.suspendedLanes,(i&n)!==n){Fn(),e.pingedLanes|=e.suspendedLanes&i;break}e.timeoutHandle=JA(ko.bind(null,e,ai,Ns),a);break}ko(e,ai,Ns);break;case 4:if(Au(e,n),(n&4194240)===n)break;for(a=e.eventTimes,i=-1;0<n;){var s=31-Cr(n);r=1<<s,s=a[s],s>i&&(i=s),n&=~r}if(n=i,n=It()-n,n=(120>n?120:480>n?480:1080>n?1080:1920>n?1920:3e3>n?3e3:4320>n?4320:1960*kye(n/1960))-n,10<n){e.timeoutHandle=JA(ko.bind(null,e,ai,Ns),n);break}ko(e,ai,Ns);break;case 5:ko(e,ai,Ns);break;default:throw Error(ke(329))}}}return gi(e,It()),e.callbackNode===t?VB.bind(null,e):null}function T7(e,a){var t=W0;return e.current.memoizedState.isDehydrated&&(Ho(e,a).flags|=256),e=Sm(e,a),e!==2&&(a=ai,ai=t,a!==null&&S7(a)),e}function S7(e){ai===null?ai=e:ai.push.apply(ai,e)}function Cye(e){for(var a=e;;){if(a.flags&16384){var t=a.updateQueue;if(t!==null&&(t=t.stores,t!==null))for(var n=0;n<t.length;n++){var i=t[n],r=i.getSnapshot;i=i.value;try{if(!_r(r(),i))return!1}catch{return!1}}}if(t=a.child,a.subtreeFlags&16384&&t!==null)t.return=a,a=t;else{if(a===e)break;for(;a.sibling===null;){if(a.return===null||a.return===e)return!0;a=a.return}a.sibling.return=a.return,a=a.sibling}}return!0}function Au(e,a){for(a&=~mD,a&=~p9,e.suspendedLanes|=a,e.pingedLanes&=~a,e=e.expirationTimes;0<a;){var t=31-Cr(a),n=1<<t;e[t]=-1,a&=~n}}function qC(e){if(Ra&6)throw Error(ke(327));wg();var a=tm(e,0);if(!(a&1))return gi(e,It()),null;var t=Sm(e,a);if(e.tag!==0&&t===2){var n=qA(e);n!==0&&(a=n,t=T7(e,n))}if(t===1)throw t=Uc,Ho(e,0),Au(e,a),gi(e,It()),t;if(t===6)throw Error(ke(345));return e.finishedWork=e.current.alternate,e.finishedLanes=a,ko(e,ai,Ns),gi(e,It()),null}function bD(e,a){var t=Ra;Ra|=1;try{return e(a)}finally{Ra=t,Ra===0&&(Wg=It()+500,l9&&co())}}function il(e){ku!==null&&ku.tag===0&&!(Ra&6)&&wg();var a=Ra;Ra|=1;var t=tr.transition,n=$a;try{if(tr.transition=null,$a=1,e)return e()}finally{$a=n,tr.transition=t,Ra=a,!(Ra&6)&&co()}}function TD(){bi=lg.current,ut(lg)}function Ho(e,a){e.finishedWork=null,e.finishedLanes=0;var t=e.timeoutHandle;if(t!==-1&&(e.timeoutHandle=-1,nye(t)),Lt!==null)for(t=Lt.return;t!==null;){var n=t;switch(J6(n),n.tag){case 1:n=n.type.childContextTypes,n!=null&&um();break;case 3:Vg(),ut(oi),ut(Cn),oD();break;case 5:uD(n);break;case 4:Vg();break;case 13:ut(mt);break;case 19:ut(mt);break;case 10:nD(n.type._context);break;case 22:case 23:TD()}t=t.return}if(Qt=e,Lt=e=Vu(e.current,null),Tn=bi=a,Ft=0,Uc=null,mD=p9=nl=0,ai=W0=null,Uo!==null){for(a=0;a<Uo.length;a++)if(t=Uo[a],n=t.interleaved,n!==null){t.interleaved=null;var i=n.next,r=t.pending;if(r!==null){var s=r.next;r.next=i,n.next=s}t.pending=n}Uo=null}return e}function GB(e,a){do{var t=Lt;try{if(tD(),B2.current=mm,hm){for(var n=yt.memoizedState;n!==null;){var i=n.queue;i!==null&&(i.pending=null),n=n.next}hm=!1}if(tl=0,Gt=Ot=yt=null,V0=!1,Oc=0,hD.current=null,t===null||t.return===null){Ft=1,Uc=a,Lt=null;break}e:{var r=e,s=t.return,u=t,o=a;if(a=Tn,u.flags|=32768,o!==null&&typeof o=="object"&&typeof o.then=="function"){var l=o,g=u,d=g.tag;if(!(g.mode&1)&&(d===0||d===11||d===15)){var c=g.alternate;c?(g.updateQueue=c.updateQueue,g.memoizedState=c.memoizedState,g.lanes=c.lanes):(g.updateQueue=null,g.memoizedState=null)}var p=LC(s);if(p!==null){p.flags&=-257,RC(p,s,u,r,a),p.mode&1&&NC(r,l,a),a=p,o=l;var f=a.updateQueue;if(f===null){var h=new Set;h.add(o),a.updateQueue=h}else f.add(o);break e}else{if(!(a&1)){NC(r,l,a),SD();break e}o=Error(ke(426))}}else if(ct&&u.mode&1){var y=LC(s);if(y!==null){!(y.flags&65536)&&(y.flags|=256),RC(y,s,u,r,a),eD(Gg(o,u));break e}}r=o=Gg(o,u),Ft!==4&&(Ft=2),W0===null?W0=[r]:W0.push(r),r=s;do{switch(r.tag){case 3:r.flags|=65536,a&=-a,r.lanes|=a;var b=IB(r,o,a);EC(r,b);break e;case 1:u=o;var m=r.type,T=r.stateNode;if(!(r.flags&128)&&(typeof m.getDerivedStateFromError=="function"||T!==null&&typeof T.componentDidCatch=="function"&&(Hu===null||!Hu.has(T)))){r.flags|=65536,a&=-a,r.lanes|=a;var A=NB(r,u,a);EC(r,A);break e}}r=r.return}while(r!==null)}XB(t)}catch(v){a=v,Lt===t&&t!==null&&(Lt=t=t.return);continue}break}while(!0)}function WB(){var e=ym.current;return ym.current=mm,e===null?mm:e}function SD(){(Ft===0||Ft===3||Ft===2)&&(Ft=4),Qt===null||!(nl&268435455)&&!(p9&268435455)||Au(Qt,Tn)}function Sm(e,a){var t=Ra;Ra|=2;var n=WB();(Qt!==e||Tn!==a)&&(Ns=null,Ho(e,a));do try{wye();break}catch(i){GB(e,i)}while(!0);if(tD(),Ra=t,ym.current=n,Lt!==null)throw Error(ke(261));return Qt=null,Tn=0,Ft}function wye(){for(;Lt!==null;)YB(Lt)}function _ye(){for(;Lt!==null&&!eme();)YB(Lt)}function YB(e){var a=ZB(e.alternate,e,bi);e.memoizedProps=e.pendingProps,a===null?XB(e):Lt=a,hD.current=null}function XB(e){var a=e;do{var t=a.alternate;if(e=a.return,a.flags&32768){if(t=vye(t,a),t!==null){t.flags&=32767,Lt=t;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{Ft=6,Lt=null;return}}else if(t=Aye(t,a,bi),t!==null){Lt=t;return}if(a=a.sibling,a!==null){Lt=a;return}Lt=a=e}while(a!==null);Ft===0&&(Ft=5)}function ko(e,a,t){var n=$a,i=tr.transition;try{tr.transition=null,$a=1,Iye(e,a,t,n)}finally{tr.transition=i,$a=n}return null}function Iye(e,a,t,n){do wg();while(ku!==null);if(Ra&6)throw Error(ke(327));t=e.finishedWork;var i=e.finishedLanes;if(t===null)return null;if(e.finishedWork=null,e.finishedLanes=0,t===e.current)throw Error(ke(177));e.callbackNode=null,e.callbackPriority=0;var r=t.lanes|t.childLanes;if(gme(e,r),e===Qt&&(Lt=Qt=null,Tn=0),!(t.subtreeFlags&2064)&&!(t.flags&2064)||jf||(jf=!0,JB(am,function(){return wg(),null})),r=(t.flags&15990)!==0,t.subtreeFlags&15990||r){r=tr.transition,tr.transition=null;var s=$a;$a=1;var u=Ra;Ra|=4,hD.current=null,xye(e,t),HB(t,e),Xme(QA),nm=!!XA,QA=XA=null,e.current=t,Eye(t),ame(),Ra=u,$a=s,tr.transition=r}else e.current=t;if(jf&&(jf=!1,ku=e,Tm=i),r=e.pendingLanes,r===0&&(Hu=null),ime(t.stateNode),gi(e,It()),a!==null)for(n=e.onRecoverableError,t=0;t<a.length;t++)i=a[t],n(i.value,{componentStack:i.stack,digest:i.digest});if(bm)throw bm=!1,e=y7,y7=null,e;return Tm&1&&e.tag!==0&&wg(),r=e.pendingLanes,r&1?e===b7?Y0++:(Y0=0,b7=e):Y0=0,co(),null}function wg(){if(ku!==null){var e=IO(Tm),a=tr.transition,t=$a;try{if(tr.transition=null,$a=16>e?16:e,ku===null)var n=!1;else{if(e=ku,ku=null,Tm=0,Ra&6)throw Error(ke(331));var i=Ra;for(Ra|=4,ze=e.current;ze!==null;){var r=ze,s=r.child;if(ze.flags&16){var u=r.deletions;if(u!==null){for(var o=0;o<u.length;o++){var l=u[o];for(ze=l;ze!==null;){var g=ze;switch(g.tag){case 0:case 11:case 15:G0(8,g,r)}var d=g.child;if(d!==null)d.return=g,ze=d;else for(;ze!==null;){g=ze;var c=g.sibling,p=g.return;if(zB(g),g===l){ze=null;break}if(c!==null){c.return=p,ze=c;break}ze=p}}}var f=r.alternate;if(f!==null){var h=f.child;if(h!==null){f.child=null;do{var y=h.sibling;h.sibling=null,h=y}while(h!==null)}}ze=r}}if(r.subtreeFlags&2064&&s!==null)s.return=r,ze=s;else e:for(;ze!==null;){if(r=ze,r.flags&2048)switch(r.tag){case 0:case 11:case 15:G0(9,r,r.return)}var b=r.sibling;if(b!==null){b.return=r.return,ze=b;break e}ze=r.return}}var m=e.current;for(ze=m;ze!==null;){s=ze;var T=s.child;if(s.subtreeFlags&2064&&T!==null)T.return=s,ze=T;else e:for(s=m;ze!==null;){if(u=ze,u.flags&2048)try{switch(u.tag){case 0:case 11:case 15:c9(9,u)}}catch(v){Dt(u,u.return,v)}if(u===s){ze=null;break e}var A=u.sibling;if(A!==null){A.return=u.return,ze=A;break e}ze=u.return}}if(Ra=i,co(),gs&&typeof gs.onPostCommitFiberRoot=="function")try{gs.onPostCommitFiberRoot(i9,e)}catch{}n=!0}return n}finally{$a=t,tr.transition=a}}return!1}function VC(e,a,t){a=Gg(t,a),a=IB(e,a,1),e=Ku(e,a,1),a=Fn(),e!==null&&(xp(e,1,a),gi(e,a))}function Dt(e,a,t){if(e.tag===3)VC(e,e,t);else for(;a!==null;){if(a.tag===3){VC(a,e,t);break}else if(a.tag===1){var n=a.stateNode;if(typeof a.type.getDerivedStateFromError=="function"||typeof n.componentDidCatch=="function"&&(Hu===null||!Hu.has(n))){e=Gg(t,e),e=NB(a,e,1),a=Ku(a,e,1),e=Fn(),a!==null&&(xp(a,1,e),gi(a,e));break}}a=a.return}}function Nye(e,a,t){var n=e.pingCache;n!==null&&n.delete(a),a=Fn(),e.pingedLanes|=e.suspendedLanes&t,Qt===e&&(Tn&t)===t&&(Ft===4||Ft===3&&(Tn&130023424)===Tn&&500>It()-yD?Ho(e,0):mD|=t),gi(e,a)}function QB(e,a){a===0&&(e.mode&1?(a=If,If<<=1,!(If&130023424)&&(If=4194304)):a=1);var t=Fn();e=Ys(e,a),e!==null&&(xp(e,a,t),gi(e,t))}function Lye(e){var a=e.memoizedState,t=0;a!==null&&(t=a.retryLane),QB(e,t)}function Rye(e,a){var t=0;switch(e.tag){case 13:var n=e.stateNode,i=e.memoizedState;i!==null&&(t=i.retryLane);break;case 19:n=e.stateNode;break;default:throw Error(ke(314))}n!==null&&n.delete(a),QB(e,t)}var ZB;ZB=function(e,a,t){if(e!==null)if(e.memoizedProps!==a.pendingProps||oi.current)ri=!0;else{if(!(e.lanes&t)&&!(a.flags&128))return ri=!1,Sye(e,a,t);ri=!!(e.flags&131072)}else ri=!1,ct&&a.flags&1048576&&tB(a,gm,a.index);switch(a.lanes=0,a.tag){case 2:var n=a.type;U2(e,a),e=a.pendingProps;var i=Kg(a,Cn.current);Cg(a,t),i=gD(null,a,n,e,i,t);var r=dD();return a.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(a.tag=1,a.memoizedState=null,a.updateQueue=null,li(n)?(r=!0,om(a)):r=!1,a.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,rD(a),i.updater=d9,a.stateNode=i,i._reactInternals=a,s7(a,n,e,t),a=l7(null,a,n,!0,r,t)):(a.tag=0,ct&&r&&Z6(a),Mn(null,a,i,t),a=a.child),a;case 16:n=a.elementType;e:{switch(U2(e,a),e=a.pendingProps,i=n._init,n=i(n._payload),a.type=n,i=a.tag=Mye(n),e=hr(n,e),i){case 0:a=o7(null,a,n,e,t);break e;case 1:a=OC(null,a,n,e,t);break e;case 11:a=PC(null,a,n,e,t);break e;case 14:a=MC(null,a,n,hr(n.type,e),t);break e}throw Error(ke(306,n,""))}return a;case 0:return n=a.type,i=a.pendingProps,i=a.elementType===n?i:hr(n,i),o7(e,a,n,i,t);case 1:return n=a.type,i=a.pendingProps,i=a.elementType===n?i:hr(n,i),OC(e,a,n,i,t);case 3:e:{if(MB(a),e===null)throw Error(ke(387));n=a.pendingProps,r=a.memoizedState,i=r.element,oB(e,a),pm(a,n,null,t);var s=a.memoizedState;if(n=s.element,r.isDehydrated)if(r={element:n,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},a.updateQueue.baseState=r,a.memoizedState=r,a.flags&256){i=Gg(Error(ke(423)),a),a=BC(e,a,n,t,i);break e}else if(n!==i){i=Gg(Error(ke(424)),a),a=BC(e,a,n,t,i);break e}else for(Ei=$u(a.stateNode.containerInfo.firstChild),Ci=a,ct=!0,Tr=null,t=sB(a,null,n,t),a.child=t;t;)t.flags=t.flags&-3|4096,t=t.sibling;else{if(Hg(),n===i){a=Xs(e,a,t);break e}Mn(e,a,n,t)}a=a.child}return a;case 5:return lB(a),e===null&&n7(a),n=a.type,i=a.pendingProps,r=e!==null?e.memoizedProps:null,s=i.children,ZA(n,i)?s=null:r!==null&&ZA(n,r)&&(a.flags|=32),PB(e,a),Mn(e,a,s,t),a.child;case 6:return e===null&&n7(a),null;case 13:return OB(e,a,t);case 4:return sD(a,a.stateNode.containerInfo),n=a.pendingProps,e===null?a.child=qg(a,null,n,t):Mn(e,a,n,t),a.child;case 11:return n=a.type,i=a.pendingProps,i=a.elementType===n?i:hr(n,i),PC(e,a,n,i,t);case 7:return Mn(e,a,a.pendingProps,t),a.child;case 8:return Mn(e,a,a.pendingProps.children,t),a.child;case 12:return Mn(e,a,a.pendingProps.children,t),a.child;case 10:e:{if(n=a.type._context,i=a.pendingProps,r=a.memoizedProps,s=i.value,tt(dm,n._currentValue),n._currentValue=s,r!==null)if(_r(r.value,s)){if(r.children===i.children&&!oi.current){a=Xs(e,a,t);break e}}else for(r=a.child,r!==null&&(r.return=a);r!==null;){var u=r.dependencies;if(u!==null){s=r.child;for(var o=u.firstContext;o!==null;){if(o.context===n){if(r.tag===1){o=$s(-1,t&-t),o.tag=2;var l=r.updateQueue;if(l!==null){l=l.shared;var g=l.pending;g===null?o.next=o:(o.next=g.next,g.next=o),l.pending=o}}r.lanes|=t,o=r.alternate,o!==null&&(o.lanes|=t),i7(r.return,t,a),u.lanes|=t;break}o=o.next}}else if(r.tag===10)s=r.type===a.type?null:r.child;else if(r.tag===18){if(s=r.return,s===null)throw Error(ke(341));s.lanes|=t,u=s.alternate,u!==null&&(u.lanes|=t),i7(s,t,a),s=r.sibling}else s=r.child;if(s!==null)s.return=r;else for(s=r;s!==null;){if(s===a){s=null;break}if(r=s.sibling,r!==null){r.return=s.return,s=r;break}s=s.return}r=s}Mn(e,a,i.children,t),a=a.child}return a;case 9:return i=a.type,n=a.pendingProps.children,Cg(a,t),i=nr(i),n=n(i),a.flags|=1,Mn(e,a,n,t),a.child;case 14:return n=a.type,i=hr(n,a.pendingProps),i=hr(n.type,i),MC(e,a,n,i,t);case 15:return LB(e,a,a.type,a.pendingProps,t);case 17:return n=a.type,i=a.pendingProps,i=a.elementType===n?i:hr(n,i),U2(e,a),a.tag=1,li(n)?(e=!0,om(a)):e=!1,Cg(a,t),_B(a,n,i),s7(a,n,i,t),l7(null,a,n,!0,e,t);case 19:return BB(e,a,t);case 22:return RB(e,a,t)}throw Error(ke(156,a.tag))};function JB(e,a){return kO(e,a)}function Pye(e,a,t,n){this.tag=e,this.key=t,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=a,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=n,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Xi(e,a,t,n){return new Pye(e,a,t,n)}function AD(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Mye(e){if(typeof e=="function")return AD(e)?1:0;if(e!=null){if(e=e.$$typeof,e===j6)return 11;if(e===z6)return 14}return 2}function Vu(e,a){var t=e.alternate;return t===null?(t=Xi(e.tag,a,e.key,e.mode),t.elementType=e.elementType,t.type=e.type,t.stateNode=e.stateNode,t.alternate=e,e.alternate=t):(t.pendingProps=a,t.type=e.type,t.flags=0,t.subtreeFlags=0,t.deletions=null),t.flags=e.flags&14680064,t.childLanes=e.childLanes,t.lanes=e.lanes,t.child=e.child,t.memoizedProps=e.memoizedProps,t.memoizedState=e.memoizedState,t.updateQueue=e.updateQueue,a=e.dependencies,t.dependencies=a===null?null:{lanes:a.lanes,firstContext:a.firstContext},t.sibling=e.sibling,t.index=e.index,t.ref=e.ref,t}function $2(e,a,t,n,i,r){var s=2;if(n=e,typeof e=="function")AD(e)&&(s=1);else if(typeof e=="string")s=5;else e:switch(e){case Jl:return qo(t.children,i,r,a);case U6:s=8,i|=8;break;case IA:return e=Xi(12,t,a,i|2),e.elementType=IA,e.lanes=r,e;case NA:return e=Xi(13,t,a,i),e.elementType=NA,e.lanes=r,e;case LA:return e=Xi(19,t,a,i),e.elementType=LA,e.lanes=r,e;case lO:return f9(t,i,r,a);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case uO:s=10;break e;case oO:s=9;break e;case j6:s=11;break e;case z6:s=14;break e;case yu:s=16,n=null;break e}throw Error(ke(130,e==null?e:typeof e,""))}return a=Xi(s,t,a,i),a.elementType=e,a.type=n,a.lanes=r,a}function qo(e,a,t,n){return e=Xi(7,e,n,a),e.lanes=t,e}function f9(e,a,t,n){return e=Xi(22,e,n,a),e.elementType=lO,e.lanes=t,e.stateNode={isHidden:!1},e}function DT(e,a,t){return e=Xi(6,e,null,a),e.lanes=t,e}function xT(e,a,t){return a=Xi(4,e.children!==null?e.children:[],e.key,a),a.lanes=t,a.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},a}function Oye(e,a,t,n,i){this.tag=a,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=iT(0),this.expirationTimes=iT(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=iT(0),this.identifierPrefix=n,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function vD(e,a,t,n,i,r,s,u,o){return e=new Oye(e,a,t,u,o),a===1?(a=1,r===!0&&(a|=8)):a=0,r=Xi(3,null,null,a),e.current=r,r.stateNode=e,r.memoizedState={element:n,isDehydrated:t,cache:null,transitions:null,pendingSuspenseBoundaries:null},rD(r),e}function Bye(e,a,t){var n=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:Zl,key:n==null?null:""+n,children:e,containerInfo:a,implementation:t}}function eF(e){if(!e)return Ju;e=e._reactInternals;e:{if(Al(e)!==e||e.tag!==1)throw Error(ke(170));var a=e;do{switch(a.tag){case 3:a=a.stateNode.context;break e;case 1:if(li(a.type)){a=a.stateNode.__reactInternalMemoizedMergedChildContext;break e}}a=a.return}while(a!==null);throw Error(ke(171))}if(e.tag===1){var t=e.type;if(li(t))return eB(e,t,a)}return a}function aF(e,a,t,n,i,r,s,u,o){return e=vD(t,n,!0,e,i,r,s,u,o),e.context=eF(null),t=e.current,n=Fn(),i=qu(t),r=$s(n,i),r.callback=a??null,Ku(t,r,i),e.current.lanes=i,xp(e,i,n),gi(e,n),e}function h9(e,a,t,n){var i=a.current,r=Fn(),s=qu(i);return t=eF(t),a.context===null?a.context=t:a.pendingContext=t,a=$s(r,s),a.payload={element:e},n=n===void 0?null:n,n!==null&&(a.callback=n),e=Ku(i,a,s),e!==null&&(wr(e,i,s,r),O2(e,i,s)),s}function Am(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function GC(e,a){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var t=e.retryLane;e.retryLane=t!==0&&t<a?t:a}}function DD(e,a){GC(e,a),(e=e.alternate)&&GC(e,a)}function Fye(){return null}var tF=typeof reportError=="function"?reportError:function(e){console.error(e)};function xD(e){this._internalRoot=e}m9.prototype.render=xD.prototype.render=function(e){var a=this._internalRoot;if(a===null)throw Error(ke(409));h9(e,a,null,null)};m9.prototype.unmount=xD.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var a=e.containerInfo;il(function(){h9(null,e,null,null)}),a[Ws]=null}};function m9(e){this._internalRoot=e}m9.prototype.unstable_scheduleHydration=function(e){if(e){var a=RO();e={blockedOn:null,target:e,priority:a};for(var t=0;t<Su.length&&a!==0&&a<Su[t].priority;t++);Su.splice(t,0,e),t===0&&MO(e)}};function ED(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function y9(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function WC(){}function Uye(e,a,t,n,i){if(i){if(typeof n=="function"){var r=n;n=function(){var l=Am(s);r.call(l)}}var s=aF(a,n,e,0,null,!1,!1,"",WC);return e._reactRootContainer=s,e[Ws]=s.current,Nc(e.nodeType===8?e.parentNode:e),il(),s}for(;i=e.lastChild;)e.removeChild(i);if(typeof n=="function"){var u=n;n=function(){var l=Am(o);u.call(l)}}var o=vD(e,0,!1,null,null,!1,!1,"",WC);return e._reactRootContainer=o,e[Ws]=o.current,Nc(e.nodeType===8?e.parentNode:e),il(function(){h9(a,o,t,n)}),o}function b9(e,a,t,n,i){var r=t._reactRootContainer;if(r){var s=r;if(typeof i=="function"){var u=i;i=function(){var o=Am(s);u.call(o)}}h9(a,s,e,i)}else s=Uye(t,a,e,i,n);return Am(s)}NO=function(e){switch(e.tag){case 3:var a=e.stateNode;if(a.current.memoizedState.isDehydrated){var t=A0(a.pendingLanes);t!==0&&(H6(a,t|1),gi(a,It()),!(Ra&6)&&(Wg=It()+500,co()))}break;case 13:il(function(){var n=Ys(e,1);if(n!==null){var i=Fn();wr(n,e,1,i)}}),DD(e,1)}};q6=function(e){if(e.tag===13){var a=Ys(e,134217728);if(a!==null){var t=Fn();wr(a,e,134217728,t)}DD(e,134217728)}};LO=function(e){if(e.tag===13){var a=qu(e),t=Ys(e,a);if(t!==null){var n=Fn();wr(t,e,a,n)}DD(e,a)}};RO=function(){return $a};PO=function(e,a){var t=$a;try{return $a=e,a()}finally{$a=t}};$A=function(e,a,t){switch(a){case"input":if(MA(e,t),a=t.name,t.type==="radio"&&a!=null){for(t=e;t.parentNode;)t=t.parentNode;for(t=t.querySelectorAll("input[name="+JSON.stringify(""+a)+'][type="radio"]'),a=0;a<t.length;a++){var n=t[a];if(n!==e&&n.form===e.form){var i=o9(n);if(!i)throw Error(ke(90));dO(n),MA(n,i)}}}break;case"textarea":pO(e,t);break;case"select":a=t.value,a!=null&&Dg(e,!!t.multiple,a,!1)}};SO=bD;AO=il;var jye={usingClientEntryPoint:!1,Events:[kp,ng,o9,bO,TO,bD]},Jd={findFiberByHostInstance:Fo,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},zye={bundleType:Jd.bundleType,version:Jd.version,rendererPackageName:Jd.rendererPackageName,rendererConfig:Jd.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:nu.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=xO(e),e===null?null:e.stateNode},findFiberByHostInstance:Jd.findFiberByHostInstance||Fye,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var zf=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!zf.isDisabled&&zf.supportsFiber)try{i9=zf.inject(zye),gs=zf}catch{}}Pi.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=jye;Pi.createPortal=function(e,a){var t=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!ED(a))throw Error(ke(200));return Bye(e,a,null,t)};Pi.createRoot=function(e,a){if(!ED(e))throw Error(ke(299));var t=!1,n="",i=tF;return a!=null&&(a.unstable_strictMode===!0&&(t=!0),a.identifierPrefix!==void 0&&(n=a.identifierPrefix),a.onRecoverableError!==void 0&&(i=a.onRecoverableError)),a=vD(e,1,!1,null,null,t,!1,n,i),e[Ws]=a.current,Nc(e.nodeType===8?e.parentNode:e),new xD(a)};Pi.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var a=e._reactInternals;if(a===void 0)throw typeof e.render=="function"?Error(ke(188)):(e=Object.keys(e).join(","),Error(ke(268,e)));return e=xO(a),e=e===null?null:e.stateNode,e};Pi.flushSync=function(e){return il(e)};Pi.hydrate=function(e,a,t){if(!y9(a))throw Error(ke(200));return b9(null,e,a,!0,t)};Pi.hydrateRoot=function(e,a,t){if(!ED(e))throw Error(ke(405));var n=t!=null&&t.hydratedSources||null,i=!1,r="",s=tF;if(t!=null&&(t.unstable_strictMode===!0&&(i=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onRecoverableError!==void 0&&(s=t.onRecoverableError)),a=aF(a,null,e,1,t??null,i,!1,r,s),e[Ws]=a.current,Nc(e),n)for(e=0;e<n.length;e++)t=n[e],i=t._getVersion,i=i(t._source),a.mutableSourceEagerHydrationData==null?a.mutableSourceEagerHydrationData=[t,i]:a.mutableSourceEagerHydrationData.push(t,i);return new m9(a)};Pi.render=function(e,a,t){if(!y9(a))throw Error(ke(200));return b9(null,e,a,!1,t)};Pi.unmountComponentAtNode=function(e){if(!y9(e))throw Error(ke(40));return e._reactRootContainer?(il(function(){b9(null,null,e,!1,function(){e._reactRootContainer=null,e[Ws]=null})}),!0):!1};Pi.unstable_batchedUpdates=bD;Pi.unstable_renderSubtreeIntoContainer=function(e,a,t,n){if(!y9(t))throw Error(ke(200));if(e==null||e._reactInternals===void 0)throw Error(ke(38));return b9(e,a,t,!1,n)};Pi.version="18.3.1-next-f1338f8080-20240426";function nF(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(nF)}catch(e){console.error(e)}}nF(),nO.exports=Pi;var iF=nO.exports,$ye,YC=iF;$ye=YC.createRoot,YC.hydrateRoot;/**
 * @remix-run/router v1.19.2
 *
 * Copyright (c) Remix Software Inc.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE.md file in the root directory of this source tree.
 *
 * @license MIT
 */function jc(){return jc=Object.assign?Object.assign.bind():function(e){for(var a=1;a<arguments.length;a++){var t=arguments[a];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},jc.apply(this,arguments)}var Cu;(function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"})(Cu||(Cu={}));const XC="popstate";function Kye(e){e===void 0&&(e={});function a(n,i){let{pathname:r,search:s,hash:u}=n.location;return vm("",{pathname:r,search:s,hash:u},i.state&&i.state.usr||null,i.state&&i.state.key||"default")}function t(n,i){return typeof i=="string"?i:zc(i)}return rF(a,t,null,e)}function Hye(e){e===void 0&&(e={});function a(i,r){let{pathname:s="/",search:u="",hash:o=""}=vl(i.location.hash.substr(1));return!s.startsWith("/")&&!s.startsWith(".")&&(s="/"+s),vm("",{pathname:s,search:u,hash:o},r.state&&r.state.usr||null,r.state&&r.state.key||"default")}function t(i,r){let s=i.document.querySelector("base"),u="";if(s&&s.getAttribute("href")){let o=i.location.href,l=o.indexOf("#");u=l===-1?o:o.slice(0,l)}return u+"#"+(typeof r=="string"?r:zc(r))}function n(i,r){T9(i.pathname.charAt(0)==="/","relative pathnames are not supported in hash history.push("+JSON.stringify(r)+")")}return rF(a,t,n,e)}function Et(e,a){if(e===!1||e===null||typeof e>"u")throw new Error(a)}function T9(e,a){if(!e){typeof console<"u"&&console.warn(a);try{throw new Error(a)}catch{}}}function qye(){return Math.random().toString(36).substr(2,8)}function QC(e,a){return{usr:e.state,key:e.key,idx:a}}function vm(e,a,t,n){return t===void 0&&(t=null),jc({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof a=="string"?vl(a):a,{state:t,key:a&&a.key||n||qye()})}function zc(e){let{pathname:a="/",search:t="",hash:n=""}=e;return t&&t!=="?"&&(a+=t.charAt(0)==="?"?t:"?"+t),n&&n!=="#"&&(a+=n.charAt(0)==="#"?n:"#"+n),a}function vl(e){let a={};if(e){let t=e.indexOf("#");t>=0&&(a.hash=e.substr(t),e=e.substr(0,t));let n=e.indexOf("?");n>=0&&(a.search=e.substr(n),e=e.substr(0,n)),e&&(a.pathname=e)}return a}function rF(e,a,t,n){n===void 0&&(n={});let{window:i=document.defaultView,v5Compat:r=!1}=n,s=i.history,u=Cu.Pop,o=null,l=g();l==null&&(l=0,s.replaceState(jc({},s.state,{idx:l}),""));function g(){return(s.state||{idx:null}).idx}function d(){u=Cu.Pop;let y=g(),b=y==null?null:y-l;l=y,o&&o({action:u,location:h.location,delta:b})}function c(y,b){u=Cu.Push;let m=vm(h.location,y,b);t&&t(m,y),l=g()+1;let T=QC(m,l),A=h.createHref(m);try{s.pushState(T,"",A)}catch(v){if(v instanceof DOMException&&v.name==="DataCloneError")throw v;i.location.assign(A)}r&&o&&o({action:u,location:h.location,delta:1})}function p(y,b){u=Cu.Replace;let m=vm(h.location,y,b);t&&t(m,y),l=g();let T=QC(m,l),A=h.createHref(m);s.replaceState(T,"",A),r&&o&&o({action:u,location:h.location,delta:0})}function f(y){let b=i.location.origin!=="null"?i.location.origin:i.location.href,m=typeof y=="string"?y:zc(y);return m=m.replace(/ $/,"%20"),Et(b,"No window.location.(origin|href) available to create URL for href: "+m),new URL(m,b)}let h={get action(){return u},get location(){return e(i,s)},listen(y){if(o)throw new Error("A history only accepts one active listener");return i.addEventListener(XC,d),o=y,()=>{i.removeEventListener(XC,d),o=null}},createHref(y){return a(i,y)},createURL:f,encodeLocation(y){let b=f(y);return{pathname:b.pathname,search:b.search,hash:b.hash}},push:c,replace:p,go(y){return s.go(y)}};return h}var ZC;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(ZC||(ZC={}));function Vye(e,a,t){return t===void 0&&(t="/"),Gye(e,a,t,!1)}function Gye(e,a,t,n){let i=typeof a=="string"?vl(a):a,r=kD(i.pathname||"/",t);if(r==null)return null;let s=sF(e);Wye(s);let u=null;for(let o=0;u==null&&o<s.length;++o){let l=r9e(r);u=n9e(s[o],l,n)}return u}function sF(e,a,t,n){a===void 0&&(a=[]),t===void 0&&(t=[]),n===void 0&&(n="");let i=(r,s,u)=>{let o={relativePath:u===void 0?r.path||"":u,caseSensitive:r.caseSensitive===!0,childrenIndex:s,route:r};o.relativePath.startsWith("/")&&(Et(o.relativePath.startsWith(n),'Absolute route path "'+o.relativePath+'" nested under path '+('"'+n+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),o.relativePath=o.relativePath.slice(n.length));let l=Gu([n,o.relativePath]),g=t.concat(o);r.children&&r.children.length>0&&(Et(r.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+l+'".')),sF(r.children,a,g,l)),!(r.path==null&&!r.index)&&a.push({path:l,score:a9e(l,r.index),routesMeta:g})};return e.forEach((r,s)=>{var u;if(r.path===""||!((u=r.path)!=null&&u.includes("?")))i(r,s);else for(let o of uF(r.path))i(r,s,o)}),a}function uF(e){let a=e.split("/");if(a.length===0)return[];let[t,...n]=a,i=t.endsWith("?"),r=t.replace(/\?$/,"");if(n.length===0)return i?[r,""]:[r];let s=uF(n.join("/")),u=[];return u.push(...s.map(o=>o===""?r:[r,o].join("/"))),i&&u.push(...s),u.map(o=>e.startsWith("/")&&o===""?"/":o)}function Wye(e){e.sort((a,t)=>a.score!==t.score?t.score-a.score:t9e(a.routesMeta.map(n=>n.childrenIndex),t.routesMeta.map(n=>n.childrenIndex)))}const Yye=/^:[\w-]+$/,Xye=3,Qye=2,Zye=1,Jye=10,e9e=-2,JC=e=>e==="*";function a9e(e,a){let t=e.split("/"),n=t.length;return t.some(JC)&&(n+=e9e),a&&(n+=Qye),t.filter(i=>!JC(i)).reduce((i,r)=>i+(Yye.test(r)?Xye:r===""?Zye:Jye),n)}function t9e(e,a){return e.length===a.length&&e.slice(0,-1).every((n,i)=>n===a[i])?e[e.length-1]-a[a.length-1]:0}function n9e(e,a,t){let{routesMeta:n}=e,i={},r="/",s=[];for(let u=0;u<n.length;++u){let o=n[u],l=u===n.length-1,g=r==="/"?a:a.slice(r.length)||"/",d=ew({path:o.relativePath,caseSensitive:o.caseSensitive,end:l},g),c=o.route;if(!d&&l&&t&&!n[n.length-1].route.index&&(d=ew({path:o.relativePath,caseSensitive:o.caseSensitive,end:!1},g)),!d)return null;Object.assign(i,d.params),s.push({params:i,pathname:Gu([r,d.pathname]),pathnameBase:l9e(Gu([r,d.pathnameBase])),route:c}),d.pathnameBase!=="/"&&(r=Gu([r,d.pathnameBase]))}return s}function jke(e,a){a===void 0&&(a={});let t=e;t.endsWith("*")&&t!=="*"&&!t.endsWith("/*")&&(T9(!1,'Route path "'+t+'" will be treated as if it were '+('"'+t.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+t.replace(/\*$/,"/*")+'".')),t=t.replace(/\*$/,"/*"));const n=t.startsWith("/")?"/":"",i=s=>s==null?"":typeof s=="string"?s:String(s),r=t.split(/\/+/).map((s,u,o)=>{if(u===o.length-1&&s==="*")return i(a["*"]);const g=s.match(/^:([\w-]+)(\??)$/);if(g){const[,d,c]=g;let p=a[d];return Et(c==="?"||p!=null,'Missing ":'+d+'" param'),i(p)}return s.replace(/\?$/g,"")}).filter(s=>!!s);return n+r.join("/")}function ew(e,a){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[t,n]=i9e(e.path,e.caseSensitive,e.end),i=a.match(t);if(!i)return null;let r=i[0],s=r.replace(/(.)\/+$/,"$1"),u=i.slice(1);return{params:n.reduce((l,g,d)=>{let{paramName:c,isOptional:p}=g;if(c==="*"){let h=u[d]||"";s=r.slice(0,r.length-h.length).replace(/(.)\/+$/,"$1")}const f=u[d];return p&&!f?l[c]=void 0:l[c]=(f||"").replace(/%2F/g,"/"),l},{}),pathname:r,pathnameBase:s,pattern:e}}function i9e(e,a,t){a===void 0&&(a=!1),t===void 0&&(t=!0),T9(e==="*"||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were '+('"'+e.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+e.replace(/\*$/,"/*")+'".'));let n=[],i="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(s,u,o)=>(n.push({paramName:u,isOptional:o!=null}),o?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(n.push({paramName:"*"}),i+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):t?i+="\\/*$":e!==""&&e!=="/"&&(i+="(?:(?=\\/|$))"),[new RegExp(i,a?void 0:"i"),n]}function r9e(e){try{return e.split("/").map(a=>decodeURIComponent(a).replace(/\//g,"%2F")).join("/")}catch(a){return T9(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+a+").")),e}}function kD(e,a){if(a==="/")return e;if(!e.toLowerCase().startsWith(a.toLowerCase()))return null;let t=a.endsWith("/")?a.length-1:a.length,n=e.charAt(t);return n&&n!=="/"?null:e.slice(t)||"/"}function s9e(e,a){a===void 0&&(a="/");let{pathname:t,search:n="",hash:i=""}=typeof e=="string"?vl(e):e;return{pathname:t?t.startsWith("/")?t:u9e(t,a):a,search:g9e(n),hash:d9e(i)}}function u9e(e,a){let t=a.replace(/\/+$/,"").split("/");return e.split("/").forEach(i=>{i===".."?t.length>1&&t.pop():i!=="."&&t.push(i)}),t.length>1?t.join("/"):"/"}function ET(e,a,t,n){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+a+"` field ["+JSON.stringify(n)+"].  Please separate it out to the ")+("`to."+t+"` field. Alternatively you may provide the full path as ")+'a string in <Link to="..."> and the router will parse it for you.'}function o9e(e){return e.filter((a,t)=>t===0||a.route.path&&a.route.path.length>0)}function CD(e,a){let t=o9e(e);return a?t.map((n,i)=>i===t.length-1?n.pathname:n.pathnameBase):t.map(n=>n.pathnameBase)}function wD(e,a,t,n){n===void 0&&(n=!1);let i;typeof e=="string"?i=vl(e):(i=jc({},e),Et(!i.pathname||!i.pathname.includes("?"),ET("?","pathname","search",i)),Et(!i.pathname||!i.pathname.includes("#"),ET("#","pathname","hash",i)),Et(!i.search||!i.search.includes("#"),ET("#","search","hash",i)));let r=e===""||i.pathname==="",s=r?"/":i.pathname,u;if(s==null)u=t;else{let d=a.length-1;if(!n&&s.startsWith("..")){let c=s.split("/");for(;c[0]==="..";)c.shift(),d-=1;i.pathname=c.join("/")}u=d>=0?a[d]:"/"}let o=s9e(i,u),l=s&&s!=="/"&&s.endsWith("/"),g=(r||s===".")&&t.endsWith("/");return!o.pathname.endsWith("/")&&(l||g)&&(o.pathname+="/"),o}const Gu=e=>e.join("/").replace(/\/\/+/g,"/"),l9e=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),g9e=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,d9e=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function c9e(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const oF=["post","put","patch","delete"];new Set(oF);const p9e=["get",...oF];new Set(p9e);/**
 * React Router v6.26.2
 *
 * Copyright (c) Remix Software Inc.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE.md file in the root directory of this source tree.
 *
 * @license MIT
 */function $c(){return $c=Object.assign?Object.assign.bind():function(e){for(var a=1;a<arguments.length;a++){var t=arguments[a];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},$c.apply(this,arguments)}const _D=X.createContext(null),f9e=X.createContext(null),po=X.createContext(null),S9=X.createContext(null),iu=X.createContext({outlet:null,matches:[],isDataRoute:!1}),lF=X.createContext(null);function h9e(e,a){let{relative:t}=a===void 0?{}:a;Cd()||Et(!1);let{basename:n,navigator:i}=X.useContext(po),{hash:r,pathname:s,search:u}=cF(e,{relative:t}),o=s;return n!=="/"&&(o=s==="/"?n:Gu([n,s])),i.createHref({pathname:o,search:u,hash:r})}function Cd(){return X.useContext(S9)!=null}function wp(){return Cd()||Et(!1),X.useContext(S9).location}function gF(e){X.useContext(po).static||X.useLayoutEffect(e)}function dF(){let{isDataRoute:e}=X.useContext(iu);return e?w9e():m9e()}function m9e(){Cd()||Et(!1);let e=X.useContext(_D),{basename:a,future:t,navigator:n}=X.useContext(po),{matches:i}=X.useContext(iu),{pathname:r}=wp(),s=JSON.stringify(CD(i,t.v7_relativeSplatPath)),u=X.useRef(!1);return gF(()=>{u.current=!0}),X.useCallback(function(l,g){if(g===void 0&&(g={}),!u.current)return;if(typeof l=="number"){n.go(l);return}let d=wD(l,JSON.parse(s),r,g.relative==="path");e==null&&a!=="/"&&(d.pathname=d.pathname==="/"?a:Gu([a,d.pathname])),(g.replace?n.replace:n.push)(d,g.state,g)},[a,n,s,r,e])}function zke(){let{matches:e}=X.useContext(iu),a=e[e.length-1];return a?a.params:{}}function cF(e,a){let{relative:t}=a===void 0?{}:a,{future:n}=X.useContext(po),{matches:i}=X.useContext(iu),{pathname:r}=wp(),s=JSON.stringify(CD(i,n.v7_relativeSplatPath));return X.useMemo(()=>wD(e,JSON.parse(s),r,t==="path"),[e,s,r,t])}function y9e(e,a){return b9e(e,a)}function b9e(e,a,t,n){Cd()||Et(!1);let{navigator:i}=X.useContext(po),{matches:r}=X.useContext(iu),s=r[r.length-1],u=s?s.params:{};s&&s.pathname;let o=s?s.pathnameBase:"/";s&&s.route;let l=wp(),g;if(a){var d;let y=typeof a=="string"?vl(a):a;o==="/"||(d=y.pathname)!=null&&d.startsWith(o)||Et(!1),g=y}else g=l;let c=g.pathname||"/",p=c;if(o!=="/"){let y=o.replace(/^\//,"").split("/");p="/"+c.replace(/^\//,"").split("/").slice(y.length).join("/")}let f=Vye(e,{pathname:p}),h=D9e(f&&f.map(y=>Object.assign({},y,{params:Object.assign({},u,y.params),pathname:Gu([o,i.encodeLocation?i.encodeLocation(y.pathname).pathname:y.pathname]),pathnameBase:y.pathnameBase==="/"?o:Gu([o,i.encodeLocation?i.encodeLocation(y.pathnameBase).pathname:y.pathnameBase])})),r,t,n);return a&&h?X.createElement(S9.Provider,{value:{location:$c({pathname:"/",search:"",hash:"",state:null,key:"default"},g),navigationType:Cu.Pop}},h):h}function T9e(){let e=C9e(),a=c9e(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),t=e instanceof Error?e.stack:null,i={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return X.createElement(X.Fragment,null,X.createElement("h2",null,"Unexpected Application Error!"),X.createElement("h3",{style:{fontStyle:"italic"}},a),t?X.createElement("pre",{style:i},t):null,null)}const S9e=X.createElement(T9e,null);class A9e extends X.Component{constructor(a){super(a),this.state={location:a.location,revalidation:a.revalidation,error:a.error}}static getDerivedStateFromError(a){return{error:a}}static getDerivedStateFromProps(a,t){return t.location!==a.location||t.revalidation!=="idle"&&a.revalidation==="idle"?{error:a.error,location:a.location,revalidation:a.revalidation}:{error:a.error!==void 0?a.error:t.error,location:t.location,revalidation:a.revalidation||t.revalidation}}componentDidCatch(a,t){console.error("React Router caught the following error during render",a,t)}render(){return this.state.error!==void 0?X.createElement(iu.Provider,{value:this.props.routeContext},X.createElement(lF.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function v9e(e){let{routeContext:a,match:t,children:n}=e,i=X.useContext(_D);return i&&i.static&&i.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(i.staticContext._deepestRenderedBoundaryId=t.route.id),X.createElement(iu.Provider,{value:a},n)}function D9e(e,a,t,n){var i;if(a===void 0&&(a=[]),t===void 0&&(t=null),n===void 0&&(n=null),e==null){var r;if(!t)return null;if(t.errors)e=t.matches;else if((r=n)!=null&&r.v7_partialHydration&&a.length===0&&!t.initialized&&t.matches.length>0)e=t.matches;else return null}let s=e,u=(i=t)==null?void 0:i.errors;if(u!=null){let g=s.findIndex(d=>d.route.id&&(u==null?void 0:u[d.route.id])!==void 0);g>=0||Et(!1),s=s.slice(0,Math.min(s.length,g+1))}let o=!1,l=-1;if(t&&n&&n.v7_partialHydration)for(let g=0;g<s.length;g++){let d=s[g];if((d.route.HydrateFallback||d.route.hydrateFallbackElement)&&(l=g),d.route.id){let{loaderData:c,errors:p}=t,f=d.route.loader&&c[d.route.id]===void 0&&(!p||p[d.route.id]===void 0);if(d.route.lazy||f){o=!0,l>=0?s=s.slice(0,l+1):s=[s[0]];break}}}return s.reduceRight((g,d,c)=>{let p,f=!1,h=null,y=null;t&&(p=u&&d.route.id?u[d.route.id]:void 0,h=d.route.errorElement||S9e,o&&(l<0&&c===0?(f=!0,y=null):l===c&&(f=!0,y=d.route.hydrateFallbackElement||null)));let b=a.concat(s.slice(0,c+1)),m=()=>{let T;return p?T=h:f?T=y:d.route.Component?T=X.createElement(d.route.Component,null):d.route.element?T=d.route.element:T=g,X.createElement(v9e,{match:d,routeContext:{outlet:g,matches:b,isDataRoute:t!=null},children:T})};return t&&(d.route.ErrorBoundary||d.route.errorElement||c===0)?X.createElement(A9e,{location:t.location,revalidation:t.revalidation,component:h,error:p,children:m(),routeContext:{outlet:null,matches:b,isDataRoute:!0}}):m()},null)}var pF=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(pF||{}),Dm=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(Dm||{});function x9e(e){let a=X.useContext(_D);return a||Et(!1),a}function E9e(e){let a=X.useContext(f9e);return a||Et(!1),a}function k9e(e){let a=X.useContext(iu);return a||Et(!1),a}function fF(e){let a=k9e(),t=a.matches[a.matches.length-1];return t.route.id||Et(!1),t.route.id}function C9e(){var e;let a=X.useContext(lF),t=E9e(Dm.UseRouteError),n=fF(Dm.UseRouteError);return a!==void 0?a:(e=t.errors)==null?void 0:e[n]}function w9e(){let{router:e}=x9e(pF.UseNavigateStable),a=fF(Dm.UseNavigateStable),t=X.useRef(!1);return gF(()=>{t.current=!0}),X.useCallback(function(i,r){r===void 0&&(r={}),t.current&&(typeof i=="number"?e.navigate(i):e.navigate(i,$c({fromRouteId:a},r)))},[e,a])}function $ke(e){let{to:a,replace:t,state:n,relative:i}=e;Cd()||Et(!1);let{future:r,static:s}=X.useContext(po),{matches:u}=X.useContext(iu),{pathname:o}=wp(),l=dF(),g=wD(a,CD(u,r.v7_relativeSplatPath),o,i==="path"),d=JSON.stringify(g);return X.useEffect(()=>l(JSON.parse(d),{replace:t,state:n,relative:i}),[l,d,i,t,n]),null}function _9e(e){Et(!1)}function hF(e){let{basename:a="/",children:t=null,location:n,navigationType:i=Cu.Pop,navigator:r,static:s=!1,future:u}=e;Cd()&&Et(!1);let o=a.replace(/^\/*/,"/"),l=X.useMemo(()=>({basename:o,navigator:r,static:s,future:$c({v7_relativeSplatPath:!1},u)}),[o,u,r,s]);typeof n=="string"&&(n=vl(n));let{pathname:g="/",search:d="",hash:c="",state:p=null,key:f="default"}=n,h=X.useMemo(()=>{let y=kD(g,o);return y==null?null:{location:{pathname:y,search:d,hash:c,state:p,key:f},navigationType:i}},[o,g,d,c,p,f,i]);return h==null?null:X.createElement(po.Provider,{value:l},X.createElement(S9.Provider,{children:t,value:h}))}function Kke(e){let{children:a,location:t}=e;return y9e(A7(a),t)}new Promise(()=>{});function A7(e,a){a===void 0&&(a=[]);let t=[];return X.Children.forEach(e,(n,i)=>{if(!X.isValidElement(n))return;let r=[...a,i];if(n.type===X.Fragment){t.push.apply(t,A7(n.props.children,r));return}n.type!==_9e&&Et(!1),!n.props.index||!n.props.children||Et(!1);let s={id:n.props.id||r.join("-"),caseSensitive:n.props.caseSensitive,element:n.props.element,Component:n.props.Component,index:n.props.index,path:n.props.path,loader:n.props.loader,action:n.props.action,errorElement:n.props.errorElement,ErrorBoundary:n.props.ErrorBoundary,hasErrorBoundary:n.props.ErrorBoundary!=null||n.props.errorElement!=null,shouldRevalidate:n.props.shouldRevalidate,handle:n.props.handle,lazy:n.props.lazy};n.props.children&&(s.children=A7(n.props.children,r)),t.push(s)}),t}/**
 * React Router DOM v6.26.2
 *
 * Copyright (c) Remix Software Inc.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE.md file in the root directory of this source tree.
 *
 * @license MIT
 */function v7(){return v7=Object.assign?Object.assign.bind():function(e){for(var a=1;a<arguments.length;a++){var t=arguments[a];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},v7.apply(this,arguments)}function I9e(e,a){if(e==null)return{};var t={},n=Object.keys(e),i,r;for(r=0;r<n.length;r++)i=n[r],!(a.indexOf(i)>=0)&&(t[i]=e[i]);return t}function N9e(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function L9e(e,a){return e.button===0&&(!a||a==="_self")&&!N9e(e)}const R9e=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","unstable_viewTransition"],P9e="6";try{window.__reactRouterVersion=P9e}catch{}const M9e="startTransition",xm=TS[M9e];function Hke(e){let{basename:a,children:t,future:n,window:i}=e,r=X.useRef();r.current==null&&(r.current=Kye({window:i,v5Compat:!0}));let s=r.current,[u,o]=X.useState({action:s.action,location:s.location}),{v7_startTransition:l}=n||{},g=X.useCallback(d=>{l&&xm?xm(()=>o(d)):o(d)},[o,l]);return X.useLayoutEffect(()=>s.listen(g),[s,g]),X.createElement(hF,{basename:a,children:t,location:u.location,navigationType:u.action,navigator:s,future:n})}function qke(e){let{basename:a,children:t,future:n,window:i}=e,r=X.useRef();r.current==null&&(r.current=Hye({window:i,v5Compat:!0}));let s=r.current,[u,o]=X.useState({action:s.action,location:s.location}),{v7_startTransition:l}=n||{},g=X.useCallback(d=>{l&&xm?xm(()=>o(d)):o(d)},[o,l]);return X.useLayoutEffect(()=>s.listen(g),[s,g]),X.createElement(hF,{basename:a,children:t,location:u.location,navigationType:u.action,navigator:s,future:n})}const O9e=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",B9e=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Vke=X.forwardRef(function(a,t){let{onClick:n,relative:i,reloadDocument:r,replace:s,state:u,target:o,to:l,preventScrollReset:g,unstable_viewTransition:d}=a,c=I9e(a,R9e),{basename:p}=X.useContext(po),f,h=!1;if(typeof l=="string"&&B9e.test(l)&&(f=l,O9e))try{let T=new URL(window.location.href),A=l.startsWith("//")?new URL(T.protocol+l):new URL(l),v=kD(A.pathname,p);A.origin===T.origin&&v!=null?l=v+A.search+A.hash:h=!0}catch{}let y=h9e(l,{relative:i}),b=F9e(l,{replace:s,state:u,target:o,preventScrollReset:g,relative:i,unstable_viewTransition:d});function m(T){n&&n(T),T.defaultPrevented||b(T)}return X.createElement("a",v7({},c,{href:f||y,onClick:h||r?n:m,ref:t,target:o}))});var aw;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(aw||(aw={}));var tw;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(tw||(tw={}));function F9e(e,a){let{target:t,replace:n,state:i,preventScrollReset:r,relative:s,unstable_viewTransition:u}=a===void 0?{}:a,o=dF(),l=wp(),g=cF(e,{relative:s});return X.useCallback(d=>{if(L9e(d,t)){d.preventDefault();let c=n!==void 0?n:zc(l)===zc(g);o(e,{replace:c,state:i,preventScrollReset:r,relative:s,unstable_viewTransition:u})}},[l,o,g,n,i,t,e,r,s,u])}var Em=function(){return Em=Object.assign||function(a){for(var t,n=1,i=arguments.length;n<i;n++){t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(a[r]=t[r])}return a},Em.apply(this,arguments)};function mF(){var e=X.useRef(!1),a=X.useCallback(function(){return e.current},[]);return X.useEffect(function(){return e.current=!0,function(){e.current=!1}},[]),a}function U9e(e,a,t){a===void 0&&(a=[]),t===void 0&&(t={loading:!1});var n=X.useRef(0),i=mF(),r=X.useState(t),s=r[0],u=r[1],o=X.useCallback(function(){for(var l=[],g=0;g<arguments.length;g++)l[g]=arguments[g];var d=++n.current;return s.loading||u(function(c){return Em(Em({},c),{loading:!0})}),e.apply(void 0,l).then(function(c){return i()&&d===n.current&&u({value:c,loading:!1}),c},function(c){return i()&&d===n.current&&u({error:c,loading:!1}),c})},a);return[s,o]}function Gke(e,a){a===void 0&&(a=[]);var t=U9e(e,a,{loading:!0}),n=t[0],i=t[1];return X.useEffect(function(){i()},[i]),n}var j9e=function(e){e===void 0&&(e={});var a=X.useState(e),t=a[0],n=a[1],i=X.useCallback(function(r){n(function(s){return Object.assign({},s,r instanceof Function?r(s):r)})},[]);return[t,i]},z9e=function(){};function $9e(e){for(var a=[],t=1;t<arguments.length;t++)a[t-1]=arguments[t];e&&e.addEventListener&&e.addEventListener.apply(e,a)}function K9e(e){for(var a=[],t=1;t<arguments.length;t++)a[t-1]=arguments[t];e&&e.removeEventListener&&e.removeEventListener.apply(e,a)}var X0=typeof window<"u",H9e=function(){var e=document.getSelection();if(!e.rangeCount)return function(){};for(var a=document.activeElement,t=[],n=0;n<e.rangeCount;n++)t.push(e.getRangeAt(n));switch(a.tagName.toUpperCase()){case"INPUT":case"TEXTAREA":a.blur();break;default:a=null;break}return e.removeAllRanges(),function(){e.type==="Caret"&&e.removeAllRanges(),e.rangeCount||t.forEach(function(i){e.addRange(i)}),a&&a.focus()}},q9e=H9e,nw={"text/plain":"Text","text/html":"Url",default:"Text"},V9e="Copy to clipboard: #{key}, Enter";function G9e(e){var a=(/mac os x/i.test(navigator.userAgent)?"⌘":"Ctrl")+"+C";return e.replace(/#{\s*key\s*}/g,a)}function W9e(e,a){var t,n,i,r,s,u,o=!1;a||(a={}),t=a.debug||!1;try{i=q9e(),r=document.createRange(),s=document.getSelection(),u=document.createElement("span"),u.textContent=e,u.ariaHidden="true",u.style.all="unset",u.style.position="fixed",u.style.top=0,u.style.clip="rect(0, 0, 0, 0)",u.style.whiteSpace="pre",u.style.webkitUserSelect="text",u.style.MozUserSelect="text",u.style.msUserSelect="text",u.style.userSelect="text",u.addEventListener("copy",function(g){if(g.stopPropagation(),a.format)if(g.preventDefault(),typeof g.clipboardData>"u"){t&&console.warn("unable to use e.clipboardData"),t&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var d=nw[a.format]||nw.default;window.clipboardData.setData(d,e)}else g.clipboardData.clearData(),g.clipboardData.setData(a.format,e);a.onCopy&&(g.preventDefault(),a.onCopy(g.clipboardData))}),document.body.appendChild(u),r.selectNodeContents(u),s.addRange(r);var l=document.execCommand("copy");if(!l)throw new Error("copy command was unsuccessful");o=!0}catch(g){t&&console.error("unable to copy using execCommand: ",g),t&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(a.format||"text",e),a.onCopy&&a.onCopy(window.clipboardData),o=!0}catch(d){t&&console.error("unable to copy using clipboardData: ",d),t&&console.error("falling back to prompt"),n=G9e("message"in a?a.message:V9e),window.prompt(n,e)}}finally{s&&(typeof s.removeRange=="function"?s.removeRange(r):s.removeAllRanges()),u&&document.body.removeChild(u),i()}return o}var Y9e=W9e;const X9e=an(Y9e);var Wke=function(){var e=mF(),a=j9e({value:void 0,error:void 0,noUserInteraction:!0}),t=a[0],n=a[1],i=X.useCallback(function(r){if(e()){var s,u;try{if(typeof r!="string"&&typeof r!="number"){var o=new Error("Cannot copy typeof "+typeof r+" to clipboard, must be a string");n({value:r,error:o,noUserInteraction:!0});return}else if(r===""){var o=new Error("Cannot copy empty string to clipboard.");n({value:r,error:o,noUserInteraction:!0});return}u=r.toString(),s=X9e(u),n({value:u,error:void 0,noUserInteraction:s})}catch(l){n({value:u,error:l,noUserInteraction:s})}}},[]);return[t,i]},Q9e=X0?X.useLayoutEffect:X.useEffect;function Yke(e,a){var t=X.useRef(!1),n=X.useRef(),i=X.useRef(e),r=X.useCallback(function(){return t.current},[]),s=X.useCallback(function(){t.current=!1,n.current&&clearTimeout(n.current),n.current=setTimeout(function(){t.current=!0,i.current()},a)},[a]),u=X.useCallback(function(){t.current=null,n.current&&clearTimeout(n.current)},[]);return X.useEffect(function(){i.current=e},[e]),X.useEffect(function(){return s(),u},[a]),[r,u,s]}var Z9e=function(e){X.useEffect(e,[])},Xke=function(e,a){var t=X.useRef(function(){});X.useEffect(function(){t.current=e}),X.useEffect(function(){if(a!==null){var n=setInterval(function(){return t.current()},a||0);return function(){return clearInterval(n)}}},[a])},J9e=function(e){var a=X.useRef(e);a.current=e,Z9e(function(){return function(){return a.current()}})},e1e=function(e){var a=X.useRef(0),t=X.useState(e),n=t[0],i=t[1],r=X.useCallback(function(s){cancelAnimationFrame(a.current),a.current=requestAnimationFrame(function(){i(s)})},[]);return J9e(function(){cancelAnimationFrame(a.current)}),[n,r]},Qke=function(e,a){e===void 0&&(e=1/0),a===void 0&&(a=1/0);var t=e1e({width:X0?window.innerWidth:e,height:X0?window.innerHeight:a}),n=t[0],i=t[1];return X.useEffect(function(){if(X0){var r=function(){i({width:window.innerWidth,height:window.innerHeight})};return $9e(window,"resize",r),function(){K9e(window,"resize",r)}}},[]),n},yF={x:0,y:0,width:0,height:0,top:0,left:0,bottom:0,right:0};function a1e(){var e=X.useState(null),a=e[0],t=e[1],n=X.useState(yF),i=n[0],r=n[1],s=X.useMemo(function(){return new window.ResizeObserver(function(u){if(u[0]){var o=u[0].contentRect,l=o.x,g=o.y,d=o.width,c=o.height,p=o.top,f=o.left,h=o.bottom,y=o.right;r({x:l,y:g,width:d,height:c,top:p,left:f,bottom:h,right:y})}})},[]);return Q9e(function(){if(a)return s.observe(a),function(){s.disconnect()}},[a]),[t,i]}const Zke=X0&&typeof window.ResizeObserver<"u"?a1e:function(){return[z9e,yF]};function _g(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`positive integer expected, not ${e}`)}function t1e(e){return e instanceof Uint8Array||e!=null&&typeof e=="object"&&e.constructor.name==="Uint8Array"}function A9(e,...a){if(!t1e(e))throw new Error("Uint8Array expected");if(a.length>0&&!a.includes(e.length))throw new Error(`Uint8Array expected of length ${a}, not of length=${e.length}`)}function bF(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");_g(e.outputLen),_g(e.blockLen)}function km(e,a=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(a&&e.finished)throw new Error("Hash#digest() has already been called")}function n1e(e,a){A9(e);const t=a.outputLen;if(e.length<t)throw new Error(`digestInto() expects output buffer of length at least ${t}`)}const Bl=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */const K2=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),jr=(e,a)=>e<<32-a|e>>>a;new Uint8Array(new Uint32Array([287454020]).buffer)[0];const i1e=async()=>{};async function r1e(e,a,t){let n=Date.now();for(let i=0;i<e;i++){t(i);const r=Date.now()-n;r>=0&&r<a||(await i1e(),n+=r)}}function s1e(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function Kc(e){return typeof e=="string"&&(e=s1e(e)),A9(e),e}class TF{clone(){return this._cloneInto()}}const u1e={}.toString;function o1e(e,a){if(a!==void 0&&u1e.call(a)!=="[object Object]")throw new Error("Options should be object or undefined");return Object.assign(e,a)}function l1e(e){const a=n=>e().update(Kc(n)).digest(),t=e();return a.outputLen=t.outputLen,a.blockLen=t.blockLen,a.create=()=>e(),a}function g1e(e=32){if(Bl&&typeof Bl.getRandomValues=="function")return Bl.getRandomValues(new Uint8Array(e));if(Bl&&typeof Bl.randomBytes=="function")return Bl.randomBytes(e);throw new Error("crypto.getRandomValues must be defined")}class SF extends TF{constructor(a,t){super(),this.finished=!1,this.destroyed=!1,bF(a);const n=Kc(t);if(this.iHash=a.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const i=this.blockLen,r=new Uint8Array(i);r.set(n.length>i?a.create().update(n).digest():n);for(let s=0;s<r.length;s++)r[s]^=54;this.iHash.update(r),this.oHash=a.create();for(let s=0;s<r.length;s++)r[s]^=106;this.oHash.update(r),r.fill(0)}update(a){return km(this),this.iHash.update(a),this}digestInto(a){km(this),A9(a,this.outputLen),this.finished=!0,this.iHash.digestInto(a),this.oHash.update(a),this.oHash.digestInto(a),this.destroy()}digest(){const a=new Uint8Array(this.oHash.outputLen);return this.digestInto(a),a}_cloneInto(a){a||(a=Object.create(Object.getPrototypeOf(this),{}));const{oHash:t,iHash:n,finished:i,destroyed:r,blockLen:s,outputLen:u}=this;return a=a,a.finished=i,a.destroyed=r,a.blockLen=s,a.outputLen=u,a.oHash=t._cloneInto(a.oHash),a.iHash=n._cloneInto(a.iHash),a}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const AF=(e,a,t)=>new SF(e,a).update(t).digest();AF.create=(e,a)=>new SF(e,a);function d1e(e,a,t,n){bF(e);const i=o1e({dkLen:32,asyncTick:10},n),{c:r,dkLen:s,asyncTick:u}=i;if(_g(r),_g(s),_g(u),r<1)throw new Error("PBKDF2: iterations (c) should be >= 1");const o=Kc(a),l=Kc(t),g=new Uint8Array(s),d=AF.create(e,o),c=d._cloneInto().update(l);return{c:r,dkLen:s,asyncTick:u,DK:g,PRF:d,PRFSalt:c}}function c1e(e,a,t,n,i){return e.destroy(),a.destroy(),n&&n.destroy(),i.fill(0),t}async function Jke(e,a,t,n){const{c:i,dkLen:r,asyncTick:s,DK:u,PRF:o,PRFSalt:l}=d1e(e,a,t,n);let g;const d=new Uint8Array(4),c=K2(d),p=new Uint8Array(o.outputLen);for(let f=1,h=0;h<r;f++,h+=o.outputLen){const y=u.subarray(h,h+o.outputLen);c.setInt32(0,f,!1),(g=l._cloneInto(g)).update(d).digestInto(p),y.set(p.subarray(0,y.length)),await r1e(i-1,s,()=>{o._cloneInto(g).update(p).digestInto(p);for(let b=0;b<y.length;b++)y[b]^=p[b]})}return c1e(o,l,u,g,p)}function p1e(e,a,t,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(a,t,n);const i=BigInt(32),r=BigInt(4294967295),s=Number(t>>i&r),u=Number(t&r),o=n?4:0,l=n?0:4;e.setUint32(a+o,s,n),e.setUint32(a+l,u,n)}const f1e=(e,a,t)=>e&a^~e&t,h1e=(e,a,t)=>e&a^e&t^a&t;class m1e extends TF{constructor(a,t,n,i){super(),this.blockLen=a,this.outputLen=t,this.padOffset=n,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(a),this.view=K2(this.buffer)}update(a){km(this);const{view:t,buffer:n,blockLen:i}=this;a=Kc(a);const r=a.length;for(let s=0;s<r;){const u=Math.min(i-this.pos,r-s);if(u===i){const o=K2(a);for(;i<=r-s;s+=i)this.process(o,s);continue}n.set(a.subarray(s,s+u),this.pos),this.pos+=u,s+=u,this.pos===i&&(this.process(t,0),this.pos=0)}return this.length+=a.length,this.roundClean(),this}digestInto(a){km(this),n1e(a,this),this.finished=!0;const{buffer:t,view:n,blockLen:i,isLE:r}=this;let{pos:s}=this;t[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>i-s&&(this.process(n,0),s=0);for(let d=s;d<i;d++)t[d]=0;p1e(n,i-8,BigInt(this.length*8),r),this.process(n,0);const u=K2(a),o=this.outputLen;if(o%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const l=o/4,g=this.get();if(l>g.length)throw new Error("_sha2: outputLen bigger than state");for(let d=0;d<l;d++)u.setUint32(4*d,g[d],r)}digest(){const{buffer:a,outputLen:t}=this;this.digestInto(a);const n=a.slice(0,t);return this.destroy(),n}_cloneInto(a){a||(a=new this.constructor),a.set(...this.get());const{blockLen:t,buffer:n,length:i,finished:r,destroyed:s,pos:u}=this;return a.length=i,a.pos=u,a.finished=r,a.destroyed=s,i%t&&a.buffer.set(n),a}}const y1e=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),lu=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),gu=new Uint32Array(64);class b1e extends m1e{constructor(){super(64,32,8,!1),this.A=lu[0]|0,this.B=lu[1]|0,this.C=lu[2]|0,this.D=lu[3]|0,this.E=lu[4]|0,this.F=lu[5]|0,this.G=lu[6]|0,this.H=lu[7]|0}get(){const{A:a,B:t,C:n,D:i,E:r,F:s,G:u,H:o}=this;return[a,t,n,i,r,s,u,o]}set(a,t,n,i,r,s,u,o){this.A=a|0,this.B=t|0,this.C=n|0,this.D=i|0,this.E=r|0,this.F=s|0,this.G=u|0,this.H=o|0}process(a,t){for(let d=0;d<16;d++,t+=4)gu[d]=a.getUint32(t,!1);for(let d=16;d<64;d++){const c=gu[d-15],p=gu[d-2],f=jr(c,7)^jr(c,18)^c>>>3,h=jr(p,17)^jr(p,19)^p>>>10;gu[d]=h+gu[d-7]+f+gu[d-16]|0}let{A:n,B:i,C:r,D:s,E:u,F:o,G:l,H:g}=this;for(let d=0;d<64;d++){const c=jr(u,6)^jr(u,11)^jr(u,25),p=g+c+f1e(u,o,l)+y1e[d]+gu[d]|0,h=(jr(n,2)^jr(n,13)^jr(n,22))+h1e(n,i,r)|0;g=l,l=o,o=u,u=s+p|0,s=r,r=i,i=n,n=p+h|0}n=n+this.A|0,i=i+this.B|0,r=r+this.C|0,s=s+this.D|0,u=u+this.E|0,o=o+this.F|0,l=l+this.G|0,g=g+this.H|0,this.set(n,i,r,s,u,o,l,g)}roundClean(){gu.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}const T1e=l1e(()=>new b1e);/*! scure-base - MIT License (c) 2022 Paul Miller (paulmillr.com) */function Cm(e){return e instanceof Uint8Array||e!=null&&typeof e=="object"&&e.constructor.name==="Uint8Array"}function S1e(...e){const a=r=>r,t=(r,s)=>u=>r(s(u)),n=e.map(r=>r.encode).reduceRight(t,a),i=e.map(r=>r.decode).reduce(t,a);return{encode:n,decode:i}}function A1e(e){return{encode:a=>{if(!Array.isArray(a)||a.length&&typeof a[0]!="number")throw new Error("alphabet.encode input should be an array of numbers");return a.map(t=>{if(t<0||t>=e.length)throw new Error(`Digit index outside alphabet: ${t} (alphabet: ${e.length})`);return e[t]})},decode:a=>{if(!Array.isArray(a)||a.length&&typeof a[0]!="string")throw new Error("alphabet.decode input should be array of strings");return a.map(t=>{if(typeof t!="string")throw new Error(`alphabet.decode: not string element=${t}`);const n=e.indexOf(t);if(n===-1)throw new Error(`Unknown letter: "${t}". Allowed: ${e}`);return n})}}}function v1e(e=""){if(typeof e!="string")throw new Error("join separator should be string");return{encode:a=>{if(!Array.isArray(a)||a.length&&typeof a[0]!="string")throw new Error("join.encode input should be array of strings");for(let t of a)if(typeof t!="string")throw new Error(`join.encode: non-string input=${t}`);return a.join(e)},decode:a=>{if(typeof a!="string")throw new Error("join.decode input should be string");return a.split(e)}}}function D1e(e,a="="){if(typeof a!="string")throw new Error("padding chr should be string");return{encode(t){if(!Array.isArray(t)||t.length&&typeof t[0]!="string")throw new Error("padding.encode input should be array of strings");for(let n of t)if(typeof n!="string")throw new Error(`padding.encode: non-string input=${n}`);for(;t.length*e%8;)t.push(a);return t},decode(t){if(!Array.isArray(t)||t.length&&typeof t[0]!="string")throw new Error("padding.encode input should be array of strings");for(let i of t)if(typeof i!="string")throw new Error(`padding.decode: non-string input=${i}`);let n=t.length;if(n*e%8)throw new Error("Invalid padding: string should have whole number of bytes");for(;n>0&&t[n-1]===a;n--)if(!((n-1)*e%8))throw new Error("Invalid padding: string has too much padding");return t.slice(0,n)}}}function D7(e,a,t){if(a<2)throw new Error(`convertRadix: wrong from=${a}, base cannot be less than 2`);if(t<2)throw new Error(`convertRadix: wrong to=${t}, base cannot be less than 2`);if(!Array.isArray(e))throw new Error("convertRadix: data should be array");if(!e.length)return[];let n=0;const i=[],r=Array.from(e);for(r.forEach(s=>{if(s<0||s>=a)throw new Error(`Wrong integer: ${s}`)});;){let s=0,u=!0;for(let o=n;o<r.length;o++){const l=r[o],g=a*s+l;if(!Number.isSafeInteger(g)||a*s/a!==s||g-l!==a*s)throw new Error("convertRadix: carry overflow");s=g%t;const d=Math.floor(g/t);if(r[o]=d,!Number.isSafeInteger(d)||d*t+s!==g)throw new Error("convertRadix: carry overflow");if(u)d?u=!1:n=o;else continue}if(i.push(s),u)break}for(let s=0;s<e.length-1&&e[s]===0;s++)i.push(0);return i.reverse()}const vF=(e,a)=>a?vF(a,e%a):e,wm=(e,a)=>e+(a-vF(e,a));function x7(e,a,t,n){if(!Array.isArray(e))throw new Error("convertRadix2: data should be array");if(a<=0||a>32)throw new Error(`convertRadix2: wrong from=${a}`);if(t<=0||t>32)throw new Error(`convertRadix2: wrong to=${t}`);if(wm(a,t)>32)throw new Error(`convertRadix2: carry overflow from=${a} to=${t} carryBits=${wm(a,t)}`);let i=0,r=0;const s=2**t-1,u=[];for(const o of e){if(o>=2**a)throw new Error(`convertRadix2: invalid data word=${o} from=${a}`);if(i=i<<a|o,r+a>32)throw new Error(`convertRadix2: carry overflow pos=${r} from=${a}`);for(r+=a;r>=t;r-=t)u.push((i>>r-t&s)>>>0);i&=2**r-1}if(i=i<<t-r&s,!n&&r>=a)throw new Error("Excess padding");if(!n&&i)throw new Error(`Non-zero padding: ${i}`);return n&&r>0&&u.push(i>>>0),u}function x1e(e){return{encode:a=>{if(!Cm(a))throw new Error("radix.encode input should be Uint8Array");return D7(Array.from(a),2**8,e)},decode:a=>{if(!Array.isArray(a)||a.length&&typeof a[0]!="number")throw new Error("radix.decode input should be array of numbers");return Uint8Array.from(D7(a,e,2**8))}}}function E1e(e,a=!1){if(e<=0||e>32)throw new Error("radix2: bits should be in (0..32]");if(wm(8,e)>32||wm(e,8)>32)throw new Error("radix2: carry overflow");return{encode:t=>{if(!Cm(t))throw new Error("radix2.encode input should be Uint8Array");return x7(Array.from(t),8,e,!a)},decode:t=>{if(!Array.isArray(t)||t.length&&typeof t[0]!="number")throw new Error("radix2.decode input should be array of numbers");return Uint8Array.from(x7(t,e,8,a))}}}function k1e(e,a){if(typeof a!="function")throw new Error("checksum fn should be function");return{encode(t){if(!Cm(t))throw new Error("checksum.encode: input should be Uint8Array");const n=a(t).slice(0,e),i=new Uint8Array(t.length+e);return i.set(t),i.set(n,t.length),i},decode(t){if(!Cm(t))throw new Error("checksum.decode: input should be Uint8Array");const n=t.slice(0,-e),i=a(n).slice(0,e),r=t.slice(-e);for(let s=0;s<e;s++)if(i[s]!==r[s])throw new Error("Invalid checksum");return n}}}const $f={alphabet:A1e,chain:S1e,checksum:k1e,convertRadix:D7,convertRadix2:x7,radix:x1e,radix2:E1e,join:v1e,padding:D1e};/*! scure-bip39 - MIT License (c) 2022 Patricio Palladino, Paul Miller (paulmillr.com) */const C1e=e=>e[0]==="あいこくしん";function w1e(e){if(typeof e!="string")throw new TypeError(`Invalid mnemonic type: ${typeof e}`);return e.normalize("NFKD")}function _1e(e){const a=w1e(e),t=a.split(" ");if(![12,15,18,21,24].includes(t.length))throw new Error("Invalid mnemonic");return{nfkd:a,words:t}}function DF(e){A9(e,16,20,24,28,32)}function eCe(e,a=128){if(_g(a),a%32!==0||a>256)throw new TypeError("Invalid entropy");return L1e(g1e(a/8),e)}const I1e=e=>{const a=8-e.length/4;return new Uint8Array([T1e(e)[0]>>a<<a])};function xF(e){if(!Array.isArray(e)||e.length!==2048||typeof e[0]!="string")throw new Error("Wordlist: expected array of 2048 strings");return e.forEach(a=>{if(typeof a!="string")throw new Error(`Wordlist: non-string element: ${a}`)}),$f.chain($f.checksum(1,I1e),$f.radix2(11,!0),$f.alphabet(e))}function N1e(e,a){const{words:t}=_1e(e),n=xF(a).decode(t);return DF(n),n}function L1e(e,a){return DF(e),xF(a).encode(e).join(C1e(a)?"　":" ")}function aCe(e,a){try{N1e(e,a)}catch{return!1}return!0}const tCe=`abandon
ability
able
about
above
absent
absorb
abstract
absurd
abuse
access
accident
account
accuse
achieve
acid
acoustic
acquire
across
act
action
actor
actress
actual
adapt
add
addict
address
adjust
admit
adult
advance
advice
aerobic
affair
afford
afraid
again
age
agent
agree
ahead
aim
air
airport
aisle
alarm
album
alcohol
alert
alien
all
alley
allow
almost
alone
alpha
already
also
alter
always
amateur
amazing
among
amount
amused
analyst
anchor
ancient
anger
angle
angry
animal
ankle
announce
annual
another
answer
antenna
antique
anxiety
any
apart
apology
appear
apple
approve
april
arch
arctic
area
arena
argue
arm
armed
armor
army
around
arrange
arrest
arrive
arrow
art
artefact
artist
artwork
ask
aspect
assault
asset
assist
assume
asthma
athlete
atom
attack
attend
attitude
attract
auction
audit
august
aunt
author
auto
autumn
average
avocado
avoid
awake
aware
away
awesome
awful
awkward
axis
baby
bachelor
bacon
badge
bag
balance
balcony
ball
bamboo
banana
banner
bar
barely
bargain
barrel
base
basic
basket
battle
beach
bean
beauty
because
become
beef
before
begin
behave
behind
believe
below
belt
bench
benefit
best
betray
better
between
beyond
bicycle
bid
bike
bind
biology
bird
birth
bitter
black
blade
blame
blanket
blast
bleak
bless
blind
blood
blossom
blouse
blue
blur
blush
board
boat
body
boil
bomb
bone
bonus
book
boost
border
boring
borrow
boss
bottom
bounce
box
boy
bracket
brain
brand
brass
brave
bread
breeze
brick
bridge
brief
bright
bring
brisk
broccoli
broken
bronze
broom
brother
brown
brush
bubble
buddy
budget
buffalo
build
bulb
bulk
bullet
bundle
bunker
burden
burger
burst
bus
business
busy
butter
buyer
buzz
cabbage
cabin
cable
cactus
cage
cake
call
calm
camera
camp
can
canal
cancel
candy
cannon
canoe
canvas
canyon
capable
capital
captain
car
carbon
card
cargo
carpet
carry
cart
case
cash
casino
castle
casual
cat
catalog
catch
category
cattle
caught
cause
caution
cave
ceiling
celery
cement
census
century
cereal
certain
chair
chalk
champion
change
chaos
chapter
charge
chase
chat
cheap
check
cheese
chef
cherry
chest
chicken
chief
child
chimney
choice
choose
chronic
chuckle
chunk
churn
cigar
cinnamon
circle
citizen
city
civil
claim
clap
clarify
claw
clay
clean
clerk
clever
click
client
cliff
climb
clinic
clip
clock
clog
close
cloth
cloud
clown
club
clump
cluster
clutch
coach
coast
coconut
code
coffee
coil
coin
collect
color
column
combine
come
comfort
comic
common
company
concert
conduct
confirm
congress
connect
consider
control
convince
cook
cool
copper
copy
coral
core
corn
correct
cost
cotton
couch
country
couple
course
cousin
cover
coyote
crack
cradle
craft
cram
crane
crash
crater
crawl
crazy
cream
credit
creek
crew
cricket
crime
crisp
critic
crop
cross
crouch
crowd
crucial
cruel
cruise
crumble
crunch
crush
cry
crystal
cube
culture
cup
cupboard
curious
current
curtain
curve
cushion
custom
cute
cycle
dad
damage
damp
dance
danger
daring
dash
daughter
dawn
day
deal
debate
debris
decade
december
decide
decline
decorate
decrease
deer
defense
define
defy
degree
delay
deliver
demand
demise
denial
dentist
deny
depart
depend
deposit
depth
deputy
derive
describe
desert
design
desk
despair
destroy
detail
detect
develop
device
devote
diagram
dial
diamond
diary
dice
diesel
diet
differ
digital
dignity
dilemma
dinner
dinosaur
direct
dirt
disagree
discover
disease
dish
dismiss
disorder
display
distance
divert
divide
divorce
dizzy
doctor
document
dog
doll
dolphin
domain
donate
donkey
donor
door
dose
double
dove
draft
dragon
drama
drastic
draw
dream
dress
drift
drill
drink
drip
drive
drop
drum
dry
duck
dumb
dune
during
dust
dutch
duty
dwarf
dynamic
eager
eagle
early
earn
earth
easily
east
easy
echo
ecology
economy
edge
edit
educate
effort
egg
eight
either
elbow
elder
electric
elegant
element
elephant
elevator
elite
else
embark
embody
embrace
emerge
emotion
employ
empower
empty
enable
enact
end
endless
endorse
enemy
energy
enforce
engage
engine
enhance
enjoy
enlist
enough
enrich
enroll
ensure
enter
entire
entry
envelope
episode
equal
equip
era
erase
erode
erosion
error
erupt
escape
essay
essence
estate
eternal
ethics
evidence
evil
evoke
evolve
exact
example
excess
exchange
excite
exclude
excuse
execute
exercise
exhaust
exhibit
exile
exist
exit
exotic
expand
expect
expire
explain
expose
express
extend
extra
eye
eyebrow
fabric
face
faculty
fade
faint
faith
fall
false
fame
family
famous
fan
fancy
fantasy
farm
fashion
fat
fatal
father
fatigue
fault
favorite
feature
february
federal
fee
feed
feel
female
fence
festival
fetch
fever
few
fiber
fiction
field
figure
file
film
filter
final
find
fine
finger
finish
fire
firm
first
fiscal
fish
fit
fitness
fix
flag
flame
flash
flat
flavor
flee
flight
flip
float
flock
floor
flower
fluid
flush
fly
foam
focus
fog
foil
fold
follow
food
foot
force
forest
forget
fork
fortune
forum
forward
fossil
foster
found
fox
fragile
frame
frequent
fresh
friend
fringe
frog
front
frost
frown
frozen
fruit
fuel
fun
funny
furnace
fury
future
gadget
gain
galaxy
gallery
game
gap
garage
garbage
garden
garlic
garment
gas
gasp
gate
gather
gauge
gaze
general
genius
genre
gentle
genuine
gesture
ghost
giant
gift
giggle
ginger
giraffe
girl
give
glad
glance
glare
glass
glide
glimpse
globe
gloom
glory
glove
glow
glue
goat
goddess
gold
good
goose
gorilla
gospel
gossip
govern
gown
grab
grace
grain
grant
grape
grass
gravity
great
green
grid
grief
grit
grocery
group
grow
grunt
guard
guess
guide
guilt
guitar
gun
gym
habit
hair
half
hammer
hamster
hand
happy
harbor
hard
harsh
harvest
hat
have
hawk
hazard
head
health
heart
heavy
hedgehog
height
hello
helmet
help
hen
hero
hidden
high
hill
hint
hip
hire
history
hobby
hockey
hold
hole
holiday
hollow
home
honey
hood
hope
horn
horror
horse
hospital
host
hotel
hour
hover
hub
huge
human
humble
humor
hundred
hungry
hunt
hurdle
hurry
hurt
husband
hybrid
ice
icon
idea
identify
idle
ignore
ill
illegal
illness
image
imitate
immense
immune
impact
impose
improve
impulse
inch
include
income
increase
index
indicate
indoor
industry
infant
inflict
inform
inhale
inherit
initial
inject
injury
inmate
inner
innocent
input
inquiry
insane
insect
inside
inspire
install
intact
interest
into
invest
invite
involve
iron
island
isolate
issue
item
ivory
jacket
jaguar
jar
jazz
jealous
jeans
jelly
jewel
job
join
joke
journey
joy
judge
juice
jump
jungle
junior
junk
just
kangaroo
keen
keep
ketchup
key
kick
kid
kidney
kind
kingdom
kiss
kit
kitchen
kite
kitten
kiwi
knee
knife
knock
know
lab
label
labor
ladder
lady
lake
lamp
language
laptop
large
later
latin
laugh
laundry
lava
law
lawn
lawsuit
layer
lazy
leader
leaf
learn
leave
lecture
left
leg
legal
legend
leisure
lemon
lend
length
lens
leopard
lesson
letter
level
liar
liberty
library
license
life
lift
light
like
limb
limit
link
lion
liquid
list
little
live
lizard
load
loan
lobster
local
lock
logic
lonely
long
loop
lottery
loud
lounge
love
loyal
lucky
luggage
lumber
lunar
lunch
luxury
lyrics
machine
mad
magic
magnet
maid
mail
main
major
make
mammal
man
manage
mandate
mango
mansion
manual
maple
marble
march
margin
marine
market
marriage
mask
mass
master
match
material
math
matrix
matter
maximum
maze
meadow
mean
measure
meat
mechanic
medal
media
melody
melt
member
memory
mention
menu
mercy
merge
merit
merry
mesh
message
metal
method
middle
midnight
milk
million
mimic
mind
minimum
minor
minute
miracle
mirror
misery
miss
mistake
mix
mixed
mixture
mobile
model
modify
mom
moment
monitor
monkey
monster
month
moon
moral
more
morning
mosquito
mother
motion
motor
mountain
mouse
move
movie
much
muffin
mule
multiply
muscle
museum
mushroom
music
must
mutual
myself
mystery
myth
naive
name
napkin
narrow
nasty
nation
nature
near
neck
need
negative
neglect
neither
nephew
nerve
nest
net
network
neutral
never
news
next
nice
night
noble
noise
nominee
noodle
normal
north
nose
notable
note
nothing
notice
novel
now
nuclear
number
nurse
nut
oak
obey
object
oblige
obscure
observe
obtain
obvious
occur
ocean
october
odor
off
offer
office
often
oil
okay
old
olive
olympic
omit
once
one
onion
online
only
open
opera
opinion
oppose
option
orange
orbit
orchard
order
ordinary
organ
orient
original
orphan
ostrich
other
outdoor
outer
output
outside
oval
oven
over
own
owner
oxygen
oyster
ozone
pact
paddle
page
pair
palace
palm
panda
panel
panic
panther
paper
parade
parent
park
parrot
party
pass
patch
path
patient
patrol
pattern
pause
pave
payment
peace
peanut
pear
peasant
pelican
pen
penalty
pencil
people
pepper
perfect
permit
person
pet
phone
photo
phrase
physical
piano
picnic
picture
piece
pig
pigeon
pill
pilot
pink
pioneer
pipe
pistol
pitch
pizza
place
planet
plastic
plate
play
please
pledge
pluck
plug
plunge
poem
poet
point
polar
pole
police
pond
pony
pool
popular
portion
position
possible
post
potato
pottery
poverty
powder
power
practice
praise
predict
prefer
prepare
present
pretty
prevent
price
pride
primary
print
priority
prison
private
prize
problem
process
produce
profit
program
project
promote
proof
property
prosper
protect
proud
provide
public
pudding
pull
pulp
pulse
pumpkin
punch
pupil
puppy
purchase
purity
purpose
purse
push
put
puzzle
pyramid
quality
quantum
quarter
question
quick
quit
quiz
quote
rabbit
raccoon
race
rack
radar
radio
rail
rain
raise
rally
ramp
ranch
random
range
rapid
rare
rate
rather
raven
raw
razor
ready
real
reason
rebel
rebuild
recall
receive
recipe
record
recycle
reduce
reflect
reform
refuse
region
regret
regular
reject
relax
release
relief
rely
remain
remember
remind
remove
render
renew
rent
reopen
repair
repeat
replace
report
require
rescue
resemble
resist
resource
response
result
retire
retreat
return
reunion
reveal
review
reward
rhythm
rib
ribbon
rice
rich
ride
ridge
rifle
right
rigid
ring
riot
ripple
risk
ritual
rival
river
road
roast
robot
robust
rocket
romance
roof
rookie
room
rose
rotate
rough
round
route
royal
rubber
rude
rug
rule
run
runway
rural
sad
saddle
sadness
safe
sail
salad
salmon
salon
salt
salute
same
sample
sand
satisfy
satoshi
sauce
sausage
save
say
scale
scan
scare
scatter
scene
scheme
school
science
scissors
scorpion
scout
scrap
screen
script
scrub
sea
search
season
seat
second
secret
section
security
seed
seek
segment
select
sell
seminar
senior
sense
sentence
series
service
session
settle
setup
seven
shadow
shaft
shallow
share
shed
shell
sheriff
shield
shift
shine
ship
shiver
shock
shoe
shoot
shop
short
shoulder
shove
shrimp
shrug
shuffle
shy
sibling
sick
side
siege
sight
sign
silent
silk
silly
silver
similar
simple
since
sing
siren
sister
situate
six
size
skate
sketch
ski
skill
skin
skirt
skull
slab
slam
sleep
slender
slice
slide
slight
slim
slogan
slot
slow
slush
small
smart
smile
smoke
smooth
snack
snake
snap
sniff
snow
soap
soccer
social
sock
soda
soft
solar
soldier
solid
solution
solve
someone
song
soon
sorry
sort
soul
sound
soup
source
south
space
spare
spatial
spawn
speak
special
speed
spell
spend
sphere
spice
spider
spike
spin
spirit
split
spoil
sponsor
spoon
sport
spot
spray
spread
spring
spy
square
squeeze
squirrel
stable
stadium
staff
stage
stairs
stamp
stand
start
state
stay
steak
steel
stem
step
stereo
stick
still
sting
stock
stomach
stone
stool
story
stove
strategy
street
strike
strong
struggle
student
stuff
stumble
style
subject
submit
subway
success
such
sudden
suffer
sugar
suggest
suit
summer
sun
sunny
sunset
super
supply
supreme
sure
surface
surge
surprise
surround
survey
suspect
sustain
swallow
swamp
swap
swarm
swear
sweet
swift
swim
swing
switch
sword
symbol
symptom
syrup
system
table
tackle
tag
tail
talent
talk
tank
tape
target
task
taste
tattoo
taxi
teach
team
tell
ten
tenant
tennis
tent
term
test
text
thank
that
theme
then
theory
there
they
thing
this
thought
three
thrive
throw
thumb
thunder
ticket
tide
tiger
tilt
timber
time
tiny
tip
tired
tissue
title
toast
tobacco
today
toddler
toe
together
toilet
token
tomato
tomorrow
tone
tongue
tonight
tool
tooth
top
topic
topple
torch
tornado
tortoise
toss
total
tourist
toward
tower
town
toy
track
trade
traffic
tragic
train
transfer
trap
trash
travel
tray
treat
tree
trend
trial
tribe
trick
trigger
trim
trip
trophy
trouble
truck
true
truly
trumpet
trust
truth
try
tube
tuition
tumble
tuna
tunnel
turkey
turn
turtle
twelve
twenty
twice
twin
twist
two
type
typical
ugly
umbrella
unable
unaware
uncle
uncover
under
undo
unfair
unfold
unhappy
uniform
unique
unit
universe
unknown
unlock
until
unusual
unveil
update
upgrade
uphold
upon
upper
upset
urban
urge
usage
use
used
useful
useless
usual
utility
vacant
vacuum
vague
valid
valley
valve
van
vanish
vapor
various
vast
vault
vehicle
velvet
vendor
venture
venue
verb
verify
version
very
vessel
veteran
viable
vibrant
vicious
victory
video
view
village
vintage
violin
virtual
virus
visa
visit
visual
vital
vivid
vocal
voice
void
volcano
volume
vote
voyage
wage
wagon
wait
walk
wall
walnut
want
warfare
warm
warrior
wash
wasp
waste
water
wave
way
wealth
weapon
wear
weasel
weather
web
wedding
weekend
weird
welcome
west
wet
whale
what
wheat
wheel
when
where
whip
whisper
wide
width
wife
wild
will
win
window
wine
wing
wink
winner
winter
wire
wisdom
wise
wish
witness
wolf
woman
wonder
wood
wool
word
work
world
worry
worth
wrap
wreck
wrestle
wrist
write
wrong
yard
year
yellow
you
young
youth
zebra
zero
zone
zoo`.split(`
`);var ha={options:{usePureJavaScript:!1}},ID={},R1e=ID,iw={};ID.encode=function(e,a,t){if(typeof a!="string")throw new TypeError('"alphabet" must be a string.');if(t!==void 0&&typeof t!="number")throw new TypeError('"maxline" must be a number.');var n="";if(!(e instanceof Uint8Array))n=P1e(e,a);else{var i=0,r=a.length,s=a.charAt(0),u=[0];for(i=0;i<e.length;++i){for(var o=0,l=e[i];o<u.length;++o)l+=u[o]<<8,u[o]=l%r,l=l/r|0;for(;l>0;)u.push(l%r),l=l/r|0}for(i=0;e[i]===0&&i<e.length-1;++i)n+=s;for(i=u.length-1;i>=0;--i)n+=a[u[i]]}if(t){var g=new RegExp(".{1,"+t+"}","g");n=n.match(g).join(`\r
`)}return n};ID.decode=function(e,a){if(typeof e!="string")throw new TypeError('"input" must be a string.');if(typeof a!="string")throw new TypeError('"alphabet" must be a string.');var t=iw[a];if(!t){t=iw[a]=[];for(var n=0;n<a.length;++n)t[a.charCodeAt(n)]=n}e=e.replace(/\s/g,"");for(var i=a.length,r=a.charAt(0),s=[0],n=0;n<e.length;n++){var u=t[e.charCodeAt(n)];if(u===void 0)return;for(var o=0,l=u;o<s.length;++o)l+=s[o]*i,s[o]=l&255,l>>=8;for(;l>0;)s.push(l&255),l>>=8}for(var g=0;e[g]===r&&g<e.length-1;++g)s.push(0);return typeof Buffer<"u"?Buffer.from(s.reverse()):new Uint8Array(s.reverse())};function P1e(e,a){var t=0,n=a.length,i=a.charAt(0),r=[0];for(t=0;t<e.length();++t){for(var s=0,u=e.at(t);s<r.length;++s)u+=r[s]<<8,r[s]=u%n,u=u/n|0;for(;u>0;)r.push(u%n),u=u/n|0}var o="";for(t=0;e.at(t)===0&&t<e.length()-1;++t)o+=i;for(t=r.length-1;t>=0;--t)o+=a[r[t]];return o}var rw=ha,sw=R1e,te=rw.util=rw.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){te.nextTick=process.nextTick,typeof setImmediate=="function"?te.setImmediate=setImmediate:te.setImmediate=te.nextTick;return}if(typeof setImmediate=="function"){te.setImmediate=function(){return setImmediate.apply(void 0,arguments)},te.nextTick=function(s){return setImmediate(s)};return}if(te.setImmediate=function(s){setTimeout(s,0)},typeof window<"u"&&typeof window.postMessage=="function"){let s=function(u){if(u.source===window&&u.data===e){u.stopPropagation();var o=a.slice();a.length=0,o.forEach(function(l){l()})}};var e="forge.setImmediate",a=[];te.setImmediate=function(u){a.push(u),a.length===1&&window.postMessage(e,"*")},window.addEventListener("message",s,!0)}if(typeof MutationObserver<"u"){var t=Date.now(),n=!0,i=document.createElement("div"),a=[];new MutationObserver(function(){var u=a.slice();a.length=0,u.forEach(function(o){o()})}).observe(i,{attributes:!0});var r=te.setImmediate;te.setImmediate=function(u){Date.now()-t>15?(t=Date.now(),r(u)):(a.push(u),a.length===1&&i.setAttribute("a",n=!n))}}te.nextTick=te.setImmediate})();te.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;te.globalScope=function(){return te.isNodejs?Ve:typeof self>"u"?window:self}();te.isArray=Array.isArray||function(e){return Object.prototype.toString.call(e)==="[object Array]"};te.isArrayBuffer=function(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer};te.isArrayBufferView=function(e){return e&&te.isArrayBuffer(e.buffer)&&e.byteLength!==void 0};function _p(e){if(!(e===8||e===16||e===24||e===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+e)}te.ByteBuffer=ND;function ND(e){if(this.data="",this.read=0,typeof e=="string")this.data=e;else if(te.isArrayBuffer(e)||te.isArrayBufferView(e))if(typeof Buffer<"u"&&e instanceof Buffer)this.data=e.toString("binary");else{var a=new Uint8Array(e);try{this.data=String.fromCharCode.apply(null,a)}catch{for(var t=0;t<a.length;++t)this.putByte(a[t])}}else(e instanceof ND||typeof e=="object"&&typeof e.data=="string"&&typeof e.read=="number")&&(this.data=e.data,this.read=e.read);this._constructedStringLength=0}te.ByteStringBuffer=ND;var M1e=4096;te.ByteStringBuffer.prototype._optimizeConstructedString=function(e){this._constructedStringLength+=e,this._constructedStringLength>M1e&&(this.data.substr(0,1),this._constructedStringLength=0)};te.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};te.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};te.ByteStringBuffer.prototype.putByte=function(e){return this.putBytes(String.fromCharCode(e))};te.ByteStringBuffer.prototype.fillWithByte=function(e,a){e=String.fromCharCode(e);for(var t=this.data;a>0;)a&1&&(t+=e),a>>>=1,a>0&&(e+=e);return this.data=t,this._optimizeConstructedString(a),this};te.ByteStringBuffer.prototype.putBytes=function(e){return this.data+=e,this._optimizeConstructedString(e.length),this};te.ByteStringBuffer.prototype.putString=function(e){return this.putBytes(te.encodeUtf8(e))};te.ByteStringBuffer.prototype.putInt16=function(e){return this.putBytes(String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};te.ByteStringBuffer.prototype.putInt24=function(e){return this.putBytes(String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};te.ByteStringBuffer.prototype.putInt32=function(e){return this.putBytes(String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};te.ByteStringBuffer.prototype.putInt16Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255))};te.ByteStringBuffer.prototype.putInt24Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255))};te.ByteStringBuffer.prototype.putInt32Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>24&255))};te.ByteStringBuffer.prototype.putInt=function(e,a){_p(a);var t="";do a-=8,t+=String.fromCharCode(e>>a&255);while(a>0);return this.putBytes(t)};te.ByteStringBuffer.prototype.putSignedInt=function(e,a){return e<0&&(e+=2<<a-1),this.putInt(e,a)};te.ByteStringBuffer.prototype.putBuffer=function(e){return this.putBytes(e.getBytes())};te.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};te.ByteStringBuffer.prototype.getInt16=function(){var e=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,e};te.ByteStringBuffer.prototype.getInt24=function(){var e=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,e};te.ByteStringBuffer.prototype.getInt32=function(){var e=this.data.charCodeAt(this.read)<<24^this.data.charCodeAt(this.read+1)<<16^this.data.charCodeAt(this.read+2)<<8^this.data.charCodeAt(this.read+3);return this.read+=4,e};te.ByteStringBuffer.prototype.getInt16Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,e};te.ByteStringBuffer.prototype.getInt24Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,e};te.ByteStringBuffer.prototype.getInt32Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16^this.data.charCodeAt(this.read+3)<<24;return this.read+=4,e};te.ByteStringBuffer.prototype.getInt=function(e){_p(e);var a=0;do a=(a<<8)+this.data.charCodeAt(this.read++),e-=8;while(e>0);return a};te.ByteStringBuffer.prototype.getSignedInt=function(e){var a=this.getInt(e),t=2<<e-2;return a>=t&&(a-=t<<1),a};te.ByteStringBuffer.prototype.getBytes=function(e){var a;return e?(e=Math.min(this.length(),e),a=this.data.slice(this.read,this.read+e),this.read+=e):e===0?a="":(a=this.read===0?this.data:this.data.slice(this.read),this.clear()),a};te.ByteStringBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};te.ByteStringBuffer.prototype.at=function(e){return this.data.charCodeAt(this.read+e)};te.ByteStringBuffer.prototype.setAt=function(e,a){return this.data=this.data.substr(0,this.read+e)+String.fromCharCode(a)+this.data.substr(this.read+e+1),this};te.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};te.ByteStringBuffer.prototype.copy=function(){var e=te.createBuffer(this.data);return e.read=this.read,e};te.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};te.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};te.ByteStringBuffer.prototype.truncate=function(e){var a=Math.max(0,this.length()-e);return this.data=this.data.substr(this.read,a),this.read=0,this};te.ByteStringBuffer.prototype.toHex=function(){for(var e="",a=this.read;a<this.data.length;++a){var t=this.data.charCodeAt(a);t<16&&(e+="0"),e+=t.toString(16)}return e};te.ByteStringBuffer.prototype.toString=function(){return te.decodeUtf8(this.bytes())};function O1e(e,a){a=a||{},this.read=a.readOffset||0,this.growSize=a.growSize||1024;var t=te.isArrayBuffer(e),n=te.isArrayBufferView(e);if(t||n){t?this.data=new DataView(e):this.data=new DataView(e.buffer,e.byteOffset,e.byteLength),this.write="writeOffset"in a?a.writeOffset:this.data.byteLength;return}this.data=new DataView(new ArrayBuffer(0)),this.write=0,e!=null&&this.putBytes(e),"writeOffset"in a&&(this.write=a.writeOffset)}te.DataBuffer=O1e;te.DataBuffer.prototype.length=function(){return this.write-this.read};te.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};te.DataBuffer.prototype.accommodate=function(e,a){if(this.length()>=e)return this;a=Math.max(a||this.growSize,e);var t=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+a);return n.set(t),this.data=new DataView(n.buffer),this};te.DataBuffer.prototype.putByte=function(e){return this.accommodate(1),this.data.setUint8(this.write++,e),this};te.DataBuffer.prototype.fillWithByte=function(e,a){this.accommodate(a);for(var t=0;t<a;++t)this.data.setUint8(e);return this};te.DataBuffer.prototype.putBytes=function(e,a){if(te.isArrayBufferView(e)){var t=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),n=t.byteLength-t.byteOffset;this.accommodate(n);var i=new Uint8Array(this.data.buffer,this.write);return i.set(t),this.write+=n,this}if(te.isArrayBuffer(e)){var t=new Uint8Array(e);this.accommodate(t.byteLength);var i=new Uint8Array(this.data.buffer);return i.set(t,this.write),this.write+=t.byteLength,this}if(e instanceof te.DataBuffer||typeof e=="object"&&typeof e.read=="number"&&typeof e.write=="number"&&te.isArrayBufferView(e.data)){var t=new Uint8Array(e.data.byteLength,e.read,e.length());this.accommodate(t.byteLength);var i=new Uint8Array(e.data.byteLength,this.write);return i.set(t),this.write+=t.byteLength,this}if(e instanceof te.ByteStringBuffer&&(e=e.data,a="binary"),a=a||"binary",typeof e=="string"){var r;if(a==="hex")return this.accommodate(Math.ceil(e.length/2)),r=new Uint8Array(this.data.buffer,this.write),this.write+=te.binary.hex.decode(e,r,this.write),this;if(a==="base64")return this.accommodate(Math.ceil(e.length/4)*3),r=new Uint8Array(this.data.buffer,this.write),this.write+=te.binary.base64.decode(e,r,this.write),this;if(a==="utf8"&&(e=te.encodeUtf8(e),a="binary"),a==="binary"||a==="raw")return this.accommodate(e.length),r=new Uint8Array(this.data.buffer,this.write),this.write+=te.binary.raw.decode(r),this;if(a==="utf16")return this.accommodate(e.length*2),r=new Uint16Array(this.data.buffer,this.write),this.write+=te.text.utf16.encode(r),this;throw new Error("Invalid encoding: "+a)}throw Error("Invalid parameter: "+e)};te.DataBuffer.prototype.putBuffer=function(e){return this.putBytes(e),e.clear(),this};te.DataBuffer.prototype.putString=function(e){return this.putBytes(e,"utf16")};te.DataBuffer.prototype.putInt16=function(e){return this.accommodate(2),this.data.setInt16(this.write,e),this.write+=2,this};te.DataBuffer.prototype.putInt24=function(e){return this.accommodate(3),this.data.setInt16(this.write,e>>8&65535),this.data.setInt8(this.write,e>>16&255),this.write+=3,this};te.DataBuffer.prototype.putInt32=function(e){return this.accommodate(4),this.data.setInt32(this.write,e),this.write+=4,this};te.DataBuffer.prototype.putInt16Le=function(e){return this.accommodate(2),this.data.setInt16(this.write,e,!0),this.write+=2,this};te.DataBuffer.prototype.putInt24Le=function(e){return this.accommodate(3),this.data.setInt8(this.write,e>>16&255),this.data.setInt16(this.write,e>>8&65535,!0),this.write+=3,this};te.DataBuffer.prototype.putInt32Le=function(e){return this.accommodate(4),this.data.setInt32(this.write,e,!0),this.write+=4,this};te.DataBuffer.prototype.putInt=function(e,a){_p(a),this.accommodate(a/8);do a-=8,this.data.setInt8(this.write++,e>>a&255);while(a>0);return this};te.DataBuffer.prototype.putSignedInt=function(e,a){return _p(a),this.accommodate(a/8),e<0&&(e+=2<<a-1),this.putInt(e,a)};te.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};te.DataBuffer.prototype.getInt16=function(){var e=this.data.getInt16(this.read);return this.read+=2,e};te.DataBuffer.prototype.getInt24=function(){var e=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,e};te.DataBuffer.prototype.getInt32=function(){var e=this.data.getInt32(this.read);return this.read+=4,e};te.DataBuffer.prototype.getInt16Le=function(){var e=this.data.getInt16(this.read,!0);return this.read+=2,e};te.DataBuffer.prototype.getInt24Le=function(){var e=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,e};te.DataBuffer.prototype.getInt32Le=function(){var e=this.data.getInt32(this.read,!0);return this.read+=4,e};te.DataBuffer.prototype.getInt=function(e){_p(e);var a=0;do a=(a<<8)+this.data.getInt8(this.read++),e-=8;while(e>0);return a};te.DataBuffer.prototype.getSignedInt=function(e){var a=this.getInt(e),t=2<<e-2;return a>=t&&(a-=t<<1),a};te.DataBuffer.prototype.getBytes=function(e){var a;return e?(e=Math.min(this.length(),e),a=this.data.slice(this.read,this.read+e),this.read+=e):e===0?a="":(a=this.read===0?this.data:this.data.slice(this.read),this.clear()),a};te.DataBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};te.DataBuffer.prototype.at=function(e){return this.data.getUint8(this.read+e)};te.DataBuffer.prototype.setAt=function(e,a){return this.data.setUint8(e,a),this};te.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};te.DataBuffer.prototype.copy=function(){return new te.DataBuffer(this)};te.DataBuffer.prototype.compact=function(){if(this.read>0){var e=new Uint8Array(this.data.buffer,this.read),a=new Uint8Array(e.byteLength);a.set(e),this.data=new DataView(a),this.write-=this.read,this.read=0}return this};te.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};te.DataBuffer.prototype.truncate=function(e){return this.write=Math.max(0,this.length()-e),this.read=Math.min(this.read,this.write),this};te.DataBuffer.prototype.toHex=function(){for(var e="",a=this.read;a<this.data.byteLength;++a){var t=this.data.getUint8(a);t<16&&(e+="0"),e+=t.toString(16)}return e};te.DataBuffer.prototype.toString=function(e){var a=new Uint8Array(this.data,this.read,this.length());if(e=e||"utf8",e==="binary"||e==="raw")return te.binary.raw.encode(a);if(e==="hex")return te.binary.hex.encode(a);if(e==="base64")return te.binary.base64.encode(a);if(e==="utf8")return te.text.utf8.decode(a);if(e==="utf16")return te.text.utf16.decode(a);throw new Error("Invalid encoding: "+e)};te.createBuffer=function(e,a){return a=a||"raw",e!==void 0&&a==="utf8"&&(e=te.encodeUtf8(e)),new te.ByteBuffer(e)};te.fillString=function(e,a){for(var t="";a>0;)a&1&&(t+=e),a>>>=1,a>0&&(e+=e);return t};te.xorBytes=function(e,a,t){for(var n="",i="",r="",s=0,u=0;t>0;--t,++s)i=e.charCodeAt(s)^a.charCodeAt(s),u>=10&&(n+=r,r="",u=0),r+=String.fromCharCode(i),++u;return n+=r,n};te.hexToBytes=function(e){var a="",t=0;for(e.length&!0&&(t=1,a+=String.fromCharCode(parseInt(e[0],16)));t<e.length;t+=2)a+=String.fromCharCode(parseInt(e.substr(t,2),16));return a};te.bytesToHex=function(e){return te.createBuffer(e).toHex()};te.int32ToBytes=function(e){return String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255)};var wu="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",_u=[62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,64,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],EF="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";te.encode64=function(e,a){for(var t="",n="",i,r,s,u=0;u<e.length;)i=e.charCodeAt(u++),r=e.charCodeAt(u++),s=e.charCodeAt(u++),t+=wu.charAt(i>>2),t+=wu.charAt((i&3)<<4|r>>4),isNaN(r)?t+="==":(t+=wu.charAt((r&15)<<2|s>>6),t+=isNaN(s)?"=":wu.charAt(s&63)),a&&t.length>a&&(n+=t.substr(0,a)+`\r
`,t=t.substr(a));return n+=t,n};te.decode64=function(e){e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var a="",t,n,i,r,s=0;s<e.length;)t=_u[e.charCodeAt(s++)-43],n=_u[e.charCodeAt(s++)-43],i=_u[e.charCodeAt(s++)-43],r=_u[e.charCodeAt(s++)-43],a+=String.fromCharCode(t<<2|n>>4),i!==64&&(a+=String.fromCharCode((n&15)<<4|i>>2),r!==64&&(a+=String.fromCharCode((i&3)<<6|r)));return a};te.encodeUtf8=function(e){return unescape(encodeURIComponent(e))};te.decodeUtf8=function(e){return decodeURIComponent(escape(e))};te.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:sw.encode,decode:sw.decode}};te.binary.raw.encode=function(e){return String.fromCharCode.apply(null,e)};te.binary.raw.decode=function(e,a,t){var n=a;n||(n=new Uint8Array(e.length)),t=t||0;for(var i=t,r=0;r<e.length;++r)n[i++]=e.charCodeAt(r);return a?i-t:n};te.binary.hex.encode=te.bytesToHex;te.binary.hex.decode=function(e,a,t){var n=a;n||(n=new Uint8Array(Math.ceil(e.length/2))),t=t||0;var i=0,r=t;for(e.length&1&&(i=1,n[r++]=parseInt(e[0],16));i<e.length;i+=2)n[r++]=parseInt(e.substr(i,2),16);return a?r-t:n};te.binary.base64.encode=function(e,a){for(var t="",n="",i,r,s,u=0;u<e.byteLength;)i=e[u++],r=e[u++],s=e[u++],t+=wu.charAt(i>>2),t+=wu.charAt((i&3)<<4|r>>4),isNaN(r)?t+="==":(t+=wu.charAt((r&15)<<2|s>>6),t+=isNaN(s)?"=":wu.charAt(s&63)),a&&t.length>a&&(n+=t.substr(0,a)+`\r
`,t=t.substr(a));return n+=t,n};te.binary.base64.decode=function(e,a,t){var n=a;n||(n=new Uint8Array(Math.ceil(e.length/4)*3)),e=e.replace(/[^A-Za-z0-9\+\/\=]/g,""),t=t||0;for(var i,r,s,u,o=0,l=t;o<e.length;)i=_u[e.charCodeAt(o++)-43],r=_u[e.charCodeAt(o++)-43],s=_u[e.charCodeAt(o++)-43],u=_u[e.charCodeAt(o++)-43],n[l++]=i<<2|r>>4,s!==64&&(n[l++]=(r&15)<<4|s>>2,u!==64&&(n[l++]=(s&3)<<6|u));return a?l-t:n.subarray(0,l)};te.binary.base58.encode=function(e,a){return te.binary.baseN.encode(e,EF,a)};te.binary.base58.decode=function(e,a){return te.binary.baseN.decode(e,EF,a)};te.text={utf8:{},utf16:{}};te.text.utf8.encode=function(e,a,t){e=te.encodeUtf8(e);var n=a;n||(n=new Uint8Array(e.length)),t=t||0;for(var i=t,r=0;r<e.length;++r)n[i++]=e.charCodeAt(r);return a?i-t:n};te.text.utf8.decode=function(e){return te.decodeUtf8(String.fromCharCode.apply(null,e))};te.text.utf16.encode=function(e,a,t){var n=a;n||(n=new Uint8Array(e.length*2));var i=new Uint16Array(n.buffer);t=t||0;for(var r=t,s=t,u=0;u<e.length;++u)i[s++]=e.charCodeAt(u),r+=2;return a?r-t:n};te.text.utf16.decode=function(e){return String.fromCharCode.apply(null,new Uint16Array(e.buffer))};te.deflate=function(e,a,t){if(a=te.decode64(e.deflate(te.encode64(a)).rval),t){var n=2,i=a.charCodeAt(1);i&32&&(n=6),a=a.substring(n,a.length-4)}return a};te.inflate=function(e,a,t){var n=e.inflate(te.encode64(a)).rval;return n===null?null:te.decode64(n)};var LD=function(e,a,t){if(!e)throw new Error("WebStorage not available.");var n;if(t===null?n=e.removeItem(a):(t=te.encode64(JSON.stringify(t)),n=e.setItem(a,t)),typeof n<"u"&&n.rval!==!0){var i=new Error(n.error.message);throw i.id=n.error.id,i.name=n.error.name,i}},RD=function(e,a){if(!e)throw new Error("WebStorage not available.");var t=e.getItem(a);if(e.init)if(t.rval===null){if(t.error){var n=new Error(t.error.message);throw n.id=t.error.id,n.name=t.error.name,n}t=null}else t=t.rval;return t!==null&&(t=JSON.parse(te.decode64(t))),t},B1e=function(e,a,t,n){var i=RD(e,a);i===null&&(i={}),i[t]=n,LD(e,a,i)},F1e=function(e,a,t){var n=RD(e,a);return n!==null&&(n=t in n?n[t]:null),n},U1e=function(e,a,t){var n=RD(e,a);if(n!==null&&t in n){delete n[t];var i=!0;for(var r in n){i=!1;break}i&&(n=null),LD(e,a,n)}},j1e=function(e,a){LD(e,a,null)},v9=function(e,a,t){var n=null;typeof t>"u"&&(t=["web","flash"]);var i,r=!1,s=null;for(var u in t){i=t[u];try{if(i==="flash"||i==="both"){if(a[0]===null)throw new Error("Flash local storage not available.");n=e.apply(this,a),r=i==="flash"}(i==="web"||i==="both")&&(a[0]=localStorage,n=e.apply(this,a),r=!0)}catch(o){s=o}if(r)break}if(!r)throw s;return n};te.setItem=function(e,a,t,n,i){v9(B1e,arguments,i)};te.getItem=function(e,a,t,n){return v9(F1e,arguments,n)};te.removeItem=function(e,a,t,n){v9(U1e,arguments,n)};te.clearItems=function(e,a,t){v9(j1e,arguments,t)};te.isEmpty=function(e){for(var a in e)if(e.hasOwnProperty(a))return!1;return!0};te.format=function(e){for(var a=/%./g,t,n,i=0,r=[],s=0;t=a.exec(e);){n=e.substring(s,a.lastIndex-2),n.length>0&&r.push(n),s=a.lastIndex;var u=t[0][1];switch(u){case"s":case"o":i<arguments.length?r.push(arguments[i+++1]):r.push("<?>");break;case"%":r.push("%");break;default:r.push("<%"+u+"?>")}}return r.push(e.substring(s)),r.join("")};te.formatNumber=function(e,a,t,n){var i=e,r=isNaN(a=Math.abs(a))?2:a,s=t===void 0?",":t,u=n===void 0?".":n,o=i<0?"-":"",l=parseInt(i=Math.abs(+i||0).toFixed(r),10)+"",g=l.length>3?l.length%3:0;return o+(g?l.substr(0,g)+u:"")+l.substr(g).replace(/(\d{3})(?=\d)/g,"$1"+u)+(r?s+Math.abs(i-l).toFixed(r).slice(2):"")};te.formatSize=function(e){return e>=1073741824?e=te.formatNumber(e/1073741824,2,".","")+" GiB":e>=1048576?e=te.formatNumber(e/1048576,2,".","")+" MiB":e>=1024?e=te.formatNumber(e/1024,0)+" KiB":e=te.formatNumber(e,0)+" bytes",e};te.bytesFromIP=function(e){return e.indexOf(".")!==-1?te.bytesFromIPv4(e):e.indexOf(":")!==-1?te.bytesFromIPv6(e):null};te.bytesFromIPv4=function(e){if(e=e.split("."),e.length!==4)return null;for(var a=te.createBuffer(),t=0;t<e.length;++t){var n=parseInt(e[t],10);if(isNaN(n))return null;a.putByte(n)}return a.getBytes()};te.bytesFromIPv6=function(e){var a=0;e=e.split(":").filter(function(s){return s.length===0&&++a,!0});for(var t=(8-e.length+a)*2,n=te.createBuffer(),i=0;i<8;++i){if(!e[i]||e[i].length===0){n.fillWithByte(0,t),t=0;continue}var r=te.hexToBytes(e[i]);r.length<2&&n.putByte(0),n.putBytes(r)}return n.getBytes()};te.bytesToIP=function(e){return e.length===4?te.bytesToIPv4(e):e.length===16?te.bytesToIPv6(e):null};te.bytesToIPv4=function(e){if(e.length!==4)return null;for(var a=[],t=0;t<e.length;++t)a.push(e.charCodeAt(t));return a.join(".")};te.bytesToIPv6=function(e){if(e.length!==16)return null;for(var a=[],t=[],n=0,i=0;i<e.length;i+=2){for(var r=te.bytesToHex(e[i]+e[i+1]);r[0]==="0"&&r!=="0";)r=r.substr(1);if(r==="0"){var s=t[t.length-1],u=a.length;!s||u!==s.end+1?t.push({start:u,end:u}):(s.end=u,s.end-s.start>t[n].end-t[n].start&&(n=t.length-1))}a.push(r)}if(t.length>0){var o=t[n];o.end-o.start>0&&(a.splice(o.start,o.end-o.start+1,""),o.start===0&&a.unshift(""),o.end===7&&a.push(""))}return a.join(":")};te.estimateCores=function(e,a){if(typeof e=="function"&&(a=e,e={}),e=e||{},"cores"in te&&!e.update)return a(null,te.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return te.cores=navigator.hardwareConcurrency,a(null,te.cores);if(typeof Worker>"u")return te.cores=1,a(null,te.cores);if(typeof Blob>"u")return te.cores=2,a(null,te.cores);var t=URL.createObjectURL(new Blob(["(",(function(){self.addEventListener("message",function(s){var u=Date.now(),o=u+4;self.postMessage({st:u,et:o})})}).toString(),")()"],{type:"application/javascript"}));n([],5,16);function n(s,u,o){if(u===0){var l=Math.floor(s.reduce(function(g,d){return g+d},0)/s.length);return te.cores=Math.max(1,l),URL.revokeObjectURL(t),a(null,te.cores)}i(o,function(g,d){s.push(r(o,d)),n(s,u-1,o)})}function i(s,u){for(var o=[],l=[],g=0;g<s;++g){var d=new Worker(t);d.addEventListener("message",function(c){if(l.push(c.data),l.length===s){for(var p=0;p<s;++p)o[p].terminate();u(null,l)}}),o.push(d)}for(var g=0;g<s;++g)o[g].postMessage(g)}function r(s,u){for(var o=[],l=0;l<s;++l)for(var g=u[l],d=o[l]=[],c=0;c<s;++c)if(l!==c){var p=u[c];(g.st>p.st&&g.st<p.et||p.st>g.st&&p.st<g.et)&&d.push(c)}return o.reduce(function(f,h){return Math.max(f,h.length)},0)}};var Zt=ha;Zt.cipher=Zt.cipher||{};Zt.cipher.algorithms=Zt.cipher.algorithms||{};Zt.cipher.createCipher=function(e,a){var t=e;if(typeof t=="string"&&(t=Zt.cipher.getAlgorithm(t),t&&(t=t())),!t)throw new Error("Unsupported algorithm: "+e);return new Zt.cipher.BlockCipher({algorithm:t,key:a,decrypt:!1})};Zt.cipher.createDecipher=function(e,a){var t=e;if(typeof t=="string"&&(t=Zt.cipher.getAlgorithm(t),t&&(t=t())),!t)throw new Error("Unsupported algorithm: "+e);return new Zt.cipher.BlockCipher({algorithm:t,key:a,decrypt:!0})};Zt.cipher.registerAlgorithm=function(e,a){e=e.toUpperCase(),Zt.cipher.algorithms[e]=a};Zt.cipher.getAlgorithm=function(e){return e=e.toUpperCase(),e in Zt.cipher.algorithms?Zt.cipher.algorithms[e]:null};var PD=Zt.cipher.BlockCipher=function(e){this.algorithm=e.algorithm,this.mode=this.algorithm.mode,this.blockSize=this.mode.blockSize,this._finish=!1,this._input=null,this.output=null,this._op=e.decrypt?this.mode.decrypt:this.mode.encrypt,this._decrypt=e.decrypt,this.algorithm.initialize(e)};PD.prototype.start=function(e){e=e||{};var a={};for(var t in e)a[t]=e[t];a.decrypt=this._decrypt,this._finish=!1,this._input=Zt.util.createBuffer(),this.output=e.output||Zt.util.createBuffer(),this.mode.start(a)};PD.prototype.update=function(e){for(e&&this._input.putBuffer(e);!this._op.call(this.mode,this._input,this.output,this._finish)&&!this._finish;);this._input.compact()};PD.prototype.finish=function(e){e&&(this.mode.name==="ECB"||this.mode.name==="CBC")&&(this.mode.pad=function(t){return e(this.blockSize,t,!1)},this.mode.unpad=function(t){return e(this.blockSize,t,!0)});var a={};return a.decrypt=this._decrypt,a.overflow=this._input.length()%this.blockSize,!(!this._decrypt&&this.mode.pad&&!this.mode.pad(this._input,a)||(this._finish=!0,this.update(),this._decrypt&&this.mode.unpad&&!this.mode.unpad(this.output,a))||this.mode.afterFinish&&!this.mode.afterFinish(this.output,a))};var Xt=ha;Xt.cipher=Xt.cipher||{};var Sa=Xt.cipher.modes=Xt.cipher.modes||{};Sa.ecb=function(e){e=e||{},this.name="ECB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};Sa.ecb.prototype.start=function(e){};Sa.ecb.prototype.encrypt=function(e,a,t){if(e.length()<this.blockSize&&!(t&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)a.putInt32(this._outBlock[n])};Sa.ecb.prototype.decrypt=function(e,a,t){if(e.length()<this.blockSize&&!(t&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)a.putInt32(this._outBlock[n])};Sa.ecb.prototype.pad=function(e,a){var t=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(t,t),!0};Sa.ecb.prototype.unpad=function(e,a){if(a.overflow>0)return!1;var t=e.length(),n=e.at(t-1);return n>this.blockSize<<2?!1:(e.truncate(n),!0)};Sa.cbc=function(e){e=e||{},this.name="CBC",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};Sa.cbc.prototype.start=function(e){if(e.iv===null){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else if("iv"in e)this._iv=D9(e.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};Sa.cbc.prototype.encrypt=function(e,a,t){if(e.length()<this.blockSize&&!(t&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=this._prev[n]^e.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)a.putInt32(this._outBlock[n]);this._prev=this._outBlock};Sa.cbc.prototype.decrypt=function(e,a,t){if(e.length()<this.blockSize&&!(t&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)a.putInt32(this._prev[n]^this._outBlock[n]);this._prev=this._inBlock.slice(0)};Sa.cbc.prototype.pad=function(e,a){var t=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(t,t),!0};Sa.cbc.prototype.unpad=function(e,a){if(a.overflow>0)return!1;var t=e.length(),n=e.at(t-1);return n>this.blockSize<<2?!1:(e.truncate(n),!0)};Sa.cfb=function(e){e=e||{},this.name="CFB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=Xt.util.createBuffer(),this._partialBytes=0};Sa.cfb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=D9(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Sa.cfb.prototype.encrypt=function(e,a,t){var n=e.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=e.getInt32()^this._outBlock[i],a.putInt32(this._inBlock[i]);return}var r=(this.blockSize-n)%this.blockSize;r>0&&(r=this.blockSize-r),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=e.getInt32()^this._outBlock[i],this._partialOutput.putInt32(this._partialBlock[i]);if(r>0)e.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),r>0&&!t)return a.putBytes(this._partialOutput.getBytes(r-this._partialBytes)),this._partialBytes=r,!0;a.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};Sa.cfb.prototype.decrypt=function(e,a,t){var n=e.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=e.getInt32(),a.putInt32(this._inBlock[i]^this._outBlock[i]);return}var r=(this.blockSize-n)%this.blockSize;r>0&&(r=this.blockSize-r),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=e.getInt32(),this._partialOutput.putInt32(this._partialBlock[i]^this._outBlock[i]);if(r>0)e.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),r>0&&!t)return a.putBytes(this._partialOutput.getBytes(r-this._partialBytes)),this._partialBytes=r,!0;a.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};Sa.ofb=function(e){e=e||{},this.name="OFB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Xt.util.createBuffer(),this._partialBytes=0};Sa.ofb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=D9(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Sa.ofb.prototype.encrypt=function(e,a,t){var n=e.length();if(e.length()===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)a.putInt32(e.getInt32()^this._outBlock[i]),this._inBlock[i]=this._outBlock[i];return}var r=(this.blockSize-n)%this.blockSize;r>0&&(r=this.blockSize-r),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(e.getInt32()^this._outBlock[i]);if(r>0)e.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._outBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),r>0&&!t)return a.putBytes(this._partialOutput.getBytes(r-this._partialBytes)),this._partialBytes=r,!0;a.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};Sa.ofb.prototype.decrypt=Sa.ofb.prototype.encrypt;Sa.ctr=function(e){e=e||{},this.name="CTR",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Xt.util.createBuffer(),this._partialBytes=0};Sa.ctr.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=D9(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Sa.ctr.prototype.encrypt=function(e,a,t){var n=e.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize)for(var i=0;i<this._ints;++i)a.putInt32(e.getInt32()^this._outBlock[i]);else{var r=(this.blockSize-n)%this.blockSize;r>0&&(r=this.blockSize-r),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(e.getInt32()^this._outBlock[i]);if(r>0&&(e.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),r>0&&!t)return a.putBytes(this._partialOutput.getBytes(r-this._partialBytes)),this._partialBytes=r,!0;a.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}x9(this._inBlock)};Sa.ctr.prototype.decrypt=Sa.ctr.prototype.encrypt;Sa.gcm=function(e){e=e||{},this.name="GCM",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=Xt.util.createBuffer(),this._partialBytes=0,this._R=3774873600};Sa.gcm.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");var a=Xt.util.createBuffer(e.iv);this._cipherLength=0;var t;if("additionalData"in e?t=Xt.util.createBuffer(e.additionalData):t=Xt.util.createBuffer(),"tagLength"in e?this._tagLength=e.tagLength:this._tagLength=128,this._tag=null,e.decrypt&&(this._tag=Xt.util.createBuffer(e.tag).getBytes(),this._tag.length!==this._tagLength/8))throw new Error("Authentication tag does not match tag length.");this._hashBlock=new Array(this._ints),this.tag=null,this._hashSubkey=new Array(this._ints),this.cipher.encrypt([0,0,0,0],this._hashSubkey),this.componentBits=4,this._m=this.generateHashTable(this._hashSubkey,this.componentBits);var n=a.length();if(n===12)this._j0=[a.getInt32(),a.getInt32(),a.getInt32(),1];else{for(this._j0=[0,0,0,0];a.length()>0;)this._j0=this.ghash(this._hashSubkey,this._j0,[a.getInt32(),a.getInt32(),a.getInt32(),a.getInt32()]);this._j0=this.ghash(this._hashSubkey,this._j0,[0,0].concat(E7(n*8)))}this._inBlock=this._j0.slice(0),x9(this._inBlock),this._partialBytes=0,t=Xt.util.createBuffer(t),this._aDataLength=E7(t.length()*8);var i=t.length()%this.blockSize;for(i&&t.fillWithByte(0,this.blockSize-i),this._s=[0,0,0,0];t.length()>0;)this._s=this.ghash(this._hashSubkey,this._s,[t.getInt32(),t.getInt32(),t.getInt32(),t.getInt32()])};Sa.gcm.prototype.encrypt=function(e,a,t){var n=e.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)a.putInt32(this._outBlock[i]^=e.getInt32());this._cipherLength+=this.blockSize}else{var r=(this.blockSize-n)%this.blockSize;r>0&&(r=this.blockSize-r),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(e.getInt32()^this._outBlock[i]);if(r<=0||t){if(t){var s=n%this.blockSize;this._cipherLength+=s,this._partialOutput.truncate(this.blockSize-s)}else this._cipherLength+=this.blockSize;for(var i=0;i<this._ints;++i)this._outBlock[i]=this._partialOutput.getInt32();this._partialOutput.read-=this.blockSize}if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),r>0&&!t)return e.read-=this.blockSize,a.putBytes(this._partialOutput.getBytes(r-this._partialBytes)),this._partialBytes=r,!0;a.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),x9(this._inBlock)};Sa.gcm.prototype.decrypt=function(e,a,t){var n=e.length();if(n<this.blockSize&&!(t&&n>0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),x9(this._inBlock),this._hashBlock[0]=e.getInt32(),this._hashBlock[1]=e.getInt32(),this._hashBlock[2]=e.getInt32(),this._hashBlock[3]=e.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var i=0;i<this._ints;++i)a.putInt32(this._outBlock[i]^this._hashBlock[i]);n<this.blockSize?this._cipherLength+=n%this.blockSize:this._cipherLength+=this.blockSize};Sa.gcm.prototype.afterFinish=function(e,a){var t=!0;a.decrypt&&a.overflow&&e.truncate(this.blockSize-a.overflow),this.tag=Xt.util.createBuffer();var n=this._aDataLength.concat(E7(this._cipherLength*8));this._s=this.ghash(this._hashSubkey,this._s,n);var i=[];this.cipher.encrypt(this._j0,i);for(var r=0;r<this._ints;++r)this.tag.putInt32(this._s[r]^i[r]);return this.tag.truncate(this.tag.length()%(this._tagLength/8)),a.decrypt&&this.tag.bytes()!==this._tag&&(t=!1),t};Sa.gcm.prototype.multiply=function(e,a){for(var t=[0,0,0,0],n=a.slice(0),i=0;i<128;++i){var r=e[i/32|0]&1<<31-i%32;r&&(t[0]^=n[0],t[1]^=n[1],t[2]^=n[2],t[3]^=n[3]),this.pow(n,n)}return t};Sa.gcm.prototype.pow=function(e,a){for(var t=e[3]&1,n=3;n>0;--n)a[n]=e[n]>>>1|(e[n-1]&1)<<31;a[0]=e[0]>>>1,t&&(a[0]^=this._R)};Sa.gcm.prototype.tableMultiply=function(e){for(var a=[0,0,0,0],t=0;t<32;++t){var n=t/8|0,i=e[n]>>>(7-t%8)*4&15,r=this._m[t][i];a[0]^=r[0],a[1]^=r[1],a[2]^=r[2],a[3]^=r[3]}return a};Sa.gcm.prototype.ghash=function(e,a,t){return a[0]^=t[0],a[1]^=t[1],a[2]^=t[2],a[3]^=t[3],this.tableMultiply(a)};Sa.gcm.prototype.generateHashTable=function(e,a){for(var t=8/a,n=4*t,i=16*t,r=new Array(i),s=0;s<i;++s){var u=[0,0,0,0],o=s/n|0,l=(n-1-s%n)*a;u[o]=1<<a-1<<l,r[s]=this.generateSubHashTable(this.multiply(u,e),a)}return r};Sa.gcm.prototype.generateSubHashTable=function(e,a){var t=1<<a,n=t>>>1,i=new Array(t);i[n]=e.slice(0);for(var r=n>>>1;r>0;)this.pow(i[2*r],i[r]=[]),r>>=1;for(r=2;r<n;){for(var s=1;s<r;++s){var u=i[r],o=i[s];i[r+s]=[u[0]^o[0],u[1]^o[1],u[2]^o[2],u[3]^o[3]]}r*=2}for(i[0]=[0,0,0,0],r=n+1;r<t;++r){var l=i[r^n];i[r]=[e[0]^l[0],e[1]^l[1],e[2]^l[2],e[3]^l[3]]}return i};function D9(e,a){if(typeof e=="string"&&(e=Xt.util.createBuffer(e)),Xt.util.isArray(e)&&e.length>4){var t=e;e=Xt.util.createBuffer();for(var n=0;n<t.length;++n)e.putByte(t[n])}if(e.length()<a)throw new Error("Invalid IV length; got "+e.length()+" bytes and expected "+a+" bytes.");if(!Xt.util.isArray(e)){for(var i=[],r=a/4,n=0;n<r;++n)i.push(e.getInt32());e=i}return e}function x9(e){e[e.length-1]=e[e.length-1]+1&4294967295}function E7(e){return[e/4294967296|0,e&4294967295]}var et=ha;et.aes=et.aes||{};et.aes.startEncrypting=function(e,a,t,n){var i=E9({key:e,output:t,decrypt:!1,mode:n});return i.start(a),i};et.aes.createEncryptionCipher=function(e,a){return E9({key:e,output:null,decrypt:!1,mode:a})};et.aes.startDecrypting=function(e,a,t,n){var i=E9({key:e,output:t,decrypt:!0,mode:n});return i.start(a),i};et.aes.createDecryptionCipher=function(e,a){return E9({key:e,output:null,decrypt:!0,mode:a})};et.aes.Algorithm=function(e,a){MD||CF();var t=this;t.name=e,t.mode=new a({blockSize:16,cipher:{encrypt:function(n,i){return C7(t._w,n,i,!1)},decrypt:function(n,i){return C7(t._w,n,i,!0)}}}),t._init=!1};et.aes.Algorithm.prototype.initialize=function(e){if(!this._init){var a=e.key,t;if(typeof a=="string"&&(a.length===16||a.length===24||a.length===32))a=et.util.createBuffer(a);else if(et.util.isArray(a)&&(a.length===16||a.length===24||a.length===32)){t=a,a=et.util.createBuffer();for(var n=0;n<t.length;++n)a.putByte(t[n])}if(!et.util.isArray(a)){t=a,a=[];var i=t.length();if(i===16||i===24||i===32){i=i>>>2;for(var n=0;n<i;++n)a.push(t.getInt32())}}if(!et.util.isArray(a)||!(a.length===4||a.length===6||a.length===8))throw new Error("Invalid key parameter.");var r=this.mode.name,s=["CFB","OFB","CTR","GCM"].indexOf(r)!==-1;this._w=wF(a,e.decrypt&&!s),this._init=!0}};et.aes._expandKey=function(e,a){return MD||CF(),wF(e,a)};et.aes._updateBlock=C7;wd("AES-ECB",et.cipher.modes.ecb);wd("AES-CBC",et.cipher.modes.cbc);wd("AES-CFB",et.cipher.modes.cfb);wd("AES-OFB",et.cipher.modes.ofb);wd("AES-CTR",et.cipher.modes.ctr);wd("AES-GCM",et.cipher.modes.gcm);function wd(e,a){var t=function(){return new et.aes.Algorithm(e,a)};et.cipher.registerAlgorithm(e,t)}var MD=!1,Fl=4,Rn,k7,kF,zo,Er;function CF(){MD=!0,kF=[0,1,2,4,8,16,32,64,128,27,54];for(var e=new Array(256),a=0;a<128;++a)e[a]=a<<1,e[a+128]=a+128<<1^283;Rn=new Array(256),k7=new Array(256),zo=new Array(4),Er=new Array(4);for(var a=0;a<4;++a)zo[a]=new Array(256),Er[a]=new Array(256);for(var t=0,n=0,i,r,s,u,o,l,g,a=0;a<256;++a){u=n^n<<1^n<<2^n<<3^n<<4,u=u>>8^u&255^99,Rn[t]=u,k7[u]=t,o=e[u],i=e[t],r=e[i],s=e[r],l=o<<24^u<<16^u<<8^(u^o),g=(i^r^s)<<24^(t^s)<<16^(t^r^s)<<8^(t^i^s);for(var d=0;d<4;++d)zo[d][t]=l,Er[d][u]=g,l=l<<24|l>>>8,g=g<<24|g>>>8;t===0?t=n=1:(t=i^e[e[e[i^s]]],n^=e[e[n]])}}function wF(e,a){for(var t=e.slice(0),n,i=1,r=t.length,s=r+6+1,u=Fl*s,o=r;o<u;++o)n=t[o-1],o%r===0?(n=Rn[n>>>16&255]<<24^Rn[n>>>8&255]<<16^Rn[n&255]<<8^Rn[n>>>24]^kF[i]<<24,i++):r>6&&o%r===4&&(n=Rn[n>>>24]<<24^Rn[n>>>16&255]<<16^Rn[n>>>8&255]<<8^Rn[n&255]),t[o]=t[o-r]^n;if(a){var l,g=Er[0],d=Er[1],c=Er[2],p=Er[3],f=t.slice(0);u=t.length;for(var o=0,h=u-Fl;o<u;o+=Fl,h-=Fl)if(o===0||o===u-Fl)f[o]=t[h],f[o+1]=t[h+3],f[o+2]=t[h+2],f[o+3]=t[h+1];else for(var y=0;y<Fl;++y)l=t[h+y],f[o+(3&-y)]=g[Rn[l>>>24]]^d[Rn[l>>>16&255]]^c[Rn[l>>>8&255]]^p[Rn[l&255]];t=f}return t}function C7(e,a,t,n){var i=e.length/4-1,r,s,u,o,l;n?(r=Er[0],s=Er[1],u=Er[2],o=Er[3],l=k7):(r=zo[0],s=zo[1],u=zo[2],o=zo[3],l=Rn);var g,d,c,p,f,h,y;g=a[0]^e[0],d=a[n?3:1]^e[1],c=a[2]^e[2],p=a[n?1:3]^e[3];for(var b=3,m=1;m<i;++m)f=r[g>>>24]^s[d>>>16&255]^u[c>>>8&255]^o[p&255]^e[++b],h=r[d>>>24]^s[c>>>16&255]^u[p>>>8&255]^o[g&255]^e[++b],y=r[c>>>24]^s[p>>>16&255]^u[g>>>8&255]^o[d&255]^e[++b],p=r[p>>>24]^s[g>>>16&255]^u[d>>>8&255]^o[c&255]^e[++b],g=f,d=h,c=y;t[0]=l[g>>>24]<<24^l[d>>>16&255]<<16^l[c>>>8&255]<<8^l[p&255]^e[++b],t[n?3:1]=l[d>>>24]<<24^l[c>>>16&255]<<16^l[p>>>8&255]<<8^l[g&255]^e[++b],t[2]=l[c>>>24]<<24^l[p>>>16&255]<<16^l[g>>>8&255]<<8^l[d&255]^e[++b],t[n?1:3]=l[p>>>24]<<24^l[g>>>16&255]<<16^l[d>>>8&255]<<8^l[c&255]^e[++b]}function E9(e){e=e||{};var a=(e.mode||"CBC").toUpperCase(),t="AES-"+a,n;e.decrypt?n=et.cipher.createDecipher(t,e.key):n=et.cipher.createCipher(t,e.key);var i=n.start;return n.start=function(r,s){var u=null;s instanceof et.util.ByteBuffer&&(u=s,s={}),s=s||{},s.output=u,s.iv=r,i.call(n,s)},n}var Q0=ha;Q0.pki=Q0.pki||{};var w7=Q0.pki.oids=Q0.oids=Q0.oids||{};function xe(e,a){w7[e]=a,w7[a]=e}function ja(e,a){w7[e]=a}xe("1.2.840.113549.1.1.1","rsaEncryption");xe("1.2.840.113549.1.1.4","md5WithRSAEncryption");xe("1.2.840.113549.1.1.5","sha1WithRSAEncryption");xe("1.2.840.113549.1.1.7","RSAES-OAEP");xe("1.2.840.113549.1.1.8","mgf1");xe("1.2.840.113549.1.1.9","pSpecified");xe("1.2.840.113549.1.1.10","RSASSA-PSS");xe("1.2.840.113549.1.1.11","sha256WithRSAEncryption");xe("1.2.840.113549.1.1.12","sha384WithRSAEncryption");xe("1.2.840.113549.1.1.13","sha512WithRSAEncryption");xe("1.3.101.112","EdDSA25519");xe("1.2.840.10040.4.3","dsa-with-sha1");xe("1.3.14.3.2.7","desCBC");xe("1.3.14.3.2.26","sha1");xe("1.3.14.3.2.29","sha1WithRSASignature");xe("2.16.840.1.101.3.4.2.1","sha256");xe("2.16.840.1.101.3.4.2.2","sha384");xe("2.16.840.1.101.3.4.2.3","sha512");xe("2.16.840.1.101.3.4.2.4","sha224");xe("2.16.840.1.101.3.4.2.5","sha512-224");xe("2.16.840.1.101.3.4.2.6","sha512-256");xe("1.2.840.113549.2.2","md2");xe("1.2.840.113549.2.5","md5");xe("1.2.840.113549.1.7.1","data");xe("1.2.840.113549.1.7.2","signedData");xe("1.2.840.113549.1.7.3","envelopedData");xe("1.2.840.113549.1.7.4","signedAndEnvelopedData");xe("1.2.840.113549.1.7.5","digestedData");xe("1.2.840.113549.1.7.6","encryptedData");xe("1.2.840.113549.1.9.1","emailAddress");xe("1.2.840.113549.1.9.2","unstructuredName");xe("1.2.840.113549.1.9.3","contentType");xe("1.2.840.113549.1.9.4","messageDigest");xe("1.2.840.113549.1.9.5","signingTime");xe("1.2.840.113549.1.9.6","counterSignature");xe("1.2.840.113549.1.9.7","challengePassword");xe("1.2.840.113549.1.9.8","unstructuredAddress");xe("1.2.840.113549.1.9.14","extensionRequest");xe("1.2.840.113549.1.9.20","friendlyName");xe("1.2.840.113549.1.9.21","localKeyId");xe("1.2.840.113549.1.9.22.1","x509Certificate");xe("1.2.840.113549.1.12.10.1.1","keyBag");xe("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");xe("1.2.840.113549.1.12.10.1.3","certBag");xe("1.2.840.113549.1.12.10.1.4","crlBag");xe("1.2.840.113549.1.12.10.1.5","secretBag");xe("1.2.840.113549.1.12.10.1.6","safeContentsBag");xe("1.2.840.113549.1.5.13","pkcs5PBES2");xe("1.2.840.113549.1.5.12","pkcs5PBKDF2");xe("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");xe("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");xe("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");xe("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");xe("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");xe("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");xe("1.2.840.113549.2.7","hmacWithSHA1");xe("1.2.840.113549.2.8","hmacWithSHA224");xe("1.2.840.113549.2.9","hmacWithSHA256");xe("1.2.840.113549.2.10","hmacWithSHA384");xe("1.2.840.113549.2.11","hmacWithSHA512");xe("1.2.840.113549.3.7","des-EDE3-CBC");xe("2.16.840.1.101.3.4.1.2","aes128-CBC");xe("2.16.840.1.101.3.4.1.22","aes192-CBC");xe("2.16.840.1.101.3.4.1.42","aes256-CBC");xe("2.5.4.3","commonName");xe("2.5.4.4","surname");xe("2.5.4.5","serialNumber");xe("2.5.4.6","countryName");xe("2.5.4.7","localityName");xe("2.5.4.8","stateOrProvinceName");xe("2.5.4.9","streetAddress");xe("2.5.4.10","organizationName");xe("2.5.4.11","organizationalUnitName");xe("2.5.4.12","title");xe("2.5.4.13","description");xe("2.5.4.15","businessCategory");xe("2.5.4.17","postalCode");xe("2.5.4.42","givenName");xe("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");xe("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");xe("2.16.840.1.113730.1.1","nsCertType");xe("2.16.840.1.113730.1.13","nsComment");ja("2.5.29.1","authorityKeyIdentifier");ja("2.5.29.2","keyAttributes");ja("2.5.29.3","certificatePolicies");ja("2.5.29.4","keyUsageRestriction");ja("2.5.29.5","policyMapping");ja("2.5.29.6","subtreesConstraint");ja("2.5.29.7","subjectAltName");ja("2.5.29.8","issuerAltName");ja("2.5.29.9","subjectDirectoryAttributes");ja("2.5.29.10","basicConstraints");ja("2.5.29.11","nameConstraints");ja("2.5.29.12","policyConstraints");ja("2.5.29.13","basicConstraints");xe("2.5.29.14","subjectKeyIdentifier");xe("2.5.29.15","keyUsage");ja("2.5.29.16","privateKeyUsagePeriod");xe("2.5.29.17","subjectAltName");xe("2.5.29.18","issuerAltName");xe("2.5.29.19","basicConstraints");ja("2.5.29.20","cRLNumber");ja("2.5.29.21","cRLReason");ja("2.5.29.22","expirationDate");ja("2.5.29.23","instructionCode");ja("2.5.29.24","invalidityDate");ja("2.5.29.25","cRLDistributionPoints");ja("2.5.29.26","issuingDistributionPoint");ja("2.5.29.27","deltaCRLIndicator");ja("2.5.29.28","issuingDistributionPoint");ja("2.5.29.29","certificateIssuer");ja("2.5.29.30","nameConstraints");xe("2.5.29.31","cRLDistributionPoints");xe("2.5.29.32","certificatePolicies");ja("2.5.29.33","policyMappings");ja("2.5.29.34","policyConstraints");xe("2.5.29.35","authorityKeyIdentifier");ja("2.5.29.36","policyConstraints");xe("2.5.29.37","extKeyUsage");ja("2.5.29.46","freshestCRL");ja("2.5.29.54","inhibitAnyPolicy");xe("1.3.6.1.4.1.11129.2.4.2","timestampList");xe("1.3.6.1.5.5.7.1.1","authorityInfoAccess");xe("1.3.6.1.5.5.7.3.1","serverAuth");xe("1.3.6.1.5.5.7.3.2","clientAuth");xe("1.3.6.1.5.5.7.3.3","codeSigning");xe("1.3.6.1.5.5.7.3.4","emailProtection");xe("1.3.6.1.5.5.7.3.8","timeStamping");var rt=ha,Pe=rt.asn1=rt.asn1||{};Pe.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};Pe.Type={NONE:0,BOOLEAN:1,INTEGER:2,BITSTRING:3,OCTETSTRING:4,NULL:5,OID:6,ODESC:7,EXTERNAL:8,REAL:9,ENUMERATED:10,EMBEDDED:11,UTF8:12,ROID:13,SEQUENCE:16,SET:17,PRINTABLESTRING:19,IA5STRING:22,UTCTIME:23,GENERALIZEDTIME:24,BMPSTRING:30};Pe.create=function(e,a,t,n,i){if(rt.util.isArray(n)){for(var r=[],s=0;s<n.length;++s)n[s]!==void 0&&r.push(n[s]);n=r}var u={tagClass:e,type:a,constructed:t,composed:t||rt.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(u.bitStringContents=i.bitStringContents,u.original=Pe.copy(u)),u};Pe.copy=function(e,a){var t;if(rt.util.isArray(e)){t=[];for(var n=0;n<e.length;++n)t.push(Pe.copy(e[n],a));return t}return typeof e=="string"?e:(t={tagClass:e.tagClass,type:e.type,constructed:e.constructed,composed:e.composed,value:Pe.copy(e.value,a)},a&&!a.excludeBitStringContents&&(t.bitStringContents=e.bitStringContents),t)};Pe.equals=function(e,a,t){if(rt.util.isArray(e)){if(!rt.util.isArray(a)||e.length!==a.length)return!1;for(var n=0;n<e.length;++n)if(!Pe.equals(e[n],a[n]))return!1;return!0}if(typeof e!=typeof a)return!1;if(typeof e=="string")return e===a;var i=e.tagClass===a.tagClass&&e.type===a.type&&e.constructed===a.constructed&&e.composed===a.composed&&Pe.equals(e.value,a.value);return t&&t.includeBitStringContents&&(i=i&&e.bitStringContents===a.bitStringContents),i};Pe.getBerValueLength=function(e){var a=e.getByte();if(a!==128){var t,n=a&128;return n?t=e.getInt((a&127)<<3):t=a,t}};function D0(e,a,t){if(t>a){var n=new Error("Too few bytes to parse DER.");throw n.available=e.length(),n.remaining=a,n.requested=t,n}}var z1e=function(e,a){var t=e.getByte();if(a--,t!==128){var n,i=t&128;if(!i)n=t;else{var r=t&127;D0(e,a,r),n=e.getInt(r<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};Pe.fromDer=function(e,a){a===void 0&&(a={strict:!0,parseAllBytes:!0,decodeBitStrings:!0}),typeof a=="boolean"&&(a={strict:a,parseAllBytes:!0,decodeBitStrings:!0}),"strict"in a||(a.strict=!0),"parseAllBytes"in a||(a.parseAllBytes=!0),"decodeBitStrings"in a||(a.decodeBitStrings=!0),typeof e=="string"&&(e=rt.util.createBuffer(e));var t=e.length(),n=H2(e,e.length(),0,a);if(a.parseAllBytes&&e.length()!==0){var i=new Error("Unparsed DER bytes remain after ASN.1 parsing.");throw i.byteCount=t,i.remaining=e.length(),i}return n};function H2(e,a,t,n){var i;D0(e,a,2);var r=e.getByte();a--;var s=r&192,u=r&31;i=e.length();var o=z1e(e,a);if(a-=i-e.length(),o!==void 0&&o>a){if(n.strict){var l=new Error("Too few bytes to read ASN.1 value.");throw l.available=e.length(),l.remaining=a,l.requested=o,l}o=a}var g,d,c=(r&32)===32;if(c)if(g=[],o===void 0)for(;;){if(D0(e,a,2),e.bytes(2)==="\0\0"){e.getBytes(2),a-=2;break}i=e.length(),g.push(H2(e,a,t+1,n)),a-=i-e.length()}else for(;o>0;)i=e.length(),g.push(H2(e,o,t+1,n)),a-=i-e.length(),o-=i-e.length();if(g===void 0&&s===Pe.Class.UNIVERSAL&&u===Pe.Type.BITSTRING&&(d=e.bytes(o)),g===void 0&&n.decodeBitStrings&&s===Pe.Class.UNIVERSAL&&u===Pe.Type.BITSTRING&&o>1){var p=e.read,f=a,h=0;if(u===Pe.Type.BITSTRING&&(D0(e,a,1),h=e.getByte(),a--),h===0)try{i=e.length();var y={strict:!0,decodeBitStrings:!0},b=H2(e,a,t+1,y),m=i-e.length();a-=m,u==Pe.Type.BITSTRING&&m++;var T=b.tagClass;m===o&&(T===Pe.Class.UNIVERSAL||T===Pe.Class.CONTEXT_SPECIFIC)&&(g=[b])}catch{}g===void 0&&(e.read=p,a=f)}if(g===void 0){if(o===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");o=a}if(u===Pe.Type.BMPSTRING)for(g="";o>0;o-=2)D0(e,a,2),g+=String.fromCharCode(e.getInt16()),a-=2;else g=e.getBytes(o),a-=o}var A=d===void 0?null:{bitStringContents:d};return Pe.create(s,u,c,g,A)}Pe.toDer=function(e){var a=rt.util.createBuffer(),t=e.tagClass|e.type,n=rt.util.createBuffer(),i=!1;if("bitStringContents"in e&&(i=!0,e.original&&(i=Pe.equals(e,e.original))),i)n.putBytes(e.bitStringContents);else if(e.composed){e.constructed?t|=32:n.putByte(0);for(var r=0;r<e.value.length;++r)e.value[r]!==void 0&&n.putBuffer(Pe.toDer(e.value[r]))}else if(e.type===Pe.Type.BMPSTRING)for(var r=0;r<e.value.length;++r)n.putInt16(e.value.charCodeAt(r));else e.type===Pe.Type.INTEGER&&e.value.length>1&&(e.value.charCodeAt(0)===0&&!(e.value.charCodeAt(1)&128)||e.value.charCodeAt(0)===255&&(e.value.charCodeAt(1)&128)===128)?n.putBytes(e.value.substr(1)):n.putBytes(e.value);if(a.putByte(t),n.length()<=127)a.putByte(n.length()&127);else{var s=n.length(),u="";do u+=String.fromCharCode(s&255),s=s>>>8;while(s>0);a.putByte(u.length|128);for(var r=u.length-1;r>=0;--r)a.putByte(u.charCodeAt(r))}return a.putBuffer(n),a};Pe.oidToDer=function(e){var a=e.split("."),t=rt.util.createBuffer();t.putByte(40*parseInt(a[0],10)+parseInt(a[1],10));for(var n,i,r,s,u=2;u<a.length;++u){n=!0,i=[],r=parseInt(a[u],10);do s=r&127,r=r>>>7,n||(s|=128),i.push(s),n=!1;while(r>0);for(var o=i.length-1;o>=0;--o)t.putByte(i[o])}return t};Pe.derToOid=function(e){var a;typeof e=="string"&&(e=rt.util.createBuffer(e));var t=e.getByte();a=Math.floor(t/40)+"."+t%40;for(var n=0;e.length()>0;)t=e.getByte(),n=n<<7,t&128?n+=t&127:(a+="."+(n+t),n=0);return a};Pe.utcTimeToDate=function(e){var a=new Date,t=parseInt(e.substr(0,2),10);t=t>=50?1900+t:2e3+t;var n=parseInt(e.substr(2,2),10)-1,i=parseInt(e.substr(4,2),10),r=parseInt(e.substr(6,2),10),s=parseInt(e.substr(8,2),10),u=0;if(e.length>11){var o=e.charAt(10),l=10;o!=="+"&&o!=="-"&&(u=parseInt(e.substr(10,2),10),l+=2)}if(a.setUTCFullYear(t,n,i),a.setUTCHours(r,s,u,0),l&&(o=e.charAt(l),o==="+"||o==="-")){var g=parseInt(e.substr(l+1,2),10),d=parseInt(e.substr(l+4,2),10),c=g*60+d;c*=6e4,o==="+"?a.setTime(+a-c):a.setTime(+a+c)}return a};Pe.generalizedTimeToDate=function(e){var a=new Date,t=parseInt(e.substr(0,4),10),n=parseInt(e.substr(4,2),10)-1,i=parseInt(e.substr(6,2),10),r=parseInt(e.substr(8,2),10),s=parseInt(e.substr(10,2),10),u=parseInt(e.substr(12,2),10),o=0,l=0,g=!1;e.charAt(e.length-1)==="Z"&&(g=!0);var d=e.length-5,c=e.charAt(d);if(c==="+"||c==="-"){var p=parseInt(e.substr(d+1,2),10),f=parseInt(e.substr(d+4,2),10);l=p*60+f,l*=6e4,c==="+"&&(l*=-1),g=!0}return e.charAt(14)==="."&&(o=parseFloat(e.substr(14),10)*1e3),g?(a.setUTCFullYear(t,n,i),a.setUTCHours(r,s,u,o),a.setTime(+a+l)):(a.setFullYear(t,n,i),a.setHours(r,s,u,o)),a};Pe.dateToUtcTime=function(e){if(typeof e=="string")return e;var a="",t=[];t.push((""+e.getUTCFullYear()).substr(2)),t.push(""+(e.getUTCMonth()+1)),t.push(""+e.getUTCDate()),t.push(""+e.getUTCHours()),t.push(""+e.getUTCMinutes()),t.push(""+e.getUTCSeconds());for(var n=0;n<t.length;++n)t[n].length<2&&(a+="0"),a+=t[n];return a+="Z",a};Pe.dateToGeneralizedTime=function(e){if(typeof e=="string")return e;var a="",t=[];t.push(""+e.getUTCFullYear()),t.push(""+(e.getUTCMonth()+1)),t.push(""+e.getUTCDate()),t.push(""+e.getUTCHours()),t.push(""+e.getUTCMinutes()),t.push(""+e.getUTCSeconds());for(var n=0;n<t.length;++n)t[n].length<2&&(a+="0"),a+=t[n];return a+="Z",a};Pe.integerToDer=function(e){var a=rt.util.createBuffer();if(e>=-128&&e<128)return a.putSignedInt(e,8);if(e>=-32768&&e<32768)return a.putSignedInt(e,16);if(e>=-8388608&&e<8388608)return a.putSignedInt(e,24);if(e>=-2147483648&&e<2147483648)return a.putSignedInt(e,32);var t=new Error("Integer too large; max is 32-bits.");throw t.integer=e,t};Pe.derToInteger=function(e){typeof e=="string"&&(e=rt.util.createBuffer(e));var a=e.length()*8;if(a>32)throw new Error("Integer too large; max is 32-bits.");return e.getSignedInt(a)};Pe.validate=function(e,a,t,n){var i=!1;if((e.tagClass===a.tagClass||typeof a.tagClass>"u")&&(e.type===a.type||typeof a.type>"u"))if(e.constructed===a.constructed||typeof a.constructed>"u"){if(i=!0,a.value&&rt.util.isArray(a.value))for(var r=0,s=0;i&&s<a.value.length;++s)i=a.value[s].optional||!1,e.value[r]&&(i=Pe.validate(e.value[r],a.value[s],t,n),i?++r:a.value[s].optional&&(i=!0)),!i&&n&&n.push("["+a.name+'] Tag class "'+a.tagClass+'", type "'+a.type+'" expected value length "'+a.value.length+'", got "'+e.value.length+'"');if(i&&t&&(a.capture&&(t[a.capture]=e.value),a.captureAsn1&&(t[a.captureAsn1]=e),a.captureBitStringContents&&"bitStringContents"in e&&(t[a.captureBitStringContents]=e.bitStringContents),a.captureBitStringValue&&"bitStringContents"in e))if(e.bitStringContents.length<2)t[a.captureBitStringValue]="";else{var u=e.bitStringContents.charCodeAt(0);if(u!==0)throw new Error("captureBitStringValue only supported for zero unused bits");t[a.captureBitStringValue]=e.bitStringContents.slice(1)}}else n&&n.push("["+a.name+'] Expected constructed "'+a.constructed+'", got "'+e.constructed+'"');else n&&(e.tagClass!==a.tagClass&&n.push("["+a.name+'] Expected tag class "'+a.tagClass+'", got "'+e.tagClass+'"'),e.type!==a.type&&n.push("["+a.name+'] Expected type "'+a.type+'", got "'+e.type+'"'));return i};var uw=/[^\\u0000-\\u00ff]/;Pe.prettyPrint=function(e,a,t){var n="";a=a||0,t=t||2,a>0&&(n+=`
`);for(var i="",r=0;r<a*t;++r)i+=" ";switch(n+=i+"Tag: ",e.tagClass){case Pe.Class.UNIVERSAL:n+="Universal:";break;case Pe.Class.APPLICATION:n+="Application:";break;case Pe.Class.CONTEXT_SPECIFIC:n+="Context-Specific:";break;case Pe.Class.PRIVATE:n+="Private:";break}if(e.tagClass===Pe.Class.UNIVERSAL)switch(n+=e.type,e.type){case Pe.Type.NONE:n+=" (None)";break;case Pe.Type.BOOLEAN:n+=" (Boolean)";break;case Pe.Type.INTEGER:n+=" (Integer)";break;case Pe.Type.BITSTRING:n+=" (Bit string)";break;case Pe.Type.OCTETSTRING:n+=" (Octet string)";break;case Pe.Type.NULL:n+=" (Null)";break;case Pe.Type.OID:n+=" (Object Identifier)";break;case Pe.Type.ODESC:n+=" (Object Descriptor)";break;case Pe.Type.EXTERNAL:n+=" (External or Instance of)";break;case Pe.Type.REAL:n+=" (Real)";break;case Pe.Type.ENUMERATED:n+=" (Enumerated)";break;case Pe.Type.EMBEDDED:n+=" (Embedded PDV)";break;case Pe.Type.UTF8:n+=" (UTF8)";break;case Pe.Type.ROID:n+=" (Relative Object Identifier)";break;case Pe.Type.SEQUENCE:n+=" (Sequence)";break;case Pe.Type.SET:n+=" (Set)";break;case Pe.Type.PRINTABLESTRING:n+=" (Printable String)";break;case Pe.Type.IA5String:n+=" (IA5String (ASCII))";break;case Pe.Type.UTCTIME:n+=" (UTC time)";break;case Pe.Type.GENERALIZEDTIME:n+=" (Generalized time)";break;case Pe.Type.BMPSTRING:n+=" (BMP String)";break}else n+=e.type;if(n+=`
`,n+=i+"Constructed: "+e.constructed+`
`,e.composed){for(var s=0,u="",r=0;r<e.value.length;++r)e.value[r]!==void 0&&(s+=1,u+=Pe.prettyPrint(e.value[r],a+1,t),r+1<e.value.length&&(u+=","));n+=i+"Sub values: "+s+u}else{if(n+=i+"Value: ",e.type===Pe.Type.OID){var o=Pe.derToOid(e.value);n+=o,rt.pki&&rt.pki.oids&&o in rt.pki.oids&&(n+=" ("+rt.pki.oids[o]+") ")}if(e.type===Pe.Type.INTEGER)try{n+=Pe.derToInteger(e.value)}catch{n+="0x"+rt.util.bytesToHex(e.value)}else if(e.type===Pe.Type.BITSTRING){if(e.value.length>1?n+="0x"+rt.util.bytesToHex(e.value.slice(1)):n+="(none)",e.value.length>0){var l=e.value.charCodeAt(0);l==1?n+=" (1 unused bit shown)":l>1&&(n+=" ("+l+" unused bits shown)")}}else if(e.type===Pe.Type.OCTETSTRING)uw.test(e.value)||(n+="("+e.value+") "),n+="0x"+rt.util.bytesToHex(e.value);else if(e.type===Pe.Type.UTF8)try{n+=rt.util.decodeUtf8(e.value)}catch(g){if(g.message==="URI malformed")n+="0x"+rt.util.bytesToHex(e.value)+" (malformed UTF8)";else throw g}else e.type===Pe.Type.PRINTABLESTRING||e.type===Pe.Type.IA5String?n+=e.value:uw.test(e.value)?n+="0x"+rt.util.bytesToHex(e.value):e.value.length===0?n+="[null]":n+=e.value}return n};var _m=ha;_m.md=_m.md||{};_m.md.algorithms=_m.md.algorithms||{};var Ls=ha,$1e=Ls.hmac=Ls.hmac||{};$1e.create=function(){var e=null,a=null,t=null,n=null,i={};return i.start=function(r,s){if(r!==null)if(typeof r=="string")if(r=r.toLowerCase(),r in Ls.md.algorithms)a=Ls.md.algorithms[r].create();else throw new Error('Unknown hash algorithm "'+r+'"');else a=r;if(s===null)s=e;else{if(typeof s=="string")s=Ls.util.createBuffer(s);else if(Ls.util.isArray(s)){var u=s;s=Ls.util.createBuffer();for(var o=0;o<u.length;++o)s.putByte(u[o])}var l=s.length();l>a.blockLength&&(a.start(),a.update(s.bytes()),s=a.digest()),t=Ls.util.createBuffer(),n=Ls.util.createBuffer(),l=s.length();for(var o=0;o<l;++o){var u=s.at(o);t.putByte(54^u),n.putByte(92^u)}if(l<a.blockLength)for(var u=a.blockLength-l,o=0;o<u;++o)t.putByte(54),n.putByte(92);e=s,t=t.bytes(),n=n.bytes()}a.start(),a.update(t)},i.update=function(r){a.update(r)},i.getMac=function(){var r=a.digest().bytes();return a.start(),a.update(n),a.update(r),a.digest()},i.digest=i.getMac,i};var Jr=ha,_F=Jr.md5=Jr.md5||{};Jr.md.md5=Jr.md.algorithms.md5=_F;_F.create=function(){IF||K1e();var e=null,a=Jr.util.createBuffer(),t=new Array(16),n={algorithm:"md5",blockLength:64,digestLength:16,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,r=0;r<i;++r)n.fullMessageLength.push(0);return a=Jr.util.createBuffer(),e={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878},n},n.start(),n.update=function(i,r){r==="utf8"&&(i=Jr.util.encodeUtf8(i));var s=i.length;n.messageLength+=s,s=[s/4294967296>>>0,s>>>0];for(var u=n.fullMessageLength.length-1;u>=0;--u)n.fullMessageLength[u]+=s[1],s[1]=s[0]+(n.fullMessageLength[u]/4294967296>>>0),n.fullMessageLength[u]=n.fullMessageLength[u]>>>0,s[0]=s[1]/4294967296>>>0;return a.putBytes(i),ow(e,t,a),(a.read>2048||a.length()===0)&&a.compact(),n},n.digest=function(){var i=Jr.util.createBuffer();i.putBytes(a.bytes());var r=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=r&n.blockLength-1;i.putBytes(_7.substr(0,n.blockLength-s));for(var u,o=0,l=n.fullMessageLength.length-1;l>=0;--l)u=n.fullMessageLength[l]*8+o,o=u/4294967296>>>0,i.putInt32Le(u>>>0);var g={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3};ow(g,t,i);var d=Jr.util.createBuffer();return d.putInt32Le(g.h0),d.putInt32Le(g.h1),d.putInt32Le(g.h2),d.putInt32Le(g.h3),d},n};var _7=null,q2=null,x0=null,gg=null,IF=!1;function K1e(){_7="",_7+=Jr.util.fillString("\0",64),q2=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,1,6,11,0,5,10,15,4,9,14,3,8,13,2,7,12,5,8,11,14,1,4,7,10,13,0,3,6,9,12,15,2,0,7,14,5,12,3,10,1,8,15,6,13,4,11,2,9],x0=[7,12,17,22,7,12,17,22,7,12,17,22,7,12,17,22,5,9,14,20,5,9,14,20,5,9,14,20,5,9,14,20,4,11,16,23,4,11,16,23,4,11,16,23,4,11,16,23,6,10,15,21,6,10,15,21,6,10,15,21,6,10,15,21],gg=new Array(64);for(var e=0;e<64;++e)gg[e]=Math.floor(Math.abs(Math.sin(e+1))*4294967296);IF=!0}function ow(e,a,t){for(var n,i,r,s,u,o,l,g,d=t.length();d>=64;){for(i=e.h0,r=e.h1,s=e.h2,u=e.h3,g=0;g<16;++g)a[g]=t.getInt32Le(),o=u^r&(s^u),n=i+o+gg[g]+a[g],l=x0[g],i=u,u=s,s=r,r+=n<<l|n>>>32-l;for(;g<32;++g)o=s^u&(r^s),n=i+o+gg[g]+a[q2[g]],l=x0[g],i=u,u=s,s=r,r+=n<<l|n>>>32-l;for(;g<48;++g)o=r^s^u,n=i+o+gg[g]+a[q2[g]],l=x0[g],i=u,u=s,s=r,r+=n<<l|n>>>32-l;for(;g<64;++g)o=s^(r|~u),n=i+o+gg[g]+a[q2[g]],l=x0[g],i=u,u=s,s=r,r+=n<<l|n>>>32-l;e.h0=e.h0+i|0,e.h1=e.h1+r|0,e.h2=e.h2+s|0,e.h3=e.h3+u|0,d-=64}}var Im=ha,NF=Im.pem=Im.pem||{};NF.encode=function(e,a){a=a||{};var t="-----BEGIN "+e.type+`-----\r
`,n;if(e.procType&&(n={name:"Proc-Type",values:[String(e.procType.version),e.procType.type]},t+=Kf(n)),e.contentDomain&&(n={name:"Content-Domain",values:[e.contentDomain]},t+=Kf(n)),e.dekInfo&&(n={name:"DEK-Info",values:[e.dekInfo.algorithm]},e.dekInfo.parameters&&n.values.push(e.dekInfo.parameters),t+=Kf(n)),e.headers)for(var i=0;i<e.headers.length;++i)t+=Kf(e.headers[i]);return e.procType&&(t+=`\r
`),t+=Im.util.encode64(e.body,a.maxline||64)+`\r
`,t+="-----END "+e.type+`-----\r
`,t};NF.decode=function(e){for(var a=[],t=/\s*-----BEGIN ([A-Z0-9- ]+)-----\r?\n?([\x21-\x7e\s]+?(?:\r?\n\r?\n))?([:A-Za-z0-9+\/=\s]+?)-----END \1-----/g,n=/([\x21-\x7e]+):\s*([\x21-\x7e\s^:]+)/,i=/\r?\n/,r;r=t.exec(e),!!r;){var s=r[1];s==="NEW CERTIFICATE REQUEST"&&(s="CERTIFICATE REQUEST");var u={type:s,procType:null,contentDomain:null,dekInfo:null,headers:[],body:Im.util.decode64(r[3])};if(a.push(u),!!r[2]){for(var o=r[2].split(i),l=0;r&&l<o.length;){for(var g=o[l].replace(/\s+$/,""),d=l+1;d<o.length;++d){var c=o[d];if(!/\s/.test(c[0]))break;g+=c,l=d}if(r=g.match(n),r){for(var p={name:r[1],values:[]},f=r[2].split(","),h=0;h<f.length;++h)p.values.push(H1e(f[h]));if(u.procType)if(!u.contentDomain&&p.name==="Content-Domain")u.contentDomain=f[0]||"";else if(!u.dekInfo&&p.name==="DEK-Info"){if(p.values.length===0)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must have at least one subfield.');u.dekInfo={algorithm:f[0],parameters:f[1]||null}}else u.headers.push(p);else{if(p.name!=="Proc-Type")throw new Error('Invalid PEM formatted message. The first encapsulated header must be "Proc-Type".');if(p.values.length!==2)throw new Error('Invalid PEM formatted message. The "Proc-Type" header must have two subfields.');u.procType={version:f[0],type:f[1]}}}++l}if(u.procType==="ENCRYPTED"&&!u.dekInfo)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must be present if "Proc-Type" is "ENCRYPTED".')}}if(a.length===0)throw new Error("Invalid PEM formatted message.");return a};function Kf(e){for(var a=e.name+": ",t=[],n=function(o,l){return" "+l},i=0;i<e.values.length;++i)t.push(e.values[i].replace(/^(\S+\r\n)/,n));a+=t.join(",")+`\r
`;for(var r=0,s=-1,i=0;i<a.length;++i,++r)if(r>65&&s!==-1){var u=a[s];u===","?(++s,a=a.substr(0,s)+`\r
 `+a.substr(s)):a=a.substr(0,s)+`\r
`+u+a.substr(s+1),r=i-s-1,s=-1,++i}else(a[i]===" "||a[i]==="	"||a[i]===",")&&(s=i);return a}function H1e(e){return e.replace(/^\s+/,"")}var pt=ha;pt.des=pt.des||{};pt.des.startEncrypting=function(e,a,t,n){var i=k9({key:e,output:t,decrypt:!1,mode:n||(a===null?"ECB":"CBC")});return i.start(a),i};pt.des.createEncryptionCipher=function(e,a){return k9({key:e,output:null,decrypt:!1,mode:a})};pt.des.startDecrypting=function(e,a,t,n){var i=k9({key:e,output:t,decrypt:!0,mode:n||(a===null?"ECB":"CBC")});return i.start(a),i};pt.des.createDecryptionCipher=function(e,a){return k9({key:e,output:null,decrypt:!0,mode:a})};pt.des.Algorithm=function(e,a){var t=this;t.name=e,t.mode=new a({blockSize:8,cipher:{encrypt:function(n,i){return lw(t._keys,n,i,!1)},decrypt:function(n,i){return lw(t._keys,n,i,!0)}}}),t._init=!1};pt.des.Algorithm.prototype.initialize=function(e){if(!this._init){var a=pt.util.createBuffer(e.key);if(this.name.indexOf("3DES")===0&&a.length()!==24)throw new Error("Invalid Triple-DES key size: "+a.length()*8);this._keys=J1e(a),this._init=!0}};Ss("DES-ECB",pt.cipher.modes.ecb);Ss("DES-CBC",pt.cipher.modes.cbc);Ss("DES-CFB",pt.cipher.modes.cfb);Ss("DES-OFB",pt.cipher.modes.ofb);Ss("DES-CTR",pt.cipher.modes.ctr);Ss("3DES-ECB",pt.cipher.modes.ecb);Ss("3DES-CBC",pt.cipher.modes.cbc);Ss("3DES-CFB",pt.cipher.modes.cfb);Ss("3DES-OFB",pt.cipher.modes.ofb);Ss("3DES-CTR",pt.cipher.modes.ctr);function Ss(e,a){var t=function(){return new pt.des.Algorithm(e,a)};pt.cipher.registerAlgorithm(e,t)}var q1e=[16843776,0,65536,16843780,16842756,66564,4,65536,1024,16843776,16843780,1024,16778244,16842756,16777216,4,1028,16778240,16778240,66560,66560,16842752,16842752,16778244,65540,16777220,16777220,65540,0,1028,66564,16777216,65536,16843780,4,16842752,16843776,16777216,16777216,1024,16842756,65536,66560,16777220,1024,4,16778244,66564,16843780,65540,16842752,16778244,16777220,1028,66564,16843776,1028,16778240,16778240,0,65540,66560,0,16842756],V1e=[-2146402272,-2147450880,32768,1081376,1048576,32,-2146435040,-2147450848,-2147483616,-2146402272,-2146402304,-2147483648,-2147450880,1048576,32,-2146435040,1081344,1048608,-2147450848,0,-2147483648,32768,1081376,-2146435072,1048608,-2147483616,0,1081344,32800,-2146402304,-2146435072,32800,0,1081376,-2146435040,1048576,-2147450848,-2146435072,-2146402304,32768,-2146435072,-2147450880,32,-2146402272,1081376,32,32768,-2147483648,32800,-2146402304,1048576,-2147483616,1048608,-2147450848,-2147483616,1048608,1081344,0,-2147450880,32800,-2147483648,-2146435040,-2146402272,1081344],G1e=[520,134349312,0,134348808,134218240,0,131592,134218240,131080,134217736,134217736,131072,134349320,131080,134348800,520,134217728,8,134349312,512,131584,134348800,134348808,131592,134218248,131584,131072,134218248,8,134349320,512,134217728,134349312,134217728,131080,520,131072,134349312,134218240,0,512,131080,134349320,134218240,134217736,512,0,134348808,134218248,131072,134217728,134349320,8,131592,131584,134217736,134348800,134218248,520,134348800,131592,8,134348808,131584],W1e=[8396801,8321,8321,128,8396928,8388737,8388609,8193,0,8396800,8396800,8396929,129,0,8388736,8388609,1,8192,8388608,8396801,128,8388608,8193,8320,8388737,1,8320,8388736,8192,8396928,8396929,129,8388736,8388609,8396800,8396929,129,0,0,8396800,8320,8388736,8388737,1,8396801,8321,8321,128,8396929,129,1,8192,8388609,8193,8396928,8388737,8193,8320,8388608,8396801,128,8388608,8192,8396928],Y1e=[256,34078976,34078720,1107296512,524288,256,1073741824,34078720,1074266368,524288,33554688,1074266368,1107296512,1107820544,524544,1073741824,33554432,1074266112,1074266112,0,1073742080,1107820800,1107820800,33554688,1107820544,1073742080,0,1107296256,34078976,33554432,1107296256,524544,524288,1107296512,256,33554432,1073741824,34078720,1107296512,1074266368,33554688,1073741824,1107820544,34078976,1074266368,256,33554432,1107820544,1107820800,524544,1107296256,1107820800,34078720,0,1074266112,1107296256,524544,33554688,1073742080,524288,0,1074266112,34078976,1073742080],X1e=[536870928,541065216,16384,541081616,541065216,16,541081616,4194304,536887296,4210704,4194304,536870928,4194320,536887296,536870912,16400,0,4194320,536887312,16384,4210688,536887312,16,541065232,541065232,0,4210704,541081600,16400,4210688,541081600,536870912,536887296,16,541065232,4210688,541081616,4194304,16400,536870928,4194304,536887296,536870912,16400,536870928,541081616,4210688,541065216,4210704,541081600,0,541065232,16,16384,541065216,4210704,16384,4194320,536887312,0,541081600,536870912,4194320,536887312],Q1e=[2097152,69206018,67110914,0,2048,67110914,2099202,69208064,69208066,2097152,0,67108866,2,67108864,69206018,2050,67110912,2099202,2097154,67110912,67108866,69206016,69208064,2097154,69206016,2048,2050,69208066,2099200,2,67108864,2099200,67108864,2099200,2097152,67110914,67110914,69206018,69206018,2,2097154,67108864,67110912,2097152,69208064,2050,2099202,69208064,2050,67108866,69208066,69206016,2099200,0,2,69208066,0,2099202,69206016,2048,67108866,67110912,2048,2097154],Z1e=[268439616,4096,262144,268701760,268435456,268439616,64,268435456,262208,268697600,268701760,266240,268701696,266304,4096,64,268697600,268435520,268439552,4160,266240,262208,268697664,268701696,4160,0,0,268697664,268435520,268439552,266304,262144,266304,262144,268701696,4096,64,268697664,4096,266304,268439552,64,268435520,268697600,268697664,268435456,262144,268439616,0,268701760,262208,268435520,268697600,268439552,268439616,0,268701760,266240,266240,4160,4160,262208,268435456,268701696];function J1e(e){for(var a=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],t=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],n=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],i=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],r=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],s=[0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488],u=[0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746],o=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],l=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],g=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],d=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],c=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],p=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],f=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],h=e.length()>8?3:1,y=[],b=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],m=0,T,A=0;A<h;A++){var v=e.getInt32(),D=e.getInt32();T=(v>>>4^D)&252645135,D^=T,v^=T<<4,T=(D>>>-16^v)&65535,v^=T,D^=T<<-16,T=(v>>>2^D)&858993459,D^=T,v^=T<<2,T=(D>>>-16^v)&65535,v^=T,D^=T<<-16,T=(v>>>1^D)&1431655765,D^=T,v^=T<<1,T=(D>>>8^v)&16711935,v^=T,D^=T<<8,T=(v>>>1^D)&1431655765,D^=T,v^=T<<1,T=v<<8|D>>>20&240,v=D<<24|D<<8&16711680|D>>>8&65280|D>>>24&240,D=T;for(var k=0;k<b.length;++k){b[k]?(v=v<<2|v>>>26,D=D<<2|D>>>26):(v=v<<1|v>>>27,D=D<<1|D>>>27),v&=-15,D&=-15;var N=a[v>>>28]|t[v>>>24&15]|n[v>>>20&15]|i[v>>>16&15]|r[v>>>12&15]|s[v>>>8&15]|u[v>>>4&15],q=o[D>>>28]|l[D>>>24&15]|g[D>>>20&15]|d[D>>>16&15]|c[D>>>12&15]|p[D>>>8&15]|f[D>>>4&15];T=(q>>>16^N)&65535,y[m++]=N^T,y[m++]=q^T<<16}}return y}function lw(e,a,t,n){var i=e.length===32?3:9,r;i===3?r=n?[30,-2,-2]:[0,32,2]:r=n?[94,62,-2,32,64,2,30,-2,-2]:[0,32,2,62,30,-2,64,96,2];var s,u=a[0],o=a[1];s=(u>>>4^o)&252645135,o^=s,u^=s<<4,s=(u>>>16^o)&65535,o^=s,u^=s<<16,s=(o>>>2^u)&858993459,u^=s,o^=s<<2,s=(o>>>8^u)&16711935,u^=s,o^=s<<8,s=(u>>>1^o)&1431655765,o^=s,u^=s<<1,u=u<<1|u>>>31,o=o<<1|o>>>31;for(var l=0;l<i;l+=3){for(var g=r[l+1],d=r[l+2],c=r[l];c!=g;c+=d){var p=o^e[c],f=(o>>>4|o<<28)^e[c+1];s=u,u=o,o=s^(V1e[p>>>24&63]|W1e[p>>>16&63]|X1e[p>>>8&63]|Z1e[p&63]|q1e[f>>>24&63]|G1e[f>>>16&63]|Y1e[f>>>8&63]|Q1e[f&63])}s=u,u=o,o=s}u=u>>>1|u<<31,o=o>>>1|o<<31,s=(u>>>1^o)&1431655765,o^=s,u^=s<<1,s=(o>>>8^u)&16711935,u^=s,o^=s<<8,s=(o>>>2^u)&858993459,u^=s,o^=s<<2,s=(u>>>16^o)&65535,o^=s,u^=s<<16,s=(u>>>4^o)&252645135,o^=s,u^=s<<4,t[0]=u,t[1]=o}function k9(e){e=e||{};var a=(e.mode||"CBC").toUpperCase(),t="DES-"+a,n;e.decrypt?n=pt.cipher.createDecipher(t,e.key):n=pt.cipher.createCipher(t,e.key);var i=n.start;return n.start=function(r,s){var u=null;s instanceof pt.util.ByteBuffer&&(u=s,s={}),s=s||{},s.output=u,s.iv=r,i.call(n,s)},n}var Pn=ha,ebe=Pn.pkcs5=Pn.pkcs5||{},_s;Pn.util.isNodejs&&!Pn.options.usePureJavaScript&&(_s=Py);Pn.pbkdf2=ebe.pbkdf2=function(e,a,t,n,i,r){if(typeof i=="function"&&(r=i,i=null),Pn.util.isNodejs&&!Pn.options.usePureJavaScript&&_s.pbkdf2&&(i===null||typeof i!="object")&&(_s.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),e=Buffer.from(e,"binary"),a=Buffer.from(a,"binary"),r?_s.pbkdf2Sync.length===4?_s.pbkdf2(e,a,t,n,function(T,A){if(T)return r(T);r(null,A.toString("binary"))}):_s.pbkdf2(e,a,t,n,i,function(T,A){if(T)return r(T);r(null,A.toString("binary"))}):_s.pbkdf2Sync.length===4?_s.pbkdf2Sync(e,a,t,n).toString("binary"):_s.pbkdf2Sync(e,a,t,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in Pn.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=Pn.md[i].create()}var s=i.digestLength;if(n>4294967295*s){var u=new Error("Derived key is too long.");if(r)return r(u);throw u}var o=Math.ceil(n/s),l=n-(o-1)*s,g=Pn.hmac.create();g.start(i,e);var d="",c,p,f;if(!r){for(var h=1;h<=o;++h){g.start(null,null),g.update(a),g.update(Pn.util.int32ToBytes(h)),c=f=g.digest().getBytes();for(var y=2;y<=t;++y)g.start(null,null),g.update(f),p=g.digest().getBytes(),c=Pn.util.xorBytes(c,p,s),f=p;d+=h<o?c:c.substr(0,l)}return d}var h=1,y;function b(){if(h>o)return r(null,d);g.start(null,null),g.update(a),g.update(Pn.util.int32ToBytes(h)),c=f=g.digest().getBytes(),y=2,m()}function m(){if(y<=t)return g.start(null,null),g.update(f),p=g.digest().getBytes(),c=Pn.util.xorBytes(c,p,s),f=p,++y,Pn.util.setImmediate(m);d+=h<o?c:c.substr(0,l),++h,b()}b()};var es=ha,LF=es.sha256=es.sha256||{};es.md.sha256=es.md.algorithms.sha256=LF;LF.create=function(){RF||abe();var e=null,a=es.util.createBuffer(),t=new Array(64),n={algorithm:"sha256",blockLength:64,digestLength:32,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,r=0;r<i;++r)n.fullMessageLength.push(0);return a=es.util.createBuffer(),e={h0:1779033703,h1:3144134277,h2:1013904242,h3:2773480762,h4:1359893119,h5:2600822924,h6:528734635,h7:1541459225},n},n.start(),n.update=function(i,r){r==="utf8"&&(i=es.util.encodeUtf8(i));var s=i.length;n.messageLength+=s,s=[s/4294967296>>>0,s>>>0];for(var u=n.fullMessageLength.length-1;u>=0;--u)n.fullMessageLength[u]+=s[1],s[1]=s[0]+(n.fullMessageLength[u]/4294967296>>>0),n.fullMessageLength[u]=n.fullMessageLength[u]>>>0,s[0]=s[1]/4294967296>>>0;return a.putBytes(i),gw(e,t,a),(a.read>2048||a.length()===0)&&a.compact(),n},n.digest=function(){var i=es.util.createBuffer();i.putBytes(a.bytes());var r=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=r&n.blockLength-1;i.putBytes(I7.substr(0,n.blockLength-s));for(var u,o,l=n.fullMessageLength[0]*8,g=0;g<n.fullMessageLength.length-1;++g)u=n.fullMessageLength[g+1]*8,o=u/4294967296>>>0,l+=o,i.putInt32(l>>>0),l=u>>>0;i.putInt32(l);var d={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4,h5:e.h5,h6:e.h6,h7:e.h7};gw(d,t,i);var c=es.util.createBuffer();return c.putInt32(d.h0),c.putInt32(d.h1),c.putInt32(d.h2),c.putInt32(d.h3),c.putInt32(d.h4),c.putInt32(d.h5),c.putInt32(d.h6),c.putInt32(d.h7),c},n};var I7=null,RF=!1,PF=null;function abe(){I7="",I7+=es.util.fillString("\0",64),PF=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],RF=!0}function gw(e,a,t){for(var n,i,r,s,u,o,l,g,d,c,p,f,h,y,b,m=t.length();m>=64;){for(l=0;l<16;++l)a[l]=t.getInt32();for(;l<64;++l)n=a[l-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=a[l-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,a[l]=n+a[l-7]+i+a[l-16]|0;for(g=e.h0,d=e.h1,c=e.h2,p=e.h3,f=e.h4,h=e.h5,y=e.h6,b=e.h7,l=0;l<64;++l)s=(f>>>6|f<<26)^(f>>>11|f<<21)^(f>>>25|f<<7),u=y^f&(h^y),r=(g>>>2|g<<30)^(g>>>13|g<<19)^(g>>>22|g<<10),o=g&d|c&(g^d),n=b+s+u+PF[l]+a[l],i=r+o,b=y,y=h,h=f,f=p+n>>>0,p=c,c=d,d=g,g=n+i>>>0;e.h0=e.h0+g|0,e.h1=e.h1+d|0,e.h2=e.h2+c|0,e.h3=e.h3+p|0,e.h4=e.h4+f|0,e.h5=e.h5+h|0,e.h6=e.h6+y|0,e.h7=e.h7+b|0,m-=64}}var Wr=ha,V2=null;Wr.util.isNodejs&&!Wr.options.usePureJavaScript&&!process.versions["node-webkit"]&&(V2=Py);var tbe=Wr.prng=Wr.prng||{};tbe.create=function(e){for(var a={plugin:e,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},t=e.md,n=new Array(32),i=0;i<32;++i)n[i]=t.create();a.pools=n,a.pool=0,a.generate=function(l,g){if(!g)return a.generateSync(l);var d=a.plugin.cipher,c=a.plugin.increment,p=a.plugin.formatKey,f=a.plugin.formatSeed,h=Wr.util.createBuffer();a.key=null,y();function y(b){if(b)return g(b);if(h.length()>=l)return g(null,h.getBytes(l));if(a.generated>1048575&&(a.key=null),a.key===null)return Wr.util.nextTick(function(){r(y)});var m=d(a.key,a.seed);a.generated+=m.length,h.putBytes(m),a.key=p(d(a.key,c(a.seed))),a.seed=f(d(a.key,a.seed)),Wr.util.setImmediate(y)}},a.generateSync=function(l){var g=a.plugin.cipher,d=a.plugin.increment,c=a.plugin.formatKey,p=a.plugin.formatSeed;a.key=null;for(var f=Wr.util.createBuffer();f.length()<l;){a.generated>1048575&&(a.key=null),a.key===null&&s();var h=g(a.key,a.seed);a.generated+=h.length,f.putBytes(h),a.key=c(g(a.key,d(a.seed))),a.seed=p(g(a.key,a.seed))}return f.getBytes(l)};function r(l){if(a.pools[0].messageLength>=32)return u(),l();var g=32-a.pools[0].messageLength<<5;a.seedFile(g,function(d,c){if(d)return l(d);a.collect(c),u(),l()})}function s(){if(a.pools[0].messageLength>=32)return u();var l=32-a.pools[0].messageLength<<5;a.collect(a.seedFileSync(l)),u()}function u(){a.reseeds=a.reseeds===4294967295?0:a.reseeds+1;var l=a.plugin.md.create();l.update(a.keyBytes);for(var g=1,d=0;d<32;++d)a.reseeds%g===0&&(l.update(a.pools[d].digest().getBytes()),a.pools[d].start()),g=g<<1;a.keyBytes=l.digest().getBytes(),l.start(),l.update(a.keyBytes);var c=l.digest().getBytes();a.key=a.plugin.formatKey(a.keyBytes),a.seed=a.plugin.formatSeed(c),a.generated=0}function o(l){var g=null,d=Wr.util.globalScope,c=d.crypto||d.msCrypto;c&&c.getRandomValues&&(g=function(v){return c.getRandomValues(v)});var p=Wr.util.createBuffer();if(g)for(;p.length()<l;){var f=Math.max(1,Math.min(l-p.length(),65536)/4),h=new Uint32Array(Math.floor(f));try{g(h);for(var y=0;y<h.length;++y)p.putInt32(h[y])}catch(v){if(!(typeof QuotaExceededError<"u"&&v instanceof QuotaExceededError))throw v}}if(p.length()<l)for(var b,m,T,A=Math.floor(Math.random()*65536);p.length()<l;){m=16807*(A&65535),b=16807*(A>>16),m+=(b&32767)<<16,m+=b>>15,m=(m&2147483647)+(m>>31),A=m&4294967295;for(var y=0;y<3;++y)T=A>>>(y<<3),T^=Math.floor(Math.random()*256),p.putByte(T&255)}return p.getBytes(l)}return V2?(a.seedFile=function(l,g){V2.randomBytes(l,function(d,c){if(d)return g(d);g(null,c.toString())})},a.seedFileSync=function(l){return V2.randomBytes(l).toString()}):(a.seedFile=function(l,g){try{g(null,o(l))}catch(d){g(d)}},a.seedFileSync=o),a.collect=function(l){for(var g=l.length,d=0;d<g;++d)a.pools[a.pool].update(l.substr(d,1)),a.pool=a.pool===31?0:a.pool+1},a.collectInt=function(l,g){for(var d="",c=0;c<g;c+=8)d+=String.fromCharCode(l>>c&255);a.collect(d)},a.registerWorker=function(l){if(l===self)a.seedFile=function(d,c){function p(f){var h=f.data;h.forge&&h.forge.prng&&(self.removeEventListener("message",p),c(h.forge.prng.err,h.forge.prng.bytes))}self.addEventListener("message",p),self.postMessage({forge:{prng:{needed:d}}})};else{var g=function(d){var c=d.data;c.forge&&c.forge.prng&&a.seedFile(c.forge.prng.needed,function(p,f){l.postMessage({forge:{prng:{err:p,bytes:f}}})})};l.addEventListener("message",g)}},a};var $t=ha;(function(){if($t.random&&$t.random.getBytes){$t.random;return}(function(e){var a={},t=new Array(4),n=$t.util.createBuffer();a.formatKey=function(d){var c=$t.util.createBuffer(d);return d=new Array(4),d[0]=c.getInt32(),d[1]=c.getInt32(),d[2]=c.getInt32(),d[3]=c.getInt32(),$t.aes._expandKey(d,!1)},a.formatSeed=function(d){var c=$t.util.createBuffer(d);return d=new Array(4),d[0]=c.getInt32(),d[1]=c.getInt32(),d[2]=c.getInt32(),d[3]=c.getInt32(),d},a.cipher=function(d,c){return $t.aes._updateBlock(d,c,t,!1),n.putInt32(t[0]),n.putInt32(t[1]),n.putInt32(t[2]),n.putInt32(t[3]),n.getBytes()},a.increment=function(d){return++d[3],d},a.md=$t.md.sha256;function i(){var d=$t.prng.create(a);return d.getBytes=function(c,p){return d.generate(c,p)},d.getBytesSync=function(c){return d.generate(c)},d}var r=i(),s=null,u=$t.util.globalScope,o=u.crypto||u.msCrypto;if(o&&o.getRandomValues&&(s=function(d){return o.getRandomValues(d)}),$t.options.usePureJavaScript||!$t.util.isNodejs&&!s){if(r.collectInt(+new Date,32),typeof navigator<"u"){var l="";for(var g in navigator)try{typeof navigator[g]=="string"&&(l+=navigator[g])}catch{}r.collect(l),l=null}e&&(e().mousemove(function(d){r.collectInt(d.clientX,16),r.collectInt(d.clientY,16)}),e().keypress(function(d){r.collectInt(d.charCode,8)}))}if(!$t.random)$t.random=r;else for(var g in r)$t.random[g]=r[g];$t.random.createInstance=i,$t.random})(typeof jQuery<"u"?jQuery:null)})();var si=ha,kT=[217,120,249,196,25,221,181,237,40,233,253,121,74,160,216,157,198,126,55,131,43,118,83,142,98,76,100,136,68,139,251,162,23,154,89,245,135,179,79,19,97,69,109,141,9,129,125,50,189,143,64,235,134,183,123,11,240,149,33,34,92,107,78,130,84,214,101,147,206,96,178,28,115,86,192,20,167,140,241,220,18,117,202,31,59,190,228,209,66,61,212,48,163,60,182,38,111,191,14,218,70,105,7,87,39,242,29,155,188,148,67,3,248,17,199,246,144,239,62,231,6,195,213,47,200,102,30,215,8,232,234,222,128,82,238,247,132,170,114,172,53,77,106,42,150,26,210,113,90,21,73,116,75,159,208,94,4,24,164,236,194,224,65,110,15,81,203,204,36,145,175,80,161,244,112,57,153,124,58,133,35,184,180,122,252,2,54,91,37,85,151,49,45,93,250,152,227,138,146,174,5,223,41,16,103,108,186,201,211,0,230,207,225,158,168,44,99,22,1,63,88,226,137,169,13,56,52,27,171,51,255,176,187,72,12,95,185,177,205,46,197,243,219,71,229,165,156,119,10,166,32,104,254,127,193,173],dw=[1,2,3,5],nbe=function(e,a){return e<<a&65535|(e&65535)>>16-a},ibe=function(e,a){return(e&65535)>>a|e<<16-a&65535};si.rc2=si.rc2||{};si.rc2.expandKey=function(e,a){typeof e=="string"&&(e=si.util.createBuffer(e)),a=a||128;var t=e,n=e.length(),i=a,r=Math.ceil(i/8),s=255>>(i&7),u;for(u=n;u<128;u++)t.putByte(kT[t.at(u-1)+t.at(u-n)&255]);for(t.setAt(128-r,kT[t.at(128-r)&s]),u=127-r;u>=0;u--)t.setAt(u,kT[t.at(u+1)^t.at(u+r)]);return t};var MF=function(e,a,t){var n=!1,i=null,r=null,s=null,u,o,l,g,d=[];for(e=si.rc2.expandKey(e,a),l=0;l<64;l++)d.push(e.getInt16Le());t?(u=function(f){for(l=0;l<4;l++)f[l]+=d[g]+(f[(l+3)%4]&f[(l+2)%4])+(~f[(l+3)%4]&f[(l+1)%4]),f[l]=nbe(f[l],dw[l]),g++},o=function(f){for(l=0;l<4;l++)f[l]+=d[f[(l+3)%4]&63]}):(u=function(f){for(l=3;l>=0;l--)f[l]=ibe(f[l],dw[l]),f[l]-=d[g]+(f[(l+3)%4]&f[(l+2)%4])+(~f[(l+3)%4]&f[(l+1)%4]),g--},o=function(f){for(l=3;l>=0;l--)f[l]-=d[f[(l+3)%4]&63]});var c=function(f){var h=[];for(l=0;l<4;l++){var y=i.getInt16Le();s!==null&&(t?y^=s.getInt16Le():s.putInt16Le(y)),h.push(y&65535)}g=t?0:63;for(var b=0;b<f.length;b++)for(var m=0;m<f[b][0];m++)f[b][1](h);for(l=0;l<4;l++)s!==null&&(t?s.putInt16Le(h[l]):h[l]^=s.getInt16Le()),r.putInt16Le(h[l])},p=null;return p={start:function(f,h){f&&typeof f=="string"&&(f=si.util.createBuffer(f)),n=!1,i=si.util.createBuffer(),r=h||new si.util.createBuffer,s=f,p.output=r},update:function(f){for(n||i.putBuffer(f);i.length()>=8;)c([[5,u],[1,o],[6,u],[1,o],[5,u]])},finish:function(f){var h=!0;if(t)if(f)h=f(8,i,!t);else{var y=i.length()===8?8:8-i.length();i.fillWithByte(y,y)}if(h&&(n=!0,p.update()),!t&&(h=i.length()===0,h))if(f)h=f(8,r,!t);else{var b=r.length(),m=r.at(b-1);m>b?h=!1:r.truncate(m)}return h}},p};si.rc2.startEncrypting=function(e,a,t){var n=si.rc2.createEncryptionCipher(e,128);return n.start(a,t),n};si.rc2.createEncryptionCipher=function(e,a){return MF(e,a,!0)};si.rc2.startDecrypting=function(e,a,t){var n=si.rc2.createDecryptionCipher(e,128);return n.start(a,t),n};si.rc2.createDecryptionCipher=function(e,a){return MF(e,a,!1)};var N7=ha;N7.jsbn=N7.jsbn||{};var js;function De(e,a,t){this.data=[],e!=null&&(typeof e=="number"?this.fromNumber(e,a,t):a==null&&typeof e!="string"?this.fromString(e,256):this.fromString(e,a))}N7.jsbn.BigInteger=De;function Pa(){return new De(null)}function rbe(e,a,t,n,i,r){for(;--r>=0;){var s=a*this.data[e++]+t.data[n]+i;i=Math.floor(s/67108864),t.data[n++]=s&67108863}return i}function sbe(e,a,t,n,i,r){for(var s=a&32767,u=a>>15;--r>=0;){var o=this.data[e]&32767,l=this.data[e++]>>15,g=u*o+l*s;o=s*o+((g&32767)<<15)+t.data[n]+(i&1073741823),i=(o>>>30)+(g>>>15)+u*l+(i>>>30),t.data[n++]=o&1073741823}return i}function cw(e,a,t,n,i,r){for(var s=a&16383,u=a>>14;--r>=0;){var o=this.data[e]&16383,l=this.data[e++]>>14,g=u*o+l*s;o=s*o+((g&16383)<<14)+t.data[n]+i,i=(o>>28)+(g>>14)+u*l,t.data[n++]=o&268435455}return i}typeof navigator>"u"?(De.prototype.am=cw,js=28):navigator.appName=="Microsoft Internet Explorer"?(De.prototype.am=sbe,js=30):navigator.appName!="Netscape"?(De.prototype.am=rbe,js=26):(De.prototype.am=cw,js=28);De.prototype.DB=js;De.prototype.DM=(1<<js)-1;De.prototype.DV=1<<js;var OD=52;De.prototype.FV=Math.pow(2,OD);De.prototype.F1=OD-js;De.prototype.F2=2*js-OD;var ube="0123456789abcdefghijklmnopqrstuvwxyz",C9=new Array,_d,Qi;_d=48;for(Qi=0;Qi<=9;++Qi)C9[_d++]=Qi;_d=97;for(Qi=10;Qi<36;++Qi)C9[_d++]=Qi;_d=65;for(Qi=10;Qi<36;++Qi)C9[_d++]=Qi;function pw(e){return ube.charAt(e)}function OF(e,a){var t=C9[e.charCodeAt(a)];return t??-1}function obe(e){for(var a=this.t-1;a>=0;--a)e.data[a]=this.data[a];e.t=this.t,e.s=this.s}function lbe(e){this.t=1,this.s=e<0?-1:0,e>0?this.data[0]=e:e<-1?this.data[0]=e+this.DV:this.t=0}function Iu(e){var a=Pa();return a.fromInt(e),a}function gbe(e,a){var t;if(a==16)t=4;else if(a==8)t=3;else if(a==256)t=8;else if(a==2)t=1;else if(a==32)t=5;else if(a==4)t=2;else{this.fromRadix(e,a);return}this.t=0,this.s=0;for(var n=e.length,i=!1,r=0;--n>=0;){var s=t==8?e[n]&255:OF(e,n);if(s<0){e.charAt(n)=="-"&&(i=!0);continue}i=!1,r==0?this.data[this.t++]=s:r+t>this.DB?(this.data[this.t-1]|=(s&(1<<this.DB-r)-1)<<r,this.data[this.t++]=s>>this.DB-r):this.data[this.t-1]|=s<<r,r+=t,r>=this.DB&&(r-=this.DB)}t==8&&e[0]&128&&(this.s=-1,r>0&&(this.data[this.t-1]|=(1<<this.DB-r)-1<<r)),this.clamp(),i&&De.ZERO.subTo(this,this)}function dbe(){for(var e=this.s&this.DM;this.t>0&&this.data[this.t-1]==e;)--this.t}function cbe(e){if(this.s<0)return"-"+this.negate().toString(e);var a;if(e==16)a=4;else if(e==8)a=3;else if(e==2)a=1;else if(e==32)a=5;else if(e==4)a=2;else return this.toRadix(e);var t=(1<<a)-1,n,i=!1,r="",s=this.t,u=this.DB-s*this.DB%a;if(s-- >0)for(u<this.DB&&(n=this.data[s]>>u)>0&&(i=!0,r=pw(n));s>=0;)u<a?(n=(this.data[s]&(1<<u)-1)<<a-u,n|=this.data[--s]>>(u+=this.DB-a)):(n=this.data[s]>>(u-=a)&t,u<=0&&(u+=this.DB,--s)),n>0&&(i=!0),i&&(r+=pw(n));return i?r:"0"}function pbe(){var e=Pa();return De.ZERO.subTo(this,e),e}function fbe(){return this.s<0?this.negate():this}function hbe(e){var a=this.s-e.s;if(a!=0)return a;var t=this.t;if(a=t-e.t,a!=0)return this.s<0?-a:a;for(;--t>=0;)if((a=this.data[t]-e.data[t])!=0)return a;return 0}function w9(e){var a=1,t;return(t=e>>>16)!=0&&(e=t,a+=16),(t=e>>8)!=0&&(e=t,a+=8),(t=e>>4)!=0&&(e=t,a+=4),(t=e>>2)!=0&&(e=t,a+=2),(t=e>>1)!=0&&(e=t,a+=1),a}function mbe(){return this.t<=0?0:this.DB*(this.t-1)+w9(this.data[this.t-1]^this.s&this.DM)}function ybe(e,a){var t;for(t=this.t-1;t>=0;--t)a.data[t+e]=this.data[t];for(t=e-1;t>=0;--t)a.data[t]=0;a.t=this.t+e,a.s=this.s}function bbe(e,a){for(var t=e;t<this.t;++t)a.data[t-e]=this.data[t];a.t=Math.max(this.t-e,0),a.s=this.s}function Tbe(e,a){var t=e%this.DB,n=this.DB-t,i=(1<<n)-1,r=Math.floor(e/this.DB),s=this.s<<t&this.DM,u;for(u=this.t-1;u>=0;--u)a.data[u+r+1]=this.data[u]>>n|s,s=(this.data[u]&i)<<t;for(u=r-1;u>=0;--u)a.data[u]=0;a.data[r]=s,a.t=this.t+r+1,a.s=this.s,a.clamp()}function Sbe(e,a){a.s=this.s;var t=Math.floor(e/this.DB);if(t>=this.t){a.t=0;return}var n=e%this.DB,i=this.DB-n,r=(1<<n)-1;a.data[0]=this.data[t]>>n;for(var s=t+1;s<this.t;++s)a.data[s-t-1]|=(this.data[s]&r)<<i,a.data[s-t]=this.data[s]>>n;n>0&&(a.data[this.t-t-1]|=(this.s&r)<<i),a.t=this.t-t,a.clamp()}function Abe(e,a){for(var t=0,n=0,i=Math.min(e.t,this.t);t<i;)n+=this.data[t]-e.data[t],a.data[t++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n-=e.s;t<this.t;)n+=this.data[t],a.data[t++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;t<e.t;)n-=e.data[t],a.data[t++]=n&this.DM,n>>=this.DB;n-=e.s}a.s=n<0?-1:0,n<-1?a.data[t++]=this.DV+n:n>0&&(a.data[t++]=n),a.t=t,a.clamp()}function vbe(e,a){var t=this.abs(),n=e.abs(),i=t.t;for(a.t=i+n.t;--i>=0;)a.data[i]=0;for(i=0;i<n.t;++i)a.data[i+t.t]=t.am(0,n.data[i],a,i,0,t.t);a.s=0,a.clamp(),this.s!=e.s&&De.ZERO.subTo(a,a)}function Dbe(e){for(var a=this.abs(),t=e.t=2*a.t;--t>=0;)e.data[t]=0;for(t=0;t<a.t-1;++t){var n=a.am(t,a.data[t],e,2*t,0,1);(e.data[t+a.t]+=a.am(t+1,2*a.data[t],e,2*t+1,n,a.t-t-1))>=a.DV&&(e.data[t+a.t]-=a.DV,e.data[t+a.t+1]=1)}e.t>0&&(e.data[e.t-1]+=a.am(t,a.data[t],e,2*t,0,1)),e.s=0,e.clamp()}function xbe(e,a,t){var n=e.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){a!=null&&a.fromInt(0),t!=null&&this.copyTo(t);return}t==null&&(t=Pa());var r=Pa(),s=this.s,u=e.s,o=this.DB-w9(n.data[n.t-1]);o>0?(n.lShiftTo(o,r),i.lShiftTo(o,t)):(n.copyTo(r),i.copyTo(t));var l=r.t,g=r.data[l-1];if(g!=0){var d=g*(1<<this.F1)+(l>1?r.data[l-2]>>this.F2:0),c=this.FV/d,p=(1<<this.F1)/d,f=1<<this.F2,h=t.t,y=h-l,b=a??Pa();for(r.dlShiftTo(y,b),t.compareTo(b)>=0&&(t.data[t.t++]=1,t.subTo(b,t)),De.ONE.dlShiftTo(l,b),b.subTo(r,r);r.t<l;)r.data[r.t++]=0;for(;--y>=0;){var m=t.data[--h]==g?this.DM:Math.floor(t.data[h]*c+(t.data[h-1]+f)*p);if((t.data[h]+=r.am(0,m,t,y,0,l))<m)for(r.dlShiftTo(y,b),t.subTo(b,t);t.data[h]<--m;)t.subTo(b,t)}a!=null&&(t.drShiftTo(l,a),s!=u&&De.ZERO.subTo(a,a)),t.t=l,t.clamp(),o>0&&t.rShiftTo(o,t),s<0&&De.ZERO.subTo(t,t)}}}function Ebe(e){var a=Pa();return this.abs().divRemTo(e,null,a),this.s<0&&a.compareTo(De.ZERO)>0&&e.subTo(a,a),a}function Dl(e){this.m=e}function kbe(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e}function Cbe(e){return e}function wbe(e){e.divRemTo(this.m,null,e)}function _be(e,a,t){e.multiplyTo(a,t),this.reduce(t)}function Ibe(e,a){e.squareTo(a),this.reduce(a)}Dl.prototype.convert=kbe;Dl.prototype.revert=Cbe;Dl.prototype.reduce=wbe;Dl.prototype.mulTo=_be;Dl.prototype.sqrTo=Ibe;function Nbe(){if(this.t<1)return 0;var e=this.data[0];if(!(e&1))return 0;var a=e&3;return a=a*(2-(e&15)*a)&15,a=a*(2-(e&255)*a)&255,a=a*(2-((e&65535)*a&65535))&65535,a=a*(2-e*a%this.DV)%this.DV,a>0?this.DV-a:-a}function xl(e){this.m=e,this.mp=e.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<e.DB-15)-1,this.mt2=2*e.t}function Lbe(e){var a=Pa();return e.abs().dlShiftTo(this.m.t,a),a.divRemTo(this.m,null,a),e.s<0&&a.compareTo(De.ZERO)>0&&this.m.subTo(a,a),a}function Rbe(e){var a=Pa();return e.copyTo(a),this.reduce(a),a}function Pbe(e){for(;e.t<=this.mt2;)e.data[e.t++]=0;for(var a=0;a<this.m.t;++a){var t=e.data[a]&32767,n=t*this.mpl+((t*this.mph+(e.data[a]>>15)*this.mpl&this.um)<<15)&e.DM;for(t=a+this.m.t,e.data[t]+=this.m.am(0,n,e,a,0,this.m.t);e.data[t]>=e.DV;)e.data[t]-=e.DV,e.data[++t]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)}function Mbe(e,a){e.squareTo(a),this.reduce(a)}function Obe(e,a,t){e.multiplyTo(a,t),this.reduce(t)}xl.prototype.convert=Lbe;xl.prototype.revert=Rbe;xl.prototype.reduce=Pbe;xl.prototype.mulTo=Obe;xl.prototype.sqrTo=Mbe;function Bbe(){return(this.t>0?this.data[0]&1:this.s)==0}function Fbe(e,a){if(e>4294967295||e<1)return De.ONE;var t=Pa(),n=Pa(),i=a.convert(this),r=w9(e)-1;for(i.copyTo(t);--r>=0;)if(a.sqrTo(t,n),(e&1<<r)>0)a.mulTo(n,i,t);else{var s=t;t=n,n=s}return a.revert(t)}function Ube(e,a){var t;return e<256||a.isEven()?t=new Dl(a):t=new xl(a),this.exp(e,t)}De.prototype.copyTo=obe;De.prototype.fromInt=lbe;De.prototype.fromString=gbe;De.prototype.clamp=dbe;De.prototype.dlShiftTo=ybe;De.prototype.drShiftTo=bbe;De.prototype.lShiftTo=Tbe;De.prototype.rShiftTo=Sbe;De.prototype.subTo=Abe;De.prototype.multiplyTo=vbe;De.prototype.squareTo=Dbe;De.prototype.divRemTo=xbe;De.prototype.invDigit=Nbe;De.prototype.isEven=Bbe;De.prototype.exp=Fbe;De.prototype.toString=cbe;De.prototype.negate=pbe;De.prototype.abs=fbe;De.prototype.compareTo=hbe;De.prototype.bitLength=mbe;De.prototype.mod=Ebe;De.prototype.modPowInt=Ube;De.ZERO=Iu(0);De.ONE=Iu(1);function jbe(){var e=Pa();return this.copyTo(e),e}function zbe(){if(this.s<0){if(this.t==1)return this.data[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this.data[0];if(this.t==0)return 0}return(this.data[1]&(1<<32-this.DB)-1)<<this.DB|this.data[0]}function $be(){return this.t==0?this.s:this.data[0]<<24>>24}function Kbe(){return this.t==0?this.s:this.data[0]<<16>>16}function Hbe(e){return Math.floor(Math.LN2*this.DB/Math.log(e))}function qbe(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function Vbe(e){if(e==null&&(e=10),this.signum()==0||e<2||e>36)return"0";var a=this.chunkSize(e),t=Math.pow(e,a),n=Iu(t),i=Pa(),r=Pa(),s="";for(this.divRemTo(n,i,r);i.signum()>0;)s=(t+r.intValue()).toString(e).substr(1)+s,i.divRemTo(n,i,r);return r.intValue().toString(e)+s}function Gbe(e,a){this.fromInt(0),a==null&&(a=10);for(var t=this.chunkSize(a),n=Math.pow(a,t),i=!1,r=0,s=0,u=0;u<e.length;++u){var o=OF(e,u);if(o<0){e.charAt(u)=="-"&&this.signum()==0&&(i=!0);continue}s=a*s+o,++r>=t&&(this.dMultiply(n),this.dAddOffset(s,0),r=0,s=0)}r>0&&(this.dMultiply(Math.pow(a,r)),this.dAddOffset(s,0)),i&&De.ZERO.subTo(this,this)}function Wbe(e,a,t){if(typeof a=="number")if(e<2)this.fromInt(1);else for(this.fromNumber(e,t),this.testBit(e-1)||this.bitwiseTo(De.ONE.shiftLeft(e-1),BD,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(a);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(De.ONE.shiftLeft(e-1),this);else{var n=new Array,i=e&7;n.length=(e>>3)+1,a.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}}function Ybe(){var e=this.t,a=new Array;a[0]=this.s;var t=this.DB-e*this.DB%8,n,i=0;if(e-- >0)for(t<this.DB&&(n=this.data[e]>>t)!=(this.s&this.DM)>>t&&(a[i++]=n|this.s<<this.DB-t);e>=0;)t<8?(n=(this.data[e]&(1<<t)-1)<<8-t,n|=this.data[--e]>>(t+=this.DB-8)):(n=this.data[e]>>(t-=8)&255,t<=0&&(t+=this.DB,--e)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(a[i++]=n);return a}function Xbe(e){return this.compareTo(e)==0}function Qbe(e){return this.compareTo(e)<0?this:e}function Zbe(e){return this.compareTo(e)>0?this:e}function Jbe(e,a,t){var n,i,r=Math.min(e.t,this.t);for(n=0;n<r;++n)t.data[n]=a(this.data[n],e.data[n]);if(e.t<this.t){for(i=e.s&this.DM,n=r;n<this.t;++n)t.data[n]=a(this.data[n],i);t.t=this.t}else{for(i=this.s&this.DM,n=r;n<e.t;++n)t.data[n]=a(i,e.data[n]);t.t=e.t}t.s=a(this.s,e.s),t.clamp()}function eTe(e,a){return e&a}function aTe(e){var a=Pa();return this.bitwiseTo(e,eTe,a),a}function BD(e,a){return e|a}function tTe(e){var a=Pa();return this.bitwiseTo(e,BD,a),a}function BF(e,a){return e^a}function nTe(e){var a=Pa();return this.bitwiseTo(e,BF,a),a}function FF(e,a){return e&~a}function iTe(e){var a=Pa();return this.bitwiseTo(e,FF,a),a}function rTe(){for(var e=Pa(),a=0;a<this.t;++a)e.data[a]=this.DM&~this.data[a];return e.t=this.t,e.s=~this.s,e}function sTe(e){var a=Pa();return e<0?this.rShiftTo(-e,a):this.lShiftTo(e,a),a}function uTe(e){var a=Pa();return e<0?this.lShiftTo(-e,a):this.rShiftTo(e,a),a}function oTe(e){if(e==0)return-1;var a=0;return e&65535||(e>>=16,a+=16),e&255||(e>>=8,a+=8),e&15||(e>>=4,a+=4),e&3||(e>>=2,a+=2),e&1||++a,a}function lTe(){for(var e=0;e<this.t;++e)if(this.data[e]!=0)return e*this.DB+oTe(this.data[e]);return this.s<0?this.t*this.DB:-1}function gTe(e){for(var a=0;e!=0;)e&=e-1,++a;return a}function dTe(){for(var e=0,a=this.s&this.DM,t=0;t<this.t;++t)e+=gTe(this.data[t]^a);return e}function cTe(e){var a=Math.floor(e/this.DB);return a>=this.t?this.s!=0:(this.data[a]&1<<e%this.DB)!=0}function pTe(e,a){var t=De.ONE.shiftLeft(e);return this.bitwiseTo(t,a,t),t}function fTe(e){return this.changeBit(e,BD)}function hTe(e){return this.changeBit(e,FF)}function mTe(e){return this.changeBit(e,BF)}function yTe(e,a){for(var t=0,n=0,i=Math.min(e.t,this.t);t<i;)n+=this.data[t]+e.data[t],a.data[t++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n+=e.s;t<this.t;)n+=this.data[t],a.data[t++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;t<e.t;)n+=e.data[t],a.data[t++]=n&this.DM,n>>=this.DB;n+=e.s}a.s=n<0?-1:0,n>0?a.data[t++]=n:n<-1&&(a.data[t++]=this.DV+n),a.t=t,a.clamp()}function bTe(e){var a=Pa();return this.addTo(e,a),a}function TTe(e){var a=Pa();return this.subTo(e,a),a}function STe(e){var a=Pa();return this.multiplyTo(e,a),a}function ATe(e){var a=Pa();return this.divRemTo(e,a,null),a}function vTe(e){var a=Pa();return this.divRemTo(e,null,a),a}function DTe(e){var a=Pa(),t=Pa();return this.divRemTo(e,a,t),new Array(a,t)}function xTe(e){this.data[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()}function ETe(e,a){if(e!=0){for(;this.t<=a;)this.data[this.t++]=0;for(this.data[a]+=e;this.data[a]>=this.DV;)this.data[a]-=this.DV,++a>=this.t&&(this.data[this.t++]=0),++this.data[a]}}function Ip(){}function UF(e){return e}function kTe(e,a,t){e.multiplyTo(a,t)}function CTe(e,a){e.squareTo(a)}Ip.prototype.convert=UF;Ip.prototype.revert=UF;Ip.prototype.mulTo=kTe;Ip.prototype.sqrTo=CTe;function wTe(e){return this.exp(e,new Ip)}function _Te(e,a,t){var n=Math.min(this.t+e.t,a);for(t.s=0,t.t=n;n>0;)t.data[--n]=0;var i;for(i=t.t-this.t;n<i;++n)t.data[n+this.t]=this.am(0,e.data[n],t,n,0,this.t);for(i=Math.min(e.t,a);n<i;++n)this.am(0,e.data[n],t,n,0,a-n);t.clamp()}function ITe(e,a,t){--a;var n=t.t=this.t+e.t-a;for(t.s=0;--n>=0;)t.data[n]=0;for(n=Math.max(a-this.t,0);n<e.t;++n)t.data[this.t+n-a]=this.am(a-n,e.data[n],t,0,0,this.t+n-a);t.clamp(),t.drShiftTo(1,t)}function Id(e){this.r2=Pa(),this.q3=Pa(),De.ONE.dlShiftTo(2*e.t,this.r2),this.mu=this.r2.divide(e),this.m=e}function NTe(e){if(e.s<0||e.t>2*this.m.t)return e.mod(this.m);if(e.compareTo(this.m)<0)return e;var a=Pa();return e.copyTo(a),this.reduce(a),a}function LTe(e){return e}function RTe(e){for(e.drShiftTo(this.m.t-1,this.r2),e.t>this.m.t+1&&(e.t=this.m.t+1,e.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);e.compareTo(this.r2)<0;)e.dAddOffset(1,this.m.t+1);for(e.subTo(this.r2,e);e.compareTo(this.m)>=0;)e.subTo(this.m,e)}function PTe(e,a){e.squareTo(a),this.reduce(a)}function MTe(e,a,t){e.multiplyTo(a,t),this.reduce(t)}Id.prototype.convert=NTe;Id.prototype.revert=LTe;Id.prototype.reduce=RTe;Id.prototype.mulTo=MTe;Id.prototype.sqrTo=PTe;function OTe(e,a){var t=e.bitLength(),n,i=Iu(1),r;if(t<=0)return i;t<18?n=1:t<48?n=3:t<144?n=4:t<768?n=5:n=6,t<8?r=new Dl(a):a.isEven()?r=new Id(a):r=new xl(a);var s=new Array,u=3,o=n-1,l=(1<<n)-1;if(s[1]=r.convert(this),n>1){var g=Pa();for(r.sqrTo(s[1],g);u<=l;)s[u]=Pa(),r.mulTo(g,s[u-2],s[u]),u+=2}var d=e.t-1,c,p=!0,f=Pa(),h;for(t=w9(e.data[d])-1;d>=0;){for(t>=o?c=e.data[d]>>t-o&l:(c=(e.data[d]&(1<<t+1)-1)<<o-t,d>0&&(c|=e.data[d-1]>>this.DB+t-o)),u=n;!(c&1);)c>>=1,--u;if((t-=u)<0&&(t+=this.DB,--d),p)s[c].copyTo(i),p=!1;else{for(;u>1;)r.sqrTo(i,f),r.sqrTo(f,i),u-=2;u>0?r.sqrTo(i,f):(h=i,i=f,f=h),r.mulTo(f,s[c],i)}for(;d>=0&&!(e.data[d]&1<<t);)r.sqrTo(i,f),h=i,i=f,f=h,--t<0&&(t=this.DB-1,--d)}return r.revert(i)}function BTe(e){var a=this.s<0?this.negate():this.clone(),t=e.s<0?e.negate():e.clone();if(a.compareTo(t)<0){var n=a;a=t,t=n}var i=a.getLowestSetBit(),r=t.getLowestSetBit();if(r<0)return a;for(i<r&&(r=i),r>0&&(a.rShiftTo(r,a),t.rShiftTo(r,t));a.signum()>0;)(i=a.getLowestSetBit())>0&&a.rShiftTo(i,a),(i=t.getLowestSetBit())>0&&t.rShiftTo(i,t),a.compareTo(t)>=0?(a.subTo(t,a),a.rShiftTo(1,a)):(t.subTo(a,t),t.rShiftTo(1,t));return r>0&&t.lShiftTo(r,t),t}function FTe(e){if(e<=0)return 0;var a=this.DV%e,t=this.s<0?e-1:0;if(this.t>0)if(a==0)t=this.data[0]%e;else for(var n=this.t-1;n>=0;--n)t=(a*t+this.data[n])%e;return t}function UTe(e){var a=e.isEven();if(this.isEven()&&a||e.signum()==0)return De.ZERO;for(var t=e.clone(),n=this.clone(),i=Iu(1),r=Iu(0),s=Iu(0),u=Iu(1);t.signum()!=0;){for(;t.isEven();)t.rShiftTo(1,t),a?((!i.isEven()||!r.isEven())&&(i.addTo(this,i),r.subTo(e,r)),i.rShiftTo(1,i)):r.isEven()||r.subTo(e,r),r.rShiftTo(1,r);for(;n.isEven();)n.rShiftTo(1,n),a?((!s.isEven()||!u.isEven())&&(s.addTo(this,s),u.subTo(e,u)),s.rShiftTo(1,s)):u.isEven()||u.subTo(e,u),u.rShiftTo(1,u);t.compareTo(n)>=0?(t.subTo(n,t),a&&i.subTo(s,i),r.subTo(u,r)):(n.subTo(t,n),a&&s.subTo(i,s),u.subTo(r,u))}if(n.compareTo(De.ONE)!=0)return De.ZERO;if(u.compareTo(e)>=0)return u.subtract(e);if(u.signum()<0)u.addTo(e,u);else return u;return u.signum()<0?u.add(e):u}var cr=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509],jTe=(1<<26)/cr[cr.length-1];function zTe(e){var a,t=this.abs();if(t.t==1&&t.data[0]<=cr[cr.length-1]){for(a=0;a<cr.length;++a)if(t.data[0]==cr[a])return!0;return!1}if(t.isEven())return!1;for(a=1;a<cr.length;){for(var n=cr[a],i=a+1;i<cr.length&&n<jTe;)n*=cr[i++];for(n=t.modInt(n);a<i;)if(n%cr[a++]==0)return!1}return t.millerRabin(e)}function $Te(e){var a=this.subtract(De.ONE),t=a.getLowestSetBit();if(t<=0)return!1;for(var n=a.shiftRight(t),i=KTe(),r,s=0;s<e;++s){do r=new De(this.bitLength(),i);while(r.compareTo(De.ONE)<=0||r.compareTo(a)>=0);var u=r.modPow(n,this);if(u.compareTo(De.ONE)!=0&&u.compareTo(a)!=0){for(var o=1;o++<t&&u.compareTo(a)!=0;)if(u=u.modPowInt(2,this),u.compareTo(De.ONE)==0)return!1;if(u.compareTo(a)!=0)return!1}}return!0}function KTe(){return{nextBytes:function(e){for(var a=0;a<e.length;++a)e[a]=Math.floor(Math.random()*256)}}}De.prototype.chunkSize=Hbe;De.prototype.toRadix=Vbe;De.prototype.fromRadix=Gbe;De.prototype.fromNumber=Wbe;De.prototype.bitwiseTo=Jbe;De.prototype.changeBit=pTe;De.prototype.addTo=yTe;De.prototype.dMultiply=xTe;De.prototype.dAddOffset=ETe;De.prototype.multiplyLowerTo=_Te;De.prototype.multiplyUpperTo=ITe;De.prototype.modInt=FTe;De.prototype.millerRabin=$Te;De.prototype.clone=jbe;De.prototype.intValue=zbe;De.prototype.byteValue=$be;De.prototype.shortValue=Kbe;De.prototype.signum=qbe;De.prototype.toByteArray=Ybe;De.prototype.equals=Xbe;De.prototype.min=Qbe;De.prototype.max=Zbe;De.prototype.and=aTe;De.prototype.or=tTe;De.prototype.xor=nTe;De.prototype.andNot=iTe;De.prototype.not=rTe;De.prototype.shiftLeft=sTe;De.prototype.shiftRight=uTe;De.prototype.getLowestSetBit=lTe;De.prototype.bitCount=dTe;De.prototype.testBit=cTe;De.prototype.setBit=fTe;De.prototype.clearBit=hTe;De.prototype.flipBit=mTe;De.prototype.add=bTe;De.prototype.subtract=TTe;De.prototype.multiply=STe;De.prototype.divide=ATe;De.prototype.remainder=vTe;De.prototype.divideAndRemainder=DTe;De.prototype.modPow=OTe;De.prototype.modInverse=UTe;De.prototype.pow=wTe;De.prototype.gcd=BTe;De.prototype.isProbablePrime=zTe;var as=ha,jF=as.sha1=as.sha1||{};as.md.sha1=as.md.algorithms.sha1=jF;jF.create=function(){zF||HTe();var e=null,a=as.util.createBuffer(),t=new Array(80),n={algorithm:"sha1",blockLength:64,digestLength:20,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,r=0;r<i;++r)n.fullMessageLength.push(0);return a=as.util.createBuffer(),e={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,r){r==="utf8"&&(i=as.util.encodeUtf8(i));var s=i.length;n.messageLength+=s,s=[s/4294967296>>>0,s>>>0];for(var u=n.fullMessageLength.length-1;u>=0;--u)n.fullMessageLength[u]+=s[1],s[1]=s[0]+(n.fullMessageLength[u]/4294967296>>>0),n.fullMessageLength[u]=n.fullMessageLength[u]>>>0,s[0]=s[1]/4294967296>>>0;return a.putBytes(i),fw(e,t,a),(a.read>2048||a.length()===0)&&a.compact(),n},n.digest=function(){var i=as.util.createBuffer();i.putBytes(a.bytes());var r=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=r&n.blockLength-1;i.putBytes(L7.substr(0,n.blockLength-s));for(var u,o,l=n.fullMessageLength[0]*8,g=0;g<n.fullMessageLength.length-1;++g)u=n.fullMessageLength[g+1]*8,o=u/4294967296>>>0,l+=o,i.putInt32(l>>>0),l=u>>>0;i.putInt32(l);var d={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4};fw(d,t,i);var c=as.util.createBuffer();return c.putInt32(d.h0),c.putInt32(d.h1),c.putInt32(d.h2),c.putInt32(d.h3),c.putInt32(d.h4),c},n};var L7=null,zF=!1;function HTe(){L7="",L7+=as.util.fillString("\0",64),zF=!0}function fw(e,a,t){for(var n,i,r,s,u,o,l,g,d=t.length();d>=64;){for(i=e.h0,r=e.h1,s=e.h2,u=e.h3,o=e.h4,g=0;g<16;++g)n=t.getInt32(),a[g]=n,l=u^r&(s^u),n=(i<<5|i>>>27)+l+o+1518500249+n,o=u,u=s,s=(r<<30|r>>>2)>>>0,r=i,i=n;for(;g<20;++g)n=a[g-3]^a[g-8]^a[g-14]^a[g-16],n=n<<1|n>>>31,a[g]=n,l=u^r&(s^u),n=(i<<5|i>>>27)+l+o+1518500249+n,o=u,u=s,s=(r<<30|r>>>2)>>>0,r=i,i=n;for(;g<32;++g)n=a[g-3]^a[g-8]^a[g-14]^a[g-16],n=n<<1|n>>>31,a[g]=n,l=r^s^u,n=(i<<5|i>>>27)+l+o+1859775393+n,o=u,u=s,s=(r<<30|r>>>2)>>>0,r=i,i=n;for(;g<40;++g)n=a[g-6]^a[g-16]^a[g-28]^a[g-32],n=n<<2|n>>>30,a[g]=n,l=r^s^u,n=(i<<5|i>>>27)+l+o+1859775393+n,o=u,u=s,s=(r<<30|r>>>2)>>>0,r=i,i=n;for(;g<60;++g)n=a[g-6]^a[g-16]^a[g-28]^a[g-32],n=n<<2|n>>>30,a[g]=n,l=r&s|u&(r^s),n=(i<<5|i>>>27)+l+o+2400959708+n,o=u,u=s,s=(r<<30|r>>>2)>>>0,r=i,i=n;for(;g<80;++g)n=a[g-6]^a[g-16]^a[g-28]^a[g-32],n=n<<2|n>>>30,a[g]=n,l=r^s^u,n=(i<<5|i>>>27)+l+o+3395469782+n,o=u,u=s,s=(r<<30|r>>>2)>>>0,r=i,i=n;e.h0=e.h0+i|0,e.h1=e.h1+r|0,e.h2=e.h2+s|0,e.h3=e.h3+u|0,e.h4=e.h4+o|0,d-=64}}var is=ha,$F=is.pkcs1=is.pkcs1||{};$F.encode_rsa_oaep=function(e,a,t){var n,i,r,s;typeof t=="string"?(n=t,i=arguments[3]||void 0,r=arguments[4]||void 0):t&&(n=t.label||void 0,i=t.seed||void 0,r=t.md||void 0,t.mgf1&&t.mgf1.md&&(s=t.mgf1.md)),r?r.start():r=is.md.sha1.create(),s||(s=r);var u=Math.ceil(e.n.bitLength()/8),o=u-2*r.digestLength-2;if(a.length>o){var l=new Error("RSAES-OAEP input message length is too long.");throw l.length=a.length,l.maxLength=o,l}n||(n=""),r.update(n,"raw");for(var g=r.digest(),d="",c=o-a.length,p=0;p<c;p++)d+="\0";var f=g.getBytes()+d+""+a;if(!i)i=is.random.getBytes(r.digestLength);else if(i.length!==r.digestLength){var l=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw l.seedLength=i.length,l.digestLength=r.digestLength,l}var h=Nm(i,u-r.digestLength-1,s),y=is.util.xorBytes(f,h,f.length),b=Nm(y,r.digestLength,s),m=is.util.xorBytes(i,b,i.length);return"\0"+m+y};$F.decode_rsa_oaep=function(e,a,t){var n,i,r;typeof t=="string"?(n=t,i=arguments[3]||void 0):t&&(n=t.label||void 0,i=t.md||void 0,t.mgf1&&t.mgf1.md&&(r=t.mgf1.md));var s=Math.ceil(e.n.bitLength()/8);if(a.length!==s){var y=new Error("RSAES-OAEP encoded message length is invalid.");throw y.length=a.length,y.expectedLength=s,y}if(i===void 0?i=is.md.sha1.create():i.start(),r||(r=i),s<2*i.digestLength+2)throw new Error("RSAES-OAEP key is too short for the hash function.");n||(n=""),i.update(n,"raw");for(var u=i.digest().getBytes(),o=a.charAt(0),l=a.substring(1,i.digestLength+1),g=a.substring(1+i.digestLength),d=Nm(g,i.digestLength,r),c=is.util.xorBytes(l,d,l.length),p=Nm(c,s-i.digestLength-1,r),f=is.util.xorBytes(g,p,g.length),h=f.substring(0,i.digestLength),y=o!=="\0",b=0;b<i.digestLength;++b)y|=u.charAt(b)!==h.charAt(b);for(var m=1,T=i.digestLength,A=i.digestLength;A<f.length;A++){var v=f.charCodeAt(A),D=v&1^1,k=m?65534:0;y|=v&k,m=m&D,T+=m}if(y||f.charCodeAt(T)!==1)throw new Error("Invalid RSAES-OAEP padding.");return f.substring(T+1)};function Nm(e,a,t){t||(t=is.md.sha1.create());for(var n="",i=Math.ceil(a/t.digestLength),r=0;r<i;++r){var s=String.fromCharCode(r>>24&255,r>>16&255,r>>8&255,r&255);t.start(),t.update(e+s),n+=t.digest().getBytes()}return n.substring(0,a)}var du=ha;(function(){if(du.prime){du.prime;return}var e=du.prime=du.prime||{},a=du.jsbn.BigInteger,t=[6,4,2,4,2,4,6,2],n=new a(null);n.fromInt(30);var i=function(d,c){return d|c};e.generateProbablePrime=function(d,c,p){typeof c=="function"&&(p=c,c={}),c=c||{};var f=c.algorithm||"PRIMEINC";typeof f=="string"&&(f={name:f}),f.options=f.options||{};var h=c.prng||du.random,y={nextBytes:function(b){for(var m=h.getBytesSync(b.length),T=0;T<b.length;++T)b[T]=m.charCodeAt(T)}};if(f.name==="PRIMEINC")return r(d,y,f.options,p);throw new Error("Invalid prime generation algorithm: "+f.name)};function r(d,c,p,f){return"workers"in p?o(d,c,p,f):s(d,c,p,f)}function s(d,c,p,f){var h=l(d,c),y=0,b=g(h.bitLength());"millerRabinTests"in p&&(b=p.millerRabinTests);var m=10;"maxBlockTime"in p&&(m=p.maxBlockTime),u(h,d,c,y,b,m,f)}function u(d,c,p,f,h,y,b){var m=+new Date;do{if(d.bitLength()>c&&(d=l(c,p)),d.isProbablePrime(h))return b(null,d);d.dAddOffset(t[f++%8],0)}while(y<0||+new Date-m<y);du.util.setImmediate(function(){u(d,c,p,f,h,y,b)})}function o(d,c,p,f){if(typeof Worker>"u")return s(d,c,p,f);var h=l(d,c),y=p.workers,b=p.workLoad||100,m=b*30/8,T=p.workerScript||"forge/prime.worker.js";if(y===-1)return du.util.estimateCores(function(v,D){v&&(D=2),y=D-1,A()});A();function A(){y=Math.max(1,y);for(var v=[],D=0;D<y;++D)v[D]=new Worker(T);for(var D=0;D<y;++D)v[D].addEventListener("message",N);var k=!1;function N(q){if(!k){var R=q.data;if(R.found){for(var z=0;z<v.length;++z)v[z].terminate();return k=!0,f(null,new a(R.prime,16))}h.bitLength()>d&&(h=l(d,c));var W=h.toString(16);q.target.postMessage({hex:W,workLoad:b}),h.dAddOffset(m,0)}}}}function l(d,c){var p=new a(d,c),f=d-1;return p.testBit(f)||p.bitwiseTo(a.ONE.shiftLeft(f),i,p),p.dAddOffset(31-p.mod(n).byteValue(),0),p}function g(d){return d<=100?27:d<=150?18:d<=200?15:d<=250?12:d<=300?9:d<=350?8:d<=400?7:d<=500?6:d<=600?5:d<=800?4:d<=1250?3:2}})();var Ye=ha;if(typeof La>"u")var La=Ye.jsbn.BigInteger;var R7=Ye.util.isNodejs?Py:null,oe=Ye.asn1,Zi=Ye.util;Ye.pki=Ye.pki||{};Ye.pki.rsa=Ye.rsa=Ye.rsa||{};var oa=Ye.pki,qTe=[6,4,2,4,2,4,6,2],VTe={name:"PrivateKeyInfo",tagClass:oe.Class.UNIVERSAL,type:oe.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:oe.Class.UNIVERSAL,type:oe.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:oe.Class.UNIVERSAL,type:oe.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:oe.Class.UNIVERSAL,type:oe.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:oe.Class.UNIVERSAL,type:oe.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},GTe={name:"RSAPrivateKey",tagClass:oe.Class.UNIVERSAL,type:oe.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:oe.Class.UNIVERSAL,type:oe.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:oe.Class.UNIVERSAL,type:oe.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:oe.Class.UNIVERSAL,type:oe.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:oe.Class.UNIVERSAL,type:oe.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:oe.Class.UNIVERSAL,type:oe.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:oe.Class.UNIVERSAL,type:oe.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:oe.Class.UNIVERSAL,type:oe.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:oe.Class.UNIVERSAL,type:oe.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:oe.Class.UNIVERSAL,type:oe.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},WTe={name:"RSAPublicKey",tagClass:oe.Class.UNIVERSAL,type:oe.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:oe.Class.UNIVERSAL,type:oe.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:oe.Class.UNIVERSAL,type:oe.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},YTe=Ye.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:oe.Class.UNIVERSAL,type:oe.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:oe.Class.UNIVERSAL,type:oe.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:oe.Class.UNIVERSAL,type:oe.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:oe.Class.UNIVERSAL,type:oe.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:oe.Class.UNIVERSAL,type:oe.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},XTe={name:"DigestInfo",tagClass:oe.Class.UNIVERSAL,type:oe.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:oe.Class.UNIVERSAL,type:oe.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:oe.Class.UNIVERSAL,type:oe.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:oe.Class.UNIVERSAL,type:oe.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:oe.Class.UNIVERSAL,type:oe.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},QTe=function(e){var a;if(e.algorithm in oa.oids)a=oa.oids[e.algorithm];else{var t=new Error("Unknown message digest algorithm.");throw t.algorithm=e.algorithm,t}var n=oe.oidToDer(a).getBytes(),i=oe.create(oe.Class.UNIVERSAL,oe.Type.SEQUENCE,!0,[]),r=oe.create(oe.Class.UNIVERSAL,oe.Type.SEQUENCE,!0,[]);r.value.push(oe.create(oe.Class.UNIVERSAL,oe.Type.OID,!1,n)),r.value.push(oe.create(oe.Class.UNIVERSAL,oe.Type.NULL,!1,""));var s=oe.create(oe.Class.UNIVERSAL,oe.Type.OCTETSTRING,!1,e.digest().getBytes());return i.value.push(r),i.value.push(s),oe.toDer(i).getBytes()},KF=function(e,a,t){if(t)return e.modPow(a.e,a.n);if(!a.p||!a.q)return e.modPow(a.d,a.n);a.dP||(a.dP=a.d.mod(a.p.subtract(La.ONE))),a.dQ||(a.dQ=a.d.mod(a.q.subtract(La.ONE))),a.qInv||(a.qInv=a.q.modInverse(a.p));var n;do n=new La(Ye.util.bytesToHex(Ye.random.getBytes(a.n.bitLength()/8)),16);while(n.compareTo(a.n)>=0||!n.gcd(a.n).equals(La.ONE));e=e.multiply(n.modPow(a.e,a.n)).mod(a.n);for(var i=e.mod(a.p).modPow(a.dP,a.p),r=e.mod(a.q).modPow(a.dQ,a.q);i.compareTo(r)<0;)i=i.add(a.p);var s=i.subtract(r).multiply(a.qInv).mod(a.p).multiply(a.q).add(r);return s=s.multiply(n.modInverse(a.n)).mod(a.n),s};oa.rsa.encrypt=function(e,a,t){var n=t,i,r=Math.ceil(a.n.bitLength()/8);t!==!1&&t!==!0?(n=t===2,i=HF(e,a,t)):(i=Ye.util.createBuffer(),i.putBytes(e));for(var s=new La(i.toHex(),16),u=KF(s,a,n),o=u.toString(16),l=Ye.util.createBuffer(),g=r-Math.ceil(o.length/2);g>0;)l.putByte(0),--g;return l.putBytes(Ye.util.hexToBytes(o)),l.getBytes()};oa.rsa.decrypt=function(e,a,t,n){var i=Math.ceil(a.n.bitLength()/8);if(e.length!==i){var r=new Error("Encrypted message length is invalid.");throw r.length=e.length,r.expected=i,r}var s=new La(Ye.util.createBuffer(e).toHex(),16);if(s.compareTo(a.n)>=0)throw new Error("Encrypted message is invalid.");for(var u=KF(s,a,t),o=u.toString(16),l=Ye.util.createBuffer(),g=i-Math.ceil(o.length/2);g>0;)l.putByte(0),--g;return l.putBytes(Ye.util.hexToBytes(o)),n!==!1?Lm(l.getBytes(),a,t):l.getBytes()};oa.rsa.createKeyPairGenerationState=function(e,a,t){typeof e=="string"&&(e=parseInt(e,10)),e=e||2048,t=t||{};var n=t.prng||Ye.random,i={nextBytes:function(u){for(var o=n.getBytesSync(u.length),l=0;l<u.length;++l)u[l]=o.charCodeAt(l)}},r=t.algorithm||"PRIMEINC",s;if(r==="PRIMEINC")s={algorithm:r,state:0,bits:e,rng:i,eInt:a||65537,e:new La(null),p:null,q:null,qBits:e>>1,pBits:e-(e>>1),pqState:0,num:null,keys:null},s.e.fromInt(s.eInt);else throw new Error("Invalid key generation algorithm: "+r);return s};oa.rsa.stepKeyPairGenerationState=function(e,a){"algorithm"in e||(e.algorithm="PRIMEINC");var t=new La(null);t.fromInt(30);for(var n=0,i=function(d,c){return d|c},r=+new Date,s,u=0;e.keys===null&&(a<=0||u<a);){if(e.state===0){var o=e.p===null?e.pBits:e.qBits,l=o-1;e.pqState===0?(e.num=new La(o,e.rng),e.num.testBit(l)||e.num.bitwiseTo(La.ONE.shiftLeft(l),i,e.num),e.num.dAddOffset(31-e.num.mod(t).byteValue(),0),n=0,++e.pqState):e.pqState===1?e.num.bitLength()>o?e.pqState=0:e.num.isProbablePrime(JTe(e.num.bitLength()))?++e.pqState:e.num.dAddOffset(qTe[n++%8],0):e.pqState===2?e.pqState=e.num.subtract(La.ONE).gcd(e.e).compareTo(La.ONE)===0?3:0:e.pqState===3&&(e.pqState=0,e.p===null?e.p=e.num:e.q=e.num,e.p!==null&&e.q!==null&&++e.state,e.num=null)}else if(e.state===1)e.p.compareTo(e.q)<0&&(e.num=e.p,e.p=e.q,e.q=e.num),++e.state;else if(e.state===2)e.p1=e.p.subtract(La.ONE),e.q1=e.q.subtract(La.ONE),e.phi=e.p1.multiply(e.q1),++e.state;else if(e.state===3)e.phi.gcd(e.e).compareTo(La.ONE)===0?++e.state:(e.p=null,e.q=null,e.state=0);else if(e.state===4)e.n=e.p.multiply(e.q),e.n.bitLength()===e.bits?++e.state:(e.q=null,e.state=0);else if(e.state===5){var g=e.e.modInverse(e.phi);e.keys={privateKey:oa.rsa.setPrivateKey(e.n,e.e,g,e.p,e.q,g.mod(e.p1),g.mod(e.q1),e.q.modInverse(e.p)),publicKey:oa.rsa.setPublicKey(e.n,e.e)}}s=+new Date,u+=s-r,r=s}return e.keys!==null};oa.rsa.generateKeyPair=function(e,a,t,n){if(arguments.length===1?typeof e=="object"?(t=e,e=void 0):typeof e=="function"&&(n=e,e=void 0):arguments.length===2?typeof e=="number"?typeof a=="function"?(n=a,a=void 0):typeof a!="number"&&(t=a,a=void 0):(t=e,n=a,e=void 0,a=void 0):arguments.length===3&&(typeof a=="number"?typeof t=="function"&&(n=t,t=void 0):(n=t,t=a,a=void 0)),t=t||{},e===void 0&&(e=t.bits||2048),a===void 0&&(a=t.e||65537),!Ye.options.usePureJavaScript&&!t.prng&&e>=256&&e<=16384&&(a===65537||a===3)){if(n){if(hw("generateKeyPair"))return R7.generateKeyPair("rsa",{modulusLength:e,publicExponent:a,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(u,o,l){if(u)return n(u);n(null,{privateKey:oa.privateKeyFromPem(l),publicKey:oa.publicKeyFromPem(o)})});if(mw("generateKey")&&mw("exportKey"))return Zi.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:bw(a),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(u){return Zi.globalScope.crypto.subtle.exportKey("pkcs8",u.privateKey)}).then(void 0,function(u){n(u)}).then(function(u){if(u){var o=oa.privateKeyFromAsn1(oe.fromDer(Ye.util.createBuffer(u)));n(null,{privateKey:o,publicKey:oa.setRsaPublicKey(o.n,o.e)})}});if(yw("generateKey")&&yw("exportKey")){var i=Zi.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:bw(a),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(u){var o=u.target.result,l=Zi.globalScope.msCrypto.subtle.exportKey("pkcs8",o.privateKey);l.oncomplete=function(g){var d=g.target.result,c=oa.privateKeyFromAsn1(oe.fromDer(Ye.util.createBuffer(d)));n(null,{privateKey:c,publicKey:oa.setRsaPublicKey(c.n,c.e)})},l.onerror=function(g){n(g)}},i.onerror=function(u){n(u)};return}}else if(hw("generateKeyPairSync")){var r=R7.generateKeyPairSync("rsa",{modulusLength:e,publicExponent:a,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:oa.privateKeyFromPem(r.privateKey),publicKey:oa.publicKeyFromPem(r.publicKey)}}}var s=oa.rsa.createKeyPairGenerationState(e,a,t);if(!n)return oa.rsa.stepKeyPairGenerationState(s,0),s.keys;ZTe(s,t,n)};oa.setRsaPublicKey=oa.rsa.setPublicKey=function(e,a){var t={n:e,e:a};return t.encrypt=function(n,i,r){if(typeof i=="string"?i=i.toUpperCase():i===void 0&&(i="RSAES-PKCS1-V1_5"),i==="RSAES-PKCS1-V1_5")i={encode:function(u,o,l){return HF(u,o,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(u,o){return Ye.pkcs1.encode_rsa_oaep(o,u,r)}};else if(["RAW","NONE","NULL",null].indexOf(i)!==-1)i={encode:function(u){return u}};else if(typeof i=="string")throw new Error('Unsupported encryption scheme: "'+i+'".');var s=i.encode(n,t,!0);return oa.rsa.encrypt(s,t,!0)},t.verify=function(n,i,r,s){typeof r=="string"?r=r.toUpperCase():r===void 0&&(r="RSASSA-PKCS1-V1_5"),s===void 0&&(s={_parseAllDigestBytes:!0}),"_parseAllDigestBytes"in s||(s._parseAllDigestBytes=!0),r==="RSASSA-PKCS1-V1_5"?r={verify:function(o,l){l=Lm(l,t,!0);var g=oe.fromDer(l,{parseAllBytes:s._parseAllDigestBytes}),d={},c=[];if(!oe.validate(g,XTe,d,c)){var p=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw p.errors=c,p}var f=oe.derToOid(d.algorithmIdentifier);if(!(f===Ye.oids.md2||f===Ye.oids.md5||f===Ye.oids.sha1||f===Ye.oids.sha224||f===Ye.oids.sha256||f===Ye.oids.sha384||f===Ye.oids.sha512||f===Ye.oids["sha512-224"]||f===Ye.oids["sha512-256"])){var p=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw p.oid=f,p}if((f===Ye.oids.md2||f===Ye.oids.md5)&&!("parameters"in d))throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifer NULL parameters.");return o===d.digest}}:(r==="NONE"||r==="NULL"||r===null)&&(r={verify:function(o,l){return l=Lm(l,t,!0),o===l}});var u=oa.rsa.decrypt(i,t,!0,!1);return r.verify(n,u,t.n.bitLength())},t};oa.setRsaPrivateKey=oa.rsa.setPrivateKey=function(e,a,t,n,i,r,s,u){var o={n:e,e:a,d:t,p:n,q:i,dP:r,dQ:s,qInv:u};return o.decrypt=function(l,g,d){typeof g=="string"?g=g.toUpperCase():g===void 0&&(g="RSAES-PKCS1-V1_5");var c=oa.rsa.decrypt(l,o,!1,!1);if(g==="RSAES-PKCS1-V1_5")g={decode:Lm};else if(g==="RSA-OAEP"||g==="RSAES-OAEP")g={decode:function(p,f){return Ye.pkcs1.decode_rsa_oaep(f,p,d)}};else if(["RAW","NONE","NULL",null].indexOf(g)!==-1)g={decode:function(p){return p}};else throw new Error('Unsupported encryption scheme: "'+g+'".');return g.decode(c,o,!1)},o.sign=function(l,g){var d=!1;typeof g=="string"&&(g=g.toUpperCase()),g===void 0||g==="RSASSA-PKCS1-V1_5"?(g={encode:QTe},d=1):(g==="NONE"||g==="NULL"||g===null)&&(g={encode:function(){return l}},d=1);var c=g.encode(l,o.n.bitLength());return oa.rsa.encrypt(c,o,d)},o};oa.wrapRsaPrivateKey=function(e){return oe.create(oe.Class.UNIVERSAL,oe.Type.SEQUENCE,!0,[oe.create(oe.Class.UNIVERSAL,oe.Type.INTEGER,!1,oe.integerToDer(0).getBytes()),oe.create(oe.Class.UNIVERSAL,oe.Type.SEQUENCE,!0,[oe.create(oe.Class.UNIVERSAL,oe.Type.OID,!1,oe.oidToDer(oa.oids.rsaEncryption).getBytes()),oe.create(oe.Class.UNIVERSAL,oe.Type.NULL,!1,"")]),oe.create(oe.Class.UNIVERSAL,oe.Type.OCTETSTRING,!1,oe.toDer(e).getBytes())])};oa.privateKeyFromAsn1=function(e){var a={},t=[];if(oe.validate(e,VTe,a,t)&&(e=oe.fromDer(Ye.util.createBuffer(a.privateKey))),a={},t=[],!oe.validate(e,GTe,a,t)){var n=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw n.errors=t,n}var i,r,s,u,o,l,g,d;return i=Ye.util.createBuffer(a.privateKeyModulus).toHex(),r=Ye.util.createBuffer(a.privateKeyPublicExponent).toHex(),s=Ye.util.createBuffer(a.privateKeyPrivateExponent).toHex(),u=Ye.util.createBuffer(a.privateKeyPrime1).toHex(),o=Ye.util.createBuffer(a.privateKeyPrime2).toHex(),l=Ye.util.createBuffer(a.privateKeyExponent1).toHex(),g=Ye.util.createBuffer(a.privateKeyExponent2).toHex(),d=Ye.util.createBuffer(a.privateKeyCoefficient).toHex(),oa.setRsaPrivateKey(new La(i,16),new La(r,16),new La(s,16),new La(u,16),new La(o,16),new La(l,16),new La(g,16),new La(d,16))};oa.privateKeyToAsn1=oa.privateKeyToRSAPrivateKey=function(e){return oe.create(oe.Class.UNIVERSAL,oe.Type.SEQUENCE,!0,[oe.create(oe.Class.UNIVERSAL,oe.Type.INTEGER,!1,oe.integerToDer(0).getBytes()),oe.create(oe.Class.UNIVERSAL,oe.Type.INTEGER,!1,Hr(e.n)),oe.create(oe.Class.UNIVERSAL,oe.Type.INTEGER,!1,Hr(e.e)),oe.create(oe.Class.UNIVERSAL,oe.Type.INTEGER,!1,Hr(e.d)),oe.create(oe.Class.UNIVERSAL,oe.Type.INTEGER,!1,Hr(e.p)),oe.create(oe.Class.UNIVERSAL,oe.Type.INTEGER,!1,Hr(e.q)),oe.create(oe.Class.UNIVERSAL,oe.Type.INTEGER,!1,Hr(e.dP)),oe.create(oe.Class.UNIVERSAL,oe.Type.INTEGER,!1,Hr(e.dQ)),oe.create(oe.Class.UNIVERSAL,oe.Type.INTEGER,!1,Hr(e.qInv))])};oa.publicKeyFromAsn1=function(e){var a={},t=[];if(oe.validate(e,YTe,a,t)){var n=oe.derToOid(a.publicKeyOid);if(n!==oa.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}e=a.rsaPublicKey}if(t=[],!oe.validate(e,WTe,a,t)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=t,i}var r=Ye.util.createBuffer(a.publicKeyModulus).toHex(),s=Ye.util.createBuffer(a.publicKeyExponent).toHex();return oa.setRsaPublicKey(new La(r,16),new La(s,16))};oa.publicKeyToAsn1=oa.publicKeyToSubjectPublicKeyInfo=function(e){return oe.create(oe.Class.UNIVERSAL,oe.Type.SEQUENCE,!0,[oe.create(oe.Class.UNIVERSAL,oe.Type.SEQUENCE,!0,[oe.create(oe.Class.UNIVERSAL,oe.Type.OID,!1,oe.oidToDer(oa.oids.rsaEncryption).getBytes()),oe.create(oe.Class.UNIVERSAL,oe.Type.NULL,!1,"")]),oe.create(oe.Class.UNIVERSAL,oe.Type.BITSTRING,!1,[oa.publicKeyToRSAPublicKey(e)])])};oa.publicKeyToRSAPublicKey=function(e){return oe.create(oe.Class.UNIVERSAL,oe.Type.SEQUENCE,!0,[oe.create(oe.Class.UNIVERSAL,oe.Type.INTEGER,!1,Hr(e.n)),oe.create(oe.Class.UNIVERSAL,oe.Type.INTEGER,!1,Hr(e.e))])};function HF(e,a,t){var n=Ye.util.createBuffer(),i=Math.ceil(a.n.bitLength()/8);if(e.length>i-11){var r=new Error("Message is too long for PKCS#1 v1.5 padding.");throw r.length=e.length,r.max=i-11,r}n.putByte(0),n.putByte(t);var s=i-3-e.length,u;if(t===0||t===1){u=t===0?0:255;for(var o=0;o<s;++o)n.putByte(u)}else for(;s>0;){for(var l=0,g=Ye.random.getBytes(s),o=0;o<s;++o)u=g.charCodeAt(o),u===0?++l:n.putByte(u);s=l}return n.putByte(0),n.putBytes(e),n}function Lm(e,a,t,n){var i=Math.ceil(a.n.bitLength()/8),r=Ye.util.createBuffer(e),s=r.getByte(),u=r.getByte();if(s!==0||t&&u!==0&&u!==1||!t&&u!=2||t&&u===0&&typeof n>"u")throw new Error("Encryption block is invalid.");var o=0;if(u===0){o=i-3-n;for(var l=0;l<o;++l)if(r.getByte()!==0)throw new Error("Encryption block is invalid.")}else if(u===1)for(o=0;r.length()>1;){if(r.getByte()!==255){--r.read;break}++o}else if(u===2)for(o=0;r.length()>1;){if(r.getByte()===0){--r.read;break}++o}var g=r.getByte();if(g!==0||o!==i-3-r.length())throw new Error("Encryption block is invalid.");return r.getBytes()}function ZTe(e,a,t){typeof a=="function"&&(t=a,a={}),a=a||{};var n={algorithm:{name:a.algorithm||"PRIMEINC",options:{workers:a.workers||2,workLoad:a.workLoad||100,workerScript:a.workerScript}}};"prng"in a&&(n.prng=a.prng),i();function i(){r(e.pBits,function(u,o){if(u)return t(u);if(e.p=o,e.q!==null)return s(u,e.q);r(e.qBits,s)})}function r(u,o){Ye.prime.generateProbablePrime(u,n,o)}function s(u,o){if(u)return t(u);if(e.q=o,e.p.compareTo(e.q)<0){var l=e.p;e.p=e.q,e.q=l}if(e.p.subtract(La.ONE).gcd(e.e).compareTo(La.ONE)!==0){e.p=null,i();return}if(e.q.subtract(La.ONE).gcd(e.e).compareTo(La.ONE)!==0){e.q=null,r(e.qBits,s);return}if(e.p1=e.p.subtract(La.ONE),e.q1=e.q.subtract(La.ONE),e.phi=e.p1.multiply(e.q1),e.phi.gcd(e.e).compareTo(La.ONE)!==0){e.p=e.q=null,i();return}if(e.n=e.p.multiply(e.q),e.n.bitLength()!==e.bits){e.q=null,r(e.qBits,s);return}var g=e.e.modInverse(e.phi);e.keys={privateKey:oa.rsa.setPrivateKey(e.n,e.e,g,e.p,e.q,g.mod(e.p1),g.mod(e.q1),e.q.modInverse(e.p)),publicKey:oa.rsa.setPublicKey(e.n,e.e)},t(null,e.keys)}}function Hr(e){var a=e.toString(16);a[0]>="8"&&(a="00"+a);var t=Ye.util.hexToBytes(a);return t.length>1&&(t.charCodeAt(0)===0&&!(t.charCodeAt(1)&128)||t.charCodeAt(0)===255&&(t.charCodeAt(1)&128)===128)?t.substr(1):t}function JTe(e){return e<=100?27:e<=150?18:e<=200?15:e<=250?12:e<=300?9:e<=350?8:e<=400?7:e<=500?6:e<=600?5:e<=800?4:e<=1250?3:2}function hw(e){return Ye.util.isNodejs&&typeof R7[e]=="function"}function mw(e){return typeof Zi.globalScope<"u"&&typeof Zi.globalScope.crypto=="object"&&typeof Zi.globalScope.crypto.subtle=="object"&&typeof Zi.globalScope.crypto.subtle[e]=="function"}function yw(e){return typeof Zi.globalScope<"u"&&typeof Zi.globalScope.msCrypto=="object"&&typeof Zi.globalScope.msCrypto.subtle=="object"&&typeof Zi.globalScope.msCrypto.subtle[e]=="function"}function bw(e){for(var a=Ye.util.hexToBytes(e.toString(16)),t=new Uint8Array(a.length),n=0;n<a.length;++n)t[n]=a.charCodeAt(n);return t}var Ue=ha;if(typeof eSe>"u")var eSe=Ue.jsbn.BigInteger;var he=Ue.asn1,pa=Ue.pki=Ue.pki||{};pa.pbe=Ue.pbe=Ue.pbe||{};var Ao=pa.oids,aSe={name:"EncryptedPrivateKeyInfo",tagClass:he.Class.UNIVERSAL,type:he.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:he.Class.UNIVERSAL,type:he.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:he.Class.UNIVERSAL,type:he.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:he.Class.UNIVERSAL,type:he.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:he.Class.UNIVERSAL,type:he.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},tSe={name:"PBES2Algorithms",tagClass:he.Class.UNIVERSAL,type:he.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:he.Class.UNIVERSAL,type:he.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:he.Class.UNIVERSAL,type:he.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:he.Class.UNIVERSAL,type:he.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:he.Class.UNIVERSAL,type:he.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:he.Class.UNIVERSAL,type:he.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:he.Class.UNIVERSAL,type:he.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:he.Class.UNIVERSAL,type:he.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:he.Class.UNIVERSAL,type:he.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:he.Class.UNIVERSAL,type:he.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:he.Class.UNIVERSAL,type:he.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:he.Class.UNIVERSAL,type:he.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},nSe={name:"pkcs-12PbeParams",tagClass:he.Class.UNIVERSAL,type:he.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:he.Class.UNIVERSAL,type:he.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:he.Class.UNIVERSAL,type:he.Type.INTEGER,constructed:!1,capture:"iterations"}]};pa.encryptPrivateKeyInfo=function(e,a,t){t=t||{},t.saltSize=t.saltSize||8,t.count=t.count||2048,t.algorithm=t.algorithm||"aes128",t.prfAlgorithm=t.prfAlgorithm||"sha1";var n=Ue.random.getBytesSync(t.saltSize),i=t.count,r=he.integerToDer(i),s,u,o;if(t.algorithm.indexOf("aes")===0||t.algorithm==="des"){var l,g,d;switch(t.algorithm){case"aes128":s=16,l=16,g=Ao["aes128-CBC"],d=Ue.aes.createEncryptionCipher;break;case"aes192":s=24,l=16,g=Ao["aes192-CBC"],d=Ue.aes.createEncryptionCipher;break;case"aes256":s=32,l=16,g=Ao["aes256-CBC"],d=Ue.aes.createEncryptionCipher;break;case"des":s=8,l=8,g=Ao.desCBC,d=Ue.des.createEncryptionCipher;break;default:var c=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw c.algorithm=t.algorithm,c}var p="hmacWith"+t.prfAlgorithm.toUpperCase(),f=VF(p),h=Ue.pkcs5.pbkdf2(a,n,i,s,f),y=Ue.random.getBytesSync(l),b=d(h);b.start(y),b.update(he.toDer(e)),b.finish(),o=b.output.getBytes();var m=iSe(n,r,s,p);u=he.create(he.Class.UNIVERSAL,he.Type.SEQUENCE,!0,[he.create(he.Class.UNIVERSAL,he.Type.OID,!1,he.oidToDer(Ao.pkcs5PBES2).getBytes()),he.create(he.Class.UNIVERSAL,he.Type.SEQUENCE,!0,[he.create(he.Class.UNIVERSAL,he.Type.SEQUENCE,!0,[he.create(he.Class.UNIVERSAL,he.Type.OID,!1,he.oidToDer(Ao.pkcs5PBKDF2).getBytes()),m]),he.create(he.Class.UNIVERSAL,he.Type.SEQUENCE,!0,[he.create(he.Class.UNIVERSAL,he.Type.OID,!1,he.oidToDer(g).getBytes()),he.create(he.Class.UNIVERSAL,he.Type.OCTETSTRING,!1,y)])])])}else if(t.algorithm==="3des"){s=24;var T=new Ue.util.ByteBuffer(n),h=pa.pbe.generatePkcs12Key(a,T,1,i,s),y=pa.pbe.generatePkcs12Key(a,T,2,i,s),b=Ue.des.createEncryptionCipher(h);b.start(y),b.update(he.toDer(e)),b.finish(),o=b.output.getBytes(),u=he.create(he.Class.UNIVERSAL,he.Type.SEQUENCE,!0,[he.create(he.Class.UNIVERSAL,he.Type.OID,!1,he.oidToDer(Ao["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),he.create(he.Class.UNIVERSAL,he.Type.SEQUENCE,!0,[he.create(he.Class.UNIVERSAL,he.Type.OCTETSTRING,!1,n),he.create(he.Class.UNIVERSAL,he.Type.INTEGER,!1,r.getBytes())])])}else{var c=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw c.algorithm=t.algorithm,c}var A=he.create(he.Class.UNIVERSAL,he.Type.SEQUENCE,!0,[u,he.create(he.Class.UNIVERSAL,he.Type.OCTETSTRING,!1,o)]);return A};pa.decryptPrivateKeyInfo=function(e,a){var t=null,n={},i=[];if(!he.validate(e,aSe,n,i)){var r=new Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw r.errors=i,r}var s=he.derToOid(n.encryptionOid),u=pa.pbe.getCipher(s,n.encryptionParams,a),o=Ue.util.createBuffer(n.encryptedData);return u.update(o),u.finish()&&(t=he.fromDer(u.output)),t};pa.encryptedPrivateKeyToPem=function(e,a){var t={type:"ENCRYPTED PRIVATE KEY",body:he.toDer(e).getBytes()};return Ue.pem.encode(t,{maxline:a})};pa.encryptedPrivateKeyFromPem=function(e){var a=Ue.pem.decode(e)[0];if(a.type!=="ENCRYPTED PRIVATE KEY"){var t=new Error('Could not convert encrypted private key from PEM; PEM header type is "ENCRYPTED PRIVATE KEY".');throw t.headerType=a.type,t}if(a.procType&&a.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return he.fromDer(a.body)};pa.encryptRsaPrivateKey=function(e,a,t){if(t=t||{},!t.legacy){var n=pa.wrapRsaPrivateKey(pa.privateKeyToAsn1(e));return n=pa.encryptPrivateKeyInfo(n,a,t),pa.encryptedPrivateKeyToPem(n)}var i,r,s,u;switch(t.algorithm){case"aes128":i="AES-128-CBC",s=16,r=Ue.random.getBytesSync(16),u=Ue.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",s=24,r=Ue.random.getBytesSync(16),u=Ue.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",s=32,r=Ue.random.getBytesSync(16),u=Ue.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",s=24,r=Ue.random.getBytesSync(8),u=Ue.des.createEncryptionCipher;break;case"des":i="DES-CBC",s=8,r=Ue.random.getBytesSync(8),u=Ue.des.createEncryptionCipher;break;default:var o=new Error('Could not encrypt RSA private key; unsupported encryption algorithm "'+t.algorithm+'".');throw o.algorithm=t.algorithm,o}var l=Ue.pbe.opensslDeriveBytes(a,r.substr(0,8),s),g=u(l);g.start(r),g.update(he.toDer(pa.privateKeyToAsn1(e))),g.finish();var d={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:Ue.util.bytesToHex(r).toUpperCase()},body:g.output.getBytes()};return Ue.pem.encode(d)};pa.decryptRsaPrivateKey=function(e,a){var t=null,n=Ue.pem.decode(e)[0];if(n.type!=="ENCRYPTED PRIVATE KEY"&&n.type!=="PRIVATE KEY"&&n.type!=="RSA PRIVATE KEY"){var i=new Error('Could not convert private key from PEM; PEM header type is not "ENCRYPTED PRIVATE KEY", "PRIVATE KEY", or "RSA PRIVATE KEY".');throw i.headerType=i,i}if(n.procType&&n.procType.type==="ENCRYPTED"){var r,s;switch(n.dekInfo.algorithm){case"DES-CBC":r=8,s=Ue.des.createDecryptionCipher;break;case"DES-EDE3-CBC":r=24,s=Ue.des.createDecryptionCipher;break;case"AES-128-CBC":r=16,s=Ue.aes.createDecryptionCipher;break;case"AES-192-CBC":r=24,s=Ue.aes.createDecryptionCipher;break;case"AES-256-CBC":r=32,s=Ue.aes.createDecryptionCipher;break;case"RC2-40-CBC":r=5,s=function(d){return Ue.rc2.createDecryptionCipher(d,40)};break;case"RC2-64-CBC":r=8,s=function(d){return Ue.rc2.createDecryptionCipher(d,64)};break;case"RC2-128-CBC":r=16,s=function(d){return Ue.rc2.createDecryptionCipher(d,128)};break;default:var i=new Error('Could not decrypt private key; unsupported encryption algorithm "'+n.dekInfo.algorithm+'".');throw i.algorithm=n.dekInfo.algorithm,i}var u=Ue.util.hexToBytes(n.dekInfo.parameters),o=Ue.pbe.opensslDeriveBytes(a,u.substr(0,8),r),l=s(o);if(l.start(u),l.update(Ue.util.createBuffer(n.body)),l.finish())t=l.output.getBytes();else return t}else t=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?t=pa.decryptPrivateKeyInfo(he.fromDer(t),a):t=he.fromDer(t),t!==null&&(t=pa.privateKeyFromAsn1(t)),t};pa.pbe.generatePkcs12Key=function(e,a,t,n,i,r){var s,u;if(typeof r>"u"||r===null){if(!("sha1"in Ue.md))throw new Error('"sha1" hash algorithm unavailable.');r=Ue.md.sha1.create()}var o=r.digestLength,l=r.blockLength,g=new Ue.util.ByteBuffer,d=new Ue.util.ByteBuffer;if(e!=null){for(u=0;u<e.length;u++)d.putInt16(e.charCodeAt(u));d.putInt16(0)}var c=d.length(),p=a.length(),f=new Ue.util.ByteBuffer;f.fillWithByte(t,l);var h=l*Math.ceil(p/l),y=new Ue.util.ByteBuffer;for(u=0;u<h;u++)y.putByte(a.at(u%p));var b=l*Math.ceil(c/l),m=new Ue.util.ByteBuffer;for(u=0;u<b;u++)m.putByte(d.at(u%c));var T=y;T.putBuffer(m);for(var A=Math.ceil(i/o),v=1;v<=A;v++){var D=new Ue.util.ByteBuffer;D.putBytes(f.bytes()),D.putBytes(T.bytes());for(var k=0;k<n;k++)r.start(),r.update(D.getBytes()),D=r.digest();var N=new Ue.util.ByteBuffer;for(u=0;u<l;u++)N.putByte(D.at(u%o));var q=Math.ceil(p/l)+Math.ceil(c/l),R=new Ue.util.ByteBuffer;for(s=0;s<q;s++){var z=new Ue.util.ByteBuffer(T.getBytes(l)),W=511;for(u=N.length()-1;u>=0;u--)W=W>>8,W+=N.at(u)+z.at(u),z.setAt(u,W&255);R.putBuffer(z)}T=R,g.putBuffer(D)}return g.truncate(g.length()-i),g};pa.pbe.getCipher=function(e,a,t){switch(e){case pa.oids.pkcs5PBES2:return pa.pbe.getCipherForPBES2(e,a,t);case pa.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case pa.oids["pbewithSHAAnd40BitRC2-CBC"]:return pa.pbe.getCipherForPKCS12PBE(e,a,t);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=e,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};pa.pbe.getCipherForPBES2=function(e,a,t){var n={},i=[];if(!he.validate(a,tSe,n,i)){var r=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw r.errors=i,r}if(e=he.derToOid(n.kdfOid),e!==pa.oids.pkcs5PBKDF2){var r=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw r.oid=e,r.supportedOids=["pkcs5PBKDF2"],r}if(e=he.derToOid(n.encOid),e!==pa.oids["aes128-CBC"]&&e!==pa.oids["aes192-CBC"]&&e!==pa.oids["aes256-CBC"]&&e!==pa.oids["des-EDE3-CBC"]&&e!==pa.oids.desCBC){var r=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw r.oid=e,r.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],r}var s=n.kdfSalt,u=Ue.util.createBuffer(n.kdfIterationCount);u=u.getInt(u.length()<<3);var o,l;switch(pa.oids[e]){case"aes128-CBC":o=16,l=Ue.aes.createDecryptionCipher;break;case"aes192-CBC":o=24,l=Ue.aes.createDecryptionCipher;break;case"aes256-CBC":o=32,l=Ue.aes.createDecryptionCipher;break;case"des-EDE3-CBC":o=24,l=Ue.des.createDecryptionCipher;break;case"desCBC":o=8,l=Ue.des.createDecryptionCipher;break}var g=qF(n.prfOid),d=Ue.pkcs5.pbkdf2(t,s,u,o,g),c=n.encIv,p=l(d);return p.start(c),p};pa.pbe.getCipherForPKCS12PBE=function(e,a,t){var n={},i=[];if(!he.validate(a,nSe,n,i)){var r=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw r.errors=i,r}var s=Ue.util.createBuffer(n.salt),u=Ue.util.createBuffer(n.iterations);u=u.getInt(u.length()<<3);var o,l,g;switch(e){case pa.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:o=24,l=8,g=Ue.des.startDecrypting;break;case pa.oids["pbewithSHAAnd40BitRC2-CBC"]:o=5,l=8,g=function(h,y){var b=Ue.rc2.createDecryptionCipher(h,40);return b.start(y,null),b};break;default:var r=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw r.oid=e,r}var d=qF(n.prfOid),c=pa.pbe.generatePkcs12Key(t,s,1,u,o,d);d.start();var p=pa.pbe.generatePkcs12Key(t,s,2,u,l,d);return g(c,p)};pa.pbe.opensslDeriveBytes=function(e,a,t,n){if(typeof n>"u"||n===null){if(!("md5"in Ue.md))throw new Error('"md5" hash algorithm unavailable.');n=Ue.md.md5.create()}a===null&&(a="");for(var i=[Tw(n,e+a)],r=16,s=1;r<t;++s,r+=16)i.push(Tw(n,i[s-1]+e+a));return i.join("").substr(0,t)};function Tw(e,a){return e.start().update(a).digest().getBytes()}function qF(e){var a;if(!e)a="hmacWithSHA1";else if(a=pa.oids[he.derToOid(e)],!a){var t=new Error("Unsupported PRF OID.");throw t.oid=e,t.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],t}return VF(a)}function VF(e){var a=Ue.md;switch(e){case"hmacWithSHA224":a=Ue.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":e=e.substr(8).toLowerCase();break;default:var t=new Error("Unsupported PRF algorithm.");throw t.algorithm=e,t.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],t}if(!a||!(e in a))throw new Error("Unknown hash algorithm: "+e);return a[e].create()}function iSe(e,a,t,n){var i=he.create(he.Class.UNIVERSAL,he.Type.SEQUENCE,!0,[he.create(he.Class.UNIVERSAL,he.Type.OCTETSTRING,!1,e),he.create(he.Class.UNIVERSAL,he.Type.INTEGER,!1,a.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(he.create(he.Class.UNIVERSAL,he.Type.INTEGER,!1,Ue.util.hexToBytes(t.toString(16))),he.create(he.Class.UNIVERSAL,he.Type.SEQUENCE,!0,[he.create(he.Class.UNIVERSAL,he.Type.OID,!1,he.oidToDer(pa.oids[n]).getBytes()),he.create(he.Class.UNIVERSAL,he.Type.NULL,!1,"")])),i}var Yg=ha,Oe=Yg.asn1,Nd=Yg.pkcs7asn1=Yg.pkcs7asn1||{};Yg.pkcs7=Yg.pkcs7||{};Yg.pkcs7.asn1=Nd;var GF={name:"ContentInfo",tagClass:Oe.Class.UNIVERSAL,type:Oe.Type.SEQUENCE,constructed:!0,value:[{name:"ContentInfo.ContentType",tagClass:Oe.Class.UNIVERSAL,type:Oe.Type.OID,constructed:!1,capture:"contentType"},{name:"ContentInfo.content",tagClass:Oe.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,optional:!0,captureAsn1:"content"}]};Nd.contentInfoValidator=GF;var WF={name:"EncryptedContentInfo",tagClass:Oe.Class.UNIVERSAL,type:Oe.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedContentInfo.contentType",tagClass:Oe.Class.UNIVERSAL,type:Oe.Type.OID,constructed:!1,capture:"contentType"},{name:"EncryptedContentInfo.contentEncryptionAlgorithm",tagClass:Oe.Class.UNIVERSAL,type:Oe.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedContentInfo.contentEncryptionAlgorithm.algorithm",tagClass:Oe.Class.UNIVERSAL,type:Oe.Type.OID,constructed:!1,capture:"encAlgorithm"},{name:"EncryptedContentInfo.contentEncryptionAlgorithm.parameter",tagClass:Oe.Class.UNIVERSAL,captureAsn1:"encParameter"}]},{name:"EncryptedContentInfo.encryptedContent",tagClass:Oe.Class.CONTEXT_SPECIFIC,type:0,capture:"encryptedContent",captureAsn1:"encryptedContentAsn1"}]};Nd.envelopedDataValidator={name:"EnvelopedData",tagClass:Oe.Class.UNIVERSAL,type:Oe.Type.SEQUENCE,constructed:!0,value:[{name:"EnvelopedData.Version",tagClass:Oe.Class.UNIVERSAL,type:Oe.Type.INTEGER,constructed:!1,capture:"version"},{name:"EnvelopedData.RecipientInfos",tagClass:Oe.Class.UNIVERSAL,type:Oe.Type.SET,constructed:!0,captureAsn1:"recipientInfos"}].concat(WF)};Nd.encryptedDataValidator={name:"EncryptedData",tagClass:Oe.Class.UNIVERSAL,type:Oe.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedData.Version",tagClass:Oe.Class.UNIVERSAL,type:Oe.Type.INTEGER,constructed:!1,capture:"version"}].concat(WF)};var rSe={name:"SignerInfo",tagClass:Oe.Class.UNIVERSAL,type:Oe.Type.SEQUENCE,constructed:!0,value:[{name:"SignerInfo.version",tagClass:Oe.Class.UNIVERSAL,type:Oe.Type.INTEGER,constructed:!1},{name:"SignerInfo.issuerAndSerialNumber",tagClass:Oe.Class.UNIVERSAL,type:Oe.Type.SEQUENCE,constructed:!0,value:[{name:"SignerInfo.issuerAndSerialNumber.issuer",tagClass:Oe.Class.UNIVERSAL,type:Oe.Type.SEQUENCE,constructed:!0,captureAsn1:"issuer"},{name:"SignerInfo.issuerAndSerialNumber.serialNumber",tagClass:Oe.Class.UNIVERSAL,type:Oe.Type.INTEGER,constructed:!1,capture:"serial"}]},{name:"SignerInfo.digestAlgorithm",tagClass:Oe.Class.UNIVERSAL,type:Oe.Type.SEQUENCE,constructed:!0,value:[{name:"SignerInfo.digestAlgorithm.algorithm",tagClass:Oe.Class.UNIVERSAL,type:Oe.Type.OID,constructed:!1,capture:"digestAlgorithm"},{name:"SignerInfo.digestAlgorithm.parameter",tagClass:Oe.Class.UNIVERSAL,constructed:!1,captureAsn1:"digestParameter",optional:!0}]},{name:"SignerInfo.authenticatedAttributes",tagClass:Oe.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,optional:!0,capture:"authenticatedAttributes"},{name:"SignerInfo.digestEncryptionAlgorithm",tagClass:Oe.Class.UNIVERSAL,type:Oe.Type.SEQUENCE,constructed:!0,capture:"signatureAlgorithm"},{name:"SignerInfo.encryptedDigest",tagClass:Oe.Class.UNIVERSAL,type:Oe.Type.OCTETSTRING,constructed:!1,capture:"signature"},{name:"SignerInfo.unauthenticatedAttributes",tagClass:Oe.Class.CONTEXT_SPECIFIC,type:1,constructed:!0,optional:!0,capture:"unauthenticatedAttributes"}]};Nd.signedDataValidator={name:"SignedData",tagClass:Oe.Class.UNIVERSAL,type:Oe.Type.SEQUENCE,constructed:!0,value:[{name:"SignedData.Version",tagClass:Oe.Class.UNIVERSAL,type:Oe.Type.INTEGER,constructed:!1,capture:"version"},{name:"SignedData.DigestAlgorithms",tagClass:Oe.Class.UNIVERSAL,type:Oe.Type.SET,constructed:!0,captureAsn1:"digestAlgorithms"},GF,{name:"SignedData.Certificates",tagClass:Oe.Class.CONTEXT_SPECIFIC,type:0,optional:!0,captureAsn1:"certificates"},{name:"SignedData.CertificateRevocationLists",tagClass:Oe.Class.CONTEXT_SPECIFIC,type:1,optional:!0,captureAsn1:"crls"},{name:"SignedData.SignerInfos",tagClass:Oe.Class.UNIVERSAL,type:Oe.Type.SET,capture:"signerInfos",optional:!0,value:[rSe]}]};Nd.recipientInfoValidator={name:"RecipientInfo",tagClass:Oe.Class.UNIVERSAL,type:Oe.Type.SEQUENCE,constructed:!0,value:[{name:"RecipientInfo.version",tagClass:Oe.Class.UNIVERSAL,type:Oe.Type.INTEGER,constructed:!1,capture:"version"},{name:"RecipientInfo.issuerAndSerial",tagClass:Oe.Class.UNIVERSAL,type:Oe.Type.SEQUENCE,constructed:!0,value:[{name:"RecipientInfo.issuerAndSerial.issuer",tagClass:Oe.Class.UNIVERSAL,type:Oe.Type.SEQUENCE,constructed:!0,captureAsn1:"issuer"},{name:"RecipientInfo.issuerAndSerial.serialNumber",tagClass:Oe.Class.UNIVERSAL,type:Oe.Type.INTEGER,constructed:!1,capture:"serial"}]},{name:"RecipientInfo.keyEncryptionAlgorithm",tagClass:Oe.Class.UNIVERSAL,type:Oe.Type.SEQUENCE,constructed:!0,value:[{name:"RecipientInfo.keyEncryptionAlgorithm.algorithm",tagClass:Oe.Class.UNIVERSAL,type:Oe.Type.OID,constructed:!1,capture:"encAlgorithm"},{name:"RecipientInfo.keyEncryptionAlgorithm.parameter",tagClass:Oe.Class.UNIVERSAL,constructed:!1,captureAsn1:"encParameter",optional:!0}]},{name:"RecipientInfo.encryptedKey",tagClass:Oe.Class.UNIVERSAL,type:Oe.Type.OCTETSTRING,constructed:!1,capture:"encKey"}]};var Vo=ha;Vo.mgf=Vo.mgf||{};var sSe=Vo.mgf.mgf1=Vo.mgf1=Vo.mgf1||{};sSe.create=function(e){var a={generate:function(t,n){for(var i=new Vo.util.ByteBuffer,r=Math.ceil(n/e.digestLength),s=0;s<r;s++){var u=new Vo.util.ByteBuffer;u.putInt32(s),e.start(),e.update(t+u.getBytes()),i.putBuffer(e.digest())}return i.truncate(i.length()-n),i.getBytes()}};return a};var Rm=ha;Rm.mgf=Rm.mgf||{};Rm.mgf.mgf1=Rm.mgf1;var Ro=ha,uSe=Ro.pss=Ro.pss||{};uSe.create=function(e){arguments.length===3&&(e={md:arguments[0],mgf:arguments[1],saltLength:arguments[2]});var a=e.md,t=e.mgf,n=a.digestLength,i=e.salt||null;typeof i=="string"&&(i=Ro.util.createBuffer(i));var r;if("saltLength"in e)r=e.saltLength;else if(i!==null)r=i.length();else throw new Error("Salt length not specified or specific salt not given.");if(i!==null&&i.length()!==r)throw new Error("Given salt length does not match length of given salt.");var s=e.prng||Ro.random,u={};return u.encode=function(o,l){var g,d=l-1,c=Math.ceil(d/8),p=o.digest().getBytes();if(c<n+r+2)throw new Error("Message is too long to encrypt.");var f;i===null?f=s.getBytesSync(r):f=i.bytes();var h=new Ro.util.ByteBuffer;h.fillWithByte(0,8),h.putBytes(p),h.putBytes(f),a.start(),a.update(h.getBytes());var y=a.digest().getBytes(),b=new Ro.util.ByteBuffer;b.fillWithByte(0,c-r-n-2),b.putByte(1),b.putBytes(f);var m=b.getBytes(),T=c-n-1,A=t.generate(y,T),v="";for(g=0;g<T;g++)v+=String.fromCharCode(m.charCodeAt(g)^A.charCodeAt(g));var D=65280>>8*c-d&255;return v=String.fromCharCode(v.charCodeAt(0)&~D)+v.substr(1),v+y+"¼"},u.verify=function(o,l,g){var d,c=g-1,p=Math.ceil(c/8);if(l=l.substr(-p),p<n+r+2)throw new Error("Inconsistent parameters to PSS signature verification.");if(l.charCodeAt(p-1)!==188)throw new Error("Encoded message does not end in 0xBC.");var f=p-n-1,h=l.substr(0,f),y=l.substr(f,n),b=65280>>8*p-c&255;if(h.charCodeAt(0)&b)throw new Error("Bits beyond keysize not zero as expected.");var m=t.generate(y,f),T="";for(d=0;d<f;d++)T+=String.fromCharCode(h.charCodeAt(d)^m.charCodeAt(d));T=String.fromCharCode(T.charCodeAt(0)&~b)+T.substr(1);var A=p-n-r-2;for(d=0;d<A;d++)if(T.charCodeAt(d)!==0)throw new Error("Leftmost octets not zero as expected");if(T.charCodeAt(A)!==1)throw new Error("Inconsistent PSS signature, 0x01 marker not found");var v=T.substr(-r),D=new Ro.util.ByteBuffer;D.fillWithByte(0,8),D.putBytes(o),D.putBytes(v),a.start(),a.update(D.getBytes());var k=a.digest().getBytes();return y===k},u};var Xe=ha,B=Xe.asn1,Ie=Xe.pki=Xe.pki||{},Ia=Ie.oids,xt={};xt.CN=Ia.commonName;xt.commonName="CN";xt.C=Ia.countryName;xt.countryName="C";xt.L=Ia.localityName;xt.localityName="L";xt.ST=Ia.stateOrProvinceName;xt.stateOrProvinceName="ST";xt.O=Ia.organizationName;xt.organizationName="O";xt.OU=Ia.organizationalUnitName;xt.organizationalUnitName="OU";xt.E=Ia.emailAddress;xt.emailAddress="E";var YF=Xe.pki.rsa.publicKeyValidator,oSe={name:"Certificate",tagClass:B.Class.UNIVERSAL,type:B.Type.SEQUENCE,constructed:!0,value:[{name:"Certificate.TBSCertificate",tagClass:B.Class.UNIVERSAL,type:B.Type.SEQUENCE,constructed:!0,captureAsn1:"tbsCertificate",value:[{name:"Certificate.TBSCertificate.version",tagClass:B.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,optional:!0,value:[{name:"Certificate.TBSCertificate.version.integer",tagClass:B.Class.UNIVERSAL,type:B.Type.INTEGER,constructed:!1,capture:"certVersion"}]},{name:"Certificate.TBSCertificate.serialNumber",tagClass:B.Class.UNIVERSAL,type:B.Type.INTEGER,constructed:!1,capture:"certSerialNumber"},{name:"Certificate.TBSCertificate.signature",tagClass:B.Class.UNIVERSAL,type:B.Type.SEQUENCE,constructed:!0,value:[{name:"Certificate.TBSCertificate.signature.algorithm",tagClass:B.Class.UNIVERSAL,type:B.Type.OID,constructed:!1,capture:"certinfoSignatureOid"},{name:"Certificate.TBSCertificate.signature.parameters",tagClass:B.Class.UNIVERSAL,optional:!0,captureAsn1:"certinfoSignatureParams"}]},{name:"Certificate.TBSCertificate.issuer",tagClass:B.Class.UNIVERSAL,type:B.Type.SEQUENCE,constructed:!0,captureAsn1:"certIssuer"},{name:"Certificate.TBSCertificate.validity",tagClass:B.Class.UNIVERSAL,type:B.Type.SEQUENCE,constructed:!0,value:[{name:"Certificate.TBSCertificate.validity.notBefore (utc)",tagClass:B.Class.UNIVERSAL,type:B.Type.UTCTIME,constructed:!1,optional:!0,capture:"certValidity1UTCTime"},{name:"Certificate.TBSCertificate.validity.notBefore (generalized)",tagClass:B.Class.UNIVERSAL,type:B.Type.GENERALIZEDTIME,constructed:!1,optional:!0,capture:"certValidity2GeneralizedTime"},{name:"Certificate.TBSCertificate.validity.notAfter (utc)",tagClass:B.Class.UNIVERSAL,type:B.Type.UTCTIME,constructed:!1,optional:!0,capture:"certValidity3UTCTime"},{name:"Certificate.TBSCertificate.validity.notAfter (generalized)",tagClass:B.Class.UNIVERSAL,type:B.Type.GENERALIZEDTIME,constructed:!1,optional:!0,capture:"certValidity4GeneralizedTime"}]},{name:"Certificate.TBSCertificate.subject",tagClass:B.Class.UNIVERSAL,type:B.Type.SEQUENCE,constructed:!0,captureAsn1:"certSubject"},YF,{name:"Certificate.TBSCertificate.issuerUniqueID",tagClass:B.Class.CONTEXT_SPECIFIC,type:1,constructed:!0,optional:!0,value:[{name:"Certificate.TBSCertificate.issuerUniqueID.id",tagClass:B.Class.UNIVERSAL,type:B.Type.BITSTRING,constructed:!1,captureBitStringValue:"certIssuerUniqueId"}]},{name:"Certificate.TBSCertificate.subjectUniqueID",tagClass:B.Class.CONTEXT_SPECIFIC,type:2,constructed:!0,optional:!0,value:[{name:"Certificate.TBSCertificate.subjectUniqueID.id",tagClass:B.Class.UNIVERSAL,type:B.Type.BITSTRING,constructed:!1,captureBitStringValue:"certSubjectUniqueId"}]},{name:"Certificate.TBSCertificate.extensions",tagClass:B.Class.CONTEXT_SPECIFIC,type:3,constructed:!0,captureAsn1:"certExtensions",optional:!0}]},{name:"Certificate.signatureAlgorithm",tagClass:B.Class.UNIVERSAL,type:B.Type.SEQUENCE,constructed:!0,value:[{name:"Certificate.signatureAlgorithm.algorithm",tagClass:B.Class.UNIVERSAL,type:B.Type.OID,constructed:!1,capture:"certSignatureOid"},{name:"Certificate.TBSCertificate.signature.parameters",tagClass:B.Class.UNIVERSAL,optional:!0,captureAsn1:"certSignatureParams"}]},{name:"Certificate.signatureValue",tagClass:B.Class.UNIVERSAL,type:B.Type.BITSTRING,constructed:!1,captureBitStringValue:"certSignature"}]},lSe={name:"rsapss",tagClass:B.Class.UNIVERSAL,type:B.Type.SEQUENCE,constructed:!0,value:[{name:"rsapss.hashAlgorithm",tagClass:B.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,value:[{name:"rsapss.hashAlgorithm.AlgorithmIdentifier",tagClass:B.Class.UNIVERSAL,type:B.Class.SEQUENCE,constructed:!0,optional:!0,value:[{name:"rsapss.hashAlgorithm.AlgorithmIdentifier.algorithm",tagClass:B.Class.UNIVERSAL,type:B.Type.OID,constructed:!1,capture:"hashOid"}]}]},{name:"rsapss.maskGenAlgorithm",tagClass:B.Class.CONTEXT_SPECIFIC,type:1,constructed:!0,value:[{name:"rsapss.maskGenAlgorithm.AlgorithmIdentifier",tagClass:B.Class.UNIVERSAL,type:B.Class.SEQUENCE,constructed:!0,optional:!0,value:[{name:"rsapss.maskGenAlgorithm.AlgorithmIdentifier.algorithm",tagClass:B.Class.UNIVERSAL,type:B.Type.OID,constructed:!1,capture:"maskGenOid"},{name:"rsapss.maskGenAlgorithm.AlgorithmIdentifier.params",tagClass:B.Class.UNIVERSAL,type:B.Type.SEQUENCE,constructed:!0,value:[{name:"rsapss.maskGenAlgorithm.AlgorithmIdentifier.params.algorithm",tagClass:B.Class.UNIVERSAL,type:B.Type.OID,constructed:!1,capture:"maskGenHashOid"}]}]}]},{name:"rsapss.saltLength",tagClass:B.Class.CONTEXT_SPECIFIC,type:2,optional:!0,value:[{name:"rsapss.saltLength.saltLength",tagClass:B.Class.UNIVERSAL,type:B.Class.INTEGER,constructed:!1,capture:"saltLength"}]},{name:"rsapss.trailerField",tagClass:B.Class.CONTEXT_SPECIFIC,type:3,optional:!0,value:[{name:"rsapss.trailer.trailer",tagClass:B.Class.UNIVERSAL,type:B.Class.INTEGER,constructed:!1,capture:"trailer"}]}]},gSe={name:"CertificationRequestInfo",tagClass:B.Class.UNIVERSAL,type:B.Type.SEQUENCE,constructed:!0,captureAsn1:"certificationRequestInfo",value:[{name:"CertificationRequestInfo.integer",tagClass:B.Class.UNIVERSAL,type:B.Type.INTEGER,constructed:!1,capture:"certificationRequestInfoVersion"},{name:"CertificationRequestInfo.subject",tagClass:B.Class.UNIVERSAL,type:B.Type.SEQUENCE,constructed:!0,captureAsn1:"certificationRequestInfoSubject"},YF,{name:"CertificationRequestInfo.attributes",tagClass:B.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,optional:!0,capture:"certificationRequestInfoAttributes",value:[{name:"CertificationRequestInfo.attributes",tagClass:B.Class.UNIVERSAL,type:B.Type.SEQUENCE,constructed:!0,value:[{name:"CertificationRequestInfo.attributes.type",tagClass:B.Class.UNIVERSAL,type:B.Type.OID,constructed:!1},{name:"CertificationRequestInfo.attributes.value",tagClass:B.Class.UNIVERSAL,type:B.Type.SET,constructed:!0}]}]}]},dSe={name:"CertificationRequest",tagClass:B.Class.UNIVERSAL,type:B.Type.SEQUENCE,constructed:!0,captureAsn1:"csr",value:[gSe,{name:"CertificationRequest.signatureAlgorithm",tagClass:B.Class.UNIVERSAL,type:B.Type.SEQUENCE,constructed:!0,value:[{name:"CertificationRequest.signatureAlgorithm.algorithm",tagClass:B.Class.UNIVERSAL,type:B.Type.OID,constructed:!1,capture:"csrSignatureOid"},{name:"CertificationRequest.signatureAlgorithm.parameters",tagClass:B.Class.UNIVERSAL,optional:!0,captureAsn1:"csrSignatureParams"}]},{name:"CertificationRequest.signature",tagClass:B.Class.UNIVERSAL,type:B.Type.BITSTRING,constructed:!1,captureBitStringValue:"csrSignature"}]};Ie.RDNAttributesAsArray=function(e,a){for(var t=[],n,i,r,s=0;s<e.value.length;++s){n=e.value[s];for(var u=0;u<n.value.length;++u)r={},i=n.value[u],r.type=B.derToOid(i.value[0].value),r.value=i.value[1].value,r.valueTagClass=i.value[1].type,r.type in Ia&&(r.name=Ia[r.type],r.name in xt&&(r.shortName=xt[r.name])),a&&(a.update(r.type),a.update(r.value)),t.push(r)}return t};Ie.CRIAttributesAsArray=function(e){for(var a=[],t=0;t<e.length;++t)for(var n=e[t],i=B.derToOid(n.value[0].value),r=n.value[1].value,s=0;s<r.length;++s){var u={};if(u.type=i,u.value=r[s].value,u.valueTagClass=r[s].type,u.type in Ia&&(u.name=Ia[u.type],u.name in xt&&(u.shortName=xt[u.name])),u.type===Ia.extensionRequest){u.extensions=[];for(var o=0;o<u.value.length;++o)u.extensions.push(Ie.certificateExtensionFromAsn1(u.value[o]))}a.push(u)}return a};function eo(e,a){typeof a=="string"&&(a={shortName:a});for(var t=null,n,i=0;t===null&&i<e.attributes.length;++i)n=e.attributes[i],(a.type&&a.type===n.type||a.name&&a.name===n.name||a.shortName&&a.shortName===n.shortName)&&(t=n);return t}var Pm=function(e,a,t){var n={};if(e!==Ia["RSASSA-PSS"])return n;t&&(n={hash:{algorithmOid:Ia.sha1},mgf:{algorithmOid:Ia.mgf1,hash:{algorithmOid:Ia.sha1}},saltLength:20});var i={},r=[];if(!B.validate(a,lSe,i,r)){var s=new Error("Cannot read RSASSA-PSS parameter block.");throw s.errors=r,s}return i.hashOid!==void 0&&(n.hash=n.hash||{},n.hash.algorithmOid=B.derToOid(i.hashOid)),i.maskGenOid!==void 0&&(n.mgf=n.mgf||{},n.mgf.algorithmOid=B.derToOid(i.maskGenOid),n.mgf.hash=n.mgf.hash||{},n.mgf.hash.algorithmOid=B.derToOid(i.maskGenHashOid)),i.saltLength!==void 0&&(n.saltLength=i.saltLength.charCodeAt(0)),n},_9=function(e){switch(Ia[e.signatureOid]){case"sha1WithRSAEncryption":case"sha1WithRSASignature":return Xe.md.sha1.create();case"md5WithRSAEncryption":return Xe.md.md5.create();case"sha256WithRSAEncryption":return Xe.md.sha256.create();case"sha384WithRSAEncryption":return Xe.md.sha384.create();case"sha512WithRSAEncryption":return Xe.md.sha512.create();case"RSASSA-PSS":return Xe.md.sha256.create();default:var a=new Error("Could not compute "+e.type+" digest. Unknown signature OID.");throw a.signatureOid=e.signatureOid,a}},XF=function(e){var a=e.certificate,t;switch(a.signatureOid){case Ia.sha1WithRSAEncryption:case Ia.sha1WithRSASignature:break;case Ia["RSASSA-PSS"]:var n,i;if(n=Ia[a.signatureParameters.mgf.hash.algorithmOid],n===void 0||Xe.md[n]===void 0){var r=new Error("Unsupported MGF hash function.");throw r.oid=a.signatureParameters.mgf.hash.algorithmOid,r.name=n,r}if(i=Ia[a.signatureParameters.mgf.algorithmOid],i===void 0||Xe.mgf[i]===void 0){var r=new Error("Unsupported MGF function.");throw r.oid=a.signatureParameters.mgf.algorithmOid,r.name=i,r}if(i=Xe.mgf[i].create(Xe.md[n].create()),n=Ia[a.signatureParameters.hash.algorithmOid],n===void 0||Xe.md[n]===void 0){var r=new Error("Unsupported RSASSA-PSS hash function.");throw r.oid=a.signatureParameters.hash.algorithmOid,r.name=n,r}t=Xe.pss.create(Xe.md[n].create(),i,a.signatureParameters.saltLength);break}return a.publicKey.verify(e.md.digest().getBytes(),e.signature,t)};Ie.certificateFromPem=function(e,a,t){var n=Xe.pem.decode(e)[0];if(n.type!=="CERTIFICATE"&&n.type!=="X509 CERTIFICATE"&&n.type!=="TRUSTED CERTIFICATE"){var i=new Error('Could not convert certificate from PEM; PEM header type is not "CERTIFICATE", "X509 CERTIFICATE", or "TRUSTED CERTIFICATE".');throw i.headerType=n.type,i}if(n.procType&&n.procType.type==="ENCRYPTED")throw new Error("Could not convert certificate from PEM; PEM is encrypted.");var r=B.fromDer(n.body,t);return Ie.certificateFromAsn1(r,a)};Ie.certificateToPem=function(e,a){var t={type:"CERTIFICATE",body:B.toDer(Ie.certificateToAsn1(e)).getBytes()};return Xe.pem.encode(t,{maxline:a})};Ie.publicKeyFromPem=function(e){var a=Xe.pem.decode(e)[0];if(a.type!=="PUBLIC KEY"&&a.type!=="RSA PUBLIC KEY"){var t=new Error('Could not convert public key from PEM; PEM header type is not "PUBLIC KEY" or "RSA PUBLIC KEY".');throw t.headerType=a.type,t}if(a.procType&&a.procType.type==="ENCRYPTED")throw new Error("Could not convert public key from PEM; PEM is encrypted.");var n=B.fromDer(a.body);return Ie.publicKeyFromAsn1(n)};Ie.publicKeyToPem=function(e,a){var t={type:"PUBLIC KEY",body:B.toDer(Ie.publicKeyToAsn1(e)).getBytes()};return Xe.pem.encode(t,{maxline:a})};Ie.publicKeyToRSAPublicKeyPem=function(e,a){var t={type:"RSA PUBLIC KEY",body:B.toDer(Ie.publicKeyToRSAPublicKey(e)).getBytes()};return Xe.pem.encode(t,{maxline:a})};Ie.getPublicKeyFingerprint=function(e,a){a=a||{};var t=a.md||Xe.md.sha1.create(),n=a.type||"RSAPublicKey",i;switch(n){case"RSAPublicKey":i=B.toDer(Ie.publicKeyToRSAPublicKey(e)).getBytes();break;case"SubjectPublicKeyInfo":i=B.toDer(Ie.publicKeyToAsn1(e)).getBytes();break;default:throw new Error('Unknown fingerprint type "'+a.type+'".')}t.start(),t.update(i);var r=t.digest();if(a.encoding==="hex"){var s=r.toHex();return a.delimiter?s.match(/.{2}/g).join(a.delimiter):s}else{if(a.encoding==="binary")return r.getBytes();if(a.encoding)throw new Error('Unknown encoding "'+a.encoding+'".')}return r};Ie.certificationRequestFromPem=function(e,a,t){var n=Xe.pem.decode(e)[0];if(n.type!=="CERTIFICATE REQUEST"){var i=new Error('Could not convert certification request from PEM; PEM header type is not "CERTIFICATE REQUEST".');throw i.headerType=n.type,i}if(n.procType&&n.procType.type==="ENCRYPTED")throw new Error("Could not convert certification request from PEM; PEM is encrypted.");var r=B.fromDer(n.body,t);return Ie.certificationRequestFromAsn1(r,a)};Ie.certificationRequestToPem=function(e,a){var t={type:"CERTIFICATE REQUEST",body:B.toDer(Ie.certificationRequestToAsn1(e)).getBytes()};return Xe.pem.encode(t,{maxline:a})};Ie.createCertificate=function(){var e={};return e.version=2,e.serialNumber="00",e.signatureOid=null,e.signature=null,e.siginfo={},e.siginfo.algorithmOid=null,e.validity={},e.validity.notBefore=new Date,e.validity.notAfter=new Date,e.issuer={},e.issuer.getField=function(a){return eo(e.issuer,a)},e.issuer.addField=function(a){Ji([a]),e.issuer.attributes.push(a)},e.issuer.attributes=[],e.issuer.hash=null,e.subject={},e.subject.getField=function(a){return eo(e.subject,a)},e.subject.addField=function(a){Ji([a]),e.subject.attributes.push(a)},e.subject.attributes=[],e.subject.hash=null,e.extensions=[],e.publicKey=null,e.md=null,e.setSubject=function(a,t){Ji(a),e.subject.attributes=a,delete e.subject.uniqueId,t&&(e.subject.uniqueId=t),e.subject.hash=null},e.setIssuer=function(a,t){Ji(a),e.issuer.attributes=a,delete e.issuer.uniqueId,t&&(e.issuer.uniqueId=t),e.issuer.hash=null},e.setExtensions=function(a){for(var t=0;t<a.length;++t)QF(a[t],{cert:e});e.extensions=a},e.getExtension=function(a){typeof a=="string"&&(a={name:a});for(var t=null,n,i=0;t===null&&i<e.extensions.length;++i)n=e.extensions[i],(a.id&&n.id===a.id||a.name&&n.name===a.name)&&(t=n);return t},e.sign=function(a,t){e.md=t||Xe.md.sha1.create();var n=Ia[e.md.algorithm+"WithRSAEncryption"];if(!n){var i=new Error("Could not compute certificate digest. Unknown message digest algorithm OID.");throw i.algorithm=e.md.algorithm,i}e.signatureOid=e.siginfo.algorithmOid=n,e.tbsCertificate=Ie.getTBSCertificate(e);var r=B.toDer(e.tbsCertificate);e.md.update(r.getBytes()),e.signature=a.sign(e.md)},e.verify=function(a){var t=!1;if(!e.issued(a)){var n=a.issuer,i=e.subject,r=new Error("The parent certificate did not issue the given child certificate; the child certificate's issuer does not match the parent's subject.");throw r.expectedIssuer=i.attributes,r.actualIssuer=n.attributes,r}var s=a.md;if(s===null){s=_9({signatureOid:a.signatureOid,type:"certificate"});var u=a.tbsCertificate||Ie.getTBSCertificate(a),o=B.toDer(u);s.update(o.getBytes())}return s!==null&&(t=XF({certificate:e,md:s,signature:a.signature})),t},e.isIssuer=function(a){var t=!1,n=e.issuer,i=a.subject;if(n.hash&&i.hash)t=n.hash===i.hash;else if(n.attributes.length===i.attributes.length){t=!0;for(var r,s,u=0;t&&u<n.attributes.length;++u)r=n.attributes[u],s=i.attributes[u],(r.type!==s.type||r.value!==s.value)&&(t=!1)}return t},e.issued=function(a){return a.isIssuer(e)},e.generateSubjectKeyIdentifier=function(){return Ie.getPublicKeyFingerprint(e.publicKey,{type:"RSAPublicKey"})},e.verifySubjectKeyIdentifier=function(){for(var a=Ia.subjectKeyIdentifier,t=0;t<e.extensions.length;++t){var n=e.extensions[t];if(n.id===a){var i=e.generateSubjectKeyIdentifier().getBytes();return Xe.util.hexToBytes(n.subjectKeyIdentifier)===i}}return!1},e};Ie.certificateFromAsn1=function(e,a){var t={},n=[];if(!B.validate(e,oSe,t,n)){var i=new Error("Cannot read X.509 certificate. ASN.1 object is not an X509v3 Certificate.");throw i.errors=n,i}var r=B.derToOid(t.publicKeyOid);if(r!==Ie.oids.rsaEncryption)throw new Error("Cannot read public key. OID is not RSA.");var s=Ie.createCertificate();s.version=t.certVersion?t.certVersion.charCodeAt(0):0;var u=Xe.util.createBuffer(t.certSerialNumber);s.serialNumber=u.toHex(),s.signatureOid=Xe.asn1.derToOid(t.certSignatureOid),s.signatureParameters=Pm(s.signatureOid,t.certSignatureParams,!0),s.siginfo.algorithmOid=Xe.asn1.derToOid(t.certinfoSignatureOid),s.siginfo.parameters=Pm(s.siginfo.algorithmOid,t.certinfoSignatureParams,!1),s.signature=t.certSignature;var o=[];if(t.certValidity1UTCTime!==void 0&&o.push(B.utcTimeToDate(t.certValidity1UTCTime)),t.certValidity2GeneralizedTime!==void 0&&o.push(B.generalizedTimeToDate(t.certValidity2GeneralizedTime)),t.certValidity3UTCTime!==void 0&&o.push(B.utcTimeToDate(t.certValidity3UTCTime)),t.certValidity4GeneralizedTime!==void 0&&o.push(B.generalizedTimeToDate(t.certValidity4GeneralizedTime)),o.length>2)throw new Error("Cannot read notBefore/notAfter validity times; more than two times were provided in the certificate.");if(o.length<2)throw new Error("Cannot read notBefore/notAfter validity times; they were not provided as either UTCTime or GeneralizedTime.");if(s.validity.notBefore=o[0],s.validity.notAfter=o[1],s.tbsCertificate=t.tbsCertificate,a){s.md=_9({signatureOid:s.signatureOid,type:"certificate"});var l=B.toDer(s.tbsCertificate);s.md.update(l.getBytes())}var g=Xe.md.sha1.create(),d=B.toDer(t.certIssuer);g.update(d.getBytes()),s.issuer.getField=function(f){return eo(s.issuer,f)},s.issuer.addField=function(f){Ji([f]),s.issuer.attributes.push(f)},s.issuer.attributes=Ie.RDNAttributesAsArray(t.certIssuer),t.certIssuerUniqueId&&(s.issuer.uniqueId=t.certIssuerUniqueId),s.issuer.hash=g.digest().toHex();var c=Xe.md.sha1.create(),p=B.toDer(t.certSubject);return c.update(p.getBytes()),s.subject.getField=function(f){return eo(s.subject,f)},s.subject.addField=function(f){Ji([f]),s.subject.attributes.push(f)},s.subject.attributes=Ie.RDNAttributesAsArray(t.certSubject),t.certSubjectUniqueId&&(s.subject.uniqueId=t.certSubjectUniqueId),s.subject.hash=c.digest().toHex(),t.certExtensions?s.extensions=Ie.certificateExtensionsFromAsn1(t.certExtensions):s.extensions=[],s.publicKey=Ie.publicKeyFromAsn1(t.subjectPublicKeyInfo),s};Ie.certificateExtensionsFromAsn1=function(e){for(var a=[],t=0;t<e.value.length;++t)for(var n=e.value[t],i=0;i<n.value.length;++i)a.push(Ie.certificateExtensionFromAsn1(n.value[i]));return a};Ie.certificateExtensionFromAsn1=function(e){var a={};if(a.id=B.derToOid(e.value[0].value),a.critical=!1,e.value[1].type===B.Type.BOOLEAN?(a.critical=e.value[1].value.charCodeAt(0)!==0,a.value=e.value[2].value):a.value=e.value[1].value,a.id in Ia){if(a.name=Ia[a.id],a.name==="keyUsage"){var t=B.fromDer(a.value),n=0,i=0;t.value.length>1&&(n=t.value.charCodeAt(1),i=t.value.length>2?t.value.charCodeAt(2):0),a.digitalSignature=(n&128)===128,a.nonRepudiation=(n&64)===64,a.keyEncipherment=(n&32)===32,a.dataEncipherment=(n&16)===16,a.keyAgreement=(n&8)===8,a.keyCertSign=(n&4)===4,a.cRLSign=(n&2)===2,a.encipherOnly=(n&1)===1,a.decipherOnly=(i&128)===128}else if(a.name==="basicConstraints"){var t=B.fromDer(a.value);t.value.length>0&&t.value[0].type===B.Type.BOOLEAN?a.cA=t.value[0].value.charCodeAt(0)!==0:a.cA=!1;var r=null;t.value.length>0&&t.value[0].type===B.Type.INTEGER?r=t.value[0].value:t.value.length>1&&(r=t.value[1].value),r!==null&&(a.pathLenConstraint=B.derToInteger(r))}else if(a.name==="extKeyUsage")for(var t=B.fromDer(a.value),s=0;s<t.value.length;++s){var u=B.derToOid(t.value[s].value);u in Ia?a[Ia[u]]=!0:a[u]=!0}else if(a.name==="nsCertType"){var t=B.fromDer(a.value),n=0;t.value.length>1&&(n=t.value.charCodeAt(1)),a.client=(n&128)===128,a.server=(n&64)===64,a.email=(n&32)===32,a.objsign=(n&16)===16,a.reserved=(n&8)===8,a.sslCA=(n&4)===4,a.emailCA=(n&2)===2,a.objCA=(n&1)===1}else if(a.name==="subjectAltName"||a.name==="issuerAltName"){a.altNames=[];for(var o,t=B.fromDer(a.value),l=0;l<t.value.length;++l){o=t.value[l];var g={type:o.type,value:o.value};switch(a.altNames.push(g),o.type){case 1:case 2:case 6:break;case 7:g.ip=Xe.util.bytesToIP(o.value);break;case 8:g.oid=B.derToOid(o.value);break}}}else if(a.name==="subjectKeyIdentifier"){var t=B.fromDer(a.value);a.subjectKeyIdentifier=Xe.util.bytesToHex(t.value)}}return a};Ie.certificationRequestFromAsn1=function(e,a){var t={},n=[];if(!B.validate(e,dSe,t,n)){var i=new Error("Cannot read PKCS#10 certificate request. ASN.1 object is not a PKCS#10 CertificationRequest.");throw i.errors=n,i}var r=B.derToOid(t.publicKeyOid);if(r!==Ie.oids.rsaEncryption)throw new Error("Cannot read public key. OID is not RSA.");var s=Ie.createCertificationRequest();if(s.version=t.csrVersion?t.csrVersion.charCodeAt(0):0,s.signatureOid=Xe.asn1.derToOid(t.csrSignatureOid),s.signatureParameters=Pm(s.signatureOid,t.csrSignatureParams,!0),s.siginfo.algorithmOid=Xe.asn1.derToOid(t.csrSignatureOid),s.siginfo.parameters=Pm(s.siginfo.algorithmOid,t.csrSignatureParams,!1),s.signature=t.csrSignature,s.certificationRequestInfo=t.certificationRequestInfo,a){s.md=_9({signatureOid:s.signatureOid,type:"certification request"});var u=B.toDer(s.certificationRequestInfo);s.md.update(u.getBytes())}var o=Xe.md.sha1.create();return s.subject.getField=function(l){return eo(s.subject,l)},s.subject.addField=function(l){Ji([l]),s.subject.attributes.push(l)},s.subject.attributes=Ie.RDNAttributesAsArray(t.certificationRequestInfoSubject,o),s.subject.hash=o.digest().toHex(),s.publicKey=Ie.publicKeyFromAsn1(t.subjectPublicKeyInfo),s.getAttribute=function(l){return eo(s,l)},s.addAttribute=function(l){Ji([l]),s.attributes.push(l)},s.attributes=Ie.CRIAttributesAsArray(t.certificationRequestInfoAttributes||[]),s};Ie.createCertificationRequest=function(){var e={};return e.version=0,e.signatureOid=null,e.signature=null,e.siginfo={},e.siginfo.algorithmOid=null,e.subject={},e.subject.getField=function(a){return eo(e.subject,a)},e.subject.addField=function(a){Ji([a]),e.subject.attributes.push(a)},e.subject.attributes=[],e.subject.hash=null,e.publicKey=null,e.attributes=[],e.getAttribute=function(a){return eo(e,a)},e.addAttribute=function(a){Ji([a]),e.attributes.push(a)},e.md=null,e.setSubject=function(a){Ji(a),e.subject.attributes=a,e.subject.hash=null},e.setAttributes=function(a){Ji(a),e.attributes=a},e.sign=function(a,t){e.md=t||Xe.md.sha1.create();var n=Ia[e.md.algorithm+"WithRSAEncryption"];if(!n){var i=new Error("Could not compute certification request digest. Unknown message digest algorithm OID.");throw i.algorithm=e.md.algorithm,i}e.signatureOid=e.siginfo.algorithmOid=n,e.certificationRequestInfo=Ie.getCertificationRequestInfo(e);var r=B.toDer(e.certificationRequestInfo);e.md.update(r.getBytes()),e.signature=a.sign(e.md)},e.verify=function(){var a=!1,t=e.md;if(t===null){t=_9({signatureOid:e.signatureOid,type:"certification request"});var n=e.certificationRequestInfo||Ie.getCertificationRequestInfo(e),i=B.toDer(n);t.update(i.getBytes())}return t!==null&&(a=XF({certificate:e,md:t,signature:e.signature})),a},e};function Xg(e){for(var a=B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[]),t,n,i=e.attributes,r=0;r<i.length;++r){t=i[r];var s=t.value,u=B.Type.PRINTABLESTRING;"valueTagClass"in t&&(u=t.valueTagClass,u===B.Type.UTF8&&(s=Xe.util.encodeUtf8(s))),n=B.create(B.Class.UNIVERSAL,B.Type.SET,!0,[B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[B.create(B.Class.UNIVERSAL,B.Type.OID,!1,B.oidToDer(t.type).getBytes()),B.create(B.Class.UNIVERSAL,u,!1,s)])]),a.value.push(n)}return a}function Ji(e){for(var a,t=0;t<e.length;++t){if(a=e[t],typeof a.name>"u"&&(a.type&&a.type in Ie.oids?a.name=Ie.oids[a.type]:a.shortName&&a.shortName in xt&&(a.name=Ie.oids[xt[a.shortName]])),typeof a.type>"u")if(a.name&&a.name in Ie.oids)a.type=Ie.oids[a.name];else{var n=new Error("Attribute type not specified.");throw n.attribute=a,n}if(typeof a.shortName>"u"&&a.name&&a.name in xt&&(a.shortName=xt[a.name]),a.type===Ia.extensionRequest&&(a.valueConstructed=!0,a.valueTagClass=B.Type.SEQUENCE,!a.value&&a.extensions)){a.value=[];for(var i=0;i<a.extensions.length;++i)a.value.push(Ie.certificateExtensionToAsn1(QF(a.extensions[i])))}if(typeof a.value>"u"){var n=new Error("Attribute value not specified.");throw n.attribute=a,n}}}function QF(e,a){if(a=a||{},typeof e.name>"u"&&e.id&&e.id in Ie.oids&&(e.name=Ie.oids[e.id]),typeof e.id>"u")if(e.name&&e.name in Ie.oids)e.id=Ie.oids[e.name];else{var t=new Error("Extension ID not specified.");throw t.extension=e,t}if(typeof e.value<"u")return e;if(e.name==="keyUsage"){var n=0,i=0,r=0;e.digitalSignature&&(i|=128,n=7),e.nonRepudiation&&(i|=64,n=6),e.keyEncipherment&&(i|=32,n=5),e.dataEncipherment&&(i|=16,n=4),e.keyAgreement&&(i|=8,n=3),e.keyCertSign&&(i|=4,n=2),e.cRLSign&&(i|=2,n=1),e.encipherOnly&&(i|=1,n=0),e.decipherOnly&&(r|=128,n=7);var s=String.fromCharCode(n);r!==0?s+=String.fromCharCode(i)+String.fromCharCode(r):i!==0&&(s+=String.fromCharCode(i)),e.value=B.create(B.Class.UNIVERSAL,B.Type.BITSTRING,!1,s)}else if(e.name==="basicConstraints")e.value=B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[]),e.cA&&e.value.value.push(B.create(B.Class.UNIVERSAL,B.Type.BOOLEAN,!1,"ÿ")),"pathLenConstraint"in e&&e.value.value.push(B.create(B.Class.UNIVERSAL,B.Type.INTEGER,!1,B.integerToDer(e.pathLenConstraint).getBytes()));else if(e.name==="extKeyUsage"){e.value=B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[]);var u=e.value.value;for(var o in e)e[o]===!0&&(o in Ia?u.push(B.create(B.Class.UNIVERSAL,B.Type.OID,!1,B.oidToDer(Ia[o]).getBytes())):o.indexOf(".")!==-1&&u.push(B.create(B.Class.UNIVERSAL,B.Type.OID,!1,B.oidToDer(o).getBytes())))}else if(e.name==="nsCertType"){var n=0,i=0;e.client&&(i|=128,n=7),e.server&&(i|=64,n=6),e.email&&(i|=32,n=5),e.objsign&&(i|=16,n=4),e.reserved&&(i|=8,n=3),e.sslCA&&(i|=4,n=2),e.emailCA&&(i|=2,n=1),e.objCA&&(i|=1,n=0);var s=String.fromCharCode(n);i!==0&&(s+=String.fromCharCode(i)),e.value=B.create(B.Class.UNIVERSAL,B.Type.BITSTRING,!1,s)}else if(e.name==="subjectAltName"||e.name==="issuerAltName"){e.value=B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[]);for(var l,g=0;g<e.altNames.length;++g){l=e.altNames[g];var s=l.value;if(l.type===7&&l.ip){if(s=Xe.util.bytesFromIP(l.ip),s===null){var t=new Error('Extension "ip" value is not a valid IPv4 or IPv6 address.');throw t.extension=e,t}}else l.type===8&&(l.oid?s=B.oidToDer(B.oidToDer(l.oid)):s=B.oidToDer(s));e.value.value.push(B.create(B.Class.CONTEXT_SPECIFIC,l.type,!1,s))}}else if(e.name==="nsComment"&&a.cert){if(!/^[\x00-\x7F]*$/.test(e.comment)||e.comment.length<1||e.comment.length>128)throw new Error('Invalid "nsComment" content.');e.value=B.create(B.Class.UNIVERSAL,B.Type.IA5STRING,!1,e.comment)}else if(e.name==="subjectKeyIdentifier"&&a.cert){var d=a.cert.generateSubjectKeyIdentifier();e.subjectKeyIdentifier=d.toHex(),e.value=B.create(B.Class.UNIVERSAL,B.Type.OCTETSTRING,!1,d.getBytes())}else if(e.name==="authorityKeyIdentifier"&&a.cert){e.value=B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[]);var u=e.value.value;if(e.keyIdentifier){var c=e.keyIdentifier===!0?a.cert.generateSubjectKeyIdentifier().getBytes():e.keyIdentifier;u.push(B.create(B.Class.CONTEXT_SPECIFIC,0,!1,c))}if(e.authorityCertIssuer){var p=[B.create(B.Class.CONTEXT_SPECIFIC,4,!0,[Xg(e.authorityCertIssuer===!0?a.cert.issuer:e.authorityCertIssuer)])];u.push(B.create(B.Class.CONTEXT_SPECIFIC,1,!0,p))}if(e.serialNumber){var f=Xe.util.hexToBytes(e.serialNumber===!0?a.cert.serialNumber:e.serialNumber);u.push(B.create(B.Class.CONTEXT_SPECIFIC,2,!1,f))}}else if(e.name==="cRLDistributionPoints"){e.value=B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[]);for(var u=e.value.value,h=B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[]),y=B.create(B.Class.CONTEXT_SPECIFIC,0,!0,[]),l,g=0;g<e.altNames.length;++g){l=e.altNames[g];var s=l.value;if(l.type===7&&l.ip){if(s=Xe.util.bytesFromIP(l.ip),s===null){var t=new Error('Extension "ip" value is not a valid IPv4 or IPv6 address.');throw t.extension=e,t}}else l.type===8&&(l.oid?s=B.oidToDer(B.oidToDer(l.oid)):s=B.oidToDer(s));y.value.push(B.create(B.Class.CONTEXT_SPECIFIC,l.type,!1,s))}h.value.push(B.create(B.Class.CONTEXT_SPECIFIC,0,!0,[y])),u.push(h)}if(typeof e.value>"u"){var t=new Error("Extension value not specified.");throw t.extension=e,t}return e}function FD(e,a){switch(e){case Ia["RSASSA-PSS"]:var t=[];return a.hash.algorithmOid!==void 0&&t.push(B.create(B.Class.CONTEXT_SPECIFIC,0,!0,[B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[B.create(B.Class.UNIVERSAL,B.Type.OID,!1,B.oidToDer(a.hash.algorithmOid).getBytes()),B.create(B.Class.UNIVERSAL,B.Type.NULL,!1,"")])])),a.mgf.algorithmOid!==void 0&&t.push(B.create(B.Class.CONTEXT_SPECIFIC,1,!0,[B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[B.create(B.Class.UNIVERSAL,B.Type.OID,!1,B.oidToDer(a.mgf.algorithmOid).getBytes()),B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[B.create(B.Class.UNIVERSAL,B.Type.OID,!1,B.oidToDer(a.mgf.hash.algorithmOid).getBytes()),B.create(B.Class.UNIVERSAL,B.Type.NULL,!1,"")])])])),a.saltLength!==void 0&&t.push(B.create(B.Class.CONTEXT_SPECIFIC,2,!0,[B.create(B.Class.UNIVERSAL,B.Type.INTEGER,!1,B.integerToDer(a.saltLength).getBytes())])),B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,t);default:return B.create(B.Class.UNIVERSAL,B.Type.NULL,!1,"")}}function cSe(e){var a=B.create(B.Class.CONTEXT_SPECIFIC,0,!0,[]);if(e.attributes.length===0)return a;for(var t=e.attributes,n=0;n<t.length;++n){var i=t[n],r=i.value,s=B.Type.UTF8;"valueTagClass"in i&&(s=i.valueTagClass),s===B.Type.UTF8&&(r=Xe.util.encodeUtf8(r));var u=!1;"valueConstructed"in i&&(u=i.valueConstructed);var o=B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[B.create(B.Class.UNIVERSAL,B.Type.OID,!1,B.oidToDer(i.type).getBytes()),B.create(B.Class.UNIVERSAL,B.Type.SET,!0,[B.create(B.Class.UNIVERSAL,s,u,r)])]);a.value.push(o)}return a}var pSe=new Date("1950-01-01T00:00:00Z"),fSe=new Date("2050-01-01T00:00:00Z");function Sw(e){return e>=pSe&&e<fSe?B.create(B.Class.UNIVERSAL,B.Type.UTCTIME,!1,B.dateToUtcTime(e)):B.create(B.Class.UNIVERSAL,B.Type.GENERALIZEDTIME,!1,B.dateToGeneralizedTime(e))}Ie.getTBSCertificate=function(e){var a=Sw(e.validity.notBefore),t=Sw(e.validity.notAfter),n=B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[B.create(B.Class.CONTEXT_SPECIFIC,0,!0,[B.create(B.Class.UNIVERSAL,B.Type.INTEGER,!1,B.integerToDer(e.version).getBytes())]),B.create(B.Class.UNIVERSAL,B.Type.INTEGER,!1,Xe.util.hexToBytes(e.serialNumber)),B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[B.create(B.Class.UNIVERSAL,B.Type.OID,!1,B.oidToDer(e.siginfo.algorithmOid).getBytes()),FD(e.siginfo.algorithmOid,e.siginfo.parameters)]),Xg(e.issuer),B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[a,t]),Xg(e.subject),Ie.publicKeyToAsn1(e.publicKey)]);return e.issuer.uniqueId&&n.value.push(B.create(B.Class.CONTEXT_SPECIFIC,1,!0,[B.create(B.Class.UNIVERSAL,B.Type.BITSTRING,!1,"\0"+e.issuer.uniqueId)])),e.subject.uniqueId&&n.value.push(B.create(B.Class.CONTEXT_SPECIFIC,2,!0,[B.create(B.Class.UNIVERSAL,B.Type.BITSTRING,!1,"\0"+e.subject.uniqueId)])),e.extensions.length>0&&n.value.push(Ie.certificateExtensionsToAsn1(e.extensions)),n};Ie.getCertificationRequestInfo=function(e){var a=B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[B.create(B.Class.UNIVERSAL,B.Type.INTEGER,!1,B.integerToDer(e.version).getBytes()),Xg(e.subject),Ie.publicKeyToAsn1(e.publicKey),cSe(e)]);return a};Ie.distinguishedNameToAsn1=function(e){return Xg(e)};Ie.certificateToAsn1=function(e){var a=e.tbsCertificate||Ie.getTBSCertificate(e);return B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[a,B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[B.create(B.Class.UNIVERSAL,B.Type.OID,!1,B.oidToDer(e.signatureOid).getBytes()),FD(e.signatureOid,e.signatureParameters)]),B.create(B.Class.UNIVERSAL,B.Type.BITSTRING,!1,"\0"+e.signature)])};Ie.certificateExtensionsToAsn1=function(e){var a=B.create(B.Class.CONTEXT_SPECIFIC,3,!0,[]),t=B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[]);a.value.push(t);for(var n=0;n<e.length;++n)t.value.push(Ie.certificateExtensionToAsn1(e[n]));return a};Ie.certificateExtensionToAsn1=function(e){var a=B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[]);a.value.push(B.create(B.Class.UNIVERSAL,B.Type.OID,!1,B.oidToDer(e.id).getBytes())),e.critical&&a.value.push(B.create(B.Class.UNIVERSAL,B.Type.BOOLEAN,!1,"ÿ"));var t=e.value;return typeof e.value!="string"&&(t=B.toDer(t).getBytes()),a.value.push(B.create(B.Class.UNIVERSAL,B.Type.OCTETSTRING,!1,t)),a};Ie.certificationRequestToAsn1=function(e){var a=e.certificationRequestInfo||Ie.getCertificationRequestInfo(e);return B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[a,B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[B.create(B.Class.UNIVERSAL,B.Type.OID,!1,B.oidToDer(e.signatureOid).getBytes()),FD(e.signatureOid,e.signatureParameters)]),B.create(B.Class.UNIVERSAL,B.Type.BITSTRING,!1,"\0"+e.signature)])};Ie.createCaStore=function(e){var a={certs:{}};a.getIssuer=function(s){var u=t(s.issuer);return u},a.addCertificate=function(s){if(typeof s=="string"&&(s=Xe.pki.certificateFromPem(s)),n(s.subject),!a.hasCertificate(s))if(s.subject.hash in a.certs){var u=a.certs[s.subject.hash];Xe.util.isArray(u)||(u=[u]),u.push(s),a.certs[s.subject.hash]=u}else a.certs[s.subject.hash]=s},a.hasCertificate=function(s){typeof s=="string"&&(s=Xe.pki.certificateFromPem(s));var u=t(s.subject);if(!u)return!1;Xe.util.isArray(u)||(u=[u]);for(var o=B.toDer(Ie.certificateToAsn1(s)).getBytes(),l=0;l<u.length;++l){var g=B.toDer(Ie.certificateToAsn1(u[l])).getBytes();if(o===g)return!0}return!1},a.listAllCertificates=function(){var s=[];for(var u in a.certs)if(a.certs.hasOwnProperty(u)){var o=a.certs[u];if(!Xe.util.isArray(o))s.push(o);else for(var l=0;l<o.length;++l)s.push(o[l])}return s},a.removeCertificate=function(s){var u;if(typeof s=="string"&&(s=Xe.pki.certificateFromPem(s)),n(s.subject),!a.hasCertificate(s))return null;var o=t(s.subject);if(!Xe.util.isArray(o))return u=a.certs[s.subject.hash],delete a.certs[s.subject.hash],u;for(var l=B.toDer(Ie.certificateToAsn1(s)).getBytes(),g=0;g<o.length;++g){var d=B.toDer(Ie.certificateToAsn1(o[g])).getBytes();l===d&&(u=o[g],o.splice(g,1))}return o.length===0&&delete a.certs[s.subject.hash],u};function t(s){return n(s),a.certs[s.hash]||null}function n(s){if(!s.hash){var u=Xe.md.sha1.create();s.attributes=Ie.RDNAttributesAsArray(Xg(s),u),s.hash=u.digest().toHex()}}if(e)for(var i=0;i<e.length;++i){var r=e[i];a.addCertificate(r)}return a};Ie.certificateError={bad_certificate:"forge.pki.BadCertificate",unsupported_certificate:"forge.pki.UnsupportedCertificate",certificate_revoked:"forge.pki.CertificateRevoked",certificate_expired:"forge.pki.CertificateExpired",certificate_unknown:"forge.pki.CertificateUnknown",unknown_ca:"forge.pki.UnknownCertificateAuthority"};Ie.verifyCertificateChain=function(e,a,t){typeof t=="function"&&(t={verify:t}),t=t||{},a=a.slice(0);var n=a.slice(0),i=t.validityCheckDate;typeof i>"u"&&(i=new Date);var r=!0,s=null,u=0;do{var o=a.shift(),l=null,g=!1;if(i&&(i<o.validity.notBefore||i>o.validity.notAfter)&&(s={message:"Certificate is not valid yet or has expired.",error:Ie.certificateError.certificate_expired,notBefore:o.validity.notBefore,notAfter:o.validity.notAfter,now:i}),s===null){if(l=a[0]||e.getIssuer(o),l===null&&o.isIssuer(o)&&(g=!0,l=o),l){var d=l;Xe.util.isArray(d)||(d=[d]);for(var c=!1;!c&&d.length>0;){l=d.shift();try{c=l.verify(o)}catch{}}c||(s={message:"Certificate signature is invalid.",error:Ie.certificateError.bad_certificate})}s===null&&(!l||g)&&!e.hasCertificate(o)&&(s={message:"Certificate is not trusted.",error:Ie.certificateError.unknown_ca})}if(s===null&&l&&!o.isIssuer(l)&&(s={message:"Certificate issuer is invalid.",error:Ie.certificateError.bad_certificate}),s===null)for(var p={keyUsage:!0,basicConstraints:!0},f=0;s===null&&f<o.extensions.length;++f){var h=o.extensions[f];h.critical&&!(h.name in p)&&(s={message:"Certificate has an unsupported critical extension.",error:Ie.certificateError.unsupported_certificate})}if(s===null&&(!r||a.length===0&&(!l||g))){var y=o.getExtension("basicConstraints"),b=o.getExtension("keyUsage");if(b!==null&&(!b.keyCertSign||y===null)&&(s={message:"Certificate keyUsage or basicConstraints conflict or indicate that the certificate is not a CA. If the certificate is the only one in the chain or isn't the first then the certificate must be a valid CA.",error:Ie.certificateError.bad_certificate}),s===null&&y!==null&&!y.cA&&(s={message:"Certificate basicConstraints indicates the certificate is not a CA.",error:Ie.certificateError.bad_certificate}),s===null&&b!==null&&"pathLenConstraint"in y){var m=u-1;m>y.pathLenConstraint&&(s={message:"Certificate basicConstraints pathLenConstraint violated.",error:Ie.certificateError.bad_certificate})}}var T=s===null?!0:s.error,A=t.verify?t.verify(T,u,n):T;if(A===!0)s=null;else throw T===!0&&(s={message:"The application rejected the certificate.",error:Ie.certificateError.bad_certificate}),(A||A===0)&&(typeof A=="object"&&!Xe.util.isArray(A)?(A.message&&(s.message=A.message),A.error&&(s.error=A.error)):typeof A=="string"&&(s.error=A)),s;r=!1,++u}while(a.length>0);return!0};var Za=ha,ee=Za.asn1,ba=Za.pki,Hc=Za.pkcs12=Za.pkcs12||{},ZF={name:"ContentInfo",tagClass:ee.Class.UNIVERSAL,type:ee.Type.SEQUENCE,constructed:!0,value:[{name:"ContentInfo.contentType",tagClass:ee.Class.UNIVERSAL,type:ee.Type.OID,constructed:!1,capture:"contentType"},{name:"ContentInfo.content",tagClass:ee.Class.CONTEXT_SPECIFIC,constructed:!0,captureAsn1:"content"}]},hSe={name:"PFX",tagClass:ee.Class.UNIVERSAL,type:ee.Type.SEQUENCE,constructed:!0,value:[{name:"PFX.version",tagClass:ee.Class.UNIVERSAL,type:ee.Type.INTEGER,constructed:!1,capture:"version"},ZF,{name:"PFX.macData",tagClass:ee.Class.UNIVERSAL,type:ee.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"mac",value:[{name:"PFX.macData.mac",tagClass:ee.Class.UNIVERSAL,type:ee.Type.SEQUENCE,constructed:!0,value:[{name:"PFX.macData.mac.digestAlgorithm",tagClass:ee.Class.UNIVERSAL,type:ee.Type.SEQUENCE,constructed:!0,value:[{name:"PFX.macData.mac.digestAlgorithm.algorithm",tagClass:ee.Class.UNIVERSAL,type:ee.Type.OID,constructed:!1,capture:"macAlgorithm"},{name:"PFX.macData.mac.digestAlgorithm.parameters",tagClass:ee.Class.UNIVERSAL,captureAsn1:"macAlgorithmParameters"}]},{name:"PFX.macData.mac.digest",tagClass:ee.Class.UNIVERSAL,type:ee.Type.OCTETSTRING,constructed:!1,capture:"macDigest"}]},{name:"PFX.macData.macSalt",tagClass:ee.Class.UNIVERSAL,type:ee.Type.OCTETSTRING,constructed:!1,capture:"macSalt"},{name:"PFX.macData.iterations",tagClass:ee.Class.UNIVERSAL,type:ee.Type.INTEGER,constructed:!1,optional:!0,capture:"macIterations"}]}]},mSe={name:"SafeBag",tagClass:ee.Class.UNIVERSAL,type:ee.Type.SEQUENCE,constructed:!0,value:[{name:"SafeBag.bagId",tagClass:ee.Class.UNIVERSAL,type:ee.Type.OID,constructed:!1,capture:"bagId"},{name:"SafeBag.bagValue",tagClass:ee.Class.CONTEXT_SPECIFIC,constructed:!0,captureAsn1:"bagValue"},{name:"SafeBag.bagAttributes",tagClass:ee.Class.UNIVERSAL,type:ee.Type.SET,constructed:!0,optional:!0,capture:"bagAttributes"}]},ySe={name:"Attribute",tagClass:ee.Class.UNIVERSAL,type:ee.Type.SEQUENCE,constructed:!0,value:[{name:"Attribute.attrId",tagClass:ee.Class.UNIVERSAL,type:ee.Type.OID,constructed:!1,capture:"oid"},{name:"Attribute.attrValues",tagClass:ee.Class.UNIVERSAL,type:ee.Type.SET,constructed:!0,capture:"values"}]},bSe={name:"CertBag",tagClass:ee.Class.UNIVERSAL,type:ee.Type.SEQUENCE,constructed:!0,value:[{name:"CertBag.certId",tagClass:ee.Class.UNIVERSAL,type:ee.Type.OID,constructed:!1,capture:"certId"},{name:"CertBag.certValue",tagClass:ee.Class.CONTEXT_SPECIFIC,constructed:!0,value:[{name:"CertBag.certValue[0]",tagClass:ee.Class.UNIVERSAL,type:ee.Class.OCTETSTRING,constructed:!1,capture:"cert"}]}]};function e0(e,a,t,n){for(var i=[],r=0;r<e.length;r++)for(var s=0;s<e[r].safeBags.length;s++){var u=e[r].safeBags[s];if(!(n!==void 0&&u.type!==n)){if(a===null){i.push(u);continue}u.attributes[a]!==void 0&&u.attributes[a].indexOf(t)>=0&&i.push(u)}}return i}Hc.pkcs12FromAsn1=function(e,a,t){typeof a=="string"?(t=a,a=!0):a===void 0&&(a=!0);var n={},i=[];if(!ee.validate(e,hSe,n,i)){var r=new Error("Cannot read PKCS#12 PFX. ASN.1 object is not an PKCS#12 PFX.");throw r.errors=r,r}var s={version:n.version.charCodeAt(0),safeContents:[],getBags:function(y){var b={},m;return"localKeyId"in y?m=y.localKeyId:"localKeyIdHex"in y&&(m=Za.util.hexToBytes(y.localKeyIdHex)),m===void 0&&!("friendlyName"in y)&&"bagType"in y&&(b[y.bagType]=e0(s.safeContents,null,null,y.bagType)),m!==void 0&&(b.localKeyId=e0(s.safeContents,"localKeyId",m,y.bagType)),"friendlyName"in y&&(b.friendlyName=e0(s.safeContents,"friendlyName",y.friendlyName,y.bagType)),b},getBagsByFriendlyName:function(y,b){return e0(s.safeContents,"friendlyName",y,b)},getBagsByLocalKeyId:function(y,b){return e0(s.safeContents,"localKeyId",y,b)}};if(n.version.charCodeAt(0)!==3){var r=new Error("PKCS#12 PFX of version other than 3 not supported.");throw r.version=n.version.charCodeAt(0),r}if(ee.derToOid(n.contentType)!==ba.oids.data){var r=new Error("Only PKCS#12 PFX in password integrity mode supported.");throw r.oid=ee.derToOid(n.contentType),r}var u=n.content.value[0];if(u.tagClass!==ee.Class.UNIVERSAL||u.type!==ee.Type.OCTETSTRING)throw new Error("PKCS#12 authSafe content data is not an OCTET STRING.");if(u=UD(u),n.mac){var o=null,l=0,g=ee.derToOid(n.macAlgorithm);switch(g){case ba.oids.sha1:o=Za.md.sha1.create(),l=20;break;case ba.oids.sha256:o=Za.md.sha256.create(),l=32;break;case ba.oids.sha384:o=Za.md.sha384.create(),l=48;break;case ba.oids.sha512:o=Za.md.sha512.create(),l=64;break;case ba.oids.md5:o=Za.md.md5.create(),l=16;break}if(o===null)throw new Error("PKCS#12 uses unsupported MAC algorithm: "+g);var d=new Za.util.ByteBuffer(n.macSalt),c="macIterations"in n?parseInt(Za.util.bytesToHex(n.macIterations),16):1,p=Hc.generateKey(t,d,3,c,l,o),f=Za.hmac.create();f.start(o,p),f.update(u.value);var h=f.getMac();if(h.getBytes()!==n.macDigest)throw new Error("PKCS#12 MAC could not be verified. Invalid password?")}return TSe(s,u.value,a,t),s};function UD(e){if(e.composed||e.constructed){for(var a=Za.util.createBuffer(),t=0;t<e.value.length;++t)a.putBytes(e.value[t].value);e.composed=e.constructed=!1,e.value=a.getBytes()}return e}function TSe(e,a,t,n){if(a=ee.fromDer(a,t),a.tagClass!==ee.Class.UNIVERSAL||a.type!==ee.Type.SEQUENCE||a.constructed!==!0)throw new Error("PKCS#12 AuthenticatedSafe expected to be a SEQUENCE OF ContentInfo");for(var i=0;i<a.value.length;i++){var r=a.value[i],s={},u=[];if(!ee.validate(r,ZF,s,u)){var o=new Error("Cannot read ContentInfo.");throw o.errors=u,o}var l={encrypted:!1},g=null,d=s.content.value[0];switch(ee.derToOid(s.contentType)){case ba.oids.data:if(d.tagClass!==ee.Class.UNIVERSAL||d.type!==ee.Type.OCTETSTRING)throw new Error("PKCS#12 SafeContents Data is not an OCTET STRING.");g=UD(d).value;break;case ba.oids.encryptedData:g=SSe(d,n),l.encrypted=!0;break;default:var o=new Error("Unsupported PKCS#12 contentType.");throw o.contentType=ee.derToOid(s.contentType),o}l.safeBags=ASe(g,t,n),e.safeContents.push(l)}}function SSe(e,a){var t={},n=[];if(!ee.validate(e,Za.pkcs7.asn1.encryptedDataValidator,t,n)){var i=new Error("Cannot read EncryptedContentInfo.");throw i.errors=n,i}var r=ee.derToOid(t.contentType);if(r!==ba.oids.data){var i=new Error("PKCS#12 EncryptedContentInfo ContentType is not Data.");throw i.oid=r,i}r=ee.derToOid(t.encAlgorithm);var s=ba.pbe.getCipher(r,t.encParameter,a),u=UD(t.encryptedContentAsn1),o=Za.util.createBuffer(u.value);if(s.update(o),!s.finish())throw new Error("Failed to decrypt PKCS#12 SafeContents.");return s.output.getBytes()}function ASe(e,a,t){if(!a&&e.length===0)return[];if(e=ee.fromDer(e,a),e.tagClass!==ee.Class.UNIVERSAL||e.type!==ee.Type.SEQUENCE||e.constructed!==!0)throw new Error("PKCS#12 SafeContents expected to be a SEQUENCE OF SafeBag.");for(var n=[],i=0;i<e.value.length;i++){var r=e.value[i],s={},u=[];if(!ee.validate(r,mSe,s,u)){var o=new Error("Cannot read SafeBag.");throw o.errors=u,o}var l={type:ee.derToOid(s.bagId),attributes:vSe(s.bagAttributes)};n.push(l);var g,d,c=s.bagValue.value[0];switch(l.type){case ba.oids.pkcs8ShroudedKeyBag:if(c=ba.decryptPrivateKeyInfo(c,t),c===null)throw new Error("Unable to decrypt PKCS#8 ShroudedKeyBag, wrong password?");case ba.oids.keyBag:try{l.key=ba.privateKeyFromAsn1(c)}catch{l.key=null,l.asn1=c}continue;case ba.oids.certBag:g=bSe,d=function(){if(ee.derToOid(s.certId)!==ba.oids.x509Certificate){var f=new Error("Unsupported certificate type, only X.509 supported.");throw f.oid=ee.derToOid(s.certId),f}var h=ee.fromDer(s.cert,a);try{l.cert=ba.certificateFromAsn1(h,!0)}catch{l.cert=null,l.asn1=h}};break;default:var o=new Error("Unsupported PKCS#12 SafeBag type.");throw o.oid=l.type,o}if(g!==void 0&&!ee.validate(c,g,s,u)){var o=new Error("Cannot read PKCS#12 "+g.name);throw o.errors=u,o}d()}return n}function vSe(e){var a={};if(e!==void 0)for(var t=0;t<e.length;++t){var n={},i=[];if(!ee.validate(e[t],ySe,n,i)){var r=new Error("Cannot read PKCS#12 BagAttribute.");throw r.errors=i,r}var s=ee.derToOid(n.oid);if(ba.oids[s]!==void 0){a[ba.oids[s]]=[];for(var u=0;u<n.values.length;++u)a[ba.oids[s]].push(n.values[u].value)}}return a}Hc.toPkcs12Asn1=function(e,a,t,n){n=n||{},n.saltSize=n.saltSize||8,n.count=n.count||2048,n.algorithm=n.algorithm||n.encAlgorithm||"aes128","useMac"in n||(n.useMac=!0),"localKeyId"in n||(n.localKeyId=null),"generateLocalKeyId"in n||(n.generateLocalKeyId=!0);var i=n.localKeyId,r;if(i!==null)i=Za.util.hexToBytes(i);else if(n.generateLocalKeyId)if(a){var s=Za.util.isArray(a)?a[0]:a;typeof s=="string"&&(s=ba.certificateFromPem(s));var u=Za.md.sha1.create();u.update(ee.toDer(ba.certificateToAsn1(s)).getBytes()),i=u.digest().getBytes()}else i=Za.random.getBytes(20);var o=[];i!==null&&o.push(ee.create(ee.Class.UNIVERSAL,ee.Type.SEQUENCE,!0,[ee.create(ee.Class.UNIVERSAL,ee.Type.OID,!1,ee.oidToDer(ba.oids.localKeyId).getBytes()),ee.create(ee.Class.UNIVERSAL,ee.Type.SET,!0,[ee.create(ee.Class.UNIVERSAL,ee.Type.OCTETSTRING,!1,i)])])),"friendlyName"in n&&o.push(ee.create(ee.Class.UNIVERSAL,ee.Type.SEQUENCE,!0,[ee.create(ee.Class.UNIVERSAL,ee.Type.OID,!1,ee.oidToDer(ba.oids.friendlyName).getBytes()),ee.create(ee.Class.UNIVERSAL,ee.Type.SET,!0,[ee.create(ee.Class.UNIVERSAL,ee.Type.BMPSTRING,!1,n.friendlyName)])])),o.length>0&&(r=ee.create(ee.Class.UNIVERSAL,ee.Type.SET,!0,o));var l=[],g=[];a!==null&&(Za.util.isArray(a)?g=a:g=[a]);for(var d=[],c=0;c<g.length;++c){a=g[c],typeof a=="string"&&(a=ba.certificateFromPem(a));var p=c===0?r:void 0,f=ba.certificateToAsn1(a),h=ee.create(ee.Class.UNIVERSAL,ee.Type.SEQUENCE,!0,[ee.create(ee.Class.UNIVERSAL,ee.Type.OID,!1,ee.oidToDer(ba.oids.certBag).getBytes()),ee.create(ee.Class.CONTEXT_SPECIFIC,0,!0,[ee.create(ee.Class.UNIVERSAL,ee.Type.SEQUENCE,!0,[ee.create(ee.Class.UNIVERSAL,ee.Type.OID,!1,ee.oidToDer(ba.oids.x509Certificate).getBytes()),ee.create(ee.Class.CONTEXT_SPECIFIC,0,!0,[ee.create(ee.Class.UNIVERSAL,ee.Type.OCTETSTRING,!1,ee.toDer(f).getBytes())])])]),p]);d.push(h)}if(d.length>0){var y=ee.create(ee.Class.UNIVERSAL,ee.Type.SEQUENCE,!0,d),b=ee.create(ee.Class.UNIVERSAL,ee.Type.SEQUENCE,!0,[ee.create(ee.Class.UNIVERSAL,ee.Type.OID,!1,ee.oidToDer(ba.oids.data).getBytes()),ee.create(ee.Class.CONTEXT_SPECIFIC,0,!0,[ee.create(ee.Class.UNIVERSAL,ee.Type.OCTETSTRING,!1,ee.toDer(y).getBytes())])]);l.push(b)}var m=null;if(e!==null){var T=ba.wrapRsaPrivateKey(ba.privateKeyToAsn1(e));t===null?m=ee.create(ee.Class.UNIVERSAL,ee.Type.SEQUENCE,!0,[ee.create(ee.Class.UNIVERSAL,ee.Type.OID,!1,ee.oidToDer(ba.oids.keyBag).getBytes()),ee.create(ee.Class.CONTEXT_SPECIFIC,0,!0,[T]),r]):m=ee.create(ee.Class.UNIVERSAL,ee.Type.SEQUENCE,!0,[ee.create(ee.Class.UNIVERSAL,ee.Type.OID,!1,ee.oidToDer(ba.oids.pkcs8ShroudedKeyBag).getBytes()),ee.create(ee.Class.CONTEXT_SPECIFIC,0,!0,[ba.encryptPrivateKeyInfo(T,t,n)]),r]);var A=ee.create(ee.Class.UNIVERSAL,ee.Type.SEQUENCE,!0,[m]),v=ee.create(ee.Class.UNIVERSAL,ee.Type.SEQUENCE,!0,[ee.create(ee.Class.UNIVERSAL,ee.Type.OID,!1,ee.oidToDer(ba.oids.data).getBytes()),ee.create(ee.Class.CONTEXT_SPECIFIC,0,!0,[ee.create(ee.Class.UNIVERSAL,ee.Type.OCTETSTRING,!1,ee.toDer(A).getBytes())])]);l.push(v)}var D=ee.create(ee.Class.UNIVERSAL,ee.Type.SEQUENCE,!0,l),k;if(n.useMac){var u=Za.md.sha1.create(),N=new Za.util.ByteBuffer(Za.random.getBytes(n.saltSize)),q=n.count,e=Hc.generateKey(t,N,3,q,20),R=Za.hmac.create();R.start(u,e),R.update(ee.toDer(D).getBytes());var z=R.getMac();k=ee.create(ee.Class.UNIVERSAL,ee.Type.SEQUENCE,!0,[ee.create(ee.Class.UNIVERSAL,ee.Type.SEQUENCE,!0,[ee.create(ee.Class.UNIVERSAL,ee.Type.SEQUENCE,!0,[ee.create(ee.Class.UNIVERSAL,ee.Type.OID,!1,ee.oidToDer(ba.oids.sha1).getBytes()),ee.create(ee.Class.UNIVERSAL,ee.Type.NULL,!1,"")]),ee.create(ee.Class.UNIVERSAL,ee.Type.OCTETSTRING,!1,z.getBytes())]),ee.create(ee.Class.UNIVERSAL,ee.Type.OCTETSTRING,!1,N.getBytes()),ee.create(ee.Class.UNIVERSAL,ee.Type.INTEGER,!1,ee.integerToDer(q).getBytes())])}return ee.create(ee.Class.UNIVERSAL,ee.Type.SEQUENCE,!0,[ee.create(ee.Class.UNIVERSAL,ee.Type.INTEGER,!1,ee.integerToDer(3).getBytes()),ee.create(ee.Class.UNIVERSAL,ee.Type.SEQUENCE,!0,[ee.create(ee.Class.UNIVERSAL,ee.Type.OID,!1,ee.oidToDer(ba.oids.data).getBytes()),ee.create(ee.Class.CONTEXT_SPECIFIC,0,!0,[ee.create(ee.Class.UNIVERSAL,ee.Type.OCTETSTRING,!1,ee.toDer(D).getBytes())])]),k])};Hc.generateKey=Za.pbe.generatePkcs12Key;var ao=ha,jD=ao.asn1,Qg=ao.pki=ao.pki||{};Qg.pemToDer=function(e){var a=ao.pem.decode(e)[0];if(a.procType&&a.procType.type==="ENCRYPTED")throw new Error("Could not convert PEM to DER; PEM is encrypted.");return ao.util.createBuffer(a.body)};Qg.privateKeyFromPem=function(e){var a=ao.pem.decode(e)[0];if(a.type!=="PRIVATE KEY"&&a.type!=="RSA PRIVATE KEY"){var t=new Error('Could not convert private key from PEM; PEM header type is not "PRIVATE KEY" or "RSA PRIVATE KEY".');throw t.headerType=a.type,t}if(a.procType&&a.procType.type==="ENCRYPTED")throw new Error("Could not convert private key from PEM; PEM is encrypted.");var n=jD.fromDer(a.body);return Qg.privateKeyFromAsn1(n)};Qg.privateKeyToPem=function(e,a){var t={type:"RSA PRIVATE KEY",body:jD.toDer(Qg.privateKeyToAsn1(e)).getBytes()};return ao.pem.encode(t,{maxline:a})};Qg.privateKeyInfoToPem=function(e,a){var t={type:"PRIVATE KEY",body:jD.toDer(e).getBytes()};return ao.pem.encode(t,{maxline:a})};var ve=ha,I9=function(e,a,t,n){var i=ve.util.createBuffer(),r=e.length>>1,s=r+(e.length&1),u=e.substr(0,s),o=e.substr(r,s),l=ve.util.createBuffer(),g=ve.hmac.create();t=a+t;var d=Math.ceil(n/16),c=Math.ceil(n/20);g.start("MD5",u);var p=ve.util.createBuffer();l.putBytes(t);for(var f=0;f<d;++f)g.start(null,null),g.update(l.getBytes()),l.putBuffer(g.digest()),g.start(null,null),g.update(l.bytes()+t),p.putBuffer(g.digest());g.start("SHA1",o);var h=ve.util.createBuffer();l.clear(),l.putBytes(t);for(var f=0;f<c;++f)g.start(null,null),g.update(l.getBytes()),l.putBuffer(g.digest()),g.start(null,null),g.update(l.bytes()+t),h.putBuffer(g.digest());return i.putBytes(ve.util.xorBytes(p.getBytes(),h.getBytes(),n)),i},DSe=function(e,a,t){var n=ve.hmac.create();n.start("SHA1",e);var i=ve.util.createBuffer();return i.putInt32(a[0]),i.putInt32(a[1]),i.putByte(t.type),i.putByte(t.version.major),i.putByte(t.version.minor),i.putInt16(t.length),i.putBytes(t.fragment.bytes()),n.update(i.getBytes()),n.digest().getBytes()},xSe=function(e,a,t){var n=!1;try{var i=e.deflate(a.fragment.getBytes());a.fragment=ve.util.createBuffer(i),a.length=i.length,n=!0}catch{}return n},ESe=function(e,a,t){var n=!1;try{var i=e.inflate(a.fragment.getBytes());a.fragment=ve.util.createBuffer(i),a.length=i.length,n=!0}catch{}return n},Ti=function(e,a){var t=0;switch(a){case 1:t=e.getByte();break;case 2:t=e.getInt16();break;case 3:t=e.getInt24();break;case 4:t=e.getInt32();break}return ve.util.createBuffer(e.getBytes(t))},qi=function(e,a,t){e.putInt(t.length(),a<<3),e.putBuffer(t)},j={};j.Versions={TLS_1_0:{major:3,minor:1},TLS_1_1:{major:3,minor:2},TLS_1_2:{major:3,minor:3}};j.SupportedVersions=[j.Versions.TLS_1_1,j.Versions.TLS_1_0];j.Version=j.SupportedVersions[0];j.MaxFragment=15360;j.ConnectionEnd={server:0,client:1};j.PRFAlgorithm={tls_prf_sha256:0};j.BulkCipherAlgorithm={none:null,rc4:0,des3:1,aes:2};j.CipherType={stream:0,block:1,aead:2};j.MACAlgorithm={none:null,hmac_md5:0,hmac_sha1:1,hmac_sha256:2,hmac_sha384:3,hmac_sha512:4};j.CompressionMethod={none:0,deflate:1};j.ContentType={change_cipher_spec:20,alert:21,handshake:22,application_data:23,heartbeat:24};j.HandshakeType={hello_request:0,client_hello:1,server_hello:2,certificate:11,server_key_exchange:12,certificate_request:13,server_hello_done:14,certificate_verify:15,client_key_exchange:16,finished:20};j.Alert={};j.Alert.Level={warning:1,fatal:2};j.Alert.Description={close_notify:0,unexpected_message:10,bad_record_mac:20,decryption_failed:21,record_overflow:22,decompression_failure:30,handshake_failure:40,bad_certificate:42,unsupported_certificate:43,certificate_revoked:44,certificate_expired:45,certificate_unknown:46,illegal_parameter:47,unknown_ca:48,access_denied:49,decode_error:50,decrypt_error:51,export_restriction:60,protocol_version:70,insufficient_security:71,internal_error:80,user_canceled:90,no_renegotiation:100};j.HeartbeatMessageType={heartbeat_request:1,heartbeat_response:2};j.CipherSuites={};j.getCipherSuite=function(e){var a=null;for(var t in j.CipherSuites){var n=j.CipherSuites[t];if(n.id[0]===e.charCodeAt(0)&&n.id[1]===e.charCodeAt(1)){a=n;break}}return a};j.handleUnexpected=function(e,a){var t=!e.open&&e.entity===j.ConnectionEnd.client;t||e.error(e,{message:"Unexpected message. Received TLS record out of order.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.unexpected_message}})};j.handleHelloRequest=function(e,a,t){!e.handshaking&&e.handshakes>0&&(j.queue(e,j.createAlert(e,{level:j.Alert.Level.warning,description:j.Alert.Description.no_renegotiation})),j.flush(e)),e.process()};j.parseHelloMessage=function(e,a,t){var n=null,i=e.entity===j.ConnectionEnd.client;if(t<38)e.error(e,{message:i?"Invalid ServerHello message. Message too short.":"Invalid ClientHello message. Message too short.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.illegal_parameter}});else{var r=a.fragment,s=r.length();if(n={version:{major:r.getByte(),minor:r.getByte()},random:ve.util.createBuffer(r.getBytes(32)),session_id:Ti(r,1),extensions:[]},i?(n.cipher_suite=r.getBytes(2),n.compression_method=r.getByte()):(n.cipher_suites=Ti(r,2),n.compression_methods=Ti(r,1)),s=t-(s-r.length()),s>0){for(var u=Ti(r,2);u.length()>0;)n.extensions.push({type:[u.getByte(),u.getByte()],data:Ti(u,2)});if(!i)for(var o=0;o<n.extensions.length;++o){var l=n.extensions[o];if(l.type[0]===0&&l.type[1]===0)for(var g=Ti(l.data,2);g.length()>0;){var d=g.getByte();if(d!==0)break;e.session.extensions.server_name.serverNameList.push(Ti(g,2).getBytes())}}}if(e.session.version&&(n.version.major!==e.session.version.major||n.version.minor!==e.session.version.minor))return e.error(e,{message:"TLS version change is disallowed during renegotiation.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.protocol_version}});if(i)e.session.cipherSuite=j.getCipherSuite(n.cipher_suite);else for(var c=ve.util.createBuffer(n.cipher_suites.bytes());c.length()>0&&(e.session.cipherSuite=j.getCipherSuite(c.getBytes(2)),e.session.cipherSuite===null););if(e.session.cipherSuite===null)return e.error(e,{message:"No cipher suites in common.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.handshake_failure},cipherSuite:ve.util.bytesToHex(n.cipher_suite)});i?e.session.compressionMethod=n.compression_method:e.session.compressionMethod=j.CompressionMethod.none}return n};j.createSecurityParameters=function(e,a){var t=e.entity===j.ConnectionEnd.client,n=a.random.bytes(),i=t?e.session.sp.client_random:n,r=t?n:j.createRandom().getBytes();e.session.sp={entity:e.entity,prf_algorithm:j.PRFAlgorithm.tls_prf_sha256,bulk_cipher_algorithm:null,cipher_type:null,enc_key_length:null,block_length:null,fixed_iv_length:null,record_iv_length:null,mac_algorithm:null,mac_length:null,mac_key_length:null,compression_algorithm:e.session.compressionMethod,pre_master_secret:null,master_secret:null,client_random:i,server_random:r}};j.handleServerHello=function(e,a,t){var n=j.parseHelloMessage(e,a,t);if(!e.fail){if(n.version.minor<=e.version.minor)e.version.minor=n.version.minor;else return e.error(e,{message:"Incompatible TLS version.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.protocol_version}});e.session.version=e.version;var i=n.session_id.bytes();i.length>0&&i===e.session.id?(e.expect=JF,e.session.resuming=!0,e.session.sp.server_random=n.random.bytes()):(e.expect=CSe,e.session.resuming=!1,j.createSecurityParameters(e,n)),e.session.id=i,e.process()}};j.handleClientHello=function(e,a,t){var n=j.parseHelloMessage(e,a,t);if(!e.fail){var i=n.session_id.bytes(),r=null;if(e.sessionCache&&(r=e.sessionCache.getSession(i),r===null?i="":(r.version.major!==n.version.major||r.version.minor>n.version.minor)&&(r=null,i="")),i.length===0&&(i=ve.random.getBytes(32)),e.session.id=i,e.session.clientHelloVersion=n.version,e.session.sp={},r)e.version=e.session.version=r.version,e.session.sp=r.sp;else{for(var s,u=1;u<j.SupportedVersions.length&&(s=j.SupportedVersions[u],!(s.minor<=n.version.minor));++u);e.version={major:s.major,minor:s.minor},e.session.version=e.version}r!==null?(e.expect=zD,e.session.resuming=!0,e.session.sp.client_random=n.random.bytes()):(e.expect=e.verifyClient!==!1?PSe:P7,e.session.resuming=!1,j.createSecurityParameters(e,n)),e.open=!0,j.queue(e,j.createRecord(e,{type:j.ContentType.handshake,data:j.createServerHello(e)})),e.session.resuming?(j.queue(e,j.createRecord(e,{type:j.ContentType.change_cipher_spec,data:j.createChangeCipherSpec()})),e.state.pending=j.createConnectionState(e),e.state.current.write=e.state.pending.write,j.queue(e,j.createRecord(e,{type:j.ContentType.handshake,data:j.createFinished(e)}))):(j.queue(e,j.createRecord(e,{type:j.ContentType.handshake,data:j.createCertificate(e)})),e.fail||(j.queue(e,j.createRecord(e,{type:j.ContentType.handshake,data:j.createServerKeyExchange(e)})),e.verifyClient!==!1&&j.queue(e,j.createRecord(e,{type:j.ContentType.handshake,data:j.createCertificateRequest(e)})),j.queue(e,j.createRecord(e,{type:j.ContentType.handshake,data:j.createServerHelloDone(e)})))),j.flush(e),e.process()}};j.handleCertificate=function(e,a,t){if(t<3)return e.error(e,{message:"Invalid Certificate message. Message too short.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.illegal_parameter}});var n=a.fragment,i={certificate_list:Ti(n,3)},r,s,u=[];try{for(;i.certificate_list.length()>0;)r=Ti(i.certificate_list,3),s=ve.asn1.fromDer(r),r=ve.pki.certificateFromAsn1(s,!0),u.push(r)}catch(l){return e.error(e,{message:"Could not parse certificate list.",cause:l,send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.bad_certificate}})}var o=e.entity===j.ConnectionEnd.client;(o||e.verifyClient===!0)&&u.length===0?e.error(e,{message:o?"No server certificate provided.":"No client certificate provided.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.illegal_parameter}}):u.length===0?e.expect=o?Aw:P7:(o?e.session.serverCertificate=u[0]:e.session.clientCertificate=u[0],j.verifyCertificateChain(e,u)&&(e.expect=o?Aw:P7)),e.process()};j.handleServerKeyExchange=function(e,a,t){if(t>0)return e.error(e,{message:"Invalid key parameters. Only RSA is supported.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.unsupported_certificate}});e.expect=wSe,e.process()};j.handleClientKeyExchange=function(e,a,t){if(t<48)return e.error(e,{message:"Invalid key parameters. Only RSA is supported.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.unsupported_certificate}});var n=a.fragment,i={enc_pre_master_secret:Ti(n,2).getBytes()},r=null;if(e.getPrivateKey)try{r=e.getPrivateKey(e,e.session.serverCertificate),r=ve.pki.privateKeyFromPem(r)}catch(o){e.error(e,{message:"Could not get private key.",cause:o,send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.internal_error}})}if(r===null)return e.error(e,{message:"No private key set.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.internal_error}});try{var s=e.session.sp;s.pre_master_secret=r.decrypt(i.enc_pre_master_secret);var u=e.session.clientHelloVersion;if(u.major!==s.pre_master_secret.charCodeAt(0)||u.minor!==s.pre_master_secret.charCodeAt(1))throw new Error("TLS version rollback attack detected.")}catch{s.pre_master_secret=ve.random.getBytes(48)}e.expect=zD,e.session.clientCertificate!==null&&(e.expect=MSe),e.process()};j.handleCertificateRequest=function(e,a,t){if(t<3)return e.error(e,{message:"Invalid CertificateRequest. Message too short.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.illegal_parameter}});var n=a.fragment,i={certificate_types:Ti(n,1),certificate_authorities:Ti(n,2)};e.session.certificateRequest=i,e.expect=_Se,e.process()};j.handleCertificateVerify=function(e,a,t){if(t<2)return e.error(e,{message:"Invalid CertificateVerify. Message too short.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.illegal_parameter}});var n=a.fragment;n.read-=4;var i=n.bytes();n.read+=4;var r={signature:Ti(n,2).getBytes()},s=ve.util.createBuffer();s.putBuffer(e.session.md5.digest()),s.putBuffer(e.session.sha1.digest()),s=s.getBytes();try{var u=e.session.clientCertificate;if(!u.publicKey.verify(s,r.signature,"NONE"))throw new Error("CertificateVerify signature does not match.");e.session.md5.update(i),e.session.sha1.update(i)}catch{return e.error(e,{message:"Bad signature in CertificateVerify.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.handshake_failure}})}e.expect=zD,e.process()};j.handleServerHelloDone=function(e,a,t){if(t>0)return e.error(e,{message:"Invalid ServerHelloDone message. Invalid length.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.record_overflow}});if(e.serverCertificate===null){var n={message:"No server certificate provided. Not enough security.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.insufficient_security}},i=0,r=e.verify(e,n.alert.description,i,[]);if(r!==!0)return(r||r===0)&&(typeof r=="object"&&!ve.util.isArray(r)?(r.message&&(n.message=r.message),r.alert&&(n.alert.description=r.alert)):typeof r=="number"&&(n.alert.description=r)),e.error(e,n)}e.session.certificateRequest!==null&&(a=j.createRecord(e,{type:j.ContentType.handshake,data:j.createCertificate(e)}),j.queue(e,a)),a=j.createRecord(e,{type:j.ContentType.handshake,data:j.createClientKeyExchange(e)}),j.queue(e,a),e.expect=LSe;var s=function(u,o){u.session.certificateRequest!==null&&u.session.clientCertificate!==null&&j.queue(u,j.createRecord(u,{type:j.ContentType.handshake,data:j.createCertificateVerify(u,o)})),j.queue(u,j.createRecord(u,{type:j.ContentType.change_cipher_spec,data:j.createChangeCipherSpec()})),u.state.pending=j.createConnectionState(u),u.state.current.write=u.state.pending.write,j.queue(u,j.createRecord(u,{type:j.ContentType.handshake,data:j.createFinished(u)})),u.expect=JF,j.flush(u),u.process()};if(e.session.certificateRequest===null||e.session.clientCertificate===null)return s(e,null);j.getClientSignature(e,s)};j.handleChangeCipherSpec=function(e,a){if(a.fragment.getByte()!==1)return e.error(e,{message:"Invalid ChangeCipherSpec message received.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.illegal_parameter}});var t=e.entity===j.ConnectionEnd.client;(e.session.resuming&&t||!e.session.resuming&&!t)&&(e.state.pending=j.createConnectionState(e)),e.state.current.read=e.state.pending.read,(!e.session.resuming&&t||e.session.resuming&&!t)&&(e.state.pending=null),e.expect=t?ISe:OSe,e.process()};j.handleFinished=function(e,a,t){var n=a.fragment;n.read-=4;var i=n.bytes();n.read+=4;var r=a.fragment.getBytes();n=ve.util.createBuffer(),n.putBuffer(e.session.md5.digest()),n.putBuffer(e.session.sha1.digest());var s=e.entity===j.ConnectionEnd.client,u=s?"server finished":"client finished",o=e.session.sp,l=12,g=I9;if(n=g(o.master_secret,u,n.getBytes(),l),n.getBytes()!==r)return e.error(e,{message:"Invalid verify_data in Finished message.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.decrypt_error}});e.session.md5.update(i),e.session.sha1.update(i),(e.session.resuming&&s||!e.session.resuming&&!s)&&(j.queue(e,j.createRecord(e,{type:j.ContentType.change_cipher_spec,data:j.createChangeCipherSpec()})),e.state.current.write=e.state.pending.write,e.state.pending=null,j.queue(e,j.createRecord(e,{type:j.ContentType.handshake,data:j.createFinished(e)}))),e.expect=s?NSe:BSe,e.handshaking=!1,++e.handshakes,e.peerCertificate=s?e.session.serverCertificate:e.session.clientCertificate,j.flush(e),e.isConnected=!0,e.connected(e),e.process()};j.handleAlert=function(e,a){var t=a.fragment,n={level:t.getByte(),description:t.getByte()},i;switch(n.description){case j.Alert.Description.close_notify:i="Connection closed.";break;case j.Alert.Description.unexpected_message:i="Unexpected message.";break;case j.Alert.Description.bad_record_mac:i="Bad record MAC.";break;case j.Alert.Description.decryption_failed:i="Decryption failed.";break;case j.Alert.Description.record_overflow:i="Record overflow.";break;case j.Alert.Description.decompression_failure:i="Decompression failed.";break;case j.Alert.Description.handshake_failure:i="Handshake failure.";break;case j.Alert.Description.bad_certificate:i="Bad certificate.";break;case j.Alert.Description.unsupported_certificate:i="Unsupported certificate.";break;case j.Alert.Description.certificate_revoked:i="Certificate revoked.";break;case j.Alert.Description.certificate_expired:i="Certificate expired.";break;case j.Alert.Description.certificate_unknown:i="Certificate unknown.";break;case j.Alert.Description.illegal_parameter:i="Illegal parameter.";break;case j.Alert.Description.unknown_ca:i="Unknown certificate authority.";break;case j.Alert.Description.access_denied:i="Access denied.";break;case j.Alert.Description.decode_error:i="Decode error.";break;case j.Alert.Description.decrypt_error:i="Decrypt error.";break;case j.Alert.Description.export_restriction:i="Export restriction.";break;case j.Alert.Description.protocol_version:i="Unsupported protocol version.";break;case j.Alert.Description.insufficient_security:i="Insufficient security.";break;case j.Alert.Description.internal_error:i="Internal error.";break;case j.Alert.Description.user_canceled:i="User canceled.";break;case j.Alert.Description.no_renegotiation:i="Renegotiation not supported.";break;default:i="Unknown error.";break}if(n.description===j.Alert.Description.close_notify)return e.close();e.error(e,{message:i,send:!1,origin:e.entity===j.ConnectionEnd.client?"server":"client",alert:n}),e.process()};j.handleHandshake=function(e,a){var t=a.fragment,n=t.getByte(),i=t.getInt24();if(i>t.length())return e.fragmented=a,a.fragment=ve.util.createBuffer(),t.read-=4,e.process();e.fragmented=null,t.read-=4;var r=t.bytes(i+4);t.read+=4,n in Mm[e.entity][e.expect]?(e.entity===j.ConnectionEnd.server&&!e.open&&!e.fail&&(e.handshaking=!0,e.session={version:null,extensions:{server_name:{serverNameList:[]}},cipherSuite:null,compressionMethod:null,serverCertificate:null,clientCertificate:null,md5:ve.md.md5.create(),sha1:ve.md.sha1.create()}),n!==j.HandshakeType.hello_request&&n!==j.HandshakeType.certificate_verify&&n!==j.HandshakeType.finished&&(e.session.md5.update(r),e.session.sha1.update(r)),Mm[e.entity][e.expect][n](e,a,i)):j.handleUnexpected(e,a)};j.handleApplicationData=function(e,a){e.data.putBuffer(a.fragment),e.dataReady(e),e.process()};j.handleHeartbeat=function(e,a){var t=a.fragment,n=t.getByte(),i=t.getInt16(),r=t.getBytes(i);if(n===j.HeartbeatMessageType.heartbeat_request){if(e.handshaking||i>r.length)return e.process();j.queue(e,j.createRecord(e,{type:j.ContentType.heartbeat,data:j.createHeartbeat(j.HeartbeatMessageType.heartbeat_response,r)})),j.flush(e)}else if(n===j.HeartbeatMessageType.heartbeat_response){if(r!==e.expectedHeartbeatPayload)return e.process();e.heartbeatReceived&&e.heartbeatReceived(e,ve.util.createBuffer(r))}e.process()};var kSe=0,CSe=1,Aw=2,wSe=3,_Se=4,JF=5,ISe=6,NSe=7,LSe=8,RSe=0,PSe=1,P7=2,MSe=3,zD=4,OSe=5,BSe=6,F=j.handleUnexpected,eU=j.handleChangeCipherSpec,fn=j.handleAlert,On=j.handleHandshake,aU=j.handleApplicationData,hn=j.handleHeartbeat,$D=[];$D[j.ConnectionEnd.client]=[[F,fn,On,F,hn],[F,fn,On,F,hn],[F,fn,On,F,hn],[F,fn,On,F,hn],[F,fn,On,F,hn],[eU,fn,F,F,hn],[F,fn,On,F,hn],[F,fn,On,aU,hn],[F,fn,On,F,hn]];$D[j.ConnectionEnd.server]=[[F,fn,On,F,hn],[F,fn,On,F,hn],[F,fn,On,F,hn],[F,fn,On,F,hn],[eU,fn,F,F,hn],[F,fn,On,F,hn],[F,fn,On,aU,hn],[F,fn,On,F,hn]];var cu=j.handleHelloRequest,FSe=j.handleServerHello,tU=j.handleCertificate,vw=j.handleServerKeyExchange,CT=j.handleCertificateRequest,Hf=j.handleServerHelloDone,nU=j.handleFinished,Mm=[];Mm[j.ConnectionEnd.client]=[[F,F,FSe,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F],[cu,F,F,F,F,F,F,F,F,F,F,tU,vw,CT,Hf,F,F,F,F,F,F],[cu,F,F,F,F,F,F,F,F,F,F,F,vw,CT,Hf,F,F,F,F,F,F],[cu,F,F,F,F,F,F,F,F,F,F,F,F,CT,Hf,F,F,F,F,F,F],[cu,F,F,F,F,F,F,F,F,F,F,F,F,F,Hf,F,F,F,F,F,F],[cu,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F],[cu,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,nU],[cu,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F],[cu,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F]];var USe=j.handleClientHello,jSe=j.handleClientKeyExchange,zSe=j.handleCertificateVerify;Mm[j.ConnectionEnd.server]=[[F,USe,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F],[F,F,F,F,F,F,F,F,F,F,F,tU,F,F,F,F,F,F,F,F,F],[F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,jSe,F,F,F,F],[F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,zSe,F,F,F,F,F],[F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F],[F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,nU],[F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F],[F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F]];j.generateKeys=function(e,a){var t=I9,n=a.client_random+a.server_random;e.session.resuming||(a.master_secret=t(a.pre_master_secret,"master secret",n,48).bytes(),a.pre_master_secret=null),n=a.server_random+a.client_random;var i=2*a.mac_key_length+2*a.enc_key_length,r=e.version.major===j.Versions.TLS_1_0.major&&e.version.minor===j.Versions.TLS_1_0.minor;r&&(i+=2*a.fixed_iv_length);var s=t(a.master_secret,"key expansion",n,i),u={client_write_MAC_key:s.getBytes(a.mac_key_length),server_write_MAC_key:s.getBytes(a.mac_key_length),client_write_key:s.getBytes(a.enc_key_length),server_write_key:s.getBytes(a.enc_key_length)};return r&&(u.client_write_IV=s.getBytes(a.fixed_iv_length),u.server_write_IV=s.getBytes(a.fixed_iv_length)),u};j.createConnectionState=function(e){var a=e.entity===j.ConnectionEnd.client,t=function(){var r={sequenceNumber:[0,0],macKey:null,macLength:0,macFunction:null,cipherState:null,cipherFunction:function(s){return!0},compressionState:null,compressFunction:function(s){return!0},updateSequenceNumber:function(){r.sequenceNumber[1]===4294967295?(r.sequenceNumber[1]=0,++r.sequenceNumber[0]):++r.sequenceNumber[1]}};return r},n={read:t(),write:t()};if(n.read.update=function(r,s){return n.read.cipherFunction(s,n.read)?n.read.compressFunction(r,s,n.read)||r.error(r,{message:"Could not decompress record.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.decompression_failure}}):r.error(r,{message:"Could not decrypt record or bad MAC.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.bad_record_mac}}),!r.fail},n.write.update=function(r,s){return n.write.compressFunction(r,s,n.write)?n.write.cipherFunction(s,n.write)||r.error(r,{message:"Could not encrypt record.",send:!1,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.internal_error}}):r.error(r,{message:"Could not compress record.",send:!1,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.internal_error}}),!r.fail},e.session){var i=e.session.sp;switch(e.session.cipherSuite.initSecurityParameters(i),i.keys=j.generateKeys(e,i),n.read.macKey=a?i.keys.server_write_MAC_key:i.keys.client_write_MAC_key,n.write.macKey=a?i.keys.client_write_MAC_key:i.keys.server_write_MAC_key,e.session.cipherSuite.initConnectionState(n,e,i),i.compression_algorithm){case j.CompressionMethod.none:break;case j.CompressionMethod.deflate:n.read.compressFunction=ESe,n.write.compressFunction=xSe;break;default:throw new Error("Unsupported compression algorithm.")}}return n};j.createRandom=function(){var e=new Date,a=+e+e.getTimezoneOffset()*6e4,t=ve.util.createBuffer();return t.putInt32(a),t.putBytes(ve.random.getBytes(28)),t};j.createRecord=function(e,a){if(!a.data)return null;var t={type:a.type,version:{major:e.version.major,minor:e.version.minor},length:a.data.length(),fragment:a.data};return t};j.createAlert=function(e,a){var t=ve.util.createBuffer();return t.putByte(a.level),t.putByte(a.description),j.createRecord(e,{type:j.ContentType.alert,data:t})};j.createClientHello=function(e){e.session.clientHelloVersion={major:e.version.major,minor:e.version.minor};for(var a=ve.util.createBuffer(),t=0;t<e.cipherSuites.length;++t){var n=e.cipherSuites[t];a.putByte(n.id[0]),a.putByte(n.id[1])}var i=a.length(),r=ve.util.createBuffer();r.putByte(j.CompressionMethod.none);var s=r.length(),u=ve.util.createBuffer();if(e.virtualHost){var o=ve.util.createBuffer();o.putByte(0),o.putByte(0);var l=ve.util.createBuffer();l.putByte(0),qi(l,2,ve.util.createBuffer(e.virtualHost));var g=ve.util.createBuffer();qi(g,2,l),qi(o,2,g),u.putBuffer(o)}var d=u.length();d>0&&(d+=2);var c=e.session.id,p=c.length+1+2+4+28+2+i+1+s+d,f=ve.util.createBuffer();return f.putByte(j.HandshakeType.client_hello),f.putInt24(p),f.putByte(e.version.major),f.putByte(e.version.minor),f.putBytes(e.session.sp.client_random),qi(f,1,ve.util.createBuffer(c)),qi(f,2,a),qi(f,1,r),d>0&&qi(f,2,u),f};j.createServerHello=function(e){var a=e.session.id,t=a.length+1+2+4+28+2+1,n=ve.util.createBuffer();return n.putByte(j.HandshakeType.server_hello),n.putInt24(t),n.putByte(e.version.major),n.putByte(e.version.minor),n.putBytes(e.session.sp.server_random),qi(n,1,ve.util.createBuffer(a)),n.putByte(e.session.cipherSuite.id[0]),n.putByte(e.session.cipherSuite.id[1]),n.putByte(e.session.compressionMethod),n};j.createCertificate=function(e){var a=e.entity===j.ConnectionEnd.client,t=null;if(e.getCertificate){var n;a?n=e.session.certificateRequest:n=e.session.extensions.server_name.serverNameList,t=e.getCertificate(e,n)}var i=ve.util.createBuffer();if(t!==null)try{ve.util.isArray(t)||(t=[t]);for(var r=null,s=0;s<t.length;++s){var u=ve.pem.decode(t[s])[0];if(u.type!=="CERTIFICATE"&&u.type!=="X509 CERTIFICATE"&&u.type!=="TRUSTED CERTIFICATE"){var o=new Error('Could not convert certificate from PEM; PEM header type is not "CERTIFICATE", "X509 CERTIFICATE", or "TRUSTED CERTIFICATE".');throw o.headerType=u.type,o}if(u.procType&&u.procType.type==="ENCRYPTED")throw new Error("Could not convert certificate from PEM; PEM is encrypted.");var l=ve.util.createBuffer(u.body);r===null&&(r=ve.asn1.fromDer(l.bytes(),!1));var g=ve.util.createBuffer();qi(g,3,l),i.putBuffer(g)}t=ve.pki.certificateFromAsn1(r),a?e.session.clientCertificate=t:e.session.serverCertificate=t}catch(p){return e.error(e,{message:"Could not send certificate list.",cause:p,send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.bad_certificate}})}var d=3+i.length(),c=ve.util.createBuffer();return c.putByte(j.HandshakeType.certificate),c.putInt24(d),qi(c,3,i),c};j.createClientKeyExchange=function(e){var a=ve.util.createBuffer();a.putByte(e.session.clientHelloVersion.major),a.putByte(e.session.clientHelloVersion.minor),a.putBytes(ve.random.getBytes(46));var t=e.session.sp;t.pre_master_secret=a.getBytes();var n=e.session.serverCertificate.publicKey;a=n.encrypt(t.pre_master_secret);var i=a.length+2,r=ve.util.createBuffer();return r.putByte(j.HandshakeType.client_key_exchange),r.putInt24(i),r.putInt16(a.length),r.putBytes(a),r};j.createServerKeyExchange=function(e){var a=ve.util.createBuffer();return a};j.getClientSignature=function(e,a){var t=ve.util.createBuffer();t.putBuffer(e.session.md5.digest()),t.putBuffer(e.session.sha1.digest()),t=t.getBytes(),e.getSignature=e.getSignature||function(n,i,r){var s=null;if(n.getPrivateKey)try{s=n.getPrivateKey(n,n.session.clientCertificate),s=ve.pki.privateKeyFromPem(s)}catch(u){n.error(n,{message:"Could not get private key.",cause:u,send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.internal_error}})}s===null?n.error(n,{message:"No private key set.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.internal_error}}):i=s.sign(i,null),r(n,i)},e.getSignature(e,t,a)};j.createCertificateVerify=function(e,a){var t=a.length+2,n=ve.util.createBuffer();return n.putByte(j.HandshakeType.certificate_verify),n.putInt24(t),n.putInt16(a.length),n.putBytes(a),n};j.createCertificateRequest=function(e){var a=ve.util.createBuffer();a.putByte(1);var t=ve.util.createBuffer();for(var n in e.caStore.certs){var i=e.caStore.certs[n],r=ve.pki.distinguishedNameToAsn1(i.subject),s=ve.asn1.toDer(r);t.putInt16(s.length()),t.putBuffer(s)}var u=1+a.length()+2+t.length(),o=ve.util.createBuffer();return o.putByte(j.HandshakeType.certificate_request),o.putInt24(u),qi(o,1,a),qi(o,2,t),o};j.createServerHelloDone=function(e){var a=ve.util.createBuffer();return a.putByte(j.HandshakeType.server_hello_done),a.putInt24(0),a};j.createChangeCipherSpec=function(){var e=ve.util.createBuffer();return e.putByte(1),e};j.createFinished=function(e){var a=ve.util.createBuffer();a.putBuffer(e.session.md5.digest()),a.putBuffer(e.session.sha1.digest());var t=e.entity===j.ConnectionEnd.client,n=e.session.sp,i=12,r=I9,s=t?"client finished":"server finished";a=r(n.master_secret,s,a.getBytes(),i);var u=ve.util.createBuffer();return u.putByte(j.HandshakeType.finished),u.putInt24(a.length()),u.putBuffer(a),u};j.createHeartbeat=function(e,a,t){typeof t>"u"&&(t=a.length);var n=ve.util.createBuffer();n.putByte(e),n.putInt16(t),n.putBytes(a);var i=n.length(),r=Math.max(16,i-t-3);return n.putBytes(ve.random.getBytes(r)),n};j.queue=function(e,a){if(a&&!(a.fragment.length()===0&&(a.type===j.ContentType.handshake||a.type===j.ContentType.alert||a.type===j.ContentType.change_cipher_spec))){if(a.type===j.ContentType.handshake){var t=a.fragment.bytes();e.session.md5.update(t),e.session.sha1.update(t),t=null}var n;if(a.fragment.length()<=j.MaxFragment)n=[a];else{n=[];for(var i=a.fragment.bytes();i.length>j.MaxFragment;)n.push(j.createRecord(e,{type:a.type,data:ve.util.createBuffer(i.slice(0,j.MaxFragment))})),i=i.slice(j.MaxFragment);i.length>0&&n.push(j.createRecord(e,{type:a.type,data:ve.util.createBuffer(i)}))}for(var r=0;r<n.length&&!e.fail;++r){var s=n[r],u=e.state.current.write;u.update(e,s)&&e.records.push(s)}}};j.flush=function(e){for(var a=0;a<e.records.length;++a){var t=e.records[a];e.tlsData.putByte(t.type),e.tlsData.putByte(t.version.major),e.tlsData.putByte(t.version.minor),e.tlsData.putInt16(t.fragment.length()),e.tlsData.putBuffer(e.records[a].fragment)}return e.records=[],e.tlsDataReady(e)};var wT=function(e){switch(e){case!0:return!0;case ve.pki.certificateError.bad_certificate:return j.Alert.Description.bad_certificate;case ve.pki.certificateError.unsupported_certificate:return j.Alert.Description.unsupported_certificate;case ve.pki.certificateError.certificate_revoked:return j.Alert.Description.certificate_revoked;case ve.pki.certificateError.certificate_expired:return j.Alert.Description.certificate_expired;case ve.pki.certificateError.certificate_unknown:return j.Alert.Description.certificate_unknown;case ve.pki.certificateError.unknown_ca:return j.Alert.Description.unknown_ca;default:return j.Alert.Description.bad_certificate}},$Se=function(e){switch(e){case!0:return!0;case j.Alert.Description.bad_certificate:return ve.pki.certificateError.bad_certificate;case j.Alert.Description.unsupported_certificate:return ve.pki.certificateError.unsupported_certificate;case j.Alert.Description.certificate_revoked:return ve.pki.certificateError.certificate_revoked;case j.Alert.Description.certificate_expired:return ve.pki.certificateError.certificate_expired;case j.Alert.Description.certificate_unknown:return ve.pki.certificateError.certificate_unknown;case j.Alert.Description.unknown_ca:return ve.pki.certificateError.unknown_ca;default:return ve.pki.certificateError.bad_certificate}};j.verifyCertificateChain=function(e,a){try{var t={};for(var n in e.verifyOptions)t[n]=e.verifyOptions[n];t.verify=function(r,s,u){var o=wT(r),l=e.verify(e,r,s,u);if(l!==!0){if(typeof l=="object"&&!ve.util.isArray(l)){var g=new Error("The application rejected the certificate.");throw g.send=!0,g.alert={level:j.Alert.Level.fatal,description:j.Alert.Description.bad_certificate},l.message&&(g.message=l.message),l.alert&&(g.alert.description=l.alert),g}l!==r&&(l=$Se(l))}return l},ve.pki.verifyCertificateChain(e.caStore,a,t)}catch(r){var i=r;(typeof i!="object"||ve.util.isArray(i))&&(i={send:!0,alert:{level:j.Alert.Level.fatal,description:wT(r)}}),"send"in i||(i.send=!0),"alert"in i||(i.alert={level:j.Alert.Level.fatal,description:wT(i.error)}),e.error(e,i)}return!e.fail};j.createSessionCache=function(e,a){var t=null;if(e&&e.getSession&&e.setSession&&e.order)t=e;else{t={},t.cache=e||{},t.capacity=Math.max(a||100,1),t.order=[];for(var n in e)t.order.length<=a?t.order.push(n):delete e[n];t.getSession=function(i){var r=null,s=null;if(i?s=ve.util.bytesToHex(i):t.order.length>0&&(s=t.order[0]),s!==null&&s in t.cache){r=t.cache[s],delete t.cache[s];for(var u in t.order)if(t.order[u]===s){t.order.splice(u,1);break}}return r},t.setSession=function(i,r){if(t.order.length===t.capacity){var s=t.order.shift();delete t.cache[s]}var s=ve.util.bytesToHex(i);t.order.push(s),t.cache[s]=r}}return t};j.createConnection=function(e){var a=null;e.caStore?ve.util.isArray(e.caStore)?a=ve.pki.createCaStore(e.caStore):a=e.caStore:a=ve.pki.createCaStore();var t=e.cipherSuites||null;if(t===null){t=[];for(var n in j.CipherSuites)t.push(j.CipherSuites[n])}var i=e.server?j.ConnectionEnd.server:j.ConnectionEnd.client,r=e.sessionCache?j.createSessionCache(e.sessionCache):null,s={version:{major:j.Version.major,minor:j.Version.minor},entity:i,sessionId:e.sessionId,caStore:a,sessionCache:r,cipherSuites:t,connected:e.connected,virtualHost:e.virtualHost||null,verifyClient:e.verifyClient||!1,verify:e.verify||function(g,d,c,p){return d},verifyOptions:e.verifyOptions||{},getCertificate:e.getCertificate||null,getPrivateKey:e.getPrivateKey||null,getSignature:e.getSignature||null,input:ve.util.createBuffer(),tlsData:ve.util.createBuffer(),data:ve.util.createBuffer(),tlsDataReady:e.tlsDataReady,dataReady:e.dataReady,heartbeatReceived:e.heartbeatReceived,closed:e.closed,error:function(g,d){d.origin=d.origin||(g.entity===j.ConnectionEnd.client?"client":"server"),d.send&&(j.queue(g,j.createAlert(g,d.alert)),j.flush(g));var c=d.fatal!==!1;c&&(g.fail=!0),e.error(g,d),c&&g.close(!1)},deflate:e.deflate||null,inflate:e.inflate||null};s.reset=function(g){s.version={major:j.Version.major,minor:j.Version.minor},s.record=null,s.session=null,s.peerCertificate=null,s.state={pending:null,current:null},s.expect=s.entity===j.ConnectionEnd.client?kSe:RSe,s.fragmented=null,s.records=[],s.open=!1,s.handshakes=0,s.handshaking=!1,s.isConnected=!1,s.fail=!(g||typeof g>"u"),s.input.clear(),s.tlsData.clear(),s.data.clear(),s.state.current=j.createConnectionState(s)},s.reset();var u=function(g,d){var c=d.type-j.ContentType.change_cipher_spec,p=$D[g.entity][g.expect];c in p?p[c](g,d):j.handleUnexpected(g,d)},o=function(g){var d=0,c=g.input,p=c.length();if(p<5)d=5-p;else{g.record={type:c.getByte(),version:{major:c.getByte(),minor:c.getByte()},length:c.getInt16(),fragment:ve.util.createBuffer(),ready:!1};var f=g.record.version.major===g.version.major;f&&g.session&&g.session.version&&(f=g.record.version.minor===g.version.minor),f||g.error(g,{message:"Incompatible TLS version.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.protocol_version}})}return d},l=function(g){var d=0,c=g.input,p=c.length();if(p<g.record.length)d=g.record.length-p;else{g.record.fragment.putBytes(c.getBytes(g.record.length)),c.compact();var f=g.state.current.read;f.update(g,g.record)&&(g.fragmented!==null&&(g.fragmented.type===g.record.type?(g.fragmented.fragment.putBuffer(g.record.fragment),g.record=g.fragmented):g.error(g,{message:"Invalid fragmented record.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.unexpected_message}})),g.record.ready=!0)}return d};return s.handshake=function(g){if(s.entity!==j.ConnectionEnd.client)s.error(s,{message:"Cannot initiate handshake as a server.",fatal:!1});else if(s.handshaking)s.error(s,{message:"Handshake already in progress.",fatal:!1});else{s.fail&&!s.open&&s.handshakes===0&&(s.fail=!1),s.handshaking=!0,g=g||"";var d=null;g.length>0&&(s.sessionCache&&(d=s.sessionCache.getSession(g)),d===null&&(g="")),g.length===0&&s.sessionCache&&(d=s.sessionCache.getSession(),d!==null&&(g=d.id)),s.session={id:g,version:null,cipherSuite:null,compressionMethod:null,serverCertificate:null,certificateRequest:null,clientCertificate:null,sp:{},md5:ve.md.md5.create(),sha1:ve.md.sha1.create()},d&&(s.version=d.version,s.session.sp=d.sp),s.session.sp.client_random=j.createRandom().getBytes(),s.open=!0,j.queue(s,j.createRecord(s,{type:j.ContentType.handshake,data:j.createClientHello(s)})),j.flush(s)}},s.process=function(g){var d=0;return g&&s.input.putBytes(g),s.fail||(s.record!==null&&s.record.ready&&s.record.fragment.isEmpty()&&(s.record=null),s.record===null&&(d=o(s)),!s.fail&&s.record!==null&&!s.record.ready&&(d=l(s)),!s.fail&&s.record!==null&&s.record.ready&&u(s,s.record)),d},s.prepare=function(g){return j.queue(s,j.createRecord(s,{type:j.ContentType.application_data,data:ve.util.createBuffer(g)})),j.flush(s)},s.prepareHeartbeatRequest=function(g,d){return g instanceof ve.util.ByteBuffer&&(g=g.bytes()),typeof d>"u"&&(d=g.length),s.expectedHeartbeatPayload=g,j.queue(s,j.createRecord(s,{type:j.ContentType.heartbeat,data:j.createHeartbeat(j.HeartbeatMessageType.heartbeat_request,g,d)})),j.flush(s)},s.close=function(g){if(!s.fail&&s.sessionCache&&s.session){var d={id:s.session.id,version:s.session.version,sp:s.session.sp};d.sp.keys=null,s.sessionCache.setSession(d.id,d)}s.open&&(s.open=!1,s.input.clear(),(s.isConnected||s.handshaking)&&(s.isConnected=s.handshaking=!1,j.queue(s,j.createAlert(s,{level:j.Alert.Level.warning,description:j.Alert.Description.close_notify})),j.flush(s)),s.closed(s)),s.reset(g)},s};ve.tls=ve.tls||{};for(var _T in j)typeof j[_T]!="function"&&(ve.tls[_T]=j[_T]);ve.tls.prf_tls1=I9;ve.tls.hmac_sha1=DSe;ve.tls.createSessionCache=j.createSessionCache;ve.tls.createConnection=j.createConnection;var Wu=ha,er=Wu.tls;er.CipherSuites.TLS_RSA_WITH_AES_128_CBC_SHA={id:[0,47],name:"TLS_RSA_WITH_AES_128_CBC_SHA",initSecurityParameters:function(e){e.bulk_cipher_algorithm=er.BulkCipherAlgorithm.aes,e.cipher_type=er.CipherType.block,e.enc_key_length=16,e.block_length=16,e.fixed_iv_length=16,e.record_iv_length=16,e.mac_algorithm=er.MACAlgorithm.hmac_sha1,e.mac_length=20,e.mac_key_length=20},initConnectionState:iU};er.CipherSuites.TLS_RSA_WITH_AES_256_CBC_SHA={id:[0,53],name:"TLS_RSA_WITH_AES_256_CBC_SHA",initSecurityParameters:function(e){e.bulk_cipher_algorithm=er.BulkCipherAlgorithm.aes,e.cipher_type=er.CipherType.block,e.enc_key_length=32,e.block_length=16,e.fixed_iv_length=16,e.record_iv_length=16,e.mac_algorithm=er.MACAlgorithm.hmac_sha1,e.mac_length=20,e.mac_key_length=20},initConnectionState:iU};function iU(e,a,t){var n=a.entity===Wu.tls.ConnectionEnd.client;e.read.cipherState={init:!1,cipher:Wu.cipher.createDecipher("AES-CBC",n?t.keys.server_write_key:t.keys.client_write_key),iv:n?t.keys.server_write_IV:t.keys.client_write_IV},e.write.cipherState={init:!1,cipher:Wu.cipher.createCipher("AES-CBC",n?t.keys.client_write_key:t.keys.server_write_key),iv:n?t.keys.client_write_IV:t.keys.server_write_IV},e.read.cipherFunction=VSe,e.write.cipherFunction=KSe,e.read.macLength=e.write.macLength=t.mac_length,e.read.macFunction=e.write.macFunction=er.hmac_sha1}function KSe(e,a){var t=!1,n=a.macFunction(a.macKey,a.sequenceNumber,e);e.fragment.putBytes(n),a.updateSequenceNumber();var i;e.version.minor===er.Versions.TLS_1_0.minor?i=a.cipherState.init?null:a.cipherState.iv:i=Wu.random.getBytesSync(16),a.cipherState.init=!0;var r=a.cipherState.cipher;return r.start({iv:i}),e.version.minor>=er.Versions.TLS_1_1.minor&&r.output.putBytes(i),r.update(e.fragment),r.finish(HSe)&&(e.fragment=r.output,e.length=e.fragment.length(),t=!0),t}function HSe(e,a,t){if(!t){var n=e-a.length()%e;a.fillWithByte(n-1,n)}return!0}function qSe(e,a,t){var n=!0;if(t){for(var i=a.length(),r=a.last(),s=i-1-r;s<i-1;++s)n=n&&a.at(s)==r;n&&a.truncate(r+1)}return n}function VSe(e,a){var t=!1,n;e.version.minor===er.Versions.TLS_1_0.minor?n=a.cipherState.init?null:a.cipherState.iv:n=e.fragment.getBytes(16),a.cipherState.init=!0;var i=a.cipherState.cipher;i.start({iv:n}),i.update(e.fragment),t=i.finish(qSe);var r=a.macLength,s=Wu.random.getBytesSync(r),u=i.output.length();u>=r?(e.fragment=i.output.getBytes(u-r),s=i.output.getBytes(r)):e.fragment=i.output.getBytes(),e.fragment=Wu.util.createBuffer(e.fragment),e.length=e.fragment.length();var o=a.macFunction(a.macKey,a.sequenceNumber,e);return a.updateSequenceNumber(),t=GSe(a.macKey,s,o)&&t,t}function GSe(e,a,t){var n=Wu.hmac.create();return n.start("SHA1",e),n.update(a),a=n.digest().getBytes(),n.start(null,null),n.update(t),t=n.digest().getBytes(),a===t}var st=ha,Np=st.sha512=st.sha512||{};st.md.sha512=st.md.algorithms.sha512=Np;var rU=st.sha384=st.sha512.sha384=st.sha512.sha384||{};rU.create=function(){return Np.create("SHA-384")};st.md.sha384=st.md.algorithms.sha384=rU;st.sha512.sha256=st.sha512.sha256||{create:function(){return Np.create("SHA-512/256")}};st.md["sha512/256"]=st.md.algorithms["sha512/256"]=st.sha512.sha256;st.sha512.sha224=st.sha512.sha224||{create:function(){return Np.create("SHA-512/224")}};st.md["sha512/224"]=st.md.algorithms["sha512/224"]=st.sha512.sha224;Np.create=function(e){if(sU||WSe(),typeof e>"u"&&(e="SHA-512"),!(e in Po))throw new Error("Invalid SHA-512 algorithm: "+e);for(var a=Po[e],t=null,n=st.util.createBuffer(),i=new Array(80),r=0;r<80;++r)i[r]=new Array(2);var s=64;switch(e){case"SHA-384":s=48;break;case"SHA-512/256":s=32;break;case"SHA-512/224":s=28;break}var u={algorithm:e.replace("-","").toLowerCase(),blockLength:128,digestLength:s,messageLength:0,fullMessageLength:null,messageLengthSize:16};return u.start=function(){u.messageLength=0,u.fullMessageLength=u.messageLength128=[];for(var o=u.messageLengthSize/4,l=0;l<o;++l)u.fullMessageLength.push(0);n=st.util.createBuffer(),t=new Array(a.length);for(var l=0;l<a.length;++l)t[l]=a[l].slice(0);return u},u.start(),u.update=function(o,l){l==="utf8"&&(o=st.util.encodeUtf8(o));var g=o.length;u.messageLength+=g,g=[g/4294967296>>>0,g>>>0];for(var d=u.fullMessageLength.length-1;d>=0;--d)u.fullMessageLength[d]+=g[1],g[1]=g[0]+(u.fullMessageLength[d]/4294967296>>>0),u.fullMessageLength[d]=u.fullMessageLength[d]>>>0,g[0]=g[1]/4294967296>>>0;return n.putBytes(o),Dw(t,i,n),(n.read>2048||n.length()===0)&&n.compact(),u},u.digest=function(){var o=st.util.createBuffer();o.putBytes(n.bytes());var l=u.fullMessageLength[u.fullMessageLength.length-1]+u.messageLengthSize,g=l&u.blockLength-1;o.putBytes(M7.substr(0,u.blockLength-g));for(var d,c,p=u.fullMessageLength[0]*8,f=0;f<u.fullMessageLength.length-1;++f)d=u.fullMessageLength[f+1]*8,c=d/4294967296>>>0,p+=c,o.putInt32(p>>>0),p=d>>>0;o.putInt32(p);for(var h=new Array(t.length),f=0;f<t.length;++f)h[f]=t[f].slice(0);Dw(h,i,o);var y=st.util.createBuffer(),b;e==="SHA-512"?b=h.length:e==="SHA-384"?b=h.length-2:b=h.length-4;for(var f=0;f<b;++f)y.putInt32(h[f][0]),(f!==b-1||e!=="SHA-512/224")&&y.putInt32(h[f][1]);return y},u};var M7=null,sU=!1,O7=null,Po=null;function WSe(){M7="",M7+=st.util.fillString("\0",128),O7=[[1116352408,3609767458],[1899447441,602891725],[3049323471,3964484399],[3921009573,2173295548],[961987163,4081628472],[1508970993,3053834265],[2453635748,2937671579],[2870763221,3664609560],[3624381080,2734883394],[310598401,1164996542],[607225278,1323610764],[1426881987,3590304994],[1925078388,4068182383],[2162078206,991336113],[2614888103,633803317],[3248222580,3479774868],[3835390401,2666613458],[4022224774,944711139],[264347078,2341262773],[604807628,2007800933],[770255983,1495990901],[1249150122,1856431235],[1555081692,3175218132],[1996064986,2198950837],[2554220882,3999719339],[2821834349,766784016],[2952996808,2566594879],[3210313671,3203337956],[3336571891,1034457026],[3584528711,2466948901],[113926993,3758326383],[338241895,168717936],[666307205,1188179964],[773529912,1546045734],[1294757372,1522805485],[1396182291,2643833823],[1695183700,2343527390],[1986661051,1014477480],[2177026350,1206759142],[2456956037,344077627],[2730485921,1290863460],[2820302411,3158454273],[3259730800,3505952657],[3345764771,106217008],[3516065817,3606008344],[3600352804,1432725776],[4094571909,1467031594],[275423344,851169720],[430227734,3100823752],[506948616,1363258195],[659060556,3750685593],[883997877,3785050280],[958139571,3318307427],[1322822218,3812723403],[1537002063,2003034995],[1747873779,3602036899],[1955562222,1575990012],[2024104815,1125592928],[2227730452,2716904306],[2361852424,442776044],[2428436474,593698344],[2756734187,3733110249],[3204031479,2999351573],[3329325298,3815920427],[3391569614,3928383900],[3515267271,566280711],[3940187606,3454069534],[4118630271,4000239992],[116418474,1914138554],[174292421,2731055270],[289380356,3203993006],[460393269,320620315],[685471733,587496836],[852142971,1086792851],[1017036298,365543100],[1126000580,2618297676],[1288033470,3409855158],[1501505948,4234509866],[1607167915,987167468],[1816402316,1246189591]],Po={},Po["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],Po["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],Po["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],Po["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],sU=!0}function Dw(e,a,t){for(var n,i,r,s,u,o,l,g,d,c,p,f,h,y,b,m,T,A,v,D,k,N,q,R,z,W,K,P,L,H,U,G,E,x,_,I=t.length();I>=128;){for(L=0;L<16;++L)a[L][0]=t.getInt32()>>>0,a[L][1]=t.getInt32()>>>0;for(;L<80;++L)G=a[L-2],H=G[0],U=G[1],n=((H>>>19|U<<13)^(U>>>29|H<<3)^H>>>6)>>>0,i=((H<<13|U>>>19)^(U<<3|H>>>29)^(H<<26|U>>>6))>>>0,x=a[L-15],H=x[0],U=x[1],r=((H>>>1|U<<31)^(H>>>8|U<<24)^H>>>7)>>>0,s=((H<<31|U>>>1)^(H<<24|U>>>8)^(H<<25|U>>>7))>>>0,E=a[L-7],_=a[L-16],U=i+E[1]+s+_[1],a[L][0]=n+E[0]+r+_[0]+(U/4294967296>>>0)>>>0,a[L][1]=U>>>0;for(h=e[0][0],y=e[0][1],b=e[1][0],m=e[1][1],T=e[2][0],A=e[2][1],v=e[3][0],D=e[3][1],k=e[4][0],N=e[4][1],q=e[5][0],R=e[5][1],z=e[6][0],W=e[6][1],K=e[7][0],P=e[7][1],L=0;L<80;++L)l=((k>>>14|N<<18)^(k>>>18|N<<14)^(N>>>9|k<<23))>>>0,g=((k<<18|N>>>14)^(k<<14|N>>>18)^(N<<23|k>>>9))>>>0,d=(z^k&(q^z))>>>0,c=(W^N&(R^W))>>>0,u=((h>>>28|y<<4)^(y>>>2|h<<30)^(y>>>7|h<<25))>>>0,o=((h<<4|y>>>28)^(y<<30|h>>>2)^(y<<25|h>>>7))>>>0,p=(h&b|T&(h^b))>>>0,f=(y&m|A&(y^m))>>>0,U=P+g+c+O7[L][1]+a[L][1],n=K+l+d+O7[L][0]+a[L][0]+(U/4294967296>>>0)>>>0,i=U>>>0,U=o+f,r=u+p+(U/4294967296>>>0)>>>0,s=U>>>0,K=z,P=W,z=q,W=R,q=k,R=N,U=D+i,k=v+n+(U/4294967296>>>0)>>>0,N=U>>>0,v=T,D=A,T=b,A=m,b=h,m=y,U=i+s,h=n+r+(U/4294967296>>>0)>>>0,y=U>>>0;U=e[0][1]+y,e[0][0]=e[0][0]+h+(U/4294967296>>>0)>>>0,e[0][1]=U>>>0,U=e[1][1]+m,e[1][0]=e[1][0]+b+(U/4294967296>>>0)>>>0,e[1][1]=U>>>0,U=e[2][1]+A,e[2][0]=e[2][0]+T+(U/4294967296>>>0)>>>0,e[2][1]=U>>>0,U=e[3][1]+D,e[3][0]=e[3][0]+v+(U/4294967296>>>0)>>>0,e[3][1]=U>>>0,U=e[4][1]+N,e[4][0]=e[4][0]+k+(U/4294967296>>>0)>>>0,e[4][1]=U>>>0,U=e[5][1]+R,e[5][0]=e[5][0]+q+(U/4294967296>>>0)>>>0,e[5][1]=U>>>0,U=e[6][1]+W,e[6][0]=e[6][0]+z+(U/4294967296>>>0)>>>0,e[6][1]=U>>>0,U=e[7][1]+P,e[7][0]=e[7][0]+K+(U/4294967296>>>0)>>>0,e[7][1]=U>>>0,I-=128}}var KD={},YSe=ha,Vt=YSe.asn1;KD.privateKeyValidator={name:"PrivateKeyInfo",tagClass:Vt.Class.UNIVERSAL,type:Vt.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:Vt.Class.UNIVERSAL,type:Vt.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:Vt.Class.UNIVERSAL,type:Vt.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:Vt.Class.UNIVERSAL,type:Vt.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:Vt.Class.UNIVERSAL,type:Vt.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]};KD.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:Vt.Class.UNIVERSAL,type:Vt.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:Vt.Class.UNIVERSAL,type:Vt.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:Vt.Class.UNIVERSAL,type:Vt.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{tagClass:Vt.Class.UNIVERSAL,type:Vt.Type.BITSTRING,constructed:!1,composed:!0,captureBitStringValue:"ed25519PublicKey"}]};var mn=ha,uU=KD,XSe=uU.publicKeyValidator,QSe=uU.privateKeyValidator;if(typeof ZSe>"u")var ZSe=mn.jsbn.BigInteger;var B7=mn.util.ByteBuffer,pi=typeof Buffer>"u"?Uint8Array:Buffer;mn.pki=mn.pki||{};mn.pki.ed25519=mn.ed25519=mn.ed25519||{};var Ta=mn.ed25519;Ta.constants={};Ta.constants.PUBLIC_KEY_BYTE_LENGTH=32;Ta.constants.PRIVATE_KEY_BYTE_LENGTH=64;Ta.constants.SEED_BYTE_LENGTH=32;Ta.constants.SIGN_BYTE_LENGTH=64;Ta.constants.HASH_BYTE_LENGTH=64;Ta.generateKeyPair=function(e){e=e||{};var a=e.seed;if(a===void 0)a=mn.random.getBytesSync(Ta.constants.SEED_BYTE_LENGTH);else if(typeof a=="string"){if(a.length!==Ta.constants.SEED_BYTE_LENGTH)throw new TypeError('"seed" must be '+Ta.constants.SEED_BYTE_LENGTH+" bytes in length.")}else if(!(a instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, Uint8Array, or a binary string.');a=Ks({message:a,encoding:"binary"});for(var t=new pi(Ta.constants.PUBLIC_KEY_BYTE_LENGTH),n=new pi(Ta.constants.PRIVATE_KEY_BYTE_LENGTH),i=0;i<32;++i)n[i]=a[i];return tAe(t,n),{publicKey:t,privateKey:n}};Ta.privateKeyFromAsn1=function(e){var a={},t=[],n=mn.asn1.validate(e,QSe,a,t);if(!n){var i=new Error("Invalid Key.");throw i.errors=t,i}var r=mn.asn1.derToOid(a.privateKeyOid),s=mn.oids.EdDSA25519;if(r!==s)throw new Error('Invalid OID "'+r+'"; OID must be "'+s+'".');var u=a.privateKey,o=Ks({message:mn.asn1.fromDer(u).value,encoding:"binary"});return{privateKeyBytes:o}};Ta.publicKeyFromAsn1=function(e){var a={},t=[],n=mn.asn1.validate(e,XSe,a,t);if(!n){var i=new Error("Invalid Key.");throw i.errors=t,i}var r=mn.asn1.derToOid(a.publicKeyOid),s=mn.oids.EdDSA25519;if(r!==s)throw new Error('Invalid OID "'+r+'"; OID must be "'+s+'".');var u=a.ed25519PublicKey;if(u.length!==Ta.constants.PUBLIC_KEY_BYTE_LENGTH)throw new Error("Key length is invalid.");return Ks({message:u,encoding:"binary"})};Ta.publicKeyFromPrivateKey=function(e){e=e||{};var a=Ks({message:e.privateKey,encoding:"binary"});if(a.length!==Ta.constants.PRIVATE_KEY_BYTE_LENGTH)throw new TypeError('"options.privateKey" must have a byte length of '+Ta.constants.PRIVATE_KEY_BYTE_LENGTH);for(var t=new pi(Ta.constants.PUBLIC_KEY_BYTE_LENGTH),n=0;n<t.length;++n)t[n]=a[32+n];return t};Ta.sign=function(e){e=e||{};var a=Ks(e),t=Ks({message:e.privateKey,encoding:"binary"});if(t.length===Ta.constants.SEED_BYTE_LENGTH){var n=Ta.generateKeyPair({seed:t});t=n.privateKey}else if(t.length!==Ta.constants.PRIVATE_KEY_BYTE_LENGTH)throw new TypeError('"options.privateKey" must have a byte length of '+Ta.constants.SEED_BYTE_LENGTH+" or "+Ta.constants.PRIVATE_KEY_BYTE_LENGTH);var i=new pi(Ta.constants.SIGN_BYTE_LENGTH+a.length);nAe(i,a,a.length,t);for(var r=new pi(Ta.constants.SIGN_BYTE_LENGTH),s=0;s<r.length;++s)r[s]=i[s];return r};Ta.verify=function(e){e=e||{};var a=Ks(e);if(e.signature===void 0)throw new TypeError('"options.signature" must be a node.js Buffer, a Uint8Array, a forge ByteBuffer, or a binary string.');var t=Ks({message:e.signature,encoding:"binary"});if(t.length!==Ta.constants.SIGN_BYTE_LENGTH)throw new TypeError('"options.signature" must have a byte length of '+Ta.constants.SIGN_BYTE_LENGTH);var n=Ks({message:e.publicKey,encoding:"binary"});if(n.length!==Ta.constants.PUBLIC_KEY_BYTE_LENGTH)throw new TypeError('"options.publicKey" must have a byte length of '+Ta.constants.PUBLIC_KEY_BYTE_LENGTH);var i=new pi(Ta.constants.SIGN_BYTE_LENGTH+a.length),r=new pi(Ta.constants.SIGN_BYTE_LENGTH+a.length),s;for(s=0;s<Ta.constants.SIGN_BYTE_LENGTH;++s)i[s]=t[s];for(s=0;s<a.length;++s)i[s+Ta.constants.SIGN_BYTE_LENGTH]=a[s];return iAe(r,i,i.length,n)>=0};function Ks(e){var a=e.message;if(a instanceof Uint8Array||a instanceof pi)return a;var t=e.encoding;if(a===void 0)if(e.md)a=e.md.digest().getBytes(),t="binary";else throw new TypeError('"options.message" or "options.md" not specified.');if(typeof a=="string"&&!t)throw new TypeError('"options.encoding" must be "binary" or "utf8".');if(typeof a=="string"){if(typeof Buffer<"u")return Buffer.from(a,t);a=new B7(a,t)}else if(!(a instanceof B7))throw new TypeError('"options.message" must be a node.js Buffer, a Uint8Array, a forge ByteBuffer, or a string with "options.encoding" specifying its encoding.');for(var n=new pi(a.length()),i=0;i<n.length;++i)n[i]=a.at(i);return n}var F7=aa(),Om=aa([1]),JSe=aa([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),eAe=aa([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),xw=aa([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),Ew=aa([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),IT=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]),aAe=aa([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function Z0(e,a){var t=mn.md.sha512.create(),n=new B7(e);t.update(n.getBytes(a),"binary");var i=t.digest().getBytes();if(typeof Buffer<"u")return Buffer.from(i,"binary");for(var r=new pi(Ta.constants.HASH_BYTE_LENGTH),s=0;s<64;++s)r[s]=i.charCodeAt(s);return r}function tAe(e,a){var t=[aa(),aa(),aa(),aa()],n,i=Z0(a,32);for(i[0]&=248,i[31]&=127,i[31]|=64,qD(t,i),HD(e,t),n=0;n<32;++n)a[n+32]=e[n];return 0}function nAe(e,a,t,n){var i,r,s=new Float64Array(64),u=[aa(),aa(),aa(),aa()],o=Z0(n,32);o[0]&=248,o[31]&=127,o[31]|=64;var l=t+64;for(i=0;i<t;++i)e[64+i]=a[i];for(i=0;i<32;++i)e[32+i]=o[32+i];var g=Z0(e.subarray(32),t+32);for(U7(g),qD(u,g),HD(e,u),i=32;i<64;++i)e[i]=n[i];var d=Z0(e,t+64);for(U7(d),i=32;i<64;++i)s[i]=0;for(i=0;i<32;++i)s[i]=g[i];for(i=0;i<32;++i)for(r=0;r<32;r++)s[i+r]+=d[i]*o[r];return oU(e.subarray(32),s),l}function iAe(e,a,t,n){var i,r,s=new pi(32),u=[aa(),aa(),aa(),aa()],o=[aa(),aa(),aa(),aa()];if(r=-1,t<64||rAe(o,n))return-1;for(i=0;i<t;++i)e[i]=a[i];for(i=0;i<32;++i)e[i+32]=n[i];var l=Z0(e,t);if(U7(l),dU(u,o,l),qD(o,a.subarray(32)),j7(u,o),HD(s,u),t-=64,lU(a,0,s,0)){for(i=0;i<t;++i)e[i]=0;return-1}for(i=0;i<t;++i)e[i]=a[i+64];return r=t,r}function oU(e,a){var t,n,i,r;for(n=63;n>=32;--n){for(t=0,i=n-32,r=n-12;i<r;++i)a[i]+=t-16*a[n]*IT[i-(n-32)],t=a[i]+128>>8,a[i]-=t*256;a[i]+=t,a[n]=0}for(t=0,i=0;i<32;++i)a[i]+=t-(a[31]>>4)*IT[i],t=a[i]>>8,a[i]&=255;for(i=0;i<32;++i)a[i]-=t*IT[i];for(n=0;n<32;++n)a[n+1]+=a[n]>>8,e[n]=a[n]&255}function U7(e){for(var a=new Float64Array(64),t=0;t<64;++t)a[t]=e[t],e[t]=0;oU(e,a)}function j7(e,a){var t=aa(),n=aa(),i=aa(),r=aa(),s=aa(),u=aa(),o=aa(),l=aa(),g=aa();dg(t,e[1],e[0]),dg(g,a[1],a[0]),Xa(t,t,g),ql(n,e[0],e[1]),ql(g,a[0],a[1]),Xa(n,n,g),Xa(i,e[3],a[3]),Xa(i,i,eAe),Xa(r,e[2],a[2]),ql(r,r,r),dg(s,n,t),dg(u,r,i),ql(o,r,i),ql(l,n,t),Xa(e[0],s,u),Xa(e[1],l,o),Xa(e[2],o,u),Xa(e[3],s,l)}function kw(e,a,t){for(var n=0;n<4;++n)cU(e[n],a[n],t)}function HD(e,a){var t=aa(),n=aa(),i=aa();lAe(i,a[2]),Xa(t,a[0],i),Xa(n,a[1],i),Bm(e,n),e[31]^=gU(t)<<7}function Bm(e,a){var t,n,i,r=aa(),s=aa();for(t=0;t<16;++t)s[t]=a[t];for(NT(s),NT(s),NT(s),n=0;n<2;++n){for(r[0]=s[0]-65517,t=1;t<15;++t)r[t]=s[t]-65535-(r[t-1]>>16&1),r[t-1]&=65535;r[15]=s[15]-32767-(r[14]>>16&1),i=r[15]>>16&1,r[14]&=65535,cU(s,r,1-i)}for(t=0;t<16;t++)e[2*t]=s[t]&255,e[2*t+1]=s[t]>>8}function rAe(e,a){var t=aa(),n=aa(),i=aa(),r=aa(),s=aa(),u=aa(),o=aa();return Nu(e[2],Om),sAe(e[1],a),Mo(i,e[1]),Xa(r,i,JSe),dg(i,i,e[2]),ql(r,e[2],r),Mo(s,r),Mo(u,s),Xa(o,u,s),Xa(t,o,i),Xa(t,t,r),uAe(t,t),Xa(t,t,i),Xa(t,t,r),Xa(t,t,r),Xa(e[0],t,r),Mo(n,e[0]),Xa(n,n,r),Cw(n,i)&&Xa(e[0],e[0],aAe),Mo(n,e[0]),Xa(n,n,r),Cw(n,i)?-1:(gU(e[0])===a[31]>>7&&dg(e[0],F7,e[0]),Xa(e[3],e[0],e[1]),0)}function sAe(e,a){var t;for(t=0;t<16;++t)e[t]=a[2*t]+(a[2*t+1]<<8);e[15]&=32767}function uAe(e,a){var t=aa(),n;for(n=0;n<16;++n)t[n]=a[n];for(n=250;n>=0;--n)Mo(t,t),n!==1&&Xa(t,t,a);for(n=0;n<16;++n)e[n]=t[n]}function Cw(e,a){var t=new pi(32),n=new pi(32);return Bm(t,e),Bm(n,a),lU(t,0,n,0)}function lU(e,a,t,n){return oAe(e,a,t,n,32)}function oAe(e,a,t,n,i){var r,s=0;for(r=0;r<i;++r)s|=e[a+r]^t[n+r];return(1&s-1>>>8)-1}function gU(e){var a=new pi(32);return Bm(a,e),a[0]&1}function dU(e,a,t){var n,i;for(Nu(e[0],F7),Nu(e[1],Om),Nu(e[2],Om),Nu(e[3],F7),i=255;i>=0;--i)n=t[i/8|0]>>(i&7)&1,kw(e,a,n),j7(a,e),j7(e,e),kw(e,a,n)}function qD(e,a){var t=[aa(),aa(),aa(),aa()];Nu(t[0],xw),Nu(t[1],Ew),Nu(t[2],Om),Xa(t[3],xw,Ew),dU(e,t,a)}function Nu(e,a){var t;for(t=0;t<16;t++)e[t]=a[t]|0}function lAe(e,a){var t=aa(),n;for(n=0;n<16;++n)t[n]=a[n];for(n=253;n>=0;--n)Mo(t,t),n!==2&&n!==4&&Xa(t,t,a);for(n=0;n<16;++n)e[n]=t[n]}function NT(e){var a,t,n=1;for(a=0;a<16;++a)t=e[a]+n+65535,n=Math.floor(t/65536),e[a]=t-n*65536;e[0]+=n-1+37*(n-1)}function cU(e,a,t){for(var n,i=~(t-1),r=0;r<16;++r)n=i&(e[r]^a[r]),e[r]^=n,a[r]^=n}function aa(e){var a,t=new Float64Array(16);if(e)for(a=0;a<e.length;++a)t[a]=e[a];return t}function ql(e,a,t){for(var n=0;n<16;++n)e[n]=a[n]+t[n]}function dg(e,a,t){for(var n=0;n<16;++n)e[n]=a[n]-t[n]}function Mo(e,a){Xa(e,a,a)}function Xa(e,a,t){var n,i,r=0,s=0,u=0,o=0,l=0,g=0,d=0,c=0,p=0,f=0,h=0,y=0,b=0,m=0,T=0,A=0,v=0,D=0,k=0,N=0,q=0,R=0,z=0,W=0,K=0,P=0,L=0,H=0,U=0,G=0,E=0,x=t[0],_=t[1],I=t[2],w=t[3],C=t[4],M=t[5],$=t[6],Z=t[7],ne=t[8],le=t[9],be=t[10],Te=t[11],ye=t[12],de=t[13],Ne=t[14],Be=t[15];n=a[0],r+=n*x,s+=n*_,u+=n*I,o+=n*w,l+=n*C,g+=n*M,d+=n*$,c+=n*Z,p+=n*ne,f+=n*le,h+=n*be,y+=n*Te,b+=n*ye,m+=n*de,T+=n*Ne,A+=n*Be,n=a[1],s+=n*x,u+=n*_,o+=n*I,l+=n*w,g+=n*C,d+=n*M,c+=n*$,p+=n*Z,f+=n*ne,h+=n*le,y+=n*be,b+=n*Te,m+=n*ye,T+=n*de,A+=n*Ne,v+=n*Be,n=a[2],u+=n*x,o+=n*_,l+=n*I,g+=n*w,d+=n*C,c+=n*M,p+=n*$,f+=n*Z,h+=n*ne,y+=n*le,b+=n*be,m+=n*Te,T+=n*ye,A+=n*de,v+=n*Ne,D+=n*Be,n=a[3],o+=n*x,l+=n*_,g+=n*I,d+=n*w,c+=n*C,p+=n*M,f+=n*$,h+=n*Z,y+=n*ne,b+=n*le,m+=n*be,T+=n*Te,A+=n*ye,v+=n*de,D+=n*Ne,k+=n*Be,n=a[4],l+=n*x,g+=n*_,d+=n*I,c+=n*w,p+=n*C,f+=n*M,h+=n*$,y+=n*Z,b+=n*ne,m+=n*le,T+=n*be,A+=n*Te,v+=n*ye,D+=n*de,k+=n*Ne,N+=n*Be,n=a[5],g+=n*x,d+=n*_,c+=n*I,p+=n*w,f+=n*C,h+=n*M,y+=n*$,b+=n*Z,m+=n*ne,T+=n*le,A+=n*be,v+=n*Te,D+=n*ye,k+=n*de,N+=n*Ne,q+=n*Be,n=a[6],d+=n*x,c+=n*_,p+=n*I,f+=n*w,h+=n*C,y+=n*M,b+=n*$,m+=n*Z,T+=n*ne,A+=n*le,v+=n*be,D+=n*Te,k+=n*ye,N+=n*de,q+=n*Ne,R+=n*Be,n=a[7],c+=n*x,p+=n*_,f+=n*I,h+=n*w,y+=n*C,b+=n*M,m+=n*$,T+=n*Z,A+=n*ne,v+=n*le,D+=n*be,k+=n*Te,N+=n*ye,q+=n*de,R+=n*Ne,z+=n*Be,n=a[8],p+=n*x,f+=n*_,h+=n*I,y+=n*w,b+=n*C,m+=n*M,T+=n*$,A+=n*Z,v+=n*ne,D+=n*le,k+=n*be,N+=n*Te,q+=n*ye,R+=n*de,z+=n*Ne,W+=n*Be,n=a[9],f+=n*x,h+=n*_,y+=n*I,b+=n*w,m+=n*C,T+=n*M,A+=n*$,v+=n*Z,D+=n*ne,k+=n*le,N+=n*be,q+=n*Te,R+=n*ye,z+=n*de,W+=n*Ne,K+=n*Be,n=a[10],h+=n*x,y+=n*_,b+=n*I,m+=n*w,T+=n*C,A+=n*M,v+=n*$,D+=n*Z,k+=n*ne,N+=n*le,q+=n*be,R+=n*Te,z+=n*ye,W+=n*de,K+=n*Ne,P+=n*Be,n=a[11],y+=n*x,b+=n*_,m+=n*I,T+=n*w,A+=n*C,v+=n*M,D+=n*$,k+=n*Z,N+=n*ne,q+=n*le,R+=n*be,z+=n*Te,W+=n*ye,K+=n*de,P+=n*Ne,L+=n*Be,n=a[12],b+=n*x,m+=n*_,T+=n*I,A+=n*w,v+=n*C,D+=n*M,k+=n*$,N+=n*Z,q+=n*ne,R+=n*le,z+=n*be,W+=n*Te,K+=n*ye,P+=n*de,L+=n*Ne,H+=n*Be,n=a[13],m+=n*x,T+=n*_,A+=n*I,v+=n*w,D+=n*C,k+=n*M,N+=n*$,q+=n*Z,R+=n*ne,z+=n*le,W+=n*be,K+=n*Te,P+=n*ye,L+=n*de,H+=n*Ne,U+=n*Be,n=a[14],T+=n*x,A+=n*_,v+=n*I,D+=n*w,k+=n*C,N+=n*M,q+=n*$,R+=n*Z,z+=n*ne,W+=n*le,K+=n*be,P+=n*Te,L+=n*ye,H+=n*de,U+=n*Ne,G+=n*Be,n=a[15],A+=n*x,v+=n*_,D+=n*I,k+=n*w,N+=n*C,q+=n*M,R+=n*$,z+=n*Z,W+=n*ne,K+=n*le,P+=n*be,L+=n*Te,H+=n*ye,U+=n*de,G+=n*Ne,E+=n*Be,r+=38*v,s+=38*D,u+=38*k,o+=38*N,l+=38*q,g+=38*R,d+=38*z,c+=38*W,p+=38*K,f+=38*P,h+=38*L,y+=38*H,b+=38*U,m+=38*G,T+=38*E,i=1,n=r+i+65535,i=Math.floor(n/65536),r=n-i*65536,n=s+i+65535,i=Math.floor(n/65536),s=n-i*65536,n=u+i+65535,i=Math.floor(n/65536),u=n-i*65536,n=o+i+65535,i=Math.floor(n/65536),o=n-i*65536,n=l+i+65535,i=Math.floor(n/65536),l=n-i*65536,n=g+i+65535,i=Math.floor(n/65536),g=n-i*65536,n=d+i+65535,i=Math.floor(n/65536),d=n-i*65536,n=c+i+65535,i=Math.floor(n/65536),c=n-i*65536,n=p+i+65535,i=Math.floor(n/65536),p=n-i*65536,n=f+i+65535,i=Math.floor(n/65536),f=n-i*65536,n=h+i+65535,i=Math.floor(n/65536),h=n-i*65536,n=y+i+65535,i=Math.floor(n/65536),y=n-i*65536,n=b+i+65535,i=Math.floor(n/65536),b=n-i*65536,n=m+i+65535,i=Math.floor(n/65536),m=n-i*65536,n=T+i+65535,i=Math.floor(n/65536),T=n-i*65536,n=A+i+65535,i=Math.floor(n/65536),A=n-i*65536,r+=i-1+37*(i-1),i=1,n=r+i+65535,i=Math.floor(n/65536),r=n-i*65536,n=s+i+65535,i=Math.floor(n/65536),s=n-i*65536,n=u+i+65535,i=Math.floor(n/65536),u=n-i*65536,n=o+i+65535,i=Math.floor(n/65536),o=n-i*65536,n=l+i+65535,i=Math.floor(n/65536),l=n-i*65536,n=g+i+65535,i=Math.floor(n/65536),g=n-i*65536,n=d+i+65535,i=Math.floor(n/65536),d=n-i*65536,n=c+i+65535,i=Math.floor(n/65536),c=n-i*65536,n=p+i+65535,i=Math.floor(n/65536),p=n-i*65536,n=f+i+65535,i=Math.floor(n/65536),f=n-i*65536,n=h+i+65535,i=Math.floor(n/65536),h=n-i*65536,n=y+i+65535,i=Math.floor(n/65536),y=n-i*65536,n=b+i+65535,i=Math.floor(n/65536),b=n-i*65536,n=m+i+65535,i=Math.floor(n/65536),m=n-i*65536,n=T+i+65535,i=Math.floor(n/65536),T=n-i*65536,n=A+i+65535,i=Math.floor(n/65536),A=n-i*65536,r+=i-1+37*(i-1),e[0]=r,e[1]=s,e[2]=u,e[3]=o,e[4]=l,e[5]=g,e[6]=d,e[7]=c,e[8]=p,e[9]=f,e[10]=h,e[11]=y,e[12]=b,e[13]=m,e[14]=T,e[15]=A}var vi=ha;vi.kem=vi.kem||{};var ww=vi.jsbn.BigInteger;vi.kem.rsa={};vi.kem.rsa.create=function(e,a){a=a||{};var t=a.prng||vi.random,n={};return n.encrypt=function(i,r){var s=Math.ceil(i.n.bitLength()/8),u;do u=new ww(vi.util.bytesToHex(t.getBytesSync(s)),16).mod(i.n);while(u.compareTo(ww.ONE)<=0);u=vi.util.hexToBytes(u.toString(16));var o=s-u.length;o>0&&(u=vi.util.fillString("\0",o)+u);var l=i.encrypt(u,"NONE"),g=e.generate(u,r);return{encapsulation:l,key:g}},n.decrypt=function(i,r,s){var u=i.decrypt(r,"NONE");return e.generate(u,s)},n};vi.kem.kdf1=function(e,a){pU(this,e,0,a||e.digestLength)};vi.kem.kdf2=function(e,a){pU(this,e,1,a||e.digestLength)};function pU(e,a,t,n){e.generate=function(i,r){for(var s=new vi.util.ByteBuffer,u=Math.ceil(r/n)+t,o=new vi.util.ByteBuffer,l=t;l<u;++l){o.putInt32(l),a.start(),a.update(i+o.getBytes());var g=a.digest();s.putBytes(g.getBytes(n))}return s.truncate(s.length()-r),s.getBytes()}}var Da=ha;Da.log=Da.log||{};Da.log.levels=["none","error","warning","info","debug","verbose","max"];var Fm={},z7=[],J0=null;Da.log.LEVEL_LOCKED=2;Da.log.NO_LEVEL_CHECK=4;Da.log.INTERPOLATE=8;for(var Lu=0;Lu<Da.log.levels.length;++Lu){var _w=Da.log.levels[Lu];Fm[_w]={index:Lu,name:_w.toUpperCase()}}Da.log.logMessage=function(e){for(var a=Fm[e.level].index,t=0;t<z7.length;++t){var n=z7[t];if(n.flags&Da.log.NO_LEVEL_CHECK)n.f(e);else{var i=Fm[n.level].index;a<=i&&n.f(n,e)}}};Da.log.prepareStandard=function(e){"standard"in e||(e.standard=Fm[e.level].name+" ["+e.category+"] "+e.message)};Da.log.prepareFull=function(e){if(!("full"in e)){var a=[e.message];a=a.concat([]),e.full=Da.util.format.apply(this,a)}};Da.log.prepareStandardFull=function(e){"standardFull"in e||(Da.log.prepareStandard(e),e.standardFull=e.standard)};for(var Iw=["error","warning","info","debug","verbose"],Lu=0;Lu<Iw.length;++Lu)(function(a){Da.log[a]=function(t,n){var i=Array.prototype.slice.call(arguments).slice(2),r={timestamp:new Date,level:a,category:t,message:n,arguments:i};Da.log.logMessage(r)}})(Iw[Lu]);Da.log.makeLogger=function(e){var a={flags:0,f:e};return Da.log.setLevel(a,"none"),a};Da.log.setLevel=function(e,a){var t=!1;if(e&&!(e.flags&Da.log.LEVEL_LOCKED))for(var n=0;n<Da.log.levels.length;++n){var i=Da.log.levels[n];if(a==i){e.level=a,t=!0;break}}return t};Da.log.lock=function(e,a){typeof a>"u"||a?e.flags|=Da.log.LEVEL_LOCKED:e.flags&=~Da.log.LEVEL_LOCKED};Da.log.addLogger=function(e){z7.push(e)};if(typeof console<"u"&&"log"in console){var a0;if(console.error&&console.warn&&console.info&&console.debug){var gAe={error:console.error,warning:console.warn,info:console.info,debug:console.debug,verbose:console.debug},VD=function(e,a){Da.log.prepareStandard(a);var t=gAe[a.level],n=[a.standard];n=n.concat(a.arguments.slice()),t.apply(console,n)};a0=Da.log.makeLogger(VD)}else{var VD=function(a,t){Da.log.prepareStandardFull(t),console.log(t.standardFull)};a0=Da.log.makeLogger(VD)}Da.log.setLevel(a0,"debug"),Da.log.addLogger(a0),J0=a0}else console={log:function(){}};if(J0!==null&&typeof window<"u"&&window.location){var qf=new URL(window.location.href).searchParams;if(qf.has("console.level")&&Da.log.setLevel(J0,qf.get("console.level").slice(-1)[0]),qf.has("console.lock")){var dAe=qf.get("console.lock").slice(-1)[0];dAe=="true"&&Da.log.lock(J0)}}Da.log.consoleLogger=J0;var Re=ha,ae=Re.asn1,Bn=Re.pkcs7=Re.pkcs7||{};Bn.messageFromPem=function(e){var a=Re.pem.decode(e)[0];if(a.type!=="PKCS7"){var t=new Error('Could not convert PKCS#7 message from PEM; PEM header type is not "PKCS#7".');throw t.headerType=a.type,t}if(a.procType&&a.procType.type==="ENCRYPTED")throw new Error("Could not convert PKCS#7 message from PEM; PEM is encrypted.");var n=ae.fromDer(a.body);return Bn.messageFromAsn1(n)};Bn.messageToPem=function(e,a){var t={type:"PKCS7",body:ae.toDer(e.toAsn1()).getBytes()};return Re.pem.encode(t,{maxline:a})};Bn.messageFromAsn1=function(e){var a={},t=[];if(!ae.validate(e,Bn.asn1.contentInfoValidator,a,t)){var n=new Error("Cannot read PKCS#7 message. ASN.1 object is not an PKCS#7 ContentInfo.");throw n.errors=t,n}var i=ae.derToOid(a.contentType),r;switch(i){case Re.pki.oids.envelopedData:r=Bn.createEnvelopedData();break;case Re.pki.oids.encryptedData:r=Bn.createEncryptedData();break;case Re.pki.oids.signedData:r=Bn.createSignedData();break;default:throw new Error("Cannot read PKCS#7 message. ContentType with OID "+i+" is not (yet) supported.")}return r.fromAsn1(a.content.value[0]),r};Bn.createSignedData=function(){var e=null;return e={type:Re.pki.oids.signedData,version:1,certificates:[],crls:[],signers:[],digestAlgorithmIdentifiers:[],contentInfo:null,signerInfos:[],fromAsn1:function(n){if(GD(e,n,Bn.asn1.signedDataValidator),e.certificates=[],e.crls=[],e.digestAlgorithmIdentifiers=[],e.contentInfo=null,e.signerInfos=[],e.rawCapture.certificates)for(var i=e.rawCapture.certificates.value,r=0;r<i.length;++r)e.certificates.push(Re.pki.certificateFromAsn1(i[r]))},toAsn1:function(){e.contentInfo||e.sign();for(var n=[],i=0;i<e.certificates.length;++i)n.push(Re.pki.certificateToAsn1(e.certificates[i]));var r=[],s=ae.create(ae.Class.CONTEXT_SPECIFIC,0,!0,[ae.create(ae.Class.UNIVERSAL,ae.Type.SEQUENCE,!0,[ae.create(ae.Class.UNIVERSAL,ae.Type.INTEGER,!1,ae.integerToDer(e.version).getBytes()),ae.create(ae.Class.UNIVERSAL,ae.Type.SET,!0,e.digestAlgorithmIdentifiers),e.contentInfo])]);return n.length>0&&s.value[0].value.push(ae.create(ae.Class.CONTEXT_SPECIFIC,0,!0,n)),r.length>0&&s.value[0].value.push(ae.create(ae.Class.CONTEXT_SPECIFIC,1,!0,r)),s.value[0].value.push(ae.create(ae.Class.UNIVERSAL,ae.Type.SET,!0,e.signerInfos)),ae.create(ae.Class.UNIVERSAL,ae.Type.SEQUENCE,!0,[ae.create(ae.Class.UNIVERSAL,ae.Type.OID,!1,ae.oidToDer(e.type).getBytes()),s])},addSigner:function(n){var i=n.issuer,r=n.serialNumber;if(n.certificate){var s=n.certificate;typeof s=="string"&&(s=Re.pki.certificateFromPem(s)),i=s.issuer.attributes,r=s.serialNumber}var u=n.key;if(!u)throw new Error("Could not add PKCS#7 signer; no private key specified.");typeof u=="string"&&(u=Re.pki.privateKeyFromPem(u));var o=n.digestAlgorithm||Re.pki.oids.sha1;switch(o){case Re.pki.oids.sha1:case Re.pki.oids.sha256:case Re.pki.oids.sha384:case Re.pki.oids.sha512:case Re.pki.oids.md5:break;default:throw new Error("Could not add PKCS#7 signer; unknown message digest algorithm: "+o)}var l=n.authenticatedAttributes||[];if(l.length>0){for(var g=!1,d=!1,c=0;c<l.length;++c){var p=l[c];if(!g&&p.type===Re.pki.oids.contentType){if(g=!0,d)break;continue}if(!d&&p.type===Re.pki.oids.messageDigest){if(d=!0,g)break;continue}}if(!g||!d)throw new Error("Invalid signer.authenticatedAttributes. If signer.authenticatedAttributes is specified, then it must contain at least two attributes, PKCS #9 content-type and PKCS #9 message-digest.")}e.signers.push({key:u,version:1,issuer:i,serialNumber:r,digestAlgorithm:o,signatureAlgorithm:Re.pki.oids.rsaEncryption,signature:null,authenticatedAttributes:l,unauthenticatedAttributes:[]})},sign:function(n){if(n=n||{},(typeof e.content!="object"||e.contentInfo===null)&&(e.contentInfo=ae.create(ae.Class.UNIVERSAL,ae.Type.SEQUENCE,!0,[ae.create(ae.Class.UNIVERSAL,ae.Type.OID,!1,ae.oidToDer(Re.pki.oids.data).getBytes())]),"content"in e)){var i;e.content instanceof Re.util.ByteBuffer?i=e.content.bytes():typeof e.content=="string"&&(i=Re.util.encodeUtf8(e.content)),n.detached?e.detachedContent=ae.create(ae.Class.UNIVERSAL,ae.Type.OCTETSTRING,!1,i):e.contentInfo.value.push(ae.create(ae.Class.CONTEXT_SPECIFIC,0,!0,[ae.create(ae.Class.UNIVERSAL,ae.Type.OCTETSTRING,!1,i)]))}if(e.signers.length!==0){var r=a();t(r)}},verify:function(){throw new Error("PKCS#7 signature verification not yet implemented.")},addCertificate:function(n){typeof n=="string"&&(n=Re.pki.certificateFromPem(n)),e.certificates.push(n)},addCertificateRevokationList:function(n){throw new Error("PKCS#7 CRL support not yet implemented.")}},e;function a(){for(var n={},i=0;i<e.signers.length;++i){var r=e.signers[i],s=r.digestAlgorithm;s in n||(n[s]=Re.md[Re.pki.oids[s]].create()),r.authenticatedAttributes.length===0?r.md=n[s]:r.md=Re.md[Re.pki.oids[s]].create()}e.digestAlgorithmIdentifiers=[];for(var s in n)e.digestAlgorithmIdentifiers.push(ae.create(ae.Class.UNIVERSAL,ae.Type.SEQUENCE,!0,[ae.create(ae.Class.UNIVERSAL,ae.Type.OID,!1,ae.oidToDer(s).getBytes()),ae.create(ae.Class.UNIVERSAL,ae.Type.NULL,!1,"")]));return n}function t(n){var i;if(e.detachedContent?i=e.detachedContent:(i=e.contentInfo.value[1],i=i.value[0]),!i)throw new Error("Could not sign PKCS#7 message; there is no content to sign.");var r=ae.derToOid(e.contentInfo.value[0].value),s=ae.toDer(i);s.getByte(),ae.getBerValueLength(s),s=s.getBytes();for(var u in n)n[u].start().update(s);for(var o=new Date,l=0;l<e.signers.length;++l){var g=e.signers[l];if(g.authenticatedAttributes.length===0){if(r!==Re.pki.oids.data)throw new Error("Invalid signer; authenticatedAttributes must be present when the ContentInfo content type is not PKCS#7 Data.")}else{g.authenticatedAttributesAsn1=ae.create(ae.Class.CONTEXT_SPECIFIC,0,!0,[]);for(var d=ae.create(ae.Class.UNIVERSAL,ae.Type.SET,!0,[]),c=0;c<g.authenticatedAttributes.length;++c){var p=g.authenticatedAttributes[c];p.type===Re.pki.oids.messageDigest?p.value=n[g.digestAlgorithm].digest():p.type===Re.pki.oids.signingTime&&(p.value||(p.value=o)),d.value.push($7(p)),g.authenticatedAttributesAsn1.value.push($7(p))}s=ae.toDer(d).getBytes(),g.md.start().update(s)}g.signature=g.key.sign(g.md,"RSASSA-PKCS1-V1_5")}e.signerInfos=yAe(e.signers)}};Bn.createEncryptedData=function(){var e=null;return e={type:Re.pki.oids.encryptedData,version:0,encryptedContent:{algorithm:Re.pki.oids["aes256-CBC"]},fromAsn1:function(a){GD(e,a,Bn.asn1.encryptedDataValidator)},decrypt:function(a){a!==void 0&&(e.encryptedContent.key=a),fU(e)}},e};Bn.createEnvelopedData=function(){var e=null;return e={type:Re.pki.oids.envelopedData,version:0,recipients:[],encryptedContent:{algorithm:Re.pki.oids["aes256-CBC"]},fromAsn1:function(a){var t=GD(e,a,Bn.asn1.envelopedDataValidator);e.recipients=fAe(t.recipientInfos.value)},toAsn1:function(){return ae.create(ae.Class.UNIVERSAL,ae.Type.SEQUENCE,!0,[ae.create(ae.Class.UNIVERSAL,ae.Type.OID,!1,ae.oidToDer(e.type).getBytes()),ae.create(ae.Class.CONTEXT_SPECIFIC,0,!0,[ae.create(ae.Class.UNIVERSAL,ae.Type.SEQUENCE,!0,[ae.create(ae.Class.UNIVERSAL,ae.Type.INTEGER,!1,ae.integerToDer(e.version).getBytes()),ae.create(ae.Class.UNIVERSAL,ae.Type.SET,!0,hAe(e.recipients)),ae.create(ae.Class.UNIVERSAL,ae.Type.SEQUENCE,!0,bAe(e.encryptedContent))])])])},findRecipient:function(a){for(var t=a.issuer.attributes,n=0;n<e.recipients.length;++n){var i=e.recipients[n],r=i.issuer;if(i.serialNumber===a.serialNumber&&r.length===t.length){for(var s=!0,u=0;u<t.length;++u)if(r[u].type!==t[u].type||r[u].value!==t[u].value){s=!1;break}if(s)return i}}return null},decrypt:function(a,t){if(e.encryptedContent.key===void 0&&a!==void 0&&t!==void 0)switch(a.encryptedContent.algorithm){case Re.pki.oids.rsaEncryption:case Re.pki.oids.desCBC:var n=t.decrypt(a.encryptedContent.content);e.encryptedContent.key=Re.util.createBuffer(n);break;default:throw new Error("Unsupported asymmetric cipher, OID "+a.encryptedContent.algorithm)}fU(e)},addRecipient:function(a){e.recipients.push({version:0,issuer:a.issuer.attributes,serialNumber:a.serialNumber,encryptedContent:{algorithm:Re.pki.oids.rsaEncryption,key:a.publicKey}})},encrypt:function(a,t){if(e.encryptedContent.content===void 0){t=t||e.encryptedContent.algorithm,a=a||e.encryptedContent.key;var n,i,r;switch(t){case Re.pki.oids["aes128-CBC"]:n=16,i=16,r=Re.aes.createEncryptionCipher;break;case Re.pki.oids["aes192-CBC"]:n=24,i=16,r=Re.aes.createEncryptionCipher;break;case Re.pki.oids["aes256-CBC"]:n=32,i=16,r=Re.aes.createEncryptionCipher;break;case Re.pki.oids["des-EDE3-CBC"]:n=24,i=8,r=Re.des.createEncryptionCipher;break;default:throw new Error("Unsupported symmetric cipher, OID "+t)}if(a===void 0)a=Re.util.createBuffer(Re.random.getBytes(n));else if(a.length()!=n)throw new Error("Symmetric key has wrong length; got "+a.length()+" bytes, expected "+n+".");e.encryptedContent.algorithm=t,e.encryptedContent.key=a,e.encryptedContent.parameter=Re.util.createBuffer(Re.random.getBytes(i));var s=r(a);if(s.start(e.encryptedContent.parameter.copy()),s.update(e.content),!s.finish())throw new Error("Symmetric encryption failed.");e.encryptedContent.content=s.output}for(var u=0;u<e.recipients.length;++u){var o=e.recipients[u];if(o.encryptedContent.content===void 0)switch(o.encryptedContent.algorithm){case Re.pki.oids.rsaEncryption:o.encryptedContent.content=o.encryptedContent.key.encrypt(e.encryptedContent.key.data);break;default:throw new Error("Unsupported asymmetric cipher, OID "+o.encryptedContent.algorithm)}}}},e};function cAe(e){var a={},t=[];if(!ae.validate(e,Bn.asn1.recipientInfoValidator,a,t)){var n=new Error("Cannot read PKCS#7 RecipientInfo. ASN.1 object is not an PKCS#7 RecipientInfo.");throw n.errors=t,n}return{version:a.version.charCodeAt(0),issuer:Re.pki.RDNAttributesAsArray(a.issuer),serialNumber:Re.util.createBuffer(a.serial).toHex(),encryptedContent:{algorithm:ae.derToOid(a.encAlgorithm),parameter:a.encParameter?a.encParameter.value:void 0,content:a.encKey}}}function pAe(e){return ae.create(ae.Class.UNIVERSAL,ae.Type.SEQUENCE,!0,[ae.create(ae.Class.UNIVERSAL,ae.Type.INTEGER,!1,ae.integerToDer(e.version).getBytes()),ae.create(ae.Class.UNIVERSAL,ae.Type.SEQUENCE,!0,[Re.pki.distinguishedNameToAsn1({attributes:e.issuer}),ae.create(ae.Class.UNIVERSAL,ae.Type.INTEGER,!1,Re.util.hexToBytes(e.serialNumber))]),ae.create(ae.Class.UNIVERSAL,ae.Type.SEQUENCE,!0,[ae.create(ae.Class.UNIVERSAL,ae.Type.OID,!1,ae.oidToDer(e.encryptedContent.algorithm).getBytes()),ae.create(ae.Class.UNIVERSAL,ae.Type.NULL,!1,"")]),ae.create(ae.Class.UNIVERSAL,ae.Type.OCTETSTRING,!1,e.encryptedContent.content)])}function fAe(e){for(var a=[],t=0;t<e.length;++t)a.push(cAe(e[t]));return a}function hAe(e){for(var a=[],t=0;t<e.length;++t)a.push(pAe(e[t]));return a}function mAe(e){var a=ae.create(ae.Class.UNIVERSAL,ae.Type.SEQUENCE,!0,[ae.create(ae.Class.UNIVERSAL,ae.Type.INTEGER,!1,ae.integerToDer(e.version).getBytes()),ae.create(ae.Class.UNIVERSAL,ae.Type.SEQUENCE,!0,[Re.pki.distinguishedNameToAsn1({attributes:e.issuer}),ae.create(ae.Class.UNIVERSAL,ae.Type.INTEGER,!1,Re.util.hexToBytes(e.serialNumber))]),ae.create(ae.Class.UNIVERSAL,ae.Type.SEQUENCE,!0,[ae.create(ae.Class.UNIVERSAL,ae.Type.OID,!1,ae.oidToDer(e.digestAlgorithm).getBytes()),ae.create(ae.Class.UNIVERSAL,ae.Type.NULL,!1,"")])]);if(e.authenticatedAttributesAsn1&&a.value.push(e.authenticatedAttributesAsn1),a.value.push(ae.create(ae.Class.UNIVERSAL,ae.Type.SEQUENCE,!0,[ae.create(ae.Class.UNIVERSAL,ae.Type.OID,!1,ae.oidToDer(e.signatureAlgorithm).getBytes()),ae.create(ae.Class.UNIVERSAL,ae.Type.NULL,!1,"")])),a.value.push(ae.create(ae.Class.UNIVERSAL,ae.Type.OCTETSTRING,!1,e.signature)),e.unauthenticatedAttributes.length>0){for(var t=ae.create(ae.Class.CONTEXT_SPECIFIC,1,!0,[]),n=0;n<e.unauthenticatedAttributes.length;++n){var i=e.unauthenticatedAttributes[n];t.values.push($7(i))}a.value.push(t)}return a}function yAe(e){for(var a=[],t=0;t<e.length;++t)a.push(mAe(e[t]));return a}function $7(e){var a;if(e.type===Re.pki.oids.contentType)a=ae.create(ae.Class.UNIVERSAL,ae.Type.OID,!1,ae.oidToDer(e.value).getBytes());else if(e.type===Re.pki.oids.messageDigest)a=ae.create(ae.Class.UNIVERSAL,ae.Type.OCTETSTRING,!1,e.value.bytes());else if(e.type===Re.pki.oids.signingTime){var t=new Date("1950-01-01T00:00:00Z"),n=new Date("2050-01-01T00:00:00Z"),i=e.value;if(typeof i=="string"){var r=Date.parse(i);isNaN(r)?i.length===13?i=ae.utcTimeToDate(i):i=ae.generalizedTimeToDate(i):i=new Date(r)}i>=t&&i<n?a=ae.create(ae.Class.UNIVERSAL,ae.Type.UTCTIME,!1,ae.dateToUtcTime(i)):a=ae.create(ae.Class.UNIVERSAL,ae.Type.GENERALIZEDTIME,!1,ae.dateToGeneralizedTime(i))}return ae.create(ae.Class.UNIVERSAL,ae.Type.SEQUENCE,!0,[ae.create(ae.Class.UNIVERSAL,ae.Type.OID,!1,ae.oidToDer(e.type).getBytes()),ae.create(ae.Class.UNIVERSAL,ae.Type.SET,!0,[a])])}function bAe(e){return[ae.create(ae.Class.UNIVERSAL,ae.Type.OID,!1,ae.oidToDer(Re.pki.oids.data).getBytes()),ae.create(ae.Class.UNIVERSAL,ae.Type.SEQUENCE,!0,[ae.create(ae.Class.UNIVERSAL,ae.Type.OID,!1,ae.oidToDer(e.algorithm).getBytes()),e.parameter?ae.create(ae.Class.UNIVERSAL,ae.Type.OCTETSTRING,!1,e.parameter.getBytes()):void 0]),ae.create(ae.Class.CONTEXT_SPECIFIC,0,!0,[ae.create(ae.Class.UNIVERSAL,ae.Type.OCTETSTRING,!1,e.content.getBytes())])]}function GD(e,a,t){var n={},i=[];if(!ae.validate(a,t,n,i)){var r=new Error("Cannot read PKCS#7 message. ASN.1 object is not a supported PKCS#7 message.");throw r.errors=r,r}var s=ae.derToOid(n.contentType);if(s!==Re.pki.oids.data)throw new Error("Unsupported PKCS#7 message. Only wrapped ContentType Data supported.");if(n.encryptedContent){var u="";if(Re.util.isArray(n.encryptedContent))for(var o=0;o<n.encryptedContent.length;++o){if(n.encryptedContent[o].type!==ae.Type.OCTETSTRING)throw new Error("Malformed PKCS#7 message, expecting encrypted content constructed of only OCTET STRING objects.");u+=n.encryptedContent[o].value}else u=n.encryptedContent;e.encryptedContent={algorithm:ae.derToOid(n.encAlgorithm),parameter:Re.util.createBuffer(n.encParameter.value),content:Re.util.createBuffer(u)}}if(n.content){var u="";if(Re.util.isArray(n.content))for(var o=0;o<n.content.length;++o){if(n.content[o].type!==ae.Type.OCTETSTRING)throw new Error("Malformed PKCS#7 message, expecting content constructed of only OCTET STRING objects.");u+=n.content[o].value}else u=n.content;e.content=Re.util.createBuffer(u)}return e.version=n.version.charCodeAt(0),e.rawCapture=n,n}function fU(e){if(e.encryptedContent.key===void 0)throw new Error("Symmetric key not available.");if(e.content===void 0){var a;switch(e.encryptedContent.algorithm){case Re.pki.oids["aes128-CBC"]:case Re.pki.oids["aes192-CBC"]:case Re.pki.oids["aes256-CBC"]:a=Re.aes.createDecryptionCipher(e.encryptedContent.key);break;case Re.pki.oids.desCBC:case Re.pki.oids["des-EDE3-CBC"]:a=Re.des.createDecryptionCipher(e.encryptedContent.key);break;default:throw new Error("Unsupported symmetric cipher, OID "+e.encryptedContent.algorithm)}if(a.start(e.encryptedContent.parameter),a.update(e.encryptedContent.content),!a.finish())throw new Error("Symmetric decryption failed.");e.content=a.output}}var Nt=ha,N9=Nt.ssh=Nt.ssh||{};N9.privateKeyToPutty=function(e,a,t){t=t||"",a=a||"";var n="ssh-rsa",i=a===""?"none":"aes256-cbc",r="PuTTY-User-Key-File-2: "+n+`\r
`;r+="Encryption: "+i+`\r
`,r+="Comment: "+t+`\r
`;var s=Nt.util.createBuffer();cg(s,n),Yr(s,e.e),Yr(s,e.n);var u=Nt.util.encode64(s.bytes(),64),o=Math.floor(u.length/66)+1;r+="Public-Lines: "+o+`\r
`,r+=u;var l=Nt.util.createBuffer();Yr(l,e.d),Yr(l,e.p),Yr(l,e.q),Yr(l,e.qInv);var g;if(!a)g=Nt.util.encode64(l.bytes(),64);else{var d=l.length()+16-1;d-=d%16;var c=Vf(l.bytes());c.truncate(c.length()-d+l.length()),l.putBuffer(c);var p=Nt.util.createBuffer();p.putBuffer(Vf("\0\0\0\0",a)),p.putBuffer(Vf("\0\0\0",a));var f=Nt.aes.createEncryptionCipher(p.truncate(8),"CBC");f.start(Nt.util.createBuffer().fillWithByte(0,16)),f.update(l.copy()),f.finish();var h=f.output;h.truncate(16),g=Nt.util.encode64(h.bytes(),64)}o=Math.floor(g.length/66)+1,r+=`\r
Private-Lines: `+o+`\r
`,r+=g;var y=Vf("putty-private-key-file-mac-key",a),b=Nt.util.createBuffer();cg(b,n),cg(b,i),cg(b,t),b.putInt32(s.length()),b.putBuffer(s),b.putInt32(l.length()),b.putBuffer(l);var m=Nt.hmac.create();return m.start("sha1",y),m.update(b.bytes()),r+=`\r
Private-MAC: `+m.digest().toHex()+`\r
`,r};N9.publicKeyToOpenSSH=function(e,a){var t="ssh-rsa";a=a||"";var n=Nt.util.createBuffer();return cg(n,t),Yr(n,e.e),Yr(n,e.n),t+" "+Nt.util.encode64(n.bytes())+" "+a};N9.privateKeyToOpenSSH=function(e,a){return a?Nt.pki.encryptRsaPrivateKey(e,a,{legacy:!0,algorithm:"aes128"}):Nt.pki.privateKeyToPem(e)};N9.getPublicKeyFingerprint=function(e,a){a=a||{};var t=a.md||Nt.md.md5.create(),n="ssh-rsa",i=Nt.util.createBuffer();cg(i,n),Yr(i,e.e),Yr(i,e.n),t.start(),t.update(i.getBytes());var r=t.digest();if(a.encoding==="hex"){var s=r.toHex();return a.delimiter?s.match(/.{2}/g).join(a.delimiter):s}else{if(a.encoding==="binary")return r.getBytes();if(a.encoding)throw new Error('Unknown encoding "'+a.encoding+'".')}return r};function Yr(e,a){var t=a.toString(16);t[0]>="8"&&(t="00"+t);var n=Nt.util.hexToBytes(t);e.putInt32(n.length),e.putBytes(n)}function cg(e,a){e.putInt32(a.length),e.putString(a)}function Vf(){for(var e=Nt.md.sha1.create(),a=arguments.length,t=0;t<a;++t)e.update(arguments[t]);return e.digest()}var TAe=ha;const nCe=an(TAe);var hU={exports:{}},SAe="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",AAe=SAe,vAe=AAe;function mU(){}function yU(){}yU.resetWarningCache=mU;var DAe=function(){function e(n,i,r,s,u,o){if(o!==vAe){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}e.isRequired=e;function a(){return e}var t={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:a,element:e,elementType:e,instanceOf:a,node:e,objectOf:a,oneOf:a,oneOfType:a,shape:a,exact:a,checkPropTypes:yU,resetWarningCache:mU};return t.PropTypes=t,t};hU.exports=DAe();var xAe=hU.exports;/*!
* tabbable 6.2.0
* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE
*/var bU=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"],Um=bU.join(","),TU=typeof Element>"u",rl=TU?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,jm=!TU&&Element.prototype.getRootNode?function(e){var a;return e==null||(a=e.getRootNode)===null||a===void 0?void 0:a.call(e)}:function(e){return e==null?void 0:e.ownerDocument},zm=function e(a,t){var n;t===void 0&&(t=!0);var i=a==null||(n=a.getAttribute)===null||n===void 0?void 0:n.call(a,"inert"),r=i===""||i==="true",s=r||t&&a&&e(a.parentNode);return s},EAe=function(a){var t,n=a==null||(t=a.getAttribute)===null||t===void 0?void 0:t.call(a,"contenteditable");return n===""||n==="true"},SU=function(a,t,n){if(zm(a))return[];var i=Array.prototype.slice.apply(a.querySelectorAll(Um));return t&&rl.call(a,Um)&&i.unshift(a),i=i.filter(n),i},AU=function e(a,t,n){for(var i=[],r=Array.from(a);r.length;){var s=r.shift();if(!zm(s,!1))if(s.tagName==="SLOT"){var u=s.assignedElements(),o=u.length?u:s.children,l=e(o,!0,n);n.flatten?i.push.apply(i,l):i.push({scopeParent:s,candidates:l})}else{var g=rl.call(s,Um);g&&n.filter(s)&&(t||!a.includes(s))&&i.push(s);var d=s.shadowRoot||typeof n.getShadowRoot=="function"&&n.getShadowRoot(s),c=!zm(d,!1)&&(!n.shadowRootFilter||n.shadowRootFilter(s));if(d&&c){var p=e(d===!0?s.children:d.children,!0,n);n.flatten?i.push.apply(i,p):i.push({scopeParent:s,candidates:p})}else r.unshift.apply(r,s.children)}}return i},vU=function(a){return!isNaN(parseInt(a.getAttribute("tabindex"),10))},vu=function(a){if(!a)throw new Error("No node provided");return a.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(a.tagName)||EAe(a))&&!vU(a)?0:a.tabIndex},kAe=function(a,t){var n=vu(a);return n<0&&t&&!vU(a)?0:n},CAe=function(a,t){return a.tabIndex===t.tabIndex?a.documentOrder-t.documentOrder:a.tabIndex-t.tabIndex},DU=function(a){return a.tagName==="INPUT"},wAe=function(a){return DU(a)&&a.type==="hidden"},_Ae=function(a){var t=a.tagName==="DETAILS"&&Array.prototype.slice.apply(a.children).some(function(n){return n.tagName==="SUMMARY"});return t},IAe=function(a,t){for(var n=0;n<a.length;n++)if(a[n].checked&&a[n].form===t)return a[n]},NAe=function(a){if(!a.name)return!0;var t=a.form||jm(a),n=function(u){return t.querySelectorAll('input[type="radio"][name="'+u+'"]')},i;if(typeof window<"u"&&typeof window.CSS<"u"&&typeof window.CSS.escape=="function")i=n(window.CSS.escape(a.name));else try{i=n(a.name)}catch(s){return console.error("Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s",s.message),!1}var r=IAe(i,a.form);return!r||r===a},LAe=function(a){return DU(a)&&a.type==="radio"},RAe=function(a){return LAe(a)&&!NAe(a)},PAe=function(a){var t,n=a&&jm(a),i=(t=n)===null||t===void 0?void 0:t.host,r=!1;if(n&&n!==a){var s,u,o;for(r=!!((s=i)!==null&&s!==void 0&&(u=s.ownerDocument)!==null&&u!==void 0&&u.contains(i)||a!=null&&(o=a.ownerDocument)!==null&&o!==void 0&&o.contains(a));!r&&i;){var l,g,d;n=jm(i),i=(l=n)===null||l===void 0?void 0:l.host,r=!!((g=i)!==null&&g!==void 0&&(d=g.ownerDocument)!==null&&d!==void 0&&d.contains(i))}}return r},Nw=function(a){var t=a.getBoundingClientRect(),n=t.width,i=t.height;return n===0&&i===0},MAe=function(a,t){var n=t.displayCheck,i=t.getShadowRoot;if(getComputedStyle(a).visibility==="hidden")return!0;var r=rl.call(a,"details>summary:first-of-type"),s=r?a.parentElement:a;if(rl.call(s,"details:not([open]) *"))return!0;if(!n||n==="full"||n==="legacy-full"){if(typeof i=="function"){for(var u=a;a;){var o=a.parentElement,l=jm(a);if(o&&!o.shadowRoot&&i(o)===!0)return Nw(a);a.assignedSlot?a=a.assignedSlot:!o&&l!==a.ownerDocument?a=l.host:a=o}a=u}if(PAe(a))return!a.getClientRects().length;if(n!=="legacy-full")return!0}else if(n==="non-zero-area")return Nw(a);return!1},OAe=function(a){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(a.tagName))for(var t=a.parentElement;t;){if(t.tagName==="FIELDSET"&&t.disabled){for(var n=0;n<t.children.length;n++){var i=t.children.item(n);if(i.tagName==="LEGEND")return rl.call(t,"fieldset[disabled] *")?!0:!i.contains(a)}return!0}t=t.parentElement}return!1},$m=function(a,t){return!(t.disabled||zm(t)||wAe(t)||MAe(t,a)||_Ae(t)||OAe(t))},K7=function(a,t){return!(RAe(t)||vu(t)<0||!$m(a,t))},BAe=function(a){var t=parseInt(a.getAttribute("tabindex"),10);return!!(isNaN(t)||t>=0)},FAe=function e(a){var t=[],n=[];return a.forEach(function(i,r){var s=!!i.scopeParent,u=s?i.scopeParent:i,o=kAe(u,s),l=s?e(i.candidates):u;o===0?s?t.push.apply(t,l):t.push(u):n.push({documentOrder:r,tabIndex:o,item:i,isScope:s,content:l})}),n.sort(CAe).reduce(function(i,r){return r.isScope?i.push.apply(i,r.content):i.push(r.content),i},[]).concat(t)},xU=function(a,t){t=t||{};var n;return t.getShadowRoot?n=AU([a],t.includeContainer,{filter:K7.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:BAe}):n=SU(a,t.includeContainer,K7.bind(null,t)),FAe(n)},EU=function(a,t){t=t||{};var n;return t.getShadowRoot?n=AU([a],t.includeContainer,{filter:$m.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):n=SU(a,t.includeContainer,$m.bind(null,t)),n},Co=function(a,t){if(t=t||{},!a)throw new Error("No node provided");return rl.call(a,Um)===!1?!1:K7(t,a)},UAe=bU.concat("iframe").join(","),G2=function(a,t){if(t=t||{},!a)throw new Error("No node provided");return rl.call(a,UAe)===!1?!1:$m(t,a)};const jAe=Object.freeze(Object.defineProperty({__proto__:null,focusable:EU,getTabIndex:vu,isFocusable:G2,isTabbable:Co,tabbable:xU},Symbol.toStringTag,{value:"Module"}));/*!
* focus-trap 7.6.0
* @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE
*/function zAe(e,a,t){return(a=KAe(a))in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function Lw(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);a&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function Rw(e){for(var a=1;a<arguments.length;a++){var t=arguments[a]!=null?arguments[a]:{};a%2?Lw(Object(t),!0).forEach(function(n){zAe(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Lw(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function $Ae(e,a){if(typeof e!="object"||!e)return e;var t=e[Symbol.toPrimitive];if(t!==void 0){var n=t.call(e,a||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(a==="string"?String:Number)(e)}function KAe(e){var a=$Ae(e,"string");return typeof a=="symbol"?a:a+""}var Pw={activateTrap:function(a,t){if(a.length>0){var n=a[a.length-1];n!==t&&n.pause()}var i=a.indexOf(t);i===-1||a.splice(i,1),a.push(t)},deactivateTrap:function(a,t){var n=a.indexOf(t);n!==-1&&a.splice(n,1),a.length>0&&a[a.length-1].unpause()}},HAe=function(a){return a.tagName&&a.tagName.toLowerCase()==="input"&&typeof a.select=="function"},qAe=function(a){return(a==null?void 0:a.key)==="Escape"||(a==null?void 0:a.key)==="Esc"||(a==null?void 0:a.keyCode)===27},ec=function(a){return(a==null?void 0:a.key)==="Tab"||(a==null?void 0:a.keyCode)===9},VAe=function(a){return ec(a)&&!a.shiftKey},GAe=function(a){return ec(a)&&a.shiftKey},Mw=function(a){return setTimeout(a,0)},Ow=function(a,t){var n=-1;return a.every(function(i,r){return t(i)?(n=r,!1):!0}),n},t0=function(a){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return typeof a=="function"?a.apply(void 0,n):a},Gf=function(a){return a.target.shadowRoot&&typeof a.composedPath=="function"?a.composedPath()[0]:a.target},WAe=[],YAe=function(a,t){var n=(t==null?void 0:t.document)||document,i=(t==null?void 0:t.trapStack)||WAe,r=Rw({returnFocusOnDeactivate:!0,escapeDeactivates:!0,delayInitialFocus:!0,isKeyForward:VAe,isKeyBackward:GAe},t),s={containers:[],containerGroups:[],tabbableGroups:[],nodeFocusedBeforeActivation:null,mostRecentlyFocusedNode:null,active:!1,paused:!1,delayInitialFocusTimer:void 0,recentNavEvent:void 0},u,o=function(K,P,L){return K&&K[P]!==void 0?K[P]:r[L||P]},l=function(K,P){var L=typeof(P==null?void 0:P.composedPath)=="function"?P.composedPath():void 0;return s.containerGroups.findIndex(function(H){var U=H.container,G=H.tabbableNodes;return U.contains(K)||(L==null?void 0:L.includes(U))||G.find(function(E){return E===K})})},g=function(K){var P=r[K];if(typeof P=="function"){for(var L=arguments.length,H=new Array(L>1?L-1:0),U=1;U<L;U++)H[U-1]=arguments[U];P=P.apply(void 0,H)}if(P===!0&&(P=void 0),!P){if(P===void 0||P===!1)return P;throw new Error("`".concat(K,"` was specified but was not a node, or did not return a node"))}var G=P;if(typeof P=="string"&&(G=n.querySelector(P),!G))throw new Error("`".concat(K,"` as selector refers to no known node"));return G},d=function(){var K=g("initialFocus");if(K===!1)return!1;if(K===void 0||!G2(K,r.tabbableOptions))if(l(n.activeElement)>=0)K=n.activeElement;else{var P=s.tabbableGroups[0],L=P&&P.firstTabbableNode;K=L||g("fallbackFocus")}if(!K)throw new Error("Your focus-trap needs to have at least one focusable element");return K},c=function(){if(s.containerGroups=s.containers.map(function(K){var P=xU(K,r.tabbableOptions),L=EU(K,r.tabbableOptions),H=P.length>0?P[0]:void 0,U=P.length>0?P[P.length-1]:void 0,G=L.find(function(_){return Co(_)}),E=L.slice().reverse().find(function(_){return Co(_)}),x=!!P.find(function(_){return vu(_)>0});return{container:K,tabbableNodes:P,focusableNodes:L,posTabIndexesFound:x,firstTabbableNode:H,lastTabbableNode:U,firstDomTabbableNode:G,lastDomTabbableNode:E,nextTabbableNode:function(I){var w=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,C=P.indexOf(I);return C<0?w?L.slice(L.indexOf(I)+1).find(function(M){return Co(M)}):L.slice(0,L.indexOf(I)).reverse().find(function(M){return Co(M)}):P[C+(w?1:-1)]}}}),s.tabbableGroups=s.containerGroups.filter(function(K){return K.tabbableNodes.length>0}),s.tabbableGroups.length<=0&&!g("fallbackFocus"))throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");if(s.containerGroups.find(function(K){return K.posTabIndexesFound})&&s.containerGroups.length>1)throw new Error("At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.")},p=function(K){var P=K.activeElement;if(P)return P.shadowRoot&&P.shadowRoot.activeElement!==null?p(P.shadowRoot):P},f=function(K){if(K!==!1&&K!==p(document)){if(!K||!K.focus){f(d());return}K.focus({preventScroll:!!r.preventScroll}),s.mostRecentlyFocusedNode=K,HAe(K)&&K.select()}},h=function(K){var P=g("setReturnFocus",K);return P||(P===!1?!1:K)},y=function(K){var P=K.target,L=K.event,H=K.isBackward,U=H===void 0?!1:H;P=P||Gf(L),c();var G=null;if(s.tabbableGroups.length>0){var E=l(P,L),x=E>=0?s.containerGroups[E]:void 0;if(E<0)U?G=s.tabbableGroups[s.tabbableGroups.length-1].lastTabbableNode:G=s.tabbableGroups[0].firstTabbableNode;else if(U){var _=Ow(s.tabbableGroups,function(Z){var ne=Z.firstTabbableNode;return P===ne});if(_<0&&(x.container===P||G2(P,r.tabbableOptions)&&!Co(P,r.tabbableOptions)&&!x.nextTabbableNode(P,!1))&&(_=E),_>=0){var I=_===0?s.tabbableGroups.length-1:_-1,w=s.tabbableGroups[I];G=vu(P)>=0?w.lastTabbableNode:w.lastDomTabbableNode}else ec(L)||(G=x.nextTabbableNode(P,!1))}else{var C=Ow(s.tabbableGroups,function(Z){var ne=Z.lastTabbableNode;return P===ne});if(C<0&&(x.container===P||G2(P,r.tabbableOptions)&&!Co(P,r.tabbableOptions)&&!x.nextTabbableNode(P))&&(C=E),C>=0){var M=C===s.tabbableGroups.length-1?0:C+1,$=s.tabbableGroups[M];G=vu(P)>=0?$.firstTabbableNode:$.firstDomTabbableNode}else ec(L)||(G=x.nextTabbableNode(P))}}else G=g("fallbackFocus");return G},b=function(K){var P=Gf(K);if(!(l(P,K)>=0)){if(t0(r.clickOutsideDeactivates,K)){u.deactivate({returnFocus:r.returnFocusOnDeactivate});return}t0(r.allowOutsideClick,K)||K.preventDefault()}},m=function(K){var P=Gf(K),L=l(P,K)>=0;if(L||P instanceof Document)L&&(s.mostRecentlyFocusedNode=P);else{K.stopImmediatePropagation();var H,U=!0;if(s.mostRecentlyFocusedNode)if(vu(s.mostRecentlyFocusedNode)>0){var G=l(s.mostRecentlyFocusedNode),E=s.containerGroups[G].tabbableNodes;if(E.length>0){var x=E.findIndex(function(_){return _===s.mostRecentlyFocusedNode});x>=0&&(r.isKeyForward(s.recentNavEvent)?x+1<E.length&&(H=E[x+1],U=!1):x-1>=0&&(H=E[x-1],U=!1))}}else s.containerGroups.some(function(_){return _.tabbableNodes.some(function(I){return vu(I)>0})})||(U=!1);else U=!1;U&&(H=y({target:s.mostRecentlyFocusedNode,isBackward:r.isKeyBackward(s.recentNavEvent)})),f(H||s.mostRecentlyFocusedNode||d())}s.recentNavEvent=void 0},T=function(K){var P=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;s.recentNavEvent=K;var L=y({event:K,isBackward:P});L&&(ec(K)&&K.preventDefault(),f(L))},A=function(K){(r.isKeyForward(K)||r.isKeyBackward(K))&&T(K,r.isKeyBackward(K))},v=function(K){qAe(K)&&t0(r.escapeDeactivates,K)!==!1&&(K.preventDefault(),u.deactivate())},D=function(K){var P=Gf(K);l(P,K)>=0||t0(r.clickOutsideDeactivates,K)||t0(r.allowOutsideClick,K)||(K.preventDefault(),K.stopImmediatePropagation())},k=function(){if(s.active)return Pw.activateTrap(i,u),s.delayInitialFocusTimer=r.delayInitialFocus?Mw(function(){f(d())}):f(d()),n.addEventListener("focusin",m,!0),n.addEventListener("mousedown",b,{capture:!0,passive:!1}),n.addEventListener("touchstart",b,{capture:!0,passive:!1}),n.addEventListener("click",D,{capture:!0,passive:!1}),n.addEventListener("keydown",A,{capture:!0,passive:!1}),n.addEventListener("keydown",v),u},N=function(){if(s.active)return n.removeEventListener("focusin",m,!0),n.removeEventListener("mousedown",b,!0),n.removeEventListener("touchstart",b,!0),n.removeEventListener("click",D,!0),n.removeEventListener("keydown",A,!0),n.removeEventListener("keydown",v),u},q=function(K){var P=K.some(function(L){var H=Array.from(L.removedNodes);return H.some(function(U){return U===s.mostRecentlyFocusedNode})});P&&f(d())},R=typeof window<"u"&&"MutationObserver"in window?new MutationObserver(q):void 0,z=function(){R&&(R.disconnect(),s.active&&!s.paused&&s.containers.map(function(K){R.observe(K,{subtree:!0,childList:!0})}))};return u={get active(){return s.active},get paused(){return s.paused},activate:function(K){if(s.active)return this;var P=o(K,"onActivate"),L=o(K,"onPostActivate"),H=o(K,"checkCanFocusTrap");H||c(),s.active=!0,s.paused=!1,s.nodeFocusedBeforeActivation=n.activeElement,P==null||P();var U=function(){H&&c(),k(),z(),L==null||L()};return H?(H(s.containers.concat()).then(U,U),this):(U(),this)},deactivate:function(K){if(!s.active)return this;var P=Rw({onDeactivate:r.onDeactivate,onPostDeactivate:r.onPostDeactivate,checkCanReturnFocus:r.checkCanReturnFocus},K);clearTimeout(s.delayInitialFocusTimer),s.delayInitialFocusTimer=void 0,N(),s.active=!1,s.paused=!1,z(),Pw.deactivateTrap(i,u);var L=o(P,"onDeactivate"),H=o(P,"onPostDeactivate"),U=o(P,"checkCanReturnFocus"),G=o(P,"returnFocus","returnFocusOnDeactivate");L==null||L();var E=function(){Mw(function(){G&&f(h(s.nodeFocusedBeforeActivation)),H==null||H()})};return G&&U?(U(h(s.nodeFocusedBeforeActivation)).then(E,E),this):(E(),this)},pause:function(K){if(s.paused||!s.active)return this;var P=o(K,"onPause"),L=o(K,"onPostPause");return s.paused=!0,P==null||P(),N(),z(),L==null||L(),this},unpause:function(K){if(!s.paused||!s.active)return this;var P=o(K,"onUnpause"),L=o(K,"onPostUnpause");return s.paused=!1,P==null||P(),c(),k(),z(),L==null||L(),this},updateContainerElements:function(K){var P=[].concat(K).filter(Boolean);return s.containers=P.map(function(L){return typeof L=="string"?n.querySelector(L):L}),s.active&&c(),z(),this}},u.updateContainerElements(a),u};const XAe=Object.freeze(Object.defineProperty({__proto__:null,createFocusTrap:YAe},Symbol.toStringTag,{value:"Module"})),QAe=P3(XAe),ZAe=P3(jAe);function Zg(e){"@babel/helpers - typeof";return Zg=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(a){return typeof a}:function(a){return a&&typeof Symbol=="function"&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},Zg(e)}function JAe(e,a){if(!(e instanceof a))throw new TypeError("Cannot call a class as a function")}function e7e(e,a){for(var t=0;t<a.length;t++){var n=a[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,CU(n.key),n)}}function a7e(e,a,t){return a&&e7e(e.prototype,a),Object.defineProperty(e,"prototype",{writable:!1}),e}function t7e(e,a,t){return a=Km(a),n7e(e,kU()?Reflect.construct(a,t||[],Km(e).constructor):a.apply(e,t))}function n7e(e,a){if(a&&(Zg(a)=="object"||typeof a=="function"))return a;if(a!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return i7e(e)}function i7e(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function kU(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(kU=function(){return!!e})()}function Km(e){return Km=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(a){return a.__proto__||Object.getPrototypeOf(a)},Km(e)}function r7e(e,a){if(typeof a!="function"&&a!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(a&&a.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),a&&H7(e,a)}function H7(e,a){return H7=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,n){return t.__proto__=n,t},H7(e,a)}function s7e(e,a,t){return(a=CU(a))in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function CU(e){var a=u7e(e,"string");return Zg(a)=="symbol"?a:a+""}function u7e(e,a){if(Zg(e)!="object"||!e)return e;var t=e[Symbol.toPrimitive];if(t!==void 0){var n=t.call(e,a);if(Zg(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var Wf=X,Qe=xAe,o7e=QAe,l7e=o7e.createFocusTrap,g7e=ZAe,d7e=g7e.isFocusable,WD=function(e){function a(t){var n;JAe(this,a),n=t7e(this,a,[t]),s7e(n,"getNodeForOption",function(s){var u,o=(u=this.internalOptions[s])!==null&&u!==void 0?u:this.originalOptions[s];if(typeof o=="function"){for(var l=arguments.length,g=new Array(l>1?l-1:0),d=1;d<l;d++)g[d-1]=arguments[d];o=o.apply(void 0,g)}if(o===!0&&(o=void 0),!o){if(o===void 0||o===!1)return o;throw new Error("`".concat(s,"` was specified but was not a node, or did not return a node"))}var c=o;if(typeof o=="string"){var p;if(c=(p=this.getDocument())===null||p===void 0?void 0:p.querySelector(o),!c)throw new Error("`".concat(s,"` as selector refers to no known node"))}return c}),n.handleDeactivate=n.handleDeactivate.bind(n),n.handlePostDeactivate=n.handlePostDeactivate.bind(n),n.handleClickOutsideDeactivates=n.handleClickOutsideDeactivates.bind(n),n.internalOptions={returnFocusOnDeactivate:!1,checkCanReturnFocus:null,onDeactivate:n.handleDeactivate,onPostDeactivate:n.handlePostDeactivate,clickOutsideDeactivates:n.handleClickOutsideDeactivates},n.originalOptions={returnFocusOnDeactivate:!0,onDeactivate:null,onPostDeactivate:null,checkCanReturnFocus:null,clickOutsideDeactivates:!1};var i=t.focusTrapOptions;for(var r in i)if(Object.prototype.hasOwnProperty.call(i,r)){if(r==="returnFocusOnDeactivate"||r==="onDeactivate"||r==="onPostDeactivate"||r==="checkCanReturnFocus"||r==="clickOutsideDeactivates"){n.originalOptions[r]=i[r];continue}n.internalOptions[r]=i[r]}return n.outsideClick=null,n.focusTrapElements=t.containerElements||[],n.updatePreviousElement(),n}return r7e(a,e),a7e(a,[{key:"getDocument",value:function(){return this.props.focusTrapOptions.document||(typeof document<"u"?document:void 0)}},{key:"getReturnFocusNode",value:function(){var n=this.getNodeForOption("setReturnFocus",this.previouslyFocusedElement);return n||(n===!1?!1:this.previouslyFocusedElement)}},{key:"updatePreviousElement",value:function(){var n=this.getDocument();n&&(this.previouslyFocusedElement=n.activeElement)}},{key:"deactivateTrap",value:function(){!this.focusTrap||!this.focusTrap.active||this.focusTrap.deactivate({returnFocus:!1,checkCanReturnFocus:null,onDeactivate:this.originalOptions.onDeactivate})}},{key:"handleClickOutsideDeactivates",value:function(n){var i=typeof this.originalOptions.clickOutsideDeactivates=="function"?this.originalOptions.clickOutsideDeactivates.call(null,n):this.originalOptions.clickOutsideDeactivates;return i&&(this.outsideClick={target:n.target,allowDeactivation:i}),i}},{key:"handleDeactivate",value:function(){this.originalOptions.onDeactivate&&this.originalOptions.onDeactivate.call(null),this.deactivateTrap()}},{key:"handlePostDeactivate",value:function(){var n=this,i=function(){var s=n.getReturnFocusNode(),u=!!(n.originalOptions.returnFocusOnDeactivate&&s!==null&&s!==void 0&&s.focus&&(!n.outsideClick||n.outsideClick.allowDeactivation&&!d7e(n.outsideClick.target,n.internalOptions.tabbableOptions))),o=n.internalOptions.preventScroll,l=o===void 0?!1:o;u&&s.focus({preventScroll:l}),n.originalOptions.onPostDeactivate&&n.originalOptions.onPostDeactivate.call(null),n.outsideClick=null};this.originalOptions.checkCanReturnFocus?this.originalOptions.checkCanReturnFocus.call(null,this.getReturnFocusNode()).then(i,i):i()}},{key:"setupFocusTrap",value:function(){if(this.focusTrap)this.props.active&&!this.focusTrap.active&&(this.focusTrap.activate(),this.props.paused&&this.focusTrap.pause());else{var n=this.focusTrapElements.some(Boolean);n&&(this.focusTrap=this.props._createFocusTrap(this.focusTrapElements,this.internalOptions),this.props.active&&this.focusTrap.activate(),this.props.paused&&this.focusTrap.pause())}}},{key:"componentDidMount",value:function(){this.props.active&&this.setupFocusTrap()}},{key:"componentDidUpdate",value:function(n){if(this.focusTrap){n.containerElements!==this.props.containerElements&&this.focusTrap.updateContainerElements(this.props.containerElements);var i=!n.active&&this.props.active,r=n.active&&!this.props.active,s=!n.paused&&this.props.paused,u=n.paused&&!this.props.paused;if(i&&(this.updatePreviousElement(),this.focusTrap.activate()),r){this.deactivateTrap();return}s&&this.focusTrap.pause(),u&&this.focusTrap.unpause()}else n.containerElements!==this.props.containerElements&&(this.focusTrapElements=this.props.containerElements),this.props.active&&(this.updatePreviousElement(),this.setupFocusTrap())}},{key:"componentWillUnmount",value:function(){this.deactivateTrap()}},{key:"render",value:function(){var n=this,i=this.props.children?Wf.Children.only(this.props.children):void 0;if(i){if(i.type&&i.type===Wf.Fragment)throw new Error("A focus-trap cannot use a Fragment as its child container. Try replacing it with a <div> element.");var r=function(o){var l=n.props.containerElements;i&&(typeof i.ref=="function"?i.ref(o):i.ref&&(i.ref.current=o)),n.focusTrapElements=l||[o]},s=Wf.cloneElement(i,{ref:r});return s}return null}}])}(Wf.Component),n0=typeof Element>"u"?Function:Element;WD.propTypes={active:Qe.bool,paused:Qe.bool,focusTrapOptions:Qe.shape({document:Qe.object,onActivate:Qe.func,onPostActivate:Qe.func,checkCanFocusTrap:Qe.func,onPause:Qe.func,onPostPause:Qe.func,onUnpause:Qe.func,onPostUnpause:Qe.func,onDeactivate:Qe.func,onPostDeactivate:Qe.func,checkCanReturnFocus:Qe.func,initialFocus:Qe.oneOfType([Qe.instanceOf(n0),Qe.string,Qe.bool,Qe.func]),fallbackFocus:Qe.oneOfType([Qe.instanceOf(n0),Qe.string,Qe.func]),escapeDeactivates:Qe.oneOfType([Qe.bool,Qe.func]),clickOutsideDeactivates:Qe.oneOfType([Qe.bool,Qe.func]),returnFocusOnDeactivate:Qe.bool,setReturnFocus:Qe.oneOfType([Qe.instanceOf(n0),Qe.string,Qe.bool,Qe.func]),allowOutsideClick:Qe.oneOfType([Qe.bool,Qe.func]),preventScroll:Qe.bool,tabbableOptions:Qe.shape({displayCheck:Qe.oneOf(["full","legacy-full","non-zero-area","none"]),getShadowRoot:Qe.oneOfType([Qe.bool,Qe.func])}),trapStack:Qe.array,isKeyForward:Qe.func,isKeyBackward:Qe.func}),containerElements:Qe.arrayOf(Qe.instanceOf(n0)),children:Qe.oneOfType([Qe.element,Qe.instanceOf(n0)])};WD.defaultProps={active:!0,paused:!1,focusTrapOptions:{},_createFocusTrap:l7e};var c7e=WD;const iCe=an(c7e);var p7e=Object.defineProperty,f7e=(e,a,t)=>a in e?p7e(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t,LT=(e,a,t)=>(f7e(e,typeof a!="symbol"?a+"":a,t),t);let h7e=class{constructor(){LT(this,"current",this.detect()),LT(this,"handoffState","pending"),LT(this,"currentId",0)}set(a){this.current!==a&&(this.handoffState="pending",this.currentId=0,this.current=a)}reset(){this.set(this.detect())}nextId(){return++this.currentId}get isServer(){return this.current==="server"}get isClient(){return this.current==="client"}detect(){return typeof window>"u"||typeof document>"u"?"server":"client"}handoff(){this.handoffState==="pending"&&(this.handoffState="complete")}get isHandoffComplete(){return this.handoffState==="complete"}},Go=new h7e,Ni=(e,a)=>{Go.isServer?X.useEffect(e,a):X.useLayoutEffect(e,a)};function cs(e){let a=X.useRef(e);return Ni(()=>{a.current=e},[e]),a}function wU(e,a){let[t,n]=X.useState(e),i=cs(e);return Ni(()=>n(i.current),[i,n,...a]),t}let Oa=function(e){let a=cs(e);return Va.useCallback((...t)=>a.current(...t),[a])};function m7e(e,a,t){let[n,i]=X.useState(t),r=e!==void 0,s=X.useRef(r),u=X.useRef(!1),o=X.useRef(!1);return r&&!s.current&&!u.current?(u.current=!0,s.current=r,console.error("A component is changing from uncontrolled to controlled. This may be caused by the value changing from undefined to a defined value, which should not happen.")):!r&&s.current&&!o.current&&(o.current=!0,s.current=r,console.error("A component is changing from controlled to uncontrolled. This may be caused by the value changing from a defined value to undefined, which should not happen.")),[r?e:n,Oa(l=>(r||i(l),a==null?void 0:a(l)))]}function y7e(e){typeof queueMicrotask=="function"?queueMicrotask(e):Promise.resolve().then(e).catch(a=>setTimeout(()=>{throw a}))}function to(){let e=[],a={addEventListener(t,n,i,r){return t.addEventListener(n,i,r),a.add(()=>t.removeEventListener(n,i,r))},requestAnimationFrame(...t){let n=requestAnimationFrame(...t);return a.add(()=>cancelAnimationFrame(n))},nextFrame(...t){return a.requestAnimationFrame(()=>a.requestAnimationFrame(...t))},setTimeout(...t){let n=setTimeout(...t);return a.add(()=>clearTimeout(n))},microTask(...t){let n={current:!0};return y7e(()=>{n.current&&t[0]()}),a.add(()=>{n.current=!1})},style(t,n,i){let r=t.style.getPropertyValue(n);return Object.assign(t.style,{[n]:i}),this.add(()=>{Object.assign(t.style,{[n]:r})})},group(t){let n=to();return t(n),this.add(()=>n.dispose())},add(t){return e.push(t),()=>{let n=e.indexOf(t);if(n>=0)for(let i of e.splice(n,1))i()}},dispose(){for(let t of e.splice(0))t()}};return a}function Jg(){let[e]=X.useState(to);return X.useEffect(()=>()=>e.dispose(),[e]),e}function b7e(){let e=typeof document>"u";return"useSyncExternalStore"in TS?(a=>a.useSyncExternalStore)(TS)(()=>()=>{},()=>!1,()=>!e):!1}function YD(){let e=b7e(),[a,t]=X.useState(Go.isHandoffComplete);return a&&Go.isHandoffComplete===!1&&t(!1),X.useEffect(()=>{a!==!0&&t(!0)},[a]),X.useEffect(()=>Go.handoff(),[]),e?!1:a}var Bw;let L9=(Bw=Va.useId)!=null?Bw:function(){let e=YD(),[a,t]=Va.useState(e?()=>Go.nextId():null);return Ni(()=>{a===null&&t(Go.nextId())},[a]),a!=null?""+a:void 0};function yn(e,a,...t){if(e in a){let i=a[e];return typeof i=="function"?i(...t):i}let n=new Error(`Tried to handle "${e}" but there is no handler defined. Only defined handlers are: ${Object.keys(a).map(i=>`"${i}"`).join(", ")}.`);throw Error.captureStackTrace&&Error.captureStackTrace(n,yn),n}function _U(e){return Go.isServer?null:e instanceof Node?e.ownerDocument:e!=null&&e.hasOwnProperty("current")&&e.current instanceof Node?e.current.ownerDocument:document}let Fw=["[contentEditable=true]","[tabindex]","a[href]","area[href]","button:not([disabled])","iframe","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].map(e=>`${e}:not([tabindex='-1'])`).join(",");var T7e=(e=>(e[e.First=1]="First",e[e.Previous=2]="Previous",e[e.Next=4]="Next",e[e.Last=8]="Last",e[e.WrapAround=16]="WrapAround",e[e.NoScroll=32]="NoScroll",e))(T7e||{}),S7e=(e=>(e[e.Error=0]="Error",e[e.Overflow=1]="Overflow",e[e.Success=2]="Success",e[e.Underflow=3]="Underflow",e))(S7e||{}),A7e=(e=>(e[e.Previous=-1]="Previous",e[e.Next=1]="Next",e))(A7e||{}),XD=(e=>(e[e.Strict=0]="Strict",e[e.Loose=1]="Loose",e))(XD||{});function IU(e,a=0){var t;return e===((t=_U(e))==null?void 0:t.body)?!1:yn(a,{0(){return e.matches(Fw)},1(){let n=e;for(;n!==null;){if(n.matches(Fw))return!0;n=n.parentElement}return!1}})}var v7e=(e=>(e[e.Keyboard=0]="Keyboard",e[e.Mouse=1]="Mouse",e))(v7e||{});typeof window<"u"&&typeof document<"u"&&(document.addEventListener("keydown",e=>{e.metaKey||e.altKey||e.ctrlKey||(document.documentElement.dataset.headlessuiFocusVisible="")},!0),document.addEventListener("click",e=>{e.detail===1?delete document.documentElement.dataset.headlessuiFocusVisible:e.detail===0&&(document.documentElement.dataset.headlessuiFocusVisible="")},!0));function D7e(e,a=t=>t){return e.slice().sort((t,n)=>{let i=a(t),r=a(n);if(i===null||r===null)return 0;let s=i.compareDocumentPosition(r);return s&Node.DOCUMENT_POSITION_FOLLOWING?-1:s&Node.DOCUMENT_POSITION_PRECEDING?1:0})}function x7e(){return/iPhone/gi.test(window.navigator.platform)||/Mac/gi.test(window.navigator.platform)&&window.navigator.maxTouchPoints>0}function E7e(){return/Android/gi.test(window.navigator.userAgent)}function k7e(){return x7e()||E7e()}function Yf(e,a,t){let n=cs(a);X.useEffect(()=>{function i(r){n.current(r)}return document.addEventListener(e,i,t),()=>document.removeEventListener(e,i,t)},[e,t])}function C7e(e,a,t){let n=cs(a);X.useEffect(()=>{function i(r){n.current(r)}return window.addEventListener(e,i,t),()=>window.removeEventListener(e,i,t)},[e,t])}function w7e(e,a,t=!0){let n=X.useRef(!1);X.useEffect(()=>{requestAnimationFrame(()=>{n.current=t})},[t]);function i(s,u){if(!n.current||s.defaultPrevented)return;let o=u(s);if(o===null||!o.getRootNode().contains(o)||!o.isConnected)return;let l=function g(d){return typeof d=="function"?g(d()):Array.isArray(d)||d instanceof Set?d:[d]}(e);for(let g of l){if(g===null)continue;let d=g instanceof HTMLElement?g:g.current;if(d!=null&&d.contains(o)||s.composed&&s.composedPath().includes(d))return}return!IU(o,XD.Loose)&&o.tabIndex!==-1&&s.preventDefault(),a(s,o)}let r=X.useRef(null);Yf("pointerdown",s=>{var u,o;n.current&&(r.current=((o=(u=s.composedPath)==null?void 0:u.call(s))==null?void 0:o[0])||s.target)},!0),Yf("mousedown",s=>{var u,o;n.current&&(r.current=((o=(u=s.composedPath)==null?void 0:u.call(s))==null?void 0:o[0])||s.target)},!0),Yf("click",s=>{k7e()||r.current&&(i(s,()=>r.current),r.current=null)},!0),Yf("touchend",s=>i(s,()=>s.target instanceof HTMLElement?s.target:null),!0),C7e("blur",s=>i(s,()=>window.document.activeElement instanceof HTMLIFrameElement?window.document.activeElement:null),!0)}function Uw(e){var a;if(e.type)return e.type;let t=(a=e.as)!=null?a:"button";if(typeof t=="string"&&t.toLowerCase()==="button")return"button"}function _7e(e,a){let[t,n]=X.useState(()=>Uw(e));return Ni(()=>{n(Uw(e))},[e.type,e.as]),Ni(()=>{t||a.current&&a.current instanceof HTMLButtonElement&&!a.current.hasAttribute("type")&&n("button")},[t,a]),t}let I7e=Symbol();function El(...e){let a=X.useRef(e);X.useEffect(()=>{a.current=e},[e]);let t=Oa(n=>{for(let i of a.current)i!=null&&(typeof i=="function"?i(n):i.current=n)});return e.every(n=>n==null||(n==null?void 0:n[I7e]))?void 0:t}function jw(e){return[e.screenX,e.screenY]}function N7e(){let e=X.useRef([-1,-1]);return{wasMoved(a){let t=jw(a);return e.current[0]===t[0]&&e.current[1]===t[1]?!1:(e.current=t,!0)},update(a){e.current=jw(a)}}}function Hm(...e){return Array.from(new Set(e.flatMap(a=>typeof a=="string"?a.split(" "):[]))).filter(Boolean).join(" ")}var qm=(e=>(e[e.None=0]="None",e[e.RenderStrategy=1]="RenderStrategy",e[e.Static=2]="Static",e))(qm||{}),Ru=(e=>(e[e.Unmount=0]="Unmount",e[e.Hidden=1]="Hidden",e))(Ru||{});function fo({ourProps:e,theirProps:a,slot:t,defaultTag:n,features:i,visible:r=!0,name:s,mergeRefs:u}){u=u??L7e;let o=NU(a,e);if(r)return Xf(o,t,n,s,u);let l=i??0;if(l&2){let{static:g=!1,...d}=o;if(g)return Xf(d,t,n,s,u)}if(l&1){let{unmount:g=!0,...d}=o;return yn(g?0:1,{0(){return null},1(){return Xf({...d,hidden:!0,style:{display:"none"}},t,n,s,u)}})}return Xf(o,t,n,s,u)}function Xf(e,a={},t,n,i){let{as:r=t,children:s,refName:u="ref",...o}=RT(e,["unmount","static"]),l=e.ref!==void 0?{[u]:e.ref}:{},g=typeof s=="function"?s(a):s;"className"in o&&o.className&&typeof o.className=="function"&&(o.className=o.className(a));let d={};if(a){let c=!1,p=[];for(let[f,h]of Object.entries(a))typeof h=="boolean"&&(c=!0),h===!0&&p.push(f);c&&(d["data-headlessui-state"]=p.join(" "))}if(r===X.Fragment&&Object.keys(q7(o)).length>0){if(!X.isValidElement(g)||Array.isArray(g)&&g.length>1)throw new Error(['Passing props on "Fragment"!',"",`The current component <${n} /> is rendering a "Fragment".`,"However we need to passthrough the following props:",Object.keys(o).map(h=>`  - ${h}`).join(`
`),"","You can apply a few solutions:",['Add an `as="..."` prop, to ensure that we render an actual element instead of a "Fragment".',"Render a single element as the child so that we can forward the props onto that element."].map(h=>`  - ${h}`).join(`
`)].join(`
`));let c=g.props,p=typeof(c==null?void 0:c.className)=="function"?(...h)=>Hm(c==null?void 0:c.className(...h),o.className):Hm(c==null?void 0:c.className,o.className),f=p?{className:p}:{};return X.cloneElement(g,Object.assign({},NU(g.props,q7(RT(o,["ref"]))),d,l,{ref:i(g.ref,l.ref)},f))}return X.createElement(r,Object.assign({},RT(o,["ref"]),r!==X.Fragment&&l,r!==X.Fragment&&d),g)}function L7e(...e){return e.every(a=>a==null)?void 0:a=>{for(let t of e)t!=null&&(typeof t=="function"?t(a):t.current=a)}}function NU(...e){if(e.length===0)return{};if(e.length===1)return e[0];let a={},t={};for(let n of e)for(let i in n)i.startsWith("on")&&typeof n[i]=="function"?(t[i]!=null||(t[i]=[]),t[i].push(n[i])):a[i]=n[i];if(a.disabled||a["aria-disabled"])return Object.assign(a,Object.fromEntries(Object.keys(t).map(n=>[n,void 0])));for(let n in t)Object.assign(a,{[n](i,...r){let s=t[n];for(let u of s){if((i instanceof Event||(i==null?void 0:i.nativeEvent)instanceof Event)&&i.defaultPrevented)return;u(i,...r)}}});return a}function ru(e){var a;return Object.assign(X.forwardRef(e),{displayName:(a=e.displayName)!=null?a:e.name})}function q7(e){let a=Object.assign({},e);for(let t in a)a[t]===void 0&&delete a[t];return a}function RT(e,a=[]){let t=Object.assign({},e);for(let n of a)n in t&&delete t[n];return t}let R7e="div";var LU=(e=>(e[e.None=1]="None",e[e.Focusable=2]="Focusable",e[e.Hidden=4]="Hidden",e))(LU||{});function P7e(e,a){var t;let{features:n=1,...i}=e,r={ref:a,"aria-hidden":(n&2)===2?!0:(t=i["aria-hidden"])!=null?t:void 0,hidden:(n&4)===4?!0:void 0,style:{position:"fixed",top:1,left:1,width:1,height:0,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0",...(n&4)===4&&(n&2)!==2&&{display:"none"}}};return fo({ourProps:r,theirProps:i,slot:{},defaultTag:R7e,name:"Hidden"})}let M7e=ru(P7e),QD=X.createContext(null);QD.displayName="OpenClosedContext";var Si=(e=>(e[e.Open=1]="Open",e[e.Closed=2]="Closed",e[e.Closing=4]="Closing",e[e.Opening=8]="Opening",e))(Si||{});function ZD(){return X.useContext(QD)}function RU({value:e,children:a}){return Va.createElement(QD.Provider,{value:e},a)}function O7e(e){let a=e.parentElement,t=null;for(;a&&!(a instanceof HTMLFieldSetElement);)a instanceof HTMLLegendElement&&(t=a),a=a.parentElement;let n=(a==null?void 0:a.getAttribute("disabled"))==="";return n&&B7e(t)?!1:n}function B7e(e){if(!e)return!1;let a=e.previousElementSibling;for(;a!==null;){if(a instanceof HTMLLegendElement)return!1;a=a.previousElementSibling}return!0}function F7e(e){throw new Error("Unexpected object: "+e)}var ui=(e=>(e[e.First=0]="First",e[e.Previous=1]="Previous",e[e.Next=2]="Next",e[e.Last=3]="Last",e[e.Specific=4]="Specific",e[e.Nothing=5]="Nothing",e))(ui||{});function U7e(e,a){let t=a.resolveItems();if(t.length<=0)return null;let n=a.resolveActiveIndex(),i=n??-1;switch(e.focus){case 0:{for(let r=0;r<t.length;++r)if(!a.resolveDisabled(t[r],r,t))return r;return n}case 1:{for(let r=i-1;r>=0;--r)if(!a.resolveDisabled(t[r],r,t))return r;return n}case 2:{for(let r=i+1;r<t.length;++r)if(!a.resolveDisabled(t[r],r,t))return r;return n}case 3:{for(let r=t.length-1;r>=0;--r)if(!a.resolveDisabled(t[r],r,t))return r;return n}case 4:{for(let r=0;r<t.length;++r)if(a.resolveId(t[r],r,t)===e.id)return r;return n}case 5:return null;default:F7e(e)}}function PU(e={},a=null,t=[]){for(let[n,i]of Object.entries(e))OU(t,MU(a,n),i);return t}function MU(e,a){return e?e+"["+a+"]":a}function OU(e,a,t){if(Array.isArray(t))for(let[n,i]of t.entries())OU(e,MU(a,n.toString()),i);else t instanceof Date?e.push([a,t.toISOString()]):typeof t=="boolean"?e.push([a,t?"1":"0"]):typeof t=="string"?e.push([a,t]):typeof t=="number"?e.push([a,`${t}`]):t==null?e.push([a,""]):PU(t,a,e)}var qt=(e=>(e.Space=" ",e.Enter="Enter",e.Escape="Escape",e.Backspace="Backspace",e.Delete="Delete",e.ArrowLeft="ArrowLeft",e.ArrowUp="ArrowUp",e.ArrowRight="ArrowRight",e.ArrowDown="ArrowDown",e.Home="Home",e.End="End",e.PageUp="PageUp",e.PageDown="PageDown",e.Tab="Tab",e))(qt||{});function JD(){let e=X.useRef(!1);return Ni(()=>(e.current=!0,()=>{e.current=!1}),[]),e}let zw=/([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g;function $w(e){var a,t;let n=(a=e.innerText)!=null?a:"",i=e.cloneNode(!0);if(!(i instanceof HTMLElement))return n;let r=!1;for(let u of i.querySelectorAll('[hidden],[aria-hidden],[role="img"]'))u.remove(),r=!0;let s=r?(t=i.innerText)!=null?t:"":n;return zw.test(s)&&(s=s.replace(zw,"")),s}function j7e(e){let a=e.getAttribute("aria-label");if(typeof a=="string")return a.trim();let t=e.getAttribute("aria-labelledby");if(t){let n=t.split(" ").map(i=>{let r=document.getElementById(i);if(r){let s=r.getAttribute("aria-label");return typeof s=="string"?s.trim():$w(r).trim()}return null}).filter(Boolean);if(n.length>0)return n.join(", ")}return $w(e).trim()}function z7e(e){let a=X.useRef(""),t=X.useRef("");return Oa(()=>{let n=e.current;if(!n)return"";let i=n.innerText;if(a.current===i)return t.current;let r=j7e(n).trim().toLowerCase();return a.current=i,t.current=r,r})}var $7e=(e=>(e[e.Open=0]="Open",e[e.Closed=1]="Closed",e))($7e||{}),K7e=(e=>(e[e.Single=0]="Single",e[e.Multi=1]="Multi",e))(K7e||{}),H7e=(e=>(e[e.Pointer=0]="Pointer",e[e.Other=1]="Other",e))(H7e||{}),q7e=(e=>(e[e.OpenListbox=0]="OpenListbox",e[e.CloseListbox=1]="CloseListbox",e[e.GoToOption=2]="GoToOption",e[e.Search=3]="Search",e[e.ClearSearch=4]="ClearSearch",e[e.RegisterOption=5]="RegisterOption",e[e.UnregisterOption=6]="UnregisterOption",e[e.RegisterLabel=7]="RegisterLabel",e))(q7e||{});function PT(e,a=t=>t){let t=e.activeOptionIndex!==null?e.options[e.activeOptionIndex]:null,n=D7e(a(e.options.slice()),r=>r.dataRef.current.domRef.current),i=t?n.indexOf(t):null;return i===-1&&(i=null),{options:n,activeOptionIndex:i}}let V7e={1(e){return e.dataRef.current.disabled||e.listboxState===1?e:{...e,activeOptionIndex:null,listboxState:1}},0(e){if(e.dataRef.current.disabled||e.listboxState===0)return e;let a=e.activeOptionIndex,{isSelected:t}=e.dataRef.current,n=e.options.findIndex(i=>t(i.dataRef.current.value));return n!==-1&&(a=n),{...e,listboxState:0,activeOptionIndex:a}},2(e,a){var t;if(e.dataRef.current.disabled||e.listboxState===1)return e;let n=PT(e),i=U7e(a,{resolveItems:()=>n.options,resolveActiveIndex:()=>n.activeOptionIndex,resolveId:r=>r.id,resolveDisabled:r=>r.dataRef.current.disabled});return{...e,...n,searchQuery:"",activeOptionIndex:i,activationTrigger:(t=a.trigger)!=null?t:1}},3:(e,a)=>{if(e.dataRef.current.disabled||e.listboxState===1)return e;let t=e.searchQuery!==""?0:1,n=e.searchQuery+a.value.toLowerCase(),i=(e.activeOptionIndex!==null?e.options.slice(e.activeOptionIndex+t).concat(e.options.slice(0,e.activeOptionIndex+t)):e.options).find(s=>{var u;return!s.dataRef.current.disabled&&((u=s.dataRef.current.textValue)==null?void 0:u.startsWith(n))}),r=i?e.options.indexOf(i):-1;return r===-1||r===e.activeOptionIndex?{...e,searchQuery:n}:{...e,searchQuery:n,activeOptionIndex:r,activationTrigger:1}},4(e){return e.dataRef.current.disabled||e.listboxState===1||e.searchQuery===""?e:{...e,searchQuery:""}},5:(e,a)=>{let t={id:a.id,dataRef:a.dataRef},n=PT(e,i=>[...i,t]);return e.activeOptionIndex===null&&e.dataRef.current.isSelected(a.dataRef.current.value)&&(n.activeOptionIndex=n.options.indexOf(t)),{...e,...n}},6:(e,a)=>{let t=PT(e,n=>{let i=n.findIndex(r=>r.id===a.id);return i!==-1&&n.splice(i,1),n});return{...e,...t,activationTrigger:1}},7:(e,a)=>({...e,labelId:a.id})},ex=X.createContext(null);ex.displayName="ListboxActionsContext";function Lp(e){let a=X.useContext(ex);if(a===null){let t=new Error(`<${e} /> is missing a parent <Listbox /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(t,Lp),t}return a}let ax=X.createContext(null);ax.displayName="ListboxDataContext";function Rp(e){let a=X.useContext(ax);if(a===null){let t=new Error(`<${e} /> is missing a parent <Listbox /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(t,Rp),t}return a}function G7e(e,a){return yn(a.type,V7e,e,a)}let W7e=X.Fragment;function Y7e(e,a){let{value:t,defaultValue:n,form:i,name:r,onChange:s,by:u=(C,M)=>C===M,disabled:o=!1,horizontal:l=!1,multiple:g=!1,...d}=e;const c=l?"horizontal":"vertical";let p=El(a),[f=g?[]:void 0,h]=m7e(t,s,n),[y,b]=X.useReducer(G7e,{dataRef:X.createRef(),listboxState:1,options:[],searchQuery:"",labelId:null,activeOptionIndex:null,activationTrigger:1}),m=X.useRef({static:!1,hold:!1}),T=X.useRef(null),A=X.useRef(null),v=X.useRef(null),D=Oa(typeof u=="string"?(C,M)=>{let $=u;return(C==null?void 0:C[$])===(M==null?void 0:M[$])}:u),k=X.useCallback(C=>yn(N.mode,{1:()=>f.some(M=>D(M,C)),0:()=>D(f,C)}),[f]),N=X.useMemo(()=>({...y,value:f,disabled:o,mode:g?1:0,orientation:c,compare:D,isSelected:k,optionsPropsRef:m,labelRef:T,buttonRef:A,optionsRef:v}),[f,o,g,y]);Ni(()=>{y.dataRef.current=N},[N]),w7e([N.buttonRef,N.optionsRef],(C,M)=>{var $;b({type:1}),IU(M,XD.Loose)||(C.preventDefault(),($=N.buttonRef.current)==null||$.focus())},N.listboxState===0);let q=X.useMemo(()=>({open:N.listboxState===0,disabled:o,value:f}),[N,o,f]),R=Oa(C=>{let M=N.options.find($=>$.id===C);M&&U(M.dataRef.current.value)}),z=Oa(()=>{if(N.activeOptionIndex!==null){let{dataRef:C,id:M}=N.options[N.activeOptionIndex];U(C.current.value),b({type:2,focus:ui.Specific,id:M})}}),W=Oa(()=>b({type:0})),K=Oa(()=>b({type:1})),P=Oa((C,M,$)=>C===ui.Specific?b({type:2,focus:ui.Specific,id:M,trigger:$}):b({type:2,focus:C,trigger:$})),L=Oa((C,M)=>(b({type:5,id:C,dataRef:M}),()=>b({type:6,id:C}))),H=Oa(C=>(b({type:7,id:C}),()=>b({type:7,id:null}))),U=Oa(C=>yn(N.mode,{0(){return h==null?void 0:h(C)},1(){let M=N.value.slice(),$=M.findIndex(Z=>D(Z,C));return $===-1?M.push(C):M.splice($,1),h==null?void 0:h(M)}})),G=Oa(C=>b({type:3,value:C})),E=Oa(()=>b({type:4})),x=X.useMemo(()=>({onChange:U,registerOption:L,registerLabel:H,goToOption:P,closeListbox:K,openListbox:W,selectActiveOption:z,selectOption:R,search:G,clearSearch:E}),[]),_={ref:p},I=X.useRef(null),w=Jg();return X.useEffect(()=>{I.current&&n!==void 0&&w.addEventListener(I.current,"reset",()=>{h==null||h(n)})},[I,h]),Va.createElement(ex.Provider,{value:x},Va.createElement(ax.Provider,{value:N},Va.createElement(RU,{value:yn(N.listboxState,{0:Si.Open,1:Si.Closed})},r!=null&&f!=null&&PU({[r]:f}).map(([C,M],$)=>Va.createElement(M7e,{features:LU.Hidden,ref:$===0?Z=>{var ne;I.current=(ne=Z==null?void 0:Z.closest("form"))!=null?ne:null}:void 0,...q7({key:C,as:"input",type:"hidden",hidden:!0,readOnly:!0,form:i,disabled:o,name:C,value:M})})),fo({ourProps:_,theirProps:d,slot:q,defaultTag:W7e,name:"Listbox"}))))}let X7e="button";function Q7e(e,a){var t;let n=L9(),{id:i=`headlessui-listbox-button-${n}`,...r}=e,s=Rp("Listbox.Button"),u=Lp("Listbox.Button"),o=El(s.buttonRef,a),l=Jg(),g=Oa(y=>{switch(y.key){case qt.Space:case qt.Enter:case qt.ArrowDown:y.preventDefault(),u.openListbox(),l.nextFrame(()=>{s.value||u.goToOption(ui.First)});break;case qt.ArrowUp:y.preventDefault(),u.openListbox(),l.nextFrame(()=>{s.value||u.goToOption(ui.Last)});break}}),d=Oa(y=>{switch(y.key){case qt.Space:y.preventDefault();break}}),c=Oa(y=>{if(O7e(y.currentTarget))return y.preventDefault();s.listboxState===0?(u.closeListbox(),l.nextFrame(()=>{var b;return(b=s.buttonRef.current)==null?void 0:b.focus({preventScroll:!0})})):(y.preventDefault(),u.openListbox())}),p=wU(()=>{if(s.labelId)return[s.labelId,i].join(" ")},[s.labelId,i]),f=X.useMemo(()=>({open:s.listboxState===0,disabled:s.disabled,value:s.value}),[s]),h={ref:o,id:i,type:_7e(e,s.buttonRef),"aria-haspopup":"listbox","aria-controls":(t=s.optionsRef.current)==null?void 0:t.id,"aria-expanded":s.listboxState===0,"aria-labelledby":p,disabled:s.disabled,onKeyDown:g,onKeyUp:d,onClick:c};return fo({ourProps:h,theirProps:r,slot:f,defaultTag:X7e,name:"Listbox.Button"})}let Z7e="label";function J7e(e,a){let t=L9(),{id:n=`headlessui-listbox-label-${t}`,...i}=e,r=Rp("Listbox.Label"),s=Lp("Listbox.Label"),u=El(r.labelRef,a);Ni(()=>s.registerLabel(n),[n]);let o=Oa(()=>{var g;return(g=r.buttonRef.current)==null?void 0:g.focus({preventScroll:!0})}),l=X.useMemo(()=>({open:r.listboxState===0,disabled:r.disabled}),[r]);return fo({ourProps:{ref:u,id:n,onClick:o},theirProps:i,slot:l,defaultTag:Z7e,name:"Listbox.Label"})}let e3e="ul",a3e=qm.RenderStrategy|qm.Static;function t3e(e,a){var t;let n=L9(),{id:i=`headlessui-listbox-options-${n}`,...r}=e,s=Rp("Listbox.Options"),u=Lp("Listbox.Options"),o=El(s.optionsRef,a),l=Jg(),g=Jg(),d=ZD(),c=d!==null?(d&Si.Open)===Si.Open:s.listboxState===0;X.useEffect(()=>{var b;let m=s.optionsRef.current;m&&s.listboxState===0&&m!==((b=_U(m))==null?void 0:b.activeElement)&&m.focus({preventScroll:!0})},[s.listboxState,s.optionsRef]);let p=Oa(b=>{switch(g.dispose(),b.key){case qt.Space:if(s.searchQuery!=="")return b.preventDefault(),b.stopPropagation(),u.search(b.key);case qt.Enter:if(b.preventDefault(),b.stopPropagation(),s.activeOptionIndex!==null){let{dataRef:m}=s.options[s.activeOptionIndex];u.onChange(m.current.value)}s.mode===0&&(u.closeListbox(),to().nextFrame(()=>{var m;return(m=s.buttonRef.current)==null?void 0:m.focus({preventScroll:!0})}));break;case yn(s.orientation,{vertical:qt.ArrowDown,horizontal:qt.ArrowRight}):return b.preventDefault(),b.stopPropagation(),u.goToOption(ui.Next);case yn(s.orientation,{vertical:qt.ArrowUp,horizontal:qt.ArrowLeft}):return b.preventDefault(),b.stopPropagation(),u.goToOption(ui.Previous);case qt.Home:case qt.PageUp:return b.preventDefault(),b.stopPropagation(),u.goToOption(ui.First);case qt.End:case qt.PageDown:return b.preventDefault(),b.stopPropagation(),u.goToOption(ui.Last);case qt.Escape:return b.preventDefault(),b.stopPropagation(),u.closeListbox(),l.nextFrame(()=>{var m;return(m=s.buttonRef.current)==null?void 0:m.focus({preventScroll:!0})});case qt.Tab:b.preventDefault(),b.stopPropagation();break;default:b.key.length===1&&(u.search(b.key),g.setTimeout(()=>u.clearSearch(),350));break}}),f=wU(()=>{var b;return(b=s.buttonRef.current)==null?void 0:b.id},[s.buttonRef.current]),h=X.useMemo(()=>({open:s.listboxState===0}),[s]),y={"aria-activedescendant":s.activeOptionIndex===null||(t=s.options[s.activeOptionIndex])==null?void 0:t.id,"aria-multiselectable":s.mode===1?!0:void 0,"aria-labelledby":f,"aria-orientation":s.orientation,id:i,onKeyDown:p,role:"listbox",tabIndex:0,ref:o};return fo({ourProps:y,theirProps:r,slot:h,defaultTag:e3e,features:a3e,visible:c,name:"Listbox.Options"})}let n3e="li";function i3e(e,a){let t=L9(),{id:n=`headlessui-listbox-option-${t}`,disabled:i=!1,value:r,...s}=e,u=Rp("Listbox.Option"),o=Lp("Listbox.Option"),l=u.activeOptionIndex!==null?u.options[u.activeOptionIndex].id===n:!1,g=u.isSelected(r),d=X.useRef(null),c=z7e(d),p=cs({disabled:i,value:r,domRef:d,get textValue(){return c()}}),f=El(a,d);Ni(()=>{if(u.listboxState!==0||!l||u.activationTrigger===0)return;let D=to();return D.requestAnimationFrame(()=>{var k,N;(N=(k=d.current)==null?void 0:k.scrollIntoView)==null||N.call(k,{block:"nearest"})}),D.dispose},[d,l,u.listboxState,u.activationTrigger,u.activeOptionIndex]),Ni(()=>o.registerOption(n,p),[p,n]);let h=Oa(D=>{if(i)return D.preventDefault();o.onChange(r),u.mode===0&&(o.closeListbox(),to().nextFrame(()=>{var k;return(k=u.buttonRef.current)==null?void 0:k.focus({preventScroll:!0})}))}),y=Oa(()=>{if(i)return o.goToOption(ui.Nothing);o.goToOption(ui.Specific,n)}),b=N7e(),m=Oa(D=>b.update(D)),T=Oa(D=>{b.wasMoved(D)&&(i||l||o.goToOption(ui.Specific,n,0))}),A=Oa(D=>{b.wasMoved(D)&&(i||l&&o.goToOption(ui.Nothing))}),v=X.useMemo(()=>({active:l,selected:g,disabled:i}),[l,g,i]);return fo({ourProps:{id:n,ref:f,role:"option",tabIndex:i===!0?void 0:-1,"aria-disabled":i===!0?!0:void 0,"aria-selected":g,disabled:void 0,onClick:h,onFocus:y,onPointerEnter:m,onMouseEnter:m,onPointerMove:T,onMouseMove:T,onPointerLeave:A,onMouseLeave:A},theirProps:s,slot:v,defaultTag:n3e,name:"Listbox.Option"})}let r3e=ru(Y7e),s3e=ru(Q7e),u3e=ru(J7e),o3e=ru(t3e),l3e=ru(i3e),sCe=Object.assign(r3e,{Button:s3e,Label:u3e,Options:o3e,Option:l3e});function g3e(e=0){let[a,t]=X.useState(e),n=JD(),i=X.useCallback(o=>{n.current&&t(l=>l|o)},[a,n]),r=X.useCallback(o=>!!(a&o),[a]),s=X.useCallback(o=>{n.current&&t(l=>l&~o)},[t,n]),u=X.useCallback(o=>{n.current&&t(l=>l^o)},[t]);return{flags:a,addFlag:i,hasFlag:r,removeFlag:s,toggleFlag:u}}function d3e(e){let a={called:!1};return(...t)=>{if(!a.called)return a.called=!0,e(...t)}}function MT(e,...a){e&&a.length>0&&e.classList.add(...a)}function OT(e,...a){e&&a.length>0&&e.classList.remove(...a)}function c3e(e,a){let t=to();if(!e)return t.dispose;let{transitionDuration:n,transitionDelay:i}=getComputedStyle(e),[r,s]=[n,i].map(o=>{let[l=0]=o.split(",").filter(Boolean).map(g=>g.includes("ms")?parseFloat(g):parseFloat(g)*1e3).sort((g,d)=>d-g);return l}),u=r+s;if(u!==0){t.group(l=>{l.setTimeout(()=>{a(),l.dispose()},u),l.addEventListener(e,"transitionrun",g=>{g.target===g.currentTarget&&l.dispose()})});let o=t.addEventListener(e,"transitionend",l=>{l.target===l.currentTarget&&(a(),o())})}else a();return t.add(()=>a()),t.dispose}function p3e(e,a,t,n){let i=t?"enter":"leave",r=to(),s=n!==void 0?d3e(n):()=>{};i==="enter"&&(e.removeAttribute("hidden"),e.style.display="");let u=yn(i,{enter:()=>a.enter,leave:()=>a.leave}),o=yn(i,{enter:()=>a.enterTo,leave:()=>a.leaveTo}),l=yn(i,{enter:()=>a.enterFrom,leave:()=>a.leaveFrom});return OT(e,...a.base,...a.enter,...a.enterTo,...a.enterFrom,...a.leave,...a.leaveFrom,...a.leaveTo,...a.entered),MT(e,...a.base,...u,...l),r.nextFrame(()=>{OT(e,...a.base,...u,...l),MT(e,...a.base,...u,...o),c3e(e,()=>(OT(e,...a.base,...u),MT(e,...a.base,...a.entered),s()))}),r.dispose}function f3e({immediate:e,container:a,direction:t,classes:n,onStart:i,onStop:r}){let s=JD(),u=Jg(),o=cs(t);Ni(()=>{e&&(o.current="enter")},[e]),Ni(()=>{let l=to();u.add(l.dispose);let g=a.current;if(g&&o.current!=="idle"&&s.current)return l.dispose(),i.current(o.current),l.add(p3e(g,n.current,o.current==="enter",()=>{l.dispose(),r.current(o.current)})),l.dispose},[t])}function pu(e=""){return e.split(/\s+/).filter(a=>a.length>1)}let R9=X.createContext(null);R9.displayName="TransitionContext";var h3e=(e=>(e.Visible="visible",e.Hidden="hidden",e))(h3e||{});function m3e(){let e=X.useContext(R9);if(e===null)throw new Error("A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.");return e}function y3e(){let e=X.useContext(P9);if(e===null)throw new Error("A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.");return e}let P9=X.createContext(null);P9.displayName="NestingContext";function M9(e){return"children"in e?M9(e.children):e.current.filter(({el:a})=>a.current!==null).filter(({state:a})=>a==="visible").length>0}function BU(e,a){let t=cs(e),n=X.useRef([]),i=JD(),r=Jg(),s=Oa((p,f=Ru.Hidden)=>{let h=n.current.findIndex(({el:y})=>y===p);h!==-1&&(yn(f,{[Ru.Unmount](){n.current.splice(h,1)},[Ru.Hidden](){n.current[h].state="hidden"}}),r.microTask(()=>{var y;!M9(n)&&i.current&&((y=t.current)==null||y.call(t))}))}),u=Oa(p=>{let f=n.current.find(({el:h})=>h===p);return f?f.state!=="visible"&&(f.state="visible"):n.current.push({el:p,state:"visible"}),()=>s(p,Ru.Unmount)}),o=X.useRef([]),l=X.useRef(Promise.resolve()),g=X.useRef({enter:[],leave:[],idle:[]}),d=Oa((p,f,h)=>{o.current.splice(0),a&&(a.chains.current[f]=a.chains.current[f].filter(([y])=>y!==p)),a==null||a.chains.current[f].push([p,new Promise(y=>{o.current.push(y)})]),a==null||a.chains.current[f].push([p,new Promise(y=>{Promise.all(g.current[f].map(([b,m])=>m)).then(()=>y())})]),f==="enter"?l.current=l.current.then(()=>a==null?void 0:a.wait.current).then(()=>h(f)):h(f)}),c=Oa((p,f,h)=>{Promise.all(g.current[f].splice(0).map(([y,b])=>b)).then(()=>{var y;(y=o.current.shift())==null||y()}).then(()=>h(f))});return X.useMemo(()=>({children:n,register:u,unregister:s,onStart:d,onStop:c,wait:l,chains:g}),[u,s,n,d,c,g,l])}function b3e(){}let T3e=["beforeEnter","afterEnter","beforeLeave","afterLeave"];function Kw(e){var a;let t={};for(let n of T3e)t[n]=(a=e[n])!=null?a:b3e;return t}function S3e(e){let a=X.useRef(Kw(e));return X.useEffect(()=>{a.current=Kw(e)},[e]),a}let A3e="div",FU=qm.RenderStrategy;function v3e(e,a){var t,n;let{beforeEnter:i,afterEnter:r,beforeLeave:s,afterLeave:u,enter:o,enterFrom:l,enterTo:g,entered:d,leave:c,leaveFrom:p,leaveTo:f,...h}=e,y=X.useRef(null),b=El(y,a),m=(t=h.unmount)==null||t?Ru.Unmount:Ru.Hidden,{show:T,appear:A,initial:v}=m3e(),[D,k]=X.useState(T?"visible":"hidden"),N=y3e(),{register:q,unregister:R}=N;X.useEffect(()=>q(y),[q,y]),X.useEffect(()=>{if(m===Ru.Hidden&&y.current){if(T&&D!=="visible"){k("visible");return}return yn(D,{hidden:()=>R(y),visible:()=>q(y)})}},[D,y,q,R,T,m]);let z=cs({base:pu(h.className),enter:pu(o),enterFrom:pu(l),enterTo:pu(g),entered:pu(d),leave:pu(c),leaveFrom:pu(p),leaveTo:pu(f)}),W=S3e({beforeEnter:i,afterEnter:r,beforeLeave:s,afterLeave:u}),K=YD();X.useEffect(()=>{if(K&&D==="visible"&&y.current===null)throw new Error("Did you forget to passthrough the `ref` to the actual DOM node?")},[y,D,K]);let P=v&&!A,L=A&&T&&v,H=!K||P?"idle":T?"enter":"leave",U=g3e(0),G=Oa(C=>yn(C,{enter:()=>{U.addFlag(Si.Opening),W.current.beforeEnter()},leave:()=>{U.addFlag(Si.Closing),W.current.beforeLeave()},idle:()=>{}})),E=Oa(C=>yn(C,{enter:()=>{U.removeFlag(Si.Opening),W.current.afterEnter()},leave:()=>{U.removeFlag(Si.Closing),W.current.afterLeave()},idle:()=>{}})),x=BU(()=>{k("hidden"),R(y)},N),_=X.useRef(!1);f3e({immediate:L,container:y,classes:z,direction:H,onStart:cs(C=>{_.current=!0,x.onStart(y,C,G)}),onStop:cs(C=>{_.current=!1,x.onStop(y,C,E),C==="leave"&&!M9(x)&&(k("hidden"),R(y))})});let I=h,w={ref:b};return L?I={...I,className:Hm(h.className,...z.current.enter,...z.current.enterFrom)}:_.current&&(I.className=Hm(h.className,(n=y.current)==null?void 0:n.className),I.className===""&&delete I.className),Va.createElement(P9.Provider,{value:x},Va.createElement(RU,{value:yn(D,{visible:Si.Open,hidden:Si.Closed})|U.flags},fo({ourProps:w,theirProps:I,defaultTag:A3e,features:FU,visible:D==="visible",name:"Transition.Child"})))}function D3e(e,a){let{show:t,appear:n=!1,unmount:i=!0,...r}=e,s=X.useRef(null),u=El(s,a);YD();let o=ZD();if(t===void 0&&o!==null&&(t=(o&Si.Open)===Si.Open),![!0,!1].includes(t))throw new Error("A <Transition /> is used but it is missing a `show={true | false}` prop.");let[l,g]=X.useState(t?"visible":"hidden"),d=BU(()=>{g("hidden")}),[c,p]=X.useState(!0),f=X.useRef([t]);Ni(()=>{c!==!1&&f.current[f.current.length-1]!==t&&(f.current.push(t),p(!1))},[f,t]);let h=X.useMemo(()=>({show:t,appear:n,initial:c}),[t,n,c]);X.useEffect(()=>{if(t)g("visible");else if(!M9(d))g("hidden");else{let T=s.current;if(!T)return;let A=T.getBoundingClientRect();A.x===0&&A.y===0&&A.width===0&&A.height===0&&g("hidden")}},[t,d]);let y={unmount:i},b=Oa(()=>{var T;c&&p(!1),(T=e.beforeEnter)==null||T.call(e)}),m=Oa(()=>{var T;c&&p(!1),(T=e.beforeLeave)==null||T.call(e)});return Va.createElement(P9.Provider,{value:d},Va.createElement(R9.Provider,{value:h},fo({ourProps:{...y,as:X.Fragment,children:Va.createElement(UU,{ref:u,...y,...r,beforeEnter:b,beforeLeave:m})},theirProps:{},defaultTag:X.Fragment,features:FU,visible:l==="visible",name:"Transition"})))}function x3e(e,a){let t=X.useContext(R9)!==null,n=ZD()!==null;return Va.createElement(Va.Fragment,null,!t&&n?Va.createElement(V7,{ref:a,...e}):Va.createElement(UU,{ref:a,...e}))}let V7=ru(D3e),UU=ru(v3e),E3e=ru(x3e),uCe=Object.assign(V7,{Child:E3e,Root:V7});var O9={};Object.defineProperty(O9,"__esModule",{value:!0});var k3e=O9.lazyWithPreload=void 0,Qf=X;function jU(e){var a=(0,Qf.lazy)(e),t,n,i=(0,Qf.forwardRef)(function(u,o){var l=(0,Qf.useRef)(t??a);return(0,Qf.createElement)(l.current,Object.assign(o?{ref:o}:{},u))}),r=i;return r.preload=function(){return n||(n=e().then(function(s){return t=s.default,t})),n},r}k3e=O9.lazyWithPreload=jU;O9.default=jU;class C3e{constructor({name:a,build:t,detect:n,helper:i,parse:r}){this.name=a,this.helper=i,this.build=t,this.detect=s=>{if(typeof s!="string")throw new TypeError(`Expected string, got ${typeof s}!`);return n(s)},this.parse=(s,u)=>{if(typeof s!="string")throw new TypeError(`Expected string, got ${typeof s}!`);return r(s,u)}}}const su=e=>new C3e(e),w3e="ssa",ed={toMilliseconds:e=>{const a=/^\s*(\d+:)?(\d{1,2}):(\d{1,2})(?:[.,](\d{1,3}))?\s*$/.exec(e);if(!a)throw new TypeError(`Invalid time format: ${e}`);const t=a[1]?parseInt(a[1].replace(":","")):0,n=parseInt(a[2],10),i=parseInt(a[3],10),r=a[4]?parseInt(a[4],10):0;return t*3600*1e3+n*60*1e3+i*1e3+r*10},toTimeString:e=>{const a=Math.floor(e/1e3/3600),t=Math.floor(e/1e3/60%60),n=Math.floor(e/1e3%60),i=Math.floor(e%1e3/10);return`${a}:${t<10?"0":""}${t}:${n<10?"0":""}${n}.${i<10?"0":""}${i}`}},Hw=(e,a)=>{const t={};for(let n=0;n<e.length&&n<a.length;n++)t[e[n]]=a[n];return t},zU=(e,a)=>{var t;let n,i=null;const r=[],s=(t=a.eol)!==null&&t!==void 0?t:`\r
`,u=e.split(/\r?\n\s*\n/);for(const o of u){const g=/^\s*\[([^\]]+)\]\r?\n([\s\S]*)$/.exec(o);if(g){const d=g[1],c=g[2].split(/\r?\n/);for(const p of c){if(/^\s*;/.test(p))continue;const f=/^\s*([^\s:]+):\s*(.*)$/.exec(p);if(f){if(d==="Script Info")if(n||(n={},n.type="meta",n.data={},r.push(n)),typeof n.data=="object"){const h=f[1].trim(),y=f[2].trim();n.data[h]=y}else throw new TypeError(`Invalid meta data: ${p}`);else if(d==="V4 Styles"||d==="V4+ Styles"){const h=f[1].trim(),y=f[2].trim();if(h==="Format")i=y.split(/\s*,\s*/);else if(h==="Style"&&i){const b=y.split(/\s*,\s*/),m={};m.type="style",m.data=Hw(i,b),r.push(m)}}else if(d==="Events"){const h=f[1].trim(),y=f[2].trim();if(h==="Format")i=y.split(/\s*,\s*/);else if(h==="Dialogue"&&i){const b=y.split(/\s*,\s*/),m={};m.type="caption",m.data=Hw(i,b),m.start=ed.toMilliseconds(m.data.Start),m.end=ed.toMilliseconds(m.data.End),m.duration=m.end-m.start,m.content=m.data.Text;const T=y.split(",",i.length-1).join(",").length+1+1;m.content=y.substring(T),m.data.Text=m.content,m.text=m.content.replace(/\\N/g,s).replace(/\{[^}]+\}/g,""),r.push(m)}}}}}a.verbose&&console.warn("Unknown part",o)}return r},$U=(e,a)=>{var t;const n=(t=a.eol)!==null&&t!==void 0?t:`\r
`,i=a.format==="ass";let r="";r+=`[Script Info]${n}`,r+=`; Script generated by subsrt ${n}`,r+=`ScriptType: v4.00${i?"+":""}${n}`,r+=`Collisions: Normal${n}`,r+=n,i?(r+=`[V4+ Styles]${n}`,r+=`Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding${n}`,r+=`Style: DefaultVCD, Arial,28,&H00B4FCFC,&H00B4FCFC,&H00000008,&H80000008,-1,0,0,0,100,100,0.00,0.00,1,1.00,2.00,2,30,30,30,0${n}`):(r+=`[V4 Styles]${n}`,r+=`Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding${n}`,r+=`Style: DefaultVCD, Arial,28,11861244,11861244,11861244,-2147483640,-1,0,1,1,2,2,30,30,30,0,0${n}`),r+=n,r+=`[Events]${n}`,r+=`Format: ${i?"Layer":"Marked"}, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text${n}`;for(const s of e)if(s.type!=="meta"){if(!s.type||s.type==="caption"){r+=`Dialogue: ${i?"0":"Marked=0"},${ed.toTimeString(s.start)},${ed.toTimeString(s.end)},DefaultVCD, NTP,0000,0000,0000,,${s.text.replace(/\r?\n/g,"\\N")}${n}`;continue}a.verbose&&console.log("SKIP:",s)}return r},KU=e=>/^\s*\[Script Info\]\r?\n/.test(e)&&/\s*\[Events\]\r?\n/.test(e)?e.indexOf("[V4+ Styles]")>0?"ass":"ssa":!1,_3e=su({name:w3e,build:$U,detect:KU,helper:ed,parse:zU}),I3e="ass",N3e=su({name:I3e,build:$U,detect:KU,helper:ed,parse:zU}),L3e="json",R3e=(e,a)=>JSON.parse(e),P3e=(e,a)=>JSON.stringify(e,void 0,2),M3e=e=>{try{const a=JSON.parse(e);return Array.isArray(a)&&a.length>0&&typeof a[0]=="object"}catch{return!1}},O3e=su({name:L3e,build:P3e,detect:M3e,parse:R3e}),B3e="lrc",tx={toMilliseconds:e=>{const a=/^\s*(\d+):(\d{1,2})(?:[.,](\d{1,3}))?\s*$/.exec(e);if(!a)throw new TypeError(`Invalid time format: ${e}`);const t=parseInt(a[1],10),n=parseInt(a[2],10),i=a[3]?parseInt(a[3],10):0;return t*60*1e3+n*1e3+i*10},toTimeString:e=>{const a=Math.floor(e/1e3/60),t=Math.floor(e/1e3%60),n=Math.floor(e%1e3);return`${(a<10?"0":"")+a}:${t<10?"0":""}${t}.${n<100?"0":""}${n<10?"0":Math.floor(n/10)}`}},F3e=(e,a)=>{let t=null;const n=[],i=e.split(/\r?\n/);for(const r of i){if(!r||r.trim().length===0)continue;const u=/^\[(\d{1,2}:\d{1,2}(?:[.,]\d{1,3})?)\](.*)(?:\r?\n)*$/.exec(r);if(u){const l={};l.type="caption",l.start=tx.toMilliseconds(u[1]),l.end=l.start+2e3,l.duration=l.end-l.start,l.content=u[2],l.text=l.content,n.push(l),t&&(t.end=l.start,t.duration=t.end-t.start),t=l;continue}const o=/^\[(\w+):([^\]]*)\](?:\r?\n)*$/.exec(r);if(o){const l={};l.type="meta",l.tag=o[1],o[2]&&(l.data=o[2]),n.push(l);continue}a.verbose&&console.warn("Unknown part",r)}return n},U3e=(e,a)=>{var t;let n="",i=!1;const r=(t=a.eol)!==null&&t!==void 0?t:`\r
`;for(const s of e){if(s.type==="meta"){s.tag&&s.data&&typeof s.data=="string"&&(n+=`[${s.tag}:${s.data.replace(/[\r\n]+/g," ")}]${r}`);continue}if(!s.type||s.type==="caption"){i||(n+=r,i=!0),n+=`[${tx.toTimeString(s.start)}]${s.text}${r}`;continue}a.verbose&&console.log("SKIP:",s)}return n},j3e=e=>/\r?\n\[\d+:\d{1,2}(?:[.,]\d{1,3})?\].*\r?\n/.test(e),z3e=su({name:B3e,build:U3e,detect:j3e,helper:tx,parse:F3e}),$3e="sbv",qc={toMilliseconds:e=>{const a=/^\s*(\d{1,2}):(\d{1,2}):(\d{1,2})(?:[.,](\d{1,3}))?\s*$/.exec(e);if(!a)throw new TypeError(`Invalid time format: ${e}`);const t=parseInt(a[1],10),n=parseInt(a[2],10),i=parseInt(a[3],10),r=a[4]?parseInt(a[4],10):0;return t*3600*1e3+n*60*1e3+i*1e3+r},toTimeString:e=>{const a=Math.floor(e/1e3/3600),t=Math.floor(e/1e3/60%60),n=Math.floor(e/1e3%60),i=Math.floor(e%1e3);return`${(a<10?"0":"")+a}:${t<10?"0":""}${t}:${n<10?"0":""}${n}.${i<100?"0":""}${i<10?"0":""}${i}`}},K3e=(e,a)=>{var t;const n=[],i=(t=a.eol)!==null&&t!==void 0?t:`\r
`,r=e.split(/\r?\n\s*\n/);for(const s of r){const o=/^(\d{1,2}:\d{1,2}:\d{1,2}(?:[.,]\d{1,3})?)\s*[,;]\s*(\d{1,2}:\d{1,2}:\d{1,2}(?:[.,]\d{1,3})?)\r?\n([\s\S]*)$/.exec(s);if(o){const l={};l.type="caption",l.start=qc.toMilliseconds(o[1]),l.end=qc.toMilliseconds(o[2]),l.duration=l.end-l.start;const g=o[3].split(/\[br\]|\r?\n/i);l.content=g.join(i),l.text=l.content.replace(/>>[^:]+:\s*/g,""),n.push(l);continue}a.verbose&&console.warn("Unknown part",s)}return n},H3e=(e,a)=>{var t;let n="";const i=(t=a.eol)!==null&&t!==void 0?t:`\r
`;for(const r of e){if(!r.type||r.type==="caption"){n+=`${qc.toTimeString(r.start)},${qc.toTimeString(r.end)}${i}`,n+=r.text+i,n+=i;continue}a.verbose&&console.log("SKIP:",r)}return n},q3e=e=>/\d{1,2}:\d{1,2}:\d{1,2}(?:[.,]\d{1,3})?\s*[,;]\s*\d{1,2}:\d{1,2}:\d{1,2}(?:[.,]\d{1,3})?/.test(e),V3e=su({name:$3e,build:H3e,detect:q3e,helper:qc,parse:K3e}),HU="smi",nx={htmlEncode:e=>e.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#39;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\r?\n/g,"<BR>"),htmlDecode:(e,a)=>e.replace(/<BR\s*\/?>/gi,a||`\r
`).replace(/&nbsp;/g," ").replace(/&quot;/g,'"').replace(/&#39;/g,"'").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&")},G3e=(e,a)=>{var t,n;if(a.format&&a.format!==HU)throw new TypeError(`Invalid format: ${a.format}`);const i=[],r=(t=a.eol)!==null&&t!==void 0?t:`\r
`,s=/<TITLE[^>]*>([\s\S]*)<\/TITLE>/i.exec(e);if(s){const d={};d.type="meta",d.name="title",d.data=s[1].replace(/^\s*/g,"").replace(/\s*$/g,""),i.push(d)}const u=/<STYLE[^>]*>([\s\S]*)<\/STYLE>/i.exec(e);if(u){const d={};d.type="meta",d.name="style",d.data=u[1],i.push(d)}const o=e.replace(/^[\s\S]*<BODY[^>]*>/gi,"").replace(/<\/BODY[^>]*>[\s\S]*$/gi,"");let l=null;const g=o.split(/<SYNC/i);for(const d of g){if(!d||d.trim().length===0)continue;const c=`<SYNC${d}`,p=/^<SYNC[^>]+Start\s*=\s*["']?(\d+)[^\d>]*>([\s\S]*)/i.exec(c);if(p){const f={};f.type="caption",f.start=parseInt(p[1],10),f.end=f.start+2e3,f.duration=f.end-f.start,f.content=p[2].replace(/^<\/SYNC[^>]*>/gi,"");let h=!0;const y=(n=/^<P.+Class\s*=\s*["']?([\w-]+)(?: .*)?>([\s\S]*)/i.exec(f.content))!==null&&n!==void 0?n:/^<P([^>]*)>([\s\S]*)/i.exec(f.content);if(y){let b=y[2].replace(/<P[\s\S]+$/gi,"");b=b.replace(/<BR\s*\/?>\s+/gi,r).replace(/<BR\s*\/?>/gi,r).replace(/<[^>]+>/g,""),b=b.replace(/^\s+/g,"").replace(/\s+$/g,""),h=b.replace(/&nbsp;/gi," ").replace(/\s+/g,"").length===0,f.text=nx.htmlDecode(b,r)}!a.preserveSpaces&&h?a.verbose&&console.log(`INFO: Skipping white space caption at ${f.start}`):i.push(f),l&&(l.end=f.start,l.duration=l.end-l.start),l=f;continue}a.verbose&&console.warn("Unknown part",d)}return i},W3e=(e,a)=>{var t,n,i,r;const s=(t=a.eol)!==null&&t!==void 0?t:`\r
`;let u="";u+=`<SAMI>${s}`,u+=`<HEAD>${s}`,u+=`<TITLE>${(n=a.title)!==null&&n!==void 0?n:""}</TITLE>${s}`,u+=`<STYLE TYPE="text/css">${s}`,u+=`<!--${s}`,u+=`P { font-family: Arial; font-weight: normal; color: white; background-color: black; text-align: center; }${s}`,u+=`.LANG { Name: ${(i=a.langName)!==null&&i!==void 0?i:"English"}; lang: ${(r=a.langCode)!==null&&r!==void 0?r:"en-US"}; SAMIType: CC; }${s}`,u+=`-->${s}`,u+=`</STYLE>${s}`,u+=`</HEAD>${s}`,u+=`<BODY>${s}`;for(const o of e)if(o.type!=="meta"){if(!o.type||o.type==="caption"){u+=`<SYNC Start=${o.start}>${s}`,u+=`  <P Class=LANG>${nx.htmlEncode(o.text||"")}${a.closeTags?"</P>":""}${s}`,a.closeTags&&(u+=`</SYNC>${s}`),u+=`<SYNC Start=${o.end}>${s}`,u+=`  <P Class=LANG>&nbsp;${a.closeTags?"</P>":""}${s}`,a.closeTags&&(u+=`</SYNC>${s}`);continue}a.verbose&&console.log("SKIP:",o)}return u+=`</BODY>${s}`,u+=`</SAMI>${s}`,u},Y3e=e=>/<SAMI[^>]*>[\s\S]*<BODY[^>]*>/.test(e),X3e=su({name:HU,build:W3e,detect:Y3e,helper:nx,parse:G3e}),Q3e="srt",Vc={toMilliseconds:e=>{const a=/^\s*(\d{1,2}):(\d{1,2}):(\d{1,2})(?:[.,](\d{1,3}))?\s*$/.exec(e);if(!a)throw new TypeError(`Invalid time format: ${e}`);const t=parseInt(a[1],10),n=parseInt(a[2],10),i=parseInt(a[3],10),r=a[4]?parseInt(a[4],10):0;return t*3600*1e3+n*60*1e3+i*1e3+r},toTimeString:e=>{const a=Math.floor(e/1e3/3600),t=Math.floor(e/1e3/60%60),n=Math.floor(e/1e3%60),i=Math.floor(e%1e3);return`${(a<10?"0":"")+a}:${t<10?"0":""}${t}:${n<10?"0":""}${n},${i<100?"0":""}${i<10?"0":""}${i}`}},Z3e=(e,a)=>{var t;const n=[],i=(t=a.eol)!==null&&t!==void 0?t:`\r
`,r=e.split(/\r?\n\s*\n/);for(const s of r){const o=/^(\d+)\r?\n(\d{1,2}:\d{1,2}:\d{1,2}(?:[.,]\d{1,3})?)\s*-->\s*(\d{1,2}:\d{1,2}:\d{1,2}(?:[.,]\d{1,3})?)\r?\n([\s\S]*)$/.exec(s);if(o){const l={};l.type="caption",l.index=parseInt(o[1],10),l.start=Vc.toMilliseconds(o[2]),l.end=Vc.toMilliseconds(o[3]),l.duration=l.end-l.start;const g=o[4].split(/\r?\n/);l.content=g.join(i),l.text=l.content.replace(/<[^>]+>/g,"").replace(/\{[^}]+\}/g,"").replace(/>>[^:]*:\s*/g,""),n.push(l);continue}a.verbose&&console.warn("Unknown part",s)}return n},J3e=(e,a)=>{var t;let n="";const i=(t=a.eol)!==null&&t!==void 0?t:`\r
`;for(let r=0;r<e.length;r++){const s=e[r];if(!s.type||s.type==="caption"){n+=(r+1).toString()+i,n+=`${Vc.toTimeString(s.start)} --> ${Vc.toTimeString(s.end)}${i}`,n+=s.text+i,n+=i;continue}a.verbose&&console.log("SKIP:",s)}return n},eve=e=>/\d+\r?\n\d{1,2}:\d{1,2}:\d{1,2}(?:[.,]\d{1,3})?\s*-->\s*\d{1,2}:\d{1,2}:\d{1,2}(?:[.,]\d{1,3})?/.test(e),ave=su({name:Q3e,build:J3e,detect:eve,helper:Vc,parse:Z3e}),tve="sub",G7=25,nve=(e,a)=>{var t;a.fps||(a.fps=G7);const n=a.fps>0?a.fps:G7,i=[],r=(t=a.eol)!==null&&t!==void 0?t:`\r
`,s=e.split(/\r?\n/);for(let u=0;u<s.length;u++){const l=/^\{(\d+)\}\{(\d+)\}(.*)$/.exec(s[u]);if(l){const g={};g.type="caption",g.index=u+1,g.frame={start:parseInt(l[1],10),end:parseInt(l[2],10),count:parseInt(l[2])-parseInt(l[1],10)},g.start=Math.round(g.frame.start/n),g.end=Math.round(g.frame.end/n),g.duration=g.end-g.start;const d=l[3].split(/\|/);g.content=d.join(r),g.text=g.content.replace(/\{[^}]+\}/g,""),i.push(g);continue}a.verbose&&console.warn("Unknown part",s[u])}return i},ive=(e,a)=>{var t,n;const i=((t=a.fps)!==null&&t!==void 0?t:0)>0?a.fps:G7;let r="";const s=(n=a.eol)!==null&&n!==void 0?n:`\r
`;for(const u of e){if(!u.type||u.type==="caption"){const o=typeof u.frame=="object"&&u.frame.start>=0?u.frame.start:u.start*i,l=typeof u.frame=="object"&&u.frame.end>=0?u.frame.end:u.end*i,g=u.text.replace(/\r?\n/,"|");r+=`{${o}}{${l}}${g}${s}`;continue}a.verbose&&console.log("SKIP:",u)}return r},rve=e=>/^\{\d+\}\{\d+\}.*/.test(e),sve=su({name:tve,build:ive,detect:rve,parse:nve}),uve="vtt",Gc={toMilliseconds:e=>{const a=/^\s*(\d{1,2}:)?(\d{1,2}):(\d{1,2})(?:[.,](\d{1,3}))?\s*$/.exec(e);if(!a)throw new TypeError(`Invalid time format: ${e}`);const t=a[1]?parseInt(a[1].replace(":","")):0,n=parseInt(a[2],10),i=parseInt(a[3],10),r=a[4]?parseInt(a[4],10):0;return t*3600*1e3+n*60*1e3+i*1e3+r},toTimeString:e=>{const a=Math.floor(e/1e3/3600),t=Math.floor(e/1e3/60%60),n=Math.floor(e/1e3%60),i=Math.floor(e%1e3);return`${(a<10?"0":"")+a}:${t<10?"0":""}${t}:${n<10?"0":""}${n}.${i<100?"0":""}${i<10?"0":""}${i}`}},ove=(e,a)=>{var t;let n=1;const i=[],r=e.split(/\r?\n\s*\n/);for(const s of r){const o=/^([^\r\n]+\r?\n)?((?:\d{1,2}:)?\d{1,2}:\d{1,2}(?:[.,]\d{1,3})?)\s*-->\s*((?:\d{1,2}:)?\d{1,2}:\d{1,2}(?:[.,]\d{1,3})?)[^\S\r\n]?.*\r?\n([\s\S]*)$/.exec(s);if(o){const g={};g.type="caption",g.index=n++,o[1]&&(g.cue=o[1].replace(/[\r\n]*/g,"")),g.start=Gc.toMilliseconds(o[2]),g.end=Gc.toMilliseconds(o[3]),g.duration=g.end-g.start,g.content=o[4],g.text=g.content.replace(/<[^>]+>/g,"").replace(/\{[^}]+\}/g,""),i.push(g);continue}const l=(t=/^([A-Z]+)(\r?\n([\s\S]*))?$/.exec(s))!==null&&t!==void 0?t:/^([A-Z]+)\s+([^\r\n]*)$/.exec(s);if(l){const g={};g.type="meta",g.name=l[1],l[3]&&(g.data=l[3]),i.push(g);continue}a.verbose&&console.warn("Unknown part",s)}return i},lve=(e,a)=>{var t;const n=(t=a.eol)!==null&&t!==void 0?t:`\r
`;let i=`WEBVTT${n}${n}`;for(let r=0;r<e.length;r++){const s=e[r];if(s.type==="meta"){if(s.name==="WEBVTT")continue;i+=s.name+n,i+=typeof s.data=="string"?s.data+n:"",i+=n;continue}if(!s.type||s.type==="caption"){i+=(r+1).toString()+n,i+=`${Gc.toTimeString(s.start)} --> ${Gc.toTimeString(s.end)}${n}`,i+=s.text+n,i+=n;continue}a.verbose&&console.log("SKIP:",s)}return i},gve=e=>/^\s*WEBVTT\r?\n/.test(e),dve=su({name:uve,build:lve,detect:gve,helper:Gc,parse:ove}),cve={vtt:dve,lrc:z3e,smi:X3e,ssa:_3e,ass:N3e,sub:sve,srt:ave,sbv:V3e,json:O3e},pve=e=>JSON.parse(JSON.stringify(e));class fve{constructor(){this.format=cve,this.list=()=>Object.keys(this.format),this.detect=a=>{const t=this.list();for(const n of t){const i=this.format[n];if(typeof i>"u"||typeof i.detect!="function")continue;const r=i.detect(a);if(r===!0||r===n)return n}return""},this.parse=(a,t={})=>{var n;const i=(n=t.format)!==null&&n!==void 0?n:this.detect(a);if(!i||i.trim().length===0)throw new TypeError("Cannot determine subtitle format");const r=this.format[i];if(typeof r>"u")throw new TypeError(`Unsupported subtitle format: ${i}`);const s=r.parse;if(typeof s!="function")throw new TypeError(`Subtitle format does not support 'parse' op: ${i}`);return s(a,t)},this.build=(a,t={})=>{const n=t.format||"srt";if(!n||n.trim().length===0)throw new TypeError("Cannot determine subtitle format");const i=this.format[n];if(typeof i>"u")throw new TypeError(`Unsupported subtitle format: ${n}`);const r=i.build;if(typeof r!="function")throw new TypeError(`Subtitle format does not support 'build' op: ${n}`);return r(a,t)},this.convert=(a,t={})=>{var n;let i={};typeof t=="string"?i.to=t:i=t;const r={format:(n=i.from)!==null&&n!==void 0?n:void 0,verbose:i.verbose,eol:i.eol};let s=this.parse(a,r);i.resync&&(s=this.resync(s,i.resync));const u={format:i.to||i.format,verbose:i.verbose,eol:i.eol};return this.build(s,u)},this.resync=(a,t={})=>{var n,i,r,s;let u,o,l=!1,g;if(typeof t=="function")u=t;else if(typeof t=="number")g=t,u=c=>[c[0]+g,c[1]+g];else if(typeof t=="object")g=((n=t.offset)!==null&&n!==void 0?n:0)*(t.frame?(i=t.fps)!==null&&i!==void 0?i:25:1),o=(r=t.ratio)!==null&&r!==void 0?r:1,l=(s=t.frame)!==null&&s!==void 0?s:!1,u=c=>[Math.round(c[0]*o+g),Math.round(c[1]*o+g)];else throw new TypeError("Argument 'options' not defined");const d=[];for(const c of a){const p=pve(c);if(!p.type||p.type==="caption")if(l&&p.frame){const f=u([p.frame.start,p.frame.end]);f&&f.length===2&&(p.frame.start=f[0],p.frame.end=f[1],p.frame.count=p.frame.end-p.frame.start)}else{const f=u([p.start,p.end]);f&&f.length===2&&(p.start=f[0],p.end=f[1],p.duration=p.end-p.start)}d.push(p)}return d}}}const hve=new fve,{format:oCe,list:lCe,detect:gCe,parse:dCe,build:cCe,convert:pCe,resync:fCe}=hve;/*! @license DOMPurify 3.1.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.1.6/LICENSE */const{entries:qU,setPrototypeOf:qw,isFrozen:mve,getPrototypeOf:yve,getOwnPropertyDescriptor:bve}=Object;let{freeze:jn,seal:rr,create:VU}=Object,{apply:W7,construct:Y7}=typeof Reflect<"u"&&Reflect;jn||(jn=function(a){return a});rr||(rr=function(a){return a});W7||(W7=function(a,t,n){return a.apply(t,n)});Y7||(Y7=function(a,t){return new a(...t)});const Zf=Li(Array.prototype.forEach),Vw=Li(Array.prototype.pop),i0=Li(Array.prototype.push),W2=Li(String.prototype.toLowerCase),BT=Li(String.prototype.toString),Gw=Li(String.prototype.match),r0=Li(String.prototype.replace),Tve=Li(String.prototype.indexOf),Sve=Li(String.prototype.trim),pr=Li(Object.prototype.hasOwnProperty),Ln=Li(RegExp.prototype.test),s0=Ave(TypeError);function Li(e){return function(a){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return W7(e,a,n)}}function Ave(e){return function(){for(var a=arguments.length,t=new Array(a),n=0;n<a;n++)t[n]=arguments[n];return Y7(e,t)}}function ya(e,a){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:W2;qw&&qw(e,null);let n=a.length;for(;n--;){let i=a[n];if(typeof i=="string"){const r=t(i);r!==i&&(mve(a)||(a[n]=r),i=r)}e[i]=!0}return e}function vve(e){for(let a=0;a<e.length;a++)pr(e,a)||(e[a]=null);return e}function wo(e){const a=VU(null);for(const[t,n]of qU(e))pr(e,t)&&(Array.isArray(n)?a[t]=vve(n):n&&typeof n=="object"&&n.constructor===Object?a[t]=wo(n):a[t]=n);return a}function u0(e,a){for(;e!==null;){const n=bve(e,a);if(n){if(n.get)return Li(n.get);if(typeof n.value=="function")return Li(n.value)}e=yve(e)}function t(){return null}return t}const Ww=jn(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),FT=jn(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),UT=jn(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),Dve=jn(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),jT=jn(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),xve=jn(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),Yw=jn(["#text"]),Xw=jn(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns","slot"]),zT=jn(["accent-height","accumulate","additive","alignment-baseline","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),Qw=jn(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),Jf=jn(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),Eve=rr(/\{\{[\w\W]*|[\w\W]*\}\}/gm),kve=rr(/<%[\w\W]*|[\w\W]*%>/gm),Cve=rr(/\${[\w\W]*}/gm),wve=rr(/^data-[\-\w.\u00B7-\uFFFF]/),_ve=rr(/^aria-[\-\w]+$/),GU=rr(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Ive=rr(/^(?:\w+script|data):/i),Nve=rr(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),WU=rr(/^html$/i),Lve=rr(/^[a-z][.\w]*(-[.\w]+)+$/i);var Zw=Object.freeze({__proto__:null,MUSTACHE_EXPR:Eve,ERB_EXPR:kve,TMPLIT_EXPR:Cve,DATA_ATTR:wve,ARIA_ATTR:_ve,IS_ALLOWED_URI:GU,IS_SCRIPT_OR_DATA:Ive,ATTR_WHITESPACE:Nve,DOCTYPE_NAME:WU,CUSTOM_ELEMENT:Lve});const o0={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Rve=function(){return typeof window>"u"?null:window},Pve=function(a,t){if(typeof a!="object"||typeof a.createPolicy!="function")return null;let n=null;const i="data-tt-policy-suffix";t&&t.hasAttribute(i)&&(n=t.getAttribute(i));const r="dompurify"+(n?"#"+n:"");try{return a.createPolicy(r,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return console.warn("TrustedTypes policy "+r+" could not be created."),null}};function YU(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Rve();const a=We=>YU(We);if(a.version="3.1.6",a.removed=[],!e||!e.document||e.document.nodeType!==o0.document)return a.isSupported=!1,a;let{document:t}=e;const n=t,i=n.currentScript,{DocumentFragment:r,HTMLTemplateElement:s,Node:u,Element:o,NodeFilter:l,NamedNodeMap:g=e.NamedNodeMap||e.MozNamedAttrMap,HTMLFormElement:d,DOMParser:c,trustedTypes:p}=e,f=o.prototype,h=u0(f,"cloneNode"),y=u0(f,"remove"),b=u0(f,"nextSibling"),m=u0(f,"childNodes"),T=u0(f,"parentNode");if(typeof s=="function"){const We=t.createElement("template");We.content&&We.content.ownerDocument&&(t=We.content.ownerDocument)}let A,v="";const{implementation:D,createNodeIterator:k,createDocumentFragment:N,getElementsByTagName:q}=t,{importNode:R}=n;let z={};a.isSupported=typeof qU=="function"&&typeof T=="function"&&D&&D.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:W,ERB_EXPR:K,TMPLIT_EXPR:P,DATA_ATTR:L,ARIA_ATTR:H,IS_SCRIPT_OR_DATA:U,ATTR_WHITESPACE:G,CUSTOM_ELEMENT:E}=Zw;let{IS_ALLOWED_URI:x}=Zw,_=null;const I=ya({},[...Ww,...FT,...UT,...jT,...Yw]);let w=null;const C=ya({},[...Xw,...zT,...Qw,...Jf]);let M=Object.seal(VU(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),$=null,Z=null,ne=!0,le=!0,be=!1,Te=!0,ye=!1,de=!0,Ne=!1,Be=!1,Le=!1,Fe=!1,Me=!1,ia=!1,va=!0,ta=!1;const sa="user-content-";let da=!0,Ma=!1,ca={},fa=null;const Ua=ya({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let kt=null;const At=ya({},["audio","video","img","source","image","track"]);let sn=null;const un=ya({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),on="http://www.w3.org/1998/Math/MathML",Na="http://www.w3.org/2000/svg",ot="http://www.w3.org/1999/xhtml";let vt=ot,Pt=!1,Vn=null;const Oi=ya({},[on,Na,ot],BT);let Ut=null;const In=["application/xhtml+xml","text/html"],An="text/html";let Qa=null,jt=null;const As=t.createElement("form"),vs=function(ie){return ie instanceof RegExp||ie instanceof Function},fi=function(){let ie=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(jt&&jt===ie)){if((!ie||typeof ie!="object")&&(ie={}),ie=wo(ie),Ut=In.indexOf(ie.PARSER_MEDIA_TYPE)===-1?An:ie.PARSER_MEDIA_TYPE,Qa=Ut==="application/xhtml+xml"?BT:W2,_=pr(ie,"ALLOWED_TAGS")?ya({},ie.ALLOWED_TAGS,Qa):I,w=pr(ie,"ALLOWED_ATTR")?ya({},ie.ALLOWED_ATTR,Qa):C,Vn=pr(ie,"ALLOWED_NAMESPACES")?ya({},ie.ALLOWED_NAMESPACES,BT):Oi,sn=pr(ie,"ADD_URI_SAFE_ATTR")?ya(wo(un),ie.ADD_URI_SAFE_ATTR,Qa):un,kt=pr(ie,"ADD_DATA_URI_TAGS")?ya(wo(At),ie.ADD_DATA_URI_TAGS,Qa):At,fa=pr(ie,"FORBID_CONTENTS")?ya({},ie.FORBID_CONTENTS,Qa):Ua,$=pr(ie,"FORBID_TAGS")?ya({},ie.FORBID_TAGS,Qa):{},Z=pr(ie,"FORBID_ATTR")?ya({},ie.FORBID_ATTR,Qa):{},ca=pr(ie,"USE_PROFILES")?ie.USE_PROFILES:!1,ne=ie.ALLOW_ARIA_ATTR!==!1,le=ie.ALLOW_DATA_ATTR!==!1,be=ie.ALLOW_UNKNOWN_PROTOCOLS||!1,Te=ie.ALLOW_SELF_CLOSE_IN_ATTR!==!1,ye=ie.SAFE_FOR_TEMPLATES||!1,de=ie.SAFE_FOR_XML!==!1,Ne=ie.WHOLE_DOCUMENT||!1,Fe=ie.RETURN_DOM||!1,Me=ie.RETURN_DOM_FRAGMENT||!1,ia=ie.RETURN_TRUSTED_TYPE||!1,Le=ie.FORCE_BODY||!1,va=ie.SANITIZE_DOM!==!1,ta=ie.SANITIZE_NAMED_PROPS||!1,da=ie.KEEP_CONTENT!==!1,Ma=ie.IN_PLACE||!1,x=ie.ALLOWED_URI_REGEXP||GU,vt=ie.NAMESPACE||ot,M=ie.CUSTOM_ELEMENT_HANDLING||{},ie.CUSTOM_ELEMENT_HANDLING&&vs(ie.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(M.tagNameCheck=ie.CUSTOM_ELEMENT_HANDLING.tagNameCheck),ie.CUSTOM_ELEMENT_HANDLING&&vs(ie.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(M.attributeNameCheck=ie.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),ie.CUSTOM_ELEMENT_HANDLING&&typeof ie.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(M.allowCustomizedBuiltInElements=ie.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),ye&&(le=!1),Me&&(Fe=!0),ca&&(_=ya({},Yw),w=[],ca.html===!0&&(ya(_,Ww),ya(w,Xw)),ca.svg===!0&&(ya(_,FT),ya(w,zT),ya(w,Jf)),ca.svgFilters===!0&&(ya(_,UT),ya(w,zT),ya(w,Jf)),ca.mathMl===!0&&(ya(_,jT),ya(w,Qw),ya(w,Jf))),ie.ADD_TAGS&&(_===I&&(_=wo(_)),ya(_,ie.ADD_TAGS,Qa)),ie.ADD_ATTR&&(w===C&&(w=wo(w)),ya(w,ie.ADD_ATTR,Qa)),ie.ADD_URI_SAFE_ATTR&&ya(sn,ie.ADD_URI_SAFE_ATTR,Qa),ie.FORBID_CONTENTS&&(fa===Ua&&(fa=wo(fa)),ya(fa,ie.FORBID_CONTENTS,Qa)),da&&(_["#text"]=!0),Ne&&ya(_,["html","head","body"]),_.table&&(ya(_,["tbody"]),delete $.tbody),ie.TRUSTED_TYPES_POLICY){if(typeof ie.TRUSTED_TYPES_POLICY.createHTML!="function")throw s0('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof ie.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw s0('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');A=ie.TRUSTED_TYPES_POLICY,v=A.createHTML("")}else A===void 0&&(A=Pve(p,i)),A!==null&&typeof v=="string"&&(v=A.createHTML(""));jn&&jn(ie),jt=ie}},Ds=ya({},["mi","mo","mn","ms","mtext"]),Bi=ya({},["foreignobject","annotation-xml"]),zt=ya({},["title","style","font","a","script"]),Fi=ya({},[...FT,...UT,...Dve]),mo=ya({},[...jT,...xve]),ln=function(ie){let we=T(ie);(!we||!we.tagName)&&(we={namespaceURI:vt,tagName:"template"});const He=W2(ie.tagName),Ka=W2(we.tagName);return Vn[ie.namespaceURI]?ie.namespaceURI===Na?we.namespaceURI===ot?He==="svg":we.namespaceURI===on?He==="svg"&&(Ka==="annotation-xml"||Ds[Ka]):!!Fi[He]:ie.namespaceURI===on?we.namespaceURI===ot?He==="math":we.namespaceURI===Na?He==="math"&&Bi[Ka]:!!mo[He]:ie.namespaceURI===ot?we.namespaceURI===Na&&!Bi[Ka]||we.namespaceURI===on&&!Ds[Ka]?!1:!mo[He]&&(zt[He]||!Fi[He]):!!(Ut==="application/xhtml+xml"&&Vn[ie.namespaceURI]):!1},Ct=function(ie){i0(a.removed,{element:ie});try{T(ie).removeChild(ie)}catch{y(ie)}},xs=function(ie,we){try{i0(a.removed,{attribute:we.getAttributeNode(ie),from:we})}catch{i0(a.removed,{attribute:null,from:we})}if(we.removeAttribute(ie),ie==="is"&&!w[ie])if(Fe||Me)try{Ct(we)}catch{}else try{we.setAttribute(ie,"")}catch{}},ur=function(ie){let we=null,He=null;if(Le)ie="<remove></remove>"+ie;else{const _t=Gw(ie,/^[\r\n\t ]+/);He=_t&&_t[0]}Ut==="application/xhtml+xml"&&vt===ot&&(ie='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+ie+"</body></html>");const Ka=A?A.createHTML(ie):ie;if(vt===ot)try{we=new c().parseFromString(Ka,Ut)}catch{}if(!we||!we.documentElement){we=D.createDocument(vt,"template",null);try{we.documentElement.innerHTML=Pt?v:Ka}catch{}}const wt=we.body||we.documentElement;return ie&&He&&wt.insertBefore(t.createTextNode(He),wt.childNodes[0]||null),vt===ot?q.call(we,Ne?"html":"body")[0]:Ne?we.documentElement:wt},Fp=function(ie){return k.call(ie.ownerDocument||ie,ie,l.SHOW_ELEMENT|l.SHOW_COMMENT|l.SHOW_TEXT|l.SHOW_PROCESSING_INSTRUCTION|l.SHOW_CDATA_SECTION,null)},Up=function(ie){return ie instanceof d&&(typeof ie.nodeName!="string"||typeof ie.textContent!="string"||typeof ie.removeChild!="function"||!(ie.attributes instanceof g)||typeof ie.removeAttribute!="function"||typeof ie.setAttribute!="function"||typeof ie.namespaceURI!="string"||typeof ie.insertBefore!="function"||typeof ie.hasChildNodes!="function")},jp=function(ie){return typeof u=="function"&&ie instanceof u},or=function(ie,we,He){z[ie]&&Zf(z[ie],Ka=>{Ka.call(a,we,He,jt)})},zp=function(ie){let we=null;if(or("beforeSanitizeElements",ie,null),Up(ie))return Ct(ie),!0;const He=Qa(ie.nodeName);if(or("uponSanitizeElement",ie,{tagName:He,allowedTags:_}),ie.hasChildNodes()&&!jp(ie.firstElementChild)&&Ln(/<[/\w]/g,ie.innerHTML)&&Ln(/<[/\w]/g,ie.textContent)||ie.nodeType===o0.progressingInstruction||de&&ie.nodeType===o0.comment&&Ln(/<[/\w]/g,ie.data))return Ct(ie),!0;if(!_[He]||$[He]){if(!$[He]&&$p(He)&&(M.tagNameCheck instanceof RegExp&&Ln(M.tagNameCheck,He)||M.tagNameCheck instanceof Function&&M.tagNameCheck(He)))return!1;if(da&&!fa[He]){const Ka=T(ie)||ie.parentNode,wt=m(ie)||ie.childNodes;if(wt&&Ka){const _t=wt.length;for(let vn=_t-1;vn>=0;--vn){const Nn=h(wt[vn],!0);Nn.__removalCount=(ie.__removalCount||0)+1,Ka.insertBefore(Nn,b(ie))}}}return Ct(ie),!0}return ie instanceof o&&!ln(ie)||(He==="noscript"||He==="noembed"||He==="noframes")&&Ln(/<\/no(script|embed|frames)/i,ie.innerHTML)?(Ct(ie),!0):(ye&&ie.nodeType===o0.text&&(we=ie.textContent,Zf([W,K,P],Ka=>{we=r0(we,Ka," ")}),ie.textContent!==we&&(i0(a.removed,{element:ie.cloneNode()}),ie.textContent=we)),or("afterSanitizeElements",ie,null),!1)},Es=function(ie,we,He){if(va&&(we==="id"||we==="name")&&(He in t||He in As))return!1;if(!(le&&!Z[we]&&Ln(L,we))){if(!(ne&&Ln(H,we))){if(!w[we]||Z[we]){if(!($p(ie)&&(M.tagNameCheck instanceof RegExp&&Ln(M.tagNameCheck,ie)||M.tagNameCheck instanceof Function&&M.tagNameCheck(ie))&&(M.attributeNameCheck instanceof RegExp&&Ln(M.attributeNameCheck,we)||M.attributeNameCheck instanceof Function&&M.attributeNameCheck(we))||we==="is"&&M.allowCustomizedBuiltInElements&&(M.tagNameCheck instanceof RegExp&&Ln(M.tagNameCheck,He)||M.tagNameCheck instanceof Function&&M.tagNameCheck(He))))return!1}else if(!sn[we]){if(!Ln(x,r0(He,G,""))){if(!((we==="src"||we==="xlink:href"||we==="href")&&ie!=="script"&&Tve(He,"data:")===0&&kt[ie])){if(!(be&&!Ln(U,r0(He,G,"")))){if(He)return!1}}}}}}return!0},$p=function(ie){return ie!=="annotation-xml"&&Gw(ie,E)},Kp=function(ie){or("beforeSanitizeAttributes",ie,null);const{attributes:we}=ie;if(!we)return;const He={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:w};let Ka=we.length;for(;Ka--;){const wt=we[Ka],{name:_t,namespaceURI:vn,value:Nn}=wt,uu=Qa(_t);let gn=_t==="value"?Nn:Sve(Nn);if(He.attrName=uu,He.attrValue=gn,He.keepAttr=!0,He.forceKeepAttr=void 0,or("uponSanitizeAttribute",ie,He),gn=He.attrValue,de&&Ln(/((--!?|])>)|<\/(style|title)/i,gn)){xs(_t,ie);continue}if(He.forceKeepAttr||(xs(_t,ie),!He.keepAttr))continue;if(!Te&&Ln(/\/>/i,gn)){xs(_t,ie);continue}ye&&Zf([W,K,P],qp=>{gn=r0(gn,qp," ")});const Hp=Qa(ie.nodeName);if(Es(Hp,uu,gn)){if(ta&&(uu==="id"||uu==="name")&&(xs(_t,ie),gn=sa+gn),A&&typeof p=="object"&&typeof p.getAttributeType=="function"&&!vn)switch(p.getAttributeType(Hp,uu)){case"TrustedHTML":{gn=A.createHTML(gn);break}case"TrustedScriptURL":{gn=A.createScriptURL(gn);break}}try{vn?ie.setAttributeNS(vn,_t,gn):ie.setAttribute(_t,gn),Up(ie)?Ct(ie):Vw(a.removed)}catch{}}}or("afterSanitizeAttributes",ie,null)},X9=function We(ie){let we=null;const He=Fp(ie);for(or("beforeSanitizeShadowDOM",ie,null);we=He.nextNode();)or("uponSanitizeShadowNode",we,null),!zp(we)&&(we.content instanceof r&&We(we.content),Kp(we));or("afterSanitizeShadowDOM",ie,null)};return a.sanitize=function(We){let ie=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},we=null,He=null,Ka=null,wt=null;if(Pt=!We,Pt&&(We="<!-->"),typeof We!="string"&&!jp(We))if(typeof We.toString=="function"){if(We=We.toString(),typeof We!="string")throw s0("dirty is not a string, aborting")}else throw s0("toString is not a function");if(!a.isSupported)return We;if(Be||fi(ie),a.removed=[],typeof We=="string"&&(Ma=!1),Ma){if(We.nodeName){const Nn=Qa(We.nodeName);if(!_[Nn]||$[Nn])throw s0("root node is forbidden and cannot be sanitized in-place")}}else if(We instanceof u)we=ur("<!---->"),He=we.ownerDocument.importNode(We,!0),He.nodeType===o0.element&&He.nodeName==="BODY"||He.nodeName==="HTML"?we=He:we.appendChild(He);else{if(!Fe&&!ye&&!Ne&&We.indexOf("<")===-1)return A&&ia?A.createHTML(We):We;if(we=ur(We),!we)return Fe?null:ia?v:""}we&&Le&&Ct(we.firstChild);const _t=Fp(Ma?We:we);for(;Ka=_t.nextNode();)zp(Ka)||(Ka.content instanceof r&&X9(Ka.content),Kp(Ka));if(Ma)return We;if(Fe){if(Me)for(wt=N.call(we.ownerDocument);we.firstChild;)wt.appendChild(we.firstChild);else wt=we;return(w.shadowroot||w.shadowrootmode)&&(wt=R.call(n,wt,!0)),wt}let vn=Ne?we.outerHTML:we.innerHTML;return Ne&&_["!doctype"]&&we.ownerDocument&&we.ownerDocument.doctype&&we.ownerDocument.doctype.name&&Ln(WU,we.ownerDocument.doctype.name)&&(vn="<!DOCTYPE "+we.ownerDocument.doctype.name+`>
`+vn),ye&&Zf([W,K,P],Nn=>{vn=r0(vn,Nn," ")}),A&&ia?A.createHTML(vn):vn},a.setConfig=function(){let We=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};fi(We),Be=!0},a.clearConfig=function(){jt=null,Be=!1},a.isValidAttribute=function(We,ie,we){jt||fi({});const He=Qa(We),Ka=Qa(ie);return Es(He,Ka,we)},a.addHook=function(We,ie){typeof ie=="function"&&(z[We]=z[We]||[],i0(z[We],ie))},a.removeHook=function(We){if(z[We])return Vw(z[We])},a.removeHooks=function(We){z[We]&&(z[We]=[])},a.removeAllHooks=function(){z={}},a}var hCe=YU(),Jw=function(e,a,t){if(t||arguments.length===2)for(var n=0,i=a.length,r;n<i;n++)(r||!(n in a))&&(r||(r=Array.prototype.slice.call(a,0,n)),r[n]=a[n]);return e.concat(r||Array.prototype.slice.call(a))},Mve=function(){function e(a,t,n){this.name=a,this.version=t,this.os=n,this.type="browser"}return e}(),Ove=function(){function e(a){this.version=a,this.type="node",this.name="node",this.os=process.platform}return e}(),Bve=function(){function e(a,t,n,i){this.name=a,this.version=t,this.os=n,this.bot=i,this.type="bot-device"}return e}(),Fve=function(){function e(){this.type="bot",this.bot=!0,this.name="bot",this.version=null,this.os=null}return e}(),Uve=function(){function e(){this.type="react-native",this.name="react-native",this.version=null,this.os=null}return e}(),jve=/alexa|bot|crawl(er|ing)|facebookexternalhit|feedburner|google web preview|nagios|postrank|pingdom|slurp|spider|yahoo!|yandex/,zve=/(nuhk|curl|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask\ Jeeves\/Teoma|ia_archiver)/,e_=3,$ve=[["aol",/AOLShield\/([0-9\._]+)/],["edge",/Edge\/([0-9\._]+)/],["edge-ios",/EdgiOS\/([0-9\._]+)/],["yandexbrowser",/YaBrowser\/([0-9\._]+)/],["kakaotalk",/KAKAOTALK\s([0-9\.]+)/],["samsung",/SamsungBrowser\/([0-9\.]+)/],["silk",/\bSilk\/([0-9._-]+)\b/],["miui",/MiuiBrowser\/([0-9\.]+)$/],["beaker",/BeakerBrowser\/([0-9\.]+)/],["edge-chromium",/EdgA?\/([0-9\.]+)/],["chromium-webview",/(?!Chrom.*OPR)wv\).*Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["chrome",/(?!Chrom.*OPR)Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["phantomjs",/PhantomJS\/([0-9\.]+)(:?\s|$)/],["crios",/CriOS\/([0-9\.]+)(:?\s|$)/],["firefox",/Firefox\/([0-9\.]+)(?:\s|$)/],["fxios",/FxiOS\/([0-9\.]+)/],["opera-mini",/Opera Mini.*Version\/([0-9\.]+)/],["opera",/Opera\/([0-9\.]+)(?:\s|$)/],["opera",/OPR\/([0-9\.]+)(:?\s|$)/],["pie",/^Microsoft Pocket Internet Explorer\/(\d+\.\d+)$/],["pie",/^Mozilla\/\d\.\d+\s\(compatible;\s(?:MSP?IE|MSInternet Explorer) (\d+\.\d+);.*Windows CE.*\)$/],["netfront",/^Mozilla\/\d\.\d+.*NetFront\/(\d.\d)/],["ie",/Trident\/7\.0.*rv\:([0-9\.]+).*\).*Gecko$/],["ie",/MSIE\s([0-9\.]+);.*Trident\/[4-7].0/],["ie",/MSIE\s(7\.0)/],["bb10",/BB10;\sTouch.*Version\/([0-9\.]+)/],["android",/Android\s([0-9\.]+)/],["ios",/Version\/([0-9\._]+).*Mobile.*Safari.*/],["safari",/Version\/([0-9\._]+).*Safari/],["facebook",/FB[AS]V\/([0-9\.]+)/],["instagram",/Instagram\s([0-9\.]+)/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Mobile/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Gecko\)$/],["curl",/^curl\/([0-9\.]+)$/],["searchbot",jve]],a_=[["iOS",/iP(hone|od|ad)/],["Android OS",/Android/],["BlackBerry OS",/BlackBerry|BB10/],["Windows Mobile",/IEMobile/],["Amazon OS",/Kindle/],["Windows 3.11",/Win16/],["Windows 95",/(Windows 95)|(Win95)|(Windows_95)/],["Windows 98",/(Windows 98)|(Win98)/],["Windows 2000",/(Windows NT 5.0)|(Windows 2000)/],["Windows XP",/(Windows NT 5.1)|(Windows XP)/],["Windows Server 2003",/(Windows NT 5.2)/],["Windows Vista",/(Windows NT 6.0)/],["Windows 7",/(Windows NT 6.1)/],["Windows 8",/(Windows NT 6.2)/],["Windows 8.1",/(Windows NT 6.3)/],["Windows 10",/(Windows NT 10.0)/],["Windows ME",/Windows ME/],["Windows CE",/Windows CE|WinCE|Microsoft Pocket Internet Explorer/],["Open BSD",/OpenBSD/],["Sun OS",/SunOS/],["Chrome OS",/CrOS/],["Linux",/(Linux)|(X11)/],["Mac OS",/(Mac_PowerPC)|(Macintosh)/],["QNX",/QNX/],["BeOS",/BeOS/],["OS/2",/OS\/2/]];function mCe(e){return typeof document>"u"&&typeof navigator<"u"&&navigator.product==="ReactNative"?new Uve:typeof navigator<"u"?Hve(navigator.userAgent):Vve()}function Kve(e){return e!==""&&$ve.reduce(function(a,t){var n=t[0],i=t[1];if(a)return a;var r=i.exec(e);return!!r&&[n,r]},!1)}function Hve(e){var a=Kve(e);if(!a)return null;var t=a[0],n=a[1];if(t==="searchbot")return new Fve;var i=n[1]&&n[1].split(".").join("_").split("_").slice(0,3);i?i.length<e_&&(i=Jw(Jw([],i,!0),Gve(e_-i.length),!0)):i=[];var r=i.join("."),s=qve(e),u=zve.exec(e);return u&&u[1]?new Bve(t,r,s,u[1]):new Mve(t,r,s)}function qve(e){for(var a=0,t=a_.length;a<t;a++){var n=a_[a],i=n[0],r=n[1],s=r.exec(e);if(s)return i}return null}function Vve(){var e=typeof process<"u"&&process.version;return e?new Ove(process.version.slice(1)):null}function Gve(e){for(var a=[],t=0;t<e;t++)a.push("0");return a}var mi={fullscreenEnabled:0,fullscreenElement:1,requestFullscreen:2,exitFullscreen:3,fullscreenchange:4,fullscreenerror:5,fullscreen:6},t_=["webkitFullscreenEnabled","webkitFullscreenElement","webkitRequestFullscreen","webkitExitFullscreen","webkitfullscreenchange","webkitfullscreenerror","-webkit-full-screen"],n_=["mozFullScreenEnabled","mozFullScreenElement","mozRequestFullScreen","mozCancelFullScreen","mozfullscreenchange","mozfullscreenerror","-moz-full-screen"],i_=["msFullscreenEnabled","msFullscreenElement","msRequestFullscreen","msExitFullscreen","MSFullscreenChange","MSFullscreenError","-ms-fullscreen"],Xn=typeof window<"u"&&typeof window.document<"u"?window.document:{},ji="fullscreenEnabled"in Xn&&Object.keys(mi)||t_[0]in Xn&&t_||n_[0]in Xn&&n_||i_[0]in Xn&&i_||[],yCe={requestFullscreen:function(e){return e[ji[mi.requestFullscreen]]()},requestFullscreenFunction:function(e){return e[ji[mi.requestFullscreen]]},get exitFullscreen(){return Xn[ji[mi.exitFullscreen]].bind(Xn)},get fullscreenPseudoClass(){return":"+ji[mi.fullscreen]},addEventListener:function(e,a,t){return Xn.addEventListener(ji[mi[e]],a,t)},removeEventListener:function(e,a,t){return Xn.removeEventListener(ji[mi[e]],a,t)},get fullscreenEnabled(){return!!Xn[ji[mi.fullscreenEnabled]]},set fullscreenEnabled(e){},get fullscreenElement(){return Xn[ji[mi.fullscreenElement]]},set fullscreenElement(e){},get onfullscreenchange(){return Xn[("on"+ji[mi.fullscreenchange]).toLowerCase()]},set onfullscreenchange(e){return Xn[("on"+ji[mi.fullscreenchange]).toLowerCase()]=e},get onfullscreenerror(){return Xn[("on"+ji[mi.fullscreenerror]).toLowerCase()]},set onfullscreenerror(e){return Xn[("on"+ji[mi.fullscreenerror]).toLowerCase()]=e}};function Wve(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var XU={exports:{}};(function(e,a){(function(t){var n=/^(?=((?:[a-zA-Z0-9+\-.]+:)?))\1(?=((?:\/\/[^\/?#]*)?))\2(?=((?:(?:[^?#\/]*\/)*[^;?#\/]*)?))\3((?:;[^?#]*)?)(\?[^#]*)?(#[^]*)?$/,i=/^(?=([^\/?#]*))\1([^]*)$/,r=/(?:\/|^)\.(?=\/)/g,s=/(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g,u={buildAbsoluteURL:function(o,l,g){if(g=g||{},o=o.trim(),l=l.trim(),!l){if(!g.alwaysNormalize)return o;var d=u.parseURL(o);if(!d)throw new Error("Error trying to parse base URL.");return d.path=u.normalizePath(d.path),u.buildURLFromParts(d)}var c=u.parseURL(l);if(!c)throw new Error("Error trying to parse relative URL.");if(c.scheme)return g.alwaysNormalize?(c.path=u.normalizePath(c.path),u.buildURLFromParts(c)):l;var p=u.parseURL(o);if(!p)throw new Error("Error trying to parse base URL.");if(!p.netLoc&&p.path&&p.path[0]!=="/"){var f=i.exec(p.path);p.netLoc=f[1],p.path=f[2]}p.netLoc&&!p.path&&(p.path="/");var h={scheme:p.scheme,netLoc:c.netLoc,path:null,params:c.params,query:c.query,fragment:c.fragment};if(!c.netLoc&&(h.netLoc=p.netLoc,c.path[0]!=="/"))if(!c.path)h.path=p.path,c.params||(h.params=p.params,c.query||(h.query=p.query));else{var y=p.path,b=y.substring(0,y.lastIndexOf("/")+1)+c.path;h.path=u.normalizePath(b)}return h.path===null&&(h.path=g.alwaysNormalize?u.normalizePath(c.path):c.path),u.buildURLFromParts(h)},parseURL:function(o){var l=n.exec(o);return l?{scheme:l[1]||"",netLoc:l[2]||"",path:l[3]||"",params:l[4]||"",query:l[5]||"",fragment:l[6]||""}:null},normalizePath:function(o){for(o=o.split("").reverse().join("").replace(r,"");o.length!==(o=o.replace(s,"")).length;);return o.split("").reverse().join("")},buildURLFromParts:function(o){return o.scheme+o.netLoc+o.path+o.params+o.query+o.fragment}};e.exports=u})()})(XU);var ix=XU.exports;function r_(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);a&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function en(e){for(var a=1;a<arguments.length;a++){var t=arguments[a]!=null?arguments[a]:{};a%2?r_(Object(t),!0).forEach(function(n){Qve(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):r_(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function Yve(e,a){if(typeof e!="object"||!e)return e;var t=e[Symbol.toPrimitive];if(t!==void 0){var n=t.call(e,a||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(a==="string"?String:Number)(e)}function Xve(e){var a=Yve(e,"string");return typeof a=="symbol"?a:String(a)}function Qve(e,a,t){return a=Xve(a),a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function Rt(){return Rt=Object.assign?Object.assign.bind():function(e){for(var a=1;a<arguments.length;a++){var t=arguments[a];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},Rt.apply(this,arguments)}const $e=Number.isFinite||function(e){return typeof e=="number"&&isFinite(e)},Zve=Number.isSafeInteger||function(e){return typeof e=="number"&&Math.abs(e)<=Jve},Jve=Number.MAX_SAFE_INTEGER||9007199254740991;let O=function(e){return e.MEDIA_ATTACHING="hlsMediaAttaching",e.MEDIA_ATTACHED="hlsMediaAttached",e.MEDIA_DETACHING="hlsMediaDetaching",e.MEDIA_DETACHED="hlsMediaDetached",e.BUFFER_RESET="hlsBufferReset",e.BUFFER_CODECS="hlsBufferCodecs",e.BUFFER_CREATED="hlsBufferCreated",e.BUFFER_APPENDING="hlsBufferAppending",e.BUFFER_APPENDED="hlsBufferAppended",e.BUFFER_EOS="hlsBufferEos",e.BUFFER_FLUSHING="hlsBufferFlushing",e.BUFFER_FLUSHED="hlsBufferFlushed",e.MANIFEST_LOADING="hlsManifestLoading",e.MANIFEST_LOADED="hlsManifestLoaded",e.MANIFEST_PARSED="hlsManifestParsed",e.LEVEL_SWITCHING="hlsLevelSwitching",e.LEVEL_SWITCHED="hlsLevelSwitched",e.LEVEL_LOADING="hlsLevelLoading",e.LEVEL_LOADED="hlsLevelLoaded",e.LEVEL_UPDATED="hlsLevelUpdated",e.LEVEL_PTS_UPDATED="hlsLevelPtsUpdated",e.LEVELS_UPDATED="hlsLevelsUpdated",e.AUDIO_TRACKS_UPDATED="hlsAudioTracksUpdated",e.AUDIO_TRACK_SWITCHING="hlsAudioTrackSwitching",e.AUDIO_TRACK_SWITCHED="hlsAudioTrackSwitched",e.AUDIO_TRACK_LOADING="hlsAudioTrackLoading",e.AUDIO_TRACK_LOADED="hlsAudioTrackLoaded",e.SUBTITLE_TRACKS_UPDATED="hlsSubtitleTracksUpdated",e.SUBTITLE_TRACKS_CLEARED="hlsSubtitleTracksCleared",e.SUBTITLE_TRACK_SWITCH="hlsSubtitleTrackSwitch",e.SUBTITLE_TRACK_LOADING="hlsSubtitleTrackLoading",e.SUBTITLE_TRACK_LOADED="hlsSubtitleTrackLoaded",e.SUBTITLE_FRAG_PROCESSED="hlsSubtitleFragProcessed",e.CUES_PARSED="hlsCuesParsed",e.NON_NATIVE_TEXT_TRACKS_FOUND="hlsNonNativeTextTracksFound",e.INIT_PTS_FOUND="hlsInitPtsFound",e.FRAG_LOADING="hlsFragLoading",e.FRAG_LOAD_EMERGENCY_ABORTED="hlsFragLoadEmergencyAborted",e.FRAG_LOADED="hlsFragLoaded",e.FRAG_DECRYPTED="hlsFragDecrypted",e.FRAG_PARSING_INIT_SEGMENT="hlsFragParsingInitSegment",e.FRAG_PARSING_USERDATA="hlsFragParsingUserdata",e.FRAG_PARSING_METADATA="hlsFragParsingMetadata",e.FRAG_PARSED="hlsFragParsed",e.FRAG_BUFFERED="hlsFragBuffered",e.FRAG_CHANGED="hlsFragChanged",e.FPS_DROP="hlsFpsDrop",e.FPS_DROP_LEVEL_CAPPING="hlsFpsDropLevelCapping",e.MAX_AUTO_LEVEL_UPDATED="hlsMaxAutoLevelUpdated",e.ERROR="hlsError",e.DESTROYING="hlsDestroying",e.KEY_LOADING="hlsKeyLoading",e.KEY_LOADED="hlsKeyLoaded",e.LIVE_BACK_BUFFER_REACHED="hlsLiveBackBufferReached",e.BACK_BUFFER_REACHED="hlsBackBufferReached",e.STEERING_MANIFEST_LOADED="hlsSteeringManifestLoaded",e}({}),na=function(e){return e.NETWORK_ERROR="networkError",e.MEDIA_ERROR="mediaError",e.KEY_SYSTEM_ERROR="keySystemError",e.MUX_ERROR="muxError",e.OTHER_ERROR="otherError",e}({}),ce=function(e){return e.KEY_SYSTEM_NO_KEYS="keySystemNoKeys",e.KEY_SYSTEM_NO_ACCESS="keySystemNoAccess",e.KEY_SYSTEM_NO_SESSION="keySystemNoSession",e.KEY_SYSTEM_NO_CONFIGURED_LICENSE="keySystemNoConfiguredLicense",e.KEY_SYSTEM_LICENSE_REQUEST_FAILED="keySystemLicenseRequestFailed",e.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED="keySystemServerCertificateRequestFailed",e.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED="keySystemServerCertificateUpdateFailed",e.KEY_SYSTEM_SESSION_UPDATE_FAILED="keySystemSessionUpdateFailed",e.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED="keySystemStatusOutputRestricted",e.KEY_SYSTEM_STATUS_INTERNAL_ERROR="keySystemStatusInternalError",e.MANIFEST_LOAD_ERROR="manifestLoadError",e.MANIFEST_LOAD_TIMEOUT="manifestLoadTimeOut",e.MANIFEST_PARSING_ERROR="manifestParsingError",e.MANIFEST_INCOMPATIBLE_CODECS_ERROR="manifestIncompatibleCodecsError",e.LEVEL_EMPTY_ERROR="levelEmptyError",e.LEVEL_LOAD_ERROR="levelLoadError",e.LEVEL_LOAD_TIMEOUT="levelLoadTimeOut",e.LEVEL_PARSING_ERROR="levelParsingError",e.LEVEL_SWITCH_ERROR="levelSwitchError",e.AUDIO_TRACK_LOAD_ERROR="audioTrackLoadError",e.AUDIO_TRACK_LOAD_TIMEOUT="audioTrackLoadTimeOut",e.SUBTITLE_LOAD_ERROR="subtitleTrackLoadError",e.SUBTITLE_TRACK_LOAD_TIMEOUT="subtitleTrackLoadTimeOut",e.FRAG_LOAD_ERROR="fragLoadError",e.FRAG_LOAD_TIMEOUT="fragLoadTimeOut",e.FRAG_DECRYPT_ERROR="fragDecryptError",e.FRAG_PARSING_ERROR="fragParsingError",e.FRAG_GAP="fragGap",e.REMUX_ALLOC_ERROR="remuxAllocError",e.KEY_LOAD_ERROR="keyLoadError",e.KEY_LOAD_TIMEOUT="keyLoadTimeOut",e.BUFFER_ADD_CODEC_ERROR="bufferAddCodecError",e.BUFFER_INCOMPATIBLE_CODECS_ERROR="bufferIncompatibleCodecsError",e.BUFFER_APPEND_ERROR="bufferAppendError",e.BUFFER_APPENDING_ERROR="bufferAppendingError",e.BUFFER_STALLED_ERROR="bufferStalledError",e.BUFFER_FULL_ERROR="bufferFullError",e.BUFFER_SEEK_OVER_HOLE="bufferSeekOverHole",e.BUFFER_NUDGE_ON_STALL="bufferNudgeOnStall",e.INTERNAL_EXCEPTION="internalException",e.INTERNAL_ABORTED="aborted",e.UNKNOWN="unknown",e}({});const _o=function(){},X7={trace:_o,debug:_o,log:_o,warn:_o,info:_o,error:_o};let ac=X7;function e6e(e){const a=self.console[e];return a?a.bind(self.console,`[${e}] >`):_o}function a6e(e,...a){a.forEach(function(t){ac[t]=e[t]?e[t].bind(e):e6e(t)})}function t6e(e,a){if(typeof console=="object"&&e===!0||typeof e=="object"){a6e(e,"debug","log","info","warn","error");try{ac.log(`Debug logs enabled for "${a}" in hls.js version 1.5.15`)}catch{ac=X7}}else ac=X7}const se=ac,n6e=/^(\d+)x(\d+)$/,s_=/(.+?)=(".*?"|.*?)(?:,|$)/g;class ht{constructor(a){typeof a=="string"&&(a=ht.parseAttrList(a)),Rt(this,a)}get clientAttrs(){return Object.keys(this).filter(a=>a.substring(0,2)==="X-")}decimalInteger(a){const t=parseInt(this[a],10);return t>Number.MAX_SAFE_INTEGER?1/0:t}hexadecimalInteger(a){if(this[a]){let t=(this[a]||"0x").slice(2);t=(t.length&1?"0":"")+t;const n=new Uint8Array(t.length/2);for(let i=0;i<t.length/2;i++)n[i]=parseInt(t.slice(i*2,i*2+2),16);return n}else return null}hexadecimalIntegerAsNumber(a){const t=parseInt(this[a],16);return t>Number.MAX_SAFE_INTEGER?1/0:t}decimalFloatingPoint(a){return parseFloat(this[a])}optionalFloat(a,t){const n=this[a];return n?parseFloat(n):t}enumeratedString(a){return this[a]}bool(a){return this[a]==="YES"}decimalResolution(a){const t=n6e.exec(this[a]);if(t!==null)return{width:parseInt(t[1],10),height:parseInt(t[2],10)}}static parseAttrList(a){let t;const n={},i='"';for(s_.lastIndex=0;(t=s_.exec(a))!==null;){let r=t[2];r.indexOf(i)===0&&r.lastIndexOf(i)===r.length-1&&(r=r.slice(1,-1));const s=t[1].trim();n[s]=r}return n}}function i6e(e){return e!=="ID"&&e!=="CLASS"&&e!=="START-DATE"&&e!=="DURATION"&&e!=="END-DATE"&&e!=="END-ON-NEXT"}function r6e(e){return e==="SCTE35-OUT"||e==="SCTE35-IN"}class QU{constructor(a,t){if(this.attr=void 0,this._startDate=void 0,this._endDate=void 0,this._badValueForSameId=void 0,t){const n=t.attr;for(const i in n)if(Object.prototype.hasOwnProperty.call(a,i)&&a[i]!==n[i]){se.warn(`DATERANGE tag attribute: "${i}" does not match for tags with ID: "${a.ID}"`),this._badValueForSameId=i;break}a=Rt(new ht({}),n,a)}if(this.attr=a,this._startDate=new Date(a["START-DATE"]),"END-DATE"in this.attr){const n=new Date(this.attr["END-DATE"]);$e(n.getTime())&&(this._endDate=n)}}get id(){return this.attr.ID}get class(){return this.attr.CLASS}get startDate(){return this._startDate}get endDate(){if(this._endDate)return this._endDate;const a=this.duration;return a!==null?new Date(this._startDate.getTime()+a*1e3):null}get duration(){if("DURATION"in this.attr){const a=this.attr.decimalFloatingPoint("DURATION");if($e(a))return a}else if(this._endDate)return(this._endDate.getTime()-this._startDate.getTime())/1e3;return null}get plannedDuration(){return"PLANNED-DURATION"in this.attr?this.attr.decimalFloatingPoint("PLANNED-DURATION"):null}get endOnNext(){return this.attr.bool("END-ON-NEXT")}get isValid(){return!!this.id&&!this._badValueForSameId&&$e(this.startDate.getTime())&&(this.duration===null||this.duration>=0)&&(!this.endOnNext||!!this.class)}}class B9{constructor(){this.aborted=!1,this.loaded=0,this.retry=0,this.total=0,this.chunkCount=0,this.bwEstimate=0,this.loading={start:0,first:0,end:0},this.parsing={start:0,end:0},this.buffering={start:0,first:0,end:0}}}var za={AUDIO:"audio",VIDEO:"video",AUDIOVIDEO:"audiovideo"};class ZU{constructor(a){this._byteRange=null,this._url=null,this.baseurl=void 0,this.relurl=void 0,this.elementaryStreams={[za.AUDIO]:null,[za.VIDEO]:null,[za.AUDIOVIDEO]:null},this.baseurl=a}setByteRange(a,t){const n=a.split("@",2);let i;n.length===1?i=(t==null?void 0:t.byteRangeEndOffset)||0:i=parseInt(n[1]),this._byteRange=[i,parseInt(n[0])+i]}get byteRange(){return this._byteRange?this._byteRange:[]}get byteRangeStartOffset(){return this.byteRange[0]}get byteRangeEndOffset(){return this.byteRange[1]}get url(){return!this._url&&this.baseurl&&this.relurl&&(this._url=ix.buildAbsoluteURL(this.baseurl,this.relurl,{alwaysNormalize:!0})),this._url||""}set url(a){this._url=a}}class $T extends ZU{constructor(a,t){super(t),this._decryptdata=null,this.rawProgramDateTime=null,this.programDateTime=null,this.tagList=[],this.duration=0,this.sn=0,this.levelkeys=void 0,this.type=void 0,this.loader=null,this.keyLoader=null,this.level=-1,this.cc=0,this.startPTS=void 0,this.endPTS=void 0,this.startDTS=void 0,this.endDTS=void 0,this.start=0,this.deltaPTS=void 0,this.maxStartPTS=void 0,this.minEndPTS=void 0,this.stats=new B9,this.data=void 0,this.bitrateTest=!1,this.title=null,this.initSegment=null,this.endList=void 0,this.gap=void 0,this.urlId=0,this.type=a}get decryptdata(){const{levelkeys:a}=this;if(!a&&!this._decryptdata)return null;if(!this._decryptdata&&this.levelkeys&&!this.levelkeys.NONE){const t=this.levelkeys.identity;if(t)this._decryptdata=t.getDecryptData(this.sn);else{const n=Object.keys(this.levelkeys);if(n.length===1)return this._decryptdata=this.levelkeys[n[0]].getDecryptData(this.sn)}}return this._decryptdata}get end(){return this.start+this.duration}get endProgramDateTime(){if(this.programDateTime===null||!$e(this.programDateTime))return null;const a=$e(this.duration)?this.duration:0;return this.programDateTime+a*1e3}get encrypted(){var a;if((a=this._decryptdata)!=null&&a.encrypted)return!0;if(this.levelkeys){const t=Object.keys(this.levelkeys),n=t.length;if(n>1||n===1&&this.levelkeys[t[0]].encrypted)return!0}return!1}setKeyFormat(a){if(this.levelkeys){const t=this.levelkeys[a];t&&!this._decryptdata&&(this._decryptdata=t.getDecryptData(this.sn))}}abortRequests(){var a,t;(a=this.loader)==null||a.abort(),(t=this.keyLoader)==null||t.abort()}setElementaryStreamInfo(a,t,n,i,r,s=!1){const{elementaryStreams:u}=this,o=u[a];if(!o){u[a]={startPTS:t,endPTS:n,startDTS:i,endDTS:r,partial:s};return}o.startPTS=Math.min(o.startPTS,t),o.endPTS=Math.max(o.endPTS,n),o.startDTS=Math.min(o.startDTS,i),o.endDTS=Math.max(o.endDTS,r)}clearElementaryStreamInfo(){const{elementaryStreams:a}=this;a[za.AUDIO]=null,a[za.VIDEO]=null,a[za.AUDIOVIDEO]=null}}class s6e extends ZU{constructor(a,t,n,i,r){super(n),this.fragOffset=0,this.duration=0,this.gap=!1,this.independent=!1,this.relurl=void 0,this.fragment=void 0,this.index=void 0,this.stats=new B9,this.duration=a.decimalFloatingPoint("DURATION"),this.gap=a.bool("GAP"),this.independent=a.bool("INDEPENDENT"),this.relurl=a.enumeratedString("URI"),this.fragment=t,this.index=i;const s=a.enumeratedString("BYTERANGE");s&&this.setByteRange(s,r),r&&(this.fragOffset=r.fragOffset+r.duration)}get start(){return this.fragment.start+this.fragOffset}get end(){return this.start+this.duration}get loaded(){const{elementaryStreams:a}=this;return!!(a.audio||a.video||a.audiovideo)}}const u6e=10;class o6e{constructor(a){this.PTSKnown=!1,this.alignedSliding=!1,this.averagetargetduration=void 0,this.endCC=0,this.endSN=0,this.fragments=void 0,this.fragmentHint=void 0,this.partList=null,this.dateRanges=void 0,this.live=!0,this.ageHeader=0,this.advancedDateTime=void 0,this.updated=!0,this.advanced=!0,this.availabilityDelay=void 0,this.misses=0,this.startCC=0,this.startSN=0,this.startTimeOffset=null,this.targetduration=0,this.totalduration=0,this.type=null,this.url=void 0,this.m3u8="",this.version=null,this.canBlockReload=!1,this.canSkipUntil=0,this.canSkipDateRanges=!1,this.skippedSegments=0,this.recentlyRemovedDateranges=void 0,this.partHoldBack=0,this.holdBack=0,this.partTarget=0,this.preloadHint=void 0,this.renditionReports=void 0,this.tuneInGoal=0,this.deltaUpdateFailed=void 0,this.driftStartTime=0,this.driftEndTime=0,this.driftStart=0,this.driftEnd=0,this.encryptedFragments=void 0,this.playlistParsingError=null,this.variableList=null,this.hasVariableRefs=!1,this.fragments=[],this.encryptedFragments=[],this.dateRanges={},this.url=a}reloaded(a){if(!a){this.advanced=!0,this.updated=!0;return}const t=this.lastPartSn-a.lastPartSn,n=this.lastPartIndex-a.lastPartIndex;this.updated=this.endSN!==a.endSN||!!n||!!t||!this.live,this.advanced=this.endSN>a.endSN||t>0||t===0&&n>0,this.updated||this.advanced?this.misses=Math.floor(a.misses*.6):this.misses=a.misses+1,this.availabilityDelay=a.availabilityDelay}get hasProgramDateTime(){return this.fragments.length?$e(this.fragments[this.fragments.length-1].programDateTime):!1}get levelTargetDuration(){return this.averagetargetduration||this.targetduration||u6e}get drift(){const a=this.driftEndTime-this.driftStartTime;return a>0?(this.driftEnd-this.driftStart)*1e3/a:1}get edge(){return this.partEnd||this.fragmentEnd}get partEnd(){var a;return(a=this.partList)!=null&&a.length?this.partList[this.partList.length-1].end:this.fragmentEnd}get fragmentEnd(){var a;return(a=this.fragments)!=null&&a.length?this.fragments[this.fragments.length-1].end:0}get age(){return this.advancedDateTime?Math.max(Date.now()-this.advancedDateTime,0)/1e3:0}get lastPartIndex(){var a;return(a=this.partList)!=null&&a.length?this.partList[this.partList.length-1].index:-1}get lastPartSn(){var a;return(a=this.partList)!=null&&a.length?this.partList[this.partList.length-1].fragment.sn:this.endSN}}function rx(e){return Uint8Array.from(atob(e),a=>a.charCodeAt(0))}function l6e(e){const a=Q7(e).subarray(0,16),t=new Uint8Array(16);return t.set(a,16-a.length),t}function g6e(e){const a=function(n,i,r){const s=n[i];n[i]=n[r],n[r]=s};a(e,0,3),a(e,1,2),a(e,4,5),a(e,6,7)}function d6e(e){const a=e.split(":");let t=null;if(a[0]==="data"&&a.length===2){const n=a[1].split(";"),i=n[n.length-1].split(",");if(i.length===2){const r=i[0]==="base64",s=i[1];r?(n.splice(-1,1),t=rx(s)):t=l6e(s)}}return t}function Q7(e){return Uint8Array.from(unescape(encodeURIComponent(e)),a=>a.charCodeAt(0))}const ad=typeof self<"u"?self:void 0;var at={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.fps",PLAYREADY:"com.microsoft.playready",WIDEVINE:"com.widevine.alpha"},ti={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.streamingkeydelivery",PLAYREADY:"com.microsoft.playready",WIDEVINE:"urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"};function u_(e){switch(e){case ti.FAIRPLAY:return at.FAIRPLAY;case ti.PLAYREADY:return at.PLAYREADY;case ti.WIDEVINE:return at.WIDEVINE;case ti.CLEARKEY:return at.CLEARKEY}}var E0={CENC:"1077efecc0b24d02ace33c1e52e2fb4b",CLEARKEY:"e2719d58a985b3c9781ab030af78d30e",FAIRPLAY:"94ce86fb07ff4f43adb893d2fa968ca2",PLAYREADY:"9a04f07998404286ab92e65be0885f95",WIDEVINE:"edef8ba979d64acea3c827dcd51d21ed"};function o_(e){if(e===E0.WIDEVINE)return at.WIDEVINE;if(e===E0.PLAYREADY)return at.PLAYREADY;if(e===E0.CENC||e===E0.CLEARKEY)return at.CLEARKEY}function l_(e){switch(e){case at.FAIRPLAY:return ti.FAIRPLAY;case at.PLAYREADY:return ti.PLAYREADY;case at.WIDEVINE:return ti.WIDEVINE;case at.CLEARKEY:return ti.CLEARKEY}}function KT(e){const{drmSystems:a,widevineLicenseUrl:t}=e,n=a?[at.FAIRPLAY,at.WIDEVINE,at.PLAYREADY,at.CLEARKEY].filter(i=>!!a[i]):[];return!n[at.WIDEVINE]&&t&&n.push(at.WIDEVINE),n}const JU=function(e){return ad!=null&&(e=ad.navigator)!=null&&e.requestMediaKeySystemAccess?self.navigator.requestMediaKeySystemAccess.bind(self.navigator):null}();function c6e(e,a,t,n){let i;switch(e){case at.FAIRPLAY:i=["cenc","sinf"];break;case at.WIDEVINE:case at.PLAYREADY:i=["cenc"];break;case at.CLEARKEY:i=["cenc","keyids"];break;default:throw new Error(`Unknown key-system: ${e}`)}return p6e(i,a,t,n)}function p6e(e,a,t,n){return[{initDataTypes:e,persistentState:n.persistentState||"optional",distinctiveIdentifier:n.distinctiveIdentifier||"optional",sessionTypes:n.sessionTypes||[n.sessionType||"temporary"],audioCapabilities:a.map(r=>({contentType:`audio/mp4; codecs="${r}"`,robustness:n.audioRobustness||"",encryptionScheme:n.audioEncryptionScheme||null})),videoCapabilities:t.map(r=>({contentType:`video/mp4; codecs="${r}"`,robustness:n.videoRobustness||"",encryptionScheme:n.videoEncryptionScheme||null}))}]}function Wo(e,a,t){return Uint8Array.prototype.slice?e.slice(a,t):new Uint8Array(Array.prototype.slice.call(e,a,t))}const sx=(e,a)=>a+10<=e.length&&e[a]===73&&e[a+1]===68&&e[a+2]===51&&e[a+3]<255&&e[a+4]<255&&e[a+6]<128&&e[a+7]<128&&e[a+8]<128&&e[a+9]<128,ej=(e,a)=>a+10<=e.length&&e[a]===51&&e[a+1]===68&&e[a+2]===73&&e[a+3]<255&&e[a+4]<255&&e[a+6]<128&&e[a+7]<128&&e[a+8]<128&&e[a+9]<128,Wc=(e,a)=>{const t=a;let n=0;for(;sx(e,a);){n+=10;const i=F9(e,a+6);n+=i,ej(e,a+10)&&(n+=10),a+=n}if(n>0)return e.subarray(t,t+n)},F9=(e,a)=>{let t=0;return t=(e[a]&127)<<21,t|=(e[a+1]&127)<<14,t|=(e[a+2]&127)<<7,t|=e[a+3]&127,t},f6e=(e,a)=>sx(e,a)&&F9(e,a+6)+10<=e.length-a,ux=e=>{const a=tj(e);for(let t=0;t<a.length;t++){const n=a[t];if(aj(n))return S6e(n)}},aj=e=>e&&e.key==="PRIV"&&e.info==="com.apple.streaming.transportStreamTimestamp",h6e=e=>{const a=String.fromCharCode(e[0],e[1],e[2],e[3]),t=F9(e,4),n=10;return{type:a,size:t,data:e.subarray(n,n+t)}},tj=e=>{let a=0;const t=[];for(;sx(e,a);){const n=F9(e,a+6);a+=10;const i=a+n;for(;a+8<i;){const r=h6e(e.subarray(a)),s=m6e(r);s&&t.push(s),a+=r.size+10}ej(e,a)&&(a+=10)}return t},m6e=e=>e.type==="PRIV"?y6e(e):e.type[0]==="W"?T6e(e):b6e(e),y6e=e=>{if(e.size<2)return;const a=ps(e.data,!0),t=new Uint8Array(e.data.subarray(a.length+1));return{key:e.type,info:a,data:t.buffer}},b6e=e=>{if(e.size<2)return;if(e.type==="TXXX"){let t=1;const n=ps(e.data.subarray(t),!0);t+=n.length+1;const i=ps(e.data.subarray(t));return{key:e.type,info:n,data:i}}const a=ps(e.data.subarray(1));return{key:e.type,data:a}},T6e=e=>{if(e.type==="WXXX"){if(e.size<2)return;let t=1;const n=ps(e.data.subarray(t),!0);t+=n.length+1;const i=ps(e.data.subarray(t));return{key:e.type,info:n,data:i}}const a=ps(e.data);return{key:e.type,data:a}},S6e=e=>{if(e.data.byteLength===8){const a=new Uint8Array(e.data),t=a[3]&1;let n=(a[4]<<23)+(a[5]<<15)+(a[6]<<7)+a[7];return n/=45,t&&(n+=4772185884e-2),Math.round(n)}},ps=(e,a=!1)=>{const t=A6e();if(t){const l=t.decode(e);if(a){const g=l.indexOf("\0");return g!==-1?l.substring(0,g):l}return l.replace(/\0/g,"")}const n=e.length;let i,r,s,u="",o=0;for(;o<n;){if(i=e[o++],i===0&&a)return u;if(i===0||i===3)continue;switch(i>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:u+=String.fromCharCode(i);break;case 12:case 13:r=e[o++],u+=String.fromCharCode((i&31)<<6|r&63);break;case 14:r=e[o++],s=e[o++],u+=String.fromCharCode((i&15)<<12|(r&63)<<6|(s&63)<<0);break}}return u};let HT;function A6e(){if(!navigator.userAgent.includes("PlayStation 4"))return!HT&&typeof self.TextDecoder<"u"&&(HT=new self.TextDecoder("utf-8")),HT}const Vr={hexDump:function(e){let a="";for(let t=0;t<e.length;t++){let n=e[t].toString(16);n.length<2&&(n="0"+n),a+=n}return a}},Vm=Math.pow(2,32)-1,v6e=[].push,nj={video:1,audio:2,id3:3,text:4};function Mt(e){return String.fromCharCode.apply(null,e)}function ij(e,a){const t=e[a]<<8|e[a+1];return t<0?65536+t:t}function Je(e,a){const t=rj(e,a);return t<0?4294967296+t:t}function g_(e,a){let t=Je(e,a);return t*=Math.pow(2,32),t+=Je(e,a+4),t}function rj(e,a){return e[a]<<24|e[a+1]<<16|e[a+2]<<8|e[a+3]}function qT(e,a,t){e[a]=t>>24,e[a+1]=t>>16&255,e[a+2]=t>>8&255,e[a+3]=t&255}function D6e(e){const a=e.byteLength;for(let t=0;t<a;){const n=Je(e,t);if(n>8&&e[t+4]===109&&e[t+5]===111&&e[t+6]===111&&e[t+7]===102)return!0;t=n>1?t+n:a}return!1}function la(e,a){const t=[];if(!a.length)return t;const n=e.byteLength;for(let i=0;i<n;){const r=Je(e,i),s=Mt(e.subarray(i+4,i+8)),u=r>1?i+r:n;if(s===a[0])if(a.length===1)t.push(e.subarray(i+8,u));else{const o=la(e.subarray(i+8,u),a.slice(1));o.length&&v6e.apply(t,o)}i=u}return t}function x6e(e){const a=[],t=e[0];let n=8;const i=Je(e,n);n+=4;let r=0,s=0;t===0?(r=Je(e,n),s=Je(e,n+4),n+=8):(r=g_(e,n),s=g_(e,n+8),n+=16),n+=2;let u=e.length+s;const o=ij(e,n);n+=2;for(let l=0;l<o;l++){let g=n;const d=Je(e,g);g+=4;const c=d&2147483647;if((d&2147483648)>>>31===1)return se.warn("SIDX has hierarchical references (not supported)"),null;const f=Je(e,g);g+=4,a.push({referenceSize:c,subsegmentDuration:f,info:{duration:f/i,start:u,end:u+c-1}}),u+=c,g+=4,n=g}return{earliestPresentationTime:r,timescale:i,version:t,referencesCount:o,references:a}}function sj(e){const a=[],t=la(e,["moov","trak"]);for(let i=0;i<t.length;i++){const r=t[i],s=la(r,["tkhd"])[0];if(s){let u=s[0];const o=Je(s,u===0?12:20),l=la(r,["mdia","mdhd"])[0];if(l){u=l[0];const g=Je(l,u===0?12:20),d=la(r,["mdia","hdlr"])[0];if(d){const c=Mt(d.subarray(8,12)),p={soun:za.AUDIO,vide:za.VIDEO}[c];if(p){const f=la(r,["mdia","minf","stbl","stsd"])[0],h=E6e(f);a[o]={timescale:g,type:p},a[p]=en({timescale:g,id:o},h)}}}}}return la(e,["moov","mvex","trex"]).forEach(i=>{const r=Je(i,4),s=a[r];s&&(s.default={duration:Je(i,12),flags:Je(i,20)})}),a}function E6e(e){const a=e.subarray(8),t=a.subarray(86),n=Mt(a.subarray(4,8));let i=n;const r=n==="enca"||n==="encv";if(r){const u=la(a,[n])[0].subarray(n==="enca"?28:78);la(u,["sinf"]).forEach(l=>{const g=la(l,["schm"])[0];if(g){const d=Mt(g.subarray(4,8));if(d==="cbcs"||d==="cenc"){const c=la(l,["frma"])[0];c&&(i=Mt(c))}}})}switch(i){case"avc1":case"avc2":case"avc3":case"avc4":{const s=la(t,["avcC"])[0];i+="."+e2(s[1])+e2(s[2])+e2(s[3]);break}case"mp4a":{const s=la(a,[n])[0],u=la(s.subarray(28),["esds"])[0];if(u&&u.length>12){let o=4;if(u[o++]!==3)break;o=VT(u,o),o+=2;const l=u[o++];if(l&128&&(o+=2),l&64&&(o+=u[o++]),u[o++]!==4)break;o=VT(u,o);const g=u[o++];if(g===64)i+="."+e2(g);else break;if(o+=12,u[o++]!==5)break;o=VT(u,o);const d=u[o++];let c=(d&248)>>3;c===31&&(c+=1+((d&7)<<3)+((u[o]&224)>>5)),i+="."+c}break}case"hvc1":case"hev1":{const s=la(t,["hvcC"])[0],u=s[1],o=["","A","B","C"][u>>6],l=u&31,g=Je(s,2),d=(u&32)>>5?"H":"L",c=s[12],p=s.subarray(6,12);i+="."+o+l,i+="."+g.toString(16).toUpperCase(),i+="."+d+c;let f="";for(let h=p.length;h--;){const y=p[h];(y||f)&&(f="."+y.toString(16).toUpperCase()+f)}i+=f;break}case"dvh1":case"dvhe":{const s=la(t,["dvcC"])[0],u=s[2]>>1&127,o=s[2]<<5&32|s[3]>>3&31;i+="."+zr(u)+"."+zr(o);break}case"vp09":{const s=la(t,["vpcC"])[0],u=s[4],o=s[5],l=s[6]>>4&15;i+="."+zr(u)+"."+zr(o)+"."+zr(l);break}case"av01":{const s=la(t,["av1C"])[0],u=s[1]>>>5,o=s[1]&31,l=s[2]>>>7?"H":"M",g=(s[2]&64)>>6,d=(s[2]&32)>>5,c=u===2&&g?d?12:10:g?10:8,p=(s[2]&16)>>4,f=(s[2]&8)>>3,h=(s[2]&4)>>2,y=s[2]&3;i+="."+u+"."+zr(o)+l+"."+zr(c)+"."+p+"."+f+h+y+"."+zr(1)+"."+zr(1)+"."+zr(1)+"."+0;break}}return{codec:i,encrypted:r}}function VT(e,a){const t=a+5;for(;e[a++]&128&&a<t;);return a}function e2(e){return("0"+e.toString(16).toUpperCase()).slice(-2)}function zr(e){return(e<10?"0":"")+e}function k6e(e,a){if(!e||!a)return e;const t=a.keyId;return t&&a.isCommonEncryption&&la(e,["moov","trak"]).forEach(i=>{const s=la(i,["mdia","minf","stbl","stsd"])[0].subarray(8);let u=la(s,["enca"]);const o=u.length>0;o||(u=la(s,["encv"])),u.forEach(l=>{const g=o?l.subarray(28):l.subarray(78);la(g,["sinf"]).forEach(c=>{const p=uj(c);if(p){const f=p.subarray(8,24);f.some(h=>h!==0)||(se.log(`[eme] Patching keyId in 'enc${o?"a":"v"}>sinf>>tenc' box: ${Vr.hexDump(f)} -> ${Vr.hexDump(t)}`),p.set(t,8))}})})}),e}function uj(e){const a=la(e,["schm"])[0];if(a){const t=Mt(a.subarray(4,8));if(t==="cbcs"||t==="cenc")return la(e,["schi","tenc"])[0]}return null}function C6e(e,a){return la(a,["moof","traf"]).reduce((t,n)=>{const i=la(n,["tfdt"])[0],r=i[0],s=la(n,["tfhd"]).reduce((u,o)=>{const l=Je(o,4),g=e[l];if(g){let d=Je(i,4);if(r===1){if(d===Vm)return se.warn("[mp4-demuxer]: Ignoring assumed invalid signed 64-bit track fragment decode time"),u;d*=Vm+1,d+=Je(i,8)}const c=g.timescale||9e4,p=d/c;if($e(p)&&(u===null||p<u))return p}return u},null);return s!==null&&$e(s)&&(t===null||s<t)?s:t},null)}function w6e(e,a){let t=0,n=0,i=0;const r=la(e,["moof","traf"]);for(let s=0;s<r.length;s++){const u=r[s],o=la(u,["tfhd"])[0],l=Je(o,4),g=a[l];if(!g)continue;const d=g.default,c=Je(o,0)|(d==null?void 0:d.flags);let p=d==null?void 0:d.duration;c&8&&(c&2?p=Je(o,12):p=Je(o,8));const f=g.timescale||9e4,h=la(u,["trun"]);for(let y=0;y<h.length;y++){if(t=_6e(h[y]),!t&&p){const b=Je(h[y],4);t=p*b}g.type===za.VIDEO?n+=t/f:g.type===za.AUDIO&&(i+=t/f)}}if(n===0&&i===0){let s=1/0,u=0,o=0;const l=la(e,["sidx"]);for(let g=0;g<l.length;g++){const d=x6e(l[g]);if(d!=null&&d.references){s=Math.min(s,d.earliestPresentationTime/d.timescale);const c=d.references.reduce((p,f)=>p+f.info.duration||0,0);u=Math.max(u,c+d.earliestPresentationTime/d.timescale),o=u-s}}if(o&&$e(o))return o}return n||i}function _6e(e){const a=Je(e,0);let t=8;a&1&&(t+=4),a&4&&(t+=4);let n=0;const i=Je(e,4);for(let r=0;r<i;r++){if(a&256){const s=Je(e,t);n+=s,t+=4}a&512&&(t+=4),a&1024&&(t+=4),a&2048&&(t+=4)}return n}function I6e(e,a,t){la(a,["moof","traf"]).forEach(n=>{la(n,["tfhd"]).forEach(i=>{const r=Je(i,4),s=e[r];if(!s)return;const u=s.timescale||9e4;la(n,["tfdt"]).forEach(o=>{const l=o[0],g=t*u;if(g){let d=Je(o,4);if(l===0)d-=g,d=Math.max(d,0),qT(o,4,d);else{d*=Math.pow(2,32),d+=Je(o,8),d-=g,d=Math.max(d,0);const c=Math.floor(d/(Vm+1)),p=Math.floor(d%(Vm+1));qT(o,4,c),qT(o,8,p)}}})})})}function N6e(e){const a={valid:null,remainder:null},t=la(e,["moof"]);if(t.length<2)return a.remainder=e,a;const n=t[t.length-1];return a.valid=Wo(e,0,n.byteOffset-8),a.remainder=Wo(e,n.byteOffset-8),a}function sr(e,a){const t=new Uint8Array(e.length+a.length);return t.set(e),t.set(a,e.length),t}function d_(e,a){const t=[],n=a.samples,i=a.timescale,r=a.id;let s=!1;return la(n,["moof"]).map(o=>{const l=o.byteOffset-8;la(o,["traf"]).map(d=>{const c=la(d,["tfdt"]).map(p=>{const f=p[0];let h=Je(p,4);return f===1&&(h*=Math.pow(2,32),h+=Je(p,8)),h/i})[0];return c!==void 0&&(e=c),la(d,["tfhd"]).map(p=>{const f=Je(p,4),h=Je(p,0)&16777215,y=(h&1)!==0,b=(h&2)!==0,m=(h&8)!==0;let T=0;const A=(h&16)!==0;let v=0;const D=(h&32)!==0;let k=8;f===r&&(y&&(k+=8),b&&(k+=4),m&&(T=Je(p,k),k+=4),A&&(v=Je(p,k),k+=4),D&&(k+=4),a.type==="video"&&(s=L6e(a.codec)),la(d,["trun"]).map(N=>{const q=N[0],R=Je(N,0)&16777215,z=(R&1)!==0;let W=0;const K=(R&4)!==0,P=(R&256)!==0;let L=0;const H=(R&512)!==0;let U=0;const G=(R&1024)!==0,E=(R&2048)!==0;let x=0;const _=Je(N,4);let I=8;z&&(W=Je(N,I),I+=4),K&&(I+=4);let w=W+l;for(let C=0;C<_;C++){if(P?(L=Je(N,I),I+=4):L=T,H?(U=Je(N,I),I+=4):U=v,G&&(I+=4),E&&(q===0?x=Je(N,I):x=rj(N,I),I+=4),a.type===za.VIDEO){let M=0;for(;M<U;){const $=Je(n,w);if(w+=4,R6e(s,n[w])){const Z=n.subarray(w,w+$);oj(Z,s?2:1,e+x/i,t)}w+=$,M+=$+4}}e+=L/i}}))})})}),t}function L6e(e){if(!e)return!1;const a=e.indexOf("."),t=a<0?e:e.substring(0,a);return t==="hvc1"||t==="hev1"||t==="dvh1"||t==="dvhe"}function R6e(e,a){if(e){const t=a>>1&63;return t===39||t===40}else return(a&31)===6}function oj(e,a,t,n){const i=lj(e);let r=0;r+=a;let s=0,u=0,o=0;for(;r<i.length;){s=0;do{if(r>=i.length)break;o=i[r++],s+=o}while(o===255);u=0;do{if(r>=i.length)break;o=i[r++],u+=o}while(o===255);const l=i.length-r;let g=r;if(u<l)r+=u;else if(u>l){se.error(`Malformed SEI payload. ${u} is too small, only ${l} bytes left to parse.`);break}if(s===4){if(i[g++]===181){const c=ij(i,g);if(g+=2,c===49){const p=Je(i,g);if(g+=4,p===1195456820){const f=i[g++];if(f===3){const h=i[g++],y=31&h,b=64&h,m=b?2+y*3:0,T=new Uint8Array(m);if(b){T[0]=h;for(let A=1;A<m;A++)T[A]=i[g++]}n.push({type:f,payloadType:s,pts:t,bytes:T})}}}}}else if(s===5&&u>16){const d=[];for(let f=0;f<16;f++){const h=i[g++].toString(16);d.push(h.length==1?"0"+h:h),(f===3||f===5||f===7||f===9)&&d.push("-")}const c=u-16,p=new Uint8Array(c);for(let f=0;f<c;f++)p[f]=i[g++];n.push({payloadType:s,pts:t,uuid:d.join(""),userData:ps(p),userDataBytes:p})}}}function lj(e){const a=e.byteLength,t=[];let n=1;for(;n<a-2;)e[n]===0&&e[n+1]===0&&e[n+2]===3?(t.push(n+2),n+=2):n++;if(t.length===0)return e;const i=a-t.length,r=new Uint8Array(i);let s=0;for(n=0;n<i;s++,n++)s===t[0]&&(s++,t.shift()),r[n]=e[s];return r}function P6e(e){const a=e[0];let t="",n="",i=0,r=0,s=0,u=0,o=0,l=0;if(a===0){for(;Mt(e.subarray(l,l+1))!=="\0";)t+=Mt(e.subarray(l,l+1)),l+=1;for(t+=Mt(e.subarray(l,l+1)),l+=1;Mt(e.subarray(l,l+1))!=="\0";)n+=Mt(e.subarray(l,l+1)),l+=1;n+=Mt(e.subarray(l,l+1)),l+=1,i=Je(e,12),r=Je(e,16),u=Je(e,20),o=Je(e,24),l=28}else if(a===1){l+=4,i=Je(e,l),l+=4;const d=Je(e,l);l+=4;const c=Je(e,l);for(l+=4,s=2**32*d+c,Zve(s)||(s=Number.MAX_SAFE_INTEGER,se.warn("Presentation time exceeds safe integer limit and wrapped to max safe integer in parsing emsg box")),u=Je(e,l),l+=4,o=Je(e,l),l+=4;Mt(e.subarray(l,l+1))!=="\0";)t+=Mt(e.subarray(l,l+1)),l+=1;for(t+=Mt(e.subarray(l,l+1)),l+=1;Mt(e.subarray(l,l+1))!=="\0";)n+=Mt(e.subarray(l,l+1)),l+=1;n+=Mt(e.subarray(l,l+1)),l+=1}const g=e.subarray(l,e.byteLength);return{schemeIdUri:t,value:n,timeScale:i,presentationTime:s,presentationTimeDelta:r,eventDuration:u,id:o,payload:g}}function M6e(e,...a){const t=a.length;let n=8,i=t;for(;i--;)n+=a[i].byteLength;const r=new Uint8Array(n);for(r[0]=n>>24&255,r[1]=n>>16&255,r[2]=n>>8&255,r[3]=n&255,r.set(e,4),i=0,n=8;i<t;i++)r.set(a[i],n),n+=a[i].byteLength;return r}function O6e(e,a,t){if(e.byteLength!==16)throw new RangeError("Invalid system id");let n,i;n=0,i=new Uint8Array;let r;n>0?(r=new Uint8Array(4),a.length>0&&new DataView(r.buffer).setUint32(0,a.length,!1)):r=new Uint8Array;const s=new Uint8Array(4);return t&&t.byteLength>0&&new DataView(s.buffer).setUint32(0,t.byteLength,!1),M6e([112,115,115,104],new Uint8Array([n,0,0,0]),e,r,i,s,t||new Uint8Array)}function B6e(e){const a=[];if(e instanceof ArrayBuffer){const t=e.byteLength;let n=0;for(;n+32<t;){const i=new DataView(e,n),r=F6e(i);a.push(r),n+=r.size}}return a}function F6e(e){const a=e.getUint32(0),t=e.byteOffset,n=e.byteLength;if(n<a)return{offset:t,size:n};if(e.getUint32(4)!==1886614376)return{offset:t,size:a};const r=e.getUint32(8)>>>24;if(r!==0&&r!==1)return{offset:t,size:a};const s=e.buffer,u=Vr.hexDump(new Uint8Array(s,t+12,16)),o=e.getUint32(28);let l=null,g=null;if(r===0){if(a-32<o||o<22)return{offset:t,size:a};g=new Uint8Array(s,t+32,o)}else if(r===1){if(!o||n<t+32+o*16+16)return{offset:t,size:a};l=[];for(let d=0;d<o;d++)l.push(new Uint8Array(s,t+32+d*16,16))}return{version:r,systemId:u,kids:l,data:g,offset:t,size:a}}let a2={};class Yc{static clearKeyUriToKeyIdMap(){a2={}}constructor(a,t,n,i=[1],r=null){this.uri=void 0,this.method=void 0,this.keyFormat=void 0,this.keyFormatVersions=void 0,this.encrypted=void 0,this.isCommonEncryption=void 0,this.iv=null,this.key=null,this.keyId=null,this.pssh=null,this.method=a,this.uri=t,this.keyFormat=n,this.keyFormatVersions=i,this.iv=r,this.encrypted=a?a!=="NONE":!1,this.isCommonEncryption=this.encrypted&&a!=="AES-128"}isSupported(){if(this.method){if(this.method==="AES-128"||this.method==="NONE")return!0;if(this.keyFormat==="identity")return this.method==="SAMPLE-AES";switch(this.keyFormat){case ti.FAIRPLAY:case ti.WIDEVINE:case ti.PLAYREADY:case ti.CLEARKEY:return["ISO-23001-7","SAMPLE-AES","SAMPLE-AES-CENC","SAMPLE-AES-CTR"].indexOf(this.method)!==-1}}return!1}getDecryptData(a){if(!this.encrypted||!this.uri)return null;if(this.method==="AES-128"&&this.uri&&!this.iv){typeof a!="number"&&(this.method==="AES-128"&&!this.iv&&se.warn(`missing IV for initialization segment with method="${this.method}" - compliance issue`),a=0);const n=U6e(a);return new Yc(this.method,this.uri,"identity",this.keyFormatVersions,n)}const t=d6e(this.uri);if(t)switch(this.keyFormat){case ti.WIDEVINE:this.pssh=t,t.length>=22&&(this.keyId=t.subarray(t.length-22,t.length-6));break;case ti.PLAYREADY:{const n=new Uint8Array([154,4,240,121,152,64,66,134,171,146,230,91,224,136,95,149]);this.pssh=O6e(n,null,t);const i=new Uint16Array(t.buffer,t.byteOffset,t.byteLength/2),r=String.fromCharCode.apply(null,Array.from(i)),s=r.substring(r.indexOf("<"),r.length),l=new DOMParser().parseFromString(s,"text/xml").getElementsByTagName("KID")[0];if(l){const g=l.childNodes[0]?l.childNodes[0].nodeValue:l.getAttribute("VALUE");if(g){const d=rx(g).subarray(0,16);g6e(d),this.keyId=d}}break}default:{let n=t.subarray(0,16);if(n.length!==16){const i=new Uint8Array(16);i.set(n,16-n.length),n=i}this.keyId=n;break}}if(!this.keyId||this.keyId.byteLength!==16){let n=a2[this.uri];if(!n){const i=Object.keys(a2).length%Number.MAX_SAFE_INTEGER;n=new Uint8Array(16),new DataView(n.buffer,12,4).setUint32(0,i),a2[this.uri]=n}this.keyId=n}return this}}function U6e(e){const a=new Uint8Array(16);for(let t=12;t<16;t++)a[t]=e>>8*(15-t)&255;return a}const gj=/\{\$([a-zA-Z0-9-_]+)\}/g;function c_(e){return gj.test(e)}function Yn(e,a,t){if(e.variableList!==null||e.hasVariableRefs)for(let n=t.length;n--;){const i=t[n],r=a[i];r&&(a[i]=Z7(e,r))}}function Z7(e,a){if(e.variableList!==null||e.hasVariableRefs){const t=e.variableList;return a.replace(gj,n=>{const i=n.substring(2,n.length-1),r=t==null?void 0:t[i];return r===void 0?(e.playlistParsingError||(e.playlistParsingError=new Error(`Missing preceding EXT-X-DEFINE tag for Variable Reference: "${i}"`)),n):r})}return a}function p_(e,a,t){let n=e.variableList;n||(e.variableList=n={});let i,r;if("QUERYPARAM"in a){i=a.QUERYPARAM;try{const s=new self.URL(t).searchParams;if(s.has(i))r=s.get(i);else throw new Error(`"${i}" does not match any query parameter in URI: "${t}"`)}catch(s){e.playlistParsingError||(e.playlistParsingError=new Error(`EXT-X-DEFINE QUERYPARAM: ${s.message}`))}}else i=a.NAME,r=a.VALUE;i in n?e.playlistParsingError||(e.playlistParsingError=new Error(`EXT-X-DEFINE duplicate Variable Name declarations: "${i}"`)):n[i]=r||""}function j6e(e,a,t){const n=a.IMPORT;if(t&&n in t){let i=e.variableList;i||(e.variableList=i={}),i[n]=t[n]}else e.playlistParsingError||(e.playlistParsingError=new Error(`EXT-X-DEFINE IMPORT attribute not found in Multivariant Playlist: "${n}"`))}function sl(e=!0){return typeof self>"u"?void 0:(e||!self.MediaSource)&&self.ManagedMediaSource||self.MediaSource||self.WebKitMediaSource}function z6e(e){return typeof self<"u"&&e===self.ManagedMediaSource}const Gm={audio:{a3ds:1,"ac-3":.95,"ac-4":1,alac:.9,alaw:1,dra1:1,"dts+":1,"dts-":1,dtsc:1,dtse:1,dtsh:1,"ec-3":.9,enca:1,fLaC:.9,flac:.9,FLAC:.9,g719:1,g726:1,m4ae:1,mha1:1,mha2:1,mhm1:1,mhm2:1,mlpa:1,mp4a:1,"raw ":1,Opus:1,opus:1,samr:1,sawb:1,sawp:1,sevc:1,sqcp:1,ssmv:1,twos:1,ulaw:1},video:{avc1:1,avc2:1,avc3:1,avc4:1,avcp:1,av01:.8,drac:1,dva1:1,dvav:1,dvh1:.7,dvhe:.7,encv:1,hev1:.75,hvc1:.75,mjp2:1,mp4v:1,mvc1:1,mvc2:1,mvc3:1,mvc4:1,resv:1,rv60:1,s263:1,svc1:1,svc2:1,"vc-1":1,vp08:1,vp09:.9},text:{stpp:1,wvtt:1}};function $6e(e,a){const t=Gm[a];return!!t&&!!t[e.slice(0,4)]}function GT(e,a,t=!0){return!e.split(",").some(n=>!dj(n,a,t))}function dj(e,a,t=!0){var n;const i=sl(t);return(n=i==null?void 0:i.isTypeSupported(Xc(e,a)))!=null?n:!1}function Xc(e,a){return`${a}/mp4;codecs="${e}"`}function f_(e){if(e){const a=e.substring(0,4);return Gm.video[a]}return 2}function Wm(e){return e.split(",").reduce((a,t)=>{const n=Gm.video[t];return n?(n*2+a)/(a?3:2):(Gm.audio[t]+a)/(a?2:1)},0)}const WT={};function K6e(e,a=!0){if(WT[e])return WT[e];const t={flac:["flac","fLaC","FLAC"],opus:["opus","Opus"]}[e];for(let n=0;n<t.length;n++)if(dj(t[n],"audio",a))return WT[e]=t[n],t[n];return e}const H6e=/flac|opus/i;function Ym(e,a=!0){return e.replace(H6e,t=>K6e(t.toLowerCase(),a))}function h_(e,a){return e&&e!=="mp4a"?e:a&&a.split(",")[0]}function q6e(e){const a=e.split(",");for(let t=0;t<a.length;t++){const n=a[t].split(".");if(n.length>2){let i=n.shift()+".";i+=parseInt(n.shift()).toString(16),i+=("000"+parseInt(n.shift()).toString(16)).slice(-4),a[t]=i}}return a.join(",")}const m_=/#EXT-X-STREAM-INF:([^\r\n]*)(?:[\r\n](?:#[^\r\n]*)?)*([^\r\n]+)|#EXT-X-(SESSION-DATA|SESSION-KEY|DEFINE|CONTENT-STEERING|START):([^\r\n]*)[\r\n]+/g,y_=/#EXT-X-MEDIA:(.*)/g,V6e=/^#EXT(?:INF|-X-TARGETDURATION):/m,b_=new RegExp([/#EXTINF:\s*(\d*(?:\.\d+)?)(?:,(.*)\s+)?/.source,/(?!#) *(\S[^\r\n]*)/.source,/#EXT-X-BYTERANGE:*(.+)/.source,/#EXT-X-PROGRAM-DATE-TIME:(.+)/.source,/#.*/.source].join("|"),"g"),G6e=new RegExp([/#(EXTM3U)/.source,/#EXT-X-(DATERANGE|DEFINE|KEY|MAP|PART|PART-INF|PLAYLIST-TYPE|PRELOAD-HINT|RENDITION-REPORT|SERVER-CONTROL|SKIP|START):(.+)/.source,/#EXT-X-(BITRATE|DISCONTINUITY-SEQUENCE|MEDIA-SEQUENCE|TARGETDURATION|VERSION): *(\d+)/.source,/#EXT-X-(DISCONTINUITY|ENDLIST|GAP|INDEPENDENT-SEGMENTS)/.source,/(#)([^:]*):(.*)/.source,/(#)(.*)(?:.*)\r?\n?/.source].join("|"));class rs{static findGroup(a,t){for(let n=0;n<a.length;n++){const i=a[n];if(i.id===t)return i}}static resolve(a,t){return ix.buildAbsoluteURL(t,a,{alwaysNormalize:!0})}static isMediaPlaylist(a){return V6e.test(a)}static parseMasterPlaylist(a,t){const n=c_(a),i={contentSteering:null,levels:[],playlistParsingError:null,sessionData:null,sessionKeys:null,startTimeOffset:null,variableList:null,hasVariableRefs:n},r=[];m_.lastIndex=0;let s;for(;(s=m_.exec(a))!=null;)if(s[1]){var u;const l=new ht(s[1]);Yn(i,l,["CODECS","SUPPLEMENTAL-CODECS","ALLOWED-CPC","PATHWAY-ID","STABLE-VARIANT-ID","AUDIO","VIDEO","SUBTITLES","CLOSED-CAPTIONS","NAME"]);const g=Z7(i,s[2]),d={attrs:l,bitrate:l.decimalInteger("BANDWIDTH")||l.decimalInteger("AVERAGE-BANDWIDTH"),name:l.NAME,url:rs.resolve(g,t)},c=l.decimalResolution("RESOLUTION");c&&(d.width=c.width,d.height=c.height),W6e(l.CODECS,d),(u=d.unknownCodecs)!=null&&u.length||r.push(d),i.levels.push(d)}else if(s[3]){const l=s[3],g=s[4];switch(l){case"SESSION-DATA":{const d=new ht(g);Yn(i,d,["DATA-ID","LANGUAGE","VALUE","URI"]);const c=d["DATA-ID"];c&&(i.sessionData===null&&(i.sessionData={}),i.sessionData[c]=d);break}case"SESSION-KEY":{const d=T_(g,t,i);d.encrypted&&d.isSupported()?(i.sessionKeys===null&&(i.sessionKeys=[]),i.sessionKeys.push(d)):se.warn(`[Keys] Ignoring invalid EXT-X-SESSION-KEY tag: "${g}"`);break}case"DEFINE":{{const d=new ht(g);Yn(i,d,["NAME","VALUE","QUERYPARAM"]),p_(i,d,t)}break}case"CONTENT-STEERING":{const d=new ht(g);Yn(i,d,["SERVER-URI","PATHWAY-ID"]),i.contentSteering={uri:rs.resolve(d["SERVER-URI"],t),pathwayId:d["PATHWAY-ID"]||"."};break}case"START":{i.startTimeOffset=S_(g);break}}}const o=r.length>0&&r.length<i.levels.length;return i.levels=o?r:i.levels,i.levels.length===0&&(i.playlistParsingError=new Error("no levels found in manifest")),i}static parseMasterPlaylistMedia(a,t,n){let i;const r={},s=n.levels,u={AUDIO:s.map(l=>({id:l.attrs.AUDIO,audioCodec:l.audioCodec})),SUBTITLES:s.map(l=>({id:l.attrs.SUBTITLES,textCodec:l.textCodec})),"CLOSED-CAPTIONS":[]};let o=0;for(y_.lastIndex=0;(i=y_.exec(a))!==null;){const l=new ht(i[1]),g=l.TYPE;if(g){const d=u[g],c=r[g]||[];r[g]=c,Yn(n,l,["URI","GROUP-ID","LANGUAGE","ASSOC-LANGUAGE","STABLE-RENDITION-ID","NAME","INSTREAM-ID","CHARACTERISTICS","CHANNELS"]);const p=l.LANGUAGE,f=l["ASSOC-LANGUAGE"],h=l.CHANNELS,y=l.CHARACTERISTICS,b=l["INSTREAM-ID"],m={attrs:l,bitrate:0,id:o++,groupId:l["GROUP-ID"]||"",name:l.NAME||p||"",type:g,default:l.bool("DEFAULT"),autoselect:l.bool("AUTOSELECT"),forced:l.bool("FORCED"),lang:p,url:l.URI?rs.resolve(l.URI,t):""};if(f&&(m.assocLang=f),h&&(m.channels=h),y&&(m.characteristics=y),b&&(m.instreamId=b),d!=null&&d.length){const T=rs.findGroup(d,m.groupId)||d[0];A_(m,T,"audioCodec"),A_(m,T,"textCodec")}c.push(m)}}return r}static parseLevelPlaylist(a,t,n,i,r,s){const u=new o6e(t),o=u.fragments;let l=null,g=0,d=0,c=0,p=0,f=null,h=new $T(i,t),y,b,m,T=-1,A=!1,v=null;for(b_.lastIndex=0,u.m3u8=a,u.hasVariableRefs=c_(a);(y=b_.exec(a))!==null;){A&&(A=!1,h=new $T(i,t),h.start=c,h.sn=g,h.cc=p,h.level=n,l&&(h.initSegment=l,h.rawProgramDateTime=l.rawProgramDateTime,l.rawProgramDateTime=null,v&&(h.setByteRange(v),v=null)));const q=y[1];if(q){h.duration=parseFloat(q);const R=(" "+y[2]).slice(1);h.title=R||null,h.tagList.push(R?["INF",q,R]:["INF",q])}else if(y[3]){if($e(h.duration)){h.start=c,m&&x_(h,m,u),h.sn=g,h.level=n,h.cc=p,o.push(h);const R=(" "+y[3]).slice(1);h.relurl=Z7(u,R),v_(h,f),f=h,c+=h.duration,g++,d=0,A=!0}}else if(y[4]){const R=(" "+y[4]).slice(1);f?h.setByteRange(R,f):h.setByteRange(R)}else if(y[5])h.rawProgramDateTime=(" "+y[5]).slice(1),h.tagList.push(["PROGRAM-DATE-TIME",h.rawProgramDateTime]),T===-1&&(T=o.length);else{if(y=y[0].match(G6e),!y){se.warn("No matches on slow regex match for level playlist!");continue}for(b=1;b<y.length&&!(typeof y[b]<"u");b++);const R=(" "+y[b]).slice(1),z=(" "+y[b+1]).slice(1),W=y[b+2]?(" "+y[b+2]).slice(1):"";switch(R){case"PLAYLIST-TYPE":u.type=z.toUpperCase();break;case"MEDIA-SEQUENCE":g=u.startSN=parseInt(z);break;case"SKIP":{const K=new ht(z);Yn(u,K,["RECENTLY-REMOVED-DATERANGES"]);const P=K.decimalInteger("SKIPPED-SEGMENTS");if($e(P)){u.skippedSegments=P;for(let H=P;H--;)o.unshift(null);g+=P}const L=K.enumeratedString("RECENTLY-REMOVED-DATERANGES");L&&(u.recentlyRemovedDateranges=L.split("	"));break}case"TARGETDURATION":u.targetduration=Math.max(parseInt(z),1);break;case"VERSION":u.version=parseInt(z);break;case"INDEPENDENT-SEGMENTS":case"EXTM3U":break;case"ENDLIST":u.live=!1;break;case"#":(z||W)&&h.tagList.push(W?[z,W]:[z]);break;case"DISCONTINUITY":p++,h.tagList.push(["DIS"]);break;case"GAP":h.gap=!0,h.tagList.push([R]);break;case"BITRATE":h.tagList.push([R,z]);break;case"DATERANGE":{const K=new ht(z);Yn(u,K,["ID","CLASS","START-DATE","END-DATE","SCTE35-CMD","SCTE35-OUT","SCTE35-IN"]),Yn(u,K,K.clientAttrs);const P=new QU(K,u.dateRanges[K.ID]);P.isValid||u.skippedSegments?u.dateRanges[P.id]=P:se.warn(`Ignoring invalid DATERANGE tag: "${z}"`),h.tagList.push(["EXT-X-DATERANGE",z]);break}case"DEFINE":{{const K=new ht(z);Yn(u,K,["NAME","VALUE","IMPORT","QUERYPARAM"]),"IMPORT"in K?j6e(u,K,s):p_(u,K,t)}break}case"DISCONTINUITY-SEQUENCE":p=parseInt(z);break;case"KEY":{const K=T_(z,t,u);if(K.isSupported()){if(K.method==="NONE"){m=void 0;break}m||(m={}),m[K.keyFormat]&&(m=Rt({},m)),m[K.keyFormat]=K}else se.warn(`[Keys] Ignoring invalid EXT-X-KEY tag: "${z}"`);break}case"START":u.startTimeOffset=S_(z);break;case"MAP":{const K=new ht(z);if(Yn(u,K,["BYTERANGE","URI"]),h.duration){const P=new $T(i,t);D_(P,K,n,m),l=P,h.initSegment=l,l.rawProgramDateTime&&!h.rawProgramDateTime&&(h.rawProgramDateTime=l.rawProgramDateTime)}else{const P=h.byteRangeEndOffset;if(P){const L=h.byteRangeStartOffset;v=`${P-L}@${L}`}else v=null;D_(h,K,n,m),l=h,A=!0}break}case"SERVER-CONTROL":{const K=new ht(z);u.canBlockReload=K.bool("CAN-BLOCK-RELOAD"),u.canSkipUntil=K.optionalFloat("CAN-SKIP-UNTIL",0),u.canSkipDateRanges=u.canSkipUntil>0&&K.bool("CAN-SKIP-DATERANGES"),u.partHoldBack=K.optionalFloat("PART-HOLD-BACK",0),u.holdBack=K.optionalFloat("HOLD-BACK",0);break}case"PART-INF":{const K=new ht(z);u.partTarget=K.decimalFloatingPoint("PART-TARGET");break}case"PART":{let K=u.partList;K||(K=u.partList=[]);const P=d>0?K[K.length-1]:void 0,L=d++,H=new ht(z);Yn(u,H,["BYTERANGE","URI"]);const U=new s6e(H,h,t,L,P);K.push(U),h.duration+=U.duration;break}case"PRELOAD-HINT":{const K=new ht(z);Yn(u,K,["URI"]),u.preloadHint=K;break}case"RENDITION-REPORT":{const K=new ht(z);Yn(u,K,["URI"]),u.renditionReports=u.renditionReports||[],u.renditionReports.push(K);break}default:se.warn(`line parsed but not handled: ${y}`);break}}}f&&!f.relurl?(o.pop(),c-=f.duration,u.partList&&(u.fragmentHint=f)):u.partList&&(v_(h,f),h.cc=p,u.fragmentHint=h,m&&x_(h,m,u));const D=o.length,k=o[0],N=o[D-1];if(c+=u.skippedSegments*u.targetduration,c>0&&D&&N){u.averagetargetduration=c/D;const q=N.sn;u.endSN=q!=="initSegment"?q:0,u.live||(N.endList=!0),k&&(u.startCC=k.cc)}else u.endSN=0,u.startCC=0;return u.fragmentHint&&(c+=u.fragmentHint.duration),u.totalduration=c,u.endCC=p,T>0&&Y6e(o,T),u}}function T_(e,a,t){var n,i;const r=new ht(e);Yn(t,r,["KEYFORMAT","KEYFORMATVERSIONS","URI","IV","URI"]);const s=(n=r.METHOD)!=null?n:"",u=r.URI,o=r.hexadecimalInteger("IV"),l=r.KEYFORMATVERSIONS,g=(i=r.KEYFORMAT)!=null?i:"identity";u&&r.IV&&!o&&se.error(`Invalid IV: ${r.IV}`);const d=u?rs.resolve(u,a):"",c=(l||"1").split("/").map(Number).filter(Number.isFinite);return new Yc(s,d,g,c,o)}function S_(e){const t=new ht(e).decimalFloatingPoint("TIME-OFFSET");return $e(t)?t:null}function W6e(e,a){let t=(e||"").split(/[ ,]+/).filter(n=>n);["video","audio","text"].forEach(n=>{const i=t.filter(r=>$6e(r,n));i.length&&(a[`${n}Codec`]=i.join(","),t=t.filter(r=>i.indexOf(r)===-1))}),a.unknownCodecs=t}function A_(e,a,t){const n=a[t];n&&(e[t]=n)}function Y6e(e,a){let t=e[a];for(let n=a;n--;){const i=e[n];if(!i)return;i.programDateTime=t.programDateTime-i.duration*1e3,t=i}}function v_(e,a){e.rawProgramDateTime?e.programDateTime=Date.parse(e.rawProgramDateTime):a!=null&&a.programDateTime&&(e.programDateTime=a.endProgramDateTime),$e(e.programDateTime)||(e.programDateTime=null,e.rawProgramDateTime=null)}function D_(e,a,t,n){e.relurl=a.URI,a.BYTERANGE&&e.setByteRange(a.BYTERANGE),e.level=t,e.sn="initSegment",n&&(e.levelkeys=n),e.initSegment=null}function x_(e,a,t){e.levelkeys=a;const{encryptedFragments:n}=t;(!n.length||n[n.length-1].levelkeys!==a)&&Object.keys(a).some(i=>a[i].isCommonEncryption)&&n.push(e)}var wa={MANIFEST:"manifest",LEVEL:"level",AUDIO_TRACK:"audioTrack",SUBTITLE_TRACK:"subtitleTrack"},ea={MAIN:"main",AUDIO:"audio",SUBTITLE:"subtitle"};function E_(e){const{type:a}=e;switch(a){case wa.AUDIO_TRACK:return ea.AUDIO;case wa.SUBTITLE_TRACK:return ea.SUBTITLE;default:return ea.MAIN}}function YT(e,a){let t=e.url;return(t===void 0||t.indexOf("data:")===0)&&(t=a.url),t}class X6e{constructor(a){this.hls=void 0,this.loaders=Object.create(null),this.variableList=null,this.hls=a,this.registerListeners()}startLoad(a){}stopLoad(){this.destroyInternalLoaders()}registerListeners(){const{hls:a}=this;a.on(O.MANIFEST_LOADING,this.onManifestLoading,this),a.on(O.LEVEL_LOADING,this.onLevelLoading,this),a.on(O.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),a.on(O.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)}unregisterListeners(){const{hls:a}=this;a.off(O.MANIFEST_LOADING,this.onManifestLoading,this),a.off(O.LEVEL_LOADING,this.onLevelLoading,this),a.off(O.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),a.off(O.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)}createInternalLoader(a){const t=this.hls.config,n=t.pLoader,i=t.loader,r=n||i,s=new r(t);return this.loaders[a.type]=s,s}getInternalLoader(a){return this.loaders[a.type]}resetInternalLoader(a){this.loaders[a]&&delete this.loaders[a]}destroyInternalLoaders(){for(const a in this.loaders){const t=this.loaders[a];t&&t.destroy(),this.resetInternalLoader(a)}}destroy(){this.variableList=null,this.unregisterListeners(),this.destroyInternalLoaders()}onManifestLoading(a,t){const{url:n}=t;this.variableList=null,this.load({id:null,level:0,responseType:"text",type:wa.MANIFEST,url:n,deliveryDirectives:null})}onLevelLoading(a,t){const{id:n,level:i,pathwayId:r,url:s,deliveryDirectives:u}=t;this.load({id:n,level:i,pathwayId:r,responseType:"text",type:wa.LEVEL,url:s,deliveryDirectives:u})}onAudioTrackLoading(a,t){const{id:n,groupId:i,url:r,deliveryDirectives:s}=t;this.load({id:n,groupId:i,level:null,responseType:"text",type:wa.AUDIO_TRACK,url:r,deliveryDirectives:s})}onSubtitleTrackLoading(a,t){const{id:n,groupId:i,url:r,deliveryDirectives:s}=t;this.load({id:n,groupId:i,level:null,responseType:"text",type:wa.SUBTITLE_TRACK,url:r,deliveryDirectives:s})}load(a){var t;const n=this.hls.config;let i=this.getInternalLoader(a);if(i){const l=i.context;if(l&&l.url===a.url&&l.level===a.level){se.trace("[playlist-loader]: playlist request ongoing");return}se.log(`[playlist-loader]: aborting previous loader for type: ${a.type}`),i.abort()}let r;if(a.type===wa.MANIFEST?r=n.manifestLoadPolicy.default:r=Rt({},n.playlistLoadPolicy.default,{timeoutRetry:null,errorRetry:null}),i=this.createInternalLoader(a),$e((t=a.deliveryDirectives)==null?void 0:t.part)){let l;if(a.type===wa.LEVEL&&a.level!==null?l=this.hls.levels[a.level].details:a.type===wa.AUDIO_TRACK&&a.id!==null?l=this.hls.audioTracks[a.id].details:a.type===wa.SUBTITLE_TRACK&&a.id!==null&&(l=this.hls.subtitleTracks[a.id].details),l){const g=l.partTarget,d=l.targetduration;if(g&&d){const c=Math.max(g*3,d*.8)*1e3;r=Rt({},r,{maxTimeToFirstByteMs:Math.min(c,r.maxTimeToFirstByteMs),maxLoadTimeMs:Math.min(c,r.maxTimeToFirstByteMs)})}}}const s=r.errorRetry||r.timeoutRetry||{},u={loadPolicy:r,timeout:r.maxLoadTimeMs,maxRetry:s.maxNumRetry||0,retryDelay:s.retryDelayMs||0,maxRetryDelay:s.maxRetryDelayMs||0},o={onSuccess:(l,g,d,c)=>{const p=this.getInternalLoader(d);this.resetInternalLoader(d.type);const f=l.data;if(f.indexOf("#EXTM3U")!==0){this.handleManifestParsingError(l,d,new Error("no EXTM3U delimiter"),c||null,g);return}g.parsing.start=performance.now(),rs.isMediaPlaylist(f)?this.handleTrackOrLevelPlaylist(l,g,d,c||null,p):this.handleMasterPlaylist(l,g,d,c)},onError:(l,g,d,c)=>{this.handleNetworkError(g,d,!1,l,c)},onTimeout:(l,g,d)=>{this.handleNetworkError(g,d,!0,void 0,l)}};i.load(a,u,o)}handleMasterPlaylist(a,t,n,i){const r=this.hls,s=a.data,u=YT(a,n),o=rs.parseMasterPlaylist(s,u);if(o.playlistParsingError){this.handleManifestParsingError(a,n,o.playlistParsingError,i,t);return}const{contentSteering:l,levels:g,sessionData:d,sessionKeys:c,startTimeOffset:p,variableList:f}=o;this.variableList=f;const{AUDIO:h=[],SUBTITLES:y,"CLOSED-CAPTIONS":b}=rs.parseMasterPlaylistMedia(s,u,o);h.length&&!h.some(T=>!T.url)&&g[0].audioCodec&&!g[0].attrs.AUDIO&&(se.log("[playlist-loader]: audio codec signaled in quality level, but no embedded audio track signaled, create one"),h.unshift({type:"main",name:"main",groupId:"main",default:!1,autoselect:!1,forced:!1,id:-1,attrs:new ht({}),bitrate:0,url:""})),r.trigger(O.MANIFEST_LOADED,{levels:g,audioTracks:h,subtitles:y,captions:b,contentSteering:l,url:u,stats:t,networkDetails:i,sessionData:d,sessionKeys:c,startTimeOffset:p,variableList:f})}handleTrackOrLevelPlaylist(a,t,n,i,r){const s=this.hls,{id:u,level:o,type:l}=n,g=YT(a,n),d=0,c=$e(o)?o:$e(u)?u:0,p=E_(n),f=rs.parseLevelPlaylist(a.data,g,c,p,d,this.variableList);if(l===wa.MANIFEST){const h={attrs:new ht({}),bitrate:0,details:f,name:"",url:g};s.trigger(O.MANIFEST_LOADED,{levels:[h],audioTracks:[],url:g,stats:t,networkDetails:i,sessionData:null,sessionKeys:null,contentSteering:null,startTimeOffset:null,variableList:null})}t.parsing.end=performance.now(),n.levelDetails=f,this.handlePlaylistLoaded(f,a,t,n,i,r)}handleManifestParsingError(a,t,n,i,r){this.hls.trigger(O.ERROR,{type:na.NETWORK_ERROR,details:ce.MANIFEST_PARSING_ERROR,fatal:t.type===wa.MANIFEST,url:a.url,err:n,error:n,reason:n.message,response:a,context:t,networkDetails:i,stats:r})}handleNetworkError(a,t,n=!1,i,r){let s=`A network ${n?"timeout":"error"+(i?" (status "+i.code+")":"")} occurred while loading ${a.type}`;a.type===wa.LEVEL?s+=`: ${a.level} id: ${a.id}`:(a.type===wa.AUDIO_TRACK||a.type===wa.SUBTITLE_TRACK)&&(s+=` id: ${a.id} group-id: "${a.groupId}"`);const u=new Error(s);se.warn(`[playlist-loader]: ${s}`);let o=ce.UNKNOWN,l=!1;const g=this.getInternalLoader(a);switch(a.type){case wa.MANIFEST:o=n?ce.MANIFEST_LOAD_TIMEOUT:ce.MANIFEST_LOAD_ERROR,l=!0;break;case wa.LEVEL:o=n?ce.LEVEL_LOAD_TIMEOUT:ce.LEVEL_LOAD_ERROR,l=!1;break;case wa.AUDIO_TRACK:o=n?ce.AUDIO_TRACK_LOAD_TIMEOUT:ce.AUDIO_TRACK_LOAD_ERROR,l=!1;break;case wa.SUBTITLE_TRACK:o=n?ce.SUBTITLE_TRACK_LOAD_TIMEOUT:ce.SUBTITLE_LOAD_ERROR,l=!1;break}g&&this.resetInternalLoader(a.type);const d={type:na.NETWORK_ERROR,details:o,fatal:l,url:a.url,loader:g,context:a,error:u,networkDetails:t,stats:r};if(i){const c=(t==null?void 0:t.url)||a.url;d.response=en({url:c,data:void 0},i)}this.hls.trigger(O.ERROR,d)}handlePlaylistLoaded(a,t,n,i,r,s){const u=this.hls,{type:o,level:l,id:g,groupId:d,deliveryDirectives:c}=i,p=YT(t,i),f=E_(i),h=typeof i.level=="number"&&f===ea.MAIN?l:void 0;if(!a.fragments.length){const b=new Error("No Segments found in Playlist");u.trigger(O.ERROR,{type:na.NETWORK_ERROR,details:ce.LEVEL_EMPTY_ERROR,fatal:!1,url:p,error:b,reason:b.message,response:t,context:i,level:h,parent:f,networkDetails:r,stats:n});return}a.targetduration||(a.playlistParsingError=new Error("Missing Target Duration"));const y=a.playlistParsingError;if(y){u.trigger(O.ERROR,{type:na.NETWORK_ERROR,details:ce.LEVEL_PARSING_ERROR,fatal:!1,url:p,error:y,reason:y.message,response:t,context:i,level:h,parent:f,networkDetails:r,stats:n});return}switch(a.live&&s&&(s.getCacheAge&&(a.ageHeader=s.getCacheAge()||0),(!s.getCacheAge||isNaN(a.ageHeader))&&(a.ageHeader=0)),o){case wa.MANIFEST:case wa.LEVEL:u.trigger(O.LEVEL_LOADED,{details:a,level:h||0,id:g||0,stats:n,networkDetails:r,deliveryDirectives:c});break;case wa.AUDIO_TRACK:u.trigger(O.AUDIO_TRACK_LOADED,{details:a,id:g||0,groupId:d||"",stats:n,networkDetails:r,deliveryDirectives:c});break;case wa.SUBTITLE_TRACK:u.trigger(O.SUBTITLE_TRACK_LOADED,{details:a,id:g||0,groupId:d||"",stats:n,networkDetails:r,deliveryDirectives:c});break}}}function cj(e,a){let t;try{t=new Event("addtrack")}catch{t=document.createEvent("Event"),t.initEvent("addtrack",!1,!1)}t.track=e,a.dispatchEvent(t)}function pj(e,a){const t=e.mode;if(t==="disabled"&&(e.mode="hidden"),e.cues&&!e.cues.getCueById(a.id))try{if(e.addCue(a),!e.cues.getCueById(a.id))throw new Error(`addCue is failed for: ${a}`)}catch(n){se.debug(`[texttrack-utils]: ${n}`);try{const i=new self.TextTrackCue(a.startTime,a.endTime,a.text);i.id=a.id,e.addCue(i)}catch(i){se.debug(`[texttrack-utils]: Legacy TextTrackCue fallback failed: ${i}`)}}t==="disabled"&&(e.mode=t)}function pg(e){const a=e.mode;if(a==="disabled"&&(e.mode="hidden"),e.cues)for(let t=e.cues.length;t--;)e.removeCue(e.cues[t]);a==="disabled"&&(e.mode=a)}function J7(e,a,t,n){const i=e.mode;if(i==="disabled"&&(e.mode="hidden"),e.cues&&e.cues.length>0){const r=Z6e(e.cues,a,t);for(let s=0;s<r.length;s++)(!n||n(r[s]))&&e.removeCue(r[s])}i==="disabled"&&(e.mode=i)}function Q6e(e,a){if(a<e[0].startTime)return 0;const t=e.length-1;if(a>e[t].endTime)return-1;let n=0,i=t;for(;n<=i;){const r=Math.floor((i+n)/2);if(a<e[r].startTime)i=r-1;else if(a>e[r].startTime&&n<t)n=r+1;else return r}return e[n].startTime-a<a-e[i].startTime?n:i}function Z6e(e,a,t){const n=[],i=Q6e(e,a);if(i>-1)for(let r=i,s=e.length;r<s;r++){const u=e[r];if(u.startTime>=a&&u.endTime<=t)n.push(u);else if(u.startTime>t)return n}return n}function Y2(e){const a=[];for(let t=0;t<e.length;t++){const n=e[t];(n.kind==="subtitles"||n.kind==="captions")&&n.label&&a.push(e[t])}return a}var Sr={audioId3:"org.id3",dateRange:"com.apple.quicktime.HLS",emsg:"https://aomedia.org/emsg/ID3"};const J6e=.25;function e3(){if(!(typeof self>"u"))return self.VTTCue||self.TextTrackCue}function k_(e,a,t,n,i){let r=new e(a,t,"");try{r.value=n,i&&(r.type=i)}catch{r=new e(a,t,JSON.stringify(i?en({type:i},n):n))}return r}const t2=(()=>{const e=e3();try{e&&new e(0,Number.POSITIVE_INFINITY,"")}catch{return Number.MAX_VALUE}return Number.POSITIVE_INFINITY})();function XT(e,a){return e.getTime()/1e3-a}function eDe(e){return Uint8Array.from(e.replace(/^0x/,"").replace(/([\da-fA-F]{2}) ?/g,"0x$1 ").replace(/ +$/,"").split(" ")).buffer}class aDe{constructor(a){this.hls=void 0,this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=a,this._registerListeners()}destroy(){this._unregisterListeners(),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=null}_registerListeners(){const{hls:a}=this;a.on(O.MEDIA_ATTACHED,this.onMediaAttached,this),a.on(O.MEDIA_DETACHING,this.onMediaDetaching,this),a.on(O.MANIFEST_LOADING,this.onManifestLoading,this),a.on(O.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),a.on(O.BUFFER_FLUSHING,this.onBufferFlushing,this),a.on(O.LEVEL_UPDATED,this.onLevelUpdated,this)}_unregisterListeners(){const{hls:a}=this;a.off(O.MEDIA_ATTACHED,this.onMediaAttached,this),a.off(O.MEDIA_DETACHING,this.onMediaDetaching,this),a.off(O.MANIFEST_LOADING,this.onManifestLoading,this),a.off(O.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),a.off(O.BUFFER_FLUSHING,this.onBufferFlushing,this),a.off(O.LEVEL_UPDATED,this.onLevelUpdated,this)}onMediaAttached(a,t){this.media=t.media}onMediaDetaching(){this.id3Track&&(pg(this.id3Track),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={})}onManifestLoading(){this.dateRangeCuesAppended={}}createTrack(a){const t=this.getID3Track(a.textTracks);return t.mode="hidden",t}getID3Track(a){if(this.media){for(let t=0;t<a.length;t++){const n=a[t];if(n.kind==="metadata"&&n.label==="id3")return cj(n,this.media),n}return this.media.addTextTrack("metadata","id3")}}onFragParsingMetadata(a,t){if(!this.media)return;const{hls:{config:{enableEmsgMetadataCues:n,enableID3MetadataCues:i}}}=this;if(!n&&!i)return;const{samples:r}=t;this.id3Track||(this.id3Track=this.createTrack(this.media));const s=e3();if(s)for(let u=0;u<r.length;u++){const o=r[u].type;if(o===Sr.emsg&&!n||!i)continue;const l=tj(r[u].data);if(l){const g=r[u].pts;let d=g+r[u].duration;d>t2&&(d=t2),d-g<=0&&(d=g+J6e);for(let p=0;p<l.length;p++){const f=l[p];if(!aj(f)){this.updateId3CueEnds(g,o);const h=k_(s,g,d,f,o);h&&this.id3Track.addCue(h)}}}}}updateId3CueEnds(a,t){var n;const i=(n=this.id3Track)==null?void 0:n.cues;if(i)for(let r=i.length;r--;){const s=i[r];s.type===t&&s.startTime<a&&s.endTime===t2&&(s.endTime=a)}}onBufferFlushing(a,{startOffset:t,endOffset:n,type:i}){const{id3Track:r,hls:s}=this;if(!s)return;const{config:{enableEmsgMetadataCues:u,enableID3MetadataCues:o}}=s;if(r&&(u||o)){let l;i==="audio"?l=g=>g.type===Sr.audioId3&&o:i==="video"?l=g=>g.type===Sr.emsg&&u:l=g=>g.type===Sr.audioId3&&o||g.type===Sr.emsg&&u,J7(r,t,n,l)}}onLevelUpdated(a,{details:t}){if(!this.media||!t.hasProgramDateTime||!this.hls.config.enableDateRangeMetadataCues)return;const{dateRangeCuesAppended:n,id3Track:i}=this,{dateRanges:r}=t,s=Object.keys(r);if(i){const g=Object.keys(n).filter(d=>!s.includes(d));for(let d=g.length;d--;){const c=g[d];Object.keys(n[c].cues).forEach(p=>{i.removeCue(n[c].cues[p])}),delete n[c]}}const u=t.fragments[t.fragments.length-1];if(s.length===0||!$e(u==null?void 0:u.programDateTime))return;this.id3Track||(this.id3Track=this.createTrack(this.media));const o=u.programDateTime/1e3-u.start,l=e3();for(let g=0;g<s.length;g++){const d=s[g],c=r[d],p=XT(c.startDate,o),f=n[d],h=(f==null?void 0:f.cues)||{};let y=(f==null?void 0:f.durationKnown)||!1,b=t2;const m=c.endDate;if(m)b=XT(m,o),y=!0;else if(c.endOnNext&&!y){const A=s.reduce((v,D)=>{if(D!==c.id){const k=r[D];if(k.class===c.class&&k.startDate>c.startDate&&(!v||c.startDate<v.startDate))return k}return v},null);A&&(b=XT(A.startDate,o),y=!0)}const T=Object.keys(c.attr);for(let A=0;A<T.length;A++){const v=T[A];if(!i6e(v))continue;const D=h[v];if(D)y&&!f.durationKnown&&(D.endTime=b);else if(l){let k=c.attr[v];r6e(v)&&(k=eDe(k));const N=k_(l,p,b,{key:v,data:k},Sr.dateRange);N&&(N.id=d,this.id3Track.addCue(N),h[v]=N)}}n[d]={cues:h,dateRange:c,durationKnown:y}}}}class tDe{constructor(a){this.hls=void 0,this.config=void 0,this.media=null,this.levelDetails=null,this.currentTime=0,this.stallCount=0,this._latency=null,this.timeupdateHandler=()=>this.timeupdate(),this.hls=a,this.config=a.config,this.registerListeners()}get latency(){return this._latency||0}get maxLatency(){const{config:a,levelDetails:t}=this;return a.liveMaxLatencyDuration!==void 0?a.liveMaxLatencyDuration:t?a.liveMaxLatencyDurationCount*t.targetduration:0}get targetLatency(){const{levelDetails:a}=this;if(a===null)return null;const{holdBack:t,partHoldBack:n,targetduration:i}=a,{liveSyncDuration:r,liveSyncDurationCount:s,lowLatencyMode:u}=this.config,o=this.hls.userConfig;let l=u&&n||t;(o.liveSyncDuration||o.liveSyncDurationCount||l===0)&&(l=r!==void 0?r:s*i);const g=i;return l+Math.min(this.stallCount*1,g)}get liveSyncPosition(){const a=this.estimateLiveEdge(),t=this.targetLatency,n=this.levelDetails;if(a===null||t===null||n===null)return null;const i=n.edge,r=a-t-this.edgeStalled,s=i-n.totalduration,u=i-(this.config.lowLatencyMode&&n.partTarget||n.targetduration);return Math.min(Math.max(s,r),u)}get drift(){const{levelDetails:a}=this;return a===null?1:a.drift}get edgeStalled(){const{levelDetails:a}=this;if(a===null)return 0;const t=(this.config.lowLatencyMode&&a.partTarget||a.targetduration)*3;return Math.max(a.age-t,0)}get forwardBufferLength(){const{media:a,levelDetails:t}=this;if(!a||!t)return 0;const n=a.buffered.length;return(n?a.buffered.end(n-1):t.edge)-this.currentTime}destroy(){this.unregisterListeners(),this.onMediaDetaching(),this.levelDetails=null,this.hls=this.timeupdateHandler=null}registerListeners(){this.hls.on(O.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(O.MEDIA_DETACHING,this.onMediaDetaching,this),this.hls.on(O.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(O.LEVEL_UPDATED,this.onLevelUpdated,this),this.hls.on(O.ERROR,this.onError,this)}unregisterListeners(){this.hls.off(O.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(O.MEDIA_DETACHING,this.onMediaDetaching,this),this.hls.off(O.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(O.LEVEL_UPDATED,this.onLevelUpdated,this),this.hls.off(O.ERROR,this.onError,this)}onMediaAttached(a,t){this.media=t.media,this.media.addEventListener("timeupdate",this.timeupdateHandler)}onMediaDetaching(){this.media&&(this.media.removeEventListener("timeupdate",this.timeupdateHandler),this.media=null)}onManifestLoading(){this.levelDetails=null,this._latency=null,this.stallCount=0}onLevelUpdated(a,{details:t}){this.levelDetails=t,t.advanced&&this.timeupdate(),!t.live&&this.media&&this.media.removeEventListener("timeupdate",this.timeupdateHandler)}onError(a,t){var n;t.details===ce.BUFFER_STALLED_ERROR&&(this.stallCount++,(n=this.levelDetails)!=null&&n.live&&se.warn("[playback-rate-controller]: Stall detected, adjusting target latency"))}timeupdate(){const{media:a,levelDetails:t}=this;if(!a||!t)return;this.currentTime=a.currentTime;const n=this.computeLatency();if(n===null)return;this._latency=n;const{lowLatencyMode:i,maxLiveSyncPlaybackRate:r}=this.config;if(!i||r===1||!t.live)return;const s=this.targetLatency;if(s===null)return;const u=n-s,o=Math.min(this.maxLatency,s+t.targetduration);if(u<o&&u>.05&&this.forwardBufferLength>1){const g=Math.min(2,Math.max(1,r)),d=Math.round(2/(1+Math.exp(-.75*u-this.edgeStalled))*20)/20;a.playbackRate=Math.min(g,Math.max(1,d))}else a.playbackRate!==1&&a.playbackRate!==0&&(a.playbackRate=1)}estimateLiveEdge(){const{levelDetails:a}=this;return a===null?null:a.edge+a.age}computeLatency(){const a=this.estimateLiveEdge();return a===null?null:a-this.currentTime}}const a3=["NONE","TYPE-0","TYPE-1",null];function nDe(e){return a3.indexOf(e)>-1}const Xm=["SDR","PQ","HLG"];function iDe(e){return!!e&&Xm.indexOf(e)>-1}var X2={No:"",Yes:"YES",v2:"v2"};function C_(e){const{canSkipUntil:a,canSkipDateRanges:t,age:n}=e,i=n<a/2;return a&&i?t?X2.v2:X2.Yes:X2.No}class w_{constructor(a,t,n){this.msn=void 0,this.part=void 0,this.skip=void 0,this.msn=a,this.part=t,this.skip=n}addDirectives(a){const t=new self.URL(a);return this.msn!==void 0&&t.searchParams.set("_HLS_msn",this.msn.toString()),this.part!==void 0&&t.searchParams.set("_HLS_part",this.part.toString()),this.skip&&t.searchParams.set("_HLS_skip",this.skip),t.href}}class td{constructor(a){this._attrs=void 0,this.audioCodec=void 0,this.bitrate=void 0,this.codecSet=void 0,this.url=void 0,this.frameRate=void 0,this.height=void 0,this.id=void 0,this.name=void 0,this.videoCodec=void 0,this.width=void 0,this.details=void 0,this.fragmentError=0,this.loadError=0,this.loaded=void 0,this.realBitrate=0,this.supportedPromise=void 0,this.supportedResult=void 0,this._avgBitrate=0,this._audioGroups=void 0,this._subtitleGroups=void 0,this._urlId=0,this.url=[a.url],this._attrs=[a.attrs],this.bitrate=a.bitrate,a.details&&(this.details=a.details),this.id=a.id||0,this.name=a.name,this.width=a.width||0,this.height=a.height||0,this.frameRate=a.attrs.optionalFloat("FRAME-RATE",0),this._avgBitrate=a.attrs.decimalInteger("AVERAGE-BANDWIDTH"),this.audioCodec=a.audioCodec,this.videoCodec=a.videoCodec,this.codecSet=[a.videoCodec,a.audioCodec].filter(t=>!!t).map(t=>t.substring(0,4)).join(","),this.addGroupId("audio",a.attrs.AUDIO),this.addGroupId("text",a.attrs.SUBTITLES)}get maxBitrate(){return Math.max(this.realBitrate,this.bitrate)}get averageBitrate(){return this._avgBitrate||this.realBitrate||this.bitrate}get attrs(){return this._attrs[0]}get codecs(){return this.attrs.CODECS||""}get pathwayId(){return this.attrs["PATHWAY-ID"]||"."}get videoRange(){return this.attrs["VIDEO-RANGE"]||"SDR"}get score(){return this.attrs.optionalFloat("SCORE",0)}get uri(){return this.url[0]||""}hasAudioGroup(a){return __(this._audioGroups,a)}hasSubtitleGroup(a){return __(this._subtitleGroups,a)}get audioGroups(){return this._audioGroups}get subtitleGroups(){return this._subtitleGroups}addGroupId(a,t){if(t){if(a==="audio"){let n=this._audioGroups;n||(n=this._audioGroups=[]),n.indexOf(t)===-1&&n.push(t)}else if(a==="text"){let n=this._subtitleGroups;n||(n=this._subtitleGroups=[]),n.indexOf(t)===-1&&n.push(t)}}}get urlId(){return 0}set urlId(a){}get audioGroupIds(){return this.audioGroups?[this.audioGroupId]:void 0}get textGroupIds(){return this.subtitleGroups?[this.textGroupId]:void 0}get audioGroupId(){var a;return(a=this.audioGroups)==null?void 0:a[0]}get textGroupId(){var a;return(a=this.subtitleGroups)==null?void 0:a[0]}addFallback(){}}function __(e,a){return!a||!e?!1:e.indexOf(a)!==-1}function QT(e,a){const t=a.startPTS;if($e(t)){let n=0,i;a.sn>e.sn?(n=t-e.start,i=e):(n=e.start-t,i=a),i.duration!==n&&(i.duration=n)}else a.sn>e.sn?e.cc===a.cc&&e.minEndPTS?a.start=e.start+(e.minEndPTS-e.start):a.start=e.start+e.duration:a.start=Math.max(e.start-a.duration,0)}function fj(e,a,t,n,i,r){n-t<=0&&(se.warn("Fragment should have a positive duration",a),n=t+a.duration,r=i+a.duration);let u=t,o=n;const l=a.startPTS,g=a.endPTS;if($e(l)){const y=Math.abs(l-t);$e(a.deltaPTS)?a.deltaPTS=Math.max(y,a.deltaPTS):a.deltaPTS=y,u=Math.max(t,l),t=Math.min(t,l),i=Math.min(i,a.startDTS),o=Math.min(n,g),n=Math.max(n,g),r=Math.max(r,a.endDTS)}const d=t-a.start;a.start!==0&&(a.start=t),a.duration=n-a.start,a.startPTS=t,a.maxStartPTS=u,a.startDTS=i,a.endPTS=n,a.minEndPTS=o,a.endDTS=r;const c=a.sn;if(!e||c<e.startSN||c>e.endSN)return 0;let p;const f=c-e.startSN,h=e.fragments;for(h[f]=a,p=f;p>0;p--)QT(h[p],h[p-1]);for(p=f;p<h.length-1;p++)QT(h[p],h[p+1]);return e.fragmentHint&&QT(h[h.length-1],e.fragmentHint),e.PTSKnown=e.alignedSliding=!0,d}function rDe(e,a){let t=null;const n=e.fragments;for(let o=n.length-1;o>=0;o--){const l=n[o].initSegment;if(l){t=l;break}}e.fragmentHint&&delete e.fragmentHint.endPTS;let i=0,r;if(oDe(e,a,(o,l)=>{o.relurl&&(i=o.cc-l.cc),$e(o.startPTS)&&$e(o.endPTS)&&(l.start=l.startPTS=o.startPTS,l.startDTS=o.startDTS,l.maxStartPTS=o.maxStartPTS,l.endPTS=o.endPTS,l.endDTS=o.endDTS,l.minEndPTS=o.minEndPTS,l.duration=o.endPTS-o.startPTS,l.duration&&(r=l),a.PTSKnown=a.alignedSliding=!0),l.elementaryStreams=o.elementaryStreams,l.loader=o.loader,l.stats=o.stats,o.initSegment&&(l.initSegment=o.initSegment,t=o.initSegment)}),t&&(a.fragmentHint?a.fragments.concat(a.fragmentHint):a.fragments).forEach(l=>{var g;l&&(!l.initSegment||l.initSegment.relurl===((g=t)==null?void 0:g.relurl))&&(l.initSegment=t)}),a.skippedSegments)if(a.deltaUpdateFailed=a.fragments.some(o=>!o),a.deltaUpdateFailed){se.warn("[level-helper] Previous playlist missing segments skipped in delta playlist");for(let o=a.skippedSegments;o--;)a.fragments.shift();a.startSN=a.fragments[0].sn,a.startCC=a.fragments[0].cc}else a.canSkipDateRanges&&(a.dateRanges=sDe(e.dateRanges,a.dateRanges,a.recentlyRemovedDateranges));const s=a.fragments;if(i){se.warn("discontinuity sliding from playlist, take drift into account");for(let o=0;o<s.length;o++)s[o].cc+=i}a.skippedSegments&&(a.startCC=a.fragments[0].cc),uDe(e.partList,a.partList,(o,l)=>{l.elementaryStreams=o.elementaryStreams,l.stats=o.stats}),r?fj(a,r,r.startPTS,r.endPTS,r.startDTS,r.endDTS):hj(e,a),s.length&&(a.totalduration=a.edge-s[0].start),a.driftStartTime=e.driftStartTime,a.driftStart=e.driftStart;const u=a.advancedDateTime;if(a.advanced&&u){const o=a.edge;a.driftStart||(a.driftStartTime=u,a.driftStart=o),a.driftEndTime=u,a.driftEnd=o}else a.driftEndTime=e.driftEndTime,a.driftEnd=e.driftEnd,a.advancedDateTime=e.advancedDateTime}function sDe(e,a,t){const n=Rt({},e);return t&&t.forEach(i=>{delete n[i]}),Object.keys(a).forEach(i=>{const r=new QU(a[i].attr,n[i]);r.isValid?n[i]=r:se.warn(`Ignoring invalid Playlist Delta Update DATERANGE tag: "${JSON.stringify(a[i].attr)}"`)}),n}function uDe(e,a,t){if(e&&a){let n=0;for(let i=0,r=e.length;i<=r;i++){const s=e[i],u=a[i+n];s&&u&&s.index===u.index&&s.fragment.sn===u.fragment.sn?t(s,u):n--}}}function oDe(e,a,t){const n=a.skippedSegments,i=Math.max(e.startSN,a.startSN)-a.startSN,r=(e.fragmentHint?1:0)+(n?a.endSN:Math.min(e.endSN,a.endSN))-a.startSN,s=a.startSN-e.startSN,u=a.fragmentHint?a.fragments.concat(a.fragmentHint):a.fragments,o=e.fragmentHint?e.fragments.concat(e.fragmentHint):e.fragments;for(let l=i;l<=r;l++){const g=o[s+l];let d=u[l];n&&!d&&l<n&&(d=a.fragments[l]=g),g&&d&&t(g,d)}}function hj(e,a){const t=a.startSN+a.skippedSegments-e.startSN,n=e.fragments;t<0||t>=n.length||t3(a,n[t].start)}function t3(e,a){if(a){const t=e.fragments;for(let n=e.skippedSegments;n<t.length;n++)t[n].start+=a;e.fragmentHint&&(e.fragmentHint.start+=a)}}function lDe(e,a=1/0){let t=1e3*e.targetduration;if(e.updated){const n=e.fragments;if(n.length&&t*4>a){const r=n[n.length-1].duration*1e3;r<t&&(t=r)}}else t/=2;return Math.round(t)}function gDe(e,a,t){if(!(e!=null&&e.details))return null;const n=e.details;let i=n.fragments[a-n.startSN];return i||(i=n.fragmentHint,i&&i.sn===a)?i:a<n.startSN&&t&&t.sn===a?t:null}function I_(e,a,t){var n;return e!=null&&e.details?mj((n=e.details)==null?void 0:n.partList,a,t):null}function mj(e,a,t){if(e)for(let n=e.length;n--;){const i=e[n];if(i.index===t&&i.fragment.sn===a)return i}return null}function yj(e){e.forEach((a,t)=>{const{details:n}=a;n!=null&&n.fragments&&n.fragments.forEach(i=>{i.level=t})})}function Qm(e){switch(e.details){case ce.FRAG_LOAD_TIMEOUT:case ce.KEY_LOAD_TIMEOUT:case ce.LEVEL_LOAD_TIMEOUT:case ce.MANIFEST_LOAD_TIMEOUT:return!0}return!1}function N_(e,a){const t=Qm(a);return e.default[`${t?"timeout":"error"}Retry`]}function ox(e,a){const t=e.backoff==="linear"?1:Math.pow(2,a);return Math.min(t*e.retryDelayMs,e.maxRetryDelayMs)}function L_(e){return en(en({},e),{errorRetry:null,timeoutRetry:null})}function Zm(e,a,t,n){if(!e)return!1;const i=n==null?void 0:n.code,r=a<e.maxNumRetry&&(dDe(i)||!!t);return e.shouldRetry?e.shouldRetry(e,a,t,n,r):r}function dDe(e){return e===0&&navigator.onLine===!1||!!e&&(e<400||e>499)}const bj={search:function(e,a){let t=0,n=e.length-1,i=null,r=null;for(;t<=n;){i=(t+n)/2|0,r=e[i];const s=a(r);if(s>0)t=i+1;else if(s<0)n=i-1;else return r}return null}};function cDe(e,a,t){if(a===null||!Array.isArray(e)||!e.length||!$e(a))return null;const n=e[0].programDateTime;if(a<(n||0))return null;const i=e[e.length-1].endProgramDateTime;if(a>=(i||0))return null;t=t||0;for(let r=0;r<e.length;++r){const s=e[r];if(fDe(a,t,s))return s}return null}function Jm(e,a,t=0,n=0,i=.005){let r=null;if(e){r=a[e.sn-a[0].sn+1]||null;const u=e.endDTS-t;u>0&&u<15e-7&&(t+=15e-7)}else t===0&&a[0].start===0&&(r=a[0]);if(r&&((!e||e.level===r.level)&&n3(t,n,r)===0||pDe(r,e,Math.min(i,n))))return r;const s=bj.search(a,n3.bind(null,t,n));return s&&(s!==e||!r)?s:r}function pDe(e,a,t){if(a&&a.start===0&&a.level<e.level&&(a.endPTS||0)>0){const n=a.tagList.reduce((i,r)=>(r[0]==="INF"&&(i+=parseFloat(r[1])),i),t);return e.start<=n}return!1}function n3(e=0,a=0,t){if(t.start<=e&&t.start+t.duration>e)return 0;const n=Math.min(a,t.duration+(t.deltaPTS?t.deltaPTS:0));return t.start+t.duration-n<=e?1:t.start-n>e&&t.start?-1:0}function fDe(e,a,t){const n=Math.min(a,t.duration+(t.deltaPTS?t.deltaPTS:0))*1e3;return(t.endProgramDateTime||0)-n>e}function hDe(e,a){return bj.search(e,t=>t.cc<a?1:t.cc>a?-1:0)}var pn={DoNothing:0,SendEndCallback:1,SendAlternateToPenaltyBox:2,RemoveAlternatePermanently:3,InsertDiscontinuity:4,RetryRequest:5},dr={None:0,MoveAllAlternatesMatchingHost:1,MoveAllAlternatesMatchingHDCP:2,SwitchToSDR:4};class mDe{constructor(a){this.hls=void 0,this.playlistError=0,this.penalizedRenditions={},this.log=void 0,this.warn=void 0,this.error=void 0,this.hls=a,this.log=se.log.bind(se,"[info]:"),this.warn=se.warn.bind(se,"[warning]:"),this.error=se.error.bind(se,"[error]:"),this.registerListeners()}registerListeners(){const a=this.hls;a.on(O.ERROR,this.onError,this),a.on(O.MANIFEST_LOADING,this.onManifestLoading,this),a.on(O.LEVEL_UPDATED,this.onLevelUpdated,this)}unregisterListeners(){const a=this.hls;a&&(a.off(O.ERROR,this.onError,this),a.off(O.ERROR,this.onErrorOut,this),a.off(O.MANIFEST_LOADING,this.onManifestLoading,this),a.off(O.LEVEL_UPDATED,this.onLevelUpdated,this))}destroy(){this.unregisterListeners(),this.hls=null,this.penalizedRenditions={}}startLoad(a){}stopLoad(){this.playlistError=0}getVariantLevelIndex(a){return(a==null?void 0:a.type)===ea.MAIN?a.level:this.hls.loadLevel}onManifestLoading(){this.playlistError=0,this.penalizedRenditions={}}onLevelUpdated(){this.playlistError=0}onError(a,t){var n,i;if(t.fatal)return;const r=this.hls,s=t.context;switch(t.details){case ce.FRAG_LOAD_ERROR:case ce.FRAG_LOAD_TIMEOUT:case ce.KEY_LOAD_ERROR:case ce.KEY_LOAD_TIMEOUT:t.errorAction=this.getFragRetryOrSwitchAction(t);return;case ce.FRAG_PARSING_ERROR:if((n=t.frag)!=null&&n.gap){t.errorAction={action:pn.DoNothing,flags:dr.None};return}case ce.FRAG_GAP:case ce.FRAG_DECRYPT_ERROR:{t.errorAction=this.getFragRetryOrSwitchAction(t),t.errorAction.action=pn.SendAlternateToPenaltyBox;return}case ce.LEVEL_EMPTY_ERROR:case ce.LEVEL_PARSING_ERROR:{var u,o;const l=t.parent===ea.MAIN?t.level:r.loadLevel;t.details===ce.LEVEL_EMPTY_ERROR&&((u=t.context)!=null&&(o=u.levelDetails)!=null&&o.live)?t.errorAction=this.getPlaylistRetryOrSwitchAction(t,l):(t.levelRetry=!1,t.errorAction=this.getLevelSwitchAction(t,l))}return;case ce.LEVEL_LOAD_ERROR:case ce.LEVEL_LOAD_TIMEOUT:typeof(s==null?void 0:s.level)=="number"&&(t.errorAction=this.getPlaylistRetryOrSwitchAction(t,s.level));return;case ce.AUDIO_TRACK_LOAD_ERROR:case ce.AUDIO_TRACK_LOAD_TIMEOUT:case ce.SUBTITLE_LOAD_ERROR:case ce.SUBTITLE_TRACK_LOAD_TIMEOUT:if(s){const l=r.levels[r.loadLevel];if(l&&(s.type===wa.AUDIO_TRACK&&l.hasAudioGroup(s.groupId)||s.type===wa.SUBTITLE_TRACK&&l.hasSubtitleGroup(s.groupId))){t.errorAction=this.getPlaylistRetryOrSwitchAction(t,r.loadLevel),t.errorAction.action=pn.SendAlternateToPenaltyBox,t.errorAction.flags=dr.MoveAllAlternatesMatchingHost;return}}return;case ce.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:{const l=r.levels[r.loadLevel],g=l==null?void 0:l.attrs["HDCP-LEVEL"];g?t.errorAction={action:pn.SendAlternateToPenaltyBox,flags:dr.MoveAllAlternatesMatchingHDCP,hdcpLevel:g}:this.keySystemError(t)}return;case ce.BUFFER_ADD_CODEC_ERROR:case ce.REMUX_ALLOC_ERROR:case ce.BUFFER_APPEND_ERROR:t.errorAction=this.getLevelSwitchAction(t,(i=t.level)!=null?i:r.loadLevel);return;case ce.INTERNAL_EXCEPTION:case ce.BUFFER_APPENDING_ERROR:case ce.BUFFER_FULL_ERROR:case ce.LEVEL_SWITCH_ERROR:case ce.BUFFER_STALLED_ERROR:case ce.BUFFER_SEEK_OVER_HOLE:case ce.BUFFER_NUDGE_ON_STALL:t.errorAction={action:pn.DoNothing,flags:dr.None};return}t.type===na.KEY_SYSTEM_ERROR&&this.keySystemError(t)}keySystemError(a){const t=this.getVariantLevelIndex(a.frag);a.levelRetry=!1,a.errorAction=this.getLevelSwitchAction(a,t)}getPlaylistRetryOrSwitchAction(a,t){const n=this.hls,i=N_(n.config.playlistLoadPolicy,a),r=this.playlistError++;if(Zm(i,r,Qm(a),a.response))return{action:pn.RetryRequest,flags:dr.None,retryConfig:i,retryCount:r};const u=this.getLevelSwitchAction(a,t);return i&&(u.retryConfig=i,u.retryCount=r),u}getFragRetryOrSwitchAction(a){const t=this.hls,n=this.getVariantLevelIndex(a.frag),i=t.levels[n],{fragLoadPolicy:r,keyLoadPolicy:s}=t.config,u=N_(a.details.startsWith("key")?s:r,a),o=t.levels.reduce((g,d)=>g+d.fragmentError,0);if(i&&(a.details!==ce.FRAG_GAP&&i.fragmentError++,Zm(u,o,Qm(a),a.response)))return{action:pn.RetryRequest,flags:dr.None,retryConfig:u,retryCount:o};const l=this.getLevelSwitchAction(a,n);return u&&(l.retryConfig=u,l.retryCount=o),l}getLevelSwitchAction(a,t){const n=this.hls;t==null&&(t=n.loadLevel);const i=this.hls.levels[t];if(i){var r,s;const l=a.details;i.loadError++,l===ce.BUFFER_APPEND_ERROR&&i.fragmentError++;let g=-1;const{levels:d,loadLevel:c,minAutoLevel:p,maxAutoLevel:f}=n;n.autoLevelEnabled||(n.loadLevel=-1);const h=(r=a.frag)==null?void 0:r.type,b=(h===ea.AUDIO&&l===ce.FRAG_PARSING_ERROR||a.sourceBufferName==="audio"&&(l===ce.BUFFER_ADD_CODEC_ERROR||l===ce.BUFFER_APPEND_ERROR))&&d.some(({audioCodec:D})=>i.audioCodec!==D),T=a.sourceBufferName==="video"&&(l===ce.BUFFER_ADD_CODEC_ERROR||l===ce.BUFFER_APPEND_ERROR)&&d.some(({codecSet:D,audioCodec:k})=>i.codecSet!==D&&i.audioCodec===k),{type:A,groupId:v}=(s=a.context)!=null?s:{};for(let D=d.length;D--;){const k=(D+c)%d.length;if(k!==c&&k>=p&&k<=f&&d[k].loadError===0){var u,o;const N=d[k];if(l===ce.FRAG_GAP&&h===ea.MAIN&&a.frag){const q=d[k].details;if(q){const R=Jm(a.frag,q.fragments,a.frag.start);if(R!=null&&R.gap)continue}}else{if(A===wa.AUDIO_TRACK&&N.hasAudioGroup(v)||A===wa.SUBTITLE_TRACK&&N.hasSubtitleGroup(v))continue;if(h===ea.AUDIO&&(u=i.audioGroups)!=null&&u.some(q=>N.hasAudioGroup(q))||h===ea.SUBTITLE&&(o=i.subtitleGroups)!=null&&o.some(q=>N.hasSubtitleGroup(q))||b&&i.audioCodec===N.audioCodec||!b&&i.audioCodec!==N.audioCodec||T&&i.codecSet===N.codecSet)continue}g=k;break}}if(g>-1&&n.loadLevel!==g)return a.levelRetry=!0,this.playlistError=0,{action:pn.SendAlternateToPenaltyBox,flags:dr.None,nextAutoLevel:g}}return{action:pn.SendAlternateToPenaltyBox,flags:dr.MoveAllAlternatesMatchingHost}}onErrorOut(a,t){var n;switch((n=t.errorAction)==null?void 0:n.action){case pn.DoNothing:break;case pn.SendAlternateToPenaltyBox:this.sendAlternateToPenaltyBox(t),!t.errorAction.resolved&&t.details!==ce.FRAG_GAP?t.fatal=!0:/MediaSource readyState: ended/.test(t.error.message)&&(this.warn(`MediaSource ended after "${t.sourceBufferName}" sourceBuffer append error. Attempting to recover from media error.`),this.hls.recoverMediaError());break}if(t.fatal){this.hls.stopLoad();return}}sendAlternateToPenaltyBox(a){const t=this.hls,n=a.errorAction;if(!n)return;const{flags:i,hdcpLevel:r,nextAutoLevel:s}=n;switch(i){case dr.None:this.switchLevel(a,s);break;case dr.MoveAllAlternatesMatchingHDCP:r&&(t.maxHdcpLevel=a3[a3.indexOf(r)-1],n.resolved=!0),this.warn(`Restricting playback to HDCP-LEVEL of "${t.maxHdcpLevel}" or lower`);break}n.resolved||this.switchLevel(a,s)}switchLevel(a,t){t!==void 0&&a.errorAction&&(this.warn(`switching to level ${t} after ${a.details}`),this.hls.nextAutoLevel=t,a.errorAction.resolved=!0,this.hls.nextLoadLevel=this.hls.nextAutoLevel)}}class lx{constructor(a,t){this.hls=void 0,this.timer=-1,this.requestScheduled=-1,this.canLoad=!1,this.log=void 0,this.warn=void 0,this.log=se.log.bind(se,`${t}:`),this.warn=se.warn.bind(se,`${t}:`),this.hls=a}destroy(){this.clearTimer(),this.hls=this.log=this.warn=null}clearTimer(){this.timer!==-1&&(self.clearTimeout(this.timer),this.timer=-1)}startLoad(){this.canLoad=!0,this.requestScheduled=-1,this.loadPlaylist()}stopLoad(){this.canLoad=!1,this.clearTimer()}switchParams(a,t,n){const i=t==null?void 0:t.renditionReports;if(i){let r=-1;for(let s=0;s<i.length;s++){const u=i[s];let o;try{o=new self.URL(u.URI,t.url).href}catch(l){se.warn(`Could not construct new URL for Rendition Report: ${l}`),o=u.URI||""}if(o===a){r=s;break}else o===a.substring(0,o.length)&&(r=s)}if(r!==-1){const s=i[r],u=parseInt(s["LAST-MSN"])||(t==null?void 0:t.lastPartSn);let o=parseInt(s["LAST-PART"])||(t==null?void 0:t.lastPartIndex);if(this.hls.config.lowLatencyMode){const g=Math.min(t.age-t.partTarget,t.targetduration);o>=0&&g>t.partTarget&&(o+=1)}const l=n&&C_(n);return new w_(u,o>=0?o:void 0,l)}}}loadPlaylist(a){this.requestScheduled===-1&&(this.requestScheduled=self.performance.now())}shouldLoadPlaylist(a){return this.canLoad&&!!a&&!!a.url&&(!a.details||a.details.live)}shouldReloadPlaylist(a){return this.timer===-1&&this.requestScheduled===-1&&this.shouldLoadPlaylist(a)}playlistLoaded(a,t,n){const{details:i,stats:r}=t,s=self.performance.now(),u=r.loading.first?Math.max(0,s-r.loading.first):0;if(i.advancedDateTime=Date.now()-u,i.live||n!=null&&n.live){if(i.reloaded(n),n&&this.log(`live playlist ${a} ${i.advanced?"REFRESHED "+i.lastPartSn+"-"+i.lastPartIndex:i.updated?"UPDATED":"MISSED"}`),n&&i.fragments.length>0&&rDe(n,i),!this.canLoad||!i.live)return;let o,l,g;if(i.canBlockReload&&i.endSN&&i.advanced){const y=this.hls.config.lowLatencyMode,b=i.lastPartSn,m=i.endSN,T=i.lastPartIndex,A=T!==-1,v=b===m,D=y?0:T;A?(l=v?m+1:b,g=v?D:T+1):l=m+1;const k=i.age,N=k+i.ageHeader;let q=Math.min(N-i.partTarget,i.targetduration*1.5);if(q>0){if(n&&q>n.tuneInGoal)this.warn(`CDN Tune-in goal increased from: ${n.tuneInGoal} to: ${q} with playlist age: ${i.age}`),q=0;else{const R=Math.floor(q/i.targetduration);if(l+=R,g!==void 0){const z=Math.round(q%i.targetduration/i.partTarget);g+=z}this.log(`CDN Tune-in age: ${i.ageHeader}s last advanced ${k.toFixed(2)}s goal: ${q} skip sn ${R} to part ${g}`)}i.tuneInGoal=q}if(o=this.getDeliveryDirectives(i,t.deliveryDirectives,l,g),y||!v){this.loadPlaylist(o);return}}else(i.canBlockReload||i.canSkipUntil)&&(o=this.getDeliveryDirectives(i,t.deliveryDirectives,l,g));const d=this.hls.mainForwardBufferInfo,c=d?d.end-d.len:0,p=(i.edge-c)*1e3,f=lDe(i,p);i.updated&&s>this.requestScheduled+f&&(this.requestScheduled=r.loading.start),l!==void 0&&i.canBlockReload?this.requestScheduled=r.loading.first+f-(i.partTarget*1e3||1e3):this.requestScheduled===-1||this.requestScheduled+f<s?this.requestScheduled=s:this.requestScheduled-s<=0&&(this.requestScheduled+=f);let h=this.requestScheduled-s;h=Math.max(0,h),this.log(`reload live playlist ${a} in ${Math.round(h)} ms`),this.timer=self.setTimeout(()=>this.loadPlaylist(o),h)}else this.clearTimer()}getDeliveryDirectives(a,t,n,i){let r=C_(a);return t!=null&&t.skip&&a.deltaUpdateFailed&&(n=t.msn,i=t.part,r=X2.No),new w_(n,i,r)}checkRetry(a){const t=a.details,n=Qm(a),i=a.errorAction,{action:r,retryCount:s=0,retryConfig:u}=i||{},o=!!i&&!!u&&(r===pn.RetryRequest||!i.resolved&&r===pn.SendAlternateToPenaltyBox);if(o){var l;if(this.requestScheduled=-1,s>=u.maxNumRetry)return!1;if(n&&(l=a.context)!=null&&l.deliveryDirectives)this.warn(`Retrying playlist loading ${s+1}/${u.maxNumRetry} after "${t}" without delivery-directives`),this.loadPlaylist();else{const g=ox(u,s);this.timer=self.setTimeout(()=>this.loadPlaylist(),g),this.warn(`Retrying playlist loading ${s+1}/${u.maxNumRetry} after "${t}" in ${g}ms`)}a.levelRetry=!0,i.resolved=!0}return o}}class Ul{constructor(a,t=0,n=0){this.halfLife=void 0,this.alpha_=void 0,this.estimate_=void 0,this.totalWeight_=void 0,this.halfLife=a,this.alpha_=a?Math.exp(Math.log(.5)/a):0,this.estimate_=t,this.totalWeight_=n}sample(a,t){const n=Math.pow(this.alpha_,a);this.estimate_=t*(1-n)+n*this.estimate_,this.totalWeight_+=a}getTotalWeight(){return this.totalWeight_}getEstimate(){if(this.alpha_){const a=1-Math.pow(this.alpha_,this.totalWeight_);if(a)return this.estimate_/a}return this.estimate_}}class yDe{constructor(a,t,n,i=100){this.defaultEstimate_=void 0,this.minWeight_=void 0,this.minDelayMs_=void 0,this.slow_=void 0,this.fast_=void 0,this.defaultTTFB_=void 0,this.ttfb_=void 0,this.defaultEstimate_=n,this.minWeight_=.001,this.minDelayMs_=50,this.slow_=new Ul(a),this.fast_=new Ul(t),this.defaultTTFB_=i,this.ttfb_=new Ul(a)}update(a,t){const{slow_:n,fast_:i,ttfb_:r}=this;n.halfLife!==a&&(this.slow_=new Ul(a,n.getEstimate(),n.getTotalWeight())),i.halfLife!==t&&(this.fast_=new Ul(t,i.getEstimate(),i.getTotalWeight())),r.halfLife!==a&&(this.ttfb_=new Ul(a,r.getEstimate(),r.getTotalWeight()))}sample(a,t){a=Math.max(a,this.minDelayMs_);const n=8*t,i=a/1e3,r=n/i;this.fast_.sample(i,r),this.slow_.sample(i,r)}sampleTTFB(a){const t=a/1e3,n=Math.sqrt(2)*Math.exp(-Math.pow(t,2)/2);this.ttfb_.sample(n,Math.max(a,5))}canEstimate(){return this.fast_.getTotalWeight()>=this.minWeight_}getEstimate(){return this.canEstimate()?Math.min(this.fast_.getEstimate(),this.slow_.getEstimate()):this.defaultEstimate_}getEstimateTTFB(){return this.ttfb_.getTotalWeight()>=this.minWeight_?this.ttfb_.getEstimate():this.defaultTTFB_}destroy(){}}const Tj={supported:!0,configurations:[],decodingInfoResults:[{supported:!0,powerEfficient:!0,smooth:!0}]},R_={};function bDe(e,a,t,n,i,r){const s=e.audioCodec?e.audioGroups:null,u=r==null?void 0:r.audioCodec,o=r==null?void 0:r.channels,l=o?parseInt(o):u?1/0:2;let g=null;if(s!=null&&s.length)try{s.length===1&&s[0]?g=a.groups[s[0]].channels:g=s.reduce((d,c)=>{if(c){const p=a.groups[c];if(!p)throw new Error(`Audio track group ${c} not found`);Object.keys(p.channels).forEach(f=>{d[f]=(d[f]||0)+p.channels[f]})}return d},{2:0})}catch{return!0}return e.videoCodec!==void 0&&(e.width>1920&&e.height>1088||e.height>1920&&e.width>1088||e.frameRate>Math.max(n,30)||e.videoRange!=="SDR"&&e.videoRange!==t||e.bitrate>Math.max(i,8e6))||!!g&&$e(l)&&Object.keys(g).some(d=>parseInt(d)>l)}function TDe(e,a,t){const n=e.videoCodec,i=e.audioCodec;if(!n||!i||!t)return Promise.resolve(Tj);const r={width:e.width,height:e.height,bitrate:Math.ceil(Math.max(e.bitrate*.9,e.averageBitrate)),framerate:e.frameRate||30},s=e.videoRange;s!=="SDR"&&(r.transferFunction=s.toLowerCase());const u=n.split(",").map(o=>({type:"media-source",video:en(en({},r),{},{contentType:Xc(o,"video")})}));return i&&e.audioGroups&&e.audioGroups.forEach(o=>{var l;o&&((l=a.groups[o])==null||l.tracks.forEach(g=>{if(g.groupId===o){const d=g.channels||"",c=parseFloat(d);$e(c)&&c>2&&u.push.apply(u,i.split(",").map(p=>({type:"media-source",audio:{contentType:Xc(p,"audio"),channels:""+c}})))}}))}),Promise.all(u.map(o=>{const l=SDe(o);return R_[l]||(R_[l]=t.decodingInfo(o))})).then(o=>({supported:!o.some(l=>!l.supported),configurations:u,decodingInfoResults:o})).catch(o=>({supported:!1,configurations:u,decodingInfoResults:[],error:o}))}function SDe(e){const{audio:a,video:t}=e,n=t||a;if(n){const i=n.contentType.split('"')[1];if(t)return`r${t.height}x${t.width}f${Math.ceil(t.framerate)}${t.transferFunction||"sd"}_${i}_${Math.ceil(t.bitrate/1e5)}`;if(a)return`c${a.channels}${a.spatialRendering?"s":"n"}_${i}`}return""}function ADe(){if(typeof matchMedia=="function"){const e=matchMedia("(dynamic-range: high)"),a=matchMedia("bad query");if(e.media!==a.media)return e.matches===!0}return!1}function vDe(e,a){let t=!1,n=[];return e&&(t=e!=="SDR",n=[e]),a&&(n=a.allowedVideoRanges||Xm.slice(0),t=a.preferHDR!==void 0?a.preferHDR:ADe(),t?n=n.filter(i=>i!=="SDR"):n=["SDR"]),{preferHDR:t,allowedVideoRanges:n}}function DDe(e,a,t,n,i){const r=Object.keys(e),s=n==null?void 0:n.channels,u=n==null?void 0:n.audioCodec,o=s&&parseInt(s)===2;let l=!0,g=!1,d=1/0,c=1/0,p=1/0,f=0,h=[];const{preferHDR:y,allowedVideoRanges:b}=vDe(a,i);for(let v=r.length;v--;){const D=e[r[v]];l=D.channels[2]>0,d=Math.min(d,D.minHeight),c=Math.min(c,D.minFramerate),p=Math.min(p,D.minBitrate);const k=b.filter(N=>D.videoRanges[N]>0);k.length>0&&(g=!0,h=k)}d=$e(d)?d:0,c=$e(c)?c:0;const m=Math.max(1080,d),T=Math.max(30,c);return p=$e(p)?p:t,t=Math.max(p,t),g||(a=void 0,h=[]),{codecSet:r.reduce((v,D)=>{const k=e[D];if(D===v)return v;if(k.minBitrate>t)return ks(D,`min bitrate of ${k.minBitrate} > current estimate of ${t}`),v;if(!k.hasDefaultAudio)return ks(D,"no renditions with default or auto-select sound found"),v;if(u&&D.indexOf(u.substring(0,4))%5!==0)return ks(D,`audio codec preference "${u}" not found`),v;if(s&&!o){if(!k.channels[s])return ks(D,`no renditions with ${s} channel sound found (channels options: ${Object.keys(k.channels)})`),v}else if((!u||o)&&l&&k.channels[2]===0)return ks(D,"no renditions with stereo sound found"),v;return k.minHeight>m?(ks(D,`min resolution of ${k.minHeight} > maximum of ${m}`),v):k.minFramerate>T?(ks(D,`min framerate of ${k.minFramerate} > maximum of ${T}`),v):h.some(N=>k.videoRanges[N]>0)?k.maxScore<f?(ks(D,`max score of ${k.maxScore} < selected max of ${f}`),v):v&&(Wm(D)>=Wm(v)||k.fragmentError>e[v].fragmentError)?v:(f=k.maxScore,D):(ks(D,`no variants with VIDEO-RANGE of ${JSON.stringify(h)} found`),v)},void 0),videoRanges:h,preferHDR:y,minFramerate:c,minBitrate:p}}function ks(e,a){se.log(`[abr] start candidates with "${e}" ignored because ${a}`)}function xDe(e){return e.reduce((a,t)=>{let n=a.groups[t.groupId];n||(n=a.groups[t.groupId]={tracks:[],channels:{2:0},hasDefault:!1,hasAutoSelect:!1}),n.tracks.push(t);const i=t.channels||"2";return n.channels[i]=(n.channels[i]||0)+1,n.hasDefault=n.hasDefault||t.default,n.hasAutoSelect=n.hasAutoSelect||t.autoselect,n.hasDefault&&(a.hasDefaultAudio=!0),n.hasAutoSelect&&(a.hasAutoSelectAudio=!0),a},{hasDefaultAudio:!1,hasAutoSelectAudio:!1,groups:{}})}function EDe(e,a,t,n){return e.slice(t,n+1).reduce((i,r)=>{if(!r.codecSet)return i;const s=r.audioGroups;let u=i[r.codecSet];u||(i[r.codecSet]=u={minBitrate:1/0,minHeight:1/0,minFramerate:1/0,maxScore:0,videoRanges:{SDR:0},channels:{2:0},hasDefaultAudio:!s,fragmentError:0}),u.minBitrate=Math.min(u.minBitrate,r.bitrate);const o=Math.min(r.height,r.width);return u.minHeight=Math.min(u.minHeight,o),u.minFramerate=Math.min(u.minFramerate,r.frameRate),u.maxScore=Math.max(u.maxScore,r.score),u.fragmentError+=r.fragmentError,u.videoRanges[r.videoRange]=(u.videoRanges[r.videoRange]||0)+1,s&&s.forEach(l=>{if(!l)return;const g=a.groups[l];g&&(u.hasDefaultAudio=u.hasDefaultAudio||a.hasDefaultAudio?g.hasDefault:g.hasAutoSelect||!a.hasDefaultAudio&&!a.hasAutoSelectAudio,Object.keys(g.channels).forEach(d=>{u.channels[d]=(u.channels[d]||0)+g.channels[d]}))}),i},{})}function ss(e,a,t){if("attrs"in e){const n=a.indexOf(e);if(n!==-1)return n}for(let n=0;n<a.length;n++){const i=a[n];if(Ig(e,i,t))return n}return-1}function Ig(e,a,t){const{groupId:n,name:i,lang:r,assocLang:s,characteristics:u,default:o}=e,l=e.forced;return(n===void 0||a.groupId===n)&&(i===void 0||a.name===i)&&(r===void 0||a.lang===r)&&(r===void 0||a.assocLang===s)&&(o===void 0||a.default===o)&&(l===void 0||a.forced===l)&&(u===void 0||kDe(u,a.characteristics))&&(t===void 0||t(e,a))}function kDe(e,a=""){const t=e.split(","),n=a.split(",");return t.length===n.length&&!t.some(i=>n.indexOf(i)===-1)}function jl(e,a){const{audioCodec:t,channels:n}=e;return(t===void 0||(a.audioCodec||"").substring(0,4)===t.substring(0,4))&&(n===void 0||n===(a.channels||"2"))}function CDe(e,a,t,n,i){const r=a[n],u=a.reduce((c,p,f)=>{const h=p.uri;return(c[h]||(c[h]=[])).push(f),c},{})[r.uri];u.length>1&&(n=Math.max.apply(Math,u));const o=r.videoRange,l=r.frameRate,g=r.codecSet.substring(0,4),d=P_(a,n,c=>{if(c.videoRange!==o||c.frameRate!==l||c.codecSet.substring(0,4)!==g)return!1;const p=c.audioGroups,f=t.filter(h=>!p||p.indexOf(h.groupId)!==-1);return ss(e,f,i)>-1});return d>-1?d:P_(a,n,c=>{const p=c.audioGroups,f=t.filter(h=>!p||p.indexOf(h.groupId)!==-1);return ss(e,f,i)>-1})}function P_(e,a,t){for(let n=a;n;n--)if(t(e[n]))return n;for(let n=a+1;n<e.length;n++)if(t(e[n]))return n;return-1}class wDe{constructor(a){this.hls=void 0,this.lastLevelLoadSec=0,this.lastLoadedFragLevel=-1,this.firstSelection=-1,this._nextAutoLevel=-1,this.nextAutoLevelKey="",this.audioTracksByGroup=null,this.codecTiers=null,this.timer=-1,this.fragCurrent=null,this.partCurrent=null,this.bitrateTestDelay=0,this.bwEstimator=void 0,this._abandonRulesCheck=()=>{const{fragCurrent:t,partCurrent:n,hls:i}=this,{autoLevelEnabled:r,media:s}=i;if(!t||!s)return;const u=performance.now(),o=n?n.stats:t.stats,l=n?n.duration:t.duration,g=u-o.loading.start,d=i.minAutoLevel;if(o.aborted||o.loaded&&o.loaded===o.total||t.level<=d){this.clearTimer(),this._nextAutoLevel=-1;return}if(!r||s.paused||!s.playbackRate||!s.readyState)return;const c=i.mainForwardBufferInfo;if(c===null)return;const p=this.bwEstimator.getEstimateTTFB(),f=Math.abs(s.playbackRate);if(g<=Math.max(p,1e3*(l/(f*2))))return;const h=c.len/f,y=o.loading.first?o.loading.first-o.loading.start:-1,b=o.loaded&&y>-1,m=this.getBwEstimate(),T=i.levels,A=T[t.level],v=o.total||Math.max(o.loaded,Math.round(l*A.averageBitrate/8));let D=b?g-y:g;D<1&&b&&(D=Math.min(g,o.loaded*8/m));const k=b?o.loaded*1e3/D:0,N=k?(v-o.loaded)/k:v*8/m+p/1e3;if(N<=h)return;const q=k?k*8:m;let R=Number.POSITIVE_INFINITY,z;for(z=t.level-1;z>d;z--){const K=T[z].maxBitrate;if(R=this.getTimeToLoadFrag(p/1e3,q,l*K,!T[z].details),R<h)break}if(R>=N||R>l*10)return;i.nextLoadLevel=i.nextAutoLevel=z,b?this.bwEstimator.sample(g-Math.min(p,y),o.loaded):this.bwEstimator.sampleTTFB(g);const W=T[z].maxBitrate;this.getBwEstimate()*this.hls.config.abrBandWidthUpFactor>W&&this.resetEstimator(W),this.clearTimer(),se.warn(`[abr] Fragment ${t.sn}${n?" part "+n.index:""} of level ${t.level} is loading too slowly;
      Time to underbuffer: ${h.toFixed(3)} s
      Estimated load time for current fragment: ${N.toFixed(3)} s
      Estimated load time for down switch fragment: ${R.toFixed(3)} s
      TTFB estimate: ${y|0} ms
      Current BW estimate: ${$e(m)?m|0:"Unknown"} bps
      New BW estimate: ${this.getBwEstimate()|0} bps
      Switching to level ${z} @ ${W|0} bps`),i.trigger(O.FRAG_LOAD_EMERGENCY_ABORTED,{frag:t,part:n,stats:o})},this.hls=a,this.bwEstimator=this.initEstimator(),this.registerListeners()}resetEstimator(a){a&&(se.log(`setting initial bwe to ${a}`),this.hls.config.abrEwmaDefaultEstimate=a),this.firstSelection=-1,this.bwEstimator=this.initEstimator()}initEstimator(){const a=this.hls.config;return new yDe(a.abrEwmaSlowVoD,a.abrEwmaFastVoD,a.abrEwmaDefaultEstimate)}registerListeners(){const{hls:a}=this;a.on(O.MANIFEST_LOADING,this.onManifestLoading,this),a.on(O.FRAG_LOADING,this.onFragLoading,this),a.on(O.FRAG_LOADED,this.onFragLoaded,this),a.on(O.FRAG_BUFFERED,this.onFragBuffered,this),a.on(O.LEVEL_SWITCHING,this.onLevelSwitching,this),a.on(O.LEVEL_LOADED,this.onLevelLoaded,this),a.on(O.LEVELS_UPDATED,this.onLevelsUpdated,this),a.on(O.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),a.on(O.ERROR,this.onError,this)}unregisterListeners(){const{hls:a}=this;a&&(a.off(O.MANIFEST_LOADING,this.onManifestLoading,this),a.off(O.FRAG_LOADING,this.onFragLoading,this),a.off(O.FRAG_LOADED,this.onFragLoaded,this),a.off(O.FRAG_BUFFERED,this.onFragBuffered,this),a.off(O.LEVEL_SWITCHING,this.onLevelSwitching,this),a.off(O.LEVEL_LOADED,this.onLevelLoaded,this),a.off(O.LEVELS_UPDATED,this.onLevelsUpdated,this),a.off(O.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),a.off(O.ERROR,this.onError,this))}destroy(){this.unregisterListeners(),this.clearTimer(),this.hls=this._abandonRulesCheck=null,this.fragCurrent=this.partCurrent=null}onManifestLoading(a,t){this.lastLoadedFragLevel=-1,this.firstSelection=-1,this.lastLevelLoadSec=0,this.fragCurrent=this.partCurrent=null,this.onLevelsUpdated(),this.clearTimer()}onLevelsUpdated(){this.lastLoadedFragLevel>-1&&this.fragCurrent&&(this.lastLoadedFragLevel=this.fragCurrent.level),this._nextAutoLevel=-1,this.onMaxAutoLevelUpdated(),this.codecTiers=null,this.audioTracksByGroup=null}onMaxAutoLevelUpdated(){this.firstSelection=-1,this.nextAutoLevelKey=""}onFragLoading(a,t){const n=t.frag;if(!this.ignoreFragment(n)){if(!n.bitrateTest){var i;this.fragCurrent=n,this.partCurrent=(i=t.part)!=null?i:null}this.clearTimer(),this.timer=self.setInterval(this._abandonRulesCheck,100)}}onLevelSwitching(a,t){this.clearTimer()}onError(a,t){if(!t.fatal)switch(t.details){case ce.BUFFER_ADD_CODEC_ERROR:case ce.BUFFER_APPEND_ERROR:this.lastLoadedFragLevel=-1,this.firstSelection=-1;break;case ce.FRAG_LOAD_TIMEOUT:{const n=t.frag,{fragCurrent:i,partCurrent:r}=this;if(n&&i&&n.sn===i.sn&&n.level===i.level){const s=performance.now(),u=r?r.stats:n.stats,o=s-u.loading.start,l=u.loading.first?u.loading.first-u.loading.start:-1;if(u.loaded&&l>-1){const d=this.bwEstimator.getEstimateTTFB();this.bwEstimator.sample(o-Math.min(d,l),u.loaded)}else this.bwEstimator.sampleTTFB(o)}break}}}getTimeToLoadFrag(a,t,n,i){const r=a+n/t,s=i?this.lastLevelLoadSec:0;return r+s}onLevelLoaded(a,t){const n=this.hls.config,{loading:i}=t.stats,r=i.end-i.start;$e(r)&&(this.lastLevelLoadSec=r/1e3),t.details.live?this.bwEstimator.update(n.abrEwmaSlowLive,n.abrEwmaFastLive):this.bwEstimator.update(n.abrEwmaSlowVoD,n.abrEwmaFastVoD)}onFragLoaded(a,{frag:t,part:n}){const i=n?n.stats:t.stats;if(t.type===ea.MAIN&&this.bwEstimator.sampleTTFB(i.loading.first-i.loading.start),!this.ignoreFragment(t)){if(this.clearTimer(),t.level===this._nextAutoLevel&&(this._nextAutoLevel=-1),this.firstSelection=-1,this.hls.config.abrMaxWithRealBitrate){const r=n?n.duration:t.duration,s=this.hls.levels[t.level],u=(s.loaded?s.loaded.bytes:0)+i.loaded,o=(s.loaded?s.loaded.duration:0)+r;s.loaded={bytes:u,duration:o},s.realBitrate=Math.round(8*u/o)}if(t.bitrateTest){const r={stats:i,frag:t,part:n,id:t.type};this.onFragBuffered(O.FRAG_BUFFERED,r),t.bitrateTest=!1}else this.lastLoadedFragLevel=t.level}}onFragBuffered(a,t){const{frag:n,part:i}=t,r=i!=null&&i.stats.loaded?i.stats:n.stats;if(r.aborted||this.ignoreFragment(n))return;const s=r.parsing.end-r.loading.start-Math.min(r.loading.first-r.loading.start,this.bwEstimator.getEstimateTTFB());this.bwEstimator.sample(s,r.loaded),r.bwEstimate=this.getBwEstimate(),n.bitrateTest?this.bitrateTestDelay=s/1e3:this.bitrateTestDelay=0}ignoreFragment(a){return a.type!==ea.MAIN||a.sn==="initSegment"}clearTimer(){this.timer>-1&&(self.clearInterval(this.timer),this.timer=-1)}get firstAutoLevel(){const{maxAutoLevel:a,minAutoLevel:t}=this.hls,n=this.getBwEstimate(),i=this.hls.config.maxStarvationDelay,r=this.findBestLevel(n,t,a,0,i,1,1);if(r>-1)return r;const s=this.hls.firstLevel,u=Math.min(Math.max(s,t),a);return se.warn(`[abr] Could not find best starting auto level. Defaulting to first in playlist ${s} clamped to ${u}`),u}get forcedAutoLevel(){return this.nextAutoLevelKey?-1:this._nextAutoLevel}get nextAutoLevel(){const a=this.forcedAutoLevel,n=this.bwEstimator.canEstimate(),i=this.lastLoadedFragLevel>-1;if(a!==-1&&(!n||!i||this.nextAutoLevelKey===this.getAutoLevelKey()))return a;const r=n&&i?this.getNextABRAutoLevel():this.firstAutoLevel;if(a!==-1){const s=this.hls.levels;if(s.length>Math.max(a,r)&&s[a].loadError<=s[r].loadError)return a}return this._nextAutoLevel=r,this.nextAutoLevelKey=this.getAutoLevelKey(),r}getAutoLevelKey(){return`${this.getBwEstimate()}_${this.getStarvationDelay().toFixed(2)}`}getNextABRAutoLevel(){const{fragCurrent:a,partCurrent:t,hls:n}=this,{maxAutoLevel:i,config:r,minAutoLevel:s}=n,u=t?t.duration:a?a.duration:0,o=this.getBwEstimate(),l=this.getStarvationDelay();let g=r.abrBandWidthFactor,d=r.abrBandWidthUpFactor;if(l){const y=this.findBestLevel(o,s,i,l,0,g,d);if(y>=0)return y}let c=u?Math.min(u,r.maxStarvationDelay):r.maxStarvationDelay;if(!l){const y=this.bitrateTestDelay;y&&(c=(u?Math.min(u,r.maxLoadingDelay):r.maxLoadingDelay)-y,se.info(`[abr] bitrate test took ${Math.round(1e3*y)}ms, set first fragment max fetchDuration to ${Math.round(1e3*c)} ms`),g=d=1)}const p=this.findBestLevel(o,s,i,l,c,g,d);if(se.info(`[abr] ${l?"rebuffering expected":"buffer is empty"}, optimal quality level ${p}`),p>-1)return p;const f=n.levels[s],h=n.levels[n.loadLevel];return(f==null?void 0:f.bitrate)<(h==null?void 0:h.bitrate)?s:n.loadLevel}getStarvationDelay(){const a=this.hls,t=a.media;if(!t)return 1/0;const n=t&&t.playbackRate!==0?Math.abs(t.playbackRate):1,i=a.mainForwardBufferInfo;return(i?i.len:0)/n}getBwEstimate(){return this.bwEstimator.canEstimate()?this.bwEstimator.getEstimate():this.hls.config.abrEwmaDefaultEstimate}findBestLevel(a,t,n,i,r,s,u){var o;const l=i+r,g=this.lastLoadedFragLevel,d=g===-1?this.hls.firstLevel:g,{fragCurrent:c,partCurrent:p}=this,{levels:f,allAudioTracks:h,loadLevel:y,config:b}=this.hls;if(f.length===1)return 0;const m=f[d],T=!!(m!=null&&(o=m.details)!=null&&o.live),A=y===-1||g===-1;let v,D="SDR",k=(m==null?void 0:m.frameRate)||0;const{audioPreference:N,videoPreference:q}=b,R=this.audioTracksByGroup||(this.audioTracksByGroup=xDe(h));if(A){if(this.firstSelection!==-1)return this.firstSelection;const L=this.codecTiers||(this.codecTiers=EDe(f,R,t,n)),H=DDe(L,D,a,N,q),{codecSet:U,videoRanges:G,minFramerate:E,minBitrate:x,preferHDR:_}=H;v=U,D=_?G[G.length-1]:G[0],k=E,a=Math.max(a,x),se.log(`[abr] picked start tier ${JSON.stringify(H)}`)}else v=m==null?void 0:m.codecSet,D=m==null?void 0:m.videoRange;const z=p?p.duration:c?c.duration:0,W=this.bwEstimator.getEstimateTTFB()/1e3,K=[];for(let L=n;L>=t;L--){var P;const H=f[L],U=L>d;if(!H)continue;if(b.useMediaCapabilities&&!H.supportedResult&&!H.supportedPromise){const C=navigator.mediaCapabilities;typeof(C==null?void 0:C.decodingInfo)=="function"&&bDe(H,R,D,k,a,N)?(H.supportedPromise=TDe(H,R,C),H.supportedPromise.then(M=>{if(!this.hls)return;H.supportedResult=M;const $=this.hls.levels,Z=$.indexOf(H);M.error?se.warn(`[abr] MediaCapabilities decodingInfo error: "${M.error}" for level ${Z} ${JSON.stringify(M)}`):M.supported||(se.warn(`[abr] Unsupported MediaCapabilities decodingInfo result for level ${Z} ${JSON.stringify(M)}`),Z>-1&&$.length>1&&(se.log(`[abr] Removing unsupported level ${Z}`),this.hls.removeLevel(Z)))})):H.supportedResult=Tj}if(v&&H.codecSet!==v||D&&H.videoRange!==D||U&&k>H.frameRate||!U&&k>0&&k<H.frameRate||H.supportedResult&&!((P=H.supportedResult.decodingInfoResults)!=null&&P[0].smooth)){K.push(L);continue}const G=H.details,E=(p?G==null?void 0:G.partTarget:G==null?void 0:G.averagetargetduration)||z;let x;U?x=u*a:x=s*a;const _=z&&i>=z*2&&r===0?f[L].averageBitrate:f[L].maxBitrate,I=this.getTimeToLoadFrag(W,x,_*E,G===void 0);if(x>=_&&(L===g||H.loadError===0&&H.fragmentError===0)&&(I<=W||!$e(I)||T&&!this.bitrateTestDelay||I<l)){const C=this.forcedAutoLevel;return L!==y&&(C===-1||C!==y)&&(K.length&&se.trace(`[abr] Skipped level(s) ${K.join(",")} of ${n} max with CODECS and VIDEO-RANGE:"${f[K[0]].codecs}" ${f[K[0]].videoRange}; not compatible with "${m.codecs}" ${D}`),se.info(`[abr] switch candidate:${d}->${L} adjustedbw(${Math.round(x)})-bitrate=${Math.round(x-_)} ttfb:${W.toFixed(1)} avgDuration:${E.toFixed(1)} maxFetchDuration:${l.toFixed(1)} fetchDuration:${I.toFixed(1)} firstSelection:${A} codecSet:${v} videoRange:${D} hls.loadLevel:${y}`)),A&&(this.firstSelection=L),L}}return-1}set nextAutoLevel(a){const{maxAutoLevel:t,minAutoLevel:n}=this.hls,i=Math.min(Math.max(a,n),t);this._nextAutoLevel!==i&&(this.nextAutoLevelKey="",this._nextAutoLevel=i)}}class _De{constructor(){this._boundTick=void 0,this._tickTimer=null,this._tickInterval=null,this._tickCallCount=0,this._boundTick=this.tick.bind(this)}destroy(){this.onHandlerDestroying(),this.onHandlerDestroyed()}onHandlerDestroying(){this.clearNextTick(),this.clearInterval()}onHandlerDestroyed(){}hasInterval(){return!!this._tickInterval}hasNextTick(){return!!this._tickTimer}setInterval(a){return this._tickInterval?!1:(this._tickCallCount=0,this._tickInterval=self.setInterval(this._boundTick,a),!0)}clearInterval(){return this._tickInterval?(self.clearInterval(this._tickInterval),this._tickInterval=null,!0):!1}clearNextTick(){return this._tickTimer?(self.clearTimeout(this._tickTimer),this._tickTimer=null,!0):!1}tick(){this._tickCallCount++,this._tickCallCount===1&&(this.doTick(),this._tickCallCount>1&&this.tickImmediate(),this._tickCallCount=0)}tickImmediate(){this.clearNextTick(),this._tickTimer=self.setTimeout(this._boundTick,0)}doTick(){}}var Wt={NOT_LOADED:"NOT_LOADED",APPENDING:"APPENDING",PARTIAL:"PARTIAL",OK:"OK"};class IDe{constructor(a){this.activePartLists=Object.create(null),this.endListFragments=Object.create(null),this.fragments=Object.create(null),this.timeRanges=Object.create(null),this.bufferPadding=.2,this.hls=void 0,this.hasGaps=!1,this.hls=a,this._registerListeners()}_registerListeners(){const{hls:a}=this;a.on(O.BUFFER_APPENDED,this.onBufferAppended,this),a.on(O.FRAG_BUFFERED,this.onFragBuffered,this),a.on(O.FRAG_LOADED,this.onFragLoaded,this)}_unregisterListeners(){const{hls:a}=this;a.off(O.BUFFER_APPENDED,this.onBufferAppended,this),a.off(O.FRAG_BUFFERED,this.onFragBuffered,this),a.off(O.FRAG_LOADED,this.onFragLoaded,this)}destroy(){this._unregisterListeners(),this.fragments=this.activePartLists=this.endListFragments=this.timeRanges=null}getAppendedFrag(a,t){const n=this.activePartLists[t];if(n)for(let i=n.length;i--;){const r=n[i];if(!r)break;const s=r.end;if(r.start<=a&&s!==null&&a<=s)return r}return this.getBufferedFrag(a,t)}getBufferedFrag(a,t){const{fragments:n}=this,i=Object.keys(n);for(let r=i.length;r--;){const s=n[i[r]];if((s==null?void 0:s.body.type)===t&&s.buffered){const u=s.body;if(u.start<=a&&a<=u.end)return u}}return null}detectEvictedFragments(a,t,n,i){this.timeRanges&&(this.timeRanges[a]=t);const r=(i==null?void 0:i.fragment.sn)||-1;Object.keys(this.fragments).forEach(s=>{const u=this.fragments[s];if(!u||r>=u.body.sn)return;if(!u.buffered&&!u.loaded){u.body.type===n&&this.removeFragment(u.body);return}const o=u.range[a];o&&o.time.some(l=>{const g=!this.isTimeBuffered(l.startPTS,l.endPTS,t);return g&&this.removeFragment(u.body),g})})}detectPartialFragments(a){const t=this.timeRanges,{frag:n,part:i}=a;if(!t||n.sn==="initSegment")return;const r=zl(n),s=this.fragments[r];if(!s||s.buffered&&n.gap)return;const u=!n.relurl;Object.keys(t).forEach(o=>{const l=n.elementaryStreams[o];if(!l)return;const g=t[o],d=u||l.partial===!0;s.range[o]=this.getBufferedTimes(n,i,d,g)}),s.loaded=null,Object.keys(s.range).length?(s.buffered=!0,(s.body.endList=n.endList||s.body.endList)&&(this.endListFragments[s.body.type]=s),n2(s)||this.removeParts(n.sn-1,n.type)):this.removeFragment(s.body)}removeParts(a,t){const n=this.activePartLists[t];n&&(this.activePartLists[t]=n.filter(i=>i.fragment.sn>=a))}fragBuffered(a,t){const n=zl(a);let i=this.fragments[n];!i&&t&&(i=this.fragments[n]={body:a,appendedPTS:null,loaded:null,buffered:!1,range:Object.create(null)},a.gap&&(this.hasGaps=!0)),i&&(i.loaded=null,i.buffered=!0)}getBufferedTimes(a,t,n,i){const r={time:[],partial:n},s=a.start,u=a.end,o=a.minEndPTS||u,l=a.maxStartPTS||s;for(let g=0;g<i.length;g++){const d=i.start(g)-this.bufferPadding,c=i.end(g)+this.bufferPadding;if(l>=d&&o<=c){r.time.push({startPTS:Math.max(s,i.start(g)),endPTS:Math.min(u,i.end(g))});break}else if(s<c&&u>d){const p=Math.max(s,i.start(g)),f=Math.min(u,i.end(g));f>p&&(r.partial=!0,r.time.push({startPTS:p,endPTS:f}))}else if(u<=d)break}return r}getPartialFragment(a){let t=null,n,i,r,s=0;const{bufferPadding:u,fragments:o}=this;return Object.keys(o).forEach(l=>{const g=o[l];g&&n2(g)&&(i=g.body.start-u,r=g.body.end+u,a>=i&&a<=r&&(n=Math.min(a-i,r-a),s<=n&&(t=g.body,s=n)))}),t}isEndListAppended(a){const t=this.endListFragments[a];return t!==void 0&&(t.buffered||n2(t))}getState(a){const t=zl(a),n=this.fragments[t];return n?n.buffered?n2(n)?Wt.PARTIAL:Wt.OK:Wt.APPENDING:Wt.NOT_LOADED}isTimeBuffered(a,t,n){let i,r;for(let s=0;s<n.length;s++){if(i=n.start(s)-this.bufferPadding,r=n.end(s)+this.bufferPadding,a>=i&&t<=r)return!0;if(t<=i)return!1}return!1}onFragLoaded(a,t){const{frag:n,part:i}=t;if(n.sn==="initSegment"||n.bitrateTest)return;const r=i?null:t,s=zl(n);this.fragments[s]={body:n,appendedPTS:null,loaded:r,buffered:!1,range:Object.create(null)}}onBufferAppended(a,t){const{frag:n,part:i,timeRanges:r}=t;if(n.sn==="initSegment")return;const s=n.type;if(i){let u=this.activePartLists[s];u||(this.activePartLists[s]=u=[]),u.push(i)}this.timeRanges=r,Object.keys(r).forEach(u=>{const o=r[u];this.detectEvictedFragments(u,o,s,i)})}onFragBuffered(a,t){this.detectPartialFragments(t)}hasFragment(a){const t=zl(a);return!!this.fragments[t]}hasParts(a){var t;return!!((t=this.activePartLists[a])!=null&&t.length)}removeFragmentsInRange(a,t,n,i,r){i&&!this.hasGaps||Object.keys(this.fragments).forEach(s=>{const u=this.fragments[s];if(!u)return;const o=u.body;o.type!==n||i&&!o.gap||o.start<t&&o.end>a&&(u.buffered||r)&&this.removeFragment(o)})}removeFragment(a){const t=zl(a);a.stats.loaded=0,a.clearElementaryStreamInfo();const n=this.activePartLists[a.type];if(n){const i=a.sn;this.activePartLists[a.type]=n.filter(r=>r.fragment.sn!==i)}delete this.fragments[t],a.endList&&delete this.endListFragments[a.type]}removeAllFragments(){this.fragments=Object.create(null),this.endListFragments=Object.create(null),this.activePartLists=Object.create(null),this.hasGaps=!1}}function n2(e){var a,t,n;return e.buffered&&(e.body.gap||((a=e.range.video)==null?void 0:a.partial)||((t=e.range.audio)==null?void 0:t.partial)||((n=e.range.audiovideo)==null?void 0:n.partial))}function zl(e){return`${e.type}_${e.level}_${e.sn}`}const NDe={length:0,start:()=>0,end:()=>0};class Ja{static isBuffered(a,t){try{if(a){const n=Ja.getBuffered(a);for(let i=0;i<n.length;i++)if(t>=n.start(i)&&t<=n.end(i))return!0}}catch{}return!1}static bufferInfo(a,t,n){try{if(a){const i=Ja.getBuffered(a),r=[];let s;for(s=0;s<i.length;s++)r.push({start:i.start(s),end:i.end(s)});return this.bufferedInfo(r,t,n)}}catch{}return{len:0,start:t,end:t,nextStart:void 0}}static bufferedInfo(a,t,n){t=Math.max(0,t),a.sort(function(l,g){const d=l.start-g.start;return d||g.end-l.end});let i=[];if(n)for(let l=0;l<a.length;l++){const g=i.length;if(g){const d=i[g-1].end;a[l].start-d<n?a[l].end>d&&(i[g-1].end=a[l].end):i.push(a[l])}else i.push(a[l])}else i=a;let r=0,s,u=t,o=t;for(let l=0;l<i.length;l++){const g=i[l].start,d=i[l].end;if(t+n>=g&&t<d)u=g,o=d,r=o-t;else if(t+n<g){s=g;break}}return{len:r,start:u||0,end:o||0,nextStart:s}}static getBuffered(a){try{return a.buffered}catch(t){return se.log("failed to get media.buffered",t),NDe}}}class gx{constructor(a,t,n,i=0,r=-1,s=!1){this.level=void 0,this.sn=void 0,this.part=void 0,this.id=void 0,this.size=void 0,this.partial=void 0,this.transmuxing=i2(),this.buffering={audio:i2(),video:i2(),audiovideo:i2()},this.level=a,this.sn=t,this.id=n,this.size=i,this.part=r,this.partial=s}}function i2(){return{start:0,executeStart:0,executeEnd:0,end:0}}function Q2(e,a){for(let n=0,i=e.length;n<i;n++){var t;if(((t=e[n])==null?void 0:t.cc)===a)return e[n]}return null}function LDe(e,a,t){return!!(a&&(t.endCC>t.startCC||e&&e.cc<t.startCC))}function RDe(e,a){const t=e.fragments,n=a.fragments;if(!n.length||!t.length){se.log("No fragments to align");return}const i=Q2(t,n[0].cc);if(!i||i&&!i.startPTS){se.log("No frag in previous level to align on");return}return i}function M_(e,a){if(e){const t=e.start+a;e.start=e.startPTS=t,e.endPTS=t+e.duration}}function Sj(e,a){const t=a.fragments;for(let n=0,i=t.length;n<i;n++)M_(t[n],e);a.fragmentHint&&M_(a.fragmentHint,e),a.alignedSliding=!0}function PDe(e,a,t){a&&(MDe(e,t,a),!t.alignedSliding&&a&&ey(t,a),!t.alignedSliding&&a&&!t.skippedSegments&&hj(a,t))}function MDe(e,a,t){if(LDe(e,t,a)){const n=RDe(t,a);n&&$e(n.start)&&(se.log(`Adjusting PTS using last level due to CC increase within current level ${a.url}`),Sj(n.start,a))}}function ey(e,a){if(!e.hasProgramDateTime||!a.hasProgramDateTime)return;const t=e.fragments,n=a.fragments;if(!t.length||!n.length)return;let i,r;const s=Math.min(a.endCC,e.endCC);a.startCC<s&&e.startCC<s&&(i=Q2(n,s),r=Q2(t,s)),(!i||!r)&&(i=n[Math.floor(n.length/2)],r=Q2(t,i.cc)||t[Math.floor(t.length/2)]);const u=i.programDateTime,o=r.programDateTime;if(!u||!o)return;const l=(o-u)/1e3-(r.start-i.start);Sj(l,e)}const O_=Math.pow(2,17);class ODe{constructor(a){this.config=void 0,this.loader=null,this.partLoadTimeout=-1,this.config=a}destroy(){this.loader&&(this.loader.destroy(),this.loader=null)}abort(){this.loader&&this.loader.abort()}load(a,t){const n=a.url;if(!n)return Promise.reject(new Rs({type:na.NETWORK_ERROR,details:ce.FRAG_LOAD_ERROR,fatal:!1,frag:a,error:new Error(`Fragment does not have a ${n?"part list":"url"}`),networkDetails:null}));this.abort();const i=this.config,r=i.fLoader,s=i.loader;return new Promise((u,o)=>{if(this.loader&&this.loader.destroy(),a.gap)if(a.tagList.some(p=>p[0]==="GAP")){o(F_(a));return}else a.gap=!1;const l=this.loader=a.loader=r?new r(i):new s(i),g=B_(a),d=L_(i.fragLoadPolicy.default),c={loadPolicy:d,timeout:d.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:a.sn==="initSegment"?1/0:O_};a.stats=l.stats,l.load(g,c,{onSuccess:(p,f,h,y)=>{this.resetLoader(a,l);let b=p.data;h.resetIV&&a.decryptdata&&(a.decryptdata.iv=new Uint8Array(b.slice(0,16)),b=b.slice(16)),u({frag:a,part:null,payload:b,networkDetails:y})},onError:(p,f,h,y)=>{this.resetLoader(a,l),o(new Rs({type:na.NETWORK_ERROR,details:ce.FRAG_LOAD_ERROR,fatal:!1,frag:a,response:en({url:n,data:void 0},p),error:new Error(`HTTP Error ${p.code} ${p.text}`),networkDetails:h,stats:y}))},onAbort:(p,f,h)=>{this.resetLoader(a,l),o(new Rs({type:na.NETWORK_ERROR,details:ce.INTERNAL_ABORTED,fatal:!1,frag:a,error:new Error("Aborted"),networkDetails:h,stats:p}))},onTimeout:(p,f,h)=>{this.resetLoader(a,l),o(new Rs({type:na.NETWORK_ERROR,details:ce.FRAG_LOAD_TIMEOUT,fatal:!1,frag:a,error:new Error(`Timeout after ${c.timeout}ms`),networkDetails:h,stats:p}))},onProgress:(p,f,h,y)=>{t&&t({frag:a,part:null,payload:h,networkDetails:y})}})})}loadPart(a,t,n){this.abort();const i=this.config,r=i.fLoader,s=i.loader;return new Promise((u,o)=>{if(this.loader&&this.loader.destroy(),a.gap||t.gap){o(F_(a,t));return}const l=this.loader=a.loader=r?new r(i):new s(i),g=B_(a,t),d=L_(i.fragLoadPolicy.default),c={loadPolicy:d,timeout:d.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:O_};t.stats=l.stats,l.load(g,c,{onSuccess:(p,f,h,y)=>{this.resetLoader(a,l),this.updateStatsFromPart(a,t);const b={frag:a,part:t,payload:p.data,networkDetails:y};n(b),u(b)},onError:(p,f,h,y)=>{this.resetLoader(a,l),o(new Rs({type:na.NETWORK_ERROR,details:ce.FRAG_LOAD_ERROR,fatal:!1,frag:a,part:t,response:en({url:g.url,data:void 0},p),error:new Error(`HTTP Error ${p.code} ${p.text}`),networkDetails:h,stats:y}))},onAbort:(p,f,h)=>{a.stats.aborted=t.stats.aborted,this.resetLoader(a,l),o(new Rs({type:na.NETWORK_ERROR,details:ce.INTERNAL_ABORTED,fatal:!1,frag:a,part:t,error:new Error("Aborted"),networkDetails:h,stats:p}))},onTimeout:(p,f,h)=>{this.resetLoader(a,l),o(new Rs({type:na.NETWORK_ERROR,details:ce.FRAG_LOAD_TIMEOUT,fatal:!1,frag:a,part:t,error:new Error(`Timeout after ${c.timeout}ms`),networkDetails:h,stats:p}))}})})}updateStatsFromPart(a,t){const n=a.stats,i=t.stats,r=i.total;if(n.loaded+=i.loaded,r){const o=Math.round(a.duration/t.duration),l=Math.min(Math.round(n.loaded/r),o),d=(o-l)*Math.round(n.loaded/l);n.total=n.loaded+d}else n.total=Math.max(n.loaded,n.total);const s=n.loading,u=i.loading;s.start?s.first+=u.first-u.start:(s.start=u.start,s.first=u.first),s.end=u.end}resetLoader(a,t){a.loader=null,this.loader===t&&(self.clearTimeout(this.partLoadTimeout),this.loader=null),t.destroy()}}function B_(e,a=null){const t=a||e,n={frag:e,part:a,responseType:"arraybuffer",url:t.url,headers:{},rangeStart:0,rangeEnd:0},i=t.byteRangeStartOffset,r=t.byteRangeEndOffset;if($e(i)&&$e(r)){var s;let u=i,o=r;if(e.sn==="initSegment"&&((s=e.decryptdata)==null?void 0:s.method)==="AES-128"){const l=r-i;l%16&&(o=r+(16-l%16)),i!==0&&(n.resetIV=!0,u=i-16)}n.rangeStart=u,n.rangeEnd=o}return n}function F_(e,a){const t=new Error(`GAP ${e.gap?"tag":"attribute"} found`),n={type:na.MEDIA_ERROR,details:ce.FRAG_GAP,fatal:!1,frag:e,error:t,networkDetails:null};return a&&(n.part=a),(a||e).stats.aborted=!0,new Rs(n)}class Rs extends Error{constructor(a){super(a.error.message),this.data=void 0,this.data=a}}class BDe{constructor(a,t){this.subtle=void 0,this.aesIV=void 0,this.subtle=a,this.aesIV=t}decrypt(a,t){return this.subtle.decrypt({name:"AES-CBC",iv:this.aesIV},t,a)}}class FDe{constructor(a,t){this.subtle=void 0,this.key=void 0,this.subtle=a,this.key=t}expandKey(){return this.subtle.importKey("raw",this.key,{name:"AES-CBC"},!1,["encrypt","decrypt"])}}function UDe(e){const a=e.byteLength,t=a&&new DataView(e.buffer).getUint8(a-1);return t?Wo(e,0,a-t):e}class jDe{constructor(){this.rcon=[0,1,2,4,8,16,32,64,128,27,54],this.subMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.invSubMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.sBox=new Uint32Array(256),this.invSBox=new Uint32Array(256),this.key=new Uint32Array(0),this.ksRows=0,this.keySize=0,this.keySchedule=void 0,this.invKeySchedule=void 0,this.initTable()}uint8ArrayToUint32Array_(a){const t=new DataView(a),n=new Uint32Array(4);for(let i=0;i<4;i++)n[i]=t.getUint32(i*4);return n}initTable(){const a=this.sBox,t=this.invSBox,n=this.subMix,i=n[0],r=n[1],s=n[2],u=n[3],o=this.invSubMix,l=o[0],g=o[1],d=o[2],c=o[3],p=new Uint32Array(256);let f=0,h=0,y=0;for(y=0;y<256;y++)y<128?p[y]=y<<1:p[y]=y<<1^283;for(y=0;y<256;y++){let b=h^h<<1^h<<2^h<<3^h<<4;b=b>>>8^b&255^99,a[f]=b,t[b]=f;const m=p[f],T=p[m],A=p[T];let v=p[b]*257^b*16843008;i[f]=v<<24|v>>>8,r[f]=v<<16|v>>>16,s[f]=v<<8|v>>>24,u[f]=v,v=A*16843009^T*65537^m*257^f*16843008,l[b]=v<<24|v>>>8,g[b]=v<<16|v>>>16,d[b]=v<<8|v>>>24,c[b]=v,f?(f=m^p[p[p[A^m]]],h^=p[p[h]]):f=h=1}}expandKey(a){const t=this.uint8ArrayToUint32Array_(a);let n=!0,i=0;for(;i<t.length&&n;)n=t[i]===this.key[i],i++;if(n)return;this.key=t;const r=this.keySize=t.length;if(r!==4&&r!==6&&r!==8)throw new Error("Invalid aes key size="+r);const s=this.ksRows=(r+6+1)*4;let u,o;const l=this.keySchedule=new Uint32Array(s),g=this.invKeySchedule=new Uint32Array(s),d=this.sBox,c=this.rcon,p=this.invSubMix,f=p[0],h=p[1],y=p[2],b=p[3];let m,T;for(u=0;u<s;u++){if(u<r){m=l[u]=t[u];continue}T=m,u%r===0?(T=T<<8|T>>>24,T=d[T>>>24]<<24|d[T>>>16&255]<<16|d[T>>>8&255]<<8|d[T&255],T^=c[u/r|0]<<24):r>6&&u%r===4&&(T=d[T>>>24]<<24|d[T>>>16&255]<<16|d[T>>>8&255]<<8|d[T&255]),l[u]=m=(l[u-r]^T)>>>0}for(o=0;o<s;o++)u=s-o,o&3?T=l[u]:T=l[u-4],o<4||u<=4?g[o]=T:g[o]=f[d[T>>>24]]^h[d[T>>>16&255]]^y[d[T>>>8&255]]^b[d[T&255]],g[o]=g[o]>>>0}networkToHostOrderSwap(a){return a<<24|(a&65280)<<8|(a&16711680)>>8|a>>>24}decrypt(a,t,n){const i=this.keySize+6,r=this.invKeySchedule,s=this.invSBox,u=this.invSubMix,o=u[0],l=u[1],g=u[2],d=u[3],c=this.uint8ArrayToUint32Array_(n);let p=c[0],f=c[1],h=c[2],y=c[3];const b=new Int32Array(a),m=new Int32Array(b.length);let T,A,v,D,k,N,q,R,z,W,K,P,L,H;const U=this.networkToHostOrderSwap;for(;t<b.length;){for(z=U(b[t]),W=U(b[t+1]),K=U(b[t+2]),P=U(b[t+3]),k=z^r[0],N=P^r[1],q=K^r[2],R=W^r[3],L=4,H=1;H<i;H++)T=o[k>>>24]^l[N>>16&255]^g[q>>8&255]^d[R&255]^r[L],A=o[N>>>24]^l[q>>16&255]^g[R>>8&255]^d[k&255]^r[L+1],v=o[q>>>24]^l[R>>16&255]^g[k>>8&255]^d[N&255]^r[L+2],D=o[R>>>24]^l[k>>16&255]^g[N>>8&255]^d[q&255]^r[L+3],k=T,N=A,q=v,R=D,L=L+4;T=s[k>>>24]<<24^s[N>>16&255]<<16^s[q>>8&255]<<8^s[R&255]^r[L],A=s[N>>>24]<<24^s[q>>16&255]<<16^s[R>>8&255]<<8^s[k&255]^r[L+1],v=s[q>>>24]<<24^s[R>>16&255]<<16^s[k>>8&255]<<8^s[N&255]^r[L+2],D=s[R>>>24]<<24^s[k>>16&255]<<16^s[N>>8&255]<<8^s[q&255]^r[L+3],m[t]=U(T^p),m[t+1]=U(D^f),m[t+2]=U(v^h),m[t+3]=U(A^y),p=z,f=W,h=K,y=P,t=t+4}return m.buffer}}const zDe=16;class dx{constructor(a,{removePKCS7Padding:t=!0}={}){if(this.logEnabled=!0,this.removePKCS7Padding=void 0,this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null,this.useSoftware=void 0,this.useSoftware=a.enableSoftwareAES,this.removePKCS7Padding=t,t)try{const n=self.crypto;n&&(this.subtle=n.subtle||n.webkitSubtle)}catch{}this.useSoftware=!this.subtle}destroy(){this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null}isSync(){return this.useSoftware}flush(){const{currentResult:a,remainderData:t}=this;if(!a||t)return this.reset(),null;const n=new Uint8Array(a);return this.reset(),this.removePKCS7Padding?UDe(n):n}reset(){this.currentResult=null,this.currentIV=null,this.remainderData=null,this.softwareDecrypter&&(this.softwareDecrypter=null)}decrypt(a,t,n){return this.useSoftware?new Promise((i,r)=>{this.softwareDecrypt(new Uint8Array(a),t,n);const s=this.flush();s?i(s.buffer):r(new Error("[softwareDecrypt] Failed to decrypt data"))}):this.webCryptoDecrypt(new Uint8Array(a),t,n)}softwareDecrypt(a,t,n){const{currentIV:i,currentResult:r,remainderData:s}=this;this.logOnce("JS AES decrypt"),s&&(a=sr(s,a),this.remainderData=null);const u=this.getValidChunk(a);if(!u.length)return null;i&&(n=i);let o=this.softwareDecrypter;o||(o=this.softwareDecrypter=new jDe),o.expandKey(t);const l=r;return this.currentResult=o.decrypt(u.buffer,0,n),this.currentIV=Wo(u,-16).buffer,l||null}webCryptoDecrypt(a,t,n){if(this.key!==t||!this.fastAesKey){if(!this.subtle)return Promise.resolve(this.onWebCryptoError(a,t,n));this.key=t,this.fastAesKey=new FDe(this.subtle,t)}return this.fastAesKey.expandKey().then(i=>this.subtle?(this.logOnce("WebCrypto AES decrypt"),new BDe(this.subtle,new Uint8Array(n)).decrypt(a.buffer,i)):Promise.reject(new Error("web crypto not initialized"))).catch(i=>(se.warn(`[decrypter]: WebCrypto Error, disable WebCrypto API, ${i.name}: ${i.message}`),this.onWebCryptoError(a,t,n)))}onWebCryptoError(a,t,n){this.useSoftware=!0,this.logEnabled=!0,this.softwareDecrypt(a,t,n);const i=this.flush();if(i)return i.buffer;throw new Error("WebCrypto and softwareDecrypt: failed to decrypt data")}getValidChunk(a){let t=a;const n=a.length-a.length%zDe;return n!==a.length&&(t=Wo(a,0,n),this.remainderData=Wo(a,n)),t}logOnce(a){this.logEnabled&&(se.log(`[decrypter]: ${a}`),this.logEnabled=!1)}}const $De={toString:function(e){let a="";const t=e.length;for(let n=0;n<t;n++)a+=`[${e.start(n).toFixed(3)}-${e.end(n).toFixed(3)}]`;return a}},Ae={STOPPED:"STOPPED",IDLE:"IDLE",KEY_LOADING:"KEY_LOADING",FRAG_LOADING:"FRAG_LOADING",FRAG_LOADING_WAITING_RETRY:"FRAG_LOADING_WAITING_RETRY",WAITING_TRACK:"WAITING_TRACK",PARSING:"PARSING",PARSED:"PARSED",ENDED:"ENDED",ERROR:"ERROR",WAITING_INIT_PTS:"WAITING_INIT_PTS",WAITING_LEVEL:"WAITING_LEVEL"};class cx extends _De{constructor(a,t,n,i,r){super(),this.hls=void 0,this.fragPrevious=null,this.fragCurrent=null,this.fragmentTracker=void 0,this.transmuxer=null,this._state=Ae.STOPPED,this.playlistType=void 0,this.media=null,this.mediaBuffer=null,this.config=void 0,this.bitrateTest=!1,this.lastCurrentTime=0,this.nextLoadPosition=0,this.startPosition=0,this.startTimeOffset=null,this.loadedmetadata=!1,this.retryDate=0,this.levels=null,this.fragmentLoader=void 0,this.keyLoader=void 0,this.levelLastLoaded=null,this.startFragRequested=!1,this.decrypter=void 0,this.initPTS=[],this.onvseeking=null,this.onvended=null,this.logPrefix="",this.log=void 0,this.warn=void 0,this.playlistType=r,this.logPrefix=i,this.log=se.log.bind(se,`${i}:`),this.warn=se.warn.bind(se,`${i}:`),this.hls=a,this.fragmentLoader=new ODe(a.config),this.keyLoader=n,this.fragmentTracker=t,this.config=a.config,this.decrypter=new dx(a.config),a.on(O.MANIFEST_LOADED,this.onManifestLoaded,this)}doTick(){this.onTickEnd()}onTickEnd(){}startLoad(a){}stopLoad(){this.fragmentLoader.abort(),this.keyLoader.abort(this.playlistType);const a=this.fragCurrent;a!=null&&a.loader&&(a.abortRequests(),this.fragmentTracker.removeFragment(a)),this.resetTransmuxer(),this.fragCurrent=null,this.fragPrevious=null,this.clearInterval(),this.clearNextTick(),this.state=Ae.STOPPED}_streamEnded(a,t){if(t.live||a.nextStart||!a.end||!this.media)return!1;const n=t.partList;if(n!=null&&n.length){const r=n[n.length-1];return Ja.isBuffered(this.media,r.start+r.duration/2)}const i=t.fragments[t.fragments.length-1].type;return this.fragmentTracker.isEndListAppended(i)}getLevelDetails(){if(this.levels&&this.levelLastLoaded!==null){var a;return(a=this.levelLastLoaded)==null?void 0:a.details}}onMediaAttached(a,t){const n=this.media=this.mediaBuffer=t.media;this.onvseeking=this.onMediaSeeking.bind(this),this.onvended=this.onMediaEnded.bind(this),n.addEventListener("seeking",this.onvseeking),n.addEventListener("ended",this.onvended);const i=this.config;this.levels&&i.autoStartLoad&&this.state===Ae.STOPPED&&this.startLoad(i.startPosition)}onMediaDetaching(){const a=this.media;a!=null&&a.ended&&(this.log("MSE detaching and video ended, reset startPosition"),this.startPosition=this.lastCurrentTime=0),a&&this.onvseeking&&this.onvended&&(a.removeEventListener("seeking",this.onvseeking),a.removeEventListener("ended",this.onvended),this.onvseeking=this.onvended=null),this.keyLoader&&this.keyLoader.detach(),this.media=this.mediaBuffer=null,this.loadedmetadata=!1,this.fragmentTracker.removeAllFragments(),this.stopLoad()}onMediaSeeking(){const{config:a,fragCurrent:t,media:n,mediaBuffer:i,state:r}=this,s=n?n.currentTime:0,u=Ja.bufferInfo(i||n,s,a.maxBufferHole);if(this.log(`media seeking to ${$e(s)?s.toFixed(3):s}, state: ${r}`),this.state===Ae.ENDED)this.resetLoadingState();else if(t){const o=a.maxFragLookUpTolerance,l=t.start-o,g=t.start+t.duration+o;if(!u.len||g<u.start||l>u.end){const d=s>g;(s<l||d)&&(d&&t.loader&&(this.log("seeking outside of buffer while fragment load in progress, cancel fragment load"),t.abortRequests(),this.resetLoadingState()),this.fragPrevious=null)}}n&&(this.fragmentTracker.removeFragmentsInRange(s,1/0,this.playlistType,!0),this.lastCurrentTime=s),!this.loadedmetadata&&!u.len&&(this.nextLoadPosition=this.startPosition=s),this.tickImmediate()}onMediaEnded(){this.startPosition=this.lastCurrentTime=0}onManifestLoaded(a,t){this.startTimeOffset=t.startTimeOffset,this.initPTS=[]}onHandlerDestroying(){this.hls.off(O.MANIFEST_LOADED,this.onManifestLoaded,this),this.stopLoad(),super.onHandlerDestroying(),this.hls=null}onHandlerDestroyed(){this.state=Ae.STOPPED,this.fragmentLoader&&this.fragmentLoader.destroy(),this.keyLoader&&this.keyLoader.destroy(),this.decrypter&&this.decrypter.destroy(),this.hls=this.log=this.warn=this.decrypter=this.keyLoader=this.fragmentLoader=this.fragmentTracker=null,super.onHandlerDestroyed()}loadFragment(a,t,n){this._loadFragForPlayback(a,t,n)}_loadFragForPlayback(a,t,n){const i=r=>{if(this.fragContextChanged(a)){this.warn(`Fragment ${a.sn}${r.part?" p: "+r.part.index:""} of level ${a.level} was dropped during download.`),this.fragmentTracker.removeFragment(a);return}a.stats.chunkCount++,this._handleFragmentLoadProgress(r)};this._doFragLoad(a,t,n,i).then(r=>{if(!r)return;const s=this.state;if(this.fragContextChanged(a)){(s===Ae.FRAG_LOADING||!this.fragCurrent&&s===Ae.PARSING)&&(this.fragmentTracker.removeFragment(a),this.state=Ae.IDLE);return}"payload"in r&&(this.log(`Loaded fragment ${a.sn} of level ${a.level}`),this.hls.trigger(O.FRAG_LOADED,r)),this._handleFragmentLoadComplete(r)}).catch(r=>{this.state===Ae.STOPPED||this.state===Ae.ERROR||(this.warn(`Frag error: ${(r==null?void 0:r.message)||r}`),this.resetFragmentLoading(a))})}clearTrackerIfNeeded(a){var t;const{fragmentTracker:n}=this;if(n.getState(a)===Wt.APPENDING){const r=a.type,s=this.getFwdBufferInfo(this.mediaBuffer,r),u=Math.max(a.duration,s?s.len:this.config.maxBufferLength),o=this.backtrackFragment;((o?a.sn-o.sn:0)===1||this.reduceMaxBufferLength(u,a.duration))&&n.removeFragment(a)}else((t=this.mediaBuffer)==null?void 0:t.buffered.length)===0?n.removeAllFragments():n.hasParts(a.type)&&(n.detectPartialFragments({frag:a,part:null,stats:a.stats,id:a.type}),n.getState(a)===Wt.PARTIAL&&n.removeFragment(a))}checkLiveUpdate(a){if(a.updated&&!a.live){const t=a.fragments[a.fragments.length-1];this.fragmentTracker.detectPartialFragments({frag:t,part:null,stats:t.stats,id:t.type})}a.fragments[0]||(a.deltaUpdateFailed=!0)}flushMainBuffer(a,t,n=null){if(!(a-t))return;const i={startOffset:a,endOffset:t,type:n};this.hls.trigger(O.BUFFER_FLUSHING,i)}_loadInitSegment(a,t){this._doFragLoad(a,t).then(n=>{if(!n||this.fragContextChanged(a)||!this.levels)throw new Error("init load aborted");return n}).then(n=>{const{hls:i}=this,{payload:r}=n,s=a.decryptdata;if(r&&r.byteLength>0&&s!=null&&s.key&&s.iv&&s.method==="AES-128"){const u=self.performance.now();return this.decrypter.decrypt(new Uint8Array(r),s.key.buffer,s.iv.buffer).catch(o=>{throw i.trigger(O.ERROR,{type:na.MEDIA_ERROR,details:ce.FRAG_DECRYPT_ERROR,fatal:!1,error:o,reason:o.message,frag:a}),o}).then(o=>{const l=self.performance.now();return i.trigger(O.FRAG_DECRYPTED,{frag:a,payload:o,stats:{tstart:u,tdecrypt:l}}),n.payload=o,this.completeInitSegmentLoad(n)})}return this.completeInitSegmentLoad(n)}).catch(n=>{this.state===Ae.STOPPED||this.state===Ae.ERROR||(this.warn(n),this.resetFragmentLoading(a))})}completeInitSegmentLoad(a){const{levels:t}=this;if(!t)throw new Error("init load aborted, missing levels");const n=a.frag.stats;this.state=Ae.IDLE,a.frag.data=new Uint8Array(a.payload),n.parsing.start=n.buffering.start=self.performance.now(),n.parsing.end=n.buffering.end=self.performance.now(),this.tick()}fragContextChanged(a){const{fragCurrent:t}=this;return!a||!t||a.sn!==t.sn||a.level!==t.level}fragBufferedComplete(a,t){var n,i,r,s;const u=this.mediaBuffer?this.mediaBuffer:this.media;if(this.log(`Buffered ${a.type} sn: ${a.sn}${t?" part: "+t.index:""} of ${this.playlistType===ea.MAIN?"level":"track"} ${a.level} (frag:[${((n=a.startPTS)!=null?n:NaN).toFixed(3)}-${((i=a.endPTS)!=null?i:NaN).toFixed(3)}] > buffer:${u?$De.toString(Ja.getBuffered(u)):"(detached)"})`),a.sn!=="initSegment"){var o;if(a.type!==ea.SUBTITLE){const g=a.elementaryStreams;if(!Object.keys(g).some(d=>!!g[d])){this.state=Ae.IDLE;return}}const l=(o=this.levels)==null?void 0:o[a.level];l!=null&&l.fragmentError&&(this.log(`Resetting level fragment error count of ${l.fragmentError} on frag buffered`),l.fragmentError=0)}this.state=Ae.IDLE,u&&(!this.loadedmetadata&&a.type==ea.MAIN&&u.buffered.length&&((r=this.fragCurrent)==null?void 0:r.sn)===((s=this.fragPrevious)==null?void 0:s.sn)&&(this.loadedmetadata=!0,this.seekToStartPos()),this.tick())}seekToStartPos(){}_handleFragmentLoadComplete(a){const{transmuxer:t}=this;if(!t)return;const{frag:n,part:i,partsLoaded:r}=a,s=!r||r.length===0||r.some(o=>!o),u=new gx(n.level,n.sn,n.stats.chunkCount+1,0,i?i.index:-1,!s);t.flush(u)}_handleFragmentLoadProgress(a){}_doFragLoad(a,t,n=null,i){var r;const s=t==null?void 0:t.details;if(!this.levels||!s)throw new Error(`frag load aborted, missing level${s?"":" detail"}s`);let u=null;if(a.encrypted&&!((r=a.decryptdata)!=null&&r.key)?(this.log(`Loading key for ${a.sn} of [${s.startSN}-${s.endSN}], ${this.logPrefix==="[stream-controller]"?"level":"track"} ${a.level}`),this.state=Ae.KEY_LOADING,this.fragCurrent=a,u=this.keyLoader.load(a).then(g=>{if(!this.fragContextChanged(g.frag))return this.hls.trigger(O.KEY_LOADED,g),this.state===Ae.KEY_LOADING&&(this.state=Ae.IDLE),g}),this.hls.trigger(O.KEY_LOADING,{frag:a}),this.fragCurrent===null&&(u=Promise.reject(new Error("frag load aborted, context changed in KEY_LOADING")))):!a.encrypted&&s.encryptedFragments.length&&this.keyLoader.loadClear(a,s.encryptedFragments),n=Math.max(a.start,n||0),this.config.lowLatencyMode&&a.sn!=="initSegment"){const g=s.partList;if(g&&i){n>a.end&&s.fragmentHint&&(a=s.fragmentHint);const d=this.getNextPart(g,a,n);if(d>-1){const c=g[d];this.log(`Loading part sn: ${a.sn} p: ${c.index} cc: ${a.cc} of playlist [${s.startSN}-${s.endSN}] parts [0-${d}-${g.length-1}] ${this.logPrefix==="[stream-controller]"?"level":"track"}: ${a.level}, target: ${parseFloat(n.toFixed(3))}`),this.nextLoadPosition=c.start+c.duration,this.state=Ae.FRAG_LOADING;let p;return u?p=u.then(f=>!f||this.fragContextChanged(f.frag)?null:this.doFragPartsLoad(a,c,t,i)).catch(f=>this.handleFragLoadError(f)):p=this.doFragPartsLoad(a,c,t,i).catch(f=>this.handleFragLoadError(f)),this.hls.trigger(O.FRAG_LOADING,{frag:a,part:c,targetBufferTime:n}),this.fragCurrent===null?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING parts")):p}else if(!a.url||this.loadedEndOfParts(g,n))return Promise.resolve(null)}}this.log(`Loading fragment ${a.sn} cc: ${a.cc} ${s?"of ["+s.startSN+"-"+s.endSN+"] ":""}${this.logPrefix==="[stream-controller]"?"level":"track"}: ${a.level}, target: ${parseFloat(n.toFixed(3))}`),$e(a.sn)&&!this.bitrateTest&&(this.nextLoadPosition=a.start+a.duration),this.state=Ae.FRAG_LOADING;const o=this.config.progressive;let l;return o&&u?l=u.then(g=>!g||this.fragContextChanged(g==null?void 0:g.frag)?null:this.fragmentLoader.load(a,i)).catch(g=>this.handleFragLoadError(g)):l=Promise.all([this.fragmentLoader.load(a,o?i:void 0),u]).then(([g])=>(!o&&g&&i&&i(g),g)).catch(g=>this.handleFragLoadError(g)),this.hls.trigger(O.FRAG_LOADING,{frag:a,targetBufferTime:n}),this.fragCurrent===null?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING")):l}doFragPartsLoad(a,t,n,i){return new Promise((r,s)=>{var u;const o=[],l=(u=n.details)==null?void 0:u.partList,g=d=>{this.fragmentLoader.loadPart(a,d,i).then(c=>{o[d.index]=c;const p=c.part;this.hls.trigger(O.FRAG_LOADED,c);const f=I_(n,a.sn,d.index+1)||mj(l,a.sn,d.index+1);if(f)g(f);else return r({frag:a,part:p,partsLoaded:o})}).catch(s)};g(t)})}handleFragLoadError(a){if("data"in a){const t=a.data;a.data&&t.details===ce.INTERNAL_ABORTED?this.handleFragLoadAborted(t.frag,t.part):this.hls.trigger(O.ERROR,t)}else this.hls.trigger(O.ERROR,{type:na.OTHER_ERROR,details:ce.INTERNAL_EXCEPTION,err:a,error:a,fatal:!0});return null}_handleTransmuxerFlush(a){const t=this.getCurrentContext(a);if(!t||this.state!==Ae.PARSING){!this.fragCurrent&&this.state!==Ae.STOPPED&&this.state!==Ae.ERROR&&(this.state=Ae.IDLE);return}const{frag:n,part:i,level:r}=t,s=self.performance.now();n.stats.parsing.end=s,i&&(i.stats.parsing.end=s),this.updateLevelTiming(n,i,r,a.partial)}getCurrentContext(a){const{levels:t,fragCurrent:n}=this,{level:i,sn:r,part:s}=a;if(!(t!=null&&t[i]))return this.warn(`Levels object was unset while buffering fragment ${r} of level ${i}. The current chunk will not be buffered.`),null;const u=t[i],o=s>-1?I_(u,r,s):null,l=o?o.fragment:gDe(u,r,n);return l?(n&&n!==l&&(l.stats=n.stats),{frag:l,part:o,level:u}):null}bufferFragmentData(a,t,n,i,r){var s;if(!a||this.state!==Ae.PARSING)return;const{data1:u,data2:o}=a;let l=u;if(u&&o&&(l=sr(u,o)),!((s=l)!=null&&s.length))return;const g={type:a.type,frag:t,part:n,chunkMeta:i,parent:t.type,data:l};if(this.hls.trigger(O.BUFFER_APPENDING,g),a.dropped&&a.independent&&!n){if(r)return;this.flushBufferGap(t)}}flushBufferGap(a){const t=this.media;if(!t)return;if(!Ja.isBuffered(t,t.currentTime)){this.flushMainBuffer(0,a.start);return}const n=t.currentTime,i=Ja.bufferInfo(t,n,0),r=a.duration,s=Math.min(this.config.maxFragLookUpTolerance*2,r*.25),u=Math.max(Math.min(a.start-s,i.end-s),n+s);a.start-u>s&&this.flushMainBuffer(u,a.start)}getFwdBufferInfo(a,t){const n=this.getLoadPosition();return $e(n)?this.getFwdBufferInfoAtPos(a,n,t):null}getFwdBufferInfoAtPos(a,t,n){const{config:{maxBufferHole:i}}=this,r=Ja.bufferInfo(a,t,i);if(r.len===0&&r.nextStart!==void 0){const s=this.fragmentTracker.getBufferedFrag(t,n);if(s&&r.nextStart<s.end)return Ja.bufferInfo(a,t,Math.max(r.nextStart,i))}return r}getMaxBufferLength(a){const{config:t}=this;let n;return a?n=Math.max(8*t.maxBufferSize/a,t.maxBufferLength):n=t.maxBufferLength,Math.min(n,t.maxMaxBufferLength)}reduceMaxBufferLength(a,t){const n=this.config,i=Math.max(Math.min(a-t,n.maxBufferLength),t),r=Math.max(a-t*3,n.maxMaxBufferLength/2,i);return r>=i?(n.maxMaxBufferLength=r,this.warn(`Reduce max buffer length to ${r}s`),!0):!1}getAppendedFrag(a,t=ea.MAIN){const n=this.fragmentTracker.getAppendedFrag(a,ea.MAIN);return n&&"fragment"in n?n.fragment:n}getNextFragment(a,t){const n=t.fragments,i=n.length;if(!i)return null;const{config:r}=this,s=n[0].start;let u;if(t.live){const o=r.initialLiveManifestSize;if(i<o)return this.warn(`Not enough fragments to start playback (have: ${i}, need: ${o})`),null;(!t.PTSKnown&&!this.startFragRequested&&this.startPosition===-1||a<s)&&(u=this.getInitialLiveFragment(t,n),this.startPosition=this.nextLoadPosition=u?this.hls.liveSyncPosition||u.start:a)}else a<=s&&(u=n[0]);if(!u){const o=r.lowLatencyMode?t.partEnd:t.fragmentEnd;u=this.getFragmentAtPosition(a,o,t)}return this.mapToInitFragWhenRequired(u)}isLoopLoading(a,t){const n=this.fragmentTracker.getState(a);return(n===Wt.OK||n===Wt.PARTIAL&&!!a.gap)&&this.nextLoadPosition>t}getNextFragmentLoopLoading(a,t,n,i,r){const s=a.gap,u=this.getNextFragment(this.nextLoadPosition,t);if(u===null)return u;if(a=u,s&&a&&!a.gap&&n.nextStart){const o=this.getFwdBufferInfoAtPos(this.mediaBuffer?this.mediaBuffer:this.media,n.nextStart,i);if(o!==null&&n.len+o.len>=r)return this.log(`buffer full after gaps in "${i}" playlist starting at sn: ${a.sn}`),null}return a}mapToInitFragWhenRequired(a){return a!=null&&a.initSegment&&!(a!=null&&a.initSegment.data)&&!this.bitrateTest?a.initSegment:a}getNextPart(a,t,n){let i=-1,r=!1,s=!0;for(let u=0,o=a.length;u<o;u++){const l=a[u];if(s=s&&!l.independent,i>-1&&n<l.start)break;const g=l.loaded;g?i=-1:(r||l.independent||s)&&l.fragment===t&&(i=u),r=g}return i}loadedEndOfParts(a,t){const n=a[a.length-1];return n&&t>n.start&&n.loaded}getInitialLiveFragment(a,t){const n=this.fragPrevious;let i=null;if(n){if(a.hasProgramDateTime&&(this.log(`Live playlist, switching playlist, load frag with same PDT: ${n.programDateTime}`),i=cDe(t,n.endProgramDateTime,this.config.maxFragLookUpTolerance)),!i){const r=n.sn+1;if(r>=a.startSN&&r<=a.endSN){const s=t[r-a.startSN];n.cc===s.cc&&(i=s,this.log(`Live playlist, switching playlist, load frag with next SN: ${i.sn}`))}i||(i=hDe(t,n.cc),i&&this.log(`Live playlist, switching playlist, load frag with same CC: ${i.sn}`))}}else{const r=this.hls.liveSyncPosition;r!==null&&(i=this.getFragmentAtPosition(r,this.bitrateTest?a.fragmentEnd:a.edge,a))}return i}getFragmentAtPosition(a,t,n){const{config:i}=this;let{fragPrevious:r}=this,{fragments:s,endSN:u}=n;const{fragmentHint:o}=n,{maxFragLookUpTolerance:l}=i,g=n.partList,d=!!(i.lowLatencyMode&&g!=null&&g.length&&o);d&&o&&!this.bitrateTest&&(s=s.concat(o),u=o.sn);let c;if(a<t){const p=a>t-l?0:l;c=Jm(r,s,a,p)}else c=s[s.length-1];if(c){const p=c.sn-n.startSN,f=this.fragmentTracker.getState(c);if((f===Wt.OK||f===Wt.PARTIAL&&c.gap)&&(r=c),r&&c.sn===r.sn&&(!d||g[0].fragment.sn>c.sn)&&r&&c.level===r.level){const y=s[p+1];c.sn<u&&this.fragmentTracker.getState(y)!==Wt.OK?c=y:c=null}}return c}synchronizeToLiveEdge(a){const{config:t,media:n}=this;if(!n)return;const i=this.hls.liveSyncPosition,r=n.currentTime,s=a.fragments[0].start,u=a.edge,o=r>=s-t.maxFragLookUpTolerance&&r<=u;if(i!==null&&n.duration>i&&(r<i||!o)){const l=t.liveMaxLatencyDuration!==void 0?t.liveMaxLatencyDuration:t.liveMaxLatencyDurationCount*a.targetduration;(!o&&n.readyState<4||r<u-l)&&(this.loadedmetadata||(this.nextLoadPosition=i),n.readyState&&(this.warn(`Playback: ${r.toFixed(3)} is located too far from the end of live sliding playlist: ${u}, reset currentTime to : ${i.toFixed(3)}`),n.currentTime=i))}}alignPlaylists(a,t,n){const i=a.fragments.length;if(!i)return this.warn("No fragments in live playlist"),0;const r=a.fragments[0].start,s=!t,u=a.alignedSliding&&$e(r);if(s||!u&&!r){const{fragPrevious:o}=this;PDe(o,n,a);const l=a.fragments[0].start;return this.log(`Live playlist sliding: ${l.toFixed(2)} start-sn: ${t?t.startSN:"na"}->${a.startSN} prev-sn: ${o?o.sn:"na"} fragments: ${i}`),l}return r}waitForCdnTuneIn(a){return a.live&&a.canBlockReload&&a.partTarget&&a.tuneInGoal>Math.max(a.partHoldBack,a.partTarget*3)}setStartPosition(a,t){let n=this.startPosition;if(n<t&&(n=-1),n===-1||this.lastCurrentTime===-1){const i=this.startTimeOffset!==null,r=i?this.startTimeOffset:a.startTimeOffset;r!==null&&$e(r)?(n=t+r,r<0&&(n+=a.totalduration),n=Math.min(Math.max(t,n),t+a.totalduration),this.log(`Start time offset ${r} found in ${i?"multivariant":"media"} playlist, adjust startPosition to ${n}`),this.startPosition=n):a.live?n=this.hls.liveSyncPosition||t:this.startPosition=n=0,this.lastCurrentTime=n}this.nextLoadPosition=n}getLoadPosition(){const{media:a}=this;let t=0;return this.loadedmetadata&&a?t=a.currentTime:this.nextLoadPosition&&(t=this.nextLoadPosition),t}handleFragLoadAborted(a,t){this.transmuxer&&a.sn!=="initSegment"&&a.stats.aborted&&(this.warn(`Fragment ${a.sn}${t?" part "+t.index:""} of level ${a.level} was aborted`),this.resetFragmentLoading(a))}resetFragmentLoading(a){(!this.fragCurrent||!this.fragContextChanged(a)&&this.state!==Ae.FRAG_LOADING_WAITING_RETRY)&&(this.state=Ae.IDLE)}onFragmentOrKeyLoadError(a,t){if(t.chunkMeta&&!t.frag){const g=this.getCurrentContext(t.chunkMeta);g&&(t.frag=g.frag)}const n=t.frag;if(!n||n.type!==a||!this.levels)return;if(this.fragContextChanged(n)){var i;this.warn(`Frag load error must match current frag to retry ${n.url} > ${(i=this.fragCurrent)==null?void 0:i.url}`);return}const r=t.details===ce.FRAG_GAP;r&&this.fragmentTracker.fragBuffered(n,!0);const s=t.errorAction,{action:u,retryCount:o=0,retryConfig:l}=s||{};if(s&&u===pn.RetryRequest&&l){this.resetStartWhenNotLoaded(this.levelLastLoaded);const g=ox(l,o);this.warn(`Fragment ${n.sn} of ${a} ${n.level} errored with ${t.details}, retrying loading ${o+1}/${l.maxNumRetry} in ${g}ms`),s.resolved=!0,this.retryDate=self.performance.now()+g,this.state=Ae.FRAG_LOADING_WAITING_RETRY}else if(l&&s)if(this.resetFragmentErrors(a),o<l.maxNumRetry)!r&&u!==pn.RemoveAlternatePermanently&&(s.resolved=!0);else{se.warn(`${t.details} reached or exceeded max retry (${o})`);return}else(s==null?void 0:s.action)===pn.SendAlternateToPenaltyBox?this.state=Ae.WAITING_LEVEL:this.state=Ae.ERROR;this.tickImmediate()}reduceLengthAndFlushBuffer(a){if(this.state===Ae.PARSING||this.state===Ae.PARSED){const t=a.frag,n=a.parent,i=this.getFwdBufferInfo(this.mediaBuffer,n),r=i&&i.len>.5;r&&this.reduceMaxBufferLength(i.len,(t==null?void 0:t.duration)||10);const s=!r;return s&&this.warn(`Buffer full error while media.currentTime is not buffered, flush ${n} buffer`),t&&(this.fragmentTracker.removeFragment(t),this.nextLoadPosition=t.start),this.resetLoadingState(),s}return!1}resetFragmentErrors(a){a===ea.AUDIO&&(this.fragCurrent=null),this.loadedmetadata||(this.startFragRequested=!1),this.state!==Ae.STOPPED&&(this.state=Ae.IDLE)}afterBufferFlushed(a,t,n){if(!a)return;const i=Ja.getBuffered(a);this.fragmentTracker.detectEvictedFragments(t,i,n),this.state===Ae.ENDED&&this.resetLoadingState()}resetLoadingState(){this.log("Reset loading state"),this.fragCurrent=null,this.fragPrevious=null,this.state=Ae.IDLE}resetStartWhenNotLoaded(a){if(!this.loadedmetadata){this.startFragRequested=!1;const t=a?a.details:null;t!=null&&t.live?(this.startPosition=-1,this.setStartPosition(t,0),this.resetLoadingState()):this.nextLoadPosition=this.startPosition}}resetWhenMissingContext(a){this.warn(`The loading context changed while buffering fragment ${a.sn} of level ${a.level}. This chunk will not be buffered.`),this.removeUnbufferedFrags(),this.resetStartWhenNotLoaded(this.levelLastLoaded),this.resetLoadingState()}removeUnbufferedFrags(a=0){this.fragmentTracker.removeFragmentsInRange(a,1/0,this.playlistType,!1,!0)}updateLevelTiming(a,t,n,i){var r;const s=n.details;if(!s){this.warn("level.details undefined");return}if(!Object.keys(a.elementaryStreams).reduce((o,l)=>{const g=a.elementaryStreams[l];if(g){const d=g.endPTS-g.startPTS;if(d<=0)return this.warn(`Could not parse fragment ${a.sn} ${l} duration reliably (${d})`),o||!1;const c=i?0:fj(s,a,g.startPTS,g.endPTS,g.startDTS,g.endDTS);return this.hls.trigger(O.LEVEL_PTS_UPDATED,{details:s,level:n,drift:c,type:l,frag:a,start:g.startPTS,end:g.endPTS}),!0}return o},!1)&&((r=this.transmuxer)==null?void 0:r.error)===null){const o=new Error(`Found no media in fragment ${a.sn} of level ${a.level} resetting transmuxer to fallback to playlist timing`);if(n.fragmentError===0&&(n.fragmentError++,a.gap=!0,this.fragmentTracker.removeFragment(a),this.fragmentTracker.fragBuffered(a,!0)),this.warn(o.message),this.hls.trigger(O.ERROR,{type:na.MEDIA_ERROR,details:ce.FRAG_PARSING_ERROR,fatal:!1,error:o,frag:a,reason:`Found no media in msn ${a.sn} of level "${n.url}"`}),!this.hls)return;this.resetTransmuxer()}this.state=Ae.PARSED,this.hls.trigger(O.FRAG_PARSED,{frag:a,part:t})}resetTransmuxer(){this.transmuxer&&(this.transmuxer.destroy(),this.transmuxer=null)}recoverWorkerError(a){a.event==="demuxerWorker"&&(this.fragmentTracker.removeAllFragments(),this.resetTransmuxer(),this.resetStartWhenNotLoaded(this.levelLastLoaded),this.resetLoadingState())}set state(a){const t=this._state;t!==a&&(this._state=a,this.log(`${t}->${a}`))}get state(){return this._state}}class Aj{constructor(){this.chunks=[],this.dataLength=0}push(a){this.chunks.push(a),this.dataLength+=a.length}flush(){const{chunks:a,dataLength:t}=this;let n;if(a.length)a.length===1?n=a[0]:n=KDe(a,t);else return new Uint8Array(0);return this.reset(),n}reset(){this.chunks.length=0,this.dataLength=0}}function KDe(e,a){const t=new Uint8Array(a);let n=0;for(let i=0;i<e.length;i++){const r=e[i];t.set(r,n),n+=r.length}return t}function HDe(){return typeof __HLS_WORKER_BUNDLE__=="function"}function qDe(){const e=new self.Blob([`var exports={};var module={exports:exports};function define(f){f()};define.amd=true;(${__HLS_WORKER_BUNDLE__.toString()})(true);`],{type:"text/javascript"}),a=self.URL.createObjectURL(e);return{worker:new self.Worker(a),objectURL:a}}function VDe(e){const a=new self.URL(e,self.location.href).href;return{worker:new self.Worker(a),scriptURL:a}}function Xr(e="",a=9e4){return{type:e,id:-1,pid:-1,inputTimeScale:a,sequenceNumber:-1,samples:[],dropped:0}}class px{constructor(){this._audioTrack=void 0,this._id3Track=void 0,this.frameIndex=0,this.cachedData=null,this.basePTS=null,this.initPTS=null,this.lastPTS=null}resetInitSegment(a,t,n,i){this._id3Track={type:"id3",id:3,pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0}}resetTimeStamp(a){this.initPTS=a,this.resetContiguity()}resetContiguity(){this.basePTS=null,this.lastPTS=null,this.frameIndex=0}canParse(a,t){return!1}appendFrame(a,t,n){}demux(a,t){this.cachedData&&(a=sr(this.cachedData,a),this.cachedData=null);let n=Wc(a,0),i=n?n.length:0,r;const s=this._audioTrack,u=this._id3Track,o=n?ux(n):void 0,l=a.length;for((this.basePTS===null||this.frameIndex===0&&$e(o))&&(this.basePTS=GDe(o,t,this.initPTS),this.lastPTS=this.basePTS),this.lastPTS===null&&(this.lastPTS=this.basePTS),n&&n.length>0&&u.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:n,type:Sr.audioId3,duration:Number.POSITIVE_INFINITY});i<l;){if(this.canParse(a,i)){const g=this.appendFrame(s,a,i);g?(this.frameIndex++,this.lastPTS=g.sample.pts,i+=g.length,r=i):i=l}else f6e(a,i)?(n=Wc(a,i),u.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:n,type:Sr.audioId3,duration:Number.POSITIVE_INFINITY}),i+=n.length,r=i):i++;if(i===l&&r!==l){const g=Wo(a,r);this.cachedData?this.cachedData=sr(this.cachedData,g):this.cachedData=g}}return{audioTrack:s,videoTrack:Xr(),id3Track:u,textTrack:Xr()}}demuxSampleAes(a,t,n){return Promise.reject(new Error(`[${this}] This demuxer does not support Sample-AES decryption`))}flush(a){const t=this.cachedData;return t&&(this.cachedData=null,this.demux(t,0)),{audioTrack:this._audioTrack,videoTrack:Xr(),id3Track:this._id3Track,textTrack:Xr()}}destroy(){}}const GDe=(e,a,t)=>{if($e(e))return e*90;const n=t?t.baseTime*9e4/t.timescale:0;return a*9e4+n};function WDe(e,a,t,n){let i,r,s,u;const o=navigator.userAgent.toLowerCase(),l=n,g=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];i=((a[t+2]&192)>>>6)+1;const d=(a[t+2]&60)>>>2;if(d>g.length-1){const c=new Error(`invalid ADTS sampling index:${d}`);e.emit(O.ERROR,O.ERROR,{type:na.MEDIA_ERROR,details:ce.FRAG_PARSING_ERROR,fatal:!0,error:c,reason:c.message});return}return s=(a[t+2]&1)<<2,s|=(a[t+3]&192)>>>6,se.log(`manifest codec:${n}, ADTS type:${i}, samplingIndex:${d}`),/firefox/i.test(o)?d>=6?(i=5,u=new Array(4),r=d-3):(i=2,u=new Array(2),r=d):o.indexOf("android")!==-1?(i=2,u=new Array(2),r=d):(i=5,u=new Array(4),n&&(n.indexOf("mp4a.40.29")!==-1||n.indexOf("mp4a.40.5")!==-1)||!n&&d>=6?r=d-3:((n&&n.indexOf("mp4a.40.2")!==-1&&(d>=6&&s===1||/vivaldi/i.test(o))||!n&&s===1)&&(i=2,u=new Array(2)),r=d)),u[0]=i<<3,u[0]|=(d&14)>>1,u[1]|=(d&1)<<7,u[1]|=s<<3,i===5&&(u[1]|=(r&14)>>1,u[2]=(r&1)<<7,u[2]|=8,u[3]=0),{config:u,samplerate:g[d],channelCount:s,codec:"mp4a.40."+i,manifestCodec:l}}function vj(e,a){return e[a]===255&&(e[a+1]&246)===240}function Dj(e,a){return e[a+1]&1?7:9}function fx(e,a){return(e[a+3]&3)<<11|e[a+4]<<3|(e[a+5]&224)>>>5}function YDe(e,a){return a+5<e.length}function ay(e,a){return a+1<e.length&&vj(e,a)}function XDe(e,a){return YDe(e,a)&&vj(e,a)&&fx(e,a)<=e.length-a}function QDe(e,a){if(ay(e,a)){const t=Dj(e,a);if(a+t>=e.length)return!1;const n=fx(e,a);if(n<=t)return!1;const i=a+n;return i===e.length||ay(e,i)}return!1}function xj(e,a,t,n,i){if(!e.samplerate){const r=WDe(a,t,n,i);if(!r)return;e.config=r.config,e.samplerate=r.samplerate,e.channelCount=r.channelCount,e.codec=r.codec,e.manifestCodec=r.manifestCodec,se.log(`parsed codec:${e.codec}, rate:${r.samplerate}, channels:${r.channelCount}`)}}function Ej(e){return 1024*9e4/e}function ZDe(e,a){const t=Dj(e,a);if(a+t<=e.length){const n=fx(e,a)-t;if(n>0)return{headerLength:t,frameLength:n}}}function kj(e,a,t,n,i){const r=Ej(e.samplerate),s=n+i*r,u=ZDe(a,t);let o;if(u){const{frameLength:d,headerLength:c}=u,p=c+d,f=Math.max(0,t+p-a.length);f?(o=new Uint8Array(p-c),o.set(a.subarray(t+c,a.length),0)):o=a.subarray(t+c,t+p);const h={unit:o,pts:s};return f||e.samples.push(h),{sample:h,length:p,missing:f}}const l=a.length-t;return o=new Uint8Array(l),o.set(a.subarray(t,a.length),0),{sample:{unit:o,pts:s},length:l,missing:-1}}let r2=null;const JDe=[32,64,96,128,160,192,224,256,288,320,352,384,416,448,32,48,56,64,80,96,112,128,160,192,224,256,320,384,32,40,48,56,64,80,96,112,128,160,192,224,256,320,32,48,56,64,80,96,112,128,144,160,176,192,224,256,8,16,24,32,40,48,56,64,80,96,112,128,144,160],exe=[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3],axe=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],txe=[0,1,1,4];function Cj(e,a,t,n,i){if(t+24>a.length)return;const r=wj(a,t);if(r&&t+r.frameLength<=a.length){const s=r.samplesPerFrame*9e4/r.sampleRate,u=n+i*s,o={unit:a.subarray(t,t+r.frameLength),pts:u,dts:u};return e.config=[],e.channelCount=r.channelCount,e.samplerate=r.sampleRate,e.samples.push(o),{sample:o,length:r.frameLength,missing:0}}}function wj(e,a){const t=e[a+1]>>3&3,n=e[a+1]>>1&3,i=e[a+2]>>4&15,r=e[a+2]>>2&3;if(t!==1&&i!==0&&i!==15&&r!==3){const s=e[a+2]>>1&1,u=e[a+3]>>6,o=t===3?3-n:n===3?3:4,l=JDe[o*14+i-1]*1e3,d=exe[(t===3?0:t===2?1:2)*3+r],c=u===3?1:2,p=axe[t][n],f=txe[n],h=p*8*f,y=Math.floor(p*l/d+s)*f;if(r2===null){const T=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);r2=T?parseInt(T[1]):0}return!!r2&&r2<=87&&n===2&&l>=224e3&&u===0&&(e[a+3]=e[a+3]|128),{sampleRate:d,channelCount:c,frameLength:y,samplesPerFrame:h}}}function hx(e,a){return e[a]===255&&(e[a+1]&224)===224&&(e[a+1]&6)!==0}function _j(e,a){return a+1<e.length&&hx(e,a)}function nxe(e,a){return hx(e,a)&&4<=e.length-a}function Ij(e,a){if(a+1<e.length&&hx(e,a)){const n=wj(e,a);let i=4;n!=null&&n.frameLength&&(i=n.frameLength);const r=a+i;return r===e.length||_j(e,r)}return!1}class ixe extends px{constructor(a,t){super(),this.observer=void 0,this.config=void 0,this.observer=a,this.config=t}resetInitSegment(a,t,n,i){super.resetInitSegment(a,t,n,i),this._audioTrack={container:"audio/adts",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"aac",samples:[],manifestCodec:t,duration:i,inputTimeScale:9e4,dropped:0}}static probe(a){if(!a)return!1;const t=Wc(a,0);let n=(t==null?void 0:t.length)||0;if(Ij(a,n))return!1;for(let i=a.length;n<i;n++)if(QDe(a,n))return se.log("ADTS sync word found !"),!0;return!1}canParse(a,t){return XDe(a,t)}appendFrame(a,t,n){xj(a,this.observer,t,n,a.manifestCodec);const i=kj(a,t,n,this.basePTS,this.frameIndex);if(i&&i.missing===0)return i}}const rxe=/\/emsg[-/]ID3/i;class sxe{constructor(a,t){this.remainderData=null,this.timeOffset=0,this.config=void 0,this.videoTrack=void 0,this.audioTrack=void 0,this.id3Track=void 0,this.txtTrack=void 0,this.config=t}resetTimeStamp(){}resetInitSegment(a,t,n,i){const r=this.videoTrack=Xr("video",1),s=this.audioTrack=Xr("audio",1),u=this.txtTrack=Xr("text",1);if(this.id3Track=Xr("id3",1),this.timeOffset=0,!(a!=null&&a.byteLength))return;const o=sj(a);if(o.video){const{id:l,timescale:g,codec:d}=o.video;r.id=l,r.timescale=u.timescale=g,r.codec=d}if(o.audio){const{id:l,timescale:g,codec:d}=o.audio;s.id=l,s.timescale=g,s.codec=d}u.id=nj.text,r.sampleDuration=0,r.duration=s.duration=i}resetContiguity(){this.remainderData=null}static probe(a){return D6e(a)}demux(a,t){this.timeOffset=t;let n=a;const i=this.videoTrack,r=this.txtTrack;if(this.config.progressive){this.remainderData&&(n=sr(this.remainderData,a));const u=N6e(n);this.remainderData=u.remainder,i.samples=u.valid||new Uint8Array}else i.samples=n;const s=this.extractID3Track(i,t);return r.samples=d_(t,i),{videoTrack:i,audioTrack:this.audioTrack,id3Track:s,textTrack:this.txtTrack}}flush(){const a=this.timeOffset,t=this.videoTrack,n=this.txtTrack;t.samples=this.remainderData||new Uint8Array,this.remainderData=null;const i=this.extractID3Track(t,this.timeOffset);return n.samples=d_(a,t),{videoTrack:t,audioTrack:Xr(),id3Track:i,textTrack:Xr()}}extractID3Track(a,t){const n=this.id3Track;if(a.samples.length){const i=la(a.samples,["emsg"]);i&&i.forEach(r=>{const s=P6e(r);if(rxe.test(s.schemeIdUri)){const u=$e(s.presentationTime)?s.presentationTime/s.timeScale:t+s.presentationTimeDelta/s.timeScale;let o=s.eventDuration===4294967295?Number.POSITIVE_INFINITY:s.eventDuration/s.timeScale;o<=.001&&(o=Number.POSITIVE_INFINITY);const l=s.payload;n.samples.push({data:l,len:l.byteLength,dts:u,pts:u,type:Sr.emsg,duration:o})}})}return n}demuxSampleAes(a,t,n){return Promise.reject(new Error("The MP4 demuxer does not support SAMPLE-AES decryption"))}destroy(){}}const Nj=(e,a)=>{let t=0,n=5;a+=n;const i=new Uint32Array(1),r=new Uint32Array(1),s=new Uint8Array(1);for(;n>0;){s[0]=e[a];const u=Math.min(n,8),o=8-u;r[0]=4278190080>>>24+o<<o,i[0]=(s[0]&r[0])>>o,t=t?t<<u|i[0]:i[0],a+=1,n-=u}return t};class uxe extends px{constructor(a){super(),this.observer=void 0,this.observer=a}resetInitSegment(a,t,n,i){super.resetInitSegment(a,t,n,i),this._audioTrack={container:"audio/ac-3",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"ac3",samples:[],manifestCodec:t,duration:i,inputTimeScale:9e4,dropped:0}}canParse(a,t){return t+64<a.length}appendFrame(a,t,n){const i=Lj(a,t,n,this.basePTS,this.frameIndex);if(i!==-1)return{sample:a.samples[a.samples.length-1],length:i,missing:0}}static probe(a){if(!a)return!1;const t=Wc(a,0);if(!t)return!1;const n=t.length;return a[n]===11&&a[n+1]===119&&ux(t)!==void 0&&Nj(a,n)<16}}function Lj(e,a,t,n,i){if(t+8>a.length||a[t]!==11||a[t+1]!==119)return-1;const r=a[t+4]>>6;if(r>=3)return-1;const u=[48e3,44100,32e3][r],o=a[t+4]&63,g=[64,69,96,64,70,96,80,87,120,80,88,120,96,104,144,96,105,144,112,121,168,112,122,168,128,139,192,128,140,192,160,174,240,160,175,240,192,208,288,192,209,288,224,243,336,224,244,336,256,278,384,256,279,384,320,348,480,320,349,480,384,417,576,384,418,576,448,487,672,448,488,672,512,557,768,512,558,768,640,696,960,640,697,960,768,835,1152,768,836,1152,896,975,1344,896,976,1344,1024,1114,1536,1024,1115,1536,1152,1253,1728,1152,1254,1728,1280,1393,1920,1280,1394,1920][o*3+r]*2;if(t+g>a.length)return-1;const d=a[t+6]>>5;let c=0;d===2?c+=2:(d&1&&d!==1&&(c+=2),d&4&&(c+=2));const p=(a[t+6]<<8|a[t+7])>>12-c&1,h=[2,1,2,3,3,4,4,5][d]+p,y=a[t+5]>>3,b=a[t+5]&7,m=new Uint8Array([r<<6|y<<1|b>>2,(b&3)<<6|d<<3|p<<2|o>>4,o<<4&224]),T=1536/u*9e4,A=n+i*T,v=a.subarray(t,t+g);return e.config=m,e.channelCount=h,e.samplerate=u,e.samples.push({unit:v,pts:A}),g}class oxe{constructor(){this.VideoSample=null}createVideoSample(a,t,n,i){return{key:a,frame:!1,pts:t,dts:n,units:[],debug:i,length:0}}getLastNalUnit(a){var t;let n=this.VideoSample,i;if((!n||n.units.length===0)&&(n=a[a.length-1]),(t=n)!=null&&t.units){const r=n.units;i=r[r.length-1]}return i}pushAccessUnit(a,t){if(a.units.length&&a.frame){if(a.pts===void 0){const n=t.samples,i=n.length;if(i){const r=n[i-1];a.pts=r.pts,a.dts=r.dts}else{t.dropped++;return}}t.samples.push(a)}a.debug.length&&se.log(a.pts+"/"+a.dts+":"+a.debug)}}class U_{constructor(a){this.data=void 0,this.bytesAvailable=void 0,this.word=void 0,this.bitsAvailable=void 0,this.data=a,this.bytesAvailable=a.byteLength,this.word=0,this.bitsAvailable=0}loadWord(){const a=this.data,t=this.bytesAvailable,n=a.byteLength-t,i=new Uint8Array(4),r=Math.min(4,t);if(r===0)throw new Error("no bytes available");i.set(a.subarray(n,n+r)),this.word=new DataView(i.buffer).getUint32(0),this.bitsAvailable=r*8,this.bytesAvailable-=r}skipBits(a){let t;a=Math.min(a,this.bytesAvailable*8+this.bitsAvailable),this.bitsAvailable>a?(this.word<<=a,this.bitsAvailable-=a):(a-=this.bitsAvailable,t=a>>3,a-=t<<3,this.bytesAvailable-=t,this.loadWord(),this.word<<=a,this.bitsAvailable-=a)}readBits(a){let t=Math.min(this.bitsAvailable,a);const n=this.word>>>32-t;if(a>32&&se.error("Cannot read more than 32 bits at a time"),this.bitsAvailable-=t,this.bitsAvailable>0)this.word<<=t;else if(this.bytesAvailable>0)this.loadWord();else throw new Error("no bits available");return t=a-t,t>0&&this.bitsAvailable?n<<t|this.readBits(t):n}skipLZ(){let a;for(a=0;a<this.bitsAvailable;++a)if(this.word&2147483648>>>a)return this.word<<=a,this.bitsAvailable-=a,a;return this.loadWord(),a+this.skipLZ()}skipUEG(){this.skipBits(1+this.skipLZ())}skipEG(){this.skipBits(1+this.skipLZ())}readUEG(){const a=this.skipLZ();return this.readBits(a+1)-1}readEG(){const a=this.readUEG();return 1&a?1+a>>>1:-1*(a>>>1)}readBoolean(){return this.readBits(1)===1}readUByte(){return this.readBits(8)}readUShort(){return this.readBits(16)}readUInt(){return this.readBits(32)}skipScalingList(a){let t=8,n=8,i;for(let r=0;r<a;r++)n!==0&&(i=this.readEG(),n=(t+i+256)%256),t=n===0?t:n}readSPS(){let a=0,t=0,n=0,i=0,r,s,u;const o=this.readUByte.bind(this),l=this.readBits.bind(this),g=this.readUEG.bind(this),d=this.readBoolean.bind(this),c=this.skipBits.bind(this),p=this.skipEG.bind(this),f=this.skipUEG.bind(this),h=this.skipScalingList.bind(this);o();const y=o();if(l(5),c(3),o(),f(),y===100||y===110||y===122||y===244||y===44||y===83||y===86||y===118||y===128){const D=g();if(D===3&&c(1),f(),f(),c(1),d())for(s=D!==3?8:12,u=0;u<s;u++)d()&&(u<6?h(16):h(64))}f();const b=g();if(b===0)g();else if(b===1)for(c(1),p(),p(),r=g(),u=0;u<r;u++)p();f(),c(1);const m=g(),T=g(),A=l(1);A===0&&c(1),c(1),d()&&(a=g(),t=g(),n=g(),i=g());let v=[1,1];if(d()&&d())switch(o()){case 1:v=[1,1];break;case 2:v=[12,11];break;case 3:v=[10,11];break;case 4:v=[16,11];break;case 5:v=[40,33];break;case 6:v=[24,11];break;case 7:v=[20,11];break;case 8:v=[32,11];break;case 9:v=[80,33];break;case 10:v=[18,11];break;case 11:v=[15,11];break;case 12:v=[64,33];break;case 13:v=[160,99];break;case 14:v=[4,3];break;case 15:v=[3,2];break;case 16:v=[2,1];break;case 255:{v=[o()<<8|o(),o()<<8|o()];break}}return{width:Math.ceil((m+1)*16-a*2-t*2),height:(2-A)*(T+1)*16-(A?2:4)*(n+i),pixelRatio:v}}readSliceType(){return this.readUByte(),this.readUEG(),this.readUEG()}}class lxe extends oxe{parseAVCPES(a,t,n,i,r){const s=this.parseAVCNALu(a,n.data);let u=this.VideoSample,o,l=!1;n.data=null,u&&s.length&&!a.audFound&&(this.pushAccessUnit(u,a),u=this.VideoSample=this.createVideoSample(!1,n.pts,n.dts,"")),s.forEach(g=>{var d;switch(g.type){case 1:{let h=!1;o=!0;const y=g.data;if(l&&y.length>4){const b=new U_(y).readSliceType();(b===2||b===4||b===7||b===9)&&(h=!0)}if(h){var c;(c=u)!=null&&c.frame&&!u.key&&(this.pushAccessUnit(u,a),u=this.VideoSample=null)}u||(u=this.VideoSample=this.createVideoSample(!0,n.pts,n.dts,"")),u.frame=!0,u.key=h;break}case 5:o=!0,(d=u)!=null&&d.frame&&!u.key&&(this.pushAccessUnit(u,a),u=this.VideoSample=null),u||(u=this.VideoSample=this.createVideoSample(!0,n.pts,n.dts,"")),u.key=!0,u.frame=!0;break;case 6:{o=!0,oj(g.data,1,n.pts,t.samples);break}case 7:{var p,f;o=!0,l=!0;const h=g.data,b=new U_(h).readSPS();if(!a.sps||a.width!==b.width||a.height!==b.height||((p=a.pixelRatio)==null?void 0:p[0])!==b.pixelRatio[0]||((f=a.pixelRatio)==null?void 0:f[1])!==b.pixelRatio[1]){a.width=b.width,a.height=b.height,a.pixelRatio=b.pixelRatio,a.sps=[h],a.duration=r;const m=h.subarray(1,4);let T="avc1.";for(let A=0;A<3;A++){let v=m[A].toString(16);v.length<2&&(v="0"+v),T+=v}a.codec=T}break}case 8:o=!0,a.pps=[g.data];break;case 9:o=!0,a.audFound=!0,u&&this.pushAccessUnit(u,a),u=this.VideoSample=this.createVideoSample(!1,n.pts,n.dts,"");break;case 12:o=!0;break;default:o=!1,u&&(u.debug+="unknown NAL "+g.type+" ");break}u&&o&&u.units.push(g)}),i&&u&&(this.pushAccessUnit(u,a),this.VideoSample=null)}parseAVCNALu(a,t){const n=t.byteLength;let i=a.naluState||0;const r=i,s=[];let u=0,o,l,g,d=-1,c=0;for(i===-1&&(d=0,c=t[0]&31,i=0,u=1);u<n;){if(o=t[u++],!i){i=o?0:1;continue}if(i===1){i=o?0:2;continue}if(!o)i=3;else if(o===1){if(l=u-i-1,d>=0){const p={data:t.subarray(d,l),type:c};s.push(p)}else{const p=this.getLastNalUnit(a.samples);p&&(r&&u<=4-r&&p.state&&(p.data=p.data.subarray(0,p.data.byteLength-r)),l>0&&(p.data=sr(p.data,t.subarray(0,l)),p.state=0))}u<n?(g=t[u]&31,d=u,c=g,i=0):i=-1}else i=0}if(d>=0&&i>=0){const p={data:t.subarray(d,n),type:c,state:i};s.push(p)}if(s.length===0){const p=this.getLastNalUnit(a.samples);p&&(p.data=sr(p.data,t))}return a.naluState=i,s}}class gxe{constructor(a,t,n){this.keyData=void 0,this.decrypter=void 0,this.keyData=n,this.decrypter=new dx(t,{removePKCS7Padding:!1})}decryptBuffer(a){return this.decrypter.decrypt(a,this.keyData.key.buffer,this.keyData.iv.buffer)}decryptAacSample(a,t,n){const i=a[t].unit;if(i.length<=16)return;const r=i.subarray(16,i.length-i.length%16),s=r.buffer.slice(r.byteOffset,r.byteOffset+r.length);this.decryptBuffer(s).then(u=>{const o=new Uint8Array(u);i.set(o,16),this.decrypter.isSync()||this.decryptAacSamples(a,t+1,n)})}decryptAacSamples(a,t,n){for(;;t++){if(t>=a.length){n();return}if(!(a[t].unit.length<32)&&(this.decryptAacSample(a,t,n),!this.decrypter.isSync()))return}}getAvcEncryptedData(a){const t=Math.floor((a.length-48)/160)*16+16,n=new Int8Array(t);let i=0;for(let r=32;r<a.length-16;r+=160,i+=16)n.set(a.subarray(r,r+16),i);return n}getAvcDecryptedUnit(a,t){const n=new Uint8Array(t);let i=0;for(let r=32;r<a.length-16;r+=160,i+=16)a.set(n.subarray(i,i+16),r);return a}decryptAvcSample(a,t,n,i,r){const s=lj(r.data),u=this.getAvcEncryptedData(s);this.decryptBuffer(u.buffer).then(o=>{r.data=this.getAvcDecryptedUnit(s,o),this.decrypter.isSync()||this.decryptAvcSamples(a,t,n+1,i)})}decryptAvcSamples(a,t,n,i){if(a instanceof Uint8Array)throw new Error("Cannot decrypt samples of type Uint8Array");for(;;t++,n=0){if(t>=a.length){i();return}const r=a[t].units;for(;!(n>=r.length);n++){const s=r[n];if(!(s.data.length<=48||s.type!==1&&s.type!==5)&&(this.decryptAvcSample(a,t,n,i,s),!this.decrypter.isSync()))return}}}}const Kt=188;class Tu{constructor(a,t,n){this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.sampleAes=null,this.pmtParsed=!1,this.audioCodec=void 0,this.videoCodec=void 0,this._duration=0,this._pmtId=-1,this._videoTrack=void 0,this._audioTrack=void 0,this._id3Track=void 0,this._txtTrack=void 0,this.aacOverFlow=null,this.remainderData=null,this.videoParser=void 0,this.observer=a,this.config=t,this.typeSupported=n,this.videoParser=new lxe}static probe(a){const t=Tu.syncOffset(a);return t>0&&se.warn(`MPEG2-TS detected but first sync word found @ offset ${t}`),t!==-1}static syncOffset(a){const t=a.length;let n=Math.min(Kt*5,t-Kt)+1,i=0;for(;i<n;){let r=!1,s=-1,u=0;for(let o=i;o<t;o+=Kt)if(a[o]===71&&(t-o===Kt||a[o+Kt]===71)){if(u++,s===-1&&(s=o,s!==0&&(n=Math.min(s+Kt*99,a.length-Kt)+1)),r||(r=i3(a,o)===0),r&&u>1&&(s===0&&u>2||o+Kt>n))return s}else{if(u)return-1;break}i++}return-1}static createTrack(a,t){return{container:a==="video"||a==="audio"?"video/mp2t":void 0,type:a,id:nj[a],pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0,duration:a==="audio"?t:void 0}}resetInitSegment(a,t,n,i){this.pmtParsed=!1,this._pmtId=-1,this._videoTrack=Tu.createTrack("video"),this._audioTrack=Tu.createTrack("audio",i),this._id3Track=Tu.createTrack("id3"),this._txtTrack=Tu.createTrack("text"),this._audioTrack.segmentCodec="aac",this.aacOverFlow=null,this.remainderData=null,this.audioCodec=t,this.videoCodec=n,this._duration=i}resetTimeStamp(){}resetContiguity(){const{_audioTrack:a,_videoTrack:t,_id3Track:n}=this;a&&(a.pesData=null),t&&(t.pesData=null),n&&(n.pesData=null),this.aacOverFlow=null,this.remainderData=null}demux(a,t,n=!1,i=!1){n||(this.sampleAes=null);let r;const s=this._videoTrack,u=this._audioTrack,o=this._id3Track,l=this._txtTrack;let g=s.pid,d=s.pesData,c=u.pid,p=o.pid,f=u.pesData,h=o.pesData,y=null,b=this.pmtParsed,m=this._pmtId,T=a.length;if(this.remainderData&&(a=sr(this.remainderData,a),T=a.length,this.remainderData=null),T<Kt&&!i)return this.remainderData=a,{audioTrack:u,videoTrack:s,id3Track:o,textTrack:l};const A=Math.max(0,Tu.syncOffset(a));T-=(T-A)%Kt,T<a.byteLength&&!i&&(this.remainderData=new Uint8Array(a.buffer,T,a.buffer.byteLength-T));let v=0;for(let k=A;k<T;k+=Kt)if(a[k]===71){const N=!!(a[k+1]&64),q=i3(a,k),R=(a[k+3]&48)>>4;let z;if(R>1){if(z=k+5+a[k+4],z===k+Kt)continue}else z=k+4;switch(q){case g:N&&(d&&(r=$l(d))&&this.videoParser.parseAVCPES(s,l,r,!1,this._duration),d={data:[],size:0}),d&&(d.data.push(a.subarray(z,k+Kt)),d.size+=k+Kt-z);break;case c:if(N){if(f&&(r=$l(f)))switch(u.segmentCodec){case"aac":this.parseAACPES(u,r);break;case"mp3":this.parseMPEGPES(u,r);break;case"ac3":this.parseAC3PES(u,r);break}f={data:[],size:0}}f&&(f.data.push(a.subarray(z,k+Kt)),f.size+=k+Kt-z);break;case p:N&&(h&&(r=$l(h))&&this.parseID3PES(o,r),h={data:[],size:0}),h&&(h.data.push(a.subarray(z,k+Kt)),h.size+=k+Kt-z);break;case 0:N&&(z+=a[z]+1),m=this._pmtId=dxe(a,z);break;case m:{N&&(z+=a[z]+1);const W=cxe(a,z,this.typeSupported,n,this.observer);g=W.videoPid,g>0&&(s.pid=g,s.segmentCodec=W.segmentVideoCodec),c=W.audioPid,c>0&&(u.pid=c,u.segmentCodec=W.segmentAudioCodec),p=W.id3Pid,p>0&&(o.pid=p),y!==null&&!b&&(se.warn(`MPEG-TS PMT found at ${k} after unknown PID '${y}'. Backtracking to sync byte @${A} to parse all TS packets.`),y=null,k=A-188),b=this.pmtParsed=!0;break}case 17:case 8191:break;default:y=q;break}}else v++;v>0&&ty(this.observer,new Error(`Found ${v} TS packet/s that do not start with 0x47`)),s.pesData=d,u.pesData=f,o.pesData=h;const D={audioTrack:u,videoTrack:s,id3Track:o,textTrack:l};return i&&this.extractRemainingSamples(D),D}flush(){const{remainderData:a}=this;this.remainderData=null;let t;return a?t=this.demux(a,-1,!1,!0):t={videoTrack:this._videoTrack,audioTrack:this._audioTrack,id3Track:this._id3Track,textTrack:this._txtTrack},this.extractRemainingSamples(t),this.sampleAes?this.decrypt(t,this.sampleAes):t}extractRemainingSamples(a){const{audioTrack:t,videoTrack:n,id3Track:i,textTrack:r}=a,s=n.pesData,u=t.pesData,o=i.pesData;let l;if(s&&(l=$l(s))?(this.videoParser.parseAVCPES(n,r,l,!0,this._duration),n.pesData=null):n.pesData=s,u&&(l=$l(u))){switch(t.segmentCodec){case"aac":this.parseAACPES(t,l);break;case"mp3":this.parseMPEGPES(t,l);break;case"ac3":this.parseAC3PES(t,l);break}t.pesData=null}else u!=null&&u.size&&se.log("last AAC PES packet truncated,might overlap between fragments"),t.pesData=u;o&&(l=$l(o))?(this.parseID3PES(i,l),i.pesData=null):i.pesData=o}demuxSampleAes(a,t,n){const i=this.demux(a,n,!0,!this.config.progressive),r=this.sampleAes=new gxe(this.observer,this.config,t);return this.decrypt(i,r)}decrypt(a,t){return new Promise(n=>{const{audioTrack:i,videoTrack:r}=a;i.samples&&i.segmentCodec==="aac"?t.decryptAacSamples(i.samples,0,()=>{r.samples?t.decryptAvcSamples(r.samples,0,0,()=>{n(a)}):n(a)}):r.samples&&t.decryptAvcSamples(r.samples,0,0,()=>{n(a)})})}destroy(){this._duration=0}parseAACPES(a,t){let n=0;const i=this.aacOverFlow;let r=t.data;if(i){this.aacOverFlow=null;const d=i.missing,c=i.sample.unit.byteLength;if(d===-1)r=sr(i.sample.unit,r);else{const p=c-d;i.sample.unit.set(r.subarray(0,d),p),a.samples.push(i.sample),n=i.missing}}let s,u;for(s=n,u=r.length;s<u-1&&!ay(r,s);s++);if(s!==n){let d;const c=s<u-1;if(c?d=`AAC PES did not start with ADTS header,offset:${s}`:d="No ADTS header found in AAC PES",ty(this.observer,new Error(d),c),!c)return}xj(a,this.observer,r,s,this.audioCodec);let o;if(t.pts!==void 0)o=t.pts;else if(i){const d=Ej(a.samplerate);o=i.sample.pts+d}else{se.warn("[tsdemuxer]: AAC PES unknown PTS");return}let l=0,g;for(;s<u;)if(g=kj(a,r,s,o,l),s+=g.length,g.missing){this.aacOverFlow=g;break}else for(l++;s<u-1&&!ay(r,s);s++);}parseMPEGPES(a,t){const n=t.data,i=n.length;let r=0,s=0;const u=t.pts;if(u===void 0){se.warn("[tsdemuxer]: MPEG PES unknown PTS");return}for(;s<i;)if(_j(n,s)){const o=Cj(a,n,s,u,r);if(o)s+=o.length,r++;else break}else s++}parseAC3PES(a,t){{const n=t.data,i=t.pts;if(i===void 0){se.warn("[tsdemuxer]: AC3 PES unknown PTS");return}const r=n.length;let s=0,u=0,o;for(;u<r&&(o=Lj(a,n,u,i,s++))>0;)u+=o}}parseID3PES(a,t){if(t.pts===void 0){se.warn("[tsdemuxer]: ID3 PES unknown PTS");return}const n=Rt({},t,{type:this._videoTrack?Sr.emsg:Sr.audioId3,duration:Number.POSITIVE_INFINITY});a.samples.push(n)}}function i3(e,a){return((e[a+1]&31)<<8)+e[a+2]}function dxe(e,a){return(e[a+10]&31)<<8|e[a+11]}function cxe(e,a,t,n,i){const r={audioPid:-1,videoPid:-1,id3Pid:-1,segmentVideoCodec:"avc",segmentAudioCodec:"aac"},s=(e[a+1]&15)<<8|e[a+2],u=a+3+s-4,o=(e[a+10]&15)<<8|e[a+11];for(a+=12+o;a<u;){const l=i3(e,a),g=(e[a+3]&15)<<8|e[a+4];switch(e[a]){case 207:if(!n){ZT("ADTS AAC");break}case 15:r.audioPid===-1&&(r.audioPid=l);break;case 21:r.id3Pid===-1&&(r.id3Pid=l);break;case 219:if(!n){ZT("H.264");break}case 27:r.videoPid===-1&&(r.videoPid=l,r.segmentVideoCodec="avc");break;case 3:case 4:!t.mpeg&&!t.mp3?se.log("MPEG audio found, not supported in this browser"):r.audioPid===-1&&(r.audioPid=l,r.segmentAudioCodec="mp3");break;case 193:if(!n){ZT("AC-3");break}case 129:t.ac3?r.audioPid===-1&&(r.audioPid=l,r.segmentAudioCodec="ac3"):se.log("AC-3 audio found, not supported in this browser");break;case 6:if(r.audioPid===-1&&g>0){let d=a+5,c=g;for(;c>2;){switch(e[d]){case 106:t.ac3!==!0?se.log("AC-3 audio found, not supported in this browser for now"):(r.audioPid=l,r.segmentAudioCodec="ac3");break}const f=e[d+1]+2;d+=f,c-=f}}break;case 194:case 135:return ty(i,new Error("Unsupported EC-3 in M2TS found")),r;case 36:return ty(i,new Error("Unsupported HEVC in M2TS found")),r}a+=g+5}return r}function ty(e,a,t){se.warn(`parsing error: ${a.message}`),e.emit(O.ERROR,O.ERROR,{type:na.MEDIA_ERROR,details:ce.FRAG_PARSING_ERROR,fatal:!1,levelRetry:t,error:a,reason:a.message})}function ZT(e){se.log(`${e} with AES-128-CBC encryption found in unencrypted stream`)}function $l(e){let a=0,t,n,i,r,s;const u=e.data;if(!e||e.size===0)return null;for(;u[0].length<19&&u.length>1;)u[0]=sr(u[0],u[1]),u.splice(1,1);if(t=u[0],(t[0]<<16)+(t[1]<<8)+t[2]===1){if(n=(t[4]<<8)+t[5],n&&n>e.size-6)return null;const l=t[7];l&192&&(r=(t[9]&14)*536870912+(t[10]&255)*4194304+(t[11]&254)*16384+(t[12]&255)*128+(t[13]&254)/2,l&64?(s=(t[14]&14)*536870912+(t[15]&255)*4194304+(t[16]&254)*16384+(t[17]&255)*128+(t[18]&254)/2,r-s>60*9e4&&(se.warn(`${Math.round((r-s)/9e4)}s delta between PTS and DTS, align them`),r=s)):s=r),i=t[8];let g=i+9;if(e.size<=g)return null;e.size-=g;const d=new Uint8Array(e.size);for(let c=0,p=u.length;c<p;c++){t=u[c];let f=t.byteLength;if(g)if(g>f){g-=f;continue}else t=t.subarray(g),f-=g,g=0;d.set(t,a),a+=f}return n&&(n-=i+3),{data:d,pts:r,dts:s,len:n}}return null}class pxe extends px{resetInitSegment(a,t,n,i){super.resetInitSegment(a,t,n,i),this._audioTrack={container:"audio/mpeg",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"mp3",samples:[],manifestCodec:t,duration:i,inputTimeScale:9e4,dropped:0}}static probe(a){if(!a)return!1;const t=Wc(a,0);let n=(t==null?void 0:t.length)||0;if(t&&a[n]===11&&a[n+1]===119&&ux(t)!==void 0&&Nj(a,n)<=16)return!1;for(let i=a.length;n<i;n++)if(Ij(a,n))return se.log("MPEG Audio sync word found !"),!0;return!1}canParse(a,t){return nxe(a,t)}appendFrame(a,t,n){if(this.basePTS!==null)return Cj(a,t,n,this.basePTS,this.frameIndex)}}class j_{static getSilentFrame(a,t){switch(a){case"mp4a.40.2":if(t===1)return new Uint8Array([0,200,0,128,35,128]);if(t===2)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(t===3)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(t===4)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(t===5)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(t===6)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224]);break;default:if(t===1)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(t===2)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(t===3)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);break}}}const fu=Math.pow(2,32)-1;class ge{static init(){ge.types={avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],".mp3":[],dac3:[],"ac-3":[],mvex:[],mvhd:[],pasp:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[]};let a;for(a in ge.types)ge.types.hasOwnProperty(a)&&(ge.types[a]=[a.charCodeAt(0),a.charCodeAt(1),a.charCodeAt(2),a.charCodeAt(3)]);const t=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),n=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]);ge.HDLR_TYPES={video:t,audio:n};const i=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),r=new Uint8Array([0,0,0,0,0,0,0,0]);ge.STTS=ge.STSC=ge.STCO=r,ge.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),ge.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]),ge.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),ge.STSD=new Uint8Array([0,0,0,0,0,0,0,1]);const s=new Uint8Array([105,115,111,109]),u=new Uint8Array([97,118,99,49]),o=new Uint8Array([0,0,0,1]);ge.FTYP=ge.box(ge.types.ftyp,s,o,s,u),ge.DINF=ge.box(ge.types.dinf,ge.box(ge.types.dref,i))}static box(a,...t){let n=8,i=t.length;const r=i;for(;i--;)n+=t[i].byteLength;const s=new Uint8Array(n);for(s[0]=n>>24&255,s[1]=n>>16&255,s[2]=n>>8&255,s[3]=n&255,s.set(a,4),i=0,n=8;i<r;i++)s.set(t[i],n),n+=t[i].byteLength;return s}static hdlr(a){return ge.box(ge.types.hdlr,ge.HDLR_TYPES[a])}static mdat(a){return ge.box(ge.types.mdat,a)}static mdhd(a,t){t*=a;const n=Math.floor(t/(fu+1)),i=Math.floor(t%(fu+1));return ge.box(ge.types.mdhd,new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,a>>24&255,a>>16&255,a>>8&255,a&255,n>>24,n>>16&255,n>>8&255,n&255,i>>24,i>>16&255,i>>8&255,i&255,85,196,0,0]))}static mdia(a){return ge.box(ge.types.mdia,ge.mdhd(a.timescale,a.duration),ge.hdlr(a.type),ge.minf(a))}static mfhd(a){return ge.box(ge.types.mfhd,new Uint8Array([0,0,0,0,a>>24,a>>16&255,a>>8&255,a&255]))}static minf(a){return a.type==="audio"?ge.box(ge.types.minf,ge.box(ge.types.smhd,ge.SMHD),ge.DINF,ge.stbl(a)):ge.box(ge.types.minf,ge.box(ge.types.vmhd,ge.VMHD),ge.DINF,ge.stbl(a))}static moof(a,t,n){return ge.box(ge.types.moof,ge.mfhd(a),ge.traf(n,t))}static moov(a){let t=a.length;const n=[];for(;t--;)n[t]=ge.trak(a[t]);return ge.box.apply(null,[ge.types.moov,ge.mvhd(a[0].timescale,a[0].duration)].concat(n).concat(ge.mvex(a)))}static mvex(a){let t=a.length;const n=[];for(;t--;)n[t]=ge.trex(a[t]);return ge.box.apply(null,[ge.types.mvex,...n])}static mvhd(a,t){t*=a;const n=Math.floor(t/(fu+1)),i=Math.floor(t%(fu+1)),r=new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,a>>24&255,a>>16&255,a>>8&255,a&255,n>>24,n>>16&255,n>>8&255,n&255,i>>24,i>>16&255,i>>8&255,i&255,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]);return ge.box(ge.types.mvhd,r)}static sdtp(a){const t=a.samples||[],n=new Uint8Array(4+t.length);let i,r;for(i=0;i<t.length;i++)r=t[i].flags,n[i+4]=r.dependsOn<<4|r.isDependedOn<<2|r.hasRedundancy;return ge.box(ge.types.sdtp,n)}static stbl(a){return ge.box(ge.types.stbl,ge.stsd(a),ge.box(ge.types.stts,ge.STTS),ge.box(ge.types.stsc,ge.STSC),ge.box(ge.types.stsz,ge.STSZ),ge.box(ge.types.stco,ge.STCO))}static avc1(a){let t=[],n=[],i,r,s;for(i=0;i<a.sps.length;i++)r=a.sps[i],s=r.byteLength,t.push(s>>>8&255),t.push(s&255),t=t.concat(Array.prototype.slice.call(r));for(i=0;i<a.pps.length;i++)r=a.pps[i],s=r.byteLength,n.push(s>>>8&255),n.push(s&255),n=n.concat(Array.prototype.slice.call(r));const u=ge.box(ge.types.avcC,new Uint8Array([1,t[3],t[4],t[5],255,224|a.sps.length].concat(t).concat([a.pps.length]).concat(n))),o=a.width,l=a.height,g=a.pixelRatio[0],d=a.pixelRatio[1];return ge.box(ge.types.avc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,o>>8&255,o&255,l>>8&255,l&255,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),u,ge.box(ge.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),ge.box(ge.types.pasp,new Uint8Array([g>>24,g>>16&255,g>>8&255,g&255,d>>24,d>>16&255,d>>8&255,d&255])))}static esds(a){const t=a.config.length;return new Uint8Array([0,0,0,0,3,23+t,0,1,0,4,15+t,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([t]).concat(a.config).concat([6,1,2]))}static audioStsd(a){const t=a.samplerate;return new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,a.channelCount,0,16,0,0,0,0,t>>8&255,t&255,0,0])}static mp4a(a){return ge.box(ge.types.mp4a,ge.audioStsd(a),ge.box(ge.types.esds,ge.esds(a)))}static mp3(a){return ge.box(ge.types[".mp3"],ge.audioStsd(a))}static ac3(a){return ge.box(ge.types["ac-3"],ge.audioStsd(a),ge.box(ge.types.dac3,a.config))}static stsd(a){return a.type==="audio"?a.segmentCodec==="mp3"&&a.codec==="mp3"?ge.box(ge.types.stsd,ge.STSD,ge.mp3(a)):a.segmentCodec==="ac3"?ge.box(ge.types.stsd,ge.STSD,ge.ac3(a)):ge.box(ge.types.stsd,ge.STSD,ge.mp4a(a)):ge.box(ge.types.stsd,ge.STSD,ge.avc1(a))}static tkhd(a){const t=a.id,n=a.duration*a.timescale,i=a.width,r=a.height,s=Math.floor(n/(fu+1)),u=Math.floor(n%(fu+1));return ge.box(ge.types.tkhd,new Uint8Array([1,0,0,7,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,t>>24&255,t>>16&255,t>>8&255,t&255,0,0,0,0,s>>24,s>>16&255,s>>8&255,s&255,u>>24,u>>16&255,u>>8&255,u&255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,i>>8&255,i&255,0,0,r>>8&255,r&255,0,0]))}static traf(a,t){const n=ge.sdtp(a),i=a.id,r=Math.floor(t/(fu+1)),s=Math.floor(t%(fu+1));return ge.box(ge.types.traf,ge.box(ge.types.tfhd,new Uint8Array([0,0,0,0,i>>24,i>>16&255,i>>8&255,i&255])),ge.box(ge.types.tfdt,new Uint8Array([1,0,0,0,r>>24,r>>16&255,r>>8&255,r&255,s>>24,s>>16&255,s>>8&255,s&255])),ge.trun(a,n.length+16+20+8+16+8+8),n)}static trak(a){return a.duration=a.duration||4294967295,ge.box(ge.types.trak,ge.tkhd(a),ge.mdia(a))}static trex(a){const t=a.id;return ge.box(ge.types.trex,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,t&255,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))}static trun(a,t){const n=a.samples||[],i=n.length,r=12+16*i,s=new Uint8Array(r);let u,o,l,g,d,c;for(t+=8+r,s.set([a.type==="video"?1:0,0,15,1,i>>>24&255,i>>>16&255,i>>>8&255,i&255,t>>>24&255,t>>>16&255,t>>>8&255,t&255],0),u=0;u<i;u++)o=n[u],l=o.duration,g=o.size,d=o.flags,c=o.cts,s.set([l>>>24&255,l>>>16&255,l>>>8&255,l&255,g>>>24&255,g>>>16&255,g>>>8&255,g&255,d.isLeading<<2|d.dependsOn,d.isDependedOn<<6|d.hasRedundancy<<4|d.paddingValue<<1|d.isNonSync,d.degradPrio&61440,d.degradPrio&15,c>>>24&255,c>>>16&255,c>>>8&255,c&255],12+16*u);return ge.box(ge.types.trun,s)}static initSegment(a){ge.types||ge.init();const t=ge.moov(a);return sr(ge.FTYP,t)}}ge.types=void 0;ge.HDLR_TYPES=void 0;ge.STTS=void 0;ge.STSC=void 0;ge.STCO=void 0;ge.STSZ=void 0;ge.VMHD=void 0;ge.SMHD=void 0;ge.STSD=void 0;ge.FTYP=void 0;ge.DINF=void 0;const Rj=9e4;function mx(e,a,t=1,n=!1){const i=e*a*t;return n?Math.round(i):i}function fxe(e,a,t=1,n=!1){return mx(e,a,1/t,n)}function l0(e,a=!1){return mx(e,1e3,1/Rj,a)}function hxe(e,a=1){return mx(e,Rj,1/a)}const mxe=10*1e3,z_=1024,yxe=1152,bxe=1536;let Kl=null,JT=null;class Z2{constructor(a,t,n,i=""){if(this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.ISGenerated=!1,this._initPTS=null,this._initDTS=null,this.nextAvcDts=null,this.nextAudioPts=null,this.videoSampleDuration=null,this.isAudioContiguous=!1,this.isVideoContiguous=!1,this.videoTrackConfig=void 0,this.observer=a,this.config=t,this.typeSupported=n,this.ISGenerated=!1,Kl===null){const s=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);Kl=s?parseInt(s[1]):0}if(JT===null){const r=navigator.userAgent.match(/Safari\/(\d+)/i);JT=r?parseInt(r[1]):0}}destroy(){this.config=this.videoTrackConfig=this._initPTS=this._initDTS=null}resetTimeStamp(a){se.log("[mp4-remuxer]: initPTS & initDTS reset"),this._initPTS=this._initDTS=a}resetNextTimestamp(){se.log("[mp4-remuxer]: reset next timestamp"),this.isVideoContiguous=!1,this.isAudioContiguous=!1}resetInitSegment(){se.log("[mp4-remuxer]: ISGenerated flag reset"),this.ISGenerated=!1,this.videoTrackConfig=void 0}getVideoStartPts(a){let t=!1;const n=a.reduce((i,r)=>{const s=r.pts-i;return s<-4294967296?(t=!0,Ki(i,r.pts)):s>0?i:r.pts},a[0].pts);return t&&se.debug("PTS rollover detected"),n}remux(a,t,n,i,r,s,u,o){let l,g,d,c,p,f,h=r,y=r;const b=a.pid>-1,m=t.pid>-1,T=t.samples.length,A=a.samples.length>0,v=u&&T>0||T>1;if((!b||A)&&(!m||v)||this.ISGenerated||u){if(this.ISGenerated){var k,N,q,R;const P=this.videoTrackConfig;P&&(t.width!==P.width||t.height!==P.height||((k=t.pixelRatio)==null?void 0:k[0])!==((N=P.pixelRatio)==null?void 0:N[0])||((q=t.pixelRatio)==null?void 0:q[1])!==((R=P.pixelRatio)==null?void 0:R[1]))&&this.resetInitSegment()}else d=this.generateIS(a,t,r,s);const z=this.isVideoContiguous;let W=-1,K;if(v&&(W=Txe(t.samples),!z&&this.config.forceKeyFrameOnDiscontinuity))if(f=!0,W>0){se.warn(`[mp4-remuxer]: Dropped ${W} out of ${T} video samples due to a missing keyframe`);const P=this.getVideoStartPts(t.samples);t.samples=t.samples.slice(W),t.dropped+=W,y+=(t.samples[0].pts-P)/t.inputTimeScale,K=y}else W===-1&&(se.warn(`[mp4-remuxer]: No keyframe found out of ${T} video samples`),f=!1);if(this.ISGenerated){if(A&&v){const P=this.getVideoStartPts(t.samples),H=(Ki(a.samples[0].pts,P)-P)/t.inputTimeScale;h+=Math.max(0,H),y+=Math.max(0,-H)}if(A){if(a.samplerate||(se.warn("[mp4-remuxer]: regenerate InitSegment as audio detected"),d=this.generateIS(a,t,r,s)),g=this.remuxAudio(a,h,this.isAudioContiguous,s,m||v||o===ea.AUDIO?y:void 0),v){const P=g?g.endPTS-g.startPTS:0;t.inputTimeScale||(se.warn("[mp4-remuxer]: regenerate InitSegment as video detected"),d=this.generateIS(a,t,r,s)),l=this.remuxVideo(t,y,z,P)}}else v&&(l=this.remuxVideo(t,y,z,0));l&&(l.firstKeyFrame=W,l.independent=W!==-1,l.firstKeyFramePTS=K)}}return this.ISGenerated&&this._initPTS&&this._initDTS&&(n.samples.length&&(p=Pj(n,r,this._initPTS,this._initDTS)),i.samples.length&&(c=Mj(i,r,this._initPTS))),{audio:g,video:l,initSegment:d,independent:f,text:c,id3:p}}generateIS(a,t,n,i){const r=a.samples,s=t.samples,u=this.typeSupported,o={},l=this._initPTS;let g=!l||i,d="audio/mp4",c,p,f;if(g&&(c=p=1/0),a.config&&r.length){switch(a.timescale=a.samplerate,a.segmentCodec){case"mp3":u.mpeg?(d="audio/mpeg",a.codec=""):u.mp3&&(a.codec="mp3");break;case"ac3":a.codec="ac-3";break}o.audio={id:"audio",container:d,codec:a.codec,initSegment:a.segmentCodec==="mp3"&&u.mpeg?new Uint8Array(0):ge.initSegment([a]),metadata:{channelCount:a.channelCount}},g&&(f=a.inputTimeScale,!l||f!==l.timescale?c=p=r[0].pts-Math.round(f*n):g=!1)}if(t.sps&&t.pps&&s.length){if(t.timescale=t.inputTimeScale,o.video={id:"main",container:"video/mp4",codec:t.codec,initSegment:ge.initSegment([t]),metadata:{width:t.width,height:t.height}},g)if(f=t.inputTimeScale,!l||f!==l.timescale){const h=this.getVideoStartPts(s),y=Math.round(f*n);p=Math.min(p,Ki(s[0].dts,h)-y),c=Math.min(c,h-y)}else g=!1;this.videoTrackConfig={width:t.width,height:t.height,pixelRatio:t.pixelRatio}}if(Object.keys(o).length)return this.ISGenerated=!0,g?(this._initPTS={baseTime:c,timescale:f},this._initDTS={baseTime:p,timescale:f}):c=f=void 0,{tracks:o,initPTS:c,timescale:f}}remuxVideo(a,t,n,i){const r=a.inputTimeScale,s=a.samples,u=[],o=s.length,l=this._initPTS;let g=this.nextAvcDts,d=8,c=this.videoSampleDuration,p,f,h=Number.POSITIVE_INFINITY,y=Number.NEGATIVE_INFINITY,b=!1;if(!n||g===null){const E=t*r,x=s[0].pts-Ki(s[0].dts,s[0].pts);Kl&&g!==null&&Math.abs(E-x-g)<15e3?n=!0:g=E-x}const m=l.baseTime*r/l.timescale;for(let E=0;E<o;E++){const x=s[E];x.pts=Ki(x.pts-m,g),x.dts=Ki(x.dts-m,g),x.dts<s[E>0?E-1:E].dts&&(b=!0)}b&&s.sort(function(E,x){const _=E.dts-x.dts,I=E.pts-x.pts;return _||I}),p=s[0].dts,f=s[s.length-1].dts;const T=f-p,A=T?Math.round(T/(o-1)):c||a.inputTimeScale/30;if(n){const E=p-g,x=E>A,_=E<-1;if((x||_)&&(x?se.warn(`AVC: ${l0(E,!0)} ms (${E}dts) hole between fragments detected at ${t.toFixed(3)}`):se.warn(`AVC: ${l0(-E,!0)} ms (${E}dts) overlapping between fragments detected at ${t.toFixed(3)}`),!_||g>=s[0].pts||Kl)){p=g;const I=s[0].pts-E;if(x)s[0].dts=p,s[0].pts=I;else for(let w=0;w<s.length&&!(s[w].dts>I);w++)s[w].dts-=E,s[w].pts-=E;se.log(`Video: Initial PTS/DTS adjusted: ${l0(I,!0)}/${l0(p,!0)}, delta: ${l0(E,!0)} ms`)}}p=Math.max(0,p);let v=0,D=0,k=p;for(let E=0;E<o;E++){const x=s[E],_=x.units,I=_.length;let w=0;for(let C=0;C<I;C++)w+=_[C].data.length;D+=w,v+=I,x.length=w,x.dts<k?(x.dts=k,k+=A/4|0||1):k=x.dts,h=Math.min(x.pts,h),y=Math.max(x.pts,y)}f=s[o-1].dts;const N=D+4*v+8;let q;try{q=new Uint8Array(N)}catch(E){this.observer.emit(O.ERROR,O.ERROR,{type:na.MUX_ERROR,details:ce.REMUX_ALLOC_ERROR,fatal:!1,error:E,bytes:N,reason:`fail allocating video mdat ${N}`});return}const R=new DataView(q.buffer);R.setUint32(0,N),q.set(ge.types.mdat,4);let z=!1,W=Number.POSITIVE_INFINITY,K=Number.POSITIVE_INFINITY,P=Number.NEGATIVE_INFINITY,L=Number.NEGATIVE_INFINITY;for(let E=0;E<o;E++){const x=s[E],_=x.units;let I=0;for(let M=0,$=_.length;M<$;M++){const Z=_[M],ne=Z.data,le=Z.data.byteLength;R.setUint32(d,le),d+=4,q.set(ne,d),d+=le,I+=4+le}let w;if(E<o-1)c=s[E+1].dts-x.dts,w=s[E+1].pts-x.pts;else{const M=this.config,$=E>0?x.dts-s[E-1].dts:A;if(w=E>0?x.pts-s[E-1].pts:A,M.stretchShortVideoTrack&&this.nextAudioPts!==null){const Z=Math.floor(M.maxBufferHole*r),ne=(i?h+i*r:this.nextAudioPts)-x.pts;ne>Z?(c=ne-$,c<0?c=$:z=!0,se.log(`[mp4-remuxer]: It is approximately ${ne/90} ms to the next segment; using duration ${c/90} ms for the last video frame.`)):c=$}else c=$}const C=Math.round(x.pts-x.dts);W=Math.min(W,c),P=Math.max(P,c),K=Math.min(K,w),L=Math.max(L,w),u.push(new $_(x.key,c,I,C))}if(u.length){if(Kl){if(Kl<70){const E=u[0].flags;E.dependsOn=2,E.isNonSync=0}}else if(JT&&L-K<P-W&&A/P<.025&&u[0].cts===0){se.warn("Found irregular gaps in sample duration. Using PTS instead of DTS to determine MP4 sample duration.");let E=p;for(let x=0,_=u.length;x<_;x++){const I=E+u[x].duration,w=E+u[x].cts;if(x<_-1){const C=I+u[x+1].cts;u[x].duration=C-w}else u[x].duration=x?u[x-1].duration:A;u[x].cts=0,E=I}}}c=z||!c?A:c,this.nextAvcDts=g=f+c,this.videoSampleDuration=c,this.isVideoContiguous=!0;const G={data1:ge.moof(a.sequenceNumber++,p,Rt({},a,{samples:u})),data2:q,startPTS:h/r,endPTS:(y+c)/r,startDTS:p/r,endDTS:g/r,type:"video",hasAudio:!1,hasVideo:!0,nb:u.length,dropped:a.dropped};return a.samples=[],a.dropped=0,G}getSamplesPerFrame(a){switch(a.segmentCodec){case"mp3":return yxe;case"ac3":return bxe;default:return z_}}remuxAudio(a,t,n,i,r){const s=a.inputTimeScale,u=a.samplerate?a.samplerate:s,o=s/u,l=this.getSamplesPerFrame(a),g=l*o,d=this._initPTS,c=a.segmentCodec==="mp3"&&this.typeSupported.mpeg,p=[],f=r!==void 0;let h=a.samples,y=c?0:8,b=this.nextAudioPts||-1;const m=t*s,T=d.baseTime*s/d.timescale;if(this.isAudioContiguous=n=n||h.length&&b>0&&(i&&Math.abs(m-b)<9e3||Math.abs(Ki(h[0].pts-T,m)-b)<20*g),h.forEach(function(H){H.pts=Ki(H.pts-T,m)}),!n||b<0){if(h=h.filter(H=>H.pts>=0),!h.length)return;r===0?b=0:i&&!f?b=Math.max(0,m):b=h[0].pts}if(a.segmentCodec==="aac"){const H=this.config.maxAudioFramesDrift;for(let U=0,G=b;U<h.length;U++){const E=h[U],x=E.pts,_=x-G,I=Math.abs(1e3*_/s);if(_<=-H*g&&f)U===0&&(se.warn(`Audio frame @ ${(x/s).toFixed(3)}s overlaps nextAudioPts by ${Math.round(1e3*_/s)} ms.`),this.nextAudioPts=b=G=x);else if(_>=H*g&&I<mxe&&f){let w=Math.round(_/g);G=x-w*g,G<0&&(w--,G+=g),U===0&&(this.nextAudioPts=b=G),se.warn(`[mp4-remuxer]: Injecting ${w} audio frame @ ${(G/s).toFixed(3)}s due to ${Math.round(1e3*_/s)} ms gap.`);for(let C=0;C<w;C++){const M=Math.max(G,0);let $=j_.getSilentFrame(a.manifestCodec||a.codec,a.channelCount);$||(se.log("[mp4-remuxer]: Unable to get silent frame for given audio codec; duplicating last frame instead."),$=E.unit.subarray()),h.splice(U,0,{unit:$,pts:M}),G+=g,U++}}E.pts=G,G+=g}}let A=null,v=null,D,k=0,N=h.length;for(;N--;)k+=h[N].unit.byteLength;for(let H=0,U=h.length;H<U;H++){const G=h[H],E=G.unit;let x=G.pts;if(v!==null){const I=p[H-1];I.duration=Math.round((x-v)/o)}else if(n&&a.segmentCodec==="aac"&&(x=b),A=x,k>0){k+=y;try{D=new Uint8Array(k)}catch(I){this.observer.emit(O.ERROR,O.ERROR,{type:na.MUX_ERROR,details:ce.REMUX_ALLOC_ERROR,fatal:!1,error:I,bytes:k,reason:`fail allocating audio mdat ${k}`});return}c||(new DataView(D.buffer).setUint32(0,k),D.set(ge.types.mdat,4))}else return;D.set(E,y);const _=E.byteLength;y+=_,p.push(new $_(!0,l,_,0)),v=x}const q=p.length;if(!q)return;const R=p[p.length-1];this.nextAudioPts=b=v+o*R.duration;const z=c?new Uint8Array(0):ge.moof(a.sequenceNumber++,A/o,Rt({},a,{samples:p}));a.samples=[];const W=A/s,K=b/s,L={data1:z,data2:D,startPTS:W,endPTS:K,startDTS:W,endDTS:K,type:"audio",hasAudio:!0,hasVideo:!1,nb:q};return this.isAudioContiguous=!0,L}remuxEmptyAudio(a,t,n,i){const r=a.inputTimeScale,s=a.samplerate?a.samplerate:r,u=r/s,o=this.nextAudioPts,l=this._initDTS,g=l.baseTime*9e4/l.timescale,d=(o!==null?o:i.startDTS*r)+g,c=i.endDTS*r+g,p=u*z_,f=Math.ceil((c-d)/p),h=j_.getSilentFrame(a.manifestCodec||a.codec,a.channelCount);if(se.warn("[mp4-remuxer]: remux empty Audio"),!h){se.trace("[mp4-remuxer]: Unable to remuxEmptyAudio since we were unable to get a silent frame for given audio codec");return}const y=[];for(let b=0;b<f;b++){const m=d+b*p;y.push({unit:h,pts:m,dts:m})}return a.samples=y,this.remuxAudio(a,t,n,!1)}}function Ki(e,a){let t;if(a===null)return e;for(a<e?t=-8589934592:t=8589934592;Math.abs(e-a)>4294967296;)e+=t;return e}function Txe(e){for(let a=0;a<e.length;a++)if(e[a].key)return a;return-1}function Pj(e,a,t,n){const i=e.samples.length;if(!i)return;const r=e.inputTimeScale;for(let u=0;u<i;u++){const o=e.samples[u];o.pts=Ki(o.pts-t.baseTime*r/t.timescale,a*r)/r,o.dts=Ki(o.dts-n.baseTime*r/n.timescale,a*r)/r}const s=e.samples;return e.samples=[],{samples:s}}function Mj(e,a,t){const n=e.samples.length;if(!n)return;const i=e.inputTimeScale;for(let s=0;s<n;s++){const u=e.samples[s];u.pts=Ki(u.pts-t.baseTime*i/t.timescale,a*i)/i}e.samples.sort((s,u)=>s.pts-u.pts);const r=e.samples;return e.samples=[],{samples:r}}class $_{constructor(a,t,n,i){this.size=void 0,this.duration=void 0,this.cts=void 0,this.flags=void 0,this.duration=t,this.size=n,this.cts=i,this.flags={isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:a?2:1,isNonSync:a?0:1}}}class Sxe{constructor(){this.emitInitSegment=!1,this.audioCodec=void 0,this.videoCodec=void 0,this.initData=void 0,this.initPTS=null,this.initTracks=void 0,this.lastEndTime=null}destroy(){}resetTimeStamp(a){this.initPTS=a,this.lastEndTime=null}resetNextTimestamp(){this.lastEndTime=null}resetInitSegment(a,t,n,i){this.audioCodec=t,this.videoCodec=n,this.generateInitSegment(k6e(a,i)),this.emitInitSegment=!0}generateInitSegment(a){let{audioCodec:t,videoCodec:n}=this;if(!(a!=null&&a.byteLength)){this.initTracks=void 0,this.initData=void 0;return}const i=this.initData=sj(a);i.audio&&(t=K_(i.audio,za.AUDIO)),i.video&&(n=K_(i.video,za.VIDEO));const r={};i.audio&&i.video?r.audiovideo={container:"video/mp4",codec:t+","+n,initSegment:a,id:"main"}:i.audio?r.audio={container:"audio/mp4",codec:t,initSegment:a,id:"audio"}:i.video?r.video={container:"video/mp4",codec:n,initSegment:a,id:"main"}:se.warn("[passthrough-remuxer.ts]: initSegment does not contain moov or trak boxes."),this.initTracks=r}remux(a,t,n,i,r,s){var u,o;let{initPTS:l,lastEndTime:g}=this;const d={audio:void 0,video:void 0,text:i,id3:n,initSegment:void 0};$e(g)||(g=this.lastEndTime=r||0);const c=t.samples;if(!(c!=null&&c.length))return d;const p={initPTS:void 0,timescale:1};let f=this.initData;if((u=f)!=null&&u.length||(this.generateInitSegment(c),f=this.initData),!((o=f)!=null&&o.length))return se.warn("[passthrough-remuxer.ts]: Failed to generate initSegment."),d;this.emitInitSegment&&(p.tracks=this.initTracks,this.emitInitSegment=!1);const h=w6e(c,f),y=C6e(f,c),b=y===null?r:y;(Axe(l,b,r,h)||p.timescale!==l.timescale&&s)&&(p.initPTS=b-r,l&&l.timescale===1&&se.warn(`Adjusting initPTS by ${p.initPTS-l.baseTime}`),this.initPTS=l={baseTime:p.initPTS,timescale:1});const m=a?b-l.baseTime/l.timescale:g,T=m+h;I6e(f,c,l.baseTime/l.timescale),h>0?this.lastEndTime=T:(se.warn("Duration parsed from mp4 should be greater than zero"),this.resetNextTimestamp());const A=!!f.audio,v=!!f.video;let D="";A&&(D+="audio"),v&&(D+="video");const k={data1:c,startPTS:m,startDTS:m,endPTS:T,endDTS:T,type:D,hasAudio:A,hasVideo:v,nb:1,dropped:0};return d.audio=k.type==="audio"?k:void 0,d.video=k.type!=="audio"?k:void 0,d.initSegment=p,d.id3=Pj(n,r,l,l),i.samples.length&&(d.text=Mj(i,r,l)),d}}function Axe(e,a,t,n){if(e===null)return!0;const i=Math.max(n,1),r=a-e.baseTime/e.timescale;return Math.abs(r-t)>i}function K_(e,a){const t=e==null?void 0:e.codec;if(t&&t.length>4)return t;if(a===za.AUDIO){if(t==="ec-3"||t==="ac-3"||t==="alac")return t;if(t==="fLaC"||t==="Opus")return Ym(t,!1);const n="mp4a.40.5";return se.info(`Parsed audio codec "${t}" or audio object type not handled. Using "${n}"`),n}return se.warn(`Unhandled video codec "${t}"`),t==="hvc1"||t==="hev1"?"hvc1.1.6.L120.90":t==="av01"?"av01.0.04M.08":"avc1.42e01e"}let Ps;try{Ps=self.performance.now.bind(self.performance)}catch{se.debug("Unable to use Performance API on this environment"),Ps=ad==null?void 0:ad.Date.now}const J2=[{demux:sxe,remux:Sxe},{demux:Tu,remux:Z2},{demux:ixe,remux:Z2},{demux:pxe,remux:Z2}];J2.splice(2,0,{demux:uxe,remux:Z2});class H_{constructor(a,t,n,i,r){this.async=!1,this.observer=void 0,this.typeSupported=void 0,this.config=void 0,this.vendor=void 0,this.id=void 0,this.demuxer=void 0,this.remuxer=void 0,this.decrypter=void 0,this.probe=void 0,this.decryptionPromise=null,this.transmuxConfig=void 0,this.currentTransmuxState=void 0,this.observer=a,this.typeSupported=t,this.config=n,this.vendor=i,this.id=r}configure(a){this.transmuxConfig=a,this.decrypter&&this.decrypter.reset()}push(a,t,n,i){const r=n.transmuxing;r.executeStart=Ps();let s=new Uint8Array(a);const{currentTransmuxState:u,transmuxConfig:o}=this;i&&(this.currentTransmuxState=i);const{contiguous:l,discontinuity:g,trackSwitch:d,accurateTimeOffset:c,timeOffset:p,initSegmentChange:f}=i||u,{audioCodec:h,videoCodec:y,defaultInitPts:b,duration:m,initSegmentData:T}=o,A=vxe(s,t);if(A&&A.method==="AES-128"){const N=this.getDecrypter();if(N.isSync()){let q=N.softwareDecrypt(s,A.key.buffer,A.iv.buffer);if(n.part>-1&&(q=N.flush()),!q)return r.executeEnd=Ps(),eS(n);s=new Uint8Array(q)}else return this.decryptionPromise=N.webCryptoDecrypt(s,A.key.buffer,A.iv.buffer).then(q=>{const R=this.push(q,null,n);return this.decryptionPromise=null,R}),this.decryptionPromise}const v=this.needsProbing(g,d);if(v){const N=this.configureTransmuxer(s);if(N)return se.warn(`[transmuxer] ${N.message}`),this.observer.emit(O.ERROR,O.ERROR,{type:na.MEDIA_ERROR,details:ce.FRAG_PARSING_ERROR,fatal:!1,error:N,reason:N.message}),r.executeEnd=Ps(),eS(n)}(g||d||f||v)&&this.resetInitSegment(T,h,y,m,t),(g||f||v)&&this.resetInitialTimestamp(b),l||this.resetContiguity();const D=this.transmux(s,A,p,c,n),k=this.currentTransmuxState;return k.contiguous=!0,k.discontinuity=!1,k.trackSwitch=!1,r.executeEnd=Ps(),D}flush(a){const t=a.transmuxing;t.executeStart=Ps();const{decrypter:n,currentTransmuxState:i,decryptionPromise:r}=this;if(r)return r.then(()=>this.flush(a));const s=[],{timeOffset:u}=i;if(n){const d=n.flush();d&&s.push(this.push(d,null,a))}const{demuxer:o,remuxer:l}=this;if(!o||!l)return t.executeEnd=Ps(),[eS(a)];const g=o.flush(u);return eh(g)?g.then(d=>(this.flushRemux(s,d,a),s)):(this.flushRemux(s,g,a),s)}flushRemux(a,t,n){const{audioTrack:i,videoTrack:r,id3Track:s,textTrack:u}=t,{accurateTimeOffset:o,timeOffset:l}=this.currentTransmuxState;se.log(`[transmuxer.ts]: Flushed fragment ${n.sn}${n.part>-1?" p: "+n.part:""} of level ${n.level}`);const g=this.remuxer.remux(i,r,s,u,l,o,!0,this.id);a.push({remuxResult:g,chunkMeta:n}),n.transmuxing.executeEnd=Ps()}resetInitialTimestamp(a){const{demuxer:t,remuxer:n}=this;!t||!n||(t.resetTimeStamp(a),n.resetTimeStamp(a))}resetContiguity(){const{demuxer:a,remuxer:t}=this;!a||!t||(a.resetContiguity(),t.resetNextTimestamp())}resetInitSegment(a,t,n,i,r){const{demuxer:s,remuxer:u}=this;!s||!u||(s.resetInitSegment(a,t,n,i),u.resetInitSegment(a,t,n,r))}destroy(){this.demuxer&&(this.demuxer.destroy(),this.demuxer=void 0),this.remuxer&&(this.remuxer.destroy(),this.remuxer=void 0)}transmux(a,t,n,i,r){let s;return t&&t.method==="SAMPLE-AES"?s=this.transmuxSampleAes(a,t,n,i,r):s=this.transmuxUnencrypted(a,n,i,r),s}transmuxUnencrypted(a,t,n,i){const{audioTrack:r,videoTrack:s,id3Track:u,textTrack:o}=this.demuxer.demux(a,t,!1,!this.config.progressive);return{remuxResult:this.remuxer.remux(r,s,u,o,t,n,!1,this.id),chunkMeta:i}}transmuxSampleAes(a,t,n,i,r){return this.demuxer.demuxSampleAes(a,t,n).then(s=>({remuxResult:this.remuxer.remux(s.audioTrack,s.videoTrack,s.id3Track,s.textTrack,n,i,!1,this.id),chunkMeta:r}))}configureTransmuxer(a){const{config:t,observer:n,typeSupported:i,vendor:r}=this;let s;for(let c=0,p=J2.length;c<p;c++){var u;if((u=J2[c].demux)!=null&&u.probe(a)){s=J2[c];break}}if(!s)return new Error("Failed to find demuxer by probing fragment data");const o=this.demuxer,l=this.remuxer,g=s.remux,d=s.demux;(!l||!(l instanceof g))&&(this.remuxer=new g(n,t,i,r)),(!o||!(o instanceof d))&&(this.demuxer=new d(n,t,i),this.probe=d.probe)}needsProbing(a,t){return!this.demuxer||!this.remuxer||a||t}getDecrypter(){let a=this.decrypter;return a||(a=this.decrypter=new dx(this.config)),a}}function vxe(e,a){let t=null;return e.byteLength>0&&(a==null?void 0:a.key)!=null&&a.iv!==null&&a.method!=null&&(t=a),t}const eS=e=>({remuxResult:{},chunkMeta:e});function eh(e){return"then"in e&&e.then instanceof Function}class Dxe{constructor(a,t,n,i,r){this.audioCodec=void 0,this.videoCodec=void 0,this.initSegmentData=void 0,this.duration=void 0,this.defaultInitPts=void 0,this.audioCodec=a,this.videoCodec=t,this.initSegmentData=n,this.duration=i,this.defaultInitPts=r||null}}class xxe{constructor(a,t,n,i,r,s){this.discontinuity=void 0,this.contiguous=void 0,this.accurateTimeOffset=void 0,this.trackSwitch=void 0,this.timeOffset=void 0,this.initSegmentChange=void 0,this.discontinuity=a,this.contiguous=t,this.accurateTimeOffset=n,this.trackSwitch=i,this.timeOffset=r,this.initSegmentChange=s}}var Oj={exports:{}};(function(e){var a=Object.prototype.hasOwnProperty,t="~";function n(){}Object.create&&(n.prototype=Object.create(null),new n().__proto__||(t=!1));function i(o,l,g){this.fn=o,this.context=l,this.once=g||!1}function r(o,l,g,d,c){if(typeof g!="function")throw new TypeError("The listener must be a function");var p=new i(g,d||o,c),f=t?t+l:l;return o._events[f]?o._events[f].fn?o._events[f]=[o._events[f],p]:o._events[f].push(p):(o._events[f]=p,o._eventsCount++),o}function s(o,l){--o._eventsCount===0?o._events=new n:delete o._events[l]}function u(){this._events=new n,this._eventsCount=0}u.prototype.eventNames=function(){var l=[],g,d;if(this._eventsCount===0)return l;for(d in g=this._events)a.call(g,d)&&l.push(t?d.slice(1):d);return Object.getOwnPropertySymbols?l.concat(Object.getOwnPropertySymbols(g)):l},u.prototype.listeners=function(l){var g=t?t+l:l,d=this._events[g];if(!d)return[];if(d.fn)return[d.fn];for(var c=0,p=d.length,f=new Array(p);c<p;c++)f[c]=d[c].fn;return f},u.prototype.listenerCount=function(l){var g=t?t+l:l,d=this._events[g];return d?d.fn?1:d.length:0},u.prototype.emit=function(l,g,d,c,p,f){var h=t?t+l:l;if(!this._events[h])return!1;var y=this._events[h],b=arguments.length,m,T;if(y.fn){switch(y.once&&this.removeListener(l,y.fn,void 0,!0),b){case 1:return y.fn.call(y.context),!0;case 2:return y.fn.call(y.context,g),!0;case 3:return y.fn.call(y.context,g,d),!0;case 4:return y.fn.call(y.context,g,d,c),!0;case 5:return y.fn.call(y.context,g,d,c,p),!0;case 6:return y.fn.call(y.context,g,d,c,p,f),!0}for(T=1,m=new Array(b-1);T<b;T++)m[T-1]=arguments[T];y.fn.apply(y.context,m)}else{var A=y.length,v;for(T=0;T<A;T++)switch(y[T].once&&this.removeListener(l,y[T].fn,void 0,!0),b){case 1:y[T].fn.call(y[T].context);break;case 2:y[T].fn.call(y[T].context,g);break;case 3:y[T].fn.call(y[T].context,g,d);break;case 4:y[T].fn.call(y[T].context,g,d,c);break;default:if(!m)for(v=1,m=new Array(b-1);v<b;v++)m[v-1]=arguments[v];y[T].fn.apply(y[T].context,m)}}return!0},u.prototype.on=function(l,g,d){return r(this,l,g,d,!1)},u.prototype.once=function(l,g,d){return r(this,l,g,d,!0)},u.prototype.removeListener=function(l,g,d,c){var p=t?t+l:l;if(!this._events[p])return this;if(!g)return s(this,p),this;var f=this._events[p];if(f.fn)f.fn===g&&(!c||f.once)&&(!d||f.context===d)&&s(this,p);else{for(var h=0,y=[],b=f.length;h<b;h++)(f[h].fn!==g||c&&!f[h].once||d&&f[h].context!==d)&&y.push(f[h]);y.length?this._events[p]=y.length===1?y[0]:y:s(this,p)}return this},u.prototype.removeAllListeners=function(l){var g;return l?(g=t?t+l:l,this._events[g]&&s(this,g)):(this._events=new n,this._eventsCount=0),this},u.prototype.off=u.prototype.removeListener,u.prototype.addListener=u.prototype.on,u.prefixed=t,u.EventEmitter=u,e.exports=u})(Oj);var Exe=Oj.exports,yx=Wve(Exe);class Bj{constructor(a,t,n,i){this.error=null,this.hls=void 0,this.id=void 0,this.observer=void 0,this.frag=null,this.part=null,this.useWorker=void 0,this.workerContext=null,this.onwmsg=void 0,this.transmuxer=null,this.onTransmuxComplete=void 0,this.onFlush=void 0;const r=a.config;this.hls=a,this.id=t,this.useWorker=!!r.enableWorker,this.onTransmuxComplete=n,this.onFlush=i;const s=(l,g)=>{g=g||{},g.frag=this.frag,g.id=this.id,l===O.ERROR&&(this.error=g.error),this.hls.trigger(l,g)};this.observer=new yx,this.observer.on(O.FRAG_DECRYPTED,s),this.observer.on(O.ERROR,s);const u=sl(r.preferManagedMediaSource)||{isTypeSupported:()=>!1},o={mpeg:u.isTypeSupported("audio/mpeg"),mp3:u.isTypeSupported('audio/mp4; codecs="mp3"'),ac3:u.isTypeSupported('audio/mp4; codecs="ac-3"')};if(this.useWorker&&typeof Worker<"u"&&(r.workerPath||HDe())){try{r.workerPath?(se.log(`loading Web Worker ${r.workerPath} for "${t}"`),this.workerContext=VDe(r.workerPath)):(se.log(`injecting Web Worker for "${t}"`),this.workerContext=qDe()),this.onwmsg=d=>this.onWorkerMessage(d);const{worker:g}=this.workerContext;g.addEventListener("message",this.onwmsg),g.onerror=d=>{const c=new Error(`${d.message}  (${d.filename}:${d.lineno})`);r.enableWorker=!1,se.warn(`Error in "${t}" Web Worker, fallback to inline`),this.hls.trigger(O.ERROR,{type:na.OTHER_ERROR,details:ce.INTERNAL_EXCEPTION,fatal:!1,event:"demuxerWorker",error:c})},g.postMessage({cmd:"init",typeSupported:o,vendor:"",id:t,config:JSON.stringify(r)})}catch(g){se.warn(`Error setting up "${t}" Web Worker, fallback to inline`,g),this.resetWorker(),this.error=null,this.transmuxer=new H_(this.observer,o,r,"",t)}return}this.transmuxer=new H_(this.observer,o,r,"",t)}resetWorker(){if(this.workerContext){const{worker:a,objectURL:t}=this.workerContext;t&&self.URL.revokeObjectURL(t),a.removeEventListener("message",this.onwmsg),a.onerror=null,a.terminate(),this.workerContext=null}}destroy(){if(this.workerContext)this.resetWorker(),this.onwmsg=void 0;else{const t=this.transmuxer;t&&(t.destroy(),this.transmuxer=null)}const a=this.observer;a&&a.removeAllListeners(),this.frag=null,this.observer=null,this.hls=null}push(a,t,n,i,r,s,u,o,l,g){var d,c;l.transmuxing.start=self.performance.now();const{transmuxer:p}=this,f=s?s.start:r.start,h=r.decryptdata,y=this.frag,b=!(y&&r.cc===y.cc),m=!(y&&l.level===y.level),T=y?l.sn-y.sn:-1,A=this.part?l.part-this.part.index:-1,v=T===0&&l.id>1&&l.id===(y==null?void 0:y.stats.chunkCount),D=!m&&(T===1||T===0&&(A===1||v&&A<=0)),k=self.performance.now();(m||T||r.stats.parsing.start===0)&&(r.stats.parsing.start=k),s&&(A||!D)&&(s.stats.parsing.start=k);const N=!(y&&((d=r.initSegment)==null?void 0:d.url)===((c=y.initSegment)==null?void 0:c.url)),q=new xxe(b,D,o,m,f,N);if(!D||b||N){se.log(`[transmuxer-interface, ${r.type}]: Starting new transmux session for sn: ${l.sn} p: ${l.part} level: ${l.level} id: ${l.id}
        discontinuity: ${b}
        trackSwitch: ${m}
        contiguous: ${D}
        accurateTimeOffset: ${o}
        timeOffset: ${f}
        initSegmentChange: ${N}`);const R=new Dxe(n,i,t,u,g);this.configureTransmuxer(R)}if(this.frag=r,this.part=s,this.workerContext)this.workerContext.worker.postMessage({cmd:"demux",data:a,decryptdata:h,chunkMeta:l,state:q},a instanceof ArrayBuffer?[a]:[]);else if(p){const R=p.push(a,h,l,q);eh(R)?(p.async=!0,R.then(z=>{this.handleTransmuxComplete(z)}).catch(z=>{this.transmuxerError(z,l,"transmuxer-interface push error")})):(p.async=!1,this.handleTransmuxComplete(R))}}flush(a){a.transmuxing.start=self.performance.now();const{transmuxer:t}=this;if(this.workerContext)this.workerContext.worker.postMessage({cmd:"flush",chunkMeta:a});else if(t){let n=t.flush(a);eh(n)||t.async?(eh(n)||(n=Promise.resolve(n)),n.then(r=>{this.handleFlushResult(r,a)}).catch(r=>{this.transmuxerError(r,a,"transmuxer-interface flush error")})):this.handleFlushResult(n,a)}}transmuxerError(a,t,n){this.hls&&(this.error=a,this.hls.trigger(O.ERROR,{type:na.MEDIA_ERROR,details:ce.FRAG_PARSING_ERROR,chunkMeta:t,frag:this.frag||void 0,fatal:!1,error:a,err:a,reason:n}))}handleFlushResult(a,t){a.forEach(n=>{this.handleTransmuxComplete(n)}),this.onFlush(t)}onWorkerMessage(a){const t=a.data;if(!(t!=null&&t.event)){se.warn(`worker message received with no ${t?"event name":"data"}`);return}const n=this.hls;if(this.hls)switch(t.event){case"init":{var i;const r=(i=this.workerContext)==null?void 0:i.objectURL;r&&self.URL.revokeObjectURL(r);break}case"transmuxComplete":{this.handleTransmuxComplete(t.data);break}case"flush":{this.onFlush(t.data);break}case"workerLog":se[t.data.logType]&&se[t.data.logType](t.data.message);break;default:{t.data=t.data||{},t.data.frag=this.frag,t.data.id=this.id,n.trigger(t.event,t.data);break}}}configureTransmuxer(a){const{transmuxer:t}=this;this.workerContext?this.workerContext.worker.postMessage({cmd:"configure",config:a}):t&&t.configure(a)}handleTransmuxComplete(a){a.chunkMeta.transmuxing.end=self.performance.now(),this.onTransmuxComplete(a)}}function Fj(e,a){if(e.length!==a.length)return!1;for(let t=0;t<e.length;t++)if(!nd(e[t].attrs,a[t].attrs))return!1;return!0}function nd(e,a,t){const n=e["STABLE-RENDITION-ID"];return n&&!t?n===a["STABLE-RENDITION-ID"]:!(t||["LANGUAGE","NAME","CHARACTERISTICS","AUTOSELECT","DEFAULT","FORCED","ASSOC-LANGUAGE"]).some(i=>e[i]!==a[i])}function r3(e,a){return a.label.toLowerCase()===e.name.toLowerCase()&&(!a.language||a.language.toLowerCase()===(e.lang||"").toLowerCase())}const q_=100;class kxe extends cx{constructor(a,t,n){super(a,t,n,"[audio-stream-controller]",ea.AUDIO),this.videoBuffer=null,this.videoTrackCC=-1,this.waitingVideoCC=-1,this.bufferedTrack=null,this.switchingTrack=null,this.trackId=-1,this.waitingData=null,this.mainDetails=null,this.flushing=!1,this.bufferFlushed=!1,this.cachedTrackLoadedData=null,this._registerListeners()}onHandlerDestroying(){this._unregisterListeners(),super.onHandlerDestroying(),this.mainDetails=null,this.bufferedTrack=null,this.switchingTrack=null}_registerListeners(){const{hls:a}=this;a.on(O.MEDIA_ATTACHED,this.onMediaAttached,this),a.on(O.MEDIA_DETACHING,this.onMediaDetaching,this),a.on(O.MANIFEST_LOADING,this.onManifestLoading,this),a.on(O.LEVEL_LOADED,this.onLevelLoaded,this),a.on(O.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),a.on(O.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),a.on(O.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),a.on(O.ERROR,this.onError,this),a.on(O.BUFFER_RESET,this.onBufferReset,this),a.on(O.BUFFER_CREATED,this.onBufferCreated,this),a.on(O.BUFFER_FLUSHING,this.onBufferFlushing,this),a.on(O.BUFFER_FLUSHED,this.onBufferFlushed,this),a.on(O.INIT_PTS_FOUND,this.onInitPtsFound,this),a.on(O.FRAG_BUFFERED,this.onFragBuffered,this)}_unregisterListeners(){const{hls:a}=this;a.off(O.MEDIA_ATTACHED,this.onMediaAttached,this),a.off(O.MEDIA_DETACHING,this.onMediaDetaching,this),a.off(O.MANIFEST_LOADING,this.onManifestLoading,this),a.off(O.LEVEL_LOADED,this.onLevelLoaded,this),a.off(O.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),a.off(O.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),a.off(O.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),a.off(O.ERROR,this.onError,this),a.off(O.BUFFER_RESET,this.onBufferReset,this),a.off(O.BUFFER_CREATED,this.onBufferCreated,this),a.off(O.BUFFER_FLUSHING,this.onBufferFlushing,this),a.off(O.BUFFER_FLUSHED,this.onBufferFlushed,this),a.off(O.INIT_PTS_FOUND,this.onInitPtsFound,this),a.off(O.FRAG_BUFFERED,this.onFragBuffered,this)}onInitPtsFound(a,{frag:t,id:n,initPTS:i,timescale:r}){if(n==="main"){const s=t.cc;this.initPTS[t.cc]={baseTime:i,timescale:r},this.log(`InitPTS for cc: ${s} found from main: ${i}`),this.videoTrackCC=s,this.state===Ae.WAITING_INIT_PTS&&this.tick()}}startLoad(a){if(!this.levels){this.startPosition=a,this.state=Ae.STOPPED;return}const t=this.lastCurrentTime;this.stopLoad(),this.setInterval(q_),t>0&&a===-1?(this.log(`Override startPosition with lastCurrentTime @${t.toFixed(3)}`),a=t,this.state=Ae.IDLE):(this.loadedmetadata=!1,this.state=Ae.WAITING_TRACK),this.nextLoadPosition=this.startPosition=this.lastCurrentTime=a,this.tick()}doTick(){switch(this.state){case Ae.IDLE:this.doTickIdle();break;case Ae.WAITING_TRACK:{var a;const{levels:n,trackId:i}=this,r=n==null||(a=n[i])==null?void 0:a.details;if(r){if(this.waitForCdnTuneIn(r))break;this.state=Ae.WAITING_INIT_PTS}break}case Ae.FRAG_LOADING_WAITING_RETRY:{var t;const n=performance.now(),i=this.retryDate;if(!i||n>=i||(t=this.media)!=null&&t.seeking){const{levels:r,trackId:s}=this;this.log("RetryDate reached, switch back to IDLE state"),this.resetStartWhenNotLoaded((r==null?void 0:r[s])||null),this.state=Ae.IDLE}break}case Ae.WAITING_INIT_PTS:{const n=this.waitingData;if(n){const{frag:i,part:r,cache:s,complete:u}=n;if(this.initPTS[i.cc]!==void 0){this.waitingData=null,this.waitingVideoCC=-1,this.state=Ae.FRAG_LOADING;const o=s.flush(),l={frag:i,part:r,payload:o,networkDetails:null};this._handleFragmentLoadProgress(l),u&&super._handleFragmentLoadComplete(l)}else if(this.videoTrackCC!==this.waitingVideoCC)this.log(`Waiting fragment cc (${i.cc}) cancelled because video is at cc ${this.videoTrackCC}`),this.clearWaitingFragment();else{const o=this.getLoadPosition(),l=Ja.bufferInfo(this.mediaBuffer,o,this.config.maxBufferHole);n3(l.end,this.config.maxFragLookUpTolerance,i)<0&&(this.log(`Waiting fragment cc (${i.cc}) @ ${i.start} cancelled because another fragment at ${l.end} is needed`),this.clearWaitingFragment())}}else this.state=Ae.IDLE}}this.onTickEnd()}clearWaitingFragment(){const a=this.waitingData;a&&(this.fragmentTracker.removeFragment(a.frag),this.waitingData=null,this.waitingVideoCC=-1,this.state=Ae.IDLE)}resetLoadingState(){this.clearWaitingFragment(),super.resetLoadingState()}onTickEnd(){const{media:a}=this;a!=null&&a.readyState&&(this.lastCurrentTime=a.currentTime)}doTickIdle(){const{hls:a,levels:t,media:n,trackId:i}=this,r=a.config;if(!n&&(this.startFragRequested||!r.startFragPrefetch)||!(t!=null&&t[i]))return;const s=t[i],u=s.details;if(!u||u.live&&this.levelLastLoaded!==s||this.waitForCdnTuneIn(u)){this.state=Ae.WAITING_TRACK;return}const o=this.mediaBuffer?this.mediaBuffer:this.media;this.bufferFlushed&&o&&(this.bufferFlushed=!1,this.afterBufferFlushed(o,za.AUDIO,ea.AUDIO));const l=this.getFwdBufferInfo(o,ea.AUDIO);if(l===null)return;const{bufferedTrack:g,switchingTrack:d}=this;if(!d&&this._streamEnded(l,u)){a.trigger(O.BUFFER_EOS,{type:"audio"}),this.state=Ae.ENDED;return}const c=this.getFwdBufferInfo(this.videoBuffer?this.videoBuffer:this.media,ea.MAIN),p=l.len,f=this.getMaxBufferLength(c==null?void 0:c.len),h=u.fragments,y=h[0].start;let b=this.flushing?this.getLoadPosition():l.end;if(d&&n){const v=this.getLoadPosition();g&&!nd(d.attrs,g.attrs)&&(b=v),u.PTSKnown&&v<y&&(l.end>y||l.nextStart)&&(this.log("Alt audio track ahead of main track, seek to start of alt audio track"),n.currentTime=y+.05)}if(p>=f&&!d&&b<h[h.length-1].start)return;let m=this.getNextFragment(b,u),T=!1;if(m&&this.isLoopLoading(m,b)&&(T=!!m.gap,m=this.getNextFragmentLoopLoading(m,u,l,ea.MAIN,f)),!m){this.bufferFlushed=!0;return}const A=c&&m.start>c.end+u.targetduration;if(A||!(c!=null&&c.len)&&l.len){const v=this.getAppendedFrag(m.start,ea.MAIN);if(v===null||(T||(T=!!v.gap||!!A&&c.len===0),A&&!T||T&&l.nextStart&&l.nextStart<v.end))return}this.loadFragment(m,s,b)}getMaxBufferLength(a){const t=super.getMaxBufferLength();return a?Math.min(Math.max(t,a),this.config.maxMaxBufferLength):t}onMediaDetaching(){this.videoBuffer=null,this.bufferFlushed=this.flushing=!1,super.onMediaDetaching()}onAudioTracksUpdated(a,{audioTracks:t}){this.resetTransmuxer(),this.levels=t.map(n=>new td(n))}onAudioTrackSwitching(a,t){const n=!!t.url;this.trackId=t.id;const{fragCurrent:i}=this;i&&(i.abortRequests(),this.removeUnbufferedFrags(i.start)),this.resetLoadingState(),n?this.setInterval(q_):this.resetTransmuxer(),n?(this.switchingTrack=t,this.state=Ae.IDLE,this.flushAudioIfNeeded(t)):(this.switchingTrack=null,this.bufferedTrack=t,this.state=Ae.STOPPED),this.tick()}onManifestLoading(){this.fragmentTracker.removeAllFragments(),this.startPosition=this.lastCurrentTime=0,this.bufferFlushed=this.flushing=!1,this.levels=this.mainDetails=this.waitingData=this.bufferedTrack=this.cachedTrackLoadedData=this.switchingTrack=null,this.startFragRequested=!1,this.trackId=this.videoTrackCC=this.waitingVideoCC=-1}onLevelLoaded(a,t){this.mainDetails=t.details,this.cachedTrackLoadedData!==null&&(this.hls.trigger(O.AUDIO_TRACK_LOADED,this.cachedTrackLoadedData),this.cachedTrackLoadedData=null)}onAudioTrackLoaded(a,t){var n;if(this.mainDetails==null){this.cachedTrackLoadedData=t;return}const{levels:i}=this,{details:r,id:s}=t;if(!i){this.warn(`Audio tracks were reset while loading level ${s}`);return}this.log(`Audio track ${s} loaded [${r.startSN},${r.endSN}]${r.lastPartSn?`[part-${r.lastPartSn}-${r.lastPartIndex}]`:""},duration:${r.totalduration}`);const u=i[s];let o=0;if(r.live||(n=u.details)!=null&&n.live){this.checkLiveUpdate(r);const g=this.mainDetails;if(r.deltaUpdateFailed||!g)return;if(!u.details&&r.hasProgramDateTime&&g.hasProgramDateTime)ey(r,g),o=r.fragments[0].start;else{var l;o=this.alignPlaylists(r,u.details,(l=this.levelLastLoaded)==null?void 0:l.details)}}u.details=r,this.levelLastLoaded=u,!this.startFragRequested&&(this.mainDetails||!r.live)&&this.setStartPosition(this.mainDetails||r,o),this.state===Ae.WAITING_TRACK&&!this.waitForCdnTuneIn(r)&&(this.state=Ae.IDLE),this.tick()}_handleFragmentLoadProgress(a){var t;const{frag:n,part:i,payload:r}=a,{config:s,trackId:u,levels:o}=this;if(!o){this.warn(`Audio tracks were reset while fragment load was in progress. Fragment ${n.sn} of level ${n.level} will not be buffered`);return}const l=o[u];if(!l){this.warn("Audio track is undefined on fragment load progress");return}const g=l.details;if(!g){this.warn("Audio track details undefined on fragment load progress"),this.removeUnbufferedFrags(n.start);return}const d=s.defaultAudioCodec||l.audioCodec||"mp4a.40.2";let c=this.transmuxer;c||(c=this.transmuxer=new Bj(this.hls,ea.AUDIO,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)));const p=this.initPTS[n.cc],f=(t=n.initSegment)==null?void 0:t.data;if(p!==void 0){const y=i?i.index:-1,b=y!==-1,m=new gx(n.level,n.sn,n.stats.chunkCount,r.byteLength,y,b);c.push(r,f,d,"",n,i,g.totalduration,!1,m,p)}else{this.log(`Unknown video PTS for cc ${n.cc}, waiting for video PTS before demuxing audio frag ${n.sn} of [${g.startSN} ,${g.endSN}],track ${u}`);const{cache:h}=this.waitingData=this.waitingData||{frag:n,part:i,cache:new Aj,complete:!1};h.push(new Uint8Array(r)),this.waitingVideoCC=this.videoTrackCC,this.state=Ae.WAITING_INIT_PTS}}_handleFragmentLoadComplete(a){if(this.waitingData){this.waitingData.complete=!0;return}super._handleFragmentLoadComplete(a)}onBufferReset(){this.mediaBuffer=this.videoBuffer=null,this.loadedmetadata=!1}onBufferCreated(a,t){const n=t.tracks.audio;n&&(this.mediaBuffer=n.buffer||null),t.tracks.video&&(this.videoBuffer=t.tracks.video.buffer||null)}onFragBuffered(a,t){const{frag:n,part:i}=t;if(n.type!==ea.AUDIO){if(!this.loadedmetadata&&n.type===ea.MAIN){const r=this.videoBuffer||this.media;r&&Ja.getBuffered(r).length&&(this.loadedmetadata=!0)}return}if(this.fragContextChanged(n)){this.warn(`Fragment ${n.sn}${i?" p: "+i.index:""} of level ${n.level} finished buffering, but was aborted. state: ${this.state}, audioSwitch: ${this.switchingTrack?this.switchingTrack.name:"false"}`);return}if(n.sn!=="initSegment"){this.fragPrevious=n;const r=this.switchingTrack;r&&(this.bufferedTrack=r,this.switchingTrack=null,this.hls.trigger(O.AUDIO_TRACK_SWITCHED,en({},r)))}this.fragBufferedComplete(n,i)}onError(a,t){var n;if(t.fatal){this.state=Ae.ERROR;return}switch(t.details){case ce.FRAG_GAP:case ce.FRAG_PARSING_ERROR:case ce.FRAG_DECRYPT_ERROR:case ce.FRAG_LOAD_ERROR:case ce.FRAG_LOAD_TIMEOUT:case ce.KEY_LOAD_ERROR:case ce.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(ea.AUDIO,t);break;case ce.AUDIO_TRACK_LOAD_ERROR:case ce.AUDIO_TRACK_LOAD_TIMEOUT:case ce.LEVEL_PARSING_ERROR:!t.levelRetry&&this.state===Ae.WAITING_TRACK&&((n=t.context)==null?void 0:n.type)===wa.AUDIO_TRACK&&(this.state=Ae.IDLE);break;case ce.BUFFER_APPEND_ERROR:case ce.BUFFER_FULL_ERROR:if(!t.parent||t.parent!=="audio")return;if(t.details===ce.BUFFER_APPEND_ERROR){this.resetLoadingState();return}this.reduceLengthAndFlushBuffer(t)&&(this.bufferedTrack=null,super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio"));break;case ce.INTERNAL_EXCEPTION:this.recoverWorkerError(t);break}}onBufferFlushing(a,{type:t}){t!==za.VIDEO&&(this.flushing=!0)}onBufferFlushed(a,{type:t}){if(t!==za.VIDEO){this.flushing=!1,this.bufferFlushed=!0,this.state===Ae.ENDED&&(this.state=Ae.IDLE);const n=this.mediaBuffer||this.media;n&&(this.afterBufferFlushed(n,t,ea.AUDIO),this.tick())}}_handleTransmuxComplete(a){var t;const n="audio",{hls:i}=this,{remuxResult:r,chunkMeta:s}=a,u=this.getCurrentContext(s);if(!u){this.resetWhenMissingContext(s);return}const{frag:o,part:l,level:g}=u,{details:d}=g,{audio:c,text:p,id3:f,initSegment:h}=r;if(this.fragContextChanged(o)||!d){this.fragmentTracker.removeFragment(o);return}if(this.state=Ae.PARSING,this.switchingTrack&&c&&this.completeAudioSwitch(this.switchingTrack),h!=null&&h.tracks){const y=o.initSegment||o;this._bufferInitSegment(g,h.tracks,y,s),i.trigger(O.FRAG_PARSING_INIT_SEGMENT,{frag:y,id:n,tracks:h.tracks})}if(c){const{startPTS:y,endPTS:b,startDTS:m,endDTS:T}=c;l&&(l.elementaryStreams[za.AUDIO]={startPTS:y,endPTS:b,startDTS:m,endDTS:T}),o.setElementaryStreamInfo(za.AUDIO,y,b,m,T),this.bufferFragmentData(c,o,l,s)}if(f!=null&&(t=f.samples)!=null&&t.length){const y=Rt({id:n,frag:o,details:d},f);i.trigger(O.FRAG_PARSING_METADATA,y)}if(p){const y=Rt({id:n,frag:o,details:d},p);i.trigger(O.FRAG_PARSING_USERDATA,y)}}_bufferInitSegment(a,t,n,i){if(this.state!==Ae.PARSING)return;t.video&&delete t.video;const r=t.audio;if(!r)return;r.id="audio";const s=a.audioCodec;this.log(`Init audio buffer, container:${r.container}, codecs[level/parsed]=[${s}/${r.codec}]`),s&&s.split(",").length===1&&(r.levelCodec=s),this.hls.trigger(O.BUFFER_CODECS,t);const u=r.initSegment;if(u!=null&&u.byteLength){const o={type:"audio",frag:n,part:null,chunkMeta:i,parent:n.type,data:u};this.hls.trigger(O.BUFFER_APPENDING,o)}this.tickImmediate()}loadFragment(a,t,n){const i=this.fragmentTracker.getState(a);if(this.fragCurrent=a,this.switchingTrack||i===Wt.NOT_LOADED||i===Wt.PARTIAL){var r;if(a.sn==="initSegment")this._loadInitSegment(a,t);else if((r=t.details)!=null&&r.live&&!this.initPTS[a.cc]){this.log(`Waiting for video PTS in continuity counter ${a.cc} of live stream before loading audio fragment ${a.sn} of level ${this.trackId}`),this.state=Ae.WAITING_INIT_PTS;const s=this.mainDetails;s&&s.fragments[0].start!==t.details.fragments[0].start&&ey(t.details,s)}else this.startFragRequested=!0,super.loadFragment(a,t,n)}else this.clearTrackerIfNeeded(a)}flushAudioIfNeeded(a){const{media:t,bufferedTrack:n}=this,i=n==null?void 0:n.attrs,r=a.attrs;t&&i&&(i.CHANNELS!==r.CHANNELS||n.name!==a.name||n.lang!==a.lang)&&(this.log("Switching audio track : flushing all audio"),super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio"),this.bufferedTrack=null)}completeAudioSwitch(a){const{hls:t}=this;this.flushAudioIfNeeded(a),this.bufferedTrack=a,this.switchingTrack=null,t.trigger(O.AUDIO_TRACK_SWITCHED,en({},a))}}class Cxe extends lx{constructor(a){super(a,"[audio-track-controller]"),this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0,this.registerListeners()}registerListeners(){const{hls:a}=this;a.on(O.MANIFEST_LOADING,this.onManifestLoading,this),a.on(O.MANIFEST_PARSED,this.onManifestParsed,this),a.on(O.LEVEL_LOADING,this.onLevelLoading,this),a.on(O.LEVEL_SWITCHING,this.onLevelSwitching,this),a.on(O.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),a.on(O.ERROR,this.onError,this)}unregisterListeners(){const{hls:a}=this;a.off(O.MANIFEST_LOADING,this.onManifestLoading,this),a.off(O.MANIFEST_PARSED,this.onManifestParsed,this),a.off(O.LEVEL_LOADING,this.onLevelLoading,this),a.off(O.LEVEL_SWITCHING,this.onLevelSwitching,this),a.off(O.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),a.off(O.ERROR,this.onError,this)}destroy(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,super.destroy()}onManifestLoading(){this.tracks=[],this.tracksInGroup=[],this.groupIds=null,this.currentTrack=null,this.trackId=-1,this.selectDefaultTrack=!0}onManifestParsed(a,t){this.tracks=t.audioTracks||[]}onAudioTrackLoaded(a,t){const{id:n,groupId:i,details:r}=t,s=this.tracksInGroup[n];if(!s||s.groupId!==i){this.warn(`Audio track with id:${n} and group:${i} not found in active group ${s==null?void 0:s.groupId}`);return}const u=s.details;s.details=t.details,this.log(`Audio track ${n} "${s.name}" lang:${s.lang} group:${i} loaded [${r.startSN}-${r.endSN}]`),n===this.trackId&&this.playlistLoaded(n,t,u)}onLevelLoading(a,t){this.switchLevel(t.level)}onLevelSwitching(a,t){this.switchLevel(t.level)}switchLevel(a){const t=this.hls.levels[a];if(!t)return;const n=t.audioGroups||null,i=this.groupIds;let r=this.currentTrack;if(!n||(i==null?void 0:i.length)!==(n==null?void 0:n.length)||n!=null&&n.some(u=>(i==null?void 0:i.indexOf(u))===-1)){this.groupIds=n,this.trackId=-1,this.currentTrack=null;const u=this.tracks.filter(c=>!n||n.indexOf(c.groupId)!==-1);if(u.length)this.selectDefaultTrack&&!u.some(c=>c.default)&&(this.selectDefaultTrack=!1),u.forEach((c,p)=>{c.id=p});else if(!r&&!this.tracksInGroup.length)return;this.tracksInGroup=u;const o=this.hls.config.audioPreference;if(!r&&o){const c=ss(o,u,jl);if(c>-1)r=u[c];else{const p=ss(o,this.tracks);r=this.tracks[p]}}let l=this.findTrackId(r);l===-1&&r&&(l=this.findTrackId(null));const g={audioTracks:u};this.log(`Updating audio tracks, ${u.length} track(s) found in group(s): ${n==null?void 0:n.join(",")}`),this.hls.trigger(O.AUDIO_TRACKS_UPDATED,g);const d=this.trackId;if(l!==-1&&d===-1)this.setAudioTrack(l);else if(u.length&&d===-1){var s;const c=new Error(`No audio track selected for current audio group-ID(s): ${(s=this.groupIds)==null?void 0:s.join(",")} track count: ${u.length}`);this.warn(c.message),this.hls.trigger(O.ERROR,{type:na.MEDIA_ERROR,details:ce.AUDIO_TRACK_LOAD_ERROR,fatal:!0,error:c})}}else this.shouldReloadPlaylist(r)&&this.setAudioTrack(this.trackId)}onError(a,t){t.fatal||!t.context||t.context.type===wa.AUDIO_TRACK&&t.context.id===this.trackId&&(!this.groupIds||this.groupIds.indexOf(t.context.groupId)!==-1)&&(this.requestScheduled=-1,this.checkRetry(t))}get allAudioTracks(){return this.tracks}get audioTracks(){return this.tracksInGroup}get audioTrack(){return this.trackId}set audioTrack(a){this.selectDefaultTrack=!1,this.setAudioTrack(a)}setAudioOption(a){const t=this.hls;if(t.config.audioPreference=a,a){const n=this.allAudioTracks;if(this.selectDefaultTrack=!1,n.length){const i=this.currentTrack;if(i&&Ig(a,i,jl))return i;const r=ss(a,this.tracksInGroup,jl);if(r>-1){const s=this.tracksInGroup[r];return this.setAudioTrack(r),s}else if(i){let s=t.loadLevel;s===-1&&(s=t.firstAutoLevel);const u=CDe(a,t.levels,n,s,jl);if(u===-1)return null;t.nextLoadLevel=u}if(a.channels||a.audioCodec){const s=ss(a,n);if(s>-1)return n[s]}}}return null}setAudioTrack(a){const t=this.tracksInGroup;if(a<0||a>=t.length){this.warn(`Invalid audio track id: ${a}`);return}this.clearTimer(),this.selectDefaultTrack=!1;const n=this.currentTrack,i=t[a],r=i.details&&!i.details.live;if(a===this.trackId&&i===n&&r||(this.log(`Switching to audio-track ${a} "${i.name}" lang:${i.lang} group:${i.groupId} channels:${i.channels}`),this.trackId=a,this.currentTrack=i,this.hls.trigger(O.AUDIO_TRACK_SWITCHING,en({},i)),r))return;const s=this.switchParams(i.url,n==null?void 0:n.details,i.details);this.loadPlaylist(s)}findTrackId(a){const t=this.tracksInGroup;for(let n=0;n<t.length;n++){const i=t[n];if(!(this.selectDefaultTrack&&!i.default)&&(!a||Ig(a,i,jl)))return n}if(a){const{name:n,lang:i,assocLang:r,characteristics:s,audioCodec:u,channels:o}=a;for(let l=0;l<t.length;l++){const g=t[l];if(Ig({name:n,lang:i,assocLang:r,characteristics:s,audioCodec:u,channels:o},g,jl))return l}for(let l=0;l<t.length;l++){const g=t[l];if(nd(a.attrs,g.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return l}for(let l=0;l<t.length;l++){const g=t[l];if(nd(a.attrs,g.attrs,["LANGUAGE"]))return l}}return-1}loadPlaylist(a){const t=this.currentTrack;if(this.shouldLoadPlaylist(t)&&t){super.loadPlaylist();const n=t.id,i=t.groupId;let r=t.url;if(a)try{r=a.addDirectives(r)}catch(s){this.warn(`Could not construct new URL with HLS Delivery Directives: ${s}`)}this.log(`loading audio-track playlist ${n} "${t.name}" lang:${t.lang} group:${i}`),this.clearTimer(),this.hls.trigger(O.AUDIO_TRACK_LOADING,{url:r,id:n,groupId:i,deliveryDirectives:a||null})}}}const V_=500;class wxe extends cx{constructor(a,t,n){super(a,t,n,"[subtitle-stream-controller]",ea.SUBTITLE),this.currentTrackId=-1,this.tracksBuffered=[],this.mainDetails=null,this._registerListeners()}onHandlerDestroying(){this._unregisterListeners(),super.onHandlerDestroying(),this.mainDetails=null}_registerListeners(){const{hls:a}=this;a.on(O.MEDIA_ATTACHED,this.onMediaAttached,this),a.on(O.MEDIA_DETACHING,this.onMediaDetaching,this),a.on(O.MANIFEST_LOADING,this.onManifestLoading,this),a.on(O.LEVEL_LOADED,this.onLevelLoaded,this),a.on(O.ERROR,this.onError,this),a.on(O.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),a.on(O.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),a.on(O.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),a.on(O.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),a.on(O.BUFFER_FLUSHING,this.onBufferFlushing,this),a.on(O.FRAG_BUFFERED,this.onFragBuffered,this)}_unregisterListeners(){const{hls:a}=this;a.off(O.MEDIA_ATTACHED,this.onMediaAttached,this),a.off(O.MEDIA_DETACHING,this.onMediaDetaching,this),a.off(O.MANIFEST_LOADING,this.onManifestLoading,this),a.off(O.LEVEL_LOADED,this.onLevelLoaded,this),a.off(O.ERROR,this.onError,this),a.off(O.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),a.off(O.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),a.off(O.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),a.off(O.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),a.off(O.BUFFER_FLUSHING,this.onBufferFlushing,this),a.off(O.FRAG_BUFFERED,this.onFragBuffered,this)}startLoad(a){this.stopLoad(),this.state=Ae.IDLE,this.setInterval(V_),this.nextLoadPosition=this.startPosition=this.lastCurrentTime=a,this.tick()}onManifestLoading(){this.mainDetails=null,this.fragmentTracker.removeAllFragments()}onMediaDetaching(){this.tracksBuffered=[],super.onMediaDetaching()}onLevelLoaded(a,t){this.mainDetails=t.details}onSubtitleFragProcessed(a,t){const{frag:n,success:i}=t;if(this.fragPrevious=n,this.state=Ae.IDLE,!i)return;const r=this.tracksBuffered[this.currentTrackId];if(!r)return;let s;const u=n.start;for(let l=0;l<r.length;l++)if(u>=r[l].start&&u<=r[l].end){s=r[l];break}const o=n.start+n.duration;s?s.end=o:(s={start:u,end:o},r.push(s)),this.fragmentTracker.fragBuffered(n),this.fragBufferedComplete(n,null)}onBufferFlushing(a,t){const{startOffset:n,endOffset:i}=t;if(n===0&&i!==Number.POSITIVE_INFINITY){const r=i-1;if(r<=0)return;t.endOffsetSubtitles=Math.max(0,r),this.tracksBuffered.forEach(s=>{for(let u=0;u<s.length;){if(s[u].end<=r){s.shift();continue}else if(s[u].start<r)s[u].start=r;else break;u++}}),this.fragmentTracker.removeFragmentsInRange(n,r,ea.SUBTITLE)}}onFragBuffered(a,t){if(!this.loadedmetadata&&t.frag.type===ea.MAIN){var n;(n=this.media)!=null&&n.buffered.length&&(this.loadedmetadata=!0)}}onError(a,t){const n=t.frag;(n==null?void 0:n.type)===ea.SUBTITLE&&(t.details===ce.FRAG_GAP&&this.fragmentTracker.fragBuffered(n,!0),this.fragCurrent&&this.fragCurrent.abortRequests(),this.state!==Ae.STOPPED&&(this.state=Ae.IDLE))}onSubtitleTracksUpdated(a,{subtitleTracks:t}){if(this.levels&&Fj(this.levels,t)){this.levels=t.map(n=>new td(n));return}this.tracksBuffered=[],this.levels=t.map(n=>{const i=new td(n);return this.tracksBuffered[i.id]=[],i}),this.fragmentTracker.removeFragmentsInRange(0,Number.POSITIVE_INFINITY,ea.SUBTITLE),this.fragPrevious=null,this.mediaBuffer=null}onSubtitleTrackSwitch(a,t){var n;if(this.currentTrackId=t.id,!((n=this.levels)!=null&&n.length)||this.currentTrackId===-1){this.clearInterval();return}const i=this.levels[this.currentTrackId];i!=null&&i.details?this.mediaBuffer=this.mediaBufferTimeRanges:this.mediaBuffer=null,i&&this.setInterval(V_)}onSubtitleTrackLoaded(a,t){var n;const{currentTrackId:i,levels:r}=this,{details:s,id:u}=t;if(!r){this.warn(`Subtitle tracks were reset while loading level ${u}`);return}const o=r[u];if(u>=r.length||!o)return;this.log(`Subtitle track ${u} loaded [${s.startSN},${s.endSN}]${s.lastPartSn?`[part-${s.lastPartSn}-${s.lastPartIndex}]`:""},duration:${s.totalduration}`),this.mediaBuffer=this.mediaBufferTimeRanges;let l=0;if(s.live||(n=o.details)!=null&&n.live){const d=this.mainDetails;if(s.deltaUpdateFailed||!d)return;const c=d.fragments[0];if(!o.details)s.hasProgramDateTime&&d.hasProgramDateTime?(ey(s,d),l=s.fragments[0].start):c&&(l=c.start,t3(s,l));else{var g;l=this.alignPlaylists(s,o.details,(g=this.levelLastLoaded)==null?void 0:g.details),l===0&&c&&(l=c.start,t3(s,l))}}o.details=s,this.levelLastLoaded=o,u===i&&(!this.startFragRequested&&(this.mainDetails||!s.live)&&this.setStartPosition(this.mainDetails||s,l),this.tick(),s.live&&!this.fragCurrent&&this.media&&this.state===Ae.IDLE&&(Jm(null,s.fragments,this.media.currentTime,0)||(this.warn("Subtitle playlist not aligned with playback"),o.details=void 0)))}_handleFragmentLoadComplete(a){const{frag:t,payload:n}=a,i=t.decryptdata,r=this.hls;if(!this.fragContextChanged(t)&&n&&n.byteLength>0&&i!=null&&i.key&&i.iv&&i.method==="AES-128"){const s=performance.now();this.decrypter.decrypt(new Uint8Array(n),i.key.buffer,i.iv.buffer).catch(u=>{throw r.trigger(O.ERROR,{type:na.MEDIA_ERROR,details:ce.FRAG_DECRYPT_ERROR,fatal:!1,error:u,reason:u.message,frag:t}),u}).then(u=>{const o=performance.now();r.trigger(O.FRAG_DECRYPTED,{frag:t,payload:u,stats:{tstart:s,tdecrypt:o}})}).catch(u=>{this.warn(`${u.name}: ${u.message}`),this.state=Ae.IDLE})}}doTick(){if(!this.media){this.state=Ae.IDLE;return}if(this.state===Ae.IDLE){const{currentTrackId:a,levels:t}=this,n=t==null?void 0:t[a];if(!n||!t.length||!n.details)return;const{config:i}=this,r=this.getLoadPosition(),s=Ja.bufferedInfo(this.tracksBuffered[this.currentTrackId]||[],r,i.maxBufferHole),{end:u,len:o}=s,l=this.getFwdBufferInfo(this.media,ea.MAIN),g=n.details,d=this.getMaxBufferLength(l==null?void 0:l.len)+g.levelTargetDuration;if(o>d)return;const c=g.fragments,p=c.length,f=g.edge;let h=null;const y=this.fragPrevious;if(u<f){const b=i.maxFragLookUpTolerance,m=u>f-b?0:b;h=Jm(y,c,Math.max(c[0].start,u),m),!h&&y&&y.start<c[0].start&&(h=c[0])}else h=c[p-1];if(!h)return;if(h=this.mapToInitFragWhenRequired(h),h.sn!=="initSegment"){const b=h.sn-g.startSN,m=c[b-1];m&&m.cc===h.cc&&this.fragmentTracker.getState(m)===Wt.NOT_LOADED&&(h=m)}this.fragmentTracker.getState(h)===Wt.NOT_LOADED&&this.loadFragment(h,n,u)}}getMaxBufferLength(a){const t=super.getMaxBufferLength();return a?Math.max(t,a):t}loadFragment(a,t,n){this.fragCurrent=a,a.sn==="initSegment"?this._loadInitSegment(a,t):(this.startFragRequested=!0,super.loadFragment(a,t,n))}get mediaBufferTimeRanges(){return new _xe(this.tracksBuffered[this.currentTrackId]||[])}}class _xe{constructor(a){this.buffered=void 0;const t=(n,i,r)=>{if(i=i>>>0,i>r-1)throw new DOMException(`Failed to execute '${n}' on 'TimeRanges': The index provided (${i}) is greater than the maximum bound (${r})`);return a[i][n]};this.buffered={get length(){return a.length},end(n){return t("end",n,a.length)},start(n){return t("start",n,a.length)}}}}class Ixe extends lx{constructor(a){super(a,"[subtitle-track-controller]"),this.media=null,this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0,this.queuedDefaultTrack=-1,this.asyncPollTrackChange=()=>this.pollTrackChange(0),this.useTextTrackPolling=!1,this.subtitlePollingInterval=-1,this._subtitleDisplay=!0,this.onTextTracksChanged=()=>{if(this.useTextTrackPolling||self.clearInterval(this.subtitlePollingInterval),!this.media||!this.hls.config.renderTextTracksNatively)return;let t=null;const n=Y2(this.media.textTracks);for(let r=0;r<n.length;r++)if(n[r].mode==="hidden")t=n[r];else if(n[r].mode==="showing"){t=n[r];break}const i=this.findTrackForTextTrack(t);this.subtitleTrack!==i&&this.setSubtitleTrack(i)},this.registerListeners()}destroy(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,this.onTextTracksChanged=this.asyncPollTrackChange=null,super.destroy()}get subtitleDisplay(){return this._subtitleDisplay}set subtitleDisplay(a){this._subtitleDisplay=a,this.trackId>-1&&this.toggleTrackModes()}registerListeners(){const{hls:a}=this;a.on(O.MEDIA_ATTACHED,this.onMediaAttached,this),a.on(O.MEDIA_DETACHING,this.onMediaDetaching,this),a.on(O.MANIFEST_LOADING,this.onManifestLoading,this),a.on(O.MANIFEST_PARSED,this.onManifestParsed,this),a.on(O.LEVEL_LOADING,this.onLevelLoading,this),a.on(O.LEVEL_SWITCHING,this.onLevelSwitching,this),a.on(O.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),a.on(O.ERROR,this.onError,this)}unregisterListeners(){const{hls:a}=this;a.off(O.MEDIA_ATTACHED,this.onMediaAttached,this),a.off(O.MEDIA_DETACHING,this.onMediaDetaching,this),a.off(O.MANIFEST_LOADING,this.onManifestLoading,this),a.off(O.MANIFEST_PARSED,this.onManifestParsed,this),a.off(O.LEVEL_LOADING,this.onLevelLoading,this),a.off(O.LEVEL_SWITCHING,this.onLevelSwitching,this),a.off(O.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),a.off(O.ERROR,this.onError,this)}onMediaAttached(a,t){this.media=t.media,this.media&&(this.queuedDefaultTrack>-1&&(this.subtitleTrack=this.queuedDefaultTrack,this.queuedDefaultTrack=-1),this.useTextTrackPolling=!(this.media.textTracks&&"onchange"in this.media.textTracks),this.useTextTrackPolling?this.pollTrackChange(500):this.media.textTracks.addEventListener("change",this.asyncPollTrackChange))}pollTrackChange(a){self.clearInterval(this.subtitlePollingInterval),this.subtitlePollingInterval=self.setInterval(this.onTextTracksChanged,a)}onMediaDetaching(){if(!this.media)return;self.clearInterval(this.subtitlePollingInterval),this.useTextTrackPolling||this.media.textTracks.removeEventListener("change",this.asyncPollTrackChange),this.trackId>-1&&(this.queuedDefaultTrack=this.trackId),Y2(this.media.textTracks).forEach(t=>{pg(t)}),this.subtitleTrack=-1,this.media=null}onManifestLoading(){this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0}onManifestParsed(a,t){this.tracks=t.subtitleTracks}onSubtitleTrackLoaded(a,t){const{id:n,groupId:i,details:r}=t,s=this.tracksInGroup[n];if(!s||s.groupId!==i){this.warn(`Subtitle track with id:${n} and group:${i} not found in active group ${s==null?void 0:s.groupId}`);return}const u=s.details;s.details=t.details,this.log(`Subtitle track ${n} "${s.name}" lang:${s.lang} group:${i} loaded [${r.startSN}-${r.endSN}]`),n===this.trackId&&this.playlistLoaded(n,t,u)}onLevelLoading(a,t){this.switchLevel(t.level)}onLevelSwitching(a,t){this.switchLevel(t.level)}switchLevel(a){const t=this.hls.levels[a];if(!t)return;const n=t.subtitleGroups||null,i=this.groupIds;let r=this.currentTrack;if(!n||(i==null?void 0:i.length)!==(n==null?void 0:n.length)||n!=null&&n.some(s=>(i==null?void 0:i.indexOf(s))===-1)){this.groupIds=n,this.trackId=-1,this.currentTrack=null;const s=this.tracks.filter(g=>!n||n.indexOf(g.groupId)!==-1);if(s.length)this.selectDefaultTrack&&!s.some(g=>g.default)&&(this.selectDefaultTrack=!1),s.forEach((g,d)=>{g.id=d});else if(!r&&!this.tracksInGroup.length)return;this.tracksInGroup=s;const u=this.hls.config.subtitlePreference;if(!r&&u){this.selectDefaultTrack=!1;const g=ss(u,s);if(g>-1)r=s[g];else{const d=ss(u,this.tracks);r=this.tracks[d]}}let o=this.findTrackId(r);o===-1&&r&&(o=this.findTrackId(null));const l={subtitleTracks:s};this.log(`Updating subtitle tracks, ${s.length} track(s) found in "${n==null?void 0:n.join(",")}" group-id`),this.hls.trigger(O.SUBTITLE_TRACKS_UPDATED,l),o!==-1&&this.trackId===-1&&this.setSubtitleTrack(o)}else this.shouldReloadPlaylist(r)&&this.setSubtitleTrack(this.trackId)}findTrackId(a){const t=this.tracksInGroup,n=this.selectDefaultTrack;for(let i=0;i<t.length;i++){const r=t[i];if(!(n&&!r.default||!n&&!a)&&(!a||Ig(r,a)))return i}if(a){for(let i=0;i<t.length;i++){const r=t[i];if(nd(a.attrs,r.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return i}for(let i=0;i<t.length;i++){const r=t[i];if(nd(a.attrs,r.attrs,["LANGUAGE"]))return i}}return-1}findTrackForTextTrack(a){if(a){const t=this.tracksInGroup;for(let n=0;n<t.length;n++){const i=t[n];if(r3(i,a))return n}}return-1}onError(a,t){t.fatal||!t.context||t.context.type===wa.SUBTITLE_TRACK&&t.context.id===this.trackId&&(!this.groupIds||this.groupIds.indexOf(t.context.groupId)!==-1)&&this.checkRetry(t)}get allSubtitleTracks(){return this.tracks}get subtitleTracks(){return this.tracksInGroup}get subtitleTrack(){return this.trackId}set subtitleTrack(a){this.selectDefaultTrack=!1,this.setSubtitleTrack(a)}setSubtitleOption(a){if(this.hls.config.subtitlePreference=a,a){const t=this.allSubtitleTracks;if(this.selectDefaultTrack=!1,t.length){const n=this.currentTrack;if(n&&Ig(a,n))return n;const i=ss(a,this.tracksInGroup);if(i>-1){const r=this.tracksInGroup[i];return this.setSubtitleTrack(i),r}else{if(n)return null;{const r=ss(a,t);if(r>-1)return t[r]}}}}return null}loadPlaylist(a){super.loadPlaylist();const t=this.currentTrack;if(this.shouldLoadPlaylist(t)&&t){const n=t.id,i=t.groupId;let r=t.url;if(a)try{r=a.addDirectives(r)}catch(s){this.warn(`Could not construct new URL with HLS Delivery Directives: ${s}`)}this.log(`Loading subtitle playlist for id ${n}`),this.hls.trigger(O.SUBTITLE_TRACK_LOADING,{url:r,id:n,groupId:i,deliveryDirectives:a||null})}}toggleTrackModes(){const{media:a}=this;if(!a)return;const t=Y2(a.textTracks),n=this.currentTrack;let i;if(n&&(i=t.filter(r=>r3(n,r))[0],i||this.warn(`Unable to find subtitle TextTrack with name "${n.name}" and language "${n.lang}"`)),[].slice.call(t).forEach(r=>{r.mode!=="disabled"&&r!==i&&(r.mode="disabled")}),i){const r=this.subtitleDisplay?"showing":"hidden";i.mode!==r&&(i.mode=r)}}setSubtitleTrack(a){const t=this.tracksInGroup;if(!this.media){this.queuedDefaultTrack=a;return}if(a<-1||a>=t.length||!$e(a)){this.warn(`Invalid subtitle track id: ${a}`);return}this.clearTimer(),this.selectDefaultTrack=!1;const n=this.currentTrack,i=t[a]||null;if(this.trackId=a,this.currentTrack=i,this.toggleTrackModes(),!i){this.hls.trigger(O.SUBTITLE_TRACK_SWITCH,{id:a});return}const r=!!i.details&&!i.details.live;if(a===this.trackId&&i===n&&r)return;this.log(`Switching to subtitle-track ${a}`+(i?` "${i.name}" lang:${i.lang} group:${i.groupId}`:""));const{id:s,groupId:u="",name:o,type:l,url:g}=i;this.hls.trigger(O.SUBTITLE_TRACK_SWITCH,{id:s,groupId:u,name:o,type:l,url:g});const d=this.switchParams(i.url,n==null?void 0:n.details,i.details);this.loadPlaylist(d)}}class Nxe{constructor(a){this.buffers=void 0,this.queues={video:[],audio:[],audiovideo:[]},this.buffers=a}append(a,t,n){const i=this.queues[t];i.push(a),i.length===1&&!n&&this.executeNext(t)}insertAbort(a,t){this.queues[t].unshift(a),this.executeNext(t)}appendBlocker(a){let t;const n=new Promise(r=>{t=r}),i={execute:t,onStart:()=>{},onComplete:()=>{},onError:()=>{}};return this.append(i,a),n}executeNext(a){const t=this.queues[a];if(t.length){const n=t[0];try{n.execute()}catch(i){se.warn(`[buffer-operation-queue]: Exception executing "${a}" SourceBuffer operation: ${i}`),n.onError(i);const r=this.buffers[a];r!=null&&r.updating||this.shiftAndExecuteNext(a)}}}shiftAndExecuteNext(a){this.queues[a].shift(),this.executeNext(a)}current(a){return this.queues[a][0]}}const G_=/(avc[1234]|hvc1|hev1|dvh[1e]|vp09|av01)(?:\.[^.,]+)+/;class Lxe{constructor(a){this.details=null,this._objectUrl=null,this.operationQueue=void 0,this.listeners=void 0,this.hls=void 0,this.bufferCodecEventsExpected=0,this._bufferCodecEventsTotal=0,this.media=null,this.mediaSource=null,this.lastMpegAudioChunk=null,this.appendSource=void 0,this.appendErrors={audio:0,video:0,audiovideo:0},this.tracks={},this.pendingTracks={},this.sourceBuffer=void 0,this.log=void 0,this.warn=void 0,this.error=void 0,this._onEndStreaming=n=>{this.hls&&this.hls.pauseBuffering()},this._onStartStreaming=n=>{this.hls&&this.hls.resumeBuffering()},this._onMediaSourceOpen=()=>{const{media:n,mediaSource:i}=this;this.log("Media source opened"),n&&(n.removeEventListener("emptied",this._onMediaEmptied),this.updateMediaElementDuration(),this.hls.trigger(O.MEDIA_ATTACHED,{media:n,mediaSource:i})),i&&i.removeEventListener("sourceopen",this._onMediaSourceOpen),this.checkPendingTracks()},this._onMediaSourceClose=()=>{this.log("Media source closed")},this._onMediaSourceEnded=()=>{this.log("Media source ended")},this._onMediaEmptied=()=>{const{mediaSrc:n,_objectUrl:i}=this;n!==i&&se.error(`Media element src was set while attaching MediaSource (${i} > ${n})`)},this.hls=a;const t="[buffer-controller]";this.appendSource=z6e(sl(a.config.preferManagedMediaSource)),this.log=se.log.bind(se,t),this.warn=se.warn.bind(se,t),this.error=se.error.bind(se,t),this._initSourceBuffer(),this.registerListeners()}hasSourceTypes(){return this.getSourceBufferTypes().length>0||Object.keys(this.pendingTracks).length>0}destroy(){this.unregisterListeners(),this.details=null,this.lastMpegAudioChunk=null,this.hls=null}registerListeners(){const{hls:a}=this;a.on(O.MEDIA_ATTACHING,this.onMediaAttaching,this),a.on(O.MEDIA_DETACHING,this.onMediaDetaching,this),a.on(O.MANIFEST_LOADING,this.onManifestLoading,this),a.on(O.MANIFEST_PARSED,this.onManifestParsed,this),a.on(O.BUFFER_RESET,this.onBufferReset,this),a.on(O.BUFFER_APPENDING,this.onBufferAppending,this),a.on(O.BUFFER_CODECS,this.onBufferCodecs,this),a.on(O.BUFFER_EOS,this.onBufferEos,this),a.on(O.BUFFER_FLUSHING,this.onBufferFlushing,this),a.on(O.LEVEL_UPDATED,this.onLevelUpdated,this),a.on(O.FRAG_PARSED,this.onFragParsed,this),a.on(O.FRAG_CHANGED,this.onFragChanged,this)}unregisterListeners(){const{hls:a}=this;a.off(O.MEDIA_ATTACHING,this.onMediaAttaching,this),a.off(O.MEDIA_DETACHING,this.onMediaDetaching,this),a.off(O.MANIFEST_LOADING,this.onManifestLoading,this),a.off(O.MANIFEST_PARSED,this.onManifestParsed,this),a.off(O.BUFFER_RESET,this.onBufferReset,this),a.off(O.BUFFER_APPENDING,this.onBufferAppending,this),a.off(O.BUFFER_CODECS,this.onBufferCodecs,this),a.off(O.BUFFER_EOS,this.onBufferEos,this),a.off(O.BUFFER_FLUSHING,this.onBufferFlushing,this),a.off(O.LEVEL_UPDATED,this.onLevelUpdated,this),a.off(O.FRAG_PARSED,this.onFragParsed,this),a.off(O.FRAG_CHANGED,this.onFragChanged,this)}_initSourceBuffer(){this.sourceBuffer={},this.operationQueue=new Nxe(this.sourceBuffer),this.listeners={audio:[],video:[],audiovideo:[]},this.appendErrors={audio:0,video:0,audiovideo:0},this.lastMpegAudioChunk=null}onManifestLoading(){this.bufferCodecEventsExpected=this._bufferCodecEventsTotal=0,this.details=null}onManifestParsed(a,t){let n=2;(t.audio&&!t.video||!t.altAudio)&&(n=1),this.bufferCodecEventsExpected=this._bufferCodecEventsTotal=n,this.log(`${this.bufferCodecEventsExpected} bufferCodec event(s) expected`)}onMediaAttaching(a,t){const n=this.media=t.media,i=sl(this.appendSource);if(n&&i){var r;const s=this.mediaSource=new i;this.log(`created media source: ${(r=s.constructor)==null?void 0:r.name}`),s.addEventListener("sourceopen",this._onMediaSourceOpen),s.addEventListener("sourceended",this._onMediaSourceEnded),s.addEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(s.addEventListener("startstreaming",this._onStartStreaming),s.addEventListener("endstreaming",this._onEndStreaming));const u=this._objectUrl=self.URL.createObjectURL(s);if(this.appendSource)try{n.removeAttribute("src");const o=self.ManagedMediaSource;n.disableRemotePlayback=n.disableRemotePlayback||o&&s instanceof o,W_(n),Rxe(n,u),n.load()}catch{n.src=u}else n.src=u;n.addEventListener("emptied",this._onMediaEmptied)}}onMediaDetaching(){const{media:a,mediaSource:t,_objectUrl:n}=this;if(t){if(this.log("media source detaching"),t.readyState==="open")try{t.endOfStream()}catch(i){this.warn(`onMediaDetaching: ${i.message} while calling endOfStream`)}this.onBufferReset(),t.removeEventListener("sourceopen",this._onMediaSourceOpen),t.removeEventListener("sourceended",this._onMediaSourceEnded),t.removeEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(t.removeEventListener("startstreaming",this._onStartStreaming),t.removeEventListener("endstreaming",this._onEndStreaming)),a&&(a.removeEventListener("emptied",this._onMediaEmptied),n&&self.URL.revokeObjectURL(n),this.mediaSrc===n?(a.removeAttribute("src"),this.appendSource&&W_(a),a.load()):this.warn("media|source.src was changed by a third party - skip cleanup")),this.mediaSource=null,this.media=null,this._objectUrl=null,this.bufferCodecEventsExpected=this._bufferCodecEventsTotal,this.pendingTracks={},this.tracks={}}this.hls.trigger(O.MEDIA_DETACHED,void 0)}onBufferReset(){this.getSourceBufferTypes().forEach(a=>{this.resetBuffer(a)}),this._initSourceBuffer()}resetBuffer(a){const t=this.sourceBuffer[a];try{if(t){var n;this.removeBufferListeners(a),this.sourceBuffer[a]=void 0,(n=this.mediaSource)!=null&&n.sourceBuffers.length&&this.mediaSource.removeSourceBuffer(t)}}catch(i){this.warn(`onBufferReset ${a}`,i)}}onBufferCodecs(a,t){const n=this.getSourceBufferTypes().length,i=Object.keys(t);if(i.forEach(s=>{if(n){const o=this.tracks[s];if(o&&typeof o.buffer.changeType=="function"){var u;const{id:l,codec:g,levelCodec:d,container:c,metadata:p}=t[s],f=h_(o.codec,o.levelCodec),h=f==null?void 0:f.replace(G_,"$1");let y=h_(g,d);const b=(u=y)==null?void 0:u.replace(G_,"$1");if(y&&h!==b){s.slice(0,5)==="audio"&&(y=Ym(y,this.appendSource));const m=`${c};codecs=${y}`;this.appendChangeType(s,m),this.log(`switching codec ${f} to ${y}`),this.tracks[s]={buffer:o.buffer,codec:g,container:c,levelCodec:d,metadata:p,id:l}}}}else this.pendingTracks[s]=t[s]}),n)return;const r=Math.max(this.bufferCodecEventsExpected-1,0);this.bufferCodecEventsExpected!==r&&(this.log(`${r} bufferCodec event(s) expected ${i.join(",")}`),this.bufferCodecEventsExpected=r),this.mediaSource&&this.mediaSource.readyState==="open"&&this.checkPendingTracks()}appendChangeType(a,t){const{operationQueue:n}=this,i={execute:()=>{const r=this.sourceBuffer[a];r&&(this.log(`changing ${a} sourceBuffer type to ${t}`),r.changeType(t)),n.shiftAndExecuteNext(a)},onStart:()=>{},onComplete:()=>{},onError:r=>{this.warn(`Failed to change ${a} SourceBuffer type`,r)}};n.append(i,a,!!this.pendingTracks[a])}onBufferAppending(a,t){const{hls:n,operationQueue:i,tracks:r}=this,{data:s,type:u,frag:o,part:l,chunkMeta:g}=t,d=g.buffering[u],c=self.performance.now();d.start=c;const p=o.stats.buffering,f=l?l.stats.buffering:null;p.start===0&&(p.start=c),f&&f.start===0&&(f.start=c);const h=r.audio;let y=!1;u==="audio"&&(h==null?void 0:h.container)==="audio/mpeg"&&(y=!this.lastMpegAudioChunk||g.id===1||this.lastMpegAudioChunk.sn!==g.sn,this.lastMpegAudioChunk=g);const b=o.start,m={execute:()=>{if(d.executeStart=self.performance.now(),y){const T=this.sourceBuffer[u];if(T){const A=b-T.timestampOffset;Math.abs(A)>=.1&&(this.log(`Updating audio SourceBuffer timestampOffset to ${b} (delta: ${A}) sn: ${o.sn})`),T.timestampOffset=b)}}this.appendExecutor(s,u)},onStart:()=>{},onComplete:()=>{const T=self.performance.now();d.executeEnd=d.end=T,p.first===0&&(p.first=T),f&&f.first===0&&(f.first=T);const{sourceBuffer:A}=this,v={};for(const D in A)v[D]=Ja.getBuffered(A[D]);this.appendErrors[u]=0,u==="audio"||u==="video"?this.appendErrors.audiovideo=0:(this.appendErrors.audio=0,this.appendErrors.video=0),this.hls.trigger(O.BUFFER_APPENDED,{type:u,frag:o,part:l,chunkMeta:g,parent:o.type,timeRanges:v})},onError:T=>{const A={type:na.MEDIA_ERROR,parent:o.type,details:ce.BUFFER_APPEND_ERROR,sourceBufferName:u,frag:o,part:l,chunkMeta:g,error:T,err:T,fatal:!1};if(T.code===DOMException.QUOTA_EXCEEDED_ERR)A.details=ce.BUFFER_FULL_ERROR;else{const v=++this.appendErrors[u];A.details=ce.BUFFER_APPEND_ERROR,this.warn(`Failed ${v}/${n.config.appendErrorMaxRetry} times to append segment in "${u}" sourceBuffer`),v>=n.config.appendErrorMaxRetry&&(A.fatal=!0)}n.trigger(O.ERROR,A)}};i.append(m,u,!!this.pendingTracks[u])}onBufferFlushing(a,t){const{operationQueue:n}=this,i=r=>({execute:this.removeExecutor.bind(this,r,t.startOffset,t.endOffset),onStart:()=>{},onComplete:()=>{this.hls.trigger(O.BUFFER_FLUSHED,{type:r})},onError:s=>{this.warn(`Failed to remove from ${r} SourceBuffer`,s)}});t.type?n.append(i(t.type),t.type):this.getSourceBufferTypes().forEach(r=>{n.append(i(r),r)})}onFragParsed(a,t){const{frag:n,part:i}=t,r=[],s=i?i.elementaryStreams:n.elementaryStreams;s[za.AUDIOVIDEO]?r.push("audiovideo"):(s[za.AUDIO]&&r.push("audio"),s[za.VIDEO]&&r.push("video"));const u=()=>{const o=self.performance.now();n.stats.buffering.end=o,i&&(i.stats.buffering.end=o);const l=i?i.stats:n.stats;this.hls.trigger(O.FRAG_BUFFERED,{frag:n,part:i,stats:l,id:n.type})};r.length===0&&this.warn(`Fragments must have at least one ElementaryStreamType set. type: ${n.type} level: ${n.level} sn: ${n.sn}`),this.blockBuffers(u,r)}onFragChanged(a,t){this.trimBuffers()}onBufferEos(a,t){this.getSourceBufferTypes().reduce((i,r)=>{const s=this.sourceBuffer[r];return s&&(!t.type||t.type===r)&&(s.ending=!0,s.ended||(s.ended=!0,this.log(`${r} sourceBuffer now EOS`))),i&&!!(!s||s.ended)},!0)&&(this.log("Queueing mediaSource.endOfStream()"),this.blockBuffers(()=>{this.getSourceBufferTypes().forEach(r=>{const s=this.sourceBuffer[r];s&&(s.ending=!1)});const{mediaSource:i}=this;if(!i||i.readyState!=="open"){i&&this.log(`Could not call mediaSource.endOfStream(). mediaSource.readyState: ${i.readyState}`);return}this.log("Calling mediaSource.endOfStream()"),i.endOfStream()}))}onLevelUpdated(a,{details:t}){t.fragments.length&&(this.details=t,this.getSourceBufferTypes().length?this.blockBuffers(this.updateMediaElementDuration.bind(this)):this.updateMediaElementDuration())}trimBuffers(){const{hls:a,details:t,media:n}=this;if(!n||t===null||!this.getSourceBufferTypes().length)return;const r=a.config,s=n.currentTime,u=t.levelTargetDuration,o=t.live&&r.liveBackBufferLength!==null?r.liveBackBufferLength:r.backBufferLength;if($e(o)&&o>0){const l=Math.max(o,u),g=Math.floor(s/u)*u-l;this.flushBackBuffer(s,u,g)}if($e(r.frontBufferFlushThreshold)&&r.frontBufferFlushThreshold>0){const l=Math.max(r.maxBufferLength,r.frontBufferFlushThreshold),g=Math.max(l,u),d=Math.floor(s/u)*u+g;this.flushFrontBuffer(s,u,d)}}flushBackBuffer(a,t,n){const{details:i,sourceBuffer:r}=this;this.getSourceBufferTypes().forEach(u=>{const o=r[u];if(o){const l=Ja.getBuffered(o);if(l.length>0&&n>l.start(0)){if(this.hls.trigger(O.BACK_BUFFER_REACHED,{bufferEnd:n}),i!=null&&i.live)this.hls.trigger(O.LIVE_BACK_BUFFER_REACHED,{bufferEnd:n});else if(o.ended&&l.end(l.length-1)-a<t*2){this.log(`Cannot flush ${u} back buffer while SourceBuffer is in ended state`);return}this.hls.trigger(O.BUFFER_FLUSHING,{startOffset:0,endOffset:n,type:u})}}})}flushFrontBuffer(a,t,n){const{sourceBuffer:i}=this;this.getSourceBufferTypes().forEach(s=>{const u=i[s];if(u){const o=Ja.getBuffered(u),l=o.length;if(l<2)return;const g=o.start(l-1),d=o.end(l-1);if(n>g||a>=g&&a<=d)return;if(u.ended&&a-d<2*t){this.log(`Cannot flush ${s} front buffer while SourceBuffer is in ended state`);return}this.hls.trigger(O.BUFFER_FLUSHING,{startOffset:g,endOffset:1/0,type:s})}})}updateMediaElementDuration(){if(!this.details||!this.media||!this.mediaSource||this.mediaSource.readyState!=="open")return;const{details:a,hls:t,media:n,mediaSource:i}=this,r=a.fragments[0].start+a.totalduration,s=n.duration,u=$e(i.duration)?i.duration:0;a.live&&t.config.liveDurationInfinity?(i.duration=1/0,this.updateSeekableRange(a)):(r>u&&r>s||!$e(s))&&(this.log(`Updating Media Source duration to ${r.toFixed(3)}`),i.duration=r)}updateSeekableRange(a){const t=this.mediaSource,n=a.fragments;if(n.length&&a.live&&t!=null&&t.setLiveSeekableRange){const r=Math.max(0,n[0].start),s=Math.max(r,r+a.totalduration);this.log(`Media Source duration is set to ${t.duration}. Setting seekable range to ${r}-${s}.`),t.setLiveSeekableRange(r,s)}}checkPendingTracks(){const{bufferCodecEventsExpected:a,operationQueue:t,pendingTracks:n}=this,i=Object.keys(n).length;if(i&&(!a||i===2||"audiovideo"in n)){this.createSourceBuffers(n),this.pendingTracks={};const r=this.getSourceBufferTypes();if(r.length)this.hls.trigger(O.BUFFER_CREATED,{tracks:this.tracks}),r.forEach(s=>{t.executeNext(s)});else{const s=new Error("could not create source buffer for media codec(s)");this.hls.trigger(O.ERROR,{type:na.MEDIA_ERROR,details:ce.BUFFER_INCOMPATIBLE_CODECS_ERROR,fatal:!0,error:s,reason:s.message})}}}createSourceBuffers(a){const{sourceBuffer:t,mediaSource:n}=this;if(!n)throw Error("createSourceBuffers called when mediaSource was null");for(const r in a)if(!t[r]){var i;const s=a[r];if(!s)throw Error(`source buffer exists for track ${r}, however track does not`);let u=((i=s.levelCodec)==null?void 0:i.indexOf(","))===-1?s.levelCodec:s.codec;u&&r.slice(0,5)==="audio"&&(u=Ym(u,this.appendSource));const o=`${s.container};codecs=${u}`;this.log(`creating sourceBuffer(${o})`);try{const l=t[r]=n.addSourceBuffer(o),g=r;this.addBufferListener(g,"updatestart",this._onSBUpdateStart),this.addBufferListener(g,"updateend",this._onSBUpdateEnd),this.addBufferListener(g,"error",this._onSBUpdateError),this.appendSource&&this.addBufferListener(g,"bufferedchange",(d,c)=>{const p=c.removedRanges;p!=null&&p.length&&this.hls.trigger(O.BUFFER_FLUSHED,{type:r})}),this.tracks[r]={buffer:l,codec:u,container:s.container,levelCodec:s.levelCodec,metadata:s.metadata,id:s.id}}catch(l){this.error(`error while trying to add sourceBuffer: ${l.message}`),this.hls.trigger(O.ERROR,{type:na.MEDIA_ERROR,details:ce.BUFFER_ADD_CODEC_ERROR,fatal:!1,error:l,sourceBufferName:r,mimeType:o})}}}get mediaSrc(){var a,t;const n=((a=this.media)==null||(t=a.querySelector)==null?void 0:t.call(a,"source"))||this.media;return n==null?void 0:n.src}_onSBUpdateStart(a){const{operationQueue:t}=this;t.current(a).onStart()}_onSBUpdateEnd(a){var t;if(((t=this.mediaSource)==null?void 0:t.readyState)==="closed"){this.resetBuffer(a);return}const{operationQueue:n}=this;n.current(a).onComplete(),n.shiftAndExecuteNext(a)}_onSBUpdateError(a,t){var n;const i=new Error(`${a} SourceBuffer error. MediaSource readyState: ${(n=this.mediaSource)==null?void 0:n.readyState}`);this.error(`${i}`,t),this.hls.trigger(O.ERROR,{type:na.MEDIA_ERROR,details:ce.BUFFER_APPENDING_ERROR,sourceBufferName:a,error:i,fatal:!1});const r=this.operationQueue.current(a);r&&r.onError(i)}removeExecutor(a,t,n){const{media:i,mediaSource:r,operationQueue:s,sourceBuffer:u}=this,o=u[a];if(!i||!r||!o){this.warn(`Attempting to remove from the ${a} SourceBuffer, but it does not exist`),s.shiftAndExecuteNext(a);return}const l=$e(i.duration)?i.duration:1/0,g=$e(r.duration)?r.duration:1/0,d=Math.max(0,t),c=Math.min(n,l,g);c>d&&(!o.ending||o.ended)?(o.ended=!1,this.log(`Removing [${d},${c}] from the ${a} SourceBuffer`),o.remove(d,c)):s.shiftAndExecuteNext(a)}appendExecutor(a,t){const n=this.sourceBuffer[t];if(!n){if(!this.pendingTracks[t])throw new Error(`Attempting to append to the ${t} SourceBuffer, but it does not exist`);return}n.ended=!1,n.appendBuffer(a)}blockBuffers(a,t=this.getSourceBufferTypes()){if(!t.length){this.log("Blocking operation requested, but no SourceBuffers exist"),Promise.resolve().then(a);return}const{operationQueue:n}=this,i=t.map(r=>n.appendBlocker(r));Promise.all(i).then(()=>{a(),t.forEach(r=>{const s=this.sourceBuffer[r];s!=null&&s.updating||n.shiftAndExecuteNext(r)})})}getSourceBufferTypes(){return Object.keys(this.sourceBuffer)}addBufferListener(a,t,n){const i=this.sourceBuffer[a];if(!i)return;const r=n.bind(this,a);this.listeners[a].push({event:t,listener:r}),i.addEventListener(t,r)}removeBufferListeners(a){const t=this.sourceBuffer[a];t&&this.listeners[a].forEach(n=>{t.removeEventListener(n.event,n.listener)})}}function W_(e){const a=e.querySelectorAll("source");[].slice.call(a).forEach(t=>{e.removeChild(t)})}function Rxe(e,a){const t=self.document.createElement("source");t.type="video/mp4",t.src=a,e.appendChild(t)}const Pxe={42:225,92:233,94:237,95:243,96:250,123:231,124:247,125:209,126:241,127:9608,128:174,129:176,130:189,131:191,132:8482,133:162,134:163,135:9834,136:224,137:32,138:232,139:226,140:234,141:238,142:244,143:251,144:193,145:201,146:211,147:218,148:220,149:252,150:8216,151:161,152:42,153:8217,154:9473,155:169,156:8480,157:8226,158:8220,159:8221,160:192,161:194,162:199,163:200,164:202,165:203,166:235,167:206,168:207,169:239,170:212,171:217,172:249,173:219,174:171,175:187,176:195,177:227,178:205,179:204,180:236,181:210,182:242,183:213,184:245,185:123,186:125,187:92,188:94,189:95,190:124,191:8764,192:196,193:228,194:214,195:246,196:223,197:165,198:164,199:9475,200:197,201:229,202:216,203:248,204:9487,205:9491,206:9495,207:9499},Uj=e=>String.fromCharCode(Pxe[e]||e),fr=15,Cs=100,Mxe={17:1,18:3,21:5,22:7,23:9,16:11,19:12,20:14},Oxe={17:2,18:4,21:6,22:8,23:10,19:13,20:15},Bxe={25:1,26:3,29:5,30:7,31:9,24:11,27:12,28:14},Fxe={25:2,26:4,29:6,30:8,31:10,27:13,28:15},Uxe=["white","green","blue","cyan","red","yellow","magenta","black","transparent"];class jxe{constructor(){this.time=null,this.verboseLevel=0}log(a,t){if(this.verboseLevel>=a){const n=typeof t=="function"?t():t;se.log(`${this.time} [${a}] ${n}`)}}}const vo=function(a){const t=[];for(let n=0;n<a.length;n++)t.push(a[n].toString(16));return t};class jj{constructor(){this.foreground="white",this.underline=!1,this.italics=!1,this.background="black",this.flash=!1}reset(){this.foreground="white",this.underline=!1,this.italics=!1,this.background="black",this.flash=!1}setStyles(a){const t=["foreground","underline","italics","background","flash"];for(let n=0;n<t.length;n++){const i=t[n];a.hasOwnProperty(i)&&(this[i]=a[i])}}isDefault(){return this.foreground==="white"&&!this.underline&&!this.italics&&this.background==="black"&&!this.flash}equals(a){return this.foreground===a.foreground&&this.underline===a.underline&&this.italics===a.italics&&this.background===a.background&&this.flash===a.flash}copy(a){this.foreground=a.foreground,this.underline=a.underline,this.italics=a.italics,this.background=a.background,this.flash=a.flash}toString(){return"color="+this.foreground+", underline="+this.underline+", italics="+this.italics+", background="+this.background+", flash="+this.flash}}class zxe{constructor(){this.uchar=" ",this.penState=new jj}reset(){this.uchar=" ",this.penState.reset()}setChar(a,t){this.uchar=a,this.penState.copy(t)}setPenState(a){this.penState.copy(a)}equals(a){return this.uchar===a.uchar&&this.penState.equals(a.penState)}copy(a){this.uchar=a.uchar,this.penState.copy(a.penState)}isEmpty(){return this.uchar===" "&&this.penState.isDefault()}}class $xe{constructor(a){this.chars=[],this.pos=0,this.currPenState=new jj,this.cueStartTime=null,this.logger=void 0;for(let t=0;t<Cs;t++)this.chars.push(new zxe);this.logger=a}equals(a){for(let t=0;t<Cs;t++)if(!this.chars[t].equals(a.chars[t]))return!1;return!0}copy(a){for(let t=0;t<Cs;t++)this.chars[t].copy(a.chars[t])}isEmpty(){let a=!0;for(let t=0;t<Cs;t++)if(!this.chars[t].isEmpty()){a=!1;break}return a}setCursor(a){this.pos!==a&&(this.pos=a),this.pos<0?(this.logger.log(3,"Negative cursor position "+this.pos),this.pos=0):this.pos>Cs&&(this.logger.log(3,"Too large cursor position "+this.pos),this.pos=Cs)}moveCursor(a){const t=this.pos+a;if(a>1)for(let n=this.pos+1;n<t+1;n++)this.chars[n].setPenState(this.currPenState);this.setCursor(t)}backSpace(){this.moveCursor(-1),this.chars[this.pos].setChar(" ",this.currPenState)}insertChar(a){a>=144&&this.backSpace();const t=Uj(a);if(this.pos>=Cs){this.logger.log(0,()=>"Cannot insert "+a.toString(16)+" ("+t+") at position "+this.pos+". Skipping it!");return}this.chars[this.pos].setChar(t,this.currPenState),this.moveCursor(1)}clearFromPos(a){let t;for(t=a;t<Cs;t++)this.chars[t].reset()}clear(){this.clearFromPos(0),this.pos=0,this.currPenState.reset()}clearToEndOfRow(){this.clearFromPos(this.pos)}getTextString(){const a=[];let t=!0;for(let n=0;n<Cs;n++){const i=this.chars[n].uchar;i!==" "&&(t=!1),a.push(i)}return t?"":a.join("")}setPenStyles(a){this.currPenState.setStyles(a),this.chars[this.pos].setPenState(this.currPenState)}}class aS{constructor(a){this.rows=[],this.currRow=fr-1,this.nrRollUpRows=null,this.lastOutputScreen=null,this.logger=void 0;for(let t=0;t<fr;t++)this.rows.push(new $xe(a));this.logger=a}reset(){for(let a=0;a<fr;a++)this.rows[a].clear();this.currRow=fr-1}equals(a){let t=!0;for(let n=0;n<fr;n++)if(!this.rows[n].equals(a.rows[n])){t=!1;break}return t}copy(a){for(let t=0;t<fr;t++)this.rows[t].copy(a.rows[t])}isEmpty(){let a=!0;for(let t=0;t<fr;t++)if(!this.rows[t].isEmpty()){a=!1;break}return a}backSpace(){this.rows[this.currRow].backSpace()}clearToEndOfRow(){this.rows[this.currRow].clearToEndOfRow()}insertChar(a){this.rows[this.currRow].insertChar(a)}setPen(a){this.rows[this.currRow].setPenStyles(a)}moveCursor(a){this.rows[this.currRow].moveCursor(a)}setCursor(a){this.logger.log(2,"setCursor: "+a),this.rows[this.currRow].setCursor(a)}setPAC(a){this.logger.log(2,()=>"pacData = "+JSON.stringify(a));let t=a.row-1;if(this.nrRollUpRows&&t<this.nrRollUpRows-1&&(t=this.nrRollUpRows-1),this.nrRollUpRows&&this.currRow!==t){for(let u=0;u<fr;u++)this.rows[u].clear();const r=this.currRow+1-this.nrRollUpRows,s=this.lastOutputScreen;if(s){const u=s.rows[r].cueStartTime,o=this.logger.time;if(u!==null&&o!==null&&u<o)for(let l=0;l<this.nrRollUpRows;l++)this.rows[t-this.nrRollUpRows+l+1].copy(s.rows[r+l])}}this.currRow=t;const n=this.rows[this.currRow];if(a.indent!==null){const r=a.indent,s=Math.max(r-1,0);n.setCursor(a.indent),a.color=n.chars[s].penState.foreground}const i={foreground:a.color,underline:a.underline,italics:a.italics,background:"black",flash:!1};this.setPen(i)}setBkgData(a){this.logger.log(2,()=>"bkgData = "+JSON.stringify(a)),this.backSpace(),this.setPen(a),this.insertChar(32)}setRollUpRows(a){this.nrRollUpRows=a}rollUp(){if(this.nrRollUpRows===null){this.logger.log(3,"roll_up but nrRollUpRows not set yet");return}this.logger.log(1,()=>this.getDisplayText());const a=this.currRow+1-this.nrRollUpRows,t=this.rows.splice(a,1)[0];t.clear(),this.rows.splice(this.currRow,0,t),this.logger.log(2,"Rolling up")}getDisplayText(a){a=a||!1;const t=[];let n="",i=-1;for(let r=0;r<fr;r++){const s=this.rows[r].getTextString();s&&(i=r+1,a?t.push("Row "+i+": '"+s+"'"):t.push(s.trim()))}return t.length>0&&(a?n="["+t.join(" | ")+"]":n=t.join(`
`)),n}getTextAndFormat(){return this.rows}}class Y_{constructor(a,t,n){this.chNr=void 0,this.outputFilter=void 0,this.mode=void 0,this.verbose=void 0,this.displayedMemory=void 0,this.nonDisplayedMemory=void 0,this.lastOutputScreen=void 0,this.currRollUpRow=void 0,this.writeScreen=void 0,this.cueStartTime=void 0,this.logger=void 0,this.chNr=a,this.outputFilter=t,this.mode=null,this.verbose=0,this.displayedMemory=new aS(n),this.nonDisplayedMemory=new aS(n),this.lastOutputScreen=new aS(n),this.currRollUpRow=this.displayedMemory.rows[fr-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null,this.logger=n}reset(){this.mode=null,this.displayedMemory.reset(),this.nonDisplayedMemory.reset(),this.lastOutputScreen.reset(),this.outputFilter.reset(),this.currRollUpRow=this.displayedMemory.rows[fr-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null}getHandler(){return this.outputFilter}setHandler(a){this.outputFilter=a}setPAC(a){this.writeScreen.setPAC(a)}setBkgData(a){this.writeScreen.setBkgData(a)}setMode(a){a!==this.mode&&(this.mode=a,this.logger.log(2,()=>"MODE="+a),this.mode==="MODE_POP-ON"?this.writeScreen=this.nonDisplayedMemory:(this.writeScreen=this.displayedMemory,this.writeScreen.reset()),this.mode!=="MODE_ROLL-UP"&&(this.displayedMemory.nrRollUpRows=null,this.nonDisplayedMemory.nrRollUpRows=null),this.mode=a)}insertChars(a){for(let n=0;n<a.length;n++)this.writeScreen.insertChar(a[n]);const t=this.writeScreen===this.displayedMemory?"DISP":"NON_DISP";this.logger.log(2,()=>t+": "+this.writeScreen.getDisplayText(!0)),(this.mode==="MODE_PAINT-ON"||this.mode==="MODE_ROLL-UP")&&(this.logger.log(1,()=>"DISPLAYED: "+this.displayedMemory.getDisplayText(!0)),this.outputDataUpdate())}ccRCL(){this.logger.log(2,"RCL - Resume Caption Loading"),this.setMode("MODE_POP-ON")}ccBS(){this.logger.log(2,"BS - BackSpace"),this.mode!=="MODE_TEXT"&&(this.writeScreen.backSpace(),this.writeScreen===this.displayedMemory&&this.outputDataUpdate())}ccAOF(){}ccAON(){}ccDER(){this.logger.log(2,"DER- Delete to End of Row"),this.writeScreen.clearToEndOfRow(),this.outputDataUpdate()}ccRU(a){this.logger.log(2,"RU("+a+") - Roll Up"),this.writeScreen=this.displayedMemory,this.setMode("MODE_ROLL-UP"),this.writeScreen.setRollUpRows(a)}ccFON(){this.logger.log(2,"FON - Flash On"),this.writeScreen.setPen({flash:!0})}ccRDC(){this.logger.log(2,"RDC - Resume Direct Captioning"),this.setMode("MODE_PAINT-ON")}ccTR(){this.logger.log(2,"TR"),this.setMode("MODE_TEXT")}ccRTD(){this.logger.log(2,"RTD"),this.setMode("MODE_TEXT")}ccEDM(){this.logger.log(2,"EDM - Erase Displayed Memory"),this.displayedMemory.reset(),this.outputDataUpdate(!0)}ccCR(){this.logger.log(2,"CR - Carriage Return"),this.writeScreen.rollUp(),this.outputDataUpdate(!0)}ccENM(){this.logger.log(2,"ENM - Erase Non-displayed Memory"),this.nonDisplayedMemory.reset()}ccEOC(){if(this.logger.log(2,"EOC - End Of Caption"),this.mode==="MODE_POP-ON"){const a=this.displayedMemory;this.displayedMemory=this.nonDisplayedMemory,this.nonDisplayedMemory=a,this.writeScreen=this.nonDisplayedMemory,this.logger.log(1,()=>"DISP: "+this.displayedMemory.getDisplayText())}this.outputDataUpdate(!0)}ccTO(a){this.logger.log(2,"TO("+a+") - Tab Offset"),this.writeScreen.moveCursor(a)}ccMIDROW(a){const t={flash:!1};if(t.underline=a%2===1,t.italics=a>=46,t.italics)t.foreground="white";else{const n=Math.floor(a/2)-16,i=["white","green","blue","cyan","red","yellow","magenta"];t.foreground=i[n]}this.logger.log(2,"MIDROW: "+JSON.stringify(t)),this.writeScreen.setPen(t)}outputDataUpdate(a=!1){const t=this.logger.time;t!==null&&this.outputFilter&&(this.cueStartTime===null&&!this.displayedMemory.isEmpty()?this.cueStartTime=t:this.displayedMemory.equals(this.lastOutputScreen)||(this.outputFilter.newCue(this.cueStartTime,t,this.lastOutputScreen),a&&this.outputFilter.dispatchCue&&this.outputFilter.dispatchCue(),this.cueStartTime=this.displayedMemory.isEmpty()?null:t),this.lastOutputScreen.copy(this.displayedMemory))}cueSplitAtTime(a){this.outputFilter&&(this.displayedMemory.isEmpty()||(this.outputFilter.newCue&&this.outputFilter.newCue(this.cueStartTime,a,this.displayedMemory),this.cueStartTime=a))}}class X_{constructor(a,t,n){this.channels=void 0,this.currentChannel=0,this.cmdHistory=Hxe(),this.logger=void 0;const i=this.logger=new jxe;this.channels=[null,new Y_(a,t,i),new Y_(a+1,n,i)]}getHandler(a){return this.channels[a].getHandler()}setHandler(a,t){this.channels[a].setHandler(t)}addData(a,t){this.logger.time=a;for(let n=0;n<t.length;n+=2){const i=t[n]&127,r=t[n+1]&127;let s=!1,u=null;if(i===0&&r===0)continue;this.logger.log(3,()=>"["+vo([t[n],t[n+1]])+"] -> ("+vo([i,r])+")");const o=this.cmdHistory;if(i>=16&&i<=31){if(Kxe(i,r,o)){s2(null,null,o),this.logger.log(3,()=>"Repeated command ("+vo([i,r])+") is dropped");continue}s2(i,r,this.cmdHistory),s=this.parseCmd(i,r),s||(s=this.parseMidrow(i,r)),s||(s=this.parsePAC(i,r)),s||(s=this.parseBackgroundAttributes(i,r))}else s2(null,null,o);if(!s&&(u=this.parseChars(i,r),u)){const g=this.currentChannel;g&&g>0?this.channels[g].insertChars(u):this.logger.log(2,"No channel found yet. TEXT-MODE?")}!s&&!u&&this.logger.log(2,()=>"Couldn't parse cleaned data "+vo([i,r])+" orig: "+vo([t[n],t[n+1]]))}}parseCmd(a,t){const n=(a===20||a===28||a===21||a===29)&&t>=32&&t<=47,i=(a===23||a===31)&&t>=33&&t<=35;if(!(n||i))return!1;const r=a===20||a===21||a===23?1:2,s=this.channels[r];return a===20||a===21||a===28||a===29?t===32?s.ccRCL():t===33?s.ccBS():t===34?s.ccAOF():t===35?s.ccAON():t===36?s.ccDER():t===37?s.ccRU(2):t===38?s.ccRU(3):t===39?s.ccRU(4):t===40?s.ccFON():t===41?s.ccRDC():t===42?s.ccTR():t===43?s.ccRTD():t===44?s.ccEDM():t===45?s.ccCR():t===46?s.ccENM():t===47&&s.ccEOC():s.ccTO(t-32),this.currentChannel=r,!0}parseMidrow(a,t){let n=0;if((a===17||a===25)&&t>=32&&t<=47){if(a===17?n=1:n=2,n!==this.currentChannel)return this.logger.log(0,"Mismatch channel in midrow parsing"),!1;const i=this.channels[n];return i?(i.ccMIDROW(t),this.logger.log(3,()=>"MIDROW ("+vo([a,t])+")"),!0):!1}return!1}parsePAC(a,t){let n;const i=(a>=17&&a<=23||a>=25&&a<=31)&&t>=64&&t<=127,r=(a===16||a===24)&&t>=64&&t<=95;if(!(i||r))return!1;const s=a<=23?1:2;t>=64&&t<=95?n=s===1?Mxe[a]:Bxe[a]:n=s===1?Oxe[a]:Fxe[a];const u=this.channels[s];return u?(u.setPAC(this.interpretPAC(n,t)),this.currentChannel=s,!0):!1}interpretPAC(a,t){let n;const i={color:null,italics:!1,indent:null,underline:!1,row:a};return t>95?n=t-96:n=t-64,i.underline=(n&1)===1,n<=13?i.color=["white","green","blue","cyan","red","yellow","magenta","white"][Math.floor(n/2)]:n<=15?(i.italics=!0,i.color="white"):i.indent=Math.floor((n-16)/2)*4,i}parseChars(a,t){let n,i=null,r=null;if(a>=25?(n=2,r=a-8):(n=1,r=a),r>=17&&r<=19){let s;r===17?s=t+80:r===18?s=t+112:s=t+144,this.logger.log(2,()=>"Special char '"+Uj(s)+"' in channel "+n),i=[s]}else a>=32&&a<=127&&(i=t===0?[a]:[a,t]);return i&&this.logger.log(3,()=>"Char codes =  "+vo(i).join(",")),i}parseBackgroundAttributes(a,t){const n=(a===16||a===24)&&t>=32&&t<=47,i=(a===23||a===31)&&t>=45&&t<=47;if(!(n||i))return!1;let r;const s={};a===16||a===24?(r=Math.floor((t-32)/2),s.background=Uxe[r],t%2===1&&(s.background=s.background+"_semi")):t===45?s.background="transparent":(s.foreground="black",t===47&&(s.underline=!0));const u=a<=23?1:2;return this.channels[u].setBkgData(s),!0}reset(){for(let a=0;a<Object.keys(this.channels).length;a++){const t=this.channels[a];t&&t.reset()}s2(null,null,this.cmdHistory)}cueSplitAtTime(a){for(let t=0;t<this.channels.length;t++){const n=this.channels[t];n&&n.cueSplitAtTime(a)}}}function s2(e,a,t){t.a=e,t.b=a}function Kxe(e,a,t){return t.a===e&&t.b===a}function Hxe(){return{a:null,b:null}}class u2{constructor(a,t){this.timelineController=void 0,this.cueRanges=[],this.trackName=void 0,this.startTime=null,this.endTime=null,this.screen=null,this.timelineController=a,this.trackName=t}dispatchCue(){this.startTime!==null&&(this.timelineController.addCues(this.trackName,this.startTime,this.endTime,this.screen,this.cueRanges),this.startTime=null)}newCue(a,t,n){(this.startTime===null||this.startTime>a)&&(this.startTime=a),this.endTime=t,this.screen=n,this.timelineController.createCaptionsTrack(this.trackName)}reset(){this.cueRanges=[],this.startTime=null}}var bx=function(){if(ad!=null&&ad.VTTCue)return self.VTTCue;const e=["","lr","rl"],a=["start","middle","end","left","right"];function t(u,o){if(typeof o!="string"||!Array.isArray(u))return!1;const l=o.toLowerCase();return~u.indexOf(l)?l:!1}function n(u){return t(e,u)}function i(u){return t(a,u)}function r(u,...o){let l=1;for(;l<arguments.length;l++){const g=arguments[l];for(const d in g)u[d]=g[d]}return u}function s(u,o,l){const g=this,d={enumerable:!0};g.hasBeenReset=!1;let c="",p=!1,f=u,h=o,y=l,b=null,m="",T=!0,A="auto",v="start",D=50,k="middle",N=50,q="middle";Object.defineProperty(g,"id",r({},d,{get:function(){return c},set:function(R){c=""+R}})),Object.defineProperty(g,"pauseOnExit",r({},d,{get:function(){return p},set:function(R){p=!!R}})),Object.defineProperty(g,"startTime",r({},d,{get:function(){return f},set:function(R){if(typeof R!="number")throw new TypeError("Start time must be set to a number.");f=R,this.hasBeenReset=!0}})),Object.defineProperty(g,"endTime",r({},d,{get:function(){return h},set:function(R){if(typeof R!="number")throw new TypeError("End time must be set to a number.");h=R,this.hasBeenReset=!0}})),Object.defineProperty(g,"text",r({},d,{get:function(){return y},set:function(R){y=""+R,this.hasBeenReset=!0}})),Object.defineProperty(g,"region",r({},d,{get:function(){return b},set:function(R){b=R,this.hasBeenReset=!0}})),Object.defineProperty(g,"vertical",r({},d,{get:function(){return m},set:function(R){const z=n(R);if(z===!1)throw new SyntaxError("An invalid or illegal string was specified.");m=z,this.hasBeenReset=!0}})),Object.defineProperty(g,"snapToLines",r({},d,{get:function(){return T},set:function(R){T=!!R,this.hasBeenReset=!0}})),Object.defineProperty(g,"line",r({},d,{get:function(){return A},set:function(R){if(typeof R!="number"&&R!=="auto")throw new SyntaxError("An invalid number or illegal string was specified.");A=R,this.hasBeenReset=!0}})),Object.defineProperty(g,"lineAlign",r({},d,{get:function(){return v},set:function(R){const z=i(R);if(!z)throw new SyntaxError("An invalid or illegal string was specified.");v=z,this.hasBeenReset=!0}})),Object.defineProperty(g,"position",r({},d,{get:function(){return D},set:function(R){if(R<0||R>100)throw new Error("Position must be between 0 and 100.");D=R,this.hasBeenReset=!0}})),Object.defineProperty(g,"positionAlign",r({},d,{get:function(){return k},set:function(R){const z=i(R);if(!z)throw new SyntaxError("An invalid or illegal string was specified.");k=z,this.hasBeenReset=!0}})),Object.defineProperty(g,"size",r({},d,{get:function(){return N},set:function(R){if(R<0||R>100)throw new Error("Size must be between 0 and 100.");N=R,this.hasBeenReset=!0}})),Object.defineProperty(g,"align",r({},d,{get:function(){return q},set:function(R){const z=i(R);if(!z)throw new SyntaxError("An invalid or illegal string was specified.");q=z,this.hasBeenReset=!0}})),g.displayState=void 0}return s.prototype.getCueAsHTML=function(){return self.WebVTT.convertCueToDOMTree(self,this.text)},s}();class qxe{decode(a,t){if(!a)return"";if(typeof a!="string")throw new Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(a))}}function zj(e){function a(n,i,r,s){return(n|0)*3600+(i|0)*60+(r|0)+parseFloat(s||0)}const t=e.match(/^(?:(\d+):)?(\d{2}):(\d{2})(\.\d+)?/);return t?parseFloat(t[2])>59?a(t[2],t[3],0,t[4]):a(t[1],t[2],t[3],t[4]):null}class Vxe{constructor(){this.values=Object.create(null)}set(a,t){!this.get(a)&&t!==""&&(this.values[a]=t)}get(a,t,n){return n?this.has(a)?this.values[a]:t[n]:this.has(a)?this.values[a]:t}has(a){return a in this.values}alt(a,t,n){for(let i=0;i<n.length;++i)if(t===n[i]){this.set(a,t);break}}integer(a,t){/^-?\d+$/.test(t)&&this.set(a,parseInt(t,10))}percent(a,t){if(/^([\d]{1,3})(\.[\d]*)?%$/.test(t)){const n=parseFloat(t);if(n>=0&&n<=100)return this.set(a,n),!0}return!1}}function $j(e,a,t,n){const i=n?e.split(n):[e];for(const r in i){if(typeof i[r]!="string")continue;const s=i[r].split(t);if(s.length!==2)continue;const u=s[0],o=s[1];a(u,o)}}const s3=new bx(0,0,""),o2=s3.align==="middle"?"middle":"center";function Gxe(e,a,t){const n=e;function i(){const u=zj(e);if(u===null)throw new Error("Malformed timestamp: "+n);return e=e.replace(/^[^\sa-zA-Z-]+/,""),u}function r(u,o){const l=new Vxe;$j(u,function(c,p){let f;switch(c){case"region":for(let h=t.length-1;h>=0;h--)if(t[h].id===p){l.set(c,t[h].region);break}break;case"vertical":l.alt(c,p,["rl","lr"]);break;case"line":f=p.split(","),l.integer(c,f[0]),l.percent(c,f[0])&&l.set("snapToLines",!1),l.alt(c,f[0],["auto"]),f.length===2&&l.alt("lineAlign",f[1],["start",o2,"end"]);break;case"position":f=p.split(","),l.percent(c,f[0]),f.length===2&&l.alt("positionAlign",f[1],["start",o2,"end","line-left","line-right","auto"]);break;case"size":l.percent(c,p);break;case"align":l.alt(c,p,["start",o2,"end","left","right"]);break}},/:/,/\s/),o.region=l.get("region",null),o.vertical=l.get("vertical","");let g=l.get("line","auto");g==="auto"&&s3.line===-1&&(g=-1),o.line=g,o.lineAlign=l.get("lineAlign","start"),o.snapToLines=l.get("snapToLines",!0),o.size=l.get("size",100),o.align=l.get("align",o2);let d=l.get("position","auto");d==="auto"&&s3.position===50&&(d=o.align==="start"||o.align==="left"?0:o.align==="end"||o.align==="right"?100:50),o.position=d}function s(){e=e.replace(/^\s+/,"")}if(s(),a.startTime=i(),s(),e.slice(0,3)!=="-->")throw new Error("Malformed time stamp (time stamps must be separated by '-->'): "+n);e=e.slice(3),s(),a.endTime=i(),s(),r(e,a)}function Kj(e){return e.replace(/<br(?: \/)?>/gi,`
`)}class Wxe{constructor(){this.state="INITIAL",this.buffer="",this.decoder=new qxe,this.regionList=[],this.cue=null,this.oncue=void 0,this.onparsingerror=void 0,this.onflush=void 0}parse(a){const t=this;a&&(t.buffer+=t.decoder.decode(a,{stream:!0}));function n(){let r=t.buffer,s=0;for(r=Kj(r);s<r.length&&r[s]!=="\r"&&r[s]!==`
`;)++s;const u=r.slice(0,s);return r[s]==="\r"&&++s,r[s]===`
`&&++s,t.buffer=r.slice(s),u}function i(r){$j(r,function(s,u){},/:/)}try{let r="";if(t.state==="INITIAL"){if(!/\r\n|\n/.test(t.buffer))return this;r=n();const u=r.match(/^(ï»¿)?WEBVTT([ \t].*)?$/);if(!(u!=null&&u[0]))throw new Error("Malformed WebVTT signature.");t.state="HEADER"}let s=!1;for(;t.buffer;){if(!/\r\n|\n/.test(t.buffer))return this;switch(s?s=!1:r=n(),t.state){case"HEADER":/:/.test(r)?i(r):r||(t.state="ID");continue;case"NOTE":r||(t.state="ID");continue;case"ID":if(/^NOTE($|[ \t])/.test(r)){t.state="NOTE";break}if(!r)continue;if(t.cue=new bx(0,0,""),t.state="CUE",r.indexOf("-->")===-1){t.cue.id=r;continue}case"CUE":if(!t.cue){t.state="BADCUE";continue}try{Gxe(r,t.cue,t.regionList)}catch{t.cue=null,t.state="BADCUE";continue}t.state="CUETEXT";continue;case"CUETEXT":{const u=r.indexOf("-->")!==-1;if(!r||u&&(s=!0)){t.oncue&&t.cue&&t.oncue(t.cue),t.cue=null,t.state="ID";continue}if(t.cue===null)continue;t.cue.text&&(t.cue.text+=`
`),t.cue.text+=r}continue;case"BADCUE":r||(t.state="ID")}}}catch{t.state==="CUETEXT"&&t.cue&&t.oncue&&t.oncue(t.cue),t.cue=null,t.state=t.state==="INITIAL"?"BADWEBVTT":"BADCUE"}return this}flush(){const a=this;try{if((a.cue||a.state==="HEADER")&&(a.buffer+=`

`,a.parse()),a.state==="INITIAL"||a.state==="BADWEBVTT")throw new Error("Malformed WebVTT signature.")}catch(t){a.onparsingerror&&a.onparsingerror(t)}return a.onflush&&a.onflush(),this}}const Yxe=/\r\n|\n\r|\n|\r/g,tS=function(a,t,n=0){return a.slice(n,n+t.length)===t},Xxe=function(a){let t=parseInt(a.slice(-3));const n=parseInt(a.slice(-6,-4)),i=parseInt(a.slice(-9,-7)),r=a.length>9?parseInt(a.substring(0,a.indexOf(":"))):0;if(!$e(t)||!$e(n)||!$e(i)||!$e(r))throw Error(`Malformed X-TIMESTAMP-MAP: Local:${a}`);return t+=1e3*n,t+=60*1e3*i,t+=60*60*1e3*r,t},nS=function(a){let t=5381,n=a.length;for(;n;)t=t*33^a.charCodeAt(--n);return(t>>>0).toString()};function Tx(e,a,t){return nS(e.toString())+nS(a.toString())+nS(t)}const Qxe=function(a,t,n){let i=a[t],r=a[i.prevCC];if(!r||!r.new&&i.new){a.ccOffset=a.presentationOffset=i.start,i.new=!1;return}for(;(s=r)!=null&&s.new;){var s;a.ccOffset+=i.start-r.start,i.new=!1,i=r,r=a[i.prevCC]}a.presentationOffset=n};function Zxe(e,a,t,n,i,r,s){const u=new Wxe,o=ps(new Uint8Array(e)).trim().replace(Yxe,`
`).split(`
`),l=[],g=a?hxe(a.baseTime,a.timescale):0;let d="00:00.000",c=0,p=0,f,h=!0;u.oncue=function(y){const b=t[n];let m=t.ccOffset;const T=(c-g)/9e4;if(b!=null&&b.new&&(p!==void 0?m=t.ccOffset=b.start:Qxe(t,n,T)),T){if(!a){f=new Error("Missing initPTS for VTT MPEGTS");return}m=T-t.presentationOffset}const A=y.endTime-y.startTime,v=Ki((y.startTime+m-p)*9e4,i*9e4)/9e4;y.startTime=Math.max(v,0),y.endTime=Math.max(v+A,0);const D=y.text.trim();y.text=decodeURIComponent(encodeURIComponent(D)),y.id||(y.id=Tx(y.startTime,y.endTime,D)),y.endTime>0&&l.push(y)},u.onparsingerror=function(y){f=y},u.onflush=function(){if(f){s(f);return}r(l)},o.forEach(y=>{if(h)if(tS(y,"X-TIMESTAMP-MAP=")){h=!1,y.slice(16).split(",").forEach(b=>{tS(b,"LOCAL:")?d=b.slice(6):tS(b,"MPEGTS:")&&(c=parseInt(b.slice(7)))});try{p=Xxe(d)/1e3}catch(b){f=b}return}else y===""&&(h=!1);u.parse(y+`
`)}),u.flush()}const iS="stpp.ttml.im1t",Hj=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,qj=/^(\d*(?:\.\d*)?)(h|m|s|ms|f|t)$/,Jxe={left:"start",center:"center",right:"end",start:"start",end:"end"};function Q_(e,a,t,n){const i=la(new Uint8Array(e),["mdat"]);if(i.length===0){n(new Error("Could not parse IMSC1 mdat"));return}const r=i.map(u=>ps(u)),s=fxe(a.baseTime,1,a.timescale);try{r.forEach(u=>t(e4e(u,s)))}catch(u){n(u)}}function e4e(e,a){const i=new DOMParser().parseFromString(e,"text/xml").getElementsByTagName("tt")[0];if(!i)throw new Error("Invalid ttml");const r={frameRate:30,subFrameRate:1,frameRateMultiplier:0,tickRate:0},s=Object.keys(r).reduce((d,c)=>(d[c]=i.getAttribute(`ttp:${c}`)||r[c],d),{}),u=i.getAttribute("xml:space")!=="preserve",o=Z_(rS(i,"styling","style")),l=Z_(rS(i,"layout","region")),g=rS(i,"body","[begin]");return[].map.call(g,d=>{const c=Vj(d,u);if(!c||!d.hasAttribute("begin"))return null;const p=uS(d.getAttribute("begin"),s),f=uS(d.getAttribute("dur"),s);let h=uS(d.getAttribute("end"),s);if(p===null)throw J_(d);if(h===null){if(f===null)throw J_(d);h=p+f}const y=new bx(p-a,h-a,c);y.id=Tx(y.startTime,y.endTime,y.text);const b=l[d.getAttribute("region")],m=o[d.getAttribute("style")],T=a4e(b,m,o),{textAlign:A}=T;if(A){const v=Jxe[A];v&&(y.lineAlign=v),y.align=A}return Rt(y,T),y}).filter(d=>d!==null)}function rS(e,a,t){const n=e.getElementsByTagName(a)[0];return n?[].slice.call(n.querySelectorAll(t)):[]}function Z_(e){return e.reduce((a,t)=>{const n=t.getAttribute("xml:id");return n&&(a[n]=t),a},{})}function Vj(e,a){return[].slice.call(e.childNodes).reduce((t,n,i)=>{var r;return n.nodeName==="br"&&i?t+`
`:(r=n.childNodes)!=null&&r.length?Vj(n,a):a?t+n.textContent.trim().replace(/\s+/g," "):t+n.textContent},"")}function a4e(e,a,t){const n="http://www.w3.org/ns/ttml#styling";let i=null;const r=["displayAlign","textAlign","color","backgroundColor","fontSize","fontFamily"],s=e!=null&&e.hasAttribute("style")?e.getAttribute("style"):null;return s&&t.hasOwnProperty(s)&&(i=t[s]),r.reduce((u,o)=>{const l=sS(a,n,o)||sS(e,n,o)||sS(i,n,o);return l&&(u[o]=l),u},{})}function sS(e,a,t){return e&&e.hasAttributeNS(a,t)?e.getAttributeNS(a,t):null}function J_(e){return new Error(`Could not parse ttml timestamp ${e}`)}function uS(e,a){if(!e)return null;let t=zj(e);return t===null&&(Hj.test(e)?t=t4e(e,a):qj.test(e)&&(t=n4e(e,a))),t}function t4e(e,a){const t=Hj.exec(e),n=(t[4]|0)+(t[5]|0)/a.subFrameRate;return(t[1]|0)*3600+(t[2]|0)*60+(t[3]|0)+n/a.frameRate}function n4e(e,a){const t=qj.exec(e),n=Number(t[1]);switch(t[2]){case"h":return n*3600;case"m":return n*60;case"ms":return n*1e3;case"f":return n/a.frameRate;case"t":return n/a.tickRate}return n}class i4e{constructor(a){this.hls=void 0,this.media=null,this.config=void 0,this.enabled=!0,this.Cues=void 0,this.textTracks=[],this.tracks=[],this.initPTS=[],this.unparsedVttFrags=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.cea608Parser1=void 0,this.cea608Parser2=void 0,this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=aI(),this.captionsProperties=void 0,this.hls=a,this.config=a.config,this.Cues=a.config.cueHandler,this.captionsProperties={textTrack1:{label:this.config.captionsTextTrack1Label,languageCode:this.config.captionsTextTrack1LanguageCode},textTrack2:{label:this.config.captionsTextTrack2Label,languageCode:this.config.captionsTextTrack2LanguageCode},textTrack3:{label:this.config.captionsTextTrack3Label,languageCode:this.config.captionsTextTrack3LanguageCode},textTrack4:{label:this.config.captionsTextTrack4Label,languageCode:this.config.captionsTextTrack4LanguageCode}},a.on(O.MEDIA_ATTACHING,this.onMediaAttaching,this),a.on(O.MEDIA_DETACHING,this.onMediaDetaching,this),a.on(O.MANIFEST_LOADING,this.onManifestLoading,this),a.on(O.MANIFEST_LOADED,this.onManifestLoaded,this),a.on(O.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),a.on(O.FRAG_LOADING,this.onFragLoading,this),a.on(O.FRAG_LOADED,this.onFragLoaded,this),a.on(O.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),a.on(O.FRAG_DECRYPTED,this.onFragDecrypted,this),a.on(O.INIT_PTS_FOUND,this.onInitPtsFound,this),a.on(O.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),a.on(O.BUFFER_FLUSHING,this.onBufferFlushing,this)}destroy(){const{hls:a}=this;a.off(O.MEDIA_ATTACHING,this.onMediaAttaching,this),a.off(O.MEDIA_DETACHING,this.onMediaDetaching,this),a.off(O.MANIFEST_LOADING,this.onManifestLoading,this),a.off(O.MANIFEST_LOADED,this.onManifestLoaded,this),a.off(O.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),a.off(O.FRAG_LOADING,this.onFragLoading,this),a.off(O.FRAG_LOADED,this.onFragLoaded,this),a.off(O.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),a.off(O.FRAG_DECRYPTED,this.onFragDecrypted,this),a.off(O.INIT_PTS_FOUND,this.onInitPtsFound,this),a.off(O.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),a.off(O.BUFFER_FLUSHING,this.onBufferFlushing,this),this.hls=this.config=null,this.cea608Parser1=this.cea608Parser2=void 0}initCea608Parsers(){if(this.config.enableCEA708Captions&&(!this.cea608Parser1||!this.cea608Parser2)){const a=new u2(this,"textTrack1"),t=new u2(this,"textTrack2"),n=new u2(this,"textTrack3"),i=new u2(this,"textTrack4");this.cea608Parser1=new X_(1,a,t),this.cea608Parser2=new X_(3,n,i)}}addCues(a,t,n,i,r){let s=!1;for(let u=r.length;u--;){const o=r[u],l=r4e(o[0],o[1],t,n);if(l>=0&&(o[0]=Math.min(o[0],t),o[1]=Math.max(o[1],n),s=!0,l/(n-t)>.5))return}if(s||r.push([t,n]),this.config.renderTextTracksNatively){const u=this.captionsTracks[a];this.Cues.newCue(u,t,n,i)}else{const u=this.Cues.newCue(null,t,n,i);this.hls.trigger(O.CUES_PARSED,{type:"captions",cues:u,track:a})}}onInitPtsFound(a,{frag:t,id:n,initPTS:i,timescale:r}){const{unparsedVttFrags:s}=this;n==="main"&&(this.initPTS[t.cc]={baseTime:i,timescale:r}),s.length&&(this.unparsedVttFrags=[],s.forEach(u=>{this.onFragLoaded(O.FRAG_LOADED,u)}))}getExistingTrack(a,t){const{media:n}=this;if(n)for(let i=0;i<n.textTracks.length;i++){const r=n.textTracks[i];if(eI(r,{name:a,lang:t,attrs:{}}))return r}return null}createCaptionsTrack(a){this.config.renderTextTracksNatively?this.createNativeTrack(a):this.createNonNativeTrack(a)}createNativeTrack(a){if(this.captionsTracks[a])return;const{captionsProperties:t,captionsTracks:n,media:i}=this,{label:r,languageCode:s}=t[a],u=this.getExistingTrack(r,s);if(u)n[a]=u,pg(n[a]),cj(n[a],i);else{const o=this.createTextTrack("captions",r,s);o&&(o[a]=!0,n[a]=o)}}createNonNativeTrack(a){if(this.nonNativeCaptionsTracks[a])return;const t=this.captionsProperties[a];if(!t)return;const n=t.label,i={_id:a,label:n,kind:"captions",default:t.media?!!t.media.default:!1,closedCaptions:t.media};this.nonNativeCaptionsTracks[a]=i,this.hls.trigger(O.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:[i]})}createTextTrack(a,t,n){const i=this.media;if(i)return i.addTextTrack(a,t,n)}onMediaAttaching(a,t){this.media=t.media,this._cleanTracks()}onMediaDetaching(){const{captionsTracks:a}=this;Object.keys(a).forEach(t=>{pg(a[t]),delete a[t]}),this.nonNativeCaptionsTracks={}}onManifestLoading(){this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=aI(),this._cleanTracks(),this.tracks=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.textTracks=[],this.unparsedVttFrags=[],this.initPTS=[],this.cea608Parser1&&this.cea608Parser2&&(this.cea608Parser1.reset(),this.cea608Parser2.reset())}_cleanTracks(){const{media:a}=this;if(!a)return;const t=a.textTracks;if(t)for(let n=0;n<t.length;n++)pg(t[n])}onSubtitleTracksUpdated(a,t){const n=t.subtitleTracks||[],i=n.some(r=>r.textCodec===iS);if(this.config.enableWebVTT||i&&this.config.enableIMSC1){if(Fj(this.tracks,n)){this.tracks=n;return}if(this.textTracks=[],this.tracks=n,this.config.renderTextTracksNatively){const s=this.media,u=s?Y2(s.textTracks):null;if(this.tracks.forEach((o,l)=>{let g;if(u){let d=null;for(let c=0;c<u.length;c++)if(u[c]&&eI(u[c],o)){d=u[c],u[c]=null;break}d&&(g=d)}if(g)pg(g);else{const d=Gj(o);g=this.createTextTrack(d,o.name,o.lang),g&&(g.mode="disabled")}g&&this.textTracks.push(g)}),u!=null&&u.length){const o=u.filter(l=>l!==null).map(l=>l.label);o.length&&se.warn(`Media element contains unused subtitle tracks: ${o.join(", ")}. Replace media element for each source to clear TextTracks and captions menu.`)}}else if(this.tracks.length){const s=this.tracks.map(u=>({label:u.name,kind:u.type.toLowerCase(),default:u.default,subtitleTrack:u}));this.hls.trigger(O.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:s})}}}onManifestLoaded(a,t){this.config.enableCEA708Captions&&t.captions&&t.captions.forEach(n=>{const i=/(?:CC|SERVICE)([1-4])/.exec(n.instreamId);if(!i)return;const r=`textTrack${i[1]}`,s=this.captionsProperties[r];s&&(s.label=n.name,n.lang&&(s.languageCode=n.lang),s.media=n)})}closedCaptionsForLevel(a){const t=this.hls.levels[a.level];return t==null?void 0:t.attrs["CLOSED-CAPTIONS"]}onFragLoading(a,t){if(this.enabled&&t.frag.type===ea.MAIN){var n,i;const{cea608Parser1:r,cea608Parser2:s,lastSn:u}=this,{cc:o,sn:l}=t.frag,g=(n=(i=t.part)==null?void 0:i.index)!=null?n:-1;r&&s&&(l!==u+1||l===u&&g!==this.lastPartIndex+1||o!==this.lastCc)&&(r.reset(),s.reset()),this.lastCc=o,this.lastSn=l,this.lastPartIndex=g}}onFragLoaded(a,t){const{frag:n,payload:i}=t;if(n.type===ea.SUBTITLE)if(i.byteLength){const r=n.decryptdata,s="stats"in t;if(r==null||!r.encrypted||s){const u=this.tracks[n.level],o=this.vttCCs;o[n.cc]||(o[n.cc]={start:n.start,prevCC:this.prevCC,new:!0},this.prevCC=n.cc),u&&u.textCodec===iS?this._parseIMSC1(n,i):this._parseVTTs(t)}}else this.hls.trigger(O.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:n,error:new Error("Empty subtitle payload")})}_parseIMSC1(a,t){const n=this.hls;Q_(t,this.initPTS[a.cc],i=>{this._appendCues(i,a.level),n.trigger(O.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:a})},i=>{se.log(`Failed to parse IMSC1: ${i}`),n.trigger(O.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:a,error:i})})}_parseVTTs(a){var t;const{frag:n,payload:i}=a,{initPTS:r,unparsedVttFrags:s}=this,u=r.length-1;if(!r[n.cc]&&u===-1){s.push(a);return}const o=this.hls,l=(t=n.initSegment)!=null&&t.data?sr(n.initSegment.data,new Uint8Array(i)):i;Zxe(l,this.initPTS[n.cc],this.vttCCs,n.cc,n.start,g=>{this._appendCues(g,n.level),o.trigger(O.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:n})},g=>{const d=g.message==="Missing initPTS for VTT MPEGTS";d?s.push(a):this._fallbackToIMSC1(n,i),se.log(`Failed to parse VTT cue: ${g}`),!(d&&u>n.cc)&&o.trigger(O.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:n,error:g})})}_fallbackToIMSC1(a,t){const n=this.tracks[a.level];n.textCodec||Q_(t,this.initPTS[a.cc],()=>{n.textCodec=iS,this._parseIMSC1(a,t)},()=>{n.textCodec="wvtt"})}_appendCues(a,t){const n=this.hls;if(this.config.renderTextTracksNatively){const i=this.textTracks[t];if(!i||i.mode==="disabled")return;a.forEach(r=>pj(i,r))}else{const i=this.tracks[t];if(!i)return;const r=i.default?"default":"subtitles"+t;n.trigger(O.CUES_PARSED,{type:"subtitles",cues:a,track:r})}}onFragDecrypted(a,t){const{frag:n}=t;n.type===ea.SUBTITLE&&this.onFragLoaded(O.FRAG_LOADED,t)}onSubtitleTracksCleared(){this.tracks=[],this.captionsTracks={}}onFragParsingUserdata(a,t){this.initCea608Parsers();const{cea608Parser1:n,cea608Parser2:i}=this;if(!this.enabled||!n||!i)return;const{frag:r,samples:s}=t;if(!(r.type===ea.MAIN&&this.closedCaptionsForLevel(r)==="NONE"))for(let u=0;u<s.length;u++){const o=s[u].bytes;if(o){const l=this.extractCea608Data(o);n.addData(s[u].pts,l[0]),i.addData(s[u].pts,l[1])}}}onBufferFlushing(a,{startOffset:t,endOffset:n,endOffsetSubtitles:i,type:r}){const{media:s}=this;if(!(!s||s.currentTime<n)){if(!r||r==="video"){const{captionsTracks:u}=this;Object.keys(u).forEach(o=>J7(u[o],t,n))}if(this.config.renderTextTracksNatively&&t===0&&i!==void 0){const{textTracks:u}=this;Object.keys(u).forEach(o=>J7(u[o],t,i))}}}extractCea608Data(a){const t=[[],[]],n=a[0]&31;let i=2;for(let r=0;r<n;r++){const s=a[i++],u=127&a[i++],o=127&a[i++];if(u===0&&o===0)continue;if((4&s)!==0){const g=3&s;(g===0||g===1)&&(t[g].push(u),t[g].push(o))}}return t}}function Gj(e){return e.characteristics&&/transcribes-spoken-dialog/gi.test(e.characteristics)&&/describes-music-and-sound/gi.test(e.characteristics)?"captions":"subtitles"}function eI(e,a){return!!e&&e.kind===Gj(a)&&r3(a,e)}function r4e(e,a,t,n){return Math.min(a,n)-Math.max(e,t)}function aI(){return{ccOffset:0,presentationOffset:0,0:{start:0,prevCC:-1,new:!0}}}class Sx{constructor(a){this.hls=void 0,this.autoLevelCapping=void 0,this.firstLevel=void 0,this.media=void 0,this.restrictedLevels=void 0,this.timer=void 0,this.clientRect=void 0,this.streamController=void 0,this.hls=a,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.firstLevel=-1,this.media=null,this.restrictedLevels=[],this.timer=void 0,this.clientRect=null,this.registerListeners()}setStreamController(a){this.streamController=a}destroy(){this.hls&&this.unregisterListener(),this.timer&&this.stopCapping(),this.media=null,this.clientRect=null,this.hls=this.streamController=null}registerListeners(){const{hls:a}=this;a.on(O.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),a.on(O.MEDIA_ATTACHING,this.onMediaAttaching,this),a.on(O.MANIFEST_PARSED,this.onManifestParsed,this),a.on(O.LEVELS_UPDATED,this.onLevelsUpdated,this),a.on(O.BUFFER_CODECS,this.onBufferCodecs,this),a.on(O.MEDIA_DETACHING,this.onMediaDetaching,this)}unregisterListener(){const{hls:a}=this;a.off(O.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),a.off(O.MEDIA_ATTACHING,this.onMediaAttaching,this),a.off(O.MANIFEST_PARSED,this.onManifestParsed,this),a.off(O.LEVELS_UPDATED,this.onLevelsUpdated,this),a.off(O.BUFFER_CODECS,this.onBufferCodecs,this),a.off(O.MEDIA_DETACHING,this.onMediaDetaching,this)}onFpsDropLevelCapping(a,t){const n=this.hls.levels[t.droppedLevel];this.isLevelAllowed(n)&&this.restrictedLevels.push({bitrate:n.bitrate,height:n.height,width:n.width})}onMediaAttaching(a,t){this.media=t.media instanceof HTMLVideoElement?t.media:null,this.clientRect=null,this.timer&&this.hls.levels.length&&this.detectPlayerSize()}onManifestParsed(a,t){const n=this.hls;this.restrictedLevels=[],this.firstLevel=t.firstLevel,n.config.capLevelToPlayerSize&&t.video&&this.startCapping()}onLevelsUpdated(a,t){this.timer&&$e(this.autoLevelCapping)&&this.detectPlayerSize()}onBufferCodecs(a,t){this.hls.config.capLevelToPlayerSize&&t.video&&this.startCapping()}onMediaDetaching(){this.stopCapping()}detectPlayerSize(){if(this.media){if(this.mediaHeight<=0||this.mediaWidth<=0){this.clientRect=null;return}const a=this.hls.levels;if(a.length){const t=this.hls,n=this.getMaxLevel(a.length-1);n!==this.autoLevelCapping&&se.log(`Setting autoLevelCapping to ${n}: ${a[n].height}p@${a[n].bitrate} for media ${this.mediaWidth}x${this.mediaHeight}`),t.autoLevelCapping=n,t.autoLevelCapping>this.autoLevelCapping&&this.streamController&&this.streamController.nextLevelSwitch(),this.autoLevelCapping=t.autoLevelCapping}}}getMaxLevel(a){const t=this.hls.levels;if(!t.length)return-1;const n=t.filter((i,r)=>this.isLevelAllowed(i)&&r<=a);return this.clientRect=null,Sx.getMaxLevelByMediaSize(n,this.mediaWidth,this.mediaHeight)}startCapping(){this.timer||(this.autoLevelCapping=Number.POSITIVE_INFINITY,self.clearInterval(this.timer),this.timer=self.setInterval(this.detectPlayerSize.bind(this),1e3),this.detectPlayerSize())}stopCapping(){this.restrictedLevels=[],this.firstLevel=-1,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.timer&&(self.clearInterval(this.timer),this.timer=void 0)}getDimensions(){if(this.clientRect)return this.clientRect;const a=this.media,t={width:0,height:0};if(a){const n=a.getBoundingClientRect();t.width=n.width,t.height=n.height,!t.width&&!t.height&&(t.width=n.right-n.left||a.width||0,t.height=n.bottom-n.top||a.height||0)}return this.clientRect=t,t}get mediaWidth(){return this.getDimensions().width*this.contentScaleFactor}get mediaHeight(){return this.getDimensions().height*this.contentScaleFactor}get contentScaleFactor(){let a=1;if(!this.hls.config.ignoreDevicePixelRatio)try{a=self.devicePixelRatio}catch{}return a}isLevelAllowed(a){return!this.restrictedLevels.some(n=>a.bitrate===n.bitrate&&a.width===n.width&&a.height===n.height)}static getMaxLevelByMediaSize(a,t,n){if(!(a!=null&&a.length))return-1;const i=(u,o)=>o?u.width!==o.width||u.height!==o.height:!0;let r=a.length-1;const s=Math.max(t,n);for(let u=0;u<a.length;u+=1){const o=a[u];if((o.width>=s||o.height>=s)&&i(o,a[u+1])){r=u;break}}return r}}class s4e{constructor(a){this.hls=void 0,this.isVideoPlaybackQualityAvailable=!1,this.timer=void 0,this.media=null,this.lastTime=void 0,this.lastDroppedFrames=0,this.lastDecodedFrames=0,this.streamController=void 0,this.hls=a,this.registerListeners()}setStreamController(a){this.streamController=a}registerListeners(){this.hls.on(O.MEDIA_ATTACHING,this.onMediaAttaching,this)}unregisterListeners(){this.hls.off(O.MEDIA_ATTACHING,this.onMediaAttaching,this)}destroy(){this.timer&&clearInterval(this.timer),this.unregisterListeners(),this.isVideoPlaybackQualityAvailable=!1,this.media=null}onMediaAttaching(a,t){const n=this.hls.config;if(n.capLevelOnFPSDrop){const i=t.media instanceof self.HTMLVideoElement?t.media:null;this.media=i,i&&typeof i.getVideoPlaybackQuality=="function"&&(this.isVideoPlaybackQualityAvailable=!0),self.clearInterval(this.timer),this.timer=self.setInterval(this.checkFPSInterval.bind(this),n.fpsDroppedMonitoringPeriod)}}checkFPS(a,t,n){const i=performance.now();if(t){if(this.lastTime){const r=i-this.lastTime,s=n-this.lastDroppedFrames,u=t-this.lastDecodedFrames,o=1e3*s/r,l=this.hls;if(l.trigger(O.FPS_DROP,{currentDropped:s,currentDecoded:u,totalDroppedFrames:n}),o>0&&s>l.config.fpsDroppedMonitoringThreshold*u){let g=l.currentLevel;se.warn("drop FPS ratio greater than max allowed value for currentLevel: "+g),g>0&&(l.autoLevelCapping===-1||l.autoLevelCapping>=g)&&(g=g-1,l.trigger(O.FPS_DROP_LEVEL_CAPPING,{level:g,droppedLevel:l.currentLevel}),l.autoLevelCapping=g,this.streamController.nextLevelSwitch())}}this.lastTime=i,this.lastDroppedFrames=n,this.lastDecodedFrames=t}}checkFPSInterval(){const a=this.media;if(a)if(this.isVideoPlaybackQualityAvailable){const t=a.getVideoPlaybackQuality();this.checkFPS(a,t.totalVideoFrames,t.droppedVideoFrames)}else this.checkFPS(a,a.webkitDecodedFrameCount,a.webkitDroppedFrameCount)}}const l2="[eme]";class Ng{constructor(a){this.hls=void 0,this.config=void 0,this.media=null,this.keyFormatPromise=null,this.keySystemAccessPromises={},this._requestLicenseFailureCount=0,this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},this.setMediaKeysQueue=Ng.CDMCleanupPromise?[Ng.CDMCleanupPromise]:[],this.onMediaEncrypted=this._onMediaEncrypted.bind(this),this.onWaitingForKey=this._onWaitingForKey.bind(this),this.debug=se.debug.bind(se,l2),this.log=se.log.bind(se,l2),this.warn=se.warn.bind(se,l2),this.error=se.error.bind(se,l2),this.hls=a,this.config=a.config,this.registerListeners()}destroy(){this.unregisterListeners(),this.onMediaDetached();const a=this.config;a.requestMediaKeySystemAccessFunc=null,a.licenseXhrSetup=a.licenseResponseCallback=void 0,a.drmSystems=a.drmSystemOptions={},this.hls=this.onMediaEncrypted=this.onWaitingForKey=this.keyIdToKeySessionPromise=null,this.config=null}registerListeners(){this.hls.on(O.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(O.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.on(O.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(O.MANIFEST_LOADED,this.onManifestLoaded,this)}unregisterListeners(){this.hls.off(O.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(O.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.off(O.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(O.MANIFEST_LOADED,this.onManifestLoaded,this)}getLicenseServerUrl(a){const{drmSystems:t,widevineLicenseUrl:n}=this.config,i=t[a];if(i)return i.licenseUrl;if(a===at.WIDEVINE&&n)return n;throw new Error(`no license server URL configured for key-system "${a}"`)}getServerCertificateUrl(a){const{drmSystems:t}=this.config,n=t[a];if(n)return n.serverCertificateUrl;this.log(`No Server Certificate in config.drmSystems["${a}"]`)}attemptKeySystemAccess(a){const t=this.hls.levels,n=(s,u,o)=>!!s&&o.indexOf(s)===u,i=t.map(s=>s.audioCodec).filter(n),r=t.map(s=>s.videoCodec).filter(n);return i.length+r.length===0&&r.push("avc1.42e01e"),new Promise((s,u)=>{const o=l=>{const g=l.shift();this.getMediaKeysPromise(g,i,r).then(d=>s({keySystem:g,mediaKeys:d})).catch(d=>{l.length?o(l):d instanceof zi?u(d):u(new zi({type:na.KEY_SYSTEM_ERROR,details:ce.KEY_SYSTEM_NO_ACCESS,error:d,fatal:!0},d.message))})};o(a)})}requestMediaKeySystemAccess(a,t){const{requestMediaKeySystemAccessFunc:n}=this.config;if(typeof n!="function"){let i=`Configured requestMediaKeySystemAccess is not a function ${n}`;return JU===null&&self.location.protocol==="http:"&&(i=`navigator.requestMediaKeySystemAccess is not available over insecure protocol ${location.protocol}`),Promise.reject(new Error(i))}return n(a,t)}getMediaKeysPromise(a,t,n){const i=c6e(a,t,n,this.config.drmSystemOptions),r=this.keySystemAccessPromises[a];let s=r==null?void 0:r.keySystemAccess;if(!s){this.log(`Requesting encrypted media "${a}" key-system access with config: ${JSON.stringify(i)}`),s=this.requestMediaKeySystemAccess(a,i);const u=this.keySystemAccessPromises[a]={keySystemAccess:s};return s.catch(o=>{this.log(`Failed to obtain access to key-system "${a}": ${o}`)}),s.then(o=>{this.log(`Access for key-system "${o.keySystem}" obtained`);const l=this.fetchServerCertificate(a);return this.log(`Create media-keys for "${a}"`),u.mediaKeys=o.createMediaKeys().then(g=>(this.log(`Media-keys created for "${a}"`),l.then(d=>d?this.setMediaKeysServerCertificate(g,a,d):g))),u.mediaKeys.catch(g=>{this.error(`Failed to create media-keys for "${a}"}: ${g}`)}),u.mediaKeys})}return s.then(()=>r.mediaKeys)}createMediaKeySessionContext({decryptdata:a,keySystem:t,mediaKeys:n}){this.log(`Creating key-system session "${t}" keyId: ${Vr.hexDump(a.keyId||[])}`);const i=n.createSession(),r={decryptdata:a,keySystem:t,mediaKeys:n,mediaKeysSession:i,keyStatus:"status-pending"};return this.mediaKeySessions.push(r),r}renewKeySession(a){const t=a.decryptdata;if(t.pssh){const n=this.createMediaKeySessionContext(a),i=this.getKeyIdString(t),r="cenc";this.keyIdToKeySessionPromise[i]=this.generateRequestWithPreferredKeySession(n,r,t.pssh,"expired")}else this.warn("Could not renew expired session. Missing pssh initData.");this.removeSession(a)}getKeyIdString(a){if(!a)throw new Error("Could not read keyId of undefined decryptdata");if(a.keyId===null)throw new Error("keyId is null");return Vr.hexDump(a.keyId)}updateKeySession(a,t){var n;const i=a.mediaKeysSession;return this.log(`Updating key-session "${i.sessionId}" for keyID ${Vr.hexDump(((n=a.decryptdata)==null?void 0:n.keyId)||[])}
      } (data length: ${t&&t.byteLength})`),i.update(t)}selectKeySystemFormat(a){const t=Object.keys(a.levelkeys||{});return this.keyFormatPromise||(this.log(`Selecting key-system from fragment (sn: ${a.sn} ${a.type}: ${a.level}) key formats ${t.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(t)),this.keyFormatPromise}getKeyFormatPromise(a){return new Promise((t,n)=>{const i=KT(this.config),r=a.map(u_).filter(s=>!!s&&i.indexOf(s)!==-1);return this.getKeySystemSelectionPromise(r).then(({keySystem:s})=>{const u=l_(s);u?t(u):n(new Error(`Unable to find format for key-system "${s}"`))}).catch(n)})}loadKey(a){const t=a.keyInfo.decryptdata,n=this.getKeyIdString(t),i=`(keyId: ${n} format: "${t.keyFormat}" method: ${t.method} uri: ${t.uri})`;this.log(`Starting session for key ${i}`);let r=this.keyIdToKeySessionPromise[n];return r||(r=this.keyIdToKeySessionPromise[n]=this.getKeySystemForKeyPromise(t).then(({keySystem:s,mediaKeys:u})=>(this.throwIfDestroyed(),this.log(`Handle encrypted media sn: ${a.frag.sn} ${a.frag.type}: ${a.frag.level} using key ${i}`),this.attemptSetMediaKeys(s,u).then(()=>{this.throwIfDestroyed();const o=this.createMediaKeySessionContext({keySystem:s,mediaKeys:u,decryptdata:t});return this.generateRequestWithPreferredKeySession(o,"cenc",t.pssh,"playlist-key")}))),r.catch(s=>this.handleError(s))),r}throwIfDestroyed(a="Invalid state"){if(!this.hls)throw new Error("invalid state")}handleError(a){this.hls&&(this.error(a.message),a instanceof zi?this.hls.trigger(O.ERROR,a.data):this.hls.trigger(O.ERROR,{type:na.KEY_SYSTEM_ERROR,details:ce.KEY_SYSTEM_NO_KEYS,error:a,fatal:!0}))}getKeySystemForKeyPromise(a){const t=this.getKeyIdString(a),n=this.keyIdToKeySessionPromise[t];if(!n){const i=u_(a.keyFormat),r=i?[i]:KT(this.config);return this.attemptKeySystemAccess(r)}return n}getKeySystemSelectionPromise(a){if(a.length||(a=KT(this.config)),a.length===0)throw new zi({type:na.KEY_SYSTEM_ERROR,details:ce.KEY_SYSTEM_NO_CONFIGURED_LICENSE,fatal:!0},`Missing key-system license configuration options ${JSON.stringify({drmSystems:this.config.drmSystems})}`);return this.attemptKeySystemAccess(a)}_onMediaEncrypted(a){const{initDataType:t,initData:n}=a,i=`"${a.type}" event: init data type: "${t}"`;if(this.debug(i),n===null)return;let r,s;if(t==="sinf"&&this.config.drmSystems[at.FAIRPLAY]){const d=Mt(new Uint8Array(n));try{const c=rx(JSON.parse(d).sinf),p=uj(new Uint8Array(c));if(!p)throw new Error("'schm' box missing or not cbcs/cenc with schi > tenc");r=p.subarray(8,24),s=at.FAIRPLAY}catch(c){this.warn(`${i} Failed to parse sinf: ${c}`);return}}else{const d=B6e(n),c=d.filter(p=>p.systemId===E0.WIDEVINE)[0];if(!c){d.length===0||d.some(p=>!p.systemId)?this.warn(`${i} contains incomplete or invalid pssh data`):this.log(`ignoring ${i} for ${d.map(p=>o_(p.systemId)).join(",")} pssh data in favor of playlist keys`);return}if(s=o_(c.systemId),c.version===0&&c.data){const p=c.data.length-22;r=c.data.subarray(p,p+16)}}if(!s||!r)return;const u=Vr.hexDump(r),{keyIdToKeySessionPromise:o,mediaKeySessions:l}=this;let g=o[u];for(let d=0;d<l.length;d++){const c=l[d],p=c.decryptdata;if(!p.keyId)continue;const f=Vr.hexDump(p.keyId);if(u===f||p.uri.replace(/-/g,"").indexOf(u)!==-1){if(g=o[f],p.pssh)break;delete o[f],p.pssh=new Uint8Array(n),p.keyId=r,g=o[u]=g.then(()=>this.generateRequestWithPreferredKeySession(c,t,n,"encrypted-event-key-match"));break}}g||(g=o[u]=this.getKeySystemSelectionPromise([s]).then(({keySystem:d,mediaKeys:c})=>{var p;this.throwIfDestroyed();const f=new Yc("ISO-23001-7",u,(p=l_(d))!=null?p:"");return f.pssh=new Uint8Array(n),f.keyId=r,this.attemptSetMediaKeys(d,c).then(()=>{this.throwIfDestroyed();const h=this.createMediaKeySessionContext({decryptdata:f,keySystem:d,mediaKeys:c});return this.generateRequestWithPreferredKeySession(h,t,n,"encrypted-event-no-match")})})),g.catch(d=>this.handleError(d))}_onWaitingForKey(a){this.log(`"${a.type}" event`)}attemptSetMediaKeys(a,t){const n=this.setMediaKeysQueue.slice();this.log(`Setting media-keys for "${a}"`);const i=Promise.all(n).then(()=>{if(!this.media)throw new Error("Attempted to set mediaKeys without media element attached");return this.media.setMediaKeys(t)});return this.setMediaKeysQueue.push(i),i.then(()=>{this.log(`Media-keys set for "${a}"`),n.push(i),this.setMediaKeysQueue=this.setMediaKeysQueue.filter(r=>n.indexOf(r)===-1)})}generateRequestWithPreferredKeySession(a,t,n,i){var r,s;const u=(r=this.config.drmSystems)==null||(s=r[a.keySystem])==null?void 0:s.generateRequest;if(u)try{const f=u.call(this.hls,t,n,a);if(!f)throw new Error("Invalid response from configured generateRequest filter");t=f.initDataType,n=a.decryptdata.pssh=f.initData?new Uint8Array(f.initData):null}catch(f){var o;if(this.warn(f.message),(o=this.hls)!=null&&o.config.debug)throw f}if(n===null)return this.log(`Skipping key-session request for "${i}" (no initData)`),Promise.resolve(a);const l=this.getKeyIdString(a.decryptdata);this.log(`Generating key-session request for "${i}": ${l} (init data type: ${t} length: ${n?n.byteLength:null})`);const g=new yx,d=a._onmessage=f=>{const h=a.mediaKeysSession;if(!h){g.emit("error",new Error("invalid state"));return}const{messageType:y,message:b}=f;this.log(`"${y}" message event for session "${h.sessionId}" message size: ${b.byteLength}`),y==="license-request"||y==="license-renewal"?this.renewLicense(a,b).catch(m=>{this.handleError(m),g.emit("error",m)}):y==="license-release"?a.keySystem===at.FAIRPLAY&&(this.updateKeySession(a,Q7("acknowledged")),this.removeSession(a)):this.warn(`unhandled media key message type "${y}"`)},c=a._onkeystatuseschange=f=>{if(!a.mediaKeysSession){g.emit("error",new Error("invalid state"));return}this.onKeyStatusChange(a);const y=a.keyStatus;g.emit("keyStatus",y),y==="expired"&&(this.warn(`${a.keySystem} expired for key ${l}`),this.renewKeySession(a))};a.mediaKeysSession.addEventListener("message",d),a.mediaKeysSession.addEventListener("keystatuseschange",c);const p=new Promise((f,h)=>{g.on("error",h),g.on("keyStatus",y=>{y.startsWith("usable")?f():y==="output-restricted"?h(new zi({type:na.KEY_SYSTEM_ERROR,details:ce.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED,fatal:!1},"HDCP level output restricted")):y==="internal-error"?h(new zi({type:na.KEY_SYSTEM_ERROR,details:ce.KEY_SYSTEM_STATUS_INTERNAL_ERROR,fatal:!0},`key status changed to "${y}"`)):y==="expired"?h(new Error("key expired while generating request")):this.warn(`unhandled key status change "${y}"`)})});return a.mediaKeysSession.generateRequest(t,n).then(()=>{var f;this.log(`Request generated for key-session "${(f=a.mediaKeysSession)==null?void 0:f.sessionId}" keyId: ${l}`)}).catch(f=>{throw new zi({type:na.KEY_SYSTEM_ERROR,details:ce.KEY_SYSTEM_NO_SESSION,error:f,fatal:!1},`Error generating key-session request: ${f}`)}).then(()=>p).catch(f=>{throw g.removeAllListeners(),this.removeSession(a),f}).then(()=>(g.removeAllListeners(),a))}onKeyStatusChange(a){a.mediaKeysSession.keyStatuses.forEach((t,n)=>{this.log(`key status change "${t}" for keyStatuses keyId: ${Vr.hexDump("buffer"in n?new Uint8Array(n.buffer,n.byteOffset,n.byteLength):new Uint8Array(n))} session keyId: ${Vr.hexDump(new Uint8Array(a.decryptdata.keyId||[]))} uri: ${a.decryptdata.uri}`),a.keyStatus=t})}fetchServerCertificate(a){const t=this.config,n=t.loader,i=new n(t),r=this.getServerCertificateUrl(a);return r?(this.log(`Fetching server certificate for "${a}"`),new Promise((s,u)=>{const o={responseType:"arraybuffer",url:r},l=t.certLoadPolicy.default,g={loadPolicy:l,timeout:l.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},d={onSuccess:(c,p,f,h)=>{s(c.data)},onError:(c,p,f,h)=>{u(new zi({type:na.KEY_SYSTEM_ERROR,details:ce.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:f,response:en({url:o.url,data:void 0},c)},`"${a}" certificate request failed (${r}). Status: ${c.code} (${c.text})`))},onTimeout:(c,p,f)=>{u(new zi({type:na.KEY_SYSTEM_ERROR,details:ce.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:f,response:{url:o.url,data:void 0}},`"${a}" certificate request timed out (${r})`))},onAbort:(c,p,f)=>{u(new Error("aborted"))}};i.load(o,g,d)})):Promise.resolve()}setMediaKeysServerCertificate(a,t,n){return new Promise((i,r)=>{a.setServerCertificate(n).then(s=>{this.log(`setServerCertificate ${s?"success":"not supported by CDM"} (${n==null?void 0:n.byteLength}) on "${t}"`),i(a)}).catch(s=>{r(new zi({type:na.KEY_SYSTEM_ERROR,details:ce.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED,error:s,fatal:!0},s.message))})})}renewLicense(a,t){return this.requestLicense(a,new Uint8Array(t)).then(n=>this.updateKeySession(a,new Uint8Array(n)).catch(i=>{throw new zi({type:na.KEY_SYSTEM_ERROR,details:ce.KEY_SYSTEM_SESSION_UPDATE_FAILED,error:i,fatal:!0},i.message)}))}unpackPlayReadyKeyMessage(a,t){const n=String.fromCharCode.apply(null,new Uint16Array(t.buffer));if(!n.includes("PlayReadyKeyMessage"))return a.setRequestHeader("Content-Type","text/xml; charset=utf-8"),t;const i=new DOMParser().parseFromString(n,"application/xml"),r=i.querySelectorAll("HttpHeader");if(r.length>0){let g;for(let d=0,c=r.length;d<c;d++){var s,u;g=r[d];const p=(s=g.querySelector("name"))==null?void 0:s.textContent,f=(u=g.querySelector("value"))==null?void 0:u.textContent;p&&f&&a.setRequestHeader(p,f)}}const o=i.querySelector("Challenge"),l=o==null?void 0:o.textContent;if(!l)throw new Error("Cannot find <Challenge> in key message");return Q7(atob(l))}setupLicenseXHR(a,t,n,i){const r=this.config.licenseXhrSetup;return r?Promise.resolve().then(()=>{if(!n.decryptdata)throw new Error("Key removed");return r.call(this.hls,a,t,n,i)}).catch(s=>{if(!n.decryptdata)throw s;return a.open("POST",t,!0),r.call(this.hls,a,t,n,i)}).then(s=>(a.readyState||a.open("POST",t,!0),{xhr:a,licenseChallenge:s||i})):(a.open("POST",t,!0),Promise.resolve({xhr:a,licenseChallenge:i}))}requestLicense(a,t){const n=this.config.keyLoadPolicy.default;return new Promise((i,r)=>{const s=this.getLicenseServerUrl(a.keySystem);this.log(`Sending license request to URL: ${s}`);const u=new XMLHttpRequest;u.responseType="arraybuffer",u.onreadystatechange=()=>{if(!this.hls||!a.mediaKeysSession)return r(new Error("invalid state"));if(u.readyState===4)if(u.status===200){this._requestLicenseFailureCount=0;let o=u.response;this.log(`License received ${o instanceof ArrayBuffer?o.byteLength:o}`);const l=this.config.licenseResponseCallback;if(l)try{o=l.call(this.hls,u,s,a)}catch(g){this.error(g)}i(o)}else{const o=n.errorRetry,l=o?o.maxNumRetry:0;if(this._requestLicenseFailureCount++,this._requestLicenseFailureCount>l||u.status>=400&&u.status<500)r(new zi({type:na.KEY_SYSTEM_ERROR,details:ce.KEY_SYSTEM_LICENSE_REQUEST_FAILED,fatal:!0,networkDetails:u,response:{url:s,data:void 0,code:u.status,text:u.statusText}},`License Request XHR failed (${s}). Status: ${u.status} (${u.statusText})`));else{const g=l-this._requestLicenseFailureCount+1;this.warn(`Retrying license request, ${g} attempts left`),this.requestLicense(a,t).then(i,r)}}},a.licenseXhr&&a.licenseXhr.readyState!==XMLHttpRequest.DONE&&a.licenseXhr.abort(),a.licenseXhr=u,this.setupLicenseXHR(u,s,a,t).then(({xhr:o,licenseChallenge:l})=>{a.keySystem==at.PLAYREADY&&(l=this.unpackPlayReadyKeyMessage(o,l)),o.send(l)})})}onMediaAttached(a,t){if(!this.config.emeEnabled)return;const n=t.media;this.media=n,n.addEventListener("encrypted",this.onMediaEncrypted),n.addEventListener("waitingforkey",this.onWaitingForKey)}onMediaDetached(){const a=this.media,t=this.mediaKeySessions;a&&(a.removeEventListener("encrypted",this.onMediaEncrypted),a.removeEventListener("waitingforkey",this.onWaitingForKey),this.media=null),this._requestLicenseFailureCount=0,this.setMediaKeysQueue=[],this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},Yc.clearKeyUriToKeyIdMap();const n=t.length;Ng.CDMCleanupPromise=Promise.all(t.map(i=>this.removeSession(i)).concat(a==null?void 0:a.setMediaKeys(null).catch(i=>{this.log(`Could not clear media keys: ${i}`)}))).then(()=>{n&&(this.log("finished closing key sessions and clearing media keys"),t.length=0)}).catch(i=>{this.log(`Could not close sessions and clear media keys: ${i}`)})}onManifestLoading(){this.keyFormatPromise=null}onManifestLoaded(a,{sessionKeys:t}){if(!(!t||!this.config.emeEnabled)&&!this.keyFormatPromise){const n=t.reduce((i,r)=>(i.indexOf(r.keyFormat)===-1&&i.push(r.keyFormat),i),[]);this.log(`Selecting key-system from session-keys ${n.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(n)}}removeSession(a){const{mediaKeysSession:t,licenseXhr:n}=a;if(t){this.log(`Remove licenses and keys and close session ${t.sessionId}`),a._onmessage&&(t.removeEventListener("message",a._onmessage),a._onmessage=void 0),a._onkeystatuseschange&&(t.removeEventListener("keystatuseschange",a._onkeystatuseschange),a._onkeystatuseschange=void 0),n&&n.readyState!==XMLHttpRequest.DONE&&n.abort(),a.mediaKeysSession=a.decryptdata=a.licenseXhr=void 0;const i=this.mediaKeySessions.indexOf(a);return i>-1&&this.mediaKeySessions.splice(i,1),t.remove().catch(r=>{this.log(`Could not remove session: ${r}`)}).then(()=>t.close()).catch(r=>{this.log(`Could not close session: ${r}`)})}}}Ng.CDMCleanupPromise=void 0;class zi extends Error{constructor(a,t){super(t),this.data=void 0,a.error||(a.error=new Error(t)),this.data=a,a.err=a.error}}var En;(function(e){e.MANIFEST="m",e.AUDIO="a",e.VIDEO="v",e.MUXED="av",e.INIT="i",e.CAPTION="c",e.TIMED_TEXT="tt",e.KEY="k",e.OTHER="o"})(En||(En={}));var u3;(function(e){e.DASH="d",e.HLS="h",e.SMOOTH="s",e.OTHER="o"})(u3||(u3={}));var $o;(function(e){e.OBJECT="CMCD-Object",e.REQUEST="CMCD-Request",e.SESSION="CMCD-Session",e.STATUS="CMCD-Status"})($o||($o={}));const u4e={[$o.OBJECT]:["br","d","ot","tb"],[$o.REQUEST]:["bl","dl","mtp","nor","nrr","su"],[$o.SESSION]:["cid","pr","sf","sid","st","v"],[$o.STATUS]:["bs","rtp"]};class id{constructor(a,t){this.value=void 0,this.params=void 0,Array.isArray(a)&&(a=a.map(n=>n instanceof id?n:new id(n))),this.value=a,this.params=t}}class Wj{constructor(a){this.description=void 0,this.description=a}}const o4e="Dict";function l4e(e){return Array.isArray(e)?JSON.stringify(e):e instanceof Map?"Map{}":e instanceof Set?"Set{}":typeof e=="object"?JSON.stringify(e):String(e)}function g4e(e,a,t,n){return new Error(`failed to ${e} "${l4e(a)}" as ${t}`,{cause:n})}const tI="Bare Item",d4e="Boolean",c4e="Byte Sequence",p4e="Decimal",f4e="Integer";function h4e(e){return e<-999999999999999||999999999999999<e}const m4e=/[\x00-\x1f\x7f]+/,y4e="Token",b4e="Key";function fs(e,a,t){return g4e("serialize",e,a,t)}function T4e(e){if(typeof e!="boolean")throw fs(e,d4e);return e?"?1":"?0"}function S4e(e){return btoa(String.fromCharCode(...e))}function A4e(e){if(ArrayBuffer.isView(e)===!1)throw fs(e,c4e);return`:${S4e(e)}:`}function Yj(e){if(h4e(e))throw fs(e,f4e);return e.toString()}function v4e(e){return`@${Yj(e.getTime()/1e3)}`}function Xj(e,a){if(e<0)return-Xj(-e,a);const t=Math.pow(10,a);if(Math.abs(e*t%1-.5)<Number.EPSILON){const i=Math.floor(e*t);return(i%2===0?i:i+1)/t}else return Math.round(e*t)/t}function D4e(e){const a=Xj(e,3);if(Math.floor(Math.abs(a)).toString().length>12)throw fs(e,p4e);const t=a.toString();return t.includes(".")?t:`${t}.0`}const x4e="String";function E4e(e){if(m4e.test(e))throw fs(e,x4e);return`"${e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`}function k4e(e){return e.description||e.toString().slice(7,-1)}function nI(e){const a=k4e(e);if(/^([a-zA-Z*])([!#$%&'*+\-.^_`|~\w:/]*)$/.test(a)===!1)throw fs(a,y4e);return a}function o3(e){switch(typeof e){case"number":if(!$e(e))throw fs(e,tI);return Number.isInteger(e)?Yj(e):D4e(e);case"string":return E4e(e);case"symbol":return nI(e);case"boolean":return T4e(e);case"object":if(e instanceof Date)return v4e(e);if(e instanceof Uint8Array)return A4e(e);if(e instanceof Wj)return nI(e);default:throw fs(e,tI)}}function l3(e){if(/^[a-z*][a-z0-9\-_.*]*$/.test(e)===!1)throw fs(e,b4e);return e}function Ax(e){return e==null?"":Object.entries(e).map(([a,t])=>t===!0?`;${l3(a)}`:`;${l3(a)}=${o3(t)}`).join("")}function Qj(e){return e instanceof id?`${o3(e.value)}${Ax(e.params)}`:o3(e)}function C4e(e){return`(${e.value.map(Qj).join(" ")})${Ax(e.params)}`}function w4e(e,a={whitespace:!0}){if(typeof e!="object")throw fs(e,o4e);const t=e instanceof Map?e.entries():Object.entries(e),n=a!=null&&a.whitespace?" ":"";return Array.from(t).map(([i,r])=>{r instanceof id||(r=new id(r));let s=l3(i);return r.value===!0?s+=Ax(r.params):(s+="=",Array.isArray(r.value)?s+=C4e(r):s+=Qj(r)),s}).join(`,${n}`)}function _4e(e,a){return w4e(e,a)}const I4e=e=>e==="ot"||e==="sf"||e==="st",N4e=e=>typeof e=="number"?$e(e):e!=null&&e!==""&&e!==!1;function L4e(e,a){const t=new URL(e),n=new URL(a);if(t.origin!==n.origin)return e;const i=t.pathname.split("/").slice(1),r=n.pathname.split("/").slice(1,-1);for(;i[0]===r[0];)i.shift(),r.shift();for(;r.length;)r.shift(),i.unshift("..");return i.join("/")}function R4e(){try{return crypto.randomUUID()}catch{try{const a=URL.createObjectURL(new Blob),t=a.toString();return URL.revokeObjectURL(a),t.slice(t.lastIndexOf("/")+1)}catch{let t=new Date().getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,i=>{const r=(t+Math.random()*16)%16|0;return t=Math.floor(t/16),(i=="x"?r:r&3|8).toString(16)})}}}const ah=e=>Math.round(e),P4e=(e,a)=>(a!=null&&a.baseUrl&&(e=L4e(e,a.baseUrl)),encodeURIComponent(e)),g2=e=>ah(e/100)*100,M4e={br:ah,d:ah,bl:g2,dl:g2,mtp:g2,nor:P4e,rtp:g2,tb:ah};function O4e(e,a){const t={};if(e==null||typeof e!="object")return t;const n=Object.keys(e).sort(),i=Rt({},M4e,a==null?void 0:a.formatters),r=a==null?void 0:a.filter;return n.forEach(s=>{if(r!=null&&r(s))return;let u=e[s];const o=i[s];o&&(u=o(u,a)),!(s==="v"&&u===1)&&(s=="pr"&&u===1||N4e(u)&&(I4e(s)&&typeof u=="string"&&(u=new Wj(u)),t[s]=u))}),t}function Zj(e,a={}){return e?_4e(O4e(e,a),Rt({whitespace:!1},a)):""}function B4e(e,a={}){if(!e)return{};const t=Object.entries(e),n=Object.entries(u4e).concat(Object.entries((a==null?void 0:a.customHeaderMap)||{})),i=t.reduce((r,s)=>{var u,o;const[l,g]=s,d=((u=n.find(c=>c[1].includes(l)))==null?void 0:u[0])||$o.REQUEST;return(o=r[d])!=null||(r[d]={}),r[d][l]=g,r},{});return Object.entries(i).reduce((r,[s,u])=>(r[s]=Zj(u,a),r),{})}function F4e(e,a,t){return Rt(e,B4e(a,t))}const U4e="CMCD";function j4e(e,a={}){if(!e)return"";const t=Zj(e,a);return`${U4e}=${encodeURIComponent(t)}`}const iI=/CMCD=[^&#]+/;function z4e(e,a,t){const n=j4e(a,t);if(!n)return e;if(iI.test(e))return e.replace(iI,n);const i=e.includes("?")?"&":"?";return`${e}${i}${n}`}class $4e{constructor(a){this.hls=void 0,this.config=void 0,this.media=void 0,this.sid=void 0,this.cid=void 0,this.useHeaders=!1,this.includeKeys=void 0,this.initialized=!1,this.starved=!1,this.buffering=!0,this.audioBuffer=void 0,this.videoBuffer=void 0,this.onWaiting=()=>{this.initialized&&(this.starved=!0),this.buffering=!0},this.onPlaying=()=>{this.initialized||(this.initialized=!0),this.buffering=!1},this.applyPlaylistData=i=>{try{this.apply(i,{ot:En.MANIFEST,su:!this.initialized})}catch(r){se.warn("Could not generate manifest CMCD data.",r)}},this.applyFragmentData=i=>{try{const r=i.frag,s=this.hls.levels[r.level],u=this.getObjectType(r),o={d:r.duration*1e3,ot:u};(u===En.VIDEO||u===En.AUDIO||u==En.MUXED)&&(o.br=s.bitrate/1e3,o.tb=this.getTopBandwidth(u)/1e3,o.bl=this.getBufferLength(u)),this.apply(i,o)}catch(r){se.warn("Could not generate segment CMCD data.",r)}},this.hls=a;const t=this.config=a.config,{cmcd:n}=t;n!=null&&(t.pLoader=this.createPlaylistLoader(),t.fLoader=this.createFragmentLoader(),this.sid=n.sessionId||R4e(),this.cid=n.contentId,this.useHeaders=n.useHeaders===!0,this.includeKeys=n.includeKeys,this.registerListeners())}registerListeners(){const a=this.hls;a.on(O.MEDIA_ATTACHED,this.onMediaAttached,this),a.on(O.MEDIA_DETACHED,this.onMediaDetached,this),a.on(O.BUFFER_CREATED,this.onBufferCreated,this)}unregisterListeners(){const a=this.hls;a.off(O.MEDIA_ATTACHED,this.onMediaAttached,this),a.off(O.MEDIA_DETACHED,this.onMediaDetached,this),a.off(O.BUFFER_CREATED,this.onBufferCreated,this)}destroy(){this.unregisterListeners(),this.onMediaDetached(),this.hls=this.config=this.audioBuffer=this.videoBuffer=null,this.onWaiting=this.onPlaying=null}onMediaAttached(a,t){this.media=t.media,this.media.addEventListener("waiting",this.onWaiting),this.media.addEventListener("playing",this.onPlaying)}onMediaDetached(){this.media&&(this.media.removeEventListener("waiting",this.onWaiting),this.media.removeEventListener("playing",this.onPlaying),this.media=null)}onBufferCreated(a,t){var n,i;this.audioBuffer=(n=t.tracks.audio)==null?void 0:n.buffer,this.videoBuffer=(i=t.tracks.video)==null?void 0:i.buffer}createData(){var a;return{v:1,sf:u3.HLS,sid:this.sid,cid:this.cid,pr:(a=this.media)==null?void 0:a.playbackRate,mtp:this.hls.bandwidthEstimate/1e3}}apply(a,t={}){Rt(t,this.createData());const n=t.ot===En.INIT||t.ot===En.VIDEO||t.ot===En.MUXED;this.starved&&n&&(t.bs=!0,t.su=!0,this.starved=!1),t.su==null&&(t.su=this.buffering);const{includeKeys:i}=this;i&&(t=Object.keys(t).reduce((r,s)=>(i.includes(s)&&(r[s]=t[s]),r),{})),this.useHeaders?(a.headers||(a.headers={}),F4e(a.headers,t)):a.url=z4e(a.url,t)}getObjectType(a){const{type:t}=a;if(t==="subtitle")return En.TIMED_TEXT;if(a.sn==="initSegment")return En.INIT;if(t==="audio")return En.AUDIO;if(t==="main")return this.hls.audioTracks.length?En.VIDEO:En.MUXED}getTopBandwidth(a){let t=0,n;const i=this.hls;if(a===En.AUDIO)n=i.audioTracks;else{const r=i.maxAutoLevel,s=r>-1?r+1:i.levels.length;n=i.levels.slice(0,s)}for(const r of n)r.bitrate>t&&(t=r.bitrate);return t>0?t:NaN}getBufferLength(a){const t=this.hls.media,n=a===En.AUDIO?this.audioBuffer:this.videoBuffer;return!n||!t?NaN:Ja.bufferInfo(n,t.currentTime,this.config.maxBufferHole).len*1e3}createPlaylistLoader(){const{pLoader:a}=this.config,t=this.applyPlaylistData,n=a||this.config.loader;return class{constructor(r){this.loader=void 0,this.loader=new n(r)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(r,s,u){t(r),this.loader.load(r,s,u)}}}createFragmentLoader(){const{fLoader:a}=this.config,t=this.applyFragmentData,n=a||this.config.loader;return class{constructor(r){this.loader=void 0,this.loader=new n(r)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(r,s,u){t(r),this.loader.load(r,s,u)}}}}const K4e=3e5;class H4e{constructor(a){this.hls=void 0,this.log=void 0,this.loader=null,this.uri=null,this.pathwayId=".",this.pathwayPriority=null,this.timeToLoad=300,this.reloadTimer=-1,this.updated=0,this.started=!1,this.enabled=!0,this.levels=null,this.audioTracks=null,this.subtitleTracks=null,this.penalizedPathways={},this.hls=a,this.log=se.log.bind(se,"[content-steering]:"),this.registerListeners()}registerListeners(){const a=this.hls;a.on(O.MANIFEST_LOADING,this.onManifestLoading,this),a.on(O.MANIFEST_LOADED,this.onManifestLoaded,this),a.on(O.MANIFEST_PARSED,this.onManifestParsed,this),a.on(O.ERROR,this.onError,this)}unregisterListeners(){const a=this.hls;a&&(a.off(O.MANIFEST_LOADING,this.onManifestLoading,this),a.off(O.MANIFEST_LOADED,this.onManifestLoaded,this),a.off(O.MANIFEST_PARSED,this.onManifestParsed,this),a.off(O.ERROR,this.onError,this))}startLoad(){if(this.started=!0,this.clearTimeout(),this.enabled&&this.uri){if(this.updated){const a=this.timeToLoad*1e3-(performance.now()-this.updated);if(a>0){this.scheduleRefresh(this.uri,a);return}}this.loadSteeringManifest(this.uri)}}stopLoad(){this.started=!1,this.loader&&(this.loader.destroy(),this.loader=null),this.clearTimeout()}clearTimeout(){this.reloadTimer!==-1&&(self.clearTimeout(this.reloadTimer),this.reloadTimer=-1)}destroy(){this.unregisterListeners(),this.stopLoad(),this.hls=null,this.levels=this.audioTracks=this.subtitleTracks=null}removeLevel(a){const t=this.levels;t&&(this.levels=t.filter(n=>n!==a))}onManifestLoading(){this.stopLoad(),this.enabled=!0,this.timeToLoad=300,this.updated=0,this.uri=null,this.pathwayId=".",this.levels=this.audioTracks=this.subtitleTracks=null}onManifestLoaded(a,t){const{contentSteering:n}=t;n!==null&&(this.pathwayId=n.pathwayId,this.uri=n.uri,this.started&&this.startLoad())}onManifestParsed(a,t){this.audioTracks=t.audioTracks,this.subtitleTracks=t.subtitleTracks}onError(a,t){const{errorAction:n}=t;if((n==null?void 0:n.action)===pn.SendAlternateToPenaltyBox&&n.flags===dr.MoveAllAlternatesMatchingHost){const i=this.levels;let r=this.pathwayPriority,s=this.pathwayId;if(t.context){const{groupId:u,pathwayId:o,type:l}=t.context;u&&i?s=this.getPathwayForGroupId(u,l,s):o&&(s=o)}s in this.penalizedPathways||(this.penalizedPathways[s]=performance.now()),!r&&i&&(r=i.reduce((u,o)=>(u.indexOf(o.pathwayId)===-1&&u.push(o.pathwayId),u),[])),r&&r.length>1&&(this.updatePathwayPriority(r),n.resolved=this.pathwayId!==s),n.resolved||se.warn(`Could not resolve ${t.details} ("${t.error.message}") with content-steering for Pathway: ${s} levels: ${i&&i.length} priorities: ${JSON.stringify(r)} penalized: ${JSON.stringify(this.penalizedPathways)}`)}}filterParsedLevels(a){this.levels=a;let t=this.getLevelsForPathway(this.pathwayId);if(t.length===0){const n=a[0].pathwayId;this.log(`No levels found in Pathway ${this.pathwayId}. Setting initial Pathway to "${n}"`),t=this.getLevelsForPathway(n),this.pathwayId=n}return t.length!==a.length?(this.log(`Found ${t.length}/${a.length} levels in Pathway "${this.pathwayId}"`),t):a}getLevelsForPathway(a){return this.levels===null?[]:this.levels.filter(t=>a===t.pathwayId)}updatePathwayPriority(a){this.pathwayPriority=a;let t;const n=this.penalizedPathways,i=performance.now();Object.keys(n).forEach(r=>{i-n[r]>K4e&&delete n[r]});for(let r=0;r<a.length;r++){const s=a[r];if(s in n)continue;if(s===this.pathwayId)return;const u=this.hls.nextLoadLevel,o=this.hls.levels[u];if(t=this.getLevelsForPathway(s),t.length>0){this.log(`Setting Pathway to "${s}"`),this.pathwayId=s,yj(t),this.hls.trigger(O.LEVELS_UPDATED,{levels:t});const l=this.hls.levels[u];o&&l&&this.levels&&(l.attrs["STABLE-VARIANT-ID"]!==o.attrs["STABLE-VARIANT-ID"]&&l.bitrate!==o.bitrate&&this.log(`Unstable Pathways change from bitrate ${o.bitrate} to ${l.bitrate}`),this.hls.nextLoadLevel=u);break}}}getPathwayForGroupId(a,t,n){const i=this.getLevelsForPathway(n).concat(this.levels||[]);for(let r=0;r<i.length;r++)if(t===wa.AUDIO_TRACK&&i[r].hasAudioGroup(a)||t===wa.SUBTITLE_TRACK&&i[r].hasSubtitleGroup(a))return i[r].pathwayId;return n}clonePathways(a){const t=this.levels;if(!t)return;const n={},i={};a.forEach(r=>{const{ID:s,"BASE-ID":u,"URI-REPLACEMENT":o}=r;if(t.some(g=>g.pathwayId===s))return;const l=this.getLevelsForPathway(u).map(g=>{const d=new ht(g.attrs);d["PATHWAY-ID"]=s;const c=d.AUDIO&&`${d.AUDIO}_clone_${s}`,p=d.SUBTITLES&&`${d.SUBTITLES}_clone_${s}`;c&&(n[d.AUDIO]=c,d.AUDIO=c),p&&(i[d.SUBTITLES]=p,d.SUBTITLES=p);const f=Jj(g.uri,d["STABLE-VARIANT-ID"],"PER-VARIANT-URIS",o),h=new td({attrs:d,audioCodec:g.audioCodec,bitrate:g.bitrate,height:g.height,name:g.name,url:f,videoCodec:g.videoCodec,width:g.width});if(g.audioGroups)for(let y=1;y<g.audioGroups.length;y++)h.addGroupId("audio",`${g.audioGroups[y]}_clone_${s}`);if(g.subtitleGroups)for(let y=1;y<g.subtitleGroups.length;y++)h.addGroupId("text",`${g.subtitleGroups[y]}_clone_${s}`);return h});t.push(...l),rI(this.audioTracks,n,o,s),rI(this.subtitleTracks,i,o,s)})}loadSteeringManifest(a){const t=this.hls.config,n=t.loader;this.loader&&this.loader.destroy(),this.loader=new n(t);let i;try{i=new self.URL(a)}catch{this.enabled=!1,this.log(`Failed to parse Steering Manifest URI: ${a}`);return}if(i.protocol!=="data:"){const g=(this.hls.bandwidthEstimate||t.abrEwmaDefaultEstimate)|0;i.searchParams.set("_HLS_pathway",this.pathwayId),i.searchParams.set("_HLS_throughput",""+g)}const r={responseType:"json",url:i.href},s=t.steeringManifestLoadPolicy.default,u=s.errorRetry||s.timeoutRetry||{},o={loadPolicy:s,timeout:s.maxLoadTimeMs,maxRetry:u.maxNumRetry||0,retryDelay:u.retryDelayMs||0,maxRetryDelay:u.maxRetryDelayMs||0},l={onSuccess:(g,d,c,p)=>{this.log(`Loaded steering manifest: "${i}"`);const f=g.data;if(f.VERSION!==1){this.log(`Steering VERSION ${f.VERSION} not supported!`);return}this.updated=performance.now(),this.timeToLoad=f.TTL;const{"RELOAD-URI":h,"PATHWAY-CLONES":y,"PATHWAY-PRIORITY":b}=f;if(h)try{this.uri=new self.URL(h,i).href}catch{this.enabled=!1,this.log(`Failed to parse Steering Manifest RELOAD-URI: ${h}`);return}this.scheduleRefresh(this.uri||c.url),y&&this.clonePathways(y);const m={steeringManifest:f,url:i.toString()};this.hls.trigger(O.STEERING_MANIFEST_LOADED,m),b&&this.updatePathwayPriority(b)},onError:(g,d,c,p)=>{if(this.log(`Error loading steering manifest: ${g.code} ${g.text} (${d.url})`),this.stopLoad(),g.code===410){this.enabled=!1,this.log(`Steering manifest ${d.url} no longer available`);return}let f=this.timeToLoad*1e3;if(g.code===429){const h=this.loader;if(typeof(h==null?void 0:h.getResponseHeader)=="function"){const y=h.getResponseHeader("Retry-After");y&&(f=parseFloat(y)*1e3)}this.log(`Steering manifest ${d.url} rate limited`);return}this.scheduleRefresh(this.uri||d.url,f)},onTimeout:(g,d,c)=>{this.log(`Timeout loading steering manifest (${d.url})`),this.scheduleRefresh(this.uri||d.url)}};this.log(`Requesting steering manifest: ${i}`),this.loader.load(r,o,l)}scheduleRefresh(a,t=this.timeToLoad*1e3){this.clearTimeout(),this.reloadTimer=self.setTimeout(()=>{var n;const i=(n=this.hls)==null?void 0:n.media;if(i&&!i.ended){this.loadSteeringManifest(a);return}this.scheduleRefresh(a,this.timeToLoad*1e3)},t)}}function rI(e,a,t,n){e&&Object.keys(a).forEach(i=>{const r=e.filter(s=>s.groupId===i).map(s=>{const u=Rt({},s);return u.details=void 0,u.attrs=new ht(u.attrs),u.url=u.attrs.URI=Jj(s.url,s.attrs["STABLE-RENDITION-ID"],"PER-RENDITION-URIS",t),u.groupId=u.attrs["GROUP-ID"]=a[i],u.attrs["PATHWAY-ID"]=n,u});e.push(...r)})}function Jj(e,a,t,n){const{HOST:i,PARAMS:r,[t]:s}=n;let u;a&&(u=s==null?void 0:s[a],u&&(e=u));const o=new self.URL(e);return i&&!u&&(o.host=i),r&&Object.keys(r).sort().forEach(l=>{l&&o.searchParams.set(l,r[l])}),o.href}const q4e=/^age:\s*[\d.]+\s*$/im;class ez{constructor(a){this.xhrSetup=void 0,this.requestTimeout=void 0,this.retryTimeout=void 0,this.retryDelay=void 0,this.config=null,this.callbacks=null,this.context=null,this.loader=null,this.stats=void 0,this.xhrSetup=a&&a.xhrSetup||null,this.stats=new B9,this.retryDelay=0}destroy(){this.callbacks=null,this.abortInternal(),this.loader=null,this.config=null,this.context=null,this.xhrSetup=null}abortInternal(){const a=this.loader;self.clearTimeout(this.requestTimeout),self.clearTimeout(this.retryTimeout),a&&(a.onreadystatechange=null,a.onprogress=null,a.readyState!==4&&(this.stats.aborted=!0,a.abort()))}abort(){var a;this.abortInternal(),(a=this.callbacks)!=null&&a.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.loader)}load(a,t,n){if(this.stats.loading.start)throw new Error("Loader can only be used once.");this.stats.loading.start=self.performance.now(),this.context=a,this.config=t,this.callbacks=n,this.loadInternal()}loadInternal(){const{config:a,context:t}=this;if(!a||!t)return;const n=this.loader=new self.XMLHttpRequest,i=this.stats;i.loading.first=0,i.loaded=0,i.aborted=!1;const r=this.xhrSetup;r?Promise.resolve().then(()=>{if(!(this.loader!==n||this.stats.aborted))return r(n,t.url)}).catch(s=>{if(!(this.loader!==n||this.stats.aborted))return n.open("GET",t.url,!0),r(n,t.url)}).then(()=>{this.loader!==n||this.stats.aborted||this.openAndSendXhr(n,t,a)}).catch(s=>{this.callbacks.onError({code:n.status,text:s.message},t,n,i)}):this.openAndSendXhr(n,t,a)}openAndSendXhr(a,t,n){a.readyState||a.open("GET",t.url,!0);const i=t.headers,{maxTimeToFirstByteMs:r,maxLoadTimeMs:s}=n.loadPolicy;if(i)for(const u in i)a.setRequestHeader(u,i[u]);t.rangeEnd&&a.setRequestHeader("Range","bytes="+t.rangeStart+"-"+(t.rangeEnd-1)),a.onreadystatechange=this.readystatechange.bind(this),a.onprogress=this.loadprogress.bind(this),a.responseType=t.responseType,self.clearTimeout(this.requestTimeout),n.timeout=r&&$e(r)?r:s,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),n.timeout),a.send()}readystatechange(){const{context:a,loader:t,stats:n}=this;if(!a||!t)return;const i=t.readyState,r=this.config;if(!n.aborted&&i>=2&&(n.loading.first===0&&(n.loading.first=Math.max(self.performance.now(),n.loading.start),r.timeout!==r.loadPolicy.maxLoadTimeMs&&(self.clearTimeout(this.requestTimeout),r.timeout=r.loadPolicy.maxLoadTimeMs,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),r.loadPolicy.maxLoadTimeMs-(n.loading.first-n.loading.start)))),i===4)){self.clearTimeout(this.requestTimeout),t.onreadystatechange=null,t.onprogress=null;const s=t.status,u=t.responseType!=="text";if(s>=200&&s<300&&(u&&t.response||t.responseText!==null)){n.loading.end=Math.max(self.performance.now(),n.loading.first);const o=u?t.response:t.responseText,l=t.responseType==="arraybuffer"?o.byteLength:o.length;if(n.loaded=n.total=l,n.bwEstimate=n.total*8e3/(n.loading.end-n.loading.first),!this.callbacks)return;const g=this.callbacks.onProgress;if(g&&g(n,a,o,t),!this.callbacks)return;const d={url:t.responseURL,data:o,code:s};this.callbacks.onSuccess(d,n,a,t)}else{const o=r.loadPolicy.errorRetry,l=n.retry,g={url:a.url,data:void 0,code:s};Zm(o,l,!1,g)?this.retry(o):(se.error(`${s} while loading ${a.url}`),this.callbacks.onError({code:s,text:t.statusText},a,t,n))}}}loadtimeout(){if(!this.config)return;const a=this.config.loadPolicy.timeoutRetry,t=this.stats.retry;if(Zm(a,t,!0))this.retry(a);else{var n;se.warn(`timeout while loading ${(n=this.context)==null?void 0:n.url}`);const i=this.callbacks;i&&(this.abortInternal(),i.onTimeout(this.stats,this.context,this.loader))}}retry(a){const{context:t,stats:n}=this;this.retryDelay=ox(a,n.retry),n.retry++,se.warn(`${status?"HTTP Status "+status:"Timeout"} while loading ${t==null?void 0:t.url}, retrying ${n.retry}/${a.maxNumRetry} in ${this.retryDelay}ms`),this.abortInternal(),this.loader=null,self.clearTimeout(this.retryTimeout),this.retryTimeout=self.setTimeout(this.loadInternal.bind(this),this.retryDelay)}loadprogress(a){const t=this.stats;t.loaded=a.loaded,a.lengthComputable&&(t.total=a.total)}getCacheAge(){let a=null;if(this.loader&&q4e.test(this.loader.getAllResponseHeaders())){const t=this.loader.getResponseHeader("age");a=t?parseFloat(t):null}return a}getResponseHeader(a){return this.loader&&new RegExp(`^${a}:\\s*[\\d.]+\\s*$`,"im").test(this.loader.getAllResponseHeaders())?this.loader.getResponseHeader(a):null}}function V4e(){if(self.fetch&&self.AbortController&&self.ReadableStream&&self.Request)try{return new self.ReadableStream({}),!0}catch{}return!1}const G4e=/(\d+)-(\d+)\/(\d+)/;class sI{constructor(a){this.fetchSetup=void 0,this.requestTimeout=void 0,this.request=null,this.response=null,this.controller=void 0,this.context=null,this.config=null,this.callbacks=null,this.stats=void 0,this.loader=null,this.fetchSetup=a.fetchSetup||Q4e,this.controller=new self.AbortController,this.stats=new B9}destroy(){this.loader=this.callbacks=this.context=this.config=this.request=null,this.abortInternal(),this.response=null,this.fetchSetup=this.controller=this.stats=null}abortInternal(){this.controller&&!this.stats.loading.end&&(this.stats.aborted=!0,this.controller.abort())}abort(){var a;this.abortInternal(),(a=this.callbacks)!=null&&a.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.response)}load(a,t,n){const i=this.stats;if(i.loading.start)throw new Error("Loader can only be used once.");i.loading.start=self.performance.now();const r=W4e(a,this.controller.signal),s=n.onProgress,u=a.responseType==="arraybuffer",o=u?"byteLength":"length",{maxTimeToFirstByteMs:l,maxLoadTimeMs:g}=t.loadPolicy;this.context=a,this.config=t,this.callbacks=n,this.request=this.fetchSetup(a,r),self.clearTimeout(this.requestTimeout),t.timeout=l&&$e(l)?l:g,this.requestTimeout=self.setTimeout(()=>{this.abortInternal(),n.onTimeout(i,a,this.response)},t.timeout),self.fetch(this.request).then(d=>{this.response=this.loader=d;const c=Math.max(self.performance.now(),i.loading.start);if(self.clearTimeout(this.requestTimeout),t.timeout=g,this.requestTimeout=self.setTimeout(()=>{this.abortInternal(),n.onTimeout(i,a,this.response)},g-(c-i.loading.start)),!d.ok){const{status:p,statusText:f}=d;throw new Z4e(f||"fetch, bad network response",p,d)}return i.loading.first=c,i.total=X4e(d.headers)||i.total,s&&$e(t.highWaterMark)?this.loadProgressively(d,i,a,t.highWaterMark,s):u?d.arrayBuffer():a.responseType==="json"?d.json():d.text()}).then(d=>{const c=this.response;if(!c)throw new Error("loader destroyed");self.clearTimeout(this.requestTimeout),i.loading.end=Math.max(self.performance.now(),i.loading.first);const p=d[o];p&&(i.loaded=i.total=p);const f={url:c.url,data:d,code:c.status};s&&!$e(t.highWaterMark)&&s(i,a,d,c),n.onSuccess(f,i,a,c)}).catch(d=>{if(self.clearTimeout(this.requestTimeout),i.aborted)return;const c=d&&d.code||0,p=d?d.message:null;n.onError({code:c,text:p},a,d?d.details:null,i)})}getCacheAge(){let a=null;if(this.response){const t=this.response.headers.get("age");a=t?parseFloat(t):null}return a}getResponseHeader(a){return this.response?this.response.headers.get(a):null}loadProgressively(a,t,n,i=0,r){const s=new Aj,u=a.body.getReader(),o=()=>u.read().then(l=>{if(l.done)return s.dataLength&&r(t,n,s.flush(),a),Promise.resolve(new ArrayBuffer(0));const g=l.value,d=g.length;return t.loaded+=d,d<i||s.dataLength?(s.push(g),s.dataLength>=i&&r(t,n,s.flush(),a)):r(t,n,g,a),o()}).catch(()=>Promise.reject());return o()}}function W4e(e,a){const t={method:"GET",mode:"cors",credentials:"same-origin",signal:a,headers:new self.Headers(Rt({},e.headers))};return e.rangeEnd&&t.headers.set("Range","bytes="+e.rangeStart+"-"+String(e.rangeEnd-1)),t}function Y4e(e){const a=G4e.exec(e);if(a)return parseInt(a[2])-parseInt(a[1])+1}function X4e(e){const a=e.get("Content-Range");if(a){const n=Y4e(a);if($e(n))return n}const t=e.get("Content-Length");if(t)return parseInt(t)}function Q4e(e,a){return new self.Request(e.url,a)}class Z4e extends Error{constructor(a,t,n){super(a),this.code=void 0,this.details=void 0,this.code=t,this.details=n}}const J4e=/\s/,e5e={newCue(e,a,t,n){const i=[];let r,s,u,o,l;const g=self.VTTCue||self.TextTrackCue;for(let c=0;c<n.rows.length;c++)if(r=n.rows[c],u=!0,o=0,l="",!r.isEmpty()){var d;for(let h=0;h<r.chars.length;h++)J4e.test(r.chars[h].uchar)&&u?o++:(l+=r.chars[h].uchar,u=!1);r.cueStartTime=a,a===t&&(t+=1e-4),o>=16?o--:o++;const p=Kj(l.trim()),f=Tx(a,t,p);e!=null&&(d=e.cues)!=null&&d.getCueById(f)||(s=new g(a,t,p),s.id=f,s.line=c+1,s.align="left",s.position=10+Math.min(80,Math.floor(o*8/32)*10),i.push(s))}return e&&i.length&&(i.sort((c,p)=>c.line==="auto"||p.line==="auto"?0:c.line>8&&p.line>8?p.line-c.line:c.line-p.line),i.forEach(c=>pj(e,c))),i}},a5e={maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:null,errorRetry:null},az=en(en({autoStartLoad:!0,startPosition:-1,defaultAudioCodec:void 0,debug:!1,capLevelOnFPSDrop:!1,capLevelToPlayerSize:!1,ignoreDevicePixelRatio:!1,preferManagedMediaSource:!0,initialLiveManifestSize:1,maxBufferLength:30,backBufferLength:1/0,frontBufferFlushThreshold:1/0,maxBufferSize:60*1e3*1e3,maxBufferHole:.1,highBufferWatchdogPeriod:2,nudgeOffset:.1,nudgeMaxRetry:3,maxFragLookUpTolerance:.25,liveSyncDurationCount:3,liveMaxLatencyDurationCount:1/0,liveSyncDuration:void 0,liveMaxLatencyDuration:void 0,maxLiveSyncPlaybackRate:1,liveDurationInfinity:!1,liveBackBufferLength:null,maxMaxBufferLength:600,enableWorker:!0,workerPath:null,enableSoftwareAES:!0,startLevel:void 0,startFragPrefetch:!1,fpsDroppedMonitoringPeriod:5e3,fpsDroppedMonitoringThreshold:.2,appendErrorMaxRetry:3,loader:ez,fLoader:void 0,pLoader:void 0,xhrSetup:void 0,licenseXhrSetup:void 0,licenseResponseCallback:void 0,abrController:wDe,bufferController:Lxe,capLevelController:Sx,errorController:mDe,fpsController:s4e,stretchShortVideoTrack:!1,maxAudioFramesDrift:1,forceKeyFrameOnDiscontinuity:!0,abrEwmaFastLive:3,abrEwmaSlowLive:9,abrEwmaFastVoD:3,abrEwmaSlowVoD:9,abrEwmaDefaultEstimate:5e5,abrEwmaDefaultEstimateMax:5e6,abrBandWidthFactor:.95,abrBandWidthUpFactor:.7,abrMaxWithRealBitrate:!1,maxStarvationDelay:4,maxLoadingDelay:4,minAutoBitrate:0,emeEnabled:!1,widevineLicenseUrl:void 0,drmSystems:{},drmSystemOptions:{},requestMediaKeySystemAccessFunc:JU,testBandwidth:!0,progressive:!1,lowLatencyMode:!0,cmcd:void 0,enableDateRangeMetadataCues:!0,enableEmsgMetadataCues:!0,enableID3MetadataCues:!0,useMediaCapabilities:!0,certLoadPolicy:{default:a5e},keyLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"},errorRetry:{maxNumRetry:8,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"}}},manifestLoadPolicy:{default:{maxTimeToFirstByteMs:1/0,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},playlistLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:2,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},fragLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:12e4,timeoutRetry:{maxNumRetry:4,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:6,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},steeringManifestLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},manifestLoadingTimeOut:1e4,manifestLoadingMaxRetry:1,manifestLoadingRetryDelay:1e3,manifestLoadingMaxRetryTimeout:64e3,levelLoadingTimeOut:1e4,levelLoadingMaxRetry:4,levelLoadingRetryDelay:1e3,levelLoadingMaxRetryTimeout:64e3,fragLoadingTimeOut:2e4,fragLoadingMaxRetry:6,fragLoadingRetryDelay:1e3,fragLoadingMaxRetryTimeout:64e3},t5e()),{},{subtitleStreamController:wxe,subtitleTrackController:Ixe,timelineController:i4e,audioStreamController:kxe,audioTrackController:Cxe,emeController:Ng,cmcdController:$4e,contentSteeringController:H4e});function t5e(){return{cueHandler:e5e,enableWebVTT:!0,enableIMSC1:!0,enableCEA708Captions:!0,captionsTextTrack1Label:"English",captionsTextTrack1LanguageCode:"en",captionsTextTrack2Label:"Spanish",captionsTextTrack2LanguageCode:"es",captionsTextTrack3Label:"Unknown CC",captionsTextTrack3LanguageCode:"",captionsTextTrack4Label:"Unknown CC",captionsTextTrack4LanguageCode:"",renderTextTracksNatively:!0}}function n5e(e,a){if((a.liveSyncDurationCount||a.liveMaxLatencyDurationCount)&&(a.liveSyncDuration||a.liveMaxLatencyDuration))throw new Error("Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration");if(a.liveMaxLatencyDurationCount!==void 0&&(a.liveSyncDurationCount===void 0||a.liveMaxLatencyDurationCount<=a.liveSyncDurationCount))throw new Error('Illegal hls.js config: "liveMaxLatencyDurationCount" must be greater than "liveSyncDurationCount"');if(a.liveMaxLatencyDuration!==void 0&&(a.liveSyncDuration===void 0||a.liveMaxLatencyDuration<=a.liveSyncDuration))throw new Error('Illegal hls.js config: "liveMaxLatencyDuration" must be greater than "liveSyncDuration"');const t=g3(e),n=["manifest","level","frag"],i=["TimeOut","MaxRetry","RetryDelay","MaxRetryTimeout"];return n.forEach(r=>{const s=`${r==="level"?"playlist":r}LoadPolicy`,u=a[s]===void 0,o=[];i.forEach(l=>{const g=`${r}Loading${l}`,d=a[g];if(d!==void 0&&u){o.push(g);const c=t[s].default;switch(a[s]={default:c},l){case"TimeOut":c.maxLoadTimeMs=d,c.maxTimeToFirstByteMs=d;break;case"MaxRetry":c.errorRetry.maxNumRetry=d,c.timeoutRetry.maxNumRetry=d;break;case"RetryDelay":c.errorRetry.retryDelayMs=d,c.timeoutRetry.retryDelayMs=d;break;case"MaxRetryTimeout":c.errorRetry.maxRetryDelayMs=d,c.timeoutRetry.maxRetryDelayMs=d;break}}}),o.length&&se.warn(`hls.js config: "${o.join('", "')}" setting(s) are deprecated, use "${s}": ${JSON.stringify(a[s])}`)}),en(en({},t),a)}function g3(e){return e&&typeof e=="object"?Array.isArray(e)?e.map(g3):Object.keys(e).reduce((a,t)=>(a[t]=g3(e[t]),a),{}):e}function i5e(e){const a=e.loader;a!==sI&&a!==ez?(se.log("[config]: Custom loader detected, cannot enable progressive streaming"),e.progressive=!1):V4e()&&(e.loader=sI,e.progressive=!0,e.enableSoftwareAES=!0,se.log("[config]: Progressive streaming enabled, using FetchLoader"))}let oS;class r5e extends lx{constructor(a,t){super(a,"[level-controller]"),this._levels=[],this._firstLevel=-1,this._maxAutoLevel=-1,this._startLevel=void 0,this.currentLevel=null,this.currentLevelIndex=-1,this.manualLevelIndex=-1,this.steering=void 0,this.onParsedComplete=void 0,this.steering=t,this._registerListeners()}_registerListeners(){const{hls:a}=this;a.on(O.MANIFEST_LOADING,this.onManifestLoading,this),a.on(O.MANIFEST_LOADED,this.onManifestLoaded,this),a.on(O.LEVEL_LOADED,this.onLevelLoaded,this),a.on(O.LEVELS_UPDATED,this.onLevelsUpdated,this),a.on(O.FRAG_BUFFERED,this.onFragBuffered,this),a.on(O.ERROR,this.onError,this)}_unregisterListeners(){const{hls:a}=this;a.off(O.MANIFEST_LOADING,this.onManifestLoading,this),a.off(O.MANIFEST_LOADED,this.onManifestLoaded,this),a.off(O.LEVEL_LOADED,this.onLevelLoaded,this),a.off(O.LEVELS_UPDATED,this.onLevelsUpdated,this),a.off(O.FRAG_BUFFERED,this.onFragBuffered,this),a.off(O.ERROR,this.onError,this)}destroy(){this._unregisterListeners(),this.steering=null,this.resetLevels(),super.destroy()}stopLoad(){this._levels.forEach(t=>{t.loadError=0,t.fragmentError=0}),super.stopLoad()}resetLevels(){this._startLevel=void 0,this.manualLevelIndex=-1,this.currentLevelIndex=-1,this.currentLevel=null,this._levels=[],this._maxAutoLevel=-1}onManifestLoading(a,t){this.resetLevels()}onManifestLoaded(a,t){const n=this.hls.config.preferManagedMediaSource,i=[],r={},s={};let u=!1,o=!1,l=!1;t.levels.forEach(g=>{var d,c;const p=g.attrs;let{audioCodec:f,videoCodec:h}=g;((d=f)==null?void 0:d.indexOf("mp4a.40.34"))!==-1&&(oS||(oS=/chrome|firefox/i.test(navigator.userAgent)),oS&&(g.audioCodec=f=void 0)),f&&(g.audioCodec=f=Ym(f,n)),((c=h)==null?void 0:c.indexOf("avc1"))===0&&(h=g.videoCodec=q6e(h));const{width:y,height:b,unknownCodecs:m}=g;if(u||(u=!!(y&&b)),o||(o=!!h),l||(l=!!f),m!=null&&m.length||f&&!GT(f,"audio",n)||h&&!GT(h,"video",n))return;const{CODECS:T,"FRAME-RATE":A,"HDCP-LEVEL":v,"PATHWAY-ID":D,RESOLUTION:k,"VIDEO-RANGE":N}=p,R=`${`${D||"."}-`}${g.bitrate}-${k}-${A}-${T}-${N}-${v}`;if(r[R])if(r[R].uri!==g.url&&!g.attrs["PATHWAY-ID"]){const z=s[R]+=1;g.attrs["PATHWAY-ID"]=new Array(z+1).join(".");const W=new td(g);r[R]=W,i.push(W)}else r[R].addGroupId("audio",p.AUDIO),r[R].addGroupId("text",p.SUBTITLES);else{const z=new td(g);r[R]=z,s[R]=1,i.push(z)}}),this.filterAndSortMediaOptions(i,t,u,o,l)}filterAndSortMediaOptions(a,t,n,i,r){let s=[],u=[],o=a;if((n||i)&&r&&(o=o.filter(({videoCodec:f,videoRange:h,width:y,height:b})=>(!!f||!!(y&&b))&&iDe(h))),o.length===0){Promise.resolve().then(()=>{if(this.hls){t.levels.length&&this.warn(`One or more CODECS in variant not supported: ${JSON.stringify(t.levels[0].attrs)}`);const f=new Error("no level with compatible codecs found in manifest");this.hls.trigger(O.ERROR,{type:na.MEDIA_ERROR,details:ce.MANIFEST_INCOMPATIBLE_CODECS_ERROR,fatal:!0,url:t.url,error:f,reason:f.message})}});return}if(t.audioTracks){const{preferManagedMediaSource:f}=this.hls.config;s=t.audioTracks.filter(h=>!h.audioCodec||GT(h.audioCodec,"audio",f)),uI(s)}t.subtitles&&(u=t.subtitles,uI(u));const l=o.slice(0);o.sort((f,h)=>{if(f.attrs["HDCP-LEVEL"]!==h.attrs["HDCP-LEVEL"])return(f.attrs["HDCP-LEVEL"]||"")>(h.attrs["HDCP-LEVEL"]||"")?1:-1;if(n&&f.height!==h.height)return f.height-h.height;if(f.frameRate!==h.frameRate)return f.frameRate-h.frameRate;if(f.videoRange!==h.videoRange)return Xm.indexOf(f.videoRange)-Xm.indexOf(h.videoRange);if(f.videoCodec!==h.videoCodec){const y=f_(f.videoCodec),b=f_(h.videoCodec);if(y!==b)return b-y}if(f.uri===h.uri&&f.codecSet!==h.codecSet){const y=Wm(f.codecSet),b=Wm(h.codecSet);if(y!==b)return b-y}return f.averageBitrate!==h.averageBitrate?f.averageBitrate-h.averageBitrate:0});let g=l[0];if(this.steering&&(o=this.steering.filterParsedLevels(o),o.length!==l.length)){for(let f=0;f<l.length;f++)if(l[f].pathwayId===o[0].pathwayId){g=l[f];break}}this._levels=o;for(let f=0;f<o.length;f++)if(o[f]===g){var d;this._firstLevel=f;const h=g.bitrate,y=this.hls.bandwidthEstimate;if(this.log(`manifest loaded, ${o.length} level(s) found, first bitrate: ${h}`),((d=this.hls.userConfig)==null?void 0:d.abrEwmaDefaultEstimate)===void 0){const b=Math.min(h,this.hls.config.abrEwmaDefaultEstimateMax);b>y&&y===az.abrEwmaDefaultEstimate&&(this.hls.bandwidthEstimate=b)}break}const c=r&&!i,p={levels:o,audioTracks:s,subtitleTracks:u,sessionData:t.sessionData,sessionKeys:t.sessionKeys,firstLevel:this._firstLevel,stats:t.stats,audio:r,video:i,altAudio:!c&&s.some(f=>!!f.url)};this.hls.trigger(O.MANIFEST_PARSED,p),(this.hls.config.autoStartLoad||this.hls.forceStartLoad)&&this.hls.startLoad(this.hls.config.startPosition)}get levels(){return this._levels.length===0?null:this._levels}get level(){return this.currentLevelIndex}set level(a){const t=this._levels;if(t.length===0)return;if(a<0||a>=t.length){const g=new Error("invalid level idx"),d=a<0;if(this.hls.trigger(O.ERROR,{type:na.OTHER_ERROR,details:ce.LEVEL_SWITCH_ERROR,level:a,fatal:d,error:g,reason:g.message}),d)return;a=Math.min(a,t.length-1)}const n=this.currentLevelIndex,i=this.currentLevel,r=i?i.attrs["PATHWAY-ID"]:void 0,s=t[a],u=s.attrs["PATHWAY-ID"];if(this.currentLevelIndex=a,this.currentLevel=s,n===a&&s.details&&i&&r===u)return;this.log(`Switching to level ${a} (${s.height?s.height+"p ":""}${s.videoRange?s.videoRange+" ":""}${s.codecSet?s.codecSet+" ":""}@${s.bitrate})${u?" with Pathway "+u:""} from level ${n}${r?" with Pathway "+r:""}`);const o={level:a,attrs:s.attrs,details:s.details,bitrate:s.bitrate,averageBitrate:s.averageBitrate,maxBitrate:s.maxBitrate,realBitrate:s.realBitrate,width:s.width,height:s.height,codecSet:s.codecSet,audioCodec:s.audioCodec,videoCodec:s.videoCodec,audioGroups:s.audioGroups,subtitleGroups:s.subtitleGroups,loaded:s.loaded,loadError:s.loadError,fragmentError:s.fragmentError,name:s.name,id:s.id,uri:s.uri,url:s.url,urlId:0,audioGroupIds:s.audioGroupIds,textGroupIds:s.textGroupIds};this.hls.trigger(O.LEVEL_SWITCHING,o);const l=s.details;if(!l||l.live){const g=this.switchParams(s.uri,i==null?void 0:i.details,l);this.loadPlaylist(g)}}get manualLevel(){return this.manualLevelIndex}set manualLevel(a){this.manualLevelIndex=a,this._startLevel===void 0&&(this._startLevel=a),a!==-1&&(this.level=a)}get firstLevel(){return this._firstLevel}set firstLevel(a){this._firstLevel=a}get startLevel(){if(this._startLevel===void 0){const a=this.hls.config.startLevel;return a!==void 0?a:this.hls.firstAutoLevel}return this._startLevel}set startLevel(a){this._startLevel=a}onError(a,t){t.fatal||!t.context||t.context.type===wa.LEVEL&&t.context.level===this.level&&this.checkRetry(t)}onFragBuffered(a,{frag:t}){if(t!==void 0&&t.type===ea.MAIN){const n=t.elementaryStreams;if(!Object.keys(n).some(r=>!!n[r]))return;const i=this._levels[t.level];i!=null&&i.loadError&&(this.log(`Resetting level error count of ${i.loadError} on frag buffered`),i.loadError=0)}}onLevelLoaded(a,t){var n;const{level:i,details:r}=t,s=this._levels[i];if(!s){var u;this.warn(`Invalid level index ${i}`),(u=t.deliveryDirectives)!=null&&u.skip&&(r.deltaUpdateFailed=!0);return}i===this.currentLevelIndex?(s.fragmentError===0&&(s.loadError=0),this.playlistLoaded(i,t,s.details)):(n=t.deliveryDirectives)!=null&&n.skip&&(r.deltaUpdateFailed=!0)}loadPlaylist(a){super.loadPlaylist();const t=this.currentLevelIndex,n=this.currentLevel;if(n&&this.shouldLoadPlaylist(n)){let i=n.uri;if(a)try{i=a.addDirectives(i)}catch(s){this.warn(`Could not construct new URL with HLS Delivery Directives: ${s}`)}const r=n.attrs["PATHWAY-ID"];this.log(`Loading level index ${t}${(a==null?void 0:a.msn)!==void 0?" at sn "+a.msn+" part "+a.part:""} with${r?" Pathway "+r:""} ${i}`),this.clearTimer(),this.hls.trigger(O.LEVEL_LOADING,{url:i,level:t,pathwayId:n.attrs["PATHWAY-ID"],id:0,deliveryDirectives:a||null})}}get nextLoadLevel(){return this.manualLevelIndex!==-1?this.manualLevelIndex:this.hls.nextAutoLevel}set nextLoadLevel(a){this.level=a,this.manualLevelIndex===-1&&(this.hls.nextAutoLevel=a)}removeLevel(a){var t;const n=this._levels.filter((i,r)=>r!==a?!0:(this.steering&&this.steering.removeLevel(i),i===this.currentLevel&&(this.currentLevel=null,this.currentLevelIndex=-1,i.details&&i.details.fragments.forEach(s=>s.level=-1)),!1));yj(n),this._levels=n,this.currentLevelIndex>-1&&(t=this.currentLevel)!=null&&t.details&&(this.currentLevelIndex=this.currentLevel.details.fragments[0].level),this.hls.trigger(O.LEVELS_UPDATED,{levels:n})}onLevelsUpdated(a,{levels:t}){this._levels=t}checkMaxAutoUpdated(){const{autoLevelCapping:a,maxAutoLevel:t,maxHdcpLevel:n}=this.hls;this._maxAutoLevel!==t&&(this._maxAutoLevel=t,this.hls.trigger(O.MAX_AUTO_LEVEL_UPDATED,{autoLevelCapping:a,levels:this.levels,maxAutoLevel:t,minAutoLevel:this.hls.minAutoLevel,maxHdcpLevel:n}))}}function uI(e){const a={};e.forEach(t=>{const n=t.groupId||"";t.id=a[n]=a[n]||0,a[n]++})}class s5e{constructor(a){this.config=void 0,this.keyUriToKeyInfo={},this.emeController=null,this.config=a}abort(a){for(const n in this.keyUriToKeyInfo){const i=this.keyUriToKeyInfo[n].loader;if(i){var t;if(a&&a!==((t=i.context)==null?void 0:t.frag.type))return;i.abort()}}}detach(){for(const a in this.keyUriToKeyInfo){const t=this.keyUriToKeyInfo[a];(t.mediaKeySessionContext||t.decryptdata.isCommonEncryption)&&delete this.keyUriToKeyInfo[a]}}destroy(){this.detach();for(const a in this.keyUriToKeyInfo){const t=this.keyUriToKeyInfo[a].loader;t&&t.destroy()}this.keyUriToKeyInfo={}}createKeyLoadError(a,t=ce.KEY_LOAD_ERROR,n,i,r){return new Rs({type:na.NETWORK_ERROR,details:t,fatal:!1,frag:a,response:r,error:n,networkDetails:i})}loadClear(a,t){if(this.emeController&&this.config.emeEnabled){const{sn:n,cc:i}=a;for(let r=0;r<t.length;r++){const s=t[r];if(i<=s.cc&&(n==="initSegment"||s.sn==="initSegment"||n<s.sn)){this.emeController.selectKeySystemFormat(s).then(u=>{s.setKeyFormat(u)});break}}}}load(a){return!a.decryptdata&&a.encrypted&&this.emeController?this.emeController.selectKeySystemFormat(a).then(t=>this.loadInternal(a,t)):this.loadInternal(a)}loadInternal(a,t){var n,i;t&&a.setKeyFormat(t);const r=a.decryptdata;if(!r){const l=new Error(t?`Expected frag.decryptdata to be defined after setting format ${t}`:"Missing decryption data on fragment in onKeyLoading");return Promise.reject(this.createKeyLoadError(a,ce.KEY_LOAD_ERROR,l))}const s=r.uri;if(!s)return Promise.reject(this.createKeyLoadError(a,ce.KEY_LOAD_ERROR,new Error(`Invalid key URI: "${s}"`)));let u=this.keyUriToKeyInfo[s];if((n=u)!=null&&n.decryptdata.key)return r.key=u.decryptdata.key,Promise.resolve({frag:a,keyInfo:u});if((i=u)!=null&&i.keyLoadPromise){var o;switch((o=u.mediaKeySessionContext)==null?void 0:o.keyStatus){case void 0:case"status-pending":case"usable":case"usable-in-future":return u.keyLoadPromise.then(l=>(r.key=l.keyInfo.decryptdata.key,{frag:a,keyInfo:u}))}}switch(u=this.keyUriToKeyInfo[s]={decryptdata:r,keyLoadPromise:null,loader:null,mediaKeySessionContext:null},r.method){case"ISO-23001-7":case"SAMPLE-AES":case"SAMPLE-AES-CENC":case"SAMPLE-AES-CTR":return r.keyFormat==="identity"?this.loadKeyHTTP(u,a):this.loadKeyEME(u,a);case"AES-128":return this.loadKeyHTTP(u,a);default:return Promise.reject(this.createKeyLoadError(a,ce.KEY_LOAD_ERROR,new Error(`Key supplied with unsupported METHOD: "${r.method}"`)))}}loadKeyEME(a,t){const n={frag:t,keyInfo:a};if(this.emeController&&this.config.emeEnabled){const i=this.emeController.loadKey(n);if(i)return(a.keyLoadPromise=i.then(r=>(a.mediaKeySessionContext=r,n))).catch(r=>{throw a.keyLoadPromise=null,r})}return Promise.resolve(n)}loadKeyHTTP(a,t){const n=this.config,i=n.loader,r=new i(n);return t.keyLoader=a.loader=r,a.keyLoadPromise=new Promise((s,u)=>{const o={keyInfo:a,frag:t,responseType:"arraybuffer",url:a.decryptdata.uri},l=n.keyLoadPolicy.default,g={loadPolicy:l,timeout:l.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},d={onSuccess:(c,p,f,h)=>{const{frag:y,keyInfo:b,url:m}=f;if(!y.decryptdata||b!==this.keyUriToKeyInfo[m])return u(this.createKeyLoadError(y,ce.KEY_LOAD_ERROR,new Error("after key load, decryptdata unset or changed"),h));b.decryptdata.key=y.decryptdata.key=new Uint8Array(c.data),y.keyLoader=null,b.loader=null,s({frag:y,keyInfo:b})},onError:(c,p,f,h)=>{this.resetLoader(p),u(this.createKeyLoadError(t,ce.KEY_LOAD_ERROR,new Error(`HTTP Error ${c.code} loading key ${c.text}`),f,en({url:o.url,data:void 0},c)))},onTimeout:(c,p,f)=>{this.resetLoader(p),u(this.createKeyLoadError(t,ce.KEY_LOAD_TIMEOUT,new Error("key loading timed out"),f))},onAbort:(c,p,f)=>{this.resetLoader(p),u(this.createKeyLoadError(t,ce.INTERNAL_ABORTED,new Error("key loading aborted"),f))}};r.load(o,g,d)})}resetLoader(a){const{frag:t,keyInfo:n,url:i}=a,r=n.loader;t.keyLoader===r&&(t.keyLoader=null,n.loader=null),delete this.keyUriToKeyInfo[i],r&&r.destroy()}}function tz(){return self.SourceBuffer||self.WebKitSourceBuffer}function nz(){if(!sl())return!1;const a=tz();return!a||a.prototype&&typeof a.prototype.appendBuffer=="function"&&typeof a.prototype.remove=="function"}function u5e(){if(!nz())return!1;const e=sl();return typeof(e==null?void 0:e.isTypeSupported)=="function"&&(["avc1.42E01E,mp4a.40.2","av01.0.01M.08","vp09.00.50.08"].some(a=>e.isTypeSupported(Xc(a,"video")))||["mp4a.40.2","fLaC"].some(a=>e.isTypeSupported(Xc(a,"audio"))))}function o5e(){var e;const a=tz();return typeof(a==null||(e=a.prototype)==null?void 0:e.changeType)=="function"}const l5e=250,th=2,g5e=.1,d5e=.05;class c5e{constructor(a,t,n,i){this.config=void 0,this.media=null,this.fragmentTracker=void 0,this.hls=void 0,this.nudgeRetry=0,this.stallReported=!1,this.stalled=null,this.moved=!1,this.seeking=!1,this.config=a,this.media=t,this.fragmentTracker=n,this.hls=i}destroy(){this.media=null,this.hls=this.fragmentTracker=null}poll(a,t){const{config:n,media:i,stalled:r}=this;if(i===null)return;const{currentTime:s,seeking:u}=i,o=this.seeking&&!u,l=!this.seeking&&u;if(this.seeking=u,s!==a){if(this.moved=!0,u||(this.nudgeRetry=0),r!==null){if(this.stallReported){const y=self.performance.now()-r;se.warn(`playback not stuck anymore @${s}, after ${Math.round(y)}ms`),this.stallReported=!1}this.stalled=null}return}if(l||o){this.stalled=null;return}if(i.paused&&!u||i.ended||i.playbackRate===0||!Ja.getBuffered(i).length){this.nudgeRetry=0;return}const g=Ja.bufferInfo(i,s,0),d=g.nextStart||0;if(u){const y=g.len>th,b=!d||t&&t.start<=s||d-s>th&&!this.fragmentTracker.getPartialFragment(s);if(y||b)return;this.moved=!1}if(!this.moved&&this.stalled!==null){var c;if(!(g.len>0)&&!d)return;const b=Math.max(d,g.start||0)-s,m=this.hls.levels?this.hls.levels[this.hls.currentLevel]:null,A=(m==null||(c=m.details)==null?void 0:c.live)?m.details.targetduration*2:th,v=this.fragmentTracker.getPartialFragment(s);if(b>0&&(b<=A||v)){i.paused||this._trySkipBufferHole(v);return}}const p=self.performance.now();if(r===null){this.stalled=p;return}const f=p-r;if(!u&&f>=l5e&&(this._reportStall(g),!this.media))return;const h=Ja.bufferInfo(i,s,n.maxBufferHole);this._tryFixBufferStall(h,f)}_tryFixBufferStall(a,t){const{config:n,fragmentTracker:i,media:r}=this;if(r===null)return;const s=r.currentTime,u=i.getPartialFragment(s);u&&(this._trySkipBufferHole(u)||!this.media)||(a.len>n.maxBufferHole||a.nextStart&&a.nextStart-s<n.maxBufferHole)&&t>n.highBufferWatchdogPeriod*1e3&&(se.warn("Trying to nudge playhead over buffer-hole"),this.stalled=null,this._tryNudgeBuffer())}_reportStall(a){const{hls:t,media:n,stallReported:i}=this;if(!i&&n){this.stallReported=!0;const r=new Error(`Playback stalling at @${n.currentTime} due to low buffer (${JSON.stringify(a)})`);se.warn(r.message),t.trigger(O.ERROR,{type:na.MEDIA_ERROR,details:ce.BUFFER_STALLED_ERROR,fatal:!1,error:r,buffer:a.len})}}_trySkipBufferHole(a){const{config:t,hls:n,media:i}=this;if(i===null)return 0;const r=i.currentTime,s=Ja.bufferInfo(i,r,0),u=r<s.start?s.start:s.nextStart;if(u){const o=s.len<=t.maxBufferHole,l=s.len>0&&s.len<1&&i.readyState<3,g=u-r;if(g>0&&(o||l)){if(g>t.maxBufferHole){const{fragmentTracker:c}=this;let p=!1;if(r===0){const f=c.getAppendedFrag(0,ea.MAIN);f&&u<f.end&&(p=!0)}if(!p){const f=a||c.getAppendedFrag(r,ea.MAIN);if(f){let h=!1,y=f.end;for(;y<u;){const b=c.getPartialFragment(y);if(b)y+=b.duration;else{h=!0;break}}if(h)return 0}}}const d=Math.max(u+d5e,r+g5e);if(se.warn(`skipping hole, adjusting currentTime from ${r} to ${d}`),this.moved=!0,this.stalled=null,i.currentTime=d,a&&!a.gap){const c=new Error(`fragment loaded with buffer holes, seeking from ${r} to ${d}`);n.trigger(O.ERROR,{type:na.MEDIA_ERROR,details:ce.BUFFER_SEEK_OVER_HOLE,fatal:!1,error:c,reason:c.message,frag:a})}return d}}return 0}_tryNudgeBuffer(){const{config:a,hls:t,media:n,nudgeRetry:i}=this;if(n===null)return;const r=n.currentTime;if(this.nudgeRetry++,i<a.nudgeMaxRetry){const s=r+(i+1)*a.nudgeOffset,u=new Error(`Nudging 'currentTime' from ${r} to ${s}`);se.warn(u.message),n.currentTime=s,t.trigger(O.ERROR,{type:na.MEDIA_ERROR,details:ce.BUFFER_NUDGE_ON_STALL,error:u,fatal:!1})}else{const s=new Error(`Playhead still not moving while enough data buffered @${r} after ${a.nudgeMaxRetry} nudges`);se.error(s.message),t.trigger(O.ERROR,{type:na.MEDIA_ERROR,details:ce.BUFFER_STALLED_ERROR,error:s,fatal:!0})}}}const p5e=100;class f5e extends cx{constructor(a,t,n){super(a,t,n,"[stream-controller]",ea.MAIN),this.audioCodecSwap=!1,this.gapController=null,this.level=-1,this._forceStartLoad=!1,this.altAudio=!1,this.audioOnly=!1,this.fragPlaying=null,this.onvplaying=null,this.onvseeked=null,this.fragLastKbps=0,this.couldBacktrack=!1,this.backtrackFragment=null,this.audioCodecSwitch=!1,this.videoBuffer=null,this._registerListeners()}_registerListeners(){const{hls:a}=this;a.on(O.MEDIA_ATTACHED,this.onMediaAttached,this),a.on(O.MEDIA_DETACHING,this.onMediaDetaching,this),a.on(O.MANIFEST_LOADING,this.onManifestLoading,this),a.on(O.MANIFEST_PARSED,this.onManifestParsed,this),a.on(O.LEVEL_LOADING,this.onLevelLoading,this),a.on(O.LEVEL_LOADED,this.onLevelLoaded,this),a.on(O.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),a.on(O.ERROR,this.onError,this),a.on(O.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),a.on(O.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),a.on(O.BUFFER_CREATED,this.onBufferCreated,this),a.on(O.BUFFER_FLUSHED,this.onBufferFlushed,this),a.on(O.LEVELS_UPDATED,this.onLevelsUpdated,this),a.on(O.FRAG_BUFFERED,this.onFragBuffered,this)}_unregisterListeners(){const{hls:a}=this;a.off(O.MEDIA_ATTACHED,this.onMediaAttached,this),a.off(O.MEDIA_DETACHING,this.onMediaDetaching,this),a.off(O.MANIFEST_LOADING,this.onManifestLoading,this),a.off(O.MANIFEST_PARSED,this.onManifestParsed,this),a.off(O.LEVEL_LOADED,this.onLevelLoaded,this),a.off(O.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),a.off(O.ERROR,this.onError,this),a.off(O.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),a.off(O.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),a.off(O.BUFFER_CREATED,this.onBufferCreated,this),a.off(O.BUFFER_FLUSHED,this.onBufferFlushed,this),a.off(O.LEVELS_UPDATED,this.onLevelsUpdated,this),a.off(O.FRAG_BUFFERED,this.onFragBuffered,this)}onHandlerDestroying(){this._unregisterListeners(),super.onHandlerDestroying()}startLoad(a){if(this.levels){const{lastCurrentTime:t,hls:n}=this;if(this.stopLoad(),this.setInterval(p5e),this.level=-1,!this.startFragRequested){let i=n.startLevel;i===-1&&(n.config.testBandwidth&&this.levels.length>1?(i=0,this.bitrateTest=!0):i=n.firstAutoLevel),n.nextLoadLevel=i,this.level=n.loadLevel,this.loadedmetadata=!1}t>0&&a===-1&&(this.log(`Override startPosition with lastCurrentTime @${t.toFixed(3)}`),a=t),this.state=Ae.IDLE,this.nextLoadPosition=this.startPosition=this.lastCurrentTime=a,this.tick()}else this._forceStartLoad=!0,this.state=Ae.STOPPED}stopLoad(){this._forceStartLoad=!1,super.stopLoad()}doTick(){switch(this.state){case Ae.WAITING_LEVEL:{const{levels:t,level:n}=this,i=t==null?void 0:t[n],r=i==null?void 0:i.details;if(r&&(!r.live||this.levelLastLoaded===i)){if(this.waitForCdnTuneIn(r))break;this.state=Ae.IDLE;break}else if(this.hls.nextLoadLevel!==this.level){this.state=Ae.IDLE;break}break}case Ae.FRAG_LOADING_WAITING_RETRY:{var a;const t=self.performance.now(),n=this.retryDate;if(!n||t>=n||(a=this.media)!=null&&a.seeking){const{levels:i,level:r}=this,s=i==null?void 0:i[r];this.resetStartWhenNotLoaded(s||null),this.state=Ae.IDLE}}break}this.state===Ae.IDLE&&this.doTickIdle(),this.onTickEnd()}onTickEnd(){super.onTickEnd(),this.checkBuffer(),this.checkFragmentChanged()}doTickIdle(){const{hls:a,levelLastLoaded:t,levels:n,media:i}=this;if(t===null||!i&&(this.startFragRequested||!a.config.startFragPrefetch)||this.altAudio&&this.audioOnly)return;const r=a.nextLoadLevel;if(!(n!=null&&n[r]))return;const s=n[r],u=this.getMainFwdBufferInfo();if(u===null)return;const o=this.getLevelDetails();if(o&&this._streamEnded(u,o)){const h={};this.altAudio&&(h.type="video"),this.hls.trigger(O.BUFFER_EOS,h),this.state=Ae.ENDED;return}a.loadLevel!==r&&a.manualLevel===-1&&this.log(`Adapting to level ${r} from level ${this.level}`),this.level=a.nextLoadLevel=r;const l=s.details;if(!l||this.state===Ae.WAITING_LEVEL||l.live&&this.levelLastLoaded!==s){this.level=r,this.state=Ae.WAITING_LEVEL;return}const g=u.len,d=this.getMaxBufferLength(s.maxBitrate);if(g>=d)return;this.backtrackFragment&&this.backtrackFragment.start>u.end&&(this.backtrackFragment=null);const c=this.backtrackFragment?this.backtrackFragment.start:u.end;let p=this.getNextFragment(c,l);if(this.couldBacktrack&&!this.fragPrevious&&p&&p.sn!=="initSegment"&&this.fragmentTracker.getState(p)!==Wt.OK){var f;const y=((f=this.backtrackFragment)!=null?f:p).sn-l.startSN,b=l.fragments[y-1];b&&p.cc===b.cc&&(p=b,this.fragmentTracker.removeFragment(b))}else this.backtrackFragment&&u.len&&(this.backtrackFragment=null);if(p&&this.isLoopLoading(p,c)){if(!p.gap){const y=this.audioOnly&&!this.altAudio?za.AUDIO:za.VIDEO,b=(y===za.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;b&&this.afterBufferFlushed(b,y,ea.MAIN)}p=this.getNextFragmentLoopLoading(p,l,u,ea.MAIN,d)}p&&(p.initSegment&&!p.initSegment.data&&!this.bitrateTest&&(p=p.initSegment),this.loadFragment(p,s,c))}loadFragment(a,t,n){const i=this.fragmentTracker.getState(a);this.fragCurrent=a,i===Wt.NOT_LOADED||i===Wt.PARTIAL?a.sn==="initSegment"?this._loadInitSegment(a,t):this.bitrateTest?(this.log(`Fragment ${a.sn} of level ${a.level} is being downloaded to test bitrate and will not be buffered`),this._loadBitrateTestFrag(a,t)):(this.startFragRequested=!0,super.loadFragment(a,t,n)):this.clearTrackerIfNeeded(a)}getBufferedFrag(a){return this.fragmentTracker.getBufferedFrag(a,ea.MAIN)}followingBufferedFrag(a){return a?this.getBufferedFrag(a.end+.5):null}immediateLevelSwitch(){this.abortCurrentFrag(),this.flushMainBuffer(0,Number.POSITIVE_INFINITY)}nextLevelSwitch(){const{levels:a,media:t}=this;if(t!=null&&t.readyState){let n;const i=this.getAppendedFrag(t.currentTime);i&&i.start>1&&this.flushMainBuffer(0,i.start-1);const r=this.getLevelDetails();if(r!=null&&r.live){const u=this.getMainFwdBufferInfo();if(!u||u.len<r.targetduration*2)return}if(!t.paused&&a){const u=this.hls.nextLoadLevel,o=a[u],l=this.fragLastKbps;l&&this.fragCurrent?n=this.fragCurrent.duration*o.maxBitrate/(1e3*l)+1:n=0}else n=0;const s=this.getBufferedFrag(t.currentTime+n);if(s){const u=this.followingBufferedFrag(s);if(u){this.abortCurrentFrag();const o=u.maxStartPTS?u.maxStartPTS:u.start,l=u.duration,g=Math.max(s.end,o+Math.min(Math.max(l-this.config.maxFragLookUpTolerance,l*(this.couldBacktrack?.5:.125)),l*(this.couldBacktrack?.75:.25)));this.flushMainBuffer(g,Number.POSITIVE_INFINITY)}}}}abortCurrentFrag(){const a=this.fragCurrent;switch(this.fragCurrent=null,this.backtrackFragment=null,a&&(a.abortRequests(),this.fragmentTracker.removeFragment(a)),this.state){case Ae.KEY_LOADING:case Ae.FRAG_LOADING:case Ae.FRAG_LOADING_WAITING_RETRY:case Ae.PARSING:case Ae.PARSED:this.state=Ae.IDLE;break}this.nextLoadPosition=this.getLoadPosition()}flushMainBuffer(a,t){super.flushMainBuffer(a,t,this.altAudio?"video":null)}onMediaAttached(a,t){super.onMediaAttached(a,t);const n=t.media;this.onvplaying=this.onMediaPlaying.bind(this),this.onvseeked=this.onMediaSeeked.bind(this),n.addEventListener("playing",this.onvplaying),n.addEventListener("seeked",this.onvseeked),this.gapController=new c5e(this.config,n,this.fragmentTracker,this.hls)}onMediaDetaching(){const{media:a}=this;a&&this.onvplaying&&this.onvseeked&&(a.removeEventListener("playing",this.onvplaying),a.removeEventListener("seeked",this.onvseeked),this.onvplaying=this.onvseeked=null,this.videoBuffer=null),this.fragPlaying=null,this.gapController&&(this.gapController.destroy(),this.gapController=null),super.onMediaDetaching()}onMediaPlaying(){this.tick()}onMediaSeeked(){const a=this.media,t=a?a.currentTime:null;$e(t)&&this.log(`Media seeked to ${t.toFixed(3)}`);const n=this.getMainFwdBufferInfo();if(n===null||n.len===0){this.warn(`Main forward buffer length on "seeked" event ${n?n.len:"empty"})`);return}this.tick()}onManifestLoading(){this.log("Trigger BUFFER_RESET"),this.hls.trigger(O.BUFFER_RESET,void 0),this.fragmentTracker.removeAllFragments(),this.couldBacktrack=!1,this.startPosition=this.lastCurrentTime=this.fragLastKbps=0,this.levels=this.fragPlaying=this.backtrackFragment=this.levelLastLoaded=null,this.altAudio=this.audioOnly=this.startFragRequested=!1}onManifestParsed(a,t){let n=!1,i=!1;t.levels.forEach(r=>{const s=r.audioCodec;s&&(n=n||s.indexOf("mp4a.40.2")!==-1,i=i||s.indexOf("mp4a.40.5")!==-1)}),this.audioCodecSwitch=n&&i&&!o5e(),this.audioCodecSwitch&&this.log("Both AAC/HE-AAC audio found in levels; declaring level codec as HE-AAC"),this.levels=t.levels,this.startFragRequested=!1}onLevelLoading(a,t){const{levels:n}=this;if(!n||this.state!==Ae.IDLE)return;const i=n[t.level];(!i.details||i.details.live&&this.levelLastLoaded!==i||this.waitForCdnTuneIn(i.details))&&(this.state=Ae.WAITING_LEVEL)}onLevelLoaded(a,t){var n;const{levels:i}=this,r=t.level,s=t.details,u=s.totalduration;if(!i){this.warn(`Levels were reset while loading level ${r}`);return}this.log(`Level ${r} loaded [${s.startSN},${s.endSN}]${s.lastPartSn?`[part-${s.lastPartSn}-${s.lastPartIndex}]`:""}, cc [${s.startCC}, ${s.endCC}] duration:${u}`);const o=i[r],l=this.fragCurrent;l&&(this.state===Ae.FRAG_LOADING||this.state===Ae.FRAG_LOADING_WAITING_RETRY)&&l.level!==t.level&&l.loader&&this.abortCurrentFrag();let g=0;if(s.live||(n=o.details)!=null&&n.live){var d;if(this.checkLiveUpdate(s),s.deltaUpdateFailed)return;g=this.alignPlaylists(s,o.details,(d=this.levelLastLoaded)==null?void 0:d.details)}if(o.details=s,this.levelLastLoaded=o,this.hls.trigger(O.LEVEL_UPDATED,{details:s,level:r}),this.state===Ae.WAITING_LEVEL){if(this.waitForCdnTuneIn(s))return;this.state=Ae.IDLE}this.startFragRequested?s.live&&this.synchronizeToLiveEdge(s):this.setStartPosition(s,g),this.tick()}_handleFragmentLoadProgress(a){var t;const{frag:n,part:i,payload:r}=a,{levels:s}=this;if(!s){this.warn(`Levels were reset while fragment load was in progress. Fragment ${n.sn} of level ${n.level} will not be buffered`);return}const u=s[n.level],o=u.details;if(!o){this.warn(`Dropping fragment ${n.sn} of level ${n.level} after level details were reset`),this.fragmentTracker.removeFragment(n);return}const l=u.videoCodec,g=o.PTSKnown||!o.live,d=(t=n.initSegment)==null?void 0:t.data,c=this._getAudioCodec(u),p=this.transmuxer=this.transmuxer||new Bj(this.hls,ea.MAIN,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)),f=i?i.index:-1,h=f!==-1,y=new gx(n.level,n.sn,n.stats.chunkCount,r.byteLength,f,h),b=this.initPTS[n.cc];p.push(r,d,c,l,n,i,o.totalduration,g,y,b)}onAudioTrackSwitching(a,t){const n=this.altAudio;if(!!!t.url){if(this.mediaBuffer!==this.media){this.log("Switching on main audio, use media.buffered to schedule main fragment loading"),this.mediaBuffer=this.media;const s=this.fragCurrent;s&&(this.log("Switching to main audio track, cancel main fragment load"),s.abortRequests(),this.fragmentTracker.removeFragment(s)),this.resetTransmuxer(),this.resetLoadingState()}else this.audioOnly&&this.resetTransmuxer();const r=this.hls;n&&(r.trigger(O.BUFFER_FLUSHING,{startOffset:0,endOffset:Number.POSITIVE_INFINITY,type:null}),this.fragmentTracker.removeAllFragments()),r.trigger(O.AUDIO_TRACK_SWITCHED,t)}}onAudioTrackSwitched(a,t){const n=t.id,i=!!this.hls.audioTracks[n].url;if(i){const r=this.videoBuffer;r&&this.mediaBuffer!==r&&(this.log("Switching on alternate audio, use video.buffered to schedule main fragment loading"),this.mediaBuffer=r)}this.altAudio=i,this.tick()}onBufferCreated(a,t){const n=t.tracks;let i,r,s=!1;for(const u in n){const o=n[u];if(o.id==="main"){if(r=u,i=o,u==="video"){const l=n[u];l&&(this.videoBuffer=l.buffer)}}else s=!0}s&&i?(this.log(`Alternate track found, use ${r}.buffered to schedule main fragment loading`),this.mediaBuffer=i.buffer):this.mediaBuffer=this.media}onFragBuffered(a,t){const{frag:n,part:i}=t;if(n&&n.type!==ea.MAIN)return;if(this.fragContextChanged(n)){this.warn(`Fragment ${n.sn}${i?" p: "+i.index:""} of level ${n.level} finished buffering, but was aborted. state: ${this.state}`),this.state===Ae.PARSED&&(this.state=Ae.IDLE);return}const r=i?i.stats:n.stats;this.fragLastKbps=Math.round(8*r.total/(r.buffering.end-r.loading.first)),n.sn!=="initSegment"&&(this.fragPrevious=n),this.fragBufferedComplete(n,i)}onError(a,t){var n;if(t.fatal){this.state=Ae.ERROR;return}switch(t.details){case ce.FRAG_GAP:case ce.FRAG_PARSING_ERROR:case ce.FRAG_DECRYPT_ERROR:case ce.FRAG_LOAD_ERROR:case ce.FRAG_LOAD_TIMEOUT:case ce.KEY_LOAD_ERROR:case ce.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(ea.MAIN,t);break;case ce.LEVEL_LOAD_ERROR:case ce.LEVEL_LOAD_TIMEOUT:case ce.LEVEL_PARSING_ERROR:!t.levelRetry&&this.state===Ae.WAITING_LEVEL&&((n=t.context)==null?void 0:n.type)===wa.LEVEL&&(this.state=Ae.IDLE);break;case ce.BUFFER_APPEND_ERROR:case ce.BUFFER_FULL_ERROR:if(!t.parent||t.parent!=="main")return;if(t.details===ce.BUFFER_APPEND_ERROR){this.resetLoadingState();return}this.reduceLengthAndFlushBuffer(t)&&this.flushMainBuffer(0,Number.POSITIVE_INFINITY);break;case ce.INTERNAL_EXCEPTION:this.recoverWorkerError(t);break}}checkBuffer(){const{media:a,gapController:t}=this;if(!(!a||!t||!a.readyState)){if(this.loadedmetadata||!Ja.getBuffered(a).length){const n=this.state!==Ae.IDLE?this.fragCurrent:null;t.poll(this.lastCurrentTime,n)}this.lastCurrentTime=a.currentTime}}onFragLoadEmergencyAborted(){this.state=Ae.IDLE,this.loadedmetadata||(this.startFragRequested=!1,this.nextLoadPosition=this.startPosition),this.tickImmediate()}onBufferFlushed(a,{type:t}){if(t!==za.AUDIO||this.audioOnly&&!this.altAudio){const n=(t===za.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;this.afterBufferFlushed(n,t,ea.MAIN),this.tick()}}onLevelsUpdated(a,t){this.level>-1&&this.fragCurrent&&(this.level=this.fragCurrent.level),this.levels=t.levels}swapAudioCodec(){this.audioCodecSwap=!this.audioCodecSwap}seekToStartPos(){const{media:a}=this;if(!a)return;const t=a.currentTime;let n=this.startPosition;if(n>=0&&t<n){if(a.seeking){this.log(`could not seek to ${n}, already seeking at ${t}`);return}const i=Ja.getBuffered(a),s=(i.length?i.start(0):0)-n;s>0&&(s<this.config.maxBufferHole||s<this.config.maxFragLookUpTolerance)&&(this.log(`adjusting start position by ${s} to match buffer start`),n+=s,this.startPosition=n),this.log(`seek to target start position ${n} from current time ${t}`),a.currentTime=n}}_getAudioCodec(a){let t=this.config.defaultAudioCodec||a.audioCodec;return this.audioCodecSwap&&t&&(this.log("Swapping audio codec"),t.indexOf("mp4a.40.5")!==-1?t="mp4a.40.2":t="mp4a.40.5"),t}_loadBitrateTestFrag(a,t){a.bitrateTest=!0,this._doFragLoad(a,t).then(n=>{const{hls:i}=this;if(!n||this.fragContextChanged(a))return;t.fragmentError=0,this.state=Ae.IDLE,this.startFragRequested=!1,this.bitrateTest=!1;const r=a.stats;r.parsing.start=r.parsing.end=r.buffering.start=r.buffering.end=self.performance.now(),i.trigger(O.FRAG_LOADED,n),a.bitrateTest=!1})}_handleTransmuxComplete(a){var t;const n="main",{hls:i}=this,{remuxResult:r,chunkMeta:s}=a,u=this.getCurrentContext(s);if(!u){this.resetWhenMissingContext(s);return}const{frag:o,part:l,level:g}=u,{video:d,text:c,id3:p,initSegment:f}=r,{details:h}=g,y=this.altAudio?void 0:r.audio;if(this.fragContextChanged(o)){this.fragmentTracker.removeFragment(o);return}if(this.state=Ae.PARSING,f){if(f!=null&&f.tracks){const T=o.initSegment||o;this._bufferInitSegment(g,f.tracks,T,s),i.trigger(O.FRAG_PARSING_INIT_SEGMENT,{frag:T,id:n,tracks:f.tracks})}const b=f.initPTS,m=f.timescale;$e(b)&&(this.initPTS[o.cc]={baseTime:b,timescale:m},i.trigger(O.INIT_PTS_FOUND,{frag:o,id:n,initPTS:b,timescale:m}))}if(d&&h&&o.sn!=="initSegment"){const b=h.fragments[o.sn-1-h.startSN],m=o.sn===h.startSN,T=!b||o.cc>b.cc;if(r.independent!==!1){const{startPTS:A,endPTS:v,startDTS:D,endDTS:k}=d;if(l)l.elementaryStreams[d.type]={startPTS:A,endPTS:v,startDTS:D,endDTS:k};else if(d.firstKeyFrame&&d.independent&&s.id===1&&!T&&(this.couldBacktrack=!0),d.dropped&&d.independent){const N=this.getMainFwdBufferInfo(),q=(N?N.end:this.getLoadPosition())+this.config.maxBufferHole,R=d.firstKeyFramePTS?d.firstKeyFramePTS:A;if(!m&&q<R-this.config.maxBufferHole&&!T){this.backtrack(o);return}else T&&(o.gap=!0);o.setElementaryStreamInfo(d.type,o.start,v,o.start,k,!0)}else m&&A>th&&(o.gap=!0);o.setElementaryStreamInfo(d.type,A,v,D,k),this.backtrackFragment&&(this.backtrackFragment=o),this.bufferFragmentData(d,o,l,s,m||T)}else if(m||T)o.gap=!0;else{this.backtrack(o);return}}if(y){const{startPTS:b,endPTS:m,startDTS:T,endDTS:A}=y;l&&(l.elementaryStreams[za.AUDIO]={startPTS:b,endPTS:m,startDTS:T,endDTS:A}),o.setElementaryStreamInfo(za.AUDIO,b,m,T,A),this.bufferFragmentData(y,o,l,s)}if(h&&p!=null&&(t=p.samples)!=null&&t.length){const b={id:n,frag:o,details:h,samples:p.samples};i.trigger(O.FRAG_PARSING_METADATA,b)}if(h&&c){const b={id:n,frag:o,details:h,samples:c.samples};i.trigger(O.FRAG_PARSING_USERDATA,b)}}_bufferInitSegment(a,t,n,i){if(this.state!==Ae.PARSING)return;this.audioOnly=!!t.audio&&!t.video,this.altAudio&&!this.audioOnly&&delete t.audio;const{audio:r,video:s,audiovideo:u}=t;if(r){let o=a.audioCodec;const l=navigator.userAgent.toLowerCase();if(this.audioCodecSwitch){o&&(o.indexOf("mp4a.40.5")!==-1?o="mp4a.40.2":o="mp4a.40.5");const g=r.metadata;g&&"channelCount"in g&&(g.channelCount||1)!==1&&l.indexOf("firefox")===-1&&(o="mp4a.40.5")}o&&o.indexOf("mp4a.40.5")!==-1&&l.indexOf("android")!==-1&&r.container!=="audio/mpeg"&&(o="mp4a.40.2",this.log(`Android: force audio codec to ${o}`)),a.audioCodec&&a.audioCodec!==o&&this.log(`Swapping manifest audio codec "${a.audioCodec}" for "${o}"`),r.levelCodec=o,r.id="main",this.log(`Init audio buffer, container:${r.container}, codecs[selected/level/parsed]=[${o||""}/${a.audioCodec||""}/${r.codec}]`)}s&&(s.levelCodec=a.videoCodec,s.id="main",this.log(`Init video buffer, container:${s.container}, codecs[level/parsed]=[${a.videoCodec||""}/${s.codec}]`)),u&&this.log(`Init audiovideo buffer, container:${u.container}, codecs[level/parsed]=[${a.codecs}/${u.codec}]`),this.hls.trigger(O.BUFFER_CODECS,t),Object.keys(t).forEach(o=>{const g=t[o].initSegment;g!=null&&g.byteLength&&this.hls.trigger(O.BUFFER_APPENDING,{type:o,data:g,frag:n,part:null,chunkMeta:i,parent:n.type})}),this.tickImmediate()}getMainFwdBufferInfo(){return this.getFwdBufferInfo(this.mediaBuffer?this.mediaBuffer:this.media,ea.MAIN)}backtrack(a){this.couldBacktrack=!0,this.backtrackFragment=a,this.resetTransmuxer(),this.flushBufferGap(a),this.fragmentTracker.removeFragment(a),this.fragPrevious=null,this.nextLoadPosition=a.start,this.state=Ae.IDLE}checkFragmentChanged(){const a=this.media;let t=null;if(a&&a.readyState>1&&a.seeking===!1){const n=a.currentTime;if(Ja.isBuffered(a,n)?t=this.getAppendedFrag(n):Ja.isBuffered(a,n+.1)&&(t=this.getAppendedFrag(n+.1)),t){this.backtrackFragment=null;const i=this.fragPlaying,r=t.level;(!i||t.sn!==i.sn||i.level!==r)&&(this.fragPlaying=t,this.hls.trigger(O.FRAG_CHANGED,{frag:t}),(!i||i.level!==r)&&this.hls.trigger(O.LEVEL_SWITCHED,{level:r}))}}}get nextLevel(){const a=this.nextBufferedFrag;return a?a.level:-1}get currentFrag(){const a=this.media;return a?this.fragPlaying||this.getAppendedFrag(a.currentTime):null}get currentProgramDateTime(){const a=this.media;if(a){const t=a.currentTime,n=this.currentFrag;if(n&&$e(t)&&$e(n.programDateTime)){const i=n.programDateTime+(t-n.start)*1e3;return new Date(i)}}return null}get currentLevel(){const a=this.currentFrag;return a?a.level:-1}get nextBufferedFrag(){const a=this.currentFrag;return a?this.followingBufferedFrag(a):null}get forceStartLoad(){return this._forceStartLoad}}class fg{static get version(){return"1.5.15"}static isMSESupported(){return nz()}static isSupported(){return u5e()}static getMediaSource(){return sl()}static get Events(){return O}static get ErrorTypes(){return na}static get ErrorDetails(){return ce}static get DefaultConfig(){return fg.defaultConfig?fg.defaultConfig:az}static set DefaultConfig(a){fg.defaultConfig=a}constructor(a={}){this.config=void 0,this.userConfig=void 0,this.coreComponents=void 0,this.networkControllers=void 0,this.started=!1,this._emitter=new yx,this._autoLevelCapping=-1,this._maxHdcpLevel=null,this.abrController=void 0,this.bufferController=void 0,this.capLevelController=void 0,this.latencyController=void 0,this.levelController=void 0,this.streamController=void 0,this.audioTrackController=void 0,this.subtitleTrackController=void 0,this.emeController=void 0,this.cmcdController=void 0,this._media=null,this.url=null,this.triggeringException=void 0,t6e(a.debug||!1,"Hls instance");const t=this.config=n5e(fg.DefaultConfig,a);this.userConfig=a,t.progressive&&i5e(t);const{abrController:n,bufferController:i,capLevelController:r,errorController:s,fpsController:u}=t,o=new s(this),l=this.abrController=new n(this),g=this.bufferController=new i(this),d=this.capLevelController=new r(this),c=new u(this),p=new X6e(this),f=new aDe(this),h=t.contentSteeringController,y=h?new h(this):null,b=this.levelController=new r5e(this,y),m=new IDe(this),T=new s5e(this.config),A=this.streamController=new f5e(this,m,T);d.setStreamController(A),c.setStreamController(A);const v=[p,b,A];y&&v.splice(1,0,y),this.networkControllers=v;const D=[l,g,d,c,f,m];this.audioTrackController=this.createController(t.audioTrackController,v);const k=t.audioStreamController;k&&v.push(new k(this,m,T)),this.subtitleTrackController=this.createController(t.subtitleTrackController,v);const N=t.subtitleStreamController;N&&v.push(new N(this,m,T)),this.createController(t.timelineController,D),T.emeController=this.emeController=this.createController(t.emeController,D),this.cmcdController=this.createController(t.cmcdController,D),this.latencyController=this.createController(tDe,D),this.coreComponents=D,v.push(o);const q=o.onErrorOut;typeof q=="function"&&this.on(O.ERROR,q,o)}createController(a,t){if(a){const n=new a(this);return t&&t.push(n),n}return null}on(a,t,n=this){this._emitter.on(a,t,n)}once(a,t,n=this){this._emitter.once(a,t,n)}removeAllListeners(a){this._emitter.removeAllListeners(a)}off(a,t,n=this,i){this._emitter.off(a,t,n,i)}listeners(a){return this._emitter.listeners(a)}emit(a,t,n){return this._emitter.emit(a,t,n)}trigger(a,t){if(this.config.debug)return this.emit(a,a,t);try{return this.emit(a,a,t)}catch(n){if(se.error("An internal error happened while handling event "+a+'. Error message: "'+n.message+'". Here is a stacktrace:',n),!this.triggeringException){this.triggeringException=!0;const i=a===O.ERROR;this.trigger(O.ERROR,{type:na.OTHER_ERROR,details:ce.INTERNAL_EXCEPTION,fatal:i,event:a,error:n}),this.triggeringException=!1}}return!1}listenerCount(a){return this._emitter.listenerCount(a)}destroy(){se.log("destroy"),this.trigger(O.DESTROYING,void 0),this.detachMedia(),this.removeAllListeners(),this._autoLevelCapping=-1,this.url=null,this.networkControllers.forEach(t=>t.destroy()),this.networkControllers.length=0,this.coreComponents.forEach(t=>t.destroy()),this.coreComponents.length=0;const a=this.config;a.xhrSetup=a.fetchSetup=void 0,this.userConfig=null}attachMedia(a){se.log("attachMedia"),this._media=a,this.trigger(O.MEDIA_ATTACHING,{media:a})}detachMedia(){se.log("detachMedia"),this.trigger(O.MEDIA_DETACHING,void 0),this._media=null}loadSource(a){this.stopLoad();const t=this.media,n=this.url,i=this.url=ix.buildAbsoluteURL(self.location.href,a,{alwaysNormalize:!0});this._autoLevelCapping=-1,this._maxHdcpLevel=null,se.log(`loadSource:${i}`),t&&n&&(n!==i||this.bufferController.hasSourceTypes())&&(this.detachMedia(),this.attachMedia(t)),this.trigger(O.MANIFEST_LOADING,{url:a})}startLoad(a=-1){se.log(`startLoad(${a})`),this.started=!0,this.networkControllers.forEach(t=>{t.startLoad(a)})}stopLoad(){se.log("stopLoad"),this.started=!1,this.networkControllers.forEach(a=>{a.stopLoad()})}resumeBuffering(){this.started&&this.networkControllers.forEach(a=>{"fragmentLoader"in a&&a.startLoad(-1)})}pauseBuffering(){this.networkControllers.forEach(a=>{"fragmentLoader"in a&&a.stopLoad()})}swapAudioCodec(){se.log("swapAudioCodec"),this.streamController.swapAudioCodec()}recoverMediaError(){se.log("recoverMediaError");const a=this._media;this.detachMedia(),a&&this.attachMedia(a)}removeLevel(a){this.levelController.removeLevel(a)}get levels(){const a=this.levelController.levels;return a||[]}get currentLevel(){return this.streamController.currentLevel}set currentLevel(a){se.log(`set currentLevel:${a}`),this.levelController.manualLevel=a,this.streamController.immediateLevelSwitch()}get nextLevel(){return this.streamController.nextLevel}set nextLevel(a){se.log(`set nextLevel:${a}`),this.levelController.manualLevel=a,this.streamController.nextLevelSwitch()}get loadLevel(){return this.levelController.level}set loadLevel(a){se.log(`set loadLevel:${a}`),this.levelController.manualLevel=a}get nextLoadLevel(){return this.levelController.nextLoadLevel}set nextLoadLevel(a){this.levelController.nextLoadLevel=a}get firstLevel(){return Math.max(this.levelController.firstLevel,this.minAutoLevel)}set firstLevel(a){se.log(`set firstLevel:${a}`),this.levelController.firstLevel=a}get startLevel(){const a=this.levelController.startLevel;return a===-1&&this.abrController.forcedAutoLevel>-1?this.abrController.forcedAutoLevel:a}set startLevel(a){se.log(`set startLevel:${a}`),a!==-1&&(a=Math.max(a,this.minAutoLevel)),this.levelController.startLevel=a}get capLevelToPlayerSize(){return this.config.capLevelToPlayerSize}set capLevelToPlayerSize(a){const t=!!a;t!==this.config.capLevelToPlayerSize&&(t?this.capLevelController.startCapping():(this.capLevelController.stopCapping(),this.autoLevelCapping=-1,this.streamController.nextLevelSwitch()),this.config.capLevelToPlayerSize=t)}get autoLevelCapping(){return this._autoLevelCapping}get bandwidthEstimate(){const{bwEstimator:a}=this.abrController;return a?a.getEstimate():NaN}set bandwidthEstimate(a){this.abrController.resetEstimator(a)}get ttfbEstimate(){const{bwEstimator:a}=this.abrController;return a?a.getEstimateTTFB():NaN}set autoLevelCapping(a){this._autoLevelCapping!==a&&(se.log(`set autoLevelCapping:${a}`),this._autoLevelCapping=a,this.levelController.checkMaxAutoUpdated())}get maxHdcpLevel(){return this._maxHdcpLevel}set maxHdcpLevel(a){nDe(a)&&this._maxHdcpLevel!==a&&(this._maxHdcpLevel=a,this.levelController.checkMaxAutoUpdated())}get autoLevelEnabled(){return this.levelController.manualLevel===-1}get manualLevel(){return this.levelController.manualLevel}get minAutoLevel(){const{levels:a,config:{minAutoBitrate:t}}=this;if(!a)return 0;const n=a.length;for(let i=0;i<n;i++)if(a[i].maxBitrate>=t)return i;return 0}get maxAutoLevel(){const{levels:a,autoLevelCapping:t,maxHdcpLevel:n}=this;let i;if(t===-1&&a!=null&&a.length?i=a.length-1:i=t,n)for(let r=i;r--;){const s=a[r].attrs["HDCP-LEVEL"];if(s&&s<=n)return r}return i}get firstAutoLevel(){return this.abrController.firstAutoLevel}get nextAutoLevel(){return this.abrController.nextAutoLevel}set nextAutoLevel(a){this.abrController.nextAutoLevel=a}get playingDate(){return this.streamController.currentProgramDateTime}get mainForwardBufferInfo(){return this.streamController.getMainFwdBufferInfo()}setAudioOption(a){var t;return(t=this.audioTrackController)==null?void 0:t.setAudioOption(a)}setSubtitleOption(a){var t;return(t=this.subtitleTrackController)==null||t.setSubtitleOption(a),null}get allAudioTracks(){const a=this.audioTrackController;return a?a.allAudioTracks:[]}get audioTracks(){const a=this.audioTrackController;return a?a.audioTracks:[]}get audioTrack(){const a=this.audioTrackController;return a?a.audioTrack:-1}set audioTrack(a){const t=this.audioTrackController;t&&(t.audioTrack=a)}get allSubtitleTracks(){const a=this.subtitleTrackController;return a?a.allSubtitleTracks:[]}get subtitleTracks(){const a=this.subtitleTrackController;return a?a.subtitleTracks:[]}get subtitleTrack(){const a=this.subtitleTrackController;return a?a.subtitleTrack:-1}get media(){return this._media}set subtitleTrack(a){const t=this.subtitleTrackController;t&&(t.subtitleTrack=a)}get subtitleDisplay(){const a=this.subtitleTrackController;return a?a.subtitleDisplay:!1}set subtitleDisplay(a){const t=this.subtitleTrackController;t&&(t.subtitleDisplay=a)}get lowLatencyMode(){return this.config.lowLatencyMode}set lowLatencyMode(a){this.config.lowLatencyMode=a}get liveSyncPosition(){return this.latencyController.liveSyncPosition}get latency(){return this.latencyController.latency}get maxLatency(){return this.latencyController.maxLatency}get targetLatency(){return this.latencyController.targetLatency}get drift(){return this.latencyController.drift}get forceStartLoad(){return this.streamController.forceStartLoad}}fg.defaultConfig=void 0;var vx=Mp(),ga=e=>Pp(e,vx),Dx=Mp();ga.write=e=>Pp(e,Dx);var U9=Mp();ga.onStart=e=>Pp(e,U9);var xx=Mp();ga.onFrame=e=>Pp(e,xx);var Ex=Mp();ga.onFinish=e=>Pp(e,Ex);var Lg=[];ga.setTimeout=(e,a)=>{const t=ga.now()+a,n=()=>{const r=Lg.findIndex(s=>s.cancel==n);~r&&Lg.splice(r,1),Mu-=~r?1:0},i={time:t,handler:e,cancel:n};return Lg.splice(iz(t),0,i),Mu+=1,rz(),i};var iz=e=>~(~Lg.findIndex(a=>a.time>e)||~Lg.length);ga.cancel=e=>{U9.delete(e),xx.delete(e),Ex.delete(e),vx.delete(e),Dx.delete(e)};ga.sync=e=>{d3=!0,ga.batchedUpdates(e),d3=!1};ga.throttle=e=>{let a;function t(){try{e(...a)}finally{a=null}}function n(...i){a=i,ga.onStart(t)}return n.handler=e,n.cancel=()=>{U9.delete(t),a=null},n};var kx=typeof window<"u"?window.requestAnimationFrame:()=>{};ga.use=e=>kx=e;ga.now=typeof performance<"u"?()=>performance.now():Date.now;ga.batchedUpdates=e=>e();ga.catch=console.error;ga.frameLoop="always";ga.advance=()=>{ga.frameLoop!=="demand"?console.warn("Cannot call the manual advancement of rafz whilst frameLoop is not set as demand"):uz()};var Pu=-1,Mu=0,d3=!1;function Pp(e,a){d3?(a.delete(e),e(0)):(a.add(e),rz())}function rz(){Pu<0&&(Pu=0,ga.frameLoop!=="demand"&&kx(sz))}function h5e(){Pu=-1}function sz(){~Pu&&(kx(sz),ga.batchedUpdates(uz))}function uz(){const e=Pu;Pu=ga.now();const a=iz(Pu);if(a&&(oz(Lg.splice(0,a),t=>t.handler()),Mu-=a),!Mu){h5e();return}U9.flush(),vx.flush(e?Math.min(64,Pu-e):16.667),xx.flush(),Dx.flush(),Ex.flush()}function Mp(){let e=new Set,a=e;return{add(t){Mu+=a==e&&!e.has(t)?1:0,e.add(t)},delete(t){return Mu-=a==e&&e.has(t)?1:0,e.delete(t)},flush(t){a.size&&(e=new Set,Mu-=a.size,oz(a,n=>n(t)&&e.add(n)),Mu+=e.size,a=e)}}}function oz(e,a){e.forEach(t=>{try{a(t)}catch(n){ga.catch(n)}})}var m5e=Object.defineProperty,y5e=(e,a)=>{for(var t in a)m5e(e,t,{get:a[t],enumerable:!0})},Ir={};y5e(Ir,{assign:()=>T5e,colors:()=>Yu,createStringInterpolator:()=>wx,skipAnimation:()=>gz,to:()=>lz,willAdvance:()=>_x});function c3(){}var b5e=(e,a,t)=>Object.defineProperty(e,a,{value:t,writable:!0,configurable:!0}),_e={arr:Array.isArray,obj:e=>!!e&&e.constructor.name==="Object",fun:e=>typeof e=="function",str:e=>typeof e=="string",num:e=>typeof e=="number",und:e=>e===void 0};function Ms(e,a){if(_e.arr(e)){if(!_e.arr(a)||e.length!==a.length)return!1;for(let t=0;t<e.length;t++)if(e[t]!==a[t])return!1;return!0}return e===a}var xa=(e,a)=>e.forEach(a);function hs(e,a,t){if(_e.arr(e)){for(let n=0;n<e.length;n++)a.call(t,e[n],`${n}`);return}for(const n in e)e.hasOwnProperty(n)&&a.call(t,e[n],n)}var ki=e=>_e.und(e)?[]:_e.arr(e)?e:[e];function tc(e,a){if(e.size){const t=Array.from(e);e.clear(),xa(t,a)}}var k0=(e,...a)=>tc(e,t=>t(...a)),Cx=()=>typeof window>"u"||!window.navigator||/ServerSideRendering|^Deno\//.test(window.navigator.userAgent),wx,lz,Yu=null,gz=!1,_x=c3,T5e=e=>{e.to&&(lz=e.to),e.now&&(ga.now=e.now),e.colors!==void 0&&(Yu=e.colors),e.skipAnimation!=null&&(gz=e.skipAnimation),e.createStringInterpolator&&(wx=e.createStringInterpolator),e.requestAnimationFrame&&ga.use(e.requestAnimationFrame),e.batchedUpdates&&(ga.batchedUpdates=e.batchedUpdates),e.willAdvance&&(_x=e.willAdvance),e.frameLoop&&(ga.frameLoop=e.frameLoop)},nc=new Set,Yi=[],lS=[],ny=0,j9={get idle(){return!nc.size&&!Yi.length},start(e){ny>e.priority?(nc.add(e),ga.onStart(S5e)):(dz(e),ga(p3))},advance:p3,sort(e){if(ny)ga.onFrame(()=>j9.sort(e));else{const a=Yi.indexOf(e);~a&&(Yi.splice(a,1),cz(e))}},clear(){Yi=[],nc.clear()}};function S5e(){nc.forEach(dz),nc.clear(),ga(p3)}function dz(e){Yi.includes(e)||cz(e)}function cz(e){Yi.splice(A5e(Yi,a=>a.priority>e.priority),0,e)}function p3(e){const a=lS;for(let t=0;t<Yi.length;t++){const n=Yi[t];ny=n.priority,n.idle||(_x(n),n.advance(e),n.idle||a.push(n))}return ny=0,lS=Yi,lS.length=0,Yi=a,Yi.length>0}function A5e(e,a){const t=e.findIndex(a);return t<0?e.length:t}var v5e=(e,a,t)=>Math.min(Math.max(t,e),a),D5e={transparent:0,aliceblue:4042850303,antiquewhite:4209760255,aqua:16777215,aquamarine:2147472639,azure:4043309055,beige:4126530815,bisque:4293182719,black:255,blanchedalmond:4293643775,blue:65535,blueviolet:2318131967,brown:2771004159,burlywood:3736635391,burntsienna:3934150143,cadetblue:1604231423,chartreuse:2147418367,chocolate:3530104575,coral:4286533887,cornflowerblue:1687547391,cornsilk:4294499583,crimson:3692313855,cyan:16777215,darkblue:35839,darkcyan:9145343,darkgoldenrod:3095792639,darkgray:2846468607,darkgreen:6553855,darkgrey:2846468607,darkkhaki:3182914559,darkmagenta:2332068863,darkolivegreen:1433087999,darkorange:4287365375,darkorchid:2570243327,darkred:2332033279,darksalmon:3918953215,darkseagreen:2411499519,darkslateblue:1211993087,darkslategray:793726975,darkslategrey:793726975,darkturquoise:13554175,darkviolet:2483082239,deeppink:4279538687,deepskyblue:12582911,dimgray:1768516095,dimgrey:1768516095,dodgerblue:512819199,firebrick:2988581631,floralwhite:4294635775,forestgreen:579543807,fuchsia:4278255615,gainsboro:3705462015,ghostwhite:4177068031,gold:4292280575,goldenrod:3668254975,gray:2155905279,green:8388863,greenyellow:2919182335,grey:2155905279,honeydew:4043305215,hotpink:4285117695,indianred:3445382399,indigo:1258324735,ivory:4294963455,khaki:4041641215,lavender:3873897215,lavenderblush:4293981695,lawngreen:2096890111,lemonchiffon:4294626815,lightblue:2916673279,lightcoral:4034953471,lightcyan:3774873599,lightgoldenrodyellow:4210742015,lightgray:3553874943,lightgreen:2431553791,lightgrey:3553874943,lightpink:4290167295,lightsalmon:4288707327,lightseagreen:548580095,lightskyblue:2278488831,lightslategray:2005441023,lightslategrey:2005441023,lightsteelblue:2965692159,lightyellow:4294959359,lime:16711935,limegreen:852308735,linen:4210091775,magenta:4278255615,maroon:2147483903,mediumaquamarine:1724754687,mediumblue:52735,mediumorchid:3126187007,mediumpurple:2473647103,mediumseagreen:1018393087,mediumslateblue:2070474495,mediumspringgreen:16423679,mediumturquoise:1221709055,mediumvioletred:3340076543,midnightblue:421097727,mintcream:4127193855,mistyrose:4293190143,moccasin:4293178879,navajowhite:4292783615,navy:33023,oldlace:4260751103,olive:2155872511,olivedrab:1804477439,orange:4289003775,orangered:4282712319,orchid:3664828159,palegoldenrod:4008225535,palegreen:2566625535,paleturquoise:2951671551,palevioletred:3681588223,papayawhip:4293907967,peachpuff:4292524543,peru:3448061951,pink:4290825215,plum:3718307327,powderblue:2967529215,purple:2147516671,rebeccapurple:1714657791,red:4278190335,rosybrown:3163525119,royalblue:1097458175,saddlebrown:2336560127,salmon:4202722047,sandybrown:4104413439,seagreen:780883967,seashell:4294307583,sienna:2689740287,silver:3233857791,skyblue:2278484991,slateblue:1784335871,slategray:1887473919,slategrey:1887473919,snow:4294638335,springgreen:16744447,steelblue:1182971135,tan:3535047935,teal:8421631,thistle:3636451583,tomato:4284696575,turquoise:1088475391,violet:4001558271,wheat:4125012991,white:4294967295,whitesmoke:4126537215,yellow:4294902015,yellowgreen:2597139199},kr="[-+]?\\d*\\.?\\d+",iy=kr+"%";function z9(...e){return"\\(\\s*("+e.join(")\\s*,\\s*(")+")\\s*\\)"}var x5e=new RegExp("rgb"+z9(kr,kr,kr)),E5e=new RegExp("rgba"+z9(kr,kr,kr,kr)),k5e=new RegExp("hsl"+z9(kr,iy,iy)),C5e=new RegExp("hsla"+z9(kr,iy,iy,kr)),w5e=/^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,_5e=/^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,I5e=/^#([0-9a-fA-F]{6})$/,N5e=/^#([0-9a-fA-F]{8})$/;function L5e(e){let a;return typeof e=="number"?e>>>0===e&&e>=0&&e<=4294967295?e:null:(a=I5e.exec(e))?parseInt(a[1]+"ff",16)>>>0:Yu&&Yu[e]!==void 0?Yu[e]:(a=x5e.exec(e))?(Hl(a[1])<<24|Hl(a[2])<<16|Hl(a[3])<<8|255)>>>0:(a=E5e.exec(e))?(Hl(a[1])<<24|Hl(a[2])<<16|Hl(a[3])<<8|gI(a[4]))>>>0:(a=w5e.exec(e))?parseInt(a[1]+a[1]+a[2]+a[2]+a[3]+a[3]+"ff",16)>>>0:(a=N5e.exec(e))?parseInt(a[1],16)>>>0:(a=_5e.exec(e))?parseInt(a[1]+a[1]+a[2]+a[2]+a[3]+a[3]+a[4]+a[4],16)>>>0:(a=k5e.exec(e))?(oI(lI(a[1]),d2(a[2]),d2(a[3]))|255)>>>0:(a=C5e.exec(e))?(oI(lI(a[1]),d2(a[2]),d2(a[3]))|gI(a[4]))>>>0:null}function gS(e,a,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?e+(a-e)*6*t:t<1/2?a:t<2/3?e+(a-e)*(2/3-t)*6:e}function oI(e,a,t){const n=t<.5?t*(1+a):t+a-t*a,i=2*t-n,r=gS(i,n,e+1/3),s=gS(i,n,e),u=gS(i,n,e-1/3);return Math.round(r*255)<<24|Math.round(s*255)<<16|Math.round(u*255)<<8}function Hl(e){const a=parseInt(e,10);return a<0?0:a>255?255:a}function lI(e){return(parseFloat(e)%360+360)%360/360}function gI(e){const a=parseFloat(e);return a<0?0:a>1?255:Math.round(a*255)}function d2(e){const a=parseFloat(e);return a<0?0:a>100?1:a/100}function dI(e){let a=L5e(e);if(a===null)return e;a=a||0;const t=(a&4278190080)>>>24,n=(a&16711680)>>>16,i=(a&65280)>>>8,r=(a&255)/255;return`rgba(${t}, ${n}, ${i}, ${r})`}var Qc=(e,a,t)=>{if(_e.fun(e))return e;if(_e.arr(e))return Qc({range:e,output:a,extrapolate:t});if(_e.str(e.output[0]))return wx(e);const n=e,i=n.output,r=n.range||[0,1],s=n.extrapolateLeft||n.extrapolate||"extend",u=n.extrapolateRight||n.extrapolate||"extend",o=n.easing||(l=>l);return l=>{const g=P5e(l,r);return R5e(l,r[g],r[g+1],i[g],i[g+1],o,s,u,n.map)}};function R5e(e,a,t,n,i,r,s,u,o){let l=o?o(e):e;if(l<a){if(s==="identity")return l;s==="clamp"&&(l=a)}if(l>t){if(u==="identity")return l;u==="clamp"&&(l=t)}return n===i?n:a===t?e<=a?n:i:(a===-1/0?l=-l:t===1/0?l=l-a:l=(l-a)/(t-a),l=r(l),n===-1/0?l=-l:i===1/0?l=l+n:l=l*(i-n)+n,l)}function P5e(e,a){for(var t=1;t<a.length-1&&!(a[t]>=e);++t);return t-1}var M5e=(e,a="end")=>t=>{t=a==="end"?Math.min(t,.999):Math.max(t,.001);const n=t*e,i=a==="end"?Math.floor(n):Math.ceil(n);return v5e(0,1,i/e)},ry=1.70158,c2=ry*1.525,cI=ry+1,pI=2*Math.PI/3,fI=2*Math.PI/4.5,p2=e=>e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375,O5e={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>1-(1-e)*(1-e),easeInOutQuad:e=>e<.5?2*e*e:1-Math.pow(-2*e+2,2)/2,easeInCubic:e=>e*e*e,easeOutCubic:e=>1-Math.pow(1-e,3),easeInOutCubic:e=>e<.5?4*e*e*e:1-Math.pow(-2*e+2,3)/2,easeInQuart:e=>e*e*e*e,easeOutQuart:e=>1-Math.pow(1-e,4),easeInOutQuart:e=>e<.5?8*e*e*e*e:1-Math.pow(-2*e+2,4)/2,easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>1-Math.pow(1-e,5),easeInOutQuint:e=>e<.5?16*e*e*e*e*e:1-Math.pow(-2*e+2,5)/2,easeInSine:e=>1-Math.cos(e*Math.PI/2),easeOutSine:e=>Math.sin(e*Math.PI/2),easeInOutSine:e=>-(Math.cos(Math.PI*e)-1)/2,easeInExpo:e=>e===0?0:Math.pow(2,10*e-10),easeOutExpo:e=>e===1?1:1-Math.pow(2,-10*e),easeInOutExpo:e=>e===0?0:e===1?1:e<.5?Math.pow(2,20*e-10)/2:(2-Math.pow(2,-20*e+10))/2,easeInCirc:e=>1-Math.sqrt(1-Math.pow(e,2)),easeOutCirc:e=>Math.sqrt(1-Math.pow(e-1,2)),easeInOutCirc:e=>e<.5?(1-Math.sqrt(1-Math.pow(2*e,2)))/2:(Math.sqrt(1-Math.pow(-2*e+2,2))+1)/2,easeInBack:e=>cI*e*e*e-ry*e*e,easeOutBack:e=>1+cI*Math.pow(e-1,3)+ry*Math.pow(e-1,2),easeInOutBack:e=>e<.5?Math.pow(2*e,2)*((c2+1)*2*e-c2)/2:(Math.pow(2*e-2,2)*((c2+1)*(e*2-2)+c2)+2)/2,easeInElastic:e=>e===0?0:e===1?1:-Math.pow(2,10*e-10)*Math.sin((e*10-10.75)*pI),easeOutElastic:e=>e===0?0:e===1?1:Math.pow(2,-10*e)*Math.sin((e*10-.75)*pI)+1,easeInOutElastic:e=>e===0?0:e===1?1:e<.5?-(Math.pow(2,20*e-10)*Math.sin((20*e-11.125)*fI))/2:Math.pow(2,-20*e+10)*Math.sin((20*e-11.125)*fI)/2+1,easeInBounce:e=>1-p2(1-e),easeOutBounce:p2,easeInOutBounce:e=>e<.5?(1-p2(1-2*e))/2:(1+p2(2*e-1))/2,steps:M5e},Zc=Symbol.for("FluidValue.get"),rd=Symbol.for("FluidValue.observers"),Wi=e=>!!(e&&e[Zc]),Jn=e=>e&&e[Zc]?e[Zc]():e,hI=e=>e[rd]||null;function B5e(e,a){e.eventObserved?e.eventObserved(a):e(a)}function Jc(e,a){const t=e[rd];t&&t.forEach(n=>{B5e(n,a)})}var pz=class{constructor(e){if(!e&&!(e=this.get))throw Error("Unknown getter");F5e(this,e)}},F5e=(e,a)=>fz(e,Zc,a);function Ld(e,a){if(e[Zc]){let t=e[rd];t||fz(e,rd,t=new Set),t.has(a)||(t.add(a),e.observerAdded&&e.observerAdded(t.size,a))}return a}function ep(e,a){const t=e[rd];if(t&&t.has(a)){const n=t.size-1;n?t.delete(a):e[rd]=null,e.observerRemoved&&e.observerRemoved(n,a)}}var fz=(e,a,t)=>Object.defineProperty(e,a,{value:t,writable:!0,configurable:!0}),nh=/[+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,U5e=/(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d\.]+%?\))/gi,mI=new RegExp(`(${nh.source})(%|[a-z]+)`,"i"),j5e=/rgba\(([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+)\)/gi,$9=/var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/,hz=e=>{const[a,t]=z5e(e);if(!a||Cx())return e;const n=window.getComputedStyle(document.documentElement).getPropertyValue(a);if(n)return n.trim();if(t&&t.startsWith("--")){const i=window.getComputedStyle(document.documentElement).getPropertyValue(t);return i||e}else{if(t&&$9.test(t))return hz(t);if(t)return t}return e},z5e=e=>{const a=$9.exec(e);if(!a)return[,];const[,t,n]=a;return[t,n]},dS,$5e=(e,a,t,n,i)=>`rgba(${Math.round(a)}, ${Math.round(t)}, ${Math.round(n)}, ${i})`,mz=e=>{dS||(dS=Yu?new RegExp(`(${Object.keys(Yu).join("|")})(?!\\w)`,"g"):/^\b$/);const a=e.output.map(r=>Jn(r).replace($9,hz).replace(U5e,dI).replace(dS,dI)),t=a.map(r=>r.match(nh).map(Number)),i=t[0].map((r,s)=>t.map(u=>{if(!(s in u))throw Error('The arity of each "output" value must be equal');return u[s]})).map(r=>Qc({...e,output:r}));return r=>{var o;const s=!mI.test(a[0])&&((o=a.find(l=>mI.test(l)))==null?void 0:o.replace(nh,""));let u=0;return a[0].replace(nh,()=>`${i[u++](r)}${s||""}`).replace(j5e,$5e)}},Ix="react-spring: ",yz=e=>{const a=e;let t=!1;if(typeof a!="function")throw new TypeError(`${Ix}once requires a function parameter`);return(...n)=>{t||(a(...n),t=!0)}},K5e=yz(console.warn);function H5e(){K5e(`${Ix}The "interpolate" function is deprecated in v9 (use "to" instead)`)}var q5e=yz(console.warn);function V5e(){q5e(`${Ix}Directly calling start instead of using the api object is deprecated in v9 (use ".start" instead), this will be removed in later 0.X.0 versions`)}function K9(e){return _e.str(e)&&(e[0]=="#"||/\d/.test(e)||!Cx()&&$9.test(e)||e in(Yu||{}))}var Nx=Cx()?X.useEffect:X.useLayoutEffect,G5e=()=>{const e=X.useRef(!1);return Nx(()=>(e.current=!0,()=>{e.current=!1}),[]),e};function bz(){const e=X.useState()[1],a=G5e();return()=>{a.current&&e(Math.random())}}function W5e(e,a){const[t]=X.useState(()=>({inputs:a,result:e()})),n=X.useRef(),i=n.current;let r=i;return r?a&&r.inputs&&Y5e(a,r.inputs)||(r={inputs:a,result:e()}):r=t,X.useEffect(()=>{n.current=r,i==t&&(t.inputs=t.result=void 0)},[r]),r.result}function Y5e(e,a){if(e.length!==a.length)return!1;for(let t=0;t<e.length;t++)if(e[t]!==a[t])return!1;return!0}var Tz=e=>X.useEffect(e,X5e),X5e=[];function yI(e){const a=X.useRef();return X.useEffect(()=>{a.current=e}),a.current}var ap=Symbol.for("Animated:node"),Q5e=e=>!!e&&e[ap]===e,Gr=e=>e&&e[ap],Lx=(e,a)=>b5e(e,ap,a),H9=e=>e&&e[ap]&&e[ap].getPayload(),Sz=class{constructor(){Lx(this,this)}getPayload(){return this.payload||[]}},Op=class extends Sz{constructor(e){super(),this._value=e,this.done=!0,this.durationProgress=0,_e.num(this._value)&&(this.lastPosition=this._value)}static create(e){return new Op(e)}getPayload(){return[this]}getValue(){return this._value}setValue(e,a){return _e.num(e)&&(this.lastPosition=e,a&&(e=Math.round(e/a)*a,this.done&&(this.lastPosition=e))),this._value===e?!1:(this._value=e,!0)}reset(){const{done:e}=this;this.done=!1,_e.num(this._value)&&(this.elapsedTime=0,this.durationProgress=0,this.lastPosition=this._value,e&&(this.lastVelocity=null),this.v0=null)}},tp=class extends Op{constructor(e){super(0),this._string=null,this._toString=Qc({output:[e,e]})}static create(e){return new tp(e)}getValue(){const e=this._string;return e??(this._string=this._toString(this._value))}setValue(e){if(_e.str(e)){if(e==this._string)return!1;this._string=e,this._value=1}else if(super.setValue(e))this._string=null;else return!1;return!0}reset(e){e&&(this._toString=Qc({output:[this.getValue(),e]})),this._value=0,super.reset()}},sy={dependencies:null},q9=class extends Sz{constructor(e){super(),this.source=e,this.setValue(e)}getValue(e){const a={};return hs(this.source,(t,n)=>{Q5e(t)?a[n]=t.getValue(e):Wi(t)?a[n]=Jn(t):e||(a[n]=t)}),a}setValue(e){this.source=e,this.payload=this._makePayload(e)}reset(){this.payload&&xa(this.payload,e=>e.reset())}_makePayload(e){if(e){const a=new Set;return hs(e,this._addToPayload,a),Array.from(a)}}_addToPayload(e){sy.dependencies&&Wi(e)&&sy.dependencies.add(e);const a=H9(e);a&&xa(a,t=>this.add(t))}},Az=class extends q9{constructor(e){super(e)}static create(e){return new Az(e)}getValue(){return this.source.map(e=>e.getValue())}setValue(e){const a=this.getPayload();return e.length==a.length?a.map((t,n)=>t.setValue(e[n])).some(Boolean):(super.setValue(e.map(Z5e)),!0)}};function Z5e(e){return(K9(e)?tp:Op).create(e)}function f3(e){const a=Gr(e);return a?a.constructor:_e.arr(e)?Az:K9(e)?tp:Op}var bI=(e,a)=>{const t=!_e.fun(e)||e.prototype&&e.prototype.isReactComponent;return X.forwardRef((n,i)=>{const r=X.useRef(null),s=t&&X.useCallback(f=>{r.current=aEe(i,f)},[i]),[u,o]=eEe(n,a),l=bz(),g=()=>{const f=r.current;if(t&&!f)return;(f?a.applyAnimatedValues(f,u.getValue(!0)):!1)===!1&&l()},d=new J5e(g,o),c=X.useRef();Nx(()=>(c.current=d,xa(o,f=>Ld(f,d)),()=>{c.current&&(xa(c.current.deps,f=>ep(f,c.current)),ga.cancel(c.current.update))})),X.useEffect(g,[]),Tz(()=>()=>{const f=c.current;xa(f.deps,h=>ep(h,f))});const p=a.getComponentProps(u.getValue());return X.createElement(e,{...p,ref:s})})},J5e=class{constructor(e,a){this.update=e,this.deps=a}eventObserved(e){e.type=="change"&&ga.write(this.update)}};function eEe(e,a){const t=new Set;return sy.dependencies=t,e.style&&(e={...e,style:a.createAnimatedStyle(e.style)}),e=new q9(e),sy.dependencies=null,[e,t]}function aEe(e,a){return e&&(_e.fun(e)?e(a):e.current=a),a}var TI=Symbol.for("AnimatedComponent"),tEe=(e,{applyAnimatedValues:a=()=>!1,createAnimatedStyle:t=i=>new q9(i),getComponentProps:n=i=>i}={})=>{const i={applyAnimatedValues:a,createAnimatedStyle:t,getComponentProps:n},r=s=>{const u=SI(s)||"Anonymous";return _e.str(s)?s=r[s]||(r[s]=bI(s,i)):s=s[TI]||(s[TI]=bI(s,i)),s.displayName=`Animated(${u})`,s};return hs(e,(s,u)=>{_e.arr(e)&&(u=SI(s)),r[u]=r(s)}),{animated:r}},SI=e=>_e.str(e)?e:e&&_e.str(e.displayName)?e.displayName:_e.fun(e)&&e.name||null;function Oo(e,...a){return _e.fun(e)?e(...a):e}var ic=(e,a)=>e===!0||!!(a&&e&&(_e.fun(e)?e(a):ki(e).includes(a))),vz=(e,a)=>_e.obj(e)?a&&e[a]:e,Dz=(e,a)=>e.default===!0?e[a]:e.default?e.default[a]:void 0,nEe=e=>e,Rx=(e,a=nEe)=>{let t=iEe;e.default&&e.default!==!0&&(e=e.default,t=Object.keys(e));const n={};for(const i of t){const r=a(e[i],i);_e.und(r)||(n[i]=r)}return n},iEe=["config","onProps","onStart","onChange","onPause","onResume","onRest"],rEe={config:1,from:1,to:1,ref:1,loop:1,reset:1,pause:1,cancel:1,reverse:1,immediate:1,default:1,delay:1,onProps:1,onStart:1,onChange:1,onPause:1,onResume:1,onRest:1,onResolve:1,items:1,trail:1,sort:1,expires:1,initial:1,enter:1,update:1,leave:1,children:1,onDestroyed:1,keys:1,callId:1,parentId:1};function sEe(e){const a={};let t=0;if(hs(e,(n,i)=>{rEe[i]||(a[i]=n,t++)}),t)return a}function xz(e){const a=sEe(e);if(a){const t={to:a};return hs(e,(n,i)=>i in a||(t[i]=n)),t}return{...e}}function np(e){return e=Jn(e),_e.arr(e)?e.map(np):K9(e)?Ir.createStringInterpolator({range:[0,1],output:[e,e]})(1):e}function uEe(e){for(const a in e)return!0;return!1}function h3(e){return _e.fun(e)||_e.arr(e)&&_e.obj(e[0])}function oEe(e,a){var t;(t=e.ref)==null||t.delete(e),a==null||a.delete(e)}function lEe(e,a){var t;a&&e.ref!==a&&((t=e.ref)==null||t.delete(e),a.add(e),e.ref=a)}var gEe={default:{tension:170,friction:26},gentle:{tension:120,friction:14},wobbly:{tension:180,friction:12},stiff:{tension:210,friction:20},slow:{tension:280,friction:60},molasses:{tension:280,friction:120}},m3={...gEe.default,mass:1,damping:1,easing:O5e.linear,clamp:!1},dEe=class{constructor(){this.velocity=0,Object.assign(this,m3)}};function cEe(e,a,t){t&&(t={...t},AI(t,a),a={...t,...a}),AI(e,a),Object.assign(e,a);for(const s in m3)e[s]==null&&(e[s]=m3[s]);let{frequency:n,damping:i}=e;const{mass:r}=e;return _e.und(n)||(n<.01&&(n=.01),i<0&&(i=0),e.tension=Math.pow(2*Math.PI/n,2)*r,e.friction=4*Math.PI*i*r/n),e}function AI(e,a){if(!_e.und(a.decay))e.duration=void 0;else{const t=!_e.und(a.tension)||!_e.und(a.friction);(t||!_e.und(a.frequency)||!_e.und(a.damping)||!_e.und(a.mass))&&(e.duration=void 0,e.decay=void 0),t&&(e.frequency=void 0)}}var vI=[],pEe=class{constructor(){this.changed=!1,this.values=vI,this.toValues=null,this.fromValues=vI,this.config=new dEe,this.immediate=!1}};function Ez(e,{key:a,props:t,defaultProps:n,state:i,actions:r}){return new Promise((s,u)=>{let o,l,g=ic(t.cancel??(n==null?void 0:n.cancel),a);if(g)p();else{_e.und(t.pause)||(i.paused=ic(t.pause,a));let f=n==null?void 0:n.pause;f!==!0&&(f=i.paused||ic(f,a)),o=Oo(t.delay||0,a),f?(i.resumeQueue.add(c),r.pause()):(r.resume(),c())}function d(){i.resumeQueue.add(c),i.timeouts.delete(l),l.cancel(),o=l.time-ga.now()}function c(){o>0&&!Ir.skipAnimation?(i.delayed=!0,l=ga.setTimeout(p,o),i.pauseQueue.add(d),i.timeouts.add(l)):p()}function p(){i.delayed&&(i.delayed=!1),i.pauseQueue.delete(d),i.timeouts.delete(l),e<=(i.cancelId||0)&&(g=!0);try{r.start({...t,callId:e,cancel:g},s)}catch(f){u(f)}}})}var Px=(e,a)=>a.length==1?a[0]:a.some(t=>t.cancelled)?Rg(e.get()):a.every(t=>t.noop)?kz(e.get()):Ar(e.get(),a.every(t=>t.finished)),kz=e=>({value:e,noop:!0,finished:!0,cancelled:!1}),Ar=(e,a,t=!1)=>({value:e,finished:a,cancelled:t}),Rg=e=>({value:e,cancelled:!0,finished:!1});function Cz(e,a,t,n){const{callId:i,parentId:r,onRest:s}=a,{asyncTo:u,promise:o}=t;return!r&&e===u&&!a.reset?o:t.promise=(async()=>{t.asyncId=i,t.asyncTo=e;const l=Rx(a,(y,b)=>b==="onRest"?void 0:y);let g,d;const c=new Promise((y,b)=>(g=y,d=b)),p=y=>{const b=i<=(t.cancelId||0)&&Rg(n)||i!==t.asyncId&&Ar(n,!1);if(b)throw y.result=b,d(y),y},f=(y,b)=>{const m=new DI,T=new xI;return(async()=>{if(Ir.skipAnimation)throw ip(t),T.result=Ar(n,!1),d(T),T;p(m);const A=_e.obj(y)?{...y}:{...b,to:y};A.parentId=i,hs(l,(D,k)=>{_e.und(A[k])&&(A[k]=D)});const v=await n.start(A);return p(m),t.paused&&await new Promise(D=>{t.resumeQueue.add(D)}),v})()};let h;if(Ir.skipAnimation)return ip(t),Ar(n,!1);try{let y;_e.arr(e)?y=(async b=>{for(const m of b)await f(m)})(e):y=Promise.resolve(e(f,n.stop.bind(n))),await Promise.all([y.then(g),c]),h=Ar(n.get(),!0,!1)}catch(y){if(y instanceof DI)h=y.result;else if(y instanceof xI)h=y.result;else throw y}finally{i==t.asyncId&&(t.asyncId=r,t.asyncTo=r?u:void 0,t.promise=r?o:void 0)}return _e.fun(s)&&ga.batchedUpdates(()=>{s(h,n,n.item)}),h})()}function ip(e,a){tc(e.timeouts,t=>t.cancel()),e.pauseQueue.clear(),e.resumeQueue.clear(),e.asyncId=e.asyncTo=e.promise=void 0,a&&(e.cancelId=a)}var DI=class extends Error{constructor(){super("An async animation has been interrupted. You see this error because you forgot to use `await` or `.catch(...)` on its returned promise.")}},xI=class extends Error{constructor(){super("SkipAnimationSignal")}},y3=e=>e instanceof Mx,fEe=1,Mx=class extends pz{constructor(){super(...arguments),this.id=fEe++,this._priority=0}get priority(){return this._priority}set priority(e){this._priority!=e&&(this._priority=e,this._onPriorityChange(e))}get(){const e=Gr(this);return e&&e.getValue()}to(...e){return Ir.to(this,e)}interpolate(...e){return H5e(),Ir.to(this,e)}toJSON(){return this.get()}observerAdded(e){e==1&&this._attach()}observerRemoved(e){e==0&&this._detach()}_attach(){}_detach(){}_onChange(e,a=!1){Jc(this,{type:"change",parent:this,value:e,idle:a})}_onPriorityChange(e){this.idle||j9.sort(this),Jc(this,{type:"priority",parent:this,priority:e})}},ul=Symbol.for("SpringPhase"),wz=1,b3=2,T3=4,cS=e=>(e[ul]&wz)>0,hu=e=>(e[ul]&b3)>0,g0=e=>(e[ul]&T3)>0,EI=(e,a)=>a?e[ul]|=b3|wz:e[ul]&=~b3,kI=(e,a)=>a?e[ul]|=T3:e[ul]&=~T3,hEe=class extends Mx{constructor(e,a){if(super(),this.animation=new pEe,this.defaultProps={},this._state={paused:!1,delayed:!1,pauseQueue:new Set,resumeQueue:new Set,timeouts:new Set},this._pendingCalls=new Set,this._lastCallId=0,this._lastToId=0,this._memoizedDuration=0,!_e.und(e)||!_e.und(a)){const t=_e.obj(e)?{...e}:{...a,from:e};_e.und(t.default)&&(t.default=!0),this.start(t)}}get idle(){return!(hu(this)||this._state.asyncTo)||g0(this)}get goal(){return Jn(this.animation.to)}get velocity(){const e=Gr(this);return e instanceof Op?e.lastVelocity||0:e.getPayload().map(a=>a.lastVelocity||0)}get hasAnimated(){return cS(this)}get isAnimating(){return hu(this)}get isPaused(){return g0(this)}get isDelayed(){return this._state.delayed}advance(e){let a=!0,t=!1;const n=this.animation;let{toValues:i}=n;const{config:r}=n,s=H9(n.to);!s&&Wi(n.to)&&(i=ki(Jn(n.to))),n.values.forEach((l,g)=>{if(l.done)return;const d=l.constructor==tp?1:s?s[g].lastPosition:i[g];let c=n.immediate,p=d;if(!c){if(p=l.lastPosition,r.tension<=0){l.done=!0;return}let f=l.elapsedTime+=e;const h=n.fromValues[g],y=l.v0!=null?l.v0:l.v0=_e.arr(r.velocity)?r.velocity[g]:r.velocity;let b;const m=r.precision||(h==d?.005:Math.min(1,Math.abs(d-h)*.001));if(_e.und(r.duration))if(r.decay){const T=r.decay===!0?.998:r.decay,A=Math.exp(-(1-T)*f);p=h+y/(1-T)*(1-A),c=Math.abs(l.lastPosition-p)<=m,b=y*A}else{b=l.lastVelocity==null?y:l.lastVelocity;const T=r.restVelocity||m/10,A=r.clamp?0:r.bounce,v=!_e.und(A),D=h==d?l.v0>0:h<d;let k,N=!1;const q=1,R=Math.ceil(e/q);for(let z=0;z<R&&(k=Math.abs(b)>T,!(!k&&(c=Math.abs(d-p)<=m,c)));++z){v&&(N=p==d||p>d==D,N&&(b=-b*A,p=d));const W=-r.tension*1e-6*(p-d),K=-r.friction*.001*b,P=(W+K)/r.mass;b=b+P*q,p=p+b*q}}else{let T=1;r.duration>0&&(this._memoizedDuration!==r.duration&&(this._memoizedDuration=r.duration,l.durationProgress>0&&(l.elapsedTime=r.duration*l.durationProgress,f=l.elapsedTime+=e)),T=(r.progress||0)+f/this._memoizedDuration,T=T>1?1:T<0?0:T,l.durationProgress=T),p=h+r.easing(T)*(d-h),b=(p-l.lastPosition)/e,c=T==1}l.lastVelocity=b,Number.isNaN(p)&&(console.warn("Got NaN while animating:",this),c=!0)}s&&!s[g].done&&(c=!1),c?l.done=!0:a=!1,l.setValue(p,r.round)&&(t=!0)});const u=Gr(this),o=u.getValue();if(a){const l=Jn(n.to);(o!==l||t)&&!r.decay?(u.setValue(l),this._onChange(l)):t&&r.decay&&this._onChange(o),this._stop()}else t&&this._onChange(o)}set(e){return ga.batchedUpdates(()=>{this._stop(),this._focus(e),this._set(e)}),this}pause(){this._update({pause:!0})}resume(){this._update({pause:!1})}finish(){if(hu(this)){const{to:e,config:a}=this.animation;ga.batchedUpdates(()=>{this._onStart(),a.decay||this._set(e,!1),this._stop()})}return this}update(e){return(this.queue||(this.queue=[])).push(e),this}start(e,a){let t;return _e.und(e)?(t=this.queue||[],this.queue=[]):t=[_e.obj(e)?e:{...a,to:e}],Promise.all(t.map(n=>this._update(n))).then(n=>Px(this,n))}stop(e){const{to:a}=this.animation;return this._focus(this.get()),ip(this._state,e&&this._lastCallId),ga.batchedUpdates(()=>this._stop(a,e)),this}reset(){this._update({reset:!0})}eventObserved(e){e.type=="change"?this._start():e.type=="priority"&&(this.priority=e.priority+1)}_prepareNode(e){const a=this.key||"";let{to:t,from:n}=e;t=_e.obj(t)?t[a]:t,(t==null||h3(t))&&(t=void 0),n=_e.obj(n)?n[a]:n,n==null&&(n=void 0);const i={to:t,from:n};return cS(this)||(e.reverse&&([t,n]=[n,t]),n=Jn(n),_e.und(n)?Gr(this)||this._set(t):this._set(n)),i}_update({...e},a){const{key:t,defaultProps:n}=this;e.default&&Object.assign(n,Rx(e,(s,u)=>/^on/.test(u)?vz(s,t):s)),wI(this,e,"onProps"),c0(this,"onProps",e,this);const i=this._prepareNode(e);if(Object.isFrozen(this))throw Error("Cannot animate a `SpringValue` object that is frozen. Did you forget to pass your component to `animated(...)` before animating its props?");const r=this._state;return Ez(++this._lastCallId,{key:t,props:e,defaultProps:n,state:r,actions:{pause:()=>{g0(this)||(kI(this,!0),k0(r.pauseQueue),c0(this,"onPause",Ar(this,d0(this,this.animation.to)),this))},resume:()=>{g0(this)&&(kI(this,!1),hu(this)&&this._resume(),k0(r.resumeQueue),c0(this,"onResume",Ar(this,d0(this,this.animation.to)),this))},start:this._merge.bind(this,i)}}).then(s=>{if(e.loop&&s.finished&&!(a&&s.noop)){const u=_z(e);if(u)return this._update(u,!0)}return s})}_merge(e,a,t){if(a.cancel)return this.stop(!0),t(Rg(this));const n=!_e.und(e.to),i=!_e.und(e.from);if(n||i)if(a.callId>this._lastToId)this._lastToId=a.callId;else return t(Rg(this));const{key:r,defaultProps:s,animation:u}=this,{to:o,from:l}=u;let{to:g=o,from:d=l}=e;i&&!n&&(!a.default||_e.und(g))&&(g=d),a.reverse&&([g,d]=[d,g]);const c=!Ms(d,l);c&&(u.from=d),d=Jn(d);const p=!Ms(g,o);p&&this._focus(g);const f=h3(a.to),{config:h}=u,{decay:y,velocity:b}=h;(n||i)&&(h.velocity=0),a.config&&!f&&cEe(h,Oo(a.config,r),a.config!==s.config?Oo(s.config,r):void 0);let m=Gr(this);if(!m||_e.und(g))return t(Ar(this,!0));const T=_e.und(a.reset)?i&&!a.default:!_e.und(d)&&ic(a.reset,r),A=T?d:this.get(),v=np(g),D=_e.num(v)||_e.arr(v)||K9(v),k=!f&&(!D||ic(s.immediate||a.immediate,r));if(p){const z=f3(g);if(z!==m.constructor)if(k)m=this._set(v);else throw Error(`Cannot animate between ${m.constructor.name} and ${z.name}, as the "to" prop suggests`)}const N=m.constructor;let q=Wi(g),R=!1;if(!q){const z=T||!cS(this)&&c;(p||z)&&(R=Ms(np(A),v),q=!R),(!Ms(u.immediate,k)&&!k||!Ms(h.decay,y)||!Ms(h.velocity,b))&&(q=!0)}if(R&&hu(this)&&(u.changed&&!T?q=!0:q||this._stop(o)),!f&&((q||Wi(o))&&(u.values=m.getPayload(),u.toValues=Wi(g)?null:N==tp?[1]:ki(v)),u.immediate!=k&&(u.immediate=k,!k&&!T&&this._set(o)),q)){const{onRest:z}=u;xa(yEe,K=>wI(this,a,K));const W=Ar(this,d0(this,o));k0(this._pendingCalls,W),this._pendingCalls.add(t),u.changed&&ga.batchedUpdates(()=>{var K;u.changed=!T,z==null||z(W,this),T?Oo(s.onRest,W):(K=u.onStart)==null||K.call(u,W,this)})}T&&this._set(A),f?t(Cz(a.to,a,this._state,this)):q?this._start():hu(this)&&!p?this._pendingCalls.add(t):t(kz(A))}_focus(e){const a=this.animation;e!==a.to&&(hI(this)&&this._detach(),a.to=e,hI(this)&&this._attach())}_attach(){let e=0;const{to:a}=this.animation;Wi(a)&&(Ld(a,this),y3(a)&&(e=a.priority+1)),this.priority=e}_detach(){const{to:e}=this.animation;Wi(e)&&ep(e,this)}_set(e,a=!0){const t=Jn(e);if(!_e.und(t)){const n=Gr(this);if(!n||!Ms(t,n.getValue())){const i=f3(t);!n||n.constructor!=i?Lx(this,i.create(t)):n.setValue(t),n&&ga.batchedUpdates(()=>{this._onChange(t,a)})}}return Gr(this)}_onStart(){const e=this.animation;e.changed||(e.changed=!0,c0(this,"onStart",Ar(this,d0(this,e.to)),this))}_onChange(e,a){a||(this._onStart(),Oo(this.animation.onChange,e,this)),Oo(this.defaultProps.onChange,e,this),super._onChange(e,a)}_start(){const e=this.animation;Gr(this).reset(Jn(e.to)),e.immediate||(e.fromValues=e.values.map(a=>a.lastPosition)),hu(this)||(EI(this,!0),g0(this)||this._resume())}_resume(){Ir.skipAnimation?this.finish():j9.start(this)}_stop(e,a){if(hu(this)){EI(this,!1);const t=this.animation;xa(t.values,i=>{i.done=!0}),t.toValues&&(t.onChange=t.onPause=t.onResume=void 0),Jc(this,{type:"idle",parent:this});const n=a?Rg(this.get()):Ar(this.get(),d0(this,e??t.to));k0(this._pendingCalls,n),t.changed&&(t.changed=!1,c0(this,"onRest",n,this))}}};function d0(e,a){const t=np(a),n=np(e.get());return Ms(n,t)}function _z(e,a=e.loop,t=e.to){const n=Oo(a);if(n){const i=n!==!0&&xz(n),r=(i||e).reverse,s=!i||i.reset;return rp({...e,loop:a,default:!1,pause:void 0,to:!r||h3(t)?t:void 0,from:s?e.from:void 0,reset:s,...i})}}function rp(e){const{to:a,from:t}=e=xz(e),n=new Set;return _e.obj(a)&&CI(a,n),_e.obj(t)&&CI(t,n),e.keys=n.size?Array.from(n):null,e}function mEe(e){const a=rp(e);return _e.und(a.default)&&(a.default=Rx(a)),a}function CI(e,a){hs(e,(t,n)=>t!=null&&a.add(n))}var yEe=["onStart","onRest","onChange","onPause","onResume"];function wI(e,a,t){e.animation[t]=a[t]!==Dz(a,t)?vz(a[t],e.key):void 0}function c0(e,a,...t){var n,i,r,s;(i=(n=e.animation)[a])==null||i.call(n,...t),(s=(r=e.defaultProps)[a])==null||s.call(r,...t)}var bEe=["onStart","onChange","onRest"],TEe=1,SEe=class{constructor(e,a){this.id=TEe++,this.springs={},this.queue=[],this._lastAsyncId=0,this._active=new Set,this._changed=new Set,this._started=!1,this._state={paused:!1,pauseQueue:new Set,resumeQueue:new Set,timeouts:new Set},this._events={onStart:new Map,onChange:new Map,onRest:new Map},this._onFrame=this._onFrame.bind(this),a&&(this._flush=a),e&&this.start({default:!0,...e})}get idle(){return!this._state.asyncTo&&Object.values(this.springs).every(e=>e.idle&&!e.isDelayed&&!e.isPaused)}get item(){return this._item}set item(e){this._item=e}get(){const e={};return this.each((a,t)=>e[t]=a.get()),e}set(e){for(const a in e){const t=e[a];_e.und(t)||this.springs[a].set(t)}}update(e){return e&&this.queue.push(rp(e)),this}start(e){let{queue:a}=this;return e?a=ki(e).map(rp):this.queue=[],this._flush?this._flush(this,a):(Pz(this,a),S3(this,a))}stop(e,a){if(e!==!!e&&(a=e),a){const t=this.springs;xa(ki(a),n=>t[n].stop(!!e))}else ip(this._state,this._lastAsyncId),this.each(t=>t.stop(!!e));return this}pause(e){if(_e.und(e))this.start({pause:!0});else{const a=this.springs;xa(ki(e),t=>a[t].pause())}return this}resume(e){if(_e.und(e))this.start({pause:!1});else{const a=this.springs;xa(ki(e),t=>a[t].resume())}return this}each(e){hs(this.springs,e)}_onFrame(){const{onStart:e,onChange:a,onRest:t}=this._events,n=this._active.size>0,i=this._changed.size>0;(n&&!this._started||i&&!this._started)&&(this._started=!0,tc(e,([u,o])=>{o.value=this.get(),u(o,this,this._item)}));const r=!n&&this._started,s=i||r&&t.size?this.get():null;i&&a.size&&tc(a,([u,o])=>{o.value=s,u(o,this,this._item)}),r&&(this._started=!1,tc(t,([u,o])=>{o.value=s,u(o,this,this._item)}))}eventObserved(e){if(e.type=="change")this._changed.add(e.parent),e.idle||this._active.add(e.parent);else if(e.type=="idle")this._active.delete(e.parent);else return;ga.onFrame(this._onFrame)}};function S3(e,a){return Promise.all(a.map(t=>Iz(e,t))).then(t=>Px(e,t))}async function Iz(e,a,t){const{keys:n,to:i,from:r,loop:s,onRest:u,onResolve:o}=a,l=_e.obj(a.default)&&a.default;s&&(a.loop=!1),i===!1&&(a.to=null),r===!1&&(a.from=null);const g=_e.arr(i)||_e.fun(i)?i:void 0;g?(a.to=void 0,a.onRest=void 0,l&&(l.onRest=void 0)):xa(bEe,h=>{const y=a[h];if(_e.fun(y)){const b=e._events[h];a[h]=({finished:m,cancelled:T})=>{const A=b.get(y);A?(m||(A.finished=!1),T&&(A.cancelled=!0)):b.set(y,{value:null,finished:m||!1,cancelled:T||!1})},l&&(l[h]=a[h])}});const d=e._state;a.pause===!d.paused?(d.paused=a.pause,k0(a.pause?d.pauseQueue:d.resumeQueue)):d.paused&&(a.pause=!0);const c=(n||Object.keys(e.springs)).map(h=>e.springs[h].start(a)),p=a.cancel===!0||Dz(a,"cancel")===!0;(g||p&&d.asyncId)&&c.push(Ez(++e._lastAsyncId,{props:a,state:d,actions:{pause:c3,resume:c3,start(h,y){p?(ip(d,e._lastAsyncId),y(Rg(e))):(h.onRest=u,y(Cz(g,h,d,e)))}}})),d.paused&&await new Promise(h=>{d.resumeQueue.add(h)});const f=Px(e,await Promise.all(c));if(s&&f.finished&&!(t&&f.noop)){const h=_z(a,s,i);if(h)return Pz(e,[h]),Iz(e,h,!0)}return o&&ga.batchedUpdates(()=>o(f,e,e.item)),f}function _I(e,a){const t={...e.springs};return a&&xa(ki(a),n=>{_e.und(n.keys)&&(n=rp(n)),_e.obj(n.to)||(n={...n,to:void 0}),Rz(t,n,i=>Lz(i))}),Nz(e,t),t}function Nz(e,a){hs(a,(t,n)=>{e.springs[n]||(e.springs[n]=t,Ld(t,e))})}function Lz(e,a){const t=new hEe;return t.key=e,a&&Ld(t,a),t}function Rz(e,a,t){a.keys&&xa(a.keys,n=>{(e[n]||(e[n]=t(n)))._prepareNode(a)})}function Pz(e,a){xa(a,t=>{Rz(e.springs,t,n=>Lz(n,e))})}var V9=({children:e,...a})=>{const t=X.useContext(uy),n=a.pause||!!t.pause,i=a.immediate||!!t.immediate;a=W5e(()=>({pause:n,immediate:i}),[n,i]);const{Provider:r}=uy;return X.createElement(r,{value:a},e)},uy=AEe(V9,{});V9.Provider=uy.Provider;V9.Consumer=uy.Consumer;function AEe(e,a){return Object.assign(e,X.createContext(a)),e.Provider._context=e,e.Consumer._context=e,e}var vEe=()=>{const e=[],a=function(n){V5e();const i=[];return xa(e,(r,s)=>{if(_e.und(n))i.push(r.start());else{const u=t(n,r,s);u&&i.push(r.start(u))}}),i};a.current=e,a.add=function(n){e.includes(n)||e.push(n)},a.delete=function(n){const i=e.indexOf(n);~i&&e.splice(i,1)},a.pause=function(){return xa(e,n=>n.pause(...arguments)),this},a.resume=function(){return xa(e,n=>n.resume(...arguments)),this},a.set=function(n){xa(e,(i,r)=>{const s=_e.fun(n)?n(r,i):n;s&&i.set(s)})},a.start=function(n){const i=[];return xa(e,(r,s)=>{if(_e.und(n))i.push(r.start());else{const u=this._getProps(n,r,s);u&&i.push(r.start(u))}}),i},a.stop=function(){return xa(e,n=>n.stop(...arguments)),this},a.update=function(n){return xa(e,(i,r)=>i.update(this._getProps(n,i,r))),this};const t=function(n,i,r){return _e.fun(n)?n(r,i):n};return a._getProps=t,a};function DEe(e,a,t){const n=_e.fun(a)&&a;n&&!t&&(t=[]);const i=X.useMemo(()=>n||arguments.length==3?vEe():void 0,[]),r=X.useRef(0),s=bz(),u=X.useMemo(()=>({ctrls:[],queue:[],flush(b,m){const T=_I(b,m);return r.current>0&&!u.queue.length&&!Object.keys(T).some(v=>!b.springs[v])?S3(b,m):new Promise(v=>{Nz(b,T),u.queue.push(()=>{v(S3(b,m))}),s()})}}),[]),o=X.useRef([...u.ctrls]),l=[],g=yI(e)||0;X.useMemo(()=>{xa(o.current.slice(e,g),b=>{oEe(b,i),b.stop(!0)}),o.current.length=e,d(g,e)},[e]),X.useMemo(()=>{d(0,Math.min(g,e))},t);function d(b,m){for(let T=b;T<m;T++){const A=o.current[T]||(o.current[T]=new SEe(null,u.flush)),v=n?n(T,A):a[T];v&&(l[T]=mEe(v))}}const c=o.current.map((b,m)=>_I(b,l[m])),p=X.useContext(V9),f=yI(p),h=p!==f&&uEe(p);Nx(()=>{r.current++,u.ctrls=o.current;const{queue:b}=u;b.length&&(u.queue=[],xa(b,m=>m())),xa(o.current,(m,T)=>{i==null||i.add(m),h&&m.start({default:p});const A=l[T];A&&(lEe(m,A.ref),m.ref?m.queue.push(A):m.start(A))})}),Tz(()=>()=>{xa(u.ctrls,b=>b.stop(!0))});const y=c.map(b=>({...b}));return i?[y,i]:y}function ACe(e,a){const t=_e.fun(e),[[n],i]=DEe(1,t?e:[e],t?a||[]:a);return t||arguments.length==2?[n,i]:n}var Mz=class extends Mx{constructor(e,a){super(),this.source=e,this.idle=!0,this._active=new Set,this.calc=Qc(...a);const t=this._get(),n=f3(t);Lx(this,n.create(t))}advance(e){const a=this._get(),t=this.get();Ms(a,t)||(Gr(this).setValue(a),this._onChange(a,this.idle)),!this.idle&&II(this._active)&&pS(this)}_get(){const e=_e.arr(this.source)?this.source.map(Jn):ki(Jn(this.source));return this.calc(...e)}_start(){this.idle&&!II(this._active)&&(this.idle=!1,xa(H9(this),e=>{e.done=!1}),Ir.skipAnimation?(ga.batchedUpdates(()=>this.advance()),pS(this)):j9.start(this))}_attach(){let e=1;xa(ki(this.source),a=>{Wi(a)&&Ld(a,this),y3(a)&&(a.idle||this._active.add(a),e=Math.max(e,a.priority+1))}),this.priority=e,this._start()}_detach(){xa(ki(this.source),e=>{Wi(e)&&ep(e,this)}),this._active.clear(),pS(this)}eventObserved(e){e.type=="change"?e.idle?this.advance():(this._active.add(e.parent),this._start()):e.type=="idle"?this._active.delete(e.parent):e.type=="priority"&&(this.priority=ki(this.source).reduce((a,t)=>Math.max(a,(y3(t)?t.priority:0)+1),0))}};function xEe(e){return e.idle!==!1}function II(e){return!e.size||Array.from(e).every(xEe)}function pS(e){e.idle||(e.idle=!0,xa(H9(e),a=>{a.done=!0}),Jc(e,{type:"idle",parent:e}))}var vCe=(e,...a)=>new Mz(e,a);Ir.assign({createStringInterpolator:mz,to:(e,a)=>new Mz(e,a)});var Oz=/^--/;function EEe(e,a){return a==null||typeof a=="boolean"||a===""?"":typeof a=="number"&&a!==0&&!Oz.test(e)&&!(rc.hasOwnProperty(e)&&rc[e])?a+"px":(""+a).trim()}var NI={};function kEe(e,a){if(!e.nodeType||!e.setAttribute)return!1;const t=e.nodeName==="filter"||e.parentNode&&e.parentNode.nodeName==="filter",{style:n,children:i,scrollTop:r,scrollLeft:s,viewBox:u,...o}=a,l=Object.values(o),g=Object.keys(o).map(d=>t||e.hasAttribute(d)?d:NI[d]||(NI[d]=d.replace(/([A-Z])/g,c=>"-"+c.toLowerCase())));i!==void 0&&(e.textContent=i);for(const d in n)if(n.hasOwnProperty(d)){const c=EEe(d,n[d]);Oz.test(d)?e.style.setProperty(d,c):e.style[d]=c}g.forEach((d,c)=>{e.setAttribute(d,l[c])}),r!==void 0&&(e.scrollTop=r),s!==void 0&&(e.scrollLeft=s),u!==void 0&&e.setAttribute("viewBox",u)}var rc={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},CEe=(e,a)=>e+a.charAt(0).toUpperCase()+a.substring(1),wEe=["Webkit","Ms","Moz","O"];rc=Object.keys(rc).reduce((e,a)=>(wEe.forEach(t=>e[CEe(t,a)]=e[a]),e),rc);var _Ee=/^(matrix|translate|scale|rotate|skew)/,IEe=/^(translate)/,NEe=/^(rotate|skew)/,fS=(e,a)=>_e.num(e)&&e!==0?e+a:e,ih=(e,a)=>_e.arr(e)?e.every(t=>ih(t,a)):_e.num(e)?e===a:parseFloat(e)===a,LEe=class extends q9{constructor({x:e,y:a,z:t,...n}){const i=[],r=[];(e||a||t)&&(i.push([e||0,a||0,t||0]),r.push(s=>[`translate3d(${s.map(u=>fS(u,"px")).join(",")})`,ih(s,0)])),hs(n,(s,u)=>{if(u==="transform")i.push([s||""]),r.push(o=>[o,o===""]);else if(_Ee.test(u)){if(delete n[u],_e.und(s))return;const o=IEe.test(u)?"px":NEe.test(u)?"deg":"";i.push(ki(s)),r.push(u==="rotate3d"?([l,g,d,c])=>[`rotate3d(${l},${g},${d},${fS(c,o)})`,ih(c,0)]:l=>[`${u}(${l.map(g=>fS(g,o)).join(",")})`,ih(l,u.startsWith("scale")?1:0)])}}),i.length&&(n.transform=new REe(i,r)),super(n)}},REe=class extends pz{constructor(e,a){super(),this.inputs=e,this.transforms=a,this._value=null}get(){return this._value||(this._value=this._get())}_get(){let e="",a=!0;return xa(this.inputs,(t,n)=>{const i=Jn(t[0]),[r,s]=this.transforms[n](_e.arr(i)?i:t.map(Jn));e+=" "+r,a=a&&s}),a?"none":e}observerAdded(e){e==1&&xa(this.inputs,a=>xa(a,t=>Wi(t)&&Ld(t,this)))}observerRemoved(e){e==0&&xa(this.inputs,a=>xa(a,t=>Wi(t)&&ep(t,this)))}eventObserved(e){e.type=="change"&&(this._value=null),Jc(this,e)}},PEe=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","tspan"];Ir.assign({batchedUpdates:iF.unstable_batchedUpdates,createStringInterpolator:mz,colors:D5e});var MEe=tEe(PEe,{applyAnimatedValues:kEe,createAnimatedStyle:e=>new LEe(e),getComponentProps:({scrollTop:e,scrollLeft:a,...t})=>t}),DCe=MEe.animated;function Qs(e){return Array.isArray?Array.isArray(e):Uz(e)==="[object Array]"}const OEe=1/0;function BEe(e){if(typeof e=="string")return e;let a=e+"";return a=="0"&&1/e==-OEe?"-0":a}function FEe(e){return e==null?"":BEe(e)}function us(e){return typeof e=="string"}function Bz(e){return typeof e=="number"}function UEe(e){return e===!0||e===!1||jEe(e)&&Uz(e)=="[object Boolean]"}function Fz(e){return typeof e=="object"}function jEe(e){return Fz(e)&&e!==null}function Ai(e){return e!=null}function hS(e){return!e.trim().length}function Uz(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const zEe="Incorrect 'index' type",$Ee=e=>`Invalid value for key ${e}`,KEe=e=>`Pattern length exceeds max of ${e}.`,HEe=e=>`Missing ${e} property in key`,qEe=e=>`Property 'weight' in key '${e}' must be a positive integer`,LI=Object.prototype.hasOwnProperty;class VEe{constructor(a){this._keys=[],this._keyMap={};let t=0;a.forEach(n=>{let i=jz(n);this._keys.push(i),this._keyMap[i.id]=i,t+=i.weight}),this._keys.forEach(n=>{n.weight/=t})}get(a){return this._keyMap[a]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function jz(e){let a=null,t=null,n=null,i=1,r=null;if(us(e)||Qs(e))n=e,a=RI(e),t=A3(e);else{if(!LI.call(e,"name"))throw new Error(HEe("name"));const s=e.name;if(n=s,LI.call(e,"weight")&&(i=e.weight,i<=0))throw new Error(qEe(s));a=RI(s),t=A3(s),r=e.getFn}return{path:a,id:t,weight:i,src:n,getFn:r}}function RI(e){return Qs(e)?e:e.split(".")}function A3(e){return Qs(e)?e.join("."):e}function GEe(e,a){let t=[],n=!1;const i=(r,s,u)=>{if(Ai(r))if(!s[u])t.push(r);else{let o=s[u];const l=r[o];if(!Ai(l))return;if(u===s.length-1&&(us(l)||Bz(l)||UEe(l)))t.push(FEe(l));else if(Qs(l)){n=!0;for(let g=0,d=l.length;g<d;g+=1)i(l[g],s,u+1)}else s.length&&i(l,s,u+1)}};return i(e,us(a)?a.split("."):a,0),n?t:t[0]}const WEe={includeMatches:!1,findAllMatches:!1,minMatchCharLength:1},YEe={isCaseSensitive:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(e,a)=>e.score===a.score?e.idx<a.idx?-1:1:e.score<a.score?-1:1},XEe={location:0,threshold:.6,distance:100},QEe={useExtendedSearch:!1,getFn:GEe,ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1};var ua={...YEe,...WEe,...XEe,...QEe};const ZEe=/[^ ]+/g;function JEe(e=1,a=3){const t=new Map,n=Math.pow(10,a);return{get(i){const r=i.match(ZEe).length;if(t.has(r))return t.get(r);const s=1/Math.pow(r,.5*e),u=parseFloat(Math.round(s*n)/n);return t.set(r,u),u},clear(){t.clear()}}}class Ox{constructor({getFn:a=ua.getFn,fieldNormWeight:t=ua.fieldNormWeight}={}){this.norm=JEe(t,3),this.getFn=a,this.isCreated=!1,this.setIndexRecords()}setSources(a=[]){this.docs=a}setIndexRecords(a=[]){this.records=a}setKeys(a=[]){this.keys=a,this._keysMap={},a.forEach((t,n)=>{this._keysMap[t.id]=n})}create(){this.isCreated||!this.docs.length||(this.isCreated=!0,us(this.docs[0])?this.docs.forEach((a,t)=>{this._addString(a,t)}):this.docs.forEach((a,t)=>{this._addObject(a,t)}),this.norm.clear())}add(a){const t=this.size();us(a)?this._addString(a,t):this._addObject(a,t)}removeAt(a){this.records.splice(a,1);for(let t=a,n=this.size();t<n;t+=1)this.records[t].i-=1}getValueForItemAtKeyId(a,t){return a[this._keysMap[t]]}size(){return this.records.length}_addString(a,t){if(!Ai(a)||hS(a))return;let n={v:a,i:t,n:this.norm.get(a)};this.records.push(n)}_addObject(a,t){let n={i:t,$:{}};this.keys.forEach((i,r)=>{let s=i.getFn?i.getFn(a):this.getFn(a,i.path);if(Ai(s)){if(Qs(s)){let u=[];const o=[{nestedArrIndex:-1,value:s}];for(;o.length;){const{nestedArrIndex:l,value:g}=o.pop();if(Ai(g))if(us(g)&&!hS(g)){let d={v:g,i:l,n:this.norm.get(g)};u.push(d)}else Qs(g)&&g.forEach((d,c)=>{o.push({nestedArrIndex:c,value:d})})}n.$[r]=u}else if(us(s)&&!hS(s)){let u={v:s,n:this.norm.get(s)};n.$[r]=u}}}),this.records.push(n)}toJSON(){return{keys:this.keys,records:this.records}}}function zz(e,a,{getFn:t=ua.getFn,fieldNormWeight:n=ua.fieldNormWeight}={}){const i=new Ox({getFn:t,fieldNormWeight:n});return i.setKeys(e.map(jz)),i.setSources(a),i.create(),i}function e8e(e,{getFn:a=ua.getFn,fieldNormWeight:t=ua.fieldNormWeight}={}){const{keys:n,records:i}=e,r=new Ox({getFn:a,fieldNormWeight:t});return r.setKeys(n),r.setIndexRecords(i),r}function f2(e,{errors:a=0,currentLocation:t=0,expectedLocation:n=0,distance:i=ua.distance,ignoreLocation:r=ua.ignoreLocation}={}){const s=a/e.length;if(r)return s;const u=Math.abs(n-t);return i?s+u/i:u?1:s}function a8e(e=[],a=ua.minMatchCharLength){let t=[],n=-1,i=-1,r=0;for(let s=e.length;r<s;r+=1){let u=e[r];u&&n===-1?n=r:!u&&n!==-1&&(i=r-1,i-n+1>=a&&t.push([n,i]),n=-1)}return e[r-1]&&r-n>=a&&t.push([n,r-1]),t}const Bo=32;function t8e(e,a,t,{location:n=ua.location,distance:i=ua.distance,threshold:r=ua.threshold,findAllMatches:s=ua.findAllMatches,minMatchCharLength:u=ua.minMatchCharLength,includeMatches:o=ua.includeMatches,ignoreLocation:l=ua.ignoreLocation}={}){if(a.length>Bo)throw new Error(KEe(Bo));const g=a.length,d=e.length,c=Math.max(0,Math.min(n,d));let p=r,f=c;const h=u>1||o,y=h?Array(d):[];let b;for(;(b=e.indexOf(a,f))>-1;){let k=f2(a,{currentLocation:b,expectedLocation:c,distance:i,ignoreLocation:l});if(p=Math.min(k,p),f=b+g,h){let N=0;for(;N<g;)y[b+N]=1,N+=1}}f=-1;let m=[],T=1,A=g+d;const v=1<<g-1;for(let k=0;k<g;k+=1){let N=0,q=A;for(;N<q;)f2(a,{errors:k,currentLocation:c+q,expectedLocation:c,distance:i,ignoreLocation:l})<=p?N=q:A=q,q=Math.floor((A-N)/2+N);A=q;let R=Math.max(1,c-q+1),z=s?d:Math.min(c+q,d)+g,W=Array(z+2);W[z+1]=(1<<k)-1;for(let P=z;P>=R;P-=1){let L=P-1,H=t[e.charAt(L)];if(h&&(y[L]=+!!H),W[P]=(W[P+1]<<1|1)&H,k&&(W[P]|=(m[P+1]|m[P])<<1|1|m[P+1]),W[P]&v&&(T=f2(a,{errors:k,currentLocation:L,expectedLocation:c,distance:i,ignoreLocation:l}),T<=p)){if(p=T,f=L,f<=c)break;R=Math.max(1,2*c-f)}}if(f2(a,{errors:k+1,currentLocation:c,expectedLocation:c,distance:i,ignoreLocation:l})>p)break;m=W}const D={isMatch:f>=0,score:Math.max(.001,T)};if(h){const k=a8e(y,u);k.length?o&&(D.indices=k):D.isMatch=!1}return D}function n8e(e){let a={};for(let t=0,n=e.length;t<n;t+=1){const i=e.charAt(t);a[i]=(a[i]||0)|1<<n-t-1}return a}class $z{constructor(a,{location:t=ua.location,threshold:n=ua.threshold,distance:i=ua.distance,includeMatches:r=ua.includeMatches,findAllMatches:s=ua.findAllMatches,minMatchCharLength:u=ua.minMatchCharLength,isCaseSensitive:o=ua.isCaseSensitive,ignoreLocation:l=ua.ignoreLocation}={}){if(this.options={location:t,threshold:n,distance:i,includeMatches:r,findAllMatches:s,minMatchCharLength:u,isCaseSensitive:o,ignoreLocation:l},this.pattern=o?a:a.toLowerCase(),this.chunks=[],!this.pattern.length)return;const g=(c,p)=>{this.chunks.push({pattern:c,alphabet:n8e(c),startIndex:p})},d=this.pattern.length;if(d>Bo){let c=0;const p=d%Bo,f=d-p;for(;c<f;)g(this.pattern.substr(c,Bo),c),c+=Bo;if(p){const h=d-Bo;g(this.pattern.substr(h),h)}}else g(this.pattern,0)}searchIn(a){const{isCaseSensitive:t,includeMatches:n}=this.options;if(t||(a=a.toLowerCase()),this.pattern===a){let f={isMatch:!0,score:0};return n&&(f.indices=[[0,a.length-1]]),f}const{location:i,distance:r,threshold:s,findAllMatches:u,minMatchCharLength:o,ignoreLocation:l}=this.options;let g=[],d=0,c=!1;this.chunks.forEach(({pattern:f,alphabet:h,startIndex:y})=>{const{isMatch:b,score:m,indices:T}=t8e(a,f,h,{location:i+y,distance:r,threshold:s,findAllMatches:u,minMatchCharLength:o,includeMatches:n,ignoreLocation:l});b&&(c=!0),d+=m,b&&T&&(g=[...g,...T])});let p={isMatch:c,score:c?d/this.chunks.length:1};return c&&n&&(p.indices=g),p}}class ho{constructor(a){this.pattern=a}static isMultiMatch(a){return PI(a,this.multiRegex)}static isSingleMatch(a){return PI(a,this.singleRegex)}search(){}}function PI(e,a){const t=e.match(a);return t?t[1]:null}class i8e extends ho{constructor(a){super(a)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(a){const t=a===this.pattern;return{isMatch:t,score:t?0:1,indices:[0,this.pattern.length-1]}}}class r8e extends ho{constructor(a){super(a)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(a){const n=a.indexOf(this.pattern)===-1;return{isMatch:n,score:n?0:1,indices:[0,a.length-1]}}}class s8e extends ho{constructor(a){super(a)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(a){const t=a.startsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,this.pattern.length-1]}}}class u8e extends ho{constructor(a){super(a)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(a){const t=!a.startsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,a.length-1]}}}class o8e extends ho{constructor(a){super(a)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(a){const t=a.endsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[a.length-this.pattern.length,a.length-1]}}}class l8e extends ho{constructor(a){super(a)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(a){const t=!a.endsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,a.length-1]}}}class Kz extends ho{constructor(a,{location:t=ua.location,threshold:n=ua.threshold,distance:i=ua.distance,includeMatches:r=ua.includeMatches,findAllMatches:s=ua.findAllMatches,minMatchCharLength:u=ua.minMatchCharLength,isCaseSensitive:o=ua.isCaseSensitive,ignoreLocation:l=ua.ignoreLocation}={}){super(a),this._bitapSearch=new $z(a,{location:t,threshold:n,distance:i,includeMatches:r,findAllMatches:s,minMatchCharLength:u,isCaseSensitive:o,ignoreLocation:l})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(a){return this._bitapSearch.searchIn(a)}}class Hz extends ho{constructor(a){super(a)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(a){let t=0,n;const i=[],r=this.pattern.length;for(;(n=a.indexOf(this.pattern,t))>-1;)t=n+r,i.push([n,t-1]);const s=!!i.length;return{isMatch:s,score:s?0:1,indices:i}}}const v3=[i8e,Hz,s8e,u8e,l8e,o8e,r8e,Kz],MI=v3.length,g8e=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,d8e="|";function c8e(e,a={}){return e.split(d8e).map(t=>{let n=t.trim().split(g8e).filter(r=>r&&!!r.trim()),i=[];for(let r=0,s=n.length;r<s;r+=1){const u=n[r];let o=!1,l=-1;for(;!o&&++l<MI;){const g=v3[l];let d=g.isMultiMatch(u);d&&(i.push(new g(d,a)),o=!0)}if(!o)for(l=-1;++l<MI;){const g=v3[l];let d=g.isSingleMatch(u);if(d){i.push(new g(d,a));break}}}return i})}const p8e=new Set([Kz.type,Hz.type]);class f8e{constructor(a,{isCaseSensitive:t=ua.isCaseSensitive,includeMatches:n=ua.includeMatches,minMatchCharLength:i=ua.minMatchCharLength,ignoreLocation:r=ua.ignoreLocation,findAllMatches:s=ua.findAllMatches,location:u=ua.location,threshold:o=ua.threshold,distance:l=ua.distance}={}){this.query=null,this.options={isCaseSensitive:t,includeMatches:n,minMatchCharLength:i,findAllMatches:s,ignoreLocation:r,location:u,threshold:o,distance:l},this.pattern=t?a:a.toLowerCase(),this.query=c8e(this.pattern,this.options)}static condition(a,t){return t.useExtendedSearch}searchIn(a){const t=this.query;if(!t)return{isMatch:!1,score:1};const{includeMatches:n,isCaseSensitive:i}=this.options;a=i?a:a.toLowerCase();let r=0,s=[],u=0;for(let o=0,l=t.length;o<l;o+=1){const g=t[o];s.length=0,r=0;for(let d=0,c=g.length;d<c;d+=1){const p=g[d],{isMatch:f,indices:h,score:y}=p.search(a);if(f){if(r+=1,u+=y,n){const b=p.constructor.type;p8e.has(b)?s=[...s,...h]:s.push(h)}}else{u=0,r=0,s.length=0;break}}if(r){let d={isMatch:!0,score:u/r};return n&&(d.indices=s),d}}return{isMatch:!1,score:1}}}const D3=[];function h8e(...e){D3.push(...e)}function x3(e,a){for(let t=0,n=D3.length;t<n;t+=1){let i=D3[t];if(i.condition(e,a))return new i(e,a)}return new $z(e,a)}const oy={AND:"$and",OR:"$or"},E3={PATH:"$path",PATTERN:"$val"},k3=e=>!!(e[oy.AND]||e[oy.OR]),m8e=e=>!!e[E3.PATH],y8e=e=>!Qs(e)&&Fz(e)&&!k3(e),OI=e=>({[oy.AND]:Object.keys(e).map(a=>({[a]:e[a]}))});function qz(e,a,{auto:t=!0}={}){const n=i=>{let r=Object.keys(i);const s=m8e(i);if(!s&&r.length>1&&!k3(i))return n(OI(i));if(y8e(i)){const o=s?i[E3.PATH]:r[0],l=s?i[E3.PATTERN]:i[o];if(!us(l))throw new Error($Ee(o));const g={keyId:A3(o),pattern:l};return t&&(g.searcher=x3(l,a)),g}let u={children:[],operator:r[0]};return r.forEach(o=>{const l=i[o];Qs(l)&&l.forEach(g=>{u.children.push(n(g))})}),u};return k3(e)||(e=OI(e)),n(e)}function b8e(e,{ignoreFieldNorm:a=ua.ignoreFieldNorm}){e.forEach(t=>{let n=1;t.matches.forEach(({key:i,norm:r,score:s})=>{const u=i?i.weight:null;n*=Math.pow(s===0&&u?Number.EPSILON:s,(u||1)*(a?1:r))}),t.score=n})}function T8e(e,a){const t=e.matches;a.matches=[],Ai(t)&&t.forEach(n=>{if(!Ai(n.indices)||!n.indices.length)return;const{indices:i,value:r}=n;let s={indices:i,value:r};n.key&&(s.key=n.key.src),n.idx>-1&&(s.refIndex=n.idx),a.matches.push(s)})}function S8e(e,a){a.score=e.score}function A8e(e,a,{includeMatches:t=ua.includeMatches,includeScore:n=ua.includeScore}={}){const i=[];return t&&i.push(T8e),n&&i.push(S8e),e.map(r=>{const{idx:s}=r,u={item:a[s],refIndex:s};return i.length&&i.forEach(o=>{o(r,u)}),u})}class Bp{constructor(a,t={},n){this.options={...ua,...t},this.options.useExtendedSearch,this._keyStore=new VEe(this.options.keys),this.setCollection(a,n)}setCollection(a,t){if(this._docs=a,t&&!(t instanceof Ox))throw new Error(zEe);this._myIndex=t||zz(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}add(a){Ai(a)&&(this._docs.push(a),this._myIndex.add(a))}remove(a=()=>!1){const t=[];for(let n=0,i=this._docs.length;n<i;n+=1){const r=this._docs[n];a(r,n)&&(this.removeAt(n),n-=1,i-=1,t.push(r))}return t}removeAt(a){this._docs.splice(a,1),this._myIndex.removeAt(a)}getIndex(){return this._myIndex}search(a,{limit:t=-1}={}){const{includeMatches:n,includeScore:i,shouldSort:r,sortFn:s,ignoreFieldNorm:u}=this.options;let o=us(a)?us(this._docs[0])?this._searchStringList(a):this._searchObjectList(a):this._searchLogical(a);return b8e(o,{ignoreFieldNorm:u}),r&&o.sort(s),Bz(t)&&t>-1&&(o=o.slice(0,t)),A8e(o,this._docs,{includeMatches:n,includeScore:i})}_searchStringList(a){const t=x3(a,this.options),{records:n}=this._myIndex,i=[];return n.forEach(({v:r,i:s,n:u})=>{if(!Ai(r))return;const{isMatch:o,score:l,indices:g}=t.searchIn(r);o&&i.push({item:r,idx:s,matches:[{score:l,value:r,norm:u,indices:g}]})}),i}_searchLogical(a){const t=qz(a,this.options),n=(u,o,l)=>{if(!u.children){const{keyId:d,searcher:c}=u,p=this._findMatches({key:this._keyStore.get(d),value:this._myIndex.getValueForItemAtKeyId(o,d),searcher:c});return p&&p.length?[{idx:l,item:o,matches:p}]:[]}const g=[];for(let d=0,c=u.children.length;d<c;d+=1){const p=u.children[d],f=n(p,o,l);if(f.length)g.push(...f);else if(u.operator===oy.AND)return[]}return g},i=this._myIndex.records,r={},s=[];return i.forEach(({$:u,i:o})=>{if(Ai(u)){let l=n(t,u,o);l.length&&(r[o]||(r[o]={idx:o,item:u,matches:[]},s.push(r[o])),l.forEach(({matches:g})=>{r[o].matches.push(...g)}))}}),s}_searchObjectList(a){const t=x3(a,this.options),{keys:n,records:i}=this._myIndex,r=[];return i.forEach(({$:s,i:u})=>{if(!Ai(s))return;let o=[];n.forEach((l,g)=>{o.push(...this._findMatches({key:l,value:s[g],searcher:t}))}),o.length&&r.push({idx:u,item:s,matches:o})}),r}_findMatches({key:a,value:t,searcher:n}){if(!Ai(t))return[];let i=[];if(Qs(t))t.forEach(({v:r,i:s,n:u})=>{if(!Ai(r))return;const{isMatch:o,score:l,indices:g}=n.searchIn(r);o&&i.push({score:l,key:a,value:r,idx:s,norm:u,indices:g})});else{const{v:r,n:s}=t,{isMatch:u,score:o,indices:l}=n.searchIn(r);u&&i.push({score:o,key:a,value:r,norm:s,indices:l})}return i}}Bp.version="7.0.0";Bp.createIndex=zz;Bp.parseIndex=e8e;Bp.config=ua;Bp.parseQuery=qz;h8e(f8e);const Vz=new Set,di=new WeakMap,sd=new WeakMap,ol=new WeakMap,C3=new WeakMap,v8e=new WeakMap,ud=new WeakMap,ly=new WeakMap,C0=new WeakSet;let no,Bx=0,Fx=0;const zs="__aa_tgt",sp="__aa_del",gy="__aa_new",D8e=e=>{const a=_8e(e);a&&a.forEach(t=>I8e(t))},x8e=e=>{e.forEach(a=>{a.target===no&&k8e(),di.has(a.target)&&kl(a.target)})};function E8e(e){const a=C3.get(e);a==null||a.disconnect();let t=di.get(e),n=0;const i=5;t||(t=od(e),di.set(e,t));const{offsetWidth:r,offsetHeight:s}=no,o=[t.top-i,r-(t.left+i+t.width),s-(t.top+i+t.height),t.left-i].map(g=>`${-1*Math.floor(g)}px`).join(" "),l=new IntersectionObserver(()=>{++n>1&&kl(e)},{root:no,threshold:1,rootMargin:o});l.observe(e),C3.set(e,l)}function kl(e){clearTimeout(ly.get(e));const a=G9(e),t=up(a)?500:a.duration;ly.set(e,setTimeout(async()=>{const n=ol.get(e);try{await(n==null?void 0:n.finished),di.set(e,od(e)),E8e(e)}catch{}},t))}function k8e(){clearTimeout(ly.get(no)),ly.set(no,setTimeout(()=>{Vz.forEach(e=>Xz(e,a=>Gz(()=>kl(a))))},100))}function C8e(e){setTimeout(()=>{v8e.set(e,setInterval(()=>Gz(kl.bind(null,e)),2e3))},Math.round(2e3*Math.random()))}function Gz(e){typeof requestIdleCallback=="function"?requestIdleCallback(()=>e()):requestAnimationFrame(()=>e())}let w3,hg;const w8e=typeof window<"u"&&"ResizeObserver"in window;w8e&&(no=document.documentElement,w3=new MutationObserver(D8e),hg=new ResizeObserver(x8e),window.addEventListener("scroll",()=>{Fx=window.scrollY,Bx=window.scrollX}),hg.observe(no));function _8e(e){return e.reduce((n,i)=>[...n,...Array.from(i.addedNodes),...Array.from(i.removedNodes)],[]).every(n=>n.nodeName==="#comment")?!1:e.reduce((n,i)=>{if(n===!1)return!1;if(i.target instanceof Element){if(mS(i.target),!n.has(i.target)){n.add(i.target);for(let r=0;r<i.target.children.length;r++){const s=i.target.children.item(r);if(s){if(sp in s)return!1;mS(i.target,s),n.add(s)}}}if(i.removedNodes.length)for(let r=0;r<i.removedNodes.length;r++){const s=i.removedNodes[r];if(sp in s)return!1;s instanceof Element&&(n.add(s),mS(i.target,s),sd.set(s,[i.previousSibling,i.nextSibling]))}}return n},new Set)}function mS(e,a){!a&&!(zs in e)?Object.defineProperty(e,zs,{value:e}):a&&!(zs in a)&&Object.defineProperty(a,zs,{value:e})}function I8e(e){var a;const t=e.isConnected,n=di.has(e);t&&sd.has(e)&&sd.delete(e),ol.has(e)&&((a=ol.get(e))===null||a===void 0||a.cancel()),gy in e?BI(e):n&&t?L8e(e):n&&!t?R8e(e):BI(e)}function qr(e){return Number(e.replace(/[^0-9.\-]/g,""))}function N8e(e){let a=e.parentElement;for(;a;){if(a.scrollLeft||a.scrollTop)return{x:a.scrollLeft,y:a.scrollTop};a=a.parentElement}return{x:0,y:0}}function od(e){const a=e.getBoundingClientRect(),{x:t,y:n}=N8e(e);return{top:a.top+n,left:a.left+t,width:a.width,height:a.height}}function Wz(e,a,t){let n=a.width,i=a.height,r=t.width,s=t.height;const u=getComputedStyle(e);if(u.getPropertyValue("box-sizing")==="content-box"){const l=qr(u.paddingTop)+qr(u.paddingBottom)+qr(u.borderTopWidth)+qr(u.borderBottomWidth),g=qr(u.paddingLeft)+qr(u.paddingRight)+qr(u.borderRightWidth)+qr(u.borderLeftWidth);n-=g,r-=g,i-=l,s-=l}return[n,r,i,s].map(Math.round)}function G9(e){return zs in e&&ud.has(e[zs])?ud.get(e[zs]):{duration:250,easing:"ease-in-out"}}function Yz(e){if(zs in e)return e[zs]}function Ux(e){const a=Yz(e);return a?C0.has(a):!1}function Xz(e,...a){a.forEach(t=>t(e,ud.has(e)));for(let t=0;t<e.children.length;t++){const n=e.children.item(t);n&&a.forEach(i=>i(n,ud.has(n)))}}function jx(e){return Array.isArray(e)?e:[e]}function up(e){return typeof e=="function"}function L8e(e){const a=di.get(e),t=od(e);if(!Ux(e))return di.set(e,t);let n;if(!a)return;const i=G9(e);if(typeof i!="function"){const r=a.left-t.left,s=a.top-t.top,[u,o,l,g]=Wz(e,a,t),d={transform:`translate(${r}px, ${s}px)`},c={transform:"translate(0, 0)"};u!==o&&(d.width=`${u}px`,c.width=`${o}px`),l!==g&&(d.height=`${l}px`,c.height=`${g}px`),n=e.animate([d,c],{duration:i.duration,easing:i.easing})}else{const[r]=jx(i(e,"remain",a,t));n=new Animation(r),n.play()}ol.set(e,n),di.set(e,t),n.addEventListener("finish",kl.bind(null,e))}function BI(e){gy in e&&delete e[gy];const a=od(e);di.set(e,a);const t=G9(e);if(!Ux(e))return;let n;if(typeof t!="function")n=e.animate([{transform:"scale(.98)",opacity:0},{transform:"scale(0.98)",opacity:0,offset:.5},{transform:"scale(1)",opacity:1}],{duration:t.duration*1.5,easing:"ease-in"});else{const[i]=jx(t(e,"add",a));n=new Animation(i),n.play()}ol.set(e,n),n.addEventListener("finish",kl.bind(null,e))}function FI(e,a){var t;e.remove(),di.delete(e),sd.delete(e),ol.delete(e),(t=C3.get(e))===null||t===void 0||t.disconnect(),setTimeout(()=>{if(sp in e&&delete e[sp],Object.defineProperty(e,gy,{value:!0,configurable:!0}),a&&e instanceof HTMLElement)for(const n in a)e.style[n]=""},0)}function R8e(e){var a;if(!sd.has(e)||!di.has(e))return;const[t,n]=sd.get(e);Object.defineProperty(e,sp,{value:!0,configurable:!0});const i=window.scrollX,r=window.scrollY;if(n&&n.parentNode&&n.parentNode instanceof Element?n.parentNode.insertBefore(e,n):t&&t.parentNode?t.parentNode.appendChild(e):(a=Yz(e))===null||a===void 0||a.appendChild(e),!Ux(e))return FI(e);const[s,u,o,l]=M8e(e),g=G9(e),d=di.get(e);(i!==Bx||r!==Fx)&&P8e(e,i,r,g);let c,p={position:"absolute",top:`${s}px`,left:`${u}px`,width:`${o}px`,height:`${l}px`,margin:"0",pointerEvents:"none",transformOrigin:"center",zIndex:"100"};if(!up(g))Object.assign(e.style,p),c=e.animate([{transform:"scale(1)",opacity:1},{transform:"scale(.98)",opacity:0}],{duration:g.duration,easing:"ease-out"});else{const[f,h]=jx(g(e,"remove",d));(h==null?void 0:h.styleReset)!==!1&&(p=(h==null?void 0:h.styleReset)||p,Object.assign(e.style,p)),c=new Animation(f),c.play()}ol.set(e,c),c.addEventListener("finish",FI.bind(null,e,p))}function P8e(e,a,t,n){const i=Bx-a,r=Fx-t,s=document.documentElement.style.scrollBehavior;if(getComputedStyle(no).scrollBehavior==="smooth"&&(document.documentElement.style.scrollBehavior="auto"),window.scrollTo(window.scrollX+i,window.scrollY+r),!e.parentElement)return;const o=e.parentElement;let l=o.clientHeight,g=o.clientWidth;const d=performance.now();function c(){requestAnimationFrame(()=>{if(!up(n)){const p=l-o.clientHeight,f=g-o.clientWidth;d+n.duration>performance.now()?(window.scrollTo({left:window.scrollX-f,top:window.scrollY-p}),l=o.clientHeight,g=o.clientWidth,c()):document.documentElement.style.scrollBehavior=s}})}c()}function M8e(e){const a=di.get(e),[t,,n]=Wz(e,a,od(e));let i=e.parentElement;for(;i&&(getComputedStyle(i).position==="static"||i instanceof HTMLBodyElement);)i=i.parentElement;i||(i=document.body);const r=getComputedStyle(i),s=di.get(i)||od(i),u=Math.round(a.top-s.top)-qr(r.borderTopWidth),o=Math.round(a.left-s.left)-qr(r.borderLeftWidth);return[u,o,t,n]}function O8e(e,a={}){return w3&&hg&&(window.matchMedia("(prefers-reduced-motion: reduce)").matches&&!up(a)&&!a.disrespectUserMotionPreference||(C0.add(e),getComputedStyle(e).position==="static"&&Object.assign(e.style,{position:"relative"}),Xz(e,kl,C8e,i=>hg==null?void 0:hg.observe(i)),up(a)?ud.set(e,a):ud.set(e,{duration:250,easing:"ease-in-out",...a}),w3.observe(e,{childList:!0}),Vz.add(e))),Object.freeze({parent:e,enable:()=>{C0.add(e)},disable:()=>{C0.delete(e)},isEnabled:()=>C0.has(e)})}function xCe(e){const[a,t]=X.useState(),n=X.useMemo(()=>e,[]),i=X.useCallback(s=>{s instanceof HTMLElement?t(O8e(s,n)):t(void 0)},[n]),r=X.useCallback(s=>{a&&(s?a.enable():a.disable())},[a]);return[i,r]}var W9={},Y9={},ld={};Object.defineProperty(ld,"__esModule",{value:!0});ld.unlisten=ld.listen=void 0;const sc=[],dy=[];function B8e(e){return{el:e,callbacks:{},realCallbacks:{},realListenersCnt:0}}function F8e(e,a,t){if(e.callbacks[a]){e.callbacks[a].indexOf(t)===-1&&e.callbacks[a].push(t);return}e.callbacks[a]=[t],e.realCallbacks[a]=n=>{for(let i=0,r=e.callbacks[a].length;i<r;i+=1)e.callbacks[a][i](n)},e.el.addEventListener(a,e.realCallbacks[a]),e.realListenersCnt+=1}function U8e(e,a,t){if(!e.callbacks[a])return;const n=e.callbacks[a].indexOf(t);n!==-1&&(e.callbacks[a].splice(n,1),!(e.callbacks[a].length>0)&&(e.el.removeEventListener(a,e.realCallbacks[a]),delete e.callbacks[a],delete e.realCallbacks[a],e.realListenersCnt-=1))}function j8e(e,a,t){let n=sc.indexOf(e);n===-1&&(n=sc.length,sc.push(e),dy.push(B8e(e)));const i=dy[n];F8e(i,a,t)}function z8e(e,a,t){const n=sc.indexOf(e);if(n===-1)return;const i=dy[n];U8e(i,a,t),!(i.realListenersCnt>0)&&(sc.splice(n,1),dy.splice(n,1))}function $8e(e,a,t){for(let n=0,i=a.length;n<i;n+=1)j8e(e,a[n],t)}ld.listen=$8e;function K8e(e,a,t){for(let n=0,i=a.length;n<i;n+=1)z8e(e,a[n],t)}ld.unlisten=K8e;var zx={};Object.defineProperty(zx,"__esModule",{value:!0});const uc={};typeof document<"u"&&(uc.body=document.body,uc.window=window,uc.document=document);const UI=(()=>{if(typeof document<"u"&&document.body){const e=document.body;return typeof e.matches=="function"?"matches":typeof e.webkitMatchesSelector=="function"?"webkitMatchesSelector":typeof e.mozMatchesSelector=="function"?"mozMatchesSelector":typeof e.msMatchesSelector=="function"?"msMatchesSelector":typeof e.oMatchesSelector=="function"?"oMatchesSelector":null}return null})();function H8e(e,a){if(!e)return null;if(uc.hasOwnProperty(e))return uc[e];if(e[0]==="#")return document.getElementById(e.slice(1));if(UI===null)return null;let t=a;for(;t=t.parentElement;)if(t[UI](e))return t||null;return null}zx.default=H8e;var $x={};Object.defineProperty($x,"__esModule",{value:!0});function q8e(e){do{const a=window.getComputedStyle(e);if(a.transform!=="none"||a.webkitTransform!=="none")return e;e=e.parentElement||e.parentNode}while(e!==null&&e.nodeType===1);return null}$x.default=q8e;var Xu={};Object.defineProperty(Xu,"__esModule",{value:!0});Xu.isIntersecting=Xu.getRect=Xu.infiniteRect=void 0;Xu.infiniteRect={top:-1/0,bottom:1/0,height:1/0,left:-1/0,right:1/0,width:1/0};function V8e(e){return e&&"getBoundingClientRect"in e&&typeof e.getBoundingClientRect=="function"?e.getBoundingClientRect():e===window||e===document?{top:0,left:0,bottom:window.innerHeight,height:window.innerHeight,width:window.innerWidth,right:window.innerWidth}:{top:0,left:0,right:0,bottom:0,width:0,height:0}}Xu.getRect=V8e;function G8e(e,a,t,n){const i=e.top+t,r=e.bottom+n;return i>=a.top&&i<=a.bottom||r>=a.top&&r<=a.bottom||r>=a.bottom&&i<=a.top}Xu.isIntersecting=G8e;var Qz=Ve&&Ve.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Y9,"__esModule",{value:!0});const W8e=X,p0=ld,jI=Qz(zx),Y8e=Qz($x),f0=Xu,X8e=(e,a)=>{const{bottomOffset:t,hideOnBoundaryHit:n}=a,{top:i,height:r,width:s,boundaryBottom:u}=e;return n||i+r+t<u?{top:`${i}px`,width:`${s}px`,position:"fixed"}:!n&&u>0?{top:`${u-r-t}px`,width:`${s}px`,position:"fixed"}:{width:`${s}px`,bottom:`${t}px`,position:"absolute"}},Q8e=(e,a)=>{const{bottomOffset:t,hideOnBoundaryHit:n}=a,{bottom:i,height:r,width:s,boundaryTop:u}=e;return n||i-r-t>u?{width:`${s}px`,top:`${i-r}px`,position:"fixed"}:{width:`${s}px`,top:`${t}px`,position:"absolute"}},Z8e=(e,a,t)=>(e==="top"?X8e:Q8e)(t,a),J8e=(e,a)=>{const t=e.wrapperStyles,n=a.wrapperStyles;if(e.isFixed!==a.isFixed||e.height!==a.height||!t&&n||t&&!n)return!1;if(!n)return!0;for(const i in t)if(t.hasOwnProperty(i)&&t[i]!==n[i])return!1;return!0};class Zz extends W8e.Component{constructor(){super(...arguments),this.holderEl=null,this.wrapperEl=null,this.el=null,this.scrollEl=null,this.boundaryEl=null,this.disabled=!1,this.checkPositionIntervalId=null,this.lastMinHeight=null,this.state={isFixed:!1,wrapperStyles:void 0,holderStyles:void 0,height:0},this.holderRef=a=>{a!==this.holderEl&&(this.holderEl=a)},this.wrapperRef=a=>{a!==this.wrapperEl&&(this.wrapperEl=a,this.updateScrollEl(),this.updateBoundaryEl())},this.checkPosition=()=>{const{holderEl:a,wrapperEl:t,boundaryEl:n,scrollEl:i,disabled:r}=this;if(!i||!a||!t){console.error("Missing required elements:",{scrollEl:i,holderEl:a,wrapperEl:t});return}const{mode:s,onFixedToggle:u,offsetTransforms:o,isIOSFixEnabled:l,dontUpdateHolderHeightWhenSticky:g}=this.props;if(r){this.state.isFixed&&this.setState({isFixed:!1,wrapperStyles:{}});return}if(!a.getBoundingClientRect||!t.getBoundingClientRect)return;const d=a.getBoundingClientRect(),c=t.getBoundingClientRect(),p=n?(0,f0.getRect)(n):f0.infiniteRect,f=(0,f0.getRect)(i),h=this.isFixed(d,c,p,f);let y=null;if(o&&h&&i instanceof HTMLElement){const A=(0,Y8e.default)(i);A&&(y=(0,f0.getRect)(A))}const b=this.state.isFixed&&g&&this.lastMinHeight?this.lastMinHeight:c.height;this.lastMinHeight=b;const m=l?{transform:"translateZ(0)",WebkitTransform:"translateZ(0)"}:void 0,T={isFixed:h,height:c.height,holderStyles:{minHeight:`${b}px`},wrapperStyles:h?Object.assign(Object.assign({},m),Z8e(s,this.props,{boundaryTop:s==="bottom"?p.top:0,boundaryBottom:s==="top"?p.bottom:0,top:s==="top"?f.top-(y?y.top:0):0,bottom:s==="bottom"?f.bottom-(y?y.bottom:0):0,width:d.width,height:c.height})):m};h!==this.state.isFixed&&u&&typeof u=="function"&&u(h),J8e(this.state,T)||this.setState(T)}}isFixed(a,t,n,i){const{hideOnBoundaryHit:r,bottomOffset:s,topOffset:u,mode:o}=this.props;if(this.disabled||r&&n&&!(0,f0.isIntersecting)(n,i,u,s))return!1;const l=r?t.height+s:0;return o==="top"?a.top+u<i.top&&i.top+l<=n.bottom:a.bottom-u>i.bottom&&i.bottom-l>=n.top}updateScrollEl(){if(!this.wrapperEl)return;this.scrollEl&&((0,p0.unlisten)(this.scrollEl,["scroll"],this.checkPosition),this.scrollEl=null);const{scrollElement:a}=this.props;typeof a=="string"?this.scrollEl=(0,jI.default)(a,this.wrapperEl):this.scrollEl=a,this.scrollEl?(0,p0.listen)(this.scrollEl,["scroll"],this.checkPosition):console.error("Cannot find scrollElement "+(typeof a=="string"?a:"unknown"))}updateBoundaryEl(){if(!this.wrapperEl)return;const{boundaryElement:a}=this.props;this.boundaryEl=(0,jI.default)(a,this.wrapperEl),(this.boundaryEl===window||this.boundaryEl===document)&&(this.boundaryEl=null)}initialize(){const{positionRecheckInterval:a,disabled:t}=this.props;this.disabled=t,(0,p0.listen)(window,["scroll","resize","pageshow","load"],this.checkPosition),this.checkPosition(),a&&(this.checkPositionIntervalId=setInterval(this.checkPosition,a))}componentDidUpdate({scrollElement:a,boundaryElement:t,disabled:n}){(a!==this.props.scrollElement||this.scrollEl===null)&&this.updateScrollEl(),(t!==this.props.boundaryElement||this.boundaryEl===null)&&this.updateBoundaryEl(),n!==this.props.disabled&&(this.disabled=this.props.disabled,this.checkPosition())}componentDidMount(){this.initialize(),this.wrapperEl===null&&console.error("Wrapper element is missing, please make sure that you have assigned refs correctly")}componentWillUnmount(){this.scrollEl&&(0,p0.unlisten)(this.scrollEl,["scroll"],this.checkPosition),(0,p0.unlisten)(window,["scroll","resize","pageshow","load"],this.checkPosition),this.boundaryEl=null,this.scrollEl=null,this.checkPositionIntervalId&&clearInterval(this.checkPositionIntervalId)}render(){const{holderRef:a,wrapperRef:t}=this,{isFixed:n,wrapperStyles:i,holderStyles:r}=this.state;return this.props.children({holderRef:a,wrapperRef:t,isFixed:n,wrapperStyles:i,holderStyles:r})}}Zz.defaultProps={mode:"top",topOffset:0,bottomOffset:0,isIOSFixEnabled:!0,offsetTransforms:!0,disabled:!1,onFixedToggle:void 0,boundaryElement:void 0,hideOnBoundaryHit:!0,scrollElement:"window",dontUpdateHolderHeightWhenSticky:!1};Y9.default=Zz;var Jz={};(function(e){var a=Ve&&Ve.__rest||function(s,u){var o={};for(var l in s)Object.prototype.hasOwnProperty.call(s,l)&&u.indexOf(l)<0&&(o[l]=s[l]);if(s!=null&&typeof Object.getOwnPropertySymbols=="function")for(var g=0,l=Object.getOwnPropertySymbols(s);g<l.length;g++)u.indexOf(l[g])<0&&Object.prototype.propertyIsEnumerable.call(s,l[g])&&(o[l[g]]=s[l[g]]);return o},t=Ve&&Ve.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(e,"__esModule",{value:!0}),e.defaultProps=void 0;const n=t(X),i=t(Y9);e.defaultProps=Object.assign(Object.assign({},i.default.defaultProps),{stickyClassName:"sticky",wrapperClassName:"",stickyStyle:{}});function r(s){const u=Object.assign(Object.assign({},e.defaultProps),s),{mode:o,onFixedToggle:l,hideOnBoundaryHit:g,offsetTransforms:d,disabled:c,boundaryElement:p,scrollElement:f,bottomOffset:h,topOffset:y,positionRecheckInterval:b,children:m,isIOSFixEnabled:T,dontUpdateHolderHeightWhenSticky:A,wrapperClassName:v,stickyClassName:D,stickyStyle:k}=u,N=a(u,["mode","onFixedToggle","hideOnBoundaryHit","offsetTransforms","disabled","boundaryElement","scrollElement","bottomOffset","topOffset","positionRecheckInterval","children","isIOSFixEnabled","dontUpdateHolderHeightWhenSticky","wrapperClassName","stickyClassName","stickyStyle"]);return n.default.createElement(i.default,{mode:o,onFixedToggle:l,hideOnBoundaryHit:g,offsetTransforms:d,disabled:c,boundaryElement:p,scrollElement:f,bottomOffset:h,topOffset:y,positionRecheckInterval:b,isIOSFixEnabled:T,dontUpdateHolderHeightWhenSticky:A},({isFixed:q,wrapperStyles:R,wrapperRef:z,holderStyles:W,holderRef:K})=>n.default.createElement("div",Object.assign({},N,{ref:K,style:W}),n.default.createElement("div",Object.assign({},N,{className:`${v} ${q?D:""}`,style:q?Object.assign(Object.assign({},R),k):R,ref:z}),m)))}e.default=r})(Jz);var e$=Ve&&Ve.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(W9,"__esModule",{value:!0});W9.RenderPropSticky=void 0;const eke=e$(Y9);W9.RenderPropSticky=eke.default;const ake=e$(Jz);var ECe=W9.default=ake.default,tke={};/*! *****************************************************************************
Copyright (c) Microsoft Corporation.

Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */var _3=function(){return _3=Object.assign||function(e){for(var a,t=1,n=arguments.length;t<n;t++)for(var i in a=arguments[t])Object.prototype.hasOwnProperty.call(a,i)&&(e[i]=a[i]);return e},_3.apply(this,arguments)},I3,nke=function(e){var a;e?function(t){if(t)for(;t.lastChild;)t.lastChild.remove()}(typeof e=="string"?document.getElementById(e):e):(a=document.querySelector(".grecaptcha-badge"))&&a.parentNode&&document.body.removeChild(a.parentNode)},ike=function(e,a){nke(a),window.___grecaptcha_cfg=void 0;var t=document.querySelector("#"+e);t&&t.remove(),function(){var n=document.querySelector('script[src^="https://www.gstatic.com/recaptcha/releases"]');n&&n.remove()}()},rke=function(e){var a=e.render,t=e.onLoadCallbackName,n=e.language,i=e.onLoad,r=e.useRecaptchaNet,s=e.useEnterprise,u=e.scriptProps,o=u===void 0?{}:u,l=o.nonce,g=l===void 0?"":l,d=o.defer,c=d!==void 0&&d,p=o.async,f=p!==void 0&&p,h=o.id,y=h===void 0?"":h,b=o.appendTo,m=y||"google-recaptcha-v3";if(function(v){return!!document.querySelector("#"+v)}(m))i();else{var T=function(v){return"https://www."+(v.useRecaptchaNet?"recaptcha.net":"google.com")+"/recaptcha/"+(v.useEnterprise?"enterprise.js":"api.js")}({useEnterprise:s,useRecaptchaNet:r}),A=document.createElement("script");A.id=m,A.src=T+"?render="+a+(a==="explicit"?"&onload="+t:"")+(n?"&hl="+n:""),g&&(A.nonce=g),A.defer=!!c,A.async=!!f,A.onload=i,(b==="body"?document.body:document.getElementsByTagName("head")[0]).appendChild(A)}},yS=function(e){typeof process<"u"&&tke&&!1||console.warn(e)};(function(e){e.SCRIPT_NOT_AVAILABLE="Recaptcha script is not available"})(I3||(I3={}));var Kx=X.createContext({executeRecaptcha:function(){throw Error("GoogleReCaptcha Context has not yet been implemented, if you are using useGoogleReCaptcha hook, make sure the hook is called inside component wrapped by GoogleRecaptchaProvider")}});Kx.Consumer;function kCe(e){var a=e.reCaptchaKey,t=e.useEnterprise,n=t!==void 0&&t,i=e.useRecaptchaNet,r=i!==void 0&&i,s=e.scriptProps,u=e.language,o=e.container,l=e.children,g=X.useState(null),d=g[0],c=g[1],p=X.useRef(a),f=JSON.stringify(s),h=JSON.stringify(o==null?void 0:o.parameters);X.useEffect(function(){if(a){var m=(s==null?void 0:s.id)||"google-recaptcha-v3",T=(s==null?void 0:s.onLoadCallbackName)||"onRecaptchaLoadCallback";return window[T]=function(){var A=n?window.grecaptcha.enterprise:window.grecaptcha,v=_3({badge:"inline",size:"invisible",sitekey:a},(o==null?void 0:o.parameters)||{});p.current=A.render(o==null?void 0:o.element,v)},rke({render:o!=null&&o.element?"explicit":a,onLoadCallbackName:T,useEnterprise:n,useRecaptchaNet:r,scriptProps:s,language:u,onLoad:function(){if(window&&window.grecaptcha){var A=n?window.grecaptcha.enterprise:window.grecaptcha;A.ready(function(){c(A)})}else yS("<GoogleRecaptchaProvider /> "+I3.SCRIPT_NOT_AVAILABLE)},onError:function(){yS("Error loading google recaptcha script")}}),function(){ike(m,o==null?void 0:o.element)}}yS("<GoogleReCaptchaProvider /> recaptcha key not provided")},[n,r,f,h,u,a,o==null?void 0:o.element]);var y=X.useCallback(function(m){if(!d||!d.execute)throw new Error("<GoogleReCaptchaProvider /> Google Recaptcha has not been loaded");return d.execute(p.current,{action:m})},[d,p]),b=X.useMemo(function(){return{executeRecaptcha:d?y:void 0,container:o==null?void 0:o.element}},[y,d,o==null?void 0:o.element]);return Va.createElement(Kx.Provider,{value:b},l)}var CCe=function(){return X.useContext(Kx)};function a$(e,a){return e(a={exports:{}},a.exports),a.exports;/** @license React v16.13.1
 * react-is.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */}var rn=typeof Symbol=="function"&&Symbol.for,N3=rn?Symbol.for("react.element"):60103,L3=rn?Symbol.for("react.portal"):60106,rh=rn?Symbol.for("react.fragment"):60107,sh=rn?Symbol.for("react.strict_mode"):60108,uh=rn?Symbol.for("react.profiler"):60114,oh=rn?Symbol.for("react.provider"):60109,lh=rn?Symbol.for("react.context"):60110,R3=rn?Symbol.for("react.async_mode"):60111,cy=rn?Symbol.for("react.concurrent_mode"):60111,gh=rn?Symbol.for("react.forward_ref"):60112,dh=rn?Symbol.for("react.suspense"):60113,ske=rn?Symbol.for("react.suspense_list"):60120,ch=rn?Symbol.for("react.memo"):60115,ph=rn?Symbol.for("react.lazy"):60116,uke=rn?Symbol.for("react.block"):60121,oke=rn?Symbol.for("react.fundamental"):60117,lke=rn?Symbol.for("react.responder"):60118,gke=rn?Symbol.for("react.scope"):60119;function yi(e){if(typeof e=="object"&&e!==null){var a=e.$$typeof;switch(a){case N3:switch(e=e.type){case R3:case cy:case rh:case uh:case sh:case dh:return e;default:switch(e=e&&e.$$typeof){case lh:case gh:case ph:case ch:case oh:return e;default:return a}}case L3:return a}}}function zI(e){return yi(e)===cy}var dke={AsyncMode:R3,ConcurrentMode:cy,ContextConsumer:lh,ContextProvider:oh,Element:N3,ForwardRef:gh,Fragment:rh,Lazy:ph,Memo:ch,Portal:L3,Profiler:uh,StrictMode:sh,Suspense:dh,isAsyncMode:function(e){return zI(e)||yi(e)===R3},isConcurrentMode:zI,isContextConsumer:function(e){return yi(e)===lh},isContextProvider:function(e){return yi(e)===oh},isElement:function(e){return typeof e=="object"&&e!==null&&e.$$typeof===N3},isForwardRef:function(e){return yi(e)===gh},isFragment:function(e){return yi(e)===rh},isLazy:function(e){return yi(e)===ph},isMemo:function(e){return yi(e)===ch},isPortal:function(e){return yi(e)===L3},isProfiler:function(e){return yi(e)===uh},isStrictMode:function(e){return yi(e)===sh},isSuspense:function(e){return yi(e)===dh},isValidElementType:function(e){return typeof e=="string"||typeof e=="function"||e===rh||e===cy||e===uh||e===sh||e===dh||e===ske||typeof e=="object"&&e!==null&&(e.$$typeof===ph||e.$$typeof===ch||e.$$typeof===oh||e.$$typeof===lh||e.$$typeof===gh||e.$$typeof===oke||e.$$typeof===lke||e.$$typeof===gke||e.$$typeof===uke)},typeOf:yi},qa=a$(function(e,a){}),$I=(qa.AsyncMode,qa.ConcurrentMode,qa.ContextConsumer,qa.ContextProvider,qa.Element,qa.ForwardRef,qa.Fragment,qa.Lazy,qa.Memo,qa.Portal,qa.Profiler,qa.StrictMode,qa.Suspense,qa.isAsyncMode,qa.isConcurrentMode,qa.isContextConsumer,qa.isContextProvider,qa.isElement,qa.isForwardRef,qa.isFragment,qa.isLazy,qa.isMemo,qa.isPortal,qa.isProfiler,qa.isStrictMode,qa.isSuspense,qa.isValidElementType,qa.typeOf,a$(function(e){e.exports=dke})),cke={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},KI={};KI[$I.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},KI[$I.Memo]=cke;export{B0e as $,uCe as A,wp as B,iF as C,iCe as D,Bke as E,Yae as F,Oke as G,Lke as H,Zke as I,U9e as J,sCe as K,Vke as L,hCe as M,Ce as N,pCe as O,gCe as P,dCe as Q,lCe as R,hve as S,X0e as T,yCe as U,mCe as V,fg as W,ACe as X,O5e as Y,DCe as Z,kke as _,_ke as a,Eke as a0,Wke as a1,Bp as a2,Pke as a3,Yke as a4,Z9e as a5,vCe as a6,mF as a7,zke as a8,jke as a9,xCe as aa,Qke as ab,ECe as ac,CCe as ad,kCe as ae,k3e as af,Kke as ag,_9e as ah,$ke as ai,$ye as aj,y2e as ak,Hke as al,qke as am,Ve as an,an as ao,Va as ap,wke as b,fke as c,Tke as d,yhe as e,Fke as f,Hn as g,Mke as h,mke as i,nN as j,Uke as k,dF as l,Cke as m,nCe as n,bke as o,hke as p,Jke as q,X as r,Nke as s,T1e as t,Ike as u,aCe as v,eCe as w,tCe as x,Xke as y,Gke as z};
//# sourceMappingURL=vendor-7weKMr2-.js.map
