import{k as ie,h as W,aq as be,ar as se,as as Me,R as N,at as Oe,au as B,av as ze,aw as Te,ax as K,r as L,V as q,ay as Ce,N as ae,a3 as we,j as O,b as g,a2 as xe,B as Ne,u as oe,d as Pe,g as Ee,C as Ae}from"./index-3a58cb87.js";import{_ as G}from"./objectWithoutPropertiesLoose-4f48578a.js";import{R as le,T as ke}from"./TextFitler-ae90d90b.js";import{f as Le}from"./index-84fa0cb3.js";import{F as We,p as De}from"./Fab-12e96042.js";import{u as $e}from"./useRemainingViewPortHeight-1c35aab5.js";import"./rotate-cw-6c7b4819.js";import"./debounce-c1ba2006.js";var Fe=function(r){ie(e,r);function e(n,i){var s;return s=r.call(this)||this,s.client=n,s.setOptions(i),s.bindMethods(),s.updateResult(),s}var t=e.prototype;return t.bindMethods=function(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)},t.setOptions=function(i){this.options=this.client.defaultMutationOptions(i)},t.onUnsubscribe=function(){if(!this.listeners.length){var i;(i=this.currentMutation)==null||i.removeObserver(this)}},t.onMutationUpdate=function(i){this.updateResult();var s={listeners:!0};i.type==="success"?s.onSuccess=!0:i.type==="error"&&(s.onError=!0),this.notify(s)},t.getCurrentResult=function(){return this.currentResult},t.reset=function(){this.currentMutation=void 0,this.updateResult(),this.notify({listeners:!0})},t.mutate=function(i,s){return this.mutateOptions=s,this.currentMutation&&this.currentMutation.removeObserver(this),this.currentMutation=this.client.getMutationCache().build(this.client,W({},this.options,{variables:typeof i<"u"?i:this.options.variables})),this.currentMutation.addObserver(this),this.currentMutation.execute()},t.updateResult=function(){var i=this.currentMutation?this.currentMutation.state:be(),s=W({},i,{isLoading:i.status==="loading",isSuccess:i.status==="success",isError:i.status==="error",isIdle:i.status==="idle",mutate:this.mutate,reset:this.reset});this.currentResult=s},t.notify=function(i){var s=this;se.batch(function(){s.mutateOptions&&(i.onSuccess?(s.mutateOptions.onSuccess==null||s.mutateOptions.onSuccess(s.currentResult.data,s.currentResult.variables,s.currentResult.context),s.mutateOptions.onSettled==null||s.mutateOptions.onSettled(s.currentResult.data,null,s.currentResult.variables,s.currentResult.context)):i.onError&&(s.mutateOptions.onError==null||s.mutateOptions.onError(s.currentResult.error,s.currentResult.variables,s.currentResult.context),s.mutateOptions.onSettled==null||s.mutateOptions.onSettled(void 0,s.currentResult.error,s.currentResult.variables,s.currentResult.context))),i.listeners&&s.listeners.forEach(function(o){o(s.currentResult)})})},e}(Me);function ue(r,e,t){var n=N.useRef(!1),i=N.useState(0),s=i[1],o=Oe(r,e,t),d=B(),c=N.useRef();c.current?c.current.setOptions(o):c.current=new Fe(d,o);var v=c.current.getCurrentResult();N.useEffect(function(){n.current=!0;var M=c.current.subscribe(se.batchCalls(function(){n.current&&s(function(_){return _+1})}));return function(){n.current=!1,M()}},[]);var y=N.useCallback(function(M,_){c.current.mutate(M,_).catch(ze)},[]);if(v.error&&Te(void 0,c.current.options.useErrorBoundary,[v.error]))throw v.error;return W({},v,{mutate:y,mutateAsync:v.mutate})}var J=Number.isNaN||function(e){return typeof e=="number"&&e!==e};function Ue(r,e){return!!(r===e||J(r)&&J(e))}function Be(r,e){if(r.length!==e.length)return!1;for(var t=0;t=e?r.call(null):i.id=requestAnimationFrame(n)}var i={id:requestAnimationFrame(n)};return i}var F=-1;function Y(r){if(r===void 0&&(r=!1),F===-1||r){var e=document.createElement("div"),t=e.style;t.width="50px",t.height="50px",t.overflow="scroll",document.body.appendChild(e),F=e.offsetWidth-e.clientWidth,document.body.removeChild(e)}return F}var w=null;function ee(r){if(r===void 0&&(r=!1),w===null||r){var e=document.createElement("div"),t=e.style;t.width="50px",t.height="50px",t.overflow="scroll",t.direction="rtl";var n=document.createElement("div"),i=n.style;return i.width="100px",i.height="100px",e.appendChild(n),document.body.appendChild(e),e.scrollLeft>0?w="positive-descending":(e.scrollLeft=1,e.scrollLeft===0?w="negative":w="positive-ascending"),document.body.removeChild(e),w}return w}var je=150,Qe=function(e,t){return e};function Ve(r){var e,t=r.getItemOffset,n=r.getEstimatedTotalSize,i=r.getItemSize,s=r.getOffsetForIndexAndAlignment,o=r.getStartIndexForOffset,d=r.getStopIndexForStartIndex,c=r.initInstanceProps,v=r.shouldResetStyleCacheOnItemSizeChange,y=r.validateProps;return e=function(M){ie(_,M);function _(R){var a;return a=M.call(this,R)||this,a._instanceProps=c(a.props,K(a)),a._outerRef=void 0,a._resetIsScrollingTimeoutId=null,a.state={instance:K(a),isScrolling:!1,scrollDirection:"forward",scrollOffset:typeof a.props.initialScrollOffset=="number"?a.props.initialScrollOffset:0,scrollUpdateWasRequested:!1},a._callOnItemsRendered=void 0,a._callOnItemsRendered=$(function(l,u,h,m){return a.props.onItemsRendered({overscanStartIndex:l,overscanStopIndex:u,visibleStartIndex:h,visibleStopIndex:m})}),a._callOnScroll=void 0,a._callOnScroll=$(function(l,u,h){return a.props.onScroll({scrollDirection:l,scrollOffset:u,scrollUpdateWasRequested:h})}),a._getItemStyle=void 0,a._getItemStyle=function(l){var u=a.props,h=u.direction,m=u.itemSize,S=u.layout,f=a._getItemStyleCache(v&&m,v&&S,v&&h),p;if(f.hasOwnProperty(l))p=f[l];else{var I=t(a.props,l,a._instanceProps),z=i(a.props,l,a._instanceProps),T=h==="horizontal"||S==="horizontal",A=h==="rtl",k=T?I:0;f[l]=p={position:"absolute",left:A?void 0:k,right:A?k:void 0,top:T?0:I,height:T?"100%":z,width:T?z:"100%"}}return p},a._getItemStyleCache=void 0,a._getItemStyleCache=$(function(l,u,h){return{}}),a._onScrollHorizontal=function(l){var u=l.currentTarget,h=u.clientWidth,m=u.scrollLeft,S=u.scrollWidth;a.setState(function(f){if(f.scrollOffset===m)return null;var p=a.props.direction,I=m;if(p==="rtl")switch(ee()){case"negative":I=-m;break;case"positive-descending":I=S-h-m;break}return I=Math.max(0,Math.min(I,S-h)),{isScrolling:!0,scrollDirection:f.scrollOffsetp.clientWidth?Y():0:f=p.scrollHeight>p.clientHeight?Y():0}this.scrollTo(s(this.props,a,l,S,this._instanceProps,f))},b.componentDidMount=function(){var a=this.props,l=a.direction,u=a.initialScrollOffset,h=a.layout;if(typeof u=="number"&&this._outerRef!=null){var m=this._outerRef;l==="horizontal"||h==="horizontal"?m.scrollLeft=u:m.scrollTop=u}this._callPropsCallbacks()},b.componentDidUpdate=function(){var a=this.props,l=a.direction,u=a.layout,h=this.state,m=h.scrollOffset,S=h.scrollUpdateWasRequested;if(S&&this._outerRef!=null){var f=this._outerRef;if(l==="horizontal"||u==="horizontal")if(l==="rtl")switch(ee()){case"negative":f.scrollLeft=-m;break;case"positive-ascending":f.scrollLeft=m;break;default:var p=f.clientWidth,I=f.scrollWidth;f.scrollLeft=I-p-m;break}else f.scrollLeft=m;else f.scrollTop=m}this._callPropsCallbacks()},b.componentWillUnmount=function(){this._resetIsScrollingTimeoutId!==null&&X(this._resetIsScrollingTimeoutId)},b.render=function(){var a=this.props,l=a.children,u=a.className,h=a.direction,m=a.height,S=a.innerRef,f=a.innerElementType,p=a.innerTagName,I=a.itemCount,z=a.itemData,T=a.itemKey,A=T===void 0?Qe:T,k=a.layout,ve=a.outerElementType,pe=a.outerTagName,ge=a.style,Se=a.useIsScrolling,Ie=a.width,H=this.state.isScrolling,D=h==="horizontal"||k==="horizontal",ye=D?this._onScrollHorizontal:this._onScrollVertical,j=this._getRangeToRender(),_e=j[0],Re=j[1],Q=[];if(I>0)for(var E=_e;E<=Re;E++)Q.push(L.createElement(l,{data:z,key:A(E,z),index:E,isScrolling:Se?H:void 0,style:this._getItemStyle(E)}));var V=n(this.props,this._instanceProps);return L.createElement(ve||pe||"div",{className:u,onScroll:ye,ref:this._outerRefSetter,style:W({position:"relative",height:m,width:Ie,overflow:"auto",WebkitOverflowScrolling:"touch",willChange:"transform",direction:h},ge)},L.createElement(f||p||"div",{children:Q,ref:S,style:{height:D?"100%":V,pointerEvents:H?"none":void 0,width:D?V:"100%"}}))},b._callPropsCallbacks=function(){if(typeof this.props.onItemsRendered=="function"){var a=this.props.itemCount;if(a>0){var l=this._getRangeToRender(),u=l[0],h=l[1],m=l[2],S=l[3];this._callOnItemsRendered(u,h,m,S)}}if(typeof this.props.onScroll=="function"){var f=this.state,p=f.scrollDirection,I=f.scrollOffset,z=f.scrollUpdateWasRequested;this._callOnScroll(p,I,z)}},b._getRangeToRender=function(){var a=this.props,l=a.itemCount,u=a.overscanCount,h=this.state,m=h.isScrolling,S=h.scrollDirection,f=h.scrollOffset;if(l===0)return[0,0,0,0];var p=o(this.props,f,this._instanceProps),I=d(this.props,p,f,this._instanceProps),z=!m||S==="backward"?Math.max(1,u):1,T=!m||S==="forward"?Math.max(1,u):1;return[Math.max(0,p-z),Math.max(0,Math.min(l-1,I+T)),p,I]},_}(L.PureComponent),e.defaultProps={direction:"ltr",itemData:void 0,layout:"vertical",overscanCount:2,useIsScrolling:!1},e}var Ke=function(e,t){e.children,e.direction,e.height,e.layout,e.innerTagName,e.outerTagName,e.width,t.instance},Ge=50,P=function(e,t,n){var i=e,s=i.itemSize,o=n.itemMetadataMap,d=n.lastMeasuredIndex;if(t>d){var c=0;if(d>=0){var v=o[d];c=v.offset+v.size}for(var y=d+1;y<=t;y++){var M=s(y);o[y]={offset:c,size:M},c+=M}n.lastMeasuredIndex=t}return o[t]},Je=function(e,t,n){var i=t.itemMetadataMap,s=t.lastMeasuredIndex,o=s>0?i[s].offset:0;return o>=n?ce(e,t,s,0,n):Ze(e,t,Math.max(0,s),n)},ce=function(e,t,n,i,s){for(;i<=n;){var o=i+Math.floor((n-i)/2),d=P(e,o,t).offset;if(d===s)return o;ds&&(n=o-1)}return i>0?i-1:0},Ze=function(e,t,n,i){for(var s=e.itemCount,o=1;n=n&&(o=n-1),o>=0){var c=i[o];d=c.offset+c.size}var v=n-o-1,y=v*s;return d+y},Xe=Ve({getItemOffset:function(e,t,n){return P(e,t,n).offset},getItemSize:function(e,t,n){return n.itemMetadataMap[t].size},getEstimatedTotalSize:te,getOffsetForIndexAndAlignment:function(e,t,n,i,s,o){var d=e.direction,c=e.height,v=e.layout,y=e.width,M=d==="horizontal"||v==="horizontal",_=M?y:c,b=P(e,t,s),R=te(e,s),a=Math.max(0,Math.min(R-_,b.offset)),l=Math.max(0,b.offset-_+b.size+o);switch(n==="smart"&&(i>=l-_&&i<=a+_?n="auto":n="center"),n){case"start":return a;case"end":return l;case"center":return Math.round(l+(a-l)/2);case"auto":default:return i>=l&&i<=a?i:i=0,"there is no valid rules list in the rules API response"),r.rules.map((e,t)=>({...e,id:t}))}async function lt(r,e){let t={rules:[]};try{const{url:n,init:i}=q(e),s=await fetch(n+r,i);s.ok&&(t=await s.json())}catch(n){console.log("failed to fetch rules",n)}return ot(t)}const fe=Ce({key:"ruleFilterText",default:""});function ut(r,e){const t=B(),{mutate:n,isLoading:i}=ue(de,{onSuccess:()=>{t.invalidateQueries("/providers/rules")}});return[o=>{o.preventDefault(),n({name:r,apiConfig:e})},i]}function ct(r){const e=B(),{data:t}=he(r),{mutate:n,isLoading:i}=ue(it,{onSuccess:()=>{e.invalidateQueries("/providers/rules")}});return[o=>{o.preventDefault(),n({names:t.names,apiConfig:r})},i]}function he(r){return ae(["/providers/rules",r],()=>nt("/providers/rules",r))}function dt(r){const{data:e,isFetching:t}=ae(["/rules",r],()=>lt("/rules",r)),{data:n}=he(r),[i]=we(fe);if(i==="")return{rules:e,provider:n,isFetching:t};{const s=i.toLowerCase();return{rules:e.filter(o=>o.payload.toLowerCase().indexOf(s)>=0),isFetching:t,provider:{byName:n.byName,names:n.names.filter(o=>o.toLowerCase().indexOf(s)>=0)}}}}const ft="_RuleProviderItem_ly9yn_1",ht="_left_ly9yn_7",mt="_middle_ly9yn_14",vt="_gray_ly9yn_20",pt="_refreshButtonWrapper_ly9yn_24",x={RuleProviderItem:ft,left:ht,middle:mt,gray:vt,refreshButtonWrapper:pt};function gt({idx:r,name:e,vehicleType:t,behavior:n,updatedAt:i,ruleCount:s,apiConfig:o}){const[d,c]=ut(e,o),v=Le(new Date(i),new Date);return O("div",{className:x.RuleProviderItem,children:[g("span",{className:x.left,children:r}),O("div",{className:x.middle,children:[g(xe,{name:e,type:`${t} / ${n}`}),g("div",{className:x.gray,children:s<2?`${s} rule`:`${s} rules`}),O("small",{className:x.gray,children:["Updated ",v," ago"]})]}),g("span",{className:x.refreshButtonWrapper,children:g(Ne,{onClick:d,disabled:c,children:g(le,{isRotating:c})})})]})}function St({apiConfig:r}){const[e,t]=ct(r),{t:n}=oe();return g(We,{icon:g(le,{isRotating:t}),text:n("update_all_rule_provider"),style:De,onClick:e})}const It="_rule_1e5p9_4",yt="_left_1e5p9_15",_t="_a_1e5p9_22",Rt="_b_1e5p9_29",bt="_type_1e5p9_41",Mt="_size_1e5p9_46",Ot="_payloadAndSize_1e5p9_50",C={rule:It,left:yt,a:_t,b:Rt,type:bt,size:Mt,payloadAndSize:Ot},U={_default:"#59caf9",DIRECT:"#f5bc41",REJECT:"#cb3166"};function zt({proxy:r}){let e=U._default;return U[r]&&(e=U[r]),{color:e}}function Tt({type:r,payload:e,proxy:t,id:n,size:i}){const s=zt({proxy:t});return O("div",{className:C.rule,children:[g("div",{className:C.left,children:n}),O("div",{style:{marginLeft:10},children:[O("div",{className:C.payloadAndSize,children:[g("div",{className:C.payload,children:e}),(r==="GeoSite"||r==="GeoIP")&&O("div",{style:{margin:"0 1em"},className:C.size,children:[" ","size: ",i]})]}),O("div",{className:C.a,children:[g("div",{className:C.type,children:r}),g("div",{style:s,children:t})]})]})]})}const Ct="_header_10x16_4",wt="_RuleProviderItemWrapper_10x16_11",me={header:Ct,RuleProviderItemWrapper:wt},{memo:xt}=N,ne=30;function Nt(r,{rules:e,provider:t}){const n=t.names.length;return r{const{rules:n,provider:i,apiConfig:s}=t,o=i.names.length;if(r({apiConfig:Ee(r)}),Ht=Pe(At)(kt);function kt({apiConfig:r}){const[e,t]=$e(),{rules:n,provider:i}=dt(r),s=Pt({provider:i}),{t:o}=oe();return O("div",{children:[O("div",{className:me.header,children:[g(Ae,{title:o("Rules")}),g(ke,{textAtom:fe,placeholder:o("Search")})]}),g("div",{ref:e,style:{paddingBottom:ne},children:g(Xe,{height:t-ne,width:"100%",itemCount:n.length+i.names.length,itemSize:s,itemData:{rules:n,provider:i,apiConfig:r},itemKey:Nt,children:Et})}),i&&i.names&&i.names.length>0?g(St,{apiConfig:r}):null]})}export{Ht as default};