import{r as N,j as f,f as Xe,P as pr,g as qe,a as Rc,c as Pc}from"./jsx-runtime-CgWCn3gT.js";import{cP as Nc,v as Fc,cQ as so,ct as Lc,q as jt,s as Tt,w as Ln,u as Mc,cR as st,cS as Ha,cT as Zt,a6 as it,cU as qc,aq as Ze,cV as zc,F as Bc,cW as Lo,cX as Hc,cY as Uc,cZ as Gc,p as Mo,c_ as qo,c$ as Vc,m as Wc,I as Pe,az as Gt,r as Mn,d0 as Kc,A as Jc,aa as qn,at as zo,d1 as Zc,d2 as pl,d3 as Xc,d4 as Yc,d5 as Bo,d6 as Qc,d7 as Vt,aV as eu,d8 as tu,d9 as nu,da as gn,aT as ru,ae as Ho}from"./legacy-shell-D4JdMu14.js";import{u as _r,_ as au,f as ou,N as Ua}from"./useTranslation-CksCcIr-.js";import{a as kt}from"./index-ao6ir_VS.js";import{R as Lr,a as iu,T as Uo,F as su,p as lu,i as cu,M as uu,b as du,c as pu,d as fu}from"./ModelCard-Cbl5R8fS.js";import{l as j}from"./styled-components.browser.esm-CQ4IZagM.js";import{a as fl}from"./i18nInstance-C_7vXBXC.js";import{p as mu}from"./providerSeo-RwIhoovz.js";import{n as gu,R as $n,_ as He,C as ml,r as gl,Z as nn,e as Ga,w as Go,g as ht,f as Va,h as hl,j as fr,k as hu,l as vu,m as kn,s as yu,o as lo,p as co,q as bu,t as xu,v as rn,x as uo,y as Wa,z as Vo,A as wu,G as ln,B as vl,D as Su,E as _u,F as Pt,H as ue,I as ku,J as mr,K as Cu,L as Ot,M as et,N as $u,O as po,P as Ka,Q as Au,S as Qe,T as Iu,U as ju,V as Wo,W as bn,X as Tu,Y as xn,$ as Xt,a0 as Eu,a1 as Du,a2 as Ou,a3 as Ru,a4 as Pu,a5 as Nu,a6 as yl,a7 as Fu,u as an,a8 as Lu,a9 as Mu,aa as gr,ab as Yt,ac as bl,ad as Ko,ae as Ft,af as Jo,ag as Zo,ah as Xo,ai as Yo,aj as Mr,ak as Qo,al as qu,am as zu,an as Bu,ao as Hu,ap as Uu,aq as Gu,ar as ei,as as Vu,at as Wu,au as Ku,av as Ju,aw as hr,ax as xl,ay as Zu,az as Dt,aA as fo,aB as Xu,aC as ti,aD as Yu,aE as Qu,aF as mo,aG as wn,aH as qr,aI as ed,aJ as ni,aK as td,aL as nd,i as Ja,d as go,a as ho,c as vo,b as rd}from"./installCanvasRenderer-LvCAX0tA.js";import{T as ad}from"./index-6B3tFNLA.js";import{e as ri}from"./seoDom-D06K2jw6.js";import{a as od,u as id,P as ai,b as sd}from"./PricingPromotion-Cg1c_py4.js";import{i as oi,r as ld,s as cd,a as ud,b as dd,c as pd,d as fd,e as md,f as gd,g as hd,h as vd}from"./modelRetire-D9cZQWKz.js";import{A as yd}from"./index-NPPpTHXJ.js";import{M as ii}from"./index-DNb1lEOy.js";import{S as si}from"./index-JBW8Yjgf.js";import{S as bd}from"./index-CcHKj0sM.js";import"./preload-helper-BXl3LOEh.js";import"./index-DKjRcP81.js";import"./SearchOutlined-4CAPyJbl.js";import"./useVariants-DSpotrXM.js";var xd={};const wd=15e3;function Sd(e,t){const n=xd.REACT_APP_PLAYGROUND_EMBED_URL,r=new URL(n||so(e));if(!["https:","http:"].includes(r.protocol))throw new Error("Invalid Playground origin");return r.searchParams.set("model",e),r.searchParams.set("embed","1"),typeof window<"u"&&r.searchParams.set("returnTo",window.location.href),t&&r.searchParams.set("lang",t),r.toString()}function _d({open:e,modelId:t,onClose:n}){const{t:r,i18n:a}=_r(),[o,l]=N.useState(!1),[s,i]=N.useState("loading"),[c,p]=N.useState(0);N.useEffect(()=>{e&&l(!0)},[e]);const u=N.useMemo(()=>t?Sd(t,a.resolvedLanguage||a.language):"",[t,a.resolvedLanguage,a.language]);return N.useEffect(()=>{i("loading")},[u,c]),N.useEffect(()=>{if(!o||!u||s!=="loading")return;const m=setTimeout(()=>i("failed"),wd);return()=>clearTimeout(m)},[o,u,c,s]),f.jsx(Nc,{open:e,onClose:n,title:r("try in playground"),width:"min(760px, 100vw)",placement:"right",rootClassName:"ah-ds model-playground-drawer",styles:{body:{padding:0,overflow:"hidden",position:"relative"},header:{minHeight:56}},destroyOnClose:!1,keyboard:!0,maskClosable:!0,children:o&&u&&f.jsxs(f.Fragment,{children:[s==="loading"&&f.jsx("div",{className:"model-playground-loading",role:"status",children:f.jsx(Fc,{})}),s==="failed"&&f.jsxs("div",{className:"model-playground-failed",role:"alert",children:[f.jsx("p",{children:r("playground drawer load failed")}),f.jsxs("div",{className:"model-playground-failed-actions",children:[f.jsx("button",{type:"button",className:"ds-button ds-button-secondary",onClick:()=>p(m=>m+1),children:r("playground drawer retry")}),f.jsx("a",{className:"ds-button ds-button-text",href:so(t),target:"_blank",rel:"noopener noreferrer",children:r("playground drawer open new tab")})]})]}),f.jsx("iframe",{src:u,title:`${r("try in playground")} · ${t}`,className:"model-playground-frame",onLoad:()=>i("loaded"),onError:()=>i("failed"),allow:"clipboard-write; microphone",referrerPolicy:"strict-origin-when-cross-origin"},`${t}-${c}`)]})})}function kd(e,t){var n=gu(t.get("padding")),r=t.getItemStyle(["color","opacity"]);return r.fill=t.get("backgroundColor"),e=new $n({shape:{x:e.x-n[3],y:e.y-n[0],width:e.width+n[1]+n[3],height:e.height+n[0]+n[2],r:t.get("borderRadius")},style:r,silent:!0,z2:-1}),e}var Cd=(function(e){He(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n.layoutMode={type:"box",ignoreSize:!0},n}return t.type="title",t.defaultOption={z:6,show:!0,text:"",target:"blank",subtext:"",subtarget:"blank",left:0,top:0,backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,padding:5,itemGap:10,textStyle:{fontSize:18,fontWeight:"bold",color:"#464646"},subtextStyle:{fontSize:12,color:"#6E7079"}},t})(ml),$d=(function(e){He(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n}return t.prototype.render=function(n,r,a){if(this.group.removeAll(),!!n.get("show")){var o=this.group,l=n.getModel("textStyle"),s=n.getModel("subtextStyle"),i=n.get("textAlign"),c=gl(n.get("textBaseline"),n.get("textVerticalAlign")),p=new nn({style:Ga(l,{text:n.get("text"),fill:l.getTextColor()},{disableBox:!0}),z2:10}),u=p.getBoundingRect(),m=n.get("subtext"),d=new nn({style:Ga(s,{text:m,fill:s.getTextColor(),y:u.height+n.get("itemGap"),verticalAlign:"top"},{disableBox:!0}),z2:10}),b=n.get("link"),g=n.get("sublink"),v=n.get("triggerEvent",!0);p.silent=!b&&!v,d.silent=!g&&!v,b&&p.on("click",function(){Go(b,"_"+n.get("target"))}),g&&d.on("click",function(){Go(g,"_"+n.get("subtarget"))}),ht(p).eventData=ht(d).eventData=v?{componentType:"title",componentIndex:n.componentIndex}:null,o.add(p),m&&o.add(d);var w=o.getBoundingRect(),y=n.getBoxLayoutParams();y.width=w.width,y.height=w.height;var h=Va(y,{width:a.getWidth(),height:a.getHeight()},n.get("padding"));i||(i=n.get("left")||n.get("right"),i==="middle"&&(i="center"),i==="right"?h.x+=h.width:i==="center"&&(h.x+=h.width/2)),c||(c=n.get("top")||n.get("bottom"),c==="center"&&(c="middle"),c==="bottom"?h.y+=h.height:c==="middle"&&(h.y+=h.height/2),c=c||"top"),o.x=h.x,o.y=h.y,o.markRedraw();var C={align:i,verticalAlign:c};p.setStyle(C),d.setStyle(C),w=o.getBoundingRect();var S=h.margin,x=n.getItemStyle(["color","opacity"]);x.fill=n.get("backgroundColor");var k=new $n({shape:{x:w.x-S[3],y:w.y-S[0],width:w.width+S[1]+S[3],height:w.height+S[0]+S[2],r:n.get("borderRadius")},style:x,subPixelOptimize:!0,silent:!0});o.add(k)}},t.type="title",t})(hl);function Ad(e){e.registerComponentModel(Cd),e.registerComponentView($d)}var yo=(function(e){He(t,e);function t(n,r,a,o){var l=e.call(this)||this;return l.updateData(n,r,a,o),l}return t.prototype._createSymbol=function(n,r,a,o,l){this.removeAll();var s=fr(n,-1,-1,2,2,null,l);s.attr({z2:100,culling:!0,scaleX:o[0]/2,scaleY:o[1]/2}),s.drift=Id,this._symbolType=n,this.add(s)},t.prototype.stopSymbolAnimation=function(n){this.childAt(0).stopAnimation(null,n)},t.prototype.getSymbolType=function(){return this._symbolType},t.prototype.getSymbolPath=function(){return this.childAt(0)},t.prototype.highlight=function(){hu(this.childAt(0))},t.prototype.downplay=function(){vu(this.childAt(0))},t.prototype.setZ=function(n,r){var a=this.childAt(0);a.zlevel=n,a.z=r},t.prototype.setDraggable=function(n,r){var a=this.childAt(0);a.draggable=n,a.cursor=!r&&n?"move":a.cursor},t.prototype.updateData=function(n,r,a,o){this.silent=!1;var l=n.getItemVisual(r,"symbol")||"circle",s=n.hostModel,i=t.getSymbolSize(n,r),c=l!==this._symbolType,p=o&&o.disableAnimation;if(c){var u=n.getItemVisual(r,"symbolKeepAspect");this._createSymbol(l,n,r,i,u)}else{var m=this.childAt(0);m.silent=!1;var d={scaleX:i[0]/2,scaleY:i[1]/2};p?m.attr(d):kn(m,d,s,r),yu(m)}if(this._updateCommon(n,r,i,a,o),c){var m=this.childAt(0);if(!p){var d={scaleX:this._sizeX,scaleY:this._sizeY,style:{opacity:m.style.opacity}};m.scaleX=m.scaleY=0,m.style.opacity=0,lo(m,d,s,r)}}p&&this.childAt(0).stopAnimation("leave")},t.prototype._updateCommon=function(n,r,a,o,l){var s=this.childAt(0),i=n.hostModel,c,p,u,m,d,b,g,v,w;if(o&&(c=o.emphasisItemStyle,p=o.blurItemStyle,u=o.selectItemStyle,m=o.focus,d=o.blurScope,g=o.labelStatesModels,v=o.hoverScale,w=o.cursorStyle,b=o.emphasisDisabled),!o||n.hasItemOption){var y=o&&o.itemModel?o.itemModel:n.getItemModel(r),h=y.getModel("emphasis");c=h.getModel("itemStyle").getItemStyle(),u=y.getModel(["select","itemStyle"]).getItemStyle(),p=y.getModel(["blur","itemStyle"]).getItemStyle(),m=h.get("focus"),d=h.get("blurScope"),b=h.get("disabled"),g=co(y),v=h.getShallow("scale"),w=y.getShallow("cursor")}var C=n.getItemVisual(r,"symbolRotate");s.attr("rotation",(C||0)*Math.PI/180||0);var S=bu(n.getItemVisual(r,"symbolOffset"),a);S&&(s.x=S[0],s.y=S[1]),w&&s.attr("cursor",w);var x=n.getItemVisual(r,"style"),k=x.fill;if(s instanceof xu){var A=s.style;s.useStyle(rn({image:A.image,x:A.x,y:A.y,width:A.width,height:A.height},x))}else s.__isEmptyBrush?s.useStyle(rn({},x)):s.useStyle(x),s.style.decal=null,s.setColor(k,l&&l.symbolInnerColor),s.style.strokeNoScale=!0;var $=n.getItemVisual(r,"liftZ"),I=this._z2;$!=null?I==null&&(this._z2=s.z2,s.z2+=$):I!=null&&(s.z2=I,this._z2=null);var T=l&&l.useNameLabel;uo(s,g,{labelFetcher:i,labelDataIndex:r,defaultText:R,inheritColor:k,defaultOpacity:x.opacity});function R(B){return T?n.getName(B):vl(n,B)}this._sizeX=a[0]/2,this._sizeY=a[1]/2;var L=s.ensureState("emphasis");L.style=c,s.ensureState("select").style=u,s.ensureState("blur").style=p;var U=v==null||v===!0?Math.max(1.1,3/this._sizeY):isFinite(v)&&v>0?+v:1;L.scaleX=this._sizeX*U,L.scaleY=this._sizeY*U,this.setSymbolScale(1),Wa(this,m,d,b)},t.prototype.setSymbolScale=function(n){this.scaleX=this.scaleY=n},t.prototype.fadeOut=function(n,r,a){var o=this.childAt(0),l=ht(this).dataIndex,s=a&&a.animation;if(this.silent=o.silent=!0,a&&a.fadeLabel){var i=o.getTextContent();i&&Vo(i,{style:{opacity:0}},r,{dataIndex:l,removeOpt:s,cb:function(){o.removeTextContent()}})}else o.removeTextContent();Vo(o,{style:{opacity:0},scaleX:0,scaleY:0},r,{dataIndex:l,cb:n,removeOpt:s})},t.getSymbolSize=function(n,r){return wu(n.getItemVisual(r,"symbolSize"))},t})(ln);function Id(e,t){this.parent.drift(e,t)}function zr(e,t,n,r){return t&&!isNaN(t[0])&&!isNaN(t[1])&&!(r.isIgnore&&r.isIgnore(n))&&!(r.clipShape&&!r.clipShape.contain(t[0],t[1]))&&e.getItemVisual(n,"symbol")!=="none"}function li(e){return e!=null&&!_u(e)&&(e={isIgnore:e}),e||{}}function ci(e){var t=e.hostModel,n=t.getModel("emphasis");return{emphasisItemStyle:n.getModel("itemStyle").getItemStyle(),blurItemStyle:t.getModel(["blur","itemStyle"]).getItemStyle(),selectItemStyle:t.getModel(["select","itemStyle"]).getItemStyle(),focus:n.get("focus"),blurScope:n.get("blurScope"),emphasisDisabled:n.get("disabled"),hoverScale:n.get("scale"),labelStatesModels:co(t),cursorStyle:t.get("cursor")}}var jd=(function(){function e(t){this.group=new ln,this._SymbolCtor=t||yo}return e.prototype.updateData=function(t,n){this._progressiveEls=null,n=li(n);var r=this.group,a=t.hostModel,o=this._data,l=this._SymbolCtor,s=n.disableAnimation,i=ci(t),c={disableAnimation:s},p=n.getSymbolPoint||function(u){return t.getItemLayout(u)};o||r.removeAll(),t.diff(o).add(function(u){var m=p(u);if(zr(t,m,u,n)){var d=new l(t,u,i,c);d.setPosition(m),t.setItemGraphicEl(u,d),r.add(d)}}).update(function(u,m){var d=o.getItemGraphicEl(m),b=p(u);if(!zr(t,b,u,n)){r.remove(d);return}var g=t.getItemVisual(u,"symbol")||"circle",v=d&&d.getSymbolType&&d.getSymbolType();if(!d||v&&v!==g)r.remove(d),d=new l(t,u,i,c),d.setPosition(b);else{d.updateData(t,u,i,c);var w={x:b[0],y:b[1]};s?d.attr(w):kn(d,w,a)}r.add(d),t.setItemGraphicEl(u,d)}).remove(function(u){var m=o.getItemGraphicEl(u);m&&m.fadeOut(function(){r.remove(m)},a)}).execute(),this._getSymbolPoint=p,this._data=t},e.prototype.updateLayout=function(){var t=this,n=this._data;n&&n.eachItemGraphicEl(function(r,a){var o=t._getSymbolPoint(a);r.setPosition(o),r.markRedraw()})},e.prototype.incrementalPrepareUpdate=function(t){this._seriesScope=ci(t),this._data=null,this.group.removeAll()},e.prototype.incrementalUpdate=function(t,n,r){this._progressiveEls=[],r=li(r);function a(i){i.isGroup||(i.incremental=!0,i.ensureState("emphasis").hoverLayer=!0)}for(var o=t.start;o<t.end;o++){var l=n.getItemLayout(o);if(zr(n,l,o,r)){var s=new this._SymbolCtor(n,o,this._seriesScope);s.traverse(a),s.setPosition(l),this.group.add(s),n.setItemGraphicEl(o,s),this._progressiveEls.push(s)}}},e.prototype.eachRendered=function(t){Su(this._progressiveEls||this.group,t)},e.prototype.remove=function(t){var n=this.group,r=this._data;r&&t?r.eachItemGraphicEl(function(a){a.fadeOut(function(){n.remove(a)},r.hostModel)}):n.removeAll()},e})(),Td=function(e,t){if(t==="all")return{type:"all",title:e.getLocaleModel().get(["legend","selector","all"])};if(t==="inverse")return{type:"inverse",title:e.getLocaleModel().get(["legend","selector","inverse"])}},Za=(function(e){He(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n.layoutMode={type:"box",ignoreSize:!0},n}return t.prototype.init=function(n,r,a){this.mergeDefaultAndTheme(n,a),n.selected=n.selected||{},this._updateSelector(n)},t.prototype.mergeOption=function(n,r){e.prototype.mergeOption.call(this,n,r),this._updateSelector(n)},t.prototype._updateSelector=function(n){var r=n.selector,a=this.ecModel;r===!0&&(r=n.selector=["all","inverse"]),Pt(r)&&ue(r,function(o,l){mr(o)&&(o={type:o}),r[l]=ku(o,Td(a,o.type))})},t.prototype.optionUpdated=function(){this._updateData(this.ecModel);var n=this._data;if(n[0]&&this.get("selectedMode")==="single"){for(var r=!1,a=0;a<n.length;a++){var o=n[a].get("name");if(this.isSelected(o)){this.select(o),r=!0;break}}!r&&this.select(n[0].get("name"))}},t.prototype._updateData=function(n){var r=[],a=[];n.eachRawSeries(function(i){var c=i.name;a.push(c);var p;if(i.legendVisualProvider){var u=i.legendVisualProvider,m=u.getAllNames();n.isSeriesFiltered(i)||(a=a.concat(m)),m.length?r=r.concat(m):p=!0}else p=!0;p&&Cu(i)&&r.push(i.name)}),this._availableNames=a;var o=this.get("data")||r,l=Ot(),s=et(o,function(i){return(mr(i)||po(i))&&(i={name:i}),l.get(i.name)?null:(l.set(i.name,!0),new $u(i,this,this.ecModel))},this);this._data=Ka(s,function(i){return!!i})},t.prototype.getData=function(){return this._data},t.prototype.select=function(n){var r=this.option.selected,a=this.get("selectedMode");if(a==="single"){var o=this._data;ue(o,function(l){r[l.get("name")]=!1})}r[n]=!0},t.prototype.unSelect=function(n){this.get("selectedMode")!=="single"&&(this.option.selected[n]=!1)},t.prototype.toggleSelected=function(n){var r=this.option.selected;r.hasOwnProperty(n)||(r[n]=!0),this[r[n]?"unSelect":"select"](n)},t.prototype.allSelect=function(){var n=this._data,r=this.option.selected;ue(n,function(a){r[a.get("name",!0)]=!0})},t.prototype.inverseSelect=function(){var n=this._data,r=this.option.selected;ue(n,function(a){var o=a.get("name",!0);r.hasOwnProperty(o)||(r[o]=!0),r[o]=!r[o]})},t.prototype.isSelected=function(n){var r=this.option.selected;return!(r.hasOwnProperty(n)&&!r[n])&&Au(this._availableNames,n)>=0},t.prototype.getOrient=function(){return this.get("orient")==="vertical"?{index:1,name:"vertical"}:{index:0,name:"horizontal"}},t.type="legend.plain",t.dependencies=["series"],t.defaultOption={z:4,show:!0,orient:"horizontal",left:"center",top:0,align:"auto",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemGap:10,itemWidth:25,itemHeight:14,symbolRotate:"inherit",symbolKeepAspect:!0,inactiveColor:"#ccc",inactiveBorderColor:"#ccc",inactiveBorderWidth:"auto",itemStyle:{color:"inherit",opacity:"inherit",borderColor:"inherit",borderWidth:"auto",borderCap:"inherit",borderJoin:"inherit",borderDashOffset:"inherit",borderMiterLimit:"inherit"},lineStyle:{width:"auto",color:"inherit",inactiveColor:"#ccc",inactiveWidth:2,opacity:"inherit",type:"inherit",cap:"inherit",join:"inherit",dashOffset:"inherit",miterLimit:"inherit"},textStyle:{color:"#333"},selectedMode:!0,selector:!1,selectorLabel:{show:!0,borderRadius:10,padding:[3,5,3,5],fontSize:12,fontFamily:"sans-serif",color:"#666",borderWidth:1,borderColor:"#666"},emphasis:{selectorLabel:{show:!0,color:"#eee",backgroundColor:"#666"}},selectorPosition:"auto",selectorItemGap:7,selectorButtonGap:10,tooltip:{show:!1}},t})(ml),Wt=Xt,Xa=ue,zn=ln,wl=(function(e){He(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n.newlineDisabled=!1,n}return t.prototype.init=function(){this.group.add(this._contentGroup=new zn),this.group.add(this._selectorGroup=new zn),this._isFirstRender=!0},t.prototype.getContentGroup=function(){return this._contentGroup},t.prototype.getSelectorGroup=function(){return this._selectorGroup},t.prototype.render=function(n,r,a){var o=this._isFirstRender;if(this._isFirstRender=!1,this.resetInner(),!!n.get("show",!0)){var l=n.get("align"),s=n.get("orient");(!l||l==="auto")&&(l=n.get("left")==="right"&&s==="vertical"?"right":"left");var i=n.get("selector",!0),c=n.get("selectorPosition",!0);i&&(!c||c==="auto")&&(c=s==="horizontal"?"end":"start"),this.renderInner(l,n,r,a,i,s,c);var p=n.getBoxLayoutParams(),u={width:a.getWidth(),height:a.getHeight()},m=n.get("padding"),d=Va(p,u,m),b=this.layoutInner(n,l,d,o,i,c),g=Va(Qe({width:b.width,height:b.height},p),u,m);this.group.x=g.x-b.x,this.group.y=g.y-b.y,this.group.markRedraw(),this.group.add(this._backgroundEl=kd(b,n))}},t.prototype.resetInner=function(){this.getContentGroup().removeAll(),this._backgroundEl&&this.group.remove(this._backgroundEl),this.getSelectorGroup().removeAll()},t.prototype.renderInner=function(n,r,a,o,l,s,i){var c=this.getContentGroup(),p=Ot(),u=r.get("selectedMode"),m=[];a.eachRawSeries(function(d){!d.get("legendHoverLink")&&m.push(d.id)}),Xa(r.getData(),function(d,b){var g=d.get("name");if(!this.newlineDisabled&&(g===""||g===`
`)){var v=new zn;v.newline=!0,c.add(v);return}var w=a.getSeriesByName(g)[0];if(!p.get(g))if(w){var y=w.getData(),h=y.getVisual("legendLineStyle")||{},C=y.getVisual("legendIcon"),S=y.getVisual("style"),x=this._createItem(w,g,b,d,r,n,h,S,C,u,o);x.on("click",Wt(ui,g,null,o,m)).on("mouseover",Wt(Ya,w.name,null,o,m)).on("mouseout",Wt(Qa,w.name,null,o,m)),a.ssr&&x.eachChild(function(k){var A=ht(k);A.seriesIndex=w.seriesIndex,A.dataIndex=b,A.ssrType="legend"}),p.set(g,!0)}else a.eachRawSeries(function(k){if(!p.get(g)&&k.legendVisualProvider){var A=k.legendVisualProvider;if(!A.containName(g))return;var $=A.indexOfName(g),I=A.getItemVisual($,"style"),T=A.getItemVisual($,"legendIcon"),R=Iu(I.fill);R&&R[3]===0&&(R[3]=.2,I=rn(rn({},I),{fill:ju(R,"rgba")}));var L=this._createItem(k,g,b,d,r,n,{},I,T,u,o);L.on("click",Wt(ui,null,g,o,m)).on("mouseover",Wt(Ya,null,g,o,m)).on("mouseout",Wt(Qa,null,g,o,m)),a.ssr&&L.eachChild(function(U){var B=ht(U);B.seriesIndex=k.seriesIndex,B.dataIndex=b,B.ssrType="legend"}),p.set(g,!0)}},this)},this),l&&this._createSelector(l,r,o,s,i)},t.prototype._createSelector=function(n,r,a,o,l){var s=this.getSelectorGroup();Xa(n,function(c){var p=c.type,u=new nn({style:{x:0,y:0,align:"center",verticalAlign:"middle"},onclick:function(){a.dispatchAction({type:p==="all"?"legendAllSelect":"legendInverseSelect",legendId:r.id})}});s.add(u);var m=r.getModel("selectorLabel"),d=r.getModel(["emphasis","selectorLabel"]);uo(u,{normal:m,emphasis:d},{defaultText:c.title}),Wo(u)})},t.prototype._createItem=function(n,r,a,o,l,s,i,c,p,u,m){var d=n.visualDrawType,b=l.get("itemWidth"),g=l.get("itemHeight"),v=l.isSelected(r),w=o.get("symbolRotate"),y=o.get("symbolKeepAspect"),h=o.get("icon");p=h||p||"roundRect";var C=Ed(p,o,i,c,d,v,m),S=new zn,x=o.getModel("textStyle");if(bn(n.getLegendIcon)&&(!h||h==="inherit"))S.add(n.getLegendIcon({itemWidth:b,itemHeight:g,icon:p,iconRotate:w,itemStyle:C.itemStyle,lineStyle:C.lineStyle,symbolKeepAspect:y}));else{var k=h==="inherit"&&n.getData().getVisual("symbol")?w==="inherit"?n.getData().getVisual("symbolRotate"):w:0;S.add(Dd({itemWidth:b,itemHeight:g,icon:p,iconRotate:k,itemStyle:C.itemStyle,symbolKeepAspect:y}))}var A=s==="left"?b+5:-5,$=s,I=l.get("formatter"),T=r;mr(I)&&I?T=I.replace("{name}",r??""):bn(I)&&(T=I(r));var R=v?x.getTextColor():o.get("inactiveColor");S.add(new nn({style:Ga(x,{text:T,x:A,y:g/2,fill:R,align:$,verticalAlign:"middle"},{inheritColor:R})}));var L=new $n({shape:S.getBoundingRect(),style:{fill:"transparent"}}),U=o.getModel("tooltip");return U.get("show")&&Tu({el:L,componentModel:l,itemName:r,itemTooltipOption:U.option}),S.add(L),S.eachChild(function(B){B.silent=!0}),L.silent=!u,this.getContentGroup().add(S),Wo(S),S.__legendDataIndex=a,S},t.prototype.layoutInner=function(n,r,a,o,l,s){var i=this.getContentGroup(),c=this.getSelectorGroup();xn(n.get("orient"),i,n.get("itemGap"),a.width,a.height);var p=i.getBoundingRect(),u=[-p.x,-p.y];if(c.markRedraw(),i.markRedraw(),l){xn("horizontal",c,n.get("selectorItemGap",!0));var m=c.getBoundingRect(),d=[-m.x,-m.y],b=n.get("selectorButtonGap",!0),g=n.getOrient().index,v=g===0?"width":"height",w=g===0?"height":"width",y=g===0?"y":"x";s==="end"?d[g]+=p[v]+b:u[g]+=m[v]+b,d[1-g]+=p[w]/2-m[w]/2,c.x=d[0],c.y=d[1],i.x=u[0],i.y=u[1];var h={x:0,y:0};return h[v]=p[v]+b+m[v],h[w]=Math.max(p[w],m[w]),h[y]=Math.min(0,m[y]+d[1-g]),h}else return i.x=u[0],i.y=u[1],this.group.getBoundingRect()},t.prototype.remove=function(){this.getContentGroup().removeAll(),this._isFirstRender=!0},t.type="legend.plain",t})(hl);function Ed(e,t,n,r,a,o,l){function s(v,w){v.lineWidth==="auto"&&(v.lineWidth=w.lineWidth>0?2:0),Xa(v,function(y,h){v[h]==="inherit"&&(v[h]=w[h])})}var i=t.getModel("itemStyle"),c=i.getItemStyle(),p=e.lastIndexOf("empty",0)===0?"fill":"stroke",u=i.getShallow("decal");c.decal=!u||u==="inherit"?r.decal:Eu(u,l),c.fill==="inherit"&&(c.fill=r[a]),c.stroke==="inherit"&&(c.stroke=r[p]),c.opacity==="inherit"&&(c.opacity=(a==="fill"?r:n).opacity),s(c,r);var m=t.getModel("lineStyle"),d=m.getLineStyle();if(s(d,n),c.fill==="auto"&&(c.fill=r.fill),c.stroke==="auto"&&(c.stroke=r.fill),d.stroke==="auto"&&(d.stroke=r.fill),!o){var b=t.get("inactiveBorderWidth"),g=c[p];c.lineWidth=b==="auto"?r.lineWidth>0&&g?2:0:c.lineWidth,c.fill=t.get("inactiveColor"),c.stroke=t.get("inactiveBorderColor"),d.stroke=m.get("inactiveColor"),d.lineWidth=m.get("inactiveWidth")}return{itemStyle:c,lineStyle:d}}function Dd(e){var t=e.icon||"roundRect",n=fr(t,0,0,e.itemWidth,e.itemHeight,e.itemStyle.fill,e.symbolKeepAspect);return n.setStyle(e.itemStyle),n.rotation=(e.iconRotate||0)*Math.PI/180,n.setOrigin([e.itemWidth/2,e.itemHeight/2]),t.indexOf("empty")>-1&&(n.style.stroke=n.style.fill,n.style.fill="#fff",n.style.lineWidth=2),n}function ui(e,t,n,r){Qa(e,t,n,r),n.dispatchAction({type:"legendToggleSelect",name:e??t}),Ya(e,t,n,r)}function Sl(e){for(var t=e.getZr().storage.getDisplayList(),n,r=0,a=t.length;r<a&&!(n=t[r].states.emphasis);)r++;return n&&n.hoverLayer}function Ya(e,t,n,r){Sl(n)||n.dispatchAction({type:"highlight",seriesName:e,name:t,excludeSeriesId:r})}function Qa(e,t,n,r){Sl(n)||n.dispatchAction({type:"downplay",seriesName:e,name:t,excludeSeriesId:r})}function Od(e){var t=e.findComponents({mainType:"legend"});t&&t.length&&e.filterSeries(function(n){for(var r=0;r<t.length;r++)if(!t[r].isSelected(n.name))return!1;return!0})}function hn(e,t,n){var r=e==="allSelect"||e==="inverseSelect",a={},o=[];n.eachComponent({mainType:"legend",query:t},function(s){r?s[e]():s[e](t.name),di(s,a),o.push(s.componentIndex)});var l={};return n.eachComponent("legend",function(s){ue(a,function(i,c){s[i?"select":"unSelect"](c)}),di(s,l)}),r?{selected:l,legendIndex:o}:{name:t.name,selected:l}}function di(e,t){var n=t||{};return ue(e.getData(),function(r){var a=r.get("name");if(!(a===`
`||a==="")){var o=e.isSelected(a);Du(n,a)?n[a]=n[a]&&o:n[a]=o}}),n}function Rd(e){e.registerAction("legendToggleSelect","legendselectchanged",Xt(hn,"toggleSelected")),e.registerAction("legendAllSelect","legendselectall",Xt(hn,"allSelect")),e.registerAction("legendInverseSelect","legendinverseselect",Xt(hn,"inverseSelect")),e.registerAction("legendSelect","legendselected",Xt(hn,"select")),e.registerAction("legendUnSelect","legendunselected",Xt(hn,"unSelect"))}function _l(e){e.registerComponentModel(Za),e.registerComponentView(wl),e.registerProcessor(e.PRIORITY.PROCESSOR.SERIES_FILTER,Od),e.registerSubTypeDefaulter("legend",function(){return"plain"}),Rd(e)}var Pd=(function(e){He(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n}return t.prototype.setScrollDataIndex=function(n){this.option.scrollDataIndex=n},t.prototype.init=function(n,r,a){var o=Ou(n);e.prototype.init.call(this,n,r,a),pi(this,n,o)},t.prototype.mergeOption=function(n,r){e.prototype.mergeOption.call(this,n,r),pi(this,this.option,n)},t.type="legend.scroll",t.defaultOption=Ru(Za.defaultOption,{scrollDataIndex:0,pageButtonItemGap:5,pageButtonGap:null,pageButtonPosition:"end",pageFormatter:"{current}/{total}",pageIcons:{horizontal:["M0,0L12,-10L12,10z","M0,0L-12,-10L-12,10z"],vertical:["M0,0L20,0L10,-20z","M0,0L20,0L10,20z"]},pageIconColor:"#2f4554",pageIconInactiveColor:"#aaa",pageIconSize:15,pageTextStyle:{color:"#333"},animationDurationUpdate:800}),t})(Za);function pi(e,t,n){var r=e.getOrient(),a=[1,1];a[r.index]=0,Pu(t,n,{type:"box",ignoreSize:!!a})}var fi=ln,Br=["width","height"],Hr=["x","y"],Nd=(function(e){He(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n.newlineDisabled=!0,n._currentIndex=0,n}return t.prototype.init=function(){e.prototype.init.call(this),this.group.add(this._containerGroup=new fi),this._containerGroup.add(this.getContentGroup()),this.group.add(this._controllerGroup=new fi)},t.prototype.resetInner=function(){e.prototype.resetInner.call(this),this._controllerGroup.removeAll(),this._containerGroup.removeClipPath(),this._containerGroup.__rectSize=null},t.prototype.renderInner=function(n,r,a,o,l,s,i){var c=this;e.prototype.renderInner.call(this,n,r,a,o,l,s,i);var p=this._controllerGroup,u=r.get("pageIconSize",!0),m=Pt(u)?u:[u,u];b("pagePrev",0);var d=r.getModel("pageTextStyle");p.add(new nn({name:"pageText",style:{text:"xx/xx",fill:d.getTextColor(),font:d.getFont(),verticalAlign:"middle",align:"center"},silent:!0})),b("pageNext",1);function b(g,v){var w=g+"DataIndex",y=Nu(r.get("pageIcons",!0)[r.getOrient().name][v],{onclick:yl(c._pageGo,c,w,r,o)},{x:-m[0]/2,y:-m[1]/2,width:m[0],height:m[1]});y.name=g,p.add(y)}},t.prototype.layoutInner=function(n,r,a,o,l,s){var i=this.getSelectorGroup(),c=n.getOrient().index,p=Br[c],u=Hr[c],m=Br[1-c],d=Hr[1-c];l&&xn("horizontal",i,n.get("selectorItemGap",!0));var b=n.get("selectorButtonGap",!0),g=i.getBoundingRect(),v=[-g.x,-g.y],w=Fu(a);l&&(w[p]=a[p]-g[p]-b);var y=this._layoutContentAndController(n,o,w,c,p,m,d,u);if(l){if(s==="end")v[c]+=y[p]+b;else{var h=g[p]+b;v[c]-=h,y[u]-=h}y[p]+=g[p]+b,v[1-c]+=y[d]+y[m]/2-g[m]/2,y[m]=Math.max(y[m],g[m]),y[d]=Math.min(y[d],g[d]+v[1-c]),i.x=v[0],i.y=v[1],i.markRedraw()}return y},t.prototype._layoutContentAndController=function(n,r,a,o,l,s,i,c){var p=this.getContentGroup(),u=this._containerGroup,m=this._controllerGroup;xn(n.get("orient"),p,n.get("itemGap"),o?a.width:null,o?null:a.height),xn("horizontal",m,n.get("pageButtonItemGap",!0));var d=p.getBoundingRect(),b=m.getBoundingRect(),g=this._showController=d[l]>a[l],v=[-d.x,-d.y];r||(v[o]=p[c]);var w=[0,0],y=[-b.x,-b.y],h=gl(n.get("pageButtonGap",!0),n.get("itemGap",!0));if(g){var C=n.get("pageButtonPosition",!0);C==="end"?y[o]+=a[l]-b[l]:w[o]+=b[l]+h}y[1-o]+=d[s]/2-b[s]/2,p.setPosition(v),u.setPosition(w),m.setPosition(y);var S={x:0,y:0};if(S[l]=g?a[l]:d[l],S[s]=Math.max(d[s],b[s]),S[i]=Math.min(0,b[i]+y[1-o]),u.__rectSize=a[l],g){var x={x:0,y:0};x[l]=Math.max(a[l]-b[l]-h,0),x[s]=S[s],u.setClipPath(new $n({shape:x})),u.__rectSize=x[l]}else m.eachChild(function(A){A.attr({invisible:!0,silent:!0})});var k=this._getPageInfo(n);return k.pageIndex!=null&&kn(p,{x:k.contentPosition[0],y:k.contentPosition[1]},g?n:null),this._updatePageInfoView(n,k),S},t.prototype._pageGo=function(n,r,a){var o=this._getPageInfo(r)[n];o!=null&&a.dispatchAction({type:"legendScroll",scrollDataIndex:o,legendId:r.id})},t.prototype._updatePageInfoView=function(n,r){var a=this._controllerGroup;ue(["pagePrev","pageNext"],function(p){var u=p+"DataIndex",m=r[u]!=null,d=a.childOfName(p);d&&(d.setStyle("fill",m?n.get("pageIconColor",!0):n.get("pageIconInactiveColor",!0)),d.cursor=m?"pointer":"default")});var o=a.childOfName("pageText"),l=n.get("pageFormatter"),s=r.pageIndex,i=s!=null?s+1:0,c=r.pageCount;o&&l&&o.setStyle("text",mr(l)?l.replace("{current}",i==null?"":i+"").replace("{total}",c==null?"":c+""):l({current:i,total:c}))},t.prototype._getPageInfo=function(n){var r=n.get("scrollDataIndex",!0),a=this.getContentGroup(),o=this._containerGroup.__rectSize,l=n.getOrient().index,s=Br[l],i=Hr[l],c=this._findTargetItemIndex(r),p=a.children(),u=p[c],m=p.length,d=m?1:0,b={contentPosition:[a.x,a.y],pageCount:d,pageIndex:d-1,pagePrevDataIndex:null,pageNextDataIndex:null};if(!u)return b;var g=C(u);b.contentPosition[l]=-g.s;for(var v=c+1,w=g,y=g,h=null;v<=m;++v)h=C(p[v]),(!h&&y.e>w.s+o||h&&!S(h,w.s))&&(y.i>w.i?w=y:w=h,w&&(b.pageNextDataIndex==null&&(b.pageNextDataIndex=w.i),++b.pageCount)),y=h;for(var v=c-1,w=g,y=g,h=null;v>=-1;--v)h=C(p[v]),(!h||!S(y,h.s))&&w.i<y.i&&(y=w,b.pagePrevDataIndex==null&&(b.pagePrevDataIndex=w.i),++b.pageCount,++b.pageIndex),w=h;return b;function C(x){if(x){var k=x.getBoundingRect(),A=k[i]+x[i];return{s:A,e:A+k[s],i:x.__legendDataIndex}}}function S(x,k){return x.e>=k&&x.s<=k+o}},t.prototype._findTargetItemIndex=function(n){if(!this._showController)return 0;var r,a=this.getContentGroup(),o;return a.eachChild(function(l,s){var i=l.__legendDataIndex;o==null&&i!=null&&(o=s),i===n&&(r=s)}),r??o},t.type="legend.scroll",t})(wl);function Fd(e){e.registerAction("legendScroll","legendscroll",function(t,n){var r=t.scrollDataIndex;r!=null&&n.eachComponent({mainType:"legend",subType:"scroll",query:t},function(a){a.setScrollDataIndex(r)})})}function Ld(e){an(_l),e.registerComponentModel(Pd),e.registerComponentView(Nd),Fd(e)}function bo(e){an(_l),an(Ld)}var Md=(function(e){He(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n.hasSymbolVisual=!0,n}return t.prototype.getInitialData=function(n){return Lu(null,this,{useEncodeDefaulter:!0})},t.prototype.getLegendIcon=function(n){var r=new ln,a=fr("line",0,n.itemHeight/2,n.itemWidth,0,n.lineStyle.stroke,!1);r.add(a),a.setStyle(n.lineStyle);var o=this.getData().getVisual("symbol"),l=this.getData().getVisual("symbolRotate"),s=o==="none"?"circle":o,i=n.itemHeight*.8,c=fr(s,(n.itemWidth-i)/2,(n.itemHeight-i)/2,i,i,n.itemStyle.fill);r.add(c),c.setStyle(n.itemStyle);var p=n.iconRotate==="inherit"?l:n.iconRotate||0;return c.rotation=p*Math.PI/180,c.setOrigin([n.itemWidth/2,n.itemHeight/2]),s.indexOf("empty")>-1&&(c.style.stroke=c.style.fill,c.style.fill="#fff",c.style.lineWidth=2),r},t.type="series.line",t.dependencies=["grid","polar"],t.defaultOption={z:3,coordinateSystem:"cartesian2d",legendHoverLink:!0,clip:!0,label:{position:"top"},endLabel:{show:!1,valueAnimation:!0,distance:8},lineStyle:{width:2,type:"solid"},emphasis:{scale:!0},step:!1,smooth:!1,smoothMonotone:null,symbol:"emptyCircle",symbolSize:4,symbolRotate:null,showSymbol:!0,showAllSymbol:"auto",connectNulls:!1,sampling:"none",animationEasing:"linear",progressive:0,hoverLayerThreshold:1/0,universalTransition:{divideShape:"clone"},triggerLineEvent:!1},t})(Mu);function kl(e,t,n){var r=e.getBaseAxis(),a=e.getOtherAxis(r),o=qd(a,n),l=r.dim,s=a.dim,i=t.mapDimension(s),c=t.mapDimension(l),p=s==="x"||s==="radius"?1:0,u=et(e.dimensions,function(b){return t.mapDimension(b)}),m=!1,d=t.getCalculationInfo("stackResultDimension");return gr(t,u[0])&&(m=!0,u[0]=d),gr(t,u[1])&&(m=!0,u[1]=d),{dataDimsForPoint:u,valueStart:o,valueAxisDim:s,baseAxisDim:l,stacked:!!m,valueDim:i,baseDim:c,baseDataOffset:p,stackedOverDimension:t.getCalculationInfo("stackedOverDimension")}}function qd(e,t){var n=0,r=e.scale.getExtent();return t==="start"?n=r[0]:t==="end"?n=r[1]:po(t)&&!isNaN(t)?n=t:r[0]>0?n=r[0]:r[1]<0&&(n=r[1]),n}function Cl(e,t,n,r){var a=NaN;e.stacked&&(a=n.get(n.getCalculationInfo("stackedOverDimension"),r)),isNaN(a)&&(a=e.valueStart);var o=e.baseDataOffset,l=[];return l[o]=n.get(e.baseDim,r),l[1-o]=a,t.dataToPoint(l)}function zd(e,t){var n=[];return t.diff(e).add(function(r){n.push({cmd:"+",idx:r})}).update(function(r,a){n.push({cmd:"=",idx:a,idx1:r})}).remove(function(r){n.push({cmd:"-",idx:r})}).execute(),n}function Bd(e,t,n,r,a,o,l,s){for(var i=zd(e,t),c=[],p=[],u=[],m=[],d=[],b=[],g=[],v=kl(a,t,l),w=e.getLayout("points")||[],y=t.getLayout("points")||[],h=0;h<i.length;h++){var C=i[h],S=!0,x=void 0,k=void 0;switch(C.cmd){case"=":x=C.idx*2,k=C.idx1*2;var A=w[x],$=w[x+1],I=y[k],T=y[k+1];(isNaN(A)||isNaN($))&&(A=I,$=T),c.push(A,$),p.push(I,T),u.push(n[x],n[x+1]),m.push(r[k],r[k+1]),g.push(t.getRawIndex(C.idx1));break;case"+":var R=C.idx,L=v.dataDimsForPoint,U=a.dataToPoint([t.get(L[0],R),t.get(L[1],R)]);k=R*2,c.push(U[0],U[1]),p.push(y[k],y[k+1]);var B=Cl(v,a,t,R);u.push(B[0],B[1]),m.push(r[k],r[k+1]),g.push(t.getRawIndex(R));break;case"-":S=!1}S&&(d.push(C),b.push(b.length))}b.sort(function(te,de){return g[te]-g[de]});for(var z=c.length,K=Yt(z),q=Yt(z),F=Yt(z),V=Yt(z),G=[],h=0;h<b.length;h++){var J=b[h],H=h*2,X=J*2;K[H]=c[X],K[H+1]=c[X+1],q[H]=p[X],q[H+1]=p[X+1],F[H]=u[X],F[H+1]=u[X+1],V[H]=m[X],V[H+1]=m[X+1],G[h]=d[J]}return{current:K,next:q,stackedOnCurrent:F,stackedOnNext:V,status:G}}var dt=Math.min,pt=Math.max;function Rt(e,t){return isNaN(e)||isNaN(t)}function eo(e,t,n,r,a,o,l,s,i){for(var c,p,u,m,d,b,g=n,v=0;v<r;v++){var w=t[g*2],y=t[g*2+1];if(g>=a||g<0)break;if(Rt(w,y)){if(i){g+=o;continue}break}if(g===n)e[o>0?"moveTo":"lineTo"](w,y),u=w,m=y;else{var h=w-c,C=y-p;if(h*h+C*C<.5){g+=o;continue}if(l>0){for(var S=g+o,x=t[S*2],k=t[S*2+1];x===w&&k===y&&v<r;)v++,S+=o,g+=o,x=t[S*2],k=t[S*2+1],w=t[g*2],y=t[g*2+1],h=w-c,C=y-p;var A=v+1;if(i)for(;Rt(x,k)&&A<r;)A++,S+=o,x=t[S*2],k=t[S*2+1];var $=.5,I=0,T=0,R=void 0,L=void 0;if(A>=r||Rt(x,k))d=w,b=y;else{I=x-c,T=k-p;var U=w-c,B=x-w,z=y-p,K=k-y,q=void 0,F=void 0;if(s==="x"){q=Math.abs(U),F=Math.abs(B);var V=I>0?1:-1;d=w-V*q*l,b=y,R=w+V*F*l,L=y}else if(s==="y"){q=Math.abs(z),F=Math.abs(K);var G=T>0?1:-1;d=w,b=y-G*q*l,R=w,L=y+G*F*l}else q=Math.sqrt(U*U+z*z),F=Math.sqrt(B*B+K*K),$=F/(F+q),d=w-I*l*(1-$),b=y-T*l*(1-$),R=w+I*l*$,L=y+T*l*$,R=dt(R,pt(x,w)),L=dt(L,pt(k,y)),R=pt(R,dt(x,w)),L=pt(L,dt(k,y)),I=R-w,T=L-y,d=w-I*q/F,b=y-T*q/F,d=dt(d,pt(c,w)),b=dt(b,pt(p,y)),d=pt(d,dt(c,w)),b=pt(b,dt(p,y)),I=w-d,T=y-b,R=w+I*F/q,L=y+T*F/q}e.bezierCurveTo(u,m,d,b,w,y),u=R,m=L}else e.lineTo(w,y)}c=w,p=y,g+=o}return v}var $l=(function(){function e(){this.smooth=0,this.smoothConstraint=!0}return e})(),Hd=(function(e){He(t,e);function t(n){var r=e.call(this,n)||this;return r.type="ec-polyline",r}return t.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},t.prototype.getDefaultShape=function(){return new $l},t.prototype.buildPath=function(n,r){var a=r.points,o=0,l=a.length/2;if(r.connectNulls){for(;l>0&&Rt(a[l*2-2],a[l*2-1]);l--);for(;o<l&&Rt(a[o*2],a[o*2+1]);o++);}for(;o<l;)o+=eo(n,a,o,l,l,1,r.smooth,r.smoothMonotone,r.connectNulls)+1},t.prototype.getPointOn=function(n,r){this.path||(this.createPathProxy(),this.buildPath(this.path,this.shape));for(var a=this.path,o=a.data,l=bl.CMD,s,i,c=r==="x",p=[],u=0;u<o.length;){var m=o[u++],d=void 0,b=void 0,g=void 0,v=void 0,w=void 0,y=void 0,h=void 0;switch(m){case l.M:s=o[u++],i=o[u++];break;case l.L:if(d=o[u++],b=o[u++],h=c?(n-s)/(d-s):(n-i)/(b-i),h<=1&&h>=0){var C=c?(b-i)*h+i:(d-s)*h+s;return c?[n,C]:[C,n]}s=d,i=b;break;case l.C:d=o[u++],b=o[u++],g=o[u++],v=o[u++],w=o[u++],y=o[u++];var S=c?Ko(s,d,g,w,n,p):Ko(i,b,v,y,n,p);if(S>0)for(var x=0;x<S;x++){var k=p[x];if(k<=1&&k>=0){var C=c?Jo(i,b,v,y,k):Jo(s,d,g,w,k);return c?[n,C]:[C,n]}}s=w,i=y;break}}},t})(Ft),Ud=(function(e){He(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t})($l),Gd=(function(e){He(t,e);function t(n){var r=e.call(this,n)||this;return r.type="ec-polygon",r}return t.prototype.getDefaultShape=function(){return new Ud},t.prototype.buildPath=function(n,r){var a=r.points,o=r.stackedOnPoints,l=0,s=a.length/2,i=r.smoothMonotone;if(r.connectNulls){for(;s>0&&Rt(a[s*2-2],a[s*2-1]);s--);for(;l<s&&Rt(a[l*2],a[l*2+1]);l++);}for(;l<s;){var c=eo(n,a,l,s,s,1,r.smooth,i,r.connectNulls);eo(n,o,l+c-1,c,s,-1,r.stackedOnSmooth,i,r.connectNulls),l+=c+1,n.closePath()}},t})(Ft);function mi(e,t){if(e.length===t.length){for(var n=0;n<e.length;n++)if(e[n]!==t[n])return;return!0}}function gi(e){for(var t=1/0,n=1/0,r=-1/0,a=-1/0,o=0;o<e.length;){var l=e[o++],s=e[o++];isNaN(l)||(t=Math.min(l,t),r=Math.max(l,r)),isNaN(s)||(n=Math.min(s,n),a=Math.max(s,a))}return[[t,n],[r,a]]}function hi(e,t){var n=gi(e),r=n[0],a=n[1],o=gi(t),l=o[0],s=o[1];return Math.max(Math.abs(r[0]-l[0]),Math.abs(r[1]-l[1]),Math.abs(a[0]-s[0]),Math.abs(a[1]-s[1]))}function vi(e){return po(e)?e:e?.5:0}function Vd(e,t,n){if(!n.valueDim)return[];for(var r=t.count(),a=Yt(r*2),o=0;o<r;o++){var l=Cl(n,e,t,o);a[o*2]=l[0],a[o*2+1]=l[1]}return a}function ft(e,t,n,r,a){var o=n.getBaseAxis(),l=o.dim==="x"||o.dim==="radius"?0:1,s=[],i=0,c=[],p=[],u=[],m=[];if(a){for(i=0;i<e.length;i+=2){var d=t||e;!isNaN(d[i])&&!isNaN(d[i+1])&&m.push(e[i],e[i+1])}e=m}for(i=0;i<e.length-2;i+=2)switch(u[0]=e[i+2],u[1]=e[i+3],p[0]=e[i],p[1]=e[i+1],s.push(p[0],p[1]),r){case"end":c[l]=u[l],c[1-l]=p[1-l],s.push(c[0],c[1]);break;case"middle":var b=(p[l]+u[l])/2,g=[];c[l]=g[l]=b,c[1-l]=p[1-l],g[1-l]=u[1-l],s.push(c[0],c[1]),s.push(g[0],g[1]);break;default:c[l]=p[l],c[1-l]=u[1-l],s.push(c[0],c[1])}return s.push(e[i++],e[i++]),s}function Wd(e,t){var n=[],r=e.length,a,o;function l(p,u,m){var d=p.coord,b=(m-d)/(u.coord-d),g=Vu(b,[p.color,u.color]);return{coord:m,color:g}}for(var s=0;s<r;s++){var i=e[s],c=i.coord;if(c<0)a=i;else if(c>t){o?n.push(l(o,i,t)):a&&n.push(l(a,i,0),l(a,i,t));break}else a&&(n.push(l(a,i,0)),a=null),n.push(i),o=i}return n}function Kd(e,t,n){var r=e.getVisual("visualMeta");if(!(!r||!r.length||!e.count())&&t.type==="cartesian2d"){for(var a,o,l=r.length-1;l>=0;l--){var s=e.getDimensionInfo(r[l].dimension);if(a=s&&s.coordDim,a==="x"||a==="y"){o=r[l];break}}if(o){var i=t.getAxis(a),c=et(o.stops,function(h){return{coord:i.toGlobalCoord(i.dataToCoord(h.value)),color:h.color}}),p=c.length,u=o.outerColors.slice();p&&c[0].coord>c[p-1].coord&&(c.reverse(),u.reverse());var m=Wd(c,a==="x"?n.getWidth():n.getHeight()),d=m.length;if(!d&&p)return c[0].coord<0?u[1]?u[1]:c[p-1].color:u[0]?u[0]:c[0].color;var b=10,g=m[0].coord-b,v=m[d-1].coord+b,w=v-g;if(w<.001)return"transparent";ue(m,function(h){h.offset=(h.coord-g)/w}),m.push({offset:d?m[d-1].offset:.5,color:u[1]||"transparent"}),m.unshift({offset:d?m[0].offset:.5,color:u[0]||"transparent"});var y=new Bu(0,0,0,0,m,!0);return y[a]=g,y[a+"2"]=v,y}}}function Jd(e,t,n){var r=e.get("showAllSymbol"),a=r==="auto";if(!(r&&!a)){var o=n.getAxesByScale("ordinal")[0];if(o&&!(a&&Zd(o,t))){var l=t.mapDimension(o.dim),s={};return ue(o.getViewLabels(),function(i){var c=o.scale.getRawOrdinalNumber(i.tickValue);s[c]=1}),function(i){return!s.hasOwnProperty(t.get(l,i))}}}}function Zd(e,t){var n=e.getExtent(),r=Math.abs(n[1]-n[0])/e.scale.count();isNaN(r)&&(r=0);for(var a=t.count(),o=Math.max(1,Math.round(a/5)),l=0;l<a;l+=o)if(yo.getSymbolSize(t,l)[e.isHorizontal()?1:0]*1.5>r)return!1;return!0}function Xd(e,t){return isNaN(e)||isNaN(t)}function Yd(e){for(var t=e.length/2;t>0&&Xd(e[t*2-2],e[t*2-1]);t--);return t-1}function yi(e,t){return[e[t*2],e[t*2+1]]}function Qd(e,t,n){for(var r=e.length/2,a=n==="x"?0:1,o,l,s=0,i=-1,c=0;c<r;c++)if(l=e[c*2+a],!(isNaN(l)||isNaN(e[c*2+1-a]))){if(c===0){o=l;continue}if(o<=t&&l>=t||o>=t&&l<=t){i=c;break}s=c,o=l}return{range:[s,i],t:(t-o)/(l-o)}}function Al(e){if(e.get(["endLabel","show"]))return!0;for(var t=0;t<ei.length;t++)if(e.get([ei[t],"endLabel","show"]))return!0;return!1}function Ur(e,t,n,r){if(Hu(t,"cartesian2d")){var a=r.getModel("endLabel"),o=a.get("valueAnimation"),l=r.getData(),s={lastFrameIndex:0},i=Al(r)?function(d,b){e._endLabelOnDuring(d,b,l,s,o,a,t)}:null,c=t.getBaseAxis().isHorizontal(),p=Uu(t,n,r,function(){var d=e._endLabel;d&&n&&s.originalX!=null&&d.attr({x:s.originalX,y:s.originalY})},i);if(!r.get("clip",!0)){var u=p.shape,m=Math.max(u.width,u.height);c?(u.y-=m,u.height+=m*2):(u.x-=m,u.width+=m*2)}return i&&i(1,p),p}else return Gu(t,n,r)}function ep(e,t){var n=t.getBaseAxis(),r=n.isHorizontal(),a=n.inverse,o=r?a?"right":"left":"center",l=r?"middle":a?"top":"bottom";return{normal:{align:e.get("align")||o,verticalAlign:e.get("verticalAlign")||l}}}var tp=(function(e){He(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.init=function(){var n=new ln,r=new jd;this.group.add(r.group),this._symbolDraw=r,this._lineGroup=n,this._changePolyState=yl(this._changePolyState,this)},t.prototype.render=function(n,r,a){var o=n.coordinateSystem,l=this.group,s=n.getData(),i=n.getModel("lineStyle"),c=n.getModel("areaStyle"),p=s.getLayout("points")||[],u=o.type==="polar",m=this._coordSys,d=this._symbolDraw,b=this._polyline,g=this._polygon,v=this._lineGroup,w=!r.ssr&&n.get("animation"),y=!c.isEmpty(),h=c.get("origin"),C=kl(o,s,h),S=y&&Vd(o,s,C),x=n.get("showSymbol"),k=n.get("connectNulls"),A=x&&!u&&Jd(n,s,o),$=this._data;$&&$.eachItemGraphicEl(function(te,de){te.__temp&&(l.remove(te),$.setItemGraphicEl(de,null))}),x||d.remove(),l.add(v);var I=u?!1:n.get("step"),T;o&&o.getArea&&n.get("clip",!0)&&(T=o.getArea(),T.width!=null?(T.x-=.1,T.y-=.1,T.width+=.2,T.height+=.2):T.r0&&(T.r0-=.5,T.r+=.5)),this._clipShapeForSymbol=T;var R=Kd(s,o,a)||s.getVisual("style")[s.getVisual("drawType")];if(!(b&&m.type===o.type&&I===this._step))x&&d.updateData(s,{isIgnore:A,clipShape:T,disableAnimation:!0,getSymbolPoint:function(te){return[p[te*2],p[te*2+1]]}}),w&&this._initSymbolLabelAnimation(s,o,T),I&&(S&&(S=ft(S,p,o,I,k)),p=ft(p,null,o,I,k)),b=this._newPolyline(p),y?g=this._newPolygon(p,S):g&&(v.remove(g),g=this._polygon=null),u||this._initOrUpdateEndLabel(n,o,Zo(R)),v.setClipPath(Ur(this,o,!0,n));else{y&&!g?g=this._newPolygon(p,S):g&&!y&&(v.remove(g),g=this._polygon=null),u||this._initOrUpdateEndLabel(n,o,Zo(R));var L=v.getClipPath();if(L){var U=Ur(this,o,!1,n);lo(L,{shape:U.shape},n)}else v.setClipPath(Ur(this,o,!0,n));x&&d.updateData(s,{isIgnore:A,clipShape:T,disableAnimation:!0,getSymbolPoint:function(te){return[p[te*2],p[te*2+1]]}}),(!mi(this._stackedOnPoints,S)||!mi(this._points,p))&&(w?this._doUpdateAnimation(s,S,o,a,I,h,k):(I&&(S&&(S=ft(S,p,o,I,k)),p=ft(p,null,o,I,k)),b.setShape({points:p}),g&&g.setShape({points:p,stackedOnPoints:S})))}var B=n.getModel("emphasis"),z=B.get("focus"),K=B.get("blurScope"),q=B.get("disabled");if(b.useStyle(Qe(i.getLineStyle(),{fill:"none",stroke:R,lineJoin:"bevel"})),Xo(b,n,"lineStyle"),b.style.lineWidth>0&&n.get(["emphasis","lineStyle","width"])==="bolder"){var F=b.getState("emphasis").style;F.lineWidth=+b.style.lineWidth+1}ht(b).seriesIndex=n.seriesIndex,Wa(b,z,K,q);var V=vi(n.get("smooth")),G=n.get("smoothMonotone");if(b.setShape({smooth:V,smoothMonotone:G,connectNulls:k}),g){var J=s.getCalculationInfo("stackedOnSeries"),H=0;g.useStyle(Qe(c.getAreaStyle(),{fill:R,opacity:.7,lineJoin:"bevel",decal:s.getVisual("style").decal})),J&&(H=vi(J.get("smooth"))),g.setShape({smooth:V,stackedOnSmooth:H,smoothMonotone:G,connectNulls:k}),Xo(g,n,"areaStyle"),ht(g).seriesIndex=n.seriesIndex,Wa(g,z,K,q)}var X=this._changePolyState;s.eachItemGraphicEl(function(te){te&&(te.onHoverStateChange=X)}),this._polyline.onHoverStateChange=X,this._data=s,this._coordSys=o,this._stackedOnPoints=S,this._points=p,this._step=I,this._valueOrigin=h,n.get("triggerLineEvent")&&(this.packEventData(n,b),g&&this.packEventData(n,g))},t.prototype.packEventData=function(n,r){ht(r).eventData={componentType:"series",componentSubType:"line",componentIndex:n.componentIndex,seriesIndex:n.seriesIndex,seriesName:n.name,seriesType:"line"}},t.prototype.highlight=function(n,r,a,o){var l=n.getData(),s=Yo(l,o);if(this._changePolyState("emphasis"),!(s instanceof Array)&&s!=null&&s>=0){var i=l.getLayout("points"),c=l.getItemGraphicEl(s);if(!c){var p=i[s*2],u=i[s*2+1];if(isNaN(p)||isNaN(u)||this._clipShapeForSymbol&&!this._clipShapeForSymbol.contain(p,u))return;var m=n.get("zlevel")||0,d=n.get("z")||0;c=new yo(l,s),c.x=p,c.y=u,c.setZ(m,d);var b=c.getSymbolPath().getTextContent();b&&(b.zlevel=m,b.z=d,b.z2=this._polyline.z2+1),c.__temp=!0,l.setItemGraphicEl(s,c),c.stopSymbolAnimation(!0),this.group.add(c)}c.highlight()}else Mr.prototype.highlight.call(this,n,r,a,o)},t.prototype.downplay=function(n,r,a,o){var l=n.getData(),s=Yo(l,o);if(this._changePolyState("normal"),s!=null&&s>=0){var i=l.getItemGraphicEl(s);i&&(i.__temp?(l.setItemGraphicEl(s,null),this.group.remove(i)):i.downplay())}else Mr.prototype.downplay.call(this,n,r,a,o)},t.prototype._changePolyState=function(n){var r=this._polygon;Qo(this._polyline,n),r&&Qo(r,n)},t.prototype._newPolyline=function(n){var r=this._polyline;return r&&this._lineGroup.remove(r),r=new Hd({shape:{points:n},segmentIgnoreThreshold:2,z2:10}),this._lineGroup.add(r),this._polyline=r,r},t.prototype._newPolygon=function(n,r){var a=this._polygon;return a&&this._lineGroup.remove(a),a=new Gd({shape:{points:n,stackedOnPoints:r},segmentIgnoreThreshold:2}),this._lineGroup.add(a),this._polygon=a,a},t.prototype._initSymbolLabelAnimation=function(n,r,a){var o,l,s=r.getBaseAxis(),i=s.inverse;r.type==="cartesian2d"?(o=s.isHorizontal(),l=!1):r.type==="polar"&&(o=s.dim==="angle",l=!0);var c=n.hostModel,p=c.get("animationDuration");bn(p)&&(p=p(null));var u=c.get("animationDelay")||0,m=bn(u)?u(null):u;n.eachItemGraphicEl(function(d,b){var g=d;if(g){var v=[d.x,d.y],w=void 0,y=void 0,h=void 0;if(a)if(l){var C=a,S=r.pointToCoord(v);o?(w=C.startAngle,y=C.endAngle,h=-S[1]/180*Math.PI):(w=C.r0,y=C.r,h=S[0])}else{var x=a;o?(w=x.x,y=x.x+x.width,h=d.x):(w=x.y+x.height,y=x.y,h=d.y)}var k=y===w?0:(h-w)/(y-w);i&&(k=1-k);var A=bn(u)?u(b):p*k+m,$=g.getSymbolPath(),I=$.getTextContent();g.attr({scaleX:0,scaleY:0}),g.animateTo({scaleX:1,scaleY:1},{duration:200,setToFinal:!0,delay:A}),I&&I.animateFrom({style:{opacity:0}},{duration:300,delay:A}),$.disableLabelAnimation=!0}})},t.prototype._initOrUpdateEndLabel=function(n,r,a){var o=n.getModel("endLabel");if(Al(n)){var l=n.getData(),s=this._polyline,i=l.getLayout("points");if(!i){s.removeTextContent(),this._endLabel=null;return}var c=this._endLabel;c||(c=this._endLabel=new nn({z2:200}),c.ignoreClip=!0,s.setTextContent(this._endLabel),s.disableLabelAnimation=!0);var p=Yd(i);p>=0&&(uo(s,co(n,"endLabel"),{inheritColor:a,labelFetcher:n,labelDataIndex:p,defaultText:function(u,m,d){return d!=null?Wu(l,d):vl(l,u)},enableTextSetter:!0},ep(o,r)),s.textConfig.position=null)}else this._endLabel&&(this._polyline.removeTextContent(),this._endLabel=null)},t.prototype._endLabelOnDuring=function(n,r,a,o,l,s,i){var c=this._endLabel,p=this._polyline;if(c){n<1&&o.originalX==null&&(o.originalX=c.x,o.originalY=c.y);var u=a.getLayout("points"),m=a.hostModel,d=m.get("connectNulls"),b=s.get("precision"),g=s.get("distance")||0,v=i.getBaseAxis(),w=v.isHorizontal(),y=v.inverse,h=r.shape,C=y?w?h.x:h.y+h.height:w?h.x+h.width:h.y,S=(w?g:0)*(y?-1:1),x=(w?0:-g)*(y?-1:1),k=w?"x":"y",A=Qd(u,C,k),$=A.range,I=$[1]-$[0],T=void 0;if(I>=1){if(I>1&&!d){var R=yi(u,$[0]);c.attr({x:R[0]+S,y:R[1]+x}),l&&(T=m.getRawValue($[0]))}else{var R=p.getPointOn(C,k);R&&c.attr({x:R[0]+S,y:R[1]+x});var L=m.getRawValue($[0]),U=m.getRawValue($[1]);l&&(T=qu(a,b,L,U,A.t))}o.lastFrameIndex=$[0]}else{var B=n===1||o.lastFrameIndex>0?$[0]:0,R=yi(u,B);l&&(T=m.getRawValue(B)),c.attr({x:R[0]+S,y:R[1]+x})}if(l){var z=zu(c);typeof z.setLabelText=="function"&&z.setLabelText(T)}}},t.prototype._doUpdateAnimation=function(n,r,a,o,l,s,i){var c=this._polyline,p=this._polygon,u=n.hostModel,m=Bd(this._data,n,this._stackedOnPoints,r,this._coordSys,a,this._valueOrigin),d=m.current,b=m.stackedOnCurrent,g=m.next,v=m.stackedOnNext;if(l&&(b=ft(m.stackedOnCurrent,m.current,a,l,i),d=ft(m.current,null,a,l,i),v=ft(m.stackedOnNext,m.next,a,l,i),g=ft(m.next,null,a,l,i)),hi(d,g)>3e3||p&&hi(b,v)>3e3){c.stopAnimation(),c.setShape({points:g}),p&&(p.stopAnimation(),p.setShape({points:g,stackedOnPoints:v}));return}c.shape.__points=m.current,c.shape.points=d;var w={shape:{points:g}};m.current!==d&&(w.shape.__points=m.next),c.stopAnimation(),kn(c,w,u),p&&(p.setShape({points:d,stackedOnPoints:b}),p.stopAnimation(),kn(p,{shape:{stackedOnPoints:v}},u),c.shape.points!==p.shape.points&&(p.shape.points=c.shape.points));for(var y=[],h=m.status,C=0;C<h.length;C++){var S=h[C].cmd;if(S==="="){var x=n.getItemGraphicEl(h[C].idx1);x&&y.push({el:x,ptIdx:C})}}c.animators&&c.animators.length&&c.animators[0].during(function(){p&&p.dirtyShape();for(var k=c.shape.__points,A=0;A<y.length;A++){var $=y[A].el,I=y[A].ptIdx*2;$.x=k[I],$.y=k[I+1],$.markRedraw()}})},t.prototype.remove=function(n){var r=this.group,a=this._data;this._lineGroup.removeAll(),this._symbolDraw.remove(!0),a&&a.eachItemGraphicEl(function(o,l){o.__temp&&(r.remove(o),a.setItemGraphicEl(l,null))}),this._polyline=this._polygon=this._coordSys=this._points=this._stackedOnPoints=this._endLabel=this._data=null},t.type="line",t})(Mr);function np(e,t){return{seriesType:e,plan:Ku(),reset:function(n){var r=n.getData(),a=n.coordinateSystem;if(n.pipelineContext,!!a){var o=et(a.dimensions,function(u){return r.mapDimension(u)}).slice(0,2),l=o.length,s=r.getCalculationInfo("stackResultDimension");gr(r,o[0])&&(o[0]=s),gr(r,o[1])&&(o[1]=s);var i=r.getStore(),c=r.getDimensionIndex(o[0]),p=r.getDimensionIndex(o[1]);return l&&{progress:function(u,m){for(var d=u.end-u.start,b=Yt(d*l),g=[],v=[],w=u.start,y=0;w<u.end;w++){var h=void 0;if(l===1){var C=i.get(c,w);h=a.dataToPoint(C,null,v)}else g[0]=i.get(c,w),g[1]=i.get(p,w),h=a.dataToPoint(g,null,v);b[y++]=h[0],b[y++]=h[1]}m.setLayout("points",b)}}}}}}function Il(e){e.registerChartView(tp),e.registerSeriesModel(Md),e.registerLayout(np("line")),e.registerVisual({seriesType:"line",reset:function(t){var n=t.getData(),r=t.getModel("lineStyle").getLineStyle();r&&!r.stroke&&(r.stroke=n.getVisual("style").fill),n.setVisual("legendLineStyle",r)}}),e.registerProcessor(e.PRIORITY.PROCESSOR.STATISTIC,Ju("line"))}var Je=bl.CMD;function Qt(e,t){return Math.abs(e-t)<1e-5}function to(e){var t=e.data,n=e.len(),r=[],a,o=0,l=0,s=0,i=0;function c(L,U){a&&a.length>2&&r.push(a),a=[L,U]}function p(L,U,B,z){Qt(L,B)&&Qt(U,z)||a.push(L,U,B,z,B,z)}function u(L,U,B,z,K,q){var F=Math.abs(U-L),V=Math.tan(F/4)*4/3,G=U<L?-1:1,J=Math.cos(L),H=Math.sin(L),X=Math.cos(U),te=Math.sin(U),de=J*K+B,pe=H*q+z,be=X*K+B,Ie=te*q+z,Oe=K*V*G,we=q*V*G;a.push(de-Oe*H,pe+we*J,be+Oe*te,Ie-we*X,be,Ie)}for(var m,d,b,g,v=0;v<n;){var w=t[v++],y=v===1;switch(y&&(o=t[v],l=t[v+1],s=o,i=l,(w===Je.L||w===Je.C||w===Je.Q)&&(a=[s,i])),w){case Je.M:o=s=t[v++],l=i=t[v++],c(s,i);break;case Je.L:m=t[v++],d=t[v++],p(o,l,m,d),o=m,l=d;break;case Je.C:a.push(t[v++],t[v++],t[v++],t[v++],o=t[v++],l=t[v++]);break;case Je.Q:m=t[v++],d=t[v++],b=t[v++],g=t[v++],a.push(o+2/3*(m-o),l+2/3*(d-l),b+2/3*(m-b),g+2/3*(d-g),b,g),o=b,l=g;break;case Je.A:var h=t[v++],C=t[v++],S=t[v++],x=t[v++],k=t[v++],A=t[v++]+k;v+=1;var $=!t[v++];m=Math.cos(k)*S+h,d=Math.sin(k)*x+C,y?(s=m,i=d,c(s,i)):p(o,l,m,d),o=Math.cos(A)*S+h,l=Math.sin(A)*x+C;for(var I=($?-1:1)*Math.PI/2,T=k;$?T>A:T<A;T+=I){var R=$?Math.max(T+I,A):Math.min(T+I,A);u(T,R,h,C,S,x)}break;case Je.R:s=o=t[v++],i=l=t[v++],m=s+t[v++],d=i+t[v++],c(m,i),p(m,i,m,d),p(m,d,s,d),p(s,d,s,i),p(s,i,m,i);break;case Je.Z:a&&p(o,l,s,i),o=s,l=i;break}}return a&&a.length>2&&r.push(a),r}function no(e,t,n,r,a,o,l,s,i,c){if(Qt(e,n)&&Qt(t,r)&&Qt(a,l)&&Qt(o,s)){i.push(l,s);return}var p=2/c,u=p*p,m=l-e,d=s-t,b=Math.sqrt(m*m+d*d);m/=b,d/=b;var g=n-e,v=r-t,w=a-l,y=o-s,h=g*g+v*v,C=w*w+y*y;if(h<u&&C<u){i.push(l,s);return}var S=m*g+d*v,x=-m*w-d*y,k=h-S*S,A=C-x*x;if(k<u&&S>=0&&A<u&&x>=0){i.push(l,s);return}var $=[],I=[];hr(e,n,a,l,.5,$),hr(t,r,o,s,.5,I),no($[0],I[0],$[1],I[1],$[2],I[2],$[3],I[3],i,c),no($[4],I[4],$[5],I[5],$[6],I[6],$[7],I[7],i,c)}function rp(e,t){var n=to(e),r=[];t=t||1;for(var a=0;a<n.length;a++){var o=n[a],l=[],s=o[0],i=o[1];l.push(s,i);for(var c=2;c<o.length;){var p=o[c++],u=o[c++],m=o[c++],d=o[c++],b=o[c++],g=o[c++];no(s,i,p,u,m,d,b,g,l,t),s=b,i=g}r.push(l)}return r}function jl(e,t,n){var r=e[t],a=e[1-t],o=Math.abs(r/a),l=Math.ceil(Math.sqrt(o*n)),s=Math.floor(n/l);s===0&&(s=1,l=n);for(var i=[],c=0;c<l;c++)i.push(s);var p=l*s,u=n-p;if(u>0)for(var c=0;c<u;c++)i[c%l]+=1;return i}function bi(e,t,n){for(var r=e.r0,a=e.r,o=e.startAngle,l=e.endAngle,s=Math.abs(l-o),i=s*a,c=a-r,p=i>Math.abs(c),u=jl([i,c],p?0:1,t),m=(p?s:c)/u.length,d=0;d<u.length;d++)for(var b=(p?c:s)/u[d],g=0;g<u[d];g++){var v={};p?(v.startAngle=o+m*d,v.endAngle=o+m*(d+1),v.r0=r+b*g,v.r=r+b*(g+1)):(v.startAngle=o+b*g,v.endAngle=o+b*(g+1),v.r0=r+m*d,v.r=r+m*(d+1)),v.clockwise=e.clockwise,v.cx=e.cx,v.cy=e.cy,n.push(v)}}function ap(e,t,n){for(var r=e.width,a=e.height,o=r>a,l=jl([r,a],o?0:1,t),s=o?"width":"height",i=o?"height":"width",c=o?"x":"y",p=o?"y":"x",u=e[s]/l.length,m=0;m<l.length;m++)for(var d=e[i]/l[m],b=0;b<l[m];b++){var g={};g[c]=m*u,g[p]=b*d,g[s]=u,g[i]=d,g.x+=e.x,g.y+=e.y,n.push(g)}}function xi(e,t,n,r){return e*r-n*t}function op(e,t,n,r,a,o,l,s){var i=n-e,c=r-t,p=l-a,u=s-o,m=xi(p,u,i,c);if(Math.abs(m)<1e-6)return null;var d=e-a,b=t-o,g=xi(d,b,p,u)/m;return g<0||g>1?null:new Dt(g*i+e,g*c+t)}function ip(e,t,n){var r=new Dt;Dt.sub(r,n,t),r.normalize();var a=new Dt;Dt.sub(a,e,t);var o=a.dot(r);return o}function Kt(e,t){var n=e[e.length-1];n&&n[0]===t[0]&&n[1]===t[1]||e.push(t)}function sp(e,t,n){for(var r=e.length,a=[],o=0;o<r;o++){var l=e[o],s=e[(o+1)%r],i=op(l[0],l[1],s[0],s[1],t.x,t.y,n.x,n.y);i&&a.push({projPt:ip(i,t,n),pt:i,idx:o})}if(a.length<2)return[{points:e},{points:e}];a.sort(function(v,w){return v.projPt-w.projPt});var c=a[0],p=a[a.length-1];if(p.idx<c.idx){var u=c;c=p,p=u}for(var m=[c.pt.x,c.pt.y],d=[p.pt.x,p.pt.y],b=[m],g=[d],o=c.idx+1;o<=p.idx;o++)Kt(b,e[o].slice());Kt(b,d),Kt(b,m);for(var o=p.idx+1;o<=c.idx+r;o++)Kt(g,e[o%r].slice());return Kt(g,m),Kt(g,d),[{points:b},{points:g}]}function wi(e){var t=e.points,n=[],r=[];xl(t,n,r);var a=new Zu(n[0],n[1],r[0]-n[0],r[1]-n[1]),o=a.width,l=a.height,s=a.x,i=a.y,c=new Dt,p=new Dt;return o>l?(c.x=p.x=s+o/2,c.y=i,p.y=i+l):(c.y=p.y=i+l/2,c.x=s,p.x=s+o),sp(t,c,p)}function vr(e,t,n,r){if(n===1)r.push(t);else{var a=Math.floor(n/2),o=e(t);vr(e,o[0],a,r),vr(e,o[1],n-a,r)}return r}function lp(e,t){for(var n=[],r=0;r<t;r++)n.push(fo(e));return n}function cp(e,t){t.setStyle(e.style),t.z=e.z,t.z2=e.z2,t.zlevel=e.zlevel}function up(e){for(var t=[],n=0;n<e.length;)t.push([e[n++],e[n++]]);return t}function dp(e,t){var n=[],r=e.shape,a;switch(e.type){case"rect":ap(r,t,n),a=$n;break;case"sector":bi(r,t,n),a=ti;break;case"circle":bi({r0:0,r:r.r,startAngle:0,endAngle:Math.PI*2,cx:r.cx,cy:r.cy},t,n),a=ti;break;default:var o=e.getComputedTransform(),l=o?Math.sqrt(Math.max(o[0]*o[0]+o[1]*o[1],o[2]*o[2]+o[3]*o[3])):1,s=et(rp(e.getUpdatedPathProxy(),l),function(w){return up(w)}),i=s.length;if(i===0)vr(wi,{points:s[0]},t,n);else if(i===t)for(var c=0;c<i;c++)n.push({points:s[c]});else{var p=0,u=et(s,function(w){var y=[],h=[];xl(w,y,h);var C=(h[1]-y[1])*(h[0]-y[0]);return p+=C,{poly:w,area:C}});u.sort(function(w,y){return y.area-w.area});for(var m=t,c=0;c<i;c++){var d=u[c];if(m<=0)break;var b=c===i-1?m:Math.ceil(d.area/p*t);b<0||(vr(wi,{points:d.poly},b,n),m-=b)}}a=Xu;break}if(!a)return lp(e,t);for(var g=[],c=0;c<n.length;c++){var v=new a;v.setShape(n[c]),cp(e,v),g.push(v)}return g}function pp(e,t){var n=e.length,r=t.length;if(n===r)return[e,t];for(var a=[],o=[],l=n<r?e:t,s=Math.min(n,r),i=Math.abs(r-n)/6,c=(s-2)/6,p=Math.ceil(i/c)+1,u=[l[0],l[1]],m=i,d=2;d<s;){var b=l[d-2],g=l[d-1],v=l[d++],w=l[d++],y=l[d++],h=l[d++],C=l[d++],S=l[d++];if(m<=0){u.push(v,w,y,h,C,S);continue}for(var x=Math.min(m,p-1)+1,k=1;k<=x;k++){var A=k/x;hr(b,v,y,C,A,a),hr(g,w,h,S,A,o),b=a[3],g=o[3],u.push(a[1],o[1],a[2],o[2],b,g),v=a[5],w=o[5],y=a[6],h=o[6]}m-=x-1}return l===e?[u,t]:[e,u]}function Si(e,t){for(var n=e.length,r=e[n-2],a=e[n-1],o=[],l=0;l<t.length;)o[l++]=r,o[l++]=a;return o}function fp(e,t){for(var n,r,a,o=[],l=[],s=0;s<Math.max(e.length,t.length);s++){var i=e[s],c=t[s],p=void 0,u=void 0;i?c?(n=pp(i,c),p=n[0],u=n[1],r=p,a=u):(u=Si(a||i,i),p=i):(p=Si(r||c,c),u=c),o.push(p),l.push(u)}return[o,l]}function _i(e){for(var t=0,n=0,r=0,a=e.length,o=0,l=a-2;o<a;l=o,o+=2){var s=e[l],i=e[l+1],c=e[o],p=e[o+1],u=s*p-c*i;t+=u,n+=(s+c)*u,r+=(i+p)*u}return t===0?[e[0]||0,e[1]||0]:[n/t/3,r/t/3,t]}function mp(e,t,n,r){for(var a=(e.length-2)/6,o=1/0,l=0,s=e.length,i=s-2,c=0;c<a;c++){for(var p=c*6,u=0,m=0;m<s;m+=2){var d=m===0?p:(p+m-2)%i+2,b=e[d]-n[0],g=e[d+1]-n[1],v=t[m]-r[0],w=t[m+1]-r[1],y=v-b,h=w-g;u+=y*y+h*h}u<o&&(o=u,l=c)}return l}function gp(e){for(var t=[],n=e.length,r=0;r<n;r+=2)t[r]=e[n-r-2],t[r+1]=e[n-r-1];return t}function hp(e,t,n,r){for(var a=[],o,l=0;l<e.length;l++){var s=e[l],i=t[l],c=_i(s),p=_i(i);o==null&&(o=c[2]<0!=p[2]<0);var u=[],m=[],d=0,b=1/0,g=[],v=s.length;o&&(s=gp(s));for(var w=mp(s,i,c,p)*6,y=v-2,h=0;h<y;h+=2){var C=(w+h)%y+2;u[h+2]=s[C]-c[0],u[h+3]=s[C+1]-c[1]}u[0]=s[w]-c[0],u[1]=s[w+1]-c[1];for(var S=r/n,x=-r/2;x<=r/2;x+=S){for(var k=Math.sin(x),A=Math.cos(x),$=0,h=0;h<s.length;h+=2){var I=u[h],T=u[h+1],R=i[h]-p[0],L=i[h+1]-p[1],U=R*A-L*k,B=R*k+L*A;g[h]=U,g[h+1]=B;var z=U-I,K=B-T;$+=z*z+K*K}if($<b){b=$,d=x;for(var q=0;q<g.length;q++)m[q]=g[q]}}a.push({from:u,to:m,fromCp:c,toCp:p,rotation:-d})}return a}function yr(e){return e.__isCombineMorphing}var Tl="__mOriginal_";function br(e,t,n){var r=Tl+t,a=e[r]||e[t];e[r]||(e[r]=e[t]);var o=n.replace,l=n.after,s=n.before;e[t]=function(){var i=arguments,c;return s&&s.apply(this,i),o?c=o.apply(this,i):c=a.apply(this,i),l&&l.apply(this,i),c}}function Sn(e,t){var n=Tl+t;e[n]&&(e[t]=e[n],e[n]=null)}function ki(e,t){for(var n=0;n<e.length;n++)for(var r=e[n],a=0;a<r.length;){var o=r[a],l=r[a+1];r[a++]=t[0]*o+t[2]*l+t[4],r[a++]=t[1]*o+t[3]*l+t[5]}}function El(e,t){var n=e.getUpdatedPathProxy(),r=t.getUpdatedPathProxy(),a=fp(to(n),to(r)),o=a[0],l=a[1],s=e.getComputedTransform(),i=t.getComputedTransform();function c(){this.transform=null}s&&ki(o,s),i&&ki(l,i),br(t,"updateTransform",{replace:c}),t.transform=null;var p=hp(o,l,10,Math.PI),u=[];br(t,"buildPath",{replace:function(m){for(var d=t.__morphT,b=1-d,g=[],v=0;v<p.length;v++){var w=p[v],y=w.from,h=w.to,C=w.rotation*d,S=w.fromCp,x=w.toCp,k=Math.sin(C),A=Math.cos(C);Qu(g,S,x,d);for(var $=0;$<y.length;$+=2){var I=y[$],T=y[$+1],R=h[$],L=h[$+1],U=I*b+R*d,B=T*b+L*d;u[$]=U*A-B*k+g[0],u[$+1]=U*k+B*A+g[1]}var z=u[0],K=u[1];m.moveTo(z,K);for(var $=2;$<y.length;){var R=u[$++],L=u[$++],q=u[$++],F=u[$++],V=u[$++],G=u[$++];z===R&&K===L&&q===V&&F===G?m.lineTo(V,G):m.bezierCurveTo(R,L,q,F,V,G),z=V,K=G}}}})}function xo(e,t,n){if(!e||!t)return t;var r=n.done,a=n.during;El(e,t),t.__morphT=0;function o(){Sn(t,"buildPath"),Sn(t,"updateTransform"),t.__morphT=-1,t.createPathProxy(),t.dirtyShape()}return t.animateTo({__morphT:1},Qe({during:function(l){t.dirtyShape(),a&&a(l)},done:function(){o(),r&&r()}},n)),t}function vp(e,t,n,r,a,o){var l=16;e=a===n?0:Math.round(32767*(e-n)/(a-n)),t=o===r?0:Math.round(32767*(t-r)/(o-r));for(var s=0,i,c=(1<<l)/2;c>0;c/=2){var p=0,u=0;(e&c)>0&&(p=1),(t&c)>0&&(u=1),s+=c*c*(3*p^u),u===0&&(p===1&&(e=c-1-e,t=c-1-t),i=e,e=t,t=i)}return s}function xr(e){var t=1/0,n=1/0,r=-1/0,a=-1/0,o=et(e,function(s){var i=s.getBoundingRect(),c=s.getComputedTransform(),p=i.x+i.width/2+(c?c[4]:0),u=i.y+i.height/2+(c?c[5]:0);return t=Math.min(p,t),n=Math.min(u,n),r=Math.max(p,r),a=Math.max(u,a),[p,u]}),l=et(o,function(s,i){return{cp:s,z:vp(s[0],s[1],t,n,r,a),path:e[i]}});return l.sort(function(s,i){return s.z-i.z}).map(function(s){return s.path})}function Dl(e){return dp(e.path,e.count)}function ro(){return{fromIndividuals:[],toIndividuals:[],count:0}}function yp(e,t,n){var r=[];function a(S){for(var x=0;x<S.length;x++){var k=S[x];yr(k)?a(k.childrenRef()):k instanceof Ft&&r.push(k)}}a(e);var o=r.length;if(!o)return ro();var l=n.dividePath||Dl,s=l({path:t,count:o});if(s.length!==o)return console.error("Invalid morphing: unmatched splitted path"),ro();r=xr(r),s=xr(s);for(var i=n.done,c=n.during,p=n.individualDelay,u=new Yu,m=0;m<o;m++){var d=r[m],b=s[m];b.parent=t,b.copyTransform(u),p||El(d,b)}t.__isCombineMorphing=!0,t.childrenRef=function(){return s};function g(S){for(var x=0;x<s.length;x++)s[x].addSelfToZr(S)}br(t,"addSelfToZr",{after:function(S){g(S)}}),br(t,"removeSelfFromZr",{after:function(S){for(var x=0;x<s.length;x++)s[x].removeSelfFromZr(S)}});function v(){t.__isCombineMorphing=!1,t.__morphT=-1,t.childrenRef=null,Sn(t,"addSelfToZr"),Sn(t,"removeSelfFromZr")}var w=s.length;if(p)for(var y=w,h=function(){y--,y===0&&(v(),i&&i())},m=0;m<w;m++){var C=p?Qe({delay:(n.delay||0)+p(m,w,r[m],s[m]),done:h},n):n;xo(r[m],s[m],C)}else t.__morphT=0,t.animateTo({__morphT:1},Qe({during:function(S){for(var x=0;x<w;x++){var k=s[x];k.__morphT=t.__morphT,k.dirtyShape()}c&&c(S)},done:function(){v();for(var S=0;S<e.length;S++)Sn(e[S],"updateTransform");i&&i()}},n));return t.__zr&&g(t.__zr),{fromIndividuals:r,toIndividuals:s,count:w}}function bp(e,t,n){var r=t.length,a=[],o=n.dividePath||Dl;function l(d){for(var b=0;b<d.length;b++){var g=d[b];yr(g)?l(g.childrenRef()):g instanceof Ft&&a.push(g)}}if(yr(e)){l(e.childrenRef());var s=a.length;if(s<r)for(var i=0,c=s;c<r;c++)a.push(fo(a[i++%s]));a.length=r}else{a=o({path:e,count:r});for(var p=e.getComputedTransform(),c=0;c<a.length;c++)a[c].setLocalTransform(p);if(a.length!==r)return console.error("Invalid morphing: unmatched splitted path"),ro()}a=xr(a),t=xr(t);for(var u=n.individualDelay,c=0;c<r;c++){var m=u?Qe({delay:(n.delay||0)+u(c,r,a[c],t[c])},n):n;xo(a[c],t[c],m)}return{fromIndividuals:a,toIndividuals:t,count:t.length}}function Ci(e){return Pt(e[0])}function $i(e,t){for(var n=[],r=e.length,a=0;a<r;a++)n.push({one:e[a],many:[]});for(var a=0;a<t.length;a++){var o=t[a].length,l=void 0;for(l=0;l<o;l++)n[l%r].many.push(t[a][l])}for(var s=0,a=r-1;a>=0;a--)if(!n[a].many.length){var i=n[s].many;if(i.length<=1)if(s)s=0;else return n;var o=i.length,c=Math.ceil(o/2);n[a].many=i.slice(c,o),n[s].many=i.slice(0,c),s++}return n}var xp={clone:function(e){for(var t=[],n=1-Math.pow(1-e.path.style.opacity,1/e.count),r=0;r<e.count;r++){var a=fo(e.path);a.setStyle("opacity",n),t.push(a)}return t},split:null};function Gr(e,t,n,r,a,o){if(!e.length||!t.length)return;var l=mo("update",r,a);if(!(l&&l.duration>0))return;var s=r.getModel("universalTransition").get("delay"),i=Object.assign({setToFinal:!0},l),c,p;Ci(e)&&(c=e,p=t),Ci(t)&&(c=t,p=e);function u(w,y,h,C,S){var x=w.many,k=w.one;if(x.length===1&&!S){var A=y?x[0]:k,$=y?k:x[0];if(yr(A))u({many:[A],one:$},!0,h,C,!0);else{var I=s?Qe({delay:s(h,C)},i):i;xo(A,$,I),o(A,$,A,$,I)}}else for(var T=Qe({dividePath:xp[n],individualDelay:s&&function(K,q,F,V){return s(K+h,C)}},i),R=y?yp(x,k,T):bp(k,x,T),L=R.fromIndividuals,U=R.toIndividuals,B=L.length,z=0;z<B;z++){var I=s?Qe({delay:s(z,B)},i):i;o(L[z],U[z],y?x[z]:w.one,y?w.one:x[z],I)}}for(var m=c?c===e:e.length>t.length,d=c?$i(p,c):$i(m?t:e,[m?e:t]),b=0,g=0;g<d.length;g++)b+=d[g].many.length;for(var v=0,g=0;g<d.length;g++)u(d[g],m,v,b),v+=d[g].many.length}function It(e){if(!e)return[];if(Pt(e)){for(var t=[],n=0;n<e.length;n++)t.push(It(e[n]));return t}var r=[];return e.traverse(function(a){a instanceof Ft&&!a.disableMorphing&&!a.invisible&&!a.ignore&&r.push(a)}),r}var Ol=1e4,wp=0,Ai=1,Ii=2,Sp=ed();function _p(e,t){for(var n=e.dimensions,r=0;r<n.length;r++){var a=e.getDimensionInfo(n[r]);if(a&&a.otherDims[t]===0)return n[r]}}function kp(e,t,n){var r=e.getDimensionInfo(n),a=r&&r.ordinalMeta;if(r){var o=e.get(r.name,t);return a&&a.categories[o]||o+""}}function ji(e,t,n,r){var a=r?"itemChildGroupId":"itemGroupId",o=_p(e,a);if(o){var l=kp(e,t,o);return l}var s=e.getRawDataItem(t),i=r?"childGroupId":"groupId";if(s&&s[i])return s[i]+"";if(!r)return n||e.getId(t)}function Ti(e){var t=[];return ue(e,function(n){var r=n.data,a=n.dataGroupId;if(!(r.count()>Ol))for(var o=r.getIndices(),l=0;l<o.length;l++)t.push({data:r,groupId:ji(r,l,a,!1),childGroupId:ji(r,l,a,!0),divide:n.divide,dataIndex:l})}),t}function Vr(e,t,n){e.traverse(function(r){r instanceof Ft&&lo(r,{style:{opacity:0}},t,{dataIndex:n,isFrom:!0})})}function Wr(e){if(e.parent){var t=e.getComputedTransform();e.setLocalTransform(t),e.parent.remove(e)}}function Jt(e){e.stopAnimation(),e.isGroup&&e.traverse(function(t){t.stopAnimation()})}function Cp(e,t,n){var r=mo("update",n,t);r&&e.traverse(function(a){if(a instanceof td){var o=nd(a);o&&a.animateFrom({style:o},r)}})}function $p(e,t){var n=e.length;if(n!==t.length)return!1;for(var r=0;r<n;r++){var a=e[r],o=t[r];if(a.data.getId(a.dataIndex)!==o.data.getId(o.dataIndex))return!1}return!0}function Rl(e,t,n){var r=Ti(e),a=Ti(t);function o(h,C,S,x,k){(S||h)&&C.animateFrom({style:S&&S!==h?rn(rn({},S.style),h.style):h.style},k)}var l=!1,s=wp,i=Ot(),c=Ot();r.forEach(function(h){h.groupId&&i.set(h.groupId,!0),h.childGroupId&&c.set(h.childGroupId,!0)});for(var p=0;p<a.length;p++){var u=a[p].groupId;if(c.get(u)){s=Ai;break}var m=a[p].childGroupId;if(m&&i.get(m)){s=Ii;break}}function d(h,C){return function(S){var x=S.data,k=S.dataIndex;return C?x.getId(k):h?s===Ai?S.childGroupId:S.groupId:s===Ii?S.childGroupId:S.groupId}}var b=$p(r,a),g={};if(!b)for(var p=0;p<a.length;p++){var v=a[p],w=v.data.getItemGraphicEl(v.dataIndex);w&&(g[w.id]=!0)}function y(h,C){var S=r[C],x=a[h],k=x.data.hostModel,A=S.data.getItemGraphicEl(S.dataIndex),$=x.data.getItemGraphicEl(x.dataIndex);if(A===$){$&&Cp($,x.dataIndex,k);return}A&&g[A.id]||$&&(Jt($),A?(Jt(A),Wr(A),l=!0,Gr(It(A),It($),x.divide,k,h,o)):Vr($,k,h))}new ni(r,a,d(!0,b),d(!1,b),null,"multiple").update(y).updateManyToOne(function(h,C){var S=a[h],x=S.data,k=x.hostModel,A=x.getItemGraphicEl(S.dataIndex),$=Ka(et(C,function(I){return r[I].data.getItemGraphicEl(r[I].dataIndex)}),function(I){return I&&I!==A&&!g[I.id]});A&&(Jt(A),$.length?(ue($,function(I){Jt(I),Wr(I)}),l=!0,Gr(It($),It(A),S.divide,k,h,o)):Vr(A,k,S.dataIndex))}).updateOneToMany(function(h,C){var S=r[C],x=S.data.getItemGraphicEl(S.dataIndex);if(!(x&&g[x.id])){var k=Ka(et(h,function($){return a[$].data.getItemGraphicEl(a[$].dataIndex)}),function($){return $&&$!==x}),A=a[h[0]].data.hostModel;k.length&&(ue(k,function($){return Jt($)}),x?(Jt(x),Wr(x),l=!0,Gr(It(x),It(k),S.divide,A,h[0],o)):ue(k,function($){return Vr($,A,h[0])}))}}).updateManyToMany(function(h,C){new ni(C,h,function(S){return r[S].data.getId(r[S].dataIndex)},function(S){return a[S].data.getId(a[S].dataIndex)}).update(function(S,x){y(h[S],C[x])}).execute()}).execute(),l&&ue(t,function(h){var C=h.data,S=C.hostModel,x=S&&n.getViewOfSeriesModel(S),k=mo("update",S,0);x&&S.isAnimationEnabled()&&k&&k.duration>0&&x.group.traverse(function(A){A instanceof Ft&&!A.animators.length&&A.animateFrom({style:{opacity:0}},k)})})}function Ei(e){var t=e.getModel("universalTransition").get("seriesKey");return t||e.id}function Di(e){return Pt(e)?e.sort().join(","):e}function mt(e){if(e.hostModel)return e.hostModel.getModel("universalTransition").get("divideShape")}function Ap(e,t){var n=Ot(),r=Ot(),a=Ot();return ue(e.oldSeries,function(o,l){var s=e.oldDataGroupIds[l],i=e.oldData[l],c=Ei(o),p=Di(c);r.set(p,{dataGroupId:s,data:i}),Pt(c)&&ue(c,function(u){a.set(u,{key:p,dataGroupId:s,data:i})})}),ue(t.updatedSeries,function(o){if(o.isUniversalTransitionEnabled()&&o.isAnimationEnabled()){var l=o.get("dataGroupId"),s=o.getData(),i=Ei(o),c=Di(i),p=r.get(c);if(p)n.set(c,{oldSeries:[{dataGroupId:p.dataGroupId,divide:mt(p.data),data:p.data}],newSeries:[{dataGroupId:l,divide:mt(s),data:s}]});else if(Pt(i)){var u=[];ue(i,function(b){var g=r.get(b);g.data&&u.push({dataGroupId:g.dataGroupId,divide:mt(g.data),data:g.data})}),u.length&&n.set(c,{oldSeries:u,newSeries:[{dataGroupId:l,data:s,divide:mt(s)}]})}else{var m=a.get(i);if(m){var d=n.get(m.key);d||(d={oldSeries:[{dataGroupId:m.dataGroupId,data:m.data,divide:mt(m.data)}],newSeries:[]},n.set(m.key,d)),d.newSeries.push({dataGroupId:l,data:s,divide:mt(s)})}}}}),n}function Oi(e,t){for(var n=0;n<e.length;n++){var r=t.seriesIndex!=null&&t.seriesIndex===e[n].seriesIndex||t.seriesId!=null&&t.seriesId===e[n].id;if(r)return n}}function Ip(e,t,n,r){var a=[],o=[];ue(wn(e.from),function(l){var s=Oi(t.oldSeries,l);s>=0&&a.push({dataGroupId:t.oldDataGroupIds[s],data:t.oldData[s],divide:mt(t.oldData[s]),groupIdDim:l.dimension})}),ue(wn(e.to),function(l){var s=Oi(n.updatedSeries,l);if(s>=0){var i=n.updatedSeries[s].getData();o.push({dataGroupId:t.oldDataGroupIds[s],data:i,divide:mt(i),groupIdDim:l.dimension})}}),a.length>0&&o.length>0&&Rl(a,o,r)}function jp(e){e.registerUpdateLifecycle("series:beforeupdate",function(t,n,r){ue(wn(r.seriesTransition),function(a){ue(wn(a.to),function(o){for(var l=r.updatedSeries,s=0;s<l.length;s++)(o.seriesIndex!=null&&o.seriesIndex===l[s].seriesIndex||o.seriesId!=null&&o.seriesId===l[s].id)&&(l[s][qr]=!0)})})}),e.registerUpdateLifecycle("series:transition",function(t,n,r){var a=Sp(n);if(a.oldSeries&&r.updatedSeries&&r.optionChanged){var o=r.seriesTransition;if(o)ue(wn(o),function(d){Ip(d,a,r,n)});else{var l=Ap(a,r);ue(l.keys(),function(d){var b=l.get(d);Rl(b.oldSeries,b.newSeries,n)})}ue(r.updatedSeries,function(d){d[qr]&&(d[qr]=!1)})}for(var s=t.getSeries(),i=a.oldSeries=[],c=a.oldDataGroupIds=[],p=a.oldData=[],u=0;u<s.length;u++){var m=s[u].getData();m.count()<Ol&&(i.push(s[u]),c.push(s[u].get("dataGroupId")),p.push(m))}})}function Ri(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function en(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Ri(Object(n),!0).forEach(function(r){fl(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ri(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Tp(e){var t=e.length;if(t===0||t===1)return e;if(t===2)return[e[0],e[1],"".concat(e[0],".").concat(e[1]),"".concat(e[1],".").concat(e[0])];if(t===3)return[e[0],e[1],e[2],"".concat(e[0],".").concat(e[1]),"".concat(e[0],".").concat(e[2]),"".concat(e[1],".").concat(e[0]),"".concat(e[1],".").concat(e[2]),"".concat(e[2],".").concat(e[0]),"".concat(e[2],".").concat(e[1]),"".concat(e[0],".").concat(e[1],".").concat(e[2]),"".concat(e[0],".").concat(e[2],".").concat(e[1]),"".concat(e[1],".").concat(e[0],".").concat(e[2]),"".concat(e[1],".").concat(e[2],".").concat(e[0]),"".concat(e[2],".").concat(e[0],".").concat(e[1]),"".concat(e[2],".").concat(e[1],".").concat(e[0])];if(t>=4)return[e[0],e[1],e[2],e[3],"".concat(e[0],".").concat(e[1]),"".concat(e[0],".").concat(e[2]),"".concat(e[0],".").concat(e[3]),"".concat(e[1],".").concat(e[0]),"".concat(e[1],".").concat(e[2]),"".concat(e[1],".").concat(e[3]),"".concat(e[2],".").concat(e[0]),"".concat(e[2],".").concat(e[1]),"".concat(e[2],".").concat(e[3]),"".concat(e[3],".").concat(e[0]),"".concat(e[3],".").concat(e[1]),"".concat(e[3],".").concat(e[2]),"".concat(e[0],".").concat(e[1],".").concat(e[2]),"".concat(e[0],".").concat(e[1],".").concat(e[3]),"".concat(e[0],".").concat(e[2],".").concat(e[1]),"".concat(e[0],".").concat(e[2],".").concat(e[3]),"".concat(e[0],".").concat(e[3],".").concat(e[1]),"".concat(e[0],".").concat(e[3],".").concat(e[2]),"".concat(e[1],".").concat(e[0],".").concat(e[2]),"".concat(e[1],".").concat(e[0],".").concat(e[3]),"".concat(e[1],".").concat(e[2],".").concat(e[0]),"".concat(e[1],".").concat(e[2],".").concat(e[3]),"".concat(e[1],".").concat(e[3],".").concat(e[0]),"".concat(e[1],".").concat(e[3],".").concat(e[2]),"".concat(e[2],".").concat(e[0],".").concat(e[1]),"".concat(e[2],".").concat(e[0],".").concat(e[3]),"".concat(e[2],".").concat(e[1],".").concat(e[0]),"".concat(e[2],".").concat(e[1],".").concat(e[3]),"".concat(e[2],".").concat(e[3],".").concat(e[0]),"".concat(e[2],".").concat(e[3],".").concat(e[1]),"".concat(e[3],".").concat(e[0],".").concat(e[1]),"".concat(e[3],".").concat(e[0],".").concat(e[2]),"".concat(e[3],".").concat(e[1],".").concat(e[0]),"".concat(e[3],".").concat(e[1],".").concat(e[2]),"".concat(e[3],".").concat(e[2],".").concat(e[0]),"".concat(e[3],".").concat(e[2],".").concat(e[1]),"".concat(e[0],".").concat(e[1],".").concat(e[2],".").concat(e[3]),"".concat(e[0],".").concat(e[1],".").concat(e[3],".").concat(e[2]),"".concat(e[0],".").concat(e[2],".").concat(e[1],".").concat(e[3]),"".concat(e[0],".").concat(e[2],".").concat(e[3],".").concat(e[1]),"".concat(e[0],".").concat(e[3],".").concat(e[1],".").concat(e[2]),"".concat(e[0],".").concat(e[3],".").concat(e[2],".").concat(e[1]),"".concat(e[1],".").concat(e[0],".").concat(e[2],".").concat(e[3]),"".concat(e[1],".").concat(e[0],".").concat(e[3],".").concat(e[2]),"".concat(e[1],".").concat(e[2],".").concat(e[0],".").concat(e[3]),"".concat(e[1],".").concat(e[2],".").concat(e[3],".").concat(e[0]),"".concat(e[1],".").concat(e[3],".").concat(e[0],".").concat(e[2]),"".concat(e[1],".").concat(e[3],".").concat(e[2],".").concat(e[0]),"".concat(e[2],".").concat(e[0],".").concat(e[1],".").concat(e[3]),"".concat(e[2],".").concat(e[0],".").concat(e[3],".").concat(e[1]),"".concat(e[2],".").concat(e[1],".").concat(e[0],".").concat(e[3]),"".concat(e[2],".").concat(e[1],".").concat(e[3],".").concat(e[0]),"".concat(e[2],".").concat(e[3],".").concat(e[0],".").concat(e[1]),"".concat(e[2],".").concat(e[3],".").concat(e[1],".").concat(e[0]),"".concat(e[3],".").concat(e[0],".").concat(e[1],".").concat(e[2]),"".concat(e[3],".").concat(e[0],".").concat(e[2],".").concat(e[1]),"".concat(e[3],".").concat(e[1],".").concat(e[0],".").concat(e[2]),"".concat(e[3],".").concat(e[1],".").concat(e[2],".").concat(e[0]),"".concat(e[3],".").concat(e[2],".").concat(e[0],".").concat(e[1]),"".concat(e[3],".").concat(e[2],".").concat(e[1],".").concat(e[0])]}var Kr={};function Ep(e){if(e.length===0||e.length===1)return e;var t=e.join(".");return Kr[t]||(Kr[t]=Tp(e)),Kr[t]}function Dp(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,r=e.filter(function(o){return o!=="token"}),a=Ep(r);return a.reduce(function(o,l){return en(en({},o),n[l])},t)}function Pi(e){return e.join(" ")}function Op(e,t){var n=0;return function(r){return n+=1,r.map(function(a,o){return Pl({node:a,stylesheet:e,useInlineStyles:t,key:"code-segment-".concat(n,"-").concat(o)})})}}function Pl(e){var t=e.node,n=e.stylesheet,r=e.style,a=r===void 0?{}:r,o=e.useInlineStyles,l=e.key,s=t.properties,i=t.type,c=t.tagName,p=t.value;if(i==="text")return p;if(c){var u=Op(n,o),m;if(!o)m=en(en({},s),{},{className:Pi(s.className)});else{var d=Object.keys(n).reduce(function(w,y){return y.split(".").forEach(function(h){w.includes(h)||w.push(h)}),w},[]),b=s.className&&s.className.includes("token")?["token"]:[],g=s.className&&b.concat(s.className.filter(function(w){return!d.includes(w)}));m=en(en({},s),{},{className:Pi(g)||void 0,style:Dp(s.className,Object.assign({},s.style,a),n)})}var v=u(t.children);return Xe.createElement(c,au({key:l},m),v)}}const Rp=(function(e,t){var n=e.listLanguages();return n.indexOf(t)!==-1});var Pp=["language","children","style","customStyle","codeTagProps","useInlineStyles","showLineNumbers","showInlineLineNumbers","startingLineNumber","lineNumberContainerStyle","lineNumberStyle","wrapLines","wrapLongLines","lineProps","renderer","PreTag","CodeTag","code","astGenerator"];function Ni(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function gt(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Ni(Object(n),!0).forEach(function(r){fl(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ni(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}var Np=/\n/g;function Fp(e){return e.match(Np)}function Lp(e){var t=e.lines,n=e.startingLineNumber,r=e.style;return t.map(function(a,o){var l=o+n;return Xe.createElement("span",{key:"line-".concat(o),className:"react-syntax-highlighter-line-number",style:typeof r=="function"?r(l):r},"".concat(l,`
`))})}function Mp(e){var t=e.codeString,n=e.codeStyle,r=e.containerStyle,a=r===void 0?{float:"left",paddingRight:"10px"}:r,o=e.numberStyle,l=o===void 0?{}:o,s=e.startingLineNumber;return Xe.createElement("code",{style:Object.assign({},n,a)},Lp({lines:t.replace(/\n$/,"").split(`
`),style:l,startingLineNumber:s}))}function qp(e){return"".concat(e.toString().length,".25em")}function Nl(e,t){return{type:"element",tagName:"span",properties:{key:"line-number--".concat(e),className:["comment","linenumber","react-syntax-highlighter-line-number"],style:t},children:[{type:"text",value:e}]}}function Fl(e,t,n){var r={display:"inline-block",minWidth:qp(n),paddingRight:"1em",textAlign:"right",userSelect:"none"},a=typeof e=="function"?e(t):e,o=gt(gt({},r),a);return o}function dr(e){var t=e.children,n=e.lineNumber,r=e.lineNumberStyle,a=e.largestLineNumber,o=e.showInlineLineNumbers,l=e.lineProps,s=l===void 0?{}:l,i=e.className,c=i===void 0?[]:i,p=e.showLineNumbers,u=e.wrapLongLines,m=e.wrapLines,d=m===void 0?!1:m,b=d?gt({},typeof s=="function"?s(n):s):{};if(b.className=b.className?[].concat(Ua(b.className.trim().split(/\s+/)),Ua(c)):c,n&&o){var g=Fl(r,n,a);t.unshift(Nl(n,g))}return u&p&&(b.style=gt({display:"flex"},b.style)),{type:"element",tagName:"span",properties:b,children:t}}function Ll(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],r=0;r<e.length;r++){var a=e[r];if(a.type==="text")n.push(dr({children:[a],className:Ua(new Set(t))}));else if(a.children){var o=t.concat(a.properties.className);Ll(a.children,o).forEach(function(l){return n.push(l)})}}return n}function zp(e,t,n,r,a,o,l,s,i){var c,p=Ll(e.value),u=[],m=-1,d=0;function b(S,x){var k=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];return dr({children:S,lineNumber:x,lineNumberStyle:s,largestLineNumber:l,showInlineLineNumbers:a,lineProps:n,className:k,showLineNumbers:r,wrapLongLines:i,wrapLines:t})}function g(S,x){if(r&&x&&a){var k=Fl(s,x,l);S.unshift(Nl(x,k))}return S}function v(S,x){var k=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];return t||k.length>0?b(S,x,k):g(S,x)}for(var w=function(){var x=p[d],k=x.children[0].value,A=Fp(k);if(A){var $=k.split(`
`);$.forEach(function(I,T){var R=r&&u.length+o,L={type:"text",value:"".concat(I,`
`)};if(T===0){var U=p.slice(m+1,d).concat(dr({children:[L],className:x.properties.className})),B=v(U,R);u.push(B)}else if(T===$.length-1){var z=p[d+1]&&p[d+1].children&&p[d+1].children[0],K={type:"text",value:"".concat(I)};if(z){var q=dr({children:[K],className:x.properties.className});p.splice(d+1,0,q)}else{var F=[K],V=v(F,R,x.properties.className);u.push(V)}}else{var G=[L],J=v(G,R,x.properties.className);u.push(J)}}),m=d}d++};d<p.length;)w();if(m!==p.length-1){var y=p.slice(m+1,p.length);if(y&&y.length){var h=r&&u.length+o,C=v(y,h);u.push(C)}}return t?u:(c=[]).concat.apply(c,u)}function Bp(e){var t=e.rows,n=e.stylesheet,r=e.useInlineStyles;return t.map(function(a,o){return Pl({node:a,stylesheet:n,useInlineStyles:r,key:"code-segment-".concat(o)})})}function Ml(e){return e&&typeof e.highlightAuto<"u"}function Hp(e){var t=e.astGenerator,n=e.language,r=e.code,a=e.defaultCodeValue;if(Ml(t)){var o=Rp(t,n);return n==="text"?{value:a,language:"text"}:o?t.highlight(n,r):t.highlightAuto(r)}try{return n&&n!=="text"?{value:t.highlight(r,n)}:{value:a}}catch{return{value:a}}}function Up(e,t){return function(r){var a,o,l=r.language,s=r.children,i=r.style,c=i===void 0?t:i,p=r.customStyle,u=p===void 0?{}:p,m=r.codeTagProps,d=m===void 0?{className:l?"language-".concat(l):void 0,style:gt(gt({},c['code[class*="language-"]']),c['code[class*="language-'.concat(l,'"]')])}:m,b=r.useInlineStyles,g=b===void 0?!0:b,v=r.showLineNumbers,w=v===void 0?!1:v,y=r.showInlineLineNumbers,h=y===void 0?!0:y,C=r.startingLineNumber,S=C===void 0?1:C,x=r.lineNumberContainerStyle,k=r.lineNumberStyle,A=k===void 0?{}:k,$=r.wrapLines,I=r.wrapLongLines,T=I===void 0?!1:I,R=r.lineProps,L=R===void 0?{}:R,U=r.renderer,B=r.PreTag,z=B===void 0?"pre":B,K=r.CodeTag,q=K===void 0?"code":K,F=r.code,V=F===void 0?(Array.isArray(s)?s[0]:s)||"":F,G=r.astGenerator,J=ou(r,Pp);G=G||e;var H=w?Xe.createElement(Mp,{containerStyle:x,codeStyle:d.style||{},numberStyle:A,startingLineNumber:S,codeString:V}):null,X=c.hljs||c['pre[class*="language-"]']||{backgroundColor:"#fff"},te=Ml(G)?"hljs":"prismjs",de=g?Object.assign({},J,{style:Object.assign({},X,u)}):Object.assign({},J,{className:J.className?"".concat(te," ").concat(J.className):te,style:Object.assign({},u)});if(T?d.style=gt({whiteSpace:"pre-wrap"},d.style):d.style=gt({whiteSpace:"pre"},d.style),!G)return Xe.createElement(z,de,H,Xe.createElement(q,d,V));($===void 0&&U||T)&&($=!0),U=U||Bp;var pe=[{type:"text",value:V}],be=Hp({astGenerator:G,language:l,code:V,defaultCodeValue:pe});be.language===null&&(be.value=pe);var Ie=(a=(o=V.match(/\n/g))===null||o===void 0?void 0:o.length)!==null&&a!==void 0?a:0,Oe=S+Ie,we=zp(be,$,L,w,h,S,Oe,A,T);return Xe.createElement(z,de,Xe.createElement(q,d,!h&&H,U({rows:we,stylesheet:c,useInlineStyles:g})))}}var Jr,Fi;function Gp(){if(Fi)return Jr;Fi=1,Jr=t;var e=Object.prototype.hasOwnProperty;function t(){for(var n={},r=0;r<arguments.length;r++){var a=arguments[r];for(var o in a)e.call(a,o)&&(n[o]=a[o])}return n}return Jr}var Zr,Li;function ql(){if(Li)return Zr;Li=1,Zr=t;var e=t.prototype;e.space=null,e.normal={},e.property={};function t(n,r,a){this.property=n,this.normal=r,a&&(this.space=a)}return Zr}var Xr,Mi;function Vp(){if(Mi)return Xr;Mi=1;var e=Gp(),t=ql();Xr=n;function n(r){for(var a=r.length,o=[],l=[],s=-1,i,c;++s<a;)i=r[s],o.push(i.property),l.push(i.normal),c=i.space;return new t(e.apply(null,o),e.apply(null,l),c)}return Xr}var Yr,qi;function wo(){if(qi)return Yr;qi=1,Yr=e;function e(t){return t.toLowerCase()}return Yr}var Qr,zi;function zl(){if(zi)return Qr;zi=1,Qr=t;var e=t.prototype;e.space=null,e.attribute=null,e.property=null,e.boolean=!1,e.booleanish=!1,e.overloadedBoolean=!1,e.number=!1,e.commaSeparated=!1,e.spaceSeparated=!1,e.commaOrSpaceSeparated=!1,e.mustUseProperty=!1,e.defined=!1;function t(n,r){this.property=n,this.attribute=r}return Qr}var at={},Bi;function So(){if(Bi)return at;Bi=1;var e=0;at.boolean=t(),at.booleanish=t(),at.overloadedBoolean=t(),at.number=t(),at.spaceSeparated=t(),at.commaSeparated=t(),at.commaOrSpaceSeparated=t();function t(){return Math.pow(2,++e)}return at}var ea,Hi;function Bl(){if(Hi)return ea;Hi=1;var e=zl(),t=So();ea=a,a.prototype=new e,a.prototype.defined=!0;var n=["boolean","booleanish","overloadedBoolean","number","commaSeparated","spaceSeparated","commaOrSpaceSeparated"],r=n.length;function a(l,s,i,c){var p=-1,u;for(o(this,"space",c),e.call(this,l,s);++p<r;)u=n[p],o(this,u,(i&t[u])===t[u])}function o(l,s,i){i&&(l[s]=i)}return ea}var ta,Ui;function An(){if(Ui)return ta;Ui=1;var e=wo(),t=ql(),n=Bl();ta=r;function r(a){var o=a.space,l=a.mustUseProperty||[],s=a.attributes||{},i=a.properties,c=a.transform,p={},u={},m,d;for(m in i)d=new n(m,c(s,m),i[m],o),l.indexOf(m)!==-1&&(d.mustUseProperty=!0),p[m]=d,u[e(m)]=m,u[e(d.attribute)]=m;return new t(p,u,o)}return ta}var na,Gi;function Wp(){if(Gi)return na;Gi=1;var e=An();na=e({space:"xlink",transform:t,properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null}});function t(n,r){return"xlink:"+r.slice(5).toLowerCase()}return na}var ra,Vi;function Kp(){if(Vi)return ra;Vi=1;var e=An();ra=e({space:"xml",transform:t,properties:{xmlLang:null,xmlBase:null,xmlSpace:null}});function t(n,r){return"xml:"+r.slice(3).toLowerCase()}return ra}var aa,Wi;function Jp(){if(Wi)return aa;Wi=1,aa=e;function e(t,n){return n in t?t[n]:n}return aa}var oa,Ki;function Hl(){if(Ki)return oa;Ki=1;var e=Jp();oa=t;function t(n,r){return e(n,r.toLowerCase())}return oa}var ia,Ji;function Zp(){if(Ji)return ia;Ji=1;var e=An(),t=Hl();return ia=e({space:"xmlns",attributes:{xmlnsxlink:"xmlns:xlink"},transform:t,properties:{xmlns:null,xmlnsXLink:null}}),ia}var sa,Zi;function Xp(){if(Zi)return sa;Zi=1;var e=So(),t=An(),n=e.booleanish,r=e.number,a=e.spaceSeparated;sa=t({transform:o,properties:{ariaActiveDescendant:null,ariaAtomic:n,ariaAutoComplete:null,ariaBusy:n,ariaChecked:n,ariaColCount:r,ariaColIndex:r,ariaColSpan:r,ariaControls:a,ariaCurrent:null,ariaDescribedBy:a,ariaDetails:null,ariaDisabled:n,ariaDropEffect:a,ariaErrorMessage:null,ariaExpanded:n,ariaFlowTo:a,ariaGrabbed:n,ariaHasPopup:null,ariaHidden:n,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:a,ariaLevel:r,ariaLive:null,ariaModal:n,ariaMultiLine:n,ariaMultiSelectable:n,ariaOrientation:null,ariaOwns:a,ariaPlaceholder:null,ariaPosInSet:r,ariaPressed:n,ariaReadOnly:n,ariaRelevant:null,ariaRequired:n,ariaRoleDescription:a,ariaRowCount:r,ariaRowIndex:r,ariaRowSpan:r,ariaSelected:n,ariaSetSize:r,ariaSort:null,ariaValueMax:r,ariaValueMin:r,ariaValueNow:r,ariaValueText:null,role:null}});function o(l,s){return s==="role"?s:"aria-"+s.slice(4).toLowerCase()}return sa}var la,Xi;function Yp(){if(Xi)return la;Xi=1;var e=So(),t=An(),n=Hl(),r=e.boolean,a=e.overloadedBoolean,o=e.booleanish,l=e.number,s=e.spaceSeparated,i=e.commaSeparated;return la=t({space:"html",attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},transform:n,mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:i,acceptCharset:s,accessKey:s,action:null,allow:null,allowFullScreen:r,allowPaymentRequest:r,allowUserMedia:r,alt:null,as:null,async:r,autoCapitalize:null,autoComplete:s,autoFocus:r,autoPlay:r,capture:r,charSet:null,checked:r,cite:null,className:s,cols:l,colSpan:null,content:null,contentEditable:o,controls:r,controlsList:s,coords:l|i,crossOrigin:null,data:null,dateTime:null,decoding:null,default:r,defer:r,dir:null,dirName:null,disabled:r,download:a,draggable:o,encType:null,enterKeyHint:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:r,formTarget:null,headers:s,height:l,hidden:r,high:l,href:null,hrefLang:null,htmlFor:s,httpEquiv:s,id:null,imageSizes:null,imageSrcSet:i,inputMode:null,integrity:null,is:null,isMap:r,itemId:null,itemProp:s,itemRef:s,itemScope:r,itemType:s,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:r,low:l,manifest:null,max:null,maxLength:l,media:null,method:null,min:null,minLength:l,multiple:r,muted:r,name:null,nonce:null,noModule:r,noValidate:r,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforePrint:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextMenu:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:r,optimum:l,pattern:null,ping:s,placeholder:null,playsInline:r,poster:null,preload:null,readOnly:r,referrerPolicy:null,rel:s,required:r,reversed:r,rows:l,rowSpan:l,sandbox:s,scope:null,scoped:r,seamless:r,selected:r,shape:null,size:l,sizes:null,slot:null,span:l,spellCheck:o,src:null,srcDoc:null,srcLang:null,srcSet:i,start:l,step:null,style:null,tabIndex:l,target:null,title:null,translate:null,type:null,typeMustMatch:r,useMap:null,value:o,width:l,wrap:null,align:null,aLink:null,archive:s,axis:null,background:null,bgColor:null,border:l,borderColor:null,bottomMargin:l,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:r,declare:r,event:null,face:null,frame:null,frameBorder:null,hSpace:l,leftMargin:l,link:null,longDesc:null,lowSrc:null,marginHeight:l,marginWidth:l,noResize:r,noHref:r,noShade:r,noWrap:r,object:null,profile:null,prompt:null,rev:null,rightMargin:l,rules:null,scheme:null,scrolling:o,standby:null,summary:null,text:null,topMargin:l,valueType:null,version:null,vAlign:null,vLink:null,vSpace:l,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:r,disableRemotePlayback:r,prefix:null,property:null,results:l,security:null,unselectable:null}}),la}var ca,Yi;function Qp(){if(Yi)return ca;Yi=1;var e=Vp(),t=Wp(),n=Kp(),r=Zp(),a=Xp(),o=Yp();return ca=e([n,t,r,a,o]),ca}var ua,Qi;function ef(){if(Qi)return ua;Qi=1;var e=wo(),t=Bl(),n=zl(),r="data";ua=s;var a=/^data[-\w.:]+$/i,o=/-[a-z]/g,l=/[A-Z]/g;function s(m,d){var b=e(d),g=d,v=n;return b in m.normal?m.property[m.normal[b]]:(b.length>4&&b.slice(0,4)===r&&a.test(d)&&(d.charAt(4)==="-"?g=i(d):d=c(d),v=t),new v(g,d))}function i(m){var d=m.slice(5).replace(o,u);return r+d.charAt(0).toUpperCase()+d.slice(1)}function c(m){var d=m.slice(4);return o.test(d)?m:(d=d.replace(l,p),d.charAt(0)!=="-"&&(d="-"+d),r+d)}function p(m){return"-"+m.toLowerCase()}function u(m){return m.charAt(1).toUpperCase()}return ua}var da,es;function tf(){if(es)return da;es=1,da=t;var e=/[#.]/g;function t(n,r){for(var a=n||"",o=r||"div",l={},s=0,i,c,p;s<a.length;)e.lastIndex=s,p=e.exec(a),i=a.slice(s,p?p.index:a.length),i&&(c?c==="#"?l.id=i:l.className?l.className.push(i):l.className=[i]:o=i,s+=i.length),p&&(c=p[0],s++);return{type:"element",tagName:o,properties:l,children:[]}}return da}var Bn={},ts;function nf(){if(ts)return Bn;ts=1,Bn.parse=r,Bn.stringify=a;var e="",t=" ",n=/[ \t\n\r\f]+/g;function r(o){var l=String(o||e).trim();return l===e?[]:l.split(n)}function a(o){return o.join(t).trim()}return Bn}var Hn={},ns;function rf(){if(ns)return Hn;ns=1,Hn.parse=r,Hn.stringify=a;var e=",",t=" ",n="";function r(o){for(var l=[],s=String(o||n),i=s.indexOf(e),c=0,p=!1,u;!p;)i===-1&&(i=s.length,p=!0),u=s.slice(c,i).trim(),(u||!p)&&l.push(u),c=i+1,i=s.indexOf(e,c);return l}function a(o,l){var s=l||{},i=s.padLeft===!1?n:t,c=s.padRight?t:n;return o[o.length-1]===n&&(o=o.concat(n)),o.join(c+e+i).trim()}return Hn}var pa,rs;function af(){if(rs)return pa;rs=1;var e=ef(),t=wo(),n=tf(),r=nf().parse,a=rf().parse;pa=l;var o={}.hasOwnProperty;function l(b,g,v){var w=v?d(v):null;return y;function y(C,S){var x=n(C,g),k=Array.prototype.slice.call(arguments,2),A=x.tagName.toLowerCase(),$;if(x.tagName=w&&o.call(w,A)?w[A]:A,S&&s(S,x)&&(k.unshift(S),S=null),S)for($ in S)h(x.properties,$,S[$]);return c(x.children,k),x.tagName==="template"&&(x.content={type:"root",children:x.children},x.children=[]),x}function h(C,S,x){var k,A,$;x==null||x!==x||(k=e(b,S),A=k.property,$=x,typeof $=="string"&&(k.spaceSeparated?$=r($):k.commaSeparated?$=a($):k.commaOrSpaceSeparated&&($=r(a($).join(" ")))),A==="style"&&typeof x!="string"&&($=m($)),A==="className"&&C.className&&($=C.className.concat($)),C[A]=p(k,A,$))}}function s(b,g){return typeof b=="string"||"length"in b||i(g.tagName,b)}function i(b,g){var v=g.type;return b==="input"||!v||typeof v!="string"?!1:typeof g.children=="object"&&"length"in g.children?!0:(v=v.toLowerCase(),b==="button"?v!=="menu"&&v!=="submit"&&v!=="reset"&&v!=="button":"value"in g)}function c(b,g){var v,w;if(typeof g=="string"||typeof g=="number"){b.push({type:"text",value:String(g)});return}if(typeof g=="object"&&"length"in g){for(v=-1,w=g.length;++v<w;)c(b,g[v]);return}if(typeof g!="object"||!("type"in g))throw new Error("Expected node, nodes, or string, got `"+g+"`");b.push(g)}function p(b,g,v){var w,y,h;if(typeof v!="object"||!("length"in v))return u(b,g,v);for(y=v.length,w=-1,h=[];++w<y;)h[w]=u(b,g,v[w]);return h}function u(b,g,v){var w=v;return b.number||b.positiveNumber?!isNaN(w)&&w!==""&&(w=Number(w)):(b.boolean||b.overloadedBoolean)&&typeof w=="string"&&(w===""||t(v)===t(g))&&(w=!0),w}function m(b){var g=[],v;for(v in b)g.push([v,b[v]].join(": "));return g.join("; ")}function d(b){for(var g=b.length,v=-1,w={},y;++v<g;)y=b[v],w[y.toLowerCase()]=y;return w}return pa}var fa,as;function of(){if(as)return fa;as=1;var e=Qp(),t=af(),n=t(e,"div");return n.displayName="html",fa=n,fa}var ma,os;function sf(){return os||(os=1,ma=of()),ma}const lf="Æ",cf="&",uf="Á",df="Â",pf="À",ff="Å",mf="Ã",gf="Ä",hf="©",vf="Ç",yf="Ð",bf="É",xf="Ê",wf="È",Sf="Ë",_f=">",kf="Í",Cf="Î",$f="Ì",Af="Ï",If="<",jf="Ñ",Tf="Ó",Ef="Ô",Df="Ò",Of="Ø",Rf="Õ",Pf="Ö",Nf='"',Ff="®",Lf="Þ",Mf="Ú",qf="Û",zf="Ù",Bf="Ü",Hf="Ý",Uf="á",Gf="â",Vf="´",Wf="æ",Kf="à",Jf="&",Zf="å",Xf="ã",Yf="ä",Qf="¦",em="ç",tm="¸",nm="¢",rm="©",am="¤",om="°",im="÷",sm="é",lm="ê",cm="è",um="ð",dm="ë",pm="½",fm="¼",mm="¾",gm=">",hm="í",vm="î",ym="¡",bm="ì",xm="¿",wm="ï",Sm="«",_m="<",km="¯",Cm="µ",$m="·",Am=" ",Im="¬",jm="ñ",Tm="ó",Em="ô",Dm="ò",Om="ª",Rm="º",Pm="ø",Nm="õ",Fm="ö",Lm="¶",Mm="±",qm="£",zm='"',Bm="»",Hm="®",Um="§",Gm="­",Vm="¹",Wm="²",Km="³",Jm="ß",Zm="þ",Xm="×",Ym="ú",Qm="û",eg="ù",tg="¨",ng="ü",rg="ý",ag="¥",og="ÿ",ig={AElig:lf,AMP:cf,Aacute:uf,Acirc:df,Agrave:pf,Aring:ff,Atilde:mf,Auml:gf,COPY:hf,Ccedil:vf,ETH:yf,Eacute:bf,Ecirc:xf,Egrave:wf,Euml:Sf,GT:_f,Iacute:kf,Icirc:Cf,Igrave:$f,Iuml:Af,LT:If,Ntilde:jf,Oacute:Tf,Ocirc:Ef,Ograve:Df,Oslash:Of,Otilde:Rf,Ouml:Pf,QUOT:Nf,REG:Ff,THORN:Lf,Uacute:Mf,Ucirc:qf,Ugrave:zf,Uuml:Bf,Yacute:Hf,aacute:Uf,acirc:Gf,acute:Vf,aelig:Wf,agrave:Kf,amp:Jf,aring:Zf,atilde:Xf,auml:Yf,brvbar:Qf,ccedil:em,cedil:tm,cent:nm,copy:rm,curren:am,deg:om,divide:im,eacute:sm,ecirc:lm,egrave:cm,eth:um,euml:dm,frac12:pm,frac14:fm,frac34:mm,gt:gm,iacute:hm,icirc:vm,iexcl:ym,igrave:bm,iquest:xm,iuml:wm,laquo:Sm,lt:_m,macr:km,micro:Cm,middot:$m,nbsp:Am,not:Im,ntilde:jm,oacute:Tm,ocirc:Em,ograve:Dm,ordf:Om,ordm:Rm,oslash:Pm,otilde:Nm,ouml:Fm,para:Lm,plusmn:Mm,pound:qm,quot:zm,raquo:Bm,reg:Hm,sect:Um,shy:Gm,sup1:Vm,sup2:Wm,sup3:Km,szlig:Jm,thorn:Zm,times:Xm,uacute:Ym,ucirc:Qm,ugrave:eg,uml:tg,uuml:ng,yacute:rg,yen:ag,yuml:og},sg={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"};var ga,is;function Ul(){if(is)return ga;is=1,ga=e;function e(t){var n=typeof t=="string"?t.charCodeAt(0):t;return n>=48&&n<=57}return ga}var ha,ss;function lg(){if(ss)return ha;ss=1,ha=e;function e(t){var n=typeof t=="string"?t.charCodeAt(0):t;return n>=97&&n<=102||n>=65&&n<=70||n>=48&&n<=57}return ha}var va,ls;function cg(){if(ls)return va;ls=1,va=e;function e(t){var n=typeof t=="string"?t.charCodeAt(0):t;return n>=97&&n<=122||n>=65&&n<=90}return va}var ya,cs;function ug(){if(cs)return ya;cs=1;var e=cg(),t=Ul();ya=n;function n(r){return e(r)||t(r)}return ya}var ba,us;function dg(){if(us)return ba;us=1;var e,t=59;ba=n;function n(r){var a="&"+r+";",o;return e=e||document.createElement("i"),e.innerHTML=a,o=e.textContent,o.charCodeAt(o.length-1)===t&&r!=="semi"||o===a?!1:o}return ba}var xa,ds;function pg(){if(ds)return xa;ds=1;var e=ig,t=sg,n=Ul(),r=lg(),a=ug(),o=dg();xa=F;var l={}.hasOwnProperty,s=String.fromCharCode,i=Function.prototype,c={warning:null,reference:null,text:null,warningContext:null,referenceContext:null,textContext:null,position:{},additional:null,attribute:!1,nonTerminated:!0},p=9,u=10,m=12,d=32,b=38,g=59,v=60,w=61,y=35,h=88,C=120,S=65533,x="named",k="hexadecimal",A="decimal",$={};$[k]=16,$[A]=10;var I={};I[x]=a,I[A]=n,I[k]=r;var T=1,R=2,L=3,U=4,B=5,z=6,K=7,q={};q[T]="Named character references must be terminated by a semicolon",q[R]="Numeric character references must be terminated by a semicolon",q[L]="Named character references cannot be empty",q[U]="Numeric character references cannot be empty",q[B]="Named character references must be known",q[z]="Numeric character references cannot be disallowed",q[K]="Numeric character references cannot be outside the permissible Unicode range";function F(H,X){var te={},de,pe;X||(X={});for(pe in c)de=X[pe],te[pe]=de??c[pe];return(te.position.indent||te.position.start)&&(te.indent=te.position.indent||[],te.position=te.position.start),V(H,te)}function V(H,X){var te=X.additional,de=X.nonTerminated,pe=X.text,be=X.reference,Ie=X.warning,Oe=X.textContext,we=X.referenceContext,nt=X.warningContext,Me=X.position,dn=X.indent||[],Se=H.length,Re=0,ut=-1,Ne=Me.column||1,xt=Me.line||1,je="",We=[],fe,rt,xe,_e,E,M,D,W,ie,ee,Z,oe,me,ke,Ke,Fe,ne,Y,Q;for(typeof te=="string"&&(te=te.charCodeAt(0)),Fe=ce(),W=Ie?Ue:i,Re--,Se++;++Re<Se;)if(E===u&&(Ne=dn[ut]||1),E=H.charCodeAt(Re),E===b){if(D=H.charCodeAt(Re+1),D===p||D===u||D===m||D===d||D===b||D===v||D!==D||te&&D===te){je+=s(E),Ne++;continue}for(me=Re+1,oe=me,Q=me,D===y?(Q=++oe,D=H.charCodeAt(Q),D===h||D===C?(ke=k,Q=++oe):ke=A):ke=x,fe="",Z="",_e="",Ke=I[ke],Q--;++Q<Se&&(D=H.charCodeAt(Q),!!Ke(D));)_e+=s(D),ke===x&&l.call(e,_e)&&(fe=_e,Z=e[_e]);xe=H.charCodeAt(Q)===g,xe&&(Q++,rt=ke===x?o(_e):!1,rt&&(fe=_e,Z=rt)),Y=1+Q-me,!xe&&!de||(_e?ke===x?(xe&&!Z?W(B,1):(fe!==_e&&(Q=oe+fe.length,Y=1+Q-oe,xe=!1),xe||(ie=fe?T:L,X.attribute?(D=H.charCodeAt(Q),D===w?(W(ie,Y),Z=null):a(D)?Z=null:W(ie,Y)):W(ie,Y))),M=Z):(xe||W(R,Y),M=parseInt(_e,$[ke]),G(M)?(W(K,Y),M=s(S)):M in t?(W(z,Y),M=t[M]):(ee="",J(M)&&W(z,Y),M>65535&&(M-=65536,ee+=s(M>>>10|55296),M=56320|M&1023),M=ee+s(M))):ke!==x&&W(U,Y)),M?(wt(),Fe=ce(),Re=Q-1,Ne+=Q-me+1,We.push(M),ne=ce(),ne.offset++,be&&be.call(we,M,{start:Fe,end:ne},H.slice(me-1,Q)),Fe=ne):(_e=H.slice(me-1,Q),je+=_e,Ne+=_e.length,Re=Q-1)}else E===10&&(xt++,ut++,Ne=0),E===E?(je+=s(E),Ne++):wt();return We.join("");function ce(){return{line:xt,column:Ne,offset:Re+(Me.offset||0)}}function Ue(En,zt){var Bt=ce();Bt.column+=zt,Bt.offset+=zt,Ie.call(nt,q[En],Bt,En)}function wt(){je&&(We.push(je),pe&&pe.call(Oe,je,{start:Fe,end:ce()}),je="")}}function G(H){return H>=55296&&H<=57343||H>1114111}function J(H){return H>=1&&H<=8||H===11||H>=13&&H<=31||H>=127&&H<=159||H>=64976&&H<=65007||(H&65535)===65535||(H&65535)===65534}return xa}var wa={exports:{}},ps;function fg(){return ps||(ps=1,(function(e){var t=typeof window<"u"?window:typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope?self:{};var n=(function(r){var a=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,o=0,l={},s={manual:r.Prism&&r.Prism.manual,disableWorkerMessageHandler:r.Prism&&r.Prism.disableWorkerMessageHandler,util:{encode:function y(h){return h instanceof i?new i(h.type,y(h.content),h.alias):Array.isArray(h)?h.map(y):h.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(y){return Object.prototype.toString.call(y).slice(8,-1)},objId:function(y){return y.__id||Object.defineProperty(y,"__id",{value:++o}),y.__id},clone:function y(h,C){C=C||{};var S,x;switch(s.util.type(h)){case"Object":if(x=s.util.objId(h),C[x])return C[x];S={},C[x]=S;for(var k in h)h.hasOwnProperty(k)&&(S[k]=y(h[k],C));return S;case"Array":return x=s.util.objId(h),C[x]?C[x]:(S=[],C[x]=S,h.forEach(function(A,$){S[$]=y(A,C)}),S);default:return h}},getLanguage:function(y){for(;y;){var h=a.exec(y.className);if(h)return h[1].toLowerCase();y=y.parentElement}return"none"},setLanguage:function(y,h){y.className=y.className.replace(RegExp(a,"gi"),""),y.classList.add("language-"+h)},currentScript:function(){if(typeof document>"u")return null;if("currentScript"in document)return document.currentScript;try{throw new Error}catch(S){var y=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(S.stack)||[])[1];if(y){var h=document.getElementsByTagName("script");for(var C in h)if(h[C].src==y)return h[C]}return null}},isActive:function(y,h,C){for(var S="no-"+h;y;){var x=y.classList;if(x.contains(h))return!0;if(x.contains(S))return!1;y=y.parentElement}return!!C}},languages:{plain:l,plaintext:l,text:l,txt:l,extend:function(y,h){var C=s.util.clone(s.languages[y]);for(var S in h)C[S]=h[S];return C},insertBefore:function(y,h,C,S){S=S||s.languages;var x=S[y],k={};for(var A in x)if(x.hasOwnProperty(A)){if(A==h)for(var $ in C)C.hasOwnProperty($)&&(k[$]=C[$]);C.hasOwnProperty(A)||(k[A]=x[A])}var I=S[y];return S[y]=k,s.languages.DFS(s.languages,function(T,R){R===I&&T!=y&&(this[T]=k)}),k},DFS:function y(h,C,S,x){x=x||{};var k=s.util.objId;for(var A in h)if(h.hasOwnProperty(A)){C.call(h,A,h[A],S||A);var $=h[A],I=s.util.type($);I==="Object"&&!x[k($)]?(x[k($)]=!0,y($,C,null,x)):I==="Array"&&!x[k($)]&&(x[k($)]=!0,y($,C,A,x))}}},plugins:{},highlightAll:function(y,h){s.highlightAllUnder(document,y,h)},highlightAllUnder:function(y,h,C){var S={callback:C,container:y,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};s.hooks.run("before-highlightall",S),S.elements=Array.prototype.slice.apply(S.container.querySelectorAll(S.selector)),s.hooks.run("before-all-elements-highlight",S);for(var x=0,k;k=S.elements[x++];)s.highlightElement(k,h===!0,S.callback)},highlightElement:function(y,h,C){var S=s.util.getLanguage(y),x=s.languages[S];s.util.setLanguage(y,S);var k=y.parentElement;k&&k.nodeName.toLowerCase()==="pre"&&s.util.setLanguage(k,S);var A=y.textContent,$={element:y,language:S,grammar:x,code:A};function I(R){$.highlightedCode=R,s.hooks.run("before-insert",$),$.element.innerHTML=$.highlightedCode,s.hooks.run("after-highlight",$),s.hooks.run("complete",$),C&&C.call($.element)}if(s.hooks.run("before-sanity-check",$),k=$.element.parentElement,k&&k.nodeName.toLowerCase()==="pre"&&!k.hasAttribute("tabindex")&&k.setAttribute("tabindex","0"),!$.code){s.hooks.run("complete",$),C&&C.call($.element);return}if(s.hooks.run("before-highlight",$),!$.grammar){I(s.util.encode($.code));return}if(h&&r.Worker){var T=new Worker(s.filename);T.onmessage=function(R){I(R.data)},T.postMessage(JSON.stringify({language:$.language,code:$.code,immediateClose:!0}))}else I(s.highlight($.code,$.grammar,$.language))},highlight:function(y,h,C){var S={code:y,grammar:h,language:C};if(s.hooks.run("before-tokenize",S),!S.grammar)throw new Error('The language "'+S.language+'" has no grammar.');return S.tokens=s.tokenize(S.code,S.grammar),s.hooks.run("after-tokenize",S),i.stringify(s.util.encode(S.tokens),S.language)},tokenize:function(y,h){var C=h.rest;if(C){for(var S in C)h[S]=C[S];delete h.rest}var x=new u;return m(x,x.head,y),p(y,x,h,x.head,0),b(x)},hooks:{all:{},add:function(y,h){var C=s.hooks.all;C[y]=C[y]||[],C[y].push(h)},run:function(y,h){var C=s.hooks.all[y];if(!(!C||!C.length))for(var S=0,x;x=C[S++];)x(h)}},Token:i};r.Prism=s;function i(y,h,C,S){this.type=y,this.content=h,this.alias=C,this.length=(S||"").length|0}i.stringify=function y(h,C){if(typeof h=="string")return h;if(Array.isArray(h)){var S="";return h.forEach(function(I){S+=y(I,C)}),S}var x={type:h.type,content:y(h.content,C),tag:"span",classes:["token",h.type],attributes:{},language:C},k=h.alias;k&&(Array.isArray(k)?Array.prototype.push.apply(x.classes,k):x.classes.push(k)),s.hooks.run("wrap",x);var A="";for(var $ in x.attributes)A+=" "+$+'="'+(x.attributes[$]||"").replace(/"/g,"&quot;")+'"';return"<"+x.tag+' class="'+x.classes.join(" ")+'"'+A+">"+x.content+"</"+x.tag+">"};function c(y,h,C,S){y.lastIndex=h;var x=y.exec(C);if(x&&S&&x[1]){var k=x[1].length;x.index+=k,x[0]=x[0].slice(k)}return x}function p(y,h,C,S,x,k){for(var A in C)if(!(!C.hasOwnProperty(A)||!C[A])){var $=C[A];$=Array.isArray($)?$:[$];for(var I=0;I<$.length;++I){if(k&&k.cause==A+","+I)return;var T=$[I],R=T.inside,L=!!T.lookbehind,U=!!T.greedy,B=T.alias;if(U&&!T.pattern.global){var z=T.pattern.toString().match(/[imsuy]*$/)[0];T.pattern=RegExp(T.pattern.source,z+"g")}for(var K=T.pattern||T,q=S.next,F=x;q!==h.tail&&!(k&&F>=k.reach);F+=q.value.length,q=q.next){var V=q.value;if(h.length>y.length)return;if(!(V instanceof i)){var G=1,J;if(U){if(J=c(K,F,y,L),!J||J.index>=y.length)break;var de=J.index,H=J.index+J[0].length,X=F;for(X+=q.value.length;de>=X;)q=q.next,X+=q.value.length;if(X-=q.value.length,F=X,q.value instanceof i)continue;for(var te=q;te!==h.tail&&(X<H||typeof te.value=="string");te=te.next)G++,X+=te.value.length;G--,V=y.slice(F,X),J.index-=F}else if(J=c(K,0,V,L),!J)continue;var de=J.index,pe=J[0],be=V.slice(0,de),Ie=V.slice(de+pe.length),Oe=F+V.length;k&&Oe>k.reach&&(k.reach=Oe);var we=q.prev;be&&(we=m(h,we,be),F+=be.length),d(h,we,G);var nt=new i(A,R?s.tokenize(pe,R):pe,B,pe);if(q=m(h,we,nt),Ie&&m(h,q,Ie),G>1){var Me={cause:A+","+I,reach:Oe};p(y,h,C,q.prev,F,Me),k&&Me.reach>k.reach&&(k.reach=Me.reach)}}}}}}function u(){var y={value:null,prev:null,next:null},h={value:null,prev:y,next:null};y.next=h,this.head=y,this.tail=h,this.length=0}function m(y,h,C){var S=h.next,x={value:C,prev:h,next:S};return h.next=x,S.prev=x,y.length++,x}function d(y,h,C){for(var S=h.next,x=0;x<C&&S!==y.tail;x++)S=S.next;h.next=S,S.prev=h,y.length-=x}function b(y){for(var h=[],C=y.head.next;C!==y.tail;)h.push(C.value),C=C.next;return h}if(!r.document)return r.addEventListener&&(s.disableWorkerMessageHandler||r.addEventListener("message",function(y){var h=JSON.parse(y.data),C=h.language,S=h.code,x=h.immediateClose;r.postMessage(s.highlight(S,s.languages[C],C)),x&&r.close()},!1)),s;var g=s.util.currentScript();g&&(s.filename=g.src,g.hasAttribute("data-manual")&&(s.manual=!0));function v(){s.manual||s.highlightAll()}if(!s.manual){var w=document.readyState;w==="loading"||w==="interactive"&&g&&g.defer?document.addEventListener("DOMContentLoaded",v):window.requestAnimationFrame?window.requestAnimationFrame(v):window.setTimeout(v,16)}return s})(t);e.exports&&(e.exports=n),typeof pr<"u"&&(pr.Prism=n)})(wa)),wa.exports}var Sa,fs;function mg(){if(fs)return Sa;fs=1,Sa=e,e.displayName="markup",e.aliases=["html","mathml","svg","xml","ssml","atom","rss"];function e(t){t.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},t.languages.markup.tag.inside["attr-value"].inside.entity=t.languages.markup.entity,t.languages.markup.doctype.inside["internal-subset"].inside=t.languages.markup,t.hooks.add("wrap",function(n){n.type==="entity"&&(n.attributes.title=n.content.value.replace(/&amp;/,"&"))}),Object.defineProperty(t.languages.markup.tag,"addInlined",{value:function(r,a){var o={};o["language-"+a]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:t.languages[a]},o.cdata=/^<!\[CDATA\[|\]\]>$/i;var l={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:o}};l["language-"+a]={pattern:/[\s\S]+/,inside:t.languages[a]};var s={};s[r]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,function(){return r}),"i"),lookbehind:!0,greedy:!0,inside:l},t.languages.insertBefore("markup","cdata",s)}}),Object.defineProperty(t.languages.markup.tag,"addAttribute",{value:function(n,r){t.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+n+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[r,"language-"+r],inside:t.languages[r]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),t.languages.html=t.languages.markup,t.languages.mathml=t.languages.markup,t.languages.svg=t.languages.markup,t.languages.xml=t.languages.extend("markup",{}),t.languages.ssml=t.languages.xml,t.languages.atom=t.languages.xml,t.languages.rss=t.languages.xml}return Sa}var _a,ms;function gg(){if(ms)return _a;ms=1,_a=e,e.displayName="css",e.aliases=[];function e(t){(function(n){var r=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;n.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+r.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+r.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+r.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:r,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},n.languages.css.atrule.inside.rest=n.languages.css;var a=n.languages.markup;a&&(a.tag.addInlined("style","css"),a.tag.addAttribute("style","css"))})(t)}return _a}var ka,gs;function hg(){if(gs)return ka;gs=1,ka=e,e.displayName="clike",e.aliases=[];function e(t){t.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}}return ka}var Ca,hs;function Gl(){if(hs)return Ca;hs=1,Ca=e,e.displayName="javascript",e.aliases=["js"];function e(t){t.languages.javascript=t.languages.extend("clike",{"class-name":[t.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+(/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source)+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),t.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,t.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:t.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:t.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:t.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:t.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:t.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),t.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:t.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),t.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),t.languages.markup&&(t.languages.markup.tag.addInlined("script","javascript"),t.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),t.languages.js=t.languages.javascript}return Ca}var $a,vs;function vg(){if(vs)return $a;vs=1;var e=typeof globalThis=="object"?globalThis:typeof self=="object"?self:typeof window=="object"?window:typeof pr=="object"?pr:{},t=S();e.Prism={manual:!0,disableWorkerMessageHandler:!0};var n=sf(),r=pg(),a=fg(),o=mg(),l=gg(),s=hg(),i=Gl();t();var c={}.hasOwnProperty;function p(){}p.prototype=a;var u=new p;$a=u,u.highlight=b,u.register=m,u.alias=d,u.registered=g,u.listLanguages=v,m(o),m(l),m(s),m(i),u.util.encode=h,u.Token.stringify=w;function m(x){if(typeof x!="function"||!x.displayName)throw new Error("Expected `function` for `grammar`, got `"+x+"`");u.languages[x.displayName]===void 0&&x(u)}function d(x,k){var A=u.languages,$=x,I,T,R,L;k&&($={},$[x]=k);for(I in $)for(T=$[I],T=typeof T=="string"?[T]:T,R=T.length,L=-1;++L<R;)A[T[L]]=A[I]}function b(x,k){var A=a.highlight,$;if(typeof x!="string")throw new Error("Expected `string` for `value`, got `"+x+"`");if(u.util.type(k)==="Object")$=k,k=null;else{if(typeof k!="string")throw new Error("Expected `string` for `name`, got `"+k+"`");if(c.call(u.languages,k))$=u.languages[k];else throw new Error("Unknown language: `"+k+"` is not registered")}return A.call(this,x,$,k)}function g(x){if(typeof x!="string")throw new Error("Expected `string` for `language`, got `"+x+"`");return c.call(u.languages,x)}function v(){var x=u.languages,k=[],A;for(A in x)c.call(x,A)&&typeof x[A]=="object"&&k.push(A);return k}function w(x,k,A){var $;return typeof x=="string"?{type:"text",value:x}:u.util.type(x)==="Array"?y(x,k):($={type:x.type,content:u.Token.stringify(x.content,k,A),tag:"span",classes:["token",x.type],attributes:{},language:k,parent:A},x.alias&&($.classes=$.classes.concat(x.alias)),u.hooks.run("wrap",$),n($.tag+"."+$.classes.join("."),C($.attributes),$.content))}function y(x,k){for(var A=[],$=x.length,I=-1,T;++I<$;)T=x[I],T!==""&&T!==null&&T!==void 0&&A.push(T);for(I=-1,$=A.length;++I<$;)T=A[I],A[I]=u.Token.stringify(T,k,A);return A}function h(x){return x}function C(x){var k;for(k in x)x[k]=r(x[k]);return x}function S(){var x="Prism"in e,k=x?e.Prism:void 0;return A;function A(){x?e.Prism=k:delete e.Prism,x=void 0,k=void 0}}return $a}var yg=vg();const _o=qe(yg);var kr=Up(_o,{});kr.registerLanguage=function(e,t){return _o.register(t)};kr.alias=function(e,t){return _o.alias(e,t)};const bg={'code[class*="language-"]':{color:"black",background:"none",textShadow:"0 1px white",fontFamily:"Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace",fontSize:"1em",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{color:"black",background:"#f5f2f0",textShadow:"0 1px white",fontFamily:"Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace",fontSize:"1em",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",padding:"1em",margin:".5em 0",overflow:"auto"},'pre[class*="language-"]::-moz-selection':{textShadow:"none",background:"#b3d4fc"},'pre[class*="language-"] ::-moz-selection':{textShadow:"none",background:"#b3d4fc"},'code[class*="language-"]::-moz-selection':{textShadow:"none",background:"#b3d4fc"},'code[class*="language-"] ::-moz-selection':{textShadow:"none",background:"#b3d4fc"},'pre[class*="language-"]::selection':{textShadow:"none",background:"#b3d4fc"},'pre[class*="language-"] ::selection':{textShadow:"none",background:"#b3d4fc"},'code[class*="language-"]::selection':{textShadow:"none",background:"#b3d4fc"},'code[class*="language-"] ::selection':{textShadow:"none",background:"#b3d4fc"},':not(pre) > code[class*="language-"]':{background:"#f5f2f0",padding:".1em",borderRadius:".3em",whiteSpace:"normal"},comment:{color:"slategray"},prolog:{color:"slategray"},doctype:{color:"slategray"},cdata:{color:"slategray"},punctuation:{color:"#999"},namespace:{Opacity:".7"},property:{color:"#905"},tag:{color:"#905"},boolean:{color:"#905"},number:{color:"#905"},constant:{color:"#905"},symbol:{color:"#905"},deleted:{color:"#905"},selector:{color:"#690"},"attr-name":{color:"#690"},string:{color:"#690"},char:{color:"#690"},builtin:{color:"#690"},inserted:{color:"#690"},operator:{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)"},entity:{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)",cursor:"help"},url:{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)"},".language-css .token.string":{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)"},".style .token.string":{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)"},atrule:{color:"#07a"},"attr-value":{color:"#07a"},keyword:{color:"#07a"},function:{color:"#DD4A68"},"class-name":{color:"#DD4A68"},regex:{color:"#e90"},important:{color:"#e90",fontWeight:"bold"},variable:{color:"#e90"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"}};var Aa,ys;function xg(){if(ys)return Aa;ys=1,Aa=e,e.displayName="csharp",e.aliases=["dotnet","cs"];function e(t){(function(n){function r(G,J){return G.replace(/<<(\d+)>>/g,function(H,X){return"(?:"+J[+X]+")"})}function a(G,J,H){return RegExp(r(G,J),"")}function o(G,J){for(var H=0;H<J;H++)G=G.replace(/<<self>>/g,function(){return"(?:"+G+")"});return G.replace(/<<self>>/g,"[^\\s\\S]")}var l={type:"bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void",typeDeclaration:"class enum interface record struct",contextual:"add alias and ascending async await by descending from(?=\\s*(?:\\w|$)) get global group into init(?=\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\s*{)",other:"abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield"};function s(G){return"\\b(?:"+G.trim().replace(/ /g,"|")+")\\b"}var i=s(l.typeDeclaration),c=RegExp(s(l.type+" "+l.typeDeclaration+" "+l.contextual+" "+l.other)),p=s(l.typeDeclaration+" "+l.contextual+" "+l.other),u=s(l.type+" "+l.typeDeclaration+" "+l.other),m=o(/<(?:[^<>;=+\-*/%&|^]|<<self>>)*>/.source,2),d=o(/\((?:[^()]|<<self>>)*\)/.source,2),b=/@?\b[A-Za-z_]\w*\b/.source,g=r(/<<0>>(?:\s*<<1>>)?/.source,[b,m]),v=r(/(?!<<0>>)<<1>>(?:\s*\.\s*<<1>>)*/.source,[p,g]),w=/\[\s*(?:,\s*)*\]/.source,y=r(/<<0>>(?:\s*(?:\?\s*)?<<1>>)*(?:\s*\?)?/.source,[v,w]),h=r(/[^,()<>[\];=+\-*/%&|^]|<<0>>|<<1>>|<<2>>/.source,[m,d,w]),C=r(/\(<<0>>+(?:,<<0>>+)+\)/.source,[h]),S=r(/(?:<<0>>|<<1>>)(?:\s*(?:\?\s*)?<<2>>)*(?:\s*\?)?/.source,[C,v,w]),x={keyword:c,punctuation:/[<>()?,.:[\]]/},k=/'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'/.source,A=/"(?:\\.|[^\\"\r\n])*"/.source,$=/@"(?:""|\\[\s\S]|[^\\"])*"(?!")/.source;n.languages.csharp=n.languages.extend("clike",{string:[{pattern:a(/(^|[^$\\])<<0>>/.source,[$]),lookbehind:!0,greedy:!0},{pattern:a(/(^|[^@$\\])<<0>>/.source,[A]),lookbehind:!0,greedy:!0}],"class-name":[{pattern:a(/(\busing\s+static\s+)<<0>>(?=\s*;)/.source,[v]),lookbehind:!0,inside:x},{pattern:a(/(\busing\s+<<0>>\s*=\s*)<<1>>(?=\s*;)/.source,[b,S]),lookbehind:!0,inside:x},{pattern:a(/(\busing\s+)<<0>>(?=\s*=)/.source,[b]),lookbehind:!0},{pattern:a(/(\b<<0>>\s+)<<1>>/.source,[i,g]),lookbehind:!0,inside:x},{pattern:a(/(\bcatch\s*\(\s*)<<0>>/.source,[v]),lookbehind:!0,inside:x},{pattern:a(/(\bwhere\s+)<<0>>/.source,[b]),lookbehind:!0},{pattern:a(/(\b(?:is(?:\s+not)?|as)\s+)<<0>>/.source,[y]),lookbehind:!0,inside:x},{pattern:a(/\b<<0>>(?=\s+(?!<<1>>|with\s*\{)<<2>>(?:\s*[=,;:{)\]]|\s+(?:in|when)\b))/.source,[S,u,b]),inside:x}],keyword:c,number:/(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:e[-+]?\d+(?:_+\d+)*)?)(?:[dflmu]|lu|ul)?\b/i,operator:/>>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,punctuation:/\?\.?|::|[{}[\];(),.:]/}),n.languages.insertBefore("csharp","number",{range:{pattern:/\.\./,alias:"operator"}}),n.languages.insertBefore("csharp","punctuation",{"named-parameter":{pattern:a(/([(,]\s*)<<0>>(?=\s*:)/.source,[b]),lookbehind:!0,alias:"punctuation"}}),n.languages.insertBefore("csharp","class-name",{namespace:{pattern:a(/(\b(?:namespace|using)\s+)<<0>>(?:\s*\.\s*<<0>>)*(?=\s*[;{])/.source,[b]),lookbehind:!0,inside:{punctuation:/\./}},"type-expression":{pattern:a(/(\b(?:default|sizeof|typeof)\s*\(\s*(?!\s))(?:[^()\s]|\s(?!\s)|<<0>>)*(?=\s*\))/.source,[d]),lookbehind:!0,alias:"class-name",inside:x},"return-type":{pattern:a(/<<0>>(?=\s+(?:<<1>>\s*(?:=>|[({]|\.\s*this\s*\[)|this\s*\[))/.source,[S,v]),inside:x,alias:"class-name"},"constructor-invocation":{pattern:a(/(\bnew\s+)<<0>>(?=\s*[[({])/.source,[S]),lookbehind:!0,inside:x,alias:"class-name"},"generic-method":{pattern:a(/<<0>>\s*<<1>>(?=\s*\()/.source,[b,m]),inside:{function:a(/^<<0>>/.source,[b]),generic:{pattern:RegExp(m),alias:"class-name",inside:x}}},"type-list":{pattern:a(/\b((?:<<0>>\s+<<1>>|record\s+<<1>>\s*<<5>>|where\s+<<2>>)\s*:\s*)(?:<<3>>|<<4>>|<<1>>\s*<<5>>|<<6>>)(?:\s*,\s*(?:<<3>>|<<4>>|<<6>>))*(?=\s*(?:where|[{;]|=>|$))/.source,[i,g,b,S,c.source,d,/\bnew\s*\(\s*\)/.source]),lookbehind:!0,inside:{"record-arguments":{pattern:a(/(^(?!new\s*\()<<0>>\s*)<<1>>/.source,[g,d]),lookbehind:!0,greedy:!0,inside:n.languages.csharp},keyword:c,"class-name":{pattern:RegExp(S),greedy:!0,inside:x},punctuation:/[,()]/}},preprocessor:{pattern:/(^[\t ]*)#.*/m,lookbehind:!0,alias:"property",inside:{directive:{pattern:/(#)\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\b/,lookbehind:!0,alias:"keyword"}}}});var I=A+"|"+k,T=r(/\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>/.source,[I]),R=o(r(/[^"'/()]|<<0>>|\(<<self>>*\)/.source,[T]),2),L=/\b(?:assembly|event|field|method|module|param|property|return|type)\b/.source,U=r(/<<0>>(?:\s*\(<<1>>*\))?/.source,[v,R]);n.languages.insertBefore("csharp","class-name",{attribute:{pattern:a(/((?:^|[^\s\w>)?])\s*\[\s*)(?:<<0>>\s*:\s*)?<<1>>(?:\s*,\s*<<1>>)*(?=\s*\])/.source,[L,U]),lookbehind:!0,greedy:!0,inside:{target:{pattern:a(/^<<0>>(?=\s*:)/.source,[L]),alias:"keyword"},"attribute-arguments":{pattern:a(/\(<<0>>*\)/.source,[R]),inside:n.languages.csharp},"class-name":{pattern:RegExp(v),inside:{punctuation:/\./}},punctuation:/[:,]/}}});var B=/:[^}\r\n]+/.source,z=o(r(/[^"'/()]|<<0>>|\(<<self>>*\)/.source,[T]),2),K=r(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source,[z,B]),q=o(r(/[^"'/()]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>|\(<<self>>*\)/.source,[I]),2),F=r(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source,[q,B]);function V(G,J){return{interpolation:{pattern:a(/((?:^|[^{])(?:\{\{)*)<<0>>/.source,[G]),lookbehind:!0,inside:{"format-string":{pattern:a(/(^\{(?:(?![}:])<<0>>)*)<<1>>(?=\}$)/.source,[J,B]),lookbehind:!0,inside:{punctuation:/^:/}},punctuation:/^\{|\}$/,expression:{pattern:/[\s\S]+/,alias:"language-csharp",inside:n.languages.csharp}}},string:/[\s\S]+/}}n.languages.insertBefore("csharp","string",{"interpolation-string":[{pattern:a(/(^|[^\\])(?:\$@|@\$)"(?:""|\\[\s\S]|\{\{|<<0>>|[^\\{"])*"/.source,[K]),lookbehind:!0,greedy:!0,inside:V(K,z)},{pattern:a(/(^|[^@\\])\$"(?:\\.|\{\{|<<0>>|[^\\"{])*"/.source,[F]),lookbehind:!0,greedy:!0,inside:V(F,q)}],char:{pattern:RegExp(k),greedy:!0}}),n.languages.dotnet=n.languages.cs=n.languages.csharp})(t)}return Aa}var Ia,bs;function Vl(){if(bs)return Ia;bs=1,Ia=e,e.displayName="bash",e.aliases=["shell"];function e(t){(function(n){var r="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",a={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},o={bash:a,environment:{pattern:RegExp("\\$"+r),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+r),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};n.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+r),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:o},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:a}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:o},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:o.entity}}],environment:{pattern:RegExp("\\$?"+r),alias:"constant"},variable:o.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},a.inside=n.languages.bash;for(var l=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],s=o.variable[1].inside,i=0;i<l.length;i++)s[l[i]]=n.languages.bash[l[i]];n.languages.shell=n.languages.bash})(t)}return Ia}var ja,xs;function wg(){if(xs)return ja;xs=1,ja=e,e.displayName="ruby",e.aliases=["rb"];function e(t){(function(n){n.languages.ruby=n.languages.extend("clike",{comment:{pattern:/#.*|^=begin\s[\s\S]*?^=end/m,greedy:!0},"class-name":{pattern:/(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/,operator:/\.{2,3}|&\.|===|<?=>|[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/,punctuation:/[(){}[\].,;]/}),n.languages.insertBefore("ruby","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}});var r={pattern:/((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/,lookbehind:!0,inside:{content:{pattern:/^(#\{)[\s\S]+(?=\}$)/,lookbehind:!0,inside:n.languages.ruby},delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"}}};delete n.languages.ruby.function;var a="(?:"+[/([^a-zA-Z0-9\s{(\[<=])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,/\((?:[^()\\]|\\[\s\S]|\((?:[^()\\]|\\[\s\S])*\))*\)/.source,/\{(?:[^{}\\]|\\[\s\S]|\{(?:[^{}\\]|\\[\s\S])*\})*\}/.source,/\[(?:[^\[\]\\]|\\[\s\S]|\[(?:[^\[\]\\]|\\[\s\S])*\])*\]/.source,/<(?:[^<>\\]|\\[\s\S]|<(?:[^<>\\]|\\[\s\S])*>)*>/.source].join("|")+")",o=/(?:"(?:\\.|[^"\\\r\n])*"|(?:\b[a-zA-Z_]\w*|[^\s\0-\x7F]+)[?!]?|\$.)/.source;n.languages.insertBefore("ruby","keyword",{"regex-literal":[{pattern:RegExp(/%r/.source+a+/[egimnosux]{0,6}/.source),greedy:!0,inside:{interpolation:r,regex:/[\s\S]+/}},{pattern:/(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,lookbehind:!0,greedy:!0,inside:{interpolation:r,regex:/[\s\S]+/}}],variable:/[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,symbol:[{pattern:RegExp(/(^|[^:]):/.source+o),lookbehind:!0,greedy:!0},{pattern:RegExp(/([\r\n{(,][ \t]*)/.source+o+/(?=:(?!:))/.source),lookbehind:!0,greedy:!0}],"method-definition":{pattern:/(\bdef\s+)\w+(?:\s*\.\s*\w+)?/,lookbehind:!0,inside:{function:/\b\w+$/,keyword:/^self\b/,"class-name":/^\w+/,punctuation:/\./}}}),n.languages.insertBefore("ruby","string",{"string-literal":[{pattern:RegExp(/%[qQiIwWs]?/.source+a),greedy:!0,inside:{interpolation:r,string:/[\s\S]+/}},{pattern:/("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,greedy:!0,inside:{interpolation:r,string:/[\s\S]+/}},{pattern:/<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?/}},interpolation:r,string:/[\s\S]+/}},{pattern:/<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?'|'$/}},string:/[\s\S]+/}}],"command-literal":[{pattern:RegExp(/%x/.source+a),greedy:!0,inside:{interpolation:r,command:{pattern:/[\s\S]+/,alias:"string"}}},{pattern:/`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/,greedy:!0,inside:{interpolation:r,command:{pattern:/[\s\S]+/,alias:"string"}}}]}),delete n.languages.ruby.string,n.languages.insertBefore("ruby","number",{builtin:/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\b/,constant:/\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/}),n.languages.rb=n.languages.ruby})(t)}return ja}var Ta,ws;function Sg(){if(ws)return Ta;ws=1,Ta=e,e.displayName="go",e.aliases=[];function e(t){t.languages.go=t.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),t.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete t.languages.go["class-name"]}return Ta}var Ea,Ss;function _g(){if(Ss)return Ea;Ss=1,Ea=e,e.displayName="java",e.aliases=[];function e(t){(function(n){var r=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,a=/(^|[^\w.])(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/.source,o={pattern:RegExp(a+/[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};n.languages.java=n.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,lookbehind:!0,greedy:!0},"class-name":[o,{pattern:RegExp(a+/[A-Z]\w*(?=\s+\w+\s*[;,=()])/.source),lookbehind:!0,inside:o.inside}],keyword:r,function:[n.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0}}),n.languages.insertBefore("java","string",{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:"string"},char:{pattern:/'(?:\\.|[^'\\\r\n]){1,6}'/,greedy:!0}}),n.languages.insertBefore("java","class-name",{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:"punctuation"},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":o,keyword:r,punctuation:/[<>(),.:]/,operator:/[?&|]/}},namespace:{pattern:RegExp(/(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+)(?!<keyword>)[a-z]\w*(?:\.[a-z]\w*)*\.?/.source.replace(/<keyword>/g,function(){return r.source})),lookbehind:!0,inside:{punctuation:/\./}}})})(t)}return Ea}var Da,_s;function kg(){if(_s)return Da;_s=1,Da=e,e.displayName="typescript",e.aliases=["ts"];function e(t){(function(n){n.languages.typescript=n.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),n.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete n.languages.typescript.parameter,delete n.languages.typescript["literal-property"];var r=n.languages.extend("typescript",{});delete r["class-name"],n.languages.typescript["class-name"].inside=r,n.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:r}}}}),n.languages.ts=n.languages.typescript})(t)}return Da}var Oa,ks;function Cg(){if(ks)return Oa;ks=1,Oa=e,e.displayName="json",e.aliases=["webmanifest"];function e(t){t.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},t.languages.webmanifest=t.languages.json}return Oa}var Ra,Cs;function $g(){if(Cs)return Ra;Cs=1,Ra=e,e.displayName="markdown",e.aliases=["md"];function e(t){(function(n){var r=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function a(m){return m=m.replace(/<inner>/g,function(){return r}),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+m+")")}var o=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,l=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,function(){return o}),s=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;n.languages.markdown=n.languages.extend("markup",{}),n.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:n.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+l+s+"(?:"+l+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+l+s+")(?:"+l+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(o),inside:n.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+l+")"+s+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+l+"$"),inside:{"table-header":{pattern:RegExp(o),alias:"important",inside:n.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:a(/\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\b|\*\*(?:(?!\*)<inner>|\*(?:(?!\*)<inner>)+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:a(/\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\b|\*(?:(?!\*)<inner>|\*\*(?:(?!\*)<inner>)+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:a(/(~~?)(?:(?!~)<inner>)+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:a(/!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\])<inner>)+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach(function(m){["url","bold","italic","strike","code-snippet"].forEach(function(d){m!==d&&(n.languages.markdown[m].inside.content.inside[d]=n.languages.markdown[d])})}),n.hooks.add("after-tokenize",function(m){if(m.language!=="markdown"&&m.language!=="md")return;function d(b){if(!(!b||typeof b=="string"))for(var g=0,v=b.length;g<v;g++){var w=b[g];if(w.type!=="code"){d(w.content);continue}var y=w.content[1],h=w.content[3];if(y&&h&&y.type==="code-language"&&h.type==="code-block"&&typeof y.content=="string"){var C=y.content.replace(/\b#/g,"sharp").replace(/\b\+\+/g,"pp");C=(/[a-z][\w-]*/i.exec(C)||[""])[0].toLowerCase();var S="language-"+C;h.alias?typeof h.alias=="string"?h.alias=[h.alias,S]:h.alias.push(S):h.alias=[S]}}}d(m.tokens)}),n.hooks.add("wrap",function(m){if(m.type==="code-block"){for(var d="",b=0,g=m.classes.length;b<g;b++){var v=m.classes[b],w=/language-(.+)/.exec(v);if(w){d=w[1];break}}var y=n.languages[d];if(y)m.content=n.highlight(u(m.content.value),y,d);else if(d&&d!=="none"&&n.plugins.autoloader){var h="md-"+new Date().valueOf()+"-"+Math.floor(Math.random()*1e16);m.attributes.id=h,n.plugins.autoloader.loadLanguages(d,function(){var C=document.getElementById(h);C&&(C.innerHTML=n.highlight(C.textContent,n.languages[d],d))})}}});var i=RegExp(n.languages.markup.tag.pattern.source,"gi"),c={amp:"&",lt:"<",gt:">",quot:'"'},p=String.fromCodePoint||String.fromCharCode;function u(m){var d=m.replace(i,"");return d=d.replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi,function(b,g){if(g=g.toLowerCase(),g[0]==="#"){var v;return g[1]==="x"?v=parseInt(g.slice(2),16):v=Number(g.slice(1)),p(v)}else{var w=c[g];return w||b}}),d}n.languages.md=n.languages.markdown})(t)}return Ra}var Pa,$s;function Ag(){if($s)return Pa;$s=1,Pa=e,e.displayName="python",e.aliases=["py"];function e(t){t.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},t.languages.python["string-interpolation"].inside.interpolation.inside.rest=t.languages.python,t.languages.py=t.languages.python}return Pa}var Na,As;function Ig(){if(As)return Na;As=1;var e=Vl();Na=t,t.displayName="shellSession",t.aliases=[];function t(n){n.register(e),(function(r){var a=[/"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/.source,/'[^']*'/.source,/\$'(?:[^'\\]|\\[\s\S])*'/.source,/<<-?\s*(["']?)(\w+)\1\s[\s\S]*?[\r\n]\2/.source].join("|");r.languages["shell-session"]={command:{pattern:RegExp(/^/.source+"(?:"+(/[^\s@:$#%*!/\\]+@[^\r\n@:$#%*!/\\]+(?::[^\0-\x1F$#%*?"<>:;|]+)?/.source+"|"+/[/~.][^\0-\x1F$#%*?"<>@:;|]*/.source)+")?"+/[$#%](?=\s)/.source+/(?:[^\\\r\n \t'"<$]|[ \t](?:(?!#)|#.*$)|\\(?:[^\r]|\r\n?)|\$(?!')|<(?!<)|<<str>>)+/.source.replace(/<<str>>/g,function(){return a}),"m"),greedy:!0,inside:{info:{pattern:/^[^#$%]+/,alias:"punctuation",inside:{user:/^[^\s@:$#%*!/\\]+@[^\r\n@:$#%*!/\\]+/,punctuation:/:/,path:/[\s\S]+/}},bash:{pattern:/(^[$#%]\s*)\S[\s\S]*/,lookbehind:!0,alias:"language-bash",inside:r.languages.bash},"shell-symbol":{pattern:/^[$#%]/,alias:"important"}}},output:/.(?:.*(?:[\r\n]|.$))*/},r.languages["sh-session"]=r.languages.shellsession=r.languages["shell-session"]})(n)}return Na}var Fa,Is;function jg(){if(Is)return Fa;Is=1,Fa=e,e.displayName="yaml",e.aliases=["yml"];function e(t){(function(n){var r=/[*&][^\s[\]{},]+/,a=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,o="(?:"+a.source+"(?:[ 	]+"+r.source+")?|"+r.source+"(?:[ 	]+"+a.source+")?)",l=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source}),s=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function i(c,p){p=(p||"").replace(/m/g,"")+"m";var u=/([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g,function(){return o}).replace(/<<value>>/g,function(){return c});return RegExp(u,p)}n.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g,function(){return o})),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g,function(){return o}).replace(/<<key>>/g,function(){return"(?:"+l+"|"+s+")"})),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:i(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:i(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:i(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:i(s),lookbehind:!0,greedy:!0},number:{pattern:i(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:a,important:r,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},n.languages.yml=n.languages.yaml})(t)}return Fa}var Tg=Ag();const js=qe(Tg);var Eg=kg();const Dg=qe(Eg);var Og=Vl();const Ts=qe(Og);var Rg=Cg();const Pg=qe(Rg);var Ng=Gl();const Es=qe(Ng);var Fg=$g();const Ds=qe(Fg);var Lg=jg();const Os=qe(Lg);var Mg=Ig();const Rs=qe(Mg);var qg=Sg();const zg=qe(qg);var Bg=_g();const Hg=qe(Bg);var Ug=xg();const Gg=qe(Ug);var Vg=wg();const Wg=qe(Vg),Wl={python:js,py:js,typescript:Dg,javascript:Es,js:Es,bash:Ts,sh:Ts,shell:Rs,"shell-session":Rs,json:Pg,markdown:Ds,md:Ds,yaml:Os,yml:Os,go:zg,java:Hg,csharp:Gg,ruby:Wg};for(const[e,t]of Object.entries(Wl))kr.registerLanguage(e,t);const Kl=({language:e,value:t,...n})=>{const r=e&&e.toLowerCase(),a=r&&Wl[r]?r:"text";return f.jsx(kr,{language:a,style:bg,...n,children:t||""})};var Jl=[{id:"chat",label:"Chat Completions"},{id:"messages",label:"Messages"},{id:"responses",label:"Responses"},{id:"gemini",label:"Gemini"}],Kg={anthropicVersion:"2023-06-01"},Ps={chat:"/v1/chat/completions",messages:"/v1/messages",responses:"/v1/responses",gemini:"/gemini/v1beta/models/{model}:generateContent"},Ns={chat:[{name:"Authorization",value:"Bearer {key}"}],responses:[{name:"Authorization",value:"Bearer {key}"}],messages:[{name:"x-api-key",value:"{key}"},{name:"anthropic-version",value:Kg.anthropicVersion}],gemini:[{name:"x-goog-api-key",value:"{key}"}]},ye="AIHUBMIX_API_KEY",ae={python:`os.environ["${ye}"]`,javascript:`process.env.${ye}`,go:`os.Getenv("${ye}")`,java:`System.getenv("${ye}")`,csharp:`Environment.GetEnvironmentVariable("${ye}")`,ruby:`ENV["${ye}"]`,curl:`$${ye}`},In=`#{ENV['${ye}']}`,Jg="<YOUR_BASE64_IMAGE>",Zg="A serene mountain lake at sunset",Cr={python:{chat:{install:"pip install openai",imports:["from openai import OpenAI"],clientVar:"client",clientCtor:"OpenAI",baseSuffix:"/v1",call:"client.chat.completions.create",resultVar:"response",read:"print(response.choices[0].message.content)",readStream:`for chunk in response:
    print(chunk.choices[0].delta.content or "", end="")`},messages:{install:"pip install anthropic",imports:["from anthropic import Anthropic"],clientVar:"client",clientCtor:"Anthropic",baseSuffix:"",call:"client.messages.create",resultVar:"message",read:`# content may start with a thinking block — pick by type, not by index
print(next(b.text for b in message.content if b.type == "text"))`,readStream:`with message as stream:
    for text in stream.text_stream:
        print(text, end="")`},responses:{install:"pip install openai",imports:["from openai import OpenAI"],clientVar:"client",clientCtor:"OpenAI",baseSuffix:"/v1",call:"client.responses.create",resultVar:"response",read:"print(response.output_text)",readStream:`for event in response:
    if event.type == "response.output_text.delta":
        print(event.delta, end="")`},gemini:{install:"pip install google-genai",imports:["from google import genai"],clientVar:"client",clientCtor:"genai.Client",baseSuffix:"/gemini",call:"client.models.generate_content",resultVar:"response",read:"print(response.text)"}},javascript:{chat:{install:"npm i openai",imports:['import OpenAI from "openai";'],clientVar:"client",clientCtor:"new OpenAI",baseSuffix:"/v1",call:"client.chat.completions.create",resultVar:"response",read:"console.log(response.choices[0].message.content);",readStream:`for await (const chunk of response) {
  process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}`},messages:{install:"npm i @anthropic-ai/sdk",imports:['import Anthropic from "@anthropic-ai/sdk";'],clientVar:"client",clientCtor:"new Anthropic",baseSuffix:"",call:"client.messages.create",resultVar:"message",read:`// content may start with a thinking block — pick by type, not by index
console.log(message.content.find((b) => b.type === "text")?.text);`,readStream:`for await (const event of message) {
  if (event.type === "content_block_delta") process.stdout.write(event.delta.text ?? "");
}`},responses:{install:"npm i openai",imports:['import OpenAI from "openai";'],clientVar:"client",clientCtor:"new OpenAI",baseSuffix:"/v1",call:"client.responses.create",resultVar:"response",read:"console.log(response.output_text);",readStream:`for await (const event of response) {
  if (event.type === "response.output_text.delta") process.stdout.write(event.delta);
}`},gemini:{install:"npm i @google/genai",imports:['import { GoogleGenAI } from "@google/genai";'],clientVar:"ai",clientCtor:"new GoogleGenAI",baseSuffix:"/gemini",call:"ai.models.generateContent",resultVar:"response",read:"console.log(response.text);"}},ruby:{chat:{install:"gem install ruby-openai",imports:['require "openai"'],clientVar:"client",clientCtor:"OpenAI::Client.new",baseSuffix:"",call:"client.chat",resultVar:"response",read:'puts response.dig("choices", 0, "message", "content")',streamParam:'stream: proc { |chunk, _event| print chunk.dig("choices", 0, "delta", "content") },'},responses:{install:"gem install ruby-openai",imports:['require "openai"'],clientVar:"client",clientCtor:"OpenAI::Client.new",baseSuffix:"",call:"client.responses.create",resultVar:"response",read:`# output[0] may be reasoning — the reply text is usually in the last output block
puts response.dig("output", -1, "content", 0, "text")`,streamParam:'stream: proc { |chunk, _event| print chunk.dig("delta") },'}},go:{chat:{imports:['openai "github.com/sashabaranov/go-openai"'],clientVar:"client",clientCtor:"openai.DefaultConfig",baseSuffix:"/v1",call:"client.CreateChatCompletion",resultVar:"resp",read:"fmt.Println(resp.Choices[0].Message.Content)"}}},Xg={chat_completions:"chat",claude_api:"messages",responses:"responses",gemini_api:"gemini"};function Yg(e){if(!e)return[];const t=Array.isArray(e)?e:String(e).split(","),n=[];for(const r of t){const a=Xg[r.trim()];a&&!n.includes(a)&&n.push(a)}return n}function jn(e,t=ye){return(Ns[e]??Ns.chat).map(n=>({name:n.name,value:n.value.replace("{key}",t)}))}function ko(e,t){const n=e.split(ye);return n.length===1?`"${e}"`:n.map(r=>`"${r}"`).join(` + ${t} + `).replace(/^"" \+ /,"").replace(/ \+ ""$/,"")}var Qg=new Set(["max_tokens","max_completion_tokens","max_output_tokens","temperature","top_p","top_k","frequency_penalty","presence_penalty","repetition_penalty"]),Zl=new Set(["model","messages","input","instructions","system","stream"]),eh=new Set(["max_tokens","max_output_tokens","max_completion_tokens","temperature","top_p","frequency_penalty","presence_penalty","n","seed","stop","logprobs","top_logprobs","tools","tool_choice","parallel_tool_calls","response_format","text","reasoning_effort","reasoning","verbosity","service_tier","logit_bias","user","store","metadata","stream_options","modalities"]);function ve(e,t){return!e.paramKeys||e.paramKeys.includes(t)}function Cn(e){return Array.isArray(e)?e.length===0:e!==null&&typeof e=="object"?Object.keys(e).length===0:!1}function Nt(e){return e==null||e===""||Cn(e)}function $r(e){try{return JSON.parse(e)}catch{return{type:"object"}}}function Xl(e){try{return JSON.parse(e)}catch{return{}}}function Ar(e){if(e.parameters&&e.parameters.trim()){const t=$r(e.parameters);if(t&&typeof t=="object")return t}return{type:"object",properties:{}}}function th(e){return e.map(t=>({type:"function",function:{name:t.name,description:t.description||"",parameters:Ar(t)}}))}function nh(e){return e.map(t=>({name:t.name,description:t.description||"",input_schema:Ar(t)}))}function rh(e){return e.map(t=>({type:"function",name:t.name,description:t.description||"",parameters:Ar(t)}))}function ah(e){return[{functionDeclarations:e.map(t=>({name:t.name,description:t.description||"",parameters:Ar(t)}))}]}function Un(e,t){if(!(!t||t.mode==="auto")){if(e==="messages")return t.mode==="none"?{type:"none"}:t.mode==="required"?{type:"any"}:t.mode==="tool"&&t.name?{type:"tool",name:t.name}:void 0;if(e==="gemini")return t.mode==="none"?{functionCallingConfig:{mode:"NONE"}}:t.mode==="required"?{functionCallingConfig:{mode:"ANY"}}:t.mode==="tool"&&t.name?{functionCallingConfig:{mode:"ANY",allowedFunctionNames:[t.name]}}:void 0;if(t.mode==="none")return"none";if(t.mode==="required")return"required";if(t.mode==="tool")return t.name?{type:"function",function:{name:t.name}}:void 0}}function oh(e){return e.format==="json_object"?{type:"json_object"}:{type:"json_schema",json_schema:{name:e.name||"response",strict:!0,schema:$r(e.schema)}}}function ih(e){return e.format==="json_object"?{type:"json_object"}:{type:"json_schema",name:e.name||"response",strict:!0,schema:$r(e.schema)}}function sh(e){return e.format==="json_object"?null:{type:"json_schema",schema:$r(e.schema)}}function Gn(e,t){const n=t.objects?.parallel_tool_calls;typeof n=="boolean"&&ve(t,"parallel_tool_calls")&&(e.parallel_tool_calls=n)}function La(e,t){return(e.objects??{})[t]??{}}var Yl=[{id:"tools",gatedKeys:["parallel_tool_calls","tools[].programmatic_tool_calling"],enabled:e=>!!e.tools,emit:{chat:(e,t)=>{e.tools=th(t.tools);const n=Un("chat",t.toolChoice);n!==void 0&&(e.tool_choice=n),Gn(e,t)},messages:(e,t)=>{e.tools=nh(t.tools);const n=Un("messages",t.toolChoice);n!==void 0&&(e.tool_choice=n),Gn(e,t)},responses:(e,t)=>{const n=rh(t.tools);t.ptc&&ve(t,"tools[].programmatic_tool_calling")&&n.unshift({type:"programmatic_tool_calling"}),e.tools=n;const r=Un("responses",t.toolChoice);r!==void 0&&(e.tool_choice=r),Gn(e,t)},gemini:(e,t)=>{e.tools=ah(t.tools);const n=Un("gemini",t.toolChoice);n!==void 0&&(e.toolConfig=n),Gn(e,t)}}},{id:"structured",gatedKeys:["text"],enabled:e=>!!e.structured,emit:{chat:(e,t)=>{e.response_format=oh(t.structured)},messages:(e,t)=>{const n=sh(t.structured);n&&(e.output_config={format:n})},responses:(e,t)=>{e.text={...La(t,"text"),format:ih(t.structured)}}}},{id:"think",gatedKeys:["reasoning","thinking"],enabled:e=>!!e.think,emit:{chat:(e,t)=>{e.reasoning_effort=t.thinkLevel},responses:(e,t)=>{e.reasoning={...La(t,"reasoning"),effort:t.thinkLevel}},messages:(e,t)=>{t.thinkAdaptive?(e.thinking={type:"adaptive"},e.output_config={...e.output_config??{},effort:t.thinkLevel}):e.thinking={...La(t,"thinking"),type:"enabled"}}}},{id:"webSearch",gatedKeys:[],enabled:e=>!!e.webSearch,emit:{chat:e=>{e.web_search_options={}}}}];function Vn(e,t,n){for(const r of Yl)r.enabled(t)&&r.emit[n]?.(e,t)}var Ql=new Set(Yl.flatMap(e=>e.gatedKeys));function Ir(e){return e==="audio"?"<YOUR_BASE64_AUDIO>":e==="video"?"<YOUR_BASE64_VIDEO>":Jg}function ao(e){const t=/^data:([^;]+);base64,(.*)$/s.exec(e);return t?{media_type:t[1],data:t[2]}:{media_type:"image/png",data:e}}var Fs=["image_url","video_url","audio_url"];function lh(e,t){const n={},r=[],a={};for(const[l,s]of Object.entries(e))if(s?.length){if(l==="frame_images:first_frame"||l==="frame_images:last_frame"){const i=l==="frame_images:first_frame"?"first_frame":"last_frame";r.push({frame_type:i,image_url:{url:t(s[0])}});continue}if(l==="input_references"||l.startsWith("input_references:")){const i=l.slice(17)||"image_url";(a[i]??=[]).push(...s.map(t));continue}n[l]=s.length===1?t(s[0]):s.map(t)}if(r.length){const l=s=>s.frame_type==="first_frame"?0:1;r.sort((s,i)=>l(s)-l(i)),n.frame_images=r}const o=Object.keys(a);if(o.length){const l=s=>{const i=Fs.indexOf(s);return i<0?Fs.length:i};n.input_references=o.sort((s,i)=>l(s)-l(i)).flatMap(s=>a[s].map(i=>({type:s,url:i})))}return n}function Ls(e,t){return e.kind==="url"||!t?e.src:`data:${e.mime||"image/png"};base64,${Ir(e.modality)}`}function Ma(e,t){return t?Ir(e.modality):ao(e.src).data}function ch(e){const t=(e||"").toLowerCase();return t.includes("wav")?"wav":t.includes("mpeg")||t.includes("mp3")?"mp3":null}function ec(e,t,n){return t==="image"||e==="gemini"?!0:e==="chat"&&t==="audio"?n==="base64":!1}function yn(e,t,n,r){const a=!!r?.truncate,o=[],l=n.filter(s=>ec(e,s.modality,s.kind));if(e==="messages"){t&&o.push({type:"text",text:t});for(const s of l)if(s.kind==="url")o.push({type:"image",source:{type:"url",url:s.src}});else{const{media_type:i}=ao(s.src);o.push({type:"image",source:{type:"base64",media_type:i,data:Ma(s,a)}})}return o}if(e==="responses"){t&&o.push({type:"input_text",text:t});for(const s of l)o.push({type:"input_image",image_url:Ls(s,a)});return o}if(e==="gemini"){t&&o.push({text:t});for(const s of l)s.kind==="url"?o.push({fileData:{mimeType:s.mime,fileUri:s.src}}):o.push({inlineData:{mimeType:ao(s.src).media_type,data:Ma(s,a)}});return o}t&&o.push({type:"text",text:t});for(const s of l)if(s.modality==="audio"){const i=ch(s.mime);if(!i)continue;o.push({type:"input_audio",input_audio:{data:Ma(s,a),format:i}})}else o.push({type:"image_url",image_url:{url:Ls(s,a)}});return o}function Wn(e,t,n){return t.images&&t.images.length?yn(e,t.content,t.images,{truncate:n}):t.content}function uh(e){if(!(!e||!e.length))return e.map(t=>({id:t.id||"",type:"function",function:{name:t.name,arguments:typeof t.argsString=="string"?t.argsString:JSON.stringify(t.args??{})}}))}function dh(e){return(e??[]).map(t=>({type:"tool_use",id:t.id||"",name:t.name,input:typeof t.args=="string"?Xl(t.args):t.args??{}}))}function tn(e,t,n,r){const{cache:a,truncate:o}=r;if(e==="messages"){const s=[];for(const i of t)if(i.role!=="system")if(i.role==="tool")s.push({role:"user",content:[{type:"tool_result",tool_use_id:i.toolCallId||"",content:i.content}]});else if(i.role==="assistant"&&i.toolCalls?.length){const c=[];i.content&&c.push({type:"text",text:i.content}),c.push(...dh(i.toolCalls)),s.push({role:"assistant",content:c})}else s.push({role:i.role,content:Wn("messages",i,o)});if(a&&!n&&s.length){const i=s[s.length-1],c=Array.isArray(i.content)?[...i.content]:[{type:"text",text:i.content}],p=c[c.length-1];p&&typeof p=="object"&&(c[c.length-1]={...p,cache_control:{type:"ephemeral"}}),s[s.length-1]={role:i.role,content:c}}return s}if(e==="responses")return t.filter(s=>s.role==="user"||s.role==="assistant").map(s=>({role:s.role,content:Wn("responses",s,o)}));if(e==="gemini"){const s=[];for(const i of t)if(i.role!=="system")if(i.role==="tool")s.push({role:"user",parts:[{functionResponse:{name:i.toolCallId||"",response:{result:i.content}}}]});else if(i.role==="assistant"&&i.toolCalls?.length){const c=[];i.content&&c.push({text:i.content});for(const p of i.toolCalls)c.push({functionCall:{name:p.name,args:typeof p.args=="string"?Xl(p.args):p.args??{}}});s.push({role:"model",parts:c})}else{const c=Wn("gemini",i,o),p=Array.isArray(c)?c:[{text:c}];s.push({role:i.role==="assistant"?"model":"user",parts:p})}return s}const l=[];n&&l.push({role:"system",content:n});for(const s of t)if(s.role!=="system")if(s.role==="tool")l.push({role:"tool",tool_call_id:s.toolCallId||"",content:s.content});else{const i={role:s.role,content:Wn("chat",s,o)},c=s.role==="assistant"?uh(s.toolCalls):void 0;c&&(i.tool_calls=c),l.push(i)}return l}function Kn(e,t){const{enums:n,enumDefaults:r}=t;if(n)for(const[a,o]of Object.entries(n))Ql.has(a)||o==null||o===""||ve(t,a)&&(r&&r[a]===o||(e[a]=o))}function Jn(e,t){const{objects:n}=t;if(n)for(const[r,a]of Object.entries(n))Ql.has(r)||a!=null&&ve(t,r)&&(Cn(a)||(e[r]=a))}function Zn(e,t,n){for(const[r,a]of Object.entries(t.p))typeof a!="number"||!Number.isFinite(a)||Qg.has(r)||r in e||ve(t,r)&&(e[r]=a,r==="top_logprobs"&&n==="chat"&&(e.logprobs=!0))}function ph(e){const t=e.thinking;if(!t||typeof t!="object"||Array.isArray(t))return;const n=t.budget_tokens;if(typeof n!="number"||!Number.isFinite(n))return;const r=e.max_tokens;typeof r=="number"&&r>n||(e.max_tokens=n+1024)}function Ae(e,t){const{model:n,sys:r,user:a,p:o,stream:l}=t,s=t.images&&t.images.length?t.images:null,i=t.messages&&t.messages.length?t.messages:null;if(e==="messages"){const u={model:n.id,max_tokens:o.max_tokens},m={type:"ephemeral"};r&&(u.system=t.cache?[{type:"text",text:r,cache_control:m}]:r);let d;if(s){const b=yn("messages",a,s,{truncate:!0});if(t.cache&&!r&&b.length){const g=b[b.length-1];b[b.length-1]={...g,cache_control:m}}d=b}else d=t.cache&&!r?[{type:"text",text:a,cache_control:m}]:a;return u.messages=i?tn("messages",i,r,{cache:t.cache,truncate:!0}):[{role:"user",content:d}],ve(t,"temperature")&&+(o.temperature??1)!=1&&(u.temperature=+(o.temperature??1)),ve(t,"top_p")&&+(o.top_p??1)!=1&&(u.top_p=+(o.top_p??1)),ve(t,"top_k")&&(o.top_k??0)>0&&(u.top_k=o.top_k),Kn(u,t),Jn(u,t),Zn(u,t,e),Vn(u,t,e),ph(u),u.stream=l,u}if(e==="responses"){const u={model:n.id};return r&&(u.instructions=r),u.input=i?tn("responses",i,r,{truncate:!0}):s?[{role:"user",content:yn("responses",a,s,{truncate:!0})}]:a,u.max_output_tokens=o.max_tokens,ve(t,"temperature")&&+(o.temperature??1)!=1&&(u.temperature=+(o.temperature??1)),ve(t,"top_p")&&+(o.top_p??1)!=1&&(u.top_p=+(o.top_p??1)),Kn(u,t),Jn(u,t),Zn(u,t,e),Vn(u,t,e),u.stream=l,u}if(e==="gemini"){const u={},m=s?yn("gemini",a,s,{truncate:!0}):[{text:a}];u.contents=i?tn("gemini",i,r,{truncate:!0}):[{role:"user",parts:m}],r&&(u.systemInstruction={parts:[{text:r}]});const d={};return ve(t,"temperature")&&typeof o.temperature=="number"&&Number.isFinite(o.temperature)&&(d.temperature=o.temperature),Kn(d,t),Jn(d,t),Zn(d,t,e),typeof d.cachedContent=="string"&&(u.cachedContent=d.cachedContent,delete d.cachedContent),Object.keys(d).length&&(u.generationConfig=d),Vn(u,t,e),u}const c=[];r&&c.push({role:"system",content:r}),c.push({role:"user",content:s?yn("chat",a,s,{truncate:!0}):a});const p={model:n.id,messages:i?tn("chat",i,r,{truncate:!0}):c};return t.imageOut&&(p.modalities=["text","image"]),t.paramKeys?.includes("max_completion_tokens")&&!t.paramKeys.includes("max_tokens")?p.max_completion_tokens=o.max_completion_tokens??o.max_tokens:p.max_tokens=o.max_tokens,ve(t,"temperature")&&+(o.temperature??1)!=1&&(p.temperature=+(o.temperature??1)),ve(t,"top_p")&&+(o.top_p??1)!=1&&(p.top_p=+(o.top_p??1)),ve(t,"frequency_penalty")&&+(o.frequency_penalty??0)!=0&&(p.frequency_penalty=+(o.frequency_penalty??0)),ve(t,"presence_penalty")&&+(o.presence_penalty??0)!=0&&(p.presence_penalty=+(o.presence_penalty??0)),ve(t,"top_k")&&(o.top_k??0)>0&&(p.top_k=o.top_k),ve(t,"repetition_penalty")&&+(o.repetition_penalty??1)!=1&&(p.repetition_penalty=+(o.repetition_penalty??1)),Kn(p,t),Jn(p,t),Zn(p,t,e),Vn(p,t,e),p.stream=l,p}function cn(e,t){return(Ps[e]??Ps.chat).replace("{model}",encodeURIComponent(t.model.id))}var fh="/v1/realtime",tc="transcription",mh="realtime",gh="marin",oo="audio/pcm",tt=24e3,De=100;function jr(e){return e.session.session?.audio?.input?.turn_detection!=null}function Ms(e,t,n="transcription"){const r=e.replace(/^https:/,"wss:").replace(/^http:/,"ws:"),a=`model=${encodeURIComponent(t)}`,o=n==="conversation"?a:`intent=${tc}&${a}`;return`${r}${fh}?${o}`}function hh(e){const t={model:e.modelId};e.languages?.length&&(t.languages=e.languages),e.prompt?.trim()&&(t.prompt=e.prompt.trim()),e.keywords?.length&&(t.keywords=e.keywords),e.delay&&(t.delay=e.delay);const n={format:{type:oo,rate:tt},transcription:t,turn_detection:e.turnDetection==="none"?null:{type:"server_vad"}};return e.noiseReduction&&(n.noise_reduction={type:e.noiseReduction}),{type:"session.update",session:{type:tc,audio:{input:n}}}}function vh(e){const t={format:{type:oo,rate:tt},turn_detection:{type:"server_vad"}},n={format:{type:oo,rate:tt},voice:e.voice?.trim()||gh},r={type:mh,audio:{input:t,output:n}};return e.instructions?.trim()&&(r.instructions=e.instructions.trim()),{type:"session.update",session:r}}var nc="/v1/systemone",yh="Hi, I have been trying to connect my Stripe account for 3 days and it keeps failing. I am losing sales. Please help ASAP.",bh={department:{type:"choice",instructions:"Which team should handle this",criteria:{billing:"Payment or subscription issues",technical:"Bugs or integration problems",sales:"Pricing or account questions"}},frustration:{type:"score",instructions:"How frustrated the customer appears",criteria:["Calm, just stating facts","Frustrated but civil","Very angry, strong language"]},is_urgent:{type:"noul",instructions:"The message conveys urgency or time-sensitivity"}};function xh(e){const t={type:e.type};return Nt(e.instructions)||(t.instructions=e.instructions),Nt(e.criteria)||(t.criteria=e.criteria),t}function wh(e){const t=Nt(e.state)?yh:e.state,n=Nt(e.questions)?bh:e.questions,r=Object.fromEntries(Object.entries(n).map(([a,o])=>[a,xh(o)]));return{model:e.modelId,state:t,questions:r}}function Sh(e){return{baseUrl:e.baseUrl,path:nc,bodyObj:wh(e)}}var rc="/v1/decisions",ac={python:{install:'pip install -U "openai>=3.26.0"',imports:["from openai import OpenAI"],clientCtor:"OpenAI",baseSuffix:"/v1",call:"client.decisions.create"},javascript:{install:'npm install "openai@>=7.30.0"',imports:['import OpenAI from "openai";'],clientCtor:"new OpenAI",baseSuffix:"/v1",call:"client.decisions.create"}},_h="I was charged twice for my order last week. The refund has not arrived and support is not replying.",kh=[{type:"predicate",name:"is_billing_issue",instructions:"Is this feedback about a charge, an invoice, or a refund?"},{type:"choice",name:"department",instructions:"Which team should handle this feedback?",choices:[{value:"billing",description:"Payments, invoices, and refunds."},{value:"technical",description:"Technical problems while using the product."},{value:"shipping",description:"Delivery and package tracking."},{value:"other",description:"Requests that fit none of the above."}]},{type:"score",name:"urgency",instructions:"How urgent is this feedback?",levels:[{label:"low",description:"A general question with no impact on usage or money."},{label:"medium",description:"Hurts the experience, but no money is lost."},{label:"high",description:"Money is lost or the customer is clearly upset."}]}];function Ch(e){const t={type:e.type};return Nt(e.name)||(t.name=e.name),e.instructions!=null&&(t.instructions=e.instructions),e.choices!=null&&(t.choices=e.choices),e.levels!=null&&(t.levels=e.levels),t}function $h(e){const t=Nt(e.input)?_h:e.input,n=Nt(e.questions)?kh:e.questions;return JSON.parse(JSON.stringify({model:e.modelId,input:t,questions:n.map(Ch)}))}function Ah(e){return{baseUrl:e.baseUrl,path:rc,bodyObj:$h(e)}}function Ih(e,t){const n=JSON.stringify(Ae(e,t),null,2);return`using System.Net.Http;
using System.Text;

var client = new HttpClient();
${jn(e).map(a=>`client.DefaultRequestHeaders.Add("${a.name}", ${ko(a.value,ae.csharp)});`).join(`
`)}

var json = """
${n}
""";

var content = new StringContent(json, Encoding.UTF8, "application/json");
var response = await client.PostAsync("${t.baseUrl}${cn(e,t)}", content);
var result = await response.Content.ReadAsStringAsync();

Console.WriteLine(result);`}function Ve(e){return String(e).replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\r/g,"\\r").replace(/\n/g,"\\n")}function on(e){return e.replace(/'/g,"'\\''")}function vt(e){return e.replace(/`/g,'`+"`"+`')}function Tn(e){return e.replace(/\\/g,"\\\\").split(`
`).map(t=>"        "+t).join(`
`)}function Ye(e){return Number.isInteger(e)?""+e:(+e).toString()}function wr(e){return JSON.stringify(String(e)).replace(/#/g,"\\#")}function jh(e){return Ve(e).replace(/#/g,"\\#")}function he(e,t){return JSON.stringify(e,null,2).split(`
`).map(n=>t+n).join(`
`)}function Tr(e,t){return JSON.stringify(e,null,2).split(`
`).map((n,r)=>r===0?n:t+n).join(`
`)}function Le(e,t){if(Array.isArray(e))return e.length?`[
${e.map(r=>t+"  "+Le(r,t+"  ")).join(`,
`)}
${t}]`:"[]";if(e!==null&&typeof e=="object"){const n=Object.entries(e);return n.length?`{
${n.map(([a,o])=>`${t}  ${JSON.stringify(a)}: ${Le(o,t+"  ")}`).join(`,
`)}
${t}}`:"{}"}return typeof e=="string"?JSON.stringify(e):typeof e=="number"?Ye(e):typeof e=="boolean"?e?"True":"False":"None"}function lt(e,t){if(Array.isArray(e))return e.length?`[
${e.map(r=>t+"  "+lt(r,t+"  ")).join(`,
`)}
${t}]`:"[]";if(e!==null&&typeof e=="object"){const n=Object.entries(e);if(!n.length)return"{}";const r=o=>/^[A-Za-z_$][\w$]*$/.test(o)?o:JSON.stringify(o);return`{
${n.map(([o,l])=>`${t}  ${r(o)}: ${lt(l,t+"  ")}`).join(`,
`)}
${t}}`}return typeof e=="string"?JSON.stringify(e):typeof e=="number"?Ye(e):typeof e=="boolean"?String(e):"null"}function Sr(e,t){if(Array.isArray(e))return e.length?`[
${e.map(r=>t+"  "+Sr(r,t+"  ")).join(`,
`)}
${t}]`:"[]";if(e!==null&&typeof e=="object"){const n=Object.entries(e);return n.length?`{
${n.map(([a,o])=>`${t}  ${wr(a)} => ${Sr(o,t+"  ")}`).join(`,
`)}
${t}}`:"{}"}return typeof e=="string"?wr(e):typeof e=="number"?Ye(e):typeof e=="boolean"?String(e):"nil"}function qs(e,t,n){return e!==null&&typeof e=="object"?t==="python"?Le(e,n):Tr(e,n):typeof e=="string"?JSON.stringify(e):typeof e=="number"?Ye(e):typeof e=="boolean"?t==="python"?e?"True":"False":String(e):JSON.stringify(e)}function un(e,t,n,r){const a=n!=="messages",o=[],l=[],s=t==="python"?"=":": ";for(const[i,c]of Object.entries(e))Zl.has(i)||(t==="python"&&a&&!eh.has(i)?l.push(`${r}    "${i}": ${qs(c,"python",r+"    ")},`):o.push(`${r}${i}${s}${qs(c,t,r)},`));return l.length&&o.push(t==="python"?`${r}extra_body={
${l.join(`
`)}
${r}},`:l.join(`
`)),o.join(`
`)}function oc(e,t){const n=[];for(const[r,a]of Object.entries(e))Zl.has(r)||n.push(`${t}${r}: ${Sr(a,t)},`);return n.join(`
`)}function ic(e,t){const n=he(Ae(e,t),"  ").trim(),r=jn(e,`$${ye}`).map(a=>`  -H "${a.name}: ${a.value}" \\`).join(`
`);return`curl ${t.baseUrl}${cn(e,t)} \\
  -H "Content-Type: application/json" \\
${r}
  -d '${on(n)}'`}function Co(e){return!!(e.images&&e.images.length)}function yt(e,t,n,r){const a=t.messages&&t.messages.length?t.messages:[{role:"user",content:t.user,...Co(t)?{images:t.images}:{}}],o=tn(e,a,t.sys,{cache:t.cache,truncate:!0});return n==="python"?Le(o,r):n==="js"?lt(o,r):Sr(o,r)}function sc(e,t){return Co(e)?[...new Set(e.images.filter(r=>r.kind==="base64"&&ec(t,r.modality,r.kind)).map(r=>r.modality))].map(Ir):[]}function bt(e,t,n){const r=sc(e,n);return r.length?`${t==="python"?"#":"//"} Replace ${r.join(" / ")} with your base64-encoded media data
`:""}function lc(e,t){const n=sc(e,t);return n.length?`# Replace ${n.join(" / ")} with your base64-encoded media data
`:""}function Th(e,t){const n=a=>JSON.stringify(String(a));return t==="map_int"?`map[string]int{${Object.entries(e??{}).map(([o,l])=>`${n(o)}: ${Ye(Number(l))}`).join(", ")}}`:t==="map_str"?`map[string]string{${Object.entries(e??{}).map(([o,l])=>`${n(o)}: ${n(l)}`).join(", ")}}`:`[]string{${(Array.isArray(e)?e:[e]).map(a=>n(a)).join(", ")}}`}var cc=[{key:"logit_bias",field:"LogitBias",kind:"map_int"},{key:"stop",field:"Stop",kind:"slice_str"},{key:"metadata",field:"Metadata",kind:"map_str"}],Eh=["model","messages","max_tokens","max_completion_tokens","temperature","top_p","frequency_penalty","presence_penalty","n","verbosity","service_tier","reasoning_effort","seed","top_logprobs","logprobs","tools","tool_choice","parallel_tool_calls","response_format","prediction","stream",...cc.map(e=>e.key)],Dh=["o1","o3","o4","gpt-5"];function Oh(e){return Dh.some(t=>e.startsWith(t))}var Rh=[{key:"frequency_penalty",field:"FrequencyPenalty"},{key:"presence_penalty",field:"PresencePenalty"},{key:"n",field:"N"}],Ph=[{key:"verbosity",field:"Verbosity"},{key:"service_tier",field:"ServiceTier"}];function Nh(e){const t=e.messages&&e.messages.length?e.messages:[{role:"user",content:e.user,...Co(e)?{images:e.images}:{}}],n=tn("chat",t,e.sys,{cache:e.cache,truncate:!0}),r=o=>o==="system"?"openai.ChatMessageRoleSystem":o==="assistant"?"openai.ChatMessageRoleAssistant":o==="tool"?"openai.ChatMessageRoleTool":"openai.ChatMessageRoleUser",a=o=>typeof o=="string"?o:Array.isArray(o)?o.filter(l=>l&&typeof l=="object"&&l.type==="text").map(l=>String(l.text??"")).join(`
`):"";return n.map(o=>`
			{Role: ${r(String(o.role))}, Content: "${Ve(a(o.content))}"},`).join("")}function Fh(e){const{model:t,p:n}=e,r=Cr.go?.chat;if(!r)throw new Error("config/sdk.ts 缺 go × chat 记录");const a=Nh(e),o=Oh(t.id),l=[],s=F=>o?(l.push(F),!1):!0,c=o||!!e.paramKeys?.includes("max_completion_tokens")?`
			MaxCompletionTokens: ${n.max_tokens},`:`
			MaxTokens: ${n.max_tokens},`,p=ve(e,"temperature")&&+(n.temperature??1)!=1&&s("temperature")?`
			Temperature: ${Ye(n.temperature??1)},`:"",u=ve(e,"top_p")&&+(n.top_p??1)!=1&&s("top_p")?`
			TopP: ${Ye(n.top_p??1)},`:"",m=e.think?`
			ReasoningEffort: "${e.thinkLevel}",`:"",d=e.objects??{};let b="";for(const F of cc){const V=d[F.key];V==null||Cn(V)||!ve(e,F.key)||(b+=`
			${F.field}: ${Th(V,F.kind)},`)}const g=d.prediction;g!=null&&!Cn(g)&&ve(e,"prediction")&&(b+=`
			// prediction: set via raw JSON`);const v=Ae("chat",e);let w="";for(const F of Rh){const V=v[F.key];typeof V!="number"||!Number.isFinite(V)||s(F.key)&&(w+=`
			${F.field}: ${Ye(V)},`)}for(const F of Ph){const V=v[F.key];typeof V!="string"||!V||(w+=`
			${F.field}: "${Ve(V)}",`)}typeof v.parallel_tool_calls=="boolean"&&(w+=`
			ParallelToolCalls: ${v.parallel_tool_calls},`);let y=!1,h="";const C=v.tools;if(Array.isArray(C)&&C.length){const F=C.map(V=>{const G=V.function;if(!G)return"";const J=G.parameters==null?"":`
						Parameters: json.RawMessage(\`${vt(JSON.stringify(G.parameters))}\`),`,H=G.description?`
						Description: "${Ve(String(G.description))}",`:"";return`
				{
					Type: openai.ToolTypeFunction,
					Function: &openai.FunctionDefinition{
						Name: "${Ve(String(G.name??""))}",${H}${J}
					},
				},`}).join("");F&&(y=F.includes("json.RawMessage"),h=`
			Tools: []openai.Tool{${F}
			},`)}let S="";const x=v.response_format;if(x&&typeof x=="object"&&!Array.isArray(x)){const F=x.json_schema;if(F){y=!0;const V=F.strict?`
					Strict: true,`:"";S=`
			ResponseFormat: &openai.ChatCompletionResponseFormat{
				Type: openai.ChatCompletionResponseFormatTypeJSONSchema,
				JSONSchema: &openai.ChatCompletionResponseFormatJSONSchema{
					Name: "${Ve(String(F.name??"response"))}",
					Schema: json.RawMessage(\`${vt(JSON.stringify(F.schema??{}))}\`),${V}
				},
			},`}else x.type&&(S=`
			ResponseFormat: &openai.ChatCompletionResponseFormat{
				Type: openai.ChatCompletionResponseFormatType("${Ve(String(x.type))}"),
			},`)}let k="";const A=v.tool_choice;A!==void 0&&(y=!0,k=`
			ToolChoice: json.RawMessage(\`${vt(JSON.stringify(A))}\`),`);const $=n.seed,I=ve(e,"seed")&&$!=null,T=I?`
	seed := ${Ye($)}
`:"",R=I?`
			Seed: &seed,`:"",L=n.top_logprobs,U=ve(e,"top_logprobs")&&L!=null&&s("top_logprobs")?`
			LogProbs: true,
			TopLogProbs: ${Ye(L)},`:"",B=new Set(Eh),z=Object.keys(v).filter(F=>!B.has(F)),K=(z.length?`
	// 注意：go-openai 的 ChatCompletionRequest 没有以下字段，本示例发不出去：
	//   ${z.join(", ")}
	// 需要它们的话改用 net/http 直接发 JSON（本页其余三个协议的 Go 示例就是那种写法）。
`:"")+(l.length?`
	// 注意：go-openai 对 o1/o3/o4/gpt-5 系模型有一层客户端校验（reasoning_validator.go），
	// 带上以下参数会让请求在**发出之前**就返回 error，所以本示例没有渲染它们：
	//   ${l.join(", ")}
	// 网关本身是收这些参数的（同一份 body 用 curl 发得通），这是该 SDK 的限制。
`:"");return`package main

import (
${y?`	"context"
	"encoding/json"
	"fmt"
	"os"`:`	"context"
	"fmt"
	"os"`}

	${r.imports.join(`
	`)}
)

func main() {
	cfg := ${r.clientCtor}(${ae.go})
	cfg.BaseURL = "${e.baseUrl}${r.baseSuffix}"
	${r.clientVar} := openai.NewClientWithConfig(cfg)
${K}${T}
	${r.resultVar}, err := ${r.call}(
		context.Background(),
		openai.ChatCompletionRequest{
			Model: "${t.id}",
			Messages: []openai.ChatCompletionMessage{${a}
			},${c}${p}${u}${w}${m}${h}${k}${S}${b}${R}${U}
		},
	)
	if err != nil {
		panic(err)
	}
	${r.read}
}`}function Lh(e,t){const n=he(Ae(e,t),"		"),r=jn(e).map(a=>`	req.Header.Set("${a.name}", ${ko(a.value,ae.go)})`).join(`
`);return`package main

import (
	"bytes"
	"fmt"
	"io"
	"net/http"
	"os"
)

func main() {
	payload := []byte(\`
${vt(n)}
	\`)
	req, _ := http.NewRequest("POST", "${t.baseUrl}${cn(e,t)}", bytes.NewBuffer(payload))
	req.Header.Set("Content-Type", "application/json")
${r}

	resp, err := http.DefaultClient.Do(req)
	if err != nil {
		panic(err)
	}
	defer resp.Body.Close()
	out, _ := io.ReadAll(resp.Body)
	fmt.Println(string(out))
}`}function Mh(e,t){const n=Tn(JSON.stringify(Ae(e,t),null,2)),r=jn(e).map(a=>`        .header("${a.name}", ${ko(a.value,ae.java)})`).join(`
`);return`import java.net.URI;
import java.net.http.*;

public class Main {
    public static void main(String[] args) throws Exception {
        String body = """
${n}
        """;

        HttpRequest request = HttpRequest.newBuilder()
        .uri(URI.create("${t.baseUrl}${cn(e,t)}"))
        .header("Content-Type", "application/json")
${r}
        .POST(HttpRequest.BodyPublishers.ofString(body))
        .build();

        HttpResponse<String> response = HttpClient.newHttpClient()
            .send(request, HttpResponse.BodyHandlers.ofString());

        System.out.println(response.body());
    }
}`}function qh(e){return e.replace(/([A-Z])/g,t=>"_"+t.toLowerCase())}function uc(e,t){const n={},r=e.generationConfig??{};for(const[a,o]of Object.entries(r))n[t?qh(a):a]=o;if(e.systemInstruction&&(n[t?"system_instruction":"systemInstruction"]=e.systemInstruction),Array.isArray(e.tools)&&(n.tools=t?e.tools.map(a=>{if(!("functionDeclarations"in a))return a;const{functionDeclarations:o,...l}=a;return{function_declarations:o,...l}}):e.tools),e.toolConfig)if(t){const a=e.toolConfig.functionCallingConfig,o={mode:a?.mode};a?.allowedFunctionNames&&(o.allowed_function_names=a.allowedFunctionNames),n.tool_config={function_calling_config:o}}else n.toolConfig=e.toolConfig;return{contents:e.contents,config:n}}function Er(e){const t=Cr.python?.[e];if(!t)throw new Error(`config/sdk.ts 缺 python × ${e} 记录`);return t}function $o(e,t){return`import os
${e.imports.join(`
`)}

${e.clientVar} = ${e.clientCtor}(
    api_key=${ae.python},
    base_url="${t}${e.baseSuffix}",
)`}function Ao(e,t){return`
${t?e.readStream:e.read}`}function zh(e){const{model:t,stream:n}=e,r=Er("chat"),a=un(Ae("chat",e),"python","chat","    ");return`${bt(e,"python","chat")}${$o(r,e.baseUrl)}

${r.resultVar} = ${r.call}(
    model="${t.id}",
    messages=${yt("chat",e,"python","    ")},
${a}
    stream=${n?"True":"False"},
)
${Ao(r,n)}`}function Bh(e){const{model:t,sys:n,stream:r}=e,a=Er("messages"),o=un(Ae("messages",e),"python","messages","    "),l=n?e.cache?`
    system=${Le([{type:"text",text:n,cache_control:{type:"ephemeral"}}],"    ")},`:`
    system="${Ve(n)}",`:"";return`${bt(e,"python","messages")}${$o(a,e.baseUrl)}

${a.resultVar} = ${a.call}(
    model="${t.id}",${l}
    messages=${yt("messages",e,"python","    ")},
${o}
    stream=${r?"True":"False"},
)
${Ao(a,r)}`}function zs(e){const{model:t,sys:n,stream:r}=e,a=Er("responses"),o=un(Ae("responses",e),"python","responses","    ");return`${bt(e,"python","responses")}${$o(a,e.baseUrl)}

${a.resultVar} = ${a.call}(
    model="${t.id}",${n?`
    instructions="${Ve(n)}",`:""}
    input=${yt("responses",e,"python","    ")},
${o}
    stream=${r?"True":"False"},
)
${Ao(a,r)}`}function Hh(e){const t=Er("gemini"),{contents:n,config:r}=uc(Ae("gemini",e),!0),a=Object.keys(r).length?`
    config=${Le(r,"    ")},`:"";return`${bt(e,"python","gemini")}import os
${t.imports.join(`
`)}

${t.clientVar} = ${t.clientCtor}(
    api_key=${ae.python},
    http_options={"base_url": "${e.baseUrl}${t.baseSuffix}"},
)

${t.resultVar} = ${t.call}(
    model="${e.model.id}",
    contents=${Le(n,"    ")},${a}
)
${t.read}`}function dc(e){return jn(e).map(t=>{const n=t.value.split(ye);return n.length===1?`request["${t.name}"] = "${t.value}"`:n.every(r=>r==="")?`request["${t.name}"] = ${ae.ruby}`:`request["${t.name}"] = "${n.join(In)}"`}).join(`
`)}function pc(e){const t=Cr.ruby?.[e];if(!t)throw new Error(`config/sdk.ts 缺 ruby × ${e} 记录`);return t}function fc(e,t){return`${e.imports.join(`
`)}

${e.clientVar} = ${e.clientCtor}(
  access_token: ${ae.ruby},
  uri_base: "${t}${e.baseSuffix}"
)`}function Uh(e){const{model:t,stream:n}=e,r=pc("chat"),a=oc(Ae("chat",e),"    "),o=n?`
    ${r.streamParam}`:"";return`${lc(e,"chat")}${fc(r,e.baseUrl)}

${r.resultVar} = ${r.call}(
  parameters: {
    model: ${wr(t.id)},
    messages: ${yt("chat",e,"ruby","    ")},
${a}${o}
  }
)
${n?"":`
${r.read}`}`}function Bs(e){const{model:t,sys:n,stream:r}=e,a=pc("responses"),o=oc(Ae("responses",e),"    "),l=r?`
    ${a.streamParam}`:"";return`${lc(e,"responses")}${fc(a,e.baseUrl)}

${a.resultVar} = ${a.call}(
  parameters: {
    model: ${wr(t.id)},${n?`
    instructions: "${jh(n)}",`:""}
    input: ${yt("responses",e,"ruby","    ")},
${o}${l}
  }
)
${r?"":`
${a.read}`}`}function Gh(e){const t=he(Ae("messages",e),""),n=dc("messages");return`# The ruby-anthropic gem cannot point at a custom base URL, so the messages protocol uses net/http directly.
require "net/http"
require "uri"

uri = URI("${e.baseUrl}${cn("messages",e)}")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::Post.new(uri)
request["Content-Type"] = "application/json"
${n}
request.body = <<~'JSON'
${t}
JSON

response = http.request(request)
puts response.body`}function Vh(e){const t=he(Ae("gemini",e),""),n=dc("gemini");return`require "net/http"
require "uri"

uri = URI("${e.baseUrl}${cn("gemini",e)}")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::Post.new(uri)
request["Content-Type"] = "application/json"
${n}
request.body = <<~'JSON'
${t}
JSON

response = http.request(request)
puts response.body`}function Dr(e){const t=Cr.javascript?.[e];if(!t)throw new Error(`config/sdk.ts 缺 javascript × ${e} 记录`);return t}function Io(e,t){return`${e.imports.join(`
`)}

const ${e.clientVar} = ${e.clientCtor}({
  apiKey: ${ae.javascript},
  baseURL: "${t}${e.baseSuffix}",
});`}function jo(e,t){return`
${t?e.readStream:e.read}`}function Wh(e){const{model:t,stream:n}=e,r=Dr("chat"),a=un(Ae("chat",e),"js","chat","  ");return`${bt(e,"js","chat")}${Io(r,e.baseUrl)}

const ${r.resultVar} = await ${r.call}({
  model: "${t.id}",
  messages: ${yt("chat",e,"js","  ")},
${a}
  stream: ${n},
});
${jo(r,n)}`}function Kh(e){const{model:t,sys:n,stream:r}=e,a=Dr("messages"),o=un(Ae("messages",e),"js","messages","  "),l=n?e.cache?`
  system: ${lt([{type:"text",text:n,cache_control:{type:"ephemeral"}}],"  ")},`:`
  system: "${Ve(n)}",`:"";return`${bt(e,"js","messages")}${Io(a,e.baseUrl)}

const ${a.resultVar} = await ${a.call}({
  model: "${t.id}",${l}
  messages: ${yt("messages",e,"js","  ")},
${o}
  stream: ${r},
});
${jo(a,r)}`}function Hs(e){const{model:t,sys:n,stream:r}=e,a=Dr("responses"),o=un(Ae("responses",e),"js","responses","  ");return`${bt(e,"js","responses")}${Io(a,e.baseUrl)}

const ${a.resultVar} = await ${a.call}({
  model: "${t.id}",${n?`
  instructions: "${Ve(n)}",`:""}
  input: ${yt("responses",e,"js","  ")},
${o}
  stream: ${r},
});
${jo(a,r)}`}function Jh(e){const t=Dr("gemini"),{contents:n,config:r}=uc(Ae("gemini",e),!1),a=Object.keys(r).length?`
  config: ${lt(r,"  ")},`:"";return`${bt(e,"js","gemini")}${t.imports.join(`
`)}

const ${t.clientVar} = ${t.clientCtor}({
  apiKey: ${ae.javascript},
  httpOptions: { baseUrl: "${e.baseUrl}${t.baseSuffix}" },
});

const ${t.resultVar} = await ${t.call}({
  model: "${e.model.id}",
  contents: ${lt(n,"  ")},${a}
});
${t.read}`}var Zh="/ai/v1/images/generations",ct="/ai/v1/videos";function Xh(e){return Object.fromEntries(Object.entries(e).filter(([,t])=>t!=null&&t!==""&&!Cn(t)))}function Yh(e){return e.kind==="url"?e.src:`data:${e.mime||"image/png"};base64,${Ir(e.modality)}`}function Qh(e){return lh(e??{},Yh)}function ev(e,t,n){const{baseUrl:r,modality:a,modelId:o,endpoint:l,refImages:s}=e,i=l?.path||(a==="image"?Zh:ct),c=l?.pollPath||(a==="video"?`${ct}/{id}`:""),p=l?.envelope??"none",u=l?.encoding??"json",m=Qh(s),d=Object.keys(m).length>0,b={prompt:t,...n,...m},g=p==="input"?{input:b}:{model:o,...b},v=[{key:"model",value:o,isFile:!1},{key:"prompt",value:t,isFile:!1},...Object.entries(n).map(([w,y])=>({key:w,value:typeof y=="object"&&y!==null?JSON.stringify(y):String(y),isFile:!1})),...Object.entries(s??{}).filter(([,w])=>w?.length).flatMap(([w,y])=>y.map(()=>({key:w,value:"",isFile:!0})))];return{baseUrl:r,submitPath:i,pollPath:c,envelope:p,encoding:u,bodyObj:g,multipartFields:v,hasRef:d}}function To(e){const t=e.multipartFields.filter(r=>!r.isFile).map(r=>({key:r.key,value:r.value})),n=e.multipartFields.filter(r=>r.isFile).map(r=>r.key);return{data:t,files:n}}function Or(e,t="",n="//"){return e.encoding==="multipart"?`${t}${n} NOTE: this endpoint expects multipart/form-data (binary source image) — see the cURL or Python sample.
`:""}function tv(e){const t=he(e.bodyObj,"    ").trim();return`using System.Net.Http;
using System.Text;

${Or(e)}// Synchronous image generation: POST ${e.submitPath} (blocking; returns the unified task
// object, results in output[] — each item carries b64_json or content_url. Downloading a
// content_url needs the same Bearer token and the link expires in about 30 minutes.)
var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer " + ${ae.csharp});

var json = """
${t}
""";

var content = new StringContent(json, Encoding.UTF8, "application/json");
var response = await client.PostAsync("${e.baseUrl}${e.submitPath}", content);
var result = await response.Content.ReadAsStringAsync();

Console.WriteLine(result);`}function nv(e){const t=he(e.bodyObj,"    ").trim(),n=(e.pollPath||`${ct}/{id}`).replace(/\{(id|video_id|task_id)\}/g,"{videoId}");return`using System.Net.Http;
using System.Text;
using System.Text.Json;

// Async video generation: Step 1 submit, Step 2 poll
var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer " + ${ae.csharp});
var baseUrl = "${e.baseUrl}";

// Step 1: submit the generation task
var json = """
${t}
""";
var content = new StringContent(json, Encoding.UTF8, "application/json");
var submitResp = await client.PostAsync($"{baseUrl}${e.submitPath}", content);
var submitBody = await submitResp.Content.ReadAsStringAsync();
var submitDoc = JsonDocument.Parse(submitBody);
var videoId = submitDoc.RootElement.GetProperty("id").GetString();
Console.WriteLine($"Submitted, videoId: {videoId}");

// Step 2: poll until a terminal status (completed / failed / cancelled)
while (true) {
    await Task.Delay(5000);
    var pollResp = await client.GetAsync($"{baseUrl}${n}");
    var pollBody = await pollResp.Content.ReadAsStringAsync();
    var doc = JsonDocument.Parse(pollBody);
    var status = doc.RootElement.GetProperty("status").GetString();
    Console.WriteLine($"status: {status}");
    if (status is "completed") {
        // Result is in output[0].content_url — downloading needs the same Bearer (expires in ~30 min)
        var url = doc.RootElement.GetProperty("output")[0].GetProperty("content_url").GetString();
        Console.WriteLine("Done. Download URL (send the same Bearer): " + url);
        break;
    }
    if (status is "failed" or "cancelled") { Console.WriteLine("Task ended: " + status); break; }
}`}function rv(e){const t=`${e.baseUrl}${e.submitPath}`,n=`
# Download a content_url (same Bearer key required; expires in ~30 minutes):
# curl -H "Authorization: Bearer $${ye}" -o image.png "<content_url>"`;if(e.encoding==="multipart"){const{data:a,files:o}=To(e),l=a.map(i=>`  -F ${on(`${i.key}=${i.value}`)} \\`).join(`
`),s=o.map(i=>`  -F "${i}=@${i}.png" \\`).join(`
`);return`# Image edit (multipart/form-data): POST ${e.submitPath} — binary source image upload
curl ${t} \\
  -H "Authorization: Bearer $${ye}" \\
${l}
${s.replace(/\\\n?$/,"")}
${n.trim()}`}const r=he(e.bodyObj,"  ").trim();return`# Text-to-image (sync): POST ${e.submitPath} — blocks until done, returns a task object
# Results are in output[]; each item has b64_json or content_url.
curl ${t} \\
  -H "Content-Type: application/json" \\
  -H "Authorization: Bearer $${ye}" \\
  -d '${on(r)}'
${n}`}function av(e){const t=he(e.bodyObj,"  ").trim(),n=(e.pollPath||`${ct}/{id}`).replace(/\{(id|video_id|task_id)\}/g,"<video_id>");return`# Text-to-video (async): Step 1 submit the job, Step 2 poll, Step 3 download

# Step 1: submit the video job (returns { "id": "<video_id>", "status": "pending", ... })
curl ${e.baseUrl}${e.submitPath} \\
  -H "Content-Type: application/json" \\
  -H "Authorization: Bearer $${ye}" \\
  -d '${on(t)}'

# Step 2: poll the job status (replace <video_id> with the id from step 1)
# status: pending → in_progress → completed | failed | cancelled
# when completed, the result is in output[0].content_url
curl ${e.baseUrl}${n} \\
  -H "Authorization: Bearer $${ye}"

# Step 3: download the artifact (same Bearer key required; expires in ~30 minutes)
curl -H "Authorization: Bearer $${ye}" -o video.mp4 "<content_url>"`}function ov(e){const t=he(e.bodyObj,"		");return`package main

import (
	"bytes"
	"fmt"
	"io"
	"net/http"
	"os"
)

func main() {
${Or(e,"	")}	// Synchronous image generation: POST ${e.submitPath} (blocking; returns the unified task
	// object, results in output[] — each item carries b64_json or content_url. Downloading a
	// content_url needs the same Bearer token and the link expires in about 30 minutes.)
	payload := []byte(\`
${vt(t)}
	\`)
	req, _ := http.NewRequest("POST", "${e.baseUrl}${e.submitPath}", bytes.NewBuffer(payload))
	req.Header.Set("Content-Type", "application/json")
	req.Header.Set("Authorization", "Bearer " + ${ae.go})

	resp, err := http.DefaultClient.Do(req)
	if err != nil {
		panic(err)
	}
	defer resp.Body.Close()
	out, _ := io.ReadAll(resp.Body)
	fmt.Println(string(out))
}`}function iv(e){const t=he(e.bodyObj,"		"),n=(e.pollPath||`${ct}/{id}`).replace(/\{(id|video_id|task_id)\}/g,'"+submit.ID+"');return`package main

import (
	"bytes"
	"encoding/json"
	"fmt"
	"io"
	"net/http"
	"os"
	"time"
)

func main() {
	// Async video generation: Step 1 submit, Step 2 poll
	base := "${e.baseUrl}"
	apiKey := ${ae.go}

	// Step 1: submit the generation task
	payload := []byte(\`
${vt(t)}
	\`)
	req, _ := http.NewRequest("POST", base+"${e.submitPath}", bytes.NewBuffer(payload))
	req.Header.Set("Content-Type", "application/json")
	req.Header.Set("Authorization", "Bearer "+apiKey)

	resp, err := http.DefaultClient.Do(req)
	if err != nil {
		panic(err)
	}
	defer resp.Body.Close()

	var submit struct{ ID string \`json:"id"\` }
	json.NewDecoder(resp.Body).Decode(&submit)
	fmt.Println("Submitted, videoId:", submit.ID)

	// Step 2: poll until a terminal status (completed / failed / cancelled)
	for {
		time.Sleep(5 * time.Second)
		pollReq, _ := http.NewRequest("GET", base+"${n}", nil)
		pollReq.Header.Set("Authorization", "Bearer "+apiKey)
		pollResp, _ := http.DefaultClient.Do(pollReq)
		body, _ := io.ReadAll(pollResp.Body)
		pollResp.Body.Close()

		var result map[string]interface{}
		json.Unmarshal(body, &result)
		status, _ := result["status"].(string)
		fmt.Println("status:", status)
		if status == "completed" {
			// Result is in output[0].content_url — downloading needs the same Bearer (expires in ~30 min)
			if outs, ok := result["output"].([]interface{}); ok && len(outs) > 0 {
				if item, ok := outs[0].(map[string]interface{}); ok {
					fmt.Println("Done. Download URL (send the same Bearer):", item["content_url"])
				}
			}
			break
		}
		if status == "failed" || status == "cancelled" {
			fmt.Println("Task ended:", status, result["error"])
			break
		}
	}
}`}function sv(e){const t=he(e.bodyObj,"");return`import java.net.URI;
import java.net.http.*;

public class Main {
${Or(e,"    ")}    // Synchronous image generation: POST ${e.submitPath} (blocking; returns the unified task
    // object, results in output[] — each item carries b64_json or content_url. Downloading a
    // content_url needs the same Bearer token and the link expires in about 30 minutes.)
    public static void main(String[] args) throws Exception {
        String body = """
${Tn(t)}
        """;

        HttpRequest request = HttpRequest.newBuilder()
            .uri(URI.create("${e.baseUrl}${e.submitPath}"))
            .header("Content-Type", "application/json")
            .header("Authorization", "Bearer " + ${ae.java})
            .POST(HttpRequest.BodyPublishers.ofString(body))
            .build();

        HttpResponse<String> response = HttpClient.newHttpClient()
            .send(request, HttpResponse.BodyHandlers.ofString());

        System.out.println(response.body());
    }
}`}function lv(e){const t=he(e.bodyObj,""),n=`"${e.pollPath||`${ct}/{id}`}"`.replace(/\{(id|video_id|task_id)\}/g,'" + videoId + "').replace(/ \+ ""$/,"").replace(/^"" \+ /,"");return`import java.net.URI;
import java.net.http.*;
import java.time.Duration;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Main {
    // Minimal JSON field reader: the Java standard library has no JSON parser and this sample
    // pulls in no third-party dependency. Use Jackson/Gson in production — this regex only
    // matches top-level string values, not nested objects or numbers.
    static String field(String json, String key) {
        String q = String.valueOf('"');
        Matcher m = Pattern.compile(q + key + q + " *: *" + q + "([^" + q + "]*)" + q).matcher(json);
        // find() takes the **first** match. The submit response carries another "id" inside
        // output[], so a greedy .*"id" would grab the wrong one. Return "" when nothing matches —
        // never fall back to the whole body.
        return m.find() ? m.group(1) : "";
    }

    // Async video generation: Step 1 submit, Step 2 poll
    public static void main(String[] args) throws Exception {
        String apiKey = ${ae.java};
        String base = "${e.baseUrl}";
        HttpClient client = HttpClient.newHttpClient();

        // Step 1: submit the generation task
        String body = """
${Tn(t)}
        """;
        HttpRequest submit = HttpRequest.newBuilder()
            .uri(URI.create(base + "${e.submitPath}"))
            .header("Content-Type", "application/json")
            .header("Authorization", "Bearer " + apiKey)
            .POST(HttpRequest.BodyPublishers.ofString(body))
            .build();
        String submitBody = client.send(submit, HttpResponse.BodyHandlers.ofString()).body();
        String videoId = field(submitBody, "id");
        System.out.println("Submitted, videoId: " + videoId);

        // Step 2: poll until a terminal status (completed / failed / cancelled).
        // On completed the result is in output[0].content_url — downloading needs the same
        // Bearer token and the link expires in about 30 minutes.
        while (true) {
            Thread.sleep(5000);
            HttpRequest poll = HttpRequest.newBuilder()
                .uri(URI.create(base + ${n}))
                .header("Authorization", "Bearer " + apiKey)
                .GET()
                .build();
            String pollBody = client.send(poll, HttpResponse.BodyHandlers.ofString()).body();
            String status = field(pollBody, "status");
            System.out.println("status: " + status);
            if (status.equals("completed")) break;
            if (status.equals("failed") || status.equals("cancelled")) {
                System.out.println("Task ended: " + status);
                break;
            }
        }
    }
}`}function cv(e){const t=`${e.baseUrl}${e.submitPath}`,n=`
data = response.json()  # { id, status: "completed", output: [...], error }
# Each output item has b64_json or content_url.
# content_url downloads need the same Bearer key and expire in ~30 minutes.
for item in data.get("output", []):
    if item.get("content_url"):
        img = requests.get(item["content_url"], headers={"Authorization": "Bearer " + ${ae.python}})
        with open(f"image_{item.get('index', 0)}.png", "wb") as f:
            f.write(img.content)
        print("saved:", f.name)
    elif item.get("b64_json"):
        print("b64:", item["b64_json"][:80])`;if(e.encoding==="multipart"){const{data:a,files:o}=To(e),l=Le(Object.fromEntries(a.map(i=>[i.key,i.value])),"    "),s=o.length?o.map(i=>`    "${i}": open("${i}.png", "rb"),`).join(`
`):"";return`import os
import requests

# Image edit (multipart/form-data): POST ${e.submitPath} — binary source image upload
url = "${t}"
headers = {"Authorization": "Bearer " + ${ae.python}}  # no Content-Type: requests sets the multipart boundary
data = ${l}
files = {
${s}
}

response = requests.post(url, headers=headers, data=data, files=files)
response.raise_for_status()${n}`}const r=Le(e.bodyObj,"    ");return`import os
import requests

# Text-to-image (sync): POST ${e.submitPath} — blocks until done, returns a task object
url = "${t}"
headers = {
    "Authorization": "Bearer " + ${ae.python},
    "Content-Type": "application/json",
}
payload = ${r}

response = requests.post(url, headers=headers, json=payload)
response.raise_for_status()

data = response.json()  # { id, status: "completed", output: [...], error }
# Each output item has b64_json or content_url.
# content_url downloads need the same Bearer key and expire in ~30 minutes.
for item in data.get("output", []):
    if item.get("content_url"):
        img = requests.get(item["content_url"], headers={"Authorization": headers["Authorization"]})
        with open(f"image_{item.get('index', 0)}.png", "wb") as f:
            f.write(img.content)
        print("saved:", f.name)
    elif item.get("b64_json"):
        print("b64:", item["b64_json"][:80])`}function uv(e){const t=Le(e.bodyObj,"    "),n=e.pollPath||`${ct}/{video_id}`;return`import os
import time
import requests

# Text-to-video (async): submit a job, then poll until it finishes
BASE = "${e.baseUrl}"
headers = {
    "Authorization": "Bearer " + ${ae.python},
    "Content-Type": "application/json",
}

# Step 1: submit the video generation job (returns immediately with status "pending")
payload = ${t}
res = requests.post(f"{BASE}${e.submitPath}", headers=headers, json=payload)
res.raise_for_status()
video_id = res.json()["id"]
print(f"Job submitted, video_id: {video_id}")

# Step 2: poll the job status until a terminal state (completed / failed / cancelled)
poll_url = f"{BASE}${n.replace(/\{id\}/g,"{video_id}")}"
while True:
    poll = requests.get(poll_url, headers={"Authorization": headers["Authorization"]})
    poll.raise_for_status()
    result = poll.json()  # task object: { id, status, output: [...], error }
    status = result.get("status", "")
    print(f"Status: {status}")
    if status == "completed":
        # Step 3: download output[].content_url (Bearer required; expires in ~30 minutes)
        content_url = result["output"][0]["content_url"]
        video = requests.get(content_url, headers={"Authorization": headers["Authorization"]})
        with open("video.mp4", "wb") as f:
            f.write(video.content)
        print("saved: video.mp4")
        break
    if status in ("failed", "cancelled"):
        print(f"Job ended ({status}): {result.get('error')}")
        break
    time.sleep(5)`}function dv(e){const t=he(e.bodyObj,"");return`require "net/http"
require "uri"
require "json"

${Or(e,"","#")}# Synchronous image generation: POST ${e.submitPath} (blocking; returns the unified task object)
uri = URI("${e.baseUrl}${e.submitPath}")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::Post.new(uri)
request["Content-Type"] = "application/json"
request["Authorization"] = "Bearer ${In}"
request.body = <<~'JSON'
${t}
JSON

response = http.request(request)
data = JSON.parse(response.body)
# Results are in data["output"] — each item carries b64_json or content_url
# (downloading a content_url needs the same Bearer; the link expires in about 30 minutes)
(data["output"] || []).each do |item|
  puts item["content_url"] || (item["b64_json"] || "")[0, 80]
end`}function pv(e){const t=he(e.bodyObj,""),n=(e.pollPath||`${ct}/{id}`).replace(/\{(id|video_id|task_id)\}/g,"#{video_id}");return`require "net/http"
require "uri"
require "json"

# Async video generation: Step 1 submit, Step 2 poll until done
BASE = "${e.baseUrl}"
AUTH = "Bearer ${In}"

# Step 1: submit the generation task
uri = URI("#{BASE}${e.submitPath}")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
submit = Net::HTTP::Post.new(uri)
submit["Content-Type"] = "application/json"
submit["Authorization"] = AUTH
submit.body = <<~'JSON'
${t}
JSON
video_id = JSON.parse(http.request(submit).body)["id"]
puts "Submitted, video_id: #{video_id}"

# Step 2: poll until a terminal status (completed / failed / cancelled)
loop do
  sleep 5
  poll_uri = URI("#{BASE}${n}")
  poll = Net::HTTP::Get.new(poll_uri)
  poll["Authorization"] = AUTH
  result = JSON.parse(Net::HTTP.start(poll_uri.host, poll_uri.port, use_ssl: true) { |h| h.request(poll) }.body)
  status = result["status"]
  puts "status: #{status}"
  if status == "completed"
    # Result is in output[0]["content_url"] — downloading needs the same Bearer (expires in ~30 min)
    puts "Done. Download URL (send the same Bearer): #{result.dig("output", 0, "content_url")}"
    break
  end
  if %w[failed cancelled].include?(status)
    puts "Task ended (#{status})"
    break
  end
end`}function fv(e){const t=`${e.baseUrl}${e.submitPath}`,n=`if (!response.ok) throw new Error(\`HTTP \${response.status}\`);
const data = await response.json(); // { id, status: "completed", output: [...], error }

// Each output item has b64_json or content_url.
// content_url downloads need the same Bearer key and expire in ~30 minutes.
for (const item of data.output ?? []) {
  console.log(item.content_url ?? item.b64_json?.slice(0, 80));
}`;if(e.encoding==="multipart"){const{data:a,files:o}=To(e),l=a.map(i=>`form.append(${JSON.stringify(i.key)}, ${JSON.stringify(i.value)});`).join(`
`),s=o.map(i=>`// form.append(${JSON.stringify(i)}, ${i}File, "${i}.png");  // Blob/File from an <input> or fs`).join(`
`);return`// Image edit (multipart/form-data): POST ${e.submitPath} — binary source image upload
const form = new FormData();
${l}
${s}

const response = await fetch("${t}", {
  method: "POST",
  headers: { "Authorization": "Bearer " + ${ae.javascript} }, // no Content-Type: the browser sets the boundary
  body: form,
});

${n}`}const r=Tr(e.bodyObj,"  ");return`// Text-to-image (sync): POST ${e.submitPath} — blocks until done, returns a task object
const response = await fetch("${t}", {
  method: "POST",
  headers: {
    "Authorization": "Bearer " + ${ae.javascript},
    "Content-Type": "application/json",
  },
  body: JSON.stringify(${r}),
});

${n}`}function mv(e){const t=Tr(e.bodyObj,"    "),n=(e.pollPath||`${ct}/{id}`).replace(/\{(id|video_id|task_id)\}/g,"${videoId}");return`// Text-to-video (async): submit a job, then poll until it finishes
const BASE = "${e.baseUrl}";
const headers = {
  Authorization: "Bearer " + ${ae.javascript},
  "Content-Type": "application/json",
};

// Step 1: submit the video generation job (returns immediately with status "pending")
const submitRes = await fetch(\`\${BASE}${e.submitPath}\`, {
  method: "POST",
  headers,
  body: JSON.stringify(${t}),
});
if (!submitRes.ok) throw new Error(\`HTTP \${submitRes.status}\`);
const { id: videoId } = await submitRes.json();
console.log("Job submitted, videoId:", videoId);

// Step 2: poll the job status until a terminal state (completed / failed / cancelled)
while (true) {
  await new Promise((r) => setTimeout(r, 5000));
  const pollRes = await fetch(\`\${BASE}${n}\`, {
    headers: { Authorization: headers.Authorization },
  });
  if (!pollRes.ok) throw new Error(\`poll HTTP \${pollRes.status}\`);
  const result = await pollRes.json(); // task object: { id, status, output: [...], error }
  console.log("Status:", result.status);
  if (result.status === "completed") {
    // Step 3: download output[].content_url (Bearer required; expires in ~30 minutes)
    console.log("Done, download with Bearer:", result.output?.[0]?.content_url);
    break;
  }
  if (result.status === "failed" || result.status === "cancelled") {
    console.error("Job ended:", result.status, result.error);
    break;
  }
}`}function gv(e){const t=JSON.stringify(e.session),n=jr(e)?"flush any trailing audio (server VAD auto-segments the rest on pauses):":"finalize the segment (turn_detection is null → commit manually):";return`# Realtime transcription is a bidirectional WebSocket session — plain curl
# cannot stream it. Quick connectivity + auth check with wscat (npm i -g wscat):
wscat -c "${e.url}" \\
  -H "Authorization: Bearer ${ae.curl}"

# After it connects, paste this session.update frame to configure the session:
# ${t}
#
# Then stream audio frames (base64 PCM16 / 24kHz / mono):
#   {"type":"input_audio_buffer.append","audio":"<BASE64_PCM16_CHUNK>"}
# and ${n}
#   {"type":"input_audio_buffer.commit"}
# Transcription arrives as ...transcription.delta / ...transcription.completed events.
# For a runnable end-to-end sample, see the Python or TypeScript tab.`}var hv={go:"Go",java:"Java",csharp:"C#",ruby:"Ruby"};function Xn(e){const t=e==="ruby"?"#":"//",n=hv[e];return r=>{const a=jr(r)?'send {"type":"input_audio_buffer.commit"} to flush trailing audio (server VAD segments on pauses)':'send {"type":"input_audio_buffer.commit"} to finalize a segment';return`${t} Realtime transcription runs over a WebSocket session (not HTTP request/response).
${t} A polished ${n} sample is on the way — any WebSocket client works today:
${t}   URL:    ${r.url}
${t}   Header: Authorization: Bearer <${ye} from your environment>
${t}   1) send a session.update frame (copy it from the Python or TypeScript tab)
${t}   2) stream {"type":"input_audio_buffer.append","audio":"<base64 PCM16 / 24kHz / mono>"}
${t}   3) ${a}
${t}   4) read ...transcription.delta / ...transcription.completed events`}}function vv(e){const t=Le(e.session,"        "),n=jr(e),r=n?"first frame; server VAD auto-segments speech as you stream":"first frame; turn_detection is null, so you finalize segments with commit",a=n?"Server VAD segments on pauses; flush any trailing audio at end of stream":"No VAD: commit to finalize the segment",o=n?`        # 3) Receive events: deltas stream live; each pause finalizes a segment (server VAD)
        async for msg in ws:
            evt = json.loads(msg)
            etype = evt.get("type", "")
            if etype.endswith("transcription.delta"):
                print(evt.get("delta", ""), end="", flush=True)
            elif etype.endswith("transcription.completed"):
                print("\\n[segment]", evt.get("transcript", ""))
                if flushed.is_set():  # last segment after the final flush → done
                    break
            elif etype == "error":
                print("\\n[error]", evt.get("error"))
                break`:`        # 3) Receive transcription events
        async for msg in ws:
            evt = json.loads(msg)
            etype = evt.get("type", "")
            if etype.endswith("transcription.delta"):
                print(evt.get("delta", ""), end="", flush=True)
            elif etype.endswith("transcription.completed"):
                print("\\n[done]", evt.get("transcript", ""))
                break
            elif etype == "error":
                print("\\n[error]", evt.get("error"))
                break`,l=n?`
        flushed = asyncio.Event()  # set once the whole stream is sent + flushed
`:"",s=n?`
            flushed.set()`:"";return`# pip install websockets
import asyncio
import base64
import json
import os
import websockets

# Realtime transcription is a WebSocket session: model must be in the handshake URL.
URL = "${e.url}"

async def main():
    # websockets >= 13 uses additional_headers; older versions use extra_headers
    async with websockets.connect(
        URL, additional_headers={"Authorization": "Bearer " + ${ae.python}}
    ) as ws:
        # 1) Configure the transcription session (${r})
        await ws.send(json.dumps(${t}))
${l}
        # 2) Stream raw PCM16 / ${tt/1e3}kHz / mono audio in ~${De}ms chunks
        async def send_audio():
            with open("audio_pcm16_24k.raw", "rb") as f:
                pcm = f.read()
            chunk = ${tt} * 2 * ${De} // 1000  # ${De}ms of 16-bit mono samples
            for i in range(0, len(pcm), chunk):
                await ws.send(json.dumps({
                    "type": "input_audio_buffer.append",
                    "audio": base64.b64encode(pcm[i:i + chunk]).decode(),
                }))
                await asyncio.sleep(${De/1e3})  # simulate realtime pacing
            # ${a}
            await ws.send(json.dumps({"type": "input_audio_buffer.commit"}))${s}

        asyncio.create_task(send_audio())

${o}

asyncio.run(main())`}function yv(e){const t=lt(e.session,"    "),n=jr(e),r=n?"first frame; server VAD auto-segments speech as you stream":"first frame; turn_detection is null, so you finalize segments with commit",a=n?"Server VAD segments on pauses; flush any trailing audio at end of stream":"No VAD: commit to finalize the segment",o=n?`  } else if (type.endsWith("transcription.completed")) {
    console.log("\\n[segment]", evt.transcript);
    if (flushed) ws.close(); // last segment after the final flush → done
  } else if (type === "error") {`:`  } else if (type.endsWith("transcription.completed")) {
    console.log("\\n[done]", evt.transcript);
    ws.close();
  } else if (type === "error") {`,l=n?`
let flushed = false; // set once the whole stream is sent + flushed
`:"",s=n?`
  flushed = true;`:"";return`// npm install ws
import WebSocket from "ws";
import { readFile } from "node:fs/promises";

// Realtime transcription is a WebSocket session: model must be in the handshake URL.
const url = "${e.url}";
const ws = new WebSocket(url, {
  headers: { Authorization: "Bearer " + ${ae.javascript} },
});
${l}
ws.on("open", async () => {
  // 1) Configure the transcription session (${r})
  ws.send(JSON.stringify(${t}));

  // 2) Stream raw PCM16 / ${tt/1e3}kHz / mono audio in ~${De}ms chunks
  const pcm = await readFile("audio_pcm16_24k.raw");
  const chunk = (${tt} * 2 * ${De}) / 1000; // ${De}ms of 16-bit mono samples
  for (let i = 0; i < pcm.length; i += chunk) {
    ws.send(JSON.stringify({
      type: "input_audio_buffer.append",
      audio: pcm.subarray(i, i + chunk).toString("base64"),
    }));
    await new Promise((r) => setTimeout(r, ${De})); // simulate realtime pacing
  }
  // ${a}
  ws.send(JSON.stringify({ type: "input_audio_buffer.commit" }));${s}
});

ws.on("message", (data) => {
  const evt = JSON.parse(String(data));
  const type = evt.type ?? "";
  if (type.endsWith("transcription.delta")) {
    process.stdout.write(evt.delta ?? "");
${o}
    console.error("\\n[error]", evt.error);
    ws.close();
  }
});`}var sn=tt/1e3;function bv(e){const t=Le(e.session,"        ");return`# pip install websockets
import asyncio
import base64
import json
import os
import websockets

# Realtime conversation is a WebSocket session: model must be in the handshake URL.
URL = "${e.url}"

async def main():
    # websockets >= 13 uses additional_headers; older versions use extra_headers
    async with websockets.connect(
        URL, additional_headers={"Authorization": "Bearer " + ${ae.python}}
    ) as ws:
        # 1) Configure the speech-to-speech session (voice + server VAD; no input transcription)
        await ws.send(json.dumps(${t}))

        # 2) Stream your mic as raw PCM16 / ${sn}kHz / mono in ~${De}ms chunks. Server VAD
        #    detects when you stop talking and starts the reply automatically —
        #    no commit / response.create needed.
        async def send_audio():
            with open("audio_pcm16_24k.raw", "rb") as f:
                pcm = f.read()
            chunk = ${tt} * 2 * ${De} // 1000  # ${De}ms of 16-bit mono samples
            for i in range(0, len(pcm), chunk):
                await ws.send(json.dumps({
                    "type": "input_audio_buffer.append",
                    "audio": base64.b64encode(pcm[i:i + chunk]).decode(),
                }))
                await asyncio.sleep(${De/1e3})  # simulate realtime pacing

        asyncio.create_task(send_audio())

        # 3) Receive the reply: audio streams as base64 PCM16 (${sn}kHz) — write it to a file you
        #    can play; the transcript of what the model says arrives as text deltas.
        reply = open("assistant_reply_pcm16_24k.raw", "wb")
        async for msg in ws:
            evt = json.loads(msg)
            etype = evt.get("type", "")
            if etype == "input_audio_buffer.speech_started":
                # Barge-in: you started talking — stop/flush local playback here
                print("\\n[listening…]")
            elif etype.endswith("audio_transcript.delta"):
                print(evt.get("delta", ""), end="", flush=True)
            elif etype.endswith("audio.delta"):
                reply.write(base64.b64decode(evt.get("delta", "")))
            elif etype.endswith("response.done"):
                print("\\n[reply complete]")
            elif etype == "error":
                print("\\n[error]", evt.get("error"))
                break
        reply.close()

asyncio.run(main())`}function xv(e){const t=lt(e.session,"    ");return`// npm install ws
import WebSocket from "ws";
import { readFile, open } from "node:fs/promises";

// Realtime conversation is a WebSocket session: model must be in the handshake URL.
const url = "${e.url}";
const ws = new WebSocket(url, {
  headers: { Authorization: "Bearer " + ${ae.javascript} },
});

// Assistant reply audio (base64 PCM16 / ${sn}kHz) is appended here — play it back to hear the model.
const reply = await open("assistant_reply_pcm16_24k.raw", "w");

ws.on("open", async () => {
  // 1) Configure the speech-to-speech session (voice + server VAD; no input transcription)
  ws.send(JSON.stringify(${t}));

  // 2) Stream your mic as raw PCM16 / ${sn}kHz / mono in ~${De}ms chunks. Server VAD
  //    detects when you stop talking and starts the reply automatically — no commit needed.
  const pcm = await readFile("audio_pcm16_24k.raw");
  const chunk = (${tt} * 2 * ${De}) / 1000; // ${De}ms of 16-bit mono samples
  for (let i = 0; i < pcm.length; i += chunk) {
    ws.send(JSON.stringify({
      type: "input_audio_buffer.append",
      audio: pcm.subarray(i, i + chunk).toString("base64"),
    }));
    await new Promise((r) => setTimeout(r, ${De})); // simulate realtime pacing
  }
});

ws.on("message", async (data) => {
  const evt = JSON.parse(String(data));
  const type = evt.type ?? "";
  if (type === "input_audio_buffer.speech_started") {
    // Barge-in: you started talking — stop/flush local playback here
    process.stdout.write("\\n[listening…]\\n");
  } else if (type.endsWith("audio_transcript.delta")) {
    process.stdout.write(evt.delta ?? "");
  } else if (type.endsWith("audio.delta")) {
    await reply.write(Buffer.from(evt.delta ?? "", "base64"));
  } else if (type.endsWith("response.done")) {
    process.stdout.write("\\n[reply complete]\\n");
  } else if (type === "error") {
    console.error("\\n[error]", evt.error);
    ws.close();
  }
});`}function wv(e){const t=JSON.stringify(e.session);return`# Realtime conversation is a bidirectional WebSocket session — plain curl
# cannot stream it. Quick connectivity + auth check with wscat (npm i -g wscat):
wscat -c "${e.url}" \\
  -H "Authorization: Bearer ${ae.curl}"

# After it connects, paste this session.update frame (voice + server VAD, no input transcription):
# ${t}
#
# Then stream your mic as audio frames (base64 PCM16 / ${sn}kHz / mono):
#   {"type":"input_audio_buffer.append","audio":"<BASE64_PCM16_CHUNK>"}
# Server VAD starts the reply automatically when you pause — no commit / response.create needed.
# The reply arrives as response.audio.delta (base64 PCM16 audio to play) and
# response.audio_transcript.delta (the model's words as text); response.done ends a turn.
# For a runnable end-to-end sample, see the Python or TypeScript tab.`}var Sv={go:"Go",java:"Java",csharp:"C#",ruby:"Ruby"};function Yn(e){const t=e==="ruby"?"#":"//",n=Sv[e];return r=>`${t} Realtime conversation runs over a WebSocket session (not HTTP request/response).
${t} A polished ${n} sample is on the way — any WebSocket client works today:
${t}   URL:    ${r.url}
${t}   Header: Authorization: Bearer <${ye} from your environment>
${t}   1) send a session.update frame (copy it from the Python or TypeScript tab)
${t}   2) stream your mic {"type":"input_audio_buffer.append","audio":"<base64 PCM16 / ${sn}kHz / mono>"}
${t}   3) server VAD starts the reply on a pause — no commit / response.create needed
${t}   4) play response.audio.delta (base64 PCM16 audio) and read response.audio_transcript.delta (text)`}var _v=[`Structured decision: POST ${nc} — every question is evaluated in parallel and in`,"isolation against the same state, and comes back typed. No text generation, nothing to parse.","The answers{} map is keyed by your own question names; each answer holds its value under a","key named after its type:",'  noul   -> { type, noul }                                      probability of "yes", 0..1',"  choice -> { type, choice, probabilities, confidence }          choice is one of your criteria keys","  score  -> { type, score, legend, probabilities, confidence }   legend maps level index -> description","usage carries input_tokens / output_tokens."];function Lt(e="//",t=""){return _v.map(n=>`${t}${e} ${n}`).join(`
`)}function kv(e){const t=he(e.bodyObj,"    ").trim();return`using System.Net.Http;
using System.Text;

${Lt("//")}
var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer " + ${ae.csharp});

var json = """
${t}
""";

var content = new StringContent(json, Encoding.UTF8, "application/json");
var response = await client.PostAsync("${e.baseUrl}${e.path}", content);
var result = await response.Content.ReadAsStringAsync();

Console.WriteLine(result);`}function Cv(e){const t=he(e.bodyObj,"  ").trim();return`${Lt("#")}
curl ${e.baseUrl}${e.path} \\
  -H "Content-Type: application/json" \\
  -H "Authorization: Bearer $${ye}" \\
  -d '${on(t)}'`}function $v(e){const t=he(e.bodyObj,"		");return`package main

import (
	"bytes"
	"fmt"
	"io"
	"net/http"
	"os"
)

func main() {
${Lt("//","	")}
	payload := []byte(\`
${vt(t)}
	\`)
	req, _ := http.NewRequest("POST", "${e.baseUrl}${e.path}", bytes.NewBuffer(payload))
	req.Header.Set("Content-Type", "application/json")
	req.Header.Set("Authorization", "Bearer " + ${ae.go})

	resp, err := http.DefaultClient.Do(req)
	if err != nil {
		panic(err)
	}
	defer resp.Body.Close()
	out, _ := io.ReadAll(resp.Body)
	fmt.Println(string(out))
}`}function Av(e){const t=he(e.bodyObj,"");return`import java.net.URI;
import java.net.http.*;

public class Main {
${Lt("//","    ")}
    public static void main(String[] args) throws Exception {
        String body = """
${Tn(t)}
        """;

        HttpRequest request = HttpRequest.newBuilder()
            .uri(URI.create("${e.baseUrl}${e.path}"))
            .header("Content-Type", "application/json")
            .header("Authorization", "Bearer " + ${ae.java})
            .POST(HttpRequest.BodyPublishers.ofString(body))
            .build();

        HttpResponse<String> response = HttpClient.newHttpClient()
            .send(request, HttpResponse.BodyHandlers.ofString());

        System.out.println(response.body());
    }
}`}function Iv(e){const t=Le(e.bodyObj,"    ");return`import os
import requests

${Lt("#")}
url = "${e.baseUrl}${e.path}"
headers = {
    "Authorization": "Bearer " + ${ae.python},
    "Content-Type": "application/json",
}
payload = ${t}

response = requests.post(url, headers=headers, json=payload)
response.raise_for_status()

data = response.json()
for name, answer in data["answers"].items():
    kind = answer["type"]
    print(name, kind, answer[kind], answer.get("confidence"))
print("usage:", data.get("usage"))`}function jv(e){const t=he(e.bodyObj,"");return`require "net/http"
require "uri"
require "json"

${Lt("#")}
uri = URI("${e.baseUrl}${e.path}")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::Post.new(uri)
request["Content-Type"] = "application/json"
request["Authorization"] = "Bearer ${In}"
request.body = <<~'JSON'
${t}
JSON

data = JSON.parse(http.request(request).body)
(data["answers"] || {}).each do |name, answer|
  kind = answer["type"]
  puts [name, kind, answer[kind], answer["confidence"]].inspect
end
puts "usage: #{data['usage']}"`}function Tv(e){const t=Tr(e.bodyObj,"  ");return`${Lt("//")}
const response = await fetch("${e.baseUrl}${e.path}", {
  method: "POST",
  headers: {
    "Authorization": "Bearer " + ${ae.javascript},
    "Content-Type": "application/json",
  },
  body: JSON.stringify(${t}),
});
if (!response.ok) throw new Error(\`HTTP \${response.status}\`);

const data = await response.json();
for (const [name, answer] of Object.entries(data.answers ?? {})) {
  console.log(name, answer.type, answer[answer.type], answer.confidence);
}
console.log("usage:", data.usage);`}var Ev=[`OpenAI Decisions: POST ${rc} — ordered questions about one shared input.`,"Answers come back in question order, each echoing its question name (null if unnamed).","No text to parse and no streaming. Each answer is typed:","  predicate -> probability                        chance the statement is true, 0..1","  choice    -> choice, probabilities, confidence  choice is one of the values you supplied","  score     -> score, probabilities, confidence   probability-weighted level index, from 0","  refusal   -> (name only)                        the question was declined","Images: pass input as a user message with an input_image part (base64 data: URL)."];function Mt(e="//",t=""){return Ev.map(n=>`${t}${e} ${n}`).join(`
`)}function Dv(e){const t=he(e.bodyObj,"    ").trim();return`using System.Net.Http;
using System.Text;

${Mt("//")}
var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer " + ${ae.csharp});

var json = """
${t}
""";

var content = new StringContent(json, Encoding.UTF8, "application/json");
var response = await client.PostAsync("${e.baseUrl}${e.path}", content);
var result = await response.Content.ReadAsStringAsync();

Console.WriteLine(result);`}function Ov(e){const t=he(e.bodyObj,"  ").trim();return`${Mt("#")}
curl ${e.baseUrl}${e.path} \\
  -H "Content-Type: application/json" \\
  -H "Authorization: Bearer $${ye}" \\
  -d '${on(t)}'`}function Rv(e){const t=he(e.bodyObj,"		");return`package main

import (
	"bytes"
	"fmt"
	"io"
	"net/http"
	"os"
)

func main() {
${Mt("//","	")}
	payload := []byte(\`
${vt(t)}
	\`)
	req, _ := http.NewRequest("POST", "${e.baseUrl}${e.path}", bytes.NewBuffer(payload))
	req.Header.Set("Content-Type", "application/json")
	req.Header.Set("Authorization", "Bearer " + ${ae.go})

	resp, err := http.DefaultClient.Do(req)
	if err != nil {
		panic(err)
	}
	defer resp.Body.Close()
	out, _ := io.ReadAll(resp.Body)
	fmt.Println(string(out))
}`}function Pv(e){const t=he(e.bodyObj,"");return`import java.net.URI;
import java.net.http.*;

public class Main {
${Mt("//","    ")}
    public static void main(String[] args) throws Exception {
        String body = """
${Tn(t)}
        """;

        HttpRequest request = HttpRequest.newBuilder()
            .uri(URI.create("${e.baseUrl}${e.path}"))
            .header("Content-Type", "application/json")
            .header("Authorization", "Bearer " + ${ae.java})
            .POST(HttpRequest.BodyPublishers.ofString(body))
            .build();

        HttpResponse<String> response = HttpClient.newHttpClient()
            .send(request, HttpResponse.BodyHandlers.ofString());

        System.out.println(response.body());
    }
}`}function Nv(e){const t=ac.python,n=Object.entries(e.bodyObj).map(([r,a])=>`    ${r}=${Le(a,"    ")},`).join(`
`);return`# Needs an SDK version with client.decisions: ${t.install}
import os
${t.imports.join(`
`)}

${Mt("#")}
client = ${t.clientCtor}(
    api_key=${ae.python},
    base_url="${e.baseUrl}${t.baseSuffix}",
)

decision = ${t.call}(
${n}
)

for answer in decision.answers:  # same order as questions
    if answer.type == "predicate":
        print(answer.name, "probability:", answer.probability)
    elif answer.type == "choice":
        print(answer.name, "choice:", answer.choice, "confidence:", answer.confidence)
    elif answer.type == "score":
        print(answer.name, "score:", answer.score, "confidence:", answer.confidence)
    else:  # refusal
        print(answer.name, "refused")
print("input_tokens:", decision.usage.input_tokens)`}function Fv(e){const t=he(e.bodyObj,"");return`require "net/http"
require "uri"
require "json"

${Mt("#")}
uri = URI("${e.baseUrl}${e.path}")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"

request = Net::HTTP::Post.new(uri)
request["Content-Type"] = "application/json"
request["Authorization"] = "Bearer ${In}"
request.body = <<~'JSON'
${t}
JSON

response = http.request(request)
abort "HTTP #{response.code}: #{response.body}" unless response.is_a?(Net::HTTPSuccess)

data = JSON.parse(response.body)
data["answers"].each do |answer| # same order as questions
  case answer["type"]
  when "predicate" then puts [answer["name"], "probability:", answer["probability"]].join(" ")
  when "choice" then puts [answer["name"], "choice:", answer["choice"], "confidence:", answer["confidence"]].join(" ")
  when "score" then puts [answer["name"], "score:", answer["score"], "confidence:", answer["confidence"]].join(" ")
  else puts [answer["name"], "refused"].join(" ") # refusal
  end
end
puts "input_tokens: #{data["usage"]["input_tokens"]}"`}function Lv(e){const t=ac.javascript;return`// Needs an SDK version with client.decisions: ${t.install}
${t.imports.join(`
`)}

${Mt("//")}
const client = ${t.clientCtor}({
  apiKey: ${ae.javascript},
  baseURL: "${e.baseUrl}${t.baseSuffix}",
});

const decision = await ${t.call}(${lt(e.bodyObj,"")});

for (const answer of decision.answers) { // same order as questions
  if (answer.type === "predicate") {
    console.log(answer.name, "probability:", answer.probability);
  } else if (answer.type === "choice") {
    console.log(answer.name, "choice:", answer.choice, "confidence:", answer.confidence);
  } else if (answer.type === "score") {
    console.log(answer.name, "score:", answer.score, "confidence:", answer.confidence);
  } else { // refusal
    console.log(answer.name, "refused");
  }
}
console.log("input_tokens:", decision.usage.input_tokens);`}var Ee=e=>(t,n)=>e(n),Mv={python:{chat:Ee(zh),messages:Ee(Bh),responses:Ee(zs),gemini:Ee(Hh),default:Ee(zs)},javascript:{chat:Ee(Wh),messages:Ee(Kh),responses:Ee(Hs),gemini:Ee(Jh),default:Ee(Hs)},ruby:{chat:Ee(Uh),messages:Ee(Gh),responses:Ee(Bs),gemini:Ee(Vh),default:Ee(Bs)},go:{chat:Ee(Fh),default:Lh},java:{default:Mh},csharp:{default:Ih},curl:{default:ic}},Us={python:vv,javascript:yv,curl:gv,go:Xn("go"),java:Xn("java"),csharp:Xn("csharp"),ruby:Xn("ruby")},Gs={python:bv,javascript:xv,curl:wv,go:Yn("go"),java:Yn("java"),csharp:Yn("csharp"),ruby:Yn("ruby")},Vs={python:Iv,javascript:Tv,go:$v,java:Av,csharp:kv,ruby:jv,curl:Cv},Ws={python:Nv,javascript:Lv,go:Rv,java:Pv,csharp:Dv,ruby:Fv,curl:Ov},qv={image:{python:cv,javascript:fv,go:ov,java:sv,csharp:tv,ruby:dv,curl:rv},video:{python:uv,javascript:mv,go:iv,java:lv,csharp:nv,ruby:pv,curl:av}};function zv(e,t,n){const r=Mv[t];return r?(r[e]??r.default)(e,n):e==="gemini"?ic(e,n):""}function Bv(e){const{modality:t,lang:n}=e,r=e.prompt.trim()||Zg,a=Xh(e.params),o=ev(e,r,a),l=qv[t];return(l[n]??l.curl)(o)}function Hv(e){if(e.kind==="conversation"){const n={kind:"conversation",url:Ms(e.baseUrl,e.modelId,"conversation"),session:vh(e)};return(Gs[e.lang]??Gs.curl)(n)}const t={kind:"transcription",url:Ms(e.baseUrl,e.modelId),session:hh(e)};return(Us[e.lang]??Us.curl)(t)}function Uv(e){const t=Sh(e);return(Vs[e.lang]??Vs.curl)(t)}function Gv(e){const t=Ah(e);return(Ws[e.lang]??Ws.curl)(t)}var Vv={"tested-effective":{selectable:!0,level:"ok",note:null,inCodeComment:!1,text:"Verified effective on this gateway."},"accepted-unverified":{selectable:!0,level:"unverified",note:"info",inCodeComment:!1,text:"Accepted by the upstream API, but no observable effect has been confirmed yet."},unverified:{selectable:!0,level:"unverified",note:"info",inCodeComment:!1,text:"Not verified yet on this gateway."},"silent-degrade":{selectable:!0,level:"degraded",note:"warn",inCodeComment:!0,text:"Silently ignored by the upstream API: the request succeeds but this field has no effect."},"rejected-or-unsupported":{selectable:!1,level:"unsupported",note:"warn",inCodeComment:!1,text:"Rejected or unsupported on this protocol."},"not-applicable":{selectable:!1,level:"unsupported",note:"info",inCodeComment:!1,text:"Not applicable to this protocol."},"do-not-send":{selectable:!1,level:"unsupported",note:"warn",inCodeComment:!1,text:"Known to break the request on this protocol — do not send."},"official-model-level":{selectable:!0,level:"unverified",note:"info",inCodeComment:!1,text:"Documented by the vendor as supported at the model level; gateway behavior not separately verified."},"spec-only":{selectable:!0,level:"unverified",note:"info",inCodeComment:!1,text:"Present in the vendor API spec, but not confirmed for this specific model."}},Wv={selectable:!0,level:"unverified",note:"info",inCodeComment:!1,text:"Unrecognized verdict from the caller — treated as unverified."},Kv={selectable:!1,level:"unsupported",note:null,inCodeComment:!1,text:"No capability record for this model/protocol."};function Jv(e){return e?Vv[e]??Wv:Kv}var Zv={chat:"openai.chat_completions",responses:"openai.responses",messages:"anthropic.messages",gemini:"google.gemini"},mc=Object.fromEntries(Object.entries(Zv).map(([e,t])=>[t,e])),Xv={decision:"typesafe.systemone","openai-decision":"openai.decisions"},gc=Object.fromEntries(Object.entries(Xv).map(([e,t])=>[t,e]));JSON.stringify({type:"object",properties:{city:{type:"string",description:"City name"}},required:["city"]}),JSON.stringify({type:"object",properties:{answer:{type:"string"}},required:["answer"],additionalProperties:!1});function Yv(e){return/[[\]=]/.test(e)}function hc(e,t){return t==="official"?e.official:e.aihubmix}function Qv(e,t){return e?.models?.find(n=>n.id===t)??null}function ey(e,t={}){return vc(e,mc,t).map(([n,r])=>({proto:n,...r}))}function ty(e,t={}){return vc(e,gc,t).map(([n,r])=>({face:n,...r}))}function vc(e,t,n){const r=new Map;for(const a of e?.domains??[])for(const o of a.capabilities??[])for(const l of o.protocols??[]){const s=l.protocol;if(!s)continue;const i=t[s];if(!i)continue;let c=r.get(i);c||(c={canonProtocol:s,capabilityCount:0,fieldCount:0,basicGeneration:null},r.set(i,c)),c.capabilityCount++,c.fieldCount+=yc(l,o.key??"",n).length,o.key==="basic-generation"&&(c.basicGeneration=hc(l,n.axis??"aihubmix")?.verdict??null)}return[...r.entries()]}function yc(e,t,n){const r=n.axis??"aihubmix",a=hc(e,r),o=r==="aihubmix"&&a===void 0,l=a?.verdict??(o?"unverified":null),s=Jv(l),i=[];for(const c of e.fields??[]){if(!c?.name||Yv(c.name)||c.location&&c.location!=="body")continue;let p=s.selectable,u=s.level,m=s.note?"verdict":"ok";c.status==="deprecated"&&(p=!1,u="unsupported",m="deprecated"),c.override?.status==="do-not-send"&&(p=!1,u="unsupported",m="override-do-not-send"),i.push({path:c.name,type:c.type,description:c.description,enum:c.override?.status==="model-specific-enum"&&c.override.enum?c.override.enum:c.enum,default:c.override?.status==="model-specific-default"?c.override.value:c.default,range:c.range,cap:t,selectable:p,level:u,reason:m,verdict:l,official:e.official,fieldOfficial:c.official,override:c.override,subfieldOverrides:c.subfield_overrides})}return i}function ny(e,t,n={}){const r=new Map,a=[];for(const o of e?.domains??[])for(const l of o.capabilities??[])for(const s of l.protocols??[])if(!(!s.protocol||(mc[s.protocol]??gc[s.protocol])!==t))for(const c of yc(s,l.key??"",n)){const p=r.get(c.path);p===void 0?(r.set(c.path,a.length),a.push(c)):c.selectable&&!a[p].selectable&&(a[p]=c)}return a}const Et=[{key:"python",lang:"python",label:"Python",prism:"python"},{key:"typescript",lang:"javascript",label:"TypeScript",prism:"typescript"},{key:"go",lang:"go",label:"Go",prism:"go"},{key:"java",lang:"java",label:"Java",prism:"java"},{key:"csharp",lang:"csharp",label:"C#",prism:"csharp"},{key:"ruby",lang:"ruby",label:"Ruby",prism:"ruby"},{key:"curl",lang:"curl",label:"cURL",prism:"bash"}],ry=Jl.reduce((e,t)=>({...e,[t.id]:t.label}),{}),Ks=Jl.map(e=>e.id),ay=1024,oy="Hello, how are you?",iy=new Set(["embedding","reranking","t2i","t2v","3d","decision"]),sy=new Set(["ocr","tts","stt"]);function ly(e){const t=String(e||"").split(",").map(n=>n.trim()).filter(Boolean);return t.some(n=>iy.has(n))?!1:!t.length||t.includes("t2t")?!0:!t.some(n=>sy.has(n))}function cy(e){const t=String(e||"").split(",").map(n=>n.trim()).filter(Boolean);return t.includes("t2v")?"video":t.includes("t2i")?"image":null}const uy={image:"Image",video:"Video"},Js={"gpt-live-transcribe":"transcription","gpt-realtime-2.1":"conversation"};function dy({model:e,types:t}){return e&&Js[e]?Js[e]:String(t||"").split(",").map(r=>r.trim()).filter(Boolean).includes("realtime")?"conversation":null}const py="Realtime";function fy(e){return String(e||"").split(",").map(t=>t.trim()).includes("decision")}const my="Decision",qa={"openai-decision":{label:"Decisions",generate:({baseUrl:e,modelId:t,lang:n})=>Gv({baseUrl:e,modelId:t,lang:n})}};function gy({model:e,endpoints:t,baseUrl:n,canonDoc:r,types:a,mediaModality:o,realtimeKind:l,isDecision:s}){if(!e||!n)return null;if(l){const v={};for(const{key:w,lang:y}of Et)try{v[w]=Hv({kind:l,baseUrl:n,modelId:e,lang:y})}catch(h){console.error(`[modelCodeExamples] realtime/${l}/${y} 生成失败:`,h),v[w]=""}return{source:"realtime",protos:[{value:"realtime",label:py}],byProto:{realtime:v}}}if(o){const v={};for(const{key:w,lang:y}of Et)try{v[w]=Bv({baseUrl:n,modality:o,modelId:e,prompt:"",params:{},lang:y})}catch(h){console.error(`[modelCodeExamples] media/${o}/${y} 生成失败:`,h),v[w]=""}return{source:"media",protos:[{value:o,label:uy[o]}],byProto:{[o]:v}}}if(s){const v={};for(const{key:w,lang:y}of Et)try{v[w]=Uv({baseUrl:n,modelId:e,lang:y})}catch(h){console.error(`[modelCodeExamples] decision/${y} 生成失败:`,h),v[w]=""}return{source:"decision",protos:[{value:"decision",label:my}],byProto:{decision:v}}}const i=ey(r).filter(v=>v.proto!=="gemini"||r?.vendor==="google").map(v=>v.proto).sort((v,w)=>Ks.indexOf(v)-Ks.indexOf(w)),c=ty(r).map(v=>v.face).filter(v=>qa[v]),p=i.length>0||c.length>0,u=p?[]:Yg(t);let m="canon",d=i;if(p||(m="endpoints",d=u),!p&&!d.length&&(m="default",d=ly(a)?["chat"]:[]),!d.length&&!c.length)return null;const b={baseUrl:n,model:{id:e},sys:"",user:oy,p:{max_tokens:ay,temperature:1,top_p:1},paramKeys:[],stream:!1},g={};for(const v of d){const w={};for(const{key:y,lang:h}of Et)try{w[y]=zv(v,h,b)}catch(C){console.error(`[modelCodeExamples] ${v}/${h} 生成失败:`,C),w[y]=""}g[v]=w}for(const v of c){const w={};for(const{key:y,lang:h}of Et)try{w[y]=qa[v].generate({baseUrl:n,modelId:e,lang:h})}catch(C){console.error(`[modelCodeExamples] ${v}/${h} 生成失败:`,C),w[y]=""}g[v]=w}return{source:m,protos:[...d.map(v=>({value:v,label:ry[v]||v})),...c.map(v=>({value:v,label:qa[v].label}))],byProto:g}}const hy=Et.map(({key:e,label:t})=>({label:t,value:e})),vy=Et.reduce((e,{key:t,prism:n})=>({...e,[t]:n}),{}),Zs="/api/v1/models?schema_checked=true&sort_by=order";let Qn=null;function yy(e){const t=String(e||"").split(",").map(n=>n.trim()).filter(Boolean);return t.includes("video")?"video":t.includes("image_generation")?"image":null}function by(){return Qn||(Qn=fetch(Zs,{headers:{Accept:"application/json"}}).then(e=>{if(!e.ok)throw new Error(`${Zs} → HTTP ${e.status}`);return e.json()}).then(e=>{const t=new Map;for(const n of e?.data||[])n?.model_id&&t.set(n.model_id,yy(n.types));return t}).catch(e=>(console.warn("[playgroundMedia] media catalog fetch failed, treating as unavailable:",e&&e.message),Qn=null,null))),Qn}const bc="/model-data";let er=null;const tr=new Map;async function xc(e){const t=await fetch(e,{headers:{Accept:"application/json"}});if(!t.ok)throw new Error(`${e} → HTTP ${t.status}`);return t.json()}function xy(){return er||(er=xc(`${bc}/index.json`).catch(e=>(console.warn("[canon] index 拉取失败,按未覆盖处理:",e&&e.message),er=null,null))),er}function wy(e){if(!e)return Promise.resolve(null);if(!tr.has(e)){const t=(async()=>{const n=await xy();if(!n)return null;const r=Qv(n,e);return!r||!r.path?null:xc(`${bc}/${r.path}`)})().catch(n=>(console.warn(`[canon] ${e} 记录拉取失败,按未覆盖处理:`,n&&n.message),null)).then(n=>(n||tr.delete(e),n));tr.set(e,t)}return tr.get(e)}function Sy(e,t){return/^zh/i.test(t||"")?e.description||e.fieldOfficial?.quote||"":e.fieldOfficial?.quote||""}function _y(e){if(Array.isArray(e.enum)&&e.enum.length)return e.enum.map(String).join(" | ");const{min:t,max:n}=e.range||{};return t!=null||n!=null?t!=null&&n!=null?`${t} ~ ${n}`:t!=null?`≥ ${t}`:`≤ ${n}`:e.default!=null?String(e.default):""}function ky(e,t,{lang:n}={}){return!e||!t?[]:ny(e,t).map(r=>({name:r.path,type:r.type||"",values:_y(r),desc:Sy(r,n),source:r.fieldOfficial?.source||r.official?.source||"",muted:!r.selectable,reason:r.reason}))}const qt={exports:{}};{let e=function(i){return i==="official-model-level"},t=function(i,c){return typeof c=="string"&&c.startsWith("zh")?i.name||i.name_en||i.key:i.name_en||i.key},n=function(i){const c=i&&i.specs;if(!c)return null;const p=u=>Array.isArray(u)?u.filter(Boolean).map(String):[];return{contextWindow:Number(c.context_window)||0,maxOutput:Number(c.max_output_tokens)||0,modalitiesIn:p(c.modalities_in),modalitiesOut:p(c.modalities_out)}},r=function(i){const c=new Set;for(const b of i&&i.domains||[])for(const g of b&&b.capabilities||[]){if(!g||!g.key)continue;(g.protocols||[]).some(w=>e(w&&w.official&&w.official.verdict))&&c.add(g.key)}const p=n(i)||{},u=new Set(p.modalitiesIn||[]),m=new Set(p.modalitiesOut||[]),d=[];for(const b of s){if(b.dedupeModality&&u.has(b.dedupeModality)||b.dedupeModalityOut&&m.has(b.dedupeModalityOut))continue;const g=b.canon.some(v=>c.has(v));!g&&b.modalityAxis||d.push({key:b.key,name:b.name,name_en:b.name_en,icon:b.icon,supported:g})}return d.some(b=>b.supported)?d:null},a=function(i){const c=n(i),p=r(i);return!c&&!p?null:{specs:c,capabilities:p}},o=function(i){return(i||[]).filter(c=>c.supported).map(c=>c.name_en)};const l=qt,s=[{key:"thinking",name:"深度思考",name_en:"Thinking",icon:"IcLightbulb",canon:["reasoning-effort","thinking-toggle","thinking-budget","reasoning-content","reasoning-summary","reasoning-mode"]},{key:"streaming",name:"流式输出",name_en:"Streaming",icon:"IcZap",canon:["streaming"]},{key:"function_calling",name:"函数调用",name_en:"Tool calling",icon:"IcFunctions",canon:["function-calling"]},{key:"web_search",name:"联网搜索",name_en:"Web search",icon:"IcGlobe",canon:["web-search"]},{key:"url_context",name:"URL 上下文",name_en:"URL context",icon:"IcScrollText",canon:["url-context"]},{key:"code_interpreter",name:"代码解释器",name_en:"Code interpreter",icon:"IcBinary",canon:["code-interpreter"]},{key:"computer_use",name:"计算机操作",name_en:"Computer use",icon:"IcPocketKnife",canon:["computer-use"]},{key:"file_search",name:"文件检索",name_en:"File search",icon:"IcSearch",canon:["file-search"]},{key:"memory_tool",name:"记忆工具",name_en:"Memory tool",icon:"IcLibraryBig",canon:["memory-tool"]},{key:"vision",name:"图像输入",name_en:"Vision",icon:"IcImage",canon:["vision"],modalityAxis:!0,dedupeModality:"image"},{key:"document_input",name:"文档输入",name_en:"Document input",icon:"IcFiles",canon:["document-input"],modalityAxis:!0,dedupeModality:"pdf"},{key:"pdf_input",name:"PDF 输入",name_en:"PDF input",icon:"IcFileType",canon:["pdf-input"],modalityAxis:!0,dedupeModality:"pdf"},{key:"audio_input",name:"音频输入",name_en:"Audio input",icon:"IcAudioLines",canon:["audio-input"],modalityAxis:!0,dedupeModality:"audio"},{key:"video_input",name:"视频输入",name_en:"Video input",icon:"IcVideo",canon:["video-input"],modalityAxis:!0,dedupeModality:"video"},{key:"audio_output",name:"音频输出",name_en:"Audio output",icon:"IcFileVolume2",canon:["audio-output"],modalityAxis:!0,dedupeModalityOut:"audio"},{key:"multimodal_output",name:"多模态输出",name_en:"Multimodal output",icon:"IcPalette",canon:["multimodal-output-generation"],modalityAxis:!0},{key:"structured_outputs",name:"结构化输出",name_en:"Structured outputs",icon:"IcCodeXml",canon:["structured-output-json"]},{key:"structured_decision",name:"结构化决策",name_en:"Structured decision",icon:"IcCircleGauge",canon:["structured-decision","decision-noul","decision-choice","decision-score"]},{key:"citations",name:"引用标注",name_en:"Citations",icon:"IcReceiptText",canon:["citations"]},{key:"caching",name:"提示缓存",name_en:"Prompt caching",icon:"IcRefreshCcw",canon:["explicit-cache","implicit-cache","session-cache"]},{key:"background_mode",name:"后台执行",name_en:"Background mode",icon:"IcTimer",canon:["background-mode"]},{key:"server_side_sessions",name:"服务端多轮",name_en:"Server-side sessions",icon:"IcForward",canon:["server-side-multi-turn"]}];l.exports={CANON_CAPABILITIES:s,canonSpecs:n,buildCapabilityList:r,buildCanonView:a,officialCapabilityNames:o,capabilityLabel:t}}qt.exports.CANON_CAPABILITIES;qt.exports.canonSpecs;qt.exports.buildCapabilityList;const Cy=qt.exports.buildCanonView;qt.exports.officialCapabilityNames;const $y=qt.exports.capabilityLabel,io=e=>{if(e===null||e===0||e===-1)return"#e5e7eb";const t=e*100;return t>=95?"#A4E522":t>=85?"#F5B627":"#F25030"},wc=e=>{if(!e)return null;const t=e.replace(" ","T")+"Z";return new Date(t)},Ay=["January","February","March","April","May","June","July","August","September","October","November","December"],Iy=e=>{if(!e)return"";const t=wc(e);if(!t||isNaN(t.getTime()))return"";const n=Ay[t.getMonth()],r=t.getDate(),a=t.getFullYear(),o=t.getHours().toString().padStart(2,"0"),l=t.getMinutes().toString().padStart(2,"0");return`${n} ${r}, ${a} ${o}:${l}`},jy=e=>{if(!e)return"";const t=wc(e);if(!t||isNaN(t.getTime()))return"";const n=new Date,r=new Date(t.getFullYear(),t.getMonth(),t.getDate()),o=new Date(n.getFullYear(),n.getMonth(),n.getDate()).getTime()-r.getTime(),l=Math.round(o/(1e3*60*60*24));return l===0?"today":l===1?"yesterday":l>1?`${l} days ago`:""},Ty=e=>{if(!e)return"";const t=e.availability!=null?(e.availability*100).toFixed(2)+"%":"N/A",n=jy(e.date);return`${t} uptime ${n}`},Ey=({uptimeData:e=[],onClick:t})=>{const n=e.slice().sort((r,a)=>new Date(r.date)-new Date(a.date));return f.jsx(Oy,{onClick:t,children:n.map((r,a)=>f.jsxs(Ry,{children:[f.jsx(Py,{$color:io(r.availability)}),f.jsx(Ny,{children:Ty(r)})]},a))})},Dy=({provider:e,expanded:t,performanceData:n,providerColor:r})=>{const[a,o]=N.useState(null),l=Xe.useMemo(()=>!n||!e.supplier_id||!e.model?null:n.map(m=>{const d=`${e.supplier_id}:${e.model}`;return{date:m.x,availability:m.y?.[d]?.uptime??null}}).sort((m,d)=>new Date(d.date)-new Date(m.date)),[n,e.supplier_id,e.model]);if(!t)return null;if(!l||l.length===0)return f.jsx(Xs,{children:f.jsx("div",{style:{textAlign:"center",padding:"16px",color:"#626773"},children:"No data available"})});const s=l.slice().reverse(),i=a!==null?s[a]:l[0],c=Iy(i?.date),p=i?.availability!=null&&i?.availability!==-1?(i.availability*100).toFixed(2)+"%":"N/A";return f.jsxs(Xs,{children:[f.jsxs(Fy,{children:[f.jsx(Ly,{children:c}),f.jsx(My,{children:p})]}),f.jsx(qy,{onMouseLeave:()=>o(null),children:s.map((u,m)=>f.jsxs(zy,{onMouseEnter:()=>o(m),children:[a===m&&f.jsx(By,{$color:io(u.availability)}),f.jsx(Hy,{$color:io(u.availability)})]},m))})]})},Oy=j.div.withConfig({componentId:"sc-18xp0lg-0"})(["display:flex;align-items:center;gap:2px;height:24px;cursor:pointer;"]),Ry=j.div.withConfig({componentId:"sc-18xp0lg-1"})(["position:relative;display:flex;align-items:center;&:hover > div:last-child{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}"]),Py=j.div.withConfig({componentId:"sc-18xp0lg-2"})(["width:4px;height:12px;border-radius:1px;background-color:",";cursor:pointer;transition:transform 0.15s ease;"],e=>e.$color||"#A4E522"),Ny=j.div.withConfig({componentId:"sc-18xp0lg-3"})(["position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(4px);padding:6px 10px;background-color:#1f2937;color:#fff;font-size:12px;white-space:nowrap;border-radius:6px;opacity:0;visibility:hidden;transition:all 0.15s ease;z-index:100;pointer-events:none;&::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:#1f2937;}"]),Xs=j.div.withConfig({componentId:"sc-18xp0lg-4"})(["border-radius:8px;margin-top:10px;"]),Fy=j.div.withConfig({componentId:"sc-18xp0lg-5"})(["display:flex;justify-content:space-between;align-items:center;"]),Ly=j.div.withConfig({componentId:"sc-18xp0lg-6"})(["font-size:12px;color:#626773;"]),My=j.div.withConfig({componentId:"sc-18xp0lg-7"})(["font-size:12px;font-weight:500;color:#626773;"]),qy=j.div.withConfig({componentId:"sc-18xp0lg-8"})(["display:flex;align-items:flex-end;gap:2px;width:100%;padding-bottom:4px;padding-top:12px;"]),zy=j.div.withConfig({componentId:"sc-18xp0lg-9"})(["position:relative;display:flex;flex-direction:column;align-items:center;flex:1;min-width:4px;"]),By=j.div.withConfig({componentId:"sc-18xp0lg-10"})(["position:absolute;top:-10px;width:6px;height:6px;border-radius:50%;background-color:",";"],e=>e.$color||"#A4E522"),Hy=j.div.withConfig({componentId:"sc-18xp0lg-11"})(["width:100%;height:12px;border-radius:1px;background-color:",";cursor:pointer;transition:transform 0.15s ease;"],e=>e.$color||"#A4E522"),Sc="not_disclosed",Ys="The numerical precision used by the provider for inference. It may affect model quality, speed, and cost.",Uy="If not disclosed, the provider does not publicly specify the inference precision.";function Gy(e){return e?e===Sc?"Not Disclosed":e.toUpperCase():""}function Vy(e){return e===Sc?`${Ys} ${Uy}`:Ys}function Wy({value:e}){return f.jsxs("span",{style:{display:"inline-flex",alignItems:"center",gap:4},children:["Precision",f.jsx(Lc,{title:Vy(e),trigger:["hover","click"],placement:"top",children:f.jsx("span",{role:"img","aria-label":"What is precision",tabIndex:0,style:{cursor:"help",fontSize:12,lineHeight:1,color:"#8a8f99"},children:"ⓘ"})})]})}an([go,ho,bo,Il,vo]);const Ky="#14B8A6",nr=["#F5B627","#EF4444","#F97316","#3B82F6","#60A5FA","#8B5CF6","#EC4899"],Jy=({modelId:e,modelName:t,providers:n=[],onDataLoad:r})=>{const{t:a}=_r(),[o,l]=N.useState(null),[s,i]=N.useState(!0),[c,p]=N.useState(null),[u,m]=N.useState(!1),[d,b]=N.useState(null),[g,v]=N.useState("avg"),[w,y]=N.useState("asc"),h=N.useRef(null),C=N.useRef(null),S=N.useRef(null),x=N.useRef(null),k=N.useRef(null),A=N.useRef(null),$=N.useRef(null),I=N.useRef(null),T={};n.forEach((E,M)=>{const D=E.id||E.supplier_id||E.supplier_model_id;D!=null&&(T[String(D)]={name:E.supplier_name||String(D),color:nr[M%nr.length]})});const R=E=>{if(!E||E.length===0)return[];const M=new Set;return E.forEach(D=>{D.y&&Object.keys(D.y).forEach(W=>M.add(W))}),Array.from(M)},L=E=>{const M=E.indexOf(":");return M>0?E.substring(0,M):E},U=E=>{const M=L(E);return M==="0"?"AIHubMix":T[M]?.name||M},B=(E,M)=>{const D=L(E);return D==="0"?Ky:T[D]?.color||nr[M%nr.length]},z=E=>L(E)==="0",K=(E,M)=>{if(!E)return null;const D=E.map(W=>({x:W.x,y:Object.fromEntries(Object.entries(W.y).map(([ie,ee])=>{let Z=ee[M];return Z===-1?[ie,null]:(M==="uptime"&&Z!=null&&(Z=Z*100),[ie,Z])}))}));return q(D)},q=E=>{if(!E||E.length===0)return E;const M=new Set;return E.forEach(D=>{D.y&&Object.keys(D.y).forEach(W=>M.add(W))}),M.forEach(D=>{let W=0;for(;W<E.length;)if(E[W].y?.[D]==null){const ie=W;let ee=0;for(;W<E.length&&E[W].y?.[D]==null;)ee++,W++;if(ee<=4&&ie>0){const Z=E[ie-1].y?.[D];if(Z!=null)for(let oe=ie;oe<ie+ee;oe++)E[oe].y&&(E[oe].y[D]=Z)}}else W++}),E},F=N.useRef(r);F.current=r;const V=n.map(E=>E.id||E.supplier_id||E.supplier_model_id).filter(Boolean).join(",");N.useEffect(()=>{(async()=>{i(!0),p(null);try{const M=n.map(D=>({supplier_id:D.id||D.supplier_id||D.supplier_model_id,model:D.model})).filter(D=>D.supplier_id!=null);if(M.length>0){const D={days:3,items:[{supplier_id:0,model:t},...M]},W=await jt.post(Tt.MODEL_PERFORMANCE,D);if(W.data?.data){if(l(W.data.data),F.current){const ie=R(W.data.data),ee={},Z={};ie.forEach((oe,me)=>{ee[oe]=B(oe,me),Z[oe]=U(oe)}),F.current({performanceData:W.data.data,providerColorMap:ee,providerNameMap:Z,providerIds:ie})}}else l(null)}else l(null)}catch(M){console.error("获取性能数据失败:",M),p(M.message)}finally{i(!1)}})()},[e,V]);const G=K(o,"uptime"),J=K(o,"throughput"),H=K(o,"latency"),X=(E,M)=>{if(!E||E.length===0)return{min:0,max:0,avg:0};const D=E.map(W=>W.y?.[M]).filter(W=>W!=null&&!isNaN(W));return D.length===0?{min:0,max:0,avg:0}:{min:Math.min(...D),max:Math.max(...D),avg:D.reduce((W,ie)=>W+ie,0)/D.length}},te=N.useCallback((E,M)=>{let D=R(E);if(!E||D.length===0)return[];(M==="latency"||M==="throughput")&&(D=D.filter(ee=>!z(ee)));const ie=D.map((ee,Z)=>{const oe=X(E,ee);return{id:ee,name:U(ee),color:B(ee,Z),...oe}}).sort((ee,Z)=>{const oe=ee[g],me=Z[g];return w==="asc"?oe-me:me-oe});if(M==="uptime"){const ee=ie.findIndex(Z=>z(Z.id));if(ee>0){const[Z]=ie.splice(ee,1);ie.unshift(Z)}}return ie},[g,w]),de=(E,M)=>{let D=R(E);if(!E||D.length===0)return[];(M==="latency"||M==="throughput")&&(D=D.filter(Z=>!z(Z)));const W=D.map((Z,oe)=>({id:Z,name:U(Z),avg:X(E,Z).avg,color:B(Z,oe)})),ie=M==="latency",ee=W.sort((Z,oe)=>ie?Z.avg-oe.avg:oe.avg-Z.avg);if(M==="uptime"){const Z=ee.findIndex(oe=>z(oe.id));if(Z>0){const[oe]=ee.splice(Z,1);ee.unshift(oe)}}return ee},pe=E=>({uptime:{title:"Uptime",modalTitle:"Uptime History",yAxisName:"Uptime (%)",unit:"%",description:a("Uptime is the percentage of requests that succeeded over the past 72 hours. AIHubMix continuously monitors every provider and automatically retries with the next-best provider when one returns an error or responds too slowly."),formatValue:D=>D.toFixed(2)+"%",formatTooltip:D=>D.toFixed(2)+"%",isHigherBetter:!0},latency:{title:"Latency",modalTitle:"Median Latency",yAxisName:"Latency (s)",unit:"s",description:a("Latency is total round-trip time (lower is better)."),formatValue:D=>D.toFixed(2)+" s",formatTooltip:D=>D.toFixed(2)+" s",isHigherBetter:!1},throughput:{title:"Throughput",modalTitle:"Median Throughput",yAxisName:"Tokens per Second",unit:"tok/s",description:a("Throughput is how fast the model writes (tokens per second, higher is better)."),formatValue:D=>Math.round(D)+" tok/s",formatTooltip:D=>D.toFixed(2)+" tok/s",isHigherBetter:!0}})[E],be=["January","February","March","April","May","June","July","August","September","October","November","December"],Ie=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Oe=E=>{if(!E)return null;const M=E.replace(" ","T")+"Z";return new Date(M)},we=(E,M=!1)=>{const D=Oe(E);if(!D||isNaN(D.getTime()))return E;const W=M?be[D.getMonth()]:Ie[D.getMonth()],ie=D.getDate(),ee=D.getFullYear(),Z=D.getHours().toString().padStart(2,"0"),oe=D.getMinutes().toString().padStart(2,"0");return M?`${W} ${ie}, ${ee} ${Z}:${oe}`:`${W} ${ie}`},nt=(E,M,D,W)=>{if(!E.current||!D||D.length===0)return;const ie=pe(W),ee=W==="uptime";M.current&&M.current.dispose();const Z=Ja(E.current);M.current=Z;const oe=D.map(Y=>we(Y.x,!0));let me=null,ke=null;if(ee){const Y=D.flatMap(Q=>Object.values(Q.y||{}).filter(ce=>ce!=null&&!isNaN(ce)));if(Y.length>0){const Q=Math.min(...Y);Math.max(...Y),me=Math.floor(Q*2)/2,ke=100}}let Ke=R(D);(W==="latency"||W==="throughput")&&(Ke=Ke.filter(Y=>!z(Y)));const Fe=Ke.map((Y,Q)=>{const ce=z(Y);return{name:U(Y),type:"line",smooth:!0,symbol:"none",lineStyle:{width:ce?2.5:2,color:B(Y,Q)},itemStyle:{color:B(Y,Q)},data:D.map(Ue=>Ue.y?.[Y]??null),z:ce?10:1}}),ne={tooltip:{trigger:"axis",backgroundColor:"rgba(255, 255, 255, 0.95)",borderColor:"#e5e7eb",borderWidth:1,textStyle:{color:"#374151",fontSize:12},formatter:Y=>{let Q=`<div style="font-weight: 500; margin-bottom: 8px;">${Y[0]?.axisValue||""}</div>`;return Y.forEach(ce=>{ce.value!=null&&(Q+=`<div style="display: flex; align-items: center; margin: 4px 0;">
                <span style="display: inline-block; width: 10px; height: 10px; border-radius: 50%; background: ${ce.color}; margin-right: 8px;"></span>
                <span style="flex: 1;">${ce.seriesName}</span>
                <span style="font-weight: 500; margin-left: 12px;">${ie.formatTooltip(ce.value)}</span>
              </div>`)}),Q}},grid:{left:ee?45:12,right:12,top:12,bottom:12,containLabel:!1},xAxis:{type:"category",data:oe,show:!1},yAxis:{type:"value",show:ee,min:me,max:ke,axisLine:{show:!1},axisTick:{show:!1},axisLabel:{color:"#6B7280",fontSize:11,formatter:Y=>Y.toFixed(1)+"%"},splitLine:{lineStyle:{color:"#F3F4F6",type:"dashed"}},splitNumber:3},series:Fe};Z.setOption(ne)},Me=N.useCallback(()=>{if(!$.current||!u||!d)return;const M={uptime:G,throughput:J,latency:H}[d],D=pe(d),W=d==="uptime";if(!M||M.length===0)return;I.current&&I.current.dispose();const ie=Ja($.current);I.current=ie;const ee=M.map(ne=>we(ne.x,!0));let Z=null,oe=null;if(W){const ne=M.flatMap(Y=>Object.values(Y.y||{}).filter(Q=>Q!=null&&!isNaN(Q)));if(ne.length>0){const Y=Math.min(...ne);Z=Math.floor(Y*2)/2,oe=100}}let me=R(M);(d==="latency"||d==="throughput")&&(me=me.filter(ne=>!z(ne)));const ke=me.map((ne,Y)=>{const Q=z(ne);return{name:U(ne),type:"line",smooth:!0,symbol:"none",lineStyle:{width:Q?3:2.5,color:B(ne,Y)},itemStyle:{color:B(ne,Y)},data:M.map(ce=>{const Ue=ce.y?.[ne];return Ue??null}),z:Q?10:1}}),Fe={tooltip:{trigger:"axis",backgroundColor:"rgba(255, 255, 255, 0.95)",borderColor:"#e5e7eb",borderWidth:1,textStyle:{color:"#374151",fontSize:12},formatter:ne=>{let Y=`<div style="font-weight: 500; margin-bottom: 8px;">${ne[0]?.axisValue||""}</div>`;return ne.forEach(Q=>{if(Q.value!=null){const ce=d==="uptime"?Q.value.toFixed(2)+"%":d==="latency"?Q.value.toFixed(2)+" s":Q.value.toFixed(2)+" tok/s";Y+=`<div style="display: flex; align-items: center; margin: 4px 0;">
                <span style="display: inline-block; width: 10px; height: 10px; border-radius: 50%; background: ${Q.color}; margin-right: 8px;"></span>
                <span style="flex: 1;">${Q.seriesName}</span>
                <span style="font-weight: 500; margin-left: 12px;">${ce}</span>
              </div>`}}),Y}},grid:{left:20,right:20,top:20,bottom:45,containLabel:!0},xAxis:{type:"category",data:ee,axisLine:{show:!1},axisTick:{show:!1},axisLabel:{color:"#6B7280",fontSize:11,interval:6,rotate:45,formatter:ne=>{const Y=ne.match(/(\w+)\s+(\d+),\s+\d+\s+(\d+):\d+/);if(Y){const ce=(be.indexOf(Y[1])+1).toString().padStart(2,"0"),Ue=Y[2].padStart(2,"0"),wt=Y[3];return`${ce}/${Ue} ${wt}`}return ne}}},yAxis:{type:"value",name:D.yAxisName,nameLocation:"middle",nameGap:45,nameTextStyle:{color:"#6B7280",fontSize:12},min:Z,max:oe,axisLine:{show:!1},axisTick:{show:!1},axisLabel:{color:"#6B7280",fontSize:12,formatter:ne=>W?ne.toFixed(1)+"%":ne.toFixed(1)},splitLine:{lineStyle:{color:"#F3F4F6",type:"dashed"}}},series:ke};ie.setOption(Fe)},[u,d,G,J,H]),dn=E=>{b(E),m(!0),v("avg"),y(E==="latency"?"asc":"desc")},Se=()=>{m(!1),b(null),I.current&&(I.current.dispose(),I.current=null)},Re=E=>{g===E?y(w==="asc"?"desc":"asc"):(v(E),y(E==="avg"&&d==="latency"?"asc":"desc"))},ut=N.useRef(!1);N.useEffect(()=>{!s&&G&&J&&H&&!ut.current&&(nt(h,x,G,"uptime"),nt(C,k,J,"throughput"),nt(S,A,H,"latency"),ut.current=!0)},[G,J,H,s]),N.useEffect(()=>{ut.current=!1},[V]),N.useEffect(()=>{if(u){const E=setTimeout(()=>{Me()},100);return()=>clearTimeout(E)}},[u,d,Me]),N.useEffect(()=>{const E=()=>{x.current?.resize(),k.current?.resize(),A.current?.resize(),I.current?.resize()};return window.addEventListener("resize",E),()=>{window.removeEventListener("resize",E),x.current?.dispose(),k.current?.dispose(),A.current?.dispose(),I.current?.dispose()}},[]);const Ne=(E,M,D)=>{const W=pe(E),ie=de(D,E);return f.jsxs(tb,{children:[f.jsxs(nb,{children:[f.jsx(rb,{children:W.title}),f.jsx(ab,{onClick:()=>dn(E),children:f.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[f.jsx("path",{d:"M15 3H21V9",stroke:"#9CA3AF",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),f.jsx("path",{d:"M9 21H3V15",stroke:"#9CA3AF",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),f.jsx("path",{d:"M21 3L14 10",stroke:"#9CA3AF",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),f.jsx("path",{d:"M3 21L10 14",stroke:"#9CA3AF",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]})})]}),f.jsx(ob,{children:s?f.jsx(sb,{children:"Loading..."}):c||!D?f.jsx(lb,{children:a("No data available")}):f.jsx(ib,{ref:M})}),f.jsx(cb,{children:ie.map(ee=>f.jsxs(ub,{children:[f.jsx(db,{$color:ee.color}),f.jsx(pb,{children:ee.name}),f.jsxs(fb,{children:[f.jsx("span",{style:{color:"#9CA3AF",marginRight:4},children:"Avg"}),f.jsx("strong",{children:W.formatValue(ee.avg)})]})]},ee.id))})]})},je={uptime:G,throughput:J,latency:H}[d],We=te(je,d),fe=d?pe(d):null,rt=["uptime","latency","throughput"].map(E=>(pe(E).description||"").trim()).filter(Boolean),xe=rt[0]?.endsWith("。"),_e=rt.map(E=>E.replace(/[.。]$/,"")).join(xe?"；":"; ")+(xe?"。":".");return f.jsxs(Zy,{children:[f.jsxs(Xy,{children:[f.jsxs(Yy,{children:[a("Performance for")," ",t||"Model"]}),f.jsx(Qy,{children:_e})]}),f.jsxs(eb,{children:[Ne("uptime",h,G),Ne("latency",S,H),Ne("throughput",C,J)]}),u&&fe&&f.jsx(mb,{onClick:Se,children:f.jsxs(gb,{onClick:E=>E.stopPropagation(),children:[f.jsxs(hb,{children:[f.jsx(vb,{children:fe.modalTitle}),f.jsx(yb,{onClick:Se,children:f.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[f.jsx("circle",{cx:"12",cy:"12",r:"10",stroke:"#9CA3AF",strokeWidth:"1.5"}),f.jsx("path",{d:"M15 9L9 15M9 9L15 15",stroke:"#9CA3AF",strokeWidth:"1.5",strokeLinecap:"round"})]})})]}),f.jsx(bb,{children:f.jsx(xb,{ref:$})}),f.jsxs(wb,{children:[f.jsxs(Sb,{children:[f.jsxs(rr,{onClick:()=>Re("name"),$sortable:!0,children:["Providers",f.jsx(ar,{$active:g==="name",children:f.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:[f.jsx("path",{d:"M6 2L9 5H3L6 2Z",fill:g==="name"&&w==="desc"?"#111827":"#D1D5DB"}),f.jsx("path",{d:"M6 10L3 7H9L6 10Z",fill:g==="name"&&w==="asc"?"#111827":"#D1D5DB"})]})})]}),f.jsxs(rr,{onClick:()=>Re("min"),$sortable:!0,$align:"right",children:["Min (",fe.unit,")",f.jsx(ar,{$active:g==="min",children:f.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:[f.jsx("path",{d:"M6 2L9 5H3L6 2Z",fill:g==="min"&&w==="desc"?"#111827":"#D1D5DB"}),f.jsx("path",{d:"M6 10L3 7H9L6 10Z",fill:g==="min"&&w==="asc"?"#111827":"#D1D5DB"})]})})]}),f.jsxs(rr,{onClick:()=>Re("max"),$sortable:!0,$align:"right",children:["Max (",fe.unit,")",f.jsx(ar,{$active:g==="max",children:f.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:[f.jsx("path",{d:"M6 2L9 5H3L6 2Z",fill:g==="max"&&w==="desc"?"#111827":"#D1D5DB"}),f.jsx("path",{d:"M6 10L3 7H9L6 10Z",fill:g==="max"&&w==="asc"?"#111827":"#D1D5DB"})]})})]}),f.jsxs(rr,{onClick:()=>Re("avg"),$sortable:!0,$align:"right",children:["Avg (",fe.unit,")",f.jsx(ar,{$active:g==="avg",children:w==="asc"?f.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:f.jsx("path",{d:"M6 10L3 7H9L6 10Z",fill:"#111827"})}):f.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:f.jsx("path",{d:"M6 2L9 5H3L6 2Z",fill:"#111827"})})})]})]}),f.jsx(_b,{children:We.map(E=>f.jsxs(kb,{children:[f.jsxs(or,{children:[f.jsx(Cb,{$color:E.color}),E.name]}),f.jsx(or,{$align:"right",children:E.min.toFixed(2)}),f.jsx(or,{$align:"right",children:E.max.toFixed(2)}),f.jsx(or,{$align:"right",children:E.avg.toFixed(2)})]},E.id))})]})]})})]})},Zy=j.div.withConfig({componentId:"sc-41h51q-0"})(["margin-top:48px;"]),Xy=j.div.withConfig({componentId:"sc-41h51q-1"})(["margin-bottom:20px;"]),Yy=j.h3.withConfig({componentId:"sc-41h51q-2"})(["font-size:20px;font-weight:600;color:#111827;margin:0 0 4px 0;"]),Qy=j.p.withConfig({componentId:"sc-41h51q-3"})(["font-size:13px;line-height:1.6;color:#6B7280;margin:0;"]),eb=j.div.withConfig({componentId:"sc-41h51q-4"})(["display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px;margin-bottom:16px;@media (max-width:1024px){grid-template-columns:repeat(2,1fr);}@media (max-width:768px){grid-template-columns:1fr;}"]),tb=j.div.withConfig({componentId:"sc-41h51q-5"})(["background:#fff;border-radius:16px;border:1px solid #E5E7EB;padding:20px;"]),nb=j.div.withConfig({componentId:"sc-41h51q-6"})(["display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;"]),rb=j.div.withConfig({componentId:"sc-41h51q-7"})(["font-size:16px;font-weight:500;color:#111827;"]),ab=j.div.withConfig({componentId:"sc-41h51q-8"})(["cursor:pointer;opacity:0.6;transition:opacity 0.2s;&:hover{opacity:1;}"]),ob=j.div.withConfig({componentId:"sc-41h51q-9"})(["width:100%;height:160px;position:relative;"]),ib=j.div.withConfig({componentId:"sc-41h51q-10"})(["width:100%;height:100%;"]),sb=j.div.withConfig({componentId:"sc-41h51q-11"})(["width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#9CA3AF;font-size:14px;"]),lb=j.div.withConfig({componentId:"sc-41h51q-12"})(["width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#9CA3AF;font-size:14px;"]),cb=j.div.withConfig({componentId:"sc-41h51q-13"})(["display:flex;flex-direction:column;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid #F3F4F6;"]),ub=j.div.withConfig({componentId:"sc-41h51q-14"})(["display:flex;align-items:center;gap:8px;"]),db=j.div.withConfig({componentId:"sc-41h51q-15"})(["width:12px;height:12px;border-radius:50%;background-color:",";flex-shrink:0;"],e=>e.$color||"#22C55E"),pb=j.div.withConfig({componentId:"sc-41h51q-16"})(["flex:1;font-size:14px;color:#374151;"]),fb=j.div.withConfig({componentId:"sc-41h51q-17"})(["font-size:14px;color:#111827;strong{font-weight:600;}"]),mb=j.div.withConfig({componentId:"sc-41h51q-18"})(["position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;"]),gb=j.div.withConfig({componentId:"sc-41h51q-19"})(["background:#fff;border-radius:16px;width:100%;max-width:900px;max-height:90vh;overflow-y:auto;padding:24px;position:relative;"]),hb=j.div.withConfig({componentId:"sc-41h51q-20"})(["display:flex;justify-content:center;align-items:center;margin-bottom:24px;position:relative;"]),vb=j.h2.withConfig({componentId:"sc-41h51q-21"})(["font-size:18px;font-weight:500;color:#111827;margin:0;"]),yb=j.button.withConfig({componentId:"sc-41h51q-22"})(["position:absolute;right:0;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;opacity:0.6;transition:opacity 0.2s;&:hover{opacity:1;}"]),bb=j.div.withConfig({componentId:"sc-41h51q-23"})(["width:100%;height:350px;border:1px solid #E5E7EB;border-radius:12px;padding:16px;margin-bottom:24px;"]),xb=j.div.withConfig({componentId:"sc-41h51q-24"})(["width:100%;height:100%;"]),wb=j.div.withConfig({componentId:"sc-41h51q-25"})(["width:100%;border-radius:8px;overflow:hidden;"]),Sb=j.div.withConfig({componentId:"sc-41h51q-26"})(["display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:8px;padding:12px 16px;background:#F9FAFB;border-bottom:1px solid #E5E7EB;"]),rr=j.div.withConfig({componentId:"sc-41h51q-27"})(["display:flex;align-items:center;gap:4px;font-size:14px;font-weight:500;color:#6B7280;cursor:",";justify-content:",";user-select:none;&:hover{color:",";}"],e=>e.$sortable?"pointer":"default",e=>e.$align==="right"?"flex-end":"flex-start",e=>e.$sortable?"#374151":"#6B7280"),ar=j.span.withConfig({componentId:"sc-41h51q-28"})(["display:flex;align-items:center;margin-left:4px;opacity:",";"],e=>e.$active?1:.5),_b=j.div.withConfig({componentId:"sc-41h51q-29"})(["display:flex;flex-direction:column;"]),kb=j.div.withConfig({componentId:"sc-41h51q-30"})(["display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:8px;padding:12px 16px;border-bottom:1px solid #F3F4F6;&:last-child{border-bottom:none;}&:hover{background:#F9FAFB;}"]),or=j.div.withConfig({componentId:"sc-41h51q-31"})(["display:flex;align-items:center;gap:8px;font-size:14px;color:#111827;justify-content:",";"],e=>e.$align==="right"?"flex-end":"flex-start"),Cb=j.div.withConfig({componentId:"sc-41h51q-32"})(["width:10px;height:10px;border-radius:50%;background-color:",";flex-shrink:0;"],e=>e.$color||"#22C55E");an([ho,bo,rd,vo,go]);const{Text:Qs}=ad,el=["#0088fe","#00c49f","#ffbb28","#ff8042","#4682b4","#ff69b4","#C084FC","#A3A35E","#FB7185","#FECDD3","#3cb371","#DC2626","#7C3AED","#FBBF24","#F472B6","#A78BFA"],tl=30,$b=({modelName:e,Wrapper:t,Title:n,onAvailability:r})=>{const{t:a}=_r(),[o,l]=N.useState([]),[s,i]=N.useState("token_used"),c=N.useRef({}),p=N.useRef(0);N.useEffect(()=>{if(!e)return;const d=++p.current;l([]),r?.(!1),jt.get(`${Tt.MODEL_USAGE_DETAIL}?day=${tl}&models=${encodeURIComponent(e)}&breakdown=routes`).then(b=>{if(d!==p.current)return;const v=(Array.isArray(b.data?.data)?b.data.data:[]).filter(w=>(w.version||w.model)===e);l(v),r?.(v.length>0)}).catch(()=>{d===p.current&&(l([]),r?.(!1))})},[e]);const{versionCharts:u,total:m}=N.useMemo(()=>{const d=new Map;let b=0;return o.forEach(v=>{const w=v[s]||0,y=v.version||v.model;d.has(y)||d.set(y,{dateSet:new Set,byModel:new Map,totals:new Map,sum:0});const h=d.get(y);h.dateSet.add(v.date),h.byModel.has(v.model)||h.byModel.set(v.model,new Map),h.byModel.get(v.model).set(v.date,(h.byModel.get(v.model).get(v.date)||0)+w),h.totals.set(v.model,(h.totals.get(v.model)||0)+w),h.sum+=w,b+=w}),{versionCharts:[...d.entries()].sort((v,w)=>w[1].sum-v[1].sum).map(([v,w])=>{const y=[...w.dateSet].sort(),h=[...w.totals.keys()].sort((C,S)=>(w.totals.get(S)||0)-(w.totals.get(C)||0));return{version:v,sum:w.sum,dates:y,series:h.map(C=>({name:C,data:y.map(S=>w.byModel.get(C).get(S)||0)}))}}),total:b}},[o,s]);return N.useEffect(()=>{const d=new Set;u.forEach(g=>{const v=document.getElementById(`version-usage-echarts-${g.version}`);v&&(d.add(g.version),c.current[g.version]||(c.current[g.version]=Ja(v)),c.current[g.version].setOption({tooltip:{trigger:"axis",valueFormatter:w=>Ln(w||0)},legend:{type:"scroll",bottom:0},grid:{left:56,right:16,top:12,bottom:56},xAxis:{type:"category",data:g.dates.map(w=>Mc(w).format("MM-DD"))},yAxis:{type:"value",axisLabel:{formatter:w=>Ln(w)}},series:g.series.map((w,y)=>({name:w.name,type:"bar",stack:"total",barMaxWidth:24,itemStyle:{color:el[y%el.length]},data:w.data}))},!0))}),Object.keys(c.current).forEach(g=>{d.has(g)||(c.current[g].dispose(),delete c.current[g])});const b=()=>Object.values(c.current).forEach(g=>g.resize());return window.addEventListener("resize",b),()=>window.removeEventListener("resize",b)},[u]),N.useEffect(()=>()=>{Object.values(c.current).forEach(d=>d.dispose()),c.current={}},[]),o.length?f.jsxs(t,{id:"usage",children:[f.jsx(n,{children:a("Usage")}),f.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",flexWrap:"wrap",gap:8},children:[f.jsx(Qs,{type:"secondary",children:`${tl}d · ${Ln(m)} ${s==="token_used"?"tokens":a("call times")}`}),f.jsxs(Lr.Group,{size:"small",value:s,onChange:d=>i(d.target.value),children:[f.jsx(Lr.Button,{value:"token_used",children:"Tokens"}),f.jsx(Lr.Button,{value:"call_count",children:a("call times")})]})]}),u.map(d=>f.jsxs("div",{style:{marginTop:12},children:[u.length>1&&f.jsx(Qs,{strong:!0,children:`${d.version} · ${Ln(d.sum)}`}),f.jsx("div",{id:`version-usage-echarts-${d.version}`,style:{width:"100%",height:256,marginTop:4}})]},d.version))]}):null},$e=1440,_n="__OTHER_HOURS__";function Ab(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone||"UTC"}catch{return"UTC"}}const nl=new Map;function Eo(e,t,n){const r=`${e}|${t}|${JSON.stringify(n)}`;let a=nl.get(r);return a||(a=new Intl.DateTimeFormat(e,Object.assign({timeZone:t},n)),nl.set(r,a)),a}function Ib(e,t){const n=t||new Date,r=new Date(Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate(),0,0,0,0));return r.setUTCMinutes((e%$e+$e)%$e),r}function rl(e,t,n,r){const a=Ib(e,r);try{return Eo(t,n,{hour:"2-digit",minute:"2-digit",hourCycle:"h23"}).format(a)}catch{const l=(e%$e+$e)%$e,s=String(Math.floor(l/60)).padStart(2,"0"),i=String(l%60).padStart(2,"0");return`${s}:${i}`}}function jb(e,t,n){try{const a=Eo(e,t,{timeZoneName:"short"}).formatToParts(n||new Date).find(o=>o.type==="timeZoneName");return a?a.value:t}catch{return t}}function Tb(e,t){const n=t||new Date;try{const r=Eo("en-US",e,{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",hourCycle:"h23"}).formatToParts(n),a=l=>Number(r.find(s=>s.type===l).value),o=Date.UTC(a("year"),a("month")-1,a("day"),a("hour"),a("minute"),a("second"));return Math.round((o-Math.floor(n.getTime()/1e3)*1e3)/6e4)}catch{return 0}}function _c(e){const t=/^\s*(\d{1,2}):(\d{2})\s*-\s*(\d{1,2}):(\d{2})\s*$/.exec(String(e||""));if(!t)return null;const n=Number(t[1])*60+Number(t[2]),r=Number(t[3])*60+Number(t[4]);return n>$e||r>$e?null:{start:n,end:r}}function al(e,t,n){if(!Array.isArray(e)||e.length===0)return"";const r={},a=r.now||new Date,o=r.locale||"en-US",l=r.timeZone||Ab(),s=e.map(_c);if(s.some(u=>!u))return`${e.map(String).join(", ")} ${t||"UTC"}`;const i=Tb(t||"UTC",a),c=u=>((u-i)%$e+$e)%$e;return`${s.map(u=>`${rl(c(u.start),o,l,a)}–${rl(c(u.end),o,l,a)}`).join(", ")} ${jb(o,l,a)}`}function Eb(e){if(!Array.isArray(e)||e.length===0)return null;const t=[];for(let o=0;o<e.length;o+=1){const l=_c(e[o]);if(!l||l.start===l.end)return null;l.start>l.end?(t.push({start:l.start,end:$e}),t.push({start:0,end:l.end})):t.push({start:l.start,end:Math.min(l.end,$e)})}t.sort((o,l)=>o.start-l.start);const n=[];let r=0;if(t.forEach(o=>{o.start>r&&n.push({start:r,end:o.start}),r=Math.max(r,o.end)}),r<$e&&n.push({start:r,end:$e}),n.length===0)return null;if(n.length>1&&n[0].start===0&&n[n.length-1].end===$e){const o=n.pop();n[0]={start:o.start,end:n[0].end},n.sort((l,s)=>l.start-s.start)}const a=o=>{const l=o%$e;return`${String(Math.floor(l/60)).padStart(2,"0")}:${String(l%60).padStart(2,"0")}`};return n.map(o=>`${a(o.start)}-${a(o.end)}`)}function kc(e){const t=Object.entries(e||{});if(t.length!==2)return null;const n=t.filter(([,i])=>i&&i.time_condition&&Array.isArray(i.time_condition.ranges)&&i.time_condition.ranges.length);if(n.length!==1)return null;const r=i=>{const c=i&&i.tier_condition;return c?(c.min_tokens||0)===0&&(c.max_tokens===-1||c.max_tokens==null):!0};if(t.some(([,i])=>!r(i)))return null;const[a]=n[0],o=t.find(([i])=>i!==a),l=Number(n[0][1].model_ratio),s=Number(o[1].model_ratio);return!Number.isFinite(l)||!Number.isFinite(s)||l===s?null:l>s?{peak:a,offPeak:o[0]}:{peak:o[0],offPeak:a}}function Cc(e,t,n){const r=e&&e.time_condition;if(r&&Array.isArray(r.ranges)&&r.ranges.length)return al(r.ranges,r.timezone);const a=(t||[]).filter(i=>i&&i.time_condition&&Array.isArray(i.time_condition.ranges)&&i.time_condition.ranges.length);if(!a.length)return"";if(new Set(a.map(i=>i.time_condition.timezone||"UTC")).size>1)return _n;const l=a.reduce((i,c)=>i.concat(c.time_condition.ranges),[]),s=Eb(l);return s?al(s,a[0].time_condition.timezone):_n}an([Ad,go,ho,bo,Il,vo,jp]);const Db=[...pl,...Xc],Ob=({language:e,value:t})=>f.jsx(Kl,{language:e,customStyle:{whiteSpace:"pre-wrap",wordBreak:"break-word",overflowWrap:"anywhere",overflowX:"hidden",borderRadius:8,padding:16,margin:0,maxWidth:"100%",width:"100%",fontSize:"14px",lineHeight:"1.5"},value:t}),Ct=e=>e>=1e3?`${e/1e3}K`:String(e),$c=(e,t)=>{let n="";const r=e?.tier_condition,a=e?.output_tier_condition,o=t("input"),l=t("output"),s=Ze()?"，":", ";if(r){const i=r.min_tokens||0,c=r.max_tokens;i===0?c===-1?n=`${o}`:n=`${o}<=${Ct(c)}`:c===-1?n=`${Ct(i-1)}<${o}`:n=`${Ct(i-1)}<${o}<=${Ct(c)}`}if(a){const i=a.min_tokens||0,c=a.max_tokens;i===0?c===-1?n+=`${s}${l}`:n+=`${s}${l}<=${Ct(c)}`:c===-1?n+=`${s}${l}>${Ct(i)}`:n+=`${s}${l}>${Ct(i)}`}return n};function za(e,t){const n=e.model_ratio*2,r=st(n,e.completion_ratio),a=JSON.parse(e.billing_config||"{}"),o=st(n,e.cache_ratio),l=Object.keys(a.token_based_tier_configs||{}),s=l.map(u=>a.token_based_tier_configs?.[u]),i=kc(a.token_based_tier_configs),c=l.map(u=>{const m=a.token_based_tier_configs?.[u],d=m?.model_ratio*2||0,b=st(d,m?.completion_tokens_ratio||0);return{key:u,tier:u,condition:$c(m,t),timeCondition:Cc(m,s),phase:i?i.peak===u?"peak":"offPeak":null,inputPrice:it(d),outputPrice:it(b),model_ratio_num:d,completion_ratio_num:b,...a.enabled_billing_items?.reduce((g,v)=>{const w=Zt[v];return!Ha.includes(v)&&w&&(g[v]=st(m?.[w.field],d)||a.per_unit_price_config?.[w.field]),g},{})||{}}});return{...e,modalities:e.modalities?e.modalities.split(",").map(u=>u.trim()):[],features:e.features?e.features.split(",").map(u=>u.trim()):[],tags:e.tags?e.tags.split(",").map(u=>u.trim()):[],types:e.types?e.types.split(",").filter(u=>u.trim()):[],usage_link:qc(e),billing_config:a,tierKeys:l,tierPricingData:c,pricing:{input:`$${it(n)}`,output:`$${it(r)}`,cache:`$${it(o)}`},pricingRaw:{input:n,output:r,cache:o}}}function ol(e){if(!Array.isArray(e)||e.length===0)return[];try{return e.map(t=>{const n=t.model_ratio*2,r=st(n,t.completion_ratio),a=st(n,t.cache_ratio),o=JSON.parse(t.billing_config||"{}"),l=Object.keys(o.token_based_tier_configs||{});let s=l;return l.length>1&&o.default_tier&&l.includes(o.default_tier)&&(s=[o.default_tier,...l.filter(i=>i!==o.default_tier)]),{...t,pricing:{input:`$${it(n)}`,output:`$${it(r)}`,cache:`$${it(a)}`},pricingRaw:{input:n,output:r,cache:a},billing_config:o,tier_list:s,tierActiveHours:s.reduce((i,c)=>(i[c]=Cc(o.token_based_tier_configs[c],l.map(p=>o.token_based_tier_configs[p])),i),{}),tierPhases:(()=>{const i=kc(o.token_based_tier_configs);return i?{[i.peak]:"peak",[i.offPeak]:"offPeak"}:{}})()}})}catch(t){return console.error("buildProvidersData failed:",t),[]}}const ix=e=>{const{model:t}=Rc(),n=e?.model??t,r=Pc(),{t:a}=_r(),{selectedModelData:o,clearModelData:l}=zc(),s=e?.initialRecord,[i,c]=N.useState(()=>s?za(s,a):o),p=N.useRef(s||null),[u,m]=N.useState(()=>ol(s?.supplier_models)),[d,b]=N.useState(!(s||o)),[g,v]=N.useState(()=>e?.mainRecord||null),[w,y]=N.useState(()=>e?.versionRecords?.length?Object.fromEntries(e.versionRecords.map(_=>[_.model,_])):null),h=N.useRef(null),C=N.useRef(null),[S,x]=N.useState(()=>e?.initialDevelopers?Object.fromEntries(e.initialDevelopers.map(_=>[_.id,_])):{}),[k,A]=N.useState("python"),[$,I]=N.useState(null),[T,R]=N.useState(null),[L,U]=N.useState(!1),[B,z]=N.useState(!1),[K,q]=N.useState(null),[F,V]=N.useState(null),G=Bc(),[J,H]=N.useState(null),[X,te]=N.useState(null),[de,pe]=N.useState(!1),[be,Ie]=N.useState(()=>(e?.initialRelatedModels||[]).map(_=>({..._,...Lo(_)}))),Oe=Xe.useRef((e?.initialRelatedModels||[]).length>0),we=e?.comparePeers||[],[nt,Me]=N.useState(null),dn=Ze()?"desc":"desc_en",Se=od(i?.promotion),Re=N.useMemo(()=>u.map(_=>_.promotion||null),[u]),ut=id(Re),Ne=e?.initialCanonView&&e?.model===n?e.initialCanonView:null,xt=N.useMemo(()=>K?Cy(K):Ne,[K,Ne]),je=i;N.useEffect(()=>{Hc(n),Uc({model:n})},[n]),N.useEffect(()=>{je&&w&&je.model===n&&ri(je,{memberRecords:w})},[w]);const We=N.useMemo(()=>je?Gc(je,kt.language,{priceMultiplier:Se?.active?Mo(Se.offPercent):1}):[],[je,kt.language,Se]),fe=(_,O,P)=>{const ge=!!(_&&_.active),re=ge?st(O,Mo(_.offPercent)):O;return f.jsx(sd,{active:ge,listText:P(O),currentText:P(re)})},rt=(_,O,P)=>O.promotable?fe(_,P,O.unit):O.unit(P),xe=_=>Number.isFinite(Number(_))?`$${it(_)}`:"N/A";N.useEffect(()=>{if(Oe.current){Oe.current=!1;return}const _=i?.developer_id;if(!_){Ie([]);return}Ie([]);let O=!1;return(async()=>{const P=new URLSearchParams({p:0,num:9,developer_id:_,sort_by:"",sort_order:"desc"});for(let ge=0;ge<3;ge+=1){if(O)return;try{const re=await jt.get(`${Tt.MODEL_INFO_PAGINATION}?${P}`);if(O||!re.data?.success||!Array.isArray(re.data.data))return;Ie(re.data.data.filter(se=>se.model!==i.model&&se.model!=="auto"&&!oi(se)&&qo(se.model)).slice(0,6).map(se=>({...se,...Lo(se)})));return}catch{if(ge===2)return;await new Promise(se=>setTimeout(se,ge===0?600:1500))}}})(),()=>{O=!0}},[i?.developer_id,i?.model]);const _e=!0;N.useEffect(()=>{window.scrollTo(0,0)},[n]);const E=Ze()?"name":"name_en",M=Ze()?"desc":"desc_en",D=Ze()?"display_output":"display_input",W=(_,O)=>{if(!_)return null;try{const P=JSON.parse(_),ge={};return Object.entries(P).forEach(([re,se])=>{typeof se=="string"&&(ge[re]=se.replace(/\{modelName\}/g,O))}),ge}catch(P){return console.error("解析usage JSON失败:",P),null}},ie=async()=>{try{const _=await jt.get(Tt.DEVELOPERS),{success:O,message:P,data:ge}=_.data;if(O){let re={};ge.forEach(se=>{re[se.id]=se}),x(re)}else gn.error({message:P})}catch(_){console.error("获取开发者信息失败:",_)}},ee=async()=>{try{b(!0);const _=n||"",O=await jt.get(`${Tt.MODEL_DETAIL}${_}`),{data:P,success:ge,message:re}=O.data;if(ge&&P){p.current=P;const se=za(P,a);if(c(se),ri(se,{memberRecords:w}),P.main_model&&P.main_model!==P.model&&Array.isArray(P.versions)&&P.versions.length>1){const Ce=P.main_model;h.current=Ce,v(le=>le&&le.model===Ce?le:null),g&&g.model===Ce||jt.get(`${Tt.MODEL_DETAIL}${encodeURIComponent(Ce)}`).then(le=>{h.current===Ce&&le.data?.success&&le.data.data?.model===Ce&&v(le.data.data)}).catch(()=>{})}else h.current=null,v(null);if(Array.isArray(P.versions)&&P.versions.length>1&&(!P.main_model||P.main_model===P.model)){C.current=P.model;const Ce=P.versions.filter(le=>le?.model&&le.model!==P.model&&le.version_kind!=="free");Ce.length?w&&Ce.every(le=>w[le.model])||Promise.all(Ce.map(le=>jt.get(`${Tt.MODEL_DETAIL}${encodeURIComponent(le.model)}`).then(Ge=>Ge.data?.success&&Ge.data.data?.model===le.model?Ge.data.data:null).catch(()=>null))).then(le=>{if(C.current!==P.model)return;const Ge={};le.forEach(Be=>{Be&&(Ge[Be.model]=Be)}),y(Be=>{if(Be){const fn=Object.keys(Be),Nn=Object.keys(Ge);if(fn.length===Nn.length&&Nn.every(mn=>Be[mn]===Ge[mn]))return Be}return Ge})}):y(le=>le&&Object.keys(le).length===0?le:{})}else C.current=null,y(null);m(ol(P.supplier_models))}else gn.error({message:re||"获取模型信息失败"})}catch(_){console.error("获取模型详情失败:",_);let O="获取模型信息失败";if(_.response){const P=_.response.status;P===502?O="服务器网关错误，请稍后重试":P===503?O="服务暂时不可用，请稍后重试":P===504?O="服务器响应超时，请稍后重试":P===404?O="模型信息不存在":O=`服务器错误 (${P})`}else _.request&&(O="网络连接失败，请检查网络连接");gn.error({message:O,description:"如果问题持续存在，请联系技术支持"})}finally{b(!1)}},Z=_=>{Ho({target:"code_example",model:i?.model,developer:ze,code_lang:Ht,code_proto:Q||"(none)"}),navigator.clipboard.writeText(_).then(()=>{gn.success({message:a("copy success")})})},oe=()=>{qn({cta:"get_api_key",model:i?.model,developer:ze,placement:"code_section"}),G("/token",void 0,"model_get_api_key")},me=(_,O,P="model_id")=>{_.stopPropagation(),Ho({target:P,model:i?.model,developer:ze,placement:"model_detail",...P==="provider_model_id"?{copied_value:O}:{}}),zo(O).then(()=>{gn.success({message:a("copy success")})})};N.useEffect(()=>{if(i){const _=Ze()?"usage":"usage_en",O=W(i?.[_],i?.model);if(I(O),O){const P=Object.keys(O);P.length>0&&A(P[0])}}},[kt.language,i]),N.useEffect(()=>{let _=!1;return q(null),n&&wy(n).then(O=>{_||q(O)}),()=>{_=!0}},[n]),N.useEffect(()=>{let _=!1;return F||by().then(O=>{!_&&O&&V(O)}),()=>{_=!0}},[F]),N.useEffect(()=>{n&&(ie(),ee())},[n,o]),N.useEffect(()=>{p.current&&c(za(p.current,a))},[kt.language]),N.useEffect(()=>()=>{l()},[l]);const ke=N.useMemo(()=>{const _=i?.model;return!_||!F?.has(_)?null:F.get(_)||cy(i?.types)||null},[F,i?.model,i?.types]),Ke=N.useMemo(()=>dy({model:i?.model,types:i?.types}),[i?.model,i?.types]),Fe=N.useMemo(()=>fy(i?.types),[i?.types]),ne=N.useMemo(()=>gy({model:i?.model,endpoints:i?.endpoints,baseUrl:ru,canonDoc:K,types:i?.types,mediaModality:ke,realtimeKind:Ke,isDecision:Fe}),[i,K,ke,Ke,Fe]),Y=ne?ne.protos.map(_=>_.value):[],Q=Y.includes(T)?T:Y.includes("chat")?"chat":Y[0],ce=ne?.source==="canon"||ne?.source==="media"||ne?.source==="realtime"||ne?.source==="decision"||!$&&!!ne,Ue=N.useMemo(()=>(ne?.source==="canon"||ne?.source==="media"||ne?.source==="decision")&&i?.model?so(i.model):null,[ne?.source,i?.model]),wt=(_,O)=>{qn({cta:"compare",model:i?.model,developer:ze,placement:O}),!(_.metaKey||_.ctrlKey||_.shiftKey||_.altKey)&&(_.preventDefault(),r(`/compare/${encodeURIComponent(i.model)}`))},En=ld(i),zt=oi(i),Bt=cd(i),Dn=qo(Bt)?Bt:"",Rr=ud(i,Ze()?"zh":"en"),Do=En===dd?"":pd(i,Ze()?"zh":"en"),Ac=fd(i,Ze()?"zh":"en"),Ic=md(Ze()?"zh":"en"),Pr=gd(i),St=!!Ue&&!zt&&!Pr,Oo=Vc(i),Nr=_=>{const O=St?Ue:i?.usage_link;qn({cta:St?"try_in_playground":"view_usage_docs",model:i?.model,developer:ze,placement:typeof _=="string"?_:void 0,has_target:!!O}),St?U(!0):O&&window.open(O,"_blank","noopener,noreferrer")},On=(ce?ne.byProto[Q]:$)||null,Fr=!Pr&&(!i||On),Ht=ce&&!(k in(On||{}))?"python":k,Ro=N.useMemo(()=>!ce&&$?Object.keys($).map(_=>({label:_.charAt(0).toUpperCase()+_.slice(1),value:_})):hy,[ce,$]),pn=N.useMemo(()=>ky(K,Q,{lang:kt.language}),[K,Q,kt.language]),Po=pn.some(_=>_.desc),No=N.useRef(null),[jc,Tc]=N.useState(!1);N.useEffect(()=>{const _=No.current;if(!_||typeof IntersectionObserver>"u")return;const O=new IntersectionObserver(([P])=>Tc(!P.isIntersecting),{rootMargin:"-64px 0px 0px 0px"});return O.observe(_),()=>O.disconnect()},[]);const Ec=N.useMemo(()=>{const _=[{key:"pricing",href:"#pricing",title:a("Pricing")},{key:"attributes",href:"#attributes",title:a("Attributes")}];return u&&u.length>0&&(_.push({key:"providers",href:"#providers",title:a("Providers")}),_.push({key:"performance",href:"#performance",title:a("Performance")})),de&&_.push({key:"usage",href:"#usage",title:a("Usage")}),Fr&&_.push({key:"api-usage",href:"#api-usage",title:a("Quick Start")}),Fe&&pn.length>0&&_.push({key:"request-params",href:"#request-params",title:a("Request Parameters")}),We.length>0&&_.push({key:"faq",href:"#faq",title:"FAQ"}),we.length>0&&_.push({key:"compare-peers",href:"#compare-peers",title:a("Compare")}),be.length>0&&_.push({key:"related",href:"#related",title:a("More Models")}),_},[a,u,i,Fr,pn,We,we,be,xt,de]),ze=S[i?.developer_id]?.developer||i?.developer||"",Te=mu(S[i?.developer_id]),Rn=_=>{_.metaKey||_.ctrlKey||_.shiftKey||_.altKey||(_.preventDefault(),r(Te.href))},Ut=Wc(i),Pn=N.useMemo(()=>Array.isArray(i?.versions)&&i.versions.length>1?i.versions:null,[i]),Fo=(_,O)=>{_.metaKey||_.ctrlKey||_.shiftKey||_.altKey||(_.preventDefault(),O!==i?.model&&r(`/model/${encodeURIComponent(O)}`))};return f.jsxs(Rb,{children:[f.jsxs(Wb,{children:[f.jsxs(Kb,{href:"/models",onClick:_=>{_.metaKey||_.ctrlKey||_.shiftKey||_.altKey||(_.preventDefault(),r("/models"))},children:[f.jsx(Pe,{name:"IcArrowRight",size:16,style:{transform:"rotate(180deg)"}})," ",a("Model/Price")]}),f.jsxs("div",{style:{display:"flex",alignItems:"center",gap:16},children:[i?.usage_weekly&&f.jsxs(o0,{children:[f.jsx(Pe,{name:"IcTokenUsed",size:16}),f.jsx("strong",{children:i.usage_weekly}),"this week"]}),i?.model&&f.jsx(Gt,{href:`/compare/${encodeURIComponent(i.model)}`,onClick:_=>wt(_,"header"),children:a("Compare")}),St&&f.jsx(Gt,{type:"primary",onClick:()=>Nr("header"),children:a("try in playground")})]})]}),f.jsx(Lb,{$visible:jc,children:f.jsxs(Mb,{children:[f.jsxs(qb,{children:[S[i?.developer_id]?.icon&&(Te?f.jsx("a",{href:Te.href,onClick:Rn,"aria-label":`${Te.name} models`,title:`${Te.name} models`,children:f.jsx("img",{src:Mn(S[i.developer_id].icon),alt:""})}):f.jsx("img",{src:Mn(S[i.developer_id].icon),alt:""})),f.jsx("span",{children:Ut||i?.model}),Pn&&i?.model&&f.jsx(Kc,{trigger:["click"],menu:{items:Pn.filter(_=>_?.model).map(_=>({key:_.model,label:f.jsx(Vb,{href:`/model/${encodeURIComponent(_.model)}`,$active:_.model===i?.model,onClick:O=>Fo(O,_.model),children:f.jsx("code",{children:_.model})})}))},children:f.jsx(Gb,{type:"button","aria-label":a("Switch version"),children:f.jsx("code",{children:i.model})})}),i&&f.jsx(ir,{onClick:_=>me(_,i.model),children:f.jsx(Pe,{name:"IcFiles",size:12,color:"#353941",style:{cursor:"pointer"}})})]}),f.jsxs(zb,{children:[i?.model&&f.jsx(Gt,{href:`/compare/${encodeURIComponent(i.model)}`,onClick:_=>wt(_,"condensed_bar"),children:a("Compare")}),f.jsx(Gt,{type:"primary",onClick:()=>Nr("condensed_bar"),children:a(St?"try in playground":"usage")})]})]})}),f.jsx(i0,{ref:No,children:f.jsxs(s0,{children:[f.jsx(l0,{$linked:!!Te,children:i?S[i.developer_id]?.icon?Te?f.jsx("a",{href:Te.href,onClick:Rn,title:`${Te.name} models`,children:f.jsx("img",{src:Mn(S[i.developer_id].icon),alt:`${Te.name} logo`})}):f.jsx("img",{src:Mn(S[i.developer_id].icon),alt:ze?`${ze} logo`:"Model developer logo"}):null:f.jsx("div",{style:{width:32,height:32,backgroundColor:"#f0f0f0",borderRadius:8}})}),f.jsxs(p0,{children:[f.jsxs(f0,{children:[f.jsxs(g0,{children:[f.jsx(m0,{children:Ut||i?.model||"Loading..."}),Ut&&i?.model&&f.jsxs(v0,{children:[f.jsx("code",{children:i.model}),f.jsx(ir,{onClick:_=>me(_,i.model),children:f.jsx(Pe,{name:"IcFiles",size:12,color:"#353941",style:{cursor:"pointer"}})}),Jc&&f.jsx(h0,{href:`/model/${i.model}/llms.txt`,target:"_blank",rel:"noopener",title:"Copy link for your AI agent (⌘-click to open)",onClick:_=>{if(qn({cta:"llms_txt",model:i?.model,developer:ze,placement:"title"}),_.metaKey||_.ctrlKey||_.shiftKey)return;_.preventDefault();const O=`${window.location.origin}/model/${i.model}/llms.txt`;zo(O).then(()=>{z(!0),setTimeout(()=>z(!1),1400)})},children:B?"✓ copied":"llms.txt"})]}),Te?f.jsx(sl,{as:"a",href:Te.href,onClick:Rn,$linked:!0,children:Te.name}):ze&&f.jsx(sl,{children:ze})]}),f.jsxs("div",{style:{display:"flex",alignItems:"center",gap:16},children:[Pr?f.jsx(iu,{$stage:"coming_soon",children:a("Coming soon")}):null,hd(i)?f.jsx(Uo,{color:"cyan",style:{marginInlineEnd:0},children:"New"}):null,f.jsx(ai,{promotion:Se}),i&&!Ut&&f.jsx(ir,{onClick:_=>me(_,i.model),children:f.jsx(Pe,{name:"IcFiles",size:12,color:"#353941",style:{cursor:"pointer"}})})]})]}),i?.[M]&&f.jsx("div",{style:{fontSize:"12px",color:"#626773"},children:Zc(i[M])})]})]})}),Do&&f.jsxs(Bb,{$retired:zt,role:"status",children:[f.jsxs("svg",{viewBox:"0 0 24 24","aria-hidden":"true",children:[f.jsx("circle",{cx:"12",cy:"12",r:"9"}),zt?f.jsx("path",{d:"M12 8v5M12 16h.01"}):f.jsx("path",{d:"M12 7v5l3 2"})]}),f.jsxs("div",{children:[f.jsxs("div",{className:"retire-lead",children:[Do,Rr&&Dn&&f.jsxs(f.Fragment,{children:[Rr.before,f.jsx("a",{href:`/model/${encodeURIComponent(Dn)}`,onClick:_=>{_.metaKey||_.ctrlKey||_.shiftKey||_.altKey||(_.preventDefault(),r(`/model/${encodeURIComponent(Dn)}`))},children:Dn}),Rr.after]})]}),f.jsxs("div",{className:"retire-sub",children:[Ac," ",f.jsx("a",{href:vd,children:Ic})]})]})]}),Pn&&f.jsx(Hb,{"aria-label":a("Model versions"),children:Pn.filter(_=>_?.model).map(_=>f.jsx(Ub,{href:`/model/${encodeURIComponent(_.model)}`,$active:_.model===i?.model,"aria-current":_.model===i?.model?"page":void 0,onClick:O=>Fo(O,_.model),children:f.jsx("code",{children:_.model})},_.model))}),f.jsxs(Pb,{children:[f.jsx(Nb,{children:f.jsx(yd,{affix:!1,targetOffset:136,items:Ec})}),f.jsxs(Fb,{children:[f.jsxs(D0,{id:"pricing",children:[f.jsxs(Ba,{children:[f.jsx(dl,{children:a("Pricing")}),i?Oo?f.jsx(ul,{children:f.jsx(sr,{children:f.jsx("span",{children:f.jsx("strong",{children:a("Price TBD")})})})}):i?.[D]?f.jsx(Ba,{children:f.jsx(O0,{children:f.jsx(ii,{components:{code({node:_,inline:O,className:P,children:ge,...re}){const se=/language-(\w+)/.exec(P||"");return O?f.jsx("code",{className:P,...re,children:ge}):f.jsx(Kl,{language:se?se[1]:void 0,PreTag:"div",customStyle:{whiteSpace:"pre-wrap",wordBreak:"break-word",overflowWrap:"anywhere",overflowX:"hidden",maxWidth:"100%",width:"100%",fontSize:"14px",lineHeight:"1.5"},value:String(ge).replace(/\n$/,""),...re})}},children:i[D]})})}):i?.billing_config?.model_name?f.jsx(R0,{children:f.jsx(su,{size:"small",dataSource:i?.tierPricingData||[],rowKey:_=>_.tier,columns:[...i?.tierKeys?.length>1?[(i?.tierPricingData||[]).some(_=>_.phase)?{title:"Tier",dataIndex:"timeCondition",key:"tier",render:(_,O)=>{const P=_===_n?a("Other hours"):_||"-";return f.jsxs("span",{children:[f.jsx("strong",{children:a(O.phase==="peak"?"Peak":"Off-peak")})," · ",P]})}}:{title:"Tier",dataIndex:"condition",key:"tier",render:_=>f.jsx("strong",{children:_})}]:[],...(i?.tierPricingData||[]).some(_=>_.timeCondition)&&!(i?.tierPricingData||[]).some(_=>_.phase)?[{title:a("Active hours"),dataIndex:"timeCondition",key:"timeCondition",render:_=>_===_n?a("Other hours"):_||"-"}]:[],{title:"Pricing",dataIndex:"price",key:"price",render:(_,O)=>f.jsxs("div",{style:{display:"flex",alignItems:"center",gap:4},children:[fe(Se,O.model_ratio_num,xe),f.jsx(Pe,{name:"IcArrowRight",size:12,color:"#353941"}),fe(Se,O.completion_ratio_num,xe)]})},...i?.billing_config?.enabled_billing_items?.filter(_=>!Ha.includes(_)&&Zt[_])?.map(_=>{const O=Zt[_];return{title:O.name,dataIndex:_,key:_,render:P=>P?rt(Se,O,P):"-"}})||[]],scroll:{x:"max-content"},pagination:!1})}):f.jsxs(ul,{children:[f.jsxs(sr,{children:[f.jsx("span",{children:"Input Tokens: "}),f.jsx("span",{children:f.jsx("strong",{children:fe(Se,i?.pricingRaw?.input,_=>`${xe(_)} /M tokens`)})})]}),f.jsxs(sr,{children:[f.jsx("span",{children:"Output Tokens: "}),f.jsx("span",{children:f.jsx("strong",{children:fe(Se,i?.pricingRaw?.output,_=>`${xe(_)} /M tokens`)})})]}),i?.cache_ratio!==1&&f.jsxs(sr,{children:[f.jsx("span",{children:"Cache Read: "}),f.jsx("span",{children:f.jsx("strong",{children:fe(Se,i?.pricingRaw?.cache,_=>`${xe(_)} /M tokens`)})})]})]}):f.jsx("div",{style:{padding:"20px",textAlign:"center",color:"#999"},children:"Loading pricing information..."})]}),!Oo&&(()=>{try{const _=JSON.parse(i?.img_price_config||"{}").generate;return!!_&&Object.keys(_).length>0}catch{return!1}})()&&f.jsxs(Ba,{children:[f.jsx(dl,{children:a(String(i?.types||"").split(",").includes("t2v")?"Video Generation":"Image Generation")}),(()=>{try{const O=JSON.parse(i?.img_price_config||"{}").generate||{},P=lu(i?.img_price_units),ge=new Set;Object.values(O).forEach(se=>{Object.keys(se).forEach(Ce=>ge.add(Ce))});const re=Array.from(ge);return f.jsx(P0,{children:f.jsxs(N0,{children:[f.jsxs(F0,{priceTypesCount:re.length,children:[f.jsx("div",{children:"Quality"}),re.map(se=>f.jsx("div",{style:{textTransform:"capitalize"},children:se},se))]}),Object.entries(O).map(([se,Ce])=>f.jsxs(L0,{priceTypesCount:re.length,children:[f.jsx("div",{style:{textTransform:"capitalize",fontWeight:500},children:se}),re.map(le=>f.jsx("div",{style:{fontWeight:500},children:Ce[le]?`$${Ce[le]}${cu(P,"generate",le)}`:"$-"},le))]},se))]})})}catch(_){return console.error("Failed to parse img_price_config:",_),null}})()]})]}),f.jsxs(y0,{id:"attributes",children:[f.jsxs(b0,{children:[f.jsxs(lr,{children:[f.jsx(vn,{children:a("Input Modalities")}),f.jsx(cr,{children:i?(()=>{const _=i.modalities||[];return Db.filter(O=>_.includes(O.key)).map(O=>f.jsxs(ur,{children:[f.jsx(Pe,{name:O.icon,size:16}),O[E]]},O.key))})():f.jsx("div",{style:{padding:"10px",color:"#999"},children:"Loading modalities..."})})]}),(()=>{const _=i?Yc(i):[];return i&&!_.length?null:f.jsxs(lr,{children:[f.jsx(vn,{children:a("Output Modalities")}),f.jsx(cr,{children:i?_.map(O=>{const P=(pl||[]).find(ge=>ge.key===O);return P?f.jsxs(ur,{children:[f.jsx(Pe,{name:P.icon,size:16}),O==="image"&&E==="name_en"?"Image":P[E]]},O):null}):f.jsx("div",{style:{padding:"10px",color:"#999"},children:"Loading modalities..."})})]})})(),i?.context_window>0&&f.jsxs(lr,{children:[f.jsx(vn,{children:a("Context")}),f.jsx(cr,{children:f.jsxs(ur,{title:`${i.context_window.toLocaleString("en-US")} tokens`,children:[Bo(i.context_window)," tokens"]})})]}),i?.max_output>0&&f.jsxs(lr,{children:[f.jsx(vn,{children:a("Max Output")}),f.jsx(cr,{children:f.jsxs(ur,{title:`${i.max_output.toLocaleString("en-US")} tokens`,children:[Bo(i.max_output)," tokens"]})})]})]}),(()=>{const _=!!xt?.capabilities,O=_?xt.capabilities.map(P=>({key:P.key,icon:P.icon,label:$y(P,kt.language),on:P.supported})):(Qc||[]).filter(P=>(i?.features||[]).includes(P.key)).map(P=>({key:P.key,icon:P.icon,label:P[E],on:!0}));return i&&!O.length?null:f.jsxs(x0,{children:[f.jsx(vn,{children:a(_?"Capabilities":"features")}),!i&&!O.length?f.jsx("div",{style:{color:"#999",fontSize:"12px"},children:"Loading features..."}):f.jsx(w0,{children:O.map(P=>f.jsxs(S0,{$on:P.on,title:P.on?void 0:a("capabilityUndocumented"),children:[f.jsx(Pe,{name:P.icon,size:14,color:P.on?"#353941":"#C4C8D0"}),P.label]},P.key))})]})})()]}),u&&u.length>0&&f.jsxs($t,{id:"providers",children:[f.jsx(At,{children:a("Providers")}),u.map((_,O)=>{const P=ut[O]||null,ge=_.model&&_.model!==i?.model&&u.filter(re=>re.model===_.model).length===1;return f.jsxs(_0,{children:[f.jsx(k0,{children:f.jsxs(C0,{children:[f.jsxs($0,{children:[f.jsx(Uo,{style:{color:"#626773",border:"1px solid #626773",background:"rgba(53, 57, 65, 0.10)"},children:_.supplier_name})," ",_.model,ge&&f.jsx(ir,{style:{display:"inline-flex",verticalAlign:"middle",marginLeft:8},onClick:re=>me(re,_.model,"provider_model_id"),children:f.jsx(Pe,{name:"IcFiles",size:12,color:"#353941",style:{cursor:"pointer"}})})]}),f.jsx(ai,{promotion:P})]})}),_.tier_list.length>0&&f.jsx(ll,{className:"first-details",children:_.tier_list.map(re=>{const se=_.billing_config.token_based_tier_configs[re].model_ratio*2,Ce=st(se,_.billing_config.token_based_tier_configs[re].completion_tokens_ratio),le=_.tierActiveHours?.[re]||"",Ge=_.tierPhases?.[re],Be=_.billing_config.token_based_tier_configs[re],fn=Be?.tier_condition,Nn=!!Be?.output_tier_condition||!!fn&&((fn.min_tokens||0)>0||fn.max_tokens!==-1),mn=_.tier_list.length>1&&Nn?$c(Be,a):"";return f.jsxs(cl,{children:[mn&&f.jsxs(ot,{children:[f.jsx("span",{children:"Tier"}),f.jsx("span",{children:f.jsx("strong",{children:mn})})]}),le&&f.jsxs(ot,{children:[f.jsx("span",{children:a(Ge?Ge==="peak"?"Peak":"Off-peak":"Active hours")}),f.jsx("span",{children:le===_n?a("Other hours"):le})]}),f.jsxs(ot,{children:[f.jsx("span",{children:"Pricing"}),f.jsxs("span",{style:{fontFamily:"'OldStandardTT-Bold', 'OldStandardTT-Bold-Fallback', Georgia, serif",fontSize:16,display:"inline-flex",alignItems:"center",gap:4},children:[f.jsx("strong",{children:fe(P,se,xe)}),f.jsx(Pe,{name:"IcArrowRight",size:12,color:"#353941"}),f.jsx("strong",{children:fe(P,Ce,xe)})]})]}),_.billing_config.enabled_billing_items.filter(_t=>!Ha.includes(_t)&&(_.billing_config.token_based_tier_configs[re]?.[Zt[_t]?.field]||_.billing_config.per_unit_price_config?.[Zt[_t]?.field])).map((_t,Dc)=>{const Fn=Zt[_t],Oc=st(_.billing_config.token_based_tier_configs[re]?.[Fn?.field],se)||_.billing_config.per_unit_price_config?.[Fn?.field];return f.jsxs(ot,{children:[f.jsx("span",{children:Fn?.name||_t}),f.jsx("span",{style:{fontFamily:"'OldStandardTT-Bold', 'OldStandardTT-Bold-Fallback', Georgia, serif",fontSize:16},children:f.jsx("strong",{children:rt(P,Fn,Oc)})})]},`${re}-${_t}-${Dc}`)})]},re)})}),f.jsx(ll,{className:"last-details",children:f.jsxs(cl,{children:[_.billing_config.model_name?null:_?.[D]?f.jsxs(ot,{children:[f.jsx("span",{children:"Pricing"}),f.jsx("span",{children:f.jsx(ii,{children:_[D]})})]}):f.jsxs(f.Fragment,{children:[f.jsxs(ot,{children:[f.jsx("span",{children:"Pricing"}),f.jsxs("span",{style:{fontFamily:"'OldStandardTT-Bold', 'OldStandardTT-Bold-Fallback', Georgia, serif",fontSize:16,display:"inline-flex",alignItems:"center",gap:4},children:[f.jsx("strong",{children:fe(P,_.pricingRaw.input,xe)}),f.jsx(Pe,{name:"IcArrowRight",size:12,color:"#353941"}),f.jsx("strong",{children:fe(P,_.pricingRaw.output,xe)})]})]}),_.cache_ratio!==1&&_.pricing.cache&&f.jsxs(ot,{children:[f.jsx("span",{children:"Cache"}),f.jsx("span",{style:{fontFamily:"'OldStandardTT-Bold', 'OldStandardTT-Bold-Fallback', Georgia, serif",fontSize:16},children:f.jsx("strong",{children:fe(P,_.pricingRaw.cache,xe)})})]})]}),_.precision&&f.jsxs(ot,{children:[f.jsx(Wy,{value:_.precision}),f.jsx("span",{style:{fontFamily:"'OldStandardTT-Bold', 'OldStandardTT-Bold-Fallback', Georgia, serif",fontSize:16,whiteSpace:"nowrap"},children:f.jsx("strong",{children:Gy(_.precision)})})]}),Object.keys(Vt).filter(re=>Vt[re].name!=="Uptime"||_e).map(re=>{const se=`${_.supplier_name}-${_.model}-${O}`;return f.jsxs(ot,{children:[f.jsx("span",{children:Vt[re].name}),Vt[re].name==="Uptime"?f.jsx(Ey,{uptimeData:_.uptime||[],onClick:()=>H(J===se?null:se)}):f.jsx("span",{style:{fontFamily:"'OldStandardTT-Bold', 'OldStandardTT-Bold-Fallback', Georgia, serif",fontSize:16},children:f.jsx("strong",{children:Vt[re].unit(_[Vt[re].field])})})]},re)})]})}),f.jsx(Dy,{provider:_,expanded:J===`${_.supplier_name}-${_.model}-${O}`,performanceData:X?.performanceData,providerColor:X?.providerColorMap?.[String(_.id||_.supplier_id||_.supplier_model_id)]})]},`${_.supplier_name}-${_.model}-${O}`)}),f.jsx("div",{id:"performance",children:f.jsx(Jy,{modelId:i?.id,modelName:i?.model,providers:u,onDataLoad:te})})]}),f.jsx($b,{modelName:i?.model,Wrapper:$t,Title:At,onAvailability:pe}),Fr&&f.jsxs($t,{id:"api-usage",children:[f.jsx(At,{children:a("Quick Start")}),f.jsxs(A0,{children:[f.jsxs(I0,{children:[ce&&ne.protos.length>1&&f.jsx(si,{size:"large",shape:"round",value:Q,options:ne.protos,onChange:_=>R(_)}),ce?f.jsx(bd,{size:"large",value:Ht,options:Ro,onChange:_=>A(_),style:{minWidth:148}}):f.jsx(si,{size:"large",shape:"round",value:Ht,options:Ro,onChange:_=>A(_)})]}),f.jsxs("div",{children:[f.jsxs(Gt,{size:"large",style:{marginRight:24},onClick:oe,children:[f.jsx(Pe,{name:"IcKey",size:16})," ",a("add key")]}),f.jsxs(Gt,{type:"primary",size:"large",onClick:()=>Nr("code_section"),children:[f.jsx(Pe,{name:St?"IcZap":"IcScrollText",size:16}),a(St?"try in playground":"usage")]})]})]}),ne?.source==="media"&&f.jsxs(c0,{children:[a("media async tasks note")," ",f.jsx("a",{href:`${eu()}/api/async-tasks`,target:"_blank",rel:"noopener noreferrer",children:a("async tasks guide")})]}),f.jsx(u0,{children:i?f.jsxs(f.Fragment,{children:[f.jsx(d0,{onClick:_=>Z(On[Ht]),children:f.jsx(Pe,{name:"IcFiles",size:12,color:"#353941",style:{cursor:"pointer"}})}),f.jsx(Ob,{language:vy[Ht]||"text",value:On[Ht]||""})]}):f.jsx("div",{style:{padding:"40px",textAlign:"center",color:"#999"},children:"Loading code examples..."})})]}),Fe&&pn.length>0&&f.jsxs($t,{id:"request-params",children:[f.jsx(At,{children:a("Request Parameters")}),f.jsxs(T0,{children:[f.jsx("thead",{children:f.jsxs("tr",{children:[f.jsx("th",{children:a("Parameter")}),f.jsx("th",{children:a("Type")}),f.jsx("th",{children:a("Values")}),Po&&f.jsx("th",{children:a("Description")})]})}),f.jsx("tbody",{children:pn.map(_=>f.jsxs("tr",{className:_.muted?"muted":void 0,children:[f.jsxs("td",{children:[f.jsx("code",{children:_.name}),_.muted&&f.jsx(E0,{children:_.reason==="deprecated"?a("Deprecated"):_.reason==="override-do-not-send"?a("Not supported on this model"):a("Unverified")})]}),f.jsx("td",{children:_.type}),f.jsx("td",{children:_.values}),Po&&f.jsx("td",{children:_.desc})]},_.name))})]})]}),We.length>0&&f.jsxs($t,{id:"faq",children:[f.jsx(At,{children:"Frequently asked questions"}),f.jsx(Jb,{children:f.jsx(tu,{bordered:!1,ghost:!0,defaultActiveKey:["0"],expandIconPosition:"end",items:We.map((_,O)=>({key:String(O),label:f.jsx(Zb,{children:_.q}),children:f.jsx(Xb,{children:_.a})}))})})]}),we.length>0&&f.jsxs($t,{id:"compare-peers",children:[f.jsxs(At,{children:[a("Compare")," ",Ut||i?.model]}),f.jsx(Yb,{children:we.map(_=>f.jsxs(Qb,{href:_.url,children:[f.jsx(il,{children:Ut||i?.model}),f.jsx(e0,{children:"vs"}),f.jsx(il,{children:_.name||_.model})]},_.model))})]}),be.length>0&&f.jsxs($t,{id:"related",children:[f.jsxs(At,{children:["More models from ",ze||"this author"]}),Te&&f.jsxs(j0,{href:Te.href,onClick:Rn,children:["See all ",Te.name," models →"]}),f.jsx(t0,{children:be.map(_=>f.jsxs(n0,{onClick:O=>{nu({model:i?.model,developer:ze,targetModel:_.model}),!(O.metaKey||O.ctrlKey||O.shiftKey||O.altKey)&&r(`/model/${encodeURIComponent(_.model)}`)},children:[f.jsxs(r0,{children:[f.jsx(uu,{developer:S[_.developer_id]}),f.jsx(a0,{children:f.jsx(du,{record:_})})]}),f.jsx(pu,{record:_,isHovered:nt===_.model,onHoverStart:()=>Me(_.model),onHoverEnd:()=>Me(null),languageField:dn})]},_.model))})]})]})]}),i?.model&&f.jsx(_d,{open:L,modelId:i.model,onClose:()=>U(!1)})]})},Rb=j.div.withConfig({componentId:"sc-1y9axzq-0"})(["padding:0 0 24px;min-height:100vh;"]),Pb=j.div.withConfig({componentId:"sc-1y9axzq-1"})(["display:flex;align-items:flex-start;gap:40px;[id]{scroll-margin-top:136px;}"]),Nb=j.aside.withConfig({componentId:"sc-1y9axzq-2"})(["position:sticky;top:136px;flex:0 0 160px;@media (max-width:1024px){display:none;}&& .ant-anchor::before,&& .ant-anchor-ink{display:none !important;}&& .ant-anchor-link{padding:0;}&& .ant-anchor-link-title{display:block;padding:6px 10px;border-radius:8px;color:#626773;font-size:14px;line-height:20px;transition:background-color 0.15s ease,color 0.15s ease;}&& .ant-anchor-link-title:hover{background:rgba(17,17,17,0.05);color:#111111;}&& .ant-anchor-link-active > .ant-anchor-link-title{color:#111111;font-weight:600;}"]),Fb=j.div.withConfig({componentId:"sc-1y9axzq-3"})(["flex:1;min-width:0;"]),Lb=j.div.withConfig({componentId:"sc-1y9axzq-4"})(["position:fixed;top:64px;left:0;right:0;z-index:90;padding:10px 0;background:rgba(255,255,255,0.92);backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);border-bottom:0.5px solid rgba(17,17,17,0.08);transform:translateY(","px);opacity:",";pointer-events:",";transition:opacity 0.2s ease,transform 0.2s ease;"],e=>e.$visible?0:-8,e=>e.$visible?1:0,e=>e.$visible?"auto":"none"),Mb=j.div.withConfig({componentId:"sc-1y9axzq-5"})(["max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;"]),qb=j.div.withConfig({componentId:"sc-1y9axzq-6"})(["display:flex;align-items:center;gap:10px;min-width:0;a{display:flex;flex-shrink:0;border-radius:6px;opacity:1;transition:opacity 0.15s ease;&:hover{opacity:0.75;}}img{width:24px;height:24px;border-radius:6px;flex-shrink:0;}span{font-size:16px;font-weight:600;color:#111111;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;}"]),zb=j.div.withConfig({componentId:"sc-1y9axzq-7"})(["display:flex;align-items:center;gap:12px;flex-shrink:0;"]),Bb=j.div.withConfig({componentId:"sc-1y9axzq-8"})(["display:flex;align-items:flex-start;gap:8px;margin:-8px 0 20px;padding:16px;border-radius:16px;font-size:16px;line-height:1.5;color:",";background:",";> svg{flex:none;width:24px;height:24px;stroke:currentColor;stroke-width:2px;fill:none;stroke-linecap:round;stroke-linejoin:round;}a{color:inherit;font-weight:600;text-decoration:underline;}.retire-lead{font-weight:500;}.retire-sub{margin-top:4px;font-size:14px;opacity:0.9;}"],e=>e.$retired?"#FFFFFF":"#111111",e=>e.$retired?"#F25030":"#F5B627"),Hb=j.nav.withConfig({componentId:"sc-1y9axzq-9"})(["display:flex;align-items:stretch;gap:32px;margin:-8px 0 20px;padding-left:14px;border-bottom:1px solid #f0f0f0;overflow-x:auto;scrollbar-width:none;&::-webkit-scrollbar{display:none;}"]),Ub=j.a.withConfig({componentId:"sc-1y9axzq-10"})(["display:inline-flex;align-items:center;padding:8px 2px 9px;margin-bottom:-1px;border-bottom:2px solid ",";text-decoration:none;white-space:nowrap;flex-shrink:0;transition:color 0.15s ease,border-color 0.15s ease;code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;font-weight:",";color:",";transition:color 0.15s ease;}&:hover code{color:#2563EB;}"],e=>e.$active?"#2563EB":"transparent",e=>e.$active?500:400,e=>e.$active?"#2563EB":"#353941"),Gb=j.button.withConfig({componentId:"sc-1y9axzq-11"})(["display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#F4F5F7;border:1px solid #E3E3E3;border-radius:6px;cursor:pointer;flex-shrink:0;max-width:min(38vw,240px);code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;color:#353941;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;}@media (max-width:480px){display:none;}&::after{content:'▾';font-size:10px;line-height:1;color:#626773;}&:hover{border-color:#2563EB;code{color:#2563EB;}}"]),Vb=j.a.withConfig({componentId:"sc-1y9axzq-12"})(["display:block;text-decoration:none;code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;color:",";font-weight:",";}&:hover code{color:#2563EB;}"],e=>e.$active?"#2563EB":"#353941",e=>e.$active?600:400),Wb=j.div.withConfig({componentId:"sc-1y9axzq-13"})(["display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;"]),Kb=j.a.withConfig({componentId:"sc-1y9axzq-14"})(["display:flex;align-items:center;gap:4px;background:none;border:none;cursor:pointer;font-family:'OldStandardTT-Bold','OldStandardTT-Bold-Fallback',Georgia,serif;font-size:14px;color:#626773;text-decoration:none;&:hover{color:#111111;}"]),Jb=j.div.withConfig({componentId:"sc-1y9axzq-15"})(["padding-bottom:24px;.ant-collapse-item{border-bottom:1px solid #eeeeee;}.ant-collapse-item:last-child{border-bottom:none;}.ant-collapse-header{padding:16px 0 !important;align-items:center !important;font-size:15px;font-weight:600;color:#111111;}.ant-collapse-content-box{padding:0 0 16px !important;}"]),Zb=j.h3.withConfig({componentId:"sc-1y9axzq-16"})(["margin:0;font-size:inherit;font-weight:inherit;line-height:inherit;color:inherit;"]),Xb=j.div.withConfig({componentId:"sc-1y9axzq-17"})(["font-size:14px;line-height:1.7;color:#353941;white-space:pre-line;"]),Yb=j.div.withConfig({componentId:"sc-1y9axzq-18"})(["display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-bottom:24px;@media (max-width:900px){grid-template-columns:1fr;}"]),Qb=j.a.withConfig({componentId:"sc-1y9axzq-19"})(["display:flex;align-items:center;gap:8px;padding:12px 14px;background:#fff;border:0.5px solid rgba(0,0,0,0.1);border-radius:16px;font-size:13px;color:#353941 !important;text-decoration:none !important;transition:box-shadow 0.2s ease;&:hover{box-shadow:0 6px 20px rgba(0,0,0,0.08);color:#2563eb !important;}"]),il=j.span.withConfig({componentId:"sc-1y9axzq-20"})(["overflow:hidden;text-overflow:ellipsis;white-space:nowrap;"]),e0=j.span.withConfig({componentId:"sc-1y9axzq-21"})(["color:#9ca3af;font-size:11px;"]),t0=j.div.withConfig({componentId:"sc-1y9axzq-22"})(["display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:16px;padding-bottom:24px;@media (min-width:768px){grid-template-columns:repeat(2,minmax(0,1fr));}"]),n0=j(fu).withConfig({componentId:"sc-1y9axzq-23"})(["padding-top:16px;cursor:pointer;background-color:transparent;border:0.5px solid rgba(0,0,0,0.1);box-shadow:0 2px 8px 0 rgba(0,0,0,0.06);"]),r0=j.div.withConfig({componentId:"sc-1y9axzq-24"})(["display:flex;align-items:flex-start;"]),a0=j.div.withConfig({componentId:"sc-1y9axzq-25"})(["flex:1;min-width:0;"]),o0=j.div.withConfig({componentId:"sc-1y9axzq-26"})(["font-size:12px;color:#353941;display:flex;align-items:center;gap:8px;"]),i0=j.div.withConfig({componentId:"sc-1y9axzq-27"})(["margin-bottom:24px;border-radius:24px;padding:16px;background:#fff;box-shadow:0 0 10px 0 rgba(0,0,0,0.1);"]),s0=j.div.withConfig({componentId:"sc-1y9axzq-28"})(["display:flex;align-items:flex-start;gap:16px;"]),l0=j.div.withConfig({componentId:"sc-1y9axzq-29"})(["font-size:32px;border:1px solid rgba(0,0,0,0.08);border-radius:8px;line-height:0;a{display:block;border-radius:8px;}"," img{width:48px;height:48px;border-radius:8px;object-fit:cover;}"],e=>e.$linked&&`
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    &:hover {
      border-color: rgba(0, 0, 0, 0.2);
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    }
  `),ir=j.span.withConfig({componentId:"sc-1y9axzq-30"})(["display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#FFFFFF;border-radius:8px 8px 8px 8px;border:1px solid #E3E3E3;"]),c0=j.p.withConfig({componentId:"sc-1y9axzq-31"})(["margin:0 0 12px;font-size:13px;line-height:1.6;color:#6B7280;a{color:#2563EB;text-decoration:none;}"]),u0=j.div.withConfig({componentId:"sc-1y9axzq-32"})(["margin-bottom:20px;position:relative;overflow-x:hidden;max-width:100%;width:100%;border-radius:16px;.react-syntax-highlighter{white-space:pre-wrap !important;word-break:break-word !important;overflow-wrap:anywhere !important;overflow-x:hidden !important;max-width:100% !important;width:100% !important;font-size:14px !important;line-height:1.5 !important;}pre{white-space:pre-wrap !important;word-break:break-word !important;overflow-wrap:anywhere !important;overflow-x:hidden !important;max-width:100% !important;width:100% !important;}pre code,code[class*='language-']{white-space:pre-wrap !important;word-break:break-word !important;overflow-wrap:anywhere !important;}"]),d0=j.div.withConfig({componentId:"sc-1y9axzq-33"})(["display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#FFFFFF;border-radius:8px 8px 8px 8px;border:1px solid #E3E3E3;cursor:pointer;position:absolute;right:16px;top:16px;"]),p0=j.div.withConfig({componentId:"sc-1y9axzq-34"})(["flex:1;"]),f0=j.div.withConfig({componentId:"sc-1y9axzq-35"})(["margin:0 0 12px;font-size:18px;font-weight:500;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;"]),m0=j.h1.withConfig({componentId:"sc-1y9axzq-36"})(["margin:0;font-size:32px;font-weight:600;line-height:1.25;color:#111111;word-break:break-word;"]),g0=j.div.withConfig({componentId:"sc-1y9axzq-37"})(["display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;min-width:0;"]),h0=j.a.withConfig({componentId:"sc-1y9axzq-38"})(["font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;color:#6B7280;background:#F4F5F7;border:1px solid #E3E3E3;border-radius:6px;padding:2px 8px;text-decoration:none;white-space:nowrap;&:hover{color:#2762FF;border-color:#2762FF;}"]),v0=j.div.withConfig({componentId:"sc-1y9axzq-39"})(["display:flex;align-items:center;gap:8px;code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;color:#353941;background:#F4F5F7;border:1px solid #E3E3E3;border-radius:6px;padding:2px 8px;word-break:break-all;}"]),sl=j.span.withConfig({componentId:"sc-1y9axzq-40"})(["font-size:13px;font-weight:500;color:#626773;white-space:nowrap;&::before{content:'·';margin-right:8px;color:#C4C7CE;}",""],e=>e.$linked&&`
    color: #2563EB;
    text-decoration: none;
    cursor: pointer;
    &:hover {
      color: #6180F9;
      text-decoration: underline;
      text-underline-offset: 2px;
    }
  `),$t=j.div.withConfig({componentId:"sc-1y9axzq-41"})(["margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid #EEEEEE;&:last-child{border-bottom:none;padding-bottom:0;}"]),sr=j.li.withConfig({componentId:"sc-1y9axzq-42"})(["font-size:12px;list-style-type:disc;color:#353941;"]),y0=j.div.withConfig({componentId:"sc-1y9axzq-43"})(["display:flex;flex-direction:row;align-items:flex-start;padding-bottom:24px;border-bottom:1px solid #EEEEEE;margin-bottom:32px;flex-wrap:wrap;row-gap:24px;column-gap:40px;"]),b0=j.div.withConfig({componentId:"sc-1y9axzq-44"})(["flex:1 1 520px;min-width:0;display:flex;flex-wrap:nowrap;align-items:flex-start;column-gap:24px;@media (max-width:768px){flex-wrap:wrap;row-gap:24px;}"]),lr=j.div.withConfig({componentId:"sc-1y9axzq-45"})(["flex:1 1 0;min-width:0;@media (max-width:768px){flex:1 1 45%;}"]),vn=j.h2.withConfig({componentId:"sc-1y9axzq-46"})(["font-weight:500;font-size:14px;color:#353941;line-height:24px;text-align:left;margin:0 0 16px;"]),cr=j.ul.withConfig({componentId:"sc-1y9axzq-47"})(["margin-top:16px;display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin:0;padding:0;list-style:none;"]),ur=j.li.withConfig({componentId:"sc-1y9axzq-48"})(["display:flex;align-items:center;gap:8px;font-size:12px;color:#353941;"]),x0=j.div.withConfig({componentId:"sc-1y9axzq-49"})(["flex:1 1 360px;min-width:0;"]),w0=j.ul.withConfig({componentId:"sc-1y9axzq-50"})(["column-count:2;column-gap:32px;margin:0;padding:0;list-style:none;@media (max-width:768px){column-count:1;}"]),S0=j.li.withConfig({componentId:"sc-1y9axzq-51"})(["break-inside:avoid;display:flex;align-items:center;gap:8px;padding:5px 0;font-size:12px;color:",";"],e=>e.$on?"#353941":"#B6BAC3"),_0=j.div.withConfig({componentId:"sc-1y9axzq-52"})(["border:1px solid rgba(0,0,0,0.1);border-radius:24px;padding:16px;margin-bottom:16px;background:white;"]),k0=j.div.withConfig({componentId:"sc-1y9axzq-53"})(["display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;"]),C0=j.div.withConfig({componentId:"sc-1y9axzq-54"})(["display:flex;align-items:center;gap:12px;"]),$0=j.div.withConfig({componentId:"sc-1y9axzq-55"})(["font-weight:500;font-size:14px;"]),ll=j.div.withConfig({componentId:"sc-1y9axzq-56"})(["display:flex;flex-direction:column;gap:10px;background:#F7F7F7;margin-bottom:1px;overflow-x:hidden;&.first-details{border-top-left-radius:8px;border-top-right-radius:8px;}&.last-details{margin-bottom:0;border-bottom-left-radius:8px;border-bottom-right-radius:8px;}@media (max-width:700px){overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px;}"]),cl=j.div.withConfig({componentId:"sc-1y9axzq-57"})(["display:flex;gap:8px;flex-wrap:nowrap;min-width:700px;width:100%;&:not(:last-child){border-bottom:1px solid #fff;}"]),ot=j.div.withConfig({componentId:"sc-1y9axzq-58"})(["display:flex;padding:8px 20px;flex-direction:column;align-items:center;font-size:14px;flex:1;span{display:flex;align-items:center;gap:4px;&:not(:last-child){margin-bottom:6px;color:#626773;}}& > span:first-child{white-space:nowrap;}"]),A0=j.div.withConfig({componentId:"sc-1y9axzq-59"})(["width:100%;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;"]),I0=j.div.withConfig({componentId:"sc-1y9axzq-60"})(["display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0;> .ant-segmented{min-width:0;max-width:100%;overflow-x:auto;scrollbar-width:none;&::-webkit-scrollbar{display:none;}}"]),At=j.h2.withConfig({componentId:"sc-1y9axzq-61"})(["font-size:18px;font-weight:bold;margin:0 0 16px;color:#111;"]),j0=j.a.withConfig({componentId:"sc-1y9axzq-62"})(["display:inline-block;font-size:14px;color:#2563eb;text-decoration:none;margin:-8px 0 12px;&:hover{text-decoration:underline;}"]),T0=j.table.withConfig({componentId:"sc-1y9axzq-63"})(["width:100%;display:block;overflow-x:auto;border-collapse:collapse;font-size:14px;th,td{text-align:left;padding:10px 12px;border-bottom:1px solid #eef0f3;vertical-align:top;}th{color:#626773;font-weight:500;white-space:nowrap;}td code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;color:#111;}tr.muted td{color:#9aa0aa;}tr.muted td code{color:#9aa0aa;text-decoration:line-through;}"]),E0=j.span.withConfig({componentId:"sc-1y9axzq-64"})(["display:inline-block;margin-left:8px;padding:0 6px;border-radius:4px;background:#f3f4f6;color:#626773;font-size:12px;line-height:18px;white-space:nowrap;"]);j.div.withConfig({componentId:"sc-1y9axzq-65"})(["margin-top:32px;display:flex;flex-direction:row;align-items:center;justify-content:flex-end;"]);const D0=j.div.withConfig({componentId:"sc-1y9axzq-66"})(["display:flex;align-items:flex-start;flex-direction:column;gap:40px;margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid #EEEEEE;"]),ul=j.ul.withConfig({componentId:"sc-1y9axzq-67"})(["flex:1;margin-left:24px;"]),Ba=j.div.withConfig({componentId:"sc-1y9axzq-68"})(["display:flex;align-items:flex-start;width:100%;"]),dl=j.h2.withConfig({componentId:"sc-1y9axzq-69"})(["width:144px;margin:0;font-size:14px;font-weight:500;color:#353941;flex-shrink:0;"]),O0=j.div.withConfig({componentId:"sc-1y9axzq-70"})(["flex:1;font-size:14px;color:#353941;line-height:1.7;overflow-x:auto;h1,h2,h3,h4,h5,h6{margin:16px 0 8px 0;font-weight:600;color:#111;}p{margin:0 0 12px 0;}ul,ol{padding-left:20px;}code{background:#f6f8fa;padding:2px 6px;border-radius:4px;}pre{background:#f6f8fa;padding:12px;border-radius:8px;overflow:auto;}table{border-collapse:collapse;}table th,table td{border:1px solid #e5e7eb;padding:6px 8px;}"]),R0=j.div.withConfig({componentId:"sc-1y9axzq-71"})(["flex:1;width:100%;overflow-x:auto;.ant-table{border-radius:8px;width:100%;}.ant-table-thead > tr > th{background:#fafafa;font-weight:600;color:#353941;border-bottom:1px solid #f0f0f0;}.ant-table-tbody > tr > td{border-bottom:1px solid #f0f0f0;color:#353941;}.ant-table-tbody > tr:hover > td{background:#f5f5f5;}"]),P0=j.div.withConfig({componentId:"sc-1y9axzq-72"})(["flex:1;width:100%;margin-bottom:24px;overflow-x:auto;"]),N0=j.div.withConfig({componentId:"sc-1y9axzq-73"})(["background:#F7F7F7;border-radius:8px;overflow-x:auto;border:1px solid #E5E7EB;width:100%;"]),F0=j.div.withConfig({componentId:"sc-1y9axzq-74"})(["display:grid;grid-template-columns:1fr repeat(",",minmax(80px,1fr));align-items:center;padding:12px 16px;background:#E5E7EB;font-size:14px;font-weight:600;color:#374151;gap:12px;min-width:max-content;"],e=>e.priceTypesCount||1),L0=j.div.withConfig({componentId:"sc-1y9axzq-75"})(["display:grid;grid-template-columns:1fr repeat(",",minmax(80px,1fr));align-items:center;padding:12px 16px;font-size:14px;border-top:1px solid #FFFFFF;gap:12px;color:#353941;min-width:max-content;&:first-child{border-top:none;}&:hover{background:#F0F0F0;}"],e=>e.priceTypesCount||1);export{za as buildProcessedModelData,ol as buildProvidersData,$c as buildTierCondition,ix as default};
