From 837d8ab791aec8705394ae6b0855cc62efe800c6 Mon Sep 17 00:00:00 2001 From: Pun Butrach Date: Sat, 22 Nov 2025 22:35:05 +0700 Subject: [PATCH] chore: Update dependencies --- .editorconfig | 1 + .github/workflows/build_release_apk.yml | 2 +- .github/workflows/ci.yml | 8 ++--- .github/workflows/crowdin.yml | 2 +- .github/workflows/crowdin_download.yml | 2 +- .github/workflows/crowdin_upload.yml | 2 +- .github/workflows/release_update.yml | 6 ++-- GITHUB_CHANGELOG.md | 32 +++++++++++++++--- build.gradle | 6 ++-- docs/assets/device-frame.webp | Bin 49232 -> 29004 bytes .../images/phoneScreenshots/device-frame.jpg | Bin 35920 -> 39464 bytes gradle/libs.versions.toml | 25 +++++++------- gradle/wrapper/gradle-wrapper.properties | 4 +-- lawnchair/src/app/lawnchair/BlankActivity.kt | 1 + lawnchair/src/app/lawnchair/FeedBridge.kt | 2 ++ .../src/app/lawnchair/LawnchairLauncher.kt | 2 ++ .../allapps/views/SearchResultIcon.kt | 4 +++ .../lawnchair/animation/PhysicsAnimator.kt | 2 ++ .../backup/ui/RestoreBackupScreen.kt | 2 ++ .../lawnchair/deck/AddFoldersWithItemsTask.kt | 8 +++-- .../lawnchair/flowerpot/parser/LineParser.kt | 5 +++ .../gestures/DirectionalGestureListener.kt | 2 ++ .../handlers/OpenAppGestureHandler.kt | 1 + .../src/app/lawnchair/icons/CustomIconPack.kt | 2 ++ .../lawnchair/icons/LawnchairIconProvider.kt | 1 + .../SharedPreferencesMigration.kt | 5 +++ .../search/adapter/SearchTargetFactory.kt | 1 + .../algorithms/LawnchairSearchAlgorithm.kt | 1 + .../search/algorithms/SearchUtils.kt | 2 ++ .../search/algorithms/data/IFileInfo.kt | 6 ++++ .../data/calculator/internal/Evaluator.kt | 16 +++++++++ .../data/calculator/internal/Scanner.kt | 17 ++++++++++ .../lawnchair/smartspace/BcSmartspaceCard.kt | 4 +++ .../smartspace/DoubleShadowTextView.kt | 3 ++ .../smartspace/InterceptingViewPager.kt | 1 + .../src/app/lawnchair/theme/ThemeProvider.kt | 3 ++ .../ui/placeholder/PlaceholderHighlight.kt | 1 + .../ui/popup/LauncherOptionsPopup.kt | 8 +++++ .../lawnchair/ui/preferences/Preferences.kt | 2 ++ .../about/NightlyBuildsRepository.kt | 1 + .../ui/preferences/about/UpdateSection.kt | 6 ++++ .../components/AnnouncementPreference.kt | 5 ++- .../components/WallpaperPreview.kt | 2 ++ .../ColorSelectionPreference.kt | 1 + .../pickers/CustomColorPicker.kt | 1 + .../components/layout/NestedScrollStretch.kt | 3 ++ .../layout/TwoTabPreferenceLayout.kt | 1 + .../search/SearchProviderPreference.kt | 3 ++ .../destinations/FontSelectionPreference.kt | 2 ++ .../destinations/GeneralPreferences.kt | 1 + .../destinations/LauncherPopupPreference.kt | 3 ++ .../destinations/SmartspacePreferences.kt | 2 ++ .../src/app/lawnchair/util/Compatibility.kt | 3 ++ .../src/app/lawnchair/util/FormatterUtils.kt | 7 ++++ .../src/app/lawnchair/util/SmartBorder.kt | 2 ++ .../lawnchair/views/FullScreenOverlayView.kt | 2 ++ .../com/android/systemui/monet/ColorScheme.kt | 2 ++ .../launcher3/model/PackageUpdatedTask.java | 2 +- 58 files changed, 203 insertions(+), 38 deletions(-) diff --git a/.editorconfig b/.editorconfig index 87cc9903e4..b5297ead85 100644 --- a/.editorconfig +++ b/.editorconfig @@ -22,6 +22,7 @@ ktlint_code_style = intellij_idea ktlint_function_naming_ignore_when_annotated_with = Composable ktlint_standard_discouraged-comment-location = disabled ktlint_standard_function-expression-body = disabled +ktlint_standard_mixed-condition-operators = disabled ktlint_compose_lambda-param-event-trailing = disabled [*.md] diff --git a/.github/workflows/build_release_apk.yml b/.github/workflows/build_release_apk.yml index b3696d91c2..414463e03a 100644 --- a/.github/workflows/build_release_apk.yml +++ b/.github/workflows/build_release_apk.yml @@ -8,7 +8,7 @@ jobs: runs-on: ubuntu-latest continue-on-error: true steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 with: submodules: true - uses: actions/setup-java@v5 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9d1e68eb1c..4f9311ac5b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -31,7 +31,7 @@ jobs: runs-on: ubuntu-latest continue-on-error: true steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 with: submodules: true - uses: actions/setup-java@v5 @@ -63,7 +63,7 @@ jobs: check-style: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 with: submodules: true - uses: actions/setup-java@v5 @@ -78,7 +78,7 @@ jobs: if: github.repository_owner == 'LawnchairLauncher' needs: build-debug-apk steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 with: submodules: true fetch-depth: 0 @@ -125,7 +125,7 @@ jobs: permissions: contents: write steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 - uses: actions/download-artifact@v6 with: name: Debug APK diff --git a/.github/workflows/crowdin.yml b/.github/workflows/crowdin.yml index 4c945dc193..043c6a8bdc 100644 --- a/.github/workflows/crowdin.yml +++ b/.github/workflows/crowdin.yml @@ -16,7 +16,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Sync Translations uses: crowdin/github-action@v2 diff --git a/.github/workflows/crowdin_download.yml b/.github/workflows/crowdin_download.yml index 3e3d61d76d..ac393db7f4 100644 --- a/.github/workflows/crowdin_download.yml +++ b/.github/workflows/crowdin_download.yml @@ -18,7 +18,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Download translations uses: crowdin/github-action@v2 diff --git a/.github/workflows/crowdin_upload.yml b/.github/workflows/crowdin_upload.yml index afb14137a5..83091af2a6 100644 --- a/.github/workflows/crowdin_upload.yml +++ b/.github/workflows/crowdin_upload.yml @@ -14,7 +14,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Upload Strings uses: crowdin/github-action@v2 diff --git a/.github/workflows/release_update.yml b/.github/workflows/release_update.yml index 6f24e75756..e6684d258d 100644 --- a/.github/workflows/release_update.yml +++ b/.github/workflows/release_update.yml @@ -27,7 +27,7 @@ jobs: id-token: write attestations: write steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 with: submodules: true - uses: actions/setup-java@v5 @@ -66,7 +66,7 @@ jobs: permissions: contents: write steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 - name: Download artifact uses: actions/download-artifact@v6 with: @@ -86,7 +86,7 @@ jobs: runs-on: ubuntu-latest needs: build-release-apk steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 - name: Download artifact uses: actions/download-artifact@v6 with: diff --git a/GITHUB_CHANGELOG.md b/GITHUB_CHANGELOG.md index 39e6498fb1..869e894d90 100644 --- a/GITHUB_CHANGELOG.md +++ b/GITHUB_CHANGELOG.md @@ -71,18 +71,40 @@ This is a developer-focused change log: Lawnchair 16 pE Development 3 is here! Contributors are encouraged to target this branch instead of older (i.e., Lawnchair `15-dev`). -### 🥞 Development 3 +### 🥞 Development 3 Release 2 + +Build: BD3.2211 + +Compatibility list: + +| 🏗️ Crash | 💫 Limited features | 🥞 Fully supported | +|-------------|---------------------|--------------------| +| Android 8.1 | | Android 12.0 | +| Android 9 | | Android 12.1 | +| Android 10 | | Android 13 | +| Android 11 | | Android 14 | +| | | Android 15 | +| | | Android 16 | + +#### Features +* [Lawnchair] Updated screenshots compressions and fastlane screenshot +* [Lawnchair] Features from Lawnchair 15-dev + +#### Fixes +* [Lawnchair] Conflict from Lawnchair 15-dev + +### Development 3 Release 1 Build: BD3.1711 -The biggest change log ever, this marked the end of Bubble Tea [r2] branch as future development +The biggest change log ever, this marked the end of Bubble Tea [r2] branch as future development switched to Bubble Tea [QPR1]. See you at Snapshot 7 or Development 4! -(Again) Originally going to launch D3 if most of the issue on tracker have been resolved, but hit a +(Again) Originally going to launch D3 if most of the issue on tracker have been resolved, but hit a stability milestone instead. -This release includes 4 new features, and 33 bug fixes, -Reimplemented some of Lawnchair features, better sizing of home screen, updated README.md screenshot +This release includes 4 new features, and 33 bug fixes, +Reimplemented some of Lawnchair features, better sizing of home screen, updated README.md screenshot and the inclusion of Bubble Tea project into the official Lawnchair repository as 16-dev! This release have been tested with: diff --git a/build.gradle b/build.gradle index 07303ac784..2e486e1ad7 100644 --- a/build.gradle +++ b/build.gradle @@ -169,7 +169,7 @@ android { * Lawnchair Launcher 16.0 Development 4 Release 1 * see CONTRIBUTING.md#versioning-scheme */ - versionCode 16_00_04_00_01 + versionCode 16_00_01_04_01 versionName "${versionDisplayName}" buildConfigField "String", "VERSION_DISPLAY_NAME", "\"${versionDisplayName}\"" buildConfigField "String", "MAJOR_VERSION", "\"${majorVersion}\"" @@ -514,8 +514,8 @@ spotless { } kotlin { target("lawnchair/src/**/*.kt") - ktlint().customRuleSets([ - "io.nlopez.compose.rules:ktlint:0.4.27", + ktlint("1.8.0").customRuleSets([ + "io.nlopez.compose.rules:ktlint:0.4.28", ]).editorConfigOverride([ "ktlint_compose_compositionlocal-allowlist": "disabled", "ktlint_compose_lambda-param-event-trailing": "disabled", diff --git a/docs/assets/device-frame.webp b/docs/assets/device-frame.webp index 02e210ba156424594336ecef744e8d67ee5e2ae0..c90e35393415f0793e45016c1a5d52f56f5297de 100644 GIT binary patch delta 28774 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 literal 49232 zcmd3s!*(T#0z_lmR>!t&b!JiO=byen> zX_?X;>!k@s*qmYy{8IkOwLc-XM?~n2GoTT-1<91(aexPb-!Z^DA>hdG|Deo8h)^}q znA*Zj1T|0}ySoG&Cum)tot|(((xb}ol7jEQC%@1o_pJI5XBYGWKtqppwXZgUQ zAG@#XKf6r7??w4&@7#j@$C1dn_dkvxpgF+Q)xgo9{E8&8Vt)#WNy;C(-R)tZ&22Y8 zm4}>q50&{K+~STsA{_m)nalwKk$PuifEZxv$L{!U+3y?h+k4;h{Cfc40F-^j`QM%I?f2b!`h89Q+yVf%9bdYD z?~9Aam(s+(x5sW&L=Q58pRn%4x+5K7WcNhXZ_7m@>PLGPA+5DqpdpIAG95y1-77ok zP#weJy`t$Ru+dNVSnm<1OhG1eEl=!<)|EjuwzLfuhRl_Yv-~PTXw57Lps}X`nzH$_ zdp7y8+`M#IkC9k}p}(|VogHmOXpa-;2cH#cwQWj{39JTR-Nd^Q;>J+pSCKEk`%2dT1uXCD0XAugYAtN=Yv zm#@nQdXz10aBpXGomi389beZkKU6KZ5R?*Wa33i&OOeXR!cS+i(3s^upgqB7GePu& z{sI|5#v%esQF z$HE}A35T9B=*xmDQzqT`GvfYhM1lM_I~J$7i0@>?dSc^!o-RSmB1E^;sI;%}HgwH$ zCbai;8JvPZlo{nZonEV%M@Co9NJDUSstTG4^eFCwik99Rpp95~#0q~c!Oz7=kUE-? zx^CA;cB2u3P}e(m&!QMFAdTU>Bc>~4N^iqQlRvZBMdwky8%_m`p_b`t;*0^hqqrJ7*B&9Pn$FxM!Wt!E^zcb6w=MNZcc+J9FJS!qm9UDa`!cf&D! zN^Zqv?CslCXR)E|avkoHj4>=8sie*=CNDCr+mYvQKu z)fRVljAwB)M#|E0w4EzKp2GgMJR?iX8U4J;GcxDaNw<~$Q(5(k_$i7*np+qC_6>9A z$VFW=Ue-?=B;f|}Z!+KMs)@FnKVm3p8FNGvNd8TGA}c{@@vWt%kXFK!V0f~qCF_x) zCG#HU@2j8}e9<_m7s)=rp#a`VkqfA>%#61v0)Oy1qhtmCzWI^TDlU>UWfAz6e78

