{"version":3,"file":"ComponentWrapper.CTdia5Cy.mjs","names":["n","o","t","e","r","s","a","u","d","l","f","v","w","i","h","p","m","g","c","e","t","r","n","s","o","c","i","u","a","p","l","g","d","y","v","w","React","useCallback"],"sources":["https:/framerusercontent.com/modules/eAejHXy6apg0StNmpKvK/GXn1lJ5V4nUwhRO9yQKC/_framer_utils.js","https:/ga.jspm.io/npm:jotai@1.9.2/esm/index.mjs","https:/framerusercontent.com/modules/xpqbkEp3IFoaBlvr8BRa/mmYIfWtGVAI0nJXkmHhs/_queries.js","https:/framerusercontent.com/modules/yZBbIevRfN36MGDPpltx/GNI9VoSkUDyJw3EMOM7K/_atoms.js","https:/ga.jspm.io/npm:@shopify/storefront-api-client@0.2.2/dist/index.mjs","https:/framerusercontent.com/modules/7dEgbg7qo3lsQk361YtS/NrF60tPHZRRgADqpoRFr/_utils.js","https:/framerusercontent.com/modules/tdCHCV0pSkxlDaX5GkOX/SxZI1Y5OuGrQCk85U8Xt/_useShopify.js","https:/framerusercontent.com/modules/fWwtzMT2tYXMW4IKB8On/1dFHOQ0gPjMC0e1WUStY/_test_data.js","https:/framerusercontent.com/modules/hQlZBgGeLDev5WuUJA4d/6ncqGCEKZWsfLWpBe7Jn/ComponentWrapper.js"],"sourcesContent":["import{ControlType,RenderTarget}from\"framer\";export const ProductBaseControls={productID:{title:\"Product ID\",type:ControlType.String}};export const isOnCanvas=()=>RenderTarget.current()===RenderTarget.canvas;export const ConfigControls={config:{type:ControlType.Object,hidden:()=>true,controls:{storefrontToken:{type:ControlType.String},storeDomain:{type:ControlType.String},countryIsoCode:{type:ControlType.String,defaultValue:\"US\"},languageIsoCode:{type:ControlType.String,defaultValue:\"EN\"},testMode:{type:ControlType.Boolean,defaultValue:true},permissions:{type:ControlType.Object,controls:{selling_plans:{type:ControlType.Boolean,defaultValue:false}}}}},font:{type:ControlType.Font,hidden:()=>true}};export function cn(...styles){let final={};styles.forEach(style=>{if(style){final={...final,...style};if(typeof style.border===\"object\"){final={...final,...style.border};}if(typeof style.font===\"object\"){final={...final,...style.font};}if(style.hidden){final={...final,display:\"none\"};}}});return final;}export const textProperties=(fontSize=16,color)=>{return{fontSize:{type:ControlType.Number,min:6,max:100,defaultValue:fontSize},color:{type:ControlType.Color,defaultValue:color},font:{type:ControlType.Font,displayTextAlignment:true,defaultFontType:\"sans-serif\"},padding:{type:ControlType.Padding}};};\nexport const __FramerMetadata__ = {\"exports\":{\"ProductBaseControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ConfigControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"cn\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isOnCanvas\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"textProperties\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./_framer_utils.map","import{createContext as t,useState as e,useEffect as n,useRef as o,createElement as r,useContext as s,useReducer as i,useDebugValue as c,useCallback as a}from\"react\";const u=Symbol();const isSuspensePromise=t=>!!t[u];const isSuspensePromiseAlreadyCancelled=t=>!t[u].c;const cancelSuspensePromise=t=>{var e;const{b:n,c:o}=t[u];if(o){o();null==(e=l.get(n))?void 0:e()}};const isEqualSuspensePromise=(t,e)=>{const n=t[u].o;const o=e[u].o;return n===o||t===o||isSuspensePromise(n)&&isEqualSuspensePromise(n,e)};const createSuspensePromise=(t,e)=>{const n={b:t,o:e,c:null};const o=new Promise((t=>{n.c=()=>{n.c=null;t()};e.finally(n.c)}));o[u]=n;return o};const copySuspensePromise=t=>createSuspensePromise(t[u].b,t[u].o);const l=new WeakMap;const registerPromiseAbort=(t,e)=>{l.set(t,e)};const hasInitialValue=t=>\"init\"in t;const d=\"r\";const f=\"w\";const p=\"c\";const m=\"s\";const v=\"h\";const w=\"n\";const h=\"l\";const E=\"a\";const g=\"m\";const createStore=t=>{const e=new WeakMap;const n=new WeakMap;const o=new Map;let r;let s;if(\"production\"!==(import.meta.env&&import.meta.env.MODE)){r=new Set;s=new Set}if(t)for(const[n,o]of t){const t={v:o,r:0,y:true,d:new Map};if(\"production\"!==(import.meta.env&&import.meta.env.MODE)){Object.freeze(t);hasInitialValue(n)||console.warn(\"Found initial value for derived atom which can cause unexpected behavior\",n)}e.set(n,t)}const i=new WeakMap;const addSuspensePromiseToCache=(t,e,n)=>{let o=i.get(e);if(!o){o=new Map;i.set(e,o)}n.then((()=>{if(o.get(t)===n){o.delete(t);o.size||i.delete(e)}}));o.set(t,n)};const cancelAllSuspensePromiseInCache=t=>{const e=new Set;const n=i.get(t);if(n){i.delete(t);n.forEach(((t,n)=>{cancelSuspensePromise(t);e.add(n)}))}return e};const c=new WeakMap;const getVersionedAtomStateMap=t=>{let e=c.get(t);if(!e){e=new Map;c.set(t,e)}return e};const getAtomState=(t,n)=>{if(t){const e=getVersionedAtomStateMap(t);let o=e.get(n);if(!o){o=getAtomState(t.p,n);o&&\"p\"in o&&isSuspensePromiseAlreadyCancelled(o.p)&&(o=void 0);o&&e.set(n,o)}return o}return e.get(n)};const setAtomState=(t,n,r)=>{\"production\"!==(import.meta.env&&import.meta.env.MODE)&&Object.freeze(r);if(t){const e=getVersionedAtomStateMap(t);e.set(n,r)}else{const t=e.get(n);e.set(n,r);o.has(n)||o.set(n,t)}};const createReadDependencies=(t,e=new Map,n)=>{if(!n)return e;const o=new Map;let r=false;n.forEach((n=>{var s;const i=(null==(s=getAtomState(t,n))?void 0:s.r)||0;o.set(n,i);e.get(n)!==i&&(r=true)}));return e.size!==o.size||r?o:e};const setAtomValue=(t,e,n,o,r)=>{const s=getAtomState(t,e);if(s){if(r&&(!(\"p\"in s)||!isEqualSuspensePromise(s.p,r)))return s;\"p\"in s&&cancelSuspensePromise(s.p)}const i={v:n,r:(null==s?void 0:s.r)||0,y:true,d:createReadDependencies(t,null==s?void 0:s.d,o)};let c=!(null==s?void 0:s.y);if(s&&\"v\"in s&&Object.is(s.v,n)){if(i.d!==s.d&&(i.d.size!==s.d.size||!Array.from(i.d.keys()).every((t=>s.d.has(t))))){c=true;Promise.resolve().then((()=>{flushPending(t)}))}}else{c=true;++i.r;i.d.has(e)&&(i.d=new Map(i.d).set(e,i.r))}if(s&&!c)return s;setAtomState(t,e,i);return i};const setAtomReadError=(t,e,n,o,r)=>{const s=getAtomState(t,e);if(s){if(r&&(!(\"p\"in s)||!isEqualSuspensePromise(s.p,r)))return s;\"p\"in s&&cancelSuspensePromise(s.p)}const i={e:n,r:((null==s?void 0:s.r)||0)+1,y:true,d:createReadDependencies(t,null==s?void 0:s.d,o)};setAtomState(t,e,i);return i};const setAtomSuspensePromise=(t,e,n,o)=>{const r=getAtomState(t,e);if(r&&\"p\"in r){if(isEqualSuspensePromise(r.p,n)&&!isSuspensePromiseAlreadyCancelled(r.p))return r.y?r:{...r,y:true};cancelSuspensePromise(r.p)}addSuspensePromiseToCache(t,e,n);const s={p:n,r:((null==r?void 0:r.r)||0)+1,y:true,d:createReadDependencies(t,null==r?void 0:r.d,o)};setAtomState(t,e,s);return s};const setAtomPromiseOrValue=(t,e,n,o)=>{if(n instanceof Promise){const r=createSuspensePromise(n,n.then((n=>{setAtomValue(t,e,n,o,r)})).catch((n=>{if(n instanceof Promise)return isSuspensePromise(n)?n.then((()=>{readAtomState(t,e,true)})):n;setAtomReadError(t,e,n,o,r)})));return setAtomSuspensePromise(t,e,r,o)}return setAtomValue(t,e,n,o)};const setAtomInvalidated=(t,e)=>{const n=getAtomState(t,e);if(n){const o={...n,y:false};setAtomState(t,e,o)}else\"production\"!==(import.meta.env&&import.meta.env.MODE)&&console.warn(\"[Bug] could not invalidate non existing atom\",e)};const readAtomState=(t,e,o)=>{if(!o){const o=getAtomState(t,e);if(o){if(o.y&&\"p\"in o&&!isSuspensePromiseAlreadyCancelled(o.p))return o;o.d.forEach(((o,r)=>{if(r!==e)if(n.has(r)){const e=getAtomState(t,r);e&&!e.y&&readAtomState(t,r)}else readAtomState(t,r)}));if(Array.from(o.d).every((([e,n])=>{const o=getAtomState(t,e);return o&&!(\"p\"in o)&&o.r===n})))return o.y?o:{...o,y:true}}}const r=new Set;try{const n=e.read((n=>{r.add(n);const o=n===e?getAtomState(t,n):readAtomState(t,n);if(o){if(\"e\"in o)throw o.e;if(\"p\"in o)throw o.p;return o.v}if(hasInitialValue(n))return n.init;throw new Error(\"no atom init\")}));return setAtomPromiseOrValue(t,e,n,r)}catch(n){if(n instanceof Promise){const o=isSuspensePromise(n)&&isSuspensePromiseAlreadyCancelled(n)?copySuspensePromise(n):createSuspensePromise(n,n);return setAtomSuspensePromise(t,e,o,r)}return setAtomReadError(t,e,n,r)}};const readAtom=(t,e)=>{const n=readAtomState(e,t);return n};const addAtom=(t,e)=>{let o=n.get(e);o||(o=mountAtom(t,e));return o};const canUnmountAtom=(t,e)=>!e.l.size&&(!e.t.size||1===e.t.size&&e.t.has(t));const delAtom=(t,e)=>{const o=n.get(e);o&&canUnmountAtom(e,o)&&unmountAtom(t,e)};const invalidateDependents=(t,e)=>{const o=n.get(e);null==o?void 0:o.t.forEach((n=>{if(n!==e){setAtomInvalidated(t,n);invalidateDependents(t,n)}}))};const writeAtomState=(t,e,n)=>{let o=true;const writeGetter=(e,n)=>{const o=readAtomState(t,e);if(\"e\"in o)throw o.e;if(\"p\"in o){if(null==n?void 0:n.unstable_promise)return o.p.then((()=>{const r=getAtomState(t,e);return r&&\"p\"in r&&r.p===o.p?new Promise((t=>setTimeout(t))).then((()=>writeGetter(e,n))):writeGetter(e,n)}));\"production\"!==(import.meta.env&&import.meta.env.MODE)&&console.info(\"Reading pending atom state in write operation. We throw a promise for now.\",e);throw o.p}if(\"v\"in o)return o.v;\"production\"!==(import.meta.env&&import.meta.env.MODE)&&console.warn(\"[Bug] no value found while reading atom in write operation. This is probably a bug.\",e);throw new Error(\"no value found\")};const setter=(n,r)=>{let s;if(n===e){if(!hasInitialValue(n))throw new Error(\"atom not writable\");const e=cancelAllSuspensePromiseInCache(n);e.forEach((e=>{e!==t&&setAtomPromiseOrValue(e,n,r)}));const o=getAtomState(t,n);const s=setAtomPromiseOrValue(t,n,r);o!==s&&invalidateDependents(t,n)}else s=writeAtomState(t,n,r);o||flushPending(t);return s};const r=e.write(writeGetter,setter,n);o=false;return r};const writeAtom=(t,e,n)=>{const o=writeAtomState(n,t,e);flushPending(n);return o};const isActuallyWritableAtom=t=>!!t.write;const mountAtom=(t,e,o)=>{const r={t:new Set(o&&[o]),l:new Set};n.set(e,r);\"production\"!==(import.meta.env&&import.meta.env.MODE)&&s.add(e);const i=readAtomState(void 0,e);i.d.forEach(((o,r)=>{const s=n.get(r);s?s.t.add(e):r!==e&&mountAtom(t,r,e)}));if(isActuallyWritableAtom(e)&&e.onMount){const setAtom=n=>writeAtom(e,n,t);const n=e.onMount(setAtom);t=void 0;n&&(r.u=n)}return r};const unmountAtom=(t,e)=>{var o;const r=null==(o=n.get(e))?void 0:o.u;r&&r();n.delete(e);\"production\"!==(import.meta.env&&import.meta.env.MODE)&&s.delete(e);const i=getAtomState(t,e);if(i){\"p\"in i&&cancelSuspensePromise(i.p);i.d.forEach(((o,r)=>{if(r!==e){const o=n.get(r);if(o){o.t.delete(e);canUnmountAtom(r,o)&&unmountAtom(t,r)}}}))}else\"production\"!==(import.meta.env&&import.meta.env.MODE)&&console.warn(\"[Bug] could not find atom state to unmount\",e)};const mountDependencies=(t,e,o,r)=>{const s=new Set(o.d.keys());null==r?void 0:r.forEach(((o,r)=>{if(s.has(r)){s.delete(r);return}const i=n.get(r);if(i){i.t.delete(e);canUnmountAtom(r,i)&&unmountAtom(t,r)}}));s.forEach((o=>{const r=n.get(o);r?r.t.add(e):n.has(e)&&mountAtom(t,o,e)}))};const flushPending=t=>{if(t){const o=getVersionedAtomStateMap(t);o.forEach(((o,r)=>{const s=e.get(r);if(o!==s){const e=n.get(r);null==e?void 0:e.l.forEach((e=>e(t)))}}))}else{while(o.size){const t=Array.from(o);o.clear();t.forEach((([t,e])=>{const o=getAtomState(void 0,t);o&&o.d!==(null==e?void 0:e.d)&&mountDependencies(void 0,t,o,null==e?void 0:e.d);if(e&&!e.y&&(null==o?void 0:o.y))return;const r=n.get(t);null==r?void 0:r.l.forEach((t=>t()))}))}\"production\"!==(import.meta.env&&import.meta.env.MODE)&&r.forEach((t=>t()))}};const commitVersionedAtomStateMap=t=>{const n=getVersionedAtomStateMap(t);n.forEach(((n,o)=>{const r=e.get(o);if(!r||n.r>r.r||n.y!==r.y||n.r===r.r&&n.d!==r.d){e.set(o,n);n.d!==(null==r?void 0:r.d)&&mountDependencies(t,o,n,null==r?void 0:r.d)}}))};const commitAtom=(t,e)=>{e&&commitVersionedAtomStateMap(e);flushPending(void 0)};const subscribeAtom=(t,e,n)=>{const o=addAtom(n,t);const r=o.l;r.add(e);return()=>{r.delete(e);delAtom(n,t)}};const restoreAtoms=(t,e)=>{for(const[n,o]of t)if(hasInitialValue(n)){setAtomPromiseOrValue(e,n,o);invalidateDependents(e,n)}flushPending(e)};return\"production\"!==(import.meta.env&&import.meta.env.MODE)?{[d]:readAtom,[f]:writeAtom,[p]:commitAtom,[m]:subscribeAtom,[v]:restoreAtoms,[w]:t=>{r.add(t);return()=>{r.delete(t)}},[h]:()=>s.values(),[E]:t=>e.get(t),[g]:t=>n.get(t)}:{[d]:readAtom,[f]:writeAtom,[p]:commitAtom,[m]:subscribeAtom,[v]:restoreAtoms}};const createStoreForExport=t=>{const e=createStore(t);const get=t=>{const n=e[d](t);if(\"e\"in n)throw n.e;if(!(\"p\"in n))return n.v};const asyncGet=t=>new Promise(((n,o)=>{const r=e[d](t);\"e\"in r?o(r.e):n(\"p\"in r?r.p.then((()=>asyncGet(t))):r.v)}));const set=(t,n)=>e[f](t,n);const sub=(t,n)=>e[m](t,n);return{get:get,asyncGet:asyncGet,set:set,sub:sub,SECRET_INTERNAL_store:e}};const createScopeContainer=(t,e)=>{const n=e?e(t).SECRET_INTERNAL_store:createStore(t);return{s:n}};const y=new Map;const getScopeContext=e=>{y.has(e)||y.set(e,t(createScopeContainer()));return y.get(e)};const Provider=({children:t,initialValues:s,scope:i,unstable_createStore:c,unstable_enableVersionedWrite:a})=>{const[u,l]=e({});n((()=>{const t=d.current;if(t.w){t.s[p](null,u);delete u.p;t.v=u}}),[u]);const d=o();if(!d.current){const t=createScopeContainer(s,c);if(a){let e=0;t.w=t=>{l((n=>{const o=e?n:{p:n};t(o);return o}))};t.v=u;t.r=t=>{++e;t();--e}}d.current=t}const f=getScopeContext(i);return r(f.Provider,{value:d.current},t)};let M=0;function atom(t,e){const n=\"atom\"+ ++M;const o={toString:()=>n};if(\"function\"===typeof t)o.read=t;else{o.init=t;o.read=t=>t(o);o.write=(t,e,n)=>e(o,\"function\"===typeof n?n(t(o)):n)}e&&(o.write=e);return o}function useAtomValue(t,e){const o=getScopeContext(e);const r=s(o);const{s:a,v:u}=r;const getAtomValue=e=>{const n=a[d](t,e);if(\"production\"!==(import.meta.env&&import.meta.env.MODE)&&!n.y)throw new Error(\"should not be invalidated\");if(\"e\"in n)throw n.e;if(\"p\"in n)throw n.p;if(\"v\"in n)return n.v;throw new Error(\"no atom value\")};const[[l,f,v],w]=i(((e,n)=>{const o=getAtomValue(n);return Object.is(e[1],o)&&e[2]===t?e:[n,o,t]}),u,(e=>{const n=getAtomValue(e);return[e,n,t]}));let h=f;if(v!==t){w(l);h=getAtomValue(l)}n((()=>{const{v:e}=r;e&&a[p](t,e);const n=a[m](t,w,e);w(e);return n}),[a,t,r]);n((()=>{a[p](t,l)}));c(h);return h}function useSetAtom(t,e){const n=getScopeContext(e);const{s:o,w:r}=s(n);const i=a((e=>{if(\"production\"!==(import.meta.env&&import.meta.env.MODE)&&!(\"write\"in t))throw new Error(\"not writable atom\");const write=n=>o[f](t,e,n);return r?r(write):write()}),[o,r,t]);return i}function useAtom(t,e){if(\"scope\"in t){console.warn(\"atom.scope is deprecated. Please do useAtom(atom, scope) instead.\");e=t.scope}return[useAtomValue(t,e),useSetAtom(t,e)]}export{Provider,getScopeContext as SECRET_INTERNAL_getScopeContext,registerPromiseAbort as SECRET_INTERNAL_registerPromiseAbort,atom,createStoreForExport as unstable_createStore,useAtom,useAtomValue,useSetAtom};\n\n//# sourceMappingURL=index.mjs.map","const cartReturnData=`\nid\ncreatedAt\nupdatedAt\ncheckoutUrl\nlines(first: 250) {\n  edges {\n    node {\n      id\n      quantity\n      sellingPlanAllocation {\n          checkoutChargeAmount {\n            amount\n            currencyCode\n          }\n          sellingPlan {\n            name\n          }\n      }\n      merchandise {\n        ... on ProductVariant {\n          id\n          title\n          compareAtPriceV2 {\n            amount\n            currencyCode\n          }\n          priceV2 {\n            amount\n            currencyCode\n          }\n          product {\n            id\n            title\n          }\n          image {\n            url\n            width\n            height\n            altText\n          }\n          selectedOptions {\n            value\n            name\n          }\n        }\n      }\n      attributes {\n        key\n        value\n      }\n    }\n  }\n}\ncost {\n  totalAmount {\n    amount\n    currencyCode\n  }\n  subtotalAmount {\n    amount\n    currencyCode\n  }\n  totalTaxAmount {\n    amount\n    currencyCode\n  }\n  totalDutyAmount {\n    amount\n    currencyCode\n  }\n}`;export const productsQuery=({sellingPlan,pageInfo})=>`{\n  products(first: 250${pageInfo?`, after: \"${pageInfo}\"`:\"\"}) {\n    nodes {\n      compareAtPriceRange {\n        minVariantPrice {\n          amount\n          currencyCode\n        }\n      }\n      totalInventory\n      availableForSale\n      isGiftCard\n      collections(first: 250) {\n        nodes {\n          title\n          handle\n        }\n      }\n      handle\n      id\n      images(first: 15) {\n        nodes {\n          altText\n          height\n          url\n          width\n        }\n      }\n      options {\n        id\n        name\n        values\n      }\n      priceRange {\n        minVariantPrice {\n          amount\n          currencyCode\n        }\n        maxVariantPrice {\n          amount\n          currencyCode\n        }\n      }\n      productType\n      tags\n      title\n      description\n      descriptionHtml\n      vendor\n      updatedAt\n      createdAt\n      featuredImage {\n        url\n      }\n      ${sellingPlan?`\n      requiresSellingPlan\n      sellingPlanGroups(first: 250) {\n        nodes {\n          name\n          sellingPlans(first: 250) {\n            nodes {\n              id\n              name\n            }\n          }\n        }\n      }`:\"\"}\n      variants(first: 250) {\n        nodes {\n          title\n          availableForSale\n          compareAtPriceV2 {\n            amount\n            currencyCode\n          }\n          priceV2 {\n            amount\n            currencyCode\n          }\n          id\n          image {\n            url\n            width\n            height\n            altText\n          }\n          currentlyNotInStock\n          requiresShipping\n          quantityAvailable\n          taxable\n          selectedOptions {\n            value\n            name\n          }\n          ${sellingPlan?`\n          sellingPlanAllocations(first: 250) {\n            nodes {\n              checkoutChargeAmount {\n                amount\n                currencyCode\n              }\n              sellingPlan {\n                name\n                id\n              }\n            }\n          }`:\"\"}\n        }\n      }\n    }\n    pageInfo {\n        hasNextPage\n        endCursor\n      }\n    }\n}`;export const createCart=`\n  mutation createCart($cartInput: CartInput) {\n    cartCreate(input: $cartInput) {\n      cart {\n        ${cartReturnData}\n      }\n    }\n  }\n`;export const readCart=`\n  query cartQuery($cartId: ID!) {\n    cart(id: $cartId) {\n      ${cartReturnData}\n    }\n  }\n`;export const addItemsToCart=`\n  mutation addCartLines($cartId: ID!, $lines: [CartLineInput!]!) {\n    cartLinesAdd(cartId: $cartId, lines: $lines) {\n      cart {\n         ${cartReturnData}\n      }\n      userErrors {\n        field\n        message\n      }\n    }\n  }\n`;export const updateCartItems=`\n  mutation addCartLines($cartId: ID!, $lines: [CartLineUpdateInput!]!) {\n    cartLinesUpdate(cartId: $cartId, lines: $lines) {\n      cart {\n         ${cartReturnData}\n      }\n      userErrors {\n        field\n        message\n      }\n    }\n  }\n`;export const removeCartItems=`\n  mutation removeCartLines($cartId: ID!, $lineIds: [ID!]!) {\n    cartLinesRemove(cartId: $cartId, lineIds: $lineIds) {\n      cart {\n         ${cartReturnData}\n      }\n      userErrors {\n        field\n        message\n      }\n    }\n  }\n`;\nexport const __FramerMetadata__ = {\"exports\":{\"createCart\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"addItemsToCart\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"removeCartItems\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"readCart\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"updateCartItems\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"productsQuery\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./_queries.map","import{atom}from\"jotai\";import{productsQuery,createCart,readCart}from\"https://framerusercontent.com/modules/xpqbkEp3IFoaBlvr8BRa/mmYIfWtGVAI0nJXkmHhs/_queries.js\";export async function fetchAllProducts(client,sellingPlan){const products=[];let pageInfo=null;try{do{const query=productsQuery({pageInfo,sellingPlan});const response=await client.request(query);products.push(...response.data?.products.nodes);// Update pageInfo for next iteration\nconst responsePageInfo=response.data?.products.pageInfo;pageInfo=responsePageInfo.hasNextPage?responsePageInfo.endCursor:null;console.log(`Fetched ${products.length} products so far...`);}while(pageInfo)return products;}catch(error){console.error(\"Error fetching products:\",error.message);return[];}}export const settingsAtom=atom({enableSellingPlan:false});export const configAtom=atom(null);export const clientAtom=atom(null);export const selectedProductsAtom=atom({});export const productsAtom=atom(async get=>{const sellingPlan=get(settingsAtom).enableSellingPlan;if(!get(clientAtom))return[];const products=await fetchAllProducts(get(clientAtom),sellingPlan);return products;});export const localCartAtom=atom(null);export const createCartAtom=atom(async get=>{const attributes=[];const currentUrl=new URL(window.location.href);// Add all search parameters from the current URL to attributes\ncurrentUrl.searchParams?.forEach((value,key)=>{if(key!==\"key\"){attributes.push({key,value});}});console.log(\"Create Cart\",attributes);return get(clientAtom)?.request(createCart,{variables:{cartInput:{attributes}}}).then(res=>res.data?.cartCreate?.cart);});export const cartAtom=atom(async get=>{const cartId=localStorage.getItem(\"shopifyCartID\");const localCart=get(localCartAtom);if(localCart)return localCart;const client=get(clientAtom);if(!client)return null;if(!cartId)return get(createCartAtom);return client.request(readCart,{variables:{cartId}}).then(res=>{if(res.data?.cart)return res.data.cart;return get(createCartAtom);}).catch(()=>get(createCartAtom));});\nexport const __FramerMetadata__ = {\"exports\":{\"configAtom\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SelectedProduct\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"settingsAtom\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"productsAtom\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"createCartAtom\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"clientAtom\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"selectedProductsAtom\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"cartAtom\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fetchAllProducts\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localCartAtom\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","const e=\"GraphQL Client\";const t=0;const r=3;const n=\"An error occurred while fetching from the API. Review 'graphQLErrors' for details.\";const s=\"Response returned unexpected Content-Type:\";const o=\"An unknown error has occurred. The API did not return a data object or any errors in its response.\";const i={json:\"application/json\",multipart:\"multipart/mixed\"};const a=1e3;const c=[429,503];function formatErrorMessage(t,r=e){return t.startsWith(`${r}`)?t:`${r}: ${t}`}function getErrorMessage(e){return e instanceof Error?e.message:JSON.stringify(e)}function validateRetries({client:e,retries:n}){if(n!==void 0&&(typeof n!==\"number\"||n<t||n>r))throw new Error(`${e}: The provided \"retries\" value (${n}) is invalid - it cannot be less than ${t} or greater than ${r}`)}function getKeyValueIfValid(e,t){return t&&(typeof t!==\"object\"||Array.isArray(t)||typeof t===\"object\"&&Object.keys(t).length>0)?{[e]:t}:{}}function generateHttpFetch({clientLogger:t,customFetchApi:r=fetch,client:n=e,defaultRetryWaitTime:s=a,retriableCodes:o=c}){const httpFetch=async(e,i,a)=>{const c=i+1;const u=a+1;let p;try{p=await r(...e);t({type:\"HTTP-Response\",content:{requestParams:e,response:p}});if(!p.ok&&o.includes(p.status)&&c<=u)throw new Error;return p}catch(r){if(c<=u){const r=p?.headers.get(\"Retry-After\");await sleep(r?parseInt(r,10):s);t({type:\"HTTP-Retry\",content:{requestParams:e,lastResponse:p,retryAttempt:i,maxRetries:a}});return httpFetch(e,c,a)}throw new Error(formatErrorMessage(`${a>0?`Attempted maximum number of ${a} network retries. Last message - `:\"\"}${getErrorMessage(r)}`,n))}};return httpFetch}async function sleep(e){return new Promise((t=>setTimeout(t,e)))}function createGraphQLClient({headers:t,url:r,customFetchApi:n=p,retries:s=0,logger:o}){validateRetries({client:e,retries:s});const i={headers:t,url:r,retries:s};const c=generateClientLogger(o);const u=generateHttpFetch({customFetchApi:n,clientLogger:c,defaultRetryWaitTime:a});const p=generateFetch(u,i);const l=generateRequest(p);return{config:i,fetch:p,request:l}}function generateClientLogger(e){return t=>{e&&e(t)}}async function processJSONResponse(e){const{errors:t,data:r,extensions:s}=await e.json();return{...getKeyValueIfValid(\"data\",r),...getKeyValueIfValid(\"extensions\",s),...t||!r?{errors:{networkStatusCode:e.status,message:formatErrorMessage(t?n:o),...getKeyValueIfValid(\"graphQLErrors\",t),response:e}}:{}}}function generateFetch(t,{url:r,headers:n,retries:s}){return async(o,i={})=>{const{variables:a,headers:c,url:u,retries:p}=i;const l=JSON.stringify({query:o,variables:a});validateRetries({client:e,retries:p});const g=Object.fromEntries(Object.entries({...n,...c}).map((([e,t])=>[e,Array.isArray(t)?t.join(\", \"):t.toString()])));const d=[u??r,{method:\"POST\",headers:g,body:l}];return t(d,1,p??s)}}function generateRequest(e){return async(...t)=>{try{const r=await e(...t);const{status:n,statusText:o}=r;const a=r.headers.get(\"content-type\")||\"\";return r.ok?a.includes(i.json)?processJSONResponse(r):{errors:{networkStatusCode:n,message:formatErrorMessage(`${s} ${a}`),response:r}}:{errors:{networkStatusCode:n,message:formatErrorMessage(o),response:r}}}catch(e){return{errors:{message:getErrorMessage(e)}}}}}function validateDomainAndGetStoreUrl({client:e,storeDomain:t}){try{if(!t||typeof t!==\"string\")throw new Error;const e=t.trim();const r=e.startsWith(\"http\")?e:`https://${e}`;const n=new URL(r);n.protocol=\"https\";return n.origin}catch(r){throw new Error(`${e}: a valid store domain (\"${t}\") must be provided`)}}function validateApiVersion({client:e,currentSupportedApiVersions:t,apiVersion:r,logger:n}){const s=`${e}: the provided apiVersion (\"${r}\")`;const o=`Currently supported API versions: ${t.join(\", \")}`;if(!r||typeof r!==\"string\")throw new Error(`${s} is invalid. ${o}`);const i=r.trim();t.includes(i)||(n?n({type:\"Unsupported_Api_Version\",content:{apiVersion:r,supportedApiVersions:t}}):console.warn(`${s} is likely deprecated or not supported. ${o}`))}function getQuarterMonth(e){const t=e*3-2;return t===10?t:`0${t}`}function getPrevousVersion(e,t,r){const n=t-r;return n<=0?`${e-1}-${getQuarterMonth(n+4)}`:`${e}-${getQuarterMonth(n)}`}function getCurrentApiVersion(){const e=new Date;const t=e.getUTCMonth();const r=e.getUTCFullYear();const n=Math.floor(t/3+1);return{year:r,quarter:n,version:`${r}-${getQuarterMonth(n)}`}}function getCurrentSupportedApiVersions(){const{year:e,quarter:t,version:r}=getCurrentApiVersion();const n=t===4?`${e+1}-01`:`${e}-${getQuarterMonth(t+1)}`;return[getPrevousVersion(e,t,3),getPrevousVersion(e,t,2),getPrevousVersion(e,t,1),r,n,\"unstable\"]}function generateGetHeaders(e){return t=>({...t??{},...e.headers})}function generateGetGQLClientParams({getHeaders:e,getApiUrl:t}){return(r,n)=>{const s=[r];if(n&&Object.keys(n).length>0){const{variables:r,apiVersion:o,headers:i,retries:a}=n;s.push({...r?{variables:r}:{},...i?{headers:e(i)}:{},...o?{url:t(o)}:{},...a?{retries:a}:{}})}return s}}const u=\"application/json\";const p=\"storefront-api-client\";const l=\"0.2.2\";const g=\"X-Shopify-Storefront-Access-Token\";const d=\"Shopify-Storefront-Private-Token\";const f=\"X-SDK-Variant\";const h=\"X-SDK-Version\";const m=\"X-SDK-Variant-Source\";const A=\"Storefront API Client\";function validatePrivateAccessTokenUsage(e){if(e&&typeof window!==\"undefined\")throw new Error(`${A}: private access tokens and headers should only be used in a server-to-server implementation. Use the public API access token in nonserver environments.`)}function validateRequiredAccessTokens(e,t){if(!e&&!t)throw new Error(`${A}: a public or private access token must be provided`);if(e&&t)throw new Error(`${A}: only provide either a public or private access token`)}function createStorefrontApiClient({storeDomain:e,apiVersion:t,publicAccessToken:r,privateAccessToken:n,clientName:s,retries:o=0,customFetchApi:i,logger:a}){const c=getCurrentSupportedApiVersions();const y=validateDomainAndGetStoreUrl({client:A,storeDomain:e});const v={client:A,currentSupportedApiVersions:c,logger:a};validateApiVersion({...v,apiVersion:t});validateRequiredAccessTokens(r,n);validatePrivateAccessTokenUsage(n);const $=generateApiUrlFormatter(y,t,v);const w={storeDomain:y,apiVersion:t,...r?{publicAccessToken:r}:{privateAccessToken:n},headers:{\"Content-Type\":u,Accept:u,[f]:p,[h]:l,...s?{[m]:s}:{},...r?{[g]:r}:{[d]:n}},apiUrl:$(),clientName:s};const V=createGraphQLClient({headers:w.headers,url:w.apiUrl,retries:o,customFetchApi:i,logger:a});const b=generateGetHeaders(w);const S=generateGetApiUrl(w,$);const T=generateGetGQLClientParams({getHeaders:b,getApiUrl:S});const k={config:w,getHeaders:b,getApiUrl:S,fetch:(...e)=>V.fetch(...T(...e)),request:(...e)=>V.request(...T(...e))};return Object.freeze(k)}function generateApiUrlFormatter(e,t,r){return n=>{n&&validateApiVersion({...r,apiVersion:n});const s=(n??t).trim();return`${e}/api/${s}/graphql.json`}}function generateGetApiUrl(e,t){return r=>r?t(r):e.apiUrl}export{createStorefrontApiClient};\n//# sourceMappingURL=index.mjs.map\n","import React from\"react\";export function priceCode(price,config){if(!price)return\"\";var _ref;const locale=(_ref=(config===null||config===void 0?void 0:config.languageIsoCode.includes(\"_\"))?config===null||config===void 0?void 0:config.languageIsoCode.replace(\"_\",\"-\"):`${config===null||config===void 0?void 0:config.languageIsoCode}-${config===null||config===void 0?void 0:config.countryIsoCode}`)!==null&&_ref!==void 0?_ref:\"EN-US\";const amount=parseFloat(price.amount);const formatter=new Intl.NumberFormat(locale,{style:\"currency\",currency:price.currencyCode});return formatter.format(amount);}/**\n * Parses global id (gid) and returns the resource type and id.\n * @see https://shopify.dev/api/usage/gids\n * @param gid - A shopify GID (string)\n *\n * @example\n * ```ts\n * const {id, resource} = parseGid('gid://shopify/Order/123')\n * // => id = \"123\", resource = 'Order'\n *\n *  * const {id, resource} = parseGid('gid://shopify/Cart/abc123')\n * // => id = \"abc123\", resource = 'Cart'\n * ```\n **/export function parseGid(gid){const defaultReturn={id:\"\",resource:null,resourceId:null,search:\"\",searchParams:new URLSearchParams,hash:\"\"};if(typeof gid!==\"string\"){return defaultReturn;}try{const{search,searchParams,pathname,hash}=new URL(gid);const pathnameParts=pathname.split(\"/\");const lastPathnamePart=pathnameParts[pathnameParts.length-1];const resourcePart=pathnameParts[pathnameParts.length-2];if(!lastPathnamePart||!resourcePart){return defaultReturn;}const id=`${lastPathnamePart}${search}${hash}`||\"\";const resourceId=lastPathnamePart||null;const resource=resourcePart!==null&&resourcePart!==void 0?resourcePart:null;return{id,resource,resourceId,search,searchParams,hash};}catch{return defaultReturn;}}export function debounce(func,delay){let timeoutId;return function(...args){clearTimeout(timeoutId);timeoutId=setTimeout(()=>{func.apply(this,args);},delay);};}export const checkConfigAreSame=()=>{const wrappers=document.querySelectorAll(\".groundNodeWrapper\");wrappers.forEach(wrapper=>{const errorEl=wrapper.querySelector(\"#shopiframe-error\");const elements=wrapper.querySelectorAll(\"[data-shopiframe-store]\");let areSame=true;if(errorEl)wrapper.removeChild(errorEl);if(elements.length){const firstValue=elements[0].getAttribute(\"data-shopiframe-store\");elements.forEach(item=>{if(item.getAttribute(\"data-shopiframe-store\")!==firstValue){areSame=false;}});}if(!areSame){const errorStr=`\n        <div id=\"shopiframe-error\" style=\"position: absolute; top:0; left:0; right:0;z-index:999; bottom:0; border: solid 0.3vw #B00020;\" >\n        <p style=\"background: #B00020; font-size:22px; font-weight: 500; padding: 10px 10px calc(10px + 0.3vw); margin: 0; color: #fff;\" ><b>Shopiframe</b>: Components with different configurations detected. Please open the Shopiframe Plugin, and the issue will be fixed.</p>\n        </div>`;wrapper.insertAdjacentHTML(\"afterbegin\",errorStr);}});};export const addPropsToChildren=(children,changeProps,allInstances)=>{return React.Children.map(children,child=>{if(!/*#__PURE__*/React.isValidElement(child)){return child;}var _ref;let childProps=(_ref=child.props)!==null&&_ref!==void 0?_ref:{};// padd changedProps to all child elements props\nif(child.props.children&&allInstances){childProps.children=addPropsToChildren(child.props.children,changeProps,allInstances);}childProps={...childProps,...changeProps};return /*#__PURE__*/React.cloneElement(child,childProps);});};\nexport const __FramerMetadata__ = {\"exports\":{\"addPropsToChildren\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"priceCode\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"debounce\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"checkConfigAreSame\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"parseGid\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./_utils.map","import{useEffect,useCallback}from\"react\";import{createStorefrontApiClient}from\"@shopify/storefront-api-client\";import{useAtomValue,useSetAtom}from\"jotai\";import{productsAtom,clientAtom,configAtom,cartAtom}from\"https://framerusercontent.com/modules/yZBbIevRfN36MGDPpltx/GNI9VoSkUDyJw3EMOM7K/_atoms.js\";import{checkConfigAreSame,debounce}from\"https://framerusercontent.com/modules/7dEgbg7qo3lsQk361YtS/NrF60tPHZRRgADqpoRFr/_utils.js\";export const useShopify=config=>{const debouncedCheck=useCallback(debounce(()=>{checkConfigAreSame();},100),[]);const products=useAtomValue(productsAtom);const cart=useAtomValue(cartAtom);const client=useAtomValue(clientAtom);const setClient=useSetAtom(clientAtom);const setConfig=useSetAtom(configAtom);useEffect(()=>{debouncedCheck();//set config if exist\nif(config&&Object.keys(config).length!==0)setConfig(config);// create the client and store it\nif(!client&&config?.storeDomain&&config?.storefrontToken){setClient(createStorefrontApiClient({storeDomain:config.storeDomain,apiVersion:\"2024-07\",publicAccessToken:config.storefrontToken,customFetchApi:fetch}));}return()=>{debouncedCheck();};},[config]);useEffect(()=>{if(cart){localStorage.setItem(\"shopifyCartID\",cart.id);}},[cart]);return{products,cart};};\nexport const __FramerMetadata__ = {\"exports\":{\"useShopify\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","export const DefaultCart={id:\"Test\",checkoutUrl:\"Test title\",cost:{subtotalAmount:{amount:\"50.0\",currencyCode:\"USD\"},totalAmount:{amount:\"60.0\",currencyCode:\"USD\"},totalTaxAmount:{amount:\"10.0\",currencyCode:\"USD\"},totalDutyAmount:null},lines:{edges:[{node:{id:\"test\",quantity:1,merchandise:{id:\"Test\",title:\"Medium / Red\",priceV2:{amount:\"50.0\",currencyCode:\"USD\"},image:{altText:\"\",height:720,url:\"https://blocks.astratic.com/img/general-img-square.png\",width:600},product:{id:\"Test\",title:\"Product Title Test\"},selectedOptions:[{name:\"Size\",value:\"Medium\"}]}}}]}};export const DefaultProduct={id:\"test\",title:\"Product Title Test\",availableForSale:false,compareAtPriceRange:{minVariantPrice:{amount:\"15.0\",currencyCode:\"USD\"}},requiresSellingPlan:false,sellingPlanGroups:{nodes:[{name:\"Subscribe and save\",sellingPlans:{nodes:[{id:\"gid://shopify/SellingPlan/689520312655\",name:\"Deliver every 3 months, 30% off\"},{id:\"gid://shopify/SellingPlan/689520345423\",name:\"Deliver every week, 10% off\"}]}}]},priceRange:{minVariantPrice:{amount:\"10.0\",currencyCode:\"USD\"},maxVariantPrice:{amount:\"10.0\",currencyCode:\"USD\"}},options:[{id:\"gid://shopify/ProductOption/11329409777957\",name:\"Size\",values:[\"Medium\",\"Small\"]},{id:\"gid://shopify/ProductOption/11329409810725\",name:\"Color\",values:[\"Black\",\"Red\"]}],variants:{nodes:[{availableForSale:true,compareAtPriceV2:{amount:\"30.0\",currencyCode:\"CAD\"},currentlyNotInStock:false,id:\"gid://shopify/ProductVariant/47880718909733\",priceV2:{amount:\"20.0\",currencyCode:\"CAD\"},quantityAvailable:2,requiresShipping:true,selectedOptions:[{name:\"Size\",value:\"Medium\"},{name:\"Color\",value:\"Black\"}],taxable:false,title:\"Medium / Black\",sellingPlanAllocations:{nodes:[{checkoutChargeAmount:{amount:\"46.9\",currencyCode:\"USD\"},sellingPlan:{id:\"gid://shopify/SellingPlan/689520312655\",name:\"Deliver every 3 months, 30% off\"}},{checkoutChargeAmount:{amount:\"32\",currencyCode:\"USD\"},sellingPlan:{id:\"gid://shopify/SellingPlan/689520345423\",name:\"Deliver every week, 10% off\"}}]}},{availableForSale:true,compareAtPriceV2:{amount:\"30.0\",currencyCode:\"CAD\"},currentlyNotInStock:false,id:\"gid://shopify/ProductVariant/47880718942501\",priceV2:{amount:\"14.0\",currencyCode:\"CAD\"},quantityAvailable:3,requiresShipping:true,selectedOptions:[{name:\"Size\",value:\"Medium\"},{name:\"Color\",value:\"Red\"}],taxable:true,title:\"Medium / Red\"},{availableForSale:true,compareAtPriceV2:{amount:\"30.0\",currencyCode:\"CAD\"},currentlyNotInStock:true,id:\"gid://shopify/ProductVariant/47880718975269\",priceV2:{amount:\"5.0\",currencyCode:\"CAD\"},quantityAvailable:0,requiresShipping:true,selectedOptions:[{name:\"Size\",value:\"Small\"},{name:\"Color\",value:\"Black\"}],taxable:true,title:\"Small / Black\"},{availableForSale:false,compareAtPriceV2:{amount:\"30.0\",currencyCode:\"CAD\"},currentlyNotInStock:false,id:\"gid://shopify/ProductVariant/47880719008037\",priceV2:{amount:\"20.0\",currencyCode:\"CAD\"},quantityAvailable:0,requiresShipping:true,selectedOptions:[{name:\"Size\",value:\"Small\"},{name:\"Color\",value:\"Red\"}],taxable:true,title:\"Small / Red\"}]},images:{nodes:[{altText:\"\",height:720,url:\"https://blocks.astratic.com/img/general-img-square.png\",width:600},{altText:\"\",height:720,url:\"https://blocks.astratic.com/img/general-img-square.png\",width:600}]}};\nexport const __FramerMetadata__ = {\"exports\":{\"DefaultProduct\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DefaultCart\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./_test_data.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{cn}from\"https://framerusercontent.com/modules/eAejHXy6apg0StNmpKvK/GXn1lJ5V4nUwhRO9yQKC/_framer_utils.js\";export default function ComponentWrapper({children,style={},hidden=false,productID,config}){const dataAttributes={\"data-shopiframe\":\"component\",\"data-shopiframe-store\":config?.storeDomain};if(productID===\"EMPTY\")return /*#__PURE__*/_jsx(\"div\",{style:{background:\"#C83E3E\",color:\"#fff\",borderRadius:\"10px\",padding:\"8px\",boxShadow:\"0px 5px 15px 0px #AC1B1B33\",fontWeight:\"600\"},...dataAttributes,children:\"Product ID required for this component\"});if(hidden)return null;return /*#__PURE__*/_jsx(\"div\",{style:cn(style),...dataAttributes,children:typeof children===\"function\"?hidden||productID===\"EMPTY\"?null:children():children});}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ComponentWrapper\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"iVAAisB,SAAgB,EAAG,GAAG,EAAO,CAAC,IAAI,EAAM,EAAE,CAAwP,OAAvP,EAAO,QAAQ,GAAO,CAAI,IAAO,EAAM,CAAC,GAAG,EAAM,GAAG,EAAM,CAAI,OAAO,EAAM,QAAS,WAAU,EAAM,CAAC,GAAG,EAAM,GAAG,EAAM,OAAO,EAAK,OAAO,EAAM,MAAO,WAAU,EAAM,CAAC,GAAG,EAAM,GAAG,EAAM,KAAK,EAAK,EAAM,SAAQ,EAAM,CAAC,GAAG,EAAM,QAAQ,OAAO,EAAI,GAAS,CAAO,2BAAv7B,EAAoB,CAAC,UAAU,CAAC,MAAM,aAAa,KAAK,EAAY,OAAO,CAAC,CAAc,MAAe,EAAa,YAAY,EAAa,OAAoB,EAAe,CAAC,OAAO,CAAC,KAAK,EAAY,OAAO,WAAW,GAAK,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAY,OAAO,CAAC,YAAY,CAAC,KAAK,EAAY,OAAO,CAAC,eAAe,CAAC,KAAK,EAAY,OAAO,aAAa,KAAK,CAAC,gBAAgB,CAAC,KAAK,EAAY,OAAO,aAAa,KAAK,CAAC,SAAS,CAAC,KAAK,EAAY,QAAQ,aAAa,GAAK,CAAC,YAAY,CAAC,KAAK,EAAY,OAAO,SAAS,CAAC,cAAc,CAAC,KAAK,EAAY,QAAQ,aAAa,GAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAY,KAAK,WAAW,GAAK,CAAC,CAA8T,GAAgB,EAAS,GAAG,KAAe,CAAC,SAAS,CAAC,KAAK,EAAY,OAAO,IAAI,EAAE,IAAI,IAAI,aAAa,EAAS,CAAC,MAAM,CAAC,KAAK,EAAY,MAAM,aAAa,EAAM,CAAC,KAAK,CAAC,KAAK,EAAY,KAAK,qBAAqB,GAAK,gBAAgB,aAAa,CAAC,QAAQ,CAAC,KAAK,EAAY,QAAQ,CAAC,KCA+2R,SAAS,EAAK,EAAE,EAAE,CAAC,IAAMsB,EAAE,QAAQ,EAAE,EAAQE,EAAE,CAAC,aAAaF,EAAE,CAAqI,OAApH,OAAOF,GAApB,WAAsB,EAAE,KAAKA,GAAO,EAAE,KAAKA,EAAE,EAAE,KAAK,GAAGA,EAAEI,GAAG,EAAE,OAAO,EAAE,EAAE,IAAIL,EAAEK,EAAe,OAAOF,GAApB,WAAsBA,EAAEF,EAAEI,IAAIF,QAAO,EAAE,MAAMH,GAAUK,CAAE,UAAS,EAAa,EAAE,EAAE,CAAC,IAAMA,EAAE,EAAgBL,GAASE,EAAEE,EAAEC,GAAQ,CAAC,EAAEI,EAAE,EAAED,EAAE,CAACN,EAAQ,EAAa,GAAG,CAAC,IAAMC,EAAEM,EAAEI,GAAGZ,EAAED,GAAG,IAAmB,OAAO,KAAK,KAAK,OAAO,KAAK,IAAI,QAAjD,cAAwD,CAACG,EAAE,EAAE,MAAU,MAAM,6BAA6B,GAAG,MAAMA,EAAE,MAAMA,EAAE,EAAE,GAAG,MAAMA,EAAE,MAAMA,EAAE,EAAE,GAAG,MAAMA,EAAE,OAAOA,EAAE,EAAE,MAAU,MAAM,gBAAiB,EAAM,CAAC,CAACQ,EAAEpB,EAAEwB,EAAE,CAACC,EAAE,CAACT,IAAI,EAAE,IAAI,CAAC,IAAMF,EAAE,EAAaF,GAAG,OAAO,OAAO,GAAGH,EAAE,GAAGK,IAAIL,EAAE,KAAKC,EAAED,EAAE,CAACG,EAAEE,EAAEJ,EAAE,AAAC,GAAEO,GAAG,GAAG,CAAC,IAAML,EAAE,EAAaH,GAAG,MAAM,CAACA,EAAEG,EAAEF,EAAE,AAAC,IAAON,EAAEJ,EAA4I,OAAvIwB,IAAId,IAAG,EAAEU,GAAG,EAAE,EAAaA,WAAU,CAAC,GAAK,CAAC,EAAEX,EAAE,CAACE,EAAE,GAAGO,EAAEC,GAAGT,EAAED,GAAG,IAAMG,EAAEM,EAAEZ,GAAGI,EAAEe,EAAEhB,GAAQ,OAAL,EAAEA,GAAUG,CAAE,GAAE,CAACM,EAAER,EAAEC,EAAE,EAAE,OAAO,CAAC,EAAEQ,GAAGT,EAAEU,EAAG,IAAG,EAAEhB,GAAUA,CAAE,UAAS,EAAW,EAAE,EAAE,CAAC,IAAMQ,EAAE,EAAgBH,GAAQ,CAAC,EAAEK,EAAE,EAAEH,EAAE,CAACE,EAAED,GAASI,EAAEE,GAAG,GAAG,CAAC,IAAmB,OAAO,KAAK,KAAK,OAAO,KAAK,IAAI,QAAjD,cAAwD,EAAE,UAAUR,GAAG,MAAU,MAAM,qBAAqB,IAAM,EAAM,GAAGI,EAAEd,GAAGU,EAAED,EAAEG,GAAG,OAAOD,EAAEA,EAAE,GAAO,GAAQ,GAAE,CAACG,EAAEH,EAAED,EAAE,EAAE,OAAOM,CAAE,UAAS,GAAQ,EAAE,EAAE,OAAI,UAAUN,IAAG,QAAQ,KAAK,qEAAqE,EAAEA,EAAE,OAAY,CAAC,EAAaA,EAAED,GAAG,EAAWC,EAAED,GAAG,AAAC,uEAA/tWQ,EAAE,SAAe,EAAkB,GAAG,CAAC,CAACP,EAAEO,GAAS,EAAkC,GAAG,CAACP,EAAEO,GAAG,EAAQ,EAAsB,GAAG,CAAC,IAAIR,EAAE,GAAK,CAAC,EAAEG,EAAE,EAAEE,EAAE,CAACJ,EAAEO,GAAMH,IAAG,KAAW,EAAEM,GAAE,IAAIR,KAAf,MAA0BH,IAAK,EAAO,GAAwB,EAAE,IAAI,CAAC,IAAMG,EAAEF,EAAEO,GAAG,EAAQH,EAAEL,EAAEQ,GAAG,EAAE,OAAOL,IAAIE,GAAGJ,IAAII,GAAG,EAAkBF,IAAI,EAAuBA,EAAEH,EAAG,EAAO,GAAuB,EAAE,IAAI,CAAC,IAAMG,EAAE,CAAC,EAAEF,EAAE,EAAED,EAAE,EAAE,KAAK,CAAOK,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,GAAI,EAAC,EAAE,QAAQF,EAAE,EAAG,IAAU,MAAP,GAAEK,GAAGL,EAASE,CAAE,EAAO,GAAoB,GAAG,EAAsBJ,EAAEO,GAAG,EAAEP,EAAEO,GAAG,GAASG,GAAE,IAAI,QAA6D,EAAgB,GAAG,SAASV,EAAQY,EAAE,IAAUtB,EAAE,IAAUmB,EAAE,IAAUb,EAAE,IAAU,EAAE,IAAU,GAAE,IAAUF,GAAE,IAAU,GAAE,IAAUiB,GAAE,IAAU,EAAY,GAAG,CAAC,IAAMZ,EAAE,IAAI,QAAcG,EAAE,IAAI,QAAcE,EAAE,IAAI,IAAQH,EAAME,MAAqB,OAAO,KAAK,KAAK,OAAO,KAAK,IAAI,QAAjD,eAAwD,EAAE,IAAI,IAAI,EAAE,IAAI,KAAOH,EAAE,IAAI,GAAK,CAACE,EAAEE,EAAE,GAAGJ,EAAE,CAAC,IAAMA,EAAE,CAAC,EAAEI,EAAE,EAAE,EAAE,EAAE,GAAK,EAAE,IAAI,IAAI,EAAoB,OAAO,KAAK,KAAK,OAAO,KAAK,IAAI,QAAjD,eAAwD,OAAO,OAAOJ,GAAG,EAAgBE,IAAI,QAAQ,KAAK,2EAA2EA,MAAK,IAAIA,EAAEF,EAAG,KAAMM,EAAE,IAAI,QAAc,GAA2B,EAAE,EAAE,IAAI,CAAC,IAAIF,EAAEE,EAAE,IAAIP,GAAOK,IAAG,EAAE,IAAI,IAAI,EAAE,IAAIL,EAAEK,MAAK,UAAU,CAAIA,EAAE,IAAIJ,KAAKE,IAAG,EAAE,OAAOF,GAAG,EAAE,MAAMM,EAAE,OAAOP,GAAI,IAAG,EAAE,IAAIC,EAAEE,EAAG,EAAO,EAAgC,GAAG,CAAC,IAAMH,EAAE,IAAI,IAAUG,EAAEI,EAAE,IAAIN,UAAME,IAAG,EAAE,OAAOF,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,EAAsBA,GAAG,EAAE,IAAIE,EAAG,KAAUH,CAAE,EAAOM,EAAE,IAAI,QAAc,EAAyB,GAAG,CAAC,IAAIN,EAAEM,EAAE,IAAIL,UAAOD,IAAG,EAAE,IAAI,IAAI,EAAE,IAAIC,EAAED,IAAUA,CAAE,EAAO,GAAc,EAAE,IAAI,CAAC,GAAGC,EAAE,CAAC,IAAMD,EAAE,EAAyBC,GAAOI,EAAEL,EAAE,IAAIG,UAAOE,IAAG,EAAE,EAAaJ,EAAE,EAAEE,GAAG,GAAG,MAAME,GAAG,EAAkCA,EAAE,KAAK,EAAE,IAAK,IAAG,GAAGL,EAAE,IAAIG,EAAEE,IAAUA,CAAE,QAAOL,EAAE,IAAIG,EAAG,EAAO,GAAc,EAAE,EAAE,IAAI,CAA0E,IAAzD,OAAO,KAAK,KAAK,OAAO,KAAK,IAAI,QAAjD,cAAwD,OAAO,OAAOD,GAAMD,EAAE,CAAC,IAAMD,EAAE,EAAyBC,GAAG,EAAE,IAAIE,EAAED,EAAG,KAAI,CAAC,IAAMD,EAAED,EAAE,IAAIG,GAAG,EAAE,IAAIA,EAAED,GAAG,EAAE,IAAIC,IAAIE,EAAE,IAAIF,EAAEF,EAAG,CAAC,EAAO,GAAwB,EAAE,EAAE,IAAI,IAAI,IAAI,CAAC,GAAG,CAACE,EAAE,OAAOH,EAAE,IAAMK,EAAE,IAAI,IAAQH,EAAE,GAAoH,OAA9G,EAAE,SAAS,GAAG,CAAC,IAAIE,EAAE,IAAMG,GAAU,EAAE,EAAaN,EAAEE,KAAa,GAAI,EAAE,EAAE,IAAIA,EAAEI,GAAG,EAAE,IAAIJ,KAAKI,IAAI,EAAE,GAAM,IAAUP,EAAE,OAAOK,EAAE,MAAMH,EAAEG,EAAEL,CAAE,EAAO,GAAc,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,IAAMI,EAAE,EAAaH,EAAED,GAAG,GAAGI,EAAE,CAAC,GAAGF,IAAI,EAAE,MAAME,IAAI,CAAC,EAAuBA,EAAE,EAAEF,IAAI,OAAOE,EAAE,MAAMA,GAAG,EAAsBA,EAAE,EAAG,KAAMG,EAAE,CAAC,EAAEJ,EAAE,EAASC,GAAW,GAAI,EAAE,EAAE,GAAK,EAAE,EAAuBH,EAAQG,GAAW,EAAEC,GAAG,CAAKC,EAAE,CAAQF,GAAW,EAAmR,OAA7QA,GAAG,MAAMA,GAAG,OAAO,GAAGA,EAAE,EAAED,GAAOI,EAAE,IAAIH,EAAE,IAAIG,EAAE,EAAE,OAAOH,EAAE,EAAE,MAAM,CAAC,MAAM,KAAKG,EAAE,EAAE,QAAQ,OAAO,GAAGH,EAAE,EAAE,IAAIH,QAAO,EAAE,GAAK,QAAQ,UAAU,UAAU,CAAC,EAAaA,EAAG,MAAS,EAAE,GAAK,EAAEM,EAAE,EAAE,EAAE,EAAE,IAAIP,KAAK,EAAE,EAAE,IAAI,IAAIO,EAAE,GAAG,IAAIP,EAAEO,EAAE,KAAOH,GAAG,CAACE,EAASF,GAAE,EAAaH,EAAED,EAAEO,GAAUA,EAAE,EAAO,GAAkB,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,IAAMH,EAAE,EAAaH,EAAED,GAAG,GAAGI,EAAE,CAAC,GAAGF,IAAI,EAAE,MAAME,IAAI,CAAC,EAAuBA,EAAE,EAAEF,IAAI,OAAOE,EAAE,MAAMA,GAAG,EAAsBA,EAAE,EAAG,KAAMG,EAAE,CAAC,EAAEJ,EAAE,GAAUC,GAAW,GAAI,GAAG,EAAE,EAAE,GAAK,EAAE,EAAuBH,EAAQG,GAAW,EAAEC,GAAG,CAAqB,OAApB,EAAaJ,EAAED,EAAEO,GAAUA,CAAE,EAAO,GAAwB,EAAE,EAAE,EAAE,IAAI,CAAC,IAAML,EAAE,EAAaD,EAAED,GAAG,GAAGE,GAAG,MAAMA,EAAE,CAAC,GAAG,EAAuBA,EAAE,EAAEC,IAAI,CAAC,EAAkCD,EAAE,GAAG,OAAOA,EAAE,EAAEA,EAAE,CAAC,GAAGA,EAAE,EAAE,GAAK,CAAC,EAAsBA,EAAE,EAAG,GAA0BD,EAAED,EAAEG,GAAG,IAAMC,EAAE,CAAC,EAAED,EAAE,GAAUD,GAAW,GAAI,GAAG,EAAE,EAAE,GAAK,EAAE,EAAuBD,EAAQC,GAAW,EAAEG,GAAG,CAAqB,OAApB,EAAaJ,EAAED,EAAEI,GAAUA,CAAE,EAAO,GAAuB,EAAE,EAAE,EAAE,IAAI,CAAC,GAAGD,aAAa,QAAQ,CAAC,IAAMD,EAAE,EAAsBC,EAAEA,EAAE,MAAM,GAAG,CAAC,EAAaF,EAAED,EAAEG,EAAEE,EAAEH,EAAG,IAAG,OAAO,GAAG,CAAC,GAAGC,aAAa,QAAQ,OAAO,EAAkBA,GAAGA,EAAE,UAAU,CAAC,EAAcF,EAAED,EAAE,GAAM,IAAGG,EAAE,EAAiBF,EAAED,EAAEG,EAAEE,EAAEH,EAAG,KAAI,OAAO,EAAuBD,EAAED,EAAEE,EAAEG,EAAG,QAAO,EAAaJ,EAAED,EAAEG,EAAEE,EAAG,EAAO,GAAoB,EAAE,IAAI,CAAC,IAAMF,EAAE,EAAaF,EAAED,GAAG,GAAGG,EAAE,CAAC,IAAME,EAAE,CAAC,GAAGF,EAAE,EAAE,GAAM,CAAC,EAAaF,EAAED,EAAEK,EAAG,OAAoB,OAAO,KAAK,KAAK,OAAO,KAAK,IAAI,QAAjD,cAAwD,QAAQ,KAAK,+CAA+CL,EAAG,EAAO,GAAe,EAAE,EAAE,IAAI,CAAC,GAAG,CAACK,EAAE,CAAC,IAAMA,EAAE,EAAaJ,EAAED,GAAG,GAAGK,EAAE,CAAC,GAAGA,EAAE,GAAG,MAAMA,GAAG,CAAC,EAAkCA,EAAE,GAAG,OAAOA,EAA8H,GAA5H,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,GAAGH,IAAIF,EAAE,GAAGG,EAAE,IAAID,GAAG,CAAC,IAAMF,EAAE,EAAaC,EAAEC,GAAG,GAAG,CAACF,EAAE,GAAG,EAAcC,EAAEC,EAAG,MAAK,EAAcD,EAAEC,EAAG,IAAM,MAAM,KAAKG,EAAE,GAAG,QAAQ,CAACL,EAAEG,EAAE,GAAG,CAAC,IAAME,EAAE,EAAaJ,EAAED,GAAG,OAAOK,GAAG,EAAE,MAAMA,IAAIA,EAAE,IAAIF,CAAE,IAAG,OAAOE,EAAE,EAAEA,EAAE,CAAC,GAAGA,EAAE,EAAE,GAAK,AAAC,CAAC,KAAMH,EAAE,IAAI,IAAI,GAAG,CAAC,IAAMC,EAAEH,EAAE,MAAM,GAAG,CAAC,EAAE,IAAIG,GAAG,IAAME,EAAEF,IAAIH,EAAE,EAAaC,EAAEE,GAAG,EAAcF,EAAEE,GAAG,GAAGE,EAAE,CAAC,GAAG,MAAMA,EAAE,MAAMA,EAAE,EAAE,GAAG,MAAMA,EAAE,MAAMA,EAAE,EAAE,OAAOA,EAAE,CAAE,IAAG,EAAgBF,GAAG,OAAOA,EAAE,KAAK,MAAU,MAAM,eAAgB,IAAG,OAAO,EAAsBF,EAAED,EAAEG,EAAED,EAAG,OAAMC,EAAE,CAAC,GAAGA,aAAa,QAAQ,CAAC,IAAME,EAAE,EAAkBF,IAAI,EAAkCA,GAAG,GAAoBA,GAAG,EAAsBA,EAAEA,GAAG,OAAO,EAAuBF,EAAED,EAAEK,EAAEH,EAAG,QAAO,EAAiBD,EAAED,EAAEG,EAAED,EAAG,CAAC,EAAO,GAAU,EAAE,IAAI,CAAC,IAAMC,EAAE,EAAcH,EAAEC,GAAG,OAAOE,CAAE,EAAO,GAAS,EAAE,IAAI,CAAC,IAAIE,EAAEF,EAAE,IAAIH,GAAyB,MAAtB,CAAI,IAAE,EAAUC,EAAED,GAAWK,CAAE,EAAO,GAAgB,EAAE,IAAI,CAACL,EAAE,EAAE,OAAO,CAACA,EAAE,EAAE,MAAUA,EAAE,EAAE,OAAR,GAAcA,EAAE,EAAE,IAAIC,IAAU,GAAS,EAAE,IAAI,CAAC,IAAMI,EAAEF,EAAE,IAAIH,GAAG,GAAG,EAAeA,EAAEK,IAAI,EAAYJ,EAAED,EAAG,EAAO,GAAsB,EAAE,IAAI,CAAC,IAAMK,EAAEF,EAAE,IAAIH,GAASK,GAAW,EAAE,SAAS,GAAG,CAAIF,IAAIH,IAAG,EAAmBC,EAAEE,GAAG,EAAqBF,EAAEE,GAAI,GAAG,EAAO,IAAgB,EAAE,EAAE,IAAI,CAAC,IAAIE,EAAE,GAAW,GAAa,EAAE,IAAI,CAAC,IAAMA,EAAE,EAAcJ,EAAED,GAAG,GAAG,MAAMK,EAAE,MAAMA,EAAE,EAAE,GAAG,MAAMA,EAAE,CAAC,GAASF,GAAW,iBAAiB,OAAOE,EAAE,EAAE,UAAU,CAAC,IAAMH,EAAE,EAAaD,EAAED,GAAG,OAAOE,GAAG,MAAMA,GAAGA,EAAE,IAAIG,EAAE,EAAE,IAAI,SAAS,GAAG,WAAWJ,KAAK,UAAU,EAAYD,EAAEG,KAAK,EAAYH,EAAEG,EAAG,IAAwJ,MAArI,OAAO,KAAK,KAAK,OAAO,KAAK,IAAI,QAAjD,cAAwD,QAAQ,KAAK,6EAA6EH,GAASK,EAAE,CAAE,IAAG,MAAMA,EAAE,OAAOA,EAAE,EAAgK,MAA9I,OAAO,KAAK,KAAK,OAAO,KAAK,IAAI,QAAjD,cAAwD,QAAQ,KAAK,sFAAsFL,GAAa,MAAM,iBAAkB,EAAO,GAAQ,EAAE,IAAI,CAAC,IAAII,EAAE,GAAGD,IAAIH,EAAE,CAAC,GAAG,CAAC,EAAgBG,GAAG,MAAU,MAAM,qBAAqB,IAAMH,EAAE,EAAgCG,GAAG,EAAE,SAAS,GAAG,CAAC,IAAIF,GAAG,EAAsBD,EAAEG,EAAED,EAAG,IAAG,IAAMG,EAAE,EAAaJ,EAAEE,GAASC,EAAE,EAAsBH,EAAEE,EAAED,GAAG,IAAIE,GAAG,EAAqBH,EAAEE,EAAG,MAAK,EAAE,GAAeF,EAAEE,EAAED,GAAsB,OAAnB,GAAG,EAAaD,GAAUG,CAAE,EAAOF,EAAEF,EAAE,MAAM,EAAY,EAAOG,GAAW,MAAR,GAAE,GAAaD,CAAE,EAAO,GAAW,EAAE,EAAE,IAAI,CAAC,IAAMG,EAAE,GAAeF,EAAEF,EAAED,GAAmB,OAAhB,EAAaG,GAAUE,CAAE,EAAO,GAAuB,GAAG,CAAC,CAACJ,EAAE,MAAY,GAAW,EAAE,EAAE,IAAI,CAAC,IAAMC,EAAE,CAAC,EAAE,IAAI,IAAIG,GAAG,CAACA,EAAE,EAAE,EAAE,IAAI,IAAI,CAAC,EAAE,IAAIL,EAAEE,IAAmB,OAAO,KAAK,KAAK,OAAO,KAAK,IAAI,QAAjD,cAAwDE,EAAE,IAAIJ,GAAG,IAAMO,EAAE,EAAc,IAAK,GAAEP,GAAiF,GAA9E,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,IAAMI,EAAED,EAAE,IAAID,GAAG,EAAEE,EAAE,EAAE,IAAIJ,GAAGE,IAAIF,GAAG,EAAUC,EAAEC,EAAEF,EAAG,IAAM,GAAuBA,IAAIA,EAAE,QAAQ,CAAC,IAAM,EAAQ,GAAG,EAAUA,EAAEG,EAAEF,GAASE,EAAEH,EAAE,QAAQ,GAAS,EAAE,IAAK,GAAE,IAAI,EAAE,EAAEG,EAAG,QAAOD,CAAE,EAAO,GAAa,EAAE,IAAI,CAAC,IAAIG,EAAE,IAAMH,GAAS,EAAEC,EAAE,IAAIH,KAAa,EAAE,GAAGE,IAAI,EAAE,OAAOF,IAAmB,OAAO,KAAK,KAAK,OAAO,KAAK,IAAI,QAAjD,cAAwDI,EAAE,OAAOJ,GAAG,IAAMO,EAAE,EAAaN,EAAED,GAAMO,GAAG,MAAMA,GAAG,EAAsBA,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,GAAGL,IAAIF,EAAE,CAAC,IAAMK,EAAEF,EAAE,IAAID,GAAMG,IAAG,EAAE,EAAE,OAAOL,GAAG,EAAeE,EAAEG,IAAI,EAAYJ,EAAEC,GAAI,CAAC,MAAuB,OAAO,KAAK,KAAK,OAAO,KAAK,IAAI,QAAjD,cAAwD,QAAQ,KAAK,6CAA6CF,EAAG,EAAO,GAAmB,EAAE,EAAE,EAAE,IAAI,CAAC,IAAMI,EAAE,IAAI,IAAIC,EAAE,EAAE,QAAcH,GAAW,UAAU,EAAE,IAAI,CAAC,GAAGE,EAAE,IAAIF,GAAG,CAAC,EAAE,OAAOA,GAAG,MAAO,KAAMK,EAAEJ,EAAE,IAAID,GAAMK,IAAG,EAAE,EAAE,OAAOP,GAAG,EAAeE,EAAEK,IAAI,EAAYN,EAAEC,GAAI,IAAG,EAAE,SAAS,GAAG,CAAC,IAAMA,EAAEC,EAAE,IAAIE,GAAG,EAAEH,EAAE,EAAE,IAAIF,GAAGG,EAAE,IAAIH,IAAI,EAAUC,EAAEI,EAAEL,EAAG,GAAG,EAAO,EAAa,GAAG,CAAC,GAAGC,EAAE,CAAC,IAAMI,EAAE,EAAyBJ,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,IAAMG,EAAEJ,EAAE,IAAIE,GAAG,GAAGG,IAAID,EAAE,CAAC,IAAMJ,EAAEG,EAAE,IAAID,GAASF,GAAW,EAAE,SAAS,GAAGA,EAAEC,IAAK,CAAC,GAAG,KAAI,CAAC,KAAMI,EAAE,MAAK,CAAC,IAAMJ,EAAE,MAAM,KAAKI,GAAG,EAAE,QAAQ,EAAE,UAAU,CAACJ,EAAED,EAAE,GAAG,CAAC,IAAMK,EAAE,EAAa,IAAK,GAAEJ,GAAmF,GAAhF,GAAGI,EAAE,IAAWL,GAAW,GAAI,EAAkB,IAAK,GAAEC,EAAEI,EAAQL,GAAW,GAAMA,GAAG,CAACA,EAAE,GAAUK,GAAW,EAAG,OAAO,IAAMH,EAAEC,EAAE,IAAIF,GAASC,GAAW,EAAE,SAAS,GAAGD,KAAM,GAAG,EAAgB,OAAO,KAAK,KAAK,OAAO,KAAK,IAAI,sBAAOC,EAAE,SAAS,GAAGD,KAAM,CAAC,EAAO,EAA4B,GAAG,CAAC,IAAME,EAAE,EAAyBF,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,IAAMC,EAAEF,EAAE,IAAIK,IAAM,CAACH,GAAGC,EAAE,EAAED,EAAE,GAAGC,EAAE,IAAID,EAAE,GAAGC,EAAE,IAAID,EAAE,GAAGC,EAAE,IAAID,EAAE,KAAG,EAAE,IAAIG,EAAEF,GAAG,EAAE,IAAWD,GAAW,GAAI,EAAkBD,EAAEI,EAAEF,EAAQD,GAAW,GAAI,GAAG,EAAO,GAAY,EAAE,IAAI,CAAC,GAAG,EAA4BF,GAAG,EAAa,IAAK,GAAG,EAAO,GAAe,EAAE,EAAE,IAAI,CAAC,IAAMK,EAAE,EAAQF,EAAEF,GAASC,EAAEG,EAAE,EAAW,OAAT,EAAE,IAAIL,OAAa,CAAC,EAAE,OAAOA,GAAG,EAAQG,EAAEF,EAAG,CAAC,EAAO,GAAc,EAAE,IAAI,CAAC,IAAI,GAAK,CAACE,EAAEE,EAAE,GAAGJ,EAAK,EAAgBE,KAAI,EAAsBH,EAAEG,EAAEE,GAAG,EAAqBL,EAAEG,MAAgBH,EAAG,EAAC,OAAsB,OAAO,KAAK,KAAK,OAAO,KAAK,IAAI,QAAjD,aAAmO,EAAEa,GAAG,GAAUtB,GAAG,GAAWmB,GAAG,GAAYb,GAAG,GAAe,GAAG,EAAa,CAA1P,EAAEgB,GAAG,GAAUtB,GAAG,GAAWmB,GAAG,GAAYb,GAAG,GAAe,GAAG,GAAc,IAAG,IAAI,EAAE,IAAII,OAAa,CAAC,EAAE,OAAOA,EAAG,IAAGN,QAAOS,EAAE,UAAU,IAAG,GAAGJ,EAAE,IAAIC,IAAIW,IAAG,GAAGT,EAAE,IAAIF,GAAG,AAAgF,EAA+X,GAAsB,EAAE,IAAI,CAAC,IAAME,EAAEH,EAAEA,EAAEC,GAAG,sBAAsB,EAAYA,GAAG,MAAM,CAAC,EAAEE,EAAE,AAAC,EAAO,EAAE,IAAI,IAAU,EAAgB,IAAI,EAAE,IAAIH,IAAI,EAAE,IAAIA,EAAEC,EAAE,MAAgC,EAAE,IAAID,IAA4b,EAAE,mCCAjoU,EAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuEL,GAAe,CAAC,cAAY,WAAS,GAAG;uBACjC,EAAS,aAAa,EAAS,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAqDpD,EAAY;;;;;;;;;;;;SAYX,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;YA4BA,EAAY;;;;;;;;;;;;aAYX,GAAG;;;;;;;;;GASA,GAAW;;;;UAIjB,EAAe;;;;EAIV,GAAS;;;QAGhB,EAAe;;;EAGR,GAAe;;;;WAInB,EAAe;;;;;;;;EAQX,GAAgB;;;;WAIpB,EAAe;;;;;;;;EAQX,GAAgB;;;;WAIpB,EAAe;;;;;;;;KCpOyI,eAAsB,GAAiB,EAAO,EAAY,CAAC,IAAM,EAAS,EAAE,CAAK,EAAS,KAAK,GAAG,CAAC,EAAE,CAAC,IAAM,EAAM,EAAc,CAAC,WAAS,cAAY,EAAQ,EAAS,MAAM,EAAO,QAAQ,GAAO,EAAS,KAAK,GAAG,EAAS,MAAM,SAAS,OAC/Y,IAAM,EAAiB,EAAS,MAAM,SAAS,SAAS,EAAS,EAAiB,YAAY,EAAiB,UAAU,KAAK,QAAQ,IAAI,WAAW,EAAS,OAAO,qBAAuB,OAAM,GAAS,OAAO,CAAU,OAAM,EAAM,CAAyD,OAAxD,QAAQ,MAAM,2BAA2B,EAAM,SAAe,EAAE,AAAE,CAAC,kDAAa,GAAa,EAAK,CAAC,kBAAkB,GAAM,EAAe,GAAW,EAAK,MAAmB,EAAW,EAAK,MAAmB,GAAqB,EAAK,EAAE,EAAe,GAAa,EAAK,KAAM,IAAK,CAAC,IAAM,EAAY,EAAI,IAAc,kBAAkB,GAAG,CAAC,EAAI,GAAY,MAAM,EAAE,CAAC,IAAM,EAAS,MAAM,GAAiB,EAAI,GAAY,GAAa,OAAO,CAAU,GAAe,EAAc,EAAK,MAAmB,EAAe,EAAK,KAAM,IAAK,CAAC,IAAM,EAAW,EAAE,CAAO,EAAW,IAAI,IAAI,EAAO,SAAS,MACrrB,OAAtI,EAAW,cAAc,SAAS,EAAM,IAAM,CAAI,IAAM,OAAO,EAAW,KAAK,CAAC,MAAI,QAAM,CAAI,GAAE,QAAQ,IAAI,cAAc,GAAmB,EAAI,IAAa,QAAQ,GAAW,CAAC,UAAU,CAAC,UAAU,CAAC,aAAW,CAAC,CAAC,EAAE,KAAK,GAAK,EAAI,MAAM,YAAY,KAAO,GAAe,GAAS,EAAK,KAAM,IAAK,CAAC,IAAM,EAAO,aAAa,QAAQ,iBAAuB,EAAU,EAAI,GAAe,GAAG,EAAU,OAAO,EAAU,IAAM,EAAO,EAAI,GAAyE,OAAzD,EAAuB,EAAyC,EAAO,QAAQ,GAAS,CAAC,UAAU,CAAC,SAAO,CAAC,EAAE,KAAK,GAAS,EAAI,MAAM,KAAY,EAAI,KAAK,KAAY,EAAI,IAAmB,UAAU,EAAI,IAAvK,EAAI,GAA3B,IAAgN,MCFlR,SAAS,EAAmB,EAAE,EAAEA,EAAE,CAAC,OAAOC,EAAE,WAAW,GAAGC,KAAKD,EAAE,GAAGC,EAAE,IAAID,GAAI,UAAS,GAAgB,EAAE,CAAC,OAAOD,aAAa,MAAMA,EAAE,QAAQ,KAAK,UAAUA,EAAG,UAAS,GAAgB,CAAC,OAAOA,EAAE,QAAQG,EAAE,CAAC,CAAC,GAAGA,IAAI,IAAK,KAAI,OAAOA,GAAI,UAAUA,EAAE,IAAGA,EAAE,IAAG,MAAU,MAAM,GAAGH,EAAE,kCAAkCG,EAAE,wCAAwC,GAAE,mBAAmB,KAAK,UAAS,EAAmB,EAAE,EAAE,CAAC,OAAOF,IAAI,OAAOA,GAAI,UAAU,MAAM,QAAQA,IAAI,OAAOA,GAAI,UAAU,OAAO,KAAKA,GAAG,OAAO,GAAG,EAAED,GAAGC,EAAE,CAAC,EAAE,AAAC,UAAS,GAAkB,CAAC,aAAaA,EAAE,eAAeC,EAAE,MAAM,OAAOC,EAAEH,EAAE,qBAAqBI,EAAE,GAAE,eAAeC,EAAE,GAAE,CAAC,CAAC,IAAM,EAAU,MAAM,EAAE,EAAE,IAAI,CAAC,IAAMC,EAAEC,EAAE,EAAQC,EAAEC,EAAE,EAAMC,EAAE,GAAG,CAAgF,GAA/E,EAAE,MAAMR,EAAE,GAAGF,GAAG,EAAE,CAAC,KAAK,gBAAgB,QAAQ,CAAC,cAAcA,EAAE,SAASU,EAAE,CAAC,EAAK,CAACA,EAAE,IAAIL,EAAE,SAASK,EAAE,SAASJ,GAAGE,EAAE,MAAU,QAAM,OAAOE,CAAE,OAAMR,EAAE,CAAC,GAAGI,GAAGE,EAAE,CAAC,IAAMN,EAAEQ,GAAG,QAAQ,IAAI,eAA2I,OAA5H,MAAM,GAAMR,EAAE,SAASA,EAAE,IAAIE,GAAG,EAAE,CAAC,KAAK,aAAa,QAAQ,CAAC,cAAcJ,EAAE,aAAaU,EAAE,aAAaH,EAAE,WAAWE,EAAE,CAAC,EAAS,EAAUT,EAAEM,EAAEG,EAAG,OAAU,MAAM,EAAmB,GAAGA,EAAE,EAAE,+BAA+BA,EAAE,mCAAmC,KAAK,GAAgBP,KAAKC,GAAI,CAAC,EAAC,OAAO,CAAU,gBAAe,GAAM,EAAE,CAAC,OAAO,IAAI,SAAS,GAAG,WAAWF,EAAED,IAAK,UAAS,GAAoB,CAAC,QAAQC,EAAE,IAAIC,EAAE,eAAeC,EAAEO,GAAE,QAAQN,EAAE,EAAE,OAAOC,EAAE,CAAC,CAAC,GAAgB,CAAC,OAAOL,EAAE,QAAQI,EAAE,EAAE,IAAMG,EAAE,CAAC,QAAQN,EAAE,IAAIC,EAAE,QAAQE,EAAE,CAAOE,EAAE,GAAqBD,GAASG,EAAE,GAAkB,CAAC,eAAeL,EAAE,aAAaG,EAAE,qBAAqB,GAAE,EAAQI,EAAE,GAAcF,EAAED,GAASI,EAAE,GAAgBD,GAAG,MAAM,CAAC,OAAOH,EAAE,MAAMG,EAAE,QAAQC,EAAE,AAAC,UAAS,GAAqB,EAAE,CAAC,MAAO,IAAG,CAAC,GAAGX,EAAEC,EAAG,CAAC,gBAAe,GAAoB,EAAE,CAAC,GAAK,CAAC,OAAOA,EAAE,KAAKC,EAAE,WAAWE,EAAE,CAAC,MAAMJ,EAAE,OAAO,MAAM,CAAC,GAAG,EAAmB,OAAOE,GAAG,GAAG,EAAmB,aAAaE,GAAG,GAAGH,GAAG,CAACC,EAAE,CAAC,OAAO,CAAC,kBAAkBF,EAAE,OAAO,QAAQ,EAAmBC,EAAE,GAAE,IAAG,GAAG,EAAmB,gBAAgBA,GAAG,SAASD,EAAE,CAAC,CAAC,EAAE,CAAC,AAAC,UAAS,GAAc,EAAE,CAAC,IAAIE,EAAE,QAAQC,EAAE,QAAQC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,EAAE,EAAE,GAAG,CAAC,GAAK,CAAC,UAAUK,EAAE,QAAQH,EAAE,IAAIE,EAAE,QAAQE,EAAE,CAACH,EAAQI,EAAE,KAAK,UAAU,CAAC,MAAMN,EAAE,UAAUI,EAAE,EAAE,GAAgB,CAAC,OAAOT,EAAE,QAAQU,EAAE,EAAE,IAAME,EAAE,OAAO,YAAY,OAAO,QAAQ,CAAC,GAAGT,EAAE,GAAGG,EAAE,EAAE,MAAM,CAACN,EAAEC,EAAE,GAAG,CAACD,EAAE,MAAM,QAAQC,GAAGA,EAAE,KAAK,MAAMA,EAAE,WAAW,IAAUY,EAAE,CAACL,GAAGN,EAAE,CAAC,OAAO,OAAO,QAAQU,EAAE,KAAKD,EAAE,CAAC,CAAC,OAAOV,EAAEY,EAAE,EAAEH,GAAGN,EAAG,CAAC,UAAS,GAAgB,EAAE,CAAC,OAAO,MAAM,GAAGH,IAAI,CAAC,GAAG,CAAC,IAAMC,EAAE,MAAMF,EAAE,GAAGC,GAAQ,CAAC,OAAOE,EAAE,WAAWE,EAAE,CAACH,EAAQO,EAAEP,EAAE,QAAQ,IAAI,iBAAiB,GAAG,OAAOA,EAAE,GAAGO,EAAE,SAAS,GAAE,MAAM,GAAoBP,GAAG,CAAC,OAAO,CAAC,kBAAkBC,EAAE,QAAQ,EAAmB,GAAG,GAAE,GAAGM,KAAK,SAASP,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkBC,EAAE,QAAQ,EAAmBE,GAAG,SAASH,EAAE,CAAC,AAAC,OAAMF,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,GAAgBA,GAAG,CAAC,AAAC,CAAC,CAAC,UAAS,GAA6B,CAAC,OAAOA,EAAE,YAAYC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAACA,GAAG,OAAOA,GAAI,SAAS,MAAU,QAAM,IAAMD,EAAEC,EAAE,OAAaC,EAAEF,EAAE,WAAW,QAAQA,EAAE,WAAWA,IAAUG,EAAE,IAAI,IAAID,GAAsB,MAAnB,GAAE,SAAS,QAAeC,EAAE,MAAO,MAAQ,CAAC,MAAU,MAAM,GAAGH,EAAE,2BAA2BC,EAAE,qBAAsB,CAAC,UAAS,GAAmB,CAAC,OAAOD,EAAE,4BAA4BC,EAAE,WAAWC,EAAE,OAAOC,EAAE,CAAC,CAAC,IAAMC,EAAE,GAAGJ,EAAE,8BAA8BE,EAAE,IAAUG,EAAE,qCAAqCJ,EAAE,KAAK,QAAQ,GAAG,CAACC,GAAG,OAAOA,GAAI,SAAS,MAAU,MAAM,GAAGE,EAAE,eAAeC,KAAK,IAAME,EAAEL,EAAE,OAAO,EAAE,SAASK,KAAKJ,EAAEA,EAAE,CAAC,KAAK,0BAA0B,QAAQ,CAAC,WAAWD,EAAE,qBAAqBD,EAAE,CAAC,EAAE,QAAQ,KAAK,GAAGG,EAAE,0CAA0CC,KAAM,UAAS,EAAgB,EAAE,CAAC,IAAMJ,EAAED,EAAE,EAAE,EAAE,OAAOC,IAAI,GAAGA,EAAE,IAAIA,GAAI,UAAS,EAAkB,EAAE,EAAE,EAAE,CAAC,IAAME,EAAEF,EAAEC,EAAE,OAAOC,GAAG,EAAE,GAAGH,EAAE,EAAE,GAAG,EAAgBG,EAAE,KAAK,GAAGH,EAAE,GAAG,EAAgBG,IAAK,UAAS,IAAsB,CAAC,IAAMH,EAAE,IAAI,KAAWC,EAAED,EAAE,cAAoBE,EAAEF,EAAE,iBAAuBG,EAAE,KAAK,MAAMF,EAAE,EAAE,GAAG,MAAM,CAAC,KAAKC,EAAE,QAAQC,EAAE,QAAQ,GAAGD,EAAE,GAAG,EAAgBC,KAAK,AAAC,UAAS,IAAgC,CAAC,GAAK,CAAC,KAAKH,EAAE,QAAQC,EAAE,QAAQC,EAAE,CAAC,KAA6BC,EAAEF,IAAI,EAAE,GAAGD,EAAE,EAAE,KAAK,GAAGA,EAAE,GAAG,EAAgBC,EAAE,KAAK,MAAM,CAAC,EAAkBD,EAAEC,EAAE,GAAG,EAAkBD,EAAEC,EAAE,GAAG,EAAkBD,EAAEC,EAAE,GAAGC,EAAEC,EAAE,WAAW,AAAC,UAAS,GAAmB,EAAE,CAAC,MAAO,KAAI,CAAC,GAAGF,GAAG,EAAE,CAAC,GAAGD,EAAE,QAAQ,CAAE,UAAS,GAA2B,CAAC,WAAWA,EAAE,UAAUC,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,IAAMG,EAAE,CAACF,EAAE,CAAC,GAAGC,GAAG,OAAO,KAAKA,GAAG,OAAO,EAAE,CAAC,GAAK,CAAC,UAAUD,EAAE,WAAWG,EAAE,QAAQE,EAAE,QAAQE,EAAE,CAACN,EAAE,EAAE,KAAK,CAAC,GAAGD,EAAE,CAAC,UAAUA,EAAE,CAAC,EAAE,CAAC,GAAGK,EAAE,CAAC,QAAQP,EAAEO,GAAG,CAAC,EAAE,CAAC,GAAGF,EAAE,CAAC,IAAIJ,EAAEI,GAAG,CAAC,EAAE,CAAC,GAAGI,EAAE,CAAC,QAAQA,EAAE,CAAC,EAAE,CAAC,CAAE,QAAOL,CAAE,CAAC,CAAiR,SAAS,GAAgC,EAAE,CAAC,GAAGJ,GAAU,IAAS,OAAY,MAAU,MAAM,GAAG,EAAE,0JAA2J,UAAS,GAA6B,EAAE,EAAE,CAAC,GAAG,CAACA,GAAG,CAACC,EAAE,MAAU,MAAM,GAAG,EAAE,sDAAsD,GAAGD,GAAGC,EAAE,MAAU,MAAM,GAAG,EAAE,wDAAyD,UAAS,GAA0B,CAAC,YAAYD,EAAE,WAAWC,EAAE,kBAAkBC,EAAE,mBAAmBC,EAAE,WAAWC,EAAE,QAAQC,EAAE,EAAE,eAAeE,EAAE,OAAOE,EAAE,CAAC,CAAC,IAAMH,EAAE,KAAuCQ,EAAE,GAA6B,CAAC,OAAO,EAAE,YAAYd,EAAE,EAAQe,EAAE,CAAC,OAAO,EAAE,4BAA4BT,EAAE,OAAOG,EAAE,CAAC,GAAmB,CAAC,GAAGM,EAAE,WAAWd,EAAE,EAAE,GAA6BC,EAAEC,GAAG,GAAgCA,GAAG,IAAM,EAAE,GAAwBW,EAAEb,EAAEc,GAASC,EAAE,CAAC,YAAYF,EAAE,WAAWb,EAAE,GAAGC,EAAE,CAAC,kBAAkBA,EAAE,CAAC,CAAC,mBAAmBC,EAAE,CAAC,QAAQ,CAAC,eAAe,GAAE,OAAO,IAAG,IAAGO,IAAG,IAAG,GAAE,GAAGN,EAAE,EAAE,IAAGA,EAAE,CAAC,EAAE,CAAC,GAAGF,EAAE,EAAE,IAAGA,EAAE,CAAC,EAAE,IAAGC,EAAE,CAAC,CAAC,OAAO,IAAI,WAAWC,EAAE,CAAO,EAAE,GAAoB,CAAC,QAAQY,EAAE,QAAQ,IAAIA,EAAE,OAAO,QAAQX,EAAE,eAAeE,EAAE,OAAOE,EAAE,EAAQ,EAAE,GAAmBO,GAAS,EAAE,GAAkBA,EAAE,GAAS,EAAE,GAA2B,CAAC,WAAW,EAAE,UAAU,EAAE,EAAQ,EAAE,CAAC,OAAOA,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,GAAGhB,IAAI,EAAE,MAAM,GAAG,EAAE,GAAGA,IAAI,SAAS,GAAGA,IAAI,EAAE,QAAQ,GAAG,EAAE,GAAGA,IAAI,CAAC,OAAO,OAAO,OAAO,EAAG,UAAS,GAAwB,EAAE,EAAE,EAAE,CAAC,MAAO,IAAG,CAAC,GAAG,GAAmB,CAAC,GAAGE,EAAE,WAAWC,EAAE,EAAE,IAAMC,GAAGD,GAAGF,GAAG,OAAO,MAAM,GAAGD,EAAE,OAAOI,EAAE,cAAe,CAAC,UAAS,GAAkB,EAAE,EAAE,CAAC,MAAO,IAAGF,EAAED,EAAEC,GAAGF,EAAE,MAAO,wEAArvNA,EAAE,iBAAuB,GAAE,EAAQ,GAAE,EAAQ,GAAE,qFAA2F,GAAE,6CAAmD,GAAE,qGAA2G,GAAE,CAAC,KAAK,mBAAmB,UAAU,kBAAkB,CAAO,GAAE,IAAU,GAAE,CAAC,IAAI,IAAI,CAAk8I,GAAE,mBAAyBU,GAAE,wBAA8B,GAAE,QAAc,GAAE,oCAA0C,GAAE,mCAAyC,GAAE,gBAAsB,GAAE,gBAAsB,GAAE,uBAA6B,EAAE,2BCAniK,SAAgB,GAAU,EAAM,EAAO,CAAC,GAAG,CAAC,EAAM,MAAM,GAAG,IAAI,EAAK,IAAM,GAAQ,EAAM,GAA6C,gBAAgB,SAAS,KAAM,GAA6C,gBAAgB,QAAQ,IAAI,KAAK,GAAG,GAA6C,gBAAgB,GAAG,GAA6C,mBAA6C,QAAc,EAAO,WAAW,EAAM,QAAc,EAAU,IAAI,KAAK,aAAa,EAAO,CAAC,MAAM,WAAW,SAAS,EAAM,aAAa,EAAE,OAAO,EAAU,OAAO,EAAS,CAahlB,SAAgB,GAAS,EAAI,CAAC,IAAM,EAAc,CAAC,GAAG,GAAG,SAAS,KAAK,WAAW,KAAK,OAAO,GAAG,aAAa,IAAI,gBAAgB,KAAK,GAAG,CAAC,GAAG,OAAO,GAAM,SAAU,OAAO,EAAe,GAAG,CAAC,GAAK,CAAC,SAAO,eAAa,WAAS,OAAK,CAAC,IAAI,IAAI,GAAW,EAAc,EAAS,MAAM,KAAW,EAAiB,EAAc,EAAc,OAAO,GAAS,EAAa,EAAc,EAAc,OAAO,GAAG,GAAG,CAAC,GAAkB,CAAC,EAAc,OAAO,EAAe,IAAM,EAAG,GAAG,IAAmB,IAAS,KAAQ,GAAS,EAAW,GAAkB,KAAW,EAAS,GAAwD,KAAK,MAAM,CAAC,KAAG,WAAS,aAAW,SAAO,eAAa,OAAK,AAAE,MAAK,CAAC,OAAO,CAAe,CAAC,UAAgB,GAAS,EAAK,EAAM,CAAC,IAAI,EAAU,OAAO,SAAS,GAAG,EAAK,CAAC,aAAa,GAAW,EAAU,eAAe,CAAC,EAAK,MAAM,KAAK,EAAO,EAAC,EAAQ,CAAE,0BAAa,OAAuB,CAAC,IAAM,EAAS,SAAS,iBAAiB,sBAAsB,EAAS,QAAQ,GAAS,CAAC,IAAM,EAAQ,EAAQ,cAAc,qBAA2B,EAAS,EAAQ,iBAAiB,2BAA+B,EAAQ,GAA6C,GAArC,GAAQ,EAAQ,YAAY,GAAY,EAAS,OAAO,CAAC,IAAM,EAAW,EAAS,GAAG,aAAa,yBAAyB,EAAS,QAAQ,GAAM,CAAI,EAAK,aAAa,2BAA2B,IAAY,EAAQ,GAAQ,EAAG,CAAI,GAGr1C,EAAQ,mBAAmB,aAAa;;;gBAAY,EAAG,EAAc,IAAoB,EAAS,EAAY,IAAuBO,EAAM,SAAS,IAAI,EAAS,GAAO,CAAC,GAAG,CAAc,EAAM,eAAe,GAAQ,OAAO,EAAO,IAAI,EAAK,IAAI,GAAY,EAAK,EAAM,QAAkC,EAAE,CACrJ,OAArK,EAAM,MAAM,UAAU,IAAc,EAAW,SAAS,GAAmB,EAAM,MAAM,SAAS,EAAY,IAAe,EAAW,CAAC,GAAG,EAAW,GAAG,EAAY,CAAqB,EAAM,aAAa,EAAM,EAAa,2CCjB2N,GAAW,GAAQ,CAAC,IAAM,EAAeC,EAAY,OAAa,CAAC,IAAsB,EAAC,KAAK,EAAE,EAAQ,EAAS,EAAa,IAAoB,EAAK,EAAa,IAAgB,EAAO,EAAa,GAAkB,EAAU,EAAW,GAAkB,EAAU,EAAW,IAEpY,OAFgZ,OAAe,IAC5uB,GAAQ,OAAO,KAAK,GAAQ,SAAS,GAAE,EAAU,GACjD,CAAC,GAAQ,GAAQ,aAAa,GAAQ,iBAAiB,EAAU,GAA0B,CAAC,YAAY,EAAO,YAAY,WAAW,UAAU,kBAAkB,EAAO,gBAAgB,eAAe,MAAM,OAAc,CAAC,GAAkB,GAAG,CAAC,EAAO,EAAE,MAAc,CAAI,GAAM,aAAa,QAAQ,gBAAgB,EAAK,GAAM,EAAC,CAAC,EAAK,EAAQ,CAAC,WAAS,OAAK,AAAE,sBCF1V,GAAY,CAAC,GAAG,OAAO,YAAY,aAAa,KAAK,CAAC,eAAe,CAAC,OAAO,OAAO,aAAa,MAAM,CAAC,YAAY,CAAC,OAAO,OAAO,aAAa,MAAM,CAAC,eAAe,CAAC,OAAO,OAAO,aAAa,MAAM,CAAC,gBAAgB,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,OAAO,SAAS,EAAE,YAAY,CAAC,GAAG,OAAO,MAAM,eAAe,QAAQ,CAAC,OAAO,OAAO,aAAa,MAAM,CAAC,MAAM,CAAC,QAAQ,GAAG,OAAO,IAAI,IAAI,yDAAyD,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,OAAO,MAAM,qBAAqB,CAAC,gBAAgB,CAAC,CAAC,KAAK,OAAO,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,GAAe,CAAC,GAAG,OAAO,MAAM,qBAAqB,iBAAiB,GAAM,oBAAoB,CAAC,gBAAgB,CAAC,OAAO,OAAO,aAAa,MAAM,CAAC,CAAC,oBAAoB,GAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC,KAAK,qBAAqB,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,yCAAyC,KAAK,kCAAkC,CAAC,CAAC,GAAG,yCAAyC,KAAK,8BAA8B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,OAAO,aAAa,MAAM,CAAC,gBAAgB,CAAC,OAAO,OAAO,aAAa,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,6CAA6C,KAAK,OAAO,OAAO,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,GAAG,6CAA6C,KAAK,QAAQ,OAAO,CAAC,QAAQ,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,iBAAiB,GAAK,iBAAiB,CAAC,OAAO,OAAO,aAAa,MAAM,CAAC,oBAAoB,GAAM,GAAG,8CAA8C,QAAQ,CAAC,OAAO,OAAO,aAAa,MAAM,CAAC,kBAAkB,EAAE,iBAAiB,GAAK,gBAAgB,CAAC,CAAC,KAAK,OAAO,MAAM,SAAS,CAAC,CAAC,KAAK,QAAQ,MAAM,QAAQ,CAAC,CAAC,QAAQ,GAAM,MAAM,iBAAiB,uBAAuB,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,OAAO,OAAO,aAAa,MAAM,CAAC,YAAY,CAAC,GAAG,yCAAyC,KAAK,kCAAkC,CAAC,CAAC,CAAC,qBAAqB,CAAC,OAAO,KAAK,aAAa,MAAM,CAAC,YAAY,CAAC,GAAG,yCAAyC,KAAK,8BAA8B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,GAAK,iBAAiB,CAAC,OAAO,OAAO,aAAa,MAAM,CAAC,oBAAoB,GAAM,GAAG,8CAA8C,QAAQ,CAAC,OAAO,OAAO,aAAa,MAAM,CAAC,kBAAkB,EAAE,iBAAiB,GAAK,gBAAgB,CAAC,CAAC,KAAK,OAAO,MAAM,SAAS,CAAC,CAAC,KAAK,QAAQ,MAAM,MAAM,CAAC,CAAC,QAAQ,GAAK,MAAM,eAAe,CAAC,CAAC,iBAAiB,GAAK,iBAAiB,CAAC,OAAO,OAAO,aAAa,MAAM,CAAC,oBAAoB,GAAK,GAAG,8CAA8C,QAAQ,CAAC,OAAO,MAAM,aAAa,MAAM,CAAC,kBAAkB,EAAE,iBAAiB,GAAK,gBAAgB,CAAC,CAAC,KAAK,OAAO,MAAM,QAAQ,CAAC,CAAC,KAAK,QAAQ,MAAM,QAAQ,CAAC,CAAC,QAAQ,GAAK,MAAM,gBAAgB,CAAC,CAAC,iBAAiB,GAAM,iBAAiB,CAAC,OAAO,OAAO,aAAa,MAAM,CAAC,oBAAoB,GAAM,GAAG,8CAA8C,QAAQ,CAAC,OAAO,OAAO,aAAa,MAAM,CAAC,kBAAkB,EAAE,iBAAiB,GAAK,gBAAgB,CAAC,CAAC,KAAK,OAAO,MAAM,QAAQ,CAAC,CAAC,KAAK,QAAQ,MAAM,MAAM,CAAC,CAAC,QAAQ,GAAK,MAAM,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,GAAG,OAAO,IAAI,IAAI,yDAAyD,MAAM,IAAI,CAAC,CAAC,QAAQ,GAAG,OAAO,IAAI,IAAI,yDAAyD,MAAM,IAAI,CAAC,CAAC,CAAC,ICA7gG,SAAwB,GAAiB,CAAC,WAAS,QAAM,EAAE,CAAC,SAAO,GAAM,YAAU,SAAO,CAAC,CAAC,IAAM,EAAe,CAAC,kBAAkB,YAAY,wBAAwB,GAAQ,YAAY,CAAwR,OAApR,IAAY,QAA4B,EAAK,MAAM,CAAC,MAAM,CAAC,WAAW,UAAU,MAAM,OAAO,aAAa,OAAO,QAAQ,MAAM,UAAU,6BAA6B,WAAW,MAAM,CAAC,GAAG,EAAe,SAAS,yCAAyC,EAAK,EAAc,KAAyB,EAAK,MAAM,CAAC,MAAM,EAAG,GAAO,GAAG,EAAe,SAAS,OAAO,GAAW,WAAW,GAAQ,IAAY,QAAQ,KAAK,IAAW,EAAS,CAAG"}