From 73098c6071c8342897f617fd0ec9e33e2ee10f63 Mon Sep 17 00:00:00 2001 From: Reza Taghizadeh <95388378+srt207-reza@users.noreply.github.com> Date: Sat, 21 Feb 2026 19:16:14 +0330 Subject: [PATCH] fix: reslove some bugs (v3.121.456) --- android.keystore | Bin 0 -> 2682 bytes app/build.gradle | 213 +++++ app/src/main/AndroidManifest.xml | 204 ++++ .../ir/mysalona/testapp/twa/Application.java | 29 + .../testapp/twa/DelegationService.java | 14 + .../testapp/twa/LauncherActivity.java | 54 ++ .../shortcut_legacy_background.xml | 25 + .../drawable-hdpi/ic_notification_icon.png | Bin 0 -> 959 bytes app/src/main/res/drawable-hdpi/splash.png | Bin 0 -> 20248 bytes .../drawable-mdpi/ic_notification_icon.png | Bin 0 -> 612 bytes app/src/main/res/drawable-mdpi/splash.png | Bin 0 -> 11857 bytes .../drawable-xhdpi/ic_notification_icon.png | Bin 0 -> 1327 bytes app/src/main/res/drawable-xhdpi/splash.png | Bin 0 -> 29941 bytes .../drawable-xxhdpi/ic_notification_icon.png | Bin 0 -> 2033 bytes app/src/main/res/drawable-xxhdpi/splash.png | Bin 0 -> 53839 bytes .../drawable-xxxhdpi/ic_notification_icon.png | Bin 0 -> 2983 bytes app/src/main/res/drawable-xxxhdpi/splash.png | Bin 0 -> 83536 bytes .../res/mipmap-anydpi-v26/ic_launcher.xml | 33 + app/src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 2033 bytes app/src/main/res/mipmap-hdpi/ic_maskable.png | Bin 0 -> 3958 bytes app/src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 1327 bytes app/src/main/res/mipmap-mdpi/ic_maskable.png | Bin 0 -> 2404 bytes app/src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 2983 bytes app/src/main/res/mipmap-xhdpi/ic_maskable.png | Bin 0 -> 5616 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 4808 bytes .../main/res/mipmap-xxhdpi/ic_maskable.png | Bin 0 -> 9190 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 6659 bytes .../main/res/mipmap-xxxhdpi/ic_maskable.png | Bin 0 -> 13191 bytes app/src/main/res/raw/web_app_manifest.json | 1 + app/src/main/res/values/colors.xml | 18 + app/src/main/res/values/strings.xml | 58 ++ app/src/main/res/xml/filepaths.xml | 18 + app/src/main/res/xml/shortcuts.xml | 16 + build.gradle | 42 + gradle.properties | 14 + gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 55616 bytes gradle/wrapper/gradle-wrapper.properties | 7 + gradlew | 249 +++++ gradlew.bat | 92 ++ manifest-checksum.txt | 1 + package.json | 2 +- public/.well-known/assetlinks.json | 34 +- settings.gradle | 1 + src/App.css | 636 ++++++------ .../PersonnelServices.tsx | 63 +- .../PersonnelServicesQA.tsx | 703 +++++++------- .../AppointmentComponents/Services.tsx | 133 +-- .../MobilePicker/MobileDatePicker.tsx | 174 ++-- .../MobilePicker/MobileScrollDatePicker.tsx | 903 ++++++------------ .../components/Qr-code/QrCodeScanner.tsx | 104 +- .../+components/TextAreaWithCounter.tsx | 12 +- .../AdvancedTurn/AdvancedTurnSend/index.tsx | 1 + .../pages/BannerSwiper/BannerSwiper.tsx | 4 +- .../pages/CheckTimeSlotCustomer/index.tsx | 6 +- .../+components/Information.tsx | 11 +- src/apps/new-ui/services/NewTest.ts | 1 + src/apps/new-ui/services/PersonnelNewTest.ts | 1 + src/components/OTPForm.tsx | 2 +- src/components/PwaInstallGate/index.tsx | 306 +++--- src/components/UpdateDetector.tsx | 250 +++-- src/guards/RequirePwaInstall.tsx | 2 + store_icon.png | Bin 0 -> 17254 bytes twa-manifest.json | 51 + vite.config.ts | 12 +- 64 files changed, 2629 insertions(+), 1871 deletions(-) create mode 100644 android.keystore create mode 100644 app/build.gradle create mode 100644 app/src/main/AndroidManifest.xml create mode 100644 app/src/main/java/ir/mysalona/testapp/twa/Application.java create mode 100644 app/src/main/java/ir/mysalona/testapp/twa/DelegationService.java create mode 100644 app/src/main/java/ir/mysalona/testapp/twa/LauncherActivity.java create mode 100644 app/src/main/res/drawable-anydpi/shortcut_legacy_background.xml create mode 100644 app/src/main/res/drawable-hdpi/ic_notification_icon.png create mode 100644 app/src/main/res/drawable-hdpi/splash.png create mode 100644 app/src/main/res/drawable-mdpi/ic_notification_icon.png create mode 100644 app/src/main/res/drawable-mdpi/splash.png create mode 100644 app/src/main/res/drawable-xhdpi/ic_notification_icon.png create mode 100644 app/src/main/res/drawable-xhdpi/splash.png create mode 100644 app/src/main/res/drawable-xxhdpi/ic_notification_icon.png create mode 100644 app/src/main/res/drawable-xxhdpi/splash.png create mode 100644 app/src/main/res/drawable-xxxhdpi/ic_notification_icon.png create mode 100644 app/src/main/res/drawable-xxxhdpi/splash.png create mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-hdpi/ic_maskable.png create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-mdpi/ic_maskable.png create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-xhdpi/ic_maskable.png create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_maskable.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_maskable.png create mode 100644 app/src/main/res/raw/web_app_manifest.json create mode 100644 app/src/main/res/values/colors.xml create mode 100644 app/src/main/res/values/strings.xml create mode 100644 app/src/main/res/xml/filepaths.xml create mode 100644 app/src/main/res/xml/shortcuts.xml create mode 100644 build.gradle create mode 100644 gradle.properties create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100644 gradlew create mode 100644 gradlew.bat create mode 100644 manifest-checksum.txt create mode 100644 settings.gradle create mode 100644 store_icon.png create mode 100644 twa-manifest.json diff --git a/android.keystore b/android.keystore new file mode 100644 index 0000000000000000000000000000000000000000..76491275dcec40a4db4fc23f03f7caa0047fcb01 GIT binary patch literal 2682 zcma);X*d*&7RP7C3`|9}4H*18WDzV+`ksy#bI|ztEvoSLN=OPFS0iXpLq4x2*KoOB*g=(9J2O2WY{Rz_p$H4CtE!C?aXCzfa#CNN_9O4nji8zig+;Td zWVxhVF(I0=tKDMzc`RZTv9%r>VYOa(*1D3b>A@R<72n73%xj-{IFL1~JnJ5{-mw0i_?4z$E2O#dsVN=Y+`(tfoUfj_aK{mOL`s)` zZlz#3Ik^dqKUFZwt+qI~r2-OSkagPpYEc+<8x(A)?!0?xX9A_n9&zBGTT@r9qI|Jh z&zHo%qPmsZpYtu|!Z3?jz*yXf7icQwhpJzA=GCss=$_jzYN=nzjb>`g+c~jhZPEu9 zQ>C@&fC#o$2h)+HZPz;$Kt61K8F)~m9vKZJ=)2>@kGY{PFa~7hZOnzy=pRzszlodkA5Qfj_`?;Nx^1D5U9Zn$%JC)SG> zA@;*BB`-IVn+j0>pabBH@#5GJ15m1VN zzgq6Iw`TA16BN5 z4FcYOrk?23I3{jbEhm*D%Sv)OA+Kl9S5$_CGdSCxb$n_K>k+v4N%1r=VK$vHUdqP? zf@|(>n+edBeCn1K$fWKc5dmFl*j5OCdgxhoXdaMVd|*3_s!JTJ`_>>Dr0`0)?_OgL zU3U^NNALa#w8dMO&)Wr1aK#$CTVM1oC3QpM1t75^-ZzOi> zo4v`*jy0+hJEh(-h&1`dra_<>Q`t|XlS7uZxTHNhC>oA+y*=V$z^<|kXb{O&B z^3#)cN*iNo5LjjI?`jT_Of|gXeee{zcI9o!Iq$QZjvIO2Jsf8tjr3i()zFt&b1OkM3%#)r;LfDu1Pp`yd~LY-IDE%{)J&=xUUSY z2ZR3;dVfI`iomc7!2u2cAAmC;0N@Mo063$C|FO9-2r%b$4{sL~Mo9^yh(n_la99Op zGy!b#_YxB$i2%m`mefH&!0)E?j|2Q)pzd5Lsgs!tQZfKr{|oML8>egUg8Y9#J<2i@ zby;(qXXG44Xr@>O_ZA!B^iA3L^JYI5A|}MPipf7b{RnR zmTcPpmfF>RAQbvKG@)G65N6CMaG;6R%4rEhKQj-HqDkF->C~WA{@AaVb0KzhJ!YV=VV{~ODtDS=Ks|YD`$+3Y(qkdN1wF+-(xm%t z(yDIg9}h|BF=jRcFLB@Z=8?+wQJX z=U8?f2{cErBx{|VkRPg-oMR&h7tJa`2wN~&-@hFEgvwRdW^-~i;OLdtWSf#1D?HG; z_-@mj5Y)iia(TLo>Z{c(+Z*p=9Pn^RNK9fm9=`Q%JTS~wbvvO%HL3JVCBJ@cpQI+? zN=#C))VLJSMGtkp#xK-&uwUiA=+kP&``JB7k78o<4Qyl?$Os*$pVl2M2nq9q8H1C9 z>_w6-giHyWSVtPJwRng)gt&=uQv8r_`dI^Ig>}MGsTYzFrS7^6FF9TL9IWs7&D{%C zk3#Q2vu9^f2lAR5+(ufG#+Sx7)@H7an;*r=Ly|WK7o(?NG+8W_7)|;nrQOSKUve0_ zvuF37i|=Z25I?V$B4aK2ctRSLA>NN5)!Ghq(?GWffU~n|!sA zsNJP`R{!0buC)BpNp-~t@mZvNorT7rwOF3L5b8sgjwP| z07g-*xYzuPw#cb1`)hhDCY`TXYfDHwnsnbCg(=^HM_FJ5QU%D`gdTl9H!y*he;sYy LvArbvCqn)Ws?EO{ literal 0 HcmV?d00001 diff --git a/app/build.gradle b/app/build.gradle new file mode 100644 index 00000000..3332c14e --- /dev/null +++ b/app/build.gradle @@ -0,0 +1,213 @@ +/* + * Copyright 2019 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import groovy.xml.MarkupBuilder + +plugins { + id 'com.android.application' +} + +def twaManifest = [ + applicationId: 'ir.mysalona.testapp.twa', + hostName: 'testapp.mysalona.ir', // The domain being opened in the TWA. + launchUrl: '/', // The start path for the TWA. Must be relative to the domain. + name: 'Salona', // The application name. + launcherName: 'Salona', // The name shown on the Android Launcher. + themeColor: '#AB25C0', // The color used for the status bar. + themeColorDark: '#000000', // The color used for the dark status bar. + navigationColor: '#000000', // The color used for the navigation bar. + navigationColorDark: '#000000', // The color used for the dark navbar. + navigationDividerColor: '#000000', // The navbar divider color. + navigationDividerColorDark: '#000000', // The dark navbar divider color. + backgroundColor: '#AB25C0', // The color used for the splash screen background. + enableNotifications: true, // Set to true to enable notification delegation. + // Every shortcut must include the following fields: + // - name: String that will show up in the shortcut. + // - short_name: Shorter string used if |name| is too long. + // - url: Absolute path of the URL to launch the app with (e.g '/create'). + // - icon: Name of the resource in the drawable folder to use as an icon. + shortcuts: [], + // The duration of fade out animation in milliseconds to be played when removing splash screen. + splashScreenFadeOutDuration: 300, + generatorApp: 'bubblewrap-cli', // Application that generated the Android Project + // The fallback strategy for when Trusted Web Activity is not available. Possible values are + // 'customtabs' and 'webview'. + fallbackType: 'customtabs', + enableSiteSettingsShortcut: 'true', + orientation: 'default', +] + +android { + compileSdkVersion 36 + namespace "ir.mysalona.testapp.twa" + defaultConfig { + applicationId "ir.mysalona.testapp.twa" + minSdkVersion 21 + targetSdkVersion 35 + versionCode 1 + versionName "1" + + // The name for the application + resValue "string", "appName", twaManifest.name + + // The name for the application on the Android Launcher + resValue "string", "launcherName", twaManifest.launcherName + + // The URL that will be used when launching the TWA from the Android Launcher + def launchUrl = "https://" + twaManifest.hostName + twaManifest.launchUrl + resValue "string", "launchUrl", launchUrl + + + + + // The URL the Web Manifest for the Progressive Web App that the TWA points to. This + // is used by Chrome OS and Meta Quest to open the Web version of the PWA instead of + // the TWA, as it will probably give a better user experience for non-mobile devices. + resValue "string", "webManifestUrl", 'https://testapp.mysalona.ir/manifest.webmanifest' + + + + // This is used by Meta Quest. + resValue "string", "fullScopeUrl", 'https://testapp.mysalona.ir/' + + + + + // The hostname is used when building the intent-filter, so the TWA is able to + // handle Intents to open host url of the application. + resValue "string", "hostName", twaManifest.hostName + + // This attribute sets the status bar color for the TWA. It can be either set here or in + // `res/values/colors.xml`. Setting in both places is an error and the app will not + // compile. If not set, the status bar color defaults to #FFFFFF - white. + resValue "color", "colorPrimary", twaManifest.themeColor + + // This attribute sets the dark status bar color for the TWA. It can be either set here or in + // `res/values/colors.xml`. Setting in both places is an error and the app will not + // compile. If not set, the status bar color defaults to #000000 - white. + resValue "color", "colorPrimaryDark", twaManifest.themeColorDark + + // This attribute sets the navigation bar color for the TWA. It can be either set here or + // in `res/values/colors.xml`. Setting in both places is an error and the app will not + // compile. If not set, the navigation bar color defaults to #FFFFFF - white. + resValue "color", "navigationColor", twaManifest.navigationColor + + // This attribute sets the dark navigation bar color for the TWA. It can be either set here + // or in `res/values/colors.xml`. Setting in both places is an error and the app will not + // compile. If not set, the navigation bar color defaults to #000000 - black. + resValue "color", "navigationColorDark", twaManifest.navigationColorDark + + // This attribute sets the navbar divider color for the TWA. It can be either + // set here or in `res/values/colors.xml`. Setting in both places is an error and the app + // will not compile. If not set, the divider color defaults to #00000000 - transparent. + resValue "color", "navigationDividerColor", twaManifest.navigationDividerColor + + // This attribute sets the dark navbar divider color for the TWA. It can be either + // set here or in `res/values/colors.xml`. Setting in both places is an error and the + //app will not compile. If not set, the divider color defaults to #000000 - black. + resValue "color", "navigationDividerColorDark", twaManifest.navigationDividerColorDark + + // Sets the color for the background used for the splash screen when launching the + // Trusted Web Activity. + resValue "color", "backgroundColor", twaManifest.backgroundColor + + // Defines a provider authority for the Splash Screen + resValue "string", "providerAuthority", twaManifest.applicationId + '.fileprovider' + + // The enableNotification resource is used to enable or disable the + // TrustedWebActivityService, by changing the android:enabled and android:exported + // attributes + resValue "bool", "enableNotification", twaManifest.enableNotifications.toString() + + twaManifest.shortcuts.eachWithIndex { shortcut, index -> + resValue "string", "shortcut_name_$index", "$shortcut.name" + resValue "string", "shortcut_short_name_$index", "$shortcut.short_name" + } + + // The splashScreenFadeOutDuration resource is used to set the duration of fade out animation in milliseconds + // to be played when removing splash screen. The default is 0 (no animation). + resValue "integer", "splashScreenFadeOutDuration", twaManifest.splashScreenFadeOutDuration.toString() + + resValue "string", "generatorApp", twaManifest.generatorApp + + resValue "string", "fallbackType", twaManifest.fallbackType + + resValue "bool", "enableSiteSettingsShortcut", twaManifest.enableSiteSettingsShortcut + resValue "string", "orientation", twaManifest.orientation + + + } + buildTypes { + release { + minifyEnabled true + } + } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + lintOptions { + checkReleaseBuilds false + } +} + +task generateShorcutsFile { + assert twaManifest.shortcuts.size() < 5, "You can have at most 4 shortcuts." + twaManifest.shortcuts.eachWithIndex { s, i -> + assert s.name != null, 'Missing `name` in shortcut #' + i + assert s.short_name != null, 'Missing `short_name` in shortcut #' + i + assert s.url != null, 'Missing `icon` in shortcut #' + i + assert s.icon != null, 'Missing `url` in shortcut #' + i + } + + def shortcutsFile = new File("$projectDir/src/main/res/xml", "shortcuts.xml") + + def xmlWriter = new StringWriter() + def xmlMarkup = new MarkupBuilder(new IndentPrinter(xmlWriter, " ", true)) + + xmlMarkup + .'shortcuts'('xmlns:android': 'http://schemas.android.com/apk/res/android') { + twaManifest.shortcuts.eachWithIndex { s, i -> + 'shortcut'( + 'android:shortcutId': 'shortcut' + i, + 'android:enabled': 'true', + 'android:icon': '@drawable/' + s.icon, + 'android:shortcutShortLabel': '@string/shortcut_short_name_' + i, + 'android:shortcutLongLabel': '@string/shortcut_name_' + i) { + 'intent'( + 'android:action': 'android.intent.action.MAIN', + 'android:targetPackage': twaManifest.applicationId, + 'android:targetClass': twaManifest.applicationId + '.LauncherActivity', + 'android:data': s.url) + 'categories'('android:name': 'android.intent.category.LAUNCHER') + } + } + } + shortcutsFile.text = xmlWriter.toString() + '\n' +} + +preBuild.dependsOn(generateShorcutsFile) + +repositories { + +} + +dependencies { + implementation fileTree(include: ['*.jar'], dir: 'libs') + + implementation 'com.google.androidbrowserhelper:androidbrowserhelper:2.6.2' + +} diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml new file mode 100644 index 00000000..5d5c0f30 --- /dev/null +++ b/app/src/main/AndroidManifest.xml @@ -0,0 +1,204 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/java/ir/mysalona/testapp/twa/Application.java b/app/src/main/java/ir/mysalona/testapp/twa/Application.java new file mode 100644 index 00000000..b6a289aa --- /dev/null +++ b/app/src/main/java/ir/mysalona/testapp/twa/Application.java @@ -0,0 +1,29 @@ +/* + * Copyright 2020 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package ir.mysalona.testapp.twa; + + + +public class Application extends android.app.Application { + + + + @Override + public void onCreate() { + super.onCreate(); + + } +} diff --git a/app/src/main/java/ir/mysalona/testapp/twa/DelegationService.java b/app/src/main/java/ir/mysalona/testapp/twa/DelegationService.java new file mode 100644 index 00000000..3930568d --- /dev/null +++ b/app/src/main/java/ir/mysalona/testapp/twa/DelegationService.java @@ -0,0 +1,14 @@ +package ir.mysalona.testapp.twa; + + + +public class DelegationService extends + com.google.androidbrowserhelper.trusted.DelegationService { + @Override + public void onCreate() { + super.onCreate(); + + + } +} + diff --git a/app/src/main/java/ir/mysalona/testapp/twa/LauncherActivity.java b/app/src/main/java/ir/mysalona/testapp/twa/LauncherActivity.java new file mode 100644 index 00000000..ac2ca38f --- /dev/null +++ b/app/src/main/java/ir/mysalona/testapp/twa/LauncherActivity.java @@ -0,0 +1,54 @@ +/* + * Copyright 2020 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package ir.mysalona.testapp.twa; + +import android.content.pm.ActivityInfo; +import android.net.Uri; +import android.os.Build; +import android.os.Bundle; + + + +public class LauncherActivity + extends com.google.androidbrowserhelper.trusted.LauncherActivity { + + + + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + // Setting an orientation crashes the app due to the transparent background on Android 8.0 + // Oreo and below. We only set the orientation on Oreo and above. This only affects the + // splash screen and Chrome will still respect the orientation. + // See https://github.com/GoogleChromeLabs/bubblewrap/issues/496 for details. + if (Build.VERSION.SDK_INT > Build.VERSION_CODES.O) { + setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED); + } else { + setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED); + } + } + + @Override + protected Uri getLaunchingUrl() { + // Get the original launch Url. + Uri uri = super.getLaunchingUrl(); + + + + return uri; + } +} diff --git a/app/src/main/res/drawable-anydpi/shortcut_legacy_background.xml b/app/src/main/res/drawable-anydpi/shortcut_legacy_background.xml new file mode 100644 index 00000000..d53c148a --- /dev/null +++ b/app/src/main/res/drawable-anydpi/shortcut_legacy_background.xml @@ -0,0 +1,25 @@ + + + + + + + + + diff --git a/app/src/main/res/drawable-hdpi/ic_notification_icon.png b/app/src/main/res/drawable-hdpi/ic_notification_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..be2065b04f74b19744816f66fafa1ba8e9d3bf1d GIT binary patch literal 959 zcmV;w13>(VP)ZMD zdFzKZJXK{p5k3*3rZdRk>0y@sG_Xst2U;&2!c$d-Wo02tYC3~Ob19n7G_VtjT@nwx z&=tgznqJ|zccR>SZxBs7!4|DI*w@c4Fl-$MO|K`delVhVQY*dSqsP*vsaSrgpLiqMmMj0ag^Y(eQcCV6}bEP-^^W0 zVi_NZfe9^VBZv|@`&$skh+Roym)0BX>t_?<0j)v^pWIK^SFQN#y*y9%Xw>%{AYaU} z6g99UhSK0N33UVz5yIUeRuWm#qgm|GdV_uaY{K7E&bv2Xr{QD`x?97N98WRwkanxvx!2YL~?YQ z@)yfkE3Gkkb&lw#6QoC1F&^fazqN$%?<(Q$YD9$EH>$}Mb1X*_i7CYw13i!m@su|0n7NnBm9l! zH1yQqtMTGJTt;@H$X0ZADD-9}$1k>`yEUFNd8+MvGayV|n#WQ!N<1ODupJ#6w0(lB zQm3|OKd+o?M0aaELwH8p`6C35R^r|Zyt8nGL3vU52aPt~E^ikY7m zD5i=W`Y4QO!pu(##4abWL&v7%P=-H-#@Q(Tdzy_Feo3*>KR1@yDTTu*97f?V3WrfR hjKX0Q4x@0G{{WJADekF=>hAym002ovPDHLkV1h?>!@K|h literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-hdpi/splash.png b/app/src/main/res/drawable-hdpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..ccf57873c9eb1fc9b9deec4f103b5a430fac16fe GIT binary patch literal 20248 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-mdpi/ic_notification_icon.png b/app/src/main/res/drawable-mdpi/ic_notification_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..605217134ec6c2bb2605123bfab5d5674348ddd0 GIT binary patch literal 612 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xhdpi/splash.png b/app/src/main/res/drawable-xhdpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..1ce4af8726239dc099112808880d0965f2569418 GIT binary patch literal 29941 zcmeFZ^;?v0@Gov40#Zv!$I=qAbR)2UbV^Gt-6Fhb8+Gs&?<*1MR!NXsE#d zd@@g-yLZpERTe6);c_o##KF$I9>#t6E= z@WD?Szk|eH`VlPhcVf(Hy$O`yG}BpmHjZ*1vwC>?Qf;b!!}riO5)}rG?&kb#>Sm$Y zHVV7hKfZ00h60}rB>3**Vg>>}G0in_;M1qCbN7{L1?$~coLWS8-+f>Szx!?|LF&)4 zfxEB%XW9R#O>fIMe9e&euWuu5Ruw2t8&q8b)S7Zs#Q=fNE4;t z6v$9hSD*Fgtn9~;FX)9?Kip~pb`S-2xRR(ZPNt*HV$gQ$ZiDBM;qyFj{PG?C`9;+V z+?&RU1q^@45!^(9M^B?l+Zhy@Nl#|xT8a1&VLr)|wws|wL@3psL#~xP^f`MqsH>$= zA#=E>fbjXZ0eoe3s42t)3SBFF_Eu@030;$1d@!bv(6|fV?onMOU75kJs+yTjV##qu zj^NvoM;RRG=h_4z+7{=YVQ(aAzplY1_@;|W!=e&u!?uhDp6pgWQ}X3Da*kFVlC#xR z*)=0zq@ToH12s6q`%0IANa>elpRi;-a6;gnPv=wH|FfQV#NEn{+wncUwN#mHgVm|- zP&kgT=>A()tL`h-E$e}$uOXNxGNxT5wFihUoJav*cL`B;BkffgnpXxe>wxDEplj;~ zaJar>eR0P$u?5G7il3Rk)%0&(QddKpiI!=zU&mOaELcQR4i*UuBhRP?8A!aTc8-ir z(Pi9~`xyn|WPBKuUGz7sC@K#j>SPLbxG}Y>AW-vCjio{ZPtLjY(9c~AEx#iy&4yX- z7R4OyZtZZlU@4*=P}1VZ?vY`;l9G)d{h+8%m+^&rqMK`7_j{?fkE%BugP7$1ZIu-~ ztUjkCb?U;_;J1qR%i;HaOkwR51N>o{3$cwh25MQYwuPthj$Bj|Nv&^g?+-@>2s?== z)xnv=3GuZfv`y>IN^7=&mDr;P5)mmrE9vis8^4#eE@XN81l8M!X!7c|Ej~`iPB>Y$!5rmRA~OG7 z0vYqy_BRPrEG*DrI0rg<=ewhBfpB^7%d83;f2OSF6iy!-WCvM@@J*^n^-RgTbtos|ehd!>VyjtJ+UbL;r!_U4b;jep;A z8lx`{+~MQ3D(A6s;B$Jv&P2i?Lb|LB8?t(+ zi+bxn#l9~eTDV&trx4pj`weJ!ZP<|ImB*(yHh#MuyN`2wMk3?q+&y5013F&^lsFP& z&BJ&m(V=JP8^L0@V0`Qxl1B(jm-6NP#X3C2Aj^_nKTBst{}y-N;%)orny-@AIP&Rz z@L@k-%8~b0!VF%+USNFn{e}0dr4;Z@KpAQI^|ReRBOqSMpBNb* z9-31rETQ=eOF(^rAkr6GqNqq|I@uzSYPjdLYG?pJ!>yAaDoXK-)k?_t2r0NADl-DF_(um+959Jd8=A&x!D8t$P}3P=rmnPu5oW`yOvBBAr_ZZvW*E>OuGyB^yUBiM zPM5b6oqhZH^7a=@6Z*Hdsg3UG?8=4P$D00jL>rn-~k;M8-KWr=aKP-Bu ze=PCb_Y-FHNLdO8&g4x5ilK)@^aeVRHncY&^BWttY%7e)#SPf01O>m_RosS`mid;; zR&&wga6;Gi08W?qf=Cg**kJ2Z-n$MwZC{BCy?co^A+8w^euksJ+t`-`CKE8q-o3hL|MuGhodu zYjt&0fr)g{%Igt^r1n-t_dj1%3*!Pt*HmV}Vz* z$u^7MHe41x!l%;NMIHN0bZ2yoe{qr3xu?L<0JkJkslgvVpC@v-`t{l?>EqcK7($## zeH=dHYZGp*scvz~e=`9~xhAw-$8ClKJoia~Zsyq8@jI6G=HZK7QgH$!;Q1uC#0~3! zol$$o^G05$uPh8K4>2-nok4&qiTYTF_8lh6eCmfchTS@umRgHT!rp2+F7R7eRq!_d zJ|RlyBU{@+3?#z!p@5+tsh*MOIK2E-p1d<^`$gBznR4ot;)kbcGU7kBc3hi(2eIjD zsr@vUHIs+3lLFr3Ph6f6`-$+2Pn+VbB7bF?JO3Vkr9c1Du%Bm~Fw2?a6@2?K50IGq zq*g#69o(&mXufu*2r@&Th&PoHtc)gYB-z~&SE%Ye(e>-5%HN? zzM^?7&y6d)N!U0I8@Kr-aQ;ed3QdAcs`2KTytXkg;=!8jdaeJAD^lm@Yu)ujA-%ea z0*waf8W`BBRl-fTQ;%!<(}Kymb2xuQ)d<*PP&dFWv6g@j+^{g4)i$5AFEHT|*e7KS z0(l16l8rwXsPH-FWYJ@3`r<-K=qdh6lNDo=LUcc^zAiPkf^jlEmNkXiSru?PgP4KD zWTM{{?%%w80+4cHE{R7)$%GoOdZd7u;KP=GB>gZ|8_JFWsE9=+HKmoO=QVGc!A^98 zIs%fWh9)SK$@ z(%lisoumA(1+sW~z?eva-u8%W_xHyb zV@8d0ZRl~LR!_+N5uKarE&g0q7E{r%9BS*3vbO55zX$KHv6Q&{s@5RZt^}iBe|7M_ zOK?!kyu63{$OMsJKejd?^xai-qEj0>A_D9xuUV#OwE*9Gtw(QH$eO}|4XE{K`Jqhd zSJR!1XX&Hd$@%Km>NL(7K%_9p>D=UYK-RJIp{+)TXR*qOqQkJJbw_A7DOB;)zK0nf z1)i8<83H@A0D6+={y~1UkyKIT+#Ix=R+`N!AIwNwQj^1O^D`xLKpQ>|&jZ2II*0?{ ztj~eR2Tih^xJ-ZTxOpXMp~poZ*(R=UFD`EW-g*a645i)E4<}r{DI4YiyHmV2U$tgh zo5gd}!QjC`TJRyBMuX`WQ3h97I*CdFXcGnSeI#6+7YPWyE-&P~_DLmbQl**GSgb8cHR*JV;r2bn|8mb z5WiMsAHFOe%OlRI+LUD+&fVr-K>MO6+(KB1?~fveF0Z2y}2+3R<5;D0-;|rF?>1HzoQvF-LncjZq@B?>@EAhbR4-D#U`C)>6Oo#qv zaZ>nlTGY-4chYJnqq-XEWjD`u>ke`Fg>RHg-zbXbBU&_ z4Phh#tdaV6pw;I(2oMp$n?Uwj!<;JUEC@c44ygNJRA&4^;Q~M7YM%t>cAI&|oA4MB z^o6`)DLmTDB%R)lzOIq9>GNO6k9^^#ROhia3NVY0aK`rY=$sG}EclZYpX3LVf^@in zCe3+qO+Vu1=zhR8DEt|jg=sD`xJDa@?G{5a8FfiDwilN^CyU-AYh#G%tngy2aP!$r zP7hHN!4YlVIMbIzinsz%cTdxWGsL%%j7h)16-XT3HyRqd^kF!)K=JI$sg42{xXTBJ zz)EUNNr-J;eng+v!^l+s_#oz}4-9q=*0(-jNi^dYP2unm28)$zL#5hH&n$<|9EZj^ zaQP%>TbRWMY5%Gb{``UdvW~QwDyKky@`(j&N#`b_7r)?|WU!Ms07rz(@Mo+o6rKk3 zo?^ISrC{b`@n-6;cye!&XIz7eu^MVvb6n@Zf6Qm>|29|GylKJG*_ociRyC6V9h zRv8A(g^6oVZ$!HSXjBuwkhKNo1m;|6s+c37apoM1;A;8; zxX%X-DJg-{A`GIGa@HBAkq((&gp%~+Bx`^)quJ#XvN}T>l^MK0OThAMV$8$~nJPmV zz>Zcd#yh%63BMGFyn5(J080ZI(6kwgLfC0Ynk!KX_YqLXc<^+)vea1m_j#HCb!R@& z8qF@#%2F4sAeY(gRV`*(w&WYl4@GS#_?D~mrk0RU9K2IP$3rJ4HG56vqk)$KE8GyQG=c{@S+bAbfFJTvz zl7Odh))33xvYDo4nOP+zghU zUmc6baNjc-qV$+mP@Qc1%fzkNlao&_pIxJ!5)qI<*+59Ja+jx!cWKYbQ(m~?5n`4x zzT$=H%pE9Sn#lvDlY^NK=b-b5+MEJf&b#r1wGM=t%F}2+w5Z#kB%^zj(GgrDVRwKe zhMm>rn0F&nMH)WMBQ+*cJe?On^fVUb z%`;g(&7rbc`vQYG9;V+eOJNz;O9HDC5R3A@Cj&JrTI;R3Gj>(S)2Ld0?oTR4lX(~b zqGhUccPtfOeNLY=!0!jmkF7&?o|l8>xqp9`nJh3TsY9g*_TyO{%iMK3TS_h|;g@$J z1qEg(cL~bZeqZ`2Bvj^`t>|mj$xTU9Q+9{yvScF6QyJFO6WwqY!=~<$r+hlR5n~vu zdz*8YgEHizq9!ETHZ!da9lN)VK_{B{e~%-nni!4!ee%_C4FrkXNUK@F6Y9XPBoq=~ zVMLNV8@)p)e0zc(wdjNN;K;79Axf`L98UeEf3u^Q)5x}37uCn<-00P~M-6tCRK z!2?BE`kCX+vjuI_NYBBVs%boEMixlrB5lm^r6?2RL(g=glm$!32SK1gR^upfsTNlk zxAbrn{3Pd{DLs-g@#Y{pj?u@~tU9505;aC@)Bf0gQ5=Z*ubgD-GvX?G$_(|o9!Hv) zl+mDxh)=*`Qzll`%?kzWHz4(9V>7dOBj6e%iB`~;ANhe+@cKk4BItc%Qnjx^J@<61QgzEZlWu*_1Tsf@9I^P1KC*stDb*NTptff&@Kext9 z^_z0jBOYw@1Vv8CQvj$OE<&>T`8Bn~*jwqXNk zbcd&mP1~aihEy{J2K+-S@nql~;Q#L(MjRv24iP%@J70d}0Yz?EnmZ6qizrlEVsD%> zXZU+J?-w+%3dZS`&?rP%U`ju|xKDTv)pIv}7pV^GS z9$XI+aU5vNOJB-4;1tx)+5m{HC$K#Uc`LeNvG~q2SK?=yA1+l|RUC6W!k?JH|d&YX~(_Gf2SGX#_5yzH#gpK|# zq+V+6)qhY&+S-NIq8{gykU5-MR`Beo;p#HG3WyB1jRZ_l)Uk&4k0(mCPl`rfF z0VOEi8!@_8TcB@kObX!7Glm=HKMBK2Cc?iM4T0)(a-ttbZ`UpDZ-D}CqLG?I`yMZK zH2L=&7ph-|>2xf#`6y9la;6d}oS17|;%-2|m9cmA25E4i@YO=#w1wKoq>pKgBSM<) zA18TK0wCULSLdK|@yF_ViSLWqRK>Er#7xgx*G9$8u=}Up$s5j^UVd$`tSD$TDxfml?`Uo-_k~HaQ;@Eo1vi)bbY+sWdbIAj^qC#cT(8_wk9TB9iBJBsY^w zRL4I}()}6*EWg~k9#lmFaOT)LJkf}^nkrg^GnU979txrZ#Wwst)0@kN!mDe(nQzlp zpG8qgHMIo-vE4enFJ~Vxn&|=e`j78El&}5dU_3xeaitXyA!6Qbdrzk%XC+jCx`mJ7 zXJONLt?i1{L&~o0^LSxOm*30L{cSDXS`QQ~J+kZPm&Pj{YK|{ZpQBV44zZNftR%%m zaGA%Yt;!S%`|U+{#6dJTJb3AD(SBCn7j8g9Lt;IE5=8;lCH&DYwsPJQ$zquC6-Id z)QwalR$;Zl5|5NNf#Oa~o~e(EZE>Y5gw_Nev8MENPoVbKy)UQmj6SG6 z0~@WoMwrf0f8gDhf_G5YlmS&~oe&$A1 zzW|g@`jan)B>?ju&-1)pgA37|mKF{zq<5+!SVX|iqCf-BfQHL?a`A~L!S=yy5<7k) zIEQ;hoeMV~6wZWr=%uCEaR{SQpp3aTQs92+ln=BFGVhFB>e9Es;(0hP0yIGV`9JFp zdTu-%McVu_TKatu%^0_-us2N?K-5qJ?{hu^Jkq4W*;R?x<7)Hru9q_YZrVETXoR>6 zIpwx+^RQ}UziJlddKx%wLJtl2nT+>&crZpyD49f?+z*f^{N_ zZDnswKf7|$58y#fJ)8B~zPsasbndYqAs)kQa|@d1v&LjUB$;TctUVeLB8qTJECPWV zC9Ms|#CGE%xctGLlc*paQ6M%v0+mH8Wo|MUg4SWG)KLV_puB0ZaK;_KpS-k1?S8V`rfh$>an1_f85o)`LK7R9_x&Oc**HHt$#jD zx;>(p4P0~fFJ!Y48+s87VrNiBe_$>jMs=d?6daTqvnX=XE7-wn0=En;gxwy~ z4JS8|#MI%jhjC!*EbhF2UsBR^o0-Ak$w5cS?Fe|+T?jEn|0V;H^(&vl6#dBc(05anU);vUC=-Sl$$dF8>(Z81`CFyMkDz`M8ZvJ~ED z@{i!wC|DQua(JsiY?K{C>8%6LzPP9o+rU#GvV1vj=&x7rPxQw-62Ult8RtI^XgU+G zfrjdd0RsLwQhC5Lm;7e-(W5KD%O>`ObU0uYqI=G&a|P`i$|yFHtoDho-nHv$0N4v8+~~U_|FX z1sBa)y!}tXo}T|4Hx2*XxaX{kID_7t zx=a>X1i}lv|1{_*vWXDn4#sf4DD)YS4H~9sXn^<40LDmzCJy?f{9ZaX9k*j3-rv!k0cQKGkwqSu#i za{Cm6mcpj495ikyhGfm|K-l>?N=CmIF9tYA91TYp)yN7=mOL-<& zn_e8I?l<5fRy!~-x*9JyNLI}qWgL6UlH*;gD9YX!$q?TaHujiHv>0fWQ8Y%^a$Vlv zR(w44lgep_?|E%oOAwC8)1d0$;jg?)IG=U90)CR@wh)$!KLwpnc|g}JQi4cwk<7>! zUR>QCk}#3%=J6~Gd|%36Y%JduZA~rhcn@M=v!lu6%Ejh9Vph&6kR6LF?uMGR>$IBy z&}s{pubQx;EQ8{jdP%kiTJNnMwr~!+k&AmeQ$*8CuOzRx8}1G(t*bY;NAWlFw6oW* zpleBh;^nkBtbcpbEF66Mb_i>rQxq=WL1p=x$~~<%T~QYMM$H!l!!lmE9}rGHO;VDR zllJNgCS{;DBIlc8qUl)k)nYGXbjy(JpmYB`nUkg3Olf*AZinzKD@EhJ)VnL^pX6aO zJiWK}!NZy2uWCQFNRKNtF}+>VZkf%!*!f3@0-_=<5rTJ$%}kS7dypDL;u$TjZ(JGA z?S)QesGVP(0bEZJ-Pd-2Yk?JvEKf+eTd)AkngQVn@Z*s;sU1f&&oy+g2nnP*9Q}sI zycq$4jld}|#gQ?^AAC~ryL*D*-1H~;Vbs!(#i;5jQ8z3gL(`Q9h6A@>rro_;Rlf3^ z{$y0x#es)l-T8_#lGgeCWC24sLu<6Hl&b>+N-CCuCA{$==`ZxQdG?(MA}g+rkc=qB zUJ_#hqx5w%=Y_Ft?w8-u=hF!dfQjudRw)Axep08iY0zpHdT*2xGqz2bYKM_u_kJ$= z_7O~#2xc9AWm3D>kxeCjO} zj;*LrUci@^)d6n-;XkmY9n4JsGPjwci(8D&tvRgG@_!^3X+1UcAa!< zIcTfzBIbGK_Vg%iMK(V93~W0TIufh`N#p7*WsFNv4Ly>qjBhQ1c`BdzAQj7t@1tv_ z?f8QAxW3)Ewk$v~%{E$T?ebf{SQfTMD{@x6HBKE_=gsYcJSP|1KKdcH$K}gSL)=4m z&ETebs6Uv;)nXxh{zYla>Msk@#fq~tw zdD6!UPh$_x9QX3Bju090#XXmc4#+BwMe7#^Fnhm|E{h00g(q!^jcB@ie1V} zsQ@3xrScewg#<^G{!%%D;cRnV_<2gSw1>g3Yymxh!x@IAk=h0{WHh6S@ zv6XS1eF1gf2eRS=7$z|Xv4Q0q(rw?ZXIi4(p&iT7g<{`U4;oMSeYlOzZXm}5D^>v> zDPXZ|{}t8YgZ4p)Z~?n9%srhy!XqKp98n#d)Ilt{H~vh6L*xU*>n8a>+!h|eS({}! zyKOb0Ng`wpFuFt+7^J(nSy{k)krItq?L^2609sOd^X7VyPeP2 zF?m@|ShNeTPktS7o)W3Znb2?jQAUE$H2JT=t?eIL>|~ zBa0%+$^TrNNK`RnDL9CB?5aI9haQ=C4%jGqebt-+rpHl_vSn_Vsk~-w*kUz1pVV$4 zik>=OT`=cbs9#V;68lw-J~;p?C-SGSU%$AyPks{uDe%JPvE8otM+CL+h~USPW<3$} zL&ulGmP>aoClb|%$NXA+*&-Q*bk9SVPrc%;RqAd6VQfNj69^wka~Q5;16&h&nnSlX zE0i>IzKxpOg&x&j+q=3UT04fgx@JaTRbcK*eU{?8)Z=%R^d0*Ae>2H2|NnzY-bBin z%1+8kHK(Y$7I5?7iQYOaW;HKlwanAYNvus+y-98TV!#44TD03fbuP`oy>AcDuVrZG zjNt-yOLC)9NdTZqX@H!Bta5V+;J|KX@@FyvQu!`f;z$3&zbT2dX`BYU1kwR6pMAdX zU|#kXVtPC)*k<$E-uGCL(+@B}qag67^-J^IO2DmGRNL)d^1=N5h#QOoRCPV}n(f#8 zX%R(N_=te?uZ?$U4`{a?%%VE@;bZPM`HrmFOXV&iCy8RhM`&xlSSx8^huZ7f-=vn# zU6tFoHfREug`W2!husEpx{15EumyapqRKJT$KM(E&SS%UV}i!3h-vUqqzF6f6Fr>m2{2xJP%ZV;WlgvnJ&mGF#Q!A|ET_S}8bF7l^SFY#?{tE$(n97l5NCF1w6Jripy(+XznOv=QeXc<^? z%q!*!HqqmP={ese=;_T2)RZaei@%IeqlFjv-kagi)p%6GMpsUZPm;lH$DI?%s7R)m zCJki^&&$|yl@O?i(a&xLqY;JDpk;ucXAHy-X$HF**gKxc7k)dtvO*>EiREVS;0;BS z_ZvF7vJWNW3?93Xa0SKjV>K z6oa@aMl==7@fC=&ZLt2FL?a_JY zftrLd^48~r^7VoXtHX&^9X^5wj_1EB1^uEK#|_iHCfYe>2x*Z-c0ojslAoC@^Y3#p z*$ah@kk6}h52N9e5Ct*O*dw{UAWB~m*uADlh@zLcfzxXazo zj_^R@@l{N9nt+}A)u8nB6Jzlv8fr5S)X7kcjXjD^v(w_wx{bYq^9Xb6OjQ54tt?-` zG+__{!74^S;Q)*O5*;T>M_krtEV*rg(PqE4k^IWE+{Ohn&}6+NAXli#;LmkJ+81Kv48>2{Of5Dd1CgDuR zs&G8rHU@?%g<$+(8QL%%*)+y?fZ##@1jpQnK%YS-|8^VBUz}U&S@ejMW)X*aq_rL? z$Z-8}qeA6)uoCUZ!tVrX94(oU=Nr_NdPr7Mz(X~A_$kJ996{PZ6`DpW>^$6GOn z&MFt>oA~lGrf%@B!v~UsRz54zw7-hWSEoCKS_MX6hD$I@jU!~eAPu?28vTy$3L4#L z61e2<|Gj5_C7DNtz)5K@9BbtIL~yg+HSu_m1-R`C?!>3bs*?Z$6b0CSJS>j_-<_5` z^4wC1xBphy*-8#sWEI2aM-vylNEc+YQ|Dd^T#f(R;mUdl->`2 zwRRSmR??r!RT6<1DJ0YPJtE)yaW9fZ68Eiy(iFk4z|;&v-SDT& zjTYZGk9Ex9{CMg!&zx^HUY$g*Y#Q-=mCy!mS9rijI0j|^&q>X(OmT?RZo#S|)?Tbt8knzUfn2lynKyh-9` z#d>qJ-Zn~alXKD-&?3nI*%jiZaow^_c8*0;4f$pE6q3}Reg)B^bc7hg|=IWfle zMH>Zv(_S^?LL90s!>BrL-UipY<3228uYi>qt1{(l3pIxAnL%my}xa53* z)Wp*1K3?sK&Lslfc4`nJx^N*5);?hGy>9@MSB^oy*K^9V1;%T43h{7I<1(}o< zyxi=T2RU&`+$92CP$7u79@iTqiEEAmHb{H`_~&Cle)=$`T=2rUJgQA~>3*_R_6RM!Gf8FP-Q!z(#Nqd|#eK{X zc4Kf?PE~cjUqP>Ag)?Gz-pJQRfzv7nFs|^gf6??dcbZ2^xUh!4<|lmQS6cwv$FMY@(Lr@O|>nB>|U!_d3IEb0o0@JRb}+)~Vr zgCi61RW2e(Sng?o!s4K3-z#ikF+xK0VcDe2LIh_)ISmeT?u#rZ-kj^VsV81!_|L~g z=2xt{yHg z6Q-_cmA9hKJW(uVF~OMZZ&WqMbY*qCeS@aLS-5r4!JW$Ja5VA#yqUh58iCKPR{Q++ zx0e(Q_VB05umzJb0g$I(SXbBEA|Jd-i>!AemC}7g`YGj z;|hmkc2slzB#%b0B)(2kAFXsg>EQw{d`P-2fA$u|ps>OPvb0G+D7PH5|B_Btc|qgC z`ud{x`vu()_nUb;!>uBZc^W2Dy z>C8Ep>*~9aBH)cSz#GSt`93&oDo`poj#hs8L5I>IOApqz`H^WL5pVJ_$*HBacY7N1 zdB#Rv7x;i)!(BM!)+MrJH{hsDU%Oz;x{3+G!|H&&-@Y75ns~YR-QsLsGG&5&;7-K9 zw2Ys(j>~i?beda!^JCqGqW@BE(Ex^)P`oDjlLvAvIo&4TQA2WzoS(f`8@5p(q(OVq z^NEdV&o)B8G0o5RBPbpmCCx3C$EBAWxo0*~u7tL$A z>KGc2HwjWwkU{1e|BodgP`suvo7>L4sOc2Hl4mx;S@HX<Np^DP*pkOxeNRXcOd zX}d<%wFu={>NJH*|0ID&WB#XEWS8U@=+1^!M}IQFt?2e8I>QXTea~;@(>vhUnvkSX zy!#AXmh(QQJdYqb;FtOuOzn{Zn2y`aUAj%9>PkQJIGj>dV&B7a^I&1MZ8N*1h?q)= zco#vuK(Z>=D^{4cV(E=wp`hXj&90qZd#L33`RM+b#HnrS#AqfkOISK*R`rMPHvw0$ zSE<9;N}p;0_Z)WWV9Vmg&DT)dWVS-cCA9GbOndX++akej8Mhe2UP&y_|&?57Zty0&%9Xoq=E*lBz+(OJ?Kspbci33D`N8raYkD_F) z?M42zi^j&}EB-FR3_rQA!3$#;3!c83{n@04@11_Z!5K&QArimxlYipa0N`Ft%dN21 zm1j#ykH2SY`lH;<Sxl&R`xSd8oq6e{1qD%9!1i@m z>TQ>3ml*lcoYwPkyAo3#xXs@A4Dv%8p zKOrnTYh_CUJ46%UjIRx|?u}WjOx_*ttHBKI5D4ML$R`AMg2#XegP+roU10txNj*xq zzF5V8)&M9K9`+$g*h{MA|CKpRrMM5{4&o0?5kL&$ULgcB$Pbo)(ywTdZ0kVfNwP_s zVu3d<9>7%1l#k{suqkY209nYaIu2-=JO6$;2i#EEzMe|n){GE901lNw=#NW??lkt9 zyk}@{jocompMj)np5|kA=r~$_PzW>-AOHnpitr>8Ip%MR^A;nRuSw!3;7^HU+aAtv zQgsa&&}Sr$aE$^4gO{}wXj4oWJgCSjVW ziZbJ&vMJ~t&o|N;Q_Z&*zOA;2we%~0@=V_mTj;%Nl6C$D?pL!VIb!9i@7eAh^3|w0 zjp1vqz--;JbM#H zpXl#!Oz)S~hUPaeblCJRL`ABEpuQqQ0ZfYW*QB8;1|j;KDM0JF@FPn5x3LjWI z{29gn5K%|YNe6{qh6?G998&HHkE7ZY?!y<_}b+rnTgSq|fg1 zitoexRm^Hk2Kk58L#G8_0WPRJYCpc5#1$TT2O zU6Bt2q?lBi>PJ|fkij*X=z%%{MVBS^jl^UFKl#ye+PUk9WI+R3XXn1ko}}oIlT*ab zUwRv-WEEsZ%z#sXXed0xRIo$$@0I;4Lr$N*y23MnjmZTS8COT30m;2+NdCm0%5k-& zvH7^%4*TXP{zsOqKKGXqM>VU$F?{*z*DiH@-Gw~FQK482oOd$JTE^N-OhP6nf!XlT zA<3*&Jl7p`uJ6@21=k5j)Dx!y1qOeA-53;0UME2T39B(y;{iHiGEX)bja{|wtQ zMUE|i5}sQftFLea*%Mqm5O!VuaN+hjpXY6=p2A{@B~FrxQZ-W^(WFv$$NsyVzL=L) z#U0(KfXFY%6m#RES$i}z6dKG;f%b#AK!gW?5+Ri&?5(Nf1_mo698ZbUj@#+`itF&% z0zqTB3c&B9!vDR0tiEH278wVcn2Fc5)(wc4W)ugg@QCNh9_9W?X6tCg?GgKwo0L2M z3tXa@k5mUs^FBZa!&)7$o^{wh3|@s+H^wc9UVa>}&xz!-82XT%hSVg&C6fL0imMeu zZ=>`h!wv=uSL+OAP#KaB#*yB3pu)9aUJ0W1Ape^U7-OBom>f9L6+etxXjFi=y1A3o zh&qnjn|q>e&qQ`_X4r2&X7lXQ7-*X|AU;rSC|IcHEkhI)Yg55Mp_)&i%2nX~QIY0R zt+&gD6zT&Y8FBlfobQA=t)dZ1<|bs7Z{&?jt7}E}J9e6KnhB=juA|?zja2_ZLB-!0 zLmm2~E!k7FP=!QwV*DqcKOjBx{Y<18;(rg7_mKG0Sv#0B)!` zW>Psn3eaX0-Zdy?{^23VsxU?$NC^{Xx>emsU8aQ93mE>SU8M(e9avM@}bkMHNnW7(Rh%JFYOQSu38Sr~Su0aT2o*~YH+ zzy_0p)B?!Fs|{7@>HD1(fPQ1$3f;Ig&4bl>bniv6&U4Zo%mFJvBjbO911m~D_qy-! zZ^seVO!4ipYNRw#K4I^xR~m>@#yRiH`+T==!-WE zU02TH*}_YJ4A}T*DtiWvuuVKxH$TUmSL6N&X#i!%-#IAVd|(l*xHws)Z(mYHi5BSZ zF1)u*Th0lyGzv|H$gwDq<`XuMsBXn}HTD)sh8MGm?=x-v$+$#eZ%Bodm==z=DR*ny zeO}Im!u3FII@?? z*v1UzJRWHqkkf#f!h=6Oz1&O{xsioyk>7LvkMG~5G$9VLp(0X&E!}`T5?VQaStvR$ z=gYO`qjZY7Pg&{Wtw6j8`-4{_h^M$iFZrB+2{&bpw|i8;4z2Crm!CW!lt7D+$59ro ze9P&3t-aoh&Ha~)ABV5^$g}L}>U!m&QWE=PJ)Qw$0qCn+$+Pj@c9OMUO@ZEul`Ed^ zFGY-mYIldsV$$5!PE8P?ouKnKBdt6IjblAXBGpdWm2?Yd{^gU#UC4(hP-T@F6j%7! zU-lV9lmMBFAa3J>x$@^U5Kb&3z@wpLAS7uaJ;a%rR zI)CXVA`(Xv71irmlM$GhA(+>6RjRL!xr;kFf&39$8TRUO9oyna;n5euf8hM!ygbDT zD1~*yi;Pv}oNCZc7rq;R%FJa1H6YOZWu*SZ^Qtf1EKH9$gUE>wfAM^GSX|w|0jYk^ zf+>m)0>7Jr+CKs_O7Hd5khDv13$1xBiQeMkMw`Qe`7b>ogkQYzg6!C12t#d=E)7}- zBdvi-Pyx9Xf)S>#k!wOD3yarGa|QdWNz5TEf8$#}+mIod;qGFV(Lk~iJhsO;-$@Zp z7hePT6d8%q196TRalXLiWArKBZ=7JD3G;7&gA=b+B(WMPyzZ;$LnSSQ|HikqHz0Ex zGE0>Urm>f{%w-M_t0^iPAk`A88+*%2dB|G$%myetQa1pPH~n?_-S&Ei*S)>A>*SP@ zN=J2rzNaj2NUrq= z@rH3Iic^2RFG?=Bv6tNbf3^4B?{IG6+B=DwXhW1iL?;MFFN3WN(TU!P7SVezTTcw4 zL@x<~M2+6N(FsD77-jV6B8YaDy}$EEeAjjIqwucvu5v%+zMtofP1_w^PC+O!a8UPH z%N_V^&2>n3UGCfb&^_&s5~U3COnUd=ULNxc$P7q=+Cf`3K8UYN_FAAW;}{31qxHB5 zhXD0`ipGR|Tddz{;CIvRc-q~Wj=O9x~T>9EJ@jmH>?-#1>* z>>jlE(7iEC*_)+UaDSQ+mON@0RWtcF&B&OR6?RhC6AZ59dOqzwy!$7a{5;v`7SwK- zKm8?>s{MqtDB@ssbMC9iE7+eBrov`#O+yQm19^vOn2>5bze`WVbo}19rbH;zF~FdTjGThGjNdRF)kPVwwPP!`;-yo z_R7YYk~aJCv4(d(NZ+*g@9+;hC@)OZaP$45 zMmGZ}u)NwM*exI+p?fmHH^@HdI|Az1pD|#JbLkip!P-00;-@>hd;v>IBbLiqf=)qCpjW*N z``?5QeYkJ_V1w8iVZk&scz$PHHLTC|XYiuMN~F)B!1_}P)kDjfv2_uD+;NxfE-_X< zTHDNu9E%qI#o)aG=IVoAy$$4?^v&)Yqs1RZ^=KA5 zlz{(}zIW`>MiD|F$*29FGa?Og#e9vhmo ze%1^97oVdeFz>0w3ag*gl_;i?=E?WCditD3;|8~nU3w`d7GZU=S>uH+%^a`vW01j0 zf>@K<0rY!v(WG>rk2Bm%5C1u;M12Qo0~x^99NaOX5pm$X$i(0OG#^rVcs}Wo0(fKt zEFq9WHM}#XzEI{pfX+PB&}IfF3~Plv);H$RyRXHzuA_VXr|nDbkF*M`LNk#d>q-vR zq)*LSDOn4?xt_s!o}WcDeewO@6YU-j*nk6IOV_!l4D_bw@* z(mNYGyyJR*7Se}_i{)Utyk~+@^}hNXP&)GA4}80ptU8Gy%W=5u*fve z`7+jD4iO5-w1m+)+92DWla~)BC$fS)@6i~=Wy%W|1{U^qnk$KN-r9=*(nxx|IQ)36 zxTwNbhFCG|2Pf&s_1-i|N4o7SJ2F86MK;!5Hun6joL7^EuNVyz)ZJ13Wb0AxpQ~(q zyzlb($e$KIoD3yCo8b5LS9&+~?OnGXk+}Lx)h75i=!xi`y*vBoMj;!QltM3gYDrkQ z05pK5lUAUP!mJDL!QL?-;jTH1ruq*@?4q_7#~R)DB(t@i>I#D!Ov|PyZgc*T4ueZp z7ysKp%oqXqX-V$eg_N=8h+L4Mdu3c#!vjqj_0(_sW_xnP_m~6{r1UpnM#r~>07s%* zKd_{o`?)kNcH?Z!_h3ol2ISE8;h0uf{f%Gdf;SOWD?iiXfQa!Rq+;_?*;hIq*!9ru z)pA82{-B|>^LkDZ5lb*c6KEQAjDY9N-&jQ1Np!^&0siFKuUMQDqm1RBmKn;bh6}8H zipeM-LIcN@0N`D<%~mwyprU$T>CK;zRHkiX;Kx$2 zdik{WjM7&fq~?-eob+064{IVH5IM&;TnL{+TbtE?7AuH3B?SkgE*zF0!Ee@L3d#U` zhxjj#JlTG6_x{Lq?%vYkDHkp7g%mC9Dp$VvMy=u3A8a}NK17yWO{!6iZl*}>kfw9) zXmM0IaGzYMLg{@9eGXMJW%Kwm)+4R0TM^#*y+C!5)VQVaBpz5YZeRCjBMYa=_; zS#oaXu(6hNcKF*|qss-iO1tykekcqYb9cFj*5Vnp1KNn^w77X#jskNWbe}z6Q>v2$ z7=u%o167-{+J$ay5M*yW*EOU1y0|mGBW&mKV!|to?Wr9qpyMMCqv|?d_ctvqZ|a{xvBXY5fOW8iom8 z)POZ5W@!z-j$n%0i<`N)0QK>^47gI%WM%O8)#$FC3>#qt&B&w%1v%=a9KL#JEU-bk z9mjwJEV&roQ`1m`kP{|rWqC}Mu54yMIUU=t^0L6r)DJa>K*4rw4<~lPiPx)PLzLee zFHydLHCE!xv9_nw+sxkP3wA|~%2QgCPyQ6`tua5n3UugZ+=u`J+Vv)_wiXR5C+ofp zXJdKu)E=08SOG_@C4I%ez zo-hZ829P)0`AiYruE#W|=9`Br5S}cn!YW`419sEZ*9%&4SONQ=2g8y+_=Xh2&AM=& zp1Is5*X8D!e901x2gb5wl(qf(Vagt$itGOFBO<3qAcB=>IWCoIm#{N z6E<7@Q06Szv7q$&7>CWoM3ksJzWBZZkoy1}P}jCr0;shW5gpTBHG16cnXncUsN$fZ z{$5-Mt?V6W)exy=w1vjW&^55bc@wrYp|5j&W&qEZqnHC zt%LqiGYc@iw?i;0WnxAj{*uhB`h9+9!&IVsu+dt@LF6@Z3YeM@Hl?S)bF;#p%zq-p z_wvz~+f`}h?f6baQa8)wZ!4epG0SSLrAH?YBLh|aRyUKwxJVJYl*9{`edhe*efR0{ z^MI&WGc(JpULC&@6S?rDVSQQKM%8c8pax0D;5KiVbAJO~UJjcEWY{gojg1A*X+GgT z_jk`@ybW(U2VMYc`Q@mL`XoKERybuQU>Dph9OjYmTY35vKe!pkiYQsss~j9X@xhiJ z{q9MU-jrHpPWIcQNPenebU#TUnlhALMD!LJB~ci&OxJDB5{EXw$jMi7Xo`;Fhq~+N<@+j7D=c%!|iS13Ro#_<6U{jIaYl* z%MW}7CC<fLA4MY!oD^_l}oxZ`gU-)Hlq)wPkqmc zb1jeEZS8(P2O6zTb$qH41H=8J31_J&nJ*`~-f7Mw2P<}J;#pWDrf*&o_8~-hpo`gj z&892aYamB-A`2+e%pAV>Vsf?nJ|A?#yKm0uhCJqHz<~TXT}SH z&_H#$xiQ%rAD#y1o{xwEQr&e`TXnqunV(5sB;v`f`0REX;rlu>dhj7<50Q&mt(ptR z(53F^|5erOtrD{rLhFza9$K~+*z;3zBY2v(B02DPxoPV5-)xn2(fTirYx#eTaYF(` z(EcsQ>}5U~EvG&kK>8*C{MX%y`-AN8IGS^b)pGMAyu&WnrCtU{^^J(+wFeT&DL8() z*DXVD`zcec{t#<6oVQQ(YPC)&syECV9cfp5dEq$Fe3YIM@da%elkTJq## z%ze+S0wyI(e4$+akvdv=eaQh3`r*fi(g&rt7?;o(^g6J& z`uCc3&P{BL0Iq6YPhK)u>Evk8rsUlC@u^M}{SU1RD`$1ZD%LSZsL#X@jFa-hLr*Lk zuTN1&7es*|bX|$?n3fj>T8>+5C`tOAN6~DuG}!TV>{zx<pzkRhI@LYh@4Hx>8^(5k+M+qE1Xj zH|IKPtu;#d3riw{Y@+$imWB0v4$ylt|M`xR4;NiFzjFvJ!n-4Q944SO_-b|Rb?^s( zEcLR3I+D}%#X37M&6}vuF_`*f*jz#E%{E=v^`@yDxFEtW;_@Am`I{s@HW4lyk^)Es z7yN9krs&T*2+wu>nCo?|D%d~i17?6tZb2cwlS?i?{-6RA#UFuS%}$9&;TLz^W@+7P z8d%>{KpJd5mki`%zyG+)$HkNYC(LZ+O#t z7~G`tX6fyCE7VDxVZblCh6N0=qAEL=OR|Vh)dHDlZ|*vAE_b~!s@HF?mY;}$p$_0w zmb@tXql?PX7ujn+wnxZUOjS-4$lJ?!@n8ExxLsQMGny*peLRznM&sCMH-&wJAX zjNg(lO%(o>uuk5qdQgg?u? zE0+Uvrl!b7T1#~!QqH&2+}jSBkLjeRi$2i=^j1*eQb}4OJ4M1gagYrAg!=K zjI4K0$c<-=K_(_sToWvu-Tjh^ca-Zgo&L=ZjOTf2Zbz5Y#SL0akO|Bl`RG`G|2ZCN@Pz$aex@9KT`6+$r2OZb~xoni{g6g`_QjfGGLw&w6aWTo|kjM19+q8VhEl-dt zgF36Et5XQ5g1TSI@o$7NTZxCLuta?`O<;kO;{tA5I=dMI(e`j+^FpR6(KjL$MqniiD8Q+ zE7SHt7dtcZZu#e}Eo7h6kELZZ=gI($YRQ%eM_R@)!;pTK6?dvd**hjaubGb+9JL#}dZt1k-*rHs3Uh!Qp!{$5RlVM2QQ1l5CURH<-( z1RawbZ;~YZ*0(>0Z_w&Zt@?DKTki=iE?OQfC!W=)YapWGJa-sVRWu^b0*4N+kWuST z%o}`9aWvULyY9R~r)Pc8=2N1XOY`_csWF%lgC>OO2#y_XEW_$4a4OL}&HyUsezf>! z7n3nCYP=KliT9-V$;Ff3^mzc~?zO-F<-C)wNJ_=E8K#*)f7Am0@OfLvrA2p8VCZ2a ze?Rr=up-yvEnRZz#k@-G_w(A)bnRA5K_xuwvKx)e6k@glodY-p&*UtMQfC9Y6F zN7cDZ8I=5jdN)NaVJnPi^Xc!|vrg`)eYIzCIN{de{njM(Zif z#TSFf33y^(Xu34ow<-Payk%!Ot zIVx#n9ex(20Kb}-n8?OPQHcp#qR;m0&j#CrV~xC>Nl^?uReU_@wCb}LXCZ8l9biD- z-ui3U+b!es@?Nk{n3~kGHLqyS!C6!${12M-_=4OXW7IIm;FjJ{U*3L2#F(1J2@0ug ze4q1*LA5eMuSe*lsmzhfh?Q2`^rz`Lqi4Tbi{O7URn>wdKZu=p#Nig$4Q?)nS8?P2 zi36RwW%^=@%V})#kqVFD%L8V+e7;#0>P$NV^hQ<%{_d>Z&;diaszj3TJ3M)eJkZA~ zGneDsxtHfSlWfqng2GXnBiBy8rBxl$z z5dVm)MZXCbQKzr}78SW8V3{y>Xd(L+t7jpNQn8I)#LsOwY+u6W_-2PcFcG3gDmFxC zL2jXpD?8*N_OaNFH>a2qa{9uQd5e8*Y0^@ty}f(78FyGRI|+#sj*!u2Z4k(#)d4L5 zQiiazPtuCXEXvkS*J#w+*j@hVrs_Ukp&8>F5}k#w9TE%Ap7+U8oZ7EUa%)1F+@OvB zt-D^hBdv{{0n*K8E7^sFggK7)zRN!t4*Ts$2e|D9r9b?#gplZFEqUb&o7nE#Rg+LL zECOkAQe8-IG2kDx>nv7WbcU z9XWkOxK6m)-(F(29%3k5L2fr6_%zgb>8uO>O-GeP3<-l1t1j^7a?f1(___&#I)GXd>iu&HIu==*R;jqh zQ9e9)s}dHXlC2M0h~RU ziA$B}>VUtILqKKsCfgGm{(@#Ik`!3(26fcayGJ$j68e?THim88jjdk$!BAkHi|;_k zK>}XXL8+jptU)pW6I|lB^HrW)mtUt^gRPN1b8H->a@_o<(5i{vx{Rz7=Qci%jpkj!JS~g zXD%a4q{=$eK5$^Gk;{C?blX)gJVchQekQlZ6Z`%_6XD*76wKBT*!-j-Xjjx`O^$hk zXfki?|CDi`#$YgyIa;Q)8ocXp%jq}k5r?#@t8wml^up@E&79>I&9?*>%)ar9JwkCl z9h!rT{d6kmkpa4t^~>ibH4fQkgIr{C4pS z>9^iMH(mc0k2bbg!`Zo7O$!^5eMYToX2hVxSRM*I2fCY=NecU*8RGSwttf1OFdiv^ z4wy4X1LxP2CSG(q)u(46%X@ejf-575E|FEfl9D&$%i(6%Yk_p_?Y--ZbQ+h{ADY{h zvb@h65!NaKJAA>|$N>6Dlu=)n6Y*gk!yW<@Z(9Q=z1m`MdaS-e7z{Ovb-pzU{j3WIB%=b5K-r>RpE^g;8>o)`rO|LrHhCZe)A+B}1@py}K1p1Q+D&n5n_H>)*? z40Q@zK}HGFukEweC)4+{gQ7O9J$P3(C$-`pXS*E@q-|kDPf8g?sY0UOzu`q6A)wB9 z$I<9L5?oU8Hp84UA8svPeDt@M}6*t-=e%pK zM_6ue&^Z5*gHzXukQYS)K4-$lh<9&JTTk#jkABRJB8kOzViMWwG2kJ-_6r>zpsx{R zg`YvBnXt4SB807jm&9$eR~%>Fz2nYH#n&*u{M*~f6=VNBx`|<9#YyhR>o21dDU3XJ z+mTJB`h}vth9OZSxqB{W#|&Fe@_|+^MX*t$JotyFz@24WR%zS%RA(O-U!+o}CHDP= zZrk|UlvGfJniT6^AC_y#11?QrRyD@CRf&f~SplY%Sx*(!*9q!Tv{EA0f2>BK?hiE{ ziSKZAyo1DfHHdXg-BH!Sc%KimkM!525|}-%zQ!$SIV#HpNiEOO2t}Y`!s`kV0?qB) z*!wp`hXzRZKX7n@eXP1UwzSCvifQS}Nruv90JkOgXRew%HhEsf7f zIJuB~SzJ(^5&|n-c;tc^@zix9a?$+TXd)>&pN&n$t4Kw7eMurlF)m#k;O8ug6!WyT z6ql-v3z#)+230ig&1^Eu15~_?iZDNsnH0k|Vy5Hk&8yT*vu4!b$Q|j2N16KeuA|RW z$ZyQ(23zPK*>JIfPZlHtKRh4>BS9-g^;|-b*BitZ07m$FeWUn$oz%Qq%;|KkPTkjy zM1}a|TBCiQ7J&AzBhEjT=6?RH=@rg-k>FkhTV1`52HLiO8fNkAY7usG&LtIF2;}=6 zGm3c;u^35P3V#hcT_n+Z0qz47u`TW5BR5v#FTc#TZtsn*DHME-!LfJJ|BoqxRlwEQU& zZaf_ETyYxSX#Bdu*w;vpUmQcd=(An*f%}zY#ehV2k)>DAmoW!n0Oq9H5EMUlr7e0oE8B~h?I9-W^9 zMg+4R64ZpMo;LU;nw09El7u}JZ%fPnkw7`|`#qf7z7QxeVYG3Pe`_~_+pXd25%it~ zsY~IYeE{auP-IhaW3ho>N_E!ZUN}ZQO2u0%C6lEb4~9GOiJ8 zj4Qdvoyo_QMkt^4Gk~S1EL1orMt4!4A^Oq6PyCV!;^+&=%;H9hu_SFnnAB@iQf4vBcMhTe1Z4;-`&?DTGgr>WYQ`wZs&|fZUTK=d^ zvH(nDagKjV{HxKEDsqq)vc|;PR{6uB&9NG#`lduU$R&@*wN z+jDRjy`w4pPG||p9$K85WP-;rj2OaHO?~;&cqi9Uqy;+j%VvRbGFs}+y@B13GcP=x zfHlSaH394H_FiG$XBChXNUDjqg8m%C{woh(Jw&e!R#ny2=V<r2gZ@m8`?ap?;t4?NuB~@?#b|p_SX&&{OF*nZ=9vimVP_Dk_SWb>2g}C!BsY zA=u>lV{8S|CJ2zLA>~6KK*wy2$*RO!2GVP!SZ^gz9|+u!+|&-b$wz;=kHK>i`;@s2 z(@jC}Ixm70HYP{W1og@$p1c=&IG$))*X3dTOv;2Qej_dRuhRzgHKi(a`1PS+)m}IU zyXeMtNT)+Ke>o8^+T|RI+_?E z;gdj+!dN=}>85o67acH_u`IyL(8%V`uo z58*-1J^%fNpdDy{5B?ec_pw1;(BfK7u0ZGi{_FM&a{sp)|93Y2|Gy45l+5q`4&V69 SfdZd1{Yw#{CRZ+F9{NAeG+l~2d+Edb^?g6w_kDf3?%#b~_x-z5++6HHvZ}HY5)vSLoVCYR z#chX-)K>OdsIilfkmlH1|KS<6W1%rN^uslc2GR1ecx_~<>MW#cKyQdV(DZVLBQu}# zR{7*2An>{&f4vd-IcjD%?+0gtc|?y8G`(Z_*_HkU zjofny{jVn(W+NT(?%Z91f`fI?{rd)f!>yDM&I#NCNDVl^u=WjW2};&_ z&&)A-wOke^hcR=A&~EmjNA`K>!fq}Nq)+`yx}k8ecBzGPmvFk1bwr(kmu*%#Tz z_PL&Ue~UFKx{01$4c%_2tac{bWhJw?avbFeflvVVYY{#rh4sMkF+ zqmJj@ilOd9Rkw!Z`wih*MwSlJu_mhtyAsw5;FZAdv_8Lm{z&6QftniaCI%a#--cgF zB!26kCwodH7VjK4CXO1x$C-Ht9Ve4N?7rd@sMOJ#eOYL~?bV#cRL5x2vTwAI(Y{h%;($`j`REd}AF z<`P+t!=!(Umw)mx;R{l18a7AW#r|g5cFx=i#k|u(0 zKD_f#0_fDbv(?oyD)d$#U!OwU?)t)VRF3iuj_#0R93FVL)>|oQM&@`szOMOL6-4a>XV&LN%K>12H%D=Yo<0B;iv|&w+g(G-fCvdf=10z zN?ir+=O$ZR;5I^euB8TX_6y*E=wxh*d1GwW%#3}c9%hOj>c9v!V5=b+SmW&#^DX41 z>-t=-YMC@e6-=){tuPkt@1*r;F{sXUvT^6D+E)Hd8UL~R(g+f8XO(6ZO}~_ya5SC} zRuyiI_%YdvViW7StxWUWE~okYMxUaCe{GI698>}z&vUPbKP)|47iAj7&NEjWuj9(q zL>S%cNevGKr!yqe`2b@Cl&rNysvQxlBVsD2Sdj#ZaXNC-2bRot%%kJv%bN*br;k(o ze<>z2IEbFSnHxX~pgF;uEwX18hXbhdD84AEj9qlxflADUoGDzYx%Xej>S<+>)h`20 ze>rh+$9(zFq2rswyFG2a4;N#O8@1Z>s3e2*P#ZZwW>;6(C#FqCu}UjKP%64~R36~tz!fQQ@NKui z*Y`9dH(%bJedf?<2d5-ov2Xy_V`jA@Vhkb;On+0bVz=3bgKyg_tUS-1Uk_69Vt`mV zioEY@&pl4vyqz*btnQ(gcKycr^tIzXsS>a3BGD9011F!N&uRosP0&FGadeB5jx9=b z<2EN*o0OupDuWyIoi4QkWzB>-C&&X`Or;yE!2T9c`I%Ekb2hDW4<*RXoS)XGZV+}d z_frmnyIXb2yy=b}p7ftRbfiY~tYpfDimVM#*!~6mlXE`zv$wigWxyiO{@lvw?0|7u4Cx>0qnO8<>CkMvVr;oEeXmPArprXLLF0yAADbx22C= eh5jFKL;8_B+cPgdLvibsOW51ESXW{FZ~q4)#oUJg literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/splash.png b/app/src/main/res/drawable-xxhdpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..242b28e76793ac25a0774f26ebaf6e397139a4cd GIT binary patch literal 53839 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 '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +# This is normally unused +# shellcheck disable=SC2034 +APP_BASE_NAME=${0##*/} +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD=maximum + +warn () { + echo "$*" +} >&2 + +die () { + echo + echo "$*" + echo + exit 1 +} >&2 + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD=$JAVA_HOME/jre/sh/java + else + JAVACMD=$JAVA_HOME/bin/java + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD=java + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +fi + +# Increase the maximum file descriptors if we can. +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +fi + +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 00000000..25da30db --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,92 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%"=="" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if %ERRORLEVEL% equ 0 goto execute + +echo. 1>&2 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. 1>&2 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if %ERRORLEVEL% equ 0 goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/manifest-checksum.txt b/manifest-checksum.txt new file mode 100644 index 00000000..04b17e8e --- /dev/null +++ b/manifest-checksum.txt @@ -0,0 +1 @@ +5416212501e1ca781234b854ff6b8b50509b7f01 \ No newline at end of file diff --git a/package.json b/package.json index 039cb3c9..f67b7fb3 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "app.salona", "private": true, - "version": "3.121.446", + "version": "3.121.456", "type": "module", "scripts": { "dev": "vite --host", diff --git a/public/.well-known/assetlinks.json b/public/.well-known/assetlinks.json index d3e2f0cf..cedf1f13 100644 --- a/public/.well-known/assetlinks.json +++ b/public/.well-known/assetlinks.json @@ -1,21 +1,19 @@ [ - { - "relation": ["delegate_permission/common.handle_all_urls"], - "target": { - "namespace": "android_app", - "package_name": "ir.mysalona.app.twa", - "sha256_cert_fingerprints": [ - "76:4B:22:4D:E1:80:32:A2:8B:78:51:D6:57:86:99:A1:4D:67:9C:99:4A:6A:5F:D7:BC:55:DF:D7:38:35:E0:0C" - ] + { + "relation": ["delegate_permission/common.handle_all_urls"], + "target": { + "namespace": "android_app", + "package_name": "ir.mysalona.app.twa", + "sha256_cert_fingerprints": [ + "2B:15:95:EC:CD:A0:FB:4F:E6:8B:4A:C1:98:7A:54:14:D8:BD:A9:3E:2D:F0:5A:E6:F7:31:CD:EE:EF:6E:16:6E" + ] + } + }, + { + "relation": ["check_validation"], + "target": { + "namespace": "cafebazaar_twa", + "package_name": "ir.mysalona.app.twa" + } } - }, - { - "relation": [ - "check_validation" - ], - "target": { - "namespace": "cafebazaar_twa", - "package_name": "ir.mysalona.app.twa" - }} - ] diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 00000000..e7b4def4 --- /dev/null +++ b/settings.gradle @@ -0,0 +1 @@ +include ':app' diff --git a/src/App.css b/src/App.css index 91022d69..df7d8c08 100644 --- a/src/App.css +++ b/src/App.css @@ -3,490 +3,496 @@ @tailwind utilities; @font-face { - font-family: Vazirmatn; - src: url("./assets/fonts/Vazirmatn-FD/Vazirmatn-FD-Thin.woff2") - format("woff2"); - font-weight: 100; - font-style: normal; - font-display: swap; + font-family: Vazirmatn; + src: url("./assets/fonts/Vazirmatn-FD/Vazirmatn-FD-Thin.woff2") format("woff2"); + font-weight: 100; + font-style: normal; + font-display: swap; } @font-face { - font-family: Vazirmatn; - src: url("./assets/fonts/Vazirmatn-FD/Vazirmatn-FD-ExtraLight.woff2") - format("woff2"); - font-weight: 200; - font-style: normal; - font-display: swap; + font-family: Vazirmatn; + src: url("./assets/fonts/Vazirmatn-FD/Vazirmatn-FD-ExtraLight.woff2") format("woff2"); + font-weight: 200; + font-style: normal; + font-display: swap; } @font-face { - font-family: Vazirmatn; - src: url("./assets/fonts/Vazirmatn-FD/Vazirmatn-FD-Light.woff2") - format("woff2"); - font-weight: 300; - font-style: normal; - font-display: swap; + font-family: Vazirmatn; + src: url("./assets/fonts/Vazirmatn-FD/Vazirmatn-FD-Light.woff2") format("woff2"); + font-weight: 300; + font-style: normal; + font-display: swap; } @font-face { - font-family: Vazirmatn; - src: url("./assets/fonts/Vazirmatn-FD/Vazirmatn-FD-Regular.woff2") - format("woff2"); - font-weight: 400; - font-style: normal; - font-display: swap; + font-family: Vazirmatn; + src: url("./assets/fonts/Vazirmatn-FD/Vazirmatn-FD-Regular.woff2") format("woff2"); + font-weight: 400; + font-style: normal; + font-display: swap; } @font-face { - font-family: Vazirmatn; - src: url("./assets/fonts/Vazirmatn-FD/Vazirmatn-FD-Medium.woff2") - format("woff2"); - font-weight: 500; - font-style: normal; - font-display: swap; + font-family: Vazirmatn; + src: url("./assets/fonts/Vazirmatn-FD/Vazirmatn-FD-Medium.woff2") format("woff2"); + font-weight: 500; + font-style: normal; + font-display: swap; } @font-face { - font-family: Vazirmatn; - src: url("./assets/fonts/Vazirmatn-FD/Vazirmatn-FD-SemiBold.woff2") - format("woff2"); - font-weight: 600; - font-style: normal; - font-display: swap; + font-family: Vazirmatn; + src: url("./assets/fonts/Vazirmatn-FD/Vazirmatn-FD-SemiBold.woff2") format("woff2"); + font-weight: 600; + font-style: normal; + font-display: swap; } @font-face { - font-family: Vazirmatn; - src: url("./assets/fonts/Vazirmatn-FD/Vazirmatn-FD-Bold.woff2") - format("woff2"); - font-weight: 700; - font-style: normal; - font-display: swap; + font-family: Vazirmatn; + src: url("./assets/fonts/Vazirmatn-FD/Vazirmatn-FD-Bold.woff2") format("woff2"); + font-weight: 700; + font-style: normal; + font-display: swap; } @font-face { - font-family: Vazirmatn; - src: url("./assets/fonts/Vazirmatn-FD/Vazirmatn-FD-ExtraBold.woff2") - format("woff2"); - font-weight: 800; - font-style: normal; - font-display: swap; + font-family: Vazirmatn; + src: url("./assets/fonts/Vazirmatn-FD/Vazirmatn-FD-ExtraBold.woff2") format("woff2"); + font-weight: 800; + font-style: normal; + font-display: swap; } @font-face { - font-family: Vazirmatn; - src: url("./assets/fonts/Vazirmatn-FD/Vazirmatn-FD-Black.woff2") - format("woff2"); - font-weight: 900; - font-style: normal; - font-display: swap; + font-family: Vazirmatn; + src: url("./assets/fonts/Vazirmatn-FD/Vazirmatn-FD-Black.woff2") format("woff2"); + font-weight: 900; + font-style: normal; + font-display: swap; } @font-face { - font-family: "IranNastaliq"; - src: url("./assets/fonts/IranNastaliq/IranNastaliq.woff2") format("woff2"), - url("./assets/fonts/IranNastaliq/IranNastaliq.woff") format("woff"), - url("./assets/fonts/IranNastaliq/IranNastaliq.ttf") format("truetype"); - font-weight: normal; - font-style: normal; - font-display: swap; + font-family: "IranNastaliq"; + src: + url("./assets/fonts/IranNastaliq/IranNastaliq.woff2") format("woff2"), + url("./assets/fonts/IranNastaliq/IranNastaliq.woff") format("woff"), + url("./assets/fonts/IranNastaliq/IranNastaliq.ttf") format("truetype"); + font-weight: normal; + font-style: normal; + font-display: swap; } @font-face { - font-family: "Boblious"; - src: url("./assets/fonts/Boblious.ttf"); + font-family: "Boblious"; + src: url("./assets/fonts/Boblious.ttf"); } @font-face { - font-family: "Hayat"; - src: url("./assets/fonts/Hayat.ttf"); + font-family: "Hayat"; + src: url("./assets/fonts/Hayat.ttf"); } @font-face { - font-family: "DigiMadasi"; - src: url("./assets/fonts/DigiMadasi.ttf"); + font-family: "DigiMadasi"; + src: url("./assets/fonts/DigiMadasi.ttf"); } @font-face { - font-family: "Nahid"; - src: url("./assets/fonts/Nahid/Nahid.eot"); - src: url("./assets/fonts/Nahid/Nahid.eot?#iefix") format("embedded-opentype"); - src: url("./assets/fonts/Nahid/Nahid.woff") format("woff"); - src: url("./assets/fonts/Nahid/Nahid.ttf") format("truetype"); - font-weight: normal; + font-family: "Nahid"; + src: url("./assets/fonts/Nahid/Nahid.eot"); + src: url("./assets/fonts/Nahid/Nahid.eot?#iefix") format("embedded-opentype"); + src: url("./assets/fonts/Nahid/Nahid.woff") format("woff"); + src: url("./assets/fonts/Nahid/Nahid.ttf") format("truetype"); + font-weight: normal; } @font-face { - font-family: Shabnam; - src: url('./assets/fonts/Shabnam/'); - src: url('./assets/fonts/Shabnam/?#iefix') format('embedded-opentype'), - url('./assets/fonts/Shabnam/Shabnam.woff2') format('woff2'), - url('./assets/fonts/Shabnam/Shabnam.woff') format('woff'), - url('./assets/fonts/Shabnam/Shabnam.ttf') format('truetype'); - font-weight: normal; + font-family: Shabnam; + src: url("./assets/fonts/Shabnam/"); + src: + url("./assets/fonts/Shabnam/?#iefix") format("embedded-opentype"), + url("./assets/fonts/Shabnam/Shabnam.woff2") format("woff2"), + url("./assets/fonts/Shabnam/Shabnam.woff") format("woff"), + url("./assets/fonts/Shabnam/Shabnam.ttf") format("truetype"); + font-weight: normal; } @font-face { - font-family: Shabnam; - src: url('./assets/fonts/Shabnam/Shabnam-Bold.eot'); - src: url('./assets/fonts/Shabnam/Shabnam-Bold.eot?#iefix') format('embedded-opentype'), - url('./assets/fonts/Shabnam/Shabnam-Bold.woff2') format('woff2'), - url('./assets/fonts/Shabnam/Shabnam-Bold.woff') format('woff'), - url('./assets/fonts/Shabnam/Shabnam-Bold.ttf') format('truetype'); - font-weight: bold; + font-family: Shabnam; + src: url("./assets/fonts/Shabnam/Shabnam-Bold.eot"); + src: + url("./assets/fonts/Shabnam/Shabnam-Bold.eot?#iefix") format("embedded-opentype"), + url("./assets/fonts/Shabnam/Shabnam-Bold.woff2") format("woff2"), + url("./assets/fonts/Shabnam/Shabnam-Bold.woff") format("woff"), + url("./assets/fonts/Shabnam/Shabnam-Bold.ttf") format("truetype"); + font-weight: bold; } @font-face { - font-family: Shabnam; - src: url('./assets/fonts/Shabnam/Shabnam-Thin.eot'); - src: url('./assets/fonts/Shabnam/Shabnam-Thin.eot?#iefix') format('embedded-opentype'), - url('./assets/fonts/Shabnam/Shabnam-Thin.woff2') format('woff2'), - url('./assets/fonts/Shabnam/Shabnam-Thin.woff') format('woff'), - url('./assets/fonts/Shabnam/Shabnam-Thin.ttf') format('truetype'); - font-weight: 100; + font-family: Shabnam; + src: url("./assets/fonts/Shabnam/Shabnam-Thin.eot"); + src: + url("./assets/fonts/Shabnam/Shabnam-Thin.eot?#iefix") format("embedded-opentype"), + url("./assets/fonts/Shabnam/Shabnam-Thin.woff2") format("woff2"), + url("./assets/fonts/Shabnam/Shabnam-Thin.woff") format("woff"), + url("./assets/fonts/Shabnam/Shabnam-Thin.ttf") format("truetype"); + font-weight: 100; } @font-face { - font-family: Shabnam; - src: url('./assets/fonts/Shabnam/Shabnam-Light.eot'); - src: url('./assets/fonts/Shabnam/Shabnam-Light.eot?#iefix') format('embedded-opentype'), - url('./assets/fonts/Shabnam/Shabnam-Light.woff2') format('woff2'), - url('./assets/fonts/Shabnam/Shabnam-Light.woff') format('woff'), - url('./assets/fonts/Shabnam/Shabnam-Light.ttf') format('truetype'); - font-weight: 300; + font-family: Shabnam; + src: url("./assets/fonts/Shabnam/Shabnam-Light.eot"); + src: + url("./assets/fonts/Shabnam/Shabnam-Light.eot?#iefix") format("embedded-opentype"), + url("./assets/fonts/Shabnam/Shabnam-Light.woff2") format("woff2"), + url("./assets/fonts/Shabnam/Shabnam-Light.woff") format("woff"), + url("./assets/fonts/Shabnam/Shabnam-Light.ttf") format("truetype"); + font-weight: 300; } @font-face { - font-family: Shabnam; - src: url('./assets/fonts/Shabnam/Shabnam-Medium.eot'); - src: url('./assets/fonts/Shabnam/Shabnam-Medium.eot?#iefix') format('embedded-opentype'), - url('./assets/fonts/Shabnam/Shabnam-Medium.woff2') format('woff2'), - url('./assets/fonts/Shabnam/Shabnam-Medium.woff') format('woff'), - url('./assets/fonts/Shabnam/Shabnam-Medium.ttf') format('truetype'); - font-weight: 500; + font-family: Shabnam; + src: url("./assets/fonts/Shabnam/Shabnam-Medium.eot"); + src: + url("./assets/fonts/Shabnam/Shabnam-Medium.eot?#iefix") format("embedded-opentype"), + url("./assets/fonts/Shabnam/Shabnam-Medium.woff2") format("woff2"), + url("./assets/fonts/Shabnam/Shabnam-Medium.woff") format("woff"), + url("./assets/fonts/Shabnam/Shabnam-Medium.ttf") format("truetype"); + font-weight: 500; } #root { - /* height: 100vh; */ - height: 90vh; + /* height: 100vh; */ + height: 90vh; } @layer base { - :root { - --background: 0 0% 100%; - --foreground: 0 0% 3.9%; - --card: 0 0% 100%; - --card-foreground: 0 0% 3.9%; - --popover: 0 0% 100%; - --popover-foreground: 0 0% 3.9%; - --primary: 0 0% 9%; - --primary-foreground: 0 0% 98%; - --secondary: 0 0% 96.1%; - --secondary-foreground: 0 0% 9%; - --muted: 0 0% 96.1%; - --muted-foreground: 0 0% 45.1%; - --accent: 0 0% 96.1%; - --accent-foreground: 0 0% 9%; - --destructive: 0 84.2% 60.2%; - --destructive-foreground: 0 0% 98%; - --border: 0 0% 89.8%; - --input: 0 0% 89.8%; - --ring: 0 0% 3.9%; - --radius: 0.5rem; - --chart-1: 12 76% 61%; - --chart-2: 173 58% 39%; - --chart-3: 197 37% 24%; - --chart-4: 43 74% 66%; - --chart-5: 27 87% 67%; - } - * { - @apply border-border; - box-sizing: border-box; - } - html { - @apply relative; - direction: rtl; - color-scheme: light; - scroll-behavior: smooth; - -moz-text-size-adjust: 100%; - -webkit-text-size-adjust: 100%; - text-size-adjust: 100%; - } - body { - @apply !font-vazirmatn relative tracking-normal bg-background text-foreground overflow-x-hidden select-none; - -moz-font-feature-settings: "ss02" !important; - -webkit-font-feature-settings: "ss02" !important; - font-feature-settings: "ss02" !important; - transition: background-color 250ms ease; - margin: 0; /* Add this */ - padding: 0; /* Add this */ - } - .break-word { - word-break: break-word; - } - .dark { - --background: 0 0% 3.9%; - --foreground: 0 0% 98%; - --card: 0 0% 3.9%; - --card-foreground: 0 0% 98%; - --popover: 0 0% 3.9%; - --popover-foreground: 0 0% 98%; - --primary: 0 0% 98%; - --primary-foreground: 0 0% 9%; - --secondary: 0 0% 14.9%; - --secondary-foreground: 0 0% 98%; - --muted: 0 0% 14.9%; - --muted-foreground: 0 0% 63.9%; - --accent: 0 0% 14.9%; - --accent-foreground: 0 0% 98%; - --destructive: 0 62.8% 30.6%; - --destructive-foreground: 0 0% 98%; - --border: 0 0% 14.9%; - --input: 0 0% 14.9%; - --ring: 0 0% 83.1%; - --chart-1: 220 70% 50%; - --chart-2: 160 60% 45%; - --chart-3: 30 80% 55%; - --chart-4: 280 65% 60%; - --chart-5: 340 75% 55%; - } + :root { + --background: 0 0% 100%; + --foreground: 0 0% 3.9%; + --card: 0 0% 100%; + --card-foreground: 0 0% 3.9%; + --popover: 0 0% 100%; + --popover-foreground: 0 0% 3.9%; + --primary: 0 0% 9%; + --primary-foreground: 0 0% 98%; + --secondary: 0 0% 96.1%; + --secondary-foreground: 0 0% 9%; + --muted: 0 0% 96.1%; + --muted-foreground: 0 0% 45.1%; + --accent: 0 0% 96.1%; + --accent-foreground: 0 0% 9%; + --destructive: 0 84.2% 60.2%; + --destructive-foreground: 0 0% 98%; + --border: 0 0% 89.8%; + --input: 0 0% 89.8%; + --ring: 0 0% 3.9%; + --radius: 0.5rem; + --chart-1: 12 76% 61%; + --chart-2: 173 58% 39%; + --chart-3: 197 37% 24%; + --chart-4: 43 74% 66%; + --chart-5: 27 87% 67%; + } + * { + @apply border-border; + box-sizing: border-box; + } + html { + @apply relative; + direction: rtl; + color-scheme: light; + scroll-behavior: smooth; + -moz-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; + text-size-adjust: 100%; + } + body { + @apply !font-vazirmatn relative tracking-normal bg-background text-foreground overflow-x-hidden select-none; + -moz-font-feature-settings: "ss02" !important; + -webkit-font-feature-settings: "ss02" !important; + font-feature-settings: "ss02" !important; + transition: background-color 250ms ease; + margin: 0; /* Add this */ + padding: 0; /* Add this */ + } + .break-word { + word-break: break-word; + } + .dark { + --background: 0 0% 3.9%; + --foreground: 0 0% 98%; + --card: 0 0% 3.9%; + --card-foreground: 0 0% 98%; + --popover: 0 0% 3.9%; + --popover-foreground: 0 0% 98%; + --primary: 0 0% 98%; + --primary-foreground: 0 0% 9%; + --secondary: 0 0% 14.9%; + --secondary-foreground: 0 0% 98%; + --muted: 0 0% 14.9%; + --muted-foreground: 0 0% 63.9%; + --accent: 0 0% 14.9%; + --accent-foreground: 0 0% 98%; + --destructive: 0 62.8% 30.6%; + --destructive-foreground: 0 0% 98%; + --border: 0 0% 14.9%; + --input: 0 0% 14.9%; + --ring: 0 0% 83.1%; + --chart-1: 220 70% 50%; + --chart-2: 160 60% 45%; + --chart-3: 30 80% 55%; + --chart-4: 280 65% 60%; + --chart-5: 340 75% 55%; + } } @media (prefers-color-scheme: dark) { - body { - @apply bg-background text-foreground; - } + body { + @apply bg-background text-foreground; + } } @media (forced-colors: active) { - html { - forced-color-adjust: none; - } + html { + forced-color-adjust: none; + } } div[role="dialog"] { - @apply font-vazirmatn; + @apply font-vazirmatn; } .swal2-modal { - @apply p-5; + @apply p-5; } .swal2-title { - @apply py-0; + @apply py-0; } .swal2-icon { - @apply !mt-0; + @apply !mt-0; } .swal2-backdrop-show { - @apply !bg-black/80; + @apply !bg-black/80; } .swal2-footer { - @apply !border-none; + @apply !border-none; } .swal2-cancel { - background-color: white; - color: hsl(var(--primary)); + background-color: white; + color: hsl(var(--primary)); } .swal2-html-container { - @apply !p-2; + @apply !p-2; } img:where(.swal2-image) { - @apply !mx-auto !my-0; + @apply !mx-auto !my-0; } /* Hide arrow icons in Firefox */ input[type="number"] { - -moz-appearance: textfield; + -moz-appearance: textfield; } /* Hide arrow icons in Chrome, Safari, Edge, and other WebKit browsers */ input[type="number"]::-webkit-outer-spin-button, input[type="number"]::-webkit-inner-spin-button { - -webkit-appearance: none; - margin: 0; + -webkit-appearance: none; + margin: 0; } input[inputMode="tel"] { - direction: ltr; - text-align: right; + direction: ltr; + text-align: right; } .rmdp-calendar-container-mobile { - z-index: 1000 !important; - pointer-events: all; - @media screen and (min-width: 300px) { - scale: 1.3; - } - @media screen and (min-width: 1024px) { - scale: 1.2; - } + z-index: 1000 !important; + pointer-events: all; + @media screen and (min-width: 300px) { + scale: 1.3; + } + @media screen and (min-width: 1024px) { + scale: 1.2; + } } .purple .rmdp-day { - --rmdp-hover-purple: hsl(var(--secondary)); - .rmdp-day-hidden span:hover { - --rmdp-hover-purple: rgba(0, 0, 0, 255) !important; - } + --rmdp-hover-purple: hsl(var(--secondary)); + .rmdp-day-hidden span:hover { + --rmdp-hover-purple: rgba(0, 0, 0, 255) !important; + } } .purple .rmdp-day.rmdp-selected span:not(.highlight) { - background-color: hsl(var(--secondary)) !important; + background-color: hsl(var(--secondary)) !important; } .purple .rmdp-week .rmdp-day.rmdp-disabled span:hover { - background-color: transparent !important; + background-color: transparent !important; } .leaflet-control-attribution.leaflet-control { - @apply !hidden; + @apply !hidden; } .pulse-animation { - animation: pulse-animation 1500ms infinite; + animation: pulse-animation 1500ms infinite; } @keyframes pulse-animation { - 0% { - box-shadow: 0 0 0 0px rgb(188, 43, 255, 0.3); - } - 100% { - box-shadow: 0 0 0 20px rgba(0, 0, 0, 0); - } + 0% { + box-shadow: 0 0 0 0px rgb(188, 43, 255, 0.3); + } + 100% { + box-shadow: 0 0 0 20px rgba(0, 0, 0, 0); + } } .parallelogram { - clip-path: polygon(0% 0%, 80% 0%, 100% 100%, 20% 100%); + clip-path: polygon(0% 0%, 80% 0%, 100% 100%, 20% 100%); } .recharts-brush-texts text.recharts-text:first-child { - transform: translateY(-42px); + transform: translateY(-42px); } .recharts-brush-texts text.recharts-text:last-child { - transform: translateY(38px); + transform: translateY(38px); } .recharts-tooltip-item-value { - display: inline-block; - direction: ltr; + display: inline-block; + direction: ltr; } .rhap_container { - box-shadow: none !important; - background: transparent !important; - .rhap_main-controls-button { - color: hsl(var(--primary)) !important; - } - .rhap_controls-section { - flex: none; - } + box-shadow: none !important; + background: transparent !important; + .rhap_main-controls-button { + color: hsl(var(--primary)) !important; + } + .rhap_controls-section { + flex: none; + } } .loginBackground { - background-image: url("./assets/images/loginbackground.svg"); + background-image: url("./assets/images/loginbackground.svg"); } /* Cover image container */ .relative { - position: relative; + position: relative; } /* Hide ReactPlayer initially */ .player-wrapper { - width: auto; - height: auto; + width: auto; + height: auto; } .react-player { - padding-top: 56.25%; - position: relative; + padding-top: 56.25%; + position: relative; } .react-player > div { - position: absolute; + position: absolute; } @layer base { - * { - @apply border-border; - } - body { - @apply bg-background text-foreground; - } + * { + @apply border-border; + } + body { + @apply bg-background text-foreground; + } } .leaflet-container { - width: 100%; - height: 500px; + width: 100%; + height: 500px; } html { - scroll-behavior: smooth; + scroll-behavior: smooth; } .scrollable { - overflow-y: auto; /* یا overflow: auto برای دو جهت */ - scroll-behavior: smooth; /* smooth روی خود کانتینر */ - -webkit-overflow-scrolling: touch; /* momentum scrolling روی iOS */ + overflow-y: auto; /* یا overflow: auto برای دو جهت */ + scroll-behavior: smooth; /* smooth روی خود کانتینر */ + -webkit-overflow-scrolling: touch; /* momentum scrolling روی iOS */ } html, body { - overscroll-behavior: none; + overscroll-behavior: none; } .modal-scroll-lock { - overflow: hidden; /* اسکرول اصلی رو مخفی می‌کنه */ - /* height: 100%; بعضی مرورگرها نیاز دارن */ - overscroll-behavior: none; /* جلوگیری از scroll chaining روی مرورگرهای مدرن */ + overflow: hidden; /* اسکرول اصلی رو مخفی می‌کنه */ + /* height: 100%; بعضی مرورگرها نیاز دارن */ + overscroll-behavior: none; /* جلوگیری از scroll chaining روی مرورگرهای مدرن */ } /* پایه: انیمیشن نرم برای opacity و transform */ .parallax { - transition: opacity 300ms cubic-bezier(0.22, 0.9, 0.2, 1), - transform 260ms cubic-bezier(0.22, 0.9, 0.2, 1); - will-change: opacity, transform; - /* در حالت دسکتاپ رفتار عادی را حفظ کن */ + transition: + opacity 300ms cubic-bezier(0.22, 0.9, 0.2, 1), + transform 260ms cubic-bezier(0.22, 0.9, 0.2, 1); + will-change: opacity, transform; + /* در حالت دسکتاپ رفتار عادی را حفظ کن */ } /* حالت اسنَپ: وقتی نصف پوشیده شد — انیمیشن کوتاه و افت ملموس */ .parallax.parallax--snapped { - opacity: 0 !important; - transform: translateY(-12px) scale(0.997); - pointer-events: none; + opacity: 0 !important; + transform: translateY(-12px) scale(0.997); + pointer-events: none; } /* placeholder پیش‌فرض پنهان است؛ فقط در موبایل نمایش داده می‌شود */ .parallax-placeholder { - display: none; + display: none; } /* MOBILE: parallax را fixed کن و placeholder را فعال کن */ @media (max-width: 768px) { - .parallax { - position: fixed; - top: 0; - left: 0; - right: 0; - width: 100%; - z-index: 0 !important; /* تا محتوای بعدی با z-20 بتونه رویش بیفته */ - overflow: visible; - /* اگر می‌خواهی روی parallax هم کلیک بشه: pointer-events: auto; */ - pointer-events: auto; - /* کمی backface-visibility برای روانی */ - backface-visibility: hidden; - } + .parallax { + position: fixed; + top: 0; + left: 0; + right: 0; + width: 100%; + z-index: 0 !important; /* تا محتوای بعدی با z-20 بتونه رویش بیفته */ + overflow: visible; + /* اگر می‌خواهی روی parallax هم کلیک بشه: pointer-events: auto; */ + pointer-events: auto; + /* کمی backface-visibility برای روانی */ + backface-visibility: hidden; + } - .parallax > * { - position: relative; /* آیتم‌های داخل به درستی قرار بگیرند */ - } + .parallax > * { + position: relative; /* آیتم‌های داخل به درستی قرار بگیرند */ + } - .parallax-placeholder { - display: block; - width: 100%; - /* height توسط inline style React تعیین می‌شود */ - } + .parallax-placeholder { + display: block; + width: 100%; + /* height توسط inline style React تعیین می‌شود */ + } } /* (اختیاری) اگر بخواهی در دسکتاپ هم کمی transition داشته باشد */ @media (min-width: 769px) { - .parallax { - position: relative; - } -} - -.picker-item { - transition: all 0.3s ease-in-out; + .parallax { + position: relative; + } } /* Disable img selection everywhere */ img { - -webkit-touch-callout: none; - -webkit-user-select: none; - user-select: none; + -webkit-touch-callout: none; + -webkit-user-select: none; + user-select: none; } - /* Disable text selection everywhere */ * { - -webkit-touch-callout: none; /* iOS */ - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; + -webkit-touch-callout: none; /* iOS */ + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; - -webkit-tap-highlight-color: transparent; - touch-action: manipulation; + -webkit-tap-highlight-color: transparent; + touch-action: manipulation; +} + +/* فرض بر اینه که option items کلاس picker-item دارند */ +.picker-item { + backface-visibility: hidden; + /* transition: all 0.3s ease-in-out; */ + transform: translateZ(0); + will-change: transform, opacity; + line-height: 60px; /* مطابقت با optionItemHeight شما */ + height: 60px; + display: flex; + align-items: center; + justify-content: center; } diff --git a/src/apps/new-ui/components/AppointmentComponents/PersonnelServices.tsx b/src/apps/new-ui/components/AppointmentComponents/PersonnelServices.tsx index 55668db0..9fe88329 100644 --- a/src/apps/new-ui/components/AppointmentComponents/PersonnelServices.tsx +++ b/src/apps/new-ui/components/AppointmentComponents/PersonnelServices.tsx @@ -44,8 +44,7 @@ const PersonnelServices = () => { const [isAddServiceOpen, setIsAddServiceOpen] = useState(false); const navigate = useNavigate(); - const appointmentStatus = - typeof window !== "undefined" ? localStorage.getItem("appointmentStatus") : null; + const appointmentStatus = typeof window !== "undefined" ? localStorage.getItem("appointmentStatus") : null; const disableInput = appointmentStatus === "edit"; // ─── State: ID سرویس انتخاب‌شده (خوانده شده از localStorage در اولین بار) ─── @@ -67,17 +66,16 @@ const PersonnelServices = () => { const allServices: Service[] = usingPersonelServiceMode ? personelServiceCards : []; - // ─── بازیابی selectedSlide از لیست سرویس‌ها بر اساس ID ذخیره‌شده ─── - // هر بار که allServices (دیتای API) یا selectedPersonelServiceId تغییر کند + // ─── بازیابی selectedSlide از لیست سرویس‌ها بر اساس ID ذخیره‌شده + // و در صورت عدم وجود انتخاب قبلی، انتخاب پیش‌فرض اولین مورد useEffect(() => { if (!allServices.length) return; if (selectedPersonelServiceId != null) { - const found = allServices.find( - (s: any) => s.personel_service_id === selectedPersonelServiceId, - ); + const found = allServices.find((s: any) => s.personel_service_id === selectedPersonelServiceId); if (found) { setSelectedSlide(found); + return; } else { // ID ذخیره‌شده دیگر در لیست وجود ندارد → ریست setSelectedPersonelServiceId(null); @@ -90,8 +88,29 @@ const PersonnelServices = () => { localStorage.removeItem(EDITED_FLAG); } catch {} } - } else { - setSelectedSlide(null); + } + + // اگر هیچ انتخابی ذخیره نشده بود، اولین گزینه را به‌صورت پیش‌فرض انتخاب کن + if (selectedPersonelServiceId == null && allServices.length > 0) { + const first = allServices[0]; + //@ts-ignore + const firstId = first.personel_service_id ?? null; + setSelectedPersonelServiceId(firstId); + setSelectedSlide(first); + + try { + if (firstId) { + localStorage.setItem(PERSONEL_SERVICE_ID_KEY, String(firstId)); + //@ts-ignore + localStorage.setItem(PERSONEL_ID_KEY, String(first.personel_id ?? "")); + localStorage.setItem("personelServiceId", String(firstId)); + } + } catch {} + + try { + // منتشر کردن تغییر انتخاب پرسنل + emitPersonelIdChange(String(firstId ?? "")); + } catch {} } }, [allServices, selectedPersonelServiceId]); @@ -113,9 +132,7 @@ const PersonnelServices = () => { try { const oldVal = localStorage.getItem(STORAGE_KEY); localStorage.setItem(STORAGE_KEY, newCost ?? ""); - window.dispatchEvent( - new CustomEvent("serviceCostChanged", { detail: { cost: newCost } }), - ); + window.dispatchEvent(new CustomEvent("serviceCostChanged", { detail: { cost: newCost } })); window.dispatchEvent( new StorageEvent("storage", { key: STORAGE_KEY, @@ -174,8 +191,7 @@ const PersonnelServices = () => { // ─── کلیک روی سرویس ─── const handleServiceClick = (service: any) => { - const psid = - service.personel_service_id ?? service?.rawPersonel?.personel_service_id ?? null; + const psid = service.personel_service_id ?? service?.rawPersonel?.personel_service_id ?? null; if (psid === selectedPersonelServiceId) return; @@ -202,9 +218,7 @@ const PersonnelServices = () => { const filteredServices = useMemo(() => { const term = searchTerm.trim().toLowerCase(); if (!term) return allServices; - return allServices.filter((s: any) => - (s.service_name || "").toLowerCase().includes(term), - ); + return allServices.filter((s: any) => (s.service_name || "").toLowerCase().includes(term)); }, [allServices, searchTerm]); // ---------- NameRow ---------- @@ -358,21 +372,15 @@ const PersonnelServices = () => { style={{ touchAction: "manipulation" }} >

+

-

- افزودن خدمات پرسنل -

+

افزودن خدمات پرسنل

) : filteredServices.length > 0 ? (
-
+
{filteredServices.map((service: any, idx) => { - const selected = - service.personel_service_id === selectedPersonelServiceId; + const selected = service.personel_service_id === selectedPersonelServiceId; const fullName = service.first_name ? `${service.first_name} ${service.last_name}`.trim() : (service.name ?? service.service_name ?? ""); @@ -415,8 +423,7 @@ const PersonnelServices = () => {

void; - serviceList?: any[]; - onSelectPersonelServiceId?: (id?: number) => void; - onSelectPersonelId?: (id?: number) => void; - personnelId?: number | null; // ✅ اضافه کنید - setPersonnelId?: (id: number | null) => void; // ✅ اضافه کنید + onChange?: (v: string) => void; + serviceList?: any[]; + onSelectPersonelServiceId?: (id?: number) => void; + onSelectPersonelId?: (id?: number) => void; + personnelId?: number | null; + setPersonnelId?: (id: number | null) => void; }; const PRICE_KEY = "servicePrice"; const PERSONEL_SERVICE_ID_KEY = "selectedPersonelServiceId"; -const PERSONEL_ID_KEY = "selectedPersonelId"; // ✅ کلید جدید localStorage +const PERSONEL_ID_KEY = "selectedPersonelId"; const PersonnelServicesQA: React.FC = ({ - onChange, - serviceList, - onSelectPersonelServiceId, - onSelectPersonelId, // ✅ دریافت پراپ جدید + onChange, + serviceList, + onSelectPersonelServiceId, + onSelectPersonelId, }) => { - const location = useLocation(); - const navigate = useNavigate(); - const scrollContainerRef = useRef(null); + const location = useLocation(); + const navigate = useNavigate(); + const scrollContainerRef = useRef(null); - const [selectedPersonelServiceId, setSelectedPersonelServiceId] = useState< - number | null - >(null); - const [selectedPersonelId, setSelectedPersonelId] = useState(null); // ✅ state جدید برای personel_id - const [selectedPrice, setSelectedPrice] = useState( - () => localStorage.getItem(PRICE_KEY) ?? "", - ); + const [selectedPersonelServiceId, setSelectedPersonelServiceId] = useState(null); + const [selectedPersonelId, setSelectedPersonelId] = useState(null); + const [selectedPrice, setSelectedPrice] = useState(() => localStorage.getItem(PRICE_KEY) ?? ""); - const apiResp = useGetServicesWithPersonels({ enabled: !serviceList }); - const fetchedServices = apiResp?.data?.services ?? []; - const legacyServices: any[] = serviceList ?? []; + const apiResp = useGetServicesWithPersonels({ enabled: !serviceList }); + const fetchedServices = apiResp?.data?.services ?? []; + const legacyServices: any[] = serviceList ?? []; - const personelServiceCards = useMemo(() => { - const out: any[] = []; - for (const svc of fetchedServices) { - const svcName = svc?.service_name ?? ""; - const svcPersonels = Array.isArray(svc?.personels) ? svc.personels : []; - for (const p of svcPersonels) { - out.push({ - personel_service_id: p?.personel_service_id - ? Number(p.personel_service_id) - : undefined, - personel_id: p?.personel_id ? Number(p.personel_id) : undefined, - first_name: p?.first_name ?? p?.personel_name ?? "", - last_name: p?.last_name ?? "", - profile_picture: p?.profile_picture ?? null, - service_name: svcName || p?.service_name || "", - price: p?.amount, - rawPersonel: p, - rawService: svc, - }); - } - } - return out; - }, [fetchedServices]); + const personelServiceCards = useMemo(() => { + const out: any[] = []; + for (const svc of fetchedServices) { + const svcName = svc?.service_name ?? ""; + const svcPersonels = Array.isArray(svc?.personels) ? svc.personels : []; + for (const p of svcPersonels) { + out.push({ + personel_service_id: p?.personel_service_id ? Number(p.personel_service_id) : undefined, + personel_id: p?.personel_id ? Number(p.personel_id) : undefined, + first_name: p?.first_name ?? p?.personel_name ?? "", + last_name: p?.last_name ?? "", + profile_picture: p?.profile_picture ?? null, + service_name: svcName || p?.service_name || "", + //@ts-ignore + price: p?.amount ?? p?.price ?? "", + rawPersonel: p, + rawService: svc, + }); + } + } + return out; + }, [fetchedServices]); - const usingPersonelServiceMode = - !serviceList && personelServiceCards.length > 0; - - // ✅ بازیابی هر دو مقدار از localStorage - useEffect(() => { - const savedPersonelServiceId = localStorage.getItem(PERSONEL_SERVICE_ID_KEY); - if (savedPersonelServiceId) { - const id = Number(savedPersonelServiceId); - if (!isNaN(id)) setSelectedPersonelServiceId(id); - } - - const savedPersonelId = localStorage.getItem(PERSONEL_ID_KEY); - if (savedPersonelId) { - const id = Number(savedPersonelId); - if (!isNaN(id)) setSelectedPersonelId(id); - } - }, []); - - useEffect(() => { - return () => { - // localStorage.removeItem(PERSONEL_SERVICE_ID_KEY); - localStorage.removeItem(PRICE_KEY); - }; - }, [location.pathname]); - - useEffect(() => { - // ابتدا localStorage را پاک کنید - localStorage.removeItem("servicePrice"); - localStorage.removeItem("serviceTitle"); - - // سپس stateهای مربوطه را ریست کنید - setSelectedPrice(""); // یا مقدار پیش‌فرض مورد نظر - setSelectedPersonelServiceId(null); - setSelectedPersonelId(null); // ✅ ریست personel_id - }, []); - - useEffect(() => { - return () => { - if ( - !window.location.pathname.includes("/calendar-management") && - !window.location.pathname.includes("/appointments/quick") - ) { - localStorage.removeItem(PERSONEL_SERVICE_ID_KEY); - localStorage.removeItem(PERSONEL_ID_KEY); // ✅ پاک کردن personel_id - } - }; - }, []); - - useEffect(() => { - if (selectedPrice) - try { - localStorage.setItem(PRICE_KEY, selectedPrice); - } catch {} - }, [selectedPrice]); - - // ✅ ذخیره personel_id در localStorage هنگام تغییر - useEffect(() => { - if (selectedPersonelId !== null) { - try { - localStorage.setItem(PERSONEL_ID_KEY, String(selectedPersonelId)); - } catch {} - } - }, [selectedPersonelId]); - - const handlePersonelServiceClick = (card: any) => { - const personelServiceId = card.personel_service_id ?? null; - const personelId = card.personel_id ?? null; // ✅ دریافت personel_id از کارت - - setSelectedPersonelServiceId(personelServiceId); - setSelectedPersonelId(personelId); // ✅ ذخیره personel_id در state - - if (personelServiceId !== null) { - localStorage.setItem(PERSONEL_SERVICE_ID_KEY, String(personelServiceId)); - } - - if (personelId !== null) { - localStorage.setItem(PERSONEL_ID_KEY, String(personelId)); // ✅ ذخیره در localStorage - } - - if (card.price !== undefined && card.price !== null) { - const pStr = String(card.price); - setSelectedPrice(pStr); - localStorage.setItem(PRICE_KEY, pStr); - } - - onChange?.(String(card.service_name ?? "")); - onSelectPersonelServiceId?.(personelServiceId); - onSelectPersonelId?.(personelId); // ✅ ارسال personel_id به والد - }; - - const handleLegacyServiceClick = (service: any) => { - const p = service.price ?? service.amount ?? ""; - const pStr = String(p); - setSelectedPrice(pStr); - localStorage.setItem(PRICE_KEY, pStr); - - setSelectedPersonelServiceId(null); - setSelectedPersonelId(null); // ✅ ریست personel_id - localStorage.removeItem(PERSONEL_SERVICE_ID_KEY); - localStorage.removeItem(PERSONEL_ID_KEY); // ✅ پاک کردن از localStorage - - onChange?.(String(service.name ?? service.service_name ?? "")); - onSelectPersonelServiceId?.(undefined); - onSelectPersonelId?.(undefined); // ✅ ارسال undefined به والد - }; - - - const NameRow = ({ text }: { text: string }) => { - const wrapperRef = useRef(null); - const textRef = useRef(null); - const [isOverflow, setIsOverflow] = useState(false); - - const recompute = () => { - const w = wrapperRef.current; - const t = textRef.current; - if (!w || !t) return; - const textWidth = t.scrollWidth; - const wrapperWidth = Math.max(0, w.clientWidth); - setIsOverflow(textWidth > wrapperWidth + 1); - }; - - useLayoutEffect(() => { - recompute(); - const raf = requestAnimationFrame(recompute); - return () => cancelAnimationFrame(raf); - }, [text]); + const usingPersonelServiceMode = !serviceList && personelServiceCards.length > 0; + const cards = usingPersonelServiceMode ? personelServiceCards : legacyServices; + // خواندن ذخیره‌شده (اگر وجود داشته باشد) useEffect(() => { - if (!wrapperRef.current) return; - const ro = new ResizeObserver(() => recompute()); - try { - ro.observe(wrapperRef.current); - if (textRef.current) ro.observe(textRef.current); - } catch {} - window.addEventListener("resize", recompute); - return () => { try { - ro.disconnect(); + const savedPersonelServiceId = localStorage.getItem(PERSONEL_SERVICE_ID_KEY); + if (savedPersonelServiceId) { + const id = Number(savedPersonelServiceId); + if (!isNaN(id)) setSelectedPersonelServiceId(id); + } + } catch {} + + try { + const savedPersonelId = localStorage.getItem(PERSONEL_ID_KEY); + if (savedPersonelId) { + const id = Number(savedPersonelId); + if (!isNaN(id)) setSelectedPersonelId(id); + } } catch {} - window.removeEventListener("resize", recompute); - }; }, []); + // cleanup price on pathname change (همان رفتار قبلی) + useEffect(() => { + return () => { + localStorage.removeItem(PRICE_KEY); + }; + }, [location.pathname]); + + // mount reset: پاکسازی عناصری که می‌خواستید ریست شوند + useEffect(() => { + localStorage.removeItem("servicePrice"); + localStorage.removeItem("serviceTitle"); + setSelectedPrice(""); + setSelectedPersonelServiceId(null); + setSelectedPersonelId(null); + }, []); + + useEffect(() => { + if (selectedPrice) + try { + localStorage.setItem(PRICE_KEY, selectedPrice); + } catch {} + }, [selectedPrice]); + + useEffect(() => { + if (selectedPersonelId !== null) { + try { + localStorage.setItem(PERSONEL_ID_KEY, String(selectedPersonelId)); + } catch {} + } + }, [selectedPersonelId]); + + const scrollToItem = (psid?: number | null) => { + if (!psid || !scrollContainerRef.current) return; + try { + const el = scrollContainerRef.current.querySelector(`[data-psid="${psid}"]`) as HTMLElement | null; + if (el && typeof el.scrollIntoView === "function") { + // inline center for horizontal list + el.scrollIntoView({ behavior: "smooth", inline: "center", block: "nearest" }); + } + } catch {} + }; + + const handlePersonelServiceClick = (card: any) => { + const personelServiceId = card.personel_service_id ?? null; + const personelId = card.personel_id ?? null; + + setSelectedPersonelServiceId(personelServiceId); + setSelectedPersonelId(personelId); + + try { + if (personelServiceId !== null) { + localStorage.setItem(PERSONEL_SERVICE_ID_KEY, String(personelServiceId)); + } else { + localStorage.removeItem(PERSONEL_SERVICE_ID_KEY); + } + } catch {} + + try { + if (personelId !== null) { + localStorage.setItem(PERSONEL_ID_KEY, String(personelId)); + } else { + localStorage.removeItem(PERSONEL_ID_KEY); + } + } catch {} + + if (card.price !== undefined && card.price !== null) { + const pStr = String(card.price); + setSelectedPrice(pStr); + try { + localStorage.setItem(PRICE_KEY, pStr); + } catch {} + } + + onChange?.(String(card.service_name ?? "")); + onSelectPersonelServiceId?.(personelServiceId ?? undefined); + onSelectPersonelId?.(personelId ?? undefined); + + // اسکرول به آیتم انتخاب‌شده (کوتاه مکث برای اطمینان از render شدن) + setTimeout(() => scrollToItem(personelServiceId ?? null), 60); + }; + + const handleLegacyServiceClick = (service: any) => { + const p = service.price ?? service.amount ?? ""; + const pStr = String(p); + setSelectedPrice(pStr); + try { + localStorage.setItem(PRICE_KEY, pStr); + } catch {} + + setSelectedPersonelServiceId(null); + setSelectedPersonelId(null); + try { + localStorage.removeItem(PERSONEL_SERVICE_ID_KEY); + localStorage.removeItem(PERSONEL_ID_KEY); + } catch {} + + onChange?.(String(service.name ?? service.service_name ?? "")); + onSelectPersonelServiceId?.(undefined); + onSelectPersonelId?.(undefined); + }; + + // ---------------------- انتخاب پیش‌فرض اولین آیتم ---------------------- + useEffect(() => { + // اگر در localStorage از قبل آیتمی ذخیره شده باشه، کاری نکن + try { + const saved = localStorage.getItem(PERSONEL_SERVICE_ID_KEY); + if (saved && saved.trim().length > 0) return; + } catch {} + + // فقط وقتی کارت‌ها لود شدند و هنوز هیچ انتخابی در state نداریم => اولین را انتخاب کن + if (cards.length > 0 && (selectedPersonelServiceId === null || selectedPersonelServiceId === undefined)) { + const first = cards[0]; + if (!first) return; + // استفاده از handler مشترک برای ست کردن state / localStorage / کال‌بک‌ها + handlePersonelServiceClick(first); + } + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [cards]); // فقط به تغییر لیست کارت‌ها واکنش نشان می‌دهد + // ----------------------------------------------------------------------- + + const NameRow = ({ text }: { text: string }) => { + const wrapperRef = useRef(null); + const textRef = useRef(null); + const [isOverflow, setIsOverflow] = useState(false); + + const recompute = () => { + const w = wrapperRef.current; + const t = textRef.current; + if (!w || !t) return; + const textWidth = t.scrollWidth; + const wrapperWidth = Math.max(0, w.clientWidth); + setIsOverflow(textWidth > wrapperWidth + 1); + }; + + useLayoutEffect(() => { + recompute(); + const raf = requestAnimationFrame(recompute); + return () => cancelAnimationFrame(raf); + }, [text]); + + useEffect(() => { + if (!wrapperRef.current) return; + const ro = new ResizeObserver(() => recompute()); + try { + ro.observe(wrapperRef.current); + if (textRef.current) ro.observe(textRef.current); + } catch {} + window.addEventListener("resize", recompute); + return () => { + try { + ro.disconnect(); + } catch {} + window.removeEventListener("resize", recompute); + }; + }, []); + + return ( +

+
+ {text} +
+
+ ); + }; + return ( -
-
- {text} -
-
- ); - }; - - const cards = usingPersonelServiceMode - ? personelServiceCards - : legacyServices; - - return ( -
- -
-
-

- خدمات -

-
+
+
+

خدمات

+
-
- {cards.length > 0 ? ( -
- {/* اسکرول افقی نرم با تچ ایونت مناسب موبایل */} -
-
- {cards.map((item: any, index: number) => { - if (usingPersonelServiceMode) { - const fullName = - `${item.first_name ?? ""} ${item.last_name ?? ""}`.trim() || - "بدون نام"; - const svc = item.service_name ?? "(نام‌گذاری نشده)"; - const selected = - selectedPersonelServiceId === item.personel_service_id; +
+ {cards.length > 0 ? ( +
+
+
+ {cards.map((item: any, index: number) => { + if (usingPersonelServiceMode) { + const fullName = + `${item.first_name ?? ""} ${item.last_name ?? ""}`.trim() || "بدون نام"; + const svc = item.service_name ?? "(نام‌گذاری نشده)"; + const selected = selectedPersonelServiceId === item.personel_service_id; - return ( -
handlePersonelServiceClick(item)} - style={{ - touchAction: "manipulation", // بهبود تچ ایونت روی موبایل - userSelect: "none", - }} - > -
- -
- -
- {svc.length > 11 ? ( -
-
-

- {svc} -

-
+ return ( +
handlePersonelServiceClick(item)} + style={{ touchAction: "manipulation", userSelect: "none" }} + > +
+ +
+
+ {svc.length > 11 ? ( +
+
+

+ {svc} +

+
+
+ ) : ( +

{svc}

+ )} +
+
+ ); + } else { + return ( +
handleLegacyServiceClick(item)} + style={{ touchAction: "manipulation", userSelect: "none" }} + > + {item.emoji ? ( + + {item.emoji} + + ) : ( +
+ +
+ )} +
{item.name}
+
+ ); + } + })}
- ) : ( -

- {svc} -

- )}
-
- ); - } else { - // const selected = false; - return ( -
handleLegacyServiceClick(item)} - style={{ - touchAction: "manipulation", - userSelect: "none", - }} - > - {item.emoji ? ( - - {item.emoji} - - ) : ( -
- -
- )} -
- {item.name} -
-
- ); - } - })} -
-
- {/* Gradient overlay برای نشان دادن قابلیت اسکرول */} -
-
-
- ) : ( -
-

{"پرسنلی وجود ندارد"}

-
navigate("/personnel")} - className="w-fit px-2 mt-4 flex flex-nowrap gap-1 items-center justify-center border-2 border-[#A780C3] rounded-full cursor-pointer" - style={{ touchAction: "manipulation" }} - > -

+

-

- افزودن خدمات پرسنل -

+
+
+
+ ) : ( +
+

{"پرسنلی وجود ندارد"}

+
navigate("/personnel")} + className="w-fit px-2 mt-4 flex flex-nowrap gap-1 items-center justify-center border-2 border-[#A780C3] rounded-full cursor-pointer" + style={{ touchAction: "manipulation" }} + > +

+

+

افزودن خدمات پرسنل

+
+
+ )}
-
- )} -
-
- ); +
+ ); }; export default PersonnelServicesQA; diff --git a/src/apps/new-ui/components/AppointmentComponents/Services.tsx b/src/apps/new-ui/components/AppointmentComponents/Services.tsx index 9187bc0e..c7511f8b 100644 --- a/src/apps/new-ui/components/AppointmentComponents/Services.tsx +++ b/src/apps/new-ui/components/AppointmentComponents/Services.tsx @@ -97,87 +97,92 @@ const Services = () => { // 3) default -> first service in the list // // Important: do NOT overwrite user's manual edited cost if EDITED_FLAG === "true" - useEffect(() => { - if (!allServices || allServices.length === 0) { - setSelectedSlide(null); - setSelectedSlideIndex(null); - return; - } +useEffect(() => { + if (!allServices || allServices.length === 0) { + setSelectedSlide(null); + setSelectedSlideIndex(null); + return; + } - const appointmentService = localStorage.getItem("editAppointmentService"); - if (appointmentService) { - const found = allServices.find((service) => service.name === appointmentService); - if (found) { - setSelectedSlide(found); - setSelectedSlideIndex(allServices.indexOf(found)); - try { - localStorage.setItem(TITLE_KEY, found.name ?? ""); - } catch {} - // persist price to storage before dispatching + const appointmentService = localStorage.getItem("editAppointmentService"); + if (appointmentService) { + const found = allServices.find((service) => service.name === appointmentService); + if (found) { + setSelectedSlide(found); + setSelectedSlideIndex(allServices.indexOf(found)); + try { localStorage.setItem(TITLE_KEY, found.name ?? ""); } catch {} + // persist price + dispatch on next tick so listeners are ready + if (localStorage.getItem(EDITED_FLAG) !== "true") { try { const priceStr = String(found.price ?? ""); - if (localStorage.getItem(EDITED_FLAG) !== "true") { - localStorage.setItem(STORAGE_KEY, priceStr); - localStorage.removeItem(EDITED_FLAG); - window.dispatchEvent( - new CustomEvent("serviceSelected", { - detail: { title: found.name, price: found.price ?? "" }, - }), - ); - } + setTimeout(() => { + try { localStorage.setItem(STORAGE_KEY, priceStr); } catch {} + try { + window.dispatchEvent( + new CustomEvent("serviceSelected", { + detail: { title: found.name, price: found.price ?? "" }, + }), + ); + } catch {} + }, 0); + localStorage.removeItem(EDITED_FLAG); } catch {} - return; } + return; } + } - const savedTitle = localStorage.getItem(TITLE_KEY); - if (savedTitle) { - const foundBySaved = allServices.find((service) => service.name === savedTitle); - if (foundBySaved) { - setSelectedSlide(foundBySaved); - setSelectedSlideIndex(allServices.indexOf(foundBySaved)); + const savedTitle = localStorage.getItem(TITLE_KEY); + if (savedTitle) { + const foundBySaved = allServices.find((service) => service.name === savedTitle); + if (foundBySaved) { + setSelectedSlide(foundBySaved); + setSelectedSlideIndex(allServices.indexOf(foundBySaved)); + try { localStorage.setItem(TITLE_KEY, foundBySaved.name ?? ""); } catch {} + if (localStorage.getItem(EDITED_FLAG) !== "true") { try { - localStorage.setItem(TITLE_KEY, foundBySaved.name ?? ""); + const priceStr = String(foundBySaved.price ?? ""); + setTimeout(() => { + try { localStorage.setItem(STORAGE_KEY, priceStr); } catch {} + try { + window.dispatchEvent( + new CustomEvent("serviceSelected", { + detail: { title: foundBySaved.name, price: foundBySaved.price ?? "" }, + }), + ); + } catch {} + }, 0); + localStorage.removeItem(EDITED_FLAG); } catch {} - if (localStorage.getItem(EDITED_FLAG) !== "true") { + } + return; + } + } + + // default: first service + const first = allServices[0]; + if (first) { + setSelectedSlide(first); + setSelectedSlideIndex(0); + try { localStorage.setItem(TITLE_KEY, first.name ?? ""); } catch {} + if (localStorage.getItem(EDITED_FLAG) !== "true") { + try { + const priceStr = String(first.price ?? ""); + setTimeout(() => { + try { localStorage.setItem(STORAGE_KEY, priceStr); } catch {} try { - localStorage.setItem(STORAGE_KEY, String(foundBySaved.price ?? "")); - localStorage.removeItem(EDITED_FLAG); window.dispatchEvent( new CustomEvent("serviceSelected", { - detail: { - title: foundBySaved.name, - price: foundBySaved.price ?? "", - }, + detail: { title: first.name, price: first.price ?? "" }, }), ); } catch {} - } - return; - } - } - - // default: first service - const first = allServices[0]; - if (first) { - setSelectedSlide(first); - setSelectedSlideIndex(0); - try { - localStorage.setItem(TITLE_KEY, first.name ?? ""); + }, 0); + localStorage.removeItem(EDITED_FLAG); } catch {} - if (localStorage.getItem(EDITED_FLAG) !== "true") { - try { - localStorage.setItem(STORAGE_KEY, String(first.price ?? "")); - localStorage.removeItem(EDITED_FLAG); - window.dispatchEvent( - new CustomEvent("serviceSelected", { - detail: { title: first.name, price: first.price ?? "" }, - }), - ); - } catch {} - } } - }, [allServices]); + } +}, [allServices]); return (
diff --git a/src/apps/new-ui/components/MobilePicker/MobileDatePicker.tsx b/src/apps/new-ui/components/MobilePicker/MobileDatePicker.tsx index ab55f663..0bdadef5 100644 --- a/src/apps/new-ui/components/MobilePicker/MobileDatePicker.tsx +++ b/src/apps/new-ui/components/MobilePicker/MobileDatePicker.tsx @@ -1,110 +1,86 @@ -import { useEffect, useState } from 'react'; -import { Input } from '@/components/ui/input'; -import { Modal } from '@/components/ui/modal'; -import { Button } from '@/components/ui/button'; -import Picker from './+components/index'; +import { useEffect, useState } from "react"; +import { Input } from "@/components/ui/input"; +import { Modal } from "@/components/ui/modal"; +import { Button } from "@/components/ui/button"; +import Picker from "./+components/index"; function renderOptions(options: string[]) { - return options.map((option) => ( - - {({ selected }) => ( -
- {option} -
- )} -
- )); + return options.map((option) => ( + + {({ selected }) => ( +
{option}
+ )} +
+ )); } interface Props { - value?: string | null; - onChange: (newValue: string) => void; - label?: string; - required?: boolean; + value?: string | null; + onChange: (newValue: string) => void; + label?: string; + required?: boolean; } const MobileDatePicker = ({ value, onChange, label, required }: Props) => { - const [modalOpen, setModalOpen] = useState(false); - const [pickerValue, setPickerValue] = useState({ - day: '15', - month: '10', - year: '1380', - }); - const onSubmit = () => { - onChange(`${pickerValue.year}-${pickerValue.month}-${pickerValue.day}`); - setModalOpen(false); - }; - useEffect(() => { - if (modalOpen && value) { - const [year, month, day] = value.split('-'); - setPickerValue({ - day, - month, - year, - }); - } - }, [modalOpen]); + const [modalOpen, setModalOpen] = useState(false); + const [pickerValue, setPickerValue] = useState({ + day: "15", + month: "10", + year: "1380", + }); + const onSubmit = () => { + onChange(`${pickerValue.year}-${pickerValue.month}-${pickerValue.day}`); + setModalOpen(false); + }; + useEffect(() => { + if (modalOpen && value) { + const [year, month, day] = value.split("-"); + setPickerValue({ + day, + month, + year, + }); + } + }, [modalOpen]); - return ( -
- setModalOpen(true)} - /> - setModalOpen(false)} - className="p-2 pt-12 max-w-80 rounded-lg" - size="md" - > - - - {renderOptions( - Array.from({ length: 1404 - 1300 + 1 }, (_, i) => - (1300 + i).toString(), - ), - )} - - / - - {renderOptions( - new Array(12) - .fill('') - .map((_, i) => (i + 1).toString().padStart(2, '0')), - )} - - / - - {renderOptions( - new Array(31) - .fill('') - .map((_, i) => (i + 1).toString().padStart(2, '0')), - )} - - -
- - + return ( +
+ setModalOpen(true)} + /> + setModalOpen(false)} + className="p-2 pt-12 max-w-80 rounded-lg" + size="md" + > + + + {renderOptions(Array.from({ length: 1404 - 1300 + 1 }, (_, i) => (1300 + i).toString()))} + + / + + {renderOptions(new Array(12).fill("").map((_, i) => (i + 1).toString().padStart(2, "0")))} + + / + + {renderOptions(new Array(31).fill("").map((_, i) => (i + 1).toString().padStart(2, "0")))} + + +
+ + +
+
- -
- ); + ); }; export default MobileDatePicker; diff --git a/src/apps/new-ui/components/MobilePicker/MobileScrollDatePicker.tsx b/src/apps/new-ui/components/MobilePicker/MobileScrollDatePicker.tsx index d962aa14..e34f1a5e 100644 --- a/src/apps/new-ui/components/MobilePicker/MobileScrollDatePicker.tsx +++ b/src/apps/new-ui/components/MobilePicker/MobileScrollDatePicker.tsx @@ -1,651 +1,366 @@ -// import "@ncdai/react-wheel-picker/style.css"; -// import { useEffect, useState } from "react"; -// import { Modal } from "@/components/ui/modal"; -// import { Button } from "@/components/ui/button"; -// // مسیر را بر اساس جایی که WheelPicker تعریف شده است تنظیم کنید -// import { WheelPicker, WheelPickerWrapper } from "./wheel-picker"; -// import calenderIcon from "../../assets/appointment/calenderIcon.svg"; - -// interface Props { -// value?: string | null; // فرمت مورد انتظار: "YYYY-MM-DD" شمسی -// onChange: (newValue: string) => void; -// title?: string; -// } - -// /* ------------------ توابع تبدیل (Jalali/Gregorian) ------------------ */ - -// // تابع gregorianToJalali (کپی شده از کد شما) -// function gregorianToJalali(gy: number, gm: number, gd: number): [number, number, number] { -// let gy2 = gy - 1600; -// let gm2 = gm - 1; -// let gd2 = gd - 1; -// let g_day_no = 365 * gy2 + Math.floor((gy2 + 3) / 4) - Math.floor((gy2 + 99) / 100) + Math.floor((gy2 + 399) / 400); -// for (let i = 0; i < gm2; ++i) g_day_no += [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][i]; -// if (gm2 > 1 && ((gy % 4 === 0 && gy % 100 !== 0) || gy % 400 === 0)) g_day_no += 1; -// g_day_no += gd2; -// let j_day_no = g_day_no - 79; -// const j_np = Math.floor(j_day_no / 12053); -// j_day_no = j_day_no % 12053; -// let jy = 979 + 33 * j_np + 4 * Math.floor(j_day_no / 1461); -// j_day_no = j_day_no % 1461; -// if (j_day_no >= 366) { -// jy += Math.floor((j_day_no - 366) / 365); -// j_day_no = (j_day_no - 366) % 365; -// } -// const jmArr = [31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 29]; -// let jm = 0; -// for (let i = 0; i < 11 && j_day_no >= jmArr[i]; ++i) { -// j_day_no -= jmArr[i]; -// jm = i + 1; -// } -// const jd = j_day_no + 1; -// return [jy + 1, jm + 1, jd]; -// } - -// // نسخه اصلاح شده و ساده‌تر برای تشخیص سال کبیسه شمسی -// function isJalaliLeapYear(jy: number): boolean { -// // سال کبیسه شمسی بر اساس چرخه 33 ساله (سال‌های کبیسه: 1، 5، 9، 13، 17، 22، 26، 30) -// const n = jy - 11; // سال 1300 به عنوان نقطه شروع تقریبی -// return (((n % 33) * 8) + Math.floor((n % 33) / 4) - Math.floor(n / 33)) % 33 < 8; -// // روش دقیق‌تر: استفاده از آرایه نقاط عطف بسیار پیچیده است. این روش تقریبی برای اکثر سال‌های رایج کافی است. -// // برای دقت کامل، بهتر است از یک کتابخانه معتبر تبدیل تاریخ استفاده شود. -// // اما برای رفع ایراد سریع، این روش اغلب کار می‌کند. -// const remainder = (jy - 122) % 128; -// return remainder === 31 || remainder === 61 || remainder === 91 || remainder === 121 || remainder === 0; -// } - -// // تابع کمکی برای تولید گزینه‌های عددی -// const generateNumericOptions = (max: number, start = 1) => -// Array.from({ length: max - start + 1 }, (_, i) => -// (start + i).toString().padStart(2, "0") -// ); - -// /* ------------------ کامپوننت ------------------ */ - -// const SimpleDatePicker = ({ value, onChange, title = "تاریخ تولد" }: Props) => { -// const [modalOpen, setModalOpen] = useState(false); -// const persianMonths = [ -// "فروردین", "اردیبهشت", "خرداد", "تیر", "مرداد", "شهریور", -// "مهر", "آبان", "آذر", "دی", "بهمن", "اسفند", -// ]; - -// const [pickerValue, setPickerValue] = useState({ -// year: "1404", -// month: "01", -// day: "01", -// }); - -// /* مقداردهی اولیه اصلاح شده */ -// useEffect(() => { -// if (!modalOpen) return; - -// let initialY: string, initialM: string, initialD: string; - -// if (value) { -// // فرض می‌کنیم اگر تاریخ ورودی وجود دارد، شمسی است و فرمت YYYY-MM-DD دارد -// const parts = value.split("-"); -// const yNum = parseInt(parts[0], 10); -// const mNum = parseInt(parts[1], 10); -// const dNum = parseInt(parts[2], 10); - -// if (parts.length === 3 && !isNaN(yNum) && !isNaN(mNum) && !isNaN(dNum)) { -// // **تنها در صورتی تبدیل میلادی انجام می‌شود که سال ورودی کمتر از 1300 باشد (یعنی میلادی است)** -// if (yNum < 1300) { -// const [jy, jm, jd] = gregorianToJalali(yNum, mNum, dNum); -// initialY = jy.toString(); -// initialM = jm.toString().padStart(2, "0"); -// initialD = jd.toString().padStart(2, "0"); -// } else { -// // فرض بر شمسی بودن (مقداردهی مستقیم) -// initialY = parts[0]; -// initialM = parts[1].padStart(2, "0"); -// initialD = parts[2].padStart(2, "0"); -// } -// } else { -// // اگر فرمت اشتباه بود، امروز را تنظیم کن -// const now = new Date(); -// const [jy, jm, jd] = gregorianToJalali(now.getFullYear(), now.getMonth() + 1, now.getDate()); -// initialY = jy.toString(); -// initialM = jm.toString().padStart(2, "0"); -// initialD = jd.toString().padStart(2, "0"); -// } -// } else { -// // مقدار پیش‌فرض تاریخ امروز شمسی -// const now = new Date(); -// const [jy, jm, jd] = gregorianToJalali(now.getFullYear(), now.getMonth() + 1, now.getDate()); -// initialY = jy.toString(); -// initialM = jm.toString().padStart(2, "0"); -// initialD = jd.toString().padStart(2, "0"); -// } - -// setPickerValue({ -// year: initialY, -// month: initialM, -// day: initialD, -// }); -// }, [modalOpen, value]); // حذف وابستگی‌های غیرضروری - -// /* تولید روزها برای ماه فعلی (شمسی) با در نظر گرفتن کبیسه */ -// const getDaysInMonth = (yearStr?: string, monthStr?: string) => { -// const year = yearStr ? parseInt(yearStr, 10) : parseInt(pickerValue.year, 10); -// const month = monthStr ? parseInt(monthStr, 10) : parseInt(pickerValue.month, 10); - -// if (isNaN(year) || isNaN(month) || month < 1 || month > 12) return generateNumericOptions(31); - -// if (month <= 6) { -// return generateNumericOptions(31); -// } else if (month <= 11) { -// return generateNumericOptions(30); -// } else { // اسفند (ماه 12) -// // **اینجا اگر isJalaliLeapYear ایراد داشته باشد، روز اشتباه نمایش داده می‌شود.** -// const days = isJalaliLeapYear(year) ? 30 : 29; -// return generateNumericOptions(days); -// } -// }; - -// /* تولید لیست سال‌ها */ -// const getYears = () => { -// const now = new Date(); -// const [jy] = gregorianToJalali(now.getFullYear(), now.getMonth() + 1, now.getDate()); -// const currentYear = jy; -// const startYear = 1320; -// const years: string[] = []; -// for (let i = currentYear; i >= startYear; i--) years.push(i.toString()); -// return years; -// }; - -// // لیست ماه‌های شمسی با فرمت option برای WheelPicker -// const monthOptions = persianMonths.map((name, index) => ({ -// value: (index + 1).toString().padStart(2, "0"), -// label: name, -// })); - -// const yearOptions = getYears().map(year => ({ value: year, label: year })); -// // روزها باید بر اساس مقدار فعلی pickerValue محاسبه شوند (که با useEffect به‌روز می‌شود) -// const dayOptions = getDaysInMonth().map(day => ({ value: day, label: day })); - -// const handleMonthChange = (monthValue: string) => { -// // اگر ماه تغییر کرد، روز را مجدداً اعتبارسنجی کن -// const daysForNewMonth = getDaysInMonth(pickerValue.year, monthValue); -// setPickerValue((prev) => ({ -// ...prev, -// month: monthValue, -// // اگر روز قبلی در ماه جدید مجاز نیست، آخرین روز ماه جدید را انتخاب کن -// day: daysForNewMonth.some(d => d === prev.day) -// ? prev.day -// : daysForNewMonth[daysForNewMonth.length - 1], -// })); -// }; - -// const handleYearChange = (yearValue: string) => { -// // اگر سال تغییر کرد، روز ماه را رِنج کن -// const daysForNew = getDaysInMonth(yearValue, pickerValue.month); -// setPickerValue((prev) => ({ -// ...prev, -// year: yearValue, -// day: daysForNew.some(d => d === prev.day) -// ? prev.day -// : daysForNew[daysForNew.length - 1], -// })); -// }; - -// const onSubmit = () => { -// // اطمینان از اینکه مقادیر به درستی ذخیره می شوند (MM و DD دو رقمی) -// const formattedDate = `${pickerValue.year}-${pickerValue.month}-${pickerValue.day}`; -// onChange(formattedDate); -// localStorage.setItem("birthDate", formattedDate); -// setModalOpen(false); -// }; - -// return ( -//
-// {value && ( -// <> -//

{title}

-// -// )} - -// setModalOpen(true)} -// className="border-2 w-full rounded-full border-[#76558F] px-4 py-2 text-sm text-[#2D0A48]" -// placeholder={title} -// /> - -//
setModalOpen(true)} -// > -// calendar -//
- -// {/* Date Picker Modal with WheelPicker */} -// setModalOpen(false)} -// title={`انتخاب ${title}`} -// className="p-4 rounded-lg w-full max-w-sm" -// > -//
-// {/* Live Preview */} -//
-// {pickerValue.day} {persianMonths[parseInt(pickerValue.month) - 1] || "---"} {pickerValue.year} -//
- -//
-// - -// {/* روزها (سمت راست به دلیل RTL) */} -//
-// -// // اینجا چون dayOptions از مقادیر اعتبارسنجی شده ساخته شده، نیازی به پد کردن مجدد نیست مگر اینکه بخواهیم مطمئن شویم -// setPickerValue((p) => ({ ...p, day: String(v).padStart(2, "0") })) -// } -// optionItemHeight={60} -// visibleCount={12} -// classNames={{ optionItem: "text-sm picker-item" }} -// /> -//
- -//
-// : -//
- -// {/* ماه‌ها (وسط) */} -//
-// -//
- -//
-// : -//
- -// {/* سال‌ها (سمت چپ) */} -//
-// -//
- -//
-//
- -//
-// -// -//
-//
- -//
-//
-// ); -// }; - -// export default SimpleDatePicker; -import "@ncdai/react-wheel-picker/style.css"; -import { useEffect, useState } from "react"; +// SimpleDatePicker.tsx +import "@ncdai/react-wheel-picker/style.css"; +import React, { useEffect, useMemo, useRef, useState } from "react"; import { Modal } from "@/components/ui/modal"; import { Button } from "@/components/ui/button"; // مسیر را بر اساس جایی که WheelPicker تعریف شده است تنظیم کنید -import { WheelPicker, WheelPickerWrapper } from "./wheel-picker"; -import calenderIcon from "../../assets/appointment/calenderIcon.svg"; +import { WheelPicker, WheelPickerWrapper } from "./wheel-picker"; +import calenderIcon from "../../assets/appointment/calenderIcon.svg"; interface Props { - value?: string | null; // فرمت مورد انتظار: "YYYY-MM-DD" شمسی - onChange: (newValue: string) => void; - title?: string; - defaultToToday?: boolean; // پراپ جدید: اگر true و value خالی بود، تاریخ امروز را نمایش بده + value?: string | null; // فرمت مورد انتظار: "YYYY-MM-DD" شمسی + onChange: (newValue: string) => void; + title?: string; + defaultToToday?: boolean; } /* ------------------ توابع تبدیل (Jalali/Gregorian) ------------------ */ -// تابع gregorianToJalali (کپی شده از کد شما) function gregorianToJalali(gy: number, gm: number, gd: number): [number, number, number] { - let gy2 = gy - 1600; - let gm2 = gm - 1; - let gd2 = gd - 1; - let g_day_no = 365 * gy2 + Math.floor((gy2 + 3) / 4) - Math.floor((gy2 + 99) / 100) + Math.floor((gy2 + 399) / 400); - for (let i = 0; i < gm2; ++i) g_day_no += [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][i]; - if (gm2 > 1 && ((gy % 4 === 0 && gy % 100 !== 0) || gy % 400 === 0)) g_day_no += 1; - g_day_no += gd2; - let j_day_no = g_day_no - 79; - const j_np = Math.floor(j_day_no / 12053); - j_day_no = j_day_no % 12053; - let jy = 979 + 33 * j_np + 4 * Math.floor(j_day_no / 1461); - j_day_no = j_day_no % 1461; - if (j_day_no >= 366) { - jy += Math.floor((j_day_no - 366) / 365); - j_day_no = (j_day_no - 366) % 365; - } - const jmArr = [31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 29]; - let jm = 0; - for (let i = 0; i < 11 && j_day_no >= jmArr[i]; ++i) { - j_day_no -= jmArr[i]; - jm = i + 1; - } - const jd = j_day_no + 1; - return [jy + 1, jm + 1, jd]; + let gy2 = gy - 1600; + let gm2 = gm - 1; + let gd2 = gd - 1; + let g_day_no = + 365 * gy2 + + Math.floor((gy2 + 3) / 4) - + Math.floor((gy2 + 99) / 100) + + Math.floor((gy2 + 399) / 400); + for (let i = 0; i < gm2; ++i) + g_day_no += [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][i]; + if (gm2 > 1 && ((gy % 4 === 0 && gy % 100 !== 0) || gy % 400 === 0)) g_day_no += 1; + g_day_no += gd2; + let j_day_no = g_day_no - 79; + const j_np = Math.floor(j_day_no / 12053); + j_day_no = j_day_no % 12053; + let jy = 979 + 33 * j_np + 4 * Math.floor(j_day_no / 1461); + j_day_no = j_day_no % 1461; + if (j_day_no >= 366) { + jy += Math.floor((j_day_no - 366) / 365); + j_day_no = (j_day_no - 366) % 365; + } + const jmArr = [31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 29]; + let jm = 0; + for (let i = 0; i < 11 && j_day_no >= jmArr[i]; ++i) { + j_day_no -= jmArr[i]; + jm = i + 1; + } + const jd = j_day_no + 1; + return [jy + 1, jm + 1, jd]; } -// تابع تشخیص سال کبیسه شمسی +// تابع تشخیص سال کبیسه شمسی (روش مرسوم مورد استفاده در کد قبلی) function isJalaliLeapYear(jy: number): boolean { - const remainder = (jy - 122) % 128; - return remainder === 31 || remainder === 61 || remainder === 91 || remainder === 121 || remainder === 0; + const remainder = (jy - 122) % 128; + return remainder === 31 || remainder === 61 || remainder === 91 || remainder === 121 || remainder === 0; } -// تابع کمکی برای تولید گزینه‌های عددی -const generateNumericOptions = (max: number, start = 1) => - Array.from({ length: max - start + 1 }, (_, i) => - (start + i).toString().padStart(2, "0") - ); +/* ------------------ cache و تولید گزینه‌های عددی ------------------ */ + +const _numericCache = new Map(); +const generateNumericOptions = (max: number, start = 1) => { + const key = `${start}-${max}`; + if (_numericCache.has(key)) return _numericCache.get(key)!; + const arr = Array.from({ length: max - start + 1 }, (_, i) => + (start + i).toString().padStart(2, "0") + ); + _numericCache.set(key, arr); + return arr; +}; -// تابع کمکی برای گرفتن تاریخ امروز شمسی const getTodayJalali = (): { year: string; month: string; day: string } => { - const now = new Date(); - const [jy, jm, jd] = gregorianToJalali(now.getFullYear(), now.getMonth() + 1, now.getDate()); - return { - year: jy.toString(), - month: jm.toString().padStart(2, "0"), - day: jd.toString().padStart(2, "0"), - }; + const now = new Date(); + const [jy, jm, jd] = gregorianToJalali(now.getFullYear(), now.getMonth() + 1, now.getDate()); + return { + year: jy.toString(), + month: jm.toString().padStart(2, "0"), + day: jd.toString().padStart(2, "0"), + }; }; /* ------------------ کامپوننت ------------------ */ -const SimpleDatePicker = ({ value, onChange, title = "تاریخ تولد", defaultToToday = false }: Props) => { - const [modalOpen, setModalOpen] = useState(false); - const persianMonths = [ - "فروردین", "اردیبهشت", "خرداد", "تیر", "مرداد", "شهریور", - "مهر", "آبان", "آذر", "دی", "بهمن", "اسفند", - ]; +const SimpleDatePicker: React.FC = ({ + value, + onChange, + title = "تاریخ تولد", + defaultToToday = false, +}) => { + const [modalOpen, setModalOpen] = useState(false); - const [pickerValue, setPickerValue] = useState({ - year: "1404", - month: "01", - day: "01", - }); + const persianMonths = useMemo( + () => [ + "فروردین", + "اردیبهشت", + "خرداد", + "تیر", + "مرداد", + "شهریور", + "مهر", + "آبان", + "آذر", + "دی", + "بهمن", + "اسفند", + ], + [] + ); - // محاسبه تاریخ پیش‌فرض بر اساس پراپ defaultToToday - const getDefaultDate = () => { - if (defaultToToday) { - return getTodayJalali(); - } - // اگر defaultToToday=false باشد، تاریخ ثابت 1404/01/01 برگردانده می‌شود - return { - year: "1404", - month: "01", - day: "01", - }; - }; + const [pickerValue, setPickerValue] = useState({ + year: "1404", + month: "01", + day: "01", + }); - /* مقداردهی اولیه اصلاح شده */ - useEffect(() => { - if (!modalOpen) return; + const getDefaultDate = () => { + if (defaultToToday) return getTodayJalali(); + return { year: "1404", month: "01", day: "01" }; + }; - let initialY: string, initialM: string, initialD: string; + // مقداردهی اولیه هنگام باز شدن مودال + useEffect(() => { + if (!modalOpen) return; - if (value) { - // اگر تاریخ ورودی وجود دارد، آن را پردازش کن - const parts = value.split("-"); - const yNum = parseInt(parts[0], 10); - const mNum = parseInt(parts[1], 10); - const dNum = parseInt(parts[2], 10); + let initialY: string, initialM: string, initialD: string; + if (value) { + const parts = value.split("-"); + const yNum = parseInt(parts[0], 10); + const mNum = parseInt(parts[1], 10); + const dNum = parseInt(parts[2], 10); - if (parts.length === 3 && !isNaN(yNum) && !isNaN(mNum) && !isNaN(dNum)) { - // اگر سال ورودی کمتر از 1300 باشد (میلادی است)، به شمسی تبدیل کن - if (yNum < 1300) { - const [jy, jm, jd] = gregorianToJalali(yNum, mNum, dNum); - initialY = jy.toString(); - initialM = jm.toString().padStart(2, "0"); - initialD = jd.toString().padStart(2, "0"); - } else { - // فرض بر شمسی بودن - initialY = parts[0]; - initialM = parts[1].padStart(2, "0"); - initialD = parts[2].padStart(2, "0"); - } - } else { - // اگر فرمت اشتباه بود، از تاریخ پیش‌فرض استفاده کن - const defaultDate = getDefaultDate(); - initialY = defaultDate.year; - initialM = defaultDate.month; - initialD = defaultDate.day; - } + if (parts.length === 3 && !isNaN(yNum) && !isNaN(mNum) && !isNaN(dNum)) { + if (yNum < 1300) { + const [jy, jm, jd] = gregorianToJalali(yNum, mNum, dNum); + initialY = jy.toString(); + initialM = jm.toString().padStart(2, "0"); + initialD = jd.toString().padStart(2, "0"); } else { - // اگر value خالی بود، از تاریخ پیش‌فرض استفاده کن - const defaultDate = getDefaultDate(); - initialY = defaultDate.year; - initialM = defaultDate.month; - initialD = defaultDate.day; + initialY = parts[0]; + initialM = parts[1].padStart(2, "0"); + initialD = parts[2].padStart(2, "0"); } + } else { + const defaultDate = getDefaultDate(); + initialY = defaultDate.year; + initialM = defaultDate.month; + initialD = defaultDate.day; + } + } else { + const defaultDate = getDefaultDate(); + initialY = defaultDate.year; + initialM = defaultDate.month; + initialD = defaultDate.day; + } - setPickerValue({ - year: initialY, - month: initialM, - day: initialD, - }); - }, [modalOpen, value, defaultToToday]); // اضافه کردن defaultToToday به وابستگی‌ها + setPickerValue({ year: initialY, month: initialM, day: initialD }); + }, [modalOpen, value, defaultToToday]); - // افکت جداگانه برای مقداردهی اولیه input وقتی کامپوننت mount می‌شود - useEffect(() => { - // اگر value خالی است و defaultToToday=true است، مقدار پیش‌فرض را به والد بدهیم - if (!value && defaultToToday) { - const today = getTodayJalali(); - const formattedDate = `${today.year}-${today.month}-${today.day}`; - onChange(formattedDate); - } - }, []); // فقط یک بار در زمان mount اجرا شود + // در mount: اگر value خالی و defaultToToday=true، به والد اطلاع بده + useEffect(() => { + if (!value && defaultToToday) { + const today = getTodayJalali(); + const formattedDate = `${today.year}-${today.month}-${today.day}`; + onChange(formattedDate); + } + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []); // فقط در mount اجرا شود - /* تولید روزها برای ماه فعلی (شمسی) با در نظر گرفتن کبیسه */ - const getDaysInMonth = (yearStr?: string, monthStr?: string) => { - const year = yearStr ? parseInt(yearStr, 10) : parseInt(pickerValue.year, 10); - const month = monthStr ? parseInt(monthStr, 10) : parseInt(pickerValue.month, 10); + // محاسبه روزها با در نظر گرفتن کبیسه + const getDaysInMonth = (yearStr?: string, monthStr?: string) => { + const year = yearStr ? parseInt(yearStr, 10) : parseInt(pickerValue.year, 10); + const month = monthStr ? parseInt(monthStr, 10) : parseInt(pickerValue.month, 10); - if (isNaN(year) || isNaN(month) || month < 1 || month > 12) return generateNumericOptions(31); + if (isNaN(year) || isNaN(month) || month < 1 || month > 12) return generateNumericOptions(31); - if (month <= 6) { - return generateNumericOptions(31); - } else if (month <= 11) { - return generateNumericOptions(30); - } else { // اسفند (ماه 12) - const days = isJalaliLeapYear(year) ? 30 : 29; - return generateNumericOptions(days); - } - }; + if (month <= 6) return generateNumericOptions(31); + else if (month <= 11) return generateNumericOptions(30); + else { + const days = isJalaliLeapYear(year) ? 30 : 29; + return generateNumericOptions(days); + } + }; - /* تولید لیست سال‌ها */ - const getYears = () => { - const now = new Date(); - const [jy] = gregorianToJalali(now.getFullYear(), now.getMonth() + 1, now.getDate()); - const currentYear = jy; - const startYear = 1320; - const years: string[] = []; - for (let i = currentYear; i >= startYear; i--) years.push(i.toString()); - return years; - }; + const getYears = () => { + const now = new Date(); + const [jy] = gregorianToJalali(now.getFullYear(), now.getMonth() + 1, now.getDate()); + const currentYear = jy; + const startYear = 1320; + const years: string[] = []; + for (let i = currentYear; i >= startYear; i--) years.push(i.toString()); + return years; + }; - // لیست ماه‌های شمسی با فرمت option برای WheelPicker - const monthOptions = persianMonths.map((name, index) => ({ + // memoize آپشن‌ها + const monthOptions = useMemo( + () => + persianMonths.map((name, index) => ({ value: (index + 1).toString().padStart(2, "0"), label: name, - })); + })), + [persianMonths] + ); - const yearOptions = getYears().map(year => ({ value: year, label: year })); - const dayOptions = getDaysInMonth().map(day => ({ value: day, label: day })); + const yearOptions = useMemo(() => getYears().map((y) => ({ value: y, label: y })), []); - const handleMonthChange = (monthValue: string) => { - const daysForNewMonth = getDaysInMonth(pickerValue.year, monthValue); - setPickerValue((prev) => ({ - ...prev, - month: monthValue, - day: daysForNewMonth.some(d => d === prev.day) - ? prev.day - : daysForNewMonth[daysForNewMonth.length - 1], - })); + const dayOptions = useMemo( + () => getDaysInMonth(pickerValue.year, pickerValue.month).map((d) => ({ value: d, label: d })), + [pickerValue.year, pickerValue.month] + ); + + // debounce / delay برای اصلاح روز (تا هنگام اسکرول سریع موجب jump نشود) + const adjustDayTimeoutRef = useRef(null); + + const clearAdjustTimeout = () => { + if (adjustDayTimeoutRef.current !== null) { + window.clearTimeout(adjustDayTimeoutRef.current); + adjustDayTimeoutRef.current = null; + } + }; + + const handleMonthChange = (monthValue: string) => { + // به‌سرعت ماه را به‌روز کن برای تجربهٔ کاربری؛ اما اصلاح روز را با تاخیر انجام می‌دهیم + setPickerValue((prev) => ({ ...prev, month: monthValue })); + + clearAdjustTimeout(); + adjustDayTimeoutRef.current = window.setTimeout(() => { + setPickerValue((prev) => { + const daysForNew = getDaysInMonth(prev.year, monthValue); + const newDay = daysForNew.some((d) => d === prev.day) ? prev.day : daysForNew[daysForNew.length - 1]; + return { ...prev, day: newDay }; + }); + adjustDayTimeoutRef.current = null; + }, 120); + }; + + const handleYearChange = (yearValue: string) => { + setPickerValue((prev) => ({ ...prev, year: yearValue })); + + clearAdjustTimeout(); + adjustDayTimeoutRef.current = window.setTimeout(() => { + setPickerValue((prev) => { + const daysForNew = getDaysInMonth(yearValue, prev.month); + const newDay = daysForNew.some((d) => d === prev.day) ? prev.day : daysForNew[daysForNew.length - 1]; + return { ...prev, day: newDay }; + }); + adjustDayTimeoutRef.current = null; + }, 120); + }; + + // اگر WheelPicker قابلیت onScrollEnd داشت بهتر است از آن استفاده کنی و debounce را حذف کنی. + // cleanup هنگام unmount یا بسته شدن مودال + useEffect(() => { + return () => { + clearAdjustTimeout(); }; + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []); - const handleYearChange = (yearValue: string) => { - const daysForNew = getDaysInMonth(yearValue, pickerValue.month); - setPickerValue((prev) => ({ - ...prev, - year: yearValue, - day: daysForNew.some(d => d === prev.day) - ? prev.day - : daysForNew[daysForNew.length - 1], - })); - }; + const onSubmit = () => { + const formattedDate = `${pickerValue.year}-${pickerValue.month}-${pickerValue.day}`; + onChange(formattedDate); + try { + localStorage.setItem("birthDate", formattedDate); + } catch (e) { + // ignore if storage unavailable + } + setModalOpen(false); + }; - const onSubmit = () => { - const formattedDate = `${pickerValue.year}-${pickerValue.month}-${pickerValue.day}`; - onChange(formattedDate); - localStorage.setItem("birthDate", formattedDate); - setModalOpen(false); - }; + const getPlaceholder = () => { + if (defaultToToday && !value) { + const today = getTodayJalali(); + return `${today.year}/${today.month}/${today.day}`; + } + return title; + }; - // نمایش متن placeholder مناسب بر اساس defaultToToday - const getPlaceholder = () => { - if (defaultToToday && !value) { - const today = getTodayJalali(); - return `${today.year}/${today.month}/${today.day}`; - } - return title; - }; + return ( +
+ {value &&

{title}

} - return ( -
- {value && ( -

{title}

- )} + setModalOpen(true)} + className="border-2 w-full rounded-full border-[#76558F] px-4 py-2 text-sm text-[#2D0A48]" + placeholder={getPlaceholder()} + /> - setModalOpen(true)} - className="border-2 w-full rounded-full border-[#76558F] px-4 py-2 text-sm text-[#2D0A48]" - placeholder={getPlaceholder()} - /> +
setModalOpen(true)} + > + calendar +
-
setModalOpen(true)} - > - calendar -
+ setModalOpen(false)} title={`انتخاب ${title}`} className="p-4 rounded-lg w-full max-w-sm"> +
+
+ {pickerValue.day} {persianMonths[parseInt(pickerValue.month, 10) - 1] || "---"} {pickerValue.year} +
- {/* Date Picker Modal with WheelPicker */} - setModalOpen(false)} - title={`انتخاب ${title}`} - className="p-4 rounded-lg w-full max-w-sm" - > -
- {/* Live Preview */} -
- {pickerValue.day} {persianMonths[parseInt(pickerValue.month) - 1] || "---"} {pickerValue.year} -
+
+ + {/* روزها (سمت راست به دلیل RTL) */} +
+ + setPickerValue((p) => ({ ...p, day: String(v).padStart(2, "0") })) + } + optionItemHeight={60} + visibleCount={12} + classNames={{ optionItem: "text-sm picker-item" }} + /> +
-
- +
+ : +
- {/* روزها (سمت راست به دلیل RTL) */} -
- - setPickerValue((p) => ({ ...p, day: String(v).padStart(2, "0") })) - } - optionItemHeight={60} - visibleCount={12} - classNames={{ optionItem: "text-sm picker-item" }} - /> -
+ {/* ماه‌ها (وسط) */} +
+ handleMonthChange(String(v).padStart(2, "0"))} + optionItemHeight={60} + visibleCount={12} + classNames={{ optionItem: "text-sm picker-item" }} + /> +
-
- : -
+
+ : +
- {/* ماه‌ها (وسط) */} -
- -
+ {/* سال‌ها (سمت چپ) */} +
+ handleYearChange(String(v))} + optionItemHeight={60} + visibleCount={12} + classNames={{ optionItem: "text-sm picker-item" }} + /> +
+
+
-
- : -
- - {/* سال‌ها (سمت چپ) */} -
- -
- -
-
- -
- - -
-
- -
+
+ + +
- ); +
+
+ ); }; export default SimpleDatePicker; \ No newline at end of file diff --git a/src/apps/new-ui/components/Qr-code/QrCodeScanner.tsx b/src/apps/new-ui/components/Qr-code/QrCodeScanner.tsx index e16f04df..4ac96917 100644 --- a/src/apps/new-ui/components/Qr-code/QrCodeScanner.tsx +++ b/src/apps/new-ui/components/Qr-code/QrCodeScanner.tsx @@ -6,7 +6,6 @@ import toast from "react-hot-toast"; import { useGetAllExtension } from "../../services/Explore"; import { runtimeConfigReady, getRuntimeConfig } from "@/config/runtime-config"; -// Make sure the worker file is available at /qr-scanner-worker.min.js QrScanner.WORKER_PATH = "/qr-scanner-worker.min.js"; export default function QrUltimateStyled({ onResult }: { onResult?: (text: string) => void }) { @@ -21,28 +20,46 @@ export default function QrUltimateStyled({ onResult }: { onResult?: (text: strin const [_devices, setDevices] = useState([]); const [selectedDeviceId, _setSelectedDeviceId] = useState(undefined); - // Allowed domains اولیه (ثابت) + // ✅ دامنه‌های مجاز اولیه const DEFAULT_ALLOWED = [ "https://api.salonaapp.ir", "https://aptest.mysalona.ir", "https://cardtest.mysalona.ir", "https://card.mysalona.ir", "https://app.mysalona.ir", - // don't reference dynamic value here at module-level ]; - const [allowedDomains, setAllowedDomains] = useState(DEFAULT_ALLOWED); + // ✅ استفاده از useRef به جای useState برای جلوگیری از stale closure + const allowedDomainsRef = useRef(DEFAULT_ALLOWED); + + // ✅ state فقط برای UI (اختیاری) + const [, setAllowedDomains] = useState(DEFAULT_ALLOWED); + + // ✅ flag برای آماده بودن config + const [isConfigReady, setIsConfigReady] = useState(false); - //دریافت فرمت‌های مجاز const { data: extensionsData } = useGetAllExtension(); - // Helper to check allowed url using current allowedDomains - function isAllowedUrl(url: string) { + // ✅ تابع بررسی URL - از ref استفاده می‌کند (همیشه تازه) + function isAllowedUrl(url: string): boolean { if (!url) return false; - return allowedDomains.some((domain) => url.startsWith(domain)); + const allowed = allowedDomainsRef.current; + const result = allowed.some((domain) => url.startsWith(domain)); + return result; + } + + // ✅ تابع برای اضافه کردن دامنه جدید + function addAllowedDomain(domain: string) { + if (!domain) return; + // نرمال‌سازی - حذف / انتهایی + const normalized = domain.replace(/\/+$/, ""); + + if (!allowedDomainsRef.current.includes(normalized)) { + allowedDomainsRef.current = [...allowedDomainsRef.current, normalized]; + setAllowedDomains([...allowedDomainsRef.current]); // برای UI + } } - // ... باقی فانکشن‌ها (isAllowedFileType, getAcceptString, handleScanResult و بقیه) function isAllowedFileType(file: File): boolean { if (!extensionsData?.allowed_extensions || extensionsData.allowed_extensions.length === 0) { return true; @@ -70,19 +87,16 @@ export default function QrUltimateStyled({ onResult }: { onResult?: (text: strin function handleScanResult(text: string) { setResult(text); - // بررسی URL مجاز + // ✅ از isAllowedUrl استفاده می‌کند که از ref می‌خواند if (isAllowedUrl(text)) { onResult?.(text); toast.success("QR Code معتبر است! در حال انتقال..."); } else { toast.error("این QR Code برای این اپلیکیشن معتبر نیست!"); - setTimeout(() => { - console.log("خروج از اپلیکیشن به دلیل QR Code نامعتبر"); - }, 3000); + setTimeout(() => {}, 3000); } } - // device helpers (بدون تغییر) async function enumerateDevices() { try { const all = await navigator.mediaDevices.enumerateDevices(); @@ -136,12 +150,9 @@ export default function QrUltimateStyled({ onResult }: { onResult?: (text: strin v.srcObject = null; } v?.pause(); - } catch (e) { - /* ignore */ - } + } catch (e) {} } - // tryQrScanner, tryZxing, startFlow و handleFile را عینِ قبلی نگه دارید (به جز اینکه startFlow زمانی اجرا شود که runtime config آماده باشد) async function tryQrScanner(deviceId?: string) { if (!videoRef.current) throw new Error("video element missing"); qrScannerRef.current = new QrScanner( @@ -213,16 +224,12 @@ export default function QrUltimateStyled({ onResult }: { onResult?: (text: strin try { await tryQrScanner(deviceToTry); return; - } catch (e) { - /* fallback */ - } + } catch (e) {} try { await tryZxing(deviceToTry); return; - } catch (e) { - /* fallback */ - } + } catch (e) {} try { const s = await navigator.mediaDevices.getUserMedia({ @@ -249,7 +256,7 @@ export default function QrUltimateStyled({ onResult }: { onResult?: (text: strin setScanning(true); return; } catch (e) { - setError("All attempts failed to start camera. Try Chrome for Android or a native solution."); + setError("All attempts failed to start camera."); } } @@ -263,7 +270,7 @@ export default function QrUltimateStyled({ onResult }: { onResult?: (text: strin if (!isAllowedFileType(file)) { const allowedFormats = extensionsData?.allowed_extensions?.join(", ") || "heic, jpg, jpeg, gif, png"; setError(`فرمت فایل مجاز نیست. فقط فرمت‌های ${allowedFormats} قابل قبول هستند.`); - toast.error(`فرمت فایل مجاز نیست. فقط فرمت‌های ${allowedFormats} قابل قبول هستند.`); + toast.error(`فرمت فایل مجاز نیست.`); e.currentTarget.value = ""; return; } @@ -281,13 +288,9 @@ export default function QrUltimateStyled({ onResult }: { onResult?: (text: strin let scannedResult: string | null = null; try { - const result = await QrScanner.scanImage(file, { - returnDetailedScanResult: true, - }); + const result = await QrScanner.scanImage(file, { returnDetailedScanResult: true }); scannedResult = result?.data || null; - } catch (qrError) { - console.log("QrScanner failed, trying zxing...", qrError); - } + } catch (qrError) {} if (!scannedResult) { try { @@ -295,9 +298,7 @@ export default function QrUltimateStyled({ onResult }: { onResult?: (text: strin const zxingReader = new BrowserQRCodeReader(); const result = await zxingReader.decodeFromImageUrl(objectUrl); scannedResult = result?.getText() || null; - } catch (zxingError) { - console.log("ZXing also failed", zxingError); - } + } catch (zxingError) {} } if (scannedResult) { @@ -308,51 +309,60 @@ export default function QrUltimateStyled({ onResult }: { onResult?: (text: strin } } catch (err) { console.error("QR scan error:", err); - setError("خواندن کیوآر کد با خطا مواجه شد. لطفاً تصویر واضح‌تری انتخاب کنید"); - toast.error("خواندن کیوآر کد با خطا مواجه شد. لطفاً تصویر واضح‌تری انتخاب کنید"); + setError("خواندن کیوآر کد با خطا مواجه شد."); + toast.error("خواندن کیوآر کد با خطا مواجه شد."); } finally { if (objectUrl) URL.revokeObjectURL(objectUrl); e.currentTarget.value = ""; } } - // mount: ابتدا منتظر runtimeConfig می‌مانیم سپس startFlow را اجرا می‌کنیم + // ✅ Effect 1: بارگذاری config و آماده‌سازی دامنه‌ها useEffect(() => { let mounted = true; (async () => { try { - // منتظر آماده شدن runtimeConfig (اگر قبلاً آماده باشد، فوراً resolve می‌شود) await runtimeConfigReady; if (!mounted) return; + try { const { testAppApiUrl } = getRuntimeConfig(); + if (testAppApiUrl) { - setAllowedDomains((prev) => Array.from(new Set([...prev, testAppApiUrl]))); + addAllowedDomain(testAppApiUrl); } } catch (e) { - // اگر getRuntimeConfig خطا داد، تلاش می‌کنیم از env fallback استفاده کنیم const fallback = (import.meta.env.VITE_TEST_APP_API_URL as string) || ""; - if (fallback) setAllowedDomains((prev) => Array.from(new Set([...prev, fallback]))); + if (fallback) addAllowedDomain(fallback); } } catch (err) { - // اگر runtimeConfigReady هر چگونه reject شد، ما fallback را می‌زنیم const fallback = (import.meta.env.VITE_TEST_APP_API_URL as string) || ""; - if (fallback) setAllowedDomains((prev) => Array.from(new Set([...prev, fallback]))); + if (fallback) addAllowedDomain(fallback); } - // حالا که allowedDomains به‌روز شد، شروع به کار می‌کنیم + // ✅ بعد از آماده‌سازی دامنه‌ها، flag را true می‌کنیم if (mounted) { - startFlow(); + setIsConfigReady(true); } })(); return () => { mounted = false; + }; + }, []); + + // ✅ Effect 2: شروع اسکن فقط بعد از آماده شدن config + useEffect(() => { + if (!isConfigReady) return; + + startFlow(); + + return () => { stopAll(); }; // eslint-disable-next-line react-hooks/exhaustive-deps - }, []); + }, [isConfigReady]); const galleryButton = (

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 XlujaiH0#1r7jPPc0rGAm+%@4pX5x;~ literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxxhdpi/splash.png b/app/src/main/res/drawable-xxxhdpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..603fee020dcbe2d60e1b46b5738d4334a9d1f975 GIT binary patch literal 83536 zcmeFYhg*|b*FB6fwgEw9lnw(3Or(>c1Q8rzKnO))Mx;v#NDUAm1Sv8~8|gwqs4@bP zk={dS3eu8*Ql*Q8U_@Hz{da=z_df6c@I735d0m>EbMC#@UTf`rZe#D5=%4>l;72w# zw(|zJbkej@`<8Uv+-B!#{PKeX^iZk)$9GTmcwZ*Sd*>Q zaOn7tzyJHke?!pv-w^ya1Z@8e!GA*lgyFwj@c-`+)UeEf(WHtwnrbs2@;Wu&+x=@{ z{^0&y+vx&9(%?NNuVu=DTaSNEB?W$%CW+6%QTk9=*pVKo*55q0GL?-@yYvbh+x^%g z68%>##MjcDdyJIBW;kittYQD|q{HoS^ZpKO3ngW40fIxC;LA{l@8`%6oWi{9ykz)8 zO)v9#c?9Dm+kU+j8`~%88s}0}p?6PBHp&Y}X;UdsV5q9h{b~H@PqT)U@S>|lC55#q z4%4ohn~XZS8X1T!mAg`w(JWhJFGtKN#h1b9m~J#y(%iVx$g&sS43%C(bo*JF&C3TY z^_PZzwK2yEuzl+Ma1xw4uRxZ#KA#nBUbvJ(?1hx%3w!L2W2t1Z%sr(VnH`*=@vd#I z!wBKLZ9^VhkhDIo{2;{WhaHEfrld@#9)`ZA_n!>Se26Sgj zCNfp>C_i6TlC8C6m=%n_3Mj;NoXt3_I|Z3mQMd?iu*HRq_am*x3gInoMYi4OhO2u@ z`+jtT1@jq6^61b7Yf@5%$51gcC!B)z`%cgUA4_t&ug=DghG`?)igSkBobhey40 z_0$c2YDo543Bn-9KG!e!Ad8_fZ%q#9Uaxl!&RT2oyVk8^oC9y(S|5TW+H1}4?q)C? zdiOQwxrc}aEu4(PD{PfVE_ICG8QR6V;nYpbTU!%fVA5ThO5m^!42=@_@>;_2E($;V8IwW7!mTG@I&y zXGZUm(=|r?%{kas%2<_@`w#*zT*@dSeJ>+H4;FUdhSUAKUSIDF>}Gh66ig1Tcgl~G zj8)N@-O6Q)62g)h zJ@#ICDN1%NOWQ>QB-~!vwlJj3%X+MNZncS!6^^FvEO-=>QyH3wZtd5E45mx(x=+u3 zqjOl!bIEB492e+SgyLlj;{BhKqT~-CgjL9aEiQ1nfV4Q^ZMbVozTZiy=__A`ibPdc zz!}fIzf==OFE3)NP9HvP1*FO%;NfBp{QO)Cdvfa3u}T&!<$i|8GbuoGuABnh#{~! z=1?kS$Aq*AA*%)~on%}7hgCBYSYMMUNd`8=gFzoWNU4?Kw;Sdxv#M2y{$}qD73mzb zGIOVb(=J8(hf?bdEtJ1SagwygXH`kFs$LH*Uz))U4a5GBWT@H(ZV|FXpx3xqY-^(}d44%byT7c6)*G{cJ| zr;7|m8vH|z7py@}M{ z9WOq`_82`jXzRyNfMiNeHWx0sH+aEY7NKFatW`)nypAnNbdkZ?ZHwCIixorV=a2D#?;dAKfAk90(u5*tJYCKFcTzapUG$Lg+^I~ z)-K17Hu5Qd+vAMZ>a^Gsni_YVNOaQyRc$q0upzhKWoTw-U|`U&FH<99U<^P~Vhc`5 zD9c@2-$2Pv+n_>k%OmZO7p667nMa#aeMdgMsVMmY$yv8d@2@GW zoEL(e=N1&m;uo?COn_)srv#@%g*^O5l$$;I?KX%9&bi~JiA2m%dK)=ZwbQtHgj>$* zi@C=+?QApn*!%tsTlWR!Z@V@*oi-*oqk$}>+&~IAK-N^&fT(qY7q#sWLdf)xZ^`Tr zeJ(oxt5Nb!?{z>Pr#K3D`v-?p^s$%2RXAk+(lN!3o&ZM)n|Zf^eRg({+;^3?g! zrjIV+E#%F>Osd0khk^M=HN&Zw?){UW?_p~QVOZe+8Y}^wTotmL5 zSpychtY*!5#&RF#kSd8QE3~oigCwdPAdIr3*;>Z{Wv*0}r%HCGq+YFYc0&~|N{&oI zHkz=FUn_S!pYOH6X!JInj@k58MSwOI@QicAgn&F2|6$NjTDahzf(>`G#I8H#I;c5o za*no4(ARx>8B~a=eJ*qEXyZ?LlDT{f(Rnx8!_1?BAaA)V3r|59V2>+ptQzbNEvJpi z6Kml;fd+N2i}svRo}*Jj%2QjTjbBiE3}d^nFc1eWHyxa}r&}nlG=Q-yUxQuQ{Az_m z4wV*)T6HX@FHq&9N${w=z96Bsm9G$Pg&e=bMHTXbbMRUg(A)L;e7lBqoEVFKJ^BH_ ztdWrJ8e2aBQFA12UBSA8R}Ofi%ssKpaivU>(w68neP~|6FDT$P!~oP6z%)SiIV8c% zu;Jc7O$LJT905wJJH==OHtXB9G$du;5|Ul!Z9h-d)}-%{%}wlC`=^qTgmrGGh9Y=2 ziLEt*^{AWfaO^=ULajhJrC}M`JmR|dCVlb|kjuK!Y2?82E};0mJzLdIrIO{heWnn} z>1)8v&>q#i9-Z_wC#6`Csw?^c>9rw6*H#iuF+w?2G?*Joej|(V>)fNs!G2>o1mwiy zTtf~vHe?AR9okawj5$h~sYTR}BaYt4tL1(}?SD#YJJ8xA*}A_5WhB^8T@i_fLnPY* zZ;zneLUUIYUC?#i3nZo4Jkt`DfnVp$2sYSxS;?c^l+|j3Y*K0gpy+FIY;27xbPd;1 zb3%)Ymoo-Buwmnb z!Hj;%#PNB}L|j%&vkRV18Ic^&Ay?Z}+K_-Mv8bS|1e9dm+hbpZJ52SvJyt>9d?{9U z)TX7@G6mQdD$?=IyKZ#KyAl=$jL(X~F&ujGKt8%I%-78lb;6hznP@0>)!_p*Sq z#i`+B7c&N!=}VX{ACUoLIkuG%U=v%v$^i#UHv%6xfJ{D1*$jgpJrk?5|F-t#X!}}Q zU{|@YavTfzr2!Gze|Q*|sFWZ_zjexP!J|TR7oP#ljPQF~?N0k+c9}3!dnrON6{CSL z=%-^f&=B~c!8x}58j${ScNB2{^I)6FGu^9CylO=gM#HPSsnVSj;la4J1F`?lWDZ{1 zexB<5k#lrf3Q+`}j6|{p?vlB`!IBOb_t60aH%-BZp?cRhQUezUN<%@g3P7;_%v?xi z5lDCsSUuqgkvZO%Ks;Da&*TQgg`v!N=b9NB0yrB&BD8-8Id{3Oy~(c{TC0|sHKjej z9@GQM*1jbu`>=3sV!AHG{~_1mv)Z z5Fm$#i$t3@L`$xoshxP8J5 zD~ssur!qR^1B%^5hf@1?J++omN25yU+)4V1Bktf?DA*zFA;XGyyCT)BKR}Y<-Y;#L zQaZ#*5+hgBf}0Ax4MoECQah)q_;4tqTLlHd`x#go_L!NookpvTG^6+O&;HovDe& z?uE^Cgr#2zN`5ZY4c~7cHHhJ4+fQdHgaN?mgfTH;-Uev`$*qaAADjqjrcO$$0bK%R zEk??;1!c3~-cafiPJ*{Es))i+q1|{hU<5QDWNOyxfqZl#7iRUHtzDRJ=IkDDqf3>fQJ|_T=Klh^uQcvEqZ=@^* zX8K+)6txB@%rz@fIk;m62Q2IL4XA>bWDOSdCvF*jmhv!LlTpoO7NvpmdB=MC*H%3# zL=&(qmgEt|Ypa^ONjw@dw%gxTMdwa918uAq?%&0Z4YitB5M3wPO557n+kP1^mmz!&7obh;Wy?P z%&f}lID*%IR=y0ktW1TWvh6@gj!byZvnxE6Ns1BM{tS7ABl} z$m_J(GB!_N)A826PT&3@7R|fI>6AM*l$zQ){?CGSZM0W|)qoY5uI^Gb>5NjNQ;&AC zqCvMeu#s}8oZk|6;<2^`2*eT5u(_%lHbRB1QNdxC)((&Sa>o;qegM4V<6bQJ|H6*U z90qEE^S$n@=~)?G!xE*bP@$He+i5qiU|1k1GtI2u3g;Omw6w+8!)AG4QOch7^ZRI2&e4+C z;uyhpFSXz_+u=_@ef9}fo91-xK7MUC;!a2|sV@<;jI^TgOhM*Jw(t}{Y+)e*-Idu@p7Z{qlC!Ql zo4H88tz%wrK61zTs^!-TY{NiuQd0)=7f3*@i7iu7aAj>d(5hDM>rmIZ=VcRZzfK$z zSt3j5XBSfDHZyh(;I+Aluzf#VrYSe^;ENP!RpR!PiX>N1YMxOOjp*m4HL~Vr9khj` z12Owt5ft9AV?ZiEuiO=!N~ACC3Z7WG>j6{`~!MupUXZVVUp&D`*l zYZ*Ywd(f1X;ykcnz3acuQ9ou0^AU=nxpPEDx*+ajb^6iQulC1`4EyJirwa;9kO z^o+{X>V+g$qb2GNj-{Z=A|J`QcPX=kanJA%^Y3`k#Df(nV1xkKggq>>J=gfmP|mFc zuBsD=9tS6;Y*16zEO0iW1j@9{TGsy|9y?YcS9p+UU|_daIk)}J%kHpGjd(zl0#U0P zMS>wib+e@8iU}A?EPxqc6=~WfqZBlx%$0Fqme*1}gIxsp~GNk3jl? zzL~)vhpWbgy366Ut(YaXZj1&66f7GWU~aNz-q7!=>18%A#>P_3Tm%G;Rd)3@#~!G_ zO!&2@fGBSf_r{$PM1?C!;{~F7)p-S}mp&bhY}ht5lk41N7`rK8?2}lQ%e3jk?n)T4Gc$SsuZ6p;Qy>j0BAg>S>nrUG_F}F03DYS&<@6f7w4Jr6x zd#k1yf%@nYMx?FInwxMF8od(@MEr_Sr5mX*^IdY%q4Md+Xcnu4V~Hj(?mj#>&Qp70 zesg56ar?9Ca_FiuC<)N89K1id-wDoEyWAh3LWnjm#lf2ch&Ia9KA0(if^Od#@)~Itn-jEy@1sidv9j=SX+nT z4jLaPW0v{a9zvPe+xZE|6P>x(SS2pa*i>mF%V*lJ13FjQI+_D!WrDWinCmbAMyu{} zCk{1hj!lqZLKznr15{;u3it-6Vz>8LJt}-rQ*+&9)OpE~|rV!>kIs2TV)}+9cxs}B7f7+#2 z-Qd_-=b)j=gLmnq78w0-Eps9?Boj;~xI@iO?%ym(O)bq2R3VKU?;67m{fIVx*`;`s zvNbvxRa#JJZRKYG%nbGt+thg$$@+SAhoHOt!i|qc#X3#VurQx4(0+o&0#qO;!midV z^mBL9)#=-ZVmN|Fuf08Ug+!3`>VcUua&|$92QIR=l33nL+ns@xMUNQe=JbaLQdX-% zy|vVxA60cLZk`CUv9$opfjS!5D#MqKfVq{D{gDoCz>m7)XOK+*y+Hq&$7mgpvZD?g zg3Y+fsOf0q^c)=r%6dCJ(<0h4aeO_L0~w9Uf!fc@vU<`$m16smI#2F#8+)VC>6Y%L zcT(gw$jCJH#HUHtc%cPoCJ_2L#W{M@_{0%Y3fKqQHZy(FH*;)gB`}=;!;w|Ul~;9u zc$SBi1QbOZW8J_i^5c76y)D^hBovlyrIeMoExHDx)Vy>Yj%`z!wC&!mL;$^5q)N5b znvS4n7VjDYV zDqYN2TgjU9F>bO~Zgl5gX3fXP3JV4=O##ceu0yUfl$%*J+mnyB*vpqKVpKYJFB~fM zZKMqBq|7uLgcq?iSKFSIy{QRPeBk^b$$9%l-{Etwz-6z>rb*|In?<(gk$_wp#v<#? zM~1#F)iTg>BWtMxjMRlSl|C@VKAZ$c>bLJ;TUlc@N6P`3;NF8wf3CIF($IY{Jwban zzXfYn2jc*+)QZI)DZ^-pBtKfGR?P|YL#4|AjW0pgr(ch!9R7|wAY_8tlwUsDMI z*5rGHI_K!bCjXN4*t3kC4HbfBA!*ZX1Y0=>j>^jHvR8r*7qEo~LAjHYs=#V{*%}%? z&b>E+<`2~A7#Eu*YaP5!@gUOth|WP%`MoNWf3Uaq0Xb_WmC9SHqLk&`zyQ|HtMX9= zm9FT*w+D_0jD#wfpkqKPk4M6_ZaU=6`ff0IjOIpTc6VXiBj&x+S<1NtS>RN)O+o0F z>kH&8mrC*Wwr1KNUFto6!-<+q0&?wfzLAPWbo*zcnrr~-OOO!T?s1kC9-Z5rQt6w{ z^20Q`9MUs252gvrZ}PmiWGZSTE-g}-|&a((`n!rMm4yUf29?0aQ9(`J#biZ87R)-N$_4GxnRE+)@Qh=U&{bf{A= z{BF5gHg#IMqh;K0gDRQ%I^tJdO?C0U2#2S9U60RnPQqN3&eW<2mQL9)4?l}QU*#!s zOFKf^Q(`5>#Krscb-@qK^RO{3+_MV#Yt_`9DC&qoSen>v~Fe~xoGg{MrsEwlBVg>`8Q@$=_7?2O~jb1|p% zdv!eG?+N;^d7+|kR`fl=1+y1A0^%Yn zynJ4IDU+9dJTrN5#hu~QSmFzKihlS#QJP-ov5I63bPMd6MXGeR}|9{gj``S+W+ zm>5k7*5=8%_)8of8E40h8U^^u&O|+n&~(vM2V3)U>rrA&HTjs0M3~a=9pngHI7-JO zZL3W`cv-e!=GmJQ7cXM;SZ5H|=9$!()Ce_yh&vUY#%Cv4tDwq>!>3DtRYcL9!aI0H zwZG0VrBEPQS~u}Bd*c!tvwwwt`xSX#tyoZ8-0$%FD(qB2N%_=z#X}9>jjfT!{pFF6 zjg}VrT$x=taqNLhOxKPg)bU3e^(N&a`X#1-#vgS{7JvWJ@cD}uVaV^#65$=MB4;!k z@wx@`ZsBM)s_bx2rg?X7#3np65-%q1+7Xu|j(HvnarFMROcqlRuV``seoI%k*Zw;u zUJjJ-=)0~tK4=t)acY0EhWcPd82V9IQ(Z(T8HG44cAA-V7V^MlpJY;Jq6R>Ok751n zQ=STS@y0e92l<4V1bd_wyniH3XTit@&#!b^Q(fs41soBRBXk_@6C8StadAlH9gT~f zG5Vbo+oMYCoU_pz!$mdy?k~3zy37X{@2`uU=~#%ExyDloVBZJ-e!8EXrNgp`+sFv& z2)o#IZT%$^ql;hauWRQI8(PZH^^B4)a3&M}*)ow!tGxG_uYPy#)Y_yWaZxtwKX@$; zXox`Ywe)%(*0pYCCaa&;|Rhc)ISh7-D_;lAB| z7V3v#bal$MI}5QFSb@fLxW7uRzoa16LZrW&w((t~UbZMJ`)HHU{!{W%)*0!!r?C3# z;--K9787BrY9Y}SFl_&)$YpF$j6Vl*XP^x`5eWSidlaj?d3%ruo)o)b5h_+AD8hkgv4zI4Qj zM@(7PzPOSdSH7`$`(vV*c5ADmZjLN_TMUFPwz0ci?DOa=9S4zn#b+F2@1sHLG=FCW zHAji8*Km$Dk{puFr^>GMyN`};4mY<+rEbqfZoRr*0p7w@-C};E$*Y8zm@EP-*|p`!?g<|>tudYd3MY30J|ZB)!qBGt!k1xC zW^3S~LExecZ7c^U+v1f6b5WW0_R2P{w4ERLDmntR9x=EU$A_n=J3EpLTiRO;gf| zzHqYM;q>u3A+Y0h<~v%|^ujLlwe;A8q23H-%G8bsGSkm0J#gv5{999*bp`9@pe0M` zj10JzO1x9}Huzd<5z{Hizn?EQvnvSCFR$G8uGL2=Nj3ID)&+JDbtZxpKHZ$W@_-<) zY_CmN)7;nBaHiDrPKq?BdxDj~fCJqJ{a}h}v=_+;b7{!MFS!&ZLI(~gi5H_=w;i32 z%Zv}HCvT4=f=k2Ux{pa`m3{_m+v~BGrs2N~7v=&zoy1g6kg2K-tyX- zuM13mu;%W_kJ;f>Ml#XdXSmS%!{!b*N+@WVwZ*p~b>%|$u(Lgh7gMT2UK!yyX36-O zx%Niu`u6v#^UDx?KrGF;k1> z?0bSGzxG%a!RLG)(KgYdJKLR)STXC2w7Z@=SX3DzTTJT7O|vbS2>cqW?Hearc7m#5 zlos~*(6_KTav(6z^5vu1zCwFyz2JRmq;i{-(^8NkU@u{`zLqvrBL8OB#Y8T?|7G01 zJ3<_Rwbnrx!D)^85!!}k zUUyhpuUUJ}7lht_xQ;gAk4q8s$gpHma)(0O6zKzRgJ6nwh|lS_ot!_qbUeE#Dzvk& zseuvXFH`nCo6b_;o2=)j5fv5LIrPT#R2B5179x_^J95*-Om9b<5YjrTbL)@F=a;s& zLiQ&U+P3sf>YxLQl-<(G#@Fj(J6Ew3b;-|~E3Uol8Qa{afV{`c3?9B_Os&i zR-WBx4a(*(JtJ@Dxq2Z6@>c|2EI09tgx94ugcO|(l$R#^_v(6k@~Mn;3zyBlBaMzM zt>4}Ki#l`@$fr8ff6&abFmk~A^8wO(XC>1*FkI7bdp34XCo=nDpoEY{nCE+q+#rsp z0y{Rv*WIZ1=e66>v4)?voBbLzTjz3S5RO6k`op2i0dDKVU71EAP*%+hu%25t=NwP~ z|8K9mHhCq~TAFFQ3vksD3Afu_17`3!|MdFsy4i!43FhL_26mthx;B1NG<&96(wIH( zH{|}Ah5gu7Vi2ld;{u%C=NYm2LA{`-@rE+egr=6fFQvT9d&}>$)MI`Og+*1SJgmpW zNXhcK33it~SaWo46zLu}x_uF<)BJ*~M8(Rh80C;{ksxY15#BPp#0|oYd&JeEeRqnz zF2d*bM}hL8o%Zd@V!`3~qxUa(zi^bF-cNs3qEy1M#keWJ(}eCRyS4;eLb}9KREQLp zmd2{og})s*?f|`key2MrO}bvz-#r;}TobOZ5kf zH_$EPzS{@w`=Mgrly?*_V4v2tn!8RKct{O)1#4H-;+t~6G=WNQ3j8cp-Zb_3jW2iC zyaU(F+b-nE+8;cTia;b?ud%eikKO=CH~25jADF5ssx0EqTKUw4`(RA~8hMRC;^`#u z?9~Bi3x7OVZCyg^bA_khN6H)wuR<=(8@)`ggQ~nqTL&Y(9;9uvJ7xD{gK)7!H+zwC#WM6nk z*|3Nb9XmT2%iXfm6+In7+n#J^u%O)U9lzq+UZ|I)VJAMEjrs}xnP=hCvk$zkIFsUl zx$T8mw-%p+A#hWwFluv(=6fGdF~9tow-*$ju%w9eeMb*FOJ>}h;rR$tO?8OAB?2PjBs2JjtRcTNzS!Jy4V!GI^acKyv`lGPE= z(}Fz{Cov~i{m>sUfX%T6>xz8TC=*&vmd(9-LAXMC_N$stqkQ(9oND~_Kc7Db)e%V`Ci`7Qvdq#VIhpZK^Llh-m`DD>%`6@}iK#5t62WF& zGf_s7lDWE#(KkC$zOvJfw{2{YZ<5Y9yQB+>2yrJ!ciuX~a_>8Tv!ap(>(guW{VeDj zgdd&Y%vW;s?s6TxUhqecnR=L}@6lq;p0<#BsG9kdO25O;IeNFw2cdGVFX&l8^Yn)I zVr!^Iyc{HLA-+=O@dY_yMHVqeAJar{*6(MnrS154G=S*0vzDD*Xc~A#z;^gqrE^2~ z>hzbwNUldDo`tQ;OYBllcU)@tbwq^Z}O0qxkI+8!fR+5U$sxr zrvgdgBf}ky_IPh;`T<2*u3hLH%dgC`+Bunk$M-Mg0iQr?{2nZu+Yupio_1Vu7VMbJ za}Y=HxrLgF-bgp?s-wf!#g>V?EgbEkQIZcPlfo@VIx4NzL$lI1Imp$HF7?;1aAJfc zuh3_7gj?Lb(#;~vXxrm{#5x7@RrcXAzLgT~*}PX_!h zl1RL0el;H}|F);8 z$k8T>a+3RAm&VVP`-P}g>`{{sj-Vf=1ZLgf_j#s{dz$FurU0fhsUcZvG@C5;8wYRK z{GZsKko)RQnI8`pk|&SUD`2*YCf3D*Om>a;d4R9QwXYs;!sPwhG~oUcd^iigx2y%3xP>P3k)9B% zUp(@*Sk8HW{`jM=y-#>hR}(IBCurtOX^?#ZC(?o*efGazv2-o)M;hYi!I%J@u$$49 zKLKzlxo=0Kk>= zJ6vzqfevy@&s4Zik1t#ObpM5w2VJvnHPB_=&1Ej3soeA_(_&FE5uRojT8j(yf$HwX zo@S-RD^cV~s@cPue(ReeF%iTWrB81ZpLoY#5~RxH>AheTnP%v*v4Qpj9~+r+Wj8>w zS@Cl~Yo%CXSzWKjWfL@XEjn$-HgA%@*-0I z+DJg+3dk(X{y(eX-B4HU^_dGd8+|qTncKk&#pVtTnRstrEI<@*3`##N-8jKGfqKWj zZJmtYsP4Dc7fJt3=;SOy%KOsN|B6T#f5lRMKr3aXzhWw>k5JbeYy+D#Deg=g)`;3K zVD(E3V*eGwl*WQ@!BCWDPKYpZpLD*)fa;&?bz`ciz-;)I<+XsK>M=%>L^y0AO0DztfW<41f+3S-Va$D(sOX!NGn>iE|KK&b97i_-$^+-k(bg^>}Ban%>{e)=NAyv=zF zOfFh|DilG%<9NhQ0W9qQFBaAe&!0j|r;8;LwoI1q05oUd6QGEa5XZ@tD=YN-YP4t! zsu31?Zm_@{8(FJr#W+4AcN--J^1f4d%7v-Q(;0I{=RYU9kM7rapkAw5Y{A0oFCK_7 zQ$X>fE!WG1c)whLiyNKDm6$pSYNy1UD}KWZL6nn?jtsCffQfTUx3jsl|D?zoZ-gA{ zb8n1V=lIQk@eRGzTHu7(j)r2RX#7DmJK#X<>`8whIGA?qBiqKn}Px)AF=6~c;QX=6*3;#zO5C(QP%2U3i=)s-*(lo#>08ZM)vdhU+wZ@KuaJRnaHVz=Mz`b*VGXEf#&e^r>^mKpKN|R$Xc9o0nZ!-a> zm|CzRN)zJGS4#0dIZN#V9c#za&c~XK_XNnkh+TCkXlADFd0NC4NNDE-NMnKH3-kDP z6m+#ICXSaKXrk0b&BtQgKj+_U?ut{x?_W!q`r+@(!dJi6#P zI<0@P2-}*KAYI+&dgaTT({icd+1=w5`drs$@Dtkv-NY`_dGB^1{#yL1`-45d{E2(? zI}bqu%;~H{WED-lNYj%6bK9nXFCZ#lngZqy0y&%<02KK~X|p7rt(M8Ey|BKS&DIc` zhc#l{Z4*E_>)12F;5AdOje2w92iaTP@$@urVbFM49cO9&l@9*L#ZtvdW6EA+fK?3S zXYRh|&lN7sK8s)s8694`M6Kw4@iX^}vTVQUhsy$Mi#^rWA8jrNFLt&0pdAx9$9vzs zmQyg{Kv<-EyN)TFx4qSsD8b)XX3ae@0^h~%U!%xfU%I~ml!DqgGZ9i;7g6jw zB1t1RGoV5eUP#IobRf(Df2E&q^;7-z`G2=eUW2Hz%rkyfvi^FT>cHNqXbb(?vOuF{ z*RKb+D*gi6b>p}Op#6=k8BA8phuie7*>fL!O=-r6dI~2lHi@0N(s-(0<1>NlkyC?p zI;%z`ksJ{HiEPx+BSNYn-r{r8ZSQn``@itXokm8<2W0kfoFLbTG(8W@l}yc#AElUY z7?grT*Q_#BmQU#vGrc?0D5h7MDtM#xzUNbc@}(~OKHvgdU0y9a9O8Nyj&s{gU7?d< zHDZNbJIZm|N^RTi+m4(pV&f~*m!I;4g{dgDC{UK~1tU`%E*Q33x3U6f|J^gk1ws2Y zKHYfW5n-3qIse8$=V~H8=_KD^y;<~MWyy_k?Vr2Y@8=y}q&v;0UkOy;YL9Qi@hlh^Nq z=eif(GeR8s_`q8gv9RP0-Lny{?Cr37U_>hR1Q#R@^fO?#MIqxdzR{hNwtAY+T7mTP<2+WzhCmifp*B4 z6W$5$44yASp&fsGJmU>Q>!Sv`m?_R`;h)O7W{b?74(@;kt?Ci#LA}Vz5^(yc_9sp* zS+BuBTs3(4DY(JWQsXx1iCuNfZ~k|^A9k?#mT^GQP#q(sA*R8&;5ZTBLgjlRfVHf> zZEq25kNK*p-hC-IU2vZAS8{DE=ueq>N|Bc_n#Ux{AVp4+B^cL|quc54PIIP6%JR+s zTcc;mQKHgyk-K-E{>H#%A5TOzWaATfNI{?Ldj~H^VRT-BSnVi(FZ%WdhZ~>XK~M!E z*S)^3cRWY9+*izD=kE1MBkt4xnydBO4J*ugQFF^pW=aTo0>f9!7Z@|Rl|8%c`nKF@ zg45I9Tk+?okI&3c@aOV@l5u!*8^%O(mWKJh@y~c=?$n$MLFJ7Zx+T;-Ry)H9whcMn z7SP!Zm0|8QKYIpTUnG}xT|xtQ096y06GTncEAM#b)f!rzVO~m#zUc0l9v^0r9&Y^* z4CIt5F|bd^(WTiCuS38sQvG%N6wu2&Hl}|biV7e)PF^;t<3arUhka2=%5X#@=Y5t3 zS&L-_HY<;-x~OXE&z{n|I6aT-sbqcHn^Bv@#xEmTT1MZdmm%g3Ru*3yKg+!@aRQfK z@`E>DMff3&$UTj+p7x?2Ls%lP=>i|SO5udgPNWOIVKP_~^ zoilPt!x3RI#Yn-r7NT@~?2Nb*7v{Nv&aE&Fs6-;3%&QpM?#R(7B#*dBHmHq-vMCKt;?uIo63l2&{liQ7x5mg#+# z`V4sFcyXk%o007FPgu9SZyW=n7MrY_9tBo&CGHnhESRSkg}Exv|Jnp8tikM}aB}Dg zNPyAkwlWm(4zCGEWI^s($xH6-4HDdK4Zo=jhrVpIg@KOta3kke-CJkd#V-Ce`zATJ zgQ5tH@}e^V2bEn(m{y>mIU3c5(LBw%x8jdI(dzd={ULh}9F{ZaeAoPCzn|@$qcV-c zvSZ5P-6PE*oC7fd(tqfSm>}3(vd)9PyAF+%;PUQ8Z|#q&6YMiMa|c=A*{wDJ5BD|xajntFZx89S>SM#Uc;n&lNCR5IiKY}letbNKC z;#W8$-_r0xHge8;ZhNNdmJ{Ni&0ALbjR*ks@Am?|HnxJ~Jf%rfN;J6KQB)TDfm26B zKjxS^1xv&4K7>2%21?S{RRwSO2QS>8HwBR^7Oc4HXh5lxE*vnj58V9S3Z$?uG*pA5tz>e8xcNX6sQF#5@UP)clX4$BI~p@B z6FA&%uTLd+^4w|#tb1Qkan@g3$&_a+%vnQ(@!DzfoQgQN%;4=;5umZKGtJtR)++kR z%A?)*D%V8{nC;ptJO$j667@sVb9o67_JzvIUKtPT^bx%87=U&#=+Z>KD=}qbicvB! z+!Jht--NaWzEGnn@$-RWYD#?_>YB6Qr4S;U1xkL!=JiioU`ereB=YoV4)@hsS1z3; zJcXrl$G461i~}oiKncEa=^yrsJLfnlaY-j<=gyucAH4NfyK5SM5aQUB4elTHYA$Z?IrJOM)jFw?BN zX?MEe_uW$E$zDKBYYqL#f3>bArfqvNxh3*V3Lhc)4p9$}&6ps%nA_0m1Bz1JPEK&(a1ajqpD<1<=-f(NV@7lZ?o4b3%td zNpbm#)i0FA+cwG={&JC|GlQ*5;&yS6dsDuh8oXb}${&LFA66aPDM`8BAGsR0>8F>u zPK79PEhh*~2}49RWS}(`{TZvOK`VopHW z*`c$Lg=}p`I=`v$)K#Wba@5(pS=`D@xVqe*397&!n{g!Y!09{-0MYva$1xY@mOUT) zY(Z|0H%krzi=RZl)?-ZeB%(X$^j*VmWaAA!s zG6eH@xQ=*X43Q`0xx9F878eg-^wJ<1)(E((t@4SJd7*3?DewV$Oli>ti<#M7kST3$ z_yL;2FQ#sK7nxmo#mehJ>;-nyyOap>2ruwZT8!b=7ejg_`oqnNWzgAb$-$TnaKEu1 zG$U$vG^-62h@3sK^% zWSRoBz@=#{T3_V0+QZXL16D8PvbEm$-3N|k$Z%O06$1g+4H2vU{x8s+;C-7nn7=8U z=*}ktkEGil^RG`a{59@)yi*E(V$%7Yqj1Ob>n!3Ob`1YHFdyE|AL`L4D~5~D-ClVd z5+-&ETsCgqREV!Xm%krjB@?ZB*YcMdR%x69V@DrP-+i5bMA@UqBPW-+g{Do6NU=NB z;7yHqaD4?4j9UF8T~O)w;BV>IO|$V8O;brxPf2UBuyp={pE4}4!B?}C+Zx}nh794v z?@Cm))c$$mrdNxlbw& zj$!vpR2rK;LFgWxJJQZ%aQI;fkJDAIWa?0iE%Gc&mEshrl=25z=b!v4)t~;b=B`Hp zd(&@4k&t2|uRP1VO2^6arDM^JjtmbvNIZJV!U6O>>ZR@F9v24`v=XC~q?Vj2E_RAW zR%!*!siVu&Z$XMyUa0{E=wE8yN4!5dER4B%I_jd;V=e?F)$Fke!ND8cTDx8utxDhPeq?>K;GcxwpdB0Y;7g5u{Q7F%!c+Ma80b6<1Ld|4jCCt z=Gm9eqq>5Wls%!$Km0Y-6CAvs3MsxQKBX9pT%S_nTu#tbWM7WD_yRqQDKLt}Xq&?& zX*Ve+C_ZX5=`Rml^2Pq*Kk9g~WwLkl@yWoVVSgW^1g_|P<;T>S^=;o? zAMY9K6GE!WBkxUx`H}-mjVyT9HguIFB=rx&+zf5P1K%w%PV&8J<es252FP$tl5uTFjhW`e@hxXLX!k(crs<;u_Y?e#cY1`YL|QxF z36Xrr%sWN3vrg4-Zg8`6?sW1;MgG>x_gnRYxEI4wuynyD^jN`%M}(5JdxA2dq?UO6OgA3QgRuC;0>8s(U#g0nTjRI> zD?_ce`mWQ<_^3qPulyh!O{_+&>!riCkDpBY>BWg6oZjo~4`=A$-4X65q}i(He&WsA zT_jyQWj9|+d~-l;jk5RkgVN7(4m0=pn2A-2tbA|^R!@EWGLh3aSeLz6STW`OP0RXY zQ#wQ8%u)hzrhApvRcC>{W%;9?gk542q)Amb1M_a{M#g}%z>XN&4hCO(jOU&|g!2$2L6EPjj=btzP1=iXJ4u?tE z{#ekPpOb{{Jn1KMpYQax`}#{?G>X3dnq%asVRqMkYu)SS4@#%k!d#~Mx~ApRC`-Zm z_#gKO+06kx$`zV;3@Vho;NK=Dzy1d-(WD4k(EEQ6;xLn{ad%9&j91T|U+$HM6X}n_ zcU_WV+|Tezay$ddC!!FFXEa~@pmxwYL%$XK^A_ji37x6S5_Pw{Pu=@;dhB%%nrbX zdwwsc1N>z2bCS2(qRqd?WoI3FsBg!H2^1sMdXe|+4j-}qRfh3111MR^y4{`J;<^4N zuxOCnu}W{B^F~ygSSpjN@V=zV51>1m{=UEJi9p=S^8tJHdHa%y(4)sEFukd;l|O)4 zc7T|R&FT7ea>}xwNPa>J`CM-IMesgfkt^+BWyWaSXen}$%z+!guZ^e8zLuCD=Wx+$ zHVi2-!dDs@!SmQ4FeWZu>%J*?(MSSEN+T~uPMyZ!EOV%y_JI!og@zrsXUwx3U*bN% za!=RUbA7`-QNCPiXLs?$4@@?^U^fp!ts=aZ{mH|}r+#%Be3K!#+E6uFoS$?1#)+s# zcvR%f0GoxgSZW6#xLF(O-NfbesbM)?24JfF+du=BX!W+DZ8)QJFe{B zHfDZzPKD`vd(^V@ikV3}8@yGq{F7of%zCb}l(O(w;wcWDsT&*;b$>-Vv43-3CwXQ#B>qlSsg9&Y~=YU?ynkrWde-YsssJs zwYZiN`oL7?!x`+)r$4=E3jR0CTZYQx=G-VPD+G=uCwflw+_jbg?)Z(xo=q}z?)QH} zun+5=gmH}(4VYvHx`j|DR-E%8RgWq^bpzpz@BDvUeRWinUDy7j(v66SfP?}PQbTtM z2sm_zq%a^zBaI*_Al;qP9num5(jg(;DK&IT{LaAhe&753)?&H*XJ*dXaqVkg``qWI zqwyy+kL_MTz#Z~}g#DkmZM!)xoNjb(lc3LD9fl;P&JOCLZmSWzwPrn%)FR622SBp} z8aL2lq>o_t{QQ$QRHU5haPCY+Nn&R>`5GLnJWVdcV*z2x!?agr7eM5k{M?@I$frS1 zI7!(=kQ|>rIe7a~!zcUs)2|S#CdUqhE4E&bU4}NX!@$Fo>v;wSfjlEyXdGGSE34#L z{th1c*{glOr2?X(G><3? zYK=AvPKaVV_JkjQ+FKtGpm;n> z8|!z-BiE&Hz8tP@IGcD2wPMkpEp!{ML7B4RKPqUkeI*}Dkw*{Krf{2t@A6EtEvV=C za`cMa&YIj?BX@KTmR-ks>oEsHKyRs+!ts~h_54KOXvD_R@_Ms5m@;6@dxNCCHu5d? zQIH$hC-^ueHYR;?atzZ8wR4NCCfvy>eRA*NP3(iCHd~>{@`KmIM{WB??!6Dpj(+~}N2owm8ymlWdJ$lLqQ$&p7q zv?1RiR)>-WJq2eomIwY_x$ynrsxZX-MM1RQ^-jqj3q=Rg0ce?*z&_z~03SZ}hL%wU zLA5q~R)tD=OX6g>*iVrQMt(~49#p@CIz}v6gN8@FB9AxxSpOq$cJar`&N+(WqV}uZ!)>^bL=_`HR5<2+`ErNN8im!S zsi^T&Yr_TEcj$}tbPc+4bEM|@t9!z|Q%$+wo8Ai=Ap%+G*P!>%@1<7@rPIJNKf9YX zYsfF|nrZII3dmXx6F2Ex<*X`;BU$WJaL)C}xX9EV7f4JfN)Y#>PrJfLqo!{&fA_!l zuHr&83fi9h_UuWF?nw-GvApR2d{kOS!F@iZ-@tvLdYV0gRYhA!i6uDu=3{QgE6#W;4R5l%Weic>%>)|vMsmv6zMPc zpq`lDo5QJR-}v2rwjsXU!ee2@*r7oWE`HHQs27XO9egimlCKw+EKO##uxL| z;;J%)37C`XCG$1%mo?@CJlf_x{gF1-l6y~txZ9?Ete5A^T3G>@bdK%@k}w~=$mIz> za9Fr7gZ+4$w`vB3VVxw$B&|7=i4weM@=6;_8Rr$nb;xVlil{ZT%~Bro`>V zv2=SQq;S~GWTXXM30K6Jm;Y1WIO=}we60S+e4?_#sSL0~eIycO&e{%(DkzvX4Gd?j zqO$bSqI}#0dxK2l<6b?gRMnbi)e zz)t6P7Fu8Z2z$Gl==Mx`0BpgL{??Vd22uQxZ_}I1rmwa-cSA^>9J&Q=H5uo5ZjhD)y zWV8oJfy_ELK~TxAzD;AbnkXw=2q_QTY>9>jU*TVO540TDMHWAfB_Z3Kk)3+Hzjv_3 ztbv_!{}b7_#i%R-Lh|-_L^Su~;VL!@?1z4Wc(pKQ2Or$4Cl8?;n4mbs-DX(=Hj0$1 zfaaV!3lGwX0v6vQUQMv`Jjw8<0{e&Dleof1hBHh2O*o@WWpT96D>Ei?Ef%v&eL;KZ z=Sxk=gDke-8>4rM;^?h9CE+^PDmI>X6$!iYAn@_ z33*EVlr_HG$c+Q>yNIK`xpfaXUUGTi*7NU> zH>`<8fm8u1i-#8D$wq_v#cfrQwbFh`7ul*1Iy>FkKi^W5hsNtXU!}))Db^&U1SKb7Ih-^JYPd??eUg zHmvy9STz9DvWdjUt->2p!#i3cE4E0Kp_1r!?>oSyIKD3VI3?OHnIpcYZ~xEdH~8By zrM~oNkU8p+1IoHpOcFznz3Ny0l#<7>gM@w{p8al5=@Z6|YLksD+p6Fq^^2%SLib2P zu!93&;XCTLQE37)$-p3J%=)C_=@}!aEBh>v9lF&S96!PP!^)qTCa?cUl11?y7&opM zlLIX3j<0+un+$Rlu)MjVTPO9y8SLq*1NK~&j@P8OupC$)uC5Uow^t@2^D!Rq7o}CN z`f$g9hJnLTzM15_kE0fuLC_5VXh^C!a}zwBJDQKSIde-Muj!RcU+#Ch2`%srThhe( z(0BBPg{H=b=fJPlL#{5xgt!qiSIeD6lmYigrlM`0{F`MobHT{P_+PZtpd7tkyVwk_ zCz0;9H`by%W<73}WN(e24wXo`pW;wMkBBai?=H#xutH8|@h>)jIB6t9dYSO--W0jW z!*(X#OE=or=rJ?!tDkr&s0;!rNnhRvi3K(HvLUA*J<}A9UznWs&xlQJC-aoXq!`gd z+|!5FzsOQxQig>3_#)Le${RqDyrMdS+p@P$wf|(wq#V~7*wXE<5jb%7gL`vMrj1I; zLRm=V{M^6~I5&maW?Z^JEYTND3a+FPuuL8UsEKoSlN>%G|DFOc}I=rowZAY7LA99}u!hv7OKBc6++HBKj+NVf{grD9)*D-Y$6~lQrY* z>a3?-r2iWSC$|$Qk7q}1l`q=LDn3m(ALvy_)w1ag__Q=6KDS#)XY-DtcwR#WCI#D| zP%tzTZ=)wGp*wds#9KKFApXCY*tvZk(z1V~(o8Mpu7AUPgz2;$G}K)X{dB4oQJ?ShwI5_CXSEq#dgP(vm$uf`BH?oH66lp*ZKWbgP5kIPra?1mW9>LiQ5-~{ zsuxL@lT2oB@$KXM9}>o7_uP^2-Gx&bWY6pnk2BjEr7UWTB5{3ST)K?Rx*P~@d@^UR({~ZscUy(v$!`s_{tzZtC#!}RrOL{ZF zl$qM>E!GhU(Hq#3($|2fNX}{Zll-?oyw&>*0i(@D8Bqxg8uC+W|mWC$x!_VG7 znM8z|yht(0zv17^QMc{+mSSqf!!i|cuz-USEE^;?L9(A@0}+Rd*b(8Z$b&^}|X{%wc(!;ad>Qpt3*+f-ncPckT6XXNkx>FqK zBYC-njkAF^KQ{X(cy$p}T>M9vlatz8mNW#p%N{pBxzx37FOnti<` zocQXi-9Uv(c2Kez$z}NVb)J6z)WXu*YrQ%gVYn4lia8N z6xf`-TSAba4=qj~Ebkgo#{!V#K!hlS#IrX#zSd20upIfmu--h#I`aNdA}hov)Ca%g z25g&jkRdI3#qvIc8h7*zt0OXEQT8hCL_-#v$=!>`fd{0Jyxe?wx;)fN^6oYM-EZl8{e z2{4WKCtUsnk5FQb-d287R6YuH58&)p_&-P>X}nS0{4ZL!!gg8dT$;nNHQD-z4u<1r zj^LGvGJMpb8gH;P%5pB#hO5OA?(@_Oyqj*BYB4j}uML~J(d`J&j&E}czrqmS->*p~ z%~I%Y;LK5R?bb5gsY18nBd7~wS!OUqeCuNPD<3rfk+))SLMtmY6C;0ep0H2rEvXIG=fss@~|9`1I}(>`VVZOF>oS@zfs2CK99(uM+^m|cso?z z72AlvEgoaH*_2%Ndrt%PL#g{{&DjC)(BF+9La8|EGCY#(KH3PQOYog z{u}Kei+3G&FM{_>mLeDt%@1gwFc2@0o~^t=s|HuxNfI^|F)bb{3^c-)A1h|YwOUAI zuytI$1Yh^JI)o2|ubNBG3@^L#3I{(dF}~_Hn=ednEaJSDA$E;*u3=pzn@aW+w-;vs z4GqTd?7lG?2({JrN_qJnNy)GiOgSkXrYV?VR{1DyYo`#sST;4)m(@oFZ z>H1r*wZ@nCBV3`vbGX@)2Tuo>mw)(C=$}8tjCflN8^t^0UWi7g&uOgHw7f? zUyuG98B~iXNAzr#_sB?GOeIl_r3kiCML|$BD8FJJ6PP9%1if0+I#&@gX)A90`7gfS zy$vj?ci!Vv{VgkX?AalX9oD^6S(0z)rg7|+BmxK}QBHcn0sdKh#}4|AnMZp*mCw$( z$4C7pDCqSjq%vKzf+aUFv2QZ>Eb2DCyaUlLvByW}E7j-yX**R6W)+qrUeOvDyJ7rr z)Y`5gt2JUK-FL4QIIx7zm|jn^>nC8B4829P2ZTS~J-^|IGkC*2g^*g$z1d*G!%6>TCs`-)SqOjvx@_28uLcDtn+^3h17u9m-;1Yv zknTp7lGObF0`25d6!T_dAJiGLll>?*2wQ8f(_C+G)O`lNRX;aP2EI5jH|kz!`w{T$;J^>c+m!qg=g|8fEBMw+1yiTP)H$H=obRB!a@!b+pai) zJl+*XyB)WN(!p_;pVF=H8xpwBa7*7D=^p<|`++%nZKmHcIIxxSB!GQf2OSo_Yg8k! z;~h^uM*(S#V1MCTK;lZ1_5>W+L>$v2E+kLHd?qU_8q$E^6nG32{eL9l>9Qrw~OcWgM9)wDdE52jHQRwKv+m4eJh(sV&fYlUNEl zN9$}^kAi#+k^2xdUjM@CacFpBjg~SLL)>=M-sXqy9TA2XF-XC}*pt44y*HSX7U%u< zJ5p`P#t$EKP0MAszVNR6#P^=M0CRdkFoESeRf?X$Qwrn4;Tkzt1xaZc?!ZaQrYh zY_ZY)V_rEMH-<_nzzn()XVqH=rUi42yU*m62=p<1c=Qm;fNE!0n-G5jb{z?Z4oi!O z)2(kw{yX^lEbJTlZzUQ?yJp0b{~D1;mgfzS>WyQ#RsScB=;kEYj1-;67f zpLug@2jSmk5;X1*-W^5*^gn3ElK9OaF1nV%$2+EFQotiJW2riT92#a;_ix)S&zmIR zYfb+1^aubUvSk(KzO}-iZz=I(6iZcQml@?L8s?993GSeYmDbOO%Ykh~-RgW}VhLc% zE=38F(=vLL?4WMmumwqi&c=;y;yH7vb#LJ?5@5D~BNX;@f^-M7m7OO737w#~THdp9 zbaMd1ixYI`SpO$L;Q!I1I?=$6;J++hxS9F^=Td&X#jQ%_BxU-Gs9indjX~a2Chm~= zFgxQ$-A=x6SvYw5t7{sFX{$&v4M(%s1h0wT#?3wbs=OiuvaWrj>;qQSL36{ZC|`iC zEneA^XhaWgT5y=x;$A8kU+dzGD%TQe*ag0-_l8xmLH32q8sg$oNrs~BAb8}KEX%@3 z+KJ41!|)p?NyDZ^FFm}5-#1vGV}J&cOQF%Ruae2hcACPu0q9>M6GRjlcMLSSFmm-! zE_;G)#{T2w^jp}-T_%{AYA z<8-<9NTt=gA%gE33UJVtNHqa2|+tp#KK7tHl_hZ?Fhk43gG$O*7dou!pPkZ_2I)awU|a z<5bKTOUdl$a^M^zPjAqpmOm|&k^~g*cKhFa_65TYH}ec}57bL8^4MrCZp4bRjLN%- z0c%t+q({Oi64aL?0@%T{U$RsOJW|3^Wn&usQ9dZeGsyS0yuSx16po*^BKv~Oz}t~l zM_|31K_k9lz{z1Fj~yCa63q4fOA9alEEi~z;+5%{al%8@uCchi3}<$0(k-JmV_m^4 z0kUJfdKpA3@r1$Kl*f~F+v8&fI;_7T-jZ}lH0raPyLg3P%O{N zF}xPAZ%fl;y}x)k7QAOnOH(t3@4a0B%{nMPvyS;1{uW@}*>lvxInis}HdxkqyDyQw ztL(QscVH||w#zmgw{bKb+#m6w<7mpidL*acJ#N>N;p0(0EvCa zKY11XCR)YQ5bymrUIX`If?Z8zznKsnMD{Kd8N{<)QG*eX%R6@t159Qzn4V@zZ`3C` z7dDqt3Z5#%EUV-{Vjr&x2fe{`X|_mmcN^7-_hG+7^`Irs`IOYBnLM6kkq&s=7=@4`kUG#2ovN(gxpzSj2vRB`feK#%&$KAep(KxQtqcC z>yA4U^P^eP*|P-V)~{lVq0wju&2sZUU#YxvkB`?g9*Wpqj{0P9{jTHc3|_xD5nqfo z{M%;_Yy%v-Od-;n>JN6w58^)k(2h~H)b3E&hH>@K5XBIu-->lvqyOx8pq|=Ag2er}yy*wTmfNd^T9y(E#v z6o;op)Iu$awwFmTyQ-Er3F4OUHxqF_V3;Sdx^2`UMu_Z~!J zKP{l~nnlaRqw#8bIrX@R8?QuxJcWW+SfHYDT+@nCuVAg)B^O*7!nNZ)$kWdLo+sHI zvylPW!*ul#o`t>hMPdY%1=)gF+voXeuN4;q4TsL9m996(*bKCjO^yw`Fa{I=5~RAd z7am(J>oHjx;c4q*y~ne2)@YPZCEq_(anLx<|E}buOG!BM96lL+irDH*RT2>(#f{;WUgWAVRnZ}0z9=SYZZ8Mu|3fm?bH4s-NARe-Z zr!YA)QBg7aW5BIm-Q_QQ)C!aK7*wkAwM<-hq?oB<+d}6idAj7jOkOL{Q&}pHJyWIF zF4?rhJ0qWjFqw_pA;}&i+RWSct6xGe>#0xXKtJj1t=0(4l9zPl5!1$4 z*j&XP8Ax}>>#$5eX7YbZqkk8pwkMY{!^@wb|7(86kBB-+JNjTh0dP9GPBnxB!iw#} zruAA>T$|u_1L8LuSXyLuHh2wT>DM^-)8_0JR%(}g!m)Iavi&t2Q4UH*d3c0D7XjfD z)BDP)GRdBp8DU@Kc^-BvcIvEZV|vlv^Vz$v3=JZAI^5dp7U$f`bh`2DG;nF;yYg7~ z-b&j7k2F*d%A6CuQVE`eh-nR+<13IatlRxkNVl(Cnt-v8s4C)p=E2)B95{L}1e}Vw zJ2S4-jt8MmDj71-Z#}pCIVOd;ulKRU`8Q%uBRb$IH|*wf)IJ1_m;nUh7z!a@E3)HN zu0MZ0kl_)pcuNy_i!3^J^$2F zPEC{a;*Ojj?Ne~Og*$kR)LBb2+m}Zfy37(8vDY~hpW}O0xx2fcGS<|%c6ERbEujl3 zp%2kZ;%yXU&xv+U&YeA#a9%Gp(|ql-`#L{W>=UNDW}Y+b1vbWeLUI|Mc6rRTSCY>^ zQ9F{VQR7NICbBOgM}#n|W;@eW2dcH20qcvO(meyQltfFCGufT+aJE#JAvS)2qpbc1 z)r>B6yT&&R)0}TbO56d0#(q61duC~K4pHff=i;({u$Pjj5_ykg#9k|@Nc!Z6ONxp{ zMhK-dHl%mSbSbLLcJgM37l1n{M(ATUeUVS!e_A|r$q?qecy_vs^iBK1N_gv<^dyr> z8F*H+!GJ4#)Tib?e5~CQYdgB);wkwD+Sl}=VcE+Ogm<`Jsv&nGLkmHmZwLgh7_1B~ zj1he)AUfiK{xvsnnUVR>e!Clf+S}cjbU{=c+kQHa=op`e`YtSmY$~wSoS)w9>DGAg z4D+2=LK@wBZf2&uXR>ym}<(m+$r2fA>M&bEB4sJ=eQ5@FtTkMKx?;&jig(Hs!PVqy!(8|5!t9`$UG4l>TRy8X zEAvItonSIuDKwg&YxbA%dq|rv!PVo&&#a<$*)y^|(E@zRbpjice;g?;#|^ql&3z6s z^K%)^^&RV5_+R$@VxAXIW|Dq*T3+tPm-%|o*dH6Y1rIf3O26%WGYr>;jzeWgq$X&G zxK*l1r-H{F~?U*t$C62Zq5)VgRF`ka{ z)*rP0{7MlMwIo2F%}Nr}+D&%U4;sed9PD9MdMK;O>~lMXc!9QHf-5FBzoXb+Pm=0g z+Oll;Q^tj+l&z%BEfi8+Bz>$?MxrdY%8X92GDL}SB*YH3wAuB#|@vU#dfkH)MyM|ph60l4d&BMtdQE~#?SS2+{R6^>{_1^dHdVSsr()Dl@#@=SWu8 zR~U1JV^D{rJuzi_+pq6PrkdenV#o+--XrzjZSmJ%SUWPl`!L>DB z4zW%sFZ3-1;h**pjt9)7ceE_PQ_?h=93xTH$^MGxIOe;=4R=^%hzT@3R+z6HB=G_o z9u(3cSKp+Lj19c`}iR3*EV+R%Z^ot)~mCS?LNOD5?MV0 zR58)hYfKuSY9D`46e8}$m+e9Iw00yGu9N zl{qYH&+n@t*Bx05kAQQ&O4eq4aN26r679|luX}mVz>>`@n1=&%sTgw^)~Fogr(vq7 z>|rSWOB2p7@W~OBVO$2kL6rcpeWi61Dh$8X^NW7*O=5oxS(aky-u)5M_cdkvMCy2; zI!NQG)v|E-7s=}FN5?`lOw&r}z#dCw&8pmP~cbzm_><8UmvoAfGoHqupJ&p`I|*KjB`Og33avDJT0~laT=4>HG%{F{ z%d>s+1ZV{4^%$yDRFewZS6>dSNDCCtHqD=3GC2%5G^EqzVwwfgwMNj;Q2EfqBQg@$ zA$4WHMx_cuG}f+q&=GpV)+d{;x_YyAC!3%cnE;khz_seorr`Ecdp-M30j3SL&$WEL z_X_0=`sL1e)jwtA?avkOZdWmWrPN17MUzCv)UJQe7!B{8^|>v$S{WU$r)`pMv}(We z7Qf|?`0e&V`|)csOWZCmV=?aFO2YkM_QpT!#Sp8l*@;ruvXwElX~nT|a*+ zx?G05XIDa-QG#^)VVx2g_0Pd$M>*j6h?VXOTbTO~HWB8LFS7M|nu(s+z_1p6+_XL- z%h;!P8~KMVvsME8rBP5FQN&)Bnrm{T&=88r^J?S==EI){efI=U$_A_(NFAl13zaG6 zonXsBDj6nmz%D`B*&*wu+lPF$7(t~kzLh*fx?QfYnm-ebk800Py|x9&W}h2om}6ZQ z)1Sl>Txr+#n5&i=MKzYzPAINPB{Lmd!Y^D_5o7pndjlmke}8%!GvzpZZr3QJ>z+<8 zB7k3y;%u^}Q;;W`5OkQ<9K3}#ZLjkP(TMXZn91@uXey85GrkjFhtTNRj^T0Y@cx!X zVj8t264N|FB$4?=O49L@5cNTWRi(|(6DC`12PPbi_`Uq4{Y&hW%Xz=AB(7JAvQmsv z7#_u{_w%0F#;$WyY?kjMFK7yd=v{0w3G%4xy{YR?Vr=Brvg74DqE0W`^Wz2Z)v&-c zGLYtu)={ZgPplzLFoJ>vFBQoLgz$JJV%b!NPuX06_W744Jp@ngJi{Kg6~`0L$F#YF za%(!3`^a>nOW+>mtjH#vdS0cp|GnI~ihAx@U4gt~^!f?KWwD`Mg@N7o^pCzG-{^7~ zsV}l5fvT6^O$OkKqftDW45sq_ie486Wtljra#Fl{Sp)M=H|wM8IF(k2HhvTPoNEhuS3)%5((jy`Kc0r?_U`FRDo?9 z6a1p#4U>gO5cX>zIBJa~iJ4@d5EXHOJ0TzD_4deH5ZnCA({7B`NQgwA8qOzO|6G1; zJD$O=+mx^E2Weq_Hk-0tfm^GvObsT|(URSmJ%0XxQM~e*yMJ}ha|G7@)pLZ@3OvH_ zDf^H@NAFJw-bj}6T42+IjWx(o>8^m+Z*V9WqS7HDJyn-N4_|D*GY0-hwyCknR@LMd*+Wh74TalP54#xu2_T z8&CLisfm4}c00aE!Gi3frf!rlY(6%Y#zt-L?Bl8V*@C|oU|X~9^NRvXOl$Jm~T z8DZMAfyJwjAe?^@eJvUJ>zhS7iDMC10~STy5RL@s?|aLqzs2iyI$dGo_}?rtaN_&6 zn=2^itp6_HCJ^_?b_YZS6Eqf#L}}kIC+nmwt9_Iwm&p>n{nPI%W9c_5!s+y|d7%Qc zI$A{_Ou@I|BeE%oMjiF=cCa;15F^i7KztsyayhpM1f} zlb+ewIqF?@(l?w6_%Qe;3lhHG!^6U0Jn^KY#?3|y z!wOsNrP?dLmh7cDrbPKkhIR2l55N5AfM{pFy-qE0ZRcnGR+x+8P6=+lHAnH8Zl~Qs#~yq3w=acNC&d`pRJh?xWn)-b15-e-hsBYC$%%j}f~L z=z83Ad=VkweAjJk-xwr9#lm1Cq|;Z$GU&=X{Bkb1;ozittGLR%gy&m?C<>vXnm8{> z?SOeP50%&R_xGQ?=z+Jvl@(NNo|qDy5BpUbi()9e{e-zqeA*hABTJ#)tvEg%*5Ag-|0oPGFGJ_6OX`h3qG~l#-8Yry@DojaVEhfZg zf!QSK4OtMVIZVh^ur5xRjxk-i(dp53|7`w=E@0W{@pHx16xDR343>(My>)k8b4oTG>-9?u4F$`o#o&nu}ddK$WC z_rCTO_5{KtA|vF)LF4zI)P_C@o?DJB?CDN_T_{{J8g2Qw)C?IM3#K)nNA{?K}((7%H*`M?4TV_|)l)Xi^YnYr2TE0J) zLU{dBpYt=IvaCrWvmC2vyL47lAsD7rcG#Sk`bM@@Pi?e{s_$3!O>2}AgAAbS7bGUH zvE@>pR|o887`jy(Ug#S+m1IuYA5Mkz{qA()3#$*xzYkY=h7p59*b<>s7nD}{J^Z}w zvPsC=(OLieXLnogvta2(@tbnb;zR%5_ekRxwExoOZllqghsCoWG?kU1n%tlx2eN!! z;peb&gDzg_d|94{%nY08#7d7?T@c0if*1RphX>uJd|}z*|7N^`9FmVyt}NDYnpKwv z5uLdzx{p*`x_A6^6=2cb0`(5ZcL)^sG9#Z|Bg{AkW2|RS-f(kb&J^#iyrkZ~Uos?g zz*)hu(3g&7t2&f0Nav5eV7f=Vk)tT$iyp5zB>y`)iU_9i+yGWvlA5#Az{>-QsRG;?pbJsMBwmB?$G8sn*Pkdgk4g{wEBQFMlFM9C zn+&5;-Gc5_ zs%ETg0kN2p2EZUeTx1!!#s=(wesxdM*~I9?+jEmrXLqY(OuNxlj1+4|QB;(GfZ*oW z;|Hx=z}6%>R$Yv0{*YQ?mAEUNF6!y3cr=#Fz_cEg^AtXw4BF-V9s5hSb-_J-{R7lx ze*cG19~0s&Gd(k@f^U3!w%~oj6t8KRGBlSVg9?*icWZjWb9mu1YhcYgWMx}0l>tUc zo0R=dye=vr#?7WnTs0Q|Rlz~qt$bzQTWBf~cP9Jkici9Q@lyp1e+))h1jOtv9s?Qd z`7-sO1>}pK0=Xm6HYB}KI~PBi2U*DhDxj$DVr`Q2ABGZJg;0df|59I5nmR(BtmbvS z>$MwoqcU(Tx&MQ%clP4T%l97)5sX*PFn4>n85~LE;m&g4AELEIaJAe9^v{$1tU-|; z^EtAKMxIg+$BwHX6p01lHXh98ivY%M^)exlMi8SvI{L&Q|f{rvSBK$EzAP6eh(zQ_<>- zTEt?`$eiW+*(-`+A_edu7b|g;;GWfI{@J86gN2Vx%Jv2pergihH`;AdDgXmPrPpL~ zDVp_|ERWBWN%ao5<|rqcs+aa>g#NAx_+5(fJYc3*jRqvHReqg^B0sPs1Vd4bd}ua~ z@?p$hR0XC;%2Ji|UJ7+008+#oCHg5zt(E`a^Wr+9d%AA{TOykUkoXT&iS^E8g}9)4 zy`VAbQ_psw>htAr^d|!(yk7xn87h*FqVi)%k3&X1G-}Ov+w~p^C8Ea7aR33j?}`^$ zJyFF}j6m)b2Cc`(sN#P@jP4LV^W2VFA^~D#^EW2DWNWJLKHL&XbNAsyis|lHM=I8O zxihkI#DrpzRH6t79pIw>sq*tOUPqPtyZg-xN8tg!rtwZuX5#-Eh2(EnpMr-JunhHY z^%%jyW9&0u4)z#*C{Zd{DkNfPMkdg0mV4O|mm8<`fP+vz~^!=2psseP=4L07WdrusI%j>u&JX9sr+1jhuvmD6!6S$CWgk@BmL66qgFQ2^hE^GMvN zs_{c6exC*o-HiF=-R!d`6qL~3!d`o^slb{WqPpM)sLsMG>wLBRqSF=GTJG}`h=$0t-DM_r z@$6JZ{Y+Tko{VZ)5-6}3bAn1@pz|UmR%Wkbhgb>p1_>HfG91iwyYMURm>82(lByFe zit~Cj-enqLO*%_u@{i0W^7^HY?o(x_{OTJ}^gx-%1f0HDYTCeAGw;KSrJ!{VdOo*$ zqO%c~!40}>#{v`6H=~YnLhR}5$P6!Xt@kcpREsn&9;1)pkldRYH+bbNp@vC)VUfr1 ziX$dynz*hkTrPX=q;kU9$=RqbHMhL9kZEQlvkytW7SJ`XP$xe~j|L=YOj8iH*tE}x zg5E+eCfI#A)9iFo#yh-6&a6nVk|;X3ysvR+Vgp@O927fu4NW#5X_B2G+yza8H}1+B9z;~#U=;4`=UCG9R`b0#uxTk zjk>$E>8}Y%;AaP3r1orm04xjgyRa-Oz#hWxE@F3fB4Bxi@JgiAwmG{(txv>l zt?G!N$@d5N#zH8H0!VVFM7B9(l=K<;7iaL=gY?%*8gQcF<{eM8zQ+$bKV<}wiV+Ya zB})_nVr8g5hB}C1P{NsOTD3IDON~L_?L#mN1?7iVg(c)IY};h=CwzA=#^m~hHg;!w zLTHX%7bi+MQjV_SXVM(##5q)Yqh_{aEXT@fDW2Ek=q$-Ktyw#!{SE}Fx`b=vE{9=K zD1P~1BWKrUYI5iJv^&#FZK zv4P?L*g(YsTp6RS(XN1{ac$9a(A2bW7HSDpSdJ|h+gNspYV@u{{&(eA*$*NAWQg>ZA2JrxzR?SI9bSRRtX14iUo?EG z(|lZRc%U@U7s^_DdBs(4^0r&E^qbEC6(isjD1_8We0Ri3zeSZ%(P=k~51L6Ry%%-S zuPtFdVfvsI*MnI=T7YRG%c}?SwU9M=Jyl&hNl5{x9(_95U~{<MZex- z7s=NIDD3*glS6T~KlRjCHRwU%eoTd=M+ju9)GBtcs!txoFU*AW)swM^Ozv$-^Gr8* zyhIS0iStr|w`+XH$QO5dEa?-4Lu_zu{)M=;_cW02L`0-~x}?xF-SjCd;Mc#hL6MWz zyhgp4bsq2iSbdU4MUw{3BCFBfRNVD4qZ;o=zfeYMS*1fb>=Nke@}#Fe^CIK)F7S@i zRQ%F}f%zZ1Qv9gx4xuqhJ?opN>g6y{}x&|#|Z^X_j3rq)EBEimUyrmG)aZK!JBcdFZXDxDRu1j z`cvGeBFjOqBteslMH2}78Mv3L)RO*$sfeEi7l>Phv~Z$9{ZA`}U%Hh|)EN_^1dTv~ zf;`Ozr639y=!M{I8srbNmx2Te?SI~}mp~Si-5I3jS{?TF=|#*x60KGm%dN84gMK}s zC(~|DKabEgz=f@#^g%3kk8-?4hSp2%S0BKDb*+y{UZe#4 zB{jzJ_QKnIV3~7{Y!7Zzl<+1+MZ-`wK{-A1{L6~pTPWY-v!wZ2Q%w|!nKS=`Q`J6S zD^`7La?@~0h$Uq>x~EG86(3B_7Y{Ie7|$X z6oKJYcORI%o*ocXD?-rnKyt1`>y-Du5B`{fxC`1I?WH8*m(*PT@tZd3jjEV0Wr>D? zb86}N{=j(GuT;C@p_{HKGSvtbENP&cb?e*N^v z(;&)^Tf&cPFN`{lq`~WZJi4wXLi$$xX(c3iNoL8X2aR$WXuwW9?%yF4lT=huR%-C1 zTL{<4`HprMbT3SBGOrqfe$9IichOjat2k93a5#Oaxd*qxG?N8_nO8myV=iV)@F;m( zS)t6swtq+_Hw2YQZoLzRj1bZ9-P+KRKKSkr`0hd{;s@?uN1m<5YS^`T$FZ@*IwS+m zM~DLSi44$YQu~NNQIt7UeJ?9s#1KQ4m{zB+FFI|T%Ck{prM}DZ9KC0{O;_T{4{K@y zL!})* zz)aoHxh!fpXLlPjVnb#b6GH`9JZfOqh>))&0^rSL+<(Ktd?*HGLwT*8pH;Bj%%5rUfepY4y|hN3<4L|Cq7Nx~cC7_VpQ*k@D5|J} zVOJ6fD7WB1><;IU{xY?pHx1oLEk`orcCqq~`bVxdVx(XUuSO~kbL=d^Tz$;WaNm+B zGDFaH^_{q~2#=Rv>x1q}zk&P@4@Dl5I?W9m8G&p0mg~4j9{jXUS^@*}ruf_sFczZM zWX=rBSx=KhtQ0-&+1Z8Upqc`o6+?O0p?2|J=NuI(x$PB zYp2%jIi0zaktNT&9laQETxz;t6|)a=p+P|;xMCxiPqYAx>mk$NwSWhyQs|7 zYJUHcVvJH}Z!7Wx%Ur$WYef|#ivsxZK#6+I#~f7`Wbq>hp-YR70=}92m@n!PrH_dhaTw;Doj2bT$M;Jckjm7c0Q0u!unm zer7U6h_M(^+GqG6omryk2@?}Un5UAql3~H^>~7;fseA`bs?(26g=sKU(NU($l8}lr za=P2C_=pvaV3(NS3u9%L%@FbRJD58d2>!b5E3X`oEyIhq!yt!G9bT3s?L$}h|GHXw zxc&SoAOL~_=db6G30Ox7U06gqW6<9_Y74krVk;?HOurdb1l~oggS7LtzPdo!Y!Y|H z#qW`?@T>R!yo59583mXJCj+v{Ss<45q!TQ+oqvy=v+ilR!C;3E+(2;q+dRuauF-tedP+-RVJQn%vAB%7{zCoPDaYhoI&xU}q#nVGN7gow55N9|X> zL2{}TJ%1A|`f-bC1Cfm+mo>f7He^YBTfSfGhy%@1@4gaPLDtoe>T zK~8`4x~8ckxam8ifV%ib+G=!0dW6hO>&?FWw)&8IS<#RPmkxbh0o-ZI?y`lp zev<;m9LE6cWj|zOls0!KS{m5Jxh~*h^iz;By$&;o%^m=BFFP?gAp72yN6aq-yJ2B>~ehM zeSE&LsHuq%c^o_!G{RSNnBbsYB}Z6i`;WJp=}p(X9cRRpxa(~DY3}MuCjZ{({ZV9& z5&;zlu8@{3UV+6Ey#7P}{CD%u68fs9l$x{oKzd5;irRP?LmKc_EKa24SrVNe;n!9} zF)lnYFFK*I`Zv0fcTxN|)FZc-{1sQYnH2D7$(+O)x=C^JrQm@~Ld2IlETXTK)Zk~b z67TH3|0Hul)efVXS8V(^c@TZ|ONPtv1rlJ6kYrXN?G21H^c#Km3b<9{s&r-55xlwj zIB+v3R$HhZyjR&DU}QcG07LlZGsfj4MMCRR_Oh*qA&wAxiyGce*{sr-Xq(xznNq+W z$0*a7e>vjvD&<5A;+UtHmliIwd*AQZe8OSu7w`4?S#wL@L>AGPBT1c8zwbzabPP!u zL?ViVjd5+n>eFdXNA~g}Et@T+xSJ?y&RAooFLLCH-R)a`|BW>-=9Z5oQ|1Qi&Ur>d zrQg+=c!zyuV}f=?wX6`lmt@IlQPE`dZ+wD!B@;`CgGBxP{#cUTyZ#k!Lw`mmY@XrA zS8=nXn8&k7OQHfsOR3Z{0$!sB^fC-5)V6f&ADqTT)>F?Nu_tl2f%F7^r2|RoC||wy zwT~OL#M$(TTTo!U{1LrvMOQ_sjpVjtP4$Z#m)P86M2Q6foX>irKw3;-d^5_$iXC84 zQpqj|pXp2aOFf84_GTVYwc#5qWG^I|L`Qa`8z#R_`ioQl4CQ9+c9w&SsPn;U>0otn zrAAKol+v(6&3SFh;ii0Sg+#6VKzstHsnie;H$Wr^L+@P_P;P)v-E=@>%=bv+Tt1br++$c<_~e z?3vjhidcga!qMYc=v?evY@i;RagLCVl84X%4Ht{TR`D??%e`8h&jkH?u6RuS>4mv- z!)7b1JY(;b!KjrCpp(koR^xvN8@vP#f4@PfgLj0akYUrCcP(@1-$Zl=vS?8@XQ}MN zO~Dn}vN#IC>yGg~A~+2Pf3cDF0f!$5uHwVW+2!v!BXf{7JpLWPy@Ur!2D5#=Jwf+2 zKf#2EN7I#5#I$AXMU$)%HMmysL9q4}ALs)eB-PmzWQ zHjGy&zZvtLrZ1!|L}r(C1XxQ`+MCQb=^vKJ?(#EK5t?%j8R0~->u6hl;^SzHB%SLs zpPRD2yaFw~4tRMhn>m_~M|yTH5;x^?^1-VSbb_WY&L2C<7@;ie{tP%OR(4E|&=8g3 zGI)`xgK5%xCe`$1KeWG#$~?+2pj1RNfA*x zMN(;`MM9cQN-7{oE2UB*NQZain->Rt9zUF zmo@7&0%Vun&okAxmfK3Yb@GA*}<#L8gQ!^bx&SI$y_qWn!%C&I}K_D56)~iR=yB>``TI@W!Z7)&9u+VleTs>Mn zKXUYlSd>T_@rxD*axGZ?3xK$?=BIeme?ukevqzN;)DdA#x><&b@%Luw$6XkhEr4a+5W-+X0 zN0pL|Q`w-_|3P$`l%-2obZ1*OTm`f83;-6??aBdrwdW zmmwC0SJcxVj^7t^|M~qfCOHB5O-d!isv2$w)Z`zEBo(2HhfH3K=Dqi`u)k518v5ui z#xS84l>ReJ6r_v)8Kz;{8jgF42IQE0++3eJD_NAQUdF+xwq2UW#39q#<}#ifeG?}u z8~@*vIDHU}Y;#KCy8HW6>Mq%b6Vt9kkxNCSW%a{;J4}jRBXp& zt!XzP%0QPwKh8A@Xa$Y^#e@m>^gnnL6ncw*J%^1}oUsNg#64o4KYVCNPuc#!l2+sy z7=0gxVmja8M;Vtly-CD61sPX=d}=%KFZetl&3AuuNjULaFeHr@53x3aJb&3-{gZ7% zNTXF_dSzPJMKxkGDjhlSSbGbTmNKHH|ztkGWm(6U@xF52935&L2@TidU!q<$I7XDQdj zX<_I`e}Bi%VVUB0g(uIHXn+gDTrVsO-QfJmx4UP0VW$5usO$8X;e)}ZfR1{_trmt*#6Aw zuQ~qv;TQUO#i%aJl)?Djyr%=OG0n!JX`_;;$&idttaBY%gcNCH&-6D$m==$g0Y(F;$<6w$#sB?~6T!d`$|bj2~>I+FO++|_>DyC-jNZT<-knP2N$ zJ?0C)Uq1QIB3fX!`GOdA>MpKr>|4Q2ic@CdQ3YnoREp5KrqPD|%dVQPq+5-ecVeCe z?*J5}udOG_lS-unjuPJEDo~b4>S*g=%6j`%+j_>YjWT=RxJEaadNnjcNL!iCw%jALRer(kZmX z_7b6o!5U`6sa_>EapLR3LzZy=4K2=^F^06l)>!2C8|`ho6(iJsdz+te@g(_n7QDIX zDJDj!yS63Vgg{qMRpH5q`dt{>W0>0xX2hxJC$(YM)c<2ff`4IaD(7iXcaY->VWDMh z^{Fw(wtCfoj*BxP`jmm&Ic`_@2|qC%+K{1Z`n(KnlSDD=e|97@;PA(bg!62T;?wk3 ziKgjc)#6&*5&f*`-jaTUDc=T|gE zSMJmDZa7;78W(S0@biY3;N{`%=l~Ld*R=I;*&3N`V_vdLgpz#lk=iTPg;oLg`fyH~ z@#c}9nA$`~e6-u?#ErF@xh{3BIO#Ih+^{*A_L&;%)(o>`?y4FfajpkTW@iydxlOSo zK7-8$(+_0F{~flUl(BH39Y?z!r$)LgC(xC(p<+5~;hJT_;B^^>TMwW>mbqZau^n1R zfJo9&Nw0F@bO{c7Duapk6(XLU1udug_4Li_V@!oEXZYt;*8BzoWNlU|F zQo-`}$0L8Q*Yy|_e7Nwi03>38(6bfux{!)g-=>V?VI+um(L*2}reKQk?Bq&5rBw`d zH`hK|3G^Lc1{^Ma3Ql9K1SwR+{IOFhj6J+XXahr+_ey1LFw5j3qcfP1W``~Ys1rmX z&QML>jxT?Ve^hSMS47M{DNd|pqv80xZIM(%*AD``=1epM?#~QYOlWC`o3Svl3~A55 z7dv6BrhKP9yW)MfvTBOkhkJtJ@80*dDiW_Wq`>%|u1f9W{}axfUS&t`m_!qe6W_}8 znEVoC*nRg-BO|SNy1NLnZL(u}ck9Ot{4>7Zzg`+9Gu!3C3v=bX%z17Ur1aE`z(?Dr z2`@fiO^7~2l8@nvbz*vAsAs62hq9e$;HsR%LhrC#gta^lUw34Wi>}xIrmLeDp|K#C zmF8Sfo#K+hi)W$GkY@&&K9LVr`GAMPdYw>Dk`?357R=D;?u-J6@jr%txbsG?;F*h+ zR7vrc)Y{Fw;a}k+B%3i0{#N2@Zox91tbO7UFnqU-=lUvo(f0d(y$+67$w6?RJWv0;WtMg+5ncJ4(zomY> zcUz4o6Gb^2%oJ=Ww5sEx|A2y>n3r?HaxQO*sm*UOjN2&#DRQWmDrP+ZT+cwEZ zu5@_a$8&tL$HP?eO1jjk?aIPer2vy%%ymWYaCv&WxiKfT3$! z!E;+L*ssB4IleW*@bK18IH4WR2nQBp#y__Zy#F-nJjM^px&8b>A*QUMsDK1ftZUE~ zqk_amOT-sjI-*&kgP%PwyyyCEiAMyca%!;0sk&x)nXfzBq!T$i+e?&icHp_QWeSuJ znJYZRimcKeiMhd@fU~$9?5d#gH^>Rp54Y+e)+_Ypb|xXu>kF^EV9Ud2qZ+T|_&<8> zj4A{?7Pi-?B~(8(EVI49?-5&MFX+p7&dy0=JCMaSuX z_Hm9^2~sE9_FfI$SS=?v@}N@_(|f9##k4(Op{rXIi^m{6`>9&jBk$I{06FCcZ{fv; z^rHh*ll12Lh2Dr~!yuU*@$Ammip+}qG&(l_8yX+sVbHFZE|T_^3C;>sW$Eb_IoL5> zsDA)I*-HUx8|6*tpWB&FL`f$pkJ@T|DzD$D5mLxN0j z;I|>Fk*^b%S$-!ZZz1I$V13}PHE_P=D?6n2Ax3zjsHi1+a$G z2hA54t{Eg=%xCCyK|@NrZ@mOC0Q0iON`roi?8ULJ8Y+@TpAwQ<3{0JU3t7Lj1bCH$8U|-Yw1{qLn(^AaHp8V**bHb-R%Pu29-tX^zT)YpX zmmCa_B0`#oe)IQ95EZ>n+8fGML}j_YJP(CSuEN*R>vvS1SY3zirAcMzdb>!30jjvZ zjTBe2pS=n`S-5@)vNQpa{DgxN#2qH(6C`)%xpNWoVS@(#X!3fvQ0r#!WsAy z&N4Rt*_%{kB(M+|>K`=cX$Ba-Y##ZA+88pnFi1U4X%JvOG@Q8@@hGJKN%ZRj$k5&a zfCk7?2YTlhIXNF)l-tpLB5WQ`1-DJc7Gudkq0y4cSnhg5kMyA{P_xGSMl)n*XJnUo zTb<|7mFb3h&-woIQ0N^?hRFJQ-S162iL;*+zq6M|dvu8)JAMtBlIs&NINWxSp#BK3 zIdv>FE0H~#i#V#ty{-eh3#Tg2?cD{=-N)0>;kyO1&(EUU<^djqo7@MP=1>W`Z)_pj z(;GpvnpBPMPj~;iQ#f2^&vJM+>S8a^ygaggf4p*G1uiHKsuV-v1VAyfGGn1=M8GiCX` zs?sakV(_xy@wAaD8>=2RdGR^EAq;^4`okuBa1<-l=^bv$dblIkUbnL^Nhg|cHQG@5 zV-eO$YM|Ja=qcGl;lDxeS7#fVI8{}@$tJYnk#%gsimzn{*tD$<0@^_FCP}Z)yQ?XS zpShWvXE?Zw4acaUx(oQ|ShdGg))%>1&$FZWV}S>Z7TJ=Zrz|VLXJK?={^o0iuM$(G zjO3ZXd}cJ!OIuxylh<@#h|=^5Rnw&(8LAk@PlmU@rX1bxgQP4qWy8Y4{pSqzZE6*$ z3+_D7(NhWE{E4s8<0H0LtfQFaXFo>3-Iz6jT03x)qiHDVtk|)X=e5yUrqP}?zN^QQXB`SH_srf z!Ba%yDk9OITu}FiKalC%ck^BgrEVWbr=UyEOYsCmcv*nHHjKjLUDm&J1IRlPxVV^< zNdsaWeH}`-Yj3eby$J|R?F)u=3kqUhb0EM4LjJ9A?!SP3dN{xMJWx>QPikcx)yuQ$ z4gI#~hD?-I@?^H+Suq4Bw=!_>IdKo}8ecm}ypj#9Q!zdAB#b^?}k1Rd>^#1>qV(`18iv+qdN+Zr6Ciy#puT1iU6L=S;sFubhlUxTPOJFU`HxAq;yb-}#d#;FJyc~sDR?y#N5mky<+l@J`?pQ~> zC&zTJwAC_^gDFA6PdES_m<=2hII@La-%2tz&+_Xa9p+X4=Z-m!!1w zUDlVaF26^umFF7UWNY$GQvNjNx$*w>-BdRMu%duu)*I+kLAJ{+c2xrcu#b9NaiHd= z8pdDZ9sVtD0z&7GIDJZ1pbz-_hW}!m@RaOUx{lI7@oYsKf)%zUt zYVIRBdZ&F^D5JP>|5-P=5fGR6=HJ~y?+g<7{Trb&7Hnw@;<9rJ>5R&6EO7iEEddC z{jhieQ_C}#-&E)4cuBgps&u3-`DeGgUXE=rGvn+}=*C%nX9Ixk_+LP9?VRUpqM z#V5k%ak7s3+QnTTKs(Skudq$j6#@~7wj-zVT=`aai?!dak2PiK%kfndfHe@P&K}Cy z{&-hS1tHHbW>Zg3PN~^q0bP|_S&=`xJ&L1TuZ!VePJr_NoPb+yh*Obqp1Rc+;-y~n zImei1&}6+lF7u>MeNvg73cJWX={nhSu&V1o7)te~~21DsAn$CviHqCCE85G%+= zA)pUxdEsM3y}3?&_~>S|uf%AT;O90$tti(DVDw~$L+D2Hk?4m^k+0p^dbH8t7LpQ} zw-`JOI_-L4kNh?PggL5pJL`;Zke73Vc~Fr+^=XkEF;@y$Cg$!;jjdKWv>`Vt;o(zi zC{5N|6&$FQPJqlIeBGl%;94KC2ByF55i}`B5&n&|{WgIk)rtaPxyxDNMjg~n=Rrti zxD36&j5;KQHX{KeM_yyCrA#aPl+=RubA&rQY#kEIc9)+F5ein;ynPxLtCiEMok~2(@MeckH zn%W1B(DGK$cZjrgx9ID8i6f)+@u8lkbZA4NU|NywW|>9Q)=nVVj=$0MiJYc{yY2S#knMAkuTsiLG}N>I#-b2?4c%^^Uawv( z9hDg~yBqlCu{zghEHB6k1{5Lkf0S=Fe5G~xrGPDSA>}33US4A^RAB&%S0 za*A(DMUd~@d@obY*Va)k(^5gL?wI{Q;)ZAQ}8nsi>yRm@PUJC(c}Dq$;wgiy^C$j^!oNjIfx z1(K^qsvdhl&mXNsE=0qKd17PXJyGb>cKef|ep_aL73KYo0M7^phGN3UjDaiuzlXcP z@YkVTyI(~SWyQaK!p-3vdkr|XkmGrk_C==ui-K$ajLMatZe>3`J7DSxGF`Voywiek zbwaI-Zu2}ePLk4S8|kuCNVS`Ts<>!QZkSD{yWfW78T7o_spDd)go|=1xVfw38g&^F zV0|9o@B-0>BT5`YOKQ{1!jx+cP)x(T&kQY0{I#={xpe`$h85PD7XPDPx>mydep*W8 zm$TEP(^&aCB%1+>KI>UYz1)div4B3`zD3wI4JQ6zDyVt!R7+;-G;r|GEK9|4U&W+g zDMK?S1cCGYkD(Z%WUkOc8E;`oTEkrnQb75o!%ayNIPIdXY0wS^x*$u6i5n!2|HZX= z193+cx_e3*;SMu*E<;cH{%2RK>5y$Avj=?ZXc^+CIM0;~vBcUkGytbZDr&4(zy0$` zZt-DsC(7w^u@U6781nFwuaR2vzth0ZXAq5`ZBy7$W(;?fz+02TJXk2WP|Pqxx(o=< z^66_P0r|S+UpZTK$3;wJIgGcilvb6ulG34Y#(_j)io{ezK(MG@fx1y@M#g!wnAc3Y zRLpO4juiVD72{uG_IaRpLizDVOv8)oime%oGrnW$%BH?c*boV$MaDx2NhO&CG?^*a zdyqH=iu#IB^>*d@Yadnc7<+Wrn!*&Em|m*C!g&Yc7V{dmELZ-l-G#IX{VM#Ek>l&J z5dfo_#Ou8=@LfI|`3&<+)=`CDrtIx|Hous(qK)Y~xXcvr3za`oEdlaQxpZoR!NEqBj8CjES^8pM;o z*jk}!58gbJjV7N^7}d|&Il|{48o@!%)|ifI!qZn!xK_{?epE3;MoMrL z^d;==<%akT?a{ML5%%#38Evwr-=8ui9=O(vtSkMHSRRAWu*cQK^w z=i`!{v(hOHxbzlFeBpS95`N)*v(HTl-#-rq?cc61d+2Hp+7A6$xzg5&tZY7 z!|wvtaQOw#5Ur$W|~1&5WW%Si3twe?Hm zsnd4MOC^*kWfs?dzc_KHr@)DGhbwiKi`tFRhDq5<)?Fb8}(ZOlxy`{O;%!-V%pDiZgZBW zaELe!%t6_aJHK_sLq#7+UcW!TRjYhUxTq@{^QKSd;fuG8_$=(kpHfd>i{MEbPugl{ zzos0o3ZfWIk_#3W#z%W9`AbIC_hS}~1>2B5?Ckef+kqR$Usls0L?MB7pvo53?w9ki zu5v=DI;NIFT`AKQF%5;o-qn=l{hpHwj~?zy0W>XbIle!x&{e3yZ^>~gMX63)jOY#N z@9)0<)~!DCmINwhNL__t7Fl1mF~j|9W3}bzGVFaMuGivqClcsxSQ%izuBFsf&|e#9 z_cxZDVunkWJt;rse%v6l734j4coaL!V&Q2`4}1-SUF zp~G1`Q1T>4gs~y`<1bY$9DZY+n@~_NBS&wYL}Q~W2>CTrls@8hVPR^U^#@O1RWOQd zIB;sE%hL3i_>P!#;sMq8?=F*LcKLPp{Kz)|aT%hdjFKy(flvyZOY9!WomXBctlP**WsyJ9*KTNPhrc&jB-@=7*P+!Psg z5?dwsqm)%t)<77I;tA{1&|*PT(qQeEmfEX5_f0>#7ohtjUEk0ni;mA#Jv2_3i@fHSuJeZp|D@{5eG@h_Qu_Sz;o{<%MU zk_x*l5(;TT{31ySeLa3Y@0|Y2D8dWL++a0Fn&ca$030`g$<=UACTFL2_s)F#H-h{u z&yJGTUsDHNUc1Z6AFWL>POJzE0rNMf-9Aq;c1kHIGf8oY=dK_ zzU+!oJe74{6Cb z-W*P<98&6ZS7~*B*FeHXKYh&OOwq7Pvs5Q2$9L14=*SBXb7z{UFn6Y~f5Jk9xjA_3N|oiM%mm-?>3gsQ-m7h7fxVEh(G0E!-H#{Cj+Jw=)9Od z8d~U^(FN8$+cwI}d5n{T)DT==27B54)n21wR8^RWh4qAXA{QbC>QDI^O7L9j4{p$6 zzlgo3g__Jr0&16NS(L)4YISJsa}A^s=81a!?}=uSkcVIk(=8jPZ`qkRsNouQO_S^W zZGPFBhC$_{Rx54~m*#t~nV-#vOa}SP{R*1$JRI%#otSj>y05kIHKjOXk@_up4#c;Z zdTme6ayqwXq6&yGD@Aex{qQZ~=v>~YOBbj?+*K7XQrf`8%apz>p4FJ>K1&pSATGVA z6Ot`Hq)G#U5i*=URz9aw0ENY>N@nPGLKV@7%(NEFFF=PuY}rP=w^{B+{eC53z3RzK zx;b;Y__c2)fIc{lc|@npWuTvhhDHtj>0@Lhi1ad%nql$vc>@K6Ys{y_*RHN>)x^Qf1 zvh7ooL_O<8z`I5;d+s`ZL0NS?&^*0q;UIlr+dG>klHK?w7BDDfpJ- zFVG?>O)l{n+D{DGqAAwF`F#Fbo^!TRbKlH65G^rAZBUTh>n7zEd~-`%@M_hmsaVX3IKfzov}2z0@>;?u6?V)12FKHz*+jq$n1VPOxfbXTJPA$_IZY_$$@x;jOTn1p%|-AQS0Sz}J8p)b*BU-f-wcWi6TDmTX}Meo%a5>w7545z;~S+v9HT}j>N(;xC-@Rm9?3GHVJU#j%A|s zz7}Z~rB!n1#|W_zFpXtIa5;XJ;78ct9FV>iYVp|H;7IU(D4s)nF9!qxzdzPGJ(XHq zRybJf^@Mh0Mi(vFK(D#oM>u3HGCMn31bh0I^b|E!C5h3TR-e}DSsvFSJ=bJ{3srCcXW6n@271_W6e~xJgm`|(h z&bl}vXZsn0LiD&$I}O-9)qQ0p8%iZRkuYkg>?lYmWG}midl|v+R<3EICP! ztwgTORg9JNei~)Tm59B_pR})5uU34XU-LgBiMdcl@Cc4~YFQJooU~a`Mbk=hqBpUt zsb=UOL_^pEqBLJfp^0Pb_;yiB`vwS;-pm&9B7DbNIv8XJKd@>lwI+HVO1rgQVoZ?OuoF z-3_?|i!0#t`pAfiK&OAY&m-fOh2e=N?JAM@D4yAY-rK(>6SeQZRF!kCNZYt5lTi(N-BX@(Rq}6iTi?F|7W-o)O})rx=nnf$;cwRc?y>Xx z=aqHLR4^;@g?8qvP3@v6S_vOVMw#@h1xXlT~DQjq?{%(O|;e1 zFQ(3*Cj=|`#8W580%=G*hGlRZ?%N_f-OuQ%m1*7&V?H-tD@n)YJ1Co`3x$57U>a zbg7py9a-L|6F5uf{Vjs!ZlpOBkk^olv5}G|Z<%pg4nupyI`89bg0`lGeg{fS$SM23 zkn@UhC~KLTUU#T~wr4>piC3q3tJc6?B18_Ue}HPUJ2I48e7;m{D(f+k@5eD+kQ2rM zg;lAY6~GA#bjQ`rg>5b;R|{@qk}cUlu)SntV0&>Af}|_Y_Bwua_U#!IK(or_!zQF= zlHj!}+7T-Et4KJvi--kmeh5zM*w||&kVCmq=S#(rGnfwDEkFR-Lt|JA(bhhm7ZF;G zlJGZ0$uYI;jhs#2(rG6>e zm?CrtEHFPIB#Z%%K6O`I`mI~cz5L^9!9DJ8o$9|Y3Coi8oprS_d_z-3D_?|hkhUr* zY1md#9kfIFnPKDfzOb;w&o^%ox@sIyCRnieo{U1&$K-SJC&YvvT&r-K5V_`gv#dm> z*AcZNUfb;MY%6Gk7fn5k8%n4+?&=HtP)gXt18tj(X?zWJZ`;4tx%Z!S=5`s_)e|l$MrUbtPKebEM+_3R-6jO1jZfeX890Cz#49pRZIYK}^ zDx2t|@6KH>r7ltoKS_M)^r9r48{%B$3|35>D>C+3n8hmL^Y%A;WATuQ74jd3l~l6W(h5sUy#= zWK$le`5%JrFzM6B`%a)~8Vk+0JRO+dod^u8qvi#H6!+%2%daC0UTn-<%TvidRJJ*4 z9O}V(iH&W3F4BadT|DW7ig%zWEjiR+e1E@h`oEaV45cN0ecC=f(xpjy`~#3VpeN` zG`hnapAgK1P29axlR_u@KbKi_;lEoH5u$htLyr7AAYv=;0P{^KTUZjtyO{#z98c$v`mJ; z5XTVbD9|Q5fsw@sxwFO^kBh`1Qm3b!J`w^|ibo6(*jqhy%T!wV=$CVAwe1-%r*%iT zHgLMUR~WzDC>D7C^rl9*w6*q-q5^9?xmdx&8e_o`zY9@=DW8aXrJuN!;8)RM zOweNmSfRyxN7hmfLmbzmy9M@(Uu;h}AGr_owTI3p->juf1q=V_sI169+!Z zkt@yKtU;rcdu#{Hzl5;L;5-j#^}}2@>_}h*7EY!M8%-=#b+z?HYl9Q&NZC56Cg?s} z>ML+hv&*jP+{IsXxky6(2#yf0X*D*iHV6+BE1PE4jCVyBXeR$@`(d+U_0am{qOd;& z5CnbNr`=a)V~t?;s3ic}<@g}SR&@iMiKOaC8o&<`!O!*rM7`C^mN=iR_DPqQfGj$^ zr}=1^z67HEMWB*{TIy2WPDjSu8N=~OPE zv5z|2?#l|z3czUZbTZU)r7!d}&7A)-Y#p`_!QXKMu^gTv$>~#el+syfQX5i~Z2M8| zjfxpo1{j}-Zd8~wvV0zk5=~?ce!*)j3fX78y9^F9G0)gRWLGa z^6Qn3R4pv{PgXr5eoD0Hb*J`v?C0p(xO@%kFC-vE;}DCcs<8A2h@i)$+sRg{1o$YB zFKUKALuoZifh>+kP33o^)IaLCcwHr{J`Zi-3eRfecKWb?p?^aGN&mDIB~1s(MQ#tWcQfA*1Qv}(`!=gh4;R?Q~Y2XWS=a}|ekV~ub?cTo~wh1y{L z*v%XA!KpMB+rr53dPB?^$?mR{)TA%J(=Jr+jWcA>g0dbhttO6cxI8!Ll82WayCL!} zcEnX$Txu3}HT-3fsrEDp$pLYVqQV`8n~-QJAR=B>9Q#B*qj(&Guqj*mOwygK?Ur6_ zczq-4or?FVf5aZQJ;7?4(KGQWhO-_zZwB${i&|@At+M9&d(Smts2Eo+^ zI)~&ay3S$SlrHH3vYPr7<>io^>5c^!SJ@PR4LFr=m&ZN}#-&SN$d0;{c20>AgNH-9 zBQFPnUlAI2j_>tujS}rSFN*Saf2*n8Ehr#w%?0# z33SIZvV31*d4Kg_pVq;Y8Zkg+^!`GM9Q7K}VMV&h`qolBuyidQ~Fm^Aj z%iW9`-C2lgtDvKOhXZl(eso6nPXYdy1-fK$i<{A};`(l8@d|M(MPn`$(ccRdqRpPC za;isJu{tQ3c$9~m+#1wz7%}QKeSpcC5+{2anWe6j1?yc3e!|ag1s%N+!++!SBnGzF z4;42gG0;Z9r4l_`jT8zXvR*pxUhlc8ZJ`)|cg4<;FPSYYloXrPJ*t>zdXU?N{c}rg z8~);bncd%yWD4smS7OIQ#W|DJFpj4+@Xv`vOTos!m(AIjR~CifG;(vBXCP%q+so?c zAnQFZh9V$mMv`aZ6N=iu-tYLN$f!t8Q@_tmsBgKz_4AzMj`^4ihXkVmzvb93YW6Z#AH%8Ad|vatQM#-Nn9lQsm;pJYwSyW4flQDP_F6J zy)WiOZ1m3odctI)xEE>LU0NR}1*JO_uwBxB|N4nmiU)6%sk?hUS(x1pvF73rU)vec z2rFyPruU)juZ#ujbF!g+kbXz!JO(nuDuUlMP4V9{v7(6JF_W}h&h*bq!AF!D^vq6M z4qIj*gdh~KQ$-_*4Xh4!Nrm2r?soJ`{c%{4?7z=a_)dJh+$d)7-aC#AI~*&)1tgt# z^xs_@#QnQ_8-YlG9zV7Ip5yCPx=eH@L6rAZPlZOU%wjn5DiGP%2Eq_g;4OdoU5v-l z0gbg6is3)mI5c)f>`O5{cGE{rczb3x*}}&On#3$u7m&0cLaL(E=;)LG{+5LQ{T53@ zoc7B1EWA)gIQDB5%m$b{W@9jO^Jf%ZJ7D=NVjNtxwKKXw016PdyYJD&oh&N_@BtRW zIg%ystkefW<3U?fJsi#+jS8<*9@*XIci~s~yE85Sy9Xh+U>bvZZ{JbJ?k=umxRNKg zGlx4RlAMqBZwx|Jcj2C3#Pm7I@V+p{w0KHqohmxy`an)C#lFI&=;eLN8jEO>u5so?A_%?J<(Phsds+8ykzdfG>QyOXk7gyJ8;42*h-{j@|NLGbt8{a``8a!l!ZORPk-if7uFf`*S^#34VRK=x#i(!7-$iQe_Fo+1HvnG=Pu zLO?y$T_mqi^zW6t{_jfWn2oB&6ZH!2o8d+cQk``VUGl%($gE}*p*laA+NBOtLhAOM zkD4EE(>uGLq9&59zFLa04g_7#c>JGR_m`gUcMx?fWmTF`y+c^c!wS)hK4LiWQOL$% znHmi_dBJdPja-+w$mR5!2pbj5+i6ycwilV`ZM%C#NKSK(mBHs%FT=uLzel12@!qZ@ zV5W}Pk{E-E3E41y?^R)3VG1`0t*VZySI6KEUGjOA$orVr^}06Sr8{l6+q**MeN~?9 zL?GzFynBiWn$Wz^KRb+MUjwHdP2LoXkUK~}#bTB7}R=5dan*=YFK(byz zCT{`n1ToFE45%awB-Gw9*nOgh66K9d(1LtO1oW$s)O@s%D=t!m2+}Uv-0>F|3>2O# zB0h+lGQWot`Bzb)c@k%U!uBHba=9Fu~boDN9Zs zVHds2Wp&+$9U$V1F4*lZmQy75g4sS!O9k5FZ9ZZ!-JrN`FW4Qa`j5I+3`}_2)^M z`?dq1)L778L2t}rn`)D{6q+_vTzsire10pIMu`dw+=mP$q=S%5&QNqk;TM4QQVRRY zrnjQXgW@Oo8zx}94$Lx1-O+o|Xkt9tcDmBBHA?Bg@P;;u2WG3-39n zCQIUr(z}MgM}+0Qk{!+^o>ZCO;-kMntTP|Cg0?5Vd*^Lwa)vr!p}d?%J#UrFcn4Y> z>mILyrsZts>$kGj7)4CZ^ok_?t==z#lNwKyy5u2 z*h9ANbP`o|R`{lA=D*-WBbuk8X=3NQ(dS|w)pMDnMnwCsQw-^yOzbD3q{!8kpn~^= zN^uL@1n=zTt!xLzns!}7NXFi2yY@XbbQ{*=Qc zA%AP)!Q^>Wx^ig7Yu$Q6RCcAwx{?0yMko+-6;ym~Xk1sm7~(2D(`yeTjJiK@ zx~?0Zf2v+j2tz*>KPgP%E^xuc0?CHNchM~ouPoVEdHuQPNfdo32(E?g8M$+lhIk~M zQ^Xy)YAxsT5yYn@dYW}U!x76;r?#ul(D+*zr&lmm&<{JJIYShVMtsL8RTVlxx9VUw ze){cYxVMl&+NmgLMBlX@&D&6S}orNWyx6C44lhIuQzko5PTOj^TL5um5=r=QcEK}U=}9{0PJ@1_i*hj$Z;uj|mC2#7ad=k%}+o z?p_sOb)g~wJn7G5$n-3k>7VIT0CnAuBxIU3GyuEHZ@tY%&xY5RoP%j0I6*>|5iep+ z>OTpSa7a<>TuS#%vuyZElvT-E-zFIyzNOLiM>8iEyi)mNB(o1vmZM@x^s5nHBq&tP?RP2dtEdo zfgslfdotnLyBwD<0igW6c;mq!|Dib0cXae-bgA`|4|LR$HVcMK7AK)mKpf?WPkJHw z$kyi6zCc#=+uZ_LYq*f4DUQ@`d(Cc#i)g!RU4hSY9jg7gGJ(L|l!u7YOT0;{#wBn1Aqx0rZ9#m~fz0w;5#XI-9~nU=uAZ@-Z(qQ67?S|RpyYi8gFoI2^(ekcMl>2|CB=`h zEX>8kc`RxFHaiH!FuPKuFSOaY{rs9b?`wT{sWRY76hkP!-Ms*E`9 z2>-P{D&1h{{DLx)ZmN1Z(ecx3%;vHlwbE})?NX0HedI_VS}33qUpL*H&&NF^)PRu5p7|B1 zGPTNwq_JPXgd6{7a|J|8muj{7FMI%fir?}z_p%f2l@ah~yVm{w@pzh>CSM5VL%rHj zQBgRYd&vW@EoApjE0Y^R8>L7^x&><8d!J5$nApgaZRNdQ&`%UzTUJ|4cf| zk&~Q!yx2o3`e(aoP|9}2Wo3&zq?I_d=epUeZw-NGt80(UUpJ`tq+iF5dOzJaFobO| z_BbuQCz;~noiDSWHIlwueRoVkzMAQopwTJ?|2li+Oz3<&$vKZ9ZvI~T*TDywz`S=` zTkle7*`Nchxk8SPV7#j;ZfDt1!7zB~c6;+`;z2%}N4&nEV~dpgpHG+D=jk_Mt-c+p!K+b0cRf#5zf5g_(J)}9hnEx`U~M1wXFu8m z6`^S0^80owS-QVLx0TiP(3Gf@V8c#1VlU?s7Q*G%J&hK%axy}4w;T!(!-GAQX&WNBPlq}bT2On6qQ$=OJfkT`eRl)1o@V2FkWK5HttMELBn zGz>@t+c~Atp3QPQm!N<)Ia!mqsvq4iDLl@hb$K@`EBVur@M{0>X9;W254GZwD1AY- zYq1}ny)Kg9UMq^P(#XG(6ru8s{mr8&#MUVEAktol-OlH)l$xvpqrQUW)oHD6S=E3h7}siWv)Y=aP6*KU%S6(`6Vje5jE-4*F90@J-&V z7sT4Xl8}Ia<0&Jj$h06D%!QOdEkH%6o(&Ym-0N?3dlshltWU?L@9Nwlbe>&%hcQy^ za}q`zXEkk6Ubso{6^=2*@D=vj^)DA+D6M3fdV1A!<|sU) z@aT{ut`_fcE({cTJ7w+Y0PpUh|NlqUcZYM?zHvWAlD)UAkiB0u4t*uN$lhB$? z9fg}d4U$as!5h9^JM&*#rWwS~YBAu_0R|s=97BFx@_k^K7$W}RY?fipMGCf{!JD&K z#MmjV#2SVZ<$P=9-(`GL2s2@We8d$o@l|O^7}hg2hmG&z*)=+)%@Bqhrn2Z?)V~PF z5+j0SpmT~sZhV+yB}IYdnw%v*-wt$P2y1$Kll%>;H0p`h7(?#^%lP(9Pj`aKMtvX( zKw?vu$6?7#g`Y~9m~Hvx^2=YwB+pyt=)DoKFX;dJmRLtl@1_f3R5;PwtaBv~eOhn< zU!W>3dB`<4)u)Jxu_`Pp9&XYB|2xe7KUug?Xk1`?eM)u8dW^i${hg2X+7E&>D6?PN z4V)^Avk?2a!F#uX2t`SJ0n?si*jS=YD(umG5<$WSvtZqKw9l9M<8^Ay9~lBN)VEU!9?Qbuvs*P-<-*9` zm&2H6eAV|aK2ju3T%wtdEU*wTXR8XkrHD3XY(; zQ_fb!++tj->+(J1`^!eUHBQ+R?1Q%$?^A*0GbIQ0aK}L`Goi{WEMe8ox%D7A&M7PN zCqGJIC2L(6iysKnzDV}RNN=2Kk?Z0^;Wu{rO{Zb)4)B)5xa;yKSr1q)<~er|{XH7bw87<7pxSMEM;xvqV& zZ(9&k;SIKOQTqZp1(;cR6$64gn1~pT4iLDjc1s|?(JATw)in63-YLKH{i|E$+U*FE zagKt_mjOoYYf|``_=A5kJm5q^0T=2>(;;0NL3fW7c|sm_%(4DSAG zBwb92Z>UvwM4F5fNpDW ze^3&+sE%QL_*Iba(|*Eli=5(6eT5Xn$yL{KA^%M2JnH`RN8LNe@drVa8Qz-N28`7g zSo5yYP*%Ah(jZL$?d747Tl8?1nwR=;aO_24EuE_@#5bQ2-x|wswk;->mm?-J^fyZC z`maJD67bjnk$_s~Pk}*eT%S9eE9r+`V}yzMc)n&CnpasNEqD(8eH&p)DWclcpH$BcXYeX;<65 zXG1@c>6~0gCGi>B@Re&yS#~3c;20zphvQ=}HVwN!saDp#q9~UXkjznk&+vo3%u6gL zW%)ZQq?1#qySFD4Cl$G`!){-VITxpxPyM!G>V6_Z$Btd|0kVr*)_oo_AII@wnh*~7 zOZVOaPJt^QX+c8Iy~3CK?jj5l#kgnkOPaJrnAy}D4@)0pJ25*k)8N5A#3-Nd!)4<_ zbV0k9<)2rI`$HLjGOvn%{w|R2yxbNY3*WM@jEM=tCwk>B+=l)(F%qS9N!#)ZXVGXf z+$HVNsM@S5_x{%g7OoNvb7_pN)?}W6yA{j{8Rc3HQ};J3$iph0NpsKCIe!yjsOlF} znA^2X>BDeTGNfX#J%Y2iX~WG!uX z{MaoNGG}bCu0tdr_D`f%B4a zCs15*FczERO<|ShheW0OIET9JVj*rit{|d}=OSwHs1rnV-|E3xz}ncE$J}vG;I{8I zPhyc4iN#YLOkt|K!Rv>i`m_`mBL}lxk9)eeD}m`r^vJenD!EcjztN^sj?PZ5=)lu? zBfAQSN%$Jz%Papob4m_Ie9weEH`bHv*|kk}-T=>rCu4#el^|`C0TD2&({Y~`#So$J zrd-uJ1gony;SmqFs7}!vy$FY}qitQDBG+63u2k1-Sq~3OW(4gakN(#>jW#Q#3pyDr z{h*neh$|bF@&sFP5;~?#1l#1Cn;Q&vG_dJ8Ju?y9qrUEZC#~+jEyKA9u%S3N0Z9}z z>)bkKJ=v9{M|{czANJQW?l^kV>XI*}9g*oKBw;2)-FK>_+;uYk>v@g8vmg@at?v6* zvx#~1#&pHsXOAi!pqe&%5>L7!wowY-uW?g>%ynQxkq)a9399k5MUjX6RvhzW`<26* zQeQv$_ZF;-8ZNTj5kXGm6SS^4AkH2a?t()72Wo9ZW@+($p$Gq_j>?<2X_Syx;Ss#MGyyU&ubgOUAm(hvT zzENSo{#`jT{|v0j(Vuf`vUp7^PhF}n+n{q{{p-Q4zSH@PsWSSe;UOnUd7N;ZUO&}h z(cdX{#THCNZ?}`mzqdQ&mWPJOg|}K}H-ulDDB~#>7QP-iU|UpQ$X$QqZV86#I-0~K zQ=cGNq<4(sub;X5fRN1iM;}oEb!nQYus7e7dXqm=aAN^+feCgZz!=fqBU8+NtXg@W zYNEO&>S=F* zmLU?08=*-~cx>wK^9Z;4O%EFN^ruWZiGJd#%6A$l^-J4z%!E@`dlH@&cp9pa(Z z8;=?39r)i8=uq$OBv){GIKS9fZ{M-*I-QSR?r2BTs`xQuD(JdwguN+jrpg~do8Ry( zR8Qk0;y)AA@qaDx<$W;S6^UOm`0EKztUWZDPmJD9Ki-*8 zTp^{vU~W_Za>v}4EQpEue`jFRkIG56S?LOaH=lMzfVfWm0g26~B`JtOs_fil;f9;H zTRbxZI(jIwI@TNBZ&jm$V6yzwFcWr2qtBNGZ;6j|xM;u!N5YOo;$nlh-pH!$)J8u{ zg`fj2YrA^!Zo}KGo5RBx2c5VwRd1_cKJQ#HlRZB6+&q?vrcnP^h)ojT ze?|ge^o$MS<^ZOP;pPoX74#GdC(r52b;&|-M!n_hO1RB3`|S;{fJX_q^GfNPe5v{k zxidF&UlD$3TI#+^Xo)~xPC^Wj8wCFKB}7LVhI0RZC6abrYReeAr3l(xi>t_psh~G@ zFB++jcBZCtntAd$E7j){=OEsG=1}&>)@0W7rM^n_50!LvNuY!RGUJ0zB#7myL>$?^ zW%vsUE;s#B%KmzMb?3^o`YECNj?{cgH5$yG#7I;*_3ylPyxNTZ%eGpoS$FN`BZqn- zy!EadP*cR_!q=GH&f0?v%az5>14r|H#|NLsK8_PMlMxe766OI?hH=hTJi}1YG|N&P zDSYew1q5RfoMWUgw*RP8E2z_sXIIOF5O1A03w~VH?OL z)h1GDP>Fu8g zvXgI*JN~4^M_kYoDh4 z@_$k+;>O$EmOS*WdwHsR**=&15{L)ax!EGjZc&x$`((hCni+HBgkf>bY;6pN+2vlq z4|U)0hff@BtSM?9)&gcA=0!e{rJPbAWxob}kQT@1A%~Jbar1^x@tKq-GxdvLE{vf5 zp5}g9K()=jqna#W$G5pv4EHfQQ=pCO&u;hjRK#JEyb&jIcIW(!W>F4~!Yw|Usn>BE zdGt22b|$Sh4-gMTRpi81#UMeU zXHi2}nh$PCTm0lh!t8da@P2lVa>~q`vCfxw#*+CzN2tq=qt8&NeaANbU5^RH@C$k^ zCtJo2bFA()#!1sW-2sLiW(uG01nbD3L-qeIfwOc#UZIzE`-R{!_s6sG=6OxNu{BXg zPYepY#mN)ai>SzyUr>xkIvn3q!oC+6qsk%7IX%o3EvCGpmuqTeD3`*l@ub_HGad%O z5bp3X52fPImf=s7;TOa-^S&*tVo-K~>vj+AtxwS}Wy!vaEO8Kx5+F9>TnO^sAj;O| z=>IawzjS_UDDKbb<<_ReF=YfL_~awio^+yVUrPR`Xek^9$+4tN%2$PGH>|(oZci@pUIhD}39nFIVPOtBaxMRE zsF@5ZwJWNlb_uL;t=jpgOf!qF#9Nq+pK=Qv`*s~_?$Kpz!cI2x!b@Tz3Q4rzFh~*f zJ?>{DA`TvsE&eoZ6TRttaHl;mmSr&hGLP_g-F(YjpZD37EVY#;ygxEr_w4)lcd@}R zN$lsHOKts4wFJ+MnQxs7izXST`|boEJl8TdsB$6J0n=_t{FI5&r}gUT&I=jZ?OqpS zPfSfnp@p5D;yE|@e71wge?%Apfn||jY_s{Iwx4G-rAiOYxAWsS^Mb0zq{EDge2!E< z%{2_{cx_wl0k*jb$WH2Wt;ZJ_Bpc(|1qsie+UYt87Yu9UMpH{&_G8Xo?A-hBW1a{M z#?VvX?|Thv8^v(tt&)OOa{CgysQw-w`ToT7@23i#tdoLLWDPYpcj zlCFi@YSy$!!C;*D*ej`{r5&$-;9{aV=^x5`1SO5T@kVD_h5>NNy~(eXaEFV*N7?q4 zFN7p`o7JqmC1OE*y-@Ds?oZ0WvZKmqm&78dFzkblZu~Z`@(Y+-*&l^Tc*P*3kM++% z1#Y4Kh`11;@?c0DFUCwy`_6o5(<*(fjTFqZABJlg0e+lifX=kv#Qq{c=l!=VddBP5 zf&ape|H5AeXD``lmzw*rY{6-1p|S z6Jva?3tWM<*TND|)XOxI*FW0ryc^Ik=?$n`JYMvvc#Uy>&k^Js{)V>z^CA;t%$cLR z0Le7(g`J1ir`}eFoI^i2w%Jf>UsYkJHX_dt&4#S2dn&G`Cs>F{`U>zW1ZL{zL_{W4 zU!_NC^zbccNNteVuli)%;gFlCirG!JpNI5wPGyZZ5A~^V_nMb7E?4wHaW&8Ed?JvxU}pXnAW5gD zDSYNP%rL>^p+WSfP2#G$wElNyThUK6;F({a+qi&tw^_n~{xvTgqjtOxnXBWkEqw$K zIj-@s4~i1k$c2aI|4j4wJRC3gCM2}**Qq;DCCsTOat<%XltW7`#W$-?*YOSNYb_2r zUs+i=aZN`!C>u)_Vfy3g38|%YSj?MTtZ@hyvikGZa^L#FnfI@?d4vrF>n;W*CWVo; zQo}$a=qC7fr~T-G91Fr6^diiG&v1%xig17E^-upeatZ1;h78_Q+H+Rs_4od{+{ZVz zA?CPmG8`Y4Uyk)6fQb=egHua{i$597=PYEj47m_QRK%BhDh26{YH|4>2qV@=$rZ1H%W+J=v?s#Xp9 zN^Iq2$P-sXK9apbT$~;ylKMZmf^rpijzh8m~{HA~ZoU z0FEz20G%A#HVGJneM=%ec{~q{VTD_Y{5mxPrT%wgxzRY#jU(cI{H?J^HpB1~tyRJ` zKXx#zm{q?<#Y?)~A@_NVguMyHc&!QRmRO_95;dQwV=vaz}xM^IRY-Vs7g7 zlR=A;+|tFV_%WF&W*9X@ak0zQT7vg@@9Y#qEnrSG!?3P%PXBQD8upYL(<$@Ev$u;| z_NdR3Fj#zr6ni@I9wTsQ7(kp>7;~<^GN}otPP5bm7<99lYyh7V{5dF z4BGEUsh5n)lj_+mx3&fT{!MS~Otft{Heq@S2}%xA7vSnqX#_SC7R+IZ;9$PUbP1&6 zQjJsFUpAdl`TA9(y8A{lWHKTm7H9MA8(neB0Ba?e>1qB`?9%s;mdVMw zO`Z8r;!CDci2(iB;3mSxdL%BSA9*v^So0v-K)Ix@W@hEF7+rwa ztNOz1)M$^j0h9_P$u>%m#H`O7niftyT#}pbB&Oq;R)QsY)IZkY=`*fTZj-5YQIt8Wja~Tm6Dmb$b1^L9|*{010(3mZ**NR6NjaaG1z>(uCiG z5^02Z?t{GUlFJ641LUq)`I3i@lHZ$6yZo6j8L>nh`7`8~E@v59zrfugpWqb5nabW7 zO6>U)y?yv~&#h_Cw+YRFeUH&Ysq!|Y7;~Q{gWv6~4udgf;AK__M<o&hfv&fi%qwtZJoZHdEG}Ms zW6TBcB5eAe>z`Vdyy@biO&kUeWJe#tj`}=^B#$iieZXqY>O!faY#Mk0vlYyH>x=9NOm>3mb4%ES#Z4h_7=C5*KpQ24-e|PDdFI z{+{{t^%$^sYWLe`=dkcd50agW3j!N_t`$-sp=i6s3=3DN@VxBXZ~cWTr2f}6X!Ibp zKMkqgumloZrUxr*q_uKO7I~*VO&ex=yEDtLUl7cV3-Jp_xIdOr=4KXHM*nx`VuNxhl|-`z}+m!iH9x@~+-F zy8~}ctL+1ewf{yWMYvGk%@8&*I5g!ATexsx$#EQ3u}FUZ9b$<3Doc`*WnAJ2ptm15=dU>PFG*(3XcIUVT!f=mU)N&y-Y-W6Kl?Q(znkzh`6 zR_N7fYM_~j!c^8?^k3Eui76Cy<9DMvka;2h7%HTgC)jCQ*-hZSOwbS}R0G=f=~i4J z@aqhBieJ2h{1>EM$cP)N>$68xJD~oPB8mtvSouS_Qb)*3E_+pM1RWerd^<?*VLB?;`}L>9s`-SDZG5BBYgdYcR+)F zssfk-4+ZAkxFqIjl2f?8`^3e#I9}w{XrnR(+2Sb;!ozYnT)2Q6$#}yXU$un$540MK zv;d(VP@BTFDj*b)lw5z`sIIe_PuTbFA#`AMn2y$Piz>jyf z(;5_oM796QQd@LCbb;#4^bzZ!7{dJ+v!NzT?E>Pj{C(dBVX^#U9qAsx1DQo8<|NLI z08%X-6dn|Txb&X9urGip<_<(L!0P}IF~;KT$2?a-N<;-Q6&plV#f3s`=xblI*f{Sw z5}H&T1#WUx3qp(AY$KEkE+!0pQ?K7NbQaUYJz1#o3DUTxs! z`y7%mmHQ;CX|P8BHN!o)t;2Vi2BC0vgKoW}Wy!+zg+2+pS6ZZXeBfJ@QIXBiQdf0^ z%nDCC>I2-2x!!rRMHkojTSxH%o29 zx0HwR@FSDo7J`p<-w4xjVEvFBBM*mkwPv@Z@lTM^ER#d=_JD7h z%kDRk&45Qe-{30oKbk^Ku4(}*acp1){Gf&f07bR{V+lgg}1b%rO$)O&LMyVq?WM> z_1?eudscSY#w79HXkf-!^~iUhOm}9%k2e*xx%Emz!~ACVx62t?2<=9%$1%pX%hU|5 z`S0pylYLTGCAvb?-rjxamqVn0qSsHfu&Bu};*+*BLt8%kLy=0a%CTGOc0Fgea%9+Y$WSW568!WwtrKy}_7-2F=cGUB zJpV(VOO=fSj}bV3Oe5KIj>H?@Bk!M9=d0Hn8~zQ+b;@6){r3?R0IG`>GYxI}+>EJ8 zlJnMdlOZS1!1Ns}T8i)yjd*QF=z@JOo zvf7}+i<&y0NV$4Tx%i5>_zsXh6k^qNgs)rCG1pQp=+o^8sZvaQWh2uY6&7J-+`;kg z{Js72y5SBFWQx;%5YW|cCja0LevhZDCgo(?g!S+Cxg*Snq$O+Z(-xor^Vl5V>g>iOf>OAJg{_m~8-Zp+A=2ztCrXS@Sq zLN6S~(kh`?>UaK|e_x-Iw5{_%+G`|Lu1eKKSa=AF(%7*=MFd`&_cbeCJCizV5}P`Rcoacb1WQv!zU@|#SrPP}p4q9L+bwdB2VA#zSwt!6OI!_Y?!p@4y|24NS8Z|n0k_u1Wb8^S4d#V^m+-8hTw9Ix zZ?lV(+aFXPjEWB1)a-tpA#9b61BW}D*N!}<+L*B~!6lX2jBnE4M=r``dsiZ+PO{DL z`6I0Ve2GH1+JgDO~SQI25PguB7?Y(m&H7jzRhSq(?!Hj1QEYUy>@q|mvGLL z_vsn}4YPcP2RzJ+|GO4!hwS>RWA!)C0sg47ukOb0%no=O)IE9!aQJ&j0%@ z5(PnO__ff%Hd=K@Qv~IBi(Hnfw;9Y_WP+#334;aihZq zgx7sm3trCtk?MhfuDKUQfu`V8h2_4-^HMB7c*&M!T(s*@AHhu1_(=1>>F2;`%-B6g{$5luA_{-6 z>$Xe0(rGn(R!$+%n8^iS5{lDmR3wsbcE2M8t<*>Z2jg<|>+4Ky#`ZV)8ji8L2432f zG3IaZ?U@+=zJLN|c1@D~l_XtPEx9sbl=32n7(IgQjUOIoLYiQMa$1=RyP@TwJ7Vs% zvWOdupZ%Rr(B67(BY6i#^H(1;i0$yPjXaL?HCeV+u3U@dJlDlVL>E{1$n&qd16Qj-@>kPPg1QwEd2S?1Cjzt9g2h;j{3qO=99Akzpuv{cANJe_LRdz0XBja1syC znXPpccSf*b;HPyMK7Ottvb(>K-DP-BULT{V?`Si2W7)QkHl-r)Ih=UTaGRVWy4PGC z`r4EZ_Ngpgil5=MQVsKQwRH<}!y%oz{oJXr@fDi=z&y_=Y#C-^qFxF@w%Cd+RaTd4 zu9U>m!i$c|Ut~b~p>0j*Mp2Up#e}iq`JpihwLYD>96`)YvD?K7F3%$U#*oEZpxVFC zh}TgW{=oWu^?{4w^e^q_uyxUNu$)r`?Mts|vT^7_mUkl^W1jw#@W*B`O;)N&6f86x zE(1#uvFwMaO47W?7Cj?l^O*JX{q?UwfC+K3rKq0~oh)>Ei51$d4P z@|*y2BkqO59PMOQEeWP?E{n&{g(_kyK20Epp;~aJ{;$L=eZczrK5(cjaP~3F?DG(B z9>)=(|4NM1xx_?5X@J5#T%o|6Uado$1Z|uW*Z=1smt=i%hZF)X%eWm|Kky^B zYvY-)0*g|J*p$cTYf0x;q3G0AIZ}Tptsumt^iKnoLUDrUME^q*WHCNDWU3`vT$@*@ zEcr*?$nZ&6X?GuV2u()gjbh|cV&rWq=Tc_)URoG74{9NU{VoWYLBv9=fO^mndo+1~ zH(onG$1QKJarOhBZRNRWe0hm0aLt}$l31W>#G>e?-+k?F?xseMq@`*6v>!WknK5+r z)Ex%q1o*vDjul`y{+@v;S3PkOyuGdpSfmCd@rTg^$xiMI|o z(oI$5OgyR@$&$IpN~zr)%!(%9^2eEUPk%QqZo2AH+#*UaY6##4du2#ht%dJ`tWRrd z#I`3}afDQf`;Ege+$f={k(o4ws5dfq$s1|5%WSIXmtpVjY_Oq=^H_9|*3|N*R_0qA32P8r0-+PDK1uJ5 zaAE{vQPR(MP?!9>ObPP0G2JKf0TTS{>>H03d8Xb)Zxp?oDE~A;k=0_18}yeD$wb^~%hxB> zE`8+`m9CCgE7$6Nxb1yQoEqY>(X9M5k(ld%?tLrsP=ZpmQ<33{`vVD{v>*6syq8-m zg@z_V#Mw7K+2B*Or9c1B=e6@qVydLc_*p5|uHE%&q7fBC444kL#}~chtkhbG+chCq zEqbo1s7Ns0E3ylSLcAh3yWJ-L`$9m%(gd}j%H>-)C8eON@PzW0sMfx~Q~RF_6Vh$Y zSa+tQxGMvtP;X8K2mF@9)tWzHP0)D8^x4*6?MCFs>aZQOyGXen`S#7kz^^N{8sP3j zfm7qc^Tf8ZE^5lNlc=_OFGY^zvOECD0CN~BUkVB+F8Et~PF~`>4D(6p>SRmr-#XU2 z_8~!PquY)B6-Pn8Bi)EmwmX%BR%Yl+T>tyjF{DS7%0EtG99l<(R`uRa$_qUlE232= z&Za>`zYQ^|{(`UYJni!1_9MUUOuCmzyc|`{z@1@WUN=&EJc5e483niFgngI;y?e=( zL)J(}<;)(s8gcSinV?TI>Vx&d`-CT)V~zrb^4-}Y7FKdES+5Fdo~kjPDKwT7j7mg_ zP&p7054XJo?jeLsXvo4^vX?F+b1Yy8Oqt*p6YQgK4vJKsak7s+bFp73v{jk~X7awi znpU(AoSLOCDMda!=G-W79E_JmWt^^mojHsETRP*0sxpNe+*WW|bvNR5siwPi3kq{mCWu2FGOS!yxl&5>GM;XY9fkanq|8w+^+Hb8)wmvo-7{U?6|3h@WS0lkP` zu?w{fU^V0<`pj4@cuJRE#Q>PSVv}*YC!pznL^Udz(i-^YYLzh;SWR`s%y1^b`Th0W8li)Q`Px{ro=G&2lgo~$+xdoT_kpGP=i~@? z`6$MVsmdlrW%)5GA@PD7*B1P(KA+z^a}vNH?k`33TG5n*RoA|7lB@LN{mX-CarXJT zZtBCvrNu4f1VdCr!^-V^fv1IwI~9vtg^LG;Hs0mv`%2ViC_U!N3!TTOi=R8$i$?UPRkMvYT#tXVO35=K<>H z4vKM#;4-{zgp2P)SsKO2525?Lczo8sG+OuYrzYiyH1SLt6hLGsn|uT~m`r{9*#z$;Z z`jfwwMj-A#O;f|?6`52M5ab~}dW`F^X*5b+kLlLSNN$NgRdGw&bU=B*e_`uyd+OO@ zWNN^7(h{K=$-B6lA}s^WurJj%Wlh#?Ur;y>>ER7R!_@WOiT)rC>HET<-R2gHx z2mXlB)kv@hY(X(-JAqyhp%T^N?4&CW=98K`2B6vOdwrUCA8Z;QG2f>YT@8IWj*3Lg z&2;Z6gV}NB86{$Q^@GgOPh;gVG4to*LHHbQ{j7Ba$3PUKo!ZaU=y^qwP=`0Q1->z&U|M2CB|*;%2{_ccQIVY*Ar71UC^Kt2{>$M#(6=dqfh9T<()q*K;u95PArS+07Y}!}GEXGrJr>EPNg12@$a3Gi z)yqQKtM#P&Q|7h; z`qx43;?_yT=`KX?Kmk~f_2bd13m)S(kj==>zHG8qYbNPzOkuf9jqp^z4M=2d7KCI<&9%T*={f+bJ0t8q20WtT@Ln|XHqkkp(gDXHkJ+@ujtrM^!Roq#Gd5#2h9j~3^0y1@9a!# zayw&K@r{+Xgo1m}4yg~(eby8DOQ=MY>^5d9$D@{NVqzl9Rc=;F(^Yiwd@&Le=9_=IpM^ZGwydCauQVm&)~8e9M2hrCY(;S z&rFbp$?kCTF)#C=Y4G6tMTN)K5IGz=k6D-z8M26M`TVH)zF}@Kzm9rtVx(c#GL7k? zt#OzG9U$XAnDiGJK}OP{j8cgjC2jiFyxsD3CKJA1qnSeow`$E+Axw=&)Wo0rU+SgZ zoFZ!{!J=NUE`!6NL0BGwtC47*l1IWXo?@?T=Id*BX2+^9k@zu}#37U+xb4M*mF5F` z3$IlU9~aB#NTjVo?$4b{?=#@g6@$0{3IwIT6loR!5m zc@#C}!mNCNh@h!PS{=QFpVY^zH(Vp)uS|{&mhgy5Wz)cec$~(x+@D`-zzfxv`UrW@vd*9YcMhUbq>$Qu#(qWD*XkhUQ#&o?C{DEb=E8GdMmHNBJ^EFI% zWG?AS9>Nyp%z>;|n^8SfhT#768!S}rY^r-}T|EOw`%)_H+KO#cXr^jm11rXrt$p9dc`qL*n+XKg*B*JtskN^+!Duh&Lm+RXX597px7(D`;@RL0z z6Qij%?sQiLid22;&~>VgBNU5L>H`3?3eF=pR~OpRhpe1KM6 zCulo!+w)K>PQa%hF#=@E@BuJIG9BsaPouVk8T+{d>o);Xg7qfJ)5Ql0+0Bt05cF0J zquiVNT5>|AydueHjWp(}sPl8sULP%dN-g$1y2dG`dNVebJb9){VAQMZonnZw^3)@f z=}1=Rk{?=w-T&@0;%`;=yL*%3*y`A{6kN|%CIbniN1LBM-NLM|7 zZJ&9!&YrDDk+D3SUFtPae2VPkxwl!i|9McD7a+vXpr6Pr#?bxtIQY#--YP~GFSEYf1{sQrJBOoR!PADnceto={_=; zUioQ}XT1V3le1c~MTx4t$&f3E2xjd!i{5!HeNr2--P7&+g(O!cjb-mWeb}EJ${!A@k1p;{5q(CbXx8;7G0!Y_kzH*-x0V02qXTg<&eFNX%_jF zr$U9Xy0ooh{)3OMoC*`XDD^N`q-3fAAdAEQG?s{n#VIZ(OZp7f5fLW4sCHN4+GzHP2T1+|{>R7^rh?LZ*MNA# zfd_kKI!=e_FYpY1V3;v4zskO++kvLgs1_ zLWTp+Ri6(vC)P_GUsqzk+mO3a%Jr=HO zA!`aVFKZ%GD2)3Ww4d=LiK^Z#`GdiT>-_O2OZS1&FH7P_zoP!|^)7kRGY5eaX*#A` z;`8~N8V6~DFE&5;VB5MLnSY6jhm4;>tz$Ji0=ROLP<9GoJ<*J~OqT|k%D%U|%_r~U zp6GRLj05F^pZYv{6n!U-}q#u;N( z@7koIYRRyvs{>@#T(Vlo5YW`ug@peXh}4O{#x7!ZytK5qC+M|#C5Cip_EG>&u)xm% z@^CY&U$2@o%SOyi!W?)|z=LJh7<1+5+5;tey&CSX&zApvr5-cUKL=O_Z)yI|sZ>8S z4pLRdaq%cFaGNVY@5r*-3;?D(q9(jLrkaotGa@sHmJm4Q{)AmXiYdcI26N)2QTup&eNhKPt| z9_5fh@Dn zIiXo~a@^Q?v~(DIiR)v!WAsHejp4`Btf-llsPZJd z#O1iA-5#&oUI6T(M-p&I@HI`T5xaAM#4`k~_=aEI`sae9BYNPRr62C=LyqNUX?510 zi0eb<)7*;I%{!1{T3}d`q0EPrqYpDw5pZq#m!(%V~zwe5)QVP zG0m~zYS(&+WiO2gpw|rUOh*Ie*|ucty~5V;g2&UY$|e%TRRQ5rDNMKv_OnS;bQpz` z(S2H&>Mb!KkRFRXJtG6_U~OnCdJ_BYZUsIvO(wt{>goPumb4EnmPPdr_v=7$Hn(mx z&O=ALQ3B4*WE6kPHc=7^31Omr9%UL~b60YWP@66qg6u7g%S@mpoWX#l+*2rX0vNRl zHqoWH$#_ObpKDH6MWA$#>yMqqxliR?=uf^SL=k=;tsu<`9-AgiD6#Jr zPXZZfgEEwo_?m9Pxy9w|cOx_Z(Wc&sU2?`G5)_7b4;_~h6Mb?G|7Gf}5Y#JuUDU*} zf+&zWvLjpOXRQj2&?yzRA9D|kVQ|yL3nvF^nU#`XzLE!D7)hg23GoAvnrY*Q~kDbhZk^>HbiB!erfs z94u{xIC+gYN8AX-W!OEJ1gp(t1|APep48`w>#ulN^}sj_gkQLMfD7%};ZL!dZ>W@C zEY~hLz8!+Fgh1nT))#iSg+L~F$Ma2qG{5PcBKAJFo$Lwunu2((YRj^QgU}J@C*j#N zrh;-!U-~~_GK6dVj4qXr4xwU6<&zYRF|K)@*mFzy@xVukX|%+qtr!n0xv3>FK-2)} zNr$4r^N&mbSa}WuM^t;r>#-V15MC69T6tPad;2m}QMQK5DmF5a>?MEV^Y}5NAI3q^ z)x@la1_wNQpEJ%>a9mmN()DJh*}SikSjPhV)4YyXA3J7zx{=b?QK03PHSq|WCjc&R zIluSiD%cy{d}K#Km$V#0I(=Aef?^IN`ppn#JF%(Ld*}Qk4=fpfPz-8hS^seFF!xiS z6-6K-KSJ_e6^0bJr;13@Gjju`p2lTyfg2gsHjl9$TaWpbXHi_w=}&*;VZ+1RNN zQaaX(N^g-2!zMKD0KQSe+D$z>_O=Z1X!Dmj($%FaYS-G-?<6m;Hy(I5WM1sB`5oV3 zATPH0W-9}zTzUr5*EHtJ361mxMAH<}Ud@jPMvcGYD(@Fr9JPcVGUy*uxzH*P88y?K zra5sV??O=J3{zoFtak2P;}<$o4(pei*D~8nx9*3`PGk(FW^7M&?>w~nvYRbJJQ}r3 zzdp%$7Xpl*+D&cE*2=V^Rl{2ufxbr6E8WMvvyy7=3riWI9(^=d{rq}?O#_eafL~Es z)jK2ECcTPR;X2m(E3HMcO99j_zJueHC0mO+PQ)CktHy!APvt()?}wmxkPAJqoXhCO zQhG)&_DQX!m>h^U8W})jNEkSOzchk7;@jolS?CSsRGW+qqh}1vs~ti>+#OO%d1_W1 zOITt~NSZ=Y3zdFL@ku+Bc|#KRl_hhFx-n@7yZ!tZV@?U1Uo;YR8<1r&dU(U1;flhw z;^fZ{)Thx#bPr~tIe^(iAgMS40ti!dvm$tSMcQ%bn0{aam7ir&J?d{^SMPCP6-ISa zo%IHe;xv;|l_jlOtrM7Eo}fqML{~qi;SMM_l3=TS?YkiRWTe5Jk2hle6G?9Sm($dU zAqKW%0k^gXP1X{YLYx20MC+a=Zwa^-G_Wd@|KJiR%Z=FOf3}rT%MXy#vwmai6?==y ze!k_O{1(wf#O{7~QZoT&2M!MCDtYFX<}YZ>#$QHlPZ^*p=Cgst*>U^nVZ>oEyD7W2 z*;CbG^gYR%N6$MFrL+%i8sXf+dJ;L0-*=LxPoKAVKc|Z=Ly{AIdIw2>AD-o?&fm|+Ra4Do`gJ?}*}R(aQG%6(*Fsa{JAc*?m4akh zo3yM6Pskm4VvHCQUHyclHUHhWtFo9Q13GH+)15NzzTe6M{2zRY3|>{t;M9skjd4dm z9EYT@GUu5(LKMs(Cex2B8)s9Gzhkh7=Vh>LX^4siCl`0)U*4ah(blta!BXqVmiv&b zdQA&LvX{_35n(PZ7T z7FXrMhE}YCi`WceH#s+N3sm(Fe(TH}R!!`FiJ>e@@=y?b7VzWvkE2Mxx8bk93Y~fd zNip1E9H@vo)@`LK5}E9PMCpt&7#N6*3|TA)f>~cGFda7gei5AJ4i+F8Rg6fMDsS|y zMNeY>&O#kgNa60AI>rHu<~xa5a2)XhpU0$-Y(s^}Q2|iTOQ0Y4M z!n`7MeHL04pv4a8hX++ZZ$fHZo2{kU*E9+40_f@V{ep&S42@A0_ zKopRw{NFuH2c$vO^z1H|1i5Nw_erO(so_z=qphN6Z4At(RBv=oi(h^t=Af61b! zQO%!>ph`ENeXxun}n zvx%XeD=u|28M+YV3^7*?o0nbU-1NGsAB(|#^mWVrZB3`o#a3)o$U;Gmm%YSU54Gm0 zK-p*{d*WS*%#T(we zv+Bh)i~j{>Ls1Gu}i+r~|lDpK?C|5)D4S4^8h zka8tb5n6(G9M5Cz!lmu3WjYkMN^ECXM;m{x57Fvfjt;+EK;mW!6e4`z*IM!)?y?do zpUPoNuGNSAy_f6L)$XT*4GSvGcyxi%Q?U*-s#E8#P{#kR&qtQ4vCQ| z<9CSoq|S{XE|w9n;{rLkV8D+DCbLF7&j; zve|w|a1c@0W@oM9&lbdE$vOkIbEcUX=FE>r7T;~rj5T?!+8E1gq+bTHIrOLMidPSP zylIv>peUNdM}e&MI3lTN$3-%I%kkyWVp>&vK4@;)Rj&xc1bCshiwzGWtO)_u{98mq zfKiUL_>IDdO_dcuJ8@j?e?CZvozy&+_n@8_nnp&4DAxu{v6LoBaiKa3~$tr1L0ueCcr|+S1_e zi@fOX&Ng`rEKKya&$g78mzvu3yv2}3A)u`w$;)kSGKcHn@UvH+>a@6Q=>P?MG;~~B zYRyNx+6$}IT5j&Ia`+Unb4I+>tK#Om7r2+A{=?rhC9ddZKNhS>TnY(Y;97k2f3Qa9 zrqLOk!|ef{`a|XDih(tBc&^>py)OP;S`iybWq+4u1Z&xj*?x5b z>_2U)xX=|WLa17reIX2^m7!V{eoEYoBG1syTgA?u#)~aT2*l?n;EaQsewy#S^_ZSh`Dml16^48a! zACHlD)k!i)4jnGv=sog)u!@Vt1JM&lKe zU>THH>(;E*(S}UwZn0qP&hV?}sQk7@yXs}+_n#dmulmN*AQRoxvneO20TeUwfW2DB z!bGr_bvQ@4KZ+Av_1t4f_zdvfab>GQCVCbw1p$b~2ypICTkGqa#r;vXDp?1yc>7Lg z@1U0^!i!TajVc_7O7 z5W!ihi=#QLLzI8j7`@6pO-V5hpD=Tc%){S?={jf_$@l!>D9a$f3H9nXCH&Od)WaH#7jr}OPQ^~;j)}KzJ=fY?&l%9 zKs#iAHaC`gznXk@wUJ1LhK&7t&?r5a`fn6EcpARcL^WaA#Cl1)3P0POFk{8XBk`kW z@vx$}HCXvt69+f{`)U#pxvNWWA+}?ea>D}J4b~U5I~W~Eo@TeY)bxO9k#9w6Vr5J{^Ve*beK1`nCub?ZXAO2Llkwk}!8CvU>v}An4v04jt4k z{FxjDz!{i`_!CT|+5PWQE9M;3_Yr)*)P&L-ZzRs<=QKrK$6gc&U&Z zhVh%+9M@wEOrb2w)_!*b>CkV)?fWaUEjWt}=iQxQ9@^_=A5%gz0@+xqTV#o5wiF;1#^Pt7B2QN0DtR-w zs9`d#06>v^1?xq>K1MD%NRNWF3HF}X^E@=c)eWfdq1IA%x621>NR+_fj$*#>vnNxx zk3L&W-m4)|iRN{%hbRMz-_dW+#Bi<;%6a=0kxiUbLt^7(E8o<%M2DGE=K~jI+jVTt z5D&u(#wm&Z@wE8n<>YTJvUBf$gi^{zxw%PnPbUG=rpGIB@FkIt)2|khgx=ccBDn^v z3v~DcsBeM9c6>ntWoNFfKA|iOXD$$kW?NNYOU2treQ7Eu_{PHzBeiFNJ)^iyV3yux z6f;2fBHzWyd?M+u1U81?s~w?eP`e_0=NM0o6y>p7$(k$RIyLr_O=|0?+LZD#1m*)`NkS6`_>sE!FWorVvwW*-L4H9$;CZ zNC}?X04gh$6DVb@G1He#Sd2Ynl3bMa<2~dVGMvh3X z!>EEA{6W@9JmFWP><7s&5$8ohSd~QsVbW%S^L7q9w8Wl`7XFt{lD)T*)zE&9WQH1Z zj)b7B=9^EWN(z0;-}xL5x-QBr5LB-@tO%r=IXI|qndyLxJ=Sm^Zpbj%4muzkcIqK( zV@TgasVxP;(@M9RuS+W+;j+Ef+Exi*0qp6_4+!4) z#%dSQp{aM+brVU3)?BuZ%Zob%vW4)=4>RoLxG*x^P)TMn{WI3-y8@qZ!t?gARYwOd z@7gCU_sYm~-OAgX+PU@$u5Zvc`FHsUr2jK-KLZ-(igW2Z3%$WGC5}r4jUTn%S=Z1p z$Re0`8BT5H}+Emt)iJ^y&L2b7Ka85djStp<`}Dfw%&!o(<3uf|ec3 z$tMJK*sh#02z2{2sJcR?UjZ%v%$x;}F=z2W&5ZqOJ`g0}fqOnWUB$ny52(!~(9835 zu$;M{s|HyM5Mp#C-)5QLD-r*pcgY&uPXe(my!iXWaSs|l;Q_j)^VDbo0P5@yHL+V< zhY73dM-!kqM1rHkm~#%KW}iT$dTDDE>-0Ln5*rzs2fT#i7g%k{I{wGI>ZkARs(F;e zNo#T6QHGB`C6mZZ5u(7L1QHl=Gw@(N7blzrvj3x7R0Lw#*2tzW(|wa{A%#-$qXVI{i<`>8&Z`_nV|6u0FKl{bs0O{XsHvj+t literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 00000000..04807978 --- /dev/null +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.png b/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..e2a6abf1ace2d9a7b10e12111f8ba9189619c1b1 GIT binary patch literal 2033 zcma)7Ydq5p8&-LcrxC53EzJDa5Nc@|^UP_^hbWW6Vwve6@`y;W9C})g51Yg=iqV8x zErsV9mSYYRBFB_N`>l~2d+Edb^?g6w_kDf3?%#b~_x-z5++6HHvZ}HY5)vSLoVCYR z#chX-)K>OdsIilfkmlH1|KS<6W1%rN^uslc2GR1ecx_~<>MW#cKyQdV(DZVLBQu}# zR{7*2An>{&f4vd-IcjD%?+0gtc|?y8G`(Z_*_HkU zjofny{jVn(W+NT(?%Z91f`fI?{rd)f!>yDM&I#NCNDVl^u=WjW2};&_ z&&)A-wOke^hcR=A&~EmjNA`K>!fq}Nq)+`yx}k8ecBzGPmvFk1bwr(kmu*%#Tz z_PL&Ue~UFKx{01$4c%_2tac{bWhJw?avbFeflvVVYY{#rh4sMkF+ zqmJj@ilOd9Rkw!Z`wih*MwSlJu_mhtyAsw5;FZAdv_8Lm{z&6QftniaCI%a#--cgF zB!26kCwodH7VjK4CXO1x$C-Ht9Ve4N?7rd@sMOJ#eOYL~?bV#cRL5x2vTwAI(Y{h%;($`j`REd}AF z<`P+t!=!(Umw)mx;R{l18a7AW#r|g5cFx=i#k|u(0 zKD_f#0_fDbv(?oyD)d$#U!OwU?)t)VRF3iuj_#0R93FVL)>|oQM&@`szOMOL6-4a>XV&LN%K>12H%D=Yo<0B;iv|&w+g(G-fCvdf=10z zN?ir+=O$ZR;5I^euB8TX_6y*E=wxh*d1GwW%#3}c9%hOj>c9v!V5=b+SmW&#^DX41 z>-t=-YMC@e6-=){tuPkt@1*r;F{sXUvT^6D+E)Hd8UL~R(g+f8XO(6ZO}~_ya5SC} zRuyiI_%YdvViW7StxWUWE~okYMxUaCe{GI698>}z&vUPbKP)|47iAj7&NEjWuj9(q zL>S%cNevGKr!yqe`2b@Cl&rNysvQxlBVsD2Sdj#ZaXNC-2bRot%%kJv%bN*br;k(o ze<>z2IEbFSnHxX~pgF;uEwX18hXbhdD84AEj9qlxflADUoGDzYx%Xej>S<+>)h`20 ze>rh+$9(zFq2rswyFG2a4;N#O8@1Z>s3e2*P#ZZwW>;6(C#FqCu}UjKP%64~R36~tz!fQQ@NKui z*Y`9dH(%bJedf?<2d5-ov2Xy_V`jA@Vhkb;On+0bVz=3bgKyg_tUS-1Uk_69Vt`mV zioEY@&pl4vyqz*btnQ(gcKycr^tIzXsS>a3BGD9011F!N&uRosP0&FGadeB5jx9=b z<2EN*o0OupDuWyIoi4QkWzB>-C&&X`Or;yE!2T9c`I%Ekb2hDW4<*RXoS)XGZV+}d z_frmnyIXb2yy=b}p7ftRbfiY~tYpfDimVM#*!~6mlXE`zv$wigWxyiO{@lvw?0|7u4Cx>0qnO8<>CkMvVr;oEeXmPArprXLLF0yAADbx22C= eh5jFKL;8_B+cPgdLvibsOW51ESXW{FZ~q4)#oUJg literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-hdpi/ic_maskable.png b/app/src/main/res/mipmap-hdpi/ic_maskable.png new file mode 100644 index 0000000000000000000000000000000000000000..5fbde5878d0d1b80018aac0cf98280f6f20cd04f GIT binary patch literal 3958 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-mdpi/ic_maskable.png b/app/src/main/res/mipmap-mdpi/ic_maskable.png new file mode 100644 index 0000000000000000000000000000000000000000..42408636c04c5d42ad7ff8cb0ef7a08364aed450 GIT binary patch literal 2404 zcmbVOi#HSe8y~NjDY+~{ZcB4#wh>*_v>|sBdgT(r7DmY!U76e3R+wR1qUF+2F_$S8 znOjH^W|{FL03*c$MVAxE>YY{BRVV@xf`NkE(H?r>`STfBi{PRf;WW(W)>g zdiY8B-!c6TZjZ2cJ`Uw^C*JPSyhzHco42MTP%S`b7mWESjnAPyJ%*^SU%?mr8?xqZ zM4ADq)4z*j#XSOJ(umHc}z`q8H&^|1{3ylqwsCmiB$um6X8ZVPoCkJ9{ix$QI(ie-GzV)2`LTIF>P%B(huKDZGp zk#S9(FL$ap8#D!6h9G&b5FsGb8&w?N+|D;r`?XYhunvY7Jhh9psA_t4Wx7TA!<7A( zqsjMn8W`!0hE&ZJY3OjRa>>vzSD|Cw4%lIM_xUP6=%~hLR23@*v$7}e2%cBB0GKK= z=!=VS}YOXR@3;Lyw`?DkseF zg3tEf|M?l@B^t2}5p;dwse)3}8a_v#|A8NgvR8EAzlXAx4WD6EVbrx)eV=S?5gH+1HJS}3 zD)m)U5)cVJjh7FBpBeHGJ-W73N4)yM!^0uaKMxWcOBOzaJeMZir?lLAqBvRMD8E%Y zD7BN|2osc(3yL0Y&4T7mT;CZ2y?XhY#>kuEmHQul>g7jDgAQJYl}88XMA{N>m#nv2 z*kmY)(9dD{bJD4C%wEI*tuOrha*TxyYx&20tvYke22RgV+U_vu%ZOjM9gQcG~rhVXJc;P)S2G*#9r%qom zfGw_02v$GJCA-q1zrBVKpF$oR&=peHCrv1itz5=`LZ0i3PVP$cNYs56a2v|NH9I2} zwJ&)xioz(BWs9so1ewt9-kt9_5YE{tE+eg6u(H0+iI1la?=?TmwUFT|Rok7VZUj>@ z2OTHtN^lvq@1acE&3d>)ptt45^Xktp2WEp#L0X3${X(035<8m z;2VBG#{`PD|4wA&HXVE_Oq2zsuv6r(E54*$3{tV{a+So{UJ0KTQ7^09CumK6$ZCS9pk-A zvm-xs{MJ7BsKTZcgiWD7m2<&F0=N#=m`M zg@y&ny=;x{=b3dgrS@<6LvMBx`=_E(+6MAjPF!5|iL&McusOubIg9UUdJE*E-z$> zPB`Hc18pJCM^!XCFAr=NE8k|i4JT2Y;rmMH+4S*Fq@O}XZ9vxeFI@|>#k7g%+j|uK zR7zG~xNQ2nh}vjDw@k_vAGp?KHOVh2bN;*4D;3|wr{%Dh(zOR1>k*ybS4}1+aCV4) zF34AGD@!A_g&Yy2m#GvD3w}J;l3BomL8j8Ng@%;%CTj{2*>mQ6+4F-xWQ%Hq;WoFZ z8dZ2j7tBRw~Si<1mlNPb6$;~dz&x`qfb?GcwEIV4Rcxv z*fOaIen zu)b&}dHHfu=aXvAMXtS;A-YPNp;z<9Nj8@>W7=W0*pDjt{=z*zQev-6U&QWxpa7*n}jCAUIHMKIRNO{iI~rD~E|z zBk@Q|o0UvH5W;NEuX$zZe*LQcKxp{xY~%D0wa6My9H6X+z>*Dt5z#Qkr3$L6m!DTK#?CQpde*yi>GIF4~aKeRcW^e-PmaFPH3 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/app/src/main/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..db7019daa11934b8b9a990f8b6554802692de1b1 GIT binary patch literal 2983 zcmbVOXFMC~8b`xHjUd#h9bywRTBD*yjL=Y9QG2gm6_lE-ePX9h)gI@d_BgfDY7z9> zhjNrOC_;rIHE;BMyWj5p@V@Vd=l%VE&-nkJ=Sj6h8nH6-Gt=8oV?MV$qOfI^xlHUk`f5A+QxQ_~h4Db4ulhpDd^Id1l`5hDDLokdwdS?-n7W4i z`t3%E2AfZ_jYlyri}Vg1-n3{R?M^Ch9CPXZeUkNIjW>1l9%o?%SiuP4l$FzUQzBH; zgb~A7e zba=hbY?=1m>B{H@;&C^g+Pqi~o^3f$?6Ca&V6>foaoacGb&Y%QbywD~)CI1-2s1!cm1om$Ztb`_^8@Rv z?71^23*RHTkQi%m)7FC#g(MJY;_3P&QyLd&et(=Tz(NSZYhCs!NRhR8%TB+^?`+!l zVK6cW>s-BtQ!0*LY&zq4KVwKY{A)_6%*Rq@wYVw{Q9#w%MZ4R_i*10I?2p93e;amF zJ^*@kw+v+v(0Cr7hK^n#f7! zCaJw@@pc7Hrj-(@(+7E|&Ue{d;QK}*`IUK2$`+vssV)$ywJamY;b@y$RRlL)foNAH z4eaY@lUIG8A&C4HreR7u&Ru4n*>{feaSLT54OT|7aL9vXkV7$LU_L}sdSS$2$)R{P8!>hXhva&jm9$mZB zOk*xl+h=)6bKlEX>)pC;Aa0KrL@knFuesAL9YoOBy2FnoFXEvzXY=U1q0kzK2Ty^$ znOrD&Cv@FHE=Qn~R3A^0giMh?((NpM+Jdtb zLIh$xQe*)J=xai3Jzc-Vb>a-cbq}$tT8W=E^&+H)xL=g_(6XPt`kdLn=vslX?q0wd zWW^i<7OHMCn(R|?g*o`D2XiPv4%cfjAYe@J&f$|_g2jrVX+NwF_P=JIdrhD28LeJJ%5}Y6}+W;=oRF6CfKtn@nzYX>b@xjfG(pl+x@ z4WD&U0so~!uKDMHGIX#wZk;BjuFD}-!on*SYbuNk-z*Fzd;??b6SomPg%9`YzL1{m zK9K7-pk-xjyo#IZ-#4AZt4zTVSANt2XmLU8(IpG`#{MNFahbtytH)TPyC9Eq)SL6q z){=3Tz^X%mOz;Me-L3wNCi-ne_Iii3 z5h3=rw+cK@D4w6#lJ6CigWf6o=z=`AzO#&qqh)?(rt5yehdFh)X+Zu^K<*35Onr;b7#)$tbA|W$r4f8_^a?;C>HDx&;ve$XC zE(dYx8(#S91Fud@{Erb(Np1Y=W(I(W6n@{aO*joGaC0c@`dqHiI0gnaat!A6lre$I zB_8SDGh7ygyecJGyVS-#b!-D$HrpVOSDEv!Ba%ZKoWhE75{0A z2wHV~cvX68LDl??0LBEBw$|#S36wl~V>%y-i<)YdBj<*<2{Big(NlY-n;pZyj!&NV zLX+(qV$)E5pR}DQBLKK5-r$N(U72Ci>V>hP*zn*%-srfT!AY>UOE!74|K-|LwzoZY zVyS)&qm^4zy$PF7qB0?pj)zKc!>kPVp)1vRVfkKEoli32twCS>_ri9^c_W-G6|Mv` z5GV=!N{`z&E+I~EZiZ_bn*b67MEO-&vnkJG+Y35^lax9cl~d)KFH1_pT~w~JL3V5t ze126)B;#Bz-#Ap*rL>}ki8}5$;XvWOF@j}57>S7!h2Ip4`1VQp<3(O54!KS1-}-j@C_?S(?-u)@_CFTQq zF|%{rw6Xby18$j@GH8UrkCf82O)$z+G7O^w9r|a7wLkBcH>w#^yFkzzSF5M`in_yN zd!AEdmJ3PY)j(Eb326zavS}3T+1pAd7MW7AMbD!n)m+m?AZc&9tAWks39A9qoofjK z6|^`9ejtb{O0;)UxvGd%$c65ZrG0Lga_!Ui?)JNsQya6_Bdi=tFul-(VsR;@e?_It zXMbS?t%2*FlF;K5e{3u$sg_FnqM@Ucaj-;VX}mc~bi?HZao*p1!l6~@cCgBs%MH6C z2Vzu?l{B(1mhEy`eNdjFW$d6+xUuxwJ%-XdZFVj=>B1qfQF4Wkr z^pf!SQfu&1=e9Yi&}#lrb4!E%UNyllVp;NN6(&rbZ<`kT)@hW@xyP#9)#qsbKhFV= zXIudi3&}SRUddrjp78L1Uroc^gA(>^{m30fK4l|j#OM8;19*C%!=9$IJJ-@qnOmo@ zifdC(mzkf`C<$ZWfnN!C@UgCuToSCTo~FCjVuj{3%JE1E^mu?mFt7pB)4DsA$9nV2 zekJVdnE=Um9db?rvu1)fx?T*fP%R`5-1lLzrr}v|j!EwSyO;jgCVMWd XlujaiH0#1r7jPPc0rGAm+%@4pX5x;~ literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xhdpi/ic_maskable.png b/app/src/main/res/mipmap-xhdpi/ic_maskable.png new file mode 100644 index 0000000000000000000000000000000000000000..6047aaef6e4e06900f668e5fb4153196ab500e03 GIT binary patch literal 5616 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 LLs+?{P3ZpsV@kR5 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..d108e411f46b26c0876e9419118bb5666a5d334a GIT binary patch literal 4808 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..533ba0cdcb387ffb5c106fc2e6e063ede3304b35 GIT binary patch literal 6659 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 Zn4GSv7p;#L@DDbR6l5VX6;f|M{U11i&W`{9 literal 0 HcmV?d00001 diff --git a/app/src/main/res/raw/web_app_manifest.json b/app/src/main/res/raw/web_app_manifest.json new file mode 100644 index 00000000..664760d8 --- /dev/null +++ b/app/src/main/res/raw/web_app_manifest.json @@ -0,0 +1 @@ +{"name":"Salona","short_name":"Salona","start_url":"/","display":"standalone","background_color":"#ab25c0","lang":"fa","scope":"/","theme_color":"#000000","dir":"rtl","description":"Salona is a platform to provide innovative tools to hairdressers and beauty salons.","display_override":["standalone","window-controls-overlay","browser"],"icons":[{"src":"pwa-64x64.png","sizes":"64x64","type":"image/png"},{"src":"pwa-192x192.png","sizes":"192x192","type":"image/png"},{"src":"pwa-512x512.png","sizes":"512x512","type":"image/png"}]} \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml new file mode 100644 index 00000000..e66222d0 --- /dev/null +++ b/app/src/main/res/values/colors.xml @@ -0,0 +1,18 @@ + + + #F5F5F5 + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml new file mode 100644 index 00000000..79084d38 --- /dev/null +++ b/app/src/main/res/values/strings.xml @@ -0,0 +1,58 @@ + + + + + + + + + + + standalone + + + + window-controls-overlay + + + + browser + + + + + + + + [{ + \"relation\": [\"delegate_permission/common.handle_all_urls\"], + \"target\": { + \"namespace\": \"web\", + \"site\": \"https://testapp.mysalona.ir\" + } + }] + + + diff --git a/app/src/main/res/xml/filepaths.xml b/app/src/main/res/xml/filepaths.xml new file mode 100644 index 00000000..a5434852 --- /dev/null +++ b/app/src/main/res/xml/filepaths.xml @@ -0,0 +1,18 @@ + + + + diff --git a/app/src/main/res/xml/shortcuts.xml b/app/src/main/res/xml/shortcuts.xml new file mode 100644 index 00000000..7f3e9c19 --- /dev/null +++ b/app/src/main/res/xml/shortcuts.xml @@ -0,0 +1,16 @@ + + diff --git a/build.gradle b/build.gradle new file mode 100644 index 00000000..a3d57ce0 --- /dev/null +++ b/build.gradle @@ -0,0 +1,42 @@ +/* + * Copyright 2019 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// Top-level build file where you can add configuration options common to all sub-projects/modules. + +buildscript { + + repositories { + google() + jcenter() + } + dependencies { + classpath 'com.android.tools.build:gradle:8.9.1' + + // NOTE: Do not place your application dependencies here; they belong + // in the individual module build.gradle files + } +} + +allprojects { + repositories { + google() + jcenter() + } +} + +task clean(type: Delete) { + delete rootProject.buildDir +} diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 00000000..784a1d43 --- /dev/null +++ b/gradle.properties @@ -0,0 +1,14 @@ +# Project-wide Gradle settings. +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +org.gradle.jvmargs=-Xmx1536m +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true +android.useAndroidX=true diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..5c2d1cf016b3885f6930543d57b744ea8c220a1a GIT binary patch literal 55616 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