From 8985024188d40c7e02e145954e9d5b4b5ce8d8db Mon Sep 17 00:00:00 2001 From: sergey-aslonyns <131437298+sergey-aslonyns@users.noreply.github.com> Date: Sat, 16 Dec 2023 15:24:39 +0300 Subject: [PATCH 1/4] Create .gitignore --- .gitignore | 90 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..330d167 --- /dev/null +++ b/.gitignore @@ -0,0 +1,90 @@ +# Xcode +# +# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore + +## User settings +xcuserdata/ + +## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9) +*.xcscmblueprint +*.xccheckout + +## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4) +build/ +DerivedData/ +*.moved-aside +*.pbxuser +!default.pbxuser +*.mode1v3 +!default.mode1v3 +*.mode2v3 +!default.mode2v3 +*.perspectivev3 +!default.perspectivev3 + +## Obj-C/Swift specific +*.hmap + +## App packaging +*.ipa +*.dSYM.zip +*.dSYM + +## Playgrounds +timeline.xctimeline +playground.xcworkspace + +# Swift Package Manager +# +# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies. +# Packages/ +# Package.pins +# Package.resolved +# *.xcodeproj +# +# Xcode automatically generates this directory with a .xcworkspacedata file and xcuserdata +# hence it is not needed unless you have added a package configuration file to your project +# .swiftpm + +.build/ + +# CocoaPods +# +# We recommend against adding the Pods directory to your .gitignore. However +# you should judge for yourself, the pros and cons are mentioned at: +# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control +# +# Pods/ +# +# Add this line if you want to avoid checking in source code from the Xcode workspace +# *.xcworkspace + +# Carthage +# +# Add this line if you want to avoid checking in source code from Carthage dependencies. +# Carthage/Checkouts + +Carthage/Build/ + +# Accio dependency management +Dependencies/ +.accio/ + +# fastlane +# +# It is recommended to not store the screenshots in the git repo. +# Instead, use fastlane to re-generate the screenshots whenever they are needed. +# For more information about the recommended setup visit: +# https://docs.fastlane.tools/best-practices/source-control/#source-control + +fastlane/report.xml +fastlane/Preview.html +fastlane/screenshots/**/*.png +fastlane/test_output + +# Code Injection +# +# After new code Injection tools there's a generated folder /iOSInjectionProject +# https://github.com/johnno1962/injectionforxcode + +iOSInjectionProject/ From 1e19d24e681b075b6ab6e31e20d4f51695966787 Mon Sep 17 00:00:00 2001 From: SerhiOS Date: Sat, 16 Dec 2023 15:33:35 +0300 Subject: [PATCH 2/4] create main screen --- .DS_Store | Bin 0 -> 6148 bytes .gitignore => quizzz/.gitignore | 1 + quizzz/quizzz.xcodeproj/project.pbxproj | 34 ++++---- .../UserInterfaceState.xcuserstate | Bin 0 -> 35453 bytes .../xcdebugger/Breakpoints_v2.xcbkptlist | 6 ++ .../xcschemes/xcschememanagement.plist | 14 +++ .../Logo.imageset/Contents.json | 23 +++++ .../Logo.imageset/hola_logo_1024 (1).png | Bin 0 -> 19034 bytes .../Logo.imageset/hola_logo_2048 (1).png | Bin 0 -> 46508 bytes .../Logo.imageset/hola_logo_512 (1).png | Bin 0 -> 8692 bytes quizzz/quizzz/Base.lproj/Main.storyboard | 24 ----- quizzz/quizzz/Info.plist | 2 - .../MainScreenCell.swift | 27 ++++++ .../MainScreenViewController.swift | 82 ++++++++++++++++++ quizzz/quizzz/SceneDelegate.swift | 11 ++- quizzz/quizzz/ViewController.swift | 19 ---- 16 files changed, 176 insertions(+), 67 deletions(-) create mode 100644 .DS_Store rename .gitignore => quizzz/.gitignore (99%) create mode 100644 quizzz/quizzz.xcodeproj/project.xcworkspace/xcuserdata/serh-ios.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 quizzz/quizzz.xcodeproj/xcuserdata/serh-ios.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist create mode 100644 quizzz/quizzz.xcodeproj/xcuserdata/serh-ios.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 quizzz/quizzz/Assets.xcassets/Logo.imageset/Contents.json create mode 100644 quizzz/quizzz/Assets.xcassets/Logo.imageset/hola_logo_1024 (1).png create mode 100644 quizzz/quizzz/Assets.xcassets/Logo.imageset/hola_logo_2048 (1).png create mode 100644 quizzz/quizzz/Assets.xcassets/Logo.imageset/hola_logo_512 (1).png delete mode 100644 quizzz/quizzz/Base.lproj/Main.storyboard create mode 100644 quizzz/quizzz/MainScreenViewController/MainScreenCell.swift create mode 100644 quizzz/quizzz/MainScreenViewController/MainScreenViewController.swift delete mode 100644 quizzz/quizzz/ViewController.swift diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..e21abd0837d667484ca15a82b70dc84b4f4a5788 GIT binary patch literal 6148 zcmeHKOK%e~5FRH>>$F130i+&R;##%ogG#_<3F)C%7J<}6F#w4ADBc370)WIq=&fM&2O&F^ z1u0q0Dx#n<(#}?Rs(SqePgXDk%)tN10DZe2Y(NJR$er(3eE&Lc>#0T~N>zk989YAh z{=EG1)V0TdwfDPoxuINOC@jG_jBws}^gBq^sU4q^5skg^OAEQWzR`Htx4xgEewqyP zTJ4)CmAyMl%W_$+%9F6G#$n#dN5gt+a74WqN~O`P-HKi&?Qyeu@0rT-R+6;`Iv|PL z=yLoj$znCGt5FsYb!=!1vLY+Z>e^(oy;ocJcXl66*Zs+(ZEWxE>`kW?dH=!YljqH| zw3n&(detB>FKW4KaRwLIaQ5$TUuwVo-9FF%#}8+pe;EFqF?#Cy3~usq&q1eZXN))D zAWK!&!TD!vpRJkkb}?YjS5gjOVFs81W?-HH$`3vk!oXr-P^S*8^b-KlL$wxc)Ada; zzQw>|VGu1S!h|B4P+^}K!i1yVw|;@e!k`HUVILpD&MfQ;Md;aad|$hR2n=$~3@`&O z17*{#(*3`G^ZVZo;vO@=4BRRPgx3fgb=;D@TNgG*cdd`*H5L-`D-7xotn78H8*~+~ cVbOv%pBjjP#lj$JQ2394rhzMF;GZ&Z1zC-jR{#J2 literal 0 HcmV?d00001 diff --git a/.gitignore b/quizzz/.gitignore similarity index 99% rename from .gitignore rename to quizzz/.gitignore index 330d167..4f20167 100644 --- a/.gitignore +++ b/quizzz/.gitignore @@ -88,3 +88,4 @@ fastlane/test_output # https://github.com/johnno1962/injectionforxcode iOSInjectionProject/ +.DS_Store diff --git a/quizzz/quizzz.xcodeproj/project.pbxproj b/quizzz/quizzz.xcodeproj/project.pbxproj index 583c297..bc0eb3c 100644 --- a/quizzz/quizzz.xcodeproj/project.pbxproj +++ b/quizzz/quizzz.xcodeproj/project.pbxproj @@ -9,21 +9,21 @@ /* Begin PBXBuildFile section */ A676A2A92B2D9A52002DA5F4 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = A676A2A82B2D9A52002DA5F4 /* AppDelegate.swift */; }; A676A2AB2B2D9A52002DA5F4 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = A676A2AA2B2D9A52002DA5F4 /* SceneDelegate.swift */; }; - A676A2AD2B2D9A52002DA5F4 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A676A2AC2B2D9A52002DA5F4 /* ViewController.swift */; }; - A676A2B02B2D9A52002DA5F4 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = A676A2AE2B2D9A52002DA5F4 /* Main.storyboard */; }; + A676A2AD2B2D9A52002DA5F4 /* MainScreenViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A676A2AC2B2D9A52002DA5F4 /* MainScreenViewController.swift */; }; A676A2B22B2D9A54002DA5F4 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A676A2B12B2D9A54002DA5F4 /* Assets.xcassets */; }; A676A2B52B2D9A54002DA5F4 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = A676A2B32B2D9A54002DA5F4 /* LaunchScreen.storyboard */; }; + A7F247622B2DCC0B00A267E5 /* MainScreenCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7F247612B2DCC0B00A267E5 /* MainScreenCell.swift */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ A676A2A52B2D9A52002DA5F4 /* quizzz.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = quizzz.app; sourceTree = BUILT_PRODUCTS_DIR; }; A676A2A82B2D9A52002DA5F4 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; A676A2AA2B2D9A52002DA5F4 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; - A676A2AC2B2D9A52002DA5F4 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; - A676A2AF2B2D9A52002DA5F4 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + A676A2AC2B2D9A52002DA5F4 /* MainScreenViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainScreenViewController.swift; sourceTree = ""; }; A676A2B12B2D9A54002DA5F4 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; A676A2B42B2D9A54002DA5F4 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; A676A2B62B2D9A54002DA5F4 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + A7F247612B2DCC0B00A267E5 /* MainScreenCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainScreenCell.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -58,8 +58,7 @@ children = ( A676A2A82B2D9A52002DA5F4 /* AppDelegate.swift */, A676A2AA2B2D9A52002DA5F4 /* SceneDelegate.swift */, - A676A2AC2B2D9A52002DA5F4 /* ViewController.swift */, - A676A2AE2B2D9A52002DA5F4 /* Main.storyboard */, + A7F247602B2DCBEE00A267E5 /* MainScreenViewController */, A676A2B12B2D9A54002DA5F4 /* Assets.xcassets */, A676A2B32B2D9A54002DA5F4 /* LaunchScreen.storyboard */, A676A2B62B2D9A54002DA5F4 /* Info.plist */, @@ -67,6 +66,15 @@ path = quizzz; sourceTree = ""; }; + A7F247602B2DCBEE00A267E5 /* MainScreenViewController */ = { + isa = PBXGroup; + children = ( + A676A2AC2B2D9A52002DA5F4 /* MainScreenViewController.swift */, + A7F247612B2DCC0B00A267E5 /* MainScreenCell.swift */, + ); + path = MainScreenViewController; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -127,7 +135,6 @@ files = ( A676A2B52B2D9A54002DA5F4 /* LaunchScreen.storyboard in Resources */, A676A2B22B2D9A54002DA5F4 /* Assets.xcassets in Resources */, - A676A2B02B2D9A52002DA5F4 /* Main.storyboard in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -138,7 +145,8 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - A676A2AD2B2D9A52002DA5F4 /* ViewController.swift in Sources */, + A676A2AD2B2D9A52002DA5F4 /* MainScreenViewController.swift in Sources */, + A7F247622B2DCC0B00A267E5 /* MainScreenCell.swift in Sources */, A676A2A92B2D9A52002DA5F4 /* AppDelegate.swift in Sources */, A676A2AB2B2D9A52002DA5F4 /* SceneDelegate.swift in Sources */, ); @@ -147,14 +155,6 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXVariantGroup section */ - A676A2AE2B2D9A52002DA5F4 /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - A676A2AF2B2D9A52002DA5F4 /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; A676A2B32B2D9A54002DA5F4 /* LaunchScreen.storyboard */ = { isa = PBXVariantGroup; children = ( @@ -297,7 +297,6 @@ INFOPLIST_FILE = quizzz/Info.plist; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; - INFOPLIST_KEY_UIMainStoryboardFile = Main; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; IPHONEOS_DEPLOYMENT_TARGET = 15.0; @@ -326,7 +325,6 @@ INFOPLIST_FILE = quizzz/Info.plist; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; - INFOPLIST_KEY_UIMainStoryboardFile = Main; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; IPHONEOS_DEPLOYMENT_TARGET = 15.0; diff --git a/quizzz/quizzz.xcodeproj/project.xcworkspace/xcuserdata/serh-ios.xcuserdatad/UserInterfaceState.xcuserstate b/quizzz/quizzz.xcodeproj/project.xcworkspace/xcuserdata/serh-ios.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..cc6f203ef9db3782dd60c0d918c3f5f8388f3652 GIT binary patch literal 35453 zcmeFa2Y3`!`v*Gb%ir5elM5Ra) zM4AN)DhL9KiU?9f6h*OtAYunmko(TgZi;~N{q?)geeUx`Np@#WKfm*~^SNhuj6pX@PB+oRWYbyj+4dKy}E@J;1m=<1&A(N*87Z7}GqDKvkz zT47mGnya0uZA>;LIz+J)S5|7!7_>Zk+KTp|ET~bGJ>@`+qXH=<6+{J7Ayg<8Muk%m zR3sHeSzAyq^bQzcX>rJ~BHa;lNiQcYAd)k5j0UTPXOoti<-q~=n$QMXffQ}f@+o{*6H>rKpyVODIJ?bd+DRq+ijQX59 zPkl#yPyImsNc}`zqJE?PpspecNs$c6(HLZjY>^#uL9WORO+ayI5{gF&C=n&0WR!wZ zQ5s4|87P<9jS5i_Dn=!!4ylnAwV`&@fu^EfG!4x{v(a318@e4WK=-2i&;w{GdIYUU z8_-6y2|bCPLNB40(N?q#y^h{PAE8gt7wAj$6*_~?qVLg9=x6i`Mi^rnGgyM9SdJCg z3R`1mJRZAXSL}v8a5#>@kvIxR;~12UV{tq#$CbDSt8qQn;uhS7JMmO(z|-+8JQwr$ zHas8Sh401pei*OBefV*_7H`1M;jMTlejV?@d+~mJ03XIj@G<-W{t*9wf5boG zpYbpF0=|fU#h37J_;-AjmeMksr8(M?R?rUgINFgOPrJ~rv^VWT`_g`N7#&L|)9G{u zokQo+d2|u2qRZ$?x{9u&r_s~t8T3qg7CoDuL(ipep>L&m`gZyr`d<1z`ayaLy@Fmz zuc9BLSJUh0_4Kp!%k-=CYxJA+KKdQ{ApIVFlzyN7ls-kDqrazrpns$<(7(~Y(^naa zVHgP`WgHnN#+ezImN5@Ak1&ri%b69-N@f+)&#Y&jW}abQVqRvp zGP{}Am^Yby%zMm7%xBD3%o*le<~;KwbD6oq{J~t6P!gF$E*T@Sl-NjYB~B7&iJN4C zBv7K11WAG=A(D7Wf+SIrBuSQ(Ny;S^lF5=vNtL8pQX{FAG)NjHI*DFlkn~EXNv2DP zWS(TcMQk=Dy2cvFlo3nS{frQmX=6M zr7CHev|L&toh+@CR!OU+YH5?SUD_e-l}?jRm(G&Tlins>E?psADP1LfOuAayC+(LG zNY_Xom#&vSBi$l>QTnQMr*xNeuk>x{=h82vUrN7{o|2xHel0yCJuCf2dQSSi^rG~N z^beU-CX-pp6fz%~ugp*8FAI_ORb*$Ub7vKM4qWG~8IlD#b3D%&P|MYdhG zL$+JCSN5*#pzH(LhqBLPpUZxe{VuyKyCVBTc9o@A#A23a8J1-&SzFeQbzxmuZ`OxR zVw2evHkD0d)7cC*lg(nY*&McjEn~~s3bvN5W1HA!wuRNPQ`sJN20M?vjlG?{gT0r% zpM8*B!al-2%C2Vn*nV~$`#k#syM=v`eTjXU-Olc2Ut{;P2iSMngX|&pDEk$AiapJK z&7NV;vfpqFC*$PYXimY6tY zUgTckUgdUjuW_$)d$_&a+uT0xUG5K$H-&laq>y>czJ?6QJy4EmZ!)I z=JZQ?!E3XkN_)R^$-h>XCD^yu`!@aV9V!03qRjKJiK;PjNph_HyrmqrTrgb&+c4#{d=9(QTcPd~V?tL>~C ze45dt>Cmbbf$$(pqtDkh_W)OIEZ4O6YV{dCT^$9bC0f0qt4CAct~GMpG>t){RwN8> zzDiS{+SO_3>1uD+_Nb$yGQxt>Ly`l-W1>O>!=pkY17pHcA_J47gHzKYlEcD7Lz2}B zufY~T?i5W=g+^bl)9av?3Z0>)RM*+uu7x*hg)1aXZZLpwFgRQz>r;#yDypliyQTuQ9zqYTe_wfXr}3!H88f~qrtDqJz5xHD@avl(6#FfI<3A!*Jx-FlVx}6 zyFoVU>KRHlnA4c7rd+3;o~EtuZEl9yP>jvjc69a3%BnoLzvRa7-q!#na$yfZ(ZcX^zuqtx(1L)G)Hd?36?;?soQxlL~9YSb#B zxLlngGLoFWwt|L+foabnOOh zj}hr9GxMP*AbCQY@-%wGV7bC$wZg8fv+25t9mF!Ujb+&*%Q3fS7B!o)TfLh1JWSm} z-AeHksS-&_C#=QE;zzB%rl2%U2f**@)bz~khg9<>7nBwn1!ED{Bid8i1xSH}<~r`6 z?xgJcsQJ84AGLt@6)2Oi7OtD;Fc7FE6 zzd|dVQEwLK5vCc5r&nO5&Y8*6AArx=_@m2OxKK*6K}@ zn+!hO;)^?6A6AsH*&O+6#F|be)DidHK{{-K<%&6x89-V=OJMSGaaY zx299jAdJ7_IvyF`}n$3 zrXTm69^$8d{{Z)-sp4n%q`Q2KpZb*0mY@)5OK??oXH%EbICBaKs83eFT$Dh~azPoY zgr(dyH^(Zw!t)n)Ay7L-!nED75n=e7F`JVa(vB(}27f<91ib^)B0ky;c zst6Ct$i1M1JdFB43E6};qZiOlu_+jde?b`=@q>1Y(0_nh46Go1Mt8f&VG4Tp7%+&Ib$h30RP#r)hLL-O14y#f%vs?XxbX; zacV8~1RuhO@?m`V8frbY0j6#fAHhfRQGB#ew4G@cL(5AWy1KQgEnQuDfi*Y_i#1)N zpQ-A~?u6wD%e7c&MXDg)R2v&4aNe#?wZhu?trR#9^t-`G4-}LrU8HCX4J`ucR%vG# zjQLef@a;Wn3-u!P5|EacsjbvD>Xk}k5h`s@N0mV58jWqKGCnj`$j9&$AI~Qofh;?y zSE-%UE^4>R0EJG5j&}%?!%yO4ff_)9*Qq_!8u;*f_hp5A9h08S= zM~q%SbwnusZ&DSRr~7^CI2ABJ9iu*=KID`66h3vp$dyHo>>^CF=O9NM!FY{SObMOt zZ7}rq0N=U+gBH_?EO_Ey6_u^mgKTJS*ca5-0uH~VzM@W1r}=a~gU{r%1m1d<`o_px zv-zC=7kKMmus3s4f2J-7Eb$jUw~xBW=lv~9{2f^0mA_+&`GtySM{-1|Y|Q_iBd!*C zn8i8ge%7L&lV69@j~aa~rC-fjIVt0F^U5YyH+FQ-oF@`nWTw8BBZx0W-R7Ruon(Aw z8XJTVO$GEJ%op_`hA$TIG@%!WL{X2nN!!z-ZA=B?&SMyVN4PVbU z@Qu87BML&nCmZ+##vE z6!^0tTabT%*n_z5m!fUz>d~flb#!Zbbo#DNqu^Nv(_$JJF{>z!TAD;VqcAkHU0XH$ zrJLzXZ@WR)4T_vlQBjYs0|drA&CIS|0|?aJ;&*d%jP}^Zks=_FJ@ad=##o4vE5hK8 z1!|Y3ZPGvmMkPa3PTWk7iUc#SUKsI_<>~A4H8XS_x>>*t1Zyq`+GZ8SSh_IrM^Glp z0+?lkQ8Wh<6qF8*P@cB4*{Bu`duG&J6^L&Z0hx#LtB1YqM+MZp;SZ_`yS1I!ouE#lb_As!gufhil9N-EKWGc8-gq? z7C5A34HA5DkxoI414x7FQ3Kz_>-kEFLB`69g!2Y*0{;uyXW4@T(RG=kjyZip2j@qm(lQ9lN`yt5s~%LUeyMw8)IFezXWsKJ0;*YB73H zt?+@V8v&f5c^tVm`;k%DzUlNL&K^QsA6mxqe2JNwK8pINfVDtJSD=+>6?zP<2I@)p zdHiks?fe~UfldyfHSl{aQ1DhBNMwgVBJU7sxs^z6V0nUx$V4K>iqEoupa4IDhd|wH z#b*K~3<>kE78XRVuCvjoyN?H|-`n0O(EcJYfR$)LQj3;4SR(DR_kyuja0kU#t{&}?ggP9*D1RU1`UpaNz>4lj+10EEx9nIPio8q80` zv3UhGu0`9?4)iM8iFTpg{5||T{4WGK5#&WsK0o~fv_aE`g+pZOq>&!nKa3uXz4fa2V+1;m1}5ViwH2L5rvzJY zy+*GE2BPfIwu2TlO$$295`M9`z~=?7N`_fESR>` ziYSqY8-IrtiBC&=ySux33`!BoX6m9Gk;c5JE}-8*>P8pQujmr`jenSbgnyJ@z6M=J zSI{5mD!+nX$-l+#6)+nxq5!dQkm{!Cx_b30O;5AdAU;bKl)mdHHv`<D9ri(;5t*pXtRqKzF}!`r(ZMpx>|%BSNqY5Q15L6+itwYyo@#xB(u8N8>Tr zvQo4$fgr^9@vHgA_&3#xe+drmV2AnY^MntNnI-~{#r8lpuno4wc6>iSz^@s=4yXq^ z@{a>sTgwNOi#;zFd#6^2s#Vx^24~o){$1xM2%VqEKLN`_+^fKzH~^?D_QKxS2m4|_ z?9Z>`*Yg|rjr=D5$+b8TD`5cz;}9IkKgB-{%czBa20j5mhPMcy*sbj`%oG-Snoi%{ zt})s`VLHqha5J{t&6E&K)3D=l!>JlkglMr9dv31BD6Nf5l?v8EO*dE%N7gjc&7^@C zs~msBDg_oGA|%eFmw=9f6A<^b!VV|mB%F*>a4Js2={N&t;w+qvb8s%s!}+)X7vdsZ zj7xASR`HwpXZh#&=lK`-E&Pl8OZ?0HR(>1*3csD-!N1Dy3rodn3%*ie&RVC-;sf&_TS>|NbLNbpL$x2lv*+pto;`B6iQAuH1 zS*psMqfW@-J|c%Ixg;}P1xeG=%d=C{)fvh8*?E=b3>qPW_lOMHMOlRf>4l|`p(wAg zGC#dQr4|b@XKEBOMWZ2+$4%S_5_*wQSd^Dts#52sSE|dh^EADk4Is$?2d?kZ^nk6t z1BP831hB?{&~-DVm`I+sF&oseo+j7{E9}w1s2S}`dbO@d(`YWVRVXz3Un#Vut8=ie z9YV1=H&bjf&~cOH%hYT=aC==3(DUrh?p{OsG(ns&H@90T*B|BSI@^H!xdpmqYCE+( zn)W$!^3v2LWd#Bn)TQakC8=3PWR#jS>V=G+NFWC7x>?47m@}ueB0EE+PS4L)sq+d` z)dE%uG6%Cv6SBCYA`pZ$%~0E%IhpAN=_Sdkbik8&+A^~9(#>_u6f!st&v5;8bHug` zE7*iebxK)5S{@V+vZN|IBRhR?0o*ENaTs2-IZHuu{$K;<38}`RQeAVWvAwBy2T0yjN5-`t-CLOKsrE@+uurV`6aN(6jE?K$bGDs_2! zNojUrfjP%LLJpS^Ir5WBa?@2Xu76IuP)J*p3>z8-fd*;XyPDkul^lev9+=p|ZoxvT zpED=9v@~6nnhcA*FjJjcm|p}VUZT#-D@;kwQzxgU3e8C^%quKW42zHaw0EeTd794VUQM&sjHW-0$TA_9lb|65g3=B)_{KSN@>O|2 zRbb8M8)+BpRpCeQqiThT`kLgHKT8DzcsX7nh(CXw?E0FLnV+q~k5K`zMHXOw(2obi z2PQqyC~@H@@H%lTUF5RE1oM8pUTA}`&3?_hYvgRa5pTjz;-}C-{0!cVpXCqo$M_HV z{UEvi%)ifnFhX+0&*K-&HUR!T{(xCE7rD+hP_*$Ycst&~zsn!u4-ZPPP)8u>x(9*j z3cIqU4L}gmU^5JMfI(OnX3MPl4pWLvkMP?@>G#Mm>DMIm;&+Wg?@>|cE&3-yZ_ss{ zG${V!ca5U%QD}R2Z#|GgvC)D0uHK#ou-u4}pn2a{9CI@?lts`@eXqXMm^Kwyw0T;O zfKju&HpYWgZC;89#&-pJl;8TL7kMhB1 z@i!Mft;@X#>ALi>i!6w!Xw$JOn z78;(~1zw7`9(whih^kjDMmQj8m>MrBvo)zk!J=XxcH z+p1zJVax1BT}tjXv~=}AMc4LNupwl0wKoC@26k{wJEnuj0PruZXy(P21)1{-{}n&o z2y~i4jcaH`WBAALr})$G?`wX#VywbLG08N$w45FV7I)f$Kifx-=D!gv?v8+YgGQVX z(bzUP8s=P9v<+p~Pg~Pt`E&fY{j@D@$DilF<2|c|jv7^Lt-h|&WbzS>fMT1RP~&QT zx)qz~{_6Ll$=h6}8|^NXIf0(Y|H%I|tjw||7=b^R29v87)~Am;cDk;;9jwKjz~)t5 zv0WmukM+HVgwXzY6CFq^(Lvgu4gnH!i9bdV&0hc-a*2RpeIyZ~!|4b!5g~};FOHxh zbeu4_ljwLlfllOq<$vR^@P7=~f^z^b}e{ z*V7GjBdw*I=w`Zw))545TM~k#1jz_u3E~Kn6J$ZqD1t_BpxZ=pLwC{L^i;}+)>9q? zjS=Y$LDmG>6Xd{G64-_?Ze3ivivCA)8h~atYE2~gKcYD_0h&Y4BgoQBbnXz=#e6!8 zUVwrLQt+1v>>RZK*~w6t4UY6edXYeM?k8w$AN>G9HaAIjmeLQ4WM>(Fjv!lsMm)-& zC&-TX{1dUU;w;^h6e599M3_<5N3Rh{%mDu*L5_cs{~F?fTIh|`R{BY>^R>{=(3|;g zf;_-22ss1wfY0s(d5(}l=;!F?hsei7g2s=eA6r2Rp|{bm(Ax=eA;^^=w?XnDTKq)= z|6i>3w}jPB(1dH3yJ&M4t?R?>W4uv70Ba7nH7$)&x*lwKU@6lY^a}bfhVP;{e9CKw zkG?EY%V3dO=KUjT`KKlgn-2Q2NCjb^YTVF#G#Zq~#>0M{8EZwB@m|)Jx z7zOyIGAzR}a>jxg#f)agFqQ;G5EMyJ6hYAh#Sj!rP#i&%)-hI$H8Ym6VQd*Y#-4E? zD4w7sf>H=dB`A%cbb@jS$`ve8_9C$aa{$=yhjyg&)q11cXtuXEY7H8lz?97%rwRw~ za1pnuMJXl^KxFiVtkpMwqzVE~pvLG_sSrytBGL57QgDLF0AT`5PQtEbtsvk{gN;Yy zd!t;zxHF!83{d_Af)W7-%AmZi<}M|Oip}62XE3TFj1S`r9(!h=6RlwYp7>Goz#v>I zBmpZF6Ce~5NKo>1ivfixJ0&~SG~9)zRt$C1J*j=Ck>;3ZB8&+ip(8O-ObqO$GcW-e zeGE)MrZA|MTER!I(KM*0O?xJRN$O(~3CbcUyI3jqz>i7o7n)or4w5j4!ho2o%V09a z>QqASuUVZ;F5blCGX>}%lgkw2X9+46Bp~381;XMiCTQ}XWFSVxlnt%Ta)Js+tWBmG zh&@xo)G~F9nxG4|Iw-)YN)WoJv7C`WSrqW7?f-ngSe(E%yTlASpbp^a|?4T0}klS zJmxm$cIFOdK658QRRmQNR6|fLL3ISd5KbXTLr^_I4I7xdM9GG^PgJCs2L#Ec(Ja|C ziK-MqZU2*Nj84%?J*bEOmM+CS267Fvnjo!7u3-iM>Ht0Ce}FylKeKV4*}!Z9iH6xo zP;(#iBtb1VC($sQndglX4fC8J(da-TVYUboP3yH14O(l4)HY^^QH)`>3t~+BUt|)A z+Uv06%j_Yj6RhA2>|8Q?nYTg1Xy^s6p-vMkA7+;!sEeT6uc01-1jHO*gq_YI35cNS z1a;p)1Y(Xd<_$y;1*Z`-btLtGEyMxl1oH{=DM391=?O9n5{{b_fta%*HR!#T8jKKu z#4Q-+C*~q-1u;J}zc3dFnnBP^f@TfCm|tRk6GnYDL30FxEV%rsMO%7$TDA)8fu-qr zV50={q|vypaJwc!d3I@b3Rn{bOQv9dzfKwHlZ%qU(ZyVb-R#-H0d9ez(Q^abX2%3a z2Dn8=hRmI7oH7YwJl9CDgqAQ8(0%3-bPGW|K_F-+iV4gvUBI*?7BIh(Q3Tz}mw@(O zmOb1KF6hYlnoeC4Y^aMl6^QGXjFMPGdV+|M#TNW&g>*pWnsm**5MCmfOU2Z7h#L@6 zOU8-m3A#`;@sarAK#4y=_Yky*e~O?- z_<+fRtB^p&D~;Yl!lx?Ht|7W*3H1;9G7Y*$nQIG`Lx&hqMdH^W-HN57x!pjaz?&2IoccDY{A`Z#7kp# z*lY$Dn1&u*H*Dj8g~)D15@YFtCxN-GDUw_e{3NN8G)cN7Ly{@Ul4MIjbORM@F+mR! z1S9zb!CgBa_~+ z*`>Yp`kCMr*D*4E(2a@)d%F-N4YaiMC3W!)rcCTImgeS^+Dl2%D4Wj7#cle9}Z2wF+dDuNyxkhoJG zlBuwE_|XL1eLQQS)FE-cM))=qp{0PY0vz)-uo-0NZPdCaOl6rv|z!AmamfZU$1}xDBy8|HV6f56nMEM6k&FJ z6yWckRI_tLK^r7nz$I0(QL;($q~s~d(~@T-n40wSUDL*_;fgZMXcR`4c-k1VF3SnQtd7y_0`&I1_|Ij$(F)Egp0&X{r#?(5) zOmI>H+6BXA-d_;8h0r+hli+IH*$j>76unV}4Q;ULmO$8p!Jrx0Afqd-5M~F43rn+? z!(f39V!y@CnyVA~YDU?+k|V+tACw%D946>xg1`>CZ9wv#!^ zGQS~cSD)lt0pFVD!wP~UXGBM;Bg4(j|53(Ge-8KjA+BOB@d=-ULI_<5G!KDwRoDDOio)BDjZO zp5V;{e<-xcLb?vj#@G0AJu+C zZ8`(C=&!9dP^|WVT2cIus{Om}g^KkYR4c0gQ9U>6-nBi85^FrHRuufB8bQqd)6TTW zQl+udbTBtanBZ59A=)?wT zhA0F|b3}84v_LR7d?HGM1f4XS8&3Vt-0<(48>BU0Zjgc%=u?xqK?>0TH#Rp&o25E1 zH%MCu`m9e1=C#iS_62PJZ}x4aozkgbIgobIp#6QppX-Nk@bdd>?OH7b_Sb*eDW=Q^GhU9PmgXDh! zl4}J>K0(mWW=L-MOGs{(J|{r(S%NO~NkOu`c$1KPNxIEw0h4YOEMUJ1fZA>Z)TL_x zrKmAOYPWQch{D$e6#o8Knao-CN#7Sx_>OeH^nmnT=|Sls>0#*+>3dQjiB|~vgP^Mf zQv@S|F~Ky!48anDr5mKjOep-wgu+h&g;-`nA?8dd#H0U*!v6vazZFmj`VVVH;SYeq zYn@umv;3>{Hvxs02$uIre<#@DCQ*1*h5=AA3J4<}1%#2dlj?aOMc2|rQ%y2fW?_V& zOb!slV*rA*osb@!VE(ihZO&mOa|Q&;tYu?mHZoh8oy=b5AR8xhlsOTsAlQmvsC+EJ zHU!%eY)7y?!43qE+aMb+B2YF#M4$|glp)~1ZZy&m>}*D$+y4;w?;}ta1_+de6YOL{ zpe*XI=%6e?mIMftB@#ToPnJxu%grHBmM+T@5SSq#(Dkobvl&nYvSJZ}MFIpT+ypO{ zRmkcE3{I9+%Bp15vKm>ftWKtuO_6B`b|)BMv?!QKS>5bR5^AHn_vLzV^;2AfS7 zY!fgTXvScW8G~W}!{C1bgEIvT&LUW8#^Bt)#Nh3+`2q&-AUL>Bb|=9hH;KV}WD5mA zSz)WSa#HCYdpqGU)4tGyaFd{{jkM6;Qa7 z;AArjUlVxob$q?d1nO^*@N9u{a}y1{P$7FN&tndltBEK z=;q9Fe?<#f1#1l$WI?(r?_)u_s<=4}vi7Va0E%@GFgO`7$ZQcX2)gzSMMBn%6+M_) z@L(pm3NXlQF=FuA-Fy=USzi_$gf_5#tUnvT2C_;vhz({#*ibf%;2MH!39chpP4EFp5R+<)>#7f_OI^`VxEuz_HmdHbeMmzk6lYJ8Jdsv>{H;Oz;0kS zvYXf^37$vrZ3N#=@EvQ|r`c!N&Fr%T&nFlJ!KVp+Mwpuae@2|M;8WelZXa=(3Op zh~NL;2@_`z3oSlE@FH-05-s@b`|Jsb6K9XHAFv;?$JvkAj|m36E++Uvf|n4yl;DTf zvY)V@3chF%H6BPX!1F1iN7_^1W(m{lep3c8s{>=WuUSKb>zp|Iu-`L;T%j^~Q5B4fYafky;-opexLhz#mFDG~f!7B-d z#rYV)s|oHSxS!wwg4YoIIKi;0Km%Dv@Opwb5WJD#O$0wV7&*>Kg$>fbjU4AVA=!Tt zInIp|a{LF8Te^* zxiGPve-}BlJXA?<%Fa-2&PO8++_$GH@t#Q!vMoJ$vS{dMFx zh(=tdQA{%NAufjlXTo9e-CO}zIPyUWR|Y5iaiyG!U=T5$@8`<73WB!~ynlof16O0* z^~TSs6&3$z*IRHgQno{|QmfI20S-_yA8s+sWrEX)wY{KLsQ<0nOlN5r4`v@;tH`ps zMy?Z1Am_AP6W7eOa5}D)YvbCv4uW4K_$7j0CU`5sAeg*D@OFZC5d7+Tu8ZsDrgA;B zEob0*xoH>fw&S2EibMyd}uddkKD<;C-Od0ZX?Oy_^J(2EnsRUscuB)sdkQP8o;g zAs)R5K9gO7H&SkA*YwU*P3JU?-h8NYz7R5PI<^};b-_<@nyyheV0KUlfHTPJwLL>V zfZ(cSFBFz69JURPVcMYzt5d;i3l5$X{KFuX;CZEORCRUdX{Tx1P35FPenlFbVbq|7 zbHPl9AsV?jcN=Q#=Wge~I=PGB*Fo^%76AC};_l||p??q#@fQy4n5JnLJ_-k^>on~I z?Fpq2{Mi;gL}R zZs5!mHY{m)WVGOO4F@N13%UEjt;*=C+s`co*C|uG9uV3^@E&6e>_sU(BrHs*AT%l_ zz%48|V(wh`#8ah}`Pzu3=H>Gcw@h3uFhbcW!;UZ>^0#qMJZN+wgah#WW(S5uhbY6K zH{wrJbXch19UiKT2^;(gjSh_z9mKhnAUJX$$-Ki)uS%(`3Ji-5Gz9mUEAQtv{pWyu zl6#7K+6c&Jx#zg&1wbAk7=+XJOn^K}@cRTG696gB?+ z#L8gKqN0P9;X`v490pyBidMp0n7bPi1*3RVQx+8-0#jz5oLyp7hySz5d4qdXoSb1( z;0sd_5u=PAY7^W75#SaP3~(8I784U1W}1O_gc;aR@CPsh!67+;?cIT0<@x3rIK&+h z^yd>0@Yu(}03ILI*SKTcNpKtEKHxs&j&mPzA9E+TPqRmY93&@F zSB)4v|M8>g1`Yrlx;pE4US?I zQyNdNGyqA5qpd3kGY`HNTa*E3F}8zyukG;m2;mv+LS#CyzdyU2Ugt?d<1|B~k>dpZ zDRu14c(s;`UaW9<%AazFL@9&Ibwz^9YnAvXBr+hxgg1GrJPWKZ@-%t6JVTyIXok=d zLQ4rPTO-ew=g4#Ad4y&O%@JBo;G7LurFMXik&eFUrLOldkv5bgB`! zWnYuaE?P4ILc*@F>P!-2+K zJw`unA+F>v5~hG!QmTbBmBq_feE&MNX`u->;9!-dTSH-G4R?!}Ix5~j0B`bxxY$Drp~OdQ?Z()Ta}wI#Hu7$yJ_nxZbA+3U#)6-C280g0@8aq< zVd5Bf4^J;|A9z*@hdo1GO&RT)X5$qngAqs|k--f_#;|QjCy+SzBrkE$tQIJE84I@` z*#o|nLKK*`)EGHamMzqg0!O$U8RH)is0;!wCDuC>*)#}c$3MRr)%n(~uP@1X|8j_*a2!sd%zKw@o4ol)- zPEwX#riZZc!B>av#v~;5CBnr`HbUJg=}!HrX>f&;qCX>3ykQ8GD=6JuvT!v{*Dy&M zIz0GRh}IgCu@#g;dbpslsQB+MmnkY4yjliwsLK9)hP$e~1m@a!fICo2v9H3Q8@mEI zDyx8W|9N!#t09!{nx~Muw$6l&{@N1wIt4B}vL1#u2=@{=TYo)dzs_^xJP*r1saE(jW;n)fRo-Qp;S~0H!IFT5Q2#AMhnp*v=}XcD@`7SbBkA@)o2U)5N=Mq zgnow;R zJcPf*XYluMVx4GyxPH^^tp=hO}!D*%BPngMt;mzoDd zD10-Mp83Hbg+#=LM2S4-VGyAyDq z$~eS72-XUII)HQ>HIWK{Ye-|^zOZ7rZnTD~19#77q}!!?z(4eu^keBK(vxs;;c2+C z@EmyU`N^VWS+X3sjIcmfBrB1r;6lR5GM%hV)&bWNPK7H8d*M35nX=h%4Iy|huw&Ut za6RBGb}9Q1T>Q5iuJ}6!CjF1t6YQt#XY3bn;ooVnSYKxU09!SN3;(1X3s?S);>K_j z;CjC-t{Q9vbGXIa>!=-$nS8zwUlb{lO3F^Sta6#WWxg`jL$#9+CO!<7c zH17epFmEYbn73NqFJB{HD_wUyb?Q5?fkY+F06II#`ak zbhVsd>28^5nQvKT*Vv-_Rk)y~{6ex-mm5K(1R?(`^EACL-t5~X7rP!j_rZ}SbM)9+i zt(BuyoYf?&Y^x%x5-XKexmB%|+Dc>9V5POX&*~YgqgJ0=ePi{l)pu4uSp8&m+3F8# z${JfU)>7;7)*;q8)>>=c`abJL){Cu|S}(JH#QJ&b?bgSwKeqm4?1N)hj9ou=)7YoR zZXWyG*cZlrIQH|gUyS`~?D?@*Y#5tSHnuhsZ9HwfZTxHkY?L;6HkCGYHdAcsZJKR# zHf=T?Hh0)OVYANW1)Fzl4%i&DIc)Qu&HFYV*c`X{*yab-92`T z>{i%4VYl9Hhutx|vv!y4t?WJQlk8LM)9f?sv+Q&1^XzZ2zteu9{UZCt_Dk#^vLCR2 z%Kmx#E%q_}gl0$++l0&9Lkwck7y+fzN z42M|`a~y7Qc+26C!)b?e$K2ImbKaIOjPRI2Sor zI8SlzaPD%R>a2Hu#d)vuA?Fj$pE`f${Dt#5=O3Lfj<*`0JAU$b&G?4#+VRcfb>n-+ z8^%u?KV$r?@pHy+9Dm$J?h@uw=rY-*+NIV-?b7Ws%VmzsEiSyvJePeg@40;D^0muZ zmvb)XU4C)7=yJ*Bcb6-!jH`ufuxp-cnd@ZND%ToUo$EB$8LqQj=eXYD%Dc{Uz2Ef# z*9Tpfx-N5l#C5srO4r@4pSVff{N0M(rn=2?o9#B&ZNA$JZZEpM?6%EqyW6X7yWC!L z+vE18+g`VQZu{NdbvxvC#Or^jwj zTTd5HH_v9zZqFXim7Z%o*Ll9-`L5@8o)^6AyaK#pykfoLyyCrbymGzryb8R^yz0Dq zy=Hkm;PtH6^IluLUh>-N^@`UHubp1Iy*~0f;q|H4XI@`;edTr9>wB+@UYERn_qyVB z)q9lp7;lBQwYQIVgm;v8jCY)OmUoVKo_B$FnRmT+qj!^ci}yC~x4hr>e#iTO_m@64 zJ`;Q*eWHD0eJ1%N_$2wH_@wz{_+ATnW9p3}K2Yo;E{oMCU-&4L{`=0eZ=X>7wd*2^@uliv> z#!u$Q`C0h+_(k}|`c3jn@Jsbe_sjIl_AB#i^y~2J^y~K1`_1vY%Wt9IBEQ9c%lsbk zTkf~gZ@}+azxVup@w@1E$?vk?AO4g-_Lum}{N4QB{XPA?{eAuY{R90Y{S*C@{ZswZ z{WJZu{mcC)`&aqb_|Nsf+y7qwh5n2DH~K&6zt#U0{~i82{rCI7>wn1qi2rf_)Bb1u z&-tGZ&<6Ab7y_mR%nXxYoWwX+toUWXuoU7!O^OTP%Hz_wOpHps8Zc}bo?o{qp9#X!iJfZwlc~1F*@+aj5 z4MsVI)bJJ%?;v%ZVQ?p zv><3{(6XRMf|duZ3)&F0Dd?%7Z9zMNb_VSZ+8gwK&<8=sgFX&A6ZB2cw?W?pj}DFs zo*Y~qTo#&hlhs8g{OsQhUbLmhZlvHgsa2r!yCh!!smwH9e!{4!th1mE5jcP z?+YIYeC=x9as*y!-+$mp2p zNzsYX$B2BKp(lbJ0IVUx>aGeL04Xk;Jeu7BQn^lrhCIJu&yh zEQwhevpQxVW^K&+m`yP+#B7OqDP~v9>oIS}?2S1U^Igo(F&ATgi@6+Y6FWZEBi1|C zFE%hXD7GxNE_Pb%?AQlmACG-Dc3bR@*j=%&$G#bRF!o67`>`LyeiVBm_EhZmvA@TS zjdP3hjSGkiiVKa4h)ak|ic5)0i_3`1iff9yEpBbxt8wqdorpUb_eI>PxHEC*;=YUf zG47X1(n;(j`J_>k#!OO7vYuo!$!?Ovq>M?^CJjtFJn2e&V7xkhVf^y=Rq=iCYvP}X zUmw3c{*Cy3@dx4$#UF`38GkzdZ2Y(J-^X8!|1JJ<{M7`MV42{Y5R?#|ke-m2P?%7X zP?k`Wpia;vG$u49bS2D5n454*0-tbS!lHx+6CO%n=#uD`7@8QDn3bqbtWVS? zwj{PCb|y|uG$c+>oRv5?kxyKf_-NwF#MOxdiH|3)OWc_FRN^y<&n0e2d@1pr#50K( zl13+aBvmBolIAC^OWK-rH0krCGfC%?zDxQs=~B|=q^rp|nMw9cu1%hw{9y7!$&Vzj zNPaB2FL_<^=H!=?cPH;jK9GDg`FQf_}&CV!v&Q}Qp#ms2DuvXu0cl9aNP$tl$- zbtzL)R;4_V@=VHeDLYg4rR+~Rm~uGfXvzmEU!Uahq#9DEr_M^9o64u&mO4N6uGD)|7p5*xU77k=YJb|Ov~g)pY2(w} z(r!yzl(sl+N!qfsZ_<8E`z`Hq+ST;h^w#wD^v?9D>ATb4P5(0ebo$x!Z_~d||0(@K z`la;C=~pvwhJA)(hI58XhFgYvhG&L%hHpkdhB6~KBR``(V^PMl8SiIY&UDL6%&g0t zoq2oaotbxM-kZ5Jb5-W*%>K+ZnQJrGWxkO4Qs%bI9hti_U&}n1`EBNpnZIOS%)Fd= zH4A4kS!1*8vRt#=vL%Wo2ZQWz}a*&zhArH;d1@Eo*+(U0L^L z-Ji8MYiZVotS7Uc&f1*yT-KJXm$J5Iy^{56)~>AAvQB1Q&34aD&(>w%pZ#3+;p`uB z#^l)NIOdGcan13`3CRh|iO7k{iOGq}$;!#iDaa|#QRS59=yUj-J96&KxjX0noW(gy zbC%_-%~_Z8LeAElS8`s>c|GUNoVRn{$@wVf>zpgOR4$z>&E;}O$W6*k$xYAA%+1bi%Dp3ZeeS;8@A7Q(V)7>EP0w4Bw=!>a-ay{t zc~9lNnD=ttw!H0mujcK_JCJuM@4dWZdB^iU&byQ^&9}%Olds6P&9~2Y%y-WB&yUWJ z&ri%x$jGJUe?fl1)PiLN+X{{sTq?9HbS<1%=vnAp7+e@r7*`ly zm{^!xm|9p=SXx+KSXo$8SXVf^a6#dHg^LOo7cMJ&v~XqNV}(x@ZY$hbxVvyq;oF7# z3lA0^F8r+Ud=XtFE#its67qkLzZ5$aCl=Qg&nG^fY>8coQ;AE-gcA3X(2~TGw33XH?2>|#;u2L!d5N~9r{vC( zyG!mXSyb|1$wMWNl&mOutfar>@sh12+e=<8*;Vpd$r~kmOWr9tP;#i`NXgNXA4{!D zBT6euXP5Ss?kW9JMXTIYzN!FKkSatKs{&harPS%gVNuohV1;-sQRFt>t%>uPuMN z{Mqss%3mzsS-!V?U-|y>cgqizA1Oas{zdtz@-yY<%FkC=R5(RZ&|prJ}xKYQ-%T4^})>@kqsripMJYD;}>{SFy3;sfx`NZ&d89 z*jKT?;@yhF6-O(MReV_Sam6PUCo8T@cAlIxxqkBe$(tr0ocvwom`eZ3@XDyl*vd(j z>6HbQ#g(ecipr|Wn##J$DU}_S-Ie;vX_Yf8XIDO4`FQ1q%1xC|S3Y0)V&&G#S1R{a z9;iH4`DNvq%5N&qSN>Faq4HAY?^W_D`zpt(@l|eB?p2;up;a+eld2M{QmV46a;ple zimOVi3{^|3UaHzv^>)?%s)JQWs@|{qufD4S5K(+sP?Y* ztxm4asV=ToRaaD3Ro7I{t6pBcu6kqjlhw~uKUe)i_3r9@)d#8%Rliq#tomg27uBb# z&s3kQK3_AwCa-2r&Eqw@YTmBdUvseLaLpGrr)tjBd{gsn&4pUJR$e>0R#7{)*0FYc zt!wSXT8~=)+R)mHT7B)D+FNVq)!ttFK<%p9zS=dlPtPFYhSC~Q~PG^ z-r9Y&`)hxyv#g7(tErn)*H^cp?!&r|>prdfyzZ;Iuj{_4J74!h-OqIw>wc@dqNdce zTB_#MqtupaYqhP~LG7d-ul7>=sMFN>>O%E2^{r~6enS0>`dRhI>aWzNr%asUKP7O= z^eOz5c~cHdIX2}(jh7}!6QWUTS~RVi#hT@sm73Qy?`RHazR~=wxlr#??_KX(pH`n= zUs&H(Z>XPE|6u)!`c?IN>JQW(tpB0@xBANsg$R_9$OWUKpL%TqGk9MK<0quj@hqRAqS7=vhS8JcuZr6UP z{k6%aN!b+Jq-ttz>Tc?7n$a}7X>QZqO-q|rHw`qcZMxdbHY=KKn|JHn^g=(Q&>{`aP zIJdaAOlJ32X^!32BLKNo+}JNpHz)QMFXGRJAwtU_4OUs3p zi!GOQSf|uQ>0)*9x8`dqw)(WjwdS{0w>Gvmx3;!+wBFjfp!J^Cg{=>? z4z#}3da(6S>*3b-T0d+3vh{T9+177cziUHn^0v`!ing(B6WfB?g4;sc!rGGBQrj}x zvfJ|73fgMg8rr(s?r2-kc2C>Fwg=jlv@L6Uv~6YE>b8Nlm)f?rZEt(EZCBgtZEv={ z-L}8&VB3+lqirYKF19P$ecLCsm$tXG_q5;H{#g6w_SZU?4vUTn9X=gl9Z4P89eEvv z9VH!Q9d#X=j>eAWj@FL$jypP5cWmo8-|=(D?;Te-?_s$IeTgmpiX^;V!0YbeB!n_%2U< zxIRjsq%Y8y>1*Jw&uMV7*&O|?`g!_0^b7P$^$+VG)vwgA*7xhz=-2A^>AyEP8qy5; zhH``2P;Z!Om}Qu2xYa-m3k?q#9yB~;c*L;Wu*UF&VZC9a;s4o|lC34%OAeG=ExA#0 lyX0QU!;&W@&r4pGyeWBC@)0sB%)|ttxwb+_(4kbxX8`aJu + + diff --git a/quizzz/quizzz.xcodeproj/xcuserdata/serh-ios.xcuserdatad/xcschemes/xcschememanagement.plist b/quizzz/quizzz.xcodeproj/xcuserdata/serh-ios.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..dc65005 --- /dev/null +++ b/quizzz/quizzz.xcodeproj/xcuserdata/serh-ios.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,14 @@ + + + + + SchemeUserState + + quizzz.xcscheme_^#shared#^_ + + orderHint + 0 + + + + diff --git a/quizzz/quizzz/Assets.xcassets/Logo.imageset/Contents.json b/quizzz/quizzz/Assets.xcassets/Logo.imageset/Contents.json new file mode 100644 index 0000000..60e086f --- /dev/null +++ b/quizzz/quizzz/Assets.xcassets/Logo.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "hola_logo_512 (1).png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "hola_logo_1024 (1).png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "hola_logo_2048 (1).png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/quizzz/quizzz/Assets.xcassets/Logo.imageset/hola_logo_1024 (1).png b/quizzz/quizzz/Assets.xcassets/Logo.imageset/hola_logo_1024 (1).png new file mode 100644 index 0000000000000000000000000000000000000000..b507c89a5c57c2b8371db972507eacede5c83fa6 GIT binary patch literal 19034 zcmeEs19K%z({^m<#5Om!?Tu}l8|OqPwsB%?wAt9UZEtLBxG}!_`5oUoHB(bF(=}av zbzN26T^+5eEQ^Xnhy(!vfhsR2r49iB#S8%f>5c&X-wk6{vE_doq`SJT1myZSbI^YW zL{~XIcL)f;_x~-(w263D2nc8hRV7X7{~rHu{2v1U-y+b+_7L?SSs*;rl{Fxsknm|) z*%?XEVVF%*+h;d6mj+9`C7=;_qo(gZzg`Y%&B-8r7GH0gwJ<6lj^beDMn0Y!g%sz; z1&U(V%y4VgnyYMNZuMRVwefdv2h5|7nU`Z?gbf8jD{f9DxEiy5kyDZ@@V9d)=q$;d>t zAgAiBN}mrYVw#B{@|QY{blelm5@{oeHrcYmEd6P`@>g2NW-{JGSJ{*AkG|4Enq6?h zcs`n@s=ee6e?be#*GywAmeYWu92^*yEzs%2ZFnBaCHvc5u;NE

