PageSourceSearch

https://myvideofilters.com/assets/pricing-fzEDPVmd.js

js myvideofilters.com collected 2026-10-10 00:29:35 UTC 21,430 bytes, 2 lines download raw bytes

1import{o as we,q as l,a as Oe,v as Re,u as Ae,r as U,b as Te,w as Ie,j as o,h as D,X as _e,L as A,t as Q}from"./index-DZ2Li-d6.js";import{a as Le,h as Fe,g as Ue}from"./stripe-DqbheKhX.js";import{S as De}from"./StudioShell-G_EbX62b.js";import{S as $e}from"./sparkles-Bl4qrFPJ.js";import"./house-B167BhcO.js";import"./user-CicDwG__.js";import"./menu-p8GWF6Wq.js";var $={exports:{}},M,Z;function Me(){if(Z)return M;Z=1;var n="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return M=n,M}var W,ee;function We(){if(ee)return W;ee=1;var n=Me();function e(){}function t(){}return t.resetWarningCache=e,W=function(){function r(d,c,y,u,h,C){if(C!==n){var v=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw v.name="Invariant Violation",v}}r.isRequired=r;function a(){return r}var i={array:r,bigint:r,bool:r,func:r,number:r,object:r,string:r,symbol:r,any:r,arrayOf:a,element:r,elementType:r,instanceOf:a,node:r,objectOf:a,oneOf:a,oneOfType:a,shape:a,exact:a,checkPropTypes:t,resetWarningCache:e};return i.PropTypes=i,i},W}var te;function Ye(){return te||(te=1,$.exports=We()()),$.exports}var qe=Ye();const f=we(qe);function re(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(n,a).enumerable})),t.push.apply(t,r)}return t}function ne(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?re(Object(t),!0).forEach(function(r){ce(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):re(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function _(n){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_=function(e){return typeof e}:_=function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_(n)}function ce(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Be(n,e){if(n==null)return{};var t={},r=Object.keys(n),a,i;for(i=0;i<r.length;i++)a=r[i],!(e.indexOf(a)>=0)&&(t[a]=n[a]);return t}function Ve(n,e){if(n==null)return{};var t=Be(n,e),r,a;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(n);for(a=0;a<i.length;a++)r=i[a],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function le(n,e){return Ke(n)||ze(n,e)||Ge(n,e)||He()}function Ke(n){if(Array.isArray(n))return n}function ze(n,e){var t=n&&(typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"]);if(t!=null){var r=[],a=!0,i=!1,d,c;try{for(t=t.call(n);!(a=(d=t.next()).done)&&(r.push(d.value),!(e&&r.length===e));a=!0);}catch(y){i=!0,c=y}finally{try{!a&&t.return!=null&&t.return()}finally{if(i)throw c}}return r}}function Ge(n,e){if(n){if(typeof n=="string")return oe(n,e);var t=Object.prototype.toString.call(n).slice(8,-1);if(t==="Object"&&n.constructor&&(t=n.constructor.name),t==="Map"||t==="Set")return Array.from(n);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return oe(n,e)}}function oe(n,e){(e==null||e>n.length)&&(e=n.length);for(var t=0,r=new Array(e);t<e;t++)r[t]=n[t];return r}function He(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
2In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var g=function(e,t,r){var a=!!r,i=l.useRef(r);l.useEffect(function(){i.current=r},[r]),l.useEffect(function(){if(!a||!e)return function(){};var d=function(){i.current&&i.current.apply(i,arguments)};return e.on(t,d),function(){e.off(t,d)}},[a,t,e,i])},K=function(e){var t=l.useRef(e);return l.useEffect(function(){t.current=e},[e]),t.current},R=function(e){return e!==null&&_(e)==="object"},Je=function(e){return R(e)&&typeof e.then=="function"},Xe=function(e){return R(e)&&typeof e.elements=="function"&&typeof e.createToken=="function"&&typeof e.createPaymentMethod=="function"&&typeof e.confirmCardPayment=="function"},ae="[object Object]",Qe=function n(e,t){if(!R(e)||!R(t))return e===t;var r=Array.isArray(e),a=Array.isArray(t);if(r!==a)return!1;var i=Object.prototype.toString.call(e)===ae,d=Object.prototype.toString.call(t)===ae;if(i!==d)return!1;if(!i&&!r)return e===t;var c=Object.keys(e),y=Object.keys(t);if(c.length!==y.length)return!1;for(var u={},h=0;h<c.length;h+=1)u[c[h]]=!0;for(var C=0;C<y.length;C+=1)u[y[C]]=!0;var v=Object.keys(u);if(v.length!==c.length)return!1;var s=e,k=t,E=function(N){return n(s[N],k[N])};return v.every(E)}
2,Ze=function(e,t,r){return R(e)?Object.keys(e).reduce(function(a,i){var d=!R(t)||!Qe(e[i],t[i]);return r.includes(i)?(d&&console.warn("Unsupported prop change: options.".concat(i," is not a mutable property.")),a):d?ne(ne({},a||{}),{},ce({},i,e[i])):a},null):null},ue="Invalid prop `stripe` supplied to `Elements`. We recommend using the `loadStripe` utility from `@stripe/stripe-js`. See https://stripe.com/docs/stripe-js/react#elements-props-stripe for details.",ie=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ue;if(e===null||Xe(e))return e;throw new Error(t)},et=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ue;if(Je(e))return{tag:"async",stripePromise:Promise.resolve(e).then(function(a){return ie(a,t)})};var r=ie(e,t);return r===null?{tag:"empty"}:{tag:"sync",stripe:r}},tt=function(e){!e||!e._registerWrapper||!e.registerAppInfo||(e._registerWrapper({name:"react-stripe-js",version:"6.2.0"}),e.registerAppInfo({name:"react-stripe-js",version:"6.2.0",url:"https://stripe.com/docs/stripe-js/react"}))},de=l.createContext(null);de.displayName="ElementsContext";var rt=function(e,t){if(!e)throw new Error("Could not find Elements context; You need to wrap the part of your app that ".concat(t," in an <Elements> provider."));return e};f.any,f.object;f.func.isRequired;var fe=l.createContext(null);fe.displayName="CheckoutContext";var se=function(e){var t=l.useContext(fe),r=l.useContext(de);if(t){if(r)throw new Error("You cannot wrap the part of your app that ".concat(e," in both a checkout provider and <Elements> provider."));return t}else return rt(r,e)},nt=["mode"],ot=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},m=function(e,t,r){var a="".concat(ot(e),"Element"),i=function(u){var h=u.id,C=u.className,v=u.options,s=v===void 0?{}:v,k=u.onBlur,E=u.onFocus,P=u.onReady,N=u.onChange,me=u.onEscape,he=u.onClick,xe=u.onLoadError,be=u.onLoaderStart,ve=u.onNetworksChange,ge=u.onConfirm,ye=u.onCancel,Ce=u.onShippingAddressChange,ke=u.onShippingRateChange,Se=u.onSavedPaymentMethodRemove,Ee=u.onSavedPaymentMethodUpdate,T=se("mounts <".concat(a,">")),I="elements"in T?T.elements:null,j="checkoutState"in T?T.checkoutState:null,w=j?.type==="success"||j?.type==="loading"?j.sdk:null,je=l.useState(null),G=le(je,2),b=G[0],Pe=G[1],S=l.useRef(null),L=l.useRef(null);g(b,"blur",k),g(b,"focus",E),g(b,"escape",me),g(b,"click",he),g(b,"loaderror",xe),g(b,"loaderstart",be),g(b,"networkschange",ve),g(b,"confirm",ge),g(b,"cancel",ye),g(b,"shippingaddresschange",Ce),g(b,"shippingratechange",ke),g(b,"savedpaymentmethodremove",Se),g(b,"savedpaymentmethodupdate",Ee),g(b,"change",N);var F;P&&(e==="expressCheckout"?F=P:F=function(){P(b)}),g(b,"ready",F),l.useLayoutEffect(function(){if(S.current===null&&L.current!==null&&(I||w)){var x=null;if(w){var O=w,Ne=w;switch(e){case"paymentForm":x=Ne.createForm(s);break;case"payment":x=O.createPaymentElement(s);break;case"address":if("mode"in s){var J=s.mode,X=Ve(s,nt);if(J==="shipping")x=O.createShippingAddressElement(X);else if(J==="billing")x=O.createBillingAddressElement(X);else throw new Error("Invalid options.mode. mode must be 'billing' or 'shipping'.")}else throw new Error("You must supply options.mode. mode must be 'billing' or 'shipping'.");break;case"expressCheckout":x=O.createExpressCheckoutElement(s);break;case"currencySelector":x=w.createCurrencySelectorElement();break;case"taxId":x=O.createTaxIdElement(s);break;case"contactDetails":x=O.createContactDetailsElement();break;default:throw new Error("<".concat(a,"> is not supported inside a checkout provider. Use an <Elements> provider instead."))}}else I&&(x=I.create(e,s));S.current=x,Pe(x),x&&x.mount(L.current)}},[I,w,s]);var H=K(s);return l.useEffect(function(){if(S.current){var x=Ze(s,H,["paymentRequest"]);x&&"update"in S.current&&S.current.update(x)}},[s,H]),l.useLayoutEffect(function(){return function(){if(S.current&&typeof S.current.destroy=="function")try{S.current.destroy(),S.current=null}catch{}}},[]),l.createElement("div",{id:h,className:C,ref:L})},d=function(u){se("mounts <".concat(a,">"));var h=u.id,C=u.className;return l.createElement("div",{id:h,className:C})},c=t?d:i;return c.propTypes={id:f.string,className:f.string,onChange:f.func,onBlur:f.func,onFocus:f.func,onReady:f.func,onEscape:f.func,onClick:f.func,onLoadError:f.func,onLoaderStart:f.func,onNetworksChange:f.func,onConfirm:f.func,onCancel:f.func,onShippingAddressChange:f.func,onShippingRateChange:f.func,onSavedPaymentMethodRemove:f.func,onSavedPaymentMethodUpdate:f.func,options:f.object},c.displayName=a,c.__elementType=e,c},p=typeof window>"u",z=l.createContext(null);z.displayName="EmbeddedCheckoutProviderContext";var pe=function(){var e=l.useContext(z);if(!e)throw new Error("<EmbeddedCheckout> must be used within <EmbeddedCheckoutProvider>");return e},at="Invalid prop `stripe` supplied to `EmbeddedCheckoutProvider`. We recommend using the `loadStripe` utility from `@stripe/stripe-js`. See https://stripe.com/docs/stripe-js/react#elements-props-stripe for details.",it=function(e){var t=e.stripe,r=e.options,a=e.children,i=l.useMemo(function(){return et(t,at)},[t]),d=l.useRef(null),c=l.useRef(null),y=l.useState({embeddedCheckout:null}),u=le(y,2),h=u[0],C=u[1];l.useEffect(function(){if(!(c.current||d.current)){var k=function(P){c.current||d.current||(c.current=P,d.current=c.current.createEmbeddedCheckoutPage(r).then(function(N){C({embeddedCheckout:N})}
2))};i.tag==="async"&&!c.current&&(r.clientSecret||r.fetchClientSecret)?i.stripePromise.then(function(E){E&&k(E)}):i.tag==="sync"&&!c.current&&(r.clientSecret||r.fetchClientSecret)&&k(i.stripe)}},[i,r,h,c]),l.useEffect(function(){return function(){h.embeddedCheckout?(d.current=null,h.embeddedCheckout.destroy()):d.current&&d.current.then(function(){d.current=null,h.embeddedCheckout&&h.embeddedCheckout.destroy()})}},[h.embeddedCheckout]),l.useEffect(function(){tt(c)},[c]);var v=K(t);l.useEffect(function(){v!==null&&v!==t&&console.warn("Unsupported prop change on EmbeddedCheckoutProvider: You cannot change the `stripe` prop after setting it.")},[v,t]);var s=K(r);return l.useEffect(function(){if(s!=null){if(r==null){console.warn("Unsupported prop change on EmbeddedCheckoutProvider: You cannot unset options after setting them.");return}r.clientSecret===void 0&&r.fetchClientSecret===void 0&&console.warn("Invalid props passed to EmbeddedCheckoutProvider: You must provide one of either `options.fetchClientSecret` or `options.clientSecret`."),s.clientSecret!=null&&r.clientSecret!==s.clientSecret&&console.warn("Unsupported prop change on EmbeddedCheckoutProvider: You cannot change the client secret after setting it. Unmount and create a new instance of EmbeddedCheckoutProvider instead."),s.fetchClientSecret!=null&&r.fetchClientSecret!==s.fetchClientSecret&&console.warn("Unsupported prop change on EmbeddedCheckoutProvider: You cannot change fetchClientSecret after setting it. Unmount and create a new instance of EmbeddedCheckoutProvider instead."),s.onComplete!=null&&r.onComplete!==s.onComplete&&console.warn("Unsupported prop change on EmbeddedCheckoutProvider: You cannot change the onComplete option after setting it."),s.onShippingDetailsChange!=null&&r.onShippingDetailsChange!==s.onShippingDetailsChange&&console.warn("Unsupported prop change on EmbeddedCheckoutProvider: You cannot change the onShippingDetailsChange option after setting it."),s.onLineItemsChange!=null&&r.onLineItemsChange!==s.onLineItemsChange&&console.warn("Unsupported prop change on EmbeddedCheckoutProvider: You cannot change the onLineItemsChange option after setting it.")}},[s,r]),l.createElement(z.Provider,{value:h},a)},st=function(e){var t=e.id,r=e.className,a=pe(),i=a.embeddedCheckout,d=l.useRef(!1),c=l.useRef(null);return l.useLayoutEffect(function(){return!d.current&&i&&c.current!==null&&(i.mount(c.current),d.current=!0),function(){if(d.current&&i)try{i.unmount(),d.current=!1}catch{}}},[i]),l.createElement("div",{ref:c,id:t,className:r})},ct=function(e){var t=e.id,r=e.className;return pe(),l.createElement("div",{id:t,className:r})},lt=p?ct:st;m("auBankAccount",p);m("card",p);m("cardNumber",p);m("cardExpiry",p);m("cardCvc",p);m("iban",p);m("payment",p);m("expressCheckout",p);m("paymentRequestButton",p);m("linkAuthentication",p);m("contactDetails",p);m("address",p);m("shippingAddress",p);m("paymentMethodMessaging",p);m("taxId",p);m("issuingCardNumberDisplay",p);m("issuingCardCvcDisplay",p);m("issuingCardExpiryDisplay",p);m("issuingCardPinDisplay",p);m("issuingCardCopyButton",p);const Y=["Playback tab — speed, seek, loop + per-tab settings","Frame controls (zoom, mirror, rotate, vignette)","Output Scale (360p → 1080p+)","Filters Library — browse, search & apply shared filters","My Filters — save and share your own filters","Vision / colour-blindness corrections (15 modes)","Demo dashboard on the website"],q=["Core Filters tab (brightness, contrast, temperature, tint + per-filter mix)","Colour overlay, blend modes & texture layers","Film recipes / cinematic filter presets","Multi-Color FX — 4-corner tints with animations","Full Audio tab (EQ, stem mixer, voice characters, noise reduction)","Chrome extension Pro licence code"];function bt(){const{user:n}=Oe(),{paid:e,active:t,daysLeft:r}=Re(),a=Ae(),[i,d]=U.useState(null),[c,y]=U.useState(!1),[u,h]=U.useState(null),C=Te(Ie),v=async s=>{if(!n){a({to:"/auth",search:{redirect:"/pricing"}});return}if(!Fe()){Q.error("Payments aren't configured for this environment yet.");return}h(s),y(!0);try{const k=await C({data:{priceId:s==="lifetime"?"bvf_lifetime_onetime":"bvf_pro_yearly",returnUrl:`${window.location.origin}/checkout/return?session_id={CHECKOUT_SESSION_ID}&plan=${s}`,environment:Ue()}});if("error"in k){Q.error(k.error);return}d(k.clientSecret)}finally{y(!1)}};
2return o.jsx(De,{title:"Pricing",subtitle:"My Video Filters Pro · Plans",active:"/pricing",children:o.jsxs("div",{className:"max-w-5xl mx-auto space-y-6",children:[o.jsxs("div",{className:"text-center space-y-3",children:[o.jsxs("div",{className:"inline-flex items-center gap-1.5 rounded-sm border border-amber-400/40 bg-amber-400/10 text-amber-300 px-3 py-1 text-[10px] uppercase tracking-widest font-bold",children:[o.jsx($e,{className:"w-3 h-3"})," My Video Filters Pro"]}),o.jsxs("div",{className:"inline-flex flex-wrap items-center justify-center gap-2 w-full",children:[o.jsx("span",{className:"inline-flex items-center gap-1.5 rounded-sm border border-emerald-400/40 bg-emerald-400/10 text-emerald-300 px-3 py-1 text-[10px] uppercase tracking-widest font-black",children:"Sale · $2 for a limited time"}),o.jsx("span",{className:"inline-flex items-center gap-1.5 rounded-sm border border-sky-400/40 bg-sky-400/10 text-sky-300 px-3 py-1 text-[10px] uppercase tracking-widest font-black",children:t?`Trial active · ${r} day${r===1?"":"s"} left`:"New accounts get 7 days of Pro free"})]}),o.jsx("h2",{className:"font-[Space_Grotesk] text-2xl md:text-4xl font-black tracking-tight text-white",children:"Pick your plan. Everything unlocked."}),o.jsx("p",{className:"text-sm text-[#ffffff]/60 max-w-xl mx-auto leading-relaxed",children:"Pro yearly is on sale for $2. Or get lifetime for $10 — pay once and own it for life. Both include a license code for the Chrome extension."})]}),o.jsxs("div",{className:"grid md:grid-cols-3 gap-3",children:[o.jsxs(B,{label:"Free",labelColor:"text-[#ffffff]/60",price:o.jsx(o.Fragment,{children:o.jsx("span",{className:"text-3xl font-black",children:"$0"})}),border:"border-[#ffffff]/10",children:[o.jsxs(V,{children:[Y.map(s=>o.jsxs("li",{className:"flex items-start gap-2 text-xs text-[#ffffff]/85",children:[o.jsx(D,{className:"w-3.5 h-3.5 text-emerald-400 shrink-0 mt-0.5"}),s]},s)),q.map(s=>o.jsxs("li",{className:"flex items-start gap-2 text-xs text-[#ffffff]/35",children:[o.jsx(_e,{className:"w-3.5 h-3.5 text-[#ffffff]/30 shrink-0 mt-0.5"}),s]},s))]}),o.jsx("div",{className:"mt-4",children:o.jsx(A,{to:"/install",className:"block text-center w-full h-11 leading-[2.75rem] rounded-sm border border-[#ffffff]/12 bg-[#020617] text-[#ffffff]/85 hover:bg-[#1e293b] text-[11px] font-bold uppercase tracking-widest transition-colors",children:"Install free extension"})})]}),o.jsxs(B,{label:"My Video Filters Pro · Yearly",labelColor:"text-amber-300",price:o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"text-lg font-bold text-[#ffffff]/40 line-through mr-2",children:"$5"}),o.jsx("span",{className:"text-3xl font-black",children:"$2"}),o.jsx("span",{className:"text-sm font-medium text-[#ffffff]/50",children:"/year"})]}),border:"border-amber-400/40",tag:{text:"Sale",className:"bg-gradient-to-r from-amber-400 to-orange-500 text-[#020617]"},highlight:!0,subline:o.jsx("span",{className:"text-[10px] text-emerald-300/90 font-bold uppercase tracking-widest",children:"Limited-time sale price"}),children:[o.jsx(V,{children:[...Y,...q].map(s=>o.jsxs("li",{className:"flex items-start gap-2 text-xs text-[#ffffff]/90",children:[o.jsx(D,{className:"w-3.5 h-3.5 text-amber-300 shrink-0 mt-0.5"}),s]},s))}),o.jsx("div",{className:"mt-4",children:e?o.jsx(A,{to:"/account",className:"block text-center w-full h-11 leading-[2.75rem] rounded-sm border border-[#ffffff]/12 bg-[#020617] text-[#ffffff]/85 hover:bg-[#1e293b] text-[11px] font-bold uppercase tracking-widest transition-colors",children:"You're Pro — view account"}):o.jsx("button",{onClick:()=>v("yearly"),disabled:c,className:"w-full h-11 rounded-sm bg-gradient-to-r from-amber-400 to-orange-500 text-[#020617] hover:brightness-110 text-[11px] font-black uppercase tracking-widest transition disabled:opacity-60",children:c&&u==="yearly"?"Loading…":n?"Subscribe yearly":"Sign in to subscribe"})})]}),o.jsxs(B,{label:"Lifetime",labelColor:"text-fuchsia-300",price:o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"text-3xl font-black",children:"$10"}),o.jsx("span",{className:"text-sm font-medium text-[#ffffff]/50",children:" once"})]}),border:"border-fuchsia-400/40",tag:{text:"Best value",className:"bg-gradient-to-r from-fuchsia-400 to-rose-500 text-[#020617]"},highlight:!0,subline:o.jsx("span",{className:"text-[10px] text-[#ffffff]/50 font-bold uppercase tracking-widest",children:"Pay once · never expires"}),children:[o.jsx(V,{children:[...Y,...q,"Lifetime updates · no renewal"].map(s=>o.jsxs("li",{className:"flex items-start gap-2 text-xs text-[#ffffff]/90",children:[o.jsx(D,{className:"w-3.5 h-3.5 text-fuchsia-300 shrink-0 mt-0.5"}),s]},s))}),o.jsx("div",{className:"mt-4",children:e?o.jsx(A,{to:"/account",className:"block text-center w-full h-11 leading-[2.75rem] rounded-sm border border-[#ffffff]/12 bg-[#020617] text-[#ffffff]/85 hover:bg-[#1e293b] text-[11px] font-bold uppercase tracking-widest transition-colors",children:"You're Pro — view account"}):o.jsx("button",{onClick:()=>
2v("lifetime"),disabled:c,className:"w-full h-11 rounded-sm bg-gradient-to-r from-fuchsia-400 to-rose-500 text-[#020617] hover:brightness-110 text-[11px] font-black uppercase tracking-widest transition disabled:opacity-60",children:c&&u==="lifetime"?"Loading…":n?"Get lifetime":"Sign in for lifetime"})})]})]}),i&&o.jsx("div",{className:"rounded-sm overflow-hidden border border-[#ffffff]/10 bg-white",children:o.jsx(it,{stripe:Le(),options:{clientSecret:i},children:o.jsx(lt,{})})}),o.jsxs("p",{className:"text-center text-[11px] text-[#ffffff]/55",children:["After payment you'll get a license code on your"," ",o.jsx(A,{to:"/account",className:"underline text-[#67e8f9] hover:text-[#67e8f9]/80",children:"account page"})," ","to paste into the Chrome extension's Membership tab."]}),o.jsxs("p",{className:"text-center text-[10px] text-[#ffffff]/35",children:["Refunds available within 48 hours of purchase — see"," ",o.jsx(A,{to:"/terms",className:"underline hover:text-[#ffffff]/60",children:"Terms"}),"."]})]})})}function B({label:n,labelColor:e,price:t,border:r,tag:a,highlight:i,subline:d,children:c}){return o.jsxs("div",{className:`relative flex h-full flex-col p-5 border ${r} bg-[#0f172a] ${i?"shadow-[0_18px_60px_rgba(0,0,0,0.45)]":""}`,children:[a&&o.jsx("div",{className:`absolute -top-px right-5 text-[9px] font-black uppercase tracking-widest px-2.5 py-1 rounded-b-sm ${a.className}`,children:a.text}),o.jsx("div",{className:`text-[10px] uppercase tracking-widest font-bold mb-2 ${e}`,children:n}),o.jsx("div",{className:"flex h-10 items-baseline gap-1 text-white font-[Space_Grotesk] mb-1",children:t}),o.jsx("div",{className:"min-h-[18px] mb-3",children:d}),o.jsx("div",{className:"h-px bg-[#ffffff]/10 my-3"}),o.jsx("div",{className:"flex flex-1 flex-col",children:c})]})}function V({children:n}){return o.jsx("ul",{className:"space-y-1.5 flex-1",children:n})}export{bt as component};

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.