From 888f8d9939be6f557675e76876623c3a03d2bb7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E5=87=AF?= <18937831187@189.cn> Date: Sun, 28 Sep 2025 17:07:09 +0800 Subject: [PATCH] first --- .eslintrc.js | 31 ++++ .gitignore | 14 ++ app.js | 2 + app.json | 57 ++++++ app.wxss | 10 + components/navigation-bar/navigation-bar.js | 102 +++++++++++ components/navigation-bar/navigation-bar.json | 5 + components/navigation-bar/navigation-bar.wxml | 64 +++++++ components/navigation-bar/navigation-bar.wxss | 96 ++++++++++ images/add-active.png | Bin 0 -> 18497 bytes images/add.png | Bin 0 -> 21600 bytes images/history-active.png | Bin 0 -> 10301 bytes images/history.png | Bin 0 -> 8366 bytes images/home-active.png | Bin 0 -> 19771 bytes images/home.png | Bin 0 -> 22415 bytes pages/detail/detail.js | 107 +++++++++++ pages/detail/detail.json | 3 + pages/detail/detail.wxml | 82 +++++++++ pages/detail/detail.wxss | 1 + pages/history/history.js | 129 +++++++++++++ pages/history/history.json | 3 + pages/history/history.wxml | 90 +++++++++ pages/history/history.wxss | 1 + pages/index/index.js | 82 +++++++++ pages/index/index.json | 5 + pages/index/index.wxml | 12 ++ pages/index/index.wxss | 34 ++++ pages/index2/index2.js | 83 +++++++++ pages/index2/index2.json | 5 + pages/index2/index2.wxml | 15 ++ pages/index2/index2.wxss | 31 ++++ pages/record/record.js | 172 ++++++++++++++++++ pages/record/record.json | 3 + pages/record/record.wxml | 114 ++++++++++++ pages/record/record.wxss | 148 +++++++++++++++ project.config.json | 29 +++ project.private.config.json | 7 + sitemap.json | 7 + 38 files changed, 1544 insertions(+) create mode 100644 .eslintrc.js create mode 100644 .gitignore create mode 100644 app.js create mode 100644 app.json create mode 100644 app.wxss create mode 100644 components/navigation-bar/navigation-bar.js create mode 100644 components/navigation-bar/navigation-bar.json create mode 100644 components/navigation-bar/navigation-bar.wxml create mode 100644 components/navigation-bar/navigation-bar.wxss create mode 100644 images/add-active.png create mode 100644 images/add.png create mode 100644 images/history-active.png create mode 100644 images/history.png create mode 100644 images/home-active.png create mode 100644 images/home.png create mode 100644 pages/detail/detail.js create mode 100644 pages/detail/detail.json create mode 100644 pages/detail/detail.wxml create mode 100644 pages/detail/detail.wxss create mode 100644 pages/history/history.js create mode 100644 pages/history/history.json create mode 100644 pages/history/history.wxml create mode 100644 pages/history/history.wxss create mode 100644 pages/index/index.js create mode 100644 pages/index/index.json create mode 100644 pages/index/index.wxml create mode 100644 pages/index/index.wxss create mode 100644 pages/index2/index2.js create mode 100644 pages/index2/index2.json create mode 100644 pages/index2/index2.wxml create mode 100644 pages/index2/index2.wxss create mode 100644 pages/record/record.js create mode 100644 pages/record/record.json create mode 100644 pages/record/record.wxml create mode 100644 pages/record/record.wxss create mode 100644 project.config.json create mode 100644 project.private.config.json create mode 100644 sitemap.json diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..115cc02 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,31 @@ +/* + * Eslint config file + * Documentation: https://eslint.org/docs/user-guide/configuring/ + * Install the Eslint extension before using this feature. + */ +module.exports = { + env: { + es6: true, + browser: true, + node: true, + }, + ecmaFeatures: { + modules: true, + }, + parserOptions: { + ecmaVersion: 2018, + sourceType: 'module', + }, + globals: { + wx: true, + App: true, + Page: true, + getCurrentPages: true, + getApp: true, + Component: true, + requirePlugin: true, + requireMiniProgram: true, + }, + // extends: 'eslint:recommended', + rules: {}, +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..14ea590 --- /dev/null +++ b/.gitignore @@ -0,0 +1,14 @@ +# Windows +[Dd]esktop.ini +Thumbs.db +$RECYCLE.BIN/ + +# macOS +.DS_Store +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes + +# Node.js +node_modules/ diff --git a/app.js b/app.js new file mode 100644 index 0000000..4af33be --- /dev/null +++ b/app.js @@ -0,0 +1,2 @@ +// app.js +App({}) diff --git a/app.json b/app.json new file mode 100644 index 0000000..2207ca5 --- /dev/null +++ b/app.json @@ -0,0 +1,57 @@ +{ + "pages": [ + "pages/index/index", + "pages/index2/index2", + "pages/record/record", + "pages/detail/detail", + "pages/history/history" + ], + "window": { + "backgroundTextStyle": "light", + "navigationBarBackgroundColor": "#4a6fa5", + "navigationBarTitleText": "梦境日记", + "navigationBarTextStyle": "white" + }, + "tabBar": { + "color": "#7A7E83", + "selectedColor": "#4a6fa5", + "borderStyle": "black", + "list": [ + { + "pagePath": "pages/index/index", + "text": "首页", + "iconPath": "images/home.png", + "selectedIconPath": "images/home-active.png" + }, + { + "pagePath": "pages/index2/index2", + "text": "首页2", + "iconPath": "images/home.png", + "selectedIconPath": "images/home-active.png" + }, + { + "pagePath": "pages/record/record", + "text": "记录", + "iconPath": "images/add.png", + "selectedIconPath": "images/add-active.png" + }, + { + "pagePath": "pages/history/history", + "text": "历史", + "iconPath": "images/history.png", + "selectedIconPath": "images/history-active.png" + } + ] + }, + "style": "v2", + "sitemapLocation": "sitemap.json", + "permission": { + "scope.userLocation": { + "desc": "用于加载本地视频资源" + } + }, + "networkTimeout": { + "downloadFile": 10000 + }, + "lazyCodeLoading": "requiredComponents" +} diff --git a/app.wxss b/app.wxss new file mode 100644 index 0000000..06c6fc9 --- /dev/null +++ b/app.wxss @@ -0,0 +1,10 @@ +/**app.wxss**/ +.container { + height: 100%; + display: flex; + flex-direction: column; + align-items: center; + justify-content: space-between; + padding: 200rpx 0; + box-sizing: border-box; +} diff --git a/components/navigation-bar/navigation-bar.js b/components/navigation-bar/navigation-bar.js new file mode 100644 index 0000000..eb1770e --- /dev/null +++ b/components/navigation-bar/navigation-bar.js @@ -0,0 +1,102 @@ +Component({ + options: { + multipleSlots: true // 在组件定义时的选项中启用多slot支持 + }, + /** + * 组件的属性列表 + */ + properties: { + extClass: { + type: String, + value: '' + }, + title: { + type: String, + value: '' + }, + background: { + type: String, + value: '' + }, + color: { + type: String, + value: '' + }, + back: { + type: Boolean, + value: true + }, + loading: { + type: Boolean, + value: false + }, + homeButton: { + type: Boolean, + value: false, + }, + animated: { + // 显示隐藏的时候opacity动画效果 + type: Boolean, + value: true + }, + show: { + // 显示隐藏导航,隐藏的时候navigation-bar的高度占位还在 + type: Boolean, + value: true, + observer: '_showChange' + }, + // back为true的时候,返回的页面深度 + delta: { + type: Number, + value: 1 + }, + }, + /** + * 组件的初始数据 + */ + data: { + displayStyle: '' + }, + lifetimes: { + attached() { + const rect = wx.getMenuButtonBoundingClientRect() + const platform = (wx.getDeviceInfo() || wx.getSystemInfoSync()).platform + const isAndroid = platform === 'android' + const isDevtools = platform === 'devtools' + const { windowWidth, safeArea: { top = 0, bottom = 0 } = {} } = wx.getWindowInfo() || wx.getSystemInfoSync() + this.setData({ + ios: !isAndroid, + innerPaddingRight: `padding-right: ${windowWidth - rect.left}px`, + leftWidth: `width: ${windowWidth - rect.left}px`, + safeAreaTop: isDevtools || isAndroid ? `height: calc(var(--height) + ${top}px); padding-top: ${top}px` : `` + }) + }, + }, + /** + * 组件的方法列表 + */ + methods: { + _showChange(show) { + const animated = this.data.animated + let displayStyle = '' + if (animated) { + displayStyle = `opacity: ${show ? '1' : '0' + };transition:opacity 0.5s;` + } else { + displayStyle = `display: ${show ? '' : 'none'}` + } + this.setData({ + displayStyle + }) + }, + back() { + const data = this.data + if (data.delta) { + wx.navigateBack({ + delta: data.delta + }) + } + this.triggerEvent('back', { delta: data.delta }, {}) + } + }, +}) diff --git a/components/navigation-bar/navigation-bar.json b/components/navigation-bar/navigation-bar.json new file mode 100644 index 0000000..4a20f17 --- /dev/null +++ b/components/navigation-bar/navigation-bar.json @@ -0,0 +1,5 @@ +{ + "component": true, + "styleIsolation": "apply-shared", + "usingComponents": {} +} \ No newline at end of file diff --git a/components/navigation-bar/navigation-bar.wxml b/components/navigation-bar/navigation-bar.wxml new file mode 100644 index 0000000..be9a663 --- /dev/null +++ b/components/navigation-bar/navigation-bar.wxml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{title}} + + + + + + + + + + + + diff --git a/components/navigation-bar/navigation-bar.wxss b/components/navigation-bar/navigation-bar.wxss new file mode 100644 index 0000000..8bd379e --- /dev/null +++ b/components/navigation-bar/navigation-bar.wxss @@ -0,0 +1,96 @@ +.weui-navigation-bar { + --weui-FG-0:rgba(0,0,0,.9); + --height: 44px; + --left: 16px; +} +.weui-navigation-bar .android { + --height: 48px; +} + +.weui-navigation-bar { + overflow: hidden; + color: var(--weui-FG-0); + flex: none; +} + +.weui-navigation-bar__inner { + position: relative; + top: 0; + left: 0; + height: calc(var(--height) + env(safe-area-inset-top)); + display: flex; + flex-direction: row; + align-items: center; + justify-content: center; + padding-top: env(safe-area-inset-top); + width: 100%; + box-sizing: border-box; +} + +.weui-navigation-bar__left { + position: relative; + padding-left: var(--left); + display: flex; + flex-direction: row; + align-items: flex-start; + height: 100%; + box-sizing: border-box; +} + +.weui-navigation-bar__btn_goback_wrapper { + padding: 11px 18px 11px 16px; + margin: -11px -18px -11px -16px; +} + +.weui-navigation-bar__btn_goback_wrapper.weui-active { + opacity: 0.5; +} + +.weui-navigation-bar__btn_goback { + font-size: 12px; + width: 12px; + height: 24px; + -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='24' viewBox='0 0 12 24'%3E %3Cpath fill-opacity='.9' fill-rule='evenodd' d='M10 19.438L8.955 20.5l-7.666-7.79a1.02 1.02 0 0 1 0-1.42L8.955 3.5 10 4.563 2.682 12 10 19.438z'/%3E%3C/svg%3E") no-repeat 50% 50%; + mask: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='24' viewBox='0 0 12 24'%3E %3Cpath fill-opacity='.9' fill-rule='evenodd' d='M10 19.438L8.955 20.5l-7.666-7.79a1.02 1.02 0 0 1 0-1.42L8.955 3.5 10 4.563 2.682 12 10 19.438z'/%3E%3C/svg%3E") no-repeat 50% 50%; + -webkit-mask-size: cover; + mask-size: cover; + background-color: var(--weui-FG-0); +} + +.weui-navigation-bar__center { + font-size: 17px; + text-align: center; + position: relative; + display: flex; + flex-direction: row; + align-items: center; + justify-content: center; + font-weight: bold; + flex: 1; + height: 100%; +} + +.weui-navigation-bar__loading { + margin-right: 4px; + align-items: center; +} + +.weui-loading { + font-size: 16px; + width: 16px; + height: 16px; + display: block; + background: transparent url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='80px' height='80px' viewBox='0 0 80 80' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Ctitle%3Eloading%3C/title%3E%3Cdefs%3E%3ClinearGradient x1='94.0869141%25' y1='0%25' x2='94.0869141%25' y2='90.559082%25' id='linearGradient-1'%3E%3Cstop stop-color='%23606060' stop-opacity='0' offset='0%25'%3E%3C/stop%3E%3Cstop stop-color='%23606060' stop-opacity='0.3' offset='100%25'%3E%3C/stop%3E%3C/linearGradient%3E%3ClinearGradient x1='100%25' y1='8.67370605%25' x2='100%25' y2='90.6286621%25' id='linearGradient-2'%3E%3Cstop stop-color='%23606060' offset='0%25'%3E%3C/stop%3E%3Cstop stop-color='%23606060' stop-opacity='0.3' offset='100%25'%3E%3C/stop%3E%3C/linearGradient%3E%3C/defs%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' opacity='0.9'%3E%3Cg%3E%3Cpath d='M40,0 C62.09139,0 80,17.90861 80,40 C80,62.09139 62.09139,80 40,80 L40,73 C58.2253967,73 73,58.2253967 73,40 C73,21.7746033 58.2253967,7 40,7 L40,0 Z' fill='url(%23linearGradient-1)'%3E%3C/path%3E%3Cpath d='M40,0 L40,7 C21.7746033,7 7,21.7746033 7,40 C7,58.2253967 21.7746033,73 40,73 L40,80 C17.90861,80 0,62.09139 0,40 C0,17.90861 17.90861,0 40,0 Z' fill='url(%23linearGradient-2)'%3E%3C/path%3E%3Ccircle id='Oval' fill='%23606060' cx='40.5' cy='3.5' r='3.5'%3E%3C/circle%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A") no-repeat; + background-size: 100%; + margin-left: 0; + animation: loading linear infinite 1s; +} + +@keyframes loading { + from { + transform: rotate(0); + } + to { + transform: rotate(360deg); + } +} diff --git a/images/add-active.png b/images/add-active.png new file mode 100644 index 0000000000000000000000000000000000000000..ad5e33882558557c0becce5123816207c2ecfe8a GIT binary patch literal 18497 zcmb50Wm6pA(}ovcoW%+58r)qLhu{H%26uONcXto&1oz;<-CdTT!5#kj)$<9S7pKpQ znd+K4)75oX-`7l}@)v1Tq)$iy003212CVvTulcuXfzbcrxb~-xe;cBMjJ7iXfHwHw zf=XpXBLo1*0J2~)b&s60ZtZ&0WlxfObnBY#2ZD>4Rze{F8M!hU01beUh)tgqB%`8A zmukEELvB^W?X2s7-t)ISL+bD1n*-XB)bteWkwhFxIbB?#6sl|{wKOJeY+45Z8)twW z=gdIvRDF2!(#MDA3M8k;_hm~e7^Z`Mv+m0#|3i-Ny|#Is{l{rOUg;Qj4gfIgMMgo9 zl^IcPb@o>u{k%57W03a+550TwgK&Ypo;e~{Nuou=-fBv{W=3G016Nw0SidF z*N;D|b)Z7Oa43nN2@{7RRP8&f-xRsFc)Myt^|KI#0f+)Pbb3M}@MlOpUnd7H&{u+n zd8C^$;74LPq{I2j38;h58jU7b!mr=zCv?EyUmeznntD-`s!G zT5fdJ`dt68S{KvATO>uFi(4%ScBB+G1%QT+pQJfsut+wH+tLDMyW=DIv94uN{Cnx% zt5c*_&Ee-^^~5D-NH=}jNoPHk9F{Yt;QeMi6F50RrT$IYud;5GN~tCeGqBk>9Tmz* zjYiM2G9mwEJJyQ!%))Lf1U5Y574OOS7xpV}&^6$)(n>1B(+rrn*=(Mmhb6o2k{Cyw zp)OO|IzQ)5?umrW53H`Bvt!oFu-~n6e=D$wT6!O~npg60h*$a9$YYkJ*-QF+dp*E0 zTaG0|S31{-dqHlM7FzU41=leD?+(cT0>R}d-jdYzAqV8a;%m>+E?SH6E^NVXpn~WI zMfnNcTX}}Vui#e1)kXwWQE-l09G$*y@MzO~ucz0eH(@13blRBSOeljyi z3)Tdm*AP-Fm+eq4{c&y7aS5}_!m6C)8kicJ*{tJ)87ADho$C(Q>O$- znSjZ%3w<4BQle{?_}Ea7M&Xdt{tgj#emEF$;uts-I?^(Vw`%XnKXvA3#)%Lvb)z3G zfVI@s``$#=JpVlnYIki}{|wZp0KifKIV$|o&@L)osOw~C_5HI?Yfs?x6^wIAsV|HK z!uQP~uFNC%y5@mFa&4?EdTn|^*g4V|SXx03od&BmNqDQ007OT{sDzTMiqE0yM$3w& zcg?FMNeADBY4BlEoIAcAoMofCUG>W2W$X)26~w|+gcTanL=?RvoNT-OcP`ZdfH1=X zpqwZyifCu3jY|Woep!+2>1J;CTj`bTtJzbQoxRHwXC05SWls0VHZ*R;~`)N zRSSgA{#FpRg^0dIQ%_DtS4e;l_*5Sxv8=3rQxGyI*R*~yZ4674n7?Rg%&H~-wk4vZD zV7Z8}P^bVToon2^qUlQVj7;ViJ12kZU8`n&EthXDp2DAIS1Kz8+vWGMtA`JAvRyW9 zyyq0HFti@XWm}_N*^u;*RZHTmxNXRX+vg|BIe0A4<8|8hP<~ThPeT&B!sfJFp^^kB>bw1 zyxIQ61H;Z`Ue@X}27GJ$@URZ&8O{CL+QI&CZ)q{d;@@vMVf^+nOHOBTUBH+5vHDNy zg$X&}kjzXOjZ1c>JL72>a|>XU84w6xWMO7xghj>)i6H>Y03~H7$ScICIK_>I148f< z_|EAlGB~J25%2*Zj4E!#KRJUKD>IplF(BW$r~YB5Dq1%MQhlJ`x1alQoM?9HjdpC{ zk2S;dSWTMwg(;Ou<3gmdBeYu7*U@VO`&X8R9D-$MO$Qz($>a^H{=z&r+bAMIqy{Jq z3X1#g)Q_mY0g|yQk$nnH1$5+mZi6I!V6o(k%tEu_iBDN*1gwM%UU0Oqa%4yv&}0Kt z$0$UA3}}GNAyhM~mAXNRm5i#?~|6mF(;KhqQvPrZP&@HN!@F8vkiux7kXkXjqQbo+{{G>DC>e5#phe-e|*=* z5zeTH((-rTfP2UM+t--MhM8y{UJzlS@M0Kq075n%B~U=ZHC|o!lCJe33g>02Vc>Fr zS(CBiM?(tEkap$B<0@XQt|XKJwZH`(LU%&<6J)hn&>_XxSB#s;d2ZCuieF|a?%F%w zt@8=H7r(QF-`;F}P<2>Wzl@saup~Y(g(a9vUa-gAunJ^3?mNLlcJa~K8>h9MqXreg zF(JSZmvsG5Qg0GKvc(r8YAc928(mUbqbdUKakC_#59XpM zcmRbzElF1ZX4YJq@Z;3Q%hmke-ShV8k0t7Ljb99 z9csDFq0=J?EW@J{eMHWxi{Dk?A)pzBiz9~jl^ao+Pz9)=81+Ug2pK$H)3!*j=Nm2Q zmj7d6o8Pw$vcPfC6$N!__e#SU@M!g_EYUPXj!9upyy$l&YB>O~*N&W?^=Q7{gursy zd)hqKeooKz!sX&;Nw!f+LF9_?i5(Ah5_G4{;7{pZH<@Md<$9T$I{4?DNhAsWXmiHO znT`1i@u$u=khiS4*%;B3d>DA7;-f0p1k5B`Ym5Nsf9k~67P%KZ77a;U$ritGg5Q}n z^su^xK+qYy9w8zS_{gc;J)o~rInDvb8=PxY0W$dzvT>{w#7 zw)EUNyoXJ-*6R7chVuCB&DHj{bZ2;nZ1L+}css6Rph6W)dKWWycePxdhWY!LzVuG+ z_cn2Pkqb||a7Q2?p>$(WHJ`a)9w<0l#jzQmvQ^Djm}9llZtWR`3@R>^(nz2T+ zQ2;G(OwpDu)M1tys@e(HMsH0n<=3*k@zk-YlMWB->mWqbdLX9XfyTdwD`m&!3+G z8$8wS>54lbmTqPKU_jh4+@g2V(dZ{zbzVFYsVrkrc=!;L6(OW)KVO=A@|qGtn9c%*T86t zEti8eL1t^C_r6e^zV(5|IP&B1An7o4hUS-FHu+1TU8(cc=KeCN-!#^=(BBJtgT2)| zuZ(Ut$+MhCJq(5u@pcO-5>~X1ultO_&L8D|=dmp>b$U;KEXd<>NGHQkf9QO9@r8hh z9_AaPXztF4uqdM#vMA;Y4^Q6@`^o8eBHJvG*kREdk`UKDXt@TP9t5vnNAi8n6A?yo zS&lX*%vITpe-4qz0|15vZ(kTih{l#Pif3UAK8`~*N&No87ZI$fstYDf~uS zBXcYby#d7O2lR_<<##Pj_z^s63jWYqRz{^$I2Z=}CjIRZCqYX9HxctZYVwuiV7-e- zghY_FNts*w5*Nb>op`#*!gKgy7&5QHC?~aO5XuQU$Oz4=g9Z|^|m+hZfJGNUvjaI zl{!KbhJU+=dOPK3PM|&}liu3n*KjZ00=g;y0I3nkiUlgqBzo_QheG#?Y+X`cm(V$N zVz!C;v(QqveKo@)^71}r93MkFW^le z=*ws|;;Rh6XU$$}sOn>~9d5Ti((@5rviCXGGw?cUKpsHu zvd5}VitRpAV=(hH{(6ziAf=7{!i#mA1h}g0W^fOzSYIyMSV;VyceLpgZruJvD(rl5 z^1No=dyPjt(fW8R5C1`VK4CYry?>HR>|nYZuwBJo}?3NSM%Axm?rE&QD0?&3l4bTul%+T>Qkn{TIh@ISD@!>7}G+j6Sj+_5t;B=R}7b?~Pkl4DJUm0aZS0jIs6mYN(n-O^yo4dY} zfXxa7u|`_1yV6s4#3DT83jUpu`dp|xeQtvRX^ayr+?@S(%uH$T`=CbZeUbT~X?x$a z3>k1T(*Xy;N3_Je!j!{=o)K48R9c!*Q9v(L8x4+kBdN#$0~NG63O}&|=rSnC3hB$O zc9kb#>(Mva$Pf#}2usN+gN)Tv`4eCYG7!uQGJ9(c9)JHh&&~ZXV}0i9absJy{);6} zK*;+e6mG+v-Nu9Q#SG)h>~Zb+@YQW;D-+kvkY%s=GzTzAxU$OaS(b99}eA#>5;2vKMYl|hZN)zIc)Bo8OlH&}P z>e}eb&XDbYK9@u72e1c1n*{MOz+e`r(FJy45M~%ghXtS*hJ*pEqRb4-YTA|*OB_yz zX1LgXgoM_KyZT-}FMlki|4q$(@O?MWf-d#H-@|=QH)*l7z!9Sv-HVCP9pMkhw{ykr ztvG(}F~K^1emLGj^ZLC?O8z$oFa zV@G}erQ1^BsH||1S~lhXFs~H*E5U7FLBO?Vf($GNJCbr85fOxlkJ0$hje?P={T&=( z7V*iMdtBC}E?ZWEDWvIBBISS|XflpqcEUkBc43|522=YC`;lfm$HbPmmPP+*?egtq z?8kYT@YVZWzW4U~q8Vjsy2x!F%lV|pL-Vo}Ob%@%A7KOS7vR{fU9o7Z=!@+i^w4Gu z`-Vu6;}c5_ngqB$RB+U=V2`O&;X?R8EOpIyP*kFf%}Ot5;09vwcz_T-ywp4oin!6h zj#y)DBJw5=?L$cbJ}Yo>VM%iRJR8##Mv0ok^1dXVvt#S|Htlt9l3I?dQ4Ai-{H;0> zfr0ZJBCQJUqaUMr6s%!uo3|$HWa+-I@qfr?*6X@GVDWiAdm+8@R*Yq}i>`_6y&j|e zczm7;ubT==dg#YUlH-=-++OQ{8`_==<)2FQc@&gFjtoK??~NE84f|v)7ef8=5{HmE z#~)Y5hd}d1ruKEXEI$H5Lj1*O5_6>i@H3MyWXGMnhS(Uj(cP@HGAlU}cXWV4-Slb3 zV;0j|MCnPl@?TGC9vYLhGO~mH-{4X$F_(k)o$tjn&lK5h5&@xP1HUX zYGmv~AQu)rQUOksqAm><157dFI}$t^I-aH{75XbIo%ACTvi&kOIjk6lTcmN5gMtb2 zqzI!hZz_hl=A+RttuJ&h7Hil4T2|RlhmAN0rE+OBJj68_+FV33N^YmM5}-QSD3{{n z*dwycnJS2<0S^T>!d^ePUi0z)*&y86@s{87H~eL}R^*CgS5b-=T*dO2HTY$!{Abl+>o;c)5k$%`?Xu894q?KHgdi0R@LkWo z*ys>fo~^pDu99b$=asP%nx{mv7o2#j4g&}$vy?0)D_p1R8_^_;l1-SYL)r4uRLrt; zKtG^kgZ9tuSa?woIE<_$0W1oh1P9_1RY|+N=Jki>wzMyt9oFVWLqlaTD6eytP38FQ z&!yIVoU%;WoeADYqUXQ#VJUurNfu;|vZ0g(S;0W6cKv=`NpHLF59Q9@5oTvw7do&` zE5@Pznq3WZ9|Vmx*po=>HGFq0iC~2S5hPY#ecVPWZE8Lt^yE&36ArAR=)Rv!zum^t zZkJi|&wb4V^b_*K0d4>`g6>Q01b^E+Su_VFp6+YQH*KCOnkNx(KOL?B! zZI6RuC6V_9?*>bxR2kniRzyBFSy$sbmt$RFRJ@~t}zsvcZ>ndexU1Cs9KZ)RPVxnLZD>u@gM+Mb6`qe9HeM(CPpHK^JzpZeO#ihPUX@ zr`-0`G%4Yf4JW%;8C$>o*sOcoO=s!3S}P{?`w+qI%h zeoeaSPD%KA>kW_j;}72Z&fcLW>Bk>*q1Ov{KItRRTKdH5jTOeGp8WW^tgPRRmwxFv z!p-v+muHs~)cXa7X38)c++@erEGWk-3j3Yvn3rdYBkRv)8}5P;0LkSqt=#(l*PCg| zIjT#hnEfD!L3--zDLz`gPLe41+-?Uu&R;eO8eq7|HlEhRZLe}m0axmmX0S4k^SP5) z6Jh7H-){7D@6|~ty71FrnP25!=1T?XD7s9%_M&h|-$cY(?SR?aYb?4DKcH)N(rlU5 z85?jsKQTE$MF33L{hkY%bRAoKzyyIdi4Z;&-I?=FDY=SV1IQ$3HS_$WNn+|F35wIW zZQ?&4-5n4k0P1t3&Zg?@^BCmO0ceYf{OnRXE7SMBgSn}QI1(+jk%V|t{+F@K?^hr9 zN-h6-ZFK(26T0s~u>G07l7*?Zo1(z2WPx!sBIPjZRnIs7yDR5!C<)PK{NBD0soW;a zM)!zvBorBNYt(HvRa>&H2lfXplsgRc88Lm;2>HJwb11hw-yl>H;xE?$bASk)WJbOi zMy>LttBx?B+voC$=o`a~X#->I^m$=mz-^zW?n|}Yhq`K=Rlb%@`<$*%zukP?@UR&8 z-I@FCW*WRz#EX2be(A8*eh9KSM3p(v`kpr$n-t-4UQshfd0Aa=A=;7B3c2C0A|q#| zBxlcvWD+9eiS6e3ljWY{=Rn8-Ow_#T@p|}IU^0JVAB0uVd9-v8GIAj)dsok5+>?9= zdkDj)=EK%gec%K{JjtpPKskEb?n82R#t9#eF#N}_!>Zo9?B18_R)a_D{EyV>_t)v5 zL)TDrU5_#~TO-X7c5~U*OouAu^Xf`RJI5nWPXFtMv>;YqQnz)lvb^a|x&ScRf+!$% z%jI)hF^z|)NFR@E*Tp}b1?cd3yBcvoY8T)BCQ$uKH962Q_NlPiC}v>y@9Uo?xPYM$ zlK`-p&9Ic=455LMm*x+lRtj;Fx|;6i>mMKcJnySj>9w!1y-(KDKG$k@_ZOzQX~9M? zn;q9**#>F&sXqTYU-A*5{t>b|GhA(!L&_^qG3qJDP;*jkZDyM-**A(ZyQ7>p+V3g& zMM*Fs_!(-080UfjJq8w)jFJ$s!f1-br&x3AZe@#)PON%2*OgD8>J+4Mfi2cQ5d$?Q z3Lad*xW92Jc8W(`UZRdH)m7#;gcF4}D(IP;00aQWs?p`ijo>ZD_>Yk($TJ!;DA7gP z%to}}=j^!G1Yb5U^9{Xg@B9BRGyK&>LOT5%H8t1YL0?s)UtZAc&~v7`u|V8@EQ}@}hjWofR=D}#1$7Q>8g)9h4EoKy^y`+u7yt%_tL1!CMv-e7 z_k=g65ge-=eCenRaNLi=tUFE-9B{0@T=^X*N_eD|Wsi^Q1AU88w6v1u1i-KZ9e_$? zs1`zCJ(84*$|D8;vs-}JUifb=B<~~L;ISLh`><*7cxEpAuY%oe1-|LnuVoPAKtoZ? zht)AqcTe&KMo2{?0Lsl+*}=Hhtx}(mXiF=%yeTSAz5LlNoyBPk#lfHkro0ut)^ac} zf16jCH*tJ_;lM?%K|2o|A{Iji$Vg@hq`;ChrVBqHJiwU*B??H9Yz1+03`vS*X2tgB zlGNc$719|QG>;aH=o5)Uv#P_vOw2_iNkk~3Oe_ula&GEH|JNyUJueo=d+$D8r&{yg zhPPh?{9lYo-yAqrX#r!yLu8rlHsEp~C!E1>eNEwyru_H8i#uzer?YXf9lsd@APhNGpDDgw@bH)0l-zHx@st&-zUX28 zDWI}bCH&o=`BRoIh8^5H_faGUqxlsiXid|aUt zgN4O_Vo-fhZWaaV_OZ^|;;N<+D)u=6s7%EGK=oHxfQG5)h+R`9P+>9#1B83WFAe(s zU5TR=uza#Q<-?vkQ6xL!;L4xLUqFX`eH3ct``mr`HopD7sj2VtXW8$t&i|isnZCb| zD#AxwdU$xqMUFX&P?ty?GrEnlZ zfP);=1vbK&>T{wMU_BDt4Mnv{dF2Vvo=esu(}GGGDQv&o&=A2X?V?bS3`@lx9AS|G z1<-T1LXGrQ_|1@p@JU@3iro?*$6zQ5u8gt*a{?uCx+0QvsERR@jz4S5Rmm@jj78Kb z-7_n?>r4g>kLqGm4qE1gHRfe}`gl|^!-wvc{=T9}XWm~kfeYnJN za1vK|kxt4Xj>wj}s7t4-r)e>5m+9>ciV|F4b=Zq`vGN22j*}K{DzeY9$XpUs;1hW# zb6Zs##fIxCw!o-N(8eA-TN95fDp7U|7`etMmBrsazyw|#5Cacy1cp9N7k&>zj7wV~*wU;4cERH1TGh zHT^!m&p-TMhAw?>1oGb|ra$%|{*L_l{8F+YVjf!rnTfnUeAFRKs05G->}Q|y(L0>G zDx;9#ZDuz$f6iZxDg5?d7F; zZx`K*NjC(98s;&?qXS_nue_xG&hxezR&YRARRbDfFwBuuO_ZVH15nI{A;7<0%!K;ZvafSv5Si&$))Uu$GZEo=nJ1ni&U zm+JJo-|-Ayi^s;(^PeBX!%01Eb-e4mFQJgZ=-N`IqOz3)E2b_|k+aIV;e7#$nwkUb zqcwrTO^e0=*eU70v`JBRTEsI?`KDWLhbcamm(9Zz-bbk$JAv)yB7n$_tR;=6X$$i2*Q@LsS^ywgZaFlTChO)D<}X3$clk?fQGoW__pkw zITPT`fMK=M6L*Y(W9JkN1SS6#Y-z&RQFFfNGdw0^>Fw1%&hFh->t(OC193IQ;6@I% zOH@vhLzer^_}tSF-afaj-1h-8*!zB3hnZ5dQI9cum@tet)|~o(y!ijUu43^&%TyA2 zzQyW1=afYYg&9fSAht?#c97vgmO&v(Lf~h==;G~pc!jyA5Q7R~!}G}@!CMK;sKoS! z%W|D8vF+5yqj5U$uBfM5^*%lJt!2b}6l%ho!05ABegEDc)0w8^8~K=f8NAr;4LZbQrO=l( zHN|e6L|R#}<)xvr((2NOwm5@>GnY=8ZX5#x4^D6b!OI`N3aMf7}?|@oP5P*IuYLtM+~`Fum6uP9VXa zfnti!5OXZ-SWh|N$wwam`2OeBNYKRnj~YJ%0wTI#uXNvG%7c5P1QPVZ0j2+R;U5FU z1LHmB`ZnoEFX>eBpe&9JI{1S&c@-myU=^;v0vs`nsC-gA-t%~(jo|Ag6Wcu>or&adDCJ7$jimj7B9PVVZkY? zQEc~h2N|EM9)xK!T@|w_Ffdi7Vf;=Retix*?7pL{fX7^5b#UBLm$T)PTMyKWX&^|7 zmX(#I;=7UIYyD*dtsNo{F@pSaJ1guxlKWK+@E5XAk+*vSSNn*n=!+wA>fp;J5FqZ& zRYD2wI24exz$5~+@Xhk1T|=@99|=5hZ8hue2?VWGzi40FnZUJrps!oSgJcYwk?@qh zJCM1w1!==dS>xB;S#vhqO+UT%<_I)W%mmoXEGi~wN%lyYs<^v!-R`8FKKvISLXlBX zL0F4ZGqIcuAN%`4G+k%wlMDjaXG|F7Wf$8%aS#q_CIANttib_OB$gk=Sn7*W7i;<5 z=(9XOAkHGRS@jZhr3Yb-S=FAew^T_zY3HyM1)?BM6xNAzF@oO; z@2)&;=3YkIiiY2NDH=f;xXGRpZOqK(ux?ZTAc)Csgvo`B(HSr-VxY$sH#>Bz!aG#k zk6Oqm4HV&4E@52Kpy$aNjjBoprAbtK6E|otjj^R=NvW`Ijp($LC122_j>5=@j*sM9J32aFh{fvo*AK4G4lc zdz0+e4s4~lBR<0hp)gn1q?>x$cC>c3<|h{fUaDTJN7#vZ%*0Q}EWyl^D7pVc%lsNO zDh5>r48d0nqz~Ahy1Tuv4MAut2kzyZQb0lTI-j)EH5EJ$SiL4@(o{hva-87-X6YJc ziq=uV{RQH%$940+qOI(QdRey{l}A*@cN-g zDZKJ)(Xq}`P*8uxX~_Ci+!n+uDFc3IY(6ion)zC@XYZ|2>;^gws`B<(#ey` z(a2iRhEd0k8%;bNaI0LSJ=)+a^SpcQDR=*B1dV|{^^oXV*$G$^m6B#OfE*GI z-b-j{imF^VvjxT|EZ`vFp6jCI%cR%CM@Q~Nm|oQ&!-fr1g^-#+yzdu z2|)*PK%$YVrKmWNJVam8ATtiIV@mF(U|88O)xaXF^V+daqYB6kf`<=4YslcXwp|`#s+>;mp0$BFcxK@8Nm1A%ePx(smgD}W(3Hui zYtkklO~Gz`D!cAV6T)2ZF!ypQHtAxSMx@}Szsc~RCxo?J;c>Xgx#tMMl6BIhIT~Qg z%BI8SSZUU}EJXw8evKs{uC+OayJ*AQh9c383mVlTp~hBLYMs46t>(bEAB2Zi zRh(1*pen+PCj4jEJ)brm2~|ZhLHs`C&&q!6Vmo0)x8UZfdLl8YIX~sGj*S%T_y#l- zR){k0z||;Tp)4rCs=mt6uQ;2ah?ZMps5puagbK)Q;Aa&f-P=i(53XA7E5s+R6xR2> zPs6*MiaQ=R8~iET9;bIQFc;DGlj={vrg!ghcd@&S9s2_ryH zy;C?>x5ivNU`kdY+RU;N`BLt~<5avK1(lAlq#CyEE9!{kVFLTy;?u#M*%BN?{JXXS zHZds!lR-%(1wRHgZ4kl!s=2|SIFe-No$z3B66*O*r?jI{CdMI<7(_4r)v{^A*@o(= z$K3>XT)bt}wp}R8^`AlL*~*rg^RgtbNS)V>Cqwn;ajxcUtT9E3!p+kk(!2oHU5Km| z?01@v@fZiQ2EZak^uGY&n&2Tk+}v&@-oF0!Sy*^Kp#DkXUr&!%h=?bBwmr|o&y1R? zk|m=E?BDF=g8YoomIjzs9dbAfaZ;6a)DQz5#{h~>E&*FOowhf>@0-sTB8|0|Fv;gXM@HF$;Kk7rCmMMrNac`+ zV9({OAO#8}i%z(vF8w;Vq1lOf!A;o!Uv9{4f1NOTdoyqqD61L1*~OKPa(wuDRbz-& zJZ&juLIF(!H_oSY;#roNOL_Sm*BD)yp%a_(&tsyi7LI9cW%1b`3ds?A+Ss|u#(zpd zWGXU+r{KxwN_VU6U7Irc;@QA;Id`nt*^NG$9Y6AOd;T{V%Oco~dU5)~ARFGPSmh8& z4jv#!SGlnr7k;t@g(12U9e#bCI_u0*24KdsU~c!B!PPQFCixYGROKH3H;sK$_a)G> zU2qX|J%@j?F~_fw^5FMB`)E!k$6Yo5W9o+#bs=_zGk%=F*3dzByh-lyj0SaR?%3_q zIZxKgj~wi@P#7x*7nEZ~(SkWi&hjuA$*!)Zx7VrW<>pWoK73SUld_#0`2sx~B>m$L zMuv@Q5%YYQ@XMa+WMWFDU#!69k>lP7nO1rv`>^bGK0e5M4-bcNRMu(fpAIxYj`M_1 z=a|FxozlUe_dZc>jNOFg&R*!v@`TEmDWz>-&UFF&;Y=FI(C-p@UJgSEcnoD~D#*;S zQLAP)Jl@i3GG-;>!NgI@_teFnl~AnHj@Y7r5M)9myh57;RXw07&CHE@v6d zSEZdl2nqoqPBkil9g8qgb`j-g&N)iA(qX+dRE}rNuc4(Xyy@53{Kf@OEi?|-Ili4O zlT%th5Le&Olv8xqS1mjG`PMEY@jeaMW}bL^uUHg}1pKzk@Q@vHnWgH2kh5TCg@6*X zIFtZbfRN}v?^zTqiN$CN_ia6Sd8^@Tp77@;LDHEDh1~G-M7Sn~Z#3lkuz2yj@iG^x z%WgGD-fmlLY%tWyk{HUA3I!1+K*eP`;C(H%8s~nGA0}DhX2c}pkE~wsg ziF3U*Qjp2}{CMnmVf*{3^QN2e+@-U2J%=EN(j2G_m-#FMgT>}-;7U&sGOHHIDI;6> zOI0o7$IteLyGi@Fp4Ype#UN);<9D%{#10*vIO#z@fdtdi7u(tJLwSz?X8Dtyb3v^~ zbi_$fMa4k;RX$Y-7aOYss6Ahhy)QIg^1;;Td;r|&eKY__eF zhw2D!{V%^mdnkTSw9pDH|7@_yGSx;F1x&HU4=tz}*#aq%pB2P(Ixmc(3JKpp^-&((4uheWlIDfgq~8p8 z%2da(oh>N71k4*wFzBY$V^g`IpZ=S$|3R`kI`g$qm~CTlX#6-JeSLbb^R@bBd$7|G zjFLbMXk&L8k*?aPWneN>B*4kYB+fR6**2ZjhUhh++g`q^1f8FsYcINUYH*r>DOkZ^ z=7qk1Mo(pP-=gkjx}O_r)~Wd7afofomsCm3?3ot^D^!1`-m*nRZm!2$v}LD)-@Yi- z=@q*$ug`?i{74-d9--rRA7vfrT)A{SOx7~d{!}hX%U*Us;b`e86rg^7Z|+Z034 zAn;;7E&OpVf7*xrIc8RF|r^qME~~P*w7qlOy)Bn6&#Tgb}=>#70|-<{c}2_ z;vUGAzV^XU^w6MLiWJl__6jOdWhmA6eE(;)D#Kwt9O<|6{$c29BJ316Ezv$%OF#3s zSWg7Mo@SD&g3918$Wry=cq(&n~DFqXAF^z(5q)z(F?FDAV7npFWYX;;CEUsmd;riQG2Z8$2%if17qc zLDi%Zb=V=Mg(^B2rEem~WUXC${Y+EnE?NsM9uEE`_lreemzf}@>j3k+!D)z%Xh?LI z_qWH=>h0y^NawFX8|01&FH`v*M57|g?#Z~$~F&yc9v zPF;KK@3u_y_sn0OVEQ3aPUB}a_-7bdS~xe=n~Ej7>g`vt5YpF=_0BYX*~Vg`cxUz| z{fB$&wFyIxyhLg$SRfO@E*v4%;K%oou--nj2B`ZqEe|M}U?yZ(KSaXuq{IZ=G1>{$ot>5f98$99KMUlS$A!V*QTr(BRueD=|Vo=W( zywP4!U#}laLoTPKN6wF6eUh|IS1wYzNM`x@o|?|2o%GfIb)a?o{lq=5qwG(NE8$l{ z=4nj}Jb>ar_bims0WAqL>7+=un~kl|#l=7f4Tj;rubejPx}yDgo|H*eu}hof;!5e??(o5L<7UgQQQm)=ju2ie3TO0Q=s zSXsPF89021k>c=CmX0iu6NVa_axAz%CVgGMr#`z2z20y8{$rA21x}kg4_lncC?=}L zjXL!em&|)x&U|Y$?vAIPa$x*NwYK>DAF@TfAM8IIpMozB#`&RY)TbHz9eV`5u^*iT z45&fg7cX9pIkRNHI6O}$o2U0`bBmCWLi%3+n}z3=b^~8R*~A8`9S-l=sgYpCyX4G` z7JY{QwEF$@`#XNUvHEti5rn`m4@uKh`^=NI1~v-`2n(PCcxoUXr(Ta=EWGbs7j;aw z-rVW)zj;ey9(MtnM}1AY!S{3v|` z7(17^f033rb9aX66MM_<&sS`$hsNsm@Y_?jj6Zi0VlmTzL;QtlJ<0;hk-7aI>%R2( z{zCeChj4Mz>wZ6Cpxf*DphC?4<;x$-Tfyo3n|1rGH9?;ngI?cL>uoI|UtN}0YHt+e zH7ZMG`P5vybbd7^R7M%2Y+2PEr(w~<6?;*tTzx74m zubWExtd5$ZN76-JAN!MaAY*tU(*}>ZudxEdj5vvMxso|THoRp!5kVM8jR0nAs~ z%0gW}pGqhw#LeLYY)p_!D|^}H0ykOGC_4(X z2#=-5!PSw$p-0Q_g8BV*Y#!m#SIFl9q3Y#<^lj{twsmU$#(7LvPgV~h{^tRhJYHyG zGz8H74gR~>H?onAq#`3#igF%S)Q+xn^{D0pZ91Rs*T? z82>buS08D-laa>Yy!l%KS}!e2H;Dx?5eF}(`NUY#lu6TMRg}zOnMf(=hfC^b&4-Jx z_S@6jJ+0lXIsVViI}uGGyeb2ty7Xz<-Cs?>%EgUGML%hE^z0j$>_4W_lMRHmUth0` z^r$L=GwY7bUG*R~6%}=ZC6%CDXZijn`A(U5A=~PRun06@B0>jd63;1f`kUaBKW1=Q{Mb_T#{=kdq#q_z6Op}I)Jgn;I&-TVjf1!x zkVL93UzH>%nSicelW9DJ`Vi$52o5`?2eY|@tm|j-BP6$tB-N7n; zSL215z}gs6zBkV(Q`+E|2p zH#L3?69$x1(2-M60+tzy z!(|gCPcaT^m4_)CPqBNLNTO8gF?c^%tbpkpXLO-w(Ndgr5j%E*&WjvYcD~is;seRq zIiM20A8itjFAkg!D-eJp_Mu7SC3F`jFEWb4f6Tp*q8Sfj&!dL_&Ci5pEe9nAk{fTd z1i5OUCIJ5Nsw{9WB>rAB`1!pLwg{34Nnz9PGsT;;fw!} z(d}EoFk=-0S%Wg_SJgn3YTPih*6Aq_OVl`jh-jQKEk1NkC9h`*w&H7j@N3*J;aT+K zRyRQ=)dl8z06>ALM(9`Vr~pOQNK{PXV>yCrSg=xcr>XbM%RN`=R zqxxc8;Nnv1x^o5utWRX<`O*kC#3GDVT^JzaY45?(sK+X6bQ-D*igxX+To~OWNo~0P ztZwPl6&Efo7==|F`7|E(LIiKK9dMjea-0`=-Hk`s>h`y>7(OF&$h;S~G!gPub8bBm{jx0~Ys0-*<9_@DM@z!l=c zJQ+rw_)5FOQ$)*sf8t=A!BuKN$Vh5xL@crK&aN!u2>HFYKg3~c!@=j4^G>fuyz#1H zhJ*-eX5yKavrGY0*Af&74S@j#%*?2D;wQ#AW_%Ad;IQdR7gZX)YKK><#RN?TLIR0> z?kG69y4NOGm9H_L~Fc+@%cW{ zZy4PjoHE(~nU0hNKt$4}<4W8{(ymbBo)RGJc_BCJ!ayi)!w`Wmf=H>6cd5={Ta_9r z={O*2UE(smESIk2ikT5{EW6S7I{R1Q zSi9rHBYXah>tKUxDA&sMiP|75Koew$su>d#B3KTfYC&4>fhiV@gqxlp~+!h#E9P-k|b8LXayip_7Q= z1a3XhG}KYNC~hXz8n!|Q4jw@#r;gv~K_hitCrJW9tD->WTg!z@_{ruHl*FuSWn!^` z@YNluD;W?(gkF8dz7oX3tu6KdU9BVofhPF0w+Lb19XZ4j;(qc*4;qPp5i+5wnKIJM zdzdfQd0B-JOrb?{%q%8Ij*c_sHw?`4;2a%0CkDB!Wu0`JOzsB^;}f(&koI|OSEnDl z>Np)EZtqcBnBhhb8gaxL1OO;;W)?zV#Itl}N9f)!Oo45{~^R#)XBn;Ak-4c!LPOwizj z_x_0NTE{mV`MwvqH}ZIlF}}&sb&czVnJKnae8wRJoO6 z#Dj&4vIuJI9ivlK)27aWnRT@XBF}h~sWyTuH!Jy00|rw>+z%R2^8&a0)n+(>t|cK6 z0#d{_%p#+~AoAQB4)t)8ieMXJLP+ox&R=*Q>Dz5lMZ!fkL+92-UIr1YolC@eDenEP z+ODZqJ6iMSz*+0vEFRpCAZtfxK170>D+Ywv@%RPeRB_b3UB!(aJVTTK01{%CI5N1D zyizd@{W{2Is2!icr0IAu0H2QdiTja=He@`x?i_|L`@dy~sk%FL>A4hQtvlH<9$(Y= z!imxub3+7G4MIdqm)guWMP7y)o$pH5C}8(>)36xsk-?+v@t%9}=-p|1v4GJOntsfJ z`)s_C?a8j6XZ+(v51t{2sBIA&RY9h?PtDAVJhWk`$SAid%RK$|AKt5f{*)3-ZB6@} zl%efGL@?{45nV3VZk!uEc$TO#F*pzrQ)Q;PPaNXYvI-%P8iK{HE)9p+V6F&rV zO!u`XA`?gA7pHV<>9dleC#xX)OHWT-Tw@pz1{t|mL&9GLnfh{@#3MpuQdKr{MBb-@ zoR>vi*G-MW=pZ8Eu;nP?{`-9(`z4i*Yrx)z@sZVRIN4@Kz=qn#5c^l$*n^#ns)A=% zO9*P@m>f$GR`bNO*-TY6NaHO=PV2$a&}XF{&as)reSiPR-U$82J94}~LicY1Fazz= z;2I^+K0JkpE;bTrRi+78Jx_hdmsFx&W~m}f>L zR5K}SRUqXSF;d)p`}`dK){$5Lne^AgL3;cs&<^;z@ei&oN@$`iN{DlxBI2eli%>iA zh7lF8e)X&C$q28ow_pzj@6c-NpM0>q@3bn`-!KBC*O0gVNr|db+zg14<5`*+p@@K4 z<2AMoS&!${pAx6O#&W<%tw_9c>rB|qx^R8bAW4!SqtwC77$IYa*=&@|t{ao6vWNq8oLEY=ib)+*i5h;0L9=-~ zlI5E2~OO#jLAbafFoi{CM5oj$kTH z|KLUnZLbmpbz;gifWT~@zjPxbB4~i<08LwJ06_)jOj3uYjG#dzM2yj~>uo0cmik2h zp#O{b_in!1_*U<#k+t9;`lTM1rfVVlF006|n{|QJkEg~)eKm?E$ z6ION4y6iq{G?9#_Je3v8I@ksUt zBrSl=`H?8=Y~A$Q`#e6`gaW|w|M-yPetbAxA8bb%2BAJctk=ipB8}!jcH)N<06+{* zQk~LtUf;Kz%xCydS_g7n>2>l5Kj503PQ0;-K{K$i1UuzF+#!_mQXQ5j+Gi?3e^|f2 z&)HlFdoS%DexA>6f1J2L!TaDWD&W2i2y10mLnfzkmtsEx^$F|#1$_zkB85TvV-*dA z98L=8=DxOnIOs86f&u!@BDFE<7{PqY@0?z?diYkME+6y>c~?*R1@v>FK34k$ke)$4 z_*O>{pFQf3{s+6(%>?=M{Rh_v`4C)!{RhY5|Ig-s@a6w({QrZEp#HP@|90h0yz{1x z5vm}znkc!*&_K<_k}M|H_Yg>AE;MLbQn8(976~tPi6D%E%qlwirYtya6{+VykY@r# zp<@|d_joKNrjf0w2<}7>2U0-N@N1B2nme{6LBm>?r^MWe=0f(1s+Qh&$Rn>z{8m6j z87yRxmYlkc34>&v8o4L}2!sVhJLyY-R>VQa2gHw&epZx%{zN_-)3LF4wOIgpJobxbrGT1A=xksG#G{a7dG2BJP%Re{ENrwf!eN>Yx?x~oYf&wN z+LBOQ93OE(dV0EuSwAvfJV>GnlqTD+P}wiCTIT=!iTf3oML8@mK}Q@1fncgTQV{_Z z6FYpY+HB3LyA3bCq5vp`Mg*ypQhApX9{t}TDAwuqO&V9@PiSMG3Q@3;)@UcOQQ|k5sb6;=^jVQj$hZ;y4&I5136TK-W^Y2uQ8v}Bn*0Z7V4wSAWj=; z)kEZE+ZIisIP3z`Q3v$T-i(=*WQC?E1R!Ch5ds3{qiWVg4jdW(7TFNRq004r%MPKi z;rmfXoHGXW5IcQP?zd1h$gl8(n{1Ax?mZ^bG?0y?2PPv(F-IV{rBIp@uQYp)g5K*z zlO~o(e1yml9yW=)gc$lif%L*|4AT<{LV#GwEJ^nRkGAe4;4cORe;Zs%DLTr1Qev>u zq50CiBVS$D_w561cpG%*kjf(^h1rXm{=1*V?X zrEr4ZYwTI;HtS(IXIiF`@Jnn7`*AbX$}Aqxt#-}NDe}7j1Q~6=2DqceKX?oUn(@ns zg$nK7yl6$oqboAIoSFC89H2P|4M-UGOfF?Gn}lh0n&m<*Qud}qRZEbO0GshQFSu5# zh<^XOn;Hcbx2~*Qt@?{4p65I$NSI3!dr}RI#F0%$tC15AEDv}N;Ctl;bCvdg6>*`y zXE>3|>F8lh@*?t`U{CbC-AredpFYGVv6#*qz6`JjiCAw#t{M!5BwdgRHoWM^*k!6b zvIfV-MjL7--tbp~E%Yaq67L0)z<3)QkQrcrW*@x0gPiy!v(8%Is*;8NmI^Rv7ija|of z^q*D*IVFnXvcgT3q#jz&!#No~*QSqEN+@-m02c%Q^9g`{UW6F%R~(8kph1oT?NOND zON~u#J9U@%WR$|t`Osd2TB>cwax|{6AinZqQY!Pp@lgMvXCnj2k4o3gr$*hAu*1ON zb2wA7`(=i2VPWzk;cv{gS_CFh$>?CwX%x1m8Y--wC4^77N8L)79}2xEPEui4eKHdI zqS@HC&v~Nv7cUP6(qsg?KNNJp+wJ*owOvtZ%mkg=#_#gOiP~MQZ3sf2-ml|YdUz}c zHWtv|aAI6LR8a8ZX>uq@L{>5NNQ1MI%DA7rR_*b`^r*dfeDqI$V9 z3@51prIA-rbkC`eick8d-Ev5=o0=@ZBq1&M7_4`HURyIZYzF$WKt|>XS!~Nc&0-HA)<}o^yp%i)N>)i zN634*HT8mj-+kns`dyi(N`rfYWCIHzN$da-V|f!SumJg;!j_-`QS3)(n4~;LPt)gJ z`w=x`NKl}ESqVko^pxq<@NlS`YF*^B2=4K|Kk^hECq4s`Pm8lBEnW2fy1uKa6MLsA z7oI{vWI1&nZ2iSWN&Rd#kAwO3gI2d}L) zDBh{R`U0#HIOC|g(DknC<7$8OnDg*G$1S*0pFk-RXTjy zp51kBa2+~-4;SCHLj}LOzn3$K5{#^+167a>MPf%w(h#7N>mkaJwVRaZxM!jgI)U9h zjuKQt{uHxTllpRE<|+w7a{L|O7A$D&PMBks_ml8Vg*b!Gw$yawf}-n&OS`j83Lerz z6h_?W%Dh1>P9chgj-im<%QF0J83;@=s;({_pZXOJXJb!OJ)$ZnU=<~J-1b7D)}Hx3 z%M6&hr4JJQ5TAs;f<0ICg)rmLlzD{;nGI!JqSHXc@VQ1JY(Sx7WxFH3{|yVRy$)L0 z#XFuqay&K)8%RDkK#Jv2E`j)0FjE=anHoLM;3h08N+Bp!8VHrY=y`w-svhz%Uq*OR zlkT$%z~%q|%9T?f&8P-W#HD#QPZtB#va0`E-OMmjVrlBe`rUu0r*{nx3d3=*4+tG> zcwgY)PHi9VaXar4&~8ic^*xf=+S?A+%K}(dwZNSSsQ@XD2BM4t{@Y_nFiO~D?ujVd zKOG|dl7J#4CsAR~YLkYix_G!v7JV(k z_u;{3OY7AV`UyL!^@$!BKzXtVR)m@rV}LD(jrLzht{41=rr+`4YdoQi;A0)1OV-Gg zM26#q&6?d;=}$Sr(|ciT*B9dtVK@`K34=yT*bqi4Qmv1Q&l2uefao8@j2f3Hyh00( znK5QFJSxdmO`Z(gE^ae1x(E_IqMiI|Fu}*$`rckip9NX7Q83Qa52=tdg;loezvYu% z2N*tA4&g@uxiIE5{Ge$StK$RnAKTG(?Z+6k^Q21Xqho5tIL^(Zaolg~!2O{-4^NDX5gt72QVrC5*z% zZEbo6D;>9X``_o#_=EDcvM!wyf5p&6l$Nj$_^7^%%e00nV}>`j7k!@khdfv7IefGr zOS#-ku9f_@zp$dgQ*)p~80oF{v=!ILhIS(^YNLCO)lq8=Of!B5xowMr-$#%SE{w$f zJfsf4_&KdNS4&`dyR^|oPf)Qn+7^i!n?dcwNTz!bqt+ECpw4n z4biWBylkQ(>i&^}xk?Je{I{!x8Sjx>Ug30IiezX-T8+?J)9d(f{Q)Je8FxV}5mR-I z=eJ&?>Ylv)IMYXdEF8OBuSP@@J{CX%4=EVtRBd7pYB?qq@rS}~>)}=BCvc&9ytAPX z6;^aIfifd1&Js&iSPkRki;|=QHbR4oRZZ4B!g>;z4CQa@)cq00c>g7c=Y9C~y6tu^ zlP_PAKK=4QK_VtcoxYX@>)HbW&ngT2x6Of<9o3y_tEc0&Jk z12a-qpi_*RFuZr2z|j=Fp!V0^yY7sHh5y zzH=}E0R4AEFjnxJF0C=98OAMOmO8?4WEEmEMm_oCAF*AI+|S3(WX}Wt=RdvLZTl&6 zI9$1hxtlCFVjvKBnGNVI>jx+~1}tWA{rk;feJ&UC7LtMetO41%zSm{!8Es$g5od4; zjZQ=xob|pb@O*eWUgHw)i{yMRl>KC?I&2jp)PmN;z|htnAznvJFV-t`I^$^FM`+bY;a z`q)3IEW>Sf^Tijqhj*ZF=Y}a1l|txcitc3S%@b{tP+OCduv3q8JW=$J$Vh?l-CB7$_L(wRjm*b;5nl+NnbF z{uJK)xIh1sWN`it(VcBX@;(W#_3fr{u##>mYbSw^)nHfnJCjjhp}o-{(_aJMFPe5j zav5>m{i1!e7l6L`2Bj2IA*L~lf{~+ zx4wIM_BN8UTbdhNOlC$3i}-fuif1&*o$GWpG)R67!qGvbZ6-~D&g}t3Tk|@J^>)Z= zhAkvDi(^e}A?Q~Mlvkdl0?t!rlt7-D>EzjcPfl?@V34Tvmv z8_j32GfhcIO`DiJhv%`^eyV|^1_Xi=UlCI(JLCnkAjzvQ2D85voG`bS+~Yq9SDS}X zeqSQxv>%UhD%c1LmaT^Cn}u6e$4^poD|XL_qsmDf>eyvM(fS+)%$43Wiwhdipo(C! zX&jzIXcox|x{)=%WT zXJwS!rI*q1Hi&W1e3{JH3i!T!;U>zn=m!-Y_fu;SZqTTjaV&FEsu)BhOjXgyjC!~! zbjkvC{&sb=E#B`Al{{U~yxx+233^ip1d5&_ivR$Bz)R(0GPf2z)DO>Ie(rzxpH_a5 zufH-N$5^vAoi83|1m^~wn=V?-BP=tQ3&K&9?VIZ(nu$KgM;1_Yy?v8-RgFhwk9$wzZgFD+}u>#^4 zo+AX^s92+?RPM^`5bM~A3Nf6dV4l;=81CP1CsqNnlR-{t0&XQdCn?ybf}VV3&mmya zVEV}Z{=b;>^qeq)s(%jnU0;GofkUM?Ivp3^renj>3sBn^Kl`zq9FFXG&>WXp{ur8= z!C>5KQzT=Z4`M=Js@Bb!6QN-Vr7m8Vu>!A&xHShkCA8jGTRYls_o8s4_aU|N*FARs z6ieChEwhWNqDbbQeL%D^dmJnd$|=>&!eLXAq=gV1Cv_CWh)DA3Nc-O18@4!pi(7NT z;6C$o>he(gxbW<&^&V6PS<4c3PN8^(Jb^?4#7+Ttd6BT=T1cO}V>8|k21=urnvn=M z-+#SMdg%yhB4Dz5p7FJQ4tg_fOp(4SJV_jX5g*e}qq>75USV`rXU4`t9~8{qHAS_GfSsXX@k2MCse{?4^`6<`0jKT9Fi62 zKRiZkwHxka0R}@l%qZ8eJk17P$3x3zId2 zAjgG=iMZhAA*GF62!5aV1uW*!BxVk&CMT4H{k&~|#^#onP4EF*w@Z3oPzq^m<;Wu* zbiwRIE~Uc`BOW7sTxsJM^p75L+YBB^dyh-%)Lw47ZayS`zH6$5OHGKQhcO6UWWTTV zpbl(1`uZU##;M5TjbwDjBj9e@>$#f-`xxAb!BmXlFa5FmkWZ$?{@iCaUQars^7lsu z)y6yJAdy3&7rZ;FRUrJlc0_4N#5mDfijk`5ab4PX?s` z88fd-Blh|$3opp+``NqMtU5bL!QR)wF|@zWwGJJzCS3DgYd*n0$+Jm!9#>wB*Uk;p_d}g}w zq5}~)7lw9m;j=Td(%>cz3SjDe7pBFEgbJlUS`dF8@Xf-3)O%-;_p0AcWQ6TY)4BQe zp()GR1%ary77%e!FC@wciAN=y8))PAoYUsRNB^;OwLW5?-d4cBpnjCZ-$^Qt;H-apATqdx>VAx zgN|(0nz=;o-7WzDB;fj?u*MaZ{&EYsd~W;YrJ%f1C1y@3DCV;+!b5yH*i!JGkFrQe z-`}e>XUNIBawiO~$L1KCv)Z7d#1n+={}48t|KngP>=Mmf{#Q)8~Q zV|=8bWgQ;zwW(DqKP33h@yl3vd76lqa?T>40R|*jV=#8DT`iXC_yM$tsgi#j*c?sL zYuZ7vwb>*UKoCHp;r;vVd~U)@b384{(W5g^sIft~or@1Gj${nY3mX_mjM_dfmT1PI z1mg*OrhPwRd`%qgeqJl*P!*7te4Q@6&c-YBXq;@ID1A1R%ZJh5 zK5hh^?~hv_!m%%&muCdnKG$1ETBKW4$t4OjBvw#JNLe7qsl6WA?}is<2wuO@Ui)$7 zn98Y);wP~uXEB0|+&(>>uIi)jJZ;gkSFr`3oO@mV4x>?d?9P(8Eyq8&3{5?+hW(y& zVC9^IuXzrx0;lop(cjk#hW+mVq+8?OgJLZ{p_5Vz|2|sZz`rT4?L=hY%@8%G#}Z(A z2Ok845M$GT9%O;%QAZQLgEU9iVhXXcq)!>SWjS#yyN`~8Meh(8deu>JmOiF`jN3#J zzTK8jt=&i4Ir!aSeeHZM%uY9Hx2mbP?&DH>MW>)r7q^j7h<{mkHn%YqF@J3kc9r(t z;fLkeQb0`sXScjT)yNh(u4a(yd!q z#dRv6$XO|veTCzCX=InMsBOEA?uLc!W%je-HehOcDqgeo!jLu-)R8#yA@9LxR`K%N zJzTWJiIl}SkRc^TXL8)nS#xVZ<_sV+!yL6G4Q3n_{q3W*@9hpb1L-o7-JA z(J^bRjG4DI`FSqfg#%vXm$_J&d`@S!P}{I;LHWI6pGa#770cmXleLtv8vb;;monIt3vV?HiQ=2F2q6oCCq__!e&G=f;e4coy~gp z-OhVTvIbQsg^m#ix635k&{0I#QSLXg@ox|#8~0ZdWL(}E1-_W^$O97^D641)IBXon zjvt#%O{&YBiLf{ugqnm>U3!t4Ajxj%RQ!!o1~=)6X)?jrhTr{*pKO>3qUZ6JUGmSh zB5t5K!oN~azMKlg&+!4G5W1RwN-ZsY6S3dhwb@;F9U)I$9w9G!AIAYR+Y8EWs*$h} zy5Y0&G!)6g(fuHRh`N9mg7idVBDsa9&p|~ReR8(n#O%_cd{kg0fe-l=p!KnR{L-*W zbYUBI1mDje9!xZx9T5@Q!E~X(2MuZxnFLPL#%j~$1rOCe##7@ise6Bnzf-Eo+y0a~ zep5%+iEeD&j9?&!6RRaXkHH}-&J2yekd4C50aA4?)Iy%$xjl>ce)AQMIV_MR0FmH8 zY!pahCCt)+D4)D285~45HSHLh^ofavWPd*kqb^05y5u_8gnW{v-_pZN#xOFTRo{v%s_5YKB6- z9UXngI9Vn&F^?hZXa#5*LS=hES0~;BoL2^8g3oM9dqe<>oJN=n0EDI0oXs_x)p3^w z3}~o3JXuUS4gmj^Ck6_D084&uKQPf`- zV@hgOq@|(PexXN%z#-_ISnJ~YV6!F9x$GHP(?@Kel_+q?dazF zyNUbAG{T6w;u-Ib{La&vj)TbZ!i4L80TQWCN(%tM*HHobf&`)U%@_O&!9_(4`p{DY zTTc{@qct7X07T4zrYiM1b zv5n<8!I0U?8zjY=Q`)p?R|oz(t&QidUXRBk>x&H`eGV^B-TI)4$R8OY6a~;!iipkz z&xfs+1g(mI#|l7UF$kVJZqqz(t;ni4#gcd5H1;n2sc$&_;yY;x&(e_k(lfp9ctHetcDxi8+FdINv-0VVC;m`&P8 zce|<;3biMkRmz0fD%9G!jCeD?%k@32Igvp3O=^fzeSc^U#nqwRHk%EH=}0wA&(aE_ z@lnrZlW&=+;S~s^X$xkO6xh(&prm2IxId2-<{IZPFC;wZFDd{I5y_hEUjVAxF5=(L=XY+g6ZIiCLzm73||1Aui<>m=E z)2XED5$~SR=^7y$GQ|=hB7`FB=KGz#)^+157$G(NOS>L7xf2UKO*!LG41BcND6FFF zd0x9Il{?W}=XRG*%HLRu0jw=bV8gwe|IGXp9Wbh^DlU%l8nQ0hX{3PSpkGZp-UAEc z?AY|zd*g^%ftqsnyh~4(X(BOH(!}da=Bt`oby=%7{=Gw+>*uY=Otiv(%@ytMc^8LM zzrs{XEAQ-N4E$)mmpI(EX^JZLbTinjkfW(7^Tv5+REsK-ED0KjXMFqZeecE7co0B; zG%x#ad_UIF={xT5&qG}$mhLEUsM}c_rrKo7N zz2W4UZ^qCrx_n;Z`WPz^!;FI{`X(4#{-u~v|K2w9mK&< z7M?Qola*F7CDXHpPOmJ~v&DDH!%jmH&PgAfHj5&Xi@Ux@M8PTQaOO(}07(0jxt%<3 zHMi%qqK5)L(_lo3knS^^MA3*jl!6&rbaE`vH7Py#Kd{9Ms!TMJNE zDAl-n#Uz`%Wxhh*vpqWhXz{!rH+5y8!8cGFkKfBUjp;F=&X|hMptZStyO;(WAF4Vf zlCn(|ya?)Du3scUnII`4BL{}_I4mO(e4>19`RUxV?8qxlxjumsuWRyT6{2&KS(>gq zKiw_uwY={Oet)Mo|7)fNnHFTAEDIWU$zM8A(0NnOwUXTWn~A4UklUiS!F`Vh0DRC_ zF?`rtOhBPx_(x2SXKlc(hBJ0NU-GLZyFF~V(u<1$MrmTO0qnFSb&L&T@6LSM8W~Vj zm-6|3+>D zR{{Y|HbE7bg$lTg<352cBMdW0=O#CM9K5$dr2qrW)aj}PQKY%QWu+CXLI&~yfro6# zajehC-~ey~VPry2ZxcQ(v^WVT2IA7ik%pxTRvQ)e2@^ua19-#GH0H5u<{$a3GCO!A zhJX`C9#$ZRFj=FA5K0iYQj5nL114;hJR}z1KYdZokKMW}8QpD!W#uJnZmnr55g9R9 z$h@csij2Z^5B1NsH7-&eQ!!?_Ktmu!QD=l{tK{^Xd;Kz2nR6qZxx7K*CRR7^xa`<$ z{XzS*ia3A>Dww0z3A#xuDJUScFdhSO$u-64zs&CCm|DmKLAmxLKfy!u#k;1kEK-hT zj^+-JMte)(=>#xxj^@6e1|g!Zzo%G^&PUt(6+8*Pn@7~R)t?yI4sz}O9GLJ=&Y7#j zX`a+=gH(SKn|1{DZ<}1)Aj@Uc?6Fkk&0m#=5{c?-x9SQ3)9Qs~X?&Z{r?`u%uM+Ohod^j8BAZV@(n^WQ}?aRIXd z%mAPTlBJM7xX?oi%kKVqM2yVnemJ{{s?l-QLyU!l<93i4m-8OA;4?|2&(r74wx@VK zNuq@gee%9&;t2LgT!-`t&vNn5{itIjKgh@%>CHND-m@2S$u;h2^PLW4l#kd6{Ax0V zEQ@qf?-V20fPHd;J@Tl}kP1?28UP%1qRM{30}vgvUE#`cQ9&7KJmVO2*7t-7LwnZT zuO}mPx(;(YkwK;=$bGotd~AaQVd4gTO@}wd_l0ReiQS8Y6McShSeip?fWRt>6Wss+ z=wuSC`CB9Z8jos02IdQ@8KlN@@XIVP(U#~QveA!W%o+K$izyeDiJbHpb3Y?v-`zIr z%Fn3QT%EkNr;OwCYCw~FXpE_5YNt1233MvCQ}h#5Ec2cL&``6UOS& zQnCV^aG^YNw$~ik1F0{Kxw@o|&7AO}w%A+`YNqrjCm~PViF6|(jVUdUj3NS{(bro{ zn%4Ig{T)lC#2ARUK_PQigwz2I_}%`70BALg7<`)?cV}H|ea_mTbaC*jPqYW$)fxrv zCkCH$Quhn`Emv96j7^W5-EAl{zuTOBgcVGK;;n0!I7I&M$)i}ome+q%i8o$W?j!8* zg^8`&JIBt44?FihU6YKZ83yxMiNSCoDbod$WD5`?g70OOl1S|pq3L;PDr{n-6=iaA zKtNk&ktxN2G}1&NiOX`S=52B5t(ioJ*01jn$6x;7=1zWVn~6M}^xcvrSr1h= zvw(;OBF>Y(8dHxm=P#0K-byE83o;=^6mq!+!6wMCKd}CdytF99M5uuvK;lGd912in zWA+E^R?18y-w}_nV1K4sw@65ufy-NOZ0nh(zyFapNEb49G;NLj$|`QU6b0O7a2?HF z1QrEfACJRoa&iO&!LveFKVe;t)F8iN(7>FHvaNq#Kx8} zTBM->cvL}eCE8S6+)lWxQiRa|%QA7e9WkHNv%-scDW)Wu3$STU!XqP(qKl6kXyDUZ z`yOm8blyNIr-JdUa2s&p26d>wJX&L+Om#YM`(s%{0NBC6Nl=%t(Xiil&jv8}#g9OM z?#}cyEOjr}kFI!%6XSdPEGVoA>BUs0}BY!Ay^_)+jWc@oSX%EV7%e6RhShuZGVfzbbtMYC*E* z2B>r&H%B8!u>vXpeLHy?1Nd(;LjgmAF4bgT640BH6>H*m^$fwz`^AjF!!;#h&))fx zRqb75r0OKDk<-6hYwpAL2|QLMm&4KVfMylS98Lh=1vP6Ua$whBQHIgIB;n3`AMc;# zDT$`rTD^xKPrWL3kPz*cGS=udGaW15k@(c%OMSbF9?n8@4sI zikut@eoqA6w`Uk~N6M>d)(jYx;{8YNowRyQhz*>e4z(QXJ{W-gEHEJy17ikQ6+F(X zxXL$~)$Pf)?wa99%u*QuCijne2QmK$WX&?v$MmB-9LKg3Eyjy zX06*i-ruSM<4@TyYJN`;ts16e38Q*zrHiV>@bPF3i-T7E$qATQ8yTpznR!EPjB zHYgUbY2ztSEWnm&44g^#{P2RGJsK|ydhq1(G`oLJ>L2!tLZ-<;3$Vp8A8TsP+p4d% zv+`%%5F451!3P7Rq)sQ1|05?%O@bq5g`JFO753X7@&f{)K|pn33ACYU!w?y!Ocit1 zydTTGeAttsHq2Xp)^4zRAL?aIDq=AUnTk+*+r`CLq0Oup})Xj ze3})bV(c`$EvclWX(j?H*)Obm7?--|r*?k^)Xu!_7K z(_KasWXCqGWO)m_+u!;`Kr_+NC@QdJu5Y9I2^#U-{Ut3<$8cYZZ#IJZ^Jf$>uf`&S z|BjRigqaBxF%$rr>^3)u&+Yjd)avSk7|j1@J%2R)R$y7juTf&^(>&)AGDf)Nu%CF7 zF2Ly$>G)`OZF|$@=3;~1kwzBUfqkE|U(e_YV+Lfn4R*<&8}D4S)%MsCg?sT!OxYZ8 zx_^Z7z4G#VCjLXmvC^5({dnP#kga8&?;_LAEQf5d*RrvnKa{j2X)+;F5iGHtnLEt- z1{E8{RvmLrD&BqGE|i%x{2zxE^1)9pE#!M~oBL+D_{5LRQM&lzgW^g0s4Dd!g!_bi z+D;C!Rrb`%?QQ*BWKYG!x841c7is=(VLU+$%1J%J6jUa`DfD0Ooq&MnV0Ei@hlc2u zEa*^A$f{aRlmXkvA|*v@kJVMtu-eRzr=QQsih02F>1txc+PxfaVrozSn_UAC-L@Zg z#Ry^>^RuN&@8b=sw(BDxS{&c@Vd18G?<2Rv$boj2>{)abao7ZV+PIR50CS`LqK1dh z^JPj)o^$81KaK5K{0uFleuL}#z_y{CJx|4CdwMF}7nCMaqvsR40M5j+ch}If{-47M zeG!~I^`&BO&-`F8-Bar zY29u5!oyfbr9`J|vbxR~Xe=gu97CFy39!gF_s7Z;U`ssnj@S}_vPjY=!#QIyzPIGs zJ?qQ3JTwXk$=^<6QSb_<4M^R+?kgJ`PaMU3q`#;VGaj$U{C=1_?uO6)@bdq`blX<> znaU0tFgv3KgVe1|&6p~$j-DR-SbLfQ10aWPCuK{X%bVq3mS;hbtl+;sZgKj48RY%R zJFV&c_Ud)p=nEYRr;2$e#vHwWT^`V?6?C7FXR!(eW{|TKQ<17q86If<$IU(CjRj4- zAhssIbVTB*se52-nD>nUdo_cN(uuc^={3K$VP$osld@TvGBh&_+Bs`3>w1cqEi{%@ zvNzsRU=^g>wtq@aCFH|XBoOqt;p7vdff3{P2Zw^yw**yY)cqRC4JHkXEN5pnum?m6 zelKk7wPX%zHwy*%z3*e>eq}JMJ}?kq)0JA>cy1_YRvL0Gg!_%LF!w2_5}g?XWPM8T zrq%#kp->s7u(}fNOFKSq<6#8hLq%Jg*4u9_lzv~`TC#;w!}Dg$y{^Fm?*SP!qx2|Z zvYLwllDp{s>cLVR9owZYjP%2=N1iuG-zMSVFgVDK5!NI#x zg|Nyj4(<``IzOMaDuH14T5&NyXCD_kpMAS+uMBtmJJ>$&+h}k;%6AM=BWTzN^%WPv zzu6H6WQySECl%qeEEj@1w?#Ks zF~Cm3E!=;t>PW8AVk7@nrf>wNIZc;b29iv!n-U<awdl3`_* zRKOaX%LR;OCLE!t6(aR=_MTOYV+2pHLXeSMu92Juq8L~2+#R=BDDry`{Dkeua&C*w zwE9-p+`L&nxw-8ZAWosFR#7wM8#AkLzI0lGI|b*#T+nPeZ?vg$cYEx1#?lm%co|5L zv7if)OOUWqPZ`jf{HA`16!bRa{&yH{hiA)}+g_4GN5}B9;k> zUtEa>1MNht!&rQ7m#6*ig@A7tZhjI7;6u3!QCuf^$Kt`ofH{UrzvJshnn~f|+SqY& z-BpO);{$py$Sn3*`y${F{TBcTiTbybj!nYPe)m52kdG!@v@r<2Y*%>pe#0~OArpZl zpuWaa%@Zppfoqc4Ou+MswBS99$c9}-W9hE*u4&mdwRYbR2&bcylEp(ulEBCmP$w3U zOXZ3ANFfIcc|&4PK05d6Eqxh#I$Wr!_bR#}NqhK%u=1F8>{M2$*V=A(c_`*gidl9+ zl?-4W$1Gk!F*pH@c>f9=BwilOhC#w+uuq-d2ylGPLY+Gn2}8pmmN4hnDInCSU z-Vf@1H1Jpn+VOoMFqE;wrxW;IJ9pAs^EwpL^Ee9i?DS*OE&u{8OCXpGWvI72T+%Jl z9+rFr?uGtHJg*Z9;5*+A7~SNmi$83)Cb9KAZ@cv__I=w6lBcs>(p$<6O2C{el}bEQ zF7Xn6^vQDe_&iuCUd2MH+@aC@o&$rQJ-&>@NVVvkX`8;@X&du}`cU9r7Y}Y(jGYR1 zCmuFY*)icCwSg}LrG$_{jLHppuU?Vpy?wYZ@c~pI6G5^^jYjyx3vnb^5J{+cU44JN zj4*O=X5do3whQ{)KIqZY^84N$c`9oc?p>{^j*2j%CZ-yIf-7x?l3pdSF%R7-hZY9J zvcGo-_?}KEcF+iX#Jn&NQauaa_aCuf7{&&z%oo^UAVRB+{iTIw4V_yG`uOgbjOlsW zcXR-SXrKaHgsy;h-=>nf(YgHciaC6YR#7x8d~~~zW+G26wmZE(?-#PqN67ybWV0B= zier9@-U?(=^vTA2-+w+=(RcJV%}^~= zH9ZMB%5yg=ROKh7#O9#Fv@uM!*f>o`-k%9Q9*hK8<&|-?B3H;547%sC&XQ(C%A7mC zHi}YB&g_C$5Kj+aw<0~(gdr#*N2RYhe0Ti=$%4r8Ec;5!ZrmfieqvW-@$2d1eOT2e zV98L0`y^XuGJrH3)*!sI@%P~<@Yn{d*4 z$}so+$=CwvVU>J&s!Q@wGH_-;bCNsv&rpOpmqt?IgBncr>0su2nMNlv>)J6Jq=AkrM=s4!~fH z26X24g21_VPgOk%FAcg2Pm4$#@}2F&viJ}RBR>|TA=$rY$?c2+2&f+24AAgsP;+o2 zY$6VS>0%*L07$VIBnq>b^o45Qh`@7B7=h1TukR-=XO6FsO`D_sIRrIPf?;RAOhtqc z{|@iOTcW|Wu`~LcI{7W*Qd z9NP()9K;i@ zlE&9H``%)^zi!okuDrgV7~ei5+>L(WAOWV^2mYeK5JOX?^VSG*@#O?n64brud=2?o z|NQHnmn4AUGy@Aq4~agwGj@G=rGd9joNsV2Y=TKaz=;8eg8>Par3{rJ31^mRJ3q{&di9mFs@-hGlF){FXc!E@?cfwF8w@ou)UfP6q`LBQa&x@b*!vMu z38yn_NNiwl&lEX9a`Mo+GFPp;cWh=O5(mAZ$ajEa70Kbcd$9F_cd{UUsGK8SW86XQAYveUqe5y)tS9t#b4o( z5;S{FWw>EO<4#lBD-*$Zt;^AUjVi^Bv_9uDrF_)nB`M{utsm_;umW)o`b2bH&C@;a z<5P^^(*z8ArGD#V8lG_|NXon5{a2euG_d-S^IFCbazr%eD*u4f_VsSB$Gs24Ut_ru z3CEG*UjvO$tz8ma|2^rciBll-eeBoU-VrQfTi*~&Yx~DfUk#f9;DBEGrlKar+0|!T zJuHL=hF|@jaMV||##^HK9G}C+SuD!f!Cym+9v@$(4s-S<$?v$nJ zC*RpR=Wy+ayT<|7?=dqwgd!<37D}2UtpVGWMjLt z2uCgyF0c&?P7@VfM7B3eKxILSAk+W@Ul%ydcJ1koVmt$HyTr;?Om|@#e9+MGT|P7A zd-3o>81t`>?crz@BXX$0eu=2LXUk+ckRht+S;p$EHH2!T*e}x=4*aKdMBu+TD#b5O zm2NF7*evUyNJ=PWHuCeXH8YIj^O!T48C4TpIoH3n(sdv>LJqtl0TqZtreq07Lco!f z3r6l5!AAB^DJSl9h9^TVcp*ahcU3NpP#o+pCT5;SmoILwQqEr)xDH)77?M}UL1nt( zq@wnipjuVWJY0gh?|lEE*ZyYJ%a5&Tz}4gOAn(e=5K2ic2ARqvtO#?vnDzqell4Wu zu%zB4Vriss0#2lWLKdi^M_ei)q>JS!Go%yW7g}f-VNRDQdOW-mI0$cS`Q1D+w{ojO zIH(y2!cLc|TENjn6G7y^);^0P9usj*G^*e{tiD8_|CM; zNpg{XGOX8wkB}M}8R4T*Q!O-pws#A^GTM<$J&RInvp?yDi@#LhbVK0-_z&XwsA!ay zEgU5N>(4o0L8YUD|83!lEAaK-GrYAh-vK}r3E5@>CnzA)-Pb!17&J#lyqJ)NEsK_^ zc?P+Rt>h2wj}8*TJg`Y23kWyih{_ihs)6=)3gmfRgX#Eh)CI_m+-CI=1x}s|womQ6#@kf(RC-j7}V?KcgV{VB>R= z)pchqXr--w%tJX}3>z9eSt<=RAEx!^vG?ocMDXr)mGg0SyNM0nbau9ButJy!7Cx$6 z0%>rWHc=Fmh={Gcq{9N5jF>yAT?~s!Q+eJX7-B$Ks-35$tyi#|ZL!w(0|v$j!U1%~ULx#N-(p3rxw(Pw2&$ z|KwMGHU7;@d@?`!v%fz1gRk!$Ek_5{Y^3{C08x_MA`%o80a>_=1?^1-YOM=vmE+x9I4&*`vJ&-p)xEu_2=sM!IqHh0lNSYajpQ z!D2a$i)IKkG|kPMFF*P9ldt}nKKa)t$0wt=+>e6+`h?7Y$eNR6+YegPgX~ZlrAVMr zSb-hG(F{KOySG2_+3Syg5ng<$N^w4v*}i3ibbR|8Pd&L*QgS1yID-$Q>t+*Ih zdh^#mcl`M;k1RPyp>B$zB4Z$}BeyHg2y_G1ds7K$s~)s*hu*QcV+dDqiVO7MZpWE+ z$eiMk#zIM&FeocDo zm6cpESX!BRGp(M6crFAQiP=I^)cIarBudZa@Be zrYaOMhFL1ej@i#6Ft1*t_P}sCt39K#D?BVx zh(j!NNFM9M1~HghVHt?9vQ`OZJ}OCJLcvoIBWe@}OD()dXZY6CfCf?{z)aDK>`vc_ zqSgQ+0uclZD5WuceC$SJQW`aC)y=KFHCyaOI-Cqc-PG133l_n#VFl0i64FqSh@=Tu z+%NzfM?cyh*!r}3;^lS(*l+228707VRzizE?9%(w2j1GB*OoZ|58{}Lgef#LBbAa1 zI!ghZOsZ;R3g_I5^?Z?nLtBt-N(LV(Bq9>WacDs_L|x2J+;cBpP0|pF4+U8?MpS6W z7gnTP#3|?A3#i1nynbVR6cA%GC_I1*TA4CZnl_8lx^aRy_e6x1Swd<=taY=vyk>{D zn>6!&&z3dw34}=#u-sn1GYhtxgU%tiVEp<@K&wl%U*vUHPj#ypAJp1L6N;ZGAW%{T z%Y(#8ARxKXaDt$-ImCo)c;SsPrf`}h)e%t9U=*Q2F@5nm%xj(O8A~7%S=~AFW7TsW zOk#Elsc9BR*RRX{gJB&RI1xxwOJSm;!BQ5{GcylON+NY#qCJ2D<}sAR7fx=EhhvlU zb_fHs!+8t?*IySdM3FDH8U0s!|9uaQ7)&NZ-qAV#A4H6SoODNSRZ$-b6)_x|hLNrm zgW=E_pKjN6A^}SgL{dORH6);*ibVTdyzt%U;*FPSQbBTn=s++n6$Wj}h5{te)PgG` ziLt^IVUp|(-&BWH{gpq)<5$blB|`uT3c(o?prFxkp#TEl6#O90!8D*mf%AI zuuK6GSZtFD&Q96PH=sNp5vd;@6x6k$M$n89=cfd#`k^S&at^o!Apihc$_as<1{8bx z(a&akt@ioeAu&c{3?c^a8T87*;lX%>QAC89bA70kA~WZVzS?OuYrgsECx(iik_yI1 z$|J-8=z$_oB=**dF^M=Xty|8bD~8wO+>Y!6LN9&wNeyR;a-W}$-eLIN&zWqsEgV$n ziuznQ9oHy_JC2gob*TN>QAF&_m%8wX*OYYZiIfr|j*9AFIG&Ux6M!a_h=^nuRY8;h zr_06tgJJU*PtU*hR0ZN$LIPCqSa@(=O%0~TatU^!W}YZ86l`LQ#leXE^7`-oZ~4}D z#-sJ(G~Mr;`Lb)nyzvci^#kq1CC$zqom~z{*RQ|U0(-|Tt&~7X1wo0F5HHpPv!W+l zW)$we5Rr%=05gGVYU+~c+QETLkLSxpied`KWJ3rdVvN0y_SBhre)Pwm{L}~c3w`H1 z8g|^EBUD6HHHb-~pdwQQn3c6+^vmfm>B~=j{pRm{anN|JdUXPNOi|QRGrP8^uW7*c zxr@1XNRIi@ng(=N(~VMG=QtKCMjEZCr<4gu`Lnj3l7D%P`iZ-QGmj6EkVGUUA?ATA z4#y)Boyh`31=}L4hHw^RLw;!O=($&({?GqK5BDuqdr-WJCoR~{9FtEeS!+{DWiZni z%DwSS;KsAhSCT@3Ck95b9iA2Z+}=-bpVkEl&(@$=g^pG{fJ~N=)c|(~_ta=TG;k^J z?fc}Byw3DML{{{3K|)JLRYP6xm!;dIg6U|n@J%FZ2#tssW0W*D&ERklC@o%jVUhG% z^%E*pRV3z;oC2Dhi!nB!Gmx^b__*FvstzZ&QeCp4(Blhj%n7u)3Xqlyb7h>opPro9y%B&Ml;xltgxacVOo>gK^uv~u`jJXe*u}iA%EB4GHNO>! zi{#EP5U>;E*|6%g-h%U#DY}LLtuau#3vPKPJtKs`xm8t$KyqN=La_Mm^Aqn>a+y#? zL?%_Oy|+k3QD{@6bpz{UvL`f~E|ww*nGcP5KGjuWuhQ_wvX+Cr#WM17%_af>Ny-5S=6!6vV8wL(Mp;@MP!ti!bBl%C+qN$gMeGaq!G zL)X=(7HlJ!aBfTm0Kh~7D|(^bc#Vi6P@bBi0KmooK+q%xB{c@!#5g+~TY-~isTya6 z9W5hin%Y<>^GQQQ#bnYnjR+8-NS>1v1b|IY0f?3`C)NTMF#+JtwE$P;OtsJS+ID0X z>J=jD`4G@;09v!3V}u(?%Cy3XPOp%ERRTcOoR|TtdPjNF3aHqx*uCb5=3icC_F$(l z5kOAmG{lp^2#99QvW_tq5tSsWniHR!ra3JglGA}TkMi z|M&c>?aGS0NAy5dnMf085=I^k%ACU2)Qk4%tVn;Vs!7P?u2-xgS$ndr=`MH6!0yM)Lg4s01hOJ`)Aqs8UI~@{IxV>FA8eKWF@0mRtJc-#75c`2TI6C~ ztGWwr{W$8mEGsnn^rH8O9_0G;x&oR~49HZn-5XRSIUz!;ZOiXw(MtAdCi>X57*4h`e+ ze34=@&HzC4!8p!4`%Kuhj0s2p(za1q=K}RZK^qSL`u1;aH__)4tU!hC-%X7<8(F@r zFQTh9!K=;W>Fc{La*yaix7-RSAp)t2sDe?p)?zhO)oGVrPS`pGcv@bX2oPCzl*rhe zWbJIu@2+0l<%Mn88LnA%Sf9ri;)7eYv;TUxM)cLGe-`!HJKZCCkU~Vtowg-c=mtVk zprnwrWIG-VBj9{dD}uE)rI5S4b^USLvZ5RIpik!9YBsHh3$i`$i+Djgs3-ygs0WGlJX|^uW_ch7gSs0fCOta#59tCr#sh!(|zxCjmoX z5RwQe7=vV4L{ds!qFKAO%+G5B#m#;=o~p=}WoPq!F|9ZvuH!xQgVh;lU~CQ}t9FeT8GQf$02hL|KK z05I$TAfL2=!kQ|&32g7WnR{Fh z+S!-{Pz;*VIuRj-TZ@_?cL!EP%-cm3LQy2l)r3$rZ7kd8$c2Tg`f|z5!frVers{$d zYkun*(RmZA?u^qtt_Q0WK2+5hJRp>8iqSZsX`05zNKA+rqadO&P9&lNAqi?qsT*3^ zp$vC4_M7m|W$wQ{5w;9)`xc$&TWrM@PVaxkin+)20NZY_m{)xOU~8E9pcDn>*WdX2eQrHwS-I8Lg_3?dUH(A8Se{?(5XFmJz@rz5;}bZCM&&yCE(S(u=4+ok0V5)D#smaKLDVRawOy^^ZrMKd+Ow7JeQckvjJ2SxZYxt{idP?**~TC2i+0&dJN9gOBIe(T2(_Q3*iQcJsBU)S+Zyl4 zr=Gq3#nN)SFZImsMNwUi5GVl_Ojx+2F{(fkLBdr{VijTF)Q*-asI1BvU5Ej!M-z4& zhCRL-X?NObhs8Ea>h$+@kl-?3d7E3>#u?tYdXU)$8MsX`5I|*|4zTfl0ZmLvS4>|~ zB~Wf*d`zmSDk7k}_mgMC2R-`GjsZKDX`m3!V*c^=U}`Ixk!AXZwfi8`nP| zkd$XuPH-k7Mi{yxgA7a6Bq>L6ma-?K1Cl`oF*`f1x+~ zw`@2!8BKQtD5ce<-k^HWSpoqC1TqMqNuv>4u+gGG#AWm`sS*$x%v?Uzya7Q(gQ%); zSIe(W4LKKq0435sD!{0c!L0QoH;m0WPQzv7jqV>1k${RsBFb)g2ti|F<4RX3k<^+b zfT*r^cd81jl432tV+U_#6AWmvDWY@Mas-AIVIErh0qf)uq7EcIbMB>;U=yWY)jzo8 z1@0kHY)v$g0f3Yg0GKU+L#XsY^@JQzG%oQPdTV)Yqr;BbH}yr`7IeZFyQ<{Eh1$Y!|^6SIBwwg>!;X zNAD%}z4ZJnWi=jKcuKH~-zNPHXK(A+&v4p~6I_NyaG~r1n184T>!O4pkVzcYGGLMY z00dNRTPZ36h$<*?hV;9iRxUFzXBPEK5F6K4nR7TM=fAi$K>9;HI3tRAE8l{N1gMMy zXN4rC6eOWw?*6Bg%Ts4=0A@81&4|xVv{AKd$<>kAvNoJI5WAR$n{nz3_pxij{rJLN zthfGJ69NZ-(mG-E-fPgH2|88S!1%gQ^{#x;&GEhr0<`IMUY^g=BGwy+ ztZBv%?ZFu#C4iQ?dD_H?V1S0WjXEY!P{@?EH4b3sF6`nj;kG^*u)=?K&HGk%WL@_C z$1|07FF~2?xU4_agR>%>lH-=W#7$Zs|;|gmNVUVOTDgY6#(FSpaJ%=57 z0Gso*mGe3$Ug!*-uLQe}Y0EJH0Du8(Y@phOttY?X#6ZehJ^}@8;TncOiLoZ(3c*?~ z2X(JFB>+f7V2n=-QAv^#C=o%f(yclmo1tr3DM2QsnH_FGGH3D>I$21&UeoH`JaV=^ z)6ulk9?y$z_MX)SIpa@shG%7h4D7vW7GbcX4*2&L!n*gQ`L6$o|LKi<3fETKoS2 XOc73>L>xWHopbJW_gFHrvKDj|y0J6>aRDU(18!Pr zq-IQ#&6tgi%;sSpq#rUb(q9=HGuiM(4;qPMBcqHWC2=qUNCP+k)BpjH4K{#YYRe@S zcfa?XGY=ja8JQVTU71x`6`38Mg;hm*c({A`{rudsUwZm4{`v4}-39`{067+L0$|wU z;$UCBoro@U9Jh<@4_Y%`&Z{>QqI-e`W)=}mjg1Tm#K9KgOxU5Zt%&;8Ixk{9IHXT=2B(dA52xfdF?P_#DUk`l+wFZ{@+|u=>9F zMR~AhTvtEc&;Dc;vRMGkEIeCMZRdr{;iBWc4$N!h`32{fb)dNxNMU)T>CCWiIdEC5 zyK@(vWiKiZF8bUi%uf(5_x&xNjkV+VlIDe%BMpvEq43bXJEI>gXtCwT<*?RXxZrWt z%?q%Xa{^-!h(G}V5j(j!*yf*gR;xJtWis!RgqQUAtknZv((#GNRRwl2^>T}wiY*Ve zz?KJF%(3Oc7TEG&i#fJD*aBM~Y%#}{2U}pvgDvLR@?Z;Wd9cMCTOMqIEf2PsW6Ogr zu;sxPb8LCA1-3lcVva2jw!oGLTgcF5yIY5?7 zMC1^VJCS$AJgy?-2sqwC$Z#jb<9grje>*wm4Z#iP0ny3W8%~P1S*5EI$=!A$A|@ts z=f$1`C&*H3iN*K%#`Ooe={#@{sC%-P2eR-0z{m|Q#|3>(B<@aK$sYg+2tWY&xefp~ zj0!iL2Pbu5=F9C}T32TR;NFs6!ZCA*1MVx^%G{Vq;giIJrAlKW0y0^* zajqqR2!!Mg@1~RPA77RtHyAga2VK7(qEj`8LY6=6T!O5 z_G^k8&I2L>5gbI+nTF&J_x;^~5Ya2NDm26lYBihU&4UA0=T>3X?XE-y>KL$~!VM$A z&EWy1UJg@@b*bQ7%|ZprlBQMOL(IvioH9|_?u>r+={NS@x>rB=G?hh)A@{4MUp#7O zkLqbFc>8IcQ&Wt`_dYuK?E8=3c=WWG?OQv|+?OJ%NJ`po0|#zmJ+tZ1cDf5#_!W-l zplimIo5F)wS25;ElZ?xqUNLJ@s>A)kbi7X{6BI|E{`B}4KR)1r*hVVdRJ)2=@{ZJLNW>$!ERr>o!WOn#BKmYSz{qjd|z1hYg8uK<& zs&7$X4z0rA##*ya3MZyLmyifkOGHi4f3(~C@Yg;C_}}>P`=9yVyPtXQ{R%0#rCMEM z41^68qcrb07TXgI3D3+-m0<||jtM>1I<|n`XHM)Jf>5syUi-|F5mTbX& zCJ4&r6d24NpyDQ0di$jCnyF0TR>OOV+Q5?n-~GaaAADi-*MG40l|T8(;K^aHC=hUz z4=P&G@ANwQ6>bO*Zl&F$-B>k7+KeTYP4V!HZ~y$azV^YL2Nj8>w&B)?p$rmh?N8Ev z86t}-F`R&yJ+x{}O<}#vJ0KzQ(#K?ttD5C7cu?0_Sl87nd5)|?y;KEtGpkwKNJQvq7-XN7G;Z5rE++TC@NfS6yYEZpsY*A=$+_`K&_M3y z0%B0%RCs`MLzoo|Cgxbe$vu-jW-HQka<{iTp<6$lJ>2X6`R{zCKN`IK|NNjTnw#NQ zxFI~C9cmvw>J9IG=O2Id!(aY|Pdy$?XfkSAixoM$Ny|_}_L^BM;i!njP5_e&8%qmQ zwxb18mHhy z&>Gr$5n7gMHdBY!MZEw0zw>wB`Ri>?<3hAdo!a)O?bMO zYH4z4l#&_20;38-glYZwtDpPkX9vS4MU1i0x~hgpP1BTm?OM@Zw|Rjf4ktGE*t%Ly zV&%9wy8rfH{KhZP-87UK&X`5#nAws3)_{8Yv)RWuk8{Z6f?@hk? zN4;~mn%pHEs zcu-`w7{F3Ti)~Y67L2~}PrlZ}UX$Bdk1OIvQ&YrU3#4il<)_pBy?d3n`n&(S_kaHW zXg1A7EEN)hN@#^lB6CSueCGZ}nHx5VVN~??9}eI7VL6-W7w%J(BE%+VGLI}|X6%VQ zphzi?dOZvy|Jl3L&O)DyqJmxzC2_%nYo;e^WQB`q)#gdmJky_j^$XKmZ=h~8dSJ_> z0QXds+1(qfdwad~v%lj1?e{+aZ~tT{cKF%BkVEXTqHWV8>kN_+633QfJFWGANVH_C z4sS=2+5K;S@819MuSf46>={esF=-29CpfzVdY zlP!pA#)EMIZ<4pU-+Hfzvx^W4iJ?j6vKhUrL zm&4EAPPcB;Up%RKJadM}9jfkme^f)JZO*Nh7|w7fkXI?sn*QO?`u9`tPk;aWv+w*^ z4kj#Og?Nn4!~mIFDLd2I6Hf019R2z)j$&1R@ZryA_4zB`WD;CI9#plIq9`Tx!mOUO zpZz7;`Qm{e?oGW$&|*MYELel7SZafCzob9-Q~!_OynVM&uI176es!nuUNjeivd>tX z0FS~PSSc0A3Q0mDsmz>bL3uX3{onkj|6G6j+qslqKBV`;Osp^7D^gQ5@+9OzS={|V zKY07C{G~7Lt9&#)djIGs2`f=f8YRHIZd)k}UtSgsn6HJj0T$*p;{h{gqL4k2msIV4 zdL(X61fJhb2Hc54RI@=WtMB}v{Nw*R?Dsw@JRCLLFMl%f-m|>_zVbDVcYRK4fZhLtMCPL|}6zEfNmiy3_0oV|ELYm>(S; zK04e-6b_*2cH0 zq5-HZccvE1+DcrXRf$BWG2bYhdW6~G-uM2BBD$KVsBrg)5R?JsI!y+nw0A2Ql4*!V zhJX0<>7%Fn$&HIrO*fMS*N+G087?XWv;9x)u|_i^2f*B|a?RxKL?n|Vyz|3eS?SYh zkBT5gJ()@sXO+z4)RL8_#-1HyAS3qW*ECu`@oXr?_kMi4ZjOi|SL|&j6DKwYyJcmM z>CPQxi!7;WnHf)!29_MsZk*V1Mq^J zB{m`7-L2W9Qi1YFx?8tsIS7D4-MwE` z<3|s7+cX72)mP(*w&kd2ZK|euRP&hyD$f{ir)C5qBI-HDWgJa;S1>(zI^Z5@aymmX{n#~K(01>_5BE-*F)p~L87aTAu!mMe{ zOhl;HXC^kl{Ix%iH-`r&RjrHn7yWK$kE{x|+cR16{K%@IEZp(%@GvFa8|{=Kq_&~g zO@tf5gY&|`pIKaXW-L#vhL1hVb6>z}xOY*1cO1-WX10E>Dx#}C$Cs}VuUj6yBrK-n zOZ)1d&4K5X0Uvwz$dZ$pLSkvmovzSeH3?p2+~J1sU|BJA_v1Er7rT#_5cn7Vig{pW zW_8PE4z6=LI6OSR<0}q6U9)*XsaIMpmbDqEjEi>UDM1>b%6&tVdfHE*QDa)7)NO67IH)UrB7lx*XE^SoV-BF}y(K=MA`~us(vrvBGZA6lvXKM~ zNs9eh9b+tuqM{%US91agD~sl?2-i#=h>jJL6zaOn%pL++Po{&=L+YhAHg)ppB-Z1y znR4CQioBprL&v1Y2M2Z2DwDdY8#9N%40~mMg=;1cQqgCX&>)w?HcR5*HB&=RqY04| zkz(nkm^gdiwSWEyt8KznIOAzvNRUPOnh`ExsdmjA$(@N75-2(L#}hN`_IhPmXlh+u zMC?^13SToGXq_D%D4+;Csx2i8FiW0|8NqM@Jwc3nnEKcSGSH!Y1%})-Ga+_|CMnzSox}jG!Z(lPW zAi+aqW^gK=Jh55U#~(F5j%_hh^`a1msE2+OGThzE>BOF-r7`x?`qy$B=Eat?A!(b3 zq2@=R%QQLg)7_K26A2Dibs{Guw{hFbWHRdai?Y&JyuhA^YAtEH4 z-QaLWo73aN{ky}#nLV%Q@_0k?WzV3YHfGA^htY)))eJ&bitUsW$%(WontqsCoh((8 zHd&ctm0|&emmjIWr|fLud%bqQoE}4w^yA;(-#Gb@!y}usVO4p=^B` zG44%rSynX%p2S8|DP=Au5=65y)cT{wNM?!q!#oR`oMUZFu|yFLwW&+CF7M5?b3%m9 zC*f>7&v_(sAtnwp_k+|PG;JaYA&?uiWjF-+QeLuWV?*Tu1wrxv>Kl{h+HxCEkniKD z?3bmKu}Rb#LQz+EEOw`fd-v|wt`83m4rUV$(b?H7teL~f9Olf&)v81cGC3(vJtH~l zfSz$RNtARNF&ze(Xf?59sRs@PREcw*l%(RjExmWYz(Iass4P5wy03kCYv;CobT}S; zyyCYk_7A5Mcc-c-gn?jY1d0+|UvkRphVp=!6O0inWteJk7Y&BH9JEcfXEP~U_M=2% z{gRLJN9CYrM6>qk(e#MR2tb{}8Uw!w?C#`55F+wCcSuWK9aNOu4@BfrJLe`_T|=Fd zHbJ47WlhdQj)x^C)IMpNoug2i)Xl7|V(;$o=;{6p(>Uk>&4unmofWgGyYBRQkp-Gv zA#nSI=m)`|0VAGj$MkOg z%x`?{N8kUJ)IR7BCuM5AjzUz%pEUJ7tVnuW;JgCJMQAmT>xPJiRTU+8*3`68zGT0` zhVme`mJJ@cwgmRlh3eLfGLMG;_&4zne(k6l5U4UI@-fm51`aT=OV|alT*JQ#U96$o z!GNZ*>2zxF%&X=0z%&(bXnEK^V7YC~A?2R*i;$xC1B|FO4es&&+u?t?+mFBVNouVmf3jP5IqvjpB(+dRICiv1#RTReqA9aOVu`HozIO2(B8a#tz#?MpIL(d# z(lyg}skdxu?nVeD38iGvnCOV6Ik6gr5T-$kI%SEE9t`drrZ4@o|9SRnU-{^Ff3JS` zT^SXrNrTk1<*Da=9SIhKK~okH;@GN<>luJyRTf1wd&!FeZ72^^m{i4;$(%qccK0s- z!@qU=!Q1X;1XLWr$-&tqF!6vG4p4+SK=26nx%@wm)*uW;w*muGaOdaMH9Fbq{ux zcMt(nYdWrHfc1M-vC5b6B7TJp8bxvrE z7)8-Le~=fs;h|gD@G^n3tAub?pfxW;U&ph$U;01!t+MGM8UgIoEv?r5fJg)eic_49 z5&&RTAM6E~xiiDNSJyIsaYL7%tv2ic0HIWX#Tk+eF!xX+%dxgmSx}^dklZ9tYl!b> z8vWMa`{3)}5>LCf%jjk+7>tOFI?vTvvM%x=@?6_>(}&7ii3 zYC1vP4StCzVG0+QBsQqLxBo!m+IMQ#YY`v&r0Sy^Lr4ISyc5xBWjAabTo z&@MQ^%to+dSLWh3^2OzO&Y6fiSMliUYuDdm}OV7yyC;L>4#)iZ)N`Ti7_q&XXfuCf; z`3j1h>DQ6mNH_r9<3SV>klNPWi=rqwIE)-5?C!}@__+S>;gw~;ZE+rF(j;FTb!v?u z1xI0b@6?FM@ndBV>&wn)*y3`y&@^$X)5Fr}Ww)knr>V)uQ;$Wiv^Kq1 zIr+SDpFsZFTlU;U%vJZLfLRB1@4U|JuJCyqNAq}G;CMbpiQ~ZL{Jnz!BPZd`QEgyi zN<=9qClnz>5zA_3BGi>jxHB`uY(w*rw&-vo&|hr&PNtsBEJTsO!QI_Y`3tr@xW-rx zP<1U-&NHRc|FUXwcXttCCeH>ZK8Z$Lw`B%DIp|tsbdCW&H@@sx@~eORp^O}a>Y^wuo7M8sTi#J^Y%jJ$XKLUZ74L(b4lUj8rIW_cK9&92`sIV%3X=T2` z!o#={bo^O1ZB*6WPCKNx^TI}>o81@kdogfydR}-20~Y=vGZ1+v6iE=2Q8f8WRq zlr0u8dI?<#+?~-SMl%Ir<~F4|wb>NT9hlXe%L1KLJ1xSIiydAh2}f0(Vdh&NTt6(> zu$)+WIWJRo6Q^WbyK%E|J_}(vK6#S1dT|oWj{vBdZh3HxaH^5`X*a`j>XPSU+=~i} zEe|#w&*+h`Oo&UE6({9Z?pq#gG**r=9oI#jp~7X3Z`L^&wmjH$oKXeNeDs1mFq<2y z8_EMCM5kcL@C;|CU`URxQjE@6OPiNQbAFxB?$71nTzLAPa}-Yrq|0zrsfQkxuTQS(ko!MO~(^2+NbgOTT7!KXb@s3M?-+^gKt~TzSx8 z{(I)r>dE%a7Yt|GcfXn{{qvct&xwte2glC!E^U)GubtOgoLbr8%FePl_)`sc_q{a{eq!h{P=tC?Ec}`^Z)qY zwVL}?U_c#eYC?#4U1=W6x*w0~I-Lp2Y$y+eV@4`^!P~kQ;>?<+ne}&fIOqG*=}-UF@4xfE|C{Q~H;Xs!%>tXy zFs*JCwocs>k({%LB=dRYSI%_tRm&tmRoz|4#mVb-dUV)MXZgud*y;I5?h7R!6*w%0|IBr4C=a+b1JGk_+aMA=Hq*B16^|?rSX9gP^#A|| z<4Ht8R6h5)w{A7FAAb1Z&)TJt{YTlMXgJxQaAMrp$Yt@25|?FcC=WCk1DqlN2(o1W zsG{1G13QU8_J(^Q_8%P`9372$xT84-r@(CLMgUVbTen_YXTi_=MF5slm(XB-F<;f> zSi*AG?-Kxl1(LIaDORaY!>Ry~YK08RPy5En=9bP&ax$GMg6lf35)n+hT!gNz1v9$7 zNdy>y@Nw-GHw_$vrEF%*9760D)lQXi&a*ZJ;t+zWX3HFcFpD4e^|&%zm&j*_WiRbK z^uRH(b;vmjQD6q(S%tAv_R1JPe7c`av$n?Kfjf*9OOcu%z=nN#_Re9*u{wO5(nuShq~%j z#?N0sHgj^jhVlSJ#6e*0?yBkpkh9s|&akNB!^6Yztd@d9DBE^zpRf&?*H=r0E1<%< zL)E|h*eqF~H zIY#TMdYJ-+*WO~Dk1w_Ra}$;kxlugm9wR0yg{kUSMLDfoQg?D@yJ&?+peFvKea4Kw=gKz24;aRjKi+m5{jcjkEPjc&Av{=kWEILjUsBoOAp}jC zS#A$UAry~~j%J#qEGWM=lVRQj@AQzbR9mmex405Fga-@#PH-v{Q$3^82;2r`0qpEg z$4Ap?IUH)6ENfs95qDSe*HS?{m;8LHZT5VlyAYqKuI5YCt9V%@zvkD_uY6IQ#P=M+ zT!h%Kddxhj+Ykbk!OXI0w~F)zE*yNmr_~kVhV!7qyakY>3PRMYLd@-fn=82q84=Xj zDX`c^7SbNai?PIvms~)-8UB!One5ycpD$}C}TIEtZsbaPG$jz&9_rmwSAnvaEd4w@QB=S9;^cqG4XNxEh>n5Wo2gLdRBx; z5>z#55|I#snXS8qUGei%@Ycu@*-I-GP$f|5gsgvr6{ z^VqIhdt6ou=36@MZtcdG0(bLy7YOfyzXfv$(TBrvJsqcpf^ZCOU1t{3*Q6hq+pZAn|U$Fk^W#O1-r<8*QUZRTd3FQHK*EtV5&*7in-y#G} zEx`Sv0B~5>ttx`7%LBN=W~sokp14p8j?>RyGD5Z<@;*g&a=^RB0Dkor(Q5{s`hW3U zsi;E9h?)Dnz(qNp)#G~V5{T%;17R*iz37;>xc;3zI%hu5GMjXd0T|fqh zd)Ih@S(PlbDO4UHfpySTzAnDM+)L*Z1b0z$cT!=N=vq<_VbJyDbUV%pF=xQt!__MY zD>sv@F5Pt3WgGLD3iCIz6s_()Xldx+%x!2bJuP*|Cge^h#wyt>ONrVjuoI|T9u*v- z`>;eA@Gy-{=j*O_iy4sv&hV?YBi22MA5&*{=8a+b2|tNn5A!3(P)z@SYn4)r#e^d) P00000NkvXXu0mjfy7fK9 literal 0 HcmV?d00001 diff --git a/images/history.png b/images/history.png new file mode 100644 index 0000000000000000000000000000000000000000..325583b439391a0abe08a2009e360981295b2842 GIT binary patch literal 8366 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

9k1DBv(NFD%y00IKb2rSm1yv*!X9kXI|UY`@G z@)jTfTc65^U_sQk;ryNJU?wCV&Ei_>+i1T@H=1B7B#bmM zORha1H1iDl;E*Iq;P$RQcwx#Cr687CD>7D+@cLSByhqm={8Ig`YuW3KCuv=1Lt{M- zwFU$LM1jy;?yr_hwwLPq7uTHp%W_637rtqXNruDSyZ6Fmm=?JRWEjR;Te(`Z#*g5a zZ?_ZzHmG&oX8Wa5efOf5J(vZwNIlL3-N%1z@+^Dp_X9s+zC3~Z;ud8&-kLJ=3#F9S zaTvx#w$v!FC3w373za3NxgRv&dYccRXGVKNkFTg1_WrsOm$JUwkEd(T2g}6F);6nk zxgtKvcywPrIDB!CQW!QJSa;o1-YURUTX6|ircg|%ZV#3ov(i{ z2Q1}`4MX+)jPb=BpE7I%;)prWK2XS$1lr5HQ(7) zQklQD*090+f9aTrSk=*}1vu}+VqYs1?ozt;eBd^NmHc4<0HE0j1HQy(G9DS=)6-MP z7vz#}7-yLyMktL5Ni=a*=y(pcXzk8Hm0-b5l&Eh5-;l|Mnc0fwrcwzp)-pPWb96%f z@)TlVs`I`xF)-w5S9NKmmB|`CuJ+nb8*!kD_R6YwP@F>0+9^qZlAmMG62q zdKzvBb?Oz|xYN?4W-g9(L)AZZywF@Ltl__vkY)ExvGu-kIo()3Xyy>{N%}{lQGjrA za*{8yI1B}nOQsRVk=0AtqB${}Q;BtTflCwJbT^XTO=5!#*ubjmr1jt-0FNPBKn8Rm zXaC(c>BjPbf1zGtaMHtYx}^;RfGIVAB`K=1x>Roi?q&ID*r*q9YZlk^@9qJcnV{8Y zLyKbt#Hu7@M~bviYiGxQ8a)SU&LCb(fjO5WRCc zNimsBT!O7KD?*fr&{R6Qm{N9lXC3eszX*qplN z(#NdvZv?cBi@OtPLw)KN-B>y6U>!NLq{kJ65Dr(kI6AV-h&9t7B7mgJ6QVcGm9K&MxB54yw$c7$eU~py!1m7Z zf!`ZEH#l5D5}ci!7Fj-sA|i6BF{3D2ha+_XX)l@jmbGT2<~R)i%Fh-eLSr0{6ReXT zU&G4a+0FqT?;Ia29kYaJqK%`;mNjqz=f+spEGQrlY@q8$)TJxwW=*`WZ^+G7L`Kno zjIOGo^hzYXC%(IU;57&*NE&03@kmHt0&NA)s;C z{0Y}izrTTXu?$`6!wD`qYn=u49n~AxQ43e_=BPLb3tb8!lF_Kb6$%v+Il#7?sIn^? zUJ-I=9n(@3Xq{W*;tiZ&!{?xdXY?69*51rJ$_E}-@G74Z1_Kg?xhM*fa%cDU;$ps- z&0T%Zo|$gUT(f;08?3YYT@iPx=Mu3`cX(AHu}kk9AGG`xmaE6D7+bqKhG95LN@O$7 zoFK`}8m#}CSRXjRD~>}5E6~%@pdgk-y#)i*g|`_@uc5&L)=GqMT0eAxAvXY1-fyMa zA#e#hyAtzAE~5kj{mlua?Ov8@1gXJ!Kl4FFO*GKg z19deIN7G3VN3*kY7jRt_xmqm}=Livj^%_aO-Qvh%Wu$=GX?C4pe-%(@bD!Q*-ckF) z25M@OOFpocB?Lh*7!07!N{U46;~`f?fM)Dz{h}EhfV^gU)+}i3jN?3**9_ud25hT{ zl}~ol`?8Nwe&&OIYHSQp7K(_5qoI^CozJx@DUdFfvg=~h^au2!Au}WPv;zS5OtzeqyC$}vBZrTZHjelnGq~oZ5av0Ac_b$5H?qS z+A5o*L#%<@*$?Yf$-ZU9f@#rP8r{a`!?oS^Cd$wPaC33 z))z6JVKIU@6OjlrDYW$uT;BvkD^vSBOvp@2NgjxVkf97A%eChKiIq%Z%RX86iTaU1EC90>tzC@L@u?TD;WH2v>Q6y|BZR3oU&&iKPDsKpJ zJyVt$0R#dDQW8eYN-3k1%j5`%%)r{3SA1_RyS87=cAZNZt&|$;=q8=}Z|n|;=q1Kd io6uM&v>k*(tN#Z>Nj^>~pkwF&0000^q= literal 0 HcmV?d00001 diff --git a/images/home.png b/images/home.png new file mode 100644 index 0000000000000000000000000000000000000000..4555e7a56e266983dec9b539ddc5b69d9c762679 GIT binary patch literal 22415 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 { + const records = res.data || []; + const dream = records.find(record => record.id === id); + + if (dream) { + this.setData({ + dream + }); + } else { + wx.showToast({ + title: '未找到记录', + icon: 'none' + }); + setTimeout(() => { + wx.navigateBack(); + }, 1500); + } + } + }); + }, + + // 获取情绪图标 + getEmotionIcon(emotion) { + const emotionObj = this.data.emotions.find(item => item.value === emotion); + return emotionObj ? emotionObj.icon : 'info'; + }, + + // 获取情绪名称 + getEmotionName(emotion) { + const emotionObj = this.data.emotions.find(item => item.value === emotion); + return emotionObj ? emotionObj.name : ''; + }, + + // 删除记录 + deleteRecord() { + const that = this; + wx.showModal({ + title: '确认删除', + content: '确定要删除这条梦境记录吗?', + success(res) { + if (res.confirm) { + wx.getStorage({ + key: 'dreamRecords', + success: (res) => { + let records = res.data || []; + records = records.filter(record => record.id !== that.data.dreamId); + + wx.setStorage({ + key: 'dreamRecords', + data: records, + success: () => { + wx.showToast({ + title: '删除成功', + icon: 'success', + duration: 2000 + }); + + setTimeout(() => { + wx.navigateBack(); + }, 1500); + } + }); + } + }); + } + } + }); + }, + + // 编辑记录 + editRecord() { + // 在实际应用中,这里应该跳转到编辑页面 + // 并传递当前记录的数据 + wx.showToast({ + title: '编辑功能开发中', + icon: 'none' + }); + } +}); diff --git a/pages/detail/detail.json b/pages/detail/detail.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/pages/detail/detail.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/detail/detail.wxml b/pages/detail/detail.wxml new file mode 100644 index 0000000..4610062 --- /dev/null +++ b/pages/detail/detail.wxml @@ -0,0 +1,82 @@ + + + {{dream.title}} + {{dream.date}} + + + + + {{getEmotionName(dream.emotion)}} + + + + + + {{item}} + + + + + + + + + + + 场景 + + {{dream.scene}} + + + + + + + 人物 + + {{dream.characters}} + + + + + + + 情节 + + {{dream.plot}} + + + + + + + 其他细节 + + {{dream.details}} + + + + + + + + + diff --git a/pages/detail/detail.wxss b/pages/detail/detail.wxss new file mode 100644 index 0000000..91973ea --- /dev/null +++ b/pages/detail/detail.wxss @@ -0,0 +1 @@ +/* pages/detail/detail.wxss */ \ No newline at end of file diff --git a/pages/history/history.js b/pages/history/history.js new file mode 100644 index 0000000..d174af8 --- /dev/null +++ b/pages/history/history.js @@ -0,0 +1,129 @@ +Page({ + data: { + records: [], + filteredRecords: [], + allTags: [], + selectedFilterTag: '', + searchKeyword: '' + }, + + onLoad() { + this.loadDreamRecords(); + }, + + onShow() { + // 每次页面显示时重新加载数据 + this.loadDreamRecords(); + }, + + // 加载梦境记录 + loadDreamRecords() { + wx.getStorage({ + key: 'dreamRecords', + success: (res) => { + const records = res.data || []; + const allTags = this.extractAllTags(records); + + this.setData({ + records, + filteredRecords: records, + allTags + }); + } + }); + }, + + // 提取所有标签 + extractAllTags(records) { + const tagSet = new Set(); + + records.forEach(record => { + record.tags.forEach(tag => { + tagSet.add(tag); + }); + }); + + return Array.from(tagSet); + }, + + // 搜索功能 + onSearchChange(e) { + const keyword = e.detail.value.trim().toLowerCase(); + this.setData({ + searchKeyword: keyword + }); + this.filterRecords(keyword, this.data.selectedFilterTag); + }, + + // 选择筛选标签 + selectFilterTag(e) { + const tag = e.currentTarget.dataset.tag; + this.setData({ + selectedFilterTag: tag + }); + this.filterRecords(this.data.searchKeyword, tag); + }, + + // 筛选记录 + filterRecords(keyword, tag) { + let filtered = [...this.data.records]; + + // 按标签筛选 + if (tag) { + filtered = filtered.filter(record => + record.tags.includes(tag) + ); + } + + // 按关键词搜索 + if (keyword) { + filtered = filtered.filter(record => { + const textToSearch = [ + record.title, + record.scene, + record.characters, + record.plot, + record.details, + ...record.tags + ].join(' ').toLowerCase(); + + return textToSearch.includes(keyword); + }); + } + + this.setData({ + filteredRecords: filtered + }); + }, + + // 获取情绪对应的图标 + getEmotionIcon(emotion) { + const emotionMap = { + 'happy': 'smile', + 'scared': 'warn', + 'healing': 'like', + 'strange': 'question', + 'sad': 'cry', + 'angry': 'no', + 'nervous': 'waiting', + 'calm': 'sleep' + }; + + return emotionMap[emotion] || 'info'; + }, + + // 跳转到记录页面 + navigateToRecord() { + wx.navigateTo({ + url: '/pages/record/record' + }); + }, + + // 跳转到详情页面 + navigateToDetail(e) { + const id = e.currentTarget.dataset.id; + wx.navigateTo({ + url: `/pages/detail/detail?id=${id}` + }); + } +}); diff --git a/pages/history/history.json b/pages/history/history.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/pages/history/history.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/history/history.wxml b/pages/history/history.wxml new file mode 100644 index 0000000..f88fb66 --- /dev/null +++ b/pages/history/history.wxml @@ -0,0 +1,90 @@ + + + 我的梦境记录 + {{records.length}} 条记录 + + + + + + + + + + + + + 全部 + + + {{item}} + + + + + + + + + 还没有记录呢 + 快去记录你的第一个梦境吧 + + + + + + {{item.title}} + {{item.date}} + + + + + {{item.plot.length > 50 ? item.plot.substring(0, 50) + '...' : item.plot || '点击查看详情'}} + + + + + + {{item}} + + + + + + + + + diff --git a/pages/history/history.wxss b/pages/history/history.wxss new file mode 100644 index 0000000..e3b28f6 --- /dev/null +++ b/pages/history/history.wxss @@ -0,0 +1 @@ +/* pages/history/history.wxss */ \ No newline at end of file diff --git a/pages/index/index.js b/pages/index/index.js new file mode 100644 index 0000000..3146157 --- /dev/null +++ b/pages/index/index.js @@ -0,0 +1,82 @@ +Page({ + data: { + animationFrame: null // 用于保存定时器ID + }, + + onReady() { + // 获取Canvas上下文 + const query = wx.createSelectorQuery() + + // 获取Canvas宽高 + query.select('.starry-canvas') + .fields({ node: true, size: true }) + .exec((res) => { + const canvas = res[0].node + const ctx = canvas.getContext('2d') + + const dpr = wx.getSystemInfoSync().pixelRatio + canvas.width = res[0].width * dpr + canvas.height = res[0].height * dpr + ctx.scale(dpr, dpr) + + // 绘制星空 + this.drawStars(canvas, ctx) + }) + }, + + // 绘制动态星空 + drawStars(canvas, ctx) { + const width = canvas.width / wx.getSystemInfoSync().pixelRatio + const height = canvas.height / wx.getSystemInfoSync().pixelRatio + + // 创建星星数组 + const stars = [] + const starCount = 200 // 星星数量 + + // 初始化星星 + for (let i = 0; i < starCount; i++) { + stars.push({ + x: Math.random() * width, + y: Math.random() * height, + radius: Math.random() * 1.5 + 0.5, // 星星大小 + opacity: Math.random(), // 透明度 + speed: Math.random() * 0.5 + 0.1 // 移动速度 + }) + } + + // 动画循环 - 使用setInterval替代requestAnimationFrame + const animate = () => { + // 清空画布 + ctx.clearRect(0, 0, width, height) + + // 绘制每颗星星 + stars.forEach(star => { + // 更新星星位置(向上移动) + star.y -= star.speed + if (star.y < 0) { + star.y = height // 星星移出屏幕后重新从底部出现 + } + + // 随机闪烁效果 + star.opacity += (Math.random() - 0.5) * 0.02 + star.opacity = Math.max(0.1, Math.min(1, star.opacity)) + + // 绘制星星 + ctx.beginPath() + ctx.arc(star.x, star.y, star.radius, 0, Math.PI * 2) + ctx.fillStyle = `rgba(255, 255, 255, ${star.opacity})` + ctx.fill() + }) + } + + // 开始动画,每30ms更新一次(约33fps) + this.data.animationFrame = setInterval(animate, 30) + }, + + // 页面卸载时清除定时器,避免内存泄漏 + onUnload() { + if (this.data.animationFrame) { + clearInterval(this.data.animationFrame) + } + } +}) diff --git a/pages/index/index.json b/pages/index/index.json new file mode 100644 index 0000000..aa3f1b0 --- /dev/null +++ b/pages/index/index.json @@ -0,0 +1,5 @@ +{ + "usingComponents": { + "navigation-bar": "/components/navigation-bar/navigation-bar" + } +} \ No newline at end of file diff --git a/pages/index/index.wxml b/pages/index/index.wxml new file mode 100644 index 0000000..3d4f2bb --- /dev/null +++ b/pages/index/index.wxml @@ -0,0 +1,12 @@ + + + + + + 梦之笺 + 记录你的梦 + diff --git a/pages/index/index.wxss b/pages/index/index.wxss new file mode 100644 index 0000000..9c81f66 --- /dev/null +++ b/pages/index/index.wxss @@ -0,0 +1,34 @@ +.starry-canvas { + position: absolute; + top: 0; + left: 0; + width: 100vw; + height: 100vh; + background-color: #0a0a1a; /* 深蓝色夜空 */ + z-index: 0; +} + +.content { + position: relative; + z-index: 1; + width: 100%; + height: 100%; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + color: #ffffff; + padding: 20rpx; +} + +.title { + font-size: 60rpx; + font-weight: bold; + margin-bottom: 20rpx; + text-shadow: 0 0 10rpx rgba(255, 255, 255, 0.5); +} + +.subtitle { + font-size: 32rpx; + opacity: 0.9; +} diff --git a/pages/index2/index2.js b/pages/index2/index2.js new file mode 100644 index 0000000..7e4a50f --- /dev/null +++ b/pages/index2/index2.js @@ -0,0 +1,83 @@ +Page({ + data: { + playbackRate: 5.0, // 默认1倍速 + animationFrame: null // 用于保存定时器ID + }, + + onReady() { + // 获取Canvas上下文 + const query = wx.createSelectorQuery() + + // 获取Canvas宽高 + query.select('.starry-canvas') + .fields({ node: true, size: true }) + .exec((res) => { + const canvas = res[0].node + const ctx = canvas.getContext('2d') + + const dpr = wx.getSystemInfoSync().pixelRatio + canvas.width = res[0].width * dpr + canvas.height = res[0].height * dpr + ctx.scale(dpr, dpr) + + // 绘制星空 + this.drawStars(canvas, ctx) + }) + }, + + // 绘制动态星空 + drawStars(canvas, ctx) { + const width = canvas.width / wx.getSystemInfoSync().pixelRatio + const height = canvas.height / wx.getSystemInfoSync().pixelRatio + + // 创建星星数组 + const stars = [] + const starCount = 200 // 星星数量 + + // 初始化星星 + for (let i = 0; i < starCount; i++) { + stars.push({ + x: Math.random() * width, + y: Math.random() * height, + radius: Math.random() * 1.5 + 0.5, // 星星大小 + opacity: Math.random(), // 透明度 + speed: Math.random() * 0.5 + 0.1 // 移动速度 + }) + } + + // 动画循环 - 使用setInterval替代requestAnimationFrame + const animate = () => { + // 清空画布 + ctx.clearRect(0, 0, width, height) + + // 绘制每颗星星 + stars.forEach(star => { + // 更新星星位置(向上移动) + star.y -= star.speed + if (star.y < 0) { + star.y = height // 星星移出屏幕后重新从底部出现 + } + + // 随机闪烁效果 + star.opacity += (Math.random() - 0.5) * 0.02 + star.opacity = Math.max(0.1, Math.min(1, star.opacity)) + + // 绘制星星 + ctx.beginPath() + ctx.arc(star.x, star.y, star.radius, 0, Math.PI * 2) + ctx.fillStyle = `rgba(255, 255, 255, ${star.opacity})` + ctx.fill() + }) + } + + // 开始动画,每30ms更新一次(约33fps) + this.data.animationFrame = setInterval(animate, 30) + }, + + // 页面卸载时清除定时器,避免内存泄漏 + onUnload() { + if (this.data.animationFrame) { + clearInterval(this.data.animationFrame) + } + } +}) diff --git a/pages/index2/index2.json b/pages/index2/index2.json new file mode 100644 index 0000000..aa3f1b0 --- /dev/null +++ b/pages/index2/index2.json @@ -0,0 +1,5 @@ +{ + "usingComponents": { + "navigation-bar": "/components/navigation-bar/navigation-bar" + } +} \ No newline at end of file diff --git a/pages/index2/index2.wxml b/pages/index2/index2.wxml new file mode 100644 index 0000000..a1d265b --- /dev/null +++ b/pages/index2/index2.wxml @@ -0,0 +1,15 @@ + + + + + 欢迎来到我的梦境 + + diff --git a/pages/index2/index2.wxss b/pages/index2/index2.wxss new file mode 100644 index 0000000..daa02e9 --- /dev/null +++ b/pages/index2/index2.wxss @@ -0,0 +1,31 @@ +.page-container { + position: relative; + width: 100%; + height: 100vh; + overflow: hidden; +} + +#bg-video { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: -1; +} + +.content { + position: relative; + z-index: 1; + display: flex; + justify-content: center; + align-items: center; + height: 100%; + color: white; + text-align: center; +} + +.title { + font-size: 64rpx; + font-weight: bold; +} \ No newline at end of file diff --git a/pages/record/record.js b/pages/record/record.js new file mode 100644 index 0000000..79b4c3a --- /dev/null +++ b/pages/record/record.js @@ -0,0 +1,172 @@ +Page({ + data: { + // 梦境内容 + title: '', + scene: '', + characters: '', + plot: '', + details: '', + + // 标签数据 + dreamTags: [ + '飞行', '追逐', '考试', '重逢', '坠落', + '迷路', '被追逐', '飞翔', '裸奔', '牙齿脱落', + '死亡', '结婚', '学校', '怪物', '亲人', + '朋友', '陌生人', '水', '火', '天空', + '未来', '过去', '重复的梦', '清明梦', '噩梦' + ], + selectedTags: [], + + // 情绪数据 + emotions: [ + { name: '开心', value: 'happy', icon: 'smile' }, + { name: '害怕', value: 'scared', icon: 'warn' }, + { name: '治愈', value: 'healing', icon: 'like' }, + { name: '怪异', value: 'strange', icon: 'question' }, + { name: '悲伤', value: 'sad', icon: 'cry' }, + { name: '愤怒', value: 'angry', icon: 'no' }, + { name: '紧张', value: 'nervous', icon: 'waiting' }, + { name: '平静', value: 'calm', icon: 'sleep' } + ], + selectedEmotion: '' + }, + + // 标题输入 + onTitleChange(e) { + this.setData({ + title: e.detail.value + }); + }, + + // 场景输入 + onSceneChange(e) { + this.setData({ + scene: e.detail.value + }); + }, + + // 人物输入 + onCharactersChange(e) { + this.setData({ + characters: e.detail.value + }); + }, + + // 情节输入 + onPlotChange(e) { + this.setData({ + plot: e.detail.value + }); + }, + + // 细节输入 + onDetailsChange(e) { + this.setData({ + details: e.detail.value + }); + }, + + // 切换标签选择状态 + toggleTag(e) { + const tag = e.currentTarget.dataset.tag; + const { selectedTags } = this.data; + + let newSelectedTags; + if (selectedTags.includes(tag)) { + // 移除标签 + newSelectedTags = selectedTags.filter(t => t !== tag); + } else { + // 添加标签 + newSelectedTags = [...selectedTags, tag]; + } + + this.setData({ + selectedTags: newSelectedTags + }); + }, + + // 选择情绪 + selectEmotion(e) { + const emotion = e.currentTarget.dataset.emotion; + this.setData({ + selectedEmotion: emotion + }); + }, + + // 保存梦境记录 + saveDreamRecord() { + // 简单验证 + if (!this.data.title && !this.data.scene && !this.data.plot) { + wx.showToast({ + title: '请至少填写一些内容', + icon: 'none', + duration: 2000 + }); + return; + } + + // 创建记录对象 + const dreamRecord = { + id: Date.now().toString(), // 使用时间戳作为唯一ID + title: this.data.title || '无标题梦境', + scene: this.data.scene, + characters: this.data.characters, + plot: this.data.plot, + details: this.data.details, + tags: this.data.selectedTags, + emotion: this.data.selectedEmotion, + date: new Date().toLocaleDateString(), + timestamp: Date.now() + }; + + // 从本地存储获取已有记录 + wx.getStorage({ + key: 'dreamRecords', + success: (res) => { + const records = res.data || []; + records.unshift(dreamRecord); // 添加到数组开头 + + // 保存回本地存储 + wx.setStorage({ + key: 'dreamRecords', + data: records, + success: () => { + wx.showToast({ + title: '记录保存成功', + icon: 'success', + duration: 2000 + }); + + // 返回首页 + setTimeout(() => { + wx.navigateBack({ + delta: 1 + }); + }, 1500); + } + }); + }, + fail: () => { + // 如果没有已有记录,创建新数组 + wx.setStorage({ + key: 'dreamRecords', + data: [dreamRecord], + success: () => { + wx.showToast({ + title: '记录保存成功', + icon: 'success', + duration: 2000 + }); + + // 返回首页 + setTimeout(() => { + wx.navigateBack({ + delta: 1 + }); + }, 1500); + } + }); + } + }); + } +}); diff --git a/pages/record/record.json b/pages/record/record.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/pages/record/record.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/record/record.wxml b/pages/record/record.wxml new file mode 100644 index 0000000..be87aa2 --- /dev/null +++ b/pages/record/record.wxml @@ -0,0 +1,114 @@ + + + + 梦境标题 + + + + + + 梦境内容 + 可以分场景、人物、情绪等方面记录 + + + + + + 场景 + + + + + + + + + 人物 + + + + + + + + + 情节 + + + + + + + + + 其他细节 + + + + + + + + 梦境标签 + 选择与你的梦境相关的标签 + + + + {{item}} + + + + + + + 情绪标记 + 这个梦境带给你什么感受? + + + + + {{item.name}} + + + + + + + diff --git a/pages/record/record.wxss b/pages/record/record.wxss new file mode 100644 index 0000000..d93fa42 --- /dev/null +++ b/pages/record/record.wxss @@ -0,0 +1,148 @@ +.container { + padding: 16px; + background-color: #f5f7fa; + min-height: 100vh; +} + +.section { + margin-bottom: 24px; + background-color: white; + border-radius: 12px; + padding: 16px; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05); +} + +.input-section { + margin-bottom: 24px; +} + +.section-title { + font-size: 18px; + font-weight: 600; + color: #333; + margin-bottom: 8px; + display: block; +} + +.section-desc { + font-size: 14px; + color: #666; + margin-bottom: 16px; + display: block; +} + +.dream-title { + width: 100%; + padding: 12px 16px; + border: 1px solid #e5e7eb; + border-radius: 8px; + font-size: 16px; + background-color: white; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05); +} + +.segment { + margin-bottom: 16px; +} + +.segment:last-child { + margin-bottom: 0; +} + +.segment-header { + display: flex; + align-items: center; + margin-bottom: 8px; +} + +.segment-title { + font-size: 16px; + color: #4a6fa5; + margin-left: 8px; + font-weight: 500; +} + +.segment-content { + width: 100%; + min-height: 80px; + padding: 12px 16px; + border: 1px solid #e5e7eb; + border-radius: 8px; + font-size: 15px; + line-height: 1.6; +} + +.tags-container { + display: flex; + flex-wrap: wrap; + gap: 10px; +} + +.tag { + padding: 6px 14px; + background-color: #f1f5f9; + border-radius: 20px; + font-size: 14px; + color: #475569; + cursor: pointer; + transition: all 0.2s ease; +} + +.tag-selected { + background-color: #4a6fa5; + color: white; +} + +.emotions-container { + display: flex; + justify-content: space-between; + flex-wrap: wrap; + gap: 15px; +} + +.emotion { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + width: 80px; + height: 80px; + background-color: #f1f5f9; + border-radius: 12px; + cursor: pointer; + transition: all 0.2s ease; +} + +.emotion text { + margin-top: 8px; + font-size: 14px; + color: #475569; +} + +.emotion-selected { + background-color: #4a6fa5; +} + +.emotion-selected text { + color: white; +} + +.emotion-selected icon { + color: white; +} + +.save-btn { + width: 100%; + padding: 14px 0; + background-color: #4a6fa5; + color: white; + font-size: 16px; + font-weight: 500; + border-radius: 8px; + margin-top: 16px; + margin-bottom: 30px; +} + +.save-btn::after { + border: none; +} diff --git a/project.config.json b/project.config.json new file mode 100644 index 0000000..4ce05e6 --- /dev/null +++ b/project.config.json @@ -0,0 +1,29 @@ +{ + "appid": "wxb902b6272b3d647c", + "compileType": "miniprogram", + "libVersion": "3.10.1", + "packOptions": { + "ignore": [], + "include": [] + }, + "setting": { + "coverView": true, + "es6": true, + "postcss": true, + "minified": true, + "enhance": true, + "showShadowRootInWxmlPanel": true, + "packNpmRelationList": [], + "babelSetting": { + "ignore": [], + "disablePlugins": [], + "outputPath": "" + }, + "condition": false + }, + "condition": {}, + "editorSetting": { + "tabIndent": "insertSpaces", + "tabSize": 2 + } +} \ No newline at end of file diff --git a/project.private.config.json b/project.private.config.json new file mode 100644 index 0000000..6b50b84 --- /dev/null +++ b/project.private.config.json @@ -0,0 +1,7 @@ +{ + "description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html", + "projectname": "meng", + "setting": { + "compileHotReLoad": true + } +} \ No newline at end of file diff --git a/sitemap.json b/sitemap.json new file mode 100644 index 0000000..cd24f35 --- /dev/null +++ b/sitemap.json @@ -0,0 +1,7 @@ +{ + "desc": "关于本文件的更多信息,请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html", + "rules": [{ + "action": "allow", + "page": "*" + }] +} \ No newline at end of file