+eV2kA8gg!GBL zl(?o(?v;_Zn8qreavy;~D_pve>Q7b7_>eYPBdz}E5c45ERm`on=3Oxhx5UbC_UGFN zC!~B8zZ3N7R`i}KH?*Dpd=4njbU$^!af}aNtN5_CUmy1XXP;-hsZ(a3c~m z-4CbI1yzi*x@GSO^oW&TdY(CgKq28scntbgZH-&ogD-Ja$eCC)itUVTnr-cwEE?MO z*AxLVD`6Ze?RTWP6hgg~yH?j~0W#WQT~g96XvOMB#0o(4OU?#jO|8mTa)Lw81=-D-kEFRIMQIbFF4YhV8=f}~(uq*Zjc41GzYS^wLu)6w9hcgw z7Ef?eqiMfK|M$iD(oBMKvPO+dHn+>(_1+%QT!Y;26(^BV%!RoYBl21Ey^YnzCkQ7r ztr@hVP!zO--Gsai%TXOTX*nB}p5}pHu`Tsa7*264c@n~X)IJ%1E9;-?8lVWh4~&?I zPyQHLT(fTgg#99lQVUO)I}^L%t%JgzhWV#uqACjFA5E=NV|v!~q8wLQJBd0LKEbO9 z=6zy7^hGax&3MaxUzD26X&ps$5fyq8amnIKVPyleQ#Nil!lgm?4WN%#xFZbV(WvPm zJrI3K#+CGHgcJ4LjQ>(t3}`;3>!APui#A`FUng(CWV=xLnh>_m&p(nDe~@1ghjs}c zjAY7YPKLccl2(2r&s$6Ju0E~a`dj}bo5=K>57a#1 z_II(tflX&)97kDZ$fHz>--4DyzL9nVShpg3=_nFPgX*5W1_XPB+#B-YIFsZ)1nJB; zBq%LB-Cqgo|NhxAN0AoS2fLnz#S=i08$(uB_AdEmA@r_Ns_#WwwTvkoXI|~PRgARG zv4PczuivnZx`=@2CTFNqFJ-gZuTOGU@a%3$FxI=YE!hnJgF>$;YjWXh)rb0hXN=&H z`1ikg3;qUXA)PA2@DcZJK^sX4u)h=r81Bo31FWp}yQu!;@!O(1wL?@GoxuYddR7-4 zB8zL0!+SFezh4gbII|)fg4O$64MNb&{ zWH$*Cj5D0j3%m{!nu6ljqaD8ugGG|r*TR)%y=98hD*mv2=?5ltkJx+CKfwe?qHchD zrWsGJ!a2Elh}?M8=WyWkx&#T}F=V9skRREJ%%Yf3S0$5+2);aCR>lcH&U>uX)E;$-9H3pGGB-^RN>p`oYNd)^ymsXflTYro5zBWtc%& zZos`-LZZk^zx!)GjCAMxU_Z_+GkhMoavq!t*$tE5`~v@OaUFIG*)LRAYh0h19n&PS z4)mLEI5zX%v0C)A;x4W@w0nC$P}Ty@@0n$O7LSA;teilpPbVEvf@|k4-OE{ zN|athA{`GzNq*X2{rU6i=x}<0gEZ+@tzuPs`iMD+OClA>p-Sifp1=QNLm1J*q5>f>gky>8UZTFk3{iJQH1GvNH8o%us8jcvR!XL^44kYVV z*&|KJd0%*;G*nmd4BJjCon-9;4m*%Z>+R7mJt>~Vh$(^$i2l=tz<_x0yo0HX=gaS^ z{?;g?A*M`G01P8Jz)R90885bpf~vn1c217r2!emn9(EiN8li6UhEt(4)I$dd4cR2h zO@4&9hE%4qOvADo^@GDVOW1t+vaAqwB0_bh4t!cn#e{>U(mgHYG9N*Qldmm$d8E6nMe&4Z?zQ#CDjeN0`Y_ctB{w30)uYdwl1H5)C=Zb@)5GmqutK7PR9{ zXdt#HwWW%fGIdY$w@7_5T865GFwiSja2f3>T5BVveSiYjU&B1rv#Jkh|s)92pqh_D6>{k`T`p*`C7 z)0ENqE<*XU$J*bM;n=rL+4c8si-Qk~4iAI_(;b;X{L<^`>%jB+602{!kt8y{Ne^#k zHJm-`11P++C(k$jb&{NS_Ysv-B$&8i2kXT>be{aF-WLA)2xV7`qE6TN=0epNR+?Lc z1bmhaR>f2rX8Z&@Zd;o=<<-xNT}2=zJ!^{aUjO4P^lk@daqMi7Q%?rWvSMSxUYcFQ z^AP?A-zI|OkL3Yh7hPocXXz{kp9o8mBKjP!uG@b-Ulxr2Kv2K_sv7Q|q=H-6%@nKiq0h`3T6NPH^(4%ylMLioDadnevv3s1KOA%21A1Q~ac6itYThGNz) zaYpd>rnT85B>2cWaU!bc@B!sYQi>FYc=O0UG z;hf~;OjD^sD73XCoGl`_mCLFM&UIp)=%-MwK)Oxqij{~i{HO*P4{N?NlTGIuiKM;XP4AqVtWWY&?6%>x%hcA7Xp9Ecx>Ic#x?JO0)YVrqsfpM#Rz0`z$3xOgpf$lf`>fS z_ycHy_$Pz~m)7H`gethwOIK$vrx5gpGdY^{K;o#PO`SL=jF2~#9zBfJj5Q_28}n#6 z=Se#Aqw%7m(KMp%8g@_t0Wu;!uk;%;E4BwRjjgIPi^VII3_@hghX@Hw>Sa{xbi{ND z`XhsgVlp6X@6&9G$8^DBN`Ot0JrCwO`2#WJ2c*&|y(T0bQhWeY7Fy-d*P>oP?&BcZ znyVJu8f$Web?9!oO#o5c(uQh2G!Dx*+p$#~vG=#+k&S~Us=)C6Ps#5v*PtN{mgEYC zV=)AfFmuHrjM<01NdyDZ-8S2rig+>#$XOB@vaC|F5c%+{xtu(f@eArN&*ULp`PF|$ za1VsVRXpwH?|$dOuWYVI!L8YzL)fAI!tHWoUSvGzf#NLrlx#Cqf}VuLb;j=s=LKK(M96Y`7^ApOET9#bA61mV$(i8miN93 zYF+x&I6m@(VWYRrSE^>7!=pZsdUV9+iO1kG?H+R#H1sdSZpHZue)P0J^CEFAfF@V9 z_+lR=>zd^U1CO;VY&Jo5yW(?ApqNdFtl7F723j?5Wt!hkc7_C}&hSo+cQB(Onrt7WewsQj8c`MAMX?@B*6A zyFvXVSTa9r*QR{o=nU!nu?+`BbpstboKlBTe)Hn*h_?|oH8elV4+(h#B#}<3JBXFe zz&TxDp?2g0-|nd@zhp{KKTspEvKii9lpGbES3@bei4(!i-9#X8ZNUoCr);Of@;M0h zdRkZf7<>R#O|ZY}uK+^g04%YRh+-{U;e(?gxxBy)oHw++=B-##epr{?n&XZ1V3i*S zt4tmU%;C~qnzFwgg?(He8x79m{ALpA6+E$nPf79CcU~o%d1yl^;R{6VycFrc>Q=jA zv=r9{H&vSX_bj@0fDwqiQl#AlIFh3F-;;(1olBByT8Ntvf@|&bTrZRG4)t3EV^kTC z)U=G*xzw||2c7=2^}j`<5PUlpEcG#IX}^z4;YJd-*!-M~M}s0MTsN&bfMg)vk|4xg zv;zARUp&tT4%yZ=#vQk86q34O4(3gr584lf02b~SBG{%lR&SAiA44C6F2Fm(3@}r{ z>j4YBLhq>NsPdPMm?Nfn_e^Tg9LW|6s1b)&|Y zq4TB#D)JdhaKJGt3B98!!5KB%g;5O6pnUf^oKbH`9?>g2(g351^9APx`tpQW9D2tbCd%6@a^|N1 z^N83F{O^h!ON_W!hh7l2Owd2`66{q;FaQJi$K%rwsGn_kfTh4I+$2E@5FH*eQ&GlZ zQ;k^VPdzolQAmDOpPZVqe&plSHZQ{8iAx(|C3>Gf)n?`-KoAkaHcf-j-$SiS_E3<@NQOkGNj{-LT=h4E_%0P)!;fV7qO@1JJI1-09 zeaSgZ${-u3RJzK| z(GBUc;+kr`4k8iC^28~0s$~E-!21tmAVvCX;!mh~YX;`2(krMPac4AWHAN}$Jt*l% zl6n^dfk26L1S@DTCNY!0`cr6w`4%KxHqjj*?}EwcX-Kq^uwS+FIRp4c`6!MVc9r!TnA zfr`g5EPeU<+l1q95EcSbLFWt{rVuH`xQ5V!`&$w*g)SNJ#S|QIA(iYT9;L+Ji193yJB&{wBw=x zs1&GOf_IfL!l`G4Fdnpe0kjGHES7Sgx~lvZw)BR~M|N@&dZb!n)!^T*nuNZ~P`Xi; z*n4+0??>neTEhh(PZ>i_T1{wjXkMkYVabLlt_hxm*tMRUOuU%K-x%QueH6@>-EwAT zG@|`LjMO7q=|R^~X(N0P;PR6M?H)P~%q&+hC^66}g`+B1+&1dkDTrdUdDSeYdA2Oq zrmM}a3R}FxUX+&Z+GJvkBBf_b4NHvAZ|X`>hVq3vv01l~4x9|@JcSyD4{sEb>whwi z=medrq5s9s$9{2{V+OtBwVE?a=}~uF_q%Ihb8W6ld|yjQsHN_Yh@I&YA0+PNir_leL z`L2~6qu>t1eigZdt4q!X`$OquNAFT&-qo7f+wuq5+b(Ih=_0WYPzk|;S3}gRC&|m9}dSI(t}_;E$mS z>M$-=Ed*Sh_QUZ*H5`I}@d?b){ui&CW9Fq_bt#B&A`M*Nc{MNVR-@2^g?_j6p)MA> z+~ohU_GS=E^9Q8ANWd;I&5<6DsB?w8!jR+2O=`UJw)LG0eNj2;zDh}%ZdRkad!@P=!?xfe&8ZEYjoKfB8qSn6!ZZe zk03Y7%($V=JJ{VYmne$Bo8WM*t?1WK@rtEuGF29 zjDPrr790&ujHAQ+Cl~wxfYnPqgdvAN3n+2{--c7CtdK|D6!Xmv4}*50yfe=TPc)mZ z5J>eu;Kz~N2+{dH4Jkm>J(5MD2$Y)p{N`Gc)=?H7H`1Kn1% zlyu4TwGaY|todsXH4LV-4TB8S1kkZMAMz^SJ`j20_qt~5Q}9x#IafjB8@Y6O#w7V; zk>~5qC0>Jt$Gg9bh%jq%zYx}Sks3XeC$&SPG#EJYhD$kwl2_TPRtrGAW|9p)>YQUF z-ATiD`7|zSuvE&@cNn!Kewb5IhgXiSNb>LGk|519Vh$KM+_vW+-Rz>I^xfOLREI6H zzDp*eY$}O0801X(4;di&LaX6-+$I;!T_~Uq3T;G#8srEKAyLATGZ;^N}U0nr3lEf@<(HK1!(Pz#@w07&sYy_7tb zv|YTJ&78HCSxqbc?A?k61J{!fX8z%un?n+`#M+A z822ltDt!n(E~^!5TuXJ7D5Cl$;|o@?oDxP*p&_JHy6@*(kK~rv3xC+Zp?C|Ii)yHj z3Krt<&Pw!>q92LiO$+%k$X_X+vKWzWc+?FSnM>auTee?=z3K=Q`|}VyVW7}BT1Qio z(7ozp3<~LkAZf7th|Sp=*ibJEFxwu0#$mZ^JO+mt8f@(tK3+{Ua(rpu<_-E|J-zUM zr{BUxHRBA`+kX^3B#&Y|KI&pA^ifXX%2{c7;_K|TNiSZpYhOT}`Ra)9`l*fiffY7^ ze;y^9@i6|B{10I%PHm# zZ9>9{{;xHeAj-0_E$ZQUGHH+t`5(<|-k{0i?~xvh@0BcFQoa}|uidql=szSF1H*4y zBtzpqYuDpFiuaK?*E!XZ#|cX@d(bMa027)4p%5?(ZJegW5eG{LS!shvAPH_9&zqE; zBG8Fj{;+Tc%ozfhvdSJX>U|zO_T-AGbH%Oyd%%jzXXb;@H5^ak1b;%F)|5^^LBrpa6A$Yjq|hn6+~qn9VV;|aP1cr$d{TE<&&>D18cQ|S`FJZc2Of6{ z!nMDL!WA&lMu^eOf1!lq2|{r@APnsW0}hrMEvsDz@lnQTpntI&py-;qm|BN1DP-7N zVp5n4Ao@69Bzp`vGDiddCqf0O?f@hts#R;;qb2qqRhDeVHq0Lwp3_Nv+38h_4JQg7 z;a-Q({Ht@xQ--pA4Oec?@)O96NNBt4cFj30FpXP+l_>z$sCtj-qW(%iVDbzl+$BtGh zk%c@QKutHThKn?W>&>EmAqUC`^h3;^ChC}`a&%zX^4%#LzRcX+4}ISd;TN4?hlJld z8k4v(9p{sGUkity51Gxo(>c=Nacdbvt4wv|*>Pd&I_pRZN)ya`o&L7PEkyfzWTKhn&rh3Q{Ol1C8E>ZDqdno2nix3Cw7 zs7Fq!&aL+LcLm+sk}{nam@DNW5bH9wT}R$Ecroj`+4aj1Fwj=eb>n4>&bi_Vhk5Jq zL#ivW=4Q?!IOY4roK*fYjhX#Pa@m7BVfQgH6N!9RE zefIY>{N!h8o!VR52Tf$TNrapzT`CQE;!5H6JU-vyfWIch?L%HAT2j8VML3HNoBN8) zZ4WlVYU1@-@G4eDT4Jm(brr*Gh`|lVey&p@lo~2(`D9bDO z;z8EfsWV5yK6l4SQe&ttRPXF4RI@*dhSe>ryGL!Qq(EL|G30IaQz1}K`oCw zGHWX9;hmV_a%xa>h^!MS8;60OAFqe(Gs;yAmPcYuka2tN0R^cNPABusD<>L+CI`3Hm8li z?B42k0lZrKQ$WxvQEJ!HY-5mXe^x+mwJ7&EZ8=u4qkSBtqVHc+yDqqv^(nD;g-#7G z&p?vEC|MZIB{ObT%|u*Genw0Xu!pPdpVWrAF21j~BR}CdCzLRh0pNMgE@|df_RD__ z^$$XS?@e5x(}{CM#&@_7w6#`2jj=dnST(o4rGFe|u33>wKwfn`m#9i@-0wHpPd==B z3~_r#f${`5|Z#TF>mel9(7Piy$pzR>w&b#wN{=tsRYEIb&!8*NOBRs$A z5wO>7fLSjBKYgrDJRW4ZTfuE`CRKne-3f(2aobxXaDmD&t8~Y!lc&(Zw8vNGhs~Mw zxYs}Si8}m>h9S=TRhqP&CCjxxD577BW_-~~wsN2$j#+ONw=DECQY(7rqCL?AYUKmE zQgs*8XJw%$q~&h|yH)oyD(qQ{>PD8Zhm=onv)n8p--aJ^M#o9uPabUu|9hQ!+z(rF zUvs7u2^u$=aFh^_wu1Uo)1RN8uf3I?w0};y(p=h?awM8-OHB8C`-f&8qz1b2zFKyF z5{R!~Gt1N@;Km$_o>g(O(AVWfNBM>s40u~8P$1CT%OlUd7=Zv@bp!XmIS&!s3VJkq ztO=p~khJubsk;aooed@_HR3xMw)NSEj%QZv=0(!eXz%Ie$9$(u5*d)_iqv)9Bf%j? z)f~!h(l2%;)jXB>AL_~xPy0geCW5G6ZO$h8zoFPG2LxWLF%uDWs#5Cok#RtaYU$+n zX|0|3gNpUKHouZrx=nQlf|e3@shsy!jtZmn`Znhb_278UzYp^{{HnPiyg9}@b@eOe zreyifX0J0Y#~k{_Q$9m|(nm)Nk&$%jHl{wTLxCFa2>;JQXqvX8__TGwQ<%(x?i#DA zw7oebecuF;&Nn3Z0lYqhWHHH)^=1@Pytg*l43F6FGE3R`l*^Yw#_#YUXke@EP0aDR z+wJ12GcK4srA7+lP3y8zDYFKjpjX{EWg+gdF88n`-G7yj1BX!hw#e4N{%CKf^DYDM zz299p1P_82#(=^oz2`%e?-0+2g}ttOVOAkwdcbA zdp>!0TI?R)QPWEb&7L;T;&Wf1M*9>gdoqF+p~RoXI~w@9SxH8L{VYV`h`k7W%?>vi z>P0K=wDxFz^XTCH!IQDop6OWQ7C>s3s%+KT^K2I5BD%9s-AtN=G~(8AeRL->C8MfE?V)&z)&|O`yMul6I^O77X zdsl10+^yo+k}(>W|17%4%9CG9hdFg-*ok{%=%mOn5q`11TqR?(%=C?}RiDJwTMn}2n?iS_*Y zlubx7UeNQ4a+$;X)+Xx3Q8v(%GH%t z$FsG|F1B=0^FX0XuBLT&z$`DkqMJ*)Md&-JVD?8&i*5>L_7yqadb~FRy<5iS7#|oX z*_*B5A;vK~yq8?*6LSlGkZTL~1tX4V2RyU;g9{F}4J_(UXYT774t93v%GXOZX3Z@) z&r>o;%a0Y?qKAWq;3{fX`-CK2NRB67=R$1>owo5y^IS(GHW8jH$5jTN-AaQH$+GGQ z?~?;izndAcn|nAm;bf=(Lc4=`xi;RL{S%o;AJ)!9>hc{7@{Q{LLJ(v-DXv(*G9k$E z&O?#yiIHpjDam!YmLD=^vg>Iq=XQj&Pc0}a&HIr7my42FFqZpSuC2=)&wg!A2$kcE z^~0f9*%V=3RCmM1!2mNb+?#64a|5$to@5P=bvPM*0?%34YMcDpw2`JU3CkiZ``{z_ z-MLzN&|9RMgA%TCMF?RZJX2|s+pFrQ^+F8caz z_P~&jO&Mm))E92nJVjW7XZ)=JVHQ=pky-{JHB3%sobef8{P5D3-gg zJV*I$Via$2T88709aUqR+ba6V-?(ZRFZL30-qbDc`{ezyW`RT9+oE8RK*()m(3Q7!3|!T+AcVza!XOl)nBsrG5|AlKc$I8LgfQQ{^w)4 zF*^?GsGem+|290zp3|4VU{{K9R7DotbtkNo6>r5AwbiSTO#gG($<&-M%GKRAGB`0V zMwlROj+K2qDB@OP_78==K6#U(4T2*)S1Xw9(u(GH)A8(FTB*IIGQA4#Arybl2|Lve z%wt?;9grp*F8J`^+ZeEMw^_6qxRBPL|=8|w&}TK_@v zkz=%N@waibHu_wJ-?Bv}rD6jA^y5H0fYEaW@rtY_G-L~m?O8S?pt=5I3m`+<2ilt|)nu5F zEio5VR#7$4pz8Xa)$AjUXUK#J8q{rihEWDL%w^k4n|vE$Y*W3BnVq>NcVsj;+yHqt z3Gh*R?sG;7+Ha*Ly`vzBLhOF3xIITH1sq%>1cu^`2hRkXZ`u23ZZ)OtE|N=ZDE2Z~ zH+z|WWbdJb9K$JKEwCnKSE~a$YMZ~|q)~alA~HwNYNf^u#O5RPn3Sl76o0VsVGm?`~;j|N5SOR1@;OqCV= zK`kh2D!c?N0C9_DJkMyK`8dCoTpJ_;To1MNBv}WA=<`@xUo{~t(@=3^o3OD?cjP%$ zmiKyuH=3T?ytwPrNMu6QNl%D{bdV8g_br2NR*~`YE7Bc96-)u{!1owQ2prAqEj&g?g3n)Rb=gC zO{)&NBN}={3a=Xud@bhMeO7fqOBUQSm9ddK;q+YcI8>&DEL=`}*q@GBYYBpDWt5w* z$`rgN+c_@vasEkD)nXw5k<64Bv~Lk|;kv2eA+0iExQcM7ov0FKuI1*&OhmzYs$X{M z^2P5Y$zg|^7_Eae86jUKH?B#z9Kdgsu-#3ycR;R73_zWL_I(Dkm&XR5tDYRIe9H#LqT zANn_JPhvX6F`Er^*Ln{{6XqE?m#jtqhc>0L2(bYk?Kwq^mq4n|gwmTogMl(Xu%q*y z{Z;LHZ!KXvj(f{)-^vDFYY{!}`_SVA z8jvgzm#=RPwpf~6FU?sl(;1?KlgWNxq=gJDF0>a;210!K)sL5)u*7+`%Zm9S;?mDard+f~j{r4wyj@S2!`Q87T1tBBoLD-t|piSO=?cyq@ zn(tp3YgVv07$}vY!zl`Cy2!`{{Vi_Rb1JoFFCAHW?8NE3*2x`C{1*ce=2# z!^$-t7s8sgiA{6b-Aj&xX8Z<-nPES7&)LK4C}(hIg_G{t*4LZX-<%wsi>+DQPp@wn zc5)P=f4LwoSf6lF^#@6=g2Naug1#}dXI+Cz2 zrbQj{m}ARq7p8j<&bw;Cz#)03Ah(6P(jIm1DKE`z=_ir+1pGM^-^NarC3>Z&qAGS4 z9en+MZ~|$s(tkMo10RkDFB;+7RPZt?$#=7iKeXD(%DbL59n83kqbU7KO}i$qqCVDL z+??}tOfrs|$1ynDl;n0T{bNurV1_@kpn`sLc@|i4r+?Q{9<>fA$XJnCraQk2#}sK{ zqU@i{`m|60Ozb%_LAqw#TT0xIEr%HD6zn9YCj{LYv5dL_4(&+v>*GzuYOa||QbV6U z!5ByX)gJnnDXhlM5Qqm{j4MBj&MD&}MQ4~~4tZ@B7`!p(!J2v_ZoJY}l7(FM{bg>{ z0C>@>vp2Bn14P#nIq5&MszJaq$hHYtj*y4y4iUoF)S?{iCTM3SBc0X6Bc93!+rJ zMoFGPRB`czrUc%{`x5efj5~U(D)zNK!Ns?LzjiFQ9EpgZa zr4#$od{o;HB(aStG5nTdFYg|+6n(d>yr`|%M{4MZkN6U1CI~erv7Mw8M^7Vx#|*h5 zztgO2Lj>IyQy0~n3>7C)3^r?^==1gjI!SoEL&|H|G$rgipY51rso&1vjP&FXk;_ut zfu7+fr0|qlI7y;l=+NOLnx_TOrwMRTO_8&r_K{6{vd*8zgOM_>pUE%_++{6@>=4R+ z!ppgfV5vt8Lhi^~h)l)3Ca{gl2ZUdH=Y+6IgS}k}8UAglr>95>K_^%bVUAh*tC=jp z+Z%x1)P9MXjmgsxzA$`nSS4D7T)|q9ECDR%_Mw|vl;VgTV>&) z8qcXK5Q1>QJjwY1^YEg?Jc|XwGUY@LRZwBq8MV5MAhvz&9YF$ zxBBcgsz-j1zsP{apJyx?n4%9w5+`KWg!bMRL5IA{f2v9Q!>j!Q%=&CeTFfX35On0G zP)eu{6)!FQs&N0^h4B)ylm)$4tvn~H@dU#yxi2oVsZ+C=L1>17QRv2u|9uS{iqG%k zVC;vuH2JlTedA^2dNe@@H)I!++xf*uogzas+gPqgvt?G&_u)pz5EDd@Vu?^n&vh!n z47um(S8Yk%H)mW&6NC25o<&Td0P0*T5GW#e4hvr^<9hF7#r3ndfjgXO_L|K#?J}qo z&Y2y;ATXCnnp)YvIbSSWr4|Xb?~Z62qxyk955Lk4Xz&9|t0&6cC`wD$bI5uYk+*^? zECnz!8DXh@{mP4oI#)aL>3j?~=#hJfL*MrIzVs#`z2u9a5F@5JHze;~HwL>llu2mC z)w1^i`ZZ-}lh`J8-RY4Q=m}@dFcMd5BQKol#Zz4ATM``s`6-=$-pH&n<%yv51 zy^Os(c7HrIYa)##O0?KWD*t?v=eLesoBP3+@<^q3S!!ZqraC~O9$5=$z?TLMs?_MJ zU<%E^TfN1(sXd&U)X$AKC(Z5{&JM0Z#A>1~XQtE=LkDS0xQKCqQHqs$|sO#S=kU+zb@0>2KrIeT4GDiWP!7o}6MI`Zzh`4^= z-k=SewW6H0HO0&yU$J2Oh*-wKwBf4Oi{?0~d*I3?Vst|fP75O_jzFyG#4FK*u}Js! zDP)NJ4d4uaj2G|DYpc=_liYSfMr>l{pqQgi9xDnalM1wlb7r=G*W{F*)bnbV8}WZm z!|w1~rM_FkK~~bOlCN{=T-!=|ByZ7sla95OdNcr41F|M-2lx@P36np*zuXz|u})!F z{L0!bpKIh=3X_>p{=yf^(s!+Yuu~v?i#^-#H7;(46dBf1vJ3wF_j?;v5NztEgeU|@ z+PC1|x^m(Tlf*kg?MZtkUZkYutN+QUygh8xHDcxCBFU4w$zODlj2{A-ooznS&J0;V znea~iN8I*DRgX>2iO>ynhQ^Vg0eMd{o*Iu|E#}u%=iGum*}))n2+tEY^nun(5Wvoq zF;ax5GSroZTAdTb=FGV_zX?c4d?e-j4h@Vg)MEU~mxz%v1V|E%272}O_BP3&m6%IR*=b42?{G)Jqy30xZghI~utDD2i+oS!VwL>c&0 zH7tDcP5dfmUqGRG9l8p<{CnYL43k5BhG0(l1VCA$#w4m8juM7m43^^& zE>XXkH){gyzNGgc47vyKMd`XmX?k)15Wt)9`WcgK# z8q-9$Q==V&ql99J+im4bOet)jJ4Wih|5>Fc2vKFZao|+8^rx?94C2B{cC;@OvO0KF zjco2s9mC#!2%r|K(NxUVl_GH4Sf|du2>3JG@wSrOQdLNk#&TnI`snA4Wif9z^OM^p z2HohPh6;cEDP+Bk0i$>*|II2})b=XjQeUqSa2%mU73O(=VB`2&pQ6W3_5;NhBJ1 z!`}QYnYc0qN)5uUkKVERIXS??4(LZ3mM34Vn#*5egw+c9ww!Y+S_81qj?wHYR9m z$&*FOZpn(;5{d8Cd=upx(>txwZuoFHjq`F*tLq4c*;$%8u|kI5d!w}317B%Yv6 zcJcdH4EZG9>!i16(l^N`} zgTG23cifHXPkYRK7h0({v_m5^C2Cmz))iNvn`v_;hozEx(cSjz;O5Kkb~|wuZ~m`+ zcK~%QK}p-17ICj0kW_CGzT$_?UbXA5zh!4UA&Z$ecvT7$ph<^YZFBsh;h*P-5gIkq z^X;^1cGssw6QM@NXuQ8_Xm!+RETHY*(fi~ZCVy-(Dxqx1BqU~xJz`8aLLnE_%IeQF z@b#JtvR_T37Ueg|JLV(Obj!?1m2uO##g&K0b2x@Y-&Fm>PfToP%RDX8VClFlTNal_1&?8QuFNzB1{>^zf0++i7m~%b-G?H09=II)4J1GE6&W+mv2F&R@D{ z64w&@lBTVBtjuDN(h~*g!ip}LtYK5g!>97RZ3fSMliG0Cce^hb5fd{O%4e}LRwil; z@^Q4J)L$^C92pxvC+G~*_ovh=lD15`utqx|Q5g~Mk)vA5@E^qFwsJUSna2g(> z2Z0knWAYXv`~!k_NypWO+1N2uy{s|qnPl(K1N#R)t!?>^N!SMs1^L}qsFR~u*T`TB zTz0(0nWu^sDU~C#TD%p=yf}SCCu$CAp&>EF1#_kBRNoLe7lKffs$k^kG^u9RK5Gou z{UuDM+vP&Lk_YxBN9R@Z#$wmX!Y_dR>M{glel9xempA1sQfhMjaTohRtI}#ew0C$& z3w%)g)<|T81U4Mv%oPPrK@OhUHGX*PtZh7*((CPMPZ%L6PJf%n^hUUv3+Sr#-c2%F zoDLVj9uK}3kkZQBxT;X~=>tFhd#c2yPTRZTx7LNX)8{Fqf=R1IJ&8Bxhy&~)qenrW zHtUp-eH0`8X8_lB`JizvA2ri5t0gFZeG}P#si=)18YHg9OBFjGzlL6{hvFv6ijbAT zNAZ2b+}&UJ6D$%#o_R>?b>i(7|BA0f#}BrlY>(mMwG$BZd25o{)v`N=f*>2!-U26) zB4W!_^NLBlwqq7;{P<<)W)*Vk1A%tZZ60Q83%?}#`HT-h)x1e!KOy)SX52!6ogOUF zT~rTcaegThEYuep>2Mz=KlRCMD>riZ@8$)M^!ORKTLe|B4n9~l=Id32*v6~|Saa}I zsK}>L>@*IW%1bm8jxQPB-~2~Y>geAfROW!gCVUJ6mxfdsQll?EK(aoi`PxykqX-CG zRcx8r-IyhLzr^aKZhcyRsZ;vlDffEy^&CvwR7#hAU0!g;74ALjnH*}G4E;fG%Ia)kDC;$&vr83~9zUZv zL+c(~F1CwMU_{@E&K7KdAgwN-NX~=u*!>^_Yn#!n7N4>6h@TVX_t>5PEb{zx$BbPT zk=Wj9DY;qwYMDBkC$pS^uobQ8YVc*bpYSpzA-oG*m{-@by)rbnXr2g%yN3mK?A&i@ zP9nEz*ZC~+&c#@5nhP#OZxFYk~FUV=#kh}7g%ZT$D!s$Mb^TK z@pdMu9+IFr^NDW;)b4K^wGp+}W3R8S86X(&bF0*J^}Ie7h!>$4G{BT_<6YskB9XMc zB|x%O-0dvf+fJGA=GIr&VvIY42f4Q|*>!^%G88Gu0q7JILd&8cUHTV^(x(VGTKV5_ z(O(ypd*7pxG2~y&C$dnrA+^ey(QS+u(rpAGGrk{rRRyZyXnudr7jFn?wu$bkv>QhK zxH$i+tuNvO0^(n6U6udwh)qkQ%-?16fI9XTCNv)7hic4^Urj))bampoc3NY*#S=06_r}yhq_2DN)J;y^hq}&leFgl+R*>r^4Jae z8dtCI;MWS({qk+lnIDl%MgnLiwaQ%SHVkANYONmLyhTu|<)!e5oKRzMhYD-+nz4t; zy{2{@v0!e^k(I(cT_Yo1J%cyjt@&w5xoI z6NeApzTJP?nQixnwoPZ`S{bT&IME6cUW^|qYE({>kKb%*v|bc3g(`mRXZ3!W6!0^W zz30#T?aQd*Ave^kdOJ6x0;&c z{4W;k$J~6%AO1MJ(5x4ycfQME84oL)AnMimnyw_jNRhbwWRt95lUf`hdHjC=eaBL3 z#j%)$OYTlZ4`C|Xd|V6P_-C1gviDgK7WK!o52Ri0?-}2*+bnO7v@J#*l(@J3$}*F^ zvWENe8CeTTr|5cJJ8c~QzUZSzYnE*3eEC$K*v~8FGssZNTr|3*B%PD?v)T666b}x?Eoceu6!+rp?(P%|#ie+$;%=q57bxyG@BMWC!#Nqr z$Vf8xlDX$&Ypq19tIA`dk)grBz+fsW$Y{dAAb?E6O{yh{J=tqkB*4SDq|5^*!pv3X?byK0Fv!*EY66Bf`F~)Q+<5<{QCC( zbaU{l+(RD6yy)M{)jSUYr%l8DVT+3ZGN|&@7Jz{z99g1CL85c{=tu8-R;t7vw*3H3 zK3VZ*=Dpa9=HO0A%B15WC*Ap*_$lXGTTgFyb6S8InZAhSkM;BW4l1dxU3b0IvGH`n zygSqHo

q>eDqFCVjt&|5!zBO$^FPS8Sp&J3~8$B!j?;#z3BAVGV}{ON63;j)0d$bR72E?|YGC z6>eHhv0k+%T=6{<O7ip9H_4FYDVoUI@(wER%t#=zN88A+32uT=sX1+kbZuGz$}y5Or+)0I~0ufgB^J z!ds*1&y%7)*ZYB|=WvMVkB_kyhEN3JcSHgtEPg;q@QiqOZ<#g(<#i^dbFow7y(@#?7HSD;+n=x*Q3m)>l3Px@v-8^iO~+TwA$y$821L=Ihz~ts z{u4|KGFD_@TaMJH8*Rct=nrnu*zF!Q_K8_2v;D3TLa3y`{RK0S__{I2D4<7++G0^#A zQ9T*jO}8OY697SqA-2WG%kpg;|Kr_}WCkPu03L42+wO@(7`K4gG=nU1^u=hZ;bY)dQC6hIC=l;>%0bn;4KYE>?EC9{lkbn zb>P3_zG?A>4>p%cDTHRCwc1fC-3Ub7%@ke*kHTwvHZuB$3$XYB-4U47d}e!9D>Pkc zVPZnu-RH!c%9!MoQs?GF=nsjHbNXIMZa>J@bEm#71d(JrZakoF_fJzxX?}SaQv9rU zNiT-E)4MVkfM2;*KdSk6?00kd233ElZnc+zT+aq1J%nAw)`%nR6Z#cK?b|}h$$1Q5 zy^=rn%dHoU2?xO8Nqy!<+)i#60K2d+^%6S$OWzJ2pcb8zUjWzc6#pj^a+^ov-WS#@ z(UvSB%rT_pKxlW#PsOCRIwf{ow}PDDY-oK`nlH)Ff1u`AGFw0TFC?76 z%Ed6tIYTz~+@GBG%TQADUJqXM1F=cTIbB-VYghS?`Zv0vZ^5#hhErQ-;Lo!q_M((L zVeS7)Z6-ZsGtBiY%k7BTWE85N%S$Nd8r**>Gy$p$g2vdCoeE3;ov5#=I7Q)nbjOTY z6PI_GYWb?Ynl=te|6KWl@2`HDV3U?e$uq4tF=(39@JYfWMVO1Xl9<>M1pEG(5NDLAzmZ#o% zjWEtQDU>&6$%@{lbt~ZWBp;=cgHQi;M*P;6|3S&;!7p0COooBOBBxwj^4hSyy*DWg^TBy@61Gj6axj$(%ygy#79mxpbR z+sw$~=hzuU!|MtSGN>@xY89%B7a~1YXtB&^D`Yfl#1K<_0YbT@i^%J z=<~8+{oLQX$RGAwi~ahn%-J_(!tCqN!9+_;pji1fk*0x~r3}^~PG_Cbhd=M{y(>1> zqzUH^zO{sY=DNA?F`xX0HNr~7Z_7uiVZ{uX zN9aMzqtL3FrPtZ^b4C13*nuo+xI-{q&YxMyoxYVrL3{oHI%nE<9xsR~PG!37^Yt2O zGIgnZ7CrsRbFpZBDHn6P5$XTg4gZ5X1dC|@eXl_A>SZCch2~DY%!~JJIhIhhc3?>% z2bARhS&LraU4#0np%Q^ZO&%y#jYz~pbeI$Cc;!EJf4Mc{LdxcsLGV0@fi6s3A1U=1 zDR5XdE!;v=F@fziIX84Y-9`25+Cic{v5c#84%O1kfmnR8gz6W< zH0O>vZ3b(T+Qa*6A;32Ed8d$*7bEAE+;~eG0)Zyt64?7%=E7g!Q=a7pKSSMSJ?<`9 zA55-x)m+g^;WtJX7XL#u@tf9%P7y-Eax^;ZU99iBlO_gQ=iijYkg9yXohgOU69RI|Gu=jQwR z4HH}%Rqha-wD;C=!DMt9V6m#qqZGCc!7>b`%-E2B-~AP_Xfi?@Eo#lw0r;En{%Iqy zUHq}rAH46!4b-ZT0V;i^2U2GV-dXN9QH$#(QEoZVwaRIv+JuDW4g%HsT|V^h`Y{J) zM%y4V7M}H5lsj68I~*TM;ct&_?RN~=9kk&P3yyU(Xe@X6(R)53{4G#j%y%z~F&2;1 zt0wHSAI`vMO*&%L=;C@0<{WwxkujV4y_Vb+~kC;9{b0T{X*A;^(U}Tdaz;m8f zV1!xj#=C)-c*&QRIYT($K75IHAm6lr!<0bcOJm{p#73;#C~>KA{n(GVlM&OFwQano z<>1FCOrfIQ+gj>;ekY7+m8x_8N<~WDcfG2KrXtSt+gyy|Lu78Y&u2^5nq+FGw_n3u zL~P}_KH6`PymwwQ?N!Z=KCbS3CZf>ra43H$%EgCkNQRxc7AB_21i|bt92c zqB!Gay;qDsEsz>C3d%ZV7ZF(XJ>$cbHuccj;7}s$WdG$X0uVmZ!~Y$w-_uhSxBe!+ zIGT<6f$|r>@*^h$^;g2RE$QOV$GmtP9(rN;)Y6F_0Z0JfKfI(<8VJ>l1E2@2x-eaL zdt7TBl&kfR#n?irMiZi7Pk{1u(IWO5FPTWK*^@sDx_X5j%nQi?OXKg};tCI2pp`Xq zf_fE_t9}Tx@G$}HuTOm*Bp&DYJ;-kqy6;{LN=GazYp4hPzKq0cBoK}~J)DPM90}rP zijJBvZptg=n~lR_dQt_$iPSM($@B0D+yu0YMR*&pmQ$(Wz@^VK{9Rk{Y?dy{4%y5_ z=esuJ`!-Sfrt}W89qy$9=)hKwQ5FR37+CVbT`BzL4o^3u@2JM|YTNDT zvR+Ioj^F<)sMc$bj)za2PuzK}vay)E7VJ5J9iz&)+ijW6za{{O0il3{<&f$QCn>YJcwMA!cO;6UYoDcw$Bn!g6$AGXi z_fo(}Kl5$ABG0K4(t0}zQ|`4ZAI%%}duY`u0A)!V7pZR!L(x{@TIe}Nf7-84ZrD-H z#5b6m5%{rcc=y5QV=p6)NKx4L8^p0uQtAlf=@p{lJZhp&_z48fvp1unL>K? zRHI?LhHYRtjM5P`WA^Pz$z(dU+!$+PN8s~3fpuHREfoTxpd8CMcH}uwgr_s%ko{Ra zOuSKD$fo8OW&In3Sw4&cEqWH1yma5g*e-N85GUT<%U>&TivT73AG}C9JMTHF z7u_G+w0~omW&Q=sdjOWmlxJ5j6rB2CpCu_-6cr`b=(NX8ghD-c7R(42`jsP{DqD4f zN_EiIJB=MC>wK2dUR?alzOp<1+J#KsyX*^gh%gN#v^r%t{!dbGf=L22|0Y4peboNF$h)YYR*LEu`j^uZf`pBOrhzG~V%!?U%->uxxuc_vGw?@D z?sEEHvu@>*+oX-F9p(ZQgwPrB2~LrCrl%CV9Z+SRG2_+I_ruC02ogxItI*u{hzKg0 z6x)K0eJL%!5Tr@HQWwV9Vtw=r3BGML2Ka}E?wKI$1@Db0iNw5bxm3EM4QO#J@{L~@! zkFe42MTWjAJ~6*LQP1$S`E|6uPK!DRz0upsAg;;$WGtg(bJ6z4S4w3%qro94J*r!$ zF?qm>0I62DKg!k0?L&jb6T>K9?g;bg7jw~NGlTCNd2g!`= z;rzfe+>}apY=B4-Ru_f1jEZEu4>gSJ>l_9drnB}AR~u{>aPtq4r02Xjb`IziJR;2E zmCKx3(~=+*86x;yVR@veF}{}`qUlj*G7znnCo+l|nfkX*r0>Z+(zQ*esoE7VKn8P* z>C+GMF+VO^9bFM3bjLE2@Jy`xPJal=J?et(3?!%9$ITgp#kR9PS>tIzEZnf*$yfc! z;6Pj>W#bJpuGH%@Jv6{b=;7;MrEKKv!uC|(A=1nwBpNTRwhU%`VEi4OhLE{gQ|EL; zxzl}W?7NYQ5ljAO9u4uBAg=6*%VGbyj}+~9b^B_V0_w^Q8B3|4;r_GpCalFV7Hh*H zV_YP29>t(o-n|d#mthe>$iGRXVNY@56~bUy?V94g?K8Q=_1Q|n2gOt)aY1vWG^*WVs1Fq?p3Sc~wp1!lH4B3^9a2J!2 z62T7~+{@=5^X7ar64q^~zAmi=vy;J^eSIOPq4ngSyb8o`g&lTIu&#Wwf)7cZ>=#_X z8nyf_nAesxluiSdy2jTGk=|20&tG1`sMgZ`sMyqoG{ghLVbq@U^}bRj&ZGX8z zBhj-gd3hXct|-*+-8ftR8T@g&bD~2vvDt}{l<2$pYGjOgx@u@3QR_ciJk^K!T!G|m zoNvWZUm=hacJkp6)9C>Da6rY#A%B`~nmmy%B@(ztFF17?l4%hT7a8cWu-DR_{j`#m zgc#>6l#-1RyLuHS%~$TDuf0{Fe?*tm(md@1HO?=6!N9ppyVS|(MttG?XGrY5MtI&B zuF&|diC$o?)t8mf8%tsyfLv%lWWE1YXJk_dO@C^koD3nA-oyz0EQUf56xt4PmMzQu zxGg|RR0k^rAsixg;{(h4(>K?cGSQz0h|>NPV9 zD91BIDWOcZtf2%E`-p{GE+~@#UXrB`Hk#Qv!N6%#`#&!sXIXrO7_rq56Dh{~e@hSp z0)=p_$Dn<-)*L1~GK|9Ir(hL`NqXF!M3l%!;a6`zEzRQ(fw6XeKUoQOmk7r zS94km*+{94NIOK|x32@-hsO?3XUGGvim-0Cd%H7O%JQLg882EY8*>6Ua1Uv|6t%Wz z&A=|)q`qW!;Ib8MkGp>HQgPuE2xR6qz7t#9umd{pD96L)ngM+sTjXoeZK}ESk}zVk zAy(7ytw}})2~7I%2VVGTGAmof&&`la(fEu{_73U!F!SUGfbtqeUi`og79K!=n%zI& zYkOtU-emPg6Cu77$gEKutM{67c{eij5*G003=}TD<`P2WQ{Bw5BwuB&rdcO`@e>rDY_ldx}&g{#0QgGJ!3awIC-Y+U@I}vBhs0HN4iUZ4kcD zh$TB!+h3^|?j*Pk8#Pq60fZ~jOO{tAq#lbqQiRn92F=T*Zk%te7zk50lXxs;V#L~R zS9Nii7~AKmj)rw2jsK8~7#0E*Mf&(>dt%QEEc!)A z#?=wBs#{a|+X=Y;Fq+FWC{ucu+dyh&MfOVqe_;P*PdN7}>BkIr#tG}dEfN?z}-5vHG~3FNn8Jz15W-0pVbLb>(%BaTpRL-J=gFcmZYA zo3E@p>W8;030h?pjs~^nGumv9-^UB+jQrtkwZuy>g1|VDlW=||^BR;CpIq|Xbd2S( zQV97ten=Ppc6_jyM1|SD^Rh`BTJc_!k)y@P7~!a{kQOTyn(D|%+m&QFNBxecIp8y{ zrfRnft=Mrne@RE|11w=Mr2DjSX4<9;>IdzjbA!N-^Qm`Xir^2s+qF&p`}~Efz$e_k zMj6LSj35ou4+i6moM;t`nte?4N`%CR8NW zWRPgV+)3hXnM+2iX<;DBvfQ!8ETZX;lELa3%l2d;4+K<$Kz?*2*fs%sy+l7aK+6?!{SfQV@W_B?v_dMEfp4f&ZjT9mQ2xD(i6h_7O1 z%?8rI9(oRf9oa;Xp5Oo zoCG*%t@C5ynf?v(Qz{XK#m<{{LW9x=(_7Os&qiI@{z_1!$X0-qS2fvs-X+0}+G&w= zS9X$*1P{QgT5^g6#aLYw&>h4HS?9}$nKDcXk%%i211p8yT?~f2t*$Mu;8Ul;5RQI1GL0uQ#OMm#)pqrNbpqYMtR?UVapK53ckGq zhQ9?HdmNi@LP$he>e)6cF@qgJoQ>LBc6tQt)1tDOL&O;5H)mu$wMF$wMXN|A z33-sHmh+caC+=2lZ?8D?OYif@GZNgOvcsD&;8W1z)Y6H3{1E+iE0i>lHX%wgXodn! z+;hhM|qZLz)eQ21e=xdFu7l`7d|=l)EjGD z9+&#U((dsxd$2q)X;LLXCVg&Ln=r`XtY9ZzIiWg)13ucCma{D`jWOLYasW3AejhpjRKE z`%ANR^h*dDjrzPe@#fy>zNvb^4)D;h+*&a~BbQ9~E0XuR#|eSbAh4C*cC+DRj)@1Z zv1scm9xEn94JW6?{jI8d@Mg>&pEb7p5*iX5D8I>9s*@e84*2LPl&p7UV8r4c@uC_f zmO3BPmE}iy6D-htQdWx?jvJchh{2f1cI;#b2YvD)n6x#7#w1u%W~x%!sB(980{;-l zs%!0HKIuYEJGyYx>>Rx7KdGj+y;6fP0*TNh5oXA)%F4ALt7py&T%MP?qu84V5j`rRxvho-4p5+OZ-XO%As{S7A$#sk)sF{IA9*Xq zrUs!tDV-@KnB6*k(bou7tXqf+%Rh_7Q0_$*?-W%6L|dJ%dYvxtDBA?*O9IJC4UVB` zzTfu+*Ve=0bMopj3i@XquKTnZcpIs`WS99|4j=eHn6T& zfe?jhD3C(aJaaJe=zFY?oj-ei*>m%0|34Rw<8;meM zcmLH@cXe;_g+is=Pbl{9I99n^^Ok64IebgmlA-Du;&^bJky0={(oD2R-`S^=zbIohWQqrXZ%x*`>Lrc*!sbVsJJc=?I z%=c7!5|#pX5jH#THqB2s+D zaSHhhBYXF+7|^*1dQ}c~jdWHt*^FcGM;ZA>HC8p9+>aIzw=;yvJ{Pcd`=Bbv5!K5# zH~HrG3Gvn?mse|L(!WuBGqit#b8`OJ8?Px&(q)HNy1HcRRz?*uGJaR^Rog~dEfh0L zt#Zkiju9OHJ9PDc+T$dNxFLwNC)()(rcB(cT(rb)e2J1>ADm&}J1jf?AqAkNt^6ccI2eQY@sSc` znj3e))Xq~sp^}2ILNHe@`BUC_XsHg9(CS1rnZ-Oa?%?^_g->qecmSLuUOYJ=52dP; z=FvlXfYTRn`e{m9E9%t`R9XBCizP+AVstiw%-H-zj&;c@B&*y|q~itA424l+_4wC8 zo|wa2>?J=O0+p;{twBf@Sj;<3RH@+r76?!7RpM}M`r0(95HDMxFxahv!tRcp0Rb#4 zmTWblPu3*&&e?L4LBoGF>$rf#4A=U`QL&q#?h`vZDbY3U%@bY>lly6DA~>205pCE~ zIPq(bW0(QxqxPD%qQo_cN6qmNP5yA&iTXOtHUCA>!=0jg%gYit}^x$9t|r zu{LVm)rDWHgbq{=r_rABpEgxcUd!&^IZRDnxH-VaU;;&vg6* zbp}@=h-}Iw1`J0~Q}n|g71&y~y}?LMX%v42Z|w5s?{WL12kG-GwsAtofE9ZT`}?*o z-a~87O5Y7m(32|Ok(;*GT1(r~xv*|N{G$b%=3GW%W|_nH2{5~qW%R~@{cBn?S4fGX zt*60%g4O+orfWVcj}>}r8=pt-6UYy3HDShsY6X9bXh}`c59Y`V<3w)LoJpqr6$zuN zbw(abS_n23IQNmQ$z5#ck=``lJ#YQYu%-|i1&E>-PW5HR!4p{41x|G}YLYrb0stFA zOhQ+&ndl_(y7JstY*GwgQ`U6{C4k55FD+sJCUJKARaoUKGqq&htkWwl827icdv|od zMsYu>xQ2b0ae-VM01<23f@1hgC4s;8$c0Br4Lu)D@J}72_+^f>epQ%$L*dM?%baxk zQT_;a#TLTTJOOkbzuQcQf9WCHW>lPBIl(F|mE5Kt5j&Tb&BQtE4dq}TWW$e(_GqYN zqVto#V&Z+Bb^K3tOXQoX;}lCOd?O!WjE2w4S_B!IlIm#ZRlVX?Dd%i8J;zY~~#m zx#p-{$m2%~25Mz2K&~S>gtjH?tcr^WrO`$iuL=W}WqK>g?-EwW0?OGw=}5@A2`QQ~ z8jE`8g=)fG#fYkY{)4EJjYdCnnLAz9PS0tqOoo9}?_{0*ayvS^&w-t+M{}}@ zw9+{5Vw&d1#nbyjxbG)L+naCrjN!jf^wAGw)lz;eICoPO=OndBAp*6r zHWxs2BXEQkln*iGJIL z&*8NMf{uucsJ#q{1?emRd|(I%@YWlz7&U_klaP#Gui?qY6K*r{xxQSL7JtCE6kj^S z^<-{r9KY*aFZpA*5w>z9!{(39n&k=3CAs_E+cs8K3m~Yp5FD`K*I5P=c2KqYDWkVX zDIZub-`+@FtL3yAfu^4j@(gKK?R9~H66)Unm5WD&Ig z+KHJS+m7{jL@M;)^oE6w5!Z=2XT=t2a$h&%u5ZwLK0K2eVtC3&moozd!E&3f|8{RyJsr~hk+?<~Id{Gi z2lC>OYk00&_V@6{=?de=ACFs9*$-7uoVH`QUNCM*;JgyZ!Oee0+f0~LSXurur&g}w z%NHE2udWsa@TyTod_|(!<2({vQac#qxn@61ED8CVx}(J#e(=qpzMnSAmGfgh22Ac2 zV(!+S(JYze9ZYi0FwzV!OVEXofL?*03cJfvJwZ zsH6@u0)V@7oO~+TG6sh?x*{hw@aYwV7@^zBzn^+R5uk6^`2PwFFgWcpCRCBqFwZlKhk1p>&M!<&$ukg ztO2SJLwZwEaq4GFWl^G`x%AD>^q#iZfJAgEnaWh$OWA873h1r> zt`7XT#}(;Zx>CmqF+rT~we-EdUm2yb)q zJo;jTz!x!{%#2k!KL*qIo8@vAlBOCE{MAtMB51cx99o$v=z~V}LEc^Z$QsnT*xyE0 z14X4OQ(;Zx{|2Ll@nYVL{e~!C1T!P5#xLwE%AgGjyrE8E=;u@n%6Q`@8m5)1of6-5rir>1JA(v_E`QY0!W#JtRf50_~#A8$jZv+d~FtI+7z!sC$ND8@{P!F1| zF5-!@>RHWo@iW%WxK??0btiic;yu2y*nqySNYVSo2PNU^(0pQVn9g4;{g70i_K%p3 zc`2i>sFjI~%NqaXS;PWV zauQ}I000v6snN{_1xSA%#|S1Q`Yo_%T^{Bh7;LO@*XZOn8$}>HH2&yv4#($AKf%xN z%sF8g`*3^}k5c#08-eEBb&PM>W(nMPiS<&y&Ju?3lSi98G)1<23zuCQqRnWi(X#(e z8&wq(!CE+1c`5LNaE)-jNgXys7{XT-X7X@3k;D5{l$MAskr(Z&V87Wg<@{mDPCT3c zIkorf`AXhHYlv_1=lq4Ugcw5cU|OQ*GobrNQdnK;YUnwxdgW6@`y2XEg`dC64?d*s z1RuQzrohBL-4rPV-*`VaP$4@e_*fjoPfyELX-z>G;`cmBeon=yjnj z2Cf>3mS!R289l z1;O?XtFm_+IO3s+L;JNxOsC?obDn5tOHq-NAZd5 zB`qae8IPD0X0y_{!87onS?Zf_RN=4=?zTl*hu-WFP9sdit?+EK8Txg%CFJk?|9tRY zOWp!(@JU0XM5;>Ob%U@HaYede?}nD-q0O>qAYJA=&ncP9N~~wWFO83?DC~`~Fl->^ zgg|S1J$MX#FyW&FT}(i7c)MsU`HbD6Kw_4R zeayftTPBJd3I1U<3=_YYm=R!u*9cgbsKkktGA-?eg(O~Leq^v;IVx0-D(CZ{$sx>u zNyO~f;EA`)NREV90B?H%pjip&(xrrRI6E=LJq1rR z2nj+l8QIte_E4;4U8pwH+9mNut-=ZI&^SArUghHl#(w1f`C_yB_Eq3N>^2%&^!{m4 z00g?RM^obL{4vLA#43EzAhH{E-Qu;kT{#Dw3k5iZwvkb+c77F2FW7Y ze(5^OPZZy;vnAKhpbGYsHE}KIoQwBPwOLmuNzaXC?=s(ubo&jFs(|zB zjA4Vbj16Kdnrts+^&{<)rA-Nr4kU|oVrKlP+?hvzUT4`8SJfbG9}(HMBngb-L*9b6 zIV*0>R$?XJ$o!*58QScQA=+;(zE-qHhr#^Gx$c{?YzKmspYwgg3&lE7x52kskv2(f z(c2_%5MU~u$hTe;F9GEHqSI!u>Fr$zz$CSSUw$pT{yK>IbVV!iF3cAEb$#1DP@*d% zRk~Ik(MurFKxNr>u#b!bnO*m|%IclRfl0kLtxbH6YLwOpG50faD_R|C1tWMj@D|xd zPl2ajq4A&)-r8)Ke=;*I>AdRR;|gmH{~)|l=ZKf%cKufuO1J&k-3Z^qpb!e>8%#vG zk=&$Ph3{{8ljIxLvCSNk1YO$W01oG#FC|EvUGXA~$@TLQQX~--XmuTRxA|@P@=6m@ zyS5~8(cl)U!D^rc|6F4{K)G1A4dC@;;P;d=gAS{crSRFVfQishd@t4=v@Xn^qMN9OT8Kmiay740!ip{X&oevnUEPn}Mm#IOETRTu8dE+mc!S<#H7w^B3M((tjp@MjTQ|T{c0Nsm0@qRBu4JcQt zekV6j0{S@5!^NUL*HHbMJfRNSHMF!HBV>c{;nfnm^19iRcT5QUm7%D=Y3JW&9vT{-T2b0~!3(!_hw#H_0hcF?VGqwEMOnXS+* zU>BX2XhzYg9yEo^o8I>yE|X}Ul)?~+;VYnM&}v%UK=H0|ondH!=m~a#M*Ier96p;+W4Ga5|6^lECeG=#O2*6PC?|3YznD~}N z=sPx&skt(_ad|_7rK)ZV^2Z(!XVB;LRF=NryF$Y`Ejc*Q$vJ@sOv;6bN###g$Wy>< zy_zLz-_bDr4!Z<+`wT0_ypyA!s`Ht)^i~kXC4ILs9CEsvKVQe;?Dxf)dSNxx+Rx?k z+)p}e3!F>edH*>uhqkbee5igp$keYpCAVIJ59L|}yuMbX_xYA$=mCjBxVT+5VDyxq z=m&qWJgzYVaB#%%dntH(uDhPVlUMjhL$PqC>y^t1oUMbnyhq-K7d&e&SzMGnjV=B% zXyTl|iA~)vIn*#Uu5}DdwcJ*s7kH)P5l?HD(R-<)K;|7xh7*sdOoDM@HUU`pq6MB0 zl+z*~VAg8u8Uv%A|DhNX)WNEZX_%U2CfLj;!@)$lHbPh%c`{x~!f3S;4G|blS#w{> zqGuuVY1Dqmpa00l2d8I-|zXA zXpMm0b~NqL$8vIV;3o0XLZ@RAKE+IsVt|A@N4iE+xdpu4jw)7xBy&w~!4+xpcGP7@ zCJo5W__7hklvkOXw2h-Q1v_!4O1o%Kp7}?G#fkg)Yc{nD@`_9og^=#>f=I>}W z@ngjH>n@gQje_4Tyv=RDt30kxiy~+CM=;uP{Rg(>xnwK(D_3JAcuGPtXYZ3%2Kt44 zT^(hxvagDqE*KHjQ}O4g)#I-(ov5TZ@5n{lVy$5Y<*}n8HeHIJtEPo;BZ6gh!*`O| zm)IJ%5*mJxtP>v3a6`dK52uoH%wJl1JJpED79|f=&VtqdnN4C}uVXO_9R3I;8nV(H-jW7SnLO~w`)e=PSQR-76MYK+g9 zDwp*3@IYtIdqCU_D|s)|=l%Q4i*IdGV~YBj-FAc&R~P$ORHx>fDnBiT zp81_vHIKhE30j7Su(pbKm3N*MND*X`-5mLYiO`XLpyC3_&+H1zBPHZ_oBCe7E6^!q zCf1zcMJe2V5*ST_&C>Pceh)j~vs;omwRIIDoylQ3`cJk_hqDN!&Krjxu zQP1hZ_1iyWF++Vxl@lew)3rxi!SATAa%F$P9=OA;NpQmt13xE&QGZu2z&uFj_vHx$<#i4g;8 zYq}mrKdCK&)wj`xU-VwzvXub~3evv8rkPhaD{4^Ywg}`grzk8q+a5Dns1Lc&$PxMT z%5=as8igh}tcoy9?=o>G{!~w}ywYK`1rw>`o7Ce~%fwGc47b)5UJu9G5f?v5XWyG1 zjXF&!{1bJ8Qx-z^&{|{5nP+cx9>?uW7yl-={~|X$hvp4|=%i-~#2CMYF#hhc_0I3= z6LlVV9Ph|r{Q&sETb!1dr#;oc^det|0!9zEQTlT~{!PU{QWuzOwgB8uzyW^(eX?d5 zX<`b68yqk@>Fd&=lUOKs{W`eghh=0ij-lso2@dGoj`z&%26+V=lO=L;&PA=G4b(3E z5-m0y8JVok+iH}dfTtv-A|-@C{cix;h5;M3 z_K7nZ`?h%Mk26`5+V#HDYi)zzDXo|O+*mO9RxNaJn_U(WMKP={{FzSG z7GDf(8iroj&+x~&w4*NQ&n^4N0(Qr|1)JFiPS8Kk@DjMNvP29qm~cK_jG~`b_fn%6 zgjgY-|3(%7q{R-}baz~HS`S<8jmLg{EsSkYw9L>y?lR|h4V4i-uzFZr<1QZ?a$D?p zw{lREqB@HR=d7$j~~O>aWW31*r{G=z09NP^uDH< zE746GXqtWCu6;DmPiGBp=DyFesjbS}ipRMs%4~;Fbw>>E@(?JiG8~2C@7<7*ES;hs zM#z%QO0B{fC=Kkg+i*>0xiSxBbIhg?8&Xbp>;X%4z8Kll$=cT(#WQMR(26Bhq}QG%8&5r+$-!-sM z%14Jz2x-S(!sM=5Y9O@!KprdHH_t=>Vve97qNgW72qizGzR_+D5l<~nk~6}}(K^r# zQ;D#paDo+9j_{}GuzGyZsM!$UgPzuT%gDqV9N;{USX`m^Qpb%o-0o5rgcUw`twN17 zMl~pi&ohyxKZA!2koS_sKLb1m6)U|Ak;StVT&Olixk>s;XAo2D^CGm?C;GTfI!mprFr!wR!hkpaj`OBl?2D`7}yt6cO(8>0k`{2ZxCNuu*!!3|f~e zjQD3m|L9GRJSSz@hCSJ{?mbrqT>_~y!MJK?P%yIRUlpua2(DUz%Z~^R*|blMu_Rd6 z@Uy+_`BpZI$C-Cqxn?Xi5h*u$MLu?UV6yXtAe@daSem{zFgOmzf9%PA4kStY*x z{C)ynW&XF9GwrWdY*=cZkHHf@%=T}>9TFe=$Fd7-ej?${3!<(4BpfcEoia(iku+Gp zBCoz!w+-n=;t97j+5IfDE(<8T;vBx-#H2OGto^i_H`oZW4~!9KiLR?u;99+WSVqVO zG8(MG#uqO+5=7f{Q34xAW*T3HW@CT7kX_r@Ovrnxr%hcBeMX*bVj^$HjLpJy;_k47 zUnBS%kwoP_I?-g#HIig$xP0#uvs5|b>n=nhw|*EC=rSKNVL=&xwyjn>C9q=BX1mmB=O<2~i>S23-d8Q# zzR)W$`8xt53VnkM84+~Pgh)_!tEk5CUYZ4!xqXBvIGz?bP4%UzJI`Ifvh0K9&&c5y zGz|1Mh2FX~FYe`+b569)PU@W?LYwW~g#Mp6TgLm|F}pio^%!=g+K~jF1aYDYJ;Hg{ z$i7e>Re#5fCEi$(nxn#2o!SQ%RfOq)cSI8$`beRondifb7%cyj|fXLOX#%n4?rlL-&h|3NXPyUXL# zTO>dsbcGvCDXbi$cQHSEfc+cutjt<)k?@ciQWt6+@v#lr!5p^$QsX+}S>P^^4GYWq zL-D@7BCt_h1YFPUePOdk;Di#}ppR4+P#HRf8C!mrDS93`_x1q_hTFcQJ&YJO>10j> zLx{r6`}d)Xm7-ge&_ZCFp=g*lUv3$6RQd(0iw^nsWl3`hD^3K5%a63X9#Kp9U(eE2 z^G<;hB%Gc_O^yx+S|4gY1hBXzK>C$AWHGKhAJQQWqhT<=(#mix$Z*h`=`gRl(HL?Oq1{5-kx^Ghwx^$DzC zL@5$<+=Rsg($E!cRg>g2#AdkN!9u#au`<&E!fk^;G(&xZ+F?;KD^1F#K`ea!oXfT(Y2j1>U{EGQg>i)pG80PgTRJF|Jc+YtsJ% ztw2)0M8h(EbaIA;MP9}i>7*@mWG!8$&4X<&=pQRn3KG(47&B43Aa0m861 zph*ADnB=?-Tl1f}9G2)FT)icPF|f7*{bLQ$yfWr_6Dog6Z(O7T1h+-V2>Zl>TO?P+ zl<2U0%VSsMk>h+)_G=MZunY%1KBK+{Cc#!4o>y|y4H!QXepF)Qvs(Z3GY{LAAYoToje3XnxKW~I3=pjuhGZW0GD#++`axSEi zCSWyI{u;TK3J}~F@hF^(T5PrNOAQMPn9P+DlFyu@YJM}pJW7C$cQ6Q1>{11`9|rB= z7zj?77TYG+DVCf_zpWNu4U6NGYE;c{CRoUJ5IURVd=R3?a466&_a)^xx5m0btw=u$ z8NyX`D>o@Y(SK9HywT|9wo9EE79lIF=9V4zPLRXm&R8z173sHCxX0zN*av2y=)b98 z8(V;e^&=Ub85W7#lWmPA3<_&s0~nSm$xDB+OK-uLzVzK~s+e?d*v6Z%+h^9Y7Y&Q$Vook; zereVY(n~NKcqaUh$xj*c-vt!@6WRKI``$LibKVD1$gq{D4XIir?m80p0=0nKxB^cej zdwOynN7#YflcD0x*&!l(%8{{V)i$LQn~ zdV05pgEi&6W5{7~cUb$<(6Hq1`n+-QU-liJ!;M?oTX-Ur@p;0V4X7c+ga`$5IbYYHKabYCxk6b{}op2KHWkeogjzBga~86eI{s2$jcRaVs>JOC3j(J@o;~Hi}RpJe>boH z8kUHoNBA6;*(S)f~fRJH7G%Ppz{AVYKC-%ZF zfG0$M)1Dj_Ga{6n1B^qFm(GMwbXZ^+x7>CBIV`CF0ne3sZu$p{{Q3tjyCNU2P7aGH z5t;!7uc#6)6)UyyI4r*z;AGwt&Q)?)QU&5ssP8HUHr@YeJB}O{lOi?%9j3)9zN98UtZ;6)DT3d+L=H=;z}5ij9+#>4%=C}2f}e58 zCCITy>cBR%DB27ShyUyM3cYXQ5qC*QZ*HQL zkXaEofJH7lx&e~%~MYisyw<6?UhB8SDS*b0Ej z4Gk~9U|87b->}0nk|Hdrg|Jo~(Qat7?H|J;_Uylv%dSZGPm;r8T5Oj=k7>VcFBlg8 znOHb3crVG6rV^O{aM-6@x%xl5$fLo1K8Gc4Jn68Q7uygp5~j(}=M9UH_8UCCj%rv^ z4b10z=z@H8@c+BW*8FvxP)tJFJd<=-%!_q6XfkcH>G^xEZ-d2fS492hMW;zr3xU`5*=vHocsvbEkCWd*81%_qhe`jNg zwesU5=g2;CSW*vc^sjKN(7Y#Og;+%0Tzsi!`yXRy3z-=f&*46F7rDEIsg(0%t6BsQxh!P&wOKrEVtM3 zrJCh4RXu47nHo0#09flK8J;mL){FVz9a)-io`xT$CWJ0O;;};Qg)~CUc6^O~LeS$2 zw1vzKi#ZJp%l?c18W!ex7x#~CeLIv+o79AmWeOZC^ifYCP5iYt_)^Vs-->>;h0G1B z*WLO3SjzXzG;eFhCD>ufcact;RE2QiOK4cSjTXd0-S|e7$x+LDy(rZ|mUVf8!XVK5Dk(P@*q5NiK{#|p&=0dtS@rJCiD1p;UbnH<*h8|Ut+^hvLO3=5Bf zw)ACrI&D%H!g(m%6ntP~Sci{sPy7>NKgvq_PG*M{`T!V~b+!I)SlHS_SI#QSPolFmFe-9XzAG7`6u=v&mLlYCRuj@jmO)5jk4rkXz z7pY(JJI=`M*564k!Thjv51qTQ((?9yFSD?+G_FFZJcQ;oq&9?WPysovMAz1QdX%z# z|21D%eNHvH%peGyHZa8n`w%@JZw1v!%(CaT? zSXNDc8Z!~IJ;ZVeEjN)kPpU(_3dVmYUT;o6=8W7rW}K()LpMMu|0ysmlm4EQ8u{+u$HXzERDx9QRQ+s#b6dg!6fwFLh80ZV)~7<(%o^oWS2mhQ)ml)`D{E=&E5Mhhd$99M$6zoi?cx7WyHM>|>-Q1AJWl zRS4Y>uU2xt-m#5+FMxKUB+6Z**0EFyn~z5~b1>>A%~W+G#JZr*BW`t{w{bQx?m&HV zSW+o0<^X5svNM8mW}u_VjSx?QK99ibncl_9{QHMdJU_LIp)u}+*Z_zj z6g#^Uhvqt#pm=_&g{5uHIp5F;vES4p4R&`ztPTRR#Rfs$LD`-&3&rzOEv!)w-X6nb zk@C)rprgs15I2AZvSQz1KljX#NLPOk!ey`%a3(yYUk)#d+`1LwwvNu1JPvoR1}!f{ zyCU_%F%ur{pifAT(#^2V1)ZtEc+;#nNVRdP7@^i|t%hYWMQ+^<+vKv&*BqCyM348< zb5}4X2x1a~ATZi)#z*M&SfgQy`=~iZZru#q5Y3&bxw7lz#xlVgpU}Hd*UZbBU9Ed` zSIH|E(p~b5u!v+`42@7eC+B33WRRBZqR6egVH>X1u;`>4$80|Hvu6Cd$fRHLZJyJ& z_?a`67Q8v}uhK1s@2gec$42|kxCqrg(`Hzj40hL=TlQaE{pX}4)(6G3*%j%J+uGe& zX7w0ddv2Y_n=2O!vOlv+B}Z&{o^=PRm#^h`#npWMCH zGlEPD#3jd~FboWOaE|mtEBC6dWMWu^w^z1m%Z^??eD-GN{^Ni9ZBpx<2L>OjxNTdHi;5>T(g(#s$Aczh^#-|(`5u~ET6i3A5n z#}#YXre*FmRbH=iy+Og|^+J4YDY!-{kNY?fm7yhC&mNd-PNz2g%9bfprfk19UyaN=Vs^K71roPz zi2o}$E<*Nl8g@{p#`E365lyrzG3l$fc$}w66i4!1a>R~WacK6=JL58CSy?~8{k#|E z^GK6OPr1SxQq4kSg~K_U@Yg^{qkb9ZMP1Z?!vsr6&-0V({F1j*nWz`eN68+%wetPH zeye&lOFa+kD}8l^eQ&DYK(VDOxWS4t!GB}d>ZiY45U8l4C(*q0Tf8Lypc2*3x1aCx zYF8SfiL@5;Fkiz+Lv3f|nVmam)Hc6BgY#HB0e_DrZ8>+Bblf*X#U z(SOLWOOdZ|*9wL42!~|`QkWrp(ZIPuyU@)r%R1F;r;5}%anoz zoYkQICFQ%V`na)eEZJkR;^sA}_@LSz?(*ZShgtn9Y#215Nf5_YmZHz>?@{Vv?^jj~ zBo0`iX7fBD{I2Pn51GZg>*ZCO%V?`UmZF+$p8es~TAprVTUbI74I({Ft_P_66_`)2 zvrAO@N@Z&-Rr^qPfmuCoU;m{gN5uPYq^QdC79GtRVtpk)oVaU&nuSav>Y>?7SXkKn z%vJM$rH3}BY%lih=Qnp{^Rt-U)+WNd-&Su}96zR0`4iac&#cizWsWj#O0$quZCPx7 z)gJxTMxnDO1s-oYynN`Z*t6nMpvRv4AC+gDxtCH1iy1R`U=z)%5&vKhob&Kl#?d~e zcUzd}E%kL zrDL6*X3p}lu$X11-YBcBpWy}U4d3n7AX~tz@h(#gHa~}IS;45^Myopigpg%>+Gtsg z=qXE6ZJfm#vujUZwI`%Ke8$*|p?Yswanl)fe@;-9^ClkE%q;cCoZ4STXS4EzsKxgd zX7M()X<>c-RBc#hEmd_tw)LJnP~(8BxO!yvnI2tC z9`sX%;8$|@8I60{QTd&1h2r%Lwb;JK^Xy(m+5Ux0dl3>NyI!Bs?^T(VBG6y6N1N^vtERlf1?feDr=R^L)gQoENt#!(rwNz4N_@X&J6cZ@wk9}A8QttNhIprvs zPnW9SX%sQyCisV6GkKcvcVdn9sPpLBu2t^GihYKx*Dd8=tlJ4Q{@|(!t8hbWc;#8* z@>MM4ugh7;!WQBYyf5JR%%n}twm!Q`7k|~apl1mDu5m3N^EoZ7&MF)nW3Rls zuwLF}%E8(%SM#n*`D!cvs5x3Hmir!}Gd(we86uKVJXAA1xT zccHhBYWG0seN0zp@BcXNk1eFx>tm5smFB>ukqb?j5n>S+Z!Av1=*qK{eW$RWu}{(G z5V}lJv13QpRr*F-v)xcvp6QIZ?rDwtV~ZiZCa+p@CNRihw>zRc9?xGSQ$3abEc3g3 z|JC^4(t;dav^v==WUSItyy34Vl(`i=cYO?|hQ30g2M(QYrr%8H^@;K=8+STJ;bydE z-KnlR(>Zyr#=n}MMKjEDY12=0VxReKgNlA}r>nYXY5cW$`t{HL7wJsv4)NM73-ddx zFq#>ZGo$%RzM)g8geroT42dz3Wf8K>P;6MFX_*zuJK5TI);sk0gxK*0by=8i zh3$EtKgWYtjKAWiVsBW>|NIK`5To9@s4bhxLbogX^GsRX7*=cW4=%a}{f#5n@IJ=e z?Jq;_8i@wIoqyvn`odl{8R_gTQ#Z@$_sUAA;>EtZAV-=e6zJ?f$H%LJZ-1uVU% zrn*>X91|Lt#?=$5O;fsSk6%^hC5WRxR4W7oktSR*V3)I{{Ho-(VZTAW6uwoKi=V3& zw&0}fH`O#aeyn$AC4ZnatGd}#;{@-zf4L&d`~pE=WH(C@u5fX`Lcf)8ijRwobUI>h<~ z-bjg-Lk{A8DsRAp^koQ{Co21D(m-W1;DwD9N4`Q&-oCDv(JDCE{HmRj|AQU#_9@cy zjA)QM1@87ucBWIkVXecaDR`23UXA}F_O3YVRVC#V6MoAiQw@X+>y>@8%F5IdSi-g= z%3ln7P*jwI@1M2YplQVGE5PS!UT1%L!yHPshONu;6ge!5-|eZ=KnwHRDTpmQrtOL_ zoQvrco0qN~ZW@v9Z;CXN5GuO6 zm$80mTi4l6O@aN7^ZZ9P^E+2r+0UmEY0kMARYxK7*fl}HEX&2$l{c@t6kFP{b6lMc zdY0gKvY29Wq;TbkqVKi2q@v5X@3I-nB9Hb_`RbhP6%!Ee8@aO8A&!459U5k+ADYeI z4)oND){Nx-G)wI-Q|Pp`=N+mlO{|uWL=$Ux6-Va21oObLriYuLJfG8O)Ha7nUg*=xxtmK}kx(mhLwt zN*z+!PaZV)cxF^n#L04aRfBtsHjo7uR<1(TV$wkFAJKB zq;i){Q-|>cG3{BS*%evtxLy6c^pr!$eq6zKT0BlkZ;p8Bl#&La;9T3wNB-xY&pfB% zxS(`MxirkHBXTmH3iv}N&KH=~zo|l-O*P?L(kiToW!`ghDY&W?y`}U4u0me}PXz6=$gYn;50t?Ly0qJ=l$ zG|!fTN*or+5gZ%1b!%X3uwC8TAhm7ft>`Rd9?d>e5JHRlAiW9Rh<_35Rn;?YE7=`E zK`NK#KeSn$V0@QFxVD1-m&sRKL7bFDj@!)tD>`zwOZSrgeV+o@HbtK{OrnAL9pgy7 z7JI-~*3UdYW>pGQ5%hI@nMqLy#J~1?3M8H!`PP~$ z(=5!ds8=tAJ*wZFL%+Orx<#EqAMfw0W@(-!Xn9uSJAOjp#oS-$%t9q$Qr}FU@|P7w z&lvYowF#ln&+tf;s&p~R?`*A|k7FxFkL9arx8CM#5S7YK=r;NMiTWWvzW)C49)7*E z4%@W-yn@Tru%kTLmuEo)3`zrYO zem6`tRe^W{X8t)ZT*HSqd}RC>xGC;y#}Qyk{Pilg9+n`! z_<_vo(eql1HF4N-M@rPwv+f!sciAaN1TSrlnZxm3;R~7J2m#1#g~x%|V4C zKCZ<#<2sFUagOkTr*;$ydAWuPRT1W z=Q39Sh{a!ds6l-qXzf?p&v`SZwq+@T2l%H$obd#hm7Q)q=P4WQ8mRmvHR5GiQNZ zA+y9>{h$s1{tbG}l@qpP*{ej&A+WWnO8ITsx@nTlj%qvUXiqehf!RW@)VZ&!#kAAV zh?Myu)FamA8_H4al!9_Uab;`X5mt^hn?S(9qav&sZ!_5ll`LWVHuHVwsIeS%EG*;> zM>T(7H+*wp@y$!j;=i?opLON}{f(_q3q`|R-ZfPzznJ!x7RkflWR-))Q9)aB1}69Lwc-d4HV;Yl)mKp-Z`3#(Z(!aZ;*yx?Zrlbntkx;sq7!NJTIW|a7P&U4h+#n)2)Ev53_;oD4OSj3g5)k@&R&MP(D zqUMDc=U<)OQAt$i_)JCmu&yAYJNCk&2VLT?LGT~*2cKUj<(|yv&#~$E&?lCu>gw8C zYi<59D(lnZpEF@Be0ilM1r_;eqSqZxpCxwE^yJT7Tl+eSQzmV`Hj80l^RIJPcK#Qs z@}LZnDrvIC=mF}m%-?DEMjvk(l5Pno__<2?LXpkB&EgYID68V_n*j7j5_UN zxjyDsg1>{|v#jus6?%REb3$={D*V#orFK{><_Y(AB^zZCFHKdhQPO6ENel~%+{BxB zc#fbY-}h7>p=SQ=?=0btTLqWS>hh~UAmk2q;EPt|cL!ML9nSiO%I)g$ns=WE$T@X< zkk++^#in2cw)75`yt56%20u?pr5o9{@&IRB+EZOno5gpF`K6F$}Ki2Ve~$6Tjn+JTR8Ugl{)p)cCAsKsA=6ZSTOPU#c9wO^=14pA5E2x(jn>Xd_ODVRuIsaDUh~6%#?b3X+ zknKnQ*DdN6_5efw*WPspGka%`Tsza+@wYo9DgZo zqNx*5D3`iWvgS{$h`}OVNn)e#)Tp!@m(1_s!!7qi0HhFp3sn6ZfF;T0iPLs+K5wG@{*@WR61s+gG&v31Eok~pV@O< zEwXHhbAS?`=F)3q3SZ|eHd+u2i^Z9W9DZKZ8xs0)9ME1Reu&A}X-Qmjue6ExuqYp_ z!g+FG2QUo_oqhtVU=Vs|5b3L6zfG9;EdqpS(pWlktW7J|k_S&~ebG73R=f-OE^pg^GKFl~NB|%t6tb>d^vNEIYoRu?!1Yt=ZXm#(vP3RUUv$ zRqP}O=tB&B{t=9H0=w^v#58j2IGqzYYc@>YuqcZYsOx<~>@nh?9vhT0Vyf@X3L`y2 zHEOk5i6&CZdE6py= zNV+_UL212g%S`Ke?8Ah=*Zlk4oW*B~2KX7B&J2XMJ5HFLi2=)Teho9?1CGVlEGx$4 zU7&zr(5JuMYNUsbEU%F5NsMZ<^(5%r$86zsQnj@)c)wN0vh!BRZ%Z?NVi+cFSdg_Z zIah+ZS{ac^fDo-ri3qo9ceB{-5jz6?4QPp&3{c@lxSn6a1B?@kEU$x9`kCm%A;FUQ z@u^oKM|{;0BN-Ov)*7NJB|CNpSQLsL3jN#){31W9^bfGZ%5EzD@fJWf#s9)4vCB;SO;#6{5d|!q=}yB z^kL)Wf_{akvw zL7$0=Kzh~c6Ffy_DZ37EktcXaX;cU)+MVDf-jxX-Q#LHRK!{+3G#gIO3m1UML~2+Z z$EWpNhr#@8QF9%}C$YOva?Cg)#aYM~?`kAgRpn^hWK}j?&w`OTNmgUY8bS zVFgTfTt5aWTYZZaT;XSanW3sa7e2#;MIbq5y z{Zz;h;))P^evh%)+f5M`X9;}U?X@Apg1qYE+-Zq(2$<+{LAD55vB!F&bUHJw{w5qS zxl{`@)Kq+9=viLmyRT6yMls91Z?xwSXiN(SGw?^`r3P}FjHxP-16|*n6D)Z_m4e#M za$*%|SY#!3V|<=^I;To=7MKN4n{e83PQnX(L7KXCc3#pJG_O2c z7*2I(^iVz`#-9YX%w^eCKYpjU4m3LQ*q z==?hEBGI)J3RFlp!d=P!2s72v;LN4_G~Nf5D)k43BHA`b?jpuHV5C45161kL#4|$d zCIX?j|35&HV7FOLoNE9WmgLJZ7$4)5FYh}Jm`;!_Onj*{f??6tCSiEWglec4_^I@A zs7m26nfF0O_I=?ZauAV>mVwXVzh05x*NL2svg;GDu=oEFbgOzKPw~=8!-j_xsT=^TK({v^%&CDw;!-06;0p^*3*s)y<3Ku8Z13y9JJeSpyx|7kdE2_yLgLb{`N0s4~I`pME87J9@?(xW$H z0h}G7&p^M{Lx9kNDni8ezzZJyLpM=?EL)Q2kSZPFo#6UU!u}x9JXvMK46TgkSd8tN z_yeCnC^I;K?(op-MldYN3y264GO@i3>}$|xApgvxA^(GlEKhS4KPQHJhG`}xl<}L1 zjjQWHBdczjDgw$84^ZM;LOxbgsbNa*R#f`*@5tz-G}(6 zgk?xEdsqNL6~R{-&cxdi1`G>|{s$v_8GM3o*`G2=!{UE~xY=DZ#}fWr`Y0s+5!=^> z|MIDjzobgCI6W~%!@~5~Mx43T{AJGE>IYSXEaBKV-hg4z)`rMvbzoOK=6k=Iq{l*q zJS1+dN?eR_-_hM6(kz#r0%+kOubxsRSrT6wp=JjG*&m1JrE;U!8FMeceo%Igi0-NL z1`G=oHyHQGX04hCJTJ#Lc(C=0PMliEWme3#Rv)~!kn$6{0c z8db`e=4672K;GmSLBC+m z@&pPBHKTYa!ioXfZXxkBhV!|{<_wEL(1G_VU_aLU3=3n0F?|^PS{N>KIY><@^_Uyo zWGs0k#C{l#b-rv?g9pA!2?4xv`30!O7lh+)O_a&UArDwH-^4iW{aTY}-c`dQOv^f& z9+-gD%iJ-~MLqq71-W&BMdjIwCxw|Xmz9M`i994`{NNM`sYYQm^cTvcN&&b1j0^#i zEc9cTlEpB(&hb!5zDmHE2h`5F#RxC z-qW55l(SPdg|=>gX<1c~b_V00T%-jJUiJ?&aVUu3Nf>PeYZHw&m7XnR~C*Odg zc!>ojs2)FYXaO1U054vnY{9%ZyZILXA54*tXMcsDawRjXT(W!6UQn;>VM>OD3gM7p zaXe(662btIr-W}Q`|8aYi0MYZVPT4ngSVv5S%KQ3ki~n*Kaf~b}-liEJfh;EhPWQa2dA9^gX$d>9lX6e-;oZ#srWR$>$RuU>`y?###pvaA6ZmboSKZV9(1FehW| z^Ju}Ub7<)pXxwpyA)-5>f#P;@nBHUm#^FrJ`hui?;3=K~tNFIFP%ox)G%QZdYJavX zh3ML#WZhdpL`FjB?owE(EjQF1aK_Tj_zdL5!LZOH{)ICPRRxrxMClKqFWjvsViOI_ zZ5#^m+|Zne!2SlmMeu;9svFmreLS-V`3g(0K z{N}SlwR--)0kW?H^|9nKEY$EjV5yazX(eb#O*MeV`&C1QD{e!;ndH#}$NeOIJt*}V z&d|WB)toFiV|ns*FHS_-K^=-)om>+s z6HzB_=2ZwnJB~rYvFk3=kV2$Klqa{Rnqg*2N>ZSdzGN-^C;+~$)h(I`YvJjRkX~8v zE9vwlv`5LwJTl{S+zG@i&~4x0R4)>bH6aW#kUX&V>y6}_(lT#Lh-&f->nymxdeCREGvT!K+DRkL{9(FJV!$K7%lL5^_ z1qoXj{wqKZ*MTSfHEjY)+5on2sDBcKnLh_)_n>U4(-X;r5K(DRoI@X)&nCR~v}N{T zMO+DsmeV(y{Tl$LE4iOiOD>YE|yGCh4GYc*i|p%Fntyz3oP^WEr&Zh z6Y90k+UmEB$i5DA+o+zJg47qXCzBV>LRf3lNIVxPAb-%XdM!{^LfU||2?SxF~7747#6xm zGY-z$5_3C0Igmwtz_8TI$)rJh!UJ4gh0d^Kx>eAP7`9)s1}uk{Tv9Bq^@*Pf-2^Lr zo2eOgWe^w%BF4??>`!4_#hO(so(#|L5hI)9AWeTcQ=sWroPjHvd4Ks(b0kC#WHAdg zEIIrS|Kp(Mhq}DLC85kbCP*OXeMYL5agJRq8%GnnR48Q^JUfwvt_#ap8+-sro-%m- zAKu(*K{~jcDqA}LFHkmwA`JCP6JU%*fde_rcy&D_K}`rD6L9E+1oFEG1oAlr%cxSY zD;ae|Xop3&A+ADadE*|bTA1i2VE?)vus^pYKUne?GjSb^#5EbEZ1VjEN^5!R_#X+} z72snh><={XfMqp7HtiNB5Kl0-xMasRiA&duC`N1JVC|J+p^(x49qWQ@NDNEzeyE>B zcY+2Be#BASeCVp}(?BZ2!fjB<+?t?6FLa+*Sj(z)0cso}-T{xIG0u8?u(bbqb&waYtzSF^>JCOI=1fkp0(qY{|U>2lrMpEvf{I0K}lD^ z#)`DQA~51mgCPNSc7jy8HE0JoaHj{FM%*Y!f}aT=+Gm4K>iDRC z?#&ch@o?M!gwLYgg>6_;7K0P#P6x#pGNx`q1hDFDb`lvDZtZcE%W!P7VFq>M(kRR7 zz~SHYd{Ej+>_1>xWH$i1 zpI<+vMRDq^730O&KGar79!#@SDxN0`Uk)Ts>OVO1+gWsKER2cZ2A^5c7$FQb7~C3B zla1XM@34ytJ=Z2Hv2HB?$K~~A7Sxq}BaH3c2>{tyz_6VEWLRuqs@u>vq7YY5wIKy| z)zCydjl%4ZHjwdP2Q(MxE&AwLcnmd4o{cGU2PU>@;OcTuh-`oT!xi(UTllE$zgjHi$n zG2OZQ)5>Dyd32!gL~MI35f>EF2zn}s^`+yr&~M!sP=Lcs<{H+I9XQ zW4m|!A#V!IkG(CCb!TBD7gS@!k&9zGL5)qplO*DKqOCYIZ>m4=P!>b>lg}9~7;upc|jw!mjunDqc7L8Yx94U4=OD9xw&OC$*n?PTa=x$crEf>%u8pn=FI z64F6AwHcSOM**NNKLV@!1liYsx&}2Od9%2X7w1wFQa2K*pI=_gfWzX<&Z}ME60+Ul8t&f?onu`8P5>~y0mE|XqhU#|2@ZyOycbsU<1EYSVJP|y zWYsnvmF7Lr?dC$yArGR?a+?#%31rb=EJqG(9tiy*0P~eHM?lWUOOK6sR8ZV7F8OcO z2A)A|e#?m*0_^BtZx(pNQWJ=dV{{t=d3^(3nEW07{DAHbgW?aVb}e%fG_bkB&YdcN zH-%CzZZ?%MEPRGPrjIRdOEm zX<;>u*iGu!`x=)gF!H205w^SmL~PW@sDYypVD|(uRkws(OK1|6z)@{JV80@ATgQP0HBB=oC3*tA`$iat%q{) zZzUrx6ASbdpwoG6ZJOG#657)0AH{1^paw%3Q^^=r-7b=9sjJHirLshq_H8VwW$`$S zJ%B|O0a@0a7W*5mg35q|K6=6aA(9x9CD^FEPqd+GsX(^|?%<8xY2|~B&^wrs!9PQp zAE;JqAj2|Nn)iTGzaizNOgk*tj0_X!`>T}E(52Bv8f3bt@J_j zMx@;B@V_84{CBB>-p4{80OoMk9bp20gA6P?9=9;b0o2spkYRb(LmI;pFod+Ya2`8P z0fPycHcz??uDUwDK$I@lfEK2jA8o9&f+F8=;JR>jPJAg&^hWht0)6#|0^cAqcwg%$(CC5w9bvctzmr)eoiV7ssFn$OV@%LNZX%(TDz)tm>S05PxhCS$+c@UG?|F zjpg0b{b2o0edu~XoI;lTWDM}l>@h653R4Ds2H=73wI}5zI9+>Q6y~^WP+KYkU#}Tc zSQ^9910*!cg#k4Mou8sDFYJY;a)d(6W&HaZIn;-yF4z`Q(GurD@_tg{;4G{XsphMw z33cnKuZqUBD;4OD059Cg2Sq+Wr^#iaASKm&K!M^C8evMh@Jc)hRS?y`2$j11w1Sip zC&DD5XVL7%n{56FWRn373oS8LPd^I0%0;oo*?G4}oC&ZMcDY{Qr<>^uK!rcy@@#Md zZsZv;Pd zq9mGq6A|=Lpc3cZ7u1XqVj9K(nAVUSU~p$?dL*c==b>lu6%q%E!SPL7J{~hb?2Z;y zn<69*23-cqgE?Q@Z=72gCAH@k38_xwPBaiMsO>W7dP*?9ZX{n&dw?eOx+frpC$UE{ zS1+j8a178VNajh{PU7Z-J`K&TGO8dbPO_)g5^3Q6Q1UrN?5; zHD^IP4f2^>&r0KE(?`J;0DSV;UjkFALP1`5X%SkRjRhw`T zLqytP@bT((#WF1$7m$&?qPQ_osY-LqDBYyA=LC*Hx|# zq6c)i9aoDRJ0qK2P!YtVtTbF7^aT>`*}9WO&1oaXzUbL^BSq=N)ifJHc3Y#=4dB?v z2kc>KA(6a*TX&qZ^V^c*tkH8u%a=fJ&j*5lb>o!en62!p#V0aSb?uL7otiKlP!J? zQOATbf$XnCcaF~ji3|(e2KE{17FLohicXHcRr9xH+dWi<4iM`Sw0-)w&*$Rx?79vt zO?sxZvq2@djYo|@PHC|oYzfZqk^Lx6?hq9&2VDad3p{Cp&alK+;`rdRpc0RgG8@S2 zFyuOhO_9j35LAVHcBM$PJCNL>^sP>v?`+;46|2c(U0Ah?t7D}J3;P}@dH)AItyZ@2 z1L7E8UK^~$husr%@IybSr6;&n<=GQ~;ux0jN01NoZ?qU+EG?+}jX6H}EO<{5Tig_- z)_@Glwb>FG7W_UIb$L$-yRs=J+0t(6nU`b*sdK1?#&kK0Iks zjlS=XFX~jg*ofhQ4hlJil(kx57N=M3C$|99V36}9RC*3MWZjos5;q%~4dTp+P^};d z8BI@#l*n@fCEu>!`KYxZCz>j@g6osdMA|ITjVp@$6EZAyJ4s_$@Mne8KS`5e`5FjO zj9jbm^LMkiwzf}kut-+Q7@9(v2ZT<4j(Nsh9`+!AoK!lO~4N}&TXb!geQ@k0D?sw6nLUYboM0+=*t>V>hZOh<&jgMGEG9s;o4QS|?e_&Puf-=aMG*&0#;}y!g!f!DkD8d)+&l6cy&03m zMYWQ!IWFr9EKftVJLwx)P{2^GO)R>-y;z(%5xNtgi{b3J#~6kM+5hnA=IIl{|3y)) zIBCRX!+VPOiGC9@EOZIX5?aD!<7r*!h3wWt+=-cl^<1(;$iF4nBhxruVrwhAKbQOF zcDX1{mzw-I^d?4bF-9k$+lDVU&wT!!zZ5KTm_OL^60qZ&kYVvVj;B}V^3c|_I-KYo z{{UhPpP~AZTXrb<9>kjCJhG#-4W-C_7TC3yKZ4(j6XhpAgDs@ASP&SRf zUK-^IiS`(P>vai+r7#SOM9Euu(Vy^AfvZ{zN}i?4Ijg2^gCFb9E;yskg#}dZD|8(q#e96*Tob3 znD3jS20_Be`NQ#^6bA?;O@j7^&wlX@3-UX93eT}lI~{FO4vV(v32epb&|^eYw>g09 zK&mJ8$`C0Hi*oc^+@Gxv;#7su((l0YHek7=Np7ULIWzaGW3Tg#MW`Zsxf&LB+z2TS z5VGtH8I~C}#eWmB+kfEQf9&pBCN=afFLf0p0sOr7w+Fbk-J^*4P$LUFUL+y{{R@h2 z&r8febyz8a8I+BN$IX29OW7cY{JQIrFfK<%^rh!xZNZVK{1E%hT997`tykPdh%#0;j|`Yy;|Q0*)qP;Cn$U+*UWj0$XvIdR+v&BD*Stt6?-LAKpjAT=`&nk zno>!Kjy_u%`+TV@Jmy}v@$&_1y9sBcQvg9;eR8 z`271Hmu8nBKalg*sf)PsAIQHWD1!1CniJxZi<5w|pS=X1Z(Fsu9S_e>UZM*01+m{q zHs6d=x?pFP^n<-4{J09;1c%vMy-h0Gapj9``9uTt(s_O~TDp*QB>#DMRlxk_uYS5w494jrAVPUL(;i+)VHXAPZ zV*Q%pv~II&L{g*A1>}EZdVbf=k`TThes>r*!{RbZqNW6-YzPsb1s@cZ{6zcWdoVAV z1Kx*BB*~)NI4uZ<@LcEH^0A1N9Y~zOjuoA~CmYDk7dI!CFQyAVuR_`G#X4-4%1BWb zq5{h{&UZOuOY{76RC)+E%Rbstd=Gxn)J-!F(9$jPuc9hR*2 z!7PU)r__J#5Y4dAg=>J-j$9b9TDsy#z96+LvE8hA`rkGU!3k=q68?-;b(~#oIR8}l zfx!2J#WXyJ#hGm(wzeDPP`kRJCJxO@zVQf3I?YL@v+@?nx&vvD0G=HynrIpw&~iIz zpH=YuyGHNnryROBBe5&$O&u+G8fWcMaF#0cv?PU8WWVbg&TlpxVh7z5wmXV$i#Z(c z?7XVGxQ$tKQq5BakA2!@zQ-F`9^_(JG~EhImPerDK_P((twcJ>ROE3?YWo~u_iZ(H zQ$J;Y^cRwZvvc!00el}J1M}-iv~A?A#^M~|{)S&|>_uTS9sW1)*nFHb=fL^Y=RnAZ zU%X`a0j;~ucQ+vGNn8v|REBikK6QIHw4Apk#3_AKNoCJ-D4Kb6wlr?~mhw6?6PGdW zBN97!^7cTfB0qt8yyFK;(4&AX7vs=cvGoiK3#gt7%JRT?;uDmxjFy| z$Gg;y+zxY5bej7@y2);8FxXYJ?tv(Q8D+VsDwkrs`sWwM;aSfH9a-~lBE|r9g$H~C zq09o~81Rm&d{Tl3qrLw(&RcVu*uh{ThJ7exha9rLjyY_WiMp#rYgs^kH_Ji&8|pXq zyuZewF9*Zo@`HrT8dUf@XrK6qBC4oyv*$cU5=DHRJF=rR;%&

~&l9q!&w&l6Zfgmt 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 azaf*;B^IXSz5D+6D=#CVC|)CK9Q;2?Mjv|s literal 0 HcmV?d00001 diff --git a/quizzz/quizzz/Base.lproj/Main.storyboard b/quizzz/quizzz/Base.lproj/Main.storyboard deleted file mode 100644 index 25a7638..0000000 --- a/quizzz/quizzz/Base.lproj/Main.storyboard +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/quizzz/quizzz/Info.plist b/quizzz/quizzz/Info.plist index dd3c9af..0eb786d 100644 --- a/quizzz/quizzz/Info.plist +++ b/quizzz/quizzz/Info.plist @@ -15,8 +15,6 @@ Default Configuration UISceneDelegateClassName $(PRODUCT_MODULE_NAME).SceneDelegate - UISceneStoryboardFile - Main diff --git a/quizzz/quizzz/MainScreenViewController/MainScreenCell.swift b/quizzz/quizzz/MainScreenViewController/MainScreenCell.swift new file mode 100644 index 0000000..6436170 --- /dev/null +++ b/quizzz/quizzz/MainScreenViewController/MainScreenCell.swift @@ -0,0 +1,27 @@ + +import UIKit +final class MainScreenCell: UICollectionViewCell{ + + struct Info { + var titleLabel: UILabel + var descriptionLabel: UILabel + } + + + + + + override init(frame: CGRect) { + super.init(frame: frame) + + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } +} +private extension MainScreenCell { + + + +} diff --git a/quizzz/quizzz/MainScreenViewController/MainScreenViewController.swift b/quizzz/quizzz/MainScreenViewController/MainScreenViewController.swift new file mode 100644 index 0000000..11322de --- /dev/null +++ b/quizzz/quizzz/MainScreenViewController/MainScreenViewController.swift @@ -0,0 +1,82 @@ +// +// ViewController.swift +// quizzz +// +// Created by Vadim Aleshin on 16.12.2023. +// + +import UIKit + +final class MainScreenViewController: UIViewController { + + private var collection: UICollectionView? + + + private let label = UILabel() + private let imageView = UIImageView() + + override func viewDidLoad() { + super.viewDidLoad() + view.backgroundColor = .white + addSubvievs() + setupConstraints() + setupLable() + setupImageView() + + } + + func setupLable(){ + label.textColor = .black + label.text = "выбери набор" + label.textAlignment = .center + label.font = .systemFont(ofSize: 40) + } + + func setupImageView(){ + imageView.image = .logo + } + + func addSubvievs(){ + label.translatesAutoresizingMaskIntoConstraints = false + imageView.translatesAutoresizingMaskIntoConstraints = false + view.addSubview(imageView) + view.addSubview(label) + } + + func setupConstraints() { + NSLayoutConstraint.activate([ + imageView.topAnchor.constraint(equalTo: view.topAnchor,constant: 100), + imageView.leftAnchor.constraint(equalTo: view.leftAnchor,constant: 90), + imageView.rightAnchor.constraint(equalTo: view.rightAnchor,constant: -90), + imageView.heightAnchor.constraint(equalToConstant:140), + + label.heightAnchor.constraint(equalToConstant:45), + label.leftAnchor.constraint(equalTo: view.leftAnchor,constant: 10), + label.rightAnchor.constraint(equalTo: view.rightAnchor,constant: -10), + label.bottomAnchor.constraint(equalTo: imageView.bottomAnchor,constant: 90) + + ]) + } +} + +extension MainScreenViewController{ + +// func setupCollectionView(){ +// collectionView.delegate = self +// collectionView.dataSource = self +// } + +} + +// +//extension MainScreenViewController: UICollectionViewDataSource, UICollectionViewDelegate { +// func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { +// <#code#> +// } +// +// func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { +// <#code#> +// } +// +// +//} diff --git a/quizzz/quizzz/SceneDelegate.swift b/quizzz/quizzz/SceneDelegate.swift index 294247e..7a554a9 100644 --- a/quizzz/quizzz/SceneDelegate.swift +++ b/quizzz/quizzz/SceneDelegate.swift @@ -13,10 +13,13 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { - // Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`. - // If using a storyboard, the `window` property will automatically be initialized and attached to the scene. - // This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead). - guard let _ = (scene as? UIWindowScene) else { return } + + guard let windiwScene = (scene as? UIWindowScene) else { return } + + let window = UIWindow(windowScene: windiwScene) + window.rootViewController = MainScreenViewController() + window.makeKeyAndVisible() + self.window = window } func sceneDidDisconnect(_ scene: UIScene) { diff --git a/quizzz/quizzz/ViewController.swift b/quizzz/quizzz/ViewController.swift deleted file mode 100644 index eaf6691..0000000 --- a/quizzz/quizzz/ViewController.swift +++ /dev/null @@ -1,19 +0,0 @@ -// -// ViewController.swift -// quizzz -// -// Created by Vadim Aleshin on 16.12.2023. -// - -import UIKit - -class ViewController: UIViewController { - - override func viewDidLoad() { - super.viewDidLoad() - // Do any additional setup after loading the view. - } - - -} - From 39a71e5b0117546182ab9c366ce4735c889da2a3 Mon Sep 17 00:00:00 2001 From: lolleyball Date: Sat, 16 Dec 2023 17:46:34 +0300 Subject: [PATCH 3/4] Added pods to project --- quizzz/Podfile | 10 + quizzz/Podfile.lock | 21 + .../Extensions/String+toImage.swift | 15 + .../Extensions/UIImage+averageColor.swift | 25 + .../FlyingEmojis/FlyingEmojis/FlyingEmojis.h | 16 + .../ParticleAnimationView.swift | 166 ++++++ quizzz/Pods/FlyingEmojis/LICENSE | 21 + quizzz/Pods/FlyingEmojis/README.md | 4 + .../Private/FlyingEmojis/FlyingEmojis.h | 1 + .../FlyingEmojis/FlyingEmojis-umbrella.h | 1 + .../Public/FlyingEmojis/FlyingEmojis.h | 1 + .../FlyingEmojis/FlyingEmojis.modulemap | 1 + .../Local Podspecs/FlyingEmojis.podspec.json | 24 + quizzz/Pods/Manifest.lock | 21 + quizzz/Pods/Pods.xcodeproj/project.pbxproj | 559 ++++++++++++++++++ .../FlyingEmojis/FlyingEmojis-Info.plist | 26 + .../FlyingEmojis/FlyingEmojis-dummy.m | 5 + .../FlyingEmojis/FlyingEmojis-prefix.pch | 12 + .../FlyingEmojis/FlyingEmojis-umbrella.h | 17 + .../FlyingEmojis/FlyingEmojis.debug.xcconfig | 14 + .../FlyingEmojis/FlyingEmojis.modulemap | 6 + .../FlyingEmojis.release.xcconfig | 14 + .../Pods-quizzz/Pods-quizzz-Info.plist | 26 + .../Pods-quizzz-acknowledgements.markdown | 28 + .../Pods-quizzz-acknowledgements.plist | 60 ++ .../Pods-quizzz/Pods-quizzz-dummy.m | 5 + ...zz-frameworks-Debug-input-files.xcfilelist | 2 + ...z-frameworks-Debug-output-files.xcfilelist | 1 + ...-frameworks-Release-input-files.xcfilelist | 2 + ...frameworks-Release-output-files.xcfilelist | 1 + .../Pods-quizzz/Pods-quizzz-frameworks.sh | 186 ++++++ .../Pods-quizzz/Pods-quizzz-umbrella.h | 16 + .../Pods-quizzz/Pods-quizzz.debug.xcconfig | 15 + .../Pods-quizzz/Pods-quizzz.modulemap | 6 + .../Pods-quizzz/Pods-quizzz.release.xcconfig | 15 + quizzz/quizzz.xcodeproj/project.pbxproj | 54 ++ .../contents.xcworkspacedata | 10 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../MainScreenViewController.swift | 2 +- 39 files changed, 1416 insertions(+), 1 deletion(-) create mode 100644 quizzz/Podfile create mode 100644 quizzz/Podfile.lock create mode 100644 quizzz/Pods/FlyingEmojis/FlyingEmojis/Extensions/String+toImage.swift create mode 100644 quizzz/Pods/FlyingEmojis/FlyingEmojis/Extensions/UIImage+averageColor.swift create mode 100644 quizzz/Pods/FlyingEmojis/FlyingEmojis/FlyingEmojis.h create mode 100644 quizzz/Pods/FlyingEmojis/FlyingEmojis/ParticleAnimationView/ParticleAnimationView.swift create mode 100644 quizzz/Pods/FlyingEmojis/LICENSE create mode 100644 quizzz/Pods/FlyingEmojis/README.md create mode 120000 quizzz/Pods/Headers/Private/FlyingEmojis/FlyingEmojis.h create mode 120000 quizzz/Pods/Headers/Public/FlyingEmojis/FlyingEmojis-umbrella.h create mode 120000 quizzz/Pods/Headers/Public/FlyingEmojis/FlyingEmojis.h create mode 120000 quizzz/Pods/Headers/Public/FlyingEmojis/FlyingEmojis.modulemap create mode 100644 quizzz/Pods/Local Podspecs/FlyingEmojis.podspec.json create mode 100644 quizzz/Pods/Manifest.lock create mode 100644 quizzz/Pods/Pods.xcodeproj/project.pbxproj create mode 100644 quizzz/Pods/Target Support Files/FlyingEmojis/FlyingEmojis-Info.plist create mode 100644 quizzz/Pods/Target Support Files/FlyingEmojis/FlyingEmojis-dummy.m create mode 100644 quizzz/Pods/Target Support Files/FlyingEmojis/FlyingEmojis-prefix.pch create mode 100644 quizzz/Pods/Target Support Files/FlyingEmojis/FlyingEmojis-umbrella.h create mode 100644 quizzz/Pods/Target Support Files/FlyingEmojis/FlyingEmojis.debug.xcconfig create mode 100644 quizzz/Pods/Target Support Files/FlyingEmojis/FlyingEmojis.modulemap create mode 100644 quizzz/Pods/Target Support Files/FlyingEmojis/FlyingEmojis.release.xcconfig create mode 100644 quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz-Info.plist create mode 100644 quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz-acknowledgements.markdown create mode 100644 quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz-acknowledgements.plist create mode 100644 quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz-dummy.m create mode 100644 quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz-frameworks-Debug-input-files.xcfilelist create mode 100644 quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz-frameworks-Debug-output-files.xcfilelist create mode 100644 quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz-frameworks-Release-input-files.xcfilelist create mode 100644 quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz-frameworks-Release-output-files.xcfilelist create mode 100755 quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz-frameworks.sh create mode 100644 quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz-umbrella.h create mode 100644 quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz.debug.xcconfig create mode 100644 quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz.modulemap create mode 100644 quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz.release.xcconfig create mode 100644 quizzz/quizzz.xcworkspace/contents.xcworkspacedata create mode 100644 quizzz/quizzz.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/quizzz/Podfile b/quizzz/Podfile new file mode 100644 index 0000000..7b7068f --- /dev/null +++ b/quizzz/Podfile @@ -0,0 +1,10 @@ +# Uncomment the next line to define a global platform for your project +# platform :ios, '9.0' + +target 'quizzz' do + # Comment the next line if you don't want to use dynamic frameworks + # use_frameworks! + + # Pods for quizzz + pod 'FlyingEmojis', :git => 'https://github.com/LolleyBall/FlyingEmojis.git' +end diff --git a/quizzz/Podfile.lock b/quizzz/Podfile.lock new file mode 100644 index 0000000..5553acf --- /dev/null +++ b/quizzz/Podfile.lock @@ -0,0 +1,21 @@ +PODS: + - FlyingEmojis (0.0.1) + +DEPENDENCIES: + - FlyingEmojis (from `https://github.com/LolleyBall/FlyingEmojis.git`) + +EXTERNAL SOURCES: + FlyingEmojis: + :git: https://github.com/LolleyBall/FlyingEmojis.git + +CHECKOUT OPTIONS: + FlyingEmojis: + :commit: 94e462153dcbf21e1ae1ecf3c542aec8748d5155 + :git: https://github.com/LolleyBall/FlyingEmojis.git + +SPEC CHECKSUMS: + FlyingEmojis: 26d54adf5c7ee6d92c23003081edded5bc9c7288 + +PODFILE CHECKSUM: 747b9ac49886f9c078abd1fda4a854d197378343 + +COCOAPODS: 1.13.0 diff --git a/quizzz/Pods/FlyingEmojis/FlyingEmojis/Extensions/String+toImage.swift b/quizzz/Pods/FlyingEmojis/FlyingEmojis/Extensions/String+toImage.swift new file mode 100644 index 0000000..9a2001e --- /dev/null +++ b/quizzz/Pods/FlyingEmojis/FlyingEmojis/Extensions/String+toImage.swift @@ -0,0 +1,15 @@ +import UIKit + +public extension String { + public func toImage() -> UIImage { + let size = CGSize(width: 70, height: 70) + UIGraphicsBeginImageContextWithOptions(size, false, 0) + UIColor.clear.set() + let rect = CGRect(origin: .zero, size: size) + UIRectFill(CGRect(origin: .zero, size: size)) + (self as AnyObject).draw(in: rect, withAttributes: [.font: UIFont.systemFont(ofSize: 60)]) + let image = UIGraphicsGetImageFromCurrentImageContext() + UIGraphicsEndImageContext() + return image ?? UIImage() + } +} diff --git a/quizzz/Pods/FlyingEmojis/FlyingEmojis/Extensions/UIImage+averageColor.swift b/quizzz/Pods/FlyingEmojis/FlyingEmojis/Extensions/UIImage+averageColor.swift new file mode 100644 index 0000000..8148f1a --- /dev/null +++ b/quizzz/Pods/FlyingEmojis/FlyingEmojis/Extensions/UIImage+averageColor.swift @@ -0,0 +1,25 @@ +import UIKit + +public extension UIImage { + public var averageColor: UIColor? { + guard let inputImage = CIImage(image: self) else { return nil } + let extentVector = CIVector(x: inputImage.extent.origin.x, y: inputImage.extent.origin.y, z: inputImage.extent.size.width, w: inputImage.extent.size.height) + + guard let filter = CIFilter(name: "CIAreaAverage", parameters: [kCIInputImageKey: inputImage, kCIInputExtentKey: extentVector]) else { + return nil } + guard let outputImage = filter.outputImage else { + return nil } + + var bitmap = [UInt8](repeating: 0, count: 4) + let context = CIContext(options: [.workingColorSpace: kCFNull]) + context.render(outputImage, toBitmap: &bitmap, rowBytes: 4, bounds: CGRect(x: 0, y: 0, width: 1, height: 1), format: .RGBA8, colorSpace: nil) + let color = UIColor(red: CGFloat(bitmap[0]) / 255, green: CGFloat(bitmap[1]) / 255, blue: CGFloat(bitmap[2]) / 255, alpha: 1.0) + + var hue: CGFloat = 0.0 + var saturation: CGFloat = 0.0 + var brightness: CGFloat = 0.0 + color.getHue(&hue, saturation: &saturation, brightness: &brightness, alpha: nil) + + return UIColor(hue: hue, saturation: saturation, brightness: max(1.0, brightness * 2), alpha: 1.0) + } +} diff --git a/quizzz/Pods/FlyingEmojis/FlyingEmojis/FlyingEmojis.h b/quizzz/Pods/FlyingEmojis/FlyingEmojis/FlyingEmojis.h new file mode 100644 index 0000000..79e80ec --- /dev/null +++ b/quizzz/Pods/FlyingEmojis/FlyingEmojis/FlyingEmojis.h @@ -0,0 +1,16 @@ +// +// FlyingEmojis.h +// FlyingEmojis +// +// Created by Gleb Sysoev on 16.12.2023. +// + +#import + +//! Project version number for FlyingEmojis. +FOUNDATION_EXPORT double FlyingEmojisVersionNumber; + +//! Project version string for FlyingEmojis. +FOUNDATION_EXPORT const unsigned char FlyingEmojisVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import diff --git a/quizzz/Pods/FlyingEmojis/FlyingEmojis/ParticleAnimationView/ParticleAnimationView.swift b/quizzz/Pods/FlyingEmojis/FlyingEmojis/ParticleAnimationView/ParticleAnimationView.swift new file mode 100644 index 0000000..b281384 --- /dev/null +++ b/quizzz/Pods/FlyingEmojis/FlyingEmojis/ParticleAnimationView/ParticleAnimationView.swift @@ -0,0 +1,166 @@ +import UIKit + +public class ParticleAnimationView: UIView { + private var colorIndex: Int = 0 + private var gradientColorSet: [[CGColor]] = [] + private let particleEmitter = CAEmitterLayer() + private let gradientLayer: CAGradientLayer = { + let gradientLayer = CAGradientLayer() + gradientLayer.colors = [ + UIColor.white.cgColor, + UIColor.white.cgColor + ] + gradientLayer.locations = [0.0, 1.0] + return gradientLayer + }() + + override init(frame: CGRect) { + super.init(frame: frame) + setupUI() + } + + required init?(coder: NSCoder) { + super.init(coder: coder) + setupUI() + } + + public func update(with image: UIImage) { + let near = makeEmmiterCell(image: image, velocity: 300, scale: 0.7, longitude: .pi) + let middle = makeEmmiterCell(image: image, velocity: 200, scale: 0.5) + let far = makeEmmiterCell(image: image, velocity: 100, scale: 0.3) + particleEmitter.emitterCells = [far, middle, near] + gradientLayer.colors = [ + UIColor.white.cgColor, + image.averageColor!.cgColor + ] + } + + public func update(with theme: Theme) { + let near = makeEmmiterCell(image: theme.mainImage, velocity: 300, scale: 0.7, longitude: .pi) + let middle = makeEmmiterCell(image: theme.secondaryImage, velocity: 200, scale: 0.5) + let far = makeEmmiterCell(image: theme.tertiaryImage, velocity: 100, scale: 0.3) + particleEmitter.emitterCells = [far, middle, near] + gradientLayer.colors = [ + UIColor.white.cgColor, + theme.mainImage.averageColor!.cgColor + ] + } + + public func updateBounds() { + particleEmitter.emitterPosition = CGPoint(x: bounds.maxX, y: -100) + particleEmitter.emitterShape = .line + particleEmitter.emitterSize = CGSize(width: bounds.size.height, height: 1) + particleEmitter.renderMode = .backToFront + particleEmitter.birthRate = 1 + } + + public func lavaLampAnimation() { + gradientColorSet = [ + [CGColor.lavaGradientColor1, CGColor.lavaGradientColor2], + [CGColor.lavaGradientColor2, CGColor.lavaGradientColor3], + [CGColor.lavaGradientColor3, CGColor.lavaGradientColor1] + ] + gradientLayer.colors = gradientColorSet + + let firstLave = "🔥".toImage() + let secondLava = "🩸".toImage() + let thirdLava = "💛".toImage() + particleEmitter.emitterPosition = CGPoint(x: bounds.midX, y: 100) + particleEmitter.emitterShape = .line + particleEmitter.emitterSize = CGSize(width: bounds.size.height, height: 1) + particleEmitter.renderMode = .backToFront + + let near = makeEmmiterCell(image: firstLave, velocity: 200, scale: 1.5, longitude: .pi) + let middle = makeEmmiterCell(image: secondLava, velocity: 150, scale: 1, longitude: .pi) + let far = makeEmmiterCell(image: thirdLava, velocity: 100, scale: 1, longitude: .pi) + particleEmitter.emitterCells = [far, middle, near] + + let blurEffect = UIBlurEffect(style: .regular) + let blurEffectView = UIVisualEffectView(effect: blurEffect) + blurEffectView.frame = self.bounds + blurEffectView.autoresizingMask = [.flexibleWidth, .flexibleHeight] + + addSubview(blurEffectView) + } +} + +// MARK: - Private Methods - +private extension ParticleAnimationView { + func setupUI() { + particleEmitter.emitterPosition = CGPoint(x: bounds.maxX, y: -100) + particleEmitter.emitterShape = .line + particleEmitter.emitterSize = CGSize(width: bounds.size.height, height: 1) + particleEmitter.renderMode = .backToFront + particleEmitter.birthRate = 1 + + gradientLayer.frame = frame + gradientLayer.bounds = bounds + + layer.addSublayer(gradientLayer) + layer.addSublayer(particleEmitter) + } + + func makeEmmiterCell(image: UIImage, + velocity: CGFloat, + scale: CGFloat, + longitude: CGFloat = 10)-> CAEmitterCell { + let cell = CAEmitterCell() + cell.birthRate = 1 + cell.lifetime = 15.0 + cell.velocity = velocity + cell.velocityRange = velocity / 2 + cell.spinRange = 2 + cell.scale = scale + cell.scaleRange = scale / 3 + cell.emissionLongitude = longitude + cell.contents = image.cgImage + return cell + } + + func animateGradient() { + gradientLayer.colors = gradientColorSet[colorIndex] + let gradientAnimation = CABasicAnimation(keyPath: "colors") + gradientAnimation.delegate = self + gradientAnimation.duration = 2 + + updateColorIndex() + gradientAnimation.toValue = gradientColorSet[colorIndex] + gradientAnimation.fillMode = .forwards + gradientAnimation.isRemovedOnCompletion = false + gradientLayer.add(gradientAnimation, forKey: "colors") + } +} + +// MARK: - CAAnimationDelegate +extension ParticleAnimationView: CAAnimationDelegate { + public func animationDidStop(_ anim: CAAnimation, finished flag: Bool) { + if flag { + animateGradient() + } + } + + func updateColorIndex() { + colorIndex = colorIndex < gradientColorSet.count - 1 ? colorIndex + 1 : 0 + } +} + +public extension ParticleAnimationView { + struct Theme { + public init(mainImage: UIImage, secondaryImage: UIImage, tertiaryImage: UIImage) { + self.mainImage = mainImage + self.secondaryImage = secondaryImage + self.tertiaryImage = tertiaryImage + } + + let mainImage: UIImage + let secondaryImage: UIImage + let tertiaryImage: UIImage + } +} + +// MARK: - Colors - +private extension CGColor { + static let lavaGradientColor1 = UIColor(red: 255/255, green: 215/255, blue: 0, alpha: 1.00).cgColor + static let lavaGradientColor2 = UIColor(red: 255/255, green: 165/255, blue: 0, alpha: 1.00).cgColor + static let lavaGradientColor3 = UIColor(red: 255/255, green: 69/255, blue: 0, alpha: 1.00).cgColor +} diff --git a/quizzz/Pods/FlyingEmojis/LICENSE b/quizzz/Pods/FlyingEmojis/LICENSE new file mode 100644 index 0000000..81ee952 --- /dev/null +++ b/quizzz/Pods/FlyingEmojis/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Sysoev Gleb + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/quizzz/Pods/FlyingEmojis/README.md b/quizzz/Pods/FlyingEmojis/README.md new file mode 100644 index 0000000..f132c01 --- /dev/null +++ b/quizzz/Pods/FlyingEmojis/README.md @@ -0,0 +1,4 @@ +alt text +alt text +alt text +alt text diff --git a/quizzz/Pods/Headers/Private/FlyingEmojis/FlyingEmojis.h b/quizzz/Pods/Headers/Private/FlyingEmojis/FlyingEmojis.h new file mode 120000 index 0000000..f7b72ce --- /dev/null +++ b/quizzz/Pods/Headers/Private/FlyingEmojis/FlyingEmojis.h @@ -0,0 +1 @@ +../../../FlyingEmojis/FlyingEmojis/FlyingEmojis.h \ No newline at end of file diff --git a/quizzz/Pods/Headers/Public/FlyingEmojis/FlyingEmojis-umbrella.h b/quizzz/Pods/Headers/Public/FlyingEmojis/FlyingEmojis-umbrella.h new file mode 120000 index 0000000..fc0c07d --- /dev/null +++ b/quizzz/Pods/Headers/Public/FlyingEmojis/FlyingEmojis-umbrella.h @@ -0,0 +1 @@ +../../../Target Support Files/FlyingEmojis/FlyingEmojis-umbrella.h \ No newline at end of file diff --git a/quizzz/Pods/Headers/Public/FlyingEmojis/FlyingEmojis.h b/quizzz/Pods/Headers/Public/FlyingEmojis/FlyingEmojis.h new file mode 120000 index 0000000..f7b72ce --- /dev/null +++ b/quizzz/Pods/Headers/Public/FlyingEmojis/FlyingEmojis.h @@ -0,0 +1 @@ +../../../FlyingEmojis/FlyingEmojis/FlyingEmojis.h \ No newline at end of file diff --git a/quizzz/Pods/Headers/Public/FlyingEmojis/FlyingEmojis.modulemap b/quizzz/Pods/Headers/Public/FlyingEmojis/FlyingEmojis.modulemap new file mode 120000 index 0000000..c1d380d --- /dev/null +++ b/quizzz/Pods/Headers/Public/FlyingEmojis/FlyingEmojis.modulemap @@ -0,0 +1 @@ +../../../Target Support Files/FlyingEmojis/FlyingEmojis.modulemap \ No newline at end of file diff --git a/quizzz/Pods/Local Podspecs/FlyingEmojis.podspec.json b/quizzz/Pods/Local Podspecs/FlyingEmojis.podspec.json new file mode 100644 index 0000000..2b48406 --- /dev/null +++ b/quizzz/Pods/Local Podspecs/FlyingEmojis.podspec.json @@ -0,0 +1,24 @@ +{ + "name": "FlyingEmojis", + "version": "0.0.1", + "summary": "A CocoaPods library written in Swift", + "description": "This CocoaPods library helps you perform calculation.", + "homepage": "https://github.com/rep-co/EmojiNumber", + "license": { + "type": "MIT", + "file": "LICENSE" + }, + "authors": { + "LolleyBall": "mexicano933@gmail.com" + }, + "platforms": { + "ios": "12.1" + }, + "swift_versions": "4.2", + "source": { + "git": "https://github.com/LolleyBall/FlyingEmojis.git", + "tag": "0.0.1" + }, + "source_files": "FlyingEmojis/**/*.{h,m,swift}", + "swift_version": "4.2" +} diff --git a/quizzz/Pods/Manifest.lock b/quizzz/Pods/Manifest.lock new file mode 100644 index 0000000..5553acf --- /dev/null +++ b/quizzz/Pods/Manifest.lock @@ -0,0 +1,21 @@ +PODS: + - FlyingEmojis (0.0.1) + +DEPENDENCIES: + - FlyingEmojis (from `https://github.com/LolleyBall/FlyingEmojis.git`) + +EXTERNAL SOURCES: + FlyingEmojis: + :git: https://github.com/LolleyBall/FlyingEmojis.git + +CHECKOUT OPTIONS: + FlyingEmojis: + :commit: 94e462153dcbf21e1ae1ecf3c542aec8748d5155 + :git: https://github.com/LolleyBall/FlyingEmojis.git + +SPEC CHECKSUMS: + FlyingEmojis: 26d54adf5c7ee6d92c23003081edded5bc9c7288 + +PODFILE CHECKSUM: 747b9ac49886f9c078abd1fda4a854d197378343 + +COCOAPODS: 1.13.0 diff --git a/quizzz/Pods/Pods.xcodeproj/project.pbxproj b/quizzz/Pods/Pods.xcodeproj/project.pbxproj new file mode 100644 index 0000000..16bfd1a --- /dev/null +++ b/quizzz/Pods/Pods.xcodeproj/project.pbxproj @@ -0,0 +1,559 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 56; + objects = { + +/* Begin PBXBuildFile section */ + 57A4DF723BE9EBD3A18442105FB74B9C /* FlyingEmojis-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0BA766335C567DD5416347EB9413AA25 /* FlyingEmojis-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5AEF0DBE6A2292C6B0DB541FA684E7AB /* FlyingEmojis-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0F81AB94A369EB0539AA55374E88FBA9 /* FlyingEmojis-dummy.m */; }; + 5D424333F4E5912C46440E3FCD204A67 /* Pods-quizzz-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 498C7CF4C857AB620341CE86444F4DBB /* Pods-quizzz-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7EB8084080FB51ED5BAAF573E79B16CF /* UIImage+averageColor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51BB6102F34106FBB98A60CA05EB576A /* UIImage+averageColor.swift */; }; + 82DE6A3505D8C43CE11F089998B25006 /* ParticleAnimationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC41653468C142275D833B8D7DF004E6 /* ParticleAnimationView.swift */; }; + 85A430CA7BF1CDF485F92E115769C5FA /* String+toImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8F070F57621F5B86CC4E1305B1571FF /* String+toImage.swift */; }; + B6A61C5D644CA9554FC49B52748A585F /* FlyingEmojis.h in Headers */ = {isa = PBXBuildFile; fileRef = 91D93EEF58EABAE59DC4CF36EAA6C519 /* FlyingEmojis.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D691D5EFB733D37C6A5658C502FCBC62 /* Pods-quizzz-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E19714695BE9EA5984957A2B2F51CCE /* Pods-quizzz-dummy.m */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 9846802BEA3C07CEAD6FDB15A7125FB1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 1D3B1ABF893298784BF693B799B18327; + remoteInfo = FlyingEmojis; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 0BA766335C567DD5416347EB9413AA25 /* FlyingEmojis-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FlyingEmojis-umbrella.h"; sourceTree = ""; }; + 0E19714695BE9EA5984957A2B2F51CCE /* Pods-quizzz-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-quizzz-dummy.m"; sourceTree = ""; }; + 0F81AB94A369EB0539AA55374E88FBA9 /* FlyingEmojis-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "FlyingEmojis-dummy.m"; sourceTree = ""; }; + 1A2F71BE829829B30B33D6FA17787F48 /* FlyingEmojis.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FlyingEmojis.debug.xcconfig; sourceTree = ""; }; + 2D1EAB53B3F25AC9117E14970F391956 /* Pods-quizzz.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-quizzz.release.xcconfig"; sourceTree = ""; }; + 356B0589F741C1B2AF769C40FECCAAC5 /* Pods-quizzz */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "Pods-quizzz"; path = "libPods-quizzz.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 498C7CF4C857AB620341CE86444F4DBB /* Pods-quizzz-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-quizzz-umbrella.h"; sourceTree = ""; }; + 4BF4E6C999EFA2D33537B1FF1332884D /* Pods-quizzz-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-quizzz-acknowledgements.plist"; sourceTree = ""; }; + 51BB6102F34106FBB98A60CA05EB576A /* UIImage+averageColor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIImage+averageColor.swift"; path = "FlyingEmojis/Extensions/UIImage+averageColor.swift"; sourceTree = ""; }; + 8511E2D592897C8214A8140410D912DB /* FlyingEmojis-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FlyingEmojis-prefix.pch"; sourceTree = ""; }; + 8F09BB82954E4AF0B311850351094108 /* FlyingEmojis.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FlyingEmojis.release.xcconfig; sourceTree = ""; }; + 91D93EEF58EABAE59DC4CF36EAA6C519 /* FlyingEmojis.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FlyingEmojis.h; path = FlyingEmojis/FlyingEmojis.h; sourceTree = ""; }; + 9BEBB827C5386532BF374927EC019160 /* Pods-quizzz.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-quizzz.debug.xcconfig"; sourceTree = ""; }; + 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + A98DF363818DBB338202F3C62A890DFC /* Pods-quizzz.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-quizzz.modulemap"; sourceTree = ""; }; + B0F0C88153F00C3DCC28FCD8DC8530EA /* FlyingEmojis */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = FlyingEmojis; path = libFlyingEmojis.a; sourceTree = BUILT_PRODUCTS_DIR; }; + B5573A3557C7DB97D19A424F2E72EF6E /* Pods-quizzz-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-quizzz-acknowledgements.markdown"; sourceTree = ""; }; + B8F070F57621F5B86CC4E1305B1571FF /* String+toImage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+toImage.swift"; path = "FlyingEmojis/Extensions/String+toImage.swift"; sourceTree = ""; }; + C8FF00661254DC2B895E0BB826CEECCA /* FlyingEmojis.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = FlyingEmojis.modulemap; sourceTree = ""; }; + CC41653468C142275D833B8D7DF004E6 /* ParticleAnimationView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ParticleAnimationView.swift; path = FlyingEmojis/ParticleAnimationView/ParticleAnimationView.swift; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + AE20F8B4F15FF93FC80436CDEFE919F4 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + F4ECC26EC2EC1A25B1B22AE24408A538 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 07ABECF0963C1395183638CD07BAAB3B /* FlyingEmojis */ = { + isa = PBXGroup; + children = ( + 91D93EEF58EABAE59DC4CF36EAA6C519 /* FlyingEmojis.h */, + CC41653468C142275D833B8D7DF004E6 /* ParticleAnimationView.swift */, + B8F070F57621F5B86CC4E1305B1571FF /* String+toImage.swift */, + 51BB6102F34106FBB98A60CA05EB576A /* UIImage+averageColor.swift */, + B69FCD73944CB14542B1B44EFA919D9D /* Support Files */, + ); + name = FlyingEmojis; + path = FlyingEmojis; + sourceTree = ""; + }; + 19AD03993938F44C23C63338E92F41F8 /* Targets Support Files */ = { + isa = PBXGroup; + children = ( + D054FE4D3BB65F8DEE38C0C9329741A9 /* Pods-quizzz */, + ); + name = "Targets Support Files"; + sourceTree = ""; + }; + 25D91655D65B09C8BE98766E9CB08A43 /* Pods */ = { + isa = PBXGroup; + children = ( + 07ABECF0963C1395183638CD07BAAB3B /* FlyingEmojis */, + ); + name = Pods; + sourceTree = ""; + }; + 3747D676565F3C2953DA725F16F2CCD9 /* Products */ = { + isa = PBXGroup; + children = ( + B0F0C88153F00C3DCC28FCD8DC8530EA /* FlyingEmojis */, + 356B0589F741C1B2AF769C40FECCAAC5 /* Pods-quizzz */, + ); + name = Products; + sourceTree = ""; + }; + B69FCD73944CB14542B1B44EFA919D9D /* Support Files */ = { + isa = PBXGroup; + children = ( + C8FF00661254DC2B895E0BB826CEECCA /* FlyingEmojis.modulemap */, + 0F81AB94A369EB0539AA55374E88FBA9 /* FlyingEmojis-dummy.m */, + 8511E2D592897C8214A8140410D912DB /* FlyingEmojis-prefix.pch */, + 0BA766335C567DD5416347EB9413AA25 /* FlyingEmojis-umbrella.h */, + 1A2F71BE829829B30B33D6FA17787F48 /* FlyingEmojis.debug.xcconfig */, + 8F09BB82954E4AF0B311850351094108 /* FlyingEmojis.release.xcconfig */, + ); + name = "Support Files"; + path = "../Target Support Files/FlyingEmojis"; + sourceTree = ""; + }; + CF1408CF629C7361332E53B88F7BD30C = { + isa = PBXGroup; + children = ( + 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */, + D89477F20FB1DE18A04690586D7808C4 /* Frameworks */, + 25D91655D65B09C8BE98766E9CB08A43 /* Pods */, + 3747D676565F3C2953DA725F16F2CCD9 /* Products */, + 19AD03993938F44C23C63338E92F41F8 /* Targets Support Files */, + ); + sourceTree = ""; + }; + D054FE4D3BB65F8DEE38C0C9329741A9 /* Pods-quizzz */ = { + isa = PBXGroup; + children = ( + A98DF363818DBB338202F3C62A890DFC /* Pods-quizzz.modulemap */, + B5573A3557C7DB97D19A424F2E72EF6E /* Pods-quizzz-acknowledgements.markdown */, + 4BF4E6C999EFA2D33537B1FF1332884D /* Pods-quizzz-acknowledgements.plist */, + 0E19714695BE9EA5984957A2B2F51CCE /* Pods-quizzz-dummy.m */, + 498C7CF4C857AB620341CE86444F4DBB /* Pods-quizzz-umbrella.h */, + 9BEBB827C5386532BF374927EC019160 /* Pods-quizzz.debug.xcconfig */, + 2D1EAB53B3F25AC9117E14970F391956 /* Pods-quizzz.release.xcconfig */, + ); + name = "Pods-quizzz"; + path = "Target Support Files/Pods-quizzz"; + sourceTree = ""; + }; + D89477F20FB1DE18A04690586D7808C4 /* Frameworks */ = { + isa = PBXGroup; + children = ( + ); + name = Frameworks; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 8138C2FADF59E6850D4832A5D4606F60 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 5D424333F4E5912C46440E3FCD204A67 /* Pods-quizzz-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + FF1A408E93BD4EB2B1A21ED2406A0CBD /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + B6A61C5D644CA9554FC49B52748A585F /* FlyingEmojis.h in Headers */, + 57A4DF723BE9EBD3A18442105FB74B9C /* FlyingEmojis-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 1D3B1ABF893298784BF693B799B18327 /* FlyingEmojis */ = { + isa = PBXNativeTarget; + buildConfigurationList = 9FA0CB7EC455D829F69ABDF2FFAB4DB5 /* Build configuration list for PBXNativeTarget "FlyingEmojis" */; + buildPhases = ( + FF1A408E93BD4EB2B1A21ED2406A0CBD /* Headers */, + 52622960F7146DF221DD89858B68C5A2 /* Sources */, + AE20F8B4F15FF93FC80436CDEFE919F4 /* Frameworks */, + 4ADB7EC024452BD95B247091428F6719 /* Copy generated compatibility header */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = FlyingEmojis; + productName = FlyingEmojis; + productReference = B0F0C88153F00C3DCC28FCD8DC8530EA /* FlyingEmojis */; + productType = "com.apple.product-type.library.static"; + }; + 63CB0319A0303E1F78F6E3EC10BF5AA5 /* Pods-quizzz */ = { + isa = PBXNativeTarget; + buildConfigurationList = 504C710A05E42561663750E23FB82051 /* Build configuration list for PBXNativeTarget "Pods-quizzz" */; + buildPhases = ( + 8138C2FADF59E6850D4832A5D4606F60 /* Headers */, + E4121F96341664AD26A413061ADF31CA /* Sources */, + F4ECC26EC2EC1A25B1B22AE24408A538 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + 59417EBAFD048ADCA6E682F3E3F99219 /* PBXTargetDependency */, + ); + name = "Pods-quizzz"; + productName = "Pods-quizzz"; + productReference = 356B0589F741C1B2AF769C40FECCAAC5 /* Pods-quizzz */; + productType = "com.apple.product-type.library.static"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + BFDFE7DC352907FC980B868725387E98 /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 1500; + LastUpgradeCheck = 1500; + }; + buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */; + compatibilityVersion = "Xcode 14.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + Base, + en, + ); + mainGroup = CF1408CF629C7361332E53B88F7BD30C; + productRefGroup = 3747D676565F3C2953DA725F16F2CCD9 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 1D3B1ABF893298784BF693B799B18327 /* FlyingEmojis */, + 63CB0319A0303E1F78F6E3EC10BF5AA5 /* Pods-quizzz */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXShellScriptBuildPhase section */ + 4ADB7EC024452BD95B247091428F6719 /* Copy generated compatibility header */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", + "${PODS_ROOT}/Headers/Public/FlyingEmojis/FlyingEmojis.modulemap", + "${PODS_ROOT}/Headers/Public/FlyingEmojis/FlyingEmojis-umbrella.h", + ); + name = "Copy generated compatibility header"; + outputFileListPaths = ( + ); + outputPaths = ( + "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", + "${BUILT_PRODUCTS_DIR}/FlyingEmojis-umbrella.h", + "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/FlyingEmojis/FlyingEmojis.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/FlyingEmojis/FlyingEmojis-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 52622960F7146DF221DD89858B68C5A2 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 5AEF0DBE6A2292C6B0DB541FA684E7AB /* FlyingEmojis-dummy.m in Sources */, + 82DE6A3505D8C43CE11F089998B25006 /* ParticleAnimationView.swift in Sources */, + 85A430CA7BF1CDF485F92E115769C5FA /* String+toImage.swift in Sources */, + 7EB8084080FB51ED5BAAF573E79B16CF /* UIImage+averageColor.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + E4121F96341664AD26A413061ADF31CA /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D691D5EFB733D37C6A5658C502FCBC62 /* Pods-quizzz-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 59417EBAFD048ADCA6E682F3E3F99219 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = FlyingEmojis; + target = 1D3B1ABF893298784BF693B799B18327 /* FlyingEmojis */; + targetProxy = 9846802BEA3C07CEAD6FDB15A7125FB1 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin XCBuildConfiguration section */ + 7F8B0E64BD3E046013B855EA2CFACD56 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 2D1EAB53B3F25AC9117E14970F391956 /* Pods-quizzz.release.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-quizzz/Pods-quizzz.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 90D4D09BCB6A4660E43ACBE9ECB6FE9A /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "POD_CONFIGURATION_DEBUG=1", + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + STRIP_INSTALLED_PRODUCT = NO; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + SYMROOT = "${SRCROOT}/../build"; + }; + name = Debug; + }; + 9553C89E183877A5CB2F3C6801BEC129 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + "POD_CONFIGURATION_RELEASE=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + STRIP_INSTALLED_PRODUCT = NO; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 5.0; + SYMROOT = "${SRCROOT}/../build"; + }; + name = Release; + }; + 97806CD5285B0CF589A401CC1CA420AB /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9BEBB827C5386532BF374927EC019160 /* Pods-quizzz.debug.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-quizzz/Pods-quizzz.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + B4BEFAD71D9A56A00EC9DF8C5748ADE5 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 8F09BB82954E4AF0B311850351094108 /* FlyingEmojis.release.xcconfig */; + buildSettings = { + CLANG_ENABLE_OBJC_WEAK = NO; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/FlyingEmojis/FlyingEmojis-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 12.1; + MODULEMAP_FILE = Headers/Public/FlyingEmojis/FlyingEmojis.modulemap; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = FlyingEmojis; + PRODUCT_NAME = FlyingEmojis; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 4.2; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + DE7873F3A19D747D9A84352B224409E2 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 1A2F71BE829829B30B33D6FA17787F48 /* FlyingEmojis.debug.xcconfig */; + buildSettings = { + CLANG_ENABLE_OBJC_WEAK = NO; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/FlyingEmojis/FlyingEmojis-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 12.1; + MODULEMAP_FILE = Headers/Public/FlyingEmojis/FlyingEmojis.modulemap; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = FlyingEmojis; + PRODUCT_NAME = FlyingEmojis; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 4.2; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 90D4D09BCB6A4660E43ACBE9ECB6FE9A /* Debug */, + 9553C89E183877A5CB2F3C6801BEC129 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 504C710A05E42561663750E23FB82051 /* Build configuration list for PBXNativeTarget "Pods-quizzz" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97806CD5285B0CF589A401CC1CA420AB /* Debug */, + 7F8B0E64BD3E046013B855EA2CFACD56 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 9FA0CB7EC455D829F69ABDF2FFAB4DB5 /* Build configuration list for PBXNativeTarget "FlyingEmojis" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + DE7873F3A19D747D9A84352B224409E2 /* Debug */, + B4BEFAD71D9A56A00EC9DF8C5748ADE5 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = BFDFE7DC352907FC980B868725387E98 /* Project object */; +} diff --git a/quizzz/Pods/Target Support Files/FlyingEmojis/FlyingEmojis-Info.plist b/quizzz/Pods/Target Support Files/FlyingEmojis/FlyingEmojis-Info.plist new file mode 100644 index 0000000..8928a8d --- /dev/null +++ b/quizzz/Pods/Target Support Files/FlyingEmojis/FlyingEmojis-Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + ${PODS_DEVELOPMENT_LANGUAGE} + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + ${PRODUCT_BUNDLE_IDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleShortVersionString + 0.0.1 + CFBundleSignature + ???? + CFBundleVersion + ${CURRENT_PROJECT_VERSION} + NSPrincipalClass + + + diff --git a/quizzz/Pods/Target Support Files/FlyingEmojis/FlyingEmojis-dummy.m b/quizzz/Pods/Target Support Files/FlyingEmojis/FlyingEmojis-dummy.m new file mode 100644 index 0000000..ecd1012 --- /dev/null +++ b/quizzz/Pods/Target Support Files/FlyingEmojis/FlyingEmojis-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_FlyingEmojis : NSObject +@end +@implementation PodsDummy_FlyingEmojis +@end diff --git a/quizzz/Pods/Target Support Files/FlyingEmojis/FlyingEmojis-prefix.pch b/quizzz/Pods/Target Support Files/FlyingEmojis/FlyingEmojis-prefix.pch new file mode 100644 index 0000000..beb2a24 --- /dev/null +++ b/quizzz/Pods/Target Support Files/FlyingEmojis/FlyingEmojis-prefix.pch @@ -0,0 +1,12 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + diff --git a/quizzz/Pods/Target Support Files/FlyingEmojis/FlyingEmojis-umbrella.h b/quizzz/Pods/Target Support Files/FlyingEmojis/FlyingEmojis-umbrella.h new file mode 100644 index 0000000..d4b174a --- /dev/null +++ b/quizzz/Pods/Target Support Files/FlyingEmojis/FlyingEmojis-umbrella.h @@ -0,0 +1,17 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + +#import "FlyingEmojis.h" + +FOUNDATION_EXPORT double FlyingEmojisVersionNumber; +FOUNDATION_EXPORT const unsigned char FlyingEmojisVersionString[]; + diff --git a/quizzz/Pods/Target Support Files/FlyingEmojis/FlyingEmojis.debug.xcconfig b/quizzz/Pods/Target Support Files/FlyingEmojis/FlyingEmojis.debug.xcconfig new file mode 100644 index 0000000..e16298a --- /dev/null +++ b/quizzz/Pods/Target Support Files/FlyingEmojis/FlyingEmojis.debug.xcconfig @@ -0,0 +1,14 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/FlyingEmojis +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/FlyingEmojis" "${PODS_ROOT}/Headers/Public" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE} +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/FlyingEmojis +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/quizzz/Pods/Target Support Files/FlyingEmojis/FlyingEmojis.modulemap b/quizzz/Pods/Target Support Files/FlyingEmojis/FlyingEmojis.modulemap new file mode 100644 index 0000000..ae832ad --- /dev/null +++ b/quizzz/Pods/Target Support Files/FlyingEmojis/FlyingEmojis.modulemap @@ -0,0 +1,6 @@ +module FlyingEmojis { + umbrella header "FlyingEmojis-umbrella.h" + + export * + module * { export * } +} diff --git a/quizzz/Pods/Target Support Files/FlyingEmojis/FlyingEmojis.release.xcconfig b/quizzz/Pods/Target Support Files/FlyingEmojis/FlyingEmojis.release.xcconfig new file mode 100644 index 0000000..e16298a --- /dev/null +++ b/quizzz/Pods/Target Support Files/FlyingEmojis/FlyingEmojis.release.xcconfig @@ -0,0 +1,14 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/FlyingEmojis +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/FlyingEmojis" "${PODS_ROOT}/Headers/Public" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE} +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/FlyingEmojis +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz-Info.plist b/quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz-Info.plist new file mode 100644 index 0000000..19cf209 --- /dev/null +++ b/quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz-Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + ${PODS_DEVELOPMENT_LANGUAGE} + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + ${PRODUCT_BUNDLE_IDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0.0 + CFBundleSignature + ???? + CFBundleVersion + ${CURRENT_PROJECT_VERSION} + NSPrincipalClass + + + diff --git a/quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz-acknowledgements.markdown b/quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz-acknowledgements.markdown new file mode 100644 index 0000000..140fab6 --- /dev/null +++ b/quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz-acknowledgements.markdown @@ -0,0 +1,28 @@ +# Acknowledgements +This application makes use of the following third party libraries: + +## FlyingEmojis + +MIT License + +Copyright (c) 2023 Sysoev Gleb + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +Generated by CocoaPods - https://cocoapods.org diff --git a/quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz-acknowledgements.plist b/quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz-acknowledgements.plist new file mode 100644 index 0000000..6e21a39 --- /dev/null +++ b/quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz-acknowledgements.plist @@ -0,0 +1,60 @@ + + + + + PreferenceSpecifiers + + + FooterText + This application makes use of the following third party libraries: + Title + Acknowledgements + Type + PSGroupSpecifier + + + FooterText + MIT License + +Copyright (c) 2023 Sysoev Gleb + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + License + MIT + Title + FlyingEmojis + Type + PSGroupSpecifier + + + FooterText + Generated by CocoaPods - https://cocoapods.org + Title + + Type + PSGroupSpecifier + + + StringsTable + Acknowledgements + Title + Acknowledgements + + diff --git a/quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz-dummy.m b/quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz-dummy.m new file mode 100644 index 0000000..58ae402 --- /dev/null +++ b/quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_Pods_quizzz : NSObject +@end +@implementation PodsDummy_Pods_quizzz +@end diff --git a/quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz-frameworks-Debug-input-files.xcfilelist b/quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz-frameworks-Debug-input-files.xcfilelist new file mode 100644 index 0000000..948dc06 --- /dev/null +++ b/quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz-frameworks-Debug-input-files.xcfilelist @@ -0,0 +1,2 @@ +${PODS_ROOT}/Target Support Files/Pods-quizzz/Pods-quizzz-frameworks.sh +${BUILT_PRODUCTS_DIR}/FlyingEmojis/FlyingEmojis.framework \ No newline at end of file diff --git a/quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz-frameworks-Debug-output-files.xcfilelist b/quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz-frameworks-Debug-output-files.xcfilelist new file mode 100644 index 0000000..7796836 --- /dev/null +++ b/quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz-frameworks-Debug-output-files.xcfilelist @@ -0,0 +1 @@ +${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FlyingEmojis.framework \ No newline at end of file diff --git a/quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz-frameworks-Release-input-files.xcfilelist b/quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz-frameworks-Release-input-files.xcfilelist new file mode 100644 index 0000000..948dc06 --- /dev/null +++ b/quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz-frameworks-Release-input-files.xcfilelist @@ -0,0 +1,2 @@ +${PODS_ROOT}/Target Support Files/Pods-quizzz/Pods-quizzz-frameworks.sh +${BUILT_PRODUCTS_DIR}/FlyingEmojis/FlyingEmojis.framework \ No newline at end of file diff --git a/quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz-frameworks-Release-output-files.xcfilelist b/quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz-frameworks-Release-output-files.xcfilelist new file mode 100644 index 0000000..7796836 --- /dev/null +++ b/quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz-frameworks-Release-output-files.xcfilelist @@ -0,0 +1 @@ +${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FlyingEmojis.framework \ No newline at end of file diff --git a/quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz-frameworks.sh b/quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz-frameworks.sh new file mode 100755 index 0000000..6c6a73e --- /dev/null +++ b/quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz-frameworks.sh @@ -0,0 +1,186 @@ +#!/bin/sh +set -e +set -u +set -o pipefail + +function on_error { + echo "$(realpath -mq "${0}"):$1: error: Unexpected failure" +} +trap 'on_error $LINENO' ERR + +if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then + # If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy + # frameworks to, so exit 0 (signalling the script phase was successful). + exit 0 +fi + +echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" +mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + +COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}" +SWIFT_STDLIB_PATH="${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" +BCSYMBOLMAP_DIR="BCSymbolMaps" + + +# This protects against multiple targets copying the same framework dependency at the same time. The solution +# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html +RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") + +# Copies and strips a vendored framework +install_framework() +{ + if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then + local source="${BUILT_PRODUCTS_DIR}/$1" + elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then + local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")" + elif [ -r "$1" ]; then + local source="$1" + fi + + local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + + if [ -L "${source}" ]; then + echo "Symlinked..." + source="$(readlink -f "${source}")" + fi + + if [ -d "${source}/${BCSYMBOLMAP_DIR}" ]; then + # Locate and install any .bcsymbolmaps if present, and remove them from the .framework before the framework is copied + find "${source}/${BCSYMBOLMAP_DIR}" -name "*.bcsymbolmap"|while read f; do + echo "Installing $f" + install_bcsymbolmap "$f" "$destination" + rm "$f" + done + rmdir "${source}/${BCSYMBOLMAP_DIR}" + fi + + # Use filter instead of exclude so missing patterns don't throw errors. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" + + local basename + basename="$(basename -s .framework "$1")" + binary="${destination}/${basename}.framework/${basename}" + + if ! [ -r "$binary" ]; then + binary="${destination}/${basename}" + elif [ -L "${binary}" ]; then + echo "Destination binary is symlinked..." + dirname="$(dirname "${binary}")" + binary="${dirname}/$(readlink "${binary}")" + fi + + # Strip invalid architectures so "fat" simulator / device frameworks work on device + if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then + strip_invalid_archs "$binary" + fi + + # Resign the code if required by the build settings to avoid unstable apps + code_sign_if_enabled "${destination}/$(basename "$1")" + + # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. + if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then + local swift_runtime_libs + swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u) + for lib in $swift_runtime_libs; do + echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" + rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" + code_sign_if_enabled "${destination}/${lib}" + done + fi +} +# Copies and strips a vendored dSYM +install_dsym() { + local source="$1" + warn_missing_arch=${2:-true} + if [ -r "$source" ]; then + # Copy the dSYM into the targets temp dir. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DERIVED_FILES_DIR}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}" + + local basename + basename="$(basename -s .dSYM "$source")" + binary_name="$(ls "$source/Contents/Resources/DWARF")" + binary="${DERIVED_FILES_DIR}/${basename}.dSYM/Contents/Resources/DWARF/${binary_name}" + + # Strip invalid architectures from the dSYM. + if [[ "$(file "$binary")" == *"Mach-O "*"dSYM companion"* ]]; then + strip_invalid_archs "$binary" "$warn_missing_arch" + fi + if [[ $STRIP_BINARY_RETVAL == 0 ]]; then + # Move the stripped file into its final destination. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.dSYM" "${DWARF_DSYM_FOLDER_PATH}" + else + # The dSYM was not stripped at all, in this case touch a fake folder so the input/output paths from Xcode do not reexecute this script because the file is missing. + mkdir -p "${DWARF_DSYM_FOLDER_PATH}" + touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.dSYM" + fi + fi +} + +# Used as a return value for each invocation of `strip_invalid_archs` function. +STRIP_BINARY_RETVAL=0 + +# Strip invalid architectures +strip_invalid_archs() { + binary="$1" + warn_missing_arch=${2:-true} + # Get architectures for current target binary + binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)" + # Intersect them with the architectures we are building for + intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)" + # If there are no archs supported by this binary then warn the user + if [[ -z "$intersected_archs" ]]; then + if [[ "$warn_missing_arch" == "true" ]]; then + echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)." + fi + STRIP_BINARY_RETVAL=1 + return + fi + stripped="" + for arch in $binary_archs; do + if ! [[ "${ARCHS}" == *"$arch"* ]]; then + # Strip non-valid architectures in-place + lipo -remove "$arch" -output "$binary" "$binary" + stripped="$stripped $arch" + fi + done + if [[ "$stripped" ]]; then + echo "Stripped $binary of architectures:$stripped" + fi + STRIP_BINARY_RETVAL=0 +} + +# Copies the bcsymbolmap files of a vendored framework +install_bcsymbolmap() { + local bcsymbolmap_path="$1" + local destination="${BUILT_PRODUCTS_DIR}" + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}" +} + +# Signs a framework with the provided identity +code_sign_if_enabled() { + if [ -n "${EXPANDED_CODE_SIGN_IDENTITY:-}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then + # Use the current code_sign_identity + echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" + local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'" + + if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then + code_sign_cmd="$code_sign_cmd &" + fi + echo "$code_sign_cmd" + eval "$code_sign_cmd" + fi +} + +if [[ "$CONFIGURATION" == "Debug" ]]; then + install_framework "${BUILT_PRODUCTS_DIR}/FlyingEmojis/FlyingEmojis.framework" +fi +if [[ "$CONFIGURATION" == "Release" ]]; then + install_framework "${BUILT_PRODUCTS_DIR}/FlyingEmojis/FlyingEmojis.framework" +fi +if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then + wait +fi diff --git a/quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz-umbrella.h b/quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz-umbrella.h new file mode 100644 index 0000000..b4b029e --- /dev/null +++ b/quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz-umbrella.h @@ -0,0 +1,16 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + + +FOUNDATION_EXPORT double Pods_quizzzVersionNumber; +FOUNDATION_EXPORT const unsigned char Pods_quizzzVersionString[]; + diff --git a/quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz.debug.xcconfig b/quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz.debug.xcconfig new file mode 100644 index 0000000..93b8550 --- /dev/null +++ b/quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz.debug.xcconfig @@ -0,0 +1,15 @@ +ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/FlyingEmojis" +LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FlyingEmojis" "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift +OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/FlyingEmojis/FlyingEmojis.modulemap" +OTHER_LDFLAGS = $(inherited) -ObjC -l"FlyingEmojis" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/FlyingEmojis/FlyingEmojis.modulemap" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. +PODS_ROOT = ${SRCROOT}/Pods +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FlyingEmojis" +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz.modulemap b/quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz.modulemap new file mode 100644 index 0000000..29639a9 --- /dev/null +++ b/quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz.modulemap @@ -0,0 +1,6 @@ +module Pods_quizzz { + umbrella header "Pods-quizzz-umbrella.h" + + export * + module * { export * } +} diff --git a/quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz.release.xcconfig b/quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz.release.xcconfig new file mode 100644 index 0000000..93b8550 --- /dev/null +++ b/quizzz/Pods/Target Support Files/Pods-quizzz/Pods-quizzz.release.xcconfig @@ -0,0 +1,15 @@ +ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/FlyingEmojis" +LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FlyingEmojis" "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift +OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/FlyingEmojis/FlyingEmojis.modulemap" +OTHER_LDFLAGS = $(inherited) -ObjC -l"FlyingEmojis" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/FlyingEmojis/FlyingEmojis.modulemap" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. +PODS_ROOT = ${SRCROOT}/Pods +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FlyingEmojis" +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/quizzz/quizzz.xcodeproj/project.pbxproj b/quizzz/quizzz.xcodeproj/project.pbxproj index bc0eb3c..9835c66 100644 --- a/quizzz/quizzz.xcodeproj/project.pbxproj +++ b/quizzz/quizzz.xcodeproj/project.pbxproj @@ -7,6 +7,7 @@ objects = { /* Begin PBXBuildFile section */ + 18DE7C940A2CFB76EAAA9718 /* libPods-quizzz.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E18490FD38A729BBC0624AB7 /* libPods-quizzz.a */; }; A676A2A92B2D9A52002DA5F4 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = A676A2A82B2D9A52002DA5F4 /* AppDelegate.swift */; }; A676A2AB2B2D9A52002DA5F4 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = A676A2AA2B2D9A52002DA5F4 /* SceneDelegate.swift */; }; A676A2AD2B2D9A52002DA5F4 /* MainScreenViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A676A2AC2B2D9A52002DA5F4 /* MainScreenViewController.swift */; }; @@ -16,6 +17,7 @@ /* End PBXBuildFile section */ /* Begin PBXFileReference section */ + 91CE8FC89997CD59DDA1555B /* Pods-quizzz.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-quizzz.debug.xcconfig"; path = "Target Support Files/Pods-quizzz/Pods-quizzz.debug.xcconfig"; sourceTree = ""; }; A676A2A52B2D9A52002DA5F4 /* quizzz.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = quizzz.app; sourceTree = BUILT_PRODUCTS_DIR; }; A676A2A82B2D9A52002DA5F4 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; A676A2AA2B2D9A52002DA5F4 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; @@ -24,6 +26,9 @@ A676A2B42B2D9A54002DA5F4 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; A676A2B62B2D9A54002DA5F4 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; A7F247612B2DCC0B00A267E5 /* MainScreenCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainScreenCell.swift; sourceTree = ""; }; + B4B317CD2B2DEEAA005FA6C4 /* FlyingEmojis.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = FlyingEmojis.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B83E7A68CCA3F8F04C24E6AC /* Pods-quizzz.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-quizzz.release.xcconfig"; path = "Target Support Files/Pods-quizzz/Pods-quizzz.release.xcconfig"; sourceTree = ""; }; + E18490FD38A729BBC0624AB7 /* libPods-quizzz.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-quizzz.a"; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -31,17 +36,29 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 18DE7C940A2CFB76EAAA9718 /* libPods-quizzz.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 79FB24952FF63C3ECA90421D /* Frameworks */ = { + isa = PBXGroup; + children = ( + B4B317CD2B2DEEAA005FA6C4 /* FlyingEmojis.framework */, + E18490FD38A729BBC0624AB7 /* libPods-quizzz.a */, + ); + name = Frameworks; + sourceTree = ""; + }; A676A29C2B2D9A52002DA5F4 = { isa = PBXGroup; children = ( A676A2A72B2D9A52002DA5F4 /* quizzz */, A676A2A62B2D9A52002DA5F4 /* Products */, + F099A1111B1E292A49332839 /* Pods */, + 79FB24952FF63C3ECA90421D /* Frameworks */, ); sourceTree = ""; }; @@ -75,6 +92,15 @@ path = MainScreenViewController; sourceTree = ""; }; + F099A1111B1E292A49332839 /* Pods */ = { + isa = PBXGroup; + children = ( + 91CE8FC89997CD59DDA1555B /* Pods-quizzz.debug.xcconfig */, + B83E7A68CCA3F8F04C24E6AC /* Pods-quizzz.release.xcconfig */, + ); + path = Pods; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -82,6 +108,7 @@ isa = PBXNativeTarget; buildConfigurationList = A676A2B92B2D9A54002DA5F4 /* Build configuration list for PBXNativeTarget "quizzz" */; buildPhases = ( + 1EC3678D977B2FA565EDEDD4 /* [CP] Check Pods Manifest.lock */, A676A2A12B2D9A52002DA5F4 /* Sources */, A676A2A22B2D9A52002DA5F4 /* Frameworks */, A676A2A32B2D9A52002DA5F4 /* Resources */, @@ -140,6 +167,31 @@ }; /* End PBXResourcesBuildPhase section */ +/* Begin PBXShellScriptBuildPhase section */ + 1EC3678D977B2FA565EDEDD4 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-quizzz-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + /* Begin PBXSourcesBuildPhase section */ A676A2A12B2D9A52002DA5F4 /* Sources */ = { isa = PBXSourcesBuildPhase; @@ -287,6 +339,7 @@ }; A676A2BA2B2D9A54002DA5F4 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 91CE8FC89997CD59DDA1555B /* Pods-quizzz.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; @@ -315,6 +368,7 @@ }; A676A2BB2B2D9A54002DA5F4 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = B83E7A68CCA3F8F04C24E6AC /* Pods-quizzz.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; diff --git a/quizzz/quizzz.xcworkspace/contents.xcworkspacedata b/quizzz/quizzz.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..f51b918 --- /dev/null +++ b/quizzz/quizzz.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/quizzz/quizzz.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/quizzz/quizzz.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/quizzz/quizzz.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/quizzz/quizzz/MainScreenViewController/MainScreenViewController.swift b/quizzz/quizzz/MainScreenViewController/MainScreenViewController.swift index 11322de..bb440e5 100644 --- a/quizzz/quizzz/MainScreenViewController/MainScreenViewController.swift +++ b/quizzz/quizzz/MainScreenViewController/MainScreenViewController.swift @@ -33,7 +33,7 @@ final class MainScreenViewController: UIViewController { } func setupImageView(){ - imageView.image = .logo +// imageView.image = .logo } func addSubvievs(){ From 96eab50464101e501fe4f53e70181ba977f3132d Mon Sep 17 00:00:00 2001 From: lolleyball Date: Sat, 16 Dec 2023 17:59:23 +0300 Subject: [PATCH 4/4] Added emojis backgrond to main screen --- quizzz/Podfile.lock | 2 +- .../ParticleAnimationView.swift | 2 ++ quizzz/Pods/Manifest.lock | 2 +- .../MainScreenViewController.swift | 23 +++++++++++++++++++ 4 files changed, 27 insertions(+), 2 deletions(-) diff --git a/quizzz/Podfile.lock b/quizzz/Podfile.lock index 5553acf..6252115 100644 --- a/quizzz/Podfile.lock +++ b/quizzz/Podfile.lock @@ -10,7 +10,7 @@ EXTERNAL SOURCES: CHECKOUT OPTIONS: FlyingEmojis: - :commit: 94e462153dcbf21e1ae1ecf3c542aec8748d5155 + :commit: b09ce0cddbf4b35226315222373c604f2da4c7a8 :git: https://github.com/LolleyBall/FlyingEmojis.git SPEC CHECKSUMS: diff --git a/quizzz/Pods/FlyingEmojis/FlyingEmojis/ParticleAnimationView/ParticleAnimationView.swift b/quizzz/Pods/FlyingEmojis/FlyingEmojis/ParticleAnimationView/ParticleAnimationView.swift index b281384..4f34dd1 100644 --- a/quizzz/Pods/FlyingEmojis/FlyingEmojis/ParticleAnimationView/ParticleAnimationView.swift +++ b/quizzz/Pods/FlyingEmojis/FlyingEmojis/ParticleAnimationView/ParticleAnimationView.swift @@ -52,6 +52,8 @@ public class ParticleAnimationView: UIView { particleEmitter.emitterSize = CGSize(width: bounds.size.height, height: 1) particleEmitter.renderMode = .backToFront particleEmitter.birthRate = 1 + gradientLayer.frame = frame + gradientLayer.bounds = bounds } public func lavaLampAnimation() { diff --git a/quizzz/Pods/Manifest.lock b/quizzz/Pods/Manifest.lock index 5553acf..6252115 100644 --- a/quizzz/Pods/Manifest.lock +++ b/quizzz/Pods/Manifest.lock @@ -10,7 +10,7 @@ EXTERNAL SOURCES: CHECKOUT OPTIONS: FlyingEmojis: - :commit: 94e462153dcbf21e1ae1ecf3c542aec8748d5155 + :commit: b09ce0cddbf4b35226315222373c604f2da4c7a8 :git: https://github.com/LolleyBall/FlyingEmojis.git SPEC CHECKSUMS: diff --git a/quizzz/quizzz/MainScreenViewController/MainScreenViewController.swift b/quizzz/quizzz/MainScreenViewController/MainScreenViewController.swift index bb440e5..542e696 100644 --- a/quizzz/quizzz/MainScreenViewController/MainScreenViewController.swift +++ b/quizzz/quizzz/MainScreenViewController/MainScreenViewController.swift @@ -6,6 +6,7 @@ // import UIKit +import FlyingEmojis final class MainScreenViewController: UIViewController { @@ -14,6 +15,7 @@ final class MainScreenViewController: UIViewController { private let label = UILabel() private let imageView = UIImageView() + private let emojisBackground = ParticleAnimationView() override func viewDidLoad() { super.viewDidLoad() @@ -22,7 +24,12 @@ final class MainScreenViewController: UIViewController { setupConstraints() setupLable() setupImageView() + setupEmojisBackground() + } + override func viewDidLayoutSubviews() { + super.viewDidLayoutSubviews() + emojisBackground.updateBounds() } func setupLable(){ @@ -39,12 +46,19 @@ final class MainScreenViewController: UIViewController { func addSubvievs(){ label.translatesAutoresizingMaskIntoConstraints = false imageView.translatesAutoresizingMaskIntoConstraints = false + emojisBackground.translatesAutoresizingMaskIntoConstraints = false + view.addSubview(emojisBackground) view.addSubview(imageView) view.addSubview(label) } func setupConstraints() { NSLayoutConstraint.activate([ + emojisBackground.topAnchor.constraint(equalTo: view.topAnchor), + emojisBackground.leftAnchor.constraint(equalTo: view.leftAnchor), + emojisBackground.rightAnchor.constraint(equalTo: view.rightAnchor), + emojisBackground.bottomAnchor.constraint(equalTo: view.bottomAnchor), + imageView.topAnchor.constraint(equalTo: view.topAnchor,constant: 100), imageView.leftAnchor.constraint(equalTo: view.leftAnchor,constant: 90), imageView.rightAnchor.constraint(equalTo: view.rightAnchor,constant: -90), @@ -59,6 +73,15 @@ final class MainScreenViewController: UIViewController { } } +// MARK: - Private Methods - +private extension MainScreenViewController { + func setupEmojisBackground() { + emojisBackground.update(with: .init(mainImage: "🤡".toImage(), + secondaryImage: "🎪".toImage(), + tertiaryImage: "🎠".toImage())) + } +} + extension MainScreenViewController{ // func setupCollectionView(){