@tscircuit/runframe 0.0.1497 → 0.0.1499
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/standalone.min.js
CHANGED
|
@@ -5436,7 +5436,7 @@ $1`).replace(/>(\s*)(?=<!--\s*\/)/g,"> ")}}});function Ite(t,A,e){if(!A||!e)retu
|
|
|
5436
5436
|
&:hover {
|
|
5437
5437
|
background-color: rgba(255, 255, 255, 0.1);
|
|
5438
5438
|
}
|
|
5439
|
-
`,onClick:i=>{i.stopPropagation(),e()},onTouchEnd:i=>{i.preventDefault(),i.stopPropagation(),e()},children:[O.jsx("input",{type:"radio",checked:A,onChange:()=>{},readOnly:!0}),O.jsx("span",{style:{color:"#eee"},children:t})]}),VJt=({children:t,elements:A})=>{const e=WJt(),{isMouseOverContainer:i,setIsMouseOverContainer:o,selectedLayer:n,selectLayer:s,editModes:r,viewSettings:a,setEditMode:g,setIsShowingRatsNest:I,setIsShowingMultipleTracesLength:c,setIsShowingAutorouting:B,setIsShowingDrcErrors:l,setIsShowingCopperPours:C,setIsShowingPcbGroups:Q,setIsShowingGroupAnchorOffsets:E,setIsShowingSolderMask:h,setPcbGroupViewMode:u,setHoveredErrorId:d}=Wl($A=>({isMouseOverContainer:$A.is_mouse_over_container,setIsMouseOverContainer:$A.setIsMouseOverContainer,selectedLayer:$A.selected_layer,selectLayer:$A.selectLayer,editModes:{in_move_footprint_mode:$A.in_move_footprint_mode,in_draw_trace_mode:$A.in_draw_trace_mode},viewSettings:{is_showing_rats_nest:$A.is_showing_rats_nest,is_showing_multiple_traces_length:$A.is_showing_multiple_traces_length,is_showing_autorouting:$A.is_showing_autorouting,is_showing_drc_errors:$A.is_showing_drc_errors,is_showing_copper_pours:$A.is_showing_copper_pours,is_showing_pcb_groups:$A.is_showing_pcb_groups,is_showing_group_anchor_offsets:$A.is_showing_group_anchor_offsets,is_showing_solder_mask:$A.is_showing_solder_mask,pcb_group_view_mode:$A.pcb_group_view_mode},setEditMode:$A.setEditMode,setIsShowingRatsNest:$A.setIsShowingRatsNest,setIsShowingMultipleTracesLength:$A.setIsShowingMultipleTracesLength,setIsShowingAutorouting:$A.setIsShowingAutorouting,setIsShowingDrcErrors:$A.setIsShowingDrcErrors,setIsShowingCopperPours:$A.setIsShowingCopperPours,setIsShowingPcbGroups:$A.setIsShowingPcbGroups,setIsShowingGroupAnchorOffsets:$A.setIsShowingGroupAnchorOffsets,setIsShowingSolderMask:$A.setIsShowingSolderMask,setPcbGroupViewMode:$A.setPcbGroupViewMode,setHoveredErrorId:$A.setHoveredErrorId})),[f,m]=j.useState(!1),[S,D]=j.useState(!1),[x,F]=j.useState(!1),[k,v]=j.useState(!1),_=j.useRef(new Map),H=j.useRef(new Map);j.useEffect(()=>{const $A=()=>v(!0),ge=()=>v(!1);return window.addEventListener("arm-dimension-tool",$A),window.addEventListener("disarm-dimension-tool",ge),()=>{window.removeEventListener("arm-dimension-tool",$A),window.removeEventListener("disarm-dimension-tool",ge)}},[]);const P=A?.filter($A=>$A.type.includes("error")).length??0,J=A?.filter($A=>$A.type.includes("error"))||[],Z=A?.find($A=>$A.type==="pcb_board")?.num_layers||2,AA=Z<=2?["top","bottom"]:["top",...Array.from({length:Z-2},($A,ge)=>`inner${ge+1}`),"bottom"],nA=AA,gA=j.useRef(!1),tA=j.useRef(null),iA={1:AA[0]?()=>s(AA[0]):()=>{},2:AA[1]?()=>s(AA[1]):()=>{},3:AA[2]?()=>s(AA[2]):()=>{},4:AA[3]?()=>s(AA[3]):()=>{},5:AA[4]?()=>s(AA[4]):()=>{},6:AA[5]?()=>s(AA[5]):()=>{},7:AA[6]?()=>s(AA[6]):()=>{},8:AA[7]?()=>s(AA[7]):()=>{}};lk("1",iA[1],tA),lk("2",iA[2],tA),lk("3",iA[3],tA),lk("4",iA[4],tA),lk("5",iA[5],tA),lk("6",iA[6],tA),lk("7",iA[7],tA),lk("8",iA[8],tA),j.useLayoutEffect(()=>{if(gA.current)return;gA.current=!0;const $A=ge=>{if(tA.current){const yA=tA.current.getBoundingClientRect();ge.clientX>=yA.left&&ge.clientX<=yA.right&&ge.clientY>=yA.top&&ge.clientY<=yA.bottom&&o(!0)}document.removeEventListener("mousemove",$A)};return document.addEventListener("mousemove",$A),()=>{document.removeEventListener("mousemove",$A)}},[o]);const rA=j.useCallback(()=>{o(!0)},[o]),CA=j.useCallback(()=>{i||o(!0)},[i,o]),dA=j.useCallback(()=>{o(!1),D(!1),m(!1),F(!1),d(null)},[o,d]),SA=j.useCallback(()=>{D(!S)},[S]),xA=j.useCallback(()=>{const $A=!x;F($A),$A&&m(!1),$A||d(null)},[x,d]),JA=j.useCallback(()=>{g(r.in_draw_trace_mode?"off":"draw_trace")},[r.in_draw_trace_mode,g]),lA=j.useCallback(()=>{g(r.in_move_footprint_mode?"off":"move_footprint")},[r.in_move_footprint_mode,g]),RA=j.useCallback(()=>{I(!a.is_showing_rats_nest)},[a.is_showing_rats_nest,I]),uA=j.useCallback(()=>{v(!0),window.dispatchEvent(new Event("arm-dimension-tool"))},[]),KA=j.useCallback(()=>{const $A=!f;m($A),$A&&F(!1)},[f]);return O.jsxs("div",{ref:tA,style:{position:"relative",zIndex:"999 !important"},onMouseEnter:rA,onMouseLeave:dA,onMouseMove:CA,children:[t,O.jsxs("div",{style:{position:"absolute",bottom:4,right:8,pointerEvents:"none",color:"white",fontSize:11,opacity:i?.5:0,transition:"opacity 1s",transitionDelay:"2s",fontFamily:"sans-serif"},children:["@tscircuit/pcb-viewer@",OJt.version]}),O.jsxs("div",{"data-toolbar-overlay":!0,onTouchStart:$A=>$A.stopPropagation(),onTouchEnd:$A=>$A.stopPropagation(),onTouchMove:$A=>$A.stopPropagation(),style:{position:"absolute",opacity:e||i?1:0,top:16,left:16,right:e?16:"auto",transition:i?"opacity 100ms linear":"opacity 300ms linear",zIndex:QI.toolbarOverlay,color:"red",display:"flex",flexWrap:"wrap",gap:4,fontSize:12,fontFamily:"sans-serif"},children:[O.jsxs(KF,{isSmallScreen:e,onClick:SA,onMouseLeave:()=>{S&&D(!1)},children:[O.jsxs("div",{children:["layer:"," ",O.jsx("span",{style:{marginLeft:2,fontWeight:500,color:kZ[n]},children:n})]}),S&&O.jsx("div",{style:{marginTop:4,minWidth:120},children:nA.map($A=>O.jsx(ZJt,{name:$A,selected:$A===n,onClick:()=>{s($A)}},$A))})]}),O.jsx(KF,{isSmallScreen:e,style:{position:"relative",...P>0?{color:"red"}:{}},onClick:xA,children:O.jsxs("div",{children:[P," errors"]})}),x&&P>0&&O.jsx("div",{style:{position:"absolute",top:"100%",left:0,backgroundColor:"#2a2a2a",border:"1px solid #666",borderRadius:4,marginTop:4,zIndex:1e3,minWidth:e?"280px":"400px",maxWidth:e?"90vw":"600px",maxHeight:"400px",overflow:"auto",boxShadow:"0 4px 12px rgba(0, 0, 0, 0.3)"},children:J.map(($A,ge)=>{const yA=$A.pcb_trace_error_id||`error_${ge}_${$A.error_type}_${$A.message?.slice(0,20)}`;return O.jsxs("div",{style:{borderBottom:ge<J.length-1?"1px solid #444":"none"},children:[O.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12,padding:"12px 16px",cursor:"pointer",backgroundColor:"#2a2a2a",transition:"background-color 0.2s ease",touchAction:"manipulation"},onMouseEnter:qA=>{qA.currentTarget.style.backgroundColor="#333",d(yA)},onMouseLeave:qA=>{qA.currentTarget.style.backgroundColor="#2a2a2a",d(null)},onTouchStart:qA=>{qA.stopPropagation(),qA.currentTarget.style.backgroundColor="#333",d(yA)},onTouchEnd:qA=>{qA.stopPropagation(),qA.preventDefault(),qA.currentTarget.style.backgroundColor="#2a2a2a",d(null);const YA=_.current.get(ge),UA=H.current.get(ge);if(YA&&UA){const OA=YA.style.display!=="none";YA.style.display=OA?"none":"block",UA.style.transform=OA?"rotate(90deg)":"rotate(0deg)"}},onClick:qA=>{qA.stopPropagation();const YA=_.current.get(ge),UA=H.current.get(ge);if(YA&&UA){const OA=YA.style.display!=="none";YA.style.display=OA?"none":"block",UA.style.transform=OA?"rotate(90deg)":"rotate(0deg)"}},children:[O.jsx("div",{style:{fontWeight:"bold",fontSize:e?"12px":"13px",whiteSpace:"nowrap",flexShrink:0,color:"#ff6b6b",display:e?"none":"block"},children:$A.error_type}),O.jsx("div",{style:{flex:1,fontSize:e?"12px":"13px",color:"#ddd",lineHeight:1.4,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",userSelect:"text"},onMouseDown:qA=>qA.stopPropagation(),onClick:qA=>qA.stopPropagation(),children:$A.message}),O.jsx("div",{ref:qA=>{qA&&H.current.set(ge,qA)},"data-arrow-id":ge,style:{color:"#888",fontSize:"16px",transform:"rotate(90deg)",transition:"transform 0.2s ease",flexShrink:0},children:"›"})]}),O.jsx("div",{ref:qA=>{qA&&_.current.set(ge,qA)},"data-error-id":ge,style:{display:"none",padding:"12px 16px",backgroundColor:"#1a1a1a",borderTop:"1px solid #444"},children:O.jsx("div",{style:{fontSize:e?"11px":"12px",color:"#ccc",lineHeight:1.5,wordWrap:"break-word",overflowWrap:"break-word",hyphens:"auto",userSelect:"text"},onMouseDown:qA=>qA.stopPropagation(),onClick:qA=>qA.stopPropagation(),children:$A.message})})]},ge)})}),O.jsx(KF,{isSmallScreen:e,style:{},onClick:JA,children:O.jsxs("div",{children:[r.in_draw_trace_mode?"✖ ":"","Edit Traces"]})}),O.jsx(KF,{isSmallScreen:e,style:{},onClick:lA,children:O.jsxs("div",{children:[r.in_move_footprint_mode?"✖ ":"","Move Components"]})}),O.jsx(KF,{isSmallScreen:e,style:{},onClick:RA,children:O.jsxs("div",{children:[a.is_showing_rats_nest?"✖ ":"","Rats Nest"]})}),O.jsx(KF,{isSmallScreen:e,style:k?{backgroundColor:"#444"}:{},onClick:uA,children:O.jsx("div",{children:"📏"})}),O.jsx(KF,{isSmallScreen:e,onClick:KA,children:O.jsxs("div",{children:[O.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"4px"},children:["View",O.jsx("span",{style:{fontSize:"8px",transform:f?"rotate(180deg)":"rotate(0)",transition:"transform 0.1s ease",display:"inline-block"},children:"▼"})]}),f&&O.jsxs("div",{style:{marginTop:4,minWidth:120},children:[O.jsx(qF,{label:"Show All Trace Lengths",checked:a.is_showing_multiple_traces_length,onClick:()=>{c(!a.is_showing_multiple_traces_length)}}),O.jsx(qF,{label:"Show Autorouting Animation",checked:a.is_showing_autorouting,onClick:()=>{B(!a.is_showing_autorouting)}}),O.jsx(qF,{label:"Show DRC Errors",checked:a.is_showing_drc_errors,onClick:()=>{l(!a.is_showing_drc_errors)}}),O.jsx(qF,{label:"Show Copper Pours",checked:a.is_showing_copper_pours,onClick:()=>{C(!a.is_showing_copper_pours)}}),O.jsx(qF,{label:"Show Solder Mask",checked:a.is_showing_solder_mask,onClick:()=>{h(!a.is_showing_solder_mask)}}),O.jsx(qF,{label:"Show Group Anchor Offsets",checked:a.is_showing_group_anchor_offsets,onClick:()=>{E(!a.is_showing_group_anchor_offsets)}}),O.jsx(qF,{label:"Show PCB Groups",checked:a.is_showing_pcb_groups,onClick:()=>{Q(!a.is_showing_pcb_groups)}}),a.is_showing_pcb_groups&&O.jsxs("div",{style:{marginLeft:16},children:[O.jsx(Tte,{label:"Show All Groups",checked:a.pcb_group_view_mode==="all",onClick:()=>{u("all")}}),O.jsx(Tte,{label:"Show Named Groups",checked:a.pcb_group_view_mode==="named_only",onClick:()=>{u("named_only")}})]})]})]})})]})]})},jJt=t=>{const{transform:A,elements:e}=t,i=Wl(Q=>Q.hovered_error_id),o=Wl(Q=>Q.is_showing_copper_pours),n=j.useMemo(()=>o?e:e.filter(Q=>Q.type!=="pcb_copper_pour"),[e,o]),[s,r]=j.useMemo(()=>{const Q=n.flatMap(h=>yYt(h,t.elements)),E=hte(t.elements);return[Q,E]},[n,t.elements]),[a,g]=j.useState({drawingObjectIdsWithMouseOver:new Set,primitiveIdsInMousedOverNet:[]}),[I,c]=j.useState([]),B=j.useMemo(()=>{if(!i)return[];const E=e.filter(u=>u.type.includes("error")).find((u,d)=>(u.pcb_trace_error_id||`error_${d}_${u.error_type}_${u.message?.slice(0,20)}`)===i);if(!E)return[];const h=[];return E.pcb_trace_id&&h.push(E.pcb_trace_id),E.pcb_port_ids&&h.push(...E.pcb_port_ids),h},[i,e]),l=j.useMemo(()=>{const Q=[...a.primitiveIdsInMousedOverNet,...B];return CYt({primitivesWithoutInteractionMetadata:s,drawingObjectIdsWithMouseOver:a.drawingObjectIdsWithMouseOver,primitiveIdsInMousedOverNet:Q})},[s,a,B]),C=j.useCallback(Q=>{const E=[];for(const d of Q)if(d._element){const f=r.getNetConnectedToId("pcb_port_id"in d._element?d._element?.pcb_port_id:"pcb_trace_id"in d._element?d._element?.pcb_trace_id:"");E.push(...r.getIdsConnectedToNet(f))}const h=new Set(Q.map(d=>d._pcb_drawing_object_id));g({drawingObjectIdsWithMouseOver:h,primitiveIdsInMousedOverNet:E});const u=Q.map(d=>d._parent_pcb_component?.type==="pcb_component"&&d._parent_pcb_component.pcb_component_id?d._parent_pcb_component.pcb_component_id:d._element?.type==="pcb_component"&&d._element.pcb_component_id?d._element.pcb_component_id:null).filter(d=>!!d);c(Array.from(new Set(u)))},[r]);return O.jsx(KJt,{elements:n,transform:A,primitives:s,onMouseHoverOverPrimitives:C,children:O.jsx(pJt,{disabled:!t.allowEditing,transform:A,soup:e,cancelPanDrag:t.cancelPanDrag,onCreateEditEvent:t.onCreateEditEvent,onModifyEditEvent:t.onModifyEditEvent,children:O.jsx(mJt,{disabled:!t.allowEditing,transform:A,soup:e,cancelPanDrag:t.cancelPanDrag,onCreateEditEvent:t.onCreateEditEvent,onModifyEditEvent:t.onModifyEditEvent,children:O.jsx(uJt,{transform:A,focusOnHover:t.focusOnHover,primitives:s,children:O.jsx(VJt,{elements:e,children:O.jsx(bJt,{transform:A,elements:e,children:O.jsx(PJt,{transform:A,soup:e,children:O.jsx(qJt,{transform:A,elements:e,hoveredComponentIds:I,children:O.jsx(aJt,{transform:A,debugGraphics:t.debugGraphics,children:O.jsx(gJt,{transform:A,elements:e,children:O.jsx(iJt,{transform:A,primitives:l,elements:n,width:t.width,height:t.height,grid:t.grid})})})})})})})})})})})},MZ=t=>Number.isFinite(t)?t.toFixed(4):"NaN",zJt=t=>{let A=5381;for(let e=0;e<t.length;e++)A=(A<<5)+A+t.charCodeAt(e);return Math.abs(A)},XJt=t=>{if(!t?.length)return"0";const A=[];for(const o of t){if(!o?.type?.startsWith("pcb_"))continue;const n=ZHt(o),s=WhA([o]),r=[MZ(s.minX),MZ(s.minY),MZ(s.maxX),MZ(s.maxY)].join(",");let a=`${n}:${r}`;if(o.type==="pcb_trace"){const g=(o.route??[]).length;a+=`:${g}`}A.push(a)}if(A.length===0)return"0";A.sort();const e=A.join(","),i=zJt(e);return`${A.length}_${i.toString(36)}`},$Jt=t=>{if(!t)return"empty";const A=t.find(i=>i.type==="pcb_board");if(!A)return"no-board";const e=i=>Math.round(i*1e3)/1e3;return A.outline?A.outline.map(i=>`${e(i.x)}_${e(i.y)}`).join(","):`${e(A.width)}_${e(A.height)}`},ATt=vy(el(400,300),KH(40,-40)),eTt=({circuitJson:t,debugGraphics:A,height:e=600,initialState:i,allowEditing:o=!0,editEvents:n,onEditEventsChanged:s,focusOnHover:r=!1,clickToInteractEnabled:a=!1,disablePcbGroups:g=!1})=>{const[I,c]=j.useState(!a),[B,l]=iY(),[C,Q]=j.useState(ATt),{ref:E,setTransform:h,cancelDrag:u}=cYt({transform:C,onSetTransform:Q,enabled:I});let[d,f]=j.useState([]);d=n??d;const m=j.useRef(!1),S=j.useRef(null),D=j.useMemo(()=>XJt(t),[t]),x=$Jt(t),F=()=>{const J=l?.width>0?l:{width:500,height:500},{center:W,width:Z,height:AA}=v.some(tA=>tA.type.startsWith("pcb_"))?XHt(v.filter(tA=>tA.type.startsWith("pcb_"))):{center:{x:0,y:0},width:.001,height:.001},nA=Math.min((J.width??0)/Z,(J.height??0)/AA,100)*.75,gA=vy(el((J.width??0)/2,(J.height??0)/2),KH(nA,-nA,0,0),el(-W.x,-W.y));h(gA)};j.useEffect(()=>{l?.width&&t&&t.length!==0&&(m.current||(F(),m.current=!0))},[t,l]),j.useEffect(()=>{m.current===!0&&F()},[x]);const k=j.useMemo(()=>t?.filter(J=>J.type.startsWith("pcb_")||J.type.startsWith("source_"))??[],[D]),v=j.useMemo(()=>jqe({circuitJson:k,editEvents:d}),[k,d]),_=J=>{f([...d,J]),s?.([...d,J])},H=J=>{const W=d.map(Z=>Z.edit_event_id===J.edit_event_id?{...Z,...J}:Z);f(W),s?.(W)},P=j.useMemo(()=>({...i,...g&&{is_showing_pcb_groups:!1}}),[i,g]);return O.jsxs("div",{ref:E,style:{position:"relative"},onContextMenu:J=>J.preventDefault(),children:[O.jsx("div",{ref:B,children:O.jsxs(iYt,{initialState:P,disablePcbGroups:g,children:[O.jsx(jJt,{transform:C,height:e,width:l.width,allowEditing:o,focusOnHover:r,cancelPanDrag:u,onCreateEditEvent:_,onModifyEditEvent:H,grid:{spacing:1,view_window:{left:0,right:l.width||500,top:e,bottom:0}},elements:v,debugGraphics:A},l.width),O.jsx(nYt,{})]})}),a&&!I&&O.jsx("div",{onClick:()=>{c(!0),F()},onTouchStart:J=>{const W=J.touches[0];S.current={x:W.clientX,y:W.clientY}},onTouchEnd:J=>{const W=J.changedTouches[0],Z=S.current;if(!Z)return;const AA=Math.abs(W.clientX-Z.x),nA=Math.abs(W.clientY-Z.y);AA<10&&nA<10&&(J.preventDefault(),c(!0),F()),S.current=null},style:{position:"absolute",inset:0,cursor:"pointer",zIndex:QI.clickToInteractOverlay,display:"flex",alignItems:"center",justifyContent:"center",touchAction:"pan-x pan-y pinch-zoom"},children:O.jsx("div",{style:{backgroundColor:"rgba(0, 0, 0, 0.8)",color:"white",padding:"12px 24px",borderRadius:"8px",fontSize:"16px",pointerEvents:"none"},children:typeof window<"u"&&("ontouchstart"in window||navigator.maxTouchPoints>0)?"Touch to Interact":"Click to Interact"})})]})};const tTt=({containerClassName:t,...A})=>{const e=j.useRef(null),[i,o]=j.useState(620);return j.useLayoutEffect(()=>{const n=()=>{if(e.current){const r=e.current.clientHeight,a=window.innerHeight;o(Math.min(Math.max(r,620),a))}};n();const s=new ResizeObserver(n);return e.current&&s.observe(e.current),window.addEventListener("resize",n),()=>{s.disconnect(),window.removeEventListener("resize",n)}},[]),O.jsx("div",{ref:e,className:t||"rf-w-full rf-h-full",children:O.jsx(eTt,{...A,height:i})})},iTt='*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}:root{--radius:0.5rem}.rf-pointer-events-none{pointer-events:none}.rf-invisible{visibility:hidden}.rf-fixed{position:fixed}.rf-absolute{position:absolute}.rf-relative{position:relative}.rf-inset-0{inset:0}.-rf-left-2{left:-.5rem}.-rf-right-10{right:-2.5rem}.-rf-right-2{right:-.5rem}.-rf-right-4{right:-1rem}.-rf-right-6{right:-1.5rem}.-rf-right-7{right:-1.75rem}.-rf-right-8{right:-2rem}.-rf-right-9{right:-2.25rem}.rf-bottom-full{bottom:100%}.rf-left-0{left:0}.rf-left-1{left:.25rem}.rf-left-1\\/2{left:50%}.rf-left-2{left:.5rem}.rf-left-\\[50\\%\\]{left:50%}.rf-right-0{right:0}.rf-right-1{right:.25rem}.rf-right-4{right:1rem}.rf-right-\\[4px\\]{right:4px}.rf-top-0{top:0}.rf-top-1{top:.25rem}.rf-top-2{top:.5rem}.rf-top-2\\.5{top:.625rem}.rf-top-\\[50\\%\\]{top:50%}.rf-top-\\[6px\\]{top:6px}.\\!rf-z-\\[101\\]{z-index:101!important}.\\!rf-z-\\[200\\]{z-index:200!important}.rf-z-10{z-index:10}.rf-z-50{z-index:50}.rf-z-\\[100\\]{z-index:100}.rf-z-\\[101\\]{z-index:101}.rf-order-1{order:1}.rf-order-2{order:2}.rf-order-3{order:3}.rf-m-0{margin:0}.rf-m-1{margin:.25rem}.rf-m-6{margin:1.5rem}.-rf-mx-1,.rf--mx-1{margin-left:-.25rem;margin-right:-.25rem}.rf-mx-1{margin-left:.25rem;margin-right:.25rem}.rf-mx-2{margin-left:.5rem;margin-right:.5rem}.rf-mx-4{margin-left:1rem;margin-right:1rem}.rf-mx-auto{margin-left:auto;margin-right:auto}.rf-my-1{margin-bottom:.25rem;margin-top:.25rem}.rf-my-12{margin-bottom:3rem;margin-top:3rem}.rf-my-4{margin-bottom:1rem;margin-top:1rem}.rf-my-auto{margin-bottom:auto;margin-top:auto}.rf-mb-0{margin-bottom:0}.rf-mb-0\\.5{margin-bottom:.125rem}.rf-mb-1{margin-bottom:.25rem}.rf-mb-12{margin-bottom:3rem}.rf-mb-2{margin-bottom:.5rem}.rf-mb-3{margin-bottom:.75rem}.rf-mb-4{margin-bottom:1rem}.rf-mb-6{margin-bottom:1.5rem}.rf-mb-8{margin-bottom:2rem}.rf-ml-1{margin-left:.25rem}.rf-ml-2{margin-left:.5rem}.rf-ml-6{margin-left:1.5rem}.rf-ml-auto{margin-left:auto}.rf-mr-1{margin-right:.25rem}.rf-mr-2{margin-right:.5rem}.rf-mr-4{margin-right:1rem}.rf-mt-0{margin-top:0}.rf-mt-0\\.5{margin-top:.125rem}.rf-mt-1{margin-top:.25rem}.rf-mt-2{margin-top:.5rem}.rf-mt-3{margin-top:.75rem}.rf-mt-4{margin-top:1rem}.rf-mt-5{margin-top:1.25rem}.rf-mt-auto{margin-top:auto}.rf-block{display:block}.rf-inline-block{display:inline-block}.rf-inline{display:inline}.rf-flex{display:flex}.rf-inline-flex{display:inline-flex}.rf-grid{display:grid}.rf-hidden{display:none}.rf-aspect-square{aspect-ratio:1/1}.rf-aspect-video{aspect-ratio:16/9}.rf-size-14{height:3.5rem;width:3.5rem}.rf-size-4{height:1rem;width:1rem}.\\!rf-h-2{height:.5rem!important}.\\!rf-h-2\\.5{height:.625rem!important}.\\!rf-h-3{height:.75rem!important}.\\!rf-h-full{height:100%!important}.rf-h-1{height:.25rem}.rf-h-10{height:2.5rem}.rf-h-12{height:3rem}.rf-h-2{height:.5rem}.rf-h-2\\.5{height:.625rem}.rf-h-20{height:5rem}.rf-h-24{height:6rem}.rf-h-3{height:.75rem}.rf-h-3\\.5{height:.875rem}.rf-h-4{height:1rem}.rf-h-5{height:1.25rem}.rf-h-6{height:1.5rem}.rf-h-60{height:15rem}.rf-h-64{height:16rem}.rf-h-7{height:1.75rem}.rf-h-8{height:2rem}.rf-h-9{height:2.25rem}.rf-h-\\[400px\\]{height:400px}.rf-h-\\[calc\\(100vh-52px\\)\\]{height:calc(100vh - 52px)}.rf-h-\\[calc\\(100vh-60px\\)\\]{height:calc(100vh - 60px)}.rf-h-\\[var\\(--radix-select-trigger-height\\)\\]{height:var(--radix-select-trigger-height)}.rf-h-auto{height:auto}.rf-h-fit{height:-moz-fit-content;height:fit-content}.rf-h-full{height:100%}.rf-h-px{height:1px}.rf-h-screen{height:100vh}.\\!rf-max-h-\\[40vh\\]{max-height:40vh!important}.\\!rf-max-h-\\[80vh\\]{max-height:80vh!important}.rf-max-h-16{max-height:4rem}.rf-max-h-20{max-height:5rem}.rf-max-h-24{max-height:6rem}.rf-max-h-28{max-height:7rem}.rf-max-h-32{max-height:8rem}.rf-max-h-96{max-height:24rem}.rf-max-h-\\[120px\\]{max-height:120px}.rf-max-h-\\[150px\\]{max-height:150px}.rf-max-h-\\[200px\\]{max-height:200px}.rf-max-h-\\[300px\\]{max-height:300px}.rf-max-h-\\[90vh\\]{max-height:90vh}.rf-max-h-full{max-height:100%}.rf-max-h-none{max-height:none}.rf-min-h-0{min-height:0}.rf-min-h-\\[100px\\]{min-height:100px}.rf-min-h-\\[200px\\]{min-height:200px}.rf-min-h-\\[300px\\]{min-height:300px}.rf-min-h-\\[620px\\]{min-height:620px}.rf-min-h-\\[calc\\(100vh-240px\\)\\]{min-height:calc(100vh - 240px)}.rf-min-h-full{min-height:100%}.\\!rf-w-2{width:.5rem!important}.\\!rf-w-2\\.5{width:.625rem!important}.\\!rf-w-\\[95vw\\]{width:95vw!important}.rf-w-1{width:.25rem}.rf-w-10{width:2.5rem}.rf-w-11{width:2.75rem}.rf-w-11\\/12{width:91.666667%}.rf-w-12{width:3rem}.rf-w-16{width:4rem}.rf-w-2{width:.5rem}.rf-w-2\\.5{width:.625rem}.rf-w-20{width:5rem}.rf-w-24{width:6rem}.rf-w-28{width:7rem}.rf-w-3{width:.75rem}.rf-w-3\\.5{width:.875rem}.rf-w-32{width:8rem}.rf-w-4{width:1rem}.rf-w-40{width:10rem}.rf-w-48{width:12rem}.rf-w-5{width:1.25rem}.rf-w-6{width:1.5rem}.rf-w-64{width:16rem}.rf-w-72{width:18rem}.rf-w-8{width:2rem}.rf-w-80{width:20rem}.rf-w-9{width:2.25rem}.rf-w-96{width:24rem}.rf-w-fit{width:-moz-fit-content;width:fit-content}.rf-w-full{width:100%}.rf-w-screen{width:100vw}.rf-min-w-0{min-width:0}.rf-min-w-10{min-width:2.5rem}.rf-min-w-16{min-width:4rem}.rf-min-w-32{min-width:8rem}.rf-min-w-80{min-width:20rem}.rf-min-w-96{min-width:24rem}.rf-min-w-\\[12px\\]{min-width:12px}.rf-min-w-\\[148px\\]{min-width:148px}.rf-min-w-\\[600px\\]{min-width:600px}.rf-min-w-\\[8rem\\]{min-width:8rem}.rf-min-w-\\[var\\(--radix-select-trigger-width\\)\\]{min-width:var(--radix-select-trigger-width)}.\\!rf-max-w-\\[95vw\\]{max-width:95vw!important}.rf-max-w-2xl{max-width:42rem}.rf-max-w-3xl{max-width:48rem}.rf-max-w-4xl{max-width:56rem}.rf-max-w-5xl{max-width:64rem}.rf-max-w-64{max-width:16rem}.rf-max-w-96{max-width:24rem}.rf-max-w-\\[1000px\\]{max-width:1000px}.rf-max-w-\\[150px\\]{max-width:150px}.rf-max-w-\\[200px\\]{max-width:200px}.rf-max-w-\\[40\\%\\]{max-width:40%}.rf-max-w-\\[600px\\]{max-width:600px}.rf-max-w-full{max-width:100%}.rf-max-w-lg{max-width:32rem}.rf-max-w-md{max-width:28rem}.rf-max-w-none{max-width:none}.rf-max-w-xl{max-width:36rem}.rf-max-w-xs{max-width:20rem}.rf-flex-1{flex:1 1 0%}.rf-flex-shrink-0,.rf-shrink-0{flex-shrink:0}.rf-flex-grow{flex-grow:1}.rf-table-auto{table-layout:auto}.rf-origin-\\[--radix-popover-content-transform-origin\\]{transform-origin:var(--radix-popover-content-transform-origin)}.-rf-translate-x-1{--tw-translate-x:-0.25rem}.-rf-translate-x-1,.-rf-translate-x-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rf-translate-x-1\\/2{--tw-translate-x:-50%}.-rf-translate-y-1{--tw-translate-y:-0.25rem}.-rf-translate-y-1,.rf--translate-x-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rf--translate-x-1{--tw-translate-x:-0.25rem}.rf--translate-x-1\\/2{--tw-translate-x:-50%}.rf--translate-x-1\\/2,.rf--translate-y-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rf--translate-y-1{--tw-translate-y:-0.25rem}.rf-translate-x-\\[-50\\%\\]{--tw-translate-x:-50%}.rf-translate-x-\\[-50\\%\\],.rf-translate-y-\\[-50\\%\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rf-translate-y-\\[-50\\%\\]{--tw-translate-y:-50%}.-rf-rotate-90{--tw-rotate:-90deg}.-rf-rotate-90,.rf-rotate-90{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rf-rotate-90{--tw-rotate:90deg}.rf-transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes rf-pulse{50%{opacity:.5}}.rf-animate-pulse{animation:rf-pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes rf-spin{to{transform:rotate(1turn)}}.rf-animate-spin{animation:rf-spin 1s linear infinite}.rf-cursor-default{cursor:default}.rf-cursor-not-allowed{cursor:not-allowed}.rf-cursor-pointer{cursor:pointer}.rf-select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.rf-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.rf-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.rf-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.rf-flex-row{flex-direction:row}.rf-flex-col{flex-direction:column}.rf-flex-col-reverse{flex-direction:column-reverse}.rf-flex-wrap{flex-wrap:wrap}.rf-place-content-center{place-content:center}.rf-place-items-center{place-items:center}.rf-items-start{align-items:flex-start}.rf-items-end{align-items:flex-end}.rf-items-center{align-items:center}.rf-items-baseline{align-items:baseline}.rf-items-stretch{align-items:stretch}.rf-justify-end{justify-content:flex-end}.rf-justify-center{justify-content:center}.rf-justify-between{justify-content:space-between}.rf-gap-0{gap:0}.rf-gap-1{gap:.25rem}.rf-gap-1\\.5{gap:.375rem}.rf-gap-2{gap:.5rem}.rf-gap-3{gap:.75rem}.rf-gap-4{gap:1rem}.rf-gap-5{gap:1.25rem}.rf-gap-6{gap:1.5rem}.rf-gap-8{gap:2rem}.rf-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.rf-space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.rf-space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.rf-space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.rf-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.rf-space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.rf-divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.rf-overflow-auto{overflow:auto}.rf-overflow-hidden{overflow:hidden}.rf-overflow-visible{overflow:visible}.rf-overflow-x-auto{overflow-x:auto}.\\!rf-overflow-y-auto{overflow-y:auto!important}.rf-overflow-y-auto{overflow-y:auto}.rf-overflow-x-hidden{overflow-x:hidden}.rf-overflow-x-clip{overflow-x:clip}.rf-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rf-whitespace-normal{white-space:normal}.rf-whitespace-nowrap{white-space:nowrap}.rf-whitespace-pre-wrap{white-space:pre-wrap}.rf-text-nowrap{text-wrap:nowrap}.rf-break-words{overflow-wrap:break-word}.rf-break-all{word-break:break-all}.rf-rounded{border-radius:.25rem}.rf-rounded-2xl{border-radius:1rem}.rf-rounded-full{border-radius:9999px}.rf-rounded-lg{border-radius:var(--radius)}.rf-rounded-md{border-radius:calc(var(--radius) - 2px)}.rf-rounded-sm{border-radius:calc(var(--radius) - 4px)}.rf-rounded-xl{border-radius:.75rem}.rf-border{border-width:1px}.rf-border-2{border-width:2px}.rf-border-b{border-bottom-width:1px}.rf-border-l-2{border-left-width:2px}.rf-border-l-4{border-left-width:4px}.rf-border-r{border-right-width:1px}.rf-border-t{border-top-width:1px}.rf-border-none{border-style:none}.rf-border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.rf-border-blue-300{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.rf-border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.rf-border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.rf-border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.rf-border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.rf-border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.rf-border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.rf-border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.rf-border-green-400{--tw-border-opacity:1;border-color:rgb(74 222 128/var(--tw-border-opacity,1))}.rf-border-input{border-color:hsl(var(--input))}.rf-border-neutral-200{--tw-border-opacity:1;border-color:rgb(229 229 229/var(--tw-border-opacity,1))}.rf-border-orange-100{--tw-border-opacity:1;border-color:rgb(255 237 213/var(--tw-border-opacity,1))}.rf-border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.rf-border-orange-500{--tw-border-opacity:1;border-color:rgb(249 115 22/var(--tw-border-opacity,1))}.rf-border-primary{border-color:hsl(var(--primary))}.rf-border-red-100{--tw-border-opacity:1;border-color:rgb(254 226 226/var(--tw-border-opacity,1))}.rf-border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.rf-border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.rf-border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.rf-border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.rf-border-red-600{--tw-border-opacity:1;border-color:rgb(220 38 38/var(--tw-border-opacity,1))}.rf-border-red-700{--tw-border-opacity:1;border-color:rgb(185 28 28/var(--tw-border-opacity,1))}.rf-border-red-800{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.rf-border-slate-700{--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1))}.rf-border-slate-800{--tw-border-opacity:1;border-color:rgb(30 41 59/var(--tw-border-opacity,1))}.rf-border-slate-800\\/60{border-color:rgba(30,41,59,.6)}.rf-border-yellow-200{--tw-border-opacity:1;border-color:rgb(254 240 138/var(--tw-border-opacity,1))}.rf-border-zinc-200{--tw-border-opacity:1;border-color:rgb(228 228 231/var(--tw-border-opacity,1))}.rf-border-zinc-900{--tw-border-opacity:1;border-color:rgb(24 24 27/var(--tw-border-opacity,1))}.rf-border-l-blue-500{--tw-border-opacity:1;border-left-color:rgb(59 130 246/var(--tw-border-opacity,1))}.rf-border-t-blue-600{--tw-border-opacity:1;border-top-color:rgb(37 99 235/var(--tw-border-opacity,1))}.rf-bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.rf-bg-amber-50\\/30{background-color:rgba(255,251,235,.3)}.rf-bg-background{background-color:hsl(var(--background))}.rf-bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.rf-bg-black\\/80{background-color:rgba(0,0,0,.8)}.rf-bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.rf-bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.rf-bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.rf-bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.rf-bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.rf-bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.rf-bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.rf-bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.rf-bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.rf-bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.rf-bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.rf-bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.rf-bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.rf-bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.rf-bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.rf-bg-muted{background-color:hsl(var(--muted))}.rf-bg-neutral-100{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity,1))}.rf-bg-neutral-50{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.rf-bg-neutral-800{--tw-bg-opacity:1;background-color:rgb(38 38 38/var(--tw-bg-opacity,1))}.rf-bg-neutral-900{--tw-bg-opacity:1;background-color:rgb(23 23 23/var(--tw-bg-opacity,1))}.rf-bg-orange-400{--tw-bg-opacity:1;background-color:rgb(251 146 60/var(--tw-bg-opacity,1))}.rf-bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.rf-bg-orange-50\\/50{background-color:rgba(255,247,237,.5)}.rf-bg-orange-500{--tw-bg-opacity:1;background-color:rgb(249 115 22/var(--tw-bg-opacity,1))}.rf-bg-popover{background-color:hsl(var(--popover))}.rf-bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.rf-bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.rf-bg-red-50\\/50{background-color:hsla(0,86%,97%,.5)}.rf-bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.rf-bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.rf-bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.rf-bg-red-950{--tw-bg-opacity:1;background-color:rgb(69 10 10/var(--tw-bg-opacity,1))}.rf-bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.rf-bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.rf-bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.rf-bg-transparent{background-color:transparent}.rf-bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.rf-bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.rf-bg-yellow-50{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity,1))}.rf-bg-zinc-100{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity,1))}.rf-bg-zinc-200{--tw-bg-opacity:1;background-color:rgb(228 228 231/var(--tw-bg-opacity,1))}.rf-bg-zinc-50{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.rf-bg-zinc-800{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.rf-bg-zinc-900{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity,1))}.rf-bg-zinc-950{--tw-bg-opacity:1;background-color:rgb(9 9 11/var(--tw-bg-opacity,1))}.rf-bg-opacity-50{--tw-bg-opacity:0.5}.rf-fill-amber-500{fill:#f59e0b}.rf-fill-current{fill:currentColor}.rf-object-contain{-o-object-fit:contain;object-fit:contain}.rf-object-cover{-o-object-fit:cover;object-fit:cover}.\\!rf-p-0{padding:0!important}.rf-p-0{padding:0}.rf-p-1{padding:.25rem}.rf-p-2{padding:.5rem}.rf-p-3{padding:.75rem}.rf-p-4{padding:1rem}.rf-p-5{padding:1.25rem}.rf-p-6{padding:1.5rem}.rf-p-8{padding:2rem}.rf-px-1{padding-left:.25rem;padding-right:.25rem}.rf-px-1\\.5{padding-left:.375rem;padding-right:.375rem}.rf-px-2{padding-left:.5rem;padding-right:.5rem}.rf-px-2\\.5{padding-left:.625rem;padding-right:.625rem}.rf-px-3{padding-left:.75rem;padding-right:.75rem}.rf-px-4{padding-left:1rem;padding-right:1rem}.rf-px-6{padding-left:1.5rem;padding-right:1.5rem}.rf-px-8{padding-left:2rem;padding-right:2rem}.rf-py-0{padding-bottom:0;padding-top:0}.rf-py-0\\.5{padding-bottom:.125rem;padding-top:.125rem}.rf-py-1{padding-bottom:.25rem;padding-top:.25rem}.rf-py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.rf-py-10{padding-bottom:2.5rem;padding-top:2.5rem}.rf-py-12{padding-bottom:3rem;padding-top:3rem}.rf-py-2{padding-bottom:.5rem;padding-top:.5rem}.rf-py-3{padding-bottom:.75rem;padding-top:.75rem}.rf-py-4{padding-bottom:1rem;padding-top:1rem}.rf-py-6{padding-bottom:1.5rem;padding-top:1.5rem}.rf-py-8{padding-bottom:2rem;padding-top:2rem}.rf-pb-0{padding-bottom:0}.rf-pb-1{padding-bottom:.25rem}.rf-pb-2{padding-bottom:.5rem}.rf-pb-3{padding-bottom:.75rem}.rf-pb-4{padding-bottom:1rem}.rf-pb-px{padding-bottom:1px}.rf-pl-10{padding-left:2.5rem}.rf-pl-11{padding-left:2.75rem}.rf-pl-12{padding-left:3rem}.rf-pl-2{padding-left:.5rem}.rf-pl-4{padding-left:1rem}.rf-pl-8{padding-left:2rem}.rf-pr-2{padding-right:.5rem}.rf-pt-0{padding-top:0}.rf-pt-1{padding-top:.25rem}.rf-pt-2{padding-top:.5rem}.rf-pt-4{padding-top:1rem}.rf-text-left{text-align:left}.rf-text-center{text-align:center}.rf-text-right{text-align:right}.rf-align-bottom{vertical-align:bottom}.rf-font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.rf-font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.rf-text-2xl{font-size:1.5rem;line-height:2rem}.rf-text-3xl{font-size:1.875rem;line-height:2.25rem}.rf-text-\\[10px\\]{font-size:10px}.rf-text-\\[11px\\]{font-size:11px}.rf-text-\\[8px\\]{font-size:8px}.rf-text-base{font-size:1rem;line-height:1.5rem}.rf-text-lg{font-size:1.125rem;line-height:1.75rem}.rf-text-sm{font-size:.875rem;line-height:1.25rem}.rf-text-xl{font-size:1.25rem;line-height:1.75rem}.rf-text-xs{font-size:.75rem;line-height:1rem}.\\!rf-font-normal{font-weight:400!important}.rf-font-bold{font-weight:700}.rf-font-medium{font-weight:500}.rf-font-semibold{font-weight:600}.rf-uppercase{text-transform:uppercase}.rf-capitalize{text-transform:capitalize}.rf-tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.rf-leading-5{line-height:1.25rem}.rf-leading-\\[0\\.95rem\\]{line-height:.95rem}.rf-leading-\\[1rem\\]{line-height:1rem}.rf-leading-none{line-height:1}.rf-leading-relaxed{line-height:1.625}.rf-leading-tight{line-height:1.25}.rf-tracking-wide{letter-spacing:.025em}.rf-tracking-widest{letter-spacing:.1em}.rf-text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.rf-text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.rf-text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.rf-text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.rf-text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.rf-text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.rf-text-blue-900{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity,1))}.rf-text-current{color:currentColor}.rf-text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.rf-text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.rf-text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.rf-text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.rf-text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.rf-text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.rf-text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.rf-text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.rf-text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.rf-text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.rf-text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.rf-text-green-900{--tw-text-opacity:1;color:rgb(20 83 45/var(--tw-text-opacity,1))}.rf-text-muted-foreground{color:hsl(var(--muted-foreground))}.rf-text-neutral-50{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.rf-text-neutral-500{--tw-text-opacity:1;color:rgb(115 115 115/var(--tw-text-opacity,1))}.rf-text-neutral-900{--tw-text-opacity:1;color:rgb(23 23 23/var(--tw-text-opacity,1))}.rf-text-neutral-950{--tw-text-opacity:1;color:rgb(10 10 10/var(--tw-text-opacity,1))}.rf-text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.rf-text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.rf-text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.rf-text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.rf-text-orange-800{--tw-text-opacity:1;color:rgb(154 52 18/var(--tw-text-opacity,1))}.rf-text-popover-foreground{color:hsl(var(--popover-foreground))}.rf-text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.rf-text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.rf-text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.rf-text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.rf-text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.rf-text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.rf-text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.rf-text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.rf-text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.rf-text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.rf-text-slate-50{--tw-text-opacity:1;color:rgb(248 250 252/var(--tw-text-opacity,1))}.rf-text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.rf-text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.rf-text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.rf-text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.rf-text-yellow-400{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.rf-text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.rf-text-yellow-600{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity,1))}.rf-text-yellow-700{--tw-text-opacity:1;color:rgb(161 98 7/var(--tw-text-opacity,1))}.rf-text-yellow-900{--tw-text-opacity:1;color:rgb(113 63 18/var(--tw-text-opacity,1))}.rf-text-zinc-200{--tw-text-opacity:1;color:rgb(228 228 231/var(--tw-text-opacity,1))}.rf-text-zinc-300{--tw-text-opacity:1;color:rgb(212 212 216/var(--tw-text-opacity,1))}.rf-text-zinc-400{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.rf-text-zinc-50{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.rf-text-zinc-500{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.rf-text-zinc-900{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}.rf-text-zinc-950{--tw-text-opacity:1;color:rgb(9 9 11/var(--tw-text-opacity,1))}.rf-underline{text-decoration-line:underline}.rf-line-through{text-decoration-line:line-through}.rf-underline-offset-4{text-underline-offset:4px}.rf-opacity-0{opacity:0}.rf-opacity-100{opacity:1}.rf-opacity-25{opacity:.25}.rf-opacity-30{opacity:.3}.rf-opacity-50{opacity:.5}.rf-opacity-60{opacity:.6}.rf-opacity-70{opacity:.7}.rf-opacity-75{opacity:.75}.rf-shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.rf-shadow,.rf-shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.rf-shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.rf-shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.rf-shadow-md,.rf-shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.rf-shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.rf-shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.rf-shadow-sm,.rf-shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.rf-shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.rf-outline-none{outline:2px solid transparent;outline-offset:2px}.rf-ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.rf-ring-blue-500{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.rf-ring-primary{--tw-ring-color:hsl(var(--primary))}.rf-ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.rf-ring-offset-white{--tw-ring-offset-color:#fff}.rf-transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.rf-transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.rf-transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.rf-transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.rf-transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.rf-duration-150{transition-duration:.15s}.rf-duration-200{transition-duration:.2s}.rf-ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.rf-animate-in{animation-duration:.15s;animation-name:enter;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.rf-fade-in-0{--tw-enter-opacity:0}.rf-zoom-in-95{--tw-enter-scale:.95}.rf-slide-in-from-left-1{--tw-enter-translate-x:-0.25rem}.rf-slide-out-to-left-1{--tw-exit-translate-x:-0.25rem}.rf-duration-150{animation-duration:.15s}.rf-duration-200{animation-duration:.2s}.rf-ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.file\\:rf-border-0::file-selector-button{border-width:0}.file\\:rf-bg-transparent::file-selector-button{background-color:transparent}.file\\:rf-text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\\:rf-font-medium::file-selector-button{font-weight:500}.placeholder\\:rf-text-zinc-500::-moz-placeholder{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.placeholder\\:rf-text-zinc-500::placeholder{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.hover\\:rf-border-blue-300:hover{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.hover\\:\\!rf-bg-transparent:hover{background-color:transparent!important}.hover\\:rf-bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.hover\\:rf-bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\\:rf-bg-orange-100:hover{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.hover\\:rf-bg-red-100:hover{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.hover\\:rf-bg-red-500\\/90:hover{background-color:rgba(239,68,68,.9)}.hover\\:rf-bg-slate-100:hover{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.hover\\:rf-bg-slate-200:hover{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.hover\\:rf-bg-slate-50:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.hover\\:rf-bg-zinc-100:hover{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity,1))}.hover\\:rf-bg-zinc-100\\/80:hover{background-color:hsla(240,5%,96%,.8)}.hover\\:rf-bg-zinc-900\\/90:hover{background-color:rgba(24,24,27,.9)}.hover\\:rf-text-blue-800:hover{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.hover\\:rf-text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.hover\\:rf-text-red-400:hover{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.hover\\:rf-text-slate-800:hover{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.hover\\:rf-text-slate-900:hover{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.hover\\:rf-text-zinc-900:hover{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}.hover\\:rf-underline:hover{text-decoration-line:underline}.focus\\:rf-bg-gray-100:focus{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.focus\\:rf-bg-zinc-100:focus{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity,1))}.focus\\:rf-text-gray-900:focus{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.focus\\:rf-text-zinc-900:focus{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}.focus\\:rf-outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:rf-ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:rf-ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.focus\\:rf-ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\\:rf-ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\\:rf-outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\\:rf-ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\\:rf-ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\\:rf-ring-zinc-950:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(9 9 11/var(--tw-ring-opacity,1))}.focus-visible\\:rf-ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.disabled\\:rf-pointer-events-none:disabled{pointer-events:none}.disabled\\:rf-cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:rf-opacity-50:disabled{opacity:.5}.rf-group:hover .group-hover\\:rf-opacity-100,.rf-group\\/bar:hover .group-hover\\/bar\\:rf-opacity-100{opacity:1}.rf-peer:disabled~.peer-disabled\\:rf-cursor-not-allowed{cursor:not-allowed}.rf-peer:disabled~.peer-disabled\\:rf-opacity-70{opacity:.7}.data-\\[disabled\\=true\\]\\:rf-pointer-events-none[data-disabled=true],.data-\\[disabled\\]\\:rf-pointer-events-none[data-disabled]{pointer-events:none}.data-\\[side\\=bottom\\]\\:rf-translate-y-1[data-side=bottom]{--tw-translate-y:0.25rem}.data-\\[side\\=bottom\\]\\:rf-translate-y-1[data-side=bottom],.data-\\[side\\=left\\]\\:-rf-translate-x-1[data-side=left]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\\[side\\=left\\]\\:-rf-translate-x-1[data-side=left]{--tw-translate-x:-0.25rem}.data-\\[side\\=right\\]\\:rf-translate-x-1[data-side=right]{--tw-translate-x:0.25rem}.data-\\[side\\=right\\]\\:rf-translate-x-1[data-side=right],.data-\\[side\\=top\\]\\:-rf-translate-y-1[data-side=top]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\\[side\\=top\\]\\:-rf-translate-y-1[data-side=top]{--tw-translate-y:-0.25rem}.data-\\[selected\\=true\\]\\:rf-bg-zinc-100[data-selected=true]{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity,1))}.data-\\[state\\=active\\]\\:rf-bg-white[data-state=active]{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.data-\\[state\\=checked\\]\\:rf-bg-zinc-900[data-state=checked]{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity,1))}.data-\\[state\\=open\\]\\:rf-bg-zinc-100[data-state=open]{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity,1))}.data-\\[selected\\=true\\]\\:rf-text-zinc-900[data-selected=true]{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}.data-\\[state\\=active\\]\\:rf-text-zinc-950[data-state=active]{--tw-text-opacity:1;color:rgb(9 9 11/var(--tw-text-opacity,1))}.data-\\[state\\=checked\\]\\:rf-text-zinc-50[data-state=checked]{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.data-\\[disabled\\=true\\]\\:rf-opacity-50[data-disabled=true],.data-\\[disabled\\]\\:rf-opacity-50[data-disabled]{opacity:.5}.data-\\[state\\=active\\]\\:rf-shadow[data-state=active]{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.data-\\[state\\=open\\]\\:rf-animate-in[data-state=open]{animation-duration:.15s;animation-name:enter;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.data-\\[state\\=closed\\]\\:rf-animate-out[data-state=closed]{animation-duration:.15s;animation-name:exit;--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial}.data-\\[state\\=closed\\]\\:rf-fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\\[state\\=open\\]\\:rf-fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\\[state\\=closed\\]\\:rf-zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\\[state\\=open\\]\\:rf-zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\\[side\\=bottom\\]\\:rf-slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-0.5rem}.data-\\[side\\=left\\]\\:rf-slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:0.5rem}.data-\\[side\\=right\\]\\:rf-slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-0.5rem}.data-\\[side\\=top\\]\\:rf-slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:0.5rem}.data-\\[state\\=closed\\]\\:rf-slide-out-to-left-1\\/2[data-state=closed]{--tw-exit-translate-x:-50%}.data-\\[state\\=closed\\]\\:rf-slide-out-to-top-\\[48\\%\\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\\[state\\=open\\]\\:rf-slide-in-from-left-1\\/2[data-state=open]{--tw-enter-translate-x:-50%}.data-\\[state\\=open\\]\\:rf-slide-in-from-top-\\[48\\%\\][data-state=open]{--tw-enter-translate-y:-48%}.dark\\:rf-border-zinc-50:is(.rf-dark *){--tw-border-opacity:1;border-color:rgb(250 250 250/var(--tw-border-opacity,1))}.dark\\:rf-border-zinc-800:is(.rf-dark *){--tw-border-opacity:1;border-color:rgb(39 39 42/var(--tw-border-opacity,1))}.dark\\:rf-bg-gray-700:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\\:rf-bg-gray-800:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.dark\\:rf-bg-red-900:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.dark\\:rf-bg-zinc-50:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.dark\\:rf-bg-zinc-800:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.dark\\:rf-bg-zinc-950:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(9 9 11/var(--tw-bg-opacity,1))}.dark\\:rf-text-gray-500:is(.rf-dark *){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.dark\\:rf-text-zinc-400:is(.rf-dark *){--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.dark\\:rf-text-zinc-50:is(.rf-dark *){--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.dark\\:rf-text-zinc-900:is(.rf-dark *){--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}.dark\\:rf-placeholder-zinc-400:is(.rf-dark *)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(161 161 170/var(--tw-placeholder-opacity,1))}.dark\\:rf-placeholder-zinc-400:is(.rf-dark *)::placeholder{--tw-placeholder-opacity:1;color:rgb(161 161 170/var(--tw-placeholder-opacity,1))}.dark\\:rf-ring-offset-zinc-950:is(.rf-dark *){--tw-ring-offset-color:#09090b}.dark\\:placeholder\\:rf-text-zinc-400:is(.rf-dark *)::-moz-placeholder{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.dark\\:placeholder\\:rf-text-zinc-400:is(.rf-dark *)::placeholder{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.dark\\:hover\\:rf-bg-red-900\\/90:hover:is(.rf-dark *){background-color:rgba(127,29,29,.9)}.dark\\:hover\\:rf-bg-zinc-50\\/90:hover:is(.rf-dark *){background-color:hsla(0,0%,98%,.9)}.dark\\:hover\\:rf-bg-zinc-800:hover:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.dark\\:hover\\:rf-bg-zinc-800\\/80:hover:is(.rf-dark *){background-color:rgba(39,39,42,.8)}.dark\\:hover\\:rf-text-zinc-50:hover:is(.rf-dark *){--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.dark\\:focus\\:rf-bg-zinc-800:focus:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.dark\\:focus\\:rf-text-zinc-50:focus:is(.rf-dark *){--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.dark\\:focus-visible\\:rf-ring-zinc-300:focus-visible:is(.rf-dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(212 212 216/var(--tw-ring-opacity,1))}.dark\\:data-\\[selected\\=true\\]\\:rf-bg-zinc-800[data-selected=true]:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.dark\\:data-\\[state\\=active\\]\\:rf-bg-zinc-950[data-state=active]:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(9 9 11/var(--tw-bg-opacity,1))}.dark\\:data-\\[state\\=checked\\]\\:rf-bg-zinc-50[data-state=checked]:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.dark\\:data-\\[state\\=open\\]\\:rf-bg-zinc-800[data-state=open]:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.dark\\:data-\\[selected\\=true\\]\\:rf-text-zinc-50[data-selected=true]:is(.rf-dark *){--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.dark\\:data-\\[state\\=active\\]\\:rf-text-zinc-50[data-state=active]:is(.rf-dark *){--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.dark\\:data-\\[state\\=checked\\]\\:rf-text-zinc-900[data-state=checked]:is(.rf-dark *){--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}@media (min-width:640px){.sm\\:rf-order-1{order:1}.sm\\:rf-order-2{order:2}.sm\\:rf-mt-0{margin-top:0}.sm\\:rf-mt-4{margin-top:1rem}.sm\\:rf-block{display:block}.sm\\:rf-inline{display:inline}.sm\\:rf-grid{display:grid}.sm\\:rf-hidden{display:none}.sm\\:rf-h-5{height:1.25rem}.sm\\:rf-w-1\\/2{width:50%}.sm\\:rf-w-5{width:1.25rem}.sm\\:rf-w-\\[90vw\\]{width:90vw}.sm\\:rf-w-auto{width:auto}.sm\\:rf-max-w-\\[500px\\]{max-width:500px}.sm\\:rf-max-w-md{max-width:28rem}.sm\\:rf-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\\:rf-grid-cols-\\[1fr_auto\\]{grid-template-columns:1fr auto}.sm\\:rf-grid-cols-\\[minmax\\(0\\2c 1fr\\)_auto\\]{grid-template-columns:minmax(0,1fr) auto}.sm\\:rf-flex-row{flex-direction:row}.sm\\:rf-items-center{align-items:center}.sm\\:rf-justify-end{justify-content:flex-end}.sm\\:rf-gap-3{gap:.75rem}.sm\\:rf-gap-4{gap:1rem}.sm\\:rf-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.sm\\:rf-rounded-lg{border-radius:var(--radius)}.sm\\:rf-p-3{padding:.75rem}.sm\\:rf-p-6{padding:1.5rem}.sm\\:rf-px-4{padding-left:1rem;padding-right:1rem}.sm\\:rf-px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\\:rf-py-6{padding-bottom:1.5rem;padding-top:1.5rem}.sm\\:rf-text-left{text-align:left}.sm\\:rf-text-2xl{font-size:1.5rem;line-height:2rem}.sm\\:rf-text-base{font-size:1rem;line-height:1.5rem}.sm\\:rf-text-sm{font-size:.875rem;line-height:1.25rem}.sm\\:rf-text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:768px){.md\\:rf-w-auto{width:auto}.md\\:rf-max-w-\\[660px\\]{max-width:660px}.md\\:rf-max-w-lg{max-width:32rem}.md\\:rf-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\\:rf-p-8{padding:2rem}.md\\:rf-py-8{padding-bottom:2rem;padding-top:2rem}.md\\:rf-text-3xl{font-size:1.875rem;line-height:2.25rem}}@media (min-width:1024px){.lg\\:rf-max-w-\\[720px\\]{max-width:720px}.lg\\:rf-max-w-xl{max-width:36rem}}@media (min-width:1280px){.xl\\:rf-max-w-\\[800px\\]{max-width:800px}}.\\[\\&\\>span\\]\\:rf-line-clamp-1>span{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\\[\\&\\>svg\\]\\:rf-size-4>svg{height:1rem;width:1rem}.\\[\\&\\>svg\\]\\:rf-shrink-0>svg{flex-shrink:0}.\\[\\&\\>svg\\]\\:rf-text-red-300>svg{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.\\[\\&\\>svg\\]\\:hover\\:rf-text-red-400:hover>svg{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:rf-px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:rf-py-1\\.5 [cmdk-group-heading]{padding-bottom:.375rem;padding-top:.375rem}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:rf-text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:rf-font-medium [cmdk-group-heading]{font-weight:500}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:rf-text-zinc-500 [cmdk-group-heading]{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.dark\\:\\[\\&_\\[cmdk-group-heading\\]\\]\\:rf-text-zinc-400 [cmdk-group-heading]:is(.rf-dark *){--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.\\[\\&_\\[cmdk-group\\]\\:not\\(\\[hidden\\]\\)_\\~\\[cmdk-group\\]\\]\\:rf-pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\\[\\&_\\[cmdk-group\\]\\]\\:rf-px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\\[\\&_\\[cmdk-input-wrapper\\]_svg\\]\\:rf-h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\\[\\&_\\[cmdk-input-wrapper\\]_svg\\]\\:rf-w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\\[\\&_\\[cmdk-input\\]\\]\\:rf-h-12 [cmdk-input]{height:3rem}.\\[\\&_\\[cmdk-item\\]\\]\\:rf-px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\\[\\&_\\[cmdk-item\\]\\]\\:rf-py-3 [cmdk-item]{padding-bottom:.75rem;padding-top:.75rem}.\\[\\&_\\[cmdk-item\\]_svg\\]\\:rf-h-5 [cmdk-item] svg{height:1.25rem}.\\[\\&_\\[cmdk-item\\]_svg\\]\\:rf-w-5 [cmdk-item] svg{width:1.25rem}.\\[\\&_svg\\]\\:rf-pointer-events-none svg{pointer-events:none}.\\[\\&_svg\\]\\:rf-size-4 svg{height:1rem;width:1rem}.\\[\\&_svg\\]\\:rf-shrink-0 svg{flex-shrink:0}',NZ=()=>{j.useEffect(()=>{if(document.querySelector('style[data-styles="tscircuit-runframe"]'))return;const A=document.createElement("style");A.setAttribute("data-styles","tscircuit-runframe"),A.textContent=iTt,document.head.appendChild(A)},[])},oTt=t=>{j.useEffect(()=>(t?document.body.style.overflow="hidden":document.body.style.overflow="",()=>{document.body.style.overflow=""}),[t])};function rv(t,A,e){const[i,o]=j.useState(()=>{if(e!==void 0)return e;try{const n=window.localStorage.getItem(t);return n?JSON.parse(n):A}catch(n){return console.error("Error reading from localStorage:",n),A}});return j.useEffect(()=>{try{window.localStorage.setItem(t,JSON.stringify(i))}catch(n){console.error("Error writing to localStorage:",n)}},[t,i]),[i,o]}const Kte=t=>`hsl(${Wp.indexOf(t)*137.5%360}, 70%, 50%)`,nTt=({phaseTimings:t})=>{if(!t)return null;const A=Object.values(t).reduce((e,i)=>e+i,0);return O.jsxs("div",{className:"rf-space-y-2 rf-w-full rf-px-4",children:[O.jsx("div",{className:"rf-relative rf-h-8 rf-flex rf-rounded-sm",children:Wp.map(e=>{const i=t[e]||0,o=i/A*100;return O.jsx("div",{className:"rf-group/bar rf-relative rf-overflow-visible",style:{width:`${o}%`,backgroundColor:Kte(e)},children:O.jsxs("div",{className:"rf-opacity-0 group-hover/bar:rf-opacity-100 rf-transition-opacity rf-absolute rf-bottom-full rf-left-1/2 rf-transform -rf-translate-x-1/2 rf-mb-2 rf-px-2 rf-py-1 rf-text-xs rf-whitespace-nowrap rf-rounded rf-bg-gray-900 rf-text-white rf-pointer-events-none",children:[e,": ",i.toFixed(1),"ms"]})},e)})}),O.jsxs("div",{className:"rf-text-xs rf-text-gray-500",children:["Total: ",A.toFixed(2),"ms"]})]})},sTt=t=>{if(t instanceof Blob)return t;if(t==null)return"";if(typeof t=="string")return t;if(typeof t=="object")try{return JSON.stringify(t,null,2)}catch{return String(t)}return String(t)},rTt=({renderLog:t,onRerunWithDebug:A})=>{const[e,i]=j.useState("chronological"),[o,n]=j.useState(""),s=[{value:"",label:"None"},{value:"DEBUG=Group_doInitialSchematicTraceRender",label:"DEBUG=Group_doInitialSchematicTraceRender"},{value:"DEBUG=Group_doInitialSchematicLayoutMatchpack",label:"DEBUG=Group_doInitialSchematicLayoutMatchpack"},{value:"DEBUG=Group_doInitialPcbLayoutPack",label:"DEBUG=Group_doInitialPcbLayoutPack"}];if(!t)return O.jsxs("div",{className:"rf-p-4 rf-bg-gray-100 rf-rounded-md",children:[O.jsx("div",{className:"rf-mb-4",children:"No render log, make sure this tab is open when you render"}),A&&O.jsxs("div",{className:"rf-flex rf-gap-2 rf-items-center",children:[O.jsx("select",{value:o,onChange:g=>n(g.target.value),className:"rf-px-3 rf-py-1 rf-border rf-rounded rf-text-xs rf-bg-white",children:s.map(g=>O.jsx("option",{value:g.value,children:g.label},g.value))}),O.jsx(Sa,{onClick:()=>A(o),size:"sm",className:"rf-text-xs",children:"Rerun Render with Debug"})]})]});const r=Object.entries(t?.phaseTimings??{});e==="chronological"?r.sort((g,I)=>Wp.indexOf(g[0])-Wp.indexOf(I[0])):r.sort((g,I)=>I[1]-g[1]);const a=r.reduce((g,[I,c])=>g+c,0);return O.jsxs("div",{className:"rf-bg-white",children:[O.jsxs("div",{className:"rf-flex rf-justify-between rf-items-center rf-mb-4",children:[O.jsx("div",{children:"Render Logs"}),O.jsxs("div",{className:"rf-flex rf-gap-4 rf-items-center",children:[A&&O.jsxs("div",{className:"rf-flex rf-gap-2 rf-items-center",children:[O.jsx("select",{value:o,onChange:g=>n(g.target.value),className:"rf-px-3 rf-py-1 rf-border rf-rounded rf-text-xs rf-bg-white",children:s.map(g=>O.jsx("option",{value:g.value,children:g.label},g.value))}),O.jsx(Sa,{onClick:()=>A(o),size:"sm",className:"rf-text-xs",children:"Rerun Render with Debug"})]}),O.jsx("div",{className:"rf-flex rf-gap-2 rf-items-center",children:O.jsxs("select",{onChange:g=>{if(g.target.value){const I=t?.debugOutputs?.find(c=>c.name===g.target.value);if(I){const c=sTt(I.content),B=c instanceof Blob?c:new Blob([c],{type:"text/plain"}),l=URL.createObjectURL(B),C=document.createElement("a");C.href=l,C.download=`debug-${I.name}.txt`,document.body.appendChild(C),C.click(),document.body.removeChild(C),URL.revokeObjectURL(l)}g.target.value=""}},disabled:!t?.debugOutputs||t.debugOutputs.length===0,className:"rf-px-3 rf-py-1 rf-border rf-rounded rf-text-xs rf-bg-white disabled:rf-opacity-50 disabled:rf-cursor-not-allowed",children:[O.jsx("option",{value:"",children:"Download Debug Output"}),t?.debugOutputs?.map(g=>O.jsx("option",{value:g.name,children:g.name},g.name))]})}),O.jsxs("div",{className:"rf-flex rf-text-xs rf-items-center",children:[O.jsx("div",{className:"rf-mr-2",children:"Sort by:"}),O.jsxs("select",{value:e,onChange:g=>i(g.target.value),className:"rf-px-2 rf-py-1 rf-border rf-rounded rf-text-xs",children:[O.jsx("option",{value:"chronological",children:"Phase Order"}),O.jsx("option",{value:"longest",children:"Duration"})]})]})]})]}),O.jsx(nTt,{phaseTimings:t.phaseTimings}),O.jsxs("table",{className:"rf-w-full rf-text-xs",children:[O.jsx("thead",{children:O.jsxs("tr",{children:[O.jsx("th",{className:"rf-text-left rf-p-2",children:"Phase Order"}),O.jsx("th",{className:"rf-text-left rf-p-2",children:"Phase"}),O.jsx("th",{className:"rf-text-left rf-p-2",children:"Duration (ms)"})]})}),O.jsx("tbody",{children:r.map(([g,I])=>O.jsxs("tr",{children:[O.jsx("td",{className:"rf-p-2",children:Wp.indexOf(g)}),O.jsx("td",{className:"rf-p-2",children:g}),O.jsx("td",{className:"rf-p-2",children:O.jsx("div",{className:"rf-w-8",children:O.jsx("div",{className:"rf-h-2 rf-rounded-sm",style:{backgroundColor:Kte(g),width:`${I/a*100}%`}})})}),O.jsx("td",{className:"rf-p-2",children:O.jsxs("div",{className:"rf-flex w-full",children:[O.jsxs("span",{className:"rf-flex-grow",children:[I,"ms"]}),O.jsxs("span",{className:"rf-text-gray-500 rf-pr-2",children:[(I/a*100).toFixed(1),"%"]})]})})]},g))})]})]})},aTt=Xi[typeof document<"u"&&document.createElement!==void 0?"useLayoutEffect":"useEffect"],gTt=t=>{const A=j.useRef(t);return j.useEffect(()=>{A.current=t}),A};function ITt(){}function cTt(t,A,e={}){const i=lTt(e.polyfill),o=gTt(A);return aTt(()=>{let n=!1;const s=t&&"current"in t?t.current:t;if(!s)return ITt;function r(a,g){n||o.current(a,g)}return i.subscribe(s,r),()=>{n=!0,i.unsubscribe(s,r)}},[t,i,o]),i.observer}function BTt(t){let A=!1,e=[];const i=new Map,o=new(t||window.ResizeObserver)((n,s)=>{e=e.concat(n);function r(){const a=new Set;for(let g=0;g<e.length;g++){if(a.has(e[g].target))continue;a.add(e[g].target);const I=i.get(e[g].target);I?.forEach(c=>c(e[g],s))}e=[],A=!1}A||window.requestAnimationFrame(r),A=!0});return{observer:o,subscribe(n,s){var r;o.observe(n);const a=(r=i.get(n))!==null&&r!==void 0?r:[];a.push(s),i.set(n,a)},unsubscribe(n,s){var r;const a=(r=i.get(n))!==null&&r!==void 0?r:[];if(a.length===1){o.unobserve(n),i.delete(n);return}const g=a.indexOf(s);g!==-1&&a.splice(g,1),i.set(n,a)}}}let $hA;const lTt=t=>$hA||($hA=BTt(t));function Cn(){return Cn=Object.assign?Object.assign.bind():function(t){for(var A=1;A<arguments.length;A++){var e=arguments[A];for(var i in e)({}).hasOwnProperty.call(e,i)&&(t[i]=e[i])}return t},Cn.apply(null,arguments)}function CTt(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function nY(t,A){return nY=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,i){return e.__proto__=i,e},nY(t,A)}function PF(t,A){t.prototype=Object.create(A.prototype),t.prototype.constructor=t,nY(t,A)}function AuA(t){return AuA=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(A){return A.__proto__||Object.getPrototypeOf(A)},AuA(t)}function QTt(t){try{return Function.toString.call(t).indexOf("[native code]")!==-1}catch{return typeof t=="function"}}function qte(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(qte=function(){return!!t})()}function ETt(t,A,e){if(qte())return Reflect.construct.apply(null,arguments);var i=[null];i.push.apply(i,A);var o=new(t.bind.apply(t,i));return e&&nY(o,e.prototype),o}function euA(t){var A=typeof Map=="function"?new Map:void 0;return euA=function(i){if(i===null||!QTt(i))return i;if(typeof i!="function")throw new TypeError("Super expression must either be null or a function");if(A!==void 0){if(A.has(i))return A.get(i);A.set(i,o)}function o(){return ETt(i,arguments,AuA(this).constructor)}return o.prototype=Object.create(i.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),nY(o,i)},euA(t)}var hTt={env:{}},uTt={1:`Passed invalid arguments to hsl, please pass multiple numbers e.g. hsl(360, 0.75, 0.4) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75 }).
|
|
5439
|
+
`,onClick:i=>{i.stopPropagation(),e()},onTouchEnd:i=>{i.preventDefault(),i.stopPropagation(),e()},children:[O.jsx("input",{type:"radio",checked:A,onChange:()=>{},readOnly:!0}),O.jsx("span",{style:{color:"#eee"},children:t})]}),VJt=({children:t,elements:A})=>{const e=WJt(),{isMouseOverContainer:i,setIsMouseOverContainer:o,selectedLayer:n,selectLayer:s,editModes:r,viewSettings:a,setEditMode:g,setIsShowingRatsNest:I,setIsShowingMultipleTracesLength:c,setIsShowingAutorouting:B,setIsShowingDrcErrors:l,setIsShowingCopperPours:C,setIsShowingPcbGroups:Q,setIsShowingGroupAnchorOffsets:E,setIsShowingSolderMask:h,setPcbGroupViewMode:u,setHoveredErrorId:d}=Wl($A=>({isMouseOverContainer:$A.is_mouse_over_container,setIsMouseOverContainer:$A.setIsMouseOverContainer,selectedLayer:$A.selected_layer,selectLayer:$A.selectLayer,editModes:{in_move_footprint_mode:$A.in_move_footprint_mode,in_draw_trace_mode:$A.in_draw_trace_mode},viewSettings:{is_showing_rats_nest:$A.is_showing_rats_nest,is_showing_multiple_traces_length:$A.is_showing_multiple_traces_length,is_showing_autorouting:$A.is_showing_autorouting,is_showing_drc_errors:$A.is_showing_drc_errors,is_showing_copper_pours:$A.is_showing_copper_pours,is_showing_pcb_groups:$A.is_showing_pcb_groups,is_showing_group_anchor_offsets:$A.is_showing_group_anchor_offsets,is_showing_solder_mask:$A.is_showing_solder_mask,pcb_group_view_mode:$A.pcb_group_view_mode},setEditMode:$A.setEditMode,setIsShowingRatsNest:$A.setIsShowingRatsNest,setIsShowingMultipleTracesLength:$A.setIsShowingMultipleTracesLength,setIsShowingAutorouting:$A.setIsShowingAutorouting,setIsShowingDrcErrors:$A.setIsShowingDrcErrors,setIsShowingCopperPours:$A.setIsShowingCopperPours,setIsShowingPcbGroups:$A.setIsShowingPcbGroups,setIsShowingGroupAnchorOffsets:$A.setIsShowingGroupAnchorOffsets,setIsShowingSolderMask:$A.setIsShowingSolderMask,setPcbGroupViewMode:$A.setPcbGroupViewMode,setHoveredErrorId:$A.setHoveredErrorId})),[f,m]=j.useState(!1),[S,D]=j.useState(!1),[x,F]=j.useState(!1),[k,v]=j.useState(!1),_=j.useRef(new Map),H=j.useRef(new Map);j.useEffect(()=>{const $A=()=>v(!0),ge=()=>v(!1);return window.addEventListener("arm-dimension-tool",$A),window.addEventListener("disarm-dimension-tool",ge),()=>{window.removeEventListener("arm-dimension-tool",$A),window.removeEventListener("disarm-dimension-tool",ge)}},[]);const P=A?.filter($A=>$A.type.includes("error")).length??0,J=A?.filter($A=>$A.type.includes("error"))||[],Z=A?.find($A=>$A.type==="pcb_board")?.num_layers||2,AA=Z<=2?["top","bottom"]:["top",...Array.from({length:Z-2},($A,ge)=>`inner${ge+1}`),"bottom"],nA=AA,gA=j.useRef(!1),tA=j.useRef(null),iA={1:AA[0]?()=>s(AA[0]):()=>{},2:AA[1]?()=>s(AA[1]):()=>{},3:AA[2]?()=>s(AA[2]):()=>{},4:AA[3]?()=>s(AA[3]):()=>{},5:AA[4]?()=>s(AA[4]):()=>{},6:AA[5]?()=>s(AA[5]):()=>{},7:AA[6]?()=>s(AA[6]):()=>{},8:AA[7]?()=>s(AA[7]):()=>{}};lk("1",iA[1],tA),lk("2",iA[2],tA),lk("3",iA[3],tA),lk("4",iA[4],tA),lk("5",iA[5],tA),lk("6",iA[6],tA),lk("7",iA[7],tA),lk("8",iA[8],tA),j.useLayoutEffect(()=>{if(gA.current)return;gA.current=!0;const $A=ge=>{if(tA.current){const yA=tA.current.getBoundingClientRect();ge.clientX>=yA.left&&ge.clientX<=yA.right&&ge.clientY>=yA.top&&ge.clientY<=yA.bottom&&o(!0)}document.removeEventListener("mousemove",$A)};return document.addEventListener("mousemove",$A),()=>{document.removeEventListener("mousemove",$A)}},[o]);const rA=j.useCallback(()=>{o(!0)},[o]),CA=j.useCallback(()=>{i||o(!0)},[i,o]),dA=j.useCallback(()=>{o(!1),D(!1),m(!1),F(!1),d(null)},[o,d]),SA=j.useCallback(()=>{D(!S)},[S]),xA=j.useCallback(()=>{const $A=!x;F($A),$A&&m(!1),$A||d(null)},[x,d]),JA=j.useCallback(()=>{g(r.in_draw_trace_mode?"off":"draw_trace")},[r.in_draw_trace_mode,g]),lA=j.useCallback(()=>{g(r.in_move_footprint_mode?"off":"move_footprint")},[r.in_move_footprint_mode,g]),RA=j.useCallback(()=>{I(!a.is_showing_rats_nest)},[a.is_showing_rats_nest,I]),uA=j.useCallback(()=>{v(!0),window.dispatchEvent(new Event("arm-dimension-tool"))},[]),KA=j.useCallback(()=>{const $A=!f;m($A),$A&&F(!1)},[f]);return O.jsxs("div",{ref:tA,style:{position:"relative",zIndex:"999 !important"},onMouseEnter:rA,onMouseLeave:dA,onMouseMove:CA,children:[t,O.jsxs("div",{style:{position:"absolute",bottom:4,right:8,pointerEvents:"none",color:"white",fontSize:11,opacity:i?.5:0,transition:"opacity 1s",transitionDelay:"2s",fontFamily:"sans-serif"},children:["@tscircuit/pcb-viewer@",OJt.version]}),O.jsxs("div",{"data-toolbar-overlay":!0,onTouchStart:$A=>$A.stopPropagation(),onTouchEnd:$A=>$A.stopPropagation(),onTouchMove:$A=>$A.stopPropagation(),style:{position:"absolute",opacity:e||i?1:0,top:16,left:16,right:e?16:"auto",transition:i?"opacity 100ms linear":"opacity 300ms linear",zIndex:QI.toolbarOverlay,color:"red",display:"flex",flexWrap:"wrap",gap:4,fontSize:12,fontFamily:"sans-serif"},children:[O.jsxs(KF,{isSmallScreen:e,onClick:SA,onMouseLeave:()=>{S&&D(!1)},children:[O.jsxs("div",{children:["layer:"," ",O.jsx("span",{style:{marginLeft:2,fontWeight:500,color:kZ[n]},children:n})]}),S&&O.jsx("div",{style:{marginTop:4,minWidth:120},children:nA.map($A=>O.jsx(ZJt,{name:$A,selected:$A===n,onClick:()=>{s($A)}},$A))})]}),O.jsx(KF,{isSmallScreen:e,style:{position:"relative",...P>0?{color:"red"}:{}},onClick:xA,children:O.jsxs("div",{children:[P," errors"]})}),x&&P>0&&O.jsx("div",{style:{position:"absolute",top:"100%",left:0,backgroundColor:"#2a2a2a",border:"1px solid #666",borderRadius:4,marginTop:4,zIndex:1e3,minWidth:e?"280px":"400px",maxWidth:e?"90vw":"600px",maxHeight:"400px",overflow:"auto",boxShadow:"0 4px 12px rgba(0, 0, 0, 0.3)"},children:J.map(($A,ge)=>{const yA=$A.pcb_trace_error_id||`error_${ge}_${$A.error_type}_${$A.message?.slice(0,20)}`;return O.jsxs("div",{style:{borderBottom:ge<J.length-1?"1px solid #444":"none"},children:[O.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12,padding:"12px 16px",cursor:"pointer",backgroundColor:"#2a2a2a",transition:"background-color 0.2s ease",touchAction:"manipulation"},onMouseEnter:qA=>{qA.currentTarget.style.backgroundColor="#333",d(yA)},onMouseLeave:qA=>{qA.currentTarget.style.backgroundColor="#2a2a2a",d(null)},onTouchStart:qA=>{qA.stopPropagation(),qA.currentTarget.style.backgroundColor="#333",d(yA)},onTouchEnd:qA=>{qA.stopPropagation(),qA.preventDefault(),qA.currentTarget.style.backgroundColor="#2a2a2a",d(null);const YA=_.current.get(ge),UA=H.current.get(ge);if(YA&&UA){const OA=YA.style.display!=="none";YA.style.display=OA?"none":"block",UA.style.transform=OA?"rotate(90deg)":"rotate(0deg)"}},onClick:qA=>{qA.stopPropagation();const YA=_.current.get(ge),UA=H.current.get(ge);if(YA&&UA){const OA=YA.style.display!=="none";YA.style.display=OA?"none":"block",UA.style.transform=OA?"rotate(90deg)":"rotate(0deg)"}},children:[O.jsx("div",{style:{fontWeight:"bold",fontSize:e?"12px":"13px",whiteSpace:"nowrap",flexShrink:0,color:"#ff6b6b",display:e?"none":"block"},children:$A.error_type}),O.jsx("div",{style:{flex:1,fontSize:e?"12px":"13px",color:"#ddd",lineHeight:1.4,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",userSelect:"text"},onMouseDown:qA=>qA.stopPropagation(),onClick:qA=>qA.stopPropagation(),children:$A.message}),O.jsx("div",{ref:qA=>{qA&&H.current.set(ge,qA)},"data-arrow-id":ge,style:{color:"#888",fontSize:"16px",transform:"rotate(90deg)",transition:"transform 0.2s ease",flexShrink:0},children:"›"})]}),O.jsx("div",{ref:qA=>{qA&&_.current.set(ge,qA)},"data-error-id":ge,style:{display:"none",padding:"12px 16px",backgroundColor:"#1a1a1a",borderTop:"1px solid #444"},children:O.jsx("div",{style:{fontSize:e?"11px":"12px",color:"#ccc",lineHeight:1.5,wordWrap:"break-word",overflowWrap:"break-word",hyphens:"auto",userSelect:"text"},onMouseDown:qA=>qA.stopPropagation(),onClick:qA=>qA.stopPropagation(),children:$A.message})})]},ge)})}),O.jsx(KF,{isSmallScreen:e,style:{},onClick:JA,children:O.jsxs("div",{children:[r.in_draw_trace_mode?"✖ ":"","Edit Traces"]})}),O.jsx(KF,{isSmallScreen:e,style:{},onClick:lA,children:O.jsxs("div",{children:[r.in_move_footprint_mode?"✖ ":"","Move Components"]})}),O.jsx(KF,{isSmallScreen:e,style:{},onClick:RA,children:O.jsxs("div",{children:[a.is_showing_rats_nest?"✖ ":"","Rats Nest"]})}),O.jsx(KF,{isSmallScreen:e,style:k?{backgroundColor:"#444"}:{},onClick:uA,children:O.jsx("div",{children:"📏"})}),O.jsx(KF,{isSmallScreen:e,onClick:KA,children:O.jsxs("div",{children:[O.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"4px"},children:["View",O.jsx("span",{style:{fontSize:"8px",transform:f?"rotate(180deg)":"rotate(0)",transition:"transform 0.1s ease",display:"inline-block"},children:"▼"})]}),f&&O.jsxs("div",{style:{marginTop:4,minWidth:120},children:[O.jsx(qF,{label:"Show All Trace Lengths",checked:a.is_showing_multiple_traces_length,onClick:()=>{c(!a.is_showing_multiple_traces_length)}}),O.jsx(qF,{label:"Show Autorouting Animation",checked:a.is_showing_autorouting,onClick:()=>{B(!a.is_showing_autorouting)}}),O.jsx(qF,{label:"Show DRC Errors",checked:a.is_showing_drc_errors,onClick:()=>{l(!a.is_showing_drc_errors)}}),O.jsx(qF,{label:"Show Copper Pours",checked:a.is_showing_copper_pours,onClick:()=>{C(!a.is_showing_copper_pours)}}),O.jsx(qF,{label:"Show Solder Mask",checked:a.is_showing_solder_mask,onClick:()=>{h(!a.is_showing_solder_mask)}}),O.jsx(qF,{label:"Show Group Anchor Offsets",checked:a.is_showing_group_anchor_offsets,onClick:()=>{E(!a.is_showing_group_anchor_offsets)}}),O.jsx(qF,{label:"Show PCB Groups",checked:a.is_showing_pcb_groups,onClick:()=>{Q(!a.is_showing_pcb_groups)}}),a.is_showing_pcb_groups&&O.jsxs("div",{style:{marginLeft:16},children:[O.jsx(Tte,{label:"Show All Groups",checked:a.pcb_group_view_mode==="all",onClick:()=>{u("all")}}),O.jsx(Tte,{label:"Show Named Groups",checked:a.pcb_group_view_mode==="named_only",onClick:()=>{u("named_only")}})]})]})]})})]})]})},jJt=t=>{const{transform:A,elements:e}=t,i=Wl(Q=>Q.hovered_error_id),o=Wl(Q=>Q.is_showing_copper_pours),n=j.useMemo(()=>o?e:e.filter(Q=>Q.type!=="pcb_copper_pour"),[e,o]),[s,r]=j.useMemo(()=>{const Q=n.flatMap(h=>yYt(h,t.elements)),E=hte(t.elements);return[Q,E]},[n,t.elements]),[a,g]=j.useState({drawingObjectIdsWithMouseOver:new Set,primitiveIdsInMousedOverNet:[]}),[I,c]=j.useState([]),B=j.useMemo(()=>{if(!i)return[];const E=e.filter(u=>u.type.includes("error")).find((u,d)=>(u.pcb_trace_error_id||`error_${d}_${u.error_type}_${u.message?.slice(0,20)}`)===i);if(!E)return[];const h=[];return E.pcb_trace_id&&h.push(E.pcb_trace_id),E.pcb_port_ids&&h.push(...E.pcb_port_ids),h},[i,e]),l=j.useMemo(()=>{const Q=[...a.primitiveIdsInMousedOverNet,...B];return CYt({primitivesWithoutInteractionMetadata:s,drawingObjectIdsWithMouseOver:a.drawingObjectIdsWithMouseOver,primitiveIdsInMousedOverNet:Q})},[s,a,B]),C=j.useCallback(Q=>{const E=[];for(const d of Q)if(d._element){const f=r.getNetConnectedToId("pcb_port_id"in d._element?d._element?.pcb_port_id:"pcb_trace_id"in d._element?d._element?.pcb_trace_id:"");E.push(...r.getIdsConnectedToNet(f))}const h=new Set(Q.map(d=>d._pcb_drawing_object_id));g({drawingObjectIdsWithMouseOver:h,primitiveIdsInMousedOverNet:E});const u=Q.map(d=>d._parent_pcb_component?.type==="pcb_component"&&d._parent_pcb_component.pcb_component_id?d._parent_pcb_component.pcb_component_id:d._element?.type==="pcb_component"&&d._element.pcb_component_id?d._element.pcb_component_id:null).filter(d=>!!d);c(Array.from(new Set(u)))},[r]);return O.jsx(KJt,{elements:n,transform:A,primitives:s,onMouseHoverOverPrimitives:C,children:O.jsx(pJt,{disabled:!t.allowEditing,transform:A,soup:e,cancelPanDrag:t.cancelPanDrag,onCreateEditEvent:t.onCreateEditEvent,onModifyEditEvent:t.onModifyEditEvent,children:O.jsx(mJt,{disabled:!t.allowEditing,transform:A,soup:e,cancelPanDrag:t.cancelPanDrag,onCreateEditEvent:t.onCreateEditEvent,onModifyEditEvent:t.onModifyEditEvent,children:O.jsx(uJt,{transform:A,focusOnHover:t.focusOnHover,primitives:s,children:O.jsx(VJt,{elements:e,children:O.jsx(bJt,{transform:A,elements:e,children:O.jsx(PJt,{transform:A,soup:e,children:O.jsx(qJt,{transform:A,elements:e,hoveredComponentIds:I,children:O.jsx(aJt,{transform:A,debugGraphics:t.debugGraphics,children:O.jsx(gJt,{transform:A,elements:e,children:O.jsx(iJt,{transform:A,primitives:l,elements:n,width:t.width,height:t.height,grid:t.grid})})})})})})})})})})})},MZ=t=>Number.isFinite(t)?t.toFixed(4):"NaN",zJt=t=>{let A=5381;for(let e=0;e<t.length;e++)A=(A<<5)+A+t.charCodeAt(e);return Math.abs(A)},XJt=t=>{if(!t?.length)return"0";const A=[];for(const o of t){if(!o?.type?.startsWith("pcb_"))continue;const n=ZHt(o),s=WhA([o]),r=[MZ(s.minX),MZ(s.minY),MZ(s.maxX),MZ(s.maxY)].join(",");let a=`${n}:${r}`;if(o.type==="pcb_trace"){const g=(o.route??[]).length;a+=`:${g}`}A.push(a)}if(A.length===0)return"0";A.sort();const e=A.join(","),i=zJt(e);return`${A.length}_${i.toString(36)}`},$Jt=t=>{if(!t)return"empty";const A=t.find(i=>i.type==="pcb_board");if(!A)return"no-board";const e=i=>Math.round(i*1e3)/1e3;return A.outline?A.outline.map(i=>`${e(i.x)}_${e(i.y)}`).join(","):`${e(A.width)}_${e(A.height)}`},ATt=vy(el(400,300),KH(40,-40)),eTt=({circuitJson:t,debugGraphics:A,height:e=600,initialState:i,allowEditing:o=!0,editEvents:n,onEditEventsChanged:s,focusOnHover:r=!1,clickToInteractEnabled:a=!1,disablePcbGroups:g=!1})=>{const[I,c]=j.useState(!a),[B,l]=iY(),[C,Q]=j.useState(ATt),{ref:E,setTransform:h,cancelDrag:u}=cYt({transform:C,onSetTransform:Q,enabled:I});let[d,f]=j.useState([]);d=n??d;const m=j.useRef(!1),S=j.useRef(null),D=j.useMemo(()=>XJt(t),[t]),x=$Jt(t),F=()=>{const J=l?.width>0?l:{width:500,height:500},{center:W,width:Z,height:AA}=v.some(tA=>tA.type.startsWith("pcb_"))?XHt(v.filter(tA=>tA.type.startsWith("pcb_"))):{center:{x:0,y:0},width:.001,height:.001},nA=Math.min((J.width??0)/Z,(J.height??0)/AA,100)*.75,gA=vy(el((J.width??0)/2,(J.height??0)/2),KH(nA,-nA,0,0),el(-W.x,-W.y));h(gA)};j.useEffect(()=>{l?.width&&t&&t.length!==0&&(m.current||(F(),m.current=!0))},[t,l]),j.useEffect(()=>{m.current===!0&&F()},[x]);const k=j.useMemo(()=>t?.filter(J=>J.type.startsWith("pcb_")||J.type.startsWith("source_"))??[],[D]),v=j.useMemo(()=>jqe({circuitJson:k,editEvents:d}),[k,d]),_=J=>{f([...d,J]),s?.([...d,J])},H=J=>{const W=d.map(Z=>Z.edit_event_id===J.edit_event_id?{...Z,...J}:Z);f(W),s?.(W)},P=j.useMemo(()=>({...i,...g&&{is_showing_pcb_groups:!1}}),[i,g]);return O.jsxs("div",{ref:E,style:{position:"relative"},onContextMenu:J=>J.preventDefault(),children:[O.jsx("div",{ref:B,children:O.jsxs(iYt,{initialState:P,disablePcbGroups:g,children:[O.jsx(jJt,{transform:C,height:e,width:l.width,allowEditing:o,focusOnHover:r,cancelPanDrag:u,onCreateEditEvent:_,onModifyEditEvent:H,grid:{spacing:1,view_window:{left:0,right:l.width||500,top:e,bottom:0}},elements:v,debugGraphics:A},l.width),O.jsx(nYt,{})]})}),a&&!I&&O.jsx("div",{onClick:()=>{c(!0),F()},onTouchStart:J=>{const W=J.touches[0];S.current={x:W.clientX,y:W.clientY}},onTouchEnd:J=>{const W=J.changedTouches[0],Z=S.current;if(!Z)return;const AA=Math.abs(W.clientX-Z.x),nA=Math.abs(W.clientY-Z.y);AA<10&&nA<10&&(J.preventDefault(),c(!0),F()),S.current=null},style:{position:"absolute",inset:0,cursor:"pointer",zIndex:QI.clickToInteractOverlay,display:"flex",alignItems:"center",justifyContent:"center",touchAction:"pan-x pan-y pinch-zoom"},children:O.jsx("div",{style:{backgroundColor:"rgba(0, 0, 0, 0.8)",color:"white",padding:"12px 24px",borderRadius:"8px",fontSize:"16px",pointerEvents:"none"},children:typeof window<"u"&&("ontouchstart"in window||navigator.maxTouchPoints>0)?"Touch to Interact":"Click to Interact"})})]})};const tTt=({containerClassName:t,...A})=>{const e=j.useRef(null),[i,o]=j.useState(620);return j.useLayoutEffect(()=>{const n=()=>{if(e.current){const r=e.current.clientHeight,a=window.innerHeight;o(Math.min(Math.max(r,620),a))}};n();const s=new ResizeObserver(n);return e.current&&s.observe(e.current),window.addEventListener("resize",n),()=>{s.disconnect(),window.removeEventListener("resize",n)}},[]),O.jsx("div",{ref:e,className:t||"rf-w-full rf-h-full",children:O.jsx(eTt,{...A,height:i})})},iTt='*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}:root{--radius:0.5rem}.rf-pointer-events-none{pointer-events:none}.rf-invisible{visibility:hidden}.rf-fixed{position:fixed}.rf-absolute{position:absolute}.rf-relative{position:relative}.rf-inset-0{inset:0}.-rf-left-2{left:-.5rem}.-rf-right-10{right:-2.5rem}.-rf-right-2{right:-.5rem}.-rf-right-4{right:-1rem}.-rf-right-6{right:-1.5rem}.-rf-right-7{right:-1.75rem}.-rf-right-8{right:-2rem}.-rf-right-9{right:-2.25rem}.rf-bottom-full{bottom:100%}.rf-left-0{left:0}.rf-left-1{left:.25rem}.rf-left-1\\/2{left:50%}.rf-left-2{left:.5rem}.rf-left-\\[50\\%\\]{left:50%}.rf-right-0{right:0}.rf-right-1{right:.25rem}.rf-right-4{right:1rem}.rf-right-\\[4px\\]{right:4px}.rf-top-0{top:0}.rf-top-1{top:.25rem}.rf-top-2{top:.5rem}.rf-top-2\\.5{top:.625rem}.rf-top-\\[50\\%\\]{top:50%}.rf-top-\\[6px\\]{top:6px}.\\!rf-z-\\[101\\]{z-index:101!important}.\\!rf-z-\\[200\\]{z-index:200!important}.rf-z-10{z-index:10}.rf-z-50{z-index:50}.rf-z-\\[100\\]{z-index:100}.rf-z-\\[101\\]{z-index:101}.rf-order-1{order:1}.rf-order-2{order:2}.rf-order-3{order:3}.rf-m-0{margin:0}.rf-m-1{margin:.25rem}.rf-m-6{margin:1.5rem}.-rf-mx-1,.rf--mx-1{margin-left:-.25rem;margin-right:-.25rem}.rf-mx-1{margin-left:.25rem;margin-right:.25rem}.rf-mx-2{margin-left:.5rem;margin-right:.5rem}.rf-mx-4{margin-left:1rem;margin-right:1rem}.rf-mx-auto{margin-left:auto;margin-right:auto}.rf-my-1{margin-bottom:.25rem;margin-top:.25rem}.rf-my-12{margin-bottom:3rem;margin-top:3rem}.rf-my-4{margin-bottom:1rem;margin-top:1rem}.rf-my-auto{margin-bottom:auto;margin-top:auto}.rf-mb-0{margin-bottom:0}.rf-mb-0\\.5{margin-bottom:.125rem}.rf-mb-1{margin-bottom:.25rem}.rf-mb-12{margin-bottom:3rem}.rf-mb-2{margin-bottom:.5rem}.rf-mb-3{margin-bottom:.75rem}.rf-mb-4{margin-bottom:1rem}.rf-mb-6{margin-bottom:1.5rem}.rf-mb-8{margin-bottom:2rem}.rf-ml-1{margin-left:.25rem}.rf-ml-2{margin-left:.5rem}.rf-ml-6{margin-left:1.5rem}.rf-ml-auto{margin-left:auto}.rf-mr-1{margin-right:.25rem}.rf-mr-2{margin-right:.5rem}.rf-mr-4{margin-right:1rem}.rf-mt-0{margin-top:0}.rf-mt-0\\.5{margin-top:.125rem}.rf-mt-1{margin-top:.25rem}.rf-mt-2{margin-top:.5rem}.rf-mt-3{margin-top:.75rem}.rf-mt-4{margin-top:1rem}.rf-mt-5{margin-top:1.25rem}.rf-mt-auto{margin-top:auto}.rf-block{display:block}.rf-inline-block{display:inline-block}.rf-inline{display:inline}.rf-flex{display:flex}.rf-inline-flex{display:inline-flex}.rf-grid{display:grid}.rf-hidden{display:none}.rf-aspect-square{aspect-ratio:1/1}.rf-aspect-video{aspect-ratio:16/9}.rf-size-14{height:3.5rem;width:3.5rem}.rf-size-4{height:1rem;width:1rem}.\\!rf-h-2{height:.5rem!important}.\\!rf-h-2\\.5{height:.625rem!important}.\\!rf-h-3{height:.75rem!important}.\\!rf-h-full{height:100%!important}.rf-h-1{height:.25rem}.rf-h-10{height:2.5rem}.rf-h-12{height:3rem}.rf-h-2{height:.5rem}.rf-h-2\\.5{height:.625rem}.rf-h-20{height:5rem}.rf-h-24{height:6rem}.rf-h-3{height:.75rem}.rf-h-3\\.5{height:.875rem}.rf-h-4{height:1rem}.rf-h-5{height:1.25rem}.rf-h-6{height:1.5rem}.rf-h-60{height:15rem}.rf-h-64{height:16rem}.rf-h-7{height:1.75rem}.rf-h-8{height:2rem}.rf-h-9{height:2.25rem}.rf-h-\\[400px\\]{height:400px}.rf-h-\\[calc\\(100vh-52px\\)\\]{height:calc(100vh - 52px)}.rf-h-\\[calc\\(100vh-60px\\)\\]{height:calc(100vh - 60px)}.rf-h-\\[var\\(--radix-select-trigger-height\\)\\]{height:var(--radix-select-trigger-height)}.rf-h-auto{height:auto}.rf-h-fit{height:-moz-fit-content;height:fit-content}.rf-h-full{height:100%}.rf-h-px{height:1px}.rf-h-screen{height:100vh}.\\!rf-max-h-\\[40vh\\]{max-height:40vh!important}.\\!rf-max-h-\\[80vh\\]{max-height:80vh!important}.rf-max-h-16{max-height:4rem}.rf-max-h-20{max-height:5rem}.rf-max-h-24{max-height:6rem}.rf-max-h-28{max-height:7rem}.rf-max-h-32{max-height:8rem}.rf-max-h-96{max-height:24rem}.rf-max-h-\\[120px\\]{max-height:120px}.rf-max-h-\\[150px\\]{max-height:150px}.rf-max-h-\\[200px\\]{max-height:200px}.rf-max-h-\\[300px\\]{max-height:300px}.rf-max-h-\\[90vh\\]{max-height:90vh}.rf-max-h-full{max-height:100%}.rf-max-h-none{max-height:none}.rf-min-h-0{min-height:0}.rf-min-h-\\[100px\\]{min-height:100px}.rf-min-h-\\[200px\\]{min-height:200px}.rf-min-h-\\[300px\\]{min-height:300px}.rf-min-h-\\[620px\\]{min-height:620px}.rf-min-h-\\[calc\\(100vh-240px\\)\\]{min-height:calc(100vh - 240px)}.rf-min-h-full{min-height:100%}.\\!rf-w-2{width:.5rem!important}.\\!rf-w-2\\.5{width:.625rem!important}.\\!rf-w-\\[95vw\\]{width:95vw!important}.rf-w-1{width:.25rem}.rf-w-10{width:2.5rem}.rf-w-11{width:2.75rem}.rf-w-11\\/12{width:91.666667%}.rf-w-12{width:3rem}.rf-w-16{width:4rem}.rf-w-2{width:.5rem}.rf-w-2\\.5{width:.625rem}.rf-w-20{width:5rem}.rf-w-24{width:6rem}.rf-w-28{width:7rem}.rf-w-3{width:.75rem}.rf-w-3\\.5{width:.875rem}.rf-w-32{width:8rem}.rf-w-4{width:1rem}.rf-w-40{width:10rem}.rf-w-48{width:12rem}.rf-w-5{width:1.25rem}.rf-w-6{width:1.5rem}.rf-w-64{width:16rem}.rf-w-72{width:18rem}.rf-w-8{width:2rem}.rf-w-80{width:20rem}.rf-w-9{width:2.25rem}.rf-w-96{width:24rem}.rf-w-fit{width:-moz-fit-content;width:fit-content}.rf-w-full{width:100%}.rf-w-screen{width:100vw}.rf-min-w-0{min-width:0}.rf-min-w-10{min-width:2.5rem}.rf-min-w-16{min-width:4rem}.rf-min-w-32{min-width:8rem}.rf-min-w-80{min-width:20rem}.rf-min-w-96{min-width:24rem}.rf-min-w-\\[12px\\]{min-width:12px}.rf-min-w-\\[148px\\]{min-width:148px}.rf-min-w-\\[600px\\]{min-width:600px}.rf-min-w-\\[8rem\\]{min-width:8rem}.rf-min-w-\\[var\\(--radix-select-trigger-width\\)\\]{min-width:var(--radix-select-trigger-width)}.\\!rf-max-w-\\[95vw\\]{max-width:95vw!important}.rf-max-w-2xl{max-width:42rem}.rf-max-w-3xl{max-width:48rem}.rf-max-w-4xl{max-width:56rem}.rf-max-w-5xl{max-width:64rem}.rf-max-w-64{max-width:16rem}.rf-max-w-96{max-width:24rem}.rf-max-w-\\[1000px\\]{max-width:1000px}.rf-max-w-\\[150px\\]{max-width:150px}.rf-max-w-\\[200px\\]{max-width:200px}.rf-max-w-\\[40\\%\\]{max-width:40%}.rf-max-w-\\[600px\\]{max-width:600px}.rf-max-w-full{max-width:100%}.rf-max-w-lg{max-width:32rem}.rf-max-w-md{max-width:28rem}.rf-max-w-none{max-width:none}.rf-max-w-xl{max-width:36rem}.rf-max-w-xs{max-width:20rem}.rf-flex-1{flex:1 1 0%}.rf-flex-shrink-0,.rf-shrink-0{flex-shrink:0}.rf-flex-grow{flex-grow:1}.rf-table-auto{table-layout:auto}.rf-origin-\\[--radix-popover-content-transform-origin\\]{transform-origin:var(--radix-popover-content-transform-origin)}.-rf-translate-x-1{--tw-translate-x:-0.25rem}.-rf-translate-x-1,.-rf-translate-x-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rf-translate-x-1\\/2{--tw-translate-x:-50%}.-rf-translate-y-1{--tw-translate-y:-0.25rem}.-rf-translate-y-1,.rf--translate-x-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rf--translate-x-1{--tw-translate-x:-0.25rem}.rf--translate-x-1\\/2{--tw-translate-x:-50%}.rf--translate-x-1\\/2,.rf--translate-y-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rf--translate-y-1{--tw-translate-y:-0.25rem}.rf-translate-x-\\[-50\\%\\]{--tw-translate-x:-50%}.rf-translate-x-\\[-50\\%\\],.rf-translate-y-\\[-50\\%\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rf-translate-y-\\[-50\\%\\]{--tw-translate-y:-50%}.-rf-rotate-90{--tw-rotate:-90deg}.-rf-rotate-90,.rf-rotate-90{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rf-rotate-90{--tw-rotate:90deg}.rf-transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes rf-pulse{50%{opacity:.5}}.rf-animate-pulse{animation:rf-pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes rf-spin{to{transform:rotate(1turn)}}.rf-animate-spin{animation:rf-spin 1s linear infinite}.rf-cursor-default{cursor:default}.rf-cursor-not-allowed{cursor:not-allowed}.rf-cursor-pointer{cursor:pointer}.rf-select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.rf-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.rf-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.rf-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.rf-flex-row{flex-direction:row}.rf-flex-col{flex-direction:column}.rf-flex-col-reverse{flex-direction:column-reverse}.rf-flex-wrap{flex-wrap:wrap}.rf-place-content-center{place-content:center}.rf-place-items-center{place-items:center}.rf-items-start{align-items:flex-start}.rf-items-end{align-items:flex-end}.rf-items-center{align-items:center}.rf-items-baseline{align-items:baseline}.rf-items-stretch{align-items:stretch}.rf-justify-end{justify-content:flex-end}.rf-justify-center{justify-content:center}.rf-justify-between{justify-content:space-between}.rf-gap-0{gap:0}.rf-gap-1{gap:.25rem}.rf-gap-1\\.5{gap:.375rem}.rf-gap-2{gap:.5rem}.rf-gap-3{gap:.75rem}.rf-gap-4{gap:1rem}.rf-gap-5{gap:1.25rem}.rf-gap-6{gap:1.5rem}.rf-gap-8{gap:2rem}.rf-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.rf-space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.rf-space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.rf-space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.rf-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.rf-space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.rf-divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.rf-overflow-auto{overflow:auto}.rf-overflow-hidden{overflow:hidden}.rf-overflow-visible{overflow:visible}.rf-overflow-x-auto{overflow-x:auto}.\\!rf-overflow-y-auto{overflow-y:auto!important}.rf-overflow-y-auto{overflow-y:auto}.rf-overflow-x-hidden{overflow-x:hidden}.rf-overflow-x-clip{overflow-x:clip}.rf-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rf-whitespace-normal{white-space:normal}.rf-whitespace-nowrap{white-space:nowrap}.rf-whitespace-pre-wrap{white-space:pre-wrap}.rf-text-nowrap{text-wrap:nowrap}.rf-break-words{overflow-wrap:break-word}.rf-break-all{word-break:break-all}.rf-rounded{border-radius:.25rem}.rf-rounded-2xl{border-radius:1rem}.rf-rounded-full{border-radius:9999px}.rf-rounded-lg{border-radius:var(--radius)}.rf-rounded-md{border-radius:calc(var(--radius) - 2px)}.rf-rounded-sm{border-radius:calc(var(--radius) - 4px)}.rf-rounded-xl{border-radius:.75rem}.rf-border{border-width:1px}.rf-border-2{border-width:2px}.rf-border-b{border-bottom-width:1px}.rf-border-l-2{border-left-width:2px}.rf-border-l-4{border-left-width:4px}.rf-border-r{border-right-width:1px}.rf-border-t{border-top-width:1px}.rf-border-none{border-style:none}.rf-border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.rf-border-blue-300{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.rf-border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.rf-border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.rf-border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.rf-border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.rf-border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.rf-border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.rf-border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.rf-border-green-400{--tw-border-opacity:1;border-color:rgb(74 222 128/var(--tw-border-opacity,1))}.rf-border-input{border-color:hsl(var(--input))}.rf-border-neutral-200{--tw-border-opacity:1;border-color:rgb(229 229 229/var(--tw-border-opacity,1))}.rf-border-orange-100{--tw-border-opacity:1;border-color:rgb(255 237 213/var(--tw-border-opacity,1))}.rf-border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.rf-border-orange-500{--tw-border-opacity:1;border-color:rgb(249 115 22/var(--tw-border-opacity,1))}.rf-border-primary{border-color:hsl(var(--primary))}.rf-border-red-100{--tw-border-opacity:1;border-color:rgb(254 226 226/var(--tw-border-opacity,1))}.rf-border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.rf-border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.rf-border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.rf-border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.rf-border-red-600{--tw-border-opacity:1;border-color:rgb(220 38 38/var(--tw-border-opacity,1))}.rf-border-red-700{--tw-border-opacity:1;border-color:rgb(185 28 28/var(--tw-border-opacity,1))}.rf-border-red-800{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.rf-border-slate-700{--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1))}.rf-border-slate-800{--tw-border-opacity:1;border-color:rgb(30 41 59/var(--tw-border-opacity,1))}.rf-border-slate-800\\/60{border-color:rgba(30,41,59,.6)}.rf-border-yellow-200{--tw-border-opacity:1;border-color:rgb(254 240 138/var(--tw-border-opacity,1))}.rf-border-zinc-200{--tw-border-opacity:1;border-color:rgb(228 228 231/var(--tw-border-opacity,1))}.rf-border-zinc-900{--tw-border-opacity:1;border-color:rgb(24 24 27/var(--tw-border-opacity,1))}.rf-border-l-blue-500{--tw-border-opacity:1;border-left-color:rgb(59 130 246/var(--tw-border-opacity,1))}.rf-border-t-blue-600{--tw-border-opacity:1;border-top-color:rgb(37 99 235/var(--tw-border-opacity,1))}.rf-bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.rf-bg-amber-50\\/30{background-color:rgba(255,251,235,.3)}.rf-bg-background{background-color:hsl(var(--background))}.rf-bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.rf-bg-black\\/80{background-color:rgba(0,0,0,.8)}.rf-bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.rf-bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.rf-bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.rf-bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.rf-bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.rf-bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.rf-bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.rf-bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.rf-bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.rf-bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.rf-bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.rf-bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.rf-bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.rf-bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.rf-bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.rf-bg-muted{background-color:hsl(var(--muted))}.rf-bg-neutral-100{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity,1))}.rf-bg-neutral-50{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.rf-bg-neutral-800{--tw-bg-opacity:1;background-color:rgb(38 38 38/var(--tw-bg-opacity,1))}.rf-bg-neutral-900{--tw-bg-opacity:1;background-color:rgb(23 23 23/var(--tw-bg-opacity,1))}.rf-bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.rf-bg-orange-400{--tw-bg-opacity:1;background-color:rgb(251 146 60/var(--tw-bg-opacity,1))}.rf-bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.rf-bg-orange-50\\/50{background-color:rgba(255,247,237,.5)}.rf-bg-orange-500{--tw-bg-opacity:1;background-color:rgb(249 115 22/var(--tw-bg-opacity,1))}.rf-bg-popover{background-color:hsl(var(--popover))}.rf-bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.rf-bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.rf-bg-red-50\\/50{background-color:hsla(0,86%,97%,.5)}.rf-bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.rf-bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.rf-bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.rf-bg-red-950{--tw-bg-opacity:1;background-color:rgb(69 10 10/var(--tw-bg-opacity,1))}.rf-bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.rf-bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.rf-bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.rf-bg-transparent{background-color:transparent}.rf-bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.rf-bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.rf-bg-yellow-50{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity,1))}.rf-bg-zinc-100{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity,1))}.rf-bg-zinc-200{--tw-bg-opacity:1;background-color:rgb(228 228 231/var(--tw-bg-opacity,1))}.rf-bg-zinc-50{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.rf-bg-zinc-800{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.rf-bg-zinc-900{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity,1))}.rf-bg-zinc-950{--tw-bg-opacity:1;background-color:rgb(9 9 11/var(--tw-bg-opacity,1))}.rf-bg-opacity-50{--tw-bg-opacity:0.5}.rf-fill-amber-500{fill:#f59e0b}.rf-fill-current{fill:currentColor}.rf-object-contain{-o-object-fit:contain;object-fit:contain}.rf-object-cover{-o-object-fit:cover;object-fit:cover}.\\!rf-p-0{padding:0!important}.rf-p-0{padding:0}.rf-p-1{padding:.25rem}.rf-p-2{padding:.5rem}.rf-p-3{padding:.75rem}.rf-p-4{padding:1rem}.rf-p-5{padding:1.25rem}.rf-p-6{padding:1.5rem}.rf-p-8{padding:2rem}.rf-px-1{padding-left:.25rem;padding-right:.25rem}.rf-px-1\\.5{padding-left:.375rem;padding-right:.375rem}.rf-px-2{padding-left:.5rem;padding-right:.5rem}.rf-px-2\\.5{padding-left:.625rem;padding-right:.625rem}.rf-px-3{padding-left:.75rem;padding-right:.75rem}.rf-px-4{padding-left:1rem;padding-right:1rem}.rf-px-6{padding-left:1.5rem;padding-right:1.5rem}.rf-px-8{padding-left:2rem;padding-right:2rem}.rf-py-0{padding-bottom:0;padding-top:0}.rf-py-0\\.5{padding-bottom:.125rem;padding-top:.125rem}.rf-py-1{padding-bottom:.25rem;padding-top:.25rem}.rf-py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.rf-py-10{padding-bottom:2.5rem;padding-top:2.5rem}.rf-py-12{padding-bottom:3rem;padding-top:3rem}.rf-py-2{padding-bottom:.5rem;padding-top:.5rem}.rf-py-3{padding-bottom:.75rem;padding-top:.75rem}.rf-py-4{padding-bottom:1rem;padding-top:1rem}.rf-py-6{padding-bottom:1.5rem;padding-top:1.5rem}.rf-py-8{padding-bottom:2rem;padding-top:2rem}.rf-pb-0{padding-bottom:0}.rf-pb-1{padding-bottom:.25rem}.rf-pb-2{padding-bottom:.5rem}.rf-pb-3{padding-bottom:.75rem}.rf-pb-4{padding-bottom:1rem}.rf-pb-px{padding-bottom:1px}.rf-pl-10{padding-left:2.5rem}.rf-pl-11{padding-left:2.75rem}.rf-pl-12{padding-left:3rem}.rf-pl-2{padding-left:.5rem}.rf-pl-4{padding-left:1rem}.rf-pl-8{padding-left:2rem}.rf-pr-2{padding-right:.5rem}.rf-pt-0{padding-top:0}.rf-pt-1{padding-top:.25rem}.rf-pt-2{padding-top:.5rem}.rf-pt-4{padding-top:1rem}.rf-text-left{text-align:left}.rf-text-center{text-align:center}.rf-text-right{text-align:right}.rf-align-bottom{vertical-align:bottom}.rf-font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.rf-font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.rf-text-2xl{font-size:1.5rem;line-height:2rem}.rf-text-3xl{font-size:1.875rem;line-height:2.25rem}.rf-text-\\[10px\\]{font-size:10px}.rf-text-\\[11px\\]{font-size:11px}.rf-text-\\[8px\\]{font-size:8px}.rf-text-base{font-size:1rem;line-height:1.5rem}.rf-text-lg{font-size:1.125rem;line-height:1.75rem}.rf-text-sm{font-size:.875rem;line-height:1.25rem}.rf-text-xl{font-size:1.25rem;line-height:1.75rem}.rf-text-xs{font-size:.75rem;line-height:1rem}.\\!rf-font-normal{font-weight:400!important}.rf-font-bold{font-weight:700}.rf-font-medium{font-weight:500}.rf-font-semibold{font-weight:600}.rf-uppercase{text-transform:uppercase}.rf-capitalize{text-transform:capitalize}.rf-tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.rf-leading-5{line-height:1.25rem}.rf-leading-\\[0\\.95rem\\]{line-height:.95rem}.rf-leading-\\[1rem\\]{line-height:1rem}.rf-leading-none{line-height:1}.rf-leading-relaxed{line-height:1.625}.rf-leading-tight{line-height:1.25}.rf-tracking-wide{letter-spacing:.025em}.rf-tracking-widest{letter-spacing:.1em}.rf-text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.rf-text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.rf-text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.rf-text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.rf-text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.rf-text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.rf-text-blue-900{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity,1))}.rf-text-current{color:currentColor}.rf-text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.rf-text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.rf-text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.rf-text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.rf-text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.rf-text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.rf-text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.rf-text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.rf-text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.rf-text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.rf-text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.rf-text-green-900{--tw-text-opacity:1;color:rgb(20 83 45/var(--tw-text-opacity,1))}.rf-text-muted-foreground{color:hsl(var(--muted-foreground))}.rf-text-neutral-50{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.rf-text-neutral-500{--tw-text-opacity:1;color:rgb(115 115 115/var(--tw-text-opacity,1))}.rf-text-neutral-900{--tw-text-opacity:1;color:rgb(23 23 23/var(--tw-text-opacity,1))}.rf-text-neutral-950{--tw-text-opacity:1;color:rgb(10 10 10/var(--tw-text-opacity,1))}.rf-text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.rf-text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.rf-text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.rf-text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.rf-text-orange-800{--tw-text-opacity:1;color:rgb(154 52 18/var(--tw-text-opacity,1))}.rf-text-popover-foreground{color:hsl(var(--popover-foreground))}.rf-text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.rf-text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.rf-text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.rf-text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.rf-text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.rf-text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.rf-text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.rf-text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.rf-text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.rf-text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.rf-text-slate-50{--tw-text-opacity:1;color:rgb(248 250 252/var(--tw-text-opacity,1))}.rf-text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.rf-text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.rf-text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.rf-text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.rf-text-yellow-400{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.rf-text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.rf-text-yellow-600{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity,1))}.rf-text-yellow-700{--tw-text-opacity:1;color:rgb(161 98 7/var(--tw-text-opacity,1))}.rf-text-yellow-900{--tw-text-opacity:1;color:rgb(113 63 18/var(--tw-text-opacity,1))}.rf-text-zinc-200{--tw-text-opacity:1;color:rgb(228 228 231/var(--tw-text-opacity,1))}.rf-text-zinc-300{--tw-text-opacity:1;color:rgb(212 212 216/var(--tw-text-opacity,1))}.rf-text-zinc-400{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.rf-text-zinc-50{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.rf-text-zinc-500{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.rf-text-zinc-900{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}.rf-text-zinc-950{--tw-text-opacity:1;color:rgb(9 9 11/var(--tw-text-opacity,1))}.rf-underline{text-decoration-line:underline}.rf-line-through{text-decoration-line:line-through}.rf-underline-offset-4{text-underline-offset:4px}.rf-opacity-0{opacity:0}.rf-opacity-100{opacity:1}.rf-opacity-25{opacity:.25}.rf-opacity-30{opacity:.3}.rf-opacity-50{opacity:.5}.rf-opacity-60{opacity:.6}.rf-opacity-70{opacity:.7}.rf-opacity-75{opacity:.75}.rf-shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.rf-shadow,.rf-shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.rf-shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.rf-shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.rf-shadow-md,.rf-shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.rf-shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.rf-shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.rf-shadow-sm,.rf-shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.rf-shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.rf-outline-none{outline:2px solid transparent;outline-offset:2px}.rf-ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.rf-ring-blue-500{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.rf-ring-primary{--tw-ring-color:hsl(var(--primary))}.rf-ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.rf-ring-offset-white{--tw-ring-offset-color:#fff}.rf-transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.rf-transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.rf-transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.rf-transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.rf-transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.rf-duration-150{transition-duration:.15s}.rf-duration-200{transition-duration:.2s}.rf-ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.rf-animate-in{animation-duration:.15s;animation-name:enter;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.rf-fade-in-0{--tw-enter-opacity:0}.rf-zoom-in-95{--tw-enter-scale:.95}.rf-slide-in-from-left-1{--tw-enter-translate-x:-0.25rem}.rf-slide-out-to-left-1{--tw-exit-translate-x:-0.25rem}.rf-duration-150{animation-duration:.15s}.rf-duration-200{animation-duration:.2s}.rf-ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.file\\:rf-border-0::file-selector-button{border-width:0}.file\\:rf-bg-transparent::file-selector-button{background-color:transparent}.file\\:rf-text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\\:rf-font-medium::file-selector-button{font-weight:500}.placeholder\\:rf-text-zinc-500::-moz-placeholder{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.placeholder\\:rf-text-zinc-500::placeholder{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.hover\\:rf-border-blue-300:hover{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.hover\\:\\!rf-bg-transparent:hover{background-color:transparent!important}.hover\\:rf-bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.hover\\:rf-bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\\:rf-bg-orange-100:hover{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.hover\\:rf-bg-red-100:hover{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.hover\\:rf-bg-red-500\\/90:hover{background-color:rgba(239,68,68,.9)}.hover\\:rf-bg-slate-100:hover{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.hover\\:rf-bg-slate-200:hover{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.hover\\:rf-bg-slate-50:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.hover\\:rf-bg-zinc-100:hover{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity,1))}.hover\\:rf-bg-zinc-100\\/80:hover{background-color:hsla(240,5%,96%,.8)}.hover\\:rf-bg-zinc-900\\/90:hover{background-color:rgba(24,24,27,.9)}.hover\\:rf-text-blue-800:hover{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.hover\\:rf-text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.hover\\:rf-text-red-400:hover{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.hover\\:rf-text-slate-800:hover{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.hover\\:rf-text-slate-900:hover{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.hover\\:rf-text-zinc-900:hover{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}.hover\\:rf-underline:hover{text-decoration-line:underline}.focus\\:rf-bg-gray-100:focus{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.focus\\:rf-bg-zinc-100:focus{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity,1))}.focus\\:rf-text-gray-900:focus{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.focus\\:rf-text-zinc-900:focus{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}.focus\\:rf-outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:rf-ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:rf-ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.focus\\:rf-ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\\:rf-ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\\:rf-outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\\:rf-ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\\:rf-ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\\:rf-ring-zinc-950:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(9 9 11/var(--tw-ring-opacity,1))}.focus-visible\\:rf-ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.disabled\\:rf-pointer-events-none:disabled{pointer-events:none}.disabled\\:rf-cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:rf-opacity-50:disabled{opacity:.5}.rf-group:hover .group-hover\\:rf-opacity-100,.rf-group\\/bar:hover .group-hover\\/bar\\:rf-opacity-100{opacity:1}.rf-peer:disabled~.peer-disabled\\:rf-cursor-not-allowed{cursor:not-allowed}.rf-peer:disabled~.peer-disabled\\:rf-opacity-70{opacity:.7}.data-\\[disabled\\=true\\]\\:rf-pointer-events-none[data-disabled=true],.data-\\[disabled\\]\\:rf-pointer-events-none[data-disabled]{pointer-events:none}.data-\\[side\\=bottom\\]\\:rf-translate-y-1[data-side=bottom]{--tw-translate-y:0.25rem}.data-\\[side\\=bottom\\]\\:rf-translate-y-1[data-side=bottom],.data-\\[side\\=left\\]\\:-rf-translate-x-1[data-side=left]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\\[side\\=left\\]\\:-rf-translate-x-1[data-side=left]{--tw-translate-x:-0.25rem}.data-\\[side\\=right\\]\\:rf-translate-x-1[data-side=right]{--tw-translate-x:0.25rem}.data-\\[side\\=right\\]\\:rf-translate-x-1[data-side=right],.data-\\[side\\=top\\]\\:-rf-translate-y-1[data-side=top]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\\[side\\=top\\]\\:-rf-translate-y-1[data-side=top]{--tw-translate-y:-0.25rem}.data-\\[selected\\=true\\]\\:rf-bg-zinc-100[data-selected=true]{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity,1))}.data-\\[state\\=active\\]\\:rf-bg-white[data-state=active]{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.data-\\[state\\=checked\\]\\:rf-bg-zinc-900[data-state=checked]{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity,1))}.data-\\[state\\=open\\]\\:rf-bg-zinc-100[data-state=open]{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity,1))}.data-\\[selected\\=true\\]\\:rf-text-zinc-900[data-selected=true]{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}.data-\\[state\\=active\\]\\:rf-text-zinc-950[data-state=active]{--tw-text-opacity:1;color:rgb(9 9 11/var(--tw-text-opacity,1))}.data-\\[state\\=checked\\]\\:rf-text-zinc-50[data-state=checked]{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.data-\\[disabled\\=true\\]\\:rf-opacity-50[data-disabled=true],.data-\\[disabled\\]\\:rf-opacity-50[data-disabled]{opacity:.5}.data-\\[state\\=active\\]\\:rf-shadow[data-state=active]{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.data-\\[state\\=open\\]\\:rf-animate-in[data-state=open]{animation-duration:.15s;animation-name:enter;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.data-\\[state\\=closed\\]\\:rf-animate-out[data-state=closed]{animation-duration:.15s;animation-name:exit;--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial}.data-\\[state\\=closed\\]\\:rf-fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\\[state\\=open\\]\\:rf-fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\\[state\\=closed\\]\\:rf-zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\\[state\\=open\\]\\:rf-zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\\[side\\=bottom\\]\\:rf-slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-0.5rem}.data-\\[side\\=left\\]\\:rf-slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:0.5rem}.data-\\[side\\=right\\]\\:rf-slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-0.5rem}.data-\\[side\\=top\\]\\:rf-slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:0.5rem}.data-\\[state\\=closed\\]\\:rf-slide-out-to-left-1\\/2[data-state=closed]{--tw-exit-translate-x:-50%}.data-\\[state\\=closed\\]\\:rf-slide-out-to-top-\\[48\\%\\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\\[state\\=open\\]\\:rf-slide-in-from-left-1\\/2[data-state=open]{--tw-enter-translate-x:-50%}.data-\\[state\\=open\\]\\:rf-slide-in-from-top-\\[48\\%\\][data-state=open]{--tw-enter-translate-y:-48%}.dark\\:rf-border-zinc-50:is(.rf-dark *){--tw-border-opacity:1;border-color:rgb(250 250 250/var(--tw-border-opacity,1))}.dark\\:rf-border-zinc-800:is(.rf-dark *){--tw-border-opacity:1;border-color:rgb(39 39 42/var(--tw-border-opacity,1))}.dark\\:rf-bg-gray-700:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\\:rf-bg-gray-800:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.dark\\:rf-bg-red-900:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.dark\\:rf-bg-zinc-50:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.dark\\:rf-bg-zinc-800:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.dark\\:rf-bg-zinc-950:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(9 9 11/var(--tw-bg-opacity,1))}.dark\\:rf-text-gray-500:is(.rf-dark *){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.dark\\:rf-text-zinc-400:is(.rf-dark *){--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.dark\\:rf-text-zinc-50:is(.rf-dark *){--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.dark\\:rf-text-zinc-900:is(.rf-dark *){--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}.dark\\:rf-placeholder-zinc-400:is(.rf-dark *)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(161 161 170/var(--tw-placeholder-opacity,1))}.dark\\:rf-placeholder-zinc-400:is(.rf-dark *)::placeholder{--tw-placeholder-opacity:1;color:rgb(161 161 170/var(--tw-placeholder-opacity,1))}.dark\\:rf-ring-offset-zinc-950:is(.rf-dark *){--tw-ring-offset-color:#09090b}.dark\\:placeholder\\:rf-text-zinc-400:is(.rf-dark *)::-moz-placeholder{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.dark\\:placeholder\\:rf-text-zinc-400:is(.rf-dark *)::placeholder{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.dark\\:hover\\:rf-bg-red-900\\/90:hover:is(.rf-dark *){background-color:rgba(127,29,29,.9)}.dark\\:hover\\:rf-bg-zinc-50\\/90:hover:is(.rf-dark *){background-color:hsla(0,0%,98%,.9)}.dark\\:hover\\:rf-bg-zinc-800:hover:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.dark\\:hover\\:rf-bg-zinc-800\\/80:hover:is(.rf-dark *){background-color:rgba(39,39,42,.8)}.dark\\:hover\\:rf-text-zinc-50:hover:is(.rf-dark *){--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.dark\\:focus\\:rf-bg-zinc-800:focus:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.dark\\:focus\\:rf-text-zinc-50:focus:is(.rf-dark *){--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.dark\\:focus-visible\\:rf-ring-zinc-300:focus-visible:is(.rf-dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(212 212 216/var(--tw-ring-opacity,1))}.dark\\:data-\\[selected\\=true\\]\\:rf-bg-zinc-800[data-selected=true]:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.dark\\:data-\\[state\\=active\\]\\:rf-bg-zinc-950[data-state=active]:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(9 9 11/var(--tw-bg-opacity,1))}.dark\\:data-\\[state\\=checked\\]\\:rf-bg-zinc-50[data-state=checked]:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.dark\\:data-\\[state\\=open\\]\\:rf-bg-zinc-800[data-state=open]:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.dark\\:data-\\[selected\\=true\\]\\:rf-text-zinc-50[data-selected=true]:is(.rf-dark *){--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.dark\\:data-\\[state\\=active\\]\\:rf-text-zinc-50[data-state=active]:is(.rf-dark *){--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.dark\\:data-\\[state\\=checked\\]\\:rf-text-zinc-900[data-state=checked]:is(.rf-dark *){--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}@media (min-width:640px){.sm\\:rf-order-1{order:1}.sm\\:rf-order-2{order:2}.sm\\:rf-mt-0{margin-top:0}.sm\\:rf-mt-4{margin-top:1rem}.sm\\:rf-block{display:block}.sm\\:rf-inline{display:inline}.sm\\:rf-grid{display:grid}.sm\\:rf-hidden{display:none}.sm\\:rf-h-5{height:1.25rem}.sm\\:rf-w-1\\/2{width:50%}.sm\\:rf-w-5{width:1.25rem}.sm\\:rf-w-\\[90vw\\]{width:90vw}.sm\\:rf-w-auto{width:auto}.sm\\:rf-max-w-\\[500px\\]{max-width:500px}.sm\\:rf-max-w-md{max-width:28rem}.sm\\:rf-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\\:rf-grid-cols-\\[1fr_auto\\]{grid-template-columns:1fr auto}.sm\\:rf-grid-cols-\\[minmax\\(0\\2c 1fr\\)_auto\\]{grid-template-columns:minmax(0,1fr) auto}.sm\\:rf-flex-row{flex-direction:row}.sm\\:rf-items-center{align-items:center}.sm\\:rf-justify-end{justify-content:flex-end}.sm\\:rf-gap-3{gap:.75rem}.sm\\:rf-gap-4{gap:1rem}.sm\\:rf-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.sm\\:rf-rounded-lg{border-radius:var(--radius)}.sm\\:rf-p-3{padding:.75rem}.sm\\:rf-p-6{padding:1.5rem}.sm\\:rf-px-4{padding-left:1rem;padding-right:1rem}.sm\\:rf-px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\\:rf-py-6{padding-bottom:1.5rem;padding-top:1.5rem}.sm\\:rf-text-left{text-align:left}.sm\\:rf-text-2xl{font-size:1.5rem;line-height:2rem}.sm\\:rf-text-base{font-size:1rem;line-height:1.5rem}.sm\\:rf-text-sm{font-size:.875rem;line-height:1.25rem}.sm\\:rf-text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:768px){.md\\:rf-w-auto{width:auto}.md\\:rf-max-w-\\[660px\\]{max-width:660px}.md\\:rf-max-w-lg{max-width:32rem}.md\\:rf-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\\:rf-p-8{padding:2rem}.md\\:rf-py-8{padding-bottom:2rem;padding-top:2rem}.md\\:rf-text-3xl{font-size:1.875rem;line-height:2.25rem}}@media (min-width:1024px){.lg\\:rf-max-w-\\[720px\\]{max-width:720px}.lg\\:rf-max-w-xl{max-width:36rem}}@media (min-width:1280px){.xl\\:rf-max-w-\\[800px\\]{max-width:800px}}.\\[\\&\\>span\\]\\:rf-line-clamp-1>span{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\\[\\&\\>svg\\]\\:rf-size-4>svg{height:1rem;width:1rem}.\\[\\&\\>svg\\]\\:rf-shrink-0>svg{flex-shrink:0}.\\[\\&\\>svg\\]\\:rf-text-red-300>svg{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.\\[\\&\\>svg\\]\\:hover\\:rf-text-red-400:hover>svg{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:rf-px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:rf-py-1\\.5 [cmdk-group-heading]{padding-bottom:.375rem;padding-top:.375rem}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:rf-text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:rf-font-medium [cmdk-group-heading]{font-weight:500}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:rf-text-zinc-500 [cmdk-group-heading]{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.dark\\:\\[\\&_\\[cmdk-group-heading\\]\\]\\:rf-text-zinc-400 [cmdk-group-heading]:is(.rf-dark *){--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.\\[\\&_\\[cmdk-group\\]\\:not\\(\\[hidden\\]\\)_\\~\\[cmdk-group\\]\\]\\:rf-pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\\[\\&_\\[cmdk-group\\]\\]\\:rf-px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\\[\\&_\\[cmdk-input-wrapper\\]_svg\\]\\:rf-h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\\[\\&_\\[cmdk-input-wrapper\\]_svg\\]\\:rf-w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\\[\\&_\\[cmdk-input\\]\\]\\:rf-h-12 [cmdk-input]{height:3rem}.\\[\\&_\\[cmdk-item\\]\\]\\:rf-px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\\[\\&_\\[cmdk-item\\]\\]\\:rf-py-3 [cmdk-item]{padding-bottom:.75rem;padding-top:.75rem}.\\[\\&_\\[cmdk-item\\]_svg\\]\\:rf-h-5 [cmdk-item] svg{height:1.25rem}.\\[\\&_\\[cmdk-item\\]_svg\\]\\:rf-w-5 [cmdk-item] svg{width:1.25rem}.\\[\\&_svg\\]\\:rf-pointer-events-none svg{pointer-events:none}.\\[\\&_svg\\]\\:rf-size-4 svg{height:1rem;width:1rem}.\\[\\&_svg\\]\\:rf-shrink-0 svg{flex-shrink:0}',NZ=()=>{j.useEffect(()=>{if(document.querySelector('style[data-styles="tscircuit-runframe"]'))return;const A=document.createElement("style");A.setAttribute("data-styles","tscircuit-runframe"),A.textContent=iTt,document.head.appendChild(A)},[])},oTt=t=>{j.useEffect(()=>(t?document.body.style.overflow="hidden":document.body.style.overflow="",()=>{document.body.style.overflow=""}),[t])};function rv(t,A,e){const[i,o]=j.useState(()=>{if(e!==void 0)return e;try{const n=window.localStorage.getItem(t);return n?JSON.parse(n):A}catch(n){return console.error("Error reading from localStorage:",n),A}});return j.useEffect(()=>{try{window.localStorage.setItem(t,JSON.stringify(i))}catch(n){console.error("Error writing to localStorage:",n)}},[t,i]),[i,o]}const Kte=t=>`hsl(${Wp.indexOf(t)*137.5%360}, 70%, 50%)`,nTt=({phaseTimings:t})=>{if(!t)return null;const A=Object.values(t).reduce((e,i)=>e+i,0);return O.jsxs("div",{className:"rf-space-y-2 rf-w-full rf-px-4",children:[O.jsx("div",{className:"rf-relative rf-h-8 rf-flex rf-rounded-sm",children:Wp.map(e=>{const i=t[e]||0,o=i/A*100;return O.jsx("div",{className:"rf-group/bar rf-relative rf-overflow-visible",style:{width:`${o}%`,backgroundColor:Kte(e)},children:O.jsxs("div",{className:"rf-opacity-0 group-hover/bar:rf-opacity-100 rf-transition-opacity rf-absolute rf-bottom-full rf-left-1/2 rf-transform -rf-translate-x-1/2 rf-mb-2 rf-px-2 rf-py-1 rf-text-xs rf-whitespace-nowrap rf-rounded rf-bg-gray-900 rf-text-white rf-pointer-events-none",children:[e,": ",i.toFixed(1),"ms"]})},e)})}),O.jsxs("div",{className:"rf-text-xs rf-text-gray-500",children:["Total: ",A.toFixed(2),"ms"]})]})},sTt=t=>{if(t instanceof Blob)return t;if(t==null)return"";if(typeof t=="string")return t;if(typeof t=="object")try{return JSON.stringify(t,null,2)}catch{return String(t)}return String(t)},rTt=({renderLog:t,onRerunWithDebug:A})=>{const[e,i]=j.useState("chronological"),[o,n]=j.useState(""),s=[{value:"",label:"None"},{value:"DEBUG=Group_doInitialSchematicTraceRender",label:"DEBUG=Group_doInitialSchematicTraceRender"},{value:"DEBUG=Group_doInitialSchematicLayoutMatchpack",label:"DEBUG=Group_doInitialSchematicLayoutMatchpack"},{value:"DEBUG=Group_doInitialPcbLayoutPack",label:"DEBUG=Group_doInitialPcbLayoutPack"}];if(!t)return O.jsxs("div",{className:"rf-p-4 rf-bg-gray-100 rf-rounded-md",children:[O.jsx("div",{className:"rf-mb-4",children:"No render log, make sure this tab is open when you render"}),A&&O.jsxs("div",{className:"rf-flex rf-gap-2 rf-items-center",children:[O.jsx("select",{value:o,onChange:g=>n(g.target.value),className:"rf-px-3 rf-py-1 rf-border rf-rounded rf-text-xs rf-bg-white",children:s.map(g=>O.jsx("option",{value:g.value,children:g.label},g.value))}),O.jsx(Sa,{onClick:()=>A(o),size:"sm",className:"rf-text-xs",children:"Rerun Render with Debug"})]})]});const r=Object.entries(t?.phaseTimings??{});e==="chronological"?r.sort((g,I)=>Wp.indexOf(g[0])-Wp.indexOf(I[0])):r.sort((g,I)=>I[1]-g[1]);const a=r.reduce((g,[I,c])=>g+c,0);return O.jsxs("div",{className:"rf-bg-white",children:[O.jsxs("div",{className:"rf-flex rf-justify-between rf-items-center rf-mb-4",children:[O.jsx("div",{children:"Render Logs"}),O.jsxs("div",{className:"rf-flex rf-gap-4 rf-items-center",children:[A&&O.jsxs("div",{className:"rf-flex rf-gap-2 rf-items-center",children:[O.jsx("select",{value:o,onChange:g=>n(g.target.value),className:"rf-px-3 rf-py-1 rf-border rf-rounded rf-text-xs rf-bg-white",children:s.map(g=>O.jsx("option",{value:g.value,children:g.label},g.value))}),O.jsx(Sa,{onClick:()=>A(o),size:"sm",className:"rf-text-xs",children:"Rerun Render with Debug"})]}),O.jsx("div",{className:"rf-flex rf-gap-2 rf-items-center",children:O.jsxs("select",{onChange:g=>{if(g.target.value){const I=t?.debugOutputs?.find(c=>c.name===g.target.value);if(I){const c=sTt(I.content),B=c instanceof Blob?c:new Blob([c],{type:"text/plain"}),l=URL.createObjectURL(B),C=document.createElement("a");C.href=l,C.download=`debug-${I.name}.txt`,document.body.appendChild(C),C.click(),document.body.removeChild(C),URL.revokeObjectURL(l)}g.target.value=""}},disabled:!t?.debugOutputs||t.debugOutputs.length===0,className:"rf-px-3 rf-py-1 rf-border rf-rounded rf-text-xs rf-bg-white disabled:rf-opacity-50 disabled:rf-cursor-not-allowed",children:[O.jsx("option",{value:"",children:"Download Debug Output"}),t?.debugOutputs?.map(g=>O.jsx("option",{value:g.name,children:g.name},g.name))]})}),O.jsxs("div",{className:"rf-flex rf-text-xs rf-items-center",children:[O.jsx("div",{className:"rf-mr-2",children:"Sort by:"}),O.jsxs("select",{value:e,onChange:g=>i(g.target.value),className:"rf-px-2 rf-py-1 rf-border rf-rounded rf-text-xs",children:[O.jsx("option",{value:"chronological",children:"Phase Order"}),O.jsx("option",{value:"longest",children:"Duration"})]})]})]})]}),O.jsx(nTt,{phaseTimings:t.phaseTimings}),O.jsxs("table",{className:"rf-w-full rf-text-xs",children:[O.jsx("thead",{children:O.jsxs("tr",{children:[O.jsx("th",{className:"rf-text-left rf-p-2",children:"Phase Order"}),O.jsx("th",{className:"rf-text-left rf-p-2",children:"Phase"}),O.jsx("th",{className:"rf-text-left rf-p-2",children:"Duration (ms)"})]})}),O.jsx("tbody",{children:r.map(([g,I])=>O.jsxs("tr",{children:[O.jsx("td",{className:"rf-p-2",children:Wp.indexOf(g)}),O.jsx("td",{className:"rf-p-2",children:g}),O.jsx("td",{className:"rf-p-2",children:O.jsx("div",{className:"rf-w-8",children:O.jsx("div",{className:"rf-h-2 rf-rounded-sm",style:{backgroundColor:Kte(g),width:`${I/a*100}%`}})})}),O.jsx("td",{className:"rf-p-2",children:O.jsxs("div",{className:"rf-flex w-full",children:[O.jsxs("span",{className:"rf-flex-grow",children:[I,"ms"]}),O.jsxs("span",{className:"rf-text-gray-500 rf-pr-2",children:[(I/a*100).toFixed(1),"%"]})]})})]},g))})]})]})},aTt=Xi[typeof document<"u"&&document.createElement!==void 0?"useLayoutEffect":"useEffect"],gTt=t=>{const A=j.useRef(t);return j.useEffect(()=>{A.current=t}),A};function ITt(){}function cTt(t,A,e={}){const i=lTt(e.polyfill),o=gTt(A);return aTt(()=>{let n=!1;const s=t&&"current"in t?t.current:t;if(!s)return ITt;function r(a,g){n||o.current(a,g)}return i.subscribe(s,r),()=>{n=!0,i.unsubscribe(s,r)}},[t,i,o]),i.observer}function BTt(t){let A=!1,e=[];const i=new Map,o=new(t||window.ResizeObserver)((n,s)=>{e=e.concat(n);function r(){const a=new Set;for(let g=0;g<e.length;g++){if(a.has(e[g].target))continue;a.add(e[g].target);const I=i.get(e[g].target);I?.forEach(c=>c(e[g],s))}e=[],A=!1}A||window.requestAnimationFrame(r),A=!0});return{observer:o,subscribe(n,s){var r;o.observe(n);const a=(r=i.get(n))!==null&&r!==void 0?r:[];a.push(s),i.set(n,a)},unsubscribe(n,s){var r;const a=(r=i.get(n))!==null&&r!==void 0?r:[];if(a.length===1){o.unobserve(n),i.delete(n);return}const g=a.indexOf(s);g!==-1&&a.splice(g,1),i.set(n,a)}}}let $hA;const lTt=t=>$hA||($hA=BTt(t));function Cn(){return Cn=Object.assign?Object.assign.bind():function(t){for(var A=1;A<arguments.length;A++){var e=arguments[A];for(var i in e)({}).hasOwnProperty.call(e,i)&&(t[i]=e[i])}return t},Cn.apply(null,arguments)}function CTt(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function nY(t,A){return nY=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,i){return e.__proto__=i,e},nY(t,A)}function PF(t,A){t.prototype=Object.create(A.prototype),t.prototype.constructor=t,nY(t,A)}function AuA(t){return AuA=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(A){return A.__proto__||Object.getPrototypeOf(A)},AuA(t)}function QTt(t){try{return Function.toString.call(t).indexOf("[native code]")!==-1}catch{return typeof t=="function"}}function qte(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(qte=function(){return!!t})()}function ETt(t,A,e){if(qte())return Reflect.construct.apply(null,arguments);var i=[null];i.push.apply(i,A);var o=new(t.bind.apply(t,i));return e&&nY(o,e.prototype),o}function euA(t){var A=typeof Map=="function"?new Map:void 0;return euA=function(i){if(i===null||!QTt(i))return i;if(typeof i!="function")throw new TypeError("Super expression must either be null or a function");if(A!==void 0){if(A.has(i))return A.get(i);A.set(i,o)}function o(){return ETt(i,arguments,AuA(this).constructor)}return o.prototype=Object.create(i.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),nY(o,i)},euA(t)}var hTt={env:{}},uTt={1:`Passed invalid arguments to hsl, please pass multiple numbers e.g. hsl(360, 0.75, 0.4) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75 }).
|
|
5440
5440
|
|
|
5441
5441
|
`,2:`Passed invalid arguments to hsla, please pass multiple numbers e.g. hsla(360, 0.75, 0.4, 0.7) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75, alpha: 0.7 }).
|
|
5442
5442
|
|
|
@@ -5617,7 +5617,7 @@ test("${g} should solve problem correctly", () => {
|
|
|
5617
5617
|
// Add more specific assertions based on expected output
|
|
5618
5618
|
// expect(solver.netLabelPlacementSolver!.netLabelPlacements).toMatchInlineSnapshot()
|
|
5619
5619
|
})
|
|
5620
|
-
`,c=new Blob([I],{type:"text/plain"}),B=URL.createObjectURL(c),l=document.createElement("a");l.href=B,l.download=`${g}.test.ts`,l.click(),URL.revokeObjectURL(B)}catch(a){alert(`Error generating test.ts for ${t.constructor.name}: ${a instanceof Error?a.message:String(a)}`)}i(!1)};return O.jsxs("div",{className:`relative ${A}`,ref:o,children:[O.jsx("button",{className:"px-2 py-1 rounded text-xs cursor-pointer",onClick:()=>i(!e),title:`Download options for ${t.constructor.name}`,children:t.constructor.name}),e&&O.jsxs("div",{className:"absolute top-full left-0 mt-1 bg-white border border-gray-300 rounded shadow-lg z-10 min-w-[150px]",children:[O.jsx("button",{className:"w-full text-left px-3 py-2 hover:bg-gray-100 text-xs",onClick:n,children:"Download JSON"}),O.jsx("button",{className:"w-full text-left px-3 py-2 hover:bg-gray-100 text-xs",onClick:s,children:"Download page.tsx"}),O.jsx("button",{className:"w-full text-left px-3 py-2 hover:bg-gray-100 text-xs",onClick:r,children:"Download test.ts"})]})]})},zte=t=>t.activeSubSolver?[t,...zte(t.activeSubSolver)]:[t],yKt=({solver:t})=>{const A=zte(t);return O.jsx("div",{className:"flex gap-1 items-center text-sm pt-1",children:A.map((e,i)=>O.jsxs("div",{className:"flex items-center",children:[i>0&&O.jsx("span",{className:"text-gray-400 mx-1",children:"→"}),O.jsx(fKt,{solver:e})]},e.constructor.name))})},wKt=({solver:t,triggerRender:A,animationSpeed:e=25,onSolverStarted:i,onSolverCompleted:o})=>{const[n,s]=j.useReducer(Q=>!Q,!1),r=j.useRef(void 0),a=()=>{!t.solved&&!t.failed&&(t.step(),A())},g=()=>{!t.solved&&!t.failed&&(i&&i(t),t.solve(),A(),o&&o(t))},I=()=>{n?(r.current&&(clearInterval(r.current),r.current=void 0),s()):(s(),r.current=setInterval(()=>{if(t.solved||t.failed){r.current&&(clearInterval(r.current),r.current=void 0),s(),A(),o&&t.solved&&o(t);return}t.step(),A()},e))},c=()=>{const Q=t;if(Q.getCurrentPhase&&!t.solved&&!t.failed){const E=Q.getCurrentPhase();for(;Q.getCurrentPhase()===E&&!t.solved&&!t.failed;)t.step();A()}},B=()=>{if(t.solved||t.failed||n)return;const Q=window.prompt("Step until which iteration?",`${t.iterations}`);if(Q===null)return;const E=Number(Q);if(!Number.isFinite(E)){window.alert("Please enter a valid number for the iteration");return}for(;t.iterations<E&&!t.solved&&!t.failed;)t.step();A(),t.solved&&o&&o(t)};j.useEffect(()=>()=>{r.current&&clearInterval(r.current)},[]),j.useEffect(()=>{(t.solved||t.failed)&&n&&(r.current&&(clearInterval(r.current),r.current=void 0),s())},[t.solved,t.failed,n]);const l=t.getCurrentPhase!==void 0,C=l?t.getCurrentPhase():null;return O.jsxs("div",{className:"space-y-2 p-2 border-b",children:[O.jsx("div",{className:"flex items-center",children:O.jsx(yKt,{solver:t})}),O.jsxs("div",{className:"flex gap-2 items-center flex-wrap",children:[O.jsx("button",{onClick:a,disabled:t.solved||t.failed||n,className:"bg-blue-500 hover:bg-blue-600 disabled:bg-gray-300 text-white px-3 py-1 rounded text-sm",children:"Step"}),O.jsx("button",{onClick:g,disabled:t.solved||t.failed||n,className:"bg-green-500 hover:bg-green-600 disabled:bg-gray-300 text-white px-3 py-1 rounded text-sm",children:"Solve"}),O.jsx("button",{onClick:I,disabled:t.solved||t.failed,className:`px-3 py-1 rounded text-white text-sm ${n?"bg-red-500 hover:bg-red-600":"bg-yellow-500 hover:bg-yellow-600"} disabled:bg-gray-300`,children:n?"Stop":"Animate"}),O.jsx("button",{onClick:B,disabled:t.solved||t.failed||n,className:"bg-orange-500 hover:bg-orange-600 disabled:bg-gray-300 text-white px-3 py-1 rounded text-sm",children:"Step Until Iteration"}),l&&O.jsx("button",{onClick:c,disabled:t.solved||t.failed||n,className:"bg-purple-500 hover:bg-purple-600 disabled:bg-gray-300 text-white px-3 py-1 rounded text-sm",children:"Next Stage"}),O.jsxs("div",{className:"text-sm text-gray-600",children:["Iterations: ",t.iterations]}),t.timeToSolve!==void 0&&O.jsxs("div",{className:"text-sm text-gray-600",children:["Time: ",(t.timeToSolve/1e3).toFixed(3),"s"]}),C&&O.jsxs("div",{className:"text-sm text-gray-600",children:["Phase: ",O.jsx("span",{className:"font-medium",children:C})]}),t.solved&&O.jsx("div",{className:"px-2 py-1 bg-green-100 text-green-800 rounded text-sm",children:"Solved"}),t.failed&&O.jsx("div",{className:"px-2 py-1 bg-red-100 text-red-800 rounded text-sm",children:"Failed"})]}),t.error&&O.jsxs("div",{className:"text-red-600 text-sm",children:["Error: ",t.error]})]})},mKt=(t,A,e)=>{const i=t.currentPipelineStepIndex;return A<i?"Completed":A===i&&t.activeSubSolver?t.activeSubSolver.failed?"Failed":"In Progress":"Not Started"},DKt=(t,A)=>{const i=t.pipelineDef[A].solverName,o=mKt(t,A),n=t[i],s=t.firstIterationOfPhase?.[i]??null,r=t.iterations;let a=0;if(o==="Completed"){const B=t.pipelineDef[A+1],l=B?t.firstIterationOfPhase?.[B.solverName]:void 0;l!==void 0&&s!==null?a=l-s:s!==null&&(a=r-s)}else o==="In Progress"&&s!==null&&(a=r-s);const g=t.timeSpentOnPhase?.[i]??0;let I=0;o==="Completed"?I=1:o==="In Progress"&&n&&(I=n.progress??0);const c=n?.stats??null;return{index:A,name:i,status:o,firstIteration:s,iterations:a,progress:I,timeSpent:g,stats:c&&Object.keys(c).length>0?c:null,solverInstance:n??null}},SKt=({status:t})=>{const A={"Not Started":"text-blue-600","In Progress":"text-yellow-600",Completed:"text-green-600",Failed:"text-red-600"};return O.jsx("span",{className:`font-medium ${A[t]}`,children:t})},bKt=({progress:t})=>{if(t===0)return null;const A=Math.round(t*100);return O.jsxs("div",{className:"flex items-center gap-2",children:[O.jsx("div",{className:"w-20 h-2 bg-gray-200 rounded overflow-hidden",children:O.jsx("div",{className:"h-full bg-blue-500 transition-all duration-200",style:{width:`${A}%`}})}),O.jsxs("span",{className:"text-xs text-gray-500",children:[A,"%"]})]})},xKt=t=>Object.entries(t).map(([A,e])=>`${A}: ${e}`).join(", "),kKt=({stats:t})=>{if(!t||Object.keys(t).length===0)return O.jsx("span",{children:"-"});const A=Object.entries(t),e=xKt(t);return O.jsxs("details",{className:"cursor-pointer",children:[O.jsx("summary",{className:"whitespace-nowrap overflow-hidden text-ellipsis max-w-[200px]",children:e}),O.jsx("div",{className:"mt-1 text-xs",children:A.map(([i,o])=>O.jsxs("div",{children:[i,": ",String(o)]},i))})]})},suA=t=>{if(t===null||typeof t!="object")return t;if(Array.isArray(t))return t.map(suA);const A={};for(const[e,i]of Object.entries(t))e.startsWith("_")||(A[e]=suA(i));return A},GKt=(t,A)=>{try{if(typeof t.getConstructorParams!="function"){alert(`getConstructorParams() is not implemented for ${A}`);return}const e=suA(t.getConstructorParams()),i=new Blob([JSON.stringify(e,null,2)],{type:"application/json"}),o=URL.createObjectURL(i),n=document.createElement("a");n.href=o,n.download=`${A}_input.json`,n.click(),URL.revokeObjectURL(o)}catch(e){alert(`Error downloading input for ${A}: ${e instanceof Error?e.message:String(e)}`)}},FKt=({solver:t,onStepUntilPhase:A,onDownloadInput:e})=>{const i=t.pipelineDef.map((r,a)=>DKt(t,a)),o=r=>{A?.(r)},n=r=>{r.solverInstance&&(e?e(r.solverInstance,r.name):GKt(r.solverInstance,r.name))},s=r=>`${(r/1e3).toFixed(2)}s`;return O.jsxs("div",{className:"border-t border-gray-200",children:[O.jsx("div",{className:"px-4 py-2 bg-gray-50 border-b border-gray-200",children:O.jsx("h3",{className:"text-sm font-semibold text-gray-700",children:"Pipeline Steps"})}),O.jsx("div",{className:"overflow-x-auto",children:O.jsxs("table",{className:"w-full text-sm",children:[O.jsx("thead",{children:O.jsxs("tr",{className:"bg-gray-50 border-b border-gray-200",children:[O.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Step"}),O.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Status"}),O.jsxs("th",{className:"px-4 py-2 text-center font-semibold text-gray-700",children:["i",O.jsx("sub",{children:"0"})]}),O.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Iterations"}),O.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Progress"}),O.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Time"}),O.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Stats"}),O.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Input"})]})}),O.jsx("tbody",{children:i.map(r=>O.jsxs("tr",{className:`border-b border-gray-100 ${r.status==="In Progress"?"bg-yellow-50":""}`,children:[O.jsx("td",{className:"px-4 py-2",children:O.jsxs("div",{className:"flex items-center gap-2",children:[O.jsx("span",{className:"text-gray-400 w-6",children:String(r.index+1).padStart(2,"0")}),O.jsx("button",{onClick:()=>o(r.name),disabled:r.status==="Completed"||t.solved||t.failed,className:"text-blue-500 hover:text-blue-700 disabled:text-gray-300 disabled:cursor-not-allowed",title:`Step until ${r.name} completes`,children:O.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",className:"w-4 h-4",children:O.jsx("path",{fillRule:"evenodd",d:"M4.5 5.653c0-1.426 1.529-2.33 2.779-1.643l11.54 6.348c1.295.712 1.295 2.573 0 3.285L7.28 19.991c-1.25.687-2.779-.217-2.779-1.643V5.653z",clipRule:"evenodd"})})}),O.jsx("span",{className:"font-medium text-gray-900",children:r.name})]})}),O.jsx("td",{className:"px-4 py-2",children:O.jsx(SKt,{status:r.status})}),O.jsx("td",{className:"px-4 py-2 text-center text-gray-600",children:r.firstIteration!==null?r.firstIteration:""}),O.jsx("td",{className:"px-4 py-2 text-gray-600",children:r.iterations}),O.jsx("td",{className:"px-4 py-2",children:O.jsx(bKt,{progress:r.progress})}),O.jsx("td",{className:"px-4 py-2 text-gray-600",children:s(r.timeSpent)}),O.jsx("td",{className:"px-4 py-2 text-gray-500",children:O.jsx(kKt,{stats:r.stats})}),O.jsx("td",{className:"px-4 py-2",children:r.solverInstance?O.jsxs("button",{onClick:()=>n(r),className:"flex items-center gap-1 text-blue-500 hover:text-blue-700",title:`Download input for ${r.name}`,children:[O.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",className:"w-4 h-4",children:O.jsx("path",{fillRule:"evenodd",d:"M12 2.25a.75.75 0 01.75.75v11.69l3.22-3.22a.75.75 0 111.06 1.06l-4.5 4.5a.75.75 0 01-1.06 0l-4.5-4.5a.75.75 0 111.06-1.06l3.22 3.22V3a.75.75 0 01.75-.75zm-9 13.5a.75.75 0 01.75.75v2.25a1.5 1.5 0 001.5 1.5h13.5a1.5 1.5 0 001.5-1.5V16.5a.75.75 0 011.5 0v2.25a3 3 0 01-3 3H5.25a3 3 0 01-3-3V16.5a.75.75 0 01.75-.75z",clipRule:"evenodd"})}),O.jsx("span",{children:"Input"})]}):null})]},r.name))})]})})]})},RKt=class extends Xi.Component{constructor(t){super(t),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t){console.error("InteractiveGraphics render error:",t)}render(){return this.state.hasError?this.props.fallback:this.props.children}};function MKt({graphics:t}){const A=t.points??[],e=t.lines??[],i=t.rects??[],o=t.circles??[],n=t.texts??[];let s=Number.POSITIVE_INFINITY,r=Number.POSITIVE_INFINITY,a=Number.NEGATIVE_INFINITY,g=Number.NEGATIVE_INFINITY;const I=(E,h)=>{typeof E=="number"&&(E<s&&(s=E),E>a&&(a=E)),typeof h=="number"&&(h<r&&(r=h),h>g&&(g=h))};for(const E of A)I(E.x,E.y);for(const E of e){const h=E.points??[];for(const u of h)I(u.x,u.y)}for(const E of i){const h=E.x??0,u=E.y??0,d=E.width??0,f=E.height??0;I(h,u),I(h+d,u+f)}for(const E of o){const h=E.x??0,u=E.y??0,d=E.radius??1;I(h-d,u-d),I(h+d,u+d)}for(const E of n)I(E.x,E.y);(!isFinite(s)||!isFinite(r)||!isFinite(a)||!isFinite(g))&&(s=-20,r=-20,a=20,g=20);const c=10,B=s-c,l=r-c,C=Math.max(1,a-s+2*c),Q=Math.max(1,g-r+2*c);return O.jsxs("svg",{className:"w-full h-[400px] bg-white",viewBox:`${B} ${l} ${C} ${Q}`,role:"img","aria-label":"Graphics fallback",children:[i.map((E,h)=>O.jsx("rect",{x:E.x??0,y:E.y??0,width:E.width??0,height:E.height??0,fill:"none",stroke:E.strokeColor??"black",strokeWidth:E.strokeWidth??1},`rect-${h}`)),e.map((E,h)=>O.jsx("polyline",{fill:"none",stroke:E.strokeColor??"black",strokeWidth:E.strokeWidth??1,points:(E.points??[]).map(u=>`${u.x??0},${u.y??0}`).join(" ")},`line-${h}`)),o.map((E,h)=>O.jsx("circle",{cx:E.x??0,cy:E.y??0,r:E.radius??1.5,fill:E.fillColor??"none",stroke:E.strokeColor??"black",strokeWidth:E.strokeWidth??1},`circle-${h}`)),A.map((E,h)=>O.jsx("circle",{cx:E.x??0,cy:E.y??0,r:E.radius??1.5,fill:E.color??"black"},`point-${h}`)),n.map((E,h)=>O.jsx("text",{x:E.x??0,y:E.y??0,fontSize:E.fontSize??10,fill:E.color??"black",children:E.text??""},`text-${h}`))]})}var NKt=({solver:t,animationSpeed:A=25,onSolverStarted:e,onSolverCompleted:i})=>{const[o,n]=j.useReducer(I=>I+1,0),s=j.useMemo(()=>{try{return t.visualize()||{points:[],lines:[],rects:[],circles:[]}}catch(I){return console.error("Visualization error:",I),{points:[],lines:[],rects:[],circles:[]}}},[t,o]),r=j.useMemo(()=>(s.rects?.length||0)===0&&(s.lines?.length||0)===0&&(s.points?.length||0)===0&&(s.circles?.length||0)===0,[s]);j.useEffect(()=>{if(!(typeof document>"u")&&!document.querySelector('script[src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4"]')){const I=document.createElement("script");I.src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4",document.head.appendChild(I)}},[]);const a=t.pipelineDef!==void 0,g=I=>{const c=t;if(!t.solved&&!t.failed){for(;!t.solved&&!t.failed&&c.currentPipelineStepIndex<=c.pipelineDef.findIndex(B=>B.solverName===I);)t.step();n()}};return O.jsxs("div",{children:[O.jsx(wKt,{solver:t,triggerRender:n,animationSpeed:A,onSolverStarted:e,onSolverCompleted:i}),r?O.jsx("div",{className:"p-4 text-gray-500",children:"No Graphics Yet"}):O.jsx(RKt,{fallback:O.jsx(MKt,{graphics:s}),children:O.jsx(pKt,{graphics:s})}),a&&O.jsx(FKt,{solver:t,onStepUntilPhase:g})]})};const _Kt=()=>{j.useEffect(()=>{const t="tailwind-cdn-script";if(document.getElementById(t)||window.tailwind)return;const A=document.createElement("div");A.className="hidden",document.body.appendChild(A);const e=window.getComputedStyle(A).display==="none";if(document.body.removeChild(A),e)return;const i=document.createElement("script");i.id=t,i.src="https://cdn.tailwindcss.com",document.head.appendChild(i)},[])},vKt=t=>t.toLowerCase().includes("pack")?jSt:t.toLowerCase().includes("rout")?ebt:_St,UKt=({solverEvents:t=[]})=>{const[A,e]=j.useState(null);_Kt();const i=j.useMemo(()=>{const r=new Map;for(const a of t){const g=`${a.componentName}-${a.solverName}`;r.set(g,a)}return r},[t]),o=j.useMemo(()=>Array.from(i.keys()),[i]),n=A?i.get(A):null,s=j.useMemo(()=>{if(!n)return{instance:null,error:null,classFound:!1};const r=OeA[n.solverName];if(!r)return{instance:null,error:`Solver class "${n.solverName}" not found in SOLVERS registry. Available: ${Object.keys(OeA).join(", ")}`,classFound:!1};try{const a=n.solverParams,g=a?.input!==void 0?a.input:a;return{instance:new r(g),error:null,classFound:!0}}catch(a){const g=a instanceof Error?a.message:String(a);return console.error("Failed to reconstruct solver:",a),{instance:null,error:`Failed to instantiate solver: ${g}`,classFound:!0}}},[n]);return t.length===0?O.jsx("div",{className:"rf-p-4",children:O.jsx("div",{className:"rf-bg-gray-50 rf-rounded-md rf-border rf-border-gray-200",children:O.jsxs("div",{className:"rf-p-4",children:[O.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-text-gray-800 rf-mb-3",children:"No Solvers Detected"}),O.jsx("p",{className:"rf-text-sm rf-text-gray-600",children:"Solvers will appear here when the circuit runs. Solvers are used for tasks like component packing and autorouting."})]})})}):O.jsxs("div",{className:"rf-flex rf-h-full rf-overflow-hidden",children:[O.jsxs("div",{className:"rf-w-64 rf-border-r rf-border-gray-200 rf-overflow-y-auto rf-flex-shrink-0",children:[O.jsxs("div",{className:"rf-text-xs rf-font-semibold rf-text-gray-500 rf-px-3 rf-py-2 rf-bg-gray-50 rf-border-b rf-border-gray-200",children:[o.length," ",o.length===1?"Solver":"Solvers"]}),o.map(r=>{const a=i.get(r),g=A===r;return O.jsx("div",{className:`rf-px-3 rf-py-2 rf-cursor-pointer rf-border-b rf-border-gray-100 ${g?"rf-bg-blue-50 rf-border-l-2 rf-border-l-blue-500":"hover:rf-bg-gray-50"}`,onClick:()=>e(r),children:(()=>{const I=vKt(a.solverName);return O.jsxs("div",{className:"rf-flex rf-items-center rf-gap-2",children:[O.jsx(I,{className:"rf-w-4 rf-h-4 rf-text-blue-500 rf-flex-shrink-0"}),O.jsxs("div",{className:"rf-flex-1 rf-min-w-0",children:[O.jsx("div",{className:"rf-text-sm rf-font-medium rf-text-gray-800 rf-truncate",children:a.componentName}),O.jsx("div",{className:"rf-text-xs rf-text-gray-500 rf-truncate",children:a.solverName})]})]})})()},r)})]}),O.jsx("div",{className:"rf-flex-1 rf-overflow-hidden",children:n?s.instance?O.jsx(by,{fallback:O.jsx("div",{className:"rf-p-4",children:O.jsxs("div",{className:"rf-bg-red-50 rf-rounded-md rf-border rf-border-red-200 rf-p-4",children:[O.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-text-red-800 rf-mb-2",children:"Error Loading Solver Debugger"}),O.jsxs("p",{className:"rf-text-sm rf-text-red-600",children:["Failed to render the solver debugger for"," ",n.solverName]})]})}),children:O.jsx(NKt,{solver:s.instance})}):O.jsxs("div",{className:"rf-p-4",children:[O.jsxs("div",{className:"rf-mb-4",children:[O.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-text-gray-800",children:n.solverName}),O.jsxs("p",{className:"rf-text-sm rf-text-gray-500",children:["Component: ",n.componentName]})]}),s.error&&O.jsx("div",{className:`rf-rounded-md rf-border rf-p-4 rf-mb-4 ${s.classFound?"rf-bg-red-50 rf-border-red-200":"rf-bg-yellow-50 rf-border-yellow-200"}`,children:O.jsx("p",{className:`rf-text-sm ${s.classFound?"rf-text-red-700":"rf-text-yellow-700"}`,children:s.error})}),O.jsxs("div",{className:"rf-border rf-border-gray-200 rf-rounded-md rf-overflow-hidden",children:[O.jsx("div",{className:"rf-px-3 rf-py-2 rf-bg-gray-50",children:O.jsx("span",{className:"rf-text-sm rf-font-medium rf-text-gray-700",children:"Solver Parameters"})}),O.jsx("div",{className:"rf-p-3 rf-bg-white rf-border-t rf-border-gray-200",children:O.jsx("pre",{className:"rf-text-xs rf-font-mono rf-text-gray-600 rf-whitespace-pre-wrap rf-overflow-x-auto",children:JSON.stringify(n.solverParams,null,2)})})]})]}):O.jsx("div",{className:"rf-flex rf-items-center rf-justify-center rf-h-full",children:O.jsx("p",{className:"rf-text-sm rf-text-gray-500",children:"Select a solver from the list to view details"})})})]})},Xte=({errorMessage:t,errorStack:A,circuitJsonErrors:e})=>{j.useEffect(()=>{if(t){const i=new Error(t);A&&(i.stack=A);try{V3.captureException(i)}catch{}}},[t,A]),j.useEffect(()=>{if(e&&e.length>0)for(const i of e){const o=new Error(i.message||"Circuit JSON Error");i.stack&&(o.stack=i.stack);try{V3.captureException(o,{error_type:i.type})}catch{}}},[e])},$te="0.0.1496",LKt={version:$te},LZ=y1A()(w1A(t=>({lastRunEvalVersion:void 0,setLastRunEvalVersion:A=>{t({lastRunEvalVersion:A})}}),{name:"runframe-runner-store"})),HKt=t=>{const[A,e]=j.useState([]),[i,o]=j.useState(null),[n,s]=j.useState(""),[r,a]=rv("eval-version-selection",null),g=LZ(l=>l.setLastRunEvalVersion),I=LZ(l=>l.lastRunEvalVersion);return j.useEffect(()=>{t&&fetch("https://data.jsdelivr.com/v1/package/npm/@tscircuit/eval").then(l=>l.json()).then(l=>{if(Array.isArray(l?.versions)){let C=[...l.versions];l.tags?.latest&&(o(l.tags.latest),C=C.filter(Q=>Q!==l.tags.latest)),e(C)}}).catch(()=>{})},[t]),j.useEffect(()=>{t&&(r?(window.TSCIRCUIT_LATEST_EVAL_VERSION=r,g(r)):i&&(window.TSCIRCUIT_LATEST_EVAL_VERSION=i,g(i)))},[t,r,i]),{versions:j.useMemo(()=>A.filter(l=>l.includes(n)).slice(0,50),[A,n]),latestVersion:i,lastRunEvalVersion:I,search:n,setSearch:s,selectVersion:l=>{a(l),s("")}}},YKt=({snippetNames:t,onSelect:A,onCancel:e,isOpen:i})=>{const[o,n]=j.useState(""),[s,r]=j.useState("");if(!i)return null;const a=t.filter(c=>c.toLowerCase().includes(s.toLowerCase())),g=s&&!t.includes(s),I=c=>{c.key==="Enter"&&(a.length===1?n(a[0]):g&&n(s))};return O.jsx("div",{className:"rf-fixed rf-inset-0 rf-bg-black rf-bg-opacity-50 rf-flex rf-items-center rf-justify-center rf-z-[100]",children:O.jsxs("div",{className:"rf-bg-white rf-rounded-lg rf-p-6 rf-w-96",children:[O.jsx("h2",{className:"rf-text-lg rf-font-semibold rf-mb-4",children:"Select Snippet"}),O.jsx("input",{type:"text",className:"rf-w-full rf-px-4 rf-py-2 rf-border rf-rounded rf-mb-4",placeholder:"Search snippets or new snippet name...",value:s,onChange:c=>r(c.target.value),onKeyDown:I}),O.jsxs("div",{className:"rf-h-60 rf-overflow-y-auto",children:[a.map(c=>O.jsx("button",{type:"button",className:`w-full text-left px-4 py-2 rounded hover:bg-gray-100 ${o===c?"bg-blue-50":""}`,onClick:()=>n(c),children:c},c)),g&&O.jsxs("button",{type:"button",className:`w-full text-left px-4 py-2 rounded hover:bg-gray-100 text-blue-500 ${o===s?"bg-blue-50":""}`,onClick:()=>n(s),children:['Create new "',s,'"']})]}),O.jsxs("div",{className:"rf-mt-4 rf-flex rf-justify-end rf-gap-2",children:[O.jsx("button",{type:"button",className:"rf-px-4 rf-py-2 rf-text-gray-600 rf-hover:text-gray-800",onClick:e,children:"Cancel"}),O.jsx("button",{type:"button",className:"rf-px-4 rf-py-2 rf-bg-blue-500 rf-text-white rf-rounded rf-hover:bg-blue-600 rf-disabled:opacity-50",onClick:()=>o&&A(o),disabled:!o,children:o===s?`Create "${o}"`:`Save to ${o}`})]})]})})},JKt=t=>{const A=j.useRef(null),e=Yc(i=>i.recentEvents);j.useEffect(()=>{if(e.length===0)return;const i=e[0];i.event_id!==A.current&&(t(i),A.current=i.event_id)},[e,t])};function TKt(t){const A=KKt(t),e=j.forwardRef((i,o)=>{const{children:n,...s}=i,r=j.Children.toArray(n),a=r.find(PKt);if(a){const g=a.props.children,I=r.map(c=>c===a?j.Children.count(g)>1?j.Children.only(null):j.isValidElement(g)?g.props.children:null:c);return O.jsx(A,{...s,ref:o,children:j.isValidElement(g)?j.cloneElement(g,void 0,I):null})}return O.jsx(A,{...s,ref:o,children:n})});return e.displayName=`${t}.Slot`,e}function KKt(t){const A=j.forwardRef((e,i)=>{const{children:o,...n}=e;if(j.isValidElement(o)){const s=WKt(o),r=OKt(n,o.props);return o.type!==j.Fragment&&(r.ref=i?Vp(i,s):s),j.cloneElement(o,r)}return j.Children.count(o)>1?j.Children.only(null):null});return A.displayName=`${t}.SlotClone`,A}var qKt=Symbol("radix.slottable");function PKt(t){return j.isValidElement(t)&&typeof t.type=="function"&&"__radixId"in t.type&&t.type.__radixId===qKt}function OKt(t,A){const e={...A};for(const i in A){const o=t[i],n=A[i];/^on[A-Z]/.test(i)?o&&n?e[i]=(...r)=>{const a=n(...r);return o(...r),a}:o&&(e[i]=o):i==="style"?e[i]={...o,...n}:i==="className"&&(e[i]=[o,n].filter(Boolean).join(" "))}return{...t,...e}}function WKt(t){let A=Object.getOwnPropertyDescriptor(t.props,"ref")?.get,e=A&&"isReactWarning"in A&&A.isReactWarning;return e?t.ref:(A=Object.getOwnPropertyDescriptor(t,"ref")?.get,e=A&&"isReactWarning"in A&&A.isReactWarning,e?t.props.ref:t.props.ref||t.ref)}var HZ="Dialog",[Aie,eie]=hw(HZ),[ZKt,qw]=Aie(HZ),tie=t=>{const{__scopeDialog:A,children:e,open:i,defaultOpen:o,onOpenChange:n,modal:s=!0}=t,r=j.useRef(null),a=j.useRef(null),[g,I]=ox({prop:i,defaultProp:o??!1,onChange:n,caller:HZ});return O.jsx(ZKt,{scope:A,triggerRef:r,contentRef:a,contentId:Bh(),titleId:Bh(),descriptionId:Bh(),open:g,onOpenChange:I,onOpenToggle:j.useCallback(()=>I(c=>!c),[I]),modal:s,children:e})};tie.displayName=HZ;var iie="DialogTrigger",oie=j.forwardRef((t,A)=>{const{__scopeDialog:e,...i}=t,o=qw(iie,e),n=Bc(A,o.triggerRef);return O.jsx(Ha.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.contentId,"data-state":guA(o.open),...i,ref:n,onClick:vo(t.onClick,o.onOpenToggle)})});oie.displayName=iie;var ruA="DialogPortal",[VKt,nie]=Aie(ruA,{forceMount:void 0}),sie=t=>{const{__scopeDialog:A,forceMount:e,children:i,container:o}=t,n=qw(ruA,A);return O.jsx(VKt,{scope:A,forceMount:e,children:j.Children.map(i,s=>O.jsx(n0,{present:e||n.open,children:O.jsx(iW,{asChild:!0,container:o,children:s})}))})};sie.displayName=ruA;var YZ="DialogOverlay",rie=j.forwardRef((t,A)=>{const e=nie(YZ,t.__scopeDialog),{forceMount:i=e.forceMount,...o}=t,n=qw(YZ,t.__scopeDialog);return n.modal?O.jsx(n0,{present:i||n.open,children:O.jsx(zKt,{...o,ref:A})}):null});rie.displayName=YZ;var jKt=TKt("DialogOverlay.RemoveScroll"),zKt=j.forwardRef((t,A)=>{const{__scopeDialog:e,...i}=t,o=qw(YZ,e);return O.jsx(cW,{as:jKt,allowPinchZoom:!0,shards:[o.contentRef],children:O.jsx(Ha.div,{"data-state":guA(o.open),...i,ref:A,style:{pointerEvents:"auto",...i.style}})})}),WF="DialogContent",aie=j.forwardRef((t,A)=>{const e=nie(WF,t.__scopeDialog),{forceMount:i=e.forceMount,...o}=t,n=qw(WF,t.__scopeDialog);return O.jsx(n0,{present:i||n.open,children:n.modal?O.jsx(XKt,{...o,ref:A}):O.jsx($Kt,{...o,ref:A})})});aie.displayName=WF;var XKt=j.forwardRef((t,A)=>{const e=qw(WF,t.__scopeDialog),i=j.useRef(null),o=Bc(A,e.contentRef,i);return j.useEffect(()=>{const n=i.current;if(n)return XQA(n)},[]),O.jsx(gie,{...t,ref:o,trapFocus:e.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:vo(t.onCloseAutoFocus,n=>{n.preventDefault(),e.triggerRef.current?.focus()}),onPointerDownOutside:vo(t.onPointerDownOutside,n=>{const s=n.detail.originalEvent,r=s.button===0&&s.ctrlKey===!0;(s.button===2||r)&&n.preventDefault()}),onFocusOutside:vo(t.onFocusOutside,n=>n.preventDefault())})}),$Kt=j.forwardRef((t,A)=>{const e=qw(WF,t.__scopeDialog),i=j.useRef(!1),o=j.useRef(!1);return O.jsx(gie,{...t,ref:A,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:n=>{t.onCloseAutoFocus?.(n),n.defaultPrevented||(i.current||e.triggerRef.current?.focus(),n.preventDefault()),i.current=!1,o.current=!1},onInteractOutside:n=>{t.onInteractOutside?.(n),n.defaultPrevented||(i.current=!0,n.detail.originalEvent.type==="pointerdown"&&(o.current=!0));const s=n.target;e.triggerRef.current?.contains(s)&&n.preventDefault(),n.detail.originalEvent.type==="focusin"&&o.current&&n.preventDefault()}})}),gie=j.forwardRef((t,A)=>{const{__scopeDialog:e,trapFocus:i,onOpenAutoFocus:o,onCloseAutoFocus:n,...s}=t,r=qw(WF,e),a=j.useRef(null),g=Bc(A,a);return MQA(),O.jsxs(O.Fragment,{children:[O.jsx(q8,{asChild:!0,loop:!0,trapped:i,onMountAutoFocus:o,onUnmountAutoFocus:n,children:O.jsx(eH,{role:"dialog",id:r.contentId,"aria-describedby":r.descriptionId,"aria-labelledby":r.titleId,"data-state":guA(r.open),...s,ref:g,onDismiss:()=>r.onOpenChange(!1)})}),O.jsxs(O.Fragment,{children:[O.jsx(eqt,{titleId:r.titleId}),O.jsx(iqt,{contentRef:a,descriptionId:r.descriptionId})]})]})}),auA="DialogTitle",Iie=j.forwardRef((t,A)=>{const{__scopeDialog:e,...i}=t,o=qw(auA,e);return O.jsx(Ha.h2,{id:o.titleId,...i,ref:A})});Iie.displayName=auA;var cie="DialogDescription",Bie=j.forwardRef((t,A)=>{const{__scopeDialog:e,...i}=t,o=qw(cie,e);return O.jsx(Ha.p,{id:o.descriptionId,...i,ref:A})});Bie.displayName=cie;var lie="DialogClose",Cie=j.forwardRef((t,A)=>{const{__scopeDialog:e,...i}=t,o=qw(lie,e);return O.jsx(Ha.button,{type:"button",...i,ref:A,onClick:vo(t.onClick,()=>o.onOpenChange(!1))})});Cie.displayName=lie;function guA(t){return t?"open":"closed"}var Qie="DialogTitleWarning",[Aqt,Eie]=M3e(Qie,{contentName:WF,titleName:auA,docsSlug:"dialog"}),eqt=({titleId:t})=>{const A=Eie(Qie),e=`\`${A.contentName}\` requires a \`${A.titleName}\` for the component to be accessible for screen reader users.
|
|
5620
|
+
`,c=new Blob([I],{type:"text/plain"}),B=URL.createObjectURL(c),l=document.createElement("a");l.href=B,l.download=`${g}.test.ts`,l.click(),URL.revokeObjectURL(B)}catch(a){alert(`Error generating test.ts for ${t.constructor.name}: ${a instanceof Error?a.message:String(a)}`)}i(!1)};return O.jsxs("div",{className:`relative ${A}`,ref:o,children:[O.jsx("button",{className:"px-2 py-1 rounded text-xs cursor-pointer",onClick:()=>i(!e),title:`Download options for ${t.constructor.name}`,children:t.constructor.name}),e&&O.jsxs("div",{className:"absolute top-full left-0 mt-1 bg-white border border-gray-300 rounded shadow-lg z-10 min-w-[150px]",children:[O.jsx("button",{className:"w-full text-left px-3 py-2 hover:bg-gray-100 text-xs",onClick:n,children:"Download JSON"}),O.jsx("button",{className:"w-full text-left px-3 py-2 hover:bg-gray-100 text-xs",onClick:s,children:"Download page.tsx"}),O.jsx("button",{className:"w-full text-left px-3 py-2 hover:bg-gray-100 text-xs",onClick:r,children:"Download test.ts"})]})]})},zte=t=>t.activeSubSolver?[t,...zte(t.activeSubSolver)]:[t],yKt=({solver:t})=>{const A=zte(t);return O.jsx("div",{className:"flex gap-1 items-center text-sm pt-1",children:A.map((e,i)=>O.jsxs("div",{className:"flex items-center",children:[i>0&&O.jsx("span",{className:"text-gray-400 mx-1",children:"→"}),O.jsx(fKt,{solver:e})]},e.constructor.name))})},wKt=({solver:t,triggerRender:A,animationSpeed:e=25,onSolverStarted:i,onSolverCompleted:o})=>{const[n,s]=j.useReducer(Q=>!Q,!1),r=j.useRef(void 0),a=()=>{!t.solved&&!t.failed&&(t.step(),A())},g=()=>{!t.solved&&!t.failed&&(i&&i(t),t.solve(),A(),o&&o(t))},I=()=>{n?(r.current&&(clearInterval(r.current),r.current=void 0),s()):(s(),r.current=setInterval(()=>{if(t.solved||t.failed){r.current&&(clearInterval(r.current),r.current=void 0),s(),A(),o&&t.solved&&o(t);return}t.step(),A()},e))},c=()=>{const Q=t;if(Q.getCurrentPhase&&!t.solved&&!t.failed){const E=Q.getCurrentPhase();for(;Q.getCurrentPhase()===E&&!t.solved&&!t.failed;)t.step();A()}},B=()=>{if(t.solved||t.failed||n)return;const Q=window.prompt("Step until which iteration?",`${t.iterations}`);if(Q===null)return;const E=Number(Q);if(!Number.isFinite(E)){window.alert("Please enter a valid number for the iteration");return}for(;t.iterations<E&&!t.solved&&!t.failed;)t.step();A(),t.solved&&o&&o(t)};j.useEffect(()=>()=>{r.current&&clearInterval(r.current)},[]),j.useEffect(()=>{(t.solved||t.failed)&&n&&(r.current&&(clearInterval(r.current),r.current=void 0),s())},[t.solved,t.failed,n]);const l=t.getCurrentPhase!==void 0,C=l?t.getCurrentPhase():null;return O.jsxs("div",{className:"space-y-2 p-2 border-b",children:[O.jsx("div",{className:"flex items-center",children:O.jsx(yKt,{solver:t})}),O.jsxs("div",{className:"flex gap-2 items-center flex-wrap",children:[O.jsx("button",{onClick:a,disabled:t.solved||t.failed||n,className:"bg-blue-500 hover:bg-blue-600 disabled:bg-gray-300 text-white px-3 py-1 rounded text-sm",children:"Step"}),O.jsx("button",{onClick:g,disabled:t.solved||t.failed||n,className:"bg-green-500 hover:bg-green-600 disabled:bg-gray-300 text-white px-3 py-1 rounded text-sm",children:"Solve"}),O.jsx("button",{onClick:I,disabled:t.solved||t.failed,className:`px-3 py-1 rounded text-white text-sm ${n?"bg-red-500 hover:bg-red-600":"bg-yellow-500 hover:bg-yellow-600"} disabled:bg-gray-300`,children:n?"Stop":"Animate"}),O.jsx("button",{onClick:B,disabled:t.solved||t.failed||n,className:"bg-orange-500 hover:bg-orange-600 disabled:bg-gray-300 text-white px-3 py-1 rounded text-sm",children:"Step Until Iteration"}),l&&O.jsx("button",{onClick:c,disabled:t.solved||t.failed||n,className:"bg-purple-500 hover:bg-purple-600 disabled:bg-gray-300 text-white px-3 py-1 rounded text-sm",children:"Next Stage"}),O.jsxs("div",{className:"text-sm text-gray-600",children:["Iterations: ",t.iterations]}),t.timeToSolve!==void 0&&O.jsxs("div",{className:"text-sm text-gray-600",children:["Time: ",(t.timeToSolve/1e3).toFixed(3),"s"]}),C&&O.jsxs("div",{className:"text-sm text-gray-600",children:["Phase: ",O.jsx("span",{className:"font-medium",children:C})]}),t.solved&&O.jsx("div",{className:"px-2 py-1 bg-green-100 text-green-800 rounded text-sm",children:"Solved"}),t.failed&&O.jsx("div",{className:"px-2 py-1 bg-red-100 text-red-800 rounded text-sm",children:"Failed"})]}),t.error&&O.jsxs("div",{className:"text-red-600 text-sm",children:["Error: ",t.error]})]})},mKt=(t,A,e)=>{const i=t.currentPipelineStepIndex;return A<i?"Completed":A===i&&t.activeSubSolver?t.activeSubSolver.failed?"Failed":"In Progress":"Not Started"},DKt=(t,A)=>{const i=t.pipelineDef[A].solverName,o=mKt(t,A),n=t[i],s=t.firstIterationOfPhase?.[i]??null,r=t.iterations;let a=0;if(o==="Completed"){const B=t.pipelineDef[A+1],l=B?t.firstIterationOfPhase?.[B.solverName]:void 0;l!==void 0&&s!==null?a=l-s:s!==null&&(a=r-s)}else o==="In Progress"&&s!==null&&(a=r-s);const g=t.timeSpentOnPhase?.[i]??0;let I=0;o==="Completed"?I=1:o==="In Progress"&&n&&(I=n.progress??0);const c=n?.stats??null;return{index:A,name:i,status:o,firstIteration:s,iterations:a,progress:I,timeSpent:g,stats:c&&Object.keys(c).length>0?c:null,solverInstance:n??null}},SKt=({status:t})=>{const A={"Not Started":"text-blue-600","In Progress":"text-yellow-600",Completed:"text-green-600",Failed:"text-red-600"};return O.jsx("span",{className:`font-medium ${A[t]}`,children:t})},bKt=({progress:t})=>{if(t===0)return null;const A=Math.round(t*100);return O.jsxs("div",{className:"flex items-center gap-2",children:[O.jsx("div",{className:"w-20 h-2 bg-gray-200 rounded overflow-hidden",children:O.jsx("div",{className:"h-full bg-blue-500 transition-all duration-200",style:{width:`${A}%`}})}),O.jsxs("span",{className:"text-xs text-gray-500",children:[A,"%"]})]})},xKt=t=>Object.entries(t).map(([A,e])=>`${A}: ${e}`).join(", "),kKt=({stats:t})=>{if(!t||Object.keys(t).length===0)return O.jsx("span",{children:"-"});const A=Object.entries(t),e=xKt(t);return O.jsxs("details",{className:"cursor-pointer",children:[O.jsx("summary",{className:"whitespace-nowrap overflow-hidden text-ellipsis max-w-[200px]",children:e}),O.jsx("div",{className:"mt-1 text-xs",children:A.map(([i,o])=>O.jsxs("div",{children:[i,": ",String(o)]},i))})]})},suA=t=>{if(t===null||typeof t!="object")return t;if(Array.isArray(t))return t.map(suA);const A={};for(const[e,i]of Object.entries(t))e.startsWith("_")||(A[e]=suA(i));return A},GKt=(t,A)=>{try{if(typeof t.getConstructorParams!="function"){alert(`getConstructorParams() is not implemented for ${A}`);return}const e=suA(t.getConstructorParams()),i=new Blob([JSON.stringify(e,null,2)],{type:"application/json"}),o=URL.createObjectURL(i),n=document.createElement("a");n.href=o,n.download=`${A}_input.json`,n.click(),URL.revokeObjectURL(o)}catch(e){alert(`Error downloading input for ${A}: ${e instanceof Error?e.message:String(e)}`)}},FKt=({solver:t,onStepUntilPhase:A,onDownloadInput:e})=>{const i=t.pipelineDef.map((r,a)=>DKt(t,a)),o=r=>{A?.(r)},n=r=>{r.solverInstance&&(e?e(r.solverInstance,r.name):GKt(r.solverInstance,r.name))},s=r=>`${(r/1e3).toFixed(2)}s`;return O.jsxs("div",{className:"border-t border-gray-200",children:[O.jsx("div",{className:"px-4 py-2 bg-gray-50 border-b border-gray-200",children:O.jsx("h3",{className:"text-sm font-semibold text-gray-700",children:"Pipeline Steps"})}),O.jsx("div",{className:"overflow-x-auto",children:O.jsxs("table",{className:"w-full text-sm",children:[O.jsx("thead",{children:O.jsxs("tr",{className:"bg-gray-50 border-b border-gray-200",children:[O.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Step"}),O.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Status"}),O.jsxs("th",{className:"px-4 py-2 text-center font-semibold text-gray-700",children:["i",O.jsx("sub",{children:"0"})]}),O.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Iterations"}),O.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Progress"}),O.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Time"}),O.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Stats"}),O.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Input"})]})}),O.jsx("tbody",{children:i.map(r=>O.jsxs("tr",{className:`border-b border-gray-100 ${r.status==="In Progress"?"bg-yellow-50":""}`,children:[O.jsx("td",{className:"px-4 py-2",children:O.jsxs("div",{className:"flex items-center gap-2",children:[O.jsx("span",{className:"text-gray-400 w-6",children:String(r.index+1).padStart(2,"0")}),O.jsx("button",{onClick:()=>o(r.name),disabled:r.status==="Completed"||t.solved||t.failed,className:"text-blue-500 hover:text-blue-700 disabled:text-gray-300 disabled:cursor-not-allowed",title:`Step until ${r.name} completes`,children:O.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",className:"w-4 h-4",children:O.jsx("path",{fillRule:"evenodd",d:"M4.5 5.653c0-1.426 1.529-2.33 2.779-1.643l11.54 6.348c1.295.712 1.295 2.573 0 3.285L7.28 19.991c-1.25.687-2.779-.217-2.779-1.643V5.653z",clipRule:"evenodd"})})}),O.jsx("span",{className:"font-medium text-gray-900",children:r.name})]})}),O.jsx("td",{className:"px-4 py-2",children:O.jsx(SKt,{status:r.status})}),O.jsx("td",{className:"px-4 py-2 text-center text-gray-600",children:r.firstIteration!==null?r.firstIteration:""}),O.jsx("td",{className:"px-4 py-2 text-gray-600",children:r.iterations}),O.jsx("td",{className:"px-4 py-2",children:O.jsx(bKt,{progress:r.progress})}),O.jsx("td",{className:"px-4 py-2 text-gray-600",children:s(r.timeSpent)}),O.jsx("td",{className:"px-4 py-2 text-gray-500",children:O.jsx(kKt,{stats:r.stats})}),O.jsx("td",{className:"px-4 py-2",children:r.solverInstance?O.jsxs("button",{onClick:()=>n(r),className:"flex items-center gap-1 text-blue-500 hover:text-blue-700",title:`Download input for ${r.name}`,children:[O.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",className:"w-4 h-4",children:O.jsx("path",{fillRule:"evenodd",d:"M12 2.25a.75.75 0 01.75.75v11.69l3.22-3.22a.75.75 0 111.06 1.06l-4.5 4.5a.75.75 0 01-1.06 0l-4.5-4.5a.75.75 0 111.06-1.06l3.22 3.22V3a.75.75 0 01.75-.75zm-9 13.5a.75.75 0 01.75.75v2.25a1.5 1.5 0 001.5 1.5h13.5a1.5 1.5 0 001.5-1.5V16.5a.75.75 0 011.5 0v2.25a3 3 0 01-3 3H5.25a3 3 0 01-3-3V16.5a.75.75 0 01.75-.75z",clipRule:"evenodd"})}),O.jsx("span",{children:"Input"})]}):null})]},r.name))})]})})]})},RKt=class extends Xi.Component{constructor(t){super(t),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t){console.error("InteractiveGraphics render error:",t)}render(){return this.state.hasError?this.props.fallback:this.props.children}};function MKt({graphics:t}){const A=t.points??[],e=t.lines??[],i=t.rects??[],o=t.circles??[],n=t.texts??[];let s=Number.POSITIVE_INFINITY,r=Number.POSITIVE_INFINITY,a=Number.NEGATIVE_INFINITY,g=Number.NEGATIVE_INFINITY;const I=(E,h)=>{typeof E=="number"&&(E<s&&(s=E),E>a&&(a=E)),typeof h=="number"&&(h<r&&(r=h),h>g&&(g=h))};for(const E of A)I(E.x,E.y);for(const E of e){const h=E.points??[];for(const u of h)I(u.x,u.y)}for(const E of i){const h=E.x??0,u=E.y??0,d=E.width??0,f=E.height??0;I(h,u),I(h+d,u+f)}for(const E of o){const h=E.x??0,u=E.y??0,d=E.radius??1;I(h-d,u-d),I(h+d,u+d)}for(const E of n)I(E.x,E.y);(!isFinite(s)||!isFinite(r)||!isFinite(a)||!isFinite(g))&&(s=-20,r=-20,a=20,g=20);const c=10,B=s-c,l=r-c,C=Math.max(1,a-s+2*c),Q=Math.max(1,g-r+2*c);return O.jsxs("svg",{className:"w-full h-[400px] bg-white",viewBox:`${B} ${l} ${C} ${Q}`,role:"img","aria-label":"Graphics fallback",children:[i.map((E,h)=>O.jsx("rect",{x:E.x??0,y:E.y??0,width:E.width??0,height:E.height??0,fill:"none",stroke:E.strokeColor??"black",strokeWidth:E.strokeWidth??1},`rect-${h}`)),e.map((E,h)=>O.jsx("polyline",{fill:"none",stroke:E.strokeColor??"black",strokeWidth:E.strokeWidth??1,points:(E.points??[]).map(u=>`${u.x??0},${u.y??0}`).join(" ")},`line-${h}`)),o.map((E,h)=>O.jsx("circle",{cx:E.x??0,cy:E.y??0,r:E.radius??1.5,fill:E.fillColor??"none",stroke:E.strokeColor??"black",strokeWidth:E.strokeWidth??1},`circle-${h}`)),A.map((E,h)=>O.jsx("circle",{cx:E.x??0,cy:E.y??0,r:E.radius??1.5,fill:E.color??"black"},`point-${h}`)),n.map((E,h)=>O.jsx("text",{x:E.x??0,y:E.y??0,fontSize:E.fontSize??10,fill:E.color??"black",children:E.text??""},`text-${h}`))]})}var NKt=({solver:t,animationSpeed:A=25,onSolverStarted:e,onSolverCompleted:i})=>{const[o,n]=j.useReducer(I=>I+1,0),s=j.useMemo(()=>{try{return t.visualize()||{points:[],lines:[],rects:[],circles:[]}}catch(I){return console.error("Visualization error:",I),{points:[],lines:[],rects:[],circles:[]}}},[t,o]),r=j.useMemo(()=>(s.rects?.length||0)===0&&(s.lines?.length||0)===0&&(s.points?.length||0)===0&&(s.circles?.length||0)===0,[s]);j.useEffect(()=>{if(!(typeof document>"u")&&!document.querySelector('script[src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4"]')){const I=document.createElement("script");I.src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4",document.head.appendChild(I)}},[]);const a=t.pipelineDef!==void 0,g=I=>{const c=t;if(!t.solved&&!t.failed){for(;!t.solved&&!t.failed&&c.currentPipelineStepIndex<=c.pipelineDef.findIndex(B=>B.solverName===I);)t.step();n()}};return O.jsxs("div",{children:[O.jsx(wKt,{solver:t,triggerRender:n,animationSpeed:A,onSolverStarted:e,onSolverCompleted:i}),r?O.jsx("div",{className:"p-4 text-gray-500",children:"No Graphics Yet"}):O.jsx(RKt,{fallback:O.jsx(MKt,{graphics:s}),children:O.jsx(pKt,{graphics:s})}),a&&O.jsx(FKt,{solver:t,onStepUntilPhase:g})]})};const _Kt=()=>{j.useEffect(()=>{const t="tailwind-cdn-script";if(document.getElementById(t)||window.tailwind)return;const A=document.createElement("div");A.className="hidden",document.body.appendChild(A);const e=window.getComputedStyle(A).display==="none";if(document.body.removeChild(A),e)return;const i=document.createElement("script");i.id=t,i.src="https://cdn.tailwindcss.com",document.head.appendChild(i)},[])},vKt=t=>t.toLowerCase().includes("pack")?jSt:t.toLowerCase().includes("rout")?ebt:_St,UKt=({solverEvents:t=[]})=>{const[A,e]=j.useState(null);_Kt();const i=j.useMemo(()=>{const r=new Map;for(const a of t){const g=`${a.componentName}-${a.solverName}`;r.set(g,a)}return r},[t]),o=j.useMemo(()=>Array.from(i.keys()),[i]),n=A?i.get(A):null,s=j.useMemo(()=>{if(!n)return{instance:null,error:null,classFound:!1};const r=OeA[n.solverName];if(!r)return{instance:null,error:`Solver class "${n.solverName}" not found in SOLVERS registry. Available: ${Object.keys(OeA).join(", ")}`,classFound:!1};try{const a=n.solverParams,g=a?.input!==void 0?a.input:a;return{instance:new r(g),error:null,classFound:!0}}catch(a){const g=a instanceof Error?a.message:String(a);return console.error("Failed to reconstruct solver:",a),{instance:null,error:`Failed to instantiate solver: ${g}`,classFound:!0}}},[n]);return t.length===0?O.jsx("div",{className:"rf-p-4",children:O.jsx("div",{className:"rf-bg-gray-50 rf-rounded-md rf-border rf-border-gray-200",children:O.jsxs("div",{className:"rf-p-4",children:[O.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-text-gray-800 rf-mb-3",children:"No Solvers Detected"}),O.jsx("p",{className:"rf-text-sm rf-text-gray-600",children:"Solvers will appear here when the circuit runs. Solvers are used for tasks like component packing and autorouting."})]})})}):O.jsxs("div",{className:"rf-flex rf-h-full rf-overflow-hidden",children:[O.jsxs("div",{className:"rf-w-64 rf-border-r rf-border-gray-200 rf-overflow-y-auto rf-flex-shrink-0",children:[O.jsxs("div",{className:"rf-text-xs rf-font-semibold rf-text-gray-500 rf-px-3 rf-py-2 rf-bg-gray-50 rf-border-b rf-border-gray-200",children:[o.length," ",o.length===1?"Solver":"Solvers"]}),o.map(r=>{const a=i.get(r),g=A===r;return O.jsx("div",{className:`rf-px-3 rf-py-2 rf-cursor-pointer rf-border-b rf-border-gray-100 ${g?"rf-bg-blue-50 rf-border-l-2 rf-border-l-blue-500":"hover:rf-bg-gray-50"}`,onClick:()=>e(r),children:(()=>{const I=vKt(a.solverName);return O.jsxs("div",{className:"rf-flex rf-items-center rf-gap-2",children:[O.jsx(I,{className:"rf-w-4 rf-h-4 rf-text-blue-500 rf-flex-shrink-0"}),O.jsxs("div",{className:"rf-flex-1 rf-min-w-0",children:[O.jsx("div",{className:"rf-text-sm rf-font-medium rf-text-gray-800 rf-truncate",children:a.componentName}),O.jsx("div",{className:"rf-text-xs rf-text-gray-500 rf-truncate",children:a.solverName})]})]})})()},r)})]}),O.jsx("div",{className:"rf-flex-1 rf-overflow-hidden",children:n?s.instance?O.jsx(by,{fallback:O.jsx("div",{className:"rf-p-4",children:O.jsxs("div",{className:"rf-bg-red-50 rf-rounded-md rf-border rf-border-red-200 rf-p-4",children:[O.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-text-red-800 rf-mb-2",children:"Error Loading Solver Debugger"}),O.jsxs("p",{className:"rf-text-sm rf-text-red-600",children:["Failed to render the solver debugger for"," ",n.solverName]})]})}),children:O.jsx(NKt,{solver:s.instance})}):O.jsxs("div",{className:"rf-p-4",children:[O.jsxs("div",{className:"rf-mb-4",children:[O.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-text-gray-800",children:n.solverName}),O.jsxs("p",{className:"rf-text-sm rf-text-gray-500",children:["Component: ",n.componentName]})]}),s.error&&O.jsx("div",{className:`rf-rounded-md rf-border rf-p-4 rf-mb-4 ${s.classFound?"rf-bg-red-50 rf-border-red-200":"rf-bg-yellow-50 rf-border-yellow-200"}`,children:O.jsx("p",{className:`rf-text-sm ${s.classFound?"rf-text-red-700":"rf-text-yellow-700"}`,children:s.error})}),O.jsxs("div",{className:"rf-border rf-border-gray-200 rf-rounded-md rf-overflow-hidden",children:[O.jsx("div",{className:"rf-px-3 rf-py-2 rf-bg-gray-50",children:O.jsx("span",{className:"rf-text-sm rf-font-medium rf-text-gray-700",children:"Solver Parameters"})}),O.jsx("div",{className:"rf-p-3 rf-bg-white rf-border-t rf-border-gray-200",children:O.jsx("pre",{className:"rf-text-xs rf-font-mono rf-text-gray-600 rf-whitespace-pre-wrap rf-overflow-x-auto",children:JSON.stringify(n.solverParams,null,2)})})]})]}):O.jsx("div",{className:"rf-flex rf-items-center rf-justify-center rf-h-full",children:O.jsx("p",{className:"rf-text-sm rf-text-gray-500",children:"Select a solver from the list to view details"})})})]})},Xte=({errorMessage:t,errorStack:A,circuitJsonErrors:e})=>{j.useEffect(()=>{if(t){const i=new Error(t);A&&(i.stack=A);try{V3.captureException(i)}catch{}}},[t,A]),j.useEffect(()=>{if(e&&e.length>0)for(const i of e){const o=new Error(i.message||"Circuit JSON Error");i.stack&&(o.stack=i.stack);try{V3.captureException(o,{error_type:i.type})}catch{}}},[e])},$te="0.0.1498",LKt={version:$te},LZ=y1A()(w1A(t=>({lastRunEvalVersion:void 0,setLastRunEvalVersion:A=>{t({lastRunEvalVersion:A})}}),{name:"runframe-runner-store"})),HKt=t=>{const[A,e]=j.useState([]),[i,o]=j.useState(null),[n,s]=j.useState(""),[r,a]=rv("eval-version-selection",null),g=LZ(l=>l.setLastRunEvalVersion),I=LZ(l=>l.lastRunEvalVersion);return j.useEffect(()=>{t&&fetch("https://data.jsdelivr.com/v1/package/npm/@tscircuit/eval").then(l=>l.json()).then(l=>{if(Array.isArray(l?.versions)){let C=[...l.versions];l.tags?.latest&&(o(l.tags.latest),C=C.filter(Q=>Q!==l.tags.latest)),e(C)}}).catch(()=>{})},[t]),j.useEffect(()=>{t&&(r?(window.TSCIRCUIT_LATEST_EVAL_VERSION=r,g(r)):i&&(window.TSCIRCUIT_LATEST_EVAL_VERSION=i,g(i)))},[t,r,i]),{versions:j.useMemo(()=>A.filter(l=>l.includes(n)).slice(0,50),[A,n]),latestVersion:i,lastRunEvalVersion:I,search:n,setSearch:s,selectVersion:l=>{a(l),s("")}}},YKt=({snippetNames:t,onSelect:A,onCancel:e,isOpen:i})=>{const[o,n]=j.useState(""),[s,r]=j.useState("");if(!i)return null;const a=t.filter(c=>c.toLowerCase().includes(s.toLowerCase())),g=s&&!t.includes(s),I=c=>{c.key==="Enter"&&(a.length===1?n(a[0]):g&&n(s))};return O.jsx("div",{className:"rf-fixed rf-inset-0 rf-bg-black rf-bg-opacity-50 rf-flex rf-items-center rf-justify-center rf-z-[100]",children:O.jsxs("div",{className:"rf-bg-white rf-rounded-lg rf-p-6 rf-w-96",children:[O.jsx("h2",{className:"rf-text-lg rf-font-semibold rf-mb-4",children:"Select Snippet"}),O.jsx("input",{type:"text",className:"rf-w-full rf-px-4 rf-py-2 rf-border rf-rounded rf-mb-4",placeholder:"Search snippets or new snippet name...",value:s,onChange:c=>r(c.target.value),onKeyDown:I}),O.jsxs("div",{className:"rf-h-60 rf-overflow-y-auto",children:[a.map(c=>O.jsx("button",{type:"button",className:`w-full text-left px-4 py-2 rounded hover:bg-gray-100 ${o===c?"bg-blue-50":""}`,onClick:()=>n(c),children:c},c)),g&&O.jsxs("button",{type:"button",className:`w-full text-left px-4 py-2 rounded hover:bg-gray-100 text-blue-500 ${o===s?"bg-blue-50":""}`,onClick:()=>n(s),children:['Create new "',s,'"']})]}),O.jsxs("div",{className:"rf-mt-4 rf-flex rf-justify-end rf-gap-2",children:[O.jsx("button",{type:"button",className:"rf-px-4 rf-py-2 rf-text-gray-600 rf-hover:text-gray-800",onClick:e,children:"Cancel"}),O.jsx("button",{type:"button",className:"rf-px-4 rf-py-2 rf-bg-blue-500 rf-text-white rf-rounded rf-hover:bg-blue-600 rf-disabled:opacity-50",onClick:()=>o&&A(o),disabled:!o,children:o===s?`Create "${o}"`:`Save to ${o}`})]})]})})},JKt=t=>{const A=j.useRef(null),e=Yc(i=>i.recentEvents);j.useEffect(()=>{if(e.length===0)return;const i=e[0];i.event_id!==A.current&&(t(i),A.current=i.event_id)},[e,t])};function TKt(t){const A=KKt(t),e=j.forwardRef((i,o)=>{const{children:n,...s}=i,r=j.Children.toArray(n),a=r.find(PKt);if(a){const g=a.props.children,I=r.map(c=>c===a?j.Children.count(g)>1?j.Children.only(null):j.isValidElement(g)?g.props.children:null:c);return O.jsx(A,{...s,ref:o,children:j.isValidElement(g)?j.cloneElement(g,void 0,I):null})}return O.jsx(A,{...s,ref:o,children:n})});return e.displayName=`${t}.Slot`,e}function KKt(t){const A=j.forwardRef((e,i)=>{const{children:o,...n}=e;if(j.isValidElement(o)){const s=WKt(o),r=OKt(n,o.props);return o.type!==j.Fragment&&(r.ref=i?Vp(i,s):s),j.cloneElement(o,r)}return j.Children.count(o)>1?j.Children.only(null):null});return A.displayName=`${t}.SlotClone`,A}var qKt=Symbol("radix.slottable");function PKt(t){return j.isValidElement(t)&&typeof t.type=="function"&&"__radixId"in t.type&&t.type.__radixId===qKt}function OKt(t,A){const e={...A};for(const i in A){const o=t[i],n=A[i];/^on[A-Z]/.test(i)?o&&n?e[i]=(...r)=>{const a=n(...r);return o(...r),a}:o&&(e[i]=o):i==="style"?e[i]={...o,...n}:i==="className"&&(e[i]=[o,n].filter(Boolean).join(" "))}return{...t,...e}}function WKt(t){let A=Object.getOwnPropertyDescriptor(t.props,"ref")?.get,e=A&&"isReactWarning"in A&&A.isReactWarning;return e?t.ref:(A=Object.getOwnPropertyDescriptor(t,"ref")?.get,e=A&&"isReactWarning"in A&&A.isReactWarning,e?t.props.ref:t.props.ref||t.ref)}var HZ="Dialog",[Aie,eie]=hw(HZ),[ZKt,qw]=Aie(HZ),tie=t=>{const{__scopeDialog:A,children:e,open:i,defaultOpen:o,onOpenChange:n,modal:s=!0}=t,r=j.useRef(null),a=j.useRef(null),[g,I]=ox({prop:i,defaultProp:o??!1,onChange:n,caller:HZ});return O.jsx(ZKt,{scope:A,triggerRef:r,contentRef:a,contentId:Bh(),titleId:Bh(),descriptionId:Bh(),open:g,onOpenChange:I,onOpenToggle:j.useCallback(()=>I(c=>!c),[I]),modal:s,children:e})};tie.displayName=HZ;var iie="DialogTrigger",oie=j.forwardRef((t,A)=>{const{__scopeDialog:e,...i}=t,o=qw(iie,e),n=Bc(A,o.triggerRef);return O.jsx(Ha.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.contentId,"data-state":guA(o.open),...i,ref:n,onClick:vo(t.onClick,o.onOpenToggle)})});oie.displayName=iie;var ruA="DialogPortal",[VKt,nie]=Aie(ruA,{forceMount:void 0}),sie=t=>{const{__scopeDialog:A,forceMount:e,children:i,container:o}=t,n=qw(ruA,A);return O.jsx(VKt,{scope:A,forceMount:e,children:j.Children.map(i,s=>O.jsx(n0,{present:e||n.open,children:O.jsx(iW,{asChild:!0,container:o,children:s})}))})};sie.displayName=ruA;var YZ="DialogOverlay",rie=j.forwardRef((t,A)=>{const e=nie(YZ,t.__scopeDialog),{forceMount:i=e.forceMount,...o}=t,n=qw(YZ,t.__scopeDialog);return n.modal?O.jsx(n0,{present:i||n.open,children:O.jsx(zKt,{...o,ref:A})}):null});rie.displayName=YZ;var jKt=TKt("DialogOverlay.RemoveScroll"),zKt=j.forwardRef((t,A)=>{const{__scopeDialog:e,...i}=t,o=qw(YZ,e);return O.jsx(cW,{as:jKt,allowPinchZoom:!0,shards:[o.contentRef],children:O.jsx(Ha.div,{"data-state":guA(o.open),...i,ref:A,style:{pointerEvents:"auto",...i.style}})})}),WF="DialogContent",aie=j.forwardRef((t,A)=>{const e=nie(WF,t.__scopeDialog),{forceMount:i=e.forceMount,...o}=t,n=qw(WF,t.__scopeDialog);return O.jsx(n0,{present:i||n.open,children:n.modal?O.jsx(XKt,{...o,ref:A}):O.jsx($Kt,{...o,ref:A})})});aie.displayName=WF;var XKt=j.forwardRef((t,A)=>{const e=qw(WF,t.__scopeDialog),i=j.useRef(null),o=Bc(A,e.contentRef,i);return j.useEffect(()=>{const n=i.current;if(n)return XQA(n)},[]),O.jsx(gie,{...t,ref:o,trapFocus:e.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:vo(t.onCloseAutoFocus,n=>{n.preventDefault(),e.triggerRef.current?.focus()}),onPointerDownOutside:vo(t.onPointerDownOutside,n=>{const s=n.detail.originalEvent,r=s.button===0&&s.ctrlKey===!0;(s.button===2||r)&&n.preventDefault()}),onFocusOutside:vo(t.onFocusOutside,n=>n.preventDefault())})}),$Kt=j.forwardRef((t,A)=>{const e=qw(WF,t.__scopeDialog),i=j.useRef(!1),o=j.useRef(!1);return O.jsx(gie,{...t,ref:A,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:n=>{t.onCloseAutoFocus?.(n),n.defaultPrevented||(i.current||e.triggerRef.current?.focus(),n.preventDefault()),i.current=!1,o.current=!1},onInteractOutside:n=>{t.onInteractOutside?.(n),n.defaultPrevented||(i.current=!0,n.detail.originalEvent.type==="pointerdown"&&(o.current=!0));const s=n.target;e.triggerRef.current?.contains(s)&&n.preventDefault(),n.detail.originalEvent.type==="focusin"&&o.current&&n.preventDefault()}})}),gie=j.forwardRef((t,A)=>{const{__scopeDialog:e,trapFocus:i,onOpenAutoFocus:o,onCloseAutoFocus:n,...s}=t,r=qw(WF,e),a=j.useRef(null),g=Bc(A,a);return MQA(),O.jsxs(O.Fragment,{children:[O.jsx(q8,{asChild:!0,loop:!0,trapped:i,onMountAutoFocus:o,onUnmountAutoFocus:n,children:O.jsx(eH,{role:"dialog",id:r.contentId,"aria-describedby":r.descriptionId,"aria-labelledby":r.titleId,"data-state":guA(r.open),...s,ref:g,onDismiss:()=>r.onOpenChange(!1)})}),O.jsxs(O.Fragment,{children:[O.jsx(eqt,{titleId:r.titleId}),O.jsx(iqt,{contentRef:a,descriptionId:r.descriptionId})]})]})}),auA="DialogTitle",Iie=j.forwardRef((t,A)=>{const{__scopeDialog:e,...i}=t,o=qw(auA,e);return O.jsx(Ha.h2,{id:o.titleId,...i,ref:A})});Iie.displayName=auA;var cie="DialogDescription",Bie=j.forwardRef((t,A)=>{const{__scopeDialog:e,...i}=t,o=qw(cie,e);return O.jsx(Ha.p,{id:o.descriptionId,...i,ref:A})});Bie.displayName=cie;var lie="DialogClose",Cie=j.forwardRef((t,A)=>{const{__scopeDialog:e,...i}=t,o=qw(lie,e);return O.jsx(Ha.button,{type:"button",...i,ref:A,onClick:vo(t.onClick,()=>o.onOpenChange(!1))})});Cie.displayName=lie;function guA(t){return t?"open":"closed"}var Qie="DialogTitleWarning",[Aqt,Eie]=M3e(Qie,{contentName:WF,titleName:auA,docsSlug:"dialog"}),eqt=({titleId:t})=>{const A=Eie(Qie),e=`\`${A.contentName}\` requires a \`${A.titleName}\` for the component to be accessible for screen reader users.
|
|
5621
5621
|
|
|
5622
5622
|
If you want to hide the \`${A.titleName}\`, you can wrap it with our VisuallyHidden component.
|
|
5623
5623
|
|
|
@@ -5627,7 +5627,7 @@ You can add a description to the \`${gv}\` by passing a \`${Die}\` component as
|
|
|
5627
5627
|
|
|
5628
5628
|
Alternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${gv}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component.
|
|
5629
5629
|
|
|
5630
|
-
For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;return j.useEffect(()=>{document.getElementById(t.current?.getAttribute("aria-describedby"))||console.warn(A)},[A,t]),null},hqt=die,uqt=pie,Gie=fie,Fie=yie,Rie=bie,Mie=kie,Nie=mie,_ie=Sie;const vie=hqt,dqt=uqt,Uie=j.forwardRef(({className:t,...A},e)=>O.jsx(Gie,{className:no("rf-fixed rf-inset-0 rf-z-50 rf-bg-black/80 data-[state=open]:rf-animate-in data-[state=closed]:rf-animate-out data-[state=closed]:rf-fade-out-0 data-[state=open]:rf-fade-in-0",t),...A,ref:e}));Uie.displayName=Gie.displayName;const CuA=j.forwardRef(({className:t,...A},e)=>O.jsxs(dqt,{children:[O.jsx(Uie,{}),O.jsx(Fie,{ref:e,className:no("rf-fixed rf-left-[50%] rf-top-[50%] rf-z-50 rf-grid rf-w-full rf-max-w-lg rf-translate-x-[-50%] rf-translate-y-[-50%] rf-gap-4 rf-border rf-border-zinc-200 rf-bg-white rf-p-6 rf-shadow-lg rf-duration-200 data-[state=open]:rf-animate-in data-[state=closed]:rf-animate-out data-[state=closed]:rf-fade-out-0 data-[state=open]:rf-fade-in-0 data-[state=closed]:rf-zoom-out-95 data-[state=open]:rf-zoom-in-95 data-[state=closed]:rf-slide-out-to-left-1/2 data-[state=closed]:rf-slide-out-to-top-[48%] data-[state=open]:rf-slide-in-from-left-1/2 data-[state=open]:rf-slide-in-from-top-[48%] sm:rf-rounded-lg dark:rf-border-zinc-800 dark:rf-bg-zinc-950",t),...A})]}));CuA.displayName=Fie.displayName;const QuA=({className:t,...A})=>O.jsx("div",{className:no("rf-flex rf-flex-col rf-space-y-2 rf-text-center sm:rf-text-left",t),...A});QuA.displayName="AlertDialogHeader";const EuA=({className:t,...A})=>O.jsx("div",{className:no("rf-flex rf-flex-col-reverse sm:rf-flex-row sm:rf-justify-end sm:rf-space-x-2",t),...A});EuA.displayName="AlertDialogFooter";const huA=j.forwardRef(({className:t,...A},e)=>O.jsx(Nie,{ref:e,className:no("rf-text-lg rf-font-semibold",t),...A}));huA.displayName=Nie.displayName;const uuA=j.forwardRef(({className:t,...A},e)=>O.jsx(_ie,{ref:e,className:no("rf-text-sm rf-text-zinc-500 dark:rf-text-zinc-400",t),...A}));uuA.displayName=_ie.displayName;const pqt=j.forwardRef(({className:t,...A},e)=>O.jsx(Rie,{ref:e,className:no(N_(),t),...A}));pqt.displayName=Rie.displayName;const duA=j.forwardRef(({className:t,...A},e)=>O.jsx(Mie,{ref:e,className:no(N_({variant:"outline"}),"rf-mt-2 sm:rf-mt-0",t),...A}));duA.displayName=Mie.displayName;function fqt(t){const A=j.useRef({value:t,previous:t});return j.useMemo(()=>(A.current.value!==t&&(A.current.previous=A.current.value,A.current.value=t),A.current.previous),[t])}var KZ="Checkbox",[yqt]=hw(KZ),[wqt,puA]=yqt(KZ);function mqt(t){const{__scopeCheckbox:A,checked:e,children:i,defaultChecked:o,disabled:n,form:s,name:r,onCheckedChange:a,required:g,value:I="on",internal_do_not_use_render:c}=t,[B,l]=ox({prop:e,defaultProp:o??!1,onChange:a,caller:KZ}),[C,Q]=j.useState(null),[E,h]=j.useState(null),u=j.useRef(!1),d=C?!!s||!!C.closest("form"):!0,f={checked:B,disabled:n,setChecked:l,control:C,setControl:Q,name:r,form:s,value:I,hasConsumerStoppedPropagationRef:u,required:g,defaultChecked:hk(o)?!1:o,isFormControl:d,bubbleInput:E,setBubbleInput:h};return O.jsx(wqt,{scope:A,...f,children:Dqt(c)?c(f):i})}var Lie="CheckboxTrigger",Hie=j.forwardRef(({__scopeCheckbox:t,onKeyDown:A,onClick:e,...i},o)=>{const{control:n,value:s,disabled:r,checked:a,required:g,setControl:I,setChecked:c,hasConsumerStoppedPropagationRef:B,isFormControl:l,bubbleInput:C}=puA(Lie,t),Q=Bc(o,I),E=j.useRef(a);return j.useEffect(()=>{const h=n?.form;if(h){const u=()=>c(E.current);return h.addEventListener("reset",u),()=>h.removeEventListener("reset",u)}},[n,c]),O.jsx(Ha.button,{type:"button",role:"checkbox","aria-checked":hk(a)?"mixed":a,"aria-required":g,"data-state":qie(a),"data-disabled":r?"":void 0,disabled:r,value:s,...i,ref:Q,onKeyDown:vo(A,h=>{h.key==="Enter"&&h.preventDefault()}),onClick:vo(e,h=>{c(u=>hk(u)?!0:!u),C&&l&&(B.current=h.isPropagationStopped(),B.current||h.stopPropagation())})})});Hie.displayName=Lie;var fuA=j.forwardRef((t,A)=>{const{__scopeCheckbox:e,name:i,checked:o,defaultChecked:n,required:s,disabled:r,value:a,onCheckedChange:g,form:I,...c}=t;return O.jsx(mqt,{__scopeCheckbox:e,checked:o,defaultChecked:n,disabled:r,required:s,onCheckedChange:g,name:i,form:I,value:a,internal_do_not_use_render:({isFormControl:B})=>O.jsxs(O.Fragment,{children:[O.jsx(Hie,{...c,ref:A,__scopeCheckbox:e}),B&&O.jsx(Kie,{__scopeCheckbox:e})]})})});fuA.displayName=KZ;var Yie="CheckboxIndicator",Jie=j.forwardRef((t,A)=>{const{__scopeCheckbox:e,forceMount:i,...o}=t,n=puA(Yie,e);return O.jsx(n0,{present:i||hk(n.checked)||n.checked===!0,children:O.jsx(Ha.span,{"data-state":qie(n.checked),"data-disabled":n.disabled?"":void 0,...o,ref:A,style:{pointerEvents:"none",...t.style}})})});Jie.displayName=Yie;var Tie="CheckboxBubbleInput",Kie=j.forwardRef(({__scopeCheckbox:t,...A},e)=>{const{control:i,hasConsumerStoppedPropagationRef:o,checked:n,defaultChecked:s,required:r,disabled:a,name:g,value:I,form:c,bubbleInput:B,setBubbleInput:l}=puA(Tie,t),C=Bc(e,l),Q=fqt(n),E=ZXA(i);j.useEffect(()=>{const u=B;if(!u)return;const d=window.HTMLInputElement.prototype,m=Object.getOwnPropertyDescriptor(d,"checked").set,S=!o.current;if(Q!==n&&m){const D=new Event("click",{bubbles:S});u.indeterminate=hk(n),m.call(u,hk(n)?!1:n),u.dispatchEvent(D)}},[B,Q,n,o]);const h=j.useRef(hk(n)?!1:n);return O.jsx(Ha.input,{type:"checkbox","aria-hidden":!0,defaultChecked:s??h.current,required:r,disabled:a,name:g,value:I,form:c,...A,tabIndex:-1,ref:C,style:{...A.style,...E,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});Kie.displayName=Tie;function Dqt(t){return typeof t=="function"}function hk(t){return t==="indeterminate"}function qie(t){return hk(t)?"indeterminate":t?"checked":"unchecked"}const yuA=j.forwardRef(({className:t,...A},e)=>O.jsx(fuA,{ref:e,className:no("rf-peer rf-h-4 rf-w-4 rf-shrink-0 rf-rounded-sm rf-border rf-border-zinc-200 rf-border-zinc-900 rf-shadow focus-visible:rf-outline-none focus-visible:rf-ring-1 focus-visible:rf-ring-zinc-950 disabled:rf-cursor-not-allowed disabled:rf-opacity-50 data-[state=checked]:rf-bg-zinc-900 data-[state=checked]:rf-text-zinc-50 dark:rf-border-zinc-800 dark:rf-border-zinc-50 dark:focus-visible:rf-ring-zinc-300 dark:data-[state=checked]:rf-bg-zinc-50 dark:data-[state=checked]:rf-text-zinc-900",t),...A,children:O.jsx(Jie,{className:no("rf-flex rf-items-center rf-justify-center rf-text-current"),children:O.jsx(mF,{className:"rf-h-4 rf-w-4"})})}));yuA.displayName=fuA.displayName;const Iv=IuA,Sqt=cuA,Pie=j.forwardRef(({className:t,...A},e)=>O.jsx(JZ,{className:no("rf-fixed rf-inset-0 rf-z-50 rf-bg-black/80 data-[state=open]:rf-animate-in data-[state=closed]:rf-animate-out data-[state=closed]:rf-fade-out-0 data-[state=open]:rf-fade-in-0",t),...A,ref:e}));Pie.displayName=JZ.displayName;const ZF=j.forwardRef(({className:t,children:A,showOverlay:e=!0,...i},o)=>O.jsxs(Sqt,{children:[O.jsx(Pie,{className:no(e?"":"rf-hidden")}),O.jsx(TZ,{ref:o,className:no("rf-fixed rf-left-[50%] rf-top-[50%] rf-z-50 rf-grid rf-w-full rf-max-w-lg rf-translate-x-[-50%] rf-translate-y-[-50%] rf-gap-4 rf-border rf-border-zinc-200 rf-bg-white rf-p-6 rf-shadow-lg rf-duration-200 data-[state=open]:rf-animate-in data-[state=closed]:rf-animate-out data-[state=closed]:rf-fade-out-0 data-[state=open]:rf-fade-in-0 data-[state=closed]:rf-zoom-out-95 data-[state=open]:rf-zoom-in-95 data-[state=closed]:rf-slide-out-to-left-1/2 data-[state=closed]:rf-slide-out-to-top-[48%] data-[state=open]:rf-slide-in-from-left-1/2 data-[state=open]:rf-slide-in-from-top-[48%] sm:rf-rounded-lg dark:rf-border-zinc-800 dark:rf-bg-zinc-950",t),...i,children:A})]}));ZF.displayName=TZ.displayName;const VF=({className:t,...A})=>O.jsx("div",{className:no("rf-flex rf-flex-col rf-space-y-2 rf-text-center sm:rf-text-left",t),...A});VF.displayName="DialogHeader";const aY=({className:t,...A})=>O.jsx("div",{className:no("rf-flex rf-flex-col-reverse sm:rf-flex-row sm:rf-justify-end sm:rf-space-x-2",t),...A});aY.displayName="DialogFooter";const jF=j.forwardRef(({className:t,...A},e)=>O.jsx(BuA,{ref:e,className:no("rf-text-lg rf-font-semibold",t),...A}));jF.displayName=BuA.displayName;const cv=j.forwardRef(({className:t,...A},e)=>O.jsx(luA,{ref:e,className:no("rf-text-sm rf-text-zinc-500 dark:rf-text-zinc-400",t),...A}));cv.displayName=luA.displayName;const wuA={"tscircuit.com":{label:"tscircuit.com",placeholder:"Search tscircuit packages...",emptyMessage:"No packages found"},jlcpcb:{label:"JLCPCB Parts",placeholder:"Search JLCPCB parts (e.g. C14663)...",emptyMessage:"No parts found"},kicad:{label:"KiCad Footprints",placeholder:"Search KiCad footprints...",emptyMessage:"No footprints found"}},bqt="https://cdn.jsdelivr.net/npm/easyeda@latest/dist/browser/index.js";let muA=null;const xqt=async()=>(muA||(muA=import(bqt)),muA),kqt=async(t,A=10)=>{const e=encodeURIComponent(t),i=await fetch(`https://jlcsearch.tscircuit.com/api/search?limit=${A}&q=${e}`);if(!i.ok)throw new Error(`JLCPCB API error: ${i.status}`);return(await i.json()).components??[]},Gqt=t=>({lcscId:t.lcsc,manufacturer:t.mfr,description:t.description,partNumber:`C${t.lcsc}`,package:t.package,price:t.price,stock:t.stock}),Fqt=async(t,A)=>{const{fetchEasyEDAComponent:e,convertRawEasyToTsx:i}=await xqt(),o=await e(t,{fetch:(n,s)=>fetch(`${A?.apiBase??Zp}/proxy`,{...s,headers:{...s?.headers,"X-Target-Url":n.toString(),"X-Sender-Origin":s?.headers?.origin??"","X-Sender-Host":s?.headers?.host??"https://easyeda.com","X-Sender-Referer":s?.headers?.referer??"","X-Sender-User-Agent":s?.headers?.userAgent??"","X-Sender-Cookie":s?.headers?.cookie??"",authority:s?.headers?.authority??"","content-type":s?.headers?.["content-type"]??"",...A?.headers}})});return i(o)},Rqt=({query:t,placeholder:A,isSearching:e,onQueryChange:i,onSubmit:o})=>{const n=j.useCallback(s=>{s.key==="Enter"&&(s.preventDefault(),o())},[o]);return O.jsxs("div",{className:"rf-flex rf-items-center rf-gap-2 rf-mt-4",children:[O.jsxs("div",{className:"rf-relative rf-flex-grow",children:[O.jsx(GQA,{className:"rf-absolute rf-left-2 rf-top-2.5 rf-h-4 rf-w-4 rf-text-muted-foreground"}),O.jsx(lhA,{placeholder:A,className:"rf-pl-8",spellCheck:!1,autoComplete:"off",value:t,onChange:s=>i(s.target.value),onKeyDown:n})]}),O.jsx(Sa,{onClick:o,disabled:e||t.trim().length<1,className:"sm:rf-px-4 rf-px-3",children:e?O.jsx(FS,{className:"rf-h-4 rf-w-4 rf-animate-spin"}):O.jsxs(O.Fragment,{children:[O.jsx(GQA,{className:"rf-h-4 rf-w-4 sm:rf-hidden"}),O.jsx("span",{className:"rf-hidden sm:rf-inline",children:"Search"})]})})]})},Oie=t=>{switch(t.source){case"tscircuit.com":{const A=t.package;return`tscircuit-${A.package_id??`${A.org_owner_tscircuit_handle??"unknown"}-${A.unscoped_name??A.name??"package"}`}`}case"jlcpcb":return`jlc-${t.component.lcscId}`;case"kicad":return`kicad-${t.footprint.path}`;default:return"unknown"}},Mqt=t=>{switch(t.source){case"tscircuit.com":return t.package.unscoped_name;case"jlcpcb":return t.component.manufacturer;case"kicad":return t.footprint.qualifiedName}},Nqt=t=>{switch(t.source){case"tscircuit.com":return t.package.description||(t.package.org_owner_tscircuit_handle?`Component by ${t.package.org_owner_tscircuit_handle}`:void 0);case"jlcpcb":return t.component.description;case"kicad":return t.footprint.description}},_qt=t=>{switch(t.source){case"tscircuit.com":return t.package.name;case"jlcpcb":return t.component.partNumber;case"kicad":return}},vqt=({results:t,selected:A,onSelect:e,onShowDetails:i})=>{const o=A?Oie(A):null;return O.jsx("div",{className:"rf-divide-y rf-w-full rf-overflow-hidden",children:t.map(n=>{const s=Oie(n),r=o===s,a=Mqt(n),g=Nqt(n),I=_qt(n),c=n.source==="jlcpcb"?n.component.stock:null;return O.jsxs("div",{className:`rf-p-3 rf-flex rf-flex-col sm:rf-grid sm:rf-grid-cols-[minmax(0,1fr)_auto] rf-items-start sm:rf-items-center rf-cursor-pointer hover:rf-bg-zinc-100 rf-gap-2 rf-overflow-hidden ${r?"rf-bg-zinc-100":""}`,onClick:()=>e(n),children:[O.jsxs("div",{className:"rf-min-w-0 rf-overflow-hidden rf-w-full",children:[O.jsxs("div",{className:"rf-flex rf-items-start rf-gap-2 rf-min-w-0",children:[O.jsxs("div",{className:"rf-font-medium rf-text-sm rf-truncate rf-flex-1 rf-min-w-0 rf-flex rf-items-center rf-gap-1.5",children:[a,n.source==="tscircuit.com"&&n.package.is_private&&O.jsx(XSt,{className:"rf-ml-1 rf-h-3 rf-w-3 rf-text-zinc-400 rf-flex-shrink-0"})]}),n.source==="jlcpcb"&&c!=null?O.jsxs("div",{className:"rf-text-xs rf-text-zinc-500 rf-font-medium rf-whitespace-nowrap rf-flex-shrink-0 sm:rf-hidden",children:[c.toLocaleString()," in stock"]}):null]}),O.jsxs("div",{className:"rf-text-xs rf-text-zinc-500 rf-truncate rf-w-full",children:[I?O.jsx("span",{className:"rf-mr-2",children:I}):null,g]})]}),n.source==="tscircuit.com"&&i?O.jsx("div",{className:"rf-flex-shrink-0 rf-w-full sm:rf-w-auto",children:O.jsx(Sa,{variant:"outline",size:"sm",className:"rf-text-xs rf-w-full sm:rf-w-auto",onClick:B=>{B.stopPropagation(),i(n)},children:"See Details"})}):n.source==="jlcpcb"&&c!=null?O.jsxs("div",{className:"rf-hidden sm:rf-block rf-text-xs rf-text-zinc-500 rf-font-medium rf-whitespace-nowrap rf-flex-shrink-0",children:[c.toLocaleString()," in stock"]}):null]},s)})})},Uqt=({packageResult:t,isOpen:A,onOpenChange:e,isLoading:i,details:o,previewTab:n,onPreviewTabChange:s,isSubmitting:r,onImport:a})=>{const g=t?.package??null,I=g?.latest_pcb_preview_image_url,c=g?.latest_sch_preview_image_url,B=g?.latest_cad_preview_image_url,l=g?.unscoped_name?.split("/").pop()??g?.unscoped_name,C=g?.org_owner_tscircuit_handle??void 0,Q=C?`https://tscircuit.com/${C}`:void 0,E=C&&l?`https://tscircuit.com/${C}/${l}`:void 0;return O.jsx(Iv,{open:A,onOpenChange:e,children:O.jsxs(ZF,{showOverlay:!1,style:{width:"calc(100vw - 2rem)"},className:"rf-max-w-5xl no-scrollbar !rf-overflow-y-auto rf-max-h-[90vh] rf-overflow-hidden rf-flex rf-flex-col rf-rounded-sm",children:[O.jsx(VF,{className:"rf-pb-4 rf-border-b",children:O.jsx("div",{className:"rf-flex rf-items-start rf-justify-between rf-gap-4",children:O.jsxs("div",{className:"rf-flex-1 rf-min-w-0",children:[O.jsx(jF,{className:"rf-text-xl rf-font-semibold rf-truncate",children:l}),O.jsx(cv,{children:g?.description})]})})}),O.jsxs("div",{className:"rf-flex-1 rf-overflow-y-auto rf-py-4 rf-space-y-6",children:[C?O.jsxs("div",{children:[O.jsx("span",{className:"rf-text-xs rf-font-medium rf-text-gray-500 rf-uppercase rf-tracking-wide",children:"Created by"}),O.jsx("div",{className:"rf-mt-1 rf-text-sm rf-font-medium",children:Q?O.jsx("a",{href:Q,target:"_blank",rel:"noopener noreferrer",className:"rf-text-black hover:rf-underline",children:C}):C})]}):null,(B||I||c)&&O.jsx(O.Fragment,{children:O.jsxs("div",{children:[O.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-mb-4",children:"Preview"}),O.jsxs(wiA,{value:n,onValueChange:h=>s(h),children:[O.jsxs(z3,{className:"rf-inline-flex rf-h-9 rf-items-center rf-justify-center rf-rounded-lg rf-bg-zinc-100 rf-p-1 rf-text-zinc-500 dark:rf-bg-zinc-800 dark:rf-text-zinc-400",children:[I&&O.jsx(Mm,{value:"pcb",children:"PCB"}),c&&O.jsx(Mm,{value:"schematic",children:"Schematic"}),B&&O.jsx(Mm,{value:"3d",children:"3D"})]}),O.jsxs("div",{className:"rf-mt-4",children:[O.jsx(Su,{value:"pcb",className:"rf-border rf-rounded-lg rf-overflow-hidden rf-bg-gray-50",children:I?O.jsx("img",{src:I,alt:`${l??"package"} PCB preview`,className:"rf-w-full rf-h-full rf-object-contain rf-bg-white rf-p-4"}):null}),O.jsx(Su,{value:"schematic",className:"rf-border rf-rounded-lg rf-overflow-hidden rf-bg-gray-50",children:c?O.jsx("img",{src:c,alt:`${l??"package"} schematic preview`,className:"rf-w-full rf-h-full rf-object-contain rf-bg-white rf-p-4"}):null}),O.jsx(Su,{value:"3d",className:"rf-border rf-rounded-lg rf-overflow-hidden rf-bg-gray-50",children:B?O.jsx("img",{src:B,alt:`${l??"package"} 3D preview`,className:"rf-w-full rf-h-full rf-object-contain rf-bg-white rf-p-4"}):null})]})]})]})}),o?.ai_description?O.jsxs("section",{children:[O.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-mb-3",children:"AI Description"}),O.jsx("div",{className:"rf-bg-gray-50 rf-border rf-border-gray-200 rf-rounded-lg rf-p-4",children:O.jsx("p",{className:"rf-text-sm rf-text-gray-700 rf-leading-relaxed",children:o.ai_description})})]}):null,o?.ai_usage_instructions?O.jsxs("section",{children:[O.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-mb-3",children:"Usage Instructions"}),O.jsx("div",{className:"rf-bg-gray-50 rf-border rf-border-gray-200 rf-rounded-lg rf-p-4",children:O.jsx("p",{className:"rf-text-sm rf-text-gray-700 rf-leading-relaxed rf-whitespace-pre-wrap",children:o.ai_usage_instructions})})]}):null,i?O.jsxs("div",{className:"rf-flex rf-justify-center rf-items-center rf-gap-2 rf-text-gray-500",children:[O.jsx(FS,{className:"rf-h-4 rf-w-4 rf-animate-spin"}),O.jsx("span",{className:"rf-text-sm",children:"Loading package details..."})]}):null]}),O.jsxs(aY,{className:"rf-pt-4 rf-border-t rf-flex rf-flex-col sm:rf-flex-row rf-justify-between rf-gap-2",children:[O.jsx("div",{className:"rf-flex-1",children:E?O.jsxs(Sa,{variant:"outline",size:"sm",className:"rf-gap-2 rf-w-full sm:rf-w-auto",onClick:()=>window.open(E,"_blank"),children:[O.jsx(PSt,{className:"rf-h-4 rf-w-4"}),"View on tscircuit.com"]}):null}),O.jsxs("div",{className:"rf-flex rf-flex-col sm:rf-flex-row rf-gap-2",children:[O.jsx(Sa,{variant:"outline",onClick:()=>e(!1),className:"rf-order-2 sm:rf-order-1",children:"Close"}),O.jsx(Sa,{onClick:a,disabled:r,className:"rf-bg-blue-600 hover:rf-bg-blue-700",children:r?O.jsx(FS,{className:"rf-h-4 rf-w-4 rf-animate-spin"}):"Import Component"})]})]})]})})},Lqt=()=>{const[t,A]=j.useState(null),[e,i]=j.useState(!1),o=j.useCallback(async(s,r)=>{i(!0);try{const a=await fetch(`https://api.tscircuit.com/packages/get?name=${encodeURIComponent(`${s}/${r}`)}`);if(!a.ok)throw new Error(`Failed to load package details: ${a.status}`);const g=await a.json();A(g.package??null)}catch(a){console.error("Failed to fetch package details",a),A(null)}finally{i(!1)}},[]),n=j.useCallback(()=>{A(null),i(!1)},[]);return{details:t,isLoading:e,fetchDetails:o,reset:n}},Hqt=async(t,A)=>{const e={"Content-Type":"application/json"};A&&(e.Authorization=`Bearer ${A}`);const i=await fetch("https://registry-api.tscircuit.com/packages/search",{method:"POST",headers:e,body:JSON.stringify({query:t})});if(!i.ok)throw new Error(`tscircuit registry error: ${i.status}`);return(await i.json()).packages??[]},Yqt=({sessionToken:t})=>{const[A,e]=j.useState([]),[i,o]=j.useState(!1),[n,s]=j.useState(null),[r,a]=j.useState(!1),g=j.useCallback(async c=>{const B=c.trim();if(!B)return[];o(!0),s(null);try{const C=(await Hqt(B,t)).map(Q=>({source:"tscircuit.com",package:Q}));return e(C),C}catch(l){return console.error("Error searching tscircuit packages",l),e([]),s(l instanceof Error?l.message:"Failed to search tscircuit packages"),[]}finally{o(!1),a(!0)}},[t]),I=j.useCallback(()=>{e([]),o(!1),s(null),a(!1)},[]);return{results:A,isSearching:i,error:n,hasSearched:r,search:g,reset:I}},Jqt=t=>{const A=t.trim();return/^C\d+/i.test(A)?A.replace(/^C/i,""):A},Tqt=()=>{const[t,A]=j.useState([]),[e,i]=j.useState(!1),[o,n]=j.useState(null),[s,r]=j.useState(!1),a=j.useCallback(async I=>{const c=Jqt(I);if(!c)return[];i(!0),n(null);try{const l=(await kqt(c,10)).map(C=>({source:"jlcpcb",component:Gqt(C)}));return A(l),l}catch(B){return console.error("Error searching JLCPCB components",B),A([]),n(B instanceof Error?B.message:"Failed to search JLCPCB components"),[]}finally{i(!1),r(!0)}},[]),g=j.useCallback(()=>{A([]),i(!1),n(null),r(!1)},[]);return{results:t,isSearching:e,error:o,hasSearched:s,search:a,reset:g}};function OS(t){return Array.isArray?Array.isArray(t):Vie(t)==="[object Array]"}function Kqt(t){if(typeof t=="string")return t;let A=t+"";return A=="0"&&1/t==-1/0?"-0":A}function qqt(t){return t==null?"":Kqt(t)}function ED(t){return typeof t=="string"}function Wie(t){return typeof t=="number"}function Pqt(t){return t===!0||t===!1||Oqt(t)&&Vie(t)=="[object Boolean]"}function Zie(t){return typeof t=="object"}function Oqt(t){return Zie(t)&&t!==null}function m0(t){return t!=null}function DuA(t){return!t.trim().length}function Vie(t){return t==null?t===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(t)}const Wqt="Incorrect 'index' type",Zqt=t=>`Invalid value for key ${t}`,Vqt=t=>`Pattern length exceeds max of ${t}.`,jqt=t=>`Missing ${t} property in key`,zqt=t=>`Property 'weight' in key '${t}' must be a positive integer`,jie=Object.prototype.hasOwnProperty;class Xqt{constructor(A){this._keys=[],this._keyMap={};let e=0;A.forEach(i=>{let o=zie(i);this._keys.push(o),this._keyMap[o.id]=o,e+=o.weight}),this._keys.forEach(i=>{i.weight/=e})}get(A){return this._keyMap[A]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function zie(t){let A=null,e=null,i=null,o=1,n=null;if(ED(t)||OS(t))i=t,A=Xie(t),e=SuA(t);else{if(!jie.call(t,"name"))throw new Error(jqt("name"));const s=t.name;if(i=s,jie.call(t,"weight")&&(o=t.weight,o<=0))throw new Error(zqt(s));A=Xie(s),e=SuA(s),n=t.getFn}return{path:A,id:e,weight:o,src:i,getFn:n}}function Xie(t){return OS(t)?t:t.split(".")}function SuA(t){return OS(t)?t.join("."):t}function $qt(t,A){let e=[],i=!1;const o=(n,s,r)=>{if(m0(n))if(!s[r])e.push(n);else{let a=s[r];const g=n[a];if(!m0(g))return;if(r===s.length-1&&(ED(g)||Wie(g)||Pqt(g)))e.push(qqt(g));else if(OS(g)){i=!0;for(let I=0,c=g.length;I<c;I+=1)o(g[I],s,r+1)}else s.length&&o(g,s,r+1)}};return o(t,ED(A)?A.split("."):A,0),i?e:e[0]}var Rn={...{isCaseSensitive:!1,ignoreDiacritics:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(t,A)=>t.score===A.score?t.idx<A.idx?-1:1:t.score<A.score?-1:1},...{includeMatches:!1,findAllMatches:!1,minMatchCharLength:1},...{location:0,threshold:.6,distance:100},...{useExtendedSearch:!1,getFn:$qt,ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1}};const A4t=/[^ ]+/g;function e4t(t=1,A=3){const e=new Map,i=Math.pow(10,A);return{get(o){const n=o.match(A4t).length;if(e.has(n))return e.get(n);const s=1/Math.pow(n,.5*t),r=parseFloat(Math.round(s*i)/i);return e.set(n,r),r},clear(){e.clear()}}}class buA{constructor({getFn:A=Rn.getFn,fieldNormWeight:e=Rn.fieldNormWeight}={}){this.norm=e4t(e,3),this.getFn=A,this.isCreated=!1,this.setIndexRecords()}setSources(A=[]){this.docs=A}setIndexRecords(A=[]){this.records=A}setKeys(A=[]){this.keys=A,this._keysMap={},A.forEach((e,i)=>{this._keysMap[e.id]=i})}create(){this.isCreated||!this.docs.length||(this.isCreated=!0,ED(this.docs[0])?this.docs.forEach((A,e)=>{this._addString(A,e)}):this.docs.forEach((A,e)=>{this._addObject(A,e)}),this.norm.clear())}add(A){const e=this.size();ED(A)?this._addString(A,e):this._addObject(A,e)}removeAt(A){this.records.splice(A,1);for(let e=A,i=this.size();e<i;e+=1)this.records[e].i-=1}getValueForItemAtKeyId(A,e){return A[this._keysMap[e]]}size(){return this.records.length}_addString(A,e){if(!m0(A)||DuA(A))return;let i={v:A,i:e,n:this.norm.get(A)};this.records.push(i)}_addObject(A,e){let i={i:e,$:{}};this.keys.forEach((o,n)=>{let s=o.getFn?o.getFn(A):this.getFn(A,o.path);if(m0(s)){if(OS(s)){let r=[];const a=[{nestedArrIndex:-1,value:s}];for(;a.length;){const{nestedArrIndex:g,value:I}=a.pop();if(m0(I))if(ED(I)&&!DuA(I)){let c={v:I,i:g,n:this.norm.get(I)};r.push(c)}else OS(I)&&I.forEach((c,B)=>{a.push({nestedArrIndex:B,value:c})})}i.$[n]=r}else if(ED(s)&&!DuA(s)){let r={v:s,n:this.norm.get(s)};i.$[n]=r}}}),this.records.push(i)}toJSON(){return{keys:this.keys,records:this.records}}}function $ie(t,A,{getFn:e=Rn.getFn,fieldNormWeight:i=Rn.fieldNormWeight}={}){const o=new buA({getFn:e,fieldNormWeight:i});return o.setKeys(t.map(zie)),o.setSources(A),o.create(),o}function t4t(t,{getFn:A=Rn.getFn,fieldNormWeight:e=Rn.fieldNormWeight}={}){const{keys:i,records:o}=t,n=new buA({getFn:A,fieldNormWeight:e});return n.setKeys(i),n.setIndexRecords(o),n}function qZ(t,{errors:A=0,currentLocation:e=0,expectedLocation:i=0,distance:o=Rn.distance,ignoreLocation:n=Rn.ignoreLocation}={}){const s=A/t.length;if(n)return s;const r=Math.abs(i-e);return o?s+r/o:r?1:s}function i4t(t=[],A=Rn.minMatchCharLength){let e=[],i=-1,o=-1,n=0;for(let s=t.length;n<s;n+=1){let r=t[n];r&&i===-1?i=n:!r&&i!==-1&&(o=n-1,o-i+1>=A&&e.push([i,o]),i=-1)}return t[n-1]&&n-i>=A&&e.push([i,n-1]),e}const zF=32;function o4t(t,A,e,{location:i=Rn.location,distance:o=Rn.distance,threshold:n=Rn.threshold,findAllMatches:s=Rn.findAllMatches,minMatchCharLength:r=Rn.minMatchCharLength,includeMatches:a=Rn.includeMatches,ignoreLocation:g=Rn.ignoreLocation}={}){if(A.length>zF)throw new Error(Vqt(zF));const I=A.length,c=t.length,B=Math.max(0,Math.min(i,c));let l=n,C=B;const Q=r>1||a,E=Q?Array(c):[];let h;for(;(h=t.indexOf(A,C))>-1;){let D=qZ(A,{currentLocation:h,expectedLocation:B,distance:o,ignoreLocation:g});if(l=Math.min(D,l),C=h+I,Q){let x=0;for(;x<I;)E[h+x]=1,x+=1}}C=-1;let u=[],d=1,f=I+c;const m=1<<I-1;for(let D=0;D<I;D+=1){let x=0,F=f;for(;x<F;)qZ(A,{errors:D,currentLocation:B+F,expectedLocation:B,distance:o,ignoreLocation:g})<=l?x=F:f=F,F=Math.floor((f-x)/2+x);f=F;let k=Math.max(1,B-F+1),v=s?c:Math.min(B+F,c)+I,_=Array(v+2);_[v+1]=(1<<D)-1;for(let P=v;P>=k;P-=1){let J=P-1,W=e[t.charAt(J)];if(Q&&(E[J]=+!!W),_[P]=(_[P+1]<<1|1)&W,D&&(_[P]|=(u[P+1]|u[P])<<1|1|u[P+1]),_[P]&m&&(d=qZ(A,{errors:D,currentLocation:J,expectedLocation:B,distance:o,ignoreLocation:g}),d<=l)){if(l=d,C=J,C<=B)break;k=Math.max(1,2*B-C)}}if(qZ(A,{errors:D+1,currentLocation:B,expectedLocation:B,distance:o,ignoreLocation:g})>l)break;u=_}const S={isMatch:C>=0,score:Math.max(.001,d)};if(Q){const D=i4t(E,r);D.length?a&&(S.indices=D):S.isMatch=!1}return S}function n4t(t){let A={};for(let e=0,i=t.length;e<i;e+=1){const o=t.charAt(e);A[o]=(A[o]||0)|1<<i-e-1}return A}const PZ=String.prototype.normalize?(t=>t.normalize("NFD").replace(/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/g,"")):(t=>t);class Aoe{constructor(A,{location:e=Rn.location,threshold:i=Rn.threshold,distance:o=Rn.distance,includeMatches:n=Rn.includeMatches,findAllMatches:s=Rn.findAllMatches,minMatchCharLength:r=Rn.minMatchCharLength,isCaseSensitive:a=Rn.isCaseSensitive,ignoreDiacritics:g=Rn.ignoreDiacritics,ignoreLocation:I=Rn.ignoreLocation}={}){if(this.options={location:e,threshold:i,distance:o,includeMatches:n,findAllMatches:s,minMatchCharLength:r,isCaseSensitive:a,ignoreDiacritics:g,ignoreLocation:I},A=a?A:A.toLowerCase(),A=g?PZ(A):A,this.pattern=A,this.chunks=[],!this.pattern.length)return;const c=(l,C)=>{this.chunks.push({pattern:l,alphabet:n4t(l),startIndex:C})},B=this.pattern.length;if(B>zF){let l=0;const C=B%zF,Q=B-C;for(;l<Q;)c(this.pattern.substr(l,zF),l),l+=zF;if(C){const E=B-zF;c(this.pattern.substr(E),E)}}else c(this.pattern,0)}searchIn(A){const{isCaseSensitive:e,ignoreDiacritics:i,includeMatches:o}=this.options;if(A=e?A:A.toLowerCase(),A=i?PZ(A):A,this.pattern===A){let Q={isMatch:!0,score:0};return o&&(Q.indices=[[0,A.length-1]]),Q}const{location:n,distance:s,threshold:r,findAllMatches:a,minMatchCharLength:g,ignoreLocation:I}=this.options;let c=[],B=0,l=!1;this.chunks.forEach(({pattern:Q,alphabet:E,startIndex:h})=>{const{isMatch:u,score:d,indices:f}=o4t(A,Q,E,{location:n+h,distance:s,threshold:r,findAllMatches:a,minMatchCharLength:g,includeMatches:o,ignoreLocation:I});u&&(l=!0),B+=d,u&&f&&(c=[...c,...f])});let C={isMatch:l,score:l?B/this.chunks.length:1};return l&&o&&(C.indices=c),C}}class uk{constructor(A){this.pattern=A}static isMultiMatch(A){return eoe(A,this.multiRegex)}static isSingleMatch(A){return eoe(A,this.singleRegex)}search(){}}function eoe(t,A){const e=t.match(A);return e?e[1]:null}class s4t extends uk{constructor(A){super(A)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(A){const e=A===this.pattern;return{isMatch:e,score:e?0:1,indices:[0,this.pattern.length-1]}}}class r4t extends uk{constructor(A){super(A)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(A){const i=A.indexOf(this.pattern)===-1;return{isMatch:i,score:i?0:1,indices:[0,A.length-1]}}}class a4t extends uk{constructor(A){super(A)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(A){const e=A.startsWith(this.pattern);return{isMatch:e,score:e?0:1,indices:[0,this.pattern.length-1]}}}class g4t extends uk{constructor(A){super(A)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(A){const e=!A.startsWith(this.pattern);return{isMatch:e,score:e?0:1,indices:[0,A.length-1]}}}class I4t extends uk{constructor(A){super(A)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(A){const e=A.endsWith(this.pattern);return{isMatch:e,score:e?0:1,indices:[A.length-this.pattern.length,A.length-1]}}}class c4t extends uk{constructor(A){super(A)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(A){const e=!A.endsWith(this.pattern);return{isMatch:e,score:e?0:1,indices:[0,A.length-1]}}}class toe extends uk{constructor(A,{location:e=Rn.location,threshold:i=Rn.threshold,distance:o=Rn.distance,includeMatches:n=Rn.includeMatches,findAllMatches:s=Rn.findAllMatches,minMatchCharLength:r=Rn.minMatchCharLength,isCaseSensitive:a=Rn.isCaseSensitive,ignoreDiacritics:g=Rn.ignoreDiacritics,ignoreLocation:I=Rn.ignoreLocation}={}){super(A),this._bitapSearch=new Aoe(A,{location:e,threshold:i,distance:o,includeMatches:n,findAllMatches:s,minMatchCharLength:r,isCaseSensitive:a,ignoreDiacritics:g,ignoreLocation:I})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(A){return this._bitapSearch.searchIn(A)}}class ioe extends uk{constructor(A){super(A)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(A){let e=0,i;const o=[],n=this.pattern.length;for(;(i=A.indexOf(this.pattern,e))>-1;)e=i+n,o.push([i,e-1]);const s=!!o.length;return{isMatch:s,score:s?0:1,indices:o}}}const xuA=[s4t,ioe,a4t,g4t,c4t,I4t,r4t,toe],ooe=xuA.length,B4t=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,l4t="|";function C4t(t,A={}){return t.split(l4t).map(e=>{let i=e.trim().split(B4t).filter(n=>n&&!!n.trim()),o=[];for(let n=0,s=i.length;n<s;n+=1){const r=i[n];let a=!1,g=-1;for(;!a&&++g<ooe;){const I=xuA[g];let c=I.isMultiMatch(r);c&&(o.push(new I(c,A)),a=!0)}if(!a)for(g=-1;++g<ooe;){const I=xuA[g];let c=I.isSingleMatch(r);if(c){o.push(new I(c,A));break}}}return o})}const Q4t=new Set([toe.type,ioe.type]);class E4t{constructor(A,{isCaseSensitive:e=Rn.isCaseSensitive,ignoreDiacritics:i=Rn.ignoreDiacritics,includeMatches:o=Rn.includeMatches,minMatchCharLength:n=Rn.minMatchCharLength,ignoreLocation:s=Rn.ignoreLocation,findAllMatches:r=Rn.findAllMatches,location:a=Rn.location,threshold:g=Rn.threshold,distance:I=Rn.distance}={}){this.query=null,this.options={isCaseSensitive:e,ignoreDiacritics:i,includeMatches:o,minMatchCharLength:n,findAllMatches:r,ignoreLocation:s,location:a,threshold:g,distance:I},A=e?A:A.toLowerCase(),A=i?PZ(A):A,this.pattern=A,this.query=C4t(this.pattern,this.options)}static condition(A,e){return e.useExtendedSearch}searchIn(A){const e=this.query;if(!e)return{isMatch:!1,score:1};const{includeMatches:i,isCaseSensitive:o,ignoreDiacritics:n}=this.options;A=o?A:A.toLowerCase(),A=n?PZ(A):A;let s=0,r=[],a=0;for(let g=0,I=e.length;g<I;g+=1){const c=e[g];r.length=0,s=0;for(let B=0,l=c.length;B<l;B+=1){const C=c[B],{isMatch:Q,indices:E,score:h}=C.search(A);if(Q){if(s+=1,a+=h,i){const u=C.constructor.type;Q4t.has(u)?r=[...r,...E]:r.push(E)}}else{a=0,s=0,r.length=0;break}}if(s){let B={isMatch:!0,score:a/s};return i&&(B.indices=r),B}}return{isMatch:!1,score:1}}}const kuA=[];function h4t(...t){kuA.push(...t)}function GuA(t,A){for(let e=0,i=kuA.length;e<i;e+=1){let o=kuA[e];if(o.condition(t,A))return new o(t,A)}return new Aoe(t,A)}const OZ={AND:"$and",OR:"$or"},FuA={PATH:"$path",PATTERN:"$val"},RuA=t=>!!(t[OZ.AND]||t[OZ.OR]),u4t=t=>!!t[FuA.PATH],d4t=t=>!OS(t)&&Zie(t)&&!RuA(t),noe=t=>({[OZ.AND]:Object.keys(t).map(A=>({[A]:t[A]}))});function soe(t,A,{auto:e=!0}={}){const i=o=>{let n=Object.keys(o);const s=u4t(o);if(!s&&n.length>1&&!RuA(o))return i(noe(o));if(d4t(o)){const a=s?o[FuA.PATH]:n[0],g=s?o[FuA.PATTERN]:o[a];if(!ED(g))throw new Error(Zqt(a));const I={keyId:SuA(a),pattern:g};return e&&(I.searcher=GuA(g,A)),I}let r={children:[],operator:n[0]};return n.forEach(a=>{const g=o[a];OS(g)&&g.forEach(I=>{r.children.push(i(I))})}),r};return RuA(t)||(t=noe(t)),i(t)}function p4t(t,{ignoreFieldNorm:A=Rn.ignoreFieldNorm}){t.forEach(e=>{let i=1;e.matches.forEach(({key:o,norm:n,score:s})=>{const r=o?o.weight:null;i*=Math.pow(s===0&&r?Number.EPSILON:s,(r||1)*(A?1:n))}),e.score=i})}function f4t(t,A){const e=t.matches;A.matches=[],m0(e)&&e.forEach(i=>{if(!m0(i.indices)||!i.indices.length)return;const{indices:o,value:n}=i;let s={indices:o,value:n};i.key&&(s.key=i.key.src),i.idx>-1&&(s.refIndex=i.idx),A.matches.push(s)})}function y4t(t,A){A.score=t.score}function w4t(t,A,{includeMatches:e=Rn.includeMatches,includeScore:i=Rn.includeScore}={}){const o=[];return e&&o.push(f4t),i&&o.push(y4t),t.map(n=>{const{idx:s}=n,r={item:A[s],refIndex:s};return o.length&&o.forEach(a=>{a(n,r)}),r})}class Bv{constructor(A,e={},i){this.options={...Rn,...e},this.options.useExtendedSearch,this._keyStore=new Xqt(this.options.keys),this.setCollection(A,i)}setCollection(A,e){if(this._docs=A,e&&!(e instanceof buA))throw new Error(Wqt);this._myIndex=e||$ie(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}add(A){m0(A)&&(this._docs.push(A),this._myIndex.add(A))}remove(A=()=>!1){const e=[];for(let i=0,o=this._docs.length;i<o;i+=1){const n=this._docs[i];A(n,i)&&(this.removeAt(i),i-=1,o-=1,e.push(n))}return e}removeAt(A){this._docs.splice(A,1),this._myIndex.removeAt(A)}getIndex(){return this._myIndex}search(A,{limit:e=-1}={}){const{includeMatches:i,includeScore:o,shouldSort:n,sortFn:s,ignoreFieldNorm:r}=this.options;let a=ED(A)?ED(this._docs[0])?this._searchStringList(A):this._searchObjectList(A):this._searchLogical(A);return p4t(a,{ignoreFieldNorm:r}),n&&a.sort(s),Wie(e)&&e>-1&&(a=a.slice(0,e)),w4t(a,this._docs,{includeMatches:i,includeScore:o})}_searchStringList(A){const e=GuA(A,this.options),{records:i}=this._myIndex,o=[];return i.forEach(({v:n,i:s,n:r})=>{if(!m0(n))return;const{isMatch:a,score:g,indices:I}=e.searchIn(n);a&&o.push({item:n,idx:s,matches:[{score:g,value:n,norm:r,indices:I}]})}),o}_searchLogical(A){const e=soe(A,this.options),i=(r,a,g)=>{if(!r.children){const{keyId:c,searcher:B}=r,l=this._findMatches({key:this._keyStore.get(c),value:this._myIndex.getValueForItemAtKeyId(a,c),searcher:B});return l&&l.length?[{idx:g,item:a,matches:l}]:[]}const I=[];for(let c=0,B=r.children.length;c<B;c+=1){const l=r.children[c],C=i(l,a,g);if(C.length)I.push(...C);else if(r.operator===OZ.AND)return[]}return I},o=this._myIndex.records,n={},s=[];return o.forEach(({$:r,i:a})=>{if(m0(r)){let g=i(e,r,a);g.length&&(n[a]||(n[a]={idx:a,item:r,matches:[]},s.push(n[a])),g.forEach(({matches:I})=>{n[a].matches.push(...I)}))}}),s}_searchObjectList(A){const e=GuA(A,this.options),{keys:i,records:o}=this._myIndex,n=[];return o.forEach(({$:s,i:r})=>{if(!m0(s))return;let a=[];i.forEach((g,I)=>{a.push(...this._findMatches({key:g,value:s[I],searcher:e}))}),a.length&&n.push({idx:r,item:s,matches:a})}),n}_findMatches({key:A,value:e,searcher:i}){if(!m0(e))return[];let o=[];if(OS(e))e.forEach(({v:n,i:s,n:r})=>{if(!m0(n))return;const{isMatch:a,score:g,indices:I}=i.searchIn(n);a&&o.push({score:g,key:A,value:n,idx:s,norm:r,indices:I})});else{const{v:n,n:s}=e,{isMatch:r,score:a,indices:g}=i.searchIn(n);r&&o.push({score:a,key:A,value:n,norm:s,indices:g})}return o}}Bv.version="7.1.0",Bv.createIndex=$ie,Bv.parseIndex=t4t,Bv.config=Rn,Bv.parseQuery=soe,h4t(E4t);let MuA=null,gY=null,NuA=null;const m4t=async()=>MuA||gY||(gY=fetch("https://kicad-mod-cache.tscircuit.com/kicad_files.json").then(t=>t.json()).then(t=>(MuA=t,gY=null,t)),gY),D4t=async(t,A=20)=>{const e=await m4t();return NuA||(NuA=new Bv(e)),NuA.search(t).slice(0,A).map(i=>i.item)},S4t=t=>{const A=t.replace(".pretty/",":").replace(".kicad_mod",""),e=`kicad:${A}`;return{path:t,qualifiedName:e,description:A}},b4t=()=>{const[t,A]=j.useState([]),[e,i]=j.useState(!1),[o,n]=j.useState(null),[s,r]=j.useState(!1),a=j.useCallback(async I=>{const c=I.trim();if(!c)return[];i(!0),n(null);try{const l=(await D4t(c,20)).map(C=>({source:"kicad",footprint:S4t(C)}));return A(l),l}catch(B){return console.error("Error searching KiCad footprints",B),A([]),n(B instanceof Error?B.message:"Failed to search KiCad footprints"),[]}finally{i(!1),r(!0)}},[]),g=j.useCallback(()=>{A([]),i(!1),n(null),r(!1)},[]);return{results:t,isSearching:e,error:o,hasSearched:s,search:a,reset:g}},x4t={dialog:101},k4t=({onTscircuitPackageSelected:t,onJlcpcbComponentTsxLoaded:A,onKicadStringSelected:e})=>{const i=[];return t&&i.push("tscircuit.com"),A&&i.push("jlcpcb"),e&&i.push("kicad"),i},G4t=({isOpen:t,onClose:A,jlcpcbProxyRequestHeaders:e,onKicadStringSelected:i,onTscircuitPackageSelected:o,onJlcpcbComponentTsxLoaded:n,jlcpcbProxyApiBase:s,tscircuitSessionToken:r})=>{NZ();const a=j.useMemo(()=>k4t({onKicadStringSelected:i,onTscircuitPackageSelected:o,onJlcpcbComponentTsxLoaded:n}),[i,o,n]),g=a.length>0,[I,c]=j.useState(a[0]??"tscircuit.com"),[B,l]=j.useState(""),[C,Q]=j.useState(null),{results:E,isSearching:h,error:u,hasSearched:d,search:f,reset:m}=Yqt({sessionToken:r}),{results:S,isSearching:D,error:x,hasSearched:F,search:k,reset:v}=Tqt(),{results:_,isSearching:H,error:P,hasSearched:J,search:W,reset:Z}=b4t(),{details:AA,isLoading:nA,fetchDetails:gA,reset:tA}=Lqt(),[iA,rA]=j.useState(null),[CA,dA]=j.useState(!1),[SA,xA]=j.useState("pcb"),[JA,lA]=j.useState(null),[RA,uA]=j.useState(!1);j.useEffect(()=>{lA(null)},[C]);const KA=j.useCallback(()=>{m(),v(),Z(),Q(null)},[v,Z,m]);j.useEffect(()=>{t||(KA(),l(""),dA(!1),rA(null),lA(null))},[t,KA]),j.useEffect(()=>{l(""),Q(null),I==="tscircuit.com"?m():I==="jlcpcb"?v():I==="kicad"&&Z()},[I,v,Z,m]);const $A=GA=>{Q(GA),rA(GA),xA("pcb"),dA(!0),tA();const LA=GA.package.org_owner_tscircuit_handle,PA=GA.package.unscoped_name;if(LA&&PA){const ie=PA.split("/").pop()??PA;gA(LA,ie)}},ge=async()=>{B.trim()&&(Q(null),I==="tscircuit.com"?await f(B):I==="jlcpcb"?await k(B):I==="kicad"&&await W(B))},yA=async GA=>{try{if(lA(null),uA(!0),GA.source==="kicad"){if(!i)throw new Error("KiCad handler not provided");await i({result:GA,footprint:GA.footprint.qualifiedName})}else if(GA.source==="jlcpcb"){if(!n)throw new Error("JLCPCB handler not provided");const LA=await Fqt(GA.component.partNumber,{headers:e,apiBase:s});await n({result:GA,tsx:LA})}else if(GA.source==="tscircuit.com"){if(!o)throw new Error("tscircuit package handler not provided");const LA=GA.package.org_owner_tscircuit_handle,PA=GA.package.unscoped_name;if(!LA||!PA)throw new Error("Missing package metadata");const ie=PA.split("/").pop()??PA,mA=`@tsci/${LA}.${ie}`;await o({result:GA,fullPackageName:mA})}return!0}catch(LA){return console.error("Failed to import component",LA),lA(LA instanceof Error?LA.message:"Failed to import component"),!1}finally{uA(!1)}};let qA=[],YA=!1,UA=null,OA=!1;I==="tscircuit.com"?(qA=E,YA=h,UA=u,OA=d):I==="jlcpcb"?(qA=S,YA=D,UA=x,OA=F):I==="kicad"&&(qA=_,YA=H,UA=P,OA=J);const FA=async()=>{if(!C)return;await yA(C)&&(A(),KA(),l(""))},DA=GA=>{GA||A()},TA=GA=>{dA(GA),GA||rA(null)};return O.jsxs(Iv,{open:t,onOpenChange:DA,children:[O.jsxs(ZF,{style:{width:"calc(100vw - 2rem)",zIndex:x4t.dialog},className:"rf-rounded-sm rf-max-h-[90vh] rf-overflow-y-auto rf-overflow-x-hidden rf-flex rf-flex-col",children:[O.jsxs(VF,{children:[O.jsx(jF,{className:"rf-text-lg sm:rf-text-xl",children:"Import Component"}),O.jsx(cv,{className:"rf-text-sm",children:g?"Search for components from available sources.":"Import options are disabled because no handlers were provided."})]}),g?O.jsxs(wiA,{value:I,onValueChange:GA=>c(GA),className:"rf-min-w-0 rf-w-full",children:[O.jsx(z3,{className:"rf-flex rf-w-full rf-gap-2",children:a.map(GA=>O.jsx(Mm,{value:GA,className:"rf-flex-1 rf-text-xs sm:rf-text-sm",children:wuA[GA].label},GA))}),O.jsx(Rqt,{query:B,placeholder:wuA[I].placeholder,isSearching:YA,onQueryChange:l,onSubmit:ge}),O.jsx("div",{className:"no-scrollbar rf-mt-4 rf-flex-1 rf-min-h-[200px] !rf-max-h-[40vh] !rf-overflow-y-auto rf-overflow-x-hidden rf-border rf-rounded-md rf-min-w-0",children:YA?O.jsxs("div",{className:"rf-p-8 rf-text-center rf-text-zinc-500",children:[O.jsx(FS,{className:"rf-h-8 rf-w-8 rf-animate-spin rf-mx-auto rf-mb-2"}),O.jsx("p",{children:"Searching..."})]}):qA.length>0?O.jsx(vqt,{results:qA,selected:C,onSelect:Q,onShowDetails:I==="tscircuit.com"?$A:void 0}):O.jsx("div",{className:"rf-p-8 rf-text-center rf-text-zinc-500",children:UA?`Error: ${UA}`:OA?wuA[I].emptyMessage:"Enter a search term to find components"})})]}):null,JA?O.jsx("div",{className:"rf-text-sm rf-text-red-600 rf-mt-2",children:JA}):null,O.jsxs(aY,{className:"rf-flex rf-flex-col sm:rf-flex-row rf-gap-2",children:[O.jsx(Sa,{variant:"outline",onClick:A,className:"rf-order-2 sm:rf-order-1",children:"Cancel"}),O.jsx(Sa,{onClick:FA,disabled:!C||RA,className:"rf-order-1 sm:rf-order-2",children:RA?O.jsx(FS,{className:"rf-h-4 rf-w-4 rf-animate-spin"}):"Import"})]})]}),O.jsx(Uqt,{packageResult:iA,isOpen:CA,onOpenChange:TA,isLoading:nA,details:AA,previewTab:SA,onPreviewTabChange:GA=>xA(GA),isSubmitting:RA,onImport:()=>{iA&&yA(iA).then(GA=>{GA&&(dA(!1),A(),KA(),l(""))})}})]})},F4t=t=>{const A=t.match(/export const (\w+) =/);if(!A)throw new Error("Could not determine component name from TSX contents");return A[1]},roe=t=>{const A=Yc(s=>s.pushEvent),e=Yc(s=>s.upsertFile),i=async({result:s,fullPackageName:r})=>{const g=s.package.unscoped_name??s.package.name;await Bs.promise(A({event_type:"INSTALL_PACKAGE",full_package_name:r}),{loading:`Requesting install for "${g}"`,success:`Install requested for "${g}"`,error:I=>`Failed to request install: ${I instanceof Error?I.message:String(I)}`})},o=async({footprint:s})=>{await Bs.promise(navigator.clipboard.writeText(s),{loading:`Copying "${s}"`,success:`Copied "${s}" to clipboard`,error:r=>`Failed to copy footprint: ${r instanceof Error?r.message:String(r)}`})},n=async({result:s,tsx:r})=>{const g=`imports/${F4t(r)}.tsx`;await Bs.promise(e(g,r),{loading:`Importing ${s.component.partNumber}`,success:`Imported to "${g}"`,error:I=>`Failed to import component: ${I instanceof Error?I.message:String(I)}`})};return O.jsx(G4t,{...t,onTscircuitPackageSelected:i,onKicadStringSelected:o,onJlcpcbComponentTsxLoaded:n})};roe.displayName="ImportComponentDialogForCli";var _uA={exports:{}},aoe;function R4t(){return aoe||(aoe=1,(function(t,A){var e={env:{},version:""};(function(i){t.exports=i()})(function(){return(function i(o,n,s){function r(I,c){if(!n[I]){if(!o[I]){var B=typeof Lb=="function"&&Lb;if(!c&&B)return B(I,!0);if(a)return a(I,!0);var l=new Error("Cannot find module '"+I+"'");throw l.code="MODULE_NOT_FOUND",l}var C=n[I]={exports:{}};o[I][0].call(C.exports,function(Q){var E=o[I][1][Q];return r(E||Q)},C,C.exports,i,o,n,s)}return n[I].exports}for(var a=typeof Lb=="function"&&Lb,g=0;g<s.length;g++)r(s[g]);return r})({1:[function(i,o,n){var s=i("./utils"),r=i("./support"),a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";n.encode=function(g){for(var I,c,B,l,C,Q,E,h=[],u=0,d=g.length,f=d,m=s.getTypeOf(g)!=="string";u<g.length;)f=d-u,B=m?(I=g[u++],c=u<d?g[u++]:0,u<d?g[u++]:0):(I=g.charCodeAt(u++),c=u<d?g.charCodeAt(u++):0,u<d?g.charCodeAt(u++):0),l=I>>2,C=(3&I)<<4|c>>4,Q=1<f?(15&c)<<2|B>>6:64,E=2<f?63&B:64,h.push(a.charAt(l)+a.charAt(C)+a.charAt(Q)+a.charAt(E));return h.join("")},n.decode=function(g){var I,c,B,l,C,Q,E=0,h=0,u="data:";if(g.substr(0,u.length)===u)throw new Error("Invalid base64 input, it looks like a data url.");var d,f=3*(g=g.replace(/[^A-Za-z0-9+/=]/g,"")).length/4;if(g.charAt(g.length-1)===a.charAt(64)&&f--,g.charAt(g.length-2)===a.charAt(64)&&f--,f%1!=0)throw new Error("Invalid base64 input, bad content length.");for(d=r.uint8array?new Uint8Array(0|f):new Array(0|f);E<g.length;)I=a.indexOf(g.charAt(E++))<<2|(l=a.indexOf(g.charAt(E++)))>>4,c=(15&l)<<4|(C=a.indexOf(g.charAt(E++)))>>2,B=(3&C)<<6|(Q=a.indexOf(g.charAt(E++))),d[h++]=I,C!==64&&(d[h++]=c),Q!==64&&(d[h++]=B);return d}},{"./support":30,"./utils":32}],2:[function(i,o,n){var s=i("./external"),r=i("./stream/DataWorker"),a=i("./stream/Crc32Probe"),g=i("./stream/DataLengthProbe");function I(c,B,l,C,Q){this.compressedSize=c,this.uncompressedSize=B,this.crc32=l,this.compression=C,this.compressedContent=Q}I.prototype={getContentWorker:function(){var c=new r(s.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new g("data_length")),B=this;return c.on("end",function(){if(this.streamInfo.data_length!==B.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),c},getCompressedWorker:function(){return new r(s.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},I.createWorkerFrom=function(c,B,l){return c.pipe(new a).pipe(new g("uncompressedSize")).pipe(B.compressWorker(l)).pipe(new g("compressedSize")).withStreamInfo("compression",B)},o.exports=I},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(i,o,n){var s=i("./stream/GenericWorker");n.STORE={magic:"\0\0",compressWorker:function(){return new s("STORE compression")},uncompressWorker:function(){return new s("STORE decompression")}},n.DEFLATE=i("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(i,o,n){var s=i("./utils"),r=(function(){for(var a,g=[],I=0;I<256;I++){a=I;for(var c=0;c<8;c++)a=1&a?3988292384^a>>>1:a>>>1;g[I]=a}return g})();o.exports=function(a,g){return a!==void 0&&a.length?s.getTypeOf(a)!=="string"?(function(I,c,B,l){var C=r,Q=l+B;I^=-1;for(var E=l;E<Q;E++)I=I>>>8^C[255&(I^c[E])];return-1^I})(0|g,a,a.length,0):(function(I,c,B,l){var C=r,Q=l+B;I^=-1;for(var E=l;E<Q;E++)I=I>>>8^C[255&(I^c.charCodeAt(E))];return-1^I})(0|g,a,a.length,0):0}},{"./utils":32}],5:[function(i,o,n){n.base64=!1,n.binary=!1,n.dir=!1,n.createFolders=!0,n.date=null,n.compression=null,n.compressionOptions=null,n.comment=null,n.unixPermissions=null,n.dosPermissions=null},{}],6:[function(i,o,n){var s=null;s=typeof Promise<"u"?Promise:i("lie"),o.exports={Promise:s}},{lie:37}],7:[function(i,o,n){var s=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Uint32Array<"u",r=i("pako"),a=i("./utils"),g=i("./stream/GenericWorker"),I=s?"uint8array":"array";function c(B,l){g.call(this,"FlateWorker/"+B),this._pako=null,this._pakoAction=B,this._pakoOptions=l,this.meta={}}n.magic="\b\0",a.inherits(c,g),c.prototype.processChunk=function(B){this.meta=B.meta,this._pako===null&&this._createPako(),this._pako.push(a.transformTo(I,B.data),!1)},c.prototype.flush=function(){g.prototype.flush.call(this),this._pako===null&&this._createPako(),this._pako.push([],!0)},c.prototype.cleanUp=function(){g.prototype.cleanUp.call(this),this._pako=null},c.prototype._createPako=function(){this._pako=new r[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var B=this;this._pako.onData=function(l){B.push({data:l,meta:B.meta})}},n.compressWorker=function(B){return new c("Deflate",B)},n.uncompressWorker=function(){return new c("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(i,o,n){function s(C,Q){var E,h="";for(E=0;E<Q;E++)h+=String.fromCharCode(255&C),C>>>=8;return h}function r(C,Q,E,h,u,d){var f,m,S=C.file,D=C.compression,x=d!==I.utf8encode,F=a.transformTo("string",d(S.name)),k=a.transformTo("string",I.utf8encode(S.name)),v=S.comment,_=a.transformTo("string",d(v)),H=a.transformTo("string",I.utf8encode(v)),P=k.length!==S.name.length,J=H.length!==v.length,W="",Z="",AA="",nA=S.dir,gA=S.date,tA={crc32:0,compressedSize:0,uncompressedSize:0};Q&&!E||(tA.crc32=C.crc32,tA.compressedSize=C.compressedSize,tA.uncompressedSize=C.uncompressedSize);var iA=0;Q&&(iA|=8),x||!P&&!J||(iA|=2048);var rA=0,CA=0;nA&&(rA|=16),u==="UNIX"?(CA=798,rA|=(function(SA,xA){var JA=SA;return SA||(JA=xA?16893:33204),(65535&JA)<<16})(S.unixPermissions,nA)):(CA=20,rA|=(function(SA){return 63&(SA||0)})(S.dosPermissions)),f=gA.getUTCHours(),f<<=6,f|=gA.getUTCMinutes(),f<<=5,f|=gA.getUTCSeconds()/2,m=gA.getUTCFullYear()-1980,m<<=4,m|=gA.getUTCMonth()+1,m<<=5,m|=gA.getUTCDate(),P&&(Z=s(1,1)+s(c(F),4)+k,W+="up"+s(Z.length,2)+Z),J&&(AA=s(1,1)+s(c(_),4)+H,W+="uc"+s(AA.length,2)+AA);var dA="";return dA+=`
|
|
5630
|
+
For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;return j.useEffect(()=>{document.getElementById(t.current?.getAttribute("aria-describedby"))||console.warn(A)},[A,t]),null},hqt=die,uqt=pie,Gie=fie,Fie=yie,Rie=bie,Mie=kie,Nie=mie,_ie=Sie;const vie=hqt,dqt=uqt,Uie=j.forwardRef(({className:t,...A},e)=>O.jsx(Gie,{className:no("rf-fixed rf-inset-0 rf-z-50 rf-bg-black/80 data-[state=open]:rf-animate-in data-[state=closed]:rf-animate-out data-[state=closed]:rf-fade-out-0 data-[state=open]:rf-fade-in-0",t),...A,ref:e}));Uie.displayName=Gie.displayName;const CuA=j.forwardRef(({className:t,...A},e)=>O.jsxs(dqt,{children:[O.jsx(Uie,{}),O.jsx(Fie,{ref:e,className:no("rf-fixed rf-left-[50%] rf-top-[50%] rf-z-50 rf-grid rf-w-full rf-max-w-lg rf-translate-x-[-50%] rf-translate-y-[-50%] rf-gap-4 rf-border rf-border-zinc-200 rf-bg-white rf-p-6 rf-shadow-lg rf-duration-200 data-[state=open]:rf-animate-in data-[state=closed]:rf-animate-out data-[state=closed]:rf-fade-out-0 data-[state=open]:rf-fade-in-0 data-[state=closed]:rf-zoom-out-95 data-[state=open]:rf-zoom-in-95 data-[state=closed]:rf-slide-out-to-left-1/2 data-[state=closed]:rf-slide-out-to-top-[48%] data-[state=open]:rf-slide-in-from-left-1/2 data-[state=open]:rf-slide-in-from-top-[48%] sm:rf-rounded-lg dark:rf-border-zinc-800 dark:rf-bg-zinc-950",t),...A})]}));CuA.displayName=Fie.displayName;const QuA=({className:t,...A})=>O.jsx("div",{className:no("rf-flex rf-flex-col rf-space-y-2 rf-text-center sm:rf-text-left",t),...A});QuA.displayName="AlertDialogHeader";const EuA=({className:t,...A})=>O.jsx("div",{className:no("rf-flex rf-flex-col-reverse sm:rf-flex-row sm:rf-justify-end sm:rf-space-x-2",t),...A});EuA.displayName="AlertDialogFooter";const huA=j.forwardRef(({className:t,...A},e)=>O.jsx(Nie,{ref:e,className:no("rf-text-lg rf-font-semibold",t),...A}));huA.displayName=Nie.displayName;const uuA=j.forwardRef(({className:t,...A},e)=>O.jsx(_ie,{ref:e,className:no("rf-text-sm rf-text-zinc-500 dark:rf-text-zinc-400",t),...A}));uuA.displayName=_ie.displayName;const pqt=j.forwardRef(({className:t,...A},e)=>O.jsx(Rie,{ref:e,className:no(N_(),t),...A}));pqt.displayName=Rie.displayName;const duA=j.forwardRef(({className:t,...A},e)=>O.jsx(Mie,{ref:e,className:no(N_({variant:"outline"}),"rf-mt-2 sm:rf-mt-0",t),...A}));duA.displayName=Mie.displayName;function fqt(t){const A=j.useRef({value:t,previous:t});return j.useMemo(()=>(A.current.value!==t&&(A.current.previous=A.current.value,A.current.value=t),A.current.previous),[t])}var KZ="Checkbox",[yqt]=hw(KZ),[wqt,puA]=yqt(KZ);function mqt(t){const{__scopeCheckbox:A,checked:e,children:i,defaultChecked:o,disabled:n,form:s,name:r,onCheckedChange:a,required:g,value:I="on",internal_do_not_use_render:c}=t,[B,l]=ox({prop:e,defaultProp:o??!1,onChange:a,caller:KZ}),[C,Q]=j.useState(null),[E,h]=j.useState(null),u=j.useRef(!1),d=C?!!s||!!C.closest("form"):!0,f={checked:B,disabled:n,setChecked:l,control:C,setControl:Q,name:r,form:s,value:I,hasConsumerStoppedPropagationRef:u,required:g,defaultChecked:hk(o)?!1:o,isFormControl:d,bubbleInput:E,setBubbleInput:h};return O.jsx(wqt,{scope:A,...f,children:Dqt(c)?c(f):i})}var Lie="CheckboxTrigger",Hie=j.forwardRef(({__scopeCheckbox:t,onKeyDown:A,onClick:e,...i},o)=>{const{control:n,value:s,disabled:r,checked:a,required:g,setControl:I,setChecked:c,hasConsumerStoppedPropagationRef:B,isFormControl:l,bubbleInput:C}=puA(Lie,t),Q=Bc(o,I),E=j.useRef(a);return j.useEffect(()=>{const h=n?.form;if(h){const u=()=>c(E.current);return h.addEventListener("reset",u),()=>h.removeEventListener("reset",u)}},[n,c]),O.jsx(Ha.button,{type:"button",role:"checkbox","aria-checked":hk(a)?"mixed":a,"aria-required":g,"data-state":qie(a),"data-disabled":r?"":void 0,disabled:r,value:s,...i,ref:Q,onKeyDown:vo(A,h=>{h.key==="Enter"&&h.preventDefault()}),onClick:vo(e,h=>{c(u=>hk(u)?!0:!u),C&&l&&(B.current=h.isPropagationStopped(),B.current||h.stopPropagation())})})});Hie.displayName=Lie;var fuA=j.forwardRef((t,A)=>{const{__scopeCheckbox:e,name:i,checked:o,defaultChecked:n,required:s,disabled:r,value:a,onCheckedChange:g,form:I,...c}=t;return O.jsx(mqt,{__scopeCheckbox:e,checked:o,defaultChecked:n,disabled:r,required:s,onCheckedChange:g,name:i,form:I,value:a,internal_do_not_use_render:({isFormControl:B})=>O.jsxs(O.Fragment,{children:[O.jsx(Hie,{...c,ref:A,__scopeCheckbox:e}),B&&O.jsx(Kie,{__scopeCheckbox:e})]})})});fuA.displayName=KZ;var Yie="CheckboxIndicator",Jie=j.forwardRef((t,A)=>{const{__scopeCheckbox:e,forceMount:i,...o}=t,n=puA(Yie,e);return O.jsx(n0,{present:i||hk(n.checked)||n.checked===!0,children:O.jsx(Ha.span,{"data-state":qie(n.checked),"data-disabled":n.disabled?"":void 0,...o,ref:A,style:{pointerEvents:"none",...t.style}})})});Jie.displayName=Yie;var Tie="CheckboxBubbleInput",Kie=j.forwardRef(({__scopeCheckbox:t,...A},e)=>{const{control:i,hasConsumerStoppedPropagationRef:o,checked:n,defaultChecked:s,required:r,disabled:a,name:g,value:I,form:c,bubbleInput:B,setBubbleInput:l}=puA(Tie,t),C=Bc(e,l),Q=fqt(n),E=ZXA(i);j.useEffect(()=>{const u=B;if(!u)return;const d=window.HTMLInputElement.prototype,m=Object.getOwnPropertyDescriptor(d,"checked").set,S=!o.current;if(Q!==n&&m){const D=new Event("click",{bubbles:S});u.indeterminate=hk(n),m.call(u,hk(n)?!1:n),u.dispatchEvent(D)}},[B,Q,n,o]);const h=j.useRef(hk(n)?!1:n);return O.jsx(Ha.input,{type:"checkbox","aria-hidden":!0,defaultChecked:s??h.current,required:r,disabled:a,name:g,value:I,form:c,...A,tabIndex:-1,ref:C,style:{...A.style,...E,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});Kie.displayName=Tie;function Dqt(t){return typeof t=="function"}function hk(t){return t==="indeterminate"}function qie(t){return hk(t)?"indeterminate":t?"checked":"unchecked"}const yuA=j.forwardRef(({className:t,...A},e)=>O.jsx(fuA,{ref:e,className:no("rf-peer rf-h-4 rf-w-4 rf-shrink-0 rf-rounded-sm rf-border rf-border-zinc-200 rf-border-zinc-900 rf-shadow focus-visible:rf-outline-none focus-visible:rf-ring-1 focus-visible:rf-ring-zinc-950 disabled:rf-cursor-not-allowed disabled:rf-opacity-50 data-[state=checked]:rf-bg-zinc-900 data-[state=checked]:rf-text-zinc-50 dark:rf-border-zinc-800 dark:rf-border-zinc-50 dark:focus-visible:rf-ring-zinc-300 dark:data-[state=checked]:rf-bg-zinc-50 dark:data-[state=checked]:rf-text-zinc-900",t),...A,children:O.jsx(Jie,{className:no("rf-flex rf-items-center rf-justify-center rf-text-current"),children:O.jsx(mF,{className:"rf-h-4 rf-w-4"})})}));yuA.displayName=fuA.displayName;const Iv=IuA,Sqt=cuA,Pie=j.forwardRef(({className:t,...A},e)=>O.jsx(JZ,{className:no("rf-fixed rf-inset-0 rf-z-50 rf-bg-black/80 data-[state=open]:rf-animate-in data-[state=closed]:rf-animate-out data-[state=closed]:rf-fade-out-0 data-[state=open]:rf-fade-in-0",t),...A,ref:e}));Pie.displayName=JZ.displayName;const ZF=j.forwardRef(({className:t,children:A,showOverlay:e=!0,...i},o)=>O.jsxs(Sqt,{children:[O.jsx(Pie,{className:no(e?"":"rf-hidden")}),O.jsx(TZ,{ref:o,className:no("rf-fixed rf-left-[50%] rf-top-[50%] rf-z-50 rf-grid rf-w-full rf-max-w-lg rf-translate-x-[-50%] rf-translate-y-[-50%] rf-gap-4 rf-border rf-border-zinc-200 rf-bg-white rf-p-6 rf-shadow-lg rf-duration-200 data-[state=open]:rf-animate-in data-[state=closed]:rf-animate-out data-[state=closed]:rf-fade-out-0 data-[state=open]:rf-fade-in-0 data-[state=closed]:rf-zoom-out-95 data-[state=open]:rf-zoom-in-95 data-[state=closed]:rf-slide-out-to-left-1/2 data-[state=closed]:rf-slide-out-to-top-[48%] data-[state=open]:rf-slide-in-from-left-1/2 data-[state=open]:rf-slide-in-from-top-[48%] sm:rf-rounded-lg dark:rf-border-zinc-800 dark:rf-bg-zinc-950",t),...i,children:A})]}));ZF.displayName=TZ.displayName;const VF=({className:t,...A})=>O.jsx("div",{className:no("rf-flex rf-flex-col rf-space-y-2 rf-text-center sm:rf-text-left",t),...A});VF.displayName="DialogHeader";const aY=({className:t,...A})=>O.jsx("div",{className:no("rf-flex rf-flex-col-reverse sm:rf-flex-row sm:rf-justify-end sm:rf-space-x-2",t),...A});aY.displayName="DialogFooter";const jF=j.forwardRef(({className:t,...A},e)=>O.jsx(BuA,{ref:e,className:no("rf-text-lg rf-font-semibold",t),...A}));jF.displayName=BuA.displayName;const cv=j.forwardRef(({className:t,...A},e)=>O.jsx(luA,{ref:e,className:no("rf-text-sm rf-text-zinc-500 dark:rf-text-zinc-400",t),...A}));cv.displayName=luA.displayName;const wuA={"tscircuit.com":{label:"tscircuit.com",placeholder:"Search tscircuit packages...",emptyMessage:"No packages found"},jlcpcb:{label:"JLCPCB Parts",placeholder:"Search JLCPCB parts (e.g. C14663)...",emptyMessage:"No parts found"},kicad:{label:"KiCad Footprints",placeholder:"Search KiCad footprints...",emptyMessage:"No footprints found"}},bqt="https://cdn.jsdelivr.net/npm/easyeda@latest/dist/browser/index.js";let muA=null;const xqt=async()=>(muA||(muA=import(bqt)),muA),kqt=async(t,A=10)=>{const e=encodeURIComponent(t),i=await fetch(`https://jlcsearch.tscircuit.com/api/search?limit=${A}&q=${e}`);if(!i.ok)throw new Error(`JLCPCB API error: ${i.status}`);return(await i.json()).components??[]},Gqt=t=>({lcscId:t.lcsc,manufacturer:t.mfr,description:t.description,partNumber:`C${t.lcsc}`,package:t.package,price:t.price,stock:t.stock,isBasic:t.is_basic}),Fqt=async(t,A)=>{const{fetchEasyEDAComponent:e,convertRawEasyToTsx:i}=await xqt(),o=await e(t,{fetch:(n,s)=>fetch(`${A?.apiBase??Zp}/proxy`,{...s,headers:{...s?.headers,"X-Target-Url":n.toString(),"X-Sender-Origin":s?.headers?.origin??"","X-Sender-Host":s?.headers?.host??"https://easyeda.com","X-Sender-Referer":s?.headers?.referer??"","X-Sender-User-Agent":s?.headers?.userAgent??"","X-Sender-Cookie":s?.headers?.cookie??"",authority:s?.headers?.authority??"","content-type":s?.headers?.["content-type"]??"",...A?.headers}})});return i(o)},Rqt=({query:t,placeholder:A,isSearching:e,onQueryChange:i,onSubmit:o})=>{const n=j.useCallback(s=>{s.key==="Enter"&&(s.preventDefault(),o())},[o]);return O.jsxs("div",{className:"rf-flex rf-items-center rf-gap-2 rf-mt-4",children:[O.jsxs("div",{className:"rf-relative rf-flex-grow",children:[O.jsx(GQA,{className:"rf-absolute rf-left-2 rf-top-2.5 rf-h-4 rf-w-4 rf-text-muted-foreground"}),O.jsx(lhA,{placeholder:A,className:"rf-pl-8",spellCheck:!1,autoComplete:"off",value:t,onChange:s=>i(s.target.value),onKeyDown:n})]}),O.jsx(Sa,{onClick:o,disabled:e||t.trim().length<1,className:"sm:rf-px-4 rf-px-3",children:e?O.jsx(FS,{className:"rf-h-4 rf-w-4 rf-animate-spin"}):O.jsxs(O.Fragment,{children:[O.jsx(GQA,{className:"rf-h-4 rf-w-4 sm:rf-hidden"}),O.jsx("span",{className:"rf-hidden sm:rf-inline",children:"Search"})]})})]})},Oie=t=>{switch(t.source){case"tscircuit.com":{const A=t.package;return`tscircuit-${A.package_id??`${A.org_owner_tscircuit_handle??"unknown"}-${A.unscoped_name??A.name??"package"}`}`}case"jlcpcb":return`jlc-${t.component.lcscId}`;case"kicad":return`kicad-${t.footprint.path}`;default:return"unknown"}},Mqt=t=>{switch(t.source){case"tscircuit.com":return t.package.unscoped_name;case"jlcpcb":return t.component.manufacturer;case"kicad":return t.footprint.qualifiedName}},Nqt=t=>{switch(t.source){case"tscircuit.com":return t.package.description||(t.package.org_owner_tscircuit_handle?`Component by ${t.package.org_owner_tscircuit_handle}`:void 0);case"jlcpcb":return t.component.description;case"kicad":return t.footprint.description}},_qt=t=>{switch(t.source){case"tscircuit.com":return t.package.name;case"jlcpcb":return t.component.partNumber;case"kicad":return}},vqt=({results:t,selected:A,onSelect:e,onShowDetails:i})=>{const o=A?Oie(A):null;return O.jsx("div",{className:"rf-divide-y rf-w-full rf-overflow-hidden",children:t.map(n=>{const s=Oie(n),r=o===s,a=Mqt(n),g=Nqt(n),I=_qt(n),c=n.source==="jlcpcb"?n.component.stock:null,B=n.source==="jlcpcb"?n.component.isBasic:null;return O.jsxs("div",{className:`rf-p-3 rf-flex rf-flex-col sm:rf-grid sm:rf-grid-cols-[minmax(0,1fr)_auto] rf-items-start sm:rf-items-center rf-cursor-pointer hover:rf-bg-zinc-100 rf-gap-2 rf-overflow-hidden ${r?"rf-bg-zinc-100":""}`,onClick:()=>e(n),children:[O.jsxs("div",{className:"rf-min-w-0 rf-overflow-hidden rf-w-full",children:[O.jsxs("div",{className:"rf-flex rf-items-start rf-gap-2 rf-min-w-0",children:[O.jsxs("div",{className:"rf-font-medium rf-text-sm rf-truncate rf-flex-1 rf-min-w-0 rf-flex rf-items-center rf-gap-1.5",children:[a,n.source==="jlcpcb"&&B!=null&&O.jsx("span",{className:`rf-text-xs rf-px-1.5 rf-py-0.5 rf-rounded rf-font-medium rf-flex-shrink-0 ${B?"rf-bg-green-100 rf-text-green-700":"rf-bg-orange-100 rf-text-orange-700"}`,children:B?"Basic":"Extended"}),n.source==="tscircuit.com"&&n.package.is_private&&O.jsx(XSt,{className:"rf-ml-1 rf-h-3 rf-w-3 rf-text-zinc-400 rf-flex-shrink-0"})]}),n.source==="jlcpcb"&&c!=null?O.jsxs("div",{className:"rf-text-xs rf-text-zinc-500 rf-font-medium rf-whitespace-nowrap rf-flex-shrink-0 sm:rf-hidden",children:[c.toLocaleString()," in stock"]}):null]}),O.jsxs("div",{className:"rf-text-xs rf-text-zinc-500 rf-truncate rf-w-full",children:[I?O.jsx("span",{className:"rf-mr-2",children:I}):null,g]})]}),n.source==="tscircuit.com"&&i?O.jsx("div",{className:"rf-flex-shrink-0 rf-w-full sm:rf-w-auto",children:O.jsx(Sa,{variant:"outline",size:"sm",className:"rf-text-xs rf-w-full sm:rf-w-auto",onClick:l=>{l.stopPropagation(),i(n)},children:"See Details"})}):n.source==="jlcpcb"&&c!=null?O.jsxs("div",{className:"rf-hidden sm:rf-block rf-text-xs rf-text-zinc-500 rf-font-medium rf-whitespace-nowrap rf-flex-shrink-0",children:[c.toLocaleString()," in stock"]}):null]},s)})})},Uqt=({packageResult:t,isOpen:A,onOpenChange:e,isLoading:i,details:o,previewTab:n,onPreviewTabChange:s,isSubmitting:r,onImport:a})=>{const g=t?.package??null,I=g?.latest_pcb_preview_image_url,c=g?.latest_sch_preview_image_url,B=g?.latest_cad_preview_image_url,l=g?.unscoped_name?.split("/").pop()??g?.unscoped_name,C=g?.org_owner_tscircuit_handle??void 0,Q=C?`https://tscircuit.com/${C}`:void 0,E=C&&l?`https://tscircuit.com/${C}/${l}`:void 0;return O.jsx(Iv,{open:A,onOpenChange:e,children:O.jsxs(ZF,{showOverlay:!1,style:{width:"calc(100vw - 2rem)"},className:"rf-max-w-5xl no-scrollbar !rf-overflow-y-auto rf-max-h-[90vh] rf-overflow-hidden rf-flex rf-flex-col rf-rounded-sm",children:[O.jsx(VF,{className:"rf-pb-4 rf-border-b",children:O.jsx("div",{className:"rf-flex rf-items-start rf-justify-between rf-gap-4",children:O.jsxs("div",{className:"rf-flex-1 rf-min-w-0",children:[O.jsx(jF,{className:"rf-text-xl rf-font-semibold rf-truncate",children:l}),O.jsx(cv,{children:g?.description})]})})}),O.jsxs("div",{className:"rf-flex-1 rf-overflow-y-auto rf-py-4 rf-space-y-6",children:[C?O.jsxs("div",{children:[O.jsx("span",{className:"rf-text-xs rf-font-medium rf-text-gray-500 rf-uppercase rf-tracking-wide",children:"Created by"}),O.jsx("div",{className:"rf-mt-1 rf-text-sm rf-font-medium",children:Q?O.jsx("a",{href:Q,target:"_blank",rel:"noopener noreferrer",className:"rf-text-black hover:rf-underline",children:C}):C})]}):null,(B||I||c)&&O.jsx(O.Fragment,{children:O.jsxs("div",{children:[O.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-mb-4",children:"Preview"}),O.jsxs(wiA,{value:n,onValueChange:h=>s(h),children:[O.jsxs(z3,{className:"rf-inline-flex rf-h-9 rf-items-center rf-justify-center rf-rounded-lg rf-bg-zinc-100 rf-p-1 rf-text-zinc-500 dark:rf-bg-zinc-800 dark:rf-text-zinc-400",children:[I&&O.jsx(Mm,{value:"pcb",children:"PCB"}),c&&O.jsx(Mm,{value:"schematic",children:"Schematic"}),B&&O.jsx(Mm,{value:"3d",children:"3D"})]}),O.jsxs("div",{className:"rf-mt-4",children:[O.jsx(Su,{value:"pcb",className:"rf-border rf-rounded-lg rf-overflow-hidden rf-bg-gray-50",children:I?O.jsx("img",{src:I,alt:`${l??"package"} PCB preview`,className:"rf-w-full rf-h-full rf-object-contain rf-bg-white rf-p-4"}):null}),O.jsx(Su,{value:"schematic",className:"rf-border rf-rounded-lg rf-overflow-hidden rf-bg-gray-50",children:c?O.jsx("img",{src:c,alt:`${l??"package"} schematic preview`,className:"rf-w-full rf-h-full rf-object-contain rf-bg-white rf-p-4"}):null}),O.jsx(Su,{value:"3d",className:"rf-border rf-rounded-lg rf-overflow-hidden rf-bg-gray-50",children:B?O.jsx("img",{src:B,alt:`${l??"package"} 3D preview`,className:"rf-w-full rf-h-full rf-object-contain rf-bg-white rf-p-4"}):null})]})]})]})}),o?.ai_description?O.jsxs("section",{children:[O.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-mb-3",children:"AI Description"}),O.jsx("div",{className:"rf-bg-gray-50 rf-border rf-border-gray-200 rf-rounded-lg rf-p-4",children:O.jsx("p",{className:"rf-text-sm rf-text-gray-700 rf-leading-relaxed",children:o.ai_description})})]}):null,o?.ai_usage_instructions?O.jsxs("section",{children:[O.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-mb-3",children:"Usage Instructions"}),O.jsx("div",{className:"rf-bg-gray-50 rf-border rf-border-gray-200 rf-rounded-lg rf-p-4",children:O.jsx("p",{className:"rf-text-sm rf-text-gray-700 rf-leading-relaxed rf-whitespace-pre-wrap",children:o.ai_usage_instructions})})]}):null,i?O.jsxs("div",{className:"rf-flex rf-justify-center rf-items-center rf-gap-2 rf-text-gray-500",children:[O.jsx(FS,{className:"rf-h-4 rf-w-4 rf-animate-spin"}),O.jsx("span",{className:"rf-text-sm",children:"Loading package details..."})]}):null]}),O.jsxs(aY,{className:"rf-pt-4 rf-border-t rf-flex rf-flex-col sm:rf-flex-row rf-justify-between rf-gap-2",children:[O.jsx("div",{className:"rf-flex-1",children:E?O.jsxs(Sa,{variant:"outline",size:"sm",className:"rf-gap-2 rf-w-full sm:rf-w-auto",onClick:()=>window.open(E,"_blank"),children:[O.jsx(PSt,{className:"rf-h-4 rf-w-4"}),"View on tscircuit.com"]}):null}),O.jsxs("div",{className:"rf-flex rf-flex-col sm:rf-flex-row rf-gap-2",children:[O.jsx(Sa,{variant:"outline",onClick:()=>e(!1),className:"rf-order-2 sm:rf-order-1",children:"Close"}),O.jsx(Sa,{onClick:a,disabled:r,className:"rf-bg-blue-600 hover:rf-bg-blue-700",children:r?O.jsx(FS,{className:"rf-h-4 rf-w-4 rf-animate-spin"}):"Import Component"})]})]})]})})},Lqt=()=>{const[t,A]=j.useState(null),[e,i]=j.useState(!1),o=j.useCallback(async(s,r)=>{i(!0);try{const a=await fetch(`https://api.tscircuit.com/packages/get?name=${encodeURIComponent(`${s}/${r}`)}`);if(!a.ok)throw new Error(`Failed to load package details: ${a.status}`);const g=await a.json();A(g.package??null)}catch(a){console.error("Failed to fetch package details",a),A(null)}finally{i(!1)}},[]),n=j.useCallback(()=>{A(null),i(!1)},[]);return{details:t,isLoading:e,fetchDetails:o,reset:n}},Hqt=async(t,A)=>{const e={"Content-Type":"application/json"};A&&(e.Authorization=`Bearer ${A}`);const i=await fetch("https://registry-api.tscircuit.com/packages/search",{method:"POST",headers:e,body:JSON.stringify({query:t})});if(!i.ok)throw new Error(`tscircuit registry error: ${i.status}`);return(await i.json()).packages??[]},Yqt=({sessionToken:t})=>{const[A,e]=j.useState([]),[i,o]=j.useState(!1),[n,s]=j.useState(null),[r,a]=j.useState(!1),g=j.useCallback(async c=>{const B=c.trim();if(!B)return[];o(!0),s(null);try{const C=(await Hqt(B,t)).map(Q=>({source:"tscircuit.com",package:Q}));return e(C),C}catch(l){return console.error("Error searching tscircuit packages",l),e([]),s(l instanceof Error?l.message:"Failed to search tscircuit packages"),[]}finally{o(!1),a(!0)}},[t]),I=j.useCallback(()=>{e([]),o(!1),s(null),a(!1)},[]);return{results:A,isSearching:i,error:n,hasSearched:r,search:g,reset:I}},Jqt=t=>{const A=t.trim();return/^C\d+/i.test(A)?A.replace(/^C/i,""):A},Tqt=()=>{const[t,A]=j.useState([]),[e,i]=j.useState(!1),[o,n]=j.useState(null),[s,r]=j.useState(!1),a=j.useCallback(async I=>{const c=Jqt(I);if(!c)return[];i(!0),n(null);try{const l=(await kqt(c,10)).map(C=>({source:"jlcpcb",component:Gqt(C)}));return A(l),l}catch(B){return console.error("Error searching JLCPCB components",B),A([]),n(B instanceof Error?B.message:"Failed to search JLCPCB components"),[]}finally{i(!1),r(!0)}},[]),g=j.useCallback(()=>{A([]),i(!1),n(null),r(!1)},[]);return{results:t,isSearching:e,error:o,hasSearched:s,search:a,reset:g}};function OS(t){return Array.isArray?Array.isArray(t):Vie(t)==="[object Array]"}function Kqt(t){if(typeof t=="string")return t;let A=t+"";return A=="0"&&1/t==-1/0?"-0":A}function qqt(t){return t==null?"":Kqt(t)}function ED(t){return typeof t=="string"}function Wie(t){return typeof t=="number"}function Pqt(t){return t===!0||t===!1||Oqt(t)&&Vie(t)=="[object Boolean]"}function Zie(t){return typeof t=="object"}function Oqt(t){return Zie(t)&&t!==null}function m0(t){return t!=null}function DuA(t){return!t.trim().length}function Vie(t){return t==null?t===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(t)}const Wqt="Incorrect 'index' type",Zqt=t=>`Invalid value for key ${t}`,Vqt=t=>`Pattern length exceeds max of ${t}.`,jqt=t=>`Missing ${t} property in key`,zqt=t=>`Property 'weight' in key '${t}' must be a positive integer`,jie=Object.prototype.hasOwnProperty;class Xqt{constructor(A){this._keys=[],this._keyMap={};let e=0;A.forEach(i=>{let o=zie(i);this._keys.push(o),this._keyMap[o.id]=o,e+=o.weight}),this._keys.forEach(i=>{i.weight/=e})}get(A){return this._keyMap[A]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function zie(t){let A=null,e=null,i=null,o=1,n=null;if(ED(t)||OS(t))i=t,A=Xie(t),e=SuA(t);else{if(!jie.call(t,"name"))throw new Error(jqt("name"));const s=t.name;if(i=s,jie.call(t,"weight")&&(o=t.weight,o<=0))throw new Error(zqt(s));A=Xie(s),e=SuA(s),n=t.getFn}return{path:A,id:e,weight:o,src:i,getFn:n}}function Xie(t){return OS(t)?t:t.split(".")}function SuA(t){return OS(t)?t.join("."):t}function $qt(t,A){let e=[],i=!1;const o=(n,s,r)=>{if(m0(n))if(!s[r])e.push(n);else{let a=s[r];const g=n[a];if(!m0(g))return;if(r===s.length-1&&(ED(g)||Wie(g)||Pqt(g)))e.push(qqt(g));else if(OS(g)){i=!0;for(let I=0,c=g.length;I<c;I+=1)o(g[I],s,r+1)}else s.length&&o(g,s,r+1)}};return o(t,ED(A)?A.split("."):A,0),i?e:e[0]}var Rn={...{isCaseSensitive:!1,ignoreDiacritics:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(t,A)=>t.score===A.score?t.idx<A.idx?-1:1:t.score<A.score?-1:1},...{includeMatches:!1,findAllMatches:!1,minMatchCharLength:1},...{location:0,threshold:.6,distance:100},...{useExtendedSearch:!1,getFn:$qt,ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1}};const A4t=/[^ ]+/g;function e4t(t=1,A=3){const e=new Map,i=Math.pow(10,A);return{get(o){const n=o.match(A4t).length;if(e.has(n))return e.get(n);const s=1/Math.pow(n,.5*t),r=parseFloat(Math.round(s*i)/i);return e.set(n,r),r},clear(){e.clear()}}}class buA{constructor({getFn:A=Rn.getFn,fieldNormWeight:e=Rn.fieldNormWeight}={}){this.norm=e4t(e,3),this.getFn=A,this.isCreated=!1,this.setIndexRecords()}setSources(A=[]){this.docs=A}setIndexRecords(A=[]){this.records=A}setKeys(A=[]){this.keys=A,this._keysMap={},A.forEach((e,i)=>{this._keysMap[e.id]=i})}create(){this.isCreated||!this.docs.length||(this.isCreated=!0,ED(this.docs[0])?this.docs.forEach((A,e)=>{this._addString(A,e)}):this.docs.forEach((A,e)=>{this._addObject(A,e)}),this.norm.clear())}add(A){const e=this.size();ED(A)?this._addString(A,e):this._addObject(A,e)}removeAt(A){this.records.splice(A,1);for(let e=A,i=this.size();e<i;e+=1)this.records[e].i-=1}getValueForItemAtKeyId(A,e){return A[this._keysMap[e]]}size(){return this.records.length}_addString(A,e){if(!m0(A)||DuA(A))return;let i={v:A,i:e,n:this.norm.get(A)};this.records.push(i)}_addObject(A,e){let i={i:e,$:{}};this.keys.forEach((o,n)=>{let s=o.getFn?o.getFn(A):this.getFn(A,o.path);if(m0(s)){if(OS(s)){let r=[];const a=[{nestedArrIndex:-1,value:s}];for(;a.length;){const{nestedArrIndex:g,value:I}=a.pop();if(m0(I))if(ED(I)&&!DuA(I)){let c={v:I,i:g,n:this.norm.get(I)};r.push(c)}else OS(I)&&I.forEach((c,B)=>{a.push({nestedArrIndex:B,value:c})})}i.$[n]=r}else if(ED(s)&&!DuA(s)){let r={v:s,n:this.norm.get(s)};i.$[n]=r}}}),this.records.push(i)}toJSON(){return{keys:this.keys,records:this.records}}}function $ie(t,A,{getFn:e=Rn.getFn,fieldNormWeight:i=Rn.fieldNormWeight}={}){const o=new buA({getFn:e,fieldNormWeight:i});return o.setKeys(t.map(zie)),o.setSources(A),o.create(),o}function t4t(t,{getFn:A=Rn.getFn,fieldNormWeight:e=Rn.fieldNormWeight}={}){const{keys:i,records:o}=t,n=new buA({getFn:A,fieldNormWeight:e});return n.setKeys(i),n.setIndexRecords(o),n}function qZ(t,{errors:A=0,currentLocation:e=0,expectedLocation:i=0,distance:o=Rn.distance,ignoreLocation:n=Rn.ignoreLocation}={}){const s=A/t.length;if(n)return s;const r=Math.abs(i-e);return o?s+r/o:r?1:s}function i4t(t=[],A=Rn.minMatchCharLength){let e=[],i=-1,o=-1,n=0;for(let s=t.length;n<s;n+=1){let r=t[n];r&&i===-1?i=n:!r&&i!==-1&&(o=n-1,o-i+1>=A&&e.push([i,o]),i=-1)}return t[n-1]&&n-i>=A&&e.push([i,n-1]),e}const zF=32;function o4t(t,A,e,{location:i=Rn.location,distance:o=Rn.distance,threshold:n=Rn.threshold,findAllMatches:s=Rn.findAllMatches,minMatchCharLength:r=Rn.minMatchCharLength,includeMatches:a=Rn.includeMatches,ignoreLocation:g=Rn.ignoreLocation}={}){if(A.length>zF)throw new Error(Vqt(zF));const I=A.length,c=t.length,B=Math.max(0,Math.min(i,c));let l=n,C=B;const Q=r>1||a,E=Q?Array(c):[];let h;for(;(h=t.indexOf(A,C))>-1;){let D=qZ(A,{currentLocation:h,expectedLocation:B,distance:o,ignoreLocation:g});if(l=Math.min(D,l),C=h+I,Q){let x=0;for(;x<I;)E[h+x]=1,x+=1}}C=-1;let u=[],d=1,f=I+c;const m=1<<I-1;for(let D=0;D<I;D+=1){let x=0,F=f;for(;x<F;)qZ(A,{errors:D,currentLocation:B+F,expectedLocation:B,distance:o,ignoreLocation:g})<=l?x=F:f=F,F=Math.floor((f-x)/2+x);f=F;let k=Math.max(1,B-F+1),v=s?c:Math.min(B+F,c)+I,_=Array(v+2);_[v+1]=(1<<D)-1;for(let P=v;P>=k;P-=1){let J=P-1,W=e[t.charAt(J)];if(Q&&(E[J]=+!!W),_[P]=(_[P+1]<<1|1)&W,D&&(_[P]|=(u[P+1]|u[P])<<1|1|u[P+1]),_[P]&m&&(d=qZ(A,{errors:D,currentLocation:J,expectedLocation:B,distance:o,ignoreLocation:g}),d<=l)){if(l=d,C=J,C<=B)break;k=Math.max(1,2*B-C)}}if(qZ(A,{errors:D+1,currentLocation:B,expectedLocation:B,distance:o,ignoreLocation:g})>l)break;u=_}const S={isMatch:C>=0,score:Math.max(.001,d)};if(Q){const D=i4t(E,r);D.length?a&&(S.indices=D):S.isMatch=!1}return S}function n4t(t){let A={};for(let e=0,i=t.length;e<i;e+=1){const o=t.charAt(e);A[o]=(A[o]||0)|1<<i-e-1}return A}const PZ=String.prototype.normalize?(t=>t.normalize("NFD").replace(/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/g,"")):(t=>t);class Aoe{constructor(A,{location:e=Rn.location,threshold:i=Rn.threshold,distance:o=Rn.distance,includeMatches:n=Rn.includeMatches,findAllMatches:s=Rn.findAllMatches,minMatchCharLength:r=Rn.minMatchCharLength,isCaseSensitive:a=Rn.isCaseSensitive,ignoreDiacritics:g=Rn.ignoreDiacritics,ignoreLocation:I=Rn.ignoreLocation}={}){if(this.options={location:e,threshold:i,distance:o,includeMatches:n,findAllMatches:s,minMatchCharLength:r,isCaseSensitive:a,ignoreDiacritics:g,ignoreLocation:I},A=a?A:A.toLowerCase(),A=g?PZ(A):A,this.pattern=A,this.chunks=[],!this.pattern.length)return;const c=(l,C)=>{this.chunks.push({pattern:l,alphabet:n4t(l),startIndex:C})},B=this.pattern.length;if(B>zF){let l=0;const C=B%zF,Q=B-C;for(;l<Q;)c(this.pattern.substr(l,zF),l),l+=zF;if(C){const E=B-zF;c(this.pattern.substr(E),E)}}else c(this.pattern,0)}searchIn(A){const{isCaseSensitive:e,ignoreDiacritics:i,includeMatches:o}=this.options;if(A=e?A:A.toLowerCase(),A=i?PZ(A):A,this.pattern===A){let Q={isMatch:!0,score:0};return o&&(Q.indices=[[0,A.length-1]]),Q}const{location:n,distance:s,threshold:r,findAllMatches:a,minMatchCharLength:g,ignoreLocation:I}=this.options;let c=[],B=0,l=!1;this.chunks.forEach(({pattern:Q,alphabet:E,startIndex:h})=>{const{isMatch:u,score:d,indices:f}=o4t(A,Q,E,{location:n+h,distance:s,threshold:r,findAllMatches:a,minMatchCharLength:g,includeMatches:o,ignoreLocation:I});u&&(l=!0),B+=d,u&&f&&(c=[...c,...f])});let C={isMatch:l,score:l?B/this.chunks.length:1};return l&&o&&(C.indices=c),C}}class uk{constructor(A){this.pattern=A}static isMultiMatch(A){return eoe(A,this.multiRegex)}static isSingleMatch(A){return eoe(A,this.singleRegex)}search(){}}function eoe(t,A){const e=t.match(A);return e?e[1]:null}class s4t extends uk{constructor(A){super(A)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(A){const e=A===this.pattern;return{isMatch:e,score:e?0:1,indices:[0,this.pattern.length-1]}}}class r4t extends uk{constructor(A){super(A)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(A){const i=A.indexOf(this.pattern)===-1;return{isMatch:i,score:i?0:1,indices:[0,A.length-1]}}}class a4t extends uk{constructor(A){super(A)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(A){const e=A.startsWith(this.pattern);return{isMatch:e,score:e?0:1,indices:[0,this.pattern.length-1]}}}class g4t extends uk{constructor(A){super(A)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(A){const e=!A.startsWith(this.pattern);return{isMatch:e,score:e?0:1,indices:[0,A.length-1]}}}class I4t extends uk{constructor(A){super(A)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(A){const e=A.endsWith(this.pattern);return{isMatch:e,score:e?0:1,indices:[A.length-this.pattern.length,A.length-1]}}}class c4t extends uk{constructor(A){super(A)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(A){const e=!A.endsWith(this.pattern);return{isMatch:e,score:e?0:1,indices:[0,A.length-1]}}}class toe extends uk{constructor(A,{location:e=Rn.location,threshold:i=Rn.threshold,distance:o=Rn.distance,includeMatches:n=Rn.includeMatches,findAllMatches:s=Rn.findAllMatches,minMatchCharLength:r=Rn.minMatchCharLength,isCaseSensitive:a=Rn.isCaseSensitive,ignoreDiacritics:g=Rn.ignoreDiacritics,ignoreLocation:I=Rn.ignoreLocation}={}){super(A),this._bitapSearch=new Aoe(A,{location:e,threshold:i,distance:o,includeMatches:n,findAllMatches:s,minMatchCharLength:r,isCaseSensitive:a,ignoreDiacritics:g,ignoreLocation:I})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(A){return this._bitapSearch.searchIn(A)}}class ioe extends uk{constructor(A){super(A)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(A){let e=0,i;const o=[],n=this.pattern.length;for(;(i=A.indexOf(this.pattern,e))>-1;)e=i+n,o.push([i,e-1]);const s=!!o.length;return{isMatch:s,score:s?0:1,indices:o}}}const xuA=[s4t,ioe,a4t,g4t,c4t,I4t,r4t,toe],ooe=xuA.length,B4t=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,l4t="|";function C4t(t,A={}){return t.split(l4t).map(e=>{let i=e.trim().split(B4t).filter(n=>n&&!!n.trim()),o=[];for(let n=0,s=i.length;n<s;n+=1){const r=i[n];let a=!1,g=-1;for(;!a&&++g<ooe;){const I=xuA[g];let c=I.isMultiMatch(r);c&&(o.push(new I(c,A)),a=!0)}if(!a)for(g=-1;++g<ooe;){const I=xuA[g];let c=I.isSingleMatch(r);if(c){o.push(new I(c,A));break}}}return o})}const Q4t=new Set([toe.type,ioe.type]);class E4t{constructor(A,{isCaseSensitive:e=Rn.isCaseSensitive,ignoreDiacritics:i=Rn.ignoreDiacritics,includeMatches:o=Rn.includeMatches,minMatchCharLength:n=Rn.minMatchCharLength,ignoreLocation:s=Rn.ignoreLocation,findAllMatches:r=Rn.findAllMatches,location:a=Rn.location,threshold:g=Rn.threshold,distance:I=Rn.distance}={}){this.query=null,this.options={isCaseSensitive:e,ignoreDiacritics:i,includeMatches:o,minMatchCharLength:n,findAllMatches:r,ignoreLocation:s,location:a,threshold:g,distance:I},A=e?A:A.toLowerCase(),A=i?PZ(A):A,this.pattern=A,this.query=C4t(this.pattern,this.options)}static condition(A,e){return e.useExtendedSearch}searchIn(A){const e=this.query;if(!e)return{isMatch:!1,score:1};const{includeMatches:i,isCaseSensitive:o,ignoreDiacritics:n}=this.options;A=o?A:A.toLowerCase(),A=n?PZ(A):A;let s=0,r=[],a=0;for(let g=0,I=e.length;g<I;g+=1){const c=e[g];r.length=0,s=0;for(let B=0,l=c.length;B<l;B+=1){const C=c[B],{isMatch:Q,indices:E,score:h}=C.search(A);if(Q){if(s+=1,a+=h,i){const u=C.constructor.type;Q4t.has(u)?r=[...r,...E]:r.push(E)}}else{a=0,s=0,r.length=0;break}}if(s){let B={isMatch:!0,score:a/s};return i&&(B.indices=r),B}}return{isMatch:!1,score:1}}}const kuA=[];function h4t(...t){kuA.push(...t)}function GuA(t,A){for(let e=0,i=kuA.length;e<i;e+=1){let o=kuA[e];if(o.condition(t,A))return new o(t,A)}return new Aoe(t,A)}const OZ={AND:"$and",OR:"$or"},FuA={PATH:"$path",PATTERN:"$val"},RuA=t=>!!(t[OZ.AND]||t[OZ.OR]),u4t=t=>!!t[FuA.PATH],d4t=t=>!OS(t)&&Zie(t)&&!RuA(t),noe=t=>({[OZ.AND]:Object.keys(t).map(A=>({[A]:t[A]}))});function soe(t,A,{auto:e=!0}={}){const i=o=>{let n=Object.keys(o);const s=u4t(o);if(!s&&n.length>1&&!RuA(o))return i(noe(o));if(d4t(o)){const a=s?o[FuA.PATH]:n[0],g=s?o[FuA.PATTERN]:o[a];if(!ED(g))throw new Error(Zqt(a));const I={keyId:SuA(a),pattern:g};return e&&(I.searcher=GuA(g,A)),I}let r={children:[],operator:n[0]};return n.forEach(a=>{const g=o[a];OS(g)&&g.forEach(I=>{r.children.push(i(I))})}),r};return RuA(t)||(t=noe(t)),i(t)}function p4t(t,{ignoreFieldNorm:A=Rn.ignoreFieldNorm}){t.forEach(e=>{let i=1;e.matches.forEach(({key:o,norm:n,score:s})=>{const r=o?o.weight:null;i*=Math.pow(s===0&&r?Number.EPSILON:s,(r||1)*(A?1:n))}),e.score=i})}function f4t(t,A){const e=t.matches;A.matches=[],m0(e)&&e.forEach(i=>{if(!m0(i.indices)||!i.indices.length)return;const{indices:o,value:n}=i;let s={indices:o,value:n};i.key&&(s.key=i.key.src),i.idx>-1&&(s.refIndex=i.idx),A.matches.push(s)})}function y4t(t,A){A.score=t.score}function w4t(t,A,{includeMatches:e=Rn.includeMatches,includeScore:i=Rn.includeScore}={}){const o=[];return e&&o.push(f4t),i&&o.push(y4t),t.map(n=>{const{idx:s}=n,r={item:A[s],refIndex:s};return o.length&&o.forEach(a=>{a(n,r)}),r})}class Bv{constructor(A,e={},i){this.options={...Rn,...e},this.options.useExtendedSearch,this._keyStore=new Xqt(this.options.keys),this.setCollection(A,i)}setCollection(A,e){if(this._docs=A,e&&!(e instanceof buA))throw new Error(Wqt);this._myIndex=e||$ie(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}add(A){m0(A)&&(this._docs.push(A),this._myIndex.add(A))}remove(A=()=>!1){const e=[];for(let i=0,o=this._docs.length;i<o;i+=1){const n=this._docs[i];A(n,i)&&(this.removeAt(i),i-=1,o-=1,e.push(n))}return e}removeAt(A){this._docs.splice(A,1),this._myIndex.removeAt(A)}getIndex(){return this._myIndex}search(A,{limit:e=-1}={}){const{includeMatches:i,includeScore:o,shouldSort:n,sortFn:s,ignoreFieldNorm:r}=this.options;let a=ED(A)?ED(this._docs[0])?this._searchStringList(A):this._searchObjectList(A):this._searchLogical(A);return p4t(a,{ignoreFieldNorm:r}),n&&a.sort(s),Wie(e)&&e>-1&&(a=a.slice(0,e)),w4t(a,this._docs,{includeMatches:i,includeScore:o})}_searchStringList(A){const e=GuA(A,this.options),{records:i}=this._myIndex,o=[];return i.forEach(({v:n,i:s,n:r})=>{if(!m0(n))return;const{isMatch:a,score:g,indices:I}=e.searchIn(n);a&&o.push({item:n,idx:s,matches:[{score:g,value:n,norm:r,indices:I}]})}),o}_searchLogical(A){const e=soe(A,this.options),i=(r,a,g)=>{if(!r.children){const{keyId:c,searcher:B}=r,l=this._findMatches({key:this._keyStore.get(c),value:this._myIndex.getValueForItemAtKeyId(a,c),searcher:B});return l&&l.length?[{idx:g,item:a,matches:l}]:[]}const I=[];for(let c=0,B=r.children.length;c<B;c+=1){const l=r.children[c],C=i(l,a,g);if(C.length)I.push(...C);else if(r.operator===OZ.AND)return[]}return I},o=this._myIndex.records,n={},s=[];return o.forEach(({$:r,i:a})=>{if(m0(r)){let g=i(e,r,a);g.length&&(n[a]||(n[a]={idx:a,item:r,matches:[]},s.push(n[a])),g.forEach(({matches:I})=>{n[a].matches.push(...I)}))}}),s}_searchObjectList(A){const e=GuA(A,this.options),{keys:i,records:o}=this._myIndex,n=[];return o.forEach(({$:s,i:r})=>{if(!m0(s))return;let a=[];i.forEach((g,I)=>{a.push(...this._findMatches({key:g,value:s[I],searcher:e}))}),a.length&&n.push({idx:r,item:s,matches:a})}),n}_findMatches({key:A,value:e,searcher:i}){if(!m0(e))return[];let o=[];if(OS(e))e.forEach(({v:n,i:s,n:r})=>{if(!m0(n))return;const{isMatch:a,score:g,indices:I}=i.searchIn(n);a&&o.push({score:g,key:A,value:n,idx:s,norm:r,indices:I})});else{const{v:n,n:s}=e,{isMatch:r,score:a,indices:g}=i.searchIn(n);r&&o.push({score:a,key:A,value:n,norm:s,indices:g})}return o}}Bv.version="7.1.0",Bv.createIndex=$ie,Bv.parseIndex=t4t,Bv.config=Rn,Bv.parseQuery=soe,h4t(E4t);let MuA=null,gY=null,NuA=null;const m4t=async()=>MuA||gY||(gY=fetch("https://kicad-mod-cache.tscircuit.com/kicad_files.json").then(t=>t.json()).then(t=>(MuA=t,gY=null,t)),gY),D4t=async(t,A=20)=>{const e=await m4t();return NuA||(NuA=new Bv(e)),NuA.search(t).slice(0,A).map(i=>i.item)},S4t=t=>{const A=t.replace(".pretty/",":").replace(".kicad_mod",""),e=`kicad:${A}`;return{path:t,qualifiedName:e,description:A}},b4t=()=>{const[t,A]=j.useState([]),[e,i]=j.useState(!1),[o,n]=j.useState(null),[s,r]=j.useState(!1),a=j.useCallback(async I=>{const c=I.trim();if(!c)return[];i(!0),n(null);try{const l=(await D4t(c,20)).map(C=>({source:"kicad",footprint:S4t(C)}));return A(l),l}catch(B){return console.error("Error searching KiCad footprints",B),A([]),n(B instanceof Error?B.message:"Failed to search KiCad footprints"),[]}finally{i(!1),r(!0)}},[]),g=j.useCallback(()=>{A([]),i(!1),n(null),r(!1)},[]);return{results:t,isSearching:e,error:o,hasSearched:s,search:a,reset:g}},x4t={dialog:101},k4t=({onTscircuitPackageSelected:t,onJlcpcbComponentTsxLoaded:A,onKicadStringSelected:e})=>{const i=[];return t&&i.push("tscircuit.com"),A&&i.push("jlcpcb"),e&&i.push("kicad"),i},G4t=({isOpen:t,onClose:A,jlcpcbProxyRequestHeaders:e,onKicadStringSelected:i,onTscircuitPackageSelected:o,onJlcpcbComponentTsxLoaded:n,jlcpcbProxyApiBase:s,tscircuitSessionToken:r})=>{NZ();const a=j.useMemo(()=>k4t({onKicadStringSelected:i,onTscircuitPackageSelected:o,onJlcpcbComponentTsxLoaded:n}),[i,o,n]),g=a.length>0,[I,c]=j.useState(a[0]??"tscircuit.com"),[B,l]=j.useState(""),[C,Q]=j.useState(null),{results:E,isSearching:h,error:u,hasSearched:d,search:f,reset:m}=Yqt({sessionToken:r}),{results:S,isSearching:D,error:x,hasSearched:F,search:k,reset:v}=Tqt(),{results:_,isSearching:H,error:P,hasSearched:J,search:W,reset:Z}=b4t(),{details:AA,isLoading:nA,fetchDetails:gA,reset:tA}=Lqt(),[iA,rA]=j.useState(null),[CA,dA]=j.useState(!1),[SA,xA]=j.useState("pcb"),[JA,lA]=j.useState(null),[RA,uA]=j.useState(!1);j.useEffect(()=>{lA(null)},[C]);const KA=j.useCallback(()=>{m(),v(),Z(),Q(null)},[v,Z,m]);j.useEffect(()=>{t||(KA(),l(""),dA(!1),rA(null),lA(null))},[t,KA]),j.useEffect(()=>{l(""),Q(null),I==="tscircuit.com"?m():I==="jlcpcb"?v():I==="kicad"&&Z()},[I,v,Z,m]);const $A=GA=>{Q(GA),rA(GA),xA("pcb"),dA(!0),tA();const LA=GA.package.org_owner_tscircuit_handle,PA=GA.package.unscoped_name;if(LA&&PA){const ie=PA.split("/").pop()??PA;gA(LA,ie)}},ge=async()=>{B.trim()&&(Q(null),I==="tscircuit.com"?await f(B):I==="jlcpcb"?await k(B):I==="kicad"&&await W(B))},yA=async GA=>{try{if(lA(null),uA(!0),GA.source==="kicad"){if(!i)throw new Error("KiCad handler not provided");await i({result:GA,footprint:GA.footprint.qualifiedName})}else if(GA.source==="jlcpcb"){if(!n)throw new Error("JLCPCB handler not provided");const LA=await Fqt(GA.component.partNumber,{headers:e,apiBase:s});await n({result:GA,tsx:LA})}else if(GA.source==="tscircuit.com"){if(!o)throw new Error("tscircuit package handler not provided");const LA=GA.package.org_owner_tscircuit_handle,PA=GA.package.unscoped_name;if(!LA||!PA)throw new Error("Missing package metadata");const ie=PA.split("/").pop()??PA,mA=`@tsci/${LA}.${ie}`;await o({result:GA,fullPackageName:mA})}return!0}catch(LA){return console.error("Failed to import component",LA),lA(LA instanceof Error?LA.message:"Failed to import component"),!1}finally{uA(!1)}};let qA=[],YA=!1,UA=null,OA=!1;I==="tscircuit.com"?(qA=E,YA=h,UA=u,OA=d):I==="jlcpcb"?(qA=S,YA=D,UA=x,OA=F):I==="kicad"&&(qA=_,YA=H,UA=P,OA=J);const FA=async()=>{if(!C)return;await yA(C)&&(A(),KA(),l(""))},DA=GA=>{GA||A()},TA=GA=>{dA(GA),GA||rA(null)};return O.jsxs(Iv,{open:t,onOpenChange:DA,children:[O.jsxs(ZF,{style:{width:"calc(100vw - 2rem)",zIndex:x4t.dialog},className:"rf-rounded-sm rf-max-h-[90vh] rf-overflow-y-auto rf-overflow-x-hidden rf-flex rf-flex-col",children:[O.jsxs(VF,{children:[O.jsx(jF,{className:"rf-text-lg sm:rf-text-xl",children:"Import Component"}),O.jsx(cv,{className:"rf-text-sm",children:g?"Search for components from available sources.":"Import options are disabled because no handlers were provided."})]}),g?O.jsxs(wiA,{value:I,onValueChange:GA=>c(GA),className:"rf-min-w-0 rf-w-full",children:[O.jsx(z3,{className:"rf-flex rf-w-full rf-gap-2",children:a.map(GA=>O.jsx(Mm,{value:GA,className:"rf-flex-1 rf-text-xs sm:rf-text-sm",children:wuA[GA].label},GA))}),O.jsx(Rqt,{query:B,placeholder:wuA[I].placeholder,isSearching:YA,onQueryChange:l,onSubmit:ge}),O.jsx("div",{className:"no-scrollbar rf-mt-4 rf-flex-1 rf-min-h-[200px] !rf-max-h-[40vh] !rf-overflow-y-auto rf-overflow-x-hidden rf-border rf-rounded-md rf-min-w-0",children:YA?O.jsxs("div",{className:"rf-p-8 rf-text-center rf-text-zinc-500",children:[O.jsx(FS,{className:"rf-h-8 rf-w-8 rf-animate-spin rf-mx-auto rf-mb-2"}),O.jsx("p",{children:"Searching..."})]}):qA.length>0?O.jsx(vqt,{results:qA,selected:C,onSelect:Q,onShowDetails:I==="tscircuit.com"?$A:void 0}):O.jsx("div",{className:"rf-p-8 rf-text-center rf-text-zinc-500",children:UA?`Error: ${UA}`:OA?wuA[I].emptyMessage:"Enter a search term to find components"})})]}):null,JA?O.jsx("div",{className:"rf-text-sm rf-text-red-600 rf-mt-2",children:JA}):null,O.jsxs(aY,{className:"rf-flex rf-flex-col sm:rf-flex-row rf-gap-2",children:[O.jsx(Sa,{variant:"outline",onClick:A,className:"rf-order-2 sm:rf-order-1",children:"Cancel"}),O.jsx(Sa,{onClick:FA,disabled:!C||RA,className:"rf-order-1 sm:rf-order-2",children:RA?O.jsx(FS,{className:"rf-h-4 rf-w-4 rf-animate-spin"}):"Import"})]})]}),O.jsx(Uqt,{packageResult:iA,isOpen:CA,onOpenChange:TA,isLoading:nA,details:AA,previewTab:SA,onPreviewTabChange:GA=>xA(GA),isSubmitting:RA,onImport:()=>{iA&&yA(iA).then(GA=>{GA&&(dA(!1),A(),KA(),l(""))})}})]})},F4t=t=>{const A=t.match(/export const (\w+) =/);if(!A)throw new Error("Could not determine component name from TSX contents");return A[1]},roe=t=>{const A=Yc(s=>s.pushEvent),e=Yc(s=>s.upsertFile),i=async({result:s,fullPackageName:r})=>{const g=s.package.unscoped_name??s.package.name;await Bs.promise(A({event_type:"INSTALL_PACKAGE",full_package_name:r}),{loading:`Requesting install for "${g}"`,success:`Install requested for "${g}"`,error:I=>`Failed to request install: ${I instanceof Error?I.message:String(I)}`})},o=async({footprint:s})=>{await Bs.promise(navigator.clipboard.writeText(s),{loading:`Copying "${s}"`,success:`Copied "${s}" to clipboard`,error:r=>`Failed to copy footprint: ${r instanceof Error?r.message:String(r)}`})},n=async({result:s,tsx:r})=>{const g=`imports/${F4t(r)}.tsx`;await Bs.promise(e(g,r),{loading:`Importing ${s.component.partNumber}`,success:`Imported to "${g}"`,error:I=>`Failed to import component: ${I instanceof Error?I.message:String(I)}`})};return O.jsx(G4t,{...t,onTscircuitPackageSelected:i,onKicadStringSelected:o,onJlcpcbComponentTsxLoaded:n})};roe.displayName="ImportComponentDialogForCli";var _uA={exports:{}},aoe;function R4t(){return aoe||(aoe=1,(function(t,A){var e={env:{},version:""};(function(i){t.exports=i()})(function(){return(function i(o,n,s){function r(I,c){if(!n[I]){if(!o[I]){var B=typeof Lb=="function"&&Lb;if(!c&&B)return B(I,!0);if(a)return a(I,!0);var l=new Error("Cannot find module '"+I+"'");throw l.code="MODULE_NOT_FOUND",l}var C=n[I]={exports:{}};o[I][0].call(C.exports,function(Q){var E=o[I][1][Q];return r(E||Q)},C,C.exports,i,o,n,s)}return n[I].exports}for(var a=typeof Lb=="function"&&Lb,g=0;g<s.length;g++)r(s[g]);return r})({1:[function(i,o,n){var s=i("./utils"),r=i("./support"),a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";n.encode=function(g){for(var I,c,B,l,C,Q,E,h=[],u=0,d=g.length,f=d,m=s.getTypeOf(g)!=="string";u<g.length;)f=d-u,B=m?(I=g[u++],c=u<d?g[u++]:0,u<d?g[u++]:0):(I=g.charCodeAt(u++),c=u<d?g.charCodeAt(u++):0,u<d?g.charCodeAt(u++):0),l=I>>2,C=(3&I)<<4|c>>4,Q=1<f?(15&c)<<2|B>>6:64,E=2<f?63&B:64,h.push(a.charAt(l)+a.charAt(C)+a.charAt(Q)+a.charAt(E));return h.join("")},n.decode=function(g){var I,c,B,l,C,Q,E=0,h=0,u="data:";if(g.substr(0,u.length)===u)throw new Error("Invalid base64 input, it looks like a data url.");var d,f=3*(g=g.replace(/[^A-Za-z0-9+/=]/g,"")).length/4;if(g.charAt(g.length-1)===a.charAt(64)&&f--,g.charAt(g.length-2)===a.charAt(64)&&f--,f%1!=0)throw new Error("Invalid base64 input, bad content length.");for(d=r.uint8array?new Uint8Array(0|f):new Array(0|f);E<g.length;)I=a.indexOf(g.charAt(E++))<<2|(l=a.indexOf(g.charAt(E++)))>>4,c=(15&l)<<4|(C=a.indexOf(g.charAt(E++)))>>2,B=(3&C)<<6|(Q=a.indexOf(g.charAt(E++))),d[h++]=I,C!==64&&(d[h++]=c),Q!==64&&(d[h++]=B);return d}},{"./support":30,"./utils":32}],2:[function(i,o,n){var s=i("./external"),r=i("./stream/DataWorker"),a=i("./stream/Crc32Probe"),g=i("./stream/DataLengthProbe");function I(c,B,l,C,Q){this.compressedSize=c,this.uncompressedSize=B,this.crc32=l,this.compression=C,this.compressedContent=Q}I.prototype={getContentWorker:function(){var c=new r(s.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new g("data_length")),B=this;return c.on("end",function(){if(this.streamInfo.data_length!==B.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),c},getCompressedWorker:function(){return new r(s.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},I.createWorkerFrom=function(c,B,l){return c.pipe(new a).pipe(new g("uncompressedSize")).pipe(B.compressWorker(l)).pipe(new g("compressedSize")).withStreamInfo("compression",B)},o.exports=I},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(i,o,n){var s=i("./stream/GenericWorker");n.STORE={magic:"\0\0",compressWorker:function(){return new s("STORE compression")},uncompressWorker:function(){return new s("STORE decompression")}},n.DEFLATE=i("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(i,o,n){var s=i("./utils"),r=(function(){for(var a,g=[],I=0;I<256;I++){a=I;for(var c=0;c<8;c++)a=1&a?3988292384^a>>>1:a>>>1;g[I]=a}return g})();o.exports=function(a,g){return a!==void 0&&a.length?s.getTypeOf(a)!=="string"?(function(I,c,B,l){var C=r,Q=l+B;I^=-1;for(var E=l;E<Q;E++)I=I>>>8^C[255&(I^c[E])];return-1^I})(0|g,a,a.length,0):(function(I,c,B,l){var C=r,Q=l+B;I^=-1;for(var E=l;E<Q;E++)I=I>>>8^C[255&(I^c.charCodeAt(E))];return-1^I})(0|g,a,a.length,0):0}},{"./utils":32}],5:[function(i,o,n){n.base64=!1,n.binary=!1,n.dir=!1,n.createFolders=!0,n.date=null,n.compression=null,n.compressionOptions=null,n.comment=null,n.unixPermissions=null,n.dosPermissions=null},{}],6:[function(i,o,n){var s=null;s=typeof Promise<"u"?Promise:i("lie"),o.exports={Promise:s}},{lie:37}],7:[function(i,o,n){var s=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Uint32Array<"u",r=i("pako"),a=i("./utils"),g=i("./stream/GenericWorker"),I=s?"uint8array":"array";function c(B,l){g.call(this,"FlateWorker/"+B),this._pako=null,this._pakoAction=B,this._pakoOptions=l,this.meta={}}n.magic="\b\0",a.inherits(c,g),c.prototype.processChunk=function(B){this.meta=B.meta,this._pako===null&&this._createPako(),this._pako.push(a.transformTo(I,B.data),!1)},c.prototype.flush=function(){g.prototype.flush.call(this),this._pako===null&&this._createPako(),this._pako.push([],!0)},c.prototype.cleanUp=function(){g.prototype.cleanUp.call(this),this._pako=null},c.prototype._createPako=function(){this._pako=new r[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var B=this;this._pako.onData=function(l){B.push({data:l,meta:B.meta})}},n.compressWorker=function(B){return new c("Deflate",B)},n.uncompressWorker=function(){return new c("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(i,o,n){function s(C,Q){var E,h="";for(E=0;E<Q;E++)h+=String.fromCharCode(255&C),C>>>=8;return h}function r(C,Q,E,h,u,d){var f,m,S=C.file,D=C.compression,x=d!==I.utf8encode,F=a.transformTo("string",d(S.name)),k=a.transformTo("string",I.utf8encode(S.name)),v=S.comment,_=a.transformTo("string",d(v)),H=a.transformTo("string",I.utf8encode(v)),P=k.length!==S.name.length,J=H.length!==v.length,W="",Z="",AA="",nA=S.dir,gA=S.date,tA={crc32:0,compressedSize:0,uncompressedSize:0};Q&&!E||(tA.crc32=C.crc32,tA.compressedSize=C.compressedSize,tA.uncompressedSize=C.uncompressedSize);var iA=0;Q&&(iA|=8),x||!P&&!J||(iA|=2048);var rA=0,CA=0;nA&&(rA|=16),u==="UNIX"?(CA=798,rA|=(function(SA,xA){var JA=SA;return SA||(JA=xA?16893:33204),(65535&JA)<<16})(S.unixPermissions,nA)):(CA=20,rA|=(function(SA){return 63&(SA||0)})(S.dosPermissions)),f=gA.getUTCHours(),f<<=6,f|=gA.getUTCMinutes(),f<<=5,f|=gA.getUTCSeconds()/2,m=gA.getUTCFullYear()-1980,m<<=4,m|=gA.getUTCMonth()+1,m<<=5,m|=gA.getUTCDate(),P&&(Z=s(1,1)+s(c(F),4)+k,W+="up"+s(Z.length,2)+Z),J&&(AA=s(1,1)+s(c(_),4)+H,W+="uc"+s(AA.length,2)+AA);var dA="";return dA+=`
|
|
5631
5631
|
\0`,dA+=s(iA,2),dA+=D.magic,dA+=s(f,2),dA+=s(m,2),dA+=s(tA.crc32,4),dA+=s(tA.compressedSize,4),dA+=s(tA.uncompressedSize,4),dA+=s(F.length,2),dA+=s(W.length,2),{fileRecord:B.LOCAL_FILE_HEADER+dA+F+W,dirRecord:B.CENTRAL_FILE_HEADER+s(CA,2)+dA+s(_.length,2)+"\0\0\0\0"+s(rA,4)+s(h,4)+F+W+_}}var a=i("../utils"),g=i("../stream/GenericWorker"),I=i("../utf8"),c=i("../crc32"),B=i("../signature");function l(C,Q,E,h){g.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=Q,this.zipPlatform=E,this.encodeFileName=h,this.streamFiles=C,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}a.inherits(l,g),l.prototype.push=function(C){var Q=C.meta.percent||0,E=this.entriesCount,h=this._sources.length;this.accumulate?this.contentBuffer.push(C):(this.bytesWritten+=C.data.length,g.prototype.push.call(this,{data:C.data,meta:{currentFile:this.currentFile,percent:E?(Q+100*(E-h-1))/E:100}}))},l.prototype.openedSource=function(C){this.currentSourceOffset=this.bytesWritten,this.currentFile=C.file.name;var Q=this.streamFiles&&!C.file.dir;if(Q){var E=r(C,Q,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:E.fileRecord,meta:{percent:0}})}else this.accumulate=!0},l.prototype.closedSource=function(C){this.accumulate=!1;var Q=this.streamFiles&&!C.file.dir,E=r(C,Q,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(E.dirRecord),Q)this.push({data:(function(h){return B.DATA_DESCRIPTOR+s(h.crc32,4)+s(h.compressedSize,4)+s(h.uncompressedSize,4)})(C),meta:{percent:100}});else for(this.push({data:E.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},l.prototype.flush=function(){for(var C=this.bytesWritten,Q=0;Q<this.dirRecords.length;Q++)this.push({data:this.dirRecords[Q],meta:{percent:100}});var E=this.bytesWritten-C,h=(function(u,d,f,m,S){var D=a.transformTo("string",S(m));return B.CENTRAL_DIRECTORY_END+"\0\0\0\0"+s(u,2)+s(u,2)+s(d,4)+s(f,4)+s(D.length,2)+D})(this.dirRecords.length,E,C,this.zipComment,this.encodeFileName);this.push({data:h,meta:{percent:100}})},l.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},l.prototype.registerPrevious=function(C){this._sources.push(C);var Q=this;return C.on("data",function(E){Q.processChunk(E)}),C.on("end",function(){Q.closedSource(Q.previous.streamInfo),Q._sources.length?Q.prepareNextSource():Q.end()}),C.on("error",function(E){Q.error(E)}),this},l.prototype.resume=function(){return!!g.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},l.prototype.error=function(C){var Q=this._sources;if(!g.prototype.error.call(this,C))return!1;for(var E=0;E<Q.length;E++)try{Q[E].error(C)}catch{}return!0},l.prototype.lock=function(){g.prototype.lock.call(this);for(var C=this._sources,Q=0;Q<C.length;Q++)C[Q].lock()},o.exports=l},{"../crc32":4,"../signature":23,"../stream/GenericWorker":28,"../utf8":31,"../utils":32}],9:[function(i,o,n){var s=i("../compressions"),r=i("./ZipFileWorker");n.generateWorker=function(a,g,I){var c=new r(g.streamFiles,I,g.platform,g.encodeFileName),B=0;try{a.forEach(function(l,C){B++;var Q=(function(d,f){var m=d||f,S=s[m];if(!S)throw new Error(m+" is not a valid compression method !");return S})(C.options.compression,g.compression),E=C.options.compressionOptions||g.compressionOptions||{},h=C.dir,u=C.date;C._compressWorker(Q,E).withStreamInfo("file",{name:l,dir:h,date:u,comment:C.comment||"",unixPermissions:C.unixPermissions,dosPermissions:C.dosPermissions}).pipe(c)}),c.entriesCount=B}catch(l){c.error(l)}return c}},{"../compressions":3,"./ZipFileWorker":8}],10:[function(i,o,n){function s(){if(!(this instanceof s))return new s;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files=Object.create(null),this.comment=null,this.root="",this.clone=function(){var r=new s;for(var a in this)typeof this[a]!="function"&&(r[a]=this[a]);return r}}(s.prototype=i("./object")).loadAsync=i("./load"),s.support=i("./support"),s.defaults=i("./defaults"),s.version="3.10.1",s.loadAsync=function(r,a){return new s().loadAsync(r,a)},s.external=i("./external"),o.exports=s},{"./defaults":5,"./external":6,"./load":11,"./object":15,"./support":30}],11:[function(i,o,n){var s=i("./utils"),r=i("./external"),a=i("./utf8"),g=i("./zipEntries"),I=i("./stream/Crc32Probe"),c=i("./nodejsUtils");function B(l){return new r.Promise(function(C,Q){var E=l.decompressed.getContentWorker().pipe(new I);E.on("error",function(h){Q(h)}).on("end",function(){E.streamInfo.crc32!==l.decompressed.crc32?Q(new Error("Corrupted zip : CRC32 mismatch")):C()}).resume()})}o.exports=function(l,C){var Q=this;return C=s.extend(C||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:a.utf8decode}),c.isNode&&c.isStream(l)?r.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")):s.prepareContent("the loaded zip file",l,!0,C.optimizedBinaryString,C.base64).then(function(E){var h=new g(C);return h.load(E),h}).then(function(E){var h=[r.Promise.resolve(E)],u=E.files;if(C.checkCRC32)for(var d=0;d<u.length;d++)h.push(B(u[d]));return r.Promise.all(h)}).then(function(E){for(var h=E.shift(),u=h.files,d=0;d<u.length;d++){var f=u[d],m=f.fileNameStr,S=s.resolve(f.fileNameStr);Q.file(S,f.decompressed,{binary:!0,optimizedBinaryString:!0,date:f.date,dir:f.dir,comment:f.fileCommentStr.length?f.fileCommentStr:null,unixPermissions:f.unixPermissions,dosPermissions:f.dosPermissions,createFolders:C.createFolders}),f.dir||(Q.file(S).unsafeOriginalName=m)}return h.zipComment.length&&(Q.comment=h.zipComment),Q})}},{"./external":6,"./nodejsUtils":14,"./stream/Crc32Probe":25,"./utf8":31,"./utils":32,"./zipEntries":33}],12:[function(i,o,n){var s=i("../utils"),r=i("../stream/GenericWorker");function a(g,I){r.call(this,"Nodejs stream input adapter for "+g),this._upstreamEnded=!1,this._bindStream(I)}s.inherits(a,r),a.prototype._bindStream=function(g){var I=this;(this._stream=g).pause(),g.on("data",function(c){I.push({data:c,meta:{percent:0}})}).on("error",function(c){I.isPaused?this.generatedError=c:I.error(c)}).on("end",function(){I.isPaused?I._upstreamEnded=!0:I.end()})},a.prototype.pause=function(){return!!r.prototype.pause.call(this)&&(this._stream.pause(),!0)},a.prototype.resume=function(){return!!r.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},o.exports=a},{"../stream/GenericWorker":28,"../utils":32}],13:[function(i,o,n){var s=i("readable-stream").Readable;function r(a,g,I){s.call(this,g),this._helper=a;var c=this;a.on("data",function(B,l){c.push(B)||c._helper.pause(),I&&I(l)}).on("error",function(B){c.emit("error",B)}).on("end",function(){c.push(null)})}i("../utils").inherits(r,s),r.prototype._read=function(){this._helper.resume()},o.exports=r},{"../utils":32,"readable-stream":16}],14:[function(i,o,n){o.exports={isNode:typeof Buffer<"u",newBufferFrom:function(s,r){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(s,r);if(typeof s=="number")throw new Error('The "data" argument must not be a number');return new Buffer(s,r)},allocBuffer:function(s){if(Buffer.alloc)return Buffer.alloc(s);var r=new Buffer(s);return r.fill(0),r},isBuffer:function(s){return Buffer.isBuffer(s)},isStream:function(s){return s&&typeof s.on=="function"&&typeof s.pause=="function"&&typeof s.resume=="function"}}},{}],15:[function(i,o,n){function s(S,D,x){var F,k=a.getTypeOf(D),v=a.extend(x||{},c);v.date=v.date||new Date,v.compression!==null&&(v.compression=v.compression.toUpperCase()),typeof v.unixPermissions=="string"&&(v.unixPermissions=parseInt(v.unixPermissions,8)),v.unixPermissions&&16384&v.unixPermissions&&(v.dir=!0),v.dosPermissions&&16&v.dosPermissions&&(v.dir=!0),v.dir&&(S=u(S)),v.createFolders&&(F=h(S))&&d.call(this,F,!0);var _=k==="string"&&v.binary===!1&&v.base64===!1;x&&x.binary!==void 0||(v.binary=!_),(D instanceof B&&D.uncompressedSize===0||v.dir||!D||D.length===0)&&(v.base64=!1,v.binary=!0,D="",v.compression="STORE",k="string");var H=null;H=D instanceof B||D instanceof g?D:Q.isNode&&Q.isStream(D)?new E(S,D):a.prepareContent(S,D,v.binary,v.optimizedBinaryString,v.base64);var P=new l(S,H,v);this.files[S]=P}var r=i("./utf8"),a=i("./utils"),g=i("./stream/GenericWorker"),I=i("./stream/StreamHelper"),c=i("./defaults"),B=i("./compressedObject"),l=i("./zipObject"),C=i("./generate"),Q=i("./nodejsUtils"),E=i("./nodejs/NodejsStreamInputAdapter"),h=function(S){S.slice(-1)==="/"&&(S=S.substring(0,S.length-1));var D=S.lastIndexOf("/");return 0<D?S.substring(0,D):""},u=function(S){return S.slice(-1)!=="/"&&(S+="/"),S},d=function(S,D){return D=D!==void 0?D:c.createFolders,S=u(S),this.files[S]||s.call(this,S,null,{dir:!0,createFolders:D}),this.files[S]};function f(S){return Object.prototype.toString.call(S)==="[object RegExp]"}var m={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(S){var D,x,F;for(D in this.files)F=this.files[D],(x=D.slice(this.root.length,D.length))&&D.slice(0,this.root.length)===this.root&&S(x,F)},filter:function(S){var D=[];return this.forEach(function(x,F){S(x,F)&&D.push(F)}),D},file:function(S,D,x){if(arguments.length!==1)return S=this.root+S,s.call(this,S,D,x),this;if(f(S)){var F=S;return this.filter(function(v,_){return!_.dir&&F.test(v)})}var k=this.files[this.root+S];return k&&!k.dir?k:null},folder:function(S){if(!S)return this;if(f(S))return this.filter(function(k,v){return v.dir&&S.test(k)});var D=this.root+S,x=d.call(this,D),F=this.clone();return F.root=x.name,F},remove:function(S){S=this.root+S;var D=this.files[S];if(D||(S.slice(-1)!=="/"&&(S+="/"),D=this.files[S]),D&&!D.dir)delete this.files[S];else for(var x=this.filter(function(k,v){return v.name.slice(0,S.length)===S}),F=0;F<x.length;F++)delete this.files[x[F].name];return this},generate:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function(S){var D,x={};try{if((x=a.extend(S||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:r.utf8encode})).type=x.type.toLowerCase(),x.compression=x.compression.toUpperCase(),x.type==="binarystring"&&(x.type="string"),!x.type)throw new Error("No output type specified.");a.checkSupport(x.type),x.platform!=="darwin"&&x.platform!=="freebsd"&&x.platform!=="linux"&&x.platform!=="sunos"||(x.platform="UNIX"),x.platform==="win32"&&(x.platform="DOS");var F=x.comment||this.comment||"";D=C.generateWorker(this,x,F)}catch(k){(D=new g("error")).error(k)}return new I(D,x.type||"string",x.mimeType)},generateAsync:function(S,D){return this.generateInternalStream(S).accumulate(D)},generateNodeStream:function(S,D){return(S=S||{}).type||(S.type="nodebuffer"),this.generateInternalStream(S).toNodejsStream(D)}};o.exports=m},{"./compressedObject":2,"./defaults":5,"./generate":9,"./nodejs/NodejsStreamInputAdapter":12,"./nodejsUtils":14,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31,"./utils":32,"./zipObject":35}],16:[function(i,o,n){o.exports=i("stream")},{stream:void 0}],17:[function(i,o,n){var s=i("./DataReader");function r(a){s.call(this,a);for(var g=0;g<this.data.length;g++)a[g]=255&a[g]}i("../utils").inherits(r,s),r.prototype.byteAt=function(a){return this.data[this.zero+a]},r.prototype.lastIndexOfSignature=function(a){for(var g=a.charCodeAt(0),I=a.charCodeAt(1),c=a.charCodeAt(2),B=a.charCodeAt(3),l=this.length-4;0<=l;--l)if(this.data[l]===g&&this.data[l+1]===I&&this.data[l+2]===c&&this.data[l+3]===B)return l-this.zero;return-1},r.prototype.readAndCheckSignature=function(a){var g=a.charCodeAt(0),I=a.charCodeAt(1),c=a.charCodeAt(2),B=a.charCodeAt(3),l=this.readData(4);return g===l[0]&&I===l[1]&&c===l[2]&&B===l[3]},r.prototype.readData=function(a){if(this.checkOffset(a),a===0)return[];var g=this.data.slice(this.zero+this.index,this.zero+this.index+a);return this.index+=a,g},o.exports=r},{"../utils":32,"./DataReader":18}],18:[function(i,o,n){var s=i("../utils");function r(a){this.data=a,this.length=a.length,this.index=0,this.zero=0}r.prototype={checkOffset:function(a){this.checkIndex(this.index+a)},checkIndex:function(a){if(this.length<this.zero+a||a<0)throw new Error("End of data reached (data length = "+this.length+", asked index = "+a+"). Corrupted zip ?")},setIndex:function(a){this.checkIndex(a),this.index=a},skip:function(a){this.setIndex(this.index+a)},byteAt:function(){},readInt:function(a){var g,I=0;for(this.checkOffset(a),g=this.index+a-1;g>=this.index;g--)I=(I<<8)+this.byteAt(g);return this.index+=a,I},readString:function(a){return s.transformTo("string",this.readData(a))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var a=this.readInt(4);return new Date(Date.UTC(1980+(a>>25&127),(a>>21&15)-1,a>>16&31,a>>11&31,a>>5&63,(31&a)<<1))}},o.exports=r},{"../utils":32}],19:[function(i,o,n){var s=i("./Uint8ArrayReader");function r(a){s.call(this,a)}i("../utils").inherits(r,s),r.prototype.readData=function(a){this.checkOffset(a);var g=this.data.slice(this.zero+this.index,this.zero+this.index+a);return this.index+=a,g},o.exports=r},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(i,o,n){var s=i("./DataReader");function r(a){s.call(this,a)}i("../utils").inherits(r,s),r.prototype.byteAt=function(a){return this.data.charCodeAt(this.zero+a)},r.prototype.lastIndexOfSignature=function(a){return this.data.lastIndexOf(a)-this.zero},r.prototype.readAndCheckSignature=function(a){return a===this.readData(4)},r.prototype.readData=function(a){this.checkOffset(a);var g=this.data.slice(this.zero+this.index,this.zero+this.index+a);return this.index+=a,g},o.exports=r},{"../utils":32,"./DataReader":18}],21:[function(i,o,n){var s=i("./ArrayReader");function r(a){s.call(this,a)}i("../utils").inherits(r,s),r.prototype.readData=function(a){if(this.checkOffset(a),a===0)return new Uint8Array(0);var g=this.data.subarray(this.zero+this.index,this.zero+this.index+a);return this.index+=a,g},o.exports=r},{"../utils":32,"./ArrayReader":17}],22:[function(i,o,n){var s=i("../utils"),r=i("../support"),a=i("./ArrayReader"),g=i("./StringReader"),I=i("./NodeBufferReader"),c=i("./Uint8ArrayReader");o.exports=function(B){var l=s.getTypeOf(B);return s.checkSupport(l),l!=="string"||r.uint8array?l==="nodebuffer"?new I(B):r.uint8array?new c(s.transformTo("uint8array",B)):new a(s.transformTo("array",B)):new g(B)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(i,o,n){n.LOCAL_FILE_HEADER="PK",n.CENTRAL_FILE_HEADER="PK",n.CENTRAL_DIRECTORY_END="PK",n.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK\x07",n.ZIP64_CENTRAL_DIRECTORY_END="PK",n.DATA_DESCRIPTOR="PK\x07\b"},{}],24:[function(i,o,n){var s=i("./GenericWorker"),r=i("../utils");function a(g){s.call(this,"ConvertWorker to "+g),this.destType=g}r.inherits(a,s),a.prototype.processChunk=function(g){this.push({data:r.transformTo(this.destType,g.data),meta:g.meta})},o.exports=a},{"../utils":32,"./GenericWorker":28}],25:[function(i,o,n){var s=i("./GenericWorker"),r=i("../crc32");function a(){s.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}i("../utils").inherits(a,s),a.prototype.processChunk=function(g){this.streamInfo.crc32=r(g.data,this.streamInfo.crc32||0),this.push(g)},o.exports=a},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(i,o,n){var s=i("../utils"),r=i("./GenericWorker");function a(g){r.call(this,"DataLengthProbe for "+g),this.propName=g,this.withStreamInfo(g,0)}s.inherits(a,r),a.prototype.processChunk=function(g){if(g){var I=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=I+g.data.length}r.prototype.processChunk.call(this,g)},o.exports=a},{"../utils":32,"./GenericWorker":28}],27:[function(i,o,n){var s=i("../utils"),r=i("./GenericWorker");function a(g){r.call(this,"DataWorker");var I=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,g.then(function(c){I.dataIsReady=!0,I.data=c,I.max=c&&c.length||0,I.type=s.getTypeOf(c),I.isPaused||I._tickAndRepeat()},function(c){I.error(c)})}s.inherits(a,r),a.prototype.cleanUp=function(){r.prototype.cleanUp.call(this),this.data=null},a.prototype.resume=function(){return!!r.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,s.delay(this._tickAndRepeat,[],this)),!0)},a.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(s.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},a.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var g=null,I=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":g=this.data.substring(this.index,I);break;case"uint8array":g=this.data.subarray(this.index,I);break;case"array":case"nodebuffer":g=this.data.slice(this.index,I)}return this.index=I,this.push({data:g,meta:{percent:this.max?this.index/this.max*100:0}})},o.exports=a},{"../utils":32,"./GenericWorker":28}],28:[function(i,o,n){function s(r){this.name=r||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}s.prototype={push:function(r){this.emit("data",r)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(r){this.emit("error",r)}return!0},error:function(r){return!this.isFinished&&(this.isPaused?this.generatedError=r:(this.isFinished=!0,this.emit("error",r),this.previous&&this.previous.error(r),this.cleanUp()),!0)},on:function(r,a){return this._listeners[r].push(a),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(r,a){if(this._listeners[r])for(var g=0;g<this._listeners[r].length;g++)this._listeners[r][g].call(this,a)},pipe:function(r){return r.registerPrevious(this)},registerPrevious:function(r){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.streamInfo=r.streamInfo,this.mergeStreamInfo(),this.previous=r;var a=this;return r.on("data",function(g){a.processChunk(g)}),r.on("end",function(){a.end()}),r.on("error",function(g){a.error(g)}),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;var r=this.isPaused=!1;return this.generatedError&&(this.error(this.generatedError),r=!0),this.previous&&this.previous.resume(),!r},flush:function(){},processChunk:function(r){this.push(r)},withStreamInfo:function(r,a){return this.extraStreamInfo[r]=a,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var r in this.extraStreamInfo)Object.prototype.hasOwnProperty.call(this.extraStreamInfo,r)&&(this.streamInfo[r]=this.extraStreamInfo[r])},lock:function(){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var r="Worker "+this.name;return this.previous?this.previous+" -> "+r:r}},o.exports=s},{}],29:[function(i,o,n){var s=i("../utils"),r=i("./ConvertWorker"),a=i("./GenericWorker"),g=i("../base64"),I=i("../support"),c=i("../external"),B=null;if(I.nodestream)try{B=i("../nodejs/NodejsStreamOutputAdapter")}catch{}function l(Q,E){return new c.Promise(function(h,u){var d=[],f=Q._internalType,m=Q._outputType,S=Q._mimeType;Q.on("data",function(D,x){d.push(D),E&&E(x)}).on("error",function(D){d=[],u(D)}).on("end",function(){try{var D=(function(x,F,k){switch(x){case"blob":return s.newBlob(s.transformTo("arraybuffer",F),k);case"base64":return g.encode(F);default:return s.transformTo(x,F)}})(m,(function(x,F){var k,v=0,_=null,H=0;for(k=0;k<F.length;k++)H+=F[k].length;switch(x){case"string":return F.join("");case"array":return Array.prototype.concat.apply([],F);case"uint8array":for(_=new Uint8Array(H),k=0;k<F.length;k++)_.set(F[k],v),v+=F[k].length;return _;case"nodebuffer":return Buffer.concat(F);default:throw new Error("concat : unsupported type '"+x+"'")}})(f,d),S);h(D)}catch(x){u(x)}d=[]}).resume()})}function C(Q,E,h){var u=E;switch(E){case"blob":case"arraybuffer":u="uint8array";break;case"base64":u="string"}try{this._internalType=u,this._outputType=E,this._mimeType=h,s.checkSupport(u),this._worker=Q.pipe(new r(u)),Q.lock()}catch(d){this._worker=new a("error"),this._worker.error(d)}}C.prototype={accumulate:function(Q){return l(this,Q)},on:function(Q,E){var h=this;return Q==="data"?this._worker.on(Q,function(u){E.call(h,u.data,u.meta)}):this._worker.on(Q,function(){s.delay(E,arguments,h)}),this},resume:function(){return s.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(Q){if(s.checkSupport("nodestream"),this._outputType!=="nodebuffer")throw new Error(this._outputType+" is not supported by this method");return new B(this,{objectMode:this._outputType!=="nodebuffer"},Q)}},o.exports=C},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":13,"../support":30,"../utils":32,"./ConvertWorker":24,"./GenericWorker":28}],30:[function(i,o,n){if(n.base64=!0,n.array=!0,n.string=!0,n.arraybuffer=typeof ArrayBuffer<"u"&&typeof Uint8Array<"u",n.nodebuffer=typeof Buffer<"u",n.uint8array=typeof Uint8Array<"u",typeof ArrayBuffer>"u")n.blob=!1;else{var s=new ArrayBuffer(0);try{n.blob=new Blob([s],{type:"application/zip"}).size===0}catch{try{var r=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);r.append(s),n.blob=r.getBlob("application/zip").size===0}catch{n.blob=!1}}}try{n.nodestream=!!i("readable-stream").Readable}catch{n.nodestream=!1}},{"readable-stream":16}],31:[function(i,o,n){for(var s=i("./utils"),r=i("./support"),a=i("./nodejsUtils"),g=i("./stream/GenericWorker"),I=new Array(256),c=0;c<256;c++)I[c]=252<=c?6:248<=c?5:240<=c?4:224<=c?3:192<=c?2:1;I[254]=I[254]=1;function B(){g.call(this,"utf-8 decode"),this.leftOver=null}function l(){g.call(this,"utf-8 encode")}n.utf8encode=function(C){return r.nodebuffer?a.newBufferFrom(C,"utf-8"):(function(Q){var E,h,u,d,f,m=Q.length,S=0;for(d=0;d<m;d++)(64512&(h=Q.charCodeAt(d)))==55296&&d+1<m&&(64512&(u=Q.charCodeAt(d+1)))==56320&&(h=65536+(h-55296<<10)+(u-56320),d++),S+=h<128?1:h<2048?2:h<65536?3:4;for(E=r.uint8array?new Uint8Array(S):new Array(S),d=f=0;f<S;d++)(64512&(h=Q.charCodeAt(d)))==55296&&d+1<m&&(64512&(u=Q.charCodeAt(d+1)))==56320&&(h=65536+(h-55296<<10)+(u-56320),d++),h<128?E[f++]=h:(h<2048?E[f++]=192|h>>>6:(h<65536?E[f++]=224|h>>>12:(E[f++]=240|h>>>18,E[f++]=128|h>>>12&63),E[f++]=128|h>>>6&63),E[f++]=128|63&h);return E})(C)},n.utf8decode=function(C){return r.nodebuffer?s.transformTo("nodebuffer",C).toString("utf-8"):(function(Q){var E,h,u,d,f=Q.length,m=new Array(2*f);for(E=h=0;E<f;)if((u=Q[E++])<128)m[h++]=u;else if(4<(d=I[u]))m[h++]=65533,E+=d-1;else{for(u&=d===2?31:d===3?15:7;1<d&&E<f;)u=u<<6|63&Q[E++],d--;1<d?m[h++]=65533:u<65536?m[h++]=u:(u-=65536,m[h++]=55296|u>>10&1023,m[h++]=56320|1023&u)}return m.length!==h&&(m.subarray?m=m.subarray(0,h):m.length=h),s.applyFromCharCode(m)})(C=s.transformTo(r.uint8array?"uint8array":"array",C))},s.inherits(B,g),B.prototype.processChunk=function(C){var Q=s.transformTo(r.uint8array?"uint8array":"array",C.data);if(this.leftOver&&this.leftOver.length){if(r.uint8array){var E=Q;(Q=new Uint8Array(E.length+this.leftOver.length)).set(this.leftOver,0),Q.set(E,this.leftOver.length)}else Q=this.leftOver.concat(Q);this.leftOver=null}var h=(function(d,f){var m;for((f=f||d.length)>d.length&&(f=d.length),m=f-1;0<=m&&(192&d[m])==128;)m--;return m<0||m===0?f:m+I[d[m]]>f?m:f})(Q),u=Q;h!==Q.length&&(r.uint8array?(u=Q.subarray(0,h),this.leftOver=Q.subarray(h,Q.length)):(u=Q.slice(0,h),this.leftOver=Q.slice(h,Q.length))),this.push({data:n.utf8decode(u),meta:C.meta})},B.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:n.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},n.Utf8DecodeWorker=B,s.inherits(l,g),l.prototype.processChunk=function(C){this.push({data:n.utf8encode(C.data),meta:C.meta})},n.Utf8EncodeWorker=l},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(i,o,n){var s=i("./support"),r=i("./base64"),a=i("./nodejsUtils"),g=i("./external");function I(E){return E}function c(E,h){for(var u=0;u<E.length;++u)h[u]=255&E.charCodeAt(u);return h}i("setimmediate"),n.newBlob=function(E,h){n.checkSupport("blob");try{return new Blob([E],{type:h})}catch{try{var u=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return u.append(E),u.getBlob(h)}catch{throw new Error("Bug : can't construct the Blob.")}}};var B={stringifyByChunk:function(E,h,u){var d=[],f=0,m=E.length;if(m<=u)return String.fromCharCode.apply(null,E);for(;f<m;)h==="array"||h==="nodebuffer"?d.push(String.fromCharCode.apply(null,E.slice(f,Math.min(f+u,m)))):d.push(String.fromCharCode.apply(null,E.subarray(f,Math.min(f+u,m)))),f+=u;return d.join("")},stringifyByChar:function(E){for(var h="",u=0;u<E.length;u++)h+=String.fromCharCode(E[u]);return h},applyCanBeUsed:{uint8array:(function(){try{return s.uint8array&&String.fromCharCode.apply(null,new Uint8Array(1)).length===1}catch{return!1}})(),nodebuffer:(function(){try{return s.nodebuffer&&String.fromCharCode.apply(null,a.allocBuffer(1)).length===1}catch{return!1}})()}};function l(E){var h=65536,u=n.getTypeOf(E),d=!0;if(u==="uint8array"?d=B.applyCanBeUsed.uint8array:u==="nodebuffer"&&(d=B.applyCanBeUsed.nodebuffer),d)for(;1<h;)try{return B.stringifyByChunk(E,u,h)}catch{h=Math.floor(h/2)}return B.stringifyByChar(E)}function C(E,h){for(var u=0;u<E.length;u++)h[u]=E[u];return h}n.applyFromCharCode=l;var Q={};Q.string={string:I,array:function(E){return c(E,new Array(E.length))},arraybuffer:function(E){return Q.string.uint8array(E).buffer},uint8array:function(E){return c(E,new Uint8Array(E.length))},nodebuffer:function(E){return c(E,a.allocBuffer(E.length))}},Q.array={string:l,array:I,arraybuffer:function(E){return new Uint8Array(E).buffer},uint8array:function(E){return new Uint8Array(E)},nodebuffer:function(E){return a.newBufferFrom(E)}},Q.arraybuffer={string:function(E){return l(new Uint8Array(E))},array:function(E){return C(new Uint8Array(E),new Array(E.byteLength))},arraybuffer:I,uint8array:function(E){return new Uint8Array(E)},nodebuffer:function(E){return a.newBufferFrom(new Uint8Array(E))}},Q.uint8array={string:l,array:function(E){return C(E,new Array(E.length))},arraybuffer:function(E){return E.buffer},uint8array:I,nodebuffer:function(E){return a.newBufferFrom(E)}},Q.nodebuffer={string:l,array:function(E){return C(E,new Array(E.length))},arraybuffer:function(E){return Q.nodebuffer.uint8array(E).buffer},uint8array:function(E){return C(E,new Uint8Array(E.length))},nodebuffer:I},n.transformTo=function(E,h){if(h=h||"",!E)return h;n.checkSupport(E);var u=n.getTypeOf(h);return Q[u][E](h)},n.resolve=function(E){for(var h=E.split("/"),u=[],d=0;d<h.length;d++){var f=h[d];f==="."||f===""&&d!==0&&d!==h.length-1||(f===".."?u.pop():u.push(f))}return u.join("/")},n.getTypeOf=function(E){return typeof E=="string"?"string":Object.prototype.toString.call(E)==="[object Array]"?"array":s.nodebuffer&&a.isBuffer(E)?"nodebuffer":s.uint8array&&E instanceof Uint8Array?"uint8array":s.arraybuffer&&E instanceof ArrayBuffer?"arraybuffer":void 0},n.checkSupport=function(E){if(!s[E.toLowerCase()])throw new Error(E+" is not supported by this platform")},n.MAX_VALUE_16BITS=65535,n.MAX_VALUE_32BITS=-1,n.pretty=function(E){var h,u,d="";for(u=0;u<(E||"").length;u++)d+="\\x"+((h=E.charCodeAt(u))<16?"0":"")+h.toString(16).toUpperCase();return d},n.delay=function(E,h,u){setImmediate(function(){E.apply(u||null,h||[])})},n.inherits=function(E,h){function u(){}u.prototype=h.prototype,E.prototype=new u},n.extend=function(){var E,h,u={};for(E=0;E<arguments.length;E++)for(h in arguments[E])Object.prototype.hasOwnProperty.call(arguments[E],h)&&u[h]===void 0&&(u[h]=arguments[E][h]);return u},n.prepareContent=function(E,h,u,d,f){return g.Promise.resolve(h).then(function(m){return s.blob&&(m instanceof Blob||["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(m))!==-1)&&typeof FileReader<"u"?new g.Promise(function(S,D){var x=new FileReader;x.onload=function(F){S(F.target.result)},x.onerror=function(F){D(F.target.error)},x.readAsArrayBuffer(m)}):m}).then(function(m){var S=n.getTypeOf(m);return S?(S==="arraybuffer"?m=n.transformTo("uint8array",m):S==="string"&&(f?m=r.decode(m):u&&d!==!0&&(m=(function(D){return c(D,s.uint8array?new Uint8Array(D.length):new Array(D.length))})(m))),m):g.Promise.reject(new Error("Can't read the data of '"+E+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))})}},{"./base64":1,"./external":6,"./nodejsUtils":14,"./support":30,setimmediate:54}],33:[function(i,o,n){var s=i("./reader/readerFor"),r=i("./utils"),a=i("./signature"),g=i("./zipEntry"),I=i("./support");function c(B){this.files=[],this.loadOptions=B}c.prototype={checkSignature:function(B){if(!this.reader.readAndCheckSignature(B)){this.reader.index-=4;var l=this.reader.readString(4);throw new Error("Corrupted zip or bug: unexpected signature ("+r.pretty(l)+", expected "+r.pretty(B)+")")}},isSignature:function(B,l){var C=this.reader.index;this.reader.setIndex(B);var Q=this.reader.readString(4)===l;return this.reader.setIndex(C),Q},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var B=this.reader.readData(this.zipCommentLength),l=I.uint8array?"uint8array":"array",C=r.transformTo(l,B);this.zipComment=this.loadOptions.decodeFileName(C)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var B,l,C,Q=this.zip64EndOfCentralSize-44;0<Q;)B=this.reader.readInt(2),l=this.reader.readInt(4),C=this.reader.readData(l),this.zip64ExtensibleData[B]={id:B,length:l,value:C}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),1<this.disksCount)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var B,l;for(B=0;B<this.files.length;B++)l=this.files[B],this.reader.setIndex(l.localHeaderOffset),this.checkSignature(a.LOCAL_FILE_HEADER),l.readLocalPart(this.reader),l.handleUTF8(),l.processAttributes()},readCentralDir:function(){var B;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(a.CENTRAL_FILE_HEADER);)(B=new g({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(B);if(this.centralDirRecords!==this.files.length&&this.centralDirRecords!==0&&this.files.length===0)throw new Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length)},readEndOfCentral:function(){var B=this.reader.lastIndexOfSignature(a.CENTRAL_DIRECTORY_END);if(B<0)throw this.isSignature(0,a.LOCAL_FILE_HEADER)?new Error("Corrupted zip: can't find end of central directory"):new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html");this.reader.setIndex(B);var l=B;if(this.checkSignature(a.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===r.MAX_VALUE_16BITS||this.diskWithCentralDirStart===r.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===r.MAX_VALUE_16BITS||this.centralDirRecords===r.MAX_VALUE_16BITS||this.centralDirSize===r.MAX_VALUE_32BITS||this.centralDirOffset===r.MAX_VALUE_32BITS){if(this.zip64=!0,(B=this.reader.lastIndexOfSignature(a.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator");if(this.reader.setIndex(B),this.checkSignature(a.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,a.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(a.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error("Corrupted zip: can't find the ZIP64 end of central directory");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(a.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var C=this.centralDirOffset+this.centralDirSize;this.zip64&&(C+=20,C+=12+this.zip64EndOfCentralSize);var Q=l-C;if(0<Q)this.isSignature(l,a.CENTRAL_FILE_HEADER)||(this.reader.zero=Q);else if(Q<0)throw new Error("Corrupted zip: missing "+Math.abs(Q)+" bytes.")},prepareReader:function(B){this.reader=s(B)},load:function(B){this.prepareReader(B),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},o.exports=c},{"./reader/readerFor":22,"./signature":23,"./support":30,"./utils":32,"./zipEntry":34}],34:[function(i,o,n){var s=i("./reader/readerFor"),r=i("./utils"),a=i("./compressedObject"),g=i("./crc32"),I=i("./utf8"),c=i("./compressions"),B=i("./support");function l(C,Q){this.options=C,this.loadOptions=Q}l.prototype={isEncrypted:function(){return(1&this.bitFlag)==1},useUTF8:function(){return(2048&this.bitFlag)==2048},readLocalPart:function(C){var Q,E;if(C.skip(22),this.fileNameLength=C.readInt(2),E=C.readInt(2),this.fileName=C.readData(this.fileNameLength),C.skip(E),this.compressedSize===-1||this.uncompressedSize===-1)throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");if((Q=(function(h){for(var u in c)if(Object.prototype.hasOwnProperty.call(c,u)&&c[u].magic===h)return c[u];return null})(this.compressionMethod))===null)throw new Error("Corrupted zip : compression "+r.pretty(this.compressionMethod)+" unknown (inner file : "+r.transformTo("string",this.fileName)+")");this.decompressed=new a(this.compressedSize,this.uncompressedSize,this.crc32,Q,C.readData(this.compressedSize))},readCentralPart:function(C){this.versionMadeBy=C.readInt(2),C.skip(2),this.bitFlag=C.readInt(2),this.compressionMethod=C.readString(2),this.date=C.readDate(),this.crc32=C.readInt(4),this.compressedSize=C.readInt(4),this.uncompressedSize=C.readInt(4);var Q=C.readInt(2);if(this.extraFieldsLength=C.readInt(2),this.fileCommentLength=C.readInt(2),this.diskNumberStart=C.readInt(2),this.internalFileAttributes=C.readInt(2),this.externalFileAttributes=C.readInt(4),this.localHeaderOffset=C.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");C.skip(Q),this.readExtraFields(C),this.parseZIP64ExtraField(C),this.fileComment=C.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var C=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),C==0&&(this.dosPermissions=63&this.externalFileAttributes),C==3&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||this.fileNameStr.slice(-1)!=="/"||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var C=s(this.extraFields[1].value);this.uncompressedSize===r.MAX_VALUE_32BITS&&(this.uncompressedSize=C.readInt(8)),this.compressedSize===r.MAX_VALUE_32BITS&&(this.compressedSize=C.readInt(8)),this.localHeaderOffset===r.MAX_VALUE_32BITS&&(this.localHeaderOffset=C.readInt(8)),this.diskNumberStart===r.MAX_VALUE_32BITS&&(this.diskNumberStart=C.readInt(4))}},readExtraFields:function(C){var Q,E,h,u=C.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});C.index+4<u;)Q=C.readInt(2),E=C.readInt(2),h=C.readData(E),this.extraFields[Q]={id:Q,length:E,value:h};C.setIndex(u)},handleUTF8:function(){var C=B.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=I.utf8decode(this.fileName),this.fileCommentStr=I.utf8decode(this.fileComment);else{var Q=this.findExtraFieldUnicodePath();if(Q!==null)this.fileNameStr=Q;else{var E=r.transformTo(C,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(E)}var h=this.findExtraFieldUnicodeComment();if(h!==null)this.fileCommentStr=h;else{var u=r.transformTo(C,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(u)}}},findExtraFieldUnicodePath:function(){var C=this.extraFields[28789];if(C){var Q=s(C.value);return Q.readInt(1)!==1||g(this.fileName)!==Q.readInt(4)?null:I.utf8decode(Q.readData(C.length-5))}return null},findExtraFieldUnicodeComment:function(){var C=this.extraFields[25461];if(C){var Q=s(C.value);return Q.readInt(1)!==1||g(this.fileComment)!==Q.readInt(4)?null:I.utf8decode(Q.readData(C.length-5))}return null}},o.exports=l},{"./compressedObject":2,"./compressions":3,"./crc32":4,"./reader/readerFor":22,"./support":30,"./utf8":31,"./utils":32}],35:[function(i,o,n){function s(Q,E,h){this.name=Q,this.dir=h.dir,this.date=h.date,this.comment=h.comment,this.unixPermissions=h.unixPermissions,this.dosPermissions=h.dosPermissions,this._data=E,this._dataBinary=h.binary,this.options={compression:h.compression,compressionOptions:h.compressionOptions}}var r=i("./stream/StreamHelper"),a=i("./stream/DataWorker"),g=i("./utf8"),I=i("./compressedObject"),c=i("./stream/GenericWorker");s.prototype={internalStream:function(Q){var E=null,h="string";try{if(!Q)throw new Error("No output type specified.");var u=(h=Q.toLowerCase())==="string"||h==="text";h!=="binarystring"&&h!=="text"||(h="string"),E=this._decompressWorker();var d=!this._dataBinary;d&&!u&&(E=E.pipe(new g.Utf8EncodeWorker)),!d&&u&&(E=E.pipe(new g.Utf8DecodeWorker))}catch(f){(E=new c("error")).error(f)}return new r(E,h,"")},async:function(Q,E){return this.internalStream(Q).accumulate(E)},nodeStream:function(Q,E){return this.internalStream(Q||"nodebuffer").toNodejsStream(E)},_compressWorker:function(Q,E){if(this._data instanceof I&&this._data.compression.magic===Q.magic)return this._data.getCompressedWorker();var h=this._decompressWorker();return this._dataBinary||(h=h.pipe(new g.Utf8EncodeWorker)),I.createWorkerFrom(h,Q,E)},_decompressWorker:function(){return this._data instanceof I?this._data.getContentWorker():this._data instanceof c?this._data:new a(this._data)}};for(var B=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],l=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},C=0;C<B.length;C++)s.prototype[B[C]]=l;o.exports=s},{"./compressedObject":2,"./stream/DataWorker":27,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31}],36:[function(i,o,n){(function(s){var r,a,g=s.MutationObserver||s.WebKitMutationObserver;if(g){var I=0,c=new g(Q),B=s.document.createTextNode("");c.observe(B,{characterData:!0}),r=function(){B.data=I=++I%2}}else if(s.setImmediate||s.MessageChannel===void 0)r="document"in s&&"onreadystatechange"in s.document.createElement("script")?function(){var E=s.document.createElement("script");E.onreadystatechange=function(){Q(),E.onreadystatechange=null,E.parentNode.removeChild(E),E=null},s.document.documentElement.appendChild(E)}:function(){setTimeout(Q,0)};else{var l=new s.MessageChannel;l.port1.onmessage=Q,r=function(){l.port2.postMessage(0)}}var C=[];function Q(){var E,h;a=!0;for(var u=C.length;u;){for(h=C,C=[],E=-1;++E<u;)h[E]();u=C.length}a=!1}o.exports=function(E){C.push(E)!==1||a||r()}}).call(this,typeof hT<"u"?hT:typeof self<"u"?self:typeof window<"u"?window:{})},{}],37:[function(i,o,n){var s=i("immediate");function r(){}var a={},g=["REJECTED"],I=["FULFILLED"],c=["PENDING"];function B(u){if(typeof u!="function")throw new TypeError("resolver must be a function");this.state=c,this.queue=[],this.outcome=void 0,u!==r&&E(this,u)}function l(u,d,f){this.promise=u,typeof d=="function"&&(this.onFulfilled=d,this.callFulfilled=this.otherCallFulfilled),typeof f=="function"&&(this.onRejected=f,this.callRejected=this.otherCallRejected)}function C(u,d,f){s(function(){var m;try{m=d(f)}catch(S){return a.reject(u,S)}m===u?a.reject(u,new TypeError("Cannot resolve promise with itself")):a.resolve(u,m)})}function Q(u){var d=u&&u.then;if(u&&(typeof u=="object"||typeof u=="function")&&typeof d=="function")return function(){d.apply(u,arguments)}}function E(u,d){var f=!1;function m(x){f||(f=!0,a.reject(u,x))}function S(x){f||(f=!0,a.resolve(u,x))}var D=h(function(){d(S,m)});D.status==="error"&&m(D.value)}function h(u,d){var f={};try{f.value=u(d),f.status="success"}catch(m){f.status="error",f.value=m}return f}(o.exports=B).prototype.finally=function(u){if(typeof u!="function")return this;var d=this.constructor;return this.then(function(f){return d.resolve(u()).then(function(){return f})},function(f){return d.resolve(u()).then(function(){throw f})})},B.prototype.catch=function(u){return this.then(null,u)},B.prototype.then=function(u,d){if(typeof u!="function"&&this.state===I||typeof d!="function"&&this.state===g)return this;var f=new this.constructor(r);return this.state!==c?C(f,this.state===I?u:d,this.outcome):this.queue.push(new l(f,u,d)),f},l.prototype.callFulfilled=function(u){a.resolve(this.promise,u)},l.prototype.otherCallFulfilled=function(u){C(this.promise,this.onFulfilled,u)},l.prototype.callRejected=function(u){a.reject(this.promise,u)},l.prototype.otherCallRejected=function(u){C(this.promise,this.onRejected,u)},a.resolve=function(u,d){var f=h(Q,d);if(f.status==="error")return a.reject(u,f.value);var m=f.value;if(m)E(u,m);else{u.state=I,u.outcome=d;for(var S=-1,D=u.queue.length;++S<D;)u.queue[S].callFulfilled(d)}return u},a.reject=function(u,d){u.state=g,u.outcome=d;for(var f=-1,m=u.queue.length;++f<m;)u.queue[f].callRejected(d);return u},B.resolve=function(u){return u instanceof this?u:a.resolve(new this(r),u)},B.reject=function(u){var d=new this(r);return a.reject(d,u)},B.all=function(u){var d=this;if(Object.prototype.toString.call(u)!=="[object Array]")return this.reject(new TypeError("must be an array"));var f=u.length,m=!1;if(!f)return this.resolve([]);for(var S=new Array(f),D=0,x=-1,F=new this(r);++x<f;)k(u[x],x);return F;function k(v,_){d.resolve(v).then(function(H){S[_]=H,++D!==f||m||(m=!0,a.resolve(F,S))},function(H){m||(m=!0,a.reject(F,H))})}},B.race=function(u){var d=this;if(Object.prototype.toString.call(u)!=="[object Array]")return this.reject(new TypeError("must be an array"));var f=u.length,m=!1;if(!f)return this.resolve([]);for(var S=-1,D=new this(r);++S<f;)x=u[S],d.resolve(x).then(function(F){m||(m=!0,a.resolve(D,F))},function(F){m||(m=!0,a.reject(D,F))});var x;return D}},{immediate:36}],38:[function(i,o,n){var s={};(0,i("./lib/utils/common").assign)(s,i("./lib/deflate"),i("./lib/inflate"),i("./lib/zlib/constants")),o.exports=s},{"./lib/deflate":39,"./lib/inflate":40,"./lib/utils/common":41,"./lib/zlib/constants":44}],39:[function(i,o,n){var s=i("./zlib/deflate"),r=i("./utils/common"),a=i("./utils/strings"),g=i("./zlib/messages"),I=i("./zlib/zstream"),c=Object.prototype.toString,B=0,l=-1,C=0,Q=8;function E(u){if(!(this instanceof E))return new E(u);this.options=r.assign({level:l,method:Q,chunkSize:16384,windowBits:15,memLevel:8,strategy:C,to:""},u||{});var d=this.options;d.raw&&0<d.windowBits?d.windowBits=-d.windowBits:d.gzip&&0<d.windowBits&&d.windowBits<16&&(d.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new I,this.strm.avail_out=0;var f=s.deflateInit2(this.strm,d.level,d.method,d.windowBits,d.memLevel,d.strategy);if(f!==B)throw new Error(g[f]);if(d.header&&s.deflateSetHeader(this.strm,d.header),d.dictionary){var m;if(m=typeof d.dictionary=="string"?a.string2buf(d.dictionary):c.call(d.dictionary)==="[object ArrayBuffer]"?new Uint8Array(d.dictionary):d.dictionary,(f=s.deflateSetDictionary(this.strm,m))!==B)throw new Error(g[f]);this._dict_set=!0}}function h(u,d){var f=new E(d);if(f.push(u,!0),f.err)throw f.msg||g[f.err];return f.result}E.prototype.push=function(u,d){var f,m,S=this.strm,D=this.options.chunkSize;if(this.ended)return!1;m=d===~~d?d:d===!0?4:0,typeof u=="string"?S.input=a.string2buf(u):c.call(u)==="[object ArrayBuffer]"?S.input=new Uint8Array(u):S.input=u,S.next_in=0,S.avail_in=S.input.length;do{if(S.avail_out===0&&(S.output=new r.Buf8(D),S.next_out=0,S.avail_out=D),(f=s.deflate(S,m))!==1&&f!==B)return this.onEnd(f),!(this.ended=!0);S.avail_out!==0&&(S.avail_in!==0||m!==4&&m!==2)||(this.options.to==="string"?this.onData(a.buf2binstring(r.shrinkBuf(S.output,S.next_out))):this.onData(r.shrinkBuf(S.output,S.next_out)))}while((0<S.avail_in||S.avail_out===0)&&f!==1);return m===4?(f=s.deflateEnd(this.strm),this.onEnd(f),this.ended=!0,f===B):m!==2||(this.onEnd(B),!(S.avail_out=0))},E.prototype.onData=function(u){this.chunks.push(u)},E.prototype.onEnd=function(u){u===B&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=r.flattenChunks(this.chunks)),this.chunks=[],this.err=u,this.msg=this.strm.msg},n.Deflate=E,n.deflate=h,n.deflateRaw=function(u,d){return(d=d||{}).raw=!0,h(u,d)},n.gzip=function(u,d){return(d=d||{}).gzip=!0,h(u,d)}},{"./utils/common":41,"./utils/strings":42,"./zlib/deflate":46,"./zlib/messages":51,"./zlib/zstream":53}],40:[function(i,o,n){var s=i("./zlib/inflate"),r=i("./utils/common"),a=i("./utils/strings"),g=i("./zlib/constants"),I=i("./zlib/messages"),c=i("./zlib/zstream"),B=i("./zlib/gzheader"),l=Object.prototype.toString;function C(E){if(!(this instanceof C))return new C(E);this.options=r.assign({chunkSize:16384,windowBits:0,to:""},E||{});var h=this.options;h.raw&&0<=h.windowBits&&h.windowBits<16&&(h.windowBits=-h.windowBits,h.windowBits===0&&(h.windowBits=-15)),!(0<=h.windowBits&&h.windowBits<16)||E&&E.windowBits||(h.windowBits+=32),15<h.windowBits&&h.windowBits<48&&(15&h.windowBits)==0&&(h.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new c,this.strm.avail_out=0;var u=s.inflateInit2(this.strm,h.windowBits);if(u!==g.Z_OK)throw new Error(I[u]);this.header=new B,s.inflateGetHeader(this.strm,this.header)}function Q(E,h){var u=new C(h);if(u.push(E,!0),u.err)throw u.msg||I[u.err];return u.result}C.prototype.push=function(E,h){var u,d,f,m,S,D,x=this.strm,F=this.options.chunkSize,k=this.options.dictionary,v=!1;if(this.ended)return!1;d=h===~~h?h:h===!0?g.Z_FINISH:g.Z_NO_FLUSH,typeof E=="string"?x.input=a.binstring2buf(E):l.call(E)==="[object ArrayBuffer]"?x.input=new Uint8Array(E):x.input=E,x.next_in=0,x.avail_in=x.input.length;do{if(x.avail_out===0&&(x.output=new r.Buf8(F),x.next_out=0,x.avail_out=F),(u=s.inflate(x,g.Z_NO_FLUSH))===g.Z_NEED_DICT&&k&&(D=typeof k=="string"?a.string2buf(k):l.call(k)==="[object ArrayBuffer]"?new Uint8Array(k):k,u=s.inflateSetDictionary(this.strm,D)),u===g.Z_BUF_ERROR&&v===!0&&(u=g.Z_OK,v=!1),u!==g.Z_STREAM_END&&u!==g.Z_OK)return this.onEnd(u),!(this.ended=!0);x.next_out&&(x.avail_out!==0&&u!==g.Z_STREAM_END&&(x.avail_in!==0||d!==g.Z_FINISH&&d!==g.Z_SYNC_FLUSH)||(this.options.to==="string"?(f=a.utf8border(x.output,x.next_out),m=x.next_out-f,S=a.buf2string(x.output,f),x.next_out=m,x.avail_out=F-m,m&&r.arraySet(x.output,x.output,f,m,0),this.onData(S)):this.onData(r.shrinkBuf(x.output,x.next_out)))),x.avail_in===0&&x.avail_out===0&&(v=!0)}while((0<x.avail_in||x.avail_out===0)&&u!==g.Z_STREAM_END);return u===g.Z_STREAM_END&&(d=g.Z_FINISH),d===g.Z_FINISH?(u=s.inflateEnd(this.strm),this.onEnd(u),this.ended=!0,u===g.Z_OK):d!==g.Z_SYNC_FLUSH||(this.onEnd(g.Z_OK),!(x.avail_out=0))},C.prototype.onData=function(E){this.chunks.push(E)},C.prototype.onEnd=function(E){E===g.Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=r.flattenChunks(this.chunks)),this.chunks=[],this.err=E,this.msg=this.strm.msg},n.Inflate=C,n.inflate=Q,n.inflateRaw=function(E,h){return(h=h||{}).raw=!0,Q(E,h)},n.ungzip=Q},{"./utils/common":41,"./utils/strings":42,"./zlib/constants":44,"./zlib/gzheader":47,"./zlib/inflate":49,"./zlib/messages":51,"./zlib/zstream":53}],41:[function(i,o,n){var s=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Int32Array<"u";n.assign=function(g){for(var I=Array.prototype.slice.call(arguments,1);I.length;){var c=I.shift();if(c){if(typeof c!="object")throw new TypeError(c+"must be non-object");for(var B in c)c.hasOwnProperty(B)&&(g[B]=c[B])}}return g},n.shrinkBuf=function(g,I){return g.length===I?g:g.subarray?g.subarray(0,I):(g.length=I,g)};var r={arraySet:function(g,I,c,B,l){if(I.subarray&&g.subarray)g.set(I.subarray(c,c+B),l);else for(var C=0;C<B;C++)g[l+C]=I[c+C]},flattenChunks:function(g){var I,c,B,l,C,Q;for(I=B=0,c=g.length;I<c;I++)B+=g[I].length;for(Q=new Uint8Array(B),I=l=0,c=g.length;I<c;I++)C=g[I],Q.set(C,l),l+=C.length;return Q}},a={arraySet:function(g,I,c,B,l){for(var C=0;C<B;C++)g[l+C]=I[c+C]},flattenChunks:function(g){return[].concat.apply([],g)}};n.setTyped=function(g){g?(n.Buf8=Uint8Array,n.Buf16=Uint16Array,n.Buf32=Int32Array,n.assign(n,r)):(n.Buf8=Array,n.Buf16=Array,n.Buf32=Array,n.assign(n,a))},n.setTyped(s)},{}],42:[function(i,o,n){var s=i("./common"),r=!0,a=!0;try{String.fromCharCode.apply(null,[0])}catch{r=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{a=!1}for(var g=new s.Buf8(256),I=0;I<256;I++)g[I]=252<=I?6:248<=I?5:240<=I?4:224<=I?3:192<=I?2:1;function c(B,l){if(l<65537&&(B.subarray&&a||!B.subarray&&r))return String.fromCharCode.apply(null,s.shrinkBuf(B,l));for(var C="",Q=0;Q<l;Q++)C+=String.fromCharCode(B[Q]);return C}g[254]=g[254]=1,n.string2buf=function(B){var l,C,Q,E,h,u=B.length,d=0;for(E=0;E<u;E++)(64512&(C=B.charCodeAt(E)))==55296&&E+1<u&&(64512&(Q=B.charCodeAt(E+1)))==56320&&(C=65536+(C-55296<<10)+(Q-56320),E++),d+=C<128?1:C<2048?2:C<65536?3:4;for(l=new s.Buf8(d),E=h=0;h<d;E++)(64512&(C=B.charCodeAt(E)))==55296&&E+1<u&&(64512&(Q=B.charCodeAt(E+1)))==56320&&(C=65536+(C-55296<<10)+(Q-56320),E++),C<128?l[h++]=C:(C<2048?l[h++]=192|C>>>6:(C<65536?l[h++]=224|C>>>12:(l[h++]=240|C>>>18,l[h++]=128|C>>>12&63),l[h++]=128|C>>>6&63),l[h++]=128|63&C);return l},n.buf2binstring=function(B){return c(B,B.length)},n.binstring2buf=function(B){for(var l=new s.Buf8(B.length),C=0,Q=l.length;C<Q;C++)l[C]=B.charCodeAt(C);return l},n.buf2string=function(B,l){var C,Q,E,h,u=l||B.length,d=new Array(2*u);for(C=Q=0;C<u;)if((E=B[C++])<128)d[Q++]=E;else if(4<(h=g[E]))d[Q++]=65533,C+=h-1;else{for(E&=h===2?31:h===3?15:7;1<h&&C<u;)E=E<<6|63&B[C++],h--;1<h?d[Q++]=65533:E<65536?d[Q++]=E:(E-=65536,d[Q++]=55296|E>>10&1023,d[Q++]=56320|1023&E)}return c(d,Q)},n.utf8border=function(B,l){var C;for((l=l||B.length)>B.length&&(l=B.length),C=l-1;0<=C&&(192&B[C])==128;)C--;return C<0||C===0?l:C+g[B[C]]>l?C:l}},{"./common":41}],43:[function(i,o,n){o.exports=function(s,r,a,g){for(var I=65535&s|0,c=s>>>16&65535|0,B=0;a!==0;){for(a-=B=2e3<a?2e3:a;c=c+(I=I+r[g++]|0)|0,--B;);I%=65521,c%=65521}return I|c<<16|0}},{}],44:[function(i,o,n){o.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],45:[function(i,o,n){var s=(function(){for(var r,a=[],g=0;g<256;g++){r=g;for(var I=0;I<8;I++)r=1&r?3988292384^r>>>1:r>>>1;a[g]=r}return a})();o.exports=function(r,a,g,I){var c=s,B=I+g;r^=-1;for(var l=I;l<B;l++)r=r>>>8^c[255&(r^a[l])];return-1^r}},{}],46:[function(i,o,n){var s,r=i("../utils/common"),a=i("./trees"),g=i("./adler32"),I=i("./crc32"),c=i("./messages"),B=0,l=4,C=0,Q=-2,E=-1,h=4,u=2,d=8,f=9,m=286,S=30,D=19,x=2*m+1,F=15,k=3,v=258,_=v+k+1,H=42,P=113,J=1,W=2,Z=3,AA=4;function nA(yA,qA){return yA.msg=c[qA],qA}function gA(yA){return(yA<<1)-(4<yA?9:0)}function tA(yA){for(var qA=yA.length;0<=--qA;)yA[qA]=0}function iA(yA){var qA=yA.state,YA=qA.pending;YA>yA.avail_out&&(YA=yA.avail_out),YA!==0&&(r.arraySet(yA.output,qA.pending_buf,qA.pending_out,YA,yA.next_out),yA.next_out+=YA,qA.pending_out+=YA,yA.total_out+=YA,yA.avail_out-=YA,qA.pending-=YA,qA.pending===0&&(qA.pending_out=0))}function rA(yA,qA){a._tr_flush_block(yA,0<=yA.block_start?yA.block_start:-1,yA.strstart-yA.block_start,qA),yA.block_start=yA.strstart,iA(yA.strm)}function CA(yA,qA){yA.pending_buf[yA.pending++]=qA}function dA(yA,qA){yA.pending_buf[yA.pending++]=qA>>>8&255,yA.pending_buf[yA.pending++]=255&qA}function SA(yA,qA){var YA,UA,OA=yA.max_chain_length,FA=yA.strstart,DA=yA.prev_length,TA=yA.nice_match,GA=yA.strstart>yA.w_size-_?yA.strstart-(yA.w_size-_):0,LA=yA.window,PA=yA.w_mask,ie=yA.prev,mA=yA.strstart+v,BA=LA[FA+DA-1],EA=LA[FA+DA];yA.prev_length>=yA.good_match&&(OA>>=2),TA>yA.lookahead&&(TA=yA.lookahead);do if(LA[(YA=qA)+DA]===EA&&LA[YA+DA-1]===BA&&LA[YA]===LA[FA]&&LA[++YA]===LA[FA+1]){FA+=2,YA++;do;while(LA[++FA]===LA[++YA]&&LA[++FA]===LA[++YA]&&LA[++FA]===LA[++YA]&&LA[++FA]===LA[++YA]&&LA[++FA]===LA[++YA]&&LA[++FA]===LA[++YA]&&LA[++FA]===LA[++YA]&&LA[++FA]===LA[++YA]&&FA<mA);if(UA=v-(mA-FA),FA=mA-v,DA<UA){if(yA.match_start=qA,TA<=(DA=UA))break;BA=LA[FA+DA-1],EA=LA[FA+DA]}}while((qA=ie[qA&PA])>GA&&--OA!=0);return DA<=yA.lookahead?DA:yA.lookahead}function xA(yA){var qA,YA,UA,OA,FA,DA,TA,GA,LA,PA,ie=yA.w_size;do{if(OA=yA.window_size-yA.lookahead-yA.strstart,yA.strstart>=ie+(ie-_)){for(r.arraySet(yA.window,yA.window,ie,ie,0),yA.match_start-=ie,yA.strstart-=ie,yA.block_start-=ie,qA=YA=yA.hash_size;UA=yA.head[--qA],yA.head[qA]=ie<=UA?UA-ie:0,--YA;);for(qA=YA=ie;UA=yA.prev[--qA],yA.prev[qA]=ie<=UA?UA-ie:0,--YA;);OA+=ie}if(yA.strm.avail_in===0)break;if(DA=yA.strm,TA=yA.window,GA=yA.strstart+yA.lookahead,LA=OA,PA=void 0,PA=DA.avail_in,LA<PA&&(PA=LA),YA=PA===0?0:(DA.avail_in-=PA,r.arraySet(TA,DA.input,DA.next_in,PA,GA),DA.state.wrap===1?DA.adler=g(DA.adler,TA,PA,GA):DA.state.wrap===2&&(DA.adler=I(DA.adler,TA,PA,GA)),DA.next_in+=PA,DA.total_in+=PA,PA),yA.lookahead+=YA,yA.lookahead+yA.insert>=k)for(FA=yA.strstart-yA.insert,yA.ins_h=yA.window[FA],yA.ins_h=(yA.ins_h<<yA.hash_shift^yA.window[FA+1])&yA.hash_mask;yA.insert&&(yA.ins_h=(yA.ins_h<<yA.hash_shift^yA.window[FA+k-1])&yA.hash_mask,yA.prev[FA&yA.w_mask]=yA.head[yA.ins_h],yA.head[yA.ins_h]=FA,FA++,yA.insert--,!(yA.lookahead+yA.insert<k)););}while(yA.lookahead<_&&yA.strm.avail_in!==0)}function JA(yA,qA){for(var YA,UA;;){if(yA.lookahead<_){if(xA(yA),yA.lookahead<_&&qA===B)return J;if(yA.lookahead===0)break}if(YA=0,yA.lookahead>=k&&(yA.ins_h=(yA.ins_h<<yA.hash_shift^yA.window[yA.strstart+k-1])&yA.hash_mask,YA=yA.prev[yA.strstart&yA.w_mask]=yA.head[yA.ins_h],yA.head[yA.ins_h]=yA.strstart),YA!==0&&yA.strstart-YA<=yA.w_size-_&&(yA.match_length=SA(yA,YA)),yA.match_length>=k)if(UA=a._tr_tally(yA,yA.strstart-yA.match_start,yA.match_length-k),yA.lookahead-=yA.match_length,yA.match_length<=yA.max_lazy_match&&yA.lookahead>=k){for(yA.match_length--;yA.strstart++,yA.ins_h=(yA.ins_h<<yA.hash_shift^yA.window[yA.strstart+k-1])&yA.hash_mask,YA=yA.prev[yA.strstart&yA.w_mask]=yA.head[yA.ins_h],yA.head[yA.ins_h]=yA.strstart,--yA.match_length!=0;);yA.strstart++}else yA.strstart+=yA.match_length,yA.match_length=0,yA.ins_h=yA.window[yA.strstart],yA.ins_h=(yA.ins_h<<yA.hash_shift^yA.window[yA.strstart+1])&yA.hash_mask;else UA=a._tr_tally(yA,0,yA.window[yA.strstart]),yA.lookahead--,yA.strstart++;if(UA&&(rA(yA,!1),yA.strm.avail_out===0))return J}return yA.insert=yA.strstart<k-1?yA.strstart:k-1,qA===l?(rA(yA,!0),yA.strm.avail_out===0?Z:AA):yA.last_lit&&(rA(yA,!1),yA.strm.avail_out===0)?J:W}function lA(yA,qA){for(var YA,UA,OA;;){if(yA.lookahead<_){if(xA(yA),yA.lookahead<_&&qA===B)return J;if(yA.lookahead===0)break}if(YA=0,yA.lookahead>=k&&(yA.ins_h=(yA.ins_h<<yA.hash_shift^yA.window[yA.strstart+k-1])&yA.hash_mask,YA=yA.prev[yA.strstart&yA.w_mask]=yA.head[yA.ins_h],yA.head[yA.ins_h]=yA.strstart),yA.prev_length=yA.match_length,yA.prev_match=yA.match_start,yA.match_length=k-1,YA!==0&&yA.prev_length<yA.max_lazy_match&&yA.strstart-YA<=yA.w_size-_&&(yA.match_length=SA(yA,YA),yA.match_length<=5&&(yA.strategy===1||yA.match_length===k&&4096<yA.strstart-yA.match_start)&&(yA.match_length=k-1)),yA.prev_length>=k&&yA.match_length<=yA.prev_length){for(OA=yA.strstart+yA.lookahead-k,UA=a._tr_tally(yA,yA.strstart-1-yA.prev_match,yA.prev_length-k),yA.lookahead-=yA.prev_length-1,yA.prev_length-=2;++yA.strstart<=OA&&(yA.ins_h=(yA.ins_h<<yA.hash_shift^yA.window[yA.strstart+k-1])&yA.hash_mask,YA=yA.prev[yA.strstart&yA.w_mask]=yA.head[yA.ins_h],yA.head[yA.ins_h]=yA.strstart),--yA.prev_length!=0;);if(yA.match_available=0,yA.match_length=k-1,yA.strstart++,UA&&(rA(yA,!1),yA.strm.avail_out===0))return J}else if(yA.match_available){if((UA=a._tr_tally(yA,0,yA.window[yA.strstart-1]))&&rA(yA,!1),yA.strstart++,yA.lookahead--,yA.strm.avail_out===0)return J}else yA.match_available=1,yA.strstart++,yA.lookahead--}return yA.match_available&&(UA=a._tr_tally(yA,0,yA.window[yA.strstart-1]),yA.match_available=0),yA.insert=yA.strstart<k-1?yA.strstart:k-1,qA===l?(rA(yA,!0),yA.strm.avail_out===0?Z:AA):yA.last_lit&&(rA(yA,!1),yA.strm.avail_out===0)?J:W}function RA(yA,qA,YA,UA,OA){this.good_length=yA,this.max_lazy=qA,this.nice_length=YA,this.max_chain=UA,this.func=OA}function uA(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=d,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new r.Buf16(2*x),this.dyn_dtree=new r.Buf16(2*(2*S+1)),this.bl_tree=new r.Buf16(2*(2*D+1)),tA(this.dyn_ltree),tA(this.dyn_dtree),tA(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new r.Buf16(F+1),this.heap=new r.Buf16(2*m+1),tA(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new r.Buf16(2*m+1),tA(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function KA(yA){var qA;return yA&&yA.state?(yA.total_in=yA.total_out=0,yA.data_type=u,(qA=yA.state).pending=0,qA.pending_out=0,qA.wrap<0&&(qA.wrap=-qA.wrap),qA.status=qA.wrap?H:P,yA.adler=qA.wrap===2?0:1,qA.last_flush=B,a._tr_init(qA),C):nA(yA,Q)}function $A(yA){var qA=KA(yA);return qA===C&&(function(YA){YA.window_size=2*YA.w_size,tA(YA.head),YA.max_lazy_match=s[YA.level].max_lazy,YA.good_match=s[YA.level].good_length,YA.nice_match=s[YA.level].nice_length,YA.max_chain_length=s[YA.level].max_chain,YA.strstart=0,YA.block_start=0,YA.lookahead=0,YA.insert=0,YA.match_length=YA.prev_length=k-1,YA.match_available=0,YA.ins_h=0})(yA.state),qA}function ge(yA,qA,YA,UA,OA,FA){if(!yA)return Q;var DA=1;if(qA===E&&(qA=6),UA<0?(DA=0,UA=-UA):15<UA&&(DA=2,UA-=16),OA<1||f<OA||YA!==d||UA<8||15<UA||qA<0||9<qA||FA<0||h<FA)return nA(yA,Q);UA===8&&(UA=9);var TA=new uA;return(yA.state=TA).strm=yA,TA.wrap=DA,TA.gzhead=null,TA.w_bits=UA,TA.w_size=1<<TA.w_bits,TA.w_mask=TA.w_size-1,TA.hash_bits=OA+7,TA.hash_size=1<<TA.hash_bits,TA.hash_mask=TA.hash_size-1,TA.hash_shift=~~((TA.hash_bits+k-1)/k),TA.window=new r.Buf8(2*TA.w_size),TA.head=new r.Buf16(TA.hash_size),TA.prev=new r.Buf16(TA.w_size),TA.lit_bufsize=1<<OA+6,TA.pending_buf_size=4*TA.lit_bufsize,TA.pending_buf=new r.Buf8(TA.pending_buf_size),TA.d_buf=1*TA.lit_bufsize,TA.l_buf=3*TA.lit_bufsize,TA.level=qA,TA.strategy=FA,TA.method=YA,$A(yA)}s=[new RA(0,0,0,0,function(yA,qA){var YA=65535;for(YA>yA.pending_buf_size-5&&(YA=yA.pending_buf_size-5);;){if(yA.lookahead<=1){if(xA(yA),yA.lookahead===0&&qA===B)return J;if(yA.lookahead===0)break}yA.strstart+=yA.lookahead,yA.lookahead=0;var UA=yA.block_start+YA;if((yA.strstart===0||yA.strstart>=UA)&&(yA.lookahead=yA.strstart-UA,yA.strstart=UA,rA(yA,!1),yA.strm.avail_out===0)||yA.strstart-yA.block_start>=yA.w_size-_&&(rA(yA,!1),yA.strm.avail_out===0))return J}return yA.insert=0,qA===l?(rA(yA,!0),yA.strm.avail_out===0?Z:AA):(yA.strstart>yA.block_start&&(rA(yA,!1),yA.strm.avail_out),J)}),new RA(4,4,8,4,JA),new RA(4,5,16,8,JA),new RA(4,6,32,32,JA),new RA(4,4,16,16,lA),new RA(8,16,32,32,lA),new RA(8,16,128,128,lA),new RA(8,32,128,256,lA),new RA(32,128,258,1024,lA),new RA(32,258,258,4096,lA)],n.deflateInit=function(yA,qA){return ge(yA,qA,d,15,8,0)},n.deflateInit2=ge,n.deflateReset=$A,n.deflateResetKeep=KA,n.deflateSetHeader=function(yA,qA){return yA&&yA.state?yA.state.wrap!==2?Q:(yA.state.gzhead=qA,C):Q},n.deflate=function(yA,qA){var YA,UA,OA,FA;if(!yA||!yA.state||5<qA||qA<0)return yA?nA(yA,Q):Q;if(UA=yA.state,!yA.output||!yA.input&&yA.avail_in!==0||UA.status===666&&qA!==l)return nA(yA,yA.avail_out===0?-5:Q);if(UA.strm=yA,YA=UA.last_flush,UA.last_flush=qA,UA.status===H)if(UA.wrap===2)yA.adler=0,CA(UA,31),CA(UA,139),CA(UA,8),UA.gzhead?(CA(UA,(UA.gzhead.text?1:0)+(UA.gzhead.hcrc?2:0)+(UA.gzhead.extra?4:0)+(UA.gzhead.name?8:0)+(UA.gzhead.comment?16:0)),CA(UA,255&UA.gzhead.time),CA(UA,UA.gzhead.time>>8&255),CA(UA,UA.gzhead.time>>16&255),CA(UA,UA.gzhead.time>>24&255),CA(UA,UA.level===9?2:2<=UA.strategy||UA.level<2?4:0),CA(UA,255&UA.gzhead.os),UA.gzhead.extra&&UA.gzhead.extra.length&&(CA(UA,255&UA.gzhead.extra.length),CA(UA,UA.gzhead.extra.length>>8&255)),UA.gzhead.hcrc&&(yA.adler=I(yA.adler,UA.pending_buf,UA.pending,0)),UA.gzindex=0,UA.status=69):(CA(UA,0),CA(UA,0),CA(UA,0),CA(UA,0),CA(UA,0),CA(UA,UA.level===9?2:2<=UA.strategy||UA.level<2?4:0),CA(UA,3),UA.status=P);else{var DA=d+(UA.w_bits-8<<4)<<8;DA|=(2<=UA.strategy||UA.level<2?0:UA.level<6?1:UA.level===6?2:3)<<6,UA.strstart!==0&&(DA|=32),DA+=31-DA%31,UA.status=P,dA(UA,DA),UA.strstart!==0&&(dA(UA,yA.adler>>>16),dA(UA,65535&yA.adler)),yA.adler=1}if(UA.status===69)if(UA.gzhead.extra){for(OA=UA.pending;UA.gzindex<(65535&UA.gzhead.extra.length)&&(UA.pending!==UA.pending_buf_size||(UA.gzhead.hcrc&&UA.pending>OA&&(yA.adler=I(yA.adler,UA.pending_buf,UA.pending-OA,OA)),iA(yA),OA=UA.pending,UA.pending!==UA.pending_buf_size));)CA(UA,255&UA.gzhead.extra[UA.gzindex]),UA.gzindex++;UA.gzhead.hcrc&&UA.pending>OA&&(yA.adler=I(yA.adler,UA.pending_buf,UA.pending-OA,OA)),UA.gzindex===UA.gzhead.extra.length&&(UA.gzindex=0,UA.status=73)}else UA.status=73;if(UA.status===73)if(UA.gzhead.name){OA=UA.pending;do{if(UA.pending===UA.pending_buf_size&&(UA.gzhead.hcrc&&UA.pending>OA&&(yA.adler=I(yA.adler,UA.pending_buf,UA.pending-OA,OA)),iA(yA),OA=UA.pending,UA.pending===UA.pending_buf_size)){FA=1;break}FA=UA.gzindex<UA.gzhead.name.length?255&UA.gzhead.name.charCodeAt(UA.gzindex++):0,CA(UA,FA)}while(FA!==0);UA.gzhead.hcrc&&UA.pending>OA&&(yA.adler=I(yA.adler,UA.pending_buf,UA.pending-OA,OA)),FA===0&&(UA.gzindex=0,UA.status=91)}else UA.status=91;if(UA.status===91)if(UA.gzhead.comment){OA=UA.pending;do{if(UA.pending===UA.pending_buf_size&&(UA.gzhead.hcrc&&UA.pending>OA&&(yA.adler=I(yA.adler,UA.pending_buf,UA.pending-OA,OA)),iA(yA),OA=UA.pending,UA.pending===UA.pending_buf_size)){FA=1;break}FA=UA.gzindex<UA.gzhead.comment.length?255&UA.gzhead.comment.charCodeAt(UA.gzindex++):0,CA(UA,FA)}while(FA!==0);UA.gzhead.hcrc&&UA.pending>OA&&(yA.adler=I(yA.adler,UA.pending_buf,UA.pending-OA,OA)),FA===0&&(UA.status=103)}else UA.status=103;if(UA.status===103&&(UA.gzhead.hcrc?(UA.pending+2>UA.pending_buf_size&&iA(yA),UA.pending+2<=UA.pending_buf_size&&(CA(UA,255&yA.adler),CA(UA,yA.adler>>8&255),yA.adler=0,UA.status=P)):UA.status=P),UA.pending!==0){if(iA(yA),yA.avail_out===0)return UA.last_flush=-1,C}else if(yA.avail_in===0&&gA(qA)<=gA(YA)&&qA!==l)return nA(yA,-5);if(UA.status===666&&yA.avail_in!==0)return nA(yA,-5);if(yA.avail_in!==0||UA.lookahead!==0||qA!==B&&UA.status!==666){var TA=UA.strategy===2?(function(GA,LA){for(var PA;;){if(GA.lookahead===0&&(xA(GA),GA.lookahead===0)){if(LA===B)return J;break}if(GA.match_length=0,PA=a._tr_tally(GA,0,GA.window[GA.strstart]),GA.lookahead--,GA.strstart++,PA&&(rA(GA,!1),GA.strm.avail_out===0))return J}return GA.insert=0,LA===l?(rA(GA,!0),GA.strm.avail_out===0?Z:AA):GA.last_lit&&(rA(GA,!1),GA.strm.avail_out===0)?J:W})(UA,qA):UA.strategy===3?(function(GA,LA){for(var PA,ie,mA,BA,EA=GA.window;;){if(GA.lookahead<=v){if(xA(GA),GA.lookahead<=v&&LA===B)return J;if(GA.lookahead===0)break}if(GA.match_length=0,GA.lookahead>=k&&0<GA.strstart&&(ie=EA[mA=GA.strstart-1])===EA[++mA]&&ie===EA[++mA]&&ie===EA[++mA]){BA=GA.strstart+v;do;while(ie===EA[++mA]&&ie===EA[++mA]&&ie===EA[++mA]&&ie===EA[++mA]&&ie===EA[++mA]&&ie===EA[++mA]&&ie===EA[++mA]&&ie===EA[++mA]&&mA<BA);GA.match_length=v-(BA-mA),GA.match_length>GA.lookahead&&(GA.match_length=GA.lookahead)}if(GA.match_length>=k?(PA=a._tr_tally(GA,1,GA.match_length-k),GA.lookahead-=GA.match_length,GA.strstart+=GA.match_length,GA.match_length=0):(PA=a._tr_tally(GA,0,GA.window[GA.strstart]),GA.lookahead--,GA.strstart++),PA&&(rA(GA,!1),GA.strm.avail_out===0))return J}return GA.insert=0,LA===l?(rA(GA,!0),GA.strm.avail_out===0?Z:AA):GA.last_lit&&(rA(GA,!1),GA.strm.avail_out===0)?J:W})(UA,qA):s[UA.level].func(UA,qA);if(TA!==Z&&TA!==AA||(UA.status=666),TA===J||TA===Z)return yA.avail_out===0&&(UA.last_flush=-1),C;if(TA===W&&(qA===1?a._tr_align(UA):qA!==5&&(a._tr_stored_block(UA,0,0,!1),qA===3&&(tA(UA.head),UA.lookahead===0&&(UA.strstart=0,UA.block_start=0,UA.insert=0))),iA(yA),yA.avail_out===0))return UA.last_flush=-1,C}return qA!==l?C:UA.wrap<=0?1:(UA.wrap===2?(CA(UA,255&yA.adler),CA(UA,yA.adler>>8&255),CA(UA,yA.adler>>16&255),CA(UA,yA.adler>>24&255),CA(UA,255&yA.total_in),CA(UA,yA.total_in>>8&255),CA(UA,yA.total_in>>16&255),CA(UA,yA.total_in>>24&255)):(dA(UA,yA.adler>>>16),dA(UA,65535&yA.adler)),iA(yA),0<UA.wrap&&(UA.wrap=-UA.wrap),UA.pending!==0?C:1)},n.deflateEnd=function(yA){var qA;return yA&&yA.state?(qA=yA.state.status)!==H&&qA!==69&&qA!==73&&qA!==91&&qA!==103&&qA!==P&&qA!==666?nA(yA,Q):(yA.state=null,qA===P?nA(yA,-3):C):Q},n.deflateSetDictionary=function(yA,qA){var YA,UA,OA,FA,DA,TA,GA,LA,PA=qA.length;if(!yA||!yA.state||(FA=(YA=yA.state).wrap)===2||FA===1&&YA.status!==H||YA.lookahead)return Q;for(FA===1&&(yA.adler=g(yA.adler,qA,PA,0)),YA.wrap=0,PA>=YA.w_size&&(FA===0&&(tA(YA.head),YA.strstart=0,YA.block_start=0,YA.insert=0),LA=new r.Buf8(YA.w_size),r.arraySet(LA,qA,PA-YA.w_size,YA.w_size,0),qA=LA,PA=YA.w_size),DA=yA.avail_in,TA=yA.next_in,GA=yA.input,yA.avail_in=PA,yA.next_in=0,yA.input=qA,xA(YA);YA.lookahead>=k;){for(UA=YA.strstart,OA=YA.lookahead-(k-1);YA.ins_h=(YA.ins_h<<YA.hash_shift^YA.window[UA+k-1])&YA.hash_mask,YA.prev[UA&YA.w_mask]=YA.head[YA.ins_h],YA.head[YA.ins_h]=UA,UA++,--OA;);YA.strstart=UA,YA.lookahead=k-1,xA(YA)}return YA.strstart+=YA.lookahead,YA.block_start=YA.strstart,YA.insert=YA.lookahead,YA.lookahead=0,YA.match_length=YA.prev_length=k-1,YA.match_available=0,yA.next_in=TA,yA.input=GA,yA.avail_in=DA,YA.wrap=FA,C},n.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./messages":51,"./trees":52}],47:[function(i,o,n){o.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},{}],48:[function(i,o,n){o.exports=function(s,r){var a,g,I,c,B,l,C,Q,E,h,u,d,f,m,S,D,x,F,k,v,_,H,P,J,W;a=s.state,g=s.next_in,J=s.input,I=g+(s.avail_in-5),c=s.next_out,W=s.output,B=c-(r-s.avail_out),l=c+(s.avail_out-257),C=a.dmax,Q=a.wsize,E=a.whave,h=a.wnext,u=a.window,d=a.hold,f=a.bits,m=a.lencode,S=a.distcode,D=(1<<a.lenbits)-1,x=(1<<a.distbits)-1;A:do{f<15&&(d+=J[g++]<<f,f+=8,d+=J[g++]<<f,f+=8),F=m[d&D];e:for(;;){if(d>>>=k=F>>>24,f-=k,(k=F>>>16&255)===0)W[c++]=65535&F;else{if(!(16&k)){if((64&k)==0){F=m[(65535&F)+(d&(1<<k)-1)];continue e}if(32&k){a.mode=12;break A}s.msg="invalid literal/length code",a.mode=30;break A}v=65535&F,(k&=15)&&(f<k&&(d+=J[g++]<<f,f+=8),v+=d&(1<<k)-1,d>>>=k,f-=k),f<15&&(d+=J[g++]<<f,f+=8,d+=J[g++]<<f,f+=8),F=S[d&x];t:for(;;){if(d>>>=k=F>>>24,f-=k,!(16&(k=F>>>16&255))){if((64&k)==0){F=S[(65535&F)+(d&(1<<k)-1)];continue t}s.msg="invalid distance code",a.mode=30;break A}if(_=65535&F,f<(k&=15)&&(d+=J[g++]<<f,(f+=8)<k&&(d+=J[g++]<<f,f+=8)),C<(_+=d&(1<<k)-1)){s.msg="invalid distance too far back",a.mode=30;break A}if(d>>>=k,f-=k,(k=c-B)<_){if(E<(k=_-k)&&a.sane){s.msg="invalid distance too far back",a.mode=30;break A}if(P=u,(H=0)===h){if(H+=Q-k,k<v){for(v-=k;W[c++]=u[H++],--k;);H=c-_,P=W}}else if(h<k){if(H+=Q+h-k,(k-=h)<v){for(v-=k;W[c++]=u[H++],--k;);if(H=0,h<v){for(v-=k=h;W[c++]=u[H++],--k;);H=c-_,P=W}}}else if(H+=h-k,k<v){for(v-=k;W[c++]=u[H++],--k;);H=c-_,P=W}for(;2<v;)W[c++]=P[H++],W[c++]=P[H++],W[c++]=P[H++],v-=3;v&&(W[c++]=P[H++],1<v&&(W[c++]=P[H++]))}else{for(H=c-_;W[c++]=W[H++],W[c++]=W[H++],W[c++]=W[H++],2<(v-=3););v&&(W[c++]=W[H++],1<v&&(W[c++]=W[H++]))}break}}break}}while(g<I&&c<l);g-=v=f>>3,d&=(1<<(f-=v<<3))-1,s.next_in=g,s.next_out=c,s.avail_in=g<I?I-g+5:5-(g-I),s.avail_out=c<l?l-c+257:257-(c-l),a.hold=d,a.bits=f}},{}],49:[function(i,o,n){var s=i("../utils/common"),r=i("./adler32"),a=i("./crc32"),g=i("./inffast"),I=i("./inftrees"),c=1,B=2,l=0,C=-2,Q=1,E=852,h=592;function u(H){return(H>>>24&255)+(H>>>8&65280)+((65280&H)<<8)+((255&H)<<24)}function d(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new s.Buf16(320),this.work=new s.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function f(H){var P;return H&&H.state?(P=H.state,H.total_in=H.total_out=P.total=0,H.msg="",P.wrap&&(H.adler=1&P.wrap),P.mode=Q,P.last=0,P.havedict=0,P.dmax=32768,P.head=null,P.hold=0,P.bits=0,P.lencode=P.lendyn=new s.Buf32(E),P.distcode=P.distdyn=new s.Buf32(h),P.sane=1,P.back=-1,l):C}function m(H){var P;return H&&H.state?((P=H.state).wsize=0,P.whave=0,P.wnext=0,f(H)):C}function S(H,P){var J,W;return H&&H.state?(W=H.state,P<0?(J=0,P=-P):(J=1+(P>>4),P<48&&(P&=15)),P&&(P<8||15<P)?C:(W.window!==null&&W.wbits!==P&&(W.window=null),W.wrap=J,W.wbits=P,m(H))):C}function D(H,P){var J,W;return H?(W=new d,(H.state=W).window=null,(J=S(H,P))!==l&&(H.state=null),J):C}var x,F,k=!0;function v(H){if(k){var P;for(x=new s.Buf32(512),F=new s.Buf32(32),P=0;P<144;)H.lens[P++]=8;for(;P<256;)H.lens[P++]=9;for(;P<280;)H.lens[P++]=7;for(;P<288;)H.lens[P++]=8;for(I(c,H.lens,0,288,x,0,H.work,{bits:9}),P=0;P<32;)H.lens[P++]=5;I(B,H.lens,0,32,F,0,H.work,{bits:5}),k=!1}H.lencode=x,H.lenbits=9,H.distcode=F,H.distbits=5}function _(H,P,J,W){var Z,AA=H.state;return AA.window===null&&(AA.wsize=1<<AA.wbits,AA.wnext=0,AA.whave=0,AA.window=new s.Buf8(AA.wsize)),W>=AA.wsize?(s.arraySet(AA.window,P,J-AA.wsize,AA.wsize,0),AA.wnext=0,AA.whave=AA.wsize):(W<(Z=AA.wsize-AA.wnext)&&(Z=W),s.arraySet(AA.window,P,J-W,Z,AA.wnext),(W-=Z)?(s.arraySet(AA.window,P,J-W,W,0),AA.wnext=W,AA.whave=AA.wsize):(AA.wnext+=Z,AA.wnext===AA.wsize&&(AA.wnext=0),AA.whave<AA.wsize&&(AA.whave+=Z))),0}n.inflateReset=m,n.inflateReset2=S,n.inflateResetKeep=f,n.inflateInit=function(H){return D(H,15)},n.inflateInit2=D,n.inflate=function(H,P){var J,W,Z,AA,nA,gA,tA,iA,rA,CA,dA,SA,xA,JA,lA,RA,uA,KA,$A,ge,yA,qA,YA,UA,OA=0,FA=new s.Buf8(4),DA=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!H||!H.state||!H.output||!H.input&&H.avail_in!==0)return C;(J=H.state).mode===12&&(J.mode=13),nA=H.next_out,Z=H.output,tA=H.avail_out,AA=H.next_in,W=H.input,gA=H.avail_in,iA=J.hold,rA=J.bits,CA=gA,dA=tA,qA=l;A:for(;;)switch(J.mode){case Q:if(J.wrap===0){J.mode=13;break}for(;rA<16;){if(gA===0)break A;gA--,iA+=W[AA++]<<rA,rA+=8}if(2&J.wrap&&iA===35615){FA[J.check=0]=255&iA,FA[1]=iA>>>8&255,J.check=a(J.check,FA,2,0),rA=iA=0,J.mode=2;break}if(J.flags=0,J.head&&(J.head.done=!1),!(1&J.wrap)||(((255&iA)<<8)+(iA>>8))%31){H.msg="incorrect header check",J.mode=30;break}if((15&iA)!=8){H.msg="unknown compression method",J.mode=30;break}if(rA-=4,yA=8+(15&(iA>>>=4)),J.wbits===0)J.wbits=yA;else if(yA>J.wbits){H.msg="invalid window size",J.mode=30;break}J.dmax=1<<yA,H.adler=J.check=1,J.mode=512&iA?10:12,rA=iA=0;break;case 2:for(;rA<16;){if(gA===0)break A;gA--,iA+=W[AA++]<<rA,rA+=8}if(J.flags=iA,(255&J.flags)!=8){H.msg="unknown compression method",J.mode=30;break}if(57344&J.flags){H.msg="unknown header flags set",J.mode=30;break}J.head&&(J.head.text=iA>>8&1),512&J.flags&&(FA[0]=255&iA,FA[1]=iA>>>8&255,J.check=a(J.check,FA,2,0)),rA=iA=0,J.mode=3;case 3:for(;rA<32;){if(gA===0)break A;gA--,iA+=W[AA++]<<rA,rA+=8}J.head&&(J.head.time=iA),512&J.flags&&(FA[0]=255&iA,FA[1]=iA>>>8&255,FA[2]=iA>>>16&255,FA[3]=iA>>>24&255,J.check=a(J.check,FA,4,0)),rA=iA=0,J.mode=4;case 4:for(;rA<16;){if(gA===0)break A;gA--,iA+=W[AA++]<<rA,rA+=8}J.head&&(J.head.xflags=255&iA,J.head.os=iA>>8),512&J.flags&&(FA[0]=255&iA,FA[1]=iA>>>8&255,J.check=a(J.check,FA,2,0)),rA=iA=0,J.mode=5;case 5:if(1024&J.flags){for(;rA<16;){if(gA===0)break A;gA--,iA+=W[AA++]<<rA,rA+=8}J.length=iA,J.head&&(J.head.extra_len=iA),512&J.flags&&(FA[0]=255&iA,FA[1]=iA>>>8&255,J.check=a(J.check,FA,2,0)),rA=iA=0}else J.head&&(J.head.extra=null);J.mode=6;case 6:if(1024&J.flags&&(gA<(SA=J.length)&&(SA=gA),SA&&(J.head&&(yA=J.head.extra_len-J.length,J.head.extra||(J.head.extra=new Array(J.head.extra_len)),s.arraySet(J.head.extra,W,AA,SA,yA)),512&J.flags&&(J.check=a(J.check,W,SA,AA)),gA-=SA,AA+=SA,J.length-=SA),J.length))break A;J.length=0,J.mode=7;case 7:if(2048&J.flags){if(gA===0)break A;for(SA=0;yA=W[AA+SA++],J.head&&yA&&J.length<65536&&(J.head.name+=String.fromCharCode(yA)),yA&&SA<gA;);if(512&J.flags&&(J.check=a(J.check,W,SA,AA)),gA-=SA,AA+=SA,yA)break A}else J.head&&(J.head.name=null);J.length=0,J.mode=8;case 8:if(4096&J.flags){if(gA===0)break A;for(SA=0;yA=W[AA+SA++],J.head&&yA&&J.length<65536&&(J.head.comment+=String.fromCharCode(yA)),yA&&SA<gA;);if(512&J.flags&&(J.check=a(J.check,W,SA,AA)),gA-=SA,AA+=SA,yA)break A}else J.head&&(J.head.comment=null);J.mode=9;case 9:if(512&J.flags){for(;rA<16;){if(gA===0)break A;gA--,iA+=W[AA++]<<rA,rA+=8}if(iA!==(65535&J.check)){H.msg="header crc mismatch",J.mode=30;break}rA=iA=0}J.head&&(J.head.hcrc=J.flags>>9&1,J.head.done=!0),H.adler=J.check=0,J.mode=12;break;case 10:for(;rA<32;){if(gA===0)break A;gA--,iA+=W[AA++]<<rA,rA+=8}H.adler=J.check=u(iA),rA=iA=0,J.mode=11;case 11:if(J.havedict===0)return H.next_out=nA,H.avail_out=tA,H.next_in=AA,H.avail_in=gA,J.hold=iA,J.bits=rA,2;H.adler=J.check=1,J.mode=12;case 12:if(P===5||P===6)break A;case 13:if(J.last){iA>>>=7&rA,rA-=7&rA,J.mode=27;break}for(;rA<3;){if(gA===0)break A;gA--,iA+=W[AA++]<<rA,rA+=8}switch(J.last=1&iA,rA-=1,3&(iA>>>=1)){case 0:J.mode=14;break;case 1:if(v(J),J.mode=20,P!==6)break;iA>>>=2,rA-=2;break A;case 2:J.mode=17;break;case 3:H.msg="invalid block type",J.mode=30}iA>>>=2,rA-=2;break;case 14:for(iA>>>=7&rA,rA-=7&rA;rA<32;){if(gA===0)break A;gA--,iA+=W[AA++]<<rA,rA+=8}if((65535&iA)!=(iA>>>16^65535)){H.msg="invalid stored block lengths",J.mode=30;break}if(J.length=65535&iA,rA=iA=0,J.mode=15,P===6)break A;case 15:J.mode=16;case 16:if(SA=J.length){if(gA<SA&&(SA=gA),tA<SA&&(SA=tA),SA===0)break A;s.arraySet(Z,W,AA,SA,nA),gA-=SA,AA+=SA,tA-=SA,nA+=SA,J.length-=SA;break}J.mode=12;break;case 17:for(;rA<14;){if(gA===0)break A;gA--,iA+=W[AA++]<<rA,rA+=8}if(J.nlen=257+(31&iA),iA>>>=5,rA-=5,J.ndist=1+(31&iA),iA>>>=5,rA-=5,J.ncode=4+(15&iA),iA>>>=4,rA-=4,286<J.nlen||30<J.ndist){H.msg="too many length or distance symbols",J.mode=30;break}J.have=0,J.mode=18;case 18:for(;J.have<J.ncode;){for(;rA<3;){if(gA===0)break A;gA--,iA+=W[AA++]<<rA,rA+=8}J.lens[DA[J.have++]]=7&iA,iA>>>=3,rA-=3}for(;J.have<19;)J.lens[DA[J.have++]]=0;if(J.lencode=J.lendyn,J.lenbits=7,YA={bits:J.lenbits},qA=I(0,J.lens,0,19,J.lencode,0,J.work,YA),J.lenbits=YA.bits,qA){H.msg="invalid code lengths set",J.mode=30;break}J.have=0,J.mode=19;case 19:for(;J.have<J.nlen+J.ndist;){for(;RA=(OA=J.lencode[iA&(1<<J.lenbits)-1])>>>16&255,uA=65535&OA,!((lA=OA>>>24)<=rA);){if(gA===0)break A;gA--,iA+=W[AA++]<<rA,rA+=8}if(uA<16)iA>>>=lA,rA-=lA,J.lens[J.have++]=uA;else{if(uA===16){for(UA=lA+2;rA<UA;){if(gA===0)break A;gA--,iA+=W[AA++]<<rA,rA+=8}if(iA>>>=lA,rA-=lA,J.have===0){H.msg="invalid bit length repeat",J.mode=30;break}yA=J.lens[J.have-1],SA=3+(3&iA),iA>>>=2,rA-=2}else if(uA===17){for(UA=lA+3;rA<UA;){if(gA===0)break A;gA--,iA+=W[AA++]<<rA,rA+=8}rA-=lA,yA=0,SA=3+(7&(iA>>>=lA)),iA>>>=3,rA-=3}else{for(UA=lA+7;rA<UA;){if(gA===0)break A;gA--,iA+=W[AA++]<<rA,rA+=8}rA-=lA,yA=0,SA=11+(127&(iA>>>=lA)),iA>>>=7,rA-=7}if(J.have+SA>J.nlen+J.ndist){H.msg="invalid bit length repeat",J.mode=30;break}for(;SA--;)J.lens[J.have++]=yA}}if(J.mode===30)break;if(J.lens[256]===0){H.msg="invalid code -- missing end-of-block",J.mode=30;break}if(J.lenbits=9,YA={bits:J.lenbits},qA=I(c,J.lens,0,J.nlen,J.lencode,0,J.work,YA),J.lenbits=YA.bits,qA){H.msg="invalid literal/lengths set",J.mode=30;break}if(J.distbits=6,J.distcode=J.distdyn,YA={bits:J.distbits},qA=I(B,J.lens,J.nlen,J.ndist,J.distcode,0,J.work,YA),J.distbits=YA.bits,qA){H.msg="invalid distances set",J.mode=30;break}if(J.mode=20,P===6)break A;case 20:J.mode=21;case 21:if(6<=gA&&258<=tA){H.next_out=nA,H.avail_out=tA,H.next_in=AA,H.avail_in=gA,J.hold=iA,J.bits=rA,g(H,dA),nA=H.next_out,Z=H.output,tA=H.avail_out,AA=H.next_in,W=H.input,gA=H.avail_in,iA=J.hold,rA=J.bits,J.mode===12&&(J.back=-1);break}for(J.back=0;RA=(OA=J.lencode[iA&(1<<J.lenbits)-1])>>>16&255,uA=65535&OA,!((lA=OA>>>24)<=rA);){if(gA===0)break A;gA--,iA+=W[AA++]<<rA,rA+=8}if(RA&&(240&RA)==0){for(KA=lA,$A=RA,ge=uA;RA=(OA=J.lencode[ge+((iA&(1<<KA+$A)-1)>>KA)])>>>16&255,uA=65535&OA,!(KA+(lA=OA>>>24)<=rA);){if(gA===0)break A;gA--,iA+=W[AA++]<<rA,rA+=8}iA>>>=KA,rA-=KA,J.back+=KA}if(iA>>>=lA,rA-=lA,J.back+=lA,J.length=uA,RA===0){J.mode=26;break}if(32&RA){J.back=-1,J.mode=12;break}if(64&RA){H.msg="invalid literal/length code",J.mode=30;break}J.extra=15&RA,J.mode=22;case 22:if(J.extra){for(UA=J.extra;rA<UA;){if(gA===0)break A;gA--,iA+=W[AA++]<<rA,rA+=8}J.length+=iA&(1<<J.extra)-1,iA>>>=J.extra,rA-=J.extra,J.back+=J.extra}J.was=J.length,J.mode=23;case 23:for(;RA=(OA=J.distcode[iA&(1<<J.distbits)-1])>>>16&255,uA=65535&OA,!((lA=OA>>>24)<=rA);){if(gA===0)break A;gA--,iA+=W[AA++]<<rA,rA+=8}if((240&RA)==0){for(KA=lA,$A=RA,ge=uA;RA=(OA=J.distcode[ge+((iA&(1<<KA+$A)-1)>>KA)])>>>16&255,uA=65535&OA,!(KA+(lA=OA>>>24)<=rA);){if(gA===0)break A;gA--,iA+=W[AA++]<<rA,rA+=8}iA>>>=KA,rA-=KA,J.back+=KA}if(iA>>>=lA,rA-=lA,J.back+=lA,64&RA){H.msg="invalid distance code",J.mode=30;break}J.offset=uA,J.extra=15&RA,J.mode=24;case 24:if(J.extra){for(UA=J.extra;rA<UA;){if(gA===0)break A;gA--,iA+=W[AA++]<<rA,rA+=8}J.offset+=iA&(1<<J.extra)-1,iA>>>=J.extra,rA-=J.extra,J.back+=J.extra}if(J.offset>J.dmax){H.msg="invalid distance too far back",J.mode=30;break}J.mode=25;case 25:if(tA===0)break A;if(SA=dA-tA,J.offset>SA){if((SA=J.offset-SA)>J.whave&&J.sane){H.msg="invalid distance too far back",J.mode=30;break}xA=SA>J.wnext?(SA-=J.wnext,J.wsize-SA):J.wnext-SA,SA>J.length&&(SA=J.length),JA=J.window}else JA=Z,xA=nA-J.offset,SA=J.length;for(tA<SA&&(SA=tA),tA-=SA,J.length-=SA;Z[nA++]=JA[xA++],--SA;);J.length===0&&(J.mode=21);break;case 26:if(tA===0)break A;Z[nA++]=J.length,tA--,J.mode=21;break;case 27:if(J.wrap){for(;rA<32;){if(gA===0)break A;gA--,iA|=W[AA++]<<rA,rA+=8}if(dA-=tA,H.total_out+=dA,J.total+=dA,dA&&(H.adler=J.check=J.flags?a(J.check,Z,dA,nA-dA):r(J.check,Z,dA,nA-dA)),dA=tA,(J.flags?iA:u(iA))!==J.check){H.msg="incorrect data check",J.mode=30;break}rA=iA=0}J.mode=28;case 28:if(J.wrap&&J.flags){for(;rA<32;){if(gA===0)break A;gA--,iA+=W[AA++]<<rA,rA+=8}if(iA!==(4294967295&J.total)){H.msg="incorrect length check",J.mode=30;break}rA=iA=0}J.mode=29;case 29:qA=1;break A;case 30:qA=-3;break A;case 31:return-4;default:return C}return H.next_out=nA,H.avail_out=tA,H.next_in=AA,H.avail_in=gA,J.hold=iA,J.bits=rA,(J.wsize||dA!==H.avail_out&&J.mode<30&&(J.mode<27||P!==4))&&_(H,H.output,H.next_out,dA-H.avail_out)?(J.mode=31,-4):(CA-=H.avail_in,dA-=H.avail_out,H.total_in+=CA,H.total_out+=dA,J.total+=dA,J.wrap&&dA&&(H.adler=J.check=J.flags?a(J.check,Z,dA,H.next_out-dA):r(J.check,Z,dA,H.next_out-dA)),H.data_type=J.bits+(J.last?64:0)+(J.mode===12?128:0)+(J.mode===20||J.mode===15?256:0),(CA==0&&dA===0||P===4)&&qA===l&&(qA=-5),qA)},n.inflateEnd=function(H){if(!H||!H.state)return C;var P=H.state;return P.window&&(P.window=null),H.state=null,l},n.inflateGetHeader=function(H,P){var J;return H&&H.state?(2&(J=H.state).wrap)==0?C:((J.head=P).done=!1,l):C},n.inflateSetDictionary=function(H,P){var J,W=P.length;return H&&H.state?(J=H.state).wrap!==0&&J.mode!==11?C:J.mode===11&&r(1,P,W,0)!==J.check?-3:_(H,P,W,W)?(J.mode=31,-4):(J.havedict=1,l):C},n.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./inffast":48,"./inftrees":50}],50:[function(i,o,n){var s=i("../utils/common"),r=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],a=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],g=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],I=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];o.exports=function(c,B,l,C,Q,E,h,u){var d,f,m,S,D,x,F,k,v,_=u.bits,H=0,P=0,J=0,W=0,Z=0,AA=0,nA=0,gA=0,tA=0,iA=0,rA=null,CA=0,dA=new s.Buf16(16),SA=new s.Buf16(16),xA=null,JA=0;for(H=0;H<=15;H++)dA[H]=0;for(P=0;P<C;P++)dA[B[l+P]]++;for(Z=_,W=15;1<=W&&dA[W]===0;W--);if(W<Z&&(Z=W),W===0)return Q[E++]=20971520,Q[E++]=20971520,u.bits=1,0;for(J=1;J<W&&dA[J]===0;J++);for(Z<J&&(Z=J),H=gA=1;H<=15;H++)if(gA<<=1,(gA-=dA[H])<0)return-1;if(0<gA&&(c===0||W!==1))return-1;for(SA[1]=0,H=1;H<15;H++)SA[H+1]=SA[H]+dA[H];for(P=0;P<C;P++)B[l+P]!==0&&(h[SA[B[l+P]]++]=P);if(x=c===0?(rA=xA=h,19):c===1?(rA=r,CA-=257,xA=a,JA-=257,256):(rA=g,xA=I,-1),H=J,D=E,nA=P=iA=0,m=-1,S=(tA=1<<(AA=Z))-1,c===1&&852<tA||c===2&&592<tA)return 1;for(;;){for(F=H-nA,v=h[P]<x?(k=0,h[P]):h[P]>x?(k=xA[JA+h[P]],rA[CA+h[P]]):(k=96,0),d=1<<H-nA,J=f=1<<AA;Q[D+(iA>>nA)+(f-=d)]=F<<24|k<<16|v|0,f!==0;);for(d=1<<H-1;iA&d;)d>>=1;if(d!==0?(iA&=d-1,iA+=d):iA=0,P++,--dA[H]==0){if(H===W)break;H=B[l+h[P]]}if(Z<H&&(iA&S)!==m){for(nA===0&&(nA=Z),D+=J,gA=1<<(AA=H-nA);AA+nA<W&&!((gA-=dA[AA+nA])<=0);)AA++,gA<<=1;if(tA+=1<<AA,c===1&&852<tA||c===2&&592<tA)return 1;Q[m=iA&S]=Z<<24|AA<<16|D-E|0}}return iA!==0&&(Q[D+iA]=H-nA<<24|64<<16|0),u.bits=Z,0}},{"../utils/common":41}],51:[function(i,o,n){o.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],52:[function(i,o,n){var s=i("../utils/common"),r=0,a=1;function g(OA){for(var FA=OA.length;0<=--FA;)OA[FA]=0}var I=0,c=29,B=256,l=B+1+c,C=30,Q=19,E=2*l+1,h=15,u=16,d=7,f=256,m=16,S=17,D=18,x=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],F=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],k=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],v=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],_=new Array(2*(l+2));g(_);var H=new Array(2*C);g(H);var P=new Array(512);g(P);var J=new Array(256);g(J);var W=new Array(c);g(W);var Z,AA,nA,gA=new Array(C);function tA(OA,FA,DA,TA,GA){this.static_tree=OA,this.extra_bits=FA,this.extra_base=DA,this.elems=TA,this.max_length=GA,this.has_stree=OA&&OA.length}function iA(OA,FA){this.dyn_tree=OA,this.max_code=0,this.stat_desc=FA}function rA(OA){return OA<256?P[OA]:P[256+(OA>>>7)]}function CA(OA,FA){OA.pending_buf[OA.pending++]=255&FA,OA.pending_buf[OA.pending++]=FA>>>8&255}function dA(OA,FA,DA){OA.bi_valid>u-DA?(OA.bi_buf|=FA<<OA.bi_valid&65535,CA(OA,OA.bi_buf),OA.bi_buf=FA>>u-OA.bi_valid,OA.bi_valid+=DA-u):(OA.bi_buf|=FA<<OA.bi_valid&65535,OA.bi_valid+=DA)}function SA(OA,FA,DA){dA(OA,DA[2*FA],DA[2*FA+1])}function xA(OA,FA){for(var DA=0;DA|=1&OA,OA>>>=1,DA<<=1,0<--FA;);return DA>>>1}function JA(OA,FA,DA){var TA,GA,LA=new Array(h+1),PA=0;for(TA=1;TA<=h;TA++)LA[TA]=PA=PA+DA[TA-1]<<1;for(GA=0;GA<=FA;GA++){var ie=OA[2*GA+1];ie!==0&&(OA[2*GA]=xA(LA[ie]++,ie))}}function lA(OA){var FA;for(FA=0;FA<l;FA++)OA.dyn_ltree[2*FA]=0;for(FA=0;FA<C;FA++)OA.dyn_dtree[2*FA]=0;for(FA=0;FA<Q;FA++)OA.bl_tree[2*FA]=0;OA.dyn_ltree[2*f]=1,OA.opt_len=OA.static_len=0,OA.last_lit=OA.matches=0}function RA(OA){8<OA.bi_valid?CA(OA,OA.bi_buf):0<OA.bi_valid&&(OA.pending_buf[OA.pending++]=OA.bi_buf),OA.bi_buf=0,OA.bi_valid=0}function uA(OA,FA,DA,TA){var GA=2*FA,LA=2*DA;return OA[GA]<OA[LA]||OA[GA]===OA[LA]&&TA[FA]<=TA[DA]}function KA(OA,FA,DA){for(var TA=OA.heap[DA],GA=DA<<1;GA<=OA.heap_len&&(GA<OA.heap_len&&uA(FA,OA.heap[GA+1],OA.heap[GA],OA.depth)&&GA++,!uA(FA,TA,OA.heap[GA],OA.depth));)OA.heap[DA]=OA.heap[GA],DA=GA,GA<<=1;OA.heap[DA]=TA}function $A(OA,FA,DA){var TA,GA,LA,PA,ie=0;if(OA.last_lit!==0)for(;TA=OA.pending_buf[OA.d_buf+2*ie]<<8|OA.pending_buf[OA.d_buf+2*ie+1],GA=OA.pending_buf[OA.l_buf+ie],ie++,TA===0?SA(OA,GA,FA):(SA(OA,(LA=J[GA])+B+1,FA),(PA=x[LA])!==0&&dA(OA,GA-=W[LA],PA),SA(OA,LA=rA(--TA),DA),(PA=F[LA])!==0&&dA(OA,TA-=gA[LA],PA)),ie<OA.last_lit;);SA(OA,f,FA)}function ge(OA,FA){var DA,TA,GA,LA=FA.dyn_tree,PA=FA.stat_desc.static_tree,ie=FA.stat_desc.has_stree,mA=FA.stat_desc.elems,BA=-1;for(OA.heap_len=0,OA.heap_max=E,DA=0;DA<mA;DA++)LA[2*DA]!==0?(OA.heap[++OA.heap_len]=BA=DA,OA.depth[DA]=0):LA[2*DA+1]=0;for(;OA.heap_len<2;)LA[2*(GA=OA.heap[++OA.heap_len]=BA<2?++BA:0)]=1,OA.depth[GA]=0,OA.opt_len--,ie&&(OA.static_len-=PA[2*GA+1]);for(FA.max_code=BA,DA=OA.heap_len>>1;1<=DA;DA--)KA(OA,LA,DA);for(GA=mA;DA=OA.heap[1],OA.heap[1]=OA.heap[OA.heap_len--],KA(OA,LA,1),TA=OA.heap[1],OA.heap[--OA.heap_max]=DA,OA.heap[--OA.heap_max]=TA,LA[2*GA]=LA[2*DA]+LA[2*TA],OA.depth[GA]=(OA.depth[DA]>=OA.depth[TA]?OA.depth[DA]:OA.depth[TA])+1,LA[2*DA+1]=LA[2*TA+1]=GA,OA.heap[1]=GA++,KA(OA,LA,1),2<=OA.heap_len;);OA.heap[--OA.heap_max]=OA.heap[1],(function(EA,vA){var ne,Qe,we,Fe,$e,Ve,Ct=vA.dyn_tree,QA=vA.max_code,re=vA.stat_desc.static_tree,Ee=vA.stat_desc.has_stree,pe=vA.stat_desc.extra_bits,Le=vA.stat_desc.extra_base,Te=vA.stat_desc.max_length,At=0;for(Fe=0;Fe<=h;Fe++)EA.bl_count[Fe]=0;for(Ct[2*EA.heap[EA.heap_max]+1]=0,ne=EA.heap_max+1;ne<E;ne++)Te<(Fe=Ct[2*Ct[2*(Qe=EA.heap[ne])+1]+1]+1)&&(Fe=Te,At++),Ct[2*Qe+1]=Fe,QA<Qe||(EA.bl_count[Fe]++,$e=0,Le<=Qe&&($e=pe[Qe-Le]),Ve=Ct[2*Qe],EA.opt_len+=Ve*(Fe+$e),Ee&&(EA.static_len+=Ve*(re[2*Qe+1]+$e)));if(At!==0){do{for(Fe=Te-1;EA.bl_count[Fe]===0;)Fe--;EA.bl_count[Fe]--,EA.bl_count[Fe+1]+=2,EA.bl_count[Te]--,At-=2}while(0<At);for(Fe=Te;Fe!==0;Fe--)for(Qe=EA.bl_count[Fe];Qe!==0;)QA<(we=EA.heap[--ne])||(Ct[2*we+1]!==Fe&&(EA.opt_len+=(Fe-Ct[2*we+1])*Ct[2*we],Ct[2*we+1]=Fe),Qe--)}})(OA,FA),JA(LA,BA,OA.bl_count)}function yA(OA,FA,DA){var TA,GA,LA=-1,PA=FA[1],ie=0,mA=7,BA=4;for(PA===0&&(mA=138,BA=3),FA[2*(DA+1)+1]=65535,TA=0;TA<=DA;TA++)GA=PA,PA=FA[2*(TA+1)+1],++ie<mA&&GA===PA||(ie<BA?OA.bl_tree[2*GA]+=ie:GA!==0?(GA!==LA&&OA.bl_tree[2*GA]++,OA.bl_tree[2*m]++):ie<=10?OA.bl_tree[2*S]++:OA.bl_tree[2*D]++,LA=GA,BA=(ie=0)===PA?(mA=138,3):GA===PA?(mA=6,3):(mA=7,4))}function qA(OA,FA,DA){var TA,GA,LA=-1,PA=FA[1],ie=0,mA=7,BA=4;for(PA===0&&(mA=138,BA=3),TA=0;TA<=DA;TA++)if(GA=PA,PA=FA[2*(TA+1)+1],!(++ie<mA&&GA===PA)){if(ie<BA)for(;SA(OA,GA,OA.bl_tree),--ie!=0;);else GA!==0?(GA!==LA&&(SA(OA,GA,OA.bl_tree),ie--),SA(OA,m,OA.bl_tree),dA(OA,ie-3,2)):ie<=10?(SA(OA,S,OA.bl_tree),dA(OA,ie-3,3)):(SA(OA,D,OA.bl_tree),dA(OA,ie-11,7));LA=GA,BA=(ie=0)===PA?(mA=138,3):GA===PA?(mA=6,3):(mA=7,4)}}g(gA);var YA=!1;function UA(OA,FA,DA,TA){dA(OA,(I<<1)+(TA?1:0),3),(function(GA,LA,PA,ie){RA(GA),CA(GA,PA),CA(GA,~PA),s.arraySet(GA.pending_buf,GA.window,LA,PA,GA.pending),GA.pending+=PA})(OA,FA,DA)}n._tr_init=function(OA){YA||((function(){var FA,DA,TA,GA,LA,PA=new Array(h+1);for(GA=TA=0;GA<c-1;GA++)for(W[GA]=TA,FA=0;FA<1<<x[GA];FA++)J[TA++]=GA;for(J[TA-1]=GA,GA=LA=0;GA<16;GA++)for(gA[GA]=LA,FA=0;FA<1<<F[GA];FA++)P[LA++]=GA;for(LA>>=7;GA<C;GA++)for(gA[GA]=LA<<7,FA=0;FA<1<<F[GA]-7;FA++)P[256+LA++]=GA;for(DA=0;DA<=h;DA++)PA[DA]=0;for(FA=0;FA<=143;)_[2*FA+1]=8,FA++,PA[8]++;for(;FA<=255;)_[2*FA+1]=9,FA++,PA[9]++;for(;FA<=279;)_[2*FA+1]=7,FA++,PA[7]++;for(;FA<=287;)_[2*FA+1]=8,FA++,PA[8]++;for(JA(_,l+1,PA),FA=0;FA<C;FA++)H[2*FA+1]=5,H[2*FA]=xA(FA,5);Z=new tA(_,x,B+1,l,h),AA=new tA(H,F,0,C,h),nA=new tA(new Array(0),k,0,Q,d)})(),YA=!0),OA.l_desc=new iA(OA.dyn_ltree,Z),OA.d_desc=new iA(OA.dyn_dtree,AA),OA.bl_desc=new iA(OA.bl_tree,nA),OA.bi_buf=0,OA.bi_valid=0,lA(OA)},n._tr_stored_block=UA,n._tr_flush_block=function(OA,FA,DA,TA){var GA,LA,PA=0;0<OA.level?(OA.strm.data_type===2&&(OA.strm.data_type=(function(ie){var mA,BA=4093624447;for(mA=0;mA<=31;mA++,BA>>>=1)if(1&BA&&ie.dyn_ltree[2*mA]!==0)return r;if(ie.dyn_ltree[18]!==0||ie.dyn_ltree[20]!==0||ie.dyn_ltree[26]!==0)return a;for(mA=32;mA<B;mA++)if(ie.dyn_ltree[2*mA]!==0)return a;return r})(OA)),ge(OA,OA.l_desc),ge(OA,OA.d_desc),PA=(function(ie){var mA;for(yA(ie,ie.dyn_ltree,ie.l_desc.max_code),yA(ie,ie.dyn_dtree,ie.d_desc.max_code),ge(ie,ie.bl_desc),mA=Q-1;3<=mA&&ie.bl_tree[2*v[mA]+1]===0;mA--);return ie.opt_len+=3*(mA+1)+5+5+4,mA})(OA),GA=OA.opt_len+3+7>>>3,(LA=OA.static_len+3+7>>>3)<=GA&&(GA=LA)):GA=LA=DA+5,DA+4<=GA&&FA!==-1?UA(OA,FA,DA,TA):OA.strategy===4||LA===GA?(dA(OA,2+(TA?1:0),3),$A(OA,_,H)):(dA(OA,4+(TA?1:0),3),(function(ie,mA,BA,EA){var vA;for(dA(ie,mA-257,5),dA(ie,BA-1,5),dA(ie,EA-4,4),vA=0;vA<EA;vA++)dA(ie,ie.bl_tree[2*v[vA]+1],3);qA(ie,ie.dyn_ltree,mA-1),qA(ie,ie.dyn_dtree,BA-1)})(OA,OA.l_desc.max_code+1,OA.d_desc.max_code+1,PA+1),$A(OA,OA.dyn_ltree,OA.dyn_dtree)),lA(OA),TA&&RA(OA)},n._tr_tally=function(OA,FA,DA){return OA.pending_buf[OA.d_buf+2*OA.last_lit]=FA>>>8&255,OA.pending_buf[OA.d_buf+2*OA.last_lit+1]=255&FA,OA.pending_buf[OA.l_buf+OA.last_lit]=255&DA,OA.last_lit++,FA===0?OA.dyn_ltree[2*DA]++:(OA.matches++,FA--,OA.dyn_ltree[2*(J[DA]+B+1)]++,OA.dyn_dtree[2*rA(FA)]++),OA.last_lit===OA.lit_bufsize-1},n._tr_align=function(OA){dA(OA,2,3),SA(OA,f,_),(function(FA){FA.bi_valid===16?(CA(FA,FA.bi_buf),FA.bi_buf=0,FA.bi_valid=0):8<=FA.bi_valid&&(FA.pending_buf[FA.pending++]=255&FA.bi_buf,FA.bi_buf>>=8,FA.bi_valid-=8)})(OA)}},{"../utils/common":41}],53:[function(i,o,n){o.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(i,o,n){(function(s){(function(r,a){if(!r.setImmediate){var g,I,c,B,l=1,C={},Q=!1,E=r.document,h=Object.getPrototypeOf&&Object.getPrototypeOf(r);h=h&&h.setTimeout?h:r,g={}.toString.call(r.process)==="[object process]"?function(m){e.nextTick(function(){d(m)})}:(function(){if(r.postMessage&&!r.importScripts){var m=!0,S=r.onmessage;return r.onmessage=function(){m=!1},r.postMessage("","*"),r.onmessage=S,m}})()?(B="setImmediate$"+Math.random()+"$",r.addEventListener?r.addEventListener("message",f,!1):r.attachEvent("onmessage",f),function(m){r.postMessage(B+m,"*")}):r.MessageChannel?((c=new MessageChannel).port1.onmessage=function(m){d(m.data)},function(m){c.port2.postMessage(m)}):E&&"onreadystatechange"in E.createElement("script")?(I=E.documentElement,function(m){var S=E.createElement("script");S.onreadystatechange=function(){d(m),S.onreadystatechange=null,I.removeChild(S),S=null},I.appendChild(S)}):function(m){setTimeout(d,0,m)},h.setImmediate=function(m){typeof m!="function"&&(m=new Function(""+m));for(var S=new Array(arguments.length-1),D=0;D<S.length;D++)S[D]=arguments[D+1];var x={callback:m,args:S};return C[l]=x,g(l),l++},h.clearImmediate=u}function u(m){delete C[m]}function d(m){if(Q)setTimeout(d,0,m);else{var S=C[m];if(S){Q=!0;try{(function(D){var x=D.callback,F=D.args;switch(F.length){case 0:x();break;case 1:x(F[0]);break;case 2:x(F[0],F[1]);break;case 3:x(F[0],F[1],F[2]);break;default:x.apply(a,F)}})(S)}finally{u(m),Q=!1}}}}function f(m){m.source===r&&typeof m.data=="string"&&m.data.indexOf(B)===0&&d(+m.data.slice(B.length))}})(typeof self>"u"?s===void 0?this:s:self)}).call(this,typeof hT<"u"?hT:typeof self<"u"?self:typeof window<"u"?window:{})},{}]},{},[10])(10)})})(_uA)),_uA.exports}var M4t=R4t();const vuA=$f(M4t);var UuA,goe;function N4t(){return goe||(goe=1,UuA=function(t,A){A||(A={}),typeof A=="function"&&(A={cmp:A});var e=typeof A.cycles=="boolean"?A.cycles:!1,i=A.cmp&&(function(n){return function(s){return function(r,a){var g={key:r,value:s[r]},I={key:a,value:s[a]};return n(g,I)}}})(A.cmp),o=[];return(function n(s){if(s&&s.toJSON&&typeof s.toJSON=="function"&&(s=s.toJSON()),s!==void 0){if(typeof s=="number")return isFinite(s)?""+s:"null";if(typeof s!="object")return JSON.stringify(s);var r,a;if(Array.isArray(s)){for(a="[",r=0;r<s.length;r++)r&&(a+=","),a+=n(s[r])||"null";return a+"]"}if(s===null)return"null";if(o.indexOf(s)!==-1){if(e)return JSON.stringify("__cycle__");throw new TypeError("Converting circular structure to JSON")}var g=o.push(s)-1,I=Object.keys(s).sort(i&&i(s));for(a="",r=0;r<I.length;r++){var c=I[r],B=n(s[c]);B&&(a&&(a+=","),a+=JSON.stringify(c)+":"+B)}return o.splice(g,1),"{"+a+"}"}})(t)}),UuA}var _4t=N4t();const v4t=$f(_4t);var Ioe={0:"M0.4544564813877358 0L0.2723441540828736 0.03592830447352719L0.1086847233315459 0.14528754990019965L0.020630545837255005 0.3040632652221331L0 0.5395277421960205L0.049259221760993496 0.7369487828466779L0.18080513776237842 0.9005494166306564L0.37036887043974215 0.9872116270037247L0.5864663759301132 1L0.8148695622827444 0.9332890276148733L0.9326583645506394 0.8113052246023419L1 0.4031281830668562L0.833288960385582 0.09886798567812842L0.6801767918233781 0.02483708485091681L0.4544564813877358 0",1:"M 0.198 0.272 L 0.537 0 L 0.54 1",2:"M0.069593147751606 0.19461498231706575L0.1039380353319058 0.1224291500164194L0.20543361884368308 0.05510832064153169L0.3717712794432549 0.009452970962689482L0.4785344452623127 0L0.663238590738758 0.008714098643339864L0.8017933618843684 0.04769189395915288L0.8775637379550322 0.10746757678258442L0.9047778372591005 0.17693069668193287L0.9029710920770878 0.2231347105796246L0.8704496788008566 0.30047744598157516L0.7292906538577354 0.4508486051631194L0.3737955032119913 0.7369006417749693L0 1L1 1",3:"M0.03917438899874637 0.19855364635107545L0.15510940508963084 0.06745632622133718L0.37598645522339846 0L0.8486391893813088 0.0652271323161611L0.9782182415054349 0.21747394183735683L0.9213133780517754 0.3547560290117714L0.6504271515903481 0.4543436297681271L0.22975249764129613 0.48476611625264143L0.7659038682744629 0.5411919558122493L0.9258712987734741 0.6203185665660985L1 0.7458360609169667L0.8938813281118737 0.9059190913045964L0.6166890258875837 1L0.261528440153542 0.9874861530507921L0 0.8837289530851273",4:"M0.7328897338403042 0L0 0.6684672518568535L1 0.6684672518568535M0.7243346007604563 0.4530722484807562L0.7243346007604563 1",5:"M 0 0 L 0 0.4973 L 0.4262 0.4319 L 0.7305 0.4565 L 0.8516 0.5009 L 0.9357 0.5639 L 1 0.7356 L 0.9696 0.8248 L 0.8898 0.895 L 0.733 0.9602 L 0.5518 0.9945 L 0.3814 1 L 0.2379 0.9821 L 0.1219 0.947 L 0 0.8748 M 0 0 L 1 0",6:"M0.6964601700926856 0L0.3639239026215478 0.0743562375769351L0.1415931962925719 0.21735490179786915L0.009977939399608712 0.46336322325406004L0.00029622007592593224 0.7083131475173043L0.09408885043224748 0.8746809149767036L0.3379247445101846 0.9876686500961888L0.7109203869569624 1L0.9260852957913362 0.9103558029693921L1 0.7716571969091733L0.9824294723385016 0.6390635485705886L0.7446504992867332 0.4733643097729175L0.31028858071607296 0.47578021640899115L0.1208702146816024 0.5481452483973847L0 0.6616669755788906",7:"M0 0L1 0L0.9246479649697582 0.030539772727272752L0.8850302419354837 0.05075757575757579L0.7922946068548385 0.11079545454545457L0.7419268208165322 0.15213068181818185L0.6907258064516127 0.20202020202020204L0.6400666267641127 0.26122159090909086L0.5913243447580644 0.33049242424242414L0.5458740234374998 0.4105902777777778L0.5050907258064514 0.5022727272727272L0.4703495148689514 0.6062973484848484L0.43257456133442534 0.787133049242424L0.41612903225806447 1",8:"M0.5143001078924863 0L0.16007477667923162 0.10731570786949331L0.14924628550868277 0.3146018498698755L0.2939585848842112 0.41617921794558677L0.8648302624811545 0.5385163833653317L1 0.7775820770511038L0.8180842915260376 0.9505845566922285L0.41968938540525413 1L0.08062381919779889 0.882831681184498L0 0.6936376947135333L0.17150171673893433 0.5188652309607817L0.6529263782780712 0.4242818653203618L0.8650205888491803 0.29644027376796367L0.8702067371119496 0.09910067291661573L0.5143001078924863 0",9:"M1 0.25379591792994305L0.9514789771111742 0.11679361536614272L0.8702482473521467 0.05711741614054847L0.7327445265851579 0.015213872471965633L0.525248180711544 0L0.3292056884418538 0.012928195113745608L0.15997632037247655 0.058762870026191856L0.05266940041228321 0.12882439350476L0 0.2562067822770946L0.11316462894512366 0.4121335905917837L0.2403060136479954 0.4603365890068938L0.4097241967586011 0.4745978388276783L0.8642414300184816 0.420815170259988L0.9732054796346318 0.34537434075898393L1 0.25379591792994305M0.9647426784191072 0.35488595400360495L0.4756895081034974 1",A:"M0 1L0.4808333333333333 0L1 1M0.24250000000000002 0.6099439775910365L0.7341666666666666 0.6099439775910365",B:"M0 1L0 0.0117369978777208L0.30665717153513444 0L0.5874522807082946 0.03451403469442413L0.7766202217193218 0.15033936404895643L0.7471969743588041 0.31967962568332936L0.5246013359741988 0.4102978954282461L0.04378745314885416 0.44918617613783574L0.5112949594180156 0.469692928091109L0.8540266515643348 0.5552749498651879L1 0.6868463175009967L0.9880091196159324 0.8570018204672155L0.922301719975498 0.9321708046604659L0.7584266951758925 0.9932594737131338L0 1",C:"M1 0.23038928858890784L0.9328355511865092 0.12426412616785204L0.8096380839483327 0.04912601676267708L0.5763225801788256 0L0.4039037709527492 0.015028068281399815L0.2519579390951737 0.06533979308999706L0.10359458463139784 0.18146243506591617L0 0.4862728453971315L0.08129580872733055 0.792689266886982L0.20257034847159672 0.9160822255736587L0.3286572892798542 0.9738230826074175L0.5742878414421707 1L0.7883510303801312 0.9665431511195721L0.946851033994232 0.8689071500976585L1 0.7311049027121912",D:"M0 1L0.015604366822624637 0.020770988281483303L0.22564758265176144 0L0.3865476147957666 0.0024153386496795644L0.6479126635475078 0.051745644338731314L0.841191887805517 0.15827717679529366L0.9517008345536152 0.30172260586872185L0.9957536578687336 0.4504541551987709L1 0.5624359222498485L0.9798483279164735 0.6584121775234548L0.9386273319285215 0.7395945263504481L0.806292129480815 0.8624239259880274L0.6296239151398265 0.9406169638094516L0.3397492767598845 0.9954164354263132L0 1",E:"M0 0L0 1M0 0L1 0M0 0.5L0.7 0.5M0 1L1 1",F:"M0 0L0 1M0.011363636363636364 0.006802721088435374L1 0.006802721088435374M0.011363636363636364 0.4965986394557823L0.8409090909090909 0.4965986394557823",G:"M0.902666857540557 0.03860785012651126L0.6504261864675637 0L0.3838947267237336 0.015442305268228053L0.21293332876776194 0.07706794377239819L0.07799659974941617 0.1994951236187481L0 0.46380381528937314L0.04159964421546915 0.7502491408002389L0.13176692977834842 0.8535497868383203L0.2709176262273927 0.936767572377719L0.4386472596876406 0.9891638569283179L0.6145513562841309 1L0.7782254421419019 0.9585373611026471L0.9092650433859927 0.8540372997461425L1 0.5556012645283437L0.5583959277303046 0.55491741080559",H:"M0 0L0 1M0 0.4788732394366197L0.989010989010989 0.4788732394366197M1 0L1 1",I:"M0.5 0L0.5 1",J:"M0.9976457238788704 0L1 0.7396412315872798L0.9773931362096968 0.8322033314977973L0.9345115952458736 0.882296255506608L0.8743862896259549 0.9221331222466961L0.8024024079884948 0.9526431718061675L0.6443996712151668 0.9893997797356828L0.5035848940343224 1L0.3127211130319937 0.9877004749449337L0.17201910858386513 0.9539509911894274L0.10357419806379677 0.9212555066079295L0.053656568662899015 0.8816079295154184L0.020759483663648916 0.8360407488986785L0.003376206348523566 0.7855864537444934L0 0.7312775330396476",K:"M0 0L0 1M0.8787878787878788 0.06666666666666667L0 0.6148148148148148M0.3333333333333333 0.45925925925925926L1 0.9777777777777777",L:"M0 0L0 1L1 1",M:"M0 1L0 0L0.5 0.6512L1 0L1 1",N:"M0 1L0 0L1 1L0.9803729146221786 0",O:"M0.4718499217948183 1L0.2896765846490613 0.9606979309189402L0.12315162147934663 0.8411184486080473L0 0.4352399966492615L0.11730398524516283 0.13145645436014852L0.2612197451988078 0.04493357858878059L0.5104071592772554 0L0.7450113425917159 0.05393013710105273L0.882367950645524 0.15242300282020502L1 0.5224527406249126L0.9414597290654386 0.7560662329321755L0.8371289514446183 0.8910800547287298L0.6518259868433511 0.9830452628933628L0.4718499217948183 1",P:"M0 1L0 0.018871774228013626L0.29609603495819875 0L0.5609840637427541 0.011794858892508529L0.7332142696692472 0.04353904702296349L0.8102258645858864 0.0691965055027166L0.9330504315465442 0.14445061754775845L0.9876391714147118 0.22527816445836535L1 0.3434414070631638L0.9510549958116356 0.41772808046663146L0.8746646891596713 0.45879131862541683L0.7528523813396283 0.49171525113425024L0.5766919939969619 0.5153253033973054L0.33725744877712827 0.5284469008187558L0.025622667325582785 0.529905468802775",Q:"M0.4618887943546369 0.9755918167206952L0.28356128136544534 0.9372490397450218L0.12055179272160406 0.8205882753548176L0 0.4246165790405623L0.1148276047430244 0.12824784112887844L0.25570518844754375 0.043836831567190586L0.49963205786237674 0L0.7292835601228574 0.0526138004304122L0.8637404608452104 0.14870263423138746L0.9788892040030622 0.5097006183769648L0.9215847647858059 0.7376120297474734L0.8194564929275405 0.869330409436378L0.6380654214095985 0.9590509139448092L0.4618887943546369 0.9755918167206952M0.5824181120212351 0.6861805006946525L1 1",R:"M0 0.9928375167236815L0 0.02590227442068435L0.3611517274211098 0L0.6146286724700761 0.008660554424468435L0.7675462459194776 0.035269459580494614L0.831839975516866 0.056961676692569484L0.8847592491838954 0.08519560521497332L0.9238557535364527 0.120683646438422L0.9583303225312839 0.21691797435320384L0.955092470586235 0.3022616904894429L0.9198097669001631 0.3640573439322699L0.8564862239866702 0.40639258627024005L0.7691258543593579 0.43335506909190874L0.601775027203482 0.4539166070813109L0.023939064200217658 0.46997623755243123M0.5038084874863982 0.5108023922274467L1 1",S:"M0.8886929689221953 0.15146982162688968L0.7276173683050475 0.013780286031594946L0.34582323121005076 0L0.1318235250900008 0.09920162734298861L0.0444543935052531 0.2811287071349243L0.08064065829108809 0.3709571405906485L0.21603115127470426 0.4485505768228281L0.7525409135992945 0.5111160926769565L0.9330263665417677 0.5850732219351329L1 0.7129938124702524L0.9117772389978691 0.9130572743138187L0.6423187128058188 1L0.29586019579751677 0.9935291584506244L0.10638454191462794 0.9229845198431584L0 0.7570771288048773",T:"M0 0L1 0M0.5148514851485149 0L0.5148514851485149 1",U:"M0 0L0.0023103778751369115 0.5467447428390111L0.01823032542100219 0.6954785891481812L0.05895528135268338 0.8056480226151669L0.13703402031421133 0.8894445726483398L0.23918400876232196 0.9448524533417946L0.3917887458926616 0.9848674531975652L0.584341627875137 1L0.7194816196604602 0.9848501456716763L0.8303268115073934 0.9449411544119768L0.8966613970084885 0.898186315516197L0.9251437568455642 0.867453197565408L0.9687114937020809 0.7890904895145239L0.9890470974808324 0.6852857184065537L1 0.0014769088758762145",V:"M0 0L0.5348837209302325 1L1 0",W:"M0 0L0.23300090661831369 0.9873417721518988L0.49954669084315495 0.30081906180193585L0.7851314596554849 1L1 0.0215934475055845",X:"M0 0L0.9893617021276596 1M1 0L0.010638297872340425 1",Y:"M0 0L0.4860515021459227 0.44712562100780695M1 0.0014194464158977947L0.48927038626609437 0.44996451383960256L0.5075107296137339 1",Z:"M0 0L1 0L0 1L1 1",".":"M 0.49 1 L 0.41 1","*":"M 0.5 0.25 L 0.8 0.25 M 0.5 0.25 L 0.5927 0.4402 M 0.5 0.25 L 0.2573 0.3676 M 0.5 0.25 L 0.2573 0.1324 M 0.5 0.25 L 0.599 0.055","(":"M0.75 0L0.25 0.5L0.25 0.5L0.75 1",")":"M0.25 0L0.75 0.5L0.75 0.5L0.25 1","-":"M0 0.5L1 0.5","+":"M 0 0.5 L 1 0.5 M 0.5 0.125 L 0.5 0.875","=":"M0 0.25L1 0.25M0 0.75L1 0.75",_:"M0 1 L1 1","[":"M0.75 0L0.25 0L0.25 1L0.75 1","]":"M0.25 0L0.75 0L0.75 1L0.25 1","<":"M0.75 0L0.25 0.5L0.25 0.5L0.75 1",">":"M0.25 0L0.75 0.5L0.75 0.5L0.25 1","'":"M 0.5 0 L 0.5 0.5",'"':"M 0.25 0 L 0.25 0.5 M 0.75 0 L 0.75 0.5"},LuA={};for(const t in Ioe){LuA[t]=[];const A=Ioe[t].split("M").slice(1).map(e=>e.split("L").map(i=>i.trim().split(" ").map(parseFloat)));for(const e of A)for(let i=0;i<e.length-1;i++)LuA[t].push({x1:e[i][0],y1:1-e[i][1],x2:e[i+1][0],y2:1-e[i+1][1]})}var RC=({command_code:t,schema:A,stringify:e})=>({command_code:t,schema:A,stringify:e}),U4t=RC({command_code:"FMAT",schema:WA({command_code:kA("FMAT").default("FMAT"),format:ZA()}),stringify:t=>`FMAT,${t.format}`}),L4t=RC({command_code:"G00",schema:WA({command_code:kA("G00").default("G00")}),stringify:()=>"G00"}),H4t=RC({command_code:"G01",schema:WA({command_code:kA("G01").default("G01")}),stringify:()=>"G01"}),Y4t=RC({command_code:"G05",schema:WA({command_code:kA("G05").default("G05")}),stringify:()=>"G05"}),J4t=RC({command_code:"G85",schema:WA({command_code:kA("G85").default("G85"),x:ZA(),y:ZA(),width:ZA()}),stringify:({x:t,y:A})=>`G85X${t.toFixed(3)}Y${A.toFixed(3)}`}),T4t=RC({command_code:"G90",schema:WA({command_code:kA("G90").default("G90")}),stringify:()=>"G90"}),K4t=RC({command_code:"M15",schema:WA({command_code:kA("M15").default("M15")}),stringify:()=>"M15"}),q4t=RC({command_code:"M16",schema:WA({command_code:kA("M16").default("M16")}),stringify:()=>"M16"}),P4t=RC({command_code:"M30",schema:WA({command_code:kA("M30").default("M30")}),stringify:()=>"M30"}),O4t=RC({command_code:"M48",schema:WA({command_code:kA("M48").default("M48")}),stringify:()=>"M48"}),W4t=RC({command_code:"M95",schema:WA({command_code:kA("M95").default("M95")}),stringify:()=>"M95"}),coe=RC({command_code:"define_tool",schema:WA({command_code:kA("define_tool").default("define_tool"),tool_number:ZA(),diameter:ZA()}),stringify:t=>`T${t.tool_number}C${t.diameter.toFixed(6)}`}),Z4t=RC({command_code:"drill_at",schema:WA({command_code:kA("drill_at").default("drill_at"),x:ZA(),y:ZA()}),stringify:t=>`X${t.x.toFixed(4)}Y${t.y.toFixed(4)}`}),V4t=RC({command_code:"header_attribute",schema:WA({command_code:kA("header_attribute").default("header_attribute"),attribute_name:Y(),attribute_value:Y()}),stringify({attribute_name:t,attribute_value:A}){return`; #@! ${t},${A}`}}),j4t=RC({command_code:"header_comment",schema:WA({command_code:kA("header_comment").default("header_comment"),text:Y()}),stringify({text:t}){return`; ${t}`}}),z4t=RC({command_code:"rewind",schema:WA({command_code:kA("rewind").default("rewind")}),stringify:()=>"%"}),X4t=RC({command_code:"unit_format",schema:WA({command_code:kA("unit_format").default("unit_format"),unit:ei([kA("INCH"),kA("METRIC")]),lz:ei([kA("LZ"),kA("TZ")]).nullable().default(null)}),stringify(t){return`${t.unit}${t.lz?`,${t.lz}`:""}`}}),$4t=RC({command_code:"use_tool",schema:WA({command_code:kA("use_tool").default("use_tool"),tool_number:ZA()}),stringify:t=>`T${t.tool_number}`}),APt=RC({command_code:"aper_function_header",schema:WA({command_code:kA("aper_function_header").default("aper_function_header"),is_plated:ce()}),stringify({is_plated:t}){return t?"; #@! TA.AperFunction,Plated,PTH,ComponentDrill":"; #@! TA.AperFunction,NonPlated,NPTH,ComponentDrill"}}),ePt=RC({command_code:"percent_sign",schema:WA({command_code:kA("percent_sign").default("percent_sign")}),stringify:()=>"%"}),Boe={G00:L4t,G01:H4t,G85:J4t,M48:O4t,M95:W4t,FMAT:U4t,unit_format:X4t,aper_function_header:APt,percent_sign:ePt,T:coe,define_tool:coe,use_tool:$4t,G90:T4t,G05:Y4t,M15:K4t,M16:q4t,M30:P4t,drill_at:Z4t,header_comment:j4t,header_attribute:V4t,rewind:z4t},tPt=t=>t.map(A=>Boe[A.command_code].stringify(A)).join(`
|
|
5632
5632
|
`),iPt=class{commands;constructor(){this.commands=[]}add(t,A){return this.commands.push({command_code:Boe[t].command_code,...A}),this}build(){return this.commands}},oPt=()=>new iPt,nPt=({circuitJson:t,is_plated:A,flip_y_axis:e=!1})=>{const i=oPt();i.add("M48",{});const o=new Date().toISOString();i.add("header_comment",{text:`DRILL file {tscircuit} date ${o}`}).add("header_comment",{text:"FORMAT={-:-/ absolute / metric / decimal}"}).add("header_attribute",{attribute_name:"TF.CreationDate",attribute_value:o}).add("header_attribute",{attribute_name:"TF.GenerationSoftware",attribute_value:"tscircuit"}).add("header_attribute",{attribute_name:"TF.FileFunction",attribute_value:"Plated,1,2,PTH"}).add("FMAT",{format:2}).add("unit_format",{unit:"METRIC",lz:null});let n=10;const s={};for(const r of t){if(r.type!=="pcb_plated_hole"&&r.type!=="pcb_hole"&&r.type!=="pcb_via")continue;const a="hole_diameter"in r&&typeof r.hole_diameter=="number"?r.hole_diameter:"hole_width"in r&&typeof r.hole_width=="number"&&"hole_height"in r&&typeof r.hole_height=="number"?Math.min(r.hole_width,r.hole_height):void 0;a&&(s[a]||(i.add("aper_function_header",{is_plated:A}),i.add("define_tool",{tool_number:n,diameter:a}),s[a]=n,n++))}i.add("percent_sign",{}),i.add("G90",{}),i.add("G05",{});for(let r=10;r<n;r++){i.add("use_tool",{tool_number:r});for(const a of t)if(a.type==="pcb_plated_hole"||a.type==="pcb_hole"||a.type==="pcb_via"){const g="hole_diameter"in a&&typeof a.hole_diameter=="number"?a.hole_diameter:"hole_width"in a&&typeof a.hole_width=="number"&&"hole_height"in a&&typeof a.hole_height=="number"?Math.min(a.hole_width,a.hole_height):void 0;if(!g||s[g]!==r)continue;const I="x"in a&&typeof a.x=="number"?a.x:0,c="y"in a&&typeof a.y=="number"?a.y:0,B="hole_offset_x"in a&&typeof a.hole_offset_x=="number"?a.hole_offset_x:0,l="hole_offset_y"in a&&typeof a.hole_offset_y=="number"?a.hole_offset_y:0,C=I+B,Q=c+l,E=e?-1:1;if("hole_width"in a&&typeof a.hole_width=="number"&&"hole_height"in a&&typeof a.hole_height=="number"){const h=a.hole_width,u=a.hole_height,d=Math.max(h,u),f=Math.min(h,u);if(Math.abs(d-f)<=1e-6){i.add("drill_at",{x:C,y:Q*E});continue}const S=("hole_ccw_rotation"in a&&typeof a.hole_ccw_rotation=="number"?a.hole_ccw_rotation:"ccw_rotation"in a&&typeof a.ccw_rotation=="number"?a.ccw_rotation:0)*Math.PI/180,D=Math.cos(S),x=Math.sin(S),F=h>=u,k=(d-f)/2,v=F?{x:-k,y:0}:{x:0,y:-k},_=F?{x:k,y:0}:{x:0,y:k},H=({x:gA,y:tA})=>({x:gA*D-tA*x,y:gA*x+tA*D}),P=H(v),J=H(_),W=C+P.x,Z=(Q+P.y)*E,AA=C+J.x,nA=(Q+J.y)*E;i.add("drill_at",{x:W,y:Z}).add("G85",{x:AA,y:nA,width:f});continue}i.add("drill_at",{x:C,y:Q*E})}}return i.add("M30",{}),i.build()},Tc=({command_code:t,schema:A,stringify:e})=>({command_code:t,schema:A,stringify:e}),sPt=Tc({command_code:"TA",schema:WA({command_code:kA("TA").default("TA"),attribute_name:Y(),attribute_value:Y()}).describe("Add attribute on aperture: Add an aperture attribute to the dictionary or modify it."),stringify:({attribute_name:t,attribute_value:A})=>`%TA${t},${A}*%`}),rPt=Tc({command_code:"TF",schema:WA({command_code:kA("TF").default("TF"),attribute_name:Y(),attribute_value:Y()}).describe("Add attribute on file: Set a file attribute."),stringify:({attribute_name:t,attribute_value:A})=>`%TF.${t},${A}*%`}),aPt=Tc({command_code:"TO",schema:WA({command_code:kA("TO").default("TO"),attribute_name:Y(),attribute_value:Y()}).describe("Add attribute on object: Add an object attribute to the dictionary or modify it."),stringify:({attribute_name:t,attribute_value:A})=>`%TO${t},${A}*%`}),gPt=Tc({command_code:"AB",schema:WA({command_code:kA("AB").default("AB"),block:Y()}).describe("Aperture block: Opens a block aperture statement and assigns its aperture number or closes a block aperture statement"),stringify(){return""}}),IPt=Tc({command_code:"G04",schema:WA({command_code:kA("G04").default("G04"),comment:Y()}).describe("Comment: A human readable comment, does not affect the image. 4.1"),stringify:t=>`G04 ${t.comment}*`}),cPt=Tc({command_code:"G75",schema:WA({command_code:kA("G75").default("G75")}).describe("Create arc: A G75 must be called before creating the first arc."),stringify(){return"G75*"}}),BPt=Tc({command_code:"AD",schema:WA({command_code:kA("AD").default("AD"),aperture_code:Y()}).describe("Aperture define: Defines a template-based aperture, assigns a D code to it. 4.3"),stringify(){return""}}),lPt=Tc({command_code:"AM",schema:WA({command_code:kA("AM").default("AM"),macro_name:Y(),template_code:Y()}).describe("Aperture macro: Defines a macro aperture template. 4.5"),stringify({macro_name:t,template_code:A}){return`%AM${t}*
|
|
5633
5633
|
${A}%`}}),CPt=Tc({command_code:"TD",schema:WA({command_code:kA("TD").default("TD"),attribute:Y().optional()}).describe("Delete attribute: Attribute delete Delete one or all attributes in the dictionary."),stringify({attribute:t}){return t?`%TD${t}*%`:"%TD*%"}}),QPt=Tc({command_code:"M02",schema:WA({command_code:kA("M02").default("M02")}).describe("End of file: 4.13"),stringify(){return"M02*"}}),EPt=Tc({command_code:"G37",schema:WA({command_code:kA("G37").default("G37")}).describe("End region statement: Ends the region statement"),stringify(){return"G37*"}}),lv=t=>{const A=t*1e6;let e=A.toFixed(0);for(;e.length<9;)A<0?e=`-0${e.slice(1)}`:e=`0${e}`;return e},hPt=Tc({command_code:"D03",schema:WA({command_code:kA("D03").default("D03"),x:ZA(),y:ZA()}).describe("Flash operation: Creates a flash object with the current aperture. The current point is moved to the flash point."),stringify({x:t,y:A}){const[e,i]=[t,A].map(o=>lv(o));return`X${e}Y${i}D03*`}});WA({command_code:kA("LM"),mirroring:Y()}).describe("Load mirroring: Loads the mirror object transformation parameter."),WA({command_code:kA("LP"),polarity:Y()}).describe("Load polarity: Loads the polarity object transformation parameter.");var uPt=Tc({command_code:"LR",schema:WA({command_code:kA("LR").default("LR"),rotation_degrees:ZA()}).describe("Load rotation: Loads the rotation object transformation parameter."),stringify:({rotation_degrees:t})=>`%LR${t}*%`});WA({command_code:kA("LS"),scaling:Y()}).describe("Load scaling: Loads the scale object transformation parameter.");var dPt=Tc({command_code:"D02",schema:WA({command_code:kA("D02").default("D02"),x:ZA(),y:ZA()}).describe("Move operation: D02 moves the current point to the coordinate in the command. It does not create an object."),stringify({x:t,y:A}){const[e,i]=[t,A].map(o=>lv(o));return`X${e}Y${i}D02*`}}),pPt=Tc({command_code:"D01",schema:WA({command_code:kA("D01").default("D01"),x:ZA(),y:ZA(),i:ZA().optional(),j:ZA().optional()}).describe("Plot operation: Outside a region statement D01 creates a draw or arc object with the current aperture. Inside it adds a draw/arc segment to the contour under construction. The current point is moved to draw/arc end point after the creation of the draw/arc."),stringify({x:t,y:A,i:e,j:i}){const o=lv(t),n=lv(A);let s=`X${o}Y${n}`;if(e!==void 0&&i!==void 0){const r=lv(e),a=lv(i);s+=`I${r}J${a}`}return`${s}D01*`}});WA({command_code:kA("FS"),format:Y()}).describe("Sets the coordinate format, e.g. the number of decimals."),WA({command_code:kA("Dnn"),d_code:Y()}).describe("(nn≥10) Sets the current aperture to D code nn. 4.6");var fPt=Tc({command_code:"G02",schema:WA({command_code:kA("G02").default("G02")}).describe("Set movement mode to clockwise circular: Sets linear/circular mode to clockwise circular."),stringify(){return"G02*"}}),yPt=Tc({command_code:"G03",schema:WA({command_code:kA("G03").default("G03")}).describe("Set movement mode to counterclockwise circular: Sets linear/circular mode to counterclockwise circular."),stringify(){return"G03*"}}),wPt=Tc({command_code:"G01",schema:WA({command_code:kA("G01").default("G01")}).describe("Set movement mode to linear: Sets linear/circular mode to linear."),stringify(){return"G01*"}}),mPt=Tc({command_code:"MO",schema:WA({command_code:kA("MO").default("MO"),unit:Bt(["MM","in"])}).describe("Mode: Sets the unit to mm or inch. 4.2.1"),stringify({unit:t}){return`%MO${t}*%`}}),DPt=Tc({command_code:"G36",schema:WA({command_code:kA("G36").default("G36")}).describe("Start region statement: Starts a region statement which creates a region by defining its contours."),stringify(){return"G36*"}});WA({command_code:kA("SR"),statement:Y()}).describe("Step and repeat: Open or closes a step and repeat statement.");var SPt=Tc({command_code:"FS",schema:WA({command_code:kA("FS").default("FS"),zero_omission_mode:ei([kA("L").describe("leading zeros omitted"),kA("T")]).nullable().default(null),coordinate_notation:ei([kA("A").describe("absolute notation"),kA("I").describe("incremental notation")]).default("A"),x_integer_digits:ZA().int().default(4),x_decimal_digits:ZA().int().default(6),y_integer_digits:ZA().int().default(4),y_decimal_digits:ZA().int().default(6)}),stringify:()=>"%FSLAX46Y46*%"}),bPt=Tc({command_code:"LP",schema:WA({command_code:kA("LP").default("LP"),polarity:Bt(["D","C"])}).describe("Layer Polarity: Sets the layer polarity to dark or clear. 4.2.1"),stringify({polarity:t}){return`%LP${t}*%`}}),xPt=WA({standard_template_code:kA("C").describe("circle"),diameter:ZA(),hole_diameter:ZA().optional()}),kPt=WA({standard_template_code:kA("R").describe("rectangle"),x_size:ZA(),y_size:ZA(),hole_diameter:ZA().optional()}),GPt=WA({standard_template_code:kA("O").describe("obround"),x_size:ZA(),y_size:ZA(),hole_diameter:ZA().optional()}),FPt=WA({standard_template_code:kA("P").describe("polygon"),outer_diameter:ZA(),number_of_vertices:ZA().int(),rotation:ZA().optional(),hole_diameter:ZA().optional()}),RPt=Jp("standard_template_code",[xPt,kPt,GPt,FPt]),MPt=WA({macro_name:kA("HORZPILL"),x_size:ZA(),y_size:ZA(),circle_diameter:ZA(),circle_center_offset:ZA()}),NPt=WA({macro_name:kA("VERTPILL"),x_size:ZA(),y_size:ZA(),circle_diameter:ZA(),circle_center_offset:ZA()}),_Pt=WA({macro_name:kA("ROUNDRECT"),corner_radius:ZA(),corner_1_x:ZA(),corner_1_y:ZA(),corner_2_x:ZA(),corner_2_y:ZA(),corner_3_x:ZA(),corner_3_y:ZA(),corner_4_x:ZA(),corner_4_y:ZA()}),vPt=Jp("macro_name",[MPt,NPt,_Pt]),UPt=ei([RPt,vPt]),LPt=Tc({command_code:"ADD",schema:UPt.and(WA({command_code:kA("ADD").default("ADD"),aperture_number:ZA().int()})),stringify(t){if("macro_name"in t){const{aperture_number:A,macro_name:e}=t;let i=`%ADD${A}${e},`;if(e==="HORZPILL"||e==="VERTPILL")i+=`${t.x_size.toFixed(6)}X${t.y_size.toFixed(6)}X${t.circle_diameter.toFixed(6)}X${t.circle_center_offset.toFixed(6)}`;else if(e==="ROUNDRECT")throw new Error("ROUNDRECT macro not implemented yet");return i+="*%",i}if("standard_template_code"in t){const{aperture_number:A,standard_template_code:e}=t;let i=`%ADD${A}${e},`;return e==="C"?i+=`${t.diameter.toFixed(6)}`:e==="R"||e==="O"?i+=`${t.x_size.toFixed(6)}X${t.y_size.toFixed(6)}`:e==="P"&&(i+=`${t.outer_diameter}X${t.number_of_vertices}X${t.rotation?`X${t.rotation}`:""}`),t.hole_diameter&&(i+=`X${t.hole_diameter.toFixed(6)}`),i+="*%",i}throw new Error(`Invalid aperture template config: ${JSON.stringify(t)}`)}}),HPt=Tc({command_code:"D",schema:WA({command_code:kA("D").default("D"),aperture_number:ZA().int()}),stringify({aperture_number:t}){return`D${t}*`}}),loe={add_attribute_on_aperture:sPt,add_attribute_on_file:rPt,add_attribute_on_object:aPt,aperture_block:gPt,comment:IPt,create_arc:cPt,define_aperture:BPt,define_macro_aperture_template:lPt,delete_attribute:CPt,end_of_file:QPt,move_operation:dPt,flash_operation:hPt,end_region_statement:EPt,format_specification:SPt,load_rotation:uPt,plot_operation:pPt,define_aperture_template:LPt,set_movement_mode_to_clockwise_circular:fPt,set_movement_mode_to_counterclockwise_circular:yPt,set_movement_mode_to_linear:wPt,select_aperture:HPt,set_unit:mPt,set_layer_polarity:bPt,start_region_statement:DPt},PI=()=>new YPt,YPt=class{commands;constructor(){this.commands=[]}$if(t,A){return t?A(this):this}add(t,A){return this.commands.push({command_code:loe[t].command_code,...A}),this}build(){return this.commands}},JPt=t=>{const A=Object.values(loe).find(e=>e.command_code===t.command_code);if(!A)throw new Error(`Command for command_code:"${t.command_code}" not found`);if(!A.stringify)throw new Error(`Command for command_code:"${t.command_code}" does not have a stringify method`);return A.stringify(t)},TPt=t=>{const A={};for(const e of Object.keys(t))A[e]=t[e].map(i=>JPt(i)).join(`
|