PageSourceSearch

https://videowatermarkremover.ai/_nuxt/BnJLgzyx.js

js videowatermarkremover.ai collected 2026-10-05 13:13:05 UTC 79,375 bytes, 2 lines download raw bytes

1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./Dv0bZxmC.js","./B2J5dj9F.js","./entry.BfrTmGLl.css","./StarsBg.B37eYgvF.css"])))=>i.map(i=>d[i]);
2import{d as Me,aa as Yt,ab as Xt,ac as wt,ad as Kt,e as le,ae as Zt,c as be,o as E,w as re,r as Le,z as ce,u,af as Qt,m as Ge,A as ea,ag as Ce,P as at,a as g,ah as He,ai as ot,y as J,E as ie,S as s,f as gt,g as ta,h as aa,k as oa,p as na,n as sa,aj as ra,ak as la,q as ht,x as C,T as Be,F as Ie,al as ia,J as Se,K as ae,am as Ue,b as $e,C as Ae,an as _t,ao as ua,ap as K,aq as X,ar as kt,as as me,at as Ct,au as ca,av as da,aw as Fe,G as Ne,ax as Je,ay as ma,az as va,aA as bt,aB as yt,aC as xt,aD as Ve,aE as nt,aF as fa,aG as pa,aH as St,aI as ga,aJ as qe,aK as ha,aL as ba,aM as Mt,aN as ya,aO as xa,aP as wa,a9 as _a,aQ as ka,aR as Ca,aS as Qe,aT as Sa,aU as Ma,aV as Fa,aW as Ra,aX as Ea,aY as Ta,aZ as Ua,a_ as $a,a$ as Va,b0 as Ia,b1 as Oa,b2 as Pa,b3 as Na}from"./B2J5dj9F.js";import{_ as La}from"./CI00iOrO.js";import{c as et,u as Ft,s as tt,a as Aa,_ as Da,b as za,d as ja,e as Wa,f as Ba,g as qa}from"./DWpCuuYN.js";import{_ as Ga}from"./IUiuBR20.js";import{_ as Ha,S as Ja}from"./C-ABWVTZ.js";import{V as Rt}from"./DUDeSr9T.js";import"./BCJTGHsR.js";const[Ya,Xa]=Zt("SwitchRoot");var Ka=Me({__name:"SwitchRoot",props:{defaultValue:{type:Boolean,required:!1},modelValue:{type:[Boolean,null],required:!1,default:void 0},disabled:{type:Boolean,required:!1},id:{type:String,required:!1},value:{type:String,required:!1,default:"on"},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:["update:modelValue"],setup(S,{emit:O}){const n=S,h=O,{disabled:c}=Yt(n),f=Xt(n,"modelValue",h,{defaultValue:n.defaultValue,passive:n.modelValue===void 0});function i(){c.value||(f.value=!f.value)}const{forwardRef:a,currentElement:d}=wt(),T=Kt(d),l=le(()=>{var M;return n.id&&d.value?(M=document.querySelector(`[for="${n.id}"]`))==null?void 0:M.innerText:void 0});return Xa({modelValue:f,toggleCheck:i,disabled:c}),(M,G)=>(E(),be(u(at),Ge(M.$attrs,{id:M.id,ref:u(a),role:"switch",type:M.as==="button"?"button":void 0,value:M.value,"aria-label":M.$attrs["aria-label"]||l.value,"aria-checked":u(f),"aria-required":M.required,"data-state":u(f)?"checked":"unchecked","data-disabled":u(c)?"":void 0,"as-child":M.asChild,as:M.as,disabled:u(c),onClick:i,onKeydown:ea(Ce(i,["prevent"]),["enter"])}),{default:re(()=>[Le(M.$slots,"default",{modelValue:u(f)}),u(T)&&M.name?(E(),be(u(Qt),{key:0,type:"checkbox",name:M.name,disabled:u(c),required:M.required,value:M.value,checked:!!u(f)},null,8,["name","disabled","required","value","checked"])):ce("v-if",!0)]),_:3},16,["id","type","value","aria-label","aria-checked","aria-required","data-state","data-disabled","as-child","as","disabled","onKeydown"]))}}),Za=Ka,Qa=Me({__name:"SwitchThumb",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(S){const O=Ya();return wt(),(n,h)=>{var c;return E(),be(u(at),{"data-state":(c=u(O).modelValue)!=null&&c.value?"checked":"unchecked","data-disabled":u(O).disabled.value?"":void 0,"as-child":n.asChild,as:n.as},{default:re(()=>[Le(n.$slots,"default")]),_:3},8,["data-state","data-disabled","as-child","as"])}}}),eo=Qa;const to={class:"rounded-2xl overflow-hidden bg-[rgba(194,122,255,0.2)] backdrop-blur-md [backface-visibility:hidden]",style:{"min-width":"100px","min-height":"100px"}},ao=Me({__name:"FlipCard",props:{rotate:{default:"y"},class:{}},setup(S){const O=S,n=g(!1),h=g(!1);let c=null;const f=le(()=>n.value?O.rotate==="x"?"[transform:rotateX(180deg)]":"[transform:rotateY(180deg)]":""),i=le(()=>O.rotate==="x"?"group-hover:[transform:rotateX(180deg)]":"group-hover:[transform:rotateY(180deg)]"),a=le(()=>O.rotate==="x"?"[transform:rotateX(180deg)]":"[transform:rotateY(180deg)]"),d=()=>{n.value=!n.value};return He(()=>{h.value=window.innerWidth<=768,h.value&&(n.value=!1,c=window.setInterval(d,5e3))}),ot(()=>{c&&clearInterval(c)}),(T,l)=>(E(),J("div",{class:ie(("cn"in T?T.cn:u(et))("group [perspective:1000px]",O.class))},[s("div",{class:ie(("cn"in T?T.cn:u(et))("relative rounded-2xl transition-all duration-800 [transform-style:preserve-3d]",h.value&&f.value,!h.value&&i.value)),style:{width:"fit-content"}},[s("div",to,[Le(T.$slots,"default")]),s("div",{class:ie(("cn"in T?T.cn:u(et))("rounded-2xl overflow-hidden bg-[rgba(194,122,255,0.2)] backdrop-blur-md [backface-visibility:hidden]",a.value)),style:{position:"absolute",top:"0",left:"0",width:"100%",height:"100%"}}
2,[Le(T.$slots,"back")],2)],2)],2))}}),oo=Object.assign(ao,{__name:"FlipCard"}),no={slots:{root:"relative flex items-start",base:["inline-flex items-center shrink-0 rounded-full border-2 border-transparent focus-visible:outline-2 focus-visible:outline-offset-2 data-[state=unchecked]:bg-accented","transition-[background] duration-200"],container:"flex items-center",thumb:"group pointer-events-none rounded-full bg-default shadow-lg ring-0 transition-transform duration-200 data-[state=unchecked]:translate-x-0 data-[state=unchecked]:rtl:-translate-x-0 flex items-center justify-center",icon:["absolute shrink-0 group-data-[state=unchecked]:text-dimmed opacity-0 size-10/12","transition-[color,opacity] duration-200"],wrapper:"ms-2",label:"block font-medium text-default",description:"text-muted"},variants:{color:{primary:{base:"data-[state=checked]:bg-primary focus-visible:outline-primary",icon:"group-data-[state=checked]:text-primary"},secondary:{base:"data-[state=checked]:bg-secondary focus-visible:outline-secondary",icon:"group-data-[state=checked]:text-secondary"},success:{base:"data-[state=checked]:bg-success focus-visible:outline-success",icon:"group-data-[state=checked]:text-success"},info:{base:"data-[state=checked]:bg-info focus-visible:outline-info",icon:"group-data-[state=checked]:text-info"},warning:{base:"data-[state=checked]:bg-warning focus-visible:outline-warning",icon:"group-data-[state=checked]:text-warning"},error:{base:"data-[state=checked]:bg-error focus-visible:outline-error",icon:"group-data-[state=checked]:text-error"},neutral:{base:"data-[state=checked]:bg-inverted focus-visible:outline-inverted",icon:"group-data-[state=checked]:text-highlighted"}},size:{xs:{base:"w-7",container:"h-4",thumb:"size-3 data-[state=checked]:translate-x-3 data-[state=checked]:rtl:-translate-x-3",wrapper:"text-xs"},sm:{base:"w-8",container:"h-4",thumb:"size-3.5 data-[state=checked]:translate-x-3.5 data-[state=checked]:rtl:-translate-x-3.5",wrapper:"text-xs"},md:{base:"w-9",container:"h-5",thumb:"size-4 data-[state=checked]:translate-x-4 data-[state=checked]:rtl:-translate-x-4",wrapper:"text-sm"},lg:{base:"w-10",container:"h-5",thumb:"size-4.5 data-[state=checked]:translate-x-4.5 data-[state=checked]:rtl:-translate-x-4.5",wrapper:"text-sm"},xl:{base:"w-11",container:"h-6",thumb:"size-5 data-[state=checked]:translate-x-5 data-[state=checked]:rtl:-translate-x-5",wrapper:"text-base"}},checked:{true:{icon:"group-data-[state=checked]:opacity-100"}},unchecked:{true:{icon:"group-data-[state=unchecked]:opacity-100"}},loading:{true:{icon:"animate-spin"}},required:{true:{label:"after:content-['*'] after:ms-0.5 after:text-error"}},disabled:{true:{base:"cursor-not-allowed opacity-75",label:"cursor-not-allowed opacity-75",description:"cursor-not-allowed opacity-75"}}},defaultVariants:{color:"primary",size:"md"}},Et=Object.assign({inheritAttrs:!1},{__name:"USwitch",props:gt({as:{type:null,required:!1},color:{type:null,required:!1},size:{type:null,required:!1},loading:{type:Boolean,required:!1},loadingIcon:{type:String,required:!1},checkedIcon:{type:String,required:!1},uncheckedIcon:{type:String,required:!1},label:{type:String,required:!1},description:{type:String,required:!1},class:{type:null,required:!1},ui:{type:null,required:!1},disabled:{type:Boolean,required:!1},id:{type:String,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1},value:{type:String,required:!1},defaultValue:{type:Boolean,required:!1}},{modelValue:{type:Boolean,default:void 0},modelModifiers:{}}),emits:gt(["change"],["update:modelValue"]),setup(S,{emit:O}){const n=S,h=ta(),c=O,f=aa(S,"modelValue",{type:Boolean,default:void 0}),i=oa(),a=na(sa(n,"required","value","defaultValue")),{id:d,emitFormChange:T,emitFormInput:l,size:M,color:G,name:b,disabled:k,ariaAttrs:P}=ra(n),A=d.value??la(),W=le(()=>{var L;return ht({extend:ht(no),...((L=i.ui)==null?void 0:L.switch)||{}})({size:M.value,color:G.value,required:n.required,loading:n.loading,disabled:k.value||n.loading})});function D(L){const Z=new Event("change",{target:{value:L}});c("change",Z),T(),l()}return(L,Z)=>{var ne;return E(),be(u(at),{as:S.as,class:ie(W.value.root({class:[(ne=n.ui)==null?void 0:ne.root,n.class]}))},{default:re(()=>{var ve,he,ye,de,fe;return[s("div",{class:ie(W.value.container({class:(ve=n.ui)==null?void 0:ve.container}))},[C(u(Za),Ge({id:u(A)},{...u(a),...L.$attrs,...u(P)},{modelValue:f.value,"onUpdate:modelValue":[Z[0]||(Z[0]=w=>f.value=w),D],name:u(b),disabled:u(k)||S.loading,class:W.value.base({class:(he=n.ui)==null?void 0:he.base})}),{default:re(()=>{var w;return[C(u(eo),{class:ie(W.value.thumb({class:(w=n.ui)==null?void 0:w.thumb}))},{default:re(()=>{var F,B,$;return[S.loading?(E(),be(Be,{key:0,name:S.loadingIcon||u(i).ui.icons.loading,class:ie(W.value.icon({class:(F=n.ui)==null?void 0:F.icon,checked:!0,unchecked:!0}))},null,8,["name","class"])):(E(),J(Ie,{key:1},[S.checkedIcon?(E(),be(Be,{key:0,name:S.checkedIcon,class:ie(W.value.icon({class:(B=n.ui)==null?void 0:B.icon,checked:!0}))},null,8,["name","class"])):ce("",!0),S.uncheckedIcon?(E(),be(Be,{key:1,name:S.uncheckedIcon,class:ie(W.value.icon({class:($=n.ui)==null?void 0:$.icon,unchecked:!0}))},null,8,["name","class"])):ce("",!0)],64))]}),_:1},8,["class"])]}),_:1}
2,16,["id","modelValue","name","disabled","class"])],2),S.label||h.label||S.description||h.description?(E(),J("div",{key:0,class:ie(W.value.wrapper({class:(ye=n.ui)==null?void 0:ye.wrapper}))},[S.label||h.label?(E(),be(u(ia),{key:0,for:u(A),class:ie(W.value.label({class:(de=n.ui)==null?void 0:de.label}))},{default:re(()=>[Le(L.$slots,"label",{label:S.label},()=>[Se(ae(S.label),1)])]),_:3},8,["for","class"])):ce("",!0),S.description||h.description?(E(),J("p",{key:1,class:ie(W.value.description({class:(fe=n.ui)==null?void 0:fe.description}))},[Le(L.$slots,"description",{description:S.description},()=>[Se(ae(S.description),1)])],2)):ce("",!0)],2)):ce("",!0)]}),_:3},8,["as","class"])}}}),so={key:0,class:"bg-gray-100 mt-3 dark:bg-gray-900 px-4 py-3 sm:px-5 shrink-0 rounded-lg"},ro={class:"flex items-center gap-3 sm:gap-4 flex-wrap"},lo={class:"flex items-center gap-1.5 sm:gap-2"},io={class:"flex items-center gap-2 sm:gap-3 flex-1 min-w-[200px]"},uo={class:"text-sm sm:text-base text-gray-600 dark:text-gray-400 min-w-[50px] sm:min-w-[60px] text-right font-mono"},co=["max","value"],mo={class:"text-sm sm:text-base text-gray-600 dark:text-gray-400 min-w-[50px] sm:min-w-[60px] font-mono"},vo={class:"flex items-center gap-1.5 sm:gap-2"},fo=["title"],po=["title"],go={class:"flex items-center border border-gray-300 dark:border-gray-700 rounded overflow-hidden"},ho=["min","step"],bo=Me({__name:"VideoControls",props:{videoUrl:{},duration:{},currentTime:{},fps:{},isPlaying:{type:Boolean,default:!1}},emits:["update:currentTime","update:isPlaying","togglePlay","restart","timeChange","increment","decrement","modeChange"],setup(S,{expose:O,emit:n}){const h=S,c=n,{t:f}=Ue(),i=g("seconds"),a=g(.1),d=g(h.currentTime);$e(()=>h.currentTime,D=>{T.value||(d.value=l(D))},{immediate:!1});const T=g(!1);$e(i,D=>{D==="seconds"?a.value=.1:a.value=1,c("modeChange",D)});function l(D){const L=i.value==="frames"?3:1;return Number(D.toFixed(L))}function M(D){const L=Math.floor(D/60),Z=Math.floor(D%60);return`${L}:${Z.toString().padStart(2,"0")}`}function G(){c("togglePlay")}function b(){c("restart")}function k(D){const L=D.target,Z=parseFloat(L.value);T.value=!0,d.value=l(Z),c("update:currentTime",d.value),c("timeChange",d.value),setTimeout(()=>{T.value=!1},200)}function P(D){i.value=D}function A(){if(i.value==="seconds"){const D=Math.min(h.duration||0,d.value+a.value);d.value=l(D)}else{const L=Math.round(d.value*h.fps)+Math.round(a.value),Z=Math.round((h.duration||0)*h.fps),ne=Math.min(Z,L);d.value=l(Math.min(h.duration||0,ne/h.fps))}T.value=!0,c("update:currentTime",d.value),c("increment",d.value),setTimeout(()=>{T.value=!1},200)}function W(){if(i.value==="seconds"){const D=Math.max(0,d.value-a.value);d.value=l(D)}else{const D=Math.round(d.value*h.fps),L=Math.max(0,D-Math.round(a.value));d.value=l(Math.max(0,L/h.fps))}T.value=!0,c("update:currentTime",d.value),c("decrement",d.value),setTimeout(()=>{T.value=!1},200)}return O({mode:i,stepSize:a,setTime:D=>{d.value=l(D),c("update:currentTime",d.value)}}),(D,L)=>{const Z=Ae;return S.videoUrl?(E(),J("div",so,[s("div",ro,[s("div",lo,[C(Z,{icon:S.isPlaying?"i-lucide-pause":"i-lucide-play",size:"sm",variant:"ghost",title:"play",onClick:G},null,8,["icon"]),C(Z,{icon:"i-lucide-rotate-ccw",size:"sm",variant:"ghost",onClick:b,title:"replay"})]),s("div",io,[s("span",uo,ae(M(d.value)),1),s("input",{type:"range",min:0,max:S.duration||0,step:.1,value:d.value,onInput:k,class:"flex-1 h-2 sm:h-2 bg-gray-300 dark:bg-gray-700 rounded-lg appearance-none cursor-pointer [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:w-3 [&::-webkit-slider-thumb]:h-3 sm:[&::-webkit-slider-thumb]:w-4 sm:[&::-webkit-slider-thumb]:h-4 [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:bg-blue-500 [&::-webkit-slider-thumb]:cursor-pointer [&::-moz-range-thumb]:w-4 [&::-moz-range-thumb]:h-4 sm:[&::-moz-range-thumb]:w-5 sm:[&::-moz-range-thumb]:h-5 [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:bg-blue-500 [&::-moz-range-thumb]:border-0 [&::-moz-range-thumb]:cursor-pointer"},null,40,co),s("span",mo,ae(M(S.duration||0)),1)]),s("div",vo,[s("button",{type:"button",title:u(f)("seconds"),class:ie(["px-2 py-1 sm:px-2.5 text-sm sm:text-base font-medium rounded border border-gray-300 dark:border-gray-700 hover:bg-gray-200 dark:hover:bg-gray-800 transition",i.value==="seconds"?"bg-gray-200 text-[var(--color-primary-500)] dark:bg-gray-800":"bg-transparent"]),onClick:L[0]||(L[0]=ne=>P("seconds"))}," s ",10,fo),s("button",{type:"button",title:u(f)("frames"),class:ie(["px-2 py-1 sm:px-2.5 text-sm sm:text-base font-medium rounded border border-gray-300 dark:border-gray-700 hover:bg-gray-200 dark:hover:bg-gray-800 transition",i.value==="frames"?"bg-gray-200 text-[var(--color-primary-500)] dark:bg-gray-800":"bg-transparent"]),onClick:L[1]||(L[1]=ne=>P("frames"))}," f ",10,po),s("div",go,[C(Z,{type:"button",variant:"ghost",size:"sm",title:"backward",icon:"lucide:skip-back",class:"px-2 py-1 sm:px-2.5 sm:py-1.5 hover:bg-gray-200 dark:hover:bg-gray-800 transition",onClick:W}),_t(s("input",{"onUpdate:modelValue":L[2]||(L[2]=ne=>a.value=ne),type:"number",min:i.value==="seconds"?.1:1,step:i.value==="seconds"?.1:1,class:"w-14 sm:w-16 px-1.5 py-1 sm:py-1 text-sm sm:text-base text-center bg-transparent border-0 outline-none appearance-none [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none dark:text-white font-mono"},null,8,ho),[[ua,a.value,void 0,{number:!0}]]),C(Z,{variant:"ghost",type:"button",size:"sm",title:"forward",icon:"lucide:skip-forward",class:"px-2 py-1 sm:px-2.5 sm:py-1.5 hover:bg-gray-200 dark:hover:bg-gray-800 transition",onClick:A})])])])])):ce("",!0)}}}),yo=Object.assign(bo,{__name:"VideoOperateSoraVideoControls"}),xo=()=>{const S=async(h,c,f)=>{try{const i={name:f.name,type:f.type,size:f.size,lastModified:f.lastModified},{objectName:a,uploadUrl:d}=await O(h,c,i);if(a==null||d==null)return null;K(c,X.UPLOAD_URL_GET_SUCCESS);const T=await n(d,a,f);
2return T?(K(c,X.UPLOAD_SUCCESS),T):(K(c,X.UPLOAD_FAILED,{type:"moving watermark",video_file:f.name,video_size:f.size,video_type:f.type,error:"upload video to oss failed"}),null)}catch(i){return K(c,X.UPLOAD_FAILED,{type:"moving watermark",video_file:f.name,video_size:f.size,video_type:f.type,error:i.message}),null}},O=async(h,c,f)=>{try{const i=await kt(h);if(!i||i.code!=1e5||!i.result.url){const T={message:"获取上传链接失败,服务端错误返回报文",resp:i,"video-info":f};K(c,X.UPLOAD_URL_GET_FAIL,T),me("upload video failed, please try again later.","error")}const a=i==null?void 0:i.result.object_name,d=i==null?void 0:i.result.url;return{objectName:a,uploadUrl:d}}catch(i){const d={message:"获取上传链接失败",error:i.message,"video-info":f};K(c,X.UPLOAD_URL_GET_FAIL,d),me("upload video failed, please try again later.","error")}return{objectName:null,uploadUrl:null}},n=async(h,c,f)=>{const i=await Ct(h,c,f);return i||(me("upload video failed, please try again later.","error"),null)};return{getUploadUrl:O,getVideoOnlineUrl:S}},Ye=ca("sora-video",()=>{const S=g(null),O=g(""),n=g(""),h=g(null),c=g(""),f=g(0),i=g(0),a=g([]),d=g(null),T=g(20),l=g(!1),M=g(null),G=g(null),b=g(30),k=g(""),P=g(20),A=le(()=>a.value.find(p=>p.id===d.value)),W=le(()=>[...a.value].sort((o,r)=>o.timestamp-r.timestamp));function D(p){var o;S.value=p,O.value&&x(),h.value={uuid:da(),name:p.name,type:p.type,size:p.size,lastModified:p.lastModified},c.value=((o=h.value)==null?void 0:o.uuid)||"",O.value=URL.createObjectURL(p)}function L(p){i.value=p}function Z(p){b.value=p}function ne(p){M.value=p.width,G.value=p.height}function ve(p){a.value.some(r=>r.currentFrame===p.currentFrame)||(a.value.push(p),d.value=p.id)}function he(p,o){const r=a.value.find(v=>v.id===p);r&&(r.points=o)}function ye(p,o){const r=a.value.find(v=>v.id===p);r&&(r.rectangles=o)}function de(p,o,r){const v=document.createElement("canvas");v.width=p,v.height=o;const V=v.getContext("2d");return V.fillStyle="#000000",V.fillRect(0,0,p,o),V.fillStyle="#FFFFFF",r.forEach(U=>{const z=Math.max(0,Math.min(p,Math.floor(U.x))),ee=Math.max(0,Math.min(o,Math.floor(U.y))),ge=Math.max(0,Math.min(p-z,Math.ceil(U.width))),we=Math.max(0,Math.min(o-ee,Math.ceil(U.height)));ge>0&&we>0&&V.fillRect(z,ee,ge,we)}),v.toDataURL("image/png")}async function fe(p,o,r){const v=document.createElement("canvas");v.width=p,v.height=o;const V=v.getContext("2d");return V.fillStyle="#000000",V.fillRect(0,0,p,o),!r||r.length===0?await new Promise((ee,ge)=>{v.toBlob(we=>we?ee(we):ge(new Error("canvas.toBlob failed")),"image/png")}):(V.fillStyle="#FFFFFF",r.forEach(z=>{const ee=Math.max(0,Math.min(p,Math.floor(z.x))),ge=Math.max(0,Math.min(o,Math.floor(z.y))),we=Math.max(0,Math.min(p-ee,Math.ceil(z.width))),oe=Math.max(0,Math.min(o-ge,Math.ceil(z.height)));we>0&&oe>0&&V.fillRect(ee,ge,we,oe)}),await new Promise((z,ee)=>{v.toBlob(ge=>ge?z(ge):ee(new Error("canvas.toBlob failed")),"image/png")}))}function w(){if(!M.value||!G.value)return[];const p=M.value,o=G.value;return W.value.filter(r=>{var v;return(((v=r.rectangles)==null?void 0:v.length)||0)>0}).map(r=>{const v=de(p,o,r.rectangles||[]);return{timestamp:r.timestamp,width:p,height:o,maskImageBase64:v,currentFrame:r.currentFrame}})}async function F(){if(!M.value||!G.value)return[];const p=M.value,o=G.value,r=W.value.filter(V=>{var U;return(((U=V.rectangles)==null?void 0:U.length)||0)>0}),v=[];for(const V of r){const U=await fe(p,o,V.rectangles||[]);v.push({timestamp:V.timestamp,width:p,height:o,maskBlob:U,currentFrame:V.currentFrame})}return v}function B(p){var r;const o=a.value.findIndex(v=>v.id===p);o>-1&&(a.value.splice(o,1),d.value===p&&(d.value=((r=a.value[0])==null?void 0:r.id)||null))}function $(){d.value&&B(d.value)}function Q(){a.value=[],d.value=null}function se(p){d.value=p;const o=a.value.find(r=>r.id===p);o&&(f.value=o.timestamp)}function x(){O.value&&(URL.revokeObjectURL(O.value),O.value="")}async function R(p,o,r="",v){if(n.value&&r===p.name)return n.value;const{getVideoOnlineUrl:V}=xo(),U=await V(p.name,o,p);if(U==null)throw new Error("saveVideo error");return O.value&&c.value===v&&(n.value=U),n.value}async function y(p,o){var r;try{const v=(r=h.value)==null?void 0:r.name;D(p),await R(p,o,v||"",c.value)}catch(v){throw v}}function N(){const p=P.value,o=Math.max(1,b.value),r=Math.round((i.value||0)*o);let v=W.value;if(!v.length)return[];v.some(oe=>Math.round(oe.currentFrame)===0)||(v=[{id:"zero-frame",timestamp:0,currentFrame:0,points:[],rectangles:[],imageData:""},...v]);const U=Array.from(new Set(v.map(oe=>Math.max(0,Math.round(oe.currentFrame))))).sort((oe,pe)=>oe-pe);if(U.length===1){const oe=U[0],pe=v.find(xe=>Math.round(xe.currentFrame)===oe),_e=((pe==null?void 0:pe.rectangles)||[]).slice();return _e.length?[{start_frame:oe,end_frame:r,rectangles:_e}]:[]}const z=new Set;z.add(0),z.add(r);const ee=[];for(let oe=1;oe<=U.length-1;oe++){const pe=U[oe-1],_e=U[oe],xe=oe+1<U.length?U[oe+1]:r,Re=Math.max(pe,_e-p),Ee=Math.min(xe,_e+p);ee.push({leftStart:pe,a:_e,rightEnd:xe,L:Re,R:Ee}),z.add(Re),z.add(Ee)}const ge=Array.from(z).sort((oe,pe)=>oe-pe),we=[];for(let oe=0;oe<ge.length-1;oe++){const pe=ge[oe],_e=ge[oe+1];if(_e<=pe)continue;let xe=ee.find(ke=>!(_e<=ke.L||pe>=ke.R));if(xe||(xe=ee.find(ke=>pe>=ke.leftStart&&pe<ke.rightEnd)),!xe)continue;let Re=[];const Ee=v.find(ke=>Math.round(ke.currentFrame)===xe.leftStart),Oe=v.find(ke=>Math.round(ke.currentFrame)===xe.a),De=((Ee==null?void 0:Ee.rectangles)||[]).slice(),Pe=((Oe==null?void 0:Oe.rectangles)||[]).slice();_e<=xe.L?Re=De:pe>
2=xe.R?Re=Pe:Re=[...De,...Pe],we.push({start_frame:pe,end_frame:_e,rectangles:Re})}return we}async function te(){try{const p=N();if(!p.length)return null;const o=M.value||0,r=G.value||0;if(!o||!r)throw new Error("Video metadata missing");const v=[],V=[];for(const U of p){const z=await fe(o,r,U.rectangles||[]);v.push(new File([z],`${U.start_frame}-${U.end_frame}.png`,{type:"image/png"})),V.push({start_frame:U.start_frame,end_frame:U.end_frame})}return{mask_imgs:v,videoOnlineUrl:n.value,mask_stages:V}}catch(p){throw p}}async function Y(){try{Q(),d.value=null,f.value=0,L(0),Z(30),x(),S.value=null,h.value=null,n.value="",k.value=""}catch(p){console.error("reset error",p)}}return{videoFile:S,videoUrl:O,videoOnlineUrl:n,videoInfo:h,currentTime:f,currentJobId:c,duration:i,videoWidth:M,videoHeight:G,videoFrames:b,maskFrames:a,selectedFrameId:d,brushSize:T,isProcessing:l,selectedFrame:A,sortedMaskFrames:W,resultVideoUrl:k,bufferFrames:P,setVideoFile:D,setVideoMeta:ne,setDuration:L,setVideoFrames:Z,addMaskFrame:ve,updateMaskFrame:he,updateMaskFrameAreas:ye,removeMaskFrame:B,clearCurrentMask:$,clearAllMasks:Q,selectFrame:se,renderMaskImage:de,buildPreparedPayload:w,renderMaskImageBlob:fe,buildPreparedPayloadBlob:F,revokeVideoUrl:x,getVideoOnlineUrlByFile:R,reset:Y,saveVideo:y,computeMergedIntervals:N,prepareMaskParams:te}}),wo=["data-opacity"],_o=Me({__name:"SelectionOverlay",props:{videoElement:{},currentFrame:{},frameRecords:{},isPlaying:{type:Boolean}},emits:["region-selected","pause-video"],setup(S,{emit:O}){const n=S,h=O,c=g(null),f=g(!1),i=g(null),a=g(null),d=g(!1),T=g(0);$e(()=>n.videoElement,w=>{if(w){const F=()=>{w.videoWidth>0&&w.videoHeight>0&&(d.value=!0,T.value++)};w.readyState>=1?F():w.addEventListener("loadedmetadata",F,{once:!0})}},{immediate:!0}),typeof window<"u"&&window.addEventListener("resize",()=>{T.value++});const l=le(()=>{if(T.value,!d.value||!n.videoElement||!c.value)return{x:0,y:0,width:0,height:0};const w=n.videoElement,F=c.value.getBoundingClientRect(),B=w.videoWidth,$=w.videoHeight,Q=F.width,se=F.height;if(B===0||$===0)return{x:0,y:0,width:0,height:0};const x=B/$,R=Q/se;let y,N,te,Y;return R>x?(N=se,y=N*x,te=(Q-y)/2,Y=0):(y=Q,N=y/x,te=0,Y=(se-N)/2),{x:te,y:Y,width:y,height:N}}),M=Ye(),G=le(()=>{const w=M.bufferFrames,F=n.currentFrame,B=[];if(n.frameRecords.length===0)return B;const $=[...n.frameRecords].sort((Q,se)=>Q.frameNumber-se.frameNumber);return $.forEach((Q,se)=>{const x=$[se+1],R=Q.frameNumber,y=x?x.frameNumber:1/0,N=R-w,te=y+w;if(F>=N&&F<te){const Y=F>=R&&F<y;Q.regions.forEach(p=>{B.push({...p,isExactMatch:Y})})}}),B});function b(w){if(!n.videoElement)return w;const F=n.videoElement,B=l.value;if(F.videoWidth===0||F.videoHeight===0||B.width===0)return w;const $=B.width/F.videoWidth,Q=B.height/F.videoHeight;return{x:w.x*$,y:w.y*Q,width:w.width*$,height:w.height*Q}}const k=le(()=>{if(!a.value)return{};const w=b(a.value);return{left:`${w.x}px`,top:`${w.y}px`,width:`${w.width}px`,height:`${w.height}px`}});function P(w){const F=b(w);return{left:`${F.x}px`,top:`${F.y}px`,width:`${F.width}px`,height:`${F.height}px`}}function A(w,F=!0){if(!c.value||!n.videoElement)return null;const B=c.value.getBoundingClientRect(),$=w.clientX,Q=w.clientY;let se=$-B.left,x=Q-B.top;const R=l.value;se=se-R.x,x=x-R.y,F&&(se=Math.max(0,Math.min(se,R.width)),x=Math.max(0,Math.min(x,R.height)));const y=n.videoElement,N=se/R.width,te=x/R.height,Y=N*y.videoWidth,p=te*y.videoHeight;return{x:Y,y:p}}function W(w){if(!n.videoElement)return;n.isPlaying&&h("pause-video");const F=A(w);F&&(f.value=!0,i.value=F,a.value={x:F.x,y:F.y,width:0,height:0},document.addEventListener("mousemove",L),document.addEventListener("mouseup",Z))}function D(w){if(!f.value||!i.value)return;const F=A(w,!0);if(!F)return;const B=Math.min(i.value.x,F.x),$=Math.min(i.value.y,F.y),Q=Math.abs(F.x-i.value.x),se=Math.abs(F.y-i.value.y);a.value={x:B,y:$,width:Q,height:se}}function L(w){D(w)}function Z(w){ne(),document.removeEventListener("mousemove",L),document.removeEventListener("mouseup",Z)}function ne(w){if(!(!f.value||!a.value||!n.videoElement)){if(a.value.width>5&&a.value.height>
25){const F=n.videoElement.currentTime,B=n.currentFrame||0;h("region-selected",a.value,B,F)}f.value=!1,i.value=null,a.value=null}}function ve(){}function he(w){if(w.touches.length===0)return;const F=w.touches[0];W(F)}function ye(w){if(w.touches.length===0)return;const F=w.touches[0];D(F)}function de(w){w.changedTouches.length!==0&&(w.changedTouches[0],ne())}function fe(){}return ot(()=>{document.removeEventListener("mousemove",L),document.removeEventListener("mouseup",Z)}),(w,F)=>(E(),J("div",{ref_key:"containerRef",ref:c,class:"absolute inset-0 z-10 pointer-events-none"},[s("div",{class:"absolute pointer-events-auto cursor-crosshair",style:Fe({left:`${l.value.x}px`,top:`${l.value.y}px`,width:`${l.value.width}px`,height:`${l.value.height}px`}),onMousedown:W,onMousemove:D,onMouseup:ne,onMouseleave:ve,onTouchstart:Ce(he,["prevent"]),onTouchmove:Ce(ye,["prevent"]),onTouchend:Ce(de,["prevent"]),onTouchcancel:Ce(fe,["prevent"])},[f.value&&a.value?(E(),J("div",{key:0,class:"absolute border-2 pointer-events-none",style:Fe([k.value,{"border-color":"var(--color-limegreen)","background-color":"var(--color-limegreen)",opacity:"0.3"}])},null,4)):ce("",!0),(E(!0),J(Ie,null,Ne(G.value,(B,$)=>(E(),J("div",{key:`region-${$}`,class:"absolute border-2 pointer-events-none",style:Fe({...P(B),borderColor:"var(--color-limegreen)",opacity:B.isExactMatch?"0.5":"0.2"}),"data-opacity":B.isExactMatch?"0.5":"0.2"},[s("div",{class:"absolute inset-0 bg-limegreen",style:Fe({opacity:B.isExactMatch?"0.5":"0.2"})},null,4)],12,wo))),128))],36)],512))}}),ko=Object.assign(Je(_o,[["__scopeId","data-v-c1980020"]]),{__name:"VideoOperateSoraSelectionOverlay"}),Tt=()=>{const{$i18n:S}=ma(),O=S.t.bind(S);return{openCommonModal:(h={},c={})=>{const f=va();let i={title:h.title,description:h.description,message:h.message,showCancel:!0,showConfirm:!0,...h};f.open("commonModal",{props:i,slots:{footer:({close:a})=>[i.showCancel?bt(Ae,{label:O("Cancel"),color:"neutral",variant:"outline",onClick:()=>{i!=null&&i.onCancel&&(i==null||i.onCancel()),a()}}):"",i.showConfirm?bt(Ae,{label:O("Confirm"),color:"neutral",onClick:()=>{i!=null&&i.onConfirm&&(i==null||i.onConfirm()),a()}}):""],...c}})}}},Co={class:"gap-2"},So={class:"w-full h-[56vh] sm:h-[62vh] md:h-auto md:[aspect-ratio:16/9] bg-white dark:bg-gray-950 rounded-lg overflow-hidden relative"},Mo={class:"text-center"},Fo={class:"text-base text-gray-800 dark:text-gray-200 m-2"},Ro={class:"text-sm text-gray-500"},Eo={key:1,class:"w-full h-full flex flex-col"},To={class:"flex-1 flex items-center justify-center bg-white dark:bg-gray-950 relative min-h-0"},Uo=["title","aria-label"],$o={class:"relative w-full h-full"},Vo=["src"],Io=Me({__name:"VideoPlayer",props:{videoFile:{},extensionName:{},enableSelection:{type:Boolean}},emits:["reupload","region-selected"],setup(S,{expose:O,emit:n}){const h=S,c=n,f=Ye(),{t:i}=Ue(),a=g(null),d=g(null),T=le(()=>f.videoFrames),l=g(0),M=g(0),G=g(!1),b=g(!1),k=g(!1),P=g([]),A=g(0);async function W(o){if(o)try{await f.saveVideo(o,h.extensionName)}catch(r){K(h.extensionName,X.UPLOAD_VIDEO_FAIL,{error:r.message,type:"moving watermark",video_file:o.name,video_size:o.size,video_type:o.type}),console.error("上传视频失败",r)}}function D(){var o,r;(r=(o=d.value)==null?void 0:o.triggerFileInput)==null||r.call(o)}async function L(o){var v,V,U,z;const r=(V=(v=o.dataTransfer)==null?void 0:v.files)==null?void 0:V[0];r&&await((z=(U=d.value)==null?void 0:U.localFileUpload)==null?void 0:z.call(U,r))}function Z(){a.value&&(b.value||(l.value=ve(Math.min(f.duration||0,Math.max(0,a.value.currentTime)))),G.value||(M.value=Math.max(0,Math.round(l.value*T.value))),A.value=yt(a.value,T.value),w.value!==null&&a.value.currentTime>=w.value&&(a.value.pause(),w.value=null))}function ne(){if(a.value){f.duration=a.value.duration;const o=a.value.videoWidth,r=a.value.videoHeight;f.setVideoMeta({width:o,height:r});const v=xt(a.value);f.setVideoFrames(v),l.value=ve(a.value.currentTime||0),M.value=Math.max(0,Math.round(l.value*T.value))}}function ve(o){return Number(o.toFixed(3))}function he(o){a.value&&(b.value=!0,l.value=ve(o),a.value.currentTime=l.value,M.value=Math.max(0,Math.round(l.value*T.value)),setTimeout(()=>{b.value=!1},200))}function ye(o){a.value&&(b.value=!0,l.value=ve(o),a.value.currentTime=l.value,M.value=Math.max(0,Math.round(l.value*T.value)),setTimeout(()=>{b.value=!1},200))}function de(o){l.value=o}$e(()=>h.videoFile,async o=>{var r,v;o!=null&&(await Ve(),await((v=(r=d.value)==null?void 0:r.localFileUpload)==null?void 0:v.call(r,o)))},{immediate:!0,flush:"post"});function fe(o){const{currentFrame:r,timestamp:v}=o;if(!a.value)return;const V=v,U=Math.min(f.duration||0,V);G.value=!0,b.value=!0,M.value=Math.max(0,Math.round(r)),l.value=ve(U),a.value.currentTime=U,setTimeout(()=>{G.value=!1,b.value=!1},200)}const w=g(null);function F(o,r){if(!a.value)return;w.value=r;const v=Math.min(f.duration||0,o);a.value.currentTime=v,l.value=ve(v),M.value=Math.max(0,Math.round(v*T.value)),a.value.play()}const{openCommonModal:B}=Tt();function $(){B({title:i("reupload"),message:i("features.sora-wm-video.confirm-remove-video"),onConfirm:()=>{f.reset(),c("reupload")},onCancel:()=>{}})}function Q(){a.value&&(k.value?a.value.pause():a.value.play())}
2function se(){a.value&&(a.value.currentTime=0,l.value=0,M.value=0)}function x(o){a.value&&(b.value=!0,l.value=ve(o),a.value.currentTime=l.value,M.value=Math.max(0,Math.round(l.value*T.value)),setTimeout(()=>{b.value=!1},200))}function R(){if(a.value)try{const o=document.createElement("canvas"),r=a.value,v=120,V=r.videoHeight/r.videoWidth,U=v*V;o.width=v,o.height=U;const z=o.getContext("2d");return z?(z.drawImage(r,0,0,v,U),o.toDataURL("image/jpeg",.8)):void 0}catch(o){console.error("捕获缩略图失败:",o);return}}function y(o,r,v){if(a.value){const z=xt(a.value);f.setVideoFrames(z)}const V=a.value?yt(a.value,T.value):r,U=P.value.find(z=>z.frameNumber===V);if(U)U.regions.push(o);else{const z=R(),ee={id:`frame-${Date.now()}-${V}`,frameNumber:V,timestamp:v,regions:[o],thumbnail:z};P.value.push(ee)}}function N(){a.value&&k.value&&a.value.pause()}function te(o){const r=P.value.findIndex(v=>v.id===o);r!==-1&&P.value.splice(r,1)}function Y(o){const r=P.value.find(v=>v.id===o);r&&r.regions.length>0&&(r.regions.pop(),r.regions.length===0&&te(o))}function p(){P.value=[]}return O({videoElement:a,jumpToFrame:fe,playRange:F,frameRecords:P,deleteFrameRecord:te,undoLastRegion:Y,clearAllFrameRecords:p}),(o,r)=>{const v=Be;return E(),J("div",Co,[s("div",So,[u(f).videoUrl?(E(),J("div",Eo,[s("div",To,[s("button",{type:"button",class:"absolute z-20 top-0 right-0 w-8 h-8 p-0 bg-red-500 text-white hover:bg-red-600 rounded-tr-none rounded-tl-none rounded-br-none rounded-bl-full shadow-md ring-2 ring-white/80 flex items-center justify-center",title:u(i)("reupload"),"aria-label":u(i)("reupload"),onClick:$},[C(v,{name:"i-lucide-x",class:"absolute top-1.5 right-1.5"})],8,Uo),s("div",$o,[s("video",{ref_key:"videoElement",ref:a,src:u(f).videoUrl,class:"w-full h-full object-contain pointer-events-none",playsinline:"",onTimeupdate:Z,onLoadedmetadata:ne,onPlay:r[1]||(r[1]=V=>k.value=!0),onPause:r[2]||(r[2]=V=>k.value=!1),onEnded:r[3]||(r[3]=V=>k.value=!1)},null,40,Vo),S.enableSelection?(E(),be(ko,{key:0,"video-element":a.value,"current-frame":A.value,"frame-records":P.value,"is-playing":k.value,onRegionSelected:y,onPauseVideo:N},null,8,["video-element","current-frame","frame-records","is-playing"])):ce("",!0)])])])):(E(),J("div",{key:0,class:"w-full h-full flex items-center justify-center cursor-pointer border-2 border-dashed border-gray-300 dark:border-gray-700 rounded-lg transition hover:border-gray-400 hover:bg-gray-100/40 dark:hover:bg-gray-800/40",onClick:D,onDragover:r[0]||(r[0]=Ce(()=>{},["prevent"])),onDrop:Ce(L,["prevent"])},[s("div",Mo,[r[4]||(r[4]=s("span",{class:"text-4xl block mb-4"},"📹",-1)),s("p",Fo,ae(u(i)("features.sora-wm-video.upload-video")),1),s("p",Ro,ae(u(i)("features.sora-wm-video.supports-formats")),1)]),C(Rt,{ref_key:"videoUploadRef",ref:d,class:"hidden","extension-name":h.extensionName,"allowed-extensions":["mp4","m4v"],"max-resolution-name":"4K","max-resolution-size":3840,"max-size-mb":500,"max-video-length":90,onUploadFile:W},null,8,["extension-name"])],32))]),C(yo,{"video-url":u(f).videoUrl,duration:u(f).duration||0,"current-time":l.value,fps:T.value,"is-playing":k.value,"onUpdate:currentTime":de,onTogglePlay:Q,onRestart:se,onTimeChange:x,onIncrement:he,onDecrement:ye},null,8,["video-url","duration","current-time","fps","is-playing"])])}}}),Oo=Object.assign(Io,{__name:"VideoOperateSoraVideoPlayer"}),Po={class:"bg-gray-50 dark:bg-gray-900 rounded-xl py-3 sm:py-4 border border-gray-200 dark:border-gray-800 h-full flex flex-col"},No={class:"flex items-center justify-between mb-0 pb-3 px-3 sm:px-4 border-b border-gray-200 dark:border-gray-700"},Lo={class:"text-sm sm:text-base font-semibold text-gray-800 dark:text-gray-200 flex items-center gap-2"},Ao={class:"text-xs sm:text-sm text-gray-500 dark:text-gray-400 bg-gray-200 dark:bg-gray-800 px-2 py-1 rounded-full font-medium"},Do={class:"flex-1 overflow-y-auto space-y-2 pt-3 px-3 sm:px-4",style:{"max-height":"50vh"}},zo=["onClick"],jo={class:"absolute -top-2 -left-2 w-6 h-6 sm:w-7 sm:h-7 text-white text-xs sm:text-sm font-bold rounded-full flex items-center justify-center shadow-md",style:{backgroundColor:"var(--color-primary-500)"}},Wo={class:"flex gap-3 pl-2"},Bo={key:0,class:"flex-shrink-0 w-14 h-14 sm:w-16 sm:h-16 rounded-md overflow-hidden bg-gray-200 dark:bg-gray-800"},qo=["src","alt"],Go={class:"flex-1 min-w-0"},Ho={class:"flex items-center gap-1 sm:gap-1.5 mb-2"},Jo={class:"text-xs sm:text-sm font-small text-gray-700 dark:text-gray-300"},Yo={class:"flex items-center gap-1 sm:gap-1.5 mb-2"},Xo={class:"text-xs sm:text-sm text-gray-600 dark:text-gray-400 font-mono"},Ko={class:"absolute top-2 right-2 flex gap-1"},Zo=["title","onClick"],Qo=["title","onClick"],en=Me({__name:"FrameRangeList",props:{frameRecords:{},fps:{},videoDuration:{}},emits:["jump-to-frame","play-range","delete-range","undo-region","clear-all","scroll-to-video"],setup(S,{emit:O}){const n=S,h=O,{t:c}=Ue(),f=le(()=>{const b=[...n.frameRecords].sort((k,P)=>k.frameNumber-P.frameNumber);return b.map((k,P)=>{const A=b[P+1],W=A?A.frameNumber:Math.floor((n.videoDuration||0)*(n.fps||30)),D=A?A.timestamp:n.videoDuration||0;return{id:k.id,startFrame:k.frameNumber,endFrame:W,startTimestamp:k.timestamp,endTimestamp:D,regions:k.regions,thumbnail:k.thumbnail}})});function i(b){return`${c("features.sora-wm-video.frames")} ${b.startFrame} - ${b.endFrame}`}function a(b){return`${d(b.startTimestamp)} - ${d(b.endTimestamp)}`}
2function d(b){const k=Math.floor(b/60),P=Math.floor(b%60),A=Math.floor(b%1*100);return`${k}:${P.toString().padStart(2,"0")}.${A.toString().padStart(2,"0")}`}function T(){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)}function l(b){h("play-range",b.startTimestamp,b.endTimestamp),T()&&h("scroll-to-video")}function M(b){h("delete-range",b)}function G(b){h("undo-region",b)}return(b,k)=>{const P=nt;return E(),J("div",Po,[s("div",No,[s("h3",Lo,[C(P,{name:"i-lucide-layers",class:"w-4 h-4 sm:w-5 sm:h-5"}),Se(" "+ae(u(c)("features.sora-wm-video.frame-ranges")),1)]),s("span",Ao,ae(f.value.length),1)]),s("div",Do,[(E(!0),J(Ie,null,Ne(f.value,(A,W)=>(E(),J("div",{key:A.id,class:"relative p-3 bg-white dark:bg-gray-950 rounded-lg border border-gray-200 dark:border-gray-700 transition-all cursor-pointer group hover:shadow-md",style:{"--hover-border-color":"var(--color-primary-500)"},onClick:D=>l(A)},[s("div",jo,ae(W+1),1),s("div",Wo,[A.thumbnail?(E(),J("div",Bo,[s("img",{src:A.thumbnail,alt:`Frame ${A.startFrame}`,class:"w-full h-full object-cover"},null,8,qo)])):ce("",!0),s("div",Go,[s("div",Ho,[C(P,{name:"i-lucide-film",class:"w-3 h-3 sm:w-4 sm:h-4",style:{color:"var(--color-primary-500)"}}),s("span",Jo,ae(i(A)),1)]),s("div",Yo,[C(P,{name:"i-lucide-clock",class:"w-3.5 h-3.5 sm:w-4 sm:h-4 text-gray-500"}),s("span",Xo,ae(a(A)),1)])])]),s("div",Ko,[A.regions.length>1?(E(),J("button",{key:0,class:"p-1.5 hover:bg-blue-50 dark:hover:bg-blue-900/20 rounded-md transition",title:u(c)("features.sora-wm-video.undo"),onClick:Ce(D=>G(A.id),["stop"])},[C(P,{name:"i-lucide-undo-2",class:"w-4 h-4 text-blue-500"})],8,Zo)):ce("",!0),s("button",{class:"p-1.5 hover:bg-red-50 dark:hover:bg-red-900/20 rounded-md transition",title:u(c)("features.sora-wm-video.delete-range"),onClick:Ce(D=>M(A.id),["stop"])},[C(P,{name:"i-lucide-trash-2",class:"w-4 h-4 text-red-500"})],8,Qo)])],8,zo))),128))])])}}}),tn=Object.assign(Je(en,[["__scopeId","data-v-a959d0bc"]]),{__name:"VideoOperateSoraFrameRangeList"}),an={class:"w-full h-[48vh] sm:h-[56vh] md:h-auto md:[aspect-ratio:16/9] bg-white dark:bg-gray-950 rounded-lg overflow-hidden relative flex items-center justify-center"},on=["src"],nn={class:"flex items-center gap-3 flex-wrap"},sn=Me({__name:"ResultPreview",props:{fileName:{},extensionName:{}},setup(S,{expose:O}){const n=S,h=Ye(),{t:c}=Ue(),f=le(()=>h.resultVideoUrl||""),i=g(!1),a=g(null);function d(l){try{const G=new URL(l).pathname.split("/").pop()||"result.mp4";return n.fileName||G||"result.mp4"}catch{return n.fileName||"result.mp4"}}function T(){try{if(!f.value)return;i.value=!0;const l=document.createElement("a");l.href=fa(h.resultVideoUrl,{action:"download"}),l.download=d(f.value),document.body.appendChild(l),l.click(),document.body.removeChild(l),K(n.extensionName,X.DOWNLOAD_SUCCESS,{url:f.value,type:"moving watermark"})}catch(l){K(n.extensionName,X.DOWNLOAD_FAILED,{error:l.message}),me(c("features.remove-watermark.operate-fail-message"),"error"),console.error("Error happen when the video is downloading!",l)}finally{setTimeout(()=>{i.value=!1},6e3)}}return O({rootRef:a}),(l,M)=>{const G=Ae;return E(),J("div",{ref_key:"rootRef",ref:a,class:"bg-gray-50 dark:bg-gray-900 rounded-xl p-3 sm:p-4 md:p-5 border border-gray-200 dark:border-gray-800 flex flex-col gap-3 sm:gap-4"},[M[0]||(M[0]=s("h2",{class:"text-base font-semibold m-0"},"Result Preview",-1)),s("div",an,[s("video",{src:u(f)||"",class:"w-full h-full object-contain",controls:"",playsinline:""},null,8,on)]),s("div",nn,[C(G,{loading:u(i),size:"md",variant:"solid",class:"shadow-sm hover:opacity-90",style:{"background-color":"var(--color-primary-500)"},onClick:T},{default:re(()=>[Se(ae(u(c)("download")),1)]),_:1},8,["loading"])])],512)}}}),rn=Object.assign(sn,{__name:"VideoOperateSoraResultPreview"}),ln={class:"w-full lg:w-[80%] mx-auto h-auto bg-transparent text-gray-900 dark:bg-gray-950 dark:text-gray-100 p-3 sm:p-4 md:p-3 flex flex-col gap-4 sm:gap-5"},un={class:"rounded-xl p-3 sm:p-4 md:p-5 border border-[#60a5fa] dark:border-primary-800 bg-[#eff6ff] dark:bg-primary-900/20 flex items-center justify-between flex-wrap gap-3"}
2,cn={class:"flex items-center gap-3"},dn={class:"grid grid-cols-1 lg:grid-cols-12 gap-4 sm:gap-5"},mn={class:"lg:col-span-4 flex flex-col gap-4"},vn={class:"flex-1"},fn={key:1,class:"bg-gray-50 dark:bg-gray-900 rounded-xl p-5 sm:p-6 border border-gray-200 dark:border-gray-800 h-full min-h-[400px] flex items-center justify-center"},pn={class:"text-center text-gray-500 dark:text-gray-400 px-4"},gn={class:"text-base sm:text-lg font-medium mb-2"},hn={class:"text-sm sm:text-base opacity-75"},bn={key:0,class:"bg-gray-50 dark:bg-gray-900 rounded-xl p-4 border border-gray-200 dark:border-gray-800 flex flex-col gap-3"},yn={key:0,class:"text-sm"},xn=Me({__name:"SoraWatermarkRemover-v2",props:{modelValue:{},extensionName:{},videoFile:{}},emits:["change-mode"],setup(S,{emit:O}){const n=S,h=O,{t:c,locale:f}=Ue(),{openCommonModal:i}=Tt(),a=g(),d=g(null),T=g(null);Mt("videoPlayerRef",a);const l=Ye(),M=pa(),G=le(()=>l.resultVideoUrl||""),b=le(()=>{var x;return((x=a.value)==null?void 0:x.frameRecords)||[]});ot(()=>{l.reset()});const k=le({get:()=>n.modelValue==="moving",set:x=>{h("change-mode",x?"moving":"auto")}}),P=le(()=>{var x;return((x=l.videoInfo)==null?void 0:x.name)||""});function A(){var x;T.value&&((x=T.value.rootRef)==null||x.scrollIntoView({behavior:"smooth",block:"center"}))}const W=()=>{var x;(x=a.value)==null||x.clearAllFrameRecords()};function D(x){}function L(x,R){var y;(y=a.value)!=null&&y.jumpToFrame&&a.value.jumpToFrame({currentFrame:x,timestamp:R})}function Z(x,R){var y;(y=a.value)!=null&&y.playRange&&a.value.playRange(x,R)}function ne(x){var R;(R=a.value)==null||R.deleteFrameRecord(x)}function ve(x){var R;(R=a.value)==null||R.undoLastRegion(x)}function he(){d.value&&d.value.scrollIntoView({behavior:"smooth",block:"start"})}async function ye(){const x=b.value;if(!x||x.length===0){me(c("features.sora-wm-video.no-valid-mask-areas-to-process"),"warning");return}if(!x.some(N=>N.regions&&N.regions.length>0)){me(c("features.sora-wm-video.no-valid-mask-areas-to-process"),"warning");return}const y=x.filter(N=>!N.regions||N.regions.length===0).length;y>0?i({title:c("Warning"),message:c("features.sora-wm-video.confirm-continue-processing",{unprocessedFrames:`${y}`}),onConfirm:async()=>{await de()},onCancel:()=>{}}):await de()}async function de(){var x,R;try{l.isProcessing=!0;const y=b.value;l.clearAllMasks(),y.forEach(r=>{l.addMaskFrame({id:r.id,timestamp:r.timestamp,currentFrame:r.frameNumber,points:[],rectangles:r.regions,imageData:""})});const N=await l.prepareMaskParams();if(!N){me(c("features.sora-wm-video.no-valid-mask-areas-to-process"),"warning"),l.isProcessing=!1;return}let{mask_imgs:te,videoOnlineUrl:Y,mask_stages:p}=N;if(!Y){const r=await Ft(l.videoUrl,((x=l.videoInfo)==null?void 0:x.name)||"");if(await l.getVideoOnlineUrlByFile(r,n.extensionName,((R=l.videoInfo)==null?void 0:R.name)||"",l.currentJobId),Y=l.videoOnlineUrl,!Y){me(c("features.sora-wm-video.video-upload-failed"),"error"),l.isProcessing=!1;return}}const o=new FormData;te.forEach(r=>{o.append("mask_imgs",r)}),o.append("original_video_file",Y),o.append("mask_stages",JSON.stringify(p)),l.resultVideoUrl?i({title:c("Warning"),message:c("features.sora-wm-video.confirm-remove-result-video"),onConfirm:async()=>{l.resultVideoUrl="",await fe(o)},onCancel:()=>{l.isProcessing=!1}}):await fe(o)}catch(y){console.error("Processing error:",y),me(c("features.remove-watermark.operate-fail-message"),"error")}finally{l.isProcessing=!1}}async function fe(x){var R,y;try{l.isProcessing=!0;const N=await ga(x);if(N.code===1e5&&N.result.job_id){const te=N.result.job_id;K(n.extensionName,X.CREATE_JOB_SUCCESS,{job_id:te,type:"moving watermark",mask_stages:x.get("mask_stages"),video_duration:l.duration,video_frames:l.videoFrames}),await se(te)}else if(N&&N.code===qe.VIDEO_SIZE_TOO_LARGE_FOR_UN_LOGIN)me(c("video_size_too_large_for_un_login")),K(n.extensionName,X.VIDEO_SIZE_TOO_LARGE_FOR_UN_LOGIN);else{const te=((R=N.message)==null?void 0:R[f.value])||((y=N.message)==null?void 0:y.en)||c("server-run-task-fail-message");me(te,"error"),K(n.extensionName,X.CREATE_JOB_FAILED,{create_job_result:JSON.stringify(N),type:"mov
2ing watermark",mask_stages:x.get("mask_stages"),video_duration:l.duration})}}catch(N){console.error("Processing error:",N),me(c("server-run-task-fail-message"),"error"),K(n.extensionName,X.GENERATE_SUCCESS,{error:N.message,mask_stages:x.get("mask_stages"),video_duration:l.duration})}finally{l.isProcessing=!1}}const w=g(2);async function F(x){return new Promise((R,y)=>{let N=0;const te=90,Y=tt(async()=>{try{const p=await ha(x,w.value);p.code!==300006&&(clearInterval(Y),R(p)),N++>=te&&(clearInterval(Y),y(new Error("任务超时")))}catch(p){clearInterval(Y),y(p)}},2e3)})}const{pricingModalOpen:B}=ba(),$=()=>{const x=M.userInfo;let R=!1;x&&(R=x.is_paid||!1),l.duration>30&&!R&&i({title:"Tips",message:c("features.sora-wm-video.video-too-long"),onConfirm:async()=>{B()}})},{getUserInfoByApi:Q}=St();async function se(x){var R;try{const y=await F(x);y.code===1e5&&((R=y.result.output_url)!=null&&R[0])?(l.resultVideoUrl=y.result.output_url[0],K(n.extensionName,X.GENERATE_SUCCESS),me(c("process-success"),"success"),await Q(),$()):(me(c("server-run-task-fail-message"),"error"),K(n.extensionName,X.GENERATE_FAILED,{get_job_result:JSON.stringify(y),imageInfo:JSON.stringify(l.videoInfo)}))}catch(y){console.error("获取任务结果失败:",y),me(c("server-run-task-fail-message"),"error"),K(n.extensionName,X.ERROR_NETWORK,{error:y.message,type:"get-job-result"})}}return $e(()=>G.value,async()=>{G.value&&(await Ve(),A())},{immediate:!1,flush:"post"}),(x,R)=>{const y=Et,N=nt,te=Ae;return E(),J("div",ln,[s("div",un,[s("div",cn,[s("span",{class:ie(["text-base font-semibold flex items-center gap-1",k.value===!1?"text-primary-700 dark:text-primary-300":"text-gray-600 dark:text-gray-100"])},ae(u(c)("features.sora-wm-video.Fixed watermark")),3),C(y,{modelValue:k.value,"onUpdate:modelValue":R[0]||(R[0]=Y=>k.value=Y),size:"md",disabled:u(l).isProcessing},null,8,["modelValue","disabled"]),s("span",{class:ie(["text-base font-semibold flex items-center gap-1",k.value===!0?"text-[#3b82f6] dark:text-primary-300":"text-gray-600 dark:text-gray-400"])},ae(u(c)("features.sora-wm-video.Moving watermark")),3)]),R[1]||(R[1]=s("div",{class:"w-full sm:w-auto text-xs text-primary-700/80 dark:text-primary-300/80 flex items-center gap-2"},null,-1))]),s("div",dn,[s("div",{ref_key:"videoSectionRef",ref:d,class:"lg:col-span-8 bg-gray-50 dark:bg-gray-900 rounded-xl p-2 sm:p-4 md:p-5 border border-gray-200 dark:border-gray-800 flex flex-col gap-2 sm:gap-3"},[C(Oo,{ref_key:"videoPlayerRef",ref:a,"video-file":n.videoFile,"extension-name":n.extensionName,"enable-selection":!0,onReupload:W,onRegionSelected:D},null,8,["video-file","extension-name"])],512),s("div",mn,[s("div",vn,[b.value.length>0?(E(),be(tn,{key:0,"frame-records":b.value,fps:u(l).videoFrames,"video-duration":u(l).duration||0,onJumpToFrame:L,onPlayRange:Z,onDeleteRange:ne,onUndoRegion:ve,onClearAll:W,onScrollToVideo:he},null,8,["frame-records","fps","video-duration"])):(E(),J("div",fn,[s("div",pn,[C(N,{name:"i-lucide-mouse-pointer-click",class:"w-14 h-14 sm:w-16 sm:h-16 mx-auto mb-4 opacity-50"}),s("p",gn,ae(u(c)("features.sora-wm-video.no-ranges")),1),s("p",hn,ae(u(c)("features.sora-wm-video.click-video-hint")),1)])]))]),b.value.length>0?(E(),J("div",bn,[C(te,{color:"primary",size:"xl",block:"",loading:u(l).isProcessing,onClick:ye},{default:re(()=>[u(l).isProcessing?ce("",!0):(E(),J("span",yn,"▶")),Se(" "+ae(u(c)("features.sora-wm-video.start-processing")),1)]),_:1},8,["loading"]),C(te,{color:"error",variant:"outline",size:"xl",block:"",disabled:u(l).isProcessing,onClick:W},{leading:re(()=>[C(N,{name:"i-lucide-trash-2",class:"w-5 h-5"})]),default:re(()=>[Se(" "+ae(u(c)("features.sora-wm-video.clear-all-masks")),1)]),_:1},8,["disabled"])])):ce("",!0)])]),G.value?(E(),be(rn,{key:0,ref_key:"resultPreviewRef",ref:T,"file-name":P.value,"extension-name":n.extensionName},null,8,["file-name","extension-name"])):ce("",!0)])}}}),wn=Object.assign(xn,{__name:"VideoOperateSoraWatermarkRemoverV2"}),_n=["aria-hidden"],kn=Me({__name:"ScrollingTicker",props:{text:{},speedMs:{},containerStyle:{},textStyle:{}},setup(S){const O=S,n=g(!1),h=g(null),c=g(0),f=g(0);let i=null;const a={padding:"8px 12px"},d={color:"var(--color-gray-700)",fontSize:"12px",fontWeight:"600",letterSpacing:"0.2px"},T=le(()=>({...a,...O.containerStyle||{}})),l=le(()=>({...d,...O.textStyle||{}})),M=le(()=>{const k=Math.max(1,c.value),P=Math.max(1,f.value),A=Math.ceil((P+k)/k)+1;return Math.max(2,A)}),G=le(()=>({animationDuration:`${Math.max(3e3,O.speedMs??12e3)}ms`,"--scroll-distance":`-${c.value}px`}));function b(){const k=h.value,P=k==null?void 0:k.querySelector(".content");P&&(c.value=Math.ceil(P.scrollWidth)),k&&(f.value=Math.ceil(k.clientWidth))}return He(()=>{Ve(()=>b()),typeof window<"u"&&"ResizeObserver"in window&&(i=new ResizeObserver(()=>b()),h.value instanceof Element&&i.observe(h.value))}),ya(()=>
2{if(i){try{h.value instanceof Element&&i.unobserve(h.value)}catch{}i.disconnect(),i=null}}),$e(()=>O.text,()=>{requestAnimationFrame(b)}),(k,P)=>(E(),J("div",{class:"w-full overflow-hidden rounded-lg border border-gray-200 dark:border-gray-800 bg-white/70 dark:bg-gray-900/60",style:Fe(T.value),onMouseenter:P[0]||(P[0]=A=>n.value=!0),onMouseleave:P[1]||(P[1]=A=>n.value=!1)},[s("div",{class:"ticker",ref_key:"containerEl",ref:h},[s("div",{class:ie(["track",{running:!n.value,paused:n.value}]),style:Fe(G.value),"aria-live":"polite"},[(E(!0),J(Ie,null,Ne(M.value,A=>(E(),J("div",{key:A,class:"content","aria-hidden":A!==1?"true":"false"},[s("span",{style:Fe(l.value)},ae(S.text),5),P[2]||(P[2]=s("span",{class:"separator"},"•",-1))],8,_n))),128))],6)],512)],36))}}),Cn=Object.assign(Je(kn,[["__scopeId","data-v-00622cbd"]]),{__name:"FeatureVideoMarkScrollingTicker"});function Sn(S){for(var O=S.split(","),n=O[0].match(/:(.*?);/)[1],h=atob(O[1]),c=h.length,f=new Uint8Array(c);c--;)f[c]=h.charCodeAt(c);return new Blob([f],{type:n})}const Mn={class:"grid grid-cols-1 lg:grid-cols-2 justify-center gap-5 w-full p-2 lg:p-10"},Fn={class:"w-full text-center text-base font-bold text-white"},Rn={class:"w-full text-center text-base font-bold text-white"},En={id:"maskDiv"},Tn={key:0},Un={key:1,class:"video-remove-operate flex flex-col w-full items-center bg-white dark:bg-[var(--dark-gb-color)]"},$n={key:0,class:"mobile-tool-bar"},Vn={class:"mobile-tool-bar-top-row"},In={class:"mobile-tool-bar-right-item"},On={class:"text-[12px] font-bold"},Pn={class:"mobile-mode-switch-text"},Nn={class:"mobile-tool-bar-bottom-row"},Ln={class:"flex items-center gap-2"},An={class:"mobile-slider"},Dn={key:1,class:"toolbar flex flex-wrap items-center justify-between px-4 py-2 mx-2 mt-6 shadow rounded-lg gap-2 w-[90%] sm:w-[70%]"},zn={class:"text-sm font-bold"},jn={class:"flex flex-wrap items-center gap-2 min-w-0 flex-1"},Wn={class:"tool-selector-container"},Bn={class:"flex items-center ml-2 min-w-20 flex-1 max-w-70 h-[40px]"},qn={class:"flex items-center gap-2 w-full sm:w-auto justify-start sm:justify-end mt-2 sm:mt-0"},Gn={class:"lg:w-[50%] w-[90%] mt-3"},Hn={class:"video-area flex-1 flex flex-col items-center justify-center w-full pb-12 pt-2 relative h-[65vh] sm:h-[75vh]"},Jn={class:"relative w-full flex flex-col items-center"},Yn=["src"],Xn=["width","height"],Kn={class:"player-controls w-full max-w-2xl flex items-center gap-4 px-4 py-3 rounded-lg shadow dark:bg-[#181a20] dark:text-white bg-white text-gray-900"},Zn={class:"text-xs w-16 text-center"},Qn={key:2},es={key:0},ts=Me({__name:"VideoRemoveOperate",props:{extensionName:{type:String,required:!0}},emits:["update-status"],setup(S,{emit:O}){const{t:n}=Ue(),{openUserLimitModal:h}=Aa(),{getUserInfoByApi:c,getUserInfoFromLocalStorage:f}=St(),i=O,a=xa(),d=S,T=le(()=>oe()?.6:.7),l=g(.95),M=g(!1),G=g(!1),b=g(null),k=g(null),P=g(""),A=g(""),W=g(null),D=g(null),L=g(!1),Z=g(0),ne=g(0),ve=g(!1),he=g(0),ye=g(0),de=g(0),fe=g(0),w=g(!1),F=g(null),B=g(0),$=g("rectangle"),Q=g(20),se=g(!1),x=g(!1),R=g("fixed"),y=le({get:()=>R.value==="moving",set:t=>{R.value=t?"moving":"fixed",K(d.extensionName,X.MODE_SWITCH,{mode:t?"moving watermark":"fixed watermark"})}});$e(()=>R.value,(t,e)=>{try{e==="fixed"&&t==="moving"?B.value=window.scrollY||window.pageYOffset||0:e==="moving"&&t==="fixed"&&Ve(()=>{const m=B.value||0;try{window.scrollTo({top:m,behavior:"auto"})}catch{window.scrollTo(0,m)}})}catch{}});const N=g(null);let te=!1,Y=null;const p=le(()=>{if(b.value==null)return 9999;if(k.value==null)return 4;const t=k.value.width,e=k.value.height;if(t<=0||e<=0)return 4;const m=1920,_=2560,I=t>e?t:e;return I>_?4:I>m?2:1}),o=g(null),r=g(1);let v=[],V=[];const U=g([]);let z=null,ee=null;const ge=g({x:0,width:40,height:40}),we=le(()=>({transform:`translateX(${ge.value.x}px)`,width:`${ge.value.width}px`,height:`${ge.value.height}px`}));function oe(t=768){return(window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth)<t}function pe(t,e){$.value=t,Ve(()=>{xe(e.currentTarget)})}const _e=()=>{R.value=R.value==="fixed"?"moving":"fixed"},xe=t=>{if(t){const e=t.closest(".tool-selector-container");if(e){const m=t.getBoundingClientRect(),_=e.getBoundingClientRect();ge.value.x=m.left-_.left-4,ge.value.width=m.width,ge.value.height=m.height}}};async function Re(t){t&&(b.value&&Pe(),b.value=t,A.value=URL.createObjectURL(t),Ve(()=>{L.value=!1}),Ee())}$e(()=>b.value,async t=>{if(i("update-status",t!=null),t==null){k.value=null;return}k.value=await Qe(t)});function Ee(){const t=document.getElementById("maskDiv");if(t){const e=t.offsetTop,m=b.value==null?300:60,_=e-m;window.scrollTo({top:_,behavior:"smooth"})}}function Oe(){Pe()}function De(t,e){b.value&&Pe(),b.value=e,F.value=t.toString(),A.value=t.toString(),Ve(()=>{L.value=!1}),D.value&&(D.value.value="")}function Pe(){b.value=null,A.value="",P.value="",L.value=!1,M.value=!1,G.value=!1,k.value=null,ne.value=0,Z.value=0,he.value=0,ye.value=0,v=[],V=[],U.value=[],F.value=null,Ee(),ee&&z&&ee.clearRect(0,0,z.width,z.height),Te(),o.value&&(o.value.style.display="none")}const ke=async t=>{G.value=t==="preview";
2const e=G?X.CHECK_VIDEO_PREVIEW:X.CHECK_VIDEO_FULL;K(d.extensionName,e),M.value=!1,await Ke()};async function Xe(){if(K(d.extensionName,X.GENERATE_CLICK),!b.value){me(n("features.remove-watermark-from-video.error-message-exception"));return}if(!vt())return;if(k.value||(k.value=await Qe(b.value)),k.value.duration<=30){G.value=!0,await Ke();return}const e=f(),m=(e==null?void 0:e.is_paid)||!1;if(!e||!m){G.value=!0,await Ke();return}M.value=!0}async function Ke(){if(!b.value)return;k.value||(k.value=await Qe(b.value));const t=b.value.name,e=b.value;try{w.value=!0;const m=vt();if(!m)return;const{objectName:_,uploadFileUrl:I}=await Ut(t);if(_==null||I==null)return;K(d.extensionName,X.UPLOAD_URL_GET_SUCCESS);const j=await $t(I,_,e);if(!j)return;K(d.extensionName,X.UPLOAD_SUCCESS),P.value=j;const{jobId:q,longTask:ue}=await Vt(_,m);if(!q)return;K(d.extensionName,X.CREATE_JOB_SUCCESS);const H=await It(q,ue);if(!H)return;const We=await Ft(H);De(H,We),K(d.extensionName,X.GENERATE_SUCCESS)}catch(m){const _=m;me(_.message);const I={message:"视频处理过程中出现未知错误",error:_.message,"video-info":k.value};K(d.extensionName,X.GENERATE_FAILED,I)}finally{w.value=!1,c()}}async function Ut(t){try{const e=await kt(t);if(!e||e.code!=1e5||!e.result.url){const I={message:"获取上传链接失败,服务端错误返回报文",resp:e,"video-info":k.value};K(d.extensionName,X.UPLOAD_URL_GET_FAIL,I),me("上传视频失败,请稍后再试")}const m=e==null?void 0:e.result.object_name,_=e==null?void 0:e.result.url;return{objectName:m,uploadFileUrl:_}}catch(e){const _={message:"获取上传链接失败",error:e.message,"video-info":k.value};K(d.extensionName,X.UPLOAD_URL_GET_FAIL,_),me("上传视频失败,请稍后再试")}return{objectName:null,uploadFileUrl:null}}async function $t(t,e,m){const _=await Ct(t,e,m);return _||(me(n("features.remove-watermark-from-video.error-message-upload-fail")),K(d.extensionName,X.UPLOAD_FAILED)),_}async function Vt(t,e){var j,q;const m=await Sa(t,e,G.value),_=(j=m==null?void 0:m.result)==null?void 0:j.job_id,I=((q=m==null?void 0:m.result)==null?void 0:q.long_video)||!1;if(m&&(m.code===qe.OVER_LIMIT||m.code===qe.CREDIT_NOT_ENOUGH))return K(d.extensionName,X.ERROR_DAILY_LIMIT),h(),{jobId:null,longTask:!1};if(m&&m.code===qe.VIDEO_SIZE_TOO_LARGE_FOR_UN_LOGIN)return me(n("video_size_too_large_for_un_login")),K(d.extensionName,X.VIDEO_SIZE_TOO_LARGE_FOR_UN_LOGIN),{jobId:null,longTask:!1};if(!_){const ue={message:"创建任务失败,服务端错误返回报文",resp:m,"video-info":k.value,inputOriginalVideoUrl:P.value};return K(d.extensionName,X.GENERATE_FAILED,ue),me(n("features.remove-watermark-from-video.error-message-create-job-fail")),{jobId:null,longTask:!1}}return{jobId:_,longTask:I}}async function It(t,e){try{return e?Pt(t):Ot(t)}catch(m){const I={message:"获取任务结果失败",error:m.message,"video-info":k.value};return K(d.extensionName,X.GENERATE_FAILED,I),me(n("features.remove-watermark-from-video.error-message-get-job-result-fail")),null}}async function Ot(t){return new Promise((e,m)=>{let _=0;const I=120,j=tt(async()=>{try{const q=await Ma(t);q.code===1e5?(clearInterval(j),e(q.result.output_url[0]||"")):q.code!==300010&&(clearInterval(j),e(q.message.en)),_++>=I&&(clearInterval(j),m(new Error("Task timed out")))}catch(q){clearInterval(j),m(q)}},5e3)})}async function Pt(t){return new Promise((e,m)=>{let _=0;const I=240,j=tt(async()=>{try{const q=await Fa(t);q.code===1e5?(clearInterval(j),e(q.result.output_url[0]||"")):q.code!==300010&&(clearInterval(j),e(q.message.en)),_++>=I&&(clearInterval(j),m(new Error("Task timed out")))}catch(q){clearInterval(j),m(q)}},5e3)})}async function st(){if(!F.value)return;K(d.extensionName,X.DOWNLOAD_CLICK);let t="";try{t=F.value;let e=t.substring(t.lastIndexOf("/")+1);Ra(t,e),K(d.extensionName,X.DOWNLOAD_SUCCESS)}catch(e){me("Download failed, please try again");const m={url:t,error:(e==null?void 0:e.message)||"unkonwn error"};K(d.extensionName,X.DOWNLOAD_FAILED,m)}}function Nt(t){const e=t.target;Z.value=e.duration,L.value=!0,de.value=e.videoWidth,fe.value=e.videoHeight,Ve(()=>{Bt(),z||(z=document.createElement("canvas"),ee=z.getContext("2d")),z&&ee&&(z.width=de.value,z.height=fe.value,ee.clearRect(0,0,z.width,z.height)),Te(),ft($.value,Q.value),o.value&&(o.value.style.display="block");
2const m=document.querySelector(".tool-selector-container .select-btn:first-child");m&&xe(m)})}function Lt(t){ne.value=t.target.currentTime}function At(t){W.value&&(W.value.currentTime=Number(ne.value))}function rt(t){if(W.value){let e=W.value.currentTime+t;e=Math.max(0,Math.min(Z.value,e)),W.value.currentTime=e,ne.value=e}}function Dt(){W.value&&(ve.value?W.value.pause():W.value.play())}function zt(){ve.value=!0}function jt(){}function Wt(){ve.value=!1}function lt(t){const e=Math.floor(t/60),m=Math.floor(t%60);return`${e}:${m.toString().padStart(2,"0")}`}function Bt(){if(!W.value)return;const t=W.value;let e=t.videoWidth,m=t.videoHeight;const _=window.innerWidth*l.value,I=window.innerHeight*T.value;let j=Math.min(_/e,I/m);he.value=e*j,ye.value=m*j,de.value>0&&he.value>0?r.value=de.value/he.value:r.value=1}const qt=le(()=>({width:he.value+"px",height:ye.value+"px",maxWidth:window.innerWidth*l.value+"px",maxHeight:window.innerHeight*T.value+"px",position:"relative"})),Gt=le(()=>({width:"100%",height:"100%","object-fit":"contain",background:a.value==="dark"?"#181a20":"#000"})),Ht=le(()=>({width:he.value+"px",height:ye.value+"px",pointerEvents:L.value?"auto":"none",background:"transparent",cursor:"none"}));function Jt(){var t;return(t=N.value)==null?void 0:t.getContext("2d")}function ze(t,e){if(!(!e||!e.points||e.points.length<2)){t.save(),t.lineCap="round",t.lineJoin="round",t.lineWidth=e.size,e.type==="brush"?(t.globalAlpha=1,t.strokeStyle="rgba(38, 95, 215,1)"):e.type==="eraser"&&(t.globalCompositeOperation="destination-out",t.globalAlpha=1),t.beginPath(),t.moveTo(e.points[0].x,e.points[0].y);for(let m=1;m<e.points.length;m++){const _=e.points[m];t.lineTo(_.x,_.y)}t.stroke(),t.restore()}}function je(t,e){if(!e||e.points.length<2)return;const[m,_]=e.points;!m||!_||(t.save(),t.globalAlpha=1,t.fillStyle="rgba(38, 95, 215)",t.beginPath(),t.rect(m.x,m.y,_.x-m.x,_.y-m.y),t.fill(),t.restore())}function Te(){const t=Jt();if(t&&(t.clearRect(0,0,de.value,fe.value),z&&t.drawImage(z,0,0),te)){if($.value==="brush"||$.value==="eraser"){const e=V[V.length-1];e&&ze(t,e)}else if($.value==="rectangle"){const e=v[v.length-1];if(e&&e.points.length>=1){const m=e.points[0],_=e.points.length>1?e.points[1]:Y;m&&_&&je(t,{points:[m,_]})}}}}function it(t){if(!L.value)return;o.value&&(o.value.style.display="block"),te=!0,Y=Ze(t);const e=Q.value*r.value;$.value==="brush"?(V.push({points:[Y],size:e,type:"brush"}),U.value.push({type:"brush",index:V.length-1}),se.value=!0,x.value=!0):$.value==="eraser"?(V.push({points:[Y],size:e,type:"eraser"}),U.value.push({type:"eraser",index:V.length-1}),se.value=!0,x.value=!0):$.value==="rectangle"&&(v.push({points:[Y,Y],type:"rectangle"}),U.value.push({type:"rectangle",index:v.length-1}),se.value=!0,x.value=!0),Te()}function ut(t){var m;if(!L.value)return;const e=Ze(t);if(e){Y=e;const _=(m=N.value)==null?void 0:m.getBoundingClientRect();if(_&&o.value){const I=e.x/de.value*_.width,j=e.y/fe.value*_.height;o.value.style.left=`${I}px`,o.value.style.top=`${j}px`,o.value.style.display="block"}}if(te){if($.value==="brush"||$.value==="eraser"){const _=V[V.length-1];if(!_)return;const I=_.points[_.points.length-1];if(!I)_.points.push(e);else{const j=Math.hypot(e.x-I.x,e.y-I.y),q=Math.max(1,Q.value*r.value/4);for(let ue=q;ue<j;ue+=q){const H=ue/j;_.points.push({x:I.x+(e.x-I.x)*H,y:I.y+(e.y-I.y)*H})}_.points.push(e)}Te()}else if($.value==="rectangle"){const _=v[v.length-1];if(!_)return;_.points[1]=e,Te()}}}function ct(t){if(!te||!L.value)return;const e=Ze(t);if(e){if($.value==="brush"||$.value==="eraser"){const m=V[V.length-1];if(m&&ee){const _=m.points[m.points.length-1];_&&(_.x!==e.x||_.y!==e.y)&&m.points.push(e),ze(ee,m)}}else if($.value==="rectangle"){const m=v[v.length-1];m&&(m.points[1]=e,ee&&je(ee,m))}te=!1,Y=null,Te()}}function dt(){if(te&&Y){if($.value==="brush"||$.value==="eraser"){const t=V[V.length-1];if(t&&ee){const e=t.points[t.points.length-1];e&&(e.x!==Y.x||e.y!==Y.y)&&t.points.push(Y),ze(ee,t)}}else if($.value==="rectangle"){const t=v[v.length-1];t&&ee&&(t.points[1]=Y,je(ee,t))}}te=!1,Y=null,Te(),o.value&&(o.value.style.display="none")}function Ze(t){var q,ue,H,We,pt;const e=(q=N.value)==null?void 0:q.getBoundingClientRect();let m=0,_=0;if(t instanceof TouchEvent?(m=((ue=t.touches[0])==null?void 0:ue.clientX)??((H=t.changedTouches[0])==null?void 0:H.clientX)??0,_=((We=t.touches[0])==null?void 0:We.clientY)??((pt=t.changedTouches[0])==null?void 0:pt.clientY)??0):(m=t.clientX,_=t.clientY),!e)return null;
2const I=de.value/e.width,j=fe.value/e.height;return{x:(m-e.left)*I,y:(_-e.top)*j}}function mt(){if(!U.value.length)return;const t=U.value.pop();if(t.type==="brush"||t.type==="eraser"?V.splice(t.index,1):t.type==="rectangle"&&v.splice(t.index,1),ee&&z){ee.clearRect(0,0,z.width,z.height);for(const e of V)ze(ee,e);for(const e of v)je(ee,e)}se.value=V.length>0||v.length>0,x.value=se.value,Te()}function vt(){if(U.value&&U.value.length<=0)return K(d.extensionName,X.MASK_EXPORT_FAIL),me(n("features.remove-watermark-from-video.warning-message-no-mark"),"warning"),null;const t=document.createElement("canvas");t.width=de.value,t.height=fe.value;const e=t.getContext("2d");e.fillStyle="black",e.fillRect(0,0,t.width,t.height),e.save();const m=[...U.value];for(const I of m)if(I.type==="brush"){const j=V[I.index];if(j){e.globalCompositeOperation="source-over",e.strokeStyle="#FFFFFF",e.globalAlpha=1,e.lineWidth=j.size,e.lineCap="round",e.lineJoin="round",e.beginPath(),e.moveTo(j.points[0].x,j.points[0].y);for(let q=1;q<j.points.length;q++){const ue=j.points[q];e.lineTo(ue.x,ue.y)}e.stroke()}}else if(I.type==="eraser"){const j=V[I.index];if(j){e.globalCompositeOperation="source-over",e.strokeStyle="#000000",e.globalAlpha=1,e.lineWidth=j.size,e.lineCap="round",e.lineJoin="round",e.beginPath(),e.moveTo(j.points[0].x,j.points[0].y);for(let q=1;q<j.points.length;q++){const ue=j.points[q];e.lineTo(ue.x,ue.y)}e.stroke()}}else if(I.type==="rectangle"){const j=v[I.index];if(j&&j.points.length>=2){const[q,ue]=j.points;e.globalCompositeOperation="source-over",e.fillStyle="#FFFFFF",e.globalAlpha=1,e.beginPath(),e.rect(q.x,q.y,ue.x-q.x,ue.y-q.y),e.fill()}}e.restore();const _=t.toDataURL("image/png");return Sn(_)}function ft(t,e){o.value&&(o.value.className="custom-cursor",o.value.style.width="",o.value.style.height="",o.value.style.borderRadius="",o.value.style.border="",o.value.style.backgroundColor="",o.value.style.boxShadow="",t==="rectangle"?o.value.classList.add("crosshair-cursor"):(t==="brush"||t==="eraser")&&(o.value.style.width=`${e}px`,o.value.style.height=`${e}px`,o.value.style.borderRadius="50%",o.value.style.border="1px solid white",o.value.style.backgroundColor="rgba(0, 0, 0, 0.5)",o.value.style.boxShadow="0 0 0 1px rgba(0, 0, 0, 0.8)"))}return $e([$,Q],([t,e])=>{ft(t,e)},{immediate:!0}),He(()=>{Te();const t=document.querySelector(".tool-selector-container .select-btn:first-child");t&&xe(t)}),(t,e)=>{const m=wa,_=_a,I=nt,j=Et,q=Ha,ue=Ca;return E(),J(Ie,null,[C(m,{"model-value":w.value},null,8,["model-value"]),C(_,{open:M.value,"onUpdate:open":e[2]||(e[2]=H=>M.value=H),dismissible:!1,close:{onClick:()=>ke("preview")},title:"please choose enhancer time",ui:{content:"w-[92vw] lg:w-[720px] max-w-[720px]"}},{footer:re(()=>[s("div",Mn,[s("div",{class:"bg-gradient-to-r from-[#3cd6ce] to-[#0763b7] px-13 py-5 rounded-lg",onClick:e[0]||(e[0]=H=>ke("preview"))},[s("div",Fn,[Se(ae(u(n)("video_preview_prompt"))+" ",1),e[17]||(e[17]=s("br",null,null,-1)),Se(" "+ae(u(n)("video_preview_credit",{creditPrice:p.value})),1)])]),s("div",{class:"bg-gradient-to-r from-[#3cd6ce] to-[#0763b7] px-13 py-5 rounded-lg",onClick:e[1]||(e[1]=H=>ke("full"))},[s("div",Rn,[Se(ae(u(n)("video_full_prompt"))+" ",1),e[18]||(e[18]=s("br",null,null,-1)),Se(" "+ae(u(n)("video_full_credit",{creditPrice:p.value})),1)])])])]),_:1},8,["open","close"]),_t(s("div",En,[b.value?(E(),J("div",Un,[oe()?(E(),J("div",$n,[s("div",Vn,[s("div",In,[U.value&&U.value.length>0?(E(),J("button",{key:0,class:"mobile-btn",onClick:mt},[C(I,{name:"i-lucide-undo-2",class:"mobile-btn-icon"})])):ce("",!0),F.value?(E(),J("button",{key:1,class:"mobile-btn !bg-[#00dc82] shadow-md dark:text-white",onClick:st},[C(I,{name:"i-lucide-download",class:"mobile-btn-icon text-white"})])):ce("",!0),s("button",{class:"mobile-btn",onClick:Oe},[C(I,{name:"i-lucide-upload",class:"mobile-btn-icon"})])]),s("div",{class:ie(["mobile-mode-switch",{"mobile-mode-switch-active":y.value}])},[s("span",On,ae(u(n)("features.sora-wm-video.watermark-label"))+": ",1),s("span",Pn,ae(y.value?u(n)("features.sora-wm-video.Moving watermark"):u(n)("features.sora-wm-video.Fixed watermark")),1),C(j,{modelValue:y.value,"onUpdate:modelValue":e[3]||(e[3]=H=>y.value=H),size:"sm"},null,8,["modelValue"])],2)]),s("div",Nn,[s("div",Ln,[s("button",{class:ie(["mobile-btn",{"moble-btn-selected":$.value==="rectangle"}]),onClick:e[4]||(e[4]=H=>pe("rectangle",H))},[C(I,{name:"i-lucide-crop",class:"mobile-btn-icon"})],2),s("button",{class:ie(["mobile-btn",{"moble-btn-selected":$.value==="brush"}]),onClick:e[5]||(e[5]=H=>pe("brush",H))},[C(I,{name:"i-lucide-pen-line",class:"mobile-btn-icon"})],2),s("button",{class:ie(["mobile-btn",{"moble-btn-selected":$.value==="eraser"}]),onClick:e[6]||(e[6]=H=>pe("eraser",H))},[C(I,{name:"i-lucide-eraser",class:"mobile-btn-icon"})],2)]),s("div",An,[$.value==="eraser"||$.value==="brush"?(E(),be(q,{key:0,modelValue:Q.value,"onUpdate:modelValue":e[7]||
2(e[7]=H=>Q.value=H),min:5,max:60,step:1},null,8,["modelValue"])):ce("",!0)])])])):ce("",!0),oe()?ce("",!0):(E(),J("div",Dn,[s("div",{class:ie(["flex items-center gap-3 px-4 py-2 rounded-lg border-2 shadow-lg transition-all",y.value===!1?"border-[var(--color-primary-500)] dark:border-[var(--color-primary-500)] bg-slate-100/90 dark:bg-slate-800/60 shadow-slate-300/40 dark:shadow-slate-900/50":"border-indigo-400 dark:border-indigo-500 bg-indigo-100/90 dark:bg-indigo-900/40 shadow-indigo-300/40 dark:shadow-indigo-900/50"])},[s("span",zn,ae(u(n)("features.sora-wm-video.watermark-label"))+": ",1),s("span",{class:ie(["text-sm font-bold",y.value===!1?"text-slate-700 dark:text-slate-200":"text-gray-500 dark:text-gray-400"])},ae(u(n)("features.sora-wm-video.Fixed watermark")),3),C(j,{modelValue:y.value,"onUpdate:modelValue":e[8]||(e[8]=H=>y.value=H),size:"md"},null,8,["modelValue"]),s("span",{class:ie(["text-sm font-bold",y.value===!1?"text-[var(--color-primary-500)] dark:text-indigo-300":"text-gray-500 dark:text-gray-400"])},ae(u(n)("features.sora-wm-video.Moving watermark")),3)],2),s("div",jn,[s("div",Wn,[s("div",{class:"selected-indicator",style:Fe(we.value)},null,4),C(ue,{text:u(n)("features.remove-watermark-from-video.tooltip-rectangle"),content:{align:"center",side:"top"},arrow:""},{default:re(()=>[s("button",{class:ie(["select-btn",{"relative z-10":$.value==="rectangle"}]),onClick:e[9]||(e[9]=H=>pe("rectangle",H))},[C(I,{name:"i-lucide-crop",class:"w-6 h-6"})],2)]),_:1},8,["text"]),C(ue,{text:u(n)("features.remove-watermark-from-video.tooltip-brush"),content:{align:"center",side:"top"},arrow:""},{default:re(()=>[s("button",{class:ie(["select-btn",{"relative z-10":$.value==="brush"}]),onClick:e[10]||(e[10]=H=>pe("brush",H))},[C(I,{name:"i-lucide-pen-line",class:"w-6 h-6"})],2)]),_:1},8,["text"]),C(ue,{text:u(n)("features.remove-watermark-from-video.tooltip-eraser"),content:{align:"center",side:"top"},arrow:""},{default:re(()=>[s("button",{class:ie(["select-btn",{"relative z-10":$.value==="eraser"}]),onClick:e[11]||(e[11]=H=>pe("eraser",H))},[C(I,{name:"i-lucide-eraser",class:"w-6 h-6"})],2)]),_:1},8,["text"])]),s("div",Bn,[$.value==="eraser"||$.value==="brush"?(E(),be(q,{key:0,modelValue:Q.value,"onUpdate:modelValue":e[12]||(e[12]=H=>Q.value=H),min:5,max:60,step:1},null,8,["modelValue"])):ce("",!0)])]),s("div",qn,[U.value&&U.value.length>0?(E(),be(ue,{key:0,text:u(n)("features.remove-watermark-from-video.tooltip-undo"),content:{align:"center",side:"top"},arrow:""},{default:re(()=>[s("button",{class:"flex items-center w-[40px] h-[40px] justify-center bg-[#f3f4f6] dark:bg-[var(--color-primary-500)] rounded-lg shadow-md text-[var(--color-primary-500)] dark:text-white cursor-pointer",onClick:mt},[C(I,{name:"i-lucide-undo-2",class:"w-6 h-6"})])]),_:1},8,["text"])):ce("",!0),F.value?(E(),be(ue,{key:1,text:u(n)("features.remove-watermark-from-video.tooltip-download"),content:{align:"center",side:"top"},arrow:""},{default:re(()=>[s("button",{class:"flex items-center w-[40px] h-[40px] justify-center bg-[#00dc82] rounded-lg shadow-md text-[var(--color-primary-500)] dark:text-white cursor-pointer",onClick:st},[C(I,{name:"i-lucide-download",class:"w-6 h-6 text-white"})])]),_:1},8,["text"])):ce("",!0),C(ue,{text:u(n)("features.remove-watermark-from-video.tooltip-reupload"),content:{align:"center",side:"top"},arrow:""},{default:re(()=>[s("button",{class:"flex items-center w-[40px] h-[40px] justify-center bg-[#f3f4f6] dark:bg-[var(--color-primary-500)] rounded-lg shadow-md text-[var(--color-primary-500)] dark:text-white cursor-pointer",onClick:Oe},[C(I,{name:"i-lucide-upload",class:"w-6 h-6"})])]),_:1},8,["text"]),s("button",{class:"btn-primary cursor-pointer",onClick:Xe},"Remove Now")])])),s("div",Gn,[C(Cn,{text:u(n)("features.remove-watermark-from-video.tip-message-switch-mode"),"speed-ms":12e3,"container-style":{padding:"10px 14px",width:"100%",margin:"0 auto",border:"none"},"text-style":{fontSize:"12px",fontWeight:"600",color:"var(--color-primary-500)"}},null,8,["text"])]),s("div",Hn,[s("div",Jn,[s("div",{class:"relative flex items-center justify-center rounded-lg overflow-hidden shadow-2xl",style:Fe(qt.value)},[s("video",{ref_key:"videoRef",ref:W,src:A.value,style:Fe(Gt.value),class:"block max-w-full max-h-full bg-black pointer-events-none",playsinline:"","webkit-playsinline":"",disablepictureinpicture:"",disableremoteplayback:"","x-webkit-airplay":"deny",onLoadedmetadata:Nt,onTimeupdate:Lt,onPlay:zt,onPause:Wt,onClick:jt,controls:!1},null,44,Yn),s("canvas",{ref_key:"canvasRef",ref:N,class:"absolute top-0 left-0 z-10 opacity-50",width:de.value,height:fe.value,style:Fe(Ht.value),onMousedown:it,onMousemove:ut,onMouseup:ct,onMouseleave:dt,onTouchstart:Ce(it,["prevent"]),onTouchmove:Ce(ut,["prevent"]),onTouchend:Ce(ct,["prevent"]),onTouchcancel:Ce(dt,["prevent"])},null,44,Xn),s("div",{ref_key:"customCursor",ref:o,class:"custom-cursor"},null,512)],4)])]),s("div",Kn,[C(q,{modelValue:ne.value,"onUpdate:modelValue":[e[13]||(e[13]=H=>ne.value=H),At],min:0,max:Z.value,step:.01,class:"flex-1"},null,8,["modelValue","max"]),s("span",Zn,ae(lt(ne.value))+" / "+ae(lt(Z.value)),1),s("button",{class:"icon-btn",onClick:e[14]||(e[14]=H=>rt(-3))},[...e[19]||(e[19]=[s("span",{class:"i-carbon-rewind-5"},null,-1),Se("-3s",-1)])]),s("button",{class:"icon-btn w-5 h-5 flux items-center",onClick:Dt},[ve.value?(E(),be(I,{key:0,name:"i-lucide-pause",class:"w-5 h-5"})):(E(),be(I,{key:1,name:"i-lucide-play",class:"w-5 h-5"}))]),s("button",{class:"icon-btn",onClick:e[15]||(e[15]=H=>rt(3))},[...e[20]||(e[20]=[s("span",{class:"i-carbon-fast-forward-5"},null,-1),Se("+3s ",-1)])])]),oe()?(E(),J("div",Qn,[s("button",{class:"w-[90vw] h-12 bg-[var(--color-primary-500)] text-white my-8 rounded-lg",onClick:Xe}," Remove Now ")])):ce("",!0)])):(E(),J("div",Tn,[C(Rt,{"extension-name":d.extensionName,"allowed-extensions":["mp4","m4v"],"max-resolution-name":"4K","max-resolution-size":3840,"max-size-mb":500,onUploadFile:Re}
2,null,8,["extension-name"])]))],512),[[ka,R.value==="fixed"]]),R.value==="moving"?(E(),J("div",es,[C(wn,{modelValue:R.value,"onUpdate:modelValue":e[16]||(e[16]=H=>R.value=H),"extension-name":d.extensionName,"video-file":b.value,onChangeMode:_e},null,8,["modelValue","extension-name","video-file"])])):ce("",!0),C(Ja)],64)}}}),as=Object.assign(Je(ts,[["__scopeId","data-v-e648a5f5"]]),{__name:"FeatureVideoMarkVideoRemoveOperate"}),os=Oa(()=>Na(()=>import("./Dv0bZxmC.js"),__vite__mapDeps([0,1,2,3]),import.meta.url).then(S=>S.default||S)),ns={key:0},ss={class:"text-center py-14 mt-0 mb-0 lg:mt-10 lg:mb-20"},rs={class:"text-2xl sm:text-4xl lg:text-5xl text-pretty tracking-tight font-bold text-highlighted"},ls={class:"hidden lg:block text-base sm:text-lg text-muted text-balance mt-6 mx-auto w-full lg:w-[80%]"},is={key:0},us=["src","alt"],cs=["src"],ds=["src"],ms={class:"w-full sm:w-[1260px] mx-auto"},xs=Me({__name:"index",async setup(S){var P,A,W,D,L,Z,ne,ve,he;let O,n;const h=Ue().locale.value?Ue().locale.value:"en",{t:c}=Ue(),f=`index-${h}`,i=`/${h}`.toLowerCase(),{data:a}=([O,n]=Ea(()=>Ta(f,()=>Ua("index").path(i).first(),"$QD8d9NkvSp")),O=await O,n(),O);if(!a.value)throw $a({statusCode:404,statusMessage:"Page not found",fatal:!0});const d=g(!1),T=Va({removing:!1,indexTitle:a.value.title,indexDescription:a.value.description});Mt("sharedData",T);function l(ye){d.value=ye}const M=((A=(P=a.value)==null?void 0:P.seo)==null?void 0:A.title)||((W=a.value)==null?void 0:W.title),G=((L=(D=a.value)==null?void 0:D.seo)==null?void 0:L.description)||((Z=a.value)==null?void 0:Z.description),b=((he=(ve=(ne=a.value)==null?void 0:ne.seo)==null?void 0:ve.keywords)==null?void 0:he.join(","))||"";Ia({titleTemplate:"",title:M,ogTitle:M,description:G,ogDescription:G,keywords:b});const k=Pa.REMOVE_VIDEO_WATERMARK;return He(()=>{K(k,X.PAGE_VIEW)}),(ye,de)=>{const fe=os,w=La,F=Da,B=za,$=Ga,Q=ja,se=Wa,x=Ba,R=qa;return u(a)?(E(),J("div",ns,[s("div",ss,[s("h1",rs,ae(u(a).title),1),s("div",ls,ae(u(a).description),1),C(fe)]),C(as,{extensionName:u(k),onUpdateStatus:l},null,8,["extensionName"]),u(d)?ce("",!0):(E(),J("div",is,[C(B,{title:u(a).characteristic.title,ui:{title:"text-3xl sm:text-4xl lg:text-4xl text-[var(--color-primary-600)]"}},{default:re(()=>[C(F,{class:"xl:columns-4"},{default:re(()=>[(E(!0),J(Ie,null,Ne(u(a).characteristic.describes,(y,N)=>(E(),be(w,{title:y.title,description:y.description,highlight:"","highlight-color":""},null,8,["title","description"]))),256))]),_:1})]),_:1},8,["title"]),C(B,{title:u(a).step.title,description:u(a).step.description,ui:{title:"text-2xl sm:text-4xl lg:text-4xl text-[var(--color-primary-600)]"},orientation:"horizontal",features:u(a).step.items},{default:re(()=>[s("img",{src:u(a).step.src,alt:u(a).step.alt,loading:"lazy"},null,8,us)]),_:1},8,["title","description","features"]),C(B,{title:u(a).introduce.title,ui:{title:"text-2xl sm:text-4xl lg:text-4xl text-[var(--color-primary-600)]"}},{default:re(()=>[C(F,{class:"xl:columns-4"},{default:re(()=>[(E(!0),J(Ie,null,Ne(u(a).introduce.items,(y,N)=>(E(),be(w,{variant:"subtle",ui:{root:"h-55 ring-[var(--color-primary-300)] text-[var(--color-primary-600)]"},title:y.title,description:y.description,highlight:"","highlight-color":""},null,8,["title","description"]))),256))]),_:1})]),_:1},8,["title"]),(E(!0),J(Ie,null,Ne(u(a).sections,(y,N)=>(E(),be(B,{key:N,ui:{container:"py-8 sm:py-16 lg:py-16",title:"text-2xl sm:text-4xl lg:text-4xl text-[var(--color-primary-600)]",description:"whitespace-pre-wrap"},title:y.title,description:y.description,orientation:y.orientation,reverse:y.reverse},{default:re(()=>[C(oo,null,{back:re(()=>[s("img",{src:y.after.imageUrl,alt:"after",loading:"lazy"},null,8,ds)]),default:re(()=>[s("img",{src:y.before.imageUrl,alt:"before",loading:"lazy"},null,8,cs)]),_:2},1024)]),_:2},1032,["title","description","orientation","reverse"]))),128)),C(B,{id:"testimonials",title:u(a).testimonials.title,description:u(a).testimonials.description,class:"w-full",ui:{root:"pb-4",container:"pb-4 gap-6 py-8 sm:py-16 lg:py-16 sm:gap-10",title:"text-2xl sm:text-4xl lg:text-4xl text-[var(--color-primary-600)]"}},null,8,["title","description"]),s("div",ms,[C(Q,{arrows:"",loop:"",autoplay:"",items:u(a).testimonials.items,ui:{item:"sm:basis-1/4 max-w-3/4 h-auto  my-3"}},{default:re(({item:y}
2)=>[C(w,{variant:"subtle",description:y.quote,ui:{description:"before:content-[open-quote] after:content-[close-quote]"},class:"w-72 h-50"},{header:re(()=>[C($,Ge(y.user,{size:"lg"}),null,16)]),_:2},1032,["description"])]),_:1},8,["items"])])])),C(B,{title:u(a).faqs.title,description:u(a).faqs.description,ui:{title:"text-2xl sm:text-4xl lg:text-4xl text-[var(--color-primary-600)]"}},{default:re(()=>[C(se,{items:u(a).faqs.items},null,8,["items"])]),_:1},8,["title","description"]),C(x,Ge({ui:{title:"text-2xl sm:text-4xl lg:text-4xl text-[var(--color-primary-600)]"}},u(a).cta,{variant:"naked",class:"overflow-hidden"}),{default:re(()=>[de[0]||(de[0]=s("div",{class:"absolute rounded-full dark:bg-primary blur-[250px] size-40 sm:size-50 transform -translate-x-1/2 left-1/2 -translate-y-80"},null,-1)),C(fe)]),_:1},16),C(R)])):ce("",!0)}}});export{xs as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.