From f876fa92398e13e1ad567028cca154ebb05ac5cb Mon Sep 17 00:00:00 2001 From: Sidharth Prabhu Date: Tue, 4 Aug 2026 14:10:10 +0530 Subject: [PATCH] Bug Fixes --- .gitignore | 2 - .../dist/assets/AnimatePresence-CcsC7tO8.js | 9 + .../dist/assets/AnimatePresence-K0yVRmqs.js | 9 - .../dist/assets/Categories-BOfc5dFx.js | 1 - .../dist/assets/Categories-DzWzJLW4.js | 1 + .../{Login-BRQ0DsVn.js => Login-D9pMAuPm.js} | 2 +- .../dist/assets/Orders-BqkxCVX3.js | 71 ++++ .../dist/assets/Orders-DbYj06Fc.js | 71 ---- .../{POS-DIPpRjDw.js => POS-Bp9lDbPa.js} | 2 +- .../dist/assets/Pagination-BDgHnHZA.js | 1 - .../dist/assets/Pagination-BYvNtzJC.js | 1 + .../dist/assets/Products-Cs9hGefr.js | 5 + .../dist/assets/Products-DS0HpWHi.js | 5 - .../dist/assets/index-B-Yfb7Zz.js | 12 + .../dist/assets/index-Cw6Vy2ED.js | 12 - .../dist/assets/minus-B3MNLIPF.js | 1 - .../dist/assets/minus-wD8f4ZO0.js | 1 + counter-frontend/dist/assets/plus-8GVzNLn4.js | 1 - counter-frontend/dist/assets/plus-CtPxjhzP.js | 1 + .../dist/assets/proxy-D2DvKtgS.js | 1 - .../dist/assets/proxy-cLldRXEc.js | 1 + ...rash-2-CSy9EU3V.js => trash-2-B3saCmcm.js} | 2 +- .../assets/{x-BDEl80Ev.js => x-CnVgnJPD.js} | 2 +- counter-frontend/dist/index.html | 2 +- counter-frontend/src/App.tsx | 39 +- frontend/src/App.tsx | 117 +++--- ordering_site/src/App.tsx | 153 ++++---- ordering_site/src/assets/RIT_Logo.webp | Bin 0 -> 71550 bytes ordering_site/src/assets/Tillo.png | Bin 0 -> 17582 bytes ordering_site/src/assets/display_ritz.webp | Bin 0 -> 98530 bytes ordering_site/src/assets/front.webp | Bin 0 -> 36770 bytes ordering_site/src/assets/tillo_spinner.gif | Bin 0 -> 42428 bytes ordering_site/src/components/StockAlert.tsx | 68 ++++ .../src/components/StockConflictModal.tsx | 174 +++++++++ ordering_site/src/contexts/ThemeContext.tsx | 48 +++ ordering_site/src/firebase.ts | 16 + ordering_site/src/pages/NotFoundScreen.tsx | 46 +++ ordering_site/src/pages/PreferencesScreen.tsx | 79 ++++ ordering_site/src/pages/TopUpScreen.css | 358 ++++++++++++++++++ ordering_site/src/pages/TopUpScreen.tsx | 195 ++++++++++ ordering_site/src/pages/WalletScreen.css | 322 ++++++++++++++++ ordering_site/src/pages/WalletScreen.tsx | 221 +++++++++++ ordering_site/src/utils/razorpay.ts | 192 ++++++++++ 43 files changed, 1985 insertions(+), 259 deletions(-) create mode 100644 counter-frontend/dist/assets/AnimatePresence-CcsC7tO8.js delete mode 100644 counter-frontend/dist/assets/AnimatePresence-K0yVRmqs.js delete mode 100644 counter-frontend/dist/assets/Categories-BOfc5dFx.js create mode 100644 counter-frontend/dist/assets/Categories-DzWzJLW4.js rename counter-frontend/dist/assets/{Login-BRQ0DsVn.js => Login-D9pMAuPm.js} (80%) create mode 100644 counter-frontend/dist/assets/Orders-BqkxCVX3.js delete mode 100644 counter-frontend/dist/assets/Orders-DbYj06Fc.js rename counter-frontend/dist/assets/{POS-DIPpRjDw.js => POS-Bp9lDbPa.js} (76%) delete mode 100644 counter-frontend/dist/assets/Pagination-BDgHnHZA.js create mode 100644 counter-frontend/dist/assets/Pagination-BYvNtzJC.js create mode 100644 counter-frontend/dist/assets/Products-Cs9hGefr.js delete mode 100644 counter-frontend/dist/assets/Products-DS0HpWHi.js create mode 100644 counter-frontend/dist/assets/index-B-Yfb7Zz.js delete mode 100644 counter-frontend/dist/assets/index-Cw6Vy2ED.js delete mode 100644 counter-frontend/dist/assets/minus-B3MNLIPF.js create mode 100644 counter-frontend/dist/assets/minus-wD8f4ZO0.js delete mode 100644 counter-frontend/dist/assets/plus-8GVzNLn4.js create mode 100644 counter-frontend/dist/assets/plus-CtPxjhzP.js delete mode 100644 counter-frontend/dist/assets/proxy-D2DvKtgS.js create mode 100644 counter-frontend/dist/assets/proxy-cLldRXEc.js rename counter-frontend/dist/assets/{trash-2-CSy9EU3V.js => trash-2-B3saCmcm.js} (60%) rename counter-frontend/dist/assets/{x-BDEl80Ev.js => x-CnVgnJPD.js} (82%) create mode 100644 ordering_site/src/assets/RIT_Logo.webp create mode 100644 ordering_site/src/assets/Tillo.png create mode 100644 ordering_site/src/assets/display_ritz.webp create mode 100644 ordering_site/src/assets/front.webp create mode 100644 ordering_site/src/assets/tillo_spinner.gif create mode 100644 ordering_site/src/components/StockAlert.tsx create mode 100644 ordering_site/src/components/StockConflictModal.tsx create mode 100644 ordering_site/src/contexts/ThemeContext.tsx create mode 100644 ordering_site/src/firebase.ts create mode 100644 ordering_site/src/pages/NotFoundScreen.tsx create mode 100644 ordering_site/src/pages/PreferencesScreen.tsx create mode 100644 ordering_site/src/pages/TopUpScreen.css create mode 100644 ordering_site/src/pages/TopUpScreen.tsx create mode 100644 ordering_site/src/pages/WalletScreen.css create mode 100644 ordering_site/src/pages/WalletScreen.tsx create mode 100644 ordering_site/src/utils/razorpay.ts diff --git a/.gitignore b/.gitignore index a5c029cc..08ef01aa 100644 --- a/.gitignore +++ b/.gitignore @@ -3,5 +3,3 @@ backend/razorpay.env backend/src/main/resources/application-local.properties counter-frontend/.env -ordering-site/* -ordering_site/ diff --git a/counter-frontend/dist/assets/AnimatePresence-CcsC7tO8.js b/counter-frontend/dist/assets/AnimatePresence-CcsC7tO8.js new file mode 100644 index 00000000..dbef0c2d --- /dev/null +++ b/counter-frontend/dist/assets/AnimatePresence-CcsC7tO8.js @@ -0,0 +1,9 @@ +import{a as e,i as t,n,o as r,r as i}from"./proxy-cLldRXEc.js";import{g as a,h as o,m as s,p as c,u as l}from"./index-B-Yfb7Zz.js";var u=s(),d=a(o(),1);function f(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function p(...e){return t=>{let n=!1,r=e.map(e=>{let r=f(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t{let{width:e,height:l,top:u,left:d,right:p,bottom:m}=c.current;if(t||a===!1||!s.current||!e||!l)return;let h=n===`left`?`left: ${d}`:`right: ${p}`,g=r===`bottom`?`bottom: ${m}`:`top: ${u}`;s.current.dataset.motionPopId=o;let _=document.createElement(`style`);f&&(_.nonce=f);let v=i??document.head;return v.appendChild(_),_.sheet&&_.sheet.insertRule(` + [data-motion-pop-id="${o}"] { + position: absolute !important; + width: ${e}px !important; + height: ${l}px !important; + ${h}px !important; + ${g}px !important; + } + `),()=>{s.current?.removeAttribute(`data-motion-pop-id`),v.contains(_)&&v.removeChild(_)}},[t]),(0,u.jsx)(h,{isPresent:t,childRef:s,sizeRef:c,pop:a,children:a===!1?e:d.cloneElement(e,{ref:p})})}var _=({children:e,initial:n,isPresent:r,onExitComplete:i,custom:a,presenceAffectsLayout:o,mode:s,anchorX:l,anchorY:f,root:p})=>{let m=c(v),h=(0,d.useId)(),_=!0,y=(0,d.useMemo)(()=>(_=!1,{id:h,initial:n,isPresent:r,custom:a,onExitComplete:e=>{m.set(e,!0);for(let e of m.values())if(!e)return;i&&i()},register:e=>(m.set(e,!1),()=>m.delete(e))}),[r,m,i]);return o&&_&&(y={...y}),(0,d.useMemo)(()=>{m.forEach((e,t)=>m.set(t,!1))},[r]),d.useEffect(()=>{!r&&!m.size&&i&&i()},[r]),e=(0,u.jsx)(g,{pop:s===`popLayout`,isPresent:r,anchorX:l,anchorY:f,root:p,children:e}),(0,u.jsx)(t.Provider,{value:y,children:e})};function v(){return new Map}var y=e=>e.key||``;function b(e){let t=[];return d.Children.forEach(e,e=>{(0,d.isValidElement)(e)&&t.push(e)}),t}var x=({children:t,custom:i,initial:a=!0,onExitComplete:o,presenceAffectsLayout:s=!0,mode:l=`sync`,propagate:f=!1,anchorX:p=`left`,anchorY:m=`top`,root:h})=>{let[g,v]=n(f),x=(0,d.useMemo)(()=>b(t),[t]),S=f&&!g?[]:x.map(y),C=(0,d.useRef)(!0),w=(0,d.useRef)(x),T=c(()=>new Map),E=(0,d.useRef)(new Set),[D,O]=(0,d.useState)(x),[k,A]=(0,d.useState)(x);e(()=>{C.current=!1,w.current=x;for(let e=0;e{let t=y(e),n=f&&!g?!1:x===k||S.includes(t);return(0,u.jsx)(_,{isPresent:n,initial:!C.current||a?void 0:!1,custom:i,presenceAffectsLayout:s,mode:l,root:h,onExitComplete:n?void 0:()=>{if(E.current.has(t))return;if(T.has(t))E.current.add(t),T.set(t,!0);else return;let e=!0;T.forEach(t=>{t||(e=!1)}),e&&(M?.(),A(w.current),f&&v?.(),o&&o())},anchorX:p,anchorY:m,children:e},t)})})};export{x as t}; \ No newline at end of file diff --git a/counter-frontend/dist/assets/AnimatePresence-K0yVRmqs.js b/counter-frontend/dist/assets/AnimatePresence-K0yVRmqs.js deleted file mode 100644 index aa63645e..00000000 --- a/counter-frontend/dist/assets/AnimatePresence-K0yVRmqs.js +++ /dev/null @@ -1,9 +0,0 @@ -import{m as e,t,u as n}from"./index-Cw6Vy2ED.js";import{a as r,c as i,i as a,n as o,o as s,r as c,s as l}from"./proxy-D2DvKtgS.js";var u=t(),d=e(n(),1);function f(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function p(...e){return t=>{let n=!1,r=e.map(e=>{let r=f(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t{let{width:e,height:c,top:u,left:d,right:p,bottom:m}=l.current;if(t||a===!1||!s.current||!e||!c)return;let h=n===`left`?`left: ${d}`:`right: ${p}`,g=r===`bottom`?`bottom: ${m}`:`top: ${u}`;s.current.dataset.motionPopId=o;let _=document.createElement(`style`);f&&(_.nonce=f);let v=i??document.head;return v.appendChild(_),_.sheet&&_.sheet.insertRule(` - [data-motion-pop-id="${o}"] { - position: absolute !important; - width: ${e}px !important; - height: ${c}px !important; - ${h}px !important; - ${g}px !important; - } - `),()=>{s.current?.removeAttribute(`data-motion-pop-id`),v.contains(_)&&v.removeChild(_)}},[t]),(0,u.jsx)(h,{isPresent:t,childRef:s,sizeRef:l,pop:a,children:a===!1?e:d.cloneElement(e,{ref:p})})}var _=({children:e,initial:t,isPresent:n,onExitComplete:i,custom:a,presenceAffectsLayout:o,mode:s,anchorX:c,anchorY:f,root:p})=>{let m=l(v),h=(0,d.useId)(),_=!0,y=(0,d.useMemo)(()=>(_=!1,{id:h,initial:t,isPresent:n,custom:a,onExitComplete:e=>{m.set(e,!0);for(let e of m.values())if(!e)return;i&&i()},register:e=>(m.set(e,!1),()=>m.delete(e))}),[n,m,i]);return o&&_&&(y={...y}),(0,d.useMemo)(()=>{m.forEach((e,t)=>m.set(t,!1))},[n]),d.useEffect(()=>{!n&&!m.size&&i&&i()},[n]),e=(0,u.jsx)(g,{pop:s===`popLayout`,isPresent:n,anchorX:c,anchorY:f,root:p,children:e}),(0,u.jsx)(r.Provider,{value:y,children:e})};function v(){return new Map}var y=e=>e.key||``;function b(e){let t=[];return d.Children.forEach(e,e=>{(0,d.isValidElement)(e)&&t.push(e)}),t}var x=({children:e,custom:t,initial:n=!0,onExitComplete:r,presenceAffectsLayout:a=!0,mode:c=`sync`,propagate:f=!1,anchorX:p=`left`,anchorY:m=`top`,root:h})=>{let[g,v]=o(f),x=(0,d.useMemo)(()=>b(e),[e]),S=f&&!g?[]:x.map(y),C=(0,d.useRef)(!0),w=(0,d.useRef)(x),T=l(()=>new Map),E=(0,d.useRef)(new Set),[D,O]=(0,d.useState)(x),[k,A]=(0,d.useState)(x);s(()=>{C.current=!1,w.current=x;for(let e=0;e{let i=y(e),o=f&&!g?!1:x===k||S.includes(i);return(0,u.jsx)(_,{isPresent:o,initial:!C.current||n?void 0:!1,custom:t,presenceAffectsLayout:a,mode:c,root:h,onExitComplete:o?void 0:()=>{if(E.current.has(i))return;if(T.has(i))E.current.add(i),T.set(i,!0);else return;let e=!0;T.forEach(t=>{t||(e=!1)}),e&&(M?.(),A(w.current),f&&v?.(),r&&r())},anchorX:p,anchorY:m,children:e},i)})})};export{x as t}; \ No newline at end of file diff --git a/counter-frontend/dist/assets/Categories-BOfc5dFx.js b/counter-frontend/dist/assets/Categories-BOfc5dFx.js deleted file mode 100644 index f97de522..00000000 --- a/counter-frontend/dist/assets/Categories-BOfc5dFx.js +++ /dev/null @@ -1 +0,0 @@ -import{n as e,r as t,t as n}from"./x-BDEl80Ev.js";import{t as r}from"./plus-8GVzNLn4.js";import{a as i,m as a,o,s,t as c,u as l}from"./index-Cw6Vy2ED.js";import{t as u}from"./proxy-D2DvKtgS.js";import{t as d}from"./AnimatePresence-K0yVRmqs.js";var f=a(l(),1),p=c(),m=async(e,t={})=>{let n=sessionStorage.getItem(`counterToken`),r={"Content-Type":`application/json`,...t.headers||{},...n?{Authorization:`Bearer ${n}`}:{}},i=e.replace(/^http:\/\/[^:/]+:8080\/api/,`https://cmsapi.rit-services.in/api`),a=await fetch(i,{...t,headers:r});return(a.status===401||a.status===403)&&(sessionStorage.removeItem(`isCounterLoggedIn`),sessionStorage.removeItem(`counterToken`),window.location.href=`/login`),a},h=()=>{let[a,c]=(0,f.useState)([]),[l,h]=(0,f.useState)(!0),[_,v]=(0,f.useState)(``),[y,b]=(0,f.useState)(!1),[x,S]=(0,f.useState)(null),C=async()=>{h(!0);try{let e=window.location.hostname,t=await(await m(`http://${e}:8080/api/base-items`)).json();c(Array.isArray(t)?t:t.content||[])}catch(e){console.error(`Error fetching categories:`,e)}finally{h(!1)}};(0,f.useEffect)(()=>{C()},[]);let w=async e=>{e.preventDefault();let t=window.location.hostname,n=x?.id?`http://${t}:8080/api/base-items/${x.id}`:`http://${t}:8080/api/base-items`,r=x?.id?`PUT`:`POST`;try{(await m(n,{method:r,headers:{"Content-Type":`application/json`},body:JSON.stringify(x)})).ok&&(b(!1),C())}catch(e){console.error(`Error saving category:`,e)}},T=a.filter(e=>e.name.toLowerCase().includes(_.toLowerCase()));return(0,p.jsxs)(`div`,{className:`p-8 space-y-8 h-full overflow-y-auto custom-scrollbar bg-slate-50`,children:[(0,p.jsxs)(`div`,{className:`flex flex-col md:flex-row md:items-center justify-between gap-4`,children:[(0,p.jsxs)(`div`,{children:[(0,p.jsx)(`h1`,{className:`text-4xl font-black text-slate-900 tracking-tight`,children:`Food Categories`}),(0,p.jsx)(`p`,{className:`text-slate-400 text-xs font-bold uppercase tracking-[0.2em] mt-2`,children:`Manage your menu structure`})]}),(0,p.jsxs)(`button`,{onClick:()=>{S({name:``,description:``,active:!0}),b(!0)},className:`bg-primary text-white px-10 py-4 rounded-2xl font-black text-xs uppercase tracking-widest flex items-center gap-3 shadow-2xl shadow-primary/30 hover:scale-[1.02] active:scale-95 transition-all`,children:[(0,p.jsx)(r,{size:18}),` Add Category`]})]}),(0,p.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8`,children:[(0,p.jsx)(g,{icon:s,label:`Active Categories`,value:a.filter(e=>e.active).length,color:`bg-primary/5 text-primary`}),(0,p.jsx)(g,{icon:o,label:`Total Structure`,value:a.length,color:`bg-emerald-50 text-emerald-500`})]}),(0,p.jsxs)(`div`,{className:`bg-white p-4 rounded-[3rem] shadow-xl shadow-slate-200/50 border border-slate-100 overflow-hidden`,children:[(0,p.jsxs)(`div`,{className:`p-6 relative group`,children:[(0,p.jsx)(i,{className:`absolute left-12 top-1/2 -translate-y-1/2 text-slate-400 group-focus-within:text-primary transition-colors`,size:24}),(0,p.jsx)(`input`,{type:`text`,placeholder:`Search categories by name...`,value:_,onChange:e=>v(e.target.value),className:`w-full bg-slate-50 border border-slate-100/50 rounded-2xl py-6 pl-16 pr-8 text-sm font-semibold outline-none focus:bg-white focus:ring-4 focus:ring-primary/5 focus:border-primary transition-all shadow-inner`})]}),(0,p.jsx)(`div`,{className:`p-6 grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-8`,children:(0,p.jsx)(d,{children:l?(0,p.jsx)(`div`,{className:`col-span-full h-40 flex items-center justify-center`,children:(0,p.jsx)(`div`,{className:`w-10 h-10 border-4 border-primary/20 border-t-primary rounded-full animate-spin`})}):T.map(t=>(0,p.jsxs)(u.div,{layout:!0,initial:{opacity:0,scale:.9},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.9},className:`bg-white p-8 rounded-[2.8rem] border border-slate-100 shadow-sm hover:shadow-2xl transition-all group flex flex-col gap-8 relative overflow-hidden`,children:[(0,p.jsx)(`div`,{className:`absolute top-0 right-0 w-32 h-32 -mr-16 -mt-16 rounded-full opacity-[0.03] transition-transform duration-700 group-hover:scale-150 ${t.active?`bg-emerald-500`:`bg-slate-500`}`}),(0,p.jsxs)(`div`,{className:`flex items-center justify-between relative z-10`,children:[(0,p.jsx)(`div`,{className:`w-16 h-16 rounded-2xl flex items-center justify-center transition-all ${t.active?`bg-primary/5 text-primary`:`bg-slate-100 text-slate-400`} group-hover:bg-primary group-hover:text-white`,children:(0,p.jsx)(s,{size:32})}),(0,p.jsxs)(`div`,{className:`flex gap-2 opacity-0 group-hover:opacity-100 transition-all transform translate-x-4 group-hover:translate-x-0`,children:[(0,p.jsx)(`button`,{onClick:()=>window.location.href=`/products?category=${t.name}`,className:`w-10 h-10 bg-white border border-slate-100 rounded-xl flex items-center justify-center text-slate-400 hover:text-emerald-500 hover:border-emerald-500/30 shadow-sm transition-all`,title:`View Products`,children:(0,p.jsx)(o,{size:16})}),(0,p.jsx)(`button`,{onClick:()=>{S(t),b(!0)},className:`w-10 h-10 bg-white border border-slate-100 rounded-xl flex items-center justify-center text-slate-400 hover:text-primary hover:border-primary/30 shadow-sm transition-all`,title:`Edit Category`,children:(0,p.jsx)(e,{size:16})})]})]}),(0,p.jsxs)(`div`,{className:`relative z-10`,children:[(0,p.jsx)(`h3`,{className:`text-xl font-black text-slate-800 uppercase tracking-tight leading-none mb-3`,children:t.name}),(0,p.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,p.jsx)(`span`,{className:`w-2 h-2 rounded-full ${t.active?`bg-emerald-500 animate-pulse`:`bg-slate-300`}`}),(0,p.jsx)(`p`,{className:`text-[10px] font-black text-slate-400 uppercase tracking-[0.2em]`,children:t.active?`Active`:`Inactive`})]})]})]},t.id))})})]}),y&&(0,p.jsxs)(`div`,{className:`fixed inset-0 z-[100] flex items-center justify-center p-4`,children:[(0,p.jsx)(u.div,{initial:{opacity:0},animate:{opacity:1},onClick:()=>b(!1),className:`absolute inset-0 bg-slate-900/60 backdrop-blur-md`}),(0,p.jsxs)(u.div,{initial:{opacity:0,scale:.9,y:20},animate:{opacity:1,scale:1,y:0},className:`relative bg-white w-full max-w-lg rounded-[3rem] shadow-2xl overflow-hidden`,children:[(0,p.jsxs)(`div`,{className:`p-10 border-b border-slate-100 flex items-center justify-between bg-white`,children:[(0,p.jsxs)(`div`,{children:[(0,p.jsx)(`h2`,{className:`text-2xl font-black text-slate-900`,children:x?.id?`Edit Category`:`New Category`}),(0,p.jsx)(`p`,{className:`text-[10px] font-black text-slate-400 uppercase tracking-widest mt-1`,children:`Configure category properties`})]}),(0,p.jsx)(`button`,{onClick:()=>b(!1),className:`w-12 h-12 bg-slate-50 rounded-2xl flex items-center justify-center text-slate-400 hover:text-rose-500 transition-all`,children:(0,p.jsx)(n,{size:24})})]}),(0,p.jsxs)(`form`,{onSubmit:w,className:`p-10 space-y-8`,children:[(0,p.jsxs)(`div`,{className:`space-y-4`,children:[(0,p.jsx)(`label`,{className:`text-[10px] font-black text-slate-400 uppercase tracking-[0.2em] ml-2`,children:`Category Name`}),(0,p.jsx)(`input`,{autoFocus:!0,required:!0,type:`text`,value:x?.name||``,onChange:e=>S({...x,name:e.target.value}),className:`w-full bg-slate-50 border border-slate-100 rounded-2xl py-5 px-8 text-sm font-semibold outline-none focus:bg-white focus:ring-4 focus:ring-primary/5 focus:border-primary transition-all`,placeholder:`e.g. FAST FOOD`})]}),(0,p.jsxs)(`div`,{className:`space-y-4`,children:[(0,p.jsx)(`label`,{className:`text-[10px] font-black text-slate-400 uppercase tracking-[0.2em] ml-2`,children:`Description`}),(0,p.jsx)(`textarea`,{value:x?.description||``,onChange:e=>S({...x,description:e.target.value}),className:`w-full bg-slate-50 border border-slate-100 rounded-2xl py-5 px-8 text-sm font-semibold outline-none focus:bg-white focus:ring-4 focus:ring-primary/5 focus:border-primary transition-all h-32 resize-none`,placeholder:`Tell us more about this category...`})]}),(0,p.jsxs)(`div`,{className:`flex items-center gap-4 bg-slate-50 p-6 rounded-3xl border border-slate-100`,children:[(0,p.jsxs)(`div`,{className:`flex-1`,children:[(0,p.jsx)(`p`,{className:`text-sm font-black text-slate-800`,children:`Status`}),(0,p.jsx)(`p`,{className:`text-[10px] font-bold text-slate-400 uppercase tracking-widest`,children:`Enable or disable category visibility`})]}),(0,p.jsx)(`button`,{type:`button`,onClick:()=>S({...x,active:!x.active}),className:`w-16 h-8 rounded-full transition-all relative ${x?.active?`bg-primary`:`bg-slate-300`}`,children:(0,p.jsx)(`div`,{className:`absolute top-1 w-6 h-6 bg-white rounded-full transition-all ${x?.active?`right-1`:`left-1`}`})})]}),(0,p.jsxs)(`div`,{className:`flex gap-4 pt-4`,children:[(0,p.jsx)(`button`,{type:`button`,onClick:()=>b(!1),className:`flex-1 py-5 rounded-2xl font-black text-xs uppercase tracking-widest text-slate-400 hover:bg-slate-50 transition-all border border-transparent hover:border-slate-100`,children:`Cancel`}),(0,p.jsxs)(`button`,{type:`submit`,className:`flex-1 bg-primary text-white py-5 rounded-2xl font-black text-xs uppercase tracking-widest shadow-xl shadow-primary/20 hover:scale-[1.02] active:scale-95 transition-all flex items-center justify-center gap-2`,children:[(0,p.jsx)(t,{size:18}),` `,x?.id?`Update Category`:`Save Category`]})]})]})]})]})]})},g=({icon:e,label:t,value:n,color:r})=>(0,p.jsxs)(`div`,{className:`bg-white p-8 rounded-[2.8rem] border border-slate-100 shadow-sm flex items-center gap-8 group hover:shadow-2xl transition-all`,children:[(0,p.jsx)(`div`,{className:`w-16 h-16 rounded-[1.5rem] flex items-center justify-center group-hover:bg-primary group-hover:text-white transition-all ${r.split(` `)[0]} ${r.split(` `)[1]}`,children:(0,p.jsx)(e,{size:32})}),(0,p.jsxs)(`div`,{children:[(0,p.jsx)(`p`,{className:`text-3xl font-black text-slate-900 tracking-tighter`,children:n}),(0,p.jsx)(`p`,{className:`text-[10px] font-black text-slate-400 uppercase tracking-[0.2em]`,children:t})]})]});export{h as default}; \ No newline at end of file diff --git a/counter-frontend/dist/assets/Categories-DzWzJLW4.js b/counter-frontend/dist/assets/Categories-DzWzJLW4.js new file mode 100644 index 00000000..d29edda8 --- /dev/null +++ b/counter-frontend/dist/assets/Categories-DzWzJLW4.js @@ -0,0 +1 @@ +import{t as e}from"./proxy-cLldRXEc.js";import{t}from"./AnimatePresence-CcsC7tO8.js";import{n,r,t as i}from"./x-CnVgnJPD.js";import{t as a}from"./plus-CtPxjhzP.js";import{a as o,g as s,h as c,i as l,m as u,o as d}from"./index-B-Yfb7Zz.js";var f=s(c(),1),p=u(),m=async(e,t={})=>{let n=sessionStorage.getItem(`counterToken`),r={"Content-Type":`application/json`,...t.headers||{},...n?{Authorization:`Bearer ${n}`}:{}},i=e.replace(/^http:\/\/[^:/]+:8080\/api/,`https://cmsapi.rit-services.in/api`),a=await fetch(i,{...t,headers:r});return(a.status===401||a.status===403)&&(sessionStorage.removeItem(`isCounterLoggedIn`),sessionStorage.removeItem(`counterToken`),window.location.href=`/login`),a},h=()=>{let[s,c]=(0,f.useState)([]),[u,h]=(0,f.useState)(!0),[_,v]=(0,f.useState)(``),[y,b]=(0,f.useState)(!1),[x,S]=(0,f.useState)(null),C=async()=>{h(!0);try{let e=window.location.hostname,t=await(await m(`http://${e}:8080/api/base-items`)).json();c(Array.isArray(t)?t:t.content||[])}catch(e){console.error(`Error fetching categories:`,e)}finally{h(!1)}};(0,f.useEffect)(()=>{C()},[]);let w=async e=>{e.preventDefault();let t=window.location.hostname,n=x?.id?`http://${t}:8080/api/base-items/${x.id}`:`http://${t}:8080/api/base-items`,r=x?.id?`PUT`:`POST`;try{(await m(n,{method:r,headers:{"Content-Type":`application/json`},body:JSON.stringify(x)})).ok&&(b(!1),C())}catch(e){console.error(`Error saving category:`,e)}},T=s.filter(e=>e.name.toLowerCase().includes(_.toLowerCase()));return(0,p.jsxs)(`div`,{className:`p-8 space-y-8 h-full overflow-y-auto custom-scrollbar bg-slate-50`,children:[(0,p.jsxs)(`div`,{className:`flex flex-col md:flex-row md:items-center justify-between gap-4`,children:[(0,p.jsxs)(`div`,{children:[(0,p.jsx)(`h1`,{className:`text-4xl font-black text-slate-900 tracking-tight`,children:`Food Categories`}),(0,p.jsx)(`p`,{className:`text-slate-400 text-xs font-bold uppercase tracking-[0.2em] mt-2`,children:`Manage your menu structure`})]}),(0,p.jsxs)(`button`,{onClick:()=>{S({name:``,description:``,active:!0}),b(!0)},className:`bg-primary text-white px-10 py-4 rounded-2xl font-black text-xs uppercase tracking-widest flex items-center gap-3 shadow-2xl shadow-primary/30 hover:scale-[1.02] active:scale-95 transition-all`,children:[(0,p.jsx)(a,{size:18}),` Add Category`]})]}),(0,p.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8`,children:[(0,p.jsx)(g,{icon:d,label:`Active Categories`,value:s.filter(e=>e.active).length,color:`bg-primary/5 text-primary`}),(0,p.jsx)(g,{icon:o,label:`Total Structure`,value:s.length,color:`bg-emerald-50 text-emerald-500`})]}),(0,p.jsxs)(`div`,{className:`bg-white p-4 rounded-[3rem] shadow-xl shadow-slate-200/50 border border-slate-100 overflow-hidden`,children:[(0,p.jsxs)(`div`,{className:`p-6 relative group`,children:[(0,p.jsx)(l,{className:`absolute left-12 top-1/2 -translate-y-1/2 text-slate-400 group-focus-within:text-primary transition-colors`,size:24}),(0,p.jsx)(`input`,{type:`text`,placeholder:`Search categories by name...`,value:_,onChange:e=>v(e.target.value),className:`w-full bg-slate-50 border border-slate-100/50 rounded-2xl py-6 pl-16 pr-8 text-sm font-semibold outline-none focus:bg-white focus:ring-4 focus:ring-primary/5 focus:border-primary transition-all shadow-inner`})]}),(0,p.jsx)(`div`,{className:`p-6 grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-8`,children:(0,p.jsx)(t,{children:u?(0,p.jsx)(`div`,{className:`col-span-full h-40 flex items-center justify-center`,children:(0,p.jsx)(`div`,{className:`w-10 h-10 border-4 border-primary/20 border-t-primary rounded-full animate-spin`})}):T.map(t=>(0,p.jsxs)(e.div,{layout:!0,initial:{opacity:0,scale:.9},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.9},className:`bg-white p-8 rounded-[2.8rem] border border-slate-100 shadow-sm hover:shadow-2xl transition-all group flex flex-col gap-8 relative overflow-hidden`,children:[(0,p.jsx)(`div`,{className:`absolute top-0 right-0 w-32 h-32 -mr-16 -mt-16 rounded-full opacity-[0.03] transition-transform duration-700 group-hover:scale-150 ${t.active?`bg-emerald-500`:`bg-slate-500`}`}),(0,p.jsxs)(`div`,{className:`flex items-center justify-between relative z-10`,children:[(0,p.jsx)(`div`,{className:`w-16 h-16 rounded-2xl flex items-center justify-center transition-all ${t.active?`bg-primary/5 text-primary`:`bg-slate-100 text-slate-400`} group-hover:bg-primary group-hover:text-white`,children:(0,p.jsx)(d,{size:32})}),(0,p.jsxs)(`div`,{className:`flex gap-2 opacity-0 group-hover:opacity-100 transition-all transform translate-x-4 group-hover:translate-x-0`,children:[(0,p.jsx)(`button`,{onClick:()=>window.location.href=`/products?category=${t.name}`,className:`w-10 h-10 bg-white border border-slate-100 rounded-xl flex items-center justify-center text-slate-400 hover:text-emerald-500 hover:border-emerald-500/30 shadow-sm transition-all`,title:`View Products`,children:(0,p.jsx)(o,{size:16})}),(0,p.jsx)(`button`,{onClick:()=>{S(t),b(!0)},className:`w-10 h-10 bg-white border border-slate-100 rounded-xl flex items-center justify-center text-slate-400 hover:text-primary hover:border-primary/30 shadow-sm transition-all`,title:`Edit Category`,children:(0,p.jsx)(n,{size:16})})]})]}),(0,p.jsxs)(`div`,{className:`relative z-10`,children:[(0,p.jsx)(`h3`,{className:`text-xl font-black text-slate-800 uppercase tracking-tight leading-none mb-3`,children:t.name}),(0,p.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,p.jsx)(`span`,{className:`w-2 h-2 rounded-full ${t.active?`bg-emerald-500 animate-pulse`:`bg-slate-300`}`}),(0,p.jsx)(`p`,{className:`text-[10px] font-black text-slate-400 uppercase tracking-[0.2em]`,children:t.active?`Active`:`Inactive`})]})]})]},t.id))})})]}),y&&(0,p.jsxs)(`div`,{className:`fixed inset-0 z-[100] flex items-center justify-center p-4`,children:[(0,p.jsx)(e.div,{initial:{opacity:0},animate:{opacity:1},onClick:()=>b(!1),className:`absolute inset-0 bg-slate-900/60 backdrop-blur-md`}),(0,p.jsxs)(e.div,{initial:{opacity:0,scale:.9,y:20},animate:{opacity:1,scale:1,y:0},className:`relative bg-white w-full max-w-lg rounded-[3rem] shadow-2xl overflow-hidden`,children:[(0,p.jsxs)(`div`,{className:`p-10 border-b border-slate-100 flex items-center justify-between bg-white`,children:[(0,p.jsxs)(`div`,{children:[(0,p.jsx)(`h2`,{className:`text-2xl font-black text-slate-900`,children:x?.id?`Edit Category`:`New Category`}),(0,p.jsx)(`p`,{className:`text-[10px] font-black text-slate-400 uppercase tracking-widest mt-1`,children:`Configure category properties`})]}),(0,p.jsx)(`button`,{onClick:()=>b(!1),className:`w-12 h-12 bg-slate-50 rounded-2xl flex items-center justify-center text-slate-400 hover:text-rose-500 transition-all`,children:(0,p.jsx)(i,{size:24})})]}),(0,p.jsxs)(`form`,{onSubmit:w,className:`p-10 space-y-8`,children:[(0,p.jsxs)(`div`,{className:`space-y-4`,children:[(0,p.jsx)(`label`,{className:`text-[10px] font-black text-slate-400 uppercase tracking-[0.2em] ml-2`,children:`Category Name`}),(0,p.jsx)(`input`,{autoFocus:!0,required:!0,type:`text`,value:x?.name||``,onChange:e=>S({...x,name:e.target.value}),className:`w-full bg-slate-50 border border-slate-100 rounded-2xl py-5 px-8 text-sm font-semibold outline-none focus:bg-white focus:ring-4 focus:ring-primary/5 focus:border-primary transition-all`,placeholder:`e.g. FAST FOOD`})]}),(0,p.jsxs)(`div`,{className:`space-y-4`,children:[(0,p.jsx)(`label`,{className:`text-[10px] font-black text-slate-400 uppercase tracking-[0.2em] ml-2`,children:`Description`}),(0,p.jsx)(`textarea`,{value:x?.description||``,onChange:e=>S({...x,description:e.target.value}),className:`w-full bg-slate-50 border border-slate-100 rounded-2xl py-5 px-8 text-sm font-semibold outline-none focus:bg-white focus:ring-4 focus:ring-primary/5 focus:border-primary transition-all h-32 resize-none`,placeholder:`Tell us more about this category...`})]}),(0,p.jsxs)(`div`,{className:`flex items-center gap-4 bg-slate-50 p-6 rounded-3xl border border-slate-100`,children:[(0,p.jsxs)(`div`,{className:`flex-1`,children:[(0,p.jsx)(`p`,{className:`text-sm font-black text-slate-800`,children:`Status`}),(0,p.jsx)(`p`,{className:`text-[10px] font-bold text-slate-400 uppercase tracking-widest`,children:`Enable or disable category visibility`})]}),(0,p.jsx)(`button`,{type:`button`,onClick:()=>S({...x,active:!x.active}),className:`w-16 h-8 rounded-full transition-all relative ${x?.active?`bg-primary`:`bg-slate-300`}`,children:(0,p.jsx)(`div`,{className:`absolute top-1 w-6 h-6 bg-white rounded-full transition-all ${x?.active?`right-1`:`left-1`}`})})]}),(0,p.jsxs)(`div`,{className:`flex gap-4 pt-4`,children:[(0,p.jsx)(`button`,{type:`button`,onClick:()=>b(!1),className:`flex-1 py-5 rounded-2xl font-black text-xs uppercase tracking-widest text-slate-400 hover:bg-slate-50 transition-all border border-transparent hover:border-slate-100`,children:`Cancel`}),(0,p.jsxs)(`button`,{type:`submit`,className:`flex-1 bg-primary text-white py-5 rounded-2xl font-black text-xs uppercase tracking-widest shadow-xl shadow-primary/20 hover:scale-[1.02] active:scale-95 transition-all flex items-center justify-center gap-2`,children:[(0,p.jsx)(r,{size:18}),` `,x?.id?`Update Category`:`Save Category`]})]})]})]})]})]})},g=({icon:e,label:t,value:n,color:r})=>(0,p.jsxs)(`div`,{className:`bg-white p-8 rounded-[2.8rem] border border-slate-100 shadow-sm flex items-center gap-8 group hover:shadow-2xl transition-all`,children:[(0,p.jsx)(`div`,{className:`w-16 h-16 rounded-[1.5rem] flex items-center justify-center group-hover:bg-primary group-hover:text-white transition-all ${r.split(` `)[0]} ${r.split(` `)[1]}`,children:(0,p.jsx)(e,{size:32})}),(0,p.jsxs)(`div`,{children:[(0,p.jsx)(`p`,{className:`text-3xl font-black text-slate-900 tracking-tighter`,children:n}),(0,p.jsx)(`p`,{className:`text-[10px] font-black text-slate-400 uppercase tracking-[0.2em]`,children:t})]})]});export{h as default}; \ No newline at end of file diff --git a/counter-frontend/dist/assets/Login-BRQ0DsVn.js b/counter-frontend/dist/assets/Login-D9pMAuPm.js similarity index 80% rename from counter-frontend/dist/assets/Login-BRQ0DsVn.js rename to counter-frontend/dist/assets/Login-D9pMAuPm.js index 82915a6b..6e965d25 100644 --- a/counter-frontend/dist/assets/Login-BRQ0DsVn.js +++ b/counter-frontend/dist/assets/Login-D9pMAuPm.js @@ -1 +1 @@ -import{c as e,l as t,m as n,n as r,r as i,t as a,u as o}from"./index-Cw6Vy2ED.js";import{t as s}from"./proxy-D2DvKtgS.js";var c=e(`arrow-right`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`m12 5 7 7-7 7`,key:`xquz4c`}]]),l=e(`eye-off`,[[`path`,{d:`M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49`,key:`ct8e1f`}],[`path`,{d:`M14.084 14.158a3 3 0 0 1-4.242-4.242`,key:`151rxh`}],[`path`,{d:`M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143`,key:`13bj9a`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),u=e(`eye`,[[`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0`,key:`1nclc0`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),d=e(`lock`,[[`rect`,{width:`18`,height:`11`,x:`3`,y:`11`,rx:`2`,ry:`2`,key:`1w4ew1`}],[`path`,{d:`M7 11V7a5 5 0 0 1 10 0v4`,key:`fwvmzm`}]]),f=n(o(),1),p=`/assets/ritchennai-Cj5SDFG-.webp`,m=a(),h=()=>{let[e,n]=(0,f.useState)(!1),[a,o]=(0,f.useState)(``),[h,g]=(0,f.useState)(``),_=t();return(0,f.useEffect)(()=>{sessionStorage.removeItem(`isCounterLoggedIn`),sessionStorage.removeItem(`counterUserName`)},[]),(0,m.jsxs)(`div`,{className:`min-h-screen bg-[#f8fafc] flex flex-col md:flex-row overflow-hidden font-inter`,children:[(0,m.jsxs)(`div`,{className:`w-full md:w-[45%] lg:w-[40%] flex flex-col p-8 md:p-12 lg:p-16 relative z-10 bg-white shadow-2xl`,children:[(0,m.jsxs)(s.div,{initial:{opacity:0,y:-20},animate:{opacity:1,y:0},className:`mb-10 flex flex-col items-center justify-center`,children:[(0,m.jsx)(`img`,{src:r,alt:`College Logo`,className:`h-16 md:h-20 object-contain`}),(0,m.jsx)(`span`,{className:`text-[10px] font-semibold text-slate-400 mt-2 italic tracking-wide font-sans`,children:`Till yo tummy is full...`})]}),(0,m.jsxs)(s.div,{initial:{opacity:0,x:-30},animate:{opacity:1,x:0},transition:{delay:.2},className:`flex-1 flex flex-col justify-center max-w-sm mx-auto w-full`,children:[(0,m.jsxs)(`div`,{className:`text-center mb-10`,children:[(0,m.jsx)(`h2`,{className:`text-[10px] font-black tracking-[0.3em] text-[#1e293b] uppercase mb-2`,children:`Counter Management System`}),(0,m.jsx)(`div`,{className:`w-12 h-1 bg-primary mx-auto rounded-full`})]}),(0,m.jsxs)(`form`,{onSubmit:async e=>{e.preventDefault();try{let e=await fetch(`https://cmsapi.rit-services.in/api/system/login`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({email:a,password:h})}),t=await e.json();e.ok&&t.token&&(t.role===`MANAGER`||t.role===`MASTER`)?(sessionStorage.setItem(`isCounterLoggedIn`,`true`),sessionStorage.setItem(`counterUserName`,t.name),sessionStorage.setItem(`counterToken`,t.token),_(`/pos`)):a===`krishna`&&h===`12345678`?(sessionStorage.setItem(`isCounterLoggedIn`,`true`),sessionStorage.setItem(`counterUserName`,`Krishna`),_(`/pos`)):alert(t.error||`Invalid credentials or access denied`)}catch(e){a===`krishna`&&h===`12345678`?(sessionStorage.setItem(`isCounterLoggedIn`,`true`),sessionStorage.setItem(`counterUserName`,`Krishna`),_(`/pos`)):(console.error(e),alert(`Connection error or invalid credentials`))}},className:`space-y-6`,children:[(0,m.jsxs)(`div`,{className:`space-y-2`,children:[(0,m.jsx)(`label`,{className:`text-[10px] font-black text-[#94a3b8] uppercase tracking-widest pl-1`,children:`Operator ID`}),(0,m.jsxs)(`div`,{className:`relative group`,children:[(0,m.jsx)(`div`,{className:`absolute inset-y-0 left-0 pl-4 flex items-center pointer-events-none text-[#94a3b8] group-focus-within:text-primary transition-colors`,children:(0,m.jsx)(i,{size:18})}),(0,m.jsx)(`input`,{type:`text`,value:a,onChange:e=>o(e.target.value),placeholder:`Username`,className:`w-full bg-white border-2 border-[#e2e8f0] focus:border-primary rounded-2xl py-4 pl-12 pr-4 text-sm font-semibold outline-none transition-all placeholder:text-[#cbd5e1]`})]})]}),(0,m.jsxs)(`div`,{className:`space-y-2`,children:[(0,m.jsxs)(`div`,{className:`flex justify-between items-center pl-1`,children:[(0,m.jsx)(`label`,{className:`text-[10px] font-black text-[#94a3b8] uppercase tracking-widest`,children:`Passcode`}),(0,m.jsx)(`button`,{type:`button`,className:`text-[10px] font-black text-primary uppercase hover:underline`,children:`Forgot?`})]}),(0,m.jsxs)(`div`,{className:`relative group`,children:[(0,m.jsx)(`div`,{className:`absolute inset-y-0 left-0 pl-4 flex items-center pointer-events-none text-[#94a3b8] group-focus-within:text-primary transition-colors`,children:(0,m.jsx)(d,{size:18})}),(0,m.jsx)(`input`,{type:e?`text`:`password`,value:h,onChange:e=>g(e.target.value),placeholder:`••••••••`,className:`w-full bg-white border-2 border-[#e2e8f0] focus:border-primary rounded-2xl py-4 pl-12 pr-12 text-sm font-semibold outline-none transition-all placeholder:text-[#cbd5e1]`}),(0,m.jsx)(`button`,{type:`button`,onClick:()=>n(!e),className:`absolute inset-y-0 right-0 pr-4 flex items-center text-[#94a3b8] hover:text-[#64748b] transition-colors`,children:e?(0,m.jsx)(l,{size:18}):(0,m.jsx)(u,{size:18})})]})]}),(0,m.jsxs)(`button`,{type:`submit`,className:`w-full bg-primary text-white rounded-2xl py-4 font-black text-sm flex items-center justify-center gap-3 shadow-xl shadow-primary/20 hover:scale-[1.02] active:scale-[0.98] transition-all overflow-hidden group relative`,children:[(0,m.jsx)(`span`,{className:`relative z-10`,children:`CONNECT TO POS`}),(0,m.jsx)(c,{size:18,className:`relative z-10 group-hover:translate-x-1 transition-transform`}),(0,m.jsx)(s.div,{className:`absolute inset-0 bg-white/10`,initial:{x:`-100%`},whileHover:{x:`100%`},transition:{duration:.6}})]})]})]}),(0,m.jsx)(`div`,{className:`mt-auto text-center`,children:(0,m.jsx)(`p`,{className:`text-[10px] font-black text-[#cbd5e1] uppercase tracking-[0.2em]`,children:`© 2026 TILLO • COUNTER SYSTEM`})})]}),(0,m.jsxs)(`div`,{className:`hidden md:flex flex-1 relative bg-[#f8fafc] items-center justify-center p-8 overflow-hidden`,children:[(0,m.jsx)(`div`,{className:`absolute top-20 right-20 w-64 h-64 bg-primary/5 rounded-full blur-3xl`}),(0,m.jsx)(`div`,{className:`absolute bottom-20 left-40 w-96 h-96 bg-primary/5 rounded-full blur-3xl`}),(0,m.jsx)(s.div,{initial:{opacity:0,scale:.95,x:50},animate:{opacity:1,scale:1,x:0},transition:{duration:.8},className:`w-full h-full relative z-10`,children:(0,m.jsxs)(`div`,{className:`w-full h-full overflow-hidden shadow-2xl border-[12px] border-white bg-white`,children:[(0,m.jsx)(`img`,{src:p,alt:`Tillo Building`,className:`w-full h-full object-cover`}),(0,m.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-tr from-primary/20 to-transparent`})]})})]})]})};export{h as default}; \ No newline at end of file +import{t as e}from"./proxy-cLldRXEc.js";import{c as t,g as n,h as r,m as i,n as a,s as o,t as s}from"./index-B-Yfb7Zz.js";var c=o(`arrow-right`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`m12 5 7 7-7 7`,key:`xquz4c`}]]),l=o(`eye-off`,[[`path`,{d:`M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49`,key:`ct8e1f`}],[`path`,{d:`M14.084 14.158a3 3 0 0 1-4.242-4.242`,key:`151rxh`}],[`path`,{d:`M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143`,key:`13bj9a`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),u=o(`eye`,[[`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0`,key:`1nclc0`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),d=o(`lock`,[[`rect`,{width:`18`,height:`11`,x:`3`,y:`11`,rx:`2`,ry:`2`,key:`1w4ew1`}],[`path`,{d:`M7 11V7a5 5 0 0 1 10 0v4`,key:`fwvmzm`}]]),f=n(r(),1),p=`/assets/ritchennai-Cj5SDFG-.webp`,m=i(),h=()=>{let[n,r]=(0,f.useState)(!1),[i,o]=(0,f.useState)(``),[h,g]=(0,f.useState)(``),_=t();return(0,f.useEffect)(()=>{sessionStorage.removeItem(`isCounterLoggedIn`),sessionStorage.removeItem(`counterUserName`)},[]),(0,m.jsxs)(`div`,{className:`min-h-screen bg-[#f8fafc] flex flex-col md:flex-row overflow-hidden font-inter`,children:[(0,m.jsxs)(`div`,{className:`w-full md:w-[45%] lg:w-[40%] flex flex-col p-8 md:p-12 lg:p-16 relative z-10 bg-white shadow-2xl`,children:[(0,m.jsxs)(e.div,{initial:{opacity:0,y:-20},animate:{opacity:1,y:0},className:`mb-10 flex flex-col items-center justify-center`,children:[(0,m.jsx)(`img`,{src:s,alt:`College Logo`,className:`h-16 md:h-20 object-contain`}),(0,m.jsx)(`span`,{className:`text-[10px] font-semibold text-slate-400 mt-2 italic tracking-wide font-sans`,children:`Till yo tummy is full...`})]}),(0,m.jsxs)(e.div,{initial:{opacity:0,x:-30},animate:{opacity:1,x:0},transition:{delay:.2},className:`flex-1 flex flex-col justify-center max-w-sm mx-auto w-full`,children:[(0,m.jsxs)(`div`,{className:`text-center mb-10`,children:[(0,m.jsx)(`h2`,{className:`text-[10px] font-black tracking-[0.3em] text-[#1e293b] uppercase mb-2`,children:`Counter Management System`}),(0,m.jsx)(`div`,{className:`w-12 h-1 bg-primary mx-auto rounded-full`})]}),(0,m.jsxs)(`form`,{onSubmit:async e=>{e.preventDefault();try{let e=await fetch(`https://cmsapi.rit-services.in/api/system/login`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({email:i,password:h})}),t=await e.json();e.ok&&t.token&&(t.role===`MANAGER`||t.role===`MASTER`)?(sessionStorage.setItem(`isCounterLoggedIn`,`true`),sessionStorage.setItem(`counterUserName`,t.name),sessionStorage.setItem(`counterToken`,t.token),_(`/pos`)):i===`krishna`&&h===`12345678`?(sessionStorage.setItem(`isCounterLoggedIn`,`true`),sessionStorage.setItem(`counterUserName`,`Krishna`),_(`/pos`)):alert(t.error||`Invalid credentials or access denied`)}catch(e){i===`krishna`&&h===`12345678`?(sessionStorage.setItem(`isCounterLoggedIn`,`true`),sessionStorage.setItem(`counterUserName`,`Krishna`),_(`/pos`)):(console.error(e),alert(`Connection error or invalid credentials`))}},className:`space-y-6`,children:[(0,m.jsxs)(`div`,{className:`space-y-2`,children:[(0,m.jsx)(`label`,{className:`text-[10px] font-black text-[#94a3b8] uppercase tracking-widest pl-1`,children:`Operator ID`}),(0,m.jsxs)(`div`,{className:`relative group`,children:[(0,m.jsx)(`div`,{className:`absolute inset-y-0 left-0 pl-4 flex items-center pointer-events-none text-[#94a3b8] group-focus-within:text-primary transition-colors`,children:(0,m.jsx)(a,{size:18})}),(0,m.jsx)(`input`,{type:`text`,value:i,onChange:e=>o(e.target.value),placeholder:`Username`,className:`w-full bg-white border-2 border-[#e2e8f0] focus:border-primary rounded-2xl py-4 pl-12 pr-4 text-sm font-semibold outline-none transition-all placeholder:text-[#cbd5e1]`})]})]}),(0,m.jsxs)(`div`,{className:`space-y-2`,children:[(0,m.jsxs)(`div`,{className:`flex justify-between items-center pl-1`,children:[(0,m.jsx)(`label`,{className:`text-[10px] font-black text-[#94a3b8] uppercase tracking-widest`,children:`Passcode`}),(0,m.jsx)(`button`,{type:`button`,className:`text-[10px] font-black text-primary uppercase hover:underline`,children:`Forgot?`})]}),(0,m.jsxs)(`div`,{className:`relative group`,children:[(0,m.jsx)(`div`,{className:`absolute inset-y-0 left-0 pl-4 flex items-center pointer-events-none text-[#94a3b8] group-focus-within:text-primary transition-colors`,children:(0,m.jsx)(d,{size:18})}),(0,m.jsx)(`input`,{type:n?`text`:`password`,value:h,onChange:e=>g(e.target.value),placeholder:`••••••••`,className:`w-full bg-white border-2 border-[#e2e8f0] focus:border-primary rounded-2xl py-4 pl-12 pr-12 text-sm font-semibold outline-none transition-all placeholder:text-[#cbd5e1]`}),(0,m.jsx)(`button`,{type:`button`,onClick:()=>r(!n),className:`absolute inset-y-0 right-0 pr-4 flex items-center text-[#94a3b8] hover:text-[#64748b] transition-colors`,children:n?(0,m.jsx)(l,{size:18}):(0,m.jsx)(u,{size:18})})]})]}),(0,m.jsxs)(`button`,{type:`submit`,className:`w-full bg-primary text-white rounded-2xl py-4 font-black text-sm flex items-center justify-center gap-3 shadow-xl shadow-primary/20 hover:scale-[1.02] active:scale-[0.98] transition-all overflow-hidden group relative`,children:[(0,m.jsx)(`span`,{className:`relative z-10`,children:`CONNECT TO POS`}),(0,m.jsx)(c,{size:18,className:`relative z-10 group-hover:translate-x-1 transition-transform`}),(0,m.jsx)(e.div,{className:`absolute inset-0 bg-white/10`,initial:{x:`-100%`},whileHover:{x:`100%`},transition:{duration:.6}})]})]})]}),(0,m.jsx)(`div`,{className:`mt-auto text-center`,children:(0,m.jsx)(`p`,{className:`text-[10px] font-black text-[#cbd5e1] uppercase tracking-[0.2em]`,children:`© 2026 TILLO • COUNTER SYSTEM`})})]}),(0,m.jsxs)(`div`,{className:`hidden md:flex flex-1 relative bg-[#f8fafc] items-center justify-center p-8 overflow-hidden`,children:[(0,m.jsx)(`div`,{className:`absolute top-20 right-20 w-64 h-64 bg-primary/5 rounded-full blur-3xl`}),(0,m.jsx)(`div`,{className:`absolute bottom-20 left-40 w-96 h-96 bg-primary/5 rounded-full blur-3xl`}),(0,m.jsx)(e.div,{initial:{opacity:0,scale:.95,x:50},animate:{opacity:1,scale:1,x:0},transition:{duration:.8},className:`w-full h-full relative z-10`,children:(0,m.jsxs)(`div`,{className:`w-full h-full overflow-hidden shadow-2xl border-[12px] border-white bg-white`,children:[(0,m.jsx)(`img`,{src:p,alt:`Tillo Building`,className:`w-full h-full object-cover`}),(0,m.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-tr from-primary/20 to-transparent`})]})})]})]})};export{h as default}; \ No newline at end of file diff --git a/counter-frontend/dist/assets/Orders-BqkxCVX3.js b/counter-frontend/dist/assets/Orders-BqkxCVX3.js new file mode 100644 index 00000000..121c11d7 --- /dev/null +++ b/counter-frontend/dist/assets/Orders-BqkxCVX3.js @@ -0,0 +1,71 @@ +import{n as e,r as t,t as n}from"./x-CnVgnJPD.js";import{t as r}from"./Pagination-BYvNtzJC.js";import{t as i}from"./minus-wD8f4ZO0.js";import{t as a}from"./plus-CtPxjhzP.js";import{t as o}from"./trash-2-B3saCmcm.js";import{g as s,h as c,i as l,m as u,n as d,r as f,s as p}from"./index-B-Yfb7Zz.js";var m=p(`calendar`,[[`path`,{d:`M8 2v4`,key:`1cmpym`}],[`path`,{d:`M16 2v4`,key:`4m81vk`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`,key:`1hopcy`}],[`path`,{d:`M3 10h18`,key:`8toen8`}]]),h=p(`credit-card`,[[`rect`,{width:`20`,height:`14`,x:`2`,y:`5`,rx:`2`,key:`ynyp8z`}],[`line`,{x1:`2`,x2:`22`,y1:`10`,y2:`10`,key:`1b3vmo`}]]),g=p(`ellipsis-vertical`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`12`,cy:`5`,r:`1`,key:`gxeob9`}],[`circle`,{cx:`12`,cy:`19`,r:`1`,key:`lyex9k`}]]),_=p(`funnel`,[[`path`,{d:`M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z`,key:`sc7q7i`}]]),v=p(`printer`,[[`path`,{d:`M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2`,key:`143wyd`}],[`path`,{d:`M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6`,key:`1itne7`}],[`rect`,{x:`6`,y:`14`,width:`12`,height:`8`,rx:`1`,key:`1ue0tg`}]]),y=p(`refresh-cw`,[[`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`}]]),ee=p(`rotate-ccw`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]),b=365.2425,x=6048e5,S=864e5,C=3600*24;C*7,C*b/12*3;var w=Symbol.for(`constructDateFrom`);function T(e,t){return typeof e==`function`?e(t):e&&typeof e==`object`&&w in e?e[w](t):e instanceof Date?new e.constructor(t):new Date(t)}function E(e,t){return T(t||e,e)}var te={};function D(){return te}function O(e,t){let n=D(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,i=E(e,t?.in),a=i.getDay(),o=(a=a.getTime()?r+1:n.getTime()>=s.getTime()?r:r-1}function j(e){let t=E(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),e-+n}function ne(e,...t){let n=T.bind(null,e||t.find(e=>typeof e==`object`));return t.map(n)}function M(e,t){let n=E(e,t?.in);return n.setHours(0,0,0,0),n}function re(e,t,n){let[r,i]=ne(n?.in,e,t),a=M(r),o=M(i),s=+a-j(a),c=+o-j(o);return Math.round((s-c)/S)}function ie(e,t){let n=A(e,t),r=T(t?.in||e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),k(r)}function ae(e){return e instanceof Date||typeof e==`object`&&Object.prototype.toString.call(e)===`[object Date]`}function N(e){return!(!ae(e)&&typeof e!=`number`||isNaN(+E(e)))}function oe(e,t){let n=E(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}var se={lessThanXSeconds:{one:`less than a second`,other:`less than {{count}} seconds`},xSeconds:{one:`1 second`,other:`{{count}} seconds`},halfAMinute:`half a minute`,lessThanXMinutes:{one:`less than a minute`,other:`less than {{count}} minutes`},xMinutes:{one:`1 minute`,other:`{{count}} minutes`},aboutXHours:{one:`about 1 hour`,other:`about {{count}} hours`},xHours:{one:`1 hour`,other:`{{count}} hours`},xDays:{one:`1 day`,other:`{{count}} days`},aboutXWeeks:{one:`about 1 week`,other:`about {{count}} weeks`},xWeeks:{one:`1 week`,other:`{{count}} weeks`},aboutXMonths:{one:`about 1 month`,other:`about {{count}} months`},xMonths:{one:`1 month`,other:`{{count}} months`},aboutXYears:{one:`about 1 year`,other:`about {{count}} years`},xYears:{one:`1 year`,other:`{{count}} years`},overXYears:{one:`over 1 year`,other:`over {{count}} years`},almostXYears:{one:`almost 1 year`,other:`almost {{count}} years`}},P=(e,t,n)=>{let r,i=se[e];return r=typeof i==`string`?i:t===1?i.one:i.other.replace(`{{count}}`,t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?`in `+r:r+` ago`:r};function F(e){return(t={})=>{let n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}var I={date:F({formats:{full:`EEEE, MMMM do, y`,long:`MMMM do, y`,medium:`MMM d, y`,short:`MM/dd/yyyy`},defaultWidth:`full`}),time:F({formats:{full:`h:mm:ss a zzzz`,long:`h:mm:ss a z`,medium:`h:mm:ss a`,short:`h:mm a`},defaultWidth:`full`}),dateTime:F({formats:{full:`{{date}} 'at' {{time}}`,long:`{{date}} 'at' {{time}}`,medium:`{{date}}, {{time}}`,short:`{{date}}, {{time}}`},defaultWidth:`full`})},ce={lastWeek:`'last' eeee 'at' p`,yesterday:`'yesterday at' p`,today:`'today at' p`,tomorrow:`'tomorrow at' p`,nextWeek:`eeee 'at' p`,other:`P`},le=(e,t,n,r)=>ce[e];function L(e){return(t,n)=>{let r=n?.context?String(n.context):`standalone`,i;if(r===`formatting`&&e.formattingValues){let t=e.defaultFormattingWidth||e.defaultWidth,r=n?.width?String(n.width):t;i=e.formattingValues[r]||e.formattingValues[t]}else{let t=e.defaultWidth,r=n?.width?String(n.width):e.defaultWidth;i=e.values[r]||e.values[t]}let a=e.argumentCallback?e.argumentCallback(t):t;return i[a]}}var ue={ordinalNumber:(e,t)=>{let n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+`st`;case 2:return n+`nd`;case 3:return n+`rd`}return n+`th`},era:L({values:{narrow:[`B`,`A`],abbreviated:[`BC`,`AD`],wide:[`Before Christ`,`Anno Domini`]},defaultWidth:`wide`}),quarter:L({values:{narrow:[`1`,`2`,`3`,`4`],abbreviated:[`Q1`,`Q2`,`Q3`,`Q4`],wide:[`1st quarter`,`2nd quarter`,`3rd quarter`,`4th quarter`]},defaultWidth:`wide`,argumentCallback:e=>e-1}),month:L({values:{narrow:[`J`,`F`,`M`,`A`,`M`,`J`,`J`,`A`,`S`,`O`,`N`,`D`],abbreviated:[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],wide:[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`]},defaultWidth:`wide`}),day:L({values:{narrow:[`S`,`M`,`T`,`W`,`T`,`F`,`S`],short:[`Su`,`Mo`,`Tu`,`We`,`Th`,`Fr`,`Sa`],abbreviated:[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],wide:[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`]},defaultWidth:`wide`}),dayPeriod:L({values:{narrow:{am:`a`,pm:`p`,midnight:`mi`,noon:`n`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`},abbreviated:{am:`AM`,pm:`PM`,midnight:`midnight`,noon:`noon`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`},wide:{am:`a.m.`,pm:`p.m.`,midnight:`midnight`,noon:`noon`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`}},defaultWidth:`wide`,formattingValues:{narrow:{am:`a`,pm:`p`,midnight:`mi`,noon:`n`,morning:`in the morning`,afternoon:`in the afternoon`,evening:`in the evening`,night:`at night`},abbreviated:{am:`AM`,pm:`PM`,midnight:`midnight`,noon:`noon`,morning:`in the morning`,afternoon:`in the afternoon`,evening:`in the evening`,night:`at night`},wide:{am:`a.m.`,pm:`p.m.`,midnight:`midnight`,noon:`noon`,morning:`in the morning`,afternoon:`in the afternoon`,evening:`in the evening`,night:`at night`}},defaultFormattingWidth:`wide`})};function R(e){return(t,n={})=>{let r=n.width,i=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],a=t.match(i);if(!a)return null;let o=a[0],s=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],c=Array.isArray(s)?B(s,e=>e.test(o)):z(s,e=>e.test(o)),l;l=e.valueCallback?e.valueCallback(c):c,l=n.valueCallback?n.valueCallback(l):l;let u=t.slice(o.length);return{value:l,rest:u}}}function z(e,t){for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function B(e,t){for(let n=0;n{let r=t.match(e.matchPattern);if(!r)return null;let i=r[0],a=t.match(e.parsePattern);if(!a)return null;let o=e.valueCallback?e.valueCallback(a[0]):a[0];o=n.valueCallback?n.valueCallback(o):o;let s=t.slice(i.length);return{value:o,rest:s}}}var fe={code:`en-US`,formatDistance:P,formatLong:I,formatRelative:le,localize:ue,match:{ordinalNumber:de({matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:R({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:`any`}),quarter:R({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:R({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:`any`}),day:R({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:`any`}),dayPeriod:R({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:`any`,parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:`any`})},options:{weekStartsOn:0,firstWeekContainsDate:1}};function pe(e,t){let n=E(e,t?.in);return re(n,oe(n))+1}function V(e,t){let n=E(e,t?.in),r=k(n)-+ie(n);return Math.round(r/x)+1}function H(e,t){let n=E(e,t?.in),r=n.getFullYear(),i=D(),a=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??i.firstWeekContainsDate??i.locale?.options?.firstWeekContainsDate??1,o=T(t?.in||e,0);o.setFullYear(r+1,0,a),o.setHours(0,0,0,0);let s=O(o,t),c=T(t?.in||e,0);c.setFullYear(r,0,a),c.setHours(0,0,0,0);let l=O(c,t);return+n>=+s?r+1:+n>=+l?r:r-1}function me(e,t){let n=D(),r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,i=H(e,t),a=T(t?.in||e,0);return a.setFullYear(i,0,r),a.setHours(0,0,0,0),O(a,t)}function U(e,t){let n=E(e,t?.in),r=O(n,t)-+me(n,t);return Math.round(r/x)+1}function W(e,t){return(e<0?`-`:``)+Math.abs(e).toString().padStart(t,`0`)}var G={y(e,t){let n=e.getFullYear(),r=n>0?n:1-n;return W(t===`yy`?r%100:r,t.length)},M(e,t){let n=e.getMonth();return t===`M`?String(n+1):W(n+1,2)},d(e,t){return W(e.getDate(),t.length)},a(e,t){let n=e.getHours()/12>=1?`pm`:`am`;switch(t){case`a`:case`aa`:return n.toUpperCase();case`aaa`:return n;case`aaaaa`:return n[0];default:return n===`am`?`a.m.`:`p.m.`}},h(e,t){return W(e.getHours()%12||12,t.length)},H(e,t){return W(e.getHours(),t.length)},m(e,t){return W(e.getMinutes(),t.length)},s(e,t){return W(e.getSeconds(),t.length)},S(e,t){let n=t.length,r=e.getMilliseconds();return W(Math.trunc(r*10**(n-3)),t.length)}},K={am:`am`,pm:`pm`,midnight:`midnight`,noon:`noon`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`},he={G:function(e,t,n){let r=+(e.getFullYear()>0);switch(t){case`G`:case`GG`:case`GGG`:return n.era(r,{width:`abbreviated`});case`GGGGG`:return n.era(r,{width:`narrow`});default:return n.era(r,{width:`wide`})}},y:function(e,t,n){if(t===`yo`){let t=e.getFullYear(),r=t>0?t:1-t;return n.ordinalNumber(r,{unit:`year`})}return G.y(e,t)},Y:function(e,t,n,r){let i=H(e,r),a=i>0?i:1-i;return t===`YY`?W(a%100,2):t===`Yo`?n.ordinalNumber(a,{unit:`year`}):W(a,t.length)},R:function(e,t){return W(A(e),t.length)},u:function(e,t){return W(e.getFullYear(),t.length)},Q:function(e,t,n){let r=Math.ceil((e.getMonth()+1)/3);switch(t){case`Q`:return String(r);case`QQ`:return W(r,2);case`Qo`:return n.ordinalNumber(r,{unit:`quarter`});case`QQQ`:return n.quarter(r,{width:`abbreviated`,context:`formatting`});case`QQQQQ`:return n.quarter(r,{width:`narrow`,context:`formatting`});default:return n.quarter(r,{width:`wide`,context:`formatting`})}},q:function(e,t,n){let r=Math.ceil((e.getMonth()+1)/3);switch(t){case`q`:return String(r);case`qq`:return W(r,2);case`qo`:return n.ordinalNumber(r,{unit:`quarter`});case`qqq`:return n.quarter(r,{width:`abbreviated`,context:`standalone`});case`qqqqq`:return n.quarter(r,{width:`narrow`,context:`standalone`});default:return n.quarter(r,{width:`wide`,context:`standalone`})}},M:function(e,t,n){let r=e.getMonth();switch(t){case`M`:case`MM`:return G.M(e,t);case`Mo`:return n.ordinalNumber(r+1,{unit:`month`});case`MMM`:return n.month(r,{width:`abbreviated`,context:`formatting`});case`MMMMM`:return n.month(r,{width:`narrow`,context:`formatting`});default:return n.month(r,{width:`wide`,context:`formatting`})}},L:function(e,t,n){let r=e.getMonth();switch(t){case`L`:return String(r+1);case`LL`:return W(r+1,2);case`Lo`:return n.ordinalNumber(r+1,{unit:`month`});case`LLL`:return n.month(r,{width:`abbreviated`,context:`standalone`});case`LLLLL`:return n.month(r,{width:`narrow`,context:`standalone`});default:return n.month(r,{width:`wide`,context:`standalone`})}},w:function(e,t,n,r){let i=U(e,r);return t===`wo`?n.ordinalNumber(i,{unit:`week`}):W(i,t.length)},I:function(e,t,n){let r=V(e);return t===`Io`?n.ordinalNumber(r,{unit:`week`}):W(r,t.length)},d:function(e,t,n){return t===`do`?n.ordinalNumber(e.getDate(),{unit:`date`}):G.d(e,t)},D:function(e,t,n){let r=pe(e);return t===`Do`?n.ordinalNumber(r,{unit:`dayOfYear`}):W(r,t.length)},E:function(e,t,n){let r=e.getDay();switch(t){case`E`:case`EE`:case`EEE`:return n.day(r,{width:`abbreviated`,context:`formatting`});case`EEEEE`:return n.day(r,{width:`narrow`,context:`formatting`});case`EEEEEE`:return n.day(r,{width:`short`,context:`formatting`});default:return n.day(r,{width:`wide`,context:`formatting`})}},e:function(e,t,n,r){let i=e.getDay(),a=(i-r.weekStartsOn+8)%7||7;switch(t){case`e`:return String(a);case`ee`:return W(a,2);case`eo`:return n.ordinalNumber(a,{unit:`day`});case`eee`:return n.day(i,{width:`abbreviated`,context:`formatting`});case`eeeee`:return n.day(i,{width:`narrow`,context:`formatting`});case`eeeeee`:return n.day(i,{width:`short`,context:`formatting`});default:return n.day(i,{width:`wide`,context:`formatting`})}},c:function(e,t,n,r){let i=e.getDay(),a=(i-r.weekStartsOn+8)%7||7;switch(t){case`c`:return String(a);case`cc`:return W(a,t.length);case`co`:return n.ordinalNumber(a,{unit:`day`});case`ccc`:return n.day(i,{width:`abbreviated`,context:`standalone`});case`ccccc`:return n.day(i,{width:`narrow`,context:`standalone`});case`cccccc`:return n.day(i,{width:`short`,context:`standalone`});default:return n.day(i,{width:`wide`,context:`standalone`})}},i:function(e,t,n){let r=e.getDay(),i=r===0?7:r;switch(t){case`i`:return String(i);case`ii`:return W(i,t.length);case`io`:return n.ordinalNumber(i,{unit:`day`});case`iii`:return n.day(r,{width:`abbreviated`,context:`formatting`});case`iiiii`:return n.day(r,{width:`narrow`,context:`formatting`});case`iiiiii`:return n.day(r,{width:`short`,context:`formatting`});default:return n.day(r,{width:`wide`,context:`formatting`})}},a:function(e,t,n){let r=e.getHours()/12>=1?`pm`:`am`;switch(t){case`a`:case`aa`:return n.dayPeriod(r,{width:`abbreviated`,context:`formatting`});case`aaa`:return n.dayPeriod(r,{width:`abbreviated`,context:`formatting`}).toLowerCase();case`aaaaa`:return n.dayPeriod(r,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(r,{width:`wide`,context:`formatting`})}},b:function(e,t,n){let r=e.getHours(),i;switch(i=r===12?K.noon:r===0?K.midnight:r/12>=1?`pm`:`am`,t){case`b`:case`bb`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`});case`bbb`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`}).toLowerCase();case`bbbbb`:return n.dayPeriod(i,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(i,{width:`wide`,context:`formatting`})}},B:function(e,t,n){let r=e.getHours(),i;switch(i=r>=17?K.evening:r>=12?K.afternoon:r>=4?K.morning:K.night,t){case`B`:case`BB`:case`BBB`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`});case`BBBBB`:return n.dayPeriod(i,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(i,{width:`wide`,context:`formatting`})}},h:function(e,t,n){if(t===`ho`){let t=e.getHours()%12;return t===0&&(t=12),n.ordinalNumber(t,{unit:`hour`})}return G.h(e,t)},H:function(e,t,n){return t===`Ho`?n.ordinalNumber(e.getHours(),{unit:`hour`}):G.H(e,t)},K:function(e,t,n){let r=e.getHours()%12;return t===`Ko`?n.ordinalNumber(r,{unit:`hour`}):W(r,t.length)},k:function(e,t,n){let r=e.getHours();return r===0&&(r=24),t===`ko`?n.ordinalNumber(r,{unit:`hour`}):W(r,t.length)},m:function(e,t,n){return t===`mo`?n.ordinalNumber(e.getMinutes(),{unit:`minute`}):G.m(e,t)},s:function(e,t,n){return t===`so`?n.ordinalNumber(e.getSeconds(),{unit:`second`}):G.s(e,t)},S:function(e,t){return G.S(e,t)},X:function(e,t,n){let r=e.getTimezoneOffset();if(r===0)return`Z`;switch(t){case`X`:return ge(r);case`XXXX`:case`XX`:return J(r);default:return J(r,`:`)}},x:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`x`:return ge(r);case`xxxx`:case`xx`:return J(r);default:return J(r,`:`)}},O:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`O`:case`OO`:case`OOO`:return`GMT`+q(r,`:`);default:return`GMT`+J(r,`:`)}},z:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`z`:case`zz`:case`zzz`:return`GMT`+q(r,`:`);default:return`GMT`+J(r,`:`)}},t:function(e,t,n){return W(Math.trunc(e/1e3),t.length)},T:function(e,t,n){return W(+e,t.length)}};function q(e,t=``){let n=e>0?`-`:`+`,r=Math.abs(e),i=Math.trunc(r/60),a=r%60;return a===0?n+String(i):n+String(i)+t+W(a,2)}function ge(e,t){return e%60==0?(e>0?`-`:`+`)+W(Math.abs(e)/60,2):J(e,t)}function J(e,t=``){let n=e>0?`-`:`+`,r=Math.abs(e),i=W(Math.trunc(r/60),2),a=W(r%60,2);return n+i+t+a}var _e=(e,t)=>{switch(e){case`P`:return t.date({width:`short`});case`PP`:return t.date({width:`medium`});case`PPP`:return t.date({width:`long`});default:return t.date({width:`full`})}},ve=(e,t)=>{switch(e){case`p`:return t.time({width:`short`});case`pp`:return t.time({width:`medium`});case`ppp`:return t.time({width:`long`});default:return t.time({width:`full`})}},ye={p:ve,P:(e,t)=>{let n=e.match(/(P+)(p+)?/)||[],r=n[1],i=n[2];if(!i)return _e(e,t);let a;switch(r){case`P`:a=t.dateTime({width:`short`});break;case`PP`:a=t.dateTime({width:`medium`});break;case`PPP`:a=t.dateTime({width:`long`});break;default:a=t.dateTime({width:`full`});break}return a.replace(`{{date}}`,_e(r,t)).replace(`{{time}}`,ve(i,t))}},be=/^D+$/,xe=/^Y+$/,Se=[`D`,`DD`,`YY`,`YYYY`];function Ce(e){return be.test(e)}function we(e){return xe.test(e)}function Te(e,t,n){let r=Ee(e,t,n);if(console.warn(r),Se.includes(e))throw RangeError(r)}function Ee(e,t,n){let r=e[0]===`Y`?`years`:`days of the month`;return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}var De=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Oe=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,ke=/^'([^]*?)'?$/,Ae=/''/g,je=/[a-zA-Z]/;function Y(e,t,n){let r=D(),i=n?.locale??r.locale??fe,a=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,o=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,s=E(e,n?.in);if(!N(s))throw RangeError(`Invalid time value`);let c=t.match(Oe).map(e=>{let t=e[0];if(t===`p`||t===`P`){let n=ye[t];return n(e,i.formatLong)}return e}).join(``).match(De).map(e=>{if(e===`''`)return{isToken:!1,value:`'`};let t=e[0];if(t===`'`)return{isToken:!1,value:Me(e)};if(he[t])return{isToken:!0,value:e};if(t.match(je))throw RangeError("Format string contains an unescaped latin alphabet character `"+t+"`");return{isToken:!1,value:e}});i.localize.preprocessor&&(c=i.localize.preprocessor(s,c));let l={firstWeekContainsDate:a,weekStartsOn:o,locale:i};return c.map(r=>{if(!r.isToken)return r.value;let a=r.value;(!n?.useAdditionalWeekYearTokens&&we(a)||!n?.useAdditionalDayOfYearTokens&&Ce(a))&&Te(a,t,String(e));let o=he[a[0]];return o(s,a,i.localize,l)}).join(``)}function Me(e){let t=e.match(ke);return t?t[1].replace(Ae,`'`):e}var X=s(c()),Ne=Object.defineProperty,Pe=Object.getOwnPropertySymbols,Fe=Object.prototype.hasOwnProperty,Ie=Object.prototype.propertyIsEnumerable,Le=(e,t,n)=>t in e?Ne(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Re=(e,t)=>{for(var n in t||={})Fe.call(t,n)&&Le(e,n,t[n]);if(Pe)for(var n of Pe(t))Ie.call(t,n)&&Le(e,n,t[n]);return e},ze=(e,t)=>{var n={};for(var r in e)Fe.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Pe)for(var r of Pe(e))t.indexOf(r)<0&&Ie.call(e,r)&&(n[r]=e[r]);return n},Be;(e=>{let t=class t{constructor(e,n,r,a){if(this.version=e,this.errorCorrectionLevel=n,this.modules=[],this.isFunction=[],et.MAX_VERSION)throw RangeError(`Version value out of range`);if(a<-1||a>7)throw RangeError(`Mask value out of range`);this.size=e*4+17;let o=[];for(let e=0;e7)throw RangeError(`Invalid value`);let u,d;for(u=a;;u++){let n=t.getNumDataCodewords(u,r)*8,i=o.getTotalBits(e,u);if(i<=n){d=i;break}if(u>=s)throw RangeError(`Data too long`)}for(let e of[t.Ecc.MEDIUM,t.Ecc.QUARTILE,t.Ecc.HIGH])l&&d<=t.getNumDataCodewords(u,e)*8&&(r=e);let f=[];for(let t of e){n(t.mode.modeBits,4,f),n(t.numChars,t.mode.numCharCountBits(u),f);for(let e of t.getData())f.push(e)}i(f.length==d);let p=t.getNumDataCodewords(u,r)*8;i(f.length<=p),n(0,Math.min(4,p-f.length),f),n(0,(8-f.length%8)%8,f),i(f.length%8==0);for(let e=236;f.lengthm[t>>>3]|=e<<7-(t&7)),new t(u,r,m,c)}getModule(e,t){return 0<=e&&e>>9)*1335;let a=(t<<10|n)^21522;i(a>>>15==0);for(let e=0;e<=5;e++)this.setFunctionModule(8,e,r(a,e));this.setFunctionModule(8,7,r(a,6)),this.setFunctionModule(8,8,r(a,7)),this.setFunctionModule(7,8,r(a,8));for(let e=9;e<15;e++)this.setFunctionModule(14-e,8,r(a,e));for(let e=0;e<8;e++)this.setFunctionModule(this.size-1-e,8,r(a,e));for(let e=8;e<15;e++)this.setFunctionModule(8,this.size-15+e,r(a,e));this.setFunctionModule(8,this.size-8,!0)}drawVersion(){if(this.version<7)return;let e=this.version;for(let t=0;t<12;t++)e=e<<1^(e>>>11)*7973;let t=this.version<<12|e;i(t>>>18==0);for(let e=0;e<18;e++){let n=r(t,e),i=this.size-11+e%3,a=Math.floor(e/3);this.setFunctionModule(i,a,n),this.setFunctionModule(a,i,n)}}drawFinderPattern(e,t){for(let n=-4;n<=4;n++)for(let r=-4;r<=4;r++){let i=Math.max(Math.abs(r),Math.abs(n)),a=e+r,o=t+n;0<=a&&a{(e!=l-o||n>=c)&&f.push(t[e])});return i(f.length==s),f}drawCodewords(e){if(e.length!=Math.floor(t.getNumRawDataModules(this.version)/8))throw RangeError(`Invalid argument`);let n=0;for(let t=this.size-1;t>=1;t-=2){t==6&&(t=5);for(let i=0;i>>3],7-(n&7)),n++)}}i(n==e.length*8)}applyMask(e){if(e<0||e>7)throw RangeError(`Mask value out of range`);for(let t=0;t5&&e++):(this.finderPenaltyAddHistory(i,a),r||(e+=this.finderPenaltyCountPatterns(a)*t.PENALTY_N3),r=this.modules[n][o],i=1);e+=this.finderPenaltyTerminateAndCount(r,i,a)*t.PENALTY_N3}for(let n=0;n5&&e++):(this.finderPenaltyAddHistory(i,a),r||(e+=this.finderPenaltyCountPatterns(a)*t.PENALTY_N3),r=this.modules[o][n],i=1);e+=this.finderPenaltyTerminateAndCount(r,i,a)*t.PENALTY_N3}for(let n=0;ne+ +!!t,n);let r=this.size*this.size,a=Math.ceil(Math.abs(n*20-r*10)/r)-1;return i(0<=a&&a<=9),e+=a*t.PENALTY_N4,i(0<=e&&e<=2568888),e}getAlignmentPatternPositions(){if(this.version==1)return[];{let e=Math.floor(this.version/7)+2,t=this.version==32?26:Math.ceil((this.version*4+4)/(e*2-2))*2,n=[6];for(let r=this.size-7;n.lengtht.MAX_VERSION)throw RangeError(`Version number out of range`);let n=(16*e+128)*e+64;if(e>=2){let t=Math.floor(e/7)+2;n-=(25*t-10)*t-55,e>=7&&(n-=36)}return i(208<=n&&n<=29648),n}static getNumDataCodewords(e,n){return Math.floor(t.getNumRawDataModules(e)/8)-t.ECC_CODEWORDS_PER_BLOCK[n.ordinal][e]*t.NUM_ERROR_CORRECTION_BLOCKS[n.ordinal][e]}static reedSolomonComputeDivisor(e){if(e<1||e>255)throw RangeError(`Degree out of range`);let n=[];for(let t=0;t0);for(let i of e){let e=i^r.shift();r.push(0),n.forEach((n,i)=>r[i]^=t.reedSolomonMultiply(n,e))}return r}static reedSolomonMultiply(e,t){if(e>>>8||t>>>8)throw RangeError(`Byte out of range`);let n=0;for(let r=7;r>=0;r--)n=n<<1^(n>>>7)*285,n^=(t>>>r&1)*e;return i(n>>>8==0),n}finderPenaltyCountPatterns(e){let t=e[1];i(t<=this.size*3);let n=t>0&&e[2]==t&&e[3]==t*3&&e[4]==t&&e[5]==t;return(n&&e[0]>=t*4&&e[6]>=t?1:0)+(n&&e[6]>=t*4&&e[0]>=t?1:0)}finderPenaltyTerminateAndCount(e,t,n){return e&&(this.finderPenaltyAddHistory(t,n),t=0),t+=this.size,this.finderPenaltyAddHistory(t,n),this.finderPenaltyCountPatterns(n)}finderPenaltyAddHistory(e,t){t[0]==0&&(e+=this.size),t.pop(),t.unshift(e)}};t.MIN_VERSION=1,t.MAX_VERSION=40,t.PENALTY_N1=3,t.PENALTY_N2=3,t.PENALTY_N3=40,t.PENALTY_N4=10,t.ECC_CODEWORDS_PER_BLOCK=[[-1,7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],[-1,13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]],t.NUM_ERROR_CORRECTION_BLOCKS=[[-1,1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],[-1,1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],[-1,1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],[-1,1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]],e.QrCode=t;function n(e,t,n){if(t<0||t>31||e>>>t)throw RangeError(`Value out of range`);for(let r=t-1;r>=0;r--)n.push(e>>>r&1)}function r(e,t){return(e>>>t&1)!=0}function i(e){if(!e)throw Error(`Assertion error`)}let a=class e{constructor(e,t,n){if(this.mode=e,this.numChars=t,this.bitData=n,t<0)throw RangeError(`Invalid argument`);this.bitData=n.slice()}static makeBytes(t){let r=[];for(let e of t)n(e,8,r);return new e(e.Mode.BYTE,t.length,r)}static makeNumeric(t){if(!e.isNumeric(t))throw RangeError(`String contains non-numeric characters`);let r=[];for(let e=0;e=1<{(e=>{let t=class{constructor(e,t){this.ordinal=e,this.formatBits=t}};t.LOW=new t(0,1),t.MEDIUM=new t(1,0),t.QUARTILE=new t(2,3),t.HIGH=new t(3,2),e.Ecc=t})(e.QrCode||={})})(Be||={}),(e=>{(e=>{let t=class{constructor(e,t){this.modeBits=e,this.numBitsCharCount=t}numCharCountBits(e){return this.numBitsCharCount[Math.floor((e+7)/17)]}};t.NUMERIC=new t(1,[10,12,14]),t.ALPHANUMERIC=new t(2,[9,11,13]),t.BYTE=new t(4,[8,16,16]),t.KANJI=new t(8,[8,10,12]),t.ECI=new t(7,[0,0,0]),e.Mode=t})(e.QrSegment||={})})(Be||={});var Z=Be,Ve={L:Z.QrCode.Ecc.LOW,M:Z.QrCode.Ecc.MEDIUM,Q:Z.QrCode.Ecc.QUARTILE,H:Z.QrCode.Ecc.HIGH},He=128,Ue=`L`,We=`#FFFFFF`,Ge=`#000000`,Ke=!1,qe=1,Je=4,Ye=0,Xe=.1;function Ze(e,t=0){let n=[];return e.forEach(function(e,r){let i=null;e.forEach(function(a,o){if(!a&&i!==null){n.push(`M${i+t} ${r+t}h${o-i}v1H${i+t}z`),i=null;return}if(o===e.length-1){if(!a)return;i===null?n.push(`M${o+t},${r+t} h1v1H${o+t}z`):n.push(`M${i+t},${r+t} h${o+1-i}v1H${i+t}z`);return}a&&i===null&&(i=o)})}),n.join(``)}function Qe(e,t){return e.slice().map((e,n)=>n=t.y+t.h?e:e.map((e,n)=>n=t.x+t.w?e:!1))}function $e(e,t,n,r){if(r==null)return null;let i=e.length+n*2,a=Math.floor(t*Xe),o=i/t,s=(r.width||a)*o,c=(r.height||a)*o,l=r.x==null?e.length/2-s/2:r.x*o,u=r.y==null?e.length/2-c/2:r.y*o,d=r.opacity==null?1:r.opacity,f=null;if(r.excavate){let e=Math.floor(l),t=Math.floor(u);f={x:e,y:t,w:Math.ceil(s+l-e),h:Math.ceil(c+u-t)}}let p=r.crossOrigin;return{x:l,y:u,h:c,w:s,excavation:f,opacity:d,crossOrigin:p}}function et(e,t){return t==null?e?Je:Ye:Math.max(Math.floor(t),0)}function tt({value:e,level:t,minVersion:n,includeMargin:r,marginSize:i,imageSettings:a,size:o,boostLevel:s}){let c=X.useMemo(()=>{let r=(Array.isArray(e)?e:[e]).reduce((e,t)=>(e.push(...Z.QrSegment.makeSegments(t)),e),[]);return Z.QrCode.encodeSegments(r,Ve[t],n,void 0,void 0,s)},[e,t,n,s]),{cells:l,margin:u,numCells:d,calculatedImageSettings:f}=X.useMemo(()=>{let e=c.getModules(),t=et(r,i);return{cells:e,margin:t,numCells:e.length+t*2,calculatedImageSettings:$e(e,o,t,a)}},[c,o,a,r,i]);return{qrcode:c,margin:u,cells:l,numCells:d,calculatedImageSettings:f}}var nt=function(){try{new Path2D().addPath(new Path2D)}catch{return!1}return!0}(),rt=X.forwardRef(function(e,t){let n=e,{value:r,size:i=He,level:a=Ue,bgColor:o=We,fgColor:s=Ge,includeMargin:c=Ke,minVersion:l=qe,boostLevel:u,marginSize:d,imageSettings:f}=n,p=ze(n,[`value`,`size`,`level`,`bgColor`,`fgColor`,`includeMargin`,`minVersion`,`boostLevel`,`marginSize`,`imageSettings`]),{style:m}=p,h=ze(p,[`style`]),g=f?.src,_=X.useRef(null),v=X.useRef(null),y=X.useCallback(e=>{_.current=e,typeof t==`function`?t(e):t&&(t.current=e)},[t]),[ee,b]=X.useState(!1),{margin:x,cells:S,numCells:C,calculatedImageSettings:w}=tt({value:r,level:a,minVersion:l,boostLevel:u,includeMargin:c,marginSize:d,imageSettings:f,size:i});X.useEffect(()=>{if(_.current!=null){let e=_.current,t=e.getContext(`2d`);if(!t)return;let n=S,r=v.current,a=w!=null&&r!==null&&r.complete&&r.naturalHeight!==0&&r.naturalWidth!==0;a&&w.excavation!=null&&(n=Qe(S,w.excavation));let c=window.devicePixelRatio||1;e.height=e.width=i*c;let l=i/C*c;t.scale(l,l),t.fillStyle=o,t.fillRect(0,0,C,C),t.fillStyle=s,nt?t.fill(new Path2D(Ze(n,x))):S.forEach(function(e,n){e.forEach(function(e,r){e&&t.fillRect(r+x,n+x,1,1)})}),w&&(t.globalAlpha=w.opacity),a&&t.drawImage(r,w.x+x,w.y+x,w.w,w.h)}}),X.useEffect(()=>{b(!1)},[g]);let T=Re({height:i,width:i},m),E=null;return g!=null&&(E=X.createElement(`img`,{src:g,key:g,style:{display:`none`},onLoad:()=>{b(!0)},ref:v,crossOrigin:w?.crossOrigin})),X.createElement(X.Fragment,null,X.createElement(`canvas`,Re({style:T,height:i,width:i,ref:y,role:`img`},h)),E)});rt.displayName=`QRCodeCanvas`;var it=X.forwardRef(function(e,t){let n=e,{value:r,size:i=He,level:a=Ue,bgColor:o=We,fgColor:s=Ge,includeMargin:c=Ke,minVersion:l=qe,boostLevel:u,title:d,marginSize:f,imageSettings:p}=n,m=ze(n,[`value`,`size`,`level`,`bgColor`,`fgColor`,`includeMargin`,`minVersion`,`boostLevel`,`title`,`marginSize`,`imageSettings`]),{margin:h,cells:g,numCells:_,calculatedImageSettings:v}=tt({value:r,level:a,minVersion:l,boostLevel:u,includeMargin:c,marginSize:f,imageSettings:p,size:i}),y=g,ee=null;p!=null&&v!=null&&(v.excavation!=null&&(y=Qe(g,v.excavation)),ee=X.createElement(`image`,{href:p.src,height:v.h,width:v.w,x:v.x+h,y:v.y+h,preserveAspectRatio:`none`,opacity:v.opacity,crossOrigin:v.crossOrigin}));let b=Ze(y,h);return X.createElement(`svg`,Re({height:i,width:i,viewBox:`0 0 ${_} ${_}`,ref:t,role:`img`},m),!!d&&X.createElement(`title`,null,d),X.createElement(`path`,{fill:o,d:`M0,0 h${_}v${_}H0z`,shapeRendering:`crispEdges`}),X.createElement(`path`,{fill:s,d:b,shapeRendering:`crispEdges`}),ee)});it.displayName=`QRCodeSVG`;var Q=u(),$=async(e,t={})=>{let n=sessionStorage.getItem(`counterToken`),r={"Content-Type":`application/json`,...t.headers||{},...n?{Authorization:`Bearer ${n}`}:{}},i=e.replace(/^http:\/\/[^:/]+:8080\/api/,`https://cmsapi.rit-services.in/api`),a=await fetch(i,{...t,headers:r});return(a.status===401||a.status===403)&&(sessionStorage.removeItem(`isCounterLoggedIn`),sessionStorage.removeItem(`counterToken`),window.location.href=`/login`),a},at=()=>{let[s,c]=(0,X.useState)([]),[u,p]=(0,X.useState)(null),[b,x]=(0,X.useState)(!0),[S,C]=(0,X.useState)(``),[w,T]=(0,X.useState)(``),[E,te]=(0,X.useState)(``),[D,O]=(0,X.useState)(Y(new Date,`yyyy-MM-dd`)),[k,A]=(0,X.useState)(Y(new Date,`yyyy-MM-dd`)),[j,ne]=(0,X.useState)(0),[M,re]=(0,X.useState)(10),[ie,ae]=(0,X.useState)(0),[N,oe]=(0,X.useState)(``),[se,P]=(0,X.useState)(!1),[F,I]=(0,X.useState)(!1),[ce,le]=(0,X.useState)([]),[L,ue]=(0,X.useState)(``),[R,z]=(0,X.useState)([]),[B,de]=(0,X.useState)(!1),[fe,pe]=(0,X.useState)(!1),[V,H]=(0,X.useState)(!1);(0,X.useEffect)(()=>{let e=setTimeout(()=>{oe(S)},500);return()=>clearTimeout(e)},[S]),(0,X.useEffect)(()=>{ne(0)},[N]),(0,X.useEffect)(()=>{U()},[D,k,w,E,j,M,N]),(0,X.useEffect)(()=>{me()},[]);let me=async()=>{try{let e=await $(`http://${window.location.hostname}:8080/api/products?size=1000`);if(e.ok){let t=await e.json();le(Array.isArray(t)?t:t.content||[])}}catch(e){console.error(`Error fetching products:`,e)}},U=async()=>{x(!0);try{let e=new URLSearchParams;e.append(`archived`,`false`),D&&e.append(`startDate`,`${D}T00:00:00`),k&&e.append(`endDate`,`${k}T23:59:59`),w&&e.append(`status`,w),E&&e.append(`paymentType`,E),N&&e.append(`search`,N),e.append(`page`,j.toString()),e.append(`size`,M.toString());let t=await(await $(`http://${window.location.hostname}:8080/api/orders/all?${e.toString()}`)).json();if(t&&t.content&&Array.isArray(t.content))if(c(t.content),ae(t.totalElements),u){let e=t.content.find(e=>e.id===u.id);e&&p(e)}else t.content.length>0&&p(t.content[0]);else console.error(`API did not return a valid Page object:`,t),c([]),ae(0)}catch(e){console.error(`Error fetching orders:`,e),c([]),ae(0)}finally{x(!1)}},W=async e=>{try{(await $(`http://${window.location.hostname}:8080/api/orders/${e}/status`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({status:`COMPLETED`})})).ok?U():alert(`Failed to update order status`)}catch(e){console.error(`Error updating order:`,e)}},G=async e=>{try{(await $(`http://${window.location.hostname}:8080/api/orders/${e}/status`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({status:`PAID`})})).ok&&(P(!1),U())}catch(e){console.error(`Error marking undelivered:`,e)}},K=async e=>{if(window.confirm(`Are you sure you want to cancel this order? Tokens will be refunded.`))try{(await $(`http://${window.location.hostname}:8080/api/orders/${e}/cancel`,{method:`POST`})).ok?(P(!1),U()):alert(`Failed to cancel order`)}catch(e){console.error(`Error cancelling order:`,e)}},he=()=>{u&&(z([...u.items]),I(!0),P(!1))},q=(e,t)=>{let n=[...R];n[e].quantity=Math.max(1,n[e].quantity+t),z(n)},ge=e=>{z(R.filter((t,n)=>n!==e))},J=e=>{let t=R.findIndex(t=>t.productId===e.id);t===-1?z([...R,{productId:e.id,productName:e.name,price:e.price,quantity:1}]):q(t,1),ue(``)},_e=(0,X.useMemo)(()=>R.reduce((e,t)=>e+t.price*t.quantity,0),[R]),ve=async()=>{if(u){de(!0);try{(await $(`http://${window.location.hostname}:8080/api/orders/${u.id}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({...u,items:R,totalAmount:_e})})).ok?(I(!1),U()):alert(`Failed to update order details`)}catch(e){console.error(`Error saving edits:`,e)}finally{de(!1)}}},ye=()=>{let e=document.querySelector(`.qr-canvas canvas`);if(!e||!u)return;let t=e.toDataURL(`image/png`),n=window.open(``,`_blank`);n&&(n.document.write(` + + + Print QR Code - Order #${u.displayOrderId} + + + + +
+

Order #${u.displayOrderId}

+

Scan to verify at terminal

+

Customer: ${u.user?.name||`Walk-in`}

+
+ + diff --git a/counter-frontend/src/App.tsx b/counter-frontend/src/App.tsx index 5c8a5be5..162390db 100644 --- a/counter-frontend/src/App.tsx +++ b/counter-frontend/src/App.tsx @@ -1,4 +1,5 @@ import React, { lazy, Suspense } from 'react'; +import { MotionConfig } from 'framer-motion'; import { BrowserRouter as Router, Routes, Route, Navigate } from 'react-router-dom'; import Layout from './components/Layout'; @@ -24,24 +25,26 @@ const LoadingFallback = () => ( function App() { return ( - - }> - - } /> - - - - }> - } /> - } /> - } /> - } /> - } /> - - - - + + + }> + + } /> + + + + }> + } /> + } /> + } /> + } /> + } /> + + + + + ); } diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index 745723b7..d17bd9b3 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -1,5 +1,6 @@ import { BrowserRouter as Router, Routes, Route, Navigate } from 'react-router-dom'; import { lazy, Suspense } from 'react'; +import { MotionConfig } from 'framer-motion'; import Layout from './components/Layout.tsx'; // Lazy load pages to decrease initial bundle size @@ -47,66 +48,68 @@ const LoadingFallback = () => ( function App() { return ( - - }> - - } /> - - - - }> - } /> - } /> - - {/* Sale */} - } /> - } /> - - {/* Customers */} - } /> - - {/* Purchases */} - } /> - } /> - } /> - } /> - } /> - } /> - - {/* Intent */} - } /> - } /> - } /> - } /> + + + }> + + } /> + + + + }> + } /> + } /> + + {/* Sale */} + } /> + } /> + + {/* Customers */} + } /> + + {/* Purchases */} + } /> + } /> + } /> + } /> + } /> + } /> + + {/* Intent */} + } /> + } /> + } /> + } /> - {/* Inventory */} - } /> - } /> - } /> - } /> - - {/* Others */} - } /> - } /> - } /> - } /> - } /> - } /> + {/* Inventory */} + } /> + } /> + } /> + } /> + + {/* Others */} + } /> + } /> + } /> + } /> + } /> + } /> - {/* Stores */} - } /> - } /> - } /> - } /> + {/* Stores */} + } /> + } /> + } /> + } /> - {/* Settings */} - } /> - - } /> - - - + {/* Settings */} + } /> + + } /> + + + + ); } diff --git a/ordering_site/src/App.tsx b/ordering_site/src/App.tsx index 574c5440..68e70dc1 100644 --- a/ordering_site/src/App.tsx +++ b/ordering_site/src/App.tsx @@ -1,5 +1,6 @@ import { BrowserRouter as Router, Routes, Route } from 'react-router-dom'; import { lazy, Suspense } from 'react'; +import { MotionConfig } from 'framer-motion'; import { CartProvider } from './contexts/CartContext'; import { AuthProvider } from './contexts/AuthContext'; import { FoodProvider } from './contexts/FoodContext'; @@ -38,81 +39,83 @@ function App() { - - }> - - } /> - - - - - } /> - - - - } /> - - - - } /> - - - - } /> - - - - } /> - - - - - } /> - - - - } /> - - - - } /> - - - - } /> - - - - } /> - - - - } /> - - - - } /> - - - - } /> - } /> - - - + + + }> + + } /> + + + + + } /> + + + + } /> + + + + } /> + + + + } /> + + + + } /> + + + + + } /> + + + + } /> + + + + } /> + + + + } /> + + + + } /> + + + + } /> + + + + } /> + + + + } /> + } /> + + + + diff --git a/ordering_site/src/assets/RIT_Logo.webp b/ordering_site/src/assets/RIT_Logo.webp new file mode 100644 index 0000000000000000000000000000000000000000..8374c385b0a9f35f99878e52773f4815af74da33 GIT binary patch literal 71550 zcmZ5{Wmptn*!S$R$P&U*0>U4bMnJlA>4qg#N;*YJrDG`pk?!skq`N^xT0pwHyZhmJ z-f!=RnK{?YoO{m9HP^ZCUmOhuSy^Wi5b#b$68RP>pp69p0PJZig8)1rKtdTQ9})oo zAhMuOREAY^SG16H>s7VTTuEYMvL%8sg7w=CYiOR?&rh%6^O68TWUp;u92kjXD zt&Pe}6yKYk_W()%f@oQ()a9`HOGfTn73ZqQ|M)tgYxv`{@JzOd$$04ti9R8LOx}tQ z*==jHA7{TPh37hW;|P#Bh>>#4OmVy@ZJE4z^tl&)YmOpaDCHko!Jt#L%Pp6+`-`q& z7f`PEbc|nsQvbcl<#AW1Vx?BU$vw*a;&;<5nSG{eJg7r68X!%TCjl%YXjR~acziIc z770SEe;7(e+hH&RG_21{_>~k;W8*VL5^daor>omw3AEZs(iY8^Es@VysU=$Q+k-~1 zd3>3k8nV0S$%t58ck*;nRNF?>M#lN`zqAi04I*zm z&tfDK>cAphO5GUdISzWD35iw3z~9*)TWb(oN2+2>w^Z8j&#o9(TPGUFx9C|LX-i}g zisy{E$y9;WpWTWc0I@8 zOoHcXylvP4xMk8^n%#$Jk|}n1XJay}8r?m4{}*ed{_U|tk?d+MxTIg{`so37uVF!U z^i*2iWt5RYPeYt({$@xtzL<#zE%yqib= zhsVrE@vX=I*G%|%tpvK__uhlqWEwK~0s)nf%!qwz01PGyfh(dT+LTc!!`ZUa$@|^w z$w!ul@yC~*du;ts{A(o)aAc;BKQ(jz7AHkl*(Lu?%Ju8TyVv&{J~7+kyBQ~HSBz;7 zn|Gm_x1{9pQ1h-bn=A60u>1Ujhp#^V=LTg7cQcp@j*l}NZI!e43HM5mGLLgU4{b(v zM`fCr+Sxru|BhT9n(mhBZc_{tku!Ij_hS#skEpg`aR$#l9FQXL&2Vw_&dz!B?#Awp zpX-#|swNuDJ1}N(X?Vh}-*7Q}RUm$2X;<>lUqztt*Yp+FnGZ%=%HrywYw7b~6e3&j z9Pj2>MjL0bqJ5kzG=Gu#q7vCB(yVn}@Me@7To!^^)sq%HPh6fg*bP>R7) zZvbffi(#>=+sFF{hXN98D7(mc>0%Gn?LTi&wmavn(Dd^_uRSaz>%Fu0?dH!1K3sRy zcZd@1Cy*aTGWO$@&z|^+;aOkUm{G_1h47uf=Z1f{$Oj6%BfZO{M{OdkrJ1P3ZMz?f z5CF7b>irzt*N}F;BrAvzb5^hzzW;aV49%_$@Fv{+Xl_pbs7(m|eKFLvskRR$K$uYQ zTs`#mGYTKWhb6@LvNGnG6dWYM z4k^I5o9iTZ(=jqCr9bSV*BxR4vT)1Ickg6X2`PT39X=dC{RGY8zp2*ou9I|Dj{7t= ze;=N^R6j>Rf7PpkOW5%|Ci%?POuv5o^l6`@bBb}_xUwN6^fOF_OIQXiZb@{F_%i7`r`;WB%ArP5@u; zCiYF&(z>lGIqxD7kt+J=QIEX>i!?Nx)lS+%{A@}B+c$_(hV0q3T*V~(rwpP}QE;3x ztn)d6kC_6W9XEREDWcCXZpX0sMnL*IfRbj{YIw-S(Og6`H`&wOUfssuS`xS}N#T=v z{h~)mK)6f71uQLTKQB|z^I!MF%Hj1NvtiPskwloTN}b^5$Ib#)lL#pu>&>KT=^*M0 zROP=T0n-hPVXA3svfzk`+;254zt4ySI(ExF@t5YLgTBvlf|4?O@T1;}JFTUW3yO*r z_pjusJNc#)if;b}usW3qDgKf`me4wS@D%n>_0%X8M8$T-^gK3x9h>)HE>Q1vgy4A| zA*|}qDEXDktIpCa$zrJPfxqr$DhG9Y75EZ|3}SSOAw76O28aG#3K)bk)Kl|ymMg9_ zmO^HTQ3f$MD2aRPShD#+IHg(1AsdiPOG;^La;FrK2&GoqM@A)?D7)%_2_i_GN$e=+ za`6cj`r;ETY%fz8EGRGDj!DrEcW{7C08&2;D!g3(`_sd7X%oNgsCn-KaWb{Pd`>+t zvZQ<`l%;|h#R&Sa+$oS{0w<=gv427SVTfIS7`Y(isA{j**u~}vqUN?8#H;hZw27?- zWBzcE%b~Yl;T?EC^J#_}J~bWoCE_^t@6lby%s<{Dx!jLyfYbG=HxajRE6-74J6G;} zPK?gqfFC^0@AA1R!F^@>Y!3SBcDw&hFMd^&ZfmYvv$Z$$+;W84HCf;h>QCyuq!BWv_27!O5za~|vG2w9u zj?yB3oAt8%rHmJMDuE4E%=MxE(`!bo*x-zr7z?24j!uBByEzc+6+E zZJU?>ZL~q7eWlFzlry2LUfP5gL$>VI7&mb+#GzX-CdWU6>EvPox;H8+#6=t5Cd_4u zD~b#AibE8kZwQgR-`*;{c~iXefeng6Iyu=B_~%q%QxY1zNV3I~GazKu5D^#gJ#c0Uyht6qcgu#yHZ@RSv}vZbyq-piGzu8WQrCI z3c76MZ6p34C=$_s`QjOFYXZ>#lE^{db!~fPWuslN@a2ioW}PGFVZK|ua0RLRuB~&* zNiUQ6`!cooM$hfhoF4_omua27B~9$g!EwVlE|;_6ge>OdY9izGzcsv1rC*qYQ?b?> zv?Xnx49IP5!bDvEAWt)HmKP7hNKtekh&(Bz!SiyIy{)yiQJq}ou$wBa29~-Ov>-Eav%5Doy{s61f;JmQUVM29P)j($>n%eMNj#q;_~_%sb{K6Y@Sr{;C_poE4h&Rq3D z&F+f%7YwYl$Q?e;*KspK;fO_5gL_}J>RE@Qg|1XePgff@9WkftOkz*`<{*T*lTT>d zCVUV-t%SYh-oIkSUE`NbCZwukWd+fD66c^3!=W!6n((Ob=y&?xy=um1OLk#nzW|P{ z|K1Ops1y!-dVK!yR?`AG2${P*vP~mpFS;sdb?Sw{>+$EgS&wCWrEY$g9VgY0g17NG zGxvJgy-(}JoI7*k=CtSV{4fc~gfNbcoY-?d(6=}EDmPC{4B4mou^$dQhkR!u=^xm^4f{;eR#531vXAAk5#*cG0i>EtcKp_Rl=zMV4`?hNvA1ZNV zd+(Z@6ARSZ&Xf-N`ZoixGld@s8+3hK;gj+Fb;35B7&?(L0K7UOe&RgOW{4)r_@t!+ zjFSmPq1fZ&Z$&fMY`=C)X$!eM-W;!c6o`_@p4w;z_DCloN9(zT2Lz+Qe1_LM{@eP6 z@A(ovIL=7Loox@XpS6!Aui}b;eus$X#tLJ=YTj&Pi-!w8H#`IIQJHx$Il{F6 z^w|bSTe|(v;TlXS>#av-^fYvMb?Lp-AXL^uEi1QH5lWv91cI{2U?lxh`|rE*0u$hT ze9-57kO}n*1Pe+7VChLMJV}`YL-vCXUpS!YV#~X5Xn||IKR~sOryHR{DJ|2n6*c@k z-r$4%TtEw2@S(Z>CFlA}(EnWZgWB@70^ z%+Ym*mP8@We!%X{$wKkupWY6m^v+*8MyGdSZ%BBu9Jg4eO9B#S z7Gmc~gZdKiLJF^bM@~HI&gZg{gWG{xKSkVcPZ*Mq2iB}!;x{}j>|lFnlmbkP`iX*Y zKoW?vJVM8h@^&@znat9H%a6W64?;kRy(snmrAtP+CSYenJL=qZlGi28LUNH&q#p6SzrEUSLGN!j!;>V zhv;H$EqWb}f8Jp^L`!Gmca1|^Lui=88@^XCN@(%;4{MY&$-^K_D6!9X7B3XUAc@r3 z2xF(2>t%a^{2HnN7SRLV#}aWp43ep{oYEC9bwVaMRrB5E9ooI|!6621jsn}lRgdRm zOaEEkfp_`8fDk4nNiSM5@$ zayE<^D~Vex_iNB_n_G8-mHo+4Fq1Ng;B3YaEmEv{CX9_ph9ju+2N=0`+Z}~`SXzyl zq)=bD+gUW;kxj##QQ9=1SUW0w4U+H1TfE!B-Z0rTPHjx5F$3OF6vCvsL!_=8zY};PLMn3iwWXFZ={de)p%LgNI zU)m0WIGyVqwa30DXK|Rq=Fu=!?$1Jqdy!=y45)3&#W^O$M_$d@WL!CaC}yThd+WEg zmue`?_X1`9Tb}I{y$B0+Sd*fnNuN2T(^#t)7h)Drd0LAm?Qs4;AEXF(FNn`b>SM*q zRK~;~k^Ok<*t)fcqv_8)wUQ^nL=hT;$A6icxVO0DF++S^cFp9%pM&t-JDux_gJnlx6q zl23oz-yh;9fzzmOkk9-5hPQugq&QpTxBpS$K9{FqcK>EjlS2w^{PdMW7Wgyd?H8w_ zr9fQjy;u5Od!@ni{(%t@=G*@tO^Upp z54=q@8K^nE+*{rjuq9T2v_CRR5%*h*#9Pc?dsWxj+HcC_%yrU7d8W?l?9zN3IHK!e zj4}Kq3EWmR^xBtUkL~+EEGZW*Dyw@&Vlqp$_av~}t`X3<8xna( z%J?q@GUbnUyiWVmRr1t%?1|OJVuTsJ%e%` zy8T}BOb;XbU>@5`x1&3fONqkV5)P-cyYfH0FOonSf?3d^4y2&%Wpq9v4R-^%9e<(x z8|=AsyM33YVgLz9$_pqK$!8)ezAtH1V*^-qc9b^B(5!z4B?Al~AU+(IviAehJe_xx zI?RL`B&qYlo*EsgDAn*UPi#)Y$@EhZWb_LWOFRcqAC^tJB0ynVOrrv^eAe?Pb{OyKV*2QbqK6g z^dp7|&if6sVA5v6*n&R>qErH*vJ-Z7Y^m*}jp2Lkuib1vz5X1yMcM1=VM`e0^_@am zCh1xrG53bV@K6YVLzr$on%#1NcKb7rA>4pMFa(yV9X|c<;znXG5YdUbPK=ePJfTtHd6<~c|rP;|a-X?EGldXfOQ$`oQ_`5|*;;ujVS zfWhGiQg(&O2Y*pF3|c-H(%k}KXn;wx(|SFo$d7rA;AN%=(m0q zu>+(s03xp49|I!=4HM9k1gtXl-X~qWP&vUzY-fIY!5EQlo2`2hj%S#hon3AeUI|%) z8p6Kb*LVi>RsNQpobd%hmwg@8VNe7eA{J{s;I1=o^_Ek@tq(Thp~YGBis3mF9=xTs z`>eL90R(vMre;XJR$0(Ab5B_Drm1Ze5M(r_u?uX1Mavi%#St5k8g_FB`Nz2Z`}?=b z;Jrc8$<@LV8z!LCx4FG>vD4lob|zGHzeJXG-Z2mq5%34o3HIjJpZjp(C3YfAaM<&x zaI0%*NS`@YgNYu0r+X#%n`{U%EBb#py(gZNzo10HR~B}*GueTPc^Xi3<(nn{O|A;? ziO&-M&%+*85RSAC2$5czYEV5faH2~v0D&jYPQ9mmA^jW^S}G(TqDA&56L_)Eq)Y_* zd{9Mg_+Kc5YtsU8R=qeQq#@uSiIM-)=SKbGd)Kfwil080{&T*CSrqf^dqWt(^9=Su z#pW&tVTShsb(z^-M-7{nyEOf<7Vgr7T4VJY3~v(RH@-(bZHMn}why$m6u8~re2bZ` zdH)U<5}net@urTZdKG&12{ps{!7nj>AYG@>I1%=Z)ywoGm_UP^ZvPWcO5t&`SwzB)fP=~m8 zVaVQ=o$v$GDP0&@5Vd>Jc;md?hfa*E!1*B)owI--@zgM+p5(@sH}zKl+V~n3oOodJ z{28P5S?5w(lL@`M`+6~=@=MGQaDYZJj_-xHXuf^nvrZ5gIE;BKfKk$@RJT@F zbF^XzSW+vrHpKrlmrbWw_({ZIClls*dVIjSn@{l`@i4EP!QxY>0{NEfXmk7$BxCTG~y$Y|U# zN2E%xV=VI<8vwkxEGTM=N^QX~^Gzmuqzo+X+T%`sN_PZPNdTXXf zr>v4dP@I&Ub?Ob#VBN1b6Dxk#&U>fo%-_agGPALpX1bSz4&{5?W2R_V3~jF0B3`H{ zsQ!SjvdV+;W1(iGHf`{Rh}T~7=VXHy3V!S$M6jfEr$>V#>qX3|3Mo?wwz7Yi`576dDMZV<^V)vmOQ@RCV4 zYCSQB8ntyZO*zWz?T9tWU)f*m3E#K zVBO5^xuqg5e8fwXC(Yhh25cg-vDi&1Uqlk2h)53mt8+W=l@Ufek(Zqqip{6<;_K{v z>*`J~fg(|t;X#JHGCZzc!nEeg-+V@Dll}ar$w0u5##quUDSnkwBdG&&-4WtD+eRJ( z_zG0d!`Z1tFa_1u|19*L^7G57X5(ZBV)*Q?puR^Q80RB&vbA)Du4l$te&><2e(oVM z+8B(YL%1hHB;Z*SCrN6bUd{U=Cx~v=ni5n)LEpazl|UtULBodc8xpz?S;ea&1+%`M z`7$uJk1aif1PPxOi8{mFHZgSm{a3T`GtwRq5YhIzKOb&8T2i3U>92cqa~TdLr`AF5 z$Aoi`3N~(XUNhdrENXq{B+|!iXi-feG8(fcK+y!G%f1EoVN04F8o!n8w%@R_TPvZ6 zPu5TG2ctefVze}}Tolt=e`j$u zFT2)OL3<0}7xR)R9Q2onQt>QIynbp5b(9z-aGh6XxUV{+0zLBnk6w8zZEo6aQyH(I zBmH=-tAL+RqKfN#kMw<-r7)?c<92rV=S0O<6s~sQN{b1_RI2$#5@VM@Qt+R>7gz$) zUqbhg@Q%OCFP3RQG|U%R1#=Q$^PIsr;fH_KgneIg7Zl{j3*9xqf9&mj%0O5!)QIAY zEn~~CP%uYo&u=)t7EuvYi#Uak<8k4P62UJ2LAA-)V@rY^(0-^mTYpX_0dPp4XNl5s zXP2P1%ghRz<)j;Nd_i$CC=^ahQ_t``j$O;+Z!n!N3=T+3OFT1H^d<0}(#v&$F63yH z{H_{5dHLOuF-xli9v}Of`^)rsSVV;PP98p`Qt`ql@{ciF z=>4r)TODmsWvy=?vahl@>f)jIN7_F}%LZQvrXaVas!X$i9bSfr_sxOLX7_(+vF0zy zuPh&h3#wY?JL)+?gmK zDI?jS49Gx7^60+LGEE#Dnjd8+&{;-W!liwS%Wk_5{`kIFf<>X^C6R*lA8*WYikKo_ zxylsEM^`GVn7E#uxLO}J(fpa|3TdI&e^w87G_S*{VKrhWaRKlPE-`v<@th>vOEsnP4(Vo zP(+Kjw%^ZU9MGT7$%RY+WmOqN!cX2V4%@@SvalDgWAUk(hNtoY*s_@=t^ok5Z*UpL zmG!q^izPT8zQccfX=ptGg=k}P_|jzxY!f&1qWLMz$2E^l3DlE$Kmn=LHCi+X2*?q* zv>Ln3P7sa)r}^7hSnIQ!_yO(hoq4ck2`G^k7$y0+F7aX|F_?LM+ki_`3mp~kYh|Ek zcb47L8p4Pf&5R$Et3?ZjQ2#F(1BL?Wb;IYfKdjj#IACuS{kD|ydC#zUed?P+dJGE;kCXbtH>{vGWj^I1z>4O~*g%&iyb<<#oC?a+=`-5|igv<;*hT=1ZpC+Iv8HWv}LJnyLG(@8Q%)q~NcOH+XO>~rz zrRDL*7$zGyEsA5`U6KIM7E2zQ$<3-U%#1}9Pyq4)1?^aGZVlv}H0l1NJqXWxdC5Y4 zfDlOPhKJJ>mvncA{xmw+FX}X2$pAAzof(kUA?PxWOoGUxw9!*zg7CP{Y>(uIUgxfu zVk6hj53?@d2{>RC(lybkS(IRCN4B+MS5sMAA~;ez)15w?0iG!N#HvZZ0wI{*_&o^< z1VQkqYL?#a&y(RmZg@x(Ffn-}6&t4jR`)(0{JktB18SYuQ%aUJC-Y~Y*>88m>9r?C zI&oq_5x`3L3lJ2=O0KORu(4p@>klCIJuTMBJ&34*SZ1i{KUI&fV+07ep}rfNX!H8J z0$kN@111mqDi0fJKMpt25AsmN$U)8A=Y(&$aRoOCyXn%U9hGU+oLom~~zA)H)N+P5*RlMFPNEaN?PeTS{06KK zj*s8>KA~4F-#Dgo3j?nU^5HN?xHcvp8Osk-RuEjIz5XFe**8E#;~Rz`^7DG5d?{fjd;P$r1z0E%h6-=UxB)*EDhiuwj=LY5-GO2A&+uche^IkcnoB?1G(#a3i>w`RvcHCn zo8=#AK@{N2WH)i$dy^Q?k1B#<8!wcG<7aeBtJ}op(w>DCw>-`aFTlQoc=?@+F~4@2 zme7yyyBZbcH~NSADifJLyL@P5K zHx3FwK>ylnOeZA6wik3Iq;q4WA@0pvXSW+?q!5L7VkM`XGnIie(VQP>_S#M{>~M{s zq*CNokcEicDb_gAL2kj7TQm|>;&pT{tx9e)8VFyZ)YYifg& zluQ88_cpl-9okE1BnT(kAf@BRGF1?M%oY>e$6>~hP+Yt}Il8ODYiWOajdC1fDgz&T zMyCocIUu0Df*Y1Z058M=O);^|q?^%!BH?vbi5b=Iuf72CToj)5FO4j!a=*jOt zSATE!Z#4bGtCCntlfQ%FCvUNsj6Qz)2W{ER;>hT{BJKWc;8+JW{wUL4%7(+i3ONMf zczhDdYHmmnyFK_VFCX!K=PjypVqUc*Ily40#gdF^_+;TPi=E-wyLQDPk(Pq$`stmj z(VOny{{KRd`81i?Z}>{oHSJwv-XYbuot^k90L0fq1yL$e1q|w9ZCN8SEUQ5hmid1n z%oy_a2mOm80yjf$Sa6m&M);LGSg-n*h5{S`MP)JvFjQk8X;=uLl7&-NJfG`UJD33d zF?|s_AiE@zw?n|yf>^Zj?sFw$L{I(@=>cAZ^*co&CXOn1{?nXyn?@TU5y(RadBp?D zOb6qJ()Xi@k~-tBeh&cQzR;p;r&f2)V>+mY3`c=uG`Xnzf$Foej}<8j*?=!~i2n}- zk?#swT78ZF)#L2VyYrjR`mm=jRwg(gRCE5=a&|p50BDn)UH^j++Mw^kI}}qzuA8`1 z+L#ep_e+68G+BrM#3DBO#f^ zU&pkTWxacP?qg1@(dA9M`9bH@q{33=*>u%Tl7&!e7LE%?sWaaol*T{~2PN}l+RGlS zmkHDVSAyBlOI~bgPh0?6;NLRwIRy5XyG~=*TLIx2yQFYLq^AgX)jKqR0(u=#>%G1Yi|o;2VV zQIW82v2>pWoN|i2EWsT=|K(n)s?NkRAq@vE9|(Jbq;Akf08qkMun=BHANb1)qo6CRxDSo>*-y;f;lk3P!A|XQARrD`=o_D1;|>eBLFTPg)(Wg~EW9w*;~& zf`yK(lBoVlkqr0CLA~R_u1QNh4x~}w=!NR;nIv<>D1grVUgZ9_Ep9>wj&Z4)>XRhy ziH>nA*UL%KZj^16PQ>Luz!<0qLBZBuIy{xj(z|?)L^56+s7uMBbVT!+gr(*KCpI#u zU~}~+@rPoxU5(DMwUhfNlD}BtDtLq15!GYlVx1JZT3M__;EDN*i@D1&k7k8Ni3LcH z>1TNbhrySywO;fQw$G?N{K_aOFGk&`(PvlMSp0mKP{5dqtRS86;0zIvHOE3Qc^*Li z(DvmjJ9TC6B0*;OJ(S}=9(13jX^j-3@<{M%rh0*&wd`_qLT~fGWM{mjT zW~WOrR4_Q+yDg7t3f!!9uRp1L+SIMH3$|upYV-(rCvVE&-_ReBZ{=UdVrF^4hsKs< zAG$Hq;c!3LthYl&M@?;Tu-ir?PL!`vtP0xd4f5kfg0$KTrCVyJPE+k(%d+&+e~K2h zbj@>>EclvNcz3=Ye)hqA&!c{2SyAbC75`nX#11xQIv~JgL5n*!$6=)gvIQ>J0^cPw z0IUrjF7ye(eQ$k(DJ~{=9CV4huHUJ-myiBI{z?aN$)EzhnF#`Cz4M`#WoFM@g-8MX zU}Z&h?(MFev^rKWkR?JJl{HEEI=?|qvs9bO&~c^f%9+uhUbKws-@PUO!rlf7pkWJd z<0BV8f0!#)U}9}K?bNILD$FiM4o1WlNHR{_2;l=;Ex?sg5iLTwPk!4-F(ED9IF}Km zcBt~ix;HwaGv3Pjn&S+4TYD${Ddt@<5p{wO~R6tL;-_0ohu-*9E z*y@a&(81hDv5U>g9{cnl#nWF|WD_Fts}g(JN}P~-oPn~)FYm(lm;Y3Sh%n#!pLfrz zW1(Q4>SYBCS}(M-6knYC*UW$TvvLQhOzkApwr|0XKHjJ#cf#`jX=r>TF^1hpXDD1j`>MfmXGcqtNstu%D; z_9Me_)_){M^xt3L|1o1y{^5{zk2Lr>9B!2b64hh0yZ8-8dUSnNw}yRNybiLZq`g6A zu|b@ynn*r=k=H>F4ku@UaoCFejUG*;jyH`Wf{$aiKi3%TUk#^z6BH7xmWmszCpDPA-4u#Piw}SspRhB14!6 zq`Y?gy%nD**9%Hwbn^Q8%y*{T+jN`&>}1c5b8(K__j{cMmiumV`cTW`blF16Gq~h+ zVZ|15T5xVwL`P8r3*$DE#{*mI{lI7CmzX6Ga=W)ms{EU?mkD4~rZm;*1MW*|HkkS} z^e9;Am$zhp-c9?@gz$q1)>b9MyI!5EnQ8gb{h^-M;J+#2*Yi@H^U*1ej>a}4?}MJ# zHmy@&RYFjfDD%!8Ox(*`dh-xt#^p{pgqn4~WUsGX5v<8;xS-ZiN;eRLF?rv^>jHBcgPUv(qz6TjTj6}OZ zDOlPudP6we%E2KRvySXFN3hb(MFTeNCflDw35=xjUdQ6@o_o2gj@&QO zs_|I;8_}L|%*Vfi5r-hwBm2eg2O2C}ECpe`UF()Z&%PaB|9ID!jZ8w(lqxJ=T71g*_Q-L5YMSWf+&SK1inP{Sp0_X=u2;!q13G*7BT@|@%0YfZ0Z)-* zI(6MtL9TNv_BW)qUUyj}WYE>os>iC01^>&k{R;23wKe7Mg`0N&wS0!YWsvIS~$esuKLngF(~SF3z^K*cBSL zS9gJOTqAgT{!#em^oddEEINW3u#d}0j4#R>TzAJ|Ru=FzDI&W2>W~W!k1XSC01K`i z2owjT8+%ze)mc}lsW6#`GunM)_=LxAyY&$}+AWTn^f?VAm?m=Ig8%J6n5VES2oBL@ zQ(w@`=`g5mh2TS$VwN>LK6GqJVA6mjkzBVRW-NfEQ2+gV@hBSeQ5X&5z`qcR6C(9k z!dJ!;FZZI&!efERDygy z`PiPkB}l{?x0m6P2$VQ4~~Kd|4Gq)C-2{> zEM$J9MNQ3}2a=1F#N=vcF8p#SFjSkj6G6IN9HxLve2bqyp zRxnYGwp_H9{nPi_4pZU((3fhyacCgw-GmDeLD}BlUC<{X+!0_9$LIy)&F1BP*B4RXKM_oynlx5klhiw-3cWX>!Uw*b-nGSns;og?o@}F`~^|OE!Uqc8`m8RI63D}0O8icD_ruP=>vXWqNM}-FM ziBjL+uubui`Z05tN)c#ct9>OY%M54X>_}kfwv+dVB1c3l5ZTWH#Me-Rm1l7r`bB@3Ic<6#Sl+O9dA? zx_A$Dc(zSq=j0Pgz$^wge}3`gCImL7H?|Hu*+C$7SD1p;1}>#3vs$8q-dIjH&s58q zA9pN$sG8WVI5!Bcln5!%@372QjE!Mb&$e*k&De`vCz5QlqLV8j4Cdtjrcxqj*^Tm7 zh>5@Ct{qK&^8M5+$|tvPrtBATi9GJEPY;)=9llo`7q4W+qmncx=m+t{ER|0`PtSi# zJv>|PdG?9X>KL?AS`$#iT}YoDP87QuQ}Nd!ha*llEH7O{(F>(q&`m)gX@-Xe-$=WAAG`GB>$#l6n}R$g^?(Sn4ZWA4SF_ofr09;K{YJU%IiZ%XxR z#iap*8vtWXV8_aYAcPWaQbnK;8B%SEv$9WW4cCnV&pcSL1i|0j?DNrK@e4tusf>uHXT1SCe+dgyD)n~? z$y<;y{a7D5@v}*38vKBF<}JBbJ9R#j8J=qnE&Fv+BdX(}G0rO#G<`U+^~@cyx*1_6 z3tpbpOQ*sXWx}Qa?~SUc)2<{H#)j#ncGhm(*q!sxxckb9eX*B z`V+&gD{oO%^t&AdG13;8Ra`$~9B($v!#8Kq>xzb7P>#*b$X@9y-{ zv2(tDzxmZ9J#E&a+PowQ&v&7Tb74U*bHY z#e@}#3`-%jl0rB^AVAczj4Kk5h<&n%x^CE=O`{(Qm#S;>BuSf!J!M8JL6WoKzQXMnt4mkYyU8zC!i9NHF| z;}5f+#|XIuX&{##Bj(+H9}PXUBn>rqY)NIP#8O!dK+%Xh$KsSBCX2=iv~MS*js5X0 zS3lU3!aNisK^i0RA;fS$un~9Z@AbRD#hYd4Pa!gil>JoAG5`8%E9uG7{(IO;;kVOI z$JQInVyiC*{)kzBdX&dKGF<}ZnCFZ5!@36Pv>Fu7A-6F?S6f`vNq;|eAhhWSLJj!h zXhAkBC7KRGzI_j5#*D*H_P_MmAZ*y|PLpGF^rtYY-dou2Z$Y31Xjrd(gNcBGffl>AHrVsW$ zXUymwc95$(b?ADnv$VPUDAT@~MS(sPPo;NqnJ6wBze~VXCp0b3On=RvGS%e~M~r@` z0_z8)VE|K}^$_mv-1GHPywXwDfm89LG-_>fR$aC23;&1~r%Nk-swfp>2c*sES!YG9 zq-5q33*ZMykaO9I`LrKN7ny6TKH^DEn^hugaKlwN7!>VrO zz<(V7H%-eVsXks!s#=<88!m2HJo|%FzA;^t2790%h4Gmq>Yb8dC=4 zGxtB?K(blaSDiJ8ru~pQKYJ-@be)9tKGgU_0UVr^gqJa=E9?>X zHo}-8^%Iz;GS(r6b8mn>mM?z${y7JZ`oKUdl1(cg3F+qu| zO`N{|!T_LU1ls;wwRyX>$`&pi8x0x)uz+8KN)N4;M5L50)y@raDB`ENLE^+i&Fj|E zz)C~xpPq+`zck3Pp`ljJ9E4o>Qkp33R-3WED8%XbWG7350Z!H%L@HdCl3KsHTQ;ml zDx~4a>Zw8IkkO4)aX|_5PX-2)D!_uzjvuensNM^b(MOtd=h@Kj zS&#A=!ARFfWxo6?7BJ&{6;|2h`i$l;PB<}ewljpNdm9^xqkVj}V7qX4ymQwe!8#;k zY2mYF1BqA1e)%}7;3)Gwyb{6f3$cPJ@QB^-tF_jU zNJb5^UJroa5{QlObZHxTln)+bC)(^oogutFnH`Fe8r&`U2MLRUxlkyevx`>Gb-ga*ej%<)k*1RC z%hv>4)5DmTF|X)tsSe)G#+)4&eY&7rC-6<0$2bh^Gi$1fix|ke9FAZ8lOA$#_q4LB z)%A<3Wp%YcMg8qgcfG|Yj|S0Z(UPyw{`VYTzg@s^-t|;5H-OIHk;GML1KG!!vpVQ( z{@Xv7XZTb2CwDs}2u3@8zJA@U3X?YX=n>l<-mi{acRMhHH#5o~cF+jVz81pFk(k~Z zsc>#fsK!p%RL$uQ9G|{kuc47$zx$AQ@3oi8i|r>)=C4bP>v36sMd9E@*A zQm9(Lm^V?{#AV_Pdwss&xvz+&X6ni*uoQQ@H~Y0GjN_8gbT2tg9HbOGj{k1Kr%m7c zhU?Y%xqH(>_~yHa`}4~lPRpn7u)|C^-02}`8D{+=&46#}cA;i=@?cS1ziiju`!GoS z;X-snq}lUwn#II{;eI{i*8RV`V50^xokK;^lG=|^(3P!))vT%fh5FNOj9D|=z?)Z4 zk&%=yCG8y2K>-bTi(XaJ(FzP4qKj(Z02J8B^{n4(TVkSOpw}z_@TENSO`lNJ=|{Y9Cx)Tbz7gpy7D4Vvr&F724e?ki#XwR#iKZ_($=2+>KkaaOvqyPG zc~f1Z$NpIh3ri?j{_BS!@%7h}U-tGS8}8?4XV(*>FIQrdI2lywU33`z2yV_qFwCt@Shmz316kOGN9%$#&$6VAti`e5+B}9l!*49)y)` z7}mk}-{H?x0pmhlrs0mW3%=}RI>rQHCG}a6{?U#<>u4ANcuC>w4M(^?$wy;a3_u7* zcWU8c_xC?@rZ2M5g)_4A-Rc`BJm>%#0%w#0l{8|F6&2{olP4R#Rh{pI0t7aZrAsAE z_WL8*NYRRrQRf!ITXmPeJh2*M?d6Tv6XT{ABvm&jc?H8&WuRPpvaeavWX?avx1S++ zZ2kvzK#IR^VJb(d5K%PKv%N>(I87F67Oj3KsfnR25FNCuSlxN|H{W~Fw@;YXG+)SW zXbui!hk@=9L}fwcDhmVws6tc0=znH~}Z2!^r*0RfOuQvo1A01yC3 zAj-2NDiMUL1rU)1frzXs$`a94K>z`&IgPR;1xT1tAi#UYOdvoLX3}PVv9EDMfIt8Q z009sH2!N*XyixsfbCc2{1t025b=Csp*4j6uZhYwr-}r1)CZ#FBZphJ*z7FaaX+k zjzZ(uwU3G_F+BDaV0bLcV(Gz~EZ*zy%==o9%vUHkw|?VihZ7);O=k@pVBY9gV?&f; ze4+7gDh|VBcNUA+pCy_W%Au1woYEgx)Ws_Cj4m%;WYKOX0X4PeWal6Lr?(D~f(vlcv$ZA&b8#xwUU%nOxBwsb zT15?vlR30qul}#U`CU*jr#jF`^^8;nCVX)UFudz_ix@&{tHcNwfTUml>{BP>i2); zo0T6^G=R&_7pH(AKw7+fXT9TD-AL)&trzdyswp1`Li1p^C-#dSLoj*qO4uyo8pk2R zGYNOg=yQMgM`wt6H)I#))20KsSHQ8?MXFhI7cAzPIARtD$}X8(Z(S~#c<#Wc1IBZJ z+OtgGn2TBK8RynwCQ`*Sf#|TQANuFKaKeSYtlo*ebTNupetvvZSkP07m_>G%tebD& zdx`7^qb^9A2fH<7^^Fb6I3CS|#*pPd9Leses0d7KVc_!`U1_ZbXwc{q#g6E4M074L;v0@3!7|Yy`LsLgX9L>!dw#u0T2#Nm8i^Q>@oK?)$*cNzkBWG zrHmQ68>`1pcOwU``bs?m64<8WjH0)t%wfv1wG)qy2ILLxJj>EXO!doBoAXs@3Xw3u;wdwOc7HB6E8JVNVO?&^9Rn{ZH3?gi8j)NS4TI$ z^tV2Dx{~K*Z?Twb%pve}1QH!I$Dg}#NUvHQFm^9V)#?}3Wdh@LTFo1ee)<1c%LSAXtsSP$QLtqg@Jt-SK(7sQ?tDG32mDnXauc)55# zLUHBO_lMo;#pi3Xw>@kkOrE`Z`{84G3e58Gr7tJsIA$)zv;yUmckceg%^{ew>Ic6% znnuO__b>gfyBpJeTK|K0-f3oloQitCzcfF2bN44sPiHXI!ejaCYlc#inBMRHLvBB^ znNyJ_SkSGpMhRv#qJxe%e)!T!_Dd&a96cl}P0!i}Y&t!jmB)${Vn!FI&1C+%J=oZ_ z2xKhFQh0ig8glaT;iH>bo-x21WU}J^?e+SDv$>*?Gneo7f&l{19tI1*EKk@C26 zL72S$()pduG|u(7T2&0zgeSyg*`6H^$GbU*XKue8H}fp>K0q?(xpwOE{j;B6Y32^9 z$_tdsLJ6QsLSb}rI5NM92rpQ-0O(z&-qm+7xU<1XA)dK^ zzK_8E##RL}DY)|f@y(UJpJBu%3KG-i;c{SF1JZ;5lEcGt>wKD|jttB7?#StB0Po6a zoK#JNGEWpt9Y&H6fZ&^dAHIKc;!(X!2Q(6 zb_pP*PRW2HayDBC@VI$y?#(VLQ)cpnOhpZb%WWXdvyJU%Hrh#Cu*u<)XVL#)`Hg41 zqEL-n8#%Si6w(IRS$L-k* zS5jWxdwjHsQXGlm{r9&_T?IyiWoFtO`@W`g96k5&xx+WNwN|n7cz9*&)$#GUG8H9O zNB7F>Ke$bby*XKsad+)XuVvn$5H3E?!5Oa&z}Z!yH;_quxF-A zbWic#D<3}00|`72(t(2wXua+hQhDo4s0=mkTlig@@_cNz-W?q^?i zDB{@T(k*{?X(>r&aAhOUqez3@=YHO2UuImcm)o=J-}}Mexqkf7Kl$|DYO~oD)2M_K z0#CQQ^rfGE<9xMQtzxK8{=~oX~8tUWn7 za-Q+6Z#>ux)M#OIwK#R^@T@PASD(N4)oxY=;C-8mx!bsN;fa;aW}2@I8rSRXc=>T* zu5+mYFK$9A%xDCt9pbqg@2|x{Y%_=A02V;zn4R+ArBqy*)v_S~@L_g#Bv{RtJ#)kREQgIX>EKYAx$Gw;>$G07BT) z87GDSaw?G6_wv0}zJGXr?*@tXDB^ai9Zjcu=VFaF`qr*@~4(7S&qGGA4@kA)m+K6h!YAkCaPX|SnyYdPc#jlHxAKp>O# zWSL%-D7M9r0uXx|Y`RY0J2m;%3Cl)zKHJ(41SB)L!L@JpJ~LbR{+W_B?pCyIN6PH!z2?)`JN#$MKP?lz35xw>*K>=O|s!`u@~Pj*y$OgbN=g0!Z<(pR?Wr~Yn zS=s~$(8DQGshNkTNWf5@p3YBBw%yt7-6m=+RS_r|N^>B~fJ}>-D!a$NPn$Lpm_{wy zRjq+pmL0ei5a9WPKXrU=dvEvM&6~>!q8s<7;`JoJA9Oamxl;sz-cwc-LY9vwvJUff zk;B1EWFWU@(u)Hqd&odaohmym1)!M(b~ZTip#QMtTSLm&j$PhNn<5B!Rv}78Ff45~ z_Oe_60g{lqr=Lk5efdF)HDgQ>7PSm+Oh#r>ZcdEEu6S(2GLvdVX}g`J9L_Aov}&nl zggt*8w$jBxfiw~_}n5v5Dm80AI;f`P6IK*m4|?ZYQ8T*!2ts)`^YMT@EtCM@NIrg7&K0;If|B?UaHw}rEvyD^dgz|0U) z5<$rqrtt-t1>V@2=|b1;B~agxfU|bY$Vi^emh3~`y>?~hV!yxK@9u3jy_uZg3&PV- zrCi!rY0W3`vxoQd7amLv2#^E-g2I?6BEv3YTdfNPvGKYM5T;q>a$S#Ct(ZVKGEs95 zNrn^zc$)4rw3RuxH);(%YAHeVNnuVVC`!}$;Ng-OX5e1#0|_s11faRFrQQ+l#D#LE zAT!k|1F~pTvLH2^rrxl(f3$b$?4paQ93h5B4b7eY_WIlVikDt|^+qyv;j0f81$ctO z7^evncD5h@wa*-q)>G>_SCRR7KO;!#U=zR8@rbuIzTZ=$PuAX4h=5 z+3AV3fPq8^G69NWsWYD-^jd`%OY~eREt1Hk$S|9`hq;4Uw+=!$wXHfIb zo%6T*Gxs}FC$>|+Nz~Gi6j+ed(uu^Xh4I3H7Ds zf@zQ?v9FB)_=087!x7Pq+1Y}Ny};sY-DE}29p@gBD6g@;p!=EIy3=EbLo&1hix>S&Ue~Y z(Os(7O9zHD4>4;a00cZh2&zC+=+R8h5M7%h9A=IOk3YsBMHhs7=pZ-hA5RSKoM~1V zn2Fw{x6Yor=-W%hLN`T>@~Q>o(x*PWGI;v!UP!Qr{H8+)uB6|fO@b4W2^ z5G@92iW5cxyD5Ybq3P|u!Hnn-QU^SnekpyZu{roUjF92pxTWU2iV5VB{l{NwLnNlElmo~Ae8qH%jWW?6(m3z zg;tGsN2kZba=l(Jx9b!x)VO?lv_0#XWxgOFQmC;2K#m@aAo{G4B_2gP5a51nkMCTT z=Lm0Ny~ssmGe&I*A5cnN7^x-@(J@1U8}I}@-Fi?)s(eTtuO#MXk1{x7IGVaovoNO!pxenynk}O*$j4bP7shp zxG~rC5cmG%S8iUmK`3k1<#=seJ^Sjqs!L*)h1es|9BV>=63pNcogv@L{oeG{++r#X zRs-Ah`r7>ye&s7Sisna9)3xKrY;st*i4Ll|988E_R_{nmO7x;J;1iz-WOw7jiK|EA z{tYfPv!vG?IVboUl@btu_L84H{Nm&iWXs=b{q&q_mZ`9X?dFgHA)B^Cv;?AtB6YZ4 zZAt_!8UdLxNNz}}Wf`=4>$#;?=bO!D!@dc|bec=+JNFYNMP{a2K*7s$goUPBj_KGP zz4-38A6{Ou_qZJE`O3_-M%FIG1r3I%$g@~oNI4FuzOL>WqrKEEqh@eS1VAF)U~YG2 zzdnpxGq&mEoWa$I5Xuq&^wJBr=B__|>Mr`n$`BI+VHH zu1+0t3s@FX(4s07gb^|bFqjag;~e(x9!)q*nrV&by)y-ZWZInASY>y*sS?7NKC}!) z5Egas%93D4gE}DDeIxk*OQC)tYXvgtwuGA5lQ9ei794C|8SNZ&CXaM)Z4P`a<%+2q zz*7<`(ls|8ee%v1zg5H`1j|e{lG)RuO$z}sxG|GfC87nHNH4G&iSewSZUWP0n!Vka zgV7{4%Mbu&e=~>8gNN;~RbO3{sRr}{EQ?yfQ)!uYA%|VCzxME)Ng(mq{j_YEQ_(v} zKDd;oZ)LhKA=HeGKo5zCLv!=3#?i^%?7W-W968826{wbB=E(BWoi7cXDgYo?&u-?Y z)_qaeVup|4NU#%&RwGFj+7W`Ms;hN9VcHemqj?ueLL$J-Igwv{uU#zF8;j1dCf=ZI zmnr3Rqr%QCJ5BLpz~1Z{Q8!HAN{WLE^-kFp@UU~IP_n0I5e6W5Lh>GNFYhIByS{#L z;mX1ytm)cSc$|Ow^>5w4kN^MY29YF=zWmhZ-to!MjWVh>mM{Xh;80o^(W((awgEZw z1wpGK>w4+fY_M995pKspX2dR*qnLjle?AHAkefp-J6nSVL+&tjI#*-^8SWQm3SL~; zj)ue8ggep4mC_0KRR1~*E~Q(Nw8zW_W01jQG9yNd)7+U!E$_Rn{xVNn3(E1UCuvaJ+=YU30*t!TkW7>t?{*nmu{PR7CmP!yrMOomc|c0hs1 zu$m%3GDD0xe+19G7so~H<>XWidG%Y*bWIyaw-3kER7%3wL}tHO(A&&gFwtu*MyKeM_Oe)LCd4a``H}4*v?Dxw@47 zRsL<;siJ|R0OSZ1Y8w_QIm68n6Br5H43J=wa0{kv#8x1p8(fzWrmZ3pWti3zoB3ln zzqYv5**`kGw4GZuKAFGla?2lF`uy$nOj#VIlvt1bqNejcp}nY`KA0_}E?`98Chh|E z9GDKu^iF~@JC^J%H-O0yWX(~QgGD}NcRO)Vubz&aqg4Uw)KC8K>+8*5_J93oU{&~j zZ#7fe^+Te@1xP^}H-}}>wn0d4LugL>wFDkg1Yyp$=NpG;({@w|5Yd7WSl0Xj$S++w zzCZik(o1uzX*K)v=@cB?iKFYw6w}*Ar4*L6XRO)KQeqZyD;}L+$FtaE2OR1h(GAnv z?wMKvNpxBgAeyv+!Fyz*0X%_h@9d{%zPoG%WoGcGmRk=${vW;R-u*d0>l-5~0@eD| z!%LaDJ)fY)5kpl<0@J)O7`0&RaIJx8b+EzZHhi2(s(`4^zVPsBxE+;(BwH!DArnsF zh?+e>HP5E&tyX9Gwq9QG7A5HB7j_rr)4Z{{CT5IHNHqp!-+;*A$$}n7o7>DBLLDgT zA1pfQo+?S-X3~9^07x}3N$(5Gv&^GZQ=h26y#{&7!0OQJfBa8(2HD16`v17=EDCzZ zC!49|j-gfrmW1RsLSj;G3@jrFy9J@U;n(Bh>Cb)sv(8%?p}PM1gQt&6JBB^dfN9(y z!enYMO<{~X1-Qkuabu@g{(9@vXH%zg1d`6$@?NI=!ZRlilbLoys-_dEUx;GJfwZ9c zJk~QAL_4Pdkz)(aed?bcH(1D1(;^5vg-`25u) z>^1;fA}fPwUYO!d8Rs7`=d*{2&TZ_);pMK&Xnc175j#-sM z^oz?fgViE7>Oj!9k^tr|wdWW9 z-On$#%~rqsLvK7toeajir!LkPQmni@*dc0ePsp@sBHNNBVMc~%L1=FJnF8=X`1Du4 z)-9>mzx)TUZLVH@e119Zw^R%nB}d5($;htD@4bKPF}WP;IF4f-$K_Z(oZox&_-GS$ zhoHe~(eBi3_Qiw7gZEPap*=JCY-i=##-1%qyVz^C7>c#5nYEOD(V%fwr#fEDY?Cu7 zEOnue4V{=zskI(f3L=U-MTxNOCQ_0)mst^rN@w5Lf3=+f^szTp18kl8(f`|eYR*R6 z8><78wR>)Hd!gI(n{PCSRIO~|G&r+4!0f5UNMuT`wF$W~z>OAHTeFG3{p_npzIktR z|BD}fVRdhHejK|?-@o-u+=e3pR;%@G(Rd}09{i!def=3im+{?HBLPKx1&egKZ*7ZGc5hg-b)ya$U9A z{?_=pN396cw>JIB%aF5H8={y@jhml;-9W?G3z=Myroyow*Uy={?+$iy?lO108#+Qzy7&ruT|R4h=9nErZblw zECB5_{b&!H!E`=rKKSX~4~}2#0}x3MOuc_>Wi6plTZJ=irLp@(4grgK*ol}`f#{&X zeWRrGRX5!`DZr-F!{fJp`$y|Lp_$0?;)hDNF>`9h6H%FG4_2ue|)l`(GR1!L+n@ z_T?}8*{kmy^eZt8oAa-I=loiVc14t{AHD1QFTHRmHzP9d-KZyJHIxXGs#0dHnN=Qk zH-GqlUPj#m_uhK*tJ%)c>$5GNrD?kG(%hA`Hc@Nmy)RwboLqnQ>kRaarIv)njMXqM z(JY;n>0K%MN_K0u`er_d<6r#u@85oWsmv7R;s1ASwZB&H6+~n$?w-DM`mAP#MU6lR zsGqvq4l*-S2mmp*!@Wy)UwrTK;o;d*&6%J08&5aao@{H1hV63s=RfoO?mn~yfO{Jk zzVy_cIL<5{!taart zU~~0_Z(q6=x0t&uD-MPpV_1flzwp@?^UC!rC!%L9bv^`Mz~b_~D_h)%+?qu64$i)! z3nBN5qj(NrcZ+7dd7fr17xG*fQwr5;j64(^rtL>B?r7V@>c%;p6bKA9ukG%F?wS(D zv>LR22ZCRAT^;tRM-8qyXHG1O~SONZ4Hf1P~;E!S2GO0Nesd2m=NX`^$jA^8pAT zK|lZmjR_zo-8;zB#bRd`Zfp4V({I+}<< z0SljR&Kl^dz`fH|yNBo@_KM(Q)#hf{uy7kn#IgZ{y3os3H^hZ;9V-{L=9?V6a6vez zG$`B&;r?-U0`*h&jdD!TMJqzy;Eo0S^mMt+24p%ZOz$Sq3DL`E&&X~ zMJsMF_~D%$UaZWWmmg#!s1peHj&K*S=ODV!zhwyUFvP_wX1gDM<GA)^i$ z(ZAvVxB4bCLF1^4RixD~eDpl*ManL_-CB(V>V&1f5sFT@pKSV8DNyD`D?sz*yPIIK zK0ner8?i~O)_Pf{uZ3D8dIt=ci&(R~^LNf9El%d0wPQb2?+W{F!TA6~OK4LdVt zV;~I7B$kO6 zBIn)Dp1eu(79Et-Hzd(p2eD(KT;vk#Xq<`UNZwY-8v6;)pO1<|5bK>pvK!MTppyq1HK*IFN-j z4^m4&LF3BBvWnr^?+(c#r1QJnmzpx54v4-ra!BpetryXI!ftR5G3u5KDBZ5rBk=V_Cia&8mgR-W|QX9&rnu z6vBNY+*eY2s*JY+Lv&4c8?{!XN$=4?0xAjg$OP&mhpLJy+LUw7YGv9d1hAk0NCs%! zAp{{Rp+kg#1i%+@k)i;na7ORLvO+O}Fk;y@Of2T)sD zp6&d2BPP4%@yeC^alYFPLs*hh2no6D(vbt8XgwOYeoV7_-{Rf;BUue|=@TR*&X zIoup!SXzJQ{!)8180_ucda&07RV$GiuU$KdhnI1OXu#Ud!}r(S-t>u;mF?+nPUsLI zq~7|$+U(ZBTFAGroSxep$(&U~hGglW-)gmDy4p~%?{tzl6kf93X4uv3a$JtNdikwazVns4yKqB}^z`MyToL7Mk2+J!g2w33=s z6LRU|J71s0=YOr;Tu}%=ym9|itxvpiVzC+^?w!1S|41v2PyA|M+RGy-^YHp7{9|R^vKJ`iVQR7&YfA$8jDQ{%aiH!3(uTg$fYXaL;LRK*S`Dp>zCJ? z3upIK4SoAtzv#u|NA@>XnxkAFd2*iJIzM5-wT@pb>o)e3+Y>!2XJyxoc~oog;lFhA zFF~4dXT!&#)2Udyn3fju4=OR?TxCGr=9)& zFn1vybobIqgk0agew}#o^*b-_>_+I3oO%B8e#6X6EJBf7ef50(6Ca*vK#h3Ze)D_7 zCXR1jJ|DV5YrXg6(~TT30HNJpe)iPP<~J_Q4JgxC_+sfZU#|~xIp=aGwmYZpAB{h} zbZrk-1!0DV=a!e&CvO+eZJVnC{kumW&MZx?JvuvRntkMfAAgA}vDnz`3M2C`pC(Fc^b+a&|VI!6uS|! zbMx}`)ePq7=>eF>&F4?9efZ^7KvhA=y4Lev7Ko^#7>ALc39DIEXm-1!`b-ERtcQ&e zRZh4JD^6-gaY{7liTkgf?{w2Fhxeo;^X<#eo~eKKo85suTlo0$syum81(l96?jQXO zn=%Ja!X#?#=+*1H-#m7r=_J*NzP=K-vCBtJOw z%A-R;D(;5MV6cM@o6}3n*V$9-EusB9@*IUh6$H^kKv7}FBBf~5_ilWlH#JHvCSlE7 zz7@>z;*06_qiZ>8=>r^KsFH@ziwBtDLP}L5mm-egZSD2=E8CSyjVlO;Xp(3hoO!aF zW~m4Bk@HELgr)A(<>T?syJZ?Q4r&F6j?k8W(eVXyE_jrB5XiIok=s|dU)fm9O{$GA z&VAh$x`Pk`;LJ^TJrg>t@O{m%WGB)X}zw?#9x?^-n_Ei&D$Q5 zavYa+tm*Shciw(v$xU>Ac=E#3)E?5ssVj3+tBp~6{`hxx;zVC~`%9nAoT{Twm`V^7 z2>{#02>aYiQMF7ijwQ8Eg}DV;B||6?vT4+ZJ&MhGxnZGYE&f%LLcK(aWbK4u4DUxJ^^u|s*QRi~;(rTVZSw6fo3}W-m_ebV2 zPTKdry}aVZ#n$;N$IsHLyhrQC^sqW08_h!p8zx%Pj^05<_5BAM|kNM+}eu~*c>!1zWuGEMd2Tw+dO-1BbQX2$FpC&wV0W0zJKBL zX40w0!06bc8<$@^YF?e$=1S_NC;*)`^YaHR`Zm3|mx1Nz&-}`hU6>kAJVmeZ0-gKQ zuP-n#oZlS|+i~J9^s;5O*WaT3oj=X5_OrU)YC}N$0+ zcvApFU5@Kz`qoX;qC(qpXpja9hbA?A`tmD|p=XvYE@S{n03n>ezLZi| z?%ml97)OumkKP}oMMb+Cx9*?ScEmxYbkIf5hp}1<@BG|f{+ECE3ZZHUNWlGH_;3Eu zmCRE-B931X^7THbu&B7Yvwe1^Yo47eiDdM+UBF5*!U&KZU1h5BD3mjrF;8EAlO;l9?5%xUh)3= zk(T-V^S@9Y<7vs^-FqWmOsw+{-T29>b`S@&5_ba6f#@WqpZc@^SAW&%E(u1E1QZ9? zKlAlpez3)=SKb^up`6fIyJqhrq#9X=b8^2LN(4wshRU&5^Knw7j@zHKoAtyK<#S#6 z(#&f^g(CK8CacEBat1<*M34cw0?cZl;Nb+3^!s;5b14B~PlsfS2D2u;;b=F_KK#a+ z1Q7)rHO@BgPip6{m!E!aQ)aRw1%=uH)rZ66#I$yQV)JAOC@&aCo4ebymxt)rgEg8? zs)GL1cXu1I&CN}>-Um@$z~KGei)+K-&?7fk6;L)BxFZLyb))-WU_~5)z^$+E6qGgJ z_@?K$!tS-to!k$!kOZseA6*fhv|5sSXk=*5VdL&$+yQ|5$Ny(9|M*wBhUmq?&Wqo3 z{YGpoIQ!K<@^5v5tO=@}n>L()K&E-hfe=BkQrn$gmRg=K+zWLQm4!!d?0?WRAC`uL z#jGj@#JXClrco1B1h(I^5Mng%IaWqbGK3WD5azCzx285 zif`9pScPYhq$pr#2Y7y`vAw#wuyUoSgB1YCxd&gK{O%Hbh<)lzh)(*>`d}oxbGE-! zk3AwY-EeE2p?5BKsJ`*?+-sLpU~?lwyB^1a?!JD0kXd8*&NYlPz8BxRw$ozbo0oJp z(zZO&zJ&T_nXC4YZTgyC#r0qFjSE+H2ZK>=-iLrNvwZRB)q?^u5aR3;pSps&psI;+ zZj4Q0RkvcfCnPfH5D7T5KZ1Wdc0tQC_(|ymD>R1;WgCO%ow3w?P`= zNoUZZK<^Lw8#zX2vwc);Z~lT4dC&V0JgWdnm;ez`Nd_;oTp+3^oikwc%v^Wr`h4%| zckX<3VI&ya5jlES#|G-y*5YDA?IfUTVf7b0`rf0u^3rhkbTb_mMg-~r7`C%+H!DK$ z)d^3%yz_cH%r7l8M!8cY)|c%>*DdU_7ZcU8dE(N`o6EDEc2S$=vBCP<*4k2MKW1nz zt)HA3EnIuyja^r8{PFRVS2g6qf$u)t-X1$(PzNv<&{B5*4+u~NFrZp3?_aysg)$VN zR-yS25CRlxK?o3K^4<_t;AQ{?NXWVxR)=N-03}o{Wdqg=hF+FMk--VxhXN+60hMJM zO|2{rAI^rE{T>%~O&EwFGosen^7dMJb8p4>6JH%LdST)CthU#*8p;e3woy1c;6d14 zvz-(kHN5uH+R-?~u`}n0=<&-41prTUFCow(jVHJ_*X zov%KUVLY~n-~3FeUNEe9<3nFO5nWYVwtFW)YR{790MsD>#Mmz1eDi4sTy_CuGPlB5 z2GK?!4D^&4h>$Th2sc3k0C^jsT>}7=P)lV4)B|Uh78asF@`TaDQ>Lmsl%`p3xtgo3 zBdy~0?b9zbodsc&Wf&W%?{6F3yfIzO#H@woDOuMi@=%yr1{<{}1zO%shi#D6F-;MB z?-^i_BB^NEVy4FCeh)RY41k1M%LY^JXV;2heb^edw(5E6j=j9mrg0pC<5%u}a~oPL zD4QEEKB#oihz=^%J47dBdoJ9qu@z?@`{J()x5cn2%(nqqZigViu-{8ZY10VyR%M`3 zc@ieLCW_h!wIwN8xc;4VV|uTV`65Y@R;%7l(ig6EM@|KaT3D93B+jRwi{G0mCf8TD zn+`+bN#!hZ{qWg#lZ}ffmev*g77Y1xwQx5_{4Bhp5Nqx@!a#<2Q@oj(MgFuO8VOL>6733)NPBF z?O`T18y+ddXe`KnmMKoe9R5wo@t7Jzozs zQp$0?_Qv*f6iCs{Z7Us_4YH*0zDA_Hhn%QrzJLkC)~Ml7nboN_0F1shn=lkfEcv~+ zt~GKPG%h)={>FE<%kbi0^X|uAI;5jQ?IHD!K^?H9Igli9yzrH8`L(0smS8t5M_j1$ zLVzU8w3x(@wJv|~;b)($PfnP2xcT$H|0@GC69ix|K!*_7UQ*WpW!1Q>#Sx_hU@3B& zn;1MB0B1(;;T9L#TgmX@se8wojy@>QZImWSb-rITQZE@iYHPWTb+paQ0ZPEF>B)Ly z!*P^*U$7hhKf^uU#R@EF~ZQ$$T@D-rha;;A2Zm z3j>?g-It%#PRJb8!X21X%d>GrrXbih79a^EKs6nu0S0FdVqw|tmDbH+*jeA$O^v>AP3JNfYQQ#fCy*xA zMou+p&_J4QKAGHHaL6(rLQO=NyoaY#6@uskhW&)Ao332aTEAOZ9LF(`!<#!Xx3Fk# z0LRgb%PZHmARNQ-%gZ%=UQRB(g;*4=r@y{^LFxqHgGr{R1-H59h;cNNfwm12B(^*! zB13{`0~aNhloC^K^ZoBWxY>Xt&;vTOkPk5Qq?b}+T02BI5wnJnc$b=kW zxL-6=c~57KkZM2}0Fx(bOA){`;Xnz0jl1FF{o7l|<}%dL z%;gK0t13wW5NTj-d_V!uW)f$RZchSW@HEtzAeqZ!V4_ zVqC|nHC08y;l%U8zNUF0q6|kLdHdyC$LG6YD3LYCaU9E~dzS}h765@HphHJAr47Fy z=kI>)#?>XTJAZt%*$laT^3tFGx8>vM;eKFTm~*NLK*0bKRnizgBjxdFSzn>&U7r5sFN{J9K-4>5-Cn^R0ntU{-pQnN0446;;LYbY zVSfC0^7{GHo!kyp5x6Ls*F8+jLiVt_aZ_~Gu~df;Aef=>cIBBXLXxp}=SP=MPyOsW z>naC1lZk=8pc&-hx|^ePX12d|zI|-hvRq=En^k2CuG2$N(3z_R6#`-y$Yj=OUO zzqisk2q=O%)rNo|13alnP^yB;Gh0C&fiZXAxCk?3Tm`e&(4CrEWo$nG2)AP*cT;H5u!>+NIO77C2#Miw@cYEDQ* zGUm?2Om2t*2^du)0#G$nZ$_KOw7E>e1_Y!bi3kQY;C!Hu3m~^t9IYNZd*tEL!8>c0 z&Tgb$^6;WX6Y{goyZfrox`otP4dCHXh7IePq*O5!)S54^)R$u4iqobEs(}c=B$9|u zbLKs|o5M~(S<7Gep^InO$eZ1f^-mrQV}wAeDMcA}>m|dbqddFTdqgbXdN^7ade)`S zT>hp+ht&lnmboBPY1R=w478=JYo!3RN+fc)BM zy~F*xwld080~SFRyK~hXXTV}oru|(rwCVfpLDMRD_C+7($#FxLVD7_|_Q5=hAIf}q@r7(PL2)vaH?eG?lGwry}_uL>VxmkJ=> zXVTtmRJWY^jM-%-AA27&Yc|uIiKUC9+1b!P*L$?Gn<7t(f~eMAOSk&yAJ}Fyt%a{A zqr99y_I6!o8ps4o?E!(@PZ|T%ln9WS14%}L7OxcNhdz#7WEw}){c2<2HQ z&|)1+m{MRo060Cq9anXM=gpU{KFQiCfz%qJf79-QG#9$_SNgC0Ngj&hgtE#}+zKQP zQ9RCzB?HE4!-%~_Cnas{Z7s2AbKt7t`NQjLOMTmWaOvJk6pG%{IRHY_;V>hcST|rY zR}>5}yQ9TC#4$$izx3ppq<4@s7x!{+&U;jCgDe#Bu#ZueS4VZ;UVdxDt%u{A+nmA3 zOp5mH0ESjFXhJp6+U#J#Wz&oGUOOPNFgVNQRxxZfN6w@&5CJohfq(!ra*PTDAsqxB zzV`Q?Zhb-Ly!=ylU*JMms688p=KvVZUHh{g2ElOwWo8*@*(QlOnlylDTOjOiK<=4q zCyyeT^&5lgdi#6Rx$kjdw1z4vM-Mnxrvs%lShxW==ZeC!u*GJ|Kp>ym=&yC!OzPS+ zg^)W?RUpqs7#5+3&6%nJ_CK|pX56~5zEU+qN;oi9d&Om0+)e_`)q;nA?7_&gmrhL1 zB#Z_&7uAlF{kpPlQ>Z8a1V|qvGr~JJ29gLYb3n$Or}woHp15tk{jeNX+@(|}T--Z| z_Q1@kWgGv)r`OvWCtzHbo!dfy#he?|PGS;lcLTaMJv)n~SBEd}LRH}I?Y+f8^Ukzy z?N=ic10d5Z2B!+H0E5NWz3_rS6^d{8DFja&@lhR85=! zF4y_JJkbntA_qdzp7V{}*7|UNzIS?6s)jasD$mVbTV3vjYM`c}XvgiL?=HGZ03iSZ zK!T9Qg0wBL4+cDZ^k*L}15V8By!_Sgd_L*8vI8!=f)Ap(b+~Z&2Y=DJ3*&>l+zzYO z1W*ajkpSD-Min8dc12woq)AUR*N0!)aM39BI!N=;GuvCOB9dq(^TCUlQ4tZ0ocgc< zK;{WRW*()&=#z8LA4lBMAXg}Ihw8ZT^4{}1`==hBcxx{=MWK=>?>+}2%gRe;v^>^g zsE%k4FT8d4_SXE;+GGs5xpz z0GNYv_wJXrbtPy*Mm)T;8!H``=wg&W?iZy>7nGU{V59d-{tQPM0FDFBcRqdd-Cau( zfzrX8%AOFWMO&i-nGU-=1QzkkPI{{WMZnC?UbF{lSd0+73mJx^3`B5ImO%|Jp1 zc$NXQIA|wD0Rn6fMgZ=%rgZa_>3s3|?m%r!iCeTccjD1sZW>L587h9cl$LiR&&5muSV;f)6v2EM# z*mlyfZQJ-xPThz9o?G|f?3cNA?N$3>RjpcctU2ZwoeJMgqRJk<@v`|`&X;rH&~v|e zjy>)ETpLd`bMQa35%fd;x|VGu>}G|}jD0chzI$+HXie=}82JY#HBt6{CvZE6qP6P| zAbg{d2ThZ-CaC~s*9{P6nxMA7ja&Ck_7Fj5y?5O=#MG~kp*>D@dr(6;efiPm%Sg6& zDZ^%l!J6t?q9gs|a!=Fjh5fCw+|h;y`_salMC2jaPR~+*lOY@UFiYe0OBuVb@7%f} z1NZ22(H&}%JrkKCL`n7B@L~_TR`F@|@`J?i(`!%vMy(b;kSr^J#0%TntGQwRk*#Ni z;xVW4Ep4Uhu?pR+7@mH9x_jB{Zsu}?&eh8hG4vNclO#;=my^mS92bSr!Qq^$w6hL= z??(bj5kxE(!}$YnCTH9Bn$RJ5zv_zDOTSpvA8nh9i3rt}j8T=VI7Ag<5+RVA z`ARN(-N$V@4YKc)!%Tv)aGKAp^GLBOkwX!MC`_|wKV26+7R*mX(A4mOqT1)C7zHDI z+p!dS-TjNG6ZX(}_9XBjekcg2f1HiD;$yKdo+ONx;f)B}uAn&}HxM-4im_03UuTRN++Px@iMfV!Xa#E7C)$#Uq zq_?qVS8iTDwxv?ZFaPBI!+pGVvStavCu%RWks5N|l`I`-6 z8vOUasDy#Nq2?+1jkiNs!Q;w{j>YbVy46XJ67?U(`Nb#4Rq|WFb^^1*Zu{;!jt%@s zoF7{PT@x6!sZBl=oWEnFsMyf@@KPUVj=CH=6W-vG@1{^V8q2+OtH#59$!^()NMBHXegKEvWBBg#7bgj^v{?zGHZ z$wSv}OZ}WD+B{_>gUh0tjgRcMgRE)q&f0i2yf%6(c9tsdMf}|r47_Y>_O9ELoRyB?R`mM9yZ`Ih8rI7tTy} z0$=`3&|7~#XE9{1S*9@{A5KqC|9u3L$;cjD>S|KXO`d?31ef|1QjmFRYbS)n7@M4i z9U(b;h`YiwE{58fqDdF1o#Q59H--7T3V2;B=ph2@m6O@NC4=+uur}Pzs7b@}dD;*n zVfJ|5s{Oe?Xo~r?^|mfYBT=T~r{`J3#e&!fp1#46!~O1xE60Dbpk4I?kmiB%JSV`g z0>iWjZ-P(xJZs^$cC;HfI%Nlv+7xn9l-^#fjXGJXziDbZkUDJtyhj1eS3pmTOe*fY zTM>fRZNv7FVPVmJ+bSrXU+mbQ4+Szqa^YXn79*c5Z zY7aHhQ%BLIcoDPVtuxso%n^c6TJHi6en8n5nEh~r_jug>tBD}^I@Epe9)sVBz(S%y zj&V}5C6IB?8`Y-A)6oGJVW1D@`r!I2p>He(coLx=Gqt}7(}qVRY1{4P*_?yQhIxyr zrzxq|u7`!Ms8&ef{5tNGU?Y#4krpTQ z1-{Pn)<-ig;9d_f0buof)w3@e5%Qb(9|4{Z1;eJ?2ab?~jLR&8K_NXFQLO3fV_(;` ztAd@BKibQY9;-XwFO(UwTfrp3;aInTd(q$KwP?>q3Ln?p@I^=j7u~N}aP@(YvM7#3 zLI!UeUT$Va-;Al2eD>hFA9_vYCBd-(*8I<5tqPEl9`0P+eI7l44JjUFcA@%VOkfkQ z;KY$5mBdis<2AwRG?AU0+sKD7CsS@PVrr<-VMnOldk?0*017Ms1uS6ufZ=_N<_a)U z9PzUO@`salG=cAX**{F+Wjje!yY~sp@OV)iY)HRigW5vm!s+{Izq%f+t?2f>`d0Vf zyR0bx9W-3sn#s+ zeB8sY;%1wJ^&WcDh@7TjK^vCAaz2-a&~(ojSxDvxSu_PGj6dbf=?(i$%z z{Fs#I*P1oq*5dLyL)(U^@T;E*%HeMsF%-%_1jj7tx*f}|2w|PhynsoBZ)^;4+j<^q zZ)O)7Gh=R`4$k!e^SJxSxhq}KcZyOx-7V^a_@@CDoAJ3{()@J1=gDJ&>y-uY!(pMU z>HJtXMLzcSydUUf?+J?@4FNviLxpi|=)O+myv+?|N0R`UZ@dNkU{UOXQ$DPSe1Pi|7}zZwMUhw>6QUsA)genxrhvBjW0JK|urT zeqtK`QrS`aP#h=wc5r!T^GtG9dWWY9jvB_TzVxY))$uw*ySe_Kk!CXlSREd+F-nvh ztzXL-7r~Lj!zAo?q2yYj?MB%3ygPTa<=F;q(nb$}NX_QBtN3lqFuy!eU@r+D@;6Ne z%x?^DHJnH`)`x|!zEx2W{YQH?=zhu9Y(5j4H%o9+=G@|S1=i@t6%?#J5CBOGcHJr0 zIj6liQHjm;wP+hBGcz7wrA=uPqrtm%SMvqXDDdmNTNc=$f9tP0^4)E;+8x%?Bw-mIQu`KgDkcahfvKX| zU<6|_eTWeFIEgcdr=!E(H6pTizbN9qg$qd{e3jHo$c96;_=DHj&I!9{o#oySW%1MS z_7ZnmKs~`6T6H)tx7;xf)o-xzW$MLXf57nWIVs1}Vv;2Yr}?|2!%gjQ-=duPXaG9I z@NEIm+69WwsmBB_XJ}9awUyh0+5+PJ*nCMFcsrE#O+cCGG_%~V z|8fXLz^z5?Ix^4Erzz0WwMtJ#lzXW;3-=aPARSFY;JqwF9d(+NTS6#1^FU0j$YaUs z1pq0ag>6Uw5oFf^`J5IQx~EN3`%g^5#Hsf-g5~gKX7u?O6L?W1dYCrI+38|Quk$7vE-`Odf?eSM# z0ypD8>jx&WS91sJo$|N~?7jpr%D8J5w8sLwEoxH@n~A}(AH z#7YTL>Iyg>J`YAvn6JT=V*vbr6OPq#b=|L9O>ed0EhV4Z@%xbrNrU?>PP|X9nJ>Ow z)di(P*m8&C8(HDfP(Aq@Oq`Wa4(+T=-C^4{COz`smJu@^(C)H?Yijjwzt!(C^1 zJKeg%6!2H{{Q^+#N52`$Hl{EUawY=6z=^)3=a>wL9$#}o0>>bfS5Uww=s&}5cWi)~ z0w>W>2mqjP1eOIxT?@$u#&5%%C`tM=pO{RA=hzP^%+&T)Hr=}X2odTf?auCnza|8g z8~z~XILD8G&FaXe1MHRRT`7Sn^0Vk!>}#m3ihd1o5Ah6D4MPOOZg;64pm0r4{JB@3 zA^qHaksZ~9a-+WnH22~^ZLjto@ospWeiPUQ(fXQ$azI7rUa!Cx6a$9E?iB%D0cB9@ zXI^(TsP5z6lP1XgE#z|eb@~msj^cN9B5*1I0zE&CgZj_oK7k;PI)+OQ5J=B%V>)Q- zEaw5_0DSX~_?!ZQ9s&1&Q^J#&2l)$78K_d9(`)LD;z{6kYeS$HSoX+qi<130_tE|6 z_SXHG^QceOy$$rZwVMY$cO-nYzHdG0-{m|22R|=A?muZhP+nrz8Q4D+L8hk&FA{ga zJHj=Pi@@0Hz(>xd`Z_T|=L!f#P*D1v^%1hTa;Y4>n zuo(pRN%&}f7<0e%(B0>u;M4sv{AqU&1muhhR08`yKR)$A>Mu1QkZsNaa2_P|*$(1( z%>jYl`B{BaKFvWeFVo{SwK)f0-`0ShATChF2MXxx@z8(#=EZty0%2&T>wmpOdI?-{o<&ob(+VNgAAbyJd*>_zV>m)8 z1;ggY?i_Yn`0j%;4VMikCD`yL4Q=IC(Gy3Z$>n7Rew#Qc_P*!;ejD={YeK}EcT)WC zDgSo>a2OmRYbhZJZ@-CNTboin$# z)SmTSgYA!!=#@;L843L`UWL7!tL>jHlc$gXm@ZE3W=wegYFil9>L1Q%_<0=3<6~1! zMbN?V%VaUbM@m{q2h6FJClEM_2&R+yBi1r2Yt;S5_pNA7>q9qQQd0M%1IdhhYdNfm zM>{()TnyTBr}yl=v`(T#-YR04Xh_`ZJ1o2lkg||RQNj!HWkQFTDdRl;_oUV-SCMwUUIM&=iP`j+tIl9r*slf zj7PPeCVEx!qzN!e*MXoNcIm|cFHJH;&+&jow1C~Dl6j|kgE)b!IBt&bv`a%t$k`R7 zJhpAJTMN8<9*B8pnXDnzYr0sDs~Or@QNPyma`ez#K@XMiPcV0Q%HVKRvZL*W8O|(3 zDAZ7kyp^wkjNHrN3^$kWjQeH0-t7^F;Ry2NKsaHE@aNpqgQ|eg9$yEo-~%E?>BAt9 zR-iCZi5p6JHM74{SrAM_cS8m@p*WS#r^aY~yTYr&WJ%hy$y*atH?tdAmB`)n0HvUv z$I^b_L=JMXT$-B7y6GA;wt=T#8zb88+4wCgUUjGz|0Y4qI6-QVXR&(~vcE}EaT8*> zPRbThv#WLHJNK6yU3o?%1%)}qbmuZH{_MjS{%NA+#C3+;t~{~SMupyTE941;{^KNK zna*cMG1#M&j!c6X)#4?~LB1&hsU7JNd*cX-fBkC{h(}#(juZFUwBJvq%$1Q1EttNm z{1);vX9Yq(Ad-LCu0v&m&=mNgECnpPXbGP(9dem07)5Gl(*E0V*RkE%=IeI8k5lk# zn=7hE`(Qnk{(}ZrhAcY{S%^uXWpBweoQvS>DGIkA4~djjER7$Qg6Kl0IG*r<%~K{l zmakIjv2Le$Z+5)rdq2NWFtM(OZc^msD~+e(I16!&E`BUAPDo$TGZS_C+cMR)0oPCH zD0%AbKP~bO6ihxb;9>s#>N>-Y-RuGpgrRyrCY)-SITqH79v%J;87V0@RAv${eCS^{ z;h_Md)16Hs;h|dOlcZT~LMrO&iwT(Q*OSM!|L~R}-al1Q1RK&gum7^uYAleDKdubf z5qkEU*g8X>M)o~3s%nPP^v>9ni$tUb&CpcHMRO#z`w4nX&UCji`?O`CU|Z_?%KFCr zD*KhX2G>0^3ud;@vn3Xpo>;a?9=lRc_Z!U!xs3K#aY`SLXEnJ5KpJ==<7? zp|B>~s6S;q0>zBjY3OT#_tVq#@trQZnAU$mR1t)u%~`QNDm-h^(L~X%{i5OC|AgxO z&7wcpI$O;yr1!#M!@V1wD1TM`XI=5_(yzN8ALG?!&)it`7fvSv%GA0uqcWg`iG-r> zNKePiuipT=b8G0n*l@{G&lK*?T-Ig}5!dNmXIEwiE>e)U8hiTcs99GJqubO=dds;J z&RP+L)Y$0kSr&>F*EM0UEAnpZjkoR*0R$5EYFux=nIR-znm3FPls{~2mSBBZnz~G0 zd8~z$VZQhFS2J;O>oUgb5n-bwvj>a$K`>{jau~)jXtj7wt6VYn)N*4u`dbg3~ zmjxxfxt*27uSlx3@Lj$aUP-m;!07t9uq!0i?h!P#Eb?e?EcvBC`7t?$7CGP!H)h0R-0~ zP(;~sj3NxM>nUXPyiT!37T6RPe=@;TFfOh(2Np$v(>LW!O@v2e(=A8u(bW}29Z9Eg zQi5en7PHt!cr(DCOI=}7_uRiKC3V!`TZYI!BsrJ|$v8NN@NLMQKC z*yI|p(V@WtyZ2Pnzl|_ZMQA7>Ha)t$g=$A{yor7&0roxmZM+CeOYHSCX=1i53E908 zscb3*e#a6>8lx^XUryDI9_pzD(Q1fv)7W_y@q=#Ooc}28`A_kwxY;sMe>AO!b$MOC zoVLF7&4q~3kl?)+%TvP>wDflRGt*Mf~7wa#yO~WG%oGsl9#dBcc z6}a>++t<0$`((ai#u&#k5HtnDj zyzhynw;iIrY?O%Tcc|SEHRr1vajT2$rsMWEtRAN6)t5WlS63hp1||wkw2e~7dnu*pWmmf-e;Rz4NPn|oj z<(NrMNHdtD-)+!XA_MQ~EIUG=SQz=7aHL|%O-lO}?bN*reVsT`kN$&lhjTjGIP?*# zr@Dr;vz&+6duyd5m?C8^rp%U}1-p>`T)vy&a3W$rSNMAM^JS0FgK4nE`6dO`vJivU zVw^fZjlMeX@oTkKERQD(fN{f@X?U%tvBoD!+pJfOLfCljUB_@cioJ}#Ez z(X3kcTHla({_3+Ml3hUzO^)OD~}!~N`!4@9`m3klV-DN5g0rdQsCsBx;ocjcQ%w` z6MATs(&&~QD0d<_^vj5)#^C1;+AKAy|Y z(3K+FBAayfd7n)e!7>l(l*aVaXvI+wJzSI*muMcq9m0S5;>qg{7Q!rjA2c!`7JRnA zvFHdrokHDnRBFXengNdnQ=!p6yWn&4Y<|B85d)b}1Wq@intD|nu7k^A93ls9+9%L+ z6ocNed?GAAS`(4l<9n-4!Iy>Tn>{GZU(#J}nP%$ZHThrobTf#`C9{U4_z*+)PgZj@ zivNi*{&#P-J%G>5QUCz({hQF3z!fo52I~qc&H3j(Ot|7zb>T`hN~SWRS3^CeaIUs_ z&k(|*Mh;G2G1=^A`hF2etPa2yP8?^%IxQYi?>Birm!j&x%k2IM=`VCLMNE3itpny* zJk-68eb`kty)Yxt5g?4l5OLPLAR*}baTIwZW^L@R$=DEM$Zu?8m5WR1k_y5zMeUhr zQ1-O7U(xx{>QQ0Q9W>@n-HeaU;vJJh_xmaA!lf|z5>zKV=t_j$q~TsqI?*Cd8aQL^ zB1>9^D4C=-e0QLAlG%^ulHgNdyU ztr@1OM5=tN4n}*Mh>`^PVT6`IiWl0P%Oo6UI)399&u!&{>2@dKsxUBFo>=bzC^19< z74*@;3RbAq60+k(x=o^IWc6-ItnFXKy(O%e{i8zlnq3r#neE_WNZaYhm)^r7q57HE zMa$XrSe4bER;q!(S%#$JnNl5)+Hif&B%YoN^84m#8uE!UL9{R+R~&m(erOM->9eLk z=}^y~Dm2ZM%$VQLE6J}yUtaW7lfA4$Ah08$YZNSPP=7;ua(lh7I^yYWIUC*Dm}?np zvT{c@~kT*y%q3NlWjh)hK$mww_4W2xH?Fv*0E zDcjp^jtfShr{Hn6G~cA0@`E)eFg`9N-GqUSYPq6;+4`zXqE>zVbizCmr{#%6001rb z{ZB3w6uW)^hEbIwcobe}MFC$LOS%3L)Eo?oAM^c`0E%}kxH)8E|KE8nQ&ypWHn300 z{nwW~KBm?*^!7y(^d7*soNPKl z!(Xy7;x$j&S>YLTuiX2yKBC}aiNO7rbX=Qw0Ge=?t{hH4?4-)X6))|G z2!+H0j6(eTF>loaliL}RSISRUDwSLB?h?cwgCy%y537sGfAJ|R&n|s)&m2QY*PnWH zqraw$p+lL1W0_=L&Ve+>}BMtB$mJ6BO+p$sds3gboqhaUfJO)fjw#|fmO`uWa z1)X}}E6ie|xQg4P_Twf4#q(=RiA=+50Ynl_M~1K(wn@4Yj<1!ssh)MY~GzV&a}UI zVDo%33Jn+la62TPdj*=AnteHxj(cGhV;siIJZ8-6Gv>sNP=BrMrdn-VA0z0U)V(>s zC`<%h;AO+7vrl<{5$Y35dRG4c4+~w}-v*lSyc+ebii?{Vd2>acDR{qI3E;O-!4A%d zoTGQ6OxjjTh2D@UDw;?+QN|Z_Qv?NsKP(fe6q^rWu0f86T6QDu7u51FlA1RuE+>Yq z_%i1tyid#|O=hHXX(oE7Cm`EU55z%Ue^gVqv!**`eO+Mn44@U}QvwGP0Y6=n>~G%( zH#imUdWDchmZw9P!_8E1ptE`#M9@z~y4E?>twIniqW8D7iX~hV*wpr25iC(04SS;U z3Y>Uhoccch#93v<{JtjGE=hFu)ITLO|Hoz^M|F)FP!Q}9Py^@V7n&>v5}`%j{A)<oUv1$PG31TkXK@x@~)SHJHciaWV~wg z<=AjRE}0D!n+dHx8ETkimU8Tc&RU5z*Wk|6|2ZoW`NU*dOZc^%6~2#$k2+E%mf4oy zUOzHrvd>CI)z&S?vRMA=Of~g9qo(OZtn7SlMQ#22p@i5HdQ_+B6%Xs%q~Pch(G4fK>kjIkz05-X_s8;8Siy%wQ<+M&-Irsp8lsBL_v32A z*FT{dReA1P^6bh!+Qb$U1CBk(7K1Vm^Iqx7cpVGhf=lIt!_+F1z2kqbn^*#|!*Z$9 zw^2s+;J{bcB+%|zuK&dnu}TR0k~&@_d`}Ck)1x70ejFKbl9WHM z$JO)BG3!U1H_g-dxCsftu%I)ou8oAHqh}(kndG(e9OFRj~ z&Lh4m&FojuvLNSx*jmdp{N9lYr=(1OL+v#8DJE{*ySmOP9eqV^I1y)*=%ol)Px%#L zisP?@SYFEt0g`Sqr*2>)?`H3D^rWK}2fl`UKYuo# zTmq#Wh@G(W6I9Lr3@xr-ko%spQ`bI@nmrx~J*KutsJ-2>zW#CkQOR?3awR!EX|+W2 z%)4k{GlSJCf@bje3?AoxzA@!+F8_{)B^IHvzY6RBm(3vbwY{cz3pAN?@jbo|zymEY z0)0M4HN0tlb*P#U|L!$p%%y4}dIMUvwL7uV!~tA8_l}KFrun(qDD;rd>vlnvt63gF zmImnHL@GA%0kR(6neIn)y`M;y2uQAQlx~fKa4ymu@6U6R@~oAZlAVRcEAVT4e%|EAYT+84}3olX0MSXPN1>)+^_L%pg(=+ zswH6e{GwT>+v)xpcwE%EPr^5QrrY+jRZsFL@itSrl@u-2`a5vW~{2|HEekiAL z#Qha95f@@P6!G4p7B(=T=8aB;B+ieb-HDD4HTQ^&jvI3L=9|$OTI6VlHS9~i;y?Ja zsfLYX%!LCe&6ztY3&tVVAtlmJjFL)0zPfN|4;W?Q)#218Lmp|(*PI=_7TLSqTxMpM zbzcnn%>JWmLTPZW{ZUe#AntZPIm{NiQFkXb9&(7}wdJO_=QpX7N{>~NxtfK`?-hZN z$g!^Xu3kz9XefkQ)mdb-fNm#O#n&5iRDqmwJxy?zID~*$h3H`?w)>Nc@;YV5#c10Mm>~81bZ-pztO>^iJ&x8jFY*s> z&A}JLFw8L|mVp#{apf|Vu*Tx8iLs9w-Iv56s?5BEZ*9%8&7?cYtOrJPE?JeZ_yH2*=?2MOB zK`Oa^0I)vi+!Ky}LMHR&h`29ERn;N+Los`BJJ|l4&dseu^Lw6i;F_+X2uMabBw}*JWr-n6T4x^IareqW0qNpZDRN6BAS~}gIV(@zt z<=pG=m&V?2%6{+*d2!-N)tp`jUUM%z?0aDprlm`r)%2#S7HD=gN&B=5AdB$8=ojMd zfCo2jU3R4j0yWpA5R^0*mVFWjW5<-_Z;vf2GVK!bMY^7CAF6ChGCd#2L=JJx|4tXZ zu?{l%N{~{?P*~4DTVq(3^6(>Pn^IA+mKw$R{kwUYiIyBTY<~%Abja=HE)|ZnlLSB9s?% zMqKAQ1}jx-o`vFzHKTr=O=`vz(ThAKbWjRF(7!ZG@l@#NPXO^_h$U7jK`-y8K#j}d z)C@-Z_KGjf!&~I{rqGk+kw!V-9!5}fkqhIr{8>JEdir3F@E&egTZ&Smo}2Q0`v=w z&Ti>N1p%H{-R&mL`KvKlEW}B)mZ&Kq27G~Yw7B?pYC%G#%w1cieW52FakkL8=I+N> z@hha2aOsb*>Z#&Oz+$V9t*#{owY+~>yYcN`^MV&Fz&Gj-(S`c8d;)@FBvig@4eO^5 z{XCzZ^wVW5BnnmsWxZ;tO6IpTxGwA?=1<*Eqa6mg583SSTyHV|lg@4VZGVDY-qAu> z%oBtncEIsR^)C3M*0?Rv?Ke9TNj5`lN^JIat9KAGgN^Fb{i4BjmiD;BX%me8e=PmA z|61ono^V}Eown`-e>7XYhbv}0F8K86V=)F(l>%pg^Z?V5WW!TvAeQvfH3HQr&OV(f^FZ?#TRVqHY`8=_$bY0{0Fgvo7t2@^6p?UiiEPi zqgz!W&A%?PR5C(ky=k}ziQ?E<3`|j2w6S66UJ3^@@{>B04F)`iAWz#3^RcIVikV2_ z1}17w+k1q<^Av0-918D+s_l%>Z{3CjQNY0LAgJaGW_vd|OM1~C&@FrToUnr$Y;_s%5auU?odD8kyTlGe)KD{1fo%Nye{Y$_xe7A3 zh@htJWhSEKVMk|+%g~*I-DUV-k&U|l{EL-g93XrokGX zvC8sU98Oa=!jm>EZh#F4F^G$yi7mk%a+Te;WED`MlR*Zd14&{;^556((}U#j88BG@ zExZbli;I93I|4v?G@oc+MWR+WoOup$SvocI2F&A>e^?l=O%;%$p@-9x5dYA&PurRt z5qzAaL*FldCcHl}y7ql!k3RlVLFN}-hOMi()ZJ?4b|AG!u$Zhvtu;b@CS&d;v4mA>3|VNYTC_-jTDDmf8lz2M^>}$IPL5 zEPokLP*Bw+S%M$W(rHjpWpjzY_c|K6^=P9+eZOg^I)Am4ym<~u;_4m4-RE+x^Yb<0 zwiK$4>ZHCbP>e{N82z#1FU93*#MU69`?304gDPJheRX2%Cza!`N(ME<3S5Xb_f{Mv z>DoXU*aUjvP{A3$d{oqqdlYWKC*Ga`OE)@v9tNyHnRqS7t>PpVmf8iHV{(k6W0OyUAv6A)-db*HFyS2ExMfv_P^h|`FAYZJKyrO3P6TRZk zZY~2woI&ti+U5~Hw_2zQOIO1@{)(sk`=#D_l6%!(`52nEx6^Jn-JiS~BW)KLgIhWb)hLFO%SwCy0DQV?WKCgYbU+epc%9+xYwV_tScQU#JNT4_>@si+ z3CUy19Dcl?;jr}OU@fWgeWV^^x7iNGjK|nd&}57inf~xZ$Kr>Co3)Eqdq=!T?T4tn zyO`HThyc+&;rCDkj-zHy=zjiCGz#Lo6m;hPD+$-D#f)yqmTYL$3-YSvmqn*)Bx9@f z9g*dSOr0ak)xC#D^s0QWA@xuGW5BsEc_G=YH@ey|yTaim_5)fhdQ!Hyn z72_}e!`eyP0Y$L9a4qJ8gG;BJFb1^(g5~Y-j%@)$U0UZD$5#r0q(-bxX?a(fkpWFQ zkIq@25XZ6_PZ?K<=1mRMGx{tm=LrHM>;8v+HydtHd~jxt59@`#QcW0wV44% zI|VY?m`$y4P6eMGw55-2;tW%7jc{+MYY3(SyZcxfl+0aamX`UZ^qsj+W>N;51VQGP z*d`}e^n*u?Tk)vfum&SfwA*nGnXMnGr5_%683f{4Mu%F4_KqsSs*F+wk(r=&EO99i z;xwayp{|J*i! z`UW+P<LjFidLA26HSN`;lrRHelvg31SUVN2w% zw!MsX!iiwx_)ujqJ(c75F8iRzoR|fjbrk*QDviO4S$ihNGAdKaUX2I?WYsN=<>8=o z48>$2;@RP8w~GjC-j}%G6`IK8s=aMq64dUEFw1RNP%b2z&EipirPva2m;m7R2c{?_ zO~N$tXR8@Qdyqyc`ZkPbmST|~G}1*w{0)n|*}@rCSDwTlvDzOIwu)>biww+Q`~|$S zGNjhyqLsyE&tiU%i#$C)Q0mjCrWF;1wS{!7HRScHLDq@ols%d7kwrkA zXZZ_0x-sXueNUQ_853+;TlW6G+^u)J2el*8x`cH^9kVt#();7c8#*dl@LH-I=@5-J zy{)8V*Ex6>141es%Li$u!0CW7Fh%)sR0ST)u_XdpbSw|67~bmpk$&E;rS2cDdl_YU zz)COJ9m^K%j)F7&qF_VIO;^$fp{iEQ{gP#9jk3P`Jaf6iwC6+-LH9l$Q}}y}3`{Jf z=~=*-!Nw2H#cvs?8Ra@ql@l-hw{t`!?3H%6d4!OR%8?A40BwAlTH9ln6i*#ZTDM7I zL_f1)>7sxcB|EczXbJ6*c$#2%$Hu{3aOB;xNjd+WxOusVMVoJDUF{&TI~Tu_RtGuV z7sQ{UvLrVF%X`8iy{bgHU3>_kM1o@Y>u`K!*nfKDIzt72#YQC=mtuQRtmwuY&TG`2 zDJrh9duZ3XxwpZqJDn4HPe}^hSsf&*L3kU*hboE}xuAnwYDohJ-sS?#%H%li622AM-)#v*2BMwk3A ze{$eN)_4Hcl5jt#|ECbjnaZke3$oU4L>c}dt_OCi%8uc12;-cwOP76if8j{qbQA4| z3iYkfyhB_~G-)N%(mdKG7-q>lBlaSWQ6)8qOBhwrZ$0GlBjO(i_|XdspJO1e3xPM9 zkE@DU*C}D171d7#r0D8bW;0Xw z0^;`EZFnQj_y}sc8iE@`$a+|=#jXdz(g{yyW2ZVVLY3j1TlYMF2@&y-)0i#@Ca*ab zF@h)GTCn(u4UL@JSGqq176FrDf2 z#Q{}iUCGHIZTwPW@(;8}$8GRwrF@SCqWuo?Ux??Qq?BW`gW@8Ph5osFn2C~%1MTM~ z`s2dmIl%x`JtzJ6^rxtm3u6S>%uJWam0&}#E5LkCN4k%m7B0!*j$<=Roizl7;U{6G zhHl_^@RG)yK)(60q&Gdyj!d<{;pYP+agpSM#{>4RyXrUpx@F5(cAJa-KfGoFoUW0N zW+m3{{C&BNX z`<CJ>}R20tPxyUkOCUPr7xu|4{~qO z*t%63K=yknb@Tl0uu-KB;;J^yadBYP>cV8dGC?r)%8$MC>?pwl+!yBSN%4d}xO$m?RCn~3NC|ezx2}$0#Ws>(FpR8N*kb9txPF|zWN1fNRZVvy03hAcT8JvQ25)2;HyoDO{j|OCabmCeg0id61CwjA0%ebDS%jd3Gs&#Mlj z7rd4I^oodaL|oy-Z7`dAKGLlwOXfq?@3MaDs$dag`D-AQ*1=~Hy34+%pKJFy*P96$ zR?umM*dP5C7FV{@w?n*T!1EY3$RT36kz$O_>e|n2-xZ3njYa#-hi5(XckdrO_&aIV ziijElD2{%G)fHU z*m}-^N$L&M5>B^lk36`?U=L17SPJ4N$~>qP9L=#-Je{&Hl&f&fW=%q(h*=vMFCl95 zq1UJD{RbVl8y&*Mu&Q*<^Yba@Bz<#4cu9ATAouE&UcQ}I$_^;NQ=m;HFgdC`713#L zb0uMB7_v*fV6qoBIJMURCyW4YS$tA#ooA#Q$d1zo&xAsl_8$F77KwJJZPS8~&#vqu zZH?13TMoy~bPDe@2F_w27Zx|}gyh}tD8ZY#i|bKenuPiyu5MllDaSgSEnh3)4**Mu zGQg@2)hjrj6XpKPAG_ais#d#g#D#Kgnzpk=`loGP5b0tCAg&ZIE-Q>u`2>aUN`K|h z4a>meRtnUJOUh3D$8PRB_g3o^v6SgQ1}hn4vTL$z_@<~ZyJ1#T)hD<-k1R<3+XWBf z(L84!N9?}0AAXVM)!3?z?W!t|wS9?6T^4$eJyN@7`or<&)YPuH`ZRHD&f}%l z#jGoiaq`>YGS5d!aQf@^D3BPgyYLmn=qoakSCjbkNg~Px5?9R}WgnbWqpJ-)0KyRS z)Nwl%UBtf`vu7B#iMw<9{NCLjVWuhCIx^?%WuLXVOw!$~dUKbCCCXZgw>mxCii!En}Fg})LxhUDy z6!?+T)#fMuqxJwb1VG_zD@k+0&A5f?tIp|YR88*;Lz}QJ^piwh=ncaqvHJQYniTb< ztP~{p?#>q$QWgU5qieNewbg^f(IeCBxj$X3N>t7jbP3i_f%mig)yJ++^=PK#UpEAf zi{EIJ|2-sH6Jv&eD)y+DKzd{aO+MP2=`B|@2%~=K_17$`U7wOtOlJ_%b3#;z@6xV3 zwKjS_s~`TIN)9=wpduNjpeTF@5il`01MIWa4t=O0zshWyWdY53nGB95?HCGr2(>A5 z?W1K5I_ka^?I(o;=0pgu<`D;E&Mg)A-)#`Wy<)-3Kxk0vb2J;FkwuS6-MdTv&8J7= zwQ`_}F$NrU;;*A76u%cu+TpdYU&&1jEloOOs~|izQOUlX-qK`F_Ap@VF5y1KGm9jVvEAZ!9OEK2~);nuZ1%v(prhgBM~9vmFPBmgm2fj#3A)g_uE z;(UOMl9NI(I$_QRmIC2AY2K($N1a9~vPeVdFLDB5e}ZUl^`7P;C3%+MY@ED^lRyrS zRK(nf+=H2HI4x}!y0O{$lc;!K_tsf&!&()x+$<|%;3rN~%9Ukl3WPY%7(fY@|14z` z(!HRHqa>UU_Lvus+(GL)F&MJs`-auL-#+LK`>Q+2Qs6(;K8q~p-*+EDn;?Mnf0RQ} zL>$#YY&_Ufu-q_>CPhA0q|uZ3U*bzuy_LGNFB@M32(2$P_|fXHbQyJD`Q$Xx^ouJ7 z`G@lJmYJOQbwf?uhb+Yx)1WD^ZLh%RH;*Qfed-);N$5#dK`P59EkgvqX2zJGuNXEf z#>Kv_*$UIBbc2#$i60nnO;F3nvNWjw(0QnIFU(G6R=eY4w5O>qED15gHS|$Z%$HMM zDWU3271wYwC!P@flOK|V8V5OO9QC!?K$$s-mo;O6-viCtH7GD}P16DxKw6g*XQ#Fq zcty$>Qf=oHb`6f{q4bjgU^Ng9ruqWaMo(lxpN49$-yJK=!P3&%9ySJWF#l$-vS*%I z3{8=16mQh*UEi#{sE<2W+f~*Wn~!hY=qaXM7O}&O#~u!buKGg?PhJP)!GqP)!mY&j zkHmNB-rEL{_S>54FD*T&92o zjv}pvWc3pj{3QENwGkigfqCUgmYUQe~|9+Gsp|H+8-t&HBS|63px3F}@;J z+Jaz}Yl4-@`2^%`0`+N4%Iw95GqA|5?@vC(kyso=7iZ~vroM#7vb{o$#XP!@{Qb2| z{d`1g_M-a|$j76YfWH(vGV^Y+CCF5+E3q!^35~|t1a+d#cwId@;f3G^?`-l$uc&c* z9T7$`R}g1LTptT$$$gEua_@3C*?C@FpB*-^_~pA}d2DW0-x+{FO3F?Lk-u+y@8|Gm zRopD8{kVsAv^?7rD__|g4X*N@zEGHC^FJb*8!K1C4ZU`3&-R(HK7}fXYg9Xzh41|0 zX?B0^6HN!MSjib2RGmT42-sl^CxVfWVo6Utw>y`PmZZBL99?6x z^>4WN6Y!nGB2!JwyK3X({^UFCDfAh9olV||z1Y9-s ztdg6{sXswuG0c}V?%Z$u(BEwDz!z5)b~%_WTFFUk3Vk#iQ$lh@f1@8m>pdmu9xf;5 zUc4%@6iS2bUH)vpYTK8AAt`zYY0X^1ktXv!84eWI1-v#`( z!cA1>e^`Mss%@d`+#^94evl))%FWW6;9?QxHK zti8lLxDURYMq8~cv~L&88(0@5d5oO;TjD80fn_&z5u)lSLZ+ud)MU5_IL zaCq0ZEsVKxIN*_M@pe*XMi}6j*}sTB+Cc6ADy7lr(($_W)R1_WSk-RBHtt;%|9gM< zFIr^Eud}@3kz+uh)F;azzLC)=W2j;IA3G}9K2U4uTf zblLq)vB;-G(OI^I8|h&2wn|la;DVtFeDh39q6KX_)l6*}SF6SQSZX^IhKdyzD%QJI zw-N4tuL5$ygx|-wzygNFB{tWaiv#VJ&?AhXW{w#=W5Hcu?U42?6&46^}ef zgZCoVpmWwl$p4+rw#plLVE+8!tkN>!zy|1O&h4*pgk<7<_mwX&U$cH>AvJG4E{`u# z;pOT7_A)PCLT1X`C@;)Srah+ZsebTmcl#qQU~g{BgTIkBxqXUA5N$A1c!<@LdrzYV zG29KWj5*|o;+)M`rVbG-jWyx`|G_eu&|;w9eR-emodrCl9w9I;sla{PR3x7;$=ZL% z8H-t72MB-BpRrNBo_6~DjjB1tA#tOHx?>|<(=S+g$vu2BfUvU8+eCKqQW=eH5OI8O zhHjyvSF^~67000F22H^oe^-k^0C|KG8~9~5pRpEuWU@JSU!oWD~f(V`1;7#>8K(ru|B}H29s%Y1`qK)`BETm5d_2u(x!R1rM zo~i+;`)jS;kTCkG_lRWEwV?#oYGDd&I-_NvJ1{g)_w{7co==2k{(`7B=IrH7K4qcy z7JMc$QteY^L)pV+sg!xG2u6gZmpXe%K!Ml)VXaT&!AfJ$^4B*Fic)V6sc%KRxJ=3( z>V8w6xwvyW6y34tt^}I!l-Bx^QW!j;rvY!rI7{L0<8mXyi?|fJ3#mHYEO}a+^luOn z??|zyEnIjZ@wC5?yRgW>NEALKpdQX*13~}1Ebm~)_ufNrlTdY&X99u~$$VcU;c_|{_;?Nxo4`R}&Dq}~GeQt(#%H)EiE!n{xvohM!Z8SU9# z-FDCI{G$1k)H0S2V1%RcQ?r{LE=(vwNT(wY2bEwXd-SB`Oqt9P2+9)((5Bhr2Eg8Q zcT#B3d~}VmTR!dN!MX!E54HSHhdkpi#h_?un5DQ^X9w9u&_5Iy(FLcUrQM9b@JRPGy zQ9%ycCCEZ)JVE$CSX_Zz$ddx^1#=z}<0}F{FCBz{vZR#FX#U<_@ff|~S^o98R|Oi} zv!`p&6W8$IenVHVv%W;!XbVEI6dMeMA%F5WFT^~Pa+g`rB%TsnW1J9_UOJ{g^ z=(TzlQPrRws4;6wyq_UHVDcc&`w|>qaE?a=%(keVZRrI}zZASSx4t|Rx7D;|ql$Iz z+tK{hT3Rf-Ux}oFxW#!Ot3wmpWlm{~?58r1Gq+d_RVxv6x^+)+oE;cktzFONEW9!# z9FE~N%)Q`h9|nU6(<#O30;pcDco764WLAnl7k>~2@nT^Xh(uauuVnBw-@4AMJKqAB zk0S=~bvgp#`GJfB^~LAQ(C>6bIdRt|!LBr&R5(eC1R#@Ro-(z?D$Itgnhqg@84uQw zw!`q+ic8O9%5{3xKUXK)<_P6_U~Jnt1BQI;cwwUm+zUFErAgc#%J}cnZNwx1EMkep zYg4Z_et3z_dVxvqr^!3G^D}kQUmwvS5sKb8C>2vH7=RQLBR^7i;CHj26vEe{jLL?X z^!LCa)0)otGzAlm^;8W|#VOzU5w8wsL7X+eW-j&A&dHlDh@g9D=2E4RBEsM9oL=X~ zSg7>88q&fCtql)%xGfQwkCP)oH-n=pNG!eK=8B#?)Q!&W;ucbY6TefCXcghkIbkSk z|F`P+50WGH?Bc;CymCG(5lnS3E9>aikbld)LPS+t%u=CxF&K6^648kGD*e<~aHa)l z$BVt)iJ?~!mAwcYDph6BPfBDgKz)*7Ew7JzNxK%&LCxaFAyRrJs$rPMgs^%I1hHkq zZeO8SqOaSwYpQ-sRW$V6+u8qnk~a))`0Y5+;CZ`amoF%q z8K%|PgAc~Gq-cvrMk-v2pu4RDQfVyvq2{ayo>otHcplo91qD-A(<_z#a*u~mwFo>J z+zt}4q;!lRE)0TtS`azUJmYD`IzD!Ns3|Va*tH#%zs`$1kHp-L!$jcPYnq8AJ=p?K zD9%)|`TYG$T~RPOc2zgFC+L+zt$+ji9I(~hVRi3_s@OJO?q(8++BJ|JEh9jWa&^2o zaE9Pg-7X$v2GLA5zJ|6$m2JL-o^+oBWZ+Z~2Eihxc*_F8Ci)DsD$z}9ZIcz7rK40T}xVsfz!%~0V}lK^_v z^*U(N62`uDz#~eJ>xLR zl%k%9W5czdCLGm)F$?<>acoQuF*8^%0)Y4&PkBYfsy!UnYyuCGrs^9jO)q8!L95kj|v}Di2dRH zRT^xvZWhr-P~uLM#D;(INvUxjTm>E-Tt{>6r+4gq;{R&d&0ZetHPGD*w~lma11YIs zJMKI}-A1wvoiSA?z^p?bBv*-M-7Qq+N6vLe(L26CbWgW^RHv2>_DuE*K zY&+WgJS$m!9v`A3ab0YW@^L@OiRBcC^>Nkw?35*EXElqZ0%OL~kApPItms!iSp?nW zH_w7D&gV0jp7;TVq!A&&xzySP@?QQBI&yum5+QuV9n0v48`)WPwa1KZi!5SbhzTV? z!E%;~_;#=+#N?>%{<2quraDZdXeZ#W8e#by$m}D%-Pp|nL;PF5w$hlrlUPI`N0?k{ zKF=x;gV(&5OKD@3G3)fck9IuCL}u2;nh%oz=|q%9QPIU?%a2M$Bck4Um~FKMu;yV2 zQeAyDhigm9f<5!+okg*B?%)#$<|r-LWg^Ii@_`qXp*Ef7NlE|q%nD4YHT)U#H*Bt* zdFQ|Z#Va0lZb>Y(c;5eL{e|w|Ggg78$Q;2{$LhElpVVH?r7Y@Om_Lr!$1RV#vyzcP zLtqUMw9B?*J9pHa3B-Z8Aad~27>A;-ZhBUFm0IG^Fm_+j@D<1gmN|BN5S@CuioPagc6+Sc#*RdOv^xpFIbg`ir|k6Z#xC=ZQMr3iy2Rz_?+%%h$(# zX!DUr7_A|7yJo_(>@^5>H=(_n3Um&%U(n$0T#@lo^JjYJV9E!#Yvbw>RunO$-z&Tj zxlzeL1_){wqsW_){Y*BqPefGxpjwSi-ZyP&(tMDIQ}JyH9&$G~F#kb7{)Y|ZF+mQ5 zz)gkt0=FE7@&^miYTXOWXz0La;{Ud}_hhxf>_U*jaz=iJ3rX^kc_6Kbrk@`1Dz)4YW_9#A@}fJ z!Vf4A6Inm@YgvRE>`YX0I&andN;(mMWWZm3%v23NOdg2R;pqm*u0d&hM)%sMt%Qz? zkf8hh2WLi{_@!c7%KcqNLtkXagEWZ-`);dCzy5~@iHNoyp>jXe=>>{?ny8St>rph8 zTcCJV-Ol2;t(Y6vmxs??ymx-YW;UI&tM14`9s=@sU|1rN{AdATolj0y+?5f^t<=tv zP2bo#O*`wJ z=pBvS~xkK6|}tNrdU&t zfEP`7k8&nJ^^!^PPJujzy+kC_CKj&$Bfa~C_Cr!_Uzz`P#L}#x*m4z-1fu&!o=oc% zneheLnf7f>afx|VL*$M!lbJ_LM@*~|B?)j(8Me%}$SAGDF65vJZ9az%T!~B<%rB=X z?b@9%+l`tN<-BC&&8VsW8$wZcj9~8oLIv0Q95SZDS?2@t(Ng`s4%hqiZ%N7Gl#u@@ z=r^V{j%j21#r^B=hR&Ed#X0IZiF1pw$YrVtcZ6ygRT05M?$?d}=%3rG znI!!w1DW(1oL_#G&8`*X|=+bN#$)zqEZQH2d(^O zF8ve-#V~q6l1eyE&%9$Ut_JT@8NN&%`-wMH9tQ)Rm<^H|irn+m@xL6(L6GdEJFtqH zejn`&->a)p2~fkNU?N}nv`tI#Y7Q(ktDbvgftrp>@Bjbm4VUyda;bYK&$+GAKNhMsDJc>Uy*LpTDu99 zzg;D8ii}1Z$l+aYUn9Bs7v*kZ2Cdy?tCz!Tz5@!>bR)iQnix@HC$7ZYtCD^M)0drE zSP5TW3DCnXHy#B%0^Zj$+>I)D2DxDkEmAGHUN)Az22@G|z>Yj-e}YjwkH#5?6aex6 zLyI|2n~_JyDTDG2>2(aeL&ze;{p5O$ZpInU$xe)QdxJE+%Y1S&Zl_w(J+4LKHG7Be ze7j(4CoVg}sPbs+qoo>77?-PU1P(eiFfs(}4$EM^g7N$(4V;mL3m@ncf4`gzs|Z5+mbJoSBRPsFgU^|+z<+k9^0&$= z@Dm|e$0+zI(!_Aic7rX@OGeZDp;S%9MJfI|8&J?q0ZEjulFEfIkMzw$TRLKUukfx# zR_|Af#;^ua8^)A%pvIiGx8Rh1lL!C(&J1rlfMu({ZQZTOk!QxYLtMBK$Y^$w8~CwI z39MRF9mI3^Xx!N|K6l4^&gML3eJyzeb$KPLjQ+l2e4QvoLwt!~$R#PR!Ucwoqu!VKa5SkFKV{Gxt1QG7p7Oh;kWEropQc!b|U3-63^8%I&>QUDLpDY2nfByqP`f zcO8JgeaIz@D^P1la7<4$mxg9h0LCSKaybnMC)zXtjgwn!f_3>7JpiA^_`Z!xcEiFD=M z)tI!0Vu}2joFsLzibT#Q&)ao&;(IMec- zaUS7fR-mrSXwpu1mqND{MlW*Azv)V(3?U3w3D}|+G6XbD0&n~Fj@ZmYJ^eKE+vx#w z<0>#R`6=lUjGrsRSggQkJ{E&OARk{%$hlpmOREz5G8TnoJ`b7806B(rGqrAH<~vMw z#SfGWZDv7gooHC_@O(Yns{}Bh&Ixe_qwGgJ-bg({g`)6_df^Nj12{t{C7mnYi8}sj zhiuoI$m20NeXjTa=&v9L`il@aH8-$?Xg$=of8XAmRzKfkaVgdppFW7BYWD7YgKV3X8 zV6_)83dB%>Wp63MiXHo#-eLw95ffEM@vqJ{1cLrddi~58_^ujy7avw!bB`S80o%vB zN^2``0zxfHPhp(aP9Eg6KCn)!Vz&!Siqe^PzU5o%7U-$t?@H6 zD4HkF0H$#AtPoIrH)+b*VB{qO1BeiuhtK&{Q|}CZ5eGYCz|l~3ZHHj?1T5@a(TnA+ zYMy*HA$622Uwtb42*SA}`*(4#xhPN0Ra|#-O>)FHnIgiQK6Hu|PRHrCn!mVLwE9>| zpQ4%bd|2u8;GE$VqFXof2%)=wZktdSJIUlmxro7uusXapk0CbGVE8k8$L-FoUmFfQwqXw-*EV*^%SdO>Dj`?Qh$FL$~)D-F7O(%zN4@n@)px=ya;dGt6mZhp${3*rxjB9 z0^Y*nH)w-ykH~QUpb(Iqec+f?3kYh$^AM5V<6K9ulFQs;G^N^egsQt<`V%e82V8kJ zpYMZ`fjqu^l5OU1Ugt^JY`g0-t@{7a*><`&3G+R$JilT1VJmILNe>T09uQs(%H)_XzmqcARx3slrCN~o`p zUK@d}0<}qt*AfBrzewkn7BokIo5ok_yunGO0#+vS(UeF*>nO>(wPJh@1QsOx%18c(jhRbiadn6A87=9MxO= zV9eTK^%lxEl!ptA=@DLL1Jat$7-m`yZ;U}r_a5Ap;iA#Q9RKH`7Zq)?j2lbeYfm~e zaavK^Bo)6hGYp`y28F9nP+eMyG?=f6ZS72{T&~dx!;I_}+>I8KQwS>5ZW+e^^h6i! z*km!hVONHBcACajwjt?b! zNvt%VL#mE}HZxa0C(xkREZvzBzO1n48E8%2p(_#lWL8LqA;duTF{%N96LrvZTJ8*EEXp1&`w1|X{>lL z#xSu-6yS{)w32$Jwm_Md`=aXFBjY^m)@|;=rR3C|f1HB`ogv=mg;avUVF#3y``)Fu zDm>5An`Vp!6~yF*7q0;f;)KJ@=Ulf5;AgFOYSkY*Vh(Irb1Mr3nl>A0+4JSu@nPDg zq#b(J+7rh!) z1F&gm0G8^HiT6HhC@z#DFv)l+AJ3**{`fY-FzSvd*=wHi5*C$}`9st>A@tW4 zK!CA){zzXs3T0T%Smwc>D-_si_j`=S9W$$Z{FWcN6-E%A>nMDPCu>Se_*$6gJ>ksU zu8qc;-VA8DHV|lrjxsE)J3dTz@o>IGK|krBzen=quc% zqlFb+76wCwua6VUqny9c59WwvypoEHGwpc=WW@WAiT@ZTZ4TZNVz+ggq9&u+J*kH-fbd3WE_B0WD1`A!e&+5uRgPd+Xi7gq!1 z&Wp`T_bXx^4FznZOJ)HH7>?Q)0o=2PDAjkR$orZ6&1%3vTjJgO-6KUGD*i96j+TCS z&PF@~O)Vrdf=fxHUqh11IrSq19L7apgBifI$IpTekKN&r9&{*(xWJbr?ILXWD;c=2 z3w4v09za=FfZ%bSid~}OVtv0ev%E2SUO7?lSBS!{_%=*wexfb;Mh*(R^|0I^`^UC_%r0fq|Mpf_vK58&RC^_OUKekj-H?LBzP;pf zI920cFkLJTbNpE`0dc#x{5&pGhCsB9!}nm(aB+4^jyUKy-XbLF5F?6%KM{UO+FM&Q z3~J9^%gXNoCf0}0{d!G8i4T;9QP5MI4uqe8zvYd8HNG6)P+)jGb0>piy3s)->S9Lq zs3*U#MsTE%0(6nrG&NRb6}m%@hlzg4a(_3VG$m^jA495xlqv3J_wCMBA+;ie!Hb?X zotw=#YZsJHDBqG(sIfeF&8F=E;UsCImDiT7zgZ|N*UpYLB*>*(jD1Vf4APUYnm>}6 z>@Pj`w{uHbSY(%8F|9Q4&MJ4rJpUL+dYYnZ!ts7u&xA-;g>bb23u2JzDWAWwb@a&c z{PR)Y&kJHUw+aXKQ6t9n1)GzN{q(t-=yJQdE0zPWf^77T(xBk9?z(0wYA3j*%yKQZ z7z!3wduVw+{n7y4DBZ88HCM(`nay(KT3H2A3QvFv3czXJVod&}R;RqE!h<1LTHjtZ zcr(|)UN$KZ;@=PjbslVZu{BS3B!Ixg2N2fN*To*vy$hsewK9=C7^8Z*Q1+ohD9qZN zOW*8)H6v!_uI&q3ET&1<2J|5JF^Y)837bL}SqT9ZNy0MS zajTy?q;D;%KspUmV`tDev&E^zZ60Xkx%5W|XEIFbPATn)J`+5*k9RHN7h5xbb=SX3 z4AfZPuPY$1(`9nMPgB-=<~UZW>recfo{v6+xtr>aS!zapCIFyI^v0}Kwh!`5+0h6K zu+1Z%e7U&iSknfGgwDm`A<#jaJG+JLLFLAjXxBh| z_keawmhNKqcYtX3>@V8|t>4VRLx|}uIKVI-msFjFZ4w3#GBUrE3^CKbh?Lb<@KzS+ z6CC0SkNriF$*S?9YV3okgbaN_kN21>3I_hhl@nt*1HV3y_LXMcpLOsuaPCMxxdX!* z845)?niBPj^`LWtaxhlO=%)%!DS7n+@GaE~mjhEuc+V*b!9o0(D%Mo*|) zKXxa6%%%re%a~m=%LdYw2cGI@T6NmY56 zCyQCdHeVc5MSLuyrm+)-a<#h#rQ=UYP$@7~tPC>D*|Izz;XfY(hM>x>0f%pgE#;Ny zg(_H#?$Vu`(5k?No!4oT!@iV{4_Tga7+ z5KGR2CiRdgSQ>L`&~OGV^dvjpKiufJpxF%w>|g*U(czWdm!QQWz64BWbRT-q$`b=6 z*=p4hC%>;pBUFW)x|vBCy_%xRUy1P2mNr0H45ut|1pso&an5{}$Y>ISOA(5<@_p-_ zjr^d5|GR2`Z@0jiVPYD{T%wnq4w%Iq5b-41tx}NoD5ZA-&Ag!~0O6CIt4SCxq#b17d5^*kR8$b^PLBjXt^qJwEm98*&<7UA6QYsSoH53GsJ(Z6OQ- z9&NAs^sB@9HLOp<9s``AWXQ9p~Z6 z(3Qf&rJf^bW?<}Hw((Sh1|uy=8hTQ#xHt*&!J?WsdpebvWugaAn8}X-Z@`tZqsZ;> zfs115-}CXV8T%S3SWO>U&!$6nMCTlod$X{huhGn7N0pRAW?f%9BrDBBD=&Wk6^02v zjFck{I$Wfxj7KP7Q2uKagIkD*e#{%Ow5*G&N>=1ktm(S^!{`NgFtDAthK>><;!ks5 z&de)>%G=V5ff7lO?cOElqLwf60A!SO23Cz@iV~24O2Zd;#toi4msezglLOzj38CBEBvbhCeg0@?OwyU{sGy=3sj+35SO)@ zFHzjZBjyX?%b43^(@o&6#%U`BYX=?hO^}TV)49FiNNch7+~y)iXj&p{9acTUvb~U+ z6Zadw!HLAJ3b8Usrl(a3G?oiApujXDhwa;A@s(2@sc1CVP{CbB^mI103Ab1C6{V6A z6(CbgFWXsj`WOJ@Mw1`0`K@F!WQ({1)1IbIRRg&#xZ^!#fb@T{AymM5{HRG2O0hMV zXe~$;JjtqM$Qjo?h*ps~Z%NCpiXfI1IDxf*fVh$u*Mm* zQDv;EJeZ4jmSCotY&8C8gLLvMyDB??aaC#Ie218cfGjr+hRJFhaod?N)g#D!cgdW2 zOsg%)josziVbMBju?fwr&>OyU0B7K3ALnzG9qPSJXefTi#8p+4Pn zG25@h)N&mIZX}xmrYSsE!r-t8GLn64S>ulNZXO@Rz!!}gv>MK55I$jp5=Cp>10qSy z8*7|yq2%0&h~-lW>ttwo4hTL!1-hUDxJ?a*5anL!N@a832Qq~wRXwI_t=1?eaiT7l z|G?C}3AR7>Mg7QrlasnV;trKJ+b=uhc1+CztO4=-r6Em^qT*dP$LS}>v6a)Dy36A^LJq93iu=( z#&m`93WiDUq8F6WekG7P&s3iDwB*a%Pz5Hj6hB^Y*$37-l#y8tfnFm~^y3hP6ksB< zSjmp9)|yu*N}f917{3(%A&dwhLb|YV1x6aVZW_^k@6Mxd2jtP7Y2e~?wf3Wli<8TJ zCEN`E&4CHujn*=W{SI`jU++lfpmAP+{Naf)25ipKqj7@?=;PdiS%~(Cf8HBEemaly zW8V0b2cJ!-Eo1!-a@z<)lu%W6lIJGj;}dqU;h??-FO7mnb3{ZA_g@aUMv4*l=5C~C zP`P*a<~-p>Ar*zetD;d7H?;%nryA*MCEu4WO7NRbxjL4?VZHa_BUA&u!c# z-bQRz-;Jlcz{pqq2Bg`k1Ld5pCL)Pv15?*I7e0x%l||Ipyd zTZQM#b3}!=mbixzki=zmuK@35!e%PtZ#KG)sO`ZsaI?pE!C!0}LDm^V^nvKVth?rD z?Y{=u5wvPyAqYFf+sSp^|MWS`+oIq!0FkZtDmiax$F+mYuj?590b2cC0xU@oX#&C@ zm&{0X43^?joM62}oePnYn#dJX12h7x-Vp`CkzlRpO>icnBGbZu6-Qo$*{e3qor!B? z7llb3S*+_aGjmoG`l0?C=o-_w;z z%I`45!%2eNSwYb7b$Sx)N&R^nnNJpGtKM8=%Bw%)D7gL&vlO$~qx>qyI^z212~1}u z#J|>zPE)C5_DGjfZA}MxP;WNs$^Si6I5h>BhW|>}boUbu?_Sn#C8qS+-_3!?zyNTB zYD)~b(6At^te6SFTg+x}?T~a3h5;PoKR;IX$u(=#9R2>$=CglnvjPLDyT9&i_Cbv!ETHRS!tyjUo5;`{@WUPUr; z8H@L;5@F{)NZ_y=_96kC22x>DSV0vdb5AsiLHOVgLx%W|b{8!Ge(rxBE%B%15)Jf@ z_ym0+{X=E-4K>lJ`yHtDQ@xMfyjugW#nTqHutTnm5*IzfG>1?|qr4&Q%Q`4lfP5tx z0g;fC9%sjey4r3EqmFA1?V@<*wxUncBY=>=aEw)hBuN_u;-s3ax+h=jBZ=`B$(^X4 zvS&H^*FiN7o9Fm~6G=zMoCb-ah&oE8-vTmXr9v66MgNn{pm~%oehz&GD@v(PX`x6u zCApE65&kC_sT(jz!@VgwSEPl4B731TMXhQk2t}m^ov{sV=9Sta(YsJ3wCmA521XTs zNv#Z@;^w7xIE~fWKuVVvTwe8Nk45a~7bL)Lq5JMIzKOwSDpi}e)zD@T`;D4w z5w;Ygf@P0#9nIr3DZBne?!(pL^)NYN_$>C;;lfwiC1#lo(Pkb>FQ@rD2A%p{=Whmt zj}TBCyN#1CzB7rE1r@ViUo4+(arX+eH_8 zWzzv!4Km_jI-Mo)2}ioWiEPe~G2NxjuNetgByE!6uB_%w78Hq`Kd+QJz<@?kW*`dl zYy!y(b>?sB%XjinWtB+QY;#pAY3R%`G8g&)GfEN2Mj)3a={R}SRs8BbJj-L7u3v;1 z-2uYzf{pju2j@nP=Ix@qI#%6wu|xX6dk;i>g`QgpV~~vPUHpSmLP6(9TPY!k3v_zr z&(O+2vIrF=q~10`=pbEh*F|Yg(_p$lCBN{=B3^mVNi)ABQ+uaBQxC|s zwRlJ88+o!I^?RdO?;&Rd?r`Nxy(>!Pkm)J)S#G{PzP)O-R!iTqFe0cxwRmCgaod}? z_W@|Mtiau_qC3}Y8!Izi3PR=>s`6o0JNnO7nSst!A?9l|1ou3NbL=QFBMzU5Y25v& zgtUODW{K9;t->NoDgpbys+B#_Jh7~5scnKho#~j4U zMEs%mSL}^oi`7&W!&i;bLl{-;1HrF~-NR8A%{9pE(z(eZTyJUMZh{A;?wqG3l0APXgNggG$wlea+;)GgO9w;u@SD!P2Isq&Kj!V(*$+OUYWw4{0-ToIz0eDk{1$0s!I5;OB z48KzC9n1d%XGbdv;eclfc#@EVdzPmxU zFG5izx~oxOh7)oW71a~mwYY7D+8pI5f^r7@xQEN9ta=EUuGP{cF~RB(^Oz{)?F6jS z;1G?DpvUK=V)r#6r!5ekTOqX2zS)t|yD5~d!wYKk9U13ssc|q5SYX1*D4k`IP5mAJ zdi(8q{IFfad^e(I9s^UqQUeSwf&;U~+ZAP60V){?#2DaGL&>wlTxaOJPdfnx_8L8R zTlq=vBI6on!{|`ctzm?cfM=CV*}W>e1dr3$B}2q!`NT%Q1QnnQC_)l1<5qH|#386a zlY%sAkU?LJ<#dhT>P3Rgpyve)S-pd0{N*G>H3wE@sRcWWOAUJ=dj;~{fG-GaE%BN{ zU97$-9m)v=pqL-cRkGI@>jUrn8K2H5x!*UHNP269U`@=nBO+L{ zB2^;UWuTVW1X-n<10dm+pkJe}j})A#U^Lh4y_E7UC`#G%)(?2fuHuzkCNf73oyqGR_!D zL}?sv?}m_!>jdujEAksuNL$UP#pGrM%#~@9ow`uw4I6#}7r|#m<H-s={Y-%oLDmQITugyXK8fNSb>cdiFjg3VY+6Yw2X z`J;~x;NN~0V3K&tqYdOAXlF&re}3(ies5N%7)JfcJlsIQl^I#_xeqBZN0@fa63dwzX<=bU=A6(_cS)*_Hd)Ko-4<|YX}_%pg{NRz227Tt)0g}GeSpPdl{@+ z2m~U#$+4$*tv59jjC;6*tw>d#d@Q2Z4I_MA-q`VQLR7d|ZrWNJ%HZXP$EU90xM{?w z_P;_~O@dFNsYZ(+0;9FN8J^Bceeaxg+&w#M}@2u;N4j~ZpG z;<#`XxgFg#NXbx98;lcIyIh+g^`6819^tq|6=ifw3^m}nPy&qE;L;X|f3swq(>8jY z^_aDnTK1%AFHf?7$lX!>+%iDpv}$8R1f(<4=ZL?EH68J)Oeuw(wYMN`H}Yt(1e3A# zg09%nR5D3zz!x8p%$8ULw&CV=b*HJ&v{&uy-%tYjhuZ&UA8Vgjs)pM?n>f6VM-J4I znon!hzP)@!)JIY`zCc;wkB%(2lhjQZ3Kxh~C{MOdaHuF^^n&Y!EV6nV7Fz&7Ktjci zq{<-o;G;n|# z36MT$aA36+*cEQ-I4ofrZszH^k9xID84|>pGs;;ZqPq2QLNvzX7rE?Vs`r`g-YYw& zyRpNki&IAuY6~`h6=2D1h0{mT@gbX7Nj*ZKdYEI#O>m5G{q$KWj=7;M2QmPK(Nf8h zUi`kImMM7-#P3a7%p|y?iuJSv0iTWnVNN%z|EKsxMQZ2eN!|13S(#t#0PTq-b|h!6&G+EO2#S zpoX6)0^fQ7J~cx=bkjyLbcYBg%l%b(SMy$sBi*sIl#)pRVtnz zZfB`FCOYK#@V=3MKE)R)oa*fiA8&}VF3Px&P?eU1hw+9>)h$>_gerx8!-%|q6-Os9 zNDmcN8=kDg(3$D?m`To817??_^ui3k3zuCW5wZk|iLy_Bm>`0~ zfpch0Qf5@sE=xGANE)VTfLtiAzR&7Bk?M{@mo9Je6ra#X=npQIEz$RJgwPBz5 zev|D0+RCX)h(O4EEbx_;*bjeOE%Y$hVVTn7=(LJ#Mx6c%#5So&PD6I1 zAtL<#f$6v<@6&-;E*ANT;dL54_}H%I+e*J=a~=lzH4M9_w} z))v=4ayZRXzV)ZT3ju;a4tb||FxEk|&QVW=Q{OCUS^hnym4(%=Yu1c?H$$@aYrtJl z?TPHe8rW2K39sj|AK$Mve%5XM5=kWLt?ioqxdHE@S;E}))*8#TE3Ct zG8j2kNCVr5RUDhOK0D_LD~;P|gQN<-`odEWxg{-zh1Wgis~-80skSEgdQ(2M7QQ!* za6!n#55(-maO;Eh#7IUwdoKT^csIyKq-@)HJu=0=#A6K+-7>|pmRD$Xt%kvmW<)>b zVki`(Gx4R;$TYTFMMdBjeb!0}aAl<> zp0>=?R^0+Vl%g3r;%Iq#fVzPW#HTj#vL#&J0GSp;Eq2TsX}Y<~IoOHF>)W!u3^uh< zuT7u71FC{%OOg>&K~{eZ!s<12mktS0W4ImXji+rV+sH@BmU{&FK8`l`!EJt6umL-npGy z3=QeI)h&LgPY|PIIQ+L9vQlv4;UmrkGpCbo{TN4BmtCK~5)Gi2IdyuyNIU73$EBJ= zV?T;Vf&fU=LqBCukv;6X6Cx4`{U5VptK~z-h&xkZasL|I7T==VIvb2N(28vXsvR7V zLn;Cm_}sJDe-_SdX0$^`{n}XBFFa$shD^|u0L`J9(=cRM;1xQx z=9{g1L8}rWp{t-c%QkU7JBKB`)`;;bTdQHDR{{qv>9uBYS%4BTIe9(ZQNbvlyEJ|= zRHn?M4@oqMBbJhns6e-SqUP!2CElaNVE-93X*o8wbS1%Od74F_o{hT{L z_!aZGU3{Y&Y(M$t29K>-@lFe{YF-O%jL^!kJW1LN2J2;Im`Bq#k+wKckFlK@Hk@m- zxj9~J*|Ry=e(TZRArLxY!ZOFgKWS&41j8ve`m5O!NOX;(xIUKf73zv$teL)PGIEv* zSOI{+IWv$s1TRX)H}Ds|s(`o_(r(~!X7W~wPnuA$ujpJ~I6SO}1=PHv82YoiL47`R zSZAvHb?u{=Bg1}YyhSV{G{o+RJlCqQPyIrs%PRNx>`7GNvT#f#kx%l3We^4z0keu> z_tVj9&x^9ftAu5Q>zb6Mk^6T5)u<2GW7dS|tY9y?996`OfIOx+4wcg;lio|8RjPJN zps`5FvfNc394PwNUI{@(85#SR~Rp3nRIoW1K-Od8;dTyyP| z$mHHB^nWr*Q$l9zlIjPamEYj^@PV9B@{1b7mV`2XY9La{Mv#W>_q{U>1)hShyuWeV zJa@Ez^Soc+IQZnTOeMXvx|c$)GvoKg>q8Z;fk08lCXi#L-ZQ=FB1ROvj4W=+8Cq5U zJcj!+BKFHRcvmJer*S?K;Ira*t1b_%VjuSltmIg$zQ&l*qq!qV8GtyZ*Cu5bKfEg8 zDn<(aKu}wF~R=oj@i9$o7W&A3N4A_Fc%{YkP+CSUY#Nelgo4#)8YZYs8HI;$N*3|3$ZE` zf=lpnTJ7-o{VD7WQ;t)!E!ateK(IFG`t%Pm^t~SG)p=ADIDfqvUpjWgBkjAm(G%=?yz>E!njDr6i zQI426u*>U_cF|CA|EJfPk+Zlid(_|p33@z85RbZRl0}3UbY!CR3|S*V(!CBRRaA-` zP?0@O^A#k-_FG$EOkH~5%f6y~#C@#9}m0_Aq|Al|Wf+Otk-8m!5R zli&|ZSQUDva63vH_N>wPl8U)?o_*Iss}P927xWkwbO?RG%+Ro*t73O;0~NUnDgdo2 z$;NMG3s2`fa4i#VFp zW-^^pt^Y)O56Ci~a(Y1|%8Yhw>7+D;fRD}!9#8WVm~qE_uhB4i6)$z|)aQQ9=|LLq z9i+@v-|BQbyMUE^0Qr~(LBwOg-4F{MBD>JlW}qR1b!g(F6`k)JE0v$qUM^Hd3i^*B z%;^-8G|iTZgzb-LJ})pYm4S%L6?29F#~2e1p#wO6Ud=U$(~1KNjdE~3P-+gstdXBu z2H&MaRM4zfUp!DPwDQ6G=b>s6n zV1>anInJu6zwr+Y!QN;ZaI7hLlbR69%Pwd6;voN-u2$geu|Wncg(*=Jb6%9}Bq-$`(YlI*9MzyJU;JJ>sz5QhmCB#!XU^~lrg-psHH0XFL$ za|Qm;CJCySfo3-KddleB1L&>egyT(Z1WJBEYJ-RnC4DcM>XrBa06;(*%Q#QsSBpsS zJ)A)xgpEi+!sGtoc#p?cVD2kK%AXKU8i#~wL}YEtSLiINxP^GKBo@q87oo4+Lvi>R z{}svjGYF7*Rhr5mX|g4q7-r0ag+7D3A9`)FQdzGxoLOAz&Yua6l`M-S>-aeb`sPne z;bgGNJV8Xca;A{XrUl;Idu&J?pdJW=nS}eTnT}(7O!6_ndaPYX=yP+`AmEz=G<@WW z^h3GBENtw12T3uObiI|Xds_(WPYL-MWmHt577s6udsWYN-pvI+<<3!d4jVz>a0fdS zV8l}9mbQVFKN6pf)y!kZpc(pVh(UIqf_PAf1F{jX$sMcC8UTUaOGVsqMt+qAPj`5O zbvl|D;WC(x_I9y!rZ4Ufo+!wH`eS^fF;bn(6MXS^Sq-s<8U4iyj-o9;S+Bqn`lX>& z%B~Acb=ZY)X8R{9Ijb$TY2x#{(I%Pqhwc5?N3H00000000000000000000NuGkQ literal 0 HcmV?d00001 diff --git a/ordering_site/src/assets/Tillo.png b/ordering_site/src/assets/Tillo.png new file mode 100644 index 0000000000000000000000000000000000000000..7bdd84cabff706935a2d7b35f0afbb57dff6b8b5 GIT binary patch literal 17582 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 I`2U>$0Zili+5i9m literal 0 HcmV?d00001 diff --git a/ordering_site/src/assets/front.webp b/ordering_site/src/assets/front.webp new file mode 100644 index 0000000000000000000000000000000000000000..964974ab861ba6ffd451d949cffafee3cb7e753f GIT binary patch literal 36770 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 { + const { stockError, clearStockError } = useCart(); + + useEffect(() => { + if (stockError) { + const timer = setTimeout(() => { + clearStockError(); + }, 3000); + return () => clearTimeout(timer); + } + }, [stockError, clearStockError]); + + return ( + + {stockError && ( + +
+ + {stockError} +
+ +
+ )} +
+ ); +}; + +export default StockAlert; diff --git a/ordering_site/src/components/StockConflictModal.tsx b/ordering_site/src/components/StockConflictModal.tsx new file mode 100644 index 00000000..037cfaab --- /dev/null +++ b/ordering_site/src/components/StockConflictModal.tsx @@ -0,0 +1,174 @@ +import React from 'react'; +import { AlertTriangle, Trash2, Edit2, X } from 'lucide-react'; +import { motion } from 'framer-motion'; + +interface StockConflict { + productId: number; + productName: string; + requestedQty: number; + availableQty: number; +} + +interface StockConflictModalProps { + conflicts: StockConflict[]; + onRemoveItem: (productId: number) => void; + onAdjustQuantity: (productId: number, newQty: number) => void; + onClose: () => void; +} + +const StockConflictModal: React.FC = ({ + conflicts, + onRemoveItem, + onAdjustQuantity, + onClose, +}) => { + return ( +
+ {/* Backdrop */} + + + {/* Modal Container */} + +
+
+ +

Stock Issues Detected

+
+ +
+ +

+ Some items in your cart do not have enough stock available to complete the order: +

+ +
+ {conflicts.map((conflict) => ( +
+
+ {conflict.productName} +
+
+ Requested: {conflict.requestedQty} + {conflict.availableQty > 0 ? 'In Stock (Limited)' : 'Out of Stock'} +
+ +
+ {conflict.availableQty > 0 ? ( + + ) : ( +
+ Out of Stock +
+ )} + + +
+
+ ))} +
+ + +
+
+ ); +}; + +export default StockConflictModal; diff --git a/ordering_site/src/contexts/ThemeContext.tsx b/ordering_site/src/contexts/ThemeContext.tsx new file mode 100644 index 00000000..db7622a2 --- /dev/null +++ b/ordering_site/src/contexts/ThemeContext.tsx @@ -0,0 +1,48 @@ +import React, { createContext, useContext, useState, useEffect } from 'react'; + +type Theme = 'light' | 'dark'; + +interface ThemeContextType { + theme: Theme; + toggleTheme: () => void; + setTheme: (theme: Theme) => void; +} + +const ThemeContext = createContext(undefined); + +export const ThemeProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => { + const [theme, setThemeState] = useState(() => { + const savedTheme = localStorage.getItem('theme'); + if (savedTheme === 'light' || savedTheme === 'dark') { + return savedTheme; + } + return 'light'; + }); + + useEffect(() => { + document.documentElement.setAttribute('data-theme', theme); + localStorage.setItem('theme', theme); + }, [theme]); + + const toggleTheme = () => { + setThemeState((prev) => (prev === 'light' ? 'dark' : 'light')); + }; + + const setTheme = (newTheme: Theme) => { + setThemeState(newTheme); + }; + + return ( + + {children} + + ); +}; + +export const useTheme = () => { + const context = useContext(ThemeContext); + if (context === undefined) { + throw new Error('useTheme must be used within a ThemeProvider'); + } + return context; +}; diff --git a/ordering_site/src/firebase.ts b/ordering_site/src/firebase.ts new file mode 100644 index 00000000..14f1e421 --- /dev/null +++ b/ordering_site/src/firebase.ts @@ -0,0 +1,16 @@ +import { initializeApp } from "firebase/app"; +import { getAuth, GoogleAuthProvider } from "firebase/auth"; + +const firebaseConfig = { + apiKey: "AIzaSyDOEiKtH-gs2nAx8Di45wJf8CY5nPm4xPE", + authDomain: "tillo-c8de9.firebaseapp.com", + projectId: "tillo-c8de9", + storageBucket: "tillo-c8de9.firebasestorage.app", + messagingSenderId: "200333262782", + appId: "1:200333262782:web:0d988352ee6a44d7a943ef", + measurementId: "G-YB01EQT2VW" +}; + +const app = initializeApp(firebaseConfig); +export const auth = getAuth(app); +export const googleProvider = new GoogleAuthProvider(); diff --git a/ordering_site/src/pages/NotFoundScreen.tsx b/ordering_site/src/pages/NotFoundScreen.tsx new file mode 100644 index 00000000..6c484ddf --- /dev/null +++ b/ordering_site/src/pages/NotFoundScreen.tsx @@ -0,0 +1,46 @@ +import React from 'react'; +import { useNavigate } from 'react-router-dom'; +import { AlertTriangle, Home } from 'lucide-react'; + +const NotFoundScreen: React.FC = () => { + const navigate = useNavigate(); + + return ( +
+
+ +
+ +

+ Page Not Found +

+ +

+ The page you are looking for doesn't exist or has been moved to another URL. +

+ + +
+ ); +}; + +export default NotFoundScreen; diff --git a/ordering_site/src/pages/PreferencesScreen.tsx b/ordering_site/src/pages/PreferencesScreen.tsx new file mode 100644 index 00000000..6e29ced2 --- /dev/null +++ b/ordering_site/src/pages/PreferencesScreen.tsx @@ -0,0 +1,79 @@ +import React from 'react'; +import Header from '../components/Header'; +import BottomNav from '../components/BottomNav'; +import { useTheme } from '../contexts/ThemeContext'; +import { Moon, Sun, Globe, ChevronRight } from 'lucide-react'; + +const PreferencesScreen: React.FC = () => { + const { theme, toggleTheme } = useTheme(); + + return ( +
+
+
+
+
+
+ {theme === 'dark' ? : } +
+
Dark Mode
+
+ {theme === 'dark' ? 'Enabled' : 'Disabled'} +
+
+
+
+ + {theme === 'dark' ? 'On' : 'Off'} + + +
+
+ +
+
+ +
+
Language
+
Change application language
+
+
+
+ English + +
+
+
+
+ +
+ ); +}; + +export default PreferencesScreen; diff --git a/ordering_site/src/pages/TopUpScreen.css b/ordering_site/src/pages/TopUpScreen.css new file mode 100644 index 00000000..bbea94fd --- /dev/null +++ b/ordering_site/src/pages/TopUpScreen.css @@ -0,0 +1,358 @@ +/* ═══════════════════════════════════════════════ + TopUp Screen — Premium Razorpay Recharge UI + ═══════════════════════════════════════════════ */ + +.topup-page main { + padding-bottom: 40px; +} + +/* ── Back Button ─────────────────────────────── */ +.topup-back-btn { + display: flex; + align-items: center; + gap: 8px; + color: var(--text-mid); + font-weight: 600; + font-size: 0.9rem; + margin-bottom: 20px; + border: none; + background: none; + cursor: pointer; + padding: 4px 0; + transition: color 0.2s; +} + +.topup-back-btn:hover { + color: var(--text-dark); +} + +/* ── Balance Card ────────────────────────────── */ +.topup-balance-card { + background: linear-gradient(135deg, #001828 0%, #4a3e7a 100%); + color: #ffffff; + padding: 24px; + border-radius: 20px; + margin-bottom: 20px; + position: relative; + overflow: hidden; + box-shadow: 0 8px 32px rgba(35, 22, 81, 0.18); +} + +.topup-balance-card::before { + content: ''; + position: absolute; + top: -30px; + right: -30px; + width: 100px; + height: 100px; + border-radius: 50%; + background: rgba(255, 255, 255, 0.06); +} + +.topup-balance-card::after { + content: ''; + position: absolute; + bottom: -20px; + left: -20px; + width: 80px; + height: 80px; + border-radius: 50%; + background: rgba(255, 255, 255, 0.04); +} + +.balance-label { + font-size: 0.8rem; + text-transform: uppercase; + letter-spacing: 0.5px; + opacity: 0.8; + margin-bottom: 8px; +} + +.balance-amount { + font-size: 2rem; + font-weight: 900; + letter-spacing: -0.5px; +} + +/* ── Razorpay Info Banner ────────────────────── */ +.razorpay-info-banner { + display: flex; + align-items: center; + gap: 12px; + padding: 14px 16px; + border-radius: 14px; + background: rgba(var(--primary-rgb), 0.08); + border: 1px solid rgba(var(--primary-rgb), 0.2); + margin-bottom: 20px; +} + +.razorpay-info-banner .banner-icon { + color: var(--primary); + flex-shrink: 0; +} + +.razorpay-info-banner .banner-text { + font-size: 0.85rem; + color: var(--text-mid); + line-height: 1.4; +} + +.razorpay-info-banner .banner-text strong { + color: var(--text-dark); + display: block; + margin-bottom: 2px; +} + +/* ── Form Styles ─────────────────────────────── */ +.topup-form { + display: flex; + flex-direction: column; + gap: 20px; +} + +.topup-form label { + font-size: 0.85rem; + font-weight: 700; + color: var(--text-mid); + margin-bottom: 8px; + display: block; +} + +.amount-input-wrapper { + position: relative; +} + +.amount-input-wrapper .currency-symbol { + position: absolute; + left: 16px; + top: 50%; + transform: translateY(-50%); + font-size: 1.5rem; + font-weight: 800; + color: var(--primary); + pointer-events: none; +} + +.amount-input-wrapper input { + width: 100%; + padding: 16px 16px 16px 40px; + font-size: 1.5rem; + font-weight: 800; + border-radius: 16px; + border: 2px solid var(--border); + background-color: var(--surface); + color: var(--text-dark); + outline: none; + transition: border-color 0.25s, box-shadow 0.25s; + font-family: inherit; +} + +.amount-input-wrapper input:focus { + border-color: var(--primary); + box-shadow: 0 0 0 4px rgba(var(--primary-rgb), 0.1); +} + +.amount-input-wrapper input::placeholder { + color: var(--text-light); + font-weight: 600; +} + +/* ── Quick Presets ────────────────────────────── */ +.presets-label { + font-size: 0.85rem; + font-weight: 700; + color: var(--text-light); + margin-bottom: 10px; + display: block; +} + +.presets-grid { + display: grid; + grid-template-columns: repeat(4, 1fr); + gap: 10px; +} + +.preset-btn { + padding: 12px 6px; + border-radius: 12px; + border: 1.5px solid var(--border); + background-color: var(--surface); + color: var(--text-dark); + font-weight: 700; + font-size: 0.9rem; + cursor: pointer; + transition: all 0.2s ease; + text-align: center; + font-family: inherit; +} + +.preset-btn:hover { + border-color: var(--primary); + transform: translateY(-1px); +} + +.preset-btn.active { + background-color: var(--primary); + color: #ffffff; + border-color: var(--primary); + transform: scale(1.03); + box-shadow: 0 4px 12px rgba(var(--primary-rgb), 0.25); +} + +/* ── Error Message ───────────────────────────── */ +.topup-error { + color: #FF4D4F; + background-color: #FFF1F2; + padding: 12px 16px; + border-radius: 12px; + font-size: 0.85rem; + font-weight: 600; + border: 1px solid #fecaca; + display: flex; + align-items: center; + gap: 8px; + animation: topup-error-shake 0.35s ease; +} + +@keyframes topup-error-shake { + 0%, 100% { transform: translateX(0); } + 20% { transform: translateX(-4px); } + 40% { transform: translateX(4px); } + 60% { transform: translateX(-3px); } + 80% { transform: translateX(2px); } +} + +/* ── Pay Button ──────────────────────────────── */ +.topup-submit-btn { + background-color: var(--primary); + color: #ffffff; + padding: 16px; + border-radius: 16px; + font-weight: 800; + font-size: 1rem; + display: flex; + align-items: center; + justify-content: center; + gap: 8px; + border: none; + cursor: pointer; + transition: opacity 0.2s, transform 0.15s; + margin-top: 10px; + font-family: inherit; + position: relative; + overflow: hidden; +} + +.topup-submit-btn:not(:disabled):hover { + transform: translateY(-1px); + box-shadow: 0 6px 20px rgba(var(--primary-rgb), 0.3); +} + +.topup-submit-btn:not(:disabled):active { + transform: scale(0.98); +} + +.topup-submit-btn:disabled { + opacity: 0.6; + cursor: not-allowed; +} + +.topup-submit-btn.processing { + background: linear-gradient(90deg, var(--primary), color-mix(in srgb, var(--primary) 70%, #000)); +} + +/* ── Shimmer animation for processing state ── */ +.topup-submit-btn.processing::after { + content: ''; + position: absolute; + top: 0; + left: -100%; + width: 100%; + height: 100%; + background: linear-gradient( + 90deg, + transparent 0%, + rgba(255, 255, 255, 0.15) 50%, + transparent 100% + ); + animation: shimmer 1.5s infinite; +} + +@keyframes shimmer { + 0% { left: -100%; } + 100% { left: 100%; } +} + +/* ── Security Footer ─────────────────────────── */ +.topup-security-footer { + display: flex; + align-items: center; + gap: 8px; + color: var(--text-light); + font-size: 0.8rem; + justify-content: center; + margin-top: 24px; +} + +/* ── Success Overlay ─────────────────────────── */ +.topup-success-overlay { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + min-height: 100vh; + padding: 20px; + text-align: center; +} + +.topup-success-icon { + animation: topup-success-pop 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275); + margin-bottom: 24px; +} + +@keyframes topup-success-pop { + 0% { transform: scale(0); opacity: 0; } + 60% { transform: scale(1.2); } + 100% { transform: scale(1); opacity: 1; } +} + +.topup-success-title { + font-size: 1.5rem; + font-weight: 800; + color: var(--text-dark); + margin-bottom: 12px; +} + +.topup-success-amount { + color: var(--text-light); + font-size: 0.95rem; + margin-bottom: 24px; +} + +.topup-success-redirect { + color: var(--primary); + font-weight: 600; + font-size: 0.85rem; + animation: topup-pulse 1.5s ease-in-out infinite; +} + +@keyframes topup-pulse { + 0%, 100% { opacity: 1; } + 50% { opacity: 0.5; } +} + +/* ── Conversion hint ─────────────────────────── */ +.conversion-hint { + display: flex; + align-items: center; + gap: 6px; + font-size: 0.78rem; + color: var(--text-light); + margin-top: 4px; + padding-left: 2px; +} + +.conversion-hint .equals-sign { + color: var(--primary); + font-weight: 700; +} diff --git a/ordering_site/src/pages/TopUpScreen.tsx b/ordering_site/src/pages/TopUpScreen.tsx new file mode 100644 index 00000000..7e5a6d65 --- /dev/null +++ b/ordering_site/src/pages/TopUpScreen.tsx @@ -0,0 +1,195 @@ +import React, { useState } from 'react'; +import { useNavigate } from 'react-router-dom'; +import { ArrowLeft, Wallet, ShieldCheck, CheckCircle, CreditCard, Zap } from 'lucide-react'; +import { useAuth } from '../contexts/AuthContext'; +import Header from '../components/Header'; +import { payAndVerify } from '../utils/razorpay'; +import './TopUpScreen.css'; + +const TopUpScreen: React.FC = () => { + const navigate = useNavigate(); + const { user, refreshUser } = useAuth(); + const [amount, setAmount] = useState(''); + const [isProcessing, setIsProcessing] = useState(false); + const [error, setError] = useState(null); + const [success, setSuccess] = useState(false); + const [creditedAmount, setCreditedAmount] = useState(0); + + const presets = [50, 100, 200, 500]; + + const handleTopUp = async (e: React.FormEvent) => { + e.preventDefault(); + if (!user) return; + + const parsedAmount = parseFloat(amount); + if (isNaN(parsedAmount) || parsedAmount < 50) { + setError('Minimum top up amount is ₹50.'); + return; + } + + if (parsedAmount > 5000) { + setError('Maximum top up limit per transaction is ₹5,000.'); + return; + } + + if (!Number.isInteger(parsedAmount)) { + setError('Please enter a whole number amount (no paise).'); + return; + } + + setIsProcessing(true); + setError(null); + + try { + const result = await payAndVerify({ + purpose: 'WALLET_TOPUP', + amount: parsedAmount + }); + + if (result.success && (result.type === 'WALLET_TOPUP' || result.purpose === 'WALLET_TOPUP')) { + setCreditedAmount(parsedAmount); + setSuccess(true); + await refreshUser(); + setTimeout(() => { + navigate('/wallet'); + }, 2200); + } else { + setError(result.message || 'Payment succeeded but wallet was not credited. Contact support with your payment ID.'); + } + } catch (err: any) { + console.error('Top up error:', err); + if (err?.message === 'Payment cancelled') { + setError('Payment was cancelled. No tokens were added.'); + } else { + setError(err?.message || 'Connection error. Please try again.'); + } + } finally { + setIsProcessing(false); + } + }; + + if (success) { + return ( +
+
+
+ +
+

+ Top Up Successful! +

+

+ 🅡{creditedAmount.toLocaleString()} Ritz tokens have been added to your wallet. +

+
+ Redirecting to your wallet... +
+
+
+ ); + } + + return ( +
+
+ +
+ + + {/* Balance Card */} +
+
+
Current Balance
+ +
+
🅡{(user?.ritzTokenBalance || 0).toLocaleString()}
+
+ + {/* Razorpay Info */} +
+ +
+ Pay securely with Razorpay + UPI, cards & netbanking. Tokens are credited only after payment succeeds. +
+
+ +
+
+ +
+ + { + setAmount(e.target.value); + setError(null); + }} + placeholder="0" + min="50" + max="5000" + step="1" + required + /> +
+ {amount && Number(amount) > 0 && ( +
+ + ₹{Number(amount).toLocaleString()} + = + 🅡{Number(amount).toLocaleString()} Ritz Tokens +
+ )} +
+ +
+ Quick Add Presets +
+ {presets.map((preset) => ( + + ))} +
+
+ + {error && ( +
+ {error} +
+ )} + + +
+ +
+ + Secured by Razorpay · 1 Ritz Token = ₹1.00 +
+
+
+ ); +}; + +export default TopUpScreen; diff --git a/ordering_site/src/pages/WalletScreen.css b/ordering_site/src/pages/WalletScreen.css new file mode 100644 index 00000000..6bbe5968 --- /dev/null +++ b/ordering_site/src/pages/WalletScreen.css @@ -0,0 +1,322 @@ +/* ═══════════════════════════════════════════════ + Wallet Screen — Premium Ritz Wallet UI + ═══════════════════════════════════════════════ */ + +.wallet-page main { + padding: 20px; + padding-bottom: 100px; +} + +/* ── Gradient Balance Card ───────────────────── */ +.wallet-balance-card { + background: linear-gradient(135deg, #001828 0%, #4a3e7a 100%); + color: #ffffff; + padding: 24px; + borderRadius: 24px; + box-shadow: 0 8px 32px rgba(35, 22, 81, 0.15); + margin-bottom: 24px; + position: relative; + overflow: hidden; + border-radius: 24px; +} + +.wallet-balance-card::before { + content: ''; + position: absolute; + top: -40px; + right: -40px; + width: 130px; + height: 130px; + border-radius: 50%; + background: rgba(255, 255, 255, 0.05); + pointer-events: none; +} + +.wallet-balance-card::after { + content: ''; + position: absolute; + bottom: -30px; + left: 30px; + width: 90px; + height: 90px; + border-radius: 50%; + background: rgba(255, 255, 255, 0.03); + pointer-events: none; +} + +.wallet-balance-header { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 16px; +} + +.wallet-balance-label { + font-size: 0.85rem; + text-transform: uppercase; + letter-spacing: 1px; + opacity: 0.8; +} + +.wallet-balance-icon { + opacity: 0.8; +} + +.wallet-balance-display { + display: flex; + align-items: center; + gap: 12px; + margin-bottom: 20px; +} + +.wallet-token-image { + width: 40px; + height: 40px; + object-fit: contain; +} + +.wallet-balance-value { + font-size: 2.5rem; + font-weight: 900; + letter-spacing: -1px; +} + +/* ── Top Up Button (inside balance card) ─────── */ +.wallet-topup-btn { + width: 100%; + background-color: #ffffff; + color: #001828; + padding: 12px; + border-radius: 12px; + font-weight: 700; + font-size: 0.95rem; + display: flex; + align-items: center; + justify-content: center; + gap: 8px; + border: none; + cursor: pointer; + transition: transform 0.2s, box-shadow 0.2s; + font-family: inherit; +} + +.wallet-topup-btn:hover { + transform: translateY(-1px); + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); +} + +.wallet-topup-btn:active { + transform: scale(0.98); +} + +/* ── Coupon Card ─────────────────────────────── */ +.wallet-coupon-card { + background-color: var(--surface); + padding: 20px; + border-radius: 24px; + box-shadow: var(--shadow); + margin-bottom: 24px; + border: 1px solid var(--border); +} + +.wallet-coupon-card h4 { + font-size: 0.95rem; + font-weight: 800; + color: var(--text-dark); + margin-bottom: 8px; + text-transform: uppercase; + letter-spacing: 0.5px; +} + +.wallet-coupon-card p { + font-size: 0.8rem; + color: var(--text-light); + margin-bottom: 16px; +} + +.coupon-form { + display: flex; + flex-direction: column; + gap: 12px; +} + +.coupon-input-row { + display: flex; + gap: 8px; +} + +.coupon-input { + flex: 1; + padding: 12px 16px; + border-radius: 12px; + border: 1px solid var(--border); + background-color: var(--input-bg); + color: var(--text-dark); + font-weight: 600; + font-size: 0.9rem; + outline: none; + text-transform: uppercase; + font-family: inherit; + transition: border-color 0.2s; +} + +.coupon-input:focus { + border-color: var(--primary); +} + +.coupon-apply-btn { + background-color: var(--primary); + color: #ffffff; + padding: 0 20px; + border-radius: 12px; + font-weight: 700; + font-size: 0.9rem; + border: none; + cursor: pointer; + transition: transform 0.1s, opacity 0.2s; + font-family: inherit; +} + +.coupon-apply-btn:disabled { + opacity: 0.6; + cursor: not-allowed; +} + +.coupon-apply-btn:not(:disabled):active { + transform: scale(0.96); +} + +.coupon-status { + padding: 10px 14px; + border-radius: 10px; + font-size: 0.8rem; + font-weight: 600; + animation: coupon-status-slide 0.3s ease; +} + +.coupon-status.success { + background-color: #f0fdf4; + color: #166534; + border: 1px solid #bbf7d0; +} + +.coupon-status.error { + background-color: #fef2f2; + color: #991b1b; + border: 1px solid #fecaca; +} + +@keyframes coupon-status-slide { + from { + opacity: 0; + transform: translateY(-4px); + } + to { + opacity: 1; + transform: translateY(0); + } +} + +/* ── Transactions Section ────────────────────── */ +.wallet-transactions-header { + font-size: 1.1rem; + font-weight: 700; + color: var(--text-dark); + margin-bottom: 16px; +} + +.wallet-transactions-list { + display: flex; + flex-direction: column; + gap: 12px; +} + +.wallet-tx-card { + display: flex; + align-items: center; + justify-content: space-between; + padding: 16px; + background-color: var(--surface); + border-radius: 16px; + box-shadow: var(--shadow); + border: 1px solid var(--border); + transition: transform 0.15s; +} + +.wallet-tx-card:hover { + transform: translateY(-1px); +} + +.wallet-tx-left { + display: flex; + align-items: center; + gap: 12px; +} + +.wallet-tx-icon { + width: 40px; + height: 40px; + border-radius: 12px; + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; +} + +.wallet-tx-icon.credit { + background-color: #E6FFFA; + color: #00B894; +} + +.wallet-tx-icon.debit { + background-color: #FFF1F2; + color: #FF4D4F; +} + +.wallet-tx-description { + font-weight: 700; + color: var(--text-dark); + font-size: 0.95rem; +} + +.wallet-tx-meta { + display: flex; + align-items: center; + gap: 4px; + font-size: 0.75rem; + color: var(--text-light); + margin-top: 2px; +} + +.wallet-tx-ref { + opacity: 0.7; +} + +.wallet-tx-amount { + font-weight: 800; + font-size: 1.05rem; + white-space: nowrap; +} + +.wallet-tx-amount.credit { + color: #00B894; +} + +.wallet-tx-amount.debit { + color: #FF4D4F; +} + +.wallet-empty-state { + text-align: center; + padding: 40px 20px; + background-color: var(--surface); + border-radius: 16px; + color: var(--text-light); + box-shadow: var(--shadow); +} + +.wallet-loading-state { + text-align: center; + padding: 40px; + color: var(--text-light); +} diff --git a/ordering_site/src/pages/WalletScreen.tsx b/ordering_site/src/pages/WalletScreen.tsx new file mode 100644 index 00000000..dc65f21d --- /dev/null +++ b/ordering_site/src/pages/WalletScreen.tsx @@ -0,0 +1,221 @@ +import React, { useState, useEffect } from 'react'; +import { useNavigate } from 'react-router-dom'; +import { Wallet, PlusCircle, ArrowUpRight, ArrowDownLeft, Calendar } from 'lucide-react'; +import { useAuth } from '../contexts/AuthContext'; +import { authHeaders } from '../utils/razorpay'; +import Header from '../components/Header'; +import BottomNav from '../components/BottomNav'; +import tokenImage from '../assets/display_ritz.webp'; +import './WalletScreen.css'; + +interface Transaction { + id: number; + amount: number; + type: 'TOPUP' | 'SPEND' | 'REFUND'; + description: string; + timestamp: string; + referenceId: string; +} + +const WalletScreen: React.FC = () => { + const navigate = useNavigate(); + const { user } = useAuth(); + const [balance, setBalance] = useState(user?.ritzTokenBalance || 0); + const [transactions, setTransactions] = useState([]); + const [isLoading, setIsLoading] = useState(true); + + // Coupon States + const [couponCode, setCouponCode] = useState(''); + const [redeemStatus, setRedeemStatus] = useState<{ type: 'success' | 'error' | null; message: string }>({ type: null, message: '' }); + const [isRedeeming, setIsRedeeming] = useState(false); + + useEffect(() => { + if (user) { + fetchWalletData(); + } + }, [user]); + + const fetchWalletData = async () => { + if (!user) return; + try { + setIsLoading(true); + // Fetch balance + const balanceRes = await fetch(`http://${window.location.hostname}:8080/api/wallet/balance/${user.id}`, { + headers: authHeaders() + }); + if (balanceRes.ok) { + const balanceData = await balanceRes.json(); + setBalance(balanceData.balance || 0); + } + + // Fetch transactions + const txRes = await fetch(`http://${window.location.hostname}:8080/api/wallet/transactions/${user.id}`, { + headers: authHeaders() + }); + if (txRes.ok) { + const txData = await txRes.json(); + setTransactions(txData || []); + } + } catch (error) { + console.error('Error fetching wallet data:', error); + } finally { + setIsLoading(false); + } + }; + + const handleRedeemCoupon = async (e: React.FormEvent) => { + e.preventDefault(); + if (!couponCode.trim()) return; + + try { + setIsRedeeming(true); + setRedeemStatus({ type: null, message: '' }); + + const response = await fetch(`http://${window.location.hostname}:8080/api/coupons/redeem`, { + method: 'POST', + headers: authHeaders(), + body: JSON.stringify({ + code: couponCode.trim(), + userId: user?.id + }) + }); + + const data = await response.json(); + if (response.ok && data.success) { + setRedeemStatus({ + type: 'success', + message: data.message || `Successfully redeemed coupon code!` + }); + setCouponCode(''); + // Refresh balance and transactions + fetchWalletData(); + } else { + setRedeemStatus({ + type: 'error', + message: data.message || 'Failed to redeem coupon.' + }); + } + } catch (error) { + console.error('Error redeeming coupon:', error); + setRedeemStatus({ + type: 'error', + message: 'Something went wrong. Please try again.' + }); + } finally { + setIsRedeeming(false); + } + }; + + return ( +
+
+ +
+ {/* Balance Card */} +
+
+ Ritz Token Balance + +
+ +
+ Ritz Token + + 🅡{balance.toLocaleString()} + +
+ + +
+ + {/* Redeem Coupon Card */} +
+

Redeem Coupon Code

+

Claim promo codes or reward vouchers to instantly credit tokens to your wallet.

+ +
+
+ setCouponCode(e.target.value)} + disabled={isRedeeming} + className="coupon-input" + /> + +
+ + {redeemStatus.type && ( +
+ {redeemStatus.message} +
+ )} +
+
+ + {/* Transactions Section */} +
+

+ Transaction History +

+ + {isLoading ? ( +
+ Loading transactions... +
+ ) : transactions.length === 0 ? ( +
+ No transactions yet. Top up your wallet to get started! +
+ ) : ( +
+ {transactions.map((tx) => { + const isCredit = tx.type === 'TOPUP' || tx.type === 'REFUND'; + return ( +
+
+
+ {isCredit ? : } +
+
+
+ {tx.description || (tx.type === 'TOPUP' ? 'Wallet Top Up' : tx.type === 'REFUND' ? 'Refund' : 'Order Payment')} +
+
+ + {new Date(tx.timestamp).toLocaleString()} + {tx.referenceId && • {tx.referenceId}} +
+
+
+ +
+ {isCredit ? '+' : '-'}🅡{tx.amount.toLocaleString()} +
+
+ ); + })} +
+ )} +
+
+ + +
+ ); +}; + +export default WalletScreen; diff --git a/ordering_site/src/utils/razorpay.ts b/ordering_site/src/utils/razorpay.ts new file mode 100644 index 00000000..1b35349c --- /dev/null +++ b/ordering_site/src/utils/razorpay.ts @@ -0,0 +1,192 @@ +/** + * Razorpay Checkout helpers for the ordering site. + * Secret key never touches the browser — only key_id + order_id from the backend. + */ + +export type RazorpayPrefill = { + name?: string; + email?: string; + contact?: string; +}; + +export type CreatePaymentResponse = { + success: boolean; + paymentSessionId: number; + keyId: string; + razorpayOrderId: string; + amount: number; // paise + amountInr: number; + currency: string; + purpose: string; + name: string; + description: string; + prefill?: RazorpayPrefill; + notes?: Record; + message?: string; + errorType?: string; + conflicts?: unknown[]; +}; + +export type VerifyPaymentResponse = { + success: boolean; + type?: string; + purpose?: string; + status?: string; + orderNumber?: string; + displayOrderId?: string; + newBalance?: number; + message?: string; + creditedAmount?: number; + razorpayPaymentId?: string; +}; + +export type RazorpaySuccessResponse = { + razorpay_order_id: string; + razorpay_payment_id: string; + razorpay_signature: string; +}; + +declare global { + interface Window { + Razorpay?: new (options: Record) => { + open: () => void; + on: (event: string, handler: (response: unknown) => void) => void; + }; + } +} + +const API_HOST = () => `http://${window.location.hostname}:8080`; + +export function authHeaders(): HeadersInit { + const token = localStorage.getItem('token'); + return { + 'Content-Type': 'application/json', + ...(token ? { Authorization: `Bearer ${token}` } : {}), + }; +} + +let razorpayScriptPromise: Promise | null = null; + +export function loadRazorpayScript(): Promise { + if (window.Razorpay) return Promise.resolve(); + if (razorpayScriptPromise) return razorpayScriptPromise; + + razorpayScriptPromise = new Promise((resolve, reject) => { + const existing = document.querySelector('script[data-razorpay="true"]'); + if (existing) { + existing.addEventListener('load', () => resolve()); + existing.addEventListener('error', () => reject(new Error('Failed to load Razorpay SDK'))); + return; + } + const script = document.createElement('script'); + script.src = 'https://checkout.razorpay.com/v1/checkout.js'; + script.async = true; + script.dataset.razorpay = 'true'; + script.onload = () => resolve(); + script.onerror = () => { + razorpayScriptPromise = null; + reject(new Error('Failed to load Razorpay Checkout. Check your network connection.')); + }; + document.body.appendChild(script); + }); + + return razorpayScriptPromise; +} + +export async function createPayment(body: Record): Promise { + const response = await fetch(`${API_HOST()}/api/payments/create`, { + method: 'POST', + headers: authHeaders(), + body: JSON.stringify(body), + }); + const data = await response.json(); + if (!response.ok && data.success !== false) { + throw new Error(data.message || 'Failed to create payment'); + } + return data; +} + +export async function verifyPayment(payload: { + razorpayOrderId: string; + razorpayPaymentId: string; + razorpaySignature: string; +}): Promise { + const response = await fetch(`${API_HOST()}/api/payments/verify`, { + method: 'POST', + headers: authHeaders(), + body: JSON.stringify(payload), + }); + const data = await response.json(); + if (!response.ok || !data.success) { + throw new Error(data.message || 'Payment verification failed'); + } + return data; +} + +/** + * Opens Razorpay Checkout and resolves only after the user completes payment. + * Does NOT place the order — caller must call verifyPayment next. + */ +export async function openRazorpayCheckout( + checkout: CreatePaymentResponse +): Promise { + await loadRazorpayScript(); + const RazorpayCtor = window.Razorpay; + if (!RazorpayCtor) { + throw new Error('Razorpay SDK is not available'); + } + + return new Promise((resolve, reject) => { + const options: Record = { + key: checkout.keyId, + amount: checkout.amount, + currency: checkout.currency || 'INR', + name: checkout.name || 'Tillo Canteen', + description: checkout.description || 'Payment', + order_id: checkout.razorpayOrderId, + prefill: checkout.prefill || {}, + notes: checkout.notes || {}, + theme: { color: '#00B894' }, + modal: { + ondismiss: () => { + reject(new Error('Payment cancelled')); + }, + }, + handler: (response: RazorpaySuccessResponse) => { + resolve(response); + }, + }; + + const rzp = new RazorpayCtor(options); + rzp.on('payment.failed', (resp: unknown) => { + const err = resp as { error?: { description?: string; reason?: string } }; + reject(new Error(err?.error?.description || err?.error?.reason || 'Payment failed')); + }); + rzp.open(); + }); +} + +/** + * Full pay → verify flow used by checkout and wallet top-up. + */ +export async function payAndVerify( + createBody: Record +): Promise { + const created = await createPayment(createBody); + if (!created.success) { + const err = new Error(created.message || 'Could not start payment') as Error & { + errorType?: string; + conflicts?: unknown[]; + }; + err.errorType = created.errorType; + err.conflicts = created.conflicts; + throw err; + } + + const payment = await openRazorpayCheckout(created); + return verifyPayment({ + razorpayOrderId: payment.razorpay_order_id, + razorpayPaymentId: payment.razorpay_payment_id, + razorpaySignature: payment.razorpay_signature, + }); +}