PageSourceSearch

https://evatolab.com/assets/index-CR8jIHGL.js

js evatolab.com collected 2026-10-09 22:03:00 UTC 1,255,403 bytes, 202 lines download raw bytes

1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/festival-patterns-Dsm_jV9L.css","assets/Index-Dhox3xuJ.js","assets/Seo-Bvm9iGRd.js","assets/balanceStore-MOHZ5Zc2.js","assets/inboxStore-Dnh7ajfl.js","assets/layout-dashboard-C8dNY4wG.js","assets/scan-line-Bcnz1Fq_.js","assets/message-circle-BFV6bADS.js","assets/QuickActionIcons-Bfdxm-Ke.js","assets/circle-check-FO8rVln-.js","assets/zap-DXS-ko3H.js","assets/shield-KEBAwAUq.js","assets/wifi-Bp8qGX8q.js","assets/download-BS5NsxsA.js","assets/smartphone-c2wtxeoU.js","assets/use-kyc-status-C_EIRkSt.js","assets/qrParser-yVSsZLBI.js","assets/permissions-CQjybjgl.js","assets/use-future-features-DxzIzt2r.js","assets/use-global-toggles-DRkl9geA.js","assets/check-check-DPiogBoc.js","assets/trash-2-Cso3Gx0t.js","assets/truck-BY32-zuT.js","assets/moon-DXOQ7ZN4.js","assets/formatDistanceToNow-CY-m9BAl.js","assets/constructNow-Ce5XvxA3.js","assets/format-CZost_lC.js","assets/differenceInCalendarMonths-CoHaFYIE.js","assets/endOfDay-DATwVblq.js","assets/endOfMonth-DxzTWKNN.js","assets/coins-DezmEdR3.js","assets/gift-BiP0Sbiv.js","assets/copy-CBCwGpHF.js","assets/external-link-B3Et6MzL.js","assets/tag-DLAqt58P.js","assets/arrow-up-right-D1gM8AWu.js","assets/sun-B8cobErW.js","assets/search-DJ1zHrUy.js","assets/UserQrModal-AtMK0CgU.js","assets/browser-JP79f-a9.js","assets/walletId-DNSBuUjj.js","assets/use-profile-C88j7IAK.js","assets/share-2-k_mGH8kF.js","assets/printer-CePELZYh.js","assets/haptics-YKMSwVex.js","assets/index-BZMZauxs.js","assets/qr-code-C63N5yIq.js","assets/eye-off-HKMF2PNY.js","assets/eye-DgDkV2gx.js","assets/TransactionStatusTimeline-BMbr3wZd.js","assets/hash-ZdgtTrYN.js","assets/circle-alert-zn_RedqF.js","assets/rotate-ccw-Dw05o2mg.js","assets/clock-BRuMITIk.js","assets/circle-x-tD4ABO1B.js","assets/send-D1X2wYJv.js","assets/circle-dot-D-m8Z08O.js","assets/use-customization-BHtAxjNj.js","assets/chevron-up-CRjmFfp2.js","assets/sparkles-_ewb4KdX.js","assets/lock-CZskgewM.js","assets/use-transactions-V5K-KOwA.js","assets/txnReceiptPdf-DJjxgQiQ.js","assets/jspdf.es.min-DYJrId12.js","assets/jspdf.plugin.autotable-CyVc7Jkq.js","assets/chevron-right-Ifx_tJr5.js","assets/file-text-DZsJjycF.js","assets/user-CLzIiMal.js","assets/phone-BsHJWvjh.js","assets/shield-check-JTIKhhRg.js","assets/AdminDashboard-DZAuuqQv.js","assets/alert-dialog-CJ5sNd_e.js","assets/index-DT5oeEbX.js","assets/index-gTm__Gfr.js","assets/card-B0UFKqE-.js","assets/input-CBgH9T9i.js","assets/badge-DXOCijAB.js","assets/sheet-_lr_0sxz.js","assets/scroll-area-hhqheUQD.js","assets/index-BGgHxxpv.js","assets/index-BdQq_4o_.js","assets/separator-C3LmOSv8.js","assets/use-admin-CV8w8C9v.js","assets/checkbox-oIUeQ2Wi.js","assets/index-DQGsvRPj.js","assets/check-Bwwz1Jly.js","assets/auth-BUl0x90n.js","assets/select-U7Mbfzcn.js","assets/chevron-down-D2fBW4mO.js","assets/switch-Cf2POjfq.js","assets/dialog-CcO8zicR.js","assets/label-BpWQMlqw.js","assets/index-DnaWn_cH.js","assets/activity-Dgab4HuM.js","assets/arrow-down-right-CI6mX0ce.js","assets/arrow-down-to-line-DjtGi9iC.js","assets/earth-B9TcUzA5.js","assets/arrow-down-gFcEi0Bw.js","assets/arrow-left-C6UQi8Yb.js","assets/arrow-right-left-qbbY0DPM.js","assets/wifi-off-Dpv4QVkc.js","assets/arrow-up-from-line-o5tFnYBm.js","assets/award-CDNyXreu.js","assets/baby-B_NUpeGH.js","assets/badge-check-hV7Gc1L7.js","assets/badge-dollar-sign-CUVnHiwv.js","assets/badge-percent-GDrnT3Ty.js","assets/ban-oSWJc-gY.js","assets/banknote-CUmyZTXi.js","assets/utensils-wKzpbPwi.js","assets/bot-CkqT9a3s.js","assets/briefcase-pyW5EU0m.js","assets/bug-BjDgwTb3.js","assets/building-2-eTqWALnI.js","assets/calendar-clock-CuKYc0TA.js","assets/calendar-BfoDbk4R.js","assets/camera-CAXjAz5r.js","assets/shopping-basket-Bg6MqtAm.js","assets/chart-column-CVwDBBrG.js","assets/chart-line-BJJpiyB0.js","assets/chevron-left-DZq2ZXKa.js","assets/chevrons-up-down-DoVyq21r.js","assets/circle-check-big-Bz18bN0F.js","assets/circle-dollar-sign-Ch1Bf5Fs.js","assets/circle-help-bL16JFH7.js","assets/database-BnNN6Y77.js","assets/circle-3CRAPo1P.js","assets/test-tube-diagonal-Dq1pUZbo.js","assets/terminal-BPgpP8vd.js","assets/tv-Piw5gdkN.js","assets/credit-card-CoDepcSc.js","assets/scan-face-CqcDA5Dw.js","assets/net
1work-pJMw6rlZ.js","assets/dollar-sign-D3sNq4qz.js","assets/dot-Cehpeu2b.js","assets/droplets-DpEubzVz.js","assets/user-minus-_IMG8RbL.js","assets/file-chart-column-increasing-KI9ICKLN.js","assets/user-round-BNcZWS2g.js","assets/link-2-5jjOzQz6.js","assets/fingerprint-BTzeUVEs.js","assets/flame-Dadr5nQ6.js","assets/scan-text-CC690L1J.js","assets/gauge-GVE9P-U8.js","assets/globe-CAvHr3yp.js","assets/graduation-cap-M52hHXWe.js","assets/hand-coins-Bq_kLzeu.js","assets/headphones-CRY7-UEK.js","assets/heart-CYymJkEz.js","assets/history-YAy8pmDc.js","assets/house-BvFMf5I8.js","assets/image-plus-CssgHOpx.js","assets/key-round-ZPb5-X3E.js","assets/landmark-R__bgf9j.js","assets/languages-BmYUasIf.js","assets/layers-C06y0DzD.js","assets/life-buoy-dfRjU5u3.js","assets/list-checks-C7KZWb14.js","assets/lock-open-CVATdlMQ.js","assets/mail-check-BMaAunfd.js","assets/map-pin-BnxY2z23.js","assets/medal-CBFaaXLU.js","assets/menu-CrjwuAqC.js","assets/message-square-BclBASOs.js","assets/minus-CRxvnyUb.js","assets/navigation-CQMfep9U.js","assets/octagon-alert-BZkFO-Ya.js","assets/paperclip-BLkvQ4Nk.js","assets/pause-DLX4qo74.js","assets/power-zQOd1cC6.js","assets/pencil-Po_Vrt1i.js","assets/phone-call-nYleQul0.js","assets/play-CwNWV67n.js","assets/plus-ChrXPX9z.js","assets/radio-CT_3kgdH.js","assets/receipt-CecNTNy6.js","assets/repeat-5CAxnJS9.js","assets/save-BAaV9szo.js","assets/scale-KAbmFOPM.js","assets/shopping-bag-Bb3nI1F0.js","assets/shopping-cart-CF2GnXFS.js","assets/skip-forward-BA1e10Ba.js","assets/sliders-horizontal-D-1U5ogX.js","assets/star-CavHq7AB.js","assets/wheat-BgugRwx1.js","assets/store-BOAr6QMl.js","assets/target-DHF8R_R9.js","assets/ticket-pf0k8qei.js","assets/timer-B80THW-P.js","assets/trending-down-DUo_8aEO.js","assets/trending-up-nG-rI339.js","assets/trophy-DFD-L_ZY.js","assets/tv-minimal-BOsud0ZI.js","assets/undo-2-BNzdfrO1.js","assets/upload-BzSPxhG6.js","assets/user-check-DSO-YR-P.js","assets/user-cog-BZ3VVB-b.js","assets/user-plus-BkOyurVJ.js","assets/user-x-B8oejZ6W.js","assets/users-DCvaygis.js","assets/wallet-BVSZjyQE.js","assets/wrench-Cc2Qn9FN.js","assets/tabs-D67M7ilN.js","assets/textarea-zwKlMF9-.js","assets/generateCategoricalChart-Cf_ioQTM.js","assets/BarChart-CG9jM9Y1.js","assets/PieChart-UtX9HPPF.js","assets/mdr-D79dhvcN.js","assets/sounds-L8w6cI5c.js","assets/popover-5IaS_A9B.js","assets/PinConfirmSheet-lwrd7IYG.js","assets/verifyPin-DFbbL5Ko.js","assets/InvoiceGenerator-zdUGGn4c.js","assets/table-DhyCPX-S.js","assets/calendar-CxJdHuxv.js","assets/endOfWeek--jF-A8JP.js","assets/subDays-D9cVJtWK.js","assets/confetti-zcttjeaJ.js","assets/progress-8P6e0H2J.js","assets/skeleton-bk3F5pnI.js","assets/subMonths-8r0-iTQ7.js","assets/AreaChart-BNaaE4BD.js","assets/use-merchant-categories-CTfQyRmA.js","assets/DistrictMultiSelect-UfDKPbRd.js","assets/detectLocationMismatch-Ds36-ms0.js","assets/districtRouteCode-BNDocLj_.js","assets/use-platform-banks-Cy7FgqCc.js","assets/use-deposit-accounts-Lrqgj0I9.js","assets/use-stock-prices-BxDX2eUE.js","assets/useMutation-CHf0Rjw2.js","assets/LoyaltyBadge-CBzJQrfZ.js","assets/use-loyalty-tier-limits-BhSc4Y3S.js","assets/ExternalLink-BaXfr4gZ.js","assets/html2canvas.esm-CBrSDip1.js","assets/command-2ypqCUDA.js","assets/AdminBlockedPhonesPage-Cnfmnlye.js","assets/AgentDashboard-DVplFhfL.js","assets/SupportChat-DyZEJoHK.js","assets/chatCrypto-CetnRuzF.js","assets/redactSensitive-DX6Ovs4a.js","assets/ShareReceiptSheet-CAF-XW8N.js","assets/AgentTxnDetailModal-DK8FouUn.js","assets/NotificationPreferences-BVM3rzpa.js","assets/AgentCashIn-r6GLtzSO.js","assets/phoneInput-B-iDMV9i.js","assets/SlideToConfirm-o2rnFqgQ.js","assets/use-transform-D79JgFKm.js","assets/use-phone-validation-CNZecsIs.js","assets/QrScannerModal-Bd3DbmSy.js","assets/AgentCashOut-D3mUb1jQ.js","assets/AgentB2B-C4IX1_K9.js","assets/AgentRegister-i4jUiKUD.js","assets/input-otp-Bi_vlinM.js","assets/pinValidation-DFxabTX7.js","assets/KycFlow-O4hr_NAI.js","assets/ocrConfidence-DxVOvf3h.js","assets/kycAnalytics-BB_iIunL.js","assets/AgentBillPay-Cz6LxduU.js","assets/AgentTransactionHistory-CFPqn6ua.js","assets/TransactionHistory-D2qP7qSM.js","assets/isWithinInterval-NtP_r3O5.js","assets/FlowHeader-Ze9Y2BjQ.js","assets/AgentBankTransfer-B2zhrKMA.js","assets/BankLogo-nLRz9o3k.js","assets/BankListLiveBadge-JhOuTUwo.js","assets/use-saved-banks-ixlLBwtw.js","assets/ModernPinField-Bzea5A33.js","assets/AgentAnalyticsPage-aum7sP2l.js","assets/AgentStatement-v4zE7NwV.js","assets/AgentSecurity-C1DzT96_.js","assets/ChangePinFlow-61jYMrlp.js","assets/use-otp-lockout-tdyUMoll.js","assets/deviceFingerprint-DCHSVJ2d.js","assets/AgentDisputes-UnbV08KQ.js","assets/AgentLeaderboard-DOlcr019.js","assets/NearbyAgentsPage-DMPN2OAI.js","assets/DistributorDashboard-CMRUfxVS.js","assets/DistributorCreateAgent-CQpXODQY.js","assets/SuperDistributorDashboard-DyZqrNoh.js","assets/SuperDistributorCreateDistributor-C7Ca1Scz.js","assets/MerchantDashboard-CYXN_1o4.js","assets/merchantCategoryBn-Bn23PDSp.js","assets/use-fee-config-DsXIF0nu.js","assets/use-typing-indicator-CnnumOvN.js","assets/MerchantApplyVendor-7oAqZjP_.js","assets/MerchantApplyPage-CofQ-SFe.js","assets/MerchantApplicationFlow-CbBBQ7vw.js","assets/AdminMerchantCategoriesPage-Bxw59wCp.js","assets/AdminSeedHealthPage-D3teUVUl.js","assets/CheckoutPage-BUlCR6zV.js","assets/DynamicQrPage-CHkw4llT.js","assets/DynamicQrPaySheet-yiM30U08.js","assets/PayPage-DwcBv62n.js","assets/TeamLoginPage-CF1lw1l4.js","assets/MerchantLoginPage-CPQ9UaCH.js","assets/DeviceOtpStep-GiX4XoNA.js","assets/MerchantForgotPinSheet-5p_nbw-A.js","assets/MerchantManagerLoginPage-BjTHh3aJ.js","assets/MerchantSupportPage-Bb2VYAdE.js","assets/RoleInstallPage-DvTVWMkN.js","assets/rolePwaOrigins-BBSemJtU.js","assets/InstallLandingPage-KiO_v2WF.js","assets/InstallStatusPage-CCMhE0CF.js","assets/InstallAllRolesWizard-S4d3RrIj.js","assets/RoleLoginPage-BBv-SOnq.js","assets/ShopPage-Irgzex07.js","assets/ProductCard-BKhfTic-.js","assets/ProductImage-C1uBsQgU.js","assets/use-cart-CcUEGyR3.js","assets/CartDrawer-CVrJo61O.js","assets/PromoSlider-DCe9pBeT.js","assets/use-wishlist-949yb2-Q.js","assets/use-recently-viewed-DsYHD2Ti.js","assets/ShopCheckoutPage-i0Gc5l24.js","assets/ProductDetailPage-B1l-WAqT.js","assets/WriteReviewForm-DgnRM3Ui.js","assets/use-online-presence-dA85l-eI.js","assets/VendorStorePage-C4LuU6Af.js","assets/WishlistPage-6mPJLyRJ.js","assets/CustomerOrdersPage-DXdATPtK.js","assets/OrderDetailPage-KN9nnf0p.js","assets/CareersPage-Hnb5rYzB.js","assets/CouponsPage-GrDFH4Po.js","assets/AiRewardBanner-CRhhm8cW.js","assets/CouponDetailPage-
1DWdllDHo.js","assets/couponStore-DPu18nem.js","assets/DonationsPage-DnFvYBGH.js","assets/LoanPage-DFEDE-fy.js","assets/InsurancePage-Cw2uXTby.js","assets/GiftCardsPage-NDx8xLRs.js","assets/DeveloperPortal-6DzH309Q.js","assets/AccountPage-KoI1uE7X.js","assets/ReferPage-CMYdoo4S.js","assets/LoyaltyProgressPage-B2XeccUc.js","assets/LoyaltyPointsCard-B6VxcQ9f.js","assets/PointsWalletPage-B1WmbioH.js","assets/SavingsPage-CzE9DHvb.js","assets/use-savings-Nbg277wH.js","assets/InstallmentJourneyPage-NmpUH0a4.js","assets/RecipientHarness-DzDViifz.js","assets/use-recipient-field-Cz-4MDnM.js","assets/recipientValidation-D21b1IsT.js","assets/CashOutHarness-Cn2SpIVo.js","assets/WalletSetupHarness-B6Gp_Y7-.js","assets/AgentKycHarness-fyVgGA3o.js","assets/KycOcrRescanHarness-CJEsHLdw.js","assets/QrScanRouterHarness-KjGTGyon.js","assets/CashOutQrErrorHarness-CBHsijSq.js","assets/cashoutQrPayload-CxCPsq4N.js","assets/BankPickerHarness-HlFLmyNr.js","assets/AgentBankTransferHarness-DtOQ1wtU.js","assets/PaymentRequestsPage-A96LiKW9.js","assets/PaymentLinkTimeline-Bl7IV8G3.js","assets/PayLinkPage-AVU8O2h0.js","assets/AdminMcpActivityLog-C833x8mm.js","assets/PaymentPopupPage-Ca6miY7m.js","assets/PaymentReturnPage-bKKVGtgA.js","assets/AddMoneyStatusPage-CtowkvUQ.js","assets/ForgotPinPage-BDXtYLRS.js","assets/AdminAuthDiagnosticsPage-BzNTLTbA.js","assets/MultiCurrencyPage-CT_In61r.js","assets/use-fx-BfHvsl-Y.js","assets/MySubscriptionsPage-BxTXhJr4.js","assets/use-subscriptions-CF0utjVw.js","assets/SubscribePlanPage-C0R142f0.js","assets/MerchantPlansPage-wDzXbgZY.js","assets/AdminFxRatesPage-R8GaA6Sr.js"])))=>i.map(i=>d[i]);
2var rx=Object.defineProperty;var Jb=e=>{throw TypeError(e)};var sx=(e,t,n)=>t in e?rx(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Le=(e,t,n)=>sx(e,typeof t!="symbol"?t+"":t,n),od=(e,t,n)=>t.has(e)||Jb("Cannot "+n);var E=(e,t,n)=>(od(e,t,"read from private field"),n?n.call(e):t.get(e)),Y=(e,t,n
vendor: 4,098 bytes, lines 2-10
2)=>t.has(e)?Jb("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),V=(e,t,n,r)=>(od(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n),ie=(e,t,n)=>(od(e,t,"access private method"),n);var vl=(e,t,n,r)=>({set _(s){V(e,t,s,n)},get _(){return E(e,t,r)}});function ix(e,t){for(var n=0;n<t.length;n++){const r=t[n];if(typeof r!="string"&&!Array.isArray(r)){for(const s in r)if(s!=="default"&&!(s in e)){const i=Object.getOwnPropertyDescriptor(r,s);i&&Object.defineProperty(e,s,i.get?i:{enumerable:!0,get:()=>r[s]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const i of s)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function n(s){const i={};return s.integrity&&(i.integrity=s.integrity),s.referrerPolicy&&(i.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?i.credentials="include":s.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(s){if(s.ep)return;s.ep=!0;const i=n(s);fetch(s.href,i)}})();var pz=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function el(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var fS={exports:{}},vu={},pS={exports:{}},re={};/**
3 * @license React
4 * react.production.min.js
5 *
6 * Copyright (c) Facebook, Inc. and its affiliates.
7 *
8 * This source code is licensed under the MIT license found in the
9 * LICENSE file in the root directory of this source tree.
10 */var tl=Symbol.for("react.element"),ox=Symbol.for("react.portal"),ax=Symbol.for("react.fragment"),lx=Symbol.for("react.strict_mode"),cx=Symbol.for("react.profiler"),ux=Symbol.for("react.provider"),dx=Symbol.for("react.context"),hx=Symbol.for("react.forward_ref"),fx=Symbol.for("react.suspense"),px=Symbol.for("react.memo"),mx=Symbol.for("react.lazy"),Xb=Symbol.iterator;function bx(e){return e===null||typeof e!="object"?null:(e=Xb&&e[Xb]||e["@@iterator"],typeof e=="function"?e:null)}var mS={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},bS=Object.assign,gS={};function uo(e,t,n){this.props=e,this.context=t,this.refs=gS,this.updater=n||mS}uo.prototype.isReactComponent={};uo.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};uo.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function yS(){}yS.prototype=uo.prototype;function Op(e,t,n){this.props=e,this.context=t,this.refs=gS,this.updater=n||mS}var Lp=Op.prototype=new yS;Lp.constructor=Op;bS(Lp,uo.prototype);Lp.isPureReactComponent=!0;var Zb=Array.isArray,vS=Object.prototype.hasOwnProperty,Mp={current:null},wS={key:!0,ref:!0,__self:!0,__source:!0};function SS(e,t,n){var r,s={},i=null,o=null;if(t!=null)for(r in t.ref!==void 0&&(o=t.ref),t.key!==void 0&&(i=""+t.key),t)vS.call(t,r)&&!wS.hasOwnProperty(r)&&(s[r]=t[r]);var a=arguments.length-2;if(a===1)s.children=n;else if(1<a){for(var l=Array(a),c=0;c<a;c++)l[c]=arguments[c+2];s.children=l}if(e&&e.defaultProps)for(r in a=e.defaultProps,a)s[r]===void 0&&(s[r]=a[r]);return{$$typeof:tl,type:e,key:i,ref:o,props:s,_owner:Mp.current}}function gx(e,t){return{$$typeof:tl,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}function Fp(e){return typeof e=="object"&&e!==null&&e.$$typeof===tl}function yx(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var eg=/\/+/g;function ad(e,t){return typeof e=="object"&&e!==null&&e.key!=null?yx(""+e.key):t.toString(36)}
vendor: 4,786 bytes, lines 10-18
10function tc(e,t,n,r,s){var i=typeof e;(i==="undefined"||i==="boolean")&&(e=null);var o=!1;if(e===null)o=!0;else switch(i){case"string":case"number":o=!0;break;case"object":switch(e.$$typeof){case tl:case ox:o=!0}}if(o)return o=e,s=s(o),e=r===""?"."+ad(o,0):r,Zb(s)?(n="",e!=null&&(n=e.replace(eg,"$&/")+"/"),tc(s,t,n,"",function(c){return c})):s!=null&&(Fp(s)&&(s=gx(s,n+(!s.key||o&&o.key===s.key?"":(""+s.key).replace(eg,"$&/")+"/")+e)),t.push(s)),1;if(o=0,r=r===""?".":r+":",Zb(e))for(var a=0;a<e.length;a++){i=e[a];var l=r+ad(i,a);o+=tc(i,t,n,l,s)}else if(l=bx(e),typeof l=="function")for(e=l.call(e),a=0;!(i=e.next()).done;)i=i.value,l=r+ad(i,a++),o+=tc(i,t,n,l,s);else if(i==="object")throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return o}function wl(e,t,n){if(e==null)return e;var r=[],s=0;return tc(e,r,"","",function(i){return t.call(n,i,s++)}),r}function vx(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(n){(e._status===0||e._status===-1)&&(e._status=1,e._result=n)},function(n){(e._status===0||e._status===-1)&&(e._status=2,e._result=n)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var dt={current:null},nc={transition:null},wx={ReactCurrentDispatcher:dt,ReactCurrentBatchConfig:nc,ReactCurrentOwner:Mp};function PS(){throw Error("act(...) is not supported in production builds of React.")}re.Children={map:wl,forEach:function(e,t,n){wl(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return wl(e,function(){t++}),t},toArray:function(e){return wl(e,function(t){return t})||[]},only:function(e){if(!Fp(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};re.Component=uo;re.Fragment=ax;re.Profiler=cx;re.PureComponent=Op;re.StrictMode=lx;re.Suspense=fx;re.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=wx;re.act=PS;re.cloneElement=function(e,t,n){if(e==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var r=bS({},e.props),s=e.key,i=e.ref,o=e._owner;if(t!=null){if(t.ref!==void 0&&(i=t.ref,o=Mp.current),t.key!==void 0&&(s=""+t.key),e.type&&e.type.defaultProps)var a=e.type.defaultProps;for(l in t)vS.call(t,l)&&!wS.hasOwnProperty(l)&&(r[l]=t[l]===void 0&&a!==void 0?a[l]:t[l])}var l=arguments.length-2;if(l===1)r.children=n;else if(1<l){a=Array(l);for(var c=0;c<l;c++)a[c]=arguments[c+2];r.children=a}return{$$typeof:tl,type:e.type,key:s,ref:i,props:r,_owner:o}};re.createContext=function(e){return e={$$typeof:dx,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:ux,_context:e},e.Consumer=e};re.createElement=SS;re.createFactory=function(e){var t=SS.bind(null,e);return t.type=e,t};re.createRef=function(){return{current:null}};re.forwardRef=function(e){return{$$typeof:hx,render:e}};re.isValidElement=Fp;re.lazy=function(e){return{$$typeof:mx,_payload:{_status:-1,_result:e},_init:vx}};re.memo=function(e,t){return{$$typeof:px,type:e,compare:t===void 0?null:t}};re.startTransition=function(e){var t=nc.transition;nc.transition={};try{e()}finally{nc.transition=t}};re.unstable_act=PS;re.useCallback=function(e,t){return dt.current.useCallback(e,t)};re.useContext=function(e){return dt.current.useContext(e)};re.useDebugValue=function(){};re.useDeferredValue=function(e){return dt.current.useDeferredValue(e)};re.useEffect=function(e,t){return dt.current.useEffect(e,t)};re.useId=function(){return dt.current.useId()};re.useImperativeHandle=function(e,t,n){return dt.current.useImperativeHandle(e,t,n)};re.useInsertionEffect=function(e,t){return dt.current.useInsertionEffect(e,t)};re.useLayoutEffect=function(e,t){return dt.current.useLayoutEffect(e,t)};re.useMemo=function(e,t){return dt.current.useMemo(e,t)};re.useReducer=function(e,t,n){return dt.current.useReducer(e,t,n)};re.useRef=function(e){return dt.current.useRef(e)};re.useState=function(e){return dt.current.useState(e)};re.useSyncExternalStore=function(e,t,n){return dt.current.useSyncExternalStore(e,t,n)};re.useTransition=function(){return dt.current.useTransition()};re.version="18.3.1";pS.exports=re;var p=pS.exports;const N=el(p),jp=ix({__proto__:null,default:N},[p]);/**
11 * @license React
12 * react-jsx-runtime.production.min.js
13 *
14 * Copyright (c) Facebook, Inc. and its affiliates.
15 *
16 * This source code is licensed under the MIT license found in the
17 * LICENSE file in the root directory of this source tree.
18 */var Sx=p,Px=Symbol.for("react.element"),Tx=Symbol.for("react.fragment"),Cx=Object.prototype.hasOwnProperty,Ex=Sx.__SECRET_INT
18ERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,Ax={key:!0,ref:!0,__self:!0,__source:!0};function TS(e,t,n){var r,s={},i=null,o=null;n!==void 0&&(i=""+n),t.key!==void 0&&(i=""+t.key),t.ref!==void 0&&(o=t.ref);for(r in t)Cx.call(t,r)&&!Ax.hasOwnProperty(r)&&(s[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps,t)s[r]===void 0&&(s[r]=t[r]);return{$$typeof:Px,type:e,key:i,ref:o,props:s,_owner:Ex.current}}vu.Fragment=Tx;vu.jsx=TS;vu.jsxs=TS;fS.exports=vu;var S=fS.exports;let qn=null,Ac=null,CS=!1;const rc=[];function xx(){var e;return typeof document>"u"?null:((e=document.querySelector('link[rel="manifest"]'))==null?void 0:e.getAttribute("href"))??null}function kx(){window.addEventListener("beforeinstallprompt",e=>{e.preventDefault(),qn=e,Ac=xx(),rc.forEach(t=>t(qn))}),window.addEventListener("appinstalled",()=>{CS=!0,qn=null,Ac=null})}function mz(){return qn}function bz(e){return qn&&Ac===e?qn:null}function gz(){return CS||window.matchMedia("(display-mode: standalone)").matches}function yz(e){return rc.push(e),qn&&e(qn),()=>{const t=rc.indexOf(e);t>=0&&rc.splice(t,1)}}function vz(){qn=null,Ac=null}const Ns="22",ES="app_cache_version",Sh="cache_recovery",AS="cache_bust",_x=300,Rx=["failed to fetch dynamically imported module","error loading dynamically imported module","importing a module script failed","chunkloaderror","loading chunk","unable to preload css"],Dx=e=>new Promise(t=>setTimeout(t,e));async function xS(){try{if("caches"in window){const e=await caches.keys();await Promise.all(e.map(t=>caches.delete(t)))}}catch{}try{if("serviceWorker"in navigator){const e=await navigator.serviceWorker.getRegistrations();await Promise.all(e.map(t=>t.unregister()))}}catch{}}const Nx=["mfs_ui_lang","mfs_onboarding_completed","mfs_has_authenticated","mfs_device_fp","mfs_app_role","mfs_pwa_installed_roles","mfs_pwa_install_history","easypay_agent_last_phone","easypay_merchant_last_phone","easypay_distributor_last_phone","easypay_super_distributor_last_phone","easypay_admin_last_phone","easypay_user_last_phone"],Ix=["mfs_devtok_"];async function Bp(e=Ns){const t={};try{for(const n of Nx){const r=localStorage.getItem(n);r!==null&&(t[n]=r)}for(let n=0;n<localStorage.length;n++){const r=localStorage.key(n);if(r&&Ix.some(s=>r.startsWith(s))){const s=localStorage.getItem(r);s!==null&&(t[r]=s)}}}catch{}try{localStorage.clear()}catch{}try{sessionStorage.clear()}catch{}await xS();try{for(const[n,r]of Object.entries(t))localStorage.setItem(n,r);localStorage.setItem(ES,e)}catch{}}async function Ox(){let e=null;try{e=localStorage.getItem(ES)}catch{return!1}const t=Number(Ns),n=e===null?NaN:Number(e),r=Number.isFinite(t)&&(!Number.isFinite(n)||n<t);return!r&&e===Ns||!r?!1:(await Bp(Ns),!0)}async function Lx(){await xS()}function Mx(){const e=new URL(window.location.href);let t=!1;[Sh,AS].forEach(n=>{e.searchParams.has(n)&&(e.searchParams.delete(n),t=!0)}),t&&window.history.replaceState(window.history.state,document.title,e.toString())}function Fx(e){const t=String(e instanceof Error?`${e.name} ${e.message}`:e).toLowerCase();return Rx.some(n=>t.includes(n))}async function kS(e){if(!Fx(e))return!1;const t=new URL(window.location.href);return t.searchParams.get(Sh)===Ns?!1:(await Bp(Ns),t.searchParams.set(Sh,Ns),t.searchParams.set(AS,`${Date.now()}`),window.location.replace(t.toString()),!0)}async function St(e,t=2){try{return await e()}catch(n){if(t>0)return await Dx(_x),St(e,t-1);if(await kS(n))return new Promise(()=>{});throw n}}const Yo="mfs_app_role",Qo="mfs_active_app_role",_S=["customer","admin","agent","merchant","distributor","super-distributor"],wu={admin:["admin","compliance","finance","support","operations","marketing","hr","audit","risk","developer","manager"],agent:["agent","admin"],merchant:["merchant","admin"],distributor:["distributor","admin"],"super-distributor":["super_distributor","admin"]},xc={admin:"EasyPay Admin",agent:"EasyPay Agent",merchant:"EasyPay Merchant",distributor:"EasyPay Distributor","super-distributor":"EasyPay Super Distributor"},Up={admin:"/admin",agent:"/agent",merchant:"/merchant",distributor:"/distributor","super-distributor":"/super-distributor"},Ph=e=>!!e&&e in wu,jx={admin:"admin",agent:"agent",merchant:"merchant",dist:"distributor",distributor:"distributor",sd:"super-distributor","super-distributor":"super-distributor"},Bx=e=>{const t=e.toLowerCase();if(!t.endsWith(".smartshop.bd"))return null;const n=t.split(".")[0];return jx[n]??null};function RS(e){return e==="/install"||e.startsWith("/install/")||_S.some(t=>e===`/${t}/install`||e.startsWith(`/${t}/install/`))}function DS(e){return e==="/customer"||e.startsWith("/customer/")}function NS(){if(!(typeof window>"u"))try{const e=Bx(window.location.hostname);if(e){sessionStorage.setItem(Qo,e),localStorage.setItem(Yo,e);return}const n=new URLSearchParams(window.location.search).get("app");if(n==="customer"){sessionStorage.setItem(Qo,n),localStorage.removeItem(Yo);return}Ph(n)&&(sessionStorage.setItem(Qo,n),localStorage.setItem(Yo,n))}catch{}}function Jo(){if(typeof window>"u")return null;
18try{const e=sessionStorage.getItem(Qo);if(e==="customer")return null;if(Ph(e))return e;const t=localStorage.getItem(Yo);return Ph(t)?t:null}catch{return null}}function Ux(){try{sessionStorage.removeItem(Qo),localStorage.removeItem(Yo)}catch{}}function kc(e,t){const n=wu[e];return t.some(r=>n.includes(r))}function Vx(e){return`/${e}/install`}function $x(e){return e==="customer"?"/customer/":Up[e]}function Vp(e){return`/${e}/login`}function IS(e){const{path:t,appRole:n,isAuthenticated:r,rolesLoading:s,userRoles:i,isStandalone:o}=e;if(RS(t))return null;if(!n){const h=Object.keys(wu).some(f=>t===`/${f}/install`||t===`/${f}/login`);return o&&!t.startsWith("/install")&&!t.startsWith("/login/")&&!h&&!DS(t)&&t!=="/merchant-login"?"/install":null}const a=Up[n],l=Vp(n),u=[a,l,`/${n}/install`,`/login/${n}`,"/install","/forgot-pin","/.lovable","/payment-popup","/payment-return","/addmoney/status","/r/","/merchant-login","/merchant-manager-login","/team-login"].some(h=>t===h||t.startsWith(h+"/")||t.startsWith(h)),d=r&&!s&&!kc(n,i);if(!u||d){const h=d||!r?l:a;if(t!==h)return h}return null}const wz=Object.freeze(Object.defineProperty({__proto__:null,APP_ROLE_ALLOWED:wu,APP_ROLE_HOME:Up,APP_ROLE_LABEL:xc,INSTALLABLE_ROLE_KEYS:_S,captureAppRoleFromUrl:NS,clearBoundAppRole:Ux,computeAppRoleRedirect:IS,getBoundAppRole:Jo,getInstallPathForRole:Vx,getLaunchPathForRole:$x,getLoginPathForRole:Vp,isCustomerScopeRoute:DS,isInstallRoute:RS,isRoleAllowedForApp:kc},Symbol.toStringTag,{value:"Module"})),Wx="sb-",zx="-auth-token",qx=["mfs_has_authenticated","splashDone"];function OS(e){return e.startsWith(Wx)&&e.endsWith(zx)}function Hx(e){const t=e.split(".");if(t.length!==3)return null;try{const n=t[1].replace(/-/g,"+").replace(/_/g,"/"),r=n.padEnd(n.length+(4-n.length%4)%4,"=");return JSON.parse(atob(r))}catch{return null}}function _c(e){if(!e)return!1;const t=e.access_token;if(!t||typeof t!="string")return!0;const n=Hx(t);return!(n!=null&&n.sub)}function tg(e){if(e)try{Object.keys(e).forEach(t=>{OS(t)&&e.removeItem(t)}),qx.forEach(t=>e.removeItem(t))}catch{}}function Su(){tg(typeof localStorage<"u"?localStorage:void 0),tg(typeof sessionStorage<"u"?sessionStorage:void 0)}function Gx(e){if(e)try{const t=JSON.parse(e);return(t==null?void 0:t.currentSession)??(t==null?void 0:t.session)??t}catch{return null}}function Kx(){try{if(Object.keys(localStorage).some(t=>OS(t)?_c(Gx(localStorage.getItem(t))):!1))return Su(),!0}catch{}return!1}var ng=function(){return ng=Object.assign||function(t){for(var n,r=1,s=arguments.length;r<s;r++){n=arguments[r];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t},ng.apply(this,arguments)};function Pu(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,r=Object.getOwnPropertySymbols(e);s<r.length;s++)t.indexOf(r[s])<0&&Object.prototype.propertyIsEnumerable.call(e,r[s])&&(n[r[s]]=e[r[s]]);return n}function Yx(e,t,n,r){function s(i){return i instanceof n?i:new n(function(o){o(i)})}return new(n||(n=Promise))(function(i,o){function a(u){try{c(r.next(u))}catch(d){o(d)}}function l(u){try{c(r.throw(u))}catch(d){o(d)}}function c(u){u.done?i(u.value):s(u.value).then(a,l)}c((r=r.apply(e,t||[])).next())})}function Sz(e,t,n){if(n||arguments.length===2)for(var r=0,s=t.length,i;r<s;r++)(i||!(r in t))&&(i||(i=Array.prototype.slice.call(t,0,r)),i[r]=t[r]);return e.concat(i||Array.prototype.slice.call(t))}const Qx=e=>e?(...t)=>e(...t):(...t)=>fetch(...t);
18class $p extends Error{constructor(t,n="FunctionsError",r){super(t),this.name=n,this.context=r}}class Jx extends $p{constructor(t){super("Failed to send a request to the Edge Function","FunctionsFetchError",t)}}class rg extends $p{constructor(t){super("Relay Error invoking the Edge Function","FunctionsRelayError",t)}}class sg extends $p{constructor(t){super("Edge Function returned a non-2xx status code","FunctionsHttpError",t)}}var Th;(function(e){e.Any="any",e.ApNortheast1="ap-northeast-1",e.ApNortheast2="ap-northeast-2",e.ApSouth1="ap-south-1",e.ApSoutheast1="ap-southeast-1",e.ApSoutheast2="ap-southeast-2",e.CaCentral1="ca-central-1",e.EuCentral1="eu-central-1",e.EuWest1="eu-west-1",e.EuWest2="eu-west-2",e.EuWest3="eu-west-3",e.SaEast1="sa-east-1",e.UsEast1="us-east-1",e.UsWest1="us-west-1",e.UsWest2="us-west-2"})(Th||(Th={}));class Xx{constructor(t,{headers:n={},customFetch:r,region:s=Th.Any}={}){this.url=t,this.headers=n,this.region=s,this.fetch=Qx(r)}setAuth(t){this.headers.Authorization=`Bearer ${t}`}invoke(t){return Yx(this,arguments,void 0,function*(n,r={}){var s;let i,o;try{const{headers:a,method:l,body:c,signal:u,timeout:d}=r;let h={},{region:f}=r;f||(f=this.region);const m=new URL(`${this.url}/${n}`);f&&f!=="any"&&(h["x-region"]=f,m.searchParams.set("forceFunctionRegion",f));let b;c&&(a&&!Object.prototype.hasOwnProperty.call(a,"Content-Type")||!a)?typeof Blob<"u"&&c instanceof Blob||c instanceof ArrayBuffer?(h["Content-Type"]="application/octet-stream",b=c):typeof c=="string"?(h["Content-Type"]="text/plain",b=c):typeof FormData<"u"&&c instanceof FormData?b=c:(h["Content-Type"]="application/json",b=JSON.stringify(c)):c&&typeof c!="string"&&!(typeof Blob<"u"&&c instanceof Blob)&&!(c instanceof ArrayBuffer)&&!(typeof FormData<"u"&&c instanceof FormData)?b=JSON.stringify(c):b=c;let w=u;d&&(o=new AbortController,i=setTimeout(()=>o.abort(),d),u?(w=o.signal,u.addEventListener("abort",()=>o.abort())):w=o.signal);const y=yield this.fetch(m.toString(),{method:l||"POST",headers:Object.assign(Object.assign(Object.assign({},h),this.headers),a),body:b,signal:w}).catch(T=>{throw new Jx(T)}),g=y.headers.get("x-relay-error");if(g&&g==="true")throw new rg(y);if(!y.ok)throw new sg(y);let v=((s=y.headers.get("Content-Type"))!==null&&s!==void 0?s:"text/plain").split(";")[0].trim(),P;return v==="application/json"?P=yield y.json():v==="application/octet-stream"||v==="application/pdf"?P=yield y.blob():v==="text/event-stream"?P=y:v==="multipart/form-data"?P=yield y.formData():P=yield y.text(),{data:P,error:null,response:y}}catch(a){return{data:null,error:a,response:a instanceof sg||a instanceof rg?a.context:void 0}}finally{i&&clearTimeout(i)}})}}var Zx=class extends Error{constructor(e){super(e.message),this.name="PostgrestError",this.details=e.details,this.hint=e.hint,this.co
18de=e.code}},ek=class{constructor(e){var t,n,r;this.shouldThrowOnError=!1,this.method=e.method,this.url=e.url,this.headers=new Headers(e.headers),this.schema=e.schema,this.body=e.body,this.shouldThrowOnError=(t=e.shouldThrowOnError)!==null&&t!==void 0?t:!1,this.signal=e.signal,this.isMaybeSingle=(n=e.isMaybeSingle)!==null&&n!==void 0?n:!1,this.urlLengthLimit=(r=e.urlLengthLimit)!==null&&r!==void 0?r:8e3,e.fetch?this.fetch=e.fetch:this.fetch=fetch}throwOnError(){return this.shouldThrowOnError=!0,this}setHeader(e,t){return this.headers=new Headers(this.headers),this.headers.set(e,t),this}then(e,t){var n=this;this.schema===void 0||(["GET","HEAD"].includes(this.method)?this.headers.set("Accept-Profile",this.schema):this.headers.set("Content-Profile",this.schema)),this.method!=="GET"&&this.method!=="HEAD"&&this.headers.set("Content-Type","application/json");const r=this.fetch;let s=r(this.url.toString(),{method:this.method,headers:this.headers,body:JSON.stringify(this.body),signal:this.signal}).then(async i=>{let o=null,a=null,l=null,c=i.status,u=i.statusText;if(i.ok){var d,h;if(n.method!=="HEAD"){var f;const y=await i.text();y===""||(n.headers.get("Accept")==="text/csv"||n.headers.get("Accept")&&(!((f=n.headers.get("Accept"))===null||f===void 0)&&f.includes("application/vnd.pgrst.plan+text"))?a=y:a=JSON.parse(y))}const b=(d=n.headers.get("Prefer"))===null||d===void 0?void 0:d.match(/count=(exact|planned|estimated)/),w=(h=i.headers.get("content-range"))===null||h===void 0?void 0:h.split("/");b&&w&&w.length>1&&(l=parseInt(w[1])),n.isMaybeSingle&&n.method==="GET"&&Array.isArray(a)&&(a.length>1?(o={code:"PGRST116",details:`Results contain ${a.length} rows, application/vnd.pgrst.object+json requires 1 row`,hint:null,message:"JSON object requested, multiple (or no) rows returned"},a=null,l=null,c=406,u="Not Acceptable"):a.length===1?a=a[0]:a=null)}else{var m;const b=await i.text();try{o=JSON.parse(b),Array.isArray(o)&&i.status===404&&(a=[],o=null,c=200,u="OK")}catch{i.status===404&&b===""?(c=204,u="No Content"):o={message:b}}if(o&&n.isMaybeSingle&&(!(o==null||(m=o.details)===null||m===void 0)&&m.includes("0 rows"))&&(o=null,c=200,u="OK"),o&&n.shouldThrowOnError)throw new Zx(o)}return{error:o,data:a,count:l,status:c,statusText:u}});return this.shouldThrowOnError||(s=s.catch(i=>{var o;let a="",l="",c="";const u=i==null?void 0:i.cause;if(u){var d,h,f,m;const y=(d=u==null?void 0:u.message)!==null&&d!==void 0?d:"",g=(h=u==null?void 0:u.code)!==null&&h!==void 0?h:"";a=`${(f=i==null?void 0:i.name)!==null&&f!==void 0?f:"FetchError"}: ${i==null?void 0:i.message}`,a+=`
19
20Caused by: ${(m=u==null?void 0:u.name)!==null&&m!==void 0?m:"Error"}: ${y}`,g&&(a+=` (${g})`),u!=null&&u.stack&&(a+=`
21${u.stack}`)}else{var b;a=(b=i==null?void 0:i.stack)!==null&&b!==void 0?b:""}const w=this.url.toString().length;return(i==null?void 0:i.name)==="AbortError"||(i==null?void 0:i.code)==="ABORT_ERR"?(c="",l="Request was aborted (timeout or manual cancellation)",w>this.urlLengthLimit&&(l+=`. Note: Your request URL is ${w} characters, which may exceed server limits. If selecting many fields, consider using views. If filtering with large arrays (e.g., .in('id', [many IDs])), consider using an RPC function to pass values server-side.`)):((u==null?void 0:u.name)==="HeadersOverflowError"||(u==null?void 0:u.code)==="UND_ERR_HEADERS_OVERFLOW")&&(c="",l="HTTP headers exceeded server limits (typically 16KB)",w>this.urlLengthLimit&&(l+=`. Your request URL is ${w} characters. If selecting many fields, consider using views. If filtering with large arrays (e.g., .in('id', [200+ IDs])), consider using an RPC function instead.`)),{error:{message:`${(o=i==null?void 0:i.name)!==null&&o!==void 0?o:"FetchError"}: ${i==null?void 0:i.message}`,details:a,hint:l,code:c},data:null,count:null,status:0,statusText:""}})),s.then(e,t)}returns(){return this}overrideTypes(){return this}},tk=class extends ek{select(e){let t=!1;const n=(e??"*").split("").map(r=>/\s/.test(r)&&!t?"":(r==='"'&&(t=!t),r)).join("");return this.url.searchParams.set("select",n),this.headers.append("Prefer","return=representation"),this}order(e,{ascending:t=!0,nullsFirst:n,foreignTable:r,referencedTable:s=r}={}){const i=s?`${s}.order`:"order",o=this.url.searchParams.get(i);return this.url.searchParams.set(i,`${o?`${o},`:""}${e}.${t?"asc":"desc"}${n===void 0?"":n?".nullsfirst":".nullslast"}`),this}limit(e,{foreignTable:t,referencedTable:n=t}={}){const r=typeof n>"u"?"limit":`${n}.limit`;return this.url.searchParams.set(r,`${e}`),this}range(e,t,{foreignTable:n,referencedTable:r=n}={}){const s=typeof r>"u"?"offset":`${r}.offset`,i=typeof r>"u"?"limit":`${r}.limit`;return this.url.searchParams.set(s,`${e}`),this.url.searchParams.set(i,`${t-e+1}`),this}abortSignal(e){return this.signal=e,this}single(){return this.headers.set("Accept","application/vnd.pgrst.object+json"),this}maybeSingle(){return this.method==="GET"?this.headers.set("Accept","application/json"):this.headers.set("Accept","application/vnd.pgrst.object+json"),this.isMaybeSingle=!0,this}csv(){return this.headers.set("Accept","text/csv"),this}geojson(){return this.headers.set("Accept","application/geo+json"),this}
21explain({analyze:e=!1,verbose:t=!1,settings:n=!1,buffers:r=!1,wal:s=!1,format:i="text"}={}){var o;const a=[e?"analyze":null,t?"verbose":null,n?"settings":null,r?"buffers":null,s?"wal":null].filter(Boolean).join("|"),l=(o=this.headers.get("Accept"))!==null&&o!==void 0?o:"application/json";return this.headers.set("Accept",`application/vnd.pgrst.plan+${i}; for="${l}"; options=${a};`),i==="json"?this:this}rollback(){return this.headers.append("Prefer","tx=rollback"),this}returns(){return this}maxAffected(e){return this.headers.append("Prefer","handling=strict"),this.headers.append("Prefer",`max-affected=${e}`),this}};const ig=new RegExp("[,()]");var oi=class extends tk{eq(e,t){return this.url.searchParams.append(e,`eq.${t}`),this}neq(e,t){return this.url.searchParams.append(e,`neq.${t}`),this}gt(e,t){return this.url.searchParams.append(e,`gt.${t}`),this}gte(e,t){return this.url.searchParams.append(e,`gte.${t}`),this}lt(e,t){return this.url.searchParams.append(e,`lt.${t}`),this}lte(e,t){return this.url.searchParams.append(e,`lte.${t}`),this}like(e,t){return this.url.searchParams.append(e,`like.${t}`),this}likeAllOf(e,t){return this.url.searchParams.append(e,`like(all).{${t.join(",")}}`),this}likeAnyOf(e,t){return this.url.searchParams.append(e,`like(any).{${t.join(",")}}`),this}ilike(e,t){return this.url.searchParams.append(e,`ilike.${t}`),this}ilikeAllOf(e,t){return this.url.searchParams.append(e,`ilike(all).{${t.join(",")}}`),this}ilikeAnyOf(e,t){return this.url.searchParams.append(e,`ilike(any).{${t.join(",")}}`),this}regexMatch(e,t){return this.url.searchParams.append(e,`match.${t}`),this}regexIMatch(e,t){return this.url.searchParams.append(e,`imatch.${t}`),this}is(e,t){return this.url.searchParams.append(e,`is.${t}`),this}isDistinct(e,t){return this.url.searchParams.append(e,`isdistinct.${t}`),this}in(e,t){const n=Array.from(new Set(t)).map(r=>typeof r=="string"&&ig.test(r)?`"${r}"`:`${r}`).join(",");return this.url.searchParams.append(e,`in.(${n})`),this}notIn(e,t){const n=Array.from(new Set(t)).map(r=>typeof r=="string"&&ig.test(r)?`"${r}"`:`${r}`).join(",");return this.url.searchParams.append(e,`not.in.(${n})`),this}contains(e,t){return typeof t=="string"?this.url.searchParams.append(e,`cs.${t}`):Array.isArray(t)?this.url.searchParams.append(e,`cs.{${t.join(",")}}`):this.url.searchParams.append(e,`cs.${JSON.stringify(t)}`),this}containedBy(e,t){return typeof t=="string"?this.url.searchParams.append(e,`cd.${t}`):Array.isArray(t)?this.url.searchParams.append(e,`cd.{${t.join(",")}}`):this.url.searchParams.append(e,`cd.${JSON.stringify(t)}`),this}rangeGt(e,t){return this.url.searchParams.append(e,`sr.${t}`),this}rangeGte(e,t){return this.url.searchParams.append(e,`nxl.${t}`),this}rangeLt(e,t){return this.url.searchParams.append(e,`sl.${t}`),this}rangeLte(e,t){return this.url.searchParams.append(e,`nxr.${t}`),this}rangeAdjacent(e,t){return this.url.searchParams.append(e,`adj.${t}`),this}overlaps(e,t){return typeof t=="string"?this.url.searchParams.append(e,`ov.${t}`):this.url.searchParams.append(e,`ov.{${t.join(",")}}`),this}textSearch(e,t,{config:n,type:r}={}){let s="";r==="plain"?s="pl":r==="phrase"?s="ph":r==="websearch"&&(s="w");const i=n===void 0?"":`(${n})`;return this.url.searchParams.append(e,`${s}fts${i}.${t}`),this}match(e){return Object.entries(e).forEach(([t,n])=>{this.url.searchParams.append(t,`eq.${n}`)}),this}not(e,t,n){return this.url.searchParams.append(e,`not.${t}.${n}`),this}or(e,{foreignTable:t,referencedTable:n=t}={}){const r=n?`${n}.or`:"or";return this.url.searchParams.append(r,`(${e})`),this}filter(e,t,n){return this.url.searchParams.append(e,`${t}.${n}`),this}},nk=class{constructor(e,{headers:t={},schema:n,fetch:r,urlLengthLimit:s=8e3}){this.url=e,this.headers=new Headers(t),this.schema=n,this.fetch=r,this.urlLengthLimit=s}cloneRequestState(){return{url:new URL(this.url.toString()),headers:new Headers(this.headers)}}select(e,t){const{head:n=!1,count:r}=t??{},s=n?"HEAD":"GET";let i=!1;const o=(e??"*").split("").map(c=>/\s/.test(c)&&!i?"":(c==='"'&&(i=!i),c)).join(""),{url:a,headers:l}=this.cloneRequestState();return a.searchParams.set("select",o),r&&l.append("Prefer",`count=${r}`),new oi({method:s,url:a,headers:l,schema:this.schema,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit})}insert(e,{count:t,defaultToNull:n=!0}={}){var r;const s="POST",{url:i,headers:o}=this.cloneRequestState();if(t&&o.append("Prefer",`count=${t}`),n||o.append("Prefer","missing=default"),Array.isArray(e)){const a=e.reduce((l,c)=>l.concat(Object.keys(c)),[]);if(a.length>
210){const l=[...new Set(a)].map(c=>`"${c}"`);i.searchParams.set("columns",l.join(","))}}return new oi({method:s,url:i,headers:o,schema:this.schema,body:e,fetch:(r=this.fetch)!==null&&r!==void 0?r:fetch,urlLengthLimit:this.urlLengthLimit})}upsert(e,{onConflict:t,ignoreDuplicates:n=!1,count:r,defaultToNull:s=!0}={}){var i;const o="POST",{url:a,headers:l}=this.cloneRequestState();if(l.append("Prefer",`resolution=${n?"ignore":"merge"}-duplicates`),t!==void 0&&a.searchParams.set("on_conflict",t),r&&l.append("Prefer",`count=${r}`),s||l.append("Prefer","missing=default"),Array.isArray(e)){const c=e.reduce((u,d)=>u.concat(Object.keys(d)),[]);if(c.length>0){const u=[...new Set(c)].map(d=>`"${d}"`);a.searchParams.set("columns",u.join(","))}}return new oi({method:o,url:a,headers:l,schema:this.schema,body:e,fetch:(i=this.fetch)!==null&&i!==void 0?i:fetch,urlLengthLimit:this.urlLengthLimit})}update(e,{count:t}={}){var n;const r="PATCH",{url:s,headers:i}=this.cloneRequestState();return t&&i.append("Prefer",`count=${t}`),new oi({method:r,url:s,headers:i,schema:this.schema,body:e,fetch:(n=this.fetch)!==null&&n!==void 0?n:fetch,urlLengthLimit:this.urlLengthLimit})}delete({count:e}={}){var t;const n="DELETE",{url:r,headers:s}=this.cloneRequestState();return e&&s.append("Prefer",`count=${e}`),new oi({method:n,url:r,headers:s,schema:this.schema,fetch:(t=this.fetch)!==null&&t!==void 0?t:fetch,urlLengthLimit:this.urlLengthLimit})}};function fa(e){"@babel/helpers - typeof";return fa=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},fa(e)}function rk(e,t){if(fa(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(fa(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function sk(e){var t=rk(e,"string");return fa(t)=="symbol"?t:t+""}function ik(e,t,n){return(t=sk(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function og(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),n.push.apply(n,r)}return n}function Sl(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?og(Object(n),!0).forEach(function(r){ik(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):og(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}var ok=class LS{constructor(t,{headers:n={},schema:r,fetch:s,timeout:i,urlLengthLimit:o=8e3}={}){this.url=t,this.headers=new Headers(n),this.schemaName=r,this.urlLengthLimit=o;const a=s??globalThis.fetch;i!==void 0&&i>0?this.fetch=(l,c)=>{const u=new AbortController,d=setTimeout(()=>u.abort(),i),h=c==null?void 0:c.signal;if(h){if(h.aborted)return clearTimeout(d),a(l,c);const f=()=>{clearTimeout(d),u.abort()};return h.addEventListener("abort",f,{once:!0}),a(l,Sl(Sl({},c),{},{signal:u.signal})).finally(()=>{clearTimeout(d),h.removeEventListener("abort",f)})}return a(l,Sl(Sl({},c),{},{signal:u.signal})).finally(()=>clearTimeout(d))}:this.fetch=a}from(t){if(!t||typeof t!="string"||t.trim()==="")throw new Error("Invalid relation name: relation must be a non-empty string.");return new nk(new URL(`${this.url}/${t}`),{headers:new Headers(this.headers),schema:this.schemaName,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit})}schema(t){return new LS(this.url,{headers:this.headers,schema:t,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit})}rpc(t,n={},{head:r=!1,get:s=!1,count:i}={}){var o;let a;const l=new URL(`${this.url}/rpc/${t}`);let c;const u=f=>f!==null&&typeof f=="object"&&(!Array.isArray(f)||f.some(u)),d=r&&Object.values(n).some(u);d?(a="POST",c=n):r||s?(a=r?"HEAD":"GET",Object.entries(n).filter(([f,m])=>m!==void 0).map(([f,m])=>[f,Array.isArray(m)?`{${m.join(",")}}`:`${m}
21`]).forEach(([f,m])=>{l.searchParams.append(f,m)})):(a="POST",c=n);const h=new Headers(this.headers);return d?h.set("Prefer",i?`count=${i},return=minimal`:"return=minimal"):i&&h.set("Prefer",`count=${i}`),new oi({method:a,url:l,headers:h,schema:this.schemaName,body:c,fetch:(o=this.fetch)!==null&&o!==void 0?o:fetch,urlLengthLimit:this.urlLengthLimit})}};class ak{constructor(){}static detectEnvironment(){var t;if(typeof WebSocket<"u")return{type:"native",constructor:WebSocket};if(typeof globalThis<"u"&&typeof globalThis.WebSocket<"u")return{type:"native",constructor:globalThis.WebSocket};if(typeof global<"u"&&typeof global.WebSocket<"u")return{type:"native",constructor:global.WebSocket};if(typeof globalThis<"u"&&typeof globalThis.WebSocketPair<"u"&&typeof globalThis.WebSocket>"u")return{type:"cloudflare",error:"Cloudflare Workers detected. WebSocket clients are not supported in Cloudflare Workers.",workaround:"Use Cloudflare Workers WebSocket API for server-side WebSocket handling, or deploy to a different runtime."};if(typeof globalThis<"u"&&globalThis.EdgeRuntime||typeof navigator<"u"&&(!((t=navigator.userAgent)===null||t===void 0)&&t.includes("Vercel-Edge")))return{type:"unsupported",error:"Edge runtime detected (Vercel Edge/Netlify Edge). WebSockets are not supported in edge functions.",workaround:"Use serverless functions or a different deployment target for WebSocket functionality."};const n=globalThis.process;if(n){const r=n.versions;if(r&&r.node){const s=r.node,i=parseInt(s.replace(/^v/,"").split(".")[0]);return i>=22?typeof globalThis.WebSocket<"u"?{type:"native",constructor:globalThis.WebSocket}:{type:"unsupported",error:`Node.js ${i} detected but native WebSocket not found.`,workaround:"Provide a WebSocket implementation via the transport option."}:{type:"unsupported",error:`Node.js ${i} detected without native WebSocket support.`,workaround:`For Node.js < 22, install "ws" package and provide it via the transport option:
22import ws from "ws"
23new RealtimeClient(url, { transport: ws })`}}}return{type:"unsupported",error:"Unknown JavaScript runtime without WebSocket support.",workaround:"Ensure you're running in a supported environment (browser, Node.js, Deno) or provide a custom WebSocket implementation."}}static getWebSocketConstructor(){const t=this.detectEnvironment();if(t.constructor)return t.constructor;let n=t.error||"WebSocket not supported in this environment.";throw t.workaround&&(n+=`
24
25Suggested solution: ${t.workaround}`),new Error(n)}static createWebSocket(t,n){const r=this.getWebSocketConstructor();return new r(t,n)}static isWebSocketSupported(){try{const t=this.detectEnvironment();return t.type==="native"||t.type==="ws"}catch{return!1}}}const lk="2.97.0",ck=`realtime-js/${lk}`,uk="1.0.0",MS="2.0.0",ag=MS,Ch=1e4,dk=1e3,hk=100;var mr;(function(e){e[e.connecting=0]="connecting",e[e.open=1]="open",e[e.closing=2]="closing",e[e.closed=3]="closed"})(mr||(mr={}));var Me;(function(e){e.closed="closed",e.errored="errored",e.joined="joined",e.joining="joining",e.leaving="leaving"})(Me||(Me={}));var sn;(function(e){e.close="phx_close",e.error="phx_error",e.join="phx_join",e.reply="phx_reply",e.leave="phx_leave",e.access_token="access_token"})(sn||(sn={}));var Eh;(function(e){e.websocket="websocket"})(Eh||(Eh={}));var fs;(function(e){e.Connecting="connecting",e.Open="open",e.Closing="closing",e.Closed="closed"})(fs||(fs={}));class fk{constructor(t){this.HEADER_LENGTH=1,this.USER_BROADCAST_PUSH_META_LENGTH=6,this.KINDS={userBroadcastPush:3,userBroadcast:4},this.BINARY_ENCODING=0,this.JSON_ENCODING=1,this.BROADCAST_EVENT="broadcast",this.allowedMetadataKeys=[],this.allowedMetadataKeys=t??[]}encode(t,n){if(t.event===this.BROADCAST_EVENT&&!(t.payload instanceof ArrayBuffer)&&typeof t.payload.event=="string")return n(this._binaryEncodeUserBroadcastPush(t));let r=[t.join_ref,t.ref,t.topic,t.event,t.payload];return n(JSON.stringify(r))}_binaryEncodeUserBroadcastPush(t){var n;return this._isArrayBuffer((n=t.payload)===null||n===void 0?void 0:n.payload)?this._encodeBinaryUserBroadcastPush(t):this._encodeJsonUserBroadcastPush(t)}_encodeBinaryUserBroadcastPush(t){var n,r;const s=(r=(n=t.payload)===null||n===void 0?void 0:n.payload)!==null&&r!==void 0?r:new ArrayBuffer(0);return this._encodeUserBroadcastPush(t,this.BINARY_ENCODING,s)}_encodeJsonUserBroadcastPush(t){var n,r;const s=(r=(n=t.payload)===null||n===void 0?void 0:n.payload)!==null&&r!==void 0?r:{},o=new TextEncoder().encode(JSON.stringify(s)).buffer;return this._encodeUserBroadcastPush(t,this.JSON_ENCODING,o)}_encodeUserBroadcastPush(t,n,r){var s,i;const o=t.topic,a=(s=t.ref)!==null&&s!==void 0?s:"",l=(i=t.join_ref)!==null&&i!==void 0?i:"",c=t.payload.event,u=this.allowedMetadataKeys?this._pick(t.payload,this.allowedMetadataKeys):{},d=Object.keys(u).length===0?"":JSON.stringify(u);if(l.length>255)throw new Error(`joinRef length ${l.length} exceeds maximum of 255`);if(a.length>255)throw new Error(`ref length ${a.length} exceeds maximum of 255`);if(o.length>255)throw new Error(`topic length ${o.length} exceeds maximum of 255`);if(c.length>255)throw new Error(`userEvent length ${c.length} exceeds maximum of 255`);if(d.length>255)throw new Error(`metadata length ${d.length} exceeds maximum of 255`);const h=this.USER_BROADCAST_PUSH_META_LENGTH+l.length+a.length+o.length+c.length+d.length,f=new ArrayBuffer(this.HEADER_LENGTH+h);let m=new DataView(f),b=0;m.setUint8(b++,this.KINDS.userBroadcastPush),m.setUint8(b++,l.length),m.setUint8(b++,a.length),m.setUint8(b++,o.length),m.setUint8(b++,c.length),m.setUint8(b++,d.length),m.setUint8(b++,n),Array.from(l,y=>
25m.setUint8(b++,y.charCodeAt(0))),Array.from(a,y=>m.setUint8(b++,y.charCodeAt(0))),Array.from(o,y=>m.setUint8(b++,y.charCodeAt(0))),Array.from(c,y=>m.setUint8(b++,y.charCodeAt(0))),Array.from(d,y=>m.setUint8(b++,y.charCodeAt(0)));var w=new Uint8Array(f.byteLength+r.byteLength);return w.set(new Uint8Array(f),0),w.set(new Uint8Array(r),f.byteLength),w.buffer}decode(t,n){if(this._isArrayBuffer(t)){let r=this._binaryDecode(t);return n(r)}if(typeof t=="string"){const r=JSON.parse(t),[s,i,o,a,l]=r;return n({join_ref:s,ref:i,topic:o,event:a,payload:l})}return n({})}_binaryDecode(t){const n=new DataView(t),r=n.getUint8(0),s=new TextDecoder;switch(r){case this.KINDS.userBroadcast:return this._decodeUserBroadcast(t,n,s)}}_decodeUserBroadcast(t,n,r){const s=n.getUint8(1),i=n.getUint8(2),o=n.getUint8(3),a=n.getUint8(4);let l=this.HEADER_LENGTH+4;const c=r.decode(t.slice(l,l+s));l=l+s;const u=r.decode(t.slice(l,l+i));l=l+i;const d=r.decode(t.slice(l,l+o));l=l+o;const h=t.slice(l,t.byteLength),f=a===this.JSON_ENCODING?JSON.parse(r.decode(h)):h,m={type:this.BROADCAST_EVENT,event:u,payload:f};return o>0&&(m.meta=JSON.parse(d)),{join_ref:null,ref:null,topic:c,event:this.BROADCAST_EVENT,payload:m}}_isArrayBuffer(t){var n;return t instanceof ArrayBuffer||((n=t==null?void 0:t.constructor)===null||n===void 0?void 0:n.name)==="ArrayBuffer"}_pick(t,n){return!t||typeof t!="object"?{}:Object.fromEntries(Object.entries(t).filter(([r])=>n.includes(r)))}}class FS{constructor(t,n){this.callback=t,this.timerCalc=n,this.timer=void 0,this.tries=0,this.callback=t,this.timerCalc=n}reset(){this.tries=0,clearTimeout(this.timer),this.timer=void 0}scheduleTimeout(){clearTimeout(this.timer),this.timer=setTimeout(()=>{this.tries=this.tries+1,this.callback()},this.timerCalc(this.tries+1))}}var he;(function(e){e.abstime="abstime",e.bool="bool",e.date="date",e.daterange="daterange",e.float4="float4",e.float8="float8",e.int2="int2",e.int4="int4",e.int4range="int4range",e.int8="int8",e.int8range="int8range",e.json="json",e.jsonb="jsonb",e.money="money",e.numeric="numeric",e.oid="oid",e.reltime="reltime",e.text="text",e.time="time",e.timestamp="timestamp",e.timestamptz="timestamptz",e.timetz="timetz",e.tsrange="tsrange",e.tstzrange="tstzrange"})(he||(he={}));const lg=(e,t,n={})=>{var r;const s=(r=n.skipTypes)!==null&&r!==void 0?r:[];return t?Object.keys(t).reduce((i,o)=>(i[o]=pk(o,e,t,s),i),{}):{}},pk=(e,t,n,r)=>{const s=t.find(a=>a.name===e),i=s==null?void 0:s.type,o=n[e];return i&&!r.includes(i)?jS(i,o):Ah(o)},jS=(e,t)=>{if(e.charAt(0)==="_"){const n=e.slice(1,e.length);return yk(t,n)}switch(e){case he.bool:return mk(t);case he.float4:case he.float8:case he.int2:case he.int4:case he.int8:case he.numeric:case he.oid:return bk(t);case he.json:case he.jsonb:return gk(t);case he.timestamp:return vk(t);case he.abstime:case he.date:case he.daterange:case he.int4range:case he.int8range:case he.money:case he.reltime:case he.text:case he.time:case he.timestamptz:case he.timetz:case he.tsrange:case he.tstzrange:return Ah(t);default:return Ah(t)}},Ah=e=>e,mk=e=>{switch(e){case"t":return!0;case"f":return!1;default:return e}},bk=e=>{if(typeof e=="string"){const t=parseFloat(e);if(!Number.isNaN(t))return t}return e},gk=e=>{if(typeof e=="string")try{return JSON.parse(e)}catch{return e}return e},yk=(e,t)=>{if(typeof e!="string")return e;const n=e.length-1,r=e[n];if(e[0]==="{"&&r==="}"){let i;const o=e.slice(1,n);try{i=JSON.parse("["+o+"]")}catch{i=o?o.split(","):[]}return i.map(a=>jS(t,a))}return e},vk=e=>typeof e=="string"?e.replace(" ","T"):e,BS=e=>{const t=new URL(e);return t.protocol=t.protocol.replace(/^ws/i,"http"),t.pathname=t.pathname.replace(/\/+$/,"").replace(/\/socket\/websocket$/i,"").replace(/\/socket$/i,"").replace(/\/websocket$/i,""),t.pathname===""||t.pathname==="/"?t.pathname="/api/broadcast":t.pathname=t.pathname+"/api/broadcast",t.href};class ld{constructor(t,n,r={},s=Ch){this.channel=t,this.event=n,this.payload=r,this.timeout=s,this.sent=!1,this.timeoutTimer=void 0,this.ref="",this.receivedResp=null,this.recHooks=[],this.refEvent=null}resend(t){this.timeout=t,this._cancelRefEvent(),this.ref="",this.refEvent=null,this.receivedResp=null,this.sent=!1,this.send()}send(){this._hasReceived("timeout")||(this.startTimeout(),this.sent=!0,this.channel.socket.push({topic:this.channel.topic,event:this.event,payload:this.payload,ref:this.ref,j
25oin_ref:this.channel._joinRef()}))}updatePayload(t){this.payload=Object.assign(Object.assign({},this.payload),t)}receive(t,n){var r;return this._hasReceived(t)&&n((r=this.receivedResp)===null||r===void 0?void 0:r.response),this.recHooks.push({status:t,callback:n}),this}startTimeout(){if(this.timeoutTimer)return;this.ref=this.channel.socket._makeRef(),this.refEvent=this.channel._replyEventName(this.ref);const t=n=>{this._cancelRefEvent(),this._cancelTimeout(),this.receivedResp=n,this._matchReceive(n)};this.channel._on(this.refEvent,{},t),this.timeoutTimer=setTimeout(()=>{this.trigger("timeout",{})},this.timeout)}trigger(t,n){this.refEvent&&this.channel._trigger(this.refEvent,{status:t,response:n})}destroy(){this._cancelRefEvent(),this._cancelTimeout()}_cancelRefEvent(){this.refEvent&&this.channel._off(this.refEvent,{})}_cancelTimeout(){clearTimeout(this.timeoutTimer),this.timeoutTimer=void 0}_matchReceive({status:t,response:n}){this.recHooks.filter(r=>r.status===t).forEach(r=>r.callback(n))}_hasReceived(t){return this.receivedResp&&this.receivedResp.status===t}}var cg;(function(e){e.SYNC="sync",e.JOIN="join",e.LEAVE="leave"})(cg||(cg={}));class Xo{constructor(t,n){this.channel=t,this.state={},this.pendingDiffs=[],this.joinRef=null,this.enabled=!1,this.caller={onJoin:()=>{},onLeave:()=>{},onSync:()=>{}};const r=(n==null?void 0:n.events)||{state:"presence_state",diff:"presence_diff"};this.channel._on(r.state,{},s=>{const{onJoin:i,onLeave:o,onSync:a}=this.caller;this.joinRef=this.channel._joinRef(),this.state=Xo.syncState(this.state,s,i,o),this.pendingDiffs.forEach(l=>{this.state=Xo.syncDiff(this.state,l,i,o)}),this.pendingDiffs=[],a()}),this.channel._on(r.diff,{},s=>{const{onJoin:i,onLeave:o,onSync:a}=this.caller;this.inPendingSyncState()?this.pendingDiffs.push(s):(this.state=Xo.syncDiff(this.state,s,i,o),a())}),this.onJoin((s,i,o)=>{this.channel._trigger("presence",{event:"join",key:s,currentPresences:i,newPresences:o})}),this.onLeave((s,i,o)=>{this.channel._trigger("presence",{event:"leave",key:s,currentPresences:i,leftPresences:o})}),this.onSync(()=>{this.channel._trigger("presence",{event:"sync"})})}static syncState(t,n,r,s){const i=this.cloneDeep(t),o=this.transformState(n),a={},l={};return this.map(i,(c,u)=>{o[c]||(l[c]=u)}),this.map(o,(c,u)=>{const d=i[c];if(d){const h=u.map(w=>w.presence_ref),f=d.map(w=>w.presence_ref),m=u.filter(w=>f.indexOf(w.presence_ref)<0),b=d.filter(w=>h.indexOf(w.presence_ref)<0);m.length>0&&(a[c]=m),b.length>0&&(l[c]=b)}else a[c]=u}),this.syncDiff(i,{joins:a,leaves:l},r,s)}static syncDiff(t,n,r,s){const{joins:i,leaves:o}={joins:this.transformState(n.joins),leaves:this.transformState(n.leaves)};return r||(r=()=>{}),s||(s=()=>{}),this.map(i,(a,l)=>{var c;const u=(c=t[a])!==null&&c!==void 0?c:[];if(t[a]=this.cloneDeep(l),u.length>0){const d=t[a].map(f=>f.presence_ref),h=u.filter(f=>d.indexOf(f.presence_ref)<0);t[a].unshift(...h)}r(a,u,l)}),this.map(o,(a,l)=>{let c=t[a];if(!c)return;const u=l.map(d=>d.presence_ref);c=c.filter(d=>u.indexOf(d.presence_ref)<0),t[a]=c,s(a,c,l),c.length===0&&delete t[a]}),t}static map(t,n){return Object.getOwnPropertyNames(t).map(r=>n(r,t[r]))}static transformState(t){return t=this.cloneDeep(t),Object.getOwnPropertyNames(t).reduce((n,r)=>{const s=t[r];return"metas"in s?n[r]=s.metas.map(i=>(i.presence_ref=i.phx_ref,delete i.phx_ref,delete i.phx_ref_prev,i)):n[r]=s,n},{})}static cloneDeep(t){return JSON.parse(JSON.stringify(t))}onJoin(t){this.caller.onJoin=t}onLeave(t){this.caller.onLeave=t}onSync(t){this.caller.onSync=t}inPendingSyncState(){return!this.joinRef||this.joinRef!==this.channel._joinRef()}}var ug;(function(e){e.ALL="*",e.INSERT="INSERT",e.UPDATE="UPDATE",e.DELETE="DELETE"})(ug||(ug={}));var Zo;(function(e){e.BROADCAST="broadcast",e.PRESENCE="presence",e.POSTGRES_CHANGES="postgres_changes",e.SYSTEM="system"})(Zo||(Zo={}));var Bn;(function(e){e.SUBSCRIBED="SUBSCRIBED",e.TIMED_OUT="TIMED_OUT",e.CLOSED="CLOSED",e.CHANNEL_ERROR="CHANNEL_ERROR"})(Bn||(Bn={}));class ui{constructor(t,n={config:{}},r){var s,i;if(this.topic=t,this.params=n,this.socket=r,this.bindings={},this.state=Me.closed,this.joinedOnce=!1,this.pushBuffer=[],this.subTopic=t.replace(/^realtime:/i,""),this.params.config=Object.assign({broadcast:{ack:!1,self:!1},presence:{key:"",enabled:!1},private:!1},n.config),this.timeout=this.socket.timeout,this.joinPush=new ld(this,sn.join,this.params,this.timeout),this.rejoinTimer=new FS(()=>this._rejoinUntilConnected(),this.socket.reconnectAfterMs),this.joinPush.receive("ok",()=>{this.state=Me.joined,this.rejoinTimer.reset(),this.pushBuffer.forEach(o=>o.send()),this.pushBuffer=[]}),this._onClose(()=>{this.rejoinTimer.reset(),this.socket.log("channel",`close ${this.topic} ${this._joinRef()}`),this.state=Me.closed,this.socket._remove(this)}),this._onError(o=>{this._isLeaving()||this._isClosed()||(this.socket.log("channel",`error ${this.topic}`,o),this.state=Me.errored,this.rejoinTimer.scheduleTimeout())}),this.joinPush.receive("timeout",()=>{this._isJoining()&&(this.socket.log("channel",`timeout ${this.topic}`,this.joinPush.timeout),this.state=Me.errored,this.rejoinTimer.scheduleTimeout())}),this.joinPush.receive("error",o=>{this._isLeaving()||this._isClosed()||(this.socket.log("channel",`error ${this.topic}`,o),this.state=Me.errored,this.rejoinTimer.scheduleTimeout())}),this._on(sn.reply,{},(o,a)=>{this._trigger(this._replyEventName(a),o)}),this.presence=new Xo(this),this.broadcastEndpointURL=BS(this.socket.endPoint),this.private=this.params.config.private||!1,!this.private&&(!((i=(s=this.params.config)===null||s===void 0?void 0:s.broadcast)===null||i===void 0)&&i.replay))throw`tried to use replay on public channel '${this.topic}'. It must be a private channel.`}subscribe(t,n=this.timeout){var r,s,i;if(this.socket.isConnected()||this.socket.connect(),this.state==Me.closed){const{config:{broadcast:o,presence:a,private:l}}=this.params,c=(s=(r=this.bindings.postgres_changes)===null||r===void 0?void 0:r.map(f=>f.filter))!==null&&s!==void 0?s:[],u=!!this.bindings[Zo.PRESENCE]&&this.bindings[Zo.PRESENCE].length>0||((i=this.params.config.presence)===null||i===void 0?void 0:i.enabled)===!0,d={},h={broadcast:o,presence:Object.assign(Object.assign({},a),{enabled:u}),postgres_changes:c,private:l};this.socket.accessTokenValue&&(d.access_token=this.socket.accessTokenValue),this._onError(f=>t==null?void 0:t(Bn.CHANNEL_ERROR,f)),this._onClose(()=>t==null?void 0:t(Bn.CLOSED)),this.updateJoinPayload(Object.assign({config:h},d)),this.joinedOnce=!0,this._rejoin(n),this.joinPush.receive("ok",async({postgres_changes:f})=>{var m;if(this.socket._isManualToken()||this.socket.setAuth(),f===void 0){t==null||t(Bn.SUBSCRIBED);return}
25else{const b=this.bindings.postgres_changes,w=(m=b==null?void 0:b.length)!==null&&m!==void 0?m:0,y=[];for(let g=0;g<w;g++){const v=b[g],{filter:{event:P,schema:T,table:C,filter:A}}=v,x=f&&f[g];if(x&&x.event===P&&ui.isFilterValueEqual(x.schema,T)&&ui.isFilterValueEqual(x.table,C)&&ui.isFilterValueEqual(x.filter,A))y.push(Object.assign(Object.assign({},v),{id:x.id}));else{this.unsubscribe(),this.state=Me.errored,t==null||t(Bn.CHANNEL_ERROR,new Error("mismatch between server and client bindings for postgres changes"));return}}this.bindings.postgres_changes=y,t&&t(Bn.SUBSCRIBED);return}}).receive("error",f=>{this.state=Me.errored,t==null||t(Bn.CHANNEL_ERROR,new Error(JSON.stringify(Object.values(f).join(", ")||"error")))}).receive("timeout",()=>{t==null||t(Bn.TIMED_OUT)})}return this}presenceState(){return this.presence.state}async track(t,n={}){return await this.send({type:"presence",event:"track",payload:t},n.timeout||this.timeout)}async untrack(t={}){return await this.send({type:"presence",event:"untrack"},t)}on(t,n,r){return this.state===Me.joined&&t===Zo.PRESENCE&&(this.socket.log("channel",`resubscribe to ${this.topic} due to change in presence callbacks on joined channel`),this.unsubscribe().then(async()=>await this.subscribe())),this._on(t,n,r)}async httpSend(t,n,r={}){var s;if(n==null)return Promise.reject("Payload is required for httpSend()");const i={apikey:this.socket.apiKey?this.socket.apiKey:"","Content-Type":"application/json"};this.socket.accessTokenValue&&(i.Authorization=`Bearer ${this.socket.accessTokenValue}`);const o={method:"POST",headers:i,body:JSON.stringify({messages:[{topic:this.subTopic,event:t,payload:n,private:this.private}]})},a=await this._fetchWithTimeout(this.broadcastEndpointURL,o,(s=r.timeout)!==null&&s!==void 0?s:this.timeout);if(a.status===202)return{success:!0};let l=a.statusText;try{const c=await a.json();l=c.error||c.message||l}catch{}return Promise.reject(new Error(l))}async send(t,n={}){var r,s;if(!this._canPush()&&t.type==="broadcast"){console.warn("Realtime send() is automatically falling back to REST API. This behavior will be deprecated 
25in the future. Please use httpSend() explicitly for REST delivery.");const{event:i,payload:o}=t,a={apikey:this.socket.apiKey?this.socket.apiKey:"","Content-Type":"application/json"};this.socket.accessTokenValue&&(a.Authorization=`Bearer ${this.socket.accessTokenValue}`);const l={method:"POST",headers:a,body:JSON.stringify({messages:[{topic:this.subTopic,event:i,payload:o,private:this.private}]})};try{const c=await this._fetchWithTimeout(this.broadcastEndpointURL,l,(r=n.timeout)!==null&&r!==void 0?r:this.timeout);return await((s=c.body)===null||s===void 0?void 0:s.cancel()),c.ok?"ok":"error"}catch(c){return c.name==="AbortError"?"timed out":"error"}}else return new Promise(i=>{var o,a,l;const c=this._push(t.type,t,n.timeout||this.timeout);t.type==="broadcast"&&!(!((l=(a=(o=this.params)===null||o===void 0?void 0:o.config)===null||a===void 0?void 0:a.broadcast)===null||l===void 0)&&l.ack)&&i("ok"),c.receive("ok",()=>i("ok")),c.receive("error",()=>i("error")),c.receive("timeout",()=>i("timed out"))})}updateJoinPayload(t){this.joinPush.updatePayload(t)}unsubscribe(t=this.timeout){this.state=Me.leaving;const n=()=>{this.socket.log("channel",`leave ${this.topic}`),this._trigger(sn.close,"leave",this._joinRef())};this.joinPush.destroy();let r=null;return new Promise(s=>{r=new ld(this,sn.leave,{},t),r.receive("ok",()=>{n(),s("ok")}).receive("timeout",()=>{n(),s("timed out")}).receive("error",()=>{s("error")}),r.send(),this._canPush()||r.trigger("ok",{})}).finally(()=>{r==null||r.destroy()})}teardown(){this.pushBuffer.forEach(t=>t.destroy()),this.pushBuffer=[],this.rejoinTimer.reset(),this.joinPush.destroy(),this.state=Me.closed,this.bindings={}}async _fetchWithTimeout(t,n,r){const s=new AbortController,i=setTimeout(()=>s.abort(),r),o=await this.socket.fetch(t,Object.assign(Object.assign({},n),{signal:s.signal}));return clearTimeout(i),o}_push(t,n,r=this.timeout){if(!this.joinedOnce)throw`tried to push '${t}' to '${this.topic}' before joining. Use channel.subscribe() before pushing events`;let s=new ld(this,t,n,r);return this._canPush()?s.send():this._addToPushBuffer(s),s}_addToPushBuffer(t){if(t.startTimeout(),this.pushBuffer.push(t),this.pushBuffer.length>hk){const n=this.pushBuffer.shift();n&&(n.destroy(),this.socket.log("channel",`discarded push due to buffer overflow: ${n.event}`,n.payload))}}_onMessage(t,n,r){return n}_isMember(t){return this.topic===t}_joinRef(){return this.joinPush.ref}_trigger(t,n,r){var s,i;const o=t.toLocaleLowerCase(),{close:a,error:l,leave:c,join:u}=sn;if(r&&[a,l,c,u].indexOf(o)>=0&&r!==this._joinRef())return;let h=this._onMessage(o,n,r);if(n&&!h)throw"channel onMessage callbacks must return the payload, modified or unmodified";["insert","update","delete"].includes(o)?(s=this.bindings.postgres_changes)===null||s===void 0||s.filter(f=>{var m,b,w;return((m=f.filter)===null||m===void 0?void 0:m.event)==="*"||((w=(b=f.filter)===null||b===void 0?void 0:b.event)===null||w===void 0?void 0:w.toLocaleLowerCase())===o}).map(f=>f.callback(h,r)):(i=this.bindings[o])===null||i===void 0||i.filter(f=>{var m,b,w,y,g,v;if(["broadcast","presence","postgres_changes"].includes(o))if("id"in f){const P=f.id,T=(m=f.filter)===null||m===void 0?void 0:m.event;return P&&((b=n.ids)===null||b===void 0?void 0:b.includes(P))&&(T==="*"||(T==null?void 0:T.toLocaleLowerCase())===((w=n.data)===null||w===void 0?void 0:w.type.toLocaleLowerCase()))}else{const P=(g=(y=f==null?void 0:f.filter)===null||y===void 0?void 0:y.event)===null||g===void 0?void 0:g.toLocaleLowerCase();return P==="*"||P===((v=n==null?void 0:n.event)===null||v===void 0?void 0:v.toLocaleLowerCase())}else return f.type.toLocaleLowerCase()===o}).map(f=>{if(typeof h=="object"&&"ids"in h){const m=h.data,{schema:b,table:w,commit_timestamp:y,type:g,errors:v}=m;h=Object.assign(Object.assign({},{schema:b,table:w,commit_timestamp:y,eventType:g,new:{},old:{},errors:v}),this._getPayloadRecords(m))}f.callback(h,r)})}_isClosed(){return this.state===Me.closed}_isJoined(){return this.state===Me.joined}_isJoining(){return this.state===Me.joining}_isLeaving(){return this.state===Me.leaving}_replyEventName(t){return`chan_reply_${t}`}_on(t,n,r){const s=t.toLocaleLowerCase(),i={type:s,filter:n,callback:r};return this.bindings[s]?this.bindings[s].push(i):this.bindings[s]=[i],this}_off(t,n){const r=t.toLocaleLowerCase();return this.bindings[r]&&(this.bindings[r]=this.bindings[r].filter(s=>{var i;return!(((i=s.type)===null||i===void 0?void 0:i.toLocaleLowerCase())===r&&ui.isEqual(s.filter,n))})),this}static isEqual(t,n){if(Object.keys(t).length!==Object.keys(n).length)return!1;for(const r in t)if(t[r]!==n[r])return!1;return!0}static isFilterValueEqual(t,n){return(t??void 0)===(n??void 0)}_rejoinUntilConnected(){this.rejoinTimer.scheduleTimeout(),this.socket.isConnected()&&this._rejoin()}_onClose(t){this._on(sn.close,{},t)}_onError(t){this._on(sn.error,{},n=>t(n))}_canPush(){return this.socket.isConnected()&&this._isJoined()}_rejoin(t=this.timeout){this._isLeaving()||(this.socket._leaveOpenTopic(this.topic),this.state=Me.joining,this.joinPush.resend(t))}_getPayloadRecords(t){const n={new:{},old:{}};return(t.type==="INSERT"||t.type==="UPDATE")&&(n.new=lg(t.columns,t.record)),(t.type==="UPDATE"||t.type==="DELETE")&&(n.old=lg(t.columns,t.old_record)),n}}const cd=()=>{},Pl={HEARTBEAT_INTERVAL:25e3,RECONNECT_DELAY:10,HEARTBEAT_TIMEOUT_FALLBACK:100},wk=[1e3,2e3,5e3,1e4],Sk=1e4,Pk=`
26  addEventListener("message", (e) => {
27    if (e.data.event === "start") {
28      setInterval(() => postMessage({ event: "keepAlive" }), e.data.interval);
29    }
30  });`;class Tk{constructor(t,n){var r;if(this.accessTokenValue=null,this.apiKey=null,this._manuallySetToken=!1,this.channels=new Array,this.endPoint="",this.httpEndpoint="",this.headers={},this.params={},this.timeout=Ch,this.transport=null,this.heartbeatIntervalMs=Pl.HEARTBEAT_INTERVAL,this.heartbeatTimer=void 0,this.pendingHeartbeatRef=null,this.heartbeatCallback=cd,this.ref=0,this.reconnectTimer=null,this.vsn=ag,this.logger=cd,this.conn=null,this.sendBuffer=[],this.serializer
30=new fk,this.stateChangeCallbacks={open:[],close:[],error:[],message:[]},this.accessToken=null,this._connectionState="disconnected",this._wasManualDisconnect=!1,this._authPromise=null,this._heartbeatSentAt=null,this._resolveFetch=s=>s?(...i)=>s(...i):(...i)=>fetch(...i),!(!((r=n==null?void 0:n.params)===null||r===void 0)&&r.apikey))throw new Error("API key is required to connect to Realtime");this.apiKey=n.params.apikey,this.endPoint=`${t}/${Eh.websocket}`,this.httpEndpoint=BS(t),this._initializeOptions(n),this._setupReconnectionTimer(),this.fetch=this._resolveFetch(n==null?void 0:n.fetch)}connect(){if(!(this.isConnecting()||this.isDisconnecting()||this.conn!==null&&this.isConnected())){if(this._setConnectionState("connecting"),this.accessToken&&!this._authPromise&&this._setAuthSafely("connect"),this.transport)this.conn=new this.transport(this.endpointURL());else try{this.conn=ak.createWebSocket(this.endpointURL())}catch(t){this._setConnectionState("disconnected");const n=t.message;throw n.includes("Node.js")?new Error(`${n}
31
32To use Realtime in Node.js, you need to provide a WebSocket implementation:
33
34Option 1: Use Node.js 22+ which has native WebSocket support
35Option 2: Install and provide the "ws" package:
36
37  npm install ws
38
39  import ws from "ws"
40  const client = new RealtimeClient(url, {
41    ...options,
42    transport: ws
43  })`):new Error(`WebSocket not available: ${n}`)}this._setupConnectionHandlers()}}endpointURL(){return this._appendParams(this.endPoint,Object.assign({},this.params,{vsn:this.vsn}))}disconnect(t,n){if(!this.isDisconnecting())if(this._setConnectionState("disconnecting",!0),this.conn){const r=setTimeout(()=>{this._setConnectionState("disconnected")},100);this.conn.onclose=()=>{clearTimeout(r),this._setConnectionState("disconnected")},typeof this.conn.close=="function"&&(t?this.conn.close(t,n??""):this.conn.close()),this._teardownConnection()}else this._setConnectionState("disconnected")}getChannels(){return this.channels}async removeChannel(t){const n=await t.unsubscribe();return this.channels.length===0&&this.disconnect(),n}async removeAllChannels(){const t=await Promise.all(this.channels.map(n=>n.unsubscribe()));return this.channels=[],this.disconnect(),t}log(t,n,r){this.logger(t,n,r)}connectionState(){switch(this.conn&&this.conn.readyState){case mr.connecting:return fs.Connecting;case mr.open:return fs.Open;case mr.closing:return fs.Closing;default:return fs.Closed}}isConnected(){return this.connectionState()===fs.Open}isConnecting(){return this._connectionState==="connecting"}isDisconnecting(){return this._connectionState==="disconnecting"}channel(t,n={config:{}}){const r=`realtime:${t}`,s=this.getChannels().find(i=>i.topic===r);if(s)return s;{const i=new ui(`realtime:${t}`,n,this);return this.channels.push(i),i}}push(t){const{topic:n,event:r,payload:s,ref:i}=t,o=()=>{this.encode(t,a=>{var l;(l=this.conn)===null||l===void 0||l.send(a)})};this.log("push",`${n} ${r} (${i})`,s),this.isConnected()?o():this.sendBuffer.push(o)}async setAuth(t=null){this._authPromise=this._performAuth(t);try{await this._authPromise}finally{this._authPromise=null}}_isManualToken(){return this._manuallySetToken}async sendHeartbeat(){var t;if(!this.isConnected()){try{this.heartbeatCallback("disconnected")}catch(n){this.log("error","error in heartbeat callback",n)}return}if(this.pendingHeartbeatRef){this.pendingHeartbeatRef=null,this._heartbeatSentAt=null,this.log("transport","heartbeat timeout. Attempting to re-establish connection");try{this.heartbeatCallback("timeout")}catch(n){this.log("error","error in heartbeat callback",n)}this._wasManualDisconnect=!1,(t=this.conn)===null||t===void 0||t.close(dk,"heartbeat timeout"),setTimeout(()=>{var n;this.isConnected()||(n=this.reconnectTimer)===null||n===void 0||n.scheduleTimeout()},Pl.HEARTBEAT_TIMEOUT_FALLBACK);return}this._heartbeatSentAt=Date.now(),this.pendingHeartbeatRef=this._makeRef(),this.push({topic:"phoenix",event:"heartbeat",payload:{},ref:this.pendingHeartbeatRef});try{this.heartbeatCallback("sent")}catch(n){this.log("error","error in heartbeat callback",n)}this._setAuthSafely("heartbeat")}onHeartbeat(t){this.heartbeatCallback=t}flushSendBuffer(){this.isConnected()&&this.sendBuffer.length>0&&(this.sendBuffer.forEach(t=>t()),this.sendBuffer=[])}_makeRef(){let t=this.ref+1;return t===this.ref?this.ref=0:this.ref=t,this.ref.toString()}_leaveOpenTopic(t){let n=this.channels.find(r=>r.topic===t&&(r._isJoined()||r._isJoining()));n&&(this.log("transport",`leaving duplicate topic "${t}"`),n.unsubscribe())}_remove(t){this.channels=this.channels.filter(n=>n.topic!==t.topic)}_onConnMessage(t){this.decode(t.data,n=>
43{if(n.topic==="phoenix"&&n.event==="phx_reply"&&n.ref&&n.ref===this.pendingHeartbeatRef){const c=this._heartbeatSentAt?Date.now()-this._heartbeatSentAt:void 0;try{this.heartbeatCallback(n.payload.status==="ok"?"ok":"error",c)}catch(u){this.log("error","error in heartbeat callback",u)}this._heartbeatSentAt=null,this.pendingHeartbeatRef=null}const{topic:r,event:s,payload:i,ref:o}=n,a=o?`(${o})`:"",l=i.status||"";this.log("receive",`${l} ${r} ${s} ${a}`.trim(),i),this.channels.filter(c=>c._isMember(r)).forEach(c=>c._trigger(s,i,o)),this._triggerStateCallbacks("message",n)})}_clearTimer(t){var n;t==="heartbeat"&&this.heartbeatTimer?(clearInterval(this.heartbeatTimer),this.heartbeatTimer=void 0):t==="reconnect"&&((n=this.reconnectTimer)===null||n===void 0||n.reset())}_clearAllTimers(){this._clearTimer("heartbeat"),this._clearTimer("reconnect")}_setupConnectionHandlers(){this.conn&&("binaryType"in this.conn&&(this.conn.binaryType="arraybuffer"),this.conn.onopen=()=>this._onConnOpen(),this.conn.onerror=t=>this._onConnError(t),this.conn.onmessage=t=>this._onConnMessage(t),this.conn.onclose=t=>this._onConnClose(t),this.conn.readyState===mr.open&&this._onConnOpen())}_teardownConnection(){if(this.conn){if(this.conn.readyState===mr.open||this.conn.readyState===mr.connecting)try{this.conn.close()}catch(t){this.log("error","Error closing connection",t)}this.conn.onopen=null,this.conn.onerror=null,this.conn.onmessage=null,this.conn.onclose=null,this.conn=null}this._clearAllTimers(),this._terminateWorker(),this.channels.forEach(t=>t.teardown())}_onConnOpen(){this._setConnectionState("connected"),this.log("transport",`connected to ${this.endpointURL()}`),(this._authPromise||(this.accessToken&&!this.accessTokenValue?this.setAuth():Promise.resolve())).then(()=>{this.flushSendBuffer()}).catch(n=>{this.log("error","error waiting for auth on connect",n),this.flushSendBuffer()}),this._clearTimer("reconnect"),this.worker?this.workerRef||this._startWorkerHeartbeat():this._startHeartbeat(),this._triggerStateCallbacks("open")}_startHeartbeat(){this.heartbeatTimer&&clearInterval(this.heartbeatTimer),this.heartbeatTimer=setInterval(()=>this.sendHeartbeat(),this.heartbeatIntervalMs)}_startWorkerHeartbeat(){this.workerUrl?this.log("worker",`starting worker for from ${this.workerUrl}`):this.log("worker","starting default worker");const t=this._workerObjectUrl(this.workerUrl);this.workerRef=new Worker(t),this.workerRef.onerror=n=>{this.log("worker","worker error",n.message),this._terminateWorker()},this.workerRef.onmessage=n=>{n.data.event==="keepAlive"&&this.sendHeartbeat()},this.workerRef.postMessage({event:"start",interval:this.heartbeatIntervalMs})}_terminateWorker(){this.workerRef&&(this.log("worker","terminating worker"),this.workerRef.terminate(),this.workerRef=void 0)}_onConnClose(t){var n;this._setConnectionState("disconnected"),this.log("transport","close",t),this._triggerChanError(),this._clearTimer("heartbeat"),this._wasManualDisconnect||(n=this.reconnectTimer)===null||n===void 0||n.scheduleTimeout(),this._triggerStateCallbacks("close",t)}_onConnError(t){this._setConnectionState("disconnected"),this.log("transport",`${t}`),this._triggerChanError(),this._triggerStateCallbacks("error",t);try{this.heartbeatCallback("error")}catch(n){this.log("error","error in heartbeat callback",n)}}_triggerChanError(){this.channels.forEach(t=>t._trigger(sn.error))}_appendParams(t,n){if(Object.keys(n).length===0)return t;const r=t.match(/\?/)?"&":"?",s=new URLSearchParams(n);return`${t}${r}${s}`}_workerObjectUrl(t){let n;if(t)n=t;else{const r=new Blob([Pk],{type:"application/javascript"});n=URL.createObjectURL(r)}return n}_setConnectionState(t,n=!1){this._connectionState=t,t==="connecting"?this._wasManualDisconnect=!1:t==="disconnecting"&&(this._wasManualDisconnect=n)}async _performAuth(t=null){let n,r=!1;if(t)n=t,r=!0;else if(this.accessToken)try{n=await this.accessToken()}catch(s){this.log("error","Error fetching access token from callback",s),n=this.accessTokenValue}else n=this.accessTokenValue;r?this._manuallySetToken=!0:this.accessToken&&(this._manuallySetToken=!1),this.accessTokenValue!=n&&(this.accessTokenValue=n,this.channels.forEac
43h(s=>{const i={access_token:n,version:ck};n&&s.updateJoinPayload(i),s.joinedOnce&&s._isJoined()&&s._push(sn.access_token,{access_token:n})}))}async _waitForAuthIfNeeded(){this._authPromise&&await this._authPromise}_setAuthSafely(t="general"){this._isManualToken()||this.setAuth().catch(n=>{this.log("error",`Error setting auth in ${t}`,n)})}_triggerStateCallbacks(t,n){try{this.stateChangeCallbacks[t].forEach(r=>{try{r(n)}catch(s){this.log("error",`error in ${t} callback`,s)}})}catch(r){this.log("error",`error triggering ${t} callbacks`,r)}}_setupReconnectionTimer(){this.reconnectTimer=new FS(async()=>{setTimeout(async()=>{await this._waitForAuthIfNeeded(),this.isConnected()||this.connect()},Pl.RECONNECT_DELAY)},this.reconnectAfterMs)}_initializeOptions(t){var n,r,s,i,o,a,l,c,u,d,h,f;switch(this.transport=(n=t==null?void 0:t.transport)!==null&&n!==void 0?n:null,this.timeout=(r=t==null?void 0:t.timeout)!==null&&r!==void 0?r:Ch,this.heartbeatIntervalMs=(s=t==null?void 0:t.heartbeatIntervalMs)!==null&&s!==void 0?s:Pl.HEARTBEAT_INTERVAL,this.worker=(i=t==null?void 0:t.worker)!==null&&i!==void 0?i:!1,this.accessToken=(o=t==null?void 0:t.accessToken)!==null&&o!==void 0?o:null,this.heartbeatCallback=(a=t==null?void 0:t.heartbeatCallback)!==null&&a!==void 0?a:cd,this.vsn=(l=t==null?void 0:t.vsn)!==null&&l!==void 0?l:ag,t!=null&&t.params&&(this.params=t.params),t!=null&&t.logger&&(this.logger=t.logger),(t!=null&&t.logLevel||t!=null&&t.log_level)&&(this.logLevel=t.logLevel||t.log_level,this.params=Object.assign(Object.assign({},this.params),{log_level:this.logLevel})),this.reconnectAfterMs=(c=t==null?void 0:t.reconnectAfterMs)!==null&&c!==void 0?c:m=>wk[m-1]||Sk,this.vsn){case uk:this.encode=(u=t==null?void 0:t.encode)!==null&&u!==void 0?u:(m,b)=>b(JSON.stringify(m)),this.decode=(d=t==null?void 0:t.decode)!==null&&d!==void 0?d:(m,b)=>b(JSON.parse(m));break;case MS:this.encode=(h=t==null?void 0:t.encode)!==null&&h!==void 0?h:this.serializer.encode.bind(this.serializer),this.decode=(f=t==null?void 0:t.decode)!==null&&f!==void 0?f:this.serializer.decode.bind(this.serializer);break;default:throw new Error(`Unsupported serializer version: ${this.vsn}`)}if(this.worker){if(typeof window<"u"&&!window.Worker)throw new Error("Web Worker is not supported");this.workerUrl=t==null?void 0:t.workerUrl}}}var pa=class extends Error{constructor(e,t){var n;super(e),this.name="IcebergError",this.status=t.status,this.icebergType=t.icebergType,this.icebergCode=t.icebergCode,this.details=t.details,this.isCommitStateUnknown=t.icebergType==="CommitStateUnknownException"||[500,502,504].includes(t.status)&&((n=t.icebergType)==null?void 0:n.includes("CommitState"))===!0}isNotFound(){return this.status===404}isConflict(){return this.status===409}isAuthenticationTimeout(){return this.status===419}};function Ck(e,t,n){const r=new URL(t,e);if(n)for(const[s,i]of Object.entries(n))i!==void 0&&r.searchParams.set(s,i);return r.toString()}async function Ek(e){return!e||e.type==="none"?{}:e.type==="bearer"?{Authorization:`Bearer ${e.token}`}:e.type==="header"?{[e.name]:e.value}:e.type==="custom"?await e.getHeaders():{}}function Ak(e){const t=e.fetchImpl??globalThis.fetch;return{async request({method:n,path:r,query:s,body:i,headers:o}){const a=Ck(e.baseUrl,r,s),l=await Ek(e.auth),c=await t(a,{method:n,headers:{...i?{"Content-Type":"application/json"}:{},...l,...o},body:i?JSON.stringify(i):void 0}),u=await c.text(),d=(c.headers.get("content-type")||"").includes("application/json"),h=d&&u?JSON.parse(u):u;if(!c.ok){const f=d?h:void 0,m=f==null?void 0:f.error;throw new pa((m==null?void 0:m.message)??`Request failed with status ${c.status}`,{status:c.status,icebergType:m==null?void 0:m.type,icebergCode:m==null?void 0:m.code,details:f})}return{status:c.status,headers:c.headers,data:h}}}}function Tl(e){return e.join("�")}var xk=class{constructor(e,t=""){this.client=e,this.prefix=t}async listNamespaces(e){const t=e?{parent:Tl(e.namespace)}:void 0;return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces`,query:t})).data.namespaces.map(r=>({namespace:r}))}async createNamespace(e,t){const n={namespace:e.namespace,properties:t==null?void 0:t.properties};return(await this.client.request({method:"POST",path:`${this.prefix}/namespaces`,body:n})).data}async dropNamespace(e){await this.client.request({method:"DELETE",path:`${this.prefix}/namespaces/${Tl(e.namespace)}`})}async loadNamespaceMetadata(e){return{properties:(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${Tl(e.namespace)}`})).data.properties}}async namespaceExists(e){try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${Tl(e.namespace)}`}),!0}catch(t){if(t instanceof pa&&t.status===404)return!1;throw t}}async createNamespaceIfNotExists(e,t){try{return await this.createNamespace(e,t)}catch(n){if(n instanceof pa&&n.status===409)return;throw n}}};function Xs(e){return e.join("�")}var kk=class{constructor(e,t="",n){this.client=e,this.prefix=t,this.accessDelegation=n}async listTables(e){return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${Xs(e.namespace)}/tables`})).data.identifiers}async createTable(e,t){const n={};return this.accessDelegation&&(n["X-Iceberg-Access-Delegation"]=this.accessDelegation),(await this.client.request({method:"POST",path:`${this.prefix}/namespaces/${Xs(e.namespace)}/tables`,body:t,headers:n})).data.metadata}async updateTable(e,t){const n=await this.client.request({method:"POST",path:`${this.prefix}/namespaces/${Xs(e.namespace)}/tables/${e.name}`,body:t});return{"metadata-location":n.data["metadata-location"],metadata:n.data.metadata}}async dropTable(e,t){await this.client.request({method:"DELETE",path:`${this.prefix}/namespaces/${Xs(e.namespace)}/tables/${e.name}`,query:{purgeRequested:String((t==null?void 0:t.purge)??!1)}})}async loadTable(e){const t={};return this.accessDelegation&&(t["X-Iceberg-Access-Delegation"]=this.accessDelegation),(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${Xs(e.namespace)}/tables/${e.name}`,headers:t})).data.metadata}async tableExists(e){const t={};this.accessDelegation&&(t["X-Iceberg-Access-Delegation"]=this.accessDelegation);try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${Xs(e.namespace)}/tables/${e.name}`,headers:t}),!0}catch(n){if(n instanceof pa&&n.status===404)return!1;throw n}}async createTableIfNotExists(e,t){try{return await this.createTable(e,t)}catch(n){if(n instanceof pa&&n.status===409)return await this.loadTable({namespace:e.namespace,name:t.name});throw n}}},_k=class{constructor(e){var r;let t="v1";e.catalogName&&(t+=`/${e.catalogName}`);const n=e.baseUrl.endsWith("/")?e.baseUrl:`${e.baseUrl}/`;this.client=Ak({baseUrl:n,auth:e.auth,fetchImpl:e.fetch}),this.accessDelegation=(r=e.accessDelegation)==null?void 0:r.join(","),this.namespaceOps=new xk(this.client,t),this.tableOps=new kk(this.client,t,this.accessDelegation)}async listNamespaces(e){return this.namespaceOps.listNamespaces(e)}async createNamespace(e,t){return this.namespaceOps.createNamespace(e,t)}async dropNamespace(e){await this.namespaceOps.dropNamespace(e)}async loadNamespaceMetadata(e){return this.namespaceOps.loadNamespaceMetadata(e)}async listTables(e){return this.tableOps.listTables(e)}
43async createTable(e,t){return this.tableOps.createTable(e,t)}async updateTable(e,t){return this.tableOps.updateTable(e,t)}async dropTable(e,t){await this.tableOps.dropTable(e,t)}async loadTable(e){return this.tableOps.loadTable(e)}async namespaceExists(e){return this.namespaceOps.namespaceExists(e)}async tableExists(e){return this.tableOps.tableExists(e)}async createNamespaceIfNotExists(e,t){return this.namespaceOps.createNamespaceIfNotExists(e,t)}async createTableIfNotExists(e,t){return this.tableOps.createTableIfNotExists(e,t)}},Tu=class extends Error{constructor(e,t="storage",n,r){super(e),this.__isStorageError=!0,this.namespace=t,this.name=t==="vectors"?"StorageVectorsError":"StorageError",this.status=n,this.statusCode=r}};function Cu(e){return typeof e=="object"&&e!==null&&"__isStorageError"in e}var Cl=class extends Tu{constructor(e,t,n,r="storage"){super(e,r,t,n),this.name=r==="vectors"?"StorageVectorsApiError":"StorageApiError",this.status=t,this.statusCode=n}toJSON(){return{name:this.name,message:this.message,status:this.status,statusCode:this.statusCode}}},US=class extends Tu{constructor(e,t,n="storage"){super(e,n),this.name=n==="vectors"?"StorageVectorsUnknownError":"StorageUnknownError",this.originalError=t}};const Rk=e=>e?(...t)=>e(...t):(...t)=>fetch(...t),Dk=e=>{if(typeof e!="object"||e===null)return!1;const t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},xh=e=>{if(Array.isArray(e))return e.map(n=>xh(n));if(typeof e=="function"||e!==Object(e))return e;const t={};return Object.entries(e).forEach(([n,r])=>{const s=n.replace(/([-_][a-z])/gi,i=>i.toUpperCase().replace(/[-_]/g,""));t[s]=xh(r)}),t},Nk=e=>!e||typeof e!="string"||e.length===0||e.length>100||e.trim()!==e||e.includes("/")||e.includes("\\")?!1:/^[\w!.\*'() &$@=;:+,?-]+$/.test(e);function ma(e){"@babel/helpers - typeof";return ma=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ma(e)}function Ik(e,t){if(ma(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(ma(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Ok(e){var t=Ik(e,"string");return ma(t)=="symbol"?t:t+""}function Lk(e,t,n){return(t=Ok(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function dg(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),n.push.apply(n,r)}return n}function G(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?dg(Object(n),!0).forEach(function(r){Lk(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):dg(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}const hg=e=>{var t;return e.msg||e.message||e.error_description||(typeof e.error=="string"?e.error:(t=e.error)===null||t===void 0?void 0:t.message)||JSON.stringify(e)},Mk=async(e,t,n,r)=>{if(e&&typeof e=="object"&&"status"in e&&"ok"in e&&typeof e.status=="number"&&!(n!=null&&n.noResolveJson)){const s=e,i=s.status||500;if(typeof s.json=="function")s.json().then(o=>{const a=(o==null?void 0:o.statusCode)||(o==null?void 0:o.code)||i+"";t(new Cl(hg(o),i,a,r))}).catch(()=>{if(r==="vectors"){const o=i+"";t(new Cl(s.statusText||`HTTP ${i} error`,i,o,r))}else{const o=i+"";t(new Cl(s.statusText||`HTTP ${i} error`,i,o,r))}});else{const o=i+"";t(new Cl(s.statusText||`HTTP ${i} error`,i,o,r))}}else t(new US(hg(e),e,r))},Fk=(e,t,n,r)=>{const s={method:e,headers:(t==null?void 0:t.headers)||{}};return e==="GET"||e==="HEAD"||!r?G(G({},s),n):(Dk(r)?(s.headers=G({"Content-Type":"application/json"},t==null?void 0:t.headers),s.body=JSON.stringify(r)):s.body=r,t!=null&&t.duplex&&(s.duplex=t.duplex),G(G({},s),n))};async function Eo(e,t,n,r,s,i,o){return new Promise((a,l)=>{e(n,Fk(t,r,s,i)).then(c=>{if(!c.ok)throw c;if(r!=null&&r.noResolveJson)return c;if(o==="vectors"){const u=c.headers.get("content-type");if(c.headers.get("content-length")==="0"||c.status===204)return{};if(!u||!u.includes("application/json"))return{}}return c.json()}).then(c=>a(c)).catch(c=>Mk(c,l,r,o))})}function VS(e="storage"){return{get:async(t,n,r,s)=>Eo(t,"GET",n,r,s,void 0,e),post:async(t,n,r,s,i)=>Eo(t,"POST",n,s,i,r,e),put:async(t,n,r,s,i)=>Eo(t,"PUT",n,s,i,r,e),head:async(t,n,r,s)=>Eo(t,"HEAD",n,G(G({},r),{},{noResolveJson:!0}),s,void 0,e),remove:async(t,n,r,s,i)=>Eo(t,"DELETE",n,s,i,r,e)}}const jk=VS("storage"),{get:ba,post:en,put:kh,head:Bk,remove:Wp}=jk,At=VS("vectors");var ho=class{constructor(e,t={},n,r="storage"){this.shouldThrowOnError=!1,this.url=e,this.headers=t,this.fetch=Rk(n),this.namespace=r}throwOnError(){return this.shouldThrowOnError=!0,this}setHeader(e,t){return this.headers=G(G({},this.headers),{},{[e]:t}),this}async handleOperation(e){var t=this;try{return{data:await e(),error:null}}catch(n){if(t.shouldThrowOnError)throw n;if(Cu(n))return{data:null,error:n};throw n}}},Uk=class{constructor(e,t){this.downloadFn=e,this.shouldThrowOnError=t}then(e,t){return this.execute().then(e,t)}async execute(){var e=this;try{return{data:(await e.downloadFn()).body,error:null}}catch(t){if(e.shouldThrowOnError)throw t;if(Cu(t))return{data:null,error:t};throw t}}};let $S;$S=Symbol.toStringTag;var Vk=class{constructor(e,t){this.downloadFn=e,this.shouldThrowOnError=t,this[$S]="BlobDownloadBuilder",this.promise=null}asStream(){return new Uk(this.downloadFn,this.shouldThrowOnError)}then(e,t){return this.getPromise().then(e,t)}catch(e){return this.getPromise().catch(e)}finally(e){return this.getPromise().finally(e)}getPromise(){return this.promise||(this.promise=this.execute()),this.promise}async execute(){var e=this;try{return{data:await(await e.downloadFn()).blob(),error:null}}catch(t){if(e.shouldThrowOnError)throw t;if(Cu(t))return{data:null,error:t};throw t}}};const $k={limit:100,offset:0,sortBy:{column:"name",order:"asc"}},fg={cacheControl:"3600",contentType:"text/plain;charset=UTF-8",upsert:!1};var Wk=class extends ho{constructor(e,t={},n,r){super(e,t,r,"storage"),this.bucketId=n}async uploadOrUpdate(e,t,n,r){var s=this;return s.handleOperation(async()=>{let i;const o=G(G({},fg),r);let a=G(G({},s.headers),e==="POST"&&{"x-upsert":String(o.upsert)});const l=o.metadata;typeof Blob<"u"&&n instanceof Blob?(i=new FormData,i.append("cacheControl",o.cacheControl),l&&i.append("metadata",s.encodeMetadata(l)),i.append("",n)):typeof FormData<"u"&&n instanceof FormData?(i=n,i.has("cacheControl")||i.append("cacheControl",o.cacheControl),l&&!i.has("metadata")&&i.append("metadata",s.encodeMetadata(l))):(i=n,a["cache-control"]=`max-age=${o.cacheControl}`,a["content-type"]=o.contentType,l&&(a["x-metadata"]=s.toBase64(s.encodeMetadata(l))),(typeof ReadableStream<"u"&&i instanceof ReadableStream||i&&typeof i=="object"&&"pipe"in i&&typeof i.pipe=="function")&&!o.duplex&&(o.duplex="half")),r!=null&&r.headers&&(a=G(G({},a),r.headers));const c=s._removeEmptyFolders(t),u=s._getFinalPath(c),d=await(e=="PUT"?kh:en)(s.fetch,`${s.url}/object/${u}`,i,G({headers:a},o!=null&&o.duplex?{duplex:o.duplex}:{}));return{path:c,id:d.Id,fullPath:d.Key}})}async upload(e,t,n){return this.uploadOrUpdate("POST",e,t,n)}async uploadToSignedUrl(e,t,n,r){var s=this;const i=s._removeEmptyFolders(e),o=s._getFinalPath(i),a=new URL(s.url+`/object/upload/sign/${o}`);return a.searchParams.set("token",t),s.handleOperation(async()=>{let l;const c=G({upsert:fg.upsert},r),u=G(G({},s.headers),{"x-upsert":String(c.upsert)});return typeof Blob<"u"&&n instanceof Blob?(l=new FormData,l.append("cacheControl",c.cacheControl),l.append("",n)):typeof FormData<"u"&&n instanceof FormData?(l=n,l.append("cacheControl",c.cacheControl)):(l=n,u["cache-control"]=`max-age=${c.cacheControl}`,u["content-type"]=c.contentType),{path:i,fullPath:(await kh(s.fetch,a.toString(),l,{headers:u})).Key}})}async createSignedUploadUrl(e,t){var n=this;return n.handleOperation(async()=>{let r=n._getFinalPath(e);const s=G({},n.headers);t!=null&&t.upsert&&(s["x-upsert"]="true");const i=await en(n.fetch,`${n.url}/object/upload/sign/${r}`,{},{headers:s}),o=new URL(n.url+i.url),a=o.searchParams.get("token");if(!a)throw new Tu("No token returned by API");return{signedUrl:o.toString(),path:e,token:a}})}async update(e,t,n){return this.uploadOrUpdate("PUT",e,t,n)}async move(e,t,n){var r=this;return r.handleOperation(async()=>await en(r.fetch,`${r.url}/object/move`,{bucketId:r.bucketId,sourceKey:e,destinationKey:t,de
43stinationBucket:n==null?void 0:n.destinationBucket},{headers:r.headers}))}async copy(e,t,n){var r=this;return r.handleOperation(async()=>({path:(await en(r.fetch,`${r.url}/object/copy`,{bucketId:r.bucketId,sourceKey:e,destinationKey:t,destinationBucket:n==null?void 0:n.destinationBucket},{headers:r.headers})).Key}))}async createSignedUrl(e,t,n){var r=this;return r.handleOperation(async()=>{let s=r._getFinalPath(e),i=await en(r.fetch,`${r.url}/object/sign/${s}`,G({expiresIn:t},n!=null&&n.transform?{transform:n.transform}:{}),{headers:r.headers});const o=n!=null&&n.download?`&download=${n.download===!0?"":n.download}`:"";return{signedUrl:encodeURI(`${r.url}${i.signedURL}${o}`)}})}async createSignedUrls(e,t,n){var r=this;return r.handleOperation(async()=>{const s=await en(r.fetch,`${r.url}/object/sign/${r.bucketId}`,{expiresIn:t,paths:e},{headers:r.headers}),i=n!=null&&n.download?`&download=${n.download===!0?"":n.download}`:"";return s.map(o=>G(G({},o),{},{signedUrl:o.signedURL?encodeURI(`${r.url}${o.signedURL}${i}`):null}))})}download(e,t,n){const r=typeof(t==null?void 0:t.transform)<"u"?"render/image/authenticated":"object",s=this.transformOptsToQueryString((t==null?void 0:t.transform)||{}),i=s?`?${s}`:"",o=this._getFinalPath(e),a=()=>ba(this.fetch,`${this.url}/${r}/${o}${i}`,{headers:this.headers,noResolveJson:!0},n);return new Vk(a,this.shouldThrowOnError)}async info(e){var t=this;const n=t._getFinalPath(e);return t.handleOperation(async()=>xh(await ba(t.fetch,`${t.url}/object/info/${n}`,{headers:t.headers})))}async exists(e){var t=this;const n=t._getFinalPath(e);try{return await Bk(t.fetch,`${t.url}/object/${n}`,{headers:t.headers}),{data:!0,error:null}}catch(r){if(t.shouldThrowOnError)throw r;if(Cu(r)&&r instanceof US){const s=r.originalError;if([400,404].includes(s==null?void 0:s.status))return{data:!1,error:r}}throw r}}getPublicUrl(e,t){const n=this._getFinalPath(e),r=[],s=t!=null&&t.download?`download=${t.download===!0?"":t.download}`:"";s!==""&&r.push(s);const i=typeof(t==null?void 0:t.transform)<"u"?"render/image":"object",o=this.transformOptsToQueryString((t==null?void 0:t.transform)||{});o!==""&&r.push(o);let a=r.join("&");return a!==""&&(a=`?${a}`),{data:{publicUrl:encodeURI(`${this.url}/${i}/public/${n}${a}`)}}}async remove(e){var t=this;return t.handleOperation(async()=>await Wp(t.fetch,`${t.url}/object/${t.bucketId}`,{prefixes:e},{headers:t.headers}))}async list(e,t,n){var r=this;return r.handleOperation(async()=>{const s=G(G(G({},$k),t),{},{prefix:e||""});return await en(r.fetch,`${r.url}/object/list/${r.bucketId}`,s,{headers:r.headers},n)})}async listV2(e,t){var n=this;return n.handleOperation(async()=>{const r=G({},e);return await en(n.fetch,`${n.url}/object/list-v2/${n.bucketId}`,r,{headers:n.headers},t)})}encodeMetadata(e){return JSON.stringify(e)}toBase64(e){return typeof Buffer<"u"?Buffer.from(e).toString("base64"):btoa(e)}_getFinalPath(e){return`${this.bucketId}/${e.replace(/^\/+/,"")}`}_removeEmptyFolders(e){return e.replace(/^\/|\/$/g,"").replace(/\/+/g,"/")}transformOptsToQueryString(e){const t=[];return e.width&&t.push(`width=${e.width}`),e.height&&t.push(`height=${e.height}`),e.resize&&t.push(`resize=${e.resize}`),e.format&&t.push(`format=${e.format}`),e.quality&&t.push(`quality=${e.quality}`),t.join("&")}};const zk="2.97.0",nl={"X-Client-Info":`storage-js/${zk}`};var qk=class extends ho{constructor(e,t={},n,r){const s=new URL(e);r!=null&&r.useNewHostname&&/supabase\.(co|in|red)$/.test(s.hostname)&&!s.hostname.includes("storage.supabase.")&&(s.hostname=s.hostname.replace("supabase.","storage.supabase."));const i=s.href.replace(/\/$/,""),o=G(G({},nl),t);super(i,o,n,"storage")}async listBuckets(e){var t=this;return t.handleOperation(async()=>{const n=t.listBucketOptionsToQueryString(e);return await ba(t.fetch,`${t.url}/bucket${n}`,{headers:t.headers})})}async getBucket(e){var t=this;return t.handleOperation(async()=>await ba(t.fetch,`${t.url}/bucket/${e}`,{headers:t.headers}))}async createBucket(e,t={public:!1}){var n=this;return n.handleOperation(async()=>await en(n.fetch,`${n.url}/bucket`,{id:e,name:e,type:t.type,public:t.public,file_size_limit:t.fileSizeLimit,allowed_mime_types:t.allowedMimeTypes},{headers:n.headers}))}async updateBucket(e,t){var n=this;return n.handleOperation(async()=>await kh(n.fetch,`${n.url}/bucket/${e}`,{id:e,name:e,public:t.public,file_size_limit:t.fileSizeLimit,allowed_mime_types:t.allowedMimeTypes},{headers:n.headers}))}async emptyBucket(e){var t=this;return t.handleOperation(async()=>await en(t.fetch,`${t.url}/bucket/${e}/empty`,{},{headers:t.headers}))}async deleteBucket(e){var t=this;return t.handleOperation(async()=>await Wp(t.fetch,`${t.url}/bucket/${e}`,{},{headers:t.headers}))}listBucketOptionsToQueryString(e){const t={};return e&&("limit"in e&&(t.limit=String(e.limit)),"offset"in e&&(t.offset=String(e.offset)),e.search&&(t.search=e.search),e.sortColumn&&(t.sortColumn=e.sortColumn),e.sortOrder&&(t.sortOrder=e.sortOrder)),Object.keys(t).length>0?"?"+new URLSearchParams(t).toString():""}},Hk=class extends ho{constructor(e,t={},n){const r=e.replace(/\/$/,""),s=G(G({},nl),t);super(r,s,n,"storage")}async createBucket(e){var t=this;return t.handleOperation(async()=>await en(t.fetch,`${t.url}/bucket`,{name:e},{headers:t.headers}))}async listBuckets(e){var t=this;return t.handleOperation(async()=>{const n=new URLSearchParams;(e==null?void 0:e.limit)!==void 0&&n.set("limit",e.limit.toString()),(e==null?void 0:e.offset)!==void 0&&n.set("offset",e.offset.toString()),e!=null&&e.sortColumn&&n.set("sortColumn",e.sortColumn),e!=null&&e.sortOrder&&n.set("sortOrder",e.sortOrder),e!=null&&e.search&&n.set("search",e.search);const r=n.toString(),s=r?`${t.url}/bucket?${r}`:`${t.url}/bucket`;return await ba(t.fetch,s,{headers:t.headers})})}async deleteBucket(e){var t=this;return t.handleOperation(async()=>await Wp(t.fetch,`${t.url}/bucket/${e}`,{},{headers:t.headers}))}from(e){var t=this;if(!Nk(e))throw new Tu("Invalid bucket name: File, folder, and bucket names must follow AWS object key naming guidelines and should avoid the use of any other characters.");const n=new _k({baseUrl:this.url,catalogName:e,auth:{type:"custom",getHeaders:async()=>t.headers},fetch:this.fetch}
43),r=this.shouldThrowOnError;return new Proxy(n,{get(s,i){const o=s[i];return typeof o!="function"?o:async(...a)=>{try{return{data:await o.apply(s,a),error:null}}catch(l){if(r)throw l;return{data:null,error:l}}}}})}},Gk=class extends ho{constructor(e,t={},n){const r=e.replace(/\/$/,""),s=G(G({},nl),{},{"Content-Type":"application/json"},t);super(r,s,n,"vectors")}async createIndex(e){var t=this;return t.handleOperation(async()=>await At.post(t.fetch,`${t.url}/CreateIndex`,e,{headers:t.headers})||{})}async getIndex(e,t){var n=this;return n.handleOperation(async()=>await At.post(n.fetch,`${n.url}/GetIndex`,{vectorBucketName:e,indexName:t},{headers:n.headers}))}async listIndexes(e){var t=this;return t.handleOperation(async()=>await At.post(t.fetch,`${t.url}/ListIndexes`,e,{headers:t.headers}))}async deleteIndex(e,t){var n=this;return n.handleOperation(async()=>await At.post(n.fetch,`${n.url}/DeleteIndex`,{vectorBucketName:e,indexName:t},{headers:n.headers})||{})}},Kk=class extends ho{constructor(e,t={},n){const r=e.replace(/\/$/,""),s=G(G({},nl),{},{"Content-Type":"application/json"},t);super(r,s,n,"vectors")}async putVectors(e){var t=this;if(e.vectors.length<1||e.vectors.length>500)throw new Error("Vector batch size must be between 1 and 500 items");return t.handleOperation(async()=>await At.post(t.fetch,`${t.url}/PutVectors`,e,{headers:t.headers})||{})}async getVectors(e){var t=this;return t.handleOperation(async()=>await At.post(t.fetch,`${t.url}/GetVectors`,e,{headers:t.headers}))}async listVectors(e){var t=this;if(e.segmentCount!==void 0){if(e.segmentCount<1||e.segmentCount>16)throw new Error("segmentCount must be between 1 and 16");if(e.segmentIndex!==void 0&&(e.segmentIndex<0||e.segmentIndex>=e.segmentCount))throw new Error(`segmentIndex must be between 0 and ${e.segmentCount-1}`)}return t.handleOperation(async()=>await At.post(t.fetch,`${t.url}/ListVectors`,e,{headers:t.headers}))}async queryVectors(e){var t=this;return t.handleOperation(async()=>await At.post(t.fetch,`${t.url}/QueryVectors`,e,{headers:t.headers}))}async deleteVectors(e){var t=this;if(e.keys.length<1||e.keys.length>500)throw new Error("Keys batch size must be between 1 and 500 items");return t.handleOperation(async()=>await At.post(t.fetch,`${t.url}/DeleteVectors`,e,{headers:t.headers})||{})}},Yk=class extends ho{constructor(e,t={},n){const r=e.replace(/\/$/,""),s=G(G({},nl),{},{"Content-Type":"application/json"},t);super(r,s,n,"vectors")}async createBucket(e){var t=this;return t.handleOperation(async()=>await At.post(t.fetch,`${t.url}/CreateVectorBucket`,{vectorBucketName:e},{headers:t.headers})||{})}async getBucket(e){var t=this;return t.handleOperation(async()=>await At.post(t.fetch,`${t.url}/GetVectorBucket`,{vectorBucketName:e},{headers:t.headers}))}async listBuckets(e={}){var t=this;return t.handleOperation(async()=>await At.post(t.fetch,`${t.url}/ListVectorBuckets`,e,{headers:t.headers}))}async deleteBucket(e){var t=this;return t.handleOperation(async()=>await At.post(t.fetch,`${t.url}/DeleteVectorBucket`,{vectorBucketName:e},{headers:t.headers})||{})}},Qk=class extends Yk{constructor(e,t={}){super(e,t.headers||{},t.fetch)}from(e){return new Jk(this.url,this.headers,e,this.fetch)}async createBucket(e){var t=()=>super.createBucket,n=this;return t().call(n,e)}async getBucket(e){var t=()=>super.getBucket,n=this;return t().call(n,e)}async listBuckets(e={}){var t=()=>super.listBuckets,n=this;return t().call(n,e)}async deleteBucket(e){var t=()=>super.deleteBucket,n=this;return t().call(n,e)}},Jk=class extends Gk{constructor(e,t,n,r){super(e,t,r),this.vectorBucketName=n}async createIndex(e){var t=()=>super.createIndex,n=this;return t().call(n,G(G({},e),{},{vectorBucketName:n.vectorBucketName}))}async listIndexes(e={}){var t=()=>super.listIndexes,n=this;return t().call(n,G(G({},e),{},{vectorBucketName:n.vectorBucketName}))}async getIndex(e){var t=()=>super.getIndex,n=this;return t().call(n,n.vectorBucketName,e)}async deleteIndex(e){var t=()=>super.deleteIndex,n=this;return t().call(n,n.vectorBucketName,e)}index(e){return new Xk(this.url,this.headers,this.vectorBucketName,e,this.fetch)}}
43,Xk=class extends Kk{constructor(e,t,n,r,s){super(e,t,s),this.vectorBucketName=n,this.indexName=r}async putVectors(e){var t=()=>super.putVectors,n=this;return t().call(n,G(G({},e),{},{vectorBucketName:n.vectorBucketName,indexName:n.indexName}))}async getVectors(e){var t=()=>super.getVectors,n=this;return t().call(n,G(G({},e),{},{vectorBucketName:n.vectorBucketName,indexName:n.indexName}))}async listVectors(e={}){var t=()=>super.listVectors,n=this;return t().call(n,G(G({},e),{},{vectorBucketName:n.vectorBucketName,indexName:n.indexName}))}async queryVectors(e){var t=()=>super.queryVectors,n=this;return t().call(n,G(G({},e),{},{vectorBucketName:n.vectorBucketName,indexName:n.indexName}))}async deleteVectors(e){var t=()=>super.deleteVectors,n=this;return t().call(n,G(G({},e),{},{vectorBucketName:n.vectorBucketName,indexName:n.indexName}))}},Zk=class extends qk{constructor(e,t={},n,r){super(e,t,n,r)}from(e){return new Wk(this.url,this.headers,e,this.fetch)}get vectors(){return new Qk(this.url+"/vector",{headers:this.headers,fetch:this.fetch})}get analytics(){return new Hk(this.url+"/iceberg",this.headers,this.fetch)}};const WS="2.97.0",ai=30*1e3,_h=3,ud=_h*ai,e_="http://localhost:9999",t_="supabase.auth.token",n_={"X-Client-Info":`gotrue-js/${WS}`},Rh="X-Supabase-Api-Version",zS={"2024-01-01":{timestamp:Date.parse("2024-01-01T00:00:00.0Z"),name:"2024-01-01"}},r_=/^([a-z0-9_-]{4})*($|[a-z0-9_-]{3}$|[a-z0-9_-]{2}$)$/i,s_=10*60*1e3;class ga extends Error{constructor(t,n,r){super(t),this.__isAuthError=!0,this.name="AuthError",this.status=n,this.code=r}}function z(e){return typeof e=="object"&&e!==null&&"__isAuthError"in e}class i_ extends ga{constructor(t,n,r){super(t,n,r),this.name="AuthApiError",this.status=n,this.code=r}}function o_(e){return z(e)&&e.name==="AuthApiError"}class ps extends ga{constructor(t,n){super(t),this.name="AuthUnknownError",this.originalError=n}}class tr extends ga{constructor(t,n,r,s){super(t,r,s),this.name=n,this.status=r}}class Tt extends tr{constructor(){super("Auth session missing!","AuthSessionMissingError",400,void 0)}}function dd(e){return z(e)&&e.name==="AuthSessionMissingError"}class Zs extends tr{constructor(){super("Auth session or user missing","AuthInvalidToken
43ResponseError",500,void 0)}}class El extends tr{constructor(t){super(t,"AuthInvalidCredentialsError",400,void 0)}}class Al extends tr{constructor(t,n=null){super(t,"AuthImplicitGrantRedirectError",500,void 0),this.details=null,this.details=n}toJSON(){return{name:this.name,message:this.message,status:this.status,details:this.details}}}function a_(e){return z(e)&&e.name==="AuthImplicitGrantRedirectError"}class pg extends tr{constructor(t,n=null){super(t,"AuthPKCEGrantCodeExchangeError",500,void 0),this.details=null,this.details=n}toJSON(){return{name:this.name,message:this.message,status:this.status,details:this.details}}}class l_ extends tr{constructor(){super("PKCE code verifier not found in storage. This can happen if the auth flow was initiated in a different browser or device, or if the storage was cleared. For SSR frameworks (Next.js, SvelteKit, etc.), use @supabase/ssr on both the server and client to store the code verifier in cookies.","AuthPKCECodeVerifierMissingError",400,"pkce_code_verifier_not_found")}}class Dh extends tr{constructor(t,n){super(t,"AuthRetryableFetchError",n,void 0)}}function hd(e){return z(e)&&e.name==="AuthRetryableFetchError"}class mg extends tr{constructor(t,n,r){super(t,"AuthWeakPasswordError",n,"weak_password"),this.reasons=r}}class Nh extends tr{constructor(t){super(t,"AuthInvalidJwtError",400,"invalid_jwt")}}const Rc="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_".split(""),bg=` 	
44\r=`.split(""),c_=(()=>{const e=new Array(128);for(let t=0;t<e.length;t+=1)e[t]=-1;for(let t=0;t<bg.length;t+=1)e[bg[t].charCodeAt(0)]=-2;for(let t=0;t<Rc.length;t+=1)e[Rc[t].charCodeAt(0)]=t;return e})();function gg(e,t,n){if(e!==null)for(t.queue=t.queue<<8|e,t.queuedBits+=8;t.queuedBits>=6;){const r=t.queue>>t.queuedBits-6&63;n(Rc[r]),t.queuedBits-=6}else if(t.queuedBits>0)for(t.queue=t.queue<<6-t.queuedBits,t.queuedBits=6;t.queuedBits>=6;){const r=t.queue>>t.queuedBits-6&63;n(Rc[r]),t.queuedBits-=6}}function qS(e,t,n){const r=c_[e];if(r>-1)for(t.queue=t.queue<<6|r,t.queuedBits+=6;t.queuedBits>=8;)n(t.queue>>t.queuedBits-8&255),t.queuedBits-=8;else{if(r===-2)return;throw new Error(`Invalid Base64-URL character "${String.fromCharCode(e)}"`)}}function yg(e){const t=[],n=o=>{t.push(String.fromCodePoint(o))},r={utf8seq:0,codepoint:0},s={queue:0,queuedBits:0},i=o=>{h_(o,r,n)};for(let o=0;o<e.length;o+=1)qS(e.charCodeAt(o),s,i);return t.join("")}function u_(e,t){if(e<=127){t(e);return}else if(e<=2047){t(192|e>>6),t(128|e&63);return}else if(e<=65535){t(224|e>>12),t(128|e>>6&63),t(128|e&63);return}else if(e<=1114111){t(240|e>>18),t(128|e>>12&63),t(128|e>>6&63),t(128|e&63);return}throw new Error(`Unrecognized Unicode codepoint: ${e.toString(16)}`)}function d_(e,t){for(let n=0;n<e.length;n+=1){let r=e.charCodeAt(n);if(r>55295&&r<=56319){const s=(r-55296)*1024&65535;r=(e.charCodeAt(n+1)-56320&65535|s)+65536,n+=1}u_(r,t)}}function h_(e,t,n){if(t.utf8seq===0){if(e<=127){n(e);return}for(let r=1;r<6;r+=1)if(!(e>>7-r&1)){t.utf8seq=r;break}if(t.utf8seq===2)t.codepoint=e&31;else if(t.utf8seq===3)t.codepoint=e&15;else if(t.utf8seq===4)t.codepoint=e&7;else throw new Error("Invalid UTF-8 sequence");t.utf8seq-=1}else if(t.utf8seq>0){if(e<=127)throw new Error("Invalid UTF-8 sequence");t.codepoint=t.codepoint<<6|e&63,t.utf8seq-=1,t.utf8seq===0&&n(t.codepoint)}}function ki(e){const t=[],n={queue:0,queuedBits:0},r=s=>{t.push(s)};for(let s=0;s<e.length;s+=1)qS(e.charCodeAt(s),n,r);return new Uint8Array(t)}function f_(e){const t=[];return d_(e,n=>t.push(n)),new Uint8Array(t)}function ms(e){const t=[],n={queue:0,queuedBits:0},r=s=>{t.push(s)};return e.forEach(s=>gg(s,n,r)),gg(null,n,r),t.join("")}function p_(e){return Math.round(Date.now()/1e3)+e}function m_(){return Symbol("auth-callback")}const ze=()=>typeof window<"u"&&typeof document<"u",is={tested:!1,writable:!1},HS=()=>{if(!ze())return!1;try{if(typeof globalThis.localStorage!="object")return!1}catch{return!1}if(is.tested)return is.writable;const e=`lswt-${Math.random()}${Math.random()}`;try{globalThis.localStorage.setItem(e,e),globalThis.localStorage.removeItem(e),is.tested=!0,is.writable=!0}catch{is.tested=!0,is.writable=!1}return is.writable};function b_(e){const t={},n=new URL(e);if(n.hash&&n.hash[0]==="#")try{new URLSearchParams(n.hash.substring(1)).forEac
44h((s,i)=>{t[i]=s})}catch{}return n.searchParams.forEach((r,s)=>{t[s]=r}),t}const GS=e=>e?(...t)=>e(...t):(...t)=>fetch(...t),g_=e=>typeof e=="object"&&e!==null&&"status"in e&&"ok"in e&&"json"in e&&typeof e.json=="function",li=async(e,t,n)=>{await e.setItem(t,JSON.stringify(n))},os=async(e,t)=>{const n=await e.getItem(t);if(!n)return null;try{return JSON.parse(n)}catch{return n}},We=async(e,t)=>{await e.removeItem(t)};class Eu{constructor(){this.promise=new Eu.promiseConstructor((t,n)=>{this.resolve=t,this.reject=n})}}Eu.promiseConstructor=Promise;function xl(e){const t=e.split(".");if(t.length!==3)throw new Nh("Invalid JWT structure");for(let r=0;r<t.length;r++)if(!r_.test(t[r]))throw new Nh("JWT not in base64url format");return{header:JSON.parse(yg(t[0])),payload:JSON.parse(yg(t[1])),signature:ki(t[2]),raw:{header:t[0],payload:t[1]}}}async function y_(e){return await new Promise(t=>{setTimeout(()=>t(null),e)})}function v_(e,t){return new Promise((r,s)=>{(async()=>{for(let i=0;i<1/0;i++)try{const o=await e(i);if(!t(i,null,o)){r(o);return}}catch(o){if(!t(i,o)){s(o);return}}})()})}function w_(e){return("0"+e.toString(16)).substr(-2)}function S_(){const t=new Uint32Array(56);if(typeof crypto>"u"){const n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~",r=n.length;let s="";for(let i=0;i<56;i++)s+=n.charAt(Math.floor(Math.random()*r));return s}return crypto.getRandomValues(t),Array.from(t,w_).join("")}async function P_(e){const n=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",n),s=new Uint8Array(r);return Array.from(s).map(i=>String.fromCharCode(i)).join("")}async function T_(e){if(!(typeof crypto<"u"&&typeof crypto.subtle<"u"&&typeof TextEncoder<"u"))return console.warn("WebCrypto API is not supported. Code challenge method will default to use plain instead of sha256."),e;const n=await P_(e);return btoa(n).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}async function ei(e,t,n=!1){const r=S_();let s=r;n&&(s+="/PASSWORD_RECOVERY"),await li(e,`${t}-code-verifier`,s);const i=await T_(r);return[i,r===i?"plain":"s256"]}const C_=/^2[0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-9]|3[0-1])$/i;function E_(e){const t=e.headers.get(Rh);if(!t||!t.match(C_))return null;try{return new Date(`${t}T00:00:00.0Z`)}catch{return null}}function A_(e){if(!e)throw new Error("Missing exp claim");const t=Math.floor(Date.now()/1e3);if(e<=t)throw new Error("JWT has expired")}function x_(e){switch(e){case"RS256":return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case"ES256":return{name:"ECDSA",namedCurve:"P-256",hash:{name:"SHA-256"}};default:throw new Error("Invalid alg claim")}}const k_=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;function ti(e){if(!k_.test(e))throw new Error("@supabase/auth-js: Expected parameter to be UUID but is not")}function fd(){const e={};return new Proxy(e,{get:(t,n)=>{if(n==="__isUserNotAvailableProxy")return!0;if(typeof n=="symbol"){const r=n.toString();if(r==="Symbol(Symbol.toPrimitive)"||r==="Symbol(Symbol.toStringTag)"||r==="Symbol(util.inspect.custom)")return}throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Accessing the "${n}" property of the session object is not supported. Please use getUser() instead.`)},set:(t,n)=>{throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Setting the "${n}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`)},deleteProperty:(t,n)=>{throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Deleting the "${n}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`)}})}function __(e,t){return new Proxy(e,{get:(n,r,s)=>{if(r==="__isInsecureUserWarningProxy")return!0;if(typeof r=="symbol"){const i=r.toString();if(i==="Symbol(Symbol.toPrimitive)"||i==="Symbol(Symbol.toStringTag)"||i==="Symbol(util.inspect.custom)"||i==="Symbol(nodejs.util.inspect.custom)")return Reflect.get(n,r,s)}return!t.value&&typeof r=="string"&&(console.warn("Using the user object as returned from supabase.auth.getSession() or from some supabase.auth.onAuthStateChange() events could be insecure! This value comes directly from the storage medium (usually cookies on the server) and may not be authentic. Use supabase.auth.getUser() instead which authenticates the data by contacting the Supabase Auth server."),t.value=!0),Reflect.get(n,r,s)}})}function vg(e){return JSON.parse(JSON.stringify(e))}const cs=e=>e.msg||e.message||e.error_description||e.error||JSON.stringify(e),R_=[502,503,504];async function wg(e){var t;if(!g_(e))throw new Dh(cs(e),0);if(R_.includes(e.status))throw new Dh(cs(e),e.status);let n;try{n=await e.json()}catch(i){throw new ps(cs(i),i)}let r;const s=E_(e);if(s&&s.getTime()>=zS["2024-01-01"].timestamp&&typeof n=="object"&&n&&typeof n.code=="string"?r=n.code:typeof n=="object"&&n&&typeof n.error_code=="string"&&(r=n.error_code),r){if(r==="weak_password")throw new mg(cs(n),e.status,((t=n.weak_password)===null||t===void 0?void 0:t.reasons)||[]);if(r==="session_not_found")throw new Tt}else if(typeof n=="object"&&n&&typeof n.weak_password=="object"&&n.weak_password&&Array.isArray(n.weak_password.reasons)&&n.weak_password.reasons.length&&n.weak_password.reasons.reduce((i,o)=>
44i&&typeof o=="string",!0))throw new mg(cs(n),e.status,n.weak_password.reasons);throw new i_(cs(n),e.status||500,r)}const D_=(e,t,n,r)=>{const s={method:e,headers:(t==null?void 0:t.headers)||{}};return e==="GET"?s:(s.headers=Object.assign({"Content-Type":"application/json;charset=UTF-8"},t==null?void 0:t.headers),s.body=JSON.stringify(r),Object.assign(Object.assign({},s),n))};async function K(e,t,n,r){var s;const i=Object.assign({},r==null?void 0:r.headers);i[Rh]||(i[Rh]=zS["2024-01-01"].name),r!=null&&r.jwt&&(i.Authorization=`Bearer ${r.jwt}`);const o=(s=r==null?void 0:r.query)!==null&&s!==void 0?s:{};r!=null&&r.redirectTo&&(o.redirect_to=r.redirectTo);const a=Object.keys(o).length?"?"+new URLSearchParams(o).toString():"",l=await N_(e,t,n+a,{headers:i,noResolveJson:r==null?void 0:r.noResolveJson},{},r==null?void 0:r.body);return r!=null&&r.xform?r==null?void 0:r.xform(l):{data:Object.assign({},l),error:null}}async function N_(e,t,n,r,s,i){const o=D_(t,r,s,i);let a;try{a=await e(n,Object.assign({},o))}catch(l){throw console.error(l),new Dh(cs(l),0)}if(a.ok||await wg(a),r!=null&&r.noResolveJson)return a;try{return await a.json()}catch(l){await wg(l)}}function Xt(e){var t;let n=null;L_(e)&&(n=Object.assign({},e),e.expires_at||(n.expires_at=p_(e.expires_in)));const r=(t=e.user)!==null&&t!==void 0?t:e;return{data:{session:n,user:r},error:null}}function Sg(e){const t=Xt(e);return!t.error&&e.weak_password&&typeof e.weak_password=="object"&&Array.isArray(e.weak_password.reasons)&&e.weak_password.reasons.length&&e.weak_password.message&&typeof e.weak_password.message=="string"&&e.weak_password.reasons.reduce((n,r)=>n&&typeof r=="string",!0)&&(t.data.weak_password=e.weak_password),t}function yr(e){var t;return{data:{user:(t=e.user)!==null&&t!==void 0?t:e},error:null}}function I_(e){return{data:e,error:null}}function O_(e){const{action_link:t,email_otp:n,hashed_token:r,redirect_to:s,verification_type:i}=e,o=Pu(e,["action_link","email_otp","hashed_token","redirect_to","verification_type"]),a={action_link:t,email_otp:n,hashed_token:r,redirect_to:s,verification_type:i},l=Object.assign({},o);return{data:{properties:a,user:l},error:null}}function Pg(e){return e}function L_(e){return e.access_token&&e.refresh_token&&e.expires_in}const pd=["global","local","others"];class M_{constructor({url:t="",headers:n={},fetch:r}){this.url=t,this.headers=n,this.fetch=GS(r),this.mfa={listFactors:this._listFactors.bind(this),deleteFactor:this._deleteFactor.bind(this)},this.oauth={listClients:this._listOAuthClients.bind(this),createClient:this._createOAuthClient.bind(this),getClient:this._getOAuthClient.bind(this),updateClient:this._updateOAuthClient.bind(this),deleteClient:this._deleteOAuthClient.bind(this),regenerateClientSecret:this._regenerateOAuthClientSecret.bind(this)}}async signOut(t,n=pd[0]){if(pd.indexOf(n)<0)throw new Error(`@supabase/auth-js: Parameter scope must be one of ${pd.join(", ")}`);try{return await K(this.fetch,"POST",`${this.url}/logout?scope=${n}`,{headers:this.headers,jwt:t,noResolveJson:!0}),{data:null,error:null}}catch(r){if(z(r))return{data:null,error:r};throw r}}async inviteUserByEmail(t,n={}){try{return await K(this.fetch,"POST",`${this.url}/invite`,{body:{email:t,data:n.data},headers:this.headers,redirectTo:n.redirectTo,xform:yr})}catch(r){if(z(r))return{data:{user:null},error:r};throw r}}async generateLink(t){try{const{options:n}=t,r=Pu(t,["options"]),s=Object.assign(Object.assign({},r),n);return"newEmail"in r&&(s.new_email=r==null?void 0:r.newEmail,delete s.newEmail),await K(this.fetch,"POST",`${this.url}/admin/generate_link`,{body:s,headers:this.headers,xform:O_,redirectTo:n==null?void 0:n.redirectTo})}catch(n){if(z(n))return{data:{properties:null,user:null},error:n};throw n}}async createUser(t){try{return await K(this.fetch,"POST",`${this.url}/admin/users`,{body:t,headers:this.headers,xform:yr})}catch(n){if(z(n))return{data:{user:null},error:n};throw n}}async listUsers(t){var n,r,s,i,o,a,l;try{const c={nextPage:null,lastPage:0,total:0},u=await K(this.fetch,"GET",`${this.url}/admin/users`,{headers:this.headers,noResolveJson:!0,query:{page:(r=(n=t==null?void 0:t.page)===null||n===void 0?void 0:n.toString())!==null&&r!==void 0?r:"",per_page:(i=(s=t==null?void 0:t.perPage)===null||s===void 0?void 0:s.toString())!==null&&i!==void 0?i:""},xform:Pg});if(u.error)throw u.error;const d=await u.json(),h=(o=u.headers.get("x-total-count"))!==null&&o!==void 0?o:0,f=(l=(a=u.headers.get("link"))===null||a===void 0?void 0:a.split(","))!==null&&l!==void 0?l:[];return f.length>0&&(f.forEach(m=>{const b=parseInt(m.split(";")[0].split("=")[1].substring(0,1)),w=JSON.parse(m.split(";")[1].split("=")[1]);c[`${w}Page`]=b}),c.total=parseInt(h)),{data:Object.assign(Object.assign({},d),c),error:null}}catch(c){if(z(c))return{data:{users:[]},error:c};throw c}}async getUserById(t){ti(t);try{return await K(this.fetch,"GET",`${this.url}/admin/users/${t}`,{headers:this.headers,xform:yr})}catch(n){if(z(n))return{data:{user:null},error:n};throw n}}async updateUserById(t,n){ti(t);try{return await K(this.fetch,"PUT",`${this.url}/admin/users/${t}`,{body:n,headers:this.headers,xform:yr})}catch(r){if(z(r))return{data:{user:null},error:r};throw r}}async deleteUser(t,n=!1){ti(t);
44try{return await K(this.fetch,"DELETE",`${this.url}/admin/users/${t}`,{headers:this.headers,body:{should_soft_delete:n},xform:yr})}catch(r){if(z(r))return{data:{user:null},error:r};throw r}}async _listFactors(t){ti(t.userId);try{const{data:n,error:r}=await K(this.fetch,"GET",`${this.url}/admin/users/${t.userId}/factors`,{headers:this.headers,xform:s=>({data:{factors:s},error:null})});return{data:n,error:r}}catch(n){if(z(n))return{data:null,error:n};throw n}}async _deleteFactor(t){ti(t.userId),ti(t.id);try{return{data:await K(this.fetch,"DELETE",`${this.url}/admin/users/${t.userId}/factors/${t.id}`,{headers:this.headers}),error:null}}catch(n){if(z(n))return{data:null,error:n};throw n}}async _listOAuthClients(t){var n,r,s,i,o,a,l;try{const c={nextPage:null,lastPage:0,total:0},u=await K(this.fetch,"GET",`${this.url}/admin/oauth/clients`,{headers:this.headers,noResolveJson:!0,query:{page:(r=(n=t==null?void 0:t.page)===null||n===void 0?void 0:n.toString())!==null&&r!==void 0?r:"",per_page:(i=(s=t==null?void 0:t.perPage)===null||s===void 0?void 0:s.toString())!==null&&i!==void 0?i:""},xform:Pg});if(u.error)throw u.error;const d=await u.json(),h=(o=u.headers.get("x-total-count"))!==null&&o!==void 0?o:0,f=(l=(a=u.headers.get("link"))===null||a===void 0?void 0:a.split(","))!==null&&l!==void 0?l:[];return f.length>0&&(f.forEach(m=>{const b=parseInt(m.split(";")[0].split("=")[1].substring(0,1)),w=JSON.parse(m.split(";")[1].split("=")[1]);c[`${w}Page`]=b}),c.total=parseInt(h)),{data:Object.assign(Object.assign({},d),c),error:null}}catch(c){if(z(c))return{data:{clients:[]},error:c};throw c}}async _createOAuthClient(t){try{return await K(this.fetch,"POST",`${this.url}/admin/oauth/clients`,{body:t,headers:this.headers,xform:n=>({data:n,error:null})})}catch(n){if(z(n))return{data:null,error:n};throw n}}async _getOAuthClient(t){try{return await K(this.fetch,"GET",`${this.url}/admin/oauth/clients/${t}`,{headers:this.headers,xform:n=>({data:n,error:null})})}catch(n){if(z(n))return{data:null,error:n};throw n}}async _updateOAuthClient(t,n){try{return await K(this.fetch,"PUT",`${this.url}/admin/oauth/clients/${t}`,{body:n,headers:this.headers,xform:r=>({data:r,error:null})})}catch(r){if(z(r))return{data:null,error:r};throw r}}async _deleteOAuthClient(t){try{return await K(this.fetch,"DELETE",`${this.url}/admin/oauth/clients/${t}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(n){if(z(n))return{data:null,error:n};throw n}}async _regenerateOAuthClientSecret(t){try{return await K(this.fetch,"POST",`${this.url}/admin/oauth/clients/${t}/regenerate_secret`,{headers:this.headers,xform:n=>({data:n,error:null})})}catch(n){if(z(n))return{data:null,error:n};throw n}}}function Tg(e={}){return{getItem:t=>e[t]||null,setItem:(t,n)=>{e[t]=n},removeItem:t=>{delete e[t]}}}const ni={debug:!!(globalThis&&HS()&&globalThis.localStorage&&globalThis.localStorage.getItem("supabase.gotrue-js.locks.debug")==="true")};class KS extends Error{constructor(t){super(t),this.isAcquireTimeout=!0}}class Cg extends KS{}async function F_(e,t,n){ni.debug&&console.log("@supabase/gotrue-js: navigatorLock: acquire lock",e,t);const r=new globalThis.AbortController;t>0&&setTimeout(()=>{r.abort(),ni.debug&&console.log("@supabase/gotrue-js: navigatorLock acquire timed out",e)},t),await Promise.resolve();try{return await globalThis.navigator.locks.request(e,t===0?{mode:"exclusive",ifAvailable:!0}:{mode:"exclusive",signal:r.signal},async s=>{if(s){ni.debug&&console.log("@supabase/gotrue-js: navigatorLock: acquired",e,s.name);try{return await n()}finally{ni.debug&&console.log("@supabase/gotrue-js: navigatorLock: released",e,s.name)}}else{if(t===0)throw ni.debug&&console.log("@supabase/gotrue-js: navigatorLock: not immediately available",e),new Cg(`Acquiring an exclusive Navigator LockManager lock "${e}" immediately failed`);if(ni.debug)try{const i=await globalThis.navigator.locks.query();console.log("@supabase/gotrue-js: Navigator LockManager state",JSON.stringify(i,null,"  "))}catch(i){console.warn("@supabase/gotrue-js: Error when querying Navigator LockManager state",i)}return console.warn("@supabase/gotrue-js: Navigator LockManager returned a null lock when using #request without ifAvailable set to true, it appears this browser is not following the LockManager spec https://developer.mozilla.org/en-US/docs/Web/API/LockManager/request"),await n()}})}catch(s){throw(s==null?void 0:s.name)==="AbortError"?new Cg(`Acquiring an exclusive Navigator LockManager lock "${e}" timed out waiting ${t}ms`):s}}function j_(){if(typeof globalThis!="object")try{Object.defineProperty(Object.prototype,"__magic__",{get:function(){return this},configurable:!0}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__}catch{typeof self<"u"&&(self.globalThis=self)}}function YS(e){if(!/^0x[a-fA-F0-9]{40}$/.test(e))throw new Error(`@supabase/auth-js: Address "${e}
44" is invalid.`);return e.toLowerCase()}function B_(e){return parseInt(e,16)}function U_(e){const t=new TextEncoder().encode(e);return"0x"+Array.from(t,r=>r.toString(16).padStart(2,"0")).join("")}function V_(e){var t;const{chainId:n,domain:r,expirationTime:s,issuedAt:i=new Date,nonce:o,notBefore:a,requestId:l,resources:c,scheme:u,uri:d,version:h}=e;{if(!Number.isInteger(n))throw new Error(`@supabase/auth-js: Invalid SIWE message field "chainId". Chain ID must be a EIP-155 chain ID. Provided value: ${n}`);if(!r)throw new Error('@supabase/auth-js: Invalid SIWE message field "domain". Domain must be provided.');if(o&&o.length<8)throw new Error(`@supabase/auth-js: Invalid SIWE message field "nonce". Nonce must be at least 8 characters. Provided value: ${o}`);if(!d)throw new Error('@supabase/auth-js: Invalid SIWE message field "uri". URI must be provided.');if(h!=="1")throw new Error(`@supabase/auth-js: Invalid SIWE message field "version". Version must be '1'. Provided value: ${h}`);if(!((t=e.statement)===null||t===void 0)&&t.includes(`
45`))throw new Error(`@supabase/auth-js: Invalid SIWE message field "statement". Statement must not include '\\n'. Provided value: ${e.statement}`)}const f=YS(e.address),m=u?`${u}://${r}`:r,b=e.statement?`${e.statement}
46`:"",w=`${m} wants you to sign in with your Ethereum account:
47${f}
48
49${b}`;let y=`URI: ${d}
50Version: ${h}
51Chain ID: ${n}${o?`
52Nonce: ${o}`:""}
53Issued At: ${i.toISOString()}`;if(s&&(y+=`
54Expiration Time: ${s.toISOString()}`),a&&(y+=`
55Not Before: ${a.toISOString()}`),l&&(y+=`
56Request ID: ${l}`),c){let g=`
57Resources:`;for(const v of c){if(!v||typeof v!="string")throw new Error(`@supabase/auth-js: Invalid SIWE message field "resources". Every resource must be a valid string. Provided value: ${v}`);g+=`
58- ${v}`}y+=g}return`${w}
59${y}`}class Ne extends Error{constructor({message:t,code:n,cause:r,name:s}){var i;super(t,{cause:r}),this.__isWebAuthnError=!0,this.name=(i=s??(r instanceof Error?r.name:void 0))!==null&&i!==void 0?i:"Unknown Error",this.code=n}}class Dc extends Ne{constructor(t,n){super({code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:n,message:t}),this.name="WebAuthnUnknownError",this.originalError=n}}function $_({error:e,options:t}){var n,r,s;const{publicKey:i}=t;if(!i)throw Error("options was missing required publicKey property");if(e.name==="AbortError"){if(t.signal instanceof AbortSignal)return new Ne({message:"Registration ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:e})}else if(e.name==="ConstraintError"){if(((n=i.authenticatorSelection)===null||n===void 0?void 0:n.requireResidentKey)===!0)return new Ne({message:"Discoverable credentials were required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT",cause:e});if(t.mediation==="conditional"&&((r=i.authenticatorSelection)===null||r===void 0?void 0:r.userVerification)==="required")return new Ne({message:"User verification was required during automatic registration but it could not be performed",code:"ERROR_AUTO_REGISTER_USER_VERIFICATION_FAILURE",cause:e});if(((s=i.authenticatorSelection)===null||s===void 0?void 0:s.userVerification)==="required")return new Ne({message:"User verification was required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT",cause:e})}else{if(e.name==="InvalidStateError")return new Ne({message:"The authenticator was previously registered",code:"ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED",cause:e});if(e.name==="NotAllowedError")return new Ne({message:e.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e});if(e.name==="NotSupportedError")return i.pubKeyCredParams.filter(a=>a.type==="public-key").length===0?new Ne({message:'No entry in pubKeyCredParams was of type "public-key"',code:"ERROR_MALFORMED_PUBKEYCREDPARAMS",cause:e}):new Ne({message:"No available authenticator supported any of the specified pubKeyCredParams algorithms",code:"ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG",cause:e});if(e.name==="SecurityError"){const o=window.location.hostname;if(QS(o)){if(i.rp.id!==o)return new Ne({message:`The RP ID "${i.rp.id}
59" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:e})}else return new Ne({message:`${window.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:e})}else if(e.name==="TypeError"){if(i.user.id.byteLength<1||i.user.id.byteLength>64)return new Ne({message:"User ID was not between 1 and 64 characters",code:"ERROR_INVALID_USER_ID_LENGTH",cause:e})}else if(e.name==="UnknownError")return new Ne({message:"The authenticator was unable to process the specified options, or could not create a new credential",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:e})}return new Ne({message:"a Non-Webauthn related error has occurred",code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e})}function W_({error:e,options:t}){const{publicKey:n}=t;if(!n)throw Error("options was missing required publicKey property");if(e.name==="AbortError"){if(t.signal instanceof AbortSignal)return new Ne({message:"Authentication ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:e})}else{if(e.name==="NotAllowedError")return new Ne({message:e.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e});if(e.name==="SecurityError"){const r=window.location.hostname;if(QS(r)){if(n.rpId!==r)return new Ne({message:`The RP ID "${n.rpId}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:e})}else return new Ne({message:`${window.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:e})}else if(e.name==="UnknownError")return new Ne({message:"The authenticator was unable to process the specified options, or could not create a new assertion signature",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:e})}return new Ne({message:"a Non-Webauthn related error has occurred",code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e})}class z_{createNewAbortSignal(){if(this.controller){const n=new Error("Cancelling existing WebAuthn API call for new one");n.name="AbortError",this.controller.abort(n)}const t=new AbortController;return this.controller=t,t.signal}cancelCeremony(){if(this.controller){const t=new Error("Manually cancelling existing WebAuthn API call");t.name="AbortError",this.controller.abort(t),this.controller=void 0}}}const q_=new z_;function H_(e){if(!e)throw new Error("Credential creation options are required");if(typeof PublicKeyCredential<"u"&&"parseCreationOptionsFromJSON"in PublicKeyCredential&&typeof PublicKeyCredential.parseCreationOptionsFromJSON=="function")return PublicKeyCredential.parseCreationOptionsFromJSON(e);const{challenge:t,user:n,excludeCredentials:r}=e,s=Pu(e,["challenge","user","excludeCredentials"]),i=ki(t).buffer,o=Object.assign(Object.assign({},n),{id:ki(n.id).buffer}),a=Object.assign(Object.assign({},s),{challenge:i,user:o});if(r&&r.length>0){a.excludeCredentials=new Array(r.length);for(let l=0;l<r.length;l++){const c=r[l];a.excludeCredentials[l]=Object.assign(Object.assign({},c),{id:ki(c.id).buffer,type:c.type||"public-key",transports:c.transports})}}return a}function G_(e){if(!e)throw new Error("Credential request options are required");if(typeof PublicKeyCredential<"u"&&"parseRequestOptionsFromJSON"in PublicKeyCredential&&typeof PublicKeyCredential.parseRequestOptionsFromJSON=="function")return PublicKeyCredential.parseRequestOptionsFromJSON(e);const{challenge:t,allowCredentials:n}=e,r=Pu(e,["challenge","allowCredentials"]),s=ki(t).buffer,i=Object.assign(Object.assign({},r),{challenge:s});if(n&&n.length>0){i.allowCredentials=new Array(n.length);for(let o=0;o<n.length;o++){const a=n[o];i.allowCredentials[o]=Object.assign(Object.assign({},a),{id:ki(a.id).buffer,type:a.type||"public-key",transports:a.transports})}}return i}function K_(e){var t;if("toJSON"in e&&typeof e.toJSON=="function")return e.toJSON();const n=e;return{id:e.id,rawId:e.id,response:{attestationObject:ms(new Uint8Array(e.response.attestationObject)),clientDataJSON:ms(new Uint8Array(e.response.clientDataJSON))},type:"public-key",clientExtensionResults:e.getClientExtensionResults(),authenticatorAttachment:(t=n.authenticatorAttachment)!==null&&t!==void 0?t:void 0}}function Y_(e){var t;if("toJSON"in e&&typeof e.toJSON=="function")return e.toJSON();const n=e,r=e.getClientExtensionResults(),s=e.response;return{id:e.id,rawId:e.id,response:{authenticatorData:ms(new Uint8Array(s.authenticatorData)),clientDataJSON:ms(new Uint8Array(s.clientDataJSON)),signature:ms(new Uint8Array(s.signature)),userHandle:s.userHandle?ms(new Uint8Array(s.userHandle)):void 0},type:"public-key",clientExtensionResults:r,authenticatorAttachment:(t=n.authenticatorAttachment)!==null&&t!==void 0?t:void 0}}function QS(e){return e==="localhost"||/^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$/i.test(e)}function Eg(){var e,t;return!!(ze()&&"PublicKeyCredential"in window&&window.PublicKeyCredential&&"credentials"in navigator&&typeof((e=navigator==null?void 0:navigator.credentials)===null||e===void 0?void 0:e.create)=="function"&&typeof((t=navigator==null?void 0:navigator.credentials)===null||t===void 0?void 0:t.get)=="function")}async function Q_(e){try{const t=await navigator.credentials.create(e);return t?t instanceof PublicKeyCredential?{data:t,error:null}:{data:null,error:new Dc("Browser returned unexpected credential type",t)}:{data:null,error:new Dc("Empty credential response",t)}}
59catch(t){return{data:null,error:$_({error:t,options:e})}}}async function J_(e){try{const t=await navigator.credentials.get(e);return t?t instanceof PublicKeyCredential?{data:t,error:null}:{data:null,error:new Dc("Browser returned unexpected credential type",t)}:{data:null,error:new Dc("Empty credential response",t)}}catch(t){return{data:null,error:W_({error:t,options:e})}}}const X_={hints:["security-key"],authenticatorSelection:{authenticatorAttachment:"cross-platform",requireResidentKey:!1,userVerification:"preferred",residentKey:"discouraged"},attestation:"direct"},Z_={userVerification:"preferred",hints:["security-key"],attestation:"direct"};function Nc(...e){const t=s=>s!==null&&typeof s=="object"&&!Array.isArray(s),n=s=>s instanceof ArrayBuffer||ArrayBuffer.isView(s),r={};for(const s of e)if(s)for(const i in s){const o=s[i];if(o!==void 0)if(Array.isArray(o))r[i]=o;else if(n(o))r[i]=o;else if(t(o)){const a=r[i];t(a)?r[i]=Nc(a,o):r[i]=Nc(o)}else r[i]=o}return r}function eR(e,t){return Nc(X_,e,t||{})}function tR(e,t){return Nc(Z_,e,t||{})}class nR{constructor(t){this.client=t,this.enroll=this._enroll.bind(this),this.challenge=this._challenge.bind(this),this.verify=this._verify.bind(this),this.authenticate=this._authenticate.bind(this),this.register=this._register.bind(this)}async _enroll(t){return this.client.mfa.enroll(Object.assign(Object.assign({},t),{factorType:"webauthn"}))}async _challenge({factorId:t,webauthn:n,friendlyName:r,signal:s},i){var o;try{const{data:a,error:l}=await this.client.mfa.challenge({factorId:t,webauthn:n});if(!a)return{data:null,error:l};const c=s??q_.createNewAbortSignal();if(a.webauthn.type==="create"){const{user:u}=a.webauthn.credential_options.publicKey;if(!u.name){const d=r;if(d)u.name=`${u.id}:${d}`;else{const f=(await this.client.getUser()).data.user,m=((o=f==null?void 0:f.user_metadata)===null||o===void 0?void 0:o.name)||(f==null?void 0:f.email)||(f==null?void 0:f.id)||"User";u.name=`${u.id}:${m}`}}u.displayName||(u.displayName=u.name)}switch(a.webauthn.type){case"create":{const u=eR(a.webauthn.credential_options.publicKey,i==null?void 0:i.create),{data:d,error:h}=await Q_({publicKey:u,signal:c});return d?{data:{factorId:t,challengeId:a.id,webauthn:{type:a.webauthn.type,credential_response:d}},error:null}:{data:null,error:h}}case"request":{const u=tR(a.webauthn.credential_options.publicKey,i==null?void 0:i.request),{data:d,error:h}=await J_(Object.assign(Object.assign({},a.webauthn.credential_options),{publicKey:u,signal:c}));return d?{data:{factorId:t,challengeId:a.id,webauthn:{type:a.webauthn.type,credential_response:d}},error:null}:{data:null,error:h}}}}catch(a){return z(a)?{data:null,error:a}:{data:null,error:new ps("Unexpected error in challenge",a)}}}async _verify({challengeId:t,factorId:n,webauthn:r}){return this.client.mfa.verify({factorId:n,challengeId:t,webauthn:r})}async _authenticate({factorId:t,webauthn:{rpId:n=typeof window<"u"?window.location.hostname:void 0,rpOrigins:r=typeof window<"u"?[window.location.origin]:void 0,signal:s}={}},i){if(!n)return{data:null,error:new ga("rpId is required for WebAuthn authentication")};try{if(!Eg())return{data:null,error:new ps("Browser does not support WebAuthn",null)};const{data:o,error:a}=await this.challenge({factorId:t,webauthn:{rpId:n,rpOrigins:r},signal:s},{request:i});if(!o)return{data:null,error:a};const{webauthn:l}=o;return this._verify({factorId:t,challengeId:o.challengeId,webauthn:{type:l.type,rpId:n,rpOrigins:r,credential_response:l.credential_response}})}catch(o){return z(o)?{data:null,error:o}:{data:null,error:new ps("Unexpected error in authenticate",o)}}}async _register({friendlyName:t,webauthn:{rpId:n=typeof window<"u"?window.location.hostname:void 0,rpOrigins:r=typeof window<"u"?[window.location.origin]:void 0,signal:s}={}},i){if(!n)return{data:null,error:new ga("rpId is required for WebAuthn registration")};try{if(!Eg())return{data:null,error:new ps("Browser does not support WebAuthn",null)};const{data:o,error:a}=await this._enroll({friendlyName:t});if(!o)return await this.client.mfa.listFactors().then(u=>{var d;return(d=u.data)===null||d===void 0?void 0:d.all.find(h=>h.factor_type==="webauthn"&&h.friendly_name===t&&h.status!=="unverified")}).then(u=>u?this.client.mfa.unenroll({factorId:u==null?void 0:u.id}):void 0),{data:null,error:a};const{data:l,error:c}=await this._challenge({factorId:o.id,friendlyName:o.friendly_name,webauthn:{rpId:n,rpOrigins:r},signal:s},{create:i});return l?this._verify({factorId:o.id,challengeId:l.challengeId,webauthn:{rpId:n,rpOrigins:r,type:l.webauthn.type,credential_response:l.webauthn.credential_response}}):{data:null,error:c}}catch(o){return z(o)?{data:null,error:o}:{data:null,error:new ps("Unexpected error in register",o)}}}}j_();const rR={url:e_,storageKey:t_,autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,headers:n_,flowType:"implicit",debug:!1,hasCustomAuthorizationHeader:!1,throwOnError:!1,lockAcquireTimeout:1e4,skipAutoInitialize:!1};async function Ag(e,t,n){return await n()}const ri={};class ya{get jwks(){var t,n;return(n=(t=ri[this.storageKey])===null||t===void 0?void 0:t.jwks)!==null&&n!==void 0?n:{keys:[]}}set jwks(t){ri[this.storageKey]=Object.assign(Object.assign({},ri[this.storageKey]),{jwks:t})}get jwks_cached_at(){var t,n;return(n=(t=ri[this.storageKey])===null||t===void 0?void 0:t.cachedAt)!==null&&n!==void 0?n:Number.MIN_SAFE_INTEGER}set jwks_cached_at(t){ri[this.storageKey]=Object.assign(Object.assign({},ri[this.storageKey]),{cachedAt:t})}constructor(t){var n,r,s;this.userStorage=null,this.memoryStorage=null,this.stateChangeEmitters=new Map,this.autoRefreshTicker=null,this.autoRefreshTickTimeout=null,this.visibilityChangedCallback=null,this.refreshingDeferred=null,this.initializePromise=null,this.detectSessionInUrl=!0,this.hasCustomAuthorizationHeader=!1,this.suppressGetSessionWarning=!1,this.lockAcquired=!1,this.pendingInLock=[],this.broadcastChannel=null,this.logger=console.log;const i=Object.assign(Object.assign({},rR),t);
59if(this.storageKey=i.storageKey,this.instanceID=(n=ya.nextInstanceID[this.storageKey])!==null&&n!==void 0?n:0,ya.nextInstanceID[this.storageKey]=this.instanceID+1,this.logDebugMessages=!!i.debug,typeof i.debug=="function"&&(this.logger=i.debug),this.instanceID>0&&ze()){const o=`${this._logPrefix()} Multiple GoTrueClient instances detected in the same browser context. It is not an error, but this should be avoided as it may produce undefined behavior when used concurrently under the same storage key.`;console.warn(o),this.logDebugMessages&&console.trace(o)}if(this.persistSession=i.persistSession,this.autoRefreshToken=i.autoRefreshToken,this.admin=new M_({url:i.url,headers:i.headers,fetch:i.fetch}),this.url=i.url,this.headers=i.headers,this.fetch=GS(i.fetch),this.lock=i.lock||Ag,this.detectSessionInUrl=i.detectSessionInUrl,this.flowType=i.flowType,this.hasCustomAuthorizationHeader=i.hasCustomAuthorizationHeader,this.throwOnError=i.throwOnError,this.lockAcquireTimeout=i.lockAcquireTimeout,i.lock?this.lock=i.lock:this.persistSession&&ze()&&(!((r=globalThis==null?void 0:globalThis.navigator)===null||r===void 0)&&r.locks)?this.lock=F_:this.lock=Ag,this.jwks||(this.jwks={keys:[]},this.jwks_cached_at=Number.MIN_SAFE_INTEGER),this.mfa={verify:this._verify.bind(this),enroll:this._enroll.bind(this),unenroll:this._unenroll.bind(this),challenge:this._challenge.bind(this),listFactors:this._listFactors.bind(this),challengeAndVerify:this._challengeAndVerify.bind(this),getAuthenticatorAssuranceLevel:this._getAuthenticatorAssuranceLevel.bind(this),webauthn:new nR(this)},this.oauth={getAuthorizationDetails:this._getAuthorizationDetails.bind(this),approveAuthorization:this._approveAuthorization.bind(this),denyAuthorization:this._denyAuthorization.bind(this),listGrants:this._listOAuthGrants.bind(this),revokeGrant:this._revokeOAuthGrant.bind(this)},this.persistSession?(i.storage?this.storage=i.storage:HS()?this.storage=globalThis.localStorage:(this.memoryStorage={},this.storage=Tg(this.memoryStorage)),i.userStorage&&(this.userStorage=i.userStorage)):(this.memoryStorage={},this.storage=Tg(this.memoryStorage)),ze()&&globalThis.BroadcastChannel&&this.persistSession&&this.storageKey){try{this.broadcastChannel=new globalThis.BroadcastChannel(this.storageKey)}catch(o){console.error("Failed to create a new BroadcastChannel, multi-tab state changes will not be available",o)}(s=this.broadcastChannel)===null||s===void 0||s.addEventListener("message",async o=>{this._debug("received broadcast notification from other tab or client",o);try{await this._notifyAllSubscribers(o.data.event,o.data.session,!1)}catch(a){this._debug("#broadcastChannel","error",a)}})}i.skipAutoInitialize||this.initialize().catch(o=>{this._debug("#initialize()","error",o)})}isThrowOnErrorEnabled(){return this.throwOnError}_returnResult(t){if(this.throwOnError&&t&&t.error)throw t.error;return t}_logPrefix(){return`GoTrueClient@${this.storageKey}:${this.instanceID} (${WS}) ${new Date().toISOString()}`}_debug(...t){return this.logDebugMessages&&this.logger(this._logPrefix(),...t),this}async initialize(){return this.initializePromise?await this.initializePromise:(this.initializePromise=(async()=>await this._acquireLock(this.lockAcquireTimeout,async()=>await this._initialize()))(),await this.initializePromise)}async _initialize(){var t;try{let n={},r="none";if(ze()&&(n=b_(window.location.href),this._isImplicitGrantCallback(n)?r="implicit":await this._isPKCECallback(n)&&(r="pkce")),ze()&&this.detectSessionInUrl&&r!=="none"){const{data:s,error:i}=await this._getSessionFromURL(n,r);if(i){if(this._debug("#_initialize()","error detecting session from URL",i),a_(i)){const l=(t=i.details)===null||t===void 0?void 0:t.code;if(l==="identity_already_exists"||l==="identity_not_found"||l==="single_identity_not_deletable")return{error:i}}return{error:i}}const{session:o,redirectType:a}=s;return this._debug("#_initialize()","detected session in URL",o,"redirect type",a),await this._saveSession(o),setTimeout(async()=>{a==="recovery"?await this._notifyAllSubscribers("PASSWORD_RECOVERY",o):await this._notifyAllSubscribers("SIGNED_IN",o)},0),{error:null}}return await this._recoverAndRefresh(),{error:null}}catch(n){return z(n)?this._returnResult({error:n}):this._returnResult({error:new ps("Unexpected error during initialization",n)})}finally{await this._handleVisibilityChange(),this._debug("#_initialize()","end")}}async signInAnonymously(t){var n,r,s;try{const i=await K(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{data:(r=(n=t==null?void 0:t.options)===null||n===void 0?void 0:n.data)!==null&&r!==void 0?r:{},gotrue_meta_security:{captcha_token:(s=t==null?void 0:t.options)===null||s===void 0?void 0:s.captchaToken}},xform:Xt}),{data:o,error:a}=i;if(a||!o)return this._returnResult({data:{user:null,session:null},error:a});const l=o.session,c=o.user;return o.session&&(await this._saveSession(o.session),await this._notifyAllSubscribers("SIGNED_IN",l)),this._returnResult({data:{user:c,session:l},error:null})}catch(i){if(z(i))return this._returnResult({data:{user:null,session:null},error:i});throw i}}async signUp(t){var n,r,s;try{let i;if("email"in t){const{email:u,password:d,options:h}=t;let f=null,m=null;this.flowType==="pkce"&&([f,m]=await ei(this.storage,this.storageKey)),i=await K(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,redirectTo:h==null?void 0:h.emailRedirectTo,body:{email:u,password:d,data:(n=h==null?void 0:h.data)!==null&&n!==void 0?n:{},gotrue_meta_security:{captcha_token:h==null?void 0:h.captchaToken},code_challenge:f,code_challenge_method:m},xform:Xt})}else if("phone"in t){const{phone:u,password:d,options:h}=t;i=await K(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{phone:u,password:d,data:(r=h==null?void 0:h.data)!==null&&r!==void 0?r:{},channel:(s=h==null?void 0:h.channel)!==null&&s!==void 0?s:"sms",gotrue_meta_security:{captcha_token:h==null?void 0:h.captchaToken}},xform:Xt})}else throw new El("You must provide either an email or phone number and a password");const{data:o,error:a}=i;if(a||!o)return await We(this.storage,`${this.storageKey}-code-verifier`),this._returnResult({data:{user:null,session:null},error:a});const l=o.session,c=o.user;return o.session&&(await this._saveSession(o.session),await this._notifyAllSubscribers("SIGNED_IN",l)),this._returnResult({data:{user:c,session:l},error:null})}catch(i){if(await We(this.storage,`${this.storageKey}-code-verifier`),z(i))return this._returnResult({data:{user:null,session:null},error:i});throw i}}async signInWithPassword(t){try{let n;if("email"in t){const{email:i,password:o,options:a}=t;n=await K(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{email:i,password:o,gotrue_meta_security:{captcha_token:a==null?void 0:a.captchaToken}},xform:Sg})}else if("phone"in t){const{phone:i,password:o,options:a}=t;n=await K(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{phone:i,password:o,gotrue_meta_security:{captcha_token:a==null?void 0:a.captchaToken}},xform:Sg})}else throw new El("You must provide either an email or phone number and a password");const{data:r,error:s}=n;if(s)return this._returnResult({data:{user:null,session:null},error:s});if(!r||!r.session||!r.user){const i=new Zs;return this._returnResult({data:{user:null,session:null},error:i})}return r.session&&(await this._saveSession(r.session),await this._notifyAllSubscribers("SIGNED_IN",r.session)),this._returnResult({data:Object.assign({user:r.user,session:r.session},r.weak_password?{weakPassword:r.weak_password}:null),error:s})}catch(n){if(z(n))return this._returnResult({data:{user:null,session:null},error:n});throw n}}async signInWithOAuth(t){var n,r,s,i;return await this._handleProviderSignIn(t.provider,{redirectTo:(n=t.options)===null||n===void 0?void 0:n.redirectTo,scopes:(r=t.options)===null||r===void 0?void 0:r.scopes,queryParams:(s=t.options)===null||s===void 0?void 0:s.queryParams,skipBrowserRedirect:(i=t.options)===null||i===void 0?void 0:i.skipBrowserRedirect})}async exchangeCodeForSession(t){return await this.initializePromise,this._acquireLock(this.lockAcquireTimeout,async()=>this._exchangeCodeForSession(t))}async signInWithWeb3(t){const{chain:n}=t;switch(n){case"ethereum":return await this.signInWithEthereum(t);case"solana":return await this.signInWithSolana(t);default:throw new Error(`@supabase/auth-js: Unsupported chain "${n}"`)}}async signInWithEthereum(t){var n,r,s,i,o,a,l,c,u,d,h;let f,m;if("message"in t)f=t.message,m=t.signature;else{const{chain:b,wallet:w,statement:y,options:g}=t;let v;if(ze())if(typeof w=="object")v=w;
59else{const k=window;if("ethereum"in k&&typeof k.ethereum=="object"&&"request"in k.ethereum&&typeof k.ethereum.request=="function")v=k.ethereum;else throw new Error("@supabase/auth-js: No compatible Ethereum wallet interface on the window object (window.ethereum) detected. Make sure the user already has a wallet installed and connected for this app. Prefer passing the wallet interface object directly to signInWithWeb3({ chain: 'ethereum', wallet: resolvedUserWallet }) instead.")}else{if(typeof w!="object"||!(g!=null&&g.url))throw new Error("@supabase/auth-js: Both wallet and url must be specified in non-browser environments.");v=w}const P=new URL((n=g==null?void 0:g.url)!==null&&n!==void 0?n:window.location.href),T=await v.request({method:"eth_requestAccounts"}).then(k=>k).catch(()=>{throw new Error("@supabase/auth-js: Wallet method eth_requestAccounts is missing or invalid")});if(!T||T.length===0)throw new Error("@supabase/auth-js: No accounts available. Please ensure the wallet is connected.");const C=YS(T[0]);let A=(r=g==null?void 0:g.signInWithEthereum)===null||r===void 0?void 0:r.chainId;if(!A){const k=await v.request({method:"eth_chainId"});A=B_(k)}const x={domain:P.host,address:C,statement:y,uri:P.href,version:"1",chainId:A,nonce:(s=g==null?void 0:g.signInWithEthereum)===null||s===void 0?void 0:s.nonce,issuedAt:(o=(i=g==null?void 0:g.signInWithEthereum)===null||i===void 0?void 0:i.issuedAt)!==null&&o!==void 0?o:new Date,expirationTime:(a=g==null?void 0:g.signInWithEthereum)===null||a===void 0?void 0:a.expirationTime,notBefore:(l=g==null?void 0:g.signInWithEthereum)===null||l===void 0?void 0:l.notBefore,requestId:(c=g==null?void 0:g.signInWithEthereum)===null||c===void 0?void 0:c.requestId,resources:(u=g==null?void 0:g.signInWithEthereum)===null||u===void 0?void 0:u.resources};f=V_(x),m=await v.request({method:"personal_sign",params:[U_(f),C]})}try{const{data:b,error:w}=await K(this.fetch,"POST",`${this.url}/token?grant_type=web3`,{headers:this.headers,body:Object.assign({chain:"ethereum",message:f,signature:m},!((d=t.options)===null||d===void 0)&&d.captchaToken?{gotrue_meta_security:{captcha_token:(h=t.options)===null||h===void 0?void 0:h.captchaToken}}:null),xform:Xt});if(w)throw w;if(!b||!b.session||!b.user){const y=new Zs;return this._returnResult({data:{user:null,session:null},error:y})}return b.session&&(await this._saveSession(b.session),await this._notifyAllSubscribers("SIGNED_IN",b.session)),this._returnResult({data:Object.assign({},b),error:w})}catch(b){if(z(b))return this._returnResult({data:{user:null,session:null},error:b});throw b}}async signInWithSolana(t){var n,r,s,i,o,a,l,c,u,d,h,f;let m,b;if("message"in t)m=t.message,b=t.signature;else{const{chain:w,wallet:y,statement:g,options:v}=t;let P;if(ze())if(typeof y=="object")P=y;else{const C=window;if("solana"in C&&typeof C.solana=="object"&&("signIn"in C.solana&&typeof C.solana.signIn=="function"||"signMessage"in C.solana&&typeof C.solana.signMessage=="function"))P=C.solana;else throw new Error("@supabase/auth-js: No compatible Solana wallet interface on the window object (window.solana) detected. Make sure the user already has a wallet installed and connected for this app. Prefer passing the wallet interface object directly to signInWithWeb3({ chain: 'solana', wallet: resolvedUserWallet }) instead.")}else{if(typeof y!="object"||!(v!=null&&v.url))throw new Error("@supabase/auth-js: Both wallet and url must be specified in non-browser environments.");P=y}const T=new URL((n=v==null?void 0:v.url)!==null&&n!==void 0?n:window.location.href);if("signIn"in P&&P.signIn){const C=await P.signIn(Object.assign(Object.assign(Object.assign({issuedAt:new Date().toISOString()},v==null?void 0:v.signInWithSolana),{version:"1",domain:T.host,uri:T.href}),g?{statement:g}:null));let A;if(Array.isArray(C)&&C[0]&&typeof C[0]=="object")A=C[0];else if(C&&typeof C=="object"&&"signedMessage"in C&&"signature"in C)A=C;else throw new Error("@supabase/auth-js: Wallet method signIn() returned unrecognized value");if("signedMessage"in A&&"signature"in A&&(typeof A.signedMessage=="string"||A.signedMessage instanceof Uint8Array)&&A.signature instanceof Uint8Array)m=typeof A.signedMessage=="string"?A.signedMessage:new TextDecoder().decode(A.signedMessage),b=A.signature;else throw new Error("@supabase/auth-js: Wallet method signIn() API returned object without signedMessage and signature fields")}else{if(!("signMessage"in P)||typeof P.signMessage!="function"||!("publicKey"in P)||typeof P!="object"||!P.publicKey||!("toBase58"in P.publicKey)||typeof P.publicKey.toBase58!="function")throw new Error("@supabase/auth-js: Wallet does not have a compatible signMessage() and publicKey.toBase58() API");m=[`${T.host} wants you to sign in with your Solana account:`,P.publicKey.toBase58(),...g?["",g,""]:[""],"Version: 1",`URI: ${T.href}`,`Issued At: ${(s=(r=v==null?void 0:v.signInWithSolana)===null||r===void 0?void 0:r.issuedAt)!==null&&s!==void 0?s:new Date().toISOString()}`,...!((i=v==null?void 0:v.signInWithSolana)===null||i===void 0)&&i.notBefore?[`Not Before: ${v.signInWithSolana.notBefore}`]:[],...!((o=v==null?void 0:v.signInWithSolana)===null||o===void 0)&&o.expirationTime?[`Expiration Time: ${v.signInWithSolana.expirationTime}`]:[],...!((a=v==null?void 0:v.signInWithSolana)===null||a===void 0)&&a.chainId?[`Chain ID: ${v.signInWithSolana.chainId}`]:[],...!((l=v==null?void 0:v.signInWithSolana)===null||l===void 0)&&l.nonce?[`Nonce: ${v.signInWithSolana.nonce}`]:[],...!((c=v==null?void 0:v.signInWithSolana)===null||c===void 0)&&c.requestId?[`Request ID: ${v.signInWithSolana.requestId}`]:[],...!((d=(u=v==null?void 0:v.signInWithSolana)===null||u===void 0?void 0:u.resources)===null||d===void 0)&&d.length?["Resources",...v.signInWithSolana.resources.map(A=>`- ${A}`)]:[]].join(`
60`);const C=await P.signMessage(new TextEncoder().encode(m),"utf8");if(!C||!(C instanceof Uint8Array))throw new Error("@supabase/auth-js: Wallet signMessage() API returned an recognized value");b=C}}try{const{data:w,error:y}=await K(this.fetch,"POST",`${this.url}/token?grant_type=web3`,{headers:this.headers,body:Object.assign({chain:"solana",message:m,signature:ms(b)}
60,!((h=t.options)===null||h===void 0)&&h.captchaToken?{gotrue_meta_security:{captcha_token:(f=t.options)===null||f===void 0?void 0:f.captchaToken}}:null),xform:Xt});if(y)throw y;if(!w||!w.session||!w.user){const g=new Zs;return this._returnResult({data:{user:null,session:null},error:g})}return w.session&&(await this._saveSession(w.session),await this._notifyAllSubscribers("SIGNED_IN",w.session)),this._returnResult({data:Object.assign({},w),error:y})}catch(w){if(z(w))return this._returnResult({data:{user:null,session:null},error:w});throw w}}async _exchangeCodeForSession(t){const n=await os(this.storage,`${this.storageKey}-code-verifier`),[r,s]=(n??"").split("/");try{if(!r&&this.flowType==="pkce")throw new l_;const{data:i,error:o}=await K(this.fetch,"POST",`${this.url}/token?grant_type=pkce`,{headers:this.headers,body:{auth_code:t,code_verifier:r},xform:Xt});if(await We(this.storage,`${this.storageKey}-code-verifier`),o)throw o;if(!i||!i.session||!i.user){const a=new Zs;return this._returnResult({data:{user:null,session:null,redirectType:null},error:a})}return i.session&&(await this._saveSession(i.session),await this._notifyAllSubscribers("SIGNED_IN",i.session)),this._returnResult({data:Object.assign(Object.assign({},i),{redirectType:s??null}),error:o})}catch(i){if(await We(this.storage,`${this.storageKey}-code-verifier`),z(i))return this._returnResult({data:{user:null,session:null,redirectType:null},error:i});throw i}}async signInWithIdToken(t){try{const{options:n,provider:r,token:s,access_token:i,nonce:o}=t,a=await K(this.fetch,"POST",`${this.url}/token?grant_type=id_token`,{headers:this.headers,body:{provider:r,id_token:s,access_token:i,nonce:o,gotrue_meta_security:{captcha_token:n==null?void 0:n.captchaToken}},xform:Xt}),{data:l,error:c}=a;if(c)return this._returnResult({data:{user:null,session:null},error:c});if(!l||!l.session||!l.user){const u=new Zs;return this._returnResult({data:{user:null,session:null},error:u})}return l.session&&(await this._saveSession(l.session),await this._notifyAllSubscribers("SIGNED_IN",l.session)),this._returnResult({data:l,error:c})}catch(n){if(z(n))return this._returnResult({data:{user:null,session:null},error:n});throw n}}async signInWithOtp(t){var n,r,s,i,o;try{if("email"in t){const{email:a,options:l}=t;let c=null,u=null;this.flowType==="pkce"&&([c,u]=await ei(this.storage,this.storageKey));const{error:d}=await K(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{email:a,data:(n=l==null?void 0:l.data)!==null&&n!==void 0?n:{},create_user:(r=l==null?void 0:l.shouldCreateUser)!==null&&r!==void 0?r:!0,gotrue_meta_security:{captcha_token:l==null?void 0:l.captchaToken},code_challenge:c,code_challenge_method:u},redirectTo:l==null?void 0:l.emailRedirectTo});return this._returnResult({data:{user:null,session:null},error:d})}if("phone"in t){const{phone:a,options:l}=t,{data:c,error:u}=await K(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{phone:a,data:(s=l==null?void 0:l.data)!==null&&s!==void 0?s:{},create_user:(i=l==null?void 0:l.shouldCreateUser)!==null&&i!==void 0?i:!0,gotrue_meta_security:{captcha_token:l==null?void 0:l.captchaToken},channel:(o=l==null?void 0:l.channel)!==null&&o!==void 0?o:"sms"}});return this._returnResult({data:{user:null,session:null,messageId:c==null?void 0:c.message_id},error:u})}throw new El("You must provide either an email or phone number.")}catch(a){if(await We(this.storage,`${this.storageKey}-code-verifier`),z(a))return this._returnResult({data:{user:null,session:null},error:a});throw a}}async verifyOtp(t){var n,r;try{let s,i;"options"in t&&(s=(n=t.options)===null||n===void 0?void 0:n.redirectTo,i=(r=t.options)===null||r===void 0?void 0:r.captchaToken);const{data:o,error:a}=await K(this.fetch,"POST",`${this.url}/verify`,{headers:this.headers,body:Object.assign(Object.assign({},t),{gotrue_meta_security:{captcha_token:i}}),redirectTo:s,xform:Xt});if(a)throw a;if(!o)throw new Error("An error occurred on token verification.");const l=o.session,c=o.user;return l!=null&&l.access_token&&(await this._saveSession(l),await this._notifyAllSubscribers(t.type=="recovery"?"PASSWORD_RECOVERY":"SIGNED_IN",l)),this._returnResult({data:{user:c,session:l},error:null})}catch(s){if(z(s))return this._returnResult({data:{user:null,session:null},error:s});throw s}}async signInWithSSO(t){var n,r,s,i,o;try{let a=null,l=null;this.flowType==="pkce"&&([a,l]=await ei(this.storage,this.storageKey));const c=await K(this.fetch,"POST",`${this.url}/sso`,{body:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},"providerId"in t?{provider_id:t.providerId}:null),"domain"in t?{domain:t.domain}:null),{redirect_to:(r=(n=t.options)===null||n===void 0?void 0:n.redirectTo)!==null&&r!==void 0?r:void 0}),!((s=t==null?void 0:t.options)===null||s===void 0)&&s.captchaToken?{gotrue_meta_security:{captcha_token:t.options.captchaToken}}:null),{skip_http_redirect:!0,code_challenge:a,code_challenge_method:l}),headers:this.headers,xform:I_});return!((i=c.data)===null||i===void 0)&&i.url&&ze()&&!(!((o=t.options)===null||o===void 0)&&o.skipBrowserRedirect)&&window.location.assign(c.data.url),this._returnResult(c)}catch(a){if(await We(this.storage,`${this.storageKey}-code-verifier`),z(a))return this._returnResult({data:null,error:a});throw a}}async reauthenticate(){return await this.initializePromise,await this._acquireLock(this.lockAcquireTimeout,async()=>await this._reauthenticate())}async _reauthenticate(){try{return await this._useSession(async t=>{const{data:{session:n},error:r}=t;if(r)throw r;if(!n)throw new Tt;const{error:s}=await K(this.fetch,"GET",`${this.url}/reauthenticate`,{headers:this.headers,jwt:n.access_token});return this._returnResult({data:{user:null,session:null},error:s})})}catch(t){if(z(t))return this._returnResult({data:{user:null,session:null},error:t});throw t}}async resend(t){try{const n=`${this.url}/resend`;if("email"in t){const{email:r,type:s,options:i}=t,{error:o}=await K(this.fetch,"POST",n,{headers:this.headers,body:{email:r,type:s,gotrue_meta_security:{captcha_token:i==null?void 0:i.captchaToken}},redirectTo:i==null?void 0:i.emailRedirectTo});return this._returnResult({data:{user:null,session:null},error:o})}else if("phone"in t){const{phone:r,type:s,options:i}=t,{data:o,error:a}=await K(this.fetch,"POST",n,{headers:this.headers,body:{phone:r,type:s,gotrue_meta_security:{captcha_token:i==null?void 0:i.captchaToken}}});return this._returnResult({data:{user:null,session:null,messageId:o==null?void 0:o.message_id},error:a})}throw new El("You must provide either an email or phone number and a type")}catch(n){if(z(n))return this._returnResult({data:{user:null,session:null},error:n});throw n}}async getSession(){return await this.initializePromise,await this._acquireLock(this.lockAcquireTimeout,async()=>this._useSession(async n=>n))}async _acquireLock(t,n){this._debug("#_acquireLock","begin",t);try{if(this.lockAcquired){const r=this.pendingInLock.length?this.pendingInLock[this.pendingInLock.length-1]:Promise.resolve(),s=(async()=>(await r,await n()))();return this.pendingInLock.push((async()=>{try{await s}catch{}})()),s}return await this.lock(`lock:${this.storageKey}`,t,async()=>{this._debug("#_acquireLock","lock acquired for storage key",this.storageKey);try{this.lockAcquired=!0;const r=n();for(this.pendingInLock.push((async()=>{try{await r}catch{}})()),await r;this.pendingInLock.length;){const s=[...this.pendingInLock];await Promise.all(s),this.pendingInLock.splice(0,s.length)}return await r}finally{this._debug("#_acquireLock","lock released for storage key",this.storageKey),this.lockAcquired=!1}})}finally{this._debug("#_acquireLock","end")}}async _useSession(t){this._debug("#_useSession","begin");try{const n=await this.__loadSession();return await t(n)}finally{this._debug("#_useSession","end")}}async __loadSession(){this._debug("#__loadSession()","begin"),this.lockAcquired||this._debug("#__loadSession()","used outside of an acquired lock!",new Error().stack);try{let t=null;const n=await os(this.storage,this.storageKey);if(this._debug("#getSession()","session from storage",n),n!==null&&(this._isValidSession(n)?t=n:(this._debug("#getSession()","session from storage is not val
60id"),await this._removeSession())),!t)return{data:{session:null},error:null};const r=t.expires_at?t.expires_at*1e3-Date.now()<ud:!1;if(this._debug("#__loadSession()",`session has${r?"":" not"} expired`,"expires_at",t.expires_at),!r){if(this.userStorage){const o=await os(this.userStorage,this.storageKey+"-user");o!=null&&o.user?t.user=o.user:t.user=fd()}if(this.storage.isServer&&t.user&&!t.user.__isUserNotAvailableProxy){const o={value:this.suppressGetSessionWarning};t.user=__(t.user,o),o.value&&(this.suppressGetSessionWarning=!0)}return{data:{session:t},error:null}}const{data:s,error:i}=await this._callRefreshToken(t.refresh_token);return i?this._returnResult({data:{session:null},error:i}):this._returnResult({data:{session:s},error:null})}finally{this._debug("#__loadSession()","end")}}async getUser(t){if(t)return await this._getUser(t);await this.initializePromise;const n=await this._acquireLock(this.lockAcquireTimeout,async()=>await this._getUser());return n.data.user&&(this.suppressGetSessionWarning=!0),n}async _getUser(t){try{return t?await K(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:t,xform:yr}):await this._useSession(async n=>{var r,s,i;const{data:o,error:a}=n;if(a)throw a;return!(!((r=o.session)===null||r===void 0)&&r.access_token)&&!this.hasCustomAuthorizationHeader?{data:{user:null},error:new Tt}:await K(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:(i=(s=o.session)===null||s===void 0?void 0:s.access_token)!==null&&i!==void 0?i:void 0,xform:yr})})}catch(n){if(z(n))return dd(n)&&(await this._removeSession(),await We(this.storage,`${this.storageKey}-code-verifier`)),this._returnResult({data:{user:null},error:n});throw n}}async updateUser(t,n={}){return await this.initializePromise,await this._acquireLock(this.lockAcquireTimeout,async()=>await this._updateUser(t,n))}async _updateUser(t,n={}){try{return await this._useSession(async r=>{const{data:s,error:i}=r;if(i)throw i;if(!s.session)throw new Tt;const o=s.session;let a=null,l=null;this.flowType==="pkce"&&t.email!=null&&([a,l]=await ei(this.storage,this.storageKey));const{data:c,error:u}=await K(this.fetch,"PUT",`${this.url}/user`,{headers:this.headers,redirectTo:n==null?void 0:n.emailRedirectTo,body:Object.assign(Object.assign({},t),{code_challenge:a,code_challenge_method:l}),jwt:o.access_token,xform:yr});if(u)throw u;return o.user=c.user,await this._saveSession(o),await this._notifyAllSubscribers("USER_UPDATED",o),this._returnResult({data:{user:o.user},error:null})})}catch(r){if(await We(this.storage,`${this.storageKey}-code-verifier`),z(r))return this._returnResult({data:{user:null},error:r});throw r}}async setSession(t){return await this.initializePromise,await this._acquireLock(this.lockAcquireTimeout,async()=>await this._setSession(t))}async _setSession(t){try{if(!t.access_token||!t.refresh_token)throw new Tt;const n=Date.now()/1e3;let r=n,s=!0,i=null;const{payload:o}=xl(t.access_token);if(o.exp&&(r=o.exp,s=r<=n),s){const{data:a,error:l}=await this._callRefreshToken(t.refresh_token);if(l)return this._returnResult({data:{user:null,session:null},error:l});if(!a)return{data:{user:null,session:null},error:null};i=a}else{const{data:a,error:l}=await this._getUser(t.access_token);if(l)return this._returnResult({data:{user:null,session:null},error:l});i={access_token:t.access_token,refresh_token:t.refresh_token,user:a.user,token_type:"bearer",expires_in:r-n,expires_at:r},await this._saveSession(i),await this._notifyAllSubscribers("SIGNED_IN",i)}return this._returnResult({data:{user:i.user,session:i},error:null})}catch(n){if(z(n))return this._returnResult({data:{session:null,user:null},error:n});throw n}}async refreshSession(t){return await this.initializePromise,await this._acquireLock(this.lockAcquireTimeout,async()=>await this._refreshSession(t))}async _refreshSession(t){try{return await this._useSession(async n=>{var r;if(!t){const{data:o,error:a}=n;if(a)throw a;t=(r=o.session)!==null&&r!==void 0?r:void 0}if(!(t!=null&&t.refresh_token))throw new Tt;const{data:s,error:i}=await this._callRefreshToken(t.refresh_token);return i?this._returnResult({data:{user:null,session:null},error:i}):s?this._returnResult({data:{user:s.user,session:s},error:null}):this._returnResult({data:{user:null,session:null},error:null})})}catch(n){if(z(n))return this._returnResult({data:{user:null,session:null},error:n});throw n}}async _getSessionFromURL(t,n){try{if(!ze())throw new Al("No browser detected.");
60if(t.error||t.error_description||t.error_code)throw new Al(t.error_description||"Error in URL with unspecified error_description",{error:t.error||"unspecified_error",code:t.error_code||"unspecified_code"});switch(n){case"implicit":if(this.flowType==="pkce")throw new pg("Not a valid PKCE flow url.");break;case"pkce":if(this.flowType==="implicit")throw new Al("Not a valid implicit grant flow url.");break;default:}if(n==="pkce"){if(this._debug("#_initialize()","begin","is PKCE flow",!0),!t.code)throw new pg("No code detected.");const{data:g,error:v}=await this._exchangeCodeForSession(t.code);if(v)throw v;const P=new URL(window.location.href);return P.searchParams.delete("code"),window.history.replaceState(window.history.state,"",P.toString()),{data:{session:g.session,redirectType:null},error:null}}const{provider_token:r,provider_refresh_token:s,access_token:i,refresh_token:o,expires_in:a,expires_at:l,token_type:c}=t;if(!i||!a||!o||!c)throw new Al("No session defined in URL");const u=Math.round(Date.now()/1e3),d=parseInt(a);let h=u+d;l&&(h=parseInt(l));const f=h-u;f*1e3<=ai&&console.warn(`@supabase/gotrue-js: Session as retrieved from URL expires in ${f}s, should have been closer to ${d}s`);const m=h-d;u-m>=120?console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued over 120s ago, URL could be stale",m,h,u):u-m<0&&console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued in the future? Check the device clock for skew",m,h,u);const{data:b,error:w}=await this._getUser(i);if(w)throw w;const y={provider_token:r,provider_refresh_token:s,access_token:i,expires_in:d,expires_at:h,refresh_token:o,token_type:c,user:b.user};return window.location.hash="",this._debug("#_getSessionFromURL()","clearing window.location.hash"),this._returnResult({data:{session:y,redirectType:t.type},error:null})}catch(r){if(z(r))return this._returnResult({data:{session:null,redirectType:null},error:r});throw r}}_isImplicitGrantCallback(t){return typeof this.detectSessionInUrl=="function"?this.detectSessionInUrl(new URL(window.location.href),t):!!(t.access_token||t.error_description)}async _isPKCECallback(t){const n=await os(this.storage,`${this.storageKey}-code-verifier`);return!!(t.code&&n)}async signOut(t={scope:"global"}){return await this.initializePromise,await this._acquireLock(this.lockAcquireTimeout,async()=>await this._signOut(t))}async _signOut({scope:t}={scope:"global"}){return await this._useSession(async n=>{var r;const{data:s,error:i}=n;if(i&&!dd(i))return this._returnResult({error:i});const o=(r=s.session)===null||r===void 0?void 0:r.access_token;if(o){const{error:a}=await this.admin.signOut(o,t);if(a&&!(o_(a)&&(a.status===404||a.status===401||a.status===403)||dd(a)))return this._returnResult({error:a})}return t!=="others"&&(await this._removeSession(),await We(this.storage,`${this.storageKey}-code-verifier`)),this._returnResult({error:null})})}onAuthStateChange(t){const n=m_(),r={id:n,callback:t,unsubscribe:()=>{this._debug("#unsubscribe()","state change callback with id removed",n),this.stateChangeEmitters.delete(n)}};return this._debug("#onAuthStateChange()","registered callback with id",n),this.stateChangeEmitters.set(n,r),(async()=>(await this.initializePromise,await this._acquireLock(this.lockAcquireTimeout,async()=>{this._emitInitialSession(n)})))(),{data:{subscription:r}}}async _emitInitialSession(t){return await this._useSession(async n=>{var r,s;try{const{data:{session:i},error:o}=n;if(o)throw o;await((r=this.stateChangeEmitters.get(t))===null||r===void 0?void 0:r.callback("INITIAL_SESSION",i)),this._debug("INITIAL_SESSION","callback id",t,"session",i)}catch(i){await((s=this.stateChangeEmitters.get(t))===null||s===void 0?void 0:s.callback("INITIAL_SESSION",null)),this._debug("INITIAL_SESSION","callback id",t,"error",i),console.error(i)}})}async resetPasswordForEmail(t,n={}){let r=null,s=null;this.flowType==="pkce"&&([r,s]=await ei(this.storage,this.storageKey,!0));try{return await K(this.fetch,"POST",`${this.url}/recover`,{body:{email:t,code_challenge:r,code_challenge_method:s,gotrue_meta_security:{captcha_token:n.captchaToken}},headers:this.headers,redirectTo:n.redirectTo})}catch(i){if(await We(this.storage,`${this.storageKey}-code-verifier`),z(i))return this._returnResult({data:null,error:i});throw i}}async getUserIdentities(){var t;try{const{data:n,error:r}=await this.getUser();if(r)throw r;return this._returnResult({data:{identities:(t=n.user.identities)!==null&&t!==void 0?t:[]},error:null})}catch(n){if(z(n))return this._returnResult({data:null,error:n});throw n}}async linkIdentity(t){return"token"in t?this.linkIdentityIdToken(t):this.linkIdentityOAuth(t)}async linkIdentityOAuth(t){var n;try{const{data:r,error:s}=await this._useSession(async i=>{var o,a,l,c,u;const{data:d,error:h}=i;if(h)throw h;const f=await this._getUrlForProvider(`${this.url}/user/identities/authorize`,t.provider,{redirectTo:(o=t.options)===null||o===void 0?void 0:o.redirectTo,scopes:(a=t.options)===null||a===void 0?void 0:a.scopes,queryParams:(l=t.options)===null||l===void 0?void 0:l.queryParams,skipBrowserRedirect:!0});return await K(this.fetch,"GET",f,{headers:this.headers,jwt:(u=(c=d.session)===null||c===void 0?void 0:c.access_token)!==null&&u!==void 0?u:void 0})});if(s)throw s;return ze()&&!(!((n=t.options)===null||n===void 0)&&n.skipBrowserRedirect)&&window.location.assign(r==null?void 0:r.url),this._returnResult({data:{provider:t.provider,url:r==null?void 0:r.url},error:null})}catch(r){if(z(r))return this._returnResult({data:{provider:t.provider,url:null},error:r});throw r}}async linkIdentityIdToken(t){return await this._useSession(async n=>{var r;try{const{error:s,data:{session:i}}=n;
60if(s)throw s;const{options:o,provider:a,token:l,access_token:c,nonce:u}=t,d=await K(this.fetch,"POST",`${this.url}/token?grant_type=id_token`,{headers:this.headers,jwt:(r=i==null?void 0:i.access_token)!==null&&r!==void 0?r:void 0,body:{provider:a,id_token:l,access_token:c,nonce:u,link_identity:!0,gotrue_meta_security:{captcha_token:o==null?void 0:o.captchaToken}},xform:Xt}),{data:h,error:f}=d;return f?this._returnResult({data:{user:null,session:null},error:f}):!h||!h.session||!h.user?this._returnResult({data:{user:null,session:null},error:new Zs}):(h.session&&(await this._saveSession(h.session),await this._notifyAllSubscribers("USER_UPDATED",h.session)),this._returnResult({data:h,error:f}))}catch(s){if(await We(this.storage,`${this.storageKey}-code-verifier`),z(s))return this._returnResult({data:{user:null,session:null},error:s});throw s}})}async unlinkIdentity(t){try{return await this._useSession(async n=>{var r,s;const{data:i,error:o}=n;if(o)throw o;return await K(this.fetch,"DELETE",`${this.url}/user/identities/${t.identity_id}`,{headers:this.headers,jwt:(s=(r=i.session)===null||r===void 0?void 0:r.access_token)!==null&&s!==void 0?s:void 0})})}catch(n){if(z(n))return this._returnResult({data:null,error:n});throw n}}async _refreshAccessToken(t){const n=`#_refreshAccessToken(${t.substring(0,5)}...)`;this._debug(n,"begin");try{const r=Date.now();return await v_(async s=>(s>0&&await y_(200*Math.pow(2,s-1)),this._debug(n,"refreshing attempt",s),await K(this.fetch,"POST",`${this.url}/token?grant_type=refresh_token`,{body:{refresh_token:t},headers:this.headers,xform:Xt})),(s,i)=>{const o=200*Math.pow(2,s);return i&&hd(i)&&Date.now()+o-r<ai})}catch(r){if(this._debug(n,"error",r),z(r))return this._returnResult({data:{session:null,user:null},error:r});throw r}finally{this._debug(n,"end")}}_isValidSession(t){return typeof t=="object"&&t!==null&&"access_token"in t&&"refresh_token"in t&&"expires_at"in t}async _handleProviderSignIn(t,n){const r=await this._getUrlForProvider(`${this.url}/authorize`,t,{redirectTo:n.redirectTo,scopes:n.scopes,queryParams:n.queryParams});return this._debug("#_handleProviderSignIn()","provider",t,"options",n,"url",r),ze()&&!n.skipBrowserRedirect&&window.location.assign(r),{data:{provider:t,url:r},error:null}}async _recoverAndRefresh(){var t,n;const r="#_recoverAndRefresh()";this._debug(r,"begin");try{const s=await os(this.storage,this.storageKey);if(s&&this.userStorage){let o=await os(this.userStorage,this.storageKey+"-user");!this.storage.isServer&&Object.is(this.storage,this.userStorage)&&!o&&(o={user:s.user},await li(this.userStorage,this.storageKey+"-user",o)),s.user=(t=o==null?void 0:o.user)!==null&&t!==void 0?t:fd()}else if(s&&!s.user&&!s.user){const o=await os(this.storage,this.storageKey+"-user");o&&(o!=null&&o.user)?(s.user=o.user,await We(this.storage,this.storageKey+"-user"),await li(this.storage,this.storageKey,s)):s.user=fd()}if(this._debug(r,"session from storage",s),!this._isValidSession(s)){this._debug(r,"session is not valid"),s!==null&&await this._removeSession();return}const i=((n=s.expires_at)!==null&&n!==void 0?n:1/0)*1e3-Date.now()<ud;if(this._debug(r,`session has${i?"":" not"} expired with margin of ${ud}s`),i){if(this.autoRefreshToken&&s.refresh_token){const{error:o}=await this._callRefreshToken(s.refresh_token);o&&(console.error(o),hd(o)||(this._debug(r,"refresh failed with a non-retryable error, removing the session",o),await this._removeSession()))}}else if(s.user&&s.user.__isUserNotAvailableProxy===!0)try{const{data:o,error:a}=await this._getUser(s.access_token);!a&&(o!=null&&o.user)?(s.user=o.user,await this._saveSession(s),await this._notifyAllSubscribers("SIGNED_IN",s)):this._debug(r,"could not get user data, skipping SIGNED_IN notification")}catch(o){console.error("Error getting user data:",o),this._debug(r,"error getting user data, skipping SIGNED_IN notification",o)}else await this._notifyAllSubscribers("SIGNED_IN",s)}catch(s){this._debug(r,"error",s),console.error(s);return}finally{this._debug(r,"end")}}async _callRefreshToken(t){var n,r;if(!t)throw new Tt;if(this.refreshingDeferred)return this.refreshingDeferred.promise;const s=`#_callRefreshToken(${t.substring(0,5)}...)`;this._debug(s,"begin");try{this.refreshingDeferred=new Eu;const{data:i,error:o}=await this._refreshAccessToken(t);if(o)throw o;if(!i.session)throw new Tt;await this._saveSession(i.session),await this._notifyAllSubscribers("TOKEN_REFRESHED",i.session);const a={data:i.session,error:null};return this.refreshingDeferred.resolve(a),a}catch(i){if(this._debug(s,"error",i),z(i)){const o={data:null,error:i};return hd(i)||await this._removeSession(),(n=this.refreshingDeferred)===null||n===void 0||n.resolve(o),o}throw(r=this.refreshingDeferred)===null||r===void 0||r.reject(i),i}finally{this.refreshingDeferred=null,this._debug(s,"end")}}async _notifyAllSubscribers(t,n,r=!0){const s=`#_notifyAllSubscribers(${t})`;this._debug(s,"begin",n,`broadcast = ${r}`);try{this.broadcastChannel&&r&&this.broadcastChannel.postMessage({event:t,session:n});const i=[],o=Array.from(this.stateChangeEmitters.values()).map(async a=>{try{await a.callback(t,n)}catch(l){i.push(l)}});if(await Promise.all(o),i.length>0){for(let a=0;a<i.length;a+=1)console.error(i[a]);throw i[0]}}finally{this._debug(s,"end")}}async _saveSession(t){this._debug("#_saveSession()",t),this.suppressGetSessionWarning=!0,await We(this.storage,`${this.storageKey}-code-verifier`);const n=Object.assign({},t),r=n.user&&n.user.__isUserNotAvailableProxy===!0;if(this.userStorage){!r&&n.user&&await li(this.userStorage,this.storageKey+"-user",{user:n.user});const s=Object.assign({},n);delete s.user;const i=vg(s);await li(this.storage,this.storageKey,i)}else{const s=vg(n);await li(this.storage,this.storageKey,s)}}async _removeSession(){this._debug("#_removeSession()"),this.suppressGetSessionWarning=!1,await We(this.storage,this.storageKey),await We(this.storage,this.storageKey+"-code-verifier"),await We(this.storage,this.storageKey+"-user"),this.userStorage&&await We(this.userStorage,this.storageKey+"-user"),await this._notifyAllSubscribers("SIGNED_OUT",null)}_removeVisibilityChangedCallback(){this._debug("#_removeVisibilityChangedCallback()");const t=this.visibilityChangedCallback;this.visibilityChangedCallback=null;try{t&&ze()&&(window!=null&&window.removeEventListener)&&window.removeEventListener("visibilitychange",t)}
60catch(n){console.error("removing visibilitychange callback failed",n)}}async _startAutoRefresh(){await this._stopAutoRefresh(),this._debug("#_startAutoRefresh()");const t=setInterval(()=>this._autoRefreshTokenTick(),ai);this.autoRefreshTicker=t,t&&typeof t=="object"&&typeof t.unref=="function"?t.unref():typeof Deno<"u"&&typeof Deno.unrefTimer=="function"&&Deno.unrefTimer(t);const n=setTimeout(async()=>{await this.initializePromise,await this._autoRefreshTokenTick()},0);this.autoRefreshTickTimeout=n,n&&typeof n=="object"&&typeof n.unref=="function"?n.unref():typeof Deno<"u"&&typeof Deno.unrefTimer=="function"&&Deno.unrefTimer(n)}async _stopAutoRefresh(){this._debug("#_stopAutoRefresh()");const t=this.autoRefreshTicker;this.autoRefreshTicker=null,t&&clearInterval(t);const n=this.autoRefreshTickTimeout;this.autoRefreshTickTimeout=null,n&&clearTimeout(n)}async startAutoRefresh(){this._removeVisibilityChangedCallback(),await this._startAutoRefresh()}async stopAutoRefresh(){this._removeVisibilityChangedCallback(),await this._stopAutoRefresh()}async _autoRefreshTokenTick(){this._debug("#_autoRefreshTokenTick()","begin");try{await this._acquireLock(0,async()=>{try{const t=Date.now();try{return await this._useSession(async n=>{const{data:{session:r}}=n;if(!r||!r.refresh_token||!r.expires_at){this._debug("#_autoRefreshTokenTick()","no session");return}const s=Math.floor((r.expires_at*1e3-t)/ai);this._debug("#_autoRefreshTokenTick()",`access token expires in ${s} ticks, a tick lasts ${ai}ms, refresh threshold is ${_h} ticks`),s<=_h&&await this._callRefreshToken(r.refresh_token)})}catch(n){console.error("Auto refresh tick failed with error. This is likely a transient error.",n)}}finally{this._debug("#_autoRefreshTokenTick()","end")}})}catch(t){if(t.isAcquireTimeout||t instanceof KS)this._debug("auto refresh token tick lock not available");else throw t}}async _handleVisibilityChange(){if(this._debug("#_handleVisibilityChange()"),!ze()||!(window!=null&&window.addEventListener))return this.autoRefreshToken&&this.startAutoRefresh(),!1;try{this.visibilityChangedCallback=async()=>{try{await this._onVisibilityChanged(!1)}catch(t){this._debug("#visibilityChangedCallback","error",t)}},window==null||window.addEventListener("visibilitychange",this.visibilityChangedCallback),await this._onVisibilityChanged(!0)}catch(t){console.error("_handleVisibilityChange",t)}}async _onVisibilityChanged(t){const n=`#_onVisibilityChanged(${t})`;this._debug(n,"visibilityState",document.visibilityState),document.visibilityState==="visible"?(this.autoRefreshToken&&this._startAutoRefresh(),t||(await this.initializePromise,await this._acquireLock(this.lockAcquireTimeout,async()=>{if(document.visibilityState!=="visible"){this._debug(n,"acquired the lock to recover the session, but the browser visibilityState is no longer visible, aborting");return}await this._recoverAndRefresh()}))):document.visibilityState==="hidden"&&this.autoRefreshToken&&this._stopAutoRefresh()}async _getUrlForProvider(t,n,r){const s=[`provider=${encodeURIComponent(n)}`];if(r!=null&&r.redirectTo&&s.push(`redirect_to=${encodeURIComponent(r.redirectTo)}`),r!=null&&r.scopes&&s.push(`scopes=${encodeURIComponent(r.scopes)}`),this.flowType==="pkce"){const[i,o]=await ei(this.storage,this.storageKey),a=new URLSearchParams({code_challenge:`${encodeURIComponent(i)}`,code_challenge_method:`${encodeURIComponent(o)}`});s.push(a.toString())}if(r!=null&&r.queryParams){const i=new URLSearchParams(r.queryParams);s.push(i.toString())}return r!=null&&r.skipBrowserRedirect&&s.push(`skip_http_redirect=${r.skipBrowserRedirect}`),`${t}?${s.join("&")}`}async _unenroll(t){try{return await this._useSession(async n=>{var r;const{data:s,error:i}=n;return i?this._returnResult({data:null,error:i}):await K(this.fetch,"DELETE",`${this.url}/factors/${t.factorId}`,{headers:this.headers,jwt:(r=s==null?void 0:s.session)===null||r===void 0?void 0:r.access_token})})}catch(n){if(z(n))return this._returnResult({data:null,error:n});throw n}}async _enroll(t){try{return await this._useSession(async n=>{var r,s;const{data:i,error:o}=n;if(o)return this._returnResult({data:null,error:o});const a=Object.assign({friendly_name:t.friendlyName,factor_type:t.factorType},t.factorType==="phone"?{phone:t.phone}:t.factorType==="totp"?{issuer:t.issuer}:{}),{data:l,error:c}=await K(this.fetch,"POST",`${this.url}/factors`,{body:a,headers:this.headers,jwt:(r=i==null?void 0:i.session)===null||r===void 0?void 0:r.access_token});return c?this._returnResult({data:null,error:c}):(t.factorType==="totp"&&l.type==="totp"&&(!((s=l==null?void 0:l.totp)===null||s===void 0)&&s.qr_code)&&(l.totp.qr_code=`data:image/svg+xml;utf-8,${l.totp.qr_code}`),this._returnResult({data:l,error:null}))})}catch(n){if(z(n))return this._returnResult({data:null,error:n});throw n}}async _verify(t){return this._acquireLock(this.lockAcquireTimeout,async()=>{try{return await this._useSession(async n=>{var r;const{data:s,error:i}=n;if(i)return this._returnResult({data:null,error:i});const o=Object.assign({challenge_id:t.challengeId},"webauthn"in t?{webauthn:Object.assign(Object.assign({},t.webauthn),{credential_response:t.webauthn.type==="create"?K_(t.webauthn.credential_response):Y_(t.webauthn.credential_response)})}:{code:t.code}),{data:a,error:l}=await K(this.fetch,"POST",`${this.url}/factors/${t.factorId}/verify`,{body:o,headers:this.headers,jwt:(r=s==null?void 0:s.session)===null||r===void 0?void 0:r.access_token});return l?this._returnResult({data:null,error:l}):(await this._saveSession(Object.assign({expires_at:Math.round(Date.now()/1e3)+a.expires_in},a)),await this._notifyAllSubscribers("MFA_CHALLENGE_VERIFIED",a),this._returnResult({data:a,error:l}))})}catch(n){if(z(n))return this._returnResult({data:null,error:n});throw n}})}async _challenge(t){return this._acquireLock(this.lockAcquireTimeout,async()=>{try{return await this._useSession(async n=>{var r;const{data:s,error:i}=n;if(i)return this._returnResult({data:null,error:i});const o=await K(this.fetch,"POST",`${this.url}/factors/${t.factorId}/challenge`,{body:t,headers:this.headers,jwt:(r=s==null?void 0:s.session)===null||r===void 0?void 0:r.access_token});if(o.error)return o;const{data:a}=o;if(a.type!=="webauthn")return{data:a,error:null};switch(a.webauthn.type){case"create":return{data:Object.assign(Object.assign({},a),{webauthn:Object.assign(Object.assign({},a.webauthn),{credential_options:Object.assign(Object.assign({},a.webauthn.credential_options),{publicKey:H_(a.webauthn.credential_options.publicKey)})})}),error:null};case"request":return{data:Object.assign(Object.assign({},a),{webauthn:Object.assign(Object.assign({},a.webauthn),{credential_options:Object.assign(Object.assign({},a.webauthn.credential_options),{publicKey:G_(a.webauthn.credential_options.publicKey)})})}),error:null}}})}catch(n){if(z(n))return this._returnResult({data:null,error:n});throw n}})}async _challengeAndVerify(t){const{data:n,error:r}=await this._challenge({factorId:t.factorId});return r?this._returnResult({data:null,error:r}):await this._verify({factorId:t.factorId,challengeId:n.id,code:t.code})}async _listFactors(){var t;const{data:{user:n},error:r}=await this.getUser();if(r)return{data:null,error:r};const s={all:[],phone:[],totp:[],webauthn:[]};for(const i of(t=n==null?void 0:n.factors)!==null&&t!==void 0?t:[])s.all.push(i),i.status==="verified"&&s[i.factor_type].push(i);return{data:s,error:null}}async _getAuthenticatorAssuranceLevel(t){var n,r,s,i;if(t)try{const{payload:f}=xl(t);let m=null;f.aal&&(m=f.aal);let b=m;const{data:{user:w},error:y}=await this.getUser(t);if(y)return this._returnResult({data:null,error:y});((r=(n=w==null?void 0:w.factors)===null||n===void 0?void 0:n.filter(P=>P.status==="verified"))!==null&&r!==void 0?r:[]).length>0&&(b="aal2");const v=f.amr||[];return{data:{currentLevel:m,nextLevel:b,currentAuthenticationMethods:v},error:null}}catch(f){if(z(f))return this._returnResult({data:null,error:f});throw f}const{data:{session:o},error:a}
60=await this.getSession();if(a)return this._returnResult({data:null,error:a});if(!o)return{data:{currentLevel:null,nextLevel:null,currentAuthenticationMethods:[]},error:null};const{payload:l}=xl(o.access_token);let c=null;l.aal&&(c=l.aal);let u=c;((i=(s=o.user.factors)===null||s===void 0?void 0:s.filter(f=>f.status==="verified"))!==null&&i!==void 0?i:[]).length>0&&(u="aal2");const h=l.amr||[];return{data:{currentLevel:c,nextLevel:u,currentAuthenticationMethods:h},error:null}}async _getAuthorizationDetails(t){try{return await this._useSession(async n=>{const{data:{session:r},error:s}=n;return s?this._returnResult({data:null,error:s}):r?await K(this.fetch,"GET",`${this.url}/oauth/authorizations/${t}`,{headers:this.headers,jwt:r.access_token,xform:i=>({data:i,error:null})}):this._returnResult({data:null,error:new Tt})})}catch(n){if(z(n))return this._returnResult({data:null,error:n});throw n}}async _approveAuthorization(t,n){try{return await this._useSession(async r=>{const{data:{session:s},error:i}=r;if(i)return this._returnResult({data:null,error:i});if(!s)return this._returnResult({data:null,error:new Tt});const o=await K(this.fetch,"POST",`${this.url}/oauth/authorizations/${t}/consent`,{headers:this.headers,jwt:s.access_token,body:{action:"approve"},xform:a=>({data:a,error:null})});return o.data&&o.data.redirect_url&&ze()&&!(n!=null&&n.skipBrowserRedirect)&&window.location.assign(o.data.redirect_url),o})}catch(r){if(z(r))return this._returnResult({data:null,error:r});throw r}}async _denyAuthorization(t,n){try{return await this._useSession(async r=>{const{data:{session:s},error:i}=r;if(i)return this._returnResult({data:null,error:i});if(!s)return this._returnResult({data:null,error:new Tt});const o=await K(this.fetch,"POST",`${this.url}/oauth/authorizations/${t}/consent`,{headers:this.headers,jwt:s.access_token,body:{action:"deny"},xform:a=>({data:a,error:null})});return o.data&&o.data.redirect_url&&ze()&&!(n!=null&&n.skipBrowserRedirect)&&window.location.assign(o.data.redirect_url),o})}catch(r){if(z(r))return this._returnResult({data:null,error:r});throw r}}async _listOAuthGrants(){try{return await this._useSession(async t=>{const{data:{session:n},error:r}=t;return r?this._returnResult({data:null,error:r}):n?await K(this.fetch,"GET",`${this.url}/user/oauth/grants`,{headers:this.headers,jwt:n.access_token,xform:s=>({data:s,error:null})}):this._returnResult({data:null,error:new Tt})})}catch(t){if(z(t))return this._returnResult({data:null,error:t});throw t}}async _revokeOAuthGrant(t){try{return await this._useSession(async n=>{const{data:{session:r},error:s}=n;return s?this._returnResult({data:null,error:s}):r?(await K(this.fetch,"DELETE",`${this.url}/user/oauth/grants`,{headers:this.headers,jwt:r.access_token,query:{client_id:t.clientId},noResolveJson:!0}),{data:{},error:null}):this._returnResult({data:null,error:new Tt})})}catch(n){if(z(n))return this._returnResult({data:null,error:n});throw n}}async fetchJwk(t,n={keys:[]}){let r=n.keys.find(a=>a.kid===t);if(r)return r;const s=Date.now();if(r=this.jwks.keys.find(a=>a.kid===t),r&&this.jwks_cached_at+s_>s)return r;const{data:i,error:o}=await K(this.fetch,"GET",`${this.url}/.well-known/jwks.json`,{headers:this.headers});if(o)throw o;return!i.keys||i.keys.length===0||(this.jwks=i,this.jwks_cached_at=s,r=i.keys.find(a=>a.kid===t),!r)?null:r}async getClaims(t,n={}){try{let r=t;if(!r){const{data:f,error:m}
60=await this.getSession();if(m||!f.session)return this._returnResult({data:null,error:m});r=f.session.access_token}const{header:s,payload:i,signature:o,raw:{header:a,payload:l}}=xl(r);n!=null&&n.allowExpired||A_(i.exp);const c=!s.alg||s.alg.startsWith("HS")||!s.kid||!("crypto"in globalThis&&"subtle"in globalThis.crypto)?null:await this.fetchJwk(s.kid,n!=null&&n.keys?{keys:n.keys}:n==null?void 0:n.jwks);if(!c){const{error:f}=await this.getUser(r);if(f)throw f;return{data:{claims:i,header:s,signature:o},error:null}}const u=x_(s.alg),d=await crypto.subtle.importKey("jwk",c,u,!0,["verify"]);if(!await crypto.subtle.verify(u,d,o,f_(`${a}.${l}`)))throw new Nh("Invalid JWT signature");return{data:{claims:i,header:s,signature:o},error:null}}catch(r){if(z(r))return this._returnResult({data:null,error:r});throw r}}}ya.nextInstanceID={};const sR=ya,iR="2.97.0";let $o="";typeof Deno<"u"?$o="deno":typeof document<"u"?$o="web":typeof navigator<"u"&&navigator.product==="ReactNative"?$o="react-native":$o="node";const oR={"X-Client-Info":`supabase-js-${$o}/${iR}`},aR={headers:oR},lR={schema:"public"},cR={autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,flowType:"implicit"},uR={};function va(e){"@babel/helpers - typeof";return va=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},va(e)}function dR(e,t){if(va(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(va(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function hR(e){var t=dR(e,"string");return va(t)=="symbol"?t:t+""}function fR(e,t,n){return(t=hR(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function xg(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),n.push.apply(n,r)}return n}function Ae(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?xg(Object(n),!0).forEach(function(r){fR(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):xg(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}const pR=e=>e?(...t)=>e(...t):(...t)=>fetch(...t),mR=()=>Headers,bR=(e,t,n)=>{const r=pR(n),s=mR();return async(i,o)=>{var a;const l=(a=await t())!==null&&a!==void 0?a:e;let c=new s(o==null?void 0:o.headers);return c.has("apikey")||c.set("apikey",e),c.has("Authorization")||c.set("Authorization",`Bearer ${l}`),r(i,Ae(Ae({},o),{},{headers:c}))}};function gR(e){return e.endsWith("/")?e:e+"/"}function yR(e,t){var n,r;const{db:s,auth:i,realtime:o,global:a}=e,{db:l,auth:c,realtime:u,global:d}=t,h={db:Ae(Ae({},l),s),auth:Ae(Ae({},c),i),realtime:Ae(Ae({},u),o),storage:{},global:Ae(Ae(Ae({},d),a),{},{headers:Ae(Ae({},(n=d==null?void 0:d.headers)!==null&&n!==void 0?n:{}),(r=a==null?void 0:a.headers)!==null&&r!==void 0?r:{})}),accessToken:async()=>""};return e.accessToken?h.accessToken=e.accessToken:delete h.accessToken,h}function vR(e){const t=e==null?void 0:e.trim();if(!t)throw new Error("supabaseUrl is required.");if(!t.match(/^https?:\/\//i))throw new Error("Invalid supabaseUrl: Must be a valid HTTP or HTTPS URL.");try{return new URL(gR(t))}catch{throw Error("Invalid supabaseUrl: Provided URL is malformed.")}}var wR=class extends sR{constructor(e){super(e)}},SR=class{constructor(e,t,n){var r,s;this.supabaseUrl=e,this.supabaseKey=t;const i=vR(e);if(!t)throw new Error("supabaseKey is required.");this.realtimeUrl=new URL("realtime/v1",i),this.realtimeUrl.protocol=this.realtimeUrl.protocol.replace("http","ws"),this.authUrl=new URL("auth/v1",i),this.storageUrl=new URL("storage/v1",i),this.functionsUrl=new URL("functions/v1",i);const o=`sb-${i.hostname.split(".")[0]}-auth-token`,a={db:lR,realtime:uR,auth:Ae(Ae({},cR),{},{storageKey:o}
60),global:aR},l=yR(n??{},a);if(this.storageKey=(r=l.auth.storageKey)!==null&&r!==void 0?r:"",this.headers=(s=l.global.headers)!==null&&s!==void 0?s:{},l.accessToken)this.accessToken=l.accessToken,this.auth=new Proxy({},{get:(u,d)=>{throw new Error(`@supabase/supabase-js: Supabase Client is configured with the accessToken option, accessing supabase.auth.${String(d)} is not possible`)}});else{var c;this.auth=this._initSupabaseAuthClient((c=l.auth)!==null&&c!==void 0?c:{},this.headers,l.global.fetch)}this.fetch=bR(t,this._getAccessToken.bind(this),l.global.fetch),this.realtime=this._initRealtimeClient(Ae({headers:this.headers,accessToken:this._getAccessToken.bind(this)},l.realtime)),this.accessToken&&Promise.resolve(this.accessToken()).then(u=>this.realtime.setAuth(u)).catch(u=>console.warn("Failed to set initial Realtime auth token:",u)),this.rest=new ok(new URL("rest/v1",i).href,{headers:this.headers,schema:l.db.schema,fetch:this.fetch,timeout:l.db.timeout,urlLengthLimit:l.db.urlLengthLimit}),this.storage=new Zk(this.storageUrl.href,this.headers,this.fetch,n==null?void 0:n.storage),l.accessToken||this._listenForAuthEvents()}get functions(){return new Xx(this.functionsUrl.href,{headers:this.headers,customFetch:this.fetch})}from(e){return this.rest.from(e)}schema(e){return this.rest.schema(e)}rpc(e,t={},n={head:!1,get:!1,count:void 0}){return this.rest.rpc(e,t,n)}channel(e,t={config:{}}){return this.realtime.channel(e,t)}getChannels(){return this.realtime.getChannels()}removeChannel(e){return this.realtime.removeChannel(e)}removeAllChannels(){return this.realtime.removeAllChannels()}async _getAccessToken(){var e=this,t,n;if(e.accessToken)return await e.accessToken();const{data:r}=await e.auth.getSession();return(t=(n=r.session)===null||n===void 0?void 0:n.access_token)!==null&&t!==void 0?t:e.supabaseKey}_initSupabaseAuthClient({autoRefreshToken:e,persistSession:t,detectSessionInUrl:n,storage:r,userStorage:s,storageKey:i,flowType:o,lock:a,debug:l,throwOnError:c},u,d){const h={Authorization:`Bearer ${this.supabaseKey}`,apikey:`${this.supabaseKey}`};return new wR({url:this.authUrl.href,headers:Ae(Ae({},h),u),storageKey:i,autoRefreshToken:e,persistSession:t,detectSessionInUrl:n,storage:r,userStorage:s,flowType:o,lock:a,debug:l,throwOnError:c,fetch:d,hasCustomAuthorizationHeader:Object.keys(this.headers).some(f=>f.toLowerCase()==="authorization")})}_initRealtimeClient(e){return new Tk(this.realtimeUrl.href,Ae(Ae({},e),{},{params:Ae(Ae({},{apikey:this.supabaseKey}),e==null?void 0:e.params)}))}_listenForAuthEvents(){return this.auth.onAuthStateChange((e,t)=>{this._handleTokenChanged(e,"CLIENT",t==null?void 0:t.access_token)})}_handleTokenChanged(e,t,n){(e==="TOKEN_REFRESHED"||e==="SIGNED_IN")&&this.changedAccessToken!==n?(this.changedAccessToken=n,this.realtime.setAuth(n)):e==="SIGNED_OUT"&&(this.realtime.setAuth(),t=="STORAGE"&&this.auth.signOut(),this.changedAccessToken=void 0)}};const PR=(e,t,n)=>new SR(e,t,n);function TR(){if(typeof window<"u")return!1;const e=globalThis.process;if(!e)return!1;const t=e.version;if(t==null)return!1;const n=t.match(/^v(\d+)\./);return n?parseInt(n[1],10)<=18:!1}TR()&&console.warn("⚠️  Node.js 18 and below are deprecated and will no longer be supported in future versions of @supabase/supabase-js. Please upgrade to Node.js 20 or later. For more information, visit: https://github.com/orgs/supabase/discussions/37217");function CR(){var w,y;if(typeof window>"u")return;const e=location.hostname,n=["lovableproject.com","lovableproject-dev.com","lovable.app","gpt-eng.com","gptengineer.run"].some(g=>e===g||e.endsWith("."+g)),r="[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}",s=n?((w=e.match(new RegExp("^(?:id-preview(?:-[a-z0-9]+)?|project)--("+r+")(?:-dev)?(?=\\.|$)","i")))==null?void 0:w[1])??((y=e.match(new RegExp("^("+r+")(?=[.-])","i")))==null?void 0:y[1]):void 0,i=window.parent&&window.parent!==window;if(!s||!i)return localStorage;const o=e.endsWith(".lovableproject-dev.com")||e.endsWith(".gpt-eng.com"),a=o?/^https:\/\/([a-z0-9-]+\.)*(lovable\.dev|gptengineer\.app)$|^http:\/\/localhost:3000$/:/^https:\/\/([a-z0-9-]+\.)*(lovable\.dev|gptengineer\.app)$/,l=location.ancestorOrigins&&location.ancestorOrigins[0]||(document.referrer?new URL(document.referrer).origin:""),c=l&&a.test(l)?[l]:o?["https://lovable.dev","http://localhost:3000"]:["https://lovable.dev"],u="lovable-preview-auth:result",d=2e3,h=()=>Math.random().toString(36).slice(2)+Date.now().toString(36),f=(g,v,P)=>new Promise(T=>{const C=h();let A=!1,x;const k=O=>{A||(A=!0,clearTimeout(x),window.removeEventListener("message",R),T(O))},R=O=>{if(c.indexOf(O.origin)<0)return;const q=O.data;q&&q.type===u&&q.requestId===C&&k(q)};window.addEventListener("message",R);const F={type:g,requestId:C,projectId:s,key:v};P!==void 0&&(F.value=P);for(const O of c)window.parent.postMessage(F,O);x=setTimeout(()=>k(null),d)});let m=!0;const b=250;return{getItem:async g=>{let v=await f("lovable-preview-auth:get",g);return!v&&m&&(await new Promise(P=>setTimeout(P,b)),v=await f("lovable-preview-auth:get",g)),m=!1,v&&v.ok&&typeof v.value=="string"?v.value===""?(localStorage.removeItem(g),null):v.value:localStorage.getItem(g)},setItem:(g,v)=>(localStorage.setItem(g,v),f("lovable-preview-auth:set",g,v).then(P=>{P&&P.ok&&typeof P.value=="string"&&localStorage.getItem(g)===v&&(P.value===""?localStorage.removeItem(g):localStorage.setItem(g,P.value))})),removeItem:g=>(localStorage.removeItem(g),f("lovable-preview-auth:remove",g).then(()=>{}))}}const ER="https://lmgsxyzytssddijjxbzc.supabase.co",AR="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImxtZ3N4eXp5dHNzZGRpamp4YnpjIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NzE1MTk2MTIsImV4cCI6MjA4NzA5NTYxMn0.E-IM5AMLYeN2DE64NoduoQXVG8DL57T43vjpZ21Ft74",te=PR(ER,AR,{auth:{storage:CR(),persistSession:!0,autoRefreshToken:!0}}),kg=Object.freeze(Object.defineProperty({__proto__:null,supabase:te},Symbol.toStringTag,{value:"Module"})),Zi=new Map;function Pz(e,t){const n=Zi.get(e);if(n)return n.refs+=1,{channel:n.channel,unsubscribe:()=>_g(e)};const r=t(te.channel(e));return r.subscribe(),Zi.set(e,{channel:r,refs:1}),{channel:r,unsubscribe:()=>_g(e)}}function _g(e){const t=Zi.get(e);if(t&&(t.refs-=1,t.refs<=0)){Zi.delete(e);try{te.removeChannel(t.channel)}catch{}}}function xR(){for(const[,e]of Zi)try{te.removeChannel(e.channel)}catch{}Zi.clear();try{te.removeAllChannels()}catch{}}let Rg=!1,md=null;function kR(){Rg||(Rg=!0,te.auth.getUser().then(({data:e})=>{var t;md=((t=e.user)==null?void 0:t.id)??null}),te.auth.onAuthStateChange((e,t)=>{var s;const n=((s=t==null?void 0:t.user)==null?void 0:s.id)??null,r=n!==md;(e==="SIGNED_OUT"||e==="SIGNED_IN"&&r||r)&&xR(),md=n}))}var JS={exports:{}},Dt={},XS={exports:{}},ZS={};/**
61 * @license React
62 * scheduler.production.min.js
63 *
64 * Copyright (c) Facebook, Inc. and its affiliates.
65 *
66 * This source code is licensed under the MIT license found in the
67 * LICENSE file in the root directory of this source tree.
68 */(function(e){function t(_,D){var B=_.length;_.push(D);e:for(;0<B;){var J=B-1>>>1,H=_[J];if(0<s(H,D))_[J]=D,_[B]=H,B=J;else break e}}function n(_){return _.length===0?null:_[0]}function r(_){if(_.length===0)return null;var D=_[0],B=_.pop();if(B!==D){_[0]=B;e:for(var J=0,H=_.length,ne=H>>>1;J<ne;
vendor: 10,355 bytes, lines 68-77
68){var se=2*(J+1)-1,De=_[se],Xe=se+1,le=_[Xe];if(0>s(De,B))Xe<H&&0>s(le,De)?(_[J]=le,_[Xe]=B,J=Xe):(_[J]=De,_[se]=B,J=se);else if(Xe<H&&0>s(le,B))_[J]=le,_[Xe]=B,J=Xe;else break e}}return D}function s(_,D){var B=_.sortIndex-D.sortIndex;return B!==0?B:_.id-D.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var o=Date,a=o.now();e.unstable_now=function(){return o.now()-a}}var l=[],c=[],u=1,d=null,h=3,f=!1,m=!1,b=!1,w=typeof setTimeout=="function"?setTimeout:null,y=typeof clearTimeout=="function"?clearTimeout:null,g=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function v(_){for(var D=n(c);D!==null;){if(D.callback===null)r(c);else if(D.startTime<=_)r(c),D.sortIndex=D.expirationTime,t(l,D);else break;D=n(c)}}function P(_){if(b=!1,v(_),!m)if(n(l)!==null)m=!0,Q(T);else{var D=n(c);D!==null&&W(P,D.startTime-_)}}function T(_,D){m=!1,b&&(b=!1,y(x),x=-1),f=!0;var B=h;try{for(v(D),d=n(l);d!==null&&(!(d.expirationTime>D)||_&&!F());){var J=d.callback;if(typeof J=="function"){d.callback=null,h=d.priorityLevel;var H=J(d.expirationTime<=D);D=e.unstable_now(),typeof H=="function"?d.callback=H:d===n(l)&&r(l),v(D)}else r(l);d=n(l)}if(d!==null)var ne=!0;else{var se=n(c);se!==null&&W(P,se.startTime-D),ne=!1}return ne}finally{d=null,h=B,f=!1}}var C=!1,A=null,x=-1,k=5,R=-1;function F(){return!(e.unstable_now()-R<k)}function O(){if(A!==null){var _=e.unstable_now();R=_;var D=!0;try{D=A(!0,_)}finally{D?q():(C=!1,A=null)}}else C=!1}var q;if(typeof g=="function")q=function(){g(O)};else if(typeof MessageChannel<"u"){var j=new MessageChannel,ee=j.port2;j.port1.onmessage=O,q=function(){ee.postMessage(null)}}else q=function(){w(O,0)};function Q(_){A=_,C||(C=!0,q())}function W(_,D){x=w(function(){_(e.unstable_now())},D)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(_){_.callback=null},e.unstable_continueExecution=function(){m||f||(m=!0,Q(T))},e.unstable_forceFrameRate=function(_){0>_||125<_?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):k=0<_?Math.floor(1e3/_):5},e.unstable_getCurrentPriorityLevel=function(){return h},e.unstable_getFirstCallbackNode=function(){return n(l)},e.unstable_next=function(_){switch(h){case 1:case 2:case 3:var D=3;break;default:D=h}var B=h;h=D;try{return _()}finally{h=B}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(_,D){switch(_){case 1:case 2:case 3:case 4:case 5:break;default:_=3}var B=h;h=_;try{return D()}finally{h=B}},e.unstable_scheduleCallback=function(_,D,B){var J=e.unstable_now();switch(typeof B=="object"&&B!==null?(B=B.delay,B=typeof B=="number"&&0<B?J+B:J):B=J,_){case 1:var H=-1;break;case 2:H=250;break;case 5:H=1073741823;break;case 4:H=1e4;break;default:H=5e3}return H=B+H,_={id:u++,callback:D,priorityLevel:_,startTime:B,expirationTime:H,sortIndex:-1},B>J?(_.sortIndex=B,t(c,_),n(l)===null&&_===n(c)&&(b?(y(x),x=-1):b=!0,W(P,B-J))):(_.sortIndex=H,t(l,_),m||f||(m=!0,Q(T))),_},e.unstable_shouldYield=F,e.unstable_wrapCallback=function(_){var D=h;return function(){var B=h;h=D;try{return _.apply(this,arguments)}finally{h=B}}}})(ZS);XS.exports=ZS;var _R=XS.exports;/**
69 * @license React
70 * react-dom.production.min.js
71 *
72 * Copyright (c) Facebook, Inc. and its affiliates.
73 *
74 * This source code is licensed under the MIT license found in the
75 * LICENSE file in the root directory of this source tree.
76 */var RR=p,Rt=_R;function I(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var e0=new Set,wa={};function zs(e,t){eo(e,t),eo(e+"Capture",t)}function eo(e,t){for(wa[e]=t,e=0;e<t.length;e++)e0.add(t[e])}var Gn=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ih=Object.prototype.hasOwnProperty,DR=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,Dg={},Ng={};function NR(e){return Ih.call(Ng,e)?!0:Ih.call(Dg,e)?!1:DR.test(e)?Ng[e]=!0:(Dg[e]=!0,!1)}function IR(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function OR(e,t,n,r){if(t===null||typeof t>"u"||IR(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function ht(e,t,n,r,s,i,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=s,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=o}var Je={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){Je[e]=new ht(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];Je[t]=new ht(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){Je[e]=new ht(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){Je[e]=new ht(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){Je[e]=new ht(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){Je[e]=new ht(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){Je[e]=new ht(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){Je[e]=new ht(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){Je[e]=new ht(e,5,!1,e.toLowerCase(),null,!1,!1)});var zp=/[\-:]([a-z])/g;function qp(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(zp,qp);Je[t]=new ht(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(zp,qp);Je[t]=new ht(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(zp,qp);Je[t]=new ht(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){Je[e]=new ht(e,1,!1,e.toLowerCase(),null,!1,!1)});Je.xlinkHref=new ht("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){Je[e]=new ht(e,1,!1,e.toLowerCase(),null,!0,!0)});function Hp(e,t,n,r){var s=Je.hasOwnProperty(t)?Je[t]:null;(s!==null?s.type!==0:r||!(2<t.length)||t[0]!=="o"&&t[0]!=="O"||t[1]!=="n"&&t[1]!=="N")&&(OR(t,n,s,r)&&(n=null),r||s===null?NR(t)&&(n===null?e.removeAttribute(t):e.setAttribute(t,""+n)):s.mustUseProperty?e[s.propertyName]=n===null?s.type===3?!1:"":n:(t=s.attributeName,r=s.attributeNamespace,n===null?e.removeAttribute(t):(s=s.type,n=s===3||s===4&&n===!0?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}var nr=RR.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,kl=Symbol.for("react.element"),di=Symbol.for("react.portal"),hi=Symbol.for("react.fragment"),Gp=Symbol.for("react.strict_mode"),Oh=Symbol.for("react.profiler"),t0=Symbol.for("react.provider"),n0=Symbol.for("react.context"),Kp=Symbol.for("react.forward_ref"),Lh=Symbol.for("react.suspense"),Mh=Symbol.for("react.suspense_list"),Yp=Symbol.for("react.memo"),br=Symbol.for("react.lazy"),r0=Symbol.for("react.offscreen"),Ig=Symbol.iterator;function Ao(e){return e===null||typeof e!="object"?null:(e=Ig&&e[Ig]||e["@@iterator"],typeof e=="function"?e:null)}var Ce=Object.assign,bd;function Wo(e){if(bd===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);bd=t&&t[1]||""}return`
77`+bd+e}var gd=!1;function yd(e,t){if(!e||gd)return"";gd=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(t,[])}catch(c){var r=c}Reflect.construct(e,[],t)}else{try{t.call()}catch(c){r=c}e.call(t.prototype)}else{try{throw Error()}catch(c){r=c}e()}}
vendor: 4,643 bytes, lines 77-80
77catch(c){if(c&&r&&typeof c.stack=="string"){for(var s=c.stack.split(`
78`),i=r.stack.split(`
79`),o=s.length-1,a=i.length-1;1<=o&&0<=a&&s[o]!==i[a];)a--;for(;1<=o&&0<=a;o--,a--)if(s[o]!==i[a]){if(o!==1||a!==1)do if(o--,a--,0>a||s[o]!==i[a]){var l=`
80`+s[o].replace(" at new "," at ");return e.displayName&&l.includes("<anonymous>")&&(l=l.replace("<anonymous>",e.displayName)),l}while(1<=o&&0<=a);break}}}finally{gd=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Wo(e):""}function LR(e){switch(e.tag){case 5:return Wo(e.type);case 16:return Wo("Lazy");case 13:return Wo("Suspense");case 19:return Wo("SuspenseList");case 0:case 2:case 15:return e=yd(e.type,!1),e;case 11:return e=yd(e.type.render,!1),e;case 1:return e=yd(e.type,!0),e;default:return""}}function Fh(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case hi:return"Fragment";case di:return"Portal";case Oh:return"Profiler";case Gp:return"StrictMode";case Lh:return"Suspense";case Mh:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case n0:return(e.displayName||"Context")+".Consumer";case t0:return(e._context.displayName||"Context")+".Provider";case Kp:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Yp:return t=e.displayName||null,t!==null?t:Fh(e.type)||"Memo";case br:t=e._payload,e=e._init;try{return Fh(e(t))}catch{}}return null}function MR(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Fh(t);case 8:return t===Gp?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Wr(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function s0(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function FR(e){var t=s0(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var s=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return s.call(this)},set:function(o){r=""+o,i.call(this,o)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function _l(e){e._valueTracker||(e._valueTracker=FR(e))}function i0(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=s0(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Ic(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function jh(e,t){var n=t.checked;return Ce({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function Og(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=Wr(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function o0(e,t){t=t.checked,t!=null&&Hp(e,"checked",t,!1)}function Bh(e,t){o0(e,t);var n=Wr(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?Uh(e,t.type,n):t.hasOwnProperty("defaultValue")&&Uh(e,t.type,Wr(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Lg(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}
vendor: 10,954 bytes, line 80
80function Uh(e,t,n){(t!=="number"||Ic(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var zo=Array.isArray;function _i(e,t,n,r){if(e=e.options,t){t={};for(var s=0;s<n.length;s++)t["$"+n[s]]=!0;for(n=0;n<e.length;n++)s=t.hasOwnProperty("$"+e[n].value),e[n].selected!==s&&(e[n].selected=s),s&&r&&(e[n].defaultSelected=!0)}else{for(n=""+Wr(n),t=null,s=0;s<e.length;s++){if(e[s].value===n){e[s].selected=!0,r&&(e[s].defaultSelected=!0);return}t!==null||e[s].disabled||(t=e[s])}t!==null&&(t.selected=!0)}}function Vh(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(I(91));return Ce({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function Mg(e,t){var n=t.value;if(n==null){if(n=t.children,t=t.defaultValue,n!=null){if(t!=null)throw Error(I(92));if(zo(n)){if(1<n.length)throw Error(I(93));n=n[0]}t=n}t==null&&(t=""),n=t}e._wrapperState={initialValue:Wr(n)}}function a0(e,t){var n=Wr(t.value),r=Wr(t.defaultValue);n!=null&&(n=""+n,n!==e.value&&(e.value=n),t.defaultValue==null&&e.defaultValue!==n&&(e.defaultValue=n)),r!=null&&(e.defaultValue=""+r)}function Fg(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==""&&t!==null&&(e.value=t)}function l0(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function $h(e,t){return e==null||e==="http://www.w3.org/1999/xhtml"?l0(t):e==="http://www.w3.org/2000/svg"&&t==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var Rl,c0=function(e){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(t,n,r,s){MSApp.execUnsafeLocalFunction(function(){return e(t,n,r,s)})}:e}(function(e,t){if(e.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in e)e.innerHTML=t;else{for(Rl=Rl||document.createElement("div"),Rl.innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=Rl.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Sa(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var ea={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},jR=["Webkit","ms","Moz","O"];Object.keys(ea).forEach(function(e){jR.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),ea[t]=ea[e]})});function u0(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||ea.hasOwnProperty(e)&&ea[e]?(""+t).trim():t+"px"}function d0(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,s=u0(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,s):e[n]=s}}var BR=Ce({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Wh(e,t){if(t){if(BR[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(I(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(I(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(I(61))}if(t.style!=null&&typeof t.style!="object")throw Error(I(62))}}function zh(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var qh=null;function Qp(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Hh=null,Ri=null,Di=null;function jg(e){if(e=il(e)){if(typeof Hh!="function")throw Error(I(280));var t=e.stateNode;t&&(t=Ru(t),Hh(e.stateNode,e.type,t))}}function h0(e){Ri?Di?Di.push(e):Di=[e]:Ri=e}function f0(){if(Ri){var e=Ri,t=Di;if(Di=Ri=null,jg(e),t)for(e=0;e<t.length;e++)jg(t[e])}}function p0(e,t){return e(t)}function m0(){}var vd=!1;function b0(e,t,n){if(vd)return e(t,n);vd=!0;try{return p0(e,t,n)}finally{vd=!1,(Ri!==null||Di!==null)&&(m0(),f0())}}function Pa(e,t){var n=e.stateNode;if(n===null)return null;var r=Ru(n);if(r===null)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(e=e.type,r=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!r;break e;default:e=!1}if(e)return null;if(n&&typeof n!="function")throw Error(I(231,t,typeof n));return n}var Gh=!1;if(Gn)try{var xo={};Object.defineProperty(xo,"passive",{get:function(){Gh=!0}}),window.addEventListener("test",xo,xo),window.removeEventListener("test",xo,xo)}catch{Gh=!1}function UR(e,t,n,r,s,i,o,a,l){var c=Array.prototype.slice.call(arguments,3);try{t.apply(n,c)}catch(u){this.onError(u)}}var ta=!1,Oc=null,Lc=!1,Kh=null,VR={onError:function(e){ta=!0,Oc=e}};function $R(e,t,n,r,s,i,o,a,l){ta=!1,Oc=null,UR.apply(VR,arguments)}function WR(e,t,n,r,s,i,o,a,l){if($R.apply(this,arguments),ta){if(ta){var c=Oc;ta=!1,Oc=null}else throw Error(I(198));Lc||(Lc=!0,Kh=c)}}function qs(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function g0(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function Bg(e){if(qs(e)!==e)throw Error(I(188))}function zR(e){var t=e.alternate;if(!t){if(t=qs(e),t===null)throw Error(I(188));return t!==e?null:e}for(var n=e,r=t;;){var s=n.return;if(s===null)break;var i=s.alternate;if(i===null){if(r=s.return,r!==null){n=r;continue}break}if(s.child===i.child){for(i=s.child;i;){if(i===n)return Bg(s),e;if(i===r)return Bg(s),t;i=i.sibling}throw Error(I(188))}if(n.return!==r.return)n=s,r=i;else{for(var o=!1,a=s.child;a;){if(a===n){o=!0,n=s,r=i;break}if(a===r){o=!0,r=s,n=i;break}a=a.sibling}if(!o){for(a=i.child;a;){if(a===n){o=!0,n=i,r=s;break}if(a===r){o=!0,r=i,n=s;break}a=a.sibling}if(!o)throw Error(I(189))}}if(n.alternate!==r)throw Error(I(190))}if(n.tag!==3)throw Error(I(188));return n.stateNode.current===n?e:t}function y0(e){return e=zR(e),e!==null?v0(e):null}function v0(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=v0(e);if(t!==null)return t;e=e.sibling}return null}var w0=Rt.unstable_scheduleCallback,Ug=Rt.unstable_cancelCallback,qR=Rt.unstable_shouldYield,HR=Rt.unstable_requestPaint,_e=Rt.unstable_now,GR=Rt.unstable_getCurrentPriorityLevel,Jp=Rt.unstable_ImmediatePriority,S0=Rt.unstable_UserBlockingPriority,Mc=Rt.unstable_NormalPriority,KR=Rt.unstable_LowPriority,P0=Rt.unstable_IdlePriority,Au=null,An=null;function YR(e){if(An&&typeof An.onCommitFiberRoot=="function")try{An.onCommitFiberRoot(Au,e,void 0,(e.current.flags&128)===128)}catch{}}var un=Math.clz32?Math.clz32:XR,QR=Math.log,JR=Math.LN2;function XR(e){return e>>>=0,e===0?32:31-(QR(e)/JR|0)|0}var Dl=64,Nl=4194304;function qo(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Fc(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,s=e.suspendedLanes,i=e.pingedLanes,o=n&268435455;if(o!==0){var a=o&~s;a!==0?r=qo(a):(i&=o,i!==0&&(r=qo(i)))}else o=n&~s,o!==0?r=qo(o):i!==0&&(r=qo(i));if(r===0)return 0;if(t!==0&&t!==r&&!(t&s)&&(s=r&-r,i=t&-t,s>=i||s===16&&(i&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0<t;)n=31-un(t),s=1<<n,r|=e[n],t&=~s;return r}function ZR(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function eD(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,s=e.expirationTimes,i=e.pendingLanes;0<i;){var o=31-un(i),a=1<<o,l=s[o];l===-1?(!(a&n)||a&r)&&(s[o]=ZR(a,t)):l<=t&&(e.expiredLanes|=a),i&=~a}}function Yh(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function T0(){var e=Dl;return Dl<<=1,!(Dl&4194240)&&(Dl=64),e}function wd(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function rl(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-un(t),e[t]=n}function tD(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<n;){var s=31-un(n),i=1<<s;t[s]=0,r[s]=-1,e[s]=-1,n&=~i}}function Xp(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-un(n),s=1<<r;s&t|e[r]&t&&(e[r]|=t),n&=~s}}var ue=0;function C0(e){return e&=-e,1<e?4<e?e&268435455?16:536870912:4:1}var E0,Zp,A0,x0,k0,Qh=!1,Il=[],Ir=null,Or=null,Lr=null,Ta=new Map,Ca=new Map,vr=[],nD="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Vg(e,t){switch(e){case"focusin":case"focusout":Ir=null;break;case"dragenter":case"dragleave":Or=null;break;case"mouseover":case"mouseout":Lr=null;break;case"pointerover":case"pointerout":Ta.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Ca.delete(t.pointerId)}}function ko(e,t,n,r,s,i){return e===null||e.nativeEvent!==i?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:i,targetContainers:[s]},t!==null&&(t=il(t),t!==null&&Zp(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,s!==null&&t.indexOf(s)===-1&&t.push(s),e)}
vendor: 12,661 bytes, line 80
80function rD(e,t,n,r,s){switch(t){case"focusin":return Ir=ko(Ir,e,t,n,r,s),!0;case"dragenter":return Or=ko(Or,e,t,n,r,s),!0;case"mouseover":return Lr=ko(Lr,e,t,n,r,s),!0;case"pointerover":var i=s.pointerId;return Ta.set(i,ko(Ta.get(i)||null,e,t,n,r,s)),!0;case"gotpointercapture":return i=s.pointerId,Ca.set(i,ko(Ca.get(i)||null,e,t,n,r,s)),!0}return!1}function _0(e){var t=bs(e.target);if(t!==null){var n=qs(t);if(n!==null){if(t=n.tag,t===13){if(t=g0(n),t!==null){e.blockedOn=t,k0(e.priority,function(){A0(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function sc(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=Jh(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);qh=r,n.target.dispatchEvent(r),qh=null}else return t=il(n),t!==null&&Zp(t),e.blockedOn=n,!1;t.shift()}return!0}function $g(e,t,n){sc(e)&&n.delete(t)}function sD(){Qh=!1,Ir!==null&&sc(Ir)&&(Ir=null),Or!==null&&sc(Or)&&(Or=null),Lr!==null&&sc(Lr)&&(Lr=null),Ta.forEach($g),Ca.forEach($g)}function _o(e,t){e.blockedOn===t&&(e.blockedOn=null,Qh||(Qh=!0,Rt.unstable_scheduleCallback(Rt.unstable_NormalPriority,sD)))}function Ea(e){function t(s){return _o(s,e)}if(0<Il.length){_o(Il[0],e);for(var n=1;n<Il.length;n++){var r=Il[n];r.blockedOn===e&&(r.blockedOn=null)}}for(Ir!==null&&_o(Ir,e),Or!==null&&_o(Or,e),Lr!==null&&_o(Lr,e),Ta.forEach(t),Ca.forEach(t),n=0;n<vr.length;n++)r=vr[n],r.blockedOn===e&&(r.blockedOn=null);for(;0<vr.length&&(n=vr[0],n.blockedOn===null);)_0(n),n.blockedOn===null&&vr.shift()}var Ni=nr.ReactCurrentBatchConfig,jc=!0;function iD(e,t,n,r){var s=ue,i=Ni.transition;Ni.transition=null;try{ue=1,em(e,t,n,r)}finally{ue=s,Ni.transition=i}}function oD(e,t,n,r){var s=ue,i=Ni.transition;Ni.transition=null;try{ue=4,em(e,t,n,r)}finally{ue=s,Ni.transition=i}}function em(e,t,n,r){if(jc){var s=Jh(e,t,n,r);if(s===null)Rd(e,t,r,Bc,n),Vg(e,r);else if(rD(s,e,t,n,r))r.stopPropagation();else if(Vg(e,r),t&4&&-1<nD.indexOf(e)){for(;s!==null;){var i=il(s);if(i!==null&&E0(i),i=Jh(e,t,n,r),i===null&&Rd(e,t,r,Bc,n),i===s)break;s=i}s!==null&&r.stopPropagation()}else Rd(e,t,r,null,n)}}var Bc=null;function Jh(e,t,n,r){if(Bc=null,e=Qp(r),e=bs(e),e!==null)if(t=qs(e),t===null)e=null;else if(n=t.tag,n===13){if(e=g0(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Bc=e,null}function R0(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(GR()){case Jp:return 1;case S0:return 4;case Mc:case KR:return 16;case P0:return 536870912;default:return 16}default:return 16}}var _r=null,tm=null,ic=null;function D0(){if(ic)return ic;var e,t=tm,n=t.length,r,s="value"in _r?_r.value:_r.textContent,i=s.length;for(e=0;e<n&&t[e]===s[e];e++);var o=n-e;for(r=1;r<=o&&t[n-r]===s[i-r];r++);return ic=s.slice(e,1<r?1-r:void 0)}function oc(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function Ol(){return!0}function Wg(){return!1}function Nt(e){function t(n,r,s,i,o){this._reactName=n,this._targetInst=s,this.type=r,this.nativeEvent=i,this.target=o,this.currentTarget=null;for(var a in e)e.hasOwnProperty(a)&&(n=e[a],this[a]=n?n(i):i[a]);return this.isDefaultPrevented=(i.defaultPrevented!=null?i.defaultPrevented:i.returnValue===!1)?Ol:Wg,this.isPropagationStopped=Wg,this}return Ce(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=Ol)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=Ol)},persist:function(){},isPersistent:Ol}),t}var fo={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},nm=Nt(fo),sl=Ce({},fo,{view:0,detail:0}),aD=Nt(sl),Sd,Pd,Ro,xu=Ce({},sl,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:rm,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==Ro&&(Ro&&e.type==="mousemove"?(Sd=e.screenX-Ro.screenX,Pd=e.screenY-Ro.screenY):Pd=Sd=0,Ro=e),Sd)},movementY:function(e){return"movementY"in e?e.movementY:Pd}}),zg=Nt(xu),lD=Ce({},xu,{dataTransfer:0}),cD=Nt(lD),uD=Ce({},sl,{relatedTarget:0}),Td=Nt(uD),dD=Ce({},fo,{animationName:0,elapsedTime:0,pseudoElement:0}),hD=Nt(dD),fD=Ce({},fo,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),pD=Nt(fD),mD=Ce({},fo,{data:0}),qg=Nt(mD),bD={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},gD={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},yD={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function vD(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=yD[e])?!!t[e]:!1}function rm(){return vD}var wD=Ce({},sl,{key:function(e){if(e.key){var t=bD[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=oc(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?gD[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:rm,charCode:function(e){return e.type==="keypress"?oc(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?oc(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),SD=Nt(wD),PD=Ce({},xu,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Hg=Nt(PD),TD=Ce({},sl,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:rm}),CD=Nt(TD),ED=Ce({},fo,{propertyName:0,elapsedTime:0,pseudoElement:0}),AD=Nt(ED),xD=Ce({},xu,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),kD=Nt(xD),_D=[9,13,27,32],sm=Gn&&"CompositionEvent"in window,na=null;Gn&&"documentMode"in document&&(na=document.documentMode);var RD=Gn&&"TextEvent"in window&&!na,N0=Gn&&(!sm||na&&8<na&&11>=na),Gg=" ",Kg=!1;function I0(e,t){switch(e){case"keyup":return _D.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function O0(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var fi=!1;function DD(e,t){switch(e){case"compositionend":return O0(t);case"keypress":return t.which!==32?null:(Kg=!0,Gg);case"textInput":return e=t.data,e===Gg&&Kg?null:e;default:return null}}function ND(e,t){if(fi)return e==="compositionend"||!sm&&I0(e,t)?(e=D0(),ic=tm=_r=null,fi=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return N0&&t.locale!=="ko"?null:t.data;default:return null}}var ID={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Yg(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!ID[e.type]:t==="textarea"}function L0(e,t,n,r){h0(r),t=Uc(t,"onChange"),0<t.length&&(n=new nm("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var ra=null,Aa=null;function OD(e){H0(e,0)}function ku(e){var t=bi(e);if(i0(t))return e}function LD(e,t){if(e==="change")return t}var M0=!1;if(Gn){var Cd;if(Gn){var Ed="oninput"in document;if(!Ed){var Qg=document.createElement("div");Qg.setAttribute("oninput","return;"),Ed=typeof Qg.oninput=="function"}Cd=Ed}else Cd=!1;M0=Cd&&(!document.documentMode||9<document.documentMode)}function Jg(){ra&&(ra.detachEvent("onpropertychange",F0),Aa=ra=null)}function F0(e){if(e.propertyName==="value"&&ku(Aa)){var t=[];L0(t,Aa,e,Qp(e)),b0(OD,t)}}function MD(e,t,n){e==="focusin"?(Jg(),ra=t,Aa=n,ra.attachEvent("onpropertychange",F0)):e==="focusout"&&Jg()}function FD(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return ku(Aa)}function jD(e,t){if(e==="click")return ku(t)}function BD(e,t){if(e==="input"||e==="change")return ku(t)}function UD(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var pn=typeof Object.is=="function"?Object.is:UD;function xa(e,t){if(pn(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var s=n[r];if(!Ih.call(t,s)||!pn(e[s],t[s]))return!1}return!0}function Xg(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Zg(e,t){var n=Xg(e);e=0;for(var r;n;){if(n.nodeType===3){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Xg(n)}}function j0(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?j0(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function B0(){for(var e=window,t=Ic();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Ic(e.document)}return t}function im(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function VD(e){var t=B0(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&j0(n.ownerDocument.documentElement,n)){if(r!==null&&im(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var s=n.textContent.length,i=Math.min(r.start,s);r=r.end===void 0?i:Math.min(r.end,s),!e.extend&&i>r&&(s=r,r=i,i=s),s=Zg(n,i);var o=Zg(n,r);s&&o&&(e.rangeCount!==1||e.anchorNode!==s.node||e.anchorOffset!==s.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(s.node,s.offset),e.removeAllRanges(),i>r?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n<t.length;n++)e=t[n],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var $D=Gn&&"documentMode"in document&&11>=document.documentMode,pi=null,Xh=null,sa=null,Zh=!1;
vendor: 4,120 bytes, line 80
80function ey(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Zh||pi==null||pi!==Ic(r)||(r=pi,"selectionStart"in r&&im(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),sa&&xa(sa,r)||(sa=r,r=Uc(Xh,"onSelect"),0<r.length&&(t=new nm("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=pi)))}function Ll(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var mi={animationend:Ll("Animation","AnimationEnd"),animationiteration:Ll("Animation","AnimationIteration"),animationstart:Ll("Animation","AnimationStart"),transitionend:Ll("Transition","TransitionEnd")},Ad={},U0={};Gn&&(U0=document.createElement("div").style,"AnimationEvent"in window||(delete mi.animationend.animation,delete mi.animationiteration.animation,delete mi.animationstart.animation),"TransitionEvent"in window||delete mi.transitionend.transition);function _u(e){if(Ad[e])return Ad[e];if(!mi[e])return e;var t=mi[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in U0)return Ad[e]=t[n];return e}var V0=_u("animationend"),$0=_u("animationiteration"),W0=_u("animationstart"),z0=_u("transitionend"),q0=new Map,ty="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Yr(e,t){q0.set(e,t),zs(t,[e])}for(var xd=0;xd<ty.length;xd++){var kd=ty[xd],WD=kd.toLowerCase(),zD=kd[0].toUpperCase()+kd.slice(1);Yr(WD,"on"+zD)}Yr(V0,"onAnimationEnd");Yr($0,"onAnimationIteration");Yr(W0,"onAnimationStart");Yr("dblclick","onDoubleClick");Yr("focusin","onFocus");Yr("focusout","onBlur");Yr(z0,"onTransitionEnd");eo("onMouseEnter",["mouseout","mouseover"]);eo("onMouseLeave",["mouseout","mouseover"]);eo("onPointerEnter",["pointerout","pointerover"]);eo("onPointerLeave",["pointerout","pointerover"]);zs("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));zs("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));zs("onBeforeInput",["compositionend","keypress","textInput","paste"]);zs("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));zs("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));zs("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Ho="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),qD=new Set("cancel close invalid load scroll toggle".split(" ").concat(Ho));function ny(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,WR(r,t,void 0,e),e.currentTarget=null}function H0(e,t){t=(t&4)!==0;for(var n=0;n<e.length;n++){var r=e[n],s=r.event;r=r.listeners;e:{var i=void 0;if(t)for(var o=r.length-1;0<=o;o--){var a=r[o],l=a.instance,c=a.currentTarget;if(a=a.listener,l!==i&&s.isPropagationStopped())break e;ny(s,a,c),i=l}else for(o=0;o<r.length;o++){if(a=r[o],l=a.instance,c=a.currentTarget,a=a.listener,l!==i&&s.isPropagationStopped())break e;ny(s,a,c),i=l}}}if(Lc)throw e=Kh,Lc=!1,Kh=null,e}function be(e,t){var n=t[sf];n===void 0&&(n=t[sf]=new Set);var r=e+"__bubble";n.has(r)||(G0(t,e,2,!1),n.add(r))}function _d(e,t,n){var r=0;t&&(r|=4),G0(n,e,r,t)}var Ml="_reactListening"+Math.random().toString(36).slice(2);
vendor: 3,228 bytes, line 80
80function ka(e){if(!e[Ml]){e[Ml]=!0,e0.forEach(function(n){n!=="selectionchange"&&(qD.has(n)||_d(n,!1,e),_d(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Ml]||(t[Ml]=!0,_d("selectionchange",!1,t))}}function G0(e,t,n,r){switch(R0(t)){case 1:var s=iD;break;case 4:s=oD;break;default:s=em}n=s.bind(null,t,n,e),s=void 0,!Gh||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(s=!0),r?s!==void 0?e.addEventListener(t,n,{capture:!0,passive:s}):e.addEventListener(t,n,!0):s!==void 0?e.addEventListener(t,n,{passive:s}):e.addEventListener(t,n,!1)}function Rd(e,t,n,r,s){var i=r;if(!(t&1)&&!(t&2)&&r!==null)e:for(;;){if(r===null)return;var o=r.tag;if(o===3||o===4){var a=r.stateNode.containerInfo;if(a===s||a.nodeType===8&&a.parentNode===s)break;if(o===4)for(o=r.return;o!==null;){var l=o.tag;if((l===3||l===4)&&(l=o.stateNode.containerInfo,l===s||l.nodeType===8&&l.parentNode===s))return;o=o.return}for(;a!==null;){if(o=bs(a),o===null)return;if(l=o.tag,l===5||l===6){r=i=o;continue e}a=a.parentNode}}r=r.return}b0(function(){var c=i,u=Qp(n),d=[];e:{var h=q0.get(e);if(h!==void 0){var f=nm,m=e;switch(e){case"keypress":if(oc(n)===0)break e;case"keydown":case"keyup":f=SD;break;case"focusin":m="focus",f=Td;break;case"focusout":m="blur",f=Td;break;case"beforeblur":case"afterblur":f=Td;break;case"click":if(n.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":f=zg;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":f=cD;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":f=CD;break;case V0:case $0:case W0:f=hD;break;case z0:f=AD;break;case"scroll":f=aD;break;case"wheel":f=kD;break;case"copy":case"cut":case"paste":f=pD;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":f=Hg}var b=(t&4)!==0,w=!b&&e==="scroll",y=b?h!==null?h+"Capture":null:h;b=[];for(var g=c,v;g!==null;){v=g;var P=v.stateNode;if(v.tag===5&&P!==null&&(v=P,y!==null&&(P=Pa(g,y),P!=null&&b.push(_a(g,P,v)))),w)break;g=g.return}0<b.length&&(h=new f(h,m,null,n,u),d.push({event:h,listeners:b}))}}if(!(t&7)){e:{if(h=e==="mouseover"||e==="pointerover",f=e==="mouseout"||e==="pointerout",h&&n!==qh&&(m=n.relatedTarget||n.fromElement)&&(bs(m)||m[Kn]))break e;if((f||h)&&(h=u.window===u?u:(h=u.ownerDocument)?h.defaultView||h.parentWindow:window,f?(m=n.relatedTarget||n.toElement,f=c,m=m?bs(m):null,m!==null&&(w=qs(m),m!==w||m.tag!==5&&m.tag!==6)&&(m=null)):(f=null,m=c),f!==m)){if(b=zg,P="onMouseLeave",y="onMouseEnter",g="mouse",(e==="pointerout"||e==="pointerover")&&(b=Hg,P="onPointerLeave",y="onPointerEnter",g="pointer"),w=f==null?h:bi(f),v=m==null?h:bi(m),h=new b(P,g+"leave",f,n,u),h.target=w,h.relatedTarget=v,P=null,bs(u)===c&&(b=new b(y,g+"enter",m,n,u),b.target=v,b.relatedTarget=w,P=b),w=P,f&&m)t:{for(b=f,y=m,g=0,v=b;v;v=si(v))g++;for(v=0,P=y;P;P=si(P))v++;for(;0<g-v;)b=si(b),g--;for(;0<v-g;)y=si(y),v--;for(;g--;){if(b===y||y!==null&&b===y.alternate)break t;b=si(b),y=si(y)}b=null}else b=null;f!==null&&ry(d,h,f,b,!1),m!==null&&w!==null&&ry(d,w,m,b,!0)}}
vendor: 7,582 bytes, lines 80-81
80e:{if(h=c?bi(c):window,f=h.nodeName&&h.nodeName.toLowerCase(),f==="select"||f==="input"&&h.type==="file")var T=LD;else if(Yg(h))if(M0)T=BD;else{T=FD;var C=MD}else(f=h.nodeName)&&f.toLowerCase()==="input"&&(h.type==="checkbox"||h.type==="radio")&&(T=jD);if(T&&(T=T(e,c))){L0(d,T,n,u);break e}C&&C(e,h,c),e==="focusout"&&(C=h._wrapperState)&&C.controlled&&h.type==="number"&&Uh(h,"number",h.value)}switch(C=c?bi(c):window,e){case"focusin":(Yg(C)||C.contentEditable==="true")&&(pi=C,Xh=c,sa=null);break;case"focusout":sa=Xh=pi=null;break;case"mousedown":Zh=!0;break;case"contextmenu":case"mouseup":case"dragend":Zh=!1,ey(d,n,u);break;case"selectionchange":if($D)break;case"keydown":case"keyup":ey(d,n,u)}var A;if(sm)e:{switch(e){case"compositionstart":var x="onCompositionStart";break e;case"compositionend":x="onCompositionEnd";break e;case"compositionupdate":x="onCompositionUpdate";break e}x=void 0}else fi?I0(e,n)&&(x="onCompositionEnd"):e==="keydown"&&n.keyCode===229&&(x="onCompositionStart");x&&(N0&&n.locale!=="ko"&&(fi||x!=="onCompositionStart"?x==="onCompositionEnd"&&fi&&(A=D0()):(_r=u,tm="value"in _r?_r.value:_r.textContent,fi=!0)),C=Uc(c,x),0<C.length&&(x=new qg(x,e,null,n,u),d.push({event:x,listeners:C}),A?x.data=A:(A=O0(n),A!==null&&(x.data=A)))),(A=RD?DD(e,n):ND(e,n))&&(c=Uc(c,"onBeforeInput"),0<c.length&&(u=new qg("onBeforeInput","beforeinput",null,n,u),d.push({event:u,listeners:c}),u.data=A))}H0(d,t)})}function _a(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Uc(e,t){for(var n=t+"Capture",r=[];e!==null;){var s=e,i=s.stateNode;s.tag===5&&i!==null&&(s=i,i=Pa(e,n),i!=null&&r.unshift(_a(e,i,s)),i=Pa(e,t),i!=null&&r.push(_a(e,i,s))),e=e.return}return r}function si(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function ry(e,t,n,r,s){for(var i=t._reactName,o=[];n!==null&&n!==r;){var a=n,l=a.alternate,c=a.stateNode;if(l!==null&&l===r)break;a.tag===5&&c!==null&&(a=c,s?(l=Pa(n,i),l!=null&&o.unshift(_a(n,l,a))):s||(l=Pa(n,i),l!=null&&o.push(_a(n,l,a)))),n=n.return}o.length!==0&&e.push({event:t,listeners:o})}var HD=/\r\n?/g,GD=/\u0000|\uFFFD/g;function sy(e){return(typeof e=="string"?e:""+e).replace(HD,`
81`).replace(GD,"")}function Fl(e,t,n){if(t=sy(t),sy(e)!==t&&n)throw Error(I(425))}function Vc(){}var ef=null,tf=null;function nf(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var rf=typeof setTimeout=="function"?setTimeout:void 0,KD=typeof clearTimeout=="function"?clearTimeout:void 0,iy=typeof Promise=="function"?Promise:void 0,YD=typeof queueMicrotask=="function"?queueMicrotask:typeof iy<"u"?function(e){return iy.resolve(null).then(e).catch(QD)}:rf;function QD(e){setTimeout(function(){throw e})}function Dd(e,t){var n=t,r=0;do{var s=n.nextSibling;if(e.removeChild(n),s&&s.nodeType===8)if(n=s.data,n==="/$"){if(r===0){e.removeChild(s),Ea(t);return}r--}else n!=="$"&&n!=="$?"&&n!=="$!"||r++;n=s}while(n);Ea(t)}function Mr(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?")break;if(t==="/$")return null}}return e}function oy(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="$"||n==="$!"||n==="$?"){if(t===0)return e;t--}else n==="/$"&&t++}e=e.previousSibling}return null}var po=Math.random().toString(36).slice(2),Cn="__reactFiber$"+po,Ra="__reactProps$"+po,Kn="__reactContainer$"+po,sf="__reactEvents$"+po,JD="__reactListeners$"+po,XD="__reactHandles$"+po;function bs(e){var t=e[Cn];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Kn]||n[Cn]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=oy(e);e!==null;){if(n=e[Cn])return n;e=oy(e)}return t}e=n,n=e.parentNode}return null}function il(e){return e=e[Cn]||e[Kn],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function bi(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(I(33))}function Ru(e){return e[Ra]||null}var of=[],gi=-1;function Qr(e){return{current:e}}function ge(e){0>gi||(e.current=of[gi],of[gi]=null,gi--)}function fe(e,t){gi++,of[gi]=e.current,e.current=t}var zr={},st=Qr(zr),yt=Qr(!1),Ms=zr;function to(e,t){var n=e.type.contextTypes;if(!n)return zr;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var s={},i;for(i in n)s[i]=t[i];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=s),s}function vt(e){return e=e.childContextTypes,e!=null}function $c(){ge(yt),ge(st)}function ay(e,t,n){if(st.current!==zr)throw Error(I(168));fe(st,t),fe(yt,n)}function K0(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var s in r)if(!(s in t))throw Error(I(108,MR(e)||"Unknown",s));return Ce({},n,r)}function Wc(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||zr,Ms=st.current,fe(st,e),fe(yt,yt.current),!0}function ly(e,t,n){var r=e.stateNode;if(!r)throw Error(I(169));n?(e=K0(e,t,Ms),r.__reactInternalMemoizedMergedChildContext=e,ge(yt),ge(st),fe(st,e)):ge(yt),fe(yt,n)}var Vn=null,Du=!1,Nd=!1;function Y0(e){Vn===null?Vn=[e]:Vn.push(e)}function ZD(e){Du=!0,Y0(e)}function Jr(){if(!Nd&&Vn!==null){Nd=!0;var e=0,t=ue;try{var n=Vn;for(ue=1;e<n.length;e++){var r=n[e];do r=r(!0);while(r!==null)}Vn=null,Du=!1}catch(s){throw Vn!==null&&(Vn=Vn.slice(e+1)),w0(Jp,Jr),s}finally{ue=t,Nd=!1}}return null}var yi=[],vi=0,zc=null,qc=0,jt=[],Bt=0,Fs=null,Wn=1,zn="";function us(e,t){yi[vi++]=qc,yi[vi++]=zc,zc=e,qc=t}function Q0(e,t,n){jt[Bt++]=Wn,jt[Bt++]=zn,jt[Bt++]=Fs,Fs=e;var r=Wn;e=zn;var s=32-un(r)-1;r&=~(1<<s),n+=1;var i=32-un(t)+s;if(30<i){var o=s-s%5;i=(r&(1<<o)-1).toString(32),r>>=o,s-=o,Wn=1<<32-un(t)+s|n<<s|r,zn=i+e}else Wn=1<<i|n<<s|r,zn=e}function om(e){e.return!==null&&(us(e,1),Q0(e,1,0))}function am(e){for(;e===zc;)zc=yi[--vi],yi[vi]=null,qc=yi[--vi],yi[vi]=null;for(;e===Fs;)Fs=jt[--Bt],jt[Bt]=null,zn=jt[--Bt],jt[Bt]=null,Wn=jt[--Bt],jt[Bt]=null}var kt=null,xt=null,ve=!1,ln=null;function J0(e,t){var n=Ut(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,t=e.deletions,t===null?(e.deletions=[n],e.flags|=16):t.push(n)}function cy(e,t){switch(e.tag){case 5:var n=e.type;return t=t.nodeType!==1||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null?(e.stateNode=t,kt=e,xt=Mr(t.firstChild),!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,kt=e,xt=null,!0):!1;case 13:return t=t.nodeType!==8?null:t,t!==null?(n=Fs!==null?{id:Wn,overflow:zn}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},n=Ut(18,null,null,0),n.stateNode=t,n.return=e,e.child=n,kt=e,xt=null,!0):!1;default:return!1}}function af(e){return(e.mode&1)!==0&&(e.flags&128)===0}function lf(e){if(ve){var t=xt;if(t){var n=t;if(!cy(e,t)){if(af(e))throw Error(I(418));t=Mr(n.nextSibling);var r=kt;t&&cy(e,t)?J0(r,n):(e.flags=e.flags&-4097|2,ve=!1,kt=e)}}else{if(af(e))throw Error(I(418));e.flags=e.flags&-4097|2,ve=!1,kt=e}}}function uy(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;kt=e}function jl(e){if(e!==kt)return!1;if(!ve)return uy(e),ve=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!=="head"&&t!=="body"&&!nf(e.type,e.memoizedProps)),t&&(t=xt)){if(af(e))throw X0(),Error(I(418));for(;t;)J0(e,t),t=Mr(t.nextSibling)}if(uy(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(I(317)
vendor: 22,620 bytes, lines 81-83
81);e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="/$"){if(t===0){xt=Mr(e.nextSibling);break e}t--}else n!=="$"&&n!=="$!"&&n!=="$?"||t++}e=e.nextSibling}xt=null}}else xt=kt?Mr(e.stateNode.nextSibling):null;return!0}function X0(){for(var e=xt;e;)e=Mr(e.nextSibling)}function no(){xt=kt=null,ve=!1}function lm(e){ln===null?ln=[e]:ln.push(e)}var eN=nr.ReactCurrentBatchConfig;function Do(e,t,n){if(e=n.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(n._owner){if(n=n._owner,n){if(n.tag!==1)throw Error(I(309));var r=n.stateNode}if(!r)throw Error(I(147,e));var s=r,i=""+e;return t!==null&&t.ref!==null&&typeof t.ref=="function"&&t.ref._stringRef===i?t.ref:(t=function(o){var a=s.refs;o===null?delete a[i]:a[i]=o},t._stringRef=i,t)}if(typeof e!="string")throw Error(I(284));if(!n._owner)throw Error(I(290,e))}return e}function Bl(e,t){throw e=Object.prototype.toString.call(t),Error(I(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function dy(e){var t=e._init;return t(e._payload)}function Z0(e){function t(y,g){if(e){var v=y.deletions;v===null?(y.deletions=[g],y.flags|=16):v.push(g)}}function n(y,g){if(!e)return null;for(;g!==null;)t(y,g),g=g.sibling;return null}function r(y,g){for(y=new Map;g!==null;)g.key!==null?y.set(g.key,g):y.set(g.index,g),g=g.sibling;return y}function s(y,g){return y=Ur(y,g),y.index=0,y.sibling=null,y}function i(y,g,v){return y.index=v,e?(v=y.alternate,v!==null?(v=v.index,v<g?(y.flags|=2,g):v):(y.flags|=2,g)):(y.flags|=1048576,g)}function o(y){return e&&y.alternate===null&&(y.flags|=2),y}function a(y,g,v,P){return g===null||g.tag!==6?(g=Bd(v,y.mode,P),g.return=y,g):(g=s(g,v),g.return=y,g)}function l(y,g,v,P){var T=v.type;return T===hi?u(y,g,v.props.children,P,v.key):g!==null&&(g.elementType===T||typeof T=="object"&&T!==null&&T.$$typeof===br&&dy(T)===g.type)?(P=s(g,v.props),P.ref=Do(y,g,v),P.return=y,P):(P=fc(v.type,v.key,v.props,null,y.mode,P),P.ref=Do(y,g,v),P.return=y,P)}function c(y,g,v,P){return g===null||g.tag!==4||g.stateNode.containerInfo!==v.containerInfo||g.stateNode.implementation!==v.implementation?(g=Ud(v,y.mode,P),g.return=y,g):(g=s(g,v.children||[]),g.return=y,g)}function u(y,g,v,P,T){return g===null||g.tag!==7?(g=Os(v,y.mode,P,T),g.return=y,g):(g=s(g,v),g.return=y,g)}function d(y,g,v){if(typeof g=="string"&&g!==""||typeof g=="number")return g=Bd(""+g,y.mode,v),g.return=y,g;if(typeof g=="object"&&g!==null){switch(g.$$typeof){case kl:return v=fc(g.type,g.key,g.props,null,y.mode,v),v.ref=Do(y,null,g),v.return=y,v;case di:return g=Ud(g,y.mode,v),g.return=y,g;case br:var P=g._init;return d(y,P(g._payload),v)}if(zo(g)||Ao(g))return g=Os(g,y.mode,v,null),g.return=y,g;Bl(y,g)}return null}function h(y,g,v,P){var T=g!==null?g.key:null;if(typeof v=="string"&&v!==""||typeof v=="number")return T!==null?null:a(y,g,""+v,P);if(typeof v=="object"&&v!==null){switch(v.$$typeof){case kl:return v.key===T?l(y,g,v,P):null;case di:return v.key===T?c(y,g,v,P):null;case br:return T=v._init,h(y,g,T(v._payload),P)}if(zo(v)||Ao(v))return T!==null?null:u(y,g,v,P,null);Bl(y,v)}return null}function f(y,g,v,P,T){if(typeof P=="string"&&P!==""||typeof P=="number")return y=y.get(v)||null,a(g,y,""+P,T);if(typeof P=="object"&&P!==null){switch(P.$$typeof){case kl:return y=y.get(P.key===null?v:P.key)||null,l(g,y,P,T);case di:return y=y.get(P.key===null?v:P.key)||null,c(g,y,P,T);case br:var C=P._init;return f(y,g,v,C(P._payload),T)}if(zo(P)||Ao(P))return y=y.get(v)||null,u(g,y,P,T,null);Bl(g,P)}return null}function m(y,g,v,P){for(var T=null,C=null,A=g,x=g=0,k=null;A!==null&&x<v.length;x++){A.index>x?(k=A,A=null):k=A.sibling;var R=h(y,A,v[x],P);if(R===null){A===null&&(A=k);break}e&&A&&R.alternate===null&&t(y,A),g=i(R,g,x),C===null?T=R:C.sibling=R,C=R,A=k}if(x===v.length)return n(y,A),ve&&us(y,x),T;if(A===null){for(;x<v.length;x++)A=d(y,v[x],P),A!==null&&(g=i(A,g,x),C===null?T=A:C.sibling=A,C=A);return ve&&us(y,x),T}for(A=r(y,A);x<v.length;x++)k=f(A,y,x,v[x],P),k!==null&&(e&&k.alternate!==null&&A.delete(k.key===null?x:k.key),g=i(k,g,x),C===null?T=k:C.sibling=k,C=k);return e&&A.forEach(function(F){return t(y,F)}),ve&&us(y,x),T}function b(y,g,v,P){var T=Ao(v);if(typeof T!="function")throw Error(I(150));if(v=T.call(v),v==null)throw Error(I(151));for(var C=T=null,A=g,x=g=0,k=null,R=v.next();A!==null&&!R.done;x++,R=v.next()){A.index>x?(k=A,A=null):k=A.sibling;var F=h(y,A,R.value,P);if(F===null){A===null&&(A=k);break}e&&A&&F.alternate===null&&t(y,A),g=i(F,g,x),C===null?T=F:C.sibling=F,C=F,A=k}if(R.done)return n(y,A),ve&&us(y,x),T;if(A===null){for(;!R.done;x++,R=v.next())R=d(y,R.value,P),R!==null&&(g=i(R,g,x),C===null?T=R:C.sibling=R,C=R);return ve&&us(y,x),T}for(A=r(y,A);!R.done;x++,R=v.next())R=f(A,y,x,R.value,P),R!==null&&(e&&R.alternate!==null&&A.delete(R.key===null?x:R.key),g=i(R,g,x),C===null?T=R:C.sibling=R,C=R);return e&&A.forEach(function(O){return t(y,O)}),ve&&us(y,x),T}function w(y,g,v,P){if(typeof v=="object"&&v!==null&&v.type===hi&&v.key===null&&(v=v.props.children),typeof v=="object"&&v!==null){switch(v.$$typeof){case kl:e:{for(var T=v.key,C=g;C!==null;){if(C.key===T){if(T=v.type,T===hi){if(C.tag===7){n(y,C.sibling),g=s(C,v.props.children),g.return=y,y=g;break e}}else if(C.elementType===T||typeof T=="object"&&T!==null&&T.$$typeof===br&&dy(T)===C.type){n(y,C.sibling),g=s(C,v.props),g.ref=Do(y,C,v),g.return=y,y=g;break e}n(y,C);break}else t(y,C);C=C.sibling}v.type===hi?(g=Os(v.props.children,y.mode,P,v.key),g.return=y,y=g):(P=fc(v.type,v.key,v.props,null,y.mode,P),P.ref=Do(y,g,v),P.return=y,y=P)}return o(y);case di:e:{for(C=v.key;g!==null;){if(g.key===C)if(g.tag===4&&g.stateNode.containerInfo===v.containerInfo&&g.stateNode.implementation===v.implementation){n(y,g.sibling),g=s(g,v.children||[]),g.return=y,y=g;break e}else{n(y,g);break}else t(y,g);g=g.sibling}g=Ud(v,y.mode,P),g.return=y,y=g}return o(y);case br:return C=v._init,w(y,g,C(v._payload),P)}if(zo(v))return m(y,g,v,P);if(Ao(v))return b(y,g,v,P);Bl(y,v)}return typeof v=="string"&&v!==""||typeof v=="number"?(v=""+v,g!==null&&g.tag===6?(n(y,g.sibling),g=s(g,v),g.return=y,y=g):(n(y,g),g=Bd(v,y.mode,P),g.return=y,y=g),o(y)):n(y,g)}return w}var ro=Z0(!0),eP=Z0(!1),Hc=Qr(null),Gc=null,wi=null,cm=null;function um(){cm=wi=Gc=null}function dm(e){var t=Hc.current;ge(Hc),e._currentValue=t}function cf(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Ii(e,t){Gc=e,cm=wi=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(gt=!0),e.firstContext=null)}function zt(e){var t=e._currentValue;if(cm!==e)if(e={context:e,memoizedValue:t,next:null},wi===null){if(Gc===null)throw Error(I(308));wi=e,Gc.dependencies={lanes:0,firstContext:e}}else wi=wi.next=e;return t}var gs=null;function hm(e){gs===null?gs=[e]:gs.push(e)}function tP(e,t,n,r){var s=t.interleaved;return s===null?(n.next=n,hm(t)):(n.next=s.next,s.next=n),t.interleaved=n,Yn(e,r)}function Yn(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var gr=!1;function fm(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function nP(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Hn(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Fr(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,ae&2){var s=r.pending;return s===null?t.next=t:(t.next=s.next,s.next=t),r.pending=t,Yn(e,n)}return s=r.interleaved,s===null?(t.next=t,hm(r)):(t.next=s.next,s.next=t),r.interleaved=t,Yn(e,n)}function ac(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Xp(e,n)}}function hy(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var s=null,i=null;if(n=n.firstBaseUpdate,n!==null){do{var o={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};i===null?s=i=o:i=i.next=o,n=n.next}while(n!==null);i===null?s=i=t:i=i.next=t}else s=i=t;n={baseState:r.baseState,firstBaseUpdate:s,lastBaseUpdate:i,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Kc(e,t,n,r){var s=e.updateQueue;gr=!1;var i=s.firstBaseUpdate,o=s.lastBaseUpdate,a=s.shared.pending;if(a!==null){s.shared.pending=null;var l=a,c=l.next;l.next=null,o===null?i=c:o.next=c,o=l;var u=e.alternate;u!==null&&(u=u.updateQueue,a=u.lastBaseUpdate,a!==o&&(a===null?u.firstBaseUpdate=c:a.next=c,u.lastBaseUpdate=l))}if(i!==null){var d=s.baseState;o=0,u=c=l=null,a=i;do{var h=a.lane,f=a.eventTime;if((r&h)===h){u!==null&&(u=u.next={eventTime:f,lane:0,tag:a.tag,payload:a.payload,callback:a.callback,next:null});e:{var m=e,b=a;switch(h=t,f=n,b.tag){case 1:if(m=b.payload,typeof m=="function"){d=m.call(f,d,h);break e}d=m;break e;case 3:m.flags=m.flags&-65537|128;case 0:if(m=b.payload,h=typeof m=="function"?m.call(f,d,h):m,h==null)break e;d=Ce({},d,h);break e;case 2:gr=!0}}a.callback!==null&&a.lane!==0&&(e.flags|=64,h=s.effects,h===null?s.effects=[a]:h.push(a))}else f={eventTime:f,lane:h,tag:a.tag,payload:a.payload,callback:a.callback,next:null},u===null?(c=u=f,l=d):u=u.next=f,o|=h;if(a=a.next,a===null){if(a=s.shared.pending,a===null)break;h=a,a=h.next,h.next=null,s.lastBaseUpdate=h,s.shared.pending=null}}while(!0);if(u===null&&(l=d),s.baseState=l,s.firstBaseUpdate=c,s.lastBaseUpdate=u,t=s.shared.interleaved,t!==null){s=t;do o|=s.lane,s=s.next;while(s!==t)}else i===null&&(s.shared.lanes=0);Bs|=o,e.lanes=o,e.memoizedState=d}}function fy(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var r=e[t],s=r.callback;if(s!==null){if(r.callback=null,r=n,typeof s!="function")throw Error(I(191,s));s.call(r)}}}var ol={},xn=Qr(ol),Da=Qr(ol),Na=Qr(ol);function ys(e){if(e===ol)throw Error(I(174));return e}function pm(e,t){switch(fe(Na,t),fe(Da,e),fe(xn,ol),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:$h(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=$h(t,e)}ge(xn),fe(xn,t)}function so(){ge(xn),ge(Da),ge(Na)}function rP(e){ys(Na.current);var t=ys(xn.current),n=$h(t,e.type);t!==n&&(fe(Da,e),fe(xn,n))}function mm(e){Da.current===e&&(ge(xn),ge(Da))}var Se=Qr(0);function Yc(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Id=[];function bm(){for(var e=0;e<Id.length;e++)Id[e]._workInProgressVersionPrimary=null;Id.length=0}var lc=nr.ReactCurrentDispatcher,Od=nr.ReactCurrentBatchConfig,js=0,Te=null,je=null,Ve=null,Qc=!1,ia=!1,Ia=0,tN=0;function Ze(){throw Error(I(321))}function gm(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!pn(e[n],t[n]))return!1;return!0}function ym(e,t,n,r,s,i){if(js=i,Te=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,lc.current=e===null||e.memoizedState===null?iN:oN,e=n(r,s),ia){i=0;do{if(ia=!1,Ia=0,25<=i)throw Error(I(301));i+=1,Ve=je=null,t.updateQueue=null,lc.current=aN,e=n(r,s)}while(ia)}if(lc.current=Jc,t=je!==null&&je.next!==null,js=0,Ve=je=Te=null,Qc=!1,t)throw Error(I(300));return e}function vm(){var e=Ia!==0;return Ia=0,e}function vn(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Ve===null?Te.memoizedState=Ve=e:Ve=Ve.next=e,Ve}function qt(){if(je===null){var e=Te.alternate;e=e!==null?e.memoizedState:null}else e=je.next;var t=Ve===null?Te.memoizedState:Ve.next;if(t!==null)Ve=t,je=e;else{if(e===null)throw Error(I(310));je=e,e={memoizedState:je.memoizedState,baseState:je.baseState,baseQueue:je.baseQueue,queue:je.queue,next:null},Ve===null?Te.memoizedState=Ve=e:Ve=Ve.next=e}return Ve}function Oa(e,t){return typeof t=="function"?t(e):t}function Ld(e){var t=qt(),n=t.queue;if(n===null)throw Error(I(311));n.lastRenderedReducer=e;var r=je,s=r.baseQueue,i=n.pending;if(i!==null){if(s!==null){var o=s.next;s.next=i.next,i.next=o}r.baseQueue=s=i,n.pending=null}if(s!==null){i=s.next,r=r.baseState;var a=o=null,l=null,c=i;do{var u=c.lane;if((js&u)===u)l!==null&&(l=l.next={lane:0,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null}),r=c.hasEagerState?c.eagerState:e(r,c.action);else{var d={lane:u,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null};l===null?(a=l=d,o=r):l=l.next=d,Te.lanes|=u,Bs|=u}c=c.next}while(c!==null&&c!==i);l===null?o=r:l.next=a,pn(r,t.memoizedState)||(gt=!0),t.memoizedState=r,t.baseState=o,t.baseQueue=l,n.lastRenderedState=r}if(e=n.interleaved,e!==null){s=e;do i=s.lane,Te.lanes|=i,Bs|=i,s=s.next;while(s!==e)}else s===null&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function Md(e){var t=qt(),n=t.queue;if(n===null)throw Error(I(311));n.lastRenderedReducer=e;var r=n.dispatch,s=n.pending,i=t.memoizedState;if(s!==null){n.pending=null;var o=s=s.next;do i=e(i,o.action),o=o.next;while(o!==s);pn(i,t.memoizedState)||(gt=!0),t.memoizedState=i,t.baseQueue===null&&(t.baseState=i),n.lastRenderedState=i}return[i,r]}function sP(){}function iP(e,t){var n=Te,r=qt(),s=t(),i=!pn(r.memoizedState,s);if(i&&(r.memoizedState=s,gt=!0),r=r.queue,wm(lP.bind(null,n,r,e),[e]),r.getSnapshot!==t||i||Ve!==null&&Ve.memoizedState.tag&1){if(n.flags|=2048,La(9,aP.bind(null,n,r,s,t),void 0,null),$e===null)throw Error(I(349));js&30||oP(n,t,s)}return s}function oP(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=Te.updateQueue,t===null?(t={lastEffect:null,stores:null},Te.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function aP(e,t,n,r){t.value=n,t.getSnapshot=r,cP(t)&&uP(e)}function lP(e,t,n){return n(function(){cP(t)&&uP(e)})}function cP(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!pn(e,n)}catch{return!0}}function uP(e){var t=Yn(e,1);t!==null&&dn(t,e,1,-1)}function py(e){var t=vn();return typeof e=="function"&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Oa,lastRenderedState:e},t.queue=e,e=e.dispatch=sN.bind(null,Te,e),[t.memoizedState,e]}function La(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},t=Te.updateQueue,t===null?(t={lastEffect:null,stores:null},Te.updateQueue=t,t.lastEffect=e.next=e):(n=t.lastEffect,n===null?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e)),e}function dP(){return qt().memoizedState}function cc(e,t,n,r){var s=vn();Te.flags|=e,s.memoizedState=La(1|t,n,void 0,r===void 0?null:r)}function Nu(e,t,n,r){var s=qt();r=r===void 0?null:r;var i=void 0;if(je!==null){var o=je.memoizedState;if(i=o.destroy,r!==null&&gm(r,o.deps)){s.memoizedState=La(t,n,i,r);return}}Te.flags|=e,s.memoizedState=La(1|t,n,i,r)}function my(e,t){return cc(8390656,8,e,t)}function wm(e,t){return Nu(2048,8,e,t)}function hP(e,t){return Nu(4,2,e,t)}function fP(e,t){return Nu(4,4,e,t)}function pP(e,t){if(typeof t=="function")return e=e(),t(e),function(){t(null)};if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function mP(e,t,n){return n=n!=null?n.concat([e]):null,Nu(4,4,pP.bind(null,t,e),n)}function Sm(){}function bP(e,t){var n=qt();t=t===void 0?null:t;var r=n.memoizedState;return r!==null&&t!==null&&gm(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function gP(e,t){var n=qt();t=t===void 0?null:t;var r=n.memoizedState;return r!==null&&t!==null&&gm(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function yP(e,t,n){return js&21?(pn(n,t)||(n=T0(),Te.lanes|=n,Bs|=n,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,gt=!0),e.memoizedState=n)}function nN(e,t){var n=ue;ue=n!==0&&4>n?n:4,e(!0);var r=Od.transition;Od.transition={};try{e(!1),t()}finally{ue=n,Od.transition=r}}function vP(){return qt().memoizedState}function rN(e,t,n){var r=Br(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},wP(e))SP(t,n);else if(n=tP(e,t,n,r),n!==null){var s=ut();dn(n,e,r,s),PP(n,t,r)}}function sN(e,t,n){var r=Br(e),s={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(wP(e))SP(t,s);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var o=t.lastRenderedState,a=i(o,n);if(s.hasEagerState=!0,s.eagerState=a,pn(a,o)){var l=t.interleaved;l===null?(s.next=s,hm(t)):(s.next=l.next,l.next=s),t.interleaved=s;return}}catch{}finally{}n=tP(e,t,s,r),n!==null&&(s=ut(),dn(n,e,r,s),PP(n,t,r))}}function wP(e){var t=e.alternate;return e===Te||t!==null&&t===Te}function SP(e,t){ia=Qc=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function PP(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Xp(e,n)}}var Jc={readContext:zt,useCallback:Ze,useContext:Ze,useEffect:Ze,useImperativeHandle:Ze,useInsertionEffect:Ze,useLayoutEffect:Ze,useMemo:Ze,useReducer:Ze,useRef:Ze,useState:Ze,useDebugValue:Ze,useDeferredValue:Ze,useTransition:Ze,useMutableSource:Ze,useSyncExternalStore:Ze,useId:Ze,unstable_isNewReconciler:!1},iN={readContext:zt,useCallback:function(e,t){return vn().memoizedState=[e,t===void 0?null:t],e},useContext:zt,useEffect:my,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,cc(4194308,4,pP.bind(null,t,e),n)},useLayoutEffect:function(e,t){return cc(4194308,4,e,t)},useInsertionEffect:function(e,t){return cc(4,2,e,t)},useMemo:function(e,t){var n=vn();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=vn();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=rN.bind(null,Te,e),[r.memoizedState,e]},useRef:function(e){var t=vn();return e={current:e},t.memoizedState=e},useState:py,useDebugValue:Sm,useDeferredValue:function(e){return vn().memoizedState=e},useTransition:function(){var e=py(!1),t=e[0];return e=nN.bind(null,e[1]),vn().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=Te,s=vn();if(ve){if(n===void 0)throw Error(I(407));n=n()}else{if(n=t(),$e===null)throw Error(I(349));js&30||oP(r,t,n)}s.memoizedState=n;var i={value:n,getSnapshot:t};return s.queue=i,my(lP.bind(null,r,i,e),[e]),r.flags|=2048,La(9,aP.bind(null,r,i,n,t),void 0,null),n},useId:function(){var e=vn(),t=$e.identifierPrefix;if(ve){var n=zn,r=Wn;n=(r&~(1<<32-un(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=Ia++,0<n&&(t+="H"+n.toString(32)),t+=":"}else n=tN++,t=":"+t+"r"+n.toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},oN={readContext:zt,useCallback:bP,useContext:zt,useEffect:wm,useImperativeHandle:mP,useInsertionEffect:hP,useLayoutEffect:fP,useMemo:gP,useReducer:Ld,useRef:dP,useState:function(){return Ld(Oa)},useDebugValue:Sm,useDeferredValue:function(e){var t=qt();return yP(t,je.memoizedState,e)},useTransition:function(){var e=Ld(Oa)[0],t=qt().memoizedState;return[e,t]},useMutableSource:sP,useSyncExternalStore:iP,useId:vP,unstable_isNewReconciler:!1},aN={readContext:zt,useCallback:bP,useContext:zt,useEffect:wm,useImperativeHandle:mP,useInsertionEffect:hP,useLayoutEffect:fP,useMemo:gP,useReducer:Md,useRef:dP,useState:function(){return Md(Oa)},useDebugValue:Sm,useDeferredValue:function(e){var t=qt();return je===null?t.memoizedState=e:yP(t,je.memoizedState,e)},useTransition:function(){var e=Md(Oa)[0],t=qt().memoizedState;return[e,t]},useMutableSource:sP,useSyncExternalStore:iP,useId:vP,unstable_isNewReconciler:!1};function tn(e,t){if(e&&e.defaultProps){t=Ce({},t),e=e.defaultProps;for(var n in e)t[n]===void 0&&(t[n]=e[n]);return t}return t}function uf(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:Ce({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var Iu={isMounted:function(e){return(e=e._reactInternals)?qs(e)===e:!1},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=ut(),s=Br(e),i=Hn(r,s);i.payload=t,n!=null&&(i.callback=n),t=Fr(e,i,s),t!==null&&(dn(t,e,s,r),ac(t,e,s))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=ut(),s=Br(e),i=Hn(r,s);i.tag=1,i.payload=t,n!=null&&(i.callback=n),t=Fr(e,i,s),t!==null&&(dn(t,e,s,r),ac(t,e,s))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=ut(),r=Br(e),s=Hn(n,r);s.tag=2,t!=null&&(s.callback=t),t=Fr(e,s,r),t!==null&&(dn(t,e,r,n),ac(t,e,r))}};function by(e,t,n,r,s,i,o){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(r,i,o):t.prototype&&t.prototype.isPureReactComponent?!xa(n,r)||!xa(s,i):!0}function TP(e,t,n){var r=!1,s=zr,i=t.contextType;return typeof i=="object"&&i!==null?i=zt(i):(s=vt(t)?Ms:st.current,r=t.contextTypes,i=(r=r!=null)?to(e,s):zr),t=new t(n,i),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=Iu,e.stateNode=t,t._reactInternals=e,r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=s,e.__reactInternalMemoizedMaskedChildContext=i),t}function gy(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&Iu.enqueueReplaceState(t,t.state,null)}function df(e,t,n,r){var s=e.stateNode;s.props=n,s.state=e.memoizedState,s.refs={},fm(e);var i=t.contextType;typeof i=="object"&&i!==null?s.context=zt(i):(i=vt(t)?Ms:st.current,s.context=to(e,i)),s.state=e.memoizedState,i=t.getDerivedStateFromProps,typeof i=="function"&&(uf(e,t,i,n),s.state=e.memoizedState),typeof t.getDerivedStateFromProps=="function"||typeof s.getSnapshotBeforeUpdate=="function"||typeof s.UNSAFE_componentWillMount!="function"&&typeof s.componentWillMount!="function"||(t=s.state,typeof s.componentWillMount=="function"&&s.componentWillMount(),typeof s.UNSAFE_componentWillMount=="function"&&s.UNSAFE_componentWillMount(),t!==s.state&&Iu.enqueueReplaceState(s,s.state,null),Kc(e,n,s,r),s.state=e.memoizedState),typeof s.componentDidMount=="function"&&(e.flags|=4194308)}function io(e,t){try{var n="",r=t;do n+=LR(r),r=r.return;while(r);var s=n}catch(i){s=`
82Error generating stack: `+i.message+`
83`+i.stack}return{value:e,source:t,stack:s,digest:null}}
vendor: 11,185 bytes, line 83
83function Fd(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function hf(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var lN=typeof WeakMap=="function"?WeakMap:Map;function CP(e,t,n){n=Hn(-1,n),n.tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Zc||(Zc=!0,Pf=r),hf(e,t)},n}function EP(e,t,n){n=Hn(-1,n),n.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r=="function"){var s=t.value;n.payload=function(){return r(s)},n.callback=function(){hf(e,t)}}var i=e.stateNode;return i!==null&&typeof i.componentDidCatch=="function"&&(n.callback=function(){hf(e,t),typeof r!="function"&&(jr===null?jr=new Set([this]):jr.add(this));var o=t.stack;this.componentDidCatch(t.value,{componentStack:o!==null?o:""})}),n}function yy(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new lN;var s=new Set;r.set(t,s)}else s=r.get(t),s===void 0&&(s=new Set,r.set(t,s));s.has(n)||(s.add(n),e=PN.bind(null,e,t,n),t.then(e,e))}function vy(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function wy(e,t,n,r,s){return e.mode&1?(e.flags|=65536,e.lanes=s,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=Hn(-1,1),t.tag=2,Fr(n,t,1))),n.lanes|=1),e)}var cN=nr.ReactCurrentOwner,gt=!1;function at(e,t,n,r){t.child=e===null?eP(t,null,n,r):ro(t,e.child,n,r)}function Sy(e,t,n,r,s){n=n.render;var i=t.ref;return Ii(t,s),r=ym(e,t,n,r,i,s),n=vm(),e!==null&&!gt?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~s,Qn(e,t,s)):(ve&&n&&om(t),t.flags|=1,at(e,t,r,s),t.child)}function Py(e,t,n,r,s){if(e===null){var i=n.type;return typeof i=="function"&&!_m(i)&&i.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=i,AP(e,t,i,r,s)):(e=fc(n.type,null,r,t,t.mode,s),e.ref=t.ref,e.return=t,t.child=e)}if(i=e.child,!(e.lanes&s)){var o=i.memoizedProps;if(n=n.compare,n=n!==null?n:xa,n(o,r)&&e.ref===t.ref)return Qn(e,t,s)}return t.flags|=1,e=Ur(i,r),e.ref=t.ref,e.return=t,t.child=e}function AP(e,t,n,r,s){if(e!==null){var i=e.memoizedProps;if(xa(i,r)&&e.ref===t.ref)if(gt=!1,t.pendingProps=r=i,(e.lanes&s)!==0)e.flags&131072&&(gt=!0);else return t.lanes=e.lanes,Qn(e,t,s)}return ff(e,t,n,r,s)}function xP(e,t,n){var r=t.pendingProps,s=r.children,i=e!==null?e.memoizedState:null;if(r.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},fe(Pi,Ct),Ct|=n;else{if(!(n&1073741824))return e=i!==null?i.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,fe(Pi,Ct),Ct|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=i!==null?i.baseLanes:n,fe(Pi,Ct),Ct|=r}else i!==null?(r=i.baseLanes|n,t.memoizedState=null):r=n,fe(Pi,Ct),Ct|=r;return at(e,t,s,n),t.child}function kP(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function ff(e,t,n,r,s){var i=vt(n)?Ms:st.current;return i=to(t,i),Ii(t,s),n=ym(e,t,n,r,i,s),r=vm(),e!==null&&!gt?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~s,Qn(e,t,s)):(ve&&r&&om(t),t.flags|=1,at(e,t,n,s),t.child)}function Ty(e,t,n,r,s){if(vt(n)){var i=!0;Wc(t)}else i=!1;if(Ii(t,s),t.stateNode===null)uc(e,t),TP(t,n,r),df(t,n,r,s),r=!0;else if(e===null){var o=t.stateNode,a=t.memoizedProps;o.props=a;var l=o.context,c=n.contextType;typeof c=="object"&&c!==null?c=zt(c):(c=vt(n)?Ms:st.current,c=to(t,c));var u=n.getDerivedStateFromProps,d=typeof u=="function"||typeof o.getSnapshotBeforeUpdate=="function";d||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(a!==r||l!==c)&&gy(t,o,r,c),gr=!1;var h=t.memoizedState;o.state=h,Kc(t,r,o,s),l=t.memoizedState,a!==r||h!==l||yt.current||gr?(typeof u=="function"&&(uf(t,n,u,r),l=t.memoizedState),(a=gr||by(t,n,a,r,h,l,c))?(d||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount=="function"&&(t.flags|=4194308)):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),o.props=r,o.state=l,o.context=c,r=a):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{o=t.stateNode,nP(e,t),a=t.memoizedProps,c=t.type===t.elementType?a:tn(t.type,a),o.props=c,d=t.pendingProps,h=o.context,l=n.contextType,typeof l=="object"&&l!==null?l=zt(l):(l=vt(n)?Ms:st.current,l=to(t,l));var f=n.getDerivedStateFromProps;(u=typeof f=="function"||typeof o.getSnapshotBeforeUpdate=="function")||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(a!==d||h!==l)&&gy(t,o,r,l),gr=!1,h=t.memoizedState,o.state=h,Kc(t,r,o,s);var m=t.memoizedState;a!==d||h!==m||yt.current||gr?(typeof f=="function"&&(uf(t,n,f,r),m=t.memoizedState),(c=gr||by(t,n,c,r,h,m,l)||!1)?(u||typeof o.UNSAFE_componentWillUpdate!="function"&&typeof o.componentWillUpdate!="function"||(typeof o.componentWillUpdate=="function"&&o.componentWillUpdate(r,m,l),typeof o.UNSAFE_componentWillUpdate=="function"&&o.UNSAFE_componentWillUpdate(r,m,l)),typeof o.componentDidUpdate=="function"&&(t.flags|=4),typeof o.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof o.componentDidUpdate!="function"||a===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||a===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=m),o.props=r,o.state=m,o.context=l,r=c):(typeof o.componentDidUpdate!="function"||a===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||a===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),r=!1)}return pf(e,t,n,r,i,s)}function pf(e,t,n,r,s,i){kP(e,t);var o=(t.flags&128)!==0;if(!r&&!o)return s&&ly(t,n,!1),Qn(e,t,i);r=t.stateNode,cN.current=t;var a=o&&typeof n.getDerivedStateFromError!="function"?null:r.render();return t.flags|=1,e!==null&&o?(t.child=ro(t,e.child,null,i),t.child=ro(t,null,a,i)):at(e,t,a,i),t.memoizedState=r.state,s&&ly(t,n,!0),t.child}function _P(e){var t=e.stateNode;t.pendingContext?ay(e,t.pendingContext,t.pendingContext!==t.context):t.context&&ay(e,t.context,!1),pm(e,t.containerInfo)}function Cy(e,t,n,r,s){return no(),lm(s),t.flags|=256,at(e,t,n,r),t.child}var mf={dehydrated:null,treeContext:null,retryLane:0};function bf(e){return{baseLanes:e,cachePool:null,transitions:null}}function RP(e,t,n){var r=t.pendingProps,s=Se.current,i=!1,o=(t.flags&128)!==0,a;if((a=o)||(a=e!==null&&e.memoizedState===null?!1:(s&2)!==0),a?(i=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(s|=1),fe(Se,s&1),e===null)return lf(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?e.data==="$!"?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(o=r.children,e=r.fallback,i?(r=t.mode,i=t.child,o={mode:"hidden",children:o},!(r&1)&&i!==null?(i.childLanes=0,i.pendingProps=o):i=Mu(o,r,0,null),e=Os(e,r,n,null),i.return=t,e.return=t,i.sibling=e,t.child=i,t.child.memoizedState=bf(n),t.memoizedState=mf,e):Pm(t,o));if(s=e.memoizedState,s!==null&&(a=s.dehydrated,a!==null))return uN(e,t,o,r,a,s,n);if(i){i=r.fallback,o=t.mode,s=e.child,a=s.sibling;var l={mode:"hidden",children:r.children};return!(o&1)&&t.child!==s?(r=t.child,r.childLanes=0,r.pendingProps=l,t.deletions=null):(r=Ur(s,l),r.subtreeFlags=s.subtreeFlags&14680064),a!==null?i=Ur(a,i):(i=Os(i,o,n,null),i.flags|=2),i.return=t,r.return=t,r.sibling=i,t.child=r,r=i,i=t.child,o=e.child.memoizedState,o=o===null?bf(n):{baseLanes:o.baseLanes|n,cachePool:null,transitions:o.transitions},i.memoizedState=o,i.childLanes=e.childLanes&~n,t.memoizedState=mf,r}return i=e.child,e=i.sibling,r=Ur(i,{mode:"visible",children:r.children}),!(t.mode&1)&&(r.lanes=n),r.return=t,r.sibling=null,e!==null&&(n=t.deletions,n===null?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=r,t.memoizedState=null,r}function Pm(e,t){return t=Mu({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function Ul(e,t,n,r){return r!==null&&lm(r),ro(t,e.child,null,n),e=Pm(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function uN(e,t,n,r,s,i,o){if(n)return t.flags&256?(t.flags&=-257,r=Fd(Error(I(422))),Ul(e,t,o,r)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(i=r.fallback,s=t.mode,r=Mu({mode:"visible",children:r.children},s,0,null),i=Os(i,s,o,null),i.flags|=2,r.return=t,i.return=t,r.sibling=i,t.child=r,t.mode&1&&ro(t,e.child,null,o),t.child.memoizedState=bf(o),t.memoizedState=mf,i);if(!(t.mode&1))return Ul(e,t,o,null);if(s.data==="$!"){if(r=s.nextSibling&&s.nextSibling.dataset,r)var a=r.dgst;return r=a,i=Error(I(419)),r=Fd(i,r,void 0),Ul(e,t,o,r)}if(a=(o&e.childLanes)!==0,gt||a){if(r=$e,r!==null){switch(o&-o){case 4:s=2;break;case 16:s=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:s=32;break;case 536870912:s=268435456;break;default:s=0}s=s&(r.suspendedLanes|o)?0:s,s!==0&&s!==i.retryLane&&(i.retryLane=s,Yn(e,s),dn(r,e,s,-1))}return km(),r=Fd(Error(I(421))),Ul(e,t,o,r)}return s.data==="$?"?(t.flags|=128,t.child=e.child,t=TN.bind(null,e),s._reactRetry=t,null):(e=i.treeContext,xt=Mr(s.nextSibling),kt=t,ve=!0,ln=null,e!==null&&(jt[Bt++]=Wn,jt[Bt++]=zn,jt[Bt++]=Fs,Wn=e.id,zn=e.overflow,Fs=t),t=Pm(t,r.children),t.flags|=4096,t)}function Ey(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),cf(e.return,t,n)}function jd(e,t,n,r,s){var i=e.memoizedState;i===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:s}:(i.isBackwards=t,i.rendering=null,i.renderingStartTime=0,i.last=r,i.tail=n,i.tailMode=s)}function DP(e,t,n){var r=t.pendingProps,s=r.revealOrder,i=r.tail;if(at(e,t,r.children,n),r=Se.current,r&2)r=r&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Ey(e,n,t);else if(e.tag===19)Ey(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(fe(Se,r),!(t.mode&1))t.memoizedState=null;else switch(s){case"forwards":for(n=t.child,s=null;n!==null;)e=n.alternate,e!==null&&Yc(e)===null&&(s=n),n=n.sibling;n=s,n===null?(s=t.child,t.child=null):(s=n.sibling,n.sibling=null),jd(t,!1,s,n,i);break;case"backwards":for(n=null,s=t.child,t.child=null;s!==null;){if(e=s.alternate,e!==null&&Yc(e)===null){t.child=s;break}e=s.sibling,s.sibling=n,n=s,s=e}jd(t,!0,n,null,i);break;case"together":jd(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function uc(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Qn(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Bs|=t.lanes,!(n&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(I(153));
vendor: 4,642 bytes, line 83
83if(t.child!==null){for(e=t.child,n=Ur(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=Ur(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function dN(e,t,n){switch(t.tag){case 3:_P(t),no();break;case 5:rP(t);break;case 1:vt(t.type)&&Wc(t);break;case 4:pm(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,s=t.memoizedProps.value;fe(Hc,r._currentValue),r._currentValue=s;break;case 13:if(r=t.memoizedState,r!==null)return r.dehydrated!==null?(fe(Se,Se.current&1),t.flags|=128,null):n&t.child.childLanes?RP(e,t,n):(fe(Se,Se.current&1),e=Qn(e,t,n),e!==null?e.sibling:null);fe(Se,Se.current&1);break;case 19:if(r=(n&t.childLanes)!==0,e.flags&128){if(r)return DP(e,t,n);t.flags|=128}if(s=t.memoizedState,s!==null&&(s.rendering=null,s.tail=null,s.lastEffect=null),fe(Se,Se.current),r)break;return null;case 22:case 23:return t.lanes=0,xP(e,t,n)}return Qn(e,t,n)}var NP,gf,IP,OP;NP=function(e,t){for(var n=t.child;n!==null;){if(n.tag===5||n.tag===6)e.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}};gf=function(){};IP=function(e,t,n,r){var s=e.memoizedProps;if(s!==r){e=t.stateNode,ys(xn.current);var i=null;switch(n){case"input":s=jh(e,s),r=jh(e,r),i=[];break;case"select":s=Ce({},s,{value:void 0}),r=Ce({},r,{value:void 0}),i=[];break;case"textarea":s=Vh(e,s),r=Vh(e,r),i=[];break;default:typeof s.onClick!="function"&&typeof r.onClick=="function"&&(e.onclick=Vc)}Wh(n,r);var o;n=null;for(c in s)if(!r.hasOwnProperty(c)&&s.hasOwnProperty(c)&&s[c]!=null)if(c==="style"){var a=s[c];for(o in a)a.hasOwnProperty(o)&&(n||(n={}),n[o]="")}else c!=="dangerouslySetInnerHTML"&&c!=="children"&&c!=="suppressContentEditableWarning"&&c!=="suppressHydrationWarning"&&c!=="autoFocus"&&(wa.hasOwnProperty(c)?i||(i=[]):(i=i||[]).push(c,null));for(c in r){var l=r[c];if(a=s!=null?s[c]:void 0,r.hasOwnProperty(c)&&l!==a&&(l!=null||a!=null))if(c==="style")if(a){for(o in a)!a.hasOwnProperty(o)||l&&l.hasOwnProperty(o)||(n||(n={}),n[o]="");for(o in l)l.hasOwnProperty(o)&&a[o]!==l[o]&&(n||(n={}),n[o]=l[o])}else n||(i||(i=[]),i.push(c,n)),n=l;else c==="dangerouslySetInnerHTML"?(l=l?l.__html:void 0,a=a?a.__html:void 0,l!=null&&a!==l&&(i=i||[]).push(c,l)):c==="children"?typeof l!="string"&&typeof l!="number"||(i=i||[]).push(c,""+l):c!=="suppressContentEditableWarning"&&c!=="suppressHydrationWarning"&&(wa.hasOwnProperty(c)?(l!=null&&c==="onScroll"&&be("scroll",e),i||a===l||(i=[])):(i=i||[]).push(c,l))}n&&(i=i||[]).push("style",n);var c=i;(t.updateQueue=c)&&(t.flags|=4)}};OP=function(e,t,n,r){n!==r&&(t.flags|=4)};function No(e,t){if(!ve)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function et(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var s=e.child;s!==null;)n|=s.lanes|s.childLanes,r|=s.subtreeFlags&14680064,r|=s.flags&14680064,s.return=e,s=s.sibling;else for(s=e.child;s!==null;)n|=s.lanes|s.childLanes,r|=s.subtreeFlags,r|=s.flags,s.return=e,s=s.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function hN(e,t,n){var r=t.pendingProps;switch(am(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return et(t),null;case 1:return vt(t.type)&&$c(),et(t),null;case 3:return r=t.stateNode,so(),ge(yt),ge(st),bm(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(e===null||e.child===null)&&(jl(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,ln!==null&&(Ef(ln),ln=null))),gf(e,t),et(t),null;case 5:mm(t);var s=ys(Na.current);if(n=t.type,e!==null&&t.stateNode!=null)IP(e,t,n,r,s),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(t.stateNode===null)throw Error(I(166));return et(t),null}if(e=ys(xn.current),jl(t)){r=t.stateNode,n=t.type;var i=t.memoizedProps;switch(r[Cn]=t,r[Ra]=i,e=(t.mode&1)!==0,n){case"dialog":be("cancel",r),be("close",r);break;case"iframe":case"object":case"embed":be("load",r);break;case"video":case"audio":for(s=0;s<Ho.length;s++)be(Ho[s],r);break;case"source":be("error",r);break;case"img":case"image":case"link":be("error",r),be("load",r);break;case"details":be("toggle",r);break;case"input":Og(r,i),be("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!i.multiple},be("invalid",r);break;
vendor: 29,000 bytes, line 83
83case"textarea":Mg(r,i),be("invalid",r)}Wh(n,i),s=null;for(var o in i)if(i.hasOwnProperty(o)){var a=i[o];o==="children"?typeof a=="string"?r.textContent!==a&&(i.suppressHydrationWarning!==!0&&Fl(r.textContent,a,e),s=["children",a]):typeof a=="number"&&r.textContent!==""+a&&(i.suppressHydrationWarning!==!0&&Fl(r.textContent,a,e),s=["children",""+a]):wa.hasOwnProperty(o)&&a!=null&&o==="onScroll"&&be("scroll",r)}switch(n){case"input":_l(r),Lg(r,i,!0);break;case"textarea":_l(r),Fg(r);break;case"select":case"option":break;default:typeof i.onClick=="function"&&(r.onclick=Vc)}r=s,t.updateQueue=r,r!==null&&(t.flags|=4)}else{o=s.nodeType===9?s:s.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=l0(n)),e==="http://www.w3.org/1999/xhtml"?n==="script"?(e=o.createElement("div"),e.innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=o.createElement(n,{is:r.is}):(e=o.createElement(n),n==="select"&&(o=e,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):e=o.createElementNS(e,n),e[Cn]=t,e[Ra]=r,NP(e,t,!1,!1),t.stateNode=e;e:{switch(o=zh(n,r),n){case"dialog":be("cancel",e),be("close",e),s=r;break;case"iframe":case"object":case"embed":be("load",e),s=r;break;case"video":case"audio":for(s=0;s<Ho.length;s++)be(Ho[s],e);s=r;break;case"source":be("error",e),s=r;break;case"img":case"image":case"link":be("error",e),be("load",e),s=r;break;case"details":be("toggle",e),s=r;break;case"input":Og(e,r),s=jh(e,r),be("invalid",e);break;case"option":s=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},s=Ce({},r,{value:void 0}),be("invalid",e);break;case"textarea":Mg(e,r),s=Vh(e,r),be("invalid",e);break;default:s=r}Wh(n,s),a=s;for(i in a)if(a.hasOwnProperty(i)){var l=a[i];i==="style"?d0(e,l):i==="dangerouslySetInnerHTML"?(l=l?l.__html:void 0,l!=null&&c0(e,l)):i==="children"?typeof l=="string"?(n!=="textarea"||l!=="")&&Sa(e,l):typeof l=="number"&&Sa(e,""+l):i!=="suppressContentEditableWarning"&&i!=="suppressHydrationWarning"&&i!=="autoFocus"&&(wa.hasOwnProperty(i)?l!=null&&i==="onScroll"&&be("scroll",e):l!=null&&Hp(e,i,l,o))}switch(n){case"input":_l(e),Lg(e,r,!1);break;case"textarea":_l(e),Fg(e);break;case"option":r.value!=null&&e.setAttribute("value",""+Wr(r.value));break;case"select":e.multiple=!!r.multiple,i=r.value,i!=null?_i(e,!!r.multiple,i,!1):r.defaultValue!=null&&_i(e,!!r.multiple,r.defaultValue,!0);break;default:typeof s.onClick=="function"&&(e.onclick=Vc)}switch(n){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}}r&&(t.flags|=4)}t.ref!==null&&(t.flags|=512,t.flags|=2097152)}return et(t),null;case 6:if(e&&t.stateNode!=null)OP(e,t,e.memoizedProps,r);else{if(typeof r!="string"&&t.stateNode===null)throw Error(I(166));if(n=ys(Na.current),ys(xn.current),jl(t)){if(r=t.stateNode,n=t.memoizedProps,r[Cn]=t,(i=r.nodeValue!==n)&&(e=kt,e!==null))switch(e.tag){case 3:Fl(r.nodeValue,n,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&Fl(r.nodeValue,n,(e.mode&1)!==0)}i&&(t.flags|=4)}else r=(n.nodeType===9?n:n.ownerDocument).createTextNode(r),r[Cn]=t,t.stateNode=r}return et(t),null;case 13:if(ge(Se),r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(ve&&xt!==null&&t.mode&1&&!(t.flags&128))X0(),no(),t.flags|=98560,i=!1;else if(i=jl(t),r!==null&&r.dehydrated!==null){if(e===null){if(!i)throw Error(I(318));if(i=t.memoizedState,i=i!==null?i.dehydrated:null,!i)throw Error(I(317));i[Cn]=t}else no(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;et(t),i=!1}else ln!==null&&(Ef(ln),ln=null),i=!0;if(!i)return t.flags&65536?t:null}return t.flags&128?(t.lanes=n,t):(r=r!==null,r!==(e!==null&&e.memoizedState!==null)&&r&&(t.child.flags|=8192,t.mode&1&&(e===null||Se.current&1?Ue===0&&(Ue=3):km())),t.updateQueue!==null&&(t.flags|=4),et(t),null);case 4:return so(),gf(e,t),e===null&&ka(t.stateNode.containerInfo),et(t),null;case 10:return dm(t.type._context),et(t),null;case 17:return vt(t.type)&&$c(),et(t),null;case 19:if(ge(Se),i=t.memoizedState,i===null)return et(t),null;if(r=(t.flags&128)!==0,o=i.rendering,o===null)if(r)No(i,!1);else{if(Ue!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=Yc(e),o!==null){for(t.flags|=128,No(i,!1),r=o.updateQueue,r!==null&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=n,n=t.child;n!==null;)i=n,e=r,i.flags&=14680066,o=i.alternate,o===null?(i.childLanes=0,i.lanes=e,i.child=null,i.subtreeFlags=0,i.memoizedProps=null,i.memoizedState=null,i.updateQueue=null,i.dependencies=null,i.stateNode=null):(i.childLanes=o.childLanes,i.lanes=o.lanes,i.child=o.child,i.subtreeFlags=0,i.deletions=null,i.memoizedProps=o.memoizedProps,i.memoizedState=o.memoizedState,i.updateQueue=o.updateQueue,i.type=o.type,e=o.dependencies,i.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return fe(Se,Se.current&1|2),t.child}e=e.sibling}i.tail!==null&&_e()>oo&&(t.flags|=128,r=!0,No(i,!1),t.lanes=4194304)}else{if(!r)if(e=Yc(o),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),No(i,!0),i.tail===null&&i.tailMode==="hidden"&&!o.alternate&&!ve)return et(t),null}else 2*_e()-i.renderingStartTime>oo&&n!==1073741824&&(t.flags|=128,r=!0,No(i,!1),t.lanes=4194304);i.isBackwards?(o.sibling=t.child,t.child=o):(n=i.last,n!==null?n.sibling=o:t.child=o,i.last=o)}return i.tail!==null?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=_e(),t.sibling=null,n=Se.current,fe(Se,r?n&1|2:n&1),t):(et(t),null);case 22:case 23:return xm(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?Ct&1073741824&&(et(t),t.subtreeFlags&6&&(t.flags|=8192)):et(t),null;case 24:return null;case 25:return null}throw Error(I(156,t.tag))}function fN(e,t){switch(am(t),t.tag){case 1:return vt(t.type)&&$c(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return so(),ge(yt),ge(st),bm(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return mm(t),null;case 13:if(ge(Se),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(I(340));no()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return ge(Se),null;case 4:return so(),null;case 10:return dm(t.type._context),null;case 22:case 23:return xm(),null;case 24:return null;default:return null}}var Vl=!1,nt=!1,pN=typeof WeakSet=="function"?WeakSet:Set,U=null;function Si(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){ke(e,t,r)}else n.current=null}function yf(e,t,n){try{n()}catch(r){ke(e,t,r)}}var Ay=!1;function mN(e,t){if(ef=jc,e=B0(),im(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var s=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var o=0,a=-1,l=-1,c=0,u=0,d=e,h=null;t:for(;;){for(var f;d!==n||s!==0&&d.nodeType!==3||(a=o+s),d!==i||r!==0&&d.nodeType!==3||(l=o+r),d.nodeType===3&&(o+=d.nodeValue.length),(f=d.firstChild)!==null;)h=d,d=f;for(;;){if(d===e)break t;if(h===n&&++c===s&&(a=o),h===i&&++u===r&&(l=o),(f=d.nextSibling)!==null)break;d=h,h=d.parentNode}d=f}n=a===-1||l===-1?null:{start:a,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(tf={focusedElem:e,selectionRange:n},jc=!1,U=t;U!==null;)if(t=U,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,U=e;else for(;U!==null;){t=U;try{var m=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(m!==null){var b=m.memoizedProps,w=m.memoizedState,y=t.stateNode,g=y.getSnapshotBeforeUpdate(t.elementType===t.type?b:tn(t.type,b),w);y.__reactInternalSnapshotBeforeUpdate=g}break;case 3:var v=t.stateNode.containerInfo;v.nodeType===1?v.textContent="":v.nodeType===9&&v.documentElement&&v.removeChild(v.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(I(163))}}catch(P){ke(t,t.return,P)}if(e=t.sibling,e!==null){e.return=t.return,U=e;break}U=t.return}return m=Ay,Ay=!1,m}function oa(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var s=r=r.next;do{if((s.tag&e)===e){var i=s.destroy;s.destroy=void 0,i!==void 0&&yf(t,n,i)}s=s.next}while(s!==r)}}function Ou(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function vf(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function LP(e){var t=e.alternate;t!==null&&(e.alternate=null,LP(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Cn],delete t[Ra],delete t[sf],delete t[JD],delete t[XD])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function MP(e){return e.tag===5||e.tag===3||e.tag===4}function xy(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||MP(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function wf(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Vc));else if(r!==4&&(e=e.child,e!==null))for(wf(e,t,n),e=e.sibling;e!==null;)wf(e,t,n),e=e.sibling}function Sf(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Sf(e,t,n),e=e.sibling;e!==null;)Sf(e,t,n),e=e.sibling}var qe=null,on=!1;function cr(e,t,n){for(n=n.child;n!==null;)FP(e,t,n),n=n.sibling}function FP(e,t,n){if(An&&typeof An.onCommitFiberUnmount=="function")try{An.onCommitFiberUnmount(Au,n)}catch{}switch(n.tag){case 5:nt||Si(n,t);case 6:var r=qe,s=on;qe=null,cr(e,t,n),qe=r,on=s,qe!==null&&(on?(e=qe,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):qe.removeChild(n.stateNode));break;case 18:qe!==null&&(on?(e=qe,n=n.stateNode,e.nodeType===8?Dd(e.parentNode,n):e.nodeType===1&&Dd(e,n),Ea(e)):Dd(qe,n.stateNode));break;case 4:r=qe,s=on,qe=n.stateNode.containerInfo,on=!0,cr(e,t,n),qe=r,on=s;break;case 0:case 11:case 14:case 15:if(!nt&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){s=r=r.next;do{var i=s,o=i.destroy;i=i.tag,o!==void 0&&(i&2||i&4)&&yf(n,t,o),s=s.next}while(s!==r)}cr(e,t,n);break;case 1:if(!nt&&(Si(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(a){ke(n,t,a)}cr(e,t,n);break;case 21:cr(e,t,n);break;case 22:n.mode&1?(nt=(r=nt)||n.memoizedState!==null,cr(e,t,n),nt=r):cr(e,t,n);break;default:cr(e,t,n)}}function ky(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new pN),t.forEach(function(r){var s=CN.bind(null,e,r);n.has(r)||(n.add(r),r.then(s,s))})}}function Yt(e,t){var n=t.deletions;if(n!==null)for(var r=0;r<n.length;r++){var s=n[r];try{var i=e,o=t,a=o;e:for(;a!==null;){switch(a.tag){case 5:qe=a.stateNode,on=!1;break e;case 3:qe=a.stateNode.containerInfo,on=!0;break e;case 4:qe=a.stateNode.containerInfo,on=!0;break e}a=a.return}if(qe===null)throw Error(I(160));FP(i,o,s),qe=null,on=!1;var l=s.alternate;l!==null&&(l.return=null),s.return=null}catch(c){ke(s,t,c)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)jP(t,e),t=t.sibling}function jP(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(Yt(t,e),yn(e),r&4){try{oa(3,e,e.return),Ou(3,e)}catch(b){ke(e,e.return,b)}try{oa(5,e,e.return)}catch(b){ke(e,e.return,b)}}break;case 1:Yt(t,e),yn(e),r&512&&n!==null&&Si(n,n.return);break;case 5:if(Yt(t,e),yn(e),r&512&&n!==null&&Si(n,n.return),e.flags&32){var s=e.stateNode;try{Sa(s,"")}catch(b){ke(e,e.return,b)}}if(r&4&&(s=e.stateNode,s!=null)){var i=e.memoizedProps,o=n!==null?n.memoizedProps:i,a=e.type,l=e.updateQueue;if(e.updateQueue=null,l!==null)try{a==="input"&&i.type==="radio"&&i.name!=null&&o0(s,i),zh(a,o);var c=zh(a,i);for(o=0;o<l.length;o+=2){var u=l[o],d=l[o+1];u==="style"?d0(s,d):u==="dangerouslySetInnerHTML"?c0(s,d):u==="children"?Sa(s,d):Hp(s,u,d,c)}switch(a){case"input":Bh(s,i);break;case"textarea":a0(s,i);break;case"select":var h=s._wrapperState.wasMultiple;s._wrapperState.wasMultiple=!!i.multiple;var f=i.value;f!=null?_i(s,!!i.multiple,f,!1):h!==!!i.multiple&&(i.defaultValue!=null?_i(s,!!i.multiple,i.defaultValue,!0):_i(s,!!i.multiple,i.multiple?[]:"",!1))}s[Ra]=i}catch(b){ke(e,e.return,b)}}break;case 6:if(Yt(t,e),yn(e),r&4){if(e.stateNode===null)throw Error(I(162));s=e.stateNode,i=e.memoizedProps;try{s.nodeValue=i}catch(b){ke(e,e.return,b)}}break;case 3:if(Yt(t,e),yn(e),r&4&&n!==null&&n.memoizedState.isDehydrated)try{Ea(t.containerInfo)}catch(b){ke(e,e.return,b)}break;case 4:Yt(t,e),yn(e);break;case 13:Yt(t,e),yn(e),s=e.child,s.flags&8192&&(i=s.memoizedState!==null,s.stateNode.isHidden=i,!i||s.alternate!==null&&s.alternate.memoizedState!==null||(Em=_e())),r&4&&ky(e);break;case 22:if(u=n!==null&&n.memoizedState!==null,e.mode&1?(nt=(c=nt)||u,Yt(t,e),nt=c):Yt(t,e),yn(e),r&8192){if(c=e.memoizedState!==null,(e.stateNode.isHidden=c)&&!u&&e.mode&1)for(U=e,u=e.child;u!==null;){for(d=U=u;U!==null;){switch(h=U,f=h.child,h.tag){case 0:case 11:case 14:case 15:oa(4,h,h.return);break;case 1:Si(h,h.return);var m=h.stateNode;if(typeof m.componentWillUnmount=="function"){r=h,n=h.return;try{t=r,m.props=t.memoizedProps,m.state=t.memoizedState,m.componentWillUnmount()}catch(b){ke(r,n,b)}}break;case 5:Si(h,h.return);break;case 22:if(h.memoizedState!==null){Ry(d);continue}}f!==null?(f.return=h,U=f):Ry(d)}u=u.sibling}e:for(u=null,d=e;;){if(d.tag===5){if(u===null){u=d;try{s=d.stateNode,c?(i=s.style,typeof i.setProperty=="function"?i.setProperty("display","none","important"):i.display="none"):(a=d.stateNode,l=d.memoizedProps.style,o=l!=null&&l.hasOwnProperty("display")?l.display:null,a.style.display=u0("display",o))}catch(b){ke(e,e.return,b)}}}else if(d.tag===6){if(u===null)try{d.stateNode.nodeValue=c?"":d.memoizedProps}catch(b){ke(e,e.return,b)}}else if((d.tag!==22&&d.tag!==23||d.memoizedState===null||d===e)&&d.child!==null){d.child.return=d,d=d.child;continue}if(d===e)break e;for(;d.sibling===null;){if(d.return===null||d.return===e)break e;u===d&&(u=null),d=d.return}u===d&&(u=null),d.sibling.return=d.return,d=d.sibling}}break;case 19:Yt(t,e),yn(e),r&4&&ky(e);break;case 21:break;default:Yt(t,e),yn(e)}}function yn(e){var t=e.flags;if(t&2){try{e:{for(var n=e.return;n!==null;){if(MP(n)){var r=n;break e}n=n.return}throw Error(I(160))}switch(r.tag){case 5:var s=r.stateNode;r.flags&32&&(Sa(s,""),r.flags&=-33);var i=xy(e);Sf(e,i,s);break;case 3:case 4:var o=r.stateNode.containerInfo,a=xy(e);wf(e,a,o);break;default:throw Error(I(161))}}catch(l){ke(e,e.return,l)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function bN(e,t,n){U=e,BP(e)}function BP(e,t,n){for(var r=(e.mode&1)!==0;U!==null;){var s=U,i=s.child;if(s.tag===22&&r){var o=s.memoizedState!==null||Vl;if(!o){var a=s.alternate,l=a!==null&&a.memoizedState!==null||nt;a=Vl;var c=nt;if(Vl=o,(nt=l)&&!c)for(U=s;U!==null;)o=U,l=o.child,o.tag===22&&o.memoizedState!==null?Dy(s):l!==null?(l.return=o,U=l):Dy(s);for(;i!==null;)U=i,BP(i),i=i.sibling;U=s,Vl=a,nt=c}_y(e)}else s.subtreeFlags&8772&&i!==null?(i.return=s,U=i):_y(e)}}function _y(e){for(;U!==null;){var t=U;if(t.flags&8772){var n=t.alternate;try{if(t.flags&8772)switch(t.tag){case 0:case 11:case 15:nt||Ou(5,t);break;case 1:var r=t.stateNode;if(t.flags&4&&!nt)if(n===null)r.componentDidMount();else{var s=t.elementType===t.type?n.memoizedProps:tn(t.type,n.memoizedProps);r.componentDidUpdate(s,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var i=t.updateQueue;i!==null&&fy(t,i,r);break;case 3:var o=t.updateQueue;if(o!==null){if(n=null,t.child!==null)switch(t.child.tag){case 5:n=t.child.stateNode;break;case 1:n=t.child.stateNode}fy(t,o,n)}break;case 5:var a=t.stateNode;if(n===null&&t.flags&4){n=a;var l=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":l.autoFocus&&n.focus();break;case"img":l.src&&(n.src=l.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(t.memoizedState===null){var c=t.alternate;if(c!==null){var u=c.memoizedState;if(u!==null){var d=u.dehydrated;d!==null&&Ea(d)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(I(163))}nt||t.flags&512&&vf(t)}catch(h){ke(t,t.return,h)}}if(t===e){U=null;break}if(n=t.sibling,n!==null){n.return=t.return,U=n;break}U=t.return}}function Ry(e){for(;U!==null;){var t=U;if(t===e){U=null;break}var n=t.sibling;if(n!==null){n.return=t.return,U=n;break}U=t.return}}function Dy(e){for(;U!==null;){var t=U;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{Ou(4,t)}catch(l){ke(t,n,l)}break;case 1:var r=t.stateNode;if(typeof r.componentDidMount=="function"){var s=t.return;try{r.componentDidMount()}catch(l){ke(t,s,l)}}var i=t.return;try{vf(t)}catch(l){ke(t,i,l)}break;case 5:var o=t.return;try{vf(t)}catch(l){ke(t,o,l)}}}catch(l){ke(t,t.return,l)}if(t===e){U=null;break}var a=t.sibling;if(a!==null){a.return=t.return,U=a;break}U=t.return}}var gN=Math.ceil,Xc=nr.ReactCurrentDispatcher,Tm=nr.ReactCurrentOwner,$t=nr.ReactCurrentBatchConfig,ae=0,$e=null,Oe=null,Qe=0,Ct=0,Pi=Qr(0),Ue=0,Ma=null,Bs=0,Lu=0,Cm=0,aa=null,bt=null,Em=0,oo=1/0,Un=null,Zc=!1,Pf=null,jr=null,$l=!1,Rr=null,eu=0,la=0,Tf=null,dc=-1,hc=0;function ut(){return ae&6?_e():dc!==-1?dc:dc=_e()}function Br(e){return e.mode&1?ae&2&&Qe!==0?Qe&-Qe:eN.transition!==null?(hc===0&&(hc=T0()),hc):(e=ue,e!==0||(e=window.event,e=e===void 0?16:R0(e.type)),e):1}function dn(e,t,n,r){if(50<la)throw la=0,Tf=null,Error(I(185));rl(e,n,r),(!(ae&2)||e!==$e)&&(e===$e&&(!(ae&2)&&(Lu|=n),Ue===4&&wr(e,Qe)),wt(e,r),n===1&&ae===0&&!(t.mode&1)&&(oo=_e()+500,Du&&Jr()))}function wt(e,t){var n=e.callbackNode;eD(e,t);var r=Fc(e,e===$e?Qe:0);if(r===0)n!==null&&Ug(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(n!=null&&Ug(n),t===1)e.tag===0?ZD(Ny.bind(null,e)):Y0(Ny.bind(null,e)),YD(function(){!(ae&6)&&Jr()}),n=null;else{switch(C0(r)){case 1:n=Jp;break;case 4:n=S0;break;case 16:n=Mc;break;case 536870912:n=P0;break;default:n=Mc}n=GP(n,UP.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function UP(e,t){if(dc=-1,hc=0,ae&6)throw Error(I(327));var n=e.callbackNode;if(Oi()&&e.callbackNode!==n)return null;var r=Fc(e,e===$e?Qe:0);if(r===0)return null;if(r&30||r&e.expiredLanes||t)t=tu(e,r);else{t=r;var s=ae;ae|=2;var i=$P();($e!==e||Qe!==t)&&(Un=null,oo=_e()+500,Is(e,t));do try{wN();break}catch(a){VP(e,a)}while(!0);um(),Xc.current=i,ae=s,Oe!==null?t=0:($e=null,Qe=0,t=Ue)}if(t!==0){if(t===2&&(s=Yh(e),s!==0&&(r=s,t=Cf(e,s))),t===1)throw n=Ma,Is(e,0),wr(e,r),wt(e,_e()),n;if(t===6)wr(e,r);else{if(s=e.current.alternate,!(r&30)&&!yN(s)&&(t=tu(e,r),t===2&&(i=Yh(e),i!==0&&(r=i,t=Cf(e,i))),t===1))throw n=Ma,Is(e,0),wr(e,r),wt(e,_e()),n;switch(e.finishedWork=s,e.finishedLanes=r,t){case 0:case 1:throw Error(I(345));case 2:ds(e,bt,Un);break;case 3:if(wr(e,r),(r&130023424)===r&&(t=Em+500-_e(),10<t)){if(Fc(e,0)!==0)break;if(s=e.suspendedLanes,(s&r)!==r){ut(),e.pingedLanes|=e.suspendedLanes&s;break}e.timeoutHandle=rf(ds.bind(null,e,bt,Un),t);break}ds(e,bt,Un);break;case 4:if(wr(e,r),(r&4194240)===r)break;for(t=e.eventTimes,s=-1;0<r;){var o=31-un(r);i=1<<o,o=t[o],o>s&&(s=o),r&=~i}if(r=s,r=_e()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*gN(r/1960))-r,10<r){e.timeoutHandle=rf(ds.bind(null,e,bt,Un),r);break}ds(e,bt,Un);break;case 5:ds(e,bt,Un);break;default:throw Error(I(329))}}}return wt(e,_e()),e.callbackNode===n?UP.bind(null,e):null}function Cf(e,t){var n=aa;return e.current.memoizedState.isDehydrated&&(Is(e,t).flags|=256),e=tu(e,t),e!==2&&(t=bt,bt=n,t!==null&&Ef(t)),e}function Ef(e){bt===null?bt=e:bt.push.apply(bt,e)}function yN(e){for(var t=e;;){if(t.flags&16384){var n=t.updateQueue;if(n!==null&&(n=n.stores,n!==null))for(var r=0;r<n.length;r++){var s=n[r],i=s.getSnapshot;s=s.value;try{if(!pn(i(),s))return!1}catch{return!1}}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function wr(e,t){for(t&=~Cm,t&=~Lu,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-un(t),r=1<<n;e[n]=-1,t&=~r}}function Ny(e){if(ae&6)throw Error(I(327));Oi();var t=Fc(e,0);if(!(t&1))return wt(e,_e()),null;var n=tu(e,t);if(e.tag!==0&&n===2){var r=Yh(e);r!==0&&(t=r,n=Cf(e,r))}if(n===1)throw n=Ma,Is(e,0),wr(e,t),wt(e,_e()),n;if(n===6)throw Error(I(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,ds(e,bt,Un),wt(e,_e()),null}function Am(e,t){var n=ae;ae|=1;try{return e(t)}finally{ae=n,ae===0&&(oo=_e()+500,Du&&Jr())}}function Us(e){Rr!==null&&Rr.tag===0&&!(ae&6)&&Oi();var t=ae;ae|=1;var n=$t.transition,r=ue;try{if($t.transition=null,ue=1,e)return e()}finally{ue=r,$t.transition=n,ae=t,!(ae&6)&&Jr()}}function xm(){Ct=Pi.current,ge(Pi)}function Is(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(n!==-1&&(e.timeoutHandle=-1,KD(n)),Oe!==null)for(n=Oe.return;n!==null;){var r=n;switch(am(r),r.tag){case 1:r=r.type.childContextTypes,r!=null&&$c();break;case 3:so(),ge(yt),ge(st),bm();break;case 5:mm(r);break;case 4:so();break;case 13:ge(Se);break;case 19:ge(Se);break;case 10:dm(r.type._context);break;case 22:case 23:xm()}n=n.return}if($e=e,Oe=e=Ur(e.current,null),Qe=Ct=t,Ue=0,Ma=null,Cm=Lu=Bs=0,bt=aa=null,gs!==null){for(t=0;t<gs.length;t++)if(n=gs[t],r=n.interleaved,r!==null){n.interleaved=null;var s=r.next,i=n.pending;if(i!==null){var o=i.next;i.next=s,r.next=o}n.pending=r}gs=null}return e}function VP(e,t){do{var n=Oe;try{if(um(),lc.current=Jc,Qc){for(var r=Te.memoizedState;r!==null;){var s=r.queue;s!==null&&(s.pending=null),r=r.next}Qc=!1}if(js=0,Ve=je=Te=null,ia=!1,Ia=0,Tm.current=null,n===null||n.return===null){Ue=1,Ma=t,Oe=null;break}e:{var i=e,o=n.return,a=n,l=t;if(t=Qe,a.flags|=32768,l!==null&&typeof l=="object"&&typeof l.then=="function"){var c=l,u=a,d=u.tag;if(!(u.mode&1)&&(d===0||d===11||d===15)){var h=u.alternate;h?(u.updateQueue=h.updateQueue,u.memoizedState=h.memoizedState,u.lanes=h.lanes):(u.updateQueue=null,u.memoizedState=null)}var f=vy(o);if(f!==null){f.flags&=-257,wy(f,o,a,i,t),f.mode&1&&yy(i,c,t),t=f,l=c;var m=t.updateQueue;if(m===null){var b=new Set;b.add(l),t.updateQueue=b}else m.add(l);break e}else{if(!(t&1)){yy(i,c,t),km();break e}l=Error(I(426))}}else if(ve&&a.mode&1){var w=vy(o);if(w!==null){!(w.flags&65536)&&(w.flags|=256),wy(w,o,a,i,t),lm(io(l,a));break e}}i=l=io(l,a),Ue!==4&&(Ue=2),aa===null?aa=[i]:aa.push(i),i=o;do{switch(i.tag){case 3:i.flags|=65536,t&=-t,i.lanes|=t;var y=CP(i,l,t);hy(i,y);break e;case 1:a=l;var g=i.type,v=i.stateNode;if(!(i.flags&128)&&(typeof g.getDerivedStateFromError=="function"||v!==null&&typeof v.componentDidCatch=="function"&&(jr===null||!jr.has(v)))){i.flags|=65536,t&=-t,i.lanes|=t;var P=EP(i,a,t);hy(i,P);break e}}i=i.return}while(i!==null)}zP(n)}catch(T){t=T,Oe===n&&n!==null&&(Oe=n=n.return);continue}break}while(!0)}function $P(){var e=Xc.current;return Xc.current=Jc,e===null?Jc:e}function km(){(Ue===0||Ue===3||Ue===2)&&(Ue=4),$e===null||!(Bs&268435455)&&!(Lu&268435455)||wr($e,Qe)}function tu(e,t){var n=ae;ae|=2;var r=$P();($e!==e||Qe!==t)&&(Un=null,Is(e,t));do try{vN();break}catch(s){VP(e,s)}while(!0);if(um(),ae=n,Xc.current=r,Oe!==null)throw Error(I(261));return $e=null,Qe=0,Ue}function vN(){for(;Oe!==null;)WP(Oe)}function wN(){for(;Oe!==null&&!qR();)WP(Oe)}function WP(e){var t=HP(e.alternate,e,Ct);e.memoizedProps=e.pendingProps,t===null?zP(e):Oe=t,Tm.current=null}function zP(e){var t=e;do{var n=t.alternate;if(e=t.return,t.flags&32768){if(n=fN(n,t),n!==null){n.flags&=32767,Oe=n;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{Ue=6,Oe=null;return}}else if(n=hN(n,t,Ct),n!==null){Oe=n;return}if(t=t.sibling,t!==null){Oe=t;return}Oe=t=e}while(t!==null);Ue===0&&(Ue=5)}function ds(e,t,n){var r=ue,s=$t.transition;try{$t.transition=null,ue=1,SN(e,t,n,r)}finally{$t.transition=s,ue=r}return null}function SN(e,t,n,r){do Oi();while(Rr!==null);if(ae&6)throw Error(I(327));n=e.finishedWork;var s=e.finishedLanes;if(n===null)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(I(177));e.callbackNode=null,e.callbackPriority=0;var i=n.lanes|n.childLanes;if(tD(e,i),e===$e&&(Oe=$e=null,Qe=0),!(n.subtreeFlags&2064)&&!(n.flags&2064)||$l||($l=!0,GP(Mc,function(){return Oi(),null})),i=(n.flags&15990)!==0,n.subtreeFlags&15990||i){i=$t.transition,$t.transition=null;var o=ue;ue=1;var a=ae;ae|=4,Tm.current=null,mN(e,n),jP(n,e),VD(tf),jc=!!ef,tf=ef=null,e.current=n,bN(n),HR(),ae=a,ue=o,$t.transition=i}else e.current=n;if($l&&($l=!1,Rr=e,eu=s),i=e.pendingLanes,i===0&&(jr=null),YR(n.stateNode),wt(e,_e()),t!==null)for(r=e.onRecoverableError,n=0;n<t.length;n++)s=t[n],r(s.value,{componentStack:s.stack,digest:s.digest});if(Zc)throw Zc=!1,e=Pf,Pf=null,e;return eu&1&&e.tag!==0&&Oi(),i=e.pendingLanes,i&1?e===Tf?la++:(la=0,Tf=e):la=0,Jr(),null}function Oi(){if(Rr!==null){var e=C0(eu),t=$t.transition,n=ue;try{if($t.transition=null,ue=16>e?16:e,Rr===null)var r=!1;else{if(e=Rr,Rr=null,eu=0,ae&6)throw Error(I(331));var s=ae;for(ae|=4,U=e.current;U!==null;){var i=U,o=i.child;if(U.flags&16){var a=i.deletions;if(a!==null){for(var l=0;l<a.length;l++){var c=a[l];for(U=c;U!==null;){var u=U;switch(u.tag){case 0:case 11:case 15:oa(8,u,i)}var d=u.child;if(d!==null)d.return=u,U=d;else for(;U!==null;){u=U;var h=u.sibling,f=u.return;if(LP(u),u===c){U=null;break}if(h!==null){h.return=f,U=h;break}U=f}}}var m=i.alternate;if(m!==null){var b=m.child;if(b!==null){m.child=null;do{var w=b.sibling;b.sibling=null,b=w}while(b!==null)}}U=i}}if(i.subtreeFlags&2064&&o!==null)o.return=i,U=o;else e:for(;U!==null;){if(i=U,i.flags&2048)switch(i.tag){case 0:case 11:case 15:oa(9,i,i.return)}var y=i.sibling;if(y!==null){y.return=i.return,U=y;break e}U=i.return}}var g=e.current;for(U=g;U!==null;){o=U;var v=o.child;if(o.subtreeFlags&2064&&v!==null)v.return=o,U=v;else e:for(o=g;U!==null;){if(a=U,a.flags&2048)try{switch(a.tag){case 0:case 11:case 15:Ou(9,a)}}catch(T){ke(a,a.return,T)}if(a===o){U=null;break e}var P=a.sibling;if(P!==null){P.return=a.return,U=P;break e}U=a.return}}if(ae=s,Jr(),An&&typeof An.onPostCommitFiberRoot=="function")try{An.onPostCommitFiberRoot(Au,e)}catch{}r=!0}return r}finally{ue=n,$t.transition=t}}return!1}function Iy(e,t,n){t=io(n,t),t=CP(e,t,1),e=Fr(e,t,1),t=ut(),e!==null&&(rl(e,1,t),wt(e,t))}function ke(e,t,n){if(e.tag===3)Iy(e,e,n);else for(;t!==null;){if(t.tag===3){Iy(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof r.componentDidCatch=="function"&&(jr===null||!jr.has(r))){e=io(n,e),e=EP(t,e,1),t=Fr(t,e,1),e=ut(),t!==null&&(rl(t,1,e),wt(t,e));break}}t=t.return}}function PN(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),t=ut(),e.pingedLanes|=e.suspendedLanes&n,$e===e&&(Qe&n)===n&&(Ue===4||Ue===3&&(Qe&130023424)===Qe&&500>_e()-Em?Is(e,0):Cm|=n),wt(e,t)}function qP(e,t){t===0&&(e.mode&1?(t=Nl,Nl<<=1,!(Nl&130023424)&&(Nl=4194304)):t=1);var n=ut();e=Yn(e,t),e!==null&&(rl(e,t,n),wt(e,n))}function TN(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),qP(e,n)}function CN(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,s=e.memoizedState;s!==null&&(n=s.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(I(314))}r!==null&&r.delete(t),qP(e,n)}var HP;HP=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||yt.current)gt=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return gt=!1,dN(e,t,n);gt=!!(e.flags&131072)}else gt=!1,ve&&t.flags&1048576&&Q0(t,qc,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;uc(e,t),e=t.pendingProps;var s=to(t,st.current);Ii(t,n),s=ym(null,t,r,e,s,n);var i=vm();return t.flags|=1,typeof s=="object"&&s!==null&&typeof s.render=="function"&&s.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,vt(r)?(i=!0,Wc(t)):i=!1,t.memoizedState=s.state!==null&&s.state!==void 0?s.state:null,fm(t),s.updater=Iu,t.stateNode=s,s._reactInternals=t,df(t,r,e,n),t=pf(null,t,r,!0,i,n)):(t.tag=0,ve&&i&&om(t),at(null,t,s,n),t=t.child),t;case 16:r=t.elementType;e:{switch(uc(e,t),e=t.pendingProps,s=r._init,r=s(r._payload),t.type=r,s=t.tag=AN(r),e=tn(r,e),s){case 0:t=ff(null,t,r,e,n);break e;case 1:t=Ty(null,t,r,e,n);break e;case 11:t=Sy(null,t,r,e,n);break e;case 14:t=Py(null,t,r,tn(r.type,e),n);break e}throw Error(I(306,r,""))}return t;case 0:return r=t.type,s=t.pendingProps,s=t.elementType===r?s:tn(r,s),ff(e,t,r,s,n);case 1:return r=t.type,s=t.pendingProps,s=t.elementType===r?s:tn(r,s),Ty(e,t,r,s,n);case 3:e:{if(_P(t),e===null)throw Error(I(387));
vendor: 4,674 bytes, line 83
83r=t.pendingProps,i=t.memoizedState,s=i.element,nP(e,t),Kc(t,r,null,n);var o=t.memoizedState;if(r=o.element,i.isDehydrated)if(i={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){s=io(Error(I(423)),t),t=Cy(e,t,r,n,s);break e}else if(r!==s){s=io(Error(I(424)),t),t=Cy(e,t,r,n,s);break e}else for(xt=Mr(t.stateNode.containerInfo.firstChild),kt=t,ve=!0,ln=null,n=eP(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(no(),r===s){t=Qn(e,t,n);break e}at(e,t,r,n)}t=t.child}return t;case 5:return rP(t),e===null&&lf(t),r=t.type,s=t.pendingProps,i=e!==null?e.memoizedProps:null,o=s.children,nf(r,s)?o=null:i!==null&&nf(r,i)&&(t.flags|=32),kP(e,t),at(e,t,o,n),t.child;case 6:return e===null&&lf(t),null;case 13:return RP(e,t,n);case 4:return pm(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=ro(t,null,r,n):at(e,t,r,n),t.child;case 11:return r=t.type,s=t.pendingProps,s=t.elementType===r?s:tn(r,s),Sy(e,t,r,s,n);case 7:return at(e,t,t.pendingProps,n),t.child;case 8:return at(e,t,t.pendingProps.children,n),t.child;case 12:return at(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,s=t.pendingProps,i=t.memoizedProps,o=s.value,fe(Hc,r._currentValue),r._currentValue=o,i!==null)if(pn(i.value,o)){if(i.children===s.children&&!yt.current){t=Qn(e,t,n);break e}}else for(i=t.child,i!==null&&(i.return=t);i!==null;){var a=i.dependencies;if(a!==null){o=i.child;for(var l=a.firstContext;l!==null;){if(l.context===r){if(i.tag===1){l=Hn(-1,n&-n),l.tag=2;var c=i.updateQueue;if(c!==null){c=c.shared;var u=c.pending;u===null?l.next=l:(l.next=u.next,u.next=l),c.pending=l}}i.lanes|=n,l=i.alternate,l!==null&&(l.lanes|=n),cf(i.return,n,t),a.lanes|=n;break}l=l.next}}else if(i.tag===10)o=i.type===t.type?null:i.child;else if(i.tag===18){if(o=i.return,o===null)throw Error(I(341));o.lanes|=n,a=o.alternate,a!==null&&(a.lanes|=n),cf(o,n,t),o=i.sibling}else o=i.child;if(o!==null)o.return=i;else for(o=i;o!==null;){if(o===t){o=null;break}if(i=o.sibling,i!==null){i.return=o.return,o=i;break}o=o.return}i=o}at(e,t,s.children,n),t=t.child}return t;case 9:return s=t.type,r=t.pendingProps.children,Ii(t,n),s=zt(s),r=r(s),t.flags|=1,at(e,t,r,n),t.child;case 14:return r=t.type,s=tn(r,t.pendingProps),s=tn(r.type,s),Py(e,t,r,s,n);case 15:return AP(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,s=t.pendingProps,s=t.elementType===r?s:tn(r,s),uc(e,t),t.tag=1,vt(r)?(e=!0,Wc(t)):e=!1,Ii(t,n),TP(t,r,s),df(t,r,s,n),pf(null,t,r,!0,e,n);case 19:return DP(e,t,n);case 22:return xP(e,t,n)}throw Error(I(156,t.tag))};function GP(e,t){return w0(e,t)}function EN(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ut(e,t,n,r){return new EN(e,t,n,r)}function _m(e){return e=e.prototype,!(!e||!e.isReactComponent)}function AN(e){if(typeof e=="function")return _m(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Kp)return 11;if(e===Yp)return 14}return 2}function Ur(e,t){var n=e.alternate;return n===null?(n=Ut(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function fc(e,t,n,r,s,i){var o=2;if(r=e,typeof e=="function")_m(e)&&(o=1);else if(typeof e=="string")o=5;else e:switch(e){case hi:return Os(n.children,s,i,t);case Gp:o=8,s|=8;break;case Oh:return e=Ut(12,n,t,s|2),e.elementType=Oh,e.lanes=i,e;case Lh:return e=Ut(13,n,t,s),e.elementType=Lh,e.lanes=i,e;case Mh:return e=Ut(19,n,t,s),e.elementType=Mh,e.lanes=i,e;case r0:return Mu(n,s,i,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case t0:o=10;break e;case n0:o=9;break e;case Kp:o=11;break e;case Yp:o=14;break e;case br:o=16,r=null;break e}throw Error(I(130,e==null?e:typeof e,""))}return t=Ut(o,n,t,s),t.elementType=e,t.type=r,t.lanes=i,t}function Os(e,t,n,r){return e=Ut(7,e,r,t),e.lanes=n,e}function Mu(e,t,n,r){return e=Ut(22,e,r,t),e.elementType=r0,e.lanes=n,e.stateNode={isHidden:!1},e}
vendor: 5,691 bytes, line 83
83function Bd(e,t,n){return e=Ut(6,e,null,t),e.lanes=n,e}function Ud(e,t,n){return t=Ut(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function xN(e,t,n,r,s){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=wd(0),this.expirationTimes=wd(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=wd(0),this.identifierPrefix=r,this.onRecoverableError=s,this.mutableSourceEagerHydrationData=null}function Rm(e,t,n,r,s,i,o,a,l){return e=new xN(e,t,n,a,l),t===1?(t=1,i===!0&&(t|=8)):t=0,i=Ut(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},fm(i),e}function kN(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:di,key:r==null?null:""+r,children:e,containerInfo:t,implementation:n}}function KP(e){if(!e)return zr;e=e._reactInternals;e:{if(qs(e)!==e||e.tag!==1)throw Error(I(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(vt(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(t!==null);throw Error(I(171))}if(e.tag===1){var n=e.type;if(vt(n))return K0(e,n,t)}return t}function YP(e,t,n,r,s,i,o,a,l){return e=Rm(n,r,!0,e,s,i,o,a,l),e.context=KP(null),n=e.current,r=ut(),s=Br(n),i=Hn(r,s),i.callback=t??null,Fr(n,i,s),e.current.lanes=s,rl(e,s,r),wt(e,r),e}function Fu(e,t,n,r){var s=t.current,i=ut(),o=Br(s);return n=KP(n),t.context===null?t.context=n:t.pendingContext=n,t=Hn(i,o),t.payload={element:e},r=r===void 0?null:r,r!==null&&(t.callback=r),e=Fr(s,t,o),e!==null&&(dn(e,s,o,i),ac(e,s,o)),o}function nu(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function Oy(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function Dm(e,t){Oy(e,t),(e=e.alternate)&&Oy(e,t)}function _N(){return null}var QP=typeof reportError=="function"?reportError:function(e){console.error(e)};function Nm(e){this._internalRoot=e}ju.prototype.render=Nm.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(I(409));Fu(e,t,null,null)};ju.prototype.unmount=Nm.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Us(function(){Fu(null,e,null,null)}),t[Kn]=null}};function ju(e){this._internalRoot=e}ju.prototype.unstable_scheduleHydration=function(e){if(e){var t=x0();e={blockedOn:null,target:e,priority:t};for(var n=0;n<vr.length&&t!==0&&t<vr[n].priority;n++);vr.splice(n,0,e),n===0&&_0(e)}};function Im(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function Bu(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function Ly(){}function RN(e,t,n,r,s){if(s){if(typeof r=="function"){var i=r;r=function(){var c=nu(o);i.call(c)}}var o=YP(t,r,e,0,null,!1,!1,"",Ly);return e._reactRootContainer=o,e[Kn]=o.current,ka(e.nodeType===8?e.parentNode:e),Us(),o}for(;s=e.lastChild;)e.removeChild(s);if(typeof r=="function"){var a=r;r=function(){var c=nu(l);a.call(c)}}var l=Rm(e,0,!1,null,null,!1,!1,"",Ly);return e._reactRootContainer=l,e[Kn]=l.current,ka(e.nodeType===8?e.parentNode:e),Us(function(){Fu(t,l,n,r)}),l}function Uu(e,t,n,r,s){var i=n._reactRootContainer;if(i){var o=i;if(typeof s=="function"){var a=s;s=function(){var l=nu(o);a.call(l)}}Fu(t,o,e,s)}else o=RN(n,t,e,s,r);return nu(o)}E0=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=qo(t.pendingLanes);n!==0&&(Xp(t,n|1),wt(t,_e()),!(ae&6)&&(oo=_e()+500,Jr()))}break;case 13:Us(function(){var r=Yn(e,1);if(r!==null){var s=ut();dn(r,e,1,s)}}),Dm(e,1)}};Zp=function(e){if(e.tag===13){var t=Yn(e,134217728);if(t!==null){var n=ut();dn(t,e,134217728,n)}Dm(e,134217728)}};A0=function(e){if(e.tag===13){var t=Br(e),n=Yn(e,t);if(n!==null){var r=ut();dn(n,e,t,r)}Dm(e,t)}};x0=function(){return ue};k0=function(e,t){var n=ue;try{return ue=e,t()}finally{ue=n}};Hh=function(e,t,n){switch(t){case"input":if(Bh(e,n),t=n.name,n.type==="radio"&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var s=Ru(r);if(!s)throw Error(I(90));i0(r),Bh(r,s)}}}break;case"textarea":a0(e,n);break;case"select":t=n.value,t!=null&&_i(e,!!n.multiple,t,!1)}};p0=Am;m0=Us;var DN={usingClientEntryPoint:!1,Events:[il,bi,Ru,h0,f0,Am]},Io={findFiberByHostInstance:bs,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},NN={bundleType:Io.bundleType,version:Io.version,rendererPackageName:Io.rendererPackageName,rendererConfig:Io.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:nr.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=y0(e),e===null?null:e.stateNode},findFiberByHostInstance:Io.findFiberByHostInstance||_N,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};
83if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Wl=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Wl.isDisabled&&Wl.supportsFiber)try{Au=Wl.inject(NN),An=Wl}catch{}}Dt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=DN;Dt.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Im(t))throw Error(I(200));return kN(e,t,null,n)};Dt.createRoot=function(e,t){if(!Im(e))throw Error(I(299));var n=!1,r="",s=QP;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onRecoverableError!==void 0&&(s=t.onRecoverableError)),t=Rm(e,1,!1,null,null,n,!1,r,s),e[Kn]=t.current,ka(e.nodeType===8?e.parentNode:e),new Nm(t)};Dt.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(I(188)):(e=Object.keys(e).join(","),Error(I(268,e)));return e=y0(t),e=e===null?null:e.stateNode,e};Dt.flushSync=function(e){return Us(e)};Dt.hydrate=function(e,t,n){if(!Bu(t))throw Error(I(200));return Uu(null,e,t,!0,n)};Dt.hydrateRoot=function(e,t,n){if(!Im(e))throw Error(I(405));var r=n!=null&&n.hydratedSources||null,s=!1,i="",o=QP;if(n!=null&&(n.unstable_strictMode===!0&&(s=!0),n.identifierPrefix!==void 0&&(i=n.identifierPrefix),n.onRecoverableError!==void 0&&(o=n.onRecoverableError)),t=YP(t,null,e,1,n??null,s,!1,i,o),e[Kn]=t.current,ka(e),r)for(e=0;e<r.length;e++)n=r[e],s=n._getVersion,s=s(n._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[n,s]:t.mutableSourceEagerHydrationData.push(n,s);return new ju(t)};Dt.render=function(e,t,n){if(!Bu(t))throw Error(I(200));return Uu(null,e,t,!1,n)};Dt.unmountComponentAtNode=function(e){if(!Bu(e))throw Error(I(40));return e._reactRootContainer?(Us(function(){Uu(null,null,e,!1,function(){e._reactRootContainer=null,e[Kn]=null})}),!0):!1};Dt.unstable_batchedUpdates=Am;Dt.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!Bu(n))throw Error(I(200));if(e==null||e._reactInternals===void 0)throw Error(I(38));return Uu(e,t,n,!1,r)};Dt.version="18.3.1-next-f1338f8080-20240426";function JP(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(JP)}catch(e){console.error(e)}}JP(),JS.exports=Dt;var al=JS.exports;const XP=el(al);var ZP,My=al;ZP=My.createRoot,My.hydrateRoot;var IN=typeof Element<"u",ON=typeof Map=="function",LN=typeof Set=="function",MN=typeof ArrayBuffer=="function"&&!!ArrayBuffer.isView;function pc(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;var n,r,s;if(Array.isArray(e)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(!pc(e[r],t[r]))return!1;return!0}var i;if(ON&&e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(i=e.entries();!(r=i.next()).done;)if(!t.has(r.value[0]))return!1;for(i=e.entries();!(r=i.next()).done;)if(!pc(r.value[1],t.get(r.value[0])))return!1;return!0}if(LN&&e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(i=e.entries();!(r=i.next()).done;)if(!t.has(r.value[0]))return!1;return!0}if(MN&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(e[r]!==t[r])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf&&typeof e.valueOf=="function"&&typeof t.valueOf=="function")return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString&&typeof e.toString=="function"&&typeof t.toString=="function")return e.toString()===t.toString();if(s=Object.keys(e),n=s.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,s[r]))return!1;if(IN&&e instanceof Element)return!1;for(r=n;r--!==0;)if(!((s[r]==="_owner"||s[r]==="__v"||s[r]==="__o")&&e.$$typeof)&&!pc(e[s[r]],t[s[r]]))return!1;return!0}return e!==e&&t!==t}var FN=function(t,n){try{return pc(t,n)}catch(r){if((r.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw r}};const jN=el(FN);var BN=function(e,t,n,r,s,i,o,a){if(!e){var l;if(t===void 0)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,s,i,o,a],u=0;l=new Error(t.replace(/%s/g,function(){return c[u++]})),l.name="Invariant Violation"}throw l.framesToPop=1,l}},UN=BN;const Fy=el(UN);var VN=function(t,n,r,s){var i=r?r.call(s,t,n):void 0;if(i!==void 0)return!!i;if(t===n)return!0;
83if(typeof t!="object"||!t||typeof n!="object"||!n)return!1;var o=Object.keys(t),a=Object.keys(n);if(o.length!==a.length)return!1;for(var l=Object.prototype.hasOwnProperty.bind(n),c=0;c<o.length;c++){var u=o[c];if(!l(u))return!1;var d=t[u],h=n[u];if(i=r?r.call(s,d,h,u):void 0,i===!1||i===void 0&&d!==h)return!1}return!0};const $N=el(VN);var eT=(e=>(e.BASE="base",e.BODY="body",e.HEAD="head",e.HTML="html",e.LINK="link",e.META="meta",e.NOSCRIPT="noscript",e.SCRIPT="script",e.STYLE="style",e.TITLE="title",e.FRAGMENT="Symbol(react.fragment)",e))(eT||{}),Vd={link:{rel:["amphtml","canonical","alternate"]},script:{type:["application/ld+json"]},meta:{charset:"",name:["generator","robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]}},jy=Object.values(eT),Vu={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},tT=Object.entries(Vu).reduce((e,[t,n])=>(e[n]=t,e),{}),cn="data-rh",Li={DEFAULT_TITLE:"defaultTitle",DEFER:"defer",ENCODE_SPECIAL_CHARACTERS:"encodeSpecialCharacters",ON_CHANGE_CLIENT_STATE:"onChangeClientState",TITLE_TEMPLATE:"titleTemplate",PRIORITIZE_SEO_TAGS:"prioritizeSeoTags"},Mi=(e,t)=>{for(let n=e.length-1;n>=0;n-=1){const r=e[n];if(Object.prototype.hasOwnProperty.call(r,t))return r[t]}return null},WN=e=>{let t=Mi(e,"title");const n=Mi(e,Li.TITLE_TEMPLATE);if(Array.isArray(t)&&(t=t.join("")),n&&t)return n.replace(/%s/g,()=>t);const r=Mi(e,Li.DEFAULT_TITLE);return t||r||void 0},zN=e=>Mi(e,Li.ON_CHANGE_CLIENT_STATE)||(()=>{}),$d=(e,t)=>t.filter(n=>typeof n[e]<"u").map(n=>n[e]).reduce((n,r)=>({...n,...r}),{}),qN=(e,t)=>t.filter(n=>typeof n.base<"u").map(n=>n.base).reverse().reduce((n,r)=>{if(!n.length){const s=Object.keys(r);for(let i=0;i<s.length;i+=1){const a=s[i].toLowerCase();if(e.indexOf(a)!==-1&&r[a])return n.concat(r)}}return n},[]),HN=e=>console&&typeof console.warn=="function"&&console.warn(e),Oo=(e,t,n)=>{const r={};return n.filter(s=>Array.isArray(s[e])?!0:(typeof s[e]<"u"&&HN(`Helmet: ${e} should be of type "Array". Instead found type "${typeof s[e]}"`),!1)).map(s=>s[e]).reverse().reduce((s,i)=>{const o={};i.filter(l=>{let c;const u=Object.keys(l);for(let h=0;h<u.length;h+=1){const f=u[h],m=f.toLowerCase();t.indexOf(m)!==-1&&!(c==="rel"&&l[c].toLowerCase()==="canonical")&&!(m==="rel"&&l[m].toLowerCase()==="stylesheet")&&(c=m),t.indexOf(f)!==-1&&(f==="innerHTML"||f==="cssText"||f==="itemprop")&&(c=f)}if(!c||!l[c])return!1;const d=l[c].toLowerCase();return r[c]||(r[c]={}),o[c]||(o[c]={}),r[c][d]?!1:(o[c][d]=!0,!0)}).reverse().forEach(l=>s.push(l));const a=Object.keys(o);for(let l=0;l<a.length;l+=1){const c=a[l],u={...r[c],...o[c]};r[c]=u}return s},[]).reverse()},GN=(e,t)=>{if(Array.isArray(e)&&e.length){for(let n=0;n<e.length;n+=1)if(e[n][t])return!0}return!1},KN=e=>({baseTag:qN(["href"],e),bodyAttributes:$d("bodyAttributes",e),defer:Mi(e,Li.DEFER),encode:Mi(e,Li.ENCODE_SPECIAL_CHARACTERS),htmlAttributes:$d("htmlAttributes",e),linkTags:Oo("link",["rel","href"],e),metaTags:Oo("meta",["name","charset","http-equiv","property","itemprop"],e),noscriptTags:Oo("noscript",["innerHTML"],e),onChangeClientState:zN(e),scriptTags:Oo("script",["src","innerHTML"],e),styleTags:Oo("style",["cssText"],e),title:WN(e),titleAttributes:$d("titleAttributes",e),prioritizeSeoTags:GN(e,Li.PRIORITIZE_SEO_TAGS)}),nT=e=>Array.isArray(e)?e.join(""):e,YN=(e,t)=>{const n=Object.keys(e);for(let r=0;r<n.length;r+=1)if(t[n[r]]&&t[n[r]].includes(e[n[r]]))return!0;return!1},Wd=(e,t)=>Array.isArray(e)?e.reduce((n,r)=>(YN(r,t)?n.priority.push(r):n.default.push(r),n),{priority:[],default:[]}):{default:e,priority:[]},By=(e,t)=>({...e,[t]:void 0}),QN=["noscript","script","style"],Af=(e,t=!0)=>t===!1?String(e):String(e).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;"),rT=e=>Object.keys(e).reduce((t,n)=>{const r=typeof e[n]<"u"?`${n}="${e[n]}"`:`${n}`;return t?`${t} ${r}`:r},""),JN=(e,t,n,r)=>{const s=rT(n),i=nT(t);return s?`<${e} ${cn}="true" ${s}>${Af(i,r)}</${e}>`:`<${e} ${cn}="true">${Af(i,r)}</${e}>`},XN=(e,t,n=!0)=>t.reduce((r,s)=>{const i=s,o=Object.keys(i).filter(c=>!(c==="innerHTML"||c==="cssText")).reduce((c,u)=>{const d=typeof i[u]>"u"?u:`${u}="${Af(i[u],n)}"`;return c?`${c} ${d}`:d},""),a=i.innerHTML||i.cssText||"",l=QN.indexOf(e)===-1;return`${r}<${e} ${cn}="true" ${o}${l?"/>":`>${a}</${e}>`}`},""),sT=(e,t={})=>Object.keys(e).reduce((n,r)=>{const s=Vu[r];return n[s||r]=e[r],n},t),ZN=(e,t,n)=>{const r={key:t,[cn]:!0},s=sT(n,r);return[N.createElement("title",s,t)]},mc=(e,t)=>t.map((n,r)=>{const s={key:r,[cn]:!0};
83return Object.keys(n).forEach(i=>{const a=Vu[i]||i;if(a==="innerHTML"||a==="cssText"){const l=n.innerHTML||n.cssText;s.dangerouslySetInnerHTML={__html:l}}else s[a]=n[i]}),N.createElement(e,s)}),Lt=(e,t,n=!0)=>{switch(e){case"title":return{toComponent:()=>ZN(e,t.title,t.titleAttributes),toString:()=>JN(e,t.title,t.titleAttributes,n)};case"bodyAttributes":case"htmlAttributes":return{toComponent:()=>sT(t),toString:()=>rT(t)};default:return{toComponent:()=>mc(e,t),toString:()=>XN(e,t,n)}}},eI=({metaTags:e,linkTags:t,scriptTags:n,encode:r})=>{const s=Wd(e,Vd.meta),i=Wd(t,Vd.link),o=Wd(n,Vd.script);return{priorityMethods:{toComponent:()=>[...mc("meta",s.priority),...mc("link",i.priority),...mc("script",o.priority)],toString:()=>`${Lt("meta",s.priority,r)} ${Lt("link",i.priority,r)} ${Lt("script",o.priority,r)}`},metaTags:s.default,linkTags:i.default,scriptTags:o.default}},tI=e=>{const{baseTag:t,bodyAttributes:n,encode:r=!0,htmlAttributes:s,noscriptTags:i,styleTags:o,title:a="",titleAttributes:l,prioritizeSeoTags:c}=e;let{linkTags:u,metaTags:d,scriptTags:h}=e,f={toComponent:()=>[],toString:()=>""};return c&&({priorityMethods:f,linkTags:u,metaTags:d,scriptTags:h}=eI(e)),{priority:f,base:Lt("base",t,r),bodyAttributes:Lt("bodyAttributes",n,r),htmlAttributes:Lt("htmlAttributes",s,r),link:Lt("link",u,r),meta:Lt("meta",d,r),noscript:Lt("noscript",i,r),script:Lt("script",h,r),style:Lt("style",o,r),title:Lt("title",{title:a,titleAttributes:l},r)}},xf=tI,zl=[],Om=!!(typeof window<"u"&&window.document&&window.document.createElement),kf=class{constructor(e,t){Le(this,"instances",[]);Le(this,"canUseDOM",Om);Le(this,"context");Le(this,"value",{setHelmet:e=>{this.context.helmet=e},helmetInstances:{get:()=>this.canUseDOM?zl:this.instances,add:e=>{(this.canUseDOM?zl:this.instances).push(e)},remove:e=>{const t=(this.canUseDOM?zl:this.instances).indexOf(e);(this.canUseDOM?zl:this.instances).splice(t,1)}}});this.context=e,this.canUseDOM=t||!1,t||(e.helmet=xf({baseTag:[],bodyAttributes:{},htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))}},nI=parseInt(N.version.split(".")[0],10),_f=nI>=19,rI={},iT=N.createContext(rI),Ps,oT=(Ps=class extends p.Component{constructor(n){super(n);Le(this,"helmetData");_f?this.helmetData=null:this.helmetData=new kf(this.props.context||{},Ps.canUseDOM)}render(){return _f?N.createElement(N.Fragment,null,this.props.children):N.createElement(iT.Provider,{value:this.helmetData.value},this.props.children)}},Le(Ps,"canUseDOM",Om),Ps),ii=(e,t)=>{const n=document.head||document.querySelector("head"),r=n.querySelectorAll(`${e}[${cn}]`),s=[].slice.call(r),i=[];let o;return t&&t.length&&t.forEach(a=>{const l=document.createElement(e);for(const c in a)if(Object.prototype.hasOwnProperty.call(a,c))if(c==="innerHTML")l.innerHTML=a.innerHTML;else if(c==="cssText"){const u=a.cssText;l.appendChild(document.createTextNode(u))}else{const u=c,d=typeof a[u]>
83"u"?"":a[u];l.setAttribute(c,d)}l.setAttribute(cn,"true"),s.some((c,u)=>(o=u,l.isEqualNode(c)))?s.splice(o,1):i.push(l)}),s.forEach(a=>{var l;return(l=a.parentNode)==null?void 0:l.removeChild(a)}),i.forEach(a=>n.appendChild(a)),{oldTags:s,newTags:i}},Rf=(e,t)=>{const n=document.getElementsByTagName(e)[0];if(!n)return;const r=n.getAttribute(cn),s=r?r.split(","):[],i=[...s],o=Object.keys(t);for(const a of o){const l=t[a]||"";n.getAttribute(a)!==l&&n.setAttribute(a,l),s.indexOf(a)===-1&&s.push(a);const c=i.indexOf(a);c!==-1&&i.splice(c,1)}for(let a=i.length-1;a>=0;a-=1)n.removeAttribute(i[a]);s.length===i.length?n.removeAttribute(cn):n.getAttribute(cn)!==o.join(",")&&n.setAttribute(cn,o.join(","))},sI=(e,t)=>{typeof e<"u"&&document.title!==e&&(document.title=nT(e)),Rf("title",t)},Uy=(e,t)=>{const{baseTag:n,bodyAttributes:r,htmlAttributes:s,linkTags:i,metaTags:o,noscriptTags:a,onChangeClientState:l,scriptTags:c,styleTags:u,title:d,titleAttributes:h}=e;Rf("body",r),Rf("html",s),sI(d,h);const f={baseTag:ii("base",n),linkTags:ii("link",i),metaTags:ii("meta",o),noscriptTags:ii("noscript",a),scriptTags:ii("script",c),styleTags:ii("style",u)},m={},b={};Object.keys(f).forEach(w=>{const{newTags:y,oldTags:g}=f[w];y.length&&(m[w]=y),g.length&&(b[w]=f[w].oldTags)}),t&&t(),l(e,m,b)},Lo=null,iI=e=>{Lo&&cancelAnimationFrame(Lo),e.defer?Lo=requestAnimationFrame(()=>{Uy(e,()=>{Lo=null})}):(Uy(e),Lo=null)},oI=iI,Vy=class extends p.Component{constructor(){super(...arguments);Le(this,"rendered",!1)}shouldComponentUpdate(t){return!$N(t,this.props)}componentDidUpdate(){this.emitChange()}componentWillUnmount(){const{helmetInstances:t}=this.props.context;t.remove(this),this.emitChange()}emitChange(){const{helmetInstances:t,setHelmet:n}=this.props.context;let r=null;const s=KN(t.get().map(i=>{const{context:o,...a}=i.props;return a}));oT.canUseDOM?oI(s):xf&&(r=xf(s)),n(r)}init(){if(this.rendered)return;this.rendered=!0;const{helmetInstances:t}=this.props.context;t.add(this),this.emitChange()}render(){return this.init(),null}},bc=[],$y=e=>{const t={};for(const n of Object.keys(e))t[tT[n]||n]=e[n];return t},as=e=>{const t={};for(const n of Object.keys(e)){const r=Vu[n];t[r||n]=e[n]}return t},Wy=(e,t)=>{if(!Om)return;const n=document.getElementsByTagName(e)[0];if(!n)return;const r="data-rh-managed",s=n.getAttribute(r),i=s?s.split(","):[],o=Object.keys(t);for(const a of i)o.includes(a)||n.removeAttribute(a);for(const a of o){const l=t[a];l==null||l===!1?n.removeAttribute(a):l===!0?n.setAttribute(a,""):n.setAttribute(a,String(l))}o.length>0?n.setAttribute(r,o.join(",")):n.removeAttribute(r)},zd=()=>{const e={},t={};for(const n of bc){const{htmlAttributes:r,bodyAttributes:s}=n.props;r&&Object.assign(e,$y(r)),s&&Object.assign(t,$y(s))}Wy("html",e),Wy("body",t)},aI=class extends p.Component{componentDidMount(){bc.push(this),zd()}componentDidUpdate(){zd()}componentWillUnmount(){const e=bc.indexOf(this);e!==-1&&bc.splice(e,1),zd()}resolveTitle(){const{title:e,titleTemplate:t,defaultTitle:n}=this.props;return e&&t?t.replace(/%s/g,()=>Array.isArray(e)?e.join(""):e):e||n||void 0}renderTitle(){const e=this.resolveTitle();if(e===void 0)return null;const t=this.props.titleAttributes||{};return N.createElement("title",as(t),e)}renderBase(){const{base:e}=this.props;return e?N.createElement("base",as(e)):null}renderMeta(){const{meta:e}=this.props;return!e||!Array.isArray(e)?null:e.map((t,n)=>N.createElement("meta",{key:n,...as(t)}))}renderLink(){const{link:e}=this.props;return!e||!Array.isArray(e)?null:e.map((t,n)=>N.createElement("link",{key:n,...as(t)}))}renderScript(){const{script:e}=this.props;return!e||!Array.isArray(e)?null:e.map((t,n)=>{const{innerHTML:r,...s}=t,i=as(s);return r&&(i.dangerouslySetInnerHTML={__html:r}),N.createElement("script",{key:n,...i})})}renderStyle(){const{style:e}=this.props;return!e||!Array.isArray(e)?null:e.map((t,n)=>{const{cssText:r,...s}=t,i=as(s);return r&&(i.dangerouslySetInnerHTML={__html:r}),N.createElement("style",{key:n,...i})})}renderNoscript(){const{noscript:e}=this.props;return!e||!Array.isArray(e)?null:e.map((t,n)=>{const{innerHTML:r,...s}=t,i=as(s);return r&&(i.dangerouslySetInnerHTML={__html:r}),N.createElement("noscript",{key:n,...i})})}render(){return N.createElement(N.Fragment,null,this.renderTitle(),this.renderBase(),this.renderMeta(),this.renderLink(),this.renderScript(),this.renderStyle(),this.renderNoscript())}},wh,Tz=(wh=class extends p.Component{shouldComponentUpdate(e){return!jN(By(this.props,"helmetData"),By(e,"helmetData"))}mapNestedChildrenToProps(e,t){if(!t)return null;switch(e.type){case"script":case"noscript":return{innerHTML:t};case"style":return{cssText:t};default:throw new Error(`<${e.type} /> elements are self-closing and can not contain children. Refer to our API for more information.`)}}flattenArrayTypeChildren(e,t,n,r){return{...t,[e.type]:[...t[e.type]||[],{...n,...this.mapNestedChildrenToProps(e,r)}]}}mapObjectTypeChildren(e,t,n,r){switch(e.type){case"title":return{...t,[e.type]:r,titleAttributes:{...n}};case"body":return{...t,bodyAttributes:{...n}};case"html":return{...t,htmlAttributes:{...n}};default:return{...t,[e.type]:{...n}}}}mapArrayTypeChildrenToProps(e,t){let n={...t};return Object.keys(e).forEach(r=>{n={...n,[r]:e[r]}}),n}
83warnOnInvalidChildren(e,t){return Fy(jy.some(n=>e.type===n),typeof e.type=="function"?"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.":`Only elements types ${jy.join(", ")} are allowed. Helmet does not support rendering <${e.type}> elements. Refer to our API for more information.`),Fy(!t||typeof t=="string"||Array.isArray(t)&&!t.some(n=>typeof n!="string"),`Helmet expects a string as a child of <${e.type}>. Did you forget to wrap your children in braces? ( <${e.type}>{\`\`}</${e.type}> ) Refer to our API for more information.`),!0}mapChildrenToProps(e,t){let n={};return N.Children.forEach(e,r=>{if(!r||!r.props)return;const{children:s,...i}=r.props,o=Object.keys(i).reduce((l,c)=>(l[tT[c]||c]=i[c],l),{});let{type:a}=r;switch(typeof a=="symbol"?a=a.toString():this.warnOnInvalidChildren(r,s),a){case"Symbol(react.fragment)":t=this.mapChildrenToProps(s,t);break;case"link":case"meta":case"noscript":case"script":case"style":n=this.flattenArrayTypeChildren(r,n,o,s);break;default:t=this.mapObjectTypeChildren(r,t,o,s);break}}),this.mapArrayTypeChildrenToProps(n,t)}render(){const{children:e,...t}=this.props;let n={...t},{helmetData:r}=t;if(e&&(n=this.mapChildrenToProps(e,n)),r&&!(r instanceof kf)){const s=r;r=new kf(s.context,!0),delete n.helmetData}return _f?N.createElement(aI,{...n}):r?N.createElement(Vy,{...n,context:r.value}):N.createElement(iT.Consumer,null,s=>N.createElement(Vy,{...n,context:s}))}},Le(wh,"defaultProps",{defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1}),wh);const lI="modulepreload",cI=function(e){return"/"+e},zy={},L=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),a=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));s=Promise.allSettled(n.map(l=>{if(l=cI(l),l in zy)return;zy[l]=!0;const c=l.endsWith(".css"),u=c?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${l}"]${u}`))return;const d=document.createElement("link");if(d.rel=c?"stylesheet":lI,c||(d.as="script"),d.crossOrigin="",d.href=l,a&&d.setAttribute("nonce",a),document.head.appendChild(d),c)return new Promise((h,f)=>{d.addEventListener("load",h),d.addEventListener("error",()=>f(new Error(`Unable to preload CSS for ${l}`)))})}))}function i(o){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=o,window.dispatchEvent(a),!a.defaultPrevented)throw o}return s.then(o=>{for(const a of o||[])a.status==="rejected"&&i(a.reason);return t().catch(i)})},uI=1,aT=3e3;let qd=0;function dI(){return qd=(qd+1)%Number.MAX_SAFE_INTEGER,qd.toString()}const Hd=new Map,qy=e=>{if(Hd.has(e))return;const t=setTimeout(()=>{Hd.delete(e),Fi({type:"REMOVE_TOAST",toastId:e})},aT);Hd.set(e,t)},hI=(e,t)=>{switch(t.type){case"ADD_TOAST":return setTimeout(()=>{Fi({type:"DISMISS_TOAST",toastId:t.toast.id})},aT),{...e,toasts:[t.toast,...e.toasts].slice(0,uI)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(n=>n.id===t.toast.id?{...n,...t.toast}:n)};case"DISMISS_TOAST":{const{toastId:n}=t;return n?qy(n):e.toasts.forEach(r=>{qy(r.id)}),{...e,toasts:e.toasts.map(r=>r.id===n||n===void 0?{...r,open:!1}:r)}}case"REMOVE_TOAST":return t.toastId===void 0?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(n=>n.id!==t.toastId)}}},gc=[];let yc={toasts:[]};function Fi(e){yc=hI(yc,e),gc.forEach(t=>{t(yc)})}function fI({...e}){const t=dI(),n=s=>Fi({type:"UPDATE_TOAST",toast:{...s,id:t}}),r=()=>Fi({type:"DISMISS_TOAST",toastId:t});return Fi({type:"ADD_TOAST",toast:{...e,id:t,open:!0,onOpenChange:s=>{s||r()}}}),{id:t,dismiss:r,update:n}}function lT(){const[e,t]=p.useState(yc);return p.useEffect(()=>(gc.push(t),()=>{const n=gc.indexOf(t);n>-1&&gc.splice(n,1)}),[e]),{...e,toast:fI,dismiss:n=>Fi({type:"DISMISS_TOAST",toastId:n})}}function Be(e,t,{checkForDefaultPrevented:n=!0}={}){return function(s){if(e==null||e(s),n===!1||!s.defaultPrevented)return t==null?void 0:t(s)}}function Hy(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function cT(...e){return t=>{let n=!1;const r=e.map(s=>{const i=Hy(s,t);return!n&&typeof i=="function"&&(n=!0),i});if(n)return()=>{for(let s=0;s<r.length;s++){const i=r[s];typeof i=="function"?i():Hy(e[s],null)}}}}function mn(...e){return p.useCallback(cT(...e),e)}function Cz(e,t){const n=p.createContext(t),r=i=>{const{children:o,...a}=i,l=p.useMemo(()=>a,Object.values(a));return S.jsx(n.Provider,{value:l,children:o})};r.displayName=e+"Provider";function s(i){const o=p.useContext(n);if(o)return o;if(t!==void 0)return t;throw new Error(`\`${i}\` must be used within \`${e}\``)}return[r,s]}function $u(e,t=[]){let n=[];function r(i,o){const a=p.createContext(o),l=n.length;n=[...n,o];const c=d=>{var y;const{scope:h,children:f,...m}=d,b=((y=h==null?void 0:h[e])==null?void 0:y[l])||a,w=p.useMemo(()=>m,Object.values(m));return S.jsx(b.Provider,{value:w,children:f})};c.displayName=i+"Provider";function u(d,h){var b;const f=((b=h==null?void 0:h[e])==null?void 0:b[l])||a,m=p.useContext(f);if(m)return m;if(o!==void 0)return o;throw new Error(`\`${d}\` must be used within \`${i}\``)}return[c,u]}const s=()=>{const i=n.map(o=>p.createContext(o));return function(a){const l=(a==null?void 0:a[e])||i;return p.useMemo(()=>({[`__scope${e}`]:{...a,[e]:l}}),[a,l])}};return s.scopeName=e,[r,pI(s,...t)]}function pI(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(s=>({useScope:s(),scopeName:s.scopeName}));return function(i){const o=r.reduce((a,{useScope:l,scopeName:c}
vendor: 10,635 bytes, line 83
83)=>{const d=l(i)[`__scope${c}`];return{...a,...d}},{});return p.useMemo(()=>({[`__scope${t.scopeName}`]:o}),[o])}};return n.scopeName=t.scopeName,n}function ru(e){const t=bI(e),n=p.forwardRef((r,s)=>{const{children:i,...o}=r,a=p.Children.toArray(i),l=a.find(yI);if(l){const c=l.props.children,u=a.map(d=>d===l?p.Children.count(c)>1?p.Children.only(null):p.isValidElement(c)?c.props.children:null:d);return S.jsx(t,{...o,ref:s,children:p.isValidElement(c)?p.cloneElement(c,void 0,u):null})}return S.jsx(t,{...o,ref:s,children:i})});return n.displayName=`${e}.Slot`,n}var mI=ru("Slot");function bI(e){const t=p.forwardRef((n,r)=>{const{children:s,...i}=n;if(p.isValidElement(s)){const o=wI(s),a=vI(i,s.props);return s.type!==p.Fragment&&(a.ref=r?cT(r,o):o),p.cloneElement(s,a)}return p.Children.count(s)>1?p.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var uT=Symbol("radix.slottable");function gI(e){const t=({children:n})=>S.jsx(S.Fragment,{children:n});return t.displayName=`${e}.Slottable`,t.__radixId=uT,t}function yI(e){return p.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===uT}function vI(e,t){const n={...t};for(const r in t){const s=e[r],i=t[r];/^on[A-Z]/.test(r)?s&&i?n[r]=(...a)=>{const l=i(...a);return s(...a),l}:s&&(n[r]=s):r==="style"?n[r]={...s,...i}:r==="className"&&(n[r]=[s,i].filter(Boolean).join(" "))}return{...e,...n}}function wI(e){var r,s;let t=(r=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(s=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:s.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function SI(e){const t=e+"CollectionProvider",[n,r]=$u(t),[s,i]=n(t,{collectionRef:{current:null},itemMap:new Map}),o=b=>{const{scope:w,children:y}=b,g=N.useRef(null),v=N.useRef(new Map).current;return S.jsx(s,{scope:w,itemMap:v,collectionRef:g,children:y})};o.displayName=t;const a=e+"CollectionSlot",l=ru(a),c=N.forwardRef((b,w)=>{const{scope:y,children:g}=b,v=i(a,y),P=mn(w,v.collectionRef);return S.jsx(l,{ref:P,children:g})});c.displayName=a;const u=e+"CollectionItemSlot",d="data-radix-collection-item",h=ru(u),f=N.forwardRef((b,w)=>{const{scope:y,children:g,...v}=b,P=N.useRef(null),T=mn(w,P),C=i(u,y);return N.useEffect(()=>(C.itemMap.set(P,{ref:P,...v}),()=>void C.itemMap.delete(P))),S.jsx(h,{[d]:"",ref:T,children:g})});f.displayName=u;function m(b){const w=i(e+"CollectionConsumer",b);return N.useCallback(()=>{const g=w.collectionRef.current;if(!g)return[];const v=Array.from(g.querySelectorAll(`[${d}]`));return Array.from(w.itemMap.values()).sort((C,A)=>v.indexOf(C.ref.current)-v.indexOf(A.ref.current))},[w.collectionRef,w.itemMap])}return[{Provider:o,Slot:c,ItemSlot:f},m,r]}var PI=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Pt=PI.reduce((e,t)=>{const n=ru(`Primitive.${t}`),r=p.forwardRef((s,i)=>{const{asChild:o,...a}=s,l=o?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),S.jsx(l,{...a,ref:i})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function dT(e,t){e&&al.flushSync(()=>e.dispatchEvent(t))}function qr(e){const t=p.useRef(e);return p.useEffect(()=>{t.current=e}),p.useMemo(()=>(...n)=>{var r;return(r=t.current)==null?void 0:r.call(t,...n)},[])}function TI(e,t=globalThis==null?void 0:globalThis.document){const n=qr(e);p.useEffect(()=>{const r=s=>{s.key==="Escape"&&n(s)};return t.addEventListener("keydown",r,{capture:!0}),()=>t.removeEventListener("keydown",r,{capture:!0})},[n,t])}var CI="DismissableLayer",Df="dismissableLayer.update",EI="dismissableLayer.pointerDownOutside",AI="dismissableLayer.focusOutside",Gy,hT=p.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Lm=p.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:s,onFocusOutside:i,onInteractOutside:o,onDismiss:a,...l}=e,c=p.useContext(hT),[u,d]=p.useState(null),h=(u==null?void 0:u.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,f]=p.useState({}),m=mn(t,A=>d(A)),b=Array.from(c.layers),[w]=[...c.layersWithOutsidePointerEventsDisabled].slice(-1),y=b.indexOf(w),g=u?b.indexOf(u):-1,v=c.layersWithOutsidePointerEventsDisabled.size>0,P=g>=y,T=kI(A=>{const x=A.target,k=[...c.branches].some(R=>R.contains(x));!P||k||(s==null||s(A),o==null||o(A),A.defaultPrevented||a==null||a())},h),C=_I(A=>{const x=A.target;[...c.branches].some(R=>R.contains(x))||(i==null||i(A),o==null||o(A),A.defaultPrevented||a==null||a())},h);return TI(A=>{g===c.layers.size-1&&(r==null||r(A),!A.defaultPrevented&&a&&(A.preventDefault(),a()))},h),p.useEffect(()=>{if(u)return n&&(c.layersWithOutsidePointerEventsDisabled.size===0&&(Gy=h.body.style.pointerEvents,h.body.style.pointerEvents="none"),c.layersWithOutsidePointerEventsDisabled.add(u)),c.layers.add(u),Ky(),()=>{n&&c.layersWithOutsidePointerEventsDisabled.size===1&&(h.body.style.pointerEvents=Gy)}},[u,h,n,c]),p.useEffect(()=>()=>{u&&(c.layers.delete(u),c.layersWithOutsidePointerEventsDisabled.delete(u),Ky())},[u,c]),p.useEffect(()=>{const A=()=>f({});return document.addEventListener(Df,A),()=>document.removeEventListener(Df,A)},[]),S.jsx(Pt.div,{...l,ref:m,style:{pointerEvents:v?P?"auto":"none":void 0,...e.style},onFocusCapture:Be(e.onFocusCapture,C.onFocusCapture),onBlurCapture:Be(e.onBlurCapture,C.onBlurCapture),onPointerDownCapture:Be(e.onPointerDownCapture,T.onPointerDownCapture)})});Lm.displayName=CI;var xI="DismissableLayerBranch",fT=p.forwardRef((e,t)=>{const n=p.useContext(hT),r=p.useRef(null),s=mn(t,r);return p.useEffect(()=>{const i=r.current;if(i)return n.branches.add(i),()=>{n.branches.delete(i)}},[n.branches]),S.jsx(Pt.div,{...e,ref:s})});fT.displayName=xI;function kI(e,t=globalThis==null?void 0:globalThis.document){const n=qr(e),r=p.useRef(!1),s=p.useRef(()=>{});return p.useEffect(()=>{const i=a=>{if(a.target&&!r.current){let l=function(){pT(EI,n,c,{discrete:!0})};const c={originalEvent:a};a.pointerType==="touch"?(t.removeEventListener("click",s.current),s.current=l,t.addEventListener("click",s.current,{once:!0})):l()}else t.removeEventListener("click",s.current);r.current=!1},o=window.setTimeout(()=>{t.addEventListener("pointerdown",i)},0);return()=>{window.clearTimeout(o),t.removeEventListener("pointerdown",i),t.removeEventListener("click",s.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function _I(e,t=globalThis==null?void 0:globalThis.document){const n=qr(e),r=p.useRef(!1);return p.useEffect(()=>{const s=i=>{i.target&&!r.current&&pT(AI,n,{originalEvent:i},{discrete:!1})};return t.addEventListener("focusin",s),()=>t.removeEventListener("focusin",s)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function Ky(){const e=new CustomEvent(Df);document.dispatchEvent(e)}function pT(e,t,n,{discrete:r}){const s=n.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&s.addEventListener(e,t,{once:!0}),r?dT(s,i):s.dispatchEvent(i)}var RI=Lm,DI=fT,Jn=globalThis!=null&&globalThis.document?p.useLayoutEffect:()=>{},NI="Portal",mT=p.forwardRef((e,t)=>{var a;const{container:n,...r}=e,[s,i]=p.useState(!1);Jn(()=>i(!0),[]);const o=n||s&&((a=globalThis==null?void 0:globalThis.document)==null?void 0:a.body);return o?XP.createPortal(S.jsx(Pt.div,{...r,ref:t}),o):null});mT.displayName=NI;function II(e,t){return p.useReducer((n,r)=>t[n][r]??n,e)}var Mm=e=>{const{present:t,children:n}=e,r=OI(t),s=typeof n=="function"?n({present:r.isPresent}):p.Children.only(n),i=mn(r.ref,LI(s));return typeof n=="function"||r.isPresent?p.cloneElement(s,{ref:i}):null};Mm.displayName="Presence";function OI(e){const[t,n]=p.useState(),r=p.useRef(null),s=p.useRef(e),i=p.useRef("none"),o=e?"mounted":"unmounted",[a,l]=II(o,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return p.useEffect(()=>{const c=ql(r.current);i.current=a==="mounted"?c:"none"},[a]),Jn(()=>{const c=r.current,u=s.current;if(u!==e){const h=i.current,f=ql(c);e?l("MOUNT"):f==="none"||(c==null?void 0:c.display)==="none"?l("UNMOUNT"):l(u&&h!==f?"ANIMATION_OUT":"UNMOUNT"),s.current=e}},[e,l]),Jn(()=>{if(t){let c;const u=t.ownerDocument.defaultView??window,d=f=>{const b=ql(r.current).includes(f.animationName);if(f.target===t&&b&&(l("ANIMATION_END"),!s.current)){const w=t.style.animationFillMode;t.style.animationFillMode="forwards",c=u.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=w)})}},h=f=>{f.target===t&&(i.current=ql(r.current))};return t.addEventListener("animationstart",h),t.addEventListener("animationcancel",d),t.addEventListener("animationend",d),()=>{u.clearTimeout(c),t.removeEventListener("animationstart",h),t.removeEventListener("animationcancel",d),t.removeEventListener("animationend",d)}}else l("ANIMATION_END")},[t,l]),{isPresent:["mounted","unmountSuspended"].includes(a),ref:p.useCallback(c=>{r.current=c?getComputedStyle(c):null,n(c)},[])}}function ql(e){return(e==null?void 0:e.animationName)||"none"}function LI(e){var r,s;let t=(r=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(s=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:s.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var MI=jp[" useInsertionEffect ".trim().toString()]||Jn;function bT({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){const[s,i,o]=FI({defaultProp:t,onChange:n}),a=e!==void 0,l=a?e:s;{const u=p.useRef(e!==void 0);p.useEffect(()=>{const d=u.current;d!==a&&console.warn(`${r} is changing from ${d?"controlled":"uncontrolled"} to ${a?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),u.current=a},[a,r])}const c=p.useCallback(u=>{var d;if(a){const h=jI(u)?u(e):u;h!==e&&((d=o.current)==null||d.call(o,h))}else i(u)},[a,e,i,o]);return[l,c]}function FI({defaultProp:e,onChange:t}){const[n,r]=p.useState(e),s=p.useRef(n),i=p.useRef(t);return MI(()=>{i.current=t},[t]),p.useEffect(()=>{var o;s.current!==n&&((o=i.current)==null||o.call(i,n),s.current=n)},[n,s]),[n,r,i]}function jI(e){return typeof e=="function"}var BI=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),UI="VisuallyHidden",Wu=p.forwardRef((e,t)=>
83S.jsx(Pt.span,{...e,ref:t,style:{...BI,...e.style}}));Wu.displayName=UI;var VI=Wu,Fm="ToastProvider",[jm,$I,WI]=SI("Toast"),[gT]=$u("Toast",[WI]),[zI,zu]=gT(Fm),yT=e=>{const{__scopeToast:t,label:n="Notification",duration:r=5e3,swipeDirection:s="right",swipeThreshold:i=50,children:o}=e,[a,l]=p.useState(null),[c,u]=p.useState(0),d=p.useRef(!1),h=p.useRef(!1);return n.trim()||console.error(`Invalid prop \`label\` supplied to \`${Fm}\`. Expected non-empty \`string\`.`),S.jsx(jm.Provider,{scope:t,children:S.jsx(zI,{scope:t,label:n,duration:r,swipeDirection:s,swipeThreshold:i,toastCount:c,viewport:a,onViewportChange:l,onToastAdd:p.useCallback(()=>u(f=>f+1),[]),onToastRemove:p.useCallback(()=>u(f=>f-1),[]),isFocusedToastEscapeKeyDownRef:d,isClosePausedRef:h,children:o})})};yT.displayName=Fm;var vT="ToastViewport",qI=["F8"],Nf="toast.viewportPause",If="toast.viewportResume",wT=p.forwardRef((e,t)=>{const{__scopeToast:n,hotkey:r=qI,label:s="Notifications ({hotkey})",...i}=e,o=zu(vT,n),a=$I(n),l=p.useRef(null),c=p.useRef(null),u=p.useRef(null),d=p.useRef(null),h=mn(t,d,o.onViewportChange),f=r.join("+").replace(/Key/g,"").replace(/Digit/g,""),m=o.toastCount>0;p.useEffect(()=>{const w=y=>{var v;r.length!==0&&r.every(P=>y[P]||y.code===P)&&((v=d.current)==null||v.focus())};return document.addEventListener("keydown",w),()=>document.removeEventListener("keydown",w)},[r]),p.useEffect(()=>{const w=l.current,y=d.current;if(m&&w&&y){const g=()=>{if(!o.isClosePausedRef.current){const C=new CustomEvent(Nf);y.dispatchEvent(C),o.isClosePausedRef.current=!0}},v=()=>{if(o.isClosePausedRef.current){const C=new CustomEvent(If);y.dispatchEvent(C),o.isClosePausedRef.current=!1}},P=C=>{!w.contains(C.relatedTarget)&&v()},T=()=>{w.contains(document.activeElement)||v()};return w.addEventListener("focusin",g),w.addEventListener("focusout",P),w.addEventListener("pointermove",g),w.addEventListener("pointerleave",T),window.addEventListener("blur",g),window.addEventListener("focus",v),()=>{w.removeEventListener("focusin",g),w.removeEventListener("focusout",P),w.removeEventListener("pointermove",g),w.removeEventListener("pointerleave",T),window.removeEventListener("blur",g),window.removeEventListener("focus",v)}}},[m,o.isClosePausedRef]);const b=p.useCallback(({tabbingDirection:w})=>{const g=a().map(v=>{const P=v.ref.current,T=[P,...sO(P)];return w==="forwards"?T:T.reverse()});return(w==="forwards"?g.reverse():g).flat()},[a]);return p.useEffect(()=>{const w=d.current;if(w){const y=g=>{var T,C,A;const v=g.altKey||g.ctrlKey||g.metaKey;if(g.key==="Tab"&&!v){const x=document.activeElement,k=g.shiftKey;if(g.target===w&&k){(T=c.current)==null||T.focus();return}const O=b({tabbingDirection:k?"backwards":"forwards"}),q=O.findIndex(j=>j===x);Gd(O.slice(q+1))?g.preventDefault():k?(C=c.current)==null||C.focus():(A=u.current)==null||A.focus()}};return w.addEventListener("keydown",y),()=>w.removeEventListener("keydown",y)}},[a,b]),S.jsxs(DI,{ref:l,role:"region","aria-label":s.replace("{hotkey}",f),tabIndex:-1,style:{pointerEvents:m?void 0:"none"},children:[m&&S.jsx(Of,{ref:c,onFocusFromOutsideViewport:()=>{const w=b({tabbingDirection:"forwards"});Gd(w)}}),S.jsx(jm.Slot,{scope:n,children:S.jsx(Pt.ol,{tabIndex:-1,...i,ref:h})}),m&&S.jsx(Of,{ref:u,onFocusFromOutsideViewport:()=>{const w=b({tabbingDirection:"backwards"});Gd(w)}})]})});wT.displayName=vT;var ST="ToastFocusProxy",Of=p.forwardRef((e,t)=>{const{__scopeToast:n,onFocusFromOutsideViewport:r,...s}=e,i=zu(ST,n);return S.jsx(Wu,{"aria-hidden":!0,tabIndex:0,...s,ref:t,style:{position:"fixed"},onFocus:o=>{var c;const a=o.relatedTarget;!((c=i.viewport)!=null&&c.contains(a))&&r()}})});Of.displayName=ST;var ll="Toast",HI="toast.swipeStart",GI="toast.swipeMove",KI="toast.swipeCancel",YI="toast.swipeEnd",PT=p.forwardRef((e,t)=>{const{forceMount:n,open:r,defaultOpen:s,onOpenChange:i,...o}=e,[a,l]=bT({prop:r,defaultProp:s??!0,onChange:i,caller:ll});return S.jsx(Mm,{present:n||a,children:S.jsx(XI,{open:a,...o,ref:t,onClose:()=>l(!1),onPause:qr(e.onPause),onResume:qr(e.onResume),onSwipeStart:Be(e.onSwipeStart,c=>{c.currentTarget.setAttribute("data-swipe","start")}),onSwipeMove:Be(e.onSwipeMove,c=>{const{x:u,y:d}=c.detail.delta;c.currentTarget.setAttribute("data-swipe","move"),c.currentTarget.style.setProperty("--radix-toast-swipe-move-x",`${u}px`),c.currentTarget.style.setProperty("--radix-toast-swipe-move-y",`${d}px`)}),onSwipeCancel:Be(e.onSwipeCancel,c=>{c.currentTarget.setAttribute("data-swipe","cancel"),c.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),c.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),c.currentTarget.style.removeProperty("--radix-toast-swipe-end-x"),c.currentTarget.style.removeProperty("--radix-toast-swipe-end-y")}),onSwipeEnd:Be(e.onSwipeEnd,c=>{const{x:u,y:d}=c.detail.delta;c.currentTarget.setAttribute("data-swipe","end"),c.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),c.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),c.currentTarget.style.setProperty("--radix-toast-swipe-end-x",`${u}px`),c.currentTarget.style.setProperty("--radix-toast-swipe-end-y",`${d}px`),l(!1)})})})});PT.displayName=ll;var[QI,JI]=gT(ll,{onClose(){}}),XI=p.forwardRef((e,t)=>
83{const{__scopeToast:n,type:r="foreground",duration:s,open:i,onClose:o,onEscapeKeyDown:a,onPause:l,onResume:c,onSwipeStart:u,onSwipeMove:d,onSwipeCancel:h,onSwipeEnd:f,...m}=e,b=zu(ll,n),[w,y]=p.useState(null),g=mn(t,j=>y(j)),v=p.useRef(null),P=p.useRef(null),T=s||b.duration,C=p.useRef(0),A=p.useRef(T),x=p.useRef(0),{onToastAdd:k,onToastRemove:R}=b,F=qr(()=>{var ee;(w==null?void 0:w.contains(document.activeElement))&&((ee=b.viewport)==null||ee.focus()),o()}),O=p.useCallback(j=>{!j||j===1/0||(window.clearTimeout(x.current),C.current=new Date().getTime(),x.current=window.setTimeout(F,j))},[F]);p.useEffect(()=>{const j=b.viewport;if(j){const ee=()=>{O(A.current),c==null||c()},Q=()=>{const W=new Date().getTime()-C.current;A.current=A.current-W,window.clearTimeout(x.current),l==null||l()};return j.addEventListener(Nf,Q),j.addEventListener(If,ee),()=>{j.removeEventListener(Nf,Q),j.removeEventListener(If,ee)}}},[b.viewport,T,l,c,O]),p.useEffect(()=>{i&&!b.isClosePausedRef.current&&O(T)},[i,T,b.isClosePausedRef,O]),p.useEffect(()=>(k(),()=>R()),[k,R]);const q=p.useMemo(()=>w?_T(w):null,[w]);return b.viewport?S.jsxs(S.Fragment,{children:[q&&S.jsx(ZI,{__scopeToast:n,role:"status","aria-live":r==="foreground"?"assertive":"polite","aria-atomic":!0,children:q}),S.jsx(QI,{scope:n,onClose:F,children:al.createPortal(S.jsx(jm.ItemSlot,{scope:n,children:S.jsx(RI,{asChild:!0,onEscapeKeyDown:Be(a,()=>{b.isFocusedToastEscapeKeyDownRef.current||F(),b.isFocusedToastEscapeKeyDownRef.current=!1}),children:S.jsx(Pt.li,{role:"status","aria-live":"off","aria-atomic":!0,tabIndex:0,"data-state":i?"open":"closed","data-swipe-direction":b.swipeDirection,...m,ref:g,style:{userSelect:"none",touchAction:"none",...e.style},onKeyDown:Be(e.onKeyDown,j=>{j.key==="Escape"&&(a==null||a(j.nativeEvent),j.nativeEvent.defaultPrevented||(b.is
83FocusedToastEscapeKeyDownRef.current=!0,F()))}),onPointerDown:Be(e.onPointerDown,j=>{j.button===0&&(v.current={x:j.clientX,y:j.clientY})}),onPointerMove:Be(e.onPointerMove,j=>{if(!v.current)return;const ee=j.clientX-v.current.x,Q=j.clientY-v.current.y,W=!!P.current,_=["left","right"].includes(b.swipeDirection),D=["left","up"].includes(b.swipeDirection)?Math.min:Math.max,B=_?D(0,ee):0,J=_?0:D(0,Q),H=j.pointerType==="touch"?10:2,ne={x:B,y:J},se={originalEvent:j,delta:ne};W?(P.current=ne,Hl(GI,d,se,{discrete:!1})):Yy(ne,b.swipeDirection,H)?(P.current=ne,Hl(HI,u,se,{discrete:!1}),j.target.setPointerCapture(j.pointerId)):(Math.abs(ee)>H||Math.abs(Q)>H)&&(v.current=null)}),onPointerUp:Be(e.onPointerUp,j=>{const ee=P.current,Q=j.target;if(Q.hasPointerCapture(j.pointerId)&&Q.releasePointerCapture(j.pointerId),P.current=null,v.current=null,ee){const W=j.currentTarget,_={originalEvent:j,delta:ee};Yy(ee,b.swipeDirection,b.swipeThreshold)?Hl(YI,f,_,{discrete:!0}):Hl(KI,h,_,{discrete:!0}),W.addEventListener("click",D=>D.preventDefault(),{once:!0})}})})})}),b.viewport)})]}):null}),ZI=e=>{const{__scopeToast:t,children:n,...r}=e,s=zu(ll,t),[i,o]=p.useState(!1),[a,l]=p.useState(!1);return nO(()=>o(!0)),p.useEffect(()=>{const c=window.setTimeout(()=>l(!0),1e3);return()=>window.clearTimeout(c)},[]),a?null:S.jsx(mT,{asChild:!0,children:S.jsx(Wu,{...r,children:i&&S.jsxs(S.Fragment,{children:[s.label," ",n]})})})},eO="ToastTitle",TT=p.forwardRef((e,t)=>{const{__scopeToast:n,...r}=e;return S.jsx(Pt.div,{...r,ref:t})});TT.displayName=eO;var tO="ToastDescription",CT=p.forwardRef((e,t)=>{const{__scopeToast:n,...r}=e;return S.jsx(Pt.div,{...r,ref:t})});CT.displayName=tO;var ET="ToastAction",AT=p.forwardRef((e,t)=>{const{altText:n,...r}=e;return n.trim()?S.jsx(kT,{altText:n,asChild:!0,children:S.jsx(Bm,{...r,ref:t})}):(console.error(`Invalid prop \`altText\` supplied to \`${ET}\`. Expected non-empty \`string\`.`),null)});AT.displayName=ET;var xT="ToastClose",Bm=p.forwardRef((e,t)=>{const{__scopeToast:n,...r}=e,s=JI(xT,n);return S.jsx(kT,{asChild:!0,children:S.jsx(Pt.button,{type:"button",...r,ref:t,onClick:Be(e.onClick,s.onClose)})})});Bm.displayName=xT;var kT=p.forwardRef((e,t)=>{const{__scopeToast:n,altText:r,...s}=e;return S.jsx(Pt.div,{"data-radix-toast-announce-exclude":"","data-radix-toast-announce-alt":r||void 0,...s,ref:t})});function _T(e){const t=[];return Array.from(e.childNodes).forEach(r=>{if(r.nodeType===r.TEXT_NODE&&r.textContent&&t.push(r.textContent),rO(r)){const s=r.ariaHidden||r.hidden||r.style.display==="none",i=r.dataset.radixToastAnnounceExclude==="";if(!s)if(i){const o=r.dataset.radixToastAnnounceAlt;o&&t.push(o)}else t.push(..._T(r))}}),t}function Hl(e,t,n,{discrete:r}){const s=n.originalEvent.currentTarget,i=new CustomEvent(e,{bubbles:!0,cancelable:!0,detail:n});t&&s.addEventListener(e,t,{once:!0}),r?dT(s,i):s.dispatchEvent(i)}var Yy=(e,t,n=0)=>{const r=Math.abs(e.x),s=Math.abs(e.y),i=r>s;return t==="left"||t==="right"?i&&r>n:!i&&s>n};function nO(e=()=>{}){const t=qr(e);Jn(()=>{let n=0,r=0;return n=window.requestAnimationFrame(()=>r=window.requestAnimationFrame(t)),()=>{window.cancelAnimationFrame(n),window.cancelAnimationFrame(r)}},[t])}function rO(e){return e.nodeType===e.ELEMENT_NODE}function sO(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const s=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||s?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function Gd(e){const t=document.activeElement;return e.some(n=>n===t?!0:(n.focus(),document.activeElement!==t))}var iO=yT,RT=wT,DT=PT,NT=TT,IT=CT,OT=AT,LT=Bm;function MT(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var s=e.length;for(t=0;t<s;t++)e[t]&&(n=MT(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function FT(){for(var e,t,n=0,r="",s=arguments.length;n<s;n++)(e=arguments[n])&&(t=MT(e))&&(r&&(r+=" "),r+=t);return r}const Qy=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,Jy=FT,jT=(e,t)=>n=>{var r;if((t==null?void 0:t.variants)==null)return Jy(e,n==null?void 0:n.class,n==null?void 0:n.className);const{variants:s,defaultVariants:i}=t,o=Object.keys(s).map(c=>{const u=n==null?void 0:n[c],d=i==null?void 0:i[c];if(u===null)return null;const h=Qy(u)||Qy(d);return s[c][h]}),a=n&&Object.entries(n).reduce((c,u)=>{let[d,h]=u;return h===void 0||(c[d]=h),c},{}),l=t==null||(r=t.compoundVariants)===null||r===void 0?void 0:r.reduce((c,u)=>{let{class:d,className:h,...f}=u;return Object.entries(f).every(m=>{let[b,w]=m;return Array.isArray(w)?w.includes({...i,...a}[b]):{...i,...a}[b]===w})?[...c,d,h]:c},[]);return Jy(e,o,l,n==null?void 0:n.class,n==null?void 0:n.className)};/**
84 * @license lucide-react v0.462.0 - ISC
85 *
86 * This source code is licensed under the ISC license.
87 * See the LICENSE file in the root directory of this source tree.
88 */const oO=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),BT=(...e)=>
vendor: 4,713 bytes, lines 88-153
88e.filter((t,n,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===n).join(" ").trim();/**
89 * @license lucide-react v0.462.0 - ISC
90 *
91 * This source code is licensed under the ISC license.
92 * See the LICENSE file in the root directory of this source tree.
93 */var aO={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/**
94 * @license lucide-react v0.462.0 - ISC
95 *
96 * This source code is licensed under the ISC license.
97 * See the LICENSE file in the root directory of this source tree.
98 */const lO=p.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:n=2,absoluteStrokeWidth:r,className:s="",children:i,iconNode:o,...a},l)=>p.createElement("svg",{ref:l,...aO,width:t,height:t,stroke:e,strokeWidth:r?Number(n)*24/Number(t):n,className:BT("lucide",s),...a},[...o.map(([c,u])=>p.createElement(c,u)),...Array.isArray(i)?i:[i]]));/**
99 * @license lucide-react v0.462.0 - ISC
100 *
101 * This source code is licensed under the ISC license.
102 * See the LICENSE file in the root directory of this source tree.
103 */const Nn=(e,t)=>{const n=p.forwardRef(({className:r,...s},i)=>p.createElement(lO,{ref:i,iconNode:t,className:BT(`lucide-${oO(e)}`,r),...s}));return n.displayName=`${e}`,n};/**
104 * @license lucide-react v0.462.0 - ISC
105 *
106 * This source code is licensed under the ISC license.
107 * See the LICENSE file in the root directory of this source tree.
108 */const cO=Nn("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);/**
109 * @license lucide-react v0.462.0 - ISC
110 *
111 * This source code is licensed under the ISC license.
112 * See the LICENSE file in the root directory of this source tree.
113 */const uO=Nn("Bell",[["path",{d:"M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9",key:"1qo2s2"}],["path",{d:"M10.3 21a1.94 1.94 0 0 0 3.4 0",key:"qgo35s"}]]);/**
114 * @license lucide-react v0.462.0 - ISC
115 *
116 * This source code is licensed under the ISC license.
117 * See the LICENSE file in the root directory of this source tree.
118 */const dO=Nn("Info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);/**
119 * @license lucide-react v0.462.0 - ISC
120 *
121 * This source code is licensed under the ISC license.
122 * See the LICENSE file in the root directory of this source tree.
123 */const hO=Nn("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/**
124 * @license lucide-react v0.462.0 - ISC
125 *
126 * This source code is licensed under the ISC license.
127 * See the LICENSE file in the root directory of this source tree.
128 */const fO=Nn("LogIn",[["path",{d:"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4",key:"u53s6r"}],["polyline",{points:"10 17 15 12 10 7",key:"1ail0h"}],["line",{x1:"15",x2:"3",y1:"12",y2:"12",key:"v6grx8"}]]);/**
129 * @license lucide-react v0.462.0 - ISC
130 *
131 * This source code is licensed under the ISC license.
132 * See the LICENSE file in the root directory of this source tree.
133 */const pO=Nn("LogOut",[["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}],["polyline",{points:"16 17 21 12 16 7",key:"1gabdz"}],["line",{x1:"21",x2:"9",y1:"12",y2:"12",key:"1uyos4"}]]);/**
134 * @license lucide-react v0.462.0 - ISC
135 *
136 * This source code is licensed under the ISC license.
137 * See the LICENSE file in the root directory of this source tree.
138 */const UT=Nn("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);/**
139 * @license lucide-react v0.462.0 - ISC
140 *
141 * This source code is licensed under the ISC license.
142 * See the LICENSE file in the root directory of this source tree.
143 */const mO=Nn("ShieldAlert",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]]);/**
144 * @license lucide-react v0.462.0 - ISC
145 *
146 * This source code is licensed under the ISC license.
147 * See the LICENSE file in the root directory of this source tree.
148 */const Um=Nn("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/**
149 * @license lucide-react v0.462.0 - ISC
150 *
151 * This source code is licensed under the ISC license.
152 * See the LICENSE file in the root directory of this source tree.
153 */const Vm=Nn("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}
vendor: 5,907 bytes, line 153
153],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),$m="-",bO=e=>{const t=yO(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:o=>{const a=o.split($m);return a[0]===""&&a.length!==1&&a.shift(),VT(a,t)||gO(o)},getConflictingClassGroupIds:(o,a)=>{const l=n[o]||[];return a&&r[o]?[...l,...r[o]]:l}}},VT=(e,t)=>{var o;if(e.length===0)return t.classGroupId;const n=e[0],r=t.nextPart.get(n),s=r?VT(e.slice(1),r):void 0;if(s)return s;if(t.validators.length===0)return;const i=e.join($m);return(o=t.validators.find(({validator:a})=>a(i)))==null?void 0:o.classGroupId},Xy=/^\[(.+)\]$/,gO=e=>{if(Xy.test(e)){const t=Xy.exec(e)[1],n=t==null?void 0:t.substring(0,t.indexOf(":"));if(n)return"arbitrary.."+n}},yO=e=>{const{theme:t,prefix:n}=e,r={nextPart:new Map,validators:[]};return wO(Object.entries(e.classGroups),n).forEach(([i,o])=>{Lf(o,r,i,t)}),r},Lf=(e,t,n,r)=>{e.forEach(s=>{if(typeof s=="string"){const i=s===""?t:Zy(t,s);i.classGroupId=n;return}if(typeof s=="function"){if(vO(s)){Lf(s(r),t,n,r);return}t.validators.push({validator:s,classGroupId:n});return}Object.entries(s).forEach(([i,o])=>{Lf(o,Zy(t,i),n,r)})})},Zy=(e,t)=>{let n=e;return t.split($m).forEach(r=>{n.nextPart.has(r)||n.nextPart.set(r,{nextPart:new Map,validators:[]}),n=n.nextPart.get(r)}),n},vO=e=>e.isThemeGetter,wO=(e,t)=>t?e.map(([n,r])=>{const s=r.map(i=>typeof i=="string"?t+i:typeof i=="object"?Object.fromEntries(Object.entries(i).map(([o,a])=>[t+o,a])):i);return[n,s]}):e,SO=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=new Map,r=new Map;const s=(i,o)=>{n.set(i,o),t++,t>e&&(t=0,r=n,n=new Map)};return{get(i){let o=n.get(i);if(o!==void 0)return o;if((o=r.get(i))!==void 0)return s(i,o),o},set(i,o){n.has(i)?n.set(i,o):s(i,o)}}},$T="!",PO=e=>{const{separator:t,experimentalParseClassName:n}=e,r=t.length===1,s=t[0],i=t.length,o=a=>{const l=[];let c=0,u=0,d;for(let w=0;w<a.length;w++){let y=a[w];if(c===0){if(y===s&&(r||a.slice(w,w+i)===t)){l.push(a.slice(u,w)),u=w+i;continue}if(y==="/"){d=w;continue}}y==="["?c++:y==="]"&&c--}const h=l.length===0?a:a.substring(u),f=h.startsWith($T),m=f?h.substring(1):h,b=d&&d>u?d-u:void 0;return{modifiers:l,hasImportantModifier:f,baseClassName:m,maybePostfixModifierPosition:b}};return n?a=>n({className:a,parseClassName:o}):o},TO=e=>{if(e.length<=1)return e;const t=[];let n=[];return e.forEach(r=>{r[0]==="["?(t.push(...n.sort(),r),n=[]):n.push(r)}),t.push(...n.sort()),t},CO=e=>({cache:SO(e.cacheSize),parseClassName:PO(e),...bO(e)}),EO=/\s+/,AO=(e,t)=>{const{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:s}=t,i=[],o=e.trim().split(EO);let a="";for(let l=o.length-1;l>=0;l-=1){const c=o[l],{modifiers:u,hasImportantModifier:d,baseClassName:h,maybePostfixModifierPosition:f}=n(c);let m=!!f,b=r(m?h.substring(0,f):h);if(!b){if(!m){a=c+(a.length>0?" "+a:a);continue}if(b=r(h),!b){a=c+(a.length>0?" "+a:a);continue}m=!1}const w=TO(u).join(":"),y=d?w+$T:w,g=y+b;if(i.includes(g))continue;i.push(g);const v=s(b,m);for(let P=0;P<v.length;++P){const T=v[P];i.push(y+T)}a=c+(a.length>0?" "+a:a)}return a};function xO(){let e=0,t,n,r="";for(;e<arguments.length;)(t=arguments[e++])&&(n=WT(t))&&(r&&(r+=" "),r+=n);return r}const WT=e=>{if(typeof e=="string")return e;let t,n="";for(let r=0;r<e.length;r++)e[r]&&(t=WT(e[r]))&&(n&&(n+=" "),n+=t);return n};function kO(e,...t){let n,r,s,i=o;function o(l){const c=t.reduce((u,d)=>d(u),e());return n=CO(c),r=n.cache.get,s=n.cache.set,i=a,a(l)}function a(l){const c=r(l);if(c)return c;const u=AO(l,n);return s(l,u),u}return function(){return i(xO.apply(null,arguments))}}const me=e=>{const t=n=>n[e]||[];return t.isThemeGetter=!0,t},zT=/^\[(?:([a-z-]+):)?(.+)\]$/i,_O=/^\d+\/\d+$/,RO=new Set(["px","full","screen"]),DO=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,NO=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,IO=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,OO=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,LO=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Mn=e=>ji(e)||RO.has(e)||_O.test(e),ur=e=>mo(e,"length",WO),ji=e=>!!e&&!Number.isNaN(Number(e)),Kd=e=>mo(e,"number",ji),Mo=e=>!!e&&Number.isInteger(Number(e)),MO=e=>e.endsWith("%")&&ji(e.slice(0,-1)),Z=e=>zT.test(e),dr=e=>DO.test(e),FO=new Set(["length","size","percentage"]),jO=e=>mo(e,FO,qT),BO=e=>mo(e,"position",qT),UO=new Set(["image","url"]),VO=e=>mo(e,UO,qO),$O=e=>mo(e,"",zO),Fo=()=>!0,mo=(e,t,n)=>{const r=zT.exec(e);return r?r[1]?typeof t=="string"?r[1]===t:t.has(r[1]):n(r[2]):!1},WO=e=>NO.test(e)&&!IO.test(e),qT=()=>!1,zO=e=>OO.test(e),qO=e=>LO.test(e),HO=()=>{const e=me("colors"),t=me("spacing"),n=me("blur"),r=me("brightness"),s=me("borderColor"),i=me("borderRadius"),o=me("borderSpacing"),a=me("borderWidth"),l=me("contrast"),c=me("grayscale"),u=me("hueRotate"),d=me("invert"),h=me("gap"),f=me("gradientColorStops"),m=me("gradientColorStopPositions"),b=me("inset"),w=me("margin"),y=me("opacity"),g=me("padding"),v=me("saturate"),P=me("scale"),T=me("sepia"),C=me("skew"),A=me("space"),x=me("translate"),k=()=>["auto","contain","none"],R=()=>["auto","hidden","clip","visible","scroll"],F=()=>["auto",Z,t],O=()=>[Z,t],q=()=>["",Mn,ur],j=()=>["auto",ji,Z],ee=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],Q=()=>["solid","dashed","dotted","double","none"],W=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],_=()=>["start","end","center","between","around","evenly","stretch"],D=()=>["","0",Z],B=()=>["auto","avoid","all","avoid-page","page","left","right","column"],J=()=>[ji,Z];return{cacheSize:500,separator:":",theme:{colors:[Fo],spacing:[Mn,ur],blur:["none","",dr,Z],brightness:J(),borderColor:[e],borderRadius:["n
153one","","full",dr,Z],borderSpacing:O(),borderWidth:q(),contrast:J(),grayscale:D(),hueRotate:J(),invert:D(),gap:O(),gradientColorStops:[e],gradientColorStopPositions:[MO,ur],inset:F(),margin:F(),opacity:J(),padding:O(),saturate:J(),scale:J(),sepia:D(),skew:J(),space:O(),translate:O()},classGroups:{aspect:[{aspect:["auto","square","video",Z]}],container:["container"],columns:[{columns:[dr]}],"break-after":[{"break-after":B()}],"break-before":[{"break-before":B()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...ee(),Z]}],overflow:[{overflow:R()}],"overflow-x":[{"overflow-x":R()}],"overflow-y":[{"overflow-y":R()}],overscroll:[{overscroll:k()}],"overscroll-x":[{"overscroll-x":k()}],"overscroll-y":[{"overscroll-y":k()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[b]}],"inset-x":[{"inset-x":[b]}],"inset-y":[{"inset-y":[b]}],start:[{start:[b]}],end:[{end:[b]}],top:[{top:[b]}],right:[{right:[b]}],bottom:[{bottom:[b]}],left:[{left:[b]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",Mo,Z]}],basis:[{basis:F()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",Z]}],grow:[{grow:D()}],shrink:[{shrink:D()}],order:[{order:["first","last","none",Mo,Z]}],"grid-cols":[{"grid-cols":[Fo]}],"col-start-end":[{col:["auto",{span:["full",Mo,Z]},Z]}],"col-start":[{"col-start":j()}],"col-end":[{"col-end":j()}],"grid-rows":[{"grid-rows":[Fo]}],"row-start-end":[{row:["auto",{span:[Mo,Z]},Z]}],"row-start":[{"row-start":j()}],"row-end":[{"row-end":j()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",Z]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",Z]}],gap:[{gap:[h]}],"gap-x":[{"gap-x":[h]}],"gap-y":[{"gap-y":[h]}],"justify-content":[{justify:["normal",..._()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",..._(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[..._(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[g]}],px:[{px:[g]}],py:[{py:[g]}],ps:[{ps:[g]}],pe:[{pe:[g]}],pt:[{pt:[g]}],pr:[{pr:[g]}],pb:[{pb:[g]}],pl:[{pl:[g]}],m:[{m:[w]}],mx:[{mx:[w]}],my:[{my:[w]}],ms:[{ms:[w]}],me:[{me:[w]}],mt:[{mt:[w]}],mr:[{mr:[w]}],mb:[{mb:[w]}],ml:[{ml:[w]}],"space-x":[{"space-x":[A]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[A]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",Z,t]}],"min-w":[{"min-w":[Z,t,"min","max","fit"]}],"max-w":[{"max-w":[Z,t,"none","full","min","max","fit","prose",{screen:[dr]},dr]}],h:[{h:[Z,t,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[Z,t,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[Z,t,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[Z,t,"auto","min","max","fit"]}],"font-size":[{text:["base",dr,ur]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",Kd]}],"font-family":[{font:[Fo]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",Z]}],"line-clamp":[{"line-clamp":["none",ji,Kd]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",Mn,Z]}],"list-image":[{"list-image":["none",Z]}],"list-style-type":[{list:["none","disc","decimal",Z]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[y]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[y]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Q(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",Mn,ur]}],"underline-offset":[{"underline-offset":["auto",Mn,Z]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:O()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Z]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Z]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[y]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...ee(),BO]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",jO]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},VO]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[m]}
153],"gradient-via-pos":[{via:[m]}],"gradient-to-pos":[{to:[m]}],"gradient-from":[{from:[f]}],"gradient-via":[{via:[f]}],"gradient-to":[{to:[f]}],rounded:[{rounded:[i]}],"rounded-s":[{"rounded-s":[i]}],"rounded-e":[{"rounded-e":[i]}],"rounded-t":[{"rounded-t":[i]}],"rounded-r":[{"rounded-r":[i]}],"rounded-b":[{"rounded-b":[i]}],"rounded-l":[{"rounded-l":[i]}],"rounded-ss":[{"rounded-ss":[i]}],"rounded-se":[{"rounded-se":[i]}],"rounded-ee":[{"rounded-ee":[i]}],"rounded-es":[{"rounded-es":[i]}],"rounded-tl":[{"rounded-tl":[i]}],"rounded-tr":[{"rounded-tr":[i]}],"rounded-br":[{"rounded-br":[i]}],"rounded-bl":[{"rounded-bl":[i]}],"border-w":[{border:[a]}],"border-w-x":[{"border-x":[a]}],"border-w-y":[{"border-y":[a]}],"border-w-s":[{"border-s":[a]}],"border-w-e":[{"border-e":[a]}],"border-w-t":[{"border-t":[a]}],"border-w-r":[{"border-r":[a]}],"border-w-b":[{"border-b":[a]}],"border-w-l":[{"border-l":[a]}],"border-opacity":[{"border-opacity":[y]}],"border-style":[{border:[...Q(),"hidden"]}],"divide-x":[{"divide-x":[a]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[a]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[y]}
vendor: 4,458 bytes, line 153
153],"divide-style":[{divide:Q()}],"border-color":[{border:[s]}],"border-color-x":[{"border-x":[s]}],"border-color-y":[{"border-y":[s]}],"border-color-s":[{"border-s":[s]}],"border-color-e":[{"border-e":[s]}],"border-color-t":[{"border-t":[s]}],"border-color-r":[{"border-r":[s]}],"border-color-b":[{"border-b":[s]}],"border-color-l":[{"border-l":[s]}],"divide-color":[{divide:[s]}],"outline-style":[{outline:["",...Q()]}],"outline-offset":[{"outline-offset":[Mn,Z]}],"outline-w":[{outline:[Mn,ur]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:q()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[y]}],"ring-offset-w":[{"ring-offset":[Mn,ur]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",dr,$O]}],"shadow-color":[{shadow:[Fo]}],opacity:[{opacity:[y]}],"mix-blend":[{"mix-blend":[...W(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":W()}],filter:[{filter:["","none"]}],blur:[{blur:[n]}],brightness:[{brightness:[r]}],contrast:[{contrast:[l]}],"drop-shadow":[{"drop-shadow":["","none",dr,Z]}],grayscale:[{grayscale:[c]}],"hue-rotate":[{"hue-rotate":[u]}],invert:[{invert:[d]}],saturate:[{saturate:[v]}],sepia:[{sepia:[T]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[n]}],"backdrop-brightness":[{"backdrop-brightness":[r]}],"backdrop-contrast":[{"backdrop-contrast":[l]}],"backdrop-grayscale":[{"backdrop-grayscale":[c]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[u]}],"backdrop-invert":[{"backdrop-invert":[d]}],"backdrop-opacity":[{"backdrop-opacity":[y]}],"backdrop-saturate":[{"backdrop-saturate":[v]}],"backdrop-sepia":[{"backdrop-sepia":[T]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[o]}],"border-spacing-x":[{"border-spacing-x":[o]}],"border-spacing-y":[{"border-spacing-y":[o]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",Z]}],duration:[{duration:J()}],ease:[{ease:["linear","in","out","in-out",Z]}],delay:[{delay:J()}],animate:[{animate:["none","spin","ping","pulse","bounce",Z]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[P]}],"scale-x":[{"scale-x":[P]}],"scale-y":[{"scale-y":[P]}],rotate:[{rotate:[Mo,Z]}],"translate-x":[{"translate-x":[x]}],"translate-y":[{"translate-y":[x]}],"skew-x":[{"skew-x":[C]}],"skew-y":[{"skew-y":[C]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",Z]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",Z]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":O()}],"scroll-mx":[{"scroll-mx":O()}],"scroll-my":[{"scroll-my":O()}],"scroll-ms":[{"scroll-ms":O()}],"scroll-me":[{"scroll-me":O()}],"scroll-mt":[{"scroll-mt":O()}],"scroll-mr":[{"scroll-mr":O()}],"scroll-mb":[{"scroll-mb":O()}],"scroll-ml":[{"scroll-ml":O()}],"scroll-p":[{"scroll-p":O()}],"scroll-px":[{"scroll-px":O()}],"scroll-py":[{"scroll-py":O()}],"scroll-ps":[{"scroll-ps":O()}],"scroll-pe":[{"scroll-pe":O()}],"scroll-pt":[{"scroll-pt":O()}],"scroll-pr":[{"scroll-pr":O()}],"scroll-pb":[{"scroll-pb":O()}],"scroll-pl":[{"scroll-pl":O()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",Z]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[Mn,ur,Kd]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","
153none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}},GO=kO(HO);function Xr(...e){return GO(FT(e))}const KO=iO,HT=p.forwardRef(({className:e,...t},n)=>S.jsx(RT,{ref:n,className:Xr("fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",e),...t}));HT.displayName=RT.displayName;const YO=jT("group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",{variants:{variant:{default:"border bg-background text-foreground",destructive:"destructive group border-destructive bg-destructive text-destructive-foreground"}},defaultVariants:{variant:"default"}}),GT=p.forwardRef(({className:e,variant:t,...n},r)=>S.jsx(DT,{ref:r,className:Xr(YO({variant:t}),e),...n}));GT.displayName=DT.displayName;const QO=p.forwardRef(({className:e,...t},n)=>S.jsx(OT,{ref:n,className:Xr("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors group-[.destructive]:border-muted/40 hover:bg-secondary group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 group-[.destructive]:focus:ring-destructive disabled:pointer-events-none disabled:opacity-50",e),...t}));QO.displayName=OT.displayName;const KT=p.forwardRef(({className:e,...t},n)=>S.jsx(LT,{ref:n,className:Xr("absolute right-2 top-2 rounded-md p-1 text-foreground
153/50 opacity-0 transition-opacity group-hover:opacity-100 group-[.destructive]:text-red-300 hover:text-foreground group-[.destructive]:hover:text-red-50 focus:opacity-100 focus:outline-none focus:ring-2 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",e),"toast-close":"",...t,children:S.jsx(Vm,{className:"h-4 w-4"})}));KT.displayName=LT.displayName;const YT=p.forwardRef(({className:e,...t},n)=>S.jsx(NT,{ref:n,className:Xr("text-sm font-semibold",e),...t}));YT.displayName=NT.displayName;const QT=p.forwardRef(({className:e,...t},n)=>S.jsx(IT,{ref:n,className:Xr("text-sm opacity-90",e),...t}));QT.displayName=IT.displayName;function JO(){const{toasts:e}=lT();return S.jsxs(KO,{children:[e.map(function({id:t,title:n,description:r,action:s,...i}){return S.jsxs(GT,{...i,children:[S.jsxs("div",{className:"grid gap-1",children:[n&&S.jsx(YT,{children:n}),r&&S.jsx(QT,{children:r})]}),s,S.jsx(KT,{})]},t)}),S.jsx(HT,{})]})}var XO=(e,t,n,r,s,i,o,a)=>{let l=document.documentElement,c=["light","dark"];function u(f){(Array.isArray(e)?e:[e]).forEach(m=>{let b=m==="class",w=b&&i?s.map(y=>i[y]||y):s;b?(l.classList.remove(...w),l.classList.add(i&&i[f]?i[f]:f)):l.setAttribute(m,f)}),d(f)}function d(f){a&&c.includes(f)&&(l.style.colorScheme=f)}function h(){return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}if(r)u(r);else try{let f=localStorage.getItem(t)||n,m=o&&f==="system"?h():f;u(m)}catch{}},ev=["light","dark"],JT="(prefers-color-scheme: dark)",ZO=typeof window>"u",Wm=p.createContext(void 0),e1={setTheme:e=>{},themes:[]},t1=()=>{var e;return(e=p.useContext(Wm))!=null?e:e1},n1=e=>p.useContext(Wm)?p.createElement(p.Fragment,null,e.children):p.createElement(s1,{...e}),r1=["light","dark"],s1=({forcedTheme:e,disableTransitionOnChange:t=!1,enableSystem:n=!0,enableColorScheme:r=!0,storageKey:s="theme",themes:i=r1,defaultTheme:o=n?"system":"light",attribute:a="data-theme",value:l,children:c,nonce:u,scriptProps:d})=>{let[h,f]=p.useState(()=>o1(s,o)),[m,b]=p.useState(()=>h==="system"?Yd():h),w=l?Object.values(l):i,y=p.useCallback(T=>{let C=T;if(!C)return;T==="system"&&n&&(C=Yd());let A=l?l[C]:C,x=t?a1(u):null,k=document.documentElement,R=F=>{F==="class"?(k.classList.remove(...w),A&&k.classList.add(A)):F.startsWith("data-")&&(A?k.setAttribute(F,A):k.removeAttribute(F))};if(Array.isArray(a)?a.forEach(R):R(a),r){let F=ev.includes(o)?o:null,O=ev.includes(C)?C:F;k.style.colorScheme=O}x==null||x()},[u]),g=p.useCallback(T=>{let C=typeof T=="function"?T(h):T;f(C);try{localStorage.setItem(s,C)}catch{}},[h]),v=p.useCallback(T=>{let C=Yd(T);b(C),h==="system"&&n&&!e&&y("system")},[h,e]);p.useEffect(()=>{let T=window.matchMedia(JT);return T.addListener(v),v(T),()=>T.removeListener(v)},[v]),p.useEffect(()=>{let T=C=>{C.key===s&&(C.newValue?f(C.newValue):g(o))};return window.addEventListener("storage",T),()=>window.removeEventListener("storage",T)},[g]),p.useEffect(()=>{y(e??h)},[e,h]);let P=p.useMemo(()=>({theme:h,setTheme:g,forcedTheme:e,resolvedTheme:h==="system"?m:h,themes:n?[...i,"system"]:i,systemTheme:n?m:void 0}),[h,g,e,m,n,i]);return p.createElement(Wm.Provider,{value:P},p.createElement(i1,{forcedTheme:e,storageKey:s,attribute:a,enableSystem:n,enableColorScheme:r,defaultTheme:o,value:l,themes:i,nonce:u,scriptProps:d}),c)},i1=p.memo(({forcedTheme:e,storageKey:t,attribute:n,enableSystem:r,enableColorScheme:s,defaultTheme:i,value:o,themes:a,nonce:l,scriptProps:c})=>{let u=JSON.stringify([n,t,i,e,a,o,r,s]).slice(1,-1);return p.createElement("script",{...c,suppressHydrationWarning:!0,nonce:typeof window>"u"?l:"",dangerouslySetInnerHTML:{__html:`(${XO.toString()})(${u})`}})}),o1=(e,t)=>{if(ZO)return;let n;try{n=localStorage.getItem(e)||void 0}catch{}return n||t},a1=e=>{let t=document.createElement("style");return e&&t.setAttribute("nonce",e),t.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),document.head.appendChild(t),()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(t)},1)}},Yd=e=>
153(e||(e=window.matchMedia(JT)),e.matches?"dark":"light"),l1=e=>{switch(e){case"success":return d1;case"info":return f1;case"warning":return h1;case"error":return p1;default:return null}},c1=Array(12).fill(0),u1=({visible:e,className:t})=>N.createElement("div",{className:["sonner-loading-wrapper",t].filter(Boolean).join(" "),"data-visible":e},N.createElement("div",{className:"sonner-spinner"},c1.map((n,r)=>N.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${r}`})))),d1=N.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},N.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),h1=N.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},N.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),f1=N.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},N.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),p1=N.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},N.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),m1=N.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},N.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),N.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),b1=()=>{let[e,t]=N.useState(document.hidden);return N.useEffect(()=>{let n=()=>{t(document.hidden)};return document.addEventListener("visibilitychange",n),()=>window.removeEventListener("visibilitychange",n)},[]),e},Mf=1,g1=class{constructor(){this.subscribe=e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)}),this.publish=e=>{this.subscribers.forEach(t=>t(e))},this.addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]},this.create=e=>{var t;let{message:n,...r}=e,s=typeof(e==null?void 0:e.id)=="number"||((t=e.id)==null?void 0:t.length)>0?e.id:Mf++,i=this.toasts.find(a=>a.id===s),o=e.dismissible===void 0?!0:e.dismissible;return this.dismissedToasts.has(s)&&this.dismissedToasts.delete(s),i?this.toasts=this.toasts.map(a=>a.id===s?(this.publish({...a,...e,id:s,title:n}),{...a,...e,id:s,dismissible:o,title:n}):a):this.addToast({title:n,...r,dismissible:o,id:s}),s},this.dismiss=e=>(this.dismissedToasts.add(e),e||this.toasts.forEach(t=>{this.subscribers.forEach(n=>n({id:t.id,dismiss:!0}))}),this.subscribers.forEach(t=>t({id:e,dismiss:!0})),e),this.message=(e,t)=>this.create({...t,message:e}),this.error=(e,t)=>this.create({...t,message:e,type:"error"}),this.success=(e,t)=>this.create({...t,type:"success",message:e}),this.info=(e,t)=>this.create({...t,type:"info",message:e}),this.warning=(e,t)=>this.create({...t,type:"warning",message:e}),this.loading=(e,t)=>
153this.create({...t,type:"loading",message:e}),this.promise=(e,t)=>{if(!t)return;let n;t.loading!==void 0&&(n=this.create({...t,promise:e,type:"loading",message:t.loading,description:typeof t.description!="function"?t.description:void 0}));let r=e instanceof Promise?e:e(),s=n!==void 0,i,o=r.then(async l=>{if(i=["resolve",l],N.isValidElement(l))s=!1,this.create({id:n,type:"default",message:l});else if(v1(l)&&!l.ok){s=!1;let c=typeof t.error=="function"?await t.error(`HTTP error! status: ${l.status}`):t.error,u=typeof t.description=="function"?await t.description(`HTTP error! status: ${l.status}`):t.description;this.create({id:n,type:"error",message:c,description:u})}else if(t.success!==void 0){s=!1;let c=typeof t.success=="function"?await t.success(l):t.success,u=typeof t.description=="function"?await t.description(l):t.description;this.create({id:n,type:"success",message:c,description:u})}}).catch(async l=>{if(i=["reject",l],t.error!==void 0){s=!1;let c=typeof t.error=="function"?await t.error(l):t.error,u=typeof t.description=="function"?await t.description(l):t.description;this.create({id:n,type:"error",message:c,description:u})}}).finally(()=>{var l;s&&(this.dismiss(n),n=void 0),(l=t.finally)==null||l.call(t)}),a=()=>new Promise((l,c)=>o.then(()=>i[0]==="reject"?c(i[1]):l(i[1])).catch(c));return typeof n!="string"&&typeof n!="number"?{unwrap:a}:Object.assign(n,{unwrap:a})},this.custom=(e,t)=>{let n=(t==null?void 0:t.id)||Mf++;return this.create({jsx:e(n),id:n,...t}),n},this.getActiveToasts=()=>this.toasts.filter(e=>!this.dismissedToasts.has(e.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}},pt=new g1,y1=(e,t)=>{let n=(t==null?void 0:t.id)||Mf++;return pt.addToast({title:e,...t,id:n}),n},v1=e=>e&&typeof e=="object"&&"ok"in e&&typeof e.ok=="boolean"&&"status"in e&&typeof e.status=="number",w1=y1,S1=()=>pt.toasts,P1=()=>pt.getActiveToasts(),XT=Object.assign(w1,{success:pt.success,info:pt.info,warning:pt.warning,error:pt.error,custom:pt.custom,message:pt.message,promise:pt.promise,dismiss:pt.dismiss,loading:pt.loading},{getHistory:S1,getToasts:P1});function T1(e,{insertAt:t}={}){if(typeof document>"u")return;let n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css",t==="top"&&n.firstChild?n.insertBefore(r,n.firstChild):n.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}
153T1(`:where(html[dir="ltr"]),:where([data-sonner-toaster][dir="ltr"]){--toast-icon-margin-start: -3px;--toast-icon-margin-end: 4px;--toast-svg-margin-start: -1px;--toast-svg-margin-end: 0px;--toast-button-margin-start: auto;--toast-button-margin-end: 0;--toast-close-button-start: 0;--toast-close-button-end: unset;--toast-close-button-transform: translate(-35%, -35%)}:where(html[dir="rtl"]),:where([data-sonner-toaster][dir="rtl"]){--toast-icon-margin-start: 4px;--toast-icon-margin-end: -3px;--toast-svg-margin-start: 0px;--toast-svg-margin-end: -1px;--toast-button-margin-start: 0;--toast-button-margin-end: auto;--toast-close-button-start: unset;--toast-close-button-end: 0;--toast-close-button-transform: translate(35%, -35%)}:where([data-sonner-toaster]){position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1: hsl(0, 0%, 99%);--gray2: hsl(0, 0%, 97.3%);--gray3: hsl(0, 0%, 95.1%);--gray4: hsl(0, 0%, 93%);--gray5: hsl(0, 0%, 90.9%);--gray6: hsl(0, 0%, 88.7%);--gray7: hsl(0, 0%, 85.8%);--gray8: hsl(0, 0%, 78%);--gray9: hsl(0, 0%, 56.1%);--gray10: hsl(0, 0%, 52.3%);--gray11: hsl(0, 0%, 43.5%);--gray12: hsl(0, 0%, 9%);--border-radius: 8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:none;z-index:999999999;transition:transform .4s ease}:where([data-sonner-toaster][data-lifted="true"]){transform:translateY(-10px)}@media (hover: none) and (pointer: coarse){:where([data-sonner-toaster][data-lifted="true"]){transform:none}}:where([data-sonner-toaster][data-x-position="right"]){right:var(--offset-right)}:where([data-sonner-toaster][data-x-position="left"]){left:var(--offset-left)}:where([data-sonner-toaster][data-x-position="center"]){left:50%;transform:translate(-50%)}:where([data-sonner-toaster][data-y-position="top"]){top:var(--offset-top)}:where([data-sonner-toaster][data-y-position="bottom"]){bottom:var(--offset-bottom)}:where([data-sonner-toast]){--y: translateY(100%);--lift-amount: calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);filter:blur(0);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:none;overflow-wrap:anywhere}:where([data-sonner-toast][data-styled="true"]){padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}:where([data-sonner-toast]:focus-visible){box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast][data-y-position="top"]){top:0;--y: translateY(-100%);--lift: 1;--lift-amount: calc(1 * var(--gap))}:where([data-sonner-toast][data-y-position="bottom"]){bottom:0;--y: translateY(100%);--lift: -1;--lift-amount: calc(var(--lift) * var(--gap))}:where([data-sonner-toast]) :where([data-description]){font-weight:400;line-height:1.4;color:inherit}:where([data-sonner-toast]) :where([data-title]){font-weight:500;line-height:1.5;color:inherit}:where([data-sonner-toast]) :where([data-icon]){display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}:where([data-sonner-toast][data-promise="true"]) :where([data-icon])>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}:where([data-sonner-toast]) :where([data-icon])>*{flex-shrink:0}:where([data-sonner-toast]) :where([data-icon]) svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}:where([data-sonner-toast]) :where([data-content]){display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;cursor:pointer;outline:none;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}:where([data-sonner-toast]) :where([data-button]):focus-visible{box-shadow:0 0 0 2px #0006}:where([data-sonner-toast]) :where([data-button]):first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}:where([data-sonner-toast]) :where([data-cancel]){color:var(--normal-text);background:rgba(0,0,0,.08)}:where([data-sonner-toast][data-theme="dark"]) :where([data-cancel]){background:rgba(255,255,255,.3)}:where([data-sonner-toast]) :where([data-close-button]){position:absolute;
153left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast] [data-close-button]{background:var(--gray1)}:where([data-sonner-toast]) :where([data-close-button]):focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast]) :where([data-disabled="true"]){cursor:not-allowed}:where([data-sonner-toast]):hover :where([data-close-button]):hover{background:var(--gray2);border-color:var(--gray5)}:where([data-sonner-toast][data-swiping="true"]):before{content:"";position:absolute;left:-50%;right:-50%;height:100%;z-index:-1}:where([data-sonner-toast][data-y-position="top"][data-swiping="true"]):before{bottom:50%;transform:scaleY(3) translateY(50%)}:where([data-sonner-toast][data-y-position="bottom"][data-swiping="true"]):before{top:50%;transform:scaleY(3) translateY(-50%)}:where([data-sonner-toast][data-swiping="false"][data-removed="true"]):before{content:"";position:absolute;inset:0;transform:scaleY(2)}:where([data-sonner-toast]):after{content:"";position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}:where([data-sonner-toast][data-mounted="true"]){--y: translateY(0);opacity:1}:where([data-sonner-toast][data-expanded="false"][data-front="false"]){--scale: var(--toasts-before) * .05 + 1;--y: translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}:where([data-sonner-toast])>*{transition:opacity .4s}:where([data-sonner-toast][data-expanded="false"][data-front="false"][data-styled="true"])>*{opacity:0}
153:where([data-sonner-toast][data-visible="false"]){opacity:0;pointer-events:none}:where([data-sonner-toast][data-mounted="true"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}:where([data-sonner-toast][data-removed="true"][data-front="true"][data-swipe-out="false"]){--y: translateY(calc(var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="false"]){--y: translateY(40%);opacity:0;transition:transform .5s,opacity .2s}:where([data-sonner-toast][data-removed="true"][data-front="false"]):before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y, 0px)) translate(var(--swipe-amount-x, 0px));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width: 600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-theme=light]{--normal-bg: #fff;--normal-border: var(--gray4);--normal-text: var(--gray12);--success-bg: hsl(143, 85%, 96%);--success-border: hsl(145, 92%, 91%);--success-text: hsl(140, 100%, 27%);--info-bg: hsl(208, 100%, 97%);--info-border: hsl(221, 91%, 91%);--info-text: hsl(210, 92%, 45%);--warning-bg: hsl(49, 100%, 97%);--warning-border: hsl(49, 91%, 91%);--warning-text: hsl(31, 92%, 45%);--error-bg: hsl(359, 100%, 97%);--error-border: hsl(359, 100%, 94%);--error-text: hsl(360, 100%, 45%)}[data-sonner-toaster][data-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg: #fff;--normal-border: var(--gray3);--normal-text: var(--gray12)}[data-sonner-toaster][data-theme=dark]{--normal-bg: #000;--normal-bg-hover: hsl(0, 0%, 12%);--normal-border: hsl(0, 0%, 20%);--normal-border-hover: hsl(0, 0%, 25%);--normal-text: var(--gray1);--success-bg: hsl(150, 100%, 6%);--success-border: hsl(147, 100%, 12%);--success-text: hsl(150, 86%, 65%);--info-bg: hsl(215, 100%, 6%);--info-border: hsl(223, 100%, 12%);--info-text: hsl(216, 87%, 65%);--warning-bg: hsl(64, 100%, 6%);--warning-border: hsl(60, 100%, 12%);--warning-text: hsl(46, 87%, 65%);--error-bg: hsl(358, 76%, 10%);--error-border: hsl(357, 89%, 16%);
153--error-text: hsl(358, 100%, 81%)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success],[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info],[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning],[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error],[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size: 16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:nth-child(1){animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media (prefers-reduced-motion){[data-sonner-toast],[data-sonner-toast]>*,.sonner-loading-bar{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}
154`);function Gl(e){return e.label!==void 0}var C1=3,E1="32px",A1="16px",tv=4e3,x1=356,k1=14,_1=20,R1=200;function Qt(...e){return e.filter(Boolean).join(" ")}function D1(e){let[t,n]=e.split("-"),r=[];return t&&r.push(t),n&&r.push(n),r}var N1=e=>{var t,n,r,s,i,o,a,l,c,u,d;let{invert:h,toast:f,unstyled:m,interacting:b,setHeights:w,visibleToasts:y,heights:g,index:v,toasts:P,expanded:T,removeToast:C,defaultRichColors:A,closeButton:x,style:k,cancelButtonStyle:R,actionButtonStyle:F,className:O="",descriptionClassName:q="",duration:j,position:ee,gap:Q,loadingIcon:W,expandByDefault:_,classNames:D,icons:B,closeButtonAriaLabel:J="Close toast",pauseWhenPageIsHidden:H}=e,[ne,se]=N.useState(null),[De,Xe]=N.useState(null),[le,Hs]=N.useState(!1),[rr,ns]=N.useState(!1),[sr,Gs]=N.useState(!1),[ir,bl]=N.useState(!1),[nd,gl]=N.useState(!1),[rd,To]=N.useState(0),[Ks,qb]=N.useState(0),Co=N.useRef(f.duration||j||tv),Hb=N.useRef(null),rs=N.useRef(null),KA=v===0,YA=v+1<=y,It=f.type,Ys=f.dismissible!==!1,QA=f.className||"",JA=f.de
154scriptionClassName||"",yl=N.useMemo(()=>g.findIndex(X=>X.toastId===f.id)||0,[g,f.id]),XA=N.useMemo(()=>{var X;return(X=f.closeButton)!=null?X:x},[f.closeButton,x]),Gb=N.useMemo(()=>f.duration||j||tv,[f.duration,j]),sd=N.useRef(0),Qs=N.useRef(0),Kb=N.useRef(0),Js=N.useRef(null),[ZA,ex]=ee.split("-"),Yb=N.useMemo(()=>g.reduce((X,de,ye)=>ye>=yl?X:X+de.height,0),[g,yl]),Qb=b1(),tx=f.invert||h,id=It==="loading";Qs.current=N.useMemo(()=>yl*Q+Yb,[yl,Yb]),N.useEffect(()=>{Co.current=Gb},[Gb]),N.useEffect(()=>{Hs(!0)},[]),N.useEffect(()=>{let X=rs.current;if(X){let de=X.getBoundingClientRect().height;return qb(de),w(ye=>[{toastId:f.id,height:de,position:f.position},...ye]),()=>w(ye=>ye.filter(Ht=>Ht.toastId!==f.id))}},[w,f.id]),N.useLayoutEffect(()=>{if(!le)return;let X=rs.current,de=X.style.height;X.style.height="auto";let ye=X.getBoundingClientRect().height;X.style.height=de,qb(ye),w(Ht=>Ht.find(Gt=>Gt.toastId===f.id)?Ht.map(Gt=>Gt.toastId===f.id?{...Gt,height:ye}:Gt):[{toastId:f.id,height:ye,position:f.position},...Ht])},[le,f.title,f.description,w,f.id]);let or=N.useCallback(()=>{ns(!0),To(Qs.current),w(X=>X.filter(de=>de.toastId!==f.id)),setTimeout(()=>{C(f)},R1)},[f,C,w,Qs]);N.useEffect(()=>{if(f.promise&&It==="loading"||f.duration===1/0||f.type==="loading")return;let X;return T||b||H&&Qb?(()=>{if(Kb.current<sd.current){let de=new Date().getTime()-sd.current;Co.current=Co.current-de}Kb.current=new Date().getTime()})():Co.current!==1/0&&(sd.current=new Date().getTime(),X=setTimeout(()=>{var de;(de=f.onAutoClose)==null||de.call(f,f),or()},Co.current)),()=>clearTimeout(X)},[T,b,f,It,H,Qb,or]),N.useEffect(()=>{f.delete&&or()},[or,f.delete]);function nx(){var X,de,ye;return B!=null&&B.loading?N.createElement("div",{className:Qt(D==null?void 0:D.loader,(X=f==null?void 0:f.classNames)==null?void 0:X.loader,"sonner-loader"),"data-visible":It==="loading"},B.loading):W?N.createElement("div",{className:Qt(D==null?void 0:D.loader,(de=f==null?void 0:f.classNames)==null?void 0:de.loader,"sonner-loader"),"data-visible":It==="loading"},W):N.createElement(u1,{className:Qt(D==null?void 0:D.loader,(ye=f==null?void 0:f.classNames)==null?void 0:ye.loader),visible:It==="loading"})}return N.createElement("li",{tabIndex:0,ref:rs,className:Qt(O,QA,D==null?void 0:D.toast,(t=f==null?void 0:f.classNames)==null?void 0:t.toast,D==null?void 0:D.default,D==null?void 0:D[It],(n=f==null?void 0:f.classNames)==null?void 0:n[It]),"data-sonner-toast":"","data-rich-colors":(r=f.richColors)!=null?r:A,"data-styled":!(f.jsx||f.unstyled||m),"data-mounted":le,"data-promise":!!f.promise,"data-swiped":nd,"data-removed":rr,"data-visible":YA,"data-y-position":ZA,"data-x-position":ex,"data-index":v,"data-front":KA,"data-swiping":sr,"data-dismissible":Ys,"data-type":It,"data-invert":tx,"data-swipe-out":ir,"data-swipe-direction":De,"data-expanded":!!(T||_&&le),style:{"--index":v,"--toasts-before":v,"--z-index":P.length-v,"--offset":`${rr?rd:Qs.current}px`,"--initial-height":_?"auto":`${Ks}px`,...k,...f.style},onDragEnd:()=>{Gs(!1),se(null),Js.current=null},onPointerDown:X=>{id||!Ys||(Hb.current=new Date,To(Qs.current),X.target.setPointerCapture(X.pointerId),X.target.tagName!=="BUTTON"&&(Gs(!0),Js.current={x:X.clientX,y:X.clientY}))},onPointerUp:()=>{var X,de,ye,Ht;if(ir||!Ys)return;Js.current=null;let Gt=Number(((X=rs.current)==null?void 0:X.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),ar=Number(((de=rs.current)==null?void 0:de.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),ss=new Date().getTime()-((ye=Hb.current)==null?void 0:ye.getTime()),Kt=ne==="x"?Gt:ar,lr=Math.abs(Kt)/ss;if(Math.abs(Kt)>=_1||lr>.11){To(Qs.current),(Ht=f.onDismiss)==null||Ht.call(f,f),Xe(ne==="x"?Gt>0?"right":"left":ar>0?"down":"up"),or(),bl(!0),gl(!1);return}Gs(!1),se(null)},onPointerMove:X=>{var de,ye,Ht,Gt;if(!Js.current||!Ys||((de=window.getSelection())==null?void 0:de.toString().length)>0)return;let ar=X.clientY-Js.current.y,ss=X.clientX-Js.current.x,Kt=(ye=e.swipeDirections)!=null?ye:D1(ee);!ne&&(Math.abs(ss)>1||Math.abs(ar)>1)&&se(Math.abs(ss)>Math.abs(ar)?"x":"y");let lr={x:0,y:0};ne==="y"?(Kt.includes("top")||Kt.includes("bottom"))&&(Kt.includes("top")&&ar<0||Kt.includes("bottom")&&ar>0)&&(lr.y=ar):ne==="x"&&(Kt.includes("left")||Kt.includes("right"))&&(Kt.includes("left")&&ss<0||Kt.includes("right")&&ss>0)&&(lr.x=ss),(Math.abs(lr.x)>0||Math.abs(lr.y)>0)&&gl(!0),(Ht=rs.current)==null||Ht.style.setProperty("--swipe-amount-x",`${lr.x}px`),(Gt=rs.current)==null||Gt.style.setProperty("--swipe-amount-y",`${lr.y}px`)}},XA&&!f.jsx?N.createElement("button",{"aria-label":J,"data-disabled":id,"data-close-button":!0,onClick:id||!Ys?()=>{}:()=>{var X;or(),(X=f.onDismiss)==null||X.call(f,f)},className:Qt(D==null?void 0:D.closeButton,(s=f==null?void 0:f.classNames)==null?void 0:s.closeButton)},(i=B==null?void 0:B.close)!=null?i:m1):null,f.jsx||p.isValidElement(f.title)?f.jsx?f.jsx:typeof f.title=="function"?f.title():f.title:N.createElement(N.Fragment,null,It||f.icon||f.promise?N.createElement("div",{"data-icon":"",className:Qt(D==null?void 0:D.icon,(o=f==null?void 0:f.classNames)==null?void 0:o.icon)},f.promise||f.type==="loading"&&!f.icon?f.icon||nx():null,f.type!=="loading"?f.icon||(B==null?void 0:B[It])||l1(It):null):null,N.createElement("div",{"data-content":"",className:Qt(D==null?void 0:D.content,(a=f==null?void 0:f.classNames)==null?void 0:a.content)},N.createElement("div",{"data-title":"",className:Qt(D==null?void 0:D.title,(l=f==null?void 0:f.classNames)==null?void 0:l.title)},typeof f.title=="function"?f.title():f.title),f.description?N.createElement("div",{"data-description":"",className:Qt(q,JA,D==null?void 0:D.description,(c=f==null?void 0:f.classNames)==null?void 0:c.description)},typeof f.description=="function"?f.description():f.description):null),p.isValidElement(f.cancel)?f.cancel:f.cancel&&Gl(f.cancel)?N.createElement("button",{"data-button":!0,"data-cancel":!0,style:f.cancelButtonStyle||R,onClick:X=>{var de,ye;Gl(f.cancel)&&Ys&&((ye=(de=f.cancel).onClick)==null||ye.call(de,X),or())},className:Qt(D==null?void 0:D.cancelButton,(u=f==null?void 0:f.classNames)==null?void 0:u.cancelButton)},f.cancel.label):null,p.isValidElement(f.action)?f.action:f.action&&Gl(f.action)?N.createElement("button",{"data-button":!0,"data-action":!0,style:f.actionButtonStyle||F,onClick:X=>{var de,ye;Gl(f.action)&&((ye=(de=f.action).onClick)==null||ye.call(de,X),!X.defaultPrevented&&or())},className:Qt(D==null?void 0:D.actionButton,(d=f==null?void 0:f.classNames)==null?void 0:d.actionButton)},f.action.label):null))};function nv(){if(typeof window>"u"||typeof document>"u")return"ltr";let e=document.documentElement.getAttribute("dir");return e==="auto"||!e?window.getComputedStyle(document.documentElement).direction:e}function I1(e,t){let n={};return[e,t].forEach((r,s)=>{let i=s===1,o=i?"--mobile-offset":"--offset",a=i?A1:E1;function l(c){["top","right","bottom","left"].forEach(u=>{n[`${o}-${u}`]=typeof c=="number"?`${c}px`:c})}typeof r=="number"||typeof r=="string"?l(r):typeof r=="object"?["top","right","bottom","left"].forEach(c=>{r[c]===void 0?n[`${o}-${c}`]=a:n[`${o}-${c}`]=typeof r[c]=="number"?`${r[c]}px`:r[c]}):l(a)}),n}var O1=p.forwardRef(function(e,t){let{invert:n,position:r="bottom-right",hotkey:s=["altKey","KeyT"],expand:i,closeButton:o,className:a,offset:l,mobileOffset:c,theme:u="light",richColors:d,duration:h,style:f,visibleToasts:m=C1,toastOptions:b,dir:w=nv(),gap:y=k1,loadingIcon:g,icons:v,containerAriaLabel:P="Notifications",pauseWhenPageIsHidden:T}=e,[C,A]=N.useState([]),x=N.useMemo(()=>Array.from(new Set([r].concat(C.filter(H=>H.position).map(H=>H.position)))),[C,r]),[k,R]=N.useState([]),[F,O]=N.useState(!1),[q,j]=N.useState(!1),[ee,Q]=N.useState(u!=="system"?u:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dar
154k":"light"),W=N.useRef(null),_=s.join("+").replace(/Key/g,"").replace(/Digit/g,""),D=N.useRef(null),B=N.useRef(!1),J=N.useCallback(H=>{A(ne=>{var se;return(se=ne.find(De=>De.id===H.id))!=null&&se.delete||pt.dismiss(H.id),ne.filter(({id:De})=>De!==H.id)})},[]);return N.useEffect(()=>pt.subscribe(H=>{if(H.dismiss){A(ne=>ne.map(se=>se.id===H.id?{...se,delete:!0}:se));return}setTimeout(()=>{XP.flushSync(()=>{A(ne=>{let se=ne.findIndex(De=>De.id===H.id);return se!==-1?[...ne.slice(0,se),{...ne[se],...H},...ne.slice(se+1)]:[H,...ne]})})})}),[]),N.useEffect(()=>{if(u!=="system"){Q(u);return}if(u==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?Q("dark"):Q("light")),typeof window>"u")return;let H=window.matchMedia("(prefers-color-scheme: dark)");try{H.addEventListener("change",({matches:ne})=>{Q(ne?"dark":"light")})}catch{H.addListener(({matches:se})=>{try{Q(se?"dark":"light")}catch(De){console.error(De)}})}},[u]),N.useEffect(()=>{C.length<=1&&O(!1)},[C]),N.useEffect(()=>{let H=ne=>{var se,De;s.every(Xe=>ne[Xe]||ne.code===Xe)&&(O(!0),(se=W.current)==null||se.focus()),ne.code==="Escape"&&(document.activeElement===W.current||(De=W.current)!=null&&De.contains(document.activeElement))&&O(!1)};return document.addEventListener("keydown",H),()=>document.removeEventListener("keydown",H)},[s]),N.useEffect(()=>{if(W.current)return()=>{D.current&&(D.current.focus({preventScroll:!0}),D.current=null,B.current=!1)}},[W.current]),N.createElement("section",{ref:t,"aria-label":`${P} ${_}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},x.map((H,ne)=>{var se;let[De,Xe]=H.split("-");return C.length?N.createElement("ol",{key:H,dir:w==="auto"?nv():w,tabIndex:-1,ref:W,className:a,"data-sonner-toaster":!0,"data-theme":ee,"data-y-position":De,"data-lifted":F&&C.length>1&&!i,"data-x-position":Xe,style:{"--front-toast-height":`${((se=k[0])==null?void 0:se.height)||0}px`,"--width":`${x1}px`,"--gap":`${y}px`,...f,...I1(l,c)},onBlur:le=>{B.current&&!le.currentTarget.contains(le.relatedTarget)&&(B.current=!1,D.current&&(D.current.focus({preventScroll:!0}),D.current=null))},onFocus:le=>{le.target instanceof HTMLElement&&le.target.dataset.dismissible==="false"||B.current||(B.current=!0,D.current=le.relatedTarget)},onMouseEnter:()=>O(!0),onMouseMove:()=>O(!0),onMouseLeave:()=>{q||O(!1)},onDragEnd:()=>O(!1),onPointerDown:le=>{le.target instanceof HTMLElement&&le.target.dataset.dismissible==="false"||j(!0)},onPointerUp:()=>j(!1)},C.filter(le=>!le.position&&ne===0||le.position===H).map((le,Hs)=>{var rr,ns;return N.createElement(N1,{key:le.id,icons:v,index:Hs,toast:le,defaultRichColors:d,duration:(rr=b==null?void 0:b.duration)!=null?rr:h,className:b==null?void 0:b.className,descriptionClassName:b==null?void 0:b.descriptionClassName,invert:n,visibleToasts:m,closeButton:(ns=b==null?void 0:b.closeButton)!=null?ns:o,interacting:q,position:H,style:b==null?void 0:b.style,unstyled:b==null?void 0:b.unstyled,classNames:b==null?void 0:b.classNames,cancelButtonStyle:b==null?void 0:b.cancelButtonStyle,actionButtonStyle:b==null?void 0:b.actionButtonStyle,removeToast:J,toasts:C.filter(sr=>sr.position==le.position),heights:k.filter(sr=>sr.position==le.position),setHeights:R,expandByDefault:i,gap:y,loadingIcon:g,expanded:F,pauseWhenPageIsHidden:T,swipeDirections:e.swipeDirections})})):null}))});const L1=({...e})=>{const{theme:t="system"}=t1();return S.jsx(O1,{theme:t,className:"toaster group",toastOptions:{classNames:{toast:"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",description:"group-[.toast]:text-muted-foreground",actionButton:"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",cancelButton:"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground"}},...e})};var M1=jp[" useId ".trim().toString()]||(()=>{}),F1=0;function j1(e){const[t,n]=p.useState(M1());return Jn(()=>{n(r=>r??String(F1++))},[e]),e||(t?`radix-${t}`:"")}const B1=["top","right","bottom","left"],Hr=Math.min,Et=Math.max,su=Math.round,Kl=Math.floor,kn=e=>({x:e,y:e}
vendor: 9,894 bytes, line 154
154),U1={left:"right",right:"left",bottom:"top",top:"bottom"},V1={start:"end",end:"start"};function Ff(e,t,n){return Et(e,Hr(t,n))}function Xn(e,t){return typeof e=="function"?e(t):e}function Zn(e){return e.split("-")[0]}function bo(e){return e.split("-")[1]}function zm(e){return e==="x"?"y":"x"}function qm(e){return e==="y"?"height":"width"}const $1=new Set(["top","bottom"]);function En(e){return $1.has(Zn(e))?"y":"x"}function Hm(e){return zm(En(e))}function W1(e,t,n){n===void 0&&(n=!1);const r=bo(e),s=Hm(e),i=qm(s);let o=s==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[i]>t.floating[i]&&(o=iu(o)),[o,iu(o)]}function z1(e){const t=iu(e);return[jf(e),t,jf(t)]}function jf(e){return e.replace(/start|end/g,t=>V1[t])}const rv=["left","right"],sv=["right","left"],q1=["top","bottom"],H1=["bottom","top"];function G1(e,t,n){switch(e){case"top":case"bottom":return n?t?sv:rv:t?rv:sv;case"left":case"right":return t?q1:H1;default:return[]}}function K1(e,t,n,r){const s=bo(e);let i=G1(Zn(e),n==="start",r);return s&&(i=i.map(o=>o+"-"+s),t&&(i=i.concat(i.map(jf)))),i}function iu(e){return e.replace(/left|right|bottom|top/g,t=>U1[t])}function Y1(e){return{top:0,right:0,bottom:0,left:0,...e}}function ZT(e){return typeof e!="number"?Y1(e):{top:e,right:e,bottom:e,left:e}}function ou(e){const{x:t,y:n,width:r,height:s}=e;return{width:r,height:s,top:n,left:t,right:t+r,bottom:n+s,x:t,y:n}}function iv(e,t,n){let{reference:r,floating:s}=e;const i=En(t),o=Hm(t),a=qm(o),l=Zn(t),c=i==="y",u=r.x+r.width/2-s.width/2,d=r.y+r.height/2-s.height/2,h=r[a]/2-s[a]/2;let f;switch(l){case"top":f={x:u,y:r.y-s.height};break;case"bottom":f={x:u,y:r.y+r.height};break;case"right":f={x:r.x+r.width,y:d};break;case"left":f={x:r.x-s.width,y:d};break;default:f={x:r.x,y:r.y}}switch(bo(t)){case"start":f[o]-=h*(n&&c?-1:1);break;case"end":f[o]+=h*(n&&c?-1:1);break}return f}const Q1=async(e,t,n)=>{const{placement:r="bottom",strategy:s="absolute",middleware:i=[],platform:o}=n,a=i.filter(Boolean),l=await(o.isRTL==null?void 0:o.isRTL(t));let c=await o.getElementRects({reference:e,floating:t,strategy:s}),{x:u,y:d}=iv(c,r,l),h=r,f={},m=0;for(let b=0;b<a.length;b++){const{name:w,fn:y}=a[b],{x:g,y:v,data:P,reset:T}=await y({x:u,y:d,initialPlacement:r,placement:h,strategy:s,middlewareData:f,rects:c,platform:o,elements:{reference:e,floating:t}});u=g??u,d=v??d,f={...f,[w]:{...f[w],...P}},T&&m<=50&&(m++,typeof T=="object"&&(T.placement&&(h=T.placement),T.rects&&(c=T.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:s}):T.rects),{x:u,y:d}=iv(c,h,l)),b=-1)}return{x:u,y:d,placement:h,strategy:s,middlewareData:f}};async function Fa(e,t){var n;t===void 0&&(t={});const{x:r,y:s,platform:i,rects:o,elements:a,strategy:l}=e,{boundary:c="clippingAncestors",rootBoundary:u="viewport",elementContext:d="floating",altBoundary:h=!1,padding:f=0}=Xn(t,e),m=ZT(f),w=a[h?d==="floating"?"reference":"floating":d],y=ou(await i.getClippingRect({element:(n=await(i.isElement==null?void 0:i.isElement(w)))==null||n?w:w.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(a.floating)),boundary:c,rootBoundary:u,strategy:l})),g=d==="floating"?{x:r,y:s,width:o.floating.width,height:o.floating.height}:o.reference,v=await(i.getOffsetParent==null?void 0:i.getOffsetParent(a.floating)),P=await(i.isElement==null?void 0:i.isElement(v))?await(i.getScale==null?void 0:i.getScale(v))||{x:1,y:1}:{x:1,y:1},T=ou(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:a,rect:g,offsetParent:v,strategy:l}):g);return{top:(y.top-T.top+m.top)/P.y,bottom:(T.bottom-y.bottom+m.bottom)/P.y,left:(y.left-T.left+m.left)/P.x,right:(T.right-y.right+m.right)/P.x}}const J1=e=>({name:"arrow",options:e,async fn(t){const{x:n,y:r,placement:s,rects:i,platform:o,elements:a,middlewareData:l}=t,{element:c,padding:u=0}=Xn(e,t)||{};if(c==null)return{};const d=ZT(u),h={x:n,y:r},f=Hm(s),m=qm(f),b=await o.getDimensions(c),w=f==="y",y=w?"top":"left",g=w?"bottom":"right",v=w?"clientHeight":"clientWidth",P=i.reference[m]+i.reference[f]-h[f]-i.floating[m],T=h[f]-i.reference[f],C=await(o.getOffsetParent==null?void 0:o.getOffsetParent(c));let A=C?C[v]:0;(!A||!await(o.isElement==null?void 0:o.isElement(C)))&&(A=a.floating[v]||i.floating[m]);const x=P/2-T/2,k=A/2-b[m]/2-1,R=Hr(d[y],k),F=Hr(d[g],k),O=R,q=A-b[m]-F,j=A/2-b[m]/2+x,ee=Ff(O,j,q),Q=!l.arrow&&bo(s)!=null&&j!==ee&&i.reference[m]/2-(j<O?R:F)-b[m]/2<0,W=Q?j<O?j-O:j-q:0;return{[f]:h[f]+W,data:{[f]:ee,centerOffset:j-ee-W,...Q&&{alignmentOffset:W}},reset:Q}}}),X1=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n,r;const{placement:s,middlewareData:i,rects:o,initialPlacement:a,platform:l,elements:c}=t,{mainAxis:u=!0,crossAxis:d=!0,fallbackPlacements:h,fallbackStrategy:f="bestFit",fallbackAxisSideDirection:m="none",flipAlignment:b=!0,...w}=Xn(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};const y=Zn(s),g=En(a),v=Zn(a)===a,P=await(l.isRTL==null?void 0:l.isRTL(c.floating)),T=h||(v||!b?[iu(a)]:z1(a)),C=m!=="none";!h&&C&&T.push(...K1(a,b,m,P));const A=[a,...T],x=await Fa(t,w),k=[];let R=((r=i.flip)==null?void 0:r.overflows)||[];if(u&&k.push(x[y]),d){const j=W1(s,o,P);k.push(x[j[0]],x[j[1]])}if(R=[...R,{placement:s,overflows:k}],!k.every(j=>j<=0)){var F,O;const j=(((F=i.flip)==null?void 0:F.index)||0)+1,ee=A[j];if(ee&&(!(d==="alignment"?g!==En(ee):!1)||R.every(_=>_.overflows[0]>0&&En(_.placement)===g)))return{data:{index:j,overflows:R},reset:{placement:ee}};let Q=(O=R.filter(W=>W.overflows[0]<=0).sort((W,_)=>W.overflows[1]-_.overflows[1])[0])==null?void 0:O.placement;if(!Q)switch(f){case"bestFit":{var q;const W=(q=R.filter(_=>{if(C){const D=En(_.placement);return D===g||D==="y"}return!0}).map(_=>[_.placement,_.overflows.filter(D=>D>0).reduce((D,B)=>D+B,0)]).sort((_,D)=>_[1]-D[1])[0])==null?void 0:q[0];W&&(Q=W);break}case"initialPlacement":Q=a;break}if(s!==Q)return{reset:{placement:Q}}}return{}}}};function ov(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function av(e){return B1.some(t=>e[t]>=0)}const Z1=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n}=t,{strategy:r="referenceHidden",...s}=Xn(e,t);switch(r){case"referenceHidden":{const i=await Fa(t,{...s,elementContext:"reference"}),o=ov(i,n.reference);return{data:{referenceHiddenOffsets:o,referenceHidden:av(o)}}}case"escaped":{const i=await Fa(t,{...s,altBoundary:!0}),o=ov(i,n.floating);return{data:{escapedOffsets:o,escaped:av(o)}}}default:return{}}}}},eC=new Set(["left","top"]);async function eL(e,t){const{placement:n,platform:r,elements:s}=e,i=await(r.isRTL==null?void 0:r.isRTL(s.floating)),o=Zn(n),a=bo(n),l=En(n)==="y",c=eC.has(o)?-1:1,u=i&&l?-1:1,d=Xn(t,e);let{mainAxis:h,crossAxis:f,alignmentAxis:m}=typeof d=="number"?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return a&&typeof m=="number"&&(f=a==="end"?m*-1:m),l?{x:f*u,y:h*c}:{x:h*c,y:f*u}}const tL=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,r;const{x:s,y:i,placement:o,middlewareData:a}=t,l=await eL(t,e);return o===((n=a.offset)==null?void 0:n.placement)&&(r=a.arrow)!=null&&r.alignmentOffset?{}:{x:s+l.x,y:i+l.y,data:{...l,placement:o}}}}},nL=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:r,placement:s}=t,{mainAxis:i=!0,crossAxis:o=!1,limiter:a={fn:w=>{let{x:y,y:g}=w;return{x:y,y:g}}},...l}=Xn(e,t),c={x:n,y:r},u=await Fa(t,l),d=En(Zn(s)),h=zm(d);let f=c[h],m=c[d];if(i){const w=h==="y"?"top":"left",y=h==="y"?"bottom":"right",g=f+u[w],v=f-u[y];f=Ff(g,f,v)}if(o){const w=d==="y"?"top":"left",y=d==="y"?"bottom":"right",g=m+u[w],v=m-u[y];m=Ff(g,m,v)}const b=a.fn({...t,[h]:f,[d]:m});return{...b,data:{x:b.x-n,y:b.y-r,enabled:{[h]:i,[d]:o}}}}}},rL=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:n,y:r,placement:s,rects:i,middlewareData:o}=t,{offset:a=0,mainAxis:l=!0,crossAxis:c=!0}=Xn(e,t),u={x:n,y:r},d=En(s),h=zm(d);let f=u[h],m=u[d];const b=Xn(a,t),w=typeof b=="number"?{mainAxis:b,crossAxis:0}:{mainAxis:0,crossAxis:0,...b};if(l){const v=h==="y"?"height":"width",P=i.reference[h]-i.floating[v]+w.mainAxis,T=i.reference[h]+i.reference[v]-w.mainAxis;f<P?f=P:f>T&&(f=T)}if(c){var y,g;const v=h==="y"?"width":"height",P=eC.has(Zn(s)),T=i.reference[d]-i.floating[v]+(P&&((y=o.offset)==null?void 0:y[d])||0)+(P?0:w.crossAxis),C=i.reference[d]+i.reference[v]+(P?0:((g=o.offset)==null?void 0:g[d])||0)-(P?w.crossAxis:0);m<T?m=T:m>C&&(m=C)}return{[h]:f,[d]:m}}}},sL=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var n,r;const{placement:s,rects:i,platform:o,elements:a}=t,{apply:l=()=>{},...c}=Xn(e,t),u=await Fa(t,c),d=Zn(s),h=bo(s),f=En(s)==="y",{width:m,height:b}=i.floating;let w,y;d==="top"||d==="bottom"?(w=d,y=h===(await(o.isRTL==null?void 0:o.isRTL(a.floating))?"start":"end")?"left":"right"):(y=d,w=h==="end"?"top":"bottom");const g=b-u.top-u.bottom,v=m-u.left-u.right,P=Hr(b-u[w],g),T=Hr(m-u[y],v),C=!t.middlewareData.shift;let A=P,x=T;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(x=v),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(A=g),C&&!h){const R=Et(u.left,0),F=Et(u.right,0),O=Et(u.top,0),q=Et(u.bottom,0);f?x=m-2*(R!==0||F!==0?R+F:Et(u.left,u.right)):A=b-2*(O!==0||q!==0?O+q:Et(u.top,u.bottom))}await l({...t,availableWidth:x,availableHeight:A});const k=await o.getDimensions(a.floating);return m!==k.width||b!==k.height?{reset:{rects:!0}}:{}}}};function qu(){return typeof window<"u"}function go(e){return tC(e)?(e.nodeName||"").toLowerCase():"#document"}function _t(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function In(e){var t;return(t=(tC(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}
vendor: 4,581 bytes, line 154
154function tC(e){return qu()?e instanceof Node||e instanceof _t(e).Node:!1}function bn(e){return qu()?e instanceof Element||e instanceof _t(e).Element:!1}function Rn(e){return qu()?e instanceof HTMLElement||e instanceof _t(e).HTMLElement:!1}function lv(e){return!qu()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof _t(e).ShadowRoot}const iL=new Set(["inline","contents"]);function cl(e){const{overflow:t,overflowX:n,overflowY:r,display:s}=gn(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!iL.has(s)}const oL=new Set(["table","td","th"]);function aL(e){return oL.has(go(e))}const lL=[":popover-open",":modal"];function Hu(e){return lL.some(t=>{try{return e.matches(t)}catch{return!1}})}const cL=["transform","translate","scale","rotate","perspective"],uL=["transform","translate","scale","rotate","perspective","filter"],dL=["paint","layout","strict","content"];function Gm(e){const t=Km(),n=bn(e)?gn(e):e;return cL.some(r=>n[r]?n[r]!=="none":!1)||(n.containerType?n.containerType!=="normal":!1)||!t&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!t&&(n.filter?n.filter!=="none":!1)||uL.some(r=>(n.willChange||"").includes(r))||dL.some(r=>(n.contain||"").includes(r))}function hL(e){let t=Gr(e);for(;Rn(t)&&!ao(t);){if(Gm(t))return t;if(Hu(t))return null;t=Gr(t)}return null}function Km(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const fL=new Set(["html","body","#document"]);function ao(e){return fL.has(go(e))}function gn(e){return _t(e).getComputedStyle(e)}function Gu(e){return bn(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Gr(e){if(go(e)==="html")return e;const t=e.assignedSlot||e.parentNode||lv(e)&&e.host||In(e);return lv(t)?t.host:t}function nC(e){const t=Gr(e);return ao(t)?e.ownerDocument?e.ownerDocument.body:e.body:Rn(t)&&cl(t)?t:nC(t)}function ja(e,t,n){var r;t===void 0&&(t=[]),n===void 0&&(n=!0);const s=nC(e),i=s===((r=e.ownerDocument)==null?void 0:r.body),o=_t(s);if(i){const a=Bf(o);return t.concat(o,o.visualViewport||[],cl(s)?s:[],a&&n?ja(a):[])}return t.concat(s,ja(s,[],n))}function Bf(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function rC(e){const t=gn(e);let n=parseFloat(t.width)||0,r=parseFloat(t.height)||0;const s=Rn(e),i=s?e.offsetWidth:n,o=s?e.offsetHeight:r,a=su(n)!==i||su(r)!==o;return a&&(n=i,r=o),{width:n,height:r,$:a}}function Ym(e){return bn(e)?e:e.contextElement}function Bi(e){const t=Ym(e);if(!Rn(t))return kn(1);const n=t.getBoundingClientRect(),{width:r,height:s,$:i}=rC(t);let o=(i?su(n.width):n.width)/r,a=(i?su(n.height):n.height)/s;return(!o||!Number.isFinite(o))&&(o=1),(!a||!Number.isFinite(a))&&(a=1),{x:o,y:a}}const pL=kn(0);function sC(e){const t=_t(e);return!Km()||!t.visualViewport?pL:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function mL(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==_t(e)?!1:t}function Vs(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);const s=e.getBoundingClientRect(),i=Ym(e);let o=kn(1);t&&(r?bn(r)&&(o=Bi(r)):o=Bi(e));const a=mL(i,n,r)?sC(i):kn(0);let l=(s.left+a.x)/o.x,c=(s.top+a.y)/o.y,u=s.width/o.x,d=s.height/o.y;if(i){const h=_t(i),f=r&&bn(r)?_t(r):r;let m=h,b=Bf(m);for(;b&&r&&f!==m;){const w=Bi(b),y=b.getBoundingClientRect(),g=gn(b),v=y.left+(b.clientLeft+parseFloat(g.paddingLeft))*w.x,P=y.top+(b.clientTop+parseFloat(g.paddingTop))*w.y;l*=w.x,c*=w.y,u*=w.x,d*=w.y,l+=v,c+=P,m=_t(b),b=Bf(m)}}return ou({width:u,height:d,x:l,y:c})}function Qm(e,t){const n=Gu(e).scrollLeft;return t?t.left+n:Vs(In(e)).left+n}function iC(e,t,n){n===void 0&&(n=!1);const r=e.getBoundingClientRect(),s=r.left+t.scrollLeft-(n?0:Qm(e,r)),i=r.top+t.scrollTop;return{x:s,y:i}}function bL(e){let{elements:t,rect:n,offsetParent:r,strategy:s}=e;const i=s==="fixed",o=In(r),a=t?Hu(t.floating):!1;if(r===o||a&&i)return n;let l={scrollLeft:0,scrollTop:0},c=kn(1);const u=kn(0),d=Rn(r);if((d||!d&&!i)&&((go(r)!=="body"||cl(o))&&(l=Gu(r)),Rn(r))){const f=Vs(r);c=Bi(r),u.x=f.x+r.clientLeft,u.y=f.y+r.clientTop}const h=o&&!d&&!i?iC(o,l,!0):kn(0);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-l.scrollLeft*c.x+u.x+h.x,y:n.y*c.y-l.scrollTop*c.y+u.y+h.y}}function gL(e){return Array.from(e.getClientRects())}function yL(e){const t=In(e),n=Gu(e),r=e.ownerDocument.body,s=Et(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),i=Et(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight);let o=-n.scrollLeft+Qm(e);const a=-n.scrollTop;return gn(r).direction==="rtl"&&(o+=Et(t.clientWidth,r.clientWidth)-s),{width:s,height:i,x:o,y:a}}
vendor: 4,850 bytes, line 154
154function vL(e,t){const n=_t(e),r=In(e),s=n.visualViewport;let i=r.clientWidth,o=r.clientHeight,a=0,l=0;if(s){i=s.width,o=s.height;const c=Km();(!c||c&&t==="fixed")&&(a=s.offsetLeft,l=s.offsetTop)}return{width:i,height:o,x:a,y:l}}const wL=new Set(["absolute","fixed"]);function SL(e,t){const n=Vs(e,!0,t==="fixed"),r=n.top+e.clientTop,s=n.left+e.clientLeft,i=Rn(e)?Bi(e):kn(1),o=e.clientWidth*i.x,a=e.clientHeight*i.y,l=s*i.x,c=r*i.y;return{width:o,height:a,x:l,y:c}}function cv(e,t,n){let r;if(t==="viewport")r=vL(e,n);else if(t==="document")r=yL(In(e));else if(bn(t))r=SL(t,n);else{const s=sC(e);r={x:t.x-s.x,y:t.y-s.y,width:t.width,height:t.height}}return ou(r)}function oC(e,t){const n=Gr(e);return n===t||!bn(n)||ao(n)?!1:gn(n).position==="fixed"||oC(n,t)}function PL(e,t){const n=t.get(e);if(n)return n;let r=ja(e,[],!1).filter(a=>bn(a)&&go(a)!=="body"),s=null;const i=gn(e).position==="fixed";let o=i?Gr(e):e;for(;bn(o)&&!ao(o);){const a=gn(o),l=Gm(o);!l&&a.position==="fixed"&&(s=null),(i?!l&&!s:!l&&a.position==="static"&&!!s&&wL.has(s.position)||cl(o)&&!l&&oC(e,o))?r=r.filter(u=>u!==o):s=a,o=Gr(o)}return t.set(e,r),r}function TL(e){let{element:t,boundary:n,rootBoundary:r,strategy:s}=e;const o=[...n==="clippingAncestors"?Hu(t)?[]:PL(t,this._c):[].concat(n),r],a=o[0],l=o.reduce((c,u)=>{const d=cv(t,u,s);return c.top=Et(d.top,c.top),c.right=Hr(d.right,c.right),c.bottom=Hr(d.bottom,c.bottom),c.left=Et(d.left,c.left),c},cv(t,a,s));return{width:l.right-l.left,height:l.bottom-l.top,x:l.left,y:l.top}}function CL(e){const{width:t,height:n}=rC(e);return{width:t,height:n}}function EL(e,t,n){const r=Rn(t),s=In(t),i=n==="fixed",o=Vs(e,!0,i,t);let a={scrollLeft:0,scrollTop:0};const l=kn(0);function c(){l.x=Qm(s)}if(r||!r&&!i)if((go(t)!=="body"||cl(s))&&(a=Gu(t)),r){const f=Vs(t,!0,i,t);l.x=f.x+t.clientLeft,l.y=f.y+t.clientTop}else s&&c();i&&!r&&s&&c();const u=s&&!r&&!i?iC(s,a):kn(0),d=o.left+a.scrollLeft-l.x-u.x,h=o.top+a.scrollTop-l.y-u.y;return{x:d,y:h,width:o.width,height:o.height}}function Qd(e){return gn(e).position==="static"}function uv(e,t){if(!Rn(e)||gn(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return In(e)===n&&(n=n.ownerDocument.body),n}function aC(e,t){const n=_t(e);if(Hu(e))return n;if(!Rn(e)){let s=Gr(e);for(;s&&!ao(s);){if(bn(s)&&!Qd(s))return s;s=Gr(s)}return n}let r=uv(e,t);for(;r&&aL(r)&&Qd(r);)r=uv(r,t);return r&&ao(r)&&Qd(r)&&!Gm(r)?n:r||hL(e)||n}const AL=async function(e){const t=this.getOffsetParent||aC,n=this.getDimensions,r=await n(e.floating);return{reference:EL(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function xL(e){return gn(e).direction==="rtl"}const kL={convertOffsetParentRelativeRectToViewportRelativeRect:bL,getDocumentElement:In,getClippingRect:TL,getOffsetParent:aC,getElementRects:AL,getClientRects:gL,getDimensions:CL,getScale:Bi,isElement:bn,isRTL:xL};function lC(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function _L(e,t){let n=null,r;const s=In(e);function i(){var a;clearTimeout(r),(a=n)==null||a.disconnect(),n=null}function o(a,l){a===void 0&&(a=!1),l===void 0&&(l=1),i();const c=e.getBoundingClientRect(),{left:u,top:d,width:h,height:f}=c;if(a||t(),!h||!f)return;const m=Kl(d),b=Kl(s.clientWidth-(u+h)),w=Kl(s.clientHeight-(d+f)),y=Kl(u),v={rootMargin:-m+"px "+-b+"px "+-w+"px "+-y+"px",threshold:Et(0,Hr(1,l))||1};let P=!0;function T(C){const A=C[0].intersectionRatio;if(A!==l){if(!P)return o();A?o(!1,A):r=setTimeout(()=>{o(!1,1e-7)},1e3)}A===1&&!lC(c,e.getBoundingClientRect())&&o(),P=!1}try{n=new IntersectionObserver(T,{...v,root:s.ownerDocument})}catch{n=new IntersectionObserver(T,v)}n.observe(e)}return o(!0),i}function RL(e,t,n,r){r===void 0&&(r={});const{ancestorScroll:s=!0,ancestorResize:i=!0,elementResize:o=typeof ResizeObserver=="function",layoutShift:a=typeof IntersectionObserver=="function",animationFrame:l=!1}=r,c=Ym(e),u=s||i?[...c?ja(c):[],...ja(t)]:[];u.forEach(y=>{s&&y.addEventListener("scroll",n,{passive:!0}),i&&y.addEventListener("resize",n)});const d=c&&a?_L(c,n):null;let h=-1,f=null;o&&(f=new ResizeObserver(y=>{let[g]=y;g&&g.target===c&&f&&(f.unobserve(t),cancelAnimationFrame(h),h=requestAnimationFrame(()=>{var v;(v=f)==null||v.observe(t)})),n()}),c&&!l&&f.observe(c),f.observe(t));let m,b=l?Vs(e):null;l&&w();function w(){const y=Vs(e);b&&!lC(b,y)&&n(),b=y,m=requestAnimationFrame(w)}return n(),()=>{var y;u.forEach(g=>{s&&g.removeEventListener("scroll",n),i&&g.removeEventListener("resize",n)}),d==null||d(),(y=f)==null||y.disconnect(),f=null,l&&cancelAnimationFrame(m)}}const DL=tL,NL=nL,IL=X1,OL=sL,LL=Z1,dv=J1,ML=rL,FL=(e,t,n)=>{const r=new Map,s={platform:kL,...n},i={...s.platform,_c:r};return Q1(e,t,{...s,platform:i})};var jL=typeof document<"u",BL=function(){},vc=jL?p.useLayoutEffect:BL;function au(e,t){if(e===t)return!0;
vendor: 4,146 bytes, line 154
154if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,r,s;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!au(e[r],t[r]))return!1;return!0}if(s=Object.keys(e),n=s.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,s[r]))return!1;for(r=n;r--!==0;){const i=s[r];if(!(i==="_owner"&&e.$$typeof)&&!au(e[i],t[i]))return!1}return!0}return e!==e&&t!==t}function cC(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function hv(e,t){const n=cC(e);return Math.round(t*n)/n}function Jd(e){const t=p.useRef(e);return vc(()=>{t.current=e}),t}function UL(e){e===void 0&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:s,elements:{reference:i,floating:o}={},transform:a=!0,whileElementsMounted:l,open:c}=e,[u,d]=p.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[h,f]=p.useState(r);au(h,r)||f(r);const[m,b]=p.useState(null),[w,y]=p.useState(null),g=p.useCallback(_=>{_!==C.current&&(C.current=_,b(_))},[]),v=p.useCallback(_=>{_!==A.current&&(A.current=_,y(_))},[]),P=i||m,T=o||w,C=p.useRef(null),A=p.useRef(null),x=p.useRef(u),k=l!=null,R=Jd(l),F=Jd(s),O=Jd(c),q=p.useCallback(()=>{if(!C.current||!A.current)return;const _={placement:t,strategy:n,middleware:h};F.current&&(_.platform=F.current),FL(C.current,A.current,_).then(D=>{const B={...D,isPositioned:O.current!==!1};j.current&&!au(x.current,B)&&(x.current=B,al.flushSync(()=>{d(B)}))})},[h,t,n,F,O]);vc(()=>{c===!1&&x.current.isPositioned&&(x.current.isPositioned=!1,d(_=>({..._,isPositioned:!1})))},[c]);const j=p.useRef(!1);vc(()=>(j.current=!0,()=>{j.current=!1}),[]),vc(()=>{if(P&&(C.current=P),T&&(A.current=T),P&&T){if(R.current)return R.current(P,T,q);q()}},[P,T,q,R,k]);const ee=p.useMemo(()=>({reference:C,floating:A,setReference:g,setFloating:v}),[g,v]),Q=p.useMemo(()=>({reference:P,floating:T}),[P,T]),W=p.useMemo(()=>{const _={position:n,left:0,top:0};if(!Q.floating)return _;const D=hv(Q.floating,u.x),B=hv(Q.floating,u.y);return a?{..._,transform:"translate("+D+"px, "+B+"px)",...cC(Q.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:D,top:B}},[n,a,Q.floating,u.x,u.y]);return p.useMemo(()=>({...u,update:q,refs:ee,elements:Q,floatingStyles:W}),[u,q,ee,Q,W])}const VL=e=>{function t(n){return{}.hasOwnProperty.call(n,"current")}return{name:"arrow",options:e,fn(n){const{element:r,padding:s}=typeof e=="function"?e(n):e;return r&&t(r)?r.current!=null?dv({element:r.current,padding:s}).fn(n):{}:r?dv({element:r,padding:s}).fn(n):{}}}},$L=(e,t)=>({...DL(e),options:[e,t]}),WL=(e,t)=>({...NL(e),options:[e,t]}),zL=(e,t)=>({...ML(e),options:[e,t]}),qL=(e,t)=>({...IL(e),options:[e,t]}),HL=(e,t)=>({...OL(e),options:[e,t]}),GL=(e,t)=>({...LL(e),options:[e,t]}),KL=(e,t)=>({...VL(e),options:[e,t]});var YL="Arrow",uC=p.forwardRef((e,t)=>{const{children:n,width:r=10,height:s=5,...i}=e;return S.jsx(Pt.svg,{...i,ref:t,width:r,height:s,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:S.jsx("polygon",{points:"0,0 30,0 15,10"})})});uC.displayName=YL;var QL=uC;function JL(e){const[t,n]=p.useState(void 0);return Jn(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const r=new ResizeObserver(s=>{if(!Array.isArray(s)||!s.length)return;const i=s[0];let o,a;if("borderBoxSize"in i){const l=i.borderBoxSize,c=Array.isArray(l)?l[0]:l;o=c.inlineSize,a=c.blockSize}else o=e.offsetWidth,a=e.offsetHeight;n({width:o,height:a})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}else n(void 0)},[e]),t}var Jm="Popper",[dC,hC]=$u(Jm),[XL,fC]=dC(Jm),pC=e=>{const{__scopePopper:t,children:n}=e,[r,s]=p.useState(null);return S.jsx(XL,{scope:t,anchor:r,onAnchorChange:s,children:n})};pC.displayName=Jm;var mC="PopperAnchor",bC=p.forwardRef((e,t)=>{const{__scopePopper:n,virtualRef:r,...s}=e,i=fC(mC,n),o=p.useRef(null),a=mn(t,o);return p.useEffect(()=>{i.onAnchorChange((r==null?void 0:r.current)||o.current)}),r?null:S.jsx(Pt.div,{...s,ref:a})});bC.displayName=mC;var Xm="PopperContent",[ZL,eM]=dC(Xm),gC=p.forwardRef((e,t)=>
vendor: 4,218 bytes, line 154
154{var le,Hs,rr,ns,sr,Gs;const{__scopePopper:n,side:r="bottom",sideOffset:s=0,align:i="center",alignOffset:o=0,arrowPadding:a=0,avoidCollisions:l=!0,collisionBoundary:c=[],collisionPadding:u=0,sticky:d="partial",hideWhenDetached:h=!1,updatePositionStrategy:f="optimized",onPlaced:m,...b}=e,w=fC(Xm,n),[y,g]=p.useState(null),v=mn(t,ir=>g(ir)),[P,T]=p.useState(null),C=JL(P),A=(C==null?void 0:C.width)??0,x=(C==null?void 0:C.height)??0,k=r+(i!=="center"?"-"+i:""),R=typeof u=="number"?u:{top:0,right:0,bottom:0,left:0,...u},F=Array.isArray(c)?c:[c],O=F.length>0,q={padding:R,boundary:F.filter(nM),altBoundary:O},{refs:j,floatingStyles:ee,placement:Q,isPositioned:W,middlewareData:_}=UL({strategy:"fixed",placement:k,whileElementsMounted:(...ir)=>RL(...ir,{animationFrame:f==="always"}),elements:{reference:w.anchor},middleware:[$L({mainAxis:s+x,alignmentAxis:o}),l&&WL({mainAxis:!0,crossAxis:!1,limiter:d==="partial"?zL():void 0,...q}),l&&qL({...q}),HL({...q,apply:({elements:ir,rects:bl,availableWidth:nd,availableHeight:gl})=>{const{width:rd,height:To}=bl.reference,Ks=ir.floating.style;Ks.setProperty("--radix-popper-available-width",`${nd}px`),Ks.setProperty("--radix-popper-available-height",`${gl}px`),Ks.setProperty("--radix-popper-anchor-width",`${rd}px`),Ks.setProperty("--radix-popper-anchor-height",`${To}px`)}}),P&&KL({element:P,padding:a}),rM({arrowWidth:A,arrowHeight:x}),h&&GL({strategy:"referenceHidden",...q})]}),[D,B]=wC(Q),J=qr(m);Jn(()=>{W&&(J==null||J())},[W,J]);const H=(le=_.arrow)==null?void 0:le.x,ne=(Hs=_.arrow)==null?void 0:Hs.y,se=((rr=_.arrow)==null?void 0:rr.centerOffset)!==0,[De,Xe]=p.useState();return Jn(()=>{y&&Xe(window.getComputedStyle(y).zIndex)},[y]),S.jsx("div",{ref:j.setFloating,"data-radix-popper-content-wrapper":"",style:{...ee,transform:W?ee.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:De,"--radix-popper-transform-origin":[(ns=_.transformOrigin)==null?void 0:ns.x,(sr=_.transformOrigin)==null?void 0:sr.y].join(" "),...((Gs=_.hide)==null?void 0:Gs.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:S.jsx(ZL,{scope:n,placedSide:D,onArrowChange:T,arrowX:H,arrowY:ne,shouldHideArrow:se,children:S.jsx(Pt.div,{"data-side":D,"data-align":B,...b,ref:v,style:{...b.style,animation:W?void 0:"none"}})})})});gC.displayName=Xm;var yC="PopperArrow",tM={top:"bottom",right:"left",bottom:"top",left:"right"},vC=p.forwardRef(function(t,n){const{__scopePopper:r,...s}=t,i=eM(yC,r),o=tM[i.placedSide];return S.jsx("span",{ref:i.onArrowChange,style:{position:"absolute",left:i.arrowX,top:i.arrowY,[o]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[i.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[i.placedSide],visibility:i.shouldHideArrow?"hidden":void 0},children:S.jsx(QL,{...s,ref:n,style:{...s.style,display:"block"}})})});vC.displayName=yC;function nM(e){return e!==null}var rM=e=>({name:"transformOrigin",options:e,fn(t){var w,y,g;const{placement:n,rects:r,middlewareData:s}=t,o=((w=s.arrow)==null?void 0:w.centerOffset)!==0,a=o?0:e.arrowWidth,l=o?0:e.arrowHeight,[c,u]=wC(n),d={start:"0%",center:"50%",end:"100%"}[u],h=(((y=s.arrow)==null?void 0:y.x)??0)+a/2,f=(((g=s.arrow)==null?void 0:g.y)??0)+l/2;let m="",b="";return c==="bottom"?(m=o?d:`${h}px`,b=`${-l}px`):c==="top"?(m=o?d:`${h}px`,b=`${r.floating.height+l}px`):c==="right"?(m=`${-l}px`,b=o?d:`${f}px`):c==="left"&&(m=`${r.floating.width+l}px`,b=o?d:`${f}px`),{data:{x:m,y:b}}}});function wC(e){const[t,n="center"]=e.split("-");return[t,n]}var sM=pC,iM=bC,oM=gC,aM=vC,[Ku]=$u("Tooltip",[hC]),Yu=hC(),SC="TooltipProvider",lM=700,Uf="tooltip.open",[cM,Zm]=Ku(SC),PC=e=>{const{__scopeTooltip:t,delayDuration:n=lM,skipDelayDuration:r=300,disableHoverableContent:s=!1,children:i}=e,o=p.useRef(!0),a=p.useRef(!1),l=p.useRef(0);return p.useEffect(()=>{const c=l.current;return()=>window.clearTimeout(c)},[]),S.jsx(cM,{scope:t,isOpenDelayedRef:o,delayDuration:n,onOpen:p.useCallback(()=>{window.clearTimeout(l.current),o.current=!1},[]),onClose:p.useCallback(()=>{window.clearTimeout(l.current),l.current=window.setTimeout(()=>
vendor: 5,049 bytes, line 154
154o.current=!0,r)},[r]),isPointerInTransitRef:a,onPointerInTransitChange:p.useCallback(c=>{a.current=c},[]),disableHoverableContent:s,children:i})};PC.displayName=SC;var Ba="Tooltip",[uM,Qu]=Ku(Ba),TC=e=>{const{__scopeTooltip:t,children:n,open:r,defaultOpen:s,onOpenChange:i,disableHoverableContent:o,delayDuration:a}=e,l=Zm(Ba,e.__scopeTooltip),c=Yu(t),[u,d]=p.useState(null),h=j1(),f=p.useRef(0),m=o??l.disableHoverableContent,b=a??l.delayDuration,w=p.useRef(!1),[y,g]=bT({prop:r,defaultProp:s??!1,onChange:A=>{A?(l.onOpen(),document.dispatchEvent(new CustomEvent(Uf))):l.onClose(),i==null||i(A)},caller:Ba}),v=p.useMemo(()=>y?w.current?"delayed-open":"instant-open":"closed",[y]),P=p.useCallback(()=>{window.clearTimeout(f.current),f.current=0,w.current=!1,g(!0)},[g]),T=p.useCallback(()=>{window.clearTimeout(f.current),f.current=0,g(!1)},[g]),C=p.useCallback(()=>{window.clearTimeout(f.current),f.current=window.setTimeout(()=>{w.current=!0,g(!0),f.current=0},b)},[b,g]);return p.useEffect(()=>()=>{f.current&&(window.clearTimeout(f.current),f.current=0)},[]),S.jsx(sM,{...c,children:S.jsx(uM,{scope:t,contentId:h,open:y,stateAttribute:v,trigger:u,onTriggerChange:d,onTriggerEnter:p.useCallback(()=>{l.isOpenDelayedRef.current?C():P()},[l.isOpenDelayedRef,C,P]),onTriggerLeave:p.useCallback(()=>{m?T():(window.clearTimeout(f.current),f.current=0)},[T,m]),onOpen:P,onClose:T,disableHoverableContent:m,children:n})})};TC.displayName=Ba;var Vf="TooltipTrigger",CC=p.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,s=Qu(Vf,n),i=Zm(Vf,n),o=Yu(n),a=p.useRef(null),l=mn(t,a,s.onTriggerChange),c=p.useRef(!1),u=p.useRef(!1),d=p.useCallback(()=>c.current=!1,[]);return p.useEffect(()=>()=>document.removeEventListener("pointerup",d),[d]),S.jsx(iM,{asChild:!0,...o,children:S.jsx(Pt.button,{"aria-describedby":s.open?s.contentId:void 0,"data-state":s.stateAttribute,...r,ref:l,onPointerMove:Be(e.onPointerMove,h=>{h.pointerType!=="touch"&&!u.current&&!i.isPointerInTransitRef.current&&(s.onTriggerEnter(),u.current=!0)}),onPointerLeave:Be(e.onPointerLeave,()=>{s.onTriggerLeave(),u.current=!1}),onPointerDown:Be(e.onPointerDown,()=>{s.open&&s.onClose(),c.current=!0,document.addEventListener("pointerup",d,{once:!0})}),onFocus:Be(e.onFocus,()=>{c.current||s.onOpen()}),onBlur:Be(e.onBlur,s.onClose),onClick:Be(e.onClick,s.onClose)})})});CC.displayName=Vf;var dM="TooltipPortal",[Ez,hM]=Ku(dM,{forceMount:void 0}),lo="TooltipContent",EC=p.forwardRef((e,t)=>{const n=hM(lo,e.__scopeTooltip),{forceMount:r=n.forceMount,side:s="top",...i}=e,o=Qu(lo,e.__scopeTooltip);return S.jsx(Mm,{present:r||o.open,children:o.disableHoverableContent?S.jsx(AC,{side:s,...i,ref:t}):S.jsx(fM,{side:s,...i,ref:t})})}),fM=p.forwardRef((e,t)=>{const n=Qu(lo,e.__scopeTooltip),r=Zm(lo,e.__scopeTooltip),s=p.useRef(null),i=mn(t,s),[o,a]=p.useState(null),{trigger:l,onClose:c}=n,u=s.current,{onPointerInTransitChange:d}=r,h=p.useCallback(()=>{a(null),d(!1)},[d]),f=p.useCallback((m,b)=>{const w=m.currentTarget,y={x:m.clientX,y:m.clientY},g=yM(y,w.getBoundingClientRect()),v=vM(y,g),P=wM(b.getBoundingClientRect()),T=PM([...v,...P]);a(T),d(!0)},[d]);return p.useEffect(()=>()=>h(),[h]),p.useEffect(()=>{if(l&&u){const m=w=>f(w,u),b=w=>f(w,l);return l.addEventListener("pointerleave",m),u.addEventListener("pointerleave",b),()=>{l.removeEventListener("pointerleave",m),u.removeEventListener("pointerleave",b)}}},[l,u,f,h]),p.useEffect(()=>{if(o){const m=b=>{const w=b.target,y={x:b.clientX,y:b.clientY},g=(l==null?void 0:l.contains(w))||(u==null?void 0:u.contains(w)),v=!SM(y,o);g?h():v&&(h(),c())};return document.addEventListener("pointermove",m),()=>document.removeEventListener("pointermove",m)}},[l,u,o,c,h]),S.jsx(AC,{...e,ref:i})}),[pM,mM]=Ku(Ba,{isInside:!1}),bM=gI("TooltipContent"),AC=p.forwardRef((e,t)=>{const{__scopeTooltip:n,children:r,"aria-label":s,onEscapeKeyDown:i,onPointerDownOutside:o,...a}=e,l=Qu(lo,n),c=Yu(n),{onClose:u}=l;return p.useEffect(()=>(document.addEventListener(Uf,u),()=>document.removeEventListener(Uf,u)),[u]),p.useEffect(()=>{if(l.trigger){const d=h=>{const f=h.target;f!=null&&f.contains(l.trigger)&&u()};return window.addEventListener("scroll",d,{capture:!0}),()=>window.removeEventListener("scroll",d,{capture:!0})}},[l.trigger,u]),S.jsx(Lm,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:i,onPointerDownOutside:o,onFocusOutside:d=>d.preventDefault(),onDismiss:u,children:S.jsxs(oM,{"data-state":l.stateAttribute,...c,...a,ref:t,style:{...a.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[S.jsx(bM,{children:r}),S.jsx(pM,{scope:n,isInside:!0,children:S.jsx(VI,{id:l.contentId,role:"tooltip",children:s||r})})]})})});EC.displayName=lo;var xC="TooltipArrow",gM=p.forwardRef((e,t)=>
154{const{__scopeTooltip:n,...r}=e,s=Yu(n);return mM(xC,n).isInside?null:S.jsx(aM,{...s,...r,ref:t})});gM.displayName=xC;function yM(e,t){const n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),s=Math.abs(t.right-e.x),i=Math.abs(t.left-e.x);switch(Math.min(n,r,s,i)){case i:return"left";case s:return"right";case n:return"top";case r:return"bottom";default:throw new Error("unreachable")}}function vM(e,t,n=5){const r=[];switch(t){case"top":r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case"bottom":r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case"left":r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case"right":r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function wM(e){const{top:t,right:n,bottom:r,left:s}=e;return[{x:s,y:t},{x:n,y:t},{x:n,y:r},{x:s,y:r}]}function SM(e,t){const{x:n,y:r}=e;let s=!1;for(let i=0,o=t.length-1;i<t.length;o=i++){const a=t[i],l=t[o],c=a.x,u=a.y,d=l.x,h=l.y;u>r!=h>r&&n<(d-c)*(r-u)/(h-u)+c&&(s=!s)}return s}function PM(e){const t=e.slice();return t.sort((n,r)=>n.x<r.x?-1:n.x>r.x?1:n.y<r.y?-1:n.y>r.y?1:0),TM(t)}function TM(e){if(e.length<=1)return e.slice();const t=[];for(let r=0;r<e.length;r++){const s=e[r];for(;t.length>=2;){const i=t[t.length-1],o=t[t.length-2];if((i.x-o.x)*(s.y-o.y)>=(i.y-o.y)*(s.x-o.x))t.pop();else break}t.push(s)}t.pop();const n=[];for(let r=e.length-1;r>=0;r--){const s=e[r];for(;n.length>=2;){const i=n[n.length-1],o=n[n.length-2];if((i.x-o.x)*(s.y-o.y)>=(i.y-o.y)*(s.x-o.x))n.pop();else break}n.push(s)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var CM=PC,EM=TC,AM=CC,kC=EC;const xM=CM,Az=EM,xz=AM,kM=p.forwardRef(({className:e,sideOffset:t=4,...n},r)=>S.jsx(kC,{ref:r,sideOffset:t,className:Xr("z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...n}));kM.displayName=kC.displayName;var ul=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},$s=typeof window>"u"||"Deno"in globalThis;function mt(){}function _M(e,t){return typeof e=="function"?e(t):e}function $f(e){return typeof e=="number"&&e>=0&&e!==1/0}function _C(e,t){return Math.max(e+(t||0)-Date.now(),0)}function Vr(e,t){return typeof e=="function"?e(t):e}function Ft(e,t){return typeof e=="function"?e(t):e}function fv(e,t){const{type:n="all",exact:r,fetchStatus:s,predicate:i,queryKey:o,stale:a}=e;if(o){if(r){if(t.queryHash!==eb(o,t.options))return!1}else if(!Va(t.queryKey,o))return!1}if(n!=="all"){const l=t.isActive();if(n==="active"&&!l||n==="inactive"&&l)return!1}return!(typeof a=="boolean"&&t.isStale()!==a||s&&s!==t.state.fetchStatus||i&&!i(t))}function pv(e,t){const{exact:n,status:r,predicate:s,mutationKey:i}=e;if(i){if(!t.options.mutationKey)return!1;if(n){if(Ua(t.options.mutationKey)!==Ua(i))return!1}else if(!Va(t.options.mutationKey,i))return!1}return!(r&&t.state.status!==r||s&&!s(t))}function eb(e,t){return((t==null?void 0:t.queryKeyHashFn)||Ua)(e)}function Ua(e){return JSON.stringify(e,(t,n)=>zf(n)?Object.keys(n).sort().reduce((r,s)=>(r[s]=n[s],r),{}):n)}function Va(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(t).every(n=>Va(e[n],t[n])):!1}function RC(e,t){if(e===t)return e;const n=mv(e)&&mv(t);if(n||zf(e)&&zf(t)){const r=n?e:Object.keys(e),s=r.length,i=n?t:Object.keys(t),o=i.length,a=n?[]:{},l=new Set(r);let c=0;for(let u=0;u<o;u++){const d=n?u:i[u];(!n&&l.has(d)||n)&&e[d]===void 0&&t[d]===void 0?(a[d]=void 0,c++):(a[d]=RC(e[d],t[d]),a[d]===e[d]&&e[d]!==void 0&&c++)}return s===o&&c===s?e:a}return t}function Wf(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(e[n]!==t[n])return!1;return!0}function mv(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function zf(e){if(!bv(e))return!1;const t=e.constructor;if(t===void 0)return!0;const n=t.prototype;return!(!bv(n)||!n.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(e)!==Object.prototype)}function bv(e){return Object.prototype.toString.call(e)==="[object Object]"}function RM(e){return new Promise(t=>{setTimeout(t,e)})}function qf(e,t,n){return typeof n.structuralSharing=="function"?n.structuralSharing(e,t):n.structuralSharing!==!1?RC(e,t):t}function DM(e,t,n=0){const r=[...e,t];return n&&r.length>n?r.slice(1):r}function NM(e,t,n=0){const r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var tb=Symbol();function DC(e,t){return!e.queryFn&&(t!=null&&t.initialPromise)?()=>t.initialPromise:!e.queryFn||e.queryFn===tb?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function IM(e,t){return typeof e=="function"?e(...t):!!e}var Ts,Sr,Vi,sS,OM=(sS=class extends ul{constructor(){super();Y(this,Ts);Y(this,Sr);Y(this,Vi);V(this,Vi,t=>{if(!$s&&window.addEventListener){const n=()=>t();return window.addEventListener("visibilitychange",n,!1),()=>{window.removeEventListener("visibilitychange",n)}}})}onSubscribe(){E(this,Sr)||this.setEventListener(E(this,Vi))}onUnsubscribe(){var t;this.hasListeners()||((t=E(this,Sr))==null||t.call(this),V(this,Sr,void 0))}setEventListener(t){var n;V(this,Vi,t),(n=E(this,Sr))==null||n.call(this),V(this,Sr,t(r=>{typeof r=="boolean"?this.setFocused(r):this.onFocus()}))}setFocused(t){E(this,Ts)!==t&&(V(this,Ts,t),this.onFocus())}onFocus(){const t=this.isFocused();
vendor: 4,900 bytes, line 154
154this.listeners.forEach(n=>{n(t)})}isFocused(){var t;return typeof E(this,Ts)=="boolean"?E(this,Ts):((t=globalThis.document)==null?void 0:t.visibilityState)!=="hidden"}},Ts=new WeakMap,Sr=new WeakMap,Vi=new WeakMap,sS),nb=new OM,$i,Pr,Wi,iS,LM=(iS=class extends ul{constructor(){super();Y(this,$i,!0);Y(this,Pr);Y(this,Wi);V(this,Wi,t=>{if(!$s&&window.addEventListener){const n=()=>t(!0),r=()=>t(!1);return window.addEventListener("online",n,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",n),window.removeEventListener("offline",r)}}})}onSubscribe(){E(this,Pr)||this.setEventListener(E(this,Wi))}onUnsubscribe(){var t;this.hasListeners()||((t=E(this,Pr))==null||t.call(this),V(this,Pr,void 0))}setEventListener(t){var n;V(this,Wi,t),(n=E(this,Pr))==null||n.call(this),V(this,Pr,t(this.setOnline.bind(this)))}setOnline(t){E(this,$i)!==t&&(V(this,$i,t),this.listeners.forEach(r=>{r(t)}))}isOnline(){return E(this,$i)}},$i=new WeakMap,Pr=new WeakMap,Wi=new WeakMap,iS),lu=new LM;function Hf(){let e,t;const n=new Promise((s,i)=>{e=s,t=i});n.status="pending",n.catch(()=>{});function r(s){Object.assign(n,s),delete n.resolve,delete n.reject}return n.resolve=s=>{r({status:"fulfilled",value:s}),e(s)},n.reject=s=>{r({status:"rejected",reason:s}),t(s)},n}function MM(e){return Math.min(1e3*2**e,3e4)}function NC(e){return(e??"online")==="online"?lu.isOnline():!0}var IC=class extends Error{constructor(e){super("CancelledError"),this.revert=e==null?void 0:e.revert,this.silent=e==null?void 0:e.silent}};function Xd(e){return e instanceof IC}function OC(e){let t=!1,n=0,r=!1,s;const i=Hf(),o=b=>{var w;r||(h(new IC(b)),(w=e.abort)==null||w.call(e))},a=()=>{t=!0},l=()=>{t=!1},c=()=>nb.isFocused()&&(e.networkMode==="always"||lu.isOnline())&&e.canRun(),u=()=>NC(e.networkMode)&&e.canRun(),d=b=>{var w;r||(r=!0,(w=e.onSuccess)==null||w.call(e,b),s==null||s(),i.resolve(b))},h=b=>{var w;r||(r=!0,(w=e.onError)==null||w.call(e,b),s==null||s(),i.reject(b))},f=()=>new Promise(b=>{var w;s=y=>{(r||c())&&b(y)},(w=e.onPause)==null||w.call(e)}).then(()=>{var b;s=void 0,r||(b=e.onContinue)==null||b.call(e)}),m=()=>{if(r)return;let b;const w=n===0?e.initialPromise:void 0;try{b=w??e.fn()}catch(y){b=Promise.reject(y)}Promise.resolve(b).then(d).catch(y=>{var C;if(r)return;const g=e.retry??($s?0:3),v=e.retryDelay??MM,P=typeof v=="function"?v(n,y):v,T=g===!0||typeof g=="number"&&n<g||typeof g=="function"&&g(n,y);if(t||!T){h(y);return}n++,(C=e.onFail)==null||C.call(e,n,y),RM(P).then(()=>c()?void 0:f()).then(()=>{t?h(y):m()})})};return{promise:i,cancel:o,continue:()=>(s==null||s(),i),cancelRetry:a,continueRetry:l,canStart:u,start:()=>(u()?m():f().then(m),i)}}var FM=e=>setTimeout(e,0);function jM(){let e=[],t=0,n=a=>{a()},r=a=>{a()},s=FM;const i=a=>{t?e.push(a):s(()=>{n(a)})},o=()=>{const a=e;e=[],a.length&&s(()=>{r(()=>{a.forEach(l=>{n(l)})})})};return{batch:a=>{let l;t++;try{l=a()}finally{t--,t||o()}return l},batchCalls:a=>(...l)=>{i(()=>{a(...l)})},schedule:i,setNotifyFunction:a=>{n=a},setBatchNotifyFunction:a=>{r=a},setScheduler:a=>{s=a}}}var Ye=jM(),Cs,oS,LC=(oS=class{constructor(){Y(this,Cs)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),$f(this.gcTime)&&V(this,Cs,setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??($s?1/0:5*60*1e3))}clearGcTimeout(){E(this,Cs)&&(clearTimeout(E(this,Cs)),V(this,Cs,void 0))}},Cs=new WeakMap,oS),zi,Es,Mt,As,tt,Qa,xs,nn,jn,aS,BM=(aS=class extends LC{constructor(t){super();Y(this,nn);Y(this,zi);Y(this,Es);Y(this,Mt);Y(this,As);Y(this,tt);Y(this,Qa);Y(this,xs);V(this,xs,!1),V(this,Qa,t.defaultOptions),this.setOptions(t.options),this.observers=[],V(this,As,t.client),V(this,Mt,E(this,As).getQueryCache()),this.queryKey=t.queryKey,this.queryHash=t.queryHash,V(this,zi,UM(this.options)),this.state=t.state??E(this,zi),this.scheduleGc()}get meta(){return this.options.meta}get promise(){var t;return(t=E(this,tt))==null?void 0:t.promise}setOptions(t){this.options={...E(this,Qa),...t},this.updateGcTime(this.options.gcTime)}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&E(this,Mt).remove(this)}setData(t,n){const r=qf(this.state.data,t,this.options);return ie(this,nn,jn).call(this,{data:r,type:"success",dataUpdatedAt:n==null?void 0:n.updatedAt,manual:n==null?void 0:n.manual}),r}setState(t,n){ie(this,nn,jn).call(this,{type:"setState",state:t,setStateOptions:n})}cancel(t){var r,s;const n=(r=E(this,tt))==null?void 0:r.promise;return(s=E(this,tt))==null||s.cancel(t),n?n.then(mt).catch(mt):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(E(this,zi))}isActive(){return this.observers.some(t=>Ft(t.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===tb||this.state.dataUpdateCount+this.state.errorUpdate
vendor: 1,274 bytes, line 154
154Count===0}isStatic(){return this.getObserversCount()>0?this.observers.some(t=>Vr(t.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(t=>t.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(t=0){return this.state.data===void 0?!0:t==="static"?!1:this.state.isInvalidated?!0:!_C(this.state.dataUpdatedAt,t)}onFocus(){var n;const t=this.observers.find(r=>r.shouldFetchOnWindowFocus());t==null||t.refetch({cancelRefetch:!1}),(n=E(this,tt))==null||n.continue()}onOnline(){var n;const t=this.observers.find(r=>r.shouldFetchOnReconnect());t==null||t.refetch({cancelRefetch:!1}),(n=E(this,tt))==null||n.continue()}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),E(this,Mt).notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){this.observers.includes(t)&&(this.observers=this.observers.filter(n=>n!==t),this.observers.length||(E(this,tt)&&(E(this,xs)?E(this,tt).cancel({revert:!0}):E(this,tt).cancelRetry()),this.scheduleGc()),E(this,Mt).notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||ie(this,nn,jn).call(this,{type:"invalidate"})}
vendor: 4,421 bytes, line 154
154fetch(t,n){var c,u,d;if(this.state.fetchStatus!=="idle"){if(this.state.data!==void 0&&(n!=null&&n.cancelRefetch))this.cancel({silent:!0});else if(E(this,tt))return E(this,tt).continueRetry(),E(this,tt).promise}if(t&&this.setOptions(t),!this.options.queryFn){const h=this.observers.find(f=>f.options.queryFn);h&&this.setOptions(h.options)}const r=new AbortController,s=h=>{Object.defineProperty(h,"signal",{enumerable:!0,get:()=>(V(this,xs,!0),r.signal)})},i=()=>{const h=DC(this.options,n),m=(()=>{const b={client:E(this,As),queryKey:this.queryKey,meta:this.meta};return s(b),b})();return V(this,xs,!1),this.options.persister?this.options.persister(h,m,this):h(m)},a=(()=>{const h={fetchOptions:n,options:this.options,queryKey:this.queryKey,client:E(this,As),state:this.state,fetchFn:i};return s(h),h})();(c=this.options.behavior)==null||c.onFetch(a,this),V(this,Es,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((u=a.fetchOptions)==null?void 0:u.meta))&&ie(this,nn,jn).call(this,{type:"fetch",meta:(d=a.fetchOptions)==null?void 0:d.meta});const l=h=>{var f,m,b,w;Xd(h)&&h.silent||ie(this,nn,jn).call(this,{type:"error",error:h}),Xd(h)||((m=(f=E(this,Mt).config).onError)==null||m.call(f,h,this),(w=(b=E(this,Mt).config).onSettled)==null||w.call(b,this.state.data,h,this)),this.scheduleGc()};return V(this,tt,OC({initialPromise:n==null?void 0:n.initialPromise,fn:a.fetchFn,abort:r.abort.bind(r),onSuccess:h=>{var f,m,b,w;if(h===void 0){l(new Error(`${this.queryHash} data is undefined`));return}try{this.setData(h)}catch(y){l(y);return}(m=(f=E(this,Mt).config).onSuccess)==null||m.call(f,h,this),(w=(b=E(this,Mt).config).onSettled)==null||w.call(b,h,this.state.error,this),this.scheduleGc()},onError:l,onFail:(h,f)=>{ie(this,nn,jn).call(this,{type:"failed",failureCount:h,error:f})},onPause:()=>{ie(this,nn,jn).call(this,{type:"pause"})},onContinue:()=>{ie(this,nn,jn).call(this,{type:"continue"})},retry:a.options.retry,retryDelay:a.options.retryDelay,networkMode:a.options.networkMode,canRun:()=>!0})),E(this,tt).start()}},zi=new WeakMap,Es=new WeakMap,Mt=new WeakMap,As=new WeakMap,tt=new WeakMap,Qa=new WeakMap,xs=new WeakMap,nn=new WeakSet,jn=function(t){const n=r=>{switch(t.type){case"failed":return{...r,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,...MC(r.data,this.options),fetchMeta:t.meta??null};case"success":return V(this,Es,void 0),{...r,data:t.data,dataUpdateCount:r.dataUpdateCount+1,dataUpdatedAt:t.dataUpdatedAt??Date.now(),error:null,isInvalidated:!1,status:"success",...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};case"error":const s=t.error;return Xd(s)&&s.revert&&E(this,Es)?{...E(this,Es),fetchStatus:"idle"}:{...r,error:s,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchFailureReason:s,fetchStatus:"idle",status:"error"};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...t.state}}};this.state=n(this.state),Ye.batch(()=>{this.observers.forEach(r=>{r.onQueryUpdate()}),E(this,Mt).notify({query:this,type:"updated",action:t})})},aS);function MC(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:NC(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function UM(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,n=t!==void 0,r=n?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?"success":"pending",fetchStatus:"idle"}}var Sn,lS,VM=(lS=class extends ul{constructor(t={}){super();Y(this,Sn);this.config=t,V(this,Sn,new Map)}build(t,n,r){const s=n.queryKey,i=n.queryHash??eb(s,n);let o=this.get(i);return o||(o=new BM({client:t,queryKey:s,queryHash:i,options:t.defaultQueryOptions(n),state:r,defaultOptions:t.getQueryDefaults(s)}),this.add(o)),o}add(t){E(this,Sn).has(t.queryHash)||(E(this,Sn).set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){const n=E(this,Sn).get(t.queryHash);n&&(t.destroy(),n===t&&E(this,Sn).delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){Ye.batch(()=>
154{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return E(this,Sn).get(t)}getAll(){return[...E(this,Sn).values()]}find(t){const n={exact:!0,...t};return this.getAll().find(r=>fv(n,r))}findAll(t={}){const n=this.getAll();return Object.keys(t).length>0?n.filter(r=>fv(t,r)):n}notify(t){Ye.batch(()=>{this.listeners.forEach(n=>{n(t)})})}onFocus(){Ye.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){Ye.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},Sn=new WeakMap,lS),Pn,it,ks,Tn,hr,cS,$M=(cS=class extends LC{constructor(t){super();Y(this,Tn);Y(this,Pn);Y(this,it);Y(this,ks);this.mutationId=t.mutationId,V(this,it,t.mutationCache),V(this,Pn,[]),this.state=t.state||WM(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options=t,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){E(this,Pn).includes(t)||(E(this,Pn).push(t),this.clearGcTimeout(),E(this,it).notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){V(this,Pn,E(this,Pn).filter(n=>n!==t)),this.scheduleGc(),E(this,it).notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){E(this,Pn).length||(this.state.status==="pending"?this.scheduleGc():E(this,it).remove(this))}continue(){var t;return((t=E(this,ks))==null?void 0:t.continue())??this.execute(this.state.variables)}async execute(t){var i,o,a,l,c,u,d,h,f,m,b,w,y,g,v,P,T,C,A,x;const n=()=>{ie(this,Tn,hr).call(this,{type:"continue"})};V(this,ks,OC({fn:()=>this.options.mutationFn?this.options.mutationFn(t):Promise.reject(new Error("No mutationFn found")),onFail:(k,R)=>{ie(this,Tn,hr).call(this,{type:"failed",failureCount:k,error:R})},onPause:()=>{ie(this,Tn,hr).call(this,{type:"pause"})},onContinue:n,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>E(this,it).canRun(this)}));const r=this.state.status==="pending",s=!E(this,ks).canStart();try{if(r)n();else{ie(this,Tn,hr).call(this,{type:"pending",variables:t,isPaused:s}),await((o=(i=E(this,it).config).onMutate)==null?void 0:o.call(i,t,this));const R=await((l=(a=this.options).onMutate)==null?void 0:l.call(a,t));R!==this.state.context&&ie(this,Tn,hr).call(this,{type:"pending",context:R,variables:t,isPaused:s})}const k=await E(this,ks).start();return await((u=(c=E(this,it).config).onSuccess)==null?void 0:u.call(c,k,t,this.state.context,this)),await((h=(d=this.options).onSuccess)==null?void 0:h.call(d,k,t,this.state.context)),await((m=(f=E(this,it).config).onSettled)==null?void 0:m.call(f,k,null,this.state.variables,this.state.context,this)),await((w=(b=this.options).onSettled)==null?void 0:w.call(b,k,null,t,this.state.context)),ie(this,Tn,hr).call(this,{type:"success",data:k}),k}catch(k){try{throw await((g=(y=E(this,it).config).onError)==null?void 0:g.call(y,k,t,this.state.context,this)),await((P=(v=this.options).onError)==null?void 0:P.call(v,k,t,this.state.context)),await((C=(T=E(this,it).config).onSettled)==null?void 0:C.call(T,void 0,k,this.state.variables,this.state.context,this)),await((x=(A=this.options).onSettled)==null?void 0:x.call(A,void 0,k,t,this.state.context)),k}finally{ie(this,Tn,hr).call(this,{type:"error",error:k})}}finally{E(this,it).runNext(this)}}},Pn=new WeakMap,it=new WeakMap,ks=new WeakMap,Tn=new WeakSet,hr=function(t){const n=r=>{switch(t.type){case"failed":return{...r,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};case"pending":return{...r,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:t.isPaused,status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...r,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:t.error,failureCount:r.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}};this.state=n(this.state),Ye.batch(()=>{E(this,Pn).forEach(r=>{r.onMutationUpdate(t)}),E(this,it).notify({mutation:this,type:"updated",action:t})})},cS);function WM(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var $n,rn,Ja,uS,zM=(uS=class extends ul{constructor(t={}){super();Y(this,$n);Y(this,rn);Y(this,Ja);this.config=t,V(this,$n,new Set),V(this,rn,new Map),V(this,Ja,0)}build(t,n,r){const s=new $M({mutationCache:this,mutationId:++vl(this,Ja)._,options:t.defaultMutationOptions(n),state:r});return this.add(s),s}add(t){E(this,$n).add(t);const n=Yl(t);if(typeof n=="string"){const r=E(this,rn).get(n);r?r.push(t):E(this,rn).set(n,[t])}this.notify({type:"added",mutation:t})}remove(t){if(E(this,$n).delete(t)){const n=Yl(t);if(typeof n=="string"){const r=E(this,rn).get(n);if(r)if(r.length>1){const s=r.indexOf(t);s!==-1&&r.splice(s,1)}else r[0]===t&&E(this,rn).delete(n)}}this.notify({type:"removed",mutation:t})}canRun(t){const n=Yl(t);if(typeof n=="string"){const r=E(this,rn).get(n),s=r==null?void 0:r.find(i=>i.state.status==="pending");return!s||s===t}else return!0}runNext(t){var r;const n=Yl(t);if(typeof n=="string"){const s=(r=E(this,rn).get(n))==null?void 0:r.find(i=>
154i!==t&&i.state.isPaused);return(s==null?void 0:s.continue())??Promise.resolve()}else return Promise.resolve()}clear(){Ye.batch(()=>{E(this,$n).forEach(t=>{this.notify({type:"removed",mutation:t})}),E(this,$n).clear(),E(this,rn).clear()})}getAll(){return Array.from(E(this,$n))}find(t){const n={exact:!0,...t};return this.getAll().find(r=>pv(n,r))}findAll(t={}){return this.getAll().filter(n=>pv(t,n))}notify(t){Ye.batch(()=>{this.listeners.forEach(n=>{n(t)})})}resumePausedMutations(){const t=this.getAll().filter(n=>n.state.isPaused);return Ye.batch(()=>Promise.all(t.map(n=>n.continue().catch(mt))))}},$n=new WeakMap,rn=new WeakMap,Ja=new WeakMap,uS);function Yl(e){var t;return(t=e.options.scope)==null?void 0:t.id}function gv(e){return{onFetch:(t,n)=>{var u,d,h,f,m;const r=t.options,s=(h=(d=(u=t.fetchOptions)==null?void 0:u.meta)==null?void 0:d.fetchMore)==null?void 0:h.direction,i=((f=t.state.data)==null?void 0:f.pages)||[],o=((m=t.state.data)==null?void 0:m.pageParams)||[];let a={pages:[],pageParams:[]},l=0;const c=async()=>{let b=!1;const w=v=>{Object.defineProperty(v,"signal",{enumerable:!0,get:()=>(t.signal.aborted?b=!0:t.signal.addEventListener("abort",()=>{b=!0}),t.signal)})},y=DC(t.options,t.fetchOptions),g=async(v,P,T)=>{if(b)return Promise.reject();if(P==null&&v.pages.length)return Promise.resolve(v);const A=(()=>{const F={client:t.client,queryKey:t.queryKey,pageParam:P,direction:T?"backward":"forward",meta:t.options.meta};return w(F),F})(),x=await y(A),{maxPages:k}=t.options,R=T?NM:DM;return{pages:R(v.pages,x,k),pageParams:R(v.pageParams,P,k)}};if(s&&i.length){const v=s==="backward",P=v?qM:yv,T={pages:i,pageParams:o},C=P(r,T);a=await g(T,C,v)}else{const v=e??i.length;do{const P=l===0?o[0]??r.initialPageParam:yv(r,a);if(l>0&&P==null)break;a=await g(a,P),l++}while(l<v)}return a};t.options.persister?t.fetchFn=()=>{var b,w;return(w=(b=t.options).persister)==null?void 0:w.call(b,c,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n)}:t.fetchFn=c}}}function yv(e,{pages:t,pageParams:n}){const r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function qM(e,{pages:t,pageParams:n}){var r;return t.length>0?(r=e.getPreviousPageParam)==null?void 0:r.call(e,t[0],t,n[0],n):void 0}var Ee,Tr,Cr,qi,Hi,Er,Gi,Ki,dS,HM=(dS=class{constructor(e={}){Y(this,Ee);Y(this,Tr);Y(this,Cr);Y(this,qi);Y(this,Hi);Y(this,Er);Y(this,Gi);Y(this,Ki);V(this,Ee,e.queryCache||new VM),V(this,Tr,e.mutationCache||new zM),V(this,Cr,e.defaultOptions||{}),V(this,qi,new Map),V(this,Hi,new Map),V(this,Er,0)}mount(){vl(this,Er)._++,E(this,Er)===1&&(V(this,Gi,nb.subscribe(async e=>{e&&(await this.resumePausedMutations(),E(this,Ee).onFocus())})),V(this,Ki,lu.subscribe(async e=>{e&&(await this.resumePausedMutations(),E(this,Ee).onOnline())})))}unmount(){var e,t;vl(this,Er)._--,E(this,Er)===0&&((e=E(this,Gi))==null||e.call(this),V(this,Gi,void 0),(t=E(this,Ki))==null||t.call(this),V(this,Ki,void 0))}isFetching(e){return E(this,Ee).findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return E(this,Tr).findAll({...e,status:"pending"}).length}getQueryData(e){var n;const t=this.defaultQueryOptions({queryKey:e});return(n=E(this,Ee).get(t.queryHash))==null?void 0:n.state.data}ensureQueryData(e){const t=this.defaultQueryOptions(e),n=E(this,Ee).build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(Vr(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return E(this,Ee).findAll(e).map(({queryKey:t,state:n})=>{const r=n.data;return[t,r]})}setQueryData(e,t,n){const r=this.defaultQueryOptions({queryKey:e}),s=E(this,Ee).get(r.queryHash),i=s==null?void 0:s.state.data,o=_M(t,i);if(o!==void 0)return E(this,Ee).build(this,r).setData(o,{...n,manual:!0})}setQueriesData(e,t,n){return Ye.batch(()=>E(this,Ee).findAll(e).map(({queryKey:r})=>[r,this.setQueryData(r,t,n)]))}getQueryState(e){var n;const t=this.defaultQueryOptions({queryKey:e});return(n=E(this,Ee).get(t.queryHash))==null?void 0:n.state}removeQueries(e){const t=E(this,Ee);Ye.batch(()=>{t.findAll(e).forEach(n=>{t.remove(n)})})}resetQueries(e,t){const n=E(this,Ee);return Ye.batch(()=>(n.findAll(e).forEach(r=>{r.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){const n={revert:!0,...t},r=Ye.batch(()=>E(this,Ee).findAll(e).map(s=>s.cancel(n)));return Promise.all(r).then(mt).catch(mt)}invalidateQueries(e,t={}){return Ye.batch(()=>(E(this,Ee).findAll(e).forEach(n=>
vendor: 10,756 bytes, line 154
154{n.invalidate()}),(e==null?void 0:e.refetchType)==="none"?Promise.resolve():this.refetchQueries({...e,type:(e==null?void 0:e.refetchType)??(e==null?void 0:e.type)??"active"},t)))}refetchQueries(e,t={}){const n={...t,cancelRefetch:t.cancelRefetch??!0},r=Ye.batch(()=>E(this,Ee).findAll(e).filter(s=>!s.isDisabled()&&!s.isStatic()).map(s=>{let i=s.fetch(void 0,n);return n.throwOnError||(i=i.catch(mt)),s.state.fetchStatus==="paused"?Promise.resolve():i}));return Promise.all(r).then(mt)}fetchQuery(e){const t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);const n=E(this,Ee).build(this,t);return n.isStaleByTime(Vr(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(mt).catch(mt)}fetchInfiniteQuery(e){return e.behavior=gv(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(mt).catch(mt)}ensureInfiniteQueryData(e){return e.behavior=gv(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return lu.isOnline()?E(this,Tr).resumePausedMutations():Promise.resolve()}getQueryCache(){return E(this,Ee)}getMutationCache(){return E(this,Tr)}getDefaultOptions(){return E(this,Cr)}setDefaultOptions(e){V(this,Cr,e)}setQueryDefaults(e,t){E(this,qi).set(Ua(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...E(this,qi).values()],n={};return t.forEach(r=>{Va(e,r.queryKey)&&Object.assign(n,r.defaultOptions)}),n}setMutationDefaults(e,t){E(this,Hi).set(Ua(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...E(this,Hi).values()],n={};return t.forEach(r=>{Va(e,r.mutationKey)&&Object.assign(n,r.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;const t={...E(this,Cr).queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=eb(t.queryKey,t)),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!=="always"),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===tb&&(t.enabled=!1),t}defaultMutationOptions(e){return e!=null&&e._defaulted?e:{...E(this,Cr).mutations,...(e==null?void 0:e.mutationKey)&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){E(this,Ee).clear(),E(this,Tr).clear()}},Ee=new WeakMap,Tr=new WeakMap,Cr=new WeakMap,qi=new WeakMap,Hi=new WeakMap,Er=new WeakMap,Gi=new WeakMap,Ki=new WeakMap,dS),ft,oe,Xa,ot,_s,Yi,Ar,xr,Za,Qi,Ji,Rs,Ds,kr,Xi,ce,Go,Gf,Kf,Yf,Qf,Jf,Xf,Zf,FC,hS,GM=(hS=class extends ul{constructor(t,n){super();Y(this,ce);Y(this,ft);Y(this,oe);Y(this,Xa);Y(this,ot);Y(this,_s);Y(this,Yi);Y(this,Ar);Y(this,xr);Y(this,Za);Y(this,Qi);Y(this,Ji);Y(this,Rs);Y(this,Ds);Y(this,kr);Y(this,Xi,new Set);this.options=n,V(this,ft,t),V(this,xr,null),V(this,Ar,Hf()),this.options.experimental_prefetchInRender||E(this,Ar).reject(new Error("experimental_prefetchInRender feature flag is not enabled")),this.bindMethods(),this.setOptions(n)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(E(this,oe).addObserver(this),vv(E(this,oe),this.options)?ie(this,ce,Go).call(this):this.updateResult(),ie(this,ce,Qf).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return ep(E(this,oe),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return ep(E(this,oe),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,ie(this,ce,Jf).call(this),ie(this,ce,Xf).call(this),E(this,oe).removeObserver(this)}setOptions(t){const n=this.options,r=E(this,oe);if(this.options=E(this,ft).defaultQueryOptions(t),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof Ft(this.options.enabled,E(this,oe))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");ie(this,ce,Zf).call(this),E(this,oe).setOptions(this.options),n._defaulted&&!Wf(this.options,n)&&E(this,ft).getQueryCache().notify({type:"observerOptionsUpdated",query:E(this,oe),observer:this});const s=this.hasListeners();s&&wv(E(this,oe),r,this.options,n)&&ie(this,ce,Go).call(this),this.updateResult(),s&&(E(this,oe)!==r||Ft(this.options.enabled,E(this,oe))!==Ft(n.enabled,E(this,oe))||Vr(this.options.staleTime,E(this,oe))!==Vr(n.staleTime,E(this,oe)))&&ie(this,ce,Gf).call(this);const i=ie(this,ce,Kf).call(this);s&&(E(this,oe)!==r||Ft(this.options.enabled,E(this,oe))!==Ft(n.enabled,E(this,oe))||i!==E(this,kr))&&ie(this,ce,Yf).call(this,i)}getOptimisticResult(t){const n=E(this,ft).getQueryCache().build(E(this,ft),t),r=this.createResult(n,t);return YM(this,r)&&(V(this,ot,r),V(this,Yi,this.options),V(this,_s,E(this,oe).state)),r}getCurrentResult(){return E(this,ot)}trackResult(t,n){return new Proxy(t,{get:(r,s)=>(this.trackProp(s),n==null||n(s),Reflect.get(r,s))})}trackProp(t){E(this,Xi).add(t)}getCurrentQuery(){return E(this,oe)}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const n=E(this,ft).defaultQueryOptions(t),r=E(this,ft).getQueryCache().build(E(this,ft),n);return r.fetch().then(()=>this.createResult(r,n))}fetch(t){return ie(this,ce,Go).call(this,{...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),E(this,ot)))}createResult(t,n){var k;const r=E(this,oe),s=this.options,i=E(this,ot),o=E(this,_s),a=E(this,Yi),c=t!==r?t.state:E(this,Xa),{state:u}=t;let d={...u},h=!1,f;if(n._optimisticResults){const R=this.hasListeners(),F=!R&&vv(t,n),O=R&&wv(t,r,n,s);(F||O)&&(d={...d,...MC(u.data,t.options)}),n._optimisticResults==="isRestoring"&&(d.fetchStatus="idle")}let{error:m,errorUpdatedAt:b,status:w}=d;f=d.data;let y=!1;if(n.placeholderData!==void 0&&f===void 0&&w==="pending"){let R;i!=null&&i.isPlaceholderData&&n.placeholderData===(a==null?void 0:a.placeholderData)?(R=i.data,y=!0):R=typeof n.placeholderData=="function"?n.placeholderData((k=E(this,Ji))==null?void 0:k.state.data,E(this,Ji)):n.placeholderData,R!==void 0&&(w="success",f=qf(i==null?void 0:i.data,R,n),h=!0)}if(n.select&&f!==void 0&&!y)if(i&&f===(o==null?void 0:o.data)&&n.select===E(this,Za))f=E(this,Qi);else try{V(this,Za,n.select),f=n.select(f),f=qf(i==null?void 0:i.data,f,n),V(this,Qi,f),V(this,xr,null)}catch(R){V(this,xr,R)}E(this,xr)&&(m=E(this,xr),f=E(this,Qi),b=Date.now(),w="error");const g=d.fetchStatus==="fetching",v=w==="pending",P=w==="error",T=v&&g,C=f!==void 0,x={status:w,fetchStatus:d.fetchStatus,isPending:v,isSuccess:w==="success",isError:P,isInitialLoading:T,isLoading:T,data:f,dataUpdatedAt:d.dataUpdatedAt,error:m,errorUpdatedAt:b,failureCount:d.fetchFailureCount,failureReason:d.fetchFailureReason,errorUpdateCount:d.errorUpdateCount,isFetched:d.dataUpdateCount>0||d.errorUpdateCount>0,isFetchedAfterMount:d.dataUpdateCount>c.dataUpdateCount||d.errorUpdateCount>c.errorUpdateCount,isFetching:g,isRefetching:g&&!v,isLoadingError:P&&!C,isPaused:d.fetchStatus==="paused",isPlaceholderData:h,isRefetchError:P&&C,isStale:rb(t,n),refetch:this.refetch,promise:E(this,Ar),isEnabled:Ft(n.enabled,t)!==!1};if(this.options.experimental_prefetchInRender){const R=q=>{x.status==="error"?q.reject(x.error):x.data!==void 0&&q.resolve(x.data)},F=()=>{const q=V(this,Ar,x.promise=Hf());R(q)},O=E(this,Ar);switch(O.status){case"pending":t.queryHash===r.queryHash&&R(O);break;case"fulfilled":(x.status==="error"||x.data!==O.value)&&F();break;case"rejected":(x.status!=="error"||x.error!==O.reason)&&F();break}}return x}updateResult(){const t=E(this,ot),n=this.createResult(E(this,oe),this.options);if(V(this,_s,E(this,oe).state),V(this,Yi,this.options),E(this,_s).data!==void 0&&V(this,Ji,E(this,oe)),Wf(n,t))return;V(this,ot,n);const r=()=>{if(!t)return!0;const{notifyOnChangeProps:s}=this.options,i=typeof s=="function"?s():s;if(i==="all"||!i&&!E(this,Xi).size)return!0;const o=new Set(i??E(this,Xi));return this.options.throwOnError&&o.add("error"),Object.keys(E(this,ot)).some(a=>{const l=a;return E(this,ot)[l]!==t[l]&&o.has(l)})};ie(this,ce,FC).call(this,{listeners:r()})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&ie(this,ce,Qf).call(this)}},ft=new WeakMap,oe=new WeakMap,Xa=new WeakMap,ot=new WeakMap,_s=new WeakMap,Yi=new WeakMap,Ar=new WeakMap,xr=new WeakMap,Za=new WeakMap,Qi=new WeakMap,Ji=new WeakMap,Rs=new WeakMap,Ds=new WeakMap,kr=new WeakMap,Xi=new WeakMap,ce=new WeakSet,Go=function(t){ie(this,ce,Zf).call(this);let n=E(this,oe).fetch(this.options,t);return t!=null&&t.throwOnError||(n=n.catch(mt)),n},Gf=function(){ie(this,ce,Jf).call(this);const t=Vr(this.options.staleTime,E(this,oe));if($s||E(this,ot).isStale||!$f(t))return;const r=_C(E(this,ot).dataUpdatedAt,t)+1;V(this,Rs,setTimeout(()=>{E(this,ot).isStale||this.updateResult()},r))},Kf=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(E(this,oe)):this.options.refetchInterval)??!1},Yf=function(t){ie(this,ce,Xf).call(this),V(this,kr,t),!($s||Ft(this.options.enabled,E(this,oe))===!1||!$f(E(this,kr))||E(this,kr)===0)&&V(this,Ds,setInterval(()=>{(this.options.refetchIntervalInBackground||nb.isFocused())&&ie(this,ce,Go).call(this)},E(this,kr)))},Qf=function(){ie(this,ce,Gf).call(this),ie(this,ce,Yf).call(this,ie(this,ce,Kf).call(this))},Jf=function(){E(this,Rs)&&(clearTimeout(E(this,Rs)),V(this,Rs,void 0))},Xf=function(){E(this,Ds)&&(clearInterval(E(this,Ds)),V(this,Ds,void 0))},Zf=function(){const t=E(this,ft).getQueryCache().build(E(this,ft),this.options);if(t===E(this,oe))return;const n=E(this,oe);V(this,oe,t),V(this,Xa,t.state),this.hasListeners()&&(n==null||n.removeObserver(this),t.addObserver(this))},FC=function(t){Ye.batch(()=>{t.listeners&&this.listeners.forEach(n=>{n(E(this,ot))}),E(this,ft).getQueryCache().notify({query:E(this,oe),type:"observerResultsUpdated"})})},hS);function KM(e,t){return Ft(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&t.retryOnMount===!1)}function vv(e,t){return KM(e,t)||e.state.data!==void 0&&ep(e,t,t.refetchOnMount)}function ep(e,t,n){if(Ft(t.enabled,e)!==!1&&Vr(t.staleTime,e)!=="static"){const r=typeof n=="function"?n(e):n;return r==="always"||r!==!1&&rb(e,t)}return!1}function wv(e,t,n,r){return(e!==t||Ft(r.enabled,e)===!1)&&(!n.suspense||e.state.status!=="error")&&rb(e,n)}function rb(e,t){return Ft(t.enabled,e)!==!1&&e.isStaleByTime(Vr(t.staleTime,e))}function YM(e,t){return!Wf(e.getCurrentResult(),t)}var jC=p.createContext(void 0),QM=e=>{const t=p.useContext(jC);if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},JM=({client:e,children:t})=>(p.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),S.jsx(jC.Provider,{value:e,children:t})),BC=p.createContext(!1),XM=()=>p.useContext(BC);BC.Provider;function ZM(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}
154var eF=p.createContext(ZM()),tF=()=>p.useContext(eF),nF=(e,t)=>{(e.suspense||e.throwOnError||e.experimental_prefetchInRender)&&(t.isReset()||(e.retryOnMount=!1))},rF=e=>{p.useEffect(()=>{e.clearReset()},[e])},sF=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:s})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(s&&e.data===void 0||IM(n,[e.error,r])),iF=e=>{if(e.suspense){const t=r=>r==="static"?r:Math.max(r??1e3,1e3),n=e.staleTime;e.staleTime=typeof n=="function"?(...r)=>t(n(...r)):t(n),typeof e.gcTime=="number"&&(e.gcTime=Math.max(e.gcTime,1e3))}},oF=(e,t)=>e.isLoading&&e.isFetching&&!t,aF=(e,t)=>(e==null?void 0:e.suspense)&&t.isPending,Sv=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function lF(e,t,n){var d,h,f,m,b;const r=XM(),s=tF(),i=QM(),o=i.defaultQueryOptions(e);(h=(d=i.getDefaultOptions().queries)==null?void 0:d._experimental_beforeQuery)==null||h.call(d,o),o._optimisticResults=r?"isRestoring":"optimistic",iF(o),nF(o,s),rF(s);const a=!i.getQueryCache().get(o.queryHash),[l]=p.useState(()=>new t(i,o)),c=l.getOptimisticResult(o),u=!r&&e.subscribed!==!1;if(p.useSyncExternalStore(p.useCallback(w=>{const y=u?l.subscribe(Ye.batchCalls(w)):mt;return l.updateResult(),y},[l,u]),()=>l.getCurrentResult(),()=>l.getCurrentResult()),p.useEffect(()=>{l.setOptions(o)},[o,l]),aF(o,c))throw Sv(o,l,s);if(sF({result:c,errorResetBoundary:s,throwOnError:o.throwOnError,query:i.getQueryCache().get(o.queryHash),suspense:o.suspense}))throw c.error;if((m=(f=i.getDefaultOptions().queries)==null?void 0:f._experimental_afterQuery)==null||m.call(f,o,c),o.experimental_prefetchInRender&&!$s&&oF(c,r)){const w=a?Sv(o,l,s):(b=i.getQueryCache().get(o.queryHash))==null?void 0:b.promise;w==null||w.catch(mt).finally(()=>{l.updateResult()})}return o.notifyOnChangeProps?c:l.trackResult(c)}function sb(e,t){return lF(e,GM)}/**
155 * @remix-run/router v1.23.0
156 *
157 * Copyright (c) Remix Software Inc.
158 *
159 * This source code is licensed under the MIT license found in the
160 * LICENSE.md file in the root directory of this source tree.
161 *
162 * @license MIT
163 */function $a(){return $a=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},$a.apply(this,arguments)}var Dr;(function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"})(Dr||(Dr={}));const Pv="popstate";function cF(e){e===void 0&&(e={});function t(r,s){let{pathname:i,search:o,hash:a}=r.location;return tp("",{pathname:i,search:o,hash:a},s.state&&s.state.usr||null,s.state&&s.state.key||"default")}function n(r,s){return typeof s=="string"?s:cu(s)}return dF(t,n,null,e)}function Re(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function UC(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function uF(){return Math.random().toString(36).substr(2,8)}function Tv(e,t){return{usr:e.state,key:e.key,idx:t}}function tp(e,t,n,r){return n===void 0&&(n=null),$a({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?yo(t):t,{state:n,key:t&&t.key||r||uF()})}function cu(e){let{pathname:t="/",search:n="",hash:r=""}=e;return n&&n!=="?"&&(t+=n.charAt(0)==="?"?n:"?"+n),r&&r!=="#"&&(t+=r.charAt(0)==="#"?r:"#"+r),t}function yo(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substr(n),e=e.substr(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}function dF(e,t,n,r){r===void 0&&(r={});let{window:s=document.defaultView,v5Compat:i=!1}=r,o=s.history,a=Dr.Pop,l=null,c=u();c==null&&(c=0,o.replaceState($a({},o.state,{idx:c}),""));function u(){return(o.state||{idx:null}).idx}function d(){a=Dr.Pop;let w=u(),y=w==null?null:w-c;c=w,l&&l({action:a,location:b.location,delta:y})}function h(w,y){a=Dr.Push;let g=tp(b.location,w,y);c=u()+1;let v=Tv(g,c),P=b.createHref(g);try{o.pushState(v,"",P)}catch(T){if(T instanceof DOMException&&T.name==="DataCloneError")throw T;s.location.assign(P)}i&&l&&l({action:a,location:b.location,delta:1})}function f(w,y){a=Dr.Replace;let g=tp(b.location,w,y);c=u();let v=Tv(g,c),P=b.createHref(g);o.replaceState(v,"",P),i&&l&&l({action:a,location:b.location,delta:0})}function m(w){let y=s.location.origin!=="null"?s.location.origin:s.location.href,g=typeof w=="string"?w:cu(w);return g=g.replace(/ $/,"%20"),Re(y,"No window.location.(origin|href) available to create URL for href: "+g),new URL(g,y)}let b={get action(){return a},get location(){return e(s,o)},listen(w){if(l)throw new Error("A history only accepts one active listener");return s.addEventListener(Pv,d),l=w,()=>{s.removeEventListener(Pv,d),l=null}},createHref(w){return t(s,w)},createURL:m,encodeLocation(w){let y=m(w);return{pathname:y.pathname,search:y.search,hash:y.hash}},push:h,replace:f,go(w){return o.go(w)}};return b}var Cv;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(Cv||(Cv={}));function hF(e,t,n){return n===void 0&&(n="/"),fF(e,t,n)}function fF(e,t,n,r){let s=typeof t=="string"?yo(t):t,i=ib(s.pathname||"/",n);if(i==null)return null;let o=VC(e);pF(o);let a=null;for(let l=0;a==null&&l<o.length;++l){let c=AF(i);a=TF(o[l],c)}return a}function VC(e,t,n,r){t===void 0&&(t=[]),n===void 0&&(n=[]),r===void 0&&(r="");let s=(i,o,a)=>{let l={relativePath:a===void 0?i.path||"":a,caseSensitive:i.caseSensitive===!0,childrenIndex:o,route:i};l.relativePath.startsWith("/")&&(Re(l.relativePath.startsWith(r),'Absolute route path "'+l.relativePath+'" nested under path '+('"'+r+'" is not val
163id. An absolute child route path ')+"must start with the combined path of all its parent routes."),l.relativePath=l.relativePath.slice(r.length));let c=$r([r,l.relativePath]),u=n.concat(l);i.children&&i.children.length>0&&(Re(i.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+c+'".')),VC(i.children,t,u,c)),!(i.path==null&&!i.index)&&t.push({path:c,score:SF(c,i.index),routesMeta:u})};return e.forEach((i,o)=>{var a;if(i.path===""||!((a=i.path)!=null&&a.includes("?")))s(i,o);else for(let l of $C(i.path))s(i,o,l)}),t}function $C(e){let t=e.split("/");if(t.length===0)return[];let[n,...r]=t,s=n.endsWith("?"),i=n.replace(/\?$/,"");if(r.length===0)return s?[i,""]:[i];let o=$C(r.join("/")),a=[];return a.push(...o.map(l=>l===""?i:[i,l].join("/"))),s&&a.push(...o),a.map(l=>e.startsWith("/")&&l===""?"/":l)}function pF(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:PF(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}const mF=/^:[\w-]+$/,bF=3,gF=2,yF=1,vF=10,wF=-2,Ev=e=>e==="*";function SF(e,t){let n=e.split("/"),r=n.length;return n.some(Ev)&&(r+=wF),t&&(r+=gF),n.filter(s=>!Ev(s)).reduce((s,i)=>s+(mF.test(i)?bF:i===""?yF:vF),r)}function PF(e,t){return e.length===t.length&&e.slice(0,-1).every((r,s)=>r===t[s])?e[e.length-1]-t[t.length-1]:0}function TF(e,t,n){let{routesMeta:r}=e,s={},i="/",o=[];for(let a=0;a<r.length;++a){let l=r[a],c=a===r.length-1,u=i==="/"?t:t.slice(i.length)||"/",d=CF({path:l.relativePath,caseSensitive:l.caseSensitive,end:c},u),h=l.route;if(!d)return null;
vendor: 10,830 bytes, lines 163-172
163Object.assign(s,d.params),o.push({params:s,pathname:$r([i,d.pathname]),pathnameBase:RF($r([i,d.pathnameBase])),route:h}),d.pathnameBase!=="/"&&(i=$r([i,d.pathnameBase]))}return o}function CF(e,t){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[n,r]=EF(e.path,e.caseSensitive,e.end),s=t.match(n);if(!s)return null;let i=s[0],o=i.replace(/(.)\/+$/,"$1"),a=s.slice(1);return{params:r.reduce((c,u,d)=>{let{paramName:h,isOptional:f}=u;if(h==="*"){let b=a[d]||"";o=i.slice(0,i.length-b.length).replace(/(.)\/+$/,"$1")}const m=a[d];return f&&!m?c[h]=void 0:c[h]=(m||"").replace(/%2F/g,"/"),c},{}),pathname:i,pathnameBase:o,pattern:e}}function EF(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!0),UC(e==="*"||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were '+('"'+e.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+e.replace(/\*$/,"/*")+'".'));let r=[],s="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(o,a,l)=>(r.push({paramName:a,isOptional:l!=null}),l?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(r.push({paramName:"*"}),s+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?s+="\\/*$":e!==""&&e!=="/"&&(s+="(?:(?=\\/|$))"),[new RegExp(s,t?void 0:"i"),r]}function AF(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return UC(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+t+").")),e}}function ib(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&r!=="/"?null:e.slice(n)||"/"}function xF(e,t){t===void 0&&(t="/");let{pathname:n,search:r="",hash:s=""}=typeof e=="string"?yo(e):e;return{pathname:n?n.startsWith("/")?n:kF(n,t):t,search:DF(r),hash:NF(s)}}function kF(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(s=>{s===".."?n.length>1&&n.pop():s!=="."&&n.push(s)}),n.length>1?n.join("/"):"/"}function Zd(e,t,n,r){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+t+"` field ["+JSON.stringify(r)+"].  Please separate it out to the ")+("`to."+n+"` field. Alternatively you may provide the full path as ")+'a string in <Link to="..."> and the router will parse it for you.'}function _F(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}function ob(e,t){let n=_F(e);return t?n.map((r,s)=>s===n.length-1?r.pathname:r.pathnameBase):n.map(r=>r.pathnameBase)}function ab(e,t,n,r){r===void 0&&(r=!1);let s;typeof e=="string"?s=yo(e):(s=$a({},e),Re(!s.pathname||!s.pathname.includes("?"),Zd("?","pathname","search",s)),Re(!s.pathname||!s.pathname.includes("#"),Zd("#","pathname","hash",s)),Re(!s.search||!s.search.includes("#"),Zd("#","search","hash",s)));let i=e===""||s.pathname==="",o=i?"/":s.pathname,a;if(o==null)a=n;else{let d=t.length-1;if(!r&&o.startsWith("..")){let h=o.split("/");for(;h[0]==="..";)h.shift(),d-=1;s.pathname=h.join("/")}a=d>=0?t[d]:"/"}let l=xF(s,a),c=o&&o!=="/"&&o.endsWith("/"),u=(i||o===".")&&n.endsWith("/");return!l.pathname.endsWith("/")&&(c||u)&&(l.pathname+="/"),l}const $r=e=>e.join("/").replace(/\/\/+/g,"/"),RF=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),DF=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,NF=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function IF(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const WC=["post","put","patch","delete"];new Set(WC);const OF=["get",...WC];new Set(OF);/**
164 * React Router v6.30.1
165 *
166 * Copyright (c) Remix Software Inc.
167 *
168 * This source code is licensed under the MIT license found in the
169 * LICENSE.md file in the root directory of this source tree.
170 *
171 * @license MIT
172 */function Wa(){return Wa=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Wa.apply(this,arguments)}const lb=p.createContext(null),LF=p.createContext(null),Zr=p.createContext(null),Ju=p.createContext(null),On=p.createContext({outlet:null,matches:[],isDataRoute:!1}),zC=p.createContext(null);function MF(e,t){let{relative:n}=t===void 0?{}:t;vo()||Re(!1);let{basename:r,navigator:s}=p.useContext(Zr),{hash:i,pathname:o,search:a}=HC(e,{relative:n}),l=o;return r!=="/"&&(l=o==="/"?r:$r([r,o])),s.createHref({pathname:l,search:a,hash:i})}function vo(){return p.useContext(Ju)!=null}function Ln(){return vo()||Re(!1),p.useContext(Ju).location}function qC(e){p.useContext(Zr).static||p.useLayoutEffect(e)}function dl(){let{isDataRoute:e}=p.useContext(On);return e?JF():FF()}function FF(){vo()||Re(!1);let e=p.useContext(lb),{basename:t,future:n,navigator:r}=p.useContext(Zr),{matches:s}=p.useContext(On),{pathname:i}=Ln(),o=JSON.stringify(ob(s,n.v7_relativeSplatPath)),a=p.useRef(!1);return qC(()=>{a.current=!0}),p.useCallback(function(c,u){if(u===void 0&&(u={}),!a.current)return;if(typeof c=="number"){r.go(c);return}let d=ab(c,JSON.parse(o),i,u.relative==="path");e==null&&t!=="/"&&(d.pathname=d.pathname==="/"?t:$r([t,d.pathname])),(u.replace?r.replace:r.push)(d,u.state,u)},[t,r,o,i,e])}const jF=p.createContext(null);function BF(e){let t=p.useContext(On).outlet;return t&&p.createElement(jF.Provider,{value:e},t)}function kz(){let{matches:e}=p.useContext(On),t=e[e.length-1];return t?t.params:{}}function HC(e,t){let{relative:n}=t===void 0?{}:t,{future:r}=p.useContext(Zr),{matches:s}=p.useContext(On),{pathname:i}=Ln(),o=JSON.stringify(ob(s,r.v7_relativeSplatPath));return p.useMemo(()=>ab(e,JSON.parse(o),i,n==="path"),[e,o,i,n])}function UF(e,t){return VF(e,t)}function VF(e,t,n,r){vo()||Re(!1);let{navigator:s}=p.useContext(Zr),{matches:i}=p.useContext(On),o=i[i.length-1],a=o?o.params:{};o&&o.pathname;let l=o?o.pathnameBase:"/";o&&o.route;let c=Ln(),u;if(t){var d;let w=typeof t=="string"?yo(t):t;l==="/"||(d=w.pathname)!=null&&d.startsWith(l)||Re(!1),u=w}else u=c;let h=u.pathname||"/",f=h;if(l!=="/"){let w=l.replace(/^\//,"").split("/");f="/"+h.replace(/^\//,"").split("/").slice(w.length).join("/")}let m=hF(e,{pathname:f}),b=HF(m&&m.map(w=>Object.assign({},w,{params:Object.assign({},a,w.params),pathname:$r([l,s.encodeLocation?s.encodeLocation(w.pathname).pathname:w.pathname]),pathnameBase:w.pathnameBase==="/"?l:$r([l,s.encodeLocation?s.encodeLocation(w.pathnameBase).pathname:w.pathnameBase])})),i,n,r);return t&&b?p.createElement(Ju.Provider,{value:{location:Wa({pathname:"/",search:"",hash:"",state:null,key:"default"},u),navigationType:Dr.Pop}},b):b}function $F(){let e=QF(),t=IF(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,s={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return p.createElement(p.Fragment,null,p.createElement("h2",null,"Unexpected Application Error!"),p.createElement("h3",{style:{fontStyle:"italic"}},t),n?p.createElement("pre",{style:s},n):null,null)}const WF=p.createElement($F,null);class zF extends p.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,n){return n.location!==t.location||n.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:n.error,location:n.location,revalidation:t.revalidation||n.revalidation}}componentDidCatch(t,n){console.error("React Router caught the following error during render",t,n)}render(){return this.state.error!==void 0?p.createElement(On.Provider,{value:this.props.routeContext},p.createElement(zC.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function qF(e){let{routeContext:t,match:n,children:r}=e,s=p.useContext(lb);return s&&s.static&&s.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(s.staticContext._deepestRenderedBoundaryId=n.route.id),p.createElement(On.Provider,{value:t},r)}function HF(e,t,n,r){var s;if(t===void 0&&(t=[]),n===void 0&&(n=null),r===void 0&&(r=null),e==null){var i;if(!n)return null;if(n.errors)e=n.matches;else if((i=r)!=null&&i.v7_partialHydration&&t.length===0&&!n.initialized&&n.matches.length>0)e=n.matches;else return null}let o=e,a=(s=n)==null?void 0:s.errors;if(a!=null){let u=o.findIndex(d=>d.route.id&&(a==null?void 0:a[d.route.id])!==void 0);u>=0||Re(!1),o=o.slice(0,Math.min(o.length,u+1))}let l=!1,c=-1;if(n&&r&&r.v7_partialHydration)for(let u=0;u<o.length;u++){let d=o[u];if((d.route.HydrateFallback||d.route.hydrateFallbackElement)&&(c=u),d.route.id){let{loaderData:h,errors:f}=n,m=d.route.loader&&h[d.route.id]===void 0&&(!f||f[d.route.id]===void 0);if(d.route.lazy||m){l=!0,c>=0?o=o.slice(0,c+1):o=[o[0]];break}}}return o.reduceRight((u,d,h)=>{let f,m=!1,b=null,w=null;n&&(f=a&&d.route.id?a[d.route.id]:void 0,b=d.route.errorElement||WF,l&&(c<0&&h===0?(XF("route-fallback"),m=!0,w=null):c===h&&(m=!0,w=d.route.hydrateFallbackElement||null)));let y=t.concat(o.slice(0,h+1)),g=()=>{let v;return f?v=b:m?v=w:d.route.Component?v=p.createElement(d.route.Component,null):d.route.element?v=d.route.element:v=u,p.createElement(qF,{match:d,routeContext:{outlet:u,matches:y,isDataRoute:n!=null},children:v})};return n&&(d.route.ErrorBoundary||d.route.errorElement||h===0)?p.createElement(zF,{location:n.location,revalidation:n.revalidation,component:b,error:f,children:g(),routeContext:{outlet:null,matches:y,isDataRoute:!0}}):g()},null)}var GC=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(GC||{}),KC=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(KC||{});function GF(e){let t=p.useContext(lb);return t||Re(!1),t}function KF(e){let t=p.useContext(LF);return t||Re(!1),t}function YF(e){let t=p.useContext(On);return t||Re(!1),t}function YC(e){let t=YF(),n=t.matches[t.matches.length-1];return n.route.id||Re(!1),n.route.id}function QF(){var e;let t=p.useContext(zC),n=KF(),r=YC();return t!==void 0?t:(e=n.errors)==null?void 0:e[r]}function JF(){let{router:e}=GF(GC.UseNavigateStable),t=YC(KC.UseNavigateStable),n=p.useRef(!1);return qC(()=>{n.current=!0}),p.useCallback(function(s,i){i===void 0&&(i={}),n.current&&(typeof s=="number"?e.navigate(s):e.navigate(s,Wa({fromRouteId:t},i)))},[e,t])}const Av={};
172function XF(e,t,n){Av[e]||(Av[e]=!0)}function ZF(e,t){e==null||e.v7_startTransition,e==null||e.v7_relativeSplatPath}function xv(e){let{to:t,replace:n,state:r,relative:s}=e;vo()||Re(!1);let{future:i,static:o}=p.useContext(Zr),{matches:a}=p.useContext(On),{pathname:l}=Ln(),c=dl(),u=ab(t,ob(a,i.v7_relativeSplatPath),l,s==="path"),d=JSON.stringify(u);return p.useEffect(()=>c(JSON.parse(d),{replace:n,state:r,relative:s}),[c,d,s,n,r]),null}function np(e){return BF(e.context)}function M(e){Re(!1)}function ej(e){let{basename:t="/",children:n=null,location:r,navigationType:s=Dr.Pop,navigator:i,static:o=!1,future:a}=e;vo()&&Re(!1);let l=t.replace(/^\/*/,"/"),c=p.useMemo(()=>({basename:l,navigator:i,static:o,future:Wa({v7_relativeSplatPath:!1},a)}),[l,a,i,o]);typeof r=="string"&&(r=yo(r));let{pathname:u="/",search:d="",hash:h="",state:f=null,key:m="default"}=r,b=p.useMemo(()=>{let w=ib(u,l);return w==null?null:{location:{pathname:w,search:d,hash:h,state:f,key:m},navigationType:s}},[l,u,d,h,f,m,s]);return b==null?null:p.createElement(Zr.Provider,{value:c},p.createElement(Ju.Provider,{children:n,value:b}))}function tj(e){let{children:t,location:n}=e;return UF(rp(t),n)}new Promise(()=>{});function rp(e,t){t===void 0&&(t=[]);let n=[];return p.Children.forEach(e,(r,s)=>{if(!p.isValidElement(r))return;let i=[...t,s];if(r.type===p.Fragment){n.push.apply(n,rp(r.props.children,i));return}r.type!==M&&Re(!1),!r.props.index||!r.props.children||Re(!1);let o={id:r.props.id||i.join("-"),caseSensitive:r.props.caseSensitive,element:r.props.element,Component:r.props.Component,index:r.props.index,path:r.props.path,loader:r.props.loader,action:r.props.action,errorElement:r.props.errorElement,ErrorBoundary:r.props.ErrorBoundary,hasErrorBoundary:r.props.ErrorBoundary!=null||r.props.errorElement!=null,shouldRevalidate:r.props.shouldRevalidate,handle:r.props.handle,lazy:r.props.lazy};r.props.children&&(o.children=rp(r.props.children,i)),n.push(o)}),n}/**
173 * React Router DOM v6.30.1
174 *
175 * Copyright (c) Remix Software Inc.
176 *
177 * This source code is licensed under the MIT license found in the
178 * LICENSE.md file in the root directory of this source tree.
179 *
180 * @license MIT
181 */function sp(){return sp=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},sp.apply(this,arguments)}function nj(e,t){if(e==null)return{};var n={},r=Object.keys(e),s,i;for(i=0;i<r.length;i++)s=r[i],!(t.indexOf(s)>=0)&&(n[s]=e[s]);return n}function rj(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function sj(e,t){return e.button===0&&(!t||t==="_self")&&!rj(e)}function ip(e){return e===void 0&&(e=""),new URLSearchParams(typeof e=="string"||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,n)=>{let r=e[n];return t.concat(Array.isArray(r)?r.map(s=>[n,s]):[[n,r]])},[]))}function ij(e,t){let n=ip(e);return t&&t.forEach((r,s)=>{n.has(s)||t.getAll(s).forEach(i=>{n.append(s,i)})}),n}const oj=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","viewTransition"],aj="6";try{window.__reactRouterVersion=aj}catch{}const lj="startTransition",kv=jp[lj];function cj(e){let{basename:t,children:n,future:r,window:s}=e,i=p.useRef();i.current==null&&(i.current=cF({window:s,v5Compat:!0}));let o=i.current,[a,l]=p.useState({action:o.action,location:o.location}),{v7_startTransition:c}=r||{},u=p.useCallback(d=>{c&&kv?kv(()=>l(d)):l(d)},[l,c]);return p.useLayoutEffect(()=>o.listen(u),[o,u]),p.useEffect(()=>ZF(r),[r]),p.createElement(ej,{basename:t,children:n,location:a.location,navigationType:a.action,navigator:o,future:r})}const uj=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",dj=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,_z=p.forwardRef(function(t,n){let{onClick:r,relative:s,reloadDocument:i,replace:o,state:a,target:l,to:c,preventScrollReset:u,viewTransition:d}=t,h=nj(t,oj),{basename:f}=p.useContext(Zr),m,b=!1;if(typeof c=="string"&&dj.test(c)&&(m=c,uj))try{let v=new URL(window.location.href),P=c.startsWith("//")?new URL(v.protocol+c):new URL(c),T=ib(P.pathname,f);P.origin===v.origin&&T!=null?c=T+P.search+P.hash:b=!0}catch{}let w=MF(c,{relative:s}),y=hj(c,{replace:o,state:a,target:l,preventScrollReset:u,relative:s,viewTransition:d});function g(v){r&&r(v),v.defaultPrevented||y(v)}return p.createElement("a",sp({},h,{href:m||w,onClick:b||i?r:g,ref:n,target:l}))});var _v;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(_v||(_v={}));var Rv;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(Rv||(Rv={}));function hj(e,t){let{target:n,replace:r,state:s,preventScrollReset:i,relative:o,viewTransition:a}=t===void 0?{}:t,l=dl(),c=Ln(),u=HC(e,{relative:o});return p.useCallback(d=>
181{if(sj(d,n)){d.preventDefault();let h=r!==void 0?r:cu(c)===cu(u);l(e,{replace:h,state:s,preventScrollReset:i,relative:o,viewTransition:a})}},[c,l,u,r,s,n,e,i,o,a])}function Rz(e){let t=p.useRef(ip(e)),n=p.useRef(!1),r=Ln(),s=p.useMemo(()=>ij(r.search,n.current?null:t.current),[r.search]),i=dl(),o=p.useCallback((a,l)=>{const c=ip(typeof a=="function"?a(s):a);n.current=!0,i("?"+c,l)},[i,s]);return[s,o]}const eh="mfs_ui_lang",QC={logout:{en:"Logout",bn:"লগআউট"},welcomeBack:{en:"Welcome back",bn:"স্বাগতম"},goodMorning:{en:"Good Morning",bn:"সুপ্রভাত"},goodAfternoon:{en:"Good Afternoon",bn:"শুভ অপরাহ্ন"},goodEvening:{en:"Good Evening",bn:"শুভ সন্ধ্যা"},availableBalance:{en:"Available Balance",bn:"উপলব্ধ ব্যালেন্স"},tapToSeeBalance:{en:"Tap to see balance",bn:"ব্যালেন্স দেখতে ট্যাপ করুন"},addMoney:{en:"Add Money",bn:"টাকা যোগ"},walletId:{en:"Wallet ID",bn:"ওয়ালেট আইডি"},share:{en:"Share",bn:"শেয়ার"},sendMoney:{en:"Send Money",bn:"টাকা পাঠান"},cashOut:{en:"Cash Out",bn:"ক্যাশ আউট"},payment:{en:"Payment",bn:"পেমেন্ট"},referEarn:{en:"Refer & Earn",bn:"রেফার করুন"},recharge:{en:"Recharge",bn:"রিচার্জ"},payBill:{en:"Pay Bill",bn:"বিল পে"},shop:{en:"Shop",bn:"শপ"},more:{en:"More",bn:"আরো"},home:{en:"Home",bn:"হোম"},history:{en:"History",bn:"হিস্টরি"},scan:{en:"Scan",bn:"স্ক্যান"},inbox:{en:"Inbox",bn:"ইনবক্স"},account:{en:"Account",bn:"অ্যাকাউন্ট"},recentTransactions:{en:"Recent Transactions",bn:"সাম্প্রতিক লেনদেন"},seeAll:{en:"See All",bn:"সব দেখুন"},noTransactions:{en:"No transactions yet",bn:"কোনো লেনদেন নেই"},loading:{en:"Loading…",bn:"লোড হচ্ছে…"},totalAmount:{en:"Total Amount",bn:"মোট পরিমাণ"},transactionId:{en:"Transaction ID",bn:"লেনদেন আইডি"},nameParty:{en:"Name / Party",bn:"নাম / পার্টি"},type:{en:"Type",bn:"ধরন"},description:{en:"Description",bn:"বিবরণ"},dateTime:{en:"Date & Time",bn:"তারিখ ও সময়"},commission:{en:"Commission",bn:"কমিশন"},txSend:{en:"Send Money",bn:"টাকা পাঠান"},txReceived:{en:"Received",bn:"গৃহীত"},txCashOut:{en:"Cash Out",bn:"ক্যাশ আউট"},txCashIn:{en:"Cash In",bn:"ক্যাশ ইন"},txPayment:{en:"Payment",bn:"পেমেন্ট"},txRecharge:{en:"Recharge",bn:"রিচার্জ"},txBillPay:{en:"Bill Pay",bn:"বিল পে"},txAddMoney:{en:"Add Money",bn:"টাকা যোগ"},txBankTransfer:{en:"Bank Transfer",bn:"ব্যাংক ট্রান্সফার"},limitedOffer:{en:"Limited offer",bn:"সীমিত অফার"},promoCashback:{en:"5% Cashback on Mobile Recharge",bn:"মোবাইল রিচার্জে ৫% ক্যাশব্যাক"},promoValid:{en:"Valid until Feb 28 · Min ৳100",bn:"ফেব্রুয়ারি ২৮ পর্যন্ত · সর্বনিম্ন ৳১০০"},mobileFinancialService:{en:"Mobile Financial Service",bn:"মোবাইল ফাইন্যান্সিয়াল সার্ভিস"},langToggle:{en:"বাংলা",bn:"English"},editProfile:{en:"Edit Profile",bn:"প্রোফাইল সম্পাদনা"},updateNamePhoto:{en:"Update your name and profile photo",bn:"নাম ও প্রোফাইল ছবি আপডেট করুন"},kycVerification:{en:"KYC Verification",bn:"কেওয়াইসি যাচাই"},kycSub:{en:"Full verification unlocks higher limits",bn:"সম্পূর্ণ যাচাই উচ্চ সীমা আনলক করে"},changePin:{en:"Change PIN",bn:"পিন পরিবর্তন"},changePinSub:{en:"Update your 4-digit transaction PIN",bn:"৪ সংখ্যার লেনদেন পিন আপডেট করুন"},referAFriend:{en:"Refer a Friend",bn:"বন্ধুকে রেফার করুন"},referSub:{en:"Earn ৳50 for every successful referral",bn:"প্রতিটি সফল রেফারেলে ৳৫০ আয় করুন"},viewOnboarding:{en:"View Onboarding Again",bn:"আবার অনবোর্ডিং দেখুন"},viewOnboardingSub:{en:"Replay the feature tour from the start",bn:"ফিচার ট্যুর আবার শুরু থেকে দেখুন"},spendingInsights:{en:"Spending Insights",bn:"ব্যয় বিশ্লেষণ"},insightsSub:{en:"Monthly breakdown & analytics",bn:"মাসিক বিশ্লেষণ ও পরিসংখ্যান"},limitsCharges:{en:"Limits & Charges",bn:"সীমা ও চার্জ"},limitsSub:{en:"Transaction limits, fees & tariffs",bn:"লেনদেন সীমা, ফি ও ট্যারিফ"},pushNotifications:{en:"Push Notifications",bn:"পুশ নোটিফিকেশন"},pushSub:{en:"Transaction alerts & updates",bn:"লেনদেন সতর্কতা ও আপডেট"},promotionalAlerts:{en:"Promotional Alerts",bn:"প্রমোশনাল সতর্কতা"},promoAlertsSub:{en:"Offers, cashbacks & news",bn:"অফার, ক্যাশব্যাক ও খবর"},biometricLogin:{en:"Biometric Login",bn:"বায়োমেট্রিক লগইন"}
181,biometricSub:{en:"Use fingerprint or face ID",bn:"ফিঙ্গারপ্রিন্ট বা ফেস আইডি ব্যবহার করুন"},twoFactorAuth:{en:"Two-Factor Auth",bn:"দ্বি-স্তর যাচাই"},twoFactorSub:{en:"Extra OTP step on each login",bn:"প্রতিটি লগইনে অতিরিক্ত OTP ধাপ"},signOut:{en:"Sign Out",bn:"সাইন আউট"},signedInAs:{en:"Signed in as",bn:"লগইন করা আছে"},signOutAccount:{en:"Sign out of your account",bn:"আপনার অ্যাকাউন্ট থেকে সাইন আউট করুন"},verified:{en:"Verified",bn:"যাচাইকৃত"},unverified:{en:"Unverified",bn:"অযাচাইকৃত"},kycPending:{en:"Pending",bn:"অপেক্ষমাণ"},language:{en:"Language",bn:"ভাষা"},languageSub:{en:"Switch between English and Bengali",bn:"ইংরেজি ও বাংলার মধ্যে পরিবর্তন করুন"},sectionAccount:{en:"Account",bn:"অ্যাকাউন্ট"},sectionAppExperience:{en:"App Experience",bn:"অ্যাপ অভিজ্ঞতা"},sectionInsightsLimits:{en:"Insights & Limits",bn:"বিশ্লেষণ ও সীমা"},sectionNotifications:{en:"Notifications",bn:"নোটিফিকেশন"},sectionSecurity:{en:"Security & Privacy",bn:"নিরাপত্তা ও গোপনীয়তা"},sectionAccountActions:{en:"Account Actions",bn:"অ্যাকাউন্ট কার্যক্রম"},onboardingReset:{en:"Onboarding reset! Restarting tour…",bn:"অনবোর্ডিং রিসেট! ট্যুর পুনরায় শুরু হচ্ছে…"},biometricEnabled:{en:"Biometric login enabled",bn:"বায়োমেট্রিক লগইন সক্রিয়"},biometricDisabled:{en:"Biometric login disabled",bn:"বায়োমেট্রিক লগইন নিষ্ক্রিয়"},twoFaEnabled:{en:"2FA enabled",bn:"দ্বি-স্তর যাচাই সক্রিয়"},twoFaDisabled:{en:"2FA disabled",bn:"দ্বি-স্তর যাচাই নিষ্ক্রিয়"},roleCustomer:{en:"Customer",bn:"কাস্টমার"},roleAdmin:{en:"Admin",bn:"অ্যাডমিন"},roleAgent:{en:"Agent",bn:"এজেন্ট"},roleMerchant:{en:"Merchant",bn:"মার্চেন্ট"},roleDistributor:{en:"Distributor",bn:"ডিস্ট্রিবিউটর"},roleSuperDistributor:{en:"Super Distributor",bn:"সুপার ডিস্ট্রিবিউটর"},roleCompliance:{en:"Compliance",bn:"কমপ্লায়েন্স"},roleFinance:{en:"Finance",bn:"ফাইন্যান্স"},becomeMerchant:{en:"Become a Merchant",bn:"মার্চেন্ট হোন"},becomeMerchantSub:{en:"Apply for a merchant account",bn:"মার্চেন্ট অ্যাকাউন্টের জন্য আবেদন করুন"},theme:{en:"Theme",bn:"থিম"},themeSub:{en:"Switch between light, dark & system",bn:"লাইট, ডার্ক ও সিস্টেমের মধ্যে পরিবর্তন"},iconSize:{en:"Icon Size",bn:"আইকন সাইজ"},iconSizeSub:{en:"Adjust Quick Action icon size",bn:"কুইক অ্যাকশন আইকন সাইজ ঠিক করুন"},gridLayoutLabel:{en:"Grid Layout",bn:"গ্রিড লেআউট"},gridLayoutSub:{en:"Change Quick Actions grid arrangement",bn:"কুইক অ্যাকশন গ্রিড সাজানো পরিবর্তন করুন"},compactMode:{en:"Compact Mode",bn:"কম্প্যাক্ট মোড"},compactModeSub:{en:"Reduce spacing for more content",bn:"বেশি কন্টেন্টের জন্য স্পেস কমান"},compactEnabled:{en:"Compact mode enabled",bn:"কম্প্যাক্ট মোড সক্রিয়"},compactDisabled:{en:"Compact mode disabled",bn:"কম্প্যাক্ট মোড নিষ্ক্রিয়"},rearrangeQA:{en:"Rearrange Quick Actions",bn:"কুইক অ্যাকশন পুনর্বিন্যাস"},rearrangeQASub:{en:"Enable drag & drop to customize icon order",bn:"আইকন ক্রম পরিবর্তনে ড্র্যাগ ও ড্রপ সক্রিয় করুন"}
181,dndEnabled:{en:"Drag & drop enabled",bn:"ড্র্যাগ ও ড্রপ সক্রিয়"},dndDisabled:{en:"Drag & drop disabled",bn:"ড্র্যাগ ও ড্রপ নিষ্ক্রিয়"},myRewardsTitle:{en:"My Rewards",bn:"আমার পুরস্কার"},blockedUsersLabel:{en:"Blocked Users",bn:"ব্লকড ব্যবহারকারী"},blockedUsersSub:{en:"Manage blocked accounts",bn:"ব্লকড অ্যাকাউন্ট পরিচালনা করুন"},sectionSupport:{en:"Support & Help",bn:"সহায়তা ও সাহায্য"},liveChat:{en:"Live Chat",bn:"লাইভ চ্যাট"},liveChatSub:{en:"Chat with our support team",bn:"আমাদের সাপোর্ট টিমের সাথে চ্যাট করুন"},submitTicket:{en:"Submit a Ticket",bn:"টিকেট জমা দিন"},submitTicketSub:{en:"Describe your issue in detail",bn:"আপনার সমস্যা বিস্তারিত বর্ণনা করুন"},emailUs:{en:"Email Us",bn:"ইমেইল করুন"},myTickets:{en:"My Tickets",bn:"আমার টিকেট"},myTicketsSub:{en:"Track your submitted tickets",bn:"আপনার জমা দেওয়া টিকেট ট্র্যাক করুন"},ticketSubject:{en:"Subject",bn:"বিষয়"},ticketDescription:{en:"Description",bn:"বিবরণ"},submitTicketBtn:{en:"Submit Ticket",bn:"টিকেট জমা দিন"},submitting:{en:"Submitting…",bn:"জমা হচ্ছে…"},ticketSubmitted:{en:"Ticket submitted successfully!",bn:"টিকেট সফলভাবে জমা হয়েছে!"},ticketFailed:{en:"Failed to submit ticket.",bn:"টিকেট জমা দিতে ব্যর্থ।"},noTicketsYet:{en:"No tickets yet",bn:"এখনো কোনো টিকেট নেই"},noTicketsDesc:{en:"Your support tickets will appear here",bn:"আপনার সাপোর্ট টিকেট এখানে দেখা যাবে"},open:{en:"Open",bn:"খোলা"},closed:{en:"Closed",bn:"বন্ধ"},resolved:{en:"Resolved",bn:"সমাধান হয়েছে"},ticketClosedHint:{en:"This ticket has been closed and cannot be reopened. Please submit a new ticket for further assistance.",bn:"এই টিকেটটি বন্ধ হয়ে গেছে এবং পুনরায় খোলা যাবে না। আরও সহায়তার জন্য একটি নতুন টিকেট জমা দিন।"},rateExperience:{en:"Rate your experience:",bn:"আপনার অভিজ্ঞতা রেট করুন:"},yourRating:{en:"Your rating:",bn:"আপনার রেটিং:"},ratingSubmitted:{en:"Thanks for your feedback!",bn:"আপনার মতামতের জন্য ধন্যবাদ!"},ticketGeneralSupport:{en:"General Support",bn:"সাধারণ সহায়তা"},ticketSubjectPlaceholder:{en:"e.g. Email change request",bn:"যেমন: ইমেইল পরিবর্তনের অনুরোধ"},liveChatTitle:{en:"Live Chat — Support",bn:"লাইভ চ্যাট — সাপোর্ট"},submitTicketTitle:{en:"Submit a Support Ticket",bn:"সাপোর্ট টিকেট জমা দিন"},signInFirst:{en:"Please sign in first.",bn:"অনুগ্রহ করে আগে সাইন ইন করুন।"},signInToContact:{en:"Please sign in to contact support.",bn:"সাপোর্টে যোগাযোগ করতে সাইন ইন করুন।"},transactionHistory:{en:"Transaction History",bn:"লেনদেন ইতিহাস"},moneyIn:{en:"Money In",bn:"আয়"},moneyOut:{en:"Money Out",bn:"ব্যয়"},count:{en:"Count",bn:"সংখ্যা"},searchTransactions:{en:"Search transactions…",bn:"লেনদেন অনুসন্ধান…"},from:{en:"From",bn:"থেকে"},to:{en:"To",bn:"পর্যন্ত"},clearAll:{en:"Clear all",bn:"সব মুছুন"},results:{en:"results",bn:"ফলাফল"},result:{en:"result",bn:"ফলাফল"}
181,noTransactionsFound:{en:"No transactions found",bn:"কোনো লেনদেন পাওয়া যায়নি"},adjustFilters:{en:"Try adjusting your filters or search query",bn:"ফিল্টার বা অনুসন্ধান পরিবর্তন করুন"},clearFilters:{en:"Clear filters",bn:"ফিল্টার মুছুন"},all:{en:"All",bn:"সব"},send:{en:"Send",bn:"পাঠান"},received:{en:"Received",bn:"গৃহীত"},cashIn:{en:"Cash In",bn:"ক্যাশ ইন"},bankTransfer:{en:"Bank Transfer",bn:"ব্যাংক ট্রান্সফার"},refreshing:{en:"Refreshing…",bn:"রিফ্রেশ হচ্ছে…"},shareReceipt:{en:"Share Receipt",bn:"রসিদ শেয়ার করুন"},amount:{en:"Amount",bn:"পরিমাণ"},fee:{en:"Fee",bn:"ফি"},status:{en:"Status",bn:"স্ট্যাটাস"},date:{en:"Date",bn:"তারিখ"},myQrCode:{en:"My QR Code",bn:"আমার কিউআর কোড"},scanToSendMoney:{en:"Scan this code to send money to me",bn:"আমাকে টাকা পাঠাতে এই কোড স্ক্যান করুন"},scanToPayAgent:{en:"Scan to cash out with this agent",bn:"এই এজেন্টের কাছ থেকে ক্যাশ আউট করতে স্ক্যান করুন"},scanToPayMerchant:{en:"Scan to pay this merchant",bn:"এই মার্চেন্টে পেমেন্ট করতে স্ক্যান করুন"},yourWalletId:{en:"Your Wallet ID",bn:"আপনার ওয়ালেট আইডি"},walletIdCopied:{en:"✓ Wallet ID copied to clipboard!",bn:"✓ ওয়ালেট আইডি কপি হয়েছে!"},copyId:{en:"Copy ID",bn:"আইডি কপি"},shareMyWallet:{en:"Share My Wallet",bn:"আমার ওয়ালেট শেয়ার"},scanToSend:{en:"SCAN TO SEND MONEY",bn:"টাকা পাঠাতে স্ক্যান করুন"},saveQr:{en:"Save QR",bn:"কিউআর সেভ"},copied:{en:"Copied!",bn:"কপি হয়েছে!"},saving:{en:"Saving…",bn:"সেভ হচ্ছে…"},shareReceiptTitle:{en:"Share Receipt",bn:"রসিদ শেয়ার"},copyShareSave:{en:"Copy, share, or save your receipt",bn:"রসিদ কপি, শেয়ার, বা সেভ করুন"},copy:{en:"Copy",bn:"কপি"},savePng:{en:"Save PNG",bn:"PNG সেভ"},secureInstantTransfer:{en:"Secure & Instant Transfer",bn:"নিরাপদ ও তাৎক্ষণিক ট্রান্সফার"},withdrawFromAgent:{en:"Withdraw from Nearby Agent",bn:"নিকটতম এজেন্ট থেকে উত্তোলন"},transferToBank:{en:"Transfer to Bank Account",bn:"ব্যাংক অ্যাকাউন্টে ট্রান্সফার"},merchantQrPayments:{en:"Merchant & QR Payments",bn:"মার্চেন্ট ও কিউআর পেমেন্ট"},topUpWallet:{en:"Top Up Your Wallet · Free",bn:"ওয়ালেট টপ আপ · ফ্রি"},utilitiesServices:{en:"Utilities & Services · Free",bn:"ইউটিলিটি ও সেবা · ফ্রি"},enterPin:{en:"Enter your 4-digit PIN",bn:"আপনার ৪ সংখ্যার পিন দিন"},continue:{en:"Continue",bn:"এগিয়ে যান"},enterAmount:{en:"Enter Amount",bn:"পরিমাণ দিন"},quickSelect:{en:"Quick select",bn:"দ্রুত নির্বাচন"},total:{en:"Total",bn:"মোট"},free:{en:"Free",bn:"ফ্রি"},done:{en:"Done",bn:"সম্পন্ন"},goHome:{en:"Go Home",bn:"হোমে যান"},transactionSuccessful:{en:"Transaction Successful!",bn:"লেনদেন সফল!"},poweredByEasyPay:{en:"Powered by EasyPay",bn:"ইজিপে দ্বারা পরিচালিত"},flowSendMoney:{en:"Send Money",bn:"টাকা পাঠান"},flowSecureTransfer:{en:"Secure & Instant Transfer",bn:"নিরাপদ ও তাৎক্ষণিক ট্রান্সফার"},searchByNameNumberWallet:{en:"Search by Name, Number or Wallet ID",bn:"নাম, নম্বর বা ওয়ালেট আই
181ডি দিয়ে খুঁজুন"},recentContacts:{en:"Recent contacts",bn:"সাম্প্রতিক যোগাযোগ"},uploadQrGallery:{en:"Upload QR from Gallery",bn:"গ্যালারি থেকে QR আপলোড"},sendingTo:{en:"Sending to",bn:"পাঠানো হচ্ছে"},noteOptional:{en:"Note (optional)",bn:"নোট (ঐচ্ছিক)"},sendAmount:{en:"Send Amount",bn:"পাঠানোর পরিমাণ"},recipientReceives:{en:"Recipient receives",bn:"প্রাপক পাবেন"},slideToSend:{en:"Slide to Send",bn:"পাঠাতে স্লাইড করুন"},mobileNumber:{en:"Mobile Number",bn:"মোবাইল নম্বর"},walletIdLabel:{en:"Wallet ID",bn:"ওয়ালেট আইডি"},flowCashOut:{en:"Cash Out",bn:"ক্যাশ আউট"},flowWithdrawAgent:{en:"Withdraw from Nearby Agent",bn:"নিকটতম এজেন্ট থেকে উত্তোলন"},flowTransferBank:{en:"Transfer to Bank Account",bn:"ব্যাংক অ্যাকাউন্টে ট্রান্সফার"},howCashOut:{en:"How would you like to cash out?",bn:"আপনি কিভাবে ক্যাশ আউট করতে চান?"},chooseMethod:{en:"Choose your preferred withdrawal method",bn:"আপনার পছন্দের উত্তোলন পদ্ধতি বাছুন"},agentCashOut:{en:"Agent Cash Out",bn:"এজেন্ট ক্যাশ আউট"},withdrawFromAgentDesc:{en:"Withdraw cash from a nearby agent",bn:"নিকটতম এজেন্ট থেকে নগদ উত্তোলন"},flowBankTransfer:{en:"Bank Transfer",bn:"ব্যাংক ট্রান্সফার"},transferToBankDesc:{en:"Transfer to any bank account",bn:"যেকোনো ব্যাংক অ্যাকাউন্টে ট্রান্সফার"},agentIdLabel:{en:"Agent ID",bn:"এজেন্ট আইডি"},nearbyAgents:{en:"Nearby agents",bn:"কাছাকাছি এজেন্ট"},youReceive:{en:"You receive",bn:"আপনি পাবেন"},slideToCashOut:{en:"Slide to Cash Out",bn:"ক্যাশ আউট করতে স্লাইড করুন"},selectBank:{en:"Select Bank",bn:"ব্যাংক নির্বাচন"},accountNumber:{en:"Account Number",bn:"অ্যাকাউন্ট নম্বর"},accountHolderName:{en:"Account Holder Name",bn:"অ্যাকাউন্ট ধারকের নাম"},savedAccounts:{en:"Saved Accounts",bn:"সংরক্ষিত অ্যাকাউন্ট"},flowPayment:{en:"Payment",bn:"পেমেন্ট"},flowMerchantQr:{en:"Merchant & QR Payments",bn:"মার্চেন্ট ও কিউআর পেমেন্ট"},merchantId:{en:"Merchant ID",bn:"মার্চেন্ট আইডি"},recentMerchants:{en:"Recent merchants",bn:"সাম্প্রতিক মার্চেন্ট"},payingTo:{en:"Paying to",bn:"পরিশোধ করা হচ্ছে"},paymentAmount:{en:"Payment Amount",bn:"পেমেন্টের পরিমাণ"},slideToPayment:{en:"Slide to Pay",bn:"পে করতে স্লাইড করুন"},flowAddMoney:{en:"Add Money",bn:"টাকা যোগ"},flowTopUpWallet:{en:"Top Up Your Wallet · Free",bn:"ওয়ালেট টপ আপ · ফ্রি"},addingToWallet:{en:"Adding to wallet",bn:"ওয়ালেটে যোগ হচ্ছে"},selectFundingSource:{en:"Select Funding Source",bn:"ফান্ডিং সোর্স নির্বাচন"},bankTransferLabel:{en:"Bank Transfer",bn:"ব্যাংক ট্রান্সফার"},debitCreditCard:{en:"Debit / Credit Card",bn:"ডেবিট / ক্রেডিট কার্ড"},noFees:{en:"No fees!",bn:"কোনো ফি নেই!"},addMoneyZeroCharge:{en:"Add money to your wallet at zero charge.",bn:"বিনা চার্জে আপনার ওয়ালেটে টাকা যোগ করুন।"},slideToAddMoney:{en:"Slide to Add Money",bn:"টাকা যোগ করতে স্লাইড করুন"},flowRecharge:{en:"Mobile Recharge",bn:"মোবাইল রিচার্জ"},selectOperatorOrNumber:{en:"Select operator or enter number",bn:"অপারেটর নির্বাচন বা নম্বর দিন"},instantTopUp:{en:"Instant Top-up",bn:"তাৎক্ষণিক টপ-আপ"},slideToRecharge:{en:"Slide to Recharge",bn:"রিচার্জ করতে স্লাইড করুন"},flowPayBill:{en:"Pay Bill",bn:"বিল পে"},flowUtilitiesFree:{en:"Utilities & Services · Free",bn:"ইউটিলিটি ও সেবা · ফ্রি"},selectBillType:{en:"Select Bill Type",bn:"বিলের ধরন নির্বাচন"},selectProvider:{en:"Select Provider",bn:"প্রোভাইডার নির্বাচন"},fetchBill:{en:"Fetch Bill",bn:"বিল আনুন"},billType:{en:"Bill Type",bn:"বিলের ধরন"},slideToPayBill:{en:"Slide to Pay Bill",bn:"বিল পে করতে স্লাইড করুন"},pbStepBillType:{en:"Bill Type",bn:"বিলের ধরন"},pbStepAccount:{en:"Account",bn:"অ্যাকাউন্ট"},pbStepDetails:{en:"Details",bn:"বিবরণ"},pbStepReview:{en:"Review",bn:"রিভিউ"},pbStepPin:{en:"PIN",bn:"পিন"},pbStepDone:{en:"Done",bn:"সম্পন্ন"}
181,pbGoBack:{en:"Go back",bn:"ফিরে যান"},pbStepOf:{en:"Step {current} of {total}",bn:"ধাপ {current} এর {total}"},pbBillTypeLabel:{en:"Bill Type",bn:"বিলের ধরন"},pbElectricity:{en:"Electricity",bn:"বিদ্যুৎ"},pbGas:{en:"Gas",bn:"গ্যাস"},pbWater:{en:"Water",bn:"পানি"},pbInternet:{en:"Internet",bn:"ইন্টারনেট"},pbTvCable:{en:"TV / Cable",bn:"টিভি / ক্যাবল"},pbAcctCustomerId:{en:"Customer ID",bn:"কাস্টমার আইডি"},pbAcctBillAccount:{en:"Bill Account No.",bn:"বিল অ্যাকাউন্ট নম্বর"},pbAcctConnection:{en:"Connection No.",bn:"কানেকশন নম্বর"},pbAcctUserId:{en:"Account / User ID",bn:"অ্যাকাউন্ট / ইউজার আইডি"},pbAcctSubscriber:{en:"Subscriber ID",bn:"সাবস্ক্রাইবার আইডি"},pbAcctPlaceholderElec:{en:"e.g. 1234567890",bn:"যেমন 1234567890"},pbAcctPlaceholderGas:{en:"e.g. 01-123456-00",bn:"যেমন 01-123456-00"},pbAcctPlaceholderWater:{en:"e.g. W-789012",bn:"যেমন W-789012"},pbAcctPlaceholderNet:{en:"e.g. ISP-100234",bn:"যেমন ISP-100234"},pbAcctPlaceholderTv:{en:"e.g. 5678901",bn:"যেমন 5678901"},pbErrSelectProvider:{en:"Please select a provider.",bn:"একটি প্রোভাইডার নির্বাচন করুন।"},pbErrValidAccount:{en:"Enter a valid {label}.",bn:"একটি বৈধ {label} দিন।"},pbErrValidAmount:{en:"Enter a valid bill amount.",bn:"একটি বৈধ বিল পরিমাণ দিন।"},pbErrEnterPin:{en:"Enter your 4-digit PIN.",bn:"আপনার ৪-সংখ্যার পিন দিন।"},pbErrIncorrectPin:{en:"Incorrect PIN. Please try again.",bn:"ভুল পিন। আবার চেষ্টা করুন।"},pbErrDailyLimit:{en:"Daily limit exceeded. Used ৳{used} of ৳{limit} today.",bn:"দৈনিক সীমা অতিক্রান্ত। আজ ৳{limit} এর মধ্যে ৳{used} ব্যবহার করেছেন।"},pbEnterBillAmount:{en:"Enter Bill Amount",bn:"বিলের পরিমাণ দিন"},pbAmountPlaceholder:{en:"e.g. 1250",bn:"যেমন 1250"},pbBillSuffix:{en:"Bill",bn:"বিল"},pbReviewPayment:{en:"Review Payment",bn:"পেমেন্ট রিভিউ করুন"},pbPaying:{en:"Paying",bn:"পরিশোধ করছেন"},pbBillSummary:{en:"Bill Summary",bn:"বিলের সারাংশ"},pbBillAmount:{en:"Bill Amount",bn:"বিলের পরিমাণ"},pbFree:{en:"Free",bn:"ফ্রি"},pbTotal:{en:"Total",bn:"মোট"},pbConfirmEnterPin:{en:"Confirm & Enter PIN",bn:"নিশ্চিত করুন ও পিন দিন"},pbEditAmount:{en:"Edit Amount",bn:"পরিমাণ এডিট করুন"},pbConfirmPayment:{en:"Confirm payment",bn:"পেমেন্ট নিশ্চিত করুন"},pbEnterPinToPay:{en:"Enter your PIN to pay ৳{amount} to {provider}",bn:"{provider} কে ৳{amount} পরিশোধে আপনার পিন দিন"},pbProcessing:{en:"Processing...",bn:"প্রসেস হচ্ছে..."},pbSlideToPay:{en:"Slide to pay ৳{amount}",bn:"৳{amount} পরিশোধে স্লাইড করুন"},pbBillPaidSuccess:{en:"Bill paid successfully",bn:"বিল সফলভাবে পরিশোধিত"},pbBillPaidSub:{en:"Your utility payment has been completed instantly.",bn:"আপনার ইউটিলিটি পেমেন্ট তৎক্ষণাৎ সম্পন্ন হয়েছে।"},pbTotalPaid:{en:"Total Paid",bn:"মোট পরিশোধিত"},pbAccountNo:{en:"Account No.",bn:"অ্যাকাউন্ট নম্বর"},pbFeeLabel:{en:"Fee",bn:"ফি"},pbDate:{en:"Date",bn:"তারিখ"},pbTime:{en:"Time",bn:"সময়"},pbTxnId:{en:"Transaction ID",bn:"ট্রানজেকশন আইডি"},pbCouponLabel:{en:"🎟️ Coupon ({code})",bn:"🎟️ কুপন ({code})"},pbReceiptTitle:{en:"Bill Payment Successful",bn:"বিল পেমেন্ট সফল"},pbToastType:{en:"Bill Payment",bn:"বিল পেমেন্ট"},serviceFee:{en:"Service Fee",bn:"সার্ভিস ফি"},feeSource:{en:"Fee source",bn:"ফি উৎস"},fromYourBalance:{en:"From your balance",bn:"আপনার ব্যালেন্স থেকে"},fromBalance:{en:"From balance",bn:"ব্যালেন্স থেকে"},deductedFromAmount:{en:"Deducted from amount",bn:"পরিমাণ থেকে কর্তন"},totalFromBalance:{en:"Total from balance",bn:"ব্যালেন্স থেকে মোট"},reviewTransfer:{en:"Review Transfer",bn:"ট্রান্সফার পর্যালোচনা"},transferSummary:{en:"Transfer Summary",bn:"ট্রান্সফার সারসংক্ষেপ"},confirmEnterPin:{en:"Confirm & Enter PIN",bn:"নিশ্চিত করুন ও পিন দিন"},edit:{en:"Edit",bn:"সম্পাদনা"},sending:{en:"Sending",bn:"পাঠানো হচ্ছে"},youreSending:{en:"You're sending",bn:"আপনি পাঠাচ্ছেন"},moneySent:{en:"Money Sent!",bn:"টাকা পাঠানো হয়েছে!"},recipient:{en:"Recipient",bn:"প্রাপক"},mobileWallet:{en:"Mobile / Wallet",bn:"মোবাইল / ওয়ালেট"},backToHome:{en:"Back to Home",bn:"হোমে ফিরুন"},time:{en:"Time",bn:"সময়"},note:{en:"Note",bn:"নোট"},scanRecipientQr:{en:"Scan Recipient QR",bn:"প্রাপকের কিউআর স্ক্যান"},enterValidNumber:{en:"Enter a valid 11-digit mobile number or Wallet ID (MFS-ABCD-EFGH).",bn:"একটি বৈধ ১১ সংখ্যার মোবাইল নম্বর বা ওয়ালেট আই
181ডি দিন।"},enterValidAmount:{en:"Enter a valid amount.",bn:"একটি বৈধ পরিমাণ দিন।"},enterYour4DigitPin:{en:"Enter your 4-digit PIN.",bn:"আপনার ৪ সংখ্যার পিন দিন।"},confirmWithPin:{en:"Confirm with PIN",bn:"পিন দিয়ে নিশ্চিত করুন"},enterWalletPin:{en:"Enter your 4-digit wallet PIN to complete",bn:"সম্পন্ন করতে আপনার ৪ সংখ্যার ওয়ালেট পিন দিন"},continueToPIN:{en:"Continue to PIN",bn:"পিনে এগিয়ে যান"},cashingOutAt:{en:"Cashing out at",bn:"ক্যাশ আউট হচ্ছে"},transferringTo:{en:"Transferring to",bn:"ট্রান্সফার হচ্ছে"},personal:{en:"Personal",bn:"ব্যক্তিগত"},merchant:{en:"Merchant",bn:"মার্চেন্ট"},cashOutAmount:{en:"Cash Out Amount",bn:"ক্যাশ আউট পরিমাণ"},transferringToBank:{en:"Transferring to bank",bn:"ব্যাংকে ট্রান্সফার হচ্ছে"},cashingOut:{en:"Cashing out",bn:"ক্যাশ আউট হচ্ছে"},slideToTransfer:{en:"Slide to Transfer",bn:"ট্রান্সফার করতে স্লাইড করুন"},bankTransferSuccessful:{en:"Bank Transfer Successful!",bn:"ব্যাংক ট্রান্সফার সফল!"},cashOutSuccessful:{en:"Cash Out Successful!",bn:"ক্যাশ আউট সফল!"},youReceived:{en:"You Received",bn:"আপনি পেয়েছেন"},feeDeductedFrom:{en:"Fee deducted from",bn:"ফি কর্তন হয়েছে"},bank:{en:"Bank",bn:"ব্যাংক"},agent:{en:"Agent",bn:"এজেন্ট"},orEnterNew:{en:"or enter new",bn:"অথবা নতুন দিন"},removeSavedAccount:{en:"Remove saved account?",bn:"সংরক্ষিত অ্যাকাউন্ট সরাবেন?"},removeSavedAccountDesc:{en:"This bank account will be removed from your saved list. You can always add it again later.",bn:"এই ব্যাংক অ্যাকাউন্ট আপনার সংরক্ষিত তালিকা থেকে সরানো হবে।"},cancel:{en:"Cancel",bn:"বাতিল"},remove:{en:"Remove",bn:"সরান"},paying:{en:"Paying",bn:"পরিশোধ হচ্ছে"},paymentSuccessful:{en:"Payment Successful!",bn:"পেমেন্ট সফল!"},category:{en:"Category",bn:"ক্যাটাগরি"},scanMerchantQr:{en:"Scan Merchant QR",bn:"মার্চেন্ট কিউআর স্ক্যান"},source:{en:"Source",bn:"উৎস"},adding:{en:"Adding",bn:"যোগ হচ্ছে"},walletCredit:{en:"Wallet Credit",bn:"ওয়ালেট ক্রেডিট"},moneyAdded:{en:"Money Added!",bn:"টাকা যোগ হয়েছে!"},hasBeenAddedToWallet:{en:"has been added to your wallet",bn:"আপনার ওয়ালেটে যোগ হয়েছে"},transactionReceipt:{en:"Transaction Receipt",bn:"লেনদেন রসিদ"},iSentTheTransfer:{en:"I've Sent the Transfer",bn:"আমি ট্রান্সফার পাঠিয়েছি"},transferFrom:{en:"Transfer from",bn:"ট্রান্সফার হচ্ছে"},payViaCard:{en:"via Card",bn:"কার্ডের মাধ্যমে"},cardNumber:{en:"Card Number",bn:"কার্ড নম্বর"},nameOnCard:{en:"Name on Card",bn:"কার্ডে নাম"},expiry:{en:"Expiry",bn:"মেয়াদ"},detectedOperator:{en:"Detected operator",bn:"শনাক্তকৃত অপারেটর"},unknownOperator:{en:"Unknown operator",bn:"অজানা অপারেটর"},browseByOperator:{en:"Browse Package & Special Offer",bn:"প্যাকেজ ও বিশেষ অফার ব্রাউজ করুন"},recharging:{en:"Recharging",bn:"রিচার্জ হচ্ছে"},rechargeSuccessful:{en:"Recharge Successful!",bn:"রিচার্জ সফল!"},scanAgentQr:{en:"Scan Agent QR",bn:"এজেন্ট কিউআর স্ক্যান"},amHintBkash:{en:"bKash TxnID is 10 alphanumeric characters (e.g., ABC1234XYZ)",bn:"বিকাশ TxnID ১০টি অ্যালফানিউমেরিক অক্ষর (যেমন ABC1234XYZ)"},amHintNagad:{en:"Nagad TxnID is 8-15 digits (e.g., 12345678901)",bn:"নগদ TxnID ৮-১৫ সংখ্যা (যেমন 12345678901)"},amHintRocket:{en:"Rocket TxnID starts with 'R' followed by digits (e.g., R12345678)",bn:"রকেট TxnID 'R' দিয়ে শুরু হয় এবং পরে সংখ্যা থাকে (যেমন R12345678)"},amTitle:{en:"Add Money",bn:"টাকা যোগ"},amSubtitle:{en:"Submit a deposit request for approval",bn:"অনুমোদনের জন্য জমা অনুরোধ পাঠান"}
181,amGoBack:{en:"Go back",bn:"পিছনে যান"},amStepOf:{en:"Step {n} of {total}",bn:"ধাপ {n} / {total}"},amEnterAmount:{en:"Enter Amount",bn:"পরিমাণ দিন"},amEnterValidAmount:{en:"Enter a valid amount.",bn:"বৈধ পরিমাণ দিন।"},amMin:{en:"Minimum is ৳10.",bn:"সর্বনিম্ন ৳১০।"},amMax:{en:"Maximum is ৳1,00,000.",bn:"সর্বোচ্চ ৳১,০০,০০০।"},amExceedsDaily:{en:"Exceeds daily limit (৳100,000)",bn:"দৈনিক সীমা অতিক্রম (৳১,০০,০০০)"},amContinue:{en:"Continue",bn:"এগিয়ে যান"},amHowSent:{en:"How did you send the money?",bn:"কীভাবে টাকা পাঠিয়েছেন?"},amSelectSource:{en:"Select a source.",bn:"একটি উৎস নির্বাচন করুন।"},amSourceBank:{en:"Bank Transfer",bn:"ব্যাংক ট্রান্সফার"},amSourceBkash:{en:"bKash",bn:"বিকাশ"},amSourceNagad:{en:"Nagad",bn:"নগদ"},amSourceRocket:{en:"Rocket",bn:"রকেট"},amSourceUpay:{en:"Upay",bn:"উপায়"},amSourceCard:{en:"Card / Other",bn:"কার্ড / অন্যান্য"},amSourceUddoktapay:{en:"Pay Online (UddoktaPay)",bn:"অনলাইন পেমেন্ট (উদ্দোক্তাপে)"},amPayNowUddoktapay:{en:"Pay Now with UddoktaPay",bn:"উদ্দোক্তাপে দিয়ে পেমেন্ট করুন"},amAmountLabel:{en:"Amount",bn:"পরিমাণ"},amSourceLabel:{en:"Source",bn:"উৎস"},amSendToAccount:{en:"Send money to this account",bn:"এই অ্যাকাউন্টে টাকা পাঠান"},amLoadingAccounts:{en:"Loading accounts…",bn:"অ্যাকাউন্ট লোড হচ্ছে…"},amNoDepositAccount:{en:"No deposit account configured for this method yet. Please contact support.",bn:"এই পদ্ধতির জন্য জমা অ্যাকাউন্ট কনফিগার করা হয়নি। সাপোর্টে যোগাযোগ করুন।"},amBankLabel:{en:"Bank",bn:"ব্যাংক"},amISentMoney:{en:"I've Sent the Money",bn:"আমি টাকা পাঠিয়েছি"},amCopied:{en:"Copied!",bn:"কপি হয়েছে!"},amWarningTitle:{en:"⚠️ Warning",bn:"⚠️ সতর্কতা"},amWarningBody:{en:"Submitting fake transaction details, forged screenshots, or fraudulent proof will result in immediate and permanent account termination. Legal action may be pursued. All submissions are verified.",bn:"জাল লেনদেন তথ্য, ভুয়া স্ক্রিনশট বা প্রতারণামূলক প্রমাণ জমা দিলে অ্যাকাউন্ট তাৎক্ষণিক ও স্থায়ীভাবে বন্ধ হবে। আইনি ব্যবস্থা নেওয়া হতে পারে। সকল জমা যাচাই করা হয়।"},amWarningBold:{en:"immediate and permanent account termination",bn:"তাৎক্ষণিক ও স্থায়ী অ্যাকাউন্ট বন্ধ"},amTxnIdLabel:{en:"Transaction ID / Reference",bn:"লেনদেন আইডি / রেফারেন্স"},amTxnIdPlaceholder:{en:"e.g. TXN123456789",bn:"যেমন TXN123456789"},amCheckingDuplicate:{en:"Checking for duplicates…",bn:"ডুপ্লিকেট পরীক্ষা হচ্ছে…"},amFormatOk:{en:"Format looks correct",bn:"ফরম্যাট ঠিক আছে"},amUploadReceipt:{en:"Upload Receipt / Screenshot",bn:"রসিদ / স্ক্রিনশট আপলোড"},amTapToUpload:{en:"Tap to upload (max 5MB)",bn:"আপলোডে ট্যাপ করুন (সর্বোচ্চ ৫MB)"},amFileTooLarge:{en:"File must be under 5MB.",bn:"ফাইল ৫MB এর নিচে হতে হবে।"},amProvideProof:{en:"Provide a Transaction ID or upload proof.",bn:"একটি লেনদেন আইডি দিন বা প্রমাণ আপলোড করুন।"},amDuplicateBlock:{en:"Please use a different Transaction ID — this one was already submitted.",bn:"অনুগ্রহ করে অন্য লেনদেন আইডি ব্যবহার করুন — এটি আগেই জমা দেওয়া হয়েছে।"}
181,amDuplicateInfo:{en:"This Transaction ID was already submitted on {date} ({status}). Duplicate IDs may delay processing.",bn:"এই লেনদেন আইডি {date}-এ আগেই জমা দেওয়া হয়েছে ({status})। ডুপ্লিকেট আইডি প্রক্রিয়াকরণে দেরি করতে পারে।"},amConfirmPin:{en:"Confirm with PIN",bn:"পিন দিয়ে নিশ্চিত করুন"},amEnter4Pin:{en:"Enter your 4-digit PIN to submit",bn:"জমা দিতে আপনার ৪ সংখ্যার পিন দিন"},amEnterPin:{en:"Enter your 4-digit PIN.",bn:"আপনার ৪ সংখ্যার পিন দিন।"},amIncorrectPin:{en:"Incorrect PIN. Try again.",bn:"ভুল পিন। আবার চেষ্টা করুন।"},amVerifying:{en:"Verifying…",bn:"যাচাই হচ্ছে…"},amConfirmSubmit:{en:"Confirm & Submit",bn:"নিশ্চিত করুন ও জমা দিন"},amSubmitFailed:{en:"Failed to submit request.",bn:"অনুরোধ জমা ব্যর্থ।"},amApprovedToast:{en:"Your add money request has been approved! ✅",bn:"আপনার টাকা যোগ অনুরোধ অনুমোদিত হয়েছে! ✅"},amRejectedToast:{en:"Your add money request was rejected.",bn:"আপনার টাকা যোগ অনুরোধ প্রত্যাখ্যাত হয়েছে।"},amSubmitted:{en:"Submitted",bn:"জমা হয়েছে"},amUnderReview:{en:"Under Review",bn:"পর্যালোচনাধীন"},amApproved:{en:"Approved",bn:"অনুমোদিত"},amStatusApprovedTitle:{en:"Request Approved! ✅",bn:"অনুরোধ অনুমোদিত! ✅"},amStatusRejectedTitle:{en:"Request Rejected",bn:"অনুরোধ প্রত্যাখ্যাত"},amStatusSubmittedTitle:{en:"Request Submitted",bn:"অনুরোধ জমা হয়েছে"},amApprovedBody:{en:"{amt} has been added to your wallet.",bn:"{amt} আপনার ওয়ালেটে যোগ হয়েছে।"},amRejectedBody:{en:"Your add money request of {amt} was rejected. Check notifications for details.",bn:"{amt} টাকা যোগের অনুরোধ প্রত্যাখ্যাত হয়েছে। বিস্তারিত নোটিফিকেশনে দেখুন।"},amPendingBodyPrefix:{en:"Your add money request of",bn:"আপনার টাকা যোগের অনুরোধ"},amPendingBodySuffix:{en:"is pending approval.",bn:"অনুমোদনের অপেক্ষায়।"},amProcessingHint:{en:"⏱ Usually processed within 15 minutes. You'll be notified when done.",bn:"⏱ সাধারণত ১৫ মিনিটে প্রক্রিয়া হয়। সম্পন্ন হলে আপনাকে জানানো হবে।"},amDone:{en:"Done",bn:"সম্পন্ন"},coGoBack:{en:"Go back",bn:"পিছনে যান"},coStepOf:{en:"Step {n} of {total}",bn:"ধাপ {n} / {total}"},coAgentIdPlaceholder:{en:"e.g. AGT-10234",bn:"যেমন AGT-10234"},coAgentNotFound:{en:"Agent not found. Please enter a valid Agent ID or phone.",bn:"এজেন্ট পাওয়া যায়নি। বৈধ এজেন্ট আইডি বা ফোন নম্বর দিন।"},coEnterValidAgentId:{en:"Enter a valid Agent ID.",bn:"বৈধ এজেন্ট আইডি দিন।"},coQrNotAgent:{en:"This QR is not an agent QR. Scan an agent QR to cash out.",bn:"এই কিউআর এজেন্ট কিউআর নয়। ক্যাশ আউট করতে এজেন্ট কিউআর স্ক্যান করুন।"},coQrUnreadable:{en:"Couldn't read this QR. Please try again or enter the Agent ID manually.",bn:"এই কিউআর পড়া যায়নি। আবার চেষ্টা করুন বা এজেন্ট আইডি লিখুন।"},smQrIsAgent:{en:"This is an agent QR. Use Cash Out instead of Send Money.",bn:"এটি এজেন্ট কিউআর। সেন্ড মানির বদলে ক্যাশ আউট ব্যবহার করুন।"},smQrIsMerchant:{en:"This is a merchant QR. Use Pay Merchant instead of Send Money.",bn:"এটি মার্চেন্ট কিউআর। সেন্ড মানির বদলে পে মার্চেন্ট ব্যবহার করুন।"},coRecentAgents:{en:"Recent Agents",bn:"সাম্প্রতিক এজেন্ট"},coEnableLocation:{en:"Enable location to find nearby agents",bn:"কাছাকাছি এজেন্ট খুঁজতে লোকেশন চালু করুন"},coSearchPlaceholder:{en:"Search agent name or ID…",bn:"এজেন্টের নাম বা আইডি খুঁজুন…"},coFindingNearby:{en:"Finding nearby agents…",bn:"কাছাকাছি এজেন্ট খোঁজা হচ্ছে…"},coNoAgentsFound:{en:"No agents found",bn:"কোনো এজেন্ট পাওয়া যায়নি"},coEnterAgentAbove:{en:"Enter an Agent ID above to continue",bn:"এগিয়ে যেতে উপরে এজেন্ট আই
181ডি দিন"},coEnterValidAmount:{en:"Enter a valid amount.",bn:"বৈধ পরিমাণ দিন।"},coMinCashOut:{en:"Minimum cash out amount is ৳30.",bn:"সর্বনিম্ন ক্যাশ আউট ৳৩০।"},coMaxCashOut:{en:"Maximum cash out per day is ৳50,000.",bn:"দৈনিক সর্বোচ্চ ক্যাশ আউট ৳৫০,০০০।"},coEnterPin:{en:"Enter your 4-digit PIN.",bn:"আপনার ৪ সংখ্যার পিন দিন।"},coIncorrectPin:{en:"Incorrect PIN. Please try again.",bn:"ভুল পিন। আবার চেষ্টা করুন।"},coDailyLimitUsed:{en:"Daily limit exceeded. Used ৳{used} of ৳{limit} today.",bn:"দৈনিক সীমা অতিক্রম। আজ ৳{limit} এর মধ্যে ৳{used} ব্যবহৃত।"},coCashOutFailed:{en:"Cash out failed",bn:"ক্যাশ আউট ব্যর্থ"},coInsufficientBalance:{en:"Insufficient balance",bn:"অপর্যাপ্ত ব্যালেন্স"},coExceedsDailyLimit:{en:"Exceeds daily limit (৳35,000)",bn:"দৈনিক সীমা অতিক্রম করছে (৳৩৫,০০০)"},coReviewCashOut:{en:"Review Cash Out",bn:"ক্যাশ আউট পর্যালোচনা"},coTransactionSummary:{en:"Transaction Summary",bn:"লেনদেনের সারসংক্ষেপ"},coFee:{en:"Fee",bn:"ফি"},coFeeSource:{en:"Fee source",bn:"ফির উৎস"},coFeeFromBalance:{en:"From your balance",bn:"আপনার ব্যালেন্স থেকে"},coFeeBalancePlusAmount:{en:"৳{bal} balance + ৳{amt} from amount",bn:"৳{bal} ব্যালেন্স + ৳{amt} পরিমাণ থেকে"},coFeeDeductedFromAmount:{en:"Deducted from amount",bn:"পরিমাণ থেকে কর্তিত"},coTotalFromBalance:{en:"Total from balance",bn:"ব্যালেন্স থেকে মোট"},coConfirmEnterPin:{en:"Confirm & Enter PIN",bn:"নিশ্চিত করুন ও পিন দিন"},coEditAmount:{en:"Edit Amount",bn:"পরিমাণ পরিবর্তন"},coAt:{en:"at",bn:"এ"},coCashedOutAt:{en:"{amt} cashed out at",bn:"{amt} ক্যাশ আউট হয়েছে"},coFromBalanceShort:{en:"from balance",bn:"ব্যালেন্স থেকে"},coBalancePlusAmountShort:{en:"balance + amount",bn:"ব্যালেন্স + পরিমাণ"},coFromAmountShort:{en:"from amount",bn:"পরিমাণ থেকে"},coAgentId:{en:"Agent ID",bn:"এজেন্ট আইডি"},coAmount:{en:"Amount",bn:"পরিমাণ"},coTotalDeducted:{en:"Total Deducted",bn:"মোট কর্তন"},coConfirmAgentNumber:{en:"Confirm agent number",bn:"এজেন্ট নম্বর নিশ্চিত করুন"},coConfirmAgentNumberHelp:{en:"Please verify this matches the agent before submitting.",bn:"জমা দেওয়ার আগে এটি এজেন্টের সাথে মিলছে কিনা যাচাই করুন।"},coToastType:{en:"Cash Out",bn:"ক্যাশ আউট"},coAgentFallbackName:{en:"Agent",bn:"এজেন্ট"},coDate:{en:"Date",bn:"তারিখ"},coTime:{en:"Time",bn:"সময়"},coTransactionId:{en:"Transaction ID",bn:"লেনদেন আইডি"},coThanksFeedback:{en:"Thanks for your feedback! ✨",bn:"আপনার মতামতের জন্য ধন্যবাদ! ✨"},coRateAgent:{en:"Rate this agent",bn:"এই এজেন্টকে রেটিং দিন"},coExperiencePlaceholder:{en:"How was your experience? (optional)",bn:"আপনার অভিজ্ঞতা কেমন ছিল? (ঐচ্ছিক)"},coSubmittingRating:{en:"Submitting…",bn:"জমা হচ্ছে…"},coSubmitRating:{en:"Submit Rating",bn:"রেটিং জমা দিন"},coCashOutSuccessTitle:{en:"Cash Out Successful",bn:"ক্যাশ আউট সফল"},coCouponLabel:{en:"Coupon",bn:"কুপন"},confirmPayment:{en:"Confirm Payment",bn:"পেমেন্ট নিশ্চিত করুন"},paymentWillBeDeducted:{en:"Payment will be deducted from your wallet balance. A confirmation SMS will be sent to your registered number.",bn:"পেমেন্ট আপনার ওয়ালেট ব্যালেন্স থেকে কর্তন করা হবে। আপনার নিবন্ধিত নম্বরে নিশ্চিতকরণ এসএমএস পাঠানো হবে।"},paymentSuccessfulBill:{en:"Payment Successful!",bn:"পেমেন্ট সফল!"},billAmount:{en:"Bill Amount",bn:"বিলের পরিমাণ"},billMonth:{en:"Bill Month",bn:"বিল মাস"},dueDate:{en:"Due Date",bn:"নির্ধারিত তারিখ"},accountNoLabel:{en:"Account No.",bn:"অ্যাকাউন্ট নম্বর"},mrSubInternet:{en:"Internet",bn:"ইন্টারনেট"},mrSubMinutes:{en:"Minutes",bn:"মিনিট"},mrSubBundles:{en:"Bundles",bn:"বান্ডেল"},mrSubCallRates:{en:"Call Rates",bn:"কল রেট"},mrSelectedPack:{en:"Selected pack",bn:"নির্বাচিত প্যাক"},mrMobileNumber:{en:"Mobile Number",bn:"মোবাইল নম্বর"},mrEnterRecipientNumber:{en:"Enter recipient number",bn:"গ্রাহকের নম্বর দিন"},mrContacts:{en:"Contacts",bn:"যোগাযোগ"},mrSyncContacts:{en:"Sync contacts",bn:"যোগাযোগ সিঙ্ক করুন"},mrNoMatchingContacts:{en:"No matching contacts",bn:"মিলে এমন কোনো যোগাযোগ নেই"},mrContinueWith:{en:"Continue with",bn:"নির্বাচন চালিয়ে যান"},mrBrowsePackages:{en:"Browse Package & Special Offer",bn:"প্যাকেজ ও বিশেষ অফার ব্রাউজ করুন"},mrDrive:{en:"Drive",bn:"ড্রাইভ"},mrRegular:{en:"Regular",bn:"নিয়মিত"},mrDriveExplain:{en:"Drive packs earn you cashback commission credited to your wallet.",bn:"ড্রাইভ প্যাক থেকে ক্যাশব্যাক কমিশন আপনার ওয়ালেটে যোগ হয়।"},mrEarnCashback:{en:"Earn",bn:"অর্জন করুন"},mrCashback:{en:"cashback",bn:"ক্যাশব্যাক"},mrNoPacksInCategory:{en:"No packs available in this category.",bn:"এই ক্যাটাগরিতে কোনো প্যাক নেই।"}
181,mrSelectAPack:{en:"Select a Pack",bn:"একটি প্যাক নির্বাচন করুন"},mrRechargeAmount:{en:"Recharge Amount",bn:"রিচার্জের পরিমাণ"},mrAmountRangeHelp:{en:"Enter any amount between ৳10 and ৳2,000",bn:"৳১০ থেকে ৳২,০০০ এর মধ্যে যেকোনো পরিমাণ দিন"},mrAmountMinMax:{en:"Min ৳10 · Max ৳2,000",bn:"সর্বনিম্ন ৳১০ · সর্বোচ্চ ৳২,০০০"},mrInsufficientBalance:{en:"Insufficient balance",bn:"অপর্যাপ্ত ব্যালেন্স"},mrMinRecharge20:{en:"Minimum recharge ৳20",bn:"সর্বনিম্ন রিচার্জ ৳২০"},mrMaxRecharge1000:{en:"Maximum recharge ৳1,000",bn:"সর্বোচ্চ রিচার্জ ৳১,০০০"},mrDetails:{en:"Details",bn:"বিস্তারিত"},mrValidity:{en:"Validity",bn:"মেয়াদ"},mrDriveCashback2:{en:"Drive Cashback (2%)",bn:"ড্রাইভ ক্যাশব্যাক (২%)"},mrServiceFee:{en:"Service fee",bn:"সার্ভিস ফি"},mrFree:{en:"Free",bn:"ফ্রি"},mrAuthorizeRecharge:{en:"Authorize this recharge",bn:"এই রিচার্জ অনুমোদন করুন"},mrSlideToRecharge:{en:"Slide to Recharge",bn:"রিচার্জ করতে স্লাইড করুন"},mrReceipt:{en:"Receipt",bn:"রসিদ"},mrTransactionId:{en:"Transaction ID",bn:"লেনদেন আইডি"},mrDateTime:{en:"Date & Time",bn:"তারিখ ও সময়"},mrNumber:{en:"Number",bn:"নম্বর"},mrOperator:{en:"Operator",bn:"অপারেটর"},mrPack:{en:"Pack",bn:"প্যাক"},mrCustom:{en:"Custom",bn:"কাস্টম"},mrCustomRecharge:{en:"Custom Recharge",bn:"কাস্টম রিচার্জ"},mrDeductedFromBalance:{en:"Deducted from balance",bn:"ব্যালেন্স থেকে কর্তিত"},mrCashbackEarned:{en:"cashback earned!",bn:"ক্যাশব্যাক অর্জিত!"},mrProcessingViaApi:{en:"Processing via",bn:"প্রক্রিয়া হচ্ছে"},mrApiSuffix:{en:"API...",bn:"API দিয়ে..."},mrConfirmedByOperator:{en:"Recharge confirmed by operator",bn:"অপারেটর কর্তৃক রিচার্জ নিশ্চিত"},mrApiErrorLocal:{en:"API error, recording locally",bn:"API ত্রুটি, স্থানীয়ভাবে রেকর্ড হচ্ছে"},mrErr11Digit:{en:"Enter an 11-digit mobile number.",bn:"১১ অঙ্কের মোবাইল নম্বর দিন।"},mrErrDetectOp:{en:"Unable to detect operator. Check the number.",bn:"অপারেটর শনাক্ত করা যাচ্ছে না। নম্বর যাচাই করুন।"},mrErrSelectPack:{en:"Please select a pack to continue.",bn:"চালিয়ে যেতে একটি প্যাক নির্বাচন করুন।"},mrErrValidAmountMin:{en:"Enter a valid amount (min ৳20).",bn:"বৈধ পরিমাণ দিন (সর্বনিম্ন ৳২০)।"},mrErrMaxAmount:{en:"Maximum amount is ৳1,000.",bn:"সর্বোচ্চ পরিমাণ ৳১,০০০।"},mrErrPin4:{en:"Enter your 4-digit PIN.",bn:"আপনার ৪ সংখ্যার পিন দিন।"},mrErrDailyLimit:{en:"Daily limit exceeded.",bn:"দৈনিক সীমা অতিক্রম করেছে।"},mrErrUsedOf:{en:"Used",bn:"ব্যবহৃত"},mrErrOfToday:{en:"today.",bn:"আজ।"},mrServiceUnavailable:{en:"Recharge service unavailable. Please try again later.",bn:"রিচার্জ সেবা উপলব্ধ নেই। পরে আবার চেষ্টা করুন।"},mrToastDriveCashback:{en:"Drive Cashback",bn:"ড্রাইভ ক্যাশব্যাক"},mrToastLiveRecharge:{en:"Live Recharge",bn:"লাইভ রিচার্জ"},mrShareSuccessTitle:{en:"Recharge Successful",bn:"রিচার্জ সফল"},mrCouponPrefix:{en:"Coupon",bn:"কুপন"},notifications:{en:"Notifications",bn:"নোটিফিকেশন"},allRead:{en:"All read",bn:"সব পড়া হয়েছে"},clear:{en:"Clear",bn:"মুছুন"}
181,allCaughtUp:{en:"All caught up!",bn:"সব দেখা হয়েছে!"},noNotificationsRightNow:{en:"No notifications right now.",bn:"এখন কোনো নোটিফিকেশন নেই।"},ncTransactions:{en:"Transactions",bn:"লেনদেন"},ncPromotions:{en:"Promotions",bn:"প্রমোশন"},ncSystem:{en:"System",bn:"সিস্টেম"},inboxTitle:{en:"Inbox",bn:"ইনবক্স"},newChat:{en:"New Chat",bn:"নতুন চ্যাট"},typeMessage:{en:"Type a message…",bn:"একটি বার্তা লিখুন…"},online:{en:"online",bn:"অনলাইন"},members:{en:"members",bn:"সদস্য"},insightsTitle:{en:"Spending Insights",bn:"ব্যয় বিশ্লেষণ"},insightsSub2:{en:"Track your spending patterns",bn:"আপনার ব্যয়ের ধরণ ট্র্যাক করুন"},totalSent:{en:"Total Sent",bn:"মোট পাঠানো"},totalReceived:{en:"Total Received",bn:"মোট প্রাপ্ত"},vsLastMonth:{en:"vs last month",bn:"গত মাসের তুলনায়"},monthlyBreakdown:{en:"Monthly Breakdown",bn:"মাসিক বিশ্লেষণ"},categoryBreakdown:{en:"Category Breakdown",bn:"শ্রেণী বিশ্লেষণ"},thisMonth:{en:"This month",bn:"এই মাস"},topMerchants:{en:"Top Merchants",bn:"শীর্ষ মার্চেন্ট"},cashbackEarned:{en:"Cashback Earned",bn:"ক্যাশব্যাক অর্জিত"},siCustom:{en:"Custom",bn:"কাস্টম"},siFrom:{en:"From",bn:"থেকে"},siTo:{en:"To",bn:"পর্যন্ত"},siApplyRange:{en:"Apply Range",bn:"রেঞ্জ প্রয়োগ করুন"},siNoTxnsYet:{en:"No transactions yet",bn:"এখনো কোনো লেনদেন নেই"},siNoTxnsHint:{en:"Your spending insights will appear here once you make transactions in the selected period.",bn:"নির্বাচিত সময়ে লেনদেন করলে আপনার ব্যয় বিশ্লেষণ এখানে দেখা যাবে।"},siBudgetVsActual:{en:"Budget vs Actual",bn:"বাজেট বনাম প্রকৃত"},siBudgetVsActualSub:{en:"This month's spending against your limits",bn:"এই মাসের ব্যয় বনাম আপনার সীমা"},siBudget:{en:"Budget",bn:"বাজেট"},siActual:{en:"Actual",bn:"প্রকৃত"},siUsed:{en:"Used",bn:"ব্যবহৃত"},siNoData:{en:"No data for this period",bn:"এই সময়ের জন্য কোনো তথ্য নেই"},siUnknown:{en:"Unknown",bn:"অজানা"},siCatSend:{en:"Send",bn:"পাঠানো"},siCatCashOut:{en:"CashOut",bn:"ক্যাশআউট"},siCatPayment:{en:"Payment",bn:"পেমেন্ট"},siCatRecharge:{en:"Recharge",bn:"রিচার্জ"},siCatOther:{en:"Other",bn:"অন্যান্য"},siMonJan:{en:"Jan",bn:"জানু"},siMonFeb:{en:"Feb",bn:"ফেব"},siMonMar:{en:"Mar",bn:"মার্চ"},siMonApr:{en:"Apr",bn:"এপ্রি"},siMonMay:{en:"May",bn:"মে"},siMonJun:{en:"Jun",bn:"জুন"},siMonJul:{en:"Jul",bn:"জুলা"},siMonAug:{en:"Aug",bn:"আগ"},siMonSep:{en:"Sep",bn:"সেপ্ট"},siMonOct:{en:"Oct",bn:"অক্টো"},siMonNov:{en:"Nov",bn:"নভে"},siMonDec:{en:"Dec",bn:"ডিসে"},limitsTitle:{en:"Limits & Charges",bn:"সীমা ও চার্জ"},limitsSubtitle:{en:"Your current usage & transaction limits",bn:"আপনার বর্তমান ব্যবহার ও লেনদেন সীমা"},limitsInfoBanner:{en:"Limits reset at midnight. Complete KYC verification to unlock higher transaction limits.",bn:"সীমা মধ্যরাতে রিসেট হয়। উচ্চতর লেনদেন সীমা আনলক করতে কেওয়াইসি সম্পন্ন করুন।"},daily:{en:"Daily",bn:"দৈনিক"},monthly:{en:"Monthly",bn:"মাসিক"},used:{en:"Used",bn:"ব্যবহৃত"},left:{en:"left of",bn:"বাকি আছে"},tariffNote:{en:"Tariff Note",bn:"ট্যারিফ নোট"},pctUsed:{en:"used",bn:"ব্যবহৃত"},tariffCashOutAgent:{en:"Cash Out at agent: 1.85% per transaction",bn:"এজেন্টে ক্যাশ আউট: প্রতি লেনদেনে ১.৮৫%"},tariffCashOutATM:{en:"Cash Out at ATM: ৳15 flat fee per transaction",bn:"ATM-এ ক্যাশ আউট: প্রতি লেনদেনে ৳১
181৫ ফ্ল্যাট ফি"},tariffSendMoney:{en:"Send Money: Free up to ৳25,000/day",bn:"টাকা পাঠান: দৈনিক ৳২৫,০০০ পর্যন্ত ফ্রি"},tariffAddMoney:{en:"Add Money via bank: Free of charge",bn:"ব্যাংকের মাধ্যমে টাকা যোগ: বিনা চার্জে"},tariffPayment:{en:"Payment to merchants: Free of charge",bn:"মার্চেন্ট পেমেন্ট: বিনা চার্জে"},referTitle:{en:"Refer a Friend",bn:"বন্ধুকে রেফার করুন"},referSubtitle:{en:"Earn ৳50 for every successful referral",bn:"প্রতিটি সফল রেফারেলে ৳৫০ আয় করুন"},perSuccessfulReferral:{en:"per successful referral",bn:"প্রতিটি সফল রেফারেলে"},yourReferralCode:{en:"Your referral code",bn:"আপনার রেফারেল কোড"},referralCodeCopied:{en:"Referral code copied!",bn:"রেফারেল কোড কপি হয়েছে!"},totalEarned:{en:"Total Earned",bn:"মোট আয়"},referred:{en:"Referred",bn:"রেফারকৃত"},completed:{en:"Completed",bn:"সম্পন্ন"},pending:{en:"Pending",bn:"অপেক্ষমাণ"},failed:{en:"Failed",bn:"ব্যর্থ"},rewardProgress:{en:"Reward Progress",bn:"পুরস্কার অগ্রগতি"},friends:{en:"friends",bn:"বন্ধু"},moreForMilestone:{en:"more for next milestone",bn:"পরবর্তী মাইলস্টোনের জন্য আরো"},referredFriends:{en:"Referred Friends",bn:"রেফারকৃত বন্ধুরা"},howItWorks:{en:"How it Works",bn:"কিভাবে কাজ করে"},referStep1:{en:"Share your unique referral code with friends",bn:"আপনার রেফারেল কোড বন্ধুদের সাথে শেয়ার করুন"},referStep2:{en:"Friend signs up & completes first transaction",bn:"বন্ধু সাইন আপ করুন ও প্রথম লেনদেন সম্পন্ন করুন"},referStep3:{en:"Both you & your friend earn ৳50 instantly",bn:"আপনি ও আপনার বন্ধু উভয়ে তাৎক্ষণিক ৳৫০ পান"},referShareTitle:{en:"EasyPay Referral",bn:"EasyPay রেফারেল"},referShareText:{en:"Use my referral code {code} on EasyPay and earn up to ৳{reward}! Sign up here: {link}",bn:"EasyPay-তে আমার রেফারেল কোড {code} ব্যবহার করে ৳{reward} পর্যন্ত আয় করুন! এখানে সাইন আপ করুন: {link}"},referUserFallback:{en:"User",bn:"ব্যবহারকারী"},mySavings:{en:"My Savings",bn:"আমার সঞ্চয়"},addToGoal:{en:"Add to Goal",bn:"লক্ষ্যে যোগ করুন"},trackGrowMoney:{en:"Track & grow your money",bn:"আপনার টাকা ট্র্যাক ও বৃদ্ধি করুন"},totalSaved:{en:"Total Saved",bn:"মোট সঞ্চিত"},selectGoal:{en:"Select Goal",bn:"লক্ষ্য নির্বাচন"},remaining:{en:"remaining",bn:"বাকি"},amountToSave:{en:"Amount to Save",bn:"সঞ্চয়ের পরিমাণ"},saveNow:{en:"Save Now",bn:"এখন সঞ্চয় করুন"},goalCompleted:{en:"completed!",bn:"সম্পন্ন!"},savedToGoal:{en:"saved to",bn:"সঞ্চিত হয়েছে"},pctComplete:{en:"complete",bn:"সম্পন্ন"},enterValidAmountSavings:{en:"Enter a valid amount.",bn:"একটি বৈধ পরিমাণ দিন।"},insufficientBalance:{en:"Insufficient balance.",bn:"অপর্যাপ্ত ব্যালেন্স।"},selectSavingsGoal:{en:"Please select a savings goal.",bn:"অনুগ্রহ করে একটি সঞ্চয় লক্ষ্য নির্বাচন করুন।"},wallet:{en:"Wallet",bn:"ওয়ালেট"},emergencyFund:{en:"Emergency Fund",bn:"জরুরি তহবিল"},newPhone:{en:"New Phone",bn:"নতুন ফোন"},vacation:{en:"Vacation",bn:"ভ্রমণ"},shopTitle:{en:"Shop",bn:"শপ"},product:{en:"Product",bn:"পণ্য"},cart:{en:"Cart",bn:"কার্ট"},checkout:{en:"Checkout",bn:"চেকআউট"}
181,orderPlaced:{en:"Order Placed!",bn:"অর্ডার সম্পন্ন!"},myOrders:{en:"My Orders",bn:"আমার অর্ডার"},wishlist:{en:"Wishlist",bn:"উইশলিস্ট"},searchProducts:{en:"Search products…",bn:"পণ্য অনুসন্ধান…"},flashDeals:{en:"Flash Deals",bn:"ফ্ল্যাশ ডিল"},limitedTimeOnly:{en:"Limited time only",bn:"সীমিত সময়ের জন্য"},added:{en:"Added",bn:"যোগ হয়েছে"},add:{en:"Add",bn:"যোগ"},addedToCart:{en:"Added to cart",bn:"কার্টে যোগ হয়েছে"},noProductsFound:{en:"No products found",bn:"কোনো পণ্য পাওয়া যায়নি"},tryDifferentSearch:{en:"Try a different search or category",bn:"ভিন্ন অনুসন্ধান বা ক্যাটাগরি চেষ্টা করুন"},addToCart:{en:"Add to Cart",bn:"কার্টে যোগ"},buyNow:{en:"Buy Now",bn:"এখনই কিনুন"},shopDescription:{en:"Description",bn:"বিবরণ"},customerReviews:{en:"Customer Reviews",bn:"গ্রাহক রিভিউ"},writeReview:{en:"Write Review",bn:"রিভিউ লিখুন"},reviews:{en:"reviews",bn:"রিভিউ"},noReviewsYet:{en:"No reviews yet. Be the first!",bn:"এখনও কোনো রিভিউ নেই। প্রথম হোন!"},purchaseToReview:{en:"Purchase this item to leave a review",bn:"রিভিউ দিতে এই পণ্যটি কিনুন"},relatedProducts:{en:"Related Products",bn:"সম্পর্কিত পণ্য"},limitedTimeOffer:{en:"Limited time offer",bn:"সীমিত সময়ের অফার"},removedFromWishlist:{en:"Removed from wishlist",bn:"উইশলিস্ট থেকে সরানো হয়েছে"},addedToWishlist:{en:"Added to wishlist",bn:"উইশলিস্টে যোগ হয়েছে"},yourWishlistEmpty:{en:"Your wishlist is empty",bn:"আপনার উইশলিস্ট খালি"},tapHeartToSave:{en:"Tap the ❤️ on any product to save it",bn:"সংরক্ষণ করতে যেকোনো পণ্যে ❤️ ট্যাপ করুন"},browseProducts:{en:"Browse Products",bn:"পণ্য ব্রাউজ করুন"},yourCartEmpty:{en:"Your cart is empty",bn:"আপনার কার্ট খালি"},continueShopping:{en:"Continue Shopping",bn:"শপিং চালিয়ে যান"},promoCode:{en:"Promo Code",bn:"প্রোমো কোড"},enterPromoCode:{en:"Enter promo code",bn:"প্রোমো কোড দিন"},apply:{en:"Apply",bn:"প্রয়োগ"},orderSummary:{en:"Order Summary",bn:"অর্ডার সারসংক্ষেপ"},subtotal:{en:"Subtotal",bn:"সাবটোটাল"},discount:{en:"Discount",bn:"ছাড়"},delivery:{en:"Delivery",bn:"ডেলিভারি"},freeCaps:{en:"FREE",bn:"ফ্রি"},walletBalanceLabel:{en:"Wallet balance",bn:"ওয়ালেট ব্যালেন্স"},proceedToCheckout:{en:"Proceed to Checkout",bn:"চেকআউটে এগিয়ে যান"},deliveryAddress:{en:"Delivery Address",bn:"ডেলিভারি ঠিকানা"},change:{en:"Change",bn:"পরিবর্তন"},addNewAddress:{en:"Add New Address",bn:"নতুন ঠিকানা যোগ"},paymentMethod:{en:"Payment Method",bn:"পেমেন্ট পদ্ধতি"},mfsWallet:{en:"EasyPay Wallet",bn:"ইজিপে ওয়ালেট"},balance:{en:"Balance",bn:"ব্যালেন্স"},savedCard:{en:"Saved card",bn:"সংরক্ষিত কার্ড"},insufficientBalanceNeed:{en:"Insufficient balance — need",bn:"অপর্যাপ্ত ব্যালেন্স — আরো প্রয়োজন"},shopMore:{en:"more",bn:"আরো"},items:{en:"Items",bn:"আইটেম"},qty:{en:"Qty",bn:"পরিমাণ"},placeOrder:{en:"Place Order",bn:"অর্ডার দিন"},orderConfirmed:{en:"Your order has been confirmed",bn:"আপনার অর্ডার নিশ্চিত হয়েছে"},deliveryInfo:{en:"Delivery Info",bn:"ডেলিভারি তথ্য"},estimated35Days:{en:"Estimated: 3–5 business days",bn:"আনুমানিক: ৩-৫ কার্যদিবস"},deductedFromWallet:{en:"deducted from wallet",bn:"ওয়ালেট থেকে কর্তন"},chargedTo:{en:"charged to",bn:"চার্জ হয়েছে"},startShopping:{en:"Start Shopping",bn:"শপিং শুরু করুন"},noOrdersYet:{en:"No orders yet",bn:"এখনও কোনো অর্ডার নেই"},orders:{en:"orders",bn:"অর্ডার"},savedItems:{en:"saved items",bn:"সংরক্ষিত আইটেম"},products:{en:"products",bn:"পণ্য"},confirmYourOrder:{en:"Confirm your order",bn:"আপনার অর্ডার নিশ্চিত করুন"},trackShipment:{en:"Track Shipment",bn:"শিপমেন্ট ট্র্যাক"},cancelOrder:{en:"Cancel Order",bn:"অর্ডার বাতিল"}
181,cancelThisOrder:{en:"Cancel this order?",bn:"এই অর্ডার বাতিল করবেন?"},refundToWallet:{en:"will go back to your wallet.",bn:"আপনার ওয়ালেটে ফেরত যাবে।"},refundToCard:{en:"Refund will be processed to your card.",bn:"রিফান্ড আপনার কার্ডে প্রসেস করা হবে।"},keepOrder:{en:"Keep Order",bn:"অর্ডার রাখুন"},yesCancel:{en:"Yes, Cancel",bn:"হ্যাঁ, বাতিল"},paidViaWallet:{en:"Paid via Wallet",bn:"ওয়ালেটে পরিশোধ"},paidViaCard:{en:"Paid via Card",bn:"কার্ডে পরিশোধ"},estDelivery:{en:"Est. delivery",bn:"আনুমানিক ডেলিভারি"},offApplied:{en:"off applied",bn:"ছাড় প্রয়োগ"},savingAmount:{en:"saving",bn:"সঞ্চয়"},editAddress:{en:"Edit Address",bn:"ঠিকানা সম্পাদনা"},newAddress:{en:"New Address",bn:"নতুন ঠিকানা"},saveAddress:{en:"Save Address",bn:"ঠিকানা সেভ"},fullName:{en:"Full Name",bn:"পুরো নাম"},phone:{en:"Phone",bn:"ফোন"},addressLine1:{en:"Address Line 1",bn:"ঠিকানা লাইন ১"},areaThana:{en:"Area / Thana",bn:"এলাকা / থানা"},cityPostcode:{en:"City / Postcode",bn:"শহর / পোস্টকোড"},reviewProduct:{en:"Review",bn:"রিভিউ"},tapToRate:{en:"Tap to rate",bn:"রেট করতে ট্যাপ করুন"},shareExperience:{en:"Share your experience with this product…",bn:"এই পণ্যটি সম্পর্কে আপনার অভিজ্ঞতা শেয়ার করুন…"},submit:{en:"Submit",bn:"জমা দিন"},pleaseSelectRating:{en:"Please select a rating",bn:"অনুগ্রহ করে রেটিং দিন"},pleaseWriteSomething:{en:"Please write something",bn:"অনুগ্রহ করে কিছু লিখুন"},fillAllRequired:{en:"Please fill all required fields",bn:"অনুগ্রহ করে সকল প্রয়োজনীয় ফিল্ড পূরণ করুন"},addressSaved:{en:"Address saved",bn:"ঠিকানা সেভ হয়েছে"},reviewSubmitted:{en:"Review submitted!",bn:"রিভিউ জমা হয়েছে!"},shopCheckoutLabel:{en:"Checkout",bn:"চেকআউট"},refundOf:{en:"Refund of",bn:"রিফান্ড"},orderPlacedTimeline:{en:"Order Placed",bn:"অর্ডার সম্পন্ন"},confirmed2:{en:"Confirmed",bn:"নিশ্চিত"},shipped:{en:"Shipped",bn:"শিপ হয়েছে"},outForDelivery:{en:"Out for Delivery",bn:"ডেলিভারির জন্য বের হয়েছে"},delivered:{en:"Delivered",bn:"ডেলিভারি সম্পন্ন"},processing:{en:"Processing",bn:"প্রসেসিং"}
181,cancelled:{en:"Cancelled",bn:"বাতিল"},noLimit:{en:"No Limit",bn:"কোনো সীমা নেই"},mobileRecharge:{en:"Mobile Recharge",bn:"মোবাইল রিচার্জ"},tariffCashOutAgentNew:{en:"Cash Out (Agent): 1.19% fee",bn:"ক্যাশ আউট (এজেন্ট): ১.১৯% ফি"},tariffATM:{en:"ATM Cash Out: Not available",bn:"ATM ক্যাশ আউট: উপলব্ধ নয়"},tariffSendMoneyNew:{en:"Send Money: ৳3 after ৳100 up to ৳50,000, Then ৳5/txn",bn:"টাকা পাঠান: ৳১০০ এর পর ৳৩ (৳৫০,০০০ পর্যন্ত), তারপর ৳৫/লেনদেন"},tariffBankTransferNew:{en:"Bank Transfer: 1% fee",bn:"ব্যাংক ট্রান্সফার: ১% ফি"},tariffAddMoneyFree:{en:"Add Money: Free",bn:"টাকা যোগ: ফ্রি"},tariffPaymentPayBill:{en:"Payment & Pay Bill: No limit, Free",bn:"পেমেন্ট ও বিল পে: কোনো সীমা নেই, ফ্রি"},starter:{en:"Starter",bn:"স্টার্টার"},bonus:{en:"Bonus",bn:"বোনাস"},champion:{en:"Champion",bn:"চ্যাম্পিয়ন"},whatsapp:{en:"WhatsApp",bn:"হোয়াটসঅ্যাপ"},sms:{en:"SMS",bn:"এসএমএস"},referralCodeInput:{en:"Referral Code (optional)",bn:"রেফারেল কোড (ঐচ্ছিক)"},referralCodePlaceholder:{en:"e.g. EZP-ABCD-1234",bn:"যেমন: EZP-ABCD-1234"},deviceAlreadyRegistered:{en:"This device already has an account. Only one account per device is allowed.",bn:"এই ডিভাইসে ইতিমধ্যে একটি একাউন্ট আছে। প্রতি ডিভাইসে একটি একাউন্ট অনুমোদিত।"},kycVerifiedMilestone:{en:"KYC Verified",bn:"কেওয়াইসি যাচাই"},firstTxnMilestone:{en:"1st Transaction (≥৳101)",bn:"১ম লেনদেন (≥৳১০১)"},fiveTxnsMilestone:{en:"5 Txns (≥৳500)",bn:"৫ লেনদেন (≥৳৫০০)"},milestoneReward:{en:"Reward",bn:"পুরস্কার"},noReferralsYet:{en:"No referrals yet. Share your code to start earning!",bn:"এখনো কোনো রেফারেল নেই। আয় শুরু করতে আপনার কোড শেয়ার করুন!"},active:{en:"Active",bn:"সক্রিয়"},editProfileTitle:{en:"Edit Profile",bn:"প্রোফাইল সম্পাদনা"},updateNamePhotoSub:{en:"Update your display name & photo",bn:"আপনার ডিসপ্লে নাম ও ছবি আপডেট করুন"},profilePhoto:{en:"Profile Photo",bn:"প্রোফাইল ছবি"},tapToUpload:{en:"Tap to upload · JPEG / PNG · max 5 MB",bn:"আপলোড করতে ট্যাপ করুন · JPEG / PNG · সর্বোচ্চ ৫ MB"},removePhoto:{en:"Remove photo",bn:"ছবি সরান"},displayName:{en:"Display Name",bn:"ডিসপ্লে নাম"},yourFullName:{en:"Your full name",bn:"আপনার পুরো নাম"},emailAddress:{en:"Email Address",bn:"ইমেইল ঠিকানা"},emailImportantNote:{en:"Once your email is verified and saved, it cannot be changed or removed without contacting support.",bn:"একবার আপনার ইমেইল যাচাই ও সেভ হলে, সাপোর্টে যোগাযোগ ছাড়া এটি পরিবর্তন বা সরানো যাবে না।"},emailLockedNote:{en:"Your email is locked. To change it, please contact support.",bn:"আপনার ইমেইল লক করা আছে। পরিবর্তন করতে সাপোর্টে যোগাযোগ করুন।"},openLiveChat:{en:"Open Live Chat",bn:"লাইভ চ্যাট খুলুন"},important:{en:"Important:",bn:"গুরুত্বপূর্ণ:"},enterOtp:{en:"Enter OTP",bn:"OTP দিন"},sendOtp:{en:"Send OTP",bn:"OTP পাঠান"},sendingDots:{en:"Sending…",bn:"পাঠানো হচ্ছে…"},verify:{en:"Verify",bn:"যাচাই"},checkEmailOtp:{en:"Check your email for the verification code",bn:"আপনার ইমেইলে যাচাইকরণ কোড দেখুন"},resendOtp:{en:"Resend OTP",bn:"OTP পুনরায় পাঠান"},resendIn:{en:"Resend in",bn:"পুনরায় পাঠান"},profileUpdated:{en:"Profile Updated!",bn:"প্রোফাইল আপডেট হয়েছে!"},changesSaved:{en:"Your changes have been saved.",bn:"আপনার পরিবর্তনগুলো সেভ হয়েছে।"},saveChanges:{en:"Save Changes",bn:"পরিবর্তন সেভ করুন"},kycTitle:{en:"KYC Verification",bn:"কেওয়াইসি যাচাই"},secureIdCheck:{en:"Secure Identity Check",bn:"নিরাপদ পরিচয় যাচাই"},nidFrontLabel:{en:"NID Front",bn:"NID সামনে"},nidBackLabel:{en:"NID Back",bn:"NID পিছনে"},nidDetailsLabel:{en:"NID Details",bn:"NID তথ্য"},livenessLabel:{en:"Liveness",bn:"লাইভনেস"},reviewLabel:{en:"Review",bn:"পর্যালোচনা"},doneLabel:{en:"Done",bn:"সম্পন্ন"},uploadNidFront:{en:"Upload NID Front",bn:"NID সামনের দিক আপলোড করুন"},uploadNidFrontSub:{en:"Take a clear photo of the front of your National ID Card",bn:"আপনার জাতীয় পরিচয়পত্রের সামনের দিকের একটি স্পষ্ট ছবি তুলুন"},uploadNidBack:{en:"Upload NID Back",bn:"NID পিছনের দিক আপলোড করুন"},uploadNidBackSub:{en:"Now capture the back side of your National ID Card",bn:"এবার আপনার জাতীয় পরিচয়পত্রের পিছনের দিকটি ক্যাপচার করুন"},confirmNidDetails:{en:"Confirm NID Details",bn:"NID তথ্য নিশ্চিত করুন"},confirmNidDetailsSub:{en:"We extracted the following info — please verify and correct if needed",bn:"আমরা নিম্নলিখিত তথ্য বের করেছি — অনুগ্রহ করে যাচাই করুন ও প্রয়োজনে সংশোধন করুন"},livenessCheck:{en:"Liveness Check",bn:"লাইভনেস চেক"},livenessCheckSub:{en:"We'll verify you're a real person — no photo upload allowed",bn:"আমরা যাচাই করব আপনি একজন প্রকৃত ব্যক্তি — ছবি আপলোড অনুমোদিত নয়"},reviewSubmit:{en:"Review & Submit",bn:"পর্যালোচনা ও জমা দিন"},reviewSubmitSub:{en:"Check your documents before submitting for verification",bn:"যাচাইয়ের জন্য জমা দেওয়ার আগে আপনার ডকুমেন্ট চেক করুন"},nidCardFront:{en:"NID Card — Front Side",bn:"NID কার্ড — সামনের দিক"},nidCardBack:{en:"NID Card — Back Side",bn:"NID কার্ড — পিছনের দিক"},photoTips:{en:"Photo Tips",bn:"ছবি টিপস"},tipCorners:{en:"Ensure all 4 corners of the card are visible",bn:"কার্ডের ৪টি কোণা দৃশ্যমান কিনা নিশ্চিত করুন"},tipGlare:{en:"Avoid glare, shadows, or blurry images",bn:"আলোর প্রতিফলন, ছায়া বা ঝাপসা ছবি এড়িয়ে চলুন"},tipSurface:{en:"Place card on a dark, flat surface",bn:"কার্ড একটি গাঢ় সমতল পৃষ্ঠে রাখুন"},tipBarcode:{en:"Capture the barcode and signature area clearly",bn:"বারকোড ও স্বাক্ষর এলাকা স্পষ্টভাবে ক্যাপচার করুন"},tipNoDamage:{en:"Make sure the card is not damaged or folded",bn:"কার্ড ক্ষতিগ্রস্ত বা ভাঁজ করা নয় তা নিশ্চিত করুন"},tipLighting:{en:"Use natural lighting for best results",bn:"সেরা ফলাফলের জন্য প্রাকৃতিক আলো ব্যবহার করুন"},continueArrow:{en:"Continue →",bn:"এগিয়ে যান →"},uploadNidFrontToContinue:{en:"Upload NID Front to Continue",bn:"এগিয়ে যেতে NID সামনে আপলোড করুন"},uploadNidBackToContinue:{en:"Upload NID Back to Continue",bn:"এগিয়ে যেতে NID পিছনে আপলোড করুন"},confirmDetailsArrow:{en:"Confirm Details →",bn:"তথ্য নিশ্চিত করুন →"},fillAllFields:{en:"Fill in all fields to continue",bn:"এগিয়ে যেতে সকল ফিল্ড পূরণ করুন"},ocrBadge:{en:"Details auto-extracted from your NID photo. Tap",bn:"আপনার NID ছবি থেকে স্বয়ংক্রিয়ভাবে তথ্য বের করা হয়েছে। ট্যাপ করুন"},ocrBadgeSuffix:{en:"to correct any errors.",bn:"কোনো ত্রুটি সংশোধন করতে।"},fullNameNid:{en:"Full Name (as on NID)",bn:"পুরো নাম (NID অনুযায়ী)"}
181,nidNumber:{en:"NID Number",bn:"NID নম্বর"},dateOfBirth:{en:"Date of Birth",bn:"জন্ম তারিখ"},tapToUploadDoc:{en:"Tap to upload",bn:"আপলোড করতে ট্যাপ করুন"},chooseFile:{en:"Choose File",bn:"ফাইল বাছুন"},retake:{en:"Retake",bn:"পুনরায় তুলুন"},uploaded:{en:"✓ Uploaded",bn:"✓ আপলোড হয়েছে"},notUploaded:{en:"Not uploaded",bn:"আপলোড হয়নি"},startLivenessCheck:{en:"Start Liveness Check",bn:"লাইভনেস চেক শুরু করুন"},livenessTips:{en:"Liveness Tips",bn:"লাইভনেস টিপস"},tipEvenLighting:{en:"Ensure you're in good, even lighting",bn:"ভালো, সমান আলোতে আছেন কিনা নিশ্চিত করুন"},tipRemoveGlasses:{en:"Remove glasses, hat, or face coverings",bn:"চশমা, টুপি বা মুখ ঢাকা সরান"},tipFollowInstructions:{en:"Follow on-screen instructions carefully",bn:"স্ক্রিনের নির্দেশনা সাবধানে অনুসরণ করুন"},noPhotoUpload:{en:"Direct photo upload is not allowed. You must complete the live face scan.",bn:"সরাসরি ছবি আপলোড অনুমোদিত নয়। আপনাকে লাইভ ফেস স্ক্যান সম্পন্ন করতে হবে।"},reviewDocuments:{en:"Review Documents →",bn:"ডকুমেন্ট পর্যালোচনা →"},documents:{en:"Documents",bn:"ডকুমেন্ট"},livenessVerified:{en:"✓ Verified",bn:"✓ যাচাইকৃত"},notCompleted:{en:"Not completed",bn:"সম্পন্ন হয়নি"},redo:{en:"Redo",bn:"পুনরায় করুন"},nidDetails:{en:"NID Details",bn:"NID তথ্য"},fullNameLabel:{en:"Full Name",bn:"পুরো নাম"},completeAllSteps:{en:"Please complete all steps before submitting.",bn:"জমা দেওয়ার আগে সকল ধাপ সম্পন্ন করুন।"},termsNote:{en:"By submitting, you confirm that the documents belong to you and the information is accurate. Your data is encrypted and processed securely.",bn:"জমা দিয়ে আপনি নিশ্চিত করছেন যে ডকুমেন্টগুলো আপনার এবং তথ্য সঠিক। আপনার ডেটা এনক্রিপ্টেড ও নিরাপদে প্রসেস করা হয়।"},encrypted256:{en:"256-bit Encrypted",bn:"২৫৬-বিট এনক্রিপ্টেড"},privateSecure:{en:"Private & Secure",bn:"ব্যক্তিগত ও নিরাপদ"},submitForVerification:{en:"Submit for Verification",bn:"যাচাইয়ের জন্য জমা দিন"},completeAllFirst:{en:"Complete All Steps First",bn:"প্রথমে সকল ধাপ সম্পন্ন করুন"},submittedTitle:{en:"Submitted!",bn:"জমা হয়েছে!"},kycSubmittedSub:{en:"Your KYC documents have been submitted successfully. We'll review them within 24–48 hours.",bn:"আপনার KYC ডকুমেন্ট সফলভাবে জমা হয়েছে। আমরা ২৪-৪৮ ঘণ্টার মধ্যে পর্যালোচনা করব।"},verificationStatus:{en:"Verification Status",bn:"যাচাই স্ট্যাটাস"},nidDocuments:{en:"NID Documents",bn:"NID ডকুমেন্ট"},frontBackUploaded:{en:"Front & back uploaded",bn:"সামনে ও পিছনে আপলোড হয়েছে"},faceVerified:{en:"Face verified successfully",bn:"মুখ সফলভাবে যাচাই হয়েছে"},reviewText:{en:"Review",bn:"পর্যালোচনা"},underReview:{en:"Under review · 24–48 hrs",bn:"পর্যালোচনাধীন · ২৪-৪৮ ঘণ্টা"},pendingUpper:{en:"PENDING",bn:"অপেক্ষমাণ"},dataProtected:{en:"Data Protected",bn:"ডেটা সুরক্ষিত"},backToAccount:{en:"Back to Account",bn:"অ্যাকাউন্টে ফিরুন"}
181,changePinTitle:{en:"Change PIN",bn:"পিন পরিবর্তন"},keepAccountSecure:{en:"Keep Your Account Secure",bn:"আপনার অ্যাকাউন্ট নিরাপদ রাখুন"},enterCurrentPin:{en:"Enter Current PIN",bn:"বর্তমান পিন দিন"},confirmCurrentPinSub:{en:"Confirm your existing 4-digit PIN to continue",bn:"এগিয়ে যেতে আপনার বিদ্যমান ৪ সংখ্যার পিন নিশ্চিত করুন"},setNewPin:{en:"Set New PIN",bn:"নতুন পিন সেট করুন"},chooseStrongPin:{en:"Choose a strong 4-digit PIN you haven't used before",bn:"আগে ব্যবহার করেননি এমন একটি শক্তিশালী ৪ সংখ্যার পিন নির্বাচন করুন"},confirmNewPin:{en:"Confirm New PIN",bn:"নতুন পিন নিশ্চিত করুন"},reenterNewPin:{en:"Re-enter your new PIN to make sure it matches",bn:"মিলছে কিনা নিশ্চিত করতে আপনার নতুন পিন পুনরায় দিন"},incorrectPin:{en:"Incorrect PIN. Please try again.",bn:"ভুল পিন। আবার চেষ্টা করুন।"},pinTooSimple:{en:"PIN is too simple. Avoid sequential or repeated digits.",bn:"পিন খুবই সরল। ধারাবাহিক বা পুনরাবৃত্ত সংখ্যা এড়িয়ে চলুন।"},pinsDontMatch:{en:"PINs don't match. Please try again.",bn:"পিন মিলছে না। আবার চেষ্টা করুন।"},pinChanged:{en:"PIN Changed!",bn:"পিন পরিবর্তন হয়েছে!"},pinChangedSub:{en:"Your transaction PIN has been updated successfully. Use your new PIN for all future transactions.",bn:"আপনার লেনদেন পিন সফলভাবে আপডেট হয়েছে। ভবিষ্যতের সকল লেনদেনে আপনার নতুন পিন ব্যবহার করুন।"},pinTips:{en:"PIN tips:",bn:"পিন টিপস:"},avoidRepeated:{en:"Avoid repeated digits (e.g. 1111)",bn:"পুনরাবৃত্ত সংখ্যা এড়িয়ে চলুন (যেমন ১১১১)"},avoidSequential:{en:"Avoid sequential digits (e.g. 1234)",bn:"ধারাবাহিক সংখ্যা এড়িয়ে চলুন (যেমন ১২৩৪)"},dontSharePin:{en:"Don't share your PIN with anyone",bn:"কারো সাথে আপনার পিন শেয়ার করবেন না"},demoPin:{en:"Demo PIN:",bn:"ডেমো পিন:"},rechargeCount:{en:"recharge",bn:"রিচার্জ"},rechargesCount:{en:"recharges",bn:"রিচার্জ"},cameraPermissionDenied:{en:"Camera permission denied. Please allow camera access.",bn:"ক্যামেরা অনুমতি প্রত্যাখ্যাত। ক্যামেরা অ্যাক্সেস অনুমতি দিন।"},cameraNotAvailable:{en:"Camera not available on this device.",bn:"এই ডিভাইসে ক্যামেরা উপলব্ধ নয়।"},photoCaptured:{en:"Photo captured successfully",bn:"ছবি সফলভাবে তোলা হয়েছে"},tryAgain:{en:"Try Again",bn:"আবার চেষ্টা করুন"},ocrExtracted:{en:"NID data extracted successfully!",bn:"এনআইডি তথ্য সফলভাবে বের করা হয়েছে!"},ocrFailed:{en:"Could not extract NID data. Please enter manually.",bn:"এনআইডি তথ্য বের করা যায়নি। ম্যানুয়ালি লিখুন।"},faceMatchSuccess:{en:"Face matched with NID!",bn:"মুখ এনআইডির সাথে মিলেছে!"},faceMatchFailed:{en:"Face did not match NID photo.",bn:"মুখ এনআইডি ছবির সাথে মেলেনি।"},faceMatchInconclusive:{en:"Face match inconclusive. Try again with better lighting.",bn:"মুখ মিলানো অনিশ্চিত। ভালো আলোতে আবার চেষ্টা করুন।"},faceMatchError:{en:"Face verification failed. Please try again.",bn:"মুখ যাচাই ব্যর্থ। আবার চেষ্টা করুন।"},notAuthenticated:{en:"Please sign in first",bn:"প্রথমে সাইন ইন করুন"},submitFailed:{en:"Submission failed. Please try again.",bn:"জমা ব্যর্থ। আবার চেষ্টা করুন।"}
181,captureNidFront:{en:"Capture NID Front",bn:"এনআইডি সামনের দিক ক্যাপচার করুন"},captureNidFrontSub:{en:"Use your camera to capture the front of your NID card",bn:"আপনার এনআইডি কার্ডের সামনের দিক ক্যামেরা দিয়ে ক্যাপচার করুন"},alignNidGuide:{en:"Align your NID card within the frame",bn:"ফ্রেমের মধ্যে এনআইডি কার্ড রাখুন"},extractingNidData:{en:"AI is reading your NID card...",bn:"AI আপনার এনআইডি কার্ড পড়ছে..."},nidDataExtracted:{en:"NID data extracted by AI — review on next step",bn:"AI দ্বারা এনআইডি তথ্য বের করা হয়েছে — পরবর্তী ধাপে পর্যালোচনা করুন"},cameraTips:{en:"Camera Tips",bn:"ক্যামেরা টিপস"},processingKyc:{en:"Processing...",bn:"প্রক্রিয়াকরণ..."},captureNidToContinue:{en:"Capture NID front to continue",bn:"চালিয়ে যেতে এনআইডি সামনের দিক ক্যাপচার করুন"},captureNidBack:{en:"Capture NID Back",bn:"এনআইডি পিছনের দিক ক্যাপচার করুন"},captureNidBackSub:{en:"Now capture the back side of your NID card",bn:"এখন আপনার এনআইডি কার্ডের পিছনের দিক ক্যাপচার করুন"},alignNidBackGuide:{en:"Align the back of your NID card",bn:"আপনার এনআইডি কার্ডের পিছনের দিক সারিবদ্ধ করুন"},captureNidBackToContinue:{en:"Capture NID back to continue",bn:"চালিয়ে যেতে এনআইডি পিছনের দিক ক্যাপচার করুন"},aiExtractedBadge:{en:"✨ AI extracted these details from your NID. Tap ✎ to edit.",bn:"✨ AI আপনার এনআইডি থেকে এই তথ্য বের করেছে। সম্পাদনা করতে ✎ ট্যাপ করুন।"},fullNameBn:{en:"Full Name (Bengali)",bn:"পূর্ণ নাম (বাংলা)"},fatherName:{en:"Father's Name",bn:"পিতার নাম"}
181,motherName:{en:"Mother's Name",bn:"মাতার নাম"},liveFaceVerification:{en:"Live Face Verification",bn:"লাইভ মুখ যাচাই"},liveFaceVerificationSub:{en:"Take a selfie to match with your NID photo",bn:"আপনার এনআইডি ছবির সাথে মেলাতে সেলফি তুলুন"},selfieCapture:{en:"Live Selfie",bn:"লাইভ সেলফি"},alignFaceGuide:{en:"Position your face within the oval guide",bn:"ডিম্বাকৃতি গাইডের মধ্যে আপনার মুখ রাখুন"},comparingFaces:{en:"Comparing faces with AI...",bn:"AI দিয়ে মুখ তুলনা করা হচ্ছে..."},aiAnalyzing:{en:"Analyzing facial features",bn:"মুখের বৈশিষ্ট্য বিশ্লেষণ করা হচ্ছে"},faceMatchedNid:{en:"✓ Face matched with NID photo",bn:"✓ মুখ এনআইডি ছবির সাথে মিলেছে"},faceNotMatched:{en:"✗ Face does not match NID photo",bn:"✗ মুখ এনআইডি ছবির সাথে মেলেনি"},faceInconclusive:{en:"Face match inconclusive",bn:"মুখ মিলানো অনিশ্চিত"},confidence:{en:"Confidence",bn:"আস্থা"},selfieTips:{en:"Selfie Tips",bn:"সেলফি টিপস"},tipLookStraight:{en:"Look straight at the camera",bn:"সোজা ক্যামেরার দিকে তাকান"},faceNotMatchedRetry:{en:"Your face didn't match the NID photo. Please retake with better lighting or remove obstructions.",bn:"আপনার মুখ এনআইডি ছবির সাথে মেলেনি। ভালো আলোতে আবার তুলুন।"},captured:{en:"Captured ✓",bn:"ক্যাপচার হয়েছে ✓"},notCaptured:{en:"Not captured",bn:"ক্যাপচার হয়নি"},faceVerification:{en:"Face Verification",bn:"মুখ যাচাই"},matched:{en:"Matched",bn:"মিলেছে"},submittingKyc:{en:"Submitting...",bn:"জমা হচ্ছে..."},submitted:{en:"Submitted",bn:"জমা দেওয়া হয়েছে"},frontBackCaptured:{en:"Front & back captured via camera",bn:"সামনে ও পিছনে ক্যামেরায় ক্যাপচার করা হয়েছে"},notExtracted:{en:"Not extracted",bn:"বের করা হয়নি"},apiAccessAdminApprovalNote:{en:"Admin's approval note",bn:"অ্যাডমিনের অনুমোদন নোট"},apiAccessAdminDenialReason:{en:"Admin's reason for denial",bn:"অ্যাডমিনের প্রত্যাখ্যানের কারণ"},apiAccessAdminReason:{en:"Admin's reason",bn:"অ্যাডমিনের কারণ"},apiAccessNoReasonProvided:{en:"No reason was provided. Please contact support for details.",bn:"কোনো কারণ দেওয়া হয়নি। বিস্তারিত জানতে সাপোর্টে যোগাযোগ করুন।"},donations:{en:"Donations",bn:"অনুদান"},donSeoTitle:{en:"Donations – Give Securely with EasyPay",bn:"অনুদান – ইজিপে দিয়ে নিরাপদে দিন"},donSeoDesc:{en:"Donate to verified causes, mosques, charities and disaster relief directly from your EasyPay wallet.",bn:"আপনার ইজিপে ওয়ালেট থেকে সরাসরি যাচাইকৃত কারণ, মসজিদ, দাতব্য ও দুর্যোগ ত্রাণে অনুদান দিন।"},donate:{en:"Donate",bn:"অনুদান দিন"},chooseCause:{en:"Choose a Cause",bn:"একটি কারণ বেছে নিন"},generosityChanges:{en:"Your generosity changes lives",bn:"আপনার দান জীবন বদলায়"},recurringTab:{en:"Recurring",bn:"নিয়মিত"},topTab:{en:"Top",bn:"শীর্ষ"},changeCause:{en:"Change cause",bn:"কারণ পরিবর্তন"},raisedSuffix:{en:"raised",bn:"সংগৃহীত"},causeEducation:{en:"Education",bn:"শিক্ষা"},causeEducationDesc:{en:"Support students in need",bn:"অভাবী শিক্ষার্থীদের সহায়তা"},causeDisaster:{en:"Disaster Relief",bn:"দুর্যোগ সহায়তা"},causeDisasterDesc:{en:"Help communities rebuild",bn:"সম্প্রদায়কে পুনর্নির্মাণে সাহায্য"},causeHealthcare:{en:"Healthcare",bn:"স্বাস্থ্যসেবা"},causeHealthcareDesc:{en:"Access to medical care",bn:"চিকিৎসা সেবা প্রদান"},causeWater:{en:"Clean Water",bn:"পরিষ্কার পানি"},causeWaterDesc:{en:"Safe drinking water for all",bn:"সবার জন্য নিরাপদ পানীয় জল"},causeFood:{en:"Food Security",bn:"খাদ্য নিরাপত্তা"},causeFoodDesc:{en:"Fight hunger together",bn:"একসাথে ক্ষুধার বিরুদ্ধে লড়াই"},causeOrphan:{en:"Orphan Support",bn:"এতিম সহায়তা"},causeOrphanDesc:{en:"A better future for children",bn:"শিশুদের জন্য উজ্জ্বল ভবিষ্যৎ"},coupons:{en:"Coupons",bn:"কুপন"},noCouponsYet:{en:"No coupons yet",bn:"এখনো কোনো কুপন নেই"},noCouponsDesc:{en:"We'll notify you when new offers arrive",bn:"নতুন অফার এলে আমরা জানাবো"},redeem:{en:"Redeem",bn:"ব্যবহার করুন"},expiredLabel:{en:"Expired",bn:"মেয়াদ শেষ"},endsTomorrow:{en:"Ends tomorrow",bn:"আগামীকাল শেষ"},daysLeftSuffix:{en:"days left",bn:"দিন বাকি"},daysRemainingSuffix:{en:"d remaining",bn:"দিন বাকি"},cpOff:{en:"off",bn:"ছাড়"},cpDiscountSuffix:{en:"discount",bn:"ডিসকাউন্ট"}
181,cpCopiedToast:{en:"Copied: {code}",bn:"কপি হয়েছে: {code}"},cpUseNowToast:{en:'Code "{code}" copied — paste it during payment',bn:'কোড "{code}" কপি হয়েছে — পেমেন্টের সময় পেস্ট করুন'},cpFlowShop:{en:"Shop",bn:"শপ"},cpFlowPayment:{en:"Payment",bn:"পেমেন্ট"},cpFlowCashOut:{en:"Cash Out",bn:"ক্যাশ আউট"},cpFlowRecharge:{en:"Recharge",bn:"রিচার্জ"},cpFlowBillPay:{en:"Bill Pay",bn:"বিল পে"},cpFlowAll:{en:"All",bn:"সকল"},cpSeoTitle:{en:"Coupons & Promotions – EasyPay",bn:"কুপন ও প্রোমোশন – ইজিপে"},cpSeoDesc:{en:"Browse the latest EasyPay coupons, cashback offers and discount codes across shopping, recharge, bills and more.",bn:"শপিং, রিচার্জ, বিলসহ নানা কাজে ইজিপে-এর সর্বশেষ কুপন, ক্যাশব্যাক অফার ও ডিসকাউন্ট কোড দেখুন।"},cpTaglineLive:{en:"{n} live offers • refreshed in real-time",bn:"{n}টি লাইভ অফার • রিয়েল-টাইমে হালনাগাদ"},cpFeatured:{en:"Featured",bn:"ফিচার্ড"},cpMinPrefix:{en:"Min",bn:"সর্বনিম্ন"},cpCodeLabel:{en:"Code",bn:"কোড"},cpHaveCode:{en:"Have a code?",bn:"কোড আছে?"},cpHaveCodeDesc:{en:"Enter a valid promo code to unlock",bn:"আনলক করতে বৈধ প্রোমো কোড লিখুন"},cpEnterCodePlaceholder:{en:"ENTER CODE",bn:"কোড লিখুন"},cpApply:{en:"Apply",bn:"প্রয়োগ করুন"},cpEnterValidCode:{en:"Enter a valid coupon code",bn:"একটি বৈধ কুপন কোড লিখুন"},cpNotFound:{en:"Coupon not found",bn:"কুপন পাওয়া যায়নি"},cpExpired:{en:"This coupon has expired",bn:"এই কুপনের মেয়াদ শেষ"},cpFullyRedeemed:{en:"This coupon is fully redeemed",bn:"এই কুপনটি সম্পূর্ণ ব্যবহৃত"},cpAddedToast:{en:"Coupon {code} added",bn:"কুপন {code} যোগ হয়েছে"},cpEndingSoon:{en:"Ending soon",bn:"শীঘ্রই শেষ"},cpAllOffers:{en:"All offers",bn:"সকল অফার"},cpFooterNote:{en:"Coupons refresh in real-time. Tap any card for details.",bn:"কুপন রিয়েল-টাইমে হালনাগাদ হয়। বিস্তারিতর জন্য যেকোনো কার্ডে ট্যাপ করুন।"},cdHeaderTitle:{en:"Coupon details",bn:"কুপনের বিস্তারিত"},cdNotFound:{en:"Coupon not found",bn:"কুপন পাওয়া যায়নি"},cdNotFoundDesc:{en:"This coupon may have expired or been removed.",bn:"এই কুপনটি সম্ভবত মেয়াদোত্তীর্ণ বা সরানো হয়েছে।"},cdBackToCoupons:{en:"Back to coupons",bn:"কুপনে ফিরে যান"},cdShareTitle:{en:"EasyPay Coupon",bn:"EasyPay কুপন"},cdShareTextPrefix:{en:"Use",bn:"ব্যবহার করুন"},cdShareTextOn:{en:"on EasyPay for",bn:"EasyPay-এ পেতে"},cdShareTextPctOff:{en:"% off",bn:"% ছাড়"},cdShareTextFlatOff:{en:"off",bn:"ছাড়"},cdCopiedShareText:{en:"Copied share text",bn:"শেয়ার টেক্সট কপি হয়েছে"},cdNotEligibleToast:{en:"This coupon isn't eligible right now.",bn:"এই কুপনটি এই মুহূর্তে ব্যবহারযোগ্য নয়।"},cdCouponCode:{en:"Coupon code",bn:"কুপন কোড"},cdCopied:{en:"COPIED",bn:"কপি হয়েছে"},cdCopy:{en:"COPY",bn:"কপি"},cdMinPrefix:{en:"Min ৳",bn:"ন্যূনতম ৳"},cdUpToPrefix:{en:"Up to ৳",bn:"সর্বোচ্চ ৳"},cdEligibility:{en:"Eligibility",bn:"যোগ্যতা"},cdEligible:{en:"Eligible",bn:"যোগ্য"},cdNotEligible:{en:"Not eligible",bn:"যোগ্য নয়"},cdActive:{en:"Coupon is currently active",bn:"কুপনটি বর্তমানে সক্রিয়"},cdInactive:{en:"Coupon is inactive",bn:"কুপনটি নিষ্ক্রিয়"},cdStartsPrefix:{en:"Starts",bn:"শুরু"},cdAvailableNow:{en:"Available immediately",bn:"এখনই উপলব্ধ"},cdExpiresPrefix:{en:"Expires",bn:"মেয়াদ"},cdNoExpiry:{en:"No expiry date",bn:"কোনো মেয়াদ নেই"},cdRedemptionsUsed:{en:"total redemptions used",bn:"মোট ব্যবহার সম্পন্ন"},cdNoUsageLimit:{en:"No total usage limit",bn:"কোনো ব্যবহার সীমা নেই"},cdUsedByYou:{en:"used by you",bn:"আপনি ব্যবহার করেছেন"},cdAlreadyUsed:{en:"You've already used this coupon",bn:"আপনি ইতিমধ্যে এই কুপনটি ব্যবহার করেছেন"},cdAvailableForYou:{en:"Available for you",bn:"আপনার জন্য উপলব্ধ"},cdOfferDetails:{en:"Offer details",bn:"অফারের বিস্তারিত"},cdMinOrder:{en:"Min. order",bn:"ন্যূনতম অর্ডার"},cdNone:{en:"None",bn:"নেই"},cdMaxDiscount:{en:"Max. discount",bn:"সর্বোচ্চ ছাড়"},cdUnlimited:{en:"Unlimited",bn:"সীমাহীন"},cdValidTill:{en:"Valid till",bn:"বৈধতা"},cdNoExpiryShort:{en:"No expiry",bn:"মেয়াদহীন"},cdPerUser:{en:"Per user",bn:"প্রতি ব্যবহারকারী"},cdTerms:{en:"Terms & conditions",bn:"শর্তাবলী"},cdTermApplies1:{en:"Applies to",bn:"প্রযোজ্য"},cdTermApplies2:{en:"transactions only.",bn:"লেনদেনের জন্য।"},cdTermMinOrder:{en:"Minimum transaction amount of ৳{amount} required.",bn:"ন্যূনতম লেনদেনের পরিমাণ ৳{amount} প্রয়োজন।"},cdTermMaxCap:{en:"Percentage discount is capped at ৳{amount} per transaction.",bn:"শতকরা ছাড় প্রতি লেনদেনে ৳{amount}-এ সীমাবদ্ধ।"},cdTermPerUser:{en:"Each user can redeem this coupon up to {n} time(s).",bn:"প্রত্যেক ব্যবহারকারী এই কুপন {n} বার পর্যন্ত ব্যবহার করতে পারবেন।"},cdTermCombine:{en:"Cannot be combined with other coupons or cashback offers on the same transaction.",bn:"একই লেনদেনে অন্য কুপন বা ক্যাশব্যাক অফারের সাথে ব্যবহার করা যাবে না।"},cdTermAmend:{en:"EasyPay may withdraw or amend this offer at any time without prior notice.",bn:"EasyPay কোনো পূর্ব বিজ্ঞপ্তি ছাড়াই এই অফার প্রত্যাহার বা সংশোধন করতে পারে।"},cdTermRefund:{en:"Refunded transactions will reverse the coupon usage.",bn:"ফেরত লেনদেনে কুপনের ব্যবহার বাতিল হবে।"},cdTermsPolicy:{en:"Terms subject to EasyPay policy",bn:"শর্তাবলী EasyPay-এর নীতি অনুযায়ী"},cdRedeemNow:{en:"Redeem now",bn:"এখনই ব্যবহার করুন"},merchantNotFound:{en:"Merchant Not Found",bn:"মার্চেন্ট পাওয়া যায়নি"},merchantNotFoundDescPrefix:{en:"The merchant code",bn:"মার্চেন্ট কোড"},merchantNotFoundDescSuffix:{en:"could not be resolved.",bn:"সমাধান করা যায়নি।"},loadingPayment:{en:"Loading payment…",bn:"পেমেন্ট লোড হচ্ছে…"},giftCardsTitle:{en:"Gift Cards",bn:"গিফট কার্ড"},giftCardsTagline:{en:"Send joy, share happiness",bn:"আনন্দ পাঠান, খুশি ছড়িয়ে দিন"},giftCardsBuyCard:{en:"Buy Card",bn:"কার্ড কিনুন"},giftCardsMyCards:{en:"My Cards",bn:"আমার কার্ড"},giftCardsSelectCategory:{en:"Select Category",bn:"ক্যাটাগরি নির্বাচন"},giftCardsChooseCategory:{en:"Choose a category",bn:"একটি ক্যাটাগরি বাছুন"},giftCardsSelectAmount:{en:"Select Amount",bn:"পরিমাণ নির্বাচন"},giftCardsChooseAmount:{en:"Choose amount",bn:"পরিমাণ বাছুন"},giftCardsUniversal:{en:"Universal Gift Card",bn:"ইউনিভার্সাল গিফট কার্ড"},giftCardsUniversalDescPrefix:{en:"Redeemable across all",bn:"ব্যবহারযোগ্য সকল"},giftCardsUniversalDescSuffix:{en:"categories",bn:"ক্যাটাগরিতে"},giftCardsValue:{en:"Value",bn:"মূল্য"},giftCardsValidThru:{en:"Valid Thru",bn:"মেয়াদ"},giftCardsPremium:{en:"Premium",bn:"প্রিমিয়াম"},giftCardsUniversalChip:{en:"Universal",bn:"ইউনিভার্সাল"},giftCardsLabel:{en:"Gift Card",bn:"গিফট কার্ড"},giftCardsPurchase:{en:"Purchase",bn:"কিনুন"},giftCardsCard:{en:"Card",bn:"কার্ড"},giftCardsNoCards:{en:"No gift cards yet",bn:"এখনো কোনো গিফট কার্ড নেই"},giftCardsNoCardsDesc:{en:"Purchase your first gift card to get started",bn:"শুরু করতে প্রথম গিফট কার্ডটি কিনুন"},giftCardsBuyACard:{en:"Buy a Card",bn:"কার্ড কিনুন"},giftCardsRedeem:{en:"Redeem",bn:"ব্যবহার"},giftCardsStatusExpired:{en:"expired",bn:"মেয়াদ শেষ"},giftCardsStatusActive:{en:"active",bn:"সক্রিয়"},giftCardsStatusRedeemed:{en:"redeemed",bn:"ব্যবহৃত"},giftCardsKycRequired:{en:"Please complete KYC verification to use this feature.",bn:"এই ফিচার ব্যবহারে কেওয়াইসি যাচাই সম্পন্ন করুন।"},giftCardsSignInFirst:{en:"Please sign in first",bn:"প্রথমে সাইন ইন করুন"},giftCardsBuyFailed:{en:"Failed to purchase gift card",bn:"গিফট কার্ড কেনা ব্যর্থ"}
181,giftCardsBought:{en:"Gift card purchased!",bn:"গিফট কার্ড কেনা হয়েছে!"},giftCardsCodeCopied:{en:"Code copied!",bn:"কোড কপি হয়েছে!"},giftCardsRedemptionFailed:{en:"Redemption failed",bn:"ব্যবহার ব্যর্থ"},giftCardsCreditedPrefix:{en:"credited to your wallet!",bn:"আপনার ওয়ালেটে যোগ হয়েছে!"},giftCardsShareTitle:{en:"EasyPay Gift Card",bn:"ইজিপে গিফট কার্ড"},giftCardsShareTextPrefix:{en:"Here's a",bn:"এটি একটি"},giftCardsShareTextSuffix:{en:"gift card! Code:",bn:"গিফট কার্ড! কোড:"},giftCardsSeoTitle:{en:"Gift Cards – EasyPay",bn:"গিফট কার্ড – ইজিপে"},giftCardsSeoDesc:{en:"Buy and send digital gift cards across 17 categories – fashion, food, gaming, travel and more – instantly with EasyPay.",bn:"ফ্যাশন, খাবার, গেমিং, ভ্রমণসহ ১৭টি ক্যাটাগরিতে ডিজিটাল গিফট কার্ড কিনুন ও পাঠান ইজিপে দিয়ে তাৎক্ষণিকভাবে।"},giftCardsPinTitle:{en:"Confirm gift card purchase",bn:"গিফট কার্ড কেনা নিশ্চিত করুন"},gcAll:{en:"All Categories",bn:"সকল ক্যাটাগরি"},gcShopping:{en:"Shopping",bn:"শপিং"},gcFood:{en:"Food & Dining",bn:"খাবার ও ডাইনিং"},gcGaming:{en:"Gaming",bn:"গেমিং"},gcEntertainment:{en:"Entertainment",bn:"বিনোদন"},gcStreaming:{en:"Streaming",bn:"স্ট্রিমিং"},gcTravel:{en:"Travel",bn:"ভ্রমণ"},gcHealth:{en:"Health & Wellness",bn:"স্বাস্থ্য ও সুস্থতা"},gcEducation:{en:"Education",bn:"শিক্ষা"},gcFashion:{en:"Fashion",bn:"ফ্যাশন"},gcFuel:{en:"Fuel & Gas",bn:"জ্বালানি ও গ্যাস"},gcMobile:{en:"Mobile Recharge",bn:"মোবাইল রিচার্জ"},gcBeauty:{en:"Beauty & Spa",bn:"বিউটি ও স্পা"},gcBooks:{en:"Books & Media",bn:"বই ও মিডিয়া"},gcFitness:{en:"Fitness & Sports",bn:"ফিটনেস ও খেলাধুলা"},gcRestaurant:{en:"Restaurant",bn:"রেস্টুরেন্ট"},gcArt:{en:"Art & Craft",bn:"আর্ট ও ক্রাফট"},donAmount:{en:"Amount",bn:"পরিমাণ"},donHideMessage:{en:"Hide message",bn:"বার্তা লুকান"},donAddMessage:{en:"Add a message (optional)",bn:"একটি বার্তা যোগ করুন (ঐচ্ছিক)"},donKindNote:{en:"Leave a kind note…",bn:"একটি সুন্দর বার্তা লিখুন…"},donAnonymously:{en:"Donate anonymously",bn:"নাম প্রকাশ না করে দান করুন"},donMakeRecurring:{en:"Make this recurring",bn:"এটি নিয়মিত করুন"},donWeekly:{en:"Weekly",bn:"সাপ্তাহিক"},donMonthly:{en:"Monthly",bn:"মাসিক"},donYearly:{en:"Yearly",bn:"বার্ষিক"},donContinue:{en:"Continue",bn:"এগিয়ে যান"},donEnterPin:{en:"Enter your 4-digit PIN",bn:"আপনার ৪ সংখ্যার পিন দিন"},donProcessing:{en:"Processing…",bn:"প্রক্রিয়াকরণ…"}
181,donConfirm:{en:"Confirm",bn:"নিশ্চিত করুন"},donAnonymousBadge:{en:"Anonymous",bn:"অজ্ঞাতনামা"},donThankYou:{en:"Thank You!",bn:"ধন্যবাদ!"},donYouDonated:{en:"You donated",bn:"আপনি দান করেছেন"},donToWord:{en:"to",bn:"এর জন্য"},donDonateAgain:{en:"Donate Again",bn:"আবার দান"},donHomeBtn:{en:"Home",bn:"হোম"},donShareBtn:{en:"Share",bn:"শেয়ার"},donAll:{en:"All",bn:"সব"},donNoRecurring:{en:"No recurring donations",bn:"কোনো নিয়মিত দান নেই"},donSetupInTab:{en:"Set one up in the Donate tab",bn:"দান ট্যাব থেকে একটি সেট করুন"},donSchedulePaused:{en:"Schedule paused",bn:"শিডিউল বিরতিতে"},donScheduleResumed:{en:"Schedule resumed",bn:"শিডিউল চালু"},donScheduleDeleted:{en:"Schedule deleted",bn:"শিডিউল মুছে ফেলা হয়েছে"},donNoDonations:{en:"No donations yet",bn:"এখনো কোনো দান নেই"},donHistoryHere:{en:"Your history will appear here",bn:"আপনার ইতিহাস এখানে দেখা যাবে"},donNoLeaderboard:{en:"No donations recorded yet",bn:"এখনো কোনো দান রেকর্ড হয়নি"},donNext:{en:"Next",bn:"পরবর্তী"},donMinAmount:{en:"Minimum donation is ৳10",bn:"সর্বনিম্ন দান ৳১০"},donMaxAmount:{en:"Maximum donation is ৳100,000",bn:"সর্বোচ্চ দান ৳১,০০,০০০"},donIncorrectPin:{en:"Incorrect PIN",bn:"ভুল পিন"},donFailed:{en:"Donation failed",bn:"দান ব্যর্থ"},donReceipt:{en:"Donation Receipt",bn:"দান রসিদ"},donCause:{en:"Cause",bn:"কারণ"},donIdentity:{en:"Identity",bn:"পরিচয়"},donRecurringLabel:{en:"Recurring",bn:"নিয়মিত"},donMessage:{en:"Message",bn:"বার্তা"},donDonationsSuffix:{en:"donations",bn:"দান"},donDonationSingular:{en:"donation",bn:"দান"},savIslamicSavings:{en:"Islamic Savings",bn:"ইসলামিক সঞ্চয়"},savShariaMudarabah:{en:"Sharia-compliant · Mudarabah",bn:"শরিয়াহ্‌সম্মত · মুদারাবা"},savPortfolioValue:{en:"Portfolio value",bn:"পোর্টফোলিও মূল্য"},savGoalsLabel:{en:"Goals",bn:"লক্ষ্য"},savDpsLabel:{en:"DPS",bn:"ডিপিএস"},savGoldLabel:{en:"Gold",bn:"স্বর্ণ"},savStocksLabel:{en:"Stocks",bn:"স্টক"},savWalletBalance:{en:"Wallet balance",bn:"ওয়ালেট ব্যালেন্স"},savKycRequired:{en:"KYC required",bn:"কেওয়াইসি প্রয়োজন"},savKycDescription:{en:"Complete identity verification to unlock Islamic Savings, DPS, Gold, and Stocks.",bn:"ইসলামিক সঞ্চয়, ডিপিএস, স্বর্ণ ও স্টক চালু করতে পরিচয় যাচাই সম্পন্ন করুন।"},savGoToKyc:{en:"Go to KYC",bn:"কেওয়াইসিতে যান"},savBack:{en:"Back",bn:"ফিরুন"},savEnterPin:{en:"Enter your 4-digit PIN",bn:"আপনার ৪ সংখ্যার পিন দিন"},savIncorrectPin:{en:"Incorrect PIN",bn:"ভুল পিন"},savEnterPinRequired:{en:"Enter your 4-digit PIN",bn:"আপনার ৪ সংখ্যার পিন দিন"},savAcceptTerms:{en:"Please accept the terms",bn:"অনুগ্রহ করে শর্তাবলী মেনে নিন"},savOperationFailed:{en:"Operation failed",bn:"অপারেশন ব্যর্থ"},savProcessing:{en:"Processing…",bn:"প্রক্রিয়াকরণ…"},savSlideToConfirm:{en:"Slide to confirm",bn:"নিশ্চিত করতে স্লাইড করুন"},savIslamicTerms:{en:"I accept the Islamic Savings terms — Mudarabah model, no guaranteed return, profit subject to market conditions.",bn:"আমি ইসলামিক সঞ্চয়ের শর্ত মেনে নিচ্ছি — মুদারাবা মডেল, কোনো নিশ্চিত মুনাফা নেই, লাভ বাজারের উপর নির্ভরশীল।"},savDailyLabel:{en:"Daily",bn:"দৈনিক"},savWeeklyLabel:{en:"Weekly",bn:"সাপ্তাহিক"},savMonthlyLabel:{en:"Monthly",bn:"মাসিক"},savCreateNewGoal:{en:"Create New Goal",bn:"নতুন লক্ষ্য তৈরি"},savNoGoalsYet:{en:"No savings goals yet. Create your first goal.",bn:"এখনো কোনো সঞ্চয় লক্ষ্য নেই। প্রথম লক্ষ্যটি তৈরি করুন।"},savDeposit:{en:"Deposit",bn:"জমা"},savWithdraw:{en:"Withdraw",bn:"উত্তোলন"},savCancel:{en:"Cancel",bn:"বাতিল"},savNewSavingsGoal:{en:"New Savings Goal",bn:"নতুন সঞ্চয় লক্ষ্য"},savGoalNamePlaceholder:{en:"Goal name (e.g. Hajj Fund)",bn:"লক্ষ্যের নাম (যেমন: হজ্জ ফান্ড)"}
181,savTargetAmount:{en:"Target amount (৳)",bn:"লক্ষ্য পরিমাণ (৳)"},savOpeningDeposit:{en:"Opening deposit (optional)",bn:"প্রারম্ভিক জমা (ঐচ্ছিক)"},savContinue:{en:"Continue",bn:"এগিয়ে যান"},savConfirmNewGoal:{en:"Confirm new goal",bn:"নতুন লক্ষ্য নিশ্চিত করুন"},savTarget:{en:"Target",bn:"লক্ষ্য"},savOpeningDepositShort:{en:"Opening deposit",bn:"প্রারম্ভিক জমা"},savLockIn:{en:"Lock-in",bn:"লক-ইন"},savDays:{en:"days",bn:"দিন"},savDepositTo:{en:"Deposit to",bn:"জমা"},savAmountField:{en:"Amount (৳)",bn:"পরিমাণ (৳)"},savCancelGoal:{en:"Cancel goal",bn:"লক্ষ্য বাতিল"},savCancelWarning:{en:"Your saved amount will be refunded to your wallet. This cannot be undone.",bn:"আপনার সঞ্চিত পরিমাণ ওয়ালেটে ফেরত দেওয়া হবে। এটি পূর্বাবস্থায় ফেরানো যাবে না।"},savRefund:{en:"Refund",bn:"ফেরত"},savWithdrawCompleted:{en:"Withdraw completed goal",bn:"সম্পন্ন লক্ষ্য উত্তোলন"},savWithdrawToWallet:{en:"Withdraw to wallet",bn:"ওয়ালেটে উত্তোলন"},savGoalCreated:{en:"Goal created",bn:"লক্ষ্য তৈরি হয়েছে"}
181,savGoalCancelled:{en:"Goal cancelled",bn:"লক্ষ্য বাতিল হয়েছে"},savWithdrawnToWallet:{en:"Withdrawn to wallet",bn:"ওয়ালেটে উত্তোলন হয়েছে"},savEnterValidName:{en:"Enter a valid name and target",bn:"একটি বৈধ নাম ও লক্ষ্য দিন"},savNotSignedIn:{en:"Not signed in",bn:"সাইন ইন করা নেই"},savEnterAmount:{en:"Enter an amount",bn:"একটি পরিমাণ দিন"},savDeposited:{en:"deposited",bn:"জমা হয়েছে"},savNewDpsPlan:{en:"New DPS Plan",bn:"নতুন ডিপিএস প্ল্যান"},savMissedInstallments:{en:"Missed installments",bn:"বাকি কিস্তি"},savDue:{en:"Due",bn:"প্রাপ্য"},savRepay:{en:"Repay",bn:"পরিশোধ"},savNoDpsPlans:{en:"No DPS plans yet.",bn:"এখনো কোনো ডিপিএস প্ল্যান নেই।"},savPerCycle:{en:"/cycle",bn:"/চক্র"},savCollectNow:{en:"Collect now",bn:"এখন সংগ্রহ"},savNextDate:{en:"Next",bn:"পরবর্তী"},savCreateActiveGoalFirst:{en:"Create an active goal first to attach a DPS plan.",bn:"ডিপিএস প্ল্যান যুক্ত করতে প্রথমে একটি সক্রিয় লক্ষ্য তৈরি করুন।"},savGoal:{en:"Goal",bn:"লক্ষ্য"},savPickGoal:{en:"Pick a goal",bn:"একটি লক্ষ্য বাছুন"},savFrequencyLabel:{en:"Frequency",bn:"ফ্রিকোয়েন্সি"},savStrategy:{en:"Strategy",bn:"কৌশল"},savInstallments:{en:"Installments",bn:"কিস্তি"},savEstimatedIndicative:{en:"Estimated (indicative)",bn:"আনুমানিক (সূচক)"},savYouDeposit:{en:"You deposit",bn:"আপনি জমা দেবেন"},savEstProfit:{en:"Est. profit",bn:"আনুমানিক মুনাফা"},savTotalValue:{en:"Total value",bn:"মোট মূল্য"},savAnnualisedNote:{en:"annualised, capped at 6%. Not guaranteed.",bn:"বার্ষিক, সর্বোচ্চ ৬%। নিশ্চিত নয়।"},savFirstInstallmentNote:{en:"First installment deducted now. DPS plan locked for 90 days.",bn:"প্রথম কিস্তি এখনই কেটে নেওয়া হবে। ডিপিএস প্ল্যান ৯০ দিন লক থাকবে।"},savConfirmDpsPlan:{en:"Confirm DPS plan",bn:"ডিপিএস প্ল্যান নিশ্চিত করুন"},savPlanShort:{en:"Plan",bn:"প্ল্যান"},savFirstInstNow:{en:"First installment now",bn:"প্রথম কিস্তি এখন"},savEstTotalValue:{en:"Est. total value",bn:"আনুমানিক মোট মূল্য"},savDpsLockWarning:{en:"DPS plans are locked for 90 days. Missing installments increases your missed counter.",bn:"ডিপিএস প্ল্যান ৯০ দিন লক থাকে। কিস্তি বাদ পড়লে মিসড কাউন্টার বাড়বে।"},savCollectInstallmentNow:{en:"Collect installment now",bn:"এখনই কিস্তি সংগ্রহ"},savCollectWarning:{en:"If your wallet balance is insufficient, this run will be marked as missed.",bn:"আপনার ওয়ালেট ব্যালেন্স অপ্রতুল হলে, এই কিস্তি মিসড হিসেবে চিহ্নিত হবে।"},savRepayMissedInst:{en:"Repay missed installment",bn:"বাকি কিস্তি পরিশোধ"},savDueDate:{en:"Due date",bn:"প্রাপ্যের তারিখ"},savDpsCreated:{en:"DPS plan created",bn:"ডিপিএস প্ল্যান তৈরি হয়েছে"},savInstallmentProcessed:{en:"Installment processed",bn:"কিস্তি প্রক্রিয়া সম্পন্ন"},savMissedRepaid:{en:"Missed payment repaid",bn:"বাকি কিস্তি পরিশোধ হয়েছে"},savPickGoalErr:{en:"Pick a goal",bn:"একটি লক্ষ্য বাছুন"},savValidAmountInst:{en:"Enter valid amount and installments",bn:"বৈধ পরিমাণ ও কিস্তি দিন"},savLiveGoldPrice:{en:"Live Gold Price",bn:"লাইভ স্বর্ণের দাম"},savYourHoldings:{en:"Your",bn:"আপনার"},savHoldingsSuffix:{en:"holdings",bn:"মজুদ"},savGramsLabel:{en:"Grams",bn:"গ্রাম"},savAvgBuy:{en:"Avg buy",bn:"গড় কেনা"}
181,savCurrentValue:{en:"Current value",bn:"বর্তমান মূল্য"},savBuyMode:{en:"buy",bn:"কেনা"},savSellMode:{en:"sell",bn:"বিক্রি"},savGramsPlaceholder:{en:"Grams",bn:"গ্রাম"},savSubtotal:{en:"Subtotal",bn:"সাবটোটাল"},savFeeLabel:{en:"Fee (1.5%)",bn:"ফি (১.৫%)"},savYouPay:{en:"You pay",bn:"আপনি দেবেন"},savYouReceive:{en:"You receive",bn:"আপনি পাবেন"},savBuyGold:{en:"Buy gold",bn:"স্বর্ণ কিনুন"},savSellGold:{en:"Sell gold",bn:"স্বর্ণ বিক্রি"},savBuyAction:{en:"Buy",bn:"কিনুন"},savSellAction:{en:"Sell",bn:"বিক্রি"},savBoughtPrefix:{en:"Bought",bn:"কেনা হয়েছে"},savSoldPrefix:{en:"Sold",bn:"বিক্রি হয়েছে"},savEnterGrams:{en:"Enter grams",bn:"গ্রাম দিন"},savGoldTerms:{en:"I accept that gold trades follow Sharia (Bai-as-Salam) and prices fluctuate. No guaranteed return.",bn:"আমি স্বীকার করছি যে স্বর্ণ লেনদেন শরিয়াহ্‌ (বাই-আস-সালাম) অনুযায়ী এবং দাম পরিবর্তনশীল। কোনো নিশ্চিত মুনাফা নেই।"},savFee15:{en:"Fee 1.5%",bn:"ফি ১.৫%"},savPriceLabel:{en:"Price/g",bn:"প্রতি গ্রাম দাম"},savHalalEquities:{en:"Halal Equities (DSE)",bn:"হালাল ইক্যুইটি (ডিএসই)"},savQuantity:{en:"Quantity",bn:"পরিমাণ"},savBrokerage:{en:"Brokerage",bn:"ব্রোকারেজ"},savBuyStock:{en:"Buy stock",bn:"স্টক কিনুন"},savSellStock:{en:"Sell stock",bn:"স্টক বিক্রি"},savPickStock:{en:"Pick a stock",bn:"একটি স্টক বাছুন"},savEnterQuantity:{en:"Enter quantity",bn:"পরিমাণ দিন"},savStockTerms:{en:"I confirm this is a Sharia-compliant DSE listing and accept that stock prices fluctuate.",bn:"আমি নিশ্চিত করছি এটি একটি শরিয়াহ্‌সম্মত ডিএসই লিস্টিং এবং স্টকের দাম পরিবর্তনশীল।"},savPriceShort:{en:"Price",bn:"দাম"},loanQardHasan:{en:"Qard Hasan",bn:"কারদ-হাসান"},loanTagline:{en:"Interest-Free · Sharia Compliant",bn:"সুদমুক্ত · শরিয়াহ্‌সম্মত"},loanHalal:{en:"Halal",bn:"হালাল"},loanApplyTab:{en:"Apply",bn:"আবেদন"},loanActiveTab:{en:"Active",bn:"সক্রিয়"},loanHistoryTab:{en:"History",bn:"ইতিহাস"},loanStatusUnderReview:{en:"Under Review",bn:"পর্যালোচনাধীন"},loanStatusApproved:{en:"Approved",bn:"অনুমোদিত"},loanStatusRejected:{en:"Rejected",bn:"প্রত্যাখ্যাত"},loanStatusActive:{en:"Active",bn:"সক্রিয়"},loanStatusSettled:{en:"Settled",bn:"পরিশোধিত"},loanInterestFreeTitle:{en:"100% Interest-Free (Riba-Free)",bn:"১০০% সুদমুক্ত (রিবা-মুক্ত)"},loanInterestFreeDescPrefix:{en:"Qard Hasan — a benevolent loan with only a one-time flat",bn:"কারদ-হাসান — একটি কল্যাণমূলক ঋণ যেখানে শুধু একবার ফ্ল্যাট"},loanInterestFreeDescSuffix:{en:"service fee. No compounding, no hidden charges, fully Sharia compliant.",bn:"সেবা ফি। কোনো চক্রবৃদ্ধি নয়, কোনো গোপন চার্জ নয়, সম্পূর্ণ শরিয়াহ্‌সম্মত।"},loanTrustScore:{en:"Trust Score",bn:"ট্রাস্ট স্কোর"},loanAnalyzing:{en:"Analyzing...",bn:"বিশ্লেষণ চলছে..."},loanGradeExcellent:{en:"Excellent",bn:"চমৎকার"},loanGradeGood:{en:"Good",bn:"ভালো"},loanGradeFair:{en:"Fair",bn:"মাঝারি"},loanGradeBuilding:{en:"Building",bn:"গড়ে উঠছে"},loanEligibleChip:{en:"Eligible",bn:"যোগ্য"},loanBuildingChip:{en:"Building",bn:"গড়ে উঠছে"},loanMaxLabel:{en:"Max:",bn:"সর্বোচ্চ:"},loanCheckAccountAge:{en:"Account Age",bn:"অ্যাকাউন্ট বয়স"},loanCheckTransactions:{en:"Transactions",bn:"লেনদেন"},loanCheckAddMoney:{en:"Add Money",bn:"টাকা যোগ"},loanCheckPayments:{en:"Payments",bn:"পেমেন্ট"},loanCheckShopping:{en:"Shopping",bn:"শপিং"},loanAgeUnit:{en:"days",bn:"দিন"},loanConfigure:{en:"Configure Qard Hasan",bn:"কারদ-হাসান কনফিগার"},loanConfigureSub:{en:"Select amount & repayment period",bn:"পরিমাণ ও পরিশোধের সময় নির্বাচন"},loanAmountLabel:{en:"Loan Amount",bn:"ঋণের পরিমাণ"},loanAmountSelect:{en:"Select amount",bn:"পরিমাণ নির্বাচন"},loanAmountShort:{en:"Amount",bn:"পরিমাণ"},loanFeeShort:{en:"Fee:",bn:"ফি:"},loanOverLimit:{en:"Over limit",bn:"সীমার বেশি"},loanRepaymentPeriod:{en:"Repayment Period",bn:"পরিশোধের সময়"},loanDuration:{en:"Duration",bn:"সময়কাল"},loanDurationSelect:{en:"Select duration",bn:"সময়কাল নির্বাচন"},loanDaysLabel:{en:"days",bn:"দিন"},loan1Month:{en:"1 Month",bn:"১ মাস"},loan2Months:{en:"2 Months",bn:"২ মাস"},loan3Months:{en:"3 Months",bn:"৩ মাস"},loan6Months:{en:"6 Months",bn:"৬ মাস"},loan9Months:{en:"9 Months",bn:"৯ মাস"},loan1Year:{en:"1 Year",bn:"১ বছর"},loanMonthlyInstallment:{en:"Monthly Installment",bn:"মাসিক কিস্তি"},loanPerMo:{en:"/mo",bn:"/মাস"},loanLoanAmountChip:{en:"Loan Amount",bn:"ঋণের পরিমাণ"},loanServiceFee:{en:"Service Fee",bn:"সেবা ফি"},loanTotalPayable:{en:"Total Payable",bn:"মোট পরিশোধ্য"},loanInstallmentsChip:{en:"Installments",bn:"কিস্তি"},loanMonthsSuffix:{en:"months",bn:"মাস"},loanZeroInterest:{en:"0% Interest",bn:"০% সুদ"},loanZeroInterestDescPrefix:{en:"Only a flat",bn:"শুধু একবার ফ্ল্যাট"},loanZeroInterestDescSuffix:{en:"service fee · Auto-debit from wallet",bn:"সেবা ফি · ওয়ালেট থেকে অটো-কাটা"},loanFeatZero:{en:`Zero
182Interest`,bn:`শূন্য
183সুদ`},loanFeatSharia:{en:`Sharia
184Compliant`,bn:`শরিয়াহ্‌
185সম্মত`},loanFeatFlexible:{en:`Flexible
186Repayment`,bn:`নমনীয়
187পরিশোধ`},loanImproveScore:{en:"Improve Score to Apply",bn:"আবেদন করতে স্কোর উন্নত করুন"},loanExceedsLimit:{en:"Amount Exceeds Limit",bn:"পরিমাণ সীমার বেশি"},loanApplyFor:{en:"Apply for",bn:"আবেদন"},loanFooterNote:{en:"No riba · One-time service fee only · Fully transparent",bn:"কোনো রিবা নেই · শুধু একবার সেবা ফি · সম্পূর্ণ স্বচ্ছ"},loanNoActive:{en:"No Active Loans",bn:"কোনো সক্রিয় ঋণ নেই"},loanNoActiveDesc:{en:"Apply for Qard Hasan to see it here",bn:"এখানে দেখতে কারদ-হাসানের জন্য আবেদন করুন"},loanApplyNow:{en:"Apply Now",bn:"এখনই আবেদন"},loanSettlementProgress:{en:"Settlement Progress",bn:"পরিশোধের অগ্রগতি"},loanRepaidChip:{en:"Repaid",bn:"পরিশোধিত"},loanRemainingChip:{en:"Remaining",bn:"অবশিষ্ট"},loanNextDue:{en:"Next Due",bn:"পরবর্তী প্রাপ্য"},loanOverdue:{en:"Overdue!",bn:"মেয়াদোত্তীর্ণ!"},loanDaysSuffix:{en:"days",bn:"দিন"},loanInstallmentsList:{en:"Installments",bn:"কিস্তি"},loanCompleted:{en:"completed",bn:"সম্পন্ন"},loanSettlementDetails:{en:"Settlement Details",bn:"পরিশোধের বিস্তারিত"},loanTotalDue:{en:"Total Due",bn:"মোট প্রাপ্য"},loanDaysLeft:{en:"Days Left",bn:"বাকি দিন"},loanIncludedNote:{en:"Service fee already included",bn:"সেবা ফি ইতিমধ্যে অন্তর্ভুক্ত"},loanRepayLoanBtn:{en:"Repay Loan",bn:"ঋণ পরিশোধ"},loanDueWord:{en:"due",bn:"প্রাপ্য"},loanUnderReviewNote:{en:"Under review. Usually takes 1-2 business days.",bn:"পর্যালোচনাধীন। সাধারণত ১-২ কার্যদিবস লাগে।"}
187,loanApprovedNote:{en:"Approved! Funds will be disbursed to your wallet shortly.",bn:"অনুমোদিত! শীঘ্রই আপনার ওয়ালেটে অর্থ পাঠানো হবে।"},loanNoHistory:{en:"No History Yet",bn:"এখনো কোনো ইতিহাস নেই"},loanNoHistoryDesc:{en:"Settled and rejected loans appear here",bn:"পরিশোধিত ও প্রত্যাখ্যাত ঋণ এখানে দেখা যাবে"},loanTotalSettled:{en:"Total Settled",bn:"মোট পরিশোধিত"},loanCompletedChip:{en:"Completed",bn:"সম্পন্ন"},loanLoansSuffix:{en:"loans",bn:"ঋণ"},loanZeroInterestShort:{en:"0% interest",bn:"০% সুদ"},loanTermsTitle:{en:"Qard Hasan Terms & Conditions",bn:"কারদ-হাসান শর্তাবলী"},loanTerm1Title:{en:"1. Sharia Compliance",bn:"১. শরিয়াহ্‌ সম্মতি"},loanTerm1:{en:"This is a Qard Hasan (benevolent loan) — completely interest-free (riba-free). The borrower repays only the principal amount plus a one-time flat service fee.",bn:"এটি একটি কারদ-হাসান (কল্যাণমূলক ঋণ) — সম্পূর্ণ সুদমুক্ত (রিবা-মুক্ত)। ঋণগ্রহীতা শুধু মূল পরিমাণ এবং একবার ফ্ল্যাট সেবা ফি পরিশোধ করেন।"},loanTerm2Title:{en:"2. Service Fee",bn:"২. সেবা ফি"},loanTerm2Prefix:{en:"A flat",bn:"একটি ফ্ল্যাট"},loanTerm2Suffix:{en:"one-time service fee is charged to cover administrative and operational costs. This fee does not compound or increase over time.",bn:"একবার সেবা ফি প্রশাসনিক ও পরিচালনা খরচ মেটাতে নেওয়া হয়। এই ফি চক্রবৃদ্ধি বা সময়ের সাথে বাড়ে না।"},loanTerm3Title:{en:"3. Repayment",bn:"৩. পরিশোধ"},loanTerm3:{en:"Equal monthly installments auto-deducted from your wallet. Maintain sufficient balance. 3 consecutive misses may result in account restrictions.",bn:"সমান মাসিক কিস্তি ওয়ালেট থেকে স্বয়ংক্রিয়ভাবে কেটে নেওয়া হয়। পর্যাপ্ত ব্যালেন্স রাখুন। পরপর ৩বার মিস হলে অ্যাকাউন্টে বিধিনিষেধ আসতে পারে।"},loanTerm4Title:{en:"4. No Penalty Interest",bn:"৪. কোনো জরিমানা সুদ নেই"},loanTerm4:{en:"Late payments do not accrue additional interest or riba. However, repeated defaults may affect your Trust Score and future eligibility.",bn:"বিলম্বিত পরিশোধে অতিরিক্ত সুদ বা রিবা যোগ হয় না। তবে বারবার খেলাপি হলে আপনার ট্রাস্ট স্কোর ও ভবিষ্যৎ যোগ্যতায় প্রভাব পড়তে পারে।"},loanTerm5Title:{en:"5. Eligibility",bn:"৫. যোগ্যতা"},loanTerm5:{en:"Approval depends on Trust Score, transaction history, and KYC verification. EasyPay reserves the right to decline applications.",bn:"অনুমোদন ট্রাস্ট স্কোর, লেনদেন ইতিহাস ও কেওয়াইসি যাচাইয়ের উপর নির্ভর করে। ইজিপে আবেদন প্রত্যাখ্যানের অধিকার রাখে।"},loanTerm6Title:{en:"6. Early Settlement",bn:"৬. আগাম পরিশোধ"},loanTerm6:{en:"Full early repayment is allowed at any time without penalty. Service fee remains unchanged regardless of early settlement.",bn:"যেকোনো সময় জরিমানা ছাড়াই সম্পূর্ণ আগাম পরিশোধ করা যাবে। আগাম পরিশোধ হলেও সেবা ফি অপরিবর্তিত থাকে।"},loanTerm7Title:{en:"7. Default & Recovery",bn:"৭. খেলাপি ও আদায়"},loanTerm7:{en:"On default: account restrictions, deductions from incoming funds, and Trust Score reduction. No additional interest or charges are levied.",bn:"খেলাপি হলে: অ্যাকাউন্টে বিধিনিষেধ, আগত অর্থ থেকে কর্তন এবং ট্রাস্ট স্কোর হ্রাস। কোনো অতিরিক্ত সুদ বা চার্জ নেওয়া হয় না।"},loanTerm8Title:{en:"8. Data Privacy",bn:"৮. ডেটা গোপনীয়তা"},loanTerm8:{en:"Transaction data is used solely for Trust Score calculation. No third-party sharing except as required by law.",bn:"লেনদেন তথ্য শুধু ট্রাস্ট স্কোর গণনার জন্য ব্যবহার হয়। আইন অনুযায়ী ছাড়া তৃতীয় পক্ষের সাথে শেয়ার করা হয় না।"},loanTerm9Title:{en:"9. Governing Principle",bn:"৯. পরিচালনা নীতি"},loanTerm9:{en:"This agreement follows Islamic finance principles (Qard Hasan). Governed by laws of the People's Republic of Bangladesh.",bn:"এই চুক্তি ইসলামিক ফিন্যান্স নীতি (কারদ-হাসান) অনুসরণ করে। গণপ্রজাতন্ত্রী বাংলাদেশের আইন দ্বারা পরিচালিত।"},loanAgreeTermsPrefix:{en:"I agree to the",bn:"আমি"},loanAgreeTermsMiddle:{en:"Qard Hasan Terms",bn:"কারদ-হাসান শর্তাবলী"},loanAgreeTermsSuffix:{en:"including the service fee and repayment policies. I understand this loan is interest-free.",bn:"এবং সেবা ফি ও পরিশোধ নীতি মেনে নিচ্ছি। আমি বুঝতে পারছি এই ঋণ সুদমুক্ত।"},loanEnterPinToConfirm:{en:"Enter PIN to Confirm",bn:"নিশ্চিত করতে পিন দিন"},loanApplying:{en:"Applying…",bn:"আবেদন হচ্ছে…"},loanSlideToApply:{en:"Slide to Apply",bn:"আবেদন করতে স্লাইড করুন"},loanRepayQardHasan:{en:"Repay Qard Hasan",bn:"কারদ-হাসান পরিশোধ"},loanRepayAmount:{en:"Repay Amount",bn:"পরিশোধের পরিমাণ"},loanPayAll:{en:"Pay All",bn:"সব পরিশোধ"},loanExceedsOutstanding:{en:"Exceeds outstanding",bn:"বকেয়ার বেশি"},loanPayingNow:{en:"Paying now",bn:"এখন পরিশোধ"},loanAfterPayment:{en:"After payment",bn:"পরিশোধের পরে"},loanFullySettled:{en:"✓ Fully Settled",bn:"✓ সম্পূর্ণ পরিশোধিত"},loanLeftSuffix:{en:"left",bn:"বাকি"},loanConfirmWithPin:{en:"Confirm with PIN",bn:"পিন দিয়ে নিশ্চিত করুন"},loanSlideToRepay:{en:"Slide to Repay",bn:"পরিশোধ করতে স্লাইড করুন"},loanProcessing:{en:"Processing…",bn:"প্রক্রিয়াকরণ…"},loanEnterValidAmount:{en:"Enter a valid amount",bn:"একটি বৈধ পরিমাণ দিন"},loanEnterPin4:{en:"Enter your 4-digit PIN",bn:"আপনার ৪ সংখ্যার পিন দিন"},loanIncorrectPin:{en:"Incorrect PIN",bn:"ভুল পিন"},loanRepayFailed:{en:"Repayment failed",bn:"পরিশোধ ব্যর্থ"},loanFullSettleToast:{en:"🎉 Loan fully settled!",bn:"🎉 ঋণ সম্পূর্ণ পরিশোধ!"},loanRepaidWord:{en:"repaid",bn:"পরিশোধিত"},loanRemainingWord:{en:"remaining",bn:"অবশিষ্ট"},loanSubmitFailed:{en:"Failed to submit application",bn:"আবেদন জমা ব্যর্থ"},loanSubmittedToast:{en:"Qard Hasan application submitted!",bn:"কারদ-হাসান আবেদন জমা হয়েছে!"},loanIncorrectPinRetry:{en:"Incorrect PIN. Please try again.",bn:"ভুল পিন। আবার চেষ্টা করুন।"},loanNotEligibleYet:{en:"You are not eligible yet",bn:"আপনি এখনো যোগ্য নন"},loanAcceptTerms:{en:"Please accept the terms",bn:"অনুগ্রহ করে শর্তাবলী মেনে নিন"},loanKycRequired:{en:"Please complete KYC verification to use this feature.",bn:"এই ফিচার ব্যবহারে কেওয়াইসি যাচাই সম্পন্ন করুন।"},loanSeoTitle:{en:"Qard Hasan Loan – Sharia-Compliant Micro Loans | EasyPay",bn:"কারদ-হাসান ঋণ – শরিয়াহ্‌সম্মত ক্ষুদ্র ঋণ | EasyPay"},loanSeoDesc:{en:"Apply for interest-free Qard Hasan micro-loans through EasyPay. Transparent flat fee, instant disbur
187sal to your wallet.",bn:"EasyPay-এর মাধ্যমে সুদমুক্ত কারদ-হাসান ক্ষুদ্র ঋণের জন্য আবেদন করুন। স্বচ্ছ ফ্ল্যাট ফি, ওয়ালেটে তাৎক্ষণিক বিতরণ।"},loanOutstanding:{en:"Outstanding",bn:"বকেয়া"},smNotRegistered:{en:"This number is not registered on EasyPay.",bn:"এই নম্বরটি EasyPay-এ নিবন্ধিত নয়।"},smWalletNotFound:{en:"Wallet ID not found on EasyPay.",bn:"ওয়ালেট আইডি EasyPay-এ পাওয়া যায়নি।"},smMinSendAmount:{en:"Minimum send amount is ৳0.01.",bn:"সর্বনিম্ন পাঠানোর পরিমাণ ৳০.০১।"},smMaxSendDay:{en:"Maximum send per day is ৳50,000.",bn:"দৈনিক সর্বোচ্চ পাঠানোর পরিমাণ ৳৫০,০০০।"},smDailyLimitExceeded:{en:"Daily limit exceeded. Used ৳{used} of ৳{limit} today.",bn:"দৈনিক সীমা অতিক্রান্ত। আজ ব্যবহৃত ৳{used} / ৳{limit}।"},smTransactionFailed:{en:"Transaction failed. Please try again.",bn:"লেনদেন ব্যর্থ হয়েছে। আবার চেষ্টা করুন।"},smNameNumberWallet:{en:"Name or Number or Wallet ID",bn:"নাম, নম্বর বা ওয়ালেট আইডি"},smSendToPrefix:{en:"Send to",bn:"পাঠান"},smRecent:{en:"Recent",bn:"সাম্প্রতিক"},smAllContacts:{en:"All Contacts",bn:"সকল পরিচিতি"},smSyncContacts:{en:"Sync Contacts",bn:"পরিচিতি সিঙ্ক"},smNoContacts:{en:"No contacts found",bn:"কোনো পরিচিতি পাওয়া যায়নি"},smImportContacts:{en:"Enter a number or import from your phone",bn:"নম্বর দিন বা ফোন থেকে আমদানি করুন"},smCashOutToggle:{en:"Add Cash Out Charge (1.19%)",bn:"ক্যাশ আউট চার্জ যোগ করুন (১.১৯%)"},smMinAmountRequired:{en:"Minimum ৳{amt} required",bn:"সর্বনিম্ন ৳{amt} প্রয়োজন"},smMinCashoutChargeReq:{en:"Minimum amount ৳{amt} required to add Cash Out Charge.",bn:"ক্যাশ আউট চার্জ যোগ করতে সর্বনিম্ন ৳{amt} প্রয়োজন।"},smExceedsDailyLimit:{en:"Exceeds daily limit (৳50,000)",bn:"দৈনিক সীমা অতিক্রম করেছে (৳৫০,০০০)"},smBaseBreakdown:{en:"Base ৳{base} + Cash Out Charge ৳{extra} = ৳{total}",bn:"মূল ৳{base} + ক্যাশ আউট চার্জ ৳{extra} = ৳{total}"},smBalancePlusAmount:{en:"৳{bal} balance + ৳{amt} from amount",bn:"৳{bal} ব্যালেন্স + ৳{amt} পরিমাণ থেকে"},smWhatsFor:{en:"What's it for?",bn:"কীসের জন্য?"},smGoBack:{en:"Go back",bn:"পেছনে যান"},smTo:{en:"to",bn:"প্রাপক"},smSentTo:{en:"sent to",bn:"পাঠানো হয়েছে"},smFeeBreakdown:{en:"৳{amt} + ৳{fee} fee ({source})",bn:"৳{amt} + ৳{fee} ফি ({source})"},smFromBalanceShort:{en:"from balance",bn:"ব্যালেন্স থেকে"},smBalancePlusAmtShort:{en:"balance + amount",bn:"ব্যালেন্স + পরিমাণ"},smCashOutSummaryAria:{en:"Cash out charge summary",bn:"ক্যাশ আউট চার্জের সারসংক্ষেপ"},smRecipientGets:{en:"Recipient gets",bn:"প্রাপক পাবেন"},smCashOutChargeLine:{en:"Cash-out charge",bn:"ক্যাশ-আউট চার্জ"},smYouPay:{en:"You pay",bn:"আপনি দেবেন"},smUnknownContact:{en:"Unknown",bn:"অজানা"},smFromAmountShort:{en:"from amount",bn:"পরিমাণ থেকে"},smWalletPrefix:{en:"Wallet",bn:"ওয়ালেট"},ppCouldNotConnect:{en:"Could not connect to payment service. Please try again.",bn:"পেমেন্ট সার্ভিসে সংযোগ করা যায়নি। আবার চেষ্টা করুন।"},ppSomethingWrong:{en:"Something went wrong. Please try again.",bn:"কিছু একটা ভুল হয়েছে। আবার চেষ্টা করুন।"},ppValidNumber:{en:"Enter a valid 11-digit number",bn:"একটি বৈধ ১১ সংখ্যার নম্বর দিন"},ppFailedSendOtp:{en:"Failed to send OTP",bn:"OTP পাঠানো ব্যর্থ হয়েছে"},ppPaymentFailed:{en:"Payment Failed",bn:"পেমেন্ট ব্যর্থ"},ppPaymentFailedMsg:{en:"Payment failed",bn:"পেমেন্ট ব্যর্থ হয়েছে"},ppStepPhone:{en:"Phone",bn:"ফোন"},ppStepVerify:{en:"Verify",bn:"যাচাই"},ppStepPin:{en:"PIN",bn:"পিন"},ppScanToPay:{en:"Scan to Pay",bn:"পে করতে স্ক্যান করুন"},ppOpenAppScan:{en:"Open EasyPay app → Scan QR",bn:"ইজিপে অ্যাপ খুলুন → কিউআর স্ক্যান করুন"},ppPaymentQrAlt:{en:"Payment QR",bn:"পেমেন্ট কিউআর"},ppRefLabel:{en:"Ref",bn:"রেফ"},ppNoteLabel:{en:"Note",bn:"নোট"},ppPayWithPhonePin:{en:"Pay with Phone & PIN",bn:"ফোন ও পিন দিয়ে পে করুন"}
187,ppShowQrCode:{en:"Show QR Code",bn:"কিউআর কোড দেখান"},ppEnterPhone:{en:"Enter your phone number",bn:"আপনার ফোন নম্বর দিন"},ppWellSendCode:{en:"We'll send a verification code",bn:"আমরা একটি যাচাই কোড পাঠাব"},ppBack:{en:"Back",bn:"পেছনে"},ppEnterVerificationCode:{en:"Enter verification code",bn:"যাচাই কোড দিন"},ppSentTo:{en:"Sent to",bn:"পাঠানো হয়েছে"},ppDevOtp:{en:"Dev OTP",bn:"ডেভ OTP"},ppChangeNumber:{en:"Change number",bn:"নম্বর পরিবর্তন"},ppEnterYourPin:{en:"Enter your PIN",bn:"আপনার পিন দিন"},ppFourDigitSecPin:{en:"4-digit security PIN",bn:"৪ সংখ্যার সিকিউরিটি পিন"},ppProcessingPayment:{en:"Processing payment…",bn:"পেমেন্ট প্রসেস হচ্ছে…"},ppPaidTo:{en:"paid to",bn:"পরিশোধ করা হয়েছে"},ppRowAmount:{en:"Amount",bn:"পরিমাণ"},ppRowMerchant:{en:"Merchant",bn:"মার্চেন্ট"},ppRowReference:{en:"Reference",bn:"রেফারেন্স"},ppRowNote:{en:"Note",bn:"নোট"},ppRowDate:{en:"Date",bn:"তারিখ"},ppRowFee:{en:"Fee",bn:"ফি"},ppFreeValue:{en:"Free",bn:"ফ্রি"},ppTransactionIdLabel:{en:"Transaction ID",bn:"লেনদেন আইডি"},ppReturnToMerchant:{en:"Return to Merchant",bn:"মার্চেন্টে ফিরুন"},ppGoHome:{en:"Go Home",bn:"হোমে যান"},ppSomethingWentWrong:{en:"Something went wrong",bn:"কিছু একটা ভুল হয়েছে"},ppSecuredBy:{en:"Secured by EasyPay",bn:"ইজিপে দ্বারা সুরক্ষিত"},ppPaymentTo:{en:"Payment to",bn:"পেমেন্ট প্রাপক"},btSubtitle:{en:"Withdraw to bank account",bn:"ব্যাংক অ্যাকাউন্টে উইথড্র"},btGoBack:{en:"Go back",bn:"ফিরে যান"},btStepXofY:{en:"Step {current} of {total}",bn:"ধাপ {current} এর {total}"},btChooseBank:{en:"Choose a bank…",bn:"একটি ব্যাংক বেছে নিন…"},btSearchBanks:{en:"Search banks…",bn:"ব্যাংক খুঁজুন…"},btNoBanksFound:{en:"No banks found",bn:"কোনো ব্যাংক পাওয়া যায়নি"},btErrSelectBank:{en:"Select a bank.",bn:"একটি ব্যাংক নির্বাচন করুন।"},btErrValidAccount:{en:"Enter a valid account number.",bn:"একটি বৈধ অ্যাকাউন্ট নম্বর দিন।"},btErrAccountHolder:{en:"Enter account holder name.",bn:"অ্যাকাউন্ট ধারকের নাম দিন।"},btErrValidAmount:{en:"Enter a valid amount.",bn:"একটি বৈধ পরিমাণ দিন।"},btErrMinAmount:{en:"Minimum withdrawal is ৳30.",bn:"সর্বনিম্ন উইথড্র ৳৩০।"},btErrMaxAmount:{en:"Maximum withdrawal is ৳50,000.",bn:"সর্বোচ্চ উইথড্র ৳৫০,০০০।"},btErrPin4:{en:"Enter your 4-digit PIN.",bn:"আপনার ৪ সংখ্যার পিন দিন।"},btErrIncorrectPin:{en:"Incorrect PIN. Try again.",bn:"ভুল পিন। আবার চেষ্টা করুন।"},btErrSubmitFailed:{en:"Failed to submit request.",bn:"অনুরোধ জমা দিতে ব্যর্থ।"},btAcctPlaceholder:{en:"e.g. 1234567890123",bn:"যেমন ১২৩৪৫৬৭৮৯০১২৩"},btHolderPlaceholder:{en:"e.g. Mohammad Ali",bn:"যেমন মোহাম্মদ আলী"},btInsufficientBalance:{en:"Insufficient balance",bn:"ব্যালেন্স অপর্যাপ্ত"},btExceedsDailyLimit:{en:"Exceeds daily limit (৳50,000)",bn:"দৈনিক সীমা অতিক্রম (৳৫০,০০০)"},btEnterYourPin:{en:"Enter Your PIN",bn:"আপনার পিন দিন"},btConfirmWithdrawalOf:{en:"Confirm withdrawal of ৳{amount}",bn:"৳{amount} উইথড্র নিশ্চিত করুন"},btEnter4DigitPin:{en:"Enter 4-digit PIN",bn:"৪ সংখ্যার পিন দিন"},btProcessing:{en:"Processing…",bn:"প্রক্রিয়াধীন…"},btConfirmWithdrawal:{en:"Confirm Withdrawal",bn:"উইথড্র নিশ্চিত করুন"},btWithdrawalSummary:{en:"Withdrawal Summary",bn:"উইথড্র সারাংশ"},btTransferAmount:{en:"Transfer Amount",bn:"ট্রান্সফার পরিমাণ"},btServiceCharge1:{en:"Service Charge (1%)",bn:"সার্ভিস চার্জ (১%)"},btFeeSource:{en:"Fee source",bn:"ফি উৎস"},btFromYourBalance:{en:"From your balance",bn:"আপনার ব্যালেন্স থেকে"},btTotalDeduction:{en:"Total Deduction",bn:"মোট কর্তন"},btAdminNotice:{en:"৳{total} will be deducted from your balance instantly. You'll receive ৳{amount}
187 after admin approval. If rejected, the full ৳{total} will be refunded.",bn:"৳{total} আপনার ব্যালেন্স থেকে তৎক্ষণাৎ কর্তন হবে। অ্যাডমিন অনুমোদনের পর আপনি ৳{amount} পাবেন। প্রত্যাখ্যাত হলে সম্পূর্ণ ৳{total} ফেরত দেওয়া হবে।"},btConfirmAndPin:{en:"Confirm & Enter PIN",bn:"নিশ্চিত করে পিন দিন"},btEditAmount:{en:"Edit Amount",bn:"পরিমাণ সম্পাদনা"},btWithdrawalSubmitted:{en:"Withdrawal Submitted",bn:"উইথড্র জমা হয়েছে"},btDeductedFromBalance:{en:"৳{total} has been deducted from your balance.",bn:"৳{total} আপনার ব্যালেন্স থেকে কর্তন হয়েছে।"},btYoullReceive:{en:"You'll Receive",bn:"আপনি পাবেন"},btCharge1:{en:"Charge (1%)",bn:"চার্জ (১%)"},btStatus:{en:"Status",bn:"স্ট্যাটাস"},btPendingApproval:{en:"Pending Approval",bn:"অনুমোদন অপেক্ষমাণ"},btRefundNotice:{en:"If rejected, ৳{total} will be refunded to your wallet instantly.",bn:"প্রত্যাখ্যাত হলে ৳{total} আপনার ওয়ালেটে তৎক্ষণাৎ ফেরত দেওয়া হবে।"},btDone:{en:"Done",bn:"সম্পন্ন"},btRemoveSavedAccountDesc:{en:"This will remove the saved bank details.",bn:"এটি সংরক্ষিত ব্যাংক তথ্য সরিয়ে দেবে।"},dotsDeviceVerification:{en:"device verification",bn:"ডিভাইস যাচাই"},dotsVerifyDevice:{en:"Verify this device",bn:"এই ডিভাইস যাচাই করুন"},dotsCodeSent:{en:"We sent a 6-digit code to",bn:"আমরা একটি ৬-সংখ্যার কোড পাঠিয়েছি"},dotsOnlyOnce:{en:"You'll only need to do this once on this device.",bn:"আপনাকে এই ডিভাইসে এটি শুধু একবারই করতে হবে।"},dotsDevOtp:{en:"Dev OTP:",bn:"ডেভ ওটিপি:"},dotsVerifying:{en:"Verifying...",bn:"যাচাই হচ্ছে..."},dotsVerifyCode:{en:"Verify code",bn:"কোড যাচাই"},dotsResendIn:{en:"Resend in {time}",bn:"{time} এ পুনরায় পাঠান"},dotsResendCode:{en:"Resend code",bn:"কোড পুনরায় পাঠান"},dotsCancel:{en:"Cancel",bn:"বাতিল"},miJustNow:{en:"Just now",bn:"এইমাত্র"},miMinAgo:{en:"{n}m ago",bn:"{n} মিনিট আগে"},miHourAgo:{en:"{n}h ago",bn:"{n} ঘণ্টা আগে"},miYesterday:{en:"Yesterday",bn:"গতকাল"},miDayAgo:{en:"{n}d ago",bn:"{n} দিন আগে"},miCustomer:{en:"Customer",bn:"গ্রাহক"},miNoMessagesYet:{en:"No messages yet",bn:"এখনও কোনো বার্তা নেই"},miInquiry:{en:"Inquiry:",bn:"জিজ্ঞাসা:"},miProductChat:{en:"Product Chat",bn:"পণ্য চ্যাট"},miStartConversation:{en:"Start the conversation with your customer",bn:"আপনার গ্রাহকের সাথে কথোপকথন শুরু করুন"},miReplyPlaceholder:{en:"Reply to customer...",bn:"গ্রাহককে উত্তর দিন..."},miQrThanks:{en:"Thank you for your order! 🎉",bn:"আপনার অর্ডারের জন্য ধন্যবাদ! 🎉"},miQrPreparing:{en:"Your order is being prepared ✅",bn:"আপনার অর্ডার প্রস্তুত করা হচ্ছে ✅"},miQrGetBack:{en:"We'll get back to you shortly!",bn:"আমরা শীঘ্রই আপনার সাথে যোগাযোগ করব!"},miQrOutOfStock:{en:"Currently out of stock, sorry!",bn:"দুঃখিত, এই মুহূর্তে স্টকে নেই!"},miQrShipped:{en:"Shipped! 📦",bn:"পাঠানো হয়েছে! 📦"},miCustomerMessages:{en:"Customer Messages",bn:"গ্রাহক বার্তা"},miUnreadCount:{en:"{n} unread message",bn:"{n}টি অপঠিত বার্তা"},miUnreadCountPlural:{en:"{n} unread messages",bn:"{n}টি অপঠিত বার্তা"},miAllCaughtUp:{en:"All caught up ✓",bn:"সব দেখা হয়েছে ✓"},miSearchCustomers:{en:"Search customers...",bn:"গ্রাহক খুঁজুন..."},miFilterAll:{en:"All",bn:"সব"},miFilterUnread:{en:"Unread",bn:"অপঠিত"},miFilterProduct:{en:"Product",bn:"পণ্য"},miNoCustomersFound:{en:"No customers found",bn:"কোনো গ্রাহক পাওয়া যায়নি"},miNoUnreadMessages:{en:"No unread messages",bn:"কোনো অপঠিত বার্তা নেই"},miNoCustomerChats:{en:"No customer chats yet",bn:"এখনও কোনো গ্রাহক চ্যাট নেই"},miTryDifferentSearch:{en:"Try a different search",bn:"ভিন্নভাবে খুঁজে দেখুন"},miInquiriesAppearHere:{en:"Customer inquiries will appear here",bn:"গ্রাহকের জিজ্ঞাসা এখানে দেখাবে"},moStatusProcessing:{en:"Processing",bn:"প্রক্রিয়াধীন"}
187,moStatusConfirmed:{en:"Confirmed",bn:"নিশ্চিত"},moStatusPartiallyShipped:{en:"Partially Shipped",bn:"আংশিক পাঠানো"},moStatusShipped:{en:"Shipped",bn:"পাঠানো হয়েছে"},moStatusOutForDelivery:{en:"Out for Delivery",bn:"ডেলিভারির পথে"},moStatusDelivered:{en:"Delivered",bn:"ডেলিভার হয়েছে"},moStatusCancelled:{en:"Cancelled",bn:"বাতিল"},moUpdateFailed:{en:"Update failed",bn:"আপডেট ব্যর্থ"},moOrderTo:{en:"Order → {status}",bn:"অর্ডার → {status}"},moNoOrders:{en:"No orders yet",bn:"এখনও কোনো অর্ডার নেই"},moOrdersAppearHere:{en:"Orders from your shop will appear here",bn:"আপনার দোকানের অর্ডার এখানে দেখাবে"},moItem:{en:"item",bn:"আইটেম"},moItems:{en:"items",bn:"আইটেম"},moQty:{en:"Qty:",bn:"পরিমাণ:"},moFulfill:{en:"Fulfill / Update Shipment",bn:"পূরণ / শিপমেন্ট আপডেট"},moInvoiceFailed:{en:"Invoice failed",bn:"ইনভয়েস ব্যর্থ"},moPrintInvoice:{en:"Print Invoice",bn:"ইনভয়েস প্রিন্ট"},moDownloadPdf:{en:"Download PDF",bn:"পিডিএফ ডাউনলোড"},moBookCourier:{en:"Book Courier",bn:"কুরিয়ার বুক"},mrtPinTitle:{en:"Confirm refund",bn:"রিফান্ড নিশ্চিত করুন"},mrtPinDesc:{en:"Enter your PIN to authorize this refund.",bn:"এই রিফান্ড অনুমোদনের জন্য আপনার পিন লিখুন।"},vabPendingTitle:{en:"Vendor application under review",bn:"ভেন্ডর আবেদন পর্যালোচনায়"},vabPendingDesc:{en:"Admins are reviewing your EasyPay Shop upgrade. You'll be notified once approved.",bn:"অ্যাডমিন আপনার EasyPay Shop আপগ্রেড পর্যালোচনা করছেন। অনুমোদিত হলে আপনাকে জানানো হবে।"},vabPendingCta:{en:"View status",bn:"স্ট্যাটাস দেখুন"},vabRejectedTitle:{en:"Vendor application needs changes",bn:"ভেন্ডর আবেদনে পরিবর্তন প্রয়োজন"},vabRejectedDesc:{en:"Please resolve admin feedback and resubmit.",bn:"অ্যাডমিন ফিডব্যাক সমাধান করে পুনরায় জমা দিন।"},vabRejectedFeedback:{en:"Admin feedback: {note}",bn:"অ্যাডমিন ফিডব্যাক: {note}"},vabRejectedCta:{en:"Resubmit",bn:"পুনরায় জমা দিন"},vabDraftTitle:{en:"Finish your vendor application",bn:"আপনার ভেন্ডর আবেদন সম্পূর্ণ করুন"},vabDraftDesc:{en:"Complete your EasyPay Shop upgrade to publish products and receive orders.",bn:"প্রোডাক্ট প্রকাশ ও অর্ডার নিতে আপনার EasyPay Shop আপগ্রেড সম্পূর্ণ করুন।"},vabDraftCta:{en:"Continue",bn:"চালিয়ে যান"},vabApplyTitle:{en:"Apply as an EasyPay Shop vendor",bn:"EasyPay Shop ভেন্ডর হিসেবে আবেদন করুন"},vabApplyDesc:{en:"Products and orders unlock once your vendor upgrade is approved by admins.",bn:"অ্যাডমিন অনুমোদনের পরে প্রোডাক্ট ও অর্ডার আনলক হবে।"},vabApplyCta:{en:"Apply now",bn:"এখনই আবেদন"},vagPendingTitle:{en:"Vendor application under review",bn:"ভেন্ডর আবেদন পর্যালোচনায়"},vagPendingDesc:{en:"An admin is reviewing your shop details and photos. Vendor features unlock as soon as it's approved — we'll notify you.",bn:"একজন অ্যাডমিন আপনার দোকানের বিবরণ ও ছবি পর্যালোচনা করছেন। অনুমোদিত হলেই ভেন্ডর সুবিধা আনলক হবে — à¦
187†à¦®à¦°à¦¾ আপনাকে জানাবো।"},vagRejectedTitle:{en:"Vendor application was rejected",bn:"ভেন্ডর আবেদন প্রত্যাখ্যাত"},vagRejectedDesc:{en:"Please review the admin feedback and resubmit updated shop photos to try again.",bn:"অ্যাডমিন ফিডব্যাক দেখে হালনাগাদ ছবিসহ পুনরায় জমা দিন।"},vagNoneTitle:{en:"Vendor access required",bn:"ভেন্ডর অ্যাক্সেস প্রয়োজন"},vagNoneDesc:{en:"This section is only available to approved vendors. Apply for vendor access to start selling products.",bn:"এই অংশ শুধুমাত্র অনুমোদিত ভেন্ডরদের জন্য। প্রোডাক্ট বিক্রি শুরু করতে ভেন্ডর অ্যাক্সেসের আবেদন করুন।"},vagAdminFeedback:{en:"Admin feedback",bn:"অ্যাডমিন ফিডব্যাক"},vagStatusSubmitted:{en:"{status} · submitted {date}",bn:"{status} · জমা {date}"},vagBack:{en:"Back to Merchant",bn:"মার্চেন্টে ফিরুন"},vagResubmit:{en:"Resubmit application",bn:"পুনরায় আবেদন জমা"},vagView:{en:"View application",bn:"আবেদন দেখুন"},vagApply:{en:"Apply now",bn:"এখনই আবেদন"},vagKeepUsing:{en:"You can keep using your merchant account normally while you wait.",bn:"অপেক্ষার সময় আপনি স্বাভাবিকভাবে মার্চেন্ট অ্যাকাউন্ট ব্যবহার চালিয়ে যেতে পারেন।"},mssUploadFailed:{en:"Upload failed",bn:"আপলোড ব্যর্থ"},mssStoreNameRequired:{en:"Store name required",bn:"দোকানের নাম প্রয়োজন"},mssSlugRequired:{en:"Store URL slug required",bn:"স্টোর URL স্লাগ প্রয়োজন"},mssSaveFailed:{en:"Save failed",bn:"সংরক্ষণ ব্যর্থ"},mssSaved:{en:"Store settings saved ✓",bn:"স্টোর সেটিংস সংরক্ষিত ✓"},mssBannerAlt:{en:"Banner",bn:"ব্যানার"},mssLogoAlt:{en:"Logo",bn:"লোগো"},mssChangeBanner:{en:"Change Banner",bn:"ব্যানার পরিবর্তন"},mssYourStore:{en:"Your Store",bn:"আপনার দোকান"},mssYourSlug:{en:"your-slug",bn:"your-slug"},mssStoreName:{en:"Store Name",bn:"দোকানের নাম"},mssStoreNameBn:{en:"Store Name (Bangla)",bn:"দোকানের নাম (বাংলা)"},mssStoreNameBnPh:{en:"e.g. ইজিপে মার্চেন্ট",bn:"যেমন: ইজিপে মার্চেন্ট"},mssStoreNameBnHelp:{en:"Shown to customers when the app is in বাংলা mode. Leave empty to use the English name.",bn:"অ্যাপ বাংলা মোডে থাকলে গ্রাহকদের এই নাম দেখানো হবে। খালি রাখলে ইংরেজি নাম দেখানো হবে।"},mssUrlSlug:{en:"URL Slug",bn:"URL স্লাগ"},mssDescription:{en:"Description",bn:"বিবরণ"},mssDescPlaceholder:{en:"Tell customers about your store...",bn:"আপনার দোকান সম্পর্কে গ্রাহকদের বলুন..."},mssSocialLinks:{en:"Social Links",bn:"সোশ্যাল লিঙ্ক"},mssFacebook:{en:"Facebook",bn:"ফেসবুক"},mssInstagram:{en:"Instagram",bn:"ইনস্টাগ্রাম"},mssWebsite:{en:"Website",bn:"ওয়েবসাইট"},mssStoreActive:{en:"Store Active",bn:"দোকান সক্রিয়"},mssStoreActiveDesc:{en:"Visible in marketplace when active",bn:"সক্রিয় থাকলে মার্কেটপ্লেসে দৃশ্যমান"},mssUpdateStore:{en:"Update Store",bn:"দোকান আপডেট"},mssCreateStore:{en:"Create Store",bn:"দোকান তৈরি"}
187,matPeriod:{en:"Period:",bn:"সময়:"},matShopSales:{en:"Shop Sales",bn:"দোকানের বিক্রয়"},matGrossSales:{en:"Gross Sales",bn:"মোট বিক্রয়"},matNetEarnings:{en:"Net Earnings",bn:"নিট আয়"},matPlatformFees:{en:"Platform Fees",bn:"প্ল্যাটফর্ম ফি"},matItemsSold:{en:"Items Sold",bn:"বিক্রিত আইটেম"},matTopProducts:{en:"Top Products",bn:"শীর্ষ পণ্য"},matSold:{en:"sold",bn:"বিক্রি হয়েছে"},matDailyNetEarnings:{en:"Daily Net Earnings",bn:"দৈনিক নিট আয়"},matEarnings:{en:"Earnings",bn:"আয়"},matApiPayments:{en:"API Payments",bn:"API পেমেন্ট"},matTotalRevenue:{en:"Total Revenue",bn:"মোট রাজস্ব"},matSuccessRate:{en:"Success Rate",bn:"সফলতার হার"},matCompleted:{en:"Completed",bn:"সম্পন্ন"},matTotalSessions:{en:"Total Sessions",bn:"মোট সেশন"},matSessionStatus:{en:"Session Status",bn:"সেশন স্ট্যাটাস"},matPending:{en:"Pending",bn:"অপেক্ষমাণ"},matFailed:{en:"Failed",bn:"ব্যর্থ"},matExpired:{en:"Expired",bn:"মেয়াদোত্তীর্ণ"},matDailySessions:{en:"Daily Sessions",bn:"দৈনিক সেশন"},matDailyApiRevenue:{en:"Daily API Revenue",bn:"দৈনিক API রাজস্ব"},matRevenue:{en:"Revenue",bn:"রাজস্ব"},matNoSalesData:{en:"No sales data in this period.",bn:"এই সময়ে কোনো বিক্রয় ডেটা নেই।"},fsTitle:{en:"Fulfill Order",bn:"অর্ডার পূরণ করুন"},fsSubtitle:{en:"Ship items together or in parts. Order status updates automatically.",bn:"আইটেম একসাথে বা ভাগে ভাগে পাঠান। অর্ডার স্ট্যাটাস স্বয়ংক্রিয়ভাবে আপডেট হবে।"},fsOverallProgress:{en:"Overall progress",bn:"মোট অগ্রগতি"},fsShippedLabel:{en:"shipped",bn:"পাঠানো"},fsDeliveredLabel:{en:"delivered",bn:"ডেলিভারড"},fsMarkAllDelivered:{en:"Mark all delivered",bn:"সবগুলো ডেলিভারড চিহ্নিত করুন"},fsComplete:{en:"Complete",bn:"সম্পূর্ণ"},fsLeftOf:{en:"{remaining} of {ordered} left",bn:"{ordered} এর মধ্যে {remaining} বাকি"},fsShippedShort:{en:"{n} shipped",bn:"{n} পাঠানো হয়েছে"},fsViaCourier:{en:"via {courier}",bn:"{courier} এর মাধ্যমে"},fsCourierFallback:{en:"courier",bn:"কুরিয়ার"},fsShipped:{en:"Shipped",bn:"পাঠানো হয়েছে"},fsDelivered:{en:"Delivered",bn:"ডেলিভারড"},fsMarkDelivered:{en:"Mark delivered",bn:"ডেলিভারড চিহ্নিত করুন"},fsMaxN:{en:"Max {n}",bn:"সর্বোচ্চ {n}"},fsTrackingPlaceholder:{en:"Tracking number (optional)",bn:"ট্র্যাকিং নম্বর (ঐচ্ছিক)"},fsCannotShipMoreThan:{en:"Cannot ship more than {n}",bn:"{n} এর বেশি পাঠানো যাবে না"},fsShipBtn:{en:"Ship {qty} of {remaining}",bn:"{remaining} এর মধ্যে {qty} পাঠান"},fsShipLeft:{en:"Ship ({n} left)",bn:"পাঠান ({n} বাকি)"},fsEnterQty:{en:"Enter quantity",bn:"পরিমাণ দিন"},fsOnlyNLeft:{en:"Only {n} left to ship",bn:"পাঠানোর জন্য মাত্র {n} বাকি"},fsAdjustedByOther:{en:"Quantity adjusted by another update.",bn:"অন্য একটি আপডেট দ্বারা পরিমাণ সমন্বয় করা হয়েছে।"},fsFailed:{en:"Failed",bn:"ব্যর্থ"},fsItemShipped:{en:"Item shipped",bn:"আইটেম পাঠানো হয়েছে"},fsMarkedDelivered:{en:"Marked delivered",bn:"ডেলিভারড চিহ্নিত করা হয়েছে"},fsNMarkedDelivered:{en:"{n} marked delivered",bn:"{n}টি ডেলিভারড চিহ্নিত করা হয়েছে"},fsBulkUpdateFailed:{en:"Bulk update failed",bn:"বাল্ক আপডেট ব্যর্থ"},fsSomethingWentWrong:{en:"Something went wrong",bn:"কিছু একটা ভুল হয়েছে"},fsCannotShipMoreThanOrdered:{en:"Cannot ship more than ordered",bn:"অর্ডারের বেশি পাঠানো যাবে না"},fsValidationFailed:{en:"Validation failed — check quantities",bn:"যাচাই ব্যর্থ — পরিমাণ পরীক্ষা করুন"},mctTitle:{en:"Discount Coupons",bn:"ডিসকাউন্ট কুপন"},mctCreateCoupon:{en:"Create Coupon",bn:"কুপন তৈরি করুন"},mctTotal:{en:"Total",bn:"মোট"},mctActive:{en:"Active",bn:"সক্রিয়"},mctUsed:{en:"Used",bn:"ব্যবহৃত"},mctNoCoupons:{en:"No coupons yet",bn:"এখনও কোনো কুপন নেই"},mctNoCouponsDesc:{en:"Create your first promo code to attract customers",bn:"গ্রাহক আকর্ষণ করতে আপনার প্রথম প্রোমো কোড তৈরি করুন"},mctPercentOff:{en:"{n}% off",bn:"{n}% ছাড়"},mctFlatOff:{en:"৳{n} off",bn:"৳{n} ছাড়"},mctExpired:{en:"Expired",bn:"মেয়াদোত্তীর্ণ"},mctMinN:{en:"Min ৳{n}",bn:"সর্বনিম্ন ৳{n}"},mctNoMinimum:{en:"No minimum",bn:"কোনো ন্যূনতম নেই"},mctMaxN:{en:"Max ৳{n}",bn:"সর্বোচ্চ ৳{n}"},mctUsedFraction:{en:"{used}/{limit} used",bn:"{used}/{limit} ব্যবহৃত"},mctUsedN:{en:"{n} used",bn:"{n} ব্যবহৃত"},mctExpiresOn:{en:"Expires {date}",bn:"মেয়াদ শেষ {date}"},mctCouponCode:{en:"Coupon Code",bn:"কুপন কোড"},mctCodePlaceholder:{en:"e.g. SAVE20",bn:"যেমন SAVE20"},mctDescOptional:{en:"Description (optional)",bn:"বিবরণ (ঐচ্ছিক)"},mctDescPlaceholder:{en:"e.g. Summer sale discount",bn:"যেমন গ্রীষ্মকালীন ছাড়"},mctDiscountType:{en:"Discount Type",bn:"ছাড়ের ধরন"},mctPercentage:{en:"Percentage",bn:"শতাংশ"},mctFlatAmount:{en:"Flat Amount",bn:"নির্দিষ্ট পরিমাণ"},mctDiscountPct:{en:"Discount (%)",bn:"ছাড় (%)"},mctDiscountFlat:{en:"Discount (৳)",bn:"ছাড় (৳)"},mctMaxDiscount:{en:"Max Discount (৳)",bn:"সর্বোচ্চ ছাড় (৳)"},mctMinOrder:{en:"Min Order (৳)",bn:"ন্যূনতম অর্ডার (৳)"},mctUsageLimit:{en:"Usage Limit",bn:"ব্যবহারের সীমা"},mctExpiryDate:{en:"Expiry Date",bn:"মেয়াদ শেষের তারিখ"},mctNoExpiry:{en:"No expiry",bn:"মেয়াদ নেই"}
187,mctCreating:{en:"Creating...",bn:"তৈরি হচ্ছে..."},mctConfirmDelete:{en:"Delete coupon {code}?",bn:"{code} কুপন মুছবেন?"},mctErrCodeMin:{en:"Code must be at least 3 characters",bn:"কোড কমপক্ষে ৩ অক্ষর হতে হবে"},mctErrCodeMax:{en:"Code must be 20 characters or less",bn:"কোড ২০ অক্ষরের মধ্যে হতে হবে"},mctErrValueInvalid:{en:"Enter a valid discount value",bn:"একটি বৈধ ছাড়ের মান লিখুন"},mctErrPctOver100:{en:"Percentage cannot exceed 100",bn:"শতাংশ ১০০ এর বেশি হতে পারে না"},mctErrDuplicate:{en:"Coupon code already exists",bn:"এই কুপন কোড ইতিমধ্যে আছে"},mctErrCreate:{en:"Failed to create coupon",bn:"কুপন তৈরি ব্যর্থ"},mctCreated:{en:"Coupon created!",bn:"কুপন তৈরি হয়েছে!"},mctErrUpdate:{en:"Failed to update",bn:"আপডেট ব্যর্থ"},mctEnabled:{en:"Coupon enabled",bn:"কুপন সক্রিয় করা হয়েছে"},mctDisabled:{en:"Coupon disabled",bn:"কুপন নিষ্ক্রিয় করা হয়েছে"},mctErrDelete:{en:"Failed to delete",bn:"মুছে ফেলা ব্যর্থ"},mctDeleted:{en:"Coupon deleted",bn:"কুপন মুছে ফেলা হয়েছে"},mcuTitle:{en:"Customer Directory",bn:"গ্রাহক তালিকা"},mcuTotalCustomers:{en:"Total Customers",bn:"মোট গ্রাহক"},mcuLifetimeValue:{en:"Lifetime Value",bn:"আজীবন মূল্য"},mcuAvgOrder:{en:"Avg Order",bn:"গড় অর্ডার"},mcuSearchPlaceholder:{en:"Search customers…",bn:"গ্রাহক খুঁজুন…"},mcuNoCustomers:{en:"No customers yet",bn:"এখনও কোনো গ্রাহক নেই"},mcuNoResults:{en:"No results",bn:"কোনো ফলাফল নেই"},mcuNoCustomersDesc:{en:"Customers will appear here after their first order",bn:"প্রথম অর্ডারের পরে গ্রাহকরা এখানে দেখাবে"},mcuTryDifferent:{en:"Try a different search",bn:"অন্য কিছু খুঁজে দেখুন"},mcuUnknown:{en:"Unknown",bn:"অজানা"},mcuOrdersN:{en:"{n} orders",bn:"{n} অর্ডার"},mcuTierGold:{en:"Gold",bn:"গোল্ড"},mcuTierSilver:{en:"Silver",bn:"সিলভার"},mcuTierBronze:{en:"Bronze",bn:"ব্রোঞ্জ"},mcuTierNew:{en:"New",bn:"নতুন"},mfpTitleRequest:{en:"Reset your merchant PIN",bn:"আপনার মার্চেন্ট পিন রিসেট করুন"},mfpTitleVerify:{en:"Verify your number",bn:"আপনার নম্বর যাচাই করুন"},mfpTitleHandoff:{en:"Identity verified",bn:"পরিচয় যাচাই করা হয়েছে"},mfpDescRequest:{en:"We'll send a one-time code to your registered number. Once verified, our support team will help you set a new PIN over secure live chat.",bn:"আমরা আপনার নিবন্ধিত নম্বরে একটি ওয়ান-টাইম কোড পাঠাবো। যাচাই হলে আমাদের সাপোর্ট টিম নিরাপদ লাইভ চ্যাটে আপনাকে নতুন পিন সেট করতে সাহায্য করবে।"},mfpDescVerifyPrefix:{en:"Enter the 6-digit code we sent to ",bn:"আমরা যে ৬-সংখ্যার কোড পাঠিয়েছি তা লিখুন "},mfpDescVerifySuffix:{en:".",bn:"।"},mfpDescHandoff:{en:"We've confirmed it's really you. Continue to live support and our team will finish your PIN reset on this chat.",bn:"আমরা নিশ্চিত হয়েছি এটি আপনিই। লাইভ সাপোর্টে যান এবং আমাদের টিম এই চ্যাটে আপনার পিন রিসেট সম্পন্ন করবে।"},mfpRegisteredMobile:{en:"Registered mobile number",bn:"নিবন্ধিত মোবাইল নম্বর"},mfpCodeWillBeSent:{en:"Code will be sent to ",bn:"কোড পাঠানো হবে "},mfpAnythingWeKnowLabel:{en:"Anything we should know?",bn:"আমাদের কিছু জানানোর আছে?"},mfpOptional:{en:"(optional)",bn:"(ঐচ্ছিক)"},mfpNotePlaceholder:{en:"e.g. I changed my phone, can't receive SMS at the old SIM...",bn:"যেমন আমি ফোন বদলেছি, পুরোনো সিমে SMS পাচ্ছি না..."},mfpResponseTime:{en:"~15 min response",bn:"~১৫ মিনিটে উত্তর"},mfpOtpProtected:{en:"OTP-protected",bn:"OTP-সুরক্ষিত"},mfpSendingCode:{en:"Sending code...",bn:"কোড পাঠানো হচ্ছে..."},mfpSendCode:{en:"Send verification code",bn:"যাচাইকরণ কোড পাঠান"},mfpDisclaimer:{en:"By continuing, you agree to be contacted by EasyPay support for identity verification.",bn:"চালিয়ে গেলে আপনি পরিচয় যাচাইয়ের জন্য EasyPay সাপোর্ট দ্বারা যোগাযোগ করতে সম্মত হচ্ছেন।"},mfpDevOtp:{en:"Dev OTP:",bn:"ডেভ OTP:"},mfpResendIn:{en:"Resend in {time}",bn:"{time} পরে পুনরায় পাঠান"},mfpResendCode:{en:"Resend code",bn:"কোড পুনরায় পাঠান"},mfpChangeNumber:{en:"Change number",bn:"নম্বর পরিবর্তন করুন"},mfpVerifying:{en:"Verifying…",bn:"যাচাই হচ্ছে…"},mfpVerifiedSuffix:{en:" verified",bn:" যাচাইকৃত"}
187,mfpHandoffHint:{en:"Continue to live support to set your new PIN safely with our team.",bn:"আমাদের টিমের সাথে নিরাপদে নতুন পিন সেট করতে লাইভ সাপোর্টে যান।"},mfpOpenLiveSupport:{en:"Open live support to finish reset",bn:"রিসেট শেষ করতে লাইভ সাপোর্ট খুলুন"},mfpWaitCallback:{en:"I'll wait for a callback instead",bn:"আমি বরং কলব্যাকের জন্য অপেক্ষা করব"},mfpErrInvalidPhone:{en:"Enter a valid 11-digit Bangladeshi mobile number.",bn:"একটি বৈধ ১১-সংখ্যার বাংলাদেশি মোবাইল নম্বর লিখুন।"},mfpToastCodeSent:{en:"Code sent to +88 {phone}",bn:"+88 {phone} এ কোড পাঠানো হয়েছে"},mfpErrSendCode:{en:"Couldn't send verification code",bn:"যাচাইকরণ কোড পাঠানো যায়নি"},mfpErrIncorrect:{en:"Incorrect code. Please try again.",bn:"ভুল কোড। আবার চেষ্টা করুন।"},mfpErrVerifyFailedNew:{en:"Verification failed. Please request a new code.",bn:"যাচাইকরণ ব্যর্থ। অনুগ্রহ করে একটি নতুন কোড অনুরোধ করুন।"},mfpErrVerifyFailed:{en:"Verification failed.",bn:"যাচাইকরণ ব্যর্থ।"},mfpErrExpired:{en:"Verification expired. Please request a new code.",bn:"যাচাইকরণের মেয়াদ শেষ। নতুন কোড অনুরোধ করুন।"},mptStatusPending:{en:"Pending",bn:"অপেক্ষমাণ"},mptStatusPaid:{en:"Paid",bn:"পরিশোধিত"},mptStatusRejected:{en:"Rejected",bn:"প্রত্যাখ্যাত"},mptAvailableToWithdraw:{en:"Available to Withdraw",bn:"উত্তোলনযোগ্য"},mptPending:{en:"Pending",bn:"অপেক্ষমাণ"},mptLifetimeEarned:{en:"Lifetime Earned",bn:"মোট আয়"},mptWithdrawn:{en:"Withdrawn",bn:"উত্তোলিত"},mptWithdrawToWallet:{en:"Withdraw to EasyPay Wallet",bn:"EasyPay ওয়ালেটে উত্তোলন"},mptWithdrawalHistory:{en:"Withdrawal History",bn:"উত্তোলনের ইতিহাস"},mptNoWithdrawals:{en:"No withdrawals yet.",bn:"এখনো কোনো উত্তোলন নেই।"},mptRecentEarnings:{en:"Recent Earnings",bn:"সাম্প্রতিক আয়"},mptGrossFee:{en:"Gross {gross} · {rate}% fee",bn:"মোট {gross} · {rate}% ফি"},mptEarningReleased:{en:"released",bn:"মুক্তিপ্রাপ্ত"},mptEarningPending:{en:"pending",bn:"অপেক্ষমাণ"},mptAvailableBalance:{en:"Available balance",bn:"উত্তোলনযোগ্য ব্যালেন্স"},mptAmountLabel:{en:"Amount (৳)",bn:"পরিমাণ (৳)"},mptApprovalNote:{en:"Funds will be credited to your EasyPay wallet after admin approval.",bn:"অ্যাডমিন অনুমোদনের পর তহবিল আপনার EasyPay ওয়ালেটে জমা হবে।"},mptSubmitting:{en:"Submitting...",bn:"জমা দেওয়া হচ্ছে..."},mptSubmitForReview:{en:"Submit for Review",bn:"পর্যালোচনার জন্য জমা দিন"},mptErrInvalidAmount:{en:"Enter a valid amount",bn:"একটি বৈধ পরিমাণ লিখুন"},mptErrExceedsBalance:{en:"Amount exceeds available balance",bn:"পরিমাণ উত্তোলনযোগ্য ব্যালেন্স অতিক্রম করেছে"},mptToastSubmitted:{en:"Withdrawal request submitted for admin review",bn:"অ্যাডমিন পর্যালোচনার জন্য উত্তোলনের অনুরোধ জমা দেওয়া হয়েছে"},rasTitle:{en:"Request access",bn:"অ্যাক্সেসের অনুরোধ"},rasYouAreRequesting:{en:"You're requesting",bn:"আপনি অনুরোধ করছেন"},rasPermissionLabel:{en:"Permission: {key}",bn:"অনুমতি: {key}"},rasNotRequestable:{en:"This permission isn't requestable. Ask your store owner directly.",bn:"এই অনুমতির জন্য অনুরোধ করা যায় না। সরাসরি আপনার স্টোর মালিকের সাথে যোগাযোগ করুন।"},rasPending:{en:"Request pending",bn:"অনুরোধ অপেক্ষমাণ"},rasPendingDesc:{en:"The owner has been notified. You'll get access as soon as they approve.",bn:"মালিককে জানানো হয়েছে। তারা অনুমোদন করলেই আপনি অ্যাক্সেস পাবেন।"},rasCancel:{en:"Cancel",bn:"বাতিল"},rasPrevDenied:{en:"Previous request denied",bn:"পূর্ববর্তী অনুরোধ প্রত্যাখ্যাত"},rasAskAgain:{en:"You can ask again with more context below.",bn:"নিচে আরও বিস্তারিত দিয়ে আবার অনুরোধ করতে পারেন।"},rasHadBefore:{en:"You had this permission before — it may have been revoked. Send another request to ask for it again.",bn:"আপনার আগে এই অনুমতি ছিল — সম্ভবত প্রত্যাহার করা হয়েছে। আবার পেতে নতুন অনুরোধ পাঠান।"},rasNoteLabel:{en:"Add a note (optional)",bn:"একটি নোট যোগ করুন (ঐচ্ছিক)"},rasNotePlaceholder:{en:"e.g. I need this to process today's customer payouts",bn:"যেমন: আজকের কাস্টমার পেআউট প্রসেস করতে আমার এটি প্রয়োজন"},rasSending:{en:"Sending…",bn:"পাঠানো হচ্ছে…"},rasSendToOwner:{en:"Send request to owner",bn:"মালিকের কাছে অনুরোধ পাঠান"},rasClose:{en:"Close",bn:"বন্ধ করুন"},rasErrCannotSend:{en:"Cannot send request right now",bn:"এই মুহূর্তে অনুরোধ পাঠানো যাচ্ছে না"},rasErrCouldNotSend:{en:"Could not send request",bn:"অনুরোধ পাঠানো যায়নি"},rasToastSent:{en:"Request sent — owner has been notified",bn:"অনুরোধ পাঠানো হয়েছে — মালিককে জানানো হয়েছে"}
187,rasToastCancelled:{en:"Request cancelled",bn:"অনুরোধ বাতিল করা হয়েছে"},vesTitle:{en:"Variants",bn:"ভ্যারিয়েন্ট"},vesSubtitleBase:{en:"Add size/color/option choices. Base price:",bn:"সাইজ/রঙ/অপশন যোগ করুন। বেস মূল্য:"},vesLoading:{en:"Loading…",bn:"লোড হচ্ছে…"},vesNoVariants:{en:"No variants yet — add one below.",bn:"এখনো কোনো ভ্যারিয়েন্ট নেই — নিচে একটি যোগ করুন।"},vesPriceAdj:{en:"Price ±",bn:"মূল্য ±"},vesStock:{en:"Stock",bn:"স্টক"},vesAddVariant:{en:"Add variant",bn:"ভ্যারিয়েন্ট যোগ করুন"},vesType:{en:"Type",bn:"ধরন"},vesTypePlaceholder:{en:"Size / Color",bn:"সাইজ / রঙ"},vesValue:{en:"Value",bn:"মান"},vesValuePlaceholder:{en:"M / Red",bn:"M / লাল"},vesPriceAdjBdt:{en:"Price ± (৳)",bn:"মূল্য ± (৳)"},vesSkuOptional:{en:"SKU (optional)",bn:"SKU (ঐচ্ছিক)"},vesAttrExists:{en:'"{name}: {value}" already exists',bn:'"{name}: {value}" ইতিমধ্যে আছে'},vesSkuClash:{en:"SKU already in use on this product",bn:"এই পণ্যে SKU ইতিমধ্যে ব্যবহৃত"},vesStockNeg:{en:"Stock cannot be negative",bn:"স্টক ঋণাত্মক হতে পারে না"},vesPriceWarning:{en:"Final price would be ৳{price}",bn:"চূড়ান্ত মূল্য হবে ৳{price}"},vesPriceWarningSuffix:{en:" — please review",bn:" — দয়া করে পর্যালোচনা করুন"},vesFinalPrice:{en:"Final price:",bn:"চূড়ান্ত মূল্য:"},vesAddBtn:{en:"Add Variant",bn:"ভ্যারিয়েন্ট যোগ করুন"},vesErrSomething:{en:"Something went wrong",bn:"কিছু একটা ভুল হয়েছে"},vesErrSkuDup:{en:"SKU already used on this product",bn:"এই পণ্যে SKU ইতিমধ্যে ব্যবহৃত"},vesErrAttrDup:{en:"This option combination already exists",bn:"এই অপশন কম্বিনেশন ইতিমধ্যে আছে"},vesErrPriceBounds:{en:"Price adjustment is out of range",bn:"মূল্য সমন্বয় সীমার বাইরে"},vesErrCheckValues:{en:"Validation failed — check values",bn:"যাচাইকরণ ব্যর্থ — মান পরীক্ষা করুন"},vesToastValueRequired:{en:"Value required",bn:"মান প্রয়োজন"},vesToastSkuUsed:{en:"SKU already used",bn:"SKU ইতিমধ্যে ব্যবহৃত"},vesToastOptionExists:{en:"Option already exists",bn:"অপশন ইতিমধ্যে আছে"},vesToastFailed:{en:"Failed",bn:"ব্যর্থ"},vesToastUpdateFailed:{en:"Update failed",bn:"আপডেট ব্যর্থ"},vesToastDeleteFailed:{en:"Delete failed",bn:"মুছে ফেলা ব্যর্থ"},vesToastAdded:{en:"Variant added",bn:"ভ্যারিয়েন্ট যোগ করা হয়েছে"},vesToastRemoved:{en:"Removed",bn:"সরানো হয়েছে"},vesToastCopied:{en:"Copied",bn:"কপি করা হয়েছে"},vesDefaultOption:{en:"Option",bn:"অপশন"},mrtTitle:{en:"Refund Management",bn:"রিফান্ড ব্যবস্থাপনা"},mrtIssueRefund:{en:"Issue Refund",bn:"রিফান্ড দিন"},mrtTotal:{en:"Total",bn:"মোট"},mrtPending:{en:"Pending",bn:"অপেক্ষমাণ"},mrtRefunded:{en:"Refunded",bn:"রিফান্ড দেওয়া হয়েছে"},mrtFilterAll:{en:"all",bn:"সব"},mrtFilterPending:{en:"pending",bn:"অপেক্ষমাণ"},mrtFilterApproved:{en:"approved",bn:"অনুমোদিত"},mrtFilterRejected:{en:"rejected",bn:"প্রত্যাখ্যাত"},mrtStatusPending:{en:"pending",bn:"অপেক্ষমাণ"},mrtStatusApproved:{en:"approved",bn:"অনুমোদিত"},mrtStatusRejected:{en:"rejected",bn:"প্রত্যাখ্যাত"},mrtTypeFull:{en:"full",bn:"সম্পূর্ণ"},mrtTypePartial:{en:"partial",bn:"আংশিক"},mrtNoneStatus:{en:'No refunds with status "{status}"',bn:'"{status}" স্ট্যাটাসের কোনো রিফান্ড নেই'},mrtNoneYet:{en:"No refunds yet",bn:"এখনও কোনো রিফান্ড নেই"},mrtNoneHint:{en:"Issue a refund from a delivered order",bn:"ডেলিভারি হওয়া অর্ডার থেকে রিফান্ড দিন"},mrtUnknown:{en:"Unknown",bn:"অজানা"},mrtAdminLabel:{en:"Admin: {note}",bn:"অ্যাডমিন: {note}"},mrtSelectOrder:{en:"Select Order",bn:"অর্ডার নির্বাচন করুন"},mrtSearchOrders:{en:"Search by order # or name...",bn:"অর্ডার # বা নাম দিয়ে খুঁজুন..."},mrtNoEligibleOrders:{en:"No eligible delivered orders found",bn:"যোগ্য ডেলিভারি হওয়া অর্ডার পাওয়া যায়নি"},mrtRefundType:{en:"Refund Type",bn:"রিফান্ডের ধরন"},mrtFullRefund:{en:"Full (৳{total})",bn:"সম্পূর্ণ (৳{total})"},mrtPartialRefund:{en:"Partial",bn:"আংশিক"},mrtAmountMax:{en:"Amount (max ৳{total})",bn:"পরিমাণ (সর্বোচ্চ ৳{total})"},mrtEnterAmount:{en:"Enter amount",bn:"পরিমাণ লিখুন"},mrtReasonLabel:{en:"Reason *",bn:"কারণ *"},mrtReasonPlaceholder:{en:"Why is this refund being issued?",bn:"এই রিফান্ড কেন দেওয়া হচ্ছে?"},mrtSubmitRefund:{en:"Submit Refund Request",bn:"রিফান্ড অনুরোধ জমা দিন"},mrtTimeMinAgo:{en:"{n}m ago",bn:"{n} মি আগে"},mrtTimeHourAgo:{en:"{n}h ago",bn:"{n} ঘ আগে"},mrtTimeDayAgo:{en:"{n}d ago",bn:"{n} দি আগে"},mrtErrSelectAndReason:{en:"Please select an order and provide a reason",b
187n:"একটি অর্ডার নির্বাচন করুন এবং কারণ দিন"},mrtErrInvalidAmount:{en:"Invalid refund amount",bn:"রিফান্ডের পরিমাণ অবৈধ"},mrtErrSubmitFailed:{en:"Failed to submit refund",bn:"রিফান্ড জমা দিতে ব্যর্থ"},mrtToastSubmitted:{en:"Refund request submitted",bn:"রিফান্ড অনুরোধ জমা দেওয়া হয়েছে"},mrtToastSubmittedDesc:{en:"Admin will review shortly.",bn:"অ্যাডমিন শীঘ্রই পর্যালোচনা করবেন।"},miaLowStockOne:{en:"{n} product low on stock",bn:"{n}টি পণ্যের স্টক কম"},miaLowStockMany:{en:"{n} products low on stock",bn:"{n}টি পণ্যের স্টক কম"},miaOutOfStock:{en:"Out of stock",bn:"স্টকে নেই"},miaLeft:{en:"{n} left",bn:"{n}টি বাকি"},miaRestocked:{en:"{name} restocked ✓",bn:"{name} আবার মজুদ ✓"},mbuTitle:{en:"Bulk Product Upload",bn:"একসাথে পণ্য আপলোড"},mbuDownloadTemplate:{en:"Download CSV Template",bn:"CSV টেমপ্লেট ডাউনলোড করুন"},mbuUploadClick:{en:"Click to upload CSV",bn:"CSV আপলোড করতে ক্লিক করুন"},mbuUploadHint:{en:"name, price, category, stock, sku, brand",bn:"name, price, category, stock, sku, brand"},mbuPreview:{en:"Preview ({n} rows)",bn:"প্রিভিউ ({n}টি সারি)"},mbuValid:{en:"{n} valid",bn:"{n}টি বৈধ"},mbuInvalid:{en:"{n} invalid",bn:"{n}টি অবৈধ"},mbuImportBtn:{en:"Import {n} Products",bn:"{n}টি পণ্য ইম্পোর্ট করুন"},mbuImportComplete:{en:"Import Complete!",bn:"ইম্পোর্ট সম্পন্ন!"},mbuImportCompleteDesc:{en:"Products are now in your catalog",bn:"পণ্যগুলো এখন আপনার ক্যাটালগে আছে"},mbuErrEmpty:{en:"Empty CSV",bn:"খালি CSV"},mbuErrHeaders:{en:"CSV must have 'name' and 'price' columns",bn:"CSV-তে 'name' এবং 'price' কলাম থাকতে হবে"},mbuErrNoValid:{en:"No valid rows",bn:"কোনো বৈধ সারি নেই"},mbuErrImportFailed:{en:"Import failed",bn:"ইম্পোর্ট ব্যর্থ"},mbuRowInvalid:{en:"Missing name or invalid price",bn:"নাম নেই বা দাম অবৈধ"},mbuToastImported:{en:"{n} products imported ✓",bn:"{n}টি পণ্য ইম্পোর্ট হয়েছে ✓"},mstStaffAccounts:{en:"Staff Accounts",bn:"স্টাফ অ্যাকাউন্ট"},mstAddStaff:{en:"Add Staff",bn:"স্টাফ যোগ করুন"},mstTotalStaff:{en:"Total Staff",bn:"মোট স্টাফ"},mstActive:{en:"Active",bn:"সক্রিয়"},mstLinked:{en:"Linked",bn:"যুক্ত"},mstRolePresets:{en:"Role Presets",bn:"ভূমিকার প্রিসেট"},mstCustomCount:{en:"{n} custom",bn:"{n}টি কাস্টম"},mstRolePresetsDesc:{en:"Pick a role to pre-fill defaults, then fine-tune feature access — or save your own presets.",bn:"ডিফল্ট প্রি-ফিল করতে একটি ভূমিকা বাছুন, তারপর ফিচার অ্যাক্সেস ফাইন-টিউন করুন — অথবা নিজের প্রিসেট সংরক্ষণ করুন।"},mstManager:{en:"Manager",bn:"ম্যানেজার"},mstCashier:{en:"Cashier",bn:"ক্যাশিয়ার"},mstViewer:{en:"Viewer",bn:"ভিউয়ার"},mstFeaturesCount:{en:"{n} features",bn:"{n}টি ফিচার"},mstMyPresets:{en:"My presets",bn:"আমার প্রিসেট"},mstNoStaff:{en:'No staff added yet. Tap "Add Staff" to get started.',bn:'এখনো কোনো স্টাফ যোগ হয়নি। শুরু করতে "স্টাফ যোগ করুন" ট্যাপ করুন।'},mstLinkedBadge:{en:"Linked",bn:"যুক্ত"},mstNotOnEasyPay:{en:"Not on EasyPay",bn:"EasyPay-তে নেই"},mstFeatureOne:{en:"· {n} feature",bn:"· {n}টি ফিচার"},mstFeatureMany:{en:"· {n} features",bn:"· {n}টি ফিচার"},mstEditPermissions:{en:"Edit permissions",bn:"অনুমতি সম্পাদনা"},mstResendInvite:{en:"Resend invite",bn:"আমন্ত্রণ পুনঃপ্রেরণ"},mstAddStaffMember:{en:"Add Staff Member",bn:"স্টাফ সদস্য যোগ করুন"},mstName:{en:"Name",bn:"নাম"},mstNamePh:{en:"Staff name",bn:"স্টাফের নাম"},mstPhone:{en:"Phone",bn:"ফোন"}
187,mstChecking:{en:"Checking EasyPay…",bn:"EasyPay যাচাই হচ্ছে…"},mstOnEasyPay:{en:"On EasyPay",bn:"EasyPay-তে আছে"},mstInstantAccess:{en:". They'll get instant access.",bn:"। তারা তাৎক্ষণিক অ্যাক্সেস পাবেন।"},mstNotOnEasyPayDesc:{en:"Not on EasyPay yet. They'll be linked automatically when they sign up.",bn:"এখনো EasyPay-তে নেই। সাইন আপ করলে স্বয়ংক্রিয়ভাবে যুক্ত হবেন।"},mstRolePreset:{en:"Role preset",bn:"ভূমিকার প্রিসেট"},mstFeatureAccess:{en:"Feature access",bn:"ফিচার অ্যাক্সেস"},mstAdding:{en:"Adding...",bn:"যোগ হচ্ছে..."},mstAddStaffBtnOne:{en:"Add Staff · {n} feature",bn:"স্টাফ যোগ · {n}টি ফিচার"},mstAddStaffBtnMany:{en:"Add Staff · {n} features",bn:"স্টাফ যোগ · {n}টি ফিচার"},mstPermissionsTitle:{en:"Permissions · {name}",bn:"অনুমতি · {name}"},mstRoleLabel:{en:"{role} role",bn:"{role} ভূমিকা"}
187,mstChangesInstant:{en:"Changes apply instantly — no logout needed.",bn:"পরিবর্তন তাৎক্ষণিক প্রযোজ্য — লগআউট দরকার নেই।"},mstSavingBtn:{en:"Saving...",bn:"সংরক্ষণ হচ্ছে..."},mstSaveBtnOne:{en:"Save · {n} feature",bn:"সংরক্ষণ · {n}টি ফিচার"},mstSaveBtnMany:{en:"Save · {n} features",bn:"সংরক্ষণ · {n}টি ফিচার"},mstOwnerStripTitle:{en:"Owner-only permissions will be stripped",bn:"শুধুমাত্র মালিকের অনুমতি সরানো হবে"},mstOwnerStripDesc:{en:" can only be held by the store owner. These will be removed automatically when you save this staff member.",bn:" শুধুমাত্র স্টোরের মালিক রাখতে পারেন। এই স্টাফ সংরক্ষণের সময় স্বয়ংক্রিয়ভাবে সরানো হবে।"},mstFeaturesGranted:{en:"{active} of {total} features granted",bn:"{total}টির মধ্যে {active}টি ফিচার মঞ্জুর"},mstApplyPreset:{en:"Apply preset…",bn:"প্রিসেট প্রয়োগ…"},mstBuiltIn:{en:"Built-in",bn:"বিল্ট-ইন"},mstSaveCurrent:{en:"+ Save current as preset…",bn:"+ বর্তমানটি প্রিসেট হিসেবে সংরক্ষণ…"},mstSavePresetTitle:{en:"Save current as preset",bn:"বর্তমানটি প্রিসেট হিসেবে সংরক্ষণ"},mstPresetNamePh:{en:"e.g. Night Cashier",bn:"যেমন: রাতের ক্যাশিয়ার"},mstSavingPreset:{en:"Saving…",bn:"সংরক্ষণ হচ্ছে…"},mstSavePreset:{en:"Save",bn:"সংরক্ষণ"},mstManageCustom:{en:"Manage custom",bn:"কাস্টম পরিচালনা"},mstRename:{en:"Rename",bn:"নাম পরিবর্তন"},mstDelete:{en:"Delete",bn:"মুছুন"},mstViewBadge:{en:"+ view",bn:"+ ভিউ"},mstApplyDialogTitle:{en:"Apply {label}?",bn:"{label} প্রয়োগ করবেন?"},mstBuiltInRole:{en:"Built-in role",bn:"বিল্ট-ইন ভূমিকা"},mstCustomPreset:{en:"Custom preset",bn:"কাস্টম প্রিসেট"},mstBuiltInDesc:{en:"System default for the {name} role · {total} features.",bn:"{name} ভূমিকার জন্য সিস্টেম ডিফল্ট · {total}টি ফিচার।"},mstCustomDesc:{en:'Saved preset "{name}" · {total} features.',bn:'সংরক্ষিত প্রিসেট "{name}" · {total}টি ফিচার।'},mstReviewChanges:{en:"Review what will change before applying.",bn:"প্রয়োগের আগে যা পরিবর্তন হবে তা পর্যালোচনা করুন।"},mstOwnerStripped:{en:"Owner-only · stripped ({n})",bn:"শুধুমাত্র মালিকের · সরানো হয়েছে ({n})"},mstStaffCannotHold:{en:"Staff cannot hold these. They are removed automatically.",bn:"স্টাফ এগুলো রাখতে পারেন না। স্বয়ংক্রিয়ভাবে সরানো হয়েছে।"},mstWillBeAdded:{en:"Will be added ({n})",bn:"যোগ হবে ({n})"},mstWillBeRemoved:{en:"Will be removed ({n})",bn:"সরানো হবে ({n})"},mstNow:{en:"{n} now",bn:"এখন {n}"},mstAfter:{en:"{n} after",bn:"পরে {n}"},mstCancel:{en:"Cancel",bn:"বাতিল"},mstApplyChanges:{en:"Apply changes",bn:"পরিবর্তন প্রয়োগ"},mstToastNameRequired:{en:"Name required",bn:"নাম প্রয়োজন"},mstToastSelectOne:{en:"Select at least one feature first",bn:"প্রথমে অন্তত একটি ফিচার বাছুন"},mstToastMatches:{en:"{label} matches current selection",bn:"{label} বর্তমান নির্বাচনের সাথে মিলে"},mstToastApplied:{en:"Applied {label}",bn:"{label} প্রয়োগ হয়েছে"},mstToastNamePhoneRequired:{en:"Name and phone are required",bn:"নাম এবং ফোন প্রয়োজন"},mstToastAddedLinked:{en:"Staff added & linked to EasyPay account",bn:"স্টাফ যোগ ও EasyPay অ্যাকাউন্টে যুক্ত"},mstToastAddedUnlinked:{en:"Staff added (not yet on EasyPay)",bn:"স্টাফ যোগ হয়েছে (এখনো EasyPay-তে নেই)"},mstToastPermsUpdated:{en:"Permissions updated",bn:"অনুমতি আপডেট হয়েছে"},mstToastRemoved:{en:"Staff removed",bn:"স্টাফ সরানো হয়েছে"},mstToastPresetSaved:{en:'Preset "{name}" saved',bn:'প্রিসেট "{name}" সংরক্ষিত'},mstToastPresetSaveErr:{en:"Could not save preset",bn:"প্রিসেট সংরক্ষণ ব্যর্থ"},mstToastRenamed:{en:"Renamed",bn:"নাম পরিবর্তিত"},mstToastRenameErr:{en:"Could not rename",bn:"নাম পরিবর্তন ব্যর্থ"},mstToastPresetDeleted:{en:"Preset deleted",bn:"প্রিসেট মুছে ফেলা হয়েছে"},mstToastDeleteErr:{en:"Could not delete",bn:"মুছে ফেলা ব্যর্থ"},mstToastInviteFailed:{en:"Failed to send invite",bn:"আমন্ত্রণ পাঠানো ব্যর্থ"},mstToastInviteSent:{en:"Invite sent via {channels}",bn:"{channels} এর মাধ্যমে আমন্ত্রণ পাঠানো হয়েছে"},mstToastInviteLogged:{en:"Invite logged (no channels available)",bn:"আমন্ত্রণ লগ করা হয়েছে (কোনো চ্যানেল উপলব্ধ নয়)"},mstChPush:{en:"push",bn:"পুশ"},mstChSms:{en:"SMS",bn:"এসএমএস"},mstChEmail:{en:"email",bn:"ইমেইল"},sarPermPayouts:{en:"Payouts (Send Money, Cash Out, Bank Transfer)",bn:"পেআউট (টাকা পাঠান, ক্যাশ আউট, ব্যাংক ট্রান্সফার)"},sarPermStoreSettings:{en:"Store Settings",bn:"স্টোর সেটিংস"},sarPermSettlements:{en:"Settlements",bn:"সেটেলমেন্ট"},sarPermAddBank:{en:"Add bank account",bn:"ব্যাংক অ্যাকাউন্ট যোগ"},sarJustNow:{en:"just now",bn:"এইমাত্র"},sarMinAgo:{en:"{n}m ago",bn:"{n}মি আগে"},sarHourAgo:{en:"{n}h ago",bn:"{n}ঘ আগে"},sarDayAgo:{en:"{n}d ago",bn:"{n}দি আগে"},sarAccessRequests:{en:"Access Requests",bn:"অ্যাক্সেস অনুরোধ"},sarWaitingDecision:{en:"{n} waiting for your decision",bn:"{n}টি আপনার সিদ্ধান্তের অপেক্ষায়"},sarViewAll:{en:"View all",bn:"সব দেখুন"},sarStaffFallback:{en:"Staff",bn:"স্টাফ"},sarWants:{en:"wants",bn:"চান"},sarGrant:{en:"Grant",bn:"মঞ্জুর"},sarMoreCount:{en:"+ {n} more",bn:"+ আরও {n}টি"},sarDenyTitle:{en:"Deny request?",bn:"অনুরোধ প্রত্যাখ্যান?"},sarDenyDescTo:{en:"Optionally tell {name} why.",bn:"ইচ্ছা হলে {name}-কে কারণ জানান।"},sarDenyDescThe:{en:"the staff",bn:"স্টাফ"},sarDenyDescGeneric:{en:"Optionally explain why.",bn:"ইচ্ছা হলে কারণ ব্যাখ্যা করুন।"},sarReasonPh:{en:"Reason (optional)",bn:"কারণ (ঐচ্ছিক)"},sarCancel:{en:"Cancel",bn:"বাতিল"},sarDeny:{en:"Deny",bn:"প্রত্যাখ্যান"},sarStaffAccess:{en:"Staff Access",bn:"স্টাফ অ্যাক্সেস"},sarTabPending:{en:"Pending",bn:"অপেক্ষমাণ"}
187,sarTabGranted:{en:"Granted",bn:"মঞ্জুর"},sarTabHistory:{en:"History",bn:"ইতিহাস"},sarEmptyPending:{en:"No pending requests",bn:"কোনো অপেক্ষমাণ অনুরোধ নেই"},sarEmptyPendingSub:{en:"When staff request access, you'll see them here.",bn:"স্টাফ অ্যাক্সেস চাইলে এখানে দেখা যাবে।"},sarEmptyGranted:{en:"No granted permissions yet",bn:"এখনো কোনো অনুমতি মঞ্জুর হয়নি"},sarEmptyGrantedSub:{en:"When you grant access, you can revoke it from here.",bn:"অ্যাক্সেস মঞ্জুর করলে এখান থেকেই প্রত্যাহার করা যাবে।"},sarEmptyHistory:{en:"No history yet",bn:"এখনো কোনো ইতিহাস নেই"},sarWantsLabel:{en:"Wants",bn:"চান"},sarGrantAccess:{en:"Grant access",bn:"অ্যাক্সেস মঞ্জুর"},sarRevoke:{en:"Revoke",bn:"প্রত্যাহার"},sarClose:{en:"Close",bn:"বন্ধ"},sarStatusGranted:{en:"granted",bn:"মঞ্জুর"},sarStatusDenied:{en:"denied",bn:"প্রত্যাখ্যাত"},sarStatusRevoked:{en:"revoked",bn:"প্রত্যাহৃত"},sarStatusPending:{en:"pending",bn:"অপেক্ষমাণ"},sarHeaderTitle:{en:"Access Requests & Permissions",bn:"অ্যাক্সেস অনুরোধ ও অনুমতি"},sarHeaderSubtitle:{en:"Grant or revoke payouts, settlements & store settings",bn:"পেআউট, সেটেলমেন্ট ও স্টোর সেটিংস মঞ্জুর/প্রত্যাহার করুন"},sarNewCount:{en:"{n} new",bn:"{n}টি নতুন"},sarToastGranted:{en:"Granted {label} to {name}",bn:"{name}-কে {label} মঞ্জুর হয়েছে"},sarToastGrantedSimple:{en:"Granted",bn:"মঞ্জুর হয়েছে"},sarToastDenied:{en:"Request denied",bn:"অনুরোধ প্রত্যাখ্যাত"},sarToastDeniedSimple:{en:"Denied",bn:"প্রত্যাখ্যাত"},sarToastRevoked:{en:"Revoked {label}",bn:"{label} প্রত্যাহার হয়েছে"},sarToastRevokedSimple:{en:"Revoked",bn:"প্রত্যাহৃত"},prcDayToday:{en:"Today",bn:"আজ"},prcDayYesterday:{en:"Yesterday",bn:"গতকাল"},prcErrAllowedTypes:{en:"Only images (JPG, PNG, WEBP, GIF) and PDFs are allowed",bn:"শুধুমাত্র ছবি (JPG, PNG, WEBP, GIF) ও PDF অনুমোদিত"},prcErrTooLarge:{en:"File too large (max 5 MB)",bn:"ফাইল অনেক বড় (সর্বোচ্চ ৫ MB)"},prcInfoConnecting:{en:"Connecting… try again in a moment.",bn:"সংযোগ হচ্ছে… একটু পর আবার চেষ্টা করুন।"},prcErrUploadFailed:{en:"Upload failed",bn:"আপলোড ব্যর্থ"},prcErrSendFailed:{en:"Couldn't send message",bn:"মেসেজ পাঠানো যায়নি"},prcSupportName:{en:"EasyPay Support",bn:"EasyPay সাপোর্ট"},prcEncrypted:{en:"Encrypted",bn:"এনক্রিপ্টেড"},prcResolvedBadge:{en:"RESOLVED",bn:"সমাধান"},prcVerifiedBadge:{en:"VERIFIED",bn:"যাচাইকৃত"},prcWelcomeMsg:{en:'Hi there 👋 Your number is verified. Tell us briefly what happened (e.g. "I changed phones" or "I forgot my PIN") and our team will guide you through resetting it.',bn:'হ্যালো 👋 আপনার নম্বর যাচাই হয়েছে। সংক্ষেপে বলুন কী হয়েছে (যেমন: "ফোন পরিবর্তন করেছি" বা "PIN ভুলে গেছি") — আমাদের টিম PIN রিসেটে সাহায্য করবে।'},prcWelcomeFooter:{en:"EasyPay · automated",bn:"EasyPay · স্বয়ংক্রিয়"},prcSeenOn:{en:"Seen on {when}",bn:"{when}-এ দেখা হয়েছে"},prcSending:{en:"Sending…",bn:"পাঠানো হচ্ছে…"},prcDeliveredRead:{en:"Delivered & read by support",bn:"সাপোর্ট পেয়েছে ও পড়েছে"},prcSent:{en:"Sent",bn:"প্রেরিত"},prcSeen:{en:"Seen {time}",bn:"দেখা {time}"}
187,prcAriaSending:{en:"Sending",bn:"পাঠানো হচ্ছে"},prcAriaDelivered:{en:"Delivered & read",bn:"পেয়েছে ও পড়েছে"},prcAriaSent:{en:"Sent",bn:"প্রেরিত"},prcNewMsgOne:{en:"{n} new message, jump to latest",bn:"{n}টি নতুন মেসেজ, সর্বশেষে যান"},prcNewMsgMany:{en:"{n} new messages, jump to latest",bn:"{n}টি নতুন মেসেজ, সর্বশেষে যান"},prcNewLabelOne:{en:"{n} new message",bn:"{n}টি নতুন মেসেজ"},prcNewLabelMany:{en:"{n} new messages",bn:"{n}টি নতুন মেসেজ"},prcTicketResolved:{en:"✓ Ticket resolved",bn:"✓ টিকেট সমাধান হয়েছে"},prcTryNewPin:{en:"Try signing in with your new PIN.",bn:"নতুন PIN দিয়ে সাইন ইন করার চেষ্টা করুন।"},prcUploading:{en:" · uploading {pct}%",bn:" · আপলোড {pct}%"},prcReady:{en:" · ready",bn:" · প্রস্তুত"},prcRemoveAttach:{en:"Remove attachment",bn:"সংযুক্তি সরান"},prcAttachFile:{en:"Attach file",bn:"ফাইল সংযুক্ত করুন"},prcPlaceholderCaption:{en:"Add a caption…",bn:"ক্যাপশন যোগ করুন…"},prcPlaceholderType:{en:"Type your message…",bn:"মেসেজ লিখুন…"},prcAriaSend:{en:"Send",bn:"পাঠান"},prcAttachmentFallback:{en:"Attachment",bn:"সংযুক্তি"},prcAttachmentAlt:{en:"attachment",bn:"সংযুক্তি"},mafTitle:{en:"Become a Merchant",bn:"মার্চেন্ট হন"},mafStatusPending:{en:"Pending Review",bn:"রিভিউ চলছে"},mafStatusApproved:{en:"Approved",bn:"অনুমোদিত"},mafStatusRejected:{en:"Rejected",bn:"প্রত্যাখ্যাত"},mafPrevRejected:{en:"Previous Application Rejected",bn:"পূর্বের আবেদন প্রত্যাখ্যাত"},mafCanResubmit:{en:"You can submit a new application below.",bn:"আপনি নিচে নতুন আবেদন জমা দিতে পারেন।"},mafRequiredNote:{en:"Fields marked with * are required",bn:"* চিহ্নিত ক্ষেত্রগুলি আবশ্যক"},mafBusinessInfo:{en:"Business Information",bn:"ব্যবসার তথ্য"},mafBusinessName:{en:"Business Name *",bn:"ব্যবসার নাম *"},mafBusinessNamePh:{en:"Your business name",bn:"আপনার ব্যবসার নাম"},mafCategory:{en:"Category *",bn:"ক্যাটাগরি *"},mafSearchCategories:{en:"Search categories...",bn:"ক্যাটাগরি খুঁজুন..."},mafNoCategory:{en:"No category found.",bn:"কোনো ক্যাটাগরি পাওয়া যায়নি।"},mafOtherType:{en:"Other (type your own)",bn:"অন্য (নিজে লিখুন)"},mafOtherCustom:{en:"Other (custom)",bn:"অন্য (কাস্টম)"},mafEnterCategory:{en:"Enter your category...",bn:"আপনার ক্যাটাগরি লিখুন..."},mafTradeLicense:{en:"Trade License Number",bn:"ট্রেড লাইসেন্স নম্বর"},mafTradeLicensePh:{en:"License number (if available)",bn:"লাইসেন্স নম্বর (থাকলে)"},mafBusinessAddress:{en:"Business Address",bn:"ব্যবসার ঠিকানা"},mafBusinessAddressPh:{en:"Full business address",bn:"সম্পূর্ণ ব্যবসার ঠিকানা"},mafContactInfo:{en:"Contact Information",bn:"যোগাযোগের তথ্য"},mafOwnerName:{en:"Owner / Representative Name *",bn:"মালিক / প্রতিনিধির নাম *"},mafOwnerNamePh:{en:"Full name",bn:"পূর্ণ নাম"}
187,mafContactNumber:{en:"Contact Number *",bn:"যোগাযোগ নম্বর *"},mafContactNumberPh:{en:"e.g. 01XXXXXXXXX",bn:"উদা. 01XXXXXXXXX"},mafContactEmail:{en:"Contact Email",bn:"যোগাযোগ ইমেইল"},mafContactEmailPh:{en:"[email protected]",bn:"[email protected]"},mafBankDetails:{en:"Bank / Settlement Details",bn:"ব্যাংক / সেটেলমেন্ট বিবরণ"},mafBankName:{en:"Bank Name",bn:"ব্যাংকের নাম"},mafBankNamePh:{en:"e.g. Dutch Bangla Bank",bn:"উদা. ডাচ বাংলা ব্যাংক"},mafBranchName:{en:"Branch Name",bn:"শাখার নাম"},mafBranchNamePh:{en:"e.g. Gulshan Branch",bn:"উদা. গুলশান শাখা"},mafAccountHolder:{en:"Account Holder Name",bn:"অ্যাকাউন্ট ধারকের নাম"},mafAccountHolderPh:{en:"Name on bank account",bn:"ব্যাংক অ্যাকাউন্টের নাম"},mafAccountNumber:{en:"Account Number",bn:"অ্যাকাউন্ট নম্বর"},mafRoutingNumber:{en:"Routing Number",bn:"রাউটিং নম্বর"},mafReason:{en:"Why do you want a merchant account?",bn:"কেন মার্চেন্ট অ্যাকাউন্ট চান?"},mafReasonPh:{en:"Tell us about your business...",bn:"আপনার ব্যবসা সম্পর্কে বলুন..."},mafSubmit:{en:"Submit Application",bn:"আবেদন জমা দিন"},mafToastInvalid:{en:"Invalid input",bn:"অবৈধ ইনপুট"},mafToastSignIn:{en:"Please sign in",bn:"অনুগ্রহ করে সাইন ইন করুন"},mafToastFailed:{en:"Failed to submit: ",bn:"জমা ব্যর্থ: "},mafToastSuccess:{en:"Application submitted! We'll review it shortly.",bn:"আবেদন জমা হয়েছে! আমরা শীঘ্রই পর্যালোচনা করব।"},mafPendingDesc:{en:"Your merchant application is being reviewed. We'll notify you once a decision is made.",bn:"আপনার মার্চেন্ট আবেদন পর্যালোচনাধীন। সিদ্ধান্ত হলে আমরা জানাব।"},mafApprovedDesc:{en:"Your merchant account is active! Go to the Merchant Dashboard to manage your business.",bn:"আপনার মার্চেন্ট অ্যাকাউন্ট সক্রিয়! ব্যবসা পরিচালনার জন্য মার্চেন্ট ড্যাশবোর্ডে যান।"},mafFieldBusiness:{en:"Business",bn:"ব্যবসা"},mafFieldCategory:{en:"Category",bn:"ক্যাটাগরি"},mafFieldOwner:{en:"Owner",bn:"মালিক"},mafFieldContact:{en:"Contact",bn:"যোগাযোগ"},mafFieldSubmitted:{en:"Submitted",bn:"জমা দেওয়া হয়েছে"},mafAdminNotes:{en:"Admin Notes",bn:"অ্যাডমিন নোট"},mafErrBusinessName:{en:"Business name required",bn:"ব্যবসার নাম প্রয়োজন"},mafErrCategory:{en:"Category required",bn:"ক্যাটাগরি প্রয়োজন"},mafErrOwnerName:{en:"Owner name required",bn:"মালিকের নাম প্রয়োজন"},mafErrContactNumber:{en:"Contact number required",bn:"যোগাযোগ নম্বর প্রয়োজন"},mafErrEmail:{en:"Invalid email",bn:"অবৈধ ইমেইল"},mbkcTitle:{en:"Business KYC Application",bn:"ব্যবসায়িক KYC আবেদন"},mbkcSubtitle:{en:"Submit your business documents for verification",bn:"যাচাইয়ের জন্য আপনার ব্যবসায়িক ডকুমেন্ট জমা দিন"},mbkcUserKycRequired:{en:"User KYC required first",bn:"প্রথমে ব্যবহারকারীর KYC প্রয়োজন"},mbkcUserKycRequiredDesc:{en:"Please complete your personal KYC verification before applying as a vendor.",bn:"ভেন্ডর হিসেবে আবেদনের আগে আপনার ব্যক্তিগত KYC যাচাই সম্পূর্ণ করুন।"},mbkcUnderReview:{en:"Under Review",bn:"পর্যালোচনাধীন"},mbkcApproved:{en:"Approved",bn:"অনুমোদিত"},mbkcRejected:{en:"Rejected",bn:"প্রত্যাখ্যাত"},mbkcReason:{en:"Reason",bn:"কারণ"}
187,mbkcCommissionRate:{en:"Commission rate",bn:"কমিশনের হার"},mbkcBusinessName:{en:"Business Name *",bn:"ব্যবসার নাম *"},mbkcCategory:{en:"Category",bn:"ক্যাটাগরি"},mbkcTradeLicenseNo:{en:"Trade License Number *",bn:"ট্রেড লাইসেন্স নম্বর *"},mbkcBankDetails:{en:"Bank Details (for reference)",bn:"ব্যাংক বিবরণ (রেফারেন্সের জন্য)"},mbkcBankName:{en:"Bank name",bn:"ব্যাংকের নাম"},mbkcAccountHolder:{en:"Account holder",bn:"অ্যাকাউন্ট হোল্ডার"},mbkcAccountNumber:{en:"Account number",bn:"অ্যাকাউন্ট নম্বর"},mbkcDocuments:{en:"Documents",bn:"ডকুমেন্ট"},mbkcNoFile:{en:"No file selected",bn:"কোনো ফাইল নির্বাচিত হয়নি"},mbkcChoose:{en:"Choose",bn:"নির্বাচন করুন"},mbkcUploading:{en:"Uploading…",bn:"আপলোড হচ্ছে…"},mbkcSubmit:{en:"Submit Application",bn:"আবেদন জমা দিন"},mbkcDocNidFront:{en:"NID Front",bn:"এনআইডি সামনের অংশ"},mbkcDocNidBack:{en:"NID Back",bn:"এনআইডি পিছনের অংশ"},mbkcDocTradeLicense:{en:"Trade License",bn:"ট্রেড লাইসেন্স"},mbkcDocBankStatement:{en:"Bank Statement",bn:"ব্যাংক স্টেটমেন্ট"},mbkcErrBusinessName:{en:"Business name required",bn:"ব্যবসার নাম প্রয়োজন"},mbkcErrTradeLicense:{en:"Trade license number required",bn:"ট্রেড লাইসেন্স নম্বর প্রয়োজন"},mbkcErrDocRequired:{en:"{label} required",bn:"{label} প্রয়োজন"},mbkcSubmitted:{en:"Application submitted — awaiting admin review",bn:"আবেদন জমা হয়েছে — অ্যাডমিন রিভিউয়ের অপেক্ষায়"},mbkcSubmitFailed:{en:"Submission failed",bn:"জমা ব্যর্থ হয়েছে"},mbkcNotAuthenticated:{en:"Not authenticated",bn:"প্রমাণীকৃত নয়"},vocOnboarding:{en:"Onboarding",bn:"অনবোর্ডিং"},vocTitle:{en:"Become a Vendor in 5 steps",bn:"৫টি ধাপে ভেন্ডর হয়ে উঠুন"},vocNext:{en:"Next:",bn:"পরবর্তী:"},vocLoading:{en:"Loading…",bn:"লোড হচ্ছে…"},vocAllSet:{en:"All set!",bn:"সব প্রস্তুত!"},vocAwaitingReview:{en:"Awaiting review",bn:"রিভিউয়ের অপেক্ষায়"},vocComplete:{en:"complete",bn:"সম্পূর্ণ"},vocFullyOnboarded:{en:"You're fully onboarded — your dashboard is ready.",bn:"আপনি সম্পূর্ণরূপে অনবোর্ড হয়েছেন — আপনার ড্যাশবোর্ড প্রস্তুত।"},vocDone:{en:"Done",bn:"সম্পন্ন"},vocInReview:{en:"In review",bn:"রিভিউয়ে"},vocActionNeeded:{en:"Action needed",bn:"ব্যবস্থা প্রয়োজন"},vocApproval:{en:"approval",bn:"অনুমোদন"},vocApprovals:{en:"approvals",bn:"অনুমোদন"},vocEtaDefault:{en:"1–2 days",bn:"১–২ দিন"},vocEtaEstimate:{en:"1–2 days est.",bn:"১–২ দিন আনুমানিক"},vocEtaTypical:{en:"~{dur} typical",bn:"~{dur} সাধারণত"},vocMinUnit:{en:"m",bn:"মি"},vocHourUnit:{en:"h",bn:"ঘ"},vocDayUnit:{en:"d",bn:"দিন"},vocConfEstimated:{en:"Estimated",bn:"আনুমানিক"},vocConfLow:{en:"Low confidence",bn:"নিম্ন আস্থা"},vocConfMedium:{en:"Medium confidence",bn:"মাঝারি আস্থা"},vocConfHigh:{en:"High confidence",bn:"উচ্চ আস্থা"},vocTipEstimated:{en:"Estimated — not enough recent approvals to compute a real ETA yet.",bn:"আনুমানিক — সঠিক ETA গণনা করার মতো সাম্প্রতিক অনুমোদন এখনো যথেষ্ট নয়।"},vocTipLow:{en:"Low confidence — based on only {n} recent approvals.",bn:"নিম্ন আস্থা — কেবল {n}টি সাম্প্রতিক অনুমোদনের ভিত্তিতে।"},vocTipMedium:{en:"Medium confidence — based on {n} recent approvals.",bn:"মাঝারি আস্থা — {n}টি সাম্প্রতিক অনুমোদনের ভিত্তিতে।"},vocTipHigh:{en:"High confidence — based on {n} recent approvals.",bn:"উচ্চ আস্থা — {n}টি সাম্প্রতিক অনুমোদনের ভিত্তিতে।"},vocPersonalRemaining:{en:"About {dur} left on average",bn:"গড়ে আনুমানিক {dur} বাকি"},vocPersonalAlmost:{en:"Almost there — usually done by now",bn:"প্রায় শেষ — সাধারণত এতক্ষণে সম্পন্ন হয়"},vocPersonalDelay:{en:"Taking longer than usual — we'll notify you the moment it's done",bn:"স্বাভাবিকের চেয়ে বেশি সময় লাগছে — সম্পন্ন হওয়ামাত্র আমরা আপনাকে জানাবো"},vocStep1Title:{en:"Verify your identity",bn:"আপনার পরিচয় যাচাই করুন"},vocStep1Desc:{en:"Confirm your personal KYC to unlock business onboarding.",bn:"ব্যবসায়িক অনবোর্ডিং আনলক করতে আপনার ব্যক্তিগত KYC নিশ্চিত করুন।"}
187,vocStep1Eta:{en:"~3 min",bn:"~৩ মিনিট"},vocStep1Cta:{en:"Complete KYC",bn:"KYC সম্পন্ন করুন"},vocStep1Resubmit:{en:"Resubmit KYC",bn:"KYC পুনরায় জমা দিন"},vocStep2Title:{en:"Submit business application",bn:"ব্যবসায়িক আবেদন জমা দিন"},vocStep2Desc:{en:"Tell us about your shop and upload trade documents.",bn:"আপনার দোকান সম্পর্কে আমাদের জানান ও ট্রেড ডকুমেন্ট আপলোড করুন।"},vocStep2Eta:{en:"~5 min",bn:"~৫ মিনিট"},vocStep2Cta:{en:"Apply as Vendor",bn:"ভেন্ডর হিসেবে আবেদন করুন"},vocStep2Reapply:{en:"Reapply",bn:"পুনরায় আবেদন করুন"},vocStep3Title:{en:"Get approved by our team",bn:"আমাদের টিম থেকে অনুমোদন পান"},vocStep3Desc:{en:"We review applications within 24–48 hours on business days.",bn:"আমরা কার্যদিবসে ২৪–৪৮ ঘণ্টার মধ্যে আবেদন পর্যালোচনা করি।"},vocStep3Eta:{en:"1–2 days",bn:"১–২ দিন"},vocStep3Cta:{en:"Awaiting review",bn:"রিভিউয়ের অপেক্ষায়"},vocStep4Title:{en:"Add settlement bank account",bn:"সেটেলমেন্ট ব্যাংক অ্যাকাউন্ট যোগ করুন"},vocStep4Desc:{en:"Where we send your daily payouts after MDR.",bn:"MDR পরে আমরা আপনার দৈনিক পেআউট কোথায় পাঠাই।"},vocStep4Eta:{en:"~2 min",bn:"~২ মিনিট"},vocStep4Cta:{en:"Add bank account",bn:"ব্যাংক অ্যাকাউন্ট যোগ করুন"},vocStep5Title:{en:"Turn on order notifications",bn:"অর্ডার নোটিফিকেশন চালু করুন"},vocStep5Desc:{en:"Get instant alerts the moment a customer pays.",bn:"গ্রাহক পেমেন্ট করার সাথে সাথে তাৎক্ষণিক অ্যালার্ট পান।"},vocStep5Eta:{en:"~30 sec",bn:"~৩০ সেকেন্ড"},vocStep5Cta:{en:"Enable notifications",bn:"নোটিফিকেশন সক্ষম করুন"},ipInstall:{en:"Install",bn:"ইনস্টল"},ipDismiss:{en:"Dismiss",bn:"বাতিল"},ipTitleIdle:{en:"Install EasyPay",bn:"EasyPay ইনস্টল করুন"},ipStageIdle:{en:"Ready to install",bn:"ইনস্টলের জন্য প্রস্তুত"},ipStageDetecting:{en:"Detecting device...",bn:"ডিভাইস শনাক্ত করা হচ্ছে..."},ipStagePreparing:{en:"Preparing app bundle...",bn:"অ্যাপ বান্ডেল প্রস্তুত করা হচ্ছে..."},ipStageDownloading:{en:"Downloading EasyPay...",bn:"EasyPay ডাউনলোড করা হচ্ছে..."},ipStageInstalling:{en:"Installing on device...",bn:"ডিভাইসে ইনস্টল করা হচ্ছে..."},ipStageDone:{en:"Installed successfully!",bn:"সফলভাবে ইনস্টল হয়েছে!"}
187,ipStageFailed:{en:"Installation cancelled",bn:"ইনস্টলেশন বাতিল করা হয়েছে"},ipDescIdle:{en:"Add to home screen for instant access",bn:"তাৎক্ষণিক প্রবেশের জন্য হোম স্ক্রিনে যোগ করুন"},ipDescDetecting:{en:"Checking device compatibility...",bn:"ডিভাইস সামঞ্জস্য পরীক্ষা করা হচ্ছে..."},ipDescPreparing:{en:"Optimizing for your device...",bn:"আপনার ডিভাইসের জন্য অপ্টিমাইজ করা হচ্ছে..."},ipDescDownloading:{en:"Getting the latest version...",bn:"সর্বশেষ সংস্করণ আনা হচ্ছে..."},ipDescInstalling:{en:"Almost there...",bn:"প্রায় শেষ..."},ipDescDone:{en:"Check your home screen!",bn:"আপনার হোম স্ক্রিন দেখুন!"},ipDescFailed:{en:"You can try again anytime",bn:"আপনি যেকোনো সময় আবার চেষ্টা করতে পারেন"},popTitle:{en:"Stay in the loop",bn:"আপডেটে থাকুন"},popDesc:{en:"Get instant alerts when your orders ship, payouts land, and offers drop.",bn:"অর্ডার পাঠানো, পেআউট আসা ও নতুন অফারের সাথে সাথে অ্যালার্ট পান।"},popEnable:{en:"Enable",bn:"সক্ষম করুন"},popNotNow:{en:"Not now",bn:"এখন নয়"},popEnabled:{en:"Notifications enabled 🔔",bn:"নোটিফিকেশন চালু হয়েছে 🔔"},popFailed:{en:"Couldn't enable",bn:"চালু করা যায়নি"},npTitle:{en:"Notification preferences",bn:"নোটিফিকেশন পছন্দসমূহ"},npSubtitle:{en:"Choose which alerts buzz your device.",bn:"আপনার ডিভাইসে কোন অ্যালার্ট বাজবে তা বেছে নিন।"},npStatusUnsupported:{en:"Unsupported on this device",bn:"এই ডিভাইসে সমর্থিত নয়"},npStatusNotConfigured:{en:"Push not configured",bn:"পুশ কনফিগার করা নেই"},npStatusBlocked:{en:"Permission blocked in browser",bn:"ব্রাউজারে অনুমতি ব্লক করা"},npStatusActive:{en:"Push active on this device",bn:"এই ডিভাইসে পুশ সক্রিয়"},npStatusInactive:{en:"Push not enabled on this device",bn:"এই ডিভাইসে পুশ চালু নেই"},npDisable:{en:"Disable",bn:"বন্ধ করুন"},npEnable:{en:"Enable",bn:"চালু করুন"},npPushDisabled:{en:"Push disabled",bn:"পুশ বন্ধ করা হয়েছে"},npPushEnabled:{en:"Push enabled 🔔",bn:"পুশ চালু হয়েছে 🔔"},npCouldNotEnable:{en:"Couldn't enable",bn:"চালু করা যায়নি"},npCouldNotSave:{en:"Couldn't save",bn:"সংরক্ষণ করা যায়নি"},npCouldNotSaveQuiet:{en:"Couldn't save quiet hours",bn:"নীরব সময় সংরক্ষণ করা যায়নি"},npToggleAria:{en:"Toggle {label}",bn:"{label} টগল করুন"},npQuietHours:{en:"Quiet hours",bn:"নীরব সময়"},npQuietDesc:{en:"Mute push during this window (Asia/Dhaka time). In-app alerts still appear.",bn:"এই সময়ের মধ্যে পুশ নীরব রাখুন (এশিয়া/ঢাকা সময়)। ইন-অ্যাপ অ্যালার্ট দেখা যাবে।"},npQuietToggleAria:{en:"Toggle quiet hours",bn:"নীরব সময় টগল করুন"},npFrom:{en:"From",bn:"থেকে"},npTo:{en:"To",bn:"পর্যন্ত"},npEnableHint:{en:"Enable push above to start receiving alerts. Your category choices are saved either way.",bn:"অ্যালার্ট পেতে উপরে পুশ চালু করুন। আপনার ক্যাটাগরির পছন্দ যেভাবেই হোক সংরক্ষিত হবে।"},npCatMerchantNewOrder:{en:"New orders",bn:"নতুন অর্ডার"},npCatMerchantNewOrderDesc:{en:"Buzz when a new order arrives.",bn:"নতুন অর্ডার এলে অ্যালার্ট পাবেন।"},npCatMerchantPayout:{en:"Payouts",bn:"পেআউট"},npCatMerchantPayoutDesc:{en:"Settlement and payout confirmations.",bn:"সেটেলমেন্ট ও পেআউট নিশ্চিতকরণ।"},npCatMerchantRefund:{en:"Refunds & returns",bn:"রিফান্ড ও রিটার্ন"},npCatMerchantRefundDesc:{en:"Refund requests and return updates.",bn:"রিফান্ড অনুরোধ ও রিটার্ন আপডেট।"},npCatMerchantLowStock:{en:"Low stock alerts",bn:"কম স্টক অ্যালার্ট"},npCatMerchantLowStockDesc:{en:"When inventory drops below threshold.",bn:"ইনভেন্টরি সীমার নিচে নামলে।"},npCatMerchantInquiry:{en:"Customer inquiries",bn:"গ্রাহকের জিজ্ঞাসা"},npCatMerchantInquiryDesc:{en:"Buyer chat messages on your products.",bn:"আপনার পণ্যে ক্রেতার চ্যাট মেসেজ।"},npCatMerchantApi:{en:"API access updates",bn:"এপিআই অ্যাক্সেস আপডেট"},npCatMerchantApiDesc:{en:"When your API access request is approved or denied.",bn:"আপনার এপিআই অ্যাক্সেস অনুরোধ অনুমোদিত বা প্রত্যাখ্যাত হলে।"},npCatAgentFloatLow:{en:"Float low",bn:"ফ্লোট কম"},npCatAgentFloatLowDesc:{en:"When your float drops under 10%.",bn:"আপনার ফ্লোট ১০%-এর নিচে নামলে।"}
187,npCatAgentCommission:{en:"Commission credited",bn:"কমিশন জমা"},npCatAgentCommissionDesc:{en:"When a commission is paid out.",bn:"কমিশন পরিশোধ হলে।"},npCatAgentFundRequest:{en:"Fund requests",bn:"ফান্ড অনুরোধ"},npCatAgentFundRequestDesc:{en:"Approval or rejection of fund requests.",bn:"ফান্ড অনুরোধ অনুমোদন বা প্রত্যাখ্যান।"},npCatAgentCashInOut:{en:"Cash in / out",bn:"ক্যাশ ইন / আউট"},npCatAgentCashInOutDesc:{en:"When customers transact with you.",bn:"গ্রাহক আপনার সাথে লেনদেন করলে।"},npCatSavingsCollected:{en:"DPS collected",bn:"ডিপিএস সংগ্রহ"},npCatSavingsCollectedDesc:{en:"When an auto-save installment is collected or your goal completes.",bn:"অটো-সেভ কিস্তি সংগ্রহ হলে বা লক্ষ্য পূর্ণ হলে।"},npCatSavingsMissed:{en:"DPS missed",bn:"ডিপিএস মিস"},npCatSavingsMissedDesc:{en:"When an installment can't be collected (insufficient balance).",bn:"কিস্তি সংগ্রহ করা না গেলে (পর্যাপ্ত ব্যালেন্স নেই)।"},npCatMonthlySummary:{en:"Monthly summary",bn:"মাসিক সারাংশ"},npCatMonthlySummaryDesc:{en:"Last month's recap on the 1st.",bn:"প্রতি মাসের ১ তারিখে গত মাসের সারসংক্ষেপ।"},npCatMarketing:{en:"Promotions & tips",bn:"প্রমোশন ও টিপস"},npCatMarketingDesc:{en:"Offers, drops, and platform updates.",bn:"অফার, ড্রপ ও প্ল্যাটফর্ম আপডেট।"},fdTitle:{en:"Filters",bn:"ফিল্টার"},fdPriceRange:{en:"Price Range (৳)",bn:"মূল্যের পরিসর (৳)"},fdMin:{en:"Min",bn:"সর্বনিম্ন"},fdMax:{en:"Max",bn:"সর্বোচ্চ"},fdMinRating:{en:"Minimum Rating",bn:"সর্বনিম্ন রেটিং"},fdAndUp:{en:"& up",bn:"ও তার বেশি"},fdBrand:{en:"Brand",bn:"ব্র্যান্ড"},fdClearAll:{en:"Clear All",bn:"সব মুছুন"},fdApply:{en:"Apply Filters",bn:"ফিল্টার প্রয়োগ করুন"},catAll:{en:"All",bn:"সব"},catFashion:{en:"Fashion",bn:"ফ্যাশন"},catElectronics:{en:"Electronics",bn:"ইলেকট্রনিক্স"},catHome:{en:"Home",bn:"ঘর"},catFood:{en:"Food",bn:"খাবার"},catSports:{en:"Sports",bn:"খেলাধুলা"},catBooks:{en:"Books",bn:"বই"},catBeauty:{en:"Beauty",bn:"সৌন্দর্য"},catKids:{en:"Kids",bn:"শিশু"},catGrocery:{en:"Grocery",bn:"মুদি"},catAutomotive:{en:"Automotive",bn:"গাড়ি"},catHealth:{en:"Health",bn:"স্বাস্থ্য"},catToys:{en:"Toys",bn:"খেলনা"},catPets:{en:"Pets",bn:"পোষা প্রাণী"},catOffice:{en:"Office",bn:"অফিস"},catGarden:{en:"Garden",bn:"বাগান"},catTravel:{en:"Travel",bn:"ভ্রমণ"},saSearchPlaceholder:{en:"Search products, brands, stores...",bn:"পণ্য, ব্র্যান্ড, দোকান খুঁজুন..."},wrWriteReview:{en:"Write a Review",bn:"রিভিউ লিখুন"},wrRatingPoor:{en:"Poor",bn:"খারাপ"},wrRatingFair:{en:"Fair",bn:"মোটামুটি"},wrRatingGood:{en:"Good",bn:"ভালো"},wrRatingVeryGood:{en:"Very Good",bn:"খুব ভালো"},wrRatingExcellent:{en:"Excellent",bn:"চমৎকার"},wrTitlePlaceholder:{en:"Review title (optional)",bn:"রিভিউ শিরোনাম (ঐচ্ছিক)"},wrBodyPlaceholder:{en:"Tell others about your experience...",bn:"অন্যদের আপনার অভিজ্ঞতা জানান..."},wrSubmit:{en:"Submit Review",bn:"রিভিউ জমা দিন"},wrMaxImages:{en:"Maximum 3 images allowed",bn:"সর্বোচ্চ ৩টি ছবি অনুমোদিত"},wrUploadFailed:{en:"Upload failed",bn:"আপলোড ব্যর্থ"},wrSignIn:{en:"Please sign in",bn:"দয়া করে সাইন ইন করুন"},wrSelectRating:{en:"Please select a rating",bn:"দয়া করে একটি রেটিং নির্বাচন করুন"},wrSubmitFailed:{en:"Failed to submit review",bn:"রিভিউ জমা দিতে ব্যর্থ"},wrSubmitSuccess:{en:"Review submitted!",bn:"রিভিউ জমা হয়েছে!"},prNoReviews:{en:"No reviews yet. Be the first to review this product!",bn:"এখনো কোনো রিভিউ নেই। প্রথম রিভিউ দিন!"},prVerified:{en:"Verified",bn:"যাচাইকৃত"},prAnonymous:{en:"Anonymous",bn:"অজ্ঞাতনামা"},pcOutOfStock:{en:"Out of Stock",bn:"স্টকে নেই"},vshProducts:{en:"products",bn:"পণ্য"}
187,amAddNew:{en:"Add New Address",bn:"নতুন ঠিকানা যোগ করুন"},amNewAddress:{en:"New Address",bn:"নতুন ঠিকানা"},amEditAddress:{en:"Edit Address",bn:"ঠিকানা সম্পাদনা"},amFullName:{en:"Full Name *",bn:"পুরো নাম *"},amPhone:{en:"Phone *",bn:"ফোন *"},amAddressLine:{en:"Address Line *",bn:"ঠিকানা *"},amAreaThana:{en:"Area / Thana",bn:"এলাকা / থানা"},amCity:{en:"City *",bn:"শহর *"},amSetDefault:{en:"Set as default address",bn:"ডিফল্ট ঠিকানা হিসেবে সেট করুন"},amCancel:{en:"Cancel",bn:"বাতিল"},amSaveAddress:{en:"Save Address",bn:"ঠিকানা সেভ করুন"},amDefault:{en:"Default",bn:"ডিফল্ট"},amFillRequired:{en:"Please fill all required fields",bn:"দয়া করে সব প্রয়োজনীয় তথ্য পূরণ করুন"},amAddressSaved:{en:"Address saved",bn:"ঠিকানা সেভ হয়েছে"},amAddressUpdated:{en:"Address updated",bn:"ঠিকানা আপডেট হয়েছে"},amSaveFailed:{en:"Failed to save",bn:"সেভ করতে ব্যর্থ"},amAddressDeleted:{en:"Address deleted",bn:"ঠিকানা মুছে ফেলা হয়েছে"},amNamePlaceholder:{en:"e.g. Karim Hossain",bn:"যেমন: করিম হোসেন"},amPhonePlaceholder:{en:"e.g. 01712-345678",bn:"যেমন: ০১৭১২-৩৪৫৬৭৮"},amAddressPlaceholder:{en:"House/Flat, Road, Block",bn:"বাড়ি/ফ্ল্যাট, রোড, ব্লক"},amAreaPlaceholder:{en:"e.g. Mirpur-10",bn:"যেমন: মিরপুর-১০"},amCityPlaceholder:{en:"e.g. Dhaka",bn:"যেমন: ঢাকা"},amLabelHome:{en:"Home",bn:"বাড়ি"},amLabelOffice:{en:"Office",bn:"অফিস"},amLabelOther:{en:"Other",bn:"অন্যান্য"},obSendTitle:{en:"Send Money Instantly",bn:"তাৎক্ষণিক টাকা পাঠান"},obSendSubtitle:{en:"Transfer to any mobile number in Bangladesh in seconds — day or night, zero delays.",bn:"বাংলাদেশের যেকোনো মোবাইল নম্বরে কয়েক সেকেন্ডে পাঠান — দিন হোক বা রাত, কোনো দেরি নেই।"},obSendBadge:{en:"⚡ Instant Transfer",bn:"⚡ তাৎক্ষণিক স্থানান্তর"},obSendPill1:{en:"01700…",bn:"০১৭০০…"},obSendPill2:{en:"৳500",bn:"৳৫০০"},obSendPill3:{en:"✓ Sent",bn:"✓ পাঠানো"},obBillsTitle:{en:"Pay Bills with Ease",bn:"সহজে বিল পরিশোধ করুন"},obBillsSubtitle:{en:"Electricity, gas, water, internet — pay any utility bill from your wallet in one tap.",bn:"বিদ্যুৎ, গ্যাস, পানি, ইন্টারনেট — এক ট্যাপে আপনার ওয়ালেট থেকে যেকোনো ইউটিলিটি বিল পরিশোধ করুন।"},obBillsBadge:{en:"🏦 50+ Billers",bn:"🏦 ৫০+ বিলার"},obBillsPill1:{en:"Electric",bn:"বিদ্যুৎ"},obBillsPill2:{en:"Internet",bn:"ইন্টারনেট"},obBillsPill3:{en:"Gas",bn:"গ্যাস"},obCashbackTitle:{en:"Earn Cashback & Rewards",bn:"ক্যাশব্যাক ও পুরস্কার অর্জন করুন"},obCashbackSubtitle:{en:"Get Drive commission on mobile recharges, cashback on payments, and exclusive loyalty rewards.",bn:"মোবাইল রিচার্জে ড্রাইভ কমিশন, পেমেন্টে ক্যাশব্যাক এবং বিশেষ লয়্যালটি পুরস্কার পান।"},obCashbackBadge:{en:"🎁 Drive Rewards",bn:"🎁 ড্রাইভ পুরস্কার"},obCashbackPill1:{en:"Drive ৳",bn:"ড্রাইভ ৳"},obCashbackPill2:{en:"Cashback",bn:"ক্যাশব্যাক"}
187,obCashbackPill3:{en:"Rewards",bn:"পুরস্কার"},obSkip:{en:"Skip",bn:"এড়িয়ে যান"},obShakeHint:{en:"📳 Shake to skip",bn:"📳 এড়াতে ঝাঁকান"},obGetStarted:{en:"Get Started",bn:"শুরু করুন"},obNext:{en:"Next",bn:"পরবর্তী"},obHoldHint:{en:"Hold to feel the bounce",bn:"বাউন্স অনুভব করতে চেপে ধরুন"},qrScanTitle:{en:"Scan any QR",bn:"যেকোনো QR স্ক্যান করুন"},qrCameraUnavailable:{en:"Camera not available",bn:"ক্যামেরা উপলব্ধ নেই"},qrUseGallery:{en:"Use gallery upload below",bn:"নিচের গ্যালারি আপলোড ব্যবহার করুন"},qrReadingNumber:{en:"Reading number...",bn:"নম্বর পড়া হচ্ছে..."},qrNumbersFound:{en:"Numbers found",bn:"প্রাপ্ত নম্বরসমূহ"},qrTapRetry:{en:"Tap to retry",bn:"আবার চেষ্টা করতে ট্যাপ করুন"},qrDetected:{en:"Detected!",bn:"সনাক্ত হয়েছে!"},qrHelpText:{en:'Scan QR code or tap "Read Number" to scan a phone number.',bn:'QR কোড স্ক্যান করুন অথবা ফোন নম্বর স্ক্যান করতে "নম্বর পড়ুন" ট্যাপ করুন।'},qrTorch:{en:"Torch",bn:"টর্চ"},qrReadNumber:{en:"Read Number",bn:"নম্বর পড়ুন"},qrGallery:{en:"Gallery",bn:"গ্যালারি"},qrSupports:{en:"Supports",bn:"সমর্থন"},qrNoNumbers:{en:"No numbers found. Try again with clearer text.",bn:"কোনো নম্বর পাওয়া যায়নি। আরও স্পষ্ট টেক্সট দিয়ে চেষ্টা করুন।"},qrCantRead:{en:"Could not read the number. Try again.",bn:"নম্বরটি পড়া যায়নি। আবার চেষ্টা করুন।"},sdPay:{en:"Pay",bn:"পে"},sdCloseActions:{en:"Close actions",bn:"অ্যাকশন বন্ধ করুন"},sdQuickActions:{en:"Quick actions",bn:"দ্রুত অ্যাকশন"},msTitle:{en:"More Services",bn:"আরও সেবা"},msComingSoon:{en:"Coming soon!",bn:"শীঘ্রই আসছে!"},msBankLabel:{en:"Bank Transfer",bn:"ব্যাংক ট্রান্সফার"},msBankDesc:{en:"Transfer to any bank account",bn:"যেকোনো ব্যাংক অ্যাকাউন্টে ট্রান্সফার"},msLoanLabel:{en:"Loan",bn:"ঋণ"},msLoanDesc:{en:"Quick personal loans",bn:"দ্রুত ব্যক্তিগত ঋণ"},msInsuranceLabel:{en:"Insurance",bn:"বীমা"},msInsuranceDesc:{en:"Protect what matters",bn:"যা গুরুত্বপূর্ণ তা সুরক্ষিত করুন"},msGiftLabel:{en:"Gift Cards",bn:"গিফট কার্ড"},msGiftDesc:{en:"Send & redeem gifts",bn:"উপহার পাঠান ও রিডিম করুন"},msCareersLabel:{en:"Careers",bn:"ক্যারিয়ার"},msCareersDesc:{en:"Join our team & grow",bn:"আমাদের দলে যোগ দিন ও এগিয়ে যান"},msCouponsLabel:{en:"Coupons & Offers",bn:"কুপন ও অফার"},msCouponsDesc:{en:"Exclusive deals & cashback",bn:"বিশেষ ডিল ও ক্যাশব্যাক"},msDonationsLabel:{en:"Donations",bn:"দান"},msDonationsDesc:{en:"Support causes you care about",bn:"যে বিষয়গুলো আপনার কাছে গুরুত্বপূর্ণ তা সমর্থন করুন"},cbOff:{en:"off",bn:"ছাড়"},cbFlat:{en:"flat",bn:"ফ্ল্যাট"},cbUpTo:{en:"up to",bn:"সর্বোচ্চ"},arbTitle:{en:"AI Recommended",bn:"এআই সুপারিশকৃত"},arbSmart:{en:"Smart",bn:"স্মার্ট"},arbClaim:{en:"Claim",bn:"গ্রহণ করুন"},arbApply:{en:"Apply",bn:"আবেদন করুন"},arbDaysLeft:{en:"d left",bn:"দিন বাকি"},arbClaimed:{en:"Reward claimed! 🎉",bn:"পুরস্কার গ্রহণ করা হয়েছে! 🎉"},psFallbackTitle:{en:"Invite Friends & Earn ৳50",bn:"বন্ধুদের আমন্ত্রণ জানান ও ৳৫০ আয় করুন"},psFallbackSubtitle:{en:"Share your referral code and earn rewards when friends join EasyPay",bn:"আপনার রেফারেল কোড শেয়ার করুন এবং বন্ধুরা EasyPay-এ যোগ দিলে পুরস্কার আয় করুন"},psFallbackBadge:{en:"Limited Offer",bn:"সীমিত অফার"},baSecureAccount:{en:"Secure your account to continue",bn:"চালিয়ে যেতে আপনার অ্যাকাউন্ট সুরক্ষিত করুন"},baBioFailed:{en:"Biometric check failed or was cancelled.",bn:"বায়োমেট্রিক যাচাই ব্যর্থ হয়েছে বা বাতিল করা হয়েছে।"},baIncorrectPin:{en:"Incorrect PIN. Try again.",bn:"ভুল পিন। আবার চেষ্টা করুন।"},baVerifying:{en:"Verifying…",bn:"যাচাই করা হচ্ছে…"},baUseBio:{en:"Use Fingerprint / Face ID",bn:"ফিঙ্গারপ্রিন্ট / ফেস আইডি ব্যবহার করুন"},baTouchSensor:{en:"Touch the sensor to authenticate",bn:"প্রমাণীকরণের জন্য সেন্সর স্পর্শ করুন"},baOr:{en:"or",bn:"অথবা"},baAuthWith:{en:"Authenticate with",bn:"প্রমাণীকরণ করুন"},baUsePin:{en:"Use PIN",bn:"পিন ব্যবহার করুন"}
187,baEnterPin:{en:"Enter your PIN",bn:"আপনার পিন দিন"},baDemoPin:{en:"Demo PIN is",bn:"ডেমো পিন হলো"},baUseBioInstead:{en:"Use biometrics instead",bn:"পরিবর্তে বায়োমেট্রিক ব্যবহার করুন"},baAuthenticated:{en:"Authenticated!",bn:"প্রমাণীকরণ সফল!"},baOpeningWallet:{en:"Opening your wallet…",bn:"আপনার ওয়ালেট খোলা হচ্ছে…"},baE2EProtected:{en:"Protected by end-to-end encryption",bn:"এন্ড-টু-এন্ড এনক্রিপশন দ্বারা সুরক্ষিত"},bmTitle:{en:"Monthly Budgets",bn:"মাসিক বাজেট"},bmAdd:{en:"Add",bn:"যোগ করুন"},bmLimit:{en:"৳ Limit",bn:"৳ সীমা"},bmSave:{en:"Save",bn:"সংরক্ষণ"},bmEmpty:{en:"No budgets set. Tap Add to create one.",bn:"কোনো বাজেট সেট করা নেই। তৈরি করতে যোগ করুন ট্যাপ করুন।"},bmRecurring:{en:"Recurring",bn:"পুনরাবৃত্ত"},bmOneTime:{en:"One-time",bn:"একবারের"},dqSessionNotFound:{en:"Session not found",bn:"সেশন পাওয়া যায়নি"},dqSessionAlready:{en:"Session already",bn:"সেশন ইতিমধ্যে"},dqSessionExpired:{en:"Session expired",bn:"সেশনের মেয়াদ শেষ"},dqNotAuthenticated:{en:"Not authenticated",bn:"প্রমাণীকৃত নয়"},dqPaymentFailed:{en:"Payment failed",bn:"পেমেন্ট ব্যর্থ হয়েছে"},dqPayWithEasyPay:{en:"Pay with EasyPay",bn:"EasyPay দিয়ে পেমেন্ট করুন"},dqMerchant:{en:"Merchant",bn:"মার্চেন্ট"},dqRef:{en:"Ref:",bn:"রেফ:"},dqAmountToPay:{en:"Amount to Pay",bn:"প্রদেয় পরিমাণ"},dqConfirmPay:{en:"Confirm & Pay",bn:"নিশ্চিত করুন ও পেমেন্ট করুন"},dqEnterPin:{en:"Enter your PIN",bn:"আপনার পিন দিন"},dqToPay:{en:"to pay",bn:"পরিশোধ করতে"},dqTo:{en:"to",bn:"কে"},dqProcessing:{en:"Processing payment…",bn:"পেমেন্ট প্রক্রিয়া চলছে…"},dqPaymentSuccess:{en:"Payment Successful!",bn:"পেমেন্ট সফল হয়েছে!"},dqPaidTo:{en:"paid to",bn:"পরিশোধ করা হয়েছে"},dqDone:{en:"Done",bn:"সম্পন্ন"},dqPaymentFailedTitle:{en:"Payment Failed",bn:"পেমেন্ট ব্যর্থ হয়েছে"},dqClose:{en:"Close",bn:"বন্ধ করুন"},scMsgDeleted:{en:"🗑️ This message was deleted",bn:"🗑️ এই বার্তাটি মুছে ফেলা হয়েছে"},scScreenshotToast:{en:"Screenshot detected!",bn:"স্ক্রিনশট সনাক্ত হয়েছে!"},scScreenshotDesc:{en:"Screenshots are monitored in encrypted chats.",bn:"এনক্রিপ্টেড চ্যাটে স্ক্রিনশট পর্যবেক্ষণ করা হয়।"},scMsgDeletedToast:{en:"Message deleted",bn:"বার্তা মুছে ফেলা হয়েছে"},scScreenshotBanner:{en:"⚠️ Screenshot detected!",bn:"⚠️ স্ক্রিনশট সনাক্ত হয়েছে!"},scE2EBanner:{en:"End-to-end encrypted • AES-256-GCM",bn:"এন্ড-টু-এন্ড এনক্রিপ্টেড • AES-256-GCM"},scContext:{en:"Context",bn:"প্রসঙ্গ"},scAddressPoints:{en:"Address the points above in your message before resubmitting.",bn:"পুনরায় জমা দেওয়ার আগে আপনার বার্তায় উপরের বিষয়গুলি সমাধান করুন।"},scWelcome:{en:"🔐 This chat is end-to-end encrypted with AES-256-GCM. Messages are encrypted before leaving your device. Screenshots are monitored.",bn:"🔐 এই চ্যাটটি AES-256-GCM দিয়ে এন্ড-টু-এন্ড এনক্রিপ্টেড। আপনার ডিভাইস ছাড়ার আগেই বার্তাগুলি এনক্রিপ্ট করা হয়। স্ক্রিনশট পর্যবেক্ষণ করা হয়।"},scSecuritySystem:{en:"Security System",bn:"নিরাপত্তা সিস্টেম"},scDecrypting:{en:"🔓 Decrypting...",bn:"🔓 ডিক্রিপ্ট করা হচ্ছে..."},scDeleteMsg:{en:"Delete message",bn:"বার্তা মুছুন"},scNoMessages:{en:"No messages yet",bn:"এখনো কোনো বার্তা নেই"},scStartSecure:{en:"Start a secure conversation!",bn:"একটি সুরক্ষিত কথোপকথন শুরু করুন!"},scPlaceholder:{en:"Type an encrypted message...",bn:"একটি এনক্রিপ্টেড বার্তা লিখুন..."},agImageMax:{en:"Image must be under 5MB",bn:"ছবি ৫MB এর কম হতে হবে"},agUploadFailed:{en:"Upload failed",bn:"আপলোড ব্যর্থ"},agProfileUpdateFailed:{en:"Failed to update profile",bn:"প্রোফাইল আপডেট ব্যর্থ"},agAvatarUpdated:{en:"Avatar updated!",bn:"অবতার আপডেট হয়েছে!"},agEditAvatar:{en:"Edit Avatar",bn:"অবতার সম্পাদনা"},agShareQr:{en:"Share QR",bn:"QR শেয়ার করুন"},agCustomerKyc:{en:"Customer KYC",bn:"গ্রাহক KYC"},agAnalytics:{en:"Analytics",bn:"বিশ্লেষণ"},agNotifications:{en:"Notifications",bn:"বিজ্ঞপ্তি"},agBackHome:{en:"Back to Home",bn:"হোমে ফিরে যান"},agSignOut:{en:"Sign Out",bn:"সাইন আউট"},agAgentPortal:{en:"Agent Portal",bn:"এজেন্ট পোর্টাল"},agChangeAvatar:{en:"Change Avatar",bn:"অবতার পরিবর্তন"},agChoosePhoto:{en:"Choose Photo",bn:"ছবি নির্বাচন"},agUploading:{en:"Uploading...",bn:"আপলোড হচ্ছে..."},agSaveAvatar:{en:"Save Avatar",bn:"অবতার সংরক্ষণ"},agCustomerKycStatus:{en:"Customer KYC Status",bn:"গ্রাহক KYC অবস্থা"},agCustomersOnboarded:{en:"Customers Onboarded",bn:"যুক্ত গ্রাহক"},agRegistered:{en:"Registered",bn:"নিবন্ধিত"},agKycVerified:{en:"KYC Verified",bn:"KYC যাচাইকৃত"},agKycTrackingSoon:{en:"Detailed customer KYC tracking will be available soon.",bn:"বিস্তারিত গ্রাহক KYC ট্র্যাকিং শীঘ্রই আসছে।"},agNotifPrefs:{en:"Notification Preferences",bn:"বিজ্ঞপ্তি পছন্দ"},agActive:{en:"active",bn:"সক্রিয়"},ahSearch:{en:"Search",bn:"অনুসন্ধান"},ahToggleDark:{en:"Toggle dark mode",bn:"ডার্ক মোড টগল"},availableLabel:{en:"Available",bn:"উপলব্ধ"},showQrCode:{en:"Show QR Code",bn:"QR কোড দেখান"},copyWalletId:{en:"Copy Wallet ID",bn:"ওয়ালেট আই
187ডি কপি"},hideBalance:{en:"Hide balance",bn:"ব্যালেন্স লুকান"},addMoneyTitle:{en:"Add Money",bn:"টাকা যোগ"},shareWallet:{en:"Share QR / Wallet ID",bn:"QR / ওয়ালেট আইডি শেয়ার"},frhTitle:{en:"My Fund Requests",bn:"আমার ফান্ড অনুরোধ"},frhEmpty:{en:"No requests yet",bn:"এখনো কোনো অনুরোধ নেই"},frhEmptyHint:{en:"Your deposit & withdrawal requests will appear here",bn:"আপনার জমা ও উত্তোলনের অনুরোধ এখানে দেখাবে"},frhAdminNote:{en:"Admin Note",bn:"অ্যাডমিন নোট"},frhViewProof:{en:"View Proof",bn:"প্রমাণ দেখুন"},frhAddMoney:{en:"Add Money",bn:"টাকা যোগ"},frhBankTransfer:{en:"Bank Transfer",bn:"ব্যাংক ট্রান্সফার"},frhMethod:{en:"Method",bn:"পদ্ধতি"},frhBank:{en:"Bank",bn:"ব্যাংক"},frhAccount:{en:"Account",bn:"অ্যাকাউন্ট"},frhHolder:{en:"Holder",bn:"হোল্ডার"},frhTxnId:{en:"TXN ID",bn:"লেনদেন আইডি"},frhStatusPending:{en:"Pending",bn:"অপেক্ষমাণ"},frhStatusApproved:{en:"Approved",bn:"অনুমোদিত"},frhStatusRejected:{en:"Rejected",bn:"প্রত্যাখ্যাত"},buTitle:{en:"Blocked Users",bn:"ব্লক করা ব্যবহারকারী"},buSubtitle:{en:"Manage users you've blocked from messaging",bn:"মেসেজিং থেকে ব্লক করা ব্যবহারকারী পরিচালনা করুন"},buEmpty:{en:"No blocked users",bn:"কোনো ব্লক করা ব্যবহারকারী নেই"},buEmptyHint:{en:"Users you block from chat will appear here",bn:"চ্যাট থেকে ব্লক করা ব্যবহারকারীরা এখানে দেখাবে"},buUnblock:{en:"Unblock",bn:"আনব্লক"},buUnblocked:{en:"User unblocked",bn:"ব্যবহারকারী আনব্লক হয়েছে"},buUnknown:{en:"Unknown",bn:"অজানা"},tlDriveCashback:{en:"Drive Cashback",bn:"ড্রাইভ ক্যাশব্যাক"},tlPending:{en:"Pending",bn:"অপেক্ষমাণ"},tlRejected:{en:"Rejected",bn:"প্রত্যাখ্যাত"},tlEmptyHint:{en:"Your transactions will appear here",bn:"আপনার লেনদেন এখানে দেখাবে"},qaResetOrder:{en:"Reset order",bn:"ক্রম রিসেট"},qaMoreServices:{en:"More Services",bn:"আরও সেবা"},qaSoon:{en:"Soon",bn:"শীঘ্রই"},qaComingSoon:{en:"Coming soon!",bn:"শীঘ্রই আসছে!"},qaUnavailable:{en:"{label} is temporarily unavailable",bn:"{label} সাময়িকভাবে অনুপলব্ধ"},qaDisabledDesc:{en:"This feature has been disabled by the system. Please try again later.",bn:"এই ফিচারটি সিস্টেম দ্বারা নিষ্ক্রিয় করা হয়েছে। পরে আবার চেষ্টা করুন।"},qaFeatureComingSoon:{en:"{label} coming soon!",bn:"{label} শীঘ্রই আসছে!"},floTitle:{en:"Feature Restricted",bn:"ফিচার সীমাবদ্ধ"},floCurrentlyLocked:{en:"{name} is currently locked",bn:"{name} বর্তমানে লক করা"},floIsLocked:{en:"{name} is Locked",bn:"{name} লক করা"},floDesc:{en:"This feature has been temporarily restricted on your account by an administrator.",bn:"একজন প্রশাসক আপনার অ্যাকাউন্টে এই ফিচারটি সাময়িকভাবে সীমাবদ্ধ করেছেন।"},floReason:{en:"Reason",bn:"কারণ"},floExpires:{en:"Expires",bn:"মেয়াদ শেষ"},floContactSupport:{en:"Contact support if you believe this is an error.",bn:"এটি ভুল মনে হলে সাপোর্টের সাথে যোগাযোগ করুন।"},floGoBack:{en:"Go Back",bn:"ফিরে যান"},ncMarkFilter:{en:"Mark filter",bn:"ফিল্টার চিহ্নিত"},ncNoMatching:{en:"No matching notifications",bn:"কোনো মিলে যাওয়া বিজ্ঞপ্তি নেই"},ncTryDifferent:{en:"Try a different filter",bn:"অন্য ফিল্টার চেষ্টা করুন"},ncUnreadOrderUpdates:{en:"{n} unread order updates →",bn:"{n}টি অপঠিত অর্ডার আপডেট →"},ncUnreadOrderUpdate:{en:"{n} unread order update →",bn:"{n}টি অপঠিত অর্ডার আপডেট →"},ncTapForDetails:{en:"Tap for details",bn:"বিস্তারিত দেখতে ট্যাপ"},ncViewOrder:{en:"View order →",bn:"অর্ডার দেখুন →"},ncMarkAsRead:{en:"Mark as read",bn:"পঠিত হিসাবে চিহ্নিত"},ncClose:{en:"Close",bn:"বন্ধ"}
187,ncCouponCopied:{en:"Coupon code copied!",bn:"কুপন কোড কপি হয়েছে!"},ncCopy:{en:"Copy",bn:"কপি"},ncReference:{en:"Reference",bn:"রেফারেন্স"},ncTracking:{en:"Tracking",bn:"ট্র্যাকিং"},wpTitle:{en:"Wishlist",bn:"উইশলিস্ট"},wpItems:{en:"items",bn:"আইটেম"},wpEmpty:{en:"Your wishlist is empty",bn:"আপনার উইশলিস্ট খালি"},wpBrowse:{en:"Browse Products",bn:"পণ্য ব্রাউজ করুন"},ipTitle:{en:"Insurance",bn:"বীমা"},ipCoverageAmount:{en:"Coverage Amount",bn:"কভারেজ পরিমাণ"},ipPremium:{en:"Premium",bn:"প্রিমিয়াম"},ipDuration:{en:"Duration",bn:"মেয়াদ"},ipMonths:{en:"months",bn:"মাস"},ipMoSuffix:{en:"/mo",bn:"/মাস"},ipBenefits:{en:"Benefits",bn:"সুবিধা"},ipPurchaseFor:{en:"Purchase for ৳{amount}/mo",bn:"৳{amount}/মাস দিয়ে কিনুন"},ipBrowsePlans:{en:"Browse Plans",bn:"প্ল্যান দেখুন"},ipMyPolicies:{en:"My Policies",bn:"আমার পলিসি"},ipCoverage:{en:"Coverage",bn:"কভারেজ"},ipTapDetails:{en:"Tap to view details →",bn:"বিস্তারিত দেখতে ট্যাপ →"},ipNoPolicies:{en:"No active policies",bn:"কোনো সক্রিয় পলিসি নেই"},ipExpires:{en:"Expires",bn:"মেয়াদ শেষ"},ipCatLife:{en:"Life",bn:"লাইফ"},ipCatHealth:{en:"Health",bn:"স্বাস্থ্য"},ipCatAccident:{en:"Accident",bn:"দুর্ঘটনা"},ipCatDevice:{en:"Device",bn:"ডিভাইস"},ipToastFailed:{en:"Failed to purchase plan",bn:"প্ল্যান ক্রয় ব্যর্থ"},ipToastActivated:{en:"Insurance plan activated!",bn:"বীমা প্ল্যান সক্রিয় হয়েছে!"},ipToastKyc:{en:"Please complete KYC verification to use this feature.",bn:"এই ফিচার ব্যবহার করতে KYC যাচাই সম্পন্ন করুন।"},ipToastSignIn:{en:"Please sign in first",bn:"প্রথমে সাইন ইন করুন"},ipPinTitle:{en:"Confirm insurance purchase",bn:"বীমা ক্রয় নিশ্চিত করুন"},ipPolStatusActive:{en:"Active",bn:"সক্রিয়"},ipPolStatusExpired:{en:"Expired",bn:"মেয়াদোত্তীর্ণ"}
187,ipPolStatusCancelled:{en:"Cancelled",bn:"বাতিল"},ipPolStatusPending:{en:"Pending",bn:"অপেক্ষমাণ"},ipPlanBasicLife:{en:"Basic Life Cover",bn:"বেসিক লাইফ কভার"},ipPlanPremiumLife:{en:"Premium Life Cover",bn:"প্রিমিয়াম লাইফ কভার"},ipPlanEssentialHealth:{en:"Essential Health",bn:"এসেনশিয়াল হেলথ"},ipPlanCompleteHealth:{en:"Complete Health",bn:"কমপ্লিট হেলথ"},ipPlanPersonalAccident:{en:"Personal Accident",bn:"পার্সোনাল অ্যাক্সিডেন্ট"},ipPlanFamilyAccident:{en:"Family Accident",bn:"ফ্যামিলি অ্যাক্সিডেন্ট"},ipPlanPhoneProtection:{en:"Phone Protection",bn:"ফোন প্রোটেকশন"},ipPlanGadgetShield:{en:"Gadget Shield",bn:"গ্যাজেট শিল্ড"},ipBenBasicLife1:{en:"Death benefit ৳1,00,000",bn:"মৃত্যু সুবিধা ৳১,০০,০০০"},ipBenBasicLife2:{en:"Accident cover included",bn:"দুর্ঘটনা কভার অন্তর্ভুক্ত"},ipBenBasicLife3:{en:"No medical exam required",bn:"কোনো মেডিকেল পরীক্ষা প্রয়োজন নেই"},ipBenPremiumLife1:{en:"Death benefit ৳5,00,000",bn:"মৃত্যু সুবিধা ৳৫,০০,০০০"},ipBenPremiumLife2:{en:"Critical illness rider",bn:"মারাত্মক অসুস্থতা রাইডার"},ipBenPremiumLife3:{en:"Family coverage",bn:"পরিবার কভারেজ"},ipBenPremiumLife4:{en:"24/7 claim support",bn:"২৪/৭ ক্লেইম সাপোর্ট"},ipBenEssentialHealth1:{en:"Hospitalization cover",bn:"হাসপাতালে ভর্তি কভার"},ipBenEssentialHealth2:{en:"Medicine reimbursement",bn:"ওষুধ পরিশোধ"},ipBenEssentialHealth3:{en:"Lab test coverage",bn:"ল্যাব টেস্ট কভারেজ"},ipBenCompleteHealth1:{en:"Full hospitalization",bn:"সম্পূর্ণ হাসপাতালে ভর্তি"},ipBenCompleteHealth2:{en:"Surgery cover",bn:"সার্জারি কভার"},ipBenCompleteHealth3:{en:"OPD benefits",bn:"ওপিডি সুবিধা"},ipBenCompleteHealth4:{en:"Dental & vision",bn:"ডেন্টাল ও ভিশন"},ipBenPersonalAccident1:{en:"Accidental death benefit",bn:"দুর্ঘটনাজনিত মৃত্যু সুবিধা"},ipBenPersonalAccident2:{en:"Disability cover",bn:"অক্ষমতা কভার"},ipBenPersonalAccident3:{en:"Medical expenses",bn:"চিকিৎসা খরচ"},ipBenFamilyAccident1:{en:"Family coverage up to 4",bn:"পরিবার কভারেজ ৪ জন পর্যন্ত"},ipBenFamilyAccident2:{en:"Accidental death benefit",bn:"দুর্ঘটনাজনিত মৃত্যু সুবিধা"},ipBenFamilyAccident3:{en:"Hospital cash",bn:"হাসপাতাল ক্যাশ"},ipBenFamilyAccident4:{en:"Ambulance charges",bn:"অ্যাম্বুলেন্স চার্জ"},ipBenPhoneProtection1:{en:"Screen damage",bn:"স্ক্রিন ক্ষতি"},ipBenPhoneProtection2:{en:"Water damage",bn:"পানির ক্ষতি"},ipBenPhoneProtection3:{en:"Theft protection",bn:"চুরি সুরক্ষা"},ipBenGadgetShield1:{en:"Covers phone + laptop",bn:"ফোন + ল্যাপটপ কভার করে"},ipBenGadgetShield2:{en:"Accidental damage",bn:"দুর্ঘটনাজনিত ক্ষতি"},ipBenGadgetShield3:{en:"Theft & loss",bn:"চুরি ও ক্ষতি"},ipBenGadgetShield4:{en:"Worldwide coverage",bn:"বিশ্বব্যাপী কভারেজ"},coPleaseLogIn:{en:"Please log in to see your orders",bn:"আপনার অর্ডার দেখতে অনুগ্রহ করে লগ ইন করুন"},coLogIn:{en:"Log In",bn:"লগ ইন"},coInvoice:{en:"Invoice",bn:"ইনভয়েস"},coRateReview:{en:"Rate & Review",bn:"রেট ও রিভিউ"},odFundsHeld:{en:"Funds Held in Escrow",bn:"এসক্রোতে অর্থ ধরে রাখা হয়েছে"},odFundsReleased:{en:"Funds Released to Vendor",bn:"বিক্রেতাকে অর্থ প্রদান করা হয়েছে"},odRefundedToWallet:{en:"Refunded to Wallet",bn:"ওয়ালেটে ফেরত"},odReturnDefective:{en:"Defective or damaged product",bn:"ত্রুটিপূর্ণ বা ক্ষতিগ্রস্ত পণ্য"},odReturnWrong:{en:"Wrong item received",bn:"ভুল পণ্য পেয়েছি"},odReturnNotAsDescribed:{en:"Product not as described",bn:"বিবরণ অনুযায়ী পণ্য নয়"},odReturnChangedMind:{en:"Changed my mind",bn:"মন পরিবর্তন করেছি"},odReturnQuality:{en:"Quality not satisfactory",bn:"মান সন্তোষজনক নয়"},odReturnOther:{en:"Other",bn:"অন্যান্য"},odCancelSuccess:{en:"Order cancelled · Refund will be processed within 24 hours",bn:"অর্ডার বাতিল · ২৪ ঘণ্টার মধ্যে রিফান্ড প্রসেস হবে"},odCancelFailed:{en:"Failed to cancel order",bn:"অর্ডার বাতিল ব্যর্থ"},odReturnSubmitted:{en:"Return request submitted",bn:"রিটার্ন অনুরোধ জমা হয়েছে"},odReturnSubmitFailed:{en:"Failed to submit return request",bn:"রিটার্ন অনুরোধ জমা ব্যর্থ"},odPleaseLogInOrder:{en:"Please log in to view this order",bn:"এই অর্ডার দেখতে অনুগ্রহ করে লগ ইন করুন"},odOrderNotFound:{en:"Order not found",bn:"অর্ডার পাওয়া যায়নি"},odBackToOrders:{en:"Back to Orders",bn:"অর্ডারে ফিরে যান"},odOrderTracking:{en:"Order Tracking",bn:"অর্ডার ট্র্যাকিং"},odTracking:{en:"Tracking",bn:"ট্র্যাকিং"}
187,odTrack:{en:"Track",bn:"ট্র্যাক"},odEstimatedDelivery:{en:"Estimated delivery",bn:"আনুমানিক ডেলিভারি"},odOrderCancelled:{en:"Order Cancelled",bn:"অর্ডার বাতিল"},odRefund24h:{en:"Refund will be processed within 24 hours",bn:"২৪ ঘণ্টার মধ্যে রিফান্ড প্রসেস হবে"},odReturnApproved:{en:"Return Approved",bn:"রিটার্ন অনুমোদিত"},odReturnRejected:{en:"Return Rejected",bn:"রিটার্ন প্রত্যাখ্যাত"},odReturnRequested:{en:"Return Requested",bn:"রিটার্ন অনুরোধকৃত"},odItems:{en:"Items",bn:"পণ্য"},odQty:{en:"Qty",bn:"পরিমাণ"},odPaymentSummary:{en:"Payment Summary",bn:"পেমেন্ট সারাংশ"},odSubtotal:{en:"Subtotal",bn:"সাবটোটাল"},odCouponDiscount:{en:"Coupon Discount",bn:"কুপন ছাড়"},odDelivery:{en:"Delivery",bn:"ডেলিভারি"},odFree:{en:"Free",bn:"ফ্রি"},odTotal:{en:"Total",bn:"মোট"},odPaidViaWallet:{en:"Paid via EasyPay Wallet",bn:"ইজিপে ওয়ালেটে পরিশোধ"},odPaidViaCard:{en:"Paid via Card",bn:"কার্ডে পরিশোধ"},odShippingDetails:{en:"Shipping Details",bn:"শিপিং বিবরণ"},odDownloadInvoice:{en:"Download Invoice",bn:"ইনভয়েস ডাউনলোড"},odPrint:{en:"Print",bn:"প্রিন্ট"},odCancelOrder:{en:"Cancel Order",bn:"অর্ডার বাতিল"},odRequestReturn:{en:"Request Return",bn:"রিটার্ন অনুরোধ"},odRequestReturnTitle:{en:"Request a Return",bn:"রিটার্ন অনুরোধ করুন"},odReasonForReturn:{en:"Reason for return",bn:"রিটার্নের কারণ"},odSelectReason:{en:"Select a reason...",bn:"কারণ নির্বাচন করুন..."},odAdditionalDetails:{en:"Additional details (optional)",bn:"অতিরিক্ত বিবরণ (ঐচ্ছিক)"},odDescribeIssue:{en:"Describe the issue...",bn:"সমস্যা বর্ণনা করুন..."},odSubmitReturn:{en:"Submit Return Request",bn:"রিটার্ন অনুরোধ জমা দিন"},dqpSessionNotFound:{en:"Session Not Found",bn:"সেশন পাওয়া যায়নি"},dqpSessionNotFoundDesc:{en:"This payment session does not exist or has been removed.",bn:"এই পেমেন্ট সেশন নেই বা সরানো হয়েছে।"},dqpSomethingWrong:{en:"Something Went Wrong",bn:"কিছু ভুল হয়েছে"},dqpCouldNotLoad:{en:"Could not load this payment session. Please try again.",bn:"এই পেমেন্ট সেশন লোড করা যায়নি। আবার চেষ্টা করুন।"},dqpRetry:{en:"Retry",bn:"আবার চেষ্টা"},dqpRef:{en:"Ref",bn:"রেফ"},dqpScanWith:{en:"Scan with",bn:"স্ক্যান করুন"},dqpToPay:{en:"app to pay",bn:"অ্যাপ দিয়ে পেমেন্ট করতে"},dqpWaiting:{en:"Waiting for payment…",bn:"পেমেন্টের অপেক্ষায়…"},dqpPayWithEasyPay:{en:"Pay with EasyPay",bn:"ইজিপে দিয়ে পরিশোধ"},dqpPaymentReceived:{en:"Payment Received!",bn:"পেমেন্ট গৃহীত!"},dqpPaidSuccess:{en:"paid successfully",bn:"সফলভাবে পরিশোধিত"},dqpRedirecting:{en:"Redirecting…",bn:"রিডাইরেক্ট করা হচ্ছে…"},dqpSessionExpired:{en:"Session Expired",bn:"সেশনের মেয়াদ শেষ"},dqpSessionExpiredDesc:{en:"This payment session has expired.",bn:"এই পেমেন্ট সেশনের মেয়াদ শেষ হয়েছে।"},dqpPoweredBy:{en:"Powered by EasyPay",bn:"পাওয়ার্ড বাই ইজিপে"},dqpPaymentQrAlt:{en:"Payment QR Code",bn:"পেমেন্ট QR কোড"},vspStoreNotFound:{en:"Store not found",bn:"দোকান পাওয়া যায়নি"},vspSearchStore:{en:"Search this store...",bn:"এই দোকানে খুঁজুন..."},vspNoProducts:{en:"No products found",bn:"কোনো পণ্য পাওয়া যায়নি"},mspBack:{en:"Back",bn:"ফিরে যান"},mspPinResetLive:{en:"PIN reset · Live support",bn:"পিন রিসেট · লাইভ সহায়তা"},mspMerchantLive:{en:"Merchant Live Support",bn:"মার্চেন্ট লাইভ সহায়তা"},mspVerifiedGuest:{en:"Verified guest",bn:"যাচাইকৃত অতিথি"},mspEndToEnd:{en:"End-to-end encrypted",bn:"এন্ড-টু-এন্ড এনক্রিপ্টেড"},mspVerified:{en:"Verified",bn:"যাচাইকৃত"},mspSecure:{en:"Secure",bn:"নিরাপদ"},mspOpenChat:{en:"Open chat",bn:"চ্যাট খুলুন"},mspCollapseChat:{en:"Collapse chat",bn:"চ্যাট সংকুচিত"}
187,mspExpandChat:{en:"Expand chat",bn:"চ্যাট প্রসারিত"},mspTapReopen:{en:"PIN reset · Tap to reopen chat",bn:"পিন রিসেট · চ্যাট আবার খুলতে ট্যাপ করুন"},mspSignInTitle:{en:"Sign in to continue your support chat",bn:"সহায়তা চ্যাট চালিয়ে যেতে সাইন ইন করুন"},mspSignInDesc:{en:"You'll need to sign in to your EasyPay account so we can chat with you securely.",bn:"আপনার ইজিপে অ্যাকাউন্টে সাইন ইন করুন যাতে আমরা নিরাপদে চ্যাট করতে পারি।"},mspForgotPin:{en:'Forgot your PIN? Use the "Forgot PIN" option on the merchant login.',bn:'পিন ভুলে গেছেন? মার্চেন্ট লগইনে "পিন ভুলে গেছি" অপশন ব্যবহার করুন।'},mspSignInEasyPay:{en:"Sign in to EasyPay",bn:"ইজিপে-তে সাইন ইন"},mspBackToMerchantLogin:{en:"Back to merchant login",bn:"মার্চেন্ট লগইনে ফিরে যান"},mspSessionExpired:{en:"Your verification expired. Please request a new code.",bn:"আপনার যাচাইয়ের মেয়াদ শেষ। নতুন কোড অনুরোধ করুন।"},spSellingFast:{en:"Selling fast",bn:"দ্রুত বিক্রি হচ্ছে"},spFlashSale:{en:"⚡ Flash Sale",bn:"⚡ ফ্ল্যাশ সেল"},spEndsIn:{en:"Ends in",bn:"শেষ হচ্ছে"},spSafePayment:{en:"Safe Payment",bn:"নিরাপদ পেমেন্ট"},spFastDelivery:{en:"Fast Delivery",bn:"দ্রুত ডেলিভারি"},spFreeReturn:{en:"Free Return",bn:"ফ্রি রিটার্ন"},spNewArrivals:{en:"New Arrivals",bn:"নতুন সংযোজন"},spTrendingNow:{en:"Trending Now",bn:"এখন জনপ্রিয়"},spSeeAll:{en:"See All",bn:"সব দেখুন"},spAllProducts:{en:"All Products",bn:"সকল পণ্য"},spPopular:{en:"Popular",bn:"জনপ্রিয়"},spNewest:{en:"Newest",bn:"নতুনতম"},spPriceLow:{en:"Price: Low → High",bn:"দাম: কম → বেশি"},spPriceHigh:{en:"Price: High → Low",bn:"দাম: বেশি → কম"},spTopRated:{en:"Top Rated",bn:"শীর্ষ রেটেড"},spProduct:{en:"product",bn:"পণ্য"},spProducts:{en:"products",bn:"পণ্য"},spNoProductsFound:{en:"No products found",bn:"কোনো পণ্য পাওয়া যায়নি"},spRecommendedForYou:{en:"Recommended For You",bn:"আপনার জন্য প্রস্তাবিত"},spRecentlyViewed:{en:"Recently Viewed",bn:"সম্প্রতি দেখা"},spStore:{en:"Store",bn:"স্টোর"},pdpProductNotFound:{en:"Product not found",bn:"পণ্য পাওয়া যায়নি"},pdpProduct:{en:"Product",bn:"পণ্য"},pdpYouSave:{en:"You save",bn:"আপনি সাশ্রয় করেছেন"},pdpReviews:{en:"reviews",bn:"রিভিউ"},pdpOnlyLeft:{en:"Only {n} left!",bn:"মাত্র {n} বাকি!"},pdpHurryUp:{en:"Hurry up",bn:"তাড়াতাড়ি করুন"},pdpVisitStore:{en:"Visit Store",bn:"দোকান দেখুন"},pdpInStock:{en:"In Stock",bn:"স্টকে আছে"},pdpOutOfStock:{en:"Out of Stock",bn:"স্টক শেষ"},pdpAvailable:{en:"available",bn:"উপলব্ধ"},pdpKeyHighlights:{en:"Key Highlights",bn:"মূল বৈশিষ্ট্য"},pdpFreeDelivery:{en:"Free Delivery",bn:"ফ্রি ডেলিভারি"},pdpEstimated:{en:"Estimated",bn:"আনুমানিক"},pdpCOD:{en:"Cash on Delivery Available",bn:"ক্যাশ অন ডেলিভারি সুবিধা"},pdpEasyReturn:{en:"Easy Return",bn:"সহজ রিটার্ন"},pdpReturnPolicy:{en:"14 days return policy",bn:"১৪ দিনের রিটার্ন পলিসি"},pdpAuthentic:{en:"100% Authentic",bn:"১০০% আসল"},pdpGenuine:{en:"Genuine product guarantee",bn:"আসল পণ্যের গ্যারান্টি"},pdpDescription:{en:"Description",bn:"বিবরণ"},pdpSpecifications:{en:"Specifications",bn:"স্পেসিফিকেশন"},pdpReviewsTab:{en:"Reviews",bn:"রিভিউ"},pdpProductDetails:{en:"Product Details",bn:"পণ্যের বিবরণ"},pdpNoDescription:{en:"No description available.",bn:"কোনো বিবরণ পাওয়া যায়নি।"},pdpCategory:{en:"Category",bn:"বিভাগ"},pdpBrand:{en:"Brand",bn:"ব্র্যান্ড"},pdpSku:{en:"SKU",bn:"এসকেইউ"},pdpStock:{en:"Stock",bn:"স্টক"},pdpUnits:{en:"units",bn:"ইউনিট"},pdpMoreFromStore:{en:"More from this Store",bn:"এই দোকানের আরও পণ্য"},pdpYouMayLike:{en:"You May Also Like",bn:"আপনার পছন্দ হতে পারে"},pdpAdded:{en:"Added!",bn:"যোগ হয়েছে!"},pdpAddToCart:{en:"Add to Cart",bn:"কার্টে যোগ করুন"},pdpBuyNow:{en:"Buy Now",bn:"এখনই কিনুন"},pdpSeller:{en:"Seller",bn:"বিক্রেতা"},pdpTyping:{en:"typing...",bn:"টাইপ করছে..."},pdpOnline:{en:"Online",bn:"অনলাইন"},pdpOffline:{en:"Offline",bn:"অফলাইন"},pdpProductInquiry:{en:"Product inquiry",bn:"পণ্য জিজ্ঞাসা"},pdpNoMessages:{en:"No messages yet",bn:"কোনো বার্তা নেই"}
187,pdpTypeMessage:{en:"Type a message...",bn:"একটি বার্তা লিখুন..."},pdpIsTyping:{en:"is typing…",bn:"টাইপ করছে…"},pdpSeeAll:{en:"See All",bn:"সব দেখুন"},pdpLoginToChat:{en:"Please log in to chat with the seller",bn:"বিক্রেতার সাথে চ্যাট করতে লগইন করুন"},pdpMerchantUnavailable:{en:"Merchant info unavailable",bn:"মার্চেন্টের তথ্য নেই"},pdpOwnStore:{en:"This is your own store",bn:"এটি আপনার নিজের দোকান"},pdpConvFailed:{en:"Could not start conversation",bn:"কথোপকথন শুরু করা যায়নি"},pdpChatFailed:{en:"Failed to start chat",bn:"চ্যাট শুরু করতে ব্যর্থ"},pdpSendFailed:{en:"Failed to send",bn:"পাঠাতে ব্যর্থ"},pdpInquiryAbout:{en:"Inquiry about",bn:"সম্পর্কে জিজ্ঞাসা"},scpAlreadyApplied:{en:"Already applied",bn:"ইতিমধ্যে প্রয়োগ করা হয়েছে"},scpInvalidCoupon:{en:"Invalid coupon code",bn:"অবৈধ কুপন কোড"},scpDiscountApplied:{en:"off applied!",bn:"ছাড় প্রয়োগ হয়েছে!"},scpFailedValidate:{en:"Failed to validate coupon",bn:"কুপন যাচাই ব্যর্থ"},scpEnterPin:{en:"Enter your 4-digit PIN.",bn:"আপনার ৪-সংখ্যার পিন লিখুন।"},scpSelectAddress:{en:"Please select a delivery address",bn:"একটি ডেলিভারি ঠিকানা নির্বাচন করুন"},scpIncorrectPin:{en:"Incorrect PIN. Please try again.",bn:"ভুল পিন। আবার চেষ্টা করুন।"},scpInsufficientBalance:{en:"Insufficient wallet balance",bn:"ওয়ালেট ব্যালেন্স অপর্যাপ্ত"},scpPaymentFailed:{en:"Payment failed",bn:"পেমেন্ট ব্যর্থ"},scpOrderPlaced:{en:"Order Placed!",bn:"অর্ডার সম্পন্ন!"},scpOrderConfirmed:{en:"Order Confirmed!",bn:"অর্ডার নিশ্চিত!"},scpOrderSuccess:{en:"Your order has been placed successfully",bn:"আপনার অর্ডার সফলভাবে সম্পন্ন হয়েছে"},scpDeliveryInfo:{en:"Delivery Info",bn:"ডেলিভারি তথ্য"},scpEstDays:{en:"Estimated 3-5 business days",bn:"আনুমানিক ৩-৫ কার্যদিবস"},scpPayOnDelivery:{en:"Pay ৳{n} on delivery",bn:"ডেলিভারিতে ৳{n} পরিশোধ করুন"},scpDeductedWallet:{en:"৳{n} deducted from wallet",bn:"ওয়ালেট থেকে ৳{n} কাটা হয়েছে"},scpViewOrder:{en:"View Order",bn:"অর্ডার দেখুন"},scpContinueShopping:{en:"Continue Shopping",bn:"কেনাকাটা চালিয়ে যান"},scpCheckout:{en:"Checkout",bn:"চেকআউট"},scpItems:{en:"items",bn:"আইটেম"},scpDeliveryAddress:{en:"Delivery Address",bn:"ডেলিভারি ঠিকানা"},scpPaymentMethod:{en:"Payment Method",bn:"পেমেন্ট পদ্ধতি"},scpEasyPayWallet:{en:"EasyPay Wallet",bn:"ইজিপে ওয়ালেট"},scpBalance:{en:"Balance",bn:"ব্যালেন্স"},scpComingSoon:{en:"Coming Soon",bn:"শীঘ্রই আসছে"},scpPmWalletLabel:{en:"EasyPay Wallet",bn:"ইজিপে ওয়ালেট"},scpPmWalletDesc:{en:"Pay from your EasyPay balance",bn:"আপনার ইজিপে ব্যালেন্স থেকে পরিশোধ করুন"},scpPmCodLabel:{en:"Cash on Delivery",bn:"ক্যাশ অন ডেলিভারি"},scpPmCodDesc:{en:"Pay when you receive your order",bn:"অর্ডার হাতে পেয়ে পরিশোধ করুন"},scpPmBkashLabel:{en:"bKash",bn:"বিকাশ"},scpPmBkashDesc:{en:"Pay via bKash mobile banking",bn:"বিকাশ মোবাইল ব্যাংকিং দিয়ে পরিশোধ করুন"},scpPmNagadLabel:{en:"Nagad",bn:"নগদ"},scpPmNagadDesc:{en:"Pay via Nagad mobile banking",bn:"নগদ মোবাইল ব্যাংকিং দিয়ে পরিশোধ করুন"},scpPmRocketLabel:{en:"Rocket",bn:"রকেট"},scpPmRocketDesc:{en:"Pay via Rocket mobile banking",bn:"রকেট মোবাইল ব্যাংকিং দিয়ে পরিশোধ করুন"}
187,scpPmCardLabel:{en:"Credit/Debit Card",bn:"ক্রেডিট/ডেবিট কার্ড"},scpPmCardDesc:{en:"Pay with Visa or Mastercard",bn:"ভিসা বা মাস্টারকার্ড দিয়ে পরিশোধ করুন"},scpInsufficientNeed:{en:"Insufficient balance. Need à§³{n} more.",bn:"ব্যালেন্স অপর্যাপ্ত। আরও à§³{n} প্রয়োজন।"},scpCodNote:{en:"No advance payment required. Pay à§³{n} on delivery.",bn:"অগ্রিম পেমেন্টের প্রয়োজন নেই। ডেলিভারিতে à§³{n} পরিশোধ করুন।"},scpItemsLabel:{en:"Items",bn:"আইটেম"},scpQty:{en:"Qty",bn:"পরিমাণ"},scpPromoCode:{en:"Promo Code",bn:"প্রোমো কোড"},scpSaving:{en:"Saving",bn:"সাশ্রয়"},scpEnterPromo:{en:"Enter promo code",bn:"প্রোমো কোড লিখুন"},scpApply:{en:"Apply",bn:"প্রয়োগ"},scpOrderSummary:{en:"Order Summary",bn:"অর্ডার সারাংশ"},scpSubtotal:{en:"Subtotal",bn:"সাবটোটাল"},scpDiscount:{en:"Discount",bn:"ছাড়"},scpDelivery:{en:"Delivery",bn:"ডেলিভারি"},scpFree:{en:"FREE",bn:"ফ্রি"},scpEst:{en:"Est.",bn:"আনু."},scpVia:{en:"via",bn:"মাধ্যমে"},scpTotal:{en:"Total",bn:"মোট"},scpConfirmPin:{en:"Confirm PIN",bn:"পিন নিশ্চিত করুন"},scpConfirmPinDesc:{en:"Enter your 4-digit PIN to authorize this purchase",bn:"এই কেনাকাটা অনুমোদন করতে আপনার ৪-সংখ্যার পিন লিখুন"},scpPlaceCodOrder:{en:"Place COD Order",bn:"ক্যাশ অন ডেলিভারি অর্ডার দিন"},scpPlaceOrder:{en:"Place Order",bn:"অর্ডার দিন"},cpInvalidPhone:{en:"Enter a valid 11-digit number",bn:"একটি বৈধ à§§à§§-সংখ্যার নম্বর লিখুন"},cpFailedSendOtp:{en:"Failed to send OTP",bn:"ওটিপি পাঠাতে ব্যর্থ"},cpPaymentFailed:{en:"Payment failed",bn:"পেমেন্ট ব্যর্থ"},cpMerchant:{en:"Merchant",bn:"মার্চেন্ট"},cpAmountToPay:{en:"Amount to Pay",bn:"পরিশোধযোগ্য পরিমাণ"},cpRef:{en:"Ref",bn:"রেফ"},cpSecuredBy:{en:"Secured by EasyPay",bn:"ইজিপে দ্বারা সুরক্ষিত"},cpLoadingPayment:{en:"Loading payment...",bn:"পেমেন্ট লোড হচ্ছে..."},cpSessionExpired:{en:"Session Expired",bn:"সেশনের মেয়াদ শেষ"},cpRequestNewLink:{en:"Please request a new payment link from the merchant.",bn:"মার্চেন্টের কাছ থেকে নতুন পেমেন্ট লিংক অনুরোধ করুন।"},cpGoBack:{en:"Go Back",bn:"ফিরে যান"},cpInvalidSession:{en:"Invalid Session",bn:"অবৈধ সেশন"},cpLinkInvalid:{en:"This payment link is invalid or no longer available.",bn:"এই পেমেন্ট লিংকটি অবৈধ বা আর উপলব্ধ নেই।"},cpGoHome:{en:"Go Home",bn:"হোমে যান"},cpPhoneNumber:{en:"Phone Number",bn:"ফোন নম্বর"},cpSendOtp:{en:"Send OTP",bn:"ওটিপি পাঠান"},cpCancel:{en:"Cancel",bn:"বাতিল"},cpBack:{en:"Back",bn:"পিছনে"},cpEnterOtp:{en:"Enter OTP",bn:"ওটিপি লিখুন"},cpOtpSentTo:{en:"A 6-digit code was sent to",bn:"একটি ৬-সংখ্যার কোড পাঠানো হয়েছে"},cpDevOtp:{en:"Dev OTP",bn:"ডেভ ওটিপি"},cpResendIn:{en:"Resend in",bn:"পুনরায় পাঠান"},cpResendOtp:{en:"Resend OTP",bn:"ওটিপি পুনরায় পাঠান"},cpTo:{en:"to",bn:"প্রাপক"},cpEnterPin:{en:"Enter your PIN",bn:"আপনার পিন লিখুন"},cpConfirmPin:{en:"Confirm with your 4-digit EasyPay PIN",bn:"আপনার ৪-সংখ্যার ইজিপে পিন দিয়ে নিশ্চিত করুন"},cpPay:{en:"Pay",bn:"পরিশোধ করুন"},cpProcessing:{en:"Processing payment...",bn:"পেমেন্ট প্রক্রিয়া চলছে..."},cpDontClose:{en:"Please don't close this page",bn:"অনুগ্রহ করে এই পৃষ্ঠাটি বন্ধ করবেন না"},cpPaymentSuccess:{en:"Payment Successful!",bn:"পেমেন্ট সফল!"},cpPaidTo:{en:"paid to",bn:"পরিশোধ করা হয়েছে"},cpRedirecting:{en:"Redirecting",bn:"রিডাইরেক্ট হচ্ছে"},cpToMerchant:{en:" to merchant",bn:" মার্চেন্টে"},cpFailedTitle:{en:"Payment Failed",bn:"পেমেন্ট ব্যর্থ"},cpSomethingWrong:{en:"Something went wrong.",bn:"কিছু ভুল হয়েছে।"},cpTryAgain:{en:"Try Again",bn:"আবার চেষ্টা করুন"},plLoading:{en:"Loading…",bn:"লোড হচ্ছে…"},plLinkUnavailable:{en:"Link unavailable",bn:"লিঙ্ক উপলব্ধ নেই"},plLinkNotExist:{en:"This payment link doesn't exist.",bn:"এই পেমেন্ট লিঙ্কটি বিদ্যমান নেই।"},plGoHome:{en:"Go home",bn:"হোমে যান"},plEnterValidAmount:{en:"Enter a valid amount",bn:"একটি বৈধ পরিমাণ লিখুন"},plOnlyRemaining:{en:"Only à§³{amount} remaining",bn:"কেবল à§³{amount} বাকি"},plPaymentFailed:{en:"Payment failed",bn:"পেমেন্ট ব্যর্থ"},plNoCheckoutUrl:{en:"No checkout URL returned",bn:"কোনো চেকআউট URL পাওয়া যায়নি"},plPaymentReceived:{en:"Payment received — updating…",bn:"পেমেন্ট গ্রহণ করা হয়েছে — à¦
187†à¦ªà¦¡à§‡à¦Ÿ হচ্ছে…"},plPaymentCancelled:{en:"Payment cancelled",bn:"পেমেন্ট বাতিল করা হয়েছে"},plStatusActive:{en:"Active",bn:"সক্রিয়"},plStatusProcessing:{en:"Processing",bn:"প্রক্রিয়াধীন"},plStatusPaid:{en:"Paid",bn:"পরিশোধিত"},plStatusExpired:{en:"Expired",bn:"মেয়াদোত্তীর্ণ"},plStatusFullyPaid:{en:"Fully paid",bn:"সম্পূর্ণ পরিশোধিত"},plStatusInactive:{en:"Inactive",bn:"নিষ্ক্রিয়"},plSeoTitle:{en:"Pay: {title}",bn:"পরিশোধ: {title}"},plSeoDesc:{en:"Pay {title} securely from your wallet.",bn:"{title}-কে আপনার ওয়ালেট থেকে নিরাপদে পরিশোধ করুন।"},plPaidTo:{en:"paid to {payee}",bn:"{payee}-কে পরিশোধিত"},plReference:{en:"Reference:",bn:"রেফারেন্স:"},plBackToApp:{en:"Back to app",bn:"অ্যাপে ফিরে যান"},plPaymentRequest:{en:"Payment request",bn:"পেমেন্ট অনুরোধ"},plFrom:{en:"from {name}",bn:"{name} থেকে"},plRequestedPaid:{en:"Requested / Paid",bn:"অনুরোধকৃত / পরিশোধিত"},plPaidSummary:{en:"à§³{req} · paid à§³{paid}",bn:"à§³{req} · পরিশোধিত à§³{paid}"},plRemaining:{en:"à§³{amount} remaining",bn:"à§³{amount} বাকি"},plLinkExpired:{en:"This link has expired.",bn:"এই লিঙ্কের মেয়াদ শেষ হয়েছে।"},plLinkExhausted:{en:"This link reached its use limit.",bn:"এই লিঙ্ক ব্যবহারের সীমায় পৌঁছেছে।"},plRequestFullyPaid:{en:"This request has been fully paid.",bn:"এই অনুরোধটি সম্পূর্ণভাবে পরিশোধিত হয়েছে।"},plLinkInactive:{en:"This link is no longer active.",bn:"এই লিঙ্কটি আর সক্রিয় নয়।"},plPayAmountBDT:{en:"Pay amount (BDT)",bn:"পরিমাণ (টাকা)"},plEnterAmountBDT:{en:"Enter amount (BDT)",bn:"পরিমাণ লিখুন (টাকা)"},plLeaveBlankFull:{en:"Leave blank to pay the full remaining à§³{amount}",bn:"সম্পূর্ণ বাকি à§³{amount} পরিশোধ করতে খালি রাখুন"},plProcessing:{en:"Processing…",bn:"প্রক্রিয়াধীন…"},plPayFromWallet:{en:"Pay à§³{amount} from wallet",bn:"ওয়ালেট থেকে à§³{amount} পরিশোধ করুন"},plSignInToPay:{en:"Sign in to pay",bn:"পরিশোধ করতে সাইন ইন করুন"},plOr:{en:"or",bn:"অথবা"},plRedirecting:{en:"Redirecting…",bn:"রিডাইরেক্ট হচ্ছে…"},plPayWithGateway:{en:"Pay with bKash / Nagad / Card",bn:"বিকাশ / নগদ / কার্ড দিয়ে পরিশোধ করুন"},plPaymentTimeline:{en:"Payment timeline",bn:"পেমেন্ট টাইমলাইন"},plLive:{en:"Live",bn:"লাইভ"},plNoPaymentsYet:{en:"No payments recorded yet.",bn:"এখনও কোনো পেমেন্ট রেকর্ড হয়নি।"},plRecipientFallback:{en:"recipient",bn:"প্রাপক"},plmcCreateTitle:{en:"Create Payment Link",bn:"পেমেন্ট লিঙ্ক তৈরি করুন"},plmcCreateSubtitle:{en:"Share with customers for remote payments",bn:"দূরবর্তী পেমেন্টের জন্য গ্রাহকদের সাথে শেয়ার করুন"},plmcAmountLabel:{en:"Amount (optional)",bn:"পরিমাণ (ঐচ্ছিক)"},plmcAmountPlaceholder:{en:"Leave empty for any amount",bn:"যেকোনো পরিমাণের জন্য খালি রাখুন"},plmcNoteLabel:{en:"Note / Description",bn:"নোট / বিবরণ"},plmcNotePlaceholder:{en:"e.g. Invoice #123, Order for blue shirt",bn:"যেমন Invoice #123, নীল শার্টের অর্ডার"},plmcGenerate:{en:"Generate Payment Link",bn:"পেমেন্ট লিঙ্ক তৈরি করুন"},plmcHowItWorks:{en:"How It Works",bn:"কীভাবে কাজ করে"}
187,plmcStep1Title:{en:"Create a link",bn:"একটি লিঙ্ক তৈরি করুন"},plmcStep1Desc:{en:"Set amount & note, generate a unique payment link",bn:"পরিমাণ ও নোট দিন, একটি অনন্য পেমেন্ট লিঙ্ক তৈরি করুন"},plmcStep2Title:{en:"Share with customer",bn:"গ্রাহকের সাথে শেয়ার করুন"},plmcStep2Desc:{en:"Send via SMS, WhatsApp, email, or any messenger",bn:"SMS, WhatsApp, ইমেইল বা যেকোনো মেসেঞ্জারে পাঠান"},plmcStep3Title:{en:"Get paid instantly",bn:"তাৎক্ষণিক পেমেন্ট পান"},plmcStep3Desc:{en:"Customer pays through the link, money hits your account",bn:"গ্রাহক লিঙ্কের মাধ্যমে পরিশোধ করলে টাকা সরাসরি আপনার অ্যাকাউন্টে আসে"},plmcYourLinks:{en:"Your Payment Links",bn:"আপনার পেমেন্ট লিঙ্ক"},plmcLinksCount:{en:"{count} links",bn:"{count} লিঙ্ক"},plmcOpenAmount:{en:"Open Amount",bn:"উন্মুক্ত পরিমাণ"},plmcActive:{en:"Active",bn:"সক্রিয়"},plmcRevoked:{en:"Revoked",bn:"প্রত্যাহৃত"},plmcPaidCount:{en:"{count} paid",bn:"{count} পরিশোধিত"},plmcRevoke:{en:"Revoke",bn:"প্রত্যাহার"},plmcReactivate:{en:"Reactivate",bn:"পুনরায় সক্রিয়"},plmcCopied:{en:"Copied!",bn:"কপি হয়েছে!"},plmcCopyLink:{en:"Copy Link",bn:"লিঙ্ক কপি করুন"},plmcShare:{en:"Share",bn:"শেয়ার"},plmcPaymentsReceived:{en:"{count} payments received",bn:"{count} পেমেন্ট প্রাপ্ত"},plmcNoPaymentsYet:{en:"No payments yet",bn:"এখনও কোনো পেমেন্ট নেই"},plmcCustomer:{en:"Customer",bn:"গ্রাহক"},plmcCreatedOn:{en:"Created {date}",bn:"তৈরি {date}"},plmcWhyTitle:{en:"Why Use Payment Links?",bn:"কেন পেমেন্ট লিঙ্ক ব্যবহার করবেন?"},plmcWhyRemote:{en:"Remote Payments",bn:"দূরবর্তী পেমেন্ট"},plmcWhyRemoteDesc:{en:"Accept payments from anywhere",bn:"যেকোনো জায়গা থেকে পেমেন্ট গ্রহণ করুন"},plmcWhyInstant:{en:"Instant Setup",bn:"তাৎক্ষণিক সেটআপ"},plmcWhyInstantDesc:{en:"No extra hardware needed",bn:"অতিরিক্ত হার্ডওয়্যার লাগে না"},plmcWhySecure:{en:"Secure",bn:"নিরাপদ"},plmcWhySecureDesc:{en:"End-to-end encrypted",bn:"এন্ড-টু-এন্ড এনক্রিপ্টেড"},plmcWhyTracked:{en:"Auto Tracked",bn:"স্বয়ংক্রিয়ভাবে ট্র্যাক"},plmcWhyTrackedDesc:{en:"All transactions logged",bn:"সব লেনদেন লগ করা হয়"},plmcShareTitle:{en:"Payment Link",bn:"পেমেন্ট লিঙ্ক"},stlmNetSettlement:{en:"Net Settlement",bn:"নেট সেটেলমেন্ট"},stlmGross:{en:"Gross",bn:"মোট"},stlmMdr:{en:"MDR",bn:"এমডিআর"},stlmPending:{en:"Pending Settlement",bn:"অপেক্ষমান সেটেলমেন্ট"},stlmPendingDesc:{en:"Amount awaiting next payout",bn:"পরবর্তী পেআউটের অপেক্ষায় থাকা পরিমাণ"},stlmNextPayout:{en:"Next Payout",bn:"পরবর্তী পেআউট"},stlmBankDetails:{en:"Bank Details",bn:"ব্যাংক বিবরণ"},stlmBank:{en:"Bank",bn:"ব্যাংক"},stlmAccount:{en:"Account",bn:"অ্যাকাউন্ট"},stlmRouting:{en:"Routing",bn:"রাউটিং"},stlmFrequency:{en:"Frequency",bn:"ফ্রিকোয়েন্সি"},stlmNotConfigured:{en:"Not configured",bn:"কনফিগার করা হয়নি"},stlmBatches:{en:"Settlement Batches",bn:"সেটেলমেন্ট ব্যাচ"},stlmNoBatches:{en:"No settlements yet",bn:"এখনও কোনো সেটেলমেন্ট নেই"},stlmBatchesEmpty:{en:"Settlement batches will appear here",bn:"সেটেলমেন্ট ব্যাচ এখানে দেখা যাবে"},stlmTxns:{en:"{count} txns",bn:"{count} লেনদেন"},stlmNet:{en:"Net",bn:"নেট"},stlmPeriod7:{en:"7 days",bn:"৭ দিন"},stlmPeriod30:{en:"30 days",bn:"৩০ দিন"},stlmPeriodAll:{en:"All time",bn:"সর্বকালীন"},stlmExportCsv:{en:"Export CSV",bn:"সিএসভি এক্সপোর্ট"},stlmExportedToast:{en:"Settlement report downloaded",bn:"সেটেলমেন্ট রিপোর্ট ডাউনলোড হয়েছে"},feesSummary:{en:"MDR Summary",bn:"এমডিআর সারাংশ"},feesYourRate:{en:"Your MDR Rate",bn:"আপনার এমডিআর হার"},feesTotalPaid:{en:"Total MDR Paid",bn:"মোট এমডিআর পরিশোধিত"},feesAvgPerTxn:{en:"Avg MDR/Txn",bn:"গড় এমডিআর/লেনদেন"},feesAvgTxnSize:{en:"Avg Txn Size",bn:"গড় লেনদেনের আকার"},feesEffectiveRate:{en:"Effective Rate",bn:"কার্যকর হার"},feesEffectiveDesc:{en:"Actual MDR paid vs gross volume",bn:"মোট ভলিউমের বিপরীতে প্রকৃত এমডিআর"},feesMonthlyProjection:{en:"Monthly Projection",bn:"মাসিক অনুমান"},feesProjectionDesc:{en:"Estimated MDR at current run-rate",bn:"বর্তমান গতিতে অনুমানিত এমডিআর"},feesDistribution:{en:"Transaction Size Distribution",bn:"লেনদেনের আকার বণ্টন"},feesTxnsVolume:{en:"{count} txns · ৳{volume}",bn:"{count} লেনদেন · ৳{volume}"},feesComparison:{en:"MDR Rate Comparison",bn:"এমডিআর হার তুলনা"},feesYourRateBadge:{en:"Your Rate",bn:"আপনার হার"},feesCatRetail:{en:"Retail",bn:"খুচরা"},feesCatRestaurant:{en:"Restaurant",bn:"রেস্টুরেন্ট"},feesCatGrocery:{en:"Grocery",bn:"মুদি"},feesCatPharmacy:{en:"Pharmacy",bn:"ফার্মেসি"},feesCatEducation:{en:"Education",bn:"শিক্ষা"},feesCatUtility:{en:"Utility",bn:"ইউটিলিটি"},feesDownloadStatement:{en:"Download Statement",bn:"স্টেটমেন্ট ডাউনলোড"},feesStatementToast:{en:"Fee statement downloaded",bn:"ফি স্টেটমেন্ট ডাউনলোড হয়েছে"},nfPageNotFound:{en:"Oops! Page not found",bn:"উফ! পৃষ্ঠা পাওয়া যায়নি"},nfReturnHome:{en:"Return to Home",bn:"হোমে ফিরে যান"},ripChooseApp:{en:"Choose an App to Install",bn:"ইনস্টল করতে একটি অ্যাপ বেছে নিন"},ripWhatsIncluded:{en:"What's included",bn:"কি অন্তর্ভুক্ত"},ripAppInstalled:{en:"App Installed!",bn:"অ্যাপ ইনস্টল হয়েছে!"}
187,ripCheckHome:{en:"Check your home screen",bn:"আপনার হোম স্ক্রিন দেখুন"},ripInstall:{en:"Install",bn:"ইনস্টল করুন"},ripInstallManually:{en:"Install Manually",bn:"নিজে ইনস্টল করুন"},ripIphoneHint:{en:'Tap Share → "Add to Home Screen"',bn:'শেয়ার → "হোম স্ক্রিনে যোগ করুন" চাপুন'},ripAndroidHint:{en:'Tap ⋮ menu → "Install app"',bn:'⋮ মেনু → "অ্যাপ ইনস্টল করুন" চাপুন'},ripIphone:{en:"iPhone:",bn:"আইফোন:"},ripAndroid:{en:"Android:",bn:"অ্যান্ড্রয়েড:"},idxPaymentCancelled:{en:"Payment was cancelled.",bn:"পেমেন্ট বাতিল হয়েছে।"},idxMoneyAdded:{en:"Money added successfully via AsthaPay!",bn:"আস্থাপে-এর মাধ্যমে টাকা সফলভাবে যোগ হয়েছে!"},idxVerificationFailed:{en:"Payment verification failed.",bn:"পেমেন্ট যাচাই ব্যর্থ।"},idxContactSupport:{en:"Could not verify payment. Please contact support.",bn:"পেমেন্ট যাচাই করা যায়নি। সহায়তার সাথে যোগাযোগ করুন।"},idxAccountLocked:{en:"Your account has been locked by an administrator. Contact support.",bn:"আপনার একাউন্ট প্রশাসক দ্বারা লক করা হয়েছে। সহায়তার সাথে যোগাযোগ করুন।"},idxRefreshing:{en:"Refreshing…",bn:"রিফ্রেশ হচ্ছে…"},idxKycUnderReview:{en:"KYC Under Review",bn:"কেওয়াইসি পর্যালোচনায়"},idxKycRejected:{en:"KYC Rejected — Resubmit",bn:"কেওয়াইসি বাতিল — পুনরায় জমা দিন"},idxCompleteKyc:{en:"Complete KYC to unlock all features",bn:"সব ফিচার আনলক করতে কেওয়াইসি সম্পূর্ণ করুন"},idxKycReviewing:{en:"Your verification is being reviewed",bn:"আপনার যাচাইকরণ পর্যালোচনা করা হচ্ছে"},idxKycResubmit:{en:"Please resubmit your verification documents",bn:"আপনার যাচাইকরণ ডকুমেন্ট পুনরায় জমা দিন"},idxKycUnlock:{en:"Verify your identity to send money, cash out & more",bn:"টাকা পাঠাতে, ক্যাশ আউট ও অন্যান্য কাজের জন্য পরিচয় যাচাই করুন"},idxView:{en:"View",bn:"দেখুন"},idxRetry:{en:"Retry",bn:"পুনরায়"},idxStart:{en:"Start →",bn:"শুরু →"},idxComingSoon:{en:"Coming soon",bn:"শীঘ্রই আসছে"},idxScanPay:{en:"Scan & Pay",bn:"স্ক্যান ও পেমেন্ট"},idxUnrecognizedQr:{en:"Unrecognized QR code. Please try a valid EasyPay QR.",bn:"অচেনা কিউআর কোড। একটি বৈধ ইজিপে কিউআর চেষ্টা করুন।"},idxQrFailed:{en:"Could not process QR code. Please try again.",bn:"কিউআর কোড প্রক্রিয়া করা যায়নি। আবার চেষ্টা করুন।"},ipNow:{en:"now",bn:"এখন"},ipYesterday:{en:"Yesterday",bn:"গতকাল"},ipNoMessagesYet:{en:"No messages yet",bn:"এখনো কোনো বার্তা নেই"},ipPreviousMessage:{en:"Previous message",bn:"পূর্ববর্তী বার্তা"},ipMoneySent:{en:"Money Sent",bn:"টাকা পাঠানো হয়েছে"},ipViewReceipt:{en:"View Receipt →",bn:"রসিদ দেখুন →"},ipOrderTracking:{en:"Order Tracking",bn:"অর্ডার ট্র্যাকিং"},ipItemSingular:{en:"item",bn:"টি পণ্য"},ipItemPlural:{en:"items",bn:"টি পণ্য"},ipTrackArrow:{en:"Track →",bn:"ট্র্যাক করুন →"},ipStatusPending:{en:"Pending",bn:"অপেক্ষমাণ"},ipStatusShipped:{en:"Shipped",bn:"পাঠানো হয়েছে"},ipStatusDelivered:{en:"Delivered",bn:"পৌঁছে গেছে"},ipProductInquiry:{en:"Product Inquiry",bn:"পণ্যের বিস্তারিত"},ipPrevMsgUnavailable:{en:"Previous message unavailable",bn:"পূর্ববর্তী বার্তা পাওয়া যাচ্ছে না"},ipReact:{en:"React",bn:"রিঅ্যাক্ট"}
187,ipCopyMsg:{en:"Copy",bn:"কপি করুন"},ipForwardMsg:{en:"Forward",bn:"ফরোয়ার্ড করুন"},ipDeleteForMe:{en:"Delete for me",bn:"আমার জন্য মুছুন"},ipForwardTo:{en:"Forward to…",bn:"ফরোয়ার্ড করুন…"},ipSharedImage:{en:"Shared image",bn:"শেয়ার করা ছবি"},ipDownloadImage:{en:"Download image",bn:"ছবি ডাউনলোড করুন"},ipAddByPhone:{en:"Add by Phone",bn:"ফোন দিয়ে যোগ করুন"},ipSearchEasyPayUser:{en:"Search for an EasyPay user",bn:"ইজিপে ব্যবহারকারী খুঁজুন"},ipSendChatRequest:{en:"Send a chat request",bn:"চ্যাট অনুরোধ পাঠান"},ipRequestSentTitle:{en:"Request Sent!",bn:"অনুরোধ পাঠানো হয়েছে!"},ipTheyReceiveRequest:{en:"They'll receive your chat request",bn:"তারা আপনার চ্যাট অনুরোধ পাবেন"},ipPhoneNumber:{en:"Phone Number",bn:"ফোন নম্বর"},ipPhonePlaceholder:{en:"e.g. 01711223344",bn:"যেমন ০১৭১১২২৩৩৪৪"},ipMoreDigitsNeeded:{en:"more digits needed",bn:"টি সংখ্যা আরও প্রয়োজন"},ipSearching:{en:"Searching...",bn:"খোঁজা হচ্ছে..."},ipFindUser:{en:"Find User",bn:"ব্যবহারকারী খুঁজুন"},ipSendingRequest:{en:"Sending request...",bn:"অনুরোধ পাঠানো হচ্ছে..."},ipSendChatRequestBtn:{en:"Send Chat Request",bn:"চ্যাট অনুরোধ পাঠান"},ipErrValidPhone:{en:"Enter a valid 11-digit number starting with 01",bn:"০১ দিয়ে শুরু ১১ সংখ্যার সঠিক নম্বর দিন"},ipErrNoAccount:{en:"No EasyPay account found with this number",bn:"এই নম্বরে কোনো ইজিপে অ্যাকাউন্ট পাওয়া যায়নি"},ipEasyPayUser:{en:"EasyPay User",bn:"ইজিপে ব্যবহারকারী"},ipNewGroup:{en:"New Group",bn:"নতুন গ্রুপ"},ipGroupDetails:{en:"Group Details",bn:"গ্রুপের বিবরণ"},ipSelectMembers:{en:"Select members",bn:"সদস্য নির্বাচন করুন"},ipSelected:{en:"selected",bn:"নির্বাচিত"},ipGroupNameAndIcon:{en:"Set a name and icon for your group",bn:"গ্রুপের নাম ও আইকন নির্ধারণ করুন"},ipNoContactsAvailable:{en:"No contacts available",bn:"কোনো যোগাযোগ নেই"},ipAddContactsToStart:{en:"Add contacts to get started",bn:"শুরু করতে যোগাযোগ যোগ করুন"},ipGroupNameLabel:{en:"Group Name",bn:"গ্রুপের নাম"},ipGroupNamePlaceholder:{en:"e.g. Family, Work Team",bn:"যেমন পরিবার, কাজের দল"},ipErrSelectTwo:{en:"Select at least 2 contacts",bn:"কমপক্ষে ২ জন যোগাযোগ নির্বাচন করুন"},ipErrGroupNameRequired:{en:"Group name is required",bn:"গ্রুপের নাম আবশ্যক"},ipMembersLabel:{en:"Members",bn:"সদস্য"},ipNext:{en:"Next",bn:"পরবর্তী"},ipCreateGroup:{en:"Create Group",bn:"গ্রুপ তৈরি করুন"},ipMembersCount:{en:"members",bn:"জন সদস্য"},ipOnline:{en:"Online",bn:"অনলাইন"},ipMuteNotifications:{en:"Mute Notifications",bn:"নোটিফিকেশন নিঃশব্দ করুন"},ipClearChat:{en:"Clear Chat",bn:"চ্যাট মুছুন"},ipBlockUser:{en:"Block User",bn:"ব্যবহারকারী ব্লক করুন"},ipReportUser:{en:"Report User",bn:"ব্যবহারকারী রিপোর্ট করুন"},ipGroupInfo:{en:"Group Info",bn:"গ্রুপের তথ্য"},ipAddMember:{en:"Add Member",bn:"সদস্য যোগ করুন"},ipLeaveGroup:{en:"Leave Group",bn:"গ্রুপ ছাড়ুন"},ipStartConversation:{en:"Start a conversation",bn:"একটি কথোপকথন শুরু করুন"}
187,ipEncrypted:{en:"Messages are end-to-end encrypted",bn:"বার্তাগুলো সম্পূর্ণ এনক্রিপ্টেড"},ipToday:{en:"Today",bn:"আজ"},ipIsTyping:{en:"is typing…",bn:"টাইপ করছেন…"},ipPeopleTyping:{en:"people are typing…",bn:"জন টাইপ করছেন…"},ipMessagePreview:{en:"Message Preview",bn:"বার্তার প্রিভিউ"},ipChatRequestInfo:{en:"This is a chat request. Accept to start chatting.",bn:"এটি একটি চ্যাট অনুরোধ। চ্যাট শুরু করতে গ্রহণ করুন।"},ipBlock:{en:"Block",bn:"ব্লক করুন"},ipDecline:{en:"Decline",bn:"প্রত্যাখ্যান করুন"},ipAccept:{en:"Accept",bn:"গ্রহণ করুন"},ipBlockReport:{en:"Block & Report",bn:"ব্লক ও রিপোর্ট করুন"},ipReportedToAdmins:{en:"This user will be reported to admins",bn:"এই ব্যবহারকারীকে অ্যাডমিনের কাছে রিপোর্ট করা হবে"},ipBlockedAndReported:{en:"This user will be blocked and reported",bn:"এই ব্যবহারকারীকে ব্লক ও রিপোর্ট করা হবে"},ipReasonOptional:{en:"Reason (optional)",bn:"কারণ (ঐচ্ছিক)"},ipCancel:{en:"Cancel",bn:"বাতিল করুন"},ipRecording:{en:"Recording…",bn:"রেকর্ড হচ্ছে…"},ipReleaseToSend:{en:"Release to send",bn:"পাঠাতে ছেড়ে দিন"},ipMessagePlaceholder:{en:"Message…",bn:"বার্তা লিখুন…"},ipCamera:{en:"Camera",bn:"ক্যামেরা"},ipGallery:{en:"Gallery",bn:"গ্যালারি"},ipDocument:{en:"Document",bn:"ডকুমেন্ট"},ipLocation:{en:"Location",bn:"অবস্থান"},ipCannotUpload:{en:"Cannot upload right now",bn:"এখন আপলোড করা সম্ভব নয়"},ipFailedUpload:{en:"Failed to upload image",bn:"ছবি আপলোড ব্যর্থ হয়েছে"},ipFailedPrepare:{en:"Failed to prepare image",bn:"ছবি প্রস্তুত করতে ব্যর্থ হয়েছে"},ipNotificationsMutedChat:{en:"Notifications muted for this chat",bn:"এই চ্যাটের নোটিফিকেশন নিঃশব্দ করা হয়েছে"},ipChatCleared:{en:"Chat cleared",bn:"চ্যাট মুছে গেছে"},ipGroupInfoToast:{en:"Group info",bn:"গ্রুপের তথ্য"},ipAddMemberSoon:{en:"Add member coming soon",bn:"সদস্য যোগ করার সুবিধা শীঘ্রই আসছে"},ipNotificationsMuted:{en:"Notifications muted",bn:"নোটিফিকেশন নিঃশব্দ হয়েছে"},ipLeftGroup:{en:"Left the group",bn:"গ্রুপ ছেড়ে দিয়েছেন"},ipSendMoneyTo:{en:"Send money to",bn:"টাকা পাঠান"},ipMessagesHeading:{en:"Messages",bn:"বার্তা"},ipUnreadCount:{en:"unread",bn:"অপঠিত"},ipAllCaughtUp:{en:"All caught up!",bn:"সব পড়া হয়েছে!"},ipSearchMessages:{en:"Search messages…",bn:"বার্তা খুঁজুন…"},ipCancelSearch:{en:"Cancel",bn:"বাতিল"},ipTabAll:{en:"All",bn:"সব"},ipTabUnread:{en:"Unread",bn:"অপঠিত"},ipTabGroups:{en:"Groups",bn:"গ্রুপ"},ipTabRequests:{en:"Requests",bn:"অনুরোধ"},ipYouPrefix:{en:"You",bn:"আপনি"},ipRequestBadge:{en:"Request",bn:"অনুরোধ"},ipEmptyUnread:{en:"All caught up!",bn:"সব পড়া হয়েছে!"},ipEmptyUnreadSub:{en:"You've read all your messages",bn:"আপনি সব বার্তা পড়েছেন"},ipEmptyGroups:{en:"No groups yet",bn:"এখনো কোনো গ্রুপ নেই"},ipEmptyGroupsSub:{en:"Create a group to chat with multiple people",bn:"একাধিক মানুষের সাথে চ্যাট করতে গ্রুপ তৈরি করুন"},ipEmptyRequests:{en:"No pending requests",bn:"কোনো মুলতুবি অনুরোধ নেই"},ipEmptyRequestsSub:{en:"When someone sends you a chat request, it will appear here",bn:"কেউ চ্যাট অনুরোধ পাঠালে এখানে দেখা যাবে"},ipEmptyConvos:{en:"No conversations yet",bn:"এখনো কোনো কথোপকথন নেই"},ipNoResults:{en:"No results found",bn:"কোনো ফলাফল পাওয়া যায়নি"},ipStartNewConvo:{en:"Tap + to start a new conversation",bn:"+ চাপুন নতুন কথোপকথন শুরু করতে"},ipStartChatting:{en:"Start Chatting",bn:"চ্যাট শুরু করুন"},ipCopiedToClipboard:{en:"Copied to clipboard",bn:"ক্লিপবোর্ডে কপি হয়েছে"},ipFailedDelete:{en:"Failed to delete message",bn:"বার্তা মুছতে ব্যর্থ হয়েছে"},ipMessageDeleted:{en:"Message deleted",bn:"বার্তা মুছে গেছে"},ipMessageForwarded:{en:"Message forwarded",bn:"বার্তা ফরোয়ার্ড হয়েছে"},ipConvPinned:{en:"Conversation pinned",bn:"কথোপকথন পিন করা হয়েছে"},ipConvUnpinned:{en:"Conversation unpinned",bn:"কথোপকথন আনপিন হয়েছে"},ipUserNotFound:{en:"User not found",bn:"ব্যবহারকারী পাওয়া যায়নি"},ipNoAccountPhone:{en:"No account with this phone number",bn:"এই ফোন নম্বরে কোনো অ্যাকাউন্ট নেই"},ipOwnNumber:{en:"That's your own number!",bn:"এটি আপনার নিজের নম্বর!"},ipConvStarted:{en:"Conversation started!",bn:"কথোপকথন শুরু হয়েছে!"},ipCanNowChat:{en:"You can now chat with",bn:"আপনি এখন কথা বলতে পারবেন"},ipGroupCreated:{en:"Group created!",bn:"গ্রুপ তৈরি হয়েছে!"},ipChatAccepted:{en:"Chat request accepted!",bn:"চ্যাট অনুরোধ গৃহীত হয়েছে!"},ipChatDeclined:{en:"Chat request declined",bn:"চ্যাট অনুরোধ প্রত্যাখ্যাত হয়েছে"},ipUserBlockedReported:{en:"User blocked & reported",bn:"ব্যবহারকারী ব্লক ও রিপোর্ট হয়েছে"},ipQuickReplyThanks:{en:"Thanks!",bn:"ধন্যবাদ!"},ipQuickReplyOk:{en:"OK!",bn:"ঠিক আছে!"},ipQuickReplySend500:{en:"Send ৳500",bn:"৳৫০০ পাঠান"},ipQuickReplyGotIt:{en:"Got it 😊",bn:"বুঝেছি 😊"},ipQuickReplySure:{en:"Sure!",bn:"অবশ্যই!"},thAll:{en:"All",bn:"সব"},thSend:{en:"Send",bn:"পাঠান"},thReceived:{en:"Received",bn:"প্রাপ্ত"},thCashOut:{en:"Cash Out",bn:"ক্যাশ আউট"},thCashIn:{en:"Cash In",bn:"ক্যাশ ইন"},thPayment:{en:"Payment",bn:"পেমেন্ট"},thBankTransfer:{en:"Bank Transfer",bn:"ব্যাংক ট্রান্সফার"},thRecharge:{en:"Recharge",bn:"রিচার্জ"},thBillPay:{en:"Bill Pay",bn:"বিল পেমেন্ট"},thAddMoney:{en:"Add Money",bn:"টাকা যোগ"},thDriveCashback:{en:"Drive Cashback",bn:"ড্রাইভ ক্যাশব্যাক"},thCashback:{en:"Cashback",bn:"ক্যাশব্যাক"},thCashOutReceived:{en:"Cash Out Received",bn:"ক্যাশ আউট গ্রহণ"},thCashInSent:{en:"Cash In Sent",bn:"ক্যাশ ইন প্রেরিত"}
187,thToday:{en:"Today",bn:"আজ"},thYesterday:{en:"Yesterday",bn:"গতকাল"},thRefresh:{en:"Refresh",bn:"রিফ্রেশ"},thToggleFilters:{en:"Toggle filters",bn:"ফিল্টার"},thCommission:{en:"Commission",bn:"কমিশন"},thFees:{en:"Fees",bn:"ফি"},thOrTxnId:{en:"or Transaction ID",bn:"বা লেনদেন আইডি"},thBrokerageFee:{en:"Brokerage Fee",bn:"ব্রোকারেজ ফি"},thPending:{en:"Pending",bn:"অপেক্ষমান"},thRejected:{en:"Rejected",bn:"প্রত্যাখ্যাত"},thSuccessful:{en:"Successful",bn:"সফল"},thTransactionId:{en:"Transaction ID",bn:"লেনদেন আইডি"},thNameParty:{en:"Name / Party",bn:"নাম / পক্ষ"},thReceiverNumber:{en:"Receiver Number",bn:"প্রাপকের নম্বর"},thSenderNumber:{en:"Sender Number",bn:"প্রেরকের নম্বর"},thCategory:{en:"Category",bn:"ধরন"},thDescription:{en:"Description",bn:"বিবরণ"},thCommissionEarned:{en:"Commission Earned",bn:"অর্জিত কমিশন"},thChargeFee:{en:"Charge / Fee",bn:"চার্জ / ফি"},thDateTime:{en:"Date & Time",bn:"তারিখ ও সময়"},thGrossAmount:{en:"Gross Amount",bn:"মোট পরিমাণ"},thPrincipal:{en:"Principal",bn:"মূল অর্থ"},thFeeDeducted:{en:"Fee Deducted",bn:"কর্তিত ফি"},thFeeFromBalance:{en:"Fee (from balance)",bn:"ফি (ব্যালেন্স থেকে)"},thNetCredited:{en:"Net Credited",bn:"নেট জমা"},thTotalDeducted:{en:"Total Deducted",bn:"মোট কর্তন"},thTransactionAmount:{en:"Transaction Amount",bn:"লেনদেনের পরিমাণ"},thNetEarned:{en:"Net Earned",bn:"নেট আয়"},thTotalAmount:{en:"Total Amount",bn:"মোট পরিমাণ"},thNoCommission:{en:"No commission",bn:"কোনো কমিশন নেই"},thNoFeeCharged:{en:"No fee charged",bn:"কোনো ফি নেই"},thShareReceipt:{en:"Share Receipt",bn:"রসিদ শেয়ার"},thParty:{en:"Party",bn:"পক্ষ"},thReceiver:{en:"Receiver",bn:"প্রাপক"},thNote:{en:"Note",bn:"নোট"},thFee:{en:"Fee",bn:"ফি"},thFree:{en:"Free",bn:"ফ্রি"},thFeeBreakdown:{en:"Fee Breakdown",bn:"ফি বিভাজন"},thCommissionBreakdown:{en:"Commission Breakdown",bn:"কমিশন বিভাজন"},agdAgentPortal:{en:"Agent Portal",bn:"এজেন্ট পোর্টাল"},agdFloatBalance:{en:"Float Balance",bn:"ফ্লোট ব্যালেন্স"},agdMax:{en:"Max",bn:"সর্বোচ্চ"},agdHealthy:{en:"Healthy",bn:"স্বাস্থ্যকর"},agdLow:{en:"Low",bn:"কম"},agdCritical:{en:"Critical",bn:"সংকটজনক"},agdTxnsToday:{en:"txns today",bn:"লেনদেন আজ"},agdB2BSend:{en:"B2B Send",bn:"বি২বি সেন্ড"},agdBillPay:{en:"Bill Pay",bn:"বিল পে"},agdRegister:{en:"Register",bn:"রেজিস্টার"},agdFloatReq:{en:"Float Req",bn:"ফ্লোট রিক"},agdSupport:{en:"Support",bn:"সাপোর্ট"},agdTodaysTxns:{en:"Today's Txns",bn:"আজকের লেনদেন"},agdVolume:{en:"Volume",bn:"ভলিউম"},agdEarnedToday:{en:"Earned Today",bn:"আজ আয়"},agdCustomers:{en:"Customers",bn:"গ্রাহক"},agdAgentCommission:{en:"Agent Commission",bn:"এজেন্ট কমিশন"},agdCommissionRates:{en:"0.49% Cash In/Out · 0.019% Bill Pay",bn:"০.৪৯% ক্যাশ ইন/আউট · ০.০১৯% বিল পে"},agdTotalEarned:{en:"Total earned",bn:"মোট আয়"},agd7DayTrend:{en:"7-Day Commission Trend",bn:"৭-দিনের কমিশন প্রবণতা"},agd7DayTotal:{en:"7-Day Total",bn:"৭-দিনের মোট"},agdRecentActivity:{en:"Recent Activity",bn:"সাম্প্রতিক লেনদেন"},agdYourActivity:{en:"Your activity will appear here",bn:"আপনার কার্যক্রম এখানে দেখাবে"},agdLoginRequired:{en:"Login required",bn:"লগইন প্রয়োজন"},agdGoToLogin:{en:"Go to Login",bn:"লগইনে যান"},agdAgentAccessRequired:{en:"Agent Access Required",bn:"এজেন্ট প্রবেশাধিকার প্রয়োজন"},agdNotAgentAccount:{en:"You're signed in as {phone}, which is not an agent account. Sign out and log in with your assigned agent number.",bn:"আপনি {phone} হিসাবে সাইন ইন করেছেন, যা এজেন্ট অ্যাকাউন্ট নয়। সাইন আউট করে আপনার নির্ধারিত এজেন্ট নম্বর দিয়ে লগইন করুন।"},agdHome:{en:"Home",bn:"হোম"},agdSignOutSwitch:{en:"Sign out & switch",bn:"সাইন আউট ও পরিবর্তন"},agdHideBalance:{en:"Hide balance",bn:"ব্যালেন্স লুকান"},agdShowBalance:{en:"Show balance",bn:"ব্যালেন্স দেখান"},agdToggleTheme:{en:"Toggle theme",bn:"থিম পরিবর্তন"},agdRequestFloatTopUp:{en:"Request Float Top-Up",bn:"ফ্লোট টপ-আপ অনুরোধ"},agdAmountLabel:{en:"Amount (৳)",bn:"পরিমাণ (৳)"},agdAmountPh:{en:"e.g. 50000",bn:"উদা. ৫০০০০"},agdNoteOptional:{en:"Note (optional)",bn:"নোট (ঐচ্ছিক)"},agdFloatNotePh:{en:"Reason for float request...",bn:"ফ্লোট অনুরোধের কারণ..."},agdSubmitting:{en:"Submitting...",bn:"জমা হচ্ছে..."},agdSubmitRequest:{en:"Submit Request",bn:"অনুরোধ জমা দিন"},agdAgentNotFound:{en:"Agent record not found",bn:"এজেন্ট রেকর্ড পাওয়া যায়নি"},agdFloatSent:{en:"Float request of ৳{amt} sent to distributor",bn:"৳{amt} ফ্লোট অনুরোধ ডিস্ট্রিবিউটরে পাঠানো হয়েছে"},agdFloatFailed:{en:"Failed to submit float request",bn:"ফ্লোট অনুরোধ জমা দিতে ব্যর্থ"},agdAgentSupport:{en:"Agent Support",bn:"এজেন্ট সাপোর্ট"},agdFaq:{en:"FAQ",bn:"সচরাচর প্রশ্ন"},agdLiveChat:{en:"Live Chat",bn:"লাইভ চ্যাট"},agdFaq1Q:{en:"How to request more float?",bn:"আরও ফ্লোট কীভাবে অনুরোধ করব?"},agdFaq1A:{en:"Tap 'Float Req' from Quick Actions and enter the amount. Your distributor will be notified.",bn:"কুইক অ্যাকশন থেকে 'ফ্লোট রিক' ট্যাপ করে পরিমাণ দিন। আপনার ডিস্ট্রিবিউটরকে জানানো হবে।"},agdFaq2Q:{en:"Cash In transaction failed?",bn:"ক্যাশ ইন লেনদেন ব্যর্থ?"},agdFaq2A:{en:"Check your balance and retry. If the issue persists, contact your distributor with the transaction ID.",bn:"আপনার ব্যালেন্স দেখে আবার চেষ্টা করুন। সমস্যা থাকলে লেনদেন আইডি সহ ডিস্ট্রিবিউটরকে জানান।"},agdFaq3Q:{en:"How is commission calculated?",bn:"কমিশন কীভাবে হিসাব হয়?"},agdFaq3A:{en:"You earn 0.49% on Cash In/Out and 0.019% on Bill Pay transactions, credited instantly.",bn:"আপনি ক্যাশ ইন/আউটে ০.৪৯% এবং বিল পে-তে ০.০১৯% কমিশন পান, যা তাৎক্ষণিক জমা হয়।"},agdFaq4Q:{en:"How to register a new customer?",bn:"নতুন গ্রাহক কীভাবে রেজিস্টার করব?"},agdFaq4A:{en:"Tap 'Register' and fill in the customer's phone, name, and NID details.",bn:"'রেজিস্টার' ট্যাপ করে গ্রাহকের ফোন, নাম ও এনআইডি বিবরণ পূরণ করুন।"},agdFaq5Q:{en:"Bank transfer not reflecting?",bn:"ব্যাংক ট্রান্সফার দেখা যাচ্ছে না?"},agdFaq5A:{en:"Bank transfers may take 1-2 business days. Check History for status updates.",bn:"ব্যাংক ট্রান্সফার ১-২ কর্মদিবস লাগতে পারে। অবস্থার জন্য ইতিহাস দেখুন।"},agdNeedMoreHelp:{en:"Need more help?",bn:"আরও সাহায্য দরকার?"},agdCallSupport:{en:"Call Support",bn:"সাপোর্টে কল করুন"},agdNotifications:{en:"Notifications",bn:"নোটিফিকেশন"},agdSystemAlerts:{en:"System Alerts",bn:"সিস্টেম সতর্কতা"},agdJustNow:{en:"Just now",bn:"এইমাত্র"},agdTransactions:{en:"Transactions",bn:"লেনদেন"},agdNoNewNotifs:{en:"No new notifications",bn:"কোনো নতুন নোটিফিকেশন নেই"},agdFloatCritical:{en:"⚠️ Float balance critically low",bn:"⚠️ ফ্লোট ব্যালেন্স মারাত্মকভাবে কম"},agdFloatWarn:{en:"📉 Float balance is getting low",bn:"📉 ফ্লোট ব্যালেন্স কমে আসছে"},avSetLocFirst:{en:"Set your shop location first",bn:"প্রথমে দোকানের অবস্থান সেট করুন"}
187,avCantUpdate:{en:"Could not update status",bn:"স্ট্যাটাস আপডেট করা যায়নি"},avOnline:{en:"You're online",bn:"আপনি অনলাইন"},avOffline:{en:"You're offline",bn:"আপনি অফলাইন"},avGeoUnsupported:{en:"Geolocation not supported",bn:"জিওলোকেশন সমর্থিত নয়"},avCantSaveLoc:{en:"Could not save location",bn:"অবস্থান সংরক্ষণ করা যায়নি"},avLocSaved:{en:"Shop location saved",bn:"দোকানের অবস্থান সংরক্ষিত"},avLocDenied:{en:"Location denied",bn:"অবস্থান প্রত্যাখ্যাত"},avOpen:{en:"Open for customers",bn:"গ্রাহকদের জন্য খোলা"},avClosed:{en:"Closed",bn:"বন্ধ"},avVisibleMap:{en:"Visible on nearby-agent map",bn:"কাছের এজেন্ট ম্যাপে দৃশ্যমান"},avNotShown:{en:"Not shown to customers",bn:"গ্রাহকদের দেখানো হচ্ছে না"},avShopLocation:{en:"Shop location",bn:"দোকানের অবস্থান"},avNotSet:{en:"Not set",bn:"সেট করা হয়নি"},avUpdatedAt:{en:"Updated {when}",bn:"আপডেট {when}"},avUpdate:{en:"Update",bn:"আপডেট"},avSet:{en:"Set",bn:"সেট"},avNever:{en:"never",bn:"কখনো নয়"},avSecAgo:{en:"{n}s ago",bn:"{n}সে আগে"},avMinAgo:{en:"{n}m ago",bn:"{n}মি আগে"},avHourAgo:{en:"{n}h ago",bn:"{n}ঘ আগে"},avDayAgo:{en:"{n}d ago",bn:"{n}দি আগে"},flagsTitle:{en:"Flag suspicious activity",bn:"সন্দেহজনক কার্যক্রম রিপোর্ট"},flagsSubject:{en:"Subject",bn:"বিষয়"},flagsReason:{en:"Reason",bn:"কারণ"},flagsChooseReason:{en:"Choose reason",bn:"কারণ বাছুন"},flagsSeverity:{en:"Severity",bn:"গুরুত্ব"},flagsSevLow:{en:"low",bn:"কম"},flagsSevMedium:{en:"medium",bn:"মাঝারি"},flagsSevHigh:{en:"high",bn:"উচ্চ"},flagsNotesOpt:{en:"Notes (optional)",bn:"নোট (ঐচ্ছিক)"},flagsNotesPh:{en:"Anything compliance should know…",bn:"কমপ্লায়েন্সকে জানানোর মতো কিছু…"},flagsCancel:{en:"Cancel",bn:"বাতিল"},flagsSubmit:{en:"Submit report",bn:"রিপোর্ট জমা দিন"},flagsLoginRequired:{en:"Login required",bn:"লগইন প্রয়োজন"},flagsPickReason:{en:"Choose a reason",bn:"একটি কারণ বাছুন"},flagsReportFailed:{en:"Report failed",bn:"রিপোর্ট ব্যর্থ"},flagsReported:{en:"Reported to compliance",bn:"কমপ্লায়েন্সে রিপোর্ট করা হয়েছে"},flagsReasonStructuring:{en:"Structuring / repeated small amounts",bn:"স্ট্রাকচারিং / বারবার ছোট পরিমাণ"},flagsReasonUnknownSrc:{en:"Unknown source of funds",bn:"অজানা তহবিল উৎস"},flagsReasonRefusedId:{en:"Refused to show ID",bn:"আইডি দেখাতে অস্বীকার"},flagsReasonImpersonation:{en:"Suspected impersonation",bn:"সন্দেহভাজন ছদ্মবেশ"},flagsReasonUnusual:{en:"Unusual behavior",bn:"অস্বাভাবিক আচরণ"},flagsReasonOther:{en:"Other",bn:"অন্যান্য"},amsTitle:{en:"Add Money Status",bn:"টাকা যোগের অবস্থা"},amsNoRequest:{en:"No add-money request found.",bn:"কোনো টাকা যোগের অনুরোধ পাওয়া যায়নি।"},amsCredited:{en:"Balance credited",bn:"ব্যালেন্স যুক্ত হয়েছে"},amsRejected:{en:"Rejected",bn:"প্রত্যাখ্যাত"},amsPending:{en:"Pending verification",bn:"যাচাইয়ের অপেক্ষায়"},amsApprovedAt:{en:"Approved at",bn:"অনুমোদিত হয়েছে"},amsGatewayTrxId:{en:"Gateway Txn ID",bn:"গেটওয়ে লেনদেন আইডি"},amsMethod:{en:"Method",bn:"মাধ্যম"}
187,amsCreated:{en:"Created",bn:"তৈরি হয়েছে"},amsVerifyBtn:{en:"Verify payment now",bn:"এখনই পেমেন্ট যাচাই করুন"},amsVerifyingUp:{en:"Verifying with UddoktaPay…",bn:"UddoktaPay দিয়ে যাচাই হচ্ছে…"},amsBackHome:{en:"Back to home",bn:"হোমে ফিরুন"},amsHome:{en:"Home",bn:"হোম"},amsVerifyFailed:{en:"Verification failed",bn:"যাচাই ব্যর্থ"},amsPaymentStatus:{en:"Payment status",bn:"পেমেন্ট অবস্থা"},prPaymentReceived:{en:"Payment received",bn:"পেমেন্ট গৃহীত"},prPaymentFailed:{en:"Payment not completed",bn:"পেমেন্ট সম্পন্ন হয়নি"},prReturning:{en:"Returning to EasyPay Home with your transaction status.",bn:"লেনদেনের অবস্থা নিয়ে EasyPay হোমে ফিরে যাচ্ছি।"},prRedirecting:{en:"Redirecting…",bn:"পুনঃনির্দেশ হচ্ছে…"},fpTitle:{en:"Forgot PIN",bn:"পিন ভুলে গেছেন"},fpSubtitle:{en:"Reset your 4-digit transaction PIN",bn:"৪-সংখ্যার লেনদেন পিন রিসেট করুন"},fpConfirmNumber:{en:"Confirm your number",bn:"আপনার নম্বর নিশ্চিত করুন"},fpConfirmNumberDesc:{en:"We'll send a 6-digit code to your registered phone.",bn:"আপনার নিবন্ধিত ফোনে একটি ৬-সংখ্যার কোড পাঠাব।"},fpPhone:{en:"Phone",bn:"ফোন"},fpInvalidPhone:{en:"Enter a valid Bangladeshi mobile number",bn:"একটি বৈধ বাংলাদেশি মোবাইল নম্বর দিন"},fpSendCode:{en:"Send verification code",bn:"যাচাইকরণ কোড পাঠান"},fpSendingCode:{en:"Sending code…",bn:"কোড পাঠানো হচ্ছে…"},fpSendFailed:{en:"Failed to send code",bn:"কোড পাঠাতে ব্যর্থ"},fpVerifyItsYou:{en:"Verify it's you",bn:"আপনি নিশ্চিত করুন"},fpEnterCodeSent:{en:"Enter the 6-digit code sent to",bn:"এই নম্বরে পাঠানো ৬-সংখ্যার কোড দিন"},fpVerifyingLbl:{en:"Verifying…",bn:"যাচাই হচ্ছে…"},fpIncorrectCode:{en:"Incorrect code",bn:"ভুল কোড"},fpVerificationFailed:{en:"Verification failed",bn:"যাচাই ব্যর্থ"},fpResendCode:{en:"Resend code",bn:"কোড পুনরায় পাঠান"},fpResendIn:{en:"Resend in",bn:"পুনরায় পাঠান"},fpSetNewPin:{en:"Set new PIN",bn:"নতুন পিন সেট করুন"},fpConfirmNewPin:{en:"Confirm new PIN",bn:"নতুন পিন নিশ্চিত করুন"},fpChooseStrongPin:{en:"Choose a strong 4-digit PIN.",bn:"একটি শক্তিশালী ৪-সংখ্যার পিন বেছে নিন।"},fpReenterConfirm:{en:"Re-enter to confirm.",bn:"নিশ্চিত করতে পুনরায় দিন।"},fpPinTooWeak:{en:"PIN is too weak. Avoid sequential or repeated digits.",bn:"পিন খুব দুর্বল। ক্রমিক বা পুনরাবৃত্ত সংখ্যা এড়িয়ে চলুন।"},fpPinsDontMatch:{en:"PINs don't match. Please re-enter.",bn:"পিন মিলছে না। আবার দিন।"},fpSavingPin:{en:"Saving new PIN…",bn:"নতুন পিন সংরক্ষণ হচ্ছে…"},fpResetFailed:{en:"Could not reset PIN. Please try again.",bn:"পিন রিসেট করা যায়নি। আবার চেষ্টা করুন।"},fpSuccess:{en:"PIN reset successful",bn:"পিন সফলভাবে রিসেট হয়েছে"},fpRedirectingBack:{en:"Redirecting you back to your account…",bn:"আপনার একাউন্টে ফিরিয়ে নেওয়া হচ্ছে…"},fpLocked:{en:"Verification locked",bn:"যাচাইকরণ লক"},fpLockedDesc:{en:"Too many incorrect codes.",bn:"অনেক ভুল কোড।"},fpTryAgainIn:{en:"Try again in",bn:"আবার চেষ্টা করুন"},fpSeoTitle:{en:"Forgot PIN – Reset your transaction PIN",bn:"পিন ভুলে গেছেন – আপনার লেনদেন পিন রিসেট করুন"},fpSeoDesc:{en:"Recover access by verifying your phone and setting a new 4-digit PIN.",bn:"ফোন যাচাই করে নতুন ৪-সংখ্যার পিন সেট করে অ্যাক্সেস ফিরে পান।"},fpWhyLocked:{en:"Why is OTP locked?",bn:"OTP কেন লক?"},fpLockedHelp1:{en:"To protect your account from brute-force attempts, we temporarily pause OTP verification after several incorrect codes.",bn:"ব্রুট-ফোর্স চেষ্টা থেকে আপনার অ্যাকাউন্ট রক্ষা করতে, কয়েকবার ভুল কোড দেওয়ার পর আমরা সাময়িকভাবে OTP যাচাই বন্ধ রাখি।"},fpLockedHelp2:{en:"Wait for the timer to end, then request a fresh code. If you keep getting locked out, contact support so we can help you regain access safely.",bn:"টাইমার শেষ হওয়া পর্যন্ত অপেক্ষা করুন, তারপর নতুন কোড অনুরোধ করুন। যদি বারবার লক হন, নিরাপদে অ্যাক্সেস ফিরে পেতে সাপোর্টে যোগাযোগ করুন।"},fpCloseReturn:{en:"Close and return later",bn:"বন্ধ করুন এবং পরে ফিরে আসুন"},crHeader:{en:"Careers",bn:"ক্যারিয়ার"}
187,crJoinTeam:{en:"Join Our Team",bn:"আমাদের টিমে যোগ দিন"},crJoinSub:{en:"Help us build the future of digital finance in Bangladesh",bn:"বাংলাদেশে ডিজিটাল অর্থব্যবস্থার ভবিষ্যৎ গড়তে সহায়তা করুন"},crLoadingOpenings:{en:"Loading openings…",bn:"খোলা পদগুলো লোড হচ্ছে…"},crNoOpenings:{en:"No open positions right now",bn:"এখন কোনো খোলা পদ নেই"},crCheckBack:{en:"Check back later for new opportunities",bn:"নতুন সুযোগের জন্য পরে ফিরে দেখুন"},crGeneral:{en:"General",bn:"সাধারণ"},crDescription:{en:"Description",bn:"বিবরণ"},crRequirements:{en:"Requirements",bn:"যোগ্যতা"},crApplyNow:{en:"Apply Now",bn:"এখন আবেদন করুন"},crApplicationSubmitted:{en:"Application Submitted!",bn:"আবেদন জমা হয়েছে!"},crApplicationReview:{en:"We'll review your application and get back to you.",bn:"আমরা আপনার আবেদন পর্যালোচনা করে যোগাযোগ করব।"},crYourApplication:{en:"Your Application",bn:"আপনার আবেদন"},crFullNameReq:{en:"Full name *",bn:"পূর্ণ নাম *"}
187,crPhoneReq:{en:"Phone number *",bn:"ফোন নম্বর *"},crEmailOpt:{en:"Email (optional)",bn:"ইমেইল (ঐচ্ছিক)"},crCoverNoteOpt:{en:"Cover note (optional)",bn:"কভার নোট (ঐচ্ছিক)"},crSubmitApp:{en:"Submit Application",bn:"আবেদন জমা দিন"},crNamePhoneRequired:{en:"Name and phone are required",bn:"নাম ও ফোন প্রয়োজন"},crSignInToApply:{en:"Please sign in to apply",bn:"আবেদন করতে সাইন ইন করুন"},agBillPay:{en:"Bill Pay",bn:"বিল পরিশোধ"},agBillPayTagline:{en:"Utility bill payments",bn:"ইউটিলিটি বিল পরিশোধ"},agBillCatElectricity:{en:"Electricity",bn:"বিদ্যুৎ"},agBillCatGas:{en:"Gas",bn:"গ্যাস"},agBillCatWater:{en:"Water",bn:"পানি"},agBillCatInternet:{en:"Internet",bn:"ইন্টারনেট"},agBillAccountLabel:{en:"Account / Meter No",bn:"অ্যাকাউন্ট / মিটার নং"},agBillAccountPh:{en:"Enter account number",bn:"অ্যাকাউন্ট নম্বর দিন"},agBillAmountLabel:{en:"Amount (৳)",bn:"পরিমাণ (৳)"},agBillAmountPh:{en:"Enter amount",bn:"পরিমাণ লিখুন"},agBillEnterPin:{en:"Enter PIN",bn:"পিন লিখুন"},agBillSlideToPay:{en:"Slide to Pay",bn:"পরিশোধ করতে স্লাইড করুন"},agBillProcessing:{en:"Processing…",bn:"প্রক্রিয়াকরণ…"},agBillBack:{en:"Back",bn:"পিছনে"},agBillPaidTitle:{en:"Bill Paid Successfully",bn:"বিল সফলভাবে পরিশোধিত"},agBillPaidDesc:{en:"৳{amount} paid to {name}",bn:"{name}-কে ৳{amount} পরিশোধ করা হয়েছে"},agBillPayAnother:{en:"Pay Another Bill",bn:"আরেকটি বিল পরিশোধ করুন"},agBillBackToDash:{en:"Back to Dashboard",bn:"ড্যাশবোর্ডে ফিরে যান"},agBillWrongPin:{en:"Wrong PIN",bn:"ভুল পিন"},agBillWrongPinDesc:{en:"Incorrect PIN. Please try again.",bn:"ভুল পিন। আবার চেষ্টা করুন।"},agBillPaid:{en:"Bill Paid",bn:"বিল পরিশোধিত"},agBillFailed:{en:"Failed",bn:"ব্যর্থ"},agBillScanQr:{en:"Scan Account QR",bn:"অ্যাকাউন্ট QR স্ক্যান করুন"}
187,agLbLeaderboard:{en:"Leaderboard",bn:"লিডারবোর্ড"},agLbTopAgentsTerritory:{en:"Top agents · {code} · last 30 days",bn:"শীর্ষ এজেন্ট · {code} · গত ৩০ দিন"},agLbLast30:{en:"Last 30 days",bn:"গত ৩০ দিন"},agLbNoData:{en:"No leaderboard data yet.",bn:"এখনো কোনো লিডারবোর্ড তথ্য নেই।"},agLbYou:{en:"YOU",bn:"আপনি"},agLbTxns:{en:"{count} txns",bn:"{count} লেনদেন"},agLbVolume:{en:"volume",bn:"ভলিউম"},agLbYouRank:{en:"You are #{rank} of {total}",bn:"আপনি {total}-এর মধ্যে #{rank}"},agHistTitle:{en:"Agent Transactions",bn:"এজেন্ট লেনদেন"},agHistEarned:{en:"৳{amount} earned",bn:"৳{amount} অর্জিত"},agHistLoginRequired:{en:"Login required",bn:"লগইন প্রয়োজন"},agHistGoToLogin:{en:"Go to Login",bn:"লগইনে যান"},agHistEarningsSummary:{en:"Earnings Summary",bn:"আয়ের সারাংশ"},agHistCommission:{en:"Commission",bn:"কমিশন"},agHistVolume:{en:"Volume",bn:"ভলিউম"},agHistCashOut:{en:"Cash Out",bn:"ক্যাশ আউট"},agHistCashIn:{en:"Cash In",bn:"ক্যাশ ইন"},agHistFlagSuspicious:{en:"Flag suspicious activity",bn:"সন্দেহজনক কার্যকলাপ রিপোর্ট করুন"},agSecTitle:{en:"Security",bn:"নিরাপত্তা"},agSecTagline:{en:"PIN & active sessions",bn:"পিন ও সক্রিয় সেশন"},agSecActiveSessions:{en:"Active Sessions",bn:"সক্রিয় সেশন"},agSecActiveCount:{en:"{count} active",bn:"{count} সক্রিয়"},agSecLoading:{en:"Loading…",bn:"লোড হচ্ছে…"},agSecNoSessions:{en:"No active sessions",bn:"কোনো সক্রিয় সেশন নেই"},agSecThisDevice:{en:"This device",bn:"এই ডিভাইস"},agSecDevice:{en:"Device",bn:"ডিভাইস"},agSecPortal:{en:"Portal:",bn:"পোর্টাল:"},agSecLastActive:{en:"Last active:",bn:"সর্বশেষ সক্রিয়:"},agSecFirstRegistered:{en:"First registered:",bn:"প্রথম নিবন্ধিত:"},agSecSignOut:{en:"Sign out",bn:"সাইন আউট"},agSecRevoke:{en:"Revoke",bn:"প্রত্যাহার"},agSecSignOutAllOthers:{en:"Sign out from all other devices",bn:"অন্যান্য সকল ডিভাইস থেকে সাইন আউট"},agSecRecentlyRevoked:{en:"Recently revoked ({count})",bn:"সম্প্রতি প্রত্যাহৃত ({count})"},agSecConfirmSignOutThis:{en:"Sign out from THIS device? You will be logged out immediately.",bn:"এই ডিভাইস থেকে সাইন আউট করবেন? আপনি তৎক্ষণাৎ লগআউট হবেন।"},agSecConfirmSignOutOthers:{en:"Sign out from ALL other devices?",bn:"অন্যান্য সকল ডিভাইস থেকে সাইন আউট করবেন?"},agSecSessionRevoked:{en:"Session revoked",bn:"সেশন প্রত্যাহার করা হয়েছে"},agSecAllOthersRevoked:{en:"All other sessions revoked",bn:"অন্যান্য সকল সেশন প্রত্যাহার করা হয়েছে"},agSecRevokeFailed:{en:"Revoke failed",bn:"প্রত্যাহার ব্যর্থ"},agSecLoadDevicesFailed:{en:"Failed to load devices",bn:"ডিভাইস লোড করতে ব্যর্থ"},agSecFailed:{en:"Failed",bn:"ব্যর্থ"},agSecChangePin:{en:"Change PIN",bn:"পিন পরিবর্তন"},agSecChangePinDesc:{en:"Update your 4-digit transaction PIN",bn:"আপনার ৪-সংখ্যার লেনদেন পিন আপডেট করুন"},agSecForgotPin:{en:"Forgot PIN?",bn:"পিন ভুলে গেছেন?"},agSecForgotPinDesc:{en:"Reset with OTP verification if you can't remember it",bn:"মনে না থাকলে OTP যাচাইকরণের মাধ্যমে রিসেট করুন"},agComCancel:{en:"Cancel",bn:"বাতিল"},agComBack:{en:"Back",bn:"পিছনে"},agComContinue:{en:"Continue",bn:"চালিয়ে যান"},agComProcessing:{en:"Processing…",bn:"প্রক্রিয়াকরণ…"},agComAmount:{en:"Amount",bn:"পরিমাণ"},agComAmountLbl:{en:"Amount (৳)",bn:"পরিমাণ (৳)"},agComEnterAmt:{en:"Enter amount",bn:"পরিমাণ লিখুন"},agComEnterPin:{en:"Enter PIN",bn:"পিন লিখুন"},agComYourPin:{en:"Your PIN",bn:"আপনার পিন"},agComFree:{en:"Free",bn:"ফ্রি"},agComFee:{en:"Fee",bn:"ফি"},agComBackToDash:{en:"Back to Dashboard",bn:"ড্যাশবোর্ডে ফিরে যান"},agComScanCustQr:{en:"Scan Customer QR",bn:"গ্রাহকের QR স্ক্যান করুন"},agComIncorrectPin:{en:"Incorrect PIN",bn:"ভুল পিন"},agComTryAgain:{en:"Please try again.",bn:"আবার চেষ্টা করুন।"},agComFailed:{en:"Failed",bn:"ব্যর্থ"},agComRefresh:{en:"Refresh",bn:"রিফ্রেশ"},agComLoading:{en:"Loading…",bn:"লোড হচ্ছে…"},agComCustomer:{en:"Customer",bn:"গ্রাহক"},agComPhone:{en:"Phone",bn:"ফোন"},agComNote:{en:"Note (Optional)",bn:"নোট (ঐচ্ছিক)"},agComTotal:{en:"Total",bn:"মোট"},agComReceiverGets:{en:"Receiver gets",bn:"প্রাপক পাবেন"},agComYouPay:{en:"You pay",bn:"আপনি পরিশোধ করবেন"},agComReference:{en:"Reference",bn:"রেফারেন্স"}
187,agComTo:{en:"To",bn:"প্রতি"},agComOtpCode:{en:"OTP Code",bn:"OTP কোড"},agCinTitle:{en:"Cash In",bn:"ক্যাশ ইন"},agCinTagline:{en:"Deposit to customer wallet",bn:"গ্রাহকের ওয়ালেটে জমা"},agCinCustPhone:{en:"Customer Phone",bn:"গ্রাহকের ফোন"},agCinCommissionLine:{en:"Commission",bn:"কমিশন"},agCinCommissionRate:{en:"Commission (0.499%)",bn:"কমিশন (০.৪৯৯%)"},agCinConfirm:{en:"Confirm Cash In",bn:"ক্যাশ ইন নিশ্চিত করুন"},agCinSlideDeposit:{en:"Slide to Deposit",bn:"জমা করতে স্লাইড করুন"},agCinSuccess:{en:"Cash In Successful",bn:"ক্যাশ ইন সফল"},agCinCommissionEarned:{en:"Commission earned",bn:"অর্জিত কমিশন"},agCinNewTxn:{en:"New Transaction",bn:"নতুন লেনদেন"},agCoutTitle:{en:"Cash Out",bn:"ক্যাশ আউট"},agCoutTagline:{en:"Customer withdrawal (OTP verified)",bn:"গ্রাহকের উত্তোলন (OTP যাচাইকৃত)"}
187,agCoutConfirm:{en:"Confirm Cash Out",bn:"ক্যাশ আউট নিশ্চিত করুন"},agCoutSlideWithdraw:{en:"Slide to Withdraw",bn:"উত্তোলন করতে স্লাইড করুন"},agCoutAskCode:{en:"Ask customer for the 6-digit code",bn:"গ্রাহকের কাছে ৬ সংখ্যার কোড চান"},agCoutSendOtp:{en:"Send OTP to Customer",bn:"গ্রাহককে OTP পাঠান"},agCoutSendingOtp:{en:"Sending OTP…",bn:"OTP পাঠানো হচ্ছে…"},agCoutResendOtp:{en:"Resend OTP",bn:"OTP পুনরায় পাঠান"},agCoutHandCash:{en:"Hand ৳{amount} in cash",bn:"নগদ ৳{amount} হস্তান্তর করুন"},agCoutFeeCustPaid:{en:"Fee (customer paid)",bn:"ফি (গ্রাহক পরিশোধিত)"},agCoutNewCashOut:{en:"New Cash Out",bn:"নতুন ক্যাশ আউট"},agCoutAmountPh:{en:"Enter amount (min 50, max 25,000)",bn:"পরিমাণ লিখুন (ন্যূনতম ৫০, সর্বোচ্চ ২৫,০০০)"},agB2bTitle:{en:"B2B Transfer",bn:"B2B ট্রান্সফার"},agB2bTagline:{en:"Agent or Distributor",bn:"এজেন্ট বা ডিস্ট্রিবিউটর"},agB2bAgent:{en:"🏪 Agent",bn:"🏪 এজেন্ট"},agB2bDistributor:{en:"🏢 Distributor",bn:"🏢 ডিস্ট্রিবিউটর"},agB2bLinkedDist:{en:"Linked Distributor",bn:"সংযুক্ত ডিস্ট্রিবিউটর"},agB2bNoDist:{en:"No distributor linked to your agent account.",bn:"আপনার এজেন্ট অ্যাকাউন্টে কোনো ডিস্ট্রিবিউটর সংযুক্ত নেই।"},agB2bAgentPhone:{en:"Agent Phone",bn:"এজেন্টের ফোন"},agB2bNotePh:{en:"e.g. Float repayment",bn:"যেমন: ফ্লোট পরিশোধ"}
187,agB2bConfirm:{en:"Confirm B2B Transfer",bn:"B2B ট্রান্সফার নিশ্চিত করুন"},agB2bSlideTransfer:{en:"Slide to Transfer",bn:"ট্রান্সফার করতে স্লাইড করুন"},agB2bSuccess:{en:"Transfer Successful",bn:"ট্রান্সফার সফল"},agB2bNewTransfer:{en:"New Transfer",bn:"নতুন ট্রান্সফার"},agB2bFeeFromReceiver:{en:"৳{fee} (from receiver)",bn:"৳{fee} (প্রাপক থেকে)"},agB2bScanQr:{en:"Scan {type} QR",bn:"{type} QR স্ক্যান করুন"},agBtTitle:{en:"Bank Transfer",bn:"ব্যাংক ট্রান্সফার"},agBtSendMode:{en:"Send to Bank",bn:"ব্যাংকে পাঠান"},agBtReceiveMode:{en:"Receive from Bank",bn:"ব্যাংক থেকে গ্রহণ"},agBtSavedAccounts:{en:"Saved Accounts",bn:"সংরক্ষিত অ্যাকাউন্ট"},agBtAddBank:{en:"Add Bank",bn:"ব্যাংক যোগ করুন"},agBtNoAccounts:{en:"No saved bank accounts",bn:"কোনো সংরক্ষিত ব্যাংক অ্যাকাউন্ট নেই"},agBtAddFirst:{en:"Add Your First Bank",bn:"আপনার প্রথম ব্যাংক যোগ করুন"},agBtEnterYourPin:{en:"Enter Your PIN",bn:"আপনার পিন লিখুন"},agBtVerifyPin:{en:"Verify PIN",bn:"পিন যাচাই করুন"},agBtVerifying:{en:"Verifying…",bn:"যাচাই করা হচ্ছে…"},agBtConfirmSend:{en:"Confirm Bank Transfer",bn:"ব্যাংক ট্রান্সফার নিশ্চিত করুন"},agBtConfirmReceive:{en:"Confirm Bank Deposit",bn:"ব্যাংক জমা নিশ্চিত করুন"},agBtSlideSend:{en:"Slide to Send",bn:"পাঠাতে স্লাইড করুন"},agBtSlideReceive:{en:"Slide to Receive",bn:"গ্রহণ করতে স্লাইড করুন"},agBtTransferSuccess:{en:"Transfer Successful",bn:"ট্রান্সফার সফল"},agBtDepositSuccess:{en:"Deposit Successful",bn:"জমা সফল"},agBtNewTransfer:{en:"New Transfer",bn:"নতুন ট্রান্সফার"},agBtAddBankAcct:{en:"Add Bank Account",bn:"ব্যাংক অ্যাকাউন্ট যোগ করুন"},agBtBankName:{en:"Bank Name",bn:"ব্যাংকের নাম"},agBtChooseBank:{en:"Choose a bank…",bn:"একটি ব্যাংক নির্বাচন করুন…"},agBtSearchBanks:{en:"Search banks…",bn:"ব্যাংক খুঁজুন…"},agBtNoBanks:{en:"No banks found",bn:"কোনো ব্যাংক পাওয়া যায়নি"},agBtAccNumber:{en:"Account Number",bn:"অ্যাকাউন্ট নম্বর"},agBtAccNumberPh:{en:"Enter account number",bn:"অ্যাকাউন্ট নম্বর দিন"},agBtAccHolder:{en:"Account Holder Name",bn:"অ্যাকাউন্টধারীর নাম"},agBtAccHolderPh:{en:"Enter full name",bn:"পূর্ণ নাম লিখুন"},agBtSaveAcct:{en:"Save Bank Account",bn:"ব্যাংক অ্যাকাউন্ট সংরক্ষণ করুন"},agBtRemoveTitle:{en:"Remove Bank Account?",bn:"ব্যাংক অ্যাকাউন্ট মুছবেন?"},agBtRemove:{en:"Remove",bn:"মুছুন"},agBtFeeCharged:{en:"Fee charged",bn:"প্রযোজ্য ফি"},agBtConfirmTransfer:{en:"Confirm transfer of ৳{amount}",bn:"৳{amount} ট্রান্সফার নিশ্চিত করুন"},agBtConfirmDeposit:{en:"Confirm deposit of ৳{amount}",bn:"৳{amount} জমা নিশ্চিত করুন"},agBtBank:{en:"Bank",bn:"ব্যাংক"},agBtAccount:{en:"Account",bn:"অ্যাকাউন্ট"},agBtHolder:{en:"Holder",bn:"ধারক"},agBtSentTo:{en:"sent to",bn:"পাঠানো হয়েছে"},agBtReceivedFrom:{en:"received from",bn:"গ্রহণ করা হয়েছে"},agAnaTitle:{en:"Analytics",bn:"বিশ্লেষণ"},agAnaDaily:{en:"Daily",bn:"দৈনিক"}
187,agAnaWeekly:{en:"Weekly",bn:"সাপ্তাহিক"},agAnaMonthly:{en:"Monthly",bn:"মাসিক"},agAnaTxns:{en:"Transactions",bn:"লেনদেন"},agAnaVolume:{en:"Volume",bn:"ভলিউম"},agAnaCommission:{en:"Commission",bn:"কমিশন"},agAnaTrend:{en:"Trend",bn:"প্রবণতা"},agAnaCommByType:{en:"Commission by Type",bn:"প্রকার অনুসারে কমিশন"},agAnaPeakHours:{en:"Peak Hours",bn:"ব্যস্ততম সময়"},agAnaBreakdown:{en:"Breakdown",bn:"বিভাজন"},agAnaNoData:{en:"No data",bn:"কোনো তথ্য নেই"},agAnaNoComm:{en:"No commission data",bn:"কোনো কমিশন তথ্য নেই"},agAnaNoTxns:{en:"No transactions",bn:"কোনো লেনদেন নেই"},agAnaTxnCount:{en:"{count} txns",bn:"{count} লেনদেন"},agAnaCashIn:{en:"Cash In",bn:"ক্যাশ ইন"},agAnaCashOut:{en:"Cash Out",bn:"ক্যাশ আউট"},agAnaB2b:{en:"B2B Transfer",bn:"B2B ট্রান্সফার"},agAnaBank:{en:"Bank Transfer",bn:"ব্যাংক ট্রান্সফার"},agAnaBill:{en:"Bill Pay",bn:"বিল পরিশোধ"},agStTitle:{en:"Statement & EOD",bn:"স্টেটমেন্ট ও EOD"},agStTagline:{en:"Reconcile cash and export reports",bn:"নগদ মিলান ও রিপোর্ট এক্সপোর্ট করুন"},agStDateRange:{en:"Date Range",bn:"তারিখের পরিসর"},agStFrom:{en:"From",bn:"থেকে"},agStTo:{en:"To",bn:"পর্যন্ত"},agStToday:{en:"Today",bn:"আজ"},agStEodSummary:{en:"EOD Summary",bn:"EOD সারাংশ"},agStCashOutRecv:{en:"Cash Out Received (wallet in)",bn:"ক্যাশ আউট গৃহীত (ওয়ালেটে)"},agStCashInSent:{en:"Cash In Sent (wallet out)",bn:"ক্যাশ ইন প্রেরিত (ওয়ালেট থেকে)"},agStB2bSend:{en:"B2B Send",bn:"B2B প্রেরণ"},agStBankTransfer:{en:"Bank Transfer",bn:"ব্যাংক ট্রান্সফার"},agStBillPay:{en:"Bill Pay",bn:"বিল পরিশোধ"},agStFeesPaid:{en:"Fees Paid",bn:"পরিশোধিত ফি"},agStCommEarned:{en:"Commission Earned",bn:"অর্জিত কমিশন"},agStWalletBal:{en:"Wallet Balance",bn:"ওয়ালেট ব্যালেন্স"},agStNetCash:{en:"Net Cash in Hand",bn:"হাতে থাকা নেট নগদ"},agStNetCashDesc:{en:"Cash In Sent − Cash Out Received over the selected period",bn:"নির্বাচিত সময়ে ক্যাশ ইন প্রেরিত − ক্যাশ আউট গৃহীত"},agStExport:{en:"Export",bn:"এক্সপোর্ট"},agStTxnsCount:{en:"{count} txns",bn:"{count} লেনদেন"},agDispTitle:{en:"Disputes",bn:"বিরোধ"},agDispTagline:{en:"Report transaction issues",bn:"লেনদেনের সমস্যা রিপোর্ট করুন"},agDispNew:{en:"New",bn:"নতুন"},agDispNoDisputes:{en:"No disputes filed",bn:"কোনো বিরোধ দাখিল করা হয়নি"},agDispNoDisputesDesc:{en:"Report any transaction issue and support will follow up.",bn:"যেকোনো লেনদেন সমস্যা রিপোর্ট করুন, সাপোর্ট যোগাযোগ করবে।"},agDispFile:{en:"File a dispute",bn:"বিরোধ দাখিল করুন"},agDispFiled:{en:"Filed:",bn:"দাখিল:"},agDispEvidence:{en:"Evidence",bn:"প্রমাণ"},agDispResolution:{en:"Resolution",bn:"সমাধান"},agDispViewDetails:{en:"View details",bn:"বিস্তারিত দেখুন"},agDispCancel:{en:"Cancel dispute",bn:"বিরোধ বাতিল করুন"},agDispRelatedTxn:{en:"Related transaction (optional)",bn:"সম্পর্কিত লেনদেন (ঐচ্ছিক)"},agDispNone:{en:"— None —",bn:"— কোনোটি নয় —"},agDispReason:{en:"Reason",bn:"কারণ"}
187,agDispCustomReason:{en:"Custom reason",bn:"কাস্টম কারণ"},agDispCustomPh:{en:"Describe briefly",bn:"সংক্ষেপে বর্ণনা করুন"},agDispDescription:{en:"Description",bn:"বিবরণ"},agDispDescPh:{en:"What happened? Include amount, counterparty, and time if relevant.",bn:"কী ঘটেছিল? পরিমাণ, প্রতিপক্ষ ও সময় উল্লেখ করুন।"},agDispEvidenceLbl:{en:"Evidence (optional, max 5MB)",bn:"প্রমাণ (ঐচ্ছিক, সর্বোচ্চ ৫MB)"},agDispSubmit:{en:"File dispute",bn:"বিরোধ দাখিল"},agDispSubmitting:{en:"Submitting…",bn:"জমা দেওয়া হচ্ছে…"},agDispStOpen:{en:"Submitted",bn:"জমা দেওয়া হয়েছে"},agDispStReview:{en:"Under review",bn:"পর্যালোচনাধীন"},agDispStResolved:{en:"Resolved",bn:"সমাধান হয়েছে"},agDispStRejected:{en:"Rejected",bn:"প্রত্যাখ্যাত"},agDispSubjCashinNotCred:{en:"Cash-in not credited",bn:"ক্যাশ-ইন ক্রেডিট হয়নি"},agDispSubjCashoutMismatch:{en:"Cash-out amount mismatch",bn:"ক্যাশ-আউট পরিমাণ অমিল"},agDispSubjWrongDebit:{en:"Wrong customer debited",bn:"ভুল গ্রাহক ডেবিট"},agDispSubjDuplicate:{en:"Duplicate transaction",bn:"ডুপ্লিকেট লেনদেন"},agDispSubjCommNotCred:{en:"Commission not credited",bn:"কমিশন ক্রেডিট হয়নি"},agDispSubjBillFailed:{en:"Bill payment failed but debited",bn:"বিল পরিশোধ ব্যর্থ কিন্তু ডেবিট"},agDispSubjOther:{en:"Other",bn:"অন্যান্য"},distLoginTitle:{en:"EasyPay Distributor Portal",bn:"ইজিপে ডিস্ট্রিবিউটর পোর্টাল"},distLoginTagline:{en:"Manage agents, float and commissions.",bn:"এজেন্ট, ফ্লোট ও কমিশন পরিচালনা করুন।"},distLoginMetaDesc:{en:"EasyPay Distributor sign-in — create agents, manage float and track commissions.",bn:"ইজিপে ডিস্ট্রিবিউটর সাইন-ইন — এজেন্ট তৈরি, ফ্লোট পরিচালনা ও কমিশন ট্র্যাক করুন।"},distLoginSignInSuffix:{en:"Sign in",bn:"সাইন ইন"},distLoginMobileLabel:{en:"Distributor mobile number",bn:"ডিস্ট্রিবিউটর মোবাইল নম্বর"},distLoginPinLabel:{en:"4-digit PIN",bn:"৪-সংখ্যার পিন"},distLoginInvalidPhone:{en:"Enter a valid 11-digit distributor mobile number.",bn:"সঠিক ১১-সংখ্যার ডিস্ট্রিবিউটর মোবাইল নম্বর দিন।"},distLoginInvalidPin:{en:"Enter your 4-digit PIN.",bn:"আপনার ৪-সংখ্যার পিন দিন।"},distLoginInvalidCreds:{en:"Incorrect phone number or PIN.",bn:"ভুল ফোন নম্বর বা পিন।"},distLoginGenericErr:{en:"Unable to sign in right now.",bn:"এখন সাইন ইন করা যাচ্ছে না।"},distLoginSubmitting:{en:"Signing in…",bn:"সাইন ইন হচ্ছে…"},distLoginSubmit:{en:"Sign in as Distributor",bn:"ডিস্ট্রিবিউটর হিসেবে সাইন ইন"},distLoginSignedIn:{en:"Signed in",bn:"সাইন ইন সফল"},distLoginForgotPin:{en:"Forgot PIN?",bn:"পিন ভুলে গেছেন?"},distLoginOnlyNote:{en:"Distributors only",bn:"শুধু ডিস্ট্রিবিউটরদের জন্য"},distLoginProvisioned:{en:"Distributor accounts are provisioned by your Super Distributor or Admin.",bn:"ডিস্ট্রিবিউটর অ্যাকাউন্ট আপনার সুপার ডিস্ট্রিবিউটর বা অ্যাডমিন কর্তৃক প্রদান করা হয়।"},sdLoginTitle:{en:"EasyPay Super Distributor",bn:"ইজিপে সুপার ডিস্ট্রিবিউটর"},sdLoginTagline:{en:"Oversee your distributor network & commissions.",bn:"আপনার ডিস্ট্রিবিউটর নেটওয়ার্ক ও কমিশন তদারকি করুন।"},sdLoginMetaDesc:{en:"EasyPay Super Distributor sign-in — manage distributors, float and commission networks.",bn:"ইজিপে সুপার ডিস্ট্রিবিউটর সাইন-ইন — ডিস্ট্রিবিউটর, ফ্লোট ও কমিশন নেটওয়ার্ক পরিচালনা করুন।"},sdLoginMobileLabel:{en:"Mobile number",bn:"মোবাইল নম্বর"},sdLoginInvalidPhone:{en:"Enter a valid 11-digit mobile number.",bn:"সঠিক ১১-সংখ্যার মোবাইল নম্বর দিন।"},sdLoginSubmit:{en:"Sign in",bn:"সাইন ইন"},sdLoginOnlyNote:{en:"Super distributors only",bn:"শুধু সুপার ডিস্ট্রিবিউটরদের জন্য"},sdLoginProvisioned:{en:"Super Distributor accounts are provisioned by Admin.",bn:"সুপার ডিস্ট্রিবিউটর অ্যাকাউন্ট অ্যাডমিন কর্তৃক প্রদান করা হয়।"},mmLoginBadge:{en:"Store Manager Access",bn:"স্টোর ম্যানেজার অ্যাক্সেস"},mmLoginTitle:{en:"Manager sign-in",bn:"ম্যানেজার সাইন-ইন"},mmLoginTagline:{en:"Access the store you've been added to.",bn:"যে স্টোরে আপনাকে যুক্ত করা হয়েছে সেখানে প্রবেশ করুন।"},mmLoginFirstVisitTitle:{en:"Use your own phone & PIN",bn:"নিজের ফোন ও পিন ব্যবহার করুন"},mmLoginFirstVisitBefore:{en:"Sign in with the EasyPay account the store owner inv
187ited — not the owner's number. New here?",bn:"স্টোর মালিক আপনাকে যে ইজিপে অ্যাকাউন্টে আমন্ত্রণ করেছেন সেটি দিয়ে সাইন ইন করুন — মালিকের নম্বর নয়। নতুন এখানে?"},mmLoginSignUpFirst:{en:"Sign up first",bn:"প্রথমে সাইন আপ করুন"},mmLoginFirstVisitAfter:{en:", then ask the owner to add you.",bn:"। তারপর মালিককে আপনাকে যুক্ত করতে বলুন।"},mmLoginLockedTitle:{en:"Account temporarily locked",bn:"অ্যাকাউন্ট সাময়িকভাবে লকড"},mmLoginLockedBefore:{en:"Too many failed sign-in attempts. Try again in",bn:"অনেকবার ব্যর্থ সাইন-ইন চেষ্টা। আবার চেষ্টা করুন"},mmLoginWrongPinTitle:{en:"Incorrect PIN",bn:"ভুল পিন"},mmLoginWrongPinRetry:{en:"Please double-check your PIN and try again.",bn:"অনুগ্রহ করে আপনার পিন যাচাই করে আবার চেষ্টা করুন।"},mmLoginAttemptsSingular:{en:"attempt remaining before this account is temporarily locked.",bn:"চেষ্টা বাকি — এরপর অ্যাকাউন্ট সাময়িকভাবে লক হবে।"},mmLoginAttemptsPlural:{en:"attempts remaining before this account is temporarily locked.",bn:"চেষ্টা বাকি — এরপর অ্যাকাউন্ট সাময়িকভাবে লক হবে।"},mmLoginPhoneLabel:{en:"Your mobile number",bn:"আপনার মোবাইল নম্বর"},mmLoginPinLabel:{en:"Your 4-digit PIN",bn:"আপনার ৪-সংখ্যার পিন"},mmLoginSubmit:{en:"Sign in as Manager",bn:"ম্যানেজার হিসেবে সাইন ইন"},mmLoginSubmitting:{en:"Signing in...",bn:"সাইন ইন হচ্ছে..."},mmLoginLockedBtn:{en:"Locked — try again in",bn:"লকড — আবার চেষ্টা করুন"},mmLoginTrustSecure:{en:"Secure PIN",bn:"নিরাপদ পিন"},mmLoginTrustEncrypted:{en:"Encrypted",bn:"এনক্রিপ্টেড"},mmLoginTrustBank:{en:"Bank-grade",bn:"ব্যাংক-গ্রেড"},mmLoginForgot:{en:"Forgot PIN?",bn:"পিন ভুলে গেছেন?"},mmLoginResetSecurely:{en:"Reset securely",bn:"নিরাপদে রিসেট"},mmLoginToastPhone:{en:"Enter your own 11-digit Bangladeshi mobile number",bn:"নিজের ১১-সংখ্যার বাংলাদেশি মোবাইল নম্বর দিন"},mmLoginToastPin:{en:"Enter your 4-digit PIN",bn:"আপনার ৪-সংখ্যার পিন দিন"},mmLoginToastLocked:{en:"Too many failed attempts. Please wait.",bn:"অনেকবার ব্যর্থ চেষ্টা। অনুগ্রহ করে অপেক্ষা করুন।"},mmLoginToastNotMgr:{en:"This account isn't an active store manager",bn:"এই অ্যাকাউন্টটি সক্রিয় স্টোর ম্যানেজার নয়"},mmLoginToastNotMgrDesc:{en:"Ask the store owner to add your number as a Manager from Staff settings.",bn:"স্টোর মালিককে বলুন Staff সেটিংস থেকে আপনার নম্বর ম্যানেজার হিসেবে যুক্ত করতে।"},mmLoginToastWrong:{en:"Incorrect PIN",bn:"ভুল পিন"},mmLoginToastFail:{en:"Sign-in failed",bn:"সাইন-ইন ব্যর্থ"},mmLoginToastSessionExpired:{en:"Session expired. Please sign in again.",bn:"সেশন শেষ। আবার সাইন ইন করুন।"},mmLoginToastVerifyFail:{en:"Verification didn't unlock the session.",bn:"যাচাইকরণে সেশন আনলক হয়নি।"},mmLoginToastCodeSent:{en:"New code sent",bn:"নতুন কোড পাঠানো হয়েছে"}
187,mmLoginToastSessionStart:{en:"Failed to start session",bn:"সেশন শুরু করতে ব্যর্থ"},mmLoginToastCodeFail:{en:"Couldn't send verification code",bn:"যাচাইকরণ কোড পাঠানো যায়নি"},mmLoginWelcome:{en:"Welcome back, Manager!",bn:"স্বাগতম, ম্যানেজার!"},distDashHubDefault:{en:"Distributor Hub",bn:"ডিস্ট্রিবিউটর হাব"},distDashFloatBalance:{en:"Float Balance",bn:"ফ্লোট ব্যালেন্স"},distDashHealthy:{en:"Healthy",bn:"সুস্থ"},distDashLow:{en:"Low",bn:"কম"},distDashCritical:{en:"Critical",bn:"সংকটজনক"},distDashActiveAgents:{en:"Active Agents",bn:"সক্রিয় এজেন্ট"},distDashPending:{en:"Pending",bn:"অপেক্ষমাণ"},distDashCustomers:{en:"Customers",bn:"গ্রাহক"},distDashNetworkEarned:{en:"Network Earned",bn:"নেটওয়ার্ক আয়"},distDashLoginRequired:{en:"Login required",bn:"লগইন প্রয়োজন"},distDashGoToLogin:{en:"Go to Login",bn:"লগইনে যান"},distDashAccessReq:{en:"Distributor Access Required",bn:"ডিস্ট্রিবিউটর অ্যাক্সেস প্রয়োজন"},distDashBackHome:{en:"Back to Home",bn:"হোমে ফিরুন"},distDashQaCreateAgent:{en:"Create Agent",bn:"এজেন্ট তৈরি"},distDashQaFloatSend:{en:"Float Send",bn:"ফ্লোট পাঠান"},distDashQaAgents:{en:"Agents",bn:"এজেন্ট"},distDashQaAgentTxns:{en:"Agent Txns",bn:"এজেন্ট লেনদেন"},distDashQaSettle:{en:"Settle",bn:"সেটল"},distDashQaEarnings:{en:"Earnings",bn:"আয়"},distDashQaHistory:{en:"History",bn:"ইতিহাস"},distDashQaSupport:{en:"Support",bn:"সাপোর্ট"},distDashDistributeFloat:{en:"Distribute Float",bn:"ফ্লোট বিতরণ"},distDashNotifs:{en:"Notifications",bn:"নোটিফিকেশন"},distDashSupport:{en:"Support",bn:"সাপোর্ট"},distDashAgentNetwork:{en:"Agent Network",bn:"এজেন্ট নেটওয়ার্ক"},distDashNoAgents:{en:"No agents found",bn:"কোনো এজেন্ট পাওয়া যায়নি"},distDashTxnsToday:{en:"txns today",bn:"আজকের লেনদেন"},distDashTapToSee:{en:"Tap to see balance",bn:"ব্যালেন্স দেখতে ট্যাপ করুন"},distDashMax:{en:"Max",bn:"সর্বোচ্চ"},distDash7DayVolume:{en:"7-Day Volume",bn:"৭-দিনের ভলিউম"},distDashVolume:{en:"Volume",bn:"ভলিউম"},distDashNetworkHealth:{en:"Network Health",bn:"নেটওয়ার্ক স্বাস্থ্য"},distDashPendingApproval:{en:"{n} agent(s) pending approval",bn:"{n} এজেন্ট অনুমোদনের অপেক্ষায়"},distDashReview:{en:"Review",bn:"পর্যালোচনা"},distDashSuspended:{en:"{n} suspended",bn:"{n} স্থগিত"},distDashAllOperational:{en:"All agents operational",bn:"সব এজেন্ট সক্রিয়"},distDashNoAgentsInNet:{en:"No agents in network",bn:"নেটওয়ার্কে কোনো এজেন্ট নেই"},distDashTopPerforming:{en:"Top Performing Agents",bn:"সেরা এজেন্টগণ"},distDashNoAgentsYet:{en:"No agents yet",bn:"এখনো কোনো এজেন্ট নেই"},distDashTopWillAppear:{en:"Your top performers will appear here",bn:"সেরা পারফর্মাররা এখানে দেখা যাবে"},distDashAgent:{en:"Agent",bn:"এজেন্ট"},distDashAgentDetails:{en:"Agent Details",bn:"এজেন্ট বিবরণ"},distDashUnnamedAgent:{en:"Unnamed Agent",bn:"নামহীন এজেন্ট"},distDashCommission:{en:"Commission",bn:"কমিশন"},distDashMaxFloat:{en:"Max Float",bn:"সর্বোচ্চ ফ্লোট"},distDashJoined:{en:"Joined {date}",bn:"যোগদান {date}"},distDashApprove:{en:"Approve",bn:"অনুমোদন"},distDashReject:{en:"Reject",bn:"প্রত্যাখ্যান"},distDashSuspend:{en:"Suspend",bn:"স্থগিত"},distDashSendFloat:{en:"Send Float",bn:"ফ্লোট পাঠান"},distDashReactivate:{en:"Reactivate",bn:"পুনঃসক্রিয়"}
187,distDashChange:{en:"Change",bn:"পরিবর্তন"},distDashAmountBDT:{en:"Amount (৳)",bn:"পরিমাণ (৳)"},distDashEnterFloatAmt:{en:"Enter float amount",bn:"ফ্লোট পরিমাণ লিখুন"},distDashSending:{en:"Sending…",bn:"পাঠানো হচ্ছে…"},distDashSendAmount:{en:"Send ৳{amt}",bn:"পাঠান ৳{amt}"},distDashNoActiveAgents:{en:"No active agents to distribute float to",bn:"ফ্লোট বিতরণের জন্য কোনো সক্রিয় এজেন্ট নেই"},distDashMaxLabel:{en:"Max",bn:"সর্বোচ্চ"},distDashNoNotifs:{en:"No notifications yet",bn:"এখনো কোনো নোটিফিকেশন নেই"},distDashCommSettlement:{en:"Commission Settlement",bn:"কমিশন সেটেলমেন্ট"},distDashAccumulatedComm:{en:"Accumulated Commission",bn:"সঞ্চিত কমিশন"},distDashSettleNote:{en:"This amount will be transferred to the agent's wallet and their commission counter will be reset to zero.",bn:"এই পরিমাণ এজেন্টের ওয়ালেটে স্থানান্তর হবে এবং তাদের কমিশন কাউন্টার শূন্যে রিসেট হবে।"},distDashProcessing:{en:"Processing…",bn:"প্রক্রিয়াজাত করা হচ্ছে…"},distDashSettleAmount:{en:"Settle ৳{amt}",bn:"সেটল ৳{amt}"},distDashNoPendingComm:{en:"No pending commission to settle",bn:"সেটল করার জন্য কোনো বকেয়া কমিশন নেই"},distDashSelectAgentSettle:{en:"Select an agent to settle commission:",bn:"কমিশন সেটল করতে একজন এজেন্ট নির্বাচন করুন:"},distDashAllSettled:{en:"All commissions are settled!",bn:"সব কমিশন সেটল করা হয়েছে!"},distDashCreateAgent:{en:"Create Agent",bn:"এজেন্ট তৈরি"},distDashSearchAgents:{en:"Search agents...",bn:"এজেন্ট খুঁজুন..."},distDashAll:{en:"All",bn:"সব"},distDashActive:{en:"Active",bn:"সক্রিয়"},distDashCustomersLbl:{en:"Customers",bn:"গ্রাহক"},distDashEarned:{en:"Earned",bn:"উপার্জিত"},distDashSince:{en:"Since",bn:"থেকে"},distDashTerritoryOverview:{en:"Territory Overview",bn:"টেরিটরি সংক্ষিপ্ত বিবরণ"},distDashAreas:{en:"Areas",bn:"এলাকা"},distDashAvgAgents:{en:"Avg Agents",bn:"গড় এজেন্ট"},distDashTotalReach:{en:"Total Reach",bn:"মোট পরিসীমা"},distDashNoTerritory:{en:"No territories assigned",bn:"কোনো টেরিটরি বরাদ্দ নেই"},distDashAgentsCount:{en:"{n} agents",bn:"{n} এজেন্ট"},distDashEstimatedEarnings:{en:"Estimated Earnings",bn:"আনুমানিক আয়"},distDashCommRate:{en:"Commission Rate",bn:"কমিশন হার"},distDashRevenueBreakdown:{en:"Revenue Breakdown",bn:"আয়ের বিশ্লেষণ"},distDashSrcCashOut:{en:"Cash Out Commission",bn:"ক্যাশ আউট কমিশন"},distDashSrcCashIn:{en:"Cash In Commission",bn:"ক্যাশ ইন কমিশন"},distDashSrcBillPay:{en:"Bill Pay Commission",bn:"বিল পে কমিশন"},distDashSrcOnboarding:{en:"Agent Onboarding",bn:"এজেন্ট অনবোর্ডিং"},distDashSrcOther:{en:"Other",bn:"অন্যান্য"},distDashOfTotal:{en:"of total",bn:"মোটের"},distDashAgentPerformance:{en:"Agent Performance",bn:"এজেন্ট পারফরম্যান্স"},distDashAgentTxnMonitor:{en:"Agent Transaction Monitor",bn:"এজেন্ট লেনদেন মনিটর"},distDashSelectAgentMonitor:{en:"Select an agent to monitor transactions:",bn:"লেনদেন মনিটর করতে একজন এজেন্ট নির্বাচন করুন:"},distDashNoAgentsInYours:{en:"No agents in your network",bn:"আপনার নেটওয়ার্কে কোনো এজেন্ট নেই"},distDashTxnsLoaded:{en:"{n} txns loaded",bn:"{n} লেনদেন লোড হয়েছে"},distDashBack:{en:"Back",bn:"ফিরুন"},distDashLiveMonitor:{en:"Live monitoring",bn:"লাইভ মনিটরিং"},distDashSearchTxns:{en:"Search by name, phone, ID, type...",bn:"নাম, ফোন, আইডি, ধরন দিয়ে খুঁজুন..."},distDashNoMatchTxns:{en:"No matching transactions",bn:"কোনো মিলে যাওয়া লেনদেন নেই"},distDashNoTxnsYet:{en:"No transactions yet",bn:"এখনো কোনো লেনদেন নেই"},distDashComm:{en:"comm",bn:"কমিশন"},distDashFailed:{en:"Failed",bn:"ব্যর্থ"},distDashUpdated:{en:"Updated",bn:"আপডেট"},distDashStatusChanged:{en:"Agent status → {s}",bn:"এজেন্ট স্ট্যাটাস → {s}"},distDashAgentProfileNotFound:{en:"Agent profile not found",bn:"এজেন্ট প্রোফাইল পাওয়া যায়নি"},distDashFloatDistributed:{en:"Float Distributed",bn:"ফ্লোট বিতরণ হয়েছে"},distDashFloatSentTo:{en:"৳{amt} sent to {name}",bn:"৳{amt} {name} কে পাঠানো হয়েছে"},distDashSettled:{en:"Settled",bn:"সেটল"},distDashCommPaidTo:{en:"৳{amt} commission paid to {name}",bn:"৳{amt} কমিশন {name} কে দেওয়া হয়েছে"},distDashNoCommSettle:{en:"No commission to settle",bn:"সেটল করার মতো কোনো কমিশন নেই"},distDashNeedRole:{en:"You need a distributor role to access this dashboard.",bn:"এই ড্যাশবোর্ড অ্যাক্সেস করতে ডিস্ট্রিবিউটর ভূমিকা প্রয়োজন।"},sdDashDistTxns:{en:"Distributor Transactions",bn:"ডিস্ট্রিবিউটর লেনদেন"}
187,sdDashQaCreateDist:{en:"Create Dist.",bn:"ডিস্ট্রিবিউটর তৈরি"},sdDashTitle:{en:"Super Distributor",bn:"সুপার ডিস্ট্রিবিউটর"},sdDashSummary:{en:"distributors · {a} agents · {t} txns today",bn:"ডিস্ট্রিবিউটর · {a} এজেন্ট · {t} আজকের লেনদেন"},sdDashMasterFloatPool:{en:"Master Float Pool",bn:"মাস্টার ফ্লোট পুল"},sdDashQaFloatSend:{en:"Float Send",bn:"ফ্লোট পাঠান"},sdDashQaDistributors:{en:"Distributors",bn:"ডিস্ট্রিবিউটর"},sdDashQaDistTxns:{en:"Dist Txns",bn:"ডিস্ট লেনদেন"},sdDashQaSettle:{en:"Settle",bn:"সেটল"},sdDashQaReconcile:{en:"Reconcile",bn:"রিকনসাইল"},sdDashQaAnalytics:{en:"Analytics",bn:"অ্যানালিটিক্স"},sdDashQaHistory:{en:"History",bn:"ইতিহাস"},sdDashQaAlerts:{en:"Alerts",bn:"অ্যালার্ট"},sdDashQaSupport:{en:"Support",bn:"সাপোর্ট"},sdDashActive:{en:"Active",bn:"সক্রিয়"},sdDashPending:{en:"Pending",bn:"অপেক্ষমাণ"},sdDashSuspended:{en:"Suspended",bn:"স্থগিত"},sdDashAgents:{en:"Agents",bn:"এজেন্ট"},sdDashAlerts:{en:"Alerts",bn:"অ্যালার্ট"},sdDashTotalTerritories:{en:"Total Territories",bn:"মোট এলাকা"},sdDashTotalCustomers:{en:"Total Customers",bn:"মোট গ্রাহক"},sdDashNetworkComm:{en:"Network Commission",bn:"নেটওয়ার্ক কমিশন"},sdDashOpenAlerts:{en:"Open Alerts",bn:"খোলা অ্যালার্ট"},sdDashMasterFloat:{en:"Master Float",bn:"মাস্টার ফ্লোট"},distCATitle:{en:"Create Agent Account",bn:"এজেন্ট অ্যাকাউন্ট তৈরি"},distCASubtitle:{en:"Register new agent in your network",bn:"আপনার নেটওয়ার্কে নতুন এজেন্ট নিবন্ধন"},distCASectionTitle:{en:"Agent Registration",bn:"এজেন্ট নিবন্ধন"}
187,distCAPhone:{en:"Phone Number *",bn:"মোবাইল নম্বর *"},distCAFullName:{en:"Full Name *",bn:"পুরো নাম *"},distCAFullNamePh:{en:"Agent's full name",bn:"এজেন্টের পুরো নাম"},distCABusinessName:{en:"Business Name",bn:"ব্যবসার নাম"},distCABusinessNamePh:{en:"Shop or business name",bn:"দোকান বা ব্যবসার নাম"},distCANid:{en:"NID Number",bn:"এনআইডি নম্বর"},distCANidPh:{en:"NID",bn:"এনআইডি"},distCALocation:{en:"Location *",bn:"অবস্থান *"},distCALocHint:{en:"Division › District › Upazila / Thana › Union / Powrashava",bn:"বিভাগ › জেলা › উপজেলা / থানা › ইউনিয়ন / পৌরসভা"},distCARouteHint:{en:"Route code (RR) is auto-derived from the district for the agent's wallet ID.",bn:"এজেন্টের ওয়ালেট আইডির জন্য রুট কোড (RR) জেলা থেকে স্বয়ংক্রিয়ভাবে নির্ধারিত হয়।"},distCATradeLicense:{en:"Trade License",bn:"ট্রেড লাইসেন্স"},distCATradeLicensePh:{en:"License #",bn:"লাইসেন্স #"},distCAMaxFloat:{en:"Max Float (৳)",bn:"সর্বোচ্চ ফ্লোট (৳)"},distCASubmit:{en:"Create Agent Account",bn:"এজেন্ট অ্যাকাউন্ট তৈরি করুন"},distCASubmitting:{en:"Creating Agent…",bn:"এজেন্ট তৈরি হচ্ছে…"},distCASuccess:{en:"Agent Created!",bn:"এজেন্ট তৈরি হয়েছে!"},distCASuccessBody:{en:"{name} is now part of your network",bn:"{name} এখন আপনার নেটওয়ার্কের অংশ"},distCAAccountCreated:{en:"Account Created",bn:"অ্যাকাউন্ট তৈরি হয়েছে"},distCAPinNote:{en:'A random PIN has been generated. The agent must use "Forgot PIN" to set their own PIN.',bn:'একটি র‍্যান্ডম পিন তৈরি হয়েছে। এজেন্টকে নিজের পিন সেট করতে "পিন ভুলে গেছি" ব্যবহার করতে হবে।'},distCACreateAnother:{en:"Create Another Agent",bn:"আরেকজন এজেন্ট তৈরি করুন"},distCABackDash:{en:"Back to Dashboard",bn:"ড্যাশবোর্ডে ফিরুন"},distCAToastLocReq:{en:"Location required",bn:"অবস্থান প্রয়োজন"},distCAToastLocReqDesc:{en:"Pick Division → District → Upazila.",bn:"বিভাগ → জেলা → উপজেলা বাছাই করুন।"},distCAToastCreated:{en:"Agent Created",bn:"এজেন্ট তৈরি হয়েছে"},distCAToastCreatedDesc:{en:"{name} has been registered as an agent",bn:"{name}-কে এজেন্ট হিসেবে নিবন্ধন করা হয়েছে"},distCAToastFailed:{en:"Creation Failed",bn:"তৈরি ব্যর্থ"},sdCDTitle:{en:"Create Distributor",bn:"ডিস্ট্রিবিউটর তৈরি"},sdCDCardTitle:{en:"New Distributor Account",bn:"নতুন ডিস্ট্রিবিউটর অ্যাকাউন্ট"},sdCDCardSubtitle:{en:"Create a new distribution hub in your network",bn:"আপনার নেটওয়ার্কে নতুন ডিস্ট্রিবিউশন হাব তৈরি করুন"}
187,sdCDPhone:{en:"Phone Number *",bn:"মোবাইল নম্বর *"},sdCDName:{en:"Full Name",bn:"পুরো নাম"},sdCDNamePh:{en:"Owner's full name",bn:"মালিকের পুরো নাম"},sdCDBusiness:{en:"Business Name *",bn:"ব্যবসার নাম *"},sdCDBusinessPh:{en:"Distribution hub name",bn:"ডিস্ট্রিবিউশন হাবের নাম"},sdCDPrimaryLoc:{en:"Primary Location *",bn:"প্রধান অবস্থান *"},sdCDLocHint:{en:"Division › District › Upazila / Thana › Union / Powrashava",bn:"বিভাগ › জেলা › উপজেলা / থানা › ইউনিয়ন / পৌরসভা"},sdCDTerritories:{en:"Operating Territories",bn:"কার্যকর এলাকা"},sdCDTerritoriesPh:{en:"Select districts",bn:"জেলা বাছাই করুন"},sdCDTerritoriesHint:{en:"Multi-district territory arrays are still 2-letter route codes for wallet ID routing.",bn:"একাধিক জেলার এলাকা অ্যারে এখনও ওয়ালেট আইডি রুটিংয়ের জন্য ২-অক্ষরের রুট কোড।"},sdCDMaxFloat:{en:"Max Float (৳)",bn:"সর্বোচ্চ ফ্লোট (৳)"},sdCDCommission:{en:"Commission Rate (%)",bn:"কমিশন হার (%)"},sdCDSubmit:{en:"Create Distributor Account",bn:"ডিস্ট্রিবিউটর অ্যাকাউন্ট তৈরি করুন"},sdCDSubmitting:{en:"Creating…",bn:"তৈরি হচ্ছে…"},sdCDFooterNote:{en:'The distributor will receive a random PIN and can reset it via "Forgot PIN".',bn:'ডিস্ট্রিবিউটর একটি র‍্যান্ডম পিন পাবেন এবং "পিন ভুলে গেছি" দিয়ে রিসেট করতে পারবেন।'},sdCDLoginReq:{en:"Login required",bn:"লগইন প্রয়োজন"},sdCDGoLogin:{en:"Go to Login",bn:"লগইনে যান"},sdCDSuccessTitle:{en:"Distributor Created!",bn:"ডিস্ট্রিবিউটর তৈরি হয়েছে!"},sdCDSuccessActive:{en:"{name} is now active",bn:"{name} এখন সক্রিয়"},sdCDPinNote:{en:'A random PIN was generated. They should use "Forgot PIN" to set their own.',bn:'একটি র‍্যান্ডম পিন তৈরি হয়েছে। তারা নিজের পিন সেট করতে "পিন ভুলে গেছি" ব্যবহার করবেন।'},sdCDCreateAnother:{en:"Create Another",bn:"আরেকটি তৈরি করুন"},sdCDBackDash:{en:"Back to Dashboard",bn:"ড্যাশবোর্ডে ফিরুন"},sdCDToastMissing:{en:"Missing fields",bn:"অনুপস্থিত ফিল্ড"},sdCDToastMissingDesc:{en:"Phone and business name are required",bn:"ফোন এবং ব্যবসার নাম আবশ্যক"},sdCDToastLocReq:{en:"Location required",bn:"অবস্থান প্রয়োজন"},sdCDToastLocReqDesc:{en:"Pick Division → District → Upazila.",bn:"বিভাগ → জেলা → উপজেলা বাছাই করুন।"},sdCDToastCreated:{en:"Distributor Created",bn:"ডিস্ট্রিবিউটর তৈরি হয়েছে"},sdCDToastCreatedDesc:{en:"{name} account created successfully",bn:"{name} অ্যাকাউন্ট সফলভাবে তৈরি হয়েছে"},sdCDToastFailed:{en:"Failed",bn:"ব্যর্থ"},distFRTitle:{en:"Float Requests",bn:"ফ্লোট অনুরোধ"},distFRLoading:{en:"Loading…",bn:"লোড হচ্ছে…"},distFREmpty:{en:"No pending requests",bn:"কোনো অপেক্ষমাণ অনুরোধ নেই"},distFRAgent:{en:"Agent",bn:"এজেন্ট"},distFRReject:{en:"Reject",bn:"প্রত্যাখ্যান"},distFRApprove:{en:"Approve & Send",bn:"অনুমোদন ও প্রেরণ"},distFRConfirmTitle:{en:"Confirm float approval",bn:"ফ্লোট অনুমোদন নিশ্চিত করুন"},distFRConfirmDesc:{en:"Approve ৳{amount} to {name}? Enter your PIN to send funds.",bn:"{name}-কে ৳{amount} অনুমোদন করবেন? তহবিল পাঠাতে আপনার পিন লিখুন।"},distFRToastMissingPhone:{en:"Missing phone",bn:"ফোন অনুপস্থিত"},distFRToastMissingPhoneDesc:{en:"Agent phone not found",bn:"এজেন্টের ফোন পাওয়া যায়নি"},distFRToastApproved:{en:"Approved",bn:"অনুমোদিত"},distFRToastApprovedDesc:{en:"৳{amount} sent to {name}",bn:"৳{amount} {name}-কে পাঠানো হয়েছে"},distFRToastRejected:{en:"Rejected",bn:"প্রত্যাখ্যাত"},distFRToastRejectedDesc:{en:"Request from {name} rejected",bn:"{name}-এর অনুরোধ প্রত্যাখ্যাত"},distFRToastFailed:{en:"Failed",bn:"ব্যর্থ"},distFRToastFailedDesc:{en:"Could not process",bn:"প্রক্রিয়া করা যায়নি"},mdHideBalance:{en:"Hide balance",bn:"ব্যালেন্স লুকান"},mdTapToSeeBalance:{en:"Tap to see balance",bn:"ব্যালেন্স দেখতে ট্যাপ করুন"},mdAvailableBalance:{en:"Available Balance",bn:"উপলব্ধ ব্যালেন্স"},mdKyc:{en:"KYC",bn:"কেওয়াইসি"},mdStatusActive:{en:"active",bn:"সক্রিয়"},mdCategoryRetail:{en:"retail",bn:"খুচরা"},mdStatusPending:{en:"pending",bn:"অপেক্ষমাণ"},mdStatusSuspended:{en:"suspended",bn:"স্থগিত"},mdMoreOptions:{en:"More Options",bn:"আরও অপশন"},mdMenuStore:{en:"Store Settings",bn:"স্টোর সেটিংস"},mdMenuStoreDesc:{en:"Customize your storefront",bn:"আপনার স্টোরফ্রন্ট কাস্টমাইজ করুন"},mdMenuAnalytics:{en:"Analytics",bn:"অ্যানালিটিক্স"},mdMenuAnalyticsDesc:{en:"Insights, revenue & customers",bn:"ইনসাইট, আয় ও গ্রাহক"},mdMenuHistory:{en:"History",bn:"ইতিহাস"},mdMenuHistoryDesc:{en:"View all transactions",bn:"সব লেনদেন দেখুন"},mdMenuQr:{en:"QR Code",bn:"কিউআর কোড"},mdMenuQrDesc:{en:"Your merchant QR code",bn:"আপনার মার্চেন্ট কিউআর কোড"},mdMenuApi:{en:"API Integration",bn:"এপিআই ইন্টিগ্রেশন"},mdMenuApiDesc:{en:"API keys, webhooks & docs",bn:"এপিআই কী, ওয়েবহুক ও ডকুমেন্ট"},mdMenuPaylinks:{en:"Pay Links",bn:"পে লিঙ্ক"},mdMenuPaylinksDesc:{en:"Create & share payment links",bn:"পেমেন্ট লিঙ্ক তৈরি ও শেয়ার করুন"},mdMenuSettlement:{en:"Settlement",bn:"সেটেলমেন্ট"},mdMenuSettlementDesc:{en:"Bank payouts & schedule",bn:"ব্যাংক পেআউট ও সময়সূচি"},mdMenuFees:{en:"Fees & Charges",bn:"ফি ও চার্জ"},mdMenuFeesDesc:{en:"MDR rates & fee breakdown",bn:"এমডিআর রেট ও ফি বিশ্লেষণ"},mdMenuRefunds:{en:"Refunds",bn:"রিফান্ড"},mdMenuRefundsDesc:{en:"Issue & track customer refunds",bn:"গ্রাহকের রিফান্ড ইস্যু ও ট্র্যাক করুন"},mdMenuStaff:{en:"Staff",bn:"কর্মী"},mdMenuStaffDesc:{en:"Manage employee access",bn:"কর্মীদের অ্যাক্সেস পরিচালনা করুন"},mdMenuCustomers:{en:"Customers",bn:"গ্রাহক"},mdMenuCustomersDesc:{en:"Customer directory & insights",bn:"গ্রাহক তালিকা ও ইনসাইট"},mdMenuBroadcast:{en:"Broadcast",bn:"ব্রডকাস্ট"},mdMenuBroadcastDesc:{en:"Message your customers",bn:"আপনার গ্রাহকদের বার্তা পাঠান"},mdMenuCoupons:{en:"Coupons",bn:"কুপন"},mdMenuCouponsDesc:{en:"Create store discount codes",bn:"স্টোরের ডিসকাউন্ট কোড তৈরি করুন"},mdMenuPayouts:{en:"Payouts",bn:"পেআউট"},mdMenuPayoutsDesc:{en:"Request bank withdrawals",bn:"ব্যাংক উত্তোলনের অনুরোধ করুন"},mdMenuNotifications:{en:"Notifications",bn:"নোটিফিকেশন"},mdMenuNotificationsDesc:{en:"Push alerts & preferences",bn:"পুশ অ্যালার্ট ও পছন্দসমূহ"},mdTodaySales:{en:"Today's Sales",bn:"আজকের বিক্রি"},mdTransactions:{en:"Transactions",bn:"লেনদেন"},mdCustomers:{en:"Customers",bn:"গ্রাহক"},mdTabOverview:{en:"Overview",bn:"সারসংক্ষেপ"},mdTabProducts:{en:"Products",bn:"পণ্য"},mdTabOrders:{en:"Orders",bn:"অর্ডার"},mdBack:{en:"Back",bn:"ফিরে যান"},mdMerchantServices:{en:"Merchant Services",bn:"মার্চেন্ট সেবা"},mdSendMoney:{en:"Send Money",bn:"টাকা পাঠান"},mdCashOut:{en:"Cash Out",bn:"ক্যাশ আউট"},mdAddBank:{en:"Add Bank",bn:"ব্যাংক যোগ"},mdSettlement:{en:"Settlement",bn:"সেটেলমেন্ট"},mscTitle:{en:"Settlement Schedule",bn:"সেটেলমেন্ট সময়সূচি"}
187,mscSubtitle:{en:"Configure when you receive payouts",bn:"কখন পেআউট পাবেন তা নির্ধারণ করুন"},mscFreqT1Label:{en:"T+1 (Next Day)",bn:"T+1 (পরদিন)"},mscFreqT1Desc:{en:"Settle next business day — Default",bn:"পরবর্তী কর্মদিবসে সেটেল — ডিফল্ট"},mscFreqT2Label:{en:"T+2 (2 Days)",bn:"T+2 (২ দিন)"},mscFreqT2Desc:{en:"Settle every 2 business days",bn:"প্রতি ২ কর্মদিবসে সেটেল"},mscFreqWeeklyLabel:{en:"Weekly",bn:"সাপ্তাহিক"},mscFreqWeeklyDesc:{en:"Settle once per week (Sunday)",bn:"সপ্তাহে একবার সেটেল (রবিবার)"},mscFreqMonthlyLabel:{en:"Monthly",bn:"মাসিক"},mscFreqMonthlyDesc:{en:"Settle on 1st of each month",bn:"প্রতি মাসের ১ তারিখে সেটেল"},mscTimeLabel:{en:"Settlement Time",bn:"সেটেলমেন্টের সময়"},mscTimeHelp:{en:"When the settlement batch processes each cycle",bn:"প্রতিটি চক্রে সেটেলমেন্ট ব্যাচ যখন প্রসেস হবে"},mscBankLinked:{en:"Settling to {bank} · ****{last4}",bn:"সেটেল হবে {bank} · ****{last4} এ"},mscBankMissing:{en:"Add a bank account first to enable auto-settlement",bn:"অটো-সেটেলমেন্ট চালু করতে আগে একটি ব্যাংক অ্যাকাউন্ট যোগ করুন"},mscSaving:{en:"Saving...",bn:"সংরক্ষণ হচ্ছে..."},mscSaveBtn:{en:"Save Settlement Schedule",bn:"সেটেলমেন্ট সময়সূচি সংরক্ষণ"},mscToastUpdated:{en:"Settlement Updated!",bn:"সেটেলমেন্ট আপডেট হয়েছে!"},mscToastUpdatedDesc:{en:"Frequency set to {freq} · Time: {time}",bn:"ফ্রিকোয়েন্সি: {freq} · সময়: {time}"},mscToastFailed:{en:"Failed",bn:"ব্যর্থ হয়েছে"},mscToastFailedDesc:{en:"Could not update",bn:"আপডেট করা যায়নি"},mdDynamicQR:{en:"Dynamic QR",bn:"ডাইনামিক কিউআর"},mdDynamicQRDesc:{en:"Generate a QR code that customers scan to pay instantly",bn:"একটি কিউআর কোড তৈরি করুন যা গ্রাহকরা স্ক্যান করে তাৎক্ষণিক পেমেন্ট করবে"},mdGenerateQR:{en:"Generate QR",bn:"কিউআর তৈরি"},mqrSheetTitle:{en:"Generate Payment QR",bn:"পেমেন্ট কিউআর তৈরি"},mqrAmountLabel:{en:"Amount (৳) *",bn:"পরিমাণ (৳) *"},mqrAmountPh:{en:"e.g. 500",bn:"যেমন ৫০০"},mqrRefLabel:{en:"Reference (optional)",bn:"রেফারেন্স (ঐচ্ছিক)"},mqrRefPh:{en:"e.g. INV-001",bn:"যেমন INV-001"},mqrGenerateBtn:{en:"Generate QR",bn:"কিউআর তৈরি করুন"},mqrPopupTitle:{en:"Payment QR Ready",bn:"পেমেন্ট কিউআর প্রস্তুত"},mqrRefPrefix:{en:"Ref:",bn:"রেফ:"},mqrCopyLinkBtn:{en:"Copy Payment Link",bn:"পেমেন্ট লিংক কপি করুন"},mqrOpenNewTab:{en:"Open in New Tab",bn:"নতুন ট্যাবে খুলুন"},mqrInvalidAmount:{en:"Invalid Amount",bn:"অবৈধ পরিমাণ"},mqrInvalidAmountDesc:{en:"Enter an amount between ৳1 and ৳10,00,000.",bn:"৳১ থেকে ৳১০,০০,০০০ এর মধ্যে পরিমাণ দিন।"},mqrNoApiKey:{en:"No API Key",bn:"কোনো API কী নেই"},mqrNoApiKeyDesc:{en:"Request API access from the API tab first.",bn:"প্রথমে API ট্যাব থেকে API অ্যাক্সেস অনুরোধ করুন।"},mqrLinkCopied:{en:"Link copied!",bn:"লিংক কপি হয়েছে!"},mqrLinkCopiedDesc:{en:"Payment link copied to clipboard.",bn:"পেমেন্ট লিংক ক্লিপবোর্ডে কপি হয়েছে।"},mqrGenerationFailed:{en:"Generation Failed",bn:"তৈরি ব্যর্থ হয়েছে"},mqrPayOf:{en:"Payment of",bn:"পেমেন্ট"},mqrAcceptedHere:{en:"Accepted Here",bn:"এখানে গৃহীত"},mqrShare:{en:"Share",bn:"শেয়ার"},mqrPrint:{en:"Print",bn:"প্রিন্ট"},mqrCopy:{en:"Copy",bn:"কপি"}
187,mqrCopied:{en:"Copied!",bn:"কপি হয়েছে!"},mqrCopiedDesc:{en:"Merchant ID copied to clipboard",bn:"মার্চেন্ট আইডি ক্লিপবোর্ডে কপি হয়েছে"},mqrShareCopiedDesc:{en:"Payment QR details copied to clipboard",bn:"পেমেন্ট কিউআর বিবরণ ক্লিপবোর্ডে কপি হয়েছে"},mqrShareUnavailable:{en:"Share unavailable",bn:"শেয়ার অনুপলব্ধ"},mqrShareUnavailableDesc:{en:"Sharing isn't supported on this browser.",bn:"এই ব্রাউজারে শেয়ার সমর্থিত নয়।"},mqrPayVia:{en:"Pay {name} via EasyPay. Merchant ID: {id}",bn:"{name} কে EasyPay দিয়ে পেমেন্ট করুন। মার্চেন্ট আইডি: {id}"},mqrPayTitle:{en:"Pay {name}",bn:"{name} কে পেমেন্ট"},mqrDownloaded:{en:"Downloaded",bn:"ডাউনলোড হয়েছে"},mqrDownloadedDesc:{en:"QR card saved as PDF (A6).",bn:"কিউআর কার্ড PDF (A6) হিসেবে সংরক্ষিত।"},mqrPdfFailed:{en:"PDF failed",bn:"PDF ব্যর্থ"},mqrPdfFailedDesc:{en:"Could not generate PDF",bn:"PDF তৈরি করা যায়নি"},mqrDetails:{en:"Merchant Details",bn:"মার্চেন্ট বিবরণ"},mqrRowMerchantId:{en:"Merchant ID",bn:"মার্চেন্ট আইডি"},mqrRowBusiness:{en:"Business",bn:"ব্যবসা"},mqrRowCategory:{en:"Category",bn:"ক্যাটাগরি"},mqrRowMdr:{en:"MDR Rate",bn:"MDR হার"},mqrRowTradeLicense:{en:"Trade License",bn:"ট্রেড লাইসেন্স"},mhToastNoData:{en:"No data to export",bn:"রপ্তানি করার মতো ডেটা নেই"},mhMonthly:{en:"Monthly",bn:"মাসিক"},mhCustomRange:{en:"Custom Range",bn:"কাস্টম রেঞ্জ"},mhSearchPh:{en:"Search...",bn:"খুঁজুন..."},mhThisMonth:{en:"This Month",bn:"এই মাস"},mhLastMonth:{en:"Last Month",bn:"গত মাস"},mhFromDate:{en:"From date",bn:"শুরুর তারিখ"},mhToDate:{en:"To date",bn:"শেষের তারিখ"},mhClearDates:{en:"Clear dates",bn:"তারিখ মুছুন"},mhTransactionsLabel:{en:"Transactions",bn:"লেনদেন"},mhIncoming:{en:"Incoming",bn:"প্রাপ্তি"},mhOutgoing:{en:"Outgoing",bn:"প্রদান"},mhPdfStatement:{en:"PDF Statement",bn:"PDF স্টেটমেন্ট"},mhCsvExport:{en:"CSV Export",bn:"CSV রপ্তানি"},mhTransactionsTitle:{en:"Transactions",bn:"লেনদেন"},mhNoTxnFound:{en:"No transactions found",bn:"কোনো লেনদেন পাওয়া যায়নি"},mhTrySearch:{en:"Try a different search term",bn:"অন্য একটি সার্চ টার্ম চেষ্টা করুন"},mhTryPeriod:{en:"Try selecting a different period",bn:"অন্য একটি সময়কাল নির্বাচন করুন"},mhPending:{en:"PENDING",bn:"বিচারাধীন"},mhFailed:{en:"FAILED",bn:"ব্যর্থ"},mhTxnDetails:{en:"Transaction Details",bn:"লেনদেনের বিস্তারিত"},mhTxnId:{en:"Transaction ID",bn:"লেনদেন আইডি"},mhType:{en:"Type",bn:"ধরন"},mhFrom:{en:"From",bn:"প্রেরক"},mhTo:{en:"To",bn:"প্রাপক"},mhPhone:{en:"Phone",bn:"ফোন"},mhDate:{en:"Date",bn:"তারিখ"},mhReference:{en:"Reference",bn:"রেফারেন্স"},mhFeeBreakdown:{en:"Fee Breakdown",bn:"চার্জের বিভাজন"},mhPrincipal:{en:"Principal",bn:"মূল"},mhFee:{en:"Fee",bn:"চার্জ"},mhTotal:{en:"Total",bn:"মোট"},mhBalanceAfter:{en:"Balance after:",bn:"পরবর্তী ব্যালেন্স:"},mprSearch:{en:"Search products...",bn:"পণ্য খুঁজুন..."},mprCsv:{en:"CSV",bn:"সিএসভি"},mprAdd:{en:"Add",bn:"যোগ করুন"},mprTotal:{en:"Total",bn:"মোট"},mprActive:{en:"Active",bn:"সক্রিয়"},mprOutOfStock:{en:"Out of Stock",bn:"স্টক নেই"},mprEmptyTitle:{en:"No products yet",bn:"এখনো কোনো পণ্য নেই"},mprEmptyResults:{en:"No results",bn:"কোনো ফলাফল নেই"},mprEmptyDesc:{en:"Add your first product to start selling",bn:"বিক্রি শুরু করতে আপনার প্রথম পণ্য যোগ করুন"},mprEmptyTrySearch:{en:"Try a different search",bn:"ভিন্ন কিছু খুঁজে দেখুন"},mprAddFirst:{en:"Add First Product",bn:"প্রথম পণ্য যোগ করুন"},mprStock:{en:"stock",bn:"স্টক"},mprVariants:{en:"Variants",bn:"ভ্যারিয়েন্ট"},mprEditTitle:{en:"Edit Product",bn:"পণ্য সম্পাদনা"},mprAddTitle:{en:"Add Product",bn:"পণ্য যোগ করুন"},mprPhotos:{en:"Product Photos (up to {n})",bn:"পণ্যের ছবি (সর্বোচ্চ {n})"},mprPrimary:{en:"Primary",bn:"প্রধান"}
187,mprPhotosHelp:{en:"First image will be shown in product cards. Max 5MB each.",bn:"প্রথম ছবি পণ্যের কার্ডে দেখানো হবে। প্রতিটি সর্বোচ্চ ৫ এমবি।"},mprVideo:{en:"Product Video (optional)",bn:"পণ্যের ভিডিও (ঐচ্ছিক)"},mprVideoPh:{en:"Paste YouTube or Vimeo link...",bn:"ইউটিউব বা ভিমিও লিঙ্ক পেস্ট করুন..."},mprVideoInvalid:{en:"Invalid video URL. Supports YouTube & Vimeo.",bn:"অবৈধ ভিডিও লিঙ্ক। ইউটিউব ও ভিমিও সমর্থিত।"},mprEmoji:{en:"Emoji Icon",bn:"ইমোজি আইকন"},mprEmojiFallback:{en:"(fallback)",bn:"(বিকল্প)"},mprNameEn:{en:"Name (English) *",bn:"নাম (ইংরেজি) *"},mprNamePh:{en:"Product name",bn:"পণ্যের নাম"},mprNameBn:{en:"Name (বাংলা)",bn:"নাম (বাংলা)"},mprNameBnPh:{en:"বাংলা নাম (ঐচ্ছিক)",bn:"বাংলা নাম (ঐচ্ছিক)"},mprNameBnHelp:{en:"Shown to buyers who use the app in Bangla. Leave blank to fall back to English.",bn:"বাংলায় অ্যাপ ব্যবহারকারী গ্রাহকদের দেখানো হবে। খালি রাখলে ইংরেজি নাম দেখানো হবে।"},mprDescEn:{en:"Description (English)",bn:"বিবরণ (ইং
187রেজি)"},mprDescPh:{en:"Optional description",bn:"ঐচ্ছিক বিবরণ"},mprDescBn:{en:"Description (বাংলা)",bn:"বিবরণ (বাংলা)"},mprDescBnPh:{en:"বাংলা বিবরণ (ঐচ্ছিক)",bn:"বাংলা বিবরণ (ঐচ্ছিক)"},mprPrice:{en:"Price (৳) *",bn:"মূল্য (৳) *"},mprOriginalPrice:{en:"Original Price",bn:"মূল মূল্য"},mprOriginalPricePh:{en:"For sale badge",bn:"সেল ব্যাজের জন্য"},mprStockLabel:{en:"Stock",bn:"স্টক"},mprCategory:{en:"Category",bn:"ক্যাটাগরি"},mprCategorySelect:{en:"Select category",bn:"ক্যাটাগরি বেছে নিন"},mprCategorySearch:{en:"Search categories...",bn:"ক্যাটাগরি খুঁজুন..."},mprCategoryNoMatch:{en:"No match found",bn:"কোনো মিল পাওয়া যায়নি"},mprCategoryAddCustom:{en:"+ Add Custom Category",bn:"+ কাস্টম ক্যাটাগরি যোগ করুন"},mprCategoryCustomPh:{en:"Custom category name",bn:"কাস্টম ক্যাটাগরির নাম"},mprCategoryAdd:{en:"Add",bn:"যোগ করুন"},mprBadge:{en:"Badge",bn:"ব্যাজ"},mprBadgeNone:{en:"None",bn:"কোনটাই না"},mprListed:{en:"Listed (visible in shop)",bn:"তালিকাভুক্ত (দোকানে দৃশ্যমান)"},mprSaving:{en:"Saving...",bn:"সংরক্ষণ হচ্ছে..."},mprUploading:{en:"Uploading...",bn:"আপলোড হচ্ছে..."},mprUpdate:{en:"Update Product",bn:"পণ্য আপডেট"},mprCreate:{en:"Add Product",bn:"পণ্য যোগ করুন"},mprToastNameReq:{en:"Name required",bn:"নাম প্রয়োজন"},mprToastPriceReq:{en:"Valid price required",bn:"সঠিক মূল্য প্রয়োজন"},mprToastUpdated:{en:"Product updated ✓",bn:"পণ্য আপডেট হয়েছে ✓"},mprToastAdded:{en:"Product added ✓",bn:"পণ্য যোগ হয়েছে ✓"},mprToastUpdateFail:{en:"Update failed",bn:"আপডেট ব্যর্থ"},mprToastCreateFail:{en:"Create failed",bn:"তৈরি ব্যর্থ"},mprToastDeleted:{en:"Product deleted",bn:"পণ্য মুছে ফেলা হয়েছে"},mprToastDeleteFail:{en:"Delete failed",bn:"মুছে ফেলা ব্যর্থ"},mprToastUploadFail:{en:"Upload failed",bn:"আপলোড ব্যর্থ"},mprToastInvalidFile:{en:"Invalid file",bn:"অবৈধ ফাইল"},mprToastInvalidFileDesc:{en:"Please select an image file",bn:"একটি ছবির ফাইল নির্বাচন করুন"},mprToastTooLarge:{en:"File too large",bn:"ফাইল অনেক বড়"},mprToastTooLargeDesc:{en:"Max 5MB allowed",bn:"সর্বোচ্চ ৫ এমবি অনুমোদিত"},mbrTitle:{en:"Broadcast",bn:"ব্রডকাস্ট"},mbrAudience:{en:"AUDIENCE",bn:"শ্রোতা"},mbrAudAll:{en:"All customers",bn:"সব গ্রাহক"},mbrAudRecent:{en:"Recent (30d)",bn:"সাম্প্রতিক (৩০ দিন)"},mbrAudInactive:{en:"Inactive (60d+)",bn:"নিষ্ক্রিয় (৬০+ দিন)"},mbrAudGoldSilver:{en:"Gold + Silver",bn:"গোল্ড + সিলভার"},mbrCounting:{en:"Counting…",bn:"গণনা চলছে…"},mbrMatchCount:{en:"{n} customers match",bn:"{n} জন গ্রাহক মিলেছে"},mbrLabelTitle:{en:"TITLE",bn:"শিরোনাম"},mbrTitlePh:{en:"Weekend flash sale",bn:"সাপ্তাহিক ফ্ল্যাশ সেল"},mbrMessage:{en:"MESSAGE",bn:"বার্তা"},mbrMessagePh:{en:"20% off all items until Sunday. Show this message at checkout.",bn:"রবিবার পর্যন্ত সব পণ্যে ২০% ছাড়। চেকআউটে এই বার্তা দেখান।"},mbrSend:{en:"Send broadcast",bn:"ব্রডকাস্ট পাঠান"},mbrDailyLimit:{en:"Max 5 broadcasts per day.",bn:"দৈনিক সর্বোচ্চ ৫টি ব্রডকাস্ট।"},mbrRecent:{en:"Recent broadcasts",bn:"সাম্প্রতিক ব্রডকাস্ট"},mbrErrMissing:{en:"Missing content",bn:"বিষয়বস্তু নেই"},mbrErrMissingDesc:{en:"Title and message are required.",bn:"শিরোনাম ও বার্তা আবশ্যক।"},mbrErrEmpty:{en:"No recipients",bn:"কোনো প্রাপক নেই"}
187,mbrErrEmptyDesc:{en:"This audience is empty.",bn:"এই শ্রোতা তালিকা খালি।"},mbrConfirm:{en:"Send this broadcast to {n} customers?",bn:"এই ব্রডকাস্ট {n} জন গ্রাহকে পাঠাবেন?"},mbrToastSent:{en:"Broadcast sent",bn:"ব্রডকাস্ট পাঠানো হয়েছে"},mbrToastDelivered:{en:"Delivered to {n} customers.",bn:"{n} জন গ্রাহকে পৌঁছেছে।"},mbrToastFail:{en:"Send failed",bn:"পাঠানো ব্যর্থ"},mdtInbox:{en:"Dispute inbox",bn:"বিরোধ ইনবক্স"},mdtOpen:{en:"{n} open",bn:"{n}টি খোলা"},mdtAllClear:{en:"All clear",bn:"সব ঠিকঠাক"},mdtTotal:{en:"{n} total disputes",bn:"মোট {n}টি বিরোধ"},mpeNextPayout:{en:"Next payout",bn:"পরবর্তী পেআউট"},mpeToday:{en:"Today",bn:"আজ"},mpeTomorrow:{en:"Tomorrow",bn:"আগামীকাল"},mpeAvailable:{en:"available",bn:"উপলব্ধ"},mpePending:{en:"pending",bn:"বিচারাধীন"},mtipTitle:{en:"Tips & Gratuity",bn:"টিপস ও বকশিশ"},mtipDesc:{en:"Let customers add an optional tip when they pay you.",bn:"গ্রাহকরা পেমেন্টের সময় ইচ্ছামতো টিপ যোগ করতে পারবে।"},mtipPresets:{en:"Suggested tip percentages",bn:"প্রস্তাবিত টিপের হার"}
187,mtipPresetsHint:{en:"Comma separated, e.g. 5, 10, 15",bn:"কমা দিয়ে লিখুন, যেমন ৫, ১০, ১৫"},mtipSave:{en:"Save tip settings",bn:"টিপ সেটিংস সংরক্ষণ"},mtipSaved:{en:"Tip settings updated",bn:"টিপ সেটিংস আপডেট হয়েছে"},mtipSaveFailed:{en:"Save failed",bn:"সংরক্ষণ ব্যর্থ"},mtipAddTip:{en:"Add a tip",bn:"টিপ যোগ করুন"},mtipNone:{en:"No tip",bn:"টিপ নেই"},mtipTipLabel:{en:"Tip",bn:"টিপ"},mtipTotal:{en:"Total",bn:"সর্বমোট"},mcrTitle:{en:"Smart courier routing",bn:"স্মার্ট কুরিয়ার রাউটিং"},mcrSubtitle:{en:"Cheapest courier per city, last 30 days",bn:"শেষ ৩০ দিনে প্রতি শহরে সস্তা কুরিয়ার"},mcrLoading:{en:"Analysing your shipments…",bn:"আপনার শিপমেন্ট বিশ্লেষণ হচ্ছে…"},mcrEmpty:{en:"No courier-booked orders yet. Suggestions appear once you ship with a courier.",bn:"এখনও কুরিয়ার বুক করা অর্ডার নেই। কুরিয়ারে পাঠালে পরামর্শ দেখা যাবে।"},mcrUse:{en:"Use {courier}",bn:"{courier} ব্যবহার করুন"},mcrAvgDays:{en:"{n} days avg",bn:"গড়ে {n} দিন"},mcrShipments:{en:"{n} shipments",bn:"{n}টি শিপমেন্ট"},mcrSaves:{en:"saves ৳{n}/order",bn:"প্রতি অর্ডারে ৳{n} সাশ্রয়"},mcxExport:{en:"Export CSV",bn:"CSV ডাউনলোড"},mcxSegment:{en:"Segment",bn:"সেগমেন্ট"},mcxAll:{en:"All",bn:"সব"},mcxExported:{en:"Exported {n} customers",bn:"{n} জন গ্রাহক এক্সপোর্ট হয়েছে"},mcxNothing:{en:"No customers in this segment",bn:"এই সেগমেন্টে কোনো গ্রাহক নেই"},cttAwaitingFirstScan:{en:"Awaiting first scan",bn:"প্রথম স্ক্যানের অপেক্ষায়"},cttLive:{en:"LIVE",bn:"লাইভ"},cttEta:{en:"ETA",bn:"আনু. সময়"},cttRef:{en:"Ref",bn:"রেফ"},cttNoScans:{en:"No scans yet.",bn:"এখনো কোনো স্ক্যান নেই।"},qcbBookCourier:{en:"Book Courier",bn:"কুরিয়ার বুক করুন"},qcbSubtitle:{en:"Ship all remaining items under one courier & tracking number.",bn:"সব অবশিষ্ট আইটেম একটি কুরিয়ার ও ট্র্যাকিং নম্বরে পাঠান।"},qcbRemaining:{en:"Remaining to ship",bn:"শিপ করার বাকি"},qcbItemsProducts:{en:"{items} item(s) across {products} product(s)",bn:"{products}টি পণ্যের {items}টি আইটেম"},qcbSmartPick:{en:"Smart pick",bn:"স্মার্ট পছন্দ"},qcbDelivered:{en:"{n}% delivered",bn:"{n}% ডেলিভার্ড"},qcbBestFor:{en:"performs best for your shop",bn:"আপনার শপের জন্য সেরা"},qcbAvgDelivery:{en:"avg {n}h delivery",bn:"গড় {n} ঘণ্টায় ডেলিভারি"},qcbPastShipments:{en:"{n} past shipments",bn:"{n}টি পূর্ববর্তী শিপমেন্ট"},qcbCourier:{en:"Courier",bn:"কুরিয়ার"},qcbSuccess:{en:"{n}% success",bn:"{n}% সাফল্য"},qcbTrackingLabel:{en:"Tracking / Consignment No.",bn:"ট্র্যাকিং / কনসাইনমেন্ট নং"},qcbTrackingPh:{en:"e.g. PTH-8842091",bn:"যেমন PTH-8842091"},qcbBookingRefLabel:{en:"Booking Reference (optional)",bn:"বুকিং রেফারেন্স (ঐচ্ছিক)"},qcbBookingRefPh:{en:"e.g. BK-9821 (from courier portal)",bn:"যেমন BK-9821 (কুরিয়ার পোর্টাল থেকে)"},qcbErrTracking:{en:"Tracking number required",bn:"ট্র্যাকিং নম্বর প্রয়োজন"},qcbErrFailed:{en:"Booking failed",bn:"বুকিং ব্যর্থ"},qcbToastBooked:{en:"Courier booked · {courier}",bn:"কুরিয়ার বুক হয়েছে · {courier}"},qcbToastShipped:{en:"{n} item(s) marked shipped",bn:"{n}
187টি আইটেম শিপড চিহ্নিত হয়েছে"},qcbNothingLeft:{en:"Nothing left to ship",bn:"শিপ করার কিছু নেই"},qcbBookShip:{en:"Book {courier} · Ship {n} item(s)",bn:"{courier} বুক · {n}টি আইটেম শিপ"},qcbCourierBookedEvent:{en:"Courier Booked",bn:"কুরিয়ার বুক করা হয়েছে"},qcbBookingRefNote:{en:"Booking Ref: {ref}",bn:"বুকিং রেফ: {ref}"},qcbAwaitingScan:{en:"Awaiting first scan",bn:"প্রথম স্ক্যানের অপেক্ষায়"},lpEasypayClub:{en:"EasyPay Club",bn:"ইজিপে ক্লাব"},lpSubtitle:{en:"Track your loyalty progress",bn:"আপনার লয়্যালটি অগ্রগতি দেখুন"},lpCurrentTier:{en:"Current tier",bn:"বর্তমান টায়ার"},lpNotEnrolled:{en:"Not enrolled",bn:"নথিভুক্ত নন"},lpFeeMinus:{en:"Fee −{n}%",bn:"ফি −{n}%"},lpLimitsX:{en:"Limits ×{n}",bn:"লিমিট ×{n}"},lpCashbackPlus:{en:"Cashback +{n}%",bn:"ক্যাশব্যাক +{n}%"},lpPrioritySupport:{en:"Priority support",bn:"অগ্রাধিকার সহায়তা"},lpStandardSupport:{en:"Standard support",bn:"স্ট্যান্ডার্ড সহায়তা"},lpNextTier:{en:"Next tier",bn:"পরবর্তী টায়ার"},lpOverall:{en:"Overall",bn:"সামগ্রিক"},lpAveragedReqs:{en:"Averaged across {n} requirements.",bn:"{n}টি শর্তের গড়।"},lpAveragedReq:{en:"Averaged across {n} requirement.",bn:"{n}টি শর্তের গড়।"},lpOf:{en:"of",bn:"এর মধ্যে"},lpToGo:{en:"{amt} to go",bn:"আরও {amt}"},lpDone:{en:"DONE",bn:"সম্পন্ন"},lpAllMet:{en:"You already meet every requirement — your tier will update on next recalculation.",bn:"আপনি সব শর্ত পূরণ করেছেন — পরবর্তী গণনায় টায়ার আপডেট হবে।"},pcsEnterPin:{en:"Enter your PIN",bn:"আপনার পিন লিখুন"},pcsEnter4:{en:"Enter your 4-digit PIN.",bn:"আপনার ৪-সংখ্যার পিন লিখুন।"},pcsIncorrect:{en:"Incorrect PIN. Please try again.",bn:"ভুল পিন। আবার চেষ্টা করুন।"},pcsTxnFailed:{en:"Transaction failed.",bn:"লেনদেন ব্যর্থ হয়েছে।"},pcsVerifying:{en:"Verifying…",bn:"যাচাই হচ্ছে…"}
187,pcsConfirm:{en:"Confirm",bn:"নিশ্চিত করুন"},lppYourTier:{en:"Your tier",bn:"আপনার টায়ার"},lppAdminGrantedTier:{en:"Admin-granted tier",bn:"অ্যাডমিন প্রদত্ত টায়ার"},lppUntil:{en:"until {date}",bn:"{date} পর্যন্ত"},lppActivePerks:{en:"Active perks",bn:"সক্রিয় সুবিধা"},lppTxnLimits:{en:"Transaction limits",bn:"লেনদেন সীমা"},lppFeeDiscount:{en:"Fee discount",bn:"ফি ছাড়"},lppCashbackBonus:{en:"Cashback bonus",bn:"ক্যাশব্যাক বোনাস"},lppPrioritySupportRow:{en:"Priority support",bn:"অগ্রাধিকার সহায়তা"},lppYes:{en:"Yes",bn:"হ্যাঁ"},lppNo:{en:"No",bn:"না"},lppPctTo:{en:"{n}% to",bn:"{n}% বাকি —"},lppNextTier:{en:"Next tier",bn:"পরবর্তী টায়ার"},lppSeeProgress:{en:"See tier progress",bn:"টায়ার অগ্রগতি দেখুন"},erbTitle:{en:"Wrong app for this account",bn:"এই অ্যাকাউন্টের জন্য ভুল অ্যাপ"},erbBody:{en:"This number is registered as a {role} account and cannot be used inside the customer app. Please continue from the {role} portal instead.",bn:"এই নম্বরটি {role} অ্যাকাউন্ট হিসেবে নিবন্ধিত এবং কাস্টমার অ্যাপে ব্যবহার করা যাবে না। অনুগ্রহ করে {role} পোর্টাল থেকে চালিয়ে যান।"},erbOpenPortal:{en:"Open {role} portal",bn:"{role} পোর্টাল খুলুন"},erbSignOut:{en:"Sign out",bn:"সাইন আউট"},erbFooter:{en:"Each role has its own dedicated app for security and compliance.",bn:"নিরাপত্তা ও কমপ্লায়েন্সের জন্য প্রতিটি ভূমিকার নিজস্ব ডেডিকেটেড অ্যাপ রয়েছে।"},lmaDivision:{en:"Division",bn:"বিভাগ"},lmaDistrict:{en:"District",bn:"জেলা"},lmaUpazila:{en:"Upazila / Thana",bn:"উপজেলা / থানা"},lmaUnion:{en:"Union / Powrashava / City Corp.",bn:"ইউনিয়ন / পৌরসভা / সিটি কর্পোরেশন"},lmaNeedsCorrection:{en:"{field} needs correction",bn:"{field} সংশোধন প্রয়োজন"},dlbReached:{en:"Daily limit reached",bn:"দৈনিক সীমা শেষ"},dlbLeftToday:{en:"৳{amt} left today",bn:"আজ ৳{amt} বাকি"},atdmTitle:{en:"Transaction Details",bn:"লেনদেনের বিবরণ"},atdmType:{en:"Type",bn:"ধরন"},atdmName:{en:"Name",bn:"নাম"},atdmPhone:{en:"Phone",bn:"ফোন"},atdmAmount:{en:"Amount",bn:"পরিমাণ"},atdmCommission:{en:"Commission",bn:"কমিশন"},atdmBalanceAfter:{en:"Balance After",bn:"লেনদেন পরবর্তী ব্যালেন্স"},atdmDescription:{en:"Description",bn:"বিবরণ"},atdmDate:{en:"Date",bn:"তারিখ"},atdmTxnId:{en:"Transaction ID",bn:"লেনদেন আইডি"},atdmDlReceipt:{en:"Download Receipt (PDF)",bn:"রশিদ ডাউনলোড (PDF)"},atdmDlPending:{en:"Download Pending Advice (PDF)",bn:"পেন্ডিং অ্যাডভাইস ডাউনলোড (PDF)"},atdmDlFailed:{en:"Download Failed Advice (PDF)",bn:"ব্যর্থ অ্যাডভাইস ডাউনলোড (PDF)"},atdmShare:{en:"Share Receipt",bn:"রশিদ শেয়ার"},atdmDone:{en:"Done",bn:"সম্পন্ন"},txnToastSuccess:{en:"{type} Successful",bn:"{type} সফল হয়েছে"},rdcYourDashboards:{en:"Your Dashboards",bn:"আপনার ড্যাশবোর্ড"},rdcAdminLabel:{en:"Admin Panel",bn:"অ্যাডমিন প্যানেল"},rdcAdminDesc:{en:"Users, transactions & fraud alerts",bn:"ব্যবহারকারী, লেনদেন ও ফ্রড অ্যালার্ট"},rdcAgentLabel:{en:"Agent Portal",bn:"এজেন্ট পোর্টাল"},rdcAgentDesc:{en:"Cash-in, cash-out & float management",bn:"ক্যাশ-ইন, ক্যাশ-আউট ও ফ্লোট ব্যবস্থাপনা"},rdcMerchantLabel:{en:"Merchant Portal",bn:"মার্চেন্ট পোর্টাল"},rdcMerchantDesc:{en:"QR payments, settlements & MDR",bn:"QR পেমেন্ট, সেটেলমেন্ট ও MDR"},rdcDistLabel:{en:"Distributor Portal",bn:"ডিস্ট্রিবিউটর পোর্টাল"},rdcDistDesc:{en:"Agent network & float distribution",bn:"এজেন্ট নেটওয়ার্ক ও ফ্লোট বণ্টন"},rdcSdLabel:{en:"Super Distributor",bn:"সুপার ডিস্ট্রিবিউটর"}
187,rdcSdDesc:{en:"Regional operations & oversight",bn:"আঞ্চলিক পরিচালনা ও তত্ত্বাবধান"},lpTopReached:{en:"You've reached the top!",bn:"আপনি সর্বোচ্চ পৌঁছেছেন!"},lpTopDesc:{en:"You are enjoying the highest EasyPay Club tier available.",bn:"আপনি সর্বোচ্চ ইজিপে ক্লাব টায়ার উপভোগ করছেন।"},lpScoreBreakdown:{en:"Combined score breakdown",bn:"সম্মিলিত স্কোর বিশ্লেষণ"},lpScoreToward:{en:"Score toward {tier}",bn:"{tier}-এর জন্য স্কোর"},lpPoints:{en:"+{n} pts",bn:"+{n} পয়েন্ট"},lpPartInfo:{en:"{metric} × {weight} weight · contributes {pct} of your score",bn:"{metric} × {weight} ওজন · আপনার স্কোরের {pct} অবদান"},lpWeightsFootnote:{en:"Weights: volume ×{v}, txn count ×{t}, wallet ×{w}, add-money ×{a}, savings ×{s}. The bigger the contribution bar, the more that metric moves your tier.",bn:"ওজন: ভলিউম ×{v}, লেনদেন সংখ্যা ×{t}, ওয়ালেট ×{w}, অ্যাড-মানি ×{a}, সেভিংস ×{s}। কন্ট্রিবিউশন বার যত বড়, সেই মেট্রিক তত বেশি টায়ার এগিয়ে নেয়।"},lpAllTiers:{en:"All tiers",bn:"সব টায়ার"},lpCurrentBadge:{en:"CURRENT",bn:"বর্তমান"},lpTierPerks:{en:"Limits ×{lm} · Fee −{fd}% · Cashback +{cb}%",bn:"লিমিট ×{lm} · ফি −{fd}% · ক্যাশব্যাক +{cb}%"},lpLoadingProgress:{en:"Loading your progress…",bn:"অগ্রগতি লোড হচ্ছে…"},lpMetricVolume:{en:"30-day volume",bn:"৩০ দিনের ভলিউম"},lpMetricTxnCount:{en:"Lifetime transactions",bn:"মোট লেনদেন সংখ্যা"},lpMetricWallet:{en:"Wallet balance",bn:"ওয়ালেট ব্যালেন্স"},lpMetricAddMoney:{en:"Add-money lifetime",bn:"মোট অ্যাড-মানি"},lpMetricSavings:{en:"Savings balance",bn:"সেভিংস ব্যালেন্স"},lpActionSend:{en:"Send money",bn:"টাকা পাঠান"},lpActionTxn:{en:"More transactions",bn:"আরও লেনদেন"},lpActionAddMoney:{en:"Add money",bn:"টাকা যোগ"},lpActionTopUp:{en:"Top up",bn:"টপ আপ"},lpActionGrow:{en:"Grow savings",bn:"সেভিংস বাড়ান"},lpTierLimits:{en:"Your tier limits",bn:"আপনার টায়ার লিমিট"},lpTierLimitsSub:{en:"Daily and monthly ceilings unlocked by your tier",bn:"আপনার টায়ারে আনলক হওয়া দৈনিক ও মাসিক সীমা"},lpPerDay:{en:"per day",bn:"প্রতিদিন"},lpPerMonth:{en:"per month",bn:"প্রতি মাস"},lpTxnPerDay:{en:"{n} txn/day",bn:"{n} লেনদেন/দিন"},lpUnlockNext:{en:"Unlocks at {tier}",bn:"{tier}-এ আনলক হবে"},lpUpliftPlus:{en:"+৳{n}/day",bn:"+৳{n}/দিন"},lpLimitSourceTier:{en:"Set by EasyPay Club tier",bn:"ইজিপে ক্লাব টায়ার নির্ধারিত"},lpRemainingToday:{en:"Remaining today",bn:"আজ বাকি"},lpRemainingMonth:{en:"Remaining this month",bn:"এ মাসে বাকি"},lpLimitOf:{en:"of ৳{n}",bn:"৳{n} এর মধ্যে"},lpSendLimitTitle:{en:"Send Money limit",bn:"সেন্ড মানি লিমিট"},lpNextTierUplift:{en:"{tier} unlocks ৳{n} more per day",bn:"{tier} প্রতিদিন আরও ৳{n} আনলক করে"},lpLimitExceededDaily:{en:"Daily Send Money limit reached. ৳{remaining} left of ৳{limit} today.",bn:"দৈনিক সেন্ড মানি সীমা শেষ। আজ ৳{limit} এর মধ্যে ৳{remaining} বাকি।"},lpLimitExceededMonthly:{en:"Monthly Send Money limit reached. ৳{remaining} left of ৳{limit} this month.",bn:"মাসিক সেন্ড মানি সীমা শেষ। এ মাসে ৳{limit} এর মধ্যে ৳{remaining} বাকি।"}
187,lpLimitExceededCount:{en:"You reached your {period} transaction count limit ({limit}).",bn:"আপনার {period} লেনদেন সংখ্যার সীমা ({limit}) শেষ।"},lpPointsTitle:{en:"EasyPay points",bn:"ইজিপে পয়েন্ট"},lpPointsSub:{en:"Earn points on every Send Money, redeem for wallet cash",bn:"প্রতিটি সেন্ড মানিতে পয়েন্ট জমুন, ওয়ালেট ক্যাশে রিডিম করুন"},lpPointsBalance:{en:"Points balance",bn:"পয়েন্ট ব্যালেন্স"},lpPointsEarnRate:{en:"{n} pts per ৳100 sent",bn:"প্রতি ৳১০০ পাঠালে {n} পয়েন্ট"},lpPointsWorth:{en:"Worth ৳{n}",bn:"মূল্য ৳{n}"},lpPointsRedeem:{en:"Redeem points",bn:"পয়েন্ট রিডিম"},lpPointsRedeemHint:{en:"100 points = ৳10 · minimum 500 points",bn:"১০০ পয়েন্ট = ৳১০ · সর্বনিম্ন ৫০০ পয়েন্ট"},lpPointsRedeemed:{en:"Redeemed {points} points for ৳{cash}",bn:"{points} পয়েন্ট ৳{cash} এ রিডিম হয়েছে"},lpPointsEarned:{en:"Earned",bn:"অর্জিত"},lpPointsRedeemedTotal:{en:"Redeemed",bn:"রিডিম"},lpPointsHistory:{en:"Points activity",bn:"পয়েন্ট কার্যক্রম"},lpPointsEmpty:{en:"No points activity yet — send money to start earning.",bn:"এখনও কোনো পয়েন্ট নেই — টাকা পাঠিয়ে শুরু করুন।"},lpPointsNextTierRate:{en:"{tier} earns {n} pts per ৳100",bn:"{tier}-এ প্রতি ৳১০০ তে {n} পয়েন্ট"},mdLast7Days:{en:"Last 7 Days",bn:"গত ৭ দিন"},mdUniqueCustomers:{en:"{n} unique customers",bn:"{n} জন গ্রাহক"},mdUniqueCustomer:{en:"{n} unique customer",bn:"{n} জন গ্রাহক"},mdDowSun:{en:"Sun",bn:"রবি"},mdDowMon:{en:"Mon",bn:"সোম"},mdDowTue:{en:"Tue",bn:"মঙ্গল"},mdDowWed:{en:"Wed",bn:"বুধ"},mdDowThu:{en:"Thu",bn:"বৃহ"},mdDowFri:{en:"Fri",bn:"শুক্র"},mdDowSat:{en:"Sat",bn:"শনি"},mdTotalRevenue:{en:"Total Revenue",bn:"মোট আয়"},mdMdrDeducted:{en:"MDR Deducted",bn:"এমডিআর কর্তন"},mdNetEarnings:{en:"Net Earnings",bn:"নেট আয়"},mdAvgTransaction:{en:"Avg Transaction",bn:"গড় লেনদেন"},mdRecentActivity:{en:"Recent Activity",bn:"সাম্প্রতিক কার্যক্রম"},mdSeeAllShort:{en:"See All",bn:"সব দেখুন"},mdNoActivity:{en:"No activity yet",bn:"এখনো কোনো কার্যক্রম নেই"},mdTxWillAppear:{en:"Transactions will appear here",bn:"লেনদেন এখানে দেখা যাবে"},mdSnapToday:{en:"Today",bn:"আজ"},mdSnapSnapshot:{en:"Snapshot",bn:"স্ন্যাপশট"},mdSnapVsYesterday:{en:"vs yesterday",bn:"গতকালের তুলনায়"},mdSnapSales:{en:"Sales",bn:"বিক্রি"},mdSnapOrders:{en:"Orders",bn:"অর্ডার"},mdSnapAvgTicket:{en:"Avg ticket",bn:"গড় টিকিট"},mdSnapNewReturn:{en:"New / Return",bn:"নতুন / পুনরায়"},mdSnapTopToday:{en:"Top today:",bn:"আজকের সেরা:"},miaThresholdShort:{en:"alert at {n}",bn:"সতর্কতা {n}-এ"},miaOutOfStockCount:{en:"{n} product(s) out of stock",bn:"{n}টি পণ্য স্টকে নেই"},mprLowStockThreshold:{en:"Low stock alert at",bn:"কম স্টক সতর্কতা"},mdzTitle:{en:"Delivery zones",bn:"ডেলিভারি জোন"},mdzSubtitle:{en:"Set shipping fees by district",bn:"জেলা অনুযায়ী ডেলিভারি ফি সেট করুন"},mdzNewZone:{en:"New zone",bn:"নতুন জোন"},mdzZoneName:{en:"Zone name",bn:"জোনের নাম"},mdzZoneNamePh:{en:"e.g. Inside Dhaka",bn:"যেমন ঢাকার ভেতরে"},mdzDistricts:{en:"Districts",bn:"জেলা"},mdzFee:{en:"Delivery fee (৳)",bn:"ডেলিভারি ফি (৳)"},mdzFreeAbove:{en:"Free shipping above (৳)",bn:"ফ্রি ডেলিভারি (৳ এর উপরে)"},mdzEta:{en:"Estimated days",bn:"সম্ভাব্য দিন"},mdzEtaPh:{en:"e.g. 1-2 days",bn:"যেমন ১-২ দিন"},mdzSave:{en:"Save zone",bn:"জোন সংরক্ষণ"},mdzSaved:{en:"Zone saved",bn:"জোন সংরক্ষিত হয়েছে"},mdzDeleted:{en:"Zone deleted",bn:"জোন মুছে ফেলা হয়েছে"},mdzEmpty:{en:"No zones yet — add one so buyers see shipping fees.",bn:"এখনো কোনো জোন নেই — ক্রেতাদের ডেলিভারি ফি দেখাতে একটি যোগ করুন।"},mdzNeedNameDistricts:{en:"Add a zone name and at least one district",bn:"জোনের নাম ও অন্তত একটি জেলা দিন"},mdzFreeAboveTag:{en:"Free above ৳{n}",bn:"৳{n} এর উপরে ফ্রি"},mdzInactive:{en:"Inactive",bn:"নিষ্ক্রিয়"},mdzSearchDistrict:{en:"Search district",bn:"জেলা খুঁজুন"},mdMenuZones:{en:"Delivery Zones",bn:"ডেলিভারি জোন"},mdMenuZonesDesc:{en:"Shipping fees by district",bn:"জেলা অনুযায়ী ডেলিভারি ফি"},mkycRejectedTitle:{en:"Business verification rejected",bn:"ব্যবসা যাচাই বাতিল হয়েছে"},mkycPendingTitle:{en:"Business verification under review",bn:"ব্যবসা যাচাই পর্যালোচনায়"},mkycNoneTitle:{en:"Business verification required",bn:"ব্যবসা যাচাই প্রয়োজন"},mkycResubmit:{en:"Re-submit documents",bn:"কাগজপত্র পুনরায় জমা দিন"}
187,mkycStart:{en:"Start verification",bn:"যাচাই শুরু করুন"},mkycPendingDesc:{en:"We're reviewing your documents. Payouts unlock once approved.",bn:"আমরা আপনার কাগজপত্র পরীক্ষা করছি। অনুমোদনের পর পেআউট চালু হবে।"},scpMerchantShipping:{en:"Store shipping",bn:"স্টোর ডেলিভারি"},scpFreeShipping:{en:"Free shipping",bn:"ফ্রি ডেলিভারি"},mdWklyInsights:{en:"Weekly insights",bn:"সাপ্তাহিক অন্তর্দৃষ্টি"},mdWklyShipToUnlock:{en:"Ship a few orders to unlock trend insights.",bn:"প্রবণতা দেখতে কয়েকটি অর্ডার ডেলিভারি করুন।"},mdWklyLoading:{en:"Loading weekly insights…",bn:"সাপ্তাহিক অন্তর্দৃষ্টি লোড হচ্ছে…"},mdWklyThisWeek:{en:"This week",bn:"এই সপ্তাহ"},mdWklyLastWeek:{en:"Last week",bn:"গত সপ্তাহ"},mdWklyItems:{en:"items",bn:"আইটেম"},mdWklyTopSeller:{en:"Top seller: ",bn:"সেরা বিক্রেতা: "},mdWklyBusiestDay:{en:"Busiest day: ",bn:"ব্যস্ততম দিন: "},mlStoreManager:{en:"Store Manager",bn:"স্টোর ম্যানেজার"},mlMerchantPortal:{en:"Merchant Portal",bn:"মার্চেন্ট পোর্টাল"},mlManagerSignIn:{en:"Manager sign-in",bn:"ম্যানেজার সাইন-ইন"},mlWelcomeBack:{en:"Welcome back",bn:"স্বাগতম"},mlManagerDesc:{en:"Access the store you manage.",bn:"আপনার পরিচালিত দোকানে প্রবেশ করুন।"},mlMerchantDesc:{en:"Manage your store, orders, payouts and QR.",bn:"আপনার দোকান, অর্ডার, পেআউট ও কিউআর পরিচালনা করুন।"},mlLockedTitle:{en:"Account temporarily locked",bn:"অ্যাকাউন্ট সাময়িক লক"},mlLockedDescPrefix:{en:"Too many failed sign-in attempts. Try again in ",bn:"অনেকবার ব্যর্থ চেষ্টা হয়েছে। আবার চেষ্টা করুন "},mlLockedDescSuffix:{en:".",bn:"-এ।"},mlIncorrectPin:{en:"Incorrect PIN",bn:"ভুল পিন"},mlAttemptsRemainingOne:{en:"{n} attempt remaining before this account is temporarily locked.",bn:"সাময়িক লক হওয়ার আগে {n}টি চেষ্টা বাকি।"},mlAttemptsRemainingOther:{en:"{n} attempts remaining before this account is temporarily locked.",bn:"সাময়িক লক হওয়ার আগে {n}টি চেষ্টা বাকি।"},mlPleaseDoubleCheck:{en:"Please double-check your PIN and try again.",bn:"পিন যাচাই করে আবার চেষ্টা করুন।"},mlSignedInAs:{en:"Signed in as",bn:"সাইন-ইন হিসেবে"},mlMobileNumber:{en:"Mobile number",bn:"মোবাইল নম্বর"},mlPin4Digit:{en:"4-digit PIN",bn:"৪-সংখ্যার পিন"},mlSigningIn:{en:"Signing in...",bn:"সাইন ইন হচ্ছে..."},mlSignInAsManager:{en:"Sign in as Manager",bn:"ম্যানেজার হিসেবে সাইন ইন"},mlSignInToDashboard:{en:"Sign in to dashboard",bn:"ড্যাশবোর্ডে সাইন ইন"},mlLockedButton:{en:"Locked — try again in {time}",bn:"লক — আবার চেষ্টা {time}-এ"},mlDeviceLockedAria:{en:"Device locked to this merchant account",bn:"এই মার্চেন্ট অ্যাকাউন্টে ডিভাইস লক"},mlTrustSecurePin:{en:"Secure PIN",bn:"নিরাপদ পিন"},mlTrustEncrypted:{en:"Encrypted",bn:"এনক্রিপ্টেড"},mlTrustBankGrade:{en:"Bank-grade",bn:"ব্যাংক-গ্রেড"},mlPillOrders:{en:"Orders",bn:"অর্ডার"},mlPillPayouts:{en:"Payouts",bn:"পেআউট"},mlPillQR:{en:"QR",bn:"কিউআর"},mlPillInsights:{en:"Insights",bn:"ইনসাইট"},mlSessionExpired:{en:"Your session has expired. Please sign in again.",bn:"আপনার সেশন শেষ হয়ে গেছে। আবার সাইন ইন করুন।"},naTitle:{en:"Nearby Agents",bn:"কাছাকাছি এজেন্ট"},naLocating:{en:"Locating you…",bn:"আপনার অবস্থান খোঁজা হচ্ছে…"},naTaglineWithin:{en:"{shown} of {total} within {radius} km",bn:"{radius} কিমির মধ্যে {total}টির মধ্যে {shown}টি"},naGeoUnavailable:{en:"Geolocation unavailable",bn:"জিওলোকেশন উপলব্ধ নেই"}
187,naLocationDenied:{en:"Location denied",bn:"অবস্থান প্রত্যাখ্যাত"},naLoadFailed:{en:"Could not load agents",bn:"এজেন্ট লোড করা যায়নি"},naSearchPlaceholder:{en:"Search by shop, name, address or ID",bn:"দোকান, নাম, ঠিকানা বা আইডি দিয়ে খুঁজুন"},naClearSearch:{en:"Clear search",bn:"সার্চ মুছুন"},naCatAll:{en:"All",bn:"সব"},naCatOpen:{en:"Available now",bn:"এখন উপলব্ধ"},naCatTop:{en:"Top rated 4★+",bn:"টপ রেটেড ৪★+"},naCatVerified:{en:"Rated only",bn:"শুধু রেটেড"},naSortNearest:{en:"Nearest first",bn:"নিকটতম আগে"},naSortTop:{en:"Top rated",bn:"টপ রেটেড"},naNoMatch:{en:"No agents match your filters.",bn:"কোনো এজেন্ট আপনার ফিল্টারের সাথে মেলেনি।"},naNoOpen:{en:"No open agents in this area.",bn:"এই এলাকায় কোনো খোলা এজেন্ট নেই।"},naAvailable:{en:"Available",bn:"উপলব্ধ"},naClosed:{en:"Closed",bn:"বন্ধ"},naNew:{en:"New",bn:"নতুন"},naNoAddress:{en:"No address",bn:"কোনো ঠিকানা নেই"},naDistance:{en:"Distance",bn:"দূরত্ব"},naAgentId:{en:"Agent ID",bn:"এজেন্ট আইডি"},naCopyId:{en:"Copy ID",bn:"আইডি কপি"},naIdCopied:{en:"Agent ID copied",bn:"এজেন্ট আইডি কপি হয়েছে"},naDirections:{en:"Directions",bn:"দিকনির্দেশ"},naCashoutHere:{en:"Cash out here",bn:"এখানে ক্যাশ আউট"},naMapFailed:{en:"Map failed to load",bn:"ম্যাপ লোড করা যায়নি"},ijStatusPaid:{en:"Paid",bn:"পরিশোধিত"},ijStatusUpcoming:{en:"Upcoming",bn:"আসন্ন"},ijStatusDueToday:{en:"Due Today",bn:"আজ বকেয়া"},ijStatusOverdue:{en:"Overdue",bn:"বিলম্বিত"},ijStatusCompleted:{en:"Completed",bn:"সম্পন্ন"},ijComplete:{en:"complete",bn:"সম্পন্ন"},ijInstallment:{en:"Installment",bn:"কিস্তি"},ijRemaining:{en:"Remaining",bn:"বাকি"},ijDue:{en:"Due",bn:"শেষ তারিখ"},ijPaid:{en:"Paid",bn:"পরিশোধিত"},ijBack:{en:"Back",bn:"ফিরে যান"},ijJourney:{en:"Journey",bn:"যাত্রা"},ijInstallmentTimeline:{en:"Installment Timeline",bn:"কিস্তির টাইমলাইন"},ijLoadingTimeline:{en:"Loading timeline…",bn:"টাইমলাইন লোড হচ্ছে…"},ijNotFound:{en:"Not found",bn:"পাওয়া যায়নি"},ijNotFoundDps:{en:"This DPS plan could not be located.",bn:"এই ডিপিএস প্ল্যানটি খুঁজে পাওয়া যায়নি।"},ijNotFoundGoal:{en:"This goal could not be located.",bn:"এই লক্ষ্যটি খুঁজে পাওয়া যায়নি।"},ijBackToSavings:{en:"Back to Savings",bn:"সেভিংসে ফিরে যান"},ijDpsPlan:{en:"DPS Plan",bn:"ডিপিএস প্ল্যান"},ijCurrentBalance:{en:"Current Balance",bn:"বর্তমান ব্যালেন্স"},ijOfTarget:{en:"of {target} target",bn:"{target} লক্ষ্যের মধ্যে"},ijOutstanding:{en:"Outstanding",bn:"বকেয়া"},ijNextAmt:{en:"Next Amt",bn:"পরবর্তী পরিমাণ"},ijProgress:{en:"Progress",bn:"অগ্রগতি"},ijPctComplete:{en:"{pct}% complete",bn:"{pct}% সম্পন্ন"},ijStreak:{en:"Streak",bn:"ধারা"},ijTimeline:{en:"Timeline",bn:"টাইমলাইন"},ijMilestones:{en:"Milestones",bn:"মাইলফলক"},ijPaidCount:{en:"{paid}/{total} paid",bn:"{paid}/{total} পরিশোধিত"},ijNoInstallments:{en:"No installments yet.",bn:"এখনো কোনো কিস্তি নেই।"},ijAiInsight:{en:"AI Insight",bn:"এআই ইনসাইট"},ijAiInsightBody:{en:"Add {extra} extra per cycle to finish {name} faster.",bn:"{name} দ্রুত সম্পন্ন করতে প্রতি সাইকেলে অতিরিক্ত {extra} যোগ করুন।"},ijPayInstallment:{en:"Pay Installment",bn:"কিস্তি পরিশোধ"},ijAddDeposit:{en:"Add Deposit",bn:"আমানত যোগ করুন"},ijExtraDeposit:{en:"Extra deposit",bn:"অতিরিক্ত আমানত"},ijAmountLabel:{en:"Amount (৳)",bn:"পরিমাণ (৳)"},ijProcessing:{en:"Processing…",bn:"প্রসেসিং…"},ijConfirmInstallment:{en:"Confirm Installment",bn:"কিস্তি নিশ্চিত করুন"}
187,ijConfirmDeposit:{en:"Confirm Deposit",bn:"আমানত নিশ্চিত করুন"},ijCancel:{en:"Cancel",bn:"বাতিল"},ijInstallmentRecorded:{en:"Installment recorded",bn:"কিস্তি রেকর্ড হয়েছে"},ijDepositAdded:{en:"Deposit added",bn:"আমানত যোগ হয়েছে"},ijSomethingWrong:{en:"Something went wrong",bn:"কিছু ভুল হয়েছে"},prSeoTitle:{en:"Payment Requests",bn:"পেমেন্ট অনুরোধ"},prSeoDesc:{en:"Create shareable payment request links and track their status.",bn:"শেয়ারযোগ্য পেমেন্ট লিংক তৈরি করুন ও স্ট্যাটাস ট্র্যাক করুন।"},prTagline:{en:"Share a link to get paid",bn:"টাকা পেতে লিংক শেয়ার করুন"},prLoadingDots:{en:"Loading…",bn:"লোড হচ্ছে…"},prSignInToCreate:{en:"Sign in to create payment requests.",bn:"পেমেন্ট অনুরোধ তৈরি করতে সাইন ইন করুন।"},prAgentToolsTitle:{en:"Agent tools (MCP)",bn:"এজেন্ট টুলস (MCP)"},prAgentToolsBody:{en:"The create request form below and the live status list share the same operations exposed to AI assistants over MCP. Anything created here — or via an assistant — appears here in real time.",bn:"নিচের অনুরোধ ফর্ম ও লাইভ স্ট্যাটাস তালিকা MCP-এর মাধ্যমে AI অ্যাসিস্ট্যান্টে উন্মুক্ত একই অপারেশন ব্যবহার করে। এখানে বা অ্যাসিস্ট্যান্টের মাধ্যমে তৈরি যেকোনো কিছু রিয়েল-টাইমে এখানে দেখা যাবে।"},prNewRequest:{en:"New request",bn:"নতুন অনুরোধ"},prWhatsItFor:{en:"What's it for?",bn:"কীসের জন্য?"},prTitlePlaceholder:{en:"e.g. Rent for July",bn:"যেমন জুলাই মাসের ভাড়া"},prAmountLabel:{en:"Amount (BDT)",bn:"পরিমাণ (BDT)"},prAmountHint:{en:"leave blank for payer to choose",bn:"পেয়ারের পছন্দ হলে খালি রাখুন"},prPartialHint:{en:"Payers can settle it in one go or in partial payments.",bn:"পেয়ার একবারে বা আংশিক পরিশোধ করতে পারবেন।"},prNoteOptional:{en:"Note (optional)",bn:"নোট (ঐচ্ছিক)"}
187,prCreating:{en:"Creating…",bn:"তৈরি হচ্ছে…"},prCreateLink:{en:"Create payment link",bn:"পেমেন্ট লিংক তৈরি করুন"},prReceivedPayments:{en:"Received payments",bn:"প্রাপ্ত পেমেন্ট"},prLive:{en:"Live",bn:"লাইভ"},prTotalReceived:{en:"Total received",bn:"মোট প্রাপ্ত"},prPaymentsCount:{en:"Payments",bn:"পেমেন্ট"},prAllLinks:{en:"All links",bn:"সব লিংক"},prLast7:{en:"Last 7 days",bn:"শেষ ৭ দিন"},prLast30:{en:"Last 30 days",bn:"শেষ ৩০ দিন"},prLast90:{en:"Last 90 days",bn:"শেষ ৯০ দিন"},prAllTime:{en:"All time",bn:"সর্বকালীন"},prNoPaymentsPeriod:{en:"No payments in this period.",bn:"এই সময়ে কোনো পেমেন্ট নেই।"},prUnknownPayer:{en:"Unknown payer",bn:"অজানা পেয়ার"},prRefunded:{en:"Refunded",bn:"ফেরত দেয়া হয়েছে"},prPartialRefundLabel:{en:"Partial refund",bn:"আংশিক ফেরত"},prYourLinks:{en:"Your links",bn:"আপনার লিংক"},prNoLinksYet:{en:"No payment links yet. Create your first one above.",bn:"এখনো কোনো পেমেন্ট লিংক নেই। উপরে প্রথমটি তৈরি করুন।"},prPayerChooses:{en:"payer chooses",bn:"পেয়ার নির্ধারণ করবেন"},prPaymentsSuffix:{en:"payments",bn:"পেমেন্ট"},prLeftSuffix:{en:"left",bn:"বাকি"},prCopy:{en:"Copy",bn:"কপি"},prOpen:{en:"Open",bn:"খুলুন"},prTimeline:{en:"Timeline",bn:"টাইমলাইন"},prDeactivate:{en:"Deactivate",bn:"নিষ্ক্রিয় করুন"},prReactivate:{en:"Reactivate",bn:"পুনরায় সক্রিয় করুন"},prCreatedViaAI:{en:"Created via AI assistant (MCP)",bn:"AI অ্যাসিস্ট্যান্টের (MCP) মাধ্যমে তৈরি"},prCorrelation:{en:"correlation",bn:"কোরিলেশন"},prCopyId:{en:"Copy ID",bn:"আইডি কপি"},prCorrelationCopied:{en:"Correlation ID copied",bn:"কোরিলেশন আইডি কপি হয়েছে"},prCopyFailed:{en:"Failed to copy",bn:"কপি করা যায়নি"},prViewAdminLog:{en:"View in Admin Activity Log",bn:"অ্যাডমিন অ্যাক্টিভিটি লগে দেখুন"},prNoCorrelation:{en:"No correlation ID recorded for this link.",bn:"এই লিংকের জন্য কোনো কোরিলেশন আইডি নেই।"},prNoLinkPayments:{en:"No payments on this link yet.",bn:"এই লিংকে এখনো কোনো পেমেন্ট নেই।"},prSignInFirst:{en:"Please sign in first",bn:"অনুগ্রহ করে আগে সাইন ইন করুন"},prTitleRequired:{en:"Title is required",bn:"শিরোনাম প্রয়োজন"},prAmountPositive:{en:"Amount must be a positive number",bn:"পরিমাণ ধনাত্মক সংখ্যা হতে হবে"},prLinkCreated:{en:"Payment link created",bn:"পেমেন্ট লিংক তৈরি হয়েছে"},prLinkCopied:{en:"Link copied",bn:"লিংক কপি হয়েছে"},prCouldNotCopy:{en:"Could not copy",bn:"কপি করা যায়নি"},prRefundedAmount:{en:"Refunded",bn:"ফেরত"},prPartialRefundIssued:{en:"Partial refund issued",bn:"আংশিক ফেরত প্রদান করা হয়েছে"},prRefundFailed:{en:"Refund failed",bn:"ফেরত ব্যর্থ"},prStatusActive:{en:"Active",bn:"সক্রিয়"},prStatusPaid:{en:"Paid",bn:"পরিশোধিত"},prStatusExhausted:{en:"Exhausted",bn:"শেষ"},prStatusExpired:{en:"Expired",bn:"মেয়াদোত্তীর্ণ"},prStatusInactive:{en:"Inactive",bn:"নিষ্ক্রিয়"},savDpsPlan:{en:"DPS Plan",bn:"ডিপিএস প্ল্যান"},savProgress:{en:"Progress",bn:"অগ্রগতি"},savActive:{en:"Active",bn:"সক্রিয়"},savPaused:{en:"Paused",bn:"স্থগিত"}
187,savDepositedLabel:{en:"Deposited",bn:"জমাকৃত"},savOutstanding:{en:"Outstanding",bn:"বকেয়া"},savRemainingInstallments:{en:"Remaining installments",bn:"বাকি কিস্তি"},savMissed:{en:"Missed",bn:"মিসড"},savStarted:{en:"Started",bn:"শুরু"},savLastCollection:{en:"Last collection",bn:"শেষ সংগ্রহ"},savNextCollection:{en:"Next collection",bn:"পরবর্তী সংগ্রহ"},savEnds:{en:"Ends",bn:"শেষ"},savInstallmentTimeline:{en:"Installment timeline",bn:"কিস্তির টাইমলাইন"},savPaidCount:{en:"paid",bn:"পরিশোধিত"},savUpcomingCount:{en:"upcoming",bn:"আসন্ন"},savUpcoming:{en:"Upcoming",bn:"আসন্ন"},savManual:{en:"Manual",bn:"ম্যানুয়াল"},savCollected:{en:"Collected",bn:"সংগৃহীত"},savSettled:{en:"Settled",bn:"নিষ্পন্ন"},savSkipped:{en:"Skipped",bn:"বাদ"},savNoInstallments:{en:"No installments yet.",bn:"এখনো কোনো কিস্তি নেই।"},savPausePlan:{en:"Pause plan",bn:"প্ল্যান স্থগিত"},savResumePlan:{en:"Resume plan",bn:"প্ল্যান পুনরায় চালু"},savPageTitle:{en:"Islamic Savings & DPS",bn:"ইসলামিক সঞ্চয় ও ডিপিএস"},savPageDesc:{en:"Sharia-compliant savings, DPS, gold, and stocks.",bn:"শরিয়াহ্‌সম্মত সঞ্চয়, ডিপিএস, স্বর্ণ এবং স্টক।"},rlpSignInSuffix:{en:"{role} — Sign in",bn:"{role} — সাইন ইন"},rlpTaglineAdmin:{en:"Sign in with your admin / team account.",bn:"আপনার অ্যাডমিন / টিম অ্যাকাউন্ট দিয়ে সাইন ইন করুন।"},rlpTaglineAgent:{en:"Sign in with your agent phone number & PIN.",bn:"আপনার এজেন্ট ফোন নম্বর ও পিন দিয়ে সাইন ইন করুন।"},rlpTaglineMerchant:{en:"Sign in with your merchant account.",bn:"আপনার মার্চেন্ট অ্যাকাউন্ট দিয়ে সাইন ইন করুন।"},rlpTaglineDistributor:{en:"Sign in with your distributor phone number & PIN.",bn:"আপনার ডিস্ট্রিবিউটর ফোন নম্বর ও পিন দিয়ে সাইন ইন করুন।"},rlpTaglineSD:{en:"Sign in with your super-distributor account.",bn:"আপনার সুপার-ডিস্ট্রিবিউটর অ্যাকাউন্ট দিয়ে সাইন ইন করুন।"},rlpDescAdmin:{en:"EasyPay Admin – manage users, transactions, fraud alerts and platform settings.",bn:"ইজিপে অ্যাডমিন – ব্যবহারকারী, লেনদেন, জালিয়াতির সতর্কতা ও প্ল্যাটফর্ম সেটিংস পরিচালনা করুন।"},rlpDescAgent:{en:"EasyPay Agent – cash-in, cash-out, bill pay and customer onboarding.",bn:"ইজিপে এজেন্ট – ক্যাশ-ইন, ক্যাশ-আউট, বিল পরিশোধ ও গ্রাহক নিবন্ধন।"},rlpDescMerchant:{en:"EasyPay Merchant – accept payments, manage products and track analytics.",bn:"ইজিপে মার্চেন্ট – পেমেন্ট গ্রহণ, পণ্য পরিচালনা ও অ্যানালিটিক্স ট্র্যাক করুন।"},rlpDescDistributor:{en:"EasyPay Distributor – create agents, manage float and track commissions.",bn:"ইজিপে ডিস্ট্রিবিউটর – এজেন্ট তৈরি, ফ্লোট পরিচালনা ও কমিশন ট্র্যাক করুন।"},rlpDescSD:{en:"EasyPay Super Distributor – manage distributors, float and commission networks.",bn:"ইজিপে সুপার ডিস্ট্রিবিউটর – ডিস্ট্রিবিউটর, ফ্লোট ও কমিশন নেটওয়ার্ক পরিচালনা করুন।"},ilpBadge:{en:"Install EasyPay",bn:"ইজিপে ইনস্টল করুন"},ilpHeading:{en:"Get the right app for your role",bn:"আপনার ভূমিকার জন্য সঠিক অ্যাপ নিন"},ilpSubheading:{en:"Each installer opens a role-specific PWA that binds to your account type and launches straight into the correct dashboard.",bn:"প্রতিটি ইনস্টলার একটি ভূমিকা-নির্দিষ্ট পিডব্লিউএ চালু করে যা আপনার অ্যাকাউন্ট ধরনের সাথে বাঁধা থাকে এবং সরাসরি সঠিক ড্যাশবোর্ডে নিয়ে যায়।"},ilpInstallAllGuided:{en:"Install all roles (guided)",bn:"সব ভূমিকা ইনস্টল করুন (গাইডেড)"},ilpInstallStatus:{en:"Install status",bn:"ইনস্টল স্ট্যাটাস"},ilpLinkCopied:{en:"{label} link copied",bn:"{label} লিঙ্ক কপি হয়েছে"},ilpCopyFail:{en:"Could not copy — long-press the link to copy manually",bn:"কপি করা যায়নি — নিজে কপি করতে লিঙ্কটি চেপে ধরুন"},ilpAlreadyInstalled:{en:"Already installed? Just launch the app from your home screen — it will route to the right login automatically.",bn:"ইতিমধ্যে ইনস্টল করা আছে? হোম স্ক্রিন থেকে অ্যাপটি চালু করুন — এটি স্বয়ংক্রিয়ভাবে সঠিক লগইনে নিয়ে যাবে।"},ilpInstallShort:{en:"Install {short}",bn:"{short} ইনস্টল করুন"},ilpCopyLinkAria:{en:"Copy {short} install link",bn:"{short} ইনস্টল লিঙ্ক কপি করুন"},ilpRoleCustomerName:{en:"EasyPay",bn:"ইজিপে"},ilpRoleCustomerShort:{en:"Customer",bn:"গ্রাহক"},ilpRoleCustomerDesc:{en:"Send money, pay bills, shop, and manage your wallet.",bn:"টাকা পাঠান, বিল পরিশোধ, শপিং করুন ও ওয়ালেট পরিচালনা করুন।"},ilpRoleAgentName:{en:"EasyPay Agent",bn:"ইজিপে এজেন্ট"},ilpRoleAgentShort:{en:"Agent",bn:"এজেন্ট"},ilpRoleAgentDesc:{en:"Cash-in, cash-out, bill pay, and customer onboarding.",bn:"ক্যাশ-ইন, ক্যাশ-আউট, বিল পরিশোধ ও গ্রাহক নিবন্ধন।"},ilpRoleMerchantName:{en:"EasyPay Merchant",bn:"ইজিপে মার্চেন্ট"},ilpRoleMerchantShort:{en:"Merchant",bn:"মার্চেন্ট"},ilpRoleMerchantDesc:{en:"Accept payments, manage products, and track analytics.",bn:"পেমেন্ট গ্রহণ, পণ্য পরিচালনা ও অ্যানালিটিক্স ট্র্যাক করুন।"},ilpRoleDistributorName:{en:"EasyPay Distributor",bn:"ইজিপে ডিস্ট্রিবিউটর"},ilpRoleDistributorShort:{en:"Distributor",bn:"ডিস্ট্রিবিউটর"},ilpRoleDistributorDesc:{en:"Create agents, manage float, and track commissions.",bn:"এজেন্ট তৈরি, ফ্লোট পরিচালনা ও কমিশন ট্র্যাক করুন।"},ilpRoleSDName:{en:"EasyPay Super Distributor",bn:"ইজিপে সুপার ডিস্ট্রিবিউটর"},ilpRoleSDShort:{en:"Super Distributor",bn:"সুপার ডিস্ট্রিবিউটর"},ilpRoleSDDesc:{en:"Manage distributors, float allocation, and commission networks.",bn:"ডিস্ট্রিবিউটর, ফ্লোট বরাদ্দ ও কমিশন নেটওয়ার্ক পরিচালনা করুন।"},ilpRoleAdminName:{en:"EasyPay Admin",bn:"ইজিপে অ্যাডমিন"},ilpRoleAdminShort:{en:"Admin",bn:"অ্যাডমিন"},ilpRoleAdminDesc:{en:"Manage users, transactions, fraud alerts and settings.",bn:"ব্যবহারকারী, লেনদেন, জালিয়াতির সতর্কতা ও সেটিংস পরিচালনা করুন।"},ispTitle:{en:"Install Link Status",bn:"ইনস্টল লিঙ্ক স্ট্যাটাস"},ispSubtitle:{en:"Live check that every /install/<role> route and its PWA manifest are reachable after deployment.",bn:"প্রতিটি /install/<role> রুট ও তার পিডব্লিউএ ম্যানিফেস্ট ডিপ্লয়মেন্টের পরে অ্যাক্সেসযোগ্য কিনা তার লাইভ চেক।"},ispRerun:{en:"Re-run checks",bn:"চেক পুনরায় চালান"},ispTarget:{en:"Target:",bn:"টার্গেট:"},ispThisOrigin:{en:"This origin",bn:"এই অরিজিন"},ispPublished:{en:"Published (pay-palooza-go)",bn:"প্রকাশিত (pay-palooza-go)"},ispOk:{en:"{count} OK",bn:"{count} ঠিক"},ispFailing:{en:"{count} failing",bn:"{count} ব্যর্থ"},ispAllOk:{en:"All install links verified working",bn:"সব ইনস্টল লিঙ্ক কার্যকর যাচাই হয়েছে"},ispSomeFail:{en:"{failed} of {total} install link(s) failing",bn:"{total}-এর মধ্যে {failed}টি ইনস্টল লিঙ্ক ব্যর্থ"},ispMetricPage:{en:"Page",bn:"পৃষ্ঠা"},ispMetricManifest:{en:"Manifest",bn:"ম্যানিফেস্ট"},ispMetricLatency:{en:"Latency",bn:"লেটেন্সি"},ispMetricChecked:{en:"Checked",bn:"চেক করা"},ispUnreachable:{en:"Unreachable",bn:"অ্যাক্সেসযোগ্য নয়"},ispMissing:{en:"Missing",bn:"নেই"},ispCopied:{en:"Copied",bn:"কপি হয়েছে"},ispCopyFail:{en:"Copy failed",bn:"কপি ব্যর্থ"},ispSeeLanding:{en:"Also see the",bn:"এছাড়াও দেখুন"},ispInstallLandingLink:{en:"install landing page",bn:"ইনস্টল ল্যান্ডিং পৃষ্ঠা"},ispRoleCustomer:{en:"Customer",bn:"গ্রাহক"},ispRoleAgent:{en:"Agent",bn:"এজেন্ট"},ispRoleMerchant:{en:"Merchant",bn:"মার্চেন্ট"},ispRoleDistributor:{en:"Distributor",bn:"ডিস্ট্রিবিউটর"},ispRoleSD:{en:"Super Distributor",bn:"সুপার ডিস্ট্রিবিউটর"},ispRoleAdmin:{en:"Admin",bn:"অ্যাডমিন"},iarBadge:{en:"Install all roles · wizard",bn:"সব ভূমিকা ইনস্টল · উইজার্ড"},iarHeading:{en:"Install every EasyPay role app in order",bn:"প্রতিটি ইজিপে ভূমিকা অ্যাপ ক্রমানুসারে ইনস্টল করুন"},iarSubheading:{en:"Each role installs as its own PWA. Follow these {count} steps — we'll track progress and open the correct installer for you.",bn:"প্রতিটি ভূমিকা আলাদা পিডব্লিউএ হিসেবে ইনস্টল হয়। এই {count}টি ধাপ অনুসরণ করুন — আমরা অগ্রগতি ট্র্যাক করব ও আপনার জন্য সঠিক ইনস্টলার খুলব।"}
187,iarAllInstallers:{en:"All installers",bn:"সব ইনস্টলার"},iarRestart:{en:"Restart",bn:"পুনরায় শুরু"},iarInstalledCount:{en:"{done} of {total} installed",bn:"{total}-এর মধ্যে {done}টি ইনস্টল হয়েছে"},iarStepOf:{en:"STEP {n} / {total}",bn:"ধাপ {n} / {total}"},iarInstalled:{en:"Installed",bn:"ইনস্টল হয়েছে"},iarInstallerLink:{en:"Installer link",bn:"ইনস্টলার লিঙ্ক"},iarOpenInstaller:{en:"Open {short} installer",bn:"{short} ইনস্টলার খুলুন"},iarCopyLink:{en:"Copy link",bn:"লিঙ্ক কপি করুন"},iarLinkCopied:{en:"{short} install link copied",bn:"{short} ইনস্টল লিঙ্ক কপি হয়েছে"},iarCopyFail:{en:"Copy failed — long-press the link to copy manually",bn:"কপি ব্যর্থ — নিজে কপি করতে লিঙ্কটি চেপে ধরুন"},iarWhatToDo:{en:"What to do on this step",bn:"এই ধাপে কী করবেন"},iarStep1:{en:"Tap Open {short} installer.",bn:"{short} ইনস্টলার খুলুন-এ ট্যাপ করুন।"},iarStep2:{en:"On the installer page, tap Install and confirm in your browser.",bn:"ইনস্টলার পৃষ্ঠায় ইনস্টল ট্যাপ করে ব্রাউজারে নিশ্চিত করুন।"},iarStep3:{en:"Return here and tap Mark installed & continue.",bn:"এখানে ফিরে এসে ইনস্টল হয়েছে চিহ্নিত করুন ও চালিয়ে যান ট্যাপ করুন।"},iarBack:{en:"Back",bn:"পিছনে"},iarSkip:{en:"Skip",bn:"এড়িয়ে যান"},iarMarkContinue:{en:"Mark installed & continue",bn:"ইনস্টল হয়েছে চিহ্নিত করুন ও চালিয়ে যান"},iarMarkFinish:{en:"Mark installed & finish",bn:"ইনস্টল হয়েছে চিহ্নিত করুন ও শেষ করুন"},iarMarkedInstalled:{en:"{short} marked installed",bn:"{short} ইনস্টল হিসেবে চিহ্নিত"},iarRestarted:{en:"Wizard restarted",bn:"উইজার্ড পুনরায় শুরু হয়েছে"},iarOverview:{en:"Overview",bn:"সংক্ষিপ্ত বিবরণ"},iarCurrent:{en:"Current",bn:"বর্তমান"},iarGo:{en:"Go",bn:"যান"},iarAllDone:{en:"All role apps installed 🎉",bn:"সব ভূমিকা অ্যাপ ইনস্টল হয়েছে 🎉"},iarAllDoneDesc:{en:"Launch any role from your home screen — each app logs you into its own dashboard.",bn:"হোম স্ক্রিন থেকে যেকোনো ভূমিকা চালু করুন — প্রতিটি অ্যাপ তার নিজস্ব ড্যাশবোর্ডে সাইন ইন করাবে।"},iarViewStatus:{en:"View install status",bn:"ইনস্টল স্ট্যাটাস দেখুন"},iarDone:{en:"Done",bn:"সম্পন্ন"},iarRoleAgentName:{en:"EasyPay Agent",bn:"ইজিপে এজেন্ট"},iarRoleAgentShort:{en:"Agent",bn:"এজেন্ট"},iarRoleAgentWhy:{en:"Front-line cash-in, cash-out and customer onboarding.",bn:"সম্মুখসারির ক্যাশ-ইন, ক্যাশ-আউট ও গ্রাহক নিবন্ধন।"},iarRoleMerchantName:{en:"EasyPay Merchant",bn:"ইজিপে মার্চেন্ট"},iarRoleMerchantShort:{en:"Merchant",bn:"মার্চেন্ট"},iarRoleMerchantWhy:{en:"Accept payments, manage products and track sales.",bn:"পেমেন্ট গ্রহণ, পণ্য পরিচালনা ও বিক্রি ট্র্যাক করুন।"},iarRoleDistributorName:{en:"EasyPay Distributor",bn:"ইজিপে ডিস্ট্রিবিউটর"},iarRoleDistributorShort:{en:"Distributor",bn:"ডিস্ট্রিবিউটর"},iarRoleDistributorWhy:{en:"Create agents, manage float and commissions.",bn:"এজেন্ট তৈরি, ফ্লোট ও কমিশন পরিচালনা করুন।"},iarRoleSDName:{en:"EasyPay Super Distributor",bn:"ইজিপে সুপার ডিস্ট্রিবিউটর"},iarRoleSDShort:{en:"Super Distributor",bn:"সুপার ডিস্ট্রিবিউটর"},iarRoleSDWhy:{en:"Oversee distributors and network-wide allocation.",bn:"ডিস্ট্রিবিউটর ও নেটওয়ার্কব্যাপী বরাদ্দ তদারকি করুন।"},iarRoleAdminName:{en:"EasyPay Admin",bn:"ইজিপে অ্যাডমিন"},iarRoleAdminShort:{en:"Admin",bn:"অ্যাডমিন"},iarRoleAdminWhy:{en:"Manage users, transactions and platform settings.",bn:"ব্যবহারকারী, লেনদেন ও প্ল্যাটফর্ম সেটিংস পরিচালনা করুন।"},mavLoading:{en:"Loading…",bn:"লোড হচ্ছে…"},mavShopFrontLabel:{en:"Shop front photo",bn:"দোকানের সামনের ছবি"},mavShopFrontHint:{en:"Exterior with signboard. Min 640×480, JPG/PNG/WEBP, ≤8MB.",bn:"সাইনবোর্ডসহ বাইরের ছবি। সর্বনিম্ন ৬৪০×৪৮০, JPG/PNG/WEBP, ≤৮MB।"},mavShopInsideLabel:{en:"Shop inside photo",bn:"দোকানের ভেতরের ছবি"},mavShopInsideHint:{en:"Interior showing products / counter.",bn:"পণ্য / কাউন্টার দেখানো ভেতরের ছবি।"},mavErrUnsupportedType:{en:'Unsupported file type "{type}". Use JPG, PNG or WEBP.',bn:'"{type}" ফাইল টাইপ সমর্থিত নয়। JPG, PNG বা WEBP ব্যবহার করুন।'},mavErrTooLarge:{en:"File is {mb} MB — exceeds the {max} MB limit.",bn:"ফাইল {mb} MB — {max} MB সীমা অতিক্রম করেছে।"},mavErrLowRes:{en:"Photo resolution {w}×{h} is below the required 640×480.",bn:"ছবির রেজোলিউশন {w}×{h} প্রয়োজনীয় ৬৪০×৪৮০-এর নিচে।"},mavUploadFail:{en:"Upload failed: {msg}",bn:"আপলোড ব্যর্থ: {msg}"},mavPhotoValidated:{en:"{label} validated ({w}×{h})",bn:"{label} যাচাই হয়েছে ({w}×{h})"},mavErrStoreNameReq:{en:"Store name is required",bn:"দোকানের নাম আবশ্যক"},mavErrPickupReq:{en:"Pickup address is required",bn:"পিকআপ ঠিকানা আবশ্যক"},mavErrShopFrontReq:{en:"Shop front photo is required",bn:"দোকানের সামনের ছবি আবশ্যক"},mavErrShopInsideReq:{en:"Shop inside photo is required",bn:"দোকানের ভেতরের ছবি আবশ্যক"},mavErrPhotoFix:{en:"Fix photo validation errors first",bn:"আগে ছবির যাচাই ত্রুটি ঠিক করুন"},mavErrBlocked:{en:'Vendor application blocked — merchant status: {status}, business KYC: {kyc}. Both must be "approved".',bn:'ভেন্ডর আবেদন ব্লকড — মার্চেন্ট স্ট্যাটাস: {status}, ব্যবসায়িক KYC: {kyc}। উভয়ই "অনুমোদিত" হতে হবে।'},mavErrVerify:{en:"Could not verify merchant status: {msg}",bn:"মার্চেন্ট স্ট্যাটাস যাচাই করা যায়নি: {msg}"},mavErrNoProfile:{en:"Merchant profile not found. Please complete the merchant application first.",bn:"মার্চেন্ট প্রোফাইল পাওয়া যায়নি। প্রথমে মার্চেন্ট আবেদন সম্পন্ন করুন।"},mavSubmitFail:{en:"Failed to submit: {msg}",bn:"সাবমিট ব্যর্থ: {msg}"},mavServerValFail:{en:"Server photo validation failed: {msg} — application NOT queued.",bn:"সার্ভার ছবি যাচাই ব্যর্থ: {msg}
187 — আবেদন সারিতে যায়নি।"},mavSubmittedResubmit:{en:"Resubmitted for admin review",bn:"অ্যাডমিন পর্যালোচনার জন্য পুনরায় জমা হয়েছে"},mavSubmittedNew:{en:"Vendor application submitted",bn:"ভেন্ডর আবেদন জমা হয়েছে"},mavFinishSetup:{en:"Finish your merchant setup",bn:"আপনার মার্চেন্ট সেটআপ সম্পন্ন করুন"},mavFinishDesc:{en:"Your account has the merchant role, but the merchant business profile (business name, KYC, bank details) hasn't been submitted yet. Complete the merchant application first — vendor / EasyPay Shop upgrade unlocks right after your merchant profile is approved.",bn:"আপনার অ্যাকাউন্টে মার্চেন্ট ভূমিকা আছে, কিন্তু মার্চেন্ট ব্যবসায়িক প্রোফাইল (ব্যবসার নাম, KYC, ব্যাংক তথ্য) এখনও জমা দেওয়া হয়নি। আগে মার্চেন্ট আবেদন সম্পন্ন করুন — মার্চেন্ট প্রোফাইল অনুমোদনের পরপরই ভেন্ডর / ইজিপে শপ আপগ্রেড আনলক হবে।"},mavStartApp:{en:"Start merchant application",bn:"মার্চেন্ট আবেদন শুরু করুন"},mavBack:{en:"Back",bn:"পিছনে"},mavApprovalReq:{en:"Merchant approval required",bn:"মার্চেন্ট অনুমোদন প্রয়োজন"},mavStatusRejected:{en:"Rejected",bn:"প্রত্যাখ্যাত"},mavStatusPending:{en:"Pending review",bn:"পর্যালোচনা অপেক্ষমাণ"},mavStatusApproved:{en:"Approved",bn:"অনুমোদিত"},mavRejectedDesc:{en:"Your merchant profile was rejected. Please resolve the admin feedback and get your merchant profile approved first — vendor / EasyPay Shop upgrade unlocks after that.",bn:"আপনার মার্চেন্ট প্রোফাইল প্রত্যাখ্যাত হয়েছে। অ্যাডমিন মতামত সমাধান করে আগে মার্চেন্ট প্রোফাইল অনুমোদন করান — এরপর ভেন্ডর / ইজিপে শপ আপগ্রেড আনলক হবে।"},mavPendingDesc:{en:"Your merchant profile is still awaiting admin approval. Vendor / EasyPay Shop upgrade opens automatically once your merchant profile is approved.",bn:"আপনার মার্চেন্ট প্রোফাইল এখনও অ্যাডমিন অনুমোদনের অপেক্ষায়। মার্চেন্ট প্রোফাইল অনুমোদিত হলে ভেন্ডর / ইজিপে শপ আপগ্রেড স্বয়ংক্রিয়ভাবে খুলবে।"},mavBusinessStatus:{en:"Business status",bn:"ব্যবসার স্ট্যাটাস"},mavBusinessKyc:{en:"Business KYC",bn:"ব্যবসায়িক KYC"},mavAdminFeedback:{en:"Admin feedback",bn:"অ্যাডমিন মতামত"},mavUpdateProfile:{en:"Update merchant profile",bn:"মার্চেন্ট প্রোফাইল আপডেট করুন"},mavBackToMerchant:{en:"Back to merchant",bn:"মার্চেন্টে ফিরুন"},mavBackToMerchantBtn:{en:"Back to Merchant",bn:"মার্চেন্টে ফিরুন"},mavTitle:{en:"Apply for Vendor Access",bn:"ভেন্ডর অ্যাক্সেসের জন্য আবেদন করুন"},mavSubtitle:{en:"Your merchant account handles payments. To list products on EasyPay Shop, admins must approve a separate vendor upgrade.",bn:"আপনার মার্চেন্ট অ্যাকাউন্ট পেমেন্ট পরিচালনা করে। ইজিপে শপে পণ্য তালিকাভুক্ত করতে অ্যাডমিনদের আলাদা ভেন্ডর আপগ্রেড অনুমোদন করতে হবে।"},mavResubmitBtn:{en:"One-click resubmit",bn:"এক-ক্লিক পুনরায় জমা"},mavResubmitNoteLabel:{en:"Optional note back to the admin",bn:"অ্যাডমিনকে ঐচ্ছিক মন্তব্য"},mavResubmitPh:{en:"e.g. Uploaded higher-quality photos of the shopfront.",bn:"যেমন: দোকানের উন্নত মানের ছবি আপলোড করেছি।"},mavResubmitHint:{en:"Just re-upload the corrected shop front and inside photos below and press Resubmit.",bn:"নিচে সংশোধিত দোকানের সামনের ও ভেতরের ছবি পুনরায় আপলোড করে পুনরায় জমা চাপুন।"},mavStoreName:{en:"Store name *",bn:"দোকানের নাম *"},mavDescription:{en:"Description",bn:"বিবরণ"},mavCategories:{en:"Product categories (comma separated)",bn:"পণ্যের বিভাগ (কমা দিয়ে আলাদা)"},mavCategoriesPh:{en:"fashion, electronics",bn:"ফ্যাশন, ইলেকট্রনিক্স"},mavExpectedOrders:{en:"Expected monthly orders",bn:"মাসিক প্রত্যাশিত অর্ডার"}
187,mavContact:{en:"Contact number",bn:"যোগাযোগ নম্বর"},mavPickup:{en:"Pickup address *",bn:"পিকআপ ঠিকানা *"},mavShopPhotos:{en:"Shop photos",bn:"দোকানের ছবি"},mavShopPhotosHint:{en:"Server checks type, size (≤{max}MB) and minimum 640×480 resolution before your application enters the queue.",bn:"সার্ভার আবেদন সারিতে ঢোকার আগে টাইপ, সাইজ (≤{max}MB) ও সর্বনিম্ন ৬৪০×৪৮০ রেজোলিউশন যাচাই করে।"},mavSubmitting:{en:"Submitting…",bn:"জমা হচ্ছে…"},mavBtnResubmit:{en:"Resubmit application",bn:"আবেদন পুনরায় জমা দিন"},mavBtnUpdate:{en:"Update application",bn:"আবেদন আপডেট করুন"},mavBtnSubmit:{en:"Submit application",bn:"আবেদন জমা দিন"},mavUploading:{en:"Uploading…",bn:"আপলোড হচ্ছে…"},mavValidating:{en:"Validating…",bn:"যাচাই হচ্ছে…"},mavErrCatFormat:{en:"Wrong format",bn:"ভুল ফরম্যাট"},mavErrCatSize:{en:"File too large",bn:"ফাইল অনেক বড়"},mavErrCatRes:{en:"Resolution too low",bn:"রেজোলিউশন খুব কম"},mavErrCatOther:{en:"Validation failed",bn:"যাচাই ব্যর্থ"},mavReplace:{en:"Replace",bn:"প্রতিস্থাপন"},mavUpload:{en:"Upload",bn:"আপলোড"},argStepPhone:{en:"Phone",bn:"ফোন"},argStepVerify:{en:"Verify",bn:"যাচাই"},argStepInfo:{en:"Info",bn:"তথ্য"},argStepKyc:{en:"KYC",bn:"কেওয়াইসি"},argTitle:{en:"Register Customer",bn:"গ্রাহক নিবন্ধন"},argAwaitingReview:{en:"Awaiting KYC Review",bn:"কেওয়াইসি পর্যালোচনার অপেক্ষায়"},argApprovedSub:{en:"KYC Approved",bn:"কেওয়াইসি অনুমোদিত"},argRejectedSub:{en:"KYC Rejected",bn:"কেওয়াইসি প্রত্যাখ্যাত"},argCustomerSetup:{en:"Customer Setup",bn:"গ্রাহক সেটআপ"},argStepOf:{en:"Step {n} of {total}",bn:"ধাপ {n} / {total}"},argCustomerPhone:{en:"Customer Phone",bn:"গ্রাহকের ফোন"},argCustomerPhoneDesc:{en:"Enter the customer's mobile number to begin registration",bn:"নিবন্ধন শুরু করতে গ্রাহকের মোবাইল নম্বর দিন"},argPhoneLabel:{en:"Phone Number",bn:"ফোন নম্বর"},argSendingOtp:{en:"Sending OTP...",bn:"ওটিপি পাঠানো হচ্ছে..."},argSendOtp:{en:"Send OTP",bn:"ওটিপি পাঠান"},argOtpNote:{en:"OTP will be sent to the customer's phone",bn:"ওটিপি গ্রাহকের ফোনে পাঠানো হবে"},argAlreadyRegistered:{en:"Already Registered",bn:"ইতিমধ্যে নিবন্ধিত"},argAlreadyRegisteredDesc:{en:"This number already has an account.",bn:"এই নম্বরে ইতিমধ্যে অ্যাকাউন্ট রয়েছে।"},argSendOtpFail:{en:"Failed to send OTP",bn:"ওটিপি পাঠাতে ব্যর্থ"},argVerifyOtp:{en:"Verify OTP",bn:"ওটিপি যাচাই"},argVerifyOtpDesc:{en:"Enter the 6-digit code sent to",bn:"যেই নম্বরে পাঠানো ৬-অঙ্কের কোডটি দিন"},argDevOtp:{en:"Dev Mode OTP",bn:"ডেভ মোড ওটিপি"},argOtpExpired:{en:"This code has expired. Tap Resend to get a new one.",bn:"কোডটির মেয়াদ শেষ। নতুনটি পেতে রিসেন্ড চাপুন।"},argOtpInvalid:{en:"Incorrect code. Please double-check and try again.",bn:"ভুল কোড। আবার যাচাই করে চেষ্টা করুন।"},argOtpNetwork:{en:"Couldn't verify right now. Please try again.",bn:"এখন যাচাই করা যায়নি। আবার চেষ্টা করুন।"},argVerifiedOk:{en:"Verified successfully",bn:"সফলভাবে যাচাই হয়েছে"},argMovingNext:{en:"Moving to next step…",bn:"পরবর্তী ধাপে যাচ্ছে…"},argVerifying:{en:"Verifying...",bn:"যাচাই হচ্ছে..."},argResendIn:{en:"Resend available in",bn:"রিসেন্ড পাওয়া যাবে"},argResendCode:{en:"Resend code",bn:"কোড পুনরায় পাঠান"},argOtpResent:{en:"OTP Resent",bn:"ওটিপি পুনরায় পাঠানো হয়েছে"},argOtpResentDesc:{en:"A new code has been sent.",bn:"একটি নতুন কোড পাঠানো হয়েছে।"},argResendFail:{en:"Resend Failed",bn:"পুনরায় পাঠাতে ব্যর্থ"},argCustDetails:{en:"Customer Details",bn:"গ্রাহকের বিবরণ"}
187,argCustDetailsDesc:{en:"Provide basic information to create the account",bn:"অ্যাকাউন্ট তৈরি করতে মৌলিক তথ্য দিন"},argFullName:{en:"Full Name *",bn:"পূর্ণ নাম *"},argFullNamePh:{en:"Customer's full name",bn:"গ্রাহকের পূর্ণ নাম"},argNidOptional:{en:"NID Number (Optional)",bn:"এনআইডি নম্বর (ঐচ্ছিক)"},argNidPh:{en:"National ID number",bn:"জাতীয় পরিচয়পত্র নম্বর"},argCreating:{en:"Creating Account...",bn:"অ্যাকাউন্ট তৈরি হচ্ছে..."},argCreateKyc:{en:"Create & Start KYC",bn:"তৈরি করুন ও কেওয়াইসি শুরু করুন"},argNameReq:{en:"Name Required",bn:"নাম প্রয়োজন"},argNameReqDesc:{en:"Please enter the customer's name.",bn:"গ্রাহকের নাম দিন।"},argRegFail:{en:"Registration Failed",bn:"নিবন্ধন ব্যর্থ"},argKycReview:{en:"KYC Under Review",bn:"কেওয়াইসি পর্যালোচনাধীন"},argWaitingAdmin:{en:"Waiting for admin approval",bn:"অ্যাডমিন অনুমোদনের অপেক্ষায়"},argPendingReview:{en:"Pending Review",bn:"পর্যালোচনা মুলতবি"},argElapsed:{en:"Elapsed:",bn:"সময়:"},argName:{en:"Name",bn:"নাম"},argPhone:{en:"Phone",bn:"ফোন"},argStatus:{en:"Status",bn:"স্ট্যাটাস"},argPending:{en:"PENDING",bn:"মুলতবি"},argAutoUpdate:{en:"This page updates automatically when admin reviews the KYC",bn:"অ্যাডমিন কেওয়াইসি পর্যালোচনা করলে এই পেজ স্বয়ংক্রিয়ভাবে আপডেট হবে"},argKycApproved:{en:"KYC Approved! 🎉",bn:"কেওয়াইসি অনুমোদিত! 🎉"},argCustNowVerified:{en:"is now verified",bn:"এখন যাচাইকৃত"},argDownloadEP:{en:"Download EasyPay",bn:"ইজিপে ডাউনলোড করুন"},argShareLink:{en:"Share this link with the customer",bn:"গ্রাহকের সাথে এই লিঙ্কটি শেয়ার করুন"},argCopy:{en:"Copy",bn:"কপি"},argLinkCopied:{en:"Link Copied!",bn:"লিঙ্ক কপি হয়েছে!"},argKycLabel:{en:"KYC",bn:"কেওয়াইসি"},argVerified:{en:"VERIFIED ✓",bn:"যাচাইকৃত ✓"},argGuideLogin:{en:"Guide Customer Login",bn:"গ্রাহক লগইন গাইড"},argRegAnother:{en:"Register Another",bn:"আরেকজন নিবন্ধন"},argBackDash:{en:"Back to Dashboard",bn:"ড্যাশবোর্ডে ফিরুন"},argKycRejectedTitle:{en:"KYC Rejected",bn:"কেওয়াইসি প্রত্যাখ্যাত"},argKycRejectedDesc:{en:"The verification for",bn:"যাচাইকরণ"},argRejectionReason:{en:"Reason for Rejection",bn:"প্রত্যাখ্যানের কারণ"},argRetryKyc:{en:"Retry KYC",bn:"কেওয়াইসি পুনরায় চেষ্টা"},argLoginGuide:{en:"Customer Login Guide",bn:"গ্রাহক লগইন গাইড"},argLoginGuideDesc:{en:"Walk the customer through their first login",bn:"গ্রাহককে প্রথম লগইনে সাহায্য করুন"},argMiniPhone:{en:"Phone",bn:"ফোন"},argMiniOtp:{en:"OTP",bn:"ওটিপি"},argMiniPin:{en:"PIN",bn:"পিন"},argEntersInApp:{en:"Customer enters this number in the app to login",bn:"গ্রাহক লগইন করতে অ্যাপে এই নম্বর দেন"},argNextOtp:{en:"Next: OTP Verification",bn:"পরবর্তী: ওটিপি যাচাই"},argOtpAutoTitle:{en:"OTP Auto-Detection",bn:"ওটিপি স্বয়ংক্রিয় সনাক্তকরণ"},argOtpAutoDesc:{en:'On Android Chrome, the OTP will be automatically detected from SMS. Customer just needs to tap "Auto-fill" when the prompt appears.',bn:'অ্যান্ড্রয়েড ক্রোমে ওটিপি স্বয়ংক্রিয়ভাবে এসএমএস থেকে সনাক্ত হবে। প্রম্পট এলে গ্রাহক শুধু "অটো-ফিল" চাপবেন।'},argNextPin:{en:"Next: Set PIN",bn:"পরবর্তী: পিন সেট"},argSet4Pin:{en:"Set 4-Digit PIN",bn:"৪-সংখ্যার পিন সেট করুন"},argNewPin:{en:"New PIN",bn:"নতুন পিন"},argConfirmPin:{en:"Confirm PIN",bn:"পিন নিশ্চিত করুন"},argWeakPin:{en:"Weak PIN — avoid sequential or repeated digits",bn:"দুর্বল পিন — ক্রমিক বা পুনরাবৃত্ত সংখ্যা এড়িয়ে চলুন"},argPinMismatch:{en:"PINs do not match",bn:"পিন মিলছে না"},argSettingUp:{en:"Setting up...",bn:"সেট আপ হচ্ছে..."},argCompleteSetup:{en:"Complete Setup",bn:"সেটআপ সম্পূর্ণ করুন"},argInvalidPin:{en:"Invalid PIN",bn:"অবৈধ পিন"},argInvalidPinDesc:{en:"PIN must be 4 digits.",bn:"পিন অবশ্যই ৪ অঙ্কের হতে হবে।"},argPinMismatchDesc:{en:"PINs do not match.",bn:"পিন মিলছে না।"},argWeakPinTitle:{en:"Weak PIN",bn:"দুর্বল পিন"},argWeakPinDesc:{en:"Please choose a stronger PIN.",bn:"আরও শক্তিশালী পিন বেছে নিন।"},argSetupComplete:{en:"Setup Complete!",bn:"সেটআপ সম্পূর্ণ!"},argSetupCompleteDesc:{en:"Customer can now login with their PIN.",bn:"গ্রাহক এখন পিন দিয়ে লগইন করতে পারবেন।"},argFailed:{en:"Failed",bn:"ব্যর্থ"},argBackApproval:{en:"Back to Approval",bn:"অনুমোদনে ফিরুন"},argNoReason:{en:"No reason provided.",bn:"কোনো কারণ দেওয়া হয়নি।"},argOtp:{en:"OTP",bn:"ওটিপি"},argPin:{en:"PIN",bn:"পিন"}
187,argCustomerPhoneLabel:{en:"Customer Phone",bn:"গ্রাহকের ফোন"},argEnterInApp:{en:"Customer enters this number in the app to login",bn:"গ্রাহক লগইন করতে অ্যাপে এই নম্বরটি প্রবেশ করাবেন"},argOtpAutoDetect:{en:"OTP Auto-Detection",bn:"ওটিপি স্বয়ংক্রিয় সনাক্তকরণ"},argNextSetPin:{en:"Next: Set PIN",bn:"পরবর্তী: পিন সেট করুন"},ppSessionMissing:{en:"Checkout session is missing.",bn:"চেকআউট সেশন অনুপস্থিত।"},ppInvalidLink:{en:"Checkout link is invalid. Please start again from EasyPay.",bn:"চেকআউট লিঙ্ক অবৈধ। অনুগ্রহ করে EasyPay থেকে আবার শুরু করুন।"},ppTookLong:{en:"Checkout took too long to prepare. Please close this popup and try again.",bn:"চেকআউট প্রস্তুত হতে অনেক সময় নিয়েছে। এই পপআপ বন্ধ করে আবার চেষ্টা করুন।"},ppUnavailable:{en:"Checkout unavailable",bn:"চেকআউট অনুপলব্ধ"},ppOpening:{en:"Opening secure checkout",bn:"নিরাপদ চেকআউট খোলা হচ্ছে"},ppPreparing:{en:"Preparing secure checkout",bn:"নিরাপদ চেকআউট প্রস্তুত হচ্ছে"},ppKeepOpen:{en:"Keep this popup open. You will return to EasyPay Home with the transaction status.",bn:"এই পপআপ খোলা রাখুন। লেনদেনের অবস্থা নিয়ে আপনি EasyPay হোমে ফিরে আসবেন।"},ppProvider:{en:"Provider",bn:"প্রদানকারী"},ppAmount:{en:"Amount",bn:"পরিমাণ"},ppRedirecting:{en:"Redirecting…",bn:"পুনঃনির্দেশিত হচ্ছে…"},ppWaiting:{en:"Waiting for checkout…",bn:"চেকআউটের জন্য অপেক্ষমাণ…"},ppClosePopup:{en:"Close popup",bn:"পপআপ বন্ধ করুন"},alpTitle:{en:"Agent — Sign in",bn:"এজেন্ট — সাইন ইন"},alpMetaDesc:{en:"EasyPay Agent sign-in — cash-in, cash-out, bill pay and customer onboarding.",bn:"ইজিপে এজেন্ট সাইন-ইন — ক্যাশ-ইন, ক্যাশ-আউট, বিল পে এবং কাস্টমার অনবোর্ডিং।"},alpBrand:{en:"EasyPay",bn:"ইজিপে"},alpHeading:{en:"EasyPay Agent Portal",bn:"ইজিপে এজেন্ট পোর্টাল"},alpSubOtp:{en:"Verify this device to keep your agent account secure.",bn:"আপনার এজেন্ট অ্যাকাউন্ট নিরাপদ রাখতে এই ডিভাইসটি যাচাই করুন।"},alpSubDefault:{en:"Sign in to serve customers — cash-in, cash-out & bill pay.",bn:"গ্রাহকদের সেবা দিতে সাইন ইন করুন — ক্যাশ-ইন, ক্যাশ-আউট ও বিল পে।"},alpSendingCode:{en:"Sending verification code…",bn:"ভেরিফিকেশন কোড পাঠানো হচ্ছে…"},alpTrustingDevice:{en:"Trusting this device…",bn:"এই ডিভাইসটি বিশ্বাসযোগ্য করা হচ্ছে…"},alpPortalAgent:{en:"Agent",bn:"এজেন্ট"},alpPhoneLabel:{en:"Agent mobile number",bn:"এজেন্ট মোবাইল নম্বর"},alpPinLabel:{en:"4-digit PIN",bn:"৪-সংখ্যার পিন"},alpSigningIn:{en:"Signing in…",bn:"সাইন ইন হচ্ছে…"},alpSignIn:{en:"Sign In",bn:"সাইন ইন"},alpForgotPin:{en:"Forgot PIN?",bn:"পিন ভুলে গেছেন?"},alpAgentsOnly:{en:"Agents only",bn:"শুধু এজেন্টদের জন্য"},alpSignedIn:{en:"Signed in",bn:"সাইন ইন হয়েছে"},alpErrInvalidPhone:{en:"Enter a valid 11-digit agent mobile number starting with 01.",bn:"০১ দিয়ে শুরু ১১-অঙ্কের বৈধ এজেন্ট মোবাইল নম্বর দিন।"},alpErrPinRequired:{en:"Please enter your 4-digit PIN.",bn:"আপনার ৪-সংখ্যার পিন দিন।"},alpErrGeneric:{en:"Unable to sign in right now. Please try again.",bn:"এই মুহূর্তে সাইন ইন করা যাচ্ছে না। আবার চেষ্টা করুন।"},alpErrOffline:{en:"You appear to be offline. Check your connection and try again.",bn:"আপনি অফলাইন মনে হচ্ছে। সংযোগ পরীক্ষা করে আবার চেষ্টা করুন।"},alpErrIncorrect:{en:"Incorrect phone number or PIN.",bn:"ভুল ফোন নম্বর অথবা পিন।"},alpErrTempExpired:{en:"Your temporary PIN has expired. Please ask your admin to resend a new one.",bn:"আপনার অস্থায়ী পিনের মেয়াদ শেষ। অ্যাডমিনকে নতুন পিন পাঠাতে বলুন।"},alpErrRate:{en:"Too many attempts. Please wait a moment and try again.",bn:"অনেক বেশি চেষ্টা। একটু অপেক্ষা করে আবার চেষ্টা করুন।"},alpVerifyFail:{en:"Verification failed. Please try again.",bn:"যাচাই ব্যর্থ। আবার চেষ্টা করুন।"},alpVerifyNetwork:{en:"Network error. Please check your connection and retry.",bn:"নেটওয়ার্ক ত্রুটি। সংযোগ পরীক্ষা করে আবার চেষ্টা করুন।"},alpVerifyExpired:{en:"This code has expired. Tap Resend to get a new one.",bn:"এই কোডের মেয়াদ শেষ। নতুন কোড পেতে Resend চাপুন।"},alpVerifyIncorrect:{en:"Incorrect code. Please double-check and try again.",bn:"ভুল কোড। ভালোভাবে দেখে আবার চেষ্টা করুন।"},alpVerifyRate:{en:"Too many attempts. Please wait before retrying.",bn:"অনেক বেশি চেষ্টা। কিছুক্ষণ অপেক্ষা করে আবার চেষ্টা করুন।"},alpTrustFail:{en:"Could not trust this device. Please try again.",bn:"এই ডিভাইসটি বিশ্বাসযোগ্য করা যায়নি। আবার চেষ্টা করুন।"},admlpTitle:{en:"Admin — Sign in",bn:"অ্যাডমিন — সাইন ইন"},admlpMetaDesc:{en:"EasyPay Admin sign-in — manage users, transactions, fraud alerts and platform settings.",bn:"ইজিপে অ্যাডমিন সাইন-ইন — ব্যবহারকারী, লেনদেন, জালিয়াতি সতর্কতা ও প্ল্যাটফর্ম সেটিংস পরিচালনা।"},admlpBrand:{en:"EasyPay",bn:"ইজিপে"},admlpHeading:{en:"EasyPay Admin Console",bn:"ইজিপে অ্যাডমিন কনসোল"},admlpSubtitle:{en:"Restricted access — authorized personnel only.",bn:"সীমিত প্রবেশাধিকার — শুধুমাত্র অনুমোদিত কর্মীদের জন্য।"},admlpPhoneLabel:{en:"Admin mobile number",bn:"অ্যাডমিন মোবাইল নম্বর"},admlpPinLabel:{en:"4-digit PIN",bn:"৪-সংখ্যার পিন"},admlpSignedIn:{en:"Signed in",bn:"সাইন ইন হয়েছে"},admlpSigningIn:{en:"Signing in…",bn:"সাইন ইন হচ্ছে…"},admlpSignInAction:{en:"Sign in as Admin",bn:"অ্যাডমিন হিসেবে সাইন ইন"},admlpForgotPin:{en:"Forgot PIN?",bn:"পিন ভুলে গেছেন?"},admlpAdminsOnly:{en:"Admins only",bn:"শুধু অ্যাডমিন"},admlpFooterNote:{en:"Admin & team accounts are provisioned internally. Contact your workspace owner.",bn:"অ্যাডমিন ও টিম অ্যাকাউন্ট অভ্যন্তরীণভাবে তৈরি হয়। আপনার ওয়ার্কস্পেস মালিকের সাথে যোগাযোগ করুন।"},admlpErrValidPhone:{en:"Enter a valid 11-digit admin mobile number.",bn:"সঠিক ১১-সংখ্যার অ্যাডমিন মোবাইল নম্বর দিন।"},admlpErrPin:{en:"Enter your 4-digit PIN.",bn:"আপনার ৪-সংখ্যার পিন দিন।"},admlpErrIncorrect:{en:"Incorrect phone number or PIN.",bn:"ভুল ফোন নম্বর অথবা পিন।"},admlpErrGeneric:{en:"Unable to sign in right now.",bn:"এখন সাইন ইন করা যাচ্ছে না।"},tlpTitle:{en:"Team Login",bn:"টিম লগইন"},tlpSubtitle:{en:"Sign in with your team credentials",bn:"আপনার টিম ক্রেডেনশিয়াল দিয়ে সাইন ইন করুন"}
187,tlpUsername:{en:"Username",bn:"ইউজারনেম"},tlpPassword:{en:"Password",bn:"পাসওয়ার্ড"},tlpSigningIn:{en:"Signing in...",bn:"সাইন ইন হচ্ছে..."},tlpSignIn:{en:"Sign In",bn:"সাইন ইন"},tlpContactAdmin:{en:"Contact your administrator if you need credentials.",bn:"ক্রেডেনশিয়াল প্রয়োজন হলে আপনার অ্যাডমিনিস্ট্রেটরের সাথে যোগাযোগ করুন।"},tlpChangePassword:{en:"Change Your Password",bn:"আপনার পাসওয়ার্ড পরিবর্তন করুন"},tlpChangePasswordDesc:{en:"For security, you must change your temporary password before continuing.",bn:"নিরাপত্তার জন্য, চালিয়ে যাওয়ার আগে অস্থায়ী পাসওয়ার্ড পরিবর্তন করতে হবে।"},tlpNewPassword:{en:"New Password",bn:"নতুন পাসওয়ার্ড"},tlpNewPwdPlaceholder:{en:"Min 8 characters",bn:"কমপক্ষে ৮ অক্ষর"},tlpMin8:{en:"Must be at least 8 characters",bn:"কমপক্ষে ৮ অক্ষর হতে হবে"}
187,tlpConfirmPassword:{en:"Confirm Password",bn:"পাসওয়ার্ড নিশ্চিত করুন"},tlpConfirmPlaceholder:{en:"Re-enter password",bn:"পাসওয়ার্ড আবার লিখুন"},tlpNoMatch:{en:"Passwords do not match",bn:"পাসওয়ার্ড মিলছে না"},tlpChanging:{en:"Changing...",bn:"পরিবর্তন হচ্ছে..."},tlpChangeContinue:{en:"Change Password & Continue",bn:"পাসওয়ার্ড পরিবর্তন করে চালিয়ে যান"},tlp2fa:{en:"Two-Factor Authentication",bn:"টু-ফ্যাক্টর অথেন্টিকেশন"},tlp2faDescBefore:{en:"Enter the 6-digit code sent to",bn:"যে ৬-সংখ্যার কোড পাঠানো হয়েছে তা লিখুন:"},tlpResendIn:{en:"Resend in",bn:"পুনরায় পাঠান"},tlpResendCode:{en:"Resend code",bn:"কোড পুনরায় পাঠান"},tlpVerifying:{en:"Verifying...",bn:"যাচাই হচ্ছে..."},tlpVerifyContinue:{en:"Verify & Continue",bn:"যাচাই করে চালিয়ে যান"},tlpWelcomeBack:{en:"Welcome back!",bn:"আবার স্বাগতম!"},tlpInvalidCode:{en:"Invalid or expired code",bn:"কোড ভুল বা মেয়াদোত্তীর্ণ"},tlpNewCodeSent:{en:"New code sent",bn:"নতুন কোড পাঠানো হয়েছে"},tlpResendFailed:{en:"Failed to resend code",bn:"কোড পুনরায় পাঠানো ব্যর্থ"},tlpEnterBoth:{en:"Please enter both username and password",bn:"ইউজারনেম এবং পাসওয়ার্ড উভয়ই লিখুন"},tlpLoginFailed:{en:"Login failed",bn:"লগইন ব্যর্থ"},tlpInvalidCreds:{en:"Invalid credentials",bn:"ভুল ক্রেডেনশিয়াল"},tlpCodeSentToEmail:{en:"Verification code sent to",bn:"যাচাইকরণ কোড পাঠানো হয়েছে:"},tlpYourEmail:{en:"your email",bn:"আপনার ইমেইল"},tlpPwdMin8:{en:"Password must be at least 8 characters",bn:"পাসওয়ার্ড কমপক্ষে ৮ অক্ষর হতে হবে"},tlpPwdNoMatch:{en:"Passwords do not match",bn:"পাসওয়ার্ড মিলছে না"},tlpPwdChanged:{en:"Password changed successfully!",bn:"পাসওয়ার্ড সফলভাবে পরিবর্তন হয়েছে!"},tlpPwdChangeFailed:{en:"Failed to change password",bn:"পাসওয়ার্ড পরিবর্তন ব্যর্থ"},admGoodMorning:{en:"Good Morning",bn:"শুভ সকাল"},admGoodAfternoon:{en:"Good Afternoon",bn:"শুভ অপরাহ্ন"},admGoodEvening:{en:"Good Evening",bn:"শুভ সন্ধ্যা"},admTitle:{en:"Admin",bn:"অ্যাডমিন"},admOverviewFallback:{en:"Overview",bn:"সারসংক্ষেপ"},admSignOut:{en:"Sign out",bn:"সাইন আউট"},admNavigation:{en:"Navigation",bn:"ন্যাভিগেশন"},admSearchLong:{en:"Search users, transactions…",bn:"ইউজার, লেনদেন খুঁজুন…"},admSearchShort:{en:"Search…",bn:"খুঁজুন…"},admStatusLive:{en:"Live",bn:"লাইভ"},admStatusConnecting:{en:"Connecting…",bn:"সংযোগ হচ্ছে…"},admStatusOffline:{en:"Offline",bn:"অফলাইন"},admRearrangeNav:{en:"Rearrange navigation",bn:"ন্যাভিগেশন সাজান"},admActivityFeed:{en:"Activity Feed",bn:"অ্যাক্টিভিটি ফিড"},admToggleTheme:{en:"Toggle theme",bn:"থিম বদলান"},admGrp_Overview:{en:"Overview",bn:"সারসংক্ষেপ"},admGrp_Operations:{en:"Operations",bn:"অপারেশনস"},admGrp_Support:{en:"Support",bn:"সাপোর্ট"},admGrp_Network:{en:"Network",bn:"নেটওয়ার্ক"},admGrp_Financial:{en:"Financial",bn:"আর্থিক"},admGrp_Services:{en:"Services",bn:"সেবাসমূহ"},admGrp_ECommerce:{en:"E-Commerce",bn:"ই-কমার্স"},admGrp_System:{en:"System",bn:"সিস্টেম"},admGrp_SecurityRisk:{en:"Security & Risk",bn:"সিকিউরিটি ও ঝুঁকি"},admGrp_ProFintech:{en:"⭐ Pro Fintech",bn:"⭐ প্রো ফিনটেক"},admNav_overview:{en:"Dashboard",bn:"ড্যাশবোর্ড"},admNav_users:{en:"Users",bn:"ইউজার"},admNav_user_intelligence:{en:"User Intelligence",bn:"ইউজার ইন্টেলিজেন্স"},admNav_segments:{en:"Segments",bn:"সেগমেন্ট"},admNav_bulk_actions:{en:"Bulk Actions",bn:"বাল্ক অ্যাকশন"},admNav_team:{en:"Team",bn:"টিম"},admNav_team_activity:{en:"Team Activity",bn:"টিম অ্যাক্টিভিটি"},admNav_user_activity:{en:"User Activity",bn:"ইউজার অ্যাক্টিভিটি"},admNav_transactions:{en:"Transactions",bn:"লেনদেন"},admNav_chargebacks:{en:"Chargebacks",bn:"চার্জব্যাক"},admNav_operations_wall:{en:"Operations Wall",bn:"অপারেশনস ওয়াল"},admNav_mfs_monitor:{en:"MFS Monitor",bn:"এমএফএস মনিটর"},admNav_disputes:{en:"Disputes",bn:"বিরোধ"},admNav_complaints:{en:"Complaints",bn:"অভিযোগ"},admNav_kyc:{en:"KYC",bn:"কেওয়াইসি"},admNav_fund_requests:{en:"Fund Requests",bn:"ফান্ড রিকোয়েস্ট"},admNav_live_chat:{en:"Live Chat",bn:"লাইভ চ্যাট"},admNav_tickets:{en:"Tickets",bn:"টিকিট"}
187,admNav_pin_reset_queue:{en:"PIN Reset Queue",bn:"পিন রিসেট কিউ"},admNav_chat_monitor:{en:"Chat Monitor",bn:"চ্যাট মনিটর"},admNav_agent_hub:{en:"Agent Hub",bn:"এজেন্ট হাব"},admNav_agent_leaderboard:{en:"Leaderboard",bn:"লিডারবোর্ড"},admNav_merchants:{en:"Merchants",bn:"মার্চেন্ট"},admNav_merchant_apps:{en:"Merchant Apps",bn:"মার্চেন্ট আবেদন"},admNav_distributors:{en:"Distributors",bn:"ডিস্ট্রিবিউটর"},admNav_super_distributors:{en:"Super Distributors",bn:"সুপার ডিস্ট্রিবিউটর"},admNav_sd_overview:{en:"SD Overview",bn:"এসডি সারসংক্ষেপ"},admNav_roles_perms:{en:"Roles & Permissions",bn:"রোল ও পারমিশন"},admNav_user_roles:{en:"User Role Assignments",bn:"ইউজার রোল অ্যাসাইনমেন্ট"},admNav_loyalty_tiers:{en:"EasyPay Club (Loyalty)",bn:"EasyPay ক্লাব (লয়্যালটি)"},admNav_perm_audit:{en:"Permission Audit Log",bn:"পারমিশন অডিট লগ"},admNav_perm_approvals:{en:"Permission Approvals",bn:"পারমিশন অনুমোদন"},admNav_perm_inbox:{en:"Approvals Inbox",bn:"অনুমোদন ইনবক্স"},admNav_wallets:{en:"Wallets",bn:"ওয়ালেট"},admNav_referrals:{en:"Referrals",bn:"রেফারেল"},admNav_commissions:{en:"Commissions",bn:"কমিশন"},admNav_commission_ledger:{en:"Commission Log",bn:"কমিশন লগ"},admNav_charges:{en:"Charges",bn:"চার্জ"},admNav_limits:{en:"Limits",bn:"লিমিট"},admNav_settlements:{en:"Settlements",bn:"সেটেলমেন্ট"},admNav_bank_recon:{en:"Bank Recon",bn:"ব্যাংক রিকন"},admNav_treasury:{en:"Treasury",bn:"ট্রেজারি"},admNav_float_mgmt:{en:"Float Mgmt",bn:"ফ্লোট ব্যবস্থাপনা"},admNav_revenue:{en:"Revenue",bn:"রাজস্ব"},admNav_investment_pnl:{en:"Investment P/L",bn:"ইনভেস্টমেন্ট P/L"},admNav_deposit_accounts:{en:"Deposit Accts",bn:"ডিপোজিট অ্যাকাউন্ট"},admNav_loans:{en:"Loans",bn:"ঋণ"},admNav_insurance_mgmt:{en:"Insurance",bn:"বীমা"},admNav_gift_cards_mgmt:{en:"Gift Cards",bn:"গিফট কার্ড"},admNav_savings:{en:"Savings",bn:"সঞ্চয়"},admNav_donation_funds:{en:"Donation Funds",bn:"দান তহবিল"},admNav_auto_save:{en:"Auto-Save",bn:"অটো-সেভ"},admNav_dps_audit:{en:"DPS Audit Trail",bn:"ডিপিএস অডিট"},admNav_dps_alerts:{en:"DPS Alerts",bn:"ডিপিএস অ্যালার্ট"},admNav_recharge:{en:"Recharge",bn:"রিচার্জ"},admNav_billers:{en:"Billers",bn:"বিলার"},admNav_ecommerce:{en:"E-Commerce",bn:"ই-কমার্স"},admNav_orders:{en:"Orders",bn:"অর্ডার"},admNav_gateways:{en:"Gateways",bn:"গেটওয়ে"},admNav_toggles:{en:"Toggles",bn:"টগল"},admNav_locks:{en:"Locks",bn:"লক"},admNav_permissions:{en:"Permissions",bn:"পারমিশন"},admNav_sys_settings:{en:"Settings",bn:"সেটিংস"},admNav_thresholds:{en:"Thresholds",bn:"থ্রেশহোল্ড"},admNav_push_logs:{en:"Push Logs",bn:"পুশ লগ"},admNav_apihub:{en:"API Hub",bn:"এপিআই হাব"},admNav_push_setup:{en:"Push Setup",bn:"পুশ সেটআপ"},admNav_api_requests:{en:"API Requests",bn:"এপিআই রিকোয়েস্ট"},admNav_webhooks:{en:"Webhooks",bn:"ওয়েবহুক"},admNav_devices:{en:"Devices",bn:"ডিভাইস"},admNav_otp_monitor:{en:"OTP Monitor",bn:"ওটিপি মনিটর"},admNav_pin_history:{en:"PIN History",bn:"পিন হিস্ট্রি"},admNav_sessions:{en:"Sessions",bn:"সেশন"},admNav_sys_health:{en:"Health",bn:"স্বাস্থ্য"},admNav_alerts:{en:"Fraud Alerts",bn:"জালিয়াতি অ্যালার্ট"},admNav_security:{en:"Security",bn:"সিকিউরিটি"},admNav_approval_queue:{en:"Approval Queue",bn:"অনুমোদন কিউ"},admNav_security_policies:{en:"Security Policies",bn:"সিকিউরিটি নীতি"},admNav_risk_control:{en:"Risk Control",bn:"ঝুঁকি নিয়ন্ত্রণ"}
187,admNav_blacklist:{en:"Blacklist",bn:"ব্ল্যাকলিস্ট"},admNav_evidence_vault:{en:"Evidence Vault",bn:"এভিডেন্স ভল্ট"},admNav_lea_request:{en:"LEA Request",bn:"এলইএ অনুরোধ"},admNav_ai_agent:{en:"AI Agent",bn:"এআই এজেন্ট"},admNav_advance_future:{en:"Advance for Future",bn:"ভবিষ্যতের জন্য অগ্রগতি"},dddTitle:{en:"Dispute details",bn:"বিরোধের বিবরণ"},dddStatusSubmitted:{en:"Submitted",bn:"জমা দেওয়া হয়েছে"},dddStatusUnderReview:{en:"Under review",bn:"পর্যালোচনাধীন"},dddStatusResolved:{en:"Resolved",bn:"সমাধান হয়েছে"},dddStatusRejected:{en:"Rejected",bn:"প্রত্যাখ্যাত"},dddLoadFailed:{en:"Load failed",bn:"লোড ব্যর্থ"},dddCannotOpen:{en:"Cannot open file",bn:"ফাইল খোলা যাচ্ছে না"},dddSendFailed:{en:"Send failed",bn:"পাঠানো ব্যর্থ"},dddFailedToSend:{en:"Failed to send",bn:"পাঠাতে ব্যর্থ"},dddTx:{en:"TX",bn:"লেনদেন"},dddHandlerAssigned:{en:"Handler assigned",bn:"হ্যান্ডলার নিয়োগ"},dddAwaitingHandler:{en:"Awaiting handler",bn:"হ্যান্ডলারের অপেক্ষায়"},dddViewEvidence:{en:"View evidence",bn:"প্রমাণ দেখুন"},dddTimeline:{en:"Timeline",bn:"টাইমলাইন"},dddReferencedTxn:{en:"Referenced transaction",bn:"উল্লেখিত লেনদেন"},dddLoadingTxn:{en:"Loading transaction…",bn:"লেনদেন লোড হচ্ছে…"},dddTxnNotFound:{en:"Transaction not found or no longer accessible.",bn:"লেনদেন পাওয়া যায়নি বা আর অ্যাক্সেসযোগ্য নয়।"},dddRef:{en:"Ref",bn:"রেফ"},dddFee:{en:"Fee",bn:"ফি"},dddCommission:{en:"Commission",bn:"কমিশন"},dddTo:{en:"To",bn:"প্রাপক"},dddResolution:{en:"Resolution",bn:"সমাধান"},dddConversation:{en:"Conversation with handler",bn:"হ্যান্ডলারের সাথে কথোপকথন"},dddLoading:{en:"Loading…",bn:"লোড হচ্ছে…"},dddNoNotes:{en:"No notes yet. Send a message to the dispute handler below.",bn:"এখনও কোনো নোট নেই। নিচে হ্যান্ডলারকে বার্তা পাঠান।"},dddYou:{en:"You",bn:"আপনি"},dddHandler:{en:"Handler",bn:"হ্যান্ডলার"},dddPlaceholder:{en:"Message the dispute handler…",bn:"হ্যান্ডলারকে বার্তা লিখুন…"},cpfOtpHeading:{en:"Verify it's you",bn:"আপনার পরিচয় যাচাই করুন"},cpfOtpSubTo:{en:"Enter the 6-digit code we sent to {phone}",bn:"{phone} নম্বরে পাঠানো ৬-সংখ্যার কোডটি লিখুন"},cpfOtpSubGeneric:{en:"your phone",bn:"আপনার ফোন"},cpfMissingPhone:{en:"Missing phone number",bn:"ফোন নম্বর নেই"},cpfFailedToSendCode:{en:"Failed to send code",bn:"কোড পাঠাতে ব্যর্থ"},cpfIncorrectCode:{en:"Incorrect code",bn:"ভুল কোড"},cpfVerificationFailed:{en:"Verification failed",bn:"যাচাই ব্যর্থ"},cpfTooManyAttempts:{en:"Too many failed attempts. Try again in {mins} minute(s).",bn:"অনেকবার ভুল হয়েছে। {mins} মিনিট পরে আবার চেষ্টা করুন।"},cpfLockedTitle:{en:"Verification locked",bn:"যাচাই লক করা হয়েছে"},cpfLockedSub:{en:"Too many incorrect codes. For your security, verification is temporarily paused.",bn:"অনেক ভুল কোড। আপনার নিরাপত্তার জন্য যাচাই সাময়িক বন্ধ রাখা হয়েছে।"},cpfTryAgainIn:{en:"Try again in",bn:"আবার চেষ্টা করুন"},cpfWhyLocked:{en:"Why is OTP locked?",bn:"ওটিপি কেন লক?"},cpfLockedHelp1:{en:"For your protection, OTP verification is temporarily paused after several incorrect codes. This helps stop anyone from guessing your co
187des.",bn:"আপনার সুরক্ষার জন্য একাধিক ভুল কোডের পরে ওটিপি যাচাই সাময়িক বন্ধ রাখা হয়েছে। এটি অনুমান রোধ করে।"},cpfLockedHelp2:{en:"Wait for the timer to end, then request a fresh code. If this keeps happening, contact support.",bn:"টাইমার শেষ হলে নতুন কোড অনুরোধ করুন। বারবার হলে সহায়তায় যোগাযোগ করুন।"},cpfResumeHint:{en:"You can resume verification once the timer ends.",bn:"টাইমার শেষ হলে যাচাই আবার শুরু করা যাবে।"},cpfCloseReturn:{en:"Close and return later",bn:"বন্ধ করুন, পরে আসুন"},cpfSendingCode:{en:"Sending code…",bn:"কোড পাঠানো হচ্ছে…"},cpfVerifying:{en:"Verifying…",bn:"যাচাই হচ্ছে…"},cpfDevCode:{en:"DEV code",bn:"ডেভ কোড"},cpfResendIn:{en:"Resend in {s}s",bn:"{s} সেকেন্ডে পুনরায় পাঠান"},cpfResendCode:{en:"Resend code",bn:"কোড পুনরায় পাঠান"},ddpDivision:{en:"Division",bn:"বিভাগ"},ddpDistrict:{en:"District",bn:"জেলা"},ddpLoadingDivisions:{en:"Loading divisions…",bn:"বিভাগ লোড হচ্ছে…"},ddpSelectDivision:{en:"Select division",bn:"বিভাগ নির্বাচন করুন"},ddpSelectDivisionFirst:{en:"Select a division first",bn:"প্রথমে একটি বিভাগ নির্বাচন করুন"},ddpNoDistricts:{en:"No districts available",bn:"কোনো জেলা উপলব্ধ নেই"},ddpSelectDistrict:{en:"Select district",bn:"জেলা নির্বাচন করুন"},ddpDistrictHint:{en:"Choose a division to enable districts.",bn:"জেলা সক্রিয় করতে একটি বিভাগ নির্বাচন করুন।"},ddpLoadError:{en:"Could not load districts. Please try again.",bn:"জেলা লোড করা যায়নি। আবার চেষ্টা করুন।"},dmsSelectDistricts:{en:"Select districts",bn:"জেলা নির্বাচন করুন"},dmsSearchDistrict:{en:"Search district or code…",bn:"জেলা বা কোড খুঁজুন…"},dmsNoDistrictFound:{en:"No district found.",bn:"কোনো জেলা পাওয়া যায়নি।"},dmsDivision:{en:"Division",bn:"বিভাগ"},dmsDistricts:{en:"Districts",bn:"জেলাসমূহ"},dmsLoading:{en:"Loading…",bn:"লোড হচ্ছে…"},dmsSelectDivision:{en:"Select division",bn:"বিভাগ নির্বাচন করুন"},dmsLoadingDistricts:{en:"Loading districts…",bn:"জেলা লোড হচ্ছে…"},dmsSelectDivisionFirst:{en:"Select a division first",bn:"প্রথমে একটি বিভাগ নির্বাচন করুন"},dmsSelectedOne:{en:"1 district selected",bn:"১টি জেলা নির্বাচিত"},dmsSelectedMany:{en:"{count} districts selected",bn:"{count}টি জেলা নির্বাচিত"},dmsRemove:{en:"Remove {name}",bn:"{name} সরান"},pltNoPayments:{en:"No payments yet.",bn:"এখনও কোনো পেমেন্ট নেই।"},pltFrom:{en:"from {name}",bn:"প্রেরক {name}"},pltRef:{en:"ref: {id}",bn:"রেফ: {id}"},pltRefunded:{en:"Refunded",bn:"ফেরত দেওয়া হয়েছে"},pltPartiallyRefunded:{en:"Partially refunded {amount} / {total}",bn:"আংশিক ফেরত {amount} / {total}"},pltRefund:{en:"Refund",bn:"ফেরত দিন"},pltRefundMore:{en:"Refund more",bn:"আরও ফেরত দিন"},pltRefundUpTo:{en:"Refund up to {amount}?",bn:"{amount} পর্যন্ত ফেরত দেবেন?"},pltRefundDesc:{en:"Leave the amount blank to refund the full remaining balance. Partial refunds keep the payment open for future refunds.",bn:"সম্পূর্ণ অবশিষ্ট ব্যালেন্স ফেরত দিতে ফাঁকা রাখুন। আংশিক ফেরত পরবর্তী ফেরতের জন্য পেমেন্ট খোলা রাখে।"},pltAmountLabel:{en:"Amount ({currency})",bn:"পরিমাণ ({currency})"},pltFullRefund:{en:"Full refund: {amount}",bn:"সম্পূর্ণ ফেরত: {amount}"},pltExceeds:{en:"Exceeds refundable balance ({amount})",bn:"ফেরতযোগ্য ব্যালেন্স ({amount}) ছাড়িয়ে গেছে"},pltRefundable:{en:"Refundable: {amount}",bn:"ফেরতযোগ্য: {amount}"},pltRemainingAfter:{en:"Remaining after:",bn:"পরে অবশিষ্ট:"},pltReasonPh:{en:"Reason (optional)",bn:"কারণ (ঐচ্ছিক)"},pltCancel:{en:"Cancel",bn:"বাতিল"},pltRefunding:{en:"Refunding…",bn:"ফেরত দেওয়া হচ্ছে…"},pltConfirmRefund:{en:"Confirm refund",bn:"ফেরত নিশ্চিত করুন"},fhBack:{en:"Back",bn:"পিছনে"},stcDefault:{en:"Slide to Confirm",bn:"নিশ্চিত করতে স্লাইড করুন"},ussSearch:{en:"Search…",bn:"খুঁজুন…"},ussLoading:{en:"Loading…",bn:"লোড হচ্ছে…"},ussNoResults:{en:"No results",bn:"কোনো ফলাফল নেই"},drpSelectDistrict:{en:"Select district",bn:"জেলা নির্বাচন করুন"},drpLoadingDistricts:{en:"Loading districts…",bn:"জেলা লোড হচ্ছে…"},drpSearchPh:{en:"Search district, code, or division…",bn:"জেলা, কোড বা বিভাগ খুঁজুন…"}
187,drpDivision:{en:"Division",bn:"বিভাগ"},drpFilterByDivision:{en:"Filter by division",bn:"বিভাগ অনুযায়ী ফিল্টার করুন"},drpAllDivisions:{en:"All divisions",bn:"সব বিভাগ"},drpNoDistrictFound:{en:"No district found.",bn:"কোনো জেলা পাওয়া যায়নি।"},splashAppName:{en:"EasyPay",bn:"ইজিপে"},splashTagline:{en:"Bangladesh's Simplest Digital Wallet",bn:"বাংলাদেশের সবচেয়ে সহজ ডিজিটাল ওয়ালেট"},aeoTitle:{en:"Session validation failed",bn:"সেশন যাচাই ব্যর্থ"},aeoBody:{en:"Your session could not be verified. Please retry or sign in again.",bn:"আপনার সেশনটি আর বৈধ নয়। পুনরায় চেষ্টা করুন বা আবার লগ ইন করুন।"},aeoRetry:{en:"Retry",bn:"পুনরায় চেষ্টা করুন"},aeoSignIn:{en:"Sign in again",bn:"আবার লগ ইন করুন"},pbDismiss:{en:"Dismiss announcement",bn:"ঘোষণা বন্ধ করুন"},elOpensNewTab:{en:" (opens in new tab)",bn:" (নতুন ট্যাবে খোলে)"},llebRecovering:{en:"Recovering…",bn:"পুনরুদ্ধার হচ্ছে…"},llebUpdateTitle:{en:"Update available",bn:"আপডেট উপলব্ধ"},llebErrorTitle:{en:"Something went wrong",bn:"কিছু ভুল হয়েছে"},llebUpdateBody:{en:"A new version of the app is ready. Reload to continue.",bn:"অ্যাপের একটি নতুন সংস্করণ প্রস্তুত। চালিয়ে যেতে রিলোড করুন।"},llebErrorBody:{en:"An unexpected error occurred while loading this screen.",bn:"এই স্ক্রীন লোড করার সময় অপ্রত্যাশিত ত্রুটি ঘটেছে।"},llebReload:{en:"Reload app",bn:"অ্যাপ রিলোড করুন"},llebTryAgain:{en:"Try again",bn:"আবার চেষ্টা করুন"},foDismiss:{en:"Dismiss festival greeting",bn:"উৎসব শুভেচ্ছা বন্ধ করুন"},lbTierAria:{en:"EasyPay Club tier: {tier}. {pct}% progress toward {next}.",bn:"ইজিপে ক্লাব টিয়ার: {tier}। {next} এর দিকে {pct}% অগ্রগতি।"},lbTopTierAria:{en:"EasyPay Club tier: {tier}. Top tier reached — congratulations!",bn:"ইজিপে ক্লাব টিয়ার: {tier}। সর্বোচ্চ টিয়ারে পৌঁছেছেন — অভিনন্দন!"},lbTowardNext:{en:"{pct} toward {next}",bn:"{next} এর দিকে {pct}"},lbProgressAria:{en:"Progress toward {next}",bn:"{next} এর দিকে অগ্রগতি"},lbCongrats:{en:"Congratulations! 🎉",bn:"অভিনন্দন! 🎉"},lbTopReached:{en:"You've reached the highest tier. Enjoy every EasyPay Club perk — you're royalty.",bn:"আপনি সর্বোচ্চ টিয়ারে পৌঁছেছেন। ইজিপে ক্লাবের প্রতিটি সুবিধা উপভোগ করুন — আপনি রাজকীয়।"},lbViewPerks:{en:"View perks",bn:"সুবিধা দেখুন"},ocMissingAuthId:{en:"Missing authorization_id",bn:"authorization_id অনুপস্থিত"},ocNoRedirect:{en:"No redirect returned by the authorization server.",bn:"অথরাইজেশন সার্ভার থেকে কোনো রিডাইরেক্ট পাওয়া যায়নি।"},ocLoadFailed:{en:"Could not load this authorization request",bn:"এই অথরাইজেশন অনুরোধটি লোড করা যায়নি"},ocLoading:{en:"Loading…",bn:"লোড হচ্ছে…"},ocFallbackAppName:{en:"an app",bn:"একটি অ্যাপ"},ocConnectTitle:{en:"Connect {name} to EasyPay",bn:"{name} কে ইজিপে-এর সাথে যুক্ত করুন"},ocConnectDesc:{en:"{name} will be able to call EasyPay tools as you: create payment requests, check payment status, and list your recent payment requests.",bn:"{name} আপনার হয়ে ইজিপে টুলস কল করতে পারবে: পেমেন্ট রিকোয়েস্ট তৈরি করা, পেমেন্ট স্ট্যাটাস দেখা এবং সাম্প্রতিক পেমেন্ট রিকোয়েস্ট তালিকাভুক্ত করা।"},ocRedirectsTo:{en:"Redirects to: {url}",bn:"রিডাইরেক্ট হবে: {url}"},ocPolicyNote:{en:"This does not bypass EasyPay's permissions or backend policies.",bn:"এটি ইজিপের অনুমতি বা ব্যাকএন্ড পলিসি বাইপাস করে না।"},ocApprove:{en:"Approve",bn:"অনুমোদন"},ocCancel:{en:"Cancel",bn:"বাতিল"}},an=QC,Dv=new Set,JC=p.createContext(null);function fj({children:e}){const[t,n]=p.useState(()=>localStorage.getItem(eh)??"en"),r=globalThis.__i18nHydratedRef||(globalThis.__i18nHydratedRef={current:null});p.useEffect(()=>{localStorage.setItem(eh,t),typeof document<"u"&&document.documentElement.setAttribute("lang",t)},[t]),p.useEffect(()=>{let a=!1;return L(async()=>{const{supabase:l}=await Promise.resolve().then(()=>kg);return{supabase:l}},void 0).then(({supabase:l})=>{const c=async d=>{if(!d){r.current=null;return}if(r.current===d)return;const{data:h}=await l.from("profiles").select("lang_pref").eq("user_id",d).maybeSingle();if(a)return;r.current=d;const f=(h==null?void 0:h.lang_pref)??null;(f==="en"||f==="bn")&&(n(f),localStorage.setItem(eh,f))};l.auth.getSession().then(({data:d})=>{var h,f;c(((f=(h=d.session)==null?void 0:h.user)==null?void 0:f.id)??null)});const{data:u}=l.auth.onAuthStateChange((d,h)=>{var f;c(((f=h==null?void 0:h.user)==null?void 0:f.id)??null)});globalThis.__i18nAuthSub=u}),()=>{var c,u;a=!0;const l=globalThis.__i18nAuthSub;(u=(c=l==null?void 0:l.subscription)==null?void 0:c.unsubscribe)==null||u.call(c)}},[]);const s=p.useCallback(a=>{n(a),L(async()=>{const{supabase:l}=await Promise.resolve().then(()=>kg);return{supabase:l}},void 0).then(({supabase:l})=>{l.auth.getSession().then(({data:c})=>{var d,h;const u=(h=(d=c.session)==null?void 0:d.user)==null?void 0:h.id;u&&l.from("profiles").update({lang_pref:a}).eq("user_id",u).then(()=>{})})})},[]),i=p.useCallback(()=>{s(t==="en"?"bn":"en")},[t,s]),o=p.useCallback(a=>{const l=QC[a],c=l==null?void 0:l[t];if(!c){const u=`${String(a)}::${t}`;return Dv.has(u),Dv.add(u),`⟦${String(a)}⟧`}return c},[t]);return S.jsx(JC.Provider,{value:{lang:t,toggleLang:i,t:o},children:e})}function cb(){const e=p.useContext(JC);if(!e)throw new Error("useI18n must be used inside I18nProvider");return e}const XC=p.createContext({theme:null,isActive:!1});function pj({children:e}){const[t,n]=p.useState(null),r=p.useCallback(i=>{const o=[],a=[];
187Object.entries(i).forEach(([u,d])=>{if(!d)return;const h=u.replace(/_/g,"-");h.startsWith("dark-")?a.push(`--${h.replace(/^dark-/,"")}: ${d};`):o.push(`--${h}: ${d};`)});let l="";o.length>0&&(l+=`:root {
188  ${o.join(`
189  `)}
190}
191`),a.length>0&&(l+=`.dark {
192  ${a.join(`
193  `)}
194}`);let c=document.getElementById("festival-theme-vars");c||(c=document.createElement("style"),c.id="festival-theme-vars",document.head.appendChild(c)),c.textContent=l},[]),s=p.useCallback(()=>{const i=document.getElementById("festival-theme-vars");i&&i.remove(),document.body.className=document.body.className.split(" ").filter(o=>!o.startsWith("festival-body-")).join(" ")},[]);return p.useEffect(()=>{const o=setTimeout(async()=>{const{data:a}=await te.from("festival_themes").select("id, name, emoji, greeting_text, banner_gradient, overlay_effect, accent_color, theme_palette, body_pattern").eq("is_active",!0).limit(1).maybeSingle();if(a){const l={id:a.id,name:a.name,emoji:a.emoji,greeting_text:a.greeting_text,banner_gradient:a.banner_gradient,overlay_effect:a.overlay_effect,accent_color:a.accent_color,theme_palette:a.theme_palette||{},body_pattern:a.body_pattern||"none"};n(l),Object.keys(l.theme_palette).length>0&&r(l.theme_palette),l.body_pattern&&l.body_pattern!=="none"&&L(()=>Promise.resolve({}),__vite__mapDeps([0])).catch(()=>{}).then(()=>{document.body.classList.add(`festival-body-${l.body_pattern}`)})}},2e3);return()=>{clearTimeout(o),s()}},[]),S.jsx(XC.Provider,{value:{theme:t,isActive:!!t},children:e})}function mj(){return p.useContext(XC)}const bj={crescents:["#d4af37","#f5e6a3","#ffffff","#e8c547"],stars:["#d4af37","#f5e6a3","#ffffff","#e8c547"],lanterns:["#d4af37","#f5e6a3","#ffffff","#e8c547"],petals:["#e53935","#ff9800","#ffeb3b","#ffffff"],leaves:["#e53935","#ff9800","#ffeb3b","#ffffff"],hearts:["#e53935","#ff1744","#ff80ab","#ffffff"],confetti:["#6366f1","#f59e0b","#10b981","#ffffff"],fireworks:["#6366f1","#f59e0b","#10b981","#ef4444","#ffffff"],sparkles:["#6366f1","#a78bfa","#f59e0b","#ffffff"],snow:["#90caf9","#e3f2fd","#ffffff","#b3e5fc"]},gj=["#f59e0b","#10b981","#6366f1","#ef4444","#ffffff"];function yj(){const{theme:e,isActive:t}=mj(),n=p.useRef(null),[r,s]=p.useState(!1);return p.useEffect(()=>{if(!t||!e||e.overlay_effect==="none")return;const i=`festival_effect_played_${e.id}`;if(sessionStorage.getItem(i))return;sessionStorage.setItem(i,"1"),s(!0);const o=document.createElement("canvas");o.style.cssText="position:fixed;inset:0;z-index:50;pointer-events:none;",o.width=window.innerWidth,o.height=window.innerHeight,document.body.appendChild(o),n.current=o;const a=o.getContext("2d"),l=o.width,c=o.height,u=.06,d=bj[e.overlay_effect]||gj,h=[],f=[];let m=0,b=!0,w=performance.now();
194const y=[0,600,1200,2e3,3e3],g=new Set;function v(){const C=l*(.2+Math.random()*.6);h.push({x:C,y:c+10,vy:-(7+Math.random()*4),targetY:c*(.15+Math.random()*.25),trail:[],exploded:!1,colors:d})}function P(C){C.exploded=!0,m=.35;const A=35+Math.floor(Math.random()*25);for(let x=0;x<A;x++){const k=Math.random()*Math.PI*2,R=1.5+Math.random()*4;f.push({x:C.x,y:C.y,vx:Math.cos(k)*R,vy:Math.sin(k)*R,alpha:1,size:2+Math.random()*2.5,color:C.colors[Math.floor(Math.random()*C.colors.length)],decay:.012+Math.random()*.008,drag:.97+Math.random()*.02})}}function T(){if(!b)return;const C=performance.now()-w;y.forEach((x,k)=>{C>=x&&!g.has(k)&&(g.add(k),v())}),a.clearRect(0,0,l,c),m>0&&(a.fillStyle=`rgba(255, 215, 0, ${m})`,a.fillRect(0,0,l,c),m*=.88,m<.01&&(m=0));for(let x=h.length-1;x>=0;x--){const k=h[x];if(!k.exploded){k.trail.push({x:k.x,y:k.y,alpha:1}),k.trail.length>12&&k.trail.shift(),k.y+=k.vy,k.vy+=.03;for(let R=0;R<k.trail.length;R++){const F=k.trail[R];F.alpha*=.85,a.beginPath(),a.arc(F.x,F.y,2*F.alpha,0,Math.PI*2),a.fillStyle=`rgba(255, 220, 120, ${F.alpha*.7})`,a.fill()}a.beginPath(),a.arc(k.x,k.y,3,0,Math.PI*2),a.fillStyle="#ffe082",a.shadowBlur=8,a.shadowColor="#ffab00",a.fill(),a.shadowBlur=0,k.y<=k.targetY&&P(k)}}for(let x=f.length-1;x>=0;x--){const k=f[x];if(k.vx*=k.drag,k.vy=k.vy*k.drag+u,k.x+=k.vx,k.y+=k.vy,k.alpha-=k.decay,k.size*=.995,k.alpha<=0){f.splice(x,1);continue}a.beginPath(),a.arc(k.x,k.y,k.size,0,Math.PI*2),a.fillStyle=k.color,a.globalAlpha=k.alpha,a.shadowBlur=4,a.shadowColor=k.color,a.fill(),a.shadowBlur=0,a.globalAlpha=1}if(h.length>0&&h.every(x=>x.exploded)&&f.length===0&&C>4e3){b=!1,o.remove(),s(!1);return}requestAnimationFrame(T)}return requestAnimationFrame(T),()=>{b=!1,o.remove()}},[t,e]),null}const ub=p.createContext({});function db(e){const t=p.useRef(null);return t.current===null&&(t.current=e()),t.current}const ZC=typeof window<"u",eE=ZC?p.useLayoutEffect:p.useEffect,Xu=p.createContext(null);function hb(e,t){e.indexOf(t)===-1&&e.push(t)}function uu(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}const Dn=(e,t,n)=>n>t?t:n<e?e:n;let fb=()=>{};const er={},tE=e=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(e);function nE(e){return typeof e=="object"&&e!==null}const rE=e=>/^0[^.\s]+$/u.test(e);function sE(e){let t;return()=>(t===void 0&&(t=e()),t)}const Wt=e=>e,vj=(e,t)=>n=>t(e(n)),hl=(...e)=>e.reduce(vj),za=(e,t,n)=>{const r=t-e;return r===0?1:(n-e)/r};class pb{constructor(){this.subscriptions=[]}add(t){return hb(this.subscriptions,t),()=>uu(this.subscriptions,t)}notify(t,n,r){const s=this.subscriptions.length;if(s)if(s===1)this.subscriptions[0](t,n,r);else for(let i=0;i<s;i++){const o=this.subscriptions[i];o&&o(t,n,r)}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}}const hn=e=>e*1e3,Vt=e=>e/1e3;function iE(e,t){return t?e*(1e3/t):0}const oE=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,wj=1e-7,Sj=12;function Pj(e,t,n,r,s){let i,o,a=0;do o=t+(n-t)/2,i=oE(o,r,s)-e,i>0?n=o:t=o;while(Math.abs(i)>wj&&++a<Sj);return o}function fl(e,t,n,r){if(e===t&&n===r)return Wt;const s=i=>Pj(i,0,1,e,n);return i=>i===0||i===1?i:oE(s(i),t,r)}const aE=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,lE=e=>t=>1-e(1-t),cE=fl(.33,1.53,.69,.99),mb=lE(cE),uE=aE(mb),dE=e=>(e*=2)<1?.5*mb(e):.5*(2-Math.pow(2,-10*(e-1))),bb=e=>1-Math.sin(Math.acos(e)),hE=lE(bb),fE=aE(bb),Tj=fl(.42,0,1,1),Cj=fl(0,0,.58,1),pE=fl(.42,0,.58,1),Ej=e=>Array.isArray(e)&&typeof e[0]!="number",mE=e=>Array.isArray(e)&&typeof e[0]=="number",Aj={linear:Wt,easeIn:Tj,easeInOut:pE,easeOut:Cj,circIn:bb,circInOut:fE,circOut:hE,backIn:mb,backInOut:uE,backOut:cE,anticipate:dE},xj=e=>typeof e=="string",Nv=e=>{if(mE(e)){fb(e.length===4);const[t,n,r,s]=e;return fl(t,n,r,s)}else if(xj(e))return Aj[e];return e},Ql=["setup","read","resolveKeyframes","preUpdate","update","preRender","render","postRender"];function kj(e,t){let n=new Set,r=new Set,s=!1,i=!1;const o=new WeakSet;let a={delta:0,timestamp:0,isProcessing:!1};function l(u){o.has(u)&&(c.schedule(u),e()),u(a)}const c={schedule:(u,d=!1,h=!1)=>{const m=h&&s?n:r;return d&&o.add(u),m.has(u)||m.add(u),u},cancel:u=>{r.delete(u),o.delete(u)},process:u=>{if(a=u,s){i=!0;return}
vendor: 14,532 bytes, line 194
194s=!0,[n,r]=[r,n],n.forEach(l),n.clear(),s=!1,i&&(i=!1,c.process(u))}};return c}const _j=40;function bE(e,t){let n=!1,r=!0;const s={delta:0,timestamp:0,isProcessing:!1},i=()=>n=!0,o=Ql.reduce((v,P)=>(v[P]=kj(i),v),{}),{setup:a,read:l,resolveKeyframes:c,preUpdate:u,update:d,preRender:h,render:f,postRender:m}=o,b=()=>{const v=er.useManualTiming?s.timestamp:performance.now();n=!1,er.useManualTiming||(s.delta=r?1e3/60:Math.max(Math.min(v-s.timestamp,_j),1)),s.timestamp=v,s.isProcessing=!0,a.process(s),l.process(s),c.process(s),u.process(s),d.process(s),h.process(s),f.process(s),m.process(s),s.isProcessing=!1,n&&t&&(r=!1,e(b))},w=()=>{n=!0,r=!0,s.isProcessing||e(b)};return{schedule:Ql.reduce((v,P)=>{const T=o[P];return v[P]=(C,A=!1,x=!1)=>(n||w(),T.schedule(C,A,x)),v},{}),cancel:v=>{for(let P=0;P<Ql.length;P++)o[Ql[P]].cancel(v)},state:s,steps:o}}const{schedule:pe,cancel:Kr,state:He,steps:th}=bE(typeof requestAnimationFrame<"u"?requestAnimationFrame:Wt,!0);let wc;function Rj(){wc=void 0}const lt={now:()=>(wc===void 0&&lt.set(He.isProcessing||er.useManualTiming?He.timestamp:performance.now()),wc),set:e=>{wc=e,queueMicrotask(Rj)}},gE=e=>t=>typeof t=="string"&&t.startsWith(e),yE=gE("--"),Dj=gE("var(--"),gb=e=>Dj(e)?Nj.test(e.split("/*")[0].trim()):!1,Nj=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu;function Iv(e){return typeof e!="string"?!1:e.split("/*")[0].includes("var(--")}const wo={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},qa={...wo,transform:e=>Dn(0,1,e)},Jl={...wo,default:1},ca=e=>Math.round(e*1e5)/1e5,yb=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function Ij(e){return e==null}const Oj=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,vb=(e,t)=>n=>!!(typeof n=="string"&&Oj.test(n)&&n.startsWith(e)||t&&!Ij(n)&&Object.prototype.hasOwnProperty.call(n,t)),vE=(e,t,n)=>r=>{if(typeof r!="string")return r;const[s,i,o,a]=r.match(yb);return{[e]:parseFloat(s),[t]:parseFloat(i),[n]:parseFloat(o),alpha:a!==void 0?parseFloat(a):1}},Lj=e=>Dn(0,255,e),nh={...wo,transform:e=>Math.round(Lj(e))},vs={test:vb("rgb","red"),parse:vE("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:r=1})=>"rgba("+nh.transform(e)+", "+nh.transform(t)+", "+nh.transform(n)+", "+ca(qa.transform(r))+")"};function Mj(e){let t="",n="",r="",s="";return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),r=e.substring(5,7),s=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),r=e.substring(3,4),s=e.substring(4,5),t+=t,n+=n,r+=r,s+=s),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:s?parseInt(s,16)/255:1}}const op={test:vb("#"),parse:Mj,transform:vs.transform},pl=e=>({test:t=>typeof t=="string"&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),fr=pl("deg"),_n=pl("%"),$=pl("px"),Fj=pl("vh"),jj=pl("vw"),Ov={..._n,parse:e=>_n.parse(e)/100,transform:e=>_n.transform(e*100)},Ti={test:vb("hsl","hue"),parse:vE("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>"hsla("+Math.round(e)+", "+_n.transform(ca(t))+", "+_n.transform(ca(n))+", "+ca(qa.transform(r))+")"},Ie={test:e=>vs.test(e)||op.test(e)||Ti.test(e),parse:e=>vs.test(e)?vs.parse(e):Ti.test(e)?Ti.parse(e):op.parse(e),transform:e=>typeof e=="string"?e:e.hasOwnProperty("red")?vs.transform(e):Ti.transform(e),getAnimatableNone:e=>{const t=Ie.parse(e);return t.alpha=0,Ie.transform(t)}},Bj=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function Uj(e){var t,n;return isNaN(e)&&typeof e=="string"&&(((t=e.match(yb))==null?void 0:t.length)||0)+(((n=e.match(Bj))==null?void 0:n.length)||0)>0}const wE="number",SE="color",Vj="var",$j="var(",Lv="${}",Wj=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function Ha(e){const t=e.toString(),n=[],r={color:[],number:[],var:[]},s=[];let i=0;const a=t.replace(Wj,l=>(Ie.test(l)?(r.color.push(i),s.push(SE),n.push(Ie.parse(l))):l.startsWith($j)?(r.var.push(i),s.push(Vj),n.push(l)):(r.number.push(i),s.push(wE),n.push(parseFloat(l))),++i,Lv)).split(Lv);return{values:n,split:a,indexes:r,types:s}}function PE(e){return Ha(e).values}function TE(e){const{split:t,types:n}=Ha(e),r=t.length;return s=>{let i="";for(let o=0;o<r;o++)if(i+=t[o],s[o]!==void 0){const a=n[o];a===wE?i+=ca(s[o]):a===SE?i+=Ie.transform(s[o]):i+=s[o]}return i}}const zj=e=>typeof e=="number"?0:Ie.test(e)?Ie.getAnimatableNone(e):e;function qj(e){const t=PE(e);return TE(e)(t.map(zj))}const fn={test:Uj,parse:PE,createTransformer:TE,getAnimatableNone:qj};function rh(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function Hj({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,t/=100,n/=100;let s=0,i=0,o=0;if(!t)s=i=o=n;else{const a=n<.5?n*(1+t):n+t-n*t,l=2*n-a;s=rh(l,a,e+1/3),i=rh(l,a,e),o=rh(l,a,e-1/3)}return{red:Math.round(s*255),green:Math.round(i*255),blue:Math.round(o*255),alpha:r}}function du(e,t){return n=>n>0?t:e}const Pe=(e,t,n)=>e+(t-e)*n,sh=(e,t,n)=>{const r=e*e,s=n*(t*t-r)+r;return s<0?0:Math.sqrt(s)},Gj=[op,vs,Ti],Kj=e=>Gj.find(t=>t.test(e));function Mv(e){const t=Kj(e);if(!t)return!1;let n=t.parse(e);return t===Ti&&(n=Hj(n)),n}const Fv=(e,t)=>{const n=Mv(e),r=Mv(t);if(!n||!r)return du(e,t);const s={...n};return i=>(s.red=sh(n.red,r.red,i),s.green=sh(n.green,r.green,i),s.blue=sh(n.blue,r.blue,i),s.alpha=Pe(n.alpha,r.alpha,i),vs.transform(s))},ap=new Set(["none","hidden"]);function Yj(e,t){return ap.has(e)?n=>n<=0?e:t:n=>n>=1?t:e}function Qj(e,t){return n=>Pe(e,t,n)}function wb(e){return typeof e=="number"?Qj:typeof e=="string"?gb(e)?du:Ie.test(e)?Fv:Zj:Array.isArray(e)?CE:typeof e=="object"?Ie.test(e)?Fv:Jj:du}function CE(e,t){const n=[...e],r=n.length,s=e.map((i,o)=>wb(i)(i,t[o]));return i=>{for(let o=0;o<r;o++)n[o]=s[o](i);return n}}function Jj(e,t){const n={...e,...t},r={};for(const s in n)e[s]!==void 0&&t[s]!==void 0&&(r[s]=wb(e[s])(e[s],t[s]));return s=>{for(const i in r)n[i]=r[i](s);return n}}function Xj(e,t){const n=[],r={color:0,var:0,number:0};for(let s=0;s<t.values.length;s++){const i=t.types[s],o=e.indexes[i][r[i]],a=e.values[o]??0;n[s]=a,r[i]++}return n}const Zj=(e,t)=>{const n=fn.createTransformer(t),r=Ha(e),s=Ha(t);return r.indexes.var.length===s.indexes.var.length&&r.indexes.color.length===s.indexes.color.length&&r.indexes.number.length>=s.indexes.number.length?ap.has(e)&&!s.values.length||ap.has(t)&&!r.values.length?Yj(e,t):hl(CE(Xj(r,s),s.values),n):du(e,t)};function EE(e,t,n){return typeof e=="number"&&typeof t=="number"&&typeof n=="number"?Pe(e,t,n):wb(e)(e,t)}const eB=e=>{const t=({timestamp:n})=>e(n);return{start:(n=!0)=>pe.update(t,n),stop:()=>Kr(t),now:()=>He.isProcessing?He.timestamp:lt.now()}},AE=(e,t,n=10)=>{let r="";const s=Math.max(Math.round(t/n),2);for(let i=0;i<s;i++)r+=Math.round(e(i/(s-1))*1e4)/1e4+", ";return`linear(${r.substring(0,r.length-2)})`},hu=2e4;function Sb(e){let t=0;const n=50;let r=e.next(t);for(;!r.done&&t<hu;)t+=n,r=e.next(t);return t>=hu?1/0:t}function tB(e,t=100,n){const r=n({...e,keyframes:[0,t]}),s=Math.min(Sb(r),hu);return{type:"keyframes",ease:i=>r.next(s*i).value/t,duration:Vt(s)}}const nB=5;function xE(e,t,n){const r=Math.max(t-nB,0);return iE(n-e(r),t-r)}const xe={stiffness:100,damping:10,mass:1,velocity:0,duration:800,bounce:.3,visualDuration:.3,restSpeed:{granular:.01,default:2},restDelta:{granular:.005,default:.5},minDuration:.01,maxDuration:10,minDamping:.05,maxDamping:1},ih=.001;function rB({duration:e=xe.duration,bounce:t=xe.bounce,velocity:n=xe.velocity,mass:r=xe.mass}){let s,i,o=1-t;o=Dn(xe.minDamping,xe.maxDamping,o),e=Dn(xe.minDuration,xe.maxDuration,Vt(e)),o<1?(s=c=>{const u=c*o,d=u*e,h=u-n,f=lp(c,o),m=Math.exp(-d);return ih-h/f*m},i=c=>{const d=c*o*e,h=d*n+n,f=Math.pow(o,2)*Math.pow(c,2)*e,m=Math.exp(-d),b=lp(Math.pow(c,2),o);return(-s(c)+ih>0?-1:1)*((h-f)*m)/b}):(s=c=>{const u=Math.exp(-c*e),d=(c-n)*e+1;return-ih+u*d},i=c=>{const u=Math.exp(-c*e),d=(n-c)*(e*e);return u*d});const a=5/e,l=iB(s,i,a);if(e=hn(e),isNaN(l))return{stiffness:xe.stiffness,damping:xe.damping,duration:e};{const c=Math.pow(l,2)*r;return{stiffness:c,damping:o*2*Math.sqrt(r*c),duration:e}}}const sB=12;function iB(e,t,n){let r=n;for(let s=1;s<sB;s++)r=r-e(r)/t(r);return r}function lp(e,t){return e*Math.sqrt(1-t*t)}const oB=["duration","bounce"],aB=["stiffness","damping","mass"];function jv(e,t){return t.some(n=>e[n]!==void 0)}function lB(e){let t={velocity:xe.velocity,stiffness:xe.stiffness,damping:xe.damping,mass:xe.mass,isResolvedFromDuration:!1,...e};if(!jv(e,aB)&&jv(e,oB))if(e.visualDuration){const n=e.visualDuration,r=2*Math.PI/(n*1.2),s=r*r,i=2*Dn(.05,1,1-(e.bounce||0))*Math.sqrt(s);t={...t,mass:xe.mass,stiffness:s,damping:i}}else{const n=rB(e);t={...t,...n,mass:xe.mass},t.isResolvedFromDuration=!0}return t}function fu(e=xe.visualDuration,t=xe.bounce){const n=typeof e!="object"?{visualDuration:e,keyframes:[0,1],bounce:t}:e;let{restSpeed:r,restDelta:s}=n;const i=n.keyframes[0],o=n.keyframes[n.keyframes.length-1],a={done:!1,value:i},{stiffness:l,damping:c,mass:u,duration:d,velocity:h,isResolvedFromDuration:f}=lB({...n,velocity:-Vt(n.velocity||0)}),m=h||0,b=c/(2*Math.sqrt(l*u)),w=o-i,y=Vt(Math.sqrt(l/u)),g=Math.abs(w)<5;r||(r=g?xe.restSpeed.granular:xe.restSpeed.default),s||(s=g?xe.restDelta.granular:xe.restDelta.default);let v;if(b<1){const T=lp(y,b);v=C=>{const A=Math.exp(-b*y*C);return o-A*((m+b*y*w)/T*Math.sin(T*C)+w*Math.cos(T*C))}}else if(b===1)v=T=>o-Math.exp(-y*T)*(w+(m+y*w)*T);else{const T=y*Math.sqrt(b*b-1);v=C=>{const A=Math.exp(-b*y*C),x=Math.min(T*C,300);return o-A*((m+b*y*w)*Math.sinh(x)+T*w*Math.cosh(x))/T}}const P={calculatedDuration:f&&d||null,next:T=>{const C=v(T);if(f)a.done=T>=d;else{let A=T===0?m:0;b<1&&(A=T===0?hn(m):xE(v,T,C));const x=Math.abs(A)<=r,k=Math.abs(o-C)<=s;a.done=x&&k}return a.value=a.done?o:C,a},toString:()=>{const T=Math.min(Sb(P),hu),C=AE(A=>P.next(T*A).value,T,30);return T+"ms "+C},toTransition:()=>{}};return P}fu.applyToOptions=e=>{const t=tB(e,100,fu);return e.ease=t.ease,e.duration=hn(t.duration),e.type="keyframes",e};function cp({keyframes:e,velocity:t=0,power:n=.8,timeConstant:r=325,bounceDamping:s=10,bounceStiffness:i=500,modifyTarget:o,min:a,max:l,restDelta:c=.5,restSpeed:u}){const d=e[0],h={done:!1,value:d},f=x=>a!==void 0&&x<a||l!==void 0&&x>l,m=x=>a===void 0?l:l===void 0||Math.abs(a-x)<Math.abs(l-x)?a:l;let b=n*t;const w=d+b,y=o===void 0?w:o(w);y!==w&&(b=y-d);const g=x=>-b*Math.exp(-x/r),v=x=>y+g(x),P=x=>{const k=g(x),R=v(x);h.done=Math.abs(k)<=c,h.value=h.done?y:R};let T,C;const A=x=>{f(h.value)&&(T=x,C=fu({keyframes:[h.value,m(h.value)],velocity:xE(v,x,h.value),damping:s,stiffness:i,restDelta:c,restSpeed:u}))};return A(0),{calculatedDuration:null,next:x=>{let k=!1;return!C&&T===void 0&&(k=!0,P(x),A(x)),T!==void 0&&x>=T?C.next(x-T):(!k&&P(x),h)}}}function cB(e,t,n){const r=[],s=n||er.mix||EE,i=e.length-1;for(let o=0;o<i;o++){let a=s(e[o],e[o+1]);if(t){const l=Array.isArray(t)?t[o]||Wt:t;a=hl(l,a)}r.push(a)}return r}function uB(e,t,{clamp:n=!0,ease:r,mixer:s}={}){const i=e.length;if(fb(i===t.length),i===1)return()=>t[0];if(i===2&&t[0]===t[1])return()=>t[1];const o=e[0]===e[1];e[0]>e[i-1]&&(e=[...e].reverse(),t=[...t].reverse());const a=cB(t,r,s),l=a.length,c=u=>{if(o&&u<e[0])return t[0];let d=0;if(l>1)for(;d<e.length-2&&!(u<e[d+1]);d++);const h=za(e[d],e[d+1],u);return a[d](h)};return n?u=>c(Dn(e[0],e[i-1],u)):c}function dB(e,t){const n=e[e.length-1];for(let r=1;r<=t;r++){const s=za(0,t,r);e.push(Pe(n,1,s))}}function hB(e){const t=[0];return dB(t,e.length-1),t}function fB(e,t){return e.map(n=>n*t)}function pB(e,t){return e.map(()=>t||pE).splice(0,e.length-1)}function ua({duration:e=300,keyframes:t,times:n,ease:r="easeInOut"}){const s=Ej(r)?r.map(Nv):Nv(r),i={done:!1,value:t[0]},o=fB(n&&n.length===t.length?n:hB(t),e),a=uB(o,t,{ease:Array.isArray(s)?s:pB(t,s)});return{calculatedDuration:e,next:l=>(i.value=a(l),i.done=l>=e,i)}}const mB=e=>e!==null;function Pb(e,{repeat:t,repeatType:n="loop"},r,s=1){const i=e.filter(mB),a=s<0||t&&n!=="loop"&&t%2===1?0:i.length-1;return!a||r===void 0?i[a]:r}const bB={decay:cp,inertia:cp,tween:ua,keyframes:ua,spring:fu};function kE(e){typeof e.type=="string"&&(e.type=bB[e.type])}class Tb{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise(t=>{this.resolve=t})}notifyFinished(){this.resolve()}then(t,n){return this.finished.then(t,n)}}const gB=e=>e/100;class Cb extends Tb{constructor(t){super(),this.state="idle",this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.stop=()=>{var r,s;const{motionValue:n}=this.options;n&&n.updatedAt!==lt.now()&&this.tick(lt.now()),this.isStopped=!0,this.state!=="idle"&&(this.teardown(),(s=(r=this.options).onStop)==null||s.call(r))},this.options=t,this.initAnimation(),this.play(),t.autoplay===!1&&this.pause()}initAnimation(){const{options:t}=this;kE(t);const{type:n=ua,repeat:r=0,repeatDelay:s=0,repeatType:i,velocity:o=0}=t;let{keyframes:a}=t;const l=n||ua;l!==ua&&typeof a[0]!="number"&&(this.mixKeyframes=hl(gB,EE(a[0],a[1])),a=[0,100]);const c=l({...t,keyframes:a});i==="mirror"&&(this.mirroredGenerator=l({...t,keyframes:[...a].reverse(),velocity:-o})),c.calculatedDuration===null&&(c.calculatedDuration=Sb(c));const{calculatedDuration:u}=c;this.calculatedDuration=u,this.resolvedDuration=u+s,this.totalDuration=this.resolvedDuration*(r+1)-s,this.generator=c}updateTime(t){const n=Math.round(t-this.startTime)*this.playbackSpeed;this.holdTime!==null?this.currentTime=this.holdTime:this.currentTime=n}tick(t,n=!1){const{generator:r,totalDuration:s,mixKeyframes:i,mirroredGenerator:o,resolvedDuration:a,calculatedDuration:l}=this;if(this.startTime===null)return r.next(0);const{delay:c=0,keyframes:u,repeat:d,repeatType:h,repeatDelay:f,type:m,onUpdate:b,finalKeyframe:w}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,t):this.speed<0&&(this.startTime=Math.min(t-s/this.speed,this.startTime)),n?this.currentTime=t:this.updateTime(t);const y=this.currentTime-c*(this.playbackSpeed>=0?1:-1),g=this.playbackSpeed>=0?y<0:y>s;this.currentTime=Math.max(y,0),this.state==="finished"&&this.holdTime===null&&(this.currentTime=s);let v=this.currentTime,P=r;if(d){const x=Math.min(this.currentTime,s)/a;let k=Math.floor(x),R=x%1;!R&&x>
194=1&&(R=1),R===1&&k--,k=Math.min(k,d+1),!!(k%2)&&(h==="reverse"?(R=1-R,f&&(R-=f/a)):h==="mirror"&&(P=o)),v=Dn(0,1,R)*a}const T=g?{done:!1,value:u[0]}:P.next(v);i&&(T.value=i(T.value));let{done:C}=T;!g&&l!==null&&(C=this.playbackSpeed>=0?this.currentTime>=s:this.currentTime<=0);const A=this.holdTime===null&&(this.state==="finished"||this.state==="running"&&C);return A&&m!==cp&&(T.value=Pb(u,this.options,w,this.speed)),b&&b(T.value),A&&this.finish(),T}then(t,n){return this.finished.then(t,n)}get duration(){return Vt(this.calculatedDuration)}get iterationDuration(){const{delay:t=0}=this.options||{};return this.duration+Vt(t)}get time(){return Vt(this.currentTime)}set time(t){var n;t=hn(t),this.currentTime=t,this.startTime===null||this.holdTime!==null||this.playbackSpeed===0?this.holdTime=t:this.driver&&(this.startTime=this.driver.now()-t/this.playbackSpeed),(n=this.driver)==null||n.start(!1)}get speed(){return this.playbackSpeed}set speed(t){this.updateTime(lt.now());const n=this.playbackSpeed!==t;this.playbackSpeed=t,n&&(this.time=Vt(this.currentTime))}play(){var s,i;if(this.isStopped)return;const{driver:t=eB,startTime:n}=this.options;this.driver||(this.driver=t(o=>this.tick(o))),(i=(s=this.options).onPlay)==null||i.call(s);const r=this.driver.now();this.state==="finished"?(this.updateFinished(),this.startTime=r):this.holdTime!==null?this.startTime=r-this.holdTime:this.startTime||(this.startTime=n??r),this.state==="finished"&&this.speed<0&&(this.startTime+=this.calculatedDuration),this.holdTime=null,this.state="running",this.driver.start()}pause(){this.state="paused",this.updateTime(lt.now()),this.holdTime=this.currentTime}complete(){this.state!=="running"&&this.play(),this.state="finished",this.holdTime=null}finish(){var t,n;this.notifyFinished(),this.teardown(),this.state="finished",(n=(t=this.options).onComplete)==null||n.call(t)}cancel(){var t,n;this.holdTime=null,this.startTime=0,this.tick(0),this.teardown(),(n=(t=this.options).onCancel)==null||n.call(t)}teardown(){this.state="idle",this.stopDriver(),this.startTime=this.holdTime=null}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(t){return this.startTime=0,this.tick(t,!0)}attachTimeline(t){var n;return this.options.allowFlatten&&(this.options.type="keyframes",this.options.ease="linear",this.initAnimation()),(n=this.driver)==null||n.stop(),t.observe(this)}}function yB(e){for(let t=1;t<e.length;t++)e[t]??(e[t]=e[t-1])}const ws=e=>e*180/Math.PI,up=e=>{const t=ws(Math.atan2(e[1],e[0]));return dp(t)},vB={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:e=>(Math.abs(e[0])+Math.abs(e[3]))/2,rotate:up,rotateZ:up,skewX:e=>ws(Math.atan(e[1])),skewY:e=>ws(Math.atan(e[2])),skew:e=>(Math.abs(e[1])+Math.abs(e[2]))/2},dp=e=>(e=e%360,e<0&&(e+=360),e),Bv=up,Uv=e=>Math.sqrt(e[0]*e[0]+e[1]*e[1]),Vv=e=>Math.sqrt(e[4]*e[4]+e[5]*e[5]),wB={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:Uv,scaleY:Vv,scale:e=>(Uv(e)+Vv(e))/2,rotateX:e=>dp(ws(Math.atan2(e[6],e[5]))),rotateY:e=>dp(ws(Math.atan2(-e[2],e[0]))),rotateZ:Bv,rotate:Bv,skewX:e=>ws(Math.atan(e[4])),skewY:e=>ws(Math.atan(e[1])),skew:e=>(Math.abs(e[1])+Math.abs(e[4]))/2};function hp(e){return e.includes("scale")?1:0}function fp(e,t){if(!e||e==="none")return hp(t);const n=e.match(/^matrix3d\(([-\d.e\s,]+)\)$/u);let r,s;if(n)r=wB,s=n;else{const a=e.match(/^matrix\(([-\d.e\s,]+)\)$/u);r=vB,s=a}if(!s)return hp(t);const i=r[t],o=s[1].split(",").map(PB);return typeof i=="function"?i(o):o[i]}const SB=(e,t)=>{const{transform:n="none"}=getComputedStyle(e);return fp(n,t)};function PB(e){return parseFloat(e.trim())}const So=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],Po=new Set(So),$v=e=>e===wo||e===$,TB=new Set(["x","y","z"]),CB=So.filter(e=>!TB.has(e));function EB(e){const t=[];return CB.forEach(n=>{const r=e.getValue(n);r!==void 0&&(t.push([n,r.get()]),r.set(n.startsWith("scale")?1:0))}),t}const Nr={width:({x:e},{paddingLeft:t="0",paddingRight:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),height:({y:e},{paddingTop:t="0",paddingBottom:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:(e,{transform:t})=>fp(t,"x"),y:(e,{transform:t})=>fp(t,"y")};Nr.translateX=Nr.x;Nr.translateY=Nr.y;const Ls=new Set;let pp=!1,mp=!1,bp=!1;function _E(){if(mp){const e=Array.from(Ls).filter(r=>r.needsMeasurement),t=new Set(e.map(r=>r.element)),n=new Map;t.forEach(r=>{const s=EB(r);s.length&&(n.set(r,s),r.render())}),e.forEach(r=>r.measureInitialState()),t.forEach(r=>{r.render();const s=n.get(r);
194s&&s.forEach(([i,o])=>{var a;(a=r.getValue(i))==null||a.set(o)})}),e.forEach(r=>r.measureEndState()),e.forEach(r=>{r.suspendedScrollY!==void 0&&window.scrollTo(0,r.suspendedScrollY)})}mp=!1,pp=!1,Ls.forEach(e=>e.complete(bp)),Ls.clear()}function RE(){Ls.forEach(e=>{e.readKeyframes(),e.needsMeasurement&&(mp=!0)})}function AB(){bp=!0,RE(),_E(),bp=!1}class Eb{constructor(t,n,r,s,i,o=!1){this.state="pending",this.isAsync=!1,this.needsMeasurement=!1,this.unresolvedKeyframes=[...t],this.onComplete=n,this.name=r,this.motionValue=s,this.element=i,this.isAsync=o}scheduleResolve(){this.state="scheduled",this.isAsync?(Ls.add(this),pp||(pp=!0,pe.read(RE),pe.resolveKeyframes(_E))):(this.readKeyframes(),this.complete())}readKeyframes(){const{unresolvedKeyframes:t,name:n,element:r,motionValue:s}=this;if(t[0]===null){const i=s==null?void 0:s.get(),o=t[t.length-1];if(i!==void 0)t[0]=i;else if(r&&n){const a=r.readValue(n,o);a!=null&&(t[0]=a)}t[0]===void 0&&(t[0]=o),s&&i===void 0&&s.set(t[0])}yB(t)}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(t=!1){this.state="complete",this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,t),Ls.delete(this)}cancel(){this.state==="scheduled"&&(Ls.delete(this),this.state="pending")}resume(){this.state==="pending"&&this.scheduleResolve()}}const xB=e=>e.startsWith("--");function kB(e,t,n){xB(t)?e.style.setProperty(t,n):e.style[t]=n}const _B={};function DE(e,t){const n=sE(e);return()=>_B[t]??n()}const RB=DE(()=>window.ScrollTimeline!==void 0,"scrollTimeline"),NE=DE(()=>{try{document.createElement("div").animate({opacity:0}
194,{easing:"linear(0, 1)"})}catch{return!1}return!0},"linearEasing"),Ko=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`,Wv={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:Ko([0,.65,.55,1]),circOut:Ko([.55,0,1,.45]),backIn:Ko([.31,.01,.66,-.59]),backOut:Ko([.33,1.53,.69,.99])};function IE(e,t){if(e)return typeof e=="function"?NE()?AE(e,t):"ease-out":mE(e)?Ko(e):Array.isArray(e)?e.map(n=>IE(n,t)||Wv.easeOut):Wv[e]}function DB(e,t,n,{delay:r=0,duration:s=300,repeat:i=0,repeatType:o="loop",ease:a="easeOut",times:l}={},c=void 0){const u={[t]:n};l&&(u.offset=l);const d=IE(a,s);Array.isArray(d)&&(u.easing=d);const h={delay:r,duration:s,easing:Array.isArray(d)?"linear":d,fill:"both",iterations:i+1,direction:o==="reverse"?"alternate":"normal"};return c&&(h.pseudoElement=c),e.animate(u,h)}function OE(e){return typeof e=="function"&&"applyToOptions"in e}function NB({type:e,...t}){return OE(e)&&NE()?e.applyToOptions(t):(t.duration??(t.duration=300),t.ease??(t.ease="easeOut"),t)}class LE extends Tb{constructor(t){if(super(),this.finishedTime=null,this.isStopped=!1,this.manualStartTime=null,!t)return;const{element:n,name:r,keyframes:s,pseudoElement:i,allowFlatten:o=!1,finalKeyframe:a,onComplete:l}=t;this.isPseudoElement=!!i,this.allowFlatten=o,this.options=t,fb(typeof t.type!="string");const c=NB(t);this.animation=DB(n,r,s,c,i),c.autoplay===!1&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!i){const u=Pb(s,this.options,a,this.speed);this.updateMotionValue?this.updateMotionValue(u):kB(n,r,u),this.animation.cancel()}l==null||l(),this.notifyFinished()}}play(){this.isStopped||(this.manualStartTime=null,this.animation.play(),this.state==="finished"&&this.updateFinished())}pause(){this.animation.pause()}complete(){var t,n;(n=(t=this.animation).finish)==null||n.call(t)}cancel(){try{this.animation.cancel()}catch{}}stop(){if(this.isStopped)return;this.isStopped=!0;const{state:t}=this;t==="idle"||t==="finished"||(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){var n,r,s;const t=(n=this.options)==null?void 0:n.element;!this.isPseudoElement&&(t!=null&&t.isConnected)&&((s=(r=this.animation).commitStyles)==null||s.call(r))}get duration(){var n,r;const t=((r=(n=this.animation.effect)==null?void 0:n.getComputedTiming)==null?void 0:r.call(n).duration)||0;return Vt(Number(t))}get iterationDuration(){const{delay:t=0}=this.options||{};return this.duration+Vt(t)}get time(){return Vt(Number(this.animation.currentTime)||0)}set time(t){this.manualStartTime=null,this.finishedTime=null,this.animation.currentTime=hn(t)}get speed(){return this.animation.playbackRate}set speed(t){t<0&&(this.finishedTime=null),this.animation.playbackRate=t}get state(){return this.finishedTime!==null?"finished":this.animation.playState}get startTime(){return this.manualStartTime??Number(this.animation.startTime)}set startTime(t){this.manualStartTime=this.animation.startTime=t}attachTimeline({timeline:t,observe:n}){var r;return this.allowFlatten&&((r=this.animation.effect)==null||r.updateTiming({easing:"linear"})),this.animation.onfinish=null,t&&RB()?(this.animation.timeline=t,Wt):n(this)}}const ME={anticipate:dE,backInOut:uE,circInOut:fE};function IB(e){return e in ME}function OB(e){typeof e.ease=="string"&&IB(e.ease)&&(e.ease=ME[e.ease])}const oh=10;class LB extends LE{constructor(t){OB(t),kE(t),super(t),t.startTime!==void 0&&(this.startTime=t.startTime),this.options=t}updateMotionValue(t){const{motionValue:n,onUpdate:r,onComplete:s,element:i,...o}=this.options;if(!n)return;if(t!==void 0){n.set(t);return}const a=new Cb({...o,autoplay:!1}),l=Math.max(oh,lt.now()-this.startTime),c=Dn(0,oh,l-oh);n.setWithVelocity(a.sample(Math.max(0,l-c)).value,a.sample(l).value,c),a.stop()}}const zv=(e,t)=>t==="zIndex"?!1:!!(typeof e=="number"||Array.isArray(e)||typeof e=="string"&&(fn.test(e)||e==="0")&&!e.startsWith("url("));function MB(e){const t=e[0];if(e.length===1)return!0;for(let n=0;n<e.length;n++)if(e[n]!==t)return!0}function FB(e,t,n,r){const s=e[0];if(s===null)return!1;if(t==="display"||t==="visibility")return!0;const i=e[e.length-1],o=zv(s,t),a=zv(i,t);return!o||!a?!1:MB(e)||(n==="spring"||OE(n))&&r}function gp(e){e.duration=0,e.type="keyframes"}const jB=new Set(["opacity","clipPath","filter","transform"]),BB=sE(()=>Object.hasOwnProperty.call(Element.prototype,"animate"));function UB(e){var u;const{motionValue:t,name:n,repeatDelay:r,repeatType:s,damping:i,type:o}=e;if(!(((u=t==null?void 0:t.owner)==null?void 0:u.current)instanceof HTMLElement))return!1;const{onUpdate:l,transformTemplate:c}=t.owner.getProps();return BB()&&n&&jB.has(n)&&(n!=="transform"||!c)&&!l&&!r&&s!=="mirror"&&i!==0&&o!=="inertia"}const VB=40;class $B extends Tb{constructor({autoplay:t=!0,delay:n=0,type:r="keyframes",repeat:s=0,repeatDelay:i=0,repeatType:
194o="loop",keyframes:a,name:l,motionValue:c,element:u,...d}){var m;super(),this.stop=()=>{var b,w;this._animation&&(this._animation.stop(),(b=this.stopTimeline)==null||b.call(this)),(w=this.keyframeResolver)==null||w.cancel()},this.createdAt=lt.now();const h={autoplay:t,delay:n,type:r,repeat:s,repeatDelay:i,repeatType:o,name:l,motionValue:c,element:u,...d},f=(u==null?void 0:u.KeyframeResolver)||Eb;this.keyframeResolver=new f(a,(b,w,y)=>this.onKeyframesResolved(b,w,h,!y),l,c,u),(m=this.keyframeResolver)==null||m.scheduleResolve()}onKeyframesResolved(t,n,r,s){var w,y;this.keyframeResolver=void 0;const{name:i,type:o,velocity:a,delay:l,isHandoff:c,onUpdate:u}=r;this.resolvedAt=lt.now(),FB(t,i,o,a)||((er.instantAnimations||!l)&&(u==null||u(Pb(t,r,n))),t[0]=t[t.length-1],gp(r),r.repeat=0);const h={startTime:s?this.resolvedAt?this.resolvedAt-this.createdAt>VB?this.resolvedAt:this.createdAt:this.createdAt:void 0,finalKeyframe:n,...r,keyframes:t},f=!c&&UB(h),m=(y=(w=h.motionValue)==null?void 0:w.owner)==null?void 0:y.current,b=f?new LB({...h,element:m}):new Cb(h);b.finished.then(()=>{this.notifyFinished()}).catch(Wt),this.pendingTimeline&&(this.stopTimeline=b.attachTimeline(this.pendingTimeline),this.pendingTimeline=void 0),this._animation=b}get finished(){return this._animation?this.animation.finished:this._finished}then(t,n){return this.finished.finally(t).then(()=>{})}get animation(){var t;return this._animation||((t=this.keyframeResolver)==null||t.resume(),AB()),this._animation}get duration(){return this.animation.duration}get iterationDuration(){return this.animation.iterationDuration}get time(){return this.animation.time}set time(t){this.animation.time=t}get speed(){return this.animation.speed}get state(){return this.animation.state}set speed(t){this.animation.speed=t}get startTime(){return this.animation.startTime}attachTimeline(t){return this._animation?this.stopTimeline=this.animation.attachTimeline(t):this.pendingTimeline=t,()=>this.stop()}play(){this.animation.play()}pause(){this.animation.pause()}complete(){this.animation.complete()}cancel(){var t;this._animation&&this.animation.cancel(),(t=this.keyframeResolver)==null||t.cancel()}}function FE(e,t,n,r=0,s=1){const i=Array.from(e).sort((c,u)=>c.sortNodePosition(u)).indexOf(t),o=e.size,a=(o-1)*r;return typeof n=="function"?n(i,o):s===1?i*r:a-i*r}const WB=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function zB(e){const t=WB.exec(e);if(!t)return[,];const[,n,r,s]=t;return[`--${n??r}`,s]}function jE(e,t,n=1){const[r,s]=zB(e);if(!r)return;const i=window.getComputedStyle(t).getPropertyValue(r);if(i){const o=i.trim();return tE(o)?parseFloat(o):o}return gb(s)?jE(s,t,n+1):s}const qB={type:"spring",stiffness:500,damping:25,restSpeed:10},HB=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),GB={type:"keyframes",duration:.8},KB={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},YB=(e,{keyframes:t})=>t.length>2?GB:Po.has(e)?e.startsWith("scale")?HB(t[1]):qB:KB,QB=e=>e!==null;function JB(e,{repeat:t,repeatType:n="loop"},r){const s=e.filter(QB),i=t&&n!=="loop"&&t%2===1?0:s.length-1;return s[i]}function BE(e,t){if(e!=null&&e.inherit&&t){const{inherit:n,...r}=e;return{...t,...r}}return e}function Ab(e,t){const n=(e==null?void 0:e[t])??(e==null?void 0:e.default)??e;return n!==e?BE(n,e):n}function XB({when:e,delay:t,delayChildren:n,staggerChildren:r,staggerDirection:s,repeat:i,repeatType:o,repeatDelay:a,from:l,elapsed:c,...u}){return!!Object.keys(u).length}const xb=(e,t,n,r={},s,i)=>o=>{const a=Ab(r,e)||{},l=a.delay||r.delay||0;let{elapsed:c=0}=r;c=c-hn(l);const u={keyframes:Array.isArray(n)?n:[null,n],ease:"easeOut",velocity:t.getVelocity(),...a,delay:-c,onUpdate:h=>{t.set(h),a.onUpdate&&a.onUpdate(h)},onComplete:()=>{o(),a.onComplete&&a.onComplete()},name:e,motionValue:t,element:i?void 0:s};XB(a)||Object.assign(u,YB(e,u)),u.duration&&(u.duration=hn(u.duration)),u.repeatDelay&&(u.repeatDelay=hn(u.repeatDelay)),u.from!==void 0&&(u.keyframes[0]=u.from);let d=!1;if((u.type===!1||u.duration===0&&!u.repeatDelay)&&(gp(u),u.delay===0&&(d=!0)),(er.instantAnimations||er.skipAnimations||s!=null&&s.shouldSkipAnimations)&&(d=!0,gp(u),u.delay=0),u.allowFlatten=!a.type&&!a.ease,d&&!i&&t.get()!==void 0){const h=JB(u.ke
194yframes,a);if(h!==void 0){pe.update(()=>{u.onUpdate(h),u.onComplete()});return}}return a.isSync?new Cb(u):new $B(u)};function qv(e){const t=[{},{}];return e==null||e.values.forEach((n,r)=>{t[0][r]=n.get(),t[1][r]=n.getVelocity()}),t}function kb(e,t,n,r){if(typeof t=="function"){const[s,i]=qv(r);t=t(n!==void 0?n:e.custom,s,i)}if(typeof t=="string"&&(t=e.variants&&e.variants[t]),typeof t=="function"){const[s,i]=qv(r);t=t(n!==void 0?n:e.custom,s,i)}return t}function Ui(e,t,n){const r=e.getProps();return kb(r,t,n!==void 0?n:r.custom,e)}const UE=new Set(["width","height","top","left","right","bottom",...So]),Hv=30,ZB=e=>!isNaN(parseFloat(e)),Gv={current:void 0};class eU{constructor(t,n={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=r=>{var i;const s=lt.now();if(this.updatedAt!==s&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(r),this.current!==this.prev&&((i=this.events.change)==null||i.notify(this.current),this.dependents))for(const o of this.dependents)o.dirty()},this.hasAnimated=!1,this.setCurrent(t),this.owner=n.owner}setCurrent(t){this.current=t,this.updatedAt=lt.now(),this.canTrackVelocity===null&&t!==void 0&&(this.canTrackVelocity=ZB(this.current))}setPrevFrameValue(t=this.current){this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt}onChange(t){return this.on("change",t)}on(t,n){this.events[t]||(this.events[t]=new pb);const r=this.events[t].add(n);return t==="change"?()=>{r(),pe.read(()=>{this.events.change.getSize()||this.stop()})}:r}clearListeners(){for(const t in this.events)this.events[t].clear()}attach(t,n){this.passiveEffect=t,this.stopPassiveEffect=n}set(t){this.passiveEffect?this.passiveEffect(t,this.updateAndNotify):this.updateAndNotify(t)}setWithVelocity(t,n,r){this.set(n),this.prev=void 0,this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt-r}jump(t,n=!0){this.updateAndNotify(t),this.prev=t,this.prevUpdatedAt=this.prevFrameValue=void 0,n&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}dirty(){var t;(t=this.events.change)==null||t.notify(this.current)}addDependent(t){this.dependents||(this.dependents=new Set),this.dependents.add(t)}removeDependent(t){this.dependents&&this.dependents.delete(t)}get(){return Gv.current&&Gv.current.push(this),this.current}getPrevious(){return this.prev}getVelocity(){const t=lt.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||t-this.updatedAt>Hv)return 0;const n=Math.min(this.updatedAt-this.prevUpdatedAt,Hv);return iE(parseFloat(this.current)-parseFloat(this.prevFrameValue),n)}start(t){return this.stop(),new Promise(n=>{this.hasAnimated=!0,this.animation=t(n),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){var t,n;(t=this.dependents)==null||t.clear(),(n=this.events.destroy)==null||n.notify(),this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function co(e,t){return new eU(e,t)}const yp=e=>Array.isArray(e);function tU(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,co(n))}function nU(e){return yp(e)?e[e.length-1]||0:e}function rU(e,t){const n=Ui(e,t);let{transitionEnd:r={},transition:s={},...i}=n||{};i={...i,...r};for(const o in i){const a=nU(i[o]);tU(e,o,a)}}const rt=e=>!!(e&&e.getVelocity);function sU(e){return!!(rt(e)&&e.add)}function vp(e,t){const n=e.getValue("willChange");if(sU(n))return n.add(t);if(!n&&er.WillChange){const r=new er.WillChange("auto");e.addValue("willChange",r),r.add(t)}}function _b(e){return e.replace(/([A-Z])/g,t=>`-${t.toLowerCase()}`)}const iU="framerAppearId",VE="data-"+_b(iU);function $E(e){return e.props[VE]}function oU({protectedKeys:e,needsAnimating:t},n){const r=e.hasOwnProperty(n)&&t[n]!==!0;return t[n]=!1,r}function WE(e,t,{delay:n=0,transitionOverride:r,type:s}={}){let{transition:i,transitionEnd:o,...a}=t;const l=e.getDefaultTransition();i=i?BE(i,l):l;const c=i==null?void 0:i.reduceMotion;r&&(i=r);const u=[],d=s&&e.animationState&&e.animationState.getState()[s];for(const h in a){const f=e.getValue(h,e.latestValues[h]??null),m=a[h];if(m===void 0||d&&oU(d,h))continue;const b={delay:n,...Ab(i||{},h)},w=f.get();if(w!==void 0&&!f.isAnimating&&!Array.isArray(m)&&m===w&&!b.velocity)continue;let y=!1;if(window.MotionHandoffAnimation){const P=$E(e);if(P){const T=window.MotionHandoffAnimation(P,h,pe);T!==null&&(b.startTime=T,y=!0)}}vp(e,h);const g=c??e.shouldReduceMotion;f.start(xb(h,f,m,g&&UE.has(h)?{type:!1}:b,e,y));const v=f.animation;v&&u.push(v)}if(o){const h=()=>pe.update(()=>{o&&rU(e,o)});
vendor: 16,913 bytes, line 194
194u.length?Promise.all(u).then(h):h()}return u}function wp(e,t,n={}){var l;const r=Ui(e,t,n.type==="exit"?(l=e.presenceContext)==null?void 0:l.custom:void 0);let{transition:s=e.getDefaultTransition()||{}}=r||{};n.transitionOverride&&(s=n.transitionOverride);const i=r?()=>Promise.all(WE(e,r,n)):()=>Promise.resolve(),o=e.variantChildren&&e.variantChildren.size?(c=0)=>{const{delayChildren:u=0,staggerChildren:d,staggerDirection:h}=s;return aU(e,t,c,u,d,h,n)}:()=>Promise.resolve(),{when:a}=s;if(a){const[c,u]=a==="beforeChildren"?[i,o]:[o,i];return c().then(()=>u())}else return Promise.all([i(),o(n.delay)])}function aU(e,t,n=0,r=0,s=0,i=1,o){const a=[];for(const l of e.variantChildren)l.notify("AnimationStart",t),a.push(wp(l,t,{...o,delay:n+(typeof r=="function"?0:r)+FE(e.variantChildren,l,r,s,i)}).then(()=>l.notify("AnimationComplete",t)));return Promise.all(a)}function lU(e,t,n={}){e.notify("AnimationStart",t);let r;if(Array.isArray(t)){const s=t.map(i=>wp(e,i,n));r=Promise.all(s)}else if(typeof t=="string")r=wp(e,t,n);else{const s=typeof t=="function"?Ui(e,t,n.custom):t;r=Promise.all(WE(e,s,n))}return r.then(()=>{e.notify("AnimationComplete",t)})}const cU={test:e=>e==="auto",parse:e=>e},zE=e=>t=>t.test(e),qE=[wo,$,_n,fr,jj,Fj,cU],Kv=e=>qE.find(zE(e));function uU(e){return typeof e=="number"?e===0:e!==null?e==="none"||e==="0"||rE(e):!0}const dU=new Set(["brightness","contrast","saturate","opacity"]);function hU(e){const[t,n]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[r]=n.match(yb)||[];if(!r)return e;const s=n.replace(r,"");let i=dU.has(t)?1:0;return r!==n&&(i*=100),t+"("+i+s+")"}const fU=/\b([a-z-]*)\(.*?\)/gu,Sp={...fn,getAnimatableNone:e=>{const t=e.match(fU);return t?t.map(hU).join(" "):e}},Pp={...fn,getAnimatableNone:e=>{const t=fn.parse(e);return fn.createTransformer(e)(t.map(r=>typeof r=="number"?0:typeof r=="object"?{...r,alpha:1}:r))}},Yv={...wo,transform:Math.round},pU={rotate:fr,rotateX:fr,rotateY:fr,rotateZ:fr,scale:Jl,scaleX:Jl,scaleY:Jl,scaleZ:Jl,skew:fr,skewX:fr,skewY:fr,distance:$,translateX:$,translateY:$,translateZ:$,x:$,y:$,z:$,perspective:$,transformPerspective:$,opacity:qa,originX:Ov,originY:Ov,originZ:$},Rb={borderWidth:$,borderTopWidth:$,borderRightWidth:$,borderBottomWidth:$,borderLeftWidth:$,borderRadius:$,borderTopLeftRadius:$,borderTopRightRadius:$,borderBottomRightRadius:$,borderBottomLeftRadius:$,width:$,maxWidth:$,height:$,maxHeight:$,top:$,right:$,bottom:$,left:$,inset:$,insetBlock:$,insetBlockStart:$,insetBlockEnd:$,insetInline:$,insetInlineStart:$,insetInlineEnd:$,padding:$,paddingTop:$,paddingRight:$,paddingBottom:$,paddingLeft:$,paddingBlock:$,paddingBlockStart:$,paddingBlockEnd:$,paddingInline:$,paddingInlineStart:$,paddingInlineEnd:$,margin:$,marginTop:$,marginRight:$,marginBottom:$,marginLeft:$,marginBlock:$,marginBlockStart:$,marginBlockEnd:$,marginInline:$,marginInlineStart:$,marginInlineEnd:$,fontSize:$,backgroundPositionX:$,backgroundPositionY:$,...pU,zIndex:Yv,fillOpacity:qa,strokeOpacity:qa,numOctaves:Yv},mU={...Rb,color:Ie,backgroundColor:Ie,outlineColor:Ie,fill:Ie,stroke:Ie,borderColor:Ie,borderTopColor:Ie,borderRightColor:Ie,borderBottomColor:Ie,borderLeftColor:Ie,filter:Sp,WebkitFilter:Sp,mask:Pp,WebkitMask:Pp},HE=e=>mU[e],bU=new Set([Sp,Pp]);function GE(e,t){let n=HE(e);return bU.has(n)||(n=fn),n.getAnimatableNone?n.getAnimatableNone(t):void 0}const gU=new Set(["auto","none","0"]);function yU(e,t,n){let r=0,s;for(;r<e.length&&!s;){const i=e[r];typeof i=="string"&&!gU.has(i)&&Ha(i).values.length&&(s=e[r]),r++}if(s&&n)for(const i of t)e[i]=GE(n,s)}class vU extends Eb{constructor(t,n,r,s,i){super(t,n,r,s,i,!0)}readKeyframes(){const{unresolvedKeyframes:t,element:n,name:r}=this;if(!n||!n.current)return;super.readKeyframes();for(let u=0;u<t.length;u++){let d=t[u];if(typeof d=="string"&&(d=d.trim(),gb(d))){const h=jE(d,n.current);h!==void 0&&(t[u]=h),u===t.length-1&&(this.finalKeyframe=d)}}if(this.resolveNoneKeyframes(),!UE.has(r)||t.length!==2)return;const[s,i]=t,o=Kv(s),a=Kv(i),l=Iv(s),c=Iv(i);if(l!==c&&Nr[r]){this.needsMeasurement=!0;return}if(o!==a)if($v(o)&&$v(a))for(let u=0;u<t.length;u++){const d=t[u];typeof d=="string"&&(t[u]=parseFloat(d))}else Nr[r]&&(this.needsMeasurement=!0)}resolveNoneKeyframes(){const{unresolvedKeyframes:t,name:n}=this,r=[];for(let s=0;s<t.length;s++)(t[s]===null||uU(t[s]))&&r.push(s);r.length&&yU(t,r,n)}measureInitialState(){const{element:t,unresolvedKeyframes:n,name:r}=this;if(!t||!t.current)return;r==="height"&&(this.suspendedScrollY=window.pageYOffset),this.measuredOrigin=Nr[r](t.measureViewportBox(),window.getComputedStyle(t.current)),n[0]=this.measuredOrigin;const s=n[n.length-1];s!==void 0&&t.getValue(r,s).jump(s,!1)}measureEndState(){var a;const{element:t,name:n,unresolvedKeyframes:r}=this;if(!t||!t.current)return;const s=t.getValue(n);s&&s.jump(this.measuredOrigin,!1);const i=r.length-1,o=r[i];r[i]=Nr[n](t.measureViewportBox(),window.getComputedStyle(t.current)),o!==null&&this.finalKeyframe===void 0&&(this.finalKeyframe=o),(a=this.removedTransforms)!=null&&a.length&&this.removedTransforms.forEach(([l,c])=>{t.getValue(l).set(c)}),this.resolveNoneKeyframes()}}const wU=new Set(["opacity","clipPath","filter","transform"]);function KE(e,t,n){if(e==null)return[];if(e instanceof EventTarget)return[e];if(typeof e=="string"){let r=document;t&&(r=t.current);const s=(n==null?void 0:n[e])??r.querySelectorAll(e);return s?Array.from(s):[]}return Array.from(e).filter(r=>r!=null)}const YE=(e,t)=>t&&typeof e=="number"?t.transform(e):e;function Tp(e){return nE(e)&&"offsetHeight"in e}const{schedule:Db}=bE(queueMicrotask,!1),Zt={x:!1,y:!1};function QE(){return Zt.x||Zt.y}function SU(e){return e==="x"||e==="y"?Zt[e]?null:(Zt[e]=!0,()=>{Zt[e]=!1}):Zt.x||Zt.y?null:(Zt.x=Zt.y=!0,()=>{Zt.x=Zt.y=!1})}function JE(e,t){const n=KE(e),r=new AbortController,s={passive:!0,...t,signal:r.signal};return[n,s,()=>r.abort()]}function PU(e){return!(e.pointerType==="touch"||QE())}function TU(e,t,n={}){const[r,s,i]=JE(e,n);return r.forEach(o=>{let a=!1,l=!1,c;const u=()=>{o.removeEventListener("pointerleave",m)},d=w=>{c&&(c(w),c=void 0),u()},h=w=>{a=!1,window.removeEventListener("pointerup",h),window.removeEventListener("pointercancel",h),l&&(l=!1,d(w))},f=()=>{a=!0,window.addEventListener("pointerup",h,s),window.addEventListener("pointercancel",h,s)},m=w=>{if(w.pointerType!=="touch"){if(a){l=!0;return}d(w)}},b=w=>{if(!PU(w))return;l=!1;const y=t(o,w);typeof y=="function"&&(c=y,o.addEventListener("pointerleave",m,s))};o.addEventListener("pointerenter",b,s),o.addEventListener("pointerdown",f,s)}),i}const XE=(e,t)=>t?e===t?!0:XE(e,t.parentElement):!1,Nb=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1,CU=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]);function EU(e){return CU.has(e.tagName)||e.isContentEditable===!0}const AU=new Set(["INPUT","SELECT","TEXTAREA"]);function xU(e){return AU.has(e.tagName)||e.isContentEditable===!0}const Sc=new WeakSet;function Qv(e){return t=>{t.key==="Enter"&&e(t)}}function ah(e,t){e.dispatchEvent(new PointerEvent("pointer"+t,{isPrimary:!0,bubbles:!0}))}const kU=(e,t)=>{const n=e.currentTarget;if(!n)return;const r=Qv(()=>{if(Sc.has(n))return;ah(n,"down");const s=Qv(()=>{ah(n,"up")}),i=()=>ah(n,"cancel");n.addEventListener("keyup",s,t),n.addEventListener("blur",i,t)});n.addEventListener("keydown",r,t),n.addEventListener("blur",()=>n.removeEventListener("keydown",r),t)};function Jv(e){return Nb(e)&&!QE()}const Xv=new WeakSet;function _U(e,t,n={}){const[r,s,i]=JE(e,n),o=a=>{const l=a.currentTarget;if(!Jv(a)||Xv.has(a))return;Sc.add(l),n.stopPropagation&&Xv.add(a);const c=t(l,a),u=(f,m)=>{window.removeEventListener("pointerup",d),window.removeEventListener("pointercancel",h),Sc.has(l)&&Sc.delete(l),Jv(f)&&typeof c=="function"&&c(f,{success:m})},d=f=>{u(f,l===window||l===document||n.useGlobalTarget||XE(l,f.target))},h=f=>{u(f,!1)};window.addEventListener("pointerup",d,s),window.addEventListener("pointercancel",h,s)};return r.forEach(a=>{(n.useGlobalTarget?window:a).addEventListener("pointerdown",o,s),Tp(a)&&(a.addEventListener("focus",c=>kU(c,s)),!EU(a)&&!a.hasAttribute("tabindex")&&(a.tabIndex=0))}),i}function Ib(e){return nE(e)&&"ownerSVGElement"in e}const Pc=new WeakMap;let pr;const ZE=(e,t,n)=>(r,s)=>s&&s[0]?s[0][e+"Size"]:Ib(r)&&"getBBox"in r?r.getBBox()[t]:r[n],RU=ZE("inline","width","offsetWidth"),DU=ZE("block","height","offsetHeight");function NU({target:e,borderBoxSize:t}){var n;(n=Pc.get(e))==null||n.forEach(r=>{r(e,{get width(){return RU(e,t)},get height(){return DU(e,t)}})})}function IU(e){e.forEach(NU)}function OU(){typeof ResizeObserver>"u"||(pr=new ResizeObserver(IU))}function LU(e,t){pr||OU();const n=KE(e);return n.forEach(r=>{let s=Pc.get(r);s||(s=new Set,Pc.set(r,s)),s.add(t),pr==null||pr.observe(r)}),()=>{n.forEach(r=>{const s=Pc.get(r);s==null||s.delete(t),s!=null&&s.size||pr==null||pr.unobserve(r)})}}const Tc=new Set;let Ci;function MU(){Ci=()=>{const e={get width(){return window.innerWidth},get height(){return window.innerHeight}};Tc.forEach(t=>t(e))},window.addEventListener("resize",Ci)}function FU(e){return Tc.add(e),Ci||MU(),()=>{Tc.delete(e),!Tc.size&&typeof Ci=="function"&&(window.removeEventListener("resize",Ci),Ci=void 0)}}function Zv(e,t){return typeof e=="function"?FU(e):LU(e,t)}function jU(e){return Ib(e)&&e.tagName==="svg"}const BU=[...qE,Ie,fn],UU=e=>BU.find(zE(e)),ew=()=>({translate:0,scale:1,origin:0,originPoint:0}),Ei=()=>({x:ew(),y:ew()}),tw=()=>({min:0,max:0}),Fe=()=>({x:tw(),y:tw()}),VU=new WeakMap;function Zu(e){return e!==null&&typeof e=="object"&&typeof e.start=="function"}function Ga(e){return typeof e=="string"||Array.isArray(e)}const Ob=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],Lb=["initial",...Ob];function ed(e){return Zu(e.animate)||Lb.some(t=>Ga(e[t]))}function eA(e){return!!(ed(e)||e.variants)}function $U(e,t,n){for(const r in t){const s=t[r],i=n[r];if(rt(s))e.addValue(r,s);else if(rt(i))e.addValue(r,co(s,{owner:e}));else if(i!==s)if(e.hasValue(r)){const o=e.getValue(r);o.liveStyle===!0?o.jump(s):o.hasAnimated||o.set(s)}else{const o=e.getStaticValue(r);e.addValue(r,co(o!==void 0?o:s,{owner:e}))}}for(const r in n)t[r]===void 0&&e.removeValue(r);return t}const Cp={current:null},tA={current:!1},WU=typeof window<"u";function zU(){if(tA.current=!0,!!WU)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>Cp.current=e.matches;e.addEventListener("change",t),t()}else Cp.current=!1}const nw=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];let pu={};function nA(e){pu=e}function qU(){return pu}class HU{scrapeMotionValuesFromProps(t,n,r){return{}}constructor({parent:t,props:n,presenceContext:r,reducedMotionConfig:s,skipAnimations:i,blockInitialAnimation:o,visualState:a},l={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.shouldSkipAnimations=!1,this.values=new Map,this.KeyframeResolver=Eb,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.hasBeenMounted=!1,this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{const f=lt.now();this.renderScheduledAt<f&&(this.renderScheduledAt=f,pe.render(this.render,!1,!0))};const{latestValues:c,renderState:u}=a;this.latestValues=c,this.baseTarget={...c},this.initialValues=n.initial?{...c}:{},this.renderState=u,this.parent=t,this.props=n,this.presenceContext=r,this.depth=t?t.depth+1:0,this.reducedMotionConfig=s,this.skipAnimationsConfig=i,this.options=l,this.blockInitialAnimation=!!o,this.isControllingVariants=ed(n),this.isVariantNode=eA(n),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(t&&t.current);const{willChange:d,...h}=this.scrapeMotionValuesFromProps(n,{},this);for(const f in h){const m=h[f];c[f]!==void 0&&rt(m)&&m.set(c[f])}}mount(t){var n,r;if(this.hasBeenMounted)for(const s in this.initialValues)(n=this.values.get(s))==null||n.jump(this.initialValues[s]),this.latestValues[s]=this.initialValues[s];this.current=t,VU.set(t,this),this.projection&&!this.projection.instance&&this.projection.mount(t),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((s,i)=>this.bindToMotionValue(i,s)),this.reducedMotionConfig==="never"?this.shouldReduceMotion=!1:this.reducedMotionConfig==="always"?this.shouldReduceMotion=!0:(tA.current||zU(),this.shouldReduceMotion=Cp.current),this.shouldSkipAnimations=this.skipAnimationsConfig??!1,(r=this.parent)==null||r.addChild(this),this.update(this.props,this.presenceContext),this.hasBeenMounted=!0}unmount(){var t;this.projection&&this.projection.unmount(),Kr(this.notifyUpdate),Kr(this.render),this.valueSubscriptions.forEach(n=>n()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),(t=this.parent)==null||t.removeChild(this);for(const n in this.events)this.events[n].clear();for(const n in this.features){const r=this.features[n];r&&(r.unmount(),r.isMounted=!1)}this.current=null}addChild(t){this.children.add(t),this.enteringChildren??(this.enteringChildren=new Set),this.enteringChildren.add(t)}removeChild(t){this.children.delete(t),this.enteringChildren&&this.enteringChildren.delete(t)}bindToMotionValue(t,n){if(this.valueSubscriptions.has(t)&&this.valueSubscriptions.get(t)(),n.accelerate&&wU.has(t)&&this.current instanceof HTMLElement){const{factory:o,keyframes:a,times:l,ease:c,duration:u}=n.accelerate,d=new LE({element:this.current,name:t,keyframes:a,times:l,ease:c,duration:hn(u)}),h=o(d);this.valueSubscriptions.set(t,()=>{h(),d.cancel()});return}const r=Po.has(t);r&&this.onBindTransform&&this.onBindTransform();const s=n.on("change",o=>{this.latestValues[t]=o,this.props.onUpdate&&pe.preRender(this.notifyUpdate),r&&this.projection&&(this.projection.isTransformDirty=!0),this.scheduleRender()});let i;typeof window<"u"&&window.MotionCheckAppearSync&&(i=window.MotionCheckAppearSync(this,t,n)),this.valueSubscriptions.set(t,()=>{s(),i&&i(),n.owner&&n.stop()})}sortNodePosition(t){return!this.current||!this.sortInstanceNodePosition||this.type!==t.type?0:this.sortInstanceNodePosition(this.current,t.current)}updateFeatures(){let t="animation";for(t in pu){const n=pu[t];if(!n)continue;const{isEnabled:r,Feature:s}=n;if(!this.features[t]&&s&&r(this.props)&&(this.features[t]=new s(this)),this.features[t]){const i=this.features[t];i.isMounted?i.update():(i.mount(),i.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):Fe()}getStaticValue(t){return this.latestValues[t]}setStaticValue(t,n){this.latestValues[t]=n}update(t,n){(t.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=t,this.prevPresenceContext=this.presenceContext,this.presenceContext=n;for(let r=0;r<nw.length;r++){const s=nw[r];this.propEventSubscriptions[s]&&(this.propEventSubscriptions[s](),delete this.propEventSubscriptions[s]);const i="on"+s,o=t[i];o&&(this.propEventSubscriptions[s]=this.on(s,o))}this.prevMotionValues=$U(this,this.scrapeMotionValuesFromProps(t,this.prevProps||{},this),this.prevMotionValues),this.handleChildMotionValue&&this.handleChildMotionValue()}getProps(){return this.props}getVariant(t){return this.props.variants?this.props.variants[t]:void 0}getDefaultTransition(){return this.props.transition}getTransformPagePoint(){return this.props.transformPagePoint}getClosestVariantNode(){return this.isVariantNode?this:this.parent?this.parent.getClosestVariantNode():void 0}addVariantChild(t){const n=this.getClosestVariantNode();if(n)return n.variantChildren&&n.variantChildren.add(t),()=>n.variantChildren.delete(t)}addValue(t,n){const r=this.values.get(t);n!==r&&(r&&this.removeValue(t),this.bindToMotionValue(t,n),this.values.set(t,n),this.latestValues[t]=n.get())}removeValue(t){this.values.delete(t);const n=this.valueSubscriptions.get(t);n&&(n(),this.valueSubscriptions.delete(t)),delete this.latestValues[t],this.removeValueFromRenderState(t,this.renderState)}hasValue(t){return this.values.has(t)}getValue(t,n){if(this.props.values&&this.props.values[t])return this.props.values[t];let r=this.values.get(t);return r===void 0&&n!==void 0&&(r=co(n===null?void 0:n,{owner:this}),this.addValue(t,r)),r}readValue(t,n){let r=this.latestValues[t]!==void 0||!this.current?this.latestValues[t]:this.getBaseTargetFromProps(this.props,t)??this.readValueFromInstance(this.current,t,this.options);
vendor: 10,121 bytes, line 194
194return r!=null&&(typeof r=="string"&&(tE(r)||rE(r))?r=parseFloat(r):!UU(r)&&fn.test(n)&&(r=GE(t,n)),this.setBaseTarget(t,rt(r)?r.get():r)),rt(r)?r.get():r}setBaseTarget(t,n){this.baseTarget[t]=n}getBaseTarget(t){var i;const{initial:n}=this.props;let r;if(typeof n=="string"||typeof n=="object"){const o=kb(this.props,n,(i=this.presenceContext)==null?void 0:i.custom);o&&(r=o[t])}if(n&&r!==void 0)return r;const s=this.getBaseTargetFromProps(this.props,t);return s!==void 0&&!rt(s)?s:this.initialValues[t]!==void 0&&r===void 0?void 0:this.baseTarget[t]}on(t,n){return this.events[t]||(this.events[t]=new pb),this.events[t].add(n)}notify(t,...n){this.events[t]&&this.events[t].notify(...n)}scheduleRenderMicrotask(){Db.render(this.render)}}class rA extends HU{constructor(){super(...arguments),this.KeyframeResolver=vU}sortInstanceNodePosition(t,n){return t.compareDocumentPosition(n)&2?1:-1}getBaseTargetFromProps(t,n){const r=t.style;return r?r[n]:void 0}removeValueFromRenderState(t,{vars:n,style:r}){delete n[t],delete r[t]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;rt(t)&&(this.childSubscription=t.on("change",n=>{this.current&&(this.current.textContent=`${n}`)}))}}class es{constructor(t){this.isMounted=!1,this.node=t}update(){}}function sA({top:e,left:t,right:n,bottom:r}){return{x:{min:t,max:n},y:{min:e,max:r}}}function GU({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function KU(e,t){if(!t)return e;const n=t({x:e.left,y:e.top}),r=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:r.y,right:r.x}}function lh(e){return e===void 0||e===1}function Ep({scale:e,scaleX:t,scaleY:n}){return!lh(e)||!lh(t)||!lh(n)}function hs(e){return Ep(e)||iA(e)||e.z||e.rotate||e.rotateX||e.rotateY||e.skewX||e.skewY}function iA(e){return rw(e.x)||rw(e.y)}function rw(e){return e&&e!=="0%"}function mu(e,t,n){const r=e-n,s=t*r;return n+s}function sw(e,t,n,r,s){return s!==void 0&&(e=mu(e,s,r)),mu(e,n,r)+t}function Ap(e,t=0,n=1,r,s){e.min=sw(e.min,t,n,r,s),e.max=sw(e.max,t,n,r,s)}function oA(e,{x:t,y:n}){Ap(e.x,t.translate,t.scale,t.originPoint),Ap(e.y,n.translate,n.scale,n.originPoint)}const iw=.999999999999,ow=1.0000000000001;function YU(e,t,n,r=!1){const s=n.length;if(!s)return;t.x=t.y=1;let i,o;for(let a=0;a<s;a++){i=n[a],o=i.projectionDelta;const{visualElement:l}=i.options;l&&l.props.style&&l.props.style.display==="contents"||(r&&i.options.layoutScroll&&i.scroll&&i!==i.root&&xi(e,{x:-i.scroll.offset.x,y:-i.scroll.offset.y}),o&&(t.x*=o.x.scale,t.y*=o.y.scale,oA(e,o)),r&&hs(i.latestValues)&&xi(e,i.latestValues))}t.x<ow&&t.x>iw&&(t.x=1),t.y<ow&&t.y>iw&&(t.y=1)}function Ai(e,t){e.min=e.min+t,e.max=e.max+t}function aw(e,t,n,r,s=.5){const i=Pe(e.min,e.max,s);Ap(e,t,n,i,r)}function xi(e,t){aw(e.x,t.x,t.scaleX,t.scale,t.originX),aw(e.y,t.y,t.scaleY,t.scale,t.originY)}function aA(e,t){return sA(KU(e.getBoundingClientRect(),t))}function QU(e,t,n){const r=aA(e,n),{scroll:s}=t;return s&&(Ai(r.x,s.offset.x),Ai(r.y,s.offset.y)),r}const JU={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},XU=So.length;function ZU(e,t,n){let r="",s=!0;for(let i=0;i<XU;i++){const o=So[i],a=e[o];if(a===void 0)continue;let l=!0;if(typeof a=="number")l=a===(o.startsWith("scale")?1:0);else{const c=parseFloat(a);l=o.startsWith("scale")?c===1:c===0}if(!l||n){const c=YE(a,Rb[o]);if(!l){s=!1;const u=JU[o]||o;r+=`${u}(${c}) `}n&&(t[o]=c)}}return r=r.trim(),n?r=n(t,s?"":r):s&&(r="none"),r}function Mb(e,t,n){const{style:r,vars:s,transformOrigin:i}=e;let o=!1,a=!1;for(const l in t){const c=t[l];if(Po.has(l)){o=!0;continue}else if(yE(l)){s[l]=c;continue}else{const u=YE(c,Rb[l]);l.startsWith("origin")?(a=!0,i[l]=u):r[l]=u}}if(t.transform||(o||n?r.transform=ZU(t,e.transform,n):r.transform&&(r.transform="none")),a){const{originX:l="50%",originY:c="50%",originZ:u=0}=i;r.transformOrigin=`${l} ${c} ${u}`}}function lA(e,{style:t,vars:n},r,s){const i=e.style;let o;for(o in t)i[o]=t[o];s==null||s.applyProjectionStyles(i,r);for(o in n)i.setProperty(o,n[o])}function lw(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const jo={correct:(e,t)=>{if(!t.target)return e;if(typeof e=="string")if($.test(e))e=parseFloat(e);else return e;const n=lw(e,t.target.x),r=lw(e,t.target.y);return`${n}% ${r}%`}},eV={correct:(e,{treeScale:t,projectionDelta:n})=>{const r=e,s=fn.parse(e);if(s.length>5)return r;const i=fn.createTransformer(e),o=typeof s[0]!="number"?1:0,a=n.x.scale*t.x,l=n.y.scale*t.y;s[0+o]/=a,s[1+o]/=l;const c=Pe(a,l,.5);return typeof s[2+o]=="number"&&(s[2+o]/=c),typeof s[3+o]=="number"&&(s[3+o]/=c),i(s)}},xp={borderRadius:{...jo,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:jo,borderTopRightRadius:jo,borderBottomLeftRadius:jo,borderBottomRightRadius:jo,boxShadow:eV};function cA(e,{layout:t,layoutId:n}){return Po.has(e)||e.startsWith("origin")||(t||n!==void 0)&&(!!xp[e]||e==="opacity")}function Fb(e,t,n){var o;const r=e.style,s=t==null?void 0:t.style,i={};if(!r)return i;for(const a in r)(rt(r[a])||s&&rt(s[a])||cA(a,e)||((o=n==null?void 0:n.getValue(a))==null?void 0:o.liveStyle)!==void 0)&&(i[a]=r[a]);return i}function tV(e){return window.getComputedStyle(e)}class nV extends rA{constructor(){super(...arguments),this.type="html",this.renderInstance=lA}readValueFromInstance(t,n){var r;if(Po.has(n))return(r=this.projection)!=null&&r.isProjecting?hp(n):SB(t,n);{const s=tV(t),i=(yE(n)?s.getPropertyValue(n):s[n])||0;return typeof i=="string"?i.trim():i}}measureInstanceViewportBox(t,{transformPagePoint:n}){return aA(t,n)}build(t,n,r){Mb(t,n,r.transformTemplate)}scrapeMotionValuesFromProps(t,n,r){return Fb(t,n,r)}}const rV={offset:"stroke-dashoffset",array:"stroke-dasharray"},sV={offset:"strokeDashoffset",array:"strokeDasharray"};function iV(e,t,n=1,r=0,s=!0){e.pathLength=1;const i=s?rV:sV;e[i.offset]=`${-r}`,e[i.array]=`${t} ${n}`}const oV=["offsetDistance","offsetPath","offsetRotate","offsetAnchor"];function uA(e,{attrX:t,attrY:n,attrScale:r,pathLength:s,pathSpacing:i=1,pathOffset:o=0,...a},l,c,u){if(Mb(e,a,c),l){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};const{attrs:d,style:h}=e;d.transform&&(h.transform=d.transform,delete d.transform),(h.transform||d.transformOrigin)&&(h.transformOrigin=d.transformOrigin??"50% 50%",delete d.transformOrigin),h.transform&&(h.transformBox=(u==null?void 0:u.transformBox)??"fill-box",delete d.transformBox);for(const f of oV)d[f]!==void 0&&(h[f]=d[f],delete d[f]);t!==void 0&&(d.x=t),n!==void 0&&(d.y=n),r!==void 0&&(d.scale=r),s!==void 0&&iV(d,s,i,o,!1)}const dA=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]),hA=e=>typeof e=="string"&&e.toLowerCase()==="svg";function aV(e,t,n,r){lA(e,t,void 0,r);for(const s in t.attrs)e.setAttribute(dA.has(s)?s:_b(s),t.attrs[s])}function fA(e,t,n){const r=Fb(e,t,n);for(const s in e)if(rt(e[s])||rt(t[s])){const i=So.indexOf(s)!==-1?"attr"+s.charAt(0).toUpperCase()+s.substring(1):s;r[i]=e[s]}return r}class lV extends rA{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=Fe}getBaseTargetFromProps(t,n){return t[n]}readValueFromInstance(t,n){if(Po.has(n)){const r=HE(n);return r&&r.default||0}return n=dA.has(n)?n:_b(n),t.getAttribute(n)}scrapeMotionValuesFromProps(t,n,r){return fA(t,n,r)}build(t,n,r){uA(t,n,this.isSVGTag,r.transformTemplate,r.style)}renderInstance(t,n,r,s){aV(t,n,r,s)}mount(t){this.isSVGTag=hA(t.tagName),super.mount(t)}}const cV=Lb.length;function pA(e){if(!e)return;if(!e.isControllingVariants){const n=e.parent?pA(e.parent)||{}:{};return e.props.initial!==void 0&&(n.initial=e.props.initial),n}const t={};for(let n=0;n<cV;n++){const r=Lb[n],s=e.props[r];(Ga(s)||s===!1)&&(t[r]=s)}return t}function mA(e,t){if(!Array.isArray(t))return!1;const n=t.length;if(n!==e.length)return!1;for(let r=0;r<n;r++)if(t[r]!==e[r])return!1;return!0}const uV=[...Ob].reverse(),dV=Ob.length;function hV(e){return t=>Promise.all(t.map(({animation:n,options:r})=>lU(e,n,r)))}function fV(e){let t=hV(e),n=cw(),r=!0;const s=l=>(c,u)=>{var h;const d=Ui(e,u,l==="exit"?(h=e.presenceContext)==null?void 0:h.custom:void 0);if(d){const{transition:f,transitionEnd:m,...b}=d;c={...c,...b,...m}}return c};function i(l){t=l(e)}function o(l){const{props:c}=e,u=pA(e.parent)||{},d=[],h=new Set;let f={},m=1/0;for(let w=0;w<dV;w++){const y=uV[w],g=n[y],v=c[y]!==void 0?c[y]:u[y],P=Ga(v),T=y===l?g.isActive:null;T===!1&&(m=w);let C=v===u[y]&&v!==c[y]&&P;if(C&&r&&e.manuallyAnimateOnMount&&(C=!1),g.protectedKeys={...f},!g.isActive&&T===null||!v&&!g.prevProp||Zu(v)||typeof v=="boolean")continue;if(y==="exit"&&g.isActive&&T!==!0){g.prevResolvedValues&&(f={...f,...g.prevResolvedValues});continue}const A=pV(g.prevProp,v);let x=A||y===l&&g.isActive&&!C&&P||w>m&&P,k=!1;const R=Array.isArray(v)?v:[v];let F=R.reduce(s(y),{});T===!1&&(F={});const{prevResolvedValues:O={}}=g,q={...O,...F},j=W=>{x=!0,h.has(W)&&(k=!0,h.delete(W)),g.needsAnimating[W]=!0;const _=e.getValue(W);_&&(_.liveStyle=!1)};for(const W in q){const _=F[W],D=O[W];if(f.hasOwnProperty(W))continue;let B=!1;yp(_)&&yp(D)?B=!mA(_,D):B=_!==D,B?_!=null?j(W):h.add(W):_!==void 0&&h.has(W)?j(W):g.protectedKeys[W]=!0}g.prevProp=v,g.prevResolvedValues=F,g.isActive&&(f={...f,...F}),r&&e.blockInitialAnimation&&(x=!1);const ee=C&&A;x&&(!ee||k)&&d.push(...R.map(W=>{const _={type:y};if(typeof W=="string"&&r&&!ee&&e.manuallyAnimateOnMount&&e.parent){const{parent:D}=e,B=Ui(D,W);if(D.enteringChildren&&B){const{delayChildren:J}=B.transition||{};_.delay=FE(D.enteringChildren,e,J)}}return{animation:W,options:_}}))}if(h.size){const w={};if(typeof c.initial!="boolean"){const y=Ui(e,Array.isArray(c.initial)?c.initial[0]:c.initial);y&&y.transition&&(w.transition=y.transition)}
vendor: 4,559 bytes, line 194
194h.forEach(y=>{const g=e.getBaseTarget(y),v=e.getValue(y);v&&(v.liveStyle=!0),w[y]=g??null}),d.push({animation:w})}let b=!!d.length;return r&&(c.initial===!1||c.initial===c.animate)&&!e.manuallyAnimateOnMount&&(b=!1),r=!1,b?t(d):Promise.resolve()}function a(l,c){var d;if(n[l].isActive===c)return Promise.resolve();(d=e.variantChildren)==null||d.forEach(h=>{var f;return(f=h.animationState)==null?void 0:f.setActive(l,c)}),n[l].isActive=c;const u=o(l);for(const h in n)n[h].protectedKeys={};return u}return{animateChanges:o,setActive:a,setAnimateFunction:i,getState:()=>n,reset:()=>{n=cw()}}}function pV(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!mA(t,e):!1}function ls(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function cw(){return{animate:ls(!0),whileInView:ls(),whileHover:ls(),whileTap:ls(),whileDrag:ls(),whileFocus:ls(),exit:ls()}}function uw(e,t){e.min=t.min,e.max=t.max}function Jt(e,t){uw(e.x,t.x),uw(e.y,t.y)}function dw(e,t){e.translate=t.translate,e.scale=t.scale,e.originPoint=t.originPoint,e.origin=t.origin}const bA=1e-4,mV=1-bA,bV=1+bA,gA=.01,gV=0-gA,yV=0+gA;function ct(e){return e.max-e.min}function vV(e,t,n){return Math.abs(e-t)<=n}function hw(e,t,n,r=.5){e.origin=r,e.originPoint=Pe(t.min,t.max,e.origin),e.scale=ct(n)/ct(t),e.translate=Pe(n.min,n.max,e.origin)-e.originPoint,(e.scale>=mV&&e.scale<=bV||isNaN(e.scale))&&(e.scale=1),(e.translate>=gV&&e.translate<=yV||isNaN(e.translate))&&(e.translate=0)}function da(e,t,n,r){hw(e.x,t.x,n.x,r?r.originX:void 0),hw(e.y,t.y,n.y,r?r.originY:void 0)}function fw(e,t,n){e.min=n.min+t.min,e.max=e.min+ct(t)}function wV(e,t,n){fw(e.x,t.x,n.x),fw(e.y,t.y,n.y)}function pw(e,t,n){e.min=t.min-n.min,e.max=e.min+ct(t)}function bu(e,t,n){pw(e.x,t.x,n.x),pw(e.y,t.y,n.y)}function mw(e,t,n,r,s){return e-=t,e=mu(e,1/n,r),s!==void 0&&(e=mu(e,1/s,r)),e}function SV(e,t=0,n=1,r=.5,s,i=e,o=e){if(_n.test(t)&&(t=parseFloat(t),t=Pe(o.min,o.max,t/100)-o.min),typeof t!="number")return;let a=Pe(i.min,i.max,r);e===i&&(a-=t),e.min=mw(e.min,t,n,a,s),e.max=mw(e.max,t,n,a,s)}function bw(e,t,[n,r,s],i,o){SV(e,t[n],t[r],t[s],t.scale,i,o)}const PV=["x","scaleX","originX"],TV=["y","scaleY","originY"];function gw(e,t,n,r){bw(e.x,t,PV,n?n.x:void 0,r?r.x:void 0),bw(e.y,t,TV,n?n.y:void 0,r?r.y:void 0)}function yw(e){return e.translate===0&&e.scale===1}function yA(e){return yw(e.x)&&yw(e.y)}function vw(e,t){return e.min===t.min&&e.max===t.max}function CV(e,t){return vw(e.x,t.x)&&vw(e.y,t.y)}function ww(e,t){return Math.round(e.min)===Math.round(t.min)&&Math.round(e.max)===Math.round(t.max)}function vA(e,t){return ww(e.x,t.x)&&ww(e.y,t.y)}function Sw(e){return ct(e.x)/ct(e.y)}function Pw(e,t){return e.translate===t.translate&&e.scale===t.scale&&e.originPoint===t.originPoint}function wn(e){return[e("x"),e("y")]}function EV(e,t,n){let r="";const s=e.x.translate/t.x,i=e.y.translate/t.y,o=(n==null?void 0:n.z)||0;if((s||i||o)&&(r=`translate3d(${s}px, ${i}px, ${o}px) `),(t.x!==1||t.y!==1)&&(r+=`scale(${1/t.x}, ${1/t.y}) `),n){const{transformPerspective:c,rotate:u,rotateX:d,rotateY:h,skewX:f,skewY:m}=n;c&&(r=`perspective(${c}px) ${r}`),u&&(r+=`rotate(${u}deg) `),d&&(r+=`rotateX(${d}deg) `),h&&(r+=`rotateY(${h}deg) `),f&&(r+=`skewX(${f}deg) `),m&&(r+=`skewY(${m}deg) `)}const a=e.x.scale*t.x,l=e.y.scale*t.y;return(a!==1||l!==1)&&(r+=`scale(${a}, ${l})`),r||"none"}const wA=["TopLeft","TopRight","BottomLeft","BottomRight"],AV=wA.length,Tw=e=>typeof e=="string"?parseFloat(e):e,Cw=e=>typeof e=="number"||$.test(e);function xV(e,t,n,r,s,i){s?(e.opacity=Pe(0,n.opacity??1,kV(r)),e.opacityExit=Pe(t.opacity??1,0,_V(r))):i&&(e.opacity=Pe(t.opacity??1,n.opacity??1,r));for(let o=0;o<AV;o++){const a=`border${wA[o]}Radius`;let l=Ew(t,a),c=Ew(n,a);if(l===void 0&&c===void 0)continue;l||(l=0),c||(c=0),l===0||c===0||Cw(l)===Cw(c)?(e[a]=Math.max(Pe(Tw(l),Tw(c),r),0),(_n.test(c)||_n.test(l))&&(e[a]+="%")):e[a]=c}(t.rotate||n.rotate)&&(e.rotate=Pe(t.rotate||0,n.rotate||0,r))}function Ew(e,t){return e[t]!==void 0?e[t]:e.borderRadius}const kV=SA(0,.5,hE),_V=SA(.5,.95,Wt);function SA(e,t,n){return r=>r<e?0:r>t?1:n(za(e,t,r))}function RV(e,t,n){const r=rt(e)?e:co(e);return r.start(xb("",r,t,n)),r.animation}function Ka(e,t,n,r={passive:!0}){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n)}const DV=(e,t)=>e.depth-t.depth;class NV{constructor(){this.children=[],this.isDirty=!1}add(t){hb(this.children,t),this.isDirty=!0}remove(t){uu(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(DV),this.isDirty=!1,this.children.forEac
194h(t)}}function IV(e,t){const n=lt.now(),r=({timestamp:s})=>{const i=s-n;i>=t&&(Kr(r),e(i-t))};return pe.setup(r,!0),()=>Kr(r)}function Cc(e){return rt(e)?e.get():e}class OV{constructor(){this.members=[]}add(t){hb(this.members,t);for(let n=this.members.length-1;n>=0;n--){const r=this.members[n];if(r===t||r===this.lead||r===this.prevLead)continue;const s=r.instance;s&&s.isConnected===!1&&r.isPresent!==!1&&!r.snapshot&&uu(this.members,r)}t.scheduleRender()}remove(t){if(uu(this.members,t),t===this.prevLead&&(this.prevLead=void 0),t===this.lead){const n=this.members[this.members.length-1];n&&this.promote(n)}}relegate(t){const n=this.members.findIndex(s=>t===s);if(n===0)return!1;let r;for(let s=n;s>=0;s--){const i=this.members[s],o=i.instance;if(i.isPresent!==!1&&(!o||o.isConnected!==!1)){r=i;break}}return r?(this.promote(r),!0):!1}promote(t,n){const r=this.lead;if(t!==r&&(this.prevLead=r,this.lead=t,t.show(),r)){r.instance&&r.scheduleRender(),t.scheduleRender();const s=r.options.layoutDependency,i=t.options.layoutDependency;if(!(s!==void 0&&i!==void 0&&s===i)){const l=r.instance;l&&l.isConnected===!1&&!r.snapshot||(t.resumeFrom=r,n&&(t.resumeFrom.preserveOpacity=!0),r.snapshot&&(t.snapshot=r.snapshot,t.snapshot.latestValues=r.animationValues||r.latestValues),t.root&&t.root.isUpdating&&(t.isLayoutDirty=!0))}const{crossfade:a}=t.options;a===!1&&r.hide()}}exitAnimationComplete(){this.members.forEach(t=>{const{options:n,resumingFrom:r}=t;n.onExitComplete&&n.onExitComplete(),r&&r.options.onExitComplete&&r.options.onExitComplete()})}scheduleRender(){this.members.forEach(t=>{t.instance&&t.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}const Ec={hasAnimatedSinceResize:!0,hasEverUpdated:!1},ch=["","X","Y","Z"],LV=1e3;let MV=0;function uh(e,t,n,r){const{latestValues:s}=t;s[e]&&(n[e]=s[e],t.setStaticValue(e,0),r&&(r[e]=0))}function PA(e){if(e.hasCheckedOptimisedAppear=!0,e.root===e)return;const{visualElement:t}=e.options;if(!t)return;const n=$E(t);if(window.MotionHasOptimisedAnimation(n,"transform")){const{layout:s,layoutId:i}=e.options;window.MotionCancelOptimisedAnimation(n,"transform",pe,!(s||i))}const{parent:r}=e;r&&!r.hasCheckedOptimisedAppear&&PA(r)}function TA({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:r,resetTransform:s}){return class{constructor(o={},a=t==null?void 0:t()){this.id=MV++,this.animationId=0,this.animationCommitId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.layoutVersion=0,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,this.nodes.forEach(BV),this.nodes.forEach(WV),this.nodes.forEach(zV),this.nodes.forEach(UV)},this.resolvedRelativeTargetAt=0,this.linkedParentVersion=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=o,this.root=a?a.root||a:this,this.path=a?[...a.path,a]:[],this.parent=a,this.depth=a?a.depth+1:0;for(let l=0;l<this.path.length;l++)this.path[l].shouldResetTransform=!0;this.root===this&&(this.nodes=new NV)}addEventListener(o,a){return this.eventHandlers.has(o)||this.eventHandlers.set(o,new pb),this.eventHandlers.get(o).add(a)}notifyListeners(o,...a){const l=this.eventHandlers.get(o);l&&l.notify(...a)}hasListeners(o){return this.eventHandlers.has(o)}mount(o){if(this.instance)return;this.isSVG=Ib(o)&&!jU(o),this.instance=o;const{layoutId:a,layout:l,visualElement:c}=this.options;if(c&&!c.current&&c.mount(o),this.root.nodes.add(this),this.parent&&this.parent.children.add(this),this.root.hasTreeAnimated&&(l||a)&&(this.isLayoutDirty=!0),e){let u,d=0;const h=()=>this.root.updateBlockedByResize=!1;pe.read(()=>{d=window.innerWidth}),e(o,()=>{const f=window.innerWidth;f!==d&&(d=f,this.root.updateBlockedByResize=!0,u&&u(),u=IV(h,250),Ec.hasAnimatedSinceResize&&(Ec.hasAnimatedSinceResize=!1,this.nodes.forEac
vendor: 4,306 bytes, line 194
194h(kw)))})}a&&this.root.registerSharedNode(a,this),this.options.animate!==!1&&c&&(a||l)&&this.addEventListener("didUpdate",({delta:u,hasLayoutChanged:d,hasRelativeLayoutChanged:h,layout:f})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const m=this.options.transition||c.getDefaultTransition()||YV,{onLayoutAnimationStart:b,onLayoutAnimationComplete:w}=c.getProps(),y=!this.targetLayout||!vA(this.targetLayout,f),g=!d&&h;if(this.options.layoutRoot||this.resumeFrom||g||d&&(y||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0);const v={...Ab(m,"layout"),onPlay:b,onComplete:w};(c.shouldReduceMotion||this.options.layoutRoot)&&(v.delay=0,v.type=!1),this.startAnimation(v),this.setAnimationOrigin(u,g)}else d||kw(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=f})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const o=this.getStack();o&&o.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,this.eventHandlers.clear(),Kr(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(qV),this.animationId++)}getTransformTemplate(){const{visualElement:o}=this.options;return o&&o.getProps().transformTemplate}willUpdate(o=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&PA(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let u=0;u<this.path.length;u++){const d=this.path[u];d.shouldResetTransform=!0,d.updateScroll("snapshot"),d.options.layoutRoot&&d.willUpdate(!1)}const{layoutId:a,layout:l}=this.options;if(a===void 0&&!l)return;const c=this.getTransformTemplate();this.prevTransformTemplateValue=c?c(this.latestValues,""):void 0,this.updateSnapshot(),o&&this.notifyListeners("willUpdate")}update(){if(this.updateScheduled=!1,this.isUpdateBlocked()){this.unblockUpdate(),this.clearAllSnapshots(),this.nodes.forEach(Aw);return}if(this.animationId<=this.animationCommitId){this.nodes.forEach(xw);return}this.animationCommitId=this.animationId,this.isUpdating?(this.isUpdating=!1,this.nodes.forEach($V),this.nodes.forEach(FV),this.nodes.forEach(jV)):this.nodes.forEach(xw),this.clearAllSnapshots();const a=lt.now();He.delta=Dn(0,1e3/60,a-He.timestamp),He.timestamp=a,He.isProcessing=!0,th.update.process(He),th.preRender.process(He),th.render.process(He),He.isProcessing=!1}didUpdate(){this.updateScheduled||(this.updateScheduled=!0,Db.read(this.scheduleUpdate))}clearAllSnapshots(){this.nodes.forEach(VV),this.sharedNodes.forEach(HV)}scheduleUpdateProjection(){this.projectionUpdateScheduled||(this.projectionUpdateScheduled=!0,pe.preRender(this.updateProjection,!1,!0))}scheduleCheckAfterUnmount(){pe.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure(),this.snapshot&&!ct(this.snapshot.measuredBox.x)&&!ct(this.snapshot.measuredBox.y)&&(this.snapshot=void 0))}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let l=0;l<this.path.length;l++)this.path[l].updateScroll();const o=this.layout;this.layout=this.measure(!1),this.layoutVersion++,this.layoutCorrected=Fe(),this.isLayoutDirty=!1,this.projectionDelta=void 0,this.notifyListeners("measure",this.layout.layoutBox);const{visualElement:a}=this.options;a&&a.notify("LayoutMeasure",this.layout.layoutBox,o?o.layoutBox:void 0)}updateScroll(o="measure"){let a=!!(this.options.layoutScroll&&this.instance);if(this.scroll&&this.scroll.animationId===this.root.animationId&&this.scroll.phase===o&&(a=!1),a&&this.instance){const l=r(this.instance);
194this.scroll={animationId:this.root.animationId,phase:o,isRoot:l,offset:n(this.instance),wasRoot:this.scroll?this.scroll.isRoot:l}}}resetTransform(){if(!s)return;const o=this.isLayoutDirty||this.shouldResetTransform||this.options.alwaysMeasureLayout,a=this.projectionDelta&&!yA(this.projectionDelta),l=this.getTransformTemplate(),c=l?l(this.latestValues,""):void 0,u=c!==this.prevTransformTemplateValue;o&&this.instance&&(a||hs(this.latestValues)||u)&&(s(this.instance,c),this.shouldResetTransform=!1,this.scheduleRender())}measure(o=!0){const a=this.measurePageBox();let l=this.removeElementScroll(a);return o&&(l=this.removeTransform(l)),QV(l),{animationId:this.root.animationId,measuredBox:a,layoutBox:l,latestValues:{},source:this.id}}measurePageBox(){var c;const{visualElement:o}=this.options;if(!o)return Fe();const a=o.measureViewportBox();if(!(((c=this.scroll)==null?void 0:c.wasRoot)||this.path.some(JV))){const{scroll:u}=this.root;u&&(Ai(a.x,u.offset.x),Ai(a.y,u.offset.y))}return a}removeElementScroll(o){var l;const a=Fe();if(Jt(a,o),(l=this.scroll)!=null&&l.wasRoot)return a;for(let c=0;c<this.path.length;c++){const u=this.path[c],{scroll:d,options:h}=u;u!==this.root&&d&&h.layoutScroll&&(d.wasRoot&&Jt(a,o),Ai(a.x,d.offset.x),Ai(a.y,d.offset.y))}return a}applyTransform(o,a=!1){const l=Fe();Jt(l,o);for(let c=0;c<this.path.length;c++){const u=this.path[c];!a&&u.options.layoutScroll&&u.scroll&&u!==u.root&&xi(l,{x:-u.scroll.offset.x,y:-u.scroll.offset.y}),hs(u.latestValues)&&xi(l,u.latestValues)}return hs(this.latestValues)&&xi(l,this.latestValues),l}removeTransform(o){const a=Fe();Jt(a,o);for(let l=0;l<this.path.length;l++){const c=this.path[l];if(!c.instance||!hs(c.latestValues))continue;Ep(c.latestValues)&&c.updateSnapshot();const u=Fe(),d=c.measurePageBox();Jt(u,d),gw(a,c.latestValues,c.snapshot?c.snapshot.layoutBox:void 0,u)}return hs(this.latestValues)&&gw(a,this.latestValues),a}setTargetDelta(o){this.targetDelta=o,this.root.scheduleUpdateProjection(),this.isProjectionDirty=!0}setOptions(o){this.options={...this.options,...o,crossfade:o.crossfade!==void 0?o.crossfade:!0}}clearMeasurements(){this.scroll=void 0,this.layout=void 0,this.snapshot=void 0,this.prevTransformTemplateValue=void 0,this.targetDelta=void 0,this.target=void 0,this.isLayoutDirty=!1}forceRelativeParentToResolveTarget(){this.relativeParent&&this.relativeParent.resolvedRelativeTargetAt!==He.timestamp&&this.relativeParent.resolveTargetDelta(!0)}resolveTargetDelta(o=!1){var f;const a=this.getLead();this.isProjectionDirty||(this.isProjectionDirty=a.isProjectionDirty),this.isTransformDirty||(this.isTransformDirty=a.isTransformDirty),this.isSharedProjectionDirty||(this.isSharedProjectionDirty=a.isSharedProjectionDirty);const l=!!this.resumingFrom||this!==a;if(!(o||l&&this.isSharedProjectionDirty||this.isProjectionDirty||(f=this.parent)!=null&&f.isProjectionDirty||this.attemptToResolveRelativeTarget||this.root.updateBlockedByResize))return;const{layout:u,layoutId:d}=this.options;if(!this.layout||!(u||d))return;this.resolvedRelativeTargetAt=He.timestamp;const h=this.getClosestProjectingParent();h&&this.linkedParentVersion!==h.layoutVersion&&!h.options.layoutRoot&&this.removeRelativeTarget(),!this.targetDelta&&!this.relativeTarget&&(h&&h.layout?this.createRelativeTarget(h,this.layout.layoutBox,h.layout.layoutBox):this.removeRelativeTarget()),!(!this.relativeTarget&&!this.targetDelta)&&(this.target||(this.target=Fe(),this.targetWithTransforms=Fe()),this.relativeTarget&&this.relativeTargetOrigin&&this.relativeParent&&this.relativeParent.target?(this.forceRelativeParentToResolveTarget(),wV(this.target,this.relativeTarget,this.relativeParent.target)):this.targetDelta?(this.resumingFrom?this.target=this.applyTransform(this.layout.layoutBox):Jt(this.target,this.layout.layoutBox),oA(this.target,this.targetDelta)):Jt(this.target,this.layout.layoutBox),this.attemptToResolveRelativeTarget&&(this.attemptToResolveRelativeTarget=!1,h&&!!h.resumingFrom==!!this.resumingFrom&&!h.options.layoutScroll&&h.target&&this.animationProgress!==1?this.createRelativeTarget(h,this.target,h.target):this.relativeParent=this.relativeTarget=void 0))}getClosestProjectingParent(){if(!(!this.parent||Ep(this.parent.latestValues)||iA(this.parent.latestValues)))return this.parent.isProjecting()?this.parent:this.parent.getClosestProjectingParent()}isProjecting(){return!!((this.relativeTarget||this.targetDelta||this.options.layoutRoot)&&this.layout)}createRelativeTarget(o,a,l){this.relativeParent=o,this.linkedParentVersion=o.layoutVersion,this.forceRelativeParentToResolveTarget(),this.relativeTarget=Fe(),this.relativeTargetOrigin=Fe(),bu(this.relativeTargetOrigin,a,l),Jt(this.relativeTarget,this.relativeTargetOrigin)}removeRelativeTarget(){this.relativeParent=this.relativeTarget=void 0}calcProjection(){var m;const o=this.getLead(),a=!!this.resumingFrom||this!==o;let l=!0;if((this.isProjectionDirty||(m=this.parent)!=null&&m.isProjectionDirty)&&
vendor: 5,271 bytes, line 194
194(l=!1),a&&(this.isSharedProjectionDirty||this.isTransformDirty)&&(l=!1),this.resolvedRelativeTargetAt===He.timestamp&&(l=!1),l)return;const{layout:c,layoutId:u}=this.options;if(this.isTreeAnimating=!!(this.parent&&this.parent.isTreeAnimating||this.currentAnimation||this.pendingAnimation),this.isTreeAnimating||(this.targetDelta=this.relativeTarget=void 0),!this.layout||!(c||u))return;Jt(this.layoutCorrected,this.layout.layoutBox);const d=this.treeScale.x,h=this.treeScale.y;YU(this.layoutCorrected,this.treeScale,this.path,a),o.layout&&!o.target&&(this.treeScale.x!==1||this.treeScale.y!==1)&&(o.target=o.layout.layoutBox,o.targetWithTransforms=Fe());const{target:f}=o;if(!f){this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender());return}!this.projectionDelta||!this.prevProjectionDelta?this.createProjectionDeltas():(dw(this.prevProjectionDelta.x,this.projectionDelta.x),dw(this.prevProjectionDelta.y,this.projectionDelta.y)),da(this.projectionDelta,this.layoutCorrected,f,this.latestValues),(this.treeScale.x!==d||this.treeScale.y!==h||!Pw(this.projectionDelta.x,this.prevProjectionDelta.x)||!Pw(this.projectionDelta.y,this.prevProjectionDelta.y))&&(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners("projectionUpdate",f))}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(o=!0){var a;if((a=this.options.visualElement)==null||a.scheduleRender(),o){const l=this.getStack();l&&l.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta=Ei(),this.projectionDelta=Ei(),this.projectionDeltaWithTransform=Ei()}setAnimationOrigin(o,a=!1){const l=this.snapshot,c=l?l.latestValues:{},u={...this.latestValues},d=Ei();(!this.relativeParent||!this.relativeParent.options.layoutRoot)&&(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!a;const h=Fe(),f=l?l.source:void 0,m=this.layout?this.layout.source:void 0,b=f!==m,w=this.getStack(),y=!w||w.members.length<=1,g=!!(b&&!y&&this.options.crossfade===!0&&!this.path.some(KV));this.animationProgress=0;let v;this.mixTargetDelta=P=>{const T=P/1e3;_w(d.x,o.x,T),_w(d.y,o.y,T),this.setTargetDelta(d),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(bu(h,this.layout.layoutBox,this.relativeParent.layout.layoutBox),GV(this.relativeTarget,this.relativeTargetOrigin,h,T),v&&CV(this.relativeTarget,v)&&(this.isProjectionDirty=!1),v||(v=Fe()),Jt(v,this.relativeTarget)),b&&(this.animationValues=u,xV(u,c,this.latestValues,T,g,y)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=T},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(o){var a,l,c;this.notifyListeners("animationStart"),(a=this.currentAnimation)==null||a.stop(),(c=(l=this.resumingFrom)==null?void 0:l.currentAnimation)==null||c.stop(),this.pendingAnimation&&(Kr(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=pe.update(()=>{Ec.hasAnimatedSinceResize=!0,this.motionValue||(this.motionValue=co(0)),this.currentAnimation=RV(this.motionValue,[0,1e3],{...o,velocity:0,isSync:!0,onUpdate:u=>{this.mixTargetDelta(u),o.onUpdate&&o.onUpdate(u)},onStop:()=>{},onComplete:()=>{o.onComplete&&o.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const o=this.getStack();o&&o.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(LV),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const o=this.getLead();let{targetWithTransforms:a,target:l,layout:c,latestValues:u}=o;if(!(!a||!l||!c)){if(this!==o&&this.layout&&c&&CA(this.options.animationType,this.layout.layoutBox,c.layoutBox)){l=this.target||Fe();const d=ct(this.layout.layoutBox.x);l.x.min=o.target.x.min,l.x.max=l.x.min+d;const h=ct(this.layout.layoutBox.y);l.y.min=o.target.y.min,l.y.max=l.y.min+h}Jt(a,l),xi(a,u),da(this.projectionDeltaWithTransform,this.layoutCorrected,a,u)}}registerSharedNode(o,a){this.sharedNodes.has(o)||this.sharedNodes.set(o,new OV),this.sharedNodes.get(o).add(a);const c=a.options.initialPromotionConfig;a.promote({transition:c?c.transition:void 0,preserveFollowOpacity:c&&c.shouldPreserveFollowOpacity?c.shouldPreserveFollowOpacity(a):void 0})}isLead(){const o=this.getStack();return o?o.lead===this:!0}getLead(){var a;const{layoutId:o}=this.options;return o?((a=this.getStack())==null?void 0:a.lead)||this:this}getPrevLead(){var a;const{layoutId:o}=this.options;return o?(a=this.getStack())==null?void 0:a.prevLead:void 0}getStack(){const{layoutId:o}=this.options;if(o)return this.root.sharedNodes.get(o)}promote({needsReset:o,transition:a,preserveFollowOpacity:l}={}){const c=this.getStack();c&&c.promote(this,l),o&&(this.projectionDelta=void 0,this.needsReset=!0),a&&this.setOptions({transition:a})}relegate(){const o=this.getStack();return o?o.relegate(this):!1}
vendor: 4,211 bytes, line 194
194resetSkewAndRotation(){const{visualElement:o}=this.options;if(!o)return;let a=!1;const{latestValues:l}=o;if((l.z||l.rotate||l.rotateX||l.rotateY||l.rotateZ||l.skewX||l.skewY)&&(a=!0),!a)return;const c={};l.z&&uh("z",o,c,this.animationValues);for(let u=0;u<ch.length;u++)uh(`rotate${ch[u]}`,o,c,this.animationValues),uh(`skew${ch[u]}`,o,c,this.animationValues);o.render();for(const u in c)o.setStaticValue(u,c[u]),this.animationValues&&(this.animationValues[u]=c[u]);o.scheduleRender()}applyProjectionStyles(o,a){if(!this.instance||this.isSVG)return;if(!this.isVisible){o.visibility="hidden";return}const l=this.getTransformTemplate();if(this.needsReset){this.needsReset=!1,o.visibility="",o.opacity="",o.pointerEvents=Cc(a==null?void 0:a.pointerEvents)||"",o.transform=l?l(this.latestValues,""):"none";return}const c=this.getLead();if(!this.projectionDelta||!this.layout||!c.target){this.options.layoutId&&(o.opacity=this.latestValues.opacity!==void 0?this.latestValues.opacity:1,o.pointerEvents=Cc(a==null?void 0:a.pointerEvents)||""),this.hasProjected&&!hs(this.latestValues)&&(o.transform=l?l({},""):"none",this.hasProjected=!1);return}o.visibility="";const u=c.animationValues||c.latestValues;this.applyTransformsToTarget();let d=EV(this.projectionDeltaWithTransform,this.treeScale,u);l&&(d=l(u,d)),o.transform=d;const{x:h,y:f}=this.projectionDelta;o.transformOrigin=`${h.origin*100}% ${f.origin*100}% 0`,c.animationValues?o.opacity=c===this?u.opacity??this.latestValues.opacity??1:this.preserveOpacity?this.latestValues.opacity:u.opacityExit:o.opacity=c===this?u.opacity!==void 0?u.opacity:"":u.opacityExit!==void 0?u.opacityExit:0;for(const m in xp){if(u[m]===void 0)continue;const{correct:b,applyTo:w,isCSSVariable:y}=xp[m],g=d==="none"?u[m]:b(u[m],c);if(w){const v=w.length;for(let P=0;P<v;P++)o[w[P]]=g}else y?this.options.visualElement.renderState.vars[m]=g:o[m]=g}this.options.layoutId&&(o.pointerEvents=c===this?Cc(a==null?void 0:a.pointerEvents)||"":"none")}clearSnapshot(){this.resumeFrom=this.snapshot=void 0}resetTree(){this.root.nodes.forEach(o=>{var a;return(a=o.currentAnimation)==null?void 0:a.stop()}),this.root.nodes.forEach(Aw),this.root.sharedNodes.clear()}}}function FV(e){e.updateLayout()}function jV(e){var n;const t=((n=e.resumeFrom)==null?void 0:n.snapshot)||e.snapshot;if(e.isLead()&&e.layout&&t&&e.hasListeners("didUpdate")){const{layoutBox:r,measuredBox:s}=e.layout,{animationType:i}=e.options,o=t.source!==e.layout.source;i==="size"?wn(d=>{const h=o?t.measuredBox[d]:t.layoutBox[d],f=ct(h);h.min=r[d].min,h.max=h.min+f}):CA(i,t.layoutBox,r)&&wn(d=>{const h=o?t.measuredBox[d]:t.layoutBox[d],f=ct(r[d]);h.max=h.min+f,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[d].max=e.relativeTarget[d].min+f)});const a=Ei();da(a,r,t.layoutBox);const l=Ei();o?da(l,e.applyTransform(s,!0),t.measuredBox):da(l,r,t.layoutBox);const c=!yA(a);let u=!1;if(!e.resumeFrom){const d=e.getClosestProjectingParent();if(d&&!d.resumeFrom){const{snapshot:h,layout:f}=d;if(h&&f){const m=Fe();bu(m,t.layoutBox,h.layoutBox);const b=Fe();bu(b,r,f.layoutBox),vA(m,b)||(u=!0),d.options.layoutRoot&&(e.relativeTarget=b,e.relativeTargetOrigin=m,e.relativeParent=d)}}}e.notifyListeners("didUpdate",{layout:r,snapshot:t,delta:l,layoutDelta:a,hasLayoutChanged:c,hasRelativeLayoutChanged:u})}else if(e.isLead()){const{onExitComplete:r}=e.options;r&&r()}e.options.transition=void 0}function BV(e){e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||(e.isSharedProjectionDirty=!!(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty)),e.isTransformDirty||(e.isTransformDirty=e.parent.isTransformDirty))}function UV(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function VV(e){e.clearSnapshot()}function Aw(e){e.clearMeasurements()}function xw(e){e.isLayoutDirty=!1}function $V(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function kw(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function WV(e){e.resolveTargetDelta()}function zV(e){e.calcProjection()}
194function qV(e){e.resetSkewAndRotation()}function HV(e){e.removeLeadSnapshot()}function _w(e,t,n){e.translate=Pe(t.translate,0,n),e.scale=Pe(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function Rw(e,t,n,r){e.min=Pe(t.min,n.min,r),e.max=Pe(t.max,n.max,r)}function GV(e,t,n,r){Rw(e.x,t.x,n.x,r),Rw(e.y,t.y,n.y,r)}function KV(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const YV={duration:.45,ease:[.4,0,.1,1]},Dw=e=>typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(e),Nw=Dw("applewebkit/")&&!Dw("chrome/")?Math.round:Wt;function Iw(e){e.min=Nw(e.min),e.max=Nw(e.max)}function QV(e){Iw(e.x),Iw(e.y)}function CA(e,t,n){return e==="position"||e==="preserve-aspect"&&!vV(Sw(t),Sw(n),.2)}function JV(e){var t;return e!==e.root&&((t=e.scroll)==null?void 0:t.wasRoot)}const XV=TA({attachResizeListener:(e,t)=>Ka(e,"resize",t),measureScroll:()=>{var e,t;return{x:document.documentElement.scrollLeft||((e=document.body)==null?void 0:e.scrollLeft)||0,y:document.documentElement.scrollTop||((t=document.body)==null?void 0:t.scrollTop)||0}},checkIsScrollRoot:()=>!0}),dh={current:void 0},EA=TA({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!dh.current){const e=new XV({});e.mount(window),e.setOptions({layoutScroll:!0}),dh.current=e}return dh.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:e=>window.getComputedStyle(e).position==="fixed"}),jb=p.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"});function Ow(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function ZV(...e){return t=>{let n=!1;const r=e.map(s=>{const i=Ow(s,t);return!n&&typeof i=="function"&&(n=!0),i});if(n)return()=>{for(let s=0;s<r.length;s++){const i=r[s];typeof i=="function"?i():Ow(e[s],null)}}}}function e2(...e){return p.useCallback(ZV(...e),e)}class t2 extends p.Component{getSnapshotBeforeUpdate(t){const n=this.props.childRef.current;if(n&&t.isPresent&&!this.props.isPresent&&this.props.pop!==!1){const r=n.offsetParent,s=Tp(r)&&r.offsetWidth||0,i=Tp(r)&&r.offsetHeight||0,o=this.props.sizeRef.current;o.height=n.offsetHeight||0,o.width=n.offsetWidth||0,o.top=n.offsetTop,o.left=n.offsetLeft,o.right=s-o.width-o.left,o.bottom=i-o.height-o.top}return null}componentDidUpdate(){}render(){return this.props.children}}function n2({children:e,isPresent:t,anchorX:n,anchorY:r,root:s,pop:i}){var h;const o=p.useId(),a=p.useRef(null),l=p.useRef({width:0,height:0,top:0,left:0,right:0,bottom:0}),{nonce:c}=p.useContext(jb),u=((h=e.props)==null?void 0:h.ref)??(e==null?void 0:e.ref),d=e2(a,u);return p.useInsertionEffect(()=>{const{width:f,height:m,top:b,left:w,right:y,bottom:g}=l.current;if(t||i===!1||!a.current||!f||!m)return;const v=n==="left"?`left: ${w}`:`right: ${y}`,P=r==="bottom"?`bottom: ${g}`:`top: ${b}`;a.current.dataset.motionPopId=o;const T=document.createElement("style");c&&(T.nonce=c);const C=s??document.head;return C.appendChild(T),T.sheet&&T.sheet.insertRule(`
195          [data-motion-pop-id="${o}"] {
196            position: absolute !important;
197            width: ${f}px !important;
198            height: ${m}px !important;
199            ${v}px !important;
200            ${P}px !important;
201          }
202        `),()=>{C.contains(T)&&C.removeChild(T)}},[t]),S.jsx(t2,{isPresent:t,childRef:a,sizeRef:l,pop:i,children:i===!1?e:p.cloneElement(e,{ref:d})})}const r2=({children:e,initial:t,isPresent:n,onExitComplete:r,custom:s,presenceAffectsLayout:i,mode:o,anchorX:a,anchorY:l,root:c})=>{const u=db(s2),d=p.useId();let h=!0,f=p.useMemo(()=>(h=!1,{id:d,initial:t,isPresent:n,custom:s,onExitComplete:m=>{u.set(m,!0);for(const b of u.values())if(!b)return;r&&r()},register:m=>(u.set(m,!1),()=>u.delete(m))}),[n,u,r]);return i&&h&&(f={...f}),p.useMemo(()=>{u.forEach((m,b)=>u.set(b,!1))},[n]),p.useEffect(()=>{!n&&!u.size&&r&&r()},[n]),e=S.jsx(n2,{pop:o==="popLayout",isPresent:n,anchorX:a,anchorY:l,root:c,children:e}),S.jsx(Xu.Provider,{value:f,children:e})};function s2(){return new Map}function AA(e=!0){const t=p.useContext(Xu);if(t===null)return[!0,null];const{isPresent:n,onExitComplete:r,register:s}=t,i=p.useId();p.useEffect(()=>{if(e)return s(i)},[e]);const o=p.useCallback(()=>e&&r&&r(i),[i,r,e]);return!n&&r?[!1,o]:[!0]}const Xl=e=>e.key||"";function Lw(e){const t=[];
vendor: 8,769 bytes, line 202
202return p.Children.forEach(e,n=>{p.isValidElement(n)&&t.push(n)}),t}const i2=({children:e,custom:t,initial:n=!0,onExitComplete:r,presenceAffectsLayout:s=!0,mode:i="sync",propagate:o=!1,anchorX:a="left",anchorY:l="top",root:c})=>{const[u,d]=AA(o),h=p.useMemo(()=>Lw(e),[e]),f=o&&!u?[]:h.map(Xl),m=p.useRef(!0),b=p.useRef(h),w=db(()=>new Map),y=p.useRef(new Set),[g,v]=p.useState(h),[P,T]=p.useState(h);eE(()=>{m.current=!1,b.current=h;for(let x=0;x<P.length;x++){const k=Xl(P[x]);f.includes(k)?(w.delete(k),y.current.delete(k)):w.get(k)!==!0&&w.set(k,!1)}},[P,f.length,f.join("-")]);const C=[];if(h!==g){let x=[...h];for(let k=0;k<P.length;k++){const R=P[k],F=Xl(R);f.includes(F)||(x.splice(k,0,R),C.push(R))}return i==="wait"&&C.length&&(x=C),T(Lw(x)),v(h),null}const{forceRender:A}=p.useContext(ub);return S.jsx(S.Fragment,{children:P.map(x=>{const k=Xl(x),R=o&&!u?!1:h===P||f.includes(k),F=()=>{if(y.current.has(k))return;if(y.current.add(k),w.has(k))w.set(k,!0);else return;let O=!0;w.forEach(q=>{q||(O=!1)}),O&&(A==null||A(),T(b.current),o&&(d==null||d()),r&&r())};return S.jsx(r2,{isPresent:R,initial:!m.current||n?void 0:!1,custom:t,presenceAffectsLayout:s,mode:i,root:c,onExitComplete:R?void 0:F,anchorX:a,anchorY:l,children:x},k)})})},xA=p.createContext({strict:!1}),Mw={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]};let Fw=!1;function o2(){if(Fw)return;const e={};for(const t in Mw)e[t]={isEnabled:n=>Mw[t].some(r=>!!n[r])};nA(e),Fw=!0}function kA(){return o2(),qU()}function a2(e){const t=kA();for(const n in e)t[n]={...t[n],...e[n]};nA(t)}const l2=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","custom","inherit","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","globalTapTarget","propagate","ignoreStrict","viewport"]);function gu(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||e.startsWith("onLayout")||l2.has(e)}let _A=e=>!gu(e);function c2(e){typeof e=="function"&&(_A=t=>t.startsWith("on")?!gu(t):e(t))}try{c2(require("@emotion/is-prop-valid").default)}catch{}function u2(e,t,n){const r={};for(const s in e)s==="values"&&typeof e.values=="object"||(_A(s)||n===!0&&gu(s)||!t&&!gu(s)||e.draggable&&s.startsWith("onDrag"))&&(r[s]=e[s]);return r}const td=p.createContext({});function d2(e,t){if(ed(e)){const{initial:n,animate:r}=e;return{initial:n===!1||Ga(n)?n:void 0,animate:Ga(r)?r:void 0}}return e.inherit!==!1?t:{}}function h2(e){const{initial:t,animate:n}=d2(e,p.useContext(td));return p.useMemo(()=>({initial:t,animate:n}),[jw(t),jw(n)])}function jw(e){return Array.isArray(e)?e.join(" "):e}const Bb=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function RA(e,t,n){for(const r in t)!rt(t[r])&&!cA(r,n)&&(e[r]=t[r])}function f2({transformTemplate:e},t){return p.useMemo(()=>{const n=Bb();return Mb(n,t,e),Object.assign({},n.vars,n.style)},[t])}function p2(e,t){const n=e.style||{},r={};return RA(r,n,e),Object.assign(r,f2(e,t)),r}function m2(e,t){const n={},r=p2(e,t);return e.drag&&e.dragListener!==!1&&(n.draggable=!1,r.userSelect=r.WebkitUserSelect=r.WebkitTouchCallout="none",r.touchAction=e.drag===!0?"none":`pan-${e.drag==="x"?"y":"x"}`),e.tabIndex===void 0&&(e.onTap||e.onTapStart||e.whileTap)&&(n.tabIndex=0),n.style=r,n}const DA=()=>({...Bb(),attrs:{}});function b2(e,t,n,r){const s=p.useMemo(()=>{const i=DA();return uA(i,t,hA(r),e.transformTemplate,e.style),{...i.attrs,style:{...i.style}}},[t]);if(e.style){const i={};RA(i,e.style,e),s.style={...i,...s.style}}return s}const g2=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function Ub(e){return typeof e!="string"||e.includes("-")?!1:!!(g2.indexOf(e)>-1||/[A-Z]/u.test(e))}function y2(e,t,n,{latestValues:r},s,i=!1,o){const l=(o??Ub(e)?b2:m2)(t,r,s,e),c=u2(t,typeof e=="string",i),u=e!==p.Fragment?{...c,...l,ref:n}:{},{children:d}=t,h=p.useMemo(()=>rt(d)?d.get():d,[d]);return p.createElement(e,{...u,children:h})}function v2({scrapeMotionValuesFromProps:e,createRenderState:t},n,r,s){return{latestValues:w2(n,r,s,e),renderState:t()}}function w2(e,t,n,r){const s={},i=r(e,{});for(const h in i)s[h]=Cc(i[h]);let{initial:o,animate:a}=e;const l=ed(e),c=eA(e);t&&c&&!l&&e.inherit!==!1&&(o===void 0&&(o=t.initial),a===void 0&&(a=t.animate));let u=n?n.initial===!1:!1;u=u||o===!1;const d=u?a:o;if(d&&typeof d!="boolean"&&!Zu(d)){const h=Array.isArray(d)?d:[d];for(let f=0;f<h.length;f++){const m=kb(e,h[f]);if(m){const{transitionEnd:b,transition:w,...y}=m;for(const g in y){let v=y[g];if(Array.isArray(v)){const P=u?v.length-1:0;v=v[P]}v!==null&&(s[g]=v)}for(const g in b)s[g]=b[g]}}}return s}const NA=e=>(t,n)=>{const r=p.useContext(td),s=p.useContext(Xu),i=()=>v2(e,t,r,s);return n?i():db(i)},S2=NA({scrapeMotionValuesFromProps:Fb,createRenderState:Bb}),P2=NA({scrapeMotionValuesFromProps:fA,createRenderState:DA}),T2=Symbol.for("motionComponentSymbol");function C2(e,t,n){const r=p.useRef(n);p.useInsertionEffect(()=>{r.current=n});const s=p.useRef(null);return p.useCallback(i=>{var a;i&&((a=e.onMount)==null||a.call(e,i)),t&&(i?t.mount(i):t.unmount());const o=r.current;if(typeof o=="function")if(i){const l=o(i);typeof l=="function"&&(s.current=l)}else s.current?(s.current(),s.current=null):o(i);else o&&(o.current=i)},[t])}const IA=p.createContext({});function ci(e){return e&&typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function E2(e,t,n,r,s,i){var v,P;const{visualElement:o}=p.useContext(td),a=p.useContext(xA),l=p.useContext(Xu),c=p.useContext(jb),u=c.reducedMotion,d=c.skipAnimations,h=p.useRef(null),f=p.useRef(!1);r=r||a.renderer,!h.current&&r&&(h.current=r(e,{visualState:t,parent:o,props:n,presenceContext:l,blockInitialAnimation:l?l.initial===!1:!1,reducedMotionConfig:u,skipAnimations:d,isSVG:i}),f.current&&h.current&&(h.current.manuallyAnimateOnMount=!0));const m=h.current,b=p.useContext(IA);m&&!m.projection&&s&&(m.type==="html"||m.type==="svg")&&A2(h.current,n,s,b);const w=p.useRef(!1);p.useInsertionEffect(()=>{m&&w.current&&m.update(n,l)});const y=n[VE],g=p.useRef(!!y&&!((v=window.MotionHandoffIsComplete)!=null&&v.call(window,y))&&((P=window.MotionHasOptimisedAnimation)==null?void 0:P.call(window,y)));return eE(()=>{f.current=!0,m&&(w.current=!0,window.MotionIsMounted=!0,m.updateFeatures(),m.scheduleRenderMicrotask(),g.current&&m.animationState&&m.animationState.animateChanges())}),p.useEffect(()=>{m&&(!g.current&&m.animationState&&m.animationState.animateChanges(),g.current&&(queueMicrotask(()=>{var T;(T=window.MotionHandoffMarkAsComplete)==null||T.call(window,y)}),g.current=!1),m.enteringChildren=void 0)}),m}function A2(e,t,n,r){const{layoutId:s,layout:i,drag:o,dragConstraints:a,layoutScroll:l,layoutRoot:c,layoutCrossfade:u}=t;e.projection=new n(e.latestValues,t["data-framer-portal-id"]?void 0:OA(e.parent)),e.projection.setOptions({layoutId:s,layout:i,alwaysMeasureLayout:!!o||a&&ci(a),visualElement:e,animationType:typeof i=="string"?i:"both",initialPromotionConfig:r,crossfade:u,layoutScroll:l,layoutRoot:c})}function OA(e){if(e)return e.options.allowProjection!==!1?e.projection:OA(e.parent)}function hh(e,{forwardMotionProps:t=!1,type:n}={},r,s){r&&a2(r);const i=n?n==="svg":Ub(e),o=i?P2:S2;function a(c,u){let d;const h={...p.useContext(jb),...c,layoutId:x2(c)},{isStatic:f}=h,m=h2(c),b=o(c,f);if(!f&&ZC){k2();const w=_2(h);d=w.MeasureLayout,m.visualElement=E2(e,b,h,s,w.ProjectionNode,i)}return S.jsxs(td.Provider,{value:m,children:[d&&m.visualElement?S.jsx(d,{visualElement:m.visualElement,...h}):null,y2(e,c,C2(b,m.visualElement,u),b,f,t,i)]})}a.displayName=`motion.${typeof e=="string"?e:`create(${e.displayName??e.name??""})`}`;const l=p.forwardRef(a);return l[T2]=e,l}function x2({layoutId:e}){const t=p.useContext(ub).id;return t&&e!==void 0?t+"-"+e:e}function k2(e,t){p.useContext(xA).strict}function _2(e){const t=kA(),{drag:n,layout:r}=t;if(!n&&!r)return{};const s={...n,...r};return{MeasureLayout:n!=null&&n.isEnabled(e)||r!=null&&r.isEnabled(e)?s.MeasureLayout:void 0,ProjectionNode:s.ProjectionNode}}
vendor: 17,693 bytes, line 202
202function R2(e,t){if(typeof Proxy>"u")return hh;const n=new Map,r=(i,o)=>hh(i,o,e,t),s=(i,o)=>r(i,o);return new Proxy(s,{get:(i,o)=>o==="create"?r:(n.has(o)||n.set(o,hh(o,void 0,e,t)),n.get(o))})}const D2=(e,t)=>t.isSVG??Ub(e)?new lV(t):new nV(t,{allowProjection:e!==p.Fragment});class N2 extends es{constructor(t){super(t),t.animationState||(t.animationState=fV(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();Zu(t)&&(this.unmountControls=t.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:t}=this.node.getProps(),{animate:n}=this.node.prevProps||{};t!==n&&this.updateAnimationControlsSubscription()}unmount(){var t;this.node.animationState.reset(),(t=this.unmountControls)==null||t.call(this)}}let I2=0;class O2 extends es{constructor(){super(...arguments),this.id=I2++}update(){if(!this.node.presenceContext)return;const{isPresent:t,onExitComplete:n}=this.node.presenceContext,{isPresent:r}=this.node.prevPresenceContext||{};if(!this.node.animationState||t===r)return;const s=this.node.animationState.setActive("exit",!t);n&&!t&&s.then(()=>{n(this.id)})}mount(){const{register:t,onExitComplete:n}=this.node.presenceContext||{};n&&n(this.id),t&&(this.unmount=t(this.id))}unmount(){}}const L2={animation:{Feature:N2},exit:{Feature:O2}};function ml(e){return{point:{x:e.pageX,y:e.pageY}}}const M2=e=>t=>Nb(t)&&e(t,ml(t));function ha(e,t,n,r){return Ka(e,t,M2(n),r)}const LA=({current:e})=>e?e.ownerDocument.defaultView:null,Bw=(e,t)=>Math.abs(e-t);function F2(e,t){const n=Bw(e.x,t.x),r=Bw(e.y,t.y);return Math.sqrt(n**2+r**2)}const Uw=new Set(["auto","scroll"]);class MA{constructor(t,n,{transformPagePoint:r,contextWindow:s=window,dragSnapToOrigin:i=!1,distanceThreshold:o=3,element:a}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.scrollPositions=new Map,this.removeScrollListeners=null,this.onElementScroll=f=>{this.handleScroll(f.target)},this.onWindowScroll=()=>{this.handleScroll(window)},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const f=ph(this.lastMoveEventInfo,this.history),m=this.startEvent!==null,b=F2(f.offset,{x:0,y:0})>=this.distanceThreshold;if(!m&&!b)return;const{point:w}=f,{timestamp:y}=He;this.history.push({...w,timestamp:y});const{onStart:g,onMove:v}=this.handlers;m||(g&&g(this.lastMoveEvent,f),this.startEvent=this.lastMoveEvent),v&&v(this.lastMoveEvent,f)},this.handlePointerMove=(f,m)=>{this.lastMoveEvent=f,this.lastMoveEventInfo=fh(m,this.transformPagePoint),pe.update(this.updatePoint,!0)},this.handlePointerUp=(f,m)=>{this.end();const{onEnd:b,onSessionEnd:w,resumeAnimation:y}=this.handlers;if((this.dragSnapToOrigin||!this.startEvent)&&y&&y(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const g=ph(f.type==="pointercancel"?this.lastMoveEventInfo:fh(m,this.transformPagePoint),this.history);this.startEvent&&b&&b(f,g),w&&w(f,g)},!Nb(t))return;this.dragSnapToOrigin=i,this.handlers=n,this.transformPagePoint=r,this.distanceThreshold=o,this.contextWindow=s||window;const l=ml(t),c=fh(l,this.transformPagePoint),{point:u}=c,{timestamp:d}=He;this.history=[{...u,timestamp:d}];const{onSessionStart:h}=n;h&&h(t,ph(c,this.history)),this.removeListeners=hl(ha(this.contextWindow,"pointermove",this.handlePointerMove),ha(this.contextWindow,"pointerup",this.handlePointerUp),ha(this.contextWindow,"pointercancel",this.handlePointerUp)),a&&this.startScrollTracking(a)}startScrollTracking(t){let n=t.parentElement;for(;n;){const r=getComputedStyle(n);(Uw.has(r.overflowX)||Uw.has(r.overflowY))&&this.scrollPositions.set(n,{x:n.scrollLeft,y:n.scrollTop}),n=n.parentElement}this.scrollPositions.set(window,{x:window.scrollX,y:window.scrollY}),window.addEventListener("scroll",this.onElementScroll,{capture:!0,passive:!0}),window.addEventListener("scroll",this.onWindowScroll,{passive:!0}),this.removeScrollListeners=()=>{window.removeEventListener("scroll",this.onElementScroll,{capture:!0}),window.removeEventListener("scroll",this.onWindowScroll)}}handleScroll(t){const n=this.scrollPositions.get(t);if(!n)return;const r=t===window,s=r?{x:window.scrollX,y:window.scrollY}:{x:t.scrollLeft,y:t.scrollTop},i={x:s.x-n.x,y:s.y-n.y};i.x===0&&i.y===0||(r?this.lastMoveEventInfo&&(this.lastMoveEventInfo.point.x+=i.x,this.lastMoveEventInfo.point.y+=i.y):this.history.length>0&&(this.history[0].x-=i.x,this.history[0].y-=i.y),this.scrollPositions.set(t,s),pe.update(this.updatePoint,!0))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),this.removeScrollListeners&&this.removeScrollListeners(),this.scrollPositions.clear(),Kr(this.updatePoint)}}function fh(e,t){return t?{point:t(e.point)}:e}function Vw(e,t){return{x:e.x-t.x,y:e.y-t.y}}function ph({point:e},t){return{point:e,delta:Vw(e,FA(t)),offset:Vw(e,j2(t)),velocity:B2(t,.1)}}function j2(e){return e[0]}function FA(e){return e[e.length-1]}function B2(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null;const s=FA(e);for(;n>=0&&(r=e[n],!(s.timestamp-r.timestamp>hn(t)));)n--;if(!r)return{x:0,y:0};r===e[0]&&e.length>2&&s.timestamp-r.timestamp>hn(t)*2&&(r=e[1]);const i=Vt(s.timestamp-r.timestamp);if(i===0)return{x:0,y:0};const o={x:(s.x-r.x)/i,y:(s.y-r.y)/i};return o.x===1/0&&(o.x=0),o.y===1/0&&(o.y=0),o}function U2(e,{min:t,max:n},r){return t!==void 0&&e<t?e=r?Pe(t,e,r.min):Math.max(e,t):n!==void 0&&e>n&&(e=r?Pe(n,e,r.max):Math.min(e,n)),e}function $w(e,t,n){return{min:t!==void 0?e.min+t:void 0,max:n!==void 0?e.max+n-(e.max-e.min):void 0}}function V2(e,{top:t,left:n,bottom:r,right:s}){return{x:$w(e.x,n,s),y:$w(e.y,t,r)}}function Ww(e,t){let n=t.min-e.min,r=t.max-e.max;return t.max-t.min<e.max-e.min&&([n,r]=[r,n]),{min:n,max:r}}function $2(e,t){return{x:Ww(e.x,t.x),y:Ww(e.y,t.y)}}function W2(e,t){let n=.5;const r=ct(e),s=ct(t);return s>r?n=za(t.min,t.max-r,e.min):r>s&&(n=za(e.min,e.max-s,t.min)),Dn(0,1,n)}function z2(e,t){const n={};return t.min!==void 0&&(n.min=t.min-e.min),t.max!==void 0&&(n.max=t.max-e.min),n}const kp=.35;function q2(e=kp){return e===!1?e=0:e===!0&&(e=kp),{x:zw(e,"left","right"),y:zw(e,"top","bottom")}}function zw(e,t,n){return{min:qw(e,t),max:qw(e,n)}}function qw(e,t){return typeof e=="number"?e:e[t]||0}const H2=new WeakMap;class G2{constructor(t){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=Fe(),this.latestPointerEvent=null,this.latestPanInfo=null,this.visualElement=t}start(t,{snapToCursor:n=!1,distanceThreshold:r}={}){const{presenceContext:s}=this.visualElement;if(s&&s.isPresent===!1)return;const i=d=>{n&&this.snapToCursor(ml(d).point),this.stopAnimation()},o=(d,h)=>{const{drag:f,dragPropagation:m,onDragStart:b}=this.getProps();if(f&&!m&&(this.openDragLock&&this.openDragLock(),this.openDragLock=SU(f),!this.openDragLock))return;this.latestPointerEvent=d,this.latestPanInfo=h,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),wn(y=>{let g=this.getAxisMotionValue(y).get()||0;if(_n.test(g)){const{projection:v}=this.visualElement;if(v&&v.layout){const P=v.layout.layoutBox[y];P&&(g=ct(P)*(parseFloat(g)/100))}}this.originPoint[y]=g}),b&&pe.update(()=>b(d,h),!1,!0),vp(this.visualElement,"transform");const{animationState:w}=this.visualElement;w&&w.setActive("whileDrag",!0)},a=(d,h)=>{this.latestPointerEvent=d,this.latestPanInfo=h;const{dragPropagation:f,dragDirectionLock:m,onDirectionLock:b,onDrag:w}=this.getProps();if(!f&&!this.openDragLock)return;const{offset:y}=h;if(m&&this.currentDirection===null){this.currentDirection=Y2(y),this.currentDirection!==null&&b&&b(this.currentDirection);return}this.updateAxis("x",h.point,y),this.updateAxis("y",h.point,y),this.visualElement.render(),w&&pe.update(()=>w(d,h),!1,!0)},l=(d,h)=>{this.latestPointerEvent=d,this.latestPanInfo=h,this.stop(d,h),this.latestPointerEvent=null,this.latestPanInfo=null},c=()=>{const{dragSnapToOrigin:d}=this.getProps();(d||this.constraints)&&this.startAnimation({x:0,y:0})},{dragSnapToOrigin:u}=this.getProps();this.panSession=new MA(t,{onSessionStart:i,onStart:o,onMove:a,onSessionEnd:l,resumeAnimation:c},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:u,distanceThreshold:r,contextWindow:LA(this.visualElement),element:this.visualElement.current})}stop(t,n){const r=t||this.latestPointerEvent,s=n||this.latestPanInfo,i=this.isDragging;if(this.cancel(),!i||!s||!r)return;const{velocity:o}=s;this.startAnimation(o);const{onDragEnd:a}=this.getProps();a&&pe.postRender(()=>a(r,s))}cancel(){this.isDragging=!1;const{projection:t,animationState:n}=this.visualElement;t&&(t.isAnimationBlocked=!1),this.endPanSession();const{dragPropagation:r}=this.getProps();!r&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),n&&n.setActive("whileDrag",!1)}endPanSession(){this.panSession&&this.panSession.end(),this.panSession=void 0}updateAxis(t,n,r){const{drag:s}=this.getProps();if(!r||!Zl(t,s,this.currentDirection))return;const i=this.getAxisMotionValue(t);let o=this.originPoint[t]+r[t];this.constraints&&this.constraints[t]&&(o=U2(o,this.constraints[t],this.elastic[t])),i.set(o)}resolveConstraints(){var i;const{dragConstraints:t,dragElastic:n}=this.getProps(),r=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):(i=this.visualElement.projection)==null?void 0:i.layout,s=this.constraints;t&&ci(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):t&&r?this.constraints=V2(r.layoutBox,t):this.constraints=!1,this.elastic=q2(n),s!==this.constraints&&!ci(t)&&r&&this.constraints&&!this.hasMutatedConstraints&&wn(o=>{this.constraints!==!1&&this.getAxisMotionValue(o)&&(this.constraints[o]=z2(r.layoutBox[o],this.constraints[o]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:n}=this.getProps();if(!t||!ci(t))return!1;const r=t.current,{projection:s}=this.visualElement;if(!s||!s.layout)return!1;const i=QU(r,s.root,this.visualElement.getTransformPagePoint());let o=$2(s.layout.layoutBox,i);if(n){const a=n(GU(o));this.hasMutatedConstraints=!!a,a&&(o=sA(a))}return o}startAnimation(t){const{drag:n,dragMomentum:r,dragElastic:s,dragTransition:i,dragSnapToOrigin:o,onDragTransitionEnd:a}=this.getProps(),l=this.constraints||{},c=wn(u=>{if(!Zl(u,n,this.currentDirection))return;let d=l&&l[u]||{};o&&(d={min:0,max:0});const h=s?200:1e6,f=s?40:1e7,m={type:"inertia",velocity:r?t[u]:0,bounceStiffness:h,bounceDamping:f,timeConstant:750,restDelta:1,restSpeed:10,...i,...d};return this.startAxisValueAnimation(u,m)});return Promise.all(c).then(a)}startAxisValueAnimation(t,n){const r=this.getAxisMotionValue(t);return vp(this.visualElement,t),r.start(xb(t,r,0,n,this.visualElement,!1))}stopAnimation(){wn(t=>this.getAxisMotionValue(t).stop())}getAxisMotionValue(t){const n=`_drag${t.toUpperCase()}`,r=this.visualElement.getProps(),s=r[n];return s||this.visualElement.getValue(t,(r.initial?r.initial[t]:void 0)||0)}snapToCursor(t){wn(n=>{const{drag:r}=this.getProps();if(!Zl(n,r,this.currentDirection))return;const{projection:s}=this.visualElement,i=this.getAxisMotionValue(n);if(s&&s.layout){const{min:o,max:a}=s.layout.layoutBox[n],l=i.get()||0;i.set(t[n]-Pe(o,a,.5)+l)}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:n}=this.getProps(),{projection:r}=this.visualElement;if(!ci(n)||!r||!this.constraints)return;this.stopAnimation();const s={x:0,y:0};wn(o=>{const a=this.getAxisMotionValue(o);if(a&&this.constraints!==!1){const l=a.get();s[o]=W2({min:l,max:l},this.constraints[o])}});const{transformTemplate:i}=this.visualElement.getProps();this.visualElement.current.style.transform=i?i({},""):"none",r.root&&r.root.updateScroll(),r.updateLayout(),this.constraints=!1,this.resolveConstraints(),wn(o=>{if(!Zl(o,t,null))return;const a=this.getAxisMotionValue(o),{min:l,max:c}=this.constraints[o];a.set(Pe(l,c,s[o]))}),this.visualElement.render()}addListeners(){if(!this.visualElement.current)return;H2.set(this.visualElement,this);const t=this.visualElement.current,n=ha(t,"pointerdown",c=>{const{drag:u,dragListener:d=!0}=this.getProps(),h=c.target,f=h!==t&&xU(h);u&&d&&!f&&this.start(c)});let r;const s=()=>{const{dragConstraints:c}=this.getProps();ci(c)&&c.current&&(this.constraints=this.resolveRefConstraints(),r||(r=K2(t,c.current,()=>this.scalePositionWithinConstraints())))},{projection:i}=this.visualElement,o=i.addEventListener("measure",s);i&&!i.layout&&(i.root&&i.root.updateScroll(),i.updateLayout()),pe.read(s);const a=Ka(window,"resize",()=>this.scalePositionWithinConstraints()),l=i.addEventListener("didUpdate",({delta:c,hasLayoutChanged:u})=>{this.isDragging&&u&&(wn(d=>{const h=this.getAxisMotionValue(d);h&&(this.originPoint[d]+=c[d].translate,h.set(h.get()+c[d].translate))}),this.visualElement.render())});return()=>{a(),n(),o(),l&&l(),r&&r()}}getProps(){const t=this.visualElement.getProps(),{drag:n=!1,dragDirectionLock:r=!1,dragPropagation:s=!1,dragConstraints:i=!1,dragElastic:o=kp,dragMomentum:a=!0}=t;return{...t,drag:n,dragDirectionLock:r,dragPropagation:s,dragConstraints:i,dragElastic:o,dragMomentum:a}}}function Hw(e){let t=!0;return()=>{if(t){t=!1;return}e()}}function K2(e,t,n){const r=Zv(e,Hw(n)),s=Zv(t,Hw(n));return()=>{r(),s()}}function Zl(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function Y2(e,t=10){let n=null;return Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x"),n}class Q2 extends es{constructor(t){super(t),this.removeGroupControls=Wt,this.removeListeners=Wt,this.controls=new G2(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||Wt}update(){const{dragControls:t}=this.node.getProps(),{dragControls:n}=this.node.prevProps||{};t!==n&&(this.removeGroupControls(),t&&(this.removeGroupControls=t.subscribe(this.controls)))}unmount(){this.removeGroupControls(),this.removeListeners(),this.controls.isDragging||this.controls.endPanSession()}}const mh=e=>(t,n)=>{e&&pe.update(()=>e(t,n),!1,!0)};class J2 extends es{constructor(){super(...arguments),this.removePointerDownListener=Wt}onPointerDown(t){this.session=new MA(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:LA(this.node)})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:n,onPan:r,onPanEnd:s}=this.node.getProps();return{onSessionStart:mh(t),onStart:mh(n),onMove:mh(r),onEnd:(i,o)=>{delete this.session,s&&pe.postRender(()=>s(i,o))}}}mount(){this.removePointerDownListener=ha(this.node.current,"pointerdown",t=>this.onPointerDown(t))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}let bh=!1;class X2 extends p.Component{componentDidMount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r,layoutId:s}=this.props,{projection:i}=t;i&&(n.group&&n.group.add(i),r&&r.register&&s&&r.register(i),bh&&i.root.didUpdate(),i.addEventListener("animationComplete",()=>{this.safeToRemove()}),i.setOptions({...i.options,layoutDependency:this.props.layoutDependency,onExitComplete:()=>this.safeToRemove()})),Ec.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){const{layoutDependency:n,visualElement:r,drag:s,isPresent:i}=this.props,{projection:o}=r;return o&&(o.isPresent=i,t.layoutDependency!==n&&o.setOptions({...o.options,layoutDependency:n}),bh=!0,s||t.layoutDependency!==n||n===void 0||t.isPresent!==i?o.willUpdate():this.safeToRemove(),t.isPresent!==i&&(i?o.promote():o.relegate()||pe.postRender(()=>{const a=o.getStack();(!a||!a.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:t}=this.props.visualElement;t&&(t.root.didUpdate(),Db.postRender(()=>{!t.currentAnimation&&t.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r}=this.props,{projection:s}=t;bh=!0,s&&(s.scheduleCheckAfterUnmount(),n&&n.group&&n.group.remove(s),r&&r.deregister&&r.deregister(s))}safeToRemove(){const{safeToRemove:t}=this.props;t&&t()}render(){return null}}function jA(e){const[t,n]=AA(),r=p.useContext(ub);return S.jsx(X2,{...e,layoutGroup:r,switchLayoutGroup:p.useContext(IA),isPresent:t,safeToRemove:n})}const Z2={pan:{Feature:J2},drag:{Feature:Q2,ProjectionNode:EA,MeasureLayout:jA}};function Gw(e,t,n){const{props:r}=e;e.animationState&&r.whileHover&&e.animationState.setActive("whileHover",n==="Start");const s="onHover"+n,i=r[s];i&&pe.postRender(()=>i(t,ml(t)))}class e$ extends es{mount(){const{current:t}=this.node;t&&(this.unmount=TU(t,(n,r)=>(Gw(this.node,r,"Start"),s=>Gw(this.node,s,"End"))))}unmount(){}}class t$ extends es{constructor(){super(...arguments),this.isActive=!1}onFocus(){let t=!1;try{t=this.node.current.matches(":focus-visible")}catch{t=!0}!t||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=hl(Ka(this.node.current,"focus",()=>this.onFocus()),Ka(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}function Kw(e,t,n){const{props:r}=e;if(e.current instanceof HTMLButtonElement&&e.current.disabled)return;e.animationState&&r.whileTap&&e.animationState.setActive("whileTap",n==="Start");const s="onTap"+(n==="End"?"":n),i=r[s];i&&pe.postRender(()=>i(t,ml(t)))}class n$ extends es{mount(){const{current:t}=this.node;if(!t)return;
202const{globalTapTarget:n,propagate:r}=this.node.props;this.unmount=_U(t,(s,i)=>(Kw(this.node,i,"Start"),(o,{success:a})=>Kw(this.node,o,a?"End":"Cancel")),{useGlobalTarget:n,stopPropagation:(r==null?void 0:r.tap)===!1})}unmount(){}}const _p=new WeakMap,gh=new WeakMap,r$=e=>{const t=_p.get(e.target);t&&t(e)},s$=e=>{e.forEach(r$)};function i$({root:e,...t}){const n=e||document;gh.has(n)||gh.set(n,{});const r=gh.get(n),s=JSON.stringify(t);return r[s]||(r[s]=new IntersectionObserver(s$,{root:e,...t})),r[s]}function o$(e,t,n){const r=i$(t);return _p.set(e,n),r.observe(e),()=>{_p.delete(e),r.unobserve(e)}}const a$={some:0,all:1};class l$ extends es{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:t={}}=this.node.getProps(),{root:n,margin:r,amount:s="some",once:i}=t,o={root:n?n.current:void 0,rootMargin:r,threshold:typeof s=="number"?s:a$[s]},a=l=>{const{isIntersecting:c}=l;if(this.isInView===c||(this.isInView=c,i&&!c&&this.hasEnteredView))return;c&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",c);const{onViewportEnter:u,onViewportLeave:d}=this.node.getProps(),h=c?u:d;h&&h(l)};return o$(this.node.current,o,a)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:t,prevProps:n}=this.node;["amount","margin","root"].some(c$(t,n))&&this.startObserver()}unmount(){}}function c$({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}const u$={inView:{Feature:l$},tap:{Feature:n$},focus:{Feature:t$},hover:{Feature:e$}},d$={layout:{ProjectionNode:EA,MeasureLayout:jA}},h$={...L2,...u$,...Z2,...d$},f$=R2(h$,D2),p$=jT("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),Ya=p.forwardRef(({className:e,variant:t,size:n,asChild:r=!1,...s},i)=>{const o=r?mI:"button";return S.jsx(o,{className:Xr(p$({variant:t,size:n,className:e})),ref:i,...s})});Ya.displayName="Button";let we=null,Ke=!1,Ws={status:"loading",lastError:null,lastValidatedAt:null,lastValidationOk:null,tokenExpiresAt:null,userId:null,refreshAttempts:0};const Rp=new Set;function BA(){const e={...Ws};Rp.forEach(t=>{try{t(e)}catch{}})}function Ge(e){Ws={...Ws,...e},BA()}function Nz(){return{...Ws}}function Iz(e){return Rp.add(e),e({...Ws}),()=>{Rp.delete(e)}}let Vb=null;const Dp=new Set;function Ss(e){Vb=e,Dp.forEach(t=>{try{t(e)}catch{}}),Ge({lastError:e,status:e?"error":Ws.status})}function UA(e){return Dp.add(e),e(Vb),()=>{Dp.delete(e)}}function $b(){Ss(null)}let Yw=!1,Bo=null;function Qw(e){const t=(e||"").toLowerCase();return t.includes("auth session missing")||t.includes("session not found")||t.includes("refresh token not found")}async function Wb(){return Bo||(Bo=(async()=>{Ws.refreshAttempts+=1,BA();try{const{data:e}=await te.auth.getSession();if(!e.session)return we=null,Ke=!0,Ge({status:"unauthenticated",userId:null,lastValidatedAt:Date.now(),lastValidationOk:null}),!1;const{data:t,error:n}=await te.auth.refreshSession();return n||!t.session?Qw(n==null?void 0:n.message)?(we=null,Ke=!0,Ge({status:"unauthenticated",userId:null,lastValidatedAt:Date.now(),lastValidationOk:null}),!1):(Ss({message:(n==null?void 0:n.message)||"Session expired. Please sign in again.",code:n==null?void 0:n.status,at:Date.now(),source:"refresh"}),!1):(we=t.session,Ke=!0,Ge({status:"authenticated",userId:t.session.user.id,tokenExpiresAt:t.session.expires_at??null,lastValidatedAt:Date.now(),lastV
202alidationOk:!0}),!0)}catch(e){return Qw(e==null?void 0:e.message)?(we=null,Ke=!0,Ge({status:"unauthenticated",userId:null,lastValidatedAt:Date.now(),lastValidationOk:null}),!1):(Ss({message:(e==null?void 0:e.message)||"Failed to refresh session.",at:Date.now(),source:"refresh"}),!1)}finally{setTimeout(()=>{Bo=null},250)}})(),Bo)}function m$(){if(Yw||typeof window>"u")return;Yw=!0;const e=window.fetch.bind(window),t="https://lmgsxyzytssddijjxbzc.supabase.co";window.fetch=async(n,r)=>{const s=typeof n=="string"?n:n instanceof URL?n.toString():n.url,i=s.startsWith(t),o=i&&s.includes("/auth/v1/"),a=i&&s.includes("/functions/v1/"),l=await e(n,r);if(!i||o||a||l.status!==401&&l.status!==403||!await Wb())return l;const u=we==null?void 0:we.access_token;if(!u)return l;let d,h;if(n instanceof Request){const f=new Headers(n.headers);f.set("Authorization",`Bearer ${u}`),h=new Request(n,{headers:f}),d=r??{}}else{const f=new Headers(r==null?void 0:r.headers);f.set("Authorization",`Bearer ${u}`),d={...r??{},headers:f},h=n}try{return await e(h,d)}catch{return l}}}async function b$(){if(Ke)return we;const{data:{session:e}}=await te.auth.getSession();return _c(e)?(Su(),we=null,Ke=!0,null):(we=e,Ke=!0,e)}async function yu(){localStorage.removeItem("mfs_user_name"),localStorage.removeItem("mfs_registered_phone"),localStorage.removeItem("mfs_display_photo"),localStorage.removeItem("mfs_cached_user_id"),localStorage.removeItem("mfs_has_authenticated"),localStorage.removeItem("splashDone"),await Promise.race([te.auth.signOut().catch(()=>null),new Promise(e=>setTimeout(e,1200))]),Su(),we=null,Ke=!0,Ge({status:"unauthenticated",userId:null,tokenExpiresAt:null})}async function Uo(){Su();try{await Promise.race([te.auth.signOut({scope:"local"}).catch(()=>null),new Promise(e=>setTimeout(e,800))])}catch{}}async function VA(){if($b(),Ge({status:"loading"}),await Wb())return!0;try{window.location.reload()}catch{}return!1}function ts(){const[e,t]=p.useState(null),[n,r]=p.useState(!0),[s,i]=p.useState(Vb);p.useEffect(()=>(m$(),UA(l=>i(l))),[]),p.useEffect(()=>{let a=!0;const l=setTimeout(()=>{a&&(Ke||(Uo(),we=null,Ke=!0,Ss({message:"Auth check timed out. Please retry.",at:Date.now(),source:"failsafe"}),Ge({status:"unauthenticated",userId:null,tokenExpiresAt:null}),t(null),r(!1)))},4e3),c=async d=>{if(a){if(!d){we=null,Ke=!0,Ge({status:"unauthenticated",userId:null,tokenExpiresAt:null}),t(null),r(!1);return}if(_c(d)){if(await Uo(),we=null,Ke=!0,Ss({message:"Your session is no longer valid.",code:"invalid_jwt",at:Date.now(),source:"getSession"}),Ge({status:"unauthenticated",userId:null,tokenExpiresAt:null}),!a)return;t(null),r(!1);return}try{const h=await Promise.race([te.auth.getUser(d.access_token),new Promise(b=>setTimeout(()=>b({data:{user:null},error:{message:"getUser timeout"}}),2500))]),f=h==null?void 0:h.error;if(!!f&&(f.status===401||f.status===403||/jwt|sub claim|invalid/i.test(f.message||""))){if(await Wb()&&we){if(!a)return;Ge({status:"authenticated",userId:we.user.id,tokenExpiresAt:we.expires_at??null,lastValidatedAt:Date.now(),lastValidationOk:!0}),t(we),r(!1);return}if(await Uo(),we=null,Ke=!0,Ss({message:f.message||"Session was rejected by the server.",code:f.status,at:Date.now(),source:"getUser"}),Ge({status:"error",userId:null,tokenExpiresAt:null,lastValidatedAt:Date.now(),lastValidationOk:!1}),!a)return;t(null),r(!1);return}Ge({lastValidatedAt:Date.now(),lastValidationOk:!0})}catch{}we=d,Ke=!0,Ge({status:"authenticated",userId:d.user.id,tokenExpiresAt:d.expires_at??null}),a&&(t(d),r(!1))}};te.auth.getSession().then(({data:{session:d}})=>c(d)).catch(async d=>{await Uo(),a&&(we=null,Ke=!0,Ss({message:(d==null?void 0:d.message)||"Failed to read session.",at:Date.now(),source:"getSession"}),Ge({status:"unauthenticated",userId:null,tokenExpiresAt:null}),t(null),r(!1))});const{data:{subscription:u}}=te.auth.onAuthStateChange((d,h)=>{if(_c(h)){if(Uo(),we=null,Ke=!0,Ge({status:"unauthenticated",userId:null,tokenExpiresAt:null}),!a)return;t(null),r(!1);return}we=h,Ke=!0,(d==="TOKEN_REFRESHED"||d==="SIGNED_IN")&&$b(),Ge({status:h?"authenticated":"unauthenticated",userId:(h==null?void 0:h.user.id)??null,tokenExpiresAt:(h==null?void 0:h.expires_at)??null}),a&&(t(h),r(!1))});return()=>{a=!1,clearTimeout(l),u.unsubscribe()}},[]);const o=p.useCallback(async()=>{await yu(),t(null),r(!1)},[]);return{session:e,user:(e==null?void 0:e.user)??null,loading:n,isAuthenticated:!!e,authError:s,retryAuth:VA,signOut:o}}function g$(){const{user:e}=ts(),[t,n]=p.useState("default"),[r,s]=p.useState(!1),[i,o]=p.useState(!1),a=typeof window<"u"&&"serviceWorker"
202in navigator&&"PushManager"in window&&"Notification"in window,l=p.useCallback(async()=>{if(!a)return!1;try{const h=await navigator.serviceWorker.getRegistration();if(!h)return!1;const m=!!await h.pushManager.getSubscription();return s(m),m}catch{return!1}},[a]);p.useEffect(()=>{a&&(n(Notification.permission),l())},[a,l]);const c=p.useCallback(async()=>a?e?{ok:!1,error:"Push not configured (missing VITE_VAPID_PUBLIC_KEY)"}:{ok:!1,error:"Sign in first"}:{ok:!1,error:"Notifications not supported on this device"},[a,e]),u=p.useCallback(async()=>{if(!a)return!1;try{const h=await navigator.serviceWorker.getRegistration(),f=await(h==null?void 0:h.pushManager.getSubscription());return f&&(await te.from("push_subscriptions").delete().eq("endpoint",f.endpoint),await f.unsubscribe()),s(!1),!0}catch{return!1}},[a]),d=p.useCallback(async()=>{if(!e)return{ok:!1,error:"Sign in first"};const{data:h,error:f}=await te.functions.invoke("send-push-notification",{body:{user_ids:[e.id],title:"Test push ✅",body:"If you see this, push is wired correctly.",url:"/"}});return f?{ok:!1,error:f.message}:{ok:!0,data:h}},[e]);return{supported:a,permission:t,subscribed:r,subscribe:c,unsubscribe:u,sendTest:d,busy:i,configured:!1,checkExistingSubscription:l}}const y$="push_optin_dismissed_at";function v$(){const{t:e}=cb(),{user:t}=ts(),{toast:n}=lT(),{supported:r,configured:s,permission:i,subscribed:o,subscribe:a,busy:l}=g$(),[c,u]=p.useState(!1);p.useEffect(()=>{},[t,r,s,i,o]);const d=async()=>{const f=await a();f.ok?(n({title:e("popEnabled")}),u(!1)):n({title:e("popFailed"),description:f.error,variant:"destructive"})},h=()=>{localStorage.setItem(y$,String(Date.now())),u(!1)};return S.jsx(i2,{children:c&&S.jsx(f$.div,{initial:{y:100,opacity:0},animate:{y:0,opacity:1},exit:{y:100,opacity:0},transition:{type:"spring",damping:22,stiffness:280},className:"fixed bottom-20 left-3 right-3 z-50 max-w-md mx-auto",children:S.jsxs("div",{className:"relative bg-card/95 backdrop-blur-xl border border-border/70 rounded-2xl p-4 shadow-2xl",children:[S.jsx("button",{onClick:h,"aria-label":e("ipDismiss"),className:"absolute top-2 right-2 w-7 h-7 rounded-full bg-muted/60 flex items-center justify-center",children:S.jsx(Vm,{size:13,className:"text-muted-foreground"})}),S.jsxs("div",{className:"flex items-start gap-3 pr-7",children:[S.jsx("div",{className:"w-10 h-10 rounded-xl bg-primary/15 flex items-center justify-center shrink-0",children:S.jsx(uO,{size:18,className:"text-primary"})}),S.jsxs("div",{className:"flex-1 min-w-0",children:[S.jsx("p",{className:"text-[13.5px] font-bold text-foreground",children:e("popTitle")}),S.jsx("p",{className:"text-[11.5px] text-muted-foreground mt-0.5 leading-snug",children:e("popDesc")}),S.jsxs("div",{className:"flex gap-2 mt-3",children:[S.jsxs(Ya,{onClick:d,disabled:l,size:"sm",className:"rounded-xl h-8 text-[12px] gap-1.5 flex-1",children:[l&&S.jsx(hO,{size:12,className:"animate-spin"}),e("popEnable")]}),S.jsx(Ya,{onClick:h,variant:"outline",size:"sm",className:"rounded-xl h-8 text-[12px]",children:e("popNotNow")})]})]})]})]})})})}function w$(){const[e,t]=p.useState(null),[n,r]=p.useState(!1);if(p.useEffect(()=>UA(t),[]),!e)return null;const s=(()=>{try{return localStorage.getItem("mfs_ui_lang")==="bn"?"bn":"en"}catch{return"en"}})(),i={title:an.aeoTitle[s],body:an.aeoBody[s],retry:an.aeoRetry[s],login:an.aeoSignIn[s]},o=async()=>{n||(r(!0),await VA(),r(!1))},a=()=>{$b();try{window.location.assign("/")}catch{}};return S.jsx("div",{role:"alertdialog","aria-modal":"true","aria-labelledby":"auth-error-title",className:"fixed inset-0 z-[300] flex items-center justify-center p-4 bg-background/80 backdrop-blur-sm",children:S.jsxs("div",{className:"w-full max-w-sm rounded-2xl border border-border bg-card shadow-2xl p-6 text-center",children:[S.jsx("div",{className:"mx-auto mb-4 w-14 h-14 rounded-full bg-destructive/10 flex items-center justify-center",children:S.jsx(Um,{className:"w-7 h-7 text-destructive"})}),S.jsx("h2",{id:"auth-error-title",className:"text-lg font-bold text-foreground",children:i.title}),S.jsx("p",{className:"mt-2 text-sm text-muted-foreground",children:i.body}),e.message?S.jsxs("p",{className:"mt-3 text-[11px] font-mono text-muted-foreground
202/80 break-words",children:[e.source,e.code?` · ${e.code}`:""," — ",e.message]}):null,S.jsxs("div",{className:"mt-5 flex flex-col gap-2",children:[S.jsxs("button",{type:"button",onClick:o,disabled:n,className:"w-full h-11 rounded-xl bg-primary text-primary-foreground font-semibold flex items-center justify-center gap-2 disabled:opacity-60",children:[S.jsx(UT,{className:`w-4 h-4 ${n?"animate-spin":""}`}),i.retry]}),S.jsxs("button",{type:"button",onClick:a,className:"w-full h-11 rounded-xl border border-border bg-background text-foreground font-semibold flex items-center justify-center gap-2",children:[S.jsx(fO,{className:"w-4 h-4"}),i.login]})]})]})})}function $A(){return sb({queryKey:["loyalty-tiers"],queryFn:async()=>{const{data:e,error:t}=await te.from("loyalty_tiers").select("*").order("rank",{ascending:!0});if(t)throw t;return e??[]},staleTime:6e4})}function WA(){const{user:e}=ts();return sb({queryKey:["user-loyalty",e==null?void 0:e.id],enabled:!!(e!=null&&e.id),queryFn:async()=>{await te.rpc("recalculate_user_loyalty",{_user_id:e.id});const{data:t,error:n}=await te.from("user_loyalty").select("*").eq("user_id",e.id).maybeSingle();if(n)throw n;return t},staleTime:3e4})}function S$(){const{data:e}=$A(),{data:t}=WA();return p.useMemo(()=>{const n=!!(t!=null&&t.override_tier_id)&&(!t.override_until||new Date(t.override_until)>new Date),r=n?t.override_tier_id:(t==null?void 0:t.current_tier_id)??null,s=r?(e==null?void 0:e.find(i=>i.id===r))??null:null;return{tier:s,limitMultiplier:(s==null?void 0:s.limit_multiplier)??1,feeDiscountPct:(s==null?void 0:s.fee_discount_pct)??0,cashbackBonusPct:(s==null?void 0:s.cashback_bonus_pct)??0,prioritySupport:(s==null?void 0:s.priority_support)??!1,isOverride:n,overrideUntil:(t==null?void 0:t.override_until)??null}},[e,t])}const P$=[{threshold:"min_volume_30d",current:"volume_30d",label:"30-day volume",suffix:"৳"},{threshold:"min_lifetime_txn_count",current:"lifetime_txn_count",label:"transactions",suffix:""},{threshold:"min_wallet_balance",current:"wallet_balance",label:"wallet balance",suffix:"৳"},{threshold:"min_addmoney_lifetime",current:"addmoney_lifetime",label:"add-money",suffix:"৳"},{threshold:"min_savings_balance",current:"savings_balance",label:"savings",suffix:"৳"}],T$=.9,zA="loyalty_upgrade_reminder_v1";function C$(){try{return JSON.parse(localStorage.getItem(zA)??"[]")}catch{return[]}}function Jw(e){try{localStorage.setItem(zA,JSON.stringify(e.slice(-20)))}catch{}}function E$(){const{user:e}=ts(),{data:t}=$A(),{data:n}=WA(),r=S$(),s=p.useMemo(()=>{if(!t)return null;const i=t.slice().sort((o,a)=>o.rank-a.rank);return r.tier?i.find(o=>o.rank>r.tier.rank&&o.is_active)??null:i[0]??null},[t,r.tier]);p.useEffect(()=>{if(!(e!=null&&e.id)||!s||!n)return;const o=P$.map(u=>{const d=Number(s[u.threshold]??0),h=Number(n[u.current]??0);return{...u,target:d,current:h,pct:d>0?Math.min(1,h/d):1}}).filter(u=>u.target>0);if(!o.length||!o.every(u=>u.pct>=T$))return;const l=C$(),c=l.find(u=>u.tier_id===s.id);c&&Date.now()-new Date(c.sent_at).getTime()<7*24*36e5||(async()=>{const u=new Date(Date.now()-6048e5).toISOString(),{data:d}=await te.from("notifications").select("id").eq("user_id",e.id).eq("category","loyalty").gte("created_at",u).contains("metadata",{reminder_tier:s.id}).limit(1).maybeSingle();if(d){Jw([...l.filter(b=>b.tier_id!==s.id),{tier_id:s.id,sent_at:new Date().toISOString()}]);return}const h=o.slice().sort((b,w)=>b.pct-w.pct)[0],f=Math.max(0,h.target-h.current),m=h.suffix==="৳"?`৳${f.toLocaleString()}`:`${f.toLocaleString()} ${h.label}`;await te.from("notifications").insert({user_id:e.id,title:`Almost ${s.name}! 🌟`,body:`You're within 10% of unlocking the ${s.name} tier. Just ${m} more on your ${h.label} to get there.`,category:"loyalty",metadata:{kind:"upgrade_reminder",reminder_tier:s.id,tier_name:s.name,worst_metric:h.current,worst_target:h.target}}),Jw([...l.filter(b=>b.tier_id!==s.id),{tier_id:s.id,sent_at:new Date().toISOString()}])})()},[e==null?void 0:e.id,s,n])}function A$(){return E$(),null}const x$=["pin","otp","password","cvv","secret","token","access_token"];function qA(e){if(!e)return{};const t={};for(const[n,r]of Object.entries(e))x$.some(s=>n.toLowerCase().includes(s))?t[n]="[redacted]":r&&typeof r=="object"&&!Array.isArray(r)?t[n]=qA(r):t[n]=r;return t}function k$(){try{const e=sessionStorage.getItem("activity_session_id");if(e)return e;const t=crypto.randomUUID();return sessionStorage.setItem("activity_session_id",t),t}catch{return Math.random().toString(36).slice(2)}}function _$(){try{return localStorage.getItem("device_fingerprint")||void 0}catch{return}}class R${constructor(){Le(this,"queue",[]);Le(this,"flushTimer",null);Le(this,"sessionId",k$());Le(this,"currentRoute",typeof window<"u"?window.location.pathname:"/");Le(this,"lastTapPerTarget",new Map);Le(this,"enabled",!1);Le(this,"onPointerDown",t=>{var l;const n=t.target;if(!n)return;const r=n.closest("[data-track], button, a, [role='button'], [role='tab'], [role='menuitem']");if(!r||r.closest("[data-track='off']"))return;const s=r.getAttribute("data-track")||r.getAttribute("aria-label")||r.getAttribute("title")||((l=r.textContent)==null?void 0:l.trim().slice(0,80))||r.tagName.toLowerCase();if(!s||s==="off")return;const i=`${this.currentRoute}::${s}`,o=Date.now(),a=this.lastTapPerTarget.get(i)||0;o-a<500||(this.lastTapPerTarget.set(i,o),this.track({event_type:"tap",event_name:"tap",target:s}))})}enable(){this.enabled||typeof window>"u"||(this.enabled=!0,window.addEventListener("pointerdown",this.onPointerDown,{capture:!0,passive:!0}),window.addEventListener("beforeunload",()=>this.flush(!0)),window.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&this.flush(!0)}))}setRoute(t){t!==this.currentRoute&&(this.currentRoute=t,this.track({event_type:"screen_view",event_name:"route_change",route:t}))}track(t){this.queue.push({session_id:this.sessionId,event_type:t.event_type,event_name:t.event_name,route:t.route??this.currentRoute,target:t.target,metadata:qA(t.metadata),device_fingerprint:_$(),created_at:new Date().toISOString()}),this.scheduleFlush()}qr(t,n){this.track({event_type:"qr",event_name:t,metadata:n})}transaction(t,n){this.track({event_type:"transaction",event_name:t,metadata:n})}auth(t,n){this.track({event_type:"auth",event_name:t,metadata:n})}scheduleFlush(){if(this.queue.length>=20){this.flush();return}this.flushTimer===null&&(this.flushTimer=window.setTimeout(()=>this.flush(),3e3))}async flush(t=!1){if(this.flushTimer!==null&&(clearTimeout(this.flushTimer),this.flushTimer=null),this.queue.length===0)return;const n=this.queue.splice(0,this.queue.length);try{const{data:{user:r}}=await te.auth.getUser();if(!r)return;await te.rpc("log_user_activity",{_events:n})}catch{}}}const Np=new R$,Oz=Object.freeze(Object.defineProperty({__proto__:null,activityTracker:Np},Symbol.toStringTag,{value:"Module"})),Ip=p.forwardRef((e,t)=>
202{const n=Ln();return p.useEffect(()=>{Np.enable()},[]),p.useEffect(()=>{Np.setRoute(n.pathname)},[n.pathname]),S.jsxs("div",{ref:t,className:"contents",children:[S.jsx(np,{}),S.jsx(v$,{}),S.jsx(w$,{}),S.jsx(A$,{})]})});Ip.displayName="AppLayout";async function D$(e){if(!e)return[];const{data:t,error:n}=await te.from("user_roles").select("role").eq("user_id",e);if(n)throw n;return(t==null?void 0:t.map(r=>r.role))??[]}function zb(){const{user:e,loading:t}=ts(),n=sb({queryKey:["user-roles",e==null?void 0:e.id],queryFn:()=>D$(e==null?void 0:e.id),enabled:!!e&&!t,staleTime:6e4});return{roles:n.data??[],loading:t||!!e&&n.isLoading}}let Fn,Vo=null;function N$(){const[e,t]=p.useState(Fn??null),[n,r]=p.useState(Fn!==void 0),[s,i]=p.useState(Fn===void 0),o=p.useRef(!1),a=p.useRef(!1);p.useEffect(()=>{let u=!1;const d=async m=>{const{data:b,error:w}=await te.rpc("get_staff_merchant_access",{p_user_id:m});return w?null:Array.isArray(b)&&b.length>0?b[0]:null},h=async m=>{if(!o.current){o.current=!0;try{if(!m){Fn=null,Vo=null,u||(t(null),r(!0),i(!1));return}if(Vo===m&&Fn!==void 0){u||(t(Fn),r(!0),i(!1));return}const b=await d(m);if(u)return;const w=b?{staffId:b.staff_id,merchantId:b.merchant_id,merchantName:b.business_name,staffRole:b.staff_role,permissions:b.permissions??{}}:null;Fn=w,Vo=m;try{w?localStorage.setItem("mfs_is_merchant_staff","1"):localStorage.removeItem("mfs_is_merchant_staff")}catch{}t(w),r(!0),i(!1)}finally{o.current=!1}}};(async()=>{var b;const m=await b$();a.current=!0,h(((b=m==null?void 0:m.user)==null?void 0:b.id)??null)})();const{data:{subscription:f}}=te.auth.onAuthStateChange((m,b)=>{var w;if(!(m==="INITIAL_SESSION"||m==="TOKEN_REFRESHED")){if(m==="SIGNED_OUT"){Fn=null,Vo=null,u||(t(null),r(!0),i(!1));return}if(m==="SIGNED_IN"||m==="USER_UPDATED"){const y=((w=b==null?void 0:b.user)==null?void 0:w.id)??null;y!==Vo&&(Fn=void 0,u||(r(!1),i(!0)),setTimeout(()=>{u||h(y)},0))}}});return()=>{u=!0,f.unsubscribe()}},[]);const l=(e==null?void 0:e.permissions)??{},c=u=>!e||u===""?!0:u==="__owner_only__"?!1:!!l[u];return{staffId:(e==null?void 0:e.staffId)??null,merchantId:(e==null?void 0:e.merchantId)??null,merchantName:(e==null?void 0:e.merchantName)??null,staffRole:(e==null?void 0:e.staffRole)??null,permissions:l,can:c,isStaff:!!e,loading:s,resolved:n}}const Ot=({roles:e,allowStaff:t=!1,unauthenticatedRedirect:n="/",unauthorizedRedirect:r="/",children:s})=>{const{isAuthenticated:i,loading:o}=ts(),{roles:a,loading:l}=zb(),{isStaff:c,loading:u}=N$();return o||l||t&&u?S.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-background",children:S.jsx("div",{className:"w-8 h-8 border-4 border-primary border-t-transparent rounded-full animate-spin"})}):i?!e.some(m=>a.includes(m))&&!(t&&c)?S.jsx(xv,{to:r,replace:!0}):S.jsx(S.Fragment,{children:s}):S.jsx(xv,{to:n,replace:!0})},yh=({roles:e,allowStaff:t,unauthenticatedRedirect:n,unauthorizedRedirect:r,themeClass:s})=>S.jsx(Ot,{roles:e,allowStaff:t,unauthenticatedRedirect:n,unauthorizedRedirect:r,children:s?S.jsx("div",{className:s,children:S.jsx(np,{})}):S.jsx(np,{})}),I$=3e4,O$=60;function L$(){const e=dl(),t=Ln(),{t:n}=cb(),r=p.useRef(!1),s=p.useRef(t.pathname+t.search);p.useEffect(()=>{s.current=t.pathname+t.search},[t.pathname,t.search]);const i=t.pathname.startsWith("/merchant")&&t.pathname!=="/merchant/install"&&t.pathname!=="/merchant/login"&&t.pathname!=="/merchant-login"&&t.pathname!=="/merchant-manager-login"&&t.pathname!=="/merchant-support";p.useEffect(()=>{if(!i){r.current=!1;return}const o=()=>{if(r.current)return;r.current=!0;const u=s.current.startsWith("/merchant")?s.current:"/merchant";let d=!1;try{d=localStorage.getItem("mfs_is_merchant_staff")==="1"}catch{}const h=d?"/merchant-manager-login":"/merchant-login";XT.error(n("mlSessionExpired")),e(`${h}?redirect=${encodeURIComponent(u)}`,{replace:!0})},{data:{subscription:a}}=te.auth.onAuthStateChange((u,d)=>{if(u==="SIGNED_OUT"){o();return}u==="TOKEN_REFRESHED"&&!d&&o()}),l=async()=>{try{const{data:u}=await te.auth.getSession(),d=u.session;if(!d){o();return}const h=d.expires_at??0,f=Math.floor(Date.now()/1e3);if(h-f<=O$){const{error:m}=await te.auth.refreshSession();m&&o()}}catch{o()}};l();const c=window.setInterval(l,I$);return()=>{a.unsubscribe(),window.clearInterval(c)}},[i,e])}const M$=()=>(L$(),null),ec=new Set;function vh(e){const t=`${e.attemptedAppRole}|${e.path}|${e.reason}|${e.userId??""}`;if(ec.has(t))return;ec.add(t),ec.size>200&&ec.clear();const n={user_id:e.userId??null,attempted_app_role:e.attemptedAppRole,user_roles:e.userRoles,path:e.path,reason:e.reason,is_authenticated:e.isAuthenticated,user_agent:typeof navigator<"u"?navigator.userAgent:null};console.warn("[role-redirect]",n),te.from("role_redirect_logs").insert(n).then(({error:r})=>{r&&console.debug("[role-redirect] insert failed:",r.message)})}const F$=()=>{const{isAuthenticated:e,loading:t}=ts(),{roles:n,loading:r}=zb(),s=Ln(),i=dl(),o=p.useRef(!1);p.useEffect(()=>{var h;let l=!1;try{l=((h=window.matchMedia)==null?void 0:h.call(window,"(display-mode: standalone)").matches)||window.navigator.standalone===!0}catch{}const c=Jo(),u=n??[],d=IS({path:s.pathname,appRole:c,isAuthenticated:e,rolesLoading:r,userRoles:u,isStandalone:l});if(d){if(c){const f=e?kc(c,u)?"out_of_scope":"role_mismatch":"unauthenticated";te.auth.getUser().then(({data:m})=>{var b;vh({attemptedAppRole:c,path:s.pathname,reason:f,isAuthenticated:e,userId:((b=m.user)==null?void 0:b.id)??null,userRoles:u})})}i(d,{replace:!0})}},[s.pathname,e,r,n,i]),p.useEffect(()=>{if(t||r)return;
202if(!e){o.current=!1;return}const l=Jo();!l||o.current||kc(l,n)||(o.current=!0,XT.error(`This device is set up for ${xc[l]}. Please log in with a ${xc[l]} account.`),te.auth.getUser().then(({data:c})=>{var u;vh({attemptedAppRole:l,path:window.location.pathname,reason:"role_mismatch",isAuthenticated:!0,userId:((u=c.user)==null?void 0:u.id)??null,userRoles:n??[]})}),yu().then(()=>{try{window.location.href=Vp(l)}catch{}}))},[e,t,r,n]);const a=p.useRef(!1);return p.useEffect(()=>{if(t||r)return;if(!e){a.current=!1;return}if(a.current||Jo())return;const l=s.pathname;if(["/agent","/merchant","/admin","/distributor","/super-distributor","/sd","/install","/staff","/team"].some(h=>l===h||l.startsWith(`${h}/`)))return;const u=["agent","merchant","distributor","super_distributor","admin"];(n??[]).find(h=>u.includes(h))&&(a.current=!0,te.auth.getUser().then(({data:h})=>{var f;vh({attemptedAppRole:null,path:l,reason:"role_mismatch",isAuthenticated:!0,userId:((f=h.user)==null?void 0:f.id)??null,userRoles:n??[]})}))},[e,t,r,n,s.pathname]),null},j$=["agent","merchant","distributor","super_distributor","admin"],B$={agent:"/agent/login",merchant:"/merchant-login",distributor:"/distributor/login",super_distributor:"/super-distributor/login",admin:"/admin/login"},U$=["/agent","/merchant","/admin","/distributor","/super-distributor","/sd","/install","/staff","/team"],V$=()=>{const{t:e}=cb(),{isAuthenticated:t,loading:n}=ts(),{roles:r,loading:s}=zb(),i=Ln(),[o,a]=p.useState(!1),l=!n&&!s&&t,c=U$.some(y=>i.pathname===y||i.pathname.startsWith(`${y}/`)),u=Jo(),d=(r??[]).find(y=>j$.includes(y)),h=l&&!u&&!c&&!!d;if(p.useEffect(()=>{if(!h)return;const y=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=y}},[h]),!h||!d)return null;const f=xc[d]??d,m=B$[d],b=async()=>{a(!0);try{await yu()}catch{}window.location.href=m},w=async()=>{a(!0);try{await yu()}catch{}window.location.href="/"};return S.jsx("div",{role:"alertdialog","aria-modal":"true","aria-labelledby":"elevated-role-block-title",className:"fixed inset-0 z-[9999] flex items-center justify-center bg-background/85 backdrop-blur-xl p-5 animate-in fade-in duration-200",children:S.jsxs("div",{className:"w-full max-w-sm rounded-[19px] border border-white/10 bg-card/95 shadow-2xl p-6 text-center",children:[S.jsx("div",{className:"mx-auto mb-4 flex h-14 w-14 items-center justify-center rounded-full bg-destructive/15 text-destructive",children:S.jsx(mO,{className:"h-7 w-7"})}),S.jsx("h2",{id:"elevated-role-block-title",className:"text-lg font-semibold text-foreground",children:e("erbTitle")}),S.jsx("p",{className:"mt-2 text-sm text-muted-foreground leading-relaxed",children:e("erbBody").split("{role}").reduce((y,g,v,P)=>(y.push(S.jsx("span",{children:g},`p${v}`)),v<P.length-1&&y.push(S.jsx("span",{className:"font-semibold text-foreground",children:f},`r${v}`)),y),[])}),S.jsxs("div",{className:"mt-5 space-y-2",children:[S.jsxs(Ya,{onClick:b,disabled:o,className:"w-full h-11 rounded-xl",children:[e("erbOpenPortal").replace("{role}",f),S.jsx(cO,{className:"ml-1.5 h-4 w-4"})]}),S.jsxs(Ya,{onClick:w,disabled:o,variant:"outline",className:"w-full h-11 rounded-xl",children:[S.jsx(pO,{className:"mr-1.5 h-4 w-4"}),e("erbSignOut")]})]}),S.jsx("p",{className:"mt-4 text-[11px] text-muted-foreground/80",children:e("erbFooter")})]})})};function $$(){try{return localStorage.getItem("mfs_ui_lang")==="bn"?"bn":"en"}catch{return"en"}}const W$=["failed to fetch dynamically imported module","error loading dynamically imported module","importing a module script failed","chunkloaderror","loading chunk","unable to preload css"];function Xw(e){const t=String(e instanceof Error?`${e.name} ${e.message}`:e).toLowerCase();return W$.some(n=>t.includes(n))}class z$ extends p.Component{constructor(){super(...arguments);Le(this,"state",{hasError:!1,isChunkError:!1,recovering:!1,message:""});Le(this,"handleHardReload",async()=>{this.setState({recovering:!0});try{await Bp()}catch{}const n=new URL(window.location.href);n.searchParams.set("cache_bust",String(Date.now())),window.location.replace(n.toString())});Le(this,"handleRetry",()=>{this.setState({hasError:!1,isChunkError:!1,recovering:!1,message:""})})}static getDerivedStateFromError(n){return{hasError:!0,isChunkError:Xw(n),recovering:!1,message:n instanceof Error?n.message:String(n)}}componentDidCatch(n,r){console.error("[LazyLoadErrorBoundary]",n,r.componentStack),Xw(n)&&(this.setState({re
202covering:!0}),kS(n).then(s=>{s||this.setState({recovering:!1})}))}render(){if(!this.state.hasError)return this.props.children;const n=$$();if(this.state.recovering)return S.jsx("div",{className:"fixed inset-0 z-[100] flex items-center justify-center bg-background",children:S.jsxs("div",{className:"flex flex-col items-center gap-3",children:[S.jsx("div",{className:"w-10 h-10 border-4 border-primary border-t-transparent rounded-full animate-spin"}),S.jsx("p",{className:"text-sm text-muted-foreground",children:an.llebRecovering[n]})]})});const r=this.state.isChunkError;return S.jsx("div",{className:"fixed inset-0 z-[100] flex items-center justify-center bg-background p-6",children:S.jsxs("div",{className:"max-w-sm w-full rounded-2xl border border-border bg-card p-6 shadow-elevated text-center space-y-4",children:[S.jsx("div",{className:"w-12 h-12 mx-auto rounded-2xl bg-amber-500/10 flex items-center justify-center",children:S.jsx(Um,{className:"w-6 h-6 text-amber-500"})}),S.jsxs("div",{className:"space-y-1",children:[S.jsx("h2",{className:"text-base font-bold text-foreground",children:r?an.llebUpdateTitle[n]:an.llebErrorTitle[n]}),S.jsx("p",{className:"text-xs text-muted-foreground",children:r?an.llebUpdateBody[n]:an.llebErrorBody[n]}),!r&&this.state.message&&S.jsx("p",{className:"text-[10px] text-muted-foreground/70 mt-2 font-mono break-all",children:this.state.message})]}),S.jsxs("div",{className:"flex flex-col gap-2",children:[S.jsxs("button",{onClick:this.handleHardReload,className:"w-full h-10 rounded-xl bg-primary text-primary-foreground text-sm font-semibold flex items-center justify-center gap-2 active:scale-[0.98] transition-transform",children:[S.jsx(UT,{className:"w-4 h-4"}),an.llebReload[n]]}),!r&&S.jsx("button",{onClick:this.handleRetry,className:"w-full h-10 rounded-xl border border-border text-foreground text-sm font-medium active:scale-[0.98] transition-transform",children:an.llebTryAgain[n]})]})]})})}}function q$(){return null}const Zw={info:"bg-primary/15 text-primary border-primary/30",warning:"bg-amber-500/15 text-amber-600 dark:text-amber-400 border-amber-500/30",critical:"bg-destructive/15 text-destructive border-destructive/30"},HA="easypay_dismissed_incidents";function H$(){try{return JSON.parse(sessionStorage.getItem(HA)||"[]")}catch{return[]}}const G$=()=>{const[e,t]=p.useState([]),[n,r]=p.useState(H$),s=async()=>{const{data:a}=await te.from("platform_incidents").select("id, title, message, severity, scope, read_only").eq("is_active",!0).order("created_at",{ascending:!1}).limit(3);t(a??[])};p.useEffect(()=>{s();const a=te.channel("public-platform-incidents").on("postgres_changes",{event:"*",schema:"public",table:"platform_incidents"},s).subscribe();return()=>{te.removeChannel(a)}},[]);const i=a=>{const l=[...n,a];r(l);try{sessionStorage.setItem(HA,JSON.stringify(l))}catch{}},o=e.filter(a=>!n.includes(a.id));return o.length===0?null:S.jsx("div",{className:"fixed top-0 left-0 right-0 z-[60] flex flex-col",children:o.map(a=>{const l=a.severity==="info"?dO:Um;return S.jsxs("div",{className:`flex items-start gap-2 border-b px-3 py-2 backdrop-blur-md ${Zw[a.severity]??Zw.info}`,role:"status",children:[S.jsx(l,{className:"w-4 h-4 mt-0.5 shrink-0"}),S.jsxs("div",{className:"min-w-0 flex-1 text-xs",children:[S.jsxs("p",{className:"font-semibold truncate",children:[a.title,a.read_only&&S.jsx("span",{className:"ml-2 font-normal opacity-80",children:"(read-only mode)"})]}),a.message&&S.jsx("p",{className:"opacity-90 line-clamp-2",children:a.message})]}),S.jsx("button",{onClick:()=>i(a.id),"aria-label":"Dismiss notice",className:"shrink-0 rounded-md p-1 hover:bg-foreground
202/10",children:S.jsx(Vm,{className:"w-3.5 h-3.5"})})]},a.id)})})},eS=p.lazy(()=>St(()=>L(()=>import("./Index-Dhox3xuJ.js").then(e=>e.I),__vite__mapDeps([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69])))),K$=p.lazy(()=>St(()=>L(()=>import("./AdminDashboard-DZAuuqQv.js"),__vite__mapDeps([70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,41,87,88,58,89,90,91,92,93,5,94,95,96,97,98,99,100,101,35,102,103,104,105,106,107,108,23,109,110,111,112,113,114,115,116,117,118,119,20,120,65,121,51,122,9,123,56,124,125,54,126,127,53,128,129,30,32,130,131,132,133,134,13,135,136,33,47,48,137,138,66,139,140,141,142,143,31,144,145,146,50,147,148,149,150,151,152,153,154,155,156,157,158,60,159,160,161,12,162,7,163,164,165,166,22,167,168,169,170,171,68,172,173,43,46,174,175,176,52,177,178,6,37,55,42,69,11,179,180,181,182,14,59,183,184,185,36,34,186,187,188,21,189,190,191,192,193,194,195,196,197,198,67,199,200,201,10,202,203,63,64,26,24,25,27,28,29,204,205,206,207,208,44,209,210,211,212,213,19,49,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,40,234])))),Y$=p.lazy(()=>L(()=>import("./AdminUserProfilePage-wyvTeWI3.js"),[])),Q$=p.lazy(()=>L(()=>import("./AdminBlockedPhonesPage-Cnfmnlye.js"),__vite__mapDeps([235,229,75,203,83,84,85,90,72,73,77,74,87,80,79,88,58,37,182,199,13,158,149,9]))),J$=p.lazy(()=>L(()=>import("./AgentDashboard-DVplFhfL.js"),__vite__mapDeps([236,19,77,72,73,75,203,91,237,238,239,60,58,88,11,67,110,188,20,85,21,55,74,76,240,44,32,13,66,42,241,82,62,63,64,112,9,51,149,210,211,86,69,71,41,38,39,40,43,242,89,84,23,116,46,118,113,183,65,154,194,199,35,53,54,37,18,98,101,99,108,175,197,123,147,93,190,162,36,47,48,204,221,7,68,95,153]))),X$=p.lazy(()=>L(()=>import("./AgentCashIn-r6GLtzSO.js"),__vite__mapDeps([243,244,74,75,91,245,44,45,246,65,9,247,248,17,142,16,211,86,98,101,150,146,6]))),Z$=p.lazy(()=>L(()=>import("./AgentCashOut-D3mUb1jQ.js"),__vite__mapDeps([249,244,74,75,91,245,44,45,246,65,9,247,248,17,142,16,211,86,98,95,150,69,6]))),eW=p.lazy(()=>L(()=>import("./AgentB2B-C4IX1_K9.js"),__vite__mapDeps([250,244,74,75,91,245,44,45,246,65,9,247,248,17,142,16,211,86,98,99,150,6]))),tS=p.lazy(()=>L(()=>import("./AgentRegister-i4jUiKUD.js"),__vite__mapDeps([251,74,75,91,252,134,247,86,253,44,217,254,87,80,79,73,84,88,85,58,77,72,78,255,256,69,53,120,59,130,131,9,196,199,111,200,148,160,51,170,48,60,158,68,67,98,197,55,13,14,150,47]))),tW=p.lazy(()=>L(()=>import("./AgentBillPay-Cz6LxduU.js"),__vite__mapDeps([257,74,75,91,245,44,45,246,65,9,211,86,248,17,142,98,175,150,6]))),nW=p.lazy(()=>L(()=>import("./AgentTransactionHistory-CFPqn6ua.js"),__vite__mapDeps([258,61,44,241,74,76,82,62,63,64,112,9,51,149,13,42,259,75,214,215,26,29,27,216,65,120,209,73,8,240,11,20,32,66,28,260,182,37,115,30,53,190,105,50,67,68,34,88,261,98,77,72,203,91,87,80,79,84,85,58,166,108,95,101,113]))),rW=p.lazy(()=>L(()=>import("./AgentBankTransfer-B2zhrKMA.js"),__vite__mapDeps([262,74,75,91,245,44,45,246,65,9,211,86,263,226,264,265,266,209,73,71,72,98,153,55,95,173,113,21,69,51,150,88,37,130,67]))),sW=p.lazy(()=>L(()=>import("./AgentAnalyticsPage-aum7sP2l.js"),__vite__mapDeps([267,74,215,26,260,29,25,98,120,65,204,221,205,175,113,99,95,101]))),iW=p.lazy(()=>L(()=>import("./AgentStatement-v4zE7NwV.js"),__vite__mapDeps([268,74,75,91,63,64,98,66,115,200,13]))),oW=p.lazy(()=>L(()=>import("./AgentSecurity-C1DzT96_.js"),__vite__mapDeps([269,74,270,44,86,253,252,134,271,120,60,188,124,163,51,69,9,272,98,11,152,14]))),aW=p.lazy(()=>L(()=>import("./AgentDisputes-UnbV08KQ.js"),__vite__mapDeps([273,74,75,203,91,90,72,73,87,80,79,84,88,85,58,76,61,44,77,81,54,9,37,53,138,50,115,69,167,163,55,98,51,173]))),lW=p.lazy(()=>L(()=>import("./AgentLeaderboard-DOlcr019.js"),__vite__mapDeps([274,261,98,191,161,102]))),cW=p.lazy(()=>L(()=>import("./NearbyAgentsPage-DMPN2OAI.js"),__vite__mapDeps([275,261,98,77,72,73,160,37,182,56,183,32,165,95]))),uW=p.lazy(()=>L(()=>import("./DistributorDashboard-CMRUfxVS.js"),__vite__mapDeps([276,19,74,75,91,76,77,72,73,44,237,238,239,60,58,88,11,67,110,188,20,85,21,55,242,89,84,9,51,23,259,214,215,26,29,27,216,65,120,209,8,240,32,13,66,42,241,82,62,63,64,112,149,61,28,260,182,37,115,30,53,190,105,50,68,34,210,211,86,69,123,197,199,157,108,147,98,144,47,48,195,133,118,204,221,93,198,186,113,160]))),dW=p.lazy(()=>L(()=>import("./DistributorCreateAgent-CQpXODQY.js"),__vite__mapDeps([277,74,75,91,247,224,209,73,160,121,37,85,51,225,98,197,150,11]))),hW=p.lazy(()=>L(()=>import("./SuperDistributorDashboard-DyZqrNoh.js"),__vite__mapDeps([278,74,75,91,76,77,72,73,44,237,238,239,60,58,88,11,67,110,188,20,85,21,55,242,89,84,9,51,23,259,214,215,26,29,27,216,65,120,209,8,240,32,13,66,42,241,82,62,63,64,112,149,61,28,260,182,37,115,30,53,190,105,50,68,34,19,197,132,157,108,137,118,147,98,47,48,204,221,93,199,195,113]))),fW=p.lazy(()=>L(()=>import("./SuperDistributorCreateDistributor-C7Ca1Scz.js"),__vite__mapDeps([279,244,74,75,91,223,209,73,76,87,80,79,84,88,85,58,224,160,121,37,51,11,9,197,98,132]))),pW=p.lazy(()=>St(()=>L(()=>import("./MerchantDashboard-CYXN_1o4.js"),__vite__mapDeps([280,244,209,73,214,215,26,29,27,216,65,120,247,19,281,77,72,75,91,74,76,222,69,51,53,9,54,194,15,254,44,87,80,79,84,88,85,58,78,255,256,59,130,131,196,199,111,200,148,160,170,48,60,158,66,104,153,226,264,207,204,71,39,248,17,142,211,86,245,45,246,282,203,126,100,173,55,32,11,21,46,144,118,93,10,205,206,239,7,12,180,133,190,22,219,155,13,37,47,151,172,24,25,28,174,212,63,64,43,185,146,283,238,4,208,67,20,98,210,193,89,83,90,182,164,179,218,187,34,114,35,189,102,166,242,23,18,175,108,162,94,183,6,14,33,42,260,115,188,176])))),mW=p.lazy(()=>St(()=>L(()=>import("./MerchantApplyVendor-7oAqZjP_.js"),__vite__mapDeps([284,74,75,203,76,91,185,54,53,9,98,116,194])))),bW=p.lazy(()=>St(()=>L(()=>import("./MerchantApplyPage-CofQ-SFe.js"),__vite__mapDeps([285,286,77,72,73,75,91,203,76,234,90,37,209,225,224,160,121,85,51,222,281,185,54,53,122])))),gW=p.lazy(()=>St(()=>L(()=>import("./AdminMerchantCategoriesPage-Bxw59wCp.js"),__vite__mapDeps([287,74,75,76,71,72,73,98,34,67,169])))),yW=p.lazy(()=>St(()=>L(()=>import("./AdminSeedHealthPage-D3teUVUl.js"),__vite__mapDeps([288,74,76,98,125,174,54,9])))),vW=p.lazy(()=>L(()=>import("./CheckoutPage-BUlCR6zV.js"),__vite__mapDeps([289,244,217,44,208,53,55,120,52,152,60,9,54,104,11]))),wW=p.lazy(()=>L(()=>import("./DynamicQrPage-CHkw4llT.js"),__vite__mapDeps([290,39,291,217,44,208,185,60,51,9,54,53,200]))),SW=p.lazy(()=>L(()=>import("./PayPage-DwcBv62n.js"),__vite__mapDeps([292,244,2,44,217,208,39,40,185,11,46,98,60,9,32,33,150,54]))),PW=p.lazy(()=>L(()=>import("./NotFound-BiXukP9d.js"),[])),TW=p.lazy(()=>L(()=>import("./TeamLoginPage-CF1lw1l4.js"),__vite__mapDeps([293,74,75,91,90,72,73,252,134,67,60,69,47,48,159]))),CW=p.lazy(()=>St(()=>L(()=>import("./MerchantLoginPage-CPQ9UaCH.js"),__vite__mapDeps([294,244,75,91,252,134,295,272,69,296,77,72,73,203,9,156,68,53,55,152,7,286,76,234,90,37,209,225,224,160,121,85,51,222,281,185,54,122,59,60,179,200,46,118])))),EW=p.lazy(()=>St(()=>L(()=>import("./MerchantManagerLoginPage-BjTHh3aJ.js"),__vite__mapDeps([297,244,75,91,252,134,295,272,69,296,77,72,73,203,9,156,68,53,55,152,7,196,59,60])))),AW=p.lazy(()=>St(()=>L(()=>import("./MerchantSupportPage-Bb2VYAdE.js"),__vite__mapDeps([298,237,75,238,239,60,58,88,11,67,110,188,20,85,21,55,59,69,97,66,167,13,98,152]))
202)),nS=p.lazy(()=>L(()=>import("./RoleInstallPage-DvTVWMkN.js"),__vite__mapDeps([299,300,66,127,179,14,199,118,11,98,85,53,51,13,32,42]))),xW=p.lazy(()=>L(()=>import("./InstallLandingPage-KiO_v2WF.js"),__vite__mapDeps([301,300,13,67,14,179,199,118,11,32]))),kW=p.lazy(()=>L(()=>import("./InstallStatusPage-CCMhE0CF.js"),__vite__mapDeps([302,9,54,33,32]))),_W=p.lazy(()=>L(()=>import("./InstallAllRolesWizard-S4d3RrIj.js"),__vite__mapDeps([303,300,14,179,199,118,11,98,52,13,9,33,32,181,126]))),rS=p.lazy(()=>L(()=>import("./RoleLoginPage-BBv-SOnq.js"),__vite__mapDeps([304,118,199,179,14,11]))),RW=p.lazy(()=>L(()=>import("./ShopPage-Irgzex07.js"),__vite__mapDeps([305,2,75,37,87,80,79,73,84,88,85,58,219,78,218,306,76,307,308,148,183,180,309,109,117,111,103,150,14,59,77,72,164,173,21,182,310,92,93,5,94,95,96,97,98,99,100,101,35,102,104,105,106,107,108,23,110,112,113,114,115,116,118,119,20,120,65,121,51,122,9,123,56,124,125,54,126,127,53,128,129,30,32,130,131,132,133,134,13,135,136,33,47,48,137,138,66,139,140,141,142,143,31,144,145,146,50,147,149,151,152,153,154,155,156,157,158,60,159,160,161,12,162,7,163,165,166,22,167,168,169,170,171,68,172,43,46,174,175,176,52,177,178,6,55,42,69,11,179,181,184,185,36,34,186,187,188,189,190,191,192,193,194,195,196,197,198,67,199,200,201,10,19,311,312]))),DW=p.lazy(()=>L(()=>import("./ShopCheckoutPage-i0Gc5l24.js"),__vite__mapDeps([313,75,91,160,170,21,85,173,308,3,211,86,44,217,245,45,246,65,9,307,98,22,200,130,14,51,31,187,180]))),NW=p.lazy(()=>L(()=>import("./ProductDetailPage-B1l-WAqT.js"),__vite__mapDeps([314,2,75,78,79,80,283,238,4,208,44,76,81,219,218,202,183,315,203,151,308,311,316,312,98,148,42,180,120,65,185,164,173,34,22,108,69,7,85,48,20,55]))),IW=p.lazy(()=>L(()=>import("./VendorStorePage-C4LuU6Af.js"),__vite__mapDeps([317,75,219,306,76,307,308,148,183,180,309,78,79,80,109,117,111,103,150,14,59,77,72,73,164,173,21,104,311,98,37]))),OW=p.lazy(()=>L(()=>import("./WishlistPage-6mPJLyRJ.js"),__vite__mapDeps([318,219,311,308,306,76,307,148,183,180,98]))),LW=p.lazy(()=>L(()=>import("./CustomerOrdersPage-DXdATPtK.js"),__vite__mapDeps([319,76,219,77,72,73,315,75,203,183,151,212,63,64,26,98,22,54,9,53,66]))),MW=p.lazy(()=>L(()=>import("./OrderDetailPage-KN9nnf0p.js"),__vite__mapDeps([320,212,63,64,26,76,219,77,72,73,203,87,80,79,84,88,85,58,232,33,315,75,183,151,307,98,22,53,9,54,52,11,200,130,160,13,43,107]))),FW=p.lazy(()=>L(()=>import("./CareersPage-Hnb5rYzB.js"),__vite__mapDeps([321,2,75,203,76,98,111,160,53,55,9]))),jW=p.lazy(()=>L(()=>import("./CouponsPage-GrDFH4Po.js"),__vite__mapDeps([322,2,219,323,59,187,31,153,106,53,65,261,98,173,141,34,66,14,10,130,179,9,32]))),BW=p.lazy(()=>L(()=>import("./CouponDetailPage-DWdllDHo.js"),__vite__mapDeps([324,2,219,325,187,34,66,14,10,130,179,98,42,141,9,32,69,51,59,114,199,53,65]))),UW=p.lazy(()=>L(()=>import("./DonationsPage-DnFvYBGH.js"),__vite__mapDeps([326,2,15,211,86,202,79,89,84,240,44,11,20,32,13,66,42,217,145,148,184,135,103,98,47,85,150,114,26,21,191]))),VW=p.lazy(()=>L(()=>import("./LoanPage-DFEDE-fy.js"),__vite__mapDeps([327,2,211,86,245,44,45,246,65,9,15,83,84,85,87,80,79,73,88,58,77,72,78,323,59,187,31,153,106,53,18,19,115,190,200,130,179,98,148,178,143,186,69,54,146,108,114,133,175,11,189,107,35,48,47,94,118,188,66,104,183,51,60]))),$W=p.lazy(()=>St(()=>L(()=>import("./InsurancePage-Cw2uXTby.js"),__vite__mapDeps([328,2,15,74,76,210,77,72,73,75,211,86,44,69,98,9,148,11,10,14])))),WW=p.lazy(()=>L(()=>import("./GiftCardsPage-NDx8xLRs.js"),__vite__mapDeps([329,2,15,76,87,80,79,73,84,88,85,58,323,59,187,31,153,106,53,65,261,98,210,77,72,75,211,86,44,69,155,179,129,109,148,145,14,32,42]))),zW=p.lazy(()=>L(()=>import("./DeveloperPortal-6DzH309Q.js"),__vite__mapDeps([330,2,76,10,128,144,46,113,130,14,66,11,88,65,85,32]))),qW=p.lazy(()=>L(()=>import("./AccountPage-KoI1uE7X.js"),__vite__mapDeps([331,219,89,84,76,77,72,73,270,44,86,253,252,134,271,120,60,188,124,163,51,69,9,254,87,80,79,88,85,58,78,255,256,53,59,130,131,196,199,111,200,148,160,170,48,158,237,75,238,239,11,67,110,20,21,55,116,92,93,5,94,95,96,97,98,99,100,101,35,102,103,104,105,106,107,108,23,109,112,113,114,115,117,118,119,65,121,122,123,56,125,54,12
2026,127,128,129,30,32,132,133,13,135,136,33,47,137,138,66,139,140,141,142,143,31,144,145,146,50,147,149,150,151,152,153,154,155,156,157,159,161,12,162,7,164,165,166,22,167,168,169,171,68,172,173,43,46,174,175,176,52,177,178,6,37,42,179,180,181,182,14,183,184,185,36,34,186,187,189,190,191,192,193,194,195,197,198,201,10,41,218,231,282,214,215,26,29,27,216,209,204,205,206,220,332,203,286,91,234,90,225,224,222,281,232,40,57,15,19,230]))),HW=p.lazy(()=>L(()=>import("./LoyaltyProgressPage-B2XeccUc.js"),__vite__mapDeps([333,230,92,93,5,94,95,96,97,98,99,100,101,35,102,103,104,105,106,107,108,23,109,110,111,112,113,114,115,116,117,118,119,20,85,88,120,65,58,121,51,122,9,123,56,124,125,54,126,127,53,128,129,30,32,130,131,132,133,134,13,135,136,33,47,48,137,138,66,139,140,141,142,143,31,144,145,146,50,147,148,149,150,151,152,153,154,155,156,157,158,60,159,160,161,12,162,7,163,164,165,166,22,167,168,169,170,171,68,172,173,43,46,174,175,176,52,177,178,6,37,55,42,69,11,179,180,181,182,14,59,183,184,185,36,34,186,187,188,21,189,190,191,192,193,194,195,196,197,198,67,199,200,201,10,74,218,231,334,75,91,90,72,73,229]))),GW=p.lazy(()=>L(()=>import("./PointsWalletPage-B1WmbioH.js"),__vite__mapDeps([335,261,98,74,76,334,75,91,90,72,73,229,30,59,31,35,190,53,94]))),KW=p.lazy(()=>L(()=>import("./SavingsPage-CzE9DHvb.js"),__vite__mapDeps([336,2,75,87,80,79,73,84,88,85,58,77,72,83,78,3,15,337,228,211,86,44,245,45,246,65,9,60,98,59,200,186,115,30,119,173,51,190,114,168,172,56,54]))),YW=p.lazy(()=>L(()=>import("./InstallmentJourneyPage-NmpUH0a4.js"),__vite__mapDeps([338,337,98,153,186,190,191,59,30,200,173,53,85,115])));p.lazy(()=>L(()=>import("./RecipientHarness-DzDViifz.js"),__vite__mapDeps([339,340,341])));p.lazy(()=>L(()=>import("./CashOutHarness-Cn2SpIVo.js"),__vite__mapDeps([342,340,341])));p.lazy(()=>L(()=>import("./WalletSetupHarness-B6Gp_Y7-.js"),__vite__mapDeps([343,40])));p.lazy(()=>L(()=>import("./AgentKycHarness-fyVgGA3o.js"),__vite__mapDeps([344,77,72,73,74,256,51,199,9,35,53,54])));p.lazy(()=>L(()=>import("./KycOcrRescanHarness-CJEsHLdw.js"),__vite__mapDeps([345,255,256])));p.lazy(()=>L(()=>import("./QrScanRouterHarness-KjGTGyon.js"),__vite__mapDeps([346,16])));p.lazy(()=>L(()=>import("./CashOutQrErrorHarness-CBHsijSq.js"),__vite__mapDeps([347,348,16,40])));p.lazy(()=>L(()=>import("./BankPickerHarness-HlFLmyNr.js"),__vite__mapDeps([349,226,263,264,87,80,79,73,84,88,85,58])));p.lazy(()=>L(()=>import("./AgentBankTransferHarness-DtOQ1wtU.js"),__vite__mapDeps([350,245,44,45,246,65,9,266])));const QW=p.lazy(()=>L(()=>import("./PaymentRequestsPage-A96LiKW9.js"),__vite__mapDeps([351,2,261,98,75,91,203,74,76,87,80,79,73,84,88,85,58,352,71,72,193,9,53,26,52,216,173,149,190,139,32,33,54]))),JW=p.lazy(()=>L(()=>import("./PayLinkPage-AVU8O2h0.js"),__vite__mapDeps([353,2,75,74,76,44,217,208,352,71,72,73,203,193,9,53,26,52,54,150,200]))),XW=p.lazy(()=>L(()=>import("./OAuthConsent-D6VpEYUD.js"),[])),ZW=p.lazy(()=>L(()=>import("./AdminMcpActivityLog-C833x8mm.js"),__vite__mapDeps([354,2,74,76,75,13,26,33]))),ez=p.lazy(()=>L(()=>import("./PaymentPopupPage-Ca6miY7m.js"),__vite__mapDeps([355,54,60]))),tz=p.lazy(()=>L(()=>import("./PaymentReturnPage-bKKVGtgA.js"),__vite__mapDeps([356,9,54]))
202),nz=p.lazy(()=>L(()=>import("./AddMoneyStatusPage-CtowkvUQ.js"),__vite__mapDeps([357,74,98,9,54,53]))),rz=p.lazy(()=>L(()=>import("./ForgotPinPage-BDXtYLRS.js"),__vite__mapDeps([358,244,252,134,74,44,253,86,271,2,98,152,51,163,69,9,188,124]))),sz=p.lazy(()=>L(()=>import("./AdminAuthDiagnosticsPage-BzNTLTbA.js"),__vite__mapDeps([359,93,69]))),iz=p.lazy(()=>L(()=>import("./MultiCurrencyPage-CT_In61r.js"),__vite__mapDeps([360,361,74,75,76,87,80,79,73,84,88,85,58,210,77,72,211,86,44,69,98,96,190]))),oz=p.lazy(()=>L(()=>import("./MySubscriptionsPage-BxTXhJr4.js"),__vite__mapDeps([362,363,74,76,71,72,73,98,176]))),az=p.lazy(()=>L(()=>import("./SubscribePlanPage-C0R142f0.js"),__vite__mapDeps([364,363,74,75,210,77,72,73,211,86,44,69,98,176]))),lz=p.lazy(()=>St(()=>L(()=>import("./MerchantPlansPage-wDzXbgZY.js"),__vite__mapDeps([365,363,74,75,203,76,89,84,87,80,79,73,88,85,58,90,72,98,173,199,190,176,32,170,21])))),cz=p.lazy(()=>St(()=>L(()=>import("./AdminFxRatesPage-R8GaA6Sr.js"),__vite__mapDeps([366,361,74,75,89,84,76,213,98,177,149])))),uz=new HM({defaultOptions:{queries:{staleTime:3e4,gcTime:5*6e4,refetchOnWindowFocus:!0,refetchOnReconnect:!0,refetchOnMount:!0,retry:1}}}),GA=p.forwardRef((e,t)=>S.jsx("div",{ref:t,className:"fixed inset-0 z-50 flex items-center justify-center bg-background",children:S.jsx("div",{className:"h-8 w-8 animate-spin rounded-full border-4 border-primary border-t-transparent"})}));GA.displayName="LazyFallback";const dz=()=>S.jsx(n1,{attribute:"class",defaultTheme:"system",enableSystem:!0,storageKey:"mfs-theme",children:S.jsx(fj,{children:S.jsx(JM,{client:uz,children:S.jsx(xM,{children:S.jsxs(pj,{children:[S.jsx(yj,{}),S.jsx(JO,{}),S.jsx(L1,{}),S.jsx(q$,{}),S.jsx(G$,{}),S.jsxs(cj,{children:[S.jsx(M$,{}),S.jsx(F$,{}),S.jsx(V$,{}),S.jsx(z$,{children:S.jsx(p.Suspense,{fallback:S.jsx(GA,{}),children:S.jsxs(tj,{children:[S.jsxs(M,{path:"/",element:S.jsx(Ip,{}),children:[S.jsx(M,{index:!0,element:S.jsx(eS,{})}),S.jsx(M,{path:"shop",element:S.jsx(RW,{})}),S.jsx(M,{path:"shop/checkout",element:S.jsx(DW,{})}),S.jsx(M,{path:"shop/:slug",element:S.jsx(IW,{})}),S.jsx(M,{path:"product/:id",element:S.jsx(NW,{})}),S.jsx(M,{path:"wishlist",element:S.jsx(OW,{})}),S.jsx(M,{path:"orders",element:S.jsx(LW,{})}),S.jsx(M,{path:"orders/:id",element:S.jsx(MW,{})}),S.jsx(M,{path:"checkout/:sessionId",element:S.jsx(vW,{})}),S.jsx(M,{path:"pay/qr/:sessionId",element:S.jsx(wW,{})}),S.jsx(M,{path:"pay",element:S.jsx(SW,{})}),S.jsx(M,{path:"careers",element:S.jsx(FW,{})}),S.jsx(M,{path:"coupons",element:S.jsx(jW,{})}),S.jsx(M,{path:"coupons/:id",element:S.jsx(BW,{})}),S.jsx(M,{path:"donations",element:S.jsx(UW,{})}),S.jsx(M,{path:"loan",element:S.jsx(VW,{})}),S.jsx(M,{path:"insurance",element:S.jsx($W,{})}),S.jsx(M,{path:"giftcards",element:S.jsx(WW,{})}),S.jsx(M,{path:"account",element:S.jsx(qW,{})}),S.jsx(M,{path:"loyalty",element:S.jsx(HW,{})}),S.jsx(M,{path:"points",element:S.jsx(GW,{})}),S.jsx(M,{path:"savings",element:S.jsx(KW,{})}),S.jsx(M,{path:"savings/journey",element:S.jsx(YW,{})}),S.jsx(M,{path:"payment-requests",element:S.jsx(QW,{})}),S.jsx(M,{path:"currencies",element:S.jsx(iz,{})}),S.jsx(M,{path:"subscriptions",element:S.jsx(oz,{})})]}),S.jsx(M,{path:"/r/:shortCode",element:S.jsx(JW,{})}),S.jsx(M,{path:"/payment-popup",element:S.jsx(ez,{})}),S.jsx(M,{path:"/payment-return",element:S.jsx(tz,{})}),S.jsx(M,{path:"/addmoney/status",element:S.jsx(nz,{})}),S.jsx(M,{path:"/.lovable/oauth/consent",element:S.jsx(XW,{})}),S.jsx(M,{path:"/forgot-pin",element:S.jsx(rz,{})}),S.jsx(M,{path:"/register/agent",element:S.jsx(tS,{})}),S.jsx(M,{path:"/subscribe/:planId",element:S.jsx(az,{})}),S.jsx(M,{path:"/customer",element:S.jsx(Ip,{}),children:S.jsx(M,{index:!0,element:S.jsx(eS,{})})}),S.jsx(M,{path:"/:role/install",element:S.jsx(nS,{})}),S.jsx(M,{path:"/:role/login",element:S.jsx(rS,{})}),S.jsx(M,{path:"/admin",element:S.jsx(Ot,{roles:["admin","compliance","finance","support","operations","marketing","hr","audit","risk","developer","manager"],unauthenticatedRedirect:"/admin/login",unauthorizedRedirect:"/admin/login",children:S.jsx(K$,{})})}),S.jsx(M,{path:"/admin/users/:uid",element:S.jsx(Ot,{roles:["admin","compliance"],unauthenticatedRedirect:"/admin/login",unauthorizedRedirect:"/admin/login",children:S.jsx(Y$,{})})}),S.jsx(M,{path:"/admin/blocked-phones",element:S.jsx(Ot,{roles:["admin","compliance"],unauthenticatedRedirect:"/admin/login",unauthorizedRedirect:"/admin/login",children:S.jsx(Q$,{})})}),S.jsx(M,{path:"/admin/mcp-activity",element:S.jsx(Ot,{roles:["admin","developer","audit"],unauthenticatedRedirect:"/admin/login",unauthorizedRedirect:"/admin/login",children:S.jsx(ZW,{})})}),S.jsx(M,{path:"/admin/auth-diagnostics",element:S.jsx(Ot,{roles:["admin","developer"],unauthenticatedRedirect:"/admin/login",unauthorizedRedirect:"/admin/login",children:S.jsx(sz,{})})}),S.jsx(M,{path:"/admin/fx-rates",element:S.jsx(Ot,{roles:["admin","finance"],unauthenticatedRedirect:"/admin/login",unauthorizedRedirect:"/admin/login",children:S.jsx(cz,{})})}),S.jsxs(M,{path:"/agent",element:S.jsx(yh,{themeClass:"agent-theme",roles:["agent","admin"],unauthenticatedRedirect:"/agent/login",unauthorizedRedirect:"/agent/login"}),children:[S.jsx(M,{index:!0,element:S.jsx(J$,{})}),S.jsx(M,{path:"cashin",element:S.jsx(X$,{})}),S.jsx(M,{path:"cashout",element:S.jsx(Z$,{})}),S.jsx(M,{path:"b2b",element:S.jsx(eW,{})}),S.jsx(M,{path:"register",element:S.jsx(tS,{})}),S.jsx(M,{path:"billpay",element:S.jsx(tW,{})}),S.jsx(M,{path:"history",element:S.jsx(nW,{})}),S.jsx(M,{path:"bank",element:S.jsx(rW,{})}),S.jsx(M,{path:"analytics",element:S.jsx(sW,{})}),S.jsx(M,{path:"statement",element:S.jsx(iW,{})}),S.jsx(M,{path:"security",element:S.jsx(oW,{})}),S.jsx(M,{path:"disputes",element:S.jsx(aW,{})}),S.jsx(M,{path:"leaderboard",element:S.jsx(lW,{})})]}),S.jsx(M,{path:"/agents/nearby",element:S.jsx(cW,{})}),S.jsxs(M,{path:"/distributor",element:S.jsx(yh,{roles:["distributor","admin"],unauthenticatedRedirect:"/distributor/login",unauthorizedRedirect:"/distributor/login"}),children:[S.jsx(M,{index:!0,element:S.jsx(uW,{})}),S.jsx(M,{path:"create-agent",element:S.jsx(dW,{})})]}),S.jsxs(M,{path:"/super-distributor",element:S.jsx(yh,{roles:["super_distributor","admin"],unauthenticatedRedirect:"/super-distributor/login",unauthorizedRedirect:"/super-distributor/login"}),children:[S.jsx(M,{index:!0,element:S.jsx(hW,{})}),S.jsx(M,{path:"create-distributor",element:S.jsx(fW,{})})]}),S.jsx(M,{path:"/merchant",element:S.jsx(Ot,{roles:["merchant","admin"],allowStaff:!0,unauthenticatedRedirect:"/merchant/login",unauthorizedRedirect:"/merchant/login",children:S.jsx(pW,{})})}),S.jsx(M,{path:"/merchant/apply-vendor",element:S.jsx(Ot,{roles:["merchant","admin"],unauthenticatedRedirect:"/merchant/login",unauthorizedRedirect:"/merchant/login",children:S.jsx(mW,{})})}),S.jsx(M,{path:"/merchant/plans",element:S.jsx(Ot,{roles:["merchant","admin"],allowStaff:!0,unauthenticatedRedirect:"/merchant/login",unauthorizedRedirect:"/merchant/login",children:S.jsx(lz,{})})}),S.jsx(M,{path:"/merchant/apply",element:S.jsx(bW,{})}),S.jsx(M,{path:"/admin/merchant-categories",element:S.jsx(Ot,{roles:["admin"],unauthenticatedRedirect:"/admin/login",unauthorizedRedirect:"/admin/login",children:S.jsx(gW,{})})}),S.jsx(M,{path:"/admin/seed-health",element:S.jsx(Ot,{roles:["admin"],unauthenticatedRedirect:"/admin/login",unauthorizedRedirect:"/admin/login",children:S.jsx(yW,{})})}),S.jsx(M,{path:"/login/:role",element:S.jsx(rS,{})}),S.jsx(M,{path:"/team-login",element:S.jsx(TW,{})}),S.jsx(M,{path:"/merchant-login",element:S.jsx(CW,{})}),S.jsx(M,{path:"/merchant-manager-login",element:S.jsx(EW,{})}),S.jsx(M,{path:"/merchant-support",element:S.jsx(AW,{})}),S.jsx(M,{path:"/install",element:S.jsx(xW,{})}),S.jsx(M,{path:"/install/status",element:S.jsx(kW,{})}),S.jsx(M,{path:"/install/all",element:S.jsx(_W,{})}),S.jsx(M,{path:"/install/:role",element:S.jsx(nS,{})}),S.jsx(M,{path:"/developers",element:S.jsx(zW,{})}),!1,S.jsx(M,{path:"*",element:S.jsx(PW,{})})]})})})]})]})})})})});Kx();kx();kR();document.addEventListener("keydown",e=>{e.key==="Enter"&&e.target instanceof HTMLInputElement&&e.target.type!=="submit"&&e.target.blur()});async function hz(){try{await Ox(),Mx()}catch{}NS(),ZP(document.getElementById("root")).render(S.jsx(oT,{children:S.jsx(dz,{})}));const e=(()=>{try{return window.self!==window.top}catch{return!0}})(),t=window.location.hostname.includes("id-preview--")||window.location.hostname.includes("lovableproject.com");(e||t)&&Lx()}hz();export{aM as $,i2 as A,uO as B,bT as C,mn as D,Be as E,Mm as F,$u as G,JL as H,Xr as I,qr as J,Jn as K,hO as L,sM as M,iM as N,hC as O,Pt as P,mT as Q,N as R,mO as S,Um as T,SI as U,dT as V,Lm as W,Vm as X,oM as Y,ru as Z,L as _,Ln as a,uB as a$,cT as a0,j1 as a1,fO as a2,xM as a3,Az as a4,xz as a5,kM as a6,cO as a7,lT as a8,$A as a9,za as aA,Ib as aB,jU as aC,lV as aD,nV as aE,VU as aF,RV as aG,WE as aH,fu as aI,gI as aJ,p$ as aK,Cz as aL,BI as aM,ul as aN,Wf as aO,Ua as aP,WM as aQ,Ye as aR,mt as aS,IM as aT,lO as aU,WA as aV,ng as aW,Pu as aX,Sz as aY,S$ as aZ,an as a_,dO as aa,pz as ab,el as ac,b$ as ad,g$ as ae,al as af,kz as ag,jT as ah,N$ as ai,Tz as aj,Nn as ak,Ej as al,HU as am,Fe as an,db as ao,co as ap,jb as aq,KE as ar,Pe as as,uu as at,rt as au,hB as av,tB as aw,dB as ax,OE as ay,hn as az,dl as b,eE as b0,Kr as b1,pe as b2,Gv as b3,bz as b4,$x as b5,Vp as b6,_z as b7,kc as b8,Up as b9,xv as ba,xc as bb,wu as bc,Nz as bd,Iz as be,VA as bf,mj as bg,Cb as bh,D$ as bi,wz as bj,kg as bk,Oz as bl,vz as c,Ya as d,XT as e,pO as f,mz as g,Np as h,gz as i,S as j,ts as k,QM as l,f$ as m,sb as n,yz as o,Pz as p,Rz as q,p as r,te as s,fI as t,cb as u,St as v,UT as w,zb as x,FT as y,t1 as z};

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.