GiEqPLcO2RVq(jh^9WLSQ~>ylyyCZtcT87 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 z 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 UDhA$4fwz;w2HsEP?1`2C+2+{}i~s-t literal 35920 zcmb4qWmH>H({6ANuEE`lI}~?!w;-WFa4V(7JpqDiad!_CcP&;N3c;lmX`$ZR_x;v) z*Zq6v{G4-Uo|&`vI{TTK^LO*_0f0nXT}vH+h6Vtj{ks5vcK|8?d>kBH9Bh1CTwDTt zd;%a136O{g$UsR&O2fv)!OqIW%EHMf`HYiCjE99)NJ&^sT2?_pfkRMLOGQpoQeHv! zKSt2-2?&5hKzb4qdRcB(ZrT5D`8y0C#YI0uv&TSV1)!6nVUVKz9S6|=!-<9VAGrT3 zm}ux2Sl9p@+<#hq5&#+oIwm?6E)EtJHa0rOzmU)|FiEkmHjizsM(C2D@4W2Ru0)!0}!`&5-MsY;ApBC4wv?S_UO<682_C8Ki>X117Kod z|I=}k0?_|Q{_ibl=%g4dWWtzA=+~_06qL}>NnIRWPY?hw zH@ze!R?Y%Y+S6c~cOM?4Q~kV%+3eO(7#Wc(zaVVM%@zVrk$R@__q`nXh;ZBs_wi$aBW`O`kP{Zof* z^g2{eT|eiDngxe>?D+PkJW5EIk(rt!Nc+j@yist(WW?lI<%e zn8SlP$Cpx%J0- zs`7v>E z!RKb7&pQ8t&yDa)cxfY_aNM>Ct?OnNn0_uQ@y7OWFz3C~cg}wL(d}@vwlt&f{5H+_ z@UqfL1FG`8D?Yc6SHHMcD}KM$85|mokolLMXL9qI67@yeJM!fJRsHk!`G2E*Kc@-E zD6<1W3DQgb<#Dcd|7R_HZt)$``%gB|$s-l*z4lXm{^8a5_ZIl2V3aED6DFXdQ2YI_ z(T?pU5_`k2m2S4#<>mxvVKDFxcdbcCoudX4ech?OBtQMB-r`TFKWlo0R$WMOtThe$F60Ued|vV zD#(>oLF})(#?ZeJ;nOHpVYhqJQj`1aZL%YCcjoIGKR49U~Fu`DhU z^EfS8jWDrkjtx$@?3b`80W><0md6xWY_0%{Z4$r;}Z%eJQ1Kdu5bjo{r*1RI!`acI#t zVgzHja?&f+w#kuHF-u5dMw5%x$NTAv!2pnhjAcZ0#dwpOUiZjHaaTW2n9^o*aDh8v z1-E?kKu&8PYVO>iN%s_?w&vnfJ#A^4$dR_4kZDe0RQcGbc2inHzrayp<5j}nXk}gu z3ea3iPl1wO#GPSG*j`1DgFt(10Me-Ox;;I%!u+Py$icd0;|wrof&FZ-2BI9hwRe-? z!MI!YMMSdW{?w-%(>^D>NDmy#T>bm8Fq674Z% zAxbZaY4t+WvKp11w7EGFu`9j_?XK}J;b~rMp%c;C5K>1|AjxVZg^tjab0!Nan;o00g?1UCR+^6)5SCq zV+FX}Xr$3yrMm>Xj4!szn!Am0Pw`o0q$&d(*aS~M1)6?)WGYN>0S4%(Ob4hTA>_D& z{V@~P3ZSXn_}TK8ct?ID(+8`g7htg&6@K^TIF=@?@%V39B__JS_U?0O$SK{sOqAh@ zs#V=Vefista-r0L98nZ$TUBdtQRpo$Mu`TsR4(~=9k`~C*(6eSmDdhfhR^5>T0p-i6=DD~vM!j!wx!@lQ z`Y{MC`hAP*q?jmnvGde1-b)!|+#h-{Xka!dNapo`}&b7tWJ5phgURN((d8-C4 zDZSi_&NvqwMX%ONWE?IHMzYTqy{RDWE+`)&p5zgxT0uJ@oyc!VCHGqQUHj+Pi6UN< z8FmsAf?Y^#z3VLXniPJx+2u{eWEA^hNtq*Og<467ov`l`*n@$D^vQ8nP5P!1lT4h1 zy&?pT)j_5VEl)poAC*bS6jH8~q?zOSnTAaOsqHuk1UWbHD&bC~ZyreWcN>AV&YFWZ zS0kRK6T-aDD{PJFtn>5fr5c<(tpmMWTQ~+W8)H)Lg-_y|Li@F-dT*4Hq;BSR*($uo zeUpT>8|@2;qcXn&<~PXBT!#Rm+;=5urcR_Prdwr=<+bc;X8PCjexR6fMpOz6o_W4- z*u?(ZOM?0@VAecTkI881oafGF0-Gg8X>E!#wiEJ{a?P*U2dJEngsXS8Q}s8<$_gf| zM+s~G$UTO=pS>z-;@s!k@N76ojo(?*6}(ffFOWKM9J5LQHZ!BmS}QFPU=$|aS=BYP zd68qD-wyAeJJ-i9h?YBYhIOP{A9;HLsMH|B+7k0cM1oxlQ8Jk$Uafx;mQdn^RaF-Z zgzdd#G_=f{w!1qz{Eyr(7*b4S>a(*l^YIYaqTJx#NU2c1ORC>$%T`x=Ta6PwSkEQK z<(^)C!C0?+RQ_=NUOuW_8pbkG8L2)F7^&P7TL5>nb4n%HWtk>X7edhAM-2c zlt_Q(7@<|Jus$0MTpS#4%&H7f+)cC2WoGg9j_+shVMtWWPW5Her_X`*0jt~9(4 zI^Tz~8C{uf?ndNH<8HKjHNdVf?<&_CuB*eNc3c;{zw*%R?&BNoTvMwoU-YP`K#MHt zMvq!eMEL4lz&02U-ma3Y`r)NA8tC^^UdJs^3#yD-L!lha4IpF-+f&Yu?pyUs@Oxd# z5uxpIEWXLQr1TjWBp`0!Vw6>ytVm2JsBt%MbPn1Zt=0hwt)m99I3DZ8t6uQYEZwi) zT!A26x~Z;okd9E57-4LTr?{MEi5=IulI#0l7YYz{b?eMv$W7}Rp z5ng*=Ip+!Im~uTI8?Bwwh}~K`I0P-oOjKrm*cZQde{q+rnnM;12B%ll&shK?_ea#? z7Wq9so{2q%FC)a<2kp%E^Ops59G5l1Xzq8c#vH8oif6|=_svB;rO2T&O>Mi?8V>MJ zLiFy}$!~|{4_(Vy=S)(6XPA6bU~#GNoh6%pi|CHAYA>Nf)>gZki7h5uE^I%7NDRG0 zoJX%}B%=NTVk|jS3bT4MVGZ_?0ngSqP`K@c;suHUA*efgJ3karpg?I+SS1?Pv3#c=gL=er~^C2E_1sUh5fFSFnyd zq>UISPcCSWAq6!*QFpuP2wPTB(wz0(us#_*SzOKMQ>cV%i0y)yUJ}u1Er-W_Ndt{A zzoLP%2*?@B%I3{k7Fz#+Ys>sH9-^wHl!`O$5+(IokvRscAkd{_3m_XIcWNrR+yhBB zCcyzSo!z$mRhB3EjJ_9lJa*(enLKQw1qv6z$02sX)M-aF^0Ia3o(_bnr$nvHjLtt9 zZ|ipqK&M{s!_fMHxbwNxbTMssAU6K&Rp#^={&*{T`zJEnGY~@mxcs!CuE~qF+Fg^` z5iay8Z@HCmjsC09>Kn-2n?t&+*;m>n#!8%`zjh64l%*CLN=tWc_w;CH`2%@5r&rKC zqdsHtXSS2LWDH|wsa1a=+XGf#9PAj@a!$JXbqWyCd(w4YAP4xj--~c(l_RiPIX}> zGNkMXYMx%O{P;nk8M#8OLG4;(K$eionQFZQqNn>+sg!l9v6}wvI+({f(PKZ+OJFd1 zztUaQWx6Di(+S)d(ih8i<;>C;(Ji64C1zKi9zvcg*e;SrjHq;%&j~n9@d&2XQnSHC z>Z94vGsJa!2uSQ+Hq_MQ6zC!(rlJlEjSb4!5F+PZg2L}XQ+vLA-sDjbE>B47FnR4k zH-#u(ZH4di;0YC(6?f`l22Qf4&6|Xb?=4WC6$T36k?VBWvZ{Y!2lrrtDa)WcT6JPV z@held&y2@+GG*l@WzF$^Y+}s2ls-B}Ct{07NYXk@7tHxc@Z88`O(pMAKa%A()!9~*!rQ5T zWJUeKav zH4o2^kuCOU;zp048!304mmnYmmKrCE7GZPp;uRx^nafvcBMAOO=|T_$Km1f$S)9$T z&FJD*7U=+<-*cFrp*{9b({Q0Ce3KD%e!WmrpHU7+yi8Jb5n0dppzPC-D8nGO;ra%? zYUISgTbX0aT2iW|Lte7k%=1=wX`mFkf9Mp*NNHt|&<^1oLp9bE{W~q?^pZdcY{hZ* ztH$qC5=~8{JC|3-G)L%3S`l| z%nihGGow_F;trqi8BXvswS*D2s|F4i^r~p}5pr**tc!rW7ok`>iSxTUWDVohaZQMj zGv*g)-1DMzt^(w@Kl-?@YIpy%sy|UtDXjO~ic^DPo6Y&#>pbw1J{Vgl@RU|~v&ZG+ zw_SjWfS>5m=t;Z;Qc32nMt`uj$?0uowOJSNLYUnxD1>9&x}SD0wYZE8V^o^Q5bBFo z@>yo-$ZTW425I<%Q5W3%hClVHn0+zgiC05Rb4MJ;Cm>s~_F~^jS=nWkL2TSE`~^}AODtOi_lR2V8>aHMjdMrmPE9-+j7E3u6URyO zkz@RQUO_O|TGi|iwz=G^w)w;?RX-AM&uj|u&cA?gAqCvtEAB7yjyUfqrKKZC3k$wz zP76x3wlg9p=`7I7xVSYY`(cGY*&E$@h`g^1glNQ9RSQRQ;lI!&|U46olro&0A)syHWh;du&qaE7^YN zQKL~fF=;w-@*)*DBR3m9o1jpFw;cLK{k$WAQM<36v8if(*|sZIUDlcrzkxElY?O4& zxX-UAFz6uDzmizRgrAZ$zGNn}Uw@}XPqu}>hHcjQ7kGa_Yv(Ox7-N<(`ee|^rN;d$ z<*BxA08E3jZ6fZrK5gudfP2zwD}$HSfPrDOIvK1m8fhCOvt^Tz`-)1JtiyzK zV|R_q!AC<-Gy3DIQhU;rGjMM^5EDY-?VW+q(Za|u1Mf{g2OO4Dd6E#+^rF$;>O;%N z9T46+g_N@U`cXB1ro$<{msLQGMs0FZ%$DMJs-mJ=`1cxtAL0S|f{Ywk%c;%3@dHC7 z%qfQbj?0gamZwh-JKajA)KMGgxH55-!xxxF5*m`mf`+Rm-3{dZiqktdAzKi~6#ig< zSL)dd*s*&r$0G)RSdo@&<35khnyDM)dgu$Eg{(+)C@;TN{-GeXwBFJbZ+eM@dbP3r z%rjr)QD@G&oqMB4-*YkV(hf^e91;|Em386s&OPP1gKT*-opR1mrJCdwp*uRtiEPs} z>bV%W`qV%_)$L{_yXIVEt`znn)p4jG(d?CPaGB~ci-&MOU-$F!oOM@(_FT!=<$keX z*`A=7?beV?Ut%mwpTB_bxYog32Q{_VTf51OB?>*1PCwgH$A4xH56UzM6rFZPdVf-0 z5O@oo&|&U>09kKip#|6)fc#N;MOqaR`P&@-4vsnyTp4bwjO!1TDd&PEbd!5X6`v6> zaV;b#fB2KLMxA?2j0TB>H8%0yK+(t(?@c3B-%((g3170U_O3$9zp|9W@4}~>&lWCS zqo{F47NfP5LIipyu%KRArn+-bLGtHdr@xZUy@tB2C+ivG*ok8s^Jc8%{zgH20GM<) zC38Xfv_pRy{Z|&MHkMt9e~ax}3^}y`SwqB!Xn49M&Oh}u1y?1Uws7-2Xsu_I?o3!= z?^at$1rq;$Mpf?kr?H{BF0CnQ*qsihezgKWF_)1*4wFWhA>O$!FuqMGKGpw??p$z~ z`G+adDjulfT08z{;qC1&AaSP!}y+A#b}=eY%#87n6$8}ccKVxLKD_Ozd5ce@4ne>C5^FS+E(D86 z>{D&3boUVHi~$l&sfbKZ#u;t=&h`KoGh*-OS`m2xRzIQ*M6-upH&G*)rMy}Zq`-Te zLf}UrY5J$V-r|O!(*S1E{zn99nUT7VTl@9SP*Gf6eM#@Sj?;mSJ<)!;f(MMjwypue znNR|S_ctwA85_I$g;D$M-rpEzYA|YXbPG^&r$%`e&zzdIQo9vVnBEc|_;L4)uS+BC z$_^Lw7kS=iwhy+bWZfwh1P@e7*^)X_#+hKYJHTf-J8b-w$7n6oEyzaqR9{ZoEx&HM zGdnU0>dBFKC!Gf9JXb=sQ+EDQvHlj~_DOys82pw)_v^1$A6aWQr|q5d5k%WpO)!2~ z4(B_s1N9L1ye~;rcUi*kK!8(ydjbql6KIh zQU?>Ht$RkG@J&~ePnQr{UcYAw2`RB7e;eJF`lS#TLu+Rj}bwS{!J-3&)tyj`RHozkW;(D$im<|3Ob<@%v-$Ta2Lmn z_)jv?c{j_?1}}clsx=Ay@Jfx56!8vB%kGDb!qH!4kq)fd6X?BX__~FuKg1e5_!u++ zKj*Q8^jE!zfcd!Eu!gP11Fmq+N}kikP)6&WeY1`majBEv2|i zUlgoF;^8uzoUJk%@hQ1do7@C*#Q}X?V;VZx`=Xy zJ~Wp6_Q5Hjz@{bnmtFsd-riLE6%3=fj9T zjAJ2;tm%X-Kd@Tnw@Yx(_yS(!>k%Bc5zX#n-hJguw$?#Mi7|e~n?G8}&}f(98N*s^ zKD#$>Ri~TtlRppcB*ImlRLReRQlu&P`*VQ#18@LJ`hJ{B0j)^QVcbC{zx{#@98+zd zt~lg*lyI5{j(F#3IrB#$I^qvhr~MpXS`TLkl?0bO_C_#RnU}5#d4Y)4ow_2Rm%`U- zQlIk1$=YHgO%&>p)c#(>~gKAu0hmsj}{6+ISRL9_aVb5QT2CaCRyc2I4xl*dqV>dy@E^ zayoINohWmg$5E|Z1~BymC+~yURB*8b9lt>2;>re*c&p};j*`h5d|AuDtu>cXmS5&2 z--|j1{V5%q4uURvH05@sriIUC)~u6ynCZO)QsGoDtwScC#8RjVLmSk#w>FYrWh>0# z8*g3&K*H6hJ?w1*kslO5-$7xg%4@otmiD1x6$O@$xa!B#o(>sJ^dapzEIIitvKe{x z?rYMY1^wo=)-SiUl#*c3$f)b~ei&P~<*u%CSametC74-zDP`PBR}~E zV%XoDWh?meY>791K=3-v?0t?-pyWAS6sqxGM$Nw=$5Ke85^sRrMf}Yb2dci=K8iWdiu1B z@S1DIjoRAU4Hg0#YQVHCL_s@?>lU%j`R7MdxIK2Me$-1Z8Xe~k=JpqSD8vaf#?NT! z_=DN)XNT8@PcPVT@6_KYO@A~E&SBfxuL!o+4D&olEy@kM*%Ha=T3sKb^|aoQ!wgl8?Q6++kciGu?dqs4F-= z3wujpm*euaUXV+;6!}4)WViqAdS(rf!0=K)pmdno(;5%z9N1mIXQZObmQEE@cQj(( zaQOK0&BJAt!>|I&?@^zzJ1hJ~t@Idr^YEYD1ZJs{5~Rk`9SMn+ldF?^jdCWl!q6=r zR^b4BMHp=5-JlLazlxk*z-h z#Trq@yAH2sX*&oC0rFZX+YRi!k+8EU72BWBd$Zb3Uq!}jxpf<99@ZTrxDXBljS_ci zggHrPVKNA>=vkuO-z{78%g&;?a@%5Fs}p$q@fy-o>M+1TqO=2J{4ap|ZaT5Ni6T$cCG~yKm~!K@E8Dlsfmuu9k-b-? zAE@=>q`L3>xl!0xHAY((k~DmdPA%D6Y#t%L)W-A*9RfR)?=&rpCg_O>lgcX6#QD_L z{uopge-~d7eQW;V4!+OM!{gzW+)Z}6(=Ge0VR-%+hRhOuZzgK@i$ijHKi*!qs{HFs zCm4w(QM$SPGfTBylGB|5SEa4VS1@Q;2HKmub)sZGy`}2{@$DVlJ5O|eWu%D*NEb&H zZ^WlIVdzDlKTJ=#cg<|M?GR+W1v@t6X|9WJP&0N_qB4To>Vpke|gg zNEe1P{LIpO;$YieW+r+b{zZ@3*OnNqO`oXGFi^PZw32Y}s-48gl^I$*CxJbDhxWo- zqPMS+$hP_87{5R~?Y5Mu*T^^-2&%!gY-B;-XejY$jtS94Ee(?E? zfK@$}QH@)HWH-e6up@5th*q$xWt{h#wW(TE_h{RrmwvQ!p=x9U8K7k%S2r=Lhmnhf zA6KStuQ;@S`kAcJnQ|xhy>?5&82q}eUs*b&bi|y0N=_kSOmkUvM&x^qN?(vFG+s!G zyzI2pv#Hd|%cYZI#;0ng&7|vz?wUk^OBjus^cm|fQY!7FF@2leP46JB724-p74DMP zOK0$V$%$&>fzt(9?|cfv6y<8>`PFB6`-c-Fu6Svrr|s`B1pI_tg1w|Jof zLW1CU>1f$gk@`*o)ToFHt#(5YJ?GAKR7SMM_McAE?*%KsDO1AxAit=#j4h1>rXQcx z*__SCT#-b8LV);J9%isz13bpDB0O^GMG?@bR&z$D378Fw*z?ETpRvYp^iGmw-~Ulb z21j29@f;^A(7exQ7#J8~3(`v5Gj;gcD~*aloj|2q>vdYe=2-y4j) z%>71?bP@ml+iMorhY|v#q~C?|L;t$wy3xRmTRnxb6TX5!Ndz4|cIoitlgdx+Swqh# zK@-!yw>)IhsM=6!6Y+QOy40>NgMfm`y>Wmfmue$$KOw3HbH)u$b(%3!foQIsXw-3H z`kiR@IeVpFbl=v1td3sq(V9^am#j7@>U3_F*x<-TO!wILz6v@mk-Je&) zGe&uMPT`?Y3U@>NMPBt1DHj_FWw(I}!!VM3VaVpyg3D2D3HeVX{r=T?W9^-VT;f^R z;^Oz(IdVIC#GP$$w~c{lvHFs&rso>gkIo)va@!{wT-GTOFjG}?6@`*|dZ79rUuxFr zcv*I+%>Fi~iLv%0PJcUa_{NAMT0kJMS&RMw(Z_oVw@4xP+R5mP%X5`xrb?GhZVy27 zli;DF+ldZ3=#e}xpJT5>m&Hr$;fDqofG!)ZAnY~N0nmLQh!5pmdt5}|z>tW^Fk&su zp668J7yRfhborh=w?6&Pjmi*f^NyfJ2&488=?DY!du{b6ey-j4n);l)>ibR z2wAGGvWkFQHS%&Mzma{}vUl|h0Vyd;%mjXV$rW<37>>Z>Cgoa%*DPP0MZi&yK;BtALlcC$>_SnDrQ9h#jH%1uQj*FZ_u2 z)HFm=MATUB(G`E9!?Atj z8G&Hf@LGTWY`We98Te%e(=EsS$R+Sje>SlYp@;Rr?A?udBpPxxSDa@ue=Y||R!*Ynhodq;CvT;pgAuwL=@yRz2j{WegN7PB@qY-@16 z^^_W?^b# zLy=W>Ma!AT$)s{kbeacpCQNJ}&wBgEEBywGa>eX|jOAr?oJsxaJ-p+lFjZ&+k0|4( z{c&Unsv&`naLshtr7xJ$@uK~~YE*zS!9{*}x^kJW|%zijE&b3#L1d z%VC{^1J@{wBp|2w$^NR;-RnH7TM$V{>3>bw;<+O68#`BUgW80=)oZ5wW5fbQo?=N4 zDHsne^7M5PiI_zYf8$4^8u8{)-&4btl(hYKc4r5@_u`oEMW>7Wcp_RqbsjD#33+xvtj(gwJF^_%I{~2A8-P6m+tAQho`T_f`RhsY)bkX!Plghz`A2G%^P^Co$ zd*jz@G*IG8PvMox%+ICa5ilZ7(O``azFAU#G%}l@RFn3CVKPB9H(XfWMV}#1|EfBx zVu7D11O4*&z=A>J(4_|)H9zCq$4kA5FE^%}F?QquVugE_GEVZcE>2vH)SQ=}Jw$6* zPqRi!4#Xs{FZuK7k!*tODaDzL_8Tdr)ydK~Eqg6@IUzA5>Uil`5gWJT1FjL3x3lTwooqXotLg9oRrLsvPa$$cKn4qPy{iEoXJ z$XGJNSHsoR_IDV+*o-3^CW>xt^a-qA-|g|HWN@R3wtzfRugW<~<|IG!4$j(E7CzY8 zIQjQgRB2RElp|C%+Mi9>IDLq(7Nv;4mjsW;89oG5&(NF+k1Y6k#*Yhd-z$}fORb76 zBk!g+h`fyTp4$j}qMe3+c+He(ro|U?(vRV#7T==}N49Gpk}I|y)yZEKAJw>1w2E1e z&q+7?f#5RGF0P>H94iJR((oCN(AD^>mmvmNnwNJh6A}bT5&vDi*?tUHW=ZJRGQN`k zW~mTi%-idyIT4xn|ClVXSFD(WDkqDAwS~lwcROoEXT{kOF4Z0}pjv1Sy*5O{*=fqZ z)r{R6X)+bR_|t86WZ$UuuuUv=g_?X$v4MxJKFoO_S~%9%__)^`2TvL=>FN3C4YyoX zvjB6nB$ie?{aPOu*4hJ3Pt;=rrw;wy9{i48nM!kPa=VPcfqZP!>j36YkUTwv7**7G z3Co}^yzM)`%$N20Ghft8p^84j=FO^)>Q=wB^0)1j3SlrbQ(H)3rpEDasgN|wtAtk9 zCquRw-YSm@;;GQzn2sfIEasbdlWp1jHW9b^aiN(a@d?8)H3hrE5p5yheVA#ObMoBG z6qDl~ZI$S{RL;IcaN3CH<6${5R&)W?9KGHwD##~9-0`RFrXYXE37?$Lvu87i>0MbF zN>b)s23&)HM4a5{xRdST;^DfYI~uj^gAkuflK1W|^6`_G&i1F|5y6H<>(nxSce>VG z>IXVSfh_+zym2!q!DQH&Fgu1PEQ<_#^D$U9I{CUWoMvkCSoZcg7N6~g8|LL6Nejy& zyUf%8m)!^LjUmOGxwJRvC5;tvUql9wD6T|qeBM><2a1C6qrU*2)5c41Kue3O$=ZZx z_mub-s=YvPbzQNgRPUW@YT3lLEjYR&rM+$N-MVPsC;`|ekwlm5G$GviQpJ;?UpC}T(Ks3N0*!eImXrfJ@7FuCyO>e zFYL%~;YAx$$LX)vVe{4uVs#t>92h1GBvoR6~BW>w|s)UqDWHsx_0pLQ50MGsCaDKJ;3u*e>w@c3qM}6u(n-EIi(a_sQB>AKN zjD4IwcgVV2{X}5HuxOu;J8DC_KxJXGW`Wz@H%lX)Pj?nqeu4vGTd@uSvlxxkB5 zx6;arPwhP>KTO14Vi%E`U#$~=(jk3;~p%ZcXv8W_m;NQe>u*U!@U3e|nV% zG>f9u9+cLWoJ2Cj*BP@{cxB(GU;QML(Xa`3KqRBH2b2V3k7%PLewzrF6l46W@+h$> zbE;oNB*#Vuo=s59s>Mi;6G)Ls$BmiWTISR-j_%<~7|F+iV8mh<#kjCDzU1mj79v)2 zB6=_H1=}G9DbIQ4D;5!xft+48mHh^|>0%?<5xbGlsZXf(ur3TkC5ULwuADPxJh$Jm zpD|6_+T4!rGkb!9rxcn~gsth?2cKft)scrEUCxDT5$1w1-iBySGUtge>psC-Ruudh zD=$w(oa%Xp@D|a`M%TxK&Iwm=zl)~<&MWiAn|Q7*1A;nql=^1i+4q06g3-I~QNWy2 zam=0TKP-b$r>iSk^m^amCT<~r!|XD@AWd~`EFqB<4pk_O-}#_&9yy({N9e2HRm%X(H~sr4S+x$J-)!A zhliYmiu{dd`}Xm*X~rBGnyB?X;|j5VI+Z30BYtpgI}dJnSf*D)m=zrNo-FO&M9;F> z%_7B?bcQ=)5e*IrT1-iN+x%l|QyBU&n|)QD1rH7UP?a zNT-=LVRsXB~?^|KOYyex2^Vw zK5dFYEzHa&3^u(hGrwsNQ_vgD$i-X1_9Bp>tT|0-G}b4AaW0%1G8QmK3)<%oJ2ZQlCi$l0)uG#;O1 zPKP-yk1W7bn7rSq^Sl_ms*PoZ3kmLc=j4l>^D!`mB_s-?ka7lM9q2as73Q^bUPpx| zEZNxaJ-dAu~-T*lV=qO0ti zv38r#YYA;5zB`}|ygPIW&s*8~_|hdrqK5SduHGFw

7AGvkI&Ut^2?L-t8y{Jd=C{q zBZ3Z_r}t0kaW~yg!`$U82f6e$1=%Cj2W9Qj&HeBqis`DdMUD>Kedua~=9WAR&c8zL z81f?NeVP;|Nhn#-X;h=*?(H7FsPemk^+4B3>v4x5f=vRw87h!qpovhzNl)lzoqxiM z8#!__oU-fw?G>yUJlhqftRJffzBTM5Ug|m2?ZECZHV=X8+^~0AI_Bd>{@Kj=ypC1w zpY74u7ElqIcz(2(;S|@GTkq3;upCwe!sqX8kB~AItTFZ3J#-Asq`$zwbBv~lPvDi+ z5a?jg*TM5gRhmPm@S4e`!&c;$wqt;oN{1Lj7Kf~K4Pt8;f=5>w%I+~{w?d0OiJB1q zOx@$3Pqej{zVl>w+vsZCFGe*7WLlgEpO;$*K$b zXPI{oyv^xnVV1q|PQR(JgixGt-66s9I^2x6E)JxWLmYQ?lW z&VV67al_U}eUlp0kLbv1W$^nW^fq+4l84iLX2r+R3$YiX7J*ZBQ#3MEKx&WMDhv2PypQL3t2|^ z2a(sm09Sdx_xLyMv0KKLteyXIMsNRyo=zHTN%?z`d*0rS1ja!#5BC@yL17&#wz8s9 zuClG(E=fmua!2)-dT~>YR}-}9d6|ZI6s&bw!*a4f8tr+A$^r7TJ6U0XZga9mB*1AX znkOx+=Vq}AM~~xLzbFIS0_0DiMN>Xp`v|*D8q6_2W`Trro$WIrQc3a)SNx^+f`m}CHTiUS=5ATT9Q>- zg9mYxyQ5-Z0?-q=+2W!S=Q^%Ojl65DDbaT2Co$Xf@W#YhI&mt)O@x+=FFqHUi;G8u zSNN*EtPELI59ZYVFaA~w7iqQbwx?P*kM6?qM2WVqlxWn!HQt%58R0A#iUOlMg46s} zzHIh9VnlM^*h-4EA1buT+sn-OzhNcRKDJ#a{p!y>Qdg)S9{J_j^~5gFSRkL`+vWL{dMQ*)nj) z%#{YJI7~FXK5IO4K|Yg{&8iKd33st1YEC5+1FWZHW9ovjU^6E{qKYz>B&Azpl3pbe z#WNexsrPKQDmG4`$l1L=)^0<(# z$N0UO9kEPh970b_qTTXxY~cncNm>7)X&;S+pa=*0%(J@8RDc>-B)`aPKe>)SSkLNu zMMEFplk1yL_^${t57?#9H75Hc5*@-8$P2Tj5ycD835dq+?ju3)bj}8{sRVIyu8)JW zyZf7oBYMkZ=5+GB?gG2Y*24JkfE{rQEeqnuJsq#FYIQ!>P&{d~`%0@vZ|JBWX-Kbo z!+VYsGMatcmf#%vjMy=OTk0^b(Tnv2cpgws@5zQ{^7Yv^#pxGmfF43y^39h_Prv2;Yp9#RZ$0Kq`tf76t=&B-!#C9@I4}uRm2`f zZafKw9%X*sJdC2t^n?{%vrvI+04wKG+ZUCkl2>9_nKlzzY3 zmxn1r*Y}~GVVR!1M=&EC68ocly1J7qSILZfa9wJM7JZeu9EBPffWR=W@}B zZcOjePeX*KdFPq%qzlaq`6a;y@0y6NpG6?tW;~One|=;_d_$43&tBKSr{nD2HZqfr z^HB^w*KPULrR{L`7og;4(82YOOSeZ2V>Crtdj;L3U^aw@5Uy@hmkfrvKJ06rj08$; z?G;i>TL!tYcut`qQ8)JZtqJ4-0sBRuAU^A2Q$y!0O6G7YUhz^d_2NVEwfWHA>&zLb z(|782Tp9;i#nYCu@&cv&#@5fvSTRPld|ILXmd{>$nzK>?ADg|t^Q=h8z5C^=Sslz^ zg1Al-hcECHn`V5!Lk_Y)%BePztr}keQ{EoGUZgx$DBwN_58a*$5|=9_3jv`g6%xn$ z`lrHAKO!g&yNte>Vs~tUKlP8=-BVQlf#}DLL8dqL^$2(9Q@Au==oky$PLn2@SKAAC zgE{;YumjVZwU8AGP`v%hrest$s=JQ0&gNn(N_C6LDEA@2Rt2gyv-PiO^?&$!%cwY> zH)?S3;I1=R26uM|?(Q07a0{*>xclH5++Bx3f;$8Y4#C|6Bq6r*`@g$;_S1gpQ>Xis zoUX3wNAA7lCsU$Irjej}`f6)em9Uwy==zITlYO3?%CE8^ECx>BpR~@bjt%rbDo7Yt z3cj-%OWP2x!CJ0v;l(`4fFf?&Mr@X|%s%XUG7aycF0-^^3P2BFef{fhB?q3}VT-pf zO1`dN8mr4p{Isj?k+-k!6~bPQgKZl}&y)4XbqB4|Nc##Ah&(tGzq+QRbXRyoTxaXb z)BV{mW*a#cBa^S4J-Iy*%{de(c1V8LWrpP$l0$(Jc&8+o7agYCh7DgePi3Tm%qe(O zW88dnPQJ5@ZfN{U>_=rHZG--cu8m)bpVc9eT{F&ES^lYY)E8~|FUX)@9aUhRo+rkP zv~_O@UixONy^AvR_m)6OXX{rD5wy8X_?|hQjKC??Iza#n0~0gyp0os#c~P;3i3oiv zB`nLm){GrwmV1wN?ql^F^bhdOr}8i94&5*G_B;H5w?Pa2*cG%^tDz%5qED}|Ykh+F zNlR6c9be@-RThSg6Nz3C3CZdrNX3Eh>TRU5jzr|(NVOB>-vBr#OrK=WFKGU|bJZzv zzR6zPonegLi5Pj&udH4M6j^^c9>Fm54)lk%;0okTqzm&0#F##4&1*n?hhkY5s>STn z;juy`yWe#_aaGG$4{;-j&<);6gVmx=#J1SRHUGqPKfSi$#$kX3(CrQ0FF4VyJIWY5 zWo9!Oqi?l`-|1pO*G%SGC02@DID%!+JdrhVW^FoeF642Sg^Tv5^gAppZPvY=tM~_{ z1Ha|_NnZ3`Y^-ysh17onCZwb~;M~`+SzW)QQMDRWEalc=aL@@wE!V)WC7W=6dCmD= zK6hJIGRvlp4i73|oD#B+weO4FG!fgeG2}kD^wD}F<~NdN>MvFZ2ExT`--7Mw zCqu5iZ5xR*UDToK+x?l}ttrHK#2Yw>aKgb_JnVV>8O+gjvnC z?HUg_-M1PM!5y)eZV4ni^J}_#@zb;A37@ESc7{B4IOx-q-Pg=rlaoh*ru#ZW>}4Sn z4eS9fbgz&1hy*bdSjSUb*Ei46TTfFNSv;sBA|5XMB7z35Ijd^?*XH=!g(>2Ak?Bg;-A9qWT!|{(dN_oaG&7Rqr4T@w)f+Skim@Z7Kpz@ z4zS=t)lk{^Zoe`meo_AC*Q|lIfY%c7$z%-BrcF}^*GkeVSC$!vsuaZw(1H$wt@}$c zRt8d&ox}$<@wQHQ>*(KvX>-jC-Z^ne#mkwg;-ihADX&m(B^XsXxkk>x zY7Q|n{)r+N-nlj9qez@&=3wh_90hdj^4_MlhHbu7iHonx8ag5!Jl+f9s>o4{y+6frQW!*qxW4Pa@jBF7LGUZcEr3b+TB zN#b}XnMG!Pzk>e!=yE2j(yPHG?yAqL;*cHg*}}4LZd|!z-sQI@FQf)@aVf357TbP; zM^0m#Q=mE&O8J1lO5WR){HH4221C3qLZv;W(!^l3&mk<`;a$}k zfD-b_E8v`LqC&u_P7SKpgv=EY|D}oPxWWAhcUdTVeO{Gqojk~6g%il*Y+g1ycc5xy zwFGs1bdaQ(1WUANUnpDYV>RTyL(ZrMbG-3>4Q5G zFzR=fDd#+wM0uNXZKV582G8J5Q6DVITJ@-yPoMN%rq=(~y#|Om>#r20CGBkB@QR_6 z1#1c1fA*?Go#uNJe5M-{12jGDaY4y?R!E=Uw|!pzs_Uc0y|U3;3rSExn-8N~PjRCM zC&P^$31yl3d)_YW1rYkQ4p|4+ZVoQCB~^IMhbq1!49|RWPvPHa5jy_xDv3;b<13|< z2keQ}3ipt5Tsa9+qD z$#hW642m7q3AyBy`k-YvdqTbg^pIuJ)i$0A_tv8`);E(_{+t5uXLRF;LB06@a2vzt zVTWKLeBC!`!NU^*=mIfkWD^w2ul~oAQ<&&o(d#gh+7u)FvN~#JwFYFr@B(pMe?fhR zn_h9XhTIHnD*xcbl)`aw#zP>atQN)qq@IqNRJ0J<5m8=?a0dW)G*eVXG&$tP;GhvUN3h>DI%9mJ?{ov;j!n z%erlHvRqRPg|EJ$cwOh{cA!618;PefAZ0$;{}z(h&5YtX8G1MPjEENA5`C$wWgu~i7umU zb#Em+*T;SnW-rC)K&e7sYl~;?QtaB5xfoaO=(t#d23lTHqAkd{(~&Dr82+gMt5qkb z!al38a*27CNGB9PHpw){dfTeZC>q_ll$EU9n@>xyn~i;rfhN@E#n(e)d=@$mmElVSTCT z2%A<4*LyMvU=mFcV>)`nFrhfkJ4oo=gQBmTNq|1rztG?k9o-;WW;_UJcMr@cQz0xO zYTd(ge^ch^>3N`MI*49j{-CPRfIjUSSx;X_9#>3PXL^FXy`2DS$Y2jDtrg2M&}(o% zwsTc_m+BmAZ7>)2#8)6tJSC3YXy*Yg`ZL3^y9hv5G0a?Ck;5+hp0>c9cKHurr=I&| z!*!kbeU3F<%t}kFF$S*aMYn@j-${J?n&AXcdBAld4Ea~H0<&&{zK?Y($pRT~6XAb^ zYU{VlFjO@7_=m~b{q-NwG2RXDiU_^_j%dQS#?1CR(e7;r8kgUilgfApe0{5G>Hw!i zOO zug+8kwxIaTj_|AO!|9b{)Y?|XZ%WhmH(j*^IhIT|v5Q|(TKbD*Txg~TD9&fCc~}AK zDe}IIuBISQmnfS)TUvx9oUBnfc8pKgGI*wKX=5ezm#(324}0ex2*NaY!?^q;bP4q7 zz15nKFfkqOK05oUUFjlO!{%<}-9U0?HVf{7cj_J(7AmZR)H!6|8zT7D0QVMFdX43} z2rj$4s|!X=&4b4RfXiPBiNjY>W-uttSL@OlB(vZssR9<#8q@Jd8*Q1}EncISdxmE< z!wcj=vIoI(o67xNClaJl1{l)5Agt=oHVIWZ<`vtlQ=p$<$KDhxe+8Z}u~lGCU1Rhd zpj$h@OJPhvvt6V4&<@>W`i)GLCp*`x9&tvY{`k(c()$S!6lp)r_a&d?N>o)wRpSc4 zTx;f$Z8Z%gm*^hbUF4sFI{1Vpbdip<+d)^Zfpa_6VOnI1?{z(c*y)(G&FHRCTo7>4 zms+u8Uo^5a3TZ3%FvsW`Vp(w_p#Md^|KjrJjMdl#5A-$Gpd4Y(QaK$PChdI|9J+N8 z*AL2O+;_KckTx|-e!x}u!70zt6X5j;Ql6Zk-TG#X>$lhrG&cYOk1JcJF!y-=pX2Ua{O8`w26SoKa0Aq?H&nt zZPMDgUZB04un&nu9JLkR1@>>&<8hgdM6z^9s)QXcX~>k8R}pxvXoeSkUpI~)W z@LCvhYgOqIw|W6QE8Ky0u*)EAqA_SqAMu0Sl>n7!VEIa--RzPuLHQhe+G*h%{X13J z)&vXg!RR@bWf4BP#Fkj)r8#cTu3kn`X{GXb3GKE|^}Zc|EA4UfW(k?w4KyGrzUHf!bWO-l$EK1laHM!T0gS)1otO16+|HTy z$BE`PVkjB1t|>tBO?{1aKw;==yuiYeI{(B1(&`cG2WN_{%4_dSt!&Glg> z?AL|d2;Yo87;9A#q;+-u|p%97m?LCCz2e*PoRAA;Q4txk)bqZ zxS~JB+q+W@5W)gY-%mXIjUYEheKDM&qr+)9l42oJS;=Avq@tE}a`bC7Pytu5D(F(W z+-oL}3&(m{qz}4gD$xIm*~N@maItmS#O+|EbvcWM%=!aURApE^Tl5YThKu8e)Phaq zm%R#?xaU}si8`KtWzH=PO{~WbIK2H^$**dtDc|5{^q?d|*BNhcx?Ksmk|3#QIGqA= zFi*eu6KUCxn&o4N;}?FrvXGdlcL^*gwezsEqt&lbzytfb8&&Zs zqvIPRp{Kj!lq%oCH;M0A4UBvLEPG_3p@Tg!lveawk73ZBFF2t3R^SKv`JppU{-DN9IxQ;DxKMSjkC?{QUlLs zI3u>{^~MI<^0prP$8Qm#GV&>{6~GIDr$&_>+sIhcxn|E>(`ESj3->;oI?DgO7Y@OW z13dN&zf*RvJPB_xk8&s(&N%q>#R_~^cz{FkTy7Rl?lEzbZ%c2qhks4j_yPl1(RS~~ zkD~ZuuV7YD`^iTzGX=Q{>KH5B5`O*muM8y7 z0;W1`Xdn=uyQb8NM-Kns+jhgs-hOI?4K(4|34Z+Z>g7ToX75%|rnb!L&irEelftWV7uVHPVz}X&tg4D* zcA3b5Z&|DRUZh8C51Ja2;rJFVXIa#CW)1Xp9Xb7;qYoS4L4+M$z}5Gpw5}4z!GtEv zotO#EO4`6CPl!o={1Zc|5xI@-hM!cpWxeRDvG4G zPuX)I6$#|0rqmEBYY|)Z974yYy6uy{bJb~}5GUJ}V0$EZ>ZcK5}^6$=yF;lZa~2X0P4n>6I(e)O=XN>(a8EMU2m;LQ3Vy9eNxhUJ>Ha% z8IY?MLCi;jO5_9WON6`8&s}M$s2`BUel+~5vW6-yUeYX;>-f;O!$8E>w!_y0PI(~Y z4dRf|pLnH$pEwa|cJ z&>MxFvvFJU(#xNnR4rDx!TNng;qV~dQ>S=Ea*%Mc{uu^E>#*~?F0DA@?(I7>bI4Wx z$Dw;{lH-r|pMQa4!U&pznDH}x>hYYc11=-uZm7OK>K__zK{rFFbi2$A>q>`DC>nMT zv|i|5z@+Y}n#~+;3jC)iHBP=$R2XJ$T7G|fne=8)Z5Y#^hy*(FXo0@(?jrn{4aC_L z&D**TT{geptFpaL&a+P04kN=ZNW{mqz^Uzi>o&>s1=+(S5{bFqquu{jodK33uItOD zY|l%?=~p!DPp(i&KAzyTrE^qdT@{)kkv5J&1oUu~a|_E!BS#p)NYL>cKBCx5X2r9nOr&wRc+kYSg6WZG@f}(E<(;WJMlhc(0>N%)m#xV-t zYkMmYQ>Te{2+Q*Y+En#+UTyo+(DFHtU@`f6J*tryL5ZPsK-{^ zVGP2nfs71Asl7q<&T6WOf?bZ9c44i*Ho07Ie;MuATF**!sp;=cD_QzGBA+A{2+Pdz zHIYjJBg-|ex?9+e8mKTL?Td!<%DV{cnyg{ZwFfmAN@rRmb0Oq~?;LsfTladRB5eu> zLCd4mIc7b|$89>DIi7GAjj%5g-pcB>qjuApTctE;&AXL(Yr)BnJx?_>4+gIjhjg&V zQsQcu`4l$4#l$Ijvr-&P5Q*IBJ1;uWD6=V<-Lk}c3Q=Wr2SF;}-DlCno;2C}9nIvB zYP1oUbI7Dm1C~H4w#K2)3NZB;Wg^c`Myi9$Z zr#xY49L<-mH|`%`)`8%?FimG?WnDy9UKYs%=Ib|ncR`J zTX2h&iABZj0t#RqyxrHlb-9AC;XwCEHkQvE1cV^&uP=;ur-S(U=kk%fQ@#8-O_aovlOB||=G}g>FiNVK z+g`;a7Cgu(C8@HjRiqvD%n`mG#2q~Ji@O z)hm4yd}`n-KI$*A0}@e*NNyQtujcH_b72Ktv)$pzAPs zA-VvU2Hfj0)wg_Nr)sobAY2Y2Rb{l~mGrt58lg$#_}SJ)HQN+&%tfEGGd4@4)-QeO zv&Eulo7X?6zc`VTu|^SSd#W#uSGG(~O-_%CZC`2k`+WM9^4!Gqe3B4}_dZPYW)dHd z<$~S%w>5P{9)oyatyM%>$um+nk)I*2^#ad!#JAs*Ehq~493;nCLG*84vp-3D?k6EX zNM!7^Ded2ddz}7~$-4g7X2AFv4i6L_PgDaZIsHN)MnX8~v=?dr0Y2gX1DpdR z4q6UH)JYd$gy3MgM2k^cQwL=p&lGFT@=JBiS(*vcXOGRx)GFn=(K;n%OGc2F5C;?S z-!J+HfV5QjQmAh9Fk9=}CUbr?Tkl21OF0XEHPi8;vBphst|5s9nY;1d_CozOddJ$_ z?X-3ToPc=OFuc))ifT2c0~>%AW;%-zW!;EiXy^*b(WCZ!e!b=?%(P9|jiT3LUIT}u zv?HB8$^Q&1R($g4j`swVlagyJhHvQSuQQQGi*9}AMSJO< zWuBYh*vT1#YIPLfe#?ES`&u+TIPAs|GEeg~AfBnS7`aZy`>dgaAiE@j4LZjDPSyOk z@G7u((3wIvux&VW+X*u8YGUe$oov!1i|KYSBy~``_`7%I5LD4^70I)jKZz8<4hsQH z!qGn6cnM|9k?czD9INl$yUI1(zK)slrDSLQ@o>UJ9{L>Ui2^@Qu4$gn~sL(bJ|s9OBc&`Xbg&?^u7{v+(nv(b9sD)^wTejo!bXN=uwDEy5z5Z?rh_Z5i_|F`IcHDS=bS5pAvM__hN2IT!Tk^K&p#DWKPZA5Mm?~ zmgK3|^?E#GW8S;i{Xj*<_L8f`h!w&CUtOstN%>;6fgRq%rieFb;ijK1|5k7T)r_(q zRYw(^)=>nKjO#%H>mxZiE-P@GfxQZLDqMA?<^#ufO0ql99R=Cj!f6u>MVrVmG*v)8 zcdAOZl-TAnPYfvE2X8&9!92I-l>YpqjgSY7+Uo9GDhcf|vvq3D56*36Qgyn!Ai~6c z{1pEx9Dikn-?~N1`*AZYv_9^&4hpNoj^~lm=?6zwqF__EwkYwej=iE>>JB#C?u`kd zqw9>=dsY<~Y)6_wH0AvJor-*+<7v;JGe=1pbcf`~p8ScW(d`*C?VfR@q<4pZJb7_| zCC}Z==S2nL%WvZriAbKP=Mv$g6?8Eacy0JDa%F2Q!rK`7GQB?TjtbMximx^A=QfgY zD{tmgZV9-9@XBGyLzYs#3B{2Fbt82Jf}HYcFn5S2xf+Y{*$buD{Yl8{$C$j5Ky^K& z>f6_-zZA0E86Pv2^3=*nlcHlGI99aom9NK`Bp@^8>z)mv_=BuCPs=g?05}jMi3g;B z9MvE#y`}f+D>Hs_wDuI?Fsq+gdR+86#ul9V59;4(mWwYxI;l9ynSLvHtJ)fiH-0#( z#anc9~NdLQ( zV-ib@77oj+{8WVbhpWd~@TJ@Plh@|qXO6*(T@n5R@{dA>u#4;9Wuum(<(I$Yv0 z`>!luLn!SAXc&xH%xV?iLCPZ&`;%G+ntpZN|C|7*1xz(oHKP@iun7(gd5Z)l|)=4TvCRH-iLN##5Xa`*fW74LO{P~?q(Rqn4#q%5Qn#55x~0b+yiHl2UV zEGcOL?FjkBXLhM5w!(v*S7g}PA3I!5DGv602HTE2Aeq+){UwDfei-vg+!WKZ zP&HOVm1|Qr@(`K%ce*XXhYJC^_4O!1YjRU84)~1+A42GSA?-N4e{gz7>k?XMz0>wCZ6XS$}v22QEXZ;M4@+J zLp7((^^ixM4#QKbiNs92`0Ii#H@g~zm?mKLRKH~leX>QZ>f9uJ9{5BUk@u7B!aPx8 za->*(T-3BQ=;1X(%VM(IXJi6PatDMJWqP*-afQJvn(<{Z6Vw|C5#;D1X)^tB$F?UZ zHp{`JJtOra5XT(i@{7Zo%!B0M%|mU>h15e-N6uCYh2$lWBD7!{Omc5Ms28y}1UkZ1 zYjC|ZH@`09u2^eHN1c!Km_4=y)OjjS5k&R3^0p07^2heZa{-Y3dZ-+0 zWAbl(C`IWP{Md|lMJM`$Sht%clI-*Ozqext8z6Qb{o6>OB zaji~rCLC0OX3Ol49*g#top7xYRAPO1}}4U-S=Vg*!O6-FR)A1a5pdr z+wd9jl*BQMu-Wmj*o~`CQhelAZaT8=uwMGKe0`o#?mm2p-IDJNXLJ_pq^I z@&S>hb$cD&Fl`JHafU9kyhGMl>YV#EnDUDi$z?2_hQ&C!jc<-iMj3Eimi@~jN(+PI1<2j9G z10tfh7@SoUhJW7!{ILZv*$f%-mAvN^e16WC_I0Z}_LxxmXb`mA>Y==_Y_)j@GT0VR zap{G3_O1jMe2wt-C07N@=Uj8qNmdYg=$Yb8YjAN85S~#Co&>_98Um>^${0+?zz438 z2dUhxJ%7@BR+F~8vU#ijIG1=^07oo7e{jqWGvzG%teBm)=XRkwiHbxS4F!X2pOZ3NO_Nn=Y3F<7t)Nk+V&v76<{w7I+jYpi51vI^-zP=Cq+)`c$W zy_$GkFj}9#%Hu{yMt2{#!hiNYh^5z3zZ*2Y zMp`d>p)!jnDcMm1xo7PsIeEt~pb7l-Y!gR=ga$oq!S_%`IgZDLFtwsY@vDX@3Gj1c z#dDCpDX0LwHYX862^j8=_}9$V}oR+4|Zhe)g*hF zd*t&-G#5(0OO|`-msWd@$pgJ@|U6B$-?BL>~yFiwq{yxB|@Pyirq8A@$mJgC=vyJu-nN!)_Z%`r8eGnh0l#L3bkHm z2{pw@q!2lFOuow&Di(Y+Nj0_Vmd&ZF1fg&bQ1EiKav4;GpmQTO=pbQ=@>k@9?R;&l z8G(fEdS99t6W;6xM&5;cr%zsiVgLaE$Fq~T+{_Qut*WmHmzAX~7SpG=$a}D?B%TN% zF?I>M4XCqXsnJc!2yWzWS@Vyz5?kXlvioi-ubgACO(gnI1wO-=AI%rdM69X945W@< z1+RRA-)M8K*D2MaDMRsZ2|w`OzAd@_obU~#FbV-z0d#|Syb3%*&DgbO~Vcil_ zayCky*6US;ktiE)0Wl7-CdHyeD^HpQay1zpl(v--4z8nTvX5Uh+W4#*g;@6+xmtvT zb7J%y9yCH}L4By$3c`{;YyOtLDkwgc{FmTyMI4QQ(VLQ~)jD?B&_jc+zl zx!B567=jJR99h^ZQ4;CBW6wzR7FKmb11pO0f23#s8b%iZo`;Auam~64X-5QR?pe64 zmO5td0daLzYA`l?DsYD_#pOonxaIv-v8-WYm2j|j_oCPf8ud~{Csk~eFUla-JL0;S zk9ebO1^LA>RrcRfm_OFsH`XyVmW6yyDT?H#hukX6Sl@}LjWmQhRktU9;I^}Eyk;6AH_;xaj{gGWkS;)K^A+Sal#jCaN1C$GQZk*)l+DG@ zf_mN+A43?h5;jQD>b;G3m7WVr{W zY1>=Sv;tP1Y0Oqv-QozOKsE*(>b32cnA$Y(v)Q9k>6aaj29BsFfmXuR`F#)ZSib&p zq%%#7#UEQoD{fE^!D1`Wx35jRmDUkfk1#S)JX*!U^#ix~t|otSnuo;N+L)B0CsHCI zk#chHLLclzCL`vil)xje&>=cX#ry!4I#$+;10Mq(C4LZx>2m~rCrZ>~Oe{rkdDSJ= zNwsDA$0&3Eok{J86T(yzC* zuilismNNg6Yb#t&_Z$+<7)N#HUV(Z&rGW7y%3vi?ZWG7Dka{gX4 zrLelTw7+r^)KfrWwR!3lh}6TL@BOY6_zEE4$RVETtv8}WnG%o(rtW>aAoE<8`VYV{ zl2XPtESli(J6%8oA=RpNbT@sX;SzUj4M`0HTk00^P`X3^P%VBLe<`HEat`BO$yg8d zI6}OWC)^O6+lbnx1V!kY;P5EHK;m2P$JWJht(YYDd>+QIn9tUy0%!PfZ^{}N-E(y{ zmL;B=@f=(Ge?$vt(cQFP2OpBV%!D}o0~oI$f;PWp&wgy3IfM@+<5``g=@Y-Hk3RWL zDm``z?2KJ0+)PN4xsGqVmKP@-LDYig(Jj6btqqpT&RloQ7(zvsYpsxhLU57Mz>mSKN%<9Zl zo}2?lg2VGpzz7jidUXetzlkl|s>~}^*KVZRJvg)*pWxe)YLoSj&K{dnEEoGedZVt- zy%8^VR(~_a1U7%O9Fi=ivQ^ObwR}4~48{G;)tm~3+ku6bB?3?fI)}zL!!Oi4Td+$! zp+X0T9;J*VoHP2oloiv1DolfTETv_}R>q|M%B@V=3rcyXMtwgU-tif=`*@$7q75F} zW*|f#TWhm*Jn+5!UKK|^+R!BL@$$3;nqTABgaXq~exOxscpXh{RW7p5@6c1NwgARs z!dsB17!pKHP1vcP(``UpSalyORygt&mfOm@6oDdo@^6ujLo&`@vZJ}z4uK($x->x%gu1pY>OqXoZ= zhcNmeqIJm7fmi*07KY5)HNEDy}}ejA?}@_(${%l&~yst5h}K!d9!=mXV`;kUCKJllSDU%9JOy}?tw z17-3*hIry#+8~a8jI)Hw*2k(ca+;NuQQ;LCIqr+8qmEjd>GmDQi_=jLxLA&9)-6=! zUF+mlm|?WO4>Up*&T_%Jm0yfU(&~Egvj(x+!bp%E%&i+(qtN-kXqPwv@K~~rMe1# zRy}Y<3E%c+&F5_}C}J#k^H*%eatM>F-ByYtr#ZF{n{cq>Lb60e>!Giv9q{H{0B ztVe#l{8ckWF}apW27OkycOZ4#bLH4MrDc@Ck_0kS^la-b`jp2sx^=EAiL0kad>5C5 z7V)*N;q0a}7X-1Cetbj6ELnd}hb3<@Mo4$Oo3*ut`V1r+zXKe1$iT15 zYfLHB?@UdD8HV={UUx?)b^)xu}0bPb==ENK+Z=j_9!au-uU-!Ceu7K{U>PEdYlY5zp`TiwCO}GUDPj*1zHfHL>7vK4Z zXN2{L+`3S7@E*l7qCVpnzg@@zJp(oGh%?PFnCO^G3|EGh#H^;ZsVoFg1J_|RzhB-L z;PcfpB1irQ*ta5=+ClEu525!gYZ$q=Svsq&;K(2TX}s^cTW&X)Vg=%+4tBB{zMJI` z>mnnRFq)i<6JjX-R->)|UbtzRfkpF#S#ADhIQm zzS;V~2YV6ka`v#gm@T&u?drb%y-{V+w40v~q_M;3@T>Kg|7>fdym$W}2MTWM)R-dV zcXowBo`F13%S&ed#EmxcBi{$SUO%PmtJsf~{&>x3PP&qApr_1`U>M6gVuO_z5GxZD z%&Zt!){K{fm$q$YB(Fs{>y5qP@mn*Iw8~8bP2HDJ#PLMz`5r`$vv)A>q%ewJUq0)r zSI@#$QBvdCJ8MPO_l;A`vj5e5oRUr)UpGk|saDdqU|JWCmav&_hYQrWngf67qcWvR zR5wQS-e-NeO2EY`-UmjL$Lezw?6XJr2ud>pa~a&|nEmRXaa$w4hk{Q}B9%U!olr`q zyfyDsm>1Ui-p%@b;&mjUAMqGFmWLQqciREh8ASj~A>V*GGkJA$?0oqCp7)8Q&6yP} zY4~><(xW@IB|2;Dh=uyzS(TLsIF=`Pm@yzn_Qgq9u}a`utcDDIZ?16CKLGIu`d~6( z!otDhTuo_hiXY*JsTF@hn0Z@dB4LTxZt~))jgC?0gB&}9Ybs&!Y;?8y$j6{=^By`p z4+*duN`m<7%;dU{5yrM-AXSVB&=$Iqg6A9!894+GdarTPF zhO_|_{2Dv}9+EEMPK$|}@q8O-Fc4n%ST0*<(Q2MBuZ1A|69r*(8cY zhA<{CPA;5?5SZ?J$UbnTJSM!yYEh%TrOQyU>2KZ@CFqyK8b9OBMeXqJoJhoMFE}7E zr6N8`fX~N^sXDQ;w5puf+KMg1Fj`!Ku`e)u7YTg4C0eKASEnpi)+Y!ZZQZ&iSiY_{ zt#R7nZP_U;UD?4DFd=>4%*Z z{noX)X{Xq{Vdua=RMgCR1&-U^8H}Aj`oRHBnHE2L5-S0O!S$6TT(NS0+PQzr?RGPJ zwX^~?=kO8El#f4Knz+P=Jc}j#7MC{&j?bz8+t~lN>|E0k4L^$4!(x5Ck&4t-oJdkX z!bGgIGN;A#vn=qHQ9;^D9zU=sySZiQ*`@SF^;}+knpgTxh&#UGSJnsCW%qQO23~!e zc8br1>sNyz+3@md4Ak(7N}YrqBt>=`(CF@Wi63RwnUY;n9&$)^7BaAfs5xWXM)ci7 z{i;#R1kz60QNbI{hY}$tl`-hvu*}kwVw|4=Pl1S?Zs)Z)fwoiJ!5ZXQa+{DOD@#BR z)5!r!i9Vk^O1miY!KuoSKTg`TT?bF9QvKs zjmXEgxu0qXq;zU+aK}4a`k@evNbA&E2qw2Dm-s!S?8};nNhHhZ80I0|gB4c#gF#Fg zzWVhRPh!EYLY$S1o@UKN$T2Dm7Pz{|m*td7xtdG3a^7MNUxi7Kvym~zkBV($aTV8< zL3KC<9^}Bj_z;9g0ssQbz#lvzE)`H_!K)R$Kd*i2(CsMl0%(7wcTQ|7toZheoD06U z7i~2$op3ZG!1<0{M=&g`W>c;60xqR7|4uHEBXXgZJf*?9DzTJ4MQpr4a>w_8tQctk zqzoBLPg4Zkv)Yap)}qVa4RT=W=7ALQ0g@L&$bul^o055ELxJ!dv+ZhmhWGRj@ez;xC?MU*$%Ty+4U zekj3VdBC}C)zRP4_$H{427BQz>>QEpjDwQQoIco%j(Y%v8U=6oD24HrX5VVcPQJJw z-(U-kN(I@SZi}PLmQQp^(XfvWZv%Puo6-LvzzD|Ee#{O0_}CUQ7?vzHiVmtJwlu5ytKH7$u(vq^Q6C2benI@7DG z_)L#t70n8!CW`WHSwPal=`k3ZcY-m1&&+?Kv;#Ms*bJQ}658w)`~f0m8x(s2K&J5# z7}ed49!eU{7E71c)Ow>!%ytog4yDx^t<#(33n9=}0m zpXe?I)I-;~u9#m8!LE9xi^OULbp9x1ft=#WMxxzrL!CMHsP7unDZGJORzh9YxBq!R zlfU>{5aImBy#LKxke!3_r@KE6{{`_6*50Ns(YCO^LB#EZ+xmjU@>cbbtN=O!pdqtI zf7F_DGI5P)J!~oe_1;J-L9QoM<2J0b33*TVY{Q>Y)c7}>p~2#hwvfJWH&o50!%|Tm zY>t~(x>aTHxAfKZ4lOP(jk_2T+K-{wv3MiZKdo`1IHuZN}jQlU*pFk;>Pj=MU{{XN4tJ-Sb;zWTETF{bvGyJBRc~0=F z0yVbZk2g<8KO3RP$;#s&rhRd(c=&R(8BB~SOF;?DFh9eX1y0x@$U4Q+RiPj2~i`Q`)`0({gC zJr7+CopUNrhmIo_!3oTqaFn@G`3*=aJ^N3gkKS+Ym(PfoRPgwJN{y<=wZOyJ#T;5C z3o;aSzOR2ze=pm<2%Xh$y{k{u5}LmJwVEAxP!+wbemA+!W$yPXNWwIt|Hh6}&DL9C z5|A3SZM5)-M!Zhx<6)>g4_sI+VpS4~E6;y{9~m<<*UBN)jMIR~$8*Kl2hMu@QSy2* zv3q&9XdI*zB{>UG@WJJZQF9K>{7wRmcvRv}$%hrA?|VaD7*K^}1x}|_z@Q1T?DdW` znQc-Ea;BH>wT1F65sdGGWBXlGjv>~bL_F^NfG#DkT9o$j^Q`{YzmVGzG?;I`=hXE7 z6%o{Qk7k;bD)#rsmv3Y!ycx%MB^2h+7Ub901ML|Qa)eBdUxM)$IL&}k+=^Om*D2DX z;T|EEJi(G#)?)6ndK9BhcL|i7NFGE0H?M$VE3{r?#Fjl3?h}JGg8ANy;NXVJQ7Iwm zMc|@~Ppf=4RaZwa%U74r0UNW3&h4|uhQ*^_4(3ozUhJY_n~}&i^iFMOuXNP81;;Bv z)M3WD@t89?9wDz2xR<3BJ1-keBofYRx=6zDI{I#NL`Wbc(mvPSw;xfTy z-U9*kcpWEs9nWO*{{Pg(LYnSB2^zAhvc!uFNTq1YTE=S7H|a+oEQLrzJu zT2UcXMpG2cVROio^RbrGH#rpBqMTAT))1v+e+W#>vlBfQ(NqtEVD8qDA6dz!x!7EpmAzGaRuq;d zstvx@z~U}d8oP8{2)RawU6dkGBo&Q7IBlz}P&iNtrEID4Mt@|dazEKu`PSIL#y%&_ z6b;k)^(oSS_ZH5x(wulLqcB%YbHD`Bx3qPss<0qt;&WdYaIbP@)Um30TD7q!C;1ap zI2q661Z2b|`Us|CnPtxPzE3c%GE5^zSeD08-4;CG@3W$J^tbRipP@?C&bGn;kAodP zXeG1-AxG=5V%PnNEeE4sf}67qD(_xxcp9TD{*cK1QABk*G%4E%v6T#fzQ^6+SH0L( zi2vrI!j>-i{tO+tm7?Drol>+MCZ6+KXbrcZJrlFUx^S65-J5^Z^-m^07RQ#Vx3 zX};@bhP^}grN_E&-k*?~GIkDFE2xdbwl@@U#^U?K`^CVmhBv$%wa&?Z+#!vwTpd~+ zjtjA6-v^qYDYBZFu5DcKpSJ}{)t+62OTJ6qbnT2O?*ZOvtJ$X6haaIT!nh%Q=V_Cn zgO+)&+k_nfgR;Yc6T@h6K5#E`wQGW*07#Jpm6{IERG&B{ssPj%0H<+P95B~`gC})iY)4i0c!NbyjRBC%qEF2B@eZ^QIguE!NUUc-u&MY#ytjR8*T<7qRbDQ zsC!;supvS;i!u6heug(a+&WdS!A4+nc(%H^E8`RNs2$J#9JA1N8&$)9UP%9Mpx6VaP=$C)}=t_tmtzIpnL8J~~y;JL^owP}b?hu(D|&&>;D3b?ZCN z4UhGXWTloXI@{Sq?0qE%X(*=E`LX>Ti#U5yJSlqnH)T97p1=ocH%;>0zaBjkv<<-! zTejeHJS%&FE zW64ZGjZ;Y%=0!QoXS*nDi}eCbED6vcY zh!puQbtKv;oWCNu+VvBZ89N;%XR{&YghE`0qCNlmYu|%buPatNmb^n8iq<-KD0XxB ztkr5NHE0sSnJ`&WS+oD}_`zMKK;k&ZD_&bh{sg^KA=8H$toXV$;`onw7#ElZQw{xO zRMt5$98`GoCumX69Qo=B@N1=TNxEMz=M@jQd*CJxGZ2|>%TJ2TAFO-vES@Wid(1<# zM?wX(7wFT08(XOQt4!z^6(xvLN_Hq#DXJj_{`jUK^v^7`o`hrL+ut_*1OfXC7WGV# zjj_}=G&gw`7-oB}Et|}$kfrGA1mFxphq8kFq&1+w+1=o;$!d$X`?_nut4EY*X|OF) z5AIDgO|Tv$Qjm=S*@B?!i)DdnSglE^#uwNL>qm%wKggy zjBxr#kBezmE`xynTEC`cIB0+{blMC1*y9OhPw)0UK1Iw+xbK}m7119C8ExP3$tNHX z(KBjeUl0pkQD$PlgS$%@&*j7MCu3eB(lmPCbdP*!zAa+kt8QCW61hCEk1-ZO<9n5o z?iADXHQcDZb9-eoM?$|WX|zGogWcZL*{s+PTZV2K63@Y`ulQy`Yv{6rsLA8szcSTH zR`WHMHo2q+7kRy5WIS!$4?^uQ*kEu$-qSsK`4rAUJYkdn(bFw69ejCRm+UNf)J}_J zBlf$q7JfAMScpc6HTN`E*Dpb8aYvwi^5XcS|8!(Qs`yMgai(wUf?65J+e+tBZmg0< z37s1}-EwZdc{e-mFX=uN#A|yeRtC-khssqAew0FD99gYc1%!Gf9YWz#p-@F2bV9KP z*1Q4A<+MdJ0i~-)kLb=bw#u~}kq~$V#R_g`i_EhOVZ)GIkL)M*vOQ)1Qv>bKHWwVdM!aD-J+_p2)8t}1Dck%3~v z+tFy&7vRGM%D7GB5iwr~^8YVr>jJz&m=P%t?Di8B3R8%Gi%|yppb{R0NaE&g*Yah^ t#r?WiDFSr-ek>*u%5H8Ol5KA { finish() return diff --git a/lawnchair/src/app/lawnchair/FeedBridge.kt b/lawnchair/src/app/lawnchair/FeedBridge.kt index f722409551..f6ff2a89a9 100644 --- a/lawnchair/src/app/lawnchair/FeedBridge.kt +++ b/lawnchair/src/app/lawnchair/FeedBridge.kt @@ -108,6 +108,7 @@ class FeedBridge(private val context: Context) { open fun isSigned(): Boolean { when { BuildConfig.DEBUG -> return true + Utilities.ATLEAST_P -> { val info = context.packageManager.getPackageInfo(packageName, PackageManager.GET_SIGNING_CERTIFICATES) @@ -115,6 +116,7 @@ class FeedBridge(private val context: Context) { if (signingInfo!!.hasMultipleSigners()) return false return signingInfo.signingCertificateHistory.any { it.hashCode() == signatureHash } } + else -> { val info = context.packageManager.getPackageInfo(packageName, PackageManager.GET_SIGNATURES) return if (info.signatures!!.any { it.hashCode() != signatureHash }) false else info.signatures!!.isNotEmpty() diff --git a/lawnchair/src/app/lawnchair/LawnchairLauncher.kt b/lawnchair/src/app/lawnchair/LawnchairLauncher.kt index bcf2e0d0b2..fd6143898c 100644 --- a/lawnchair/src/app/lawnchair/LawnchairLauncher.kt +++ b/lawnchair/src/app/lawnchair/LawnchairLauncher.kt @@ -129,6 +129,7 @@ class LawnchairLauncher : QuickstepLauncher() { -> { LawnchairApp.instance.restoreClockInStatusBar() } + else -> { workspace.updateStatusbarClock() } @@ -473,6 +474,7 @@ class LawnchairLauncher : QuickstepLauncher() { private fun restartIfPending() { when { sRestartFlags and FLAG_RESTART != 0 -> lawnchairApp.restart(false) + sRestartFlags and FLAG_RECREATE != 0 -> { sRestartFlags = 0 recreate() diff --git a/lawnchair/src/app/lawnchair/allapps/views/SearchResultIcon.kt b/lawnchair/src/app/lawnchair/allapps/views/SearchResultIcon.kt index ce980dd6f7..e1ca957a09 100644 --- a/lawnchair/src/app/lawnchair/allapps/views/SearchResultIcon.kt +++ b/lawnchair/src/app/lawnchair/allapps/views/SearchResultIcon.kt @@ -80,10 +80,12 @@ class SearchResultIcon(context: Context, attrs: AttributeSet?) : allowLongClick = false bindFromAction(target, iconComponentKey == null) } + target.shortcutInfo != null -> { allowLongClick = true bindFromShortcutInfo(target.shortcutInfo) } + else -> { allowLongClick = true val className = extras.getString("class").orEmpty() @@ -208,7 +210,9 @@ class SearchResultIcon(context: Context, attrs: AttributeSet?) : info.bitmap = when { info.hasFlags(SearchActionItemInfo.FLAG_PRIMARY_ICON_FROM_TITLE) -> li.createIconBitmap("${info.title}", packageIcon.color) + icon == null -> packageIcon + else -> icon.loadDrawable(context)?.let { li.createBadgedIconBitmap(it, BaseIconFactory.IconOptions().setUser(info.user)) } ?: packageIcon } if (info.hasFlags(SearchActionItemInfo.FLAG_BADGE_WITH_COMPONENT_NAME) && target.extras.containsKey("class")) { diff --git a/lawnchair/src/app/lawnchair/animation/PhysicsAnimator.kt b/lawnchair/src/app/lawnchair/animation/PhysicsAnimator.kt index 828a536382..9bcf079393 100644 --- a/lawnchair/src/app/lawnchair/animation/PhysicsAnimator.kt +++ b/lawnchair/src/app/lawnchair/animation/PhysicsAnimator.kt @@ -368,8 +368,10 @@ class PhysicsAnimator private constructor(target: T) { flingConfigCopy.startVelocity = when { distanceToDestination > 0f && startVelocity >= 0f -> max(velocityToReachDestination, startVelocity) + distanceToDestination < 0f && startVelocity <= 0f -> min(velocityToReachDestination, startVelocity) + else -> startVelocity } diff --git a/lawnchair/src/app/lawnchair/backup/ui/RestoreBackupScreen.kt b/lawnchair/src/app/lawnchair/backup/ui/RestoreBackupScreen.kt index 75ac6b9369..ac12eff170 100644 --- a/lawnchair/src/app/lawnchair/backup/ui/RestoreBackupScreen.kt +++ b/lawnchair/src/app/lawnchair/backup/ui/RestoreBackupScreen.kt @@ -90,11 +90,13 @@ fun RestoreBackupScreen( ) { when (uiState) { is RestoreBackupUiState.Success -> RestoreBackupOptions(isPortrait, uiState.backup) + is RestoreBackupUiState.Loading -> { Box(modifier = Modifier.fillMaxSize()) { CircularProgressIndicator(modifier = Modifier.align(Alignment.Center)) } } + is RestoreBackupUiState.Error -> { val context = LocalContext.current val backDispatcher = LocalOnBackPressedDispatcherOwner.current?.onBackPressedDispatcher diff --git a/lawnchair/src/app/lawnchair/deck/AddFoldersWithItemsTask.kt b/lawnchair/src/app/lawnchair/deck/AddFoldersWithItemsTask.kt index 3de173be39..4a63be1597 100644 --- a/lawnchair/src/app/lawnchair/deck/AddFoldersWithItemsTask.kt +++ b/lawnchair/src/app/lawnchair/deck/AddFoldersWithItemsTask.kt @@ -4,6 +4,7 @@ import android.content.Context import android.content.Intent import android.os.UserHandle import android.util.Pair +import com.android.launcher3.InvariantDeviceProfile import com.android.launcher3.LauncherAppState import com.android.launcher3.LauncherModel import com.android.launcher3.LauncherSettings @@ -34,8 +35,8 @@ class AddFoldersWithItemsTask( ) { val context = taskController.context - val idp = LauncherAppState.getInstance(context).invariantDeviceProfile - val model = LauncherAppState.getInstance(context).model; + val idp = InvariantDeviceProfile.INSTANCE.get(context) + val model = LauncherAppState.getInstance(context).model val itemSpaceFinder = WorkspaceItemSpaceFinder(dataModel, idp, model) if (folders.isEmpty()) { @@ -46,12 +47,13 @@ class AddFoldersWithItemsTask( val addedWorkspaceScreensFinal = IntArray() synchronized(dataModel) { + val workspaceScreens = dataModel.itemsIdMap.collectWorkspaceScreens() val modelWriter = taskController.getModelWriter() folders.forEach { folderInfo -> // Find space for the folder val coords = itemSpaceFinder.findSpaceForItem( - dataModel.itemsIdMap.collectWorkspaceScreens(), + workspaceScreens, addedWorkspaceScreensFinal, addedItemsFinal, folderInfo.spanX, diff --git a/lawnchair/src/app/lawnchair/flowerpot/parser/LineParser.kt b/lawnchair/src/app/lawnchair/flowerpot/parser/LineParser.kt index 4a4057dd04..acb2382cf1 100644 --- a/lawnchair/src/app/lawnchair/flowerpot/parser/LineParser.kt +++ b/lawnchair/src/app/lawnchair/flowerpot/parser/LineParser.kt @@ -29,12 +29,16 @@ object LineParser { return when (line[0]) { // Comment '#' -> Rules.NONE + // Version declaration '$' -> Rules.Version(line.rest.toInt()) + // Intent action ':' -> Rules.IntentAction(line.rest) + // Intent category ';' -> Rules.IntentCategory(line.rest) + // Code rule '&' -> { val parts = line.rest.split("|") @@ -42,6 +46,7 @@ object LineParser { val args = if (parts.size > 1) parts.subList(1, parts.size) else emptyList() Rules.CodeRule(ruleName, args.toTypedArray()) } + // Package else -> if (!line[0].isLetter()) { throw FlowerpotFormatException("Unknown rule identifier '${line[0]}' for version $version") diff --git a/lawnchair/src/app/lawnchair/gestures/DirectionalGestureListener.kt b/lawnchair/src/app/lawnchair/gestures/DirectionalGestureListener.kt index 94eb65ddad..4a01c8daf9 100644 --- a/lawnchair/src/app/lawnchair/gestures/DirectionalGestureListener.kt +++ b/lawnchair/src/app/lawnchair/gestures/DirectionalGestureListener.kt @@ -49,6 +49,7 @@ abstract class DirectionalGestureListener(ctx: Context?) : OnTouchListener { } true } + shouldReactToSwipe(diffX, velocityX) -> { if (diffX > 0) { Log.d("GESTURE_DETECTION", "Swipe Right Detected") @@ -59,6 +60,7 @@ abstract class DirectionalGestureListener(ctx: Context?) : OnTouchListener { } true } + else -> false } } diff --git a/lawnchair/src/app/lawnchair/gestures/handlers/OpenAppGestureHandler.kt b/lawnchair/src/app/lawnchair/gestures/handlers/OpenAppGestureHandler.kt index 9a2dfda3c0..2caaed1090 100644 --- a/lawnchair/src/app/lawnchair/gestures/handlers/OpenAppGestureHandler.kt +++ b/lawnchair/src/app/lawnchair/gestures/handlers/OpenAppGestureHandler.kt @@ -29,6 +29,7 @@ class OpenAppGestureHandler( null, ) } + is OpenAppTarget.Shortcut -> Unit } } diff --git a/lawnchair/src/app/lawnchair/icons/CustomIconPack.kt b/lawnchair/src/app/lawnchair/icons/CustomIconPack.kt index 7e5bd76fd4..327fa8ca66 100644 --- a/lawnchair/src/app/lawnchair/icons/CustomIconPack.kt +++ b/lawnchair/src/app/lawnchair/icons/CustomIconPack.kt @@ -95,6 +95,7 @@ class CustomIconPack(context: Context, packPackageName: String) : IconPack(conte } } } + "dynamic-clock" -> { val drawableName = parseXml["drawable"] if (drawableName != null) { @@ -154,6 +155,7 @@ class CustomIconPack(context: Context, packPackageName: String) : IconPack(conte endCategory() currentTitle = title } + "item" -> { val drawableName = parser["drawable"] ?: continue val resId = getDrawableId(drawableName) diff --git a/lawnchair/src/app/lawnchair/icons/LawnchairIconProvider.kt b/lawnchair/src/app/lawnchair/icons/LawnchairIconProvider.kt index af7a949750..c42149cc3f 100644 --- a/lawnchair/src/app/lawnchair/icons/LawnchairIconProvider.kt +++ b/lawnchair/src/app/lawnchair/icons/LawnchairIconProvider.kt @@ -288,6 +288,7 @@ class LawnchairIconProvider @JvmOverloads constructor( } } } + ACTION_DATE_CHANGED -> { context.getSystemService()?.userProfiles?.forEach { user -> iconPack.getCalendars().forEach { componentName -> diff --git a/lawnchair/src/app/lawnchair/preferences2/SharedPreferencesMigration.kt b/lawnchair/src/app/lawnchair/preferences2/SharedPreferencesMigration.kt index 7e9d3312c3..0767d1ab9d 100644 --- a/lawnchair/src/app/lawnchair/preferences2/SharedPreferencesMigration.kt +++ b/lawnchair/src/app/lawnchair/preferences2/SharedPreferencesMigration.kt @@ -73,10 +73,15 @@ class SharedPreferencesMigration(private val context: Context) { val newKey = keys[key] ?: key when (value) { is Boolean -> mutablePreferences[booleanPreferencesKey(newKey)] = value + is Float -> mutablePreferences[floatPreferencesKey(newKey)] = value + is Int -> mutablePreferences[intPreferencesKey(newKey)] = value + is Long -> mutablePreferences[longPreferencesKey(newKey)] = value + is String -> mutablePreferences[stringPreferencesKey(newKey)] = value + is Set<*> -> { mutablePreferences[stringSetPreferencesKey(newKey)] = value as Set } diff --git a/lawnchair/src/app/lawnchair/search/adapter/SearchTargetFactory.kt b/lawnchair/src/app/lawnchair/search/adapter/SearchTargetFactory.kt index 0bfd357bfc..bab72d47b7 100644 --- a/lawnchair/src/app/lawnchair/search/adapter/SearchTargetFactory.kt +++ b/lawnchair/src/app/lawnchair/search/adapter/SearchTargetFactory.kt @@ -294,6 +294,7 @@ class SearchTargetFactory( MediaStore.Files.getContentUri("external"), info.fileId, ) + is FolderInfo -> File(info.path).file2Uri() } diff --git a/lawnchair/src/app/lawnchair/search/algorithms/LawnchairSearchAlgorithm.kt b/lawnchair/src/app/lawnchair/search/algorithms/LawnchairSearchAlgorithm.kt index e331064e02..4fdc860b1d 100644 --- a/lawnchair/src/app/lawnchair/search/algorithms/LawnchairSearchAlgorithm.kt +++ b/lawnchair/src/app/lawnchair/search/algorithms/LawnchairSearchAlgorithm.kt @@ -230,6 +230,7 @@ sealed class LawnchairSearchAlgorithm( ) searchAlgorithm == LOCAL_SEARCH -> LawnchairLocalSearchAlgorithm(context) + else -> LawnchairAppSearchAlgorithm(context) } } diff --git a/lawnchair/src/app/lawnchair/search/algorithms/SearchUtils.kt b/lawnchair/src/app/lawnchair/search/algorithms/SearchUtils.kt index 8d18a3f032..8e6231a6b5 100644 --- a/lawnchair/src/app/lawnchair/search/algorithms/SearchUtils.kt +++ b/lawnchair/src/app/lawnchair/search/algorithms/SearchUtils.kt @@ -59,12 +59,14 @@ fun Sequence.filterHiddenApps( HiddenAppsInSearch.ALWAYS -> { this } + HiddenAppsInSearch.IF_NAME_TYPED -> { filter { it.toComponentKey().toString() !in hiddenApps || it.title.toString().lowercase(Locale.getDefault()) == query } } + else -> { filter { it.toComponentKey().toString() !in hiddenApps } } diff --git a/lawnchair/src/app/lawnchair/search/algorithms/data/IFileInfo.kt b/lawnchair/src/app/lawnchair/search/algorithms/data/IFileInfo.kt index 22bb95cb27..054790878f 100644 --- a/lawnchair/src/app/lawnchair/search/algorithms/data/IFileInfo.kt +++ b/lawnchair/src/app/lawnchair/search/algorithms/data/IFileInfo.kt @@ -34,10 +34,15 @@ data class FileInfo( @get:DrawableRes val iconRes = when (val mime = mimeType.orEmpty()) { in imageFileTypes.values -> R.drawable.ic_file_image + in videoFileTypes.values -> R.drawable.ic_file_video + in audioFileTypes.values -> R.drawable.ic_file_music + in androidPkgTypes.values -> R.drawable.ic_file_app + in archiveFileTypes.values -> R.drawable.ic_file_zip + in documentFileTypes.values -> when { mime.contains("excel") || mime.contains("csv") -> R.drawable.ic_file_excel mime.contains("word") -> R.drawable.ic_file_word @@ -46,6 +51,7 @@ data class FileInfo( mime.contains("srt") -> R.drawable.ic_file_subtitle else -> R.drawable.ic_file_text } + else -> R.drawable.ic_file_unknown } diff --git a/lawnchair/src/app/lawnchair/search/algorithms/data/calculator/internal/Evaluator.kt b/lawnchair/src/app/lawnchair/search/algorithms/data/calculator/internal/Evaluator.kt index 8e9ff478ae..4fe735781b 100644 --- a/lawnchair/src/app/lawnchair/search/algorithms/data/calculator/internal/Evaluator.kt +++ b/lawnchair/src/app/lawnchair/search/algorithms/data/calculator/internal/Evaluator.kt @@ -62,7 +62,9 @@ internal class Evaluator : ExprVisitor { return when (expr.operator.type) { BAR_BAR -> left or right + AMP_AMP -> left and right + else -> throw ExpressionException( "Invalid logical operator '${expr.operator.lexeme}'", ) @@ -75,17 +77,29 @@ internal class Evaluator : ExprVisitor { return when (expr.operator.type) { PLUS -> left + right + MINUS -> left - right + STAR -> left * right + SLASH -> left.divide(right, mathContext) + MODULO -> left.remainder(right, mathContext) + EXPONENT -> left pow right + EQUAL_EQUAL -> (left == right).toBigDecimal() + NOT_EQUAL -> (left != right).toBigDecimal() + GREATER -> (left > right).toBigDecimal() + GREATER_EQUAL -> (left >= right).toBigDecimal() + LESS -> (left < right).toBigDecimal() + LESS_EQUAL -> (left <= right).toBigDecimal() + else -> throw ExpressionException( "Invalid binary operator '${expr.operator.lexeme}'", ) @@ -99,9 +113,11 @@ internal class Evaluator : ExprVisitor { MINUS -> { right.negate() } + SQUARE_ROOT -> { right.pow(BigDecimal(0.5)) } + else -> throw ExpressionException("Invalid unary operator") } } diff --git a/lawnchair/src/app/lawnchair/search/algorithms/data/calculator/internal/Scanner.kt b/lawnchair/src/app/lawnchair/search/algorithms/data/calculator/internal/Scanner.kt index 5190cce396..216c1c783a 100644 --- a/lawnchair/src/app/lawnchair/search/algorithms/data/calculator/internal/Scanner.kt +++ b/lawnchair/src/app/lawnchair/search/algorithms/data/calculator/internal/Scanner.kt @@ -60,22 +60,39 @@ internal class Scanner( -> { // Ignore whitespace. } + '+' -> addToken(PLUS) + '-' -> addToken(MINUS) + '*' -> addToken(STAR) + '/' -> addToken(SLASH) + '%' -> addToken(MODULO) + '^' -> addToken(EXPONENT) + '√' -> addToken(SQUARE_ROOT) + '=' -> if (match('=')) addToken(EQUAL_EQUAL) else addToken(ASSIGN) + '!' -> if (match('=')) addToken(NOT_EQUAL) else invalidToken(c) + '>' -> if (match('=')) addToken(GREATER_EQUAL) else addToken(GREATER) + '<' -> if (match('=')) addToken(LESS_EQUAL) else addToken(LESS) + '|' -> if (match('|')) addToken(BAR_BAR) else invalidToken(c) + '&' -> if (match('&')) addToken(AMP_AMP) else invalidToken(c) + ',' -> addToken(COMMA) + '(' -> addToken(LEFT_PAREN) + ')' -> addToken(RIGHT_PAREN) + else -> { when { c.isDigit() -> number() diff --git a/lawnchair/src/app/lawnchair/smartspace/BcSmartspaceCard.kt b/lawnchair/src/app/lawnchair/smartspace/BcSmartspaceCard.kt index 1803406878..405b61ad55 100644 --- a/lawnchair/src/app/lawnchair/smartspace/BcSmartspaceCard.kt +++ b/lawnchair/src/app/lawnchair/smartspace/BcSmartspaceCard.kt @@ -110,9 +110,11 @@ class BcSmartspaceCard @JvmOverloads constructor( headerAction.hasIntent -> { BcSmartSpaceUtil.setOnClickListener(this, headerAction, null, "BcSmartspaceCard") } + baseAction.hasIntent -> { BcSmartSpaceUtil.setOnClickListener(this, baseAction, null, "BcSmartspaceCard") } + else -> { BcSmartSpaceUtil.setOnClickListener(this, headerAction, null, "BcSmartspaceCard") } @@ -171,11 +173,13 @@ class BcSmartspaceCard @JvmOverloads constructor( ) { textView.contentDescription = when { title.isNullOrEmpty() -> contentDescription + !contentDescription.isNullOrEmpty() -> context.getString( R.string.generic_smartspace_concatenated_desc, contentDescription, title, ) + else -> title } } diff --git a/lawnchair/src/app/lawnchair/smartspace/DoubleShadowTextView.kt b/lawnchair/src/app/lawnchair/smartspace/DoubleShadowTextView.kt index f0ce098122..eeaf020632 100644 --- a/lawnchair/src/app/lawnchair/smartspace/DoubleShadowTextView.kt +++ b/lawnchair/src/app/lawnchair/smartspace/DoubleShadowTextView.kt @@ -34,10 +34,12 @@ open class DoubleShadowTextView @JvmOverloads constructor( paint.clearShadowLayer() return true } + ambientShadowAlpha > 0 && keyShadowAlpha == 0 -> { paint.setShadowLayer(shadowInfo.ambientShadowBlur, 0f, 0f, shadowInfo.ambientShadowColor) return true } + keyShadowAlpha > 0 && ambientShadowAlpha == 0 -> { paint.setShadowLayer( shadowInfo.keyShadowBlur, @@ -47,6 +49,7 @@ open class DoubleShadowTextView @JvmOverloads constructor( ) return true } + else -> { return false } diff --git a/lawnchair/src/app/lawnchair/smartspace/InterceptingViewPager.kt b/lawnchair/src/app/lawnchair/smartspace/InterceptingViewPager.kt index 5c8e488cd5..c093c906ab 100644 --- a/lawnchair/src/app/lawnchair/smartspace/InterceptingViewPager.kt +++ b/lawnchair/src/app/lawnchair/smartspace/InterceptingViewPager.kt @@ -30,6 +30,7 @@ class InterceptingViewPager @JvmOverloads constructor( postDelayed(longPressCallback, ViewConfiguration.getLongPressTimeout().toLong()) } } + MotionEvent.ACTION_UP, MotionEvent.ACTION_CANCEL -> { cancelScheduledLongPress() } diff --git a/lawnchair/src/app/lawnchair/theme/ThemeProvider.kt b/lawnchair/src/app/lawnchair/theme/ThemeProvider.kt index 0cfb2ade2c..b738a859d9 100644 --- a/lawnchair/src/app/lawnchair/theme/ThemeProvider.kt +++ b/lawnchair/src/app/lawnchair/theme/ThemeProvider.kt @@ -90,11 +90,14 @@ class ThemeProvider @Inject constructor( val colorScheme get() = when (val accentColor = this.accentColor) { is ColorOption.SystemAccent -> systemColorScheme + is ColorOption.WallpaperPrimary -> { val wallpaperPrimary = wallpaperManager.wallpaperColors?.primaryColor getColorScheme(wallpaperPrimary ?: ColorOption.LawnchairBlue.color, colorStyle.style) } + is ColorOption.CustomColor -> getColorScheme(accentColor.color, colorStyle.style) + else -> getColorScheme(ColorOption.LawnchairBlue.color, colorStyle.style) } diff --git a/lawnchair/src/app/lawnchair/ui/placeholder/PlaceholderHighlight.kt b/lawnchair/src/app/lawnchair/ui/placeholder/PlaceholderHighlight.kt index fdc560fedd..2da4bcbb5f 100644 --- a/lawnchair/src/app/lawnchair/ui/placeholder/PlaceholderHighlight.kt +++ b/lawnchair/src/app/lawnchair/ui/placeholder/PlaceholderHighlight.kt @@ -150,6 +150,7 @@ private data class Shimmer( fraction = progress / progressForMaxAlpha, ) } + // From ProgressForOpaqueAlpha..1f we animate from 1..0 else -> { lerp( diff --git a/lawnchair/src/app/lawnchair/ui/popup/LauncherOptionsPopup.kt b/lawnchair/src/app/lawnchair/ui/popup/LauncherOptionsPopup.kt index 83388a345c..1509f31f94 100644 --- a/lawnchair/src/app/lawnchair/ui/popup/LauncherOptionsPopup.kt +++ b/lawnchair/src/app/lawnchair/ui/popup/LauncherOptionsPopup.kt @@ -149,34 +149,42 @@ object LauncherOptionsPopup { icon = R.drawable.ic_wallpaper, isCarousel = true, ) + "lock" -> LauncherOptionMetadata( label = R.string.home_screen_lock, icon = R.drawable.ic_lock, ) + "sys_settings" -> LauncherOptionMetadata( label = R.string.system_settings, icon = R.drawable.ic_setting, ) + "edit_mode" -> LauncherOptionMetadata( label = R.string.edit_home_screen, icon = R.drawable.enter_home_gardening_icon, ) + "wallpaper" -> LauncherOptionMetadata( label = R.string.styles_wallpaper_button_text, icon = R.drawable.ic_palette, ) + "widgets" -> LauncherOptionMetadata( label = R.string.widget_button_text, icon = R.drawable.ic_widget, ) + "all_apps" -> LauncherOptionMetadata( label = R.string.all_apps_button_label, icon = R.drawable.ic_apps, ) + "home_settings" -> LauncherOptionMetadata( label = R.string.settings_button_text, icon = R.drawable.ic_home_screen, ) + else -> throw IllegalArgumentException("invalid popup option") } } diff --git a/lawnchair/src/app/lawnchair/ui/preferences/Preferences.kt b/lawnchair/src/app/lawnchair/ui/preferences/Preferences.kt index 82e06abcfd..5ccbdc9fa8 100644 --- a/lawnchair/src/app/lawnchair/ui/preferences/Preferences.kt +++ b/lawnchair/src/app/lawnchair/ui/preferences/Preferences.kt @@ -153,6 +153,7 @@ private fun PreferenceScreen( displayFeatures = displayFeatures, ) } + isExpandedScreen -> { Surface( color = MaterialTheme.colorScheme.surface, @@ -166,6 +167,7 @@ private fun PreferenceScreen( } } } + else -> { moveableNavHost() } diff --git a/lawnchair/src/app/lawnchair/ui/preferences/about/NightlyBuildsRepository.kt b/lawnchair/src/app/lawnchair/ui/preferences/about/NightlyBuildsRepository.kt index 4403ebe981..0b756f341e 100644 --- a/lawnchair/src/app/lawnchair/ui/preferences/about/NightlyBuildsRepository.kt +++ b/lawnchair/src/app/lawnchair/ui/preferences/about/NightlyBuildsRepository.kt @@ -79,6 +79,7 @@ class NightlyBuildsRepository( is IOException -> { Log.e(TAG, "Network error during update check", e) } + else -> { Log.e(TAG, "Failed to check for update", e) } diff --git a/lawnchair/src/app/lawnchair/ui/preferences/about/UpdateSection.kt b/lawnchair/src/app/lawnchair/ui/preferences/about/UpdateSection.kt index 848e47d433..3c81ec3bc1 100644 --- a/lawnchair/src/app/lawnchair/ui/preferences/about/UpdateSection.kt +++ b/lawnchair/src/app/lawnchair/ui/preferences/about/UpdateSection.kt @@ -32,9 +32,11 @@ fun UpdateSection( ) { when (updateState) { UpdateState.Hidden -> { /* Render nothing */ } + UpdateState.Checking -> { CircularProgressIndicator(modifier = Modifier.padding(top = 8.dp)) } + UpdateState.UpToDate -> { Text( text = stringResource(R.string.pro_updated), @@ -43,6 +45,7 @@ fun UpdateSection( modifier = Modifier.padding(top = 8.dp), ) } + is UpdateState.Available -> { Button( onClick = onViewChanges, @@ -51,6 +54,7 @@ fun UpdateSection( Text(text = stringResource(R.string.download_update)) } } + is UpdateState.Downloading -> { LinearProgressIndicator( progress = { updateState.progress }, @@ -63,6 +67,7 @@ fun UpdateSection( style = MaterialTheme.typography.bodySmall, ) } + is UpdateState.Downloaded -> { Button( onClick = { @@ -73,6 +78,7 @@ fun UpdateSection( Text(text = stringResource(R.string.install_update)) } } + UpdateState.Failed -> { Text( text = stringResource(R.string.update_check_failed), diff --git a/lawnchair/src/app/lawnchair/ui/preferences/components/AnnouncementPreference.kt b/lawnchair/src/app/lawnchair/ui/preferences/components/AnnouncementPreference.kt index 0eb6548567..7cf80a044e 100644 --- a/lawnchair/src/app/lawnchair/ui/preferences/components/AnnouncementPreference.kt +++ b/lawnchair/src/app/lawnchair/ui/preferences/components/AnnouncementPreference.kt @@ -131,6 +131,7 @@ private fun AnnouncementItemContent( } SwipeToDismissBoxValue.EndToStart -> return@rememberSwipeToDismissBoxState false + SwipeToDismissBoxValue.Settled -> return@rememberSwipeToDismissBoxState false } return@rememberSwipeToDismissBoxState true @@ -180,7 +181,9 @@ private fun AnnouncementItemContent( fun calculateAlpha(progress: Float): Float { return when { - progress < 0.5f -> 1f // Fully opaque until halfway + progress < 0.5f -> 1f + + // Fully opaque until halfway else -> 1f - (progress - 0.5f) * 2 // Fade out linearly from halfway to the end } } diff --git a/lawnchair/src/app/lawnchair/ui/preferences/components/WallpaperPreview.kt b/lawnchair/src/app/lawnchair/ui/preferences/components/WallpaperPreview.kt index f221cd23b4..fd79abbb3f 100644 --- a/lawnchair/src/app/lawnchair/ui/preferences/components/WallpaperPreview.kt +++ b/lawnchair/src/app/lawnchair/ui/preferences/components/WallpaperPreview.kt @@ -132,6 +132,7 @@ fun wallpaperDrawable( ) { value = when { wallpaperInfo != null -> wallpaperInfo.loadThumbnail(context.packageManager) + hasPermission -> { withContext(Dispatchers.IO) { wallpaperManager.drawable?.let { @@ -141,6 +142,7 @@ fun wallpaperDrawable( } } } + else -> null } } diff --git a/lawnchair/src/app/lawnchair/ui/preferences/components/colorpreference/ColorSelectionPreference.kt b/lawnchair/src/app/lawnchair/ui/preferences/components/colorpreference/ColorSelectionPreference.kt index 51836f4a82..e7063c228f 100644 --- a/lawnchair/src/app/lawnchair/ui/preferences/components/colorpreference/ColorSelectionPreference.kt +++ b/lawnchair/src/app/lawnchair/ui/preferences/components/colorpreference/ColorSelectionPreference.kt @@ -144,6 +144,7 @@ fun ColorSelection( ) } } + 1 -> { CustomColorPicker( selectedColor = selectedColor.intValue, diff --git a/lawnchair/src/app/lawnchair/ui/preferences/components/colorpreference/pickers/CustomColorPicker.kt b/lawnchair/src/app/lawnchair/ui/preferences/components/colorpreference/pickers/CustomColorPicker.kt index feb5dfb780..1d7cc17d07 100644 --- a/lawnchair/src/app/lawnchair/ui/preferences/components/colorpreference/pickers/CustomColorPicker.kt +++ b/lawnchair/src/app/lawnchair/ui/preferences/components/colorpreference/pickers/CustomColorPicker.kt @@ -185,6 +185,7 @@ fun CustomColorPicker( }, ) } + 1 -> { RgbColorPicker( selectedColor = selectedColor, diff --git a/lawnchair/src/app/lawnchair/ui/preferences/components/layout/NestedScrollStretch.kt b/lawnchair/src/app/lawnchair/ui/preferences/components/layout/NestedScrollStretch.kt index 09c5fd933d..f83d7103b0 100644 --- a/lawnchair/src/app/lawnchair/ui/preferences/components/layout/NestedScrollStretch.kt +++ b/lawnchair/src/app/lawnchair/ui/preferences/components/layout/NestedScrollStretch.kt @@ -93,6 +93,7 @@ private class NestedScrollStretchConnection(context: Context, invalidate: Runnab val availableY = available.y when { source != NestedScrollSource.UserInput || height == 0 -> return Offset.Zero + availableY != 0f -> { if (availableY < 0f) { val consumed = topEdgeEffect.onPullDistance(availableY / height, 0f) @@ -117,6 +118,7 @@ private class NestedScrollStretchConnection(context: Context, invalidate: Runnab val availableY = available.y when { source != NestedScrollSource.UserInput || height == 0 -> return Offset.Zero + availableY != 0f -> { if (availableY > 0f) { topEdgeEffect.onPull(availableY / height) @@ -125,6 +127,7 @@ private class NestedScrollStretchConnection(context: Context, invalidate: Runnab bottomEdgeEffect.onPull(-availableY / height) } } + else -> { topEdgeEffect.onRelease() bottomEdgeEffect.onRelease() diff --git a/lawnchair/src/app/lawnchair/ui/preferences/components/layout/TwoTabPreferenceLayout.kt b/lawnchair/src/app/lawnchair/ui/preferences/components/layout/TwoTabPreferenceLayout.kt index 84b06af97a..3e4bff3ef7 100644 --- a/lawnchair/src/app/lawnchair/ui/preferences/components/layout/TwoTabPreferenceLayout.kt +++ b/lawnchair/src/app/lawnchair/ui/preferences/components/layout/TwoTabPreferenceLayout.kt @@ -88,6 +88,7 @@ fun TwoTabPreferenceLayout( firstPageContent() } } + 1 -> { Column { secondPageContent() diff --git a/lawnchair/src/app/lawnchair/ui/preferences/components/search/SearchProviderPreference.kt b/lawnchair/src/app/lawnchair/ui/preferences/components/search/SearchProviderPreference.kt index 757e764383..998bb374cb 100644 --- a/lawnchair/src/app/lawnchair/ui/preferences/components/search/SearchProviderPreference.kt +++ b/lawnchair/src/app/lawnchair/ui/preferences/components/search/SearchProviderPreference.kt @@ -254,6 +254,7 @@ fun GenericSearchProviderPreference( description = stringResource(id = R.string.fuzzy_search_desc), ) } + SearchProviderId.WEB -> { SliderPreference( label = stringResource(id = R.string.max_web_suggestion_delay), @@ -269,6 +270,7 @@ fun GenericSearchProviderPreference( suggestionsUrlAdapter = prefs2.webSuggestionProviderSuggestionsUrl.getAdapter(), ) } + SearchProviderId.HISTORY -> { val context = LocalContext.current @@ -285,6 +287,7 @@ fun GenericSearchProviderPreference( }, ) } + else -> {} } } diff --git a/lawnchair/src/app/lawnchair/ui/preferences/destinations/FontSelectionPreference.kt b/lawnchair/src/app/lawnchair/ui/preferences/destinations/FontSelectionPreference.kt index f023e04984..be974f938b 100644 --- a/lawnchair/src/app/lawnchair/ui/preferences/destinations/FontSelectionPreference.kt +++ b/lawnchair/src/app/lawnchair/ui/preferences/destinations/FontSelectionPreference.kt @@ -240,6 +240,7 @@ private fun FontSelectionItem( VariantDropdown(adapter = adapter, family = family) } } + onDelete != null -> { { IconButton( @@ -255,6 +256,7 @@ private fun FontSelectionItem( } } } + else -> null }, applyPaddings = false, diff --git a/lawnchair/src/app/lawnchair/ui/preferences/destinations/GeneralPreferences.kt b/lawnchair/src/app/lawnchair/ui/preferences/destinations/GeneralPreferences.kt index c096dd80b9..fb061f458f 100644 --- a/lawnchair/src/app/lawnchair/ui/preferences/destinations/GeneralPreferences.kt +++ b/lawnchair/src/app/lawnchair/ui/preferences/destinations/GeneralPreferences.kt @@ -238,6 +238,7 @@ private fun NotificationDotColorContrastWarnings( is ColorOption.WallpaperPrimary, is ColorOption.Default, -> true + else -> false } diff --git a/lawnchair/src/app/lawnchair/ui/preferences/destinations/LauncherPopupPreference.kt b/lawnchair/src/app/lawnchair/ui/preferences/destinations/LauncherPopupPreference.kt index 21ce51cd70..295fc7d13a 100644 --- a/lawnchair/src/app/lawnchair/ui/preferences/destinations/LauncherPopupPreference.kt +++ b/lawnchair/src/app/lawnchair/ui/preferences/destinations/LauncherPopupPreference.kt @@ -156,18 +156,21 @@ private fun LauncherPopupPreview(optionsList: List) { val shape = when { isSingleItem -> CircleShape + isFirst -> RoundedCornerShape( clipRadius.topStart, clipRadius.topEnd, defaultCorner, defaultCorner, ) + isLast -> RoundedCornerShape( defaultCorner, defaultCorner, clipRadius.bottomStart, clipRadius.bottomEnd, ) + else -> RoundedCornerShape(defaultCorner) } diff --git a/lawnchair/src/app/lawnchair/ui/preferences/destinations/SmartspacePreferences.kt b/lawnchair/src/app/lawnchair/ui/preferences/destinations/SmartspacePreferences.kt index 9d0e2a29ee..e19a2680ce 100644 --- a/lawnchair/src/app/lawnchair/ui/preferences/destinations/SmartspacePreferences.kt +++ b/lawnchair/src/app/lawnchair/ui/preferences/destinations/SmartspacePreferences.kt @@ -81,9 +81,11 @@ fun SmartspacePreferences( LawnchairSmartspace -> { LawnchairSmartspaceSettings(smartspaceProvider) } + Smartspacer -> { SmartspacerSettings() } + else -> {} } } diff --git a/lawnchair/src/app/lawnchair/util/Compatibility.kt b/lawnchair/src/app/lawnchair/util/Compatibility.kt index 4052a92006..253651c1eb 100644 --- a/lawnchair/src/app/lawnchair/util/Compatibility.kt +++ b/lawnchair/src/app/lawnchair/util/Compatibility.kt @@ -10,8 +10,11 @@ val isOnePlusStock = checkOnePlusStock() private fun checkOnePlusStock(): Boolean = when { getSystemProperty("ro.rom.version", "") .contains(Regex("Oxygen OS|Hydrogen OS|O2_BETA|H2_BETA")) -> true + getSystemProperty("ro.oxygen.version", "").isNotEmpty() -> true + getSystemProperty("ro.hydrogen.version", "").isNotEmpty() -> true + else -> false } diff --git a/lawnchair/src/app/lawnchair/util/FormatterUtils.kt b/lawnchair/src/app/lawnchair/util/FormatterUtils.kt index c384e6c04d..87081311ee 100644 --- a/lawnchair/src/app/lawnchair/util/FormatterUtils.kt +++ b/lawnchair/src/app/lawnchair/util/FormatterUtils.kt @@ -24,30 +24,37 @@ fun formatShortElapsedTime(context: Context, millis: Long): String? { val roundedDays = duration.toDouble(DurationUnit.DAYS).round() measureFormat.format(Measure(roundedDays, MeasureUnit.DAY)) } + days >= 2 || days > 0 && hours == 0 -> { val roundedDays = duration.toDouble(DurationUnit.DAYS).round() measureFormat.format(Measure(roundedDays, MeasureUnit.DAY)) } + days > 0 -> measureFormat.formatMeasures( Measure(days, MeasureUnit.DAY), Measure(hours, MeasureUnit.HOUR), ) + hours >= 2 || hours > 0 && minutes == 0 -> { val roundedHours = duration.toDouble(DurationUnit.HOURS).round() measureFormat.format(Measure(roundedHours, MeasureUnit.HOUR)) } + hours > 0 -> measureFormat.formatMeasures( Measure(hours, MeasureUnit.HOUR), Measure(minutes, MeasureUnit.MINUTE), ) + minutes >= 2 || minutes > 0 && seconds == 0 -> { val roundedMinutes = duration.toDouble(DurationUnit.MINUTES).round() measureFormat.format(Measure(roundedMinutes, MeasureUnit.MINUTE)) } + minutes > 0 -> measureFormat.formatMeasures( Measure(minutes, MeasureUnit.MINUTE), Measure(seconds, MeasureUnit.SECOND), ) + else -> measureFormat.format(Measure(seconds, MeasureUnit.SECOND)) } } diff --git a/lawnchair/src/app/lawnchair/util/SmartBorder.kt b/lawnchair/src/app/lawnchair/util/SmartBorder.kt index 3944d0e64b..6ad708315b 100644 --- a/lawnchair/src/app/lawnchair/util/SmartBorder.kt +++ b/lawnchair/src/app/lawnchair/util/SmartBorder.kt @@ -221,6 +221,7 @@ fun cutOutline(outline: Outline, height: Float, cutTop: Boolean, cutBottom: Bool CornerRadius.Zero, ), ) + is Outline.Rounded -> Outline.Rounded( RoundRect( cutRect(outline.roundRect.boundingRect, height, cutTop, cutBottom), @@ -230,6 +231,7 @@ fun cutOutline(outline: Outline, height: Float, cutTop: Boolean, cutBottom: Bool outline.roundRect.bottomRightCornerRadius, ), ) + else -> outline } } diff --git a/lawnchair/src/app/lawnchair/views/FullScreenOverlayView.kt b/lawnchair/src/app/lawnchair/views/FullScreenOverlayView.kt index f11151035b..16584167d0 100644 --- a/lawnchair/src/app/lawnchair/views/FullScreenOverlayView.kt +++ b/lawnchair/src/app/lawnchair/views/FullScreenOverlayView.kt @@ -209,11 +209,13 @@ fun Activity.showFullScreenOverlay( overlayView.animateOut(durationOut, onOverlayReady) } } + FullScreenOverlayMode.SUCK_IN -> { overlayView.suckAnimation(durationOut) { onOverlayReady() } } + FullScreenOverlayMode.NONE -> { targetRootView?.removeView(overlayView) onOverlayReady() diff --git a/lawnchair/src/com/android/systemui/monet/ColorScheme.kt b/lawnchair/src/com/android/systemui/monet/ColorScheme.kt index 1484729506..3a53c60708 100644 --- a/lawnchair/src/com/android/systemui/monet/ColorScheme.kt +++ b/lawnchair/src/com/android/systemui/monet/ColorScheme.kt @@ -445,9 +445,11 @@ class ColorScheme( degrees < 0 -> { (degrees % 360) + 360 } + degrees >= 360 -> { degrees % 360 } + else -> { degrees } diff --git a/src/com/android/launcher3/model/PackageUpdatedTask.java b/src/com/android/launcher3/model/PackageUpdatedTask.java index 8605c51b0c..4fe3ec45ca 100644 --- a/src/com/android/launcher3/model/PackageUpdatedTask.java +++ b/src/com/android/launcher3/model/PackageUpdatedTask.java @@ -467,7 +467,7 @@ public class PackageUpdatedTask implements ModelUpdateTask { if (PreferenceExtensionsKt.firstBlocking(pref2.getDeckLayout())) { LawndeckManager deckManager = new LawndeckManager(context); ModelWriter modelWriter = taskController.getModelWriter(); - for (int i = 0; i < N; i++) { + for (int i = 0; i < packageCount; i++) { deckManager.addNewlyInstalledApp(packages[i], mUser, modelWriter, dataModel); } }