From bc0302a8f97ab3234095c8b22b5aefcb47a8e91d Mon Sep 17 00:00:00 2001 From: Andre Destro Date: Fri, 23 Oct 2026 15:41:29 +0100 Subject: [PATCH 1/2] chore(example-app): add SceneDelegate and finish the SwiftUI template migration --- .../ios/App/App.xcodeproj/project.pbxproj | 20 ++----- .../ios/App/App/AppDelegate.swift | 45 +++----------- .../ios/App/App/Base.lproj/Main.storyboard | 19 ------ apps/example-app-spm/ios/App/App/Info.plist | 2 - .../ios/App/App/SceneDelegate.swift | 6 ++ apps/example-app-spm/ios/debug.xcconfig | 1 - apps/example-app/android/build.gradle | 2 +- .../android/gradle/wrapper/gradle-wrapper.jar | Bin 48462 -> 48749 bytes .../gradle/wrapper/gradle-wrapper.properties | 2 +- apps/example-app/android/gradlew | 4 +- apps/example-app/android/gradlew.bat | 56 ++++++++++++++---- .../ios/App/App.xcodeproj/project.pbxproj | 16 ++--- .../example-app/ios/App/App/AppDelegate.swift | 23 ++++--- .../ios/App/App/Base.lproj/Main.storyboard | 19 ------ .../ios/App/App/SceneDelegate.swift | 6 ++ 15 files changed, 85 insertions(+), 136 deletions(-) delete mode 100644 apps/example-app-spm/ios/App/App/Base.lproj/Main.storyboard create mode 100644 apps/example-app-spm/ios/App/App/SceneDelegate.swift delete mode 100644 apps/example-app-spm/ios/debug.xcconfig delete mode 100644 apps/example-app/ios/App/App/Base.lproj/Main.storyboard create mode 100644 apps/example-app/ios/App/App/SceneDelegate.swift diff --git a/apps/example-app-spm/ios/App/App.xcodeproj/project.pbxproj b/apps/example-app-spm/ios/App/App.xcodeproj/project.pbxproj index b07e636a..073834ee 100644 --- a/apps/example-app-spm/ios/App/App.xcodeproj/project.pbxproj +++ b/apps/example-app-spm/ios/App/App.xcodeproj/project.pbxproj @@ -11,12 +11,12 @@ 4D22ABE92AF431CB00220026 /* CapApp-SPM in Frameworks */ = {isa = PBXBuildFile; productRef = 4D22ABE82AF431CB00220026 /* CapApp-SPM */; }; 50379B232058CBB4000EE86E /* capacitor.config.json in Resources */ = {isa = PBXBuildFile; fileRef = 50379B222058CBB4000EE86E /* capacitor.config.json */; }; 504EC3081FED79650016851F /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 504EC3071FED79650016851F /* AppDelegate.swift */; }; - 504EC30D1FED79650016851F /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 504EC30B1FED79650016851F /* Main.storyboard */; }; 504EC30F1FED79650016851F /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 504EC30E1FED79650016851F /* Assets.xcassets */; }; 504EC3121FED79650016851F /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 504EC3101FED79650016851F /* LaunchScreen.storyboard */; }; 50B271D11FEDC1A000F3C39B /* public in Resources */ = {isa = PBXBuildFile; fileRef = 50B271D01FEDC1A000F3C39B /* public */; }; EE657DF900B54059A023EB1D /* App.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87ED6FECB71844CE917432EF /* App.swift */; }; 3E5654F9E9E34206A4086C1F /* CapacitorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF03378A4C7047A781D03C28 /* CapacitorView.swift */; }; + 77D66313FB55469087823C98 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = E39741B7B1D040C68299B7A6 /* SceneDelegate.swift */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -24,14 +24,13 @@ 50379B222058CBB4000EE86E /* capacitor.config.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = capacitor.config.json; sourceTree = ""; }; 504EC3041FED79650016851F /* App.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = App.app; sourceTree = BUILT_PRODUCTS_DIR; }; 504EC3071FED79650016851F /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 504EC30C1FED79650016851F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; 504EC30E1FED79650016851F /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 504EC3111FED79650016851F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 504EC3131FED79650016851F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 50B271D01FEDC1A000F3C39B /* public */ = {isa = PBXFileReference; lastKnownFileType = folder; path = public; sourceTree = ""; }; - 958DCC722DB07C7200EA8C5F /* debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = debug.xcconfig; path = ../debug.xcconfig; sourceTree = SOURCE_ROOT; }; 87ED6FECB71844CE917432EF /* App.swift */ = {isa = PBXFileReference; name = "App.swift"; path = "App.swift"; sourceTree = ""; fileEncoding = 4; lastKnownFileType = sourcecode.swift; explicitFileType = undefined; includeInIndex = 0; }; DF03378A4C7047A781D03C28 /* CapacitorView.swift */ = {isa = PBXFileReference; name = "CapacitorView.swift"; path = "CapacitorView.swift"; sourceTree = ""; fileEncoding = 4; lastKnownFileType = sourcecode.swift; explicitFileType = undefined; includeInIndex = 0; }; + E39741B7B1D040C68299B7A6 /* SceneDelegate.swift */ = {isa = PBXFileReference; name = "SceneDelegate.swift"; path = "SceneDelegate.swift"; sourceTree = ""; fileEncoding = 4; lastKnownFileType = sourcecode.swift; explicitFileType = undefined; includeInIndex = 0; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -49,7 +48,6 @@ 504EC2FB1FED79650016851F = { isa = PBXGroup; children = ( - 958DCC722DB07C7200EA8C5F /* debug.xcconfig */, 504EC3061FED79650016851F /* App */, 504EC3051FED79650016851F /* Products */, ); @@ -68,7 +66,6 @@ children = ( 50379B222058CBB4000EE86E /* capacitor.config.json */, 504EC3071FED79650016851F /* AppDelegate.swift */, - 504EC30B1FED79650016851F /* Main.storyboard */, 504EC30E1FED79650016851F /* Assets.xcassets */, 504EC3101FED79650016851F /* LaunchScreen.storyboard */, 504EC3131FED79650016851F /* Info.plist */, @@ -76,6 +73,7 @@ 50B271D01FEDC1A000F3C39B /* public */, 87ED6FECB71844CE917432EF /* App.swift */, DF03378A4C7047A781D03C28 /* CapacitorView.swift */, + E39741B7B1D040C68299B7A6 /* SceneDelegate.swift */, ); path = App; sourceTree = ""; @@ -149,7 +147,6 @@ 50B271D11FEDC1A000F3C39B /* public in Resources */, 504EC30F1FED79650016851F /* Assets.xcassets in Resources */, 50379B232058CBB4000EE86E /* capacitor.config.json in Resources */, - 504EC30D1FED79650016851F /* Main.storyboard in Resources */, 2FAD9763203C412B000D30F8 /* config.xml in Resources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -164,20 +161,13 @@ 504EC3081FED79650016851F /* AppDelegate.swift in Sources */, EE657DF900B54059A023EB1D /* App.swift in Sources */, 3E5654F9E9E34206A4086C1F /* CapacitorView.swift in Sources */, + 77D66313FB55469087823C98 /* SceneDelegate.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXVariantGroup section */ - 504EC30B1FED79650016851F /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 504EC30C1FED79650016851F /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; 504EC3101FED79650016851F /* LaunchScreen.storyboard */ = { isa = PBXVariantGroup; children = ( @@ -191,7 +181,6 @@ /* Begin XCBuildConfiguration section */ 504EC3141FED79650016851F /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 958DCC722DB07C7200EA8C5F /* debug.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; @@ -300,7 +289,6 @@ }; 504EC3171FED79650016851F /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 958DCC722DB07C7200EA8C5F /* debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_STYLE = Automatic; diff --git a/apps/example-app-spm/ios/App/App/AppDelegate.swift b/apps/example-app-spm/ios/App/App/AppDelegate.swift index da2bf830..3f540f65 100644 --- a/apps/example-app-spm/ios/App/App/AppDelegate.swift +++ b/apps/example-app-spm/ios/App/App/AppDelegate.swift @@ -1,46 +1,17 @@ import UIKit -import Capacitor class AppDelegate: NSObject, UIApplicationDelegate { - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { - // Override point for customization after application launch. return true } - func applicationWillResignActive(_ application: UIApplication) { - // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. - // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game. - } - - func applicationDidEnterBackground(_ application: UIApplication) { - // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. - // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. - } - - func applicationWillEnterForeground(_ application: UIApplication) { - // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background. - } - - func applicationDidBecomeActive(_ application: UIApplication) { - // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. + func application( + _ application: UIApplication, + configurationForConnecting connectingSceneSession: UISceneSession, + options: UIScene.ConnectionOptions + ) -> UISceneConfiguration { + let configuration = UISceneConfiguration(name: nil, sessionRole: connectingSceneSession.role) + configuration.delegateClass = SceneDelegate.self + return configuration } - - func applicationWillTerminate(_ application: UIApplication) { - // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. - } - - func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) -> Bool { - // Called when the app was launched with a url. Feel free to add additional processing here, - // but if you want the App API to support tracking app url opens, make sure to keep this call - return ApplicationDelegateProxy.shared.application(app, open: url, options: options) - } - - func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool { - // Called when the app was launched with an activity, including Universal Links. - // Feel free to add additional processing here, but if you want the App API to support - // tracking app url opens, make sure to keep this call - return ApplicationDelegateProxy.shared.application(application, continue: userActivity, restorationHandler: restorationHandler) - } - } diff --git a/apps/example-app-spm/ios/App/App/Base.lproj/Main.storyboard b/apps/example-app-spm/ios/App/App/Base.lproj/Main.storyboard deleted file mode 100644 index b44df7be..00000000 --- a/apps/example-app-spm/ios/App/App/Base.lproj/Main.storyboard +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/apps/example-app-spm/ios/App/App/Info.plist b/apps/example-app-spm/ios/App/App/Info.plist index 9a22fb58..4d0ee5f4 100644 --- a/apps/example-app-spm/ios/App/App/Info.plist +++ b/apps/example-app-spm/ios/App/App/Info.plist @@ -6,8 +6,6 @@ com.example.background.task - CAPACITOR_DEBUG - $(CAPACITOR_DEBUG) CFBundleDevelopmentRegion en CFBundleDisplayName diff --git a/apps/example-app-spm/ios/App/App/SceneDelegate.swift b/apps/example-app-spm/ios/App/App/SceneDelegate.swift new file mode 100644 index 00000000..9e0dc2c5 --- /dev/null +++ b/apps/example-app-spm/ios/App/App/SceneDelegate.swift @@ -0,0 +1,6 @@ +import UIKit + +// Deliberately empty. SwiftUI owns the window, and a scene delegate that implements +// scene(_:openURLContexts:) would take URL delivery away from App.swift's .onOpenURL. +// This exists so per-scene UIKit APIs that SwiftUI does not surface have somewhere to go. +class SceneDelegate: UIResponder, UIWindowSceneDelegate {} diff --git a/apps/example-app-spm/ios/debug.xcconfig b/apps/example-app-spm/ios/debug.xcconfig deleted file mode 100644 index 53ce18de..00000000 --- a/apps/example-app-spm/ios/debug.xcconfig +++ /dev/null @@ -1 +0,0 @@ -CAPACITOR_DEBUG = true diff --git a/apps/example-app/android/build.gradle b/apps/example-app/android/build.gradle index d72a753c..c2e77c96 100644 --- a/apps/example-app/android/build.gradle +++ b/apps/example-app/android/build.gradle @@ -7,7 +7,7 @@ buildscript { mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:9.2.1' + classpath 'com.android.tools.build:gradle:9.4.1' classpath 'com.google.gms:google-services:4.5.0' // NOTE: Do not place your application dependencies here; they belong diff --git a/apps/example-app/android/gradle/wrapper/gradle-wrapper.jar b/apps/example-app/android/gradle/wrapper/gradle-wrapper.jar index b1b8ef56b44f16b14dc800fa8103a6d89abb526f..9fa7f288283f81eec4952784c271abd7e0938dee 100644 GIT binary patch delta 40407 zcmXVXQ(#>U({;=f+qP}nwj0}xa~j)fY}+Tc?X*c6G-+)6&+~r&&A!=Jd-kkZGi%n& zzCfJ6K{VJS13lx#5C&OMr5=Me$zWZAJI|PPlf(_6T07&8TVNJBDaGoY?XaL+1#Uk+ z>yx#;aLGB3LWmtlwf*Jf*my%Af76=t530$8;BEN)!nd$y$(8t&;Ii3R05(7~)a(IC zX@AGY^&Y;*lwOKPX;p$;6|W(eUC>Zr^4@l!KK{L>v`$${iv1>+2Zizh z22AAzm$Kd&c>Ou%AJ_u~>xVw$@c!j=xQmexYFHTe96A+>0-9E=YoXP$3P>4|?UaZs z5@pXQx;j8VsH#vLpoyA?M)uBok>2mE5&*jR2jWRlOm<#93RkvJo5j@?XrmAAdh_Dn z9x}7S{2{N-8TKnp5)*N^P2@+j2b5?JaB@hmdzUf(>1<)Qnd*ug?hdSnWP%w>_{Idm zn(#hFTl3kW8Vl zPVpTMN&m-#-Y3$7F%Vs85Qei4{J)sVy{4RDf`ftS{4ZvKdH)x)+XgJ4rTT`lh8U)i zgaV2qN=ACj4)nEmVOTo7DwC-{nXxPat^z5pN!cObyuX954bA>{HYcc+!odpwO;art&&oh%T$u>>YJ5U zxuuy`Tjo~Lu#L~jm@d~@R-?^&(6);ZaYqp2OAy6)eJG7Lt&Mv^gp?mpWgXUR2_*r9DhhXqIZW`GIK0 zS``502wIY89%Ti-tfx8Mg_;TT5aw-LMIPR4&>hJh&$A{C;wH<*k`A#R-%=uI{)F2X0d0YUz?0q)ShPzd)-`bW_a^5nbZ$gpoDafG zk(L18659$(@tIq7EXqrCJf?T(jm$}TAbgCo%R}s*fOkMZ^AMChXd)5&l6-`r>d#$R ztaxXi@`=^Huay*Cpr+@L4O7?#C}o&wnq3hI%!ai>1@!lhtG}$3mWh6cq6a zi1PGR0A!{|#+5n4-zOX7iKb`C7vs!~7ZFo1h_%JLX1U*4lS)I*BMMl{viJ||A9C}n z+|t%Ie%H0Y&ggvd*nl10%b$N~`Z;)T@ds%VtDNhWh(jPuLy@_gE@$_*9FBJ`7?Ej^ zDO0kCS%hjisOt&~#W?>>u4d^1?$^Zk7i>$w_4a?+g(~>NO71JUvQy0Rh*F-&s8YhQ zX@Jg4+L(b(8!MG^L1mZ^qj1Kgw&*-HQ~`)A_EQ_AjzNGbP1%(=_iT{o+4%RPGTXEV zj)wq|A4)Z8*zix>wjv0;Z9_KM>bKBRZSHdcvmJ9nk9>z8k1zQ+V9bBPhnzPyP|AU7 z^oARlR$7@_EuK`>HrmCN1e+^N8jiYJV!-bPxWNL!)Tf(jt)27Sx!OZ&R%;!*ku{4o zl}LXyJz2uX6XrDOF+y9*x1a0V0U-dDuya*ScEyB)G3uMidNfv;4vSU?rOid80an{z zt%fuIv?TU9CFYoP<6wBIrM561JI>(**jQGXvgh0Wrt7E8c83awSE_Cwl(pA(Fae#s z7^yP4#KlD<`V7``hpAvnak0xpj~F^DyVh`>$_IC0(Rw>NVRdi=2&JGPA)f#Xv=)RZ zWV^gW1(xU%8%W+9HD%ERZ*+5bn>7dWb+y^8;_a54sp>Rner}?E>LQB_x>Dk?WY4bt z#D0GKROYx8fa?ZJ${aIZvuAt0Tc8N67;bn-Ka&oRn-@sKWPe5+(`07~+&{h^H@vfq zD#!Au7CvKl&$wtR4XLmrwTxK<^AI)T8flhff@3@+)Hw=^2Vj4i)M2Y{U}frsyKaYx zsGdiZBfdgYd8li{A{~N@yYQH`_M0CyS-e>iZ7~w-HW85_-TR5XAuKl zYK!MHt=f8HmBLRbCnyQ?x>_!X?J|PsnpQ}|hdpo)iS|+7UQ9migZ2-PyzX9kvRr+O zIkYDzoA@C;7Cyn#TcGO^9Juh-e@>^$ChREl~t7KCL&0pqdKmekLj_Q`*PN{Y= z`5B4NNEaFme66E8->W%5Eg|&?#+)XiJ6-P6xBu&TNrg`}uOLF2#ccgCYD(P|g8}sQ zW?bsZ@9nt*>{1E^jhSGUC-mNX5DXnq&HcS|2MCX?{UV~RPo!l5e#BJUZl}HwHF7Un z;>TI8E_OX#=n-HXaNiuzoaj5);WP_?+R$GEVG$VwKs_-6EE}NHzcF^)62vic{IQ5)5n} z77R>P0TK!m3@#-a10#hRUmlpIZR>@hg&XLU&F+Ys)bc}9Y!t3-W|1B)y-BvRV!cHw zX4w?0Y{HS>gB`<~n#ohlb^8$sXLI1af<`I9E&gQ!C2&oofaDE4@2}hZ%b!fSD5cgr z33jiGfJ^uMN1qIV?a%j>H8AF}a)3+%VMpP6{8eHW{(&_ACYmx*ggJ0GHFL(c^TehM zZ7$1J`4)Sv!_HlwQ0?5?F0@?w+3sBuTW4>!hou}pQs$_ZZKWw_W^w)`;%qmLw9M?o+~e_qssr(9i<_k~@fMx0_V^ zTSsgu+)5$L;Z%iGE^ciy+VD5FPSx;O_hH$jMySJRwVzE3ocy(l!c#~QX4cK+S#|iC z+}r2rVd0{gDm3sJs>oFzm3}mCm`AF=28=rGHViB{i%XG}B3T*vnn82Ri|F3~K|K>f zT^20}#k{|9(`SKY%)9K-?Xz*Q9D4{I2BR>B#KXQ0C0<;)Wt?=6Am<}g6+Q#~hba)m zx%lEto#?)p@*z11%h$&cvbUMqCzkvfMSZ`_Ek!-!&)Msh)?v@#*(lESQBrYN5T}vw zD=)lqn9Wp`m#6<*RlCpVuBdR^!tS6SZQ|{k8?V}(r3K8gTi}|yR4>_*+`t-EHdGp{ z>>zBF3x6_1*E)NsOd4AI*8T$&UszSyiXEi~$6LKQV z+xQ^;4!1hh_3wKoy{%SCGIvKUZdoz!39XK%xitTt4@PNbh3AT!@3UD1`5>w712b7; zwoob-k2z4)VuT5h{ck3ic&06?DB~vdU;8%X^6gyb?OPXKsE;;%m2NEjO7v z$K^K%Tqb@6$%3kpWn2O)(>mTa?6)3SJ?{2BWs0#mDC%ls-DC38x*yfkY>?YE$0+Z$ zQ>%uB%-Tg%gf|mlp$=f_nCRE21QjQgNd(AmEd`?oM!caClKNnjrt5_IV8^{7R1mt# zX$gUNQ`3hqoC`JtlW?lh@ptZKuYf!(pGU&hmuO3P7O3l@oi>jLI&@>|PugEw3PJs! zBPAXh-N8B`yy0u(@G7_lqpp|zJhC@ABaY~;^(}Ylx|4q$?cA{Evdl3TyrlYoXqQQ? zJZX82!pC}jEUU-Da2^XX#6unApq}S5)OO%QmBgOL1!2|FvQ0vk`!-rp8OuVsHB#IW zdzqT7;mAb_^S4L2wT9Oc`;FF;or0hbk)n3Tmag!;Q}T&{0lFIAu(XK_I!bq^q* zP_{|*hm;2Zv+=!IV?BwodS$D;frAg1PZhX=Sw~moSI}D?DP+;)g}@W2VaBD}B%iLg z5T*4re4u$xGk9tkc+V^_&=^fvLk$lx>?zXrV(4cZ-{F+uY9z*jgXwz8HeT++ikB&V z(i~YJ;11=eZumyUiAf{dLOM!T!UjAtcP`}%+ER^Yf>tJ1eZK}IQ;vs!_qKzvZ3@Lk z*XfAR)RG7)*=Zn{N(#5q{evl&EV)&p8oU}NE2OalZ8P!bQWYl#F^PNv_jsRf9V3dW zxbek7PHIWRbx!o%(b5Q!0T)`vctua(pf4Y#jmxuoN`Da!8k368$@%y-6xbV?fv&dAju!Qjt|TPc zq~rbcA`0%DtOoD&67d8ulqvY(g%2r}!^{1y(ftEu_(=ldGpV0N7-QwUB3l}^%6@^? zOtVMSpV&e&YZ7d?+U0wXZEj^&l zIxg88*9cHnZ6GOb5SCkcre8U9Z4wl_e@4_gtjB!YruF=kgfs}VbU-p{Tk8U?Ft42e zzi18?u21XXeG&!?%o;f*2!rse^HcyDIWMtdhMTk-ELqXnBSMd^kvhy@76pj@LXA{% z(c+d|K<#qZXh&4Yp_ii}8>aj~!BGq*cO5|4ks(uV!gQ=yT>m!lJ?AhW!QKDu^f4hH zEM3*?sip6;>RQa%-CSopzPE_LsHcb^ev60cB0Ik3x3bK9Cj;ZxfKB2B(%}Mr4{ba} za!@fjcALV$>e;UT-EG1JiPG48)v#qux#}2uw-sc$Fqr2e{E8;_z*%Q?CHmp|0+HJ zC2=5mzKcqS4uGfeFw?cms}KSLyob%w?h+JjUlQ<$F=xN2Zhnizi8jF3w4ui=;i62E zH$z_n;AQtYBa#~dIeuI9&iju&dT;GD={P?#ADFd*W(qL#yhrS6bB28u-(zUUF}}Iy zE6*;u!1H0@xMq@_kDEVin4gV72^!R4E7z;L#7zz*g+4ItYWQq2yvYFXie0%j`)i_4 zL6y4*bueI@t$Ah68CEp0w#b59*OobzTGLR`Y-({Z_zvEJ`9&58I z!Xgqtb}?oE_$~!;2}f4W14}k2{))Tze+hN)f!)CSHOU13Z<1-FR0JL?W2j+%FhiFyS<+>b zGV=z1FNM>bBriedq;5sEp}a@w$TgnqXPn8U6OX0rO%Pdbpv-y#6HdJbKwB#Cr)(bN zT>4x0^nJcPL7O7P0P;~#*4Rl_(AU0)X=z()IVvbsWI1YkhIDm0QYm#Y$})$Mfhc4< zW^zl~m|Bd=t$_R|XV^T1NvhRpB@@+hTYpiHqcYWPlN;FG&HA)B0O)7%$EXbO?B>Uf z6D?n@+9;}FyS+L_y@v#=;zm<)m8>zhq&&yna4XXYaR#$@#MP2-b=YdnoIx8>%e6aBVLGFQD|Ov)H!FVd0^tf)@_1u?+qY zL03XAB3Wb`nEw30PK@^>YG<%2D)KSTSd zQYWo{MVEM~<3$)s@gwgbiSKJ<2r%&9+%h^ZLRmvUNH6w?wPxFH+C0TRZn$s4;Z2-i zSL{G)FF=HFJpSQc1|My0yRrtu2=wZ%x{l7IN%;vBx6Z$_VFi1xU?(bE&h#^;qnT-pp1SW=O=c< zGh0FE0cOn&Wyx|jGy?Z|VVA43Mc&L9slXpADAcJ6^qiMb@K=`vSz$&3QSEV9Lcb=! zpa%z)+aSq}v_U7>-no?m3QS{HqQXBHVNtD@Mb4lB2n)QL*k_@3DxJJ7_tB#)h<&_$ zl~DA5sbXbK?p;u~4XU9Kn0ToWQihJ5Po}diz%kSMrln{1yZS<=8zS1GQDOR_o$kd< zz9Ryr)U}uPZxa&k6UCYIzj_s5(Ku3VY{Y(XpQnoPp&gI*hP;FepxZ+8z398S^(W`6 z8FD|wB8DJEKVw=+8U$O)a_a`WW$Bo5&Dg^$3*kk(CqDmAi}Tn}{NV-l zB@pwaBr$)9>h$7317~zG%nuk;T4wbEtlEr|w#iaPN^Nw9I27*dN_~nl7?bHUcB8f} z1FMW)-0UZgH|Sow#l`^4`-Q|hX1lJryog7dci>nFhj2?DLCitRkLvv zyAR7uE4-?wRl9t>mbddahBMc`!7g+T1CU|^!YG`@EWp@e(;cXjRq%F5HJtzrcTl~a z8p=ZFqv#qBolaZ%JuKt~^^WfNk52S?rxyHdrh6m&ShA&Sm_<|-MgvxxJkIR0eIWx* zqz$_Z@A#puKXnJuhlViXb(ha*t;)1aYl>t84c_AkK1=`Ver+zHgrSusT12|rvSWS+ z!j4gG0DyAN%fUGj>Goj>xRYtWy7fvrRU8>s0-$k{W=O*n5EgZH`=J@>$76dSB>3+} zu>cBbCxS3+N(z5(OqR=WI>m#b$TG~XCJ|l%Q|=X7CJed*t$?~ceu?Alr@uj#kD-dY z|A3P+JfO4zdZ!e)%}3ie%J=SNJex&-g8}^2Vj#8`CZieO%_Jc9Ld#P2Y<>sNZDBnR ziO^^~!!Thq`#kjScb*%tMJ5kQVZl8%Nk%?7Bf*1^ES8tvg2zTjItM$k+Oz9$+%bpD zL`346Lk!^AB=<6QJSAgDEd_(V4}Sie?j~#zl}Fh0fI+*fl_zYGZ&?E~0wf@LKp~F- zqIsZsvz3&f$d+BF^GSTMqV>X3}t>*V)$CSpoc`45Oklf zIrz|Q=DgUCBtCfF?j8hav;!i&>-R@+q1l_7U(UNeMA>I8z5S7uhajF0Es+;({!?+u zQ*-zQ->^Djy#K*h%h7*>XEVj7OMTs%9}aZ$TYMLbhb-$n>Qq{AkgxK&BHGKEF<6r zkk^0T-J02*nQ-_t7?gA=OQe8N(D!V~687Z3RQN>vOk=d?lHk)J4!Ofq3LTIKct{6@ z{QE+1WgMQJN;iA|o>P)hxlN2<%)%Cru5T%12vXB8D63TMQ1oF9-SD*G3^OjX+IQL1 zts-t2w_iPZuJ}#aashLw=e?Eby1V??zDj&3eH`NNnlEV$1tevd#tn+ev z-fth*oWFQ&=<0lD=Y9~Ub@X0n7yl%=YHcOC%1?Qy$;Z^k>DM(t%=HV!0b&zG7a72N zqQc8(r7@k1lg$SyIme%t5j>OH<7EG=aqL_9s?re4pM00v=o(l`RBAAFE2ee+{adLI zFa;bV)zf)iZ#F>>711coq;58Zm2ITAo$w)h#Z?_d>lnU>EBAOl8eSH6{ei>E8|H=} zj-=cJG#l+^?D*oL2OhC&RvE$b7fb;GY|KjG11HSehgma58XIsW2U)2nYjcf&6RCfZ zV@EqQvX>ZBt-<90@=p z0G> zhATNw7ueIraA(@lP+Jgr%!xqDHmq~p#tH}}U(Hfh8t3V@LbR~OlpK8mpM280$aqDfE6;J%8P!Njc^H?jFPgMzXhO~V-} zHZVSsCGXl<|IAu$bVy#~dLeHd%Wa;^J{l^j7@%eF zCHY}~Aj@TPLKV{Cgh(yIQ7dIj)1@uCAr{J(D$z47i?Zb@DyI~tWU_J;)*52op*&Fw zz6{3L`+#etw$59d_}}0>3A9{r*vi*?)GE*Zy3KXId_NC(czfPTwUSB94{Y?QM@Xc10d%*;o3vETVcFt9PfQ1Eo4I(E zcngkaMLP#xk-V%N!rmM+xVX-ptm0!ih16kxw;X}^hFCIw*Pk21bndNl_S`H-MdST- zY-jA%b@!Wtq2{*IQ4Q7J%x+zRqt(elr=5IWBR{#O`6xDchZ^2XtZZg&VN_~P?ZCPk zHc+4)0geQ`m@Ti3u#VtBsD@@NruDHM0l7*ZxbHoaoV6Ma2;zX(=)qM+HASwFd>4>L zvys;tgf}8lAYuOi*xNc89SWPraM|2uZrvZbW9eGA%a=*|q&~FEo5B>cPi%HN?+7tl z4`?h}G=cyub&2f4IwmUQ9k@UDe_4ybpXTX9j>&!S_t*&&jJ9Kej;F*nw2GaVs!Bt< zS!O2ahyXtw*p;J5vPwya9`#Mi70%tES9|>OT_rIR&w_K8sm5~7^6vO*JapIlzmOtZ z*?%de!vs9w8N+*5);%%}F!r>SaI4lOlN(3LlJ}utN+~6>ZF&LfE_NevME!Vr^Gm!_ zs6Gcyl50{?r*zdo&1$$IygZ#ShWKE2r9CaWoN8NNHT3-QJSF!b)?8K=?4daM&|+c3 zb#l*kAj=C|ELs&|y|%4(cN-G7Z)pyTnWlOyn_*;l2hl(2rB?ck@Lp8oI-8%TE9~We zFw@Jzwb0Y5mle2`!d*DgJb^b0#w1N1YJ|-`LXX4Toiu$wlD|!N0=qK$qd<#d_sUR% z&nvfv0Yq<SADr~Rd5+DXm+EsZe;ud?{C1FQ zhgDA>!8wWsQirw4aBUPut{Em-IoF>s!xu{;s=n_OEVhiT_Bk%Qj3x-m(v3L8SKd=N zipx?X@fg4Z`MS*X7wn<2)TN7kUB*ff8(7--QJ5)2T&sFikP&E7i8Iyx7Yl1UybyX7#E81Z+dA znmH3_4rG4(tE*8j)24%)YAuM9&JZ_IW)XKw2Jeypx^*X)Dk(d?Sb7g_`PoQeh8If-*5xxmYBB7zGY|dAzkqt zNvl9k$1g2lH@$DY-=rSi4a8qwId;G9EQnoloT2!fdS9|hjuQy#kM*19JmI<83hK$6 zpy~Gk9~x*BfIXu8j}Sv0$B8^7Z!TygD@mCM@l)1BDKVg%*ME_fwWuA`doTEs!Wjgo zfyj-KHylTvy2V?4-{N=CkcVwOBX&^;r&QOY^7wmy`ZnFE%q66*a|;$6>d}4{g*8&$ zbsVds#e?VODjW@SLo*>bfhpKTjBTk#{5$xdK%MxauZX)#nzl{AT3qPczlFzIxh-|rkM!l9cZ$aCI9Ua~z-CF>(YpTWfWpt*^ z`Fa6zaD8z#YWw!fGjFRU+J}L&gW4WDAsnGY*O+-&Gbtn?!En+-dSWf7VzeHMD-K|= z*+R>JM;$&EAu}eSqTi3}uOPiJeREnhiWeN78FQ$px8N;UU3o3gWb0}0x%$#=2%4TZ zX6+d9^efymzHA$I+_k#tZX8L|aXNoXa-7t#s{2`P!|t&SovX=&=0jO{QWcO^ zXx||Auh0@^ZfCxUWNdynBos_ShDaHnCg4c2KLNX?tq8CDq#H<^8A?o|jL1UrJ9Nz; z@QLB~hNcdrH+rye4i=is0`uD}TT2BukL3m{^j;zUc)Q`NrN|$#K3>}&WU8NCp=2;o z;S^F#ZdF}}GEfWLp=jn;C-Kh~TwX}7seJKXVcTK8H}*F5iKJ$!g`eBfB_{$GLsAQd z6S;^Y)ROk2F2}%mD6McQ2(&{wO!&iLQ=w^Jg(3aAohsAw0GQ9ABC}gMqYlRk{vp|O zN<~XX{E`|Wa~u2-v^I%f^grNcD|sB3q_i}6Tm42O^wjisS|f&}q>B;VdXRXa)RY!X z5uFxzC&M6&T*B8)-|6mQyCPJ%+-0NP|KY8RB4XR9IurwaTai)t_&8S?Sc{>hN}7lAf{2XCViS7I>7o>h_Q-V17U{M&W1PhFOi^Wn`MEaHy8>popxGO-vYvs(wgpD+6g6fxDNtt-pW+t)Va(MxPz<;oSXN<`JV(Ck;oBOD0ehrKqi_`M zpKt-0gZ+ZH=x2Y|3z>uE8+mu@hpQ<4z&3q_RF}v;c!h2b3;LPIvfE>%m@GlB?MnMe z9N$44C3nf(>DRp=Tb0Yth!@RmTu2U#5NHD$s ztA||z0ze}Li2uAnS=HGGIz11pC~AA1iSSlvq4NsCYN$`V7xDc3T?`yu;*#Pbl@X{2 zFW~PLHkiJr2W}U9hr|~>+ae?;V6zP>SDl7`+VhVSpE-!3TO{7mYBfZV55=1#hm#0K z!Fjs(k~wDLc+Gy_(`@D+b1t`Vd{e*W&rR4$1kM;W&hFGM-R?Hnc2~Xgh{%_64hJ(h zsv|9YX%92l0TV%}yeO_!{(%&fG`!I(>jVtgvKP8f#2$ZHE!5^Q&@SiJvVV=E zrj|Jj2u>6=u8}Br5kDPK=ZD< zs+tyys=kjoo6m`%g+aKDA2!CZin$Bb z#}v=vzEPt+kRbaZy%db38nWWn+@X~2^gUxsNkK~VZBWIS=w+CoKANL)9q)QU&BXs! z&H9NUXTkfTjHz@PkHpvS(f@6>@0VDgSq!5jr43vfm*3CQb>Xd*2i-qWN^a_M7fDZM%O`Y)5Gwf>)Pf6q)Y> zAtUBPa_ySHp@@DfBYG_29E~RW-S@u9y=no`^_h8};ZElF%qDibh`)yH#3@3=LrJ6!ANZhn5+L%pd8;TyoQ*QH|&ax8^yf|Y2*-Mbfh zqcJ3J4}NVAX2l{vFxR*UMs2uJVN{m2hS%Y@mCK#TA|Htqx)IvoIrUP1(m{Gda{)IM z*S11%0C-pFIdM2wVK4qq?USE}*Aq3z8U&AQHYx)2>ngwm#wby4_H)g1QU`JBXk$W$ z5%4=U#u#h-3BvdSSeXiVYF9aJQ!#!s&~#1Cq7NF2+@ra>TK+tPtVU(zC*+WEy8 z-3WY6kt#Pl?&>IxcAc2ypg%O8?IXPW<2bfRuvLo>1LfbX|M9HwoC-$4{$;K57R~DyaK-#E)g&O7%Qd{>(!#&&g(I&|#gN`4t zd;3@tAh##1SXKw!oPXC#mB)fIx%w!DSDxr ztp<*ci)rN&ngn6UL9_wpDpcOn3|b6>$k_Wf3lu=Fss>y4xB4Js+{Ls7W)6>wWhImL zT+zc$Lv;Sf*d{(^4}=4yllby3Nr5fuPBo!-IC^%W`v$X_S%}6}KTWbWZ^D*aHmL17R&QQNntyMK1hqsjY~Ju^nPjM|{NPo20vV98U@K4FIVMW$4CV?2uJ|^)oIsnzvfxJ{zlLAy>H|o@uu|7y}{h z{*A|~FTJp`5c*^AgMUSDRmYAyI1KJ7`J*jSNC}GRj9Nc%2A6VdW4Xqp0U|-R{2L)g z9JLq?fq1{Z^T+?T6Q;vk%Yd(@oEz?cP5G<1 zDp1JzOH2#E02=N+xhOu_+0@C`@Y0~gDh4O2LTNz+7pPv=j%CC>3VZljqmhwc+gE6i z(bCdAsr7HtMFuljS^w$wdF6clvZh{w5$_T2E*%_XA4ia?`wkp4uA|%uuETqz?~hh3 zS{(CESTTAJq^FtN=F#!2TG!yz$s0C^0CiTcl@rJQN*hxp4uU&x)h-n{a^J_j^}Zq!jUjrC0#zczQIO$K+U&WSRjhf zAgdY<8p-eJ>(faWTNXI4ws?HBlrSX;sdSV!m9RIGvt5|N;?t%Cq?%guA7o~?`S6WX zK0S&k*`W`G4xy~P>~wuK$&oSbt$+a$x&wlEtv}1SMHC+=%@9@R^4&};0UdG|vqy-l z^^|Ds=v_#P;-^D>Wx}0h$kHM^2~53v)VmzNFYBNj5GTf%CN2;L#wMNNiw@waO{;y{ z?qUC9I4;o1L;e@TG5p^eLrMgwy`h1jgZoL80wR+{5|ff*D#IQOPxRH1G$^RBh0q0e zY{BNq#?bwBHaa6MRbAWj>-C+TC|{uW$&@Hgzr0q(qwG^T|BSbE`&X#n(KuDktr76> zF<_hT?f$a94{|+<1h3Ah$JgQVKviFDtRo5DGj!RZf~h2{qq~fu%?cm5kdwJf*$$db zgP=M1sUBHnZb-y}=^mykqrHIG&6G+K_b=676NBxk?)-J}n8?EZJojM^+cOvHutTe$ zf^vPMw>n^~ZXSyTH^h0KQJ-F<q(%6y8*wkp zX*%QqM`OFFiIuCcKE5N&&C1Ftu}8@C>@@1mwH`_xuD_v}g;T-4Ob(dY9a+^%iMZ;P z?M*8*D{SkkIL335vnexA%`V)EVI9h%2c#pCz0L>2t*CQGC7DHPa~M%pS&;LpwZx#Z zeOdD89cH*TsR6)t4sXZi8Vg;bI^WUUbt(rh4$co1EvmE9c&eS3VMd@kzc2Ac^mqdD zS^bEx$6}_|k}8&8&}FhU^>&E2oXaP>M2~vQn4&`0KHv?lZl0`?d}+)T?2+!dwg<+u z`Dboj$AfXVIM&I(=#g4#7G$(^CpLo?VfOk;*-5X<)GHu;+$(LnAJU2kx?@g8g+ps= z5mk=d-E*R-$Po6}4T`IDo(1saYs`Ii*%R zhtc~jp~n;KpF*ALq$w{x82fNhP_RAFM!74252o8|X0WO$ai+H&_I!?pK{aYuYY=<`_cR4Jn{7Ir?`IDIk0 zE+ViBb|H5M1F^n3li`5D-zbLV8YzfzsW~`Yk*J(hqUaM>n~E#s5y#!ui4T2wL4#)D z6JyFo%9*tGWEfEvm=R(O^K^VG@SAH;YP+AFFRe2{E6K0IzANIzgtXVL0pFfJoEjQ4 zJm7|se`8~Id>IW}C-a>0OCqbwiK4v3JMZKHk z+zxFZx4^~JqXdrETRsQ2j)|-a1CNBhl?UO><4Zr`+^<9ft~@pHXWwX9si-mehP9MZ zj8AWm+Txk{ga!@k#55-rg_Ts&i`7uPDl{qjfP%I%(w`)ABOy@whfhAtDPFhZ@ z9{iS)w@q5A&g?T!gy;XG-HC6c8UvVM_$y)s-4tb_ZYns#;>s?wRc;w-n`{w8ae>%- z8hNVm4ji14?PbD0qTL-@9w5*F#yH&9DN*^8t2?>n)9u~{4t$F+h(}L2-GV=f{qcsn z&90{J_ShhqZMZ8yjvd6XjN8&BG;}8?s{-A_qyfi2;#^2#8hzDCNrJNmZ$ACDrJ&s9#te%g;}~dvOTFpcY5<4T=P>8@$s0h5Xp0Jxq3! zQEuN#SCtl)|31^-2Cs{=NTUsbkn%iH*?r9pKAKnq3aW{rn!*M^>$JHsO%Sw=Lr*rj zrx%BMfO7pPI}YJ}mTuBo?8Hi(m3~vLk?GSf%ulgirPkl(%;ai2l|E=LrvbwQ0I>dl zFzpwMwCDb11EhUB436N^3=Ej&Vp%>;l4E6vNfDZd-R$EgvxBG zU2@E}J*OI%35OQ$w(&X*V}26M2v4Dv-!{rmv)iW zVfxKXOMVA=A+CvIZg2e=HS~1(vnhT|p)^jK;0KDY{&_Jy(eac6c-Y+u@~H<>98}DGCFXRK9Kmg(yhs zQ|Vh;e{7V;q~F~`%cuNC$H@W>{#+jpb9EQU6)u~89q+c)L(RGZu7i?7p+$a>NP(E} zxm-DD+%Nd7l`l3$HvfS04l)E)KfftF4w57bYD|n@KD(Xq1Z0k8a_@U&LAmm)Pa9Zb z9z;i!r^4Q7PBi=D9|i)Q6{&TUL}G$}Hi@#ZYaU*myR2K)o_{cEEQg_xW zS8rXjAfiHyi1D|o2P{j&bE*@BC6y+r?RJzhYH<7Kmoa1@uO)_clHM|6-LgG3#NLDs#i_J zch}{=onPj^`Izt2C>I6(&F;U@nCPG9+>Ki=X#MQrA~WcJ5NXY0B<jR*Wz05Uu^_ zn@2Y;(w4*$fT$+%_M|nBn}T<^$`CT&Z}Y#nuAQdEU3+l8dV_5!F*ZG215MswN!RPq zeGXsTtCOZr4MdLm zI|_1?C!p0#Tq#a0QG!fOpYMlZAT15W;;Nusr2M{@!|OyOa4QqT8N_)WA7kV?gkE&*~h zUtkp&jWzS_={>)i2R>}7&)Fm1ybhuXqI&!~5SutdaHoj$4QgE9RVKBH?bSND4xC8m z8-B~Ytz9KFd!O8RQr_p?U&jm-)tgYu%+1fu=D9%n!DfTRa--xr^BqcJ<+irz;I@ro z(m?p~G0dcQ&#@zZY-6lG5;-B~sy1NhkU_Wa?A3kBaK$G{eCX>nHy&H9#`_&osf=cp2G?`8TF`(~Jo zp0+4OGX?t@89+q)N(H51l%e@9uB{z2oe?$qmA_t8E!qsr9{X2O;pRV6127swQ(m?aj^E7(~oy)8umOekMTY$`; zusUfco5$h2S9ic)KfkV(`<`0fNBg!}`wG(}P##e~G*N`BBt>xK-A;I%OhEx3AEGnlg|rv**UdzxrL$t~XkZOFrz+#X-<2CR7GpAL(Q zsV{-K1CRg~V*?k64Qo`!A;m6s8R>AOw3ENDl=LQ?5%`2_f|LJu=hDWiMbYm@>>`LK zJSvU^-RryA**E%PKCjLh=mRwRP=Yyn6;);{ti`dWN#-&y7k-Y`g12aO?Oy}GHZW3vOB7aKxCH+NSXppg;rW3Cp3!&NTq56RNuLRQj z*QJVl-7P`?pD|HOT>_}5@}J?>2~iQREI5*Y`6!Z~sYMIT(lw;B;0LOx`B2E0;r4gX zv0@JgbX3x?$X@ZBU5lh#tV-5X@iGUrqJiR_*@fGz*XnET^Y!g54p;`;%$1$FxzkZt z-od|U7q^#4C+6e#&SPwa^qGJuPjo3BnlINa6NpAuZ^w9$5eVl#!hjSn46!~-{1J=|*I95MRp0OWN3 zY4}XIx5?JZ8PmgOcAnSqwN1JAG%p793Tr9qD%|WF00+%&@~ifydM(S#d~8z-53&w)Kag%LmXD}GI&gQ5V*oRX2i*_^rLf?N za5#N~h1l=m#Xh@pZgU3imUYyED-$lGkxK6q=a;0>f5eFY4L3Jk(H@80qk9fiaMdtW zwIlOY?Sgd%=ODA+eI$eh4*_PH-8od)0f!$v<7yu5z&*J56)JnaXBl@5$||LF%21J@ z6ft!nfPSs?fNgkNf!X4{(NZg3=l3|ri+zpTUdsCY9e}Ua5$}`>NKL@F?JTEYO{jiQ zG}V~pi>=LNas7rGQ$GJRu`UGDLiL8?50%kcokd z4ADB;C>S7GP%VGd#@e_u*=1q+b#Zq@8U}HtjYjV(^{g=~1;Y&cw$s>UN(96XqS|$a zo`29t!A+AH8qaKE zU*AV`ysM%oX>FlBRJEkIJNVaVLYQ_Lui(&o9DjqQc&36=6=LfLbZo)M^gZ1~tb#;m zik1p4eZo)(Uon!I{)XXrBj{QKX!1K+I&VyF;Z}x1-0mmby|?jA+<#lmYl_xxgnr>E z!U{Dm`0y4BQ80xn4G`gKjp5%=O9u#=E4hXU1C!q;Ad|&aF@JzmXLbG#%YtvS0(}%UKwzXDk(^gw_`<;7dc4r?!YkA!NKj;7d^Pl%Q|9t7k&wUQS zE9BjR$4;LKt}!}nC3ALbV|Ju1Wo6qEO2gi?;m*Oqjoj;ODW4xMB$GrOx1AiR60xOy zQ~SnEjgOiTL7*>FaN_o^MA8|CxVk;~g@C4SdJ#LIlFy~iH53dwvK-aqF!>DT2>ah~D| z59SkgPJdAA@lnVpk{x@kEH^Dl+xZh2XRJSwvNMIeK)Na4wnRFS-!8bN={f>-uRBN? zy|oi2R`Be46X98E?Q>Z$uu5>lh@G$G<;JFU72M3MYz^Wj+#JAa+#;x-*|FQojgn^r zYXpm%)*TFD8Ey@r5o-mZ+1v8gVA3}5GJ$EQ^MB5%KAVEo&$^E&Uettj0o;yeayM(q zKr7EC^0s5;Gc?8WS!cUTcoJwwM-AGrUJ!msMH$#ITPLmq7>pY<%qME#4r-OL(QBW~ zyOJIbVhir9!Dd7SzO;*8T4t!idCAT;+@<@r&(a8$w)S3CgMnAlwlu>Y`&1B}x_1Y5 zQh(5V#^Y%&-IA*YaW8fSV4#b8dHkT2EZ9MGdj#$ylUengElu-TnvYqK?;h+`OZMs| zYl8@&rW$_SA4Cv0=&Ub@CEjcxhh#uE z2NA+joxO&^Gn&t5+ZnkhPYvX3$HX9YF@K`Y_ObRZ<%jv|mrc z{knBWAwNndPsBavIi}9qGcRgN!XyJ2LyBA64GjH`Ima_hOF27V(j60AiPpTWF2RT3 z1ds)T*~nSL_JEUcRXTlQ;6Qg->M|$@R>B5O2&$>FK30Mho$8c&+DSaDnZ?fU&VS_c zLA=((J?i21XB;msx`TKfUau>Ul~%0$Xb^AocE8E<)%y#!LuY@phx|D~4UxMXYa~Tc zf_STkf14oNG~e-m8cg@kcFeQKJM{8*Qq7e*={uFqTPN>58Mm`qI1RA8uACuopg z?27fDCxKlSOWsfK#4+rpz_y{voYHTRswxGbQXq(ZO0zkSI9GoQ8Bi~a`kI0PnCSmUj20~CUeDCt^Gy- zpTX0t1v9IaCri7Y4dB!G&Dnv_W8ggV32R__XC|FyZg9JTm2+g6S)(-Lm%{8Bn@-&Ihs(9ywq?RIqd9vVTf&`%e{R%F|_B3E&I(BBdjt67A_O#n;rWo4$nK*G*rh z>fGC`q0){Z{?J?cqjKyhle?K==P>%mOuQp{)N`qw^r#^IMAORi_d6rGHRL-<)%Dfuc442M{^kAnJj{nC01aKACW;JGH*wzmJ$4p%Df}?56L(T1rJnYsW zJ6;K3N*3`zBG*k89H)@Y+e1O|X%3qbzaRRi4xsVNxwJ2D<$nvgouedWyFA@@ADuv| zCBR-oYIxg1*~5?>y#UV$O$VKNz8E5Zc0eNhs!e7 zO+H@nj}v2W6%9(pP1b(psekWmjEaCP=GChMi0*VhVfmhRCp6Y@(68 zXTwO7DcY2$a)0Ygxm6wEiCLYy=Sn$4*pM%Am=Y3>-J41G@+B9PCN@BFyR55&J*x}X zR$p3cqz%Kh)zUtvrFu!f-dZPY#v5nQiS+TznBCE1r3Qzry>{Ljw&LtxP8q_kye2h+ z5PZ4vhSE8n7|jgrw$kjta%+1snXy9l`UQU0!TwWO`+sL!^sc=A*>&?*cUsA0A6sMd%3VLP>tDc7<=$7CVOc`{0E}AGPLwuxBc1Cir(`Mi2L`t^f)6(Cm+?m2RLMk%5TZv?}$+OZ-S~;7U zS3A3MiPo03oH!#q6zOu!AF1@k_Q-zsMA!rWx#G_8TMX7H`ZriHF?_cQbwK zPk$^cX1(jDAIh|6O44dYzK5D;HtZPWoy-=xu`iLzChhK2s^I?G;61SAp@2BpsUJRz zYxHFMahCH8&08pSeC?&5u1w+6r`E%yW{~tzBa>@STPfR=M_AqoOfNp_Em}@|)Rfn; z{B)SY$Il|oz;7hD)s!<##OoC1TSu6W-+#*5r(F%*gLNl9M&A3CVf`^Ek+ypasX<1V zhpFq#Wb!Iv)=M%uzP0^)lJkj%D$e;XXECeSSGhYbDUG#S;5hPS?v8vRbM$M?!*bTh zw=;ii;NEItpKZ9Yw_#<}H-X3`8e>uaIBqMV(mgaHn zKaT_F(SIHX&*Onf9FDb&<5lNz^gOJFco8F4a6{PNkl^exY9}$q!{bO#ApZ=xUL^0} z_b{raa1)FwgT>RpCih>Xfz7~=(0^fI2N6@$QT4nH-W>P=f>YQ|W$GU;0aLC{A@Ag8 z2^Lewg5y|(_i zi&jnI(=_KKJ`-yl$1~$NSHyF%*xu$={*CFm&lU0chTl0_#P6MhRm2~-->-Zg&wmhI zt(Wk85q}ojR*x@!3{_{bX@3%5i%sH%*s7y#gT;j<>S_g{BacUEsU!~T{ceiXYSu;`;WJRysVQuQQuEjQOJ z3!FL9X>B&wSVuaSijk^*{KKeOZmvG__>)-LyoM;d^Bj(@KC|2`N`EkHv@Bj0C`toQ zZZuoRlqkw zvX%g4Y8jW?E>;q{402CuVV}-?B-(NjYt)F+f$zCv3$3*VtuCyi!ma4QcDy*ZzAHv67SVx6Ffu~$pM}G~j0n zWh5H7YM^M48Ajk5cfkwEt576;`(LLxtH77GbLD%}D+ZaJO@C^cyI|ml;+w|%fNLzE zbyJL%`2=|=Fz~Xw(qb5uSkfqQ1b2bc$|aIn?~>u!X+lJXT;4sDCZ%dO z{ZzS$o~^t7AW%x%Pr;|zN>;Sc;~t1jNb{lRWE&9cZ3)Tt3E6QdBs+CrA_~d9Z4B)84SJ_behUMR_pRTe^*jrcG~~`X+PE*{QF$U4iczUi?T% zUUjr6){}^~Y1r)1t9n8bXT~@u!lB ziR~#$jvO=>CC`C5YNj^qL-jRmH)P)w_N%`6@1(kiAzi=^;a`4@DCzP|G2-YN8x6d` zWq0+OB3L*YsB4swu0@*Z8V$6_dKQGcY5Ui3$HTPU6ST=kxOD<1zDk>Yhx_XFcbbyb zfR%2seSc94#St1VB*!mE`y!UpO?zDMWEt#n!H3J>UKf0A8SHhz(`7K~bK%!d!~S#V zk5-+-LCxte#EwMG*033C;s0j-*NPlt88TySIx+N96*fH^({bLQgExKC%=FC*PT%sA zHoVQ7e*0;+wl1Q!+^@XLt68#z^A_olm;WzNOAH4Hxjfzh;|>4-w;Yr4WoCc;Top>f zb`!BlMPhF#v9barPmyNe-45`U60L8FO3z#nD2EgGZv;LFVYI_I8y zXTE*^{1w0>EHS)0Ice43SUv6zMdVrQmfN>hEmwtcAbA?7$PSe!D6WMRJQ0)}@Wgfp z!W|}Am{{w5E)%h8#l9W#*baY29HRE{aj&;VwYvTb-_N9^z>&}iu~ML3tyR}*)>{*d zq0m;DcExre1;et^zT<1|N#VTKJdTBScE)Ze5qejJqN&s{iw#UN%pUS1?noZ_&R*|O zxT%3@hJ~%h_GYKK-`#0#ZZ#X-PP@_S?(V&4FqE6W5$#k5k^h9j+;D$o5C!Q|hFoRk zfMNdcqGwqkJ)sSh7^XMIwIy6Yv49y|WXNYEtvVoWCNBM~pe5iygxLUv*=Be>$8Ii|e{}=YBW}>);>m#9yG^tZPTdj$kdCcFK({69p9Men8$bCddL7zhLIoN6ePX zpRjO>8|7PcoWlBm`|p7ky?N175ft=1*-X-HH_5V_R6#8GS{{4=A4;59oWn5x zH}n6@_s{1S09?UXz{hU)kiE$q^@f^4E~GByRO+^N#$spMCaK$kn0vB>fq1#XkmwcZ zP3Y?&7bV(2Q|YRtMwgf&gVM|EJfHKef6xB?Wp6EmE&0Hy46<1|o2T-91VX_0vF*L4 zTVqMUr1h1mJQkMJi$~|ktGhq>yjM#!&Do6}-izT-!08&ds4O;>y3g07yBLlI#PmwK z?>I0zzj$JB1ThRH*fN5XVSAI`0-m>C~e~K<8xL1vKSNJM|Jr(s8K`qiB3M+a@ zi+Uqkw~F-!M*WBBwpd`QNnSxzM{X^8&UebAwfeud)dmat}_7} zTam%bg)^WvbL-y^Xywr8}%P?vE+` zfBkB#alP@{X}+~7p{PVQrqWB5eM)0kiS{;b>bg`7>Jr(RY!U1;omRcmKfd3g$3oHG zRW;k0W{j_{4J+}uL^4xZuc~j3X*!62zh=#(QBhrE(uk|UL@cBaH0Hysa*~s#$y7qq znHEe9D-kq44F|1-PE3iJPM>hZ_%4XMf2d5RnKX-O&SX#$oyJrGvVJXS*bIuv5RIyO zDsm}trO5%fwq7a$~2!mxoE8tRWKFf%nrCh1Y*p} zpk`~^NtLujrp2@rR_TFp9aNoTH4{#vS|+=CSpu%aR9@}RH|wgJ9ZsqzuS|8+e*jyV zoP@MSL9=nQqW8gw?_;upA^1;qt`HfSvf;tnGCEVHGw3WP*Tj8^mV+f-Gd*%lF8~oM zz+OQsOXwW(ftvzuCegVWZ!nhIHN(@I)t+@)BHG;&i)k^5&dVq@O;(}{m?Ytd;J`_1 zOx>*oBj<*qA^p5O-Hf@klUitO7n7x`!9kbgQOMY7N(y@f1%=6> zYv!htg2MjWsavM4g1vd!PTesO)s+KT8tO%Y$UbyyUrgJtbP4Mk{t*&XE;VCzGyEf} zJ1Hy|D*{$#TtLID~u|i73%- zKb!*yap5@E3QC)0x{j_#7%Snhwtri6Z&ceK-DGGL$%v77K0r4Xe*@-&csTY-faE9Wlg0FL`Y$klnS(xsTz^?2r0Nd(G*+4&^cfg8J`mT{h*y}{L3bgC z7-SN9DBS1|#ZgrMf17DlhpNXtis!=ZZ5|WelXi&#Pqhd!^?(xT53BVaZ*ycoY^{zA z>{G%CwFV(^H%{qRq)JqQJkQ`n%y`yjGJUqQoQe_A%aX24_>&f?F7Y*YGi z+#~d;aFl}+2w_{ILlD4FNL++!Hn(fFa9GVG*CeH6I!wb%?&`uYW&}JY)5A0(+8qA` zuG1io%k&UE!LVs+%!K=%k&g|JyUND z+qEKJi!3G4e>af(LgG!=VnV8H1+}Kvp`LHjvn6zl{)eglq*9rGI&?(`{pU01=1`RA zTgZNBY1`EUx>1x6@ZY8vOXvmq4w{yzv7Fo7r2WlFFVS}e+{^ISh%(Tn;-r|qDed6} zOErkULf@C^IQ;;{!s~U=k5DX5Do9fg*iGjoiGC~sf8bPg{u7yAqn|=XuXpDqt1qr| z(9iJ_QFQceaVPy!a8pOWLScv}y5ec~F0XDan5%z7zZKBGL*CV*InwSp#R70rQB8tb zmcy~Xr#}dl{gG+ed&igPPsnI#c7>IjVvz8C)u+HqE*F2HzsmGydK1*D&yUxn^|`vC z)@fo}31^f?2^UTadjfQ5!@thdVWg;v)XKooqA892X%~r!l-23j`@MdKmmPWiZVi zmWySUMfofVYUoHp(fCGnz{yV0s~_fRIN$5we;H62>NJv5Mo1^mq!$H$E<<(*gVLd^ zPM&2bnahzY!)mlw?=xbu)ycDY4s^wCoTNqDwRDAc@;o8uamEl+YS76jr6mfH7KrM8 zoEM6O3Leir6~#^nr19#^6-cPOm}%*$;Yhp$vEv`%GH^1CKo{BTAAxa zf12af4)#uxPK29rqtFY6A9CQG5A(zCh;l zxCvRlI&aftXRVN`8GZ!?HHE`YUS}??e;@1T8bm+WVDxj0VR-3Drhu_Bu#7hfLjK&z z){sHscF|uMR|`h3>q+cAi3sJ^(d@-_8JajqYYd69O3wtKy_$+C<1Vj)@&nnYse?EGZ zu#sHGhYm*1InQL(gA(eAB*J{C5Tbif1! zBu0~}Nr%a8Fw6$n#jk056VOx`DXF<-UDG!I*4^v3G&TEMc5mxw*|K}XrnVL*N6|)d zgf;V0B%}E}gHAD$@MRnmCW87)fAgt3H~|*|Sv9)P$@@(}%r5qr8qxMa!IzuPkQq&~ zd^oq~8{ff!SMk+?&NVr?K$u%MdLzD0=Ie!{x(jH?ul4qd*!h5{JUdKZ|Den_@=Z+d z?`+!A-rBz2)7l$Ff7k5^CgM7#UsJ0d;qM;d@1Ah_<_L3fv?tV?5U`=>e*`$6$HBLt zABJR2U2!dpLEgBk;9HHUkw1+56V`g2{83sbSh!7G>l{EjgL{5lB>X1+1XD!;Dbm*k zEynGDs4Ey)W);$w#GjJ+4w22P3g)4F<(di^l=*hXsAD(fV=8#%k!E6TS_g`m_xUdV zY%$O=1kEde)QoX4tSQ|Rf8Sl$g$q%Y_+A7%X8HYEZ12`kMAbyrX4JXQ^B0QwKK`PS z^CmU-s#a63FUfolf4P)4GtCYwk*;o~GWY(c5{2Qmf`sxkzN*kI(d6eB+G@?HVpSo- zjHT}FPJWOdlBtNlGQ-Xf!ym>E4n_BAd(}q2AxfL7D?LgO%neBVe<-3kGQPlcJUg1x zc);k>y3KMDuQanof%-HVqL`xpZ=2?kQ{&c5++C}L!yO^fukly;kjw}9FjSIc8u|Za zviEpDxQT~dM0^A@T6*6z-a~lA9jm8mNxW*j8W=eOMF8Wh9fK&Q6Q-2~vi0Ose{KSQ zoSzU)(NU(kg@lgAe|0Ec;-_-&1;&~aq%_gyM!Jlq&+sv(OQs6j zli1*7%%qQcR_3P}t)U!@sVK|{GoP(j`1|72A7n0n)1NGit1UkiCam)#aoy)hf5PxP`8DyGV=?~(4Nl%=SO()~ zs4QbmX4a0laLM+jtS#{J3;w0dKj&XLDQrIdM#!==_bbaJ*rwHfC-bZPdQOwLwGReF z<@f`-go}3H*E59kw|HiZc zc5F!Zy(ZT-^b_1qC!nkpmvUy71H}YHjw$RSM92iH8%VskJGF@f7;>s(XLqYppJ|R;HkLC=dxlodYkweV%f0~y=(h1`vIV95uTdWqFY_V7{ z4i^Q(T3mHnButb1ss(bjtkn|XZXTBd($(%}7#tlIA68QNW+1DpyUC8V9MiZkWzKLYU6{L*(ilp{77vU6Ptp zw4vTFHvLCv3)7<`v^6k7+XK7mcDpW0Q6Nbdce-{bsjD+dYKnS}ZWIu;DcXCKEI4vH z1*wnbQ6*K=`DC$76W^K1Hi}oMZ?!~=i6uIJe-wb`dlS(p$-os`c=P}P5Pg>E1~nlD z%!vIpc$USNCsRnsU5t0K4b|3VxR2uhWv;j@k)(kXU74h7%pd;oDLOhrPX&BMUbihp&m5uWn0$7({Rkm*4)XKvBJun^rYAw# zCnf2JgM7bRa=mI8W#$OI23&#qv!T)BSpP+memzKTph+<0>uw3EeWhjmN#akxzf+5QBA z>2%uyu3NAMzB&)_MQ%Lo9Hb66{I$tvcin<@_@BY@CARB@3z;v9?LM0Awi|EOBzJ={ zQo<0aBis`x>fNMuGj zYdWv#Lg^Or-Wvq&i1ISbz!eO8gzA^#y?b zoBk|*0Ye+1C%Nq|H)HUJh)#px)OkbP{M%uTU8e=loUqQk}pXueC0 zg1fh9zEBBo9i`1eAF?PH6A*YS(INnrVCh||F*h#YQIw-BMe~h{{fQp>G0 z)AAa*EN@VmtnrH2y)2&z1eCxHe!1^pL zw7y9m+iA4Owty;Zb+p*lNR_s8Xo>AST57w9s%$z{+YV5T?Ha1JT~Bqk+rY0Z#%Qw| zvI9KYA;+;1emYRQ8?O3HV57)VDgLInHpS1uW0U;CMiFFzf415(ei1Qdcz6vQ{iQ*w z0LsgOwiJI4?>`K*9i!6vCv10bhcp}8q=qpDJgJAOz0_uTlA^kl5YLjdAY8TJtflCX@@p# zt{;@Wtcqe8x-MP6@2inHfIT@MUIWM%*jNw7R(+>Bj82eg%7CX{I3{fQD5n{MWz%=*-rvFe&2M9d=uBy%e008U& zlksIUlel~(f6Gb(F%*XXShW|&Uc7DGje@PV4pBV zkL02VE_?tVN<32)5jl{YbMl=pki37qz5&?B8pG3geA9feyWG7MLC-$4-M(G5-O!Ju z;;{^anjiKA^|erf8$pKyZffp8xVL8H8~d=&l@V1tfAVTRk7_b;h{oPQw_7JxH-F~) zBc-TuC$u3eHJZDP-Fm}*%z!cETH#2$;!G;RuoY_0@igx#;oNH;MM66lfr+_No8S9s za(^1L48r7j=p_ClYV^5OBQ36kG2A0!>GIdo zinR77${MZ zrVp5*j3~-V2}3)hu&_w$Dpl)9Q2>SQPUi*1oe7qz6RbP~Q#3VIq&@*qO9u!Fbw9aU z0RRBblTm(4e_IP+l+~3!=g#AwnGBE+0uB!y-g!qr0uH_)fCQ3Y2{9c(agzKYBa@jp z4>$YpF)jqdt(d>8b|IZ^Z zq22B(&YAl@_uO;8^PM~R)px%1G!dPr{)*}58*kjUfBO0bJ(1o$X1s4fXhCoPg8Bu$ ziNT?0ERv2U;thj|J`?pxGiF9oCK?AKsfOMGvv*G_GniTs>W{=yX8nSp-3^10p@yi; zVXj<$eoxN|^i8hLjqlIIVyM__CR3Od6{{OpHm+E?;06ydldm(8N%oo>qcM|db|SgE zX?HTxe-|^G_9Y`jLuRt6HJ(aGVlji9Oy$=^_C}gwk@)VWtv%P6y=jBoOzv1>_ii)E zG^ee^_%_|RhRM^H*cXo_B7IC}m+IKM-flwY|M&D%Bo|N3?Di7S9lkr_E$Me-dlzN5`gEqIXXeTiP(`a7^yLAR3RR zFJii?`V6}~^S=J{CTcEca#Yt`?x%8^?jwULnb!Ot6gQ~KM>DC?Pg7}{mt1s~pFHH1 zZ?pa6qcZt6*H3<$BHzwtnh8IN_7AU*rqao1PevSZTOyHW+EU%7Pd}Pyl4aJk6?~x+ ze_i9d*VL5Uz2!cOY}q323v>F5=Q3yk3~cVlnkl{iEBv&G7W-%+Et%kS)?r}M21g|NX$ zAMQX^b=#@8X^m|B0=iJf!_%ftRNSCTn2cy@gY3>v>u7Nqt)&*GS*IFkT_zgqlf&PD zWiHj{5$r2E(BM)JU3!WJxii$R*XpB9h2XBdaF4W+uCR%NdXyR}ifOwqyAf4Vf- zmoQVocp@F_O~liYXgnB+4?`czGEpsjz2Qg4#hgtkt9%L(K3Sud=wQ=t(my_cw|tZBrSkc;!5n1m10aQijG#+i6muD z`9ltt@H}iRUceX|7hCL*#Z6gSBAD|D4bv~4vR$F%aKr*o}(j#F15zNyYOQcLceN>{{9dr-o>C?u=N`T>Y ze)>55wM=qI?lL^IqA*h{VxSIfpTJS36PwKaIYc<+s^lTz0XpoXfBWf^LRHN8?(~44 z9;BTkjAao7=ttbs{mc~9lZ-M*6h!b$GwLPgs zER#0nT>SI}0i=cWcdXo(i{D3kHN6Wa`b*uAV1ERs*EfH0d~rMsYF4t(U}QKr5ZP-6 zdrUJPOh*QB$$=>Qf1>Gu#>MfLM7%$m91NxhB58b>!KKB6I|m}TDV>?YrNNZ>WIeU1pKbaT=45X8p zl;B-T6U|21STVZ@b|qt>;Nlc&?RkQ23Cl!QbsjKt)Hf7df4Vreba8xbZyEEJ**J(LPH*;v>puxL~10*P)C#In#xtDbL=(@FH>tfE+<*nB|n)_%)cJ>n$6 zObX_S1beYbY`3^;eK2L3`cQ(=bV{tfHwvc$20jMY=}#mFBk=e0OW@Cr64aoSV}Fs3 zh$lV)?ptWxf0l`-qk|?$p=qPbsE@`ZoKFGq=*$caB>`t9Zu42iOXn}B4s>6lV?H`a zPl6&@J`N@$6lo$F*Ia@78q-9pD$kxKs`w23y?FmW01QgB8}t=FJx#}bAfG1y3z_(J z(IKXDN(STns+Uioe;CnpMRdp_l3y*Mq>kHP^U?G4f6ss^GoF?}%oLbF4L8IygJx2@ z9khOd{zdwKW5Pm3T@3nHTy^AQ?TMthA!ZI@Rv^Q-gp<8U{{~=+oBPvt!>LpyAHx5g zz9Zegi|BFMb~ZrGVS~O8je#f~h{%5Wfgs6C^h5BmNpk|hobAboWP1^d-Uw9w2#h-w z>DP!Pe{(S{`Lh@ul>7<3;-eqaf5^%pukOJ;pefkve_D|DDiAbh?sb{|egUGbnRHPU z`2{S65LR5tbm?Cn!-^+@ey`InC5XKt2U@z138BCzsJFrTF{_Bz?JubIpECRl3@7X^hf!)e@8|k*7sUrtdGtCfLEYwV7_}+SaVIvo)wJj|_PZ{jRYDq*-(A$ngydx6>d0bs0{W-Ho=B^EwvERo&o|4NV zf9)+8JPr8)PPZi%N#TB1PPlZs5`!yP@@lTM?v;+vT!nkZ>6LZZA5+N&3wF zTl*);lUn^eo96(1c`j4%PbKySBenLXGCe6h+|NOwBsDxAOE!9Vq43AnlH`ShyjXf7 z5uQ_Gm0Zj;7&);aSG+43Wjech;_23$e|p%pT<7B&u18QvC)Rehw6=EInl)O+XhL4m zzJ8^Lm%*32wr^}$?co)ceb)`A1wUt&G7G31ujFRYc$G~Tg%R@kAafkbT^Izufu?oQ z-8m}97XVnQTdmIJe36eYVIYx@QdUn-Yho3ATnCO0Jn2B)5q-f$~#_VPKr1=hT5+t$q+TDE(*9n&Ft zi~AK4dfsaFyzCV1ESK75Dbk5)04buepS!HO%dI-A-@C24a5;Sk9vh1c_Vh&-72sjf zxlFxh42BaA_AiAJKkwu#5rp}we`zj8>RDcWN{4ceFfAxpJR0Ad*kd-eX@%R(bfiC` z&0;VT(z3xq1=H7x{lp%J5d(?7O<X3C9eNu1Gf(knSWWMwd9${)|}qj z5{bn+f#)!k$^Aa=d9`s?jbO9MZ!I4--MK z)}TB)S_y%N5y0l1Q4@prPJF@}MlvvHFmh*4JQ7cAj}BVTD4YF!9bfO`VSbN`@oN@ zWVy+G9=^lJx5xvEPeO>*jcI;yT3>2@So(c@H-<8jVFRo|CKUjlY@D=X&@yNgOA071l7ER0M)YA>k6ke{gxMvP7C@BmpT*LWR%YUR;)rA({@jE| zgF+6&NUi4<+!M?je@T^)vY-`F5k$YhR6FVWQHd0%oF7GA#K^^bI_;3GGv=q~=$`}# zj}$+OY%NkG3)2@A(Ic^uF_>I7>ESPdh)((gfx%D8dtCx?_GxPM@l$*p_h1{2L$X~D z|GnjY_Is0`zbuUZAb$nbFl(>5(MZA!5mQ!5Z7nCeARc|G*k$6yk|B!50ezB6=SbPP&22(X2{yJEa z)=h>MM?(+)3!JhMIFk18H^JD}7d;ku_(c%GB4cR~$>%dR@D)E6bR}cJK_oY6u_f}X zsW#<7r=eH`e>Z1AY34JLCj2{p$H(91?-nx6JOH1TI{Ntg!jxXZIVJVW==Ox4e<&&I zLVg+4Z*4j)zc;`XO|XXbdea!p9qHnfhktD08Ii)-Hzt6!KgAV@rYtnJ@+f}QPeGb5 zp7#s!0c{VVD1Lq&JcGLVml$j&fznlZ9WTRn@>vPLf62e{0zD!FS)wz4*;Y6xYuBu0^v7Y-cvtK&>>Oy)297A1{3!v7|YXbeI zf1xe`73k{B=N3h6*!DWr;#F(adj0C$me>bMrW27R)u;C^g*s}Zx)gbl+64XfML}ft zr95ggcA5LZ2pL|nKZwmbku{s~UU_Nrt2Wgx<2!&4J<+(0nI3gnjv(n#*r^2E+)sdN z8#XG022?8^g>E|SP}}vJwCa+V_<_Mhf1gKn1723GTa3&L;ZvPzr|=B< z6-ht)wVk#&_Ij1tB|Wd6@N#cA8>&Z40J^X-k@TxR+UZlh3YMHzJ?V>!+AVzsCj8{O zQNN%{Bv9A*)E@bnz$p*L9yQ2x!T;)6b>e*TvZ@l8Qh`aGJuzk`lbNBk*;j-Je@R(; zJ7~5|eJwV2>Z6}k3(I8GUQjZ%kI5U&&F5FcLd8C=t^P8(;)O$gUbFmiWY~oK0n!Br;Px)PU(wF8U-luK_ z?^6fhBSPEai6Hnzv@a+mNM>#Hf2iAW3N48~9Oo23Oz)od$k29CpJ|$0<&Ml?kD0V< z$_qbC>hvo`733lVq0)(O9`fQ_h5R)IE&Vh_%c(RC(n}bR6018=swX$b5Cv<);hm#2 z;~32hZyBXowNFr>?g^Sx{{+ozc!JJ(Ob24G#9C`4AH|Ap$eFcST6!<}f5xb3%LrYJ z(u(kwXURP>{$}klS`}^|rPWVg@_G4hTBijwECx=pCoU+WBCX< z`PtJKN}Rrse5+;oCbUJ}h0h52$8j_Y|J4wU!)D5$g?6D#3M+Nt9hzd$D(1jA4C|2I zC`uoeK5KQKy83ZiTNr-{zPv??)%&naEsh&(g0^6#7{>3zu^z%qf1kmEU%+gyg4YU{ zkiWg+mGEsJ<9E>R!T49}pC#vGb<HXnm*8}5kHU!*`DxBemN5)^l=^qR@Pmm|z%+kjivUG2_LrfNOj?#TkH@h6o z?kddjAT>5rxmQ%sfB21K^r>*j$kL}_=dysa{M;;!bYp%)412&0r}##_Ox6{KMxQ$* z`h~Of2yFgnoADGGa9QYA+v%+9bk%pd8#<>y9&nCP76&pG#(5k)F8Y*feMZPryDLji z)gFgo=D?5FV$;>sq~%I{iu^A982{!@?sMdKjniB*^jR#_f1eqH?qGxNl7l&$G(klT zq3Yl`tnNCcE74oz9j6%+=D5p13W!AGq%M!+b{2+Vwv96PRB{%L(7w_n-45CdqU_hJ z>JO)OfvHfy4HtL-F7SPP_sTCs_B|iKu0`7mYPGkofcSE_?F7}ZD4FQ*<3ch-BWc=q1 zVeJK3dK-U6#&6ovATsY0xbyEkCLcv^QjVK4h1Tiq&d_oe+(zUATC8O?HEVf3U8Lnk z+&+=*v{TESw2MBhA)sH&0ZM3@p}Vz|PwDp&*y0f6A^M~)e}*2Wg0T+^fWYDgy{P@+ zc{%(Qe>h)~??s+xHyiX4zDTF}J$<_%>1>C!UQ$QYBo3_FU zwgP$djR?7qFmTMM=>cSfG0QO4Kia#ZNO+Kn(vB<^Vwfr`Kgak03!nK`noUi zAkh}Funu``Kvf>n8#VMs`C2_bl^=@ca64|>y|k=eN5&~uWQ2i(0;rZ2m7GBU1On&A z9X-zN+%d*C%-|abEBU6|BCDJnatGYce^RGiJJb2mPte9=d`mbS!eQTuz3^RGe!n=t zhr{j9(!7AXVT|v=p9*^JwlThMgnU~9?)DLi*F)fp#~%j(L;~&;bZ$L@PVG^?pJjKS z#28uqo>~O=N2RH#j@yst6vvJ$`9Zzoo3i|wN*)or858zVTW>3o9~JOmzkjRue~W>i zFLcd!Fed4sLr^9EUF|48ew?OLlJ=`N_z}9E?$YvubiYXcA^%h%^6>BYq)4TdOG~e+ z(6U0!P|F}^s(_YftEF1jsbyMjR@;>c*`;>q{#UB2wKP>i%WG9y%f0GOE$>zjiL{`F zpQNgBx=@0X%V1@2xxweiCn2Q;e@ysJ(hMHQ{VmbK4oY$IOlZ>$9y)3_mrvTP0qPR+ zp5BZ$5Bu#2rWH?+i-uMYX}(SKDm~X+^yGcIpkt)2l)$Si4Zg+T15Sf)&o3>333c*u ziw%M9LigLP?zh<8JsK|cBzee{^>TGonE4!;xv1LiFT6Zoozt&Q!u-K}f3?`!Yd?DB z_+n7gvk4VAIfEb3xSPbj9l%|%N($iHT` zwcjD4{DG!%1(owGs^AM~I&VNGxCtk|o2vMFn#n(;SxV7aDnbDjrP=Bcnxo#t3KjC^ zWAlnM){y*RdtLn)Kk-<&f1@^hgy!U+;%FW!D)|^b>vM%g)=kOsGj{I=^!^9w&Hr7U z1yodB*T)AWq)TF8q*3YaP)fSHyBk3SMn;eZ0Uhb?hJm3Zlm#n=*Z}vI+o||Xwz5hvWs6K69dU>7{8H7m%r@z5aB;BX9b;#PP5 zvLvqLuoPac7cVXdh<=~242k;@z*4#jd1oGoW<5`F{j8UrCRAyxH?D`s-6!b9bKQL$ z6oN;L(;P*?$Sj1rxbYWwKVp20N_>p4gDAh%^>xt|!oL>rtc%N-Rg~g6)u2PGM(Qdk zoUdyEby-zMll*)ymCAU#7g($No9!B&Zg5^d$@TC}k8Z1z8YHsl*I$(T7HeVf)x1@> zvM&zLceMkDH5Banb!JdKnPIVQvN^rt6~XMeLKg092P%YMv?jSCy>$k7q39L=;}uGZ zk4395=&8gLMDBHP^5ZAR_NUx_+WkEnOzdU_dNttmfZTj+ZPK}M~PJeso2A-M3#cn{p@QRbgv#`I}o#I&Lxu>roSQ9x_B#~AYe1% z^(c}}KL7%&73<-p^0|{-wKC|3%>gcZd#|>gpAVr)?E)6@X zUkNTw8F&L#57%CiqxA}v^d*&XuC+H0LEYk|TB(_(Eb)JVTDghecHwYTNCsI+4s1M`JPyaz(` zAVdnRHkV`4oU?*fs_5O8)Og}iOIK>hIsr*2n<-(Qh|+BzQ!kzmdFk21J;BTz*(kQ! z-Bpf-DAPtf-`*_Xl7cT@04dNEUYfl5oiLLeR)oai#xDD0l7S(h5k= zbB%qzaAzUOw&q+Riz+HrkN0OHb9mlb^`Qa*(sO|K$}iN#E2O!dr0mt}d+oiA@*8uX zq{L0gIK)Xi;%nv|+xs$nD_bi+q+=%-?Wt*w#dkV2@RRA6+YC<_qJ2nu3KFkeo7yxo z{HXkRY+uJutAAm5mYzQ^{Lo#!Ult6>NcaXuzXn`5V;0tY`5C}o`Q50dne;+y)gnN> zU+rMU(DoFa-E7fqUyU%{bk*(0KIG?*3z5Fc14Moqe$lb0u~-RH>HD*+vu2K{_xt4I zR*h_$eRAVPzt=Q=<^5iG{L1;gsGlJ4GRS*xrct?7Ezf){)so#$pAWfk`c=mfCG&O3 zTRFZu;gJzoBj4d_wnp{6FN(JV>!Zw3v@B-R-zlDnFzTY(;R!pd` z^t?Rc*BhP@{H%QREXis#d9u1|{DFg>mY4qqZpm|?hR zsF|sr?%C?T?Uc}?Sw_eKa^7;n+fLov6I$)+@_uf?afhthfn@L__`OW6p=GSDf1ZoN z2w}BhR;if<`aS^gM&zb4;7}?*1Z5^lbgz_#dj-=XBRWVcTr!RW9U(on&k z9<{#8agiy4;4yVU?U#Bcn%+}K%28njKkm8I)5#x)FukC)_lU)meW|vADQOMC-0J42 zN3F{9dpfdiI`W=6r^c_z)GSy36Sy7mG(oog?aw=&OxexGhNi5=m6&Z5#QcK$-X04z zXdTf%s8W^=LYZpFC62|GoOGtRf-B8mS$JjAcnmDZWQ&&|aKyCBMB9fe?y7}TZHtG4GJ4KY)LiNZ2!K^RvEFm#Ut1-lwI@*#S^ zf+ao))|X}C_%BAY7W%?Q{p-}nPRm@xF&r$Xj`ah26g3BNkjS(!mIG58i2lxJSC?PP zFAl&(N`2_b`xyKZ^-8Fk%lqw&FX-vO>^h;&yY7L>O#z=HbwAACW~6 zG&D?i+5mfDb9EPiM3(Cw+W8%2K1s@{Kv&+W4AS|x(>_v{GL)1mD>4cOBE|@zxpn}a zdGk)(JAC*vmDQ{L6V>rzIY>XlLQ|wOiPCj>5C`Fh-nFZR-(ec1>o}j4ku~=ukpi!p z5H%$!$$MQx*2TriM|KlAFG{aY{C9< zol`n0#WDBc_zMD*bb5MuhT$IW9eBL-v*K*)gl9v&es?@AYw3O36FH9}YtC^K!BKC^ zZ*lYv5u8S&jgnD8F*|aT#r%2I+Mde=5US79cs)REVWIs?9(chS!tF5L(&9q`kG@j!|H`GR4QY>eOvBQ+7lcc^wPrJE+2;Cz?yGhMeRvzXrIQM2eX~mhE zR1n>6TEj|o%yF4#)NIMD_dWEl{MtiisKRLAoC1E)X2GFN0-UIyp)jf=Rdj)R6T8i? zF5fk1t6C0{q{)zP_6MQl=B&wPPrK z!rA=7@WOCn!MSoP;}gBq+6TPwPcKCm!2Z`)$5Cb|#;rcM1c(K*lrst4;X`lN@@^jP z77C?qucl>+f(N*>iaOg69o6TFsm2FFfi?q5n>H1d{sCQ4Hjyctd)8l=^I1}$Jl6OU zzE_snT#_Gm#{h@VPiZ4`6FkgoVdK=mBNV>^aBm3@!4ZPw_Iv_1Hn1fR(ZXuPb%3dHsxYIh>BGjtU!Cx$>-e!p| zT7CCvB|Js1Aoo#tDMh@>uR2R9R{5ju4T>LN(Vi|z>RuVKJgy4*2tH{&oV-QxM*wT{9{xP7tc~g5~%e$eZw0yCfImRHPusEt$}a4 zFy#!UQ2nsp86cmw7W4PNQFwnyy7NeNc+qu@Hcai3MmH5Vauu`yeNAd z@^fJn{r-F?gBFFQ@cu*H#C(F6F=ZBe=$|wf zUCpye{iFFfAdK?C8`*8IqQe!KX3RY^l$+HcQ4 z9LZV2tfI?&QAaw}D)WRVq^+o^*CBBcWl3%F@!40yWn+RZ^Wm*vKh40N@qoO<>*k zJO+q~rpa%?TyX~dN3P7~RRNGPni|sS;K(+|lxebBEIbSuE$LC*et=Pe2~U$!Zuf&L zMw;*lf-3+dcBs3liSOOVFT%%j{zENr_^0cu3-m=SzEHQq!Z&^7wH?2*VU1e}CCB5< zC9}Cz7M@eE^7h_c?9qHKbRRS(%sJ+bJCJOG`);d6M&hm_^p!E^Aw)FfxC_$nm4-yp zRZ8OH;a3@UDU8a&UcK?bidDvQY^7!^=C~0BI|?SvJj!ixa2vB9O7r|7&*@KJu;m@m zb(+j>0bi{AS#0Zs|ql4E)I)icOe z$`E3>g@UK{T2-ab;PSxR?SrU!@1W8E3TJ$#Kns!dHk=zj9ZWX)z+pLpJq!{37ABq; zxWikf+Th^zf%RxT+Hf>)Th1{dNM=bLJ|wX-+&}K$a)+4Alpy`RoM zi#DWYh?==~v3h9oURm%=XpnR7KJJK#pK%^@_y|EfKpGU)neWGbz>zPaS(jG^80Z3~ga6nX~obW3rb zt`)v>UfCs4!Uoxm=2yKp&yF$NdvA!4cXyOKP>Uihh?6r&kMzp*`4oI!75ZY|Yi@X; zV9%<>3ED8&p)e-ks;FZ1@T>Qzv!$c$6#PeokB_K6QHsx_gEx zqi1w%lo2$=+E@`Z@)we{bbEIq9?Q!&=Y=984E996YTM_xJR7{+6kVd^SztowR-BoI7;%_nxRU*o8|qN=G`P+Zd2G(+$|Rdw+)-u&|E*^ z3?M&`)tX{9X!G;dX*E&Qd(XWf)5z4((2*7wJ&|v+Wi8JvUe>)E((;&r_17qN4aV%o zRP6SyNZt)pA1#>%t_1M9-IZYzol1uPdfPlA>=9d-(cLod_C|BCXa%2~5TiWcnY&_tQ9z;|eC2ZRodn zbh(|@(Pr@H($p%Wil<$RR&&H{N4$=(Yic-Z^-|?#HBii)W;ICrt9a1R@r+L)ep)b= z;0cJmdiL_99~w+omhjiUQ%fYF>svD_v~fpjY*z*at9CX~o2g$Oq?v6ybj~vR<|h0# zmHH(@3OxdcK|$e9I=n^q^%scRZJmkqO`IUuhG-YQN;E|JpBkF`s-5!jMhFc@IAA3h zGLpu$ai5KBq-6_nwJ;@EVV1%EumLaG?qx`LI)P)+(8tWEY!*5y}eRZ;m{4iuCPYUk^YgB*7rlVA zN*`i5S0tASHbT@jC0fVa**wc1xr(a)1A7&AXQRT`sGUhGs^xcPOK}_E`;O6P6tM~?DL2}Yb zomOm~XS{M=Jq?I6R1xX+ZA`nLObRCo4rR{^L{F+25967Fj||A%?$+fOQg9~@Lz>qg zd)^pr0!0FSl46C+!km^vyak%#A7T^7+MMe$;hZHeMp7@=rRv?^>}K{- zFjcY!C}kCkOuU22%4HUzf>S@#7K(_rlZt*43`e~1j$h=rBh@jETl1h^Fxg(qoWIvh z?5k68`mr^%>r^IxgX>`lMe_r91mqRza{>u5SCQN$ZY!R->ijuk4u2-c=->g%7auRf z$Pp#(3BNY!MT1W0jC?1naT>LnJkpCaeaWqNj*cG$FvcGA&^2?UD(UEB%DFfhtM&V@ zum|c_>U@q3j!Ga&5N~-PKFh*3e4hN|aE!rc-~#+}{w;36AZu=-8%EtoUIzqrojWuv?kFEs-*!K0jZCH-g(zF3~-|b-g4!jv zJEs_E|4cufGN~=)2Mb`o$ekBF1uumQV$r2Ka>}SpS^9tH#Y#*@@xaGaR_^Kwgp=;ep}X3hy!d8rtN1=Sf(6D#~SdiMiM`E7K6Vz%^71G5h$4p}}l~@hRPiv18#b0?Zn$Yz? zIMSBLrw9M7drz>?`XGd}!~am=?i$Op7FEe7OXB%3=%Z#d4^o8r*JjN}LQ|!S;0_(< zI7&T*X@XD2^Qt zj`g4lkhc7^c4yb8;r=H%3P|gNi-@;ZyvY~nK8uypL7%dL5ILNyHuAy8z{_jeNVSt` zOYta?kL6n&(lNxxB*zm4gddPB7hQAgP>6`F3{yR)ZP<$Lrz21cz$pT$|k&l4q!|mLa|r2 z3P>mw`IN_d3vwqxLJUy7Dpru_-e|K8(#kNhLt?ie2C^F{l#CJj1WpM0q;quHhg6oZ zLzV~zNA$idM76-b0q6OL`0V*hMBRA-8vK0Wpa?8qy!@m#?blBmaA^w}I1OU+A zg4@Br`*oA0^$_$Y!v;Cfw|lnv@;8P|a$>j{qrX$O008YRdxel2P_F3#=+Dd>^0cG5 z1x2RcKp9O;pg)sG$R=-JFW9nfp!f{XO_P7$3IPC)Th_j2-+-D~|D42sUkU!}gjWGH syICIe_bLYfJi29Rvj_=*ps7XVWa>)j$V&_Tqf=(cv$?60(R&?3z6 zyo0OA!@%0iPU@zBfq}JyC6QtgBnhJk1C^)cAXrgznwqPdi7>jnrey6~qgMvhB;yN8 zb98Tr8W%aZ#+k+)(1wH}9QS2!_8?wV4j5?oARu;UKl}r_fna^S7i?bZb{6A+UTl{z zrr)Ma*j=;c7OwUZ`Rv&143Y(JAI5YL@)1rrW zck1iy{SqedI|EDC?xwF{K%u>hzw{c2tM*J!S9CF3N?ms=E!Mz}2b9-F&(JR@N_-C7 zqW|Nbf9+KbDxG$8o&-QuTVvsOeNPreA}u+w@cLEf(4O79+`s_u|!XBFQJa$){pvONDGorO;J# zgjiro;6k^&GBJPO;*zJ&+!TApbYln7C`H`hKv$CH{g$tM2=#r;xS>a+^PJWaU;FxV zPNiC0QL2f>c;yW#i#M=nfV*NW<4Ix@aDy5=q_}F$xms*wd1@Hn@<5Dg+!9hxC)k^) zXBuJVYD@Q)ASWW4fivq~{DUS4ae>YUHI5vFfaqUZWE;zY5yK{-&7C8t;S2{H=V3Z% zh?3YFcG8sGbw0pp_RVNJLP&Ge6$=`fBM-^EZbKYg*OxAor@oDf%4|y+LfUfB=Djx% zOAyo6(Ya~3xBkq2HDhcw$ znNH#!z5%dL8nLLoMERZ*#|8l5;pp8;=G{Y`-Do3di;%wd=$chVJ^{oB7~iG1QcEA= zMAC8K-lIPt{=;gucW};6a4@h>~0ze`@*CZ->rfrnFKci zDXSoZ#ZrLtVsf?7SyR<*;J}}Z^Gf;!Eo>E>Xmx;cBaN%viiVoX&@wJq`YbTZt2`_C z{G3bN3nm~Dw7hJ_;WX{91MfZa5paR9ehXr>GJ;dSQBkRz5nlvW zAXK8Ye9Y<8I5T4)NG-DZ?{IAMgrlMmG2XHnYrcjW*?JS%hq^oL#E~vI7o$$3AYWb~ zV5%{0Ff%hTrYh=P;1h@U<2+R76*Js!Jwk@y(v%+2IQSNrc{^A$-uN?J!khc_Ytk%T z*f65oG~yzla8lr6y{Yk8&>tksu?zv@Ta-u0cgmo{Mz3+jzuv&BH( z5pOx5=%XBaM`G(O$aBA%#e~03({J8y8kdgR*fmim%0NL_TjTl zNw~qi7cwooeO`cPxE614D^4M#^gGf~wREMw5pcuY0t@2b#)1vOsc$ zoik&Fxa7>TJ+U0syl)v&;1Jeki(%PAtPR7CIPXy}xTVi(*vXXmA<*c#o%L|~S0l&e zBEc7@$_kelu`F7CdORb`%$FJ7y5VCbn~$~oK4}`KTGLn_5ze9f!`JCR*NJ&rKAC_h z2HR3%kpt%cAP13dGNk(taxF>w6fQM(Iv**fGE+5XUbyDE zUU|>(K3`U?XJ#%z3J-F9ed;i(O;}%TN#OItoK$?d2gJpFmokbXOMA}Vu&bI9tla(c7XC(=GZVb_z z%jS1(nVmUK;n+hNhv=J+A8L&Yy1=yfAL)_J-OI2KGmb8;Vaa}12yldmgaO+(Am9&` zw8JfoNdNgdq`z!~kM&+}0aCEqp0`nl&lqk6l?X;6sw9V@h;Y=n9fX-=Zl5#`pym4C z?|vaC3J$9-l)^IhwIeV3}n4QJ2U07;MeDSsWqK0oLw;|5pC6UL{~#pqP1 z_zbLQk06n4#^iL2r%*uVC8yw^M}sN z(oCceOM=wHy&@%yQWHkwMsWqXg;e*vLA{5TV>yMM8s20(mUOoTz!)ffV;P2pzS1)Z z+c!SKrp_+(sjHm67mLLTSZ;|q>3fBORn+rKgc1BtTZn((?b`W8l8rM2nlqPUBR9*2 z&C^$y{!)}~H_58Mb3u@wU#UC&BCi&Ge4mip%1%`87=P#y)3goAbCL7w!%ufbI~0@w zzjhZl)BUgq&C}uytIkK=M74I(e1BU2pwqW z#|HSbq{QHh5yQb!Pw^-PAKu6q?RjMB-o}4K$k0Z4M3pTzb;uE5(bZ2Cu$ROEJ`|$Y-c8>=Ov&-l8?pMo6NTH9PS`m8x(+{8@0}k>?wb=%X z`)Zw9LQx88(dGa~2e}tdK7YbXXoND~uOfgQ@uH%1Xvo>EjGD4EV!3!kAqv6b=9q0O z=FuoyiEJ=?zI3ci>QY+*`T&>OVUZHtWrfzI=lO(zc-HR9|2Go}*z3J$%DTo$B zz-;}n`miO3MbdVQLl@{34i?9Au>2J~(0VPg$sG z&s2t@y`$o`vC*<~t~i%DjR%_33ppqWw#ykvcv3`#b0r{&y`H+17zMa#D&d%?(NNKq zNR2Z@I0|35UWHR4E2+GiWe+h^!gZ+}q#0uxX!JHT=BQkgl|kdDc4~Kk8+pZ^&Me^# zBzme7IPD}-+glOrX}NiBL{n~LT6Wo{LvPy=n-sjpATO=|^WC_BKfI+`4m74fn}gvS z;wWj0J{nL>FMucKw?xl*yOVFF9I^BV&PXYoyMCMU>5Lq^rja;di-T|~0oJ3mfg z6l7=<_ej4+fv!f~W`%yG)3Ti{!*^k97TT0_j$UB?uPQQ1OT6s5ctd{sl_?|4mSDzq zSpIExC=I>nEBF%o0%c`Da`fr2whHLsR)q~<6CJ&%TsO%_)NK8LoinTHTEVW|<2`P{K7!i&$*m+&vHgDCjEh`W^A!?2+{xril-qUX zMIq2ngu~BZA>*bXSdpI0O#8NhAwi;G(kvDaFB;=Xr$koc?k!31MbWPkdbh8YH;M3& zH-8_K*X;au+eW`XXW-$9!WDZJ1taTpGQFn1ykm<@>4)yxLCxq|oQ^4o-fp`&eU~r{ z@4hN)V)5*@@})lX4lmRAvOOx74c!lR;ucu2Z^@$`vU=^Cs1 z=4kTAL|?vd$- zrxo%u*Q~Ll7xFuq>)P&K=3u`knDQbi!OUc@%o$tFiP-mxNwPbp*q)%n>3ge8Nqd^q z;zVz^*r~$={OHrz1Y5`2YZNaIEJh#-(u&}UA3&KY?^>C11{&US$q=OXp;d6P3wt%< zyS3Uc4H*NN)kt2HCU(vqi4>?YUcjhpu1TvEEBq@OO^Tc3<`W zcb*;P6twU7tEpcJi!UnzHO#J3;!rbGWZS#MRM$ua-jNFa`vi*%M&$d!9UjES@{T~^ z&Iiwd+_ZNny1)1-#QNhmU=?X|(eTCak94t>EE+ooIwq2|hV*_Bjl@7>Zh(uqtQM9v zo#6@b4fEDB@yqKo8nPG12}EdjR|!pB2VR`YcmBpV9@@c+X*iG4arm~et0@tsb49OT zS+#Zimg||d^<+C_QRf%a3@!V)Yq2Og;lw7?LQ;a~4WjF_Y5m`4wc1ZqUV-2KQ(+OG zkzPX>Ffcw8FfbK)h$Jd3fh31U3Sf59|5>fkziIs)DP$~?L)1;d9w_GUWe7Mw(G?X? zW7u)LJy&iqg_O zxqtC=x6IN*jpt2>2^@z&q*(DV*|3)$k!unzl{m9!)0ELlAAz zZ;RuL{Jp;mkI7VPm{NbKw5!Xbbjeua%f^W%;mJcCyI&;#F(}uf|kp+&hGe zygC5&Rc8Z{mwfw$laCYeFw(d1q*dZ2u~i^QcEc}hhN%#98oXM{s@fzuN7E-$3R&Dt zn!eU`*Qw$S6OgN)pr7QH#x~C&i=Lpyn0;n?Y&uan&#s(WY-b}yl|yP0d!h3if$FVI zxBAifQhg+A(2pwf-$*N=bvcM5Gg0=DKyjfUR;2x&QjZ}Vy5;yE)NDwr<>mi*tF(XK z${KjC1Q5me0)flRqfID^Xy}XTZ4~Pl>xXItgCON0B!YosZv1xG9<62`(WvAo2kbB6 zNNExP;=XXU9DC78$}@)s_V?^-zY{jgfWNP|2z?Y-xI(#ERi#1|yfxPd)U`7eZ#5Yz zj|Kiebhp@}V=b`ngPmv@`VB-!z&$y;Nq`Ujt!ABnE|^;N6I4(Tr;lMW&TL^>g*f}w zhf>Pv|86ImqwQg}aUH7@47!EJmzbjZ&=kqn!z%w&h$(97;?WT13}OxCilQu!UM-=- zDT!W?!Am@0Oju%MZ`WwDzdF*ErJXFMKib;}%5{B%NJ|?7jSA-H<&df_zGg_1ivt_K zatHEic2H>+?={(65q}!?yTM3b|Ja2;X*^LJeZa!mk+5B~4Ug+aAP+qz!E=hs7wR~G zFm4LVBSDt}1oxDO`f-GIg-pQ|yGk zA9*Gf247dpqR2EQXg)M5pn}G<$=;fqW0fk^~rk zCNdJt77x(n%jZ~AE~?!fYA!w=52)O7L{Q_HowkMK?cs_Cp4@ZuHKuL?I;6AV$fI;% zXIcID8}(9XWK`0dFODa4EvSEE(dKG6-_L0Y@XwClX2+}<Pvl;yOIu|Y$TCmCUkN4A)$xli=CpF6>AXj0c zzQO(v=>Sozl;wX&mxKDh;EIJ>2IvT2MJ41mqO@PUQ{{PVIEc@4z(SALViXIOi;z>* zLtBDq9ltU=Tsb#b-zig*1j7CeRxc)c`Swv30DJ5{@xnG1G)>FLH7CZP9YP<9JG7Uv-Z|c3nJ4 z{k1zZgm@Pa&u?#!+FfzmZ<8Ln^KW@9S)wRBNXl-;{TZ6`t*Y`&V!>&L@ zM;DFX05&71f{4}mJ=Ra_;2ZV(?&;d_nBe-`1H6?0FaOEOb9wJ@XJ&I+N3ZXFi^VXb z7aKu}It-cF0z$!~2!03NGZnYp;LW@Lom=Ok4S~idY0>YDA>=T`GOXL_H?8h+&tVncG-%VYrmi54A;2USVh8m!h}L@*3u&+g zuQTV+skKvDZnhmURDbumFh|e0sFGy7&S@;X%h+|*?!pr}42=#b!%ES{feY{3%REZU zk4Vd$N^&#jQhkFqDCN!PkWo$$Z`baUcR<#FOVd_F_Vd+Szb`my3I`KsA)kBZhYo|b zg*!{>xwZaR<>Nh!0jYR!{3MH)d6++_7`Ix}uu^A44qDs!Xa2+W=V6e!XPAc5q43!) zf`dg}l%5&*vwsEx)6oV6OSG6AWD09#fCCMOZ6%sVxNryOYkO2#_qc6($o%l@a z0{A;Hy^UBxl#-iGktl;`IZ9na$7ID`$41kQmkQCwU|1O9K6`qqJuNBZy9Tl_DsPNx?ECd?|~v!afShEj0Eqv!QS zPF92$O*9X&LENZd9-`{TlhrTy zjNJQwtrH1X6+cR^mi_kF?%?DVZA9PSkrURn= zr#{=1Z{3A}Q!b9Z;dG@f+%lhtFgHwS>Tydh2*y1q`VA#QubFwk6qcSxYO|2I5?? z*1q5h7WzErFmgnUKO8(iYiO7%RM1pj8JZb-U}-pkde{goFxNIJVHttz$E_=pNE1ws zW?lfaLOW+Zr)<=^jf;;HcLdLukd@-Vj`>=@G<839Esve98NkhOF*4*7zQ4)Cy;k^Q z>;u;eXM^zr!eqTt8$kNQ4jjv1-z;6ytk<+CLQnTttGyO{z&&i(4lw9z70#f)x+{-^w8(vVFUo z0pWdqYr9}%EaV08Yp&?W0m^@q$_%3<9)aY@zwM_+w#O6Ye40dH%3HDyR&o(WGp@`>2_cKX-+)aV}VyYhY=lq%i5yw zb0DkP%0Nfc5MUL6h$42D9(&Y6tuX02{d?}&`-gVK8B|(A{9M^Q6A-u~X)zEeXOj~V29i}UD?41a zcq!UEWN&e~l2XrJNe3yB&(kClx5nZ~#pg z&F7^ipqspzI>|6jo@1nvx|>oWA(LH~;z!@!)HhHx3=StU%NL>50n@%qWk)Up`DV(; z#)Lt?1bv$QZ?!OS{r43)<$WK$j&nDkJK{GXTCLOife|T)!dd*HvY^dtWaBRDANt>L zrb(IR;;h@=1sn_xMYAid!=I$#+ zpaf7_es}wKC91$Q?|QcP$uG+t@13~M!(5{sFrJ^1Aj>#nWiz4?%QiM@L{1@8ZHvQh z=i#aqj%@x6pmkA23Eh|joPm?xoJrUwZ82FgZ>M4NAw;8otE6L>mXfA7V{toySQg*n zEPH4(+xffYd502o=YTr3L4@iGA}PZ(O_IBz4p+A1lY$Y@h^jd1^`#IMN4(8yg;7#} z(XF2(Q;XN2rL7{mslfIu>wC3}I3Z<;v%~s8BB~h=&?|TLzG>#CO9zXq5lw7pH)3_z z?fAY}0ADU4eg@I3k`l7w5w1xgQQMW3&jz}AeLB%eEIET|yhqj^mvaZ%nl@+V?5UXf z4^JHAbk12H^YYU+ZjuYEob#=knA?oWKKE_?HtQ+e<6zaBXO;`WTHFlR1k(7^9?br4 z1c>5dKm_qgWMsH%V*)XGNVE$_DL^bs=*;4>e=tNQ_w?CORVdCNn&w&t<W@_So0W}eaz;sKvl6@#b5| zQ7HlxO$yGo+xV(Qov(Hz`RP!&ah8ZSBq>KHaKP`uL%Nyr( z_&*Ghs=tvn!-wa3F*7TjDrtz8!tx`a6JuU8WfEO+oG5Ya@?P;|2Eu-tUcfT7f9sBz z1R~x}AA;NslG}5dCmt(UvhpP*y$)pB23S%KLB@P++M4UwdRKp%I?Ws=w{%)*uIA>_ zjyM_3YgXy98iH-K5->ZEwP~WbmW#Gh{@fWZ8u*jy7o*N(V7-ny)dcCQBNfyGF#9?E z4&;3NvFE!dUO8e2q;R0WPJZggU@LhC0SC_B6p`at-7s407OavS;A)u0E7FU*)ZjGo zY#ica(H**)88KHhm}@N4uxF~wZz(HQGAS@yr8zT;{wQ29#k7uxB`~z!e#dE5Ap@ds zYWu5}45SYk$f3D*AKG0jN$#`x$DUb;1=JVb&NYPM{^7ubO6RBgeU~t#r43rW07?{y zh35ZACGBuE08fdL*p2SeaU*Msd-9)S8Aat7>vN)+@4lZw(=cx1Nz&D-R;p770T1}M zAyE+w{Jp|sjXE{&8DT8!E^Z#HdtS6TTOQV-IGK5)limCr;mzseeszL^{t!rH2y zSUhY$@L=IJnh9eiF`b#?o4w`t}FV$iJT&(<;3#}*a!%GN7&y+vV(c@T3fMN zWQ&FA4fw{32MilRpzyx|JmjsyG~)0sNwlQoaASjG$29}PnUe%Zm5?Bf3K+5UN2F(+ z$gyH_bfu1Q7lg^q@Mf9G-!Z0lA=mDgg^kFy;lJR^InX1ZqUZCE=n-pw03TZIpFWtL zZWZ6n$~ji<;XSpSt|?#GCJF_G#Vx&}3T5$@aRNrq1b9>b7=T>gU;h|&?bHWOCyNMji0!R=< zzI#Uh5g`^2gx47)7}&x$*#F;I0VHj3lKjVp>HtfO07LY(I!F#xjOJtA)ciaKi-C7t+ErRt@NK-Is2tvuqQnbzl;%zU2^-50Z`l9@T4Nk10M zHjYhp8!cx?U3c!Yl8nCIzNEplReyLrJ)CvFr1djWHcmd;IZ>sLLy`B#sM1tq08J`E zM2tA!m3)$H_3L^3x3sFPEHW)Us@3}8XO1wY4-$T`5;M{am(iIx33=PgMJ83_*1n&} zWk|u>>P0HS0t9RSWMx+5P+t;pGfqgpy}T@W31s~C?XMO1x2Bz-`Gp%Gzsw`v$8ula zRc^*fG-+jXQDdSj&}oJNAC;r10u+FA044EHR$UgUWtpGSXKWpGbQ^Lya>_gFrT^;sadCT5|D70UmpKvqiy3n) z6XO#p0HLH@K(;LP<|0GgeYvOK$)ZW|s2&EfX1*TAFe^|Q1SuR+3soAr2xNQPe;x?A za&SAai^haXa#9-cHl{3;*6IEo)=Jl{=-wPeO-gcDaC0h|Th}?Xr)uv&*J2DmWQr8; zxcbm&h?WJY)^^#)<@FmnFX5P(1vHe)LV7b zni)!!x|mJBYg__N_nWNc3)f%sVCW0N2@?WgJR{2G>Sg4ENclE0fW@57jBuJsB5Ft9 zO@ELRZBZhxOZorFc-Kcb9u_PLo%CnMs;2pewi}E+lc?kRu{(;y%X)^JF41lhis=ZQ7lg7}XnoFhFr z#T_R~dLeY#pP`ud3LRt~fcsRDD@d|J^(tA5di>S~JXlSZ&WSml4^P2ed}kkg1ahU^ zaZVL6Uv3AmmIJ%Sc`^55JtB8MLIgBMBuQapd;B8iC0;N`fVe%w0&q!)wa(2kXKr_} z*F+|%h${t}Arp@IR?{W{BmRLwu2*BESX?>U0YFh491b7ke$9RYKG-w~c_<(miE+jd zJfq<4Io3sG|6kCA^ZYNwl=>_~!2!nSE&44B87Z4|Dkh0Pw18QX@Q=!Ho!vZ>Phxmd z1|rRQ&gZT>pzSFt@g=coJ4M~gUSi!80ShJ~pCkHl_OmdH$gVY$jhDq4+qT;XP5(D& zBNNj{u(UH7f*%pFW~(Ui3z@bxDiefC?ow)BZV!|~>z?rU`|5sL2u)%^e5V8m^PFg7 zQ??!R%enKo8_Xf4+hkJ}^jUW&;zz*H?A%z<=U~k}Txv(~Gn!#2_r6E&|7fb_m&s`G zKblheA4{R|^8*#-2Srf*ZI_pHh5w8$iz62lvsz&WN09_$BVa=1kJ_^-wr*3HbJIqw z5g+v4kOT({_YqSnA?$P^I_~)1TX^;Wg?hjUOy&2?+1e3uwrUW=lclc8@t?Lp_!i?b z*1swl9upbJj*+YrQ*|!n&%^xT!&_vkd^eId)CLKM4S{6RIT;qHgxMVCeTIOK>1X)r zUv>Uxgi4IoRcd5~3+d~uxRagfD99NwLD=(a{!HSq8dr@2p>EY2a2FO-Pp0JLiUDOQ zK>DA>r*!h@zoZyvY~xClJy@9QgyK!lY=4aebn@r1c-GO>@uYT;(ARBeoJrO+0j*>F z>}WG{>y7vIi|Kk%X)Z5?HB|duppYxTGylF2R%z9NY%t9k7>&Pi2EEdMG23kM_?h-c zG~=Q#a@1sQUFHqJu9bQ2)Zaxm&rI{LoI9?0L0Md(ukt4U&uEt|nc}JcGig=->o7(E zP?Gq>kdqb!$bs&flb!%goWI*8EQ=gr=sRl0u;A7i;a&3HG>~&vy76F~Dq)-BifnFd z01GNc%x}9d1A+$irj=ew@J}>Mf`3M`s@D=c9dI`{$>H|Eix#aCI#xnGju2i(Fa(o&}B!% z4%HYEpQ$}5-vLmpMC~=ftdOoA)APe{gBXZ#|E6v^Wae}-bDbO~28WWUBDw4X!`GNW zN@VWEL|~Q^MiaZ6(ea^xxl3g-AFt2%)12Vq(2Q{df*C|Ye%>t8A1AnCOw90bY(w-I zR(c%oL(C_#sW3jdn1WFM;#62x8jx?7+9MS%`25a2DZ}6$Nyi*va8xWZgJ^mIa+%I> z-k+A=&Vw$vTnvaAOs>?_HA|tz(GcjSNGozN?!cp8YPSU4{f}*j?Smj~3!UvK7VpPB z@3ZEFE-4MG2bJBaI(4=}crrwTnlhJg-xhMyL}R{C?7C(My}F+{2N4zH?i1q~R(#uJ zFr*Um^rk~NsYDzMgZv-DZZl!1(quAivTTobzZ~HB5p2-PUv<$hqSr|6J=v-r9yw=O z)Pd3j;mQ_BX%lUkq#spgfJCk7+52 zDeZ&=k6JW{S%(tq`b)pmMx5l^@KfF{6`;<)g`>pxTXiq-oc@@xCHxW(o1NZ*-xC633@A{E4JX_nb@if6z;92 zSrA-qcm_KfSJKUubut)!a_yQzWWWnXsP@8mHOuwm`V=to+5Q{g3?*cJl7F*e3;`+6 z@V!BMXr&sJu#W5ej#-JsUF{XI(4Kqb_U-G+agh5=NlWJ zLY)?x#&hl3!&Vq~@6d!&9bZFrlyS8BbDT8&va{V>BslMh{duw}fj;lX0`-5ZGl~q3-R5n<4c*ijk z;Y+#uC7A5Tg*q8_*#qNLx-WQ_bO)79eyVeiVnSC?CCZCJb6ViY7X;1q<_R^5k#Y6P zZ{c`pWor}ETh}VOjx<)3WI>o77s!0pns8zLX6@KIkBqp-!5bh+`Nk7Aag**wXM^LI z3XQjp3a%AaE7bS+{!$mKw?A9Pv}^L4JJ4t;a8~e!_&>>N$LR$pfdT{5`k!Rci>Uzn z9Txvd)+U8}(nwRj%9T*FssRFg$}$;+Mt>x{s4A}`7r-*}abu&oP%9z;R=BU78WJX! z;DzRg9j5aSlt%vRZg2LC&)4%!Pq4UKk-f#o$IS~yoiZOY6vtk7N zli_3>Pcs=G6Bj1`s^cQ8o*92PjwIm7qM?R`Gt;CFH<3hK4#8M*Gt;M@aOF?qzFG5+ zx`Z_aJ+e~!k<-Mi6T_I&cbIo;fnxIqXC$#7PFhP!^YZpGdu>kN6M1<#ldbd;8W$+o zOVHKJp!6u2nNrHT4O^gQQ^>BBi&Jph!3=_?5!#a@6RP|K+etK`bTD=NE2@DtIdE~Z zBK@gp#7(MDS26d9Flub?K@EMMrQ7Z<%bK}rgzv|Og=j>|E&&)C%gB#X`{mdFD@BK| zGa6<66F;i|C6vM_C`nJP%>T^LwktprJu6Hwd;Ayb>=#2 z_g`6+`0v*peqduA4w0arm-|CNQ(0MSyJ}RdigPdmn-#Q!jMxHC`pz24v#iDuscItQ zp|(wJL$1mr3yguqrUe1&k?k%u1Sm0-*}d!=-N&4GR#-riZfyPiQk+YvNq$m`uY$jglm@$-8q+WfLXWE@e5cU+ojp_Y=( zmMI$|K*P!vx11U+{1&yP*CtVN39+-EylypO>nOkW_Y0sI(Aq|7RGClvcjJ2Lg1mo z&eh6x9y-nApC%xLaXt*?k|ukB#*|T+iIEFifz?)t`6^i{tE@TkA>{qVRIz_!JTtw7 z@6pAfylDlxK>w->kkT1EfKo}oiP4@3wqbs4{P%EaL&ebWv%Q59w-f@lrBiO$mZ0cR zl6>U?d5VMVAq{-Lpu5w8zx6MCGf5$n#^qKh5r>mKrF*tZUANY?0ft|5}&)FiRvPh+0@8vwyD)2wO67=}YTl;6R{`^m`M&#syVTtmNiy|0dvvW;M<$Cb; z6Yu6+v_qUK@m0|Ed9ZNhm}U8S4Ae6}*)L!6Zz=F4fUvy6o_boJ`lpAXmbEklMV^K&P@q~+A)AnQW&{Um@~M~i|B%eS-X5okbSJs+t+>y|j*R5VHh6Wm$I>;4t8N>zg1AFEmO8uBi7 zw%&fW+VOh2x|0=~g=}Z1DSmsNZ4RmEn*yZJy=&xY{e}6v5*GbRcU(u}#6`7v;IGJY z>f--s-OtAT64vSxrJ*cYTU^hiMKvWE#QztCgXq)+lT#lpy#;r4 z&%ZL)7XHrxUQJpFK6r}aS2y@Q<0Q3}-m#;ZG{EtRgCH6EWPo88yw&Rw5mVuIlYd0N zv)lg~_C!kOEx6cpX~PqrT%T`X8O?!+3wiXyK7dKY&oZ4g+%?(e`#xexz`sHo46M_g zx&OvLy&L_X-jOQ_0Vf>*qNr7*ahxL}S@DoH2r&G2KA7MObfUbFk?N@EsXQc1+0MR# zGglWj7Iw%Hez3do@=PSo|6csjNYp}rQ!uG#{HgeplXETH6991oiGm?ypx-qkG-O#c zyB>QusH1!!T22lYS&8eoC3Rn*PeJZ?8k}F!X`TMM436XFHbssD~<^Bhqv&eGQ}4 z$v0{jm?r#*ptQ?hVe4@ws|iJXbe9-I2;~yAUHA!G36IaNtD+k}y{K);zCt?CF))+J zskvdMOP6VP3zV>;trBKm2{jE%G5o6tW4~oXE+!3M#JMWEZ+!jW_;>y+m#A>A>$vQ% zmhrRCSW#Ykie|f6+p_}?`Rc%ku&IF_nH`-3B~*e>*yYY&G5)sjORko>!n!wok0_=U zGoG-_yEJY{b6wu+$!hvC$knHwy(i4NqN}~D+Pl;-Z9>Sxev4;z59T!R=Axn-z<;Nd zzx4GP`|p&9{&!0BVkk+o>S#%F?M%R*>a&gjX^byu-^N>yBpwQo2qcvrcuS-y3F;P( zt`*pLKPpBciM$NUI$+>^CU z1!bKJUEGd6zplHVr@OpfC)vR)>&9+ALtyBaYkzV&IKa-bVIel!PvMm8Uh)E&;s|!> zJ^kfX1W;@C^7Dp~Q6?><)A5bBkbZ`7d5W`|K3uq@Jx|06h(|11o_M9yi9TL_d0cd0 z!18zb$%zSU-iE>w%$8UgL6SPFcJc9Z>oMvTIQp@}j^uHE@~{kRj$$Hm3fIwl^f78{ za6#;xN9MV#?>^|~>Pa(4bHxF-PcJ_#_BMlH2SEU-0YFd`hqy=fv-j}t9E0zMde|04 zCV|F%kM??yh)F+DP&pEZ@dooG8SA_yBK2QTZ~j_{Nnc(=6-{K@3MAmMv?Wh^NEQc1I+y6df*$6*Xg1VJQ(Gq+Xajn`5Qu{zL@wo+Ih8AE**A zd6c0Hn5e+Z%MULHMKe+m58k|U8Jws}50e)BxqC;~t;Ig)yW=U?XDKn;x^?q=^9gt$ zW^|BJGsGOlSrYOzt=}r4fPXYO+)dAj1&_juEgW*%6Smc272i%ki(3%-zUGdM3E&vk zuD?-G-Bfg<6}{)wMjZz-(BVz+$Wnw2$K@%>FA)st1Ur4m`M*y1t3Mots5qzY@4Z*k z*JJY<)Z2a%3=UmwIkqzj{4Z8N^D zM^vB$Xu%YGXHP{)S;#_2ZP{`RZwg-TLbV$S{>01+qH;1Rt1h5Sqrd{jw-LE&e&zb- zA*_*gtf%4@mRpJhKMkr|=nrb>Q<$DY z2o)?jpB+j$YXziIoB+JPr8VSu!#-}a8bSb@JSo}#(oJdJQoF+`d$JEW@znsyW=)@{ z4ae7V={Q!3eP1JH)Tb5-TZ4CqUupq1_(lTxeALc}j8pQe=)TC>fX>jAAuj7=4-_WV z1%OO%aM!59@Q1va2F=;Sn9))+GcAt-A-{yV62K?hucKSGRt@-nF2Hc_*hT)|;~Dh- zHO%_d#ex4`@cv(+QZE$>p3F-cd&xe(Iw}pmOazTtgk;O)Fa)0eAUS#5^PBHBI1|$>Z2)Tva5Uu#WOg_XYd=nb&k<^xuvbPr9oFyai*}|T zBOOYy4H1yk`NbDu#JJ9d+a(ZZgiN9|;}RO5nnZry5l^&C=1a$#E;HO{VgSU2HdVpi zO5_+WGDiS~(z}jl9evlM;HF^43R6&O!;ihZv)j#b%XN%R`RH=;n>^~F$6R7}6a0M+ z6gYzw{(fj{7U7kd!wioh`^!(>3(9c5V=j;jbjZ6u>pZ*ZWZqK1(L6q9D^dFQ=8ZdoPMT)0%S#KL2+eSdVF5B` zqOSt`D83+7(z$w1w`P_%c1f>8()VHuI zPYeqdO@w+BGp(xP@4VAU576B9PXgJt?I=9oLQhwvrUYjqR{L@wC!<4`hZK24=bs3( zsX2vHop+uIq?xMSDS~{+-*~Ex5fAA=@g=ffrUG$`z8yW4CKyS08}n!cTmJCMi(w@t z*nV#oD!tKu!&pa-B;0*g(w@LT5BDbRd4+RvpYwueKA(#EDK6c2VX`~q{#wDYt~l=y zpU_iUQ**cO(ehTEpXL)hdQ^e|B1Z@@3V)OAB_<<0DXeJ^C#Z}5+#ren`gPrgTM6}Z zDX=6Uum1392|LE3Y-k8<|H^*2<@Sed+ABsiwMuIUH7qSh#$Fs@Qy?w&l0hKsscVz zQU4zRgg|@01sdmCy0!(9u5#}c;IyGn+NR0+3ZxB9(!4g>u3JI|vWeT0b}8w)X79Dz z+HKwA*FC##UAv_jsrNtMm2CL|%{uT;-*?XUo%5aVyubU+pTG1KB3jSC%5?hp@qfMT z@2nrt}g!vDa!Z(hufRDIn}&J#>?7$qXekhG8W$L%<#}EE{J5 z-`={ewLO$Dj?_QkC1&zP&72iCwtpv62Gdg08fqJ|^hC;NJ8J3KtYNj?ZXV5~Og*8I zhpGCIenf9e>6xLn-2;b=xT8@8Q$@-g8Zs=`ll7`K+FrsA4ImuMpEX~Y1uYYT_l1YQ-^%%z-CH38Yx{+2_(JE?S@?;cxQIU6v2Y_=E zHOsyhroc4auiPd#(x?^s7&4r0W5iEuWN#bY1eqN(>WF{N~H#3*92Ng6-BeT*aT~@PCG`#(g615t#EAw1c|*)YE^)K?K?@|VII^)gk$ zQc+~DG)%Qm?AJ&8!G99iou=*hDdyttc5!=5%k?(Me30HDEB6#ubZ6L4_qw}v*8}d% z85Ue9?jjRRRX}dH^r18^;-^6u4}Z!w%yy@@g6aC@$Xwkg3XYAozGG%YW2#^=tJGTjo)HAY~K; zvV3F`5}G$r@G7PoW*F3kl4hIae~=X|TEJ*@6zN7;!-9(4B2iro)*_joM(BPY9iw+5 z&eMkzNz3-r1GHLD$C*|}4GWnzXcMI9mVYa71ZRDKPKcsE2!}38(UBV*G%O>rJLe$yp%_C?YxH5JYfI&vzWNc# zvNNwQT6@?>57DnM)lIFIQWkc7%tsH>$EOECM59ll+90WCI?YT5*#s7axo6yAY7MtJ zNvC}D2t5jE^h9EMOfogjX|CCPM5a&EW1_s%Nbhky6@Sm6yD<7}!`eEeg5z-sj&gbe z6<@F+h4#{CQ84Cas?pP6WgE_3JB4aB!nFD=MVH9*EIsF=X9#Uj4Hy-8PnKa% zLziqiL!XmPpNHzyX?mit!%x5NE`6~WGa}?p$H~qR^fyuUhlJF1sZMy5pI(r3@;sd_ z7A4rRD}Phs0KZkbu)8Dz&!ah*d7F-0GL?`tJj%3qj_bQlaluDp^b&$VGIIvuwhT9% zwYk6x#{Uw1Stz~&n*;|<3vnKiNO+kkG}jqd<@7b-^xHEi=O}ZtDZeh1m*i)IkMbga zV2+%k(KnGkCan-P(a#o5S)#me!HO_NiKd~=l7ECzvVg;XkA7e5`v(a0A>|(^c1{GX ztK|Ma5(7R%f6P>NphKfSg~NahS}kul&>;omJM?EhI!Av#trLL2hBT|+MdFI*EJ<4~ zYG#+=Vj;v|(qH-Ld-T^JNZMTx!Lo8$$4L0;ZzP9(kN&otD)^yV1*K;wLC93x*Mkty$?NB&T?} zd|GoVy)bJa8j_y&#$Vu=#r}&c*;mD0u0l`?f4lU6`An@>Yolg%HfU^lA+A%}(o3hN z;+1QBT+Owm8E^*aB19%~QlU9RX)npg)3ypjUc%S-crjl)?NQ)f%hvch=*vPXO@CTO zkD2MgYt7Hg*yrP=e0??h7FM!HP>(~Z z5slx5CMi9IVER_+2?aV(44a9adImbRS4K?pa4viG#%CH~??~488vkblA@TW8t31Rl&~RNZLXUYLMQ6F1i)yzzorm_W;I zB?oe{(r2Z--1-Y&6LT19(wmp@8Zq%r?()t&Vt}o`PF#gj?Z}wZkYW(0%`h_V)@Znd?2qn>g&_c7NV1weC5Y z-BRp!=jNjEZE(NB1>FGN3Jn(!dvx2zvpnJDPN|fgSFKXK4GD|!2%0~j+sU{v>>8 zUf$`x0*VMf-=SUs+zoF~>BGx-`&1zCpspFkyO@RU_VaGu3`#Wl~4$tI{pp=&9W6N7&HdL4iVYQ2bj{q=`CK+l+IYs zAk*6h%9XUk#lA-R|6;WXf+)B{`9!ePL0f}+)K?=Rv&E-^xk;&`tzLcy6ecH{R`Pyz zpqKkmcnTtVS@%PMO7b|Aq~rwFC{|QuR$z^r*K3S-l@FTUmXVI#5`UAGMwPp3WnmQ> zN%A2d5A$KB6>iQ%DU1)xdj{QugTU9VM5hbGjnO8Q_w{b?$Fu&r$gKT^ec)HF))-Hn1%?88CqGOqkyc|adynw_K0d~H z@ia|w+&TcuAkoUFkAG+~olO~C>2%JK_R0Mc!Vk>op0E66LKUcY`}jD&2S0R^{InP4 zS39@bwtPJ@Gutdniq!|u{B;#lMbHpjIM|mlj%C3Qudeu1)(F~YUJSU$2d@wi>hKTy z_yj+Q@RIe`BWP$%1n@(JH&1KflcJaLR$Ay{(o@Kf!OKj$HGiY04KIHJo&#WV@ey}X zx8lQIJ|*vc<=IEQ{3$dUYrOmz^2#c^ZIvBtSY>Zke~l$mFMkH!ijFz0qbP5hBikK# zD@`!W_yj*Gj)7N@M_vtx7Pw~oFbvo$R+F!Z$&AsHOAjDJyO`<@({#knS+_{pRD*Yw zh6d4tnU^XttACLXFlzMEd^Ikhg%~xgRs&*w8qgy&4>Uy4rf~|yx<~1nJY9c*P_iS< z7pRfxG1`Pli0Nf&i^X*k&dw2A3eLS{Qd^IH@I^sc5*OP+4qe`ey9rWe4L z`5FASl4pWysZ67QMyrV4q$Z8pG}=4?Sv)Ql5dMf>2Y(8UE4{rS;2Nq>0?xNVw4WQ&^=COtoFX9QF1OSCRMbK($Hd! z8f$5>8h@8iof?HP=r3Kr=M=t~|Ya zf9-pFIPBqY`53)FPalefE5_-;SXdjUhhiGqke@y5;lcy(ZpX$%k zubmT3d_n#G##ib2$7n~(%k+GnUW{$2p>I4z6@O=F!#L$*<1`jq+8-LF@jP9u{c4_G zsjJA-t9kmyDE-dGNSzk;oT1kW&UxsI&Gz^YnV2{wGhD&qmJB z`bhB(qx5F&L{a(xGp0@I_7?*@4*)LIJj$MnC2TGcBnPiLkIZ2I%gq;Qg&2@S^qLwQ zVW}0=qF@;XZlN|h30TI50k5S#1OBIME5CJMu9E-3M`|*kJHl%mQmnm z>2nH}QQ*(h7Zog{z%SypB(RJEU!<=qSVn=rL*G@fi~|3Neym^_1^x+_DOg6pc-$-& zSd9X=@;&OFW#X`W11+3@=w6NRppwYc=$uB6X!Ib_1au+`q|(Vb5+wZkcPB6_!G9OF zW97BU6%DWH>8uv31&zMVo=H3c{xWUg>Iunavlx=3jhW{I8K4Rm30TmsNb^W5#ezpc zB2o*OmM(!!n_>gnNk$~uOJsLZDoOFPU{HZnCF!b0zFZelP9ILhBbh?*w`~EgxWN80 zB+6PBT%f>9R5Q-iF+q)TV2ta|7Ju~)mSxM|p!tfukILvqFl)qEBOlk?Bg!^Gm!kmmw?b7+jW#KInRXnU-u&cma8>lr$V;5`6* zfIHkB<#m|fF7uvCv?X+j+9km1%KH&xh@|Rpo_B=Ykm?amVNWQ)T{!1ulz*>&@T~Ln zoS|TIo+GiI!fD83Avta02S{mWCcYnfl{{y0@Ld7!>Cf}t(-am(b#}{9kpTB1A)Vv9 zE>Ts0@0Qf#4e-IRr>R-u^pybL(7iv{lvv zJc!jXP6_Tsw(@)=&+jU1ZGRc(yZ$#&4gXJ>o0)>l4@3xSi-{RKDagP~48P*CGY(ry7l6S*>0c#Afj*k9d=doIug= zxKUO_tfqNxO;jQCIxSN!aVu(gEnH#^T;eu(+P&a%KiuI_IK-2n9)Cmi|2BN`hj5-Z zsfy7laTnaFmlm)A+8X%?TkzDU$*1btDJhJ~J0DiwiF4*&q+9+M#!9FuNlN`F*z zRVWGDjiO0|!~~_lLk*_2CO$R8?(KHzer0yIh8X!F{tIJ*MiYO4KgxKwXpG{6FEew` zoOAEFcjnvo&tCyNz_P%*CG{>f^#UBFoW{~#f+`h2kcG9 zg+E+%j*^rD4HpH^#Qmg40?W0tPFBxC65yKMxO+&r=AK;JPP&HIBhf!!Qhn9SU^p#4|)3KrE|ZAXU3@ffGUk3C>>X zrrFZ8O4@>i*n{vW9C!d83gLqA!LmR9zwNK@k52%&fT@7@?e;!@l`GU6@`YSVUCNo% zP2F0Doo&3Tn}V1Ja)gn1SYcGUBE5-y9p$n_7ilJ2qiSrG9d{6&UoJ3zXKl#;{blbQ zgIJ+D8ztUYPZX>-Oa}^)Z!yp3i+QdJ8sysqgn;Qo(+5r0){%hICYa0wEF5Le0o#^B zcJtdl{dKo!{n3>k|4w07z~LGP%p7`?-L2N7yA<{Xr1V0%?|5NyeDcU(4^kLIuw?=V zV+9H49Y}rvP)i30E7W2KQuhD=04xEMAr>5y>uEWEd3;p$wLfRJJGmJJCj=N48AFuG zGKr!hCL#tBATkNa0CCvj&CE?QGBY>M5{L^`tG4!8^|iJ&*7_{9ja9m6VJ4UgQd_E4 zyJ$D7eRi{}-8Ze3^!vMaCYebl0pDMbPe|_l{mwbRvoF8<+=(ZS5YYvu)0pntw{O$( z>ngf`l;CbP7OH5d2zFQ0Rs^+ZUpS&9!&=N6)j}%P<7z}z5-K)(m4r9gs|I%`Qqe?3 zL$?x1sI?V+J>IC&=M4)Qs=D;T^Ofa*jW5sPcc&r|EF^jr?|A|w))S7YYCIh4!D_!6 zPv9)9FRwelZn-z4_E+3sCuWlUS}Gn?*MuW~DpREv@2T&JE1`&5zbCHr^{Mgtwfbv^ z@z$nFTs>uNQal*qp=lDuYHs4W{DZ2#(ur-zkjCevwu zIA}GLWk}4lVA2ueyCCkQGMUbxSxj@Mf|6)9Qz^*$w4iQGC?-cVrY7sRZ1RE7Tyn`Y zhvqRk@^>U!z+_EoTQ;>$LTd%unY2izh2$G;UiIqF)N3fuWbia(%CXC zrgLDGZWz~2o&u{Ga1vEB+0<)N@G+);a*uDKSsSaiIjEMrGSyHWY-Ml~*6Ib#`i)Am z7e+jn$qa_zKb}G%ax&$^gSDk}zD(!Q1x(J#`w}e!OG(Y}$T7VDM63XNIbB>z7f}Pa zDdJ`lU6S(#eYsuJJ*`>oUZbUAp_X`Di%WEAPN`Y45?#h52}cA64q9dCZZ#Nxxg;D5 zCoi3#n=zMmPz$Y*sfpGyo!%E$`;>StRG2mv3xh&ws(hysag|NFD?|2Hx?CnJt!Juv z7l;zIK{|CW95@M`nmvN?4YaY8+UW|WdE-oOO2v}lsM@kOsP-9{ex^%TE3ufCbcfWW z8jm8YxPwBaeNdIVTZ_B1$Gb0oSK{vOxE6H>5g=X2W$q*ABy9AX^Ba}A6 zY_X(+6k+!!>N0$xU5Tm=3K?tAn{7wk)k?h5PCW?vy1uvup_5@XVW%*E+zG~yC?b)@ z6A*KG5iyH6P%$ZYQ$$D^Wm!^cf{`%NSTw4{ zLOvK22niKokrI?P%G6JL5M4?nqV3rd+a1&P#5U+!1r-;lNVt+0X;?@2`={N{l^ zSnQ0vWA!uulJBGUm(Xo=JD9)5PXC1zd`&8>Chhb=tTfx{E*Lj4kVvXguQ0Kl{u`mK zlSw7Rk$PV^fm-)rrbfS-Ot=;I6NP6?@rU_6}Fk+Ya9e2nfDybk6vx6VORJgy8N>wX*>RuY0Arn5a$$Iuwt zAovM-K&JcYeWp-{O>g$a#d_NThC`w|^uTI-p{aSiOoi4c>No8>1XQ<{czWl*t3;YBMb zh(Av+$aIXp$z<|+?euLX?@0w|>IS>noFvhUA^=WR=iim-CHfv@^m@1NTCuanPCvj4 zY7^S2go9px7Tna(k5CvAsjfuUy~{nVMRWD5^kV`2zsS2p2Bp3c2_t{Ys|S>DQpT^Y1wVi$o zm4;&>b?=65_zaZS>Yz91_d-{H5Wd_xl{)_mz>u|$hCWm7rRs$!n=Zn^y{{Y`ND zcN7VoTfwZ(>pzjbDp4CmF^4-fhZ7?HLJoS%D0BZps?K6~cM61m=OzN3pQapUwzWJV z)2Jw)r9llHNjR2RuMRjcXrYCEgiTCyCW^8u6^?{ZeHmjFd+ltK*(%x_o9L=yAz&62 ze+n{xjSenh86>zA`6HhOTv}5k)JhI=DfqTt2Ug;_kWq`ZYuVnw!SjTMkMVp&zfLD-j+R)+!3#xSag5It zsT|t5Pt=R1hbiP`hGW;PWgPkKse2XD4&Le`AsKZ#I)E` zI8IE_9I|Ku83U82$k4EHjHDp34qA%{XS~E1%>8<2GY-SFXu_HKWl694d?~M#c?DyC zqH=mBY#QvW5>kob3JPk9L>!!5S~J#3)`?ECPVXdn9gJLTFfCSqmh$C-(E7qrSC>KJ zHqqJXcMW=%=HLzJw7H!(B6}CGDe)#_oJ$}+#ya1LEskg_9K4ygl)w|WBG_^P@8By% zv_HfFkp&Yi(LQn5c0?IhGsY52B77}>;%gVe2n(H)s!N_Uih#g4vM8@XK-<%!MD(;a zKJGB`#C(HQH;T7Anu;XD2xPa>VAa{VTV_?Hl|@;okftWwVyx>``c=0Q8!$itiD_oZ zl+)!F7-k*p;?uO+Hg&Gs(AMJMC>mIQj&RJl zCCO=ifiFp1Fz>B1f6~8af(4me51@a2~TwuQISvU=@G&6UQzV68P0yI%(w7uOjmR?ZEA0A zU+Zq|iJ`R&xr3=h62r2gR=03}c(-tPcO-k4gfTkS9qvg9*l=tTT!Y)r??)>R(VDsv zS_GrLetE$k&<9q=WMhtK$owCqHG+jZ#YN9vRF(#XeB2r{85L)#60+clV zFhmwfdr8rBGf{_z*dLYo9{w24G^AiEdexCVYIRmp#Ypcw$oG{19TU!f{31xrm`5X; z5|a26#XYqcRf#e5oE}q?d$joO&Ecr3iR8>EXP@N#CHx>`teFE|`ys{Tq*vpaLe^qq z4}Y3JBl81{v1h5LnAC=wG#0^aHI(;Rf&R!$LS~v1QKDTTrLypHsq$Q=JB!kuV7$g+ zS5VWiG>y6&iy42c3T$wN43Th zNhnI$LJ!hk3yzd@f6OvT03sj)Qi zn!{KH8^7Z>Wd1Gx9^xg$C#6^tQ*?n4^E^{?!GGjG33N=kXTpwk*^W1&q+-EdbiGCl z3M<K9MiT<**i}DJO4vy=bv^ABKiflk+7I9JIU?4K_H)GTQ45mxi%@MP50$ZoASD+P*~jPbfxtE%J@2AlF+P)PkJyv!X~&I zb$GM50YGmh=EwF_v`dX=S7we!nJ#I9z!^y-{+X$NgzWgwrV_lpfORwe2A$S4%}7&u zn&zkJtbi{~OPp0{svo54nqj)|Ff}syhRE45LQR3Tnlv?MXkD#OZ2Arp29d``Xmh~w zBuRnw<{H0qYxOW~%h2|t>&1F?hORnFCLDA+1!yPDr%LkBN-~*b@dcVJqj)t*v_hiA z#1gH490j29-b6G?GH}Hf9%lmq5Iaq!IyJ#OjEDVIc$USdCqp#J1tCG*a-g~<$8!+> zyPdtxtJ4(A&^2jF8b7`f>JRML(Vn5bmP2&C^+~D;1kBETev9))f0}M_)*PY_YZY>Be!xlRz4(F0?vB?==|s*x^I{s9HISxfdE~(sO@no4^Z@pMr|;K^{h2G$^v7iaupFR&F+j_$maFuC zr`OW-4}r7?NN?&$Zh>SO2X#rdaj=b#)7$saTmZkL1KWnEbc99&XdjMxfdeh#VA>>Q-BoTLUH zC!TR(y}ZF{U1l%0yQDO`_MbTDvXiPn91@WO1%G8`?Ayx{MG%pa(=esO|twkgBNT5B#Zs*-;UVM-}X|93stcI;=t$4~= z+E&KiG@lz-Cf!fa4PKX~d0EHM=u3Dhms~b;xg-R!S*{Xhwsji2hlFR>l=1R^3^xvQ zQ-f6;8Sr+xtQl@j^V%|QO|#E9;W#<)>aq><6&)^1z_|}=;H%>xcewDdZIJvfcxzLG z&AAWj@IIa8otB%00~s$@Sw2N`TsHm9oaP`XBMl6ZI>Kt8jC(TNd(?QmT0B0^S_jS? z=7fHJx!|?|!T`r5HNa=QWt0X9Fw_sUfN^=XJ+PvJ8>M zEH)cTTy|GUP7nGDV$SL+F&2jTJ;FpckMJ#lcAUS81PxD>1Y5ve4HIDE-K&(bI2Wm(7CiwqHGJNkrzJL7)KM-j1Rv+Ylhj7*~Kirw& zM{8ZSnkRUK=!<#DvesY5Pv){EvYDO}`7T;8O8ZGNa-jaxFVTL9j!E=1(Z6Y#L^X>p zIA@fcBCC%gJ=%-H0!)Bc;_oP}Edum<4rmk!vt%k7EcTm8o@(Ft5kPaM076PO0M43@ z(@`oV+t@Z4n__u>-m*l0kLVkq`3}_!?%t$@LM7}UrHw)#vZxu85ZF(27641J^bS=S z8<+7Y1@jfnw+L4Cx^tc~P%Q9)Ocjn)Bf8!GE=Xt586 z$010H9JH5CqkB=PK29^}C7MaE&>5xya++?UGSh7|%XB-Hn_i`V*`_yWj_GZhYo1Lm z^L(0TUPSZFwY0!|F)cK&p)<|9XpuQYZu7NtmU$mln2*z9^Pj2GGKr55Bh_2(q;oCzKn7V1!A6;6JNUK<*+%$ipt=)Y zd@QhDB(MyB)mxo^;jhD))BKI~BK`tx)n)tw!cTYpD#XCI2dM%mF9zB&{1V=O5NJD2 zGi#4n9wfQeytHiylXhF}aq^Gw%Yhy10r8_W|F{jVzc2vLA7xv=DXSaK08xeM6n?`!-hjoEMF zq|d0-FZ_2|Xi23zhJQ}US{X4>KlydJ$cx)DHN2-1mG2A8Fa0(64=-N|l$Mq+9XOb% zpp2@65sZ#v2sH;4j1|?Cz~BMD5^CI(`DX^WVv4I;!EhEF4#s(%;cgBk4xqYnb@hVD z)o0Wj&zOD!`e>O9u$Q4wrdp0RRB!0RR9{O9KQH0Fx;e6qCV!E`M4HV4KyE zo_RWcNmddkjzSbL5jntzY?DBopgq-%ZQTR50fKCrme6e*XiM+X6Lx7!56ZTsExjnj`_21*$+9Dd-R?r7(R**+ym|BH z&3yBeuN?c#<3x0}`X{D4uYbRO%c_4`)EkTMHdB3zB8%evi^7ZI>A|5yGL}oEQ%!^E zJ`?>JGik=MCI$y$*{1k_8Q-1F4`vrd`eVtg8D2EBt7$Mc)RYhzrn!8@S+P~%&8#ZU z@6RWb=*SMlnwAMmYF8pSr}VA%Q<$23)JV->O`=Csz`C>R z>Mx(XML(TM%YQ_R8^JG38ZRTXf4Z48INMzT`?)=n7ORH!twKH9Hp*DG_uk6f1 zXDrR05$a2u*-$E-3&qo^Tr80a#Ztpyvvf+B+2+vteSbq}n0=vKI@F&?^@YrRv3M>y z99mZ58*cW{dYn&xIx`r9NzbV}{^&2Su$SYx{B$90^ie%^FrD!~^c90PF)e;$-_uv7 z%SWBm&E(7`t~IqMb@=IGx!HiUBcN}61!J_~)Y-goCz>T|#`Bp(Zn&ijfele@U1FCh*CBx`27hyFZ%M^*-peYiX`e%788FRmO8V$( zg2wJ#T7oh5RE!xZsHy|4^n*7|Lt@5jnC4F&-#lcdHV=ta49XV6LTOaT7lZP+(J6Cp zM`|dagK}mJYi_8kw9@6B(}^!`2P0*2pxR#A=c7F|TwHuIgF(O{>hd;&-i*tE9>gD4 z-GAk6ay{NcH~8o}dMgZ&AL@(cU`GQ(9UXF|-bOcyb#5w()t22lkV)^2^-A1+JLJTZ z>8$CecSypzj&6aRK5bmAgoxVar+3nABIIA0PMUf=ZTUp9Ptw%wK6&ZRe+`>Z*~U9VDfc^|#sM|aQ%1b>hK{p1Gxw4W}KfO99h#IIA>_$hVm$IrGE zfsniD9?|7POik0f(=;>hlbIg|(8;BXy3VbusOtUn5#jx)^tHX&bTXea#Yg<~ph#Fu|HjIFsocRtT!YC_y1&wG4fV(1Nq>E( zEln*=MS=G!@(jj?Lj$orW~kRRQ=wdJ5OD}WZ*L+u(7ZI&o=){AGJ~PqKrDw3GjvAz z4SCZCm%oPX8mwOKY+4q8InGRa72X%@YZJiWope9W zDuETs&4(n@(QjF+R~#yo&%!*hP#l}YcFS4Ap{!}@LkT5vS+Vw>1RN0Y_FVoAqcrBDo9Qv& zD9d93cLYaGj`Q`GArd4t8Vi&l*5uppIeJ`t`3S;Hg>i#E@2A7`SsxJU7Z7mrscREM zObaW5g3_v&PQr+o(Q;X0$bUkcPgYP;+u+MSdWyb+0BELilKGi}lknsERDRIRXeWZ! zPt(_g|Lc<$Dq}I|o4B~B<+{=tbA8ergjC$~Zwqky7JUa%EoJV@*#lD}MF}%JL*Enj z?;|fAx1IG+bJ(CCLSw{-Za@G({aE6{kLX#%uW1Vhi6C1uF{ue-7Jtl=IQt)f<=I%j zjxQpM>Gc0m1cZ{$(@%W#pY&5%83@-sxEr_#d;Pf;z%I18oEI<7U zmO^qY?_|30AJ2~Ef}r28=_N^z|0M@nna6T~-}>l9`W+Ir#ua6%wA6K0w*Isk`SQ1ma*@X(0 z-NjVNR_EUref&P*5U?k6n~AwHog-G$IU=r+*0&I)NlhWZHZk)c*V^}m%Uz-kc@9-|C1b7PbHp`p{i`qBvUXkP`kmW))^FLladX#t51%V{N}F$6*34{7 zOLUnzrA*;9e7=|GvXr?OZ`pj&`u43JZi6_aI0=Rm#eX!fvpCmJ(av(I3oS)9LJV%I zXzb^UtiDZFpT*Z@^>tU%_u#|H*kEs8Y{|r}TXH5-{De7X^1=S2H`LFU@D}7Y?wRFc zl#tbRQy8ilxopvd#S^JL>D^{ar&hSj%*Fa++AId6u&f%K=wN!f+)wOzm@$y<+X$$I zvSdkTI)A-8KUAR@n{MLP;UV)M8?=@@@!b03N84k`WDmk540Rb_?&B!$nC0dx04m}b zVY#3oUpLg)SizT04_O*4Bv{AM5Tlh+WRWEP8!>9q1< zynm8>nEM8PE2i>4<8mV-i%^Ne)6J7{OuCV8^6|C&FTjGRdwR`wDPu3mC(K-Ocp|`J zvK}a6UcQ;%;iGwc%Oslu7Mqd>-iffAO`7JA)V>!9`@izLe0&?<4xa#y<3WB8l(g#w zKi`3xnXlvb;o8bEr1Lo`5Ip<=sZuMXq<^wnllSBF8Fg(-2y3IjK%Ev#5%47{%6F8xRZ@WEQ@c}0XCA(9QmH>tJn#YNG~uH_wJ1LX@Pw?i zicIeJYd>)%-Ek96W*(*N|T7v!tKCL`NkWezN>2V{@4z55V*jis+fx$bY}V z~{|+D76HDezK|u2+JA$3I z;lN+yFZt*WKFYK*RF^T~`Lfp1zJHKZec7;8A;wZ6`Po9sP5A*zicfJda1CbbJ^U0L zwi$sY=V6pR{&i&~w}+pe@&q#N!*01-eqG%18xz%8DY_n4Zu$6I0)xH{`)Bm?<<_*H zzbj?lVtxj=Zf!0n5Bbow1?pPw7tNvKQ7z4S`1@9zA_5$BG^Y_re+<`7WPhzt`<$*l z_&@vO#C@%sPUrzk|dkc~LLB|NY0%f4xSNKoT z|7U2R54sIUxw*f;E9>XKT7N@-^Ydr2c2fuTaJRvZrET9;>xOcug>a>#hGOkcaz&Kl}u3zP3$h5d9M$8YmNp;~pSSDm63 zGA*A77Ud=4^pkaPRHymW0<}o0tI~8!ReOAiPt8|L_3erEbtY1#U!8$yh0Z#BNC_F7 z2$TI1i>#A|BKVSnLtwps3-M>Sb5=@;7%cYf7^dY;qj%wm?aeuR?vY#M4g^7Xc! zQWa1(hHam%R(RD}s#U+)cBc0NJn53*^t$7@E7e?Tl{yC%j6xY<>`ee|?9F-oKp%o2j@wHTl&Vb-v6;5#j4ir0guHZ)@^D#(@AyHJ~^nU@LV?Ohsh24XSTNShGjv zVaxV(AKZHe0!4gxS8QmjD8V#KE@XFpu-DAkJ=GIG=;?ANOS8#E2C|nE-#p~Sx7qTO zyrzDdq3KMT1?nZtM~l^7w8G@Z9HLM|G`eGy<{qYb(M_XtQp2MZYv6 zGvKT}K(!44=kjR8RiM@T$rldd%lX@Hbn?jf&%&D;9wS_y{Z#Ax92wC~j>euj8yd#w zqD_aXGs+F4wD}-d5G|bdmh)_z%Hw#9qKclN#ee8r9F2B0%(;A&c0kSjR2SAOpB6q$ zSBh#o(e90Q9i>^}$DQ|)H|$tGLQa0NTz=ma`SPuS<(t3-wGW>$@{hy*3V-W~#$gy` z&|UypQEkr4^d51(B%lY3-m7|WZ+~!5OAw|E8pfy4XXrWnUp%z?$nQEvL4Sj; zHt0Hot{=xdjRMgmHt6PYIU;>Vi}k0?2f+O|@{Ch((%|(5z$%7b)9rEGIag^E65lPS zJd>PdGqiKG2;0r}qGDFul#&r-`*YAt7v>~gZApPK%R(p z9;JrH$Io-DsXgTYg&J#@N1SpE8h?T~ryXPT#XHI6c;H3{tp5}6KkxwNv$h9TIz|D5 z{+;>cze288$|u`{Ua{lLBZuiJxlyC^)dGD(ZtQnOwRhsn4;WYON8%HU;S-Hb1$u6b zex@(p3;V58`sMbK@o&JFdc#eJ>BVTb^x01Mn^AhXK(D|Rol{)#E}B(z#ectzjQ_eR zYP;X7_%kwo!=@&orPIfK{`*7nQRWcUxDGR@O>c3orY9kg30*`>HLasoP0yh<8Ts=aTkE=>dA6^P9t|&?~9fn61__E#}U+>S^)ZO8HOxzb4jRE!i&8K zWH~2Bb)=f&Z$9{0A12%iIvd{ny5#|``@xF5qF!ulXgtJ@u0ymC*Ora#XcX9wBd_6^ z1)dXab={3HK{JESfXjJRflrD!gBS}I$9zFF=Qf=)-kRp3)1u7AcTWQ_5m0xylY zYxoRAC&Y~)zSbAGslaC*=H=0#;cSHqyer_|Im#=lmlSxVM4zB*C&CW`imXltaN-9L zP$DjPVZ?oiS3^(@pQpo%zv&RKjTj>|H;BG=>EoBtw;^IQ2HinJ#5IbvL)=jkC|)QM z;m0DSL;q%7S<_lhLz%Q1R;r&mKHU9^(gN~U@guo z9N{kR9^>p>&JEV^o||GTog8ro-A_`F-8;{D$KAByFz<^-<$qYN$6oj?1%8_x``e>k z$dN&J(-_~1KeOqno5uLvBjno@ba#zVDhv`qvUnJ`Jr;Byr8C1#L3hJr{9cyby&rRA z^;;W|r4PzbSs!;DDJqT~*YF4Rj`tM!t{T2a>}E{bM?=_FqBJY$!G7=6`^Cf$Pq3C4 zjA?$BGsko7PUjuD^*O>xXNp~Pu(umiX(g< z1;!Dw5E2k8#trrwJQwMNB_Q}-qq#hen>uw==bP7Q$bUm0)A^~IJjZkBK^<`}An)uC-zN2#>}2fLL5JV5jKX*!92NAp!T1yRi{PN%`8TV6

@uqt$Z{Rn_q4Bi<20rBFM@Pe#1*;d5y`7^!juy*{JqWiE z`Yb)K>5KF`O|64@%qmS>`VVf8)PK6*nCM|0IgHm(_{bgcmJJyEh}>%af=0Hd>&UTC zaBq8REvf|TY{FA6af)@Y@juIT^V9@n2U7ZC~8%?-|Lvbta z!KKCB9g4fV6nA$^fl{5(o0-k* z?Cxa0_q}I|s!B(@tpi$4_($Cny9*m)`a;Vz#xD@!e%AxmNr<=EE9LL28w1F)pU48r zej4hhcL=l)h7yqVYW|YNFuA?cJ?R^^>to(_g^o`e5gl!mUwYS;#X7C?=b+OB8qG$_7Q?xHhPKqdXk zTR}=N;hklw<~n=s?A2C!{O-yzfM^A}H@GLMf;C00l3&1Xe}f;aGhIE+oh7E$Idd)( zU@$E{bs*&}fV01mSgPcgTDo+t!V<+YJa3n^Et&;-dWM*zkCT8C7UIbQhuaP2@{c-TCF~sgcTiXqL8IO z4^4{}!3q=gguO;}drIAe16Tnv4OVN4Q2Z6S@4rIGbZ7=i_cDUigNj3{Vd(D|5b3;g zp`CCAaCT}A-x*!90+@R#tU%P#}DO2oD#Kx0HAlJ&b`= zY3{#PF?VcKCQo;zLOT@l!$X;Q$Q*rMg}W++A|Xd&7E)L-xR)0L6oN-n1b@}e>{dVf zGVo?KW(k|5zwQg~(^vd&fdVNI(4x;1oicvLgGp=%o1?< z1bo4-lPxIcTG~LVF1*pxi}D`nW19X(qzRD(9Jn~nR$anPx=$b5cCZ)#~^y*7Cdg%rqB;h+R^n<9u08QB+DI@ z`l+Y{Qhte`1Kup)_n3~Jro>^Pf4r*DP;Kfr;nf$Cg9Pyy;zuUFMR z>m`S?%YI+Dd+;Y4oV#g5BL@IX1Rwt8F3IHuZ8WN*y<0|r>({AeP1!EBhj4PzG06ChFv55?N)hYkmTtqq++sXP_TW0W%$gv=p`|S7CyenX? zhR)5)@4Ed&w_4sap}nG`DqHv_%;m;q#mCC(m+9&Sv@by7=}@9yEkkd+0j(!{+={vx zXe~)q9z9@XxUDX)DHVBgctyuxeWAc@__!~=S4toJ)0$w@pivHgA+LWQ4v~7t;$uy7 ztNtgwJqge}I(6dnU+(5pv`f^X3gR^w%!xXYar2??=NUN^JFGPd3YE<5^eE(elk%)Z zD!(U_*ze*Hi)vAFZRl9{Q)7O7vhu4|1(ft^fpE9QHPGi=qJa5B?h5YiXRD@Uc?%9W z%yK&1-D7F~srJq5v@ZQpuWv^2Gh#6@!g|s_Rfv$0<*@z~6sHpmN>X|8Sz*zzq3sok15zD(3YI$NH_6pMHQza52j zV`%^?G!NB|#@YZcRI0lbQH_euQB4fG8uI2IEAWqliPv58?gu8j;pM-Y26s=)*kXWQ z1xyil+i}}ek${JTdrok0Dc!yAh+od@6m(hi{&_i{jH;JC#g z;{`e+vB=>|#i8L1pXm*XRzCnOW+dD;hp1=VXT$_b})s{zc+%qmVIZt)7uAn?}`R&r8ttuRi2+gSnHwy_Ug+g-@AoKPv#yx8(VT#I)ofqgKG0X zeb#G1o}5#ae)DCPs;q*gKdy`rTqvK9HUh3K-K)9a8}q*X0cse&Nu z8@?jEcM9fT76hUyo$S$$DnE18bw_;newtfcQa%KG)|+EG6`sT{bD-P*gOWydlzZs@ z@p1!gpaU)+G!IkII&3*8VTa4nxcEFUhA5 zTp_b-99L)WqY4ttDZ^nVky&I-jrWIFhFPt_SzrIZ*`H2Vh%h^5#X z>q!fVj7q{V)lmtx*!{Q!6_6OXw~Px|8lYm=w2R2W-yQR%9Ovq=I({Cxp738=EZa8I z85?IcFmT(Nbp#8pt#;o39;pVfS%z;6^+qavakZ4Gszm>QpB-nvtRw1HQ6EqiCDUQNH$=pLLJqb7mX-z`;4arM^LXtFQ8b2i@ zih<`Zn>=#2T~ZY_u=O|@!26~|M*bV*Z0Rqwj|7r&dHN?jCEig`Q?uuKXa=deO_OJg(AbsfE<$z z$H+;{0ny3|KGLS=;I|XbBl!d1#bQBua#vqm3kqS)a{}Kz<0O6#QgOqhT5^4ml&R?m zmmn@GaowQ6of;%iKk3DF+(wG)6vM=b5IZRi@hiJq?E8eV-ryj%oegx-rCf{ z8IpskDR=l=FfPshbybA=UAiy^$Oc*=B~fOS6gW)xc?NWTFF~k%D};fn0S5Ke^l>J6 z4B~f^t?CwTkkS0&IW!}!X_sTpYi(t5-WBqw4pKEE(Xz2Sd-m;zo z&BR7TWu7bSvXf1qVMa+=G*s8UZ4mk_^#0UYfSqwDgyzs!zaP7(TQ~+sq-aKtgEWV7 zV{m;1E}?{flH6qqZC{(CRMK3%FmuqXdGZBOhE#0Moo@DS$_*5Ve=G_FZLFbGr_|2W&JHynQVyp?6>H);J zUD*6{Nn`!hSj*0Gi|5YK-PvVzC){#3MK8PSYD$c_!LxP`ruK>k8yyFjA&fnrVf=`6 z+1@tUD5!#JnW$<#w7@(U`KO|ZwraQ!ZOxp+GG<@VY~2~=>aZ|ZB=!iDxn1746LQ|r zcz}yNH!f|CQSR~KP_NGtrox$7>PqC4 zuVx-19 zVw-8}w+>1{H@VZ;qduRye2880+~>=Gs5@QI37we4P$Vr7A;i4uoBH)KyvnIlcZt^g zqyq%g7!>N2;PbUx4_;QLjyBTX22T}Nt{kQ#Zy!#Ll>G`^lFr~t>aa!%N`pU``heWg7I%Cfr*fLu; zLA{)K%T7FSIC2Xy!~2p`b+r{5FOvCjcoal#szPoe0g6Xa!7=_ELKwJ|v=Bd#CR^cXUjSc85nR$NkcpomBdlgUBBqec<+3tE{47(+Le74oL>HN-p*SRZ9AXV4 z&-8$wamhrdv#A2)j*|WJZff9=jd^2%ATxGx@!NSrf77A)hJJDFe(@=ydv)uziDBE+ zAT9QMogb`~L8?Pd7e55)LGMM4WOEOrJ9tUxK{4cSMasUet!Jv{#eO~SnK&awx_d}6 z-@T%}Q-Dbg8o~}Raxi>3Kj<=F^h{rn z=^4-acS-H1iqNB~?+A*`32E7cXmCBjWtGzmb=27D%*LYEsp9mV*sI^=)2v20oLrG$sphP)~X}Bn1qO<^H9#~Et_t|A7ozP+^?0H@kaCw zhu3S}l}2`22$t9f$>l(Pb?X^vPuP2ldKWVYx$BJ?8Xd1W)P&HoK54IVDNIkcjJg@* zL$%zzXd448k%A{=^fJ*9~iAD)x!vQJjT-Qq6vf8Rc zx72Hr!@kOSE!CRLOEZOpn%&f*Np5y=G-%U{5Kyz6gHxG_*&3SD7F9V$mK{kjDi6tn z32wIHAtyEjdYepe`YNw5e0>}V#|4wuWUM7JaR|s!&g=A z(5vu1PtO@Sje8GG=nmG)uk$Z3NqymC4qeIO-t4_>L5)HL5%7OPaLGAPsk%~x@`KkL zpr<&_hi~4VO3g)zy?OURdHj6^apI*fr}3{3&q=Z(!A1zr!oLpZ&CgPh?3)TPHXZyF z;3Z;%HsuGP$_SL~SWn_|l~QLlLQAm}Z!2~D6jlpK+P}U4UvH4K=cp>Q+ey~f4yZVK zCFE_}bf1Q1fz;3qh#{Fi3C`7M*j>OZ!_X8rCms5+er@55L1zHnQPszEKSH zPRCN4U)HIULc5d76>v5*7%lG{!8#x9SliFPwLR4n&+GQY*vJ=S4wPl_G$t#ReeRmG z6(SNr1R_q;<{w%$?pVi8b2LC?*U2(%iB#Mj3CZbV_QITLo5OFH^(N|@=!SMdS=w}0 zyRt*tUOnIjGI6nBMhwQ}PEx8+utkPb!E_U&`aKw$w@E+3{kd67_rm5=84 zTU9V(Tn5E#=5@^|&mO0|@SW1WvkS_*O#hyO(i7f}(=Fy8rHkW2WNK0P&8NBTA*`Kp z+Mt->8M))`P${1bqazGMNaXW#<%^lguCg}c$XpR7wx#VT*;$<$vF;S{blOiIf* zVR*^KE*SS+NbRG3r`jt`uIHXmn{rXZaR*T!q2H$U!N2QYLv*2KG)SHb#Yv8%QKtTK zF0R|BaSF0sXG=a}trWrbiz*RMEg4)L7{2@9$F%XASkaT(JcclSsiyeF8Gk7R~6l`6Lb3wvbDBm)b>y2c~q27kxJ-?+3!I zmW}aiivpL~i3q9$pvwnx?#UOkniDCUqvWZfWP{2W0|rttC?xRu;hiw@2kN?B;M@yg z@d7i;|QyDToJUmk?iBy?759UhSr5ICMXz=W7^kon%*9l?q>2D zZx5k|`APm^PS4L1>geBUtUhpu!!|!yYMN4N{FBM-+f~&k6_n}t{Kt#!Gks}1DBdPT z>kLkQveBAS>-Q#!{%li%nU@x8HF1!3Mw0Xu5qE^7x=21V+Y(+x{K=m*0B_WY&HiH~ z0AK_Y>|JAk<}f~DmPjUgSdHnh8Xrem zrG9{1KJWnXBneYzVUQxsTj_D696A`p2xg?Cgf)w-Z8`w25VjwJVXVNT8n?lm_1eI{ zj`IKQ-UTBpjw z*SY`zV1KmzwK7ha|x)${x z_OJdF06_hSh3fpnqJUXiDS>}wi~s=EN8p+D1GwIb1dg>K{}U9Z?emYc&wqCbyWKx5 zKk#q16ac{VC}6z(KM)Sspp6pv|5JJ%*BluH1A$=Fb{62@RcQc#>QOZ95Evv3{C6!8 zHUKFf0S(y?)qQNI2mW31`tR7X%6ouJ3V?q)`0xEJ>_}yM6pXsyfph!F1N`@z90omZ wcVo!|H2aYo=>6|J1pqvM6v-0u0Fjnc5UML7!lp6+fCl!C!~_6ptN(oaAN=1=F#rGn diff --git a/apps/example-app/android/gradle/wrapper/gradle-wrapper.properties b/apps/example-app/android/gradle/wrapper/gradle-wrapper.properties index e74c8700..988da1ab 100644 --- a/apps/example-app/android/gradle/wrapper/gradle-wrapper.properties +++ b/apps/example-app/android/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-9.5.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.8.2-all.zip networkTimeout=10000 retries=0 retryBackOffMs=500 diff --git a/apps/example-app/android/gradlew b/apps/example-app/android/gradlew index b9bb139f..249efbb0 100755 --- a/apps/example-app/android/gradlew +++ b/apps/example-app/android/gradlew @@ -20,7 +20,7 @@ ############################################################################## # -# Gradle start up script for POSIX generated by Gradle. +# gradlew start up script for POSIX generated by Gradle. # # Important for running: # @@ -29,7 +29,7 @@ # bash, then to run this script, type that shell name before the whole # command line, like: # -# ksh Gradle +# ksh gradlew # # Busybox and similar reduced shells will NOT work, because this script # requires all of these POSIX shell features: diff --git a/apps/example-app/android/gradlew.bat b/apps/example-app/android/gradlew.bat index aa5f10b0..03754c4c 100644 --- a/apps/example-app/android/gradlew.bat +++ b/apps/example-app/android/gradlew.bat @@ -19,13 +19,40 @@ @if "%DEBUG%"=="" @echo off @rem ########################################################################## @rem -@rem Gradle startup script for Windows +@rem gradlew startup script for Windows @rem @rem ########################################################################## @rem Set local scope for the variables, and ensure extensions are enabled setlocal EnableExtensions +@rem Catch executions from older scripts and ensure they exit cleanly. +@rem This can be removed once we can be reasonably confident that few people +@rem will be migrating directly to this new wrapper. +goto afterSafetyNet +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +goto exitWithErrorLevel +:afterSafetyNet + set DIRNAME=%~dp0 if "%DIRNAME%"=="" set DIRNAME=. @rem This is normally unused @@ -45,13 +72,14 @@ 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 +1>&2 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. "%COMSPEC%" /c exit 1 +goto exitWithErrorLevel :findJavaFromJavaHome set JAVA_HOME=%JAVA_HOME:"=% @@ -59,24 +87,26 @@ 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 +1>&2 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. "%COMSPEC%" /c exit 1 +goto exitWithErrorLevel :execute @rem Setup the command line -@rem Execute Gradle +@rem Execute gradlew @rem endlocal doesn't take effect until after the line is parsed and variables are expanded @rem which allows us to clear the local environment before executing the java command -endlocal & "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* & call :exitWithErrorLevel +endlocal & "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* & call :exitWithErrorLevel & goto exitWithErrorLevel +@rem This label must not be changed. We rely on old scripts being able to jump to this point. :exitWithErrorLevel @rem Use "%COMSPEC%" /c exit to allow operators to work properly in scripts "%COMSPEC%" /c exit %ERRORLEVEL% diff --git a/apps/example-app/ios/App/App.xcodeproj/project.pbxproj b/apps/example-app/ios/App/App.xcodeproj/project.pbxproj index 8a8207ad..30ff8bd2 100644 --- a/apps/example-app/ios/App/App.xcodeproj/project.pbxproj +++ b/apps/example-app/ios/App/App.xcodeproj/project.pbxproj @@ -16,13 +16,13 @@ 2FAD9763203C412B000D30F8 /* config.xml in Resources */ = {isa = PBXBuildFile; fileRef = 2FAD9762203C412B000D30F8 /* config.xml */; }; 50379B232058CBB4000EE86E /* capacitor.config.json in Resources */ = {isa = PBXBuildFile; fileRef = 50379B222058CBB4000EE86E /* capacitor.config.json */; }; 504EC3081FED79650016851F /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 504EC3071FED79650016851F /* AppDelegate.swift */; }; - 504EC30D1FED79650016851F /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 504EC30B1FED79650016851F /* Main.storyboard */; }; 504EC30F1FED79650016851F /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 504EC30E1FED79650016851F /* Assets.xcassets */; }; 504EC3121FED79650016851F /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 504EC3101FED79650016851F /* LaunchScreen.storyboard */; }; 50B271D11FEDC1A000F3C39B /* public in Resources */ = {isa = PBXBuildFile; fileRef = 50B271D01FEDC1A000F3C39B /* public */; }; A084ECDBA7D38E1E42DFC39D /* Pods_App.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF277DCFFFF123FFC6DF26C7 /* Pods_App.framework */; }; B4B8A15440664BF39342DCCE /* App.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C8E453C8D174260ADA1F9D6 /* App.swift */; }; 62FA633A75004C12A207314B /* CapacitorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2A05900A14E4E0AA1EA56EE /* CapacitorView.swift */; }; + 78D87F67A0AC4525B95672DD /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = F510E3C636ED4012B59767DE /* SceneDelegate.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -61,7 +61,6 @@ 50379B222058CBB4000EE86E /* capacitor.config.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = capacitor.config.json; sourceTree = ""; }; 504EC3041FED79650016851F /* App.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = App.app; sourceTree = BUILT_PRODUCTS_DIR; }; 504EC3071FED79650016851F /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 504EC30C1FED79650016851F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; 504EC30E1FED79650016851F /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 504EC3111FED79650016851F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 504EC3131FED79650016851F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; @@ -71,6 +70,7 @@ FC68EB0AF532CFC21C3344DD /* Pods-App.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-App.debug.xcconfig"; path = "Pods/Target Support Files/Pods-App/Pods-App.debug.xcconfig"; sourceTree = ""; }; 1C8E453C8D174260ADA1F9D6 /* App.swift */ = {isa = PBXFileReference; name = "App.swift"; path = "App.swift"; sourceTree = ""; fileEncoding = 4; lastKnownFileType = sourcecode.swift; explicitFileType = undefined; includeInIndex = 0; }; D2A05900A14E4E0AA1EA56EE /* CapacitorView.swift */ = {isa = PBXFileReference; name = "CapacitorView.swift"; path = "CapacitorView.swift"; sourceTree = ""; fileEncoding = 4; lastKnownFileType = sourcecode.swift; explicitFileType = undefined; includeInIndex = 0; }; + F510E3C636ED4012B59767DE /* SceneDelegate.swift */ = {isa = PBXFileReference; name = "SceneDelegate.swift"; path = "SceneDelegate.swift"; sourceTree = ""; fileEncoding = 4; lastKnownFileType = sourcecode.swift; explicitFileType = undefined; includeInIndex = 0; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -146,7 +146,6 @@ 02DB2E9A2A1BB3B5008B20EE /* App.entitlements */, 50379B222058CBB4000EE86E /* capacitor.config.json */, 504EC3071FED79650016851F /* AppDelegate.swift */, - 504EC30B1FED79650016851F /* Main.storyboard */, 504EC30E1FED79650016851F /* Assets.xcassets */, 504EC3101FED79650016851F /* LaunchScreen.storyboard */, 504EC3131FED79650016851F /* Info.plist */, @@ -154,6 +153,7 @@ 50B271D01FEDC1A000F3C39B /* public */, 1C8E453C8D174260ADA1F9D6 /* App.swift */, D2A05900A14E4E0AA1EA56EE /* CapacitorView.swift */, + F510E3C636ED4012B59767DE /* SceneDelegate.swift */, ); path = App; sourceTree = ""; @@ -265,7 +265,6 @@ 50B271D11FEDC1A000F3C39B /* public in Resources */, 504EC30F1FED79650016851F /* Assets.xcassets in Resources */, 50379B232058CBB4000EE86E /* capacitor.config.json in Resources */, - 504EC30D1FED79650016851F /* Main.storyboard in Resources */, 2FAD9763203C412B000D30F8 /* config.xml in Resources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -326,6 +325,7 @@ 504EC3081FED79650016851F /* AppDelegate.swift in Sources */, B4B8A15440664BF39342DCCE /* App.swift in Sources */, 62FA633A75004C12A207314B /* CapacitorView.swift in Sources */, + 78D87F67A0AC4525B95672DD /* SceneDelegate.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -340,14 +340,6 @@ /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ - 504EC30B1FED79650016851F /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 504EC30C1FED79650016851F /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; 504EC3101FED79650016851F /* LaunchScreen.storyboard */ = { isa = PBXVariantGroup; children = ( diff --git a/apps/example-app/ios/App/App/AppDelegate.swift b/apps/example-app/ios/App/App/AppDelegate.swift index 4258c86d..9700437b 100644 --- a/apps/example-app/ios/App/App/AppDelegate.swift +++ b/apps/example-app/ios/App/App/AppDelegate.swift @@ -47,19 +47,6 @@ class AppDelegate: NSObject, UIApplicationDelegate { func applicationWillTerminate(_ application: UIApplication) { // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. } - - func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) -> Bool { - // Called when the app was launched with a url. Feel free to add additional processing here, - // but if you want the App API to support tracking app url opens, make sure to keep this call - return ApplicationDelegateProxy.shared.application(app, open: url, options: options) - } - - func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool { - // Called when the app was launched with an activity, including Universal Links. - // Feel free to add additional processing here, but if you want the App API to support - // tracking app url opens, make sure to keep this call - return ApplicationDelegateProxy.shared.application(application, continue: userActivity, restorationHandler: restorationHandler) - } func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) { print("Received remote notification") @@ -73,4 +60,14 @@ class AppDelegate: NSObject, UIApplicationDelegate { } } + + func application( + _ application: UIApplication, + configurationForConnecting connectingSceneSession: UISceneSession, + options: UIScene.ConnectionOptions + ) -> UISceneConfiguration { + let configuration = UISceneConfiguration(name: nil, sessionRole: connectingSceneSession.role) + configuration.delegateClass = SceneDelegate.self + return configuration + } } diff --git a/apps/example-app/ios/App/App/Base.lproj/Main.storyboard b/apps/example-app/ios/App/App/Base.lproj/Main.storyboard deleted file mode 100644 index b44df7be..00000000 --- a/apps/example-app/ios/App/App/Base.lproj/Main.storyboard +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/apps/example-app/ios/App/App/SceneDelegate.swift b/apps/example-app/ios/App/App/SceneDelegate.swift new file mode 100644 index 00000000..9e0dc2c5 --- /dev/null +++ b/apps/example-app/ios/App/App/SceneDelegate.swift @@ -0,0 +1,6 @@ +import UIKit + +// Deliberately empty. SwiftUI owns the window, and a scene delegate that implements +// scene(_:openURLContexts:) would take URL delivery away from App.swift's .onOpenURL. +// This exists so per-scene UIKit APIs that SwiftUI does not surface have somewhere to go. +class SceneDelegate: UIResponder, UIWindowSceneDelegate {} From 4dbfd9b386d2457cc56e79a97f79304c943fd1d7 Mon Sep 17 00:00:00 2001 From: Andre Destro Date: Fri, 23 Oct 2026 15:43:39 +0100 Subject: [PATCH 2/2] chore(example-app): drop stale capacitor-swift-pm pin from SPM Package.resolved --- .../xcshareddata/swiftpm/Package.resolved | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/apps/example-app-spm/ios/App/App.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/apps/example-app-spm/ios/App/App.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index 35c4c570..2f02fb5a 100644 --- a/apps/example-app-spm/ios/App/App.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/apps/example-app-spm/ios/App/App.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -1,5 +1,5 @@ { - "originHash" : "b9bab30911f397b9f8afe3861c151cf9ab6543936fedc2fb8a5eda1687fdb3cf", + "originHash" : "3479396e07839bf9849e0eea7a420a7e7740dd2bdd2832aec128cdc6935a9604", "pins" : [ { "identity" : "capacitor", @@ -9,15 +9,6 @@ "revision" : "1a5c358456c99ffae32ed27b0a2e29f2ae14bea6", "version" : "9.0.0-alpha.8" } - }, - { - "identity" : "capacitor-swift-pm", - "kind" : "remoteSourceControl", - "location" : "https://github.com/ionic-team/capacitor-swift-pm.git", - "state" : { - "revision" : "d72bb9e9e4b80e5c7f41ee3bf0d95008ab7dcfd8", - "version" : "9.0.0-alpha.6" - } } ], "version" : 3