From 573b83efa22b787e6c554eba0ff39f28672add57 Mon Sep 17 00:00:00 2001 From: Sagar Viradiya Date: Fri, 29 Jan 2021 23:52:18 +0530 Subject: [PATCH 1/9] Support for gif transformation - Add interface for animated transformation. - Register post processor in ImageDecoderDecoder.kt to invoke transformation after decoding. - Invoke transformation after drawing to software canvas in case of MovieDrawable.kt - Add extension method on ImageRequest.Builder to allow adding AnimatedTransformation.kt --- .../src/main/java/coil/decode/GifDecoder.kt | 7 ++++ .../java/coil/decode/ImageDecoderDecoder.kt | 10 +++++ .../main/java/coil/drawable/MovieDrawable.kt | 20 +++++++++ coil-gif/src/main/java/coil/request/Gifs.kt | 20 +++++++++ .../coil/transform/AnimatedTransformation.kt | 42 +++++++++++++++++++ 5 files changed, 99 insertions(+) create mode 100644 coil-gif/src/main/java/coil/transform/AnimatedTransformation.kt diff --git a/coil-gif/src/main/java/coil/decode/GifDecoder.kt b/coil-gif/src/main/java/coil/decode/GifDecoder.kt index a16954fa23..5969b08c6b 100644 --- a/coil-gif/src/main/java/coil/decode/GifDecoder.kt +++ b/coil-gif/src/main/java/coil/decode/GifDecoder.kt @@ -7,6 +7,7 @@ import android.graphics.Movie import android.os.Build.VERSION.SDK_INT import coil.bitmap.BitmapPool import coil.drawable.MovieDrawable +import coil.request.animatedTransformation import coil.request.repeatCount import coil.size.Size import okio.BufferedSource @@ -56,6 +57,11 @@ class GifDecoder : Decoder { drawable.setRepeatCount(options.parameters.repeatCount() ?: MovieDrawable.REPEAT_INFINITE) + // Set the animated transformation to be applied on each frame. + options.parameters.animatedTransformation()?.let { + drawable.setAnimatedTransformation(it) + } + DecodeResult( drawable = drawable, isSampled = false @@ -64,5 +70,6 @@ class GifDecoder : Decoder { companion object { const val REPEAT_COUNT_KEY = "coil#repeat_count" + const val ANIMATED_TRANSFORMATION = "coil#animated_transformation" } } diff --git a/coil-gif/src/main/java/coil/decode/ImageDecoderDecoder.kt b/coil-gif/src/main/java/coil/decode/ImageDecoderDecoder.kt index cc9f05a532..b90be1436e 100644 --- a/coil-gif/src/main/java/coil/decode/ImageDecoderDecoder.kt +++ b/coil-gif/src/main/java/coil/decode/ImageDecoderDecoder.kt @@ -12,6 +12,7 @@ import androidx.core.util.component1 import androidx.core.util.component2 import coil.bitmap.BitmapPool import coil.drawable.ScaleDrawable +import coil.request.animatedTransformation import coil.request.repeatCount import coil.size.PixelSize import coil.size.Size @@ -59,6 +60,14 @@ class ImageDecoderDecoder : Decoder { } val baseDrawable = decoderSource.decodeDrawable { info, _ -> + + // Setup post processor for transformation after decoding + options.parameters.animatedTransformation()?.let { animatedTransformation -> + setPostProcessor { canvas -> + animatedTransformation.transform(canvas, size).opacity + } + } + // It's safe to delete the temp file here. tempFile?.delete() @@ -121,5 +130,6 @@ class ImageDecoderDecoder : Decoder { companion object { const val REPEAT_COUNT_KEY = GifDecoder.REPEAT_COUNT_KEY + const val ANIMATED_TRANSFORMATION = GifDecoder.ANIMATED_TRANSFORMATION } } diff --git a/coil-gif/src/main/java/coil/drawable/MovieDrawable.kt b/coil-gif/src/main/java/coil/drawable/MovieDrawable.kt index f13a89503d..3e061576dd 100644 --- a/coil-gif/src/main/java/coil/drawable/MovieDrawable.kt +++ b/coil-gif/src/main/java/coil/drawable/MovieDrawable.kt @@ -20,7 +20,9 @@ import androidx.vectordrawable.graphics.drawable.Animatable2Compat import coil.bitmap.BitmapPool import coil.decode.DecodeUtils import coil.decode.ImageDecoderDecoder +import coil.size.PixelSize import coil.size.Scale +import coil.transform.AnimatedTransformation /** * A [Drawable] that supports rendering [Movie]s (i.e. GIFs). @@ -54,6 +56,8 @@ class MovieDrawable @JvmOverloads constructor( private var repeatCount = REPEAT_INFINITE private var loopIteration = 0 + private var animatedTransformation: AnimatedTransformation? = null + init { require(SDK_INT < 26 || config != Bitmap.Config.HARDWARE) { "Bitmap config must not be hardware." } } @@ -87,6 +91,8 @@ class MovieDrawable @JvmOverloads constructor( softwareCanvas.withSave { scale(softwareScale, softwareScale) movie.draw(this, 0f, 0f, paint) + // Apply transformation on frame + animatedTransformation?.transform(this, PixelSize(movie.width(), movie.height())) } // Draw onto the input canvas (may or may not be hardware). @@ -121,6 +127,20 @@ class MovieDrawable @JvmOverloads constructor( /** Get the number of times the animation will repeat. */ fun getRepeatCount(): Int = repeatCount + /** + * Set the transformation to be applied on each frame. + */ + fun setAnimatedTransformation(animatedTransformation: AnimatedTransformation) { + this.animatedTransformation = animatedTransformation + } + + /** + * Get the applied transformation. + */ + fun getAnimatedTransformation(): AnimatedTransformation? { + return animatedTransformation + } + override fun setAlpha(alpha: Int) { require(alpha in 0..255) { "Invalid alpha: $alpha" } paint.alpha = alpha diff --git a/coil-gif/src/main/java/coil/request/Gifs.kt b/coil-gif/src/main/java/coil/request/Gifs.kt index e29b338152..da10cedbcd 100644 --- a/coil-gif/src/main/java/coil/request/Gifs.kt +++ b/coil-gif/src/main/java/coil/request/Gifs.kt @@ -5,8 +5,10 @@ package coil.request import android.graphics.drawable.AnimatedImageDrawable import android.graphics.drawable.Drawable +import coil.decode.GifDecoder.Companion.ANIMATED_TRANSFORMATION import coil.decode.GifDecoder.Companion.REPEAT_COUNT_KEY import coil.drawable.MovieDrawable +import coil.transform.AnimatedTransformation /** * Set the number of times to repeat the animation if the result is an animated [Drawable]. @@ -23,3 +25,21 @@ fun ImageRequest.Builder.repeatCount(repeatCount: Int): ImageRequest.Builder { /** Get the number of times to repeat the animation if the result is an animated [Drawable]. */ fun Parameters.repeatCount(): Int? = value(REPEAT_COUNT_KEY) as Int? + +/** + * Set the transformation for GIFs, animated WebPs, and animated HEIFs. + * + * @see [MovieDrawable.setAnimatedTransformation] + * @see [coil.decode.ImageDecoderDecoder.decode] + */ +fun ImageRequest.Builder.animatedTransformation(animatedTransformation: AnimatedTransformation): ImageRequest.Builder { + return setParameter(ANIMATED_TRANSFORMATION, animatedTransformation) +} + +/** + * Get the [AnimatedTransformation] applied on GIFs, animated WebPs, and animated HEIFs. + */ +fun Parameters.animatedTransformation(): AnimatedTransformation? { + return value(ANIMATED_TRANSFORMATION) as AnimatedTransformation? +} + diff --git a/coil-gif/src/main/java/coil/transform/AnimatedTransformation.kt b/coil-gif/src/main/java/coil/transform/AnimatedTransformation.kt new file mode 100644 index 0000000000..717e75d23c --- /dev/null +++ b/coil-gif/src/main/java/coil/transform/AnimatedTransformation.kt @@ -0,0 +1,42 @@ +package coil.transform + +import android.graphics.Canvas +import coil.size.Size +import android.graphics.PixelFormat as AndroidPixelFormat + +/** + * An interface for applying transformation on GIFs, animated WebPs, and animated HEIFs. + */ +interface AnimatedTransformation { + + /** + * Apply transformation on [canvas] + * + * Note: Do not allocate objects within if you are using [coil.decode.GifDecoder] as this method would be invoked + * for each frame. + * + * @return Opacity of the result after drawing. + * [PixelFormat.UNKNOWN] means that the implementation did not change whether the image has alpha. Return + * this unless you added transparency (e.g. with the code above, in which case you should return + * [PixelFormat.TRANSLUCENT]) or you forced the image to be opaque (e.g. by drawing everywhere with an + * opaque color and [PorterDuff.Mode.DST_OVER], in which case you should return [PixelFormat.OPAQUE]). + * [PixelFormat.TRANSLUCENT] means that the implementation added transparency. This is safe to return even + * if the image already had transparency. This is also safe to return if the result is opaque, + * though it may draw more slowly. + * [PixelFormat.OPAQUE] means that the implementation forced the image to be opaque. This is safe to return + * even if the image was already opaque. + * [PixelFormat.TRANSPARENT] (or any other integer) is not allowed, and will result in throwing an + * [java.lang.IllegalArgumentException]. + */ + fun transform(canvas: Canvas, size: Size): PixelFormat + + /** + * Opacity of the result after drawing. + */ + enum class PixelFormat(val opacity: Int) { + UNKNOWN(AndroidPixelFormat.UNKNOWN), + TRANSLUCENT(AndroidPixelFormat.TRANSLUCENT), + OPAQUE(AndroidPixelFormat.OPAQUE), + TRANSPARENT(AndroidPixelFormat.TRANSPARENT) + } +} From 5b351a752dbe2f9305e2cd093e5ead613bd5a1da Mon Sep 17 00:00:00 2001 From: Sagar Viradiya Date: Sat, 30 Jan 2021 00:03:54 +0530 Subject: [PATCH 2/9] Code formatting - Remove extra line at the end of Gifs.kt --- coil-gif/src/main/java/coil/request/Gifs.kt | 1 - 1 file changed, 1 deletion(-) diff --git a/coil-gif/src/main/java/coil/request/Gifs.kt b/coil-gif/src/main/java/coil/request/Gifs.kt index da10cedbcd..ce534fca83 100644 --- a/coil-gif/src/main/java/coil/request/Gifs.kt +++ b/coil-gif/src/main/java/coil/request/Gifs.kt @@ -42,4 +42,3 @@ fun ImageRequest.Builder.animatedTransformation(animatedTransformation: Animated fun Parameters.animatedTransformation(): AnimatedTransformation? { return value(ANIMATED_TRANSFORMATION) as AnimatedTransformation? } - From 1779e761e3832dd4105a7eaf0d203e776012bd00 Mon Sep 17 00:00:00 2001 From: Sagar Viradiya Date: Wed, 3 Feb 2021 23:20:47 +0530 Subject: [PATCH 3/9] Instrumentation test - Add test to check rounded corner transformation is producing correct result on an image. --- coil-gif/build.gradle.kts | 5 +++ ...AnimatedRoundedCornerTransformationTest.kt | 36 +++++++++++++++++++ .../coil/util/RoundedCornerTransformation.kt | 25 +++++++++++++ 3 files changed, 66 insertions(+) create mode 100644 coil-gif/src/androidTest/java/coil/transform/AnimatedRoundedCornerTransformationTest.kt create mode 100644 coil-gif/src/androidTest/java/coil/util/RoundedCornerTransformation.kt diff --git a/coil-gif/build.gradle.kts b/coil-gif/build.gradle.kts index 9c3c87b3db..898da1e716 100644 --- a/coil-gif/build.gradle.kts +++ b/coil-gif/build.gradle.kts @@ -1,5 +1,8 @@ import coil.Library +import coil.addAndroidTestDependencies import coil.setupLibraryModule +import org.jetbrains.kotlin.config.KotlinCompilerVersion + plugins { id("com.android.library") @@ -15,4 +18,6 @@ dependencies { implementation(Library.ANDROIDX_CORE) implementation(Library.ANDROIDX_VECTOR_DRAWABLE_ANIMATED) + + addAndroidTestDependencies(KotlinCompilerVersion.VERSION) } diff --git a/coil-gif/src/androidTest/java/coil/transform/AnimatedRoundedCornerTransformationTest.kt b/coil-gif/src/androidTest/java/coil/transform/AnimatedRoundedCornerTransformationTest.kt new file mode 100644 index 0000000000..c9471b8368 --- /dev/null +++ b/coil-gif/src/androidTest/java/coil/transform/AnimatedRoundedCornerTransformationTest.kt @@ -0,0 +1,36 @@ +package coil.transform + +import android.content.Context +import android.graphics.Bitmap +import android.graphics.Canvas +import androidx.test.core.app.ApplicationProvider +import coil.size.PixelSize +import coil.util.RoundedCornerTransformation +import coil.util.decodeBitmapAsset +import coil.util.isSimilarTo +import org.junit.Before +import org.junit.Test +import kotlin.test.assertTrue + +class AnimatedRoundedCornerTransformationTest { + + private lateinit var context: Context + private lateinit var transformation: RoundedCornerTransformation + + @Before + fun before() { + context = ApplicationProvider.getApplicationContext() + transformation = RoundedCornerTransformation() + } + + @Test + fun basic() { + val input = context.decodeBitmapAsset("normal_small.jpg") + val expected = context.decodeBitmapAsset("normal_small_rounded_corners.png") + val actual = Bitmap.createBitmap(input.width, input.height, Bitmap.Config.ARGB_8888) + val canvas = Canvas(actual) + canvas.drawBitmap(input, 0f, 0f, null) + transformation.transform(canvas, PixelSize(input.width, input.height)) + assertTrue(actual.isSimilarTo(expected)) + } +} diff --git a/coil-gif/src/androidTest/java/coil/util/RoundedCornerTransformation.kt b/coil-gif/src/androidTest/java/coil/util/RoundedCornerTransformation.kt new file mode 100644 index 0000000000..9bd28896e8 --- /dev/null +++ b/coil-gif/src/androidTest/java/coil/util/RoundedCornerTransformation.kt @@ -0,0 +1,25 @@ +package coil.util + +import android.graphics.* +import android.os.Build +import coil.size.Size +import coil.transform.AnimatedTransformation +import kotlin.math.min + +class RoundedCornerTransformation : AnimatedTransformation { + override fun transform(canvas: Canvas, size: Size): AnimatedTransformation.PixelFormat { + val path = Path() + path.fillType = Path.FillType.INVERSE_EVEN_ODD + val width = canvas.width + val height = canvas.height + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + path.addRoundRect(0f, 0f, width.toFloat(), height.toFloat(), 20f, 20f, Path.Direction.CW) + } + val paint = Paint() + paint.isAntiAlias = true + paint.color = Color.TRANSPARENT + paint.xfermode = PorterDuffXfermode(PorterDuff.Mode.SRC) + canvas.drawPath(path, paint) + return AnimatedTransformation.PixelFormat.TRANSLUCENT + } +} From 3321f2eff09753c85223561e87a56c838284704c Mon Sep 17 00:00:00 2001 From: Sagar Viradiya Date: Fri, 5 Feb 2021 23:53:03 +0530 Subject: [PATCH 4/9] Instrumentation test - Modify instrumentation test to verify gif, heif and webp transformations. --- ...AnimatedRoundedCornerTransformationTest.kt | 36 ------- .../transform/AnimatedTransformationTest.kt | 93 ++++++++++++++++++ .../coil/util/RoundedCornerTransformation.kt | 4 +- .../src/main/assets/animated_gif_rounded.png | Bin 0 -> 20512 bytes .../src/main/assets/animated_heif_rounded.png | Bin 0 -> 69157 bytes .../src/main/assets/animated_webp_rounded.png | Bin 0 -> 95108 bytes 6 files changed, 94 insertions(+), 39 deletions(-) delete mode 100644 coil-gif/src/androidTest/java/coil/transform/AnimatedRoundedCornerTransformationTest.kt create mode 100644 coil-gif/src/androidTest/java/coil/transform/AnimatedTransformationTest.kt create mode 100644 coil-test/src/main/assets/animated_gif_rounded.png create mode 100644 coil-test/src/main/assets/animated_heif_rounded.png create mode 100644 coil-test/src/main/assets/animated_webp_rounded.png diff --git a/coil-gif/src/androidTest/java/coil/transform/AnimatedRoundedCornerTransformationTest.kt b/coil-gif/src/androidTest/java/coil/transform/AnimatedRoundedCornerTransformationTest.kt deleted file mode 100644 index c9471b8368..0000000000 --- a/coil-gif/src/androidTest/java/coil/transform/AnimatedRoundedCornerTransformationTest.kt +++ /dev/null @@ -1,36 +0,0 @@ -package coil.transform - -import android.content.Context -import android.graphics.Bitmap -import android.graphics.Canvas -import androidx.test.core.app.ApplicationProvider -import coil.size.PixelSize -import coil.util.RoundedCornerTransformation -import coil.util.decodeBitmapAsset -import coil.util.isSimilarTo -import org.junit.Before -import org.junit.Test -import kotlin.test.assertTrue - -class AnimatedRoundedCornerTransformationTest { - - private lateinit var context: Context - private lateinit var transformation: RoundedCornerTransformation - - @Before - fun before() { - context = ApplicationProvider.getApplicationContext() - transformation = RoundedCornerTransformation() - } - - @Test - fun basic() { - val input = context.decodeBitmapAsset("normal_small.jpg") - val expected = context.decodeBitmapAsset("normal_small_rounded_corners.png") - val actual = Bitmap.createBitmap(input.width, input.height, Bitmap.Config.ARGB_8888) - val canvas = Canvas(actual) - canvas.drawBitmap(input, 0f, 0f, null) - transformation.transform(canvas, PixelSize(input.width, input.height)) - assertTrue(actual.isSimilarTo(expected)) - } -} diff --git a/coil-gif/src/androidTest/java/coil/transform/AnimatedTransformationTest.kt b/coil-gif/src/androidTest/java/coil/transform/AnimatedTransformationTest.kt new file mode 100644 index 0000000000..db79ae23bd --- /dev/null +++ b/coil-gif/src/androidTest/java/coil/transform/AnimatedTransformationTest.kt @@ -0,0 +1,93 @@ +package coil.transform + +import android.content.ContentResolver +import android.content.Context +import android.graphics.Bitmap +import android.os.Build.VERSION.SDK_INT +import androidx.core.graphics.drawable.toBitmap +import androidx.test.core.app.ApplicationProvider +import coil.ImageLoader +import coil.decode.GifDecoder +import coil.decode.ImageDecoderDecoder +import coil.request.CachePolicy +import coil.request.ImageRequest +import coil.request.animatedTransformation +import coil.util.RoundedCornerTransformation +import coil.util.decodeBitmapAsset +import coil.util.isSimilarTo +import kotlinx.coroutines.runBlocking +import org.junit.Before +import org.junit.Test +import kotlin.test.assertTrue + +class AnimatedTransformationTest { + + private lateinit var context: Context + private lateinit var transformation: RoundedCornerTransformation + private lateinit var imageLoader: ImageLoader + private lateinit var imageRequestBuilder: ImageRequest.Builder + + @Before + fun before() { + context = ApplicationProvider.getApplicationContext() + transformation = RoundedCornerTransformation() + imageLoader = ImageLoader.Builder(context) + .crossfade(false) + .memoryCachePolicy(CachePolicy.DISABLED) + .diskCachePolicy(CachePolicy.DISABLED) + .build() + imageRequestBuilder = ImageRequest.Builder(context) + .bitmapConfig(Bitmap.Config.ARGB_8888) + .animatedTransformation(transformation) + } + + @Test + fun gifTransformationTest() { + val actual = runBlocking { + val decoder = if (SDK_INT >= 28) { + ImageDecoderDecoder() + } else { + GifDecoder() + } + val imageRequest = imageRequestBuilder + .decoder(decoder) + .data("${ContentResolver.SCHEME_FILE}:///android_asset/animated.gif") + .build() + imageLoader.execute(imageRequest) + } + val expected = context.decodeBitmapAsset("animated_gif_rounded.png") + assertTrue(actual.drawable?.toBitmap()?.isSimilarTo(expected) ?: false) + } + + @Test + fun heifTransformationTest() { + require(SDK_INT >= 28) { + "Require API level 28 or above for HEIF support" + } + val actual = runBlocking { + val imageRequest = imageRequestBuilder + .decoder(ImageDecoderDecoder()) + .data("${ContentResolver.SCHEME_FILE}:///android_asset/animated.heif") + .build() + imageLoader.execute(imageRequest) + } + val expected = context.decodeBitmapAsset("animated_heif_rounded.png") + assertTrue(actual.drawable?.toBitmap()?.isSimilarTo(expected) ?: false) + } + + @Test + fun webpTransformationTest() { + require(SDK_INT >= 28) { + "Require API level 28 or above for HEIF support" + } + val actual = runBlocking { + val imageRequest = imageRequestBuilder + .decoder(ImageDecoderDecoder()) + .data("${ContentResolver.SCHEME_FILE}:///android_asset/animated.webp") + .build() + imageLoader.execute(imageRequest) + } + val expected = context.decodeBitmapAsset("animated_webp_rounded.png") + assertTrue(actual.drawable?.toBitmap()?.isSimilarTo(expected) ?: false) + } +} diff --git a/coil-gif/src/androidTest/java/coil/util/RoundedCornerTransformation.kt b/coil-gif/src/androidTest/java/coil/util/RoundedCornerTransformation.kt index 9bd28896e8..0f9fa634bd 100644 --- a/coil-gif/src/androidTest/java/coil/util/RoundedCornerTransformation.kt +++ b/coil-gif/src/androidTest/java/coil/util/RoundedCornerTransformation.kt @@ -12,9 +12,7 @@ class RoundedCornerTransformation : AnimatedTransformation { path.fillType = Path.FillType.INVERSE_EVEN_ODD val width = canvas.width val height = canvas.height - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { - path.addRoundRect(0f, 0f, width.toFloat(), height.toFloat(), 20f, 20f, Path.Direction.CW) - } + path.addRoundRect(0f, 0f, width.toFloat(), height.toFloat(), 20f, 20f, Path.Direction.CW) val paint = Paint() paint.isAntiAlias = true paint.color = Color.TRANSPARENT diff --git a/coil-test/src/main/assets/animated_gif_rounded.png b/coil-test/src/main/assets/animated_gif_rounded.png new file mode 100644 index 0000000000000000000000000000000000000000..be210f6f7f9cac2c268bc9120efe8f7660ca3591 GIT binary patch literal 20512 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 literal 0 HcmV?d00001 diff --git a/coil-test/src/main/assets/animated_heif_rounded.png b/coil-test/src/main/assets/animated_heif_rounded.png new file mode 100644 index 0000000000000000000000000000000000000000..7512cfb6defb51948ca7e9666e80944bcf7c0a29 GIT binary patch literal 69157 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

PLlVOjxQGnFI8!QK2A{&XB=*fbv2Tx~}% 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

55IbIcmN zl*cH@L8^#y5oi>rm6lRDf^m~Ymm{A=(JQDx6yfSgISAfUTm+G|_Oz?>EcK{pf870- zyYY>0d_$gv>y)vgaliow;Plf^M>?IBxn|-2A7A_&4m#u*Zm9^jF|YF@rlHmhQ!i+U zB}~@I-@WTbr)MVb)~HaY(zyUNAG}-~tY9E{Z}S)(Ur+T^y60_P$rR2Qh_&54ju;gL>pZ75%D}1NI1HyOG>R1;TQoVLuX@j9jMm^XH*J>1MheFMY&h5 z&BY3lYC+S$!6Zn!Nun3IC#Dq8OEtIBNAjYTatJE-OfRfktBF~37&#fSnVif$e3GSo zC`UiAK%fmyT4b@>KMa&@wIx<2jmJVT1@nAl-C;Uwdl- zCXF8{hjhE`wuAVB=(#xq-3|)adAsT2*JBG(gc%(Kh6=XZZZ=)_JW{(mX$dnJFk+A# zTj{M$|C;;MvjRnB^DUAo&dtS`DY-N)K~I60Y`0d0B?gw_im=2Oat)1AWtpR_P$a92 z_m*udUTntBbL#p%=w8*0uxkyh<_3X7GY!o&?+wH}vr>qBeZ&fF_ls<8kA@FfG+U_;i zUZu>L5k4r9PC=*mtRy>_+i*fZBjt#1Gbnc?NcvJrg_ZFiXCB@BI(pyWjmGdJ6&C zMokeRlp(FUrK1IJEhI)R;gT-S{KD68(S=tKqx7)nUOV9OOTH%>_o8K8m^OSYCQfL> z>0de>JMFlgnCy=~{uq97$t8H~;lHAN^mu8$bJFKerh9KM+UG+LJb>%3z6yW6=We9O zZ3eet5NT>zsoC%JF2&IHJWe|OSnNPdb<~i7Xm3ejO=kfwzxFzQcgLS`@eeLQdh`^r z3cmZzFXFQ&A1({d){9LC=adtV$H|{LPU`q%nnsZD>O^Mb6!x6J>RO6}_un1+?Yld+ z+G=yL@LqWCdCYzM37q@G^U3==2rVNfNOBQtkXe^~0R?ogScp?jI0~QGb9YRiJQ2$l zFTx{_J%n%n*LMk_9UmVwDFUI=Lgt;ln{6f$JTJZU93CMk?SIZYUs{+p4INL6(h~?% z^8`Wz*Z5*>jU782pZn}*u-y(jV&w3Fc;bn<`19TO;^Omuf$Zq1NVN{7gR1^1$tyDc zUrpZh1jcC`GaXj0Lz*^mgP&(!eGBg_T8;6;2Z+#VAlPjn&Bcmt5>Oo#=|ri92QzSW z&ayT>bm$abpsx{`$04e zn}~edSQHt;~ zcFmAcisrDidLGU`@hI#(b2GWuym?FT&|{C|XXjre8vY9_o>Xrl&Hc<>4#Er1yg_?7 zFCp|2x=g;PgZ9}42kx^6Hs5SIa&+IP=01U^o}&Hxqn}DK&ZZGlP$EH6CPgoktDwAg z0k+?263#sFGZ;2<0!EJ+hGKUGt4LTq^Yl}=^6G2x&_hq4b?hccW!g-%qK#FnR?D82 zHKe&`s}Gh_6O^*PufvW*bN;;&M)s~$X;2?4*>bd3G@nTj61LWSu7=&H{?&?BXNU@~ zZsbu|Bq@C@0Jim}6L9BsKSoCI-jZ>m1sF4=8DoZSf?c-V1pDl~Ee<>81UQ8@Gz}Uq z8Vc*{S(Bf!*|?$j2??1=Q^spyIMSfEo-`brk3R}09(gdf-hL0vU-%YUh71>mr5c$= zEU^NYGR|*iB00M(&RX6i4Ph5fJo#u`bisw9utine#viyVK6%itIO>>Vktglxe}4Ew zv^O=#v$2&p`N(~7@{xOEk9`irJ@-6;?Bp%U1aBvW$-|s&r{T9(o`=W{8J0C4VrXj$ zLuO9L4qI)8+2k+y)Mw5{wzXA)`~ogH!Fdpj<1@@wQ+SaZSUIHiHQFWNKi6LSOYAgj znnabbAEZP=XTLey;ecIc;ZsK(f+Ih3773JRksZ6K&Oq@Ur#tar=5y3J%Pzx_M;{}9H|8B|Gjl7v^2Xa_NpxY?*|QLZdUkhr zq*bP@*^=S-f?~pMtWPZ>dv!&DC(KK&+9dr~5WL4w`j*+$i zw#ioK#7+^bjG>VLVe8J}ToNwfPjG5eGdVqDTinjND3hF~`(>Q62>_tKy|p;~v`^v}7yewU6PSp;afj}PPad)>jyU>Qu|O~R z#UV-DK~#~r>m_TT>q+!=mvF&CPaV!bFv(7pT zjpmU!;K5r*)(8o!tgpEjS^EC3uf7C3&73H%jg*1=N9?^F4yK>eK65M%J@#Zg`OM46 zjM^Mc`7BCn7UKHLeuhu%vZeSmLkWdp<0gfX9V0P=_`nHA9*DgUJc3}xN6;{Rw)h+v z=3B66v7XsLD^#yuxso>DFtPqW`ec%2Z4L+s@y3%k%ASa}3@>vxy+3xFOw&JYV15o>UYxQ&E|Y5;N?@%FrVWPL1F2QqIWnu&w=*%fD>^eI%9&WFv8 zF27uz06Mt0+Db&SrGqeF)8glsFcm5Mty@IgbvS7m=)QQfaj2<0m zZi*xhdt$bXBsp>{Di|@i9hYDHGf665zI-)StXL)2l?uQlxNf-iI{fMvzrY|89xIov zB1TV4o6Ddx^hKJ%owweE_CaJeuXq~`=tM5)!i`3Fh&-ZuFJAI4RPU1hcokjbD_FT^Ei`LTLv#xSPc3|R3ErN+6dvRLWJ$S&Rrt-%zDuysG!aM~ zerwU8?p(1#`~l3^Cyg742k*KC`CNeF@^{c+5zN!M6u&(Gd)S_Yhhq}v_yjJX>+|Lu zK57KcIOBA&I!x6db>rDE4$#QGuA~qam#=TcU+#TaEoLrDPve|5b8B#i$BN`s;6NYtc+rwcVh`I~!I7NH1yEQ49tvncQL+QcsIupq_O)uQZ0? z!v^Cb+Jme)z4`WAShaeUC^6!ErwiPC{nfbP>MPMg!ei~)E_4^mGA{}@S-9n4WFI=#MV6&Ab5>Z2y4?lc=oPNr2sL-4=1gj-V@cUmo z9XoG5iC|jYAQe)MUViyCbP}XCbnpN=r`I5EvPO&8$bkzSsN(k`T>TDybKZBb<5m*| zLQ9#b-GvJlXkkja=a7M|w10m~W9vp``I|_Q)p^Fz`;&6C4Yc-_jkn%>o$hlB9(m#k ztm)~|Tp&8#-L$iarZs< zBg)<2czd>Z&N}P!1UZbtz#$`X%kOTJq$Fm(T!wk(rc>arA!bZW^YBj`sM}9%Xw05H zo6PMA=omZi`l|n_$qOVYvT+hxAR3 zRJ2s6pYhqxV-Wek#!Q%kTW-Hg*NJY>kaMuZwp$PbUxaecN*r>)p1K!|Lx0w`I}o%t zh4%MYOy6P~EyZbTV8pJwZcm>n(jHue$s^nGse^Ynq1FMOeCj#cqf;<_vsq{xFbx0w z-5FgkSvpB3j3Rw2tGj|0fP6!MK8$z9oC-JKy{g zg5__)E-uGGd(VmI;%66JfT>fa;K(Bm!;ahSfE{+4gKknvddV-cV98SKzUSV;6MD(# z$O_R4IunxHK@arSymw4AyN1(;Q5EKoD6!%Z`5+rIX&EY8AX#b2RpP#z0`YTHs5CI+ zUPK%uz+`RYc_2(4F`{3d`+W=?HWl0LxEto|wKtx5{zWu&48y=tgu$=w#$O+r8-IQP zI|J#Ul*$EZ@hahxCVchjXP(AazxEBnL}~IyZ-Unrt;4l9-yy})_#8Ah5LDAh+pM@& z;{RRWkAmUqY9@KyQkKkguJ)?66kYu1cm4{B73^Td=p8JFe-uK|c2EhzPxNMeMl8E_nEn z`|$V!x8sq&T!#m4za0Pdg%i<~F^@@8vuxQ4eDC|;mGS2~hDv?|=jmu^ah(sTOw2Rw z=^l;tcq)@o?OpneXdNi2AWOE-4}bD=+;{gQ$hMC}+we)a{MXl;!larn@W(s*prVj?X#|Dr3k`ZX)(bl>5_211))1vu~A{~?8D4EYgv#GbqFMSJvlGZ^n1^tuEU zg0g80DQ!+H+S1WguiVio`l!=y33J=zmXirgwip}VU&f9h^=xrAv5`MmAN%Rz3^J4`SKcs zC%@t^Xfu(T7C1b5Ktr$*9m0oP25hOsdA{c)8ur3zbs&cWvIG{AUUJg@s9ZO={>DO= zH}YTd)?&SL;xHT7<}I&cE`g^tXU<8oQZZ&n#Y`sY(oS(BoC~;iIvwX`j2u_=3tRg$ zB#OpVqS`vs5gR(*k8gY(Y5#9*?=$!X6aLPdVca^2r9~l~k6wg8&qLGQbYzr3y@c^b z?f0FTCnA0`wE5r%=LCsMI`@gH7L%x&9MgBCSZkjB!KM}$`bPRvx-=gK`pr9nZ>4eU z=b%CU&XM)|H=dQ-ZOe~0ffw$i^Y-*?|6ETL;gb3Jjvw*ghJ(MVh-Dk$bES5}pvunP znyv-cSbxEOI%SfoQwWW%a6$+s`il2XNLt<9G_S0l@>CWu5D-x86M$!!_^NQ0_Qyq;ME0UoZWlX-i7*3yxP#`rGF*A=cA?9c*_0bg|VI>NFt`BYC$Y=hzH(qX;KA6 zLA%YqxDNRxPgGj?tZ#!dC*iU2;$om~Xi_`9ZQ*gn`siZpsSZ598^3z&@rdqZs>Gq( zQGjhaBq}wb=Y(7fR3g{zM}Kz!LIfbzN+gq$!%d_NF`4d+-fZt*zkBbw84 z5TT28#_%mhk98o_?fu+ zXb)M^>WGR-{UALVn&zF9%$o6x)jwHGMh#SEULgce_Zby*0t;sSw0J4&h7560Rg9@J z7Vho1UIFi`0RG1fb)A~fL*}Nz26`QVquO607^Y1jCeplT^Ok(;TJi{%R+wW%)+3iRj@)7VC+%;Sbp?2>-|>db8wGPL0DTU&Kmu+cANZ1L5K|)C+OEKrDmMX7 zgC1Vujs(aL2-E-dW$2EU_b-EgP!y##J%h(_$vBAj`gMX)T1+>?JJzz1F5D_tuQk3w zsuIHF8r>}1v-<|$eJO~u`1?E3TEvXrN{BZiCQ0^yT^SWs<+vuHaMRGI|S2t z;NCOB=;w(ItR}&tSqPx0H}f71-2Y{G!fUGTPCP^XRd}wp+1YMQPdLMk+XeRInMcuk zgHoxrPA!mUKa(i7LQG~f5ul;}kM1D_uzXT$RfEP2n*;HeW9R{^+Odt0hnj}G-3n6J zh`%CjcYg*yY5+mt$GTld43toYqV#oz)dBc4sna6uu($K#=njiYGsm`mqh4~gga|y} ziRE5FTTu#K;6dn@PCYFo+x`$HyU{aKV++S{6QVmM!2XJ#AhZ~_1LQ*HGLdZG2K-Uk zblB)q*J0R9)#e$~?T`}gh6z%3iCjHKmy2@`tzFHT*hveE*yy0h+4W5V- z5|a)l`Xr+gx!0`gA4Ok+5M=u5fCeKT!1n2NW$3tw9A^4ykOUd}9$S zF0+!zWg3RP1>wjNU&NUVVuI408mrSt#muN6U1L+FlQ}`9P%7yM^u@j9VCHbR6S>1ntXh@Pw78DzusWcZvkfGXsG7d-L`hdCH52ww_=9)y zc@o6v{&>#gIPZ;pPDQ8AqHzt7D;=@nypAE+CMzfYXX4#qIJW4@HJQswrn&Z_FEuu~ z3aUw+5jL}@i#ZOj<>%V14*31EBEDpI)=hsW7gB&REk_OOeh}XKjV*~WjQwqoGca6$bV%-5XOLB86EmO3$aF9&kCOHLMwYcQ7tBdTH2{LV|uXk*#a;+o9k z>@z>(U0b^uxbnpf;(^!$7;TKh$>uh+;wB zsS+&^^K?)rd+q!h{cYi+%jCm1N_~kc2Q*+RMzP%xnu&IhJ#d;^kGkKGCuc)N5&1y` zd-k0wFVwlDb3v+YDSpZ6FnOT%QQ&Ie2s_GSG0cvv<&2n<@Tn#WRm{oo^c1XEl2=;f z0bRl1E;32%b?jR3u>K{b(*OiE2hF&BlF#VD2Z`Fb+LZbXdD6R<9)YosHkb5CZdMQd zC;HKZK4-SJEatT!KU~Iq5qP56jydo=pP5_#Sz>-~lBwO=&-M&XkV(oD^m!R=&e9P` z#r@RQO4;Xjbg7&cvFxq+r?+cRcF3o zucnT%l3+x)0Qc>$TCG@dTG*_^-D>YEPTwKojExr`11u=ma>x~Kxn|`&!{lSFc5uLleh#6qBcrn*;zZMtKdr;%vo2F7(mz3X; zBa>qj`o%bDE{abko8NZCfNK$`0W-DrkM68D@{!m?vg0+6uL=?7;=(9{M@8>&yRON< z&5iVW2!|onE11+9RQ3K3ZcV!mhmT+HuU2_b z$2svdqj8D_CcB0y$6e`?ozSdm%nBCstOdEdk0M4N49`G^C_t*L3ggVlH{Y6l?QGMt zA6Dzx+DuRBPPKzeNYIh=%PTR2bB{GpxGG-ga0`t)ARi%<7KL9HYh=N$kgR9}22i`4 zz51IS#ke5Vf>Y;GbgelkVc9nYGJcTHl*rEqfG4tFPnkEdfvFWC?nnAnYAdg zJdZ+A99D{lbHYeJeN(#qGbz*A{Dh#yF9W4To1L5$1X%h~`zvcv2=jLXUthzjmm9b)_9^ zED^mg8vl@8b={6nc$^$8*IEtn>`MjtA1tLYTc-UX%d{N*M`6qEjq&$mosW$Z9?6G? z%EcH6WJP0bY5EFV^kw-(oVd?J0Jo@>12>iRQ8iC&m5-qZ60|a4hr2Ok4A~O$GCgG(Y^6Jdk6;xG>np8r* zY5DbWT+}&9sf&=^Q+qbuP`lb#=8^DDdezCA!=~Vr=)4WLfRH?+7Rt6n8p{Rubytwn zcV!S13Zcug?w;O+K2=u@;{W(0nSryp;i%4&hIWsqpN`>HW+9gSoRPALD=I;^|kBZ$gSlM8?S@jFTLy2%39 zDGMf%M$If6xnB|=3rMvYa4O~dBP^g~pPZ*wAT3#3r!oIvdQ{6IW#~lKN@Yxu6$yLc z^svH#I-?j1vjX=BnQ9Yu`bHKrg-S7Y`1J25cgWJQ7q4AQjFlhgy3Xu;^1#iAFU;Nu zTtvZu&YBMUa$o}GTGu%i5P=4PJGCU&^WTqXthE4gM!^`jTYo*j6LXhi`iL9{ioWYT z!cV141$K@mquWL5=Oy&C-Hj_>%$7tq_isd2g3#IEDY>lUQcVp}H(GkWFNS^34U8QA zLg?S38W6zY4zD3EY*412>LcGQ+4N}JwZR~l0JCfqn*;-Ye!^VdjsA%{p;=VmA>I0X ztjLf^NcwsI5N+MB6B@Ck$=F|?M-?^i@cMvdkbTV^hIw-n8{<16J+}k$z9Qnmzg zr@0vhAyVUym=_GW3@&(0gB#rJZ|ZUD-SoPY^b0)j{@&!KJ_SrNg^e%ct$jgY&19Hu z!-G`Yyy7T9b;s4mDGmGipzS-*5W{dRyQrw?Rv~qT;z(H08A)gQeJLE!HNP7r)C?`| zMZqvJ<=O#qd-qGesW)w&+oq+Vn-Kv}tH+3Rf-iBaR2OukWXv3)?>8zxsK==U25)K<|CwtM`NwKMt0$6N#Rl9*e~ZEi`5mZVFT)>8faRMK)Vax4#4SaO^I{ zda7mBf>zJ1TIw>sJtWCGdGHr}Ep)Z2>6mYbjc~4?z^TlE3 zvu(yGOMBgPv6kZ|r?g^NQdLzocutyOVz-EvxzH}yHn^%~3uPj0I*t2Vd*SS~&q(~! z5nbSI^_!i2{;Tb(tmIE*l7b*QqTmZk^QHyQe1LuSWi<-|?=2RzqdhJM*i6qmMRofj zgb6|p%GdaHUeNV>5~A@~rU9Joj4Yj}BBu2LS@>Y?9yi-TYms}ixerlsElJp|3?{GJ z0vDX|f#X+D9FD8zhmwi$9P5_*7ic~k)8cT(nXS5cX68*=k3cZ0;0yFzC5hcbUKl|l z)~DVGQt|*AeFVqv_H#|moorUc{=vEe@F&5S!M(!Ci6q6ISo)TX!lrVo7+&i?u>zkS zIQ}p(_!pxIA;o`imNHMt!%lY~3ByGZxuG^U$s6}sZw$=oK94ZJP+$+~i78mKgMSXN z#6D-@6^yr)Cj#t|ba7Q)vpc{s3WZ9Z=WQ2qsY^qV!s^H^$GyXt$gf<#Br@}p)6+PH z1+>v<-d8d$LZpIWb6_NK)wJ+eDv)3@r-dGX-({-)K-f z(!ER;bC}dhtw_O*7s~VQ_3nK^8;SkUe-nsABduCQE+dqG{eJp)Um2e_pCR0Cttb!N zJO{bU-Wv&&kiQkQC4;Gje&_Y`pV^z?2gx-J!dR!dl9Gq(+G8nm!ci5u6CST<)0?K$ z)_TTaxmNFI2jV0gIJLJ{f20{a;%3YB2j#er4@PKp+cFdQJVT?&So2V_65Y;nF)@5| zGE>?Tm3G|5SzA^>Bne%^?+uM(ou-$26hGVTL8*CM-({Z0CFh{?cV_W)2G3M*Zw)Yx z*_RY+C%)egQqLx)kP2_NEw#nGY}!Y`oN+jT0|*8DZ@;Vh{Bu>g(cMgn&Sd+HsfB%rj8Kd*yASo$n zHwHIxT-rYxC2}*;q!c8(>k!5gM@lnliDoXqk(05(O?a4R!K3{1;#x`jLpkUz?>pZb zF8Vlvg+c((eAs=hs6o95m!DQ94J|Mi!hJXS={dh&)42=NRq$PkQOEk1udqNJOU$oV zXmZ2TedB9|6=%$%OrriHHA^bG)y)*n@$g6>Y}vq^iX!a(x3U#>6SczIy#F5K(@adA z-(Q;Q<)PZSUGndGth}&^zU7E$ByZV6F1CP!T|Q13i-3>6{IKHYM-}Yjtcf?PRa^g{+UoWZOhQ3PpbM~O##G@qtXljGQ+@t%W@!bYK z_Kg@Ni+x59_9(GqD(S>YXWln3ufO^Dp+sS^#Cz78b{CrjJoDlXIiLuA?dHcw_=}ZxbME=+DAM8 zl#Im*rnq%?aev4+-A6ljKX&vup0nIt=qs?AwqcJL`RfIf^YOk)!LE3{#2H8r!cE%UErd#e4qXK@lFXVcQ{ zf(h08f&&y(mq;BeeQ4`#S@Jq%#y>`2HaayHc`d&WEXC@mFPU0#z|q4zNeVlpH?xam z9r$@Xio8&q`4KkI@`?sw=gGDCrQ|1@%{Do0e)gmDu})oh+%ZGIpaR6+6T_cfZ3YITPtK{hB2X%a39ce>7)mxRZa@ zX|5Be2$fBgDuj^Ns@u<66ROrC7uRSKnV|B=86&WcAfJXi43dmeE(PORodvuFylNJT zg$?N+$~b;dy17)J8WV<-n-{O1?)V|huZ3Y#NiM7unZC)_PVGXN(MeWoeD?cRi3}G_29Uls1gT#MdX8 zz^(_(KWQrj{bQVsr*fFpO{Cn9o3((Ujlsb^cGdl*4F6uI#@l|j6;|jm%SjkEoe_*LU8t+h6t! zt1L#@^0~v`xb9f5+pPB9S)+Bxb+r|{OQx@_#wrKJ)PYN^`W(se#m=(h|2DmSA@>M4 zv>PgKYEARu%;Da%#dCtP?gT*N5(-Z{)~C`0Owg^|mo+bKljwu6t|8Bti|DGu$al-^ zhs0DGp}JXP|1{OX)fDlK0xuIg8|$7uZcQW<-&!elZzfG`6&tS;9Jb2NYix2IEnyX6 z7!JX;lchI-{@8beW&`30OVJ6nvRvW9Y8Xu>Yq#FEZ|}L*x3!U^I<21>wd@@<`>!I#duiN@nsI0#) zKffyKZBmOw$@cHin}wUQ0)Zeq_bt@rt!Lf(QbSSBKM~c{BnE}9ofl93gMZ%$g1;-* z6uZ+1`0<6?)p3+=HZVZd{hlY?9+Qh&!X?tQNsb3Tu~sC^5uYB1m4nwoNHnAMSTDfqIQV}`C=%s@# z4ovs--J2&ZfMro`geX~K*1ZjolZ-Mx&KH--51)6yTBcfZ@ z`^*YoBhQ=p;$@d-vjaH@F~77oS*sm>k3*b%i6rJA{mG?E7;x-<`WF)`UIHk9kztIg ze0cj&OxXFj4kveCXpM;nu@X+bQ3@VT0M*}MjauAEz%#Om^0R*p5b`asU?Wi!?3DVG zO@CUUfl=N@{25Tagwt;=9W5wqa_=>etE_coUc?u)z)hGkZH}@^3Yi8bom#8GyF{iT zlMt*CX?q6q6l(;bu%-#n#g%c{G;v5PewR(cAcPO@cw6P*9}zI|^^7fL={>uXg{#65>l(7Ev1Cy`aNX<3ZGh?PXgzIIAsCJuVqbV;~d8)BQc=-sN4 z>zotGbME1|z35Ra5VR5gYAI4%r<~PzVy0|0*&vMRB<9%78m+40MQ9#hq%J$ZNbEzg zUQxhC(33ZVspyr~yOWPsd>64Lo!R^b4U1W0Os<~b0PO?V! zNfUEoX5gWN9$C;gg7FwD8I4irWcrz^mK*(EJa(huKillFm^mSt+ ze6D9+8~vPD;_n28G_x2-opH*?ErMk|w>;=Ca02q2rC4XT6qpsfM*-V^N*i8xG5Zxb zbjBlh+kT*?6b?UK5>YESpJA3Wbd56v0ZR0zK&UnTPN%$ zHa_Z6_ZItFgo)2P1Ls$w61|7G8SvVt)QNloo!-%`_wTb_;AR{h$9VI_YW)U@&jd1j z^$5as`!uAym-o@ERvJfVb0v}#!A5%$Y|Z1(!S*GnI;~YW#`ll+E!fR3^M{&}u_g{e z*_urzviC`Gep~hZz3)G)_I@X@+|tlGOL~3U?vn`aLgE+oxDu>fE>LkK{ z$1Thhuq8_4*^yJ*NDX8H!PBja@IzeqP-fQ{#a>nB`SDNAlp}a5A{c={d(Tvx%G4p( za-Y38Co=;s?phU&y!6hJ)&rZ|O?uCeHqBNsy1A7>$wRHWI1w+e^)=M254-mbz0b|+ z`(KQLW2LDom)V$N-n2v%>hT;Q38)4en-m`0Ng)LA(yj0qXgoS8;r|R0T109V zOQ)wmPndjDOiIQQFICqjv~LIMY9h1+XHeZ~_FoQ*HS&X<37t_$SRCeEQFpl>KO)T{ z8$kA=5(*-kyBl4BKB&`ZiY5B1lGTl!OThxm%+5o<8bvX_%9ra-{~VFC%*Eu;4m#KL z1PF_c`me6g9lUw^ilEq1`n{sPzpkw(WH7<{EkGHclgLTu?ehu5D(%~+pNsAr{k-Hk zVRoU?Xrn!vB?gbPjFR27T&U)YW7BJB9A^n*ylaBMb%BFc}^|BZE&T&1j3s6v`GF*;1=49Nm~m*1p~IGR&i6*EF;6ite7Nt#>VT7=Mk_Ji;eI!lHQ)YRK>z*V-Kf;&? z-9TgFX_IL1?V+jjX`9lvC7CGm7V5x=mVI%M=Omzs%}2KicDx$oY9JJdY@m&yGDb+y zVarRbZ6+dyiKdGtUFaM4{IIN-wW%(G3qh>6vu5T&G1=fqMWrr+($jV}988!%HZ5d# z^43?FhvT~lv4_nTicVm&zZAX5BACUNY#7O4L+nf0O(em~4>U;#;$u4Clxt@9*BIBW z&9$KImoBR{-(`p(!)pzxyuUqEL7uE)(@-(yp)j2DISH}LihdL#z4mZwXp}HNxhyTS zs?;m}C5OF}kM3kQCp!*uB>jhWW-gpZfhPIZakQ5@Y6pje2kR_PWkEz zT~?(*20PD`W;b+AV|jU=i{JzvZ}cb04yVctGyh zVT4r^vcLVY3c5KVZ@mD{86lB!?)*elm^MzYjKef~ON{2cXTF#sEK2-4_sLy{cQHjy z+X@HMf?_2jM2q^=WK*iMfP{26Lyj_A`J zaWbt5bgMy3Hy+8Bye`~(4i2P%L6k*M80Ka zvd!pyvI5MI(@jRDfoIRxtT!v%&=W`he#}*h?t#t?5JnCNR>}R$B!beNSkNR}W2-VZ zX=Mv7`%BX$l@1+YIGFPLCp=ZXxYeMtj!6WTWPO!5HEmIT<8ulM<+rb6FnJg#De$nd zC(``2QnsFIAh9{MV5g}pIYk<>I9k3J2>sN}nA%8661UAELg{3ZbqYfALmUCTcslBm z+3p6rv?tOIbWKx_H*#bm#cfDs*L5F?=#qCD10B{F+E^w6HS1{N$Z{VK?)A^~p#VS+-US zPs^q&0r$ZVgfd4$-!_o&>Q z*Z2DV{Rf(cv`xiarW;B23D}k7qZcn}27RP)g0YM~J5kSliVSEw3HUA8ZG8|@LVx00BRZ#p9x@Da2b1`7oyh-*+$Ch;1> zRW)>sJ2Eku*3lDSU10;bm*z<$_xW?}w?>q`KkRsumo@JESKM^Hm)KWHQ>3LhH_1TN}=vdkHHoIq@GtvZKgl*<|TO zOD!#l=Dy%=k#lr)Mdl%sc;RU8dLHQPoRrwpL%7DTHCX= zr}xpSI?1JVb9Hc*Ujwjs-_*sZGOZYKmlVQLOzfJgW0s@AWS48x|s zUc*|7e-pA@ixicV+!1hD@cW9jaXOYV(d{+JK*JRsWZt z-}h!RMxmCIsc&qTMDXvlx6h5Iz-kN}MbjyG*$e)mwgq9^{inTwbtrn<8^6M|0y?X5tbXY%qb;_;_#7t>b#Y3Tz6;X=-*=?? zL!q=t%;oZpW#@-7hTL}T=otkeBq~ zN$ZQdfZ6opYUxr@6@ioHD|GE9%-3%Olk=gWO#wfKf3Jo#RiB6`R~C$gmZHD6?Uw9i zdw##tojWlxibAF$Fgd~&X42pmz!)o4D^}%EfemNzHKLT;O>q%AMKlyey38?SoMF}M z@oD3?%W5%f{LoV)$N*wiFe7GJ4wLYSF>v|iaEDK8qQ{30p^(;6^)O9&DmN|lUC+%v zfK!a4szi#WrVC2~KgPu;I$%aJjIr4l$&qsajNuNyLLTHFte9B}O9*w#X2LS$6Chh! zrWX@HYyQ{icUT{qq3xD)_K*j!wV&GeO1fhV%Z16W$)B{mTn^dkhFAKbAgC@JM9xG(c4_B3vUvjRP``34qS z7|^(Cbp_N{-*S&eU$gwP$0I5H-qBusSZ33-zjjoETFKuCUX2n^Hn}bv?;aIxvB0zpLIPU|iz;FPe2g0ZeL;TQ2b=uIqj2Zr5*{Lx$ zn-a6#U^8s>;9j-n8_~YK#QmuS75#8*N+e{1NwL!V=DS^CDezE;`xiT*i-0tS>E@Ky zHLLdVu8IH0{tsT)wPI8aZTyjP*h&L$Y+APWZm&NN^i{bw;9`1}SACp0umHsHj5sgh zJmTEgxokPx2=4Tzz|mO2iGJou2bRYU-!LK zKb75Vb1GM``n3&f!(2bGeN?ZjKO20H+JWQYAw<5M^||>Z&LHUdp~%aZGdLflK$W*5 z9bLeS1en|*!M@+hC z>h=uRtVwk2_ngWv)!Od?dob};i^|Jzdn*WKV=!>k5rBd=!D5@Pd~MQjwD(IyZ+v&5 zfa?|Zr^mheQ@;zzf}@i#Y%vkBs&x2tLiR@C(i(?9e{k}&Yd&z`1)N}(`9@wR^DLh0 ztRYRuw3pV!?f?%<@qnXR90pvRFxOd4+>2$BD1t&i{2(n4NucmoG(~t0aky=9=DPY< zb;n;~WPwzSrLqv^hpyK?jjC)SuW!b-nERj?Ku_?JMh#H&rL0zCH*`em^(d9c)MY_t zFQfb5^drh4KjT~o|N0y^xpqzG%(bhKuStgloc8?5_E_sf=O@t;;o<>GOl|CI@AB)P zTnVOX|F}3>Ut6$nm5clb2L{PnwEKXjX#HUL%yOFGyKYN zfUwet?d2ysXZSjqegThGWB=P4s$fnDQb1J{4*XItM*;`#qq(0%RO$^06Hu~B`%=Az zG3R3Dwf61((m9T&oTbC>L#u9B^WjFV=|X1*8Ct1@=11jeSJPDlOGc@7tQ(KZ8@A%q zQ+{w~d)=CjA9=G8Xjy14H%6ZN*AHR3A8%P%Ydlg1I?5O`=2f{(r)+MEeImy6QBm(u zo#VwAI%Z=KrFGFZl{vlpNsHR%H!)M)HQuT4(5q{fiA1LlSk3Cr3^w*Z8`uv7^}-Z> zlDURMX8s1jf^3thKRI$WT#POGe3vw$KK02K{?H3y?{As8t8uV?D9XG&_g&0*27J(v z&$ZRp8Izgq<;EENmbzDcCWxl8XjRWHqY*phtVi3ZXd*jhYZnMCmdMh%@@rbdos~Sh zB=vc<5w9z&5=s)$f5LFd28P@WTA=UL80%^E(d!=Je8hQn4-)Cx5jx{jN)Np7Ro)$Phm6%CB#a$`CMRz0H z>-cpdd_mgyU=NERD2FUh;w@TFGqYAG8&nDefJi`*U_3Y7p)t?b9y$!fo6;6NTH9dt zEX^1|zH0BCc9BfD@%I749D#uIxw~}F z)8BzmkCAB*+{Wnus%h!41pOpNPf4%jk_gNLG^y`&O~4Jw&f=AD8S7EO+m9|TxP@oSKZidpx(2_n(EboPaKO6IqHE09vk8yvNV}%8Ttkj>X3h+J_ zVg0nOa<2z~(c9$Kt%#Iks<;YjTzI_c0bu~wU&o?uU*DVOa>T^S6Q`)~=8@?RG9;8( zk{wzIyv^vtve%5Wn&r1N(6>ud%k<|mG*3khxRUukP443P;`k@VX`ygWN1;STsa>-< zSl|c2(O@~MTPWos4Yk&nTn!@XOSkSR@ z=7>Y=qgwS^pt~Yf$2Xke_e1vDmoA*GZ~7TOHSqMU-+ZOlRbT~Y>Bx4cYeW^2cKzz+ zGxVy#F*^xSo)DGj(s$M?x?_goIIT{%@9p#bZI$V(0(^0+Mxr5a=Ht(mgWk}#%}(Ca z=f2=m+v_Wf%?V+rV$a!)Uv=G2iFd{YkFUPBbjJ^0`p1E)g*S_1;5PET|5NtAFEl$j zJ>tAz6d9_#I3#iqvi}_-ibed8ruxtEF{m<$(0|Sbqr3_wL&g8MWw5~ir>3jQs;Qsf z!b!!Num@f>vScL@X!3jiI6We8`eHo^{fepDVt!Nk8d%!P&B~mMb!etayKYsx=S~8Nb#p zUk%`SzYf`sv0Fd+l<=SS$+Hr2)mkW5LsJDUryF?e*9#EdU{92M|2N*P@wiTCsZh|m z?-!joggY0Yl#lVB%v-}{9VFFO8D$yYxjC-2UfKZUl_NRr?yL^iOon5Z@vtWTb zPm_B$j66vY(v(1bov@)9gD|$_g9dt){2b^kLhu=dKGPlHW>^q(q|_u5PZ0v-_0(m& z6UX7bKX8fqqQSUeSFh zXq%gHUB%PGU~r^5h9}L|+M!?^z>I<8`jvsLyPBRA9lD)ac2Vwh{%-=vSAVI(=xUQm zy_0;zi>okT+rsX4N@-_4?Iix7cB>NM5cikf3I|;`rVYwtxQ*SPHyLVOrNbuZhQbK# z5UI!^8$yck=l|~jky7v?9Y;8Gi_{UQnCUOV#3_A3#`}sOxDhRM zfg~Z_&=P19aCFLu_c(|X+<#U^Q+4nM)ctpUI3()FjQfVFi4P9 z$YsH#0^Z3s&A$y*tvxp>Ci)XPteW#&cqM+e{gsTdPD8ktlOSmPSUExFX$V6T_78j#Sn)NlUic4+R5(`=9p8^S+Dw z1{|JKsjO11&molkrE?-JzJ4YZ+iM z@V}gHbwa;l-LhD)IF}R=E2tL1pagSI!G4rE7>cA$x~_#DhA~sDw^k*|+ZAHZJ(X9# zi>Q}RgzscVt*Ov&XcpGvYZ&hLV3c1LqC-ASdH4J3sjw{hgj3(y`8-|xiEG~zuO#w? z6k^|JhhgdAt_bZ}j};ev_FKjS!{MaAD;vR zifce4Iqh^CV}@f*3VBR_+rxV8vxh_;YdmKuT7ySfu$)2U+JOaaH;DFl0Mb*iNFiw_o{YeUf&SGbZHO4>wwtz6)$ zhX?iAB$f^IB{;wOXF#ODBi=8{0=2Ye1Q{tGJ>UcuTdP`aR^Xf}X|*nto<2$lC^r=< zPJ;u+eU?@6+NzB7(ZK{UG)i@xd7HL}xnlOwPf3F|8ZnMzdU={_zfP*q zqF19^jjuBY=n`1qm!HTNQ%F;4sMKMPbF&S&_wJX}_b67l*0w_Bi+(MZx2KxQe#IT@ zHC+D-?gMd9fiOIAPCdw!LIC=3RWHxgN6|%-^z}WfYvE=F_4M?iu8mS1V}>psG?NWx zO|1UPQ>b2~L-r!xzdGF#5+O`~)xq%%7ReP?(N=CeJ`WW}@(-;_BO|2ELljNzSSlly zRC~!IaI$z+P!d619;A5)Pep0Pz6YaTX_NSs*f#S;+-JOSCM=llj{k}O*#(s#2K(xv zeBosi#2l3ja}zPA;M_`#t?3*KE@k59L$x-0pMj*0{Ex16s;yz__4*9`@?@`7iYgCL zDsKWNV!#iH=bv74aGgzDp$KE2x&jCMcFnAWixTlRBu$p?Z-P&`Z-*&2?59 zOrf)Ho7a>hFD41EfJjZVfntEW@{k~yB6}t(SLHFItbjg1MF8!=zj}XVZY>yP1tqfc zu}w1W!X`k~E1*JwY}inQFjOy#L%B#rBr;gMakZ69x@;dBZ|K5C+)C<;KbA!ExPo?S5AZbUy@h z2<$e&zCy*;UJ3l0wYP@s?b{)yIml-t*_-F06Sf5{SX{P|@$1>%RyGK?^C9r6-ksF< z;!jo)t*$^Pd+)tJGBy*YF(=In7GP@oyG$F{o5s=j?bs$>D;feWPD9QVG-19rfj(zu zJIzrdKgz!dnj;{pFh|qX)6NI&>mx;+koiyreb59}f14n^PW9xHxCakzaWeAd?w8og~<)+G!RkkpVm&Qm%U=2-qMQj`Xypl4S!=KarVlVK2r z4OrAUGCjA_VlZ8drHA`HWn7~t!H^^oKt!v+XBJm#7P<1EU42TZp7QNwRlIERXGBR- zt^aKxYx>H3Y;k!T#zrOo0%!DK+qPR*m=B|ZLXe^n`1Jn(Ni z+Rxc0Xd#XCrn4jjpT)MzIbZQQ_WkbP%P0AWoS%gLt>lIZq(ZrWAdJh4Dw0GFHiE2* z9$6i!w7zCV(ttN+N_`}@FE81SC1HaIY_ViGq0qO2dQFwyvqQZ}Q0FiC$4CqL={0>G zi?mcUjjIA}St8+z%%u1|E-mbZRnuMimf+ua2t=qU25ki{oS@1?ecK2T@pI}kIUEXW z9H1~l9zlOCgFnDf`al`FCSg_Z$3kDL3)sf*B^qwzv6UAqYPps;-ioWK@pI9BsH~+A zuQho@^iy%5G2r}c>;uV|>zmY7%LHe{C4L=qZNj#51jpD|+S}k-I zefUm;)IzbvX~}zt*39t*VUSCO7W99PCImBCwZ2Omb%HAqBL8Q}MW0$m8>01@ywTz% zl7#rP?u5V1%KugiFp4cTCYz;EIiQ10#O)6UY4X%OD$Ip`R3}&#RA-P z1NcwjTWoDuB*cS~USGai5g8c$yULhUfP`Uy`np-3*)ug&oWmf2@U6OEM(MM($ReUO zQnBI%rnQ2v%AX1c+E1h)+I(KUvQ*e+1u?9cQbZd(AJKXx^naN?RQL;w&8O{8I-ntJ2Sf?n2)!$AK zL2Lv`*%5OIWIX)3$Yb9!2B519%P-0B__ss`FG0l z9??yrn?M6HAOXZ6(jX<7B1Ov-02<;DbSSKFkOa_Z3J#j~4~70%mctIq5vB!D0J_l) zF(?HY7R?BWv_hmwJ3^pDOB6A%NsDA)BG3?;JyzA5?!D)n%-mb+TWjr|JI^`yy?4*K zRkvQfy{hiZGvvwKxpU{5*S8Qv2lEo+FQ05ZIpt&wg+PPAQYu|uFDaGtl0HkWWBJ_X z2arU45-g3xJsih8=g7XyhDxvpioFB8zC=NATQ0>+g*&)fA1^f>B|uO_c8lFZb9Pz9 zZbOR(&2Ag5K1W7~vqn?AFnuuaJg;uCNqbv5j7H`YN2HWseND_ggb}Hm&Wo^OHcjiH z7kAvIZRxC;Q-4!%4r0NjH|CN_!q6pbBQ)vS2*Yl8?iTBgPU4yxo^NqMh#G&G8MRMV zY*P~St$EupQ=K;t6n`+om^<+YGGCg}3YkIkIjvTYXbDS+T_!VkP8S^i@L`Z+HIkX7 z2H@Uv(kL2a8@JxmSW*2lQz(+CBt@F=zMIUO7>B)jLVI>qwZjF=la`;=hGUygXfZ#f z)rJ*4UPldpP{l*-#&*;(8_B!NtO}2pp4wx84O?bp%hl`jAr=#_JwBtmC{AK#0w&SN z4I2ZjCC^o>nL|6pB4=N#XgBQl9(x)bM(N=Z3xs{2X44Rh2zqeR(wi)t zpPZc1`3xCA%&h1UozaR;q5o=4p)x$Tzl<#z9nac=suRVGRhy7~5wXPh&uBxp`Ch>F zC*d`;p=P($V!mYIf)rm~3q4?sW}^jcF-4-3BK&qIa#VUJQ~Nv*>Sfy#UThy`t>&M* zzoc()D|+v0pq2$l+qT-dutop$mAGK$Ln{k#0HB+!#6g&rKhl3BLcxNqaPc%|iT5U` zmToEW*p`E@9a|nfKO0|JHuQ^k7WB6stZ2j6u$mus{l{)0@X|vmu>nC;HI|Bp9IP8Y z1_aCbVLsu97{cRs-k#IfaiIE@^;+id&^gq(GwUsCtFN-d;Mgcivl4tHi;)0@S?f3E zGZdj}z0m6Pls>m;=`)}GY5F{~Dh`Cm!JL0WzxuO(gYGc%LVEyQQ{&Bz<<;e)r@^)v z&$*4OrK2*hBf1Rn`?*OQUEx(qb=54LXp7&m zHU*wMM{NrWJ0J~z>GU2g`MkgQa7ABiU!@20aM1N%M@Ko$wo0*}Rz7e=wZ8OO5r)aG z!p#}I=j=`TM!uGBdGZB*{RRQd%pdqvk8`JQwmS=|z)&qTrfjjKg&LzD`ZX;U3z&BF zr3WpYzIvZN%wxTvhxFA!nftt3(QB+ooD8f3v+sR*x}b}TGn%ujYv}Ey`F^!jTE(N- z$OEj_Tb(q-B16t>RJW5VBI4%am`7MQ^h(R?p6>OTcm*3hBIg!i+U zhgibsy{^kXX|vZsQW0(ALaarbS=oCQC_Rs}MddBKd{Dd=IBxUm=_@?;DA(}3*L(fj zPy|3V`0uiMsTwv(rtu(_$&9zRhZViD3iSRbuhR$EjWrA5sCg`5NJ1%4FpM}tVvq@b z*;7>8g?-L}^3F*-105_m>K zX}d0VloJVLE|Q=qER!TaWbB=N{_=?sS@$+2O-kEMbyk+v>%BI5YmiJ5){SZP>;ZlaJV3WPCzpA9t{PKK!Z*CiXmwfK=$c5;P>87CS_T?Z`NyfrL1K(jU87up`Iv+G?>xelxmR!;r zy}1iwp!X;BmuY_f{Y-jxZauD6J%8nU-s$eE6ghTngj4i65gY^_p7UVQto0-ty zG^H1A%Z@FN;MSxLN|GRZ3c_OCbGWov0M7hOI$r_}7VedZSXqc7N`RGxS|X&8D%hW8 zrok_7){xRDM8+Y9muyQpi!n;-JYJdRWQsv#!5f>IxRkrlPSbrY#lDFe!wN`SMBI&q zdykZN)OeAhCU33Fan{3l&Pp#Gwg2NU|0*2{rSRJNA$^Rs$ve!5+s#US=&h3$xiM^R zaA}POzIcLJtK?V6_IbLyk9)70w~y zcwj;Oezx$w?)(AWWyZQ>hCFjr^kX@Wau(ax@sMl_(GQn6KnUPbJLCJiIhoT#)@~nj z0CvLzK~?kXe2g#MUD6{b$)db2nr_Gttkc7+2v~Ae>n?2^2Yq?9_l(bB!D{|WRqhSHxvO9S$ zHBrj`SMiKJ1so^5c%7Ohva|+sJ+~C*3t9)*HEy(Os8m*5@vK#PS;_r3@BL_me;e+K zt8VAK;7(T@JZJ6s_UcV)nK_F_A2mN%YTZ(rO=6VEg%x}e2t0-^Ij(7{Qil-qEaF|` z7d;EPCyUqUD?Fz2<&xHbZ8_ljkKLA4d%5!4#-6_RtOde76j=BzS^dBJXuQpB zx?o}b_22e;=$uaY#+>TDutb^@y7f)pLF@K5^}GgC5PjIHJ*If<^IPc!rr7?ruly<< zO1d`Zl42^^Jn3_1Mc#=&#-y*fo!`5oe8IGbed-D0_)?Ke{CM^mYtXN9F#0uM0iA80 z6)Jp7X=nT?Mq+RA;7YM03h{Wnl4T|jZOXGbZvMt`B+b^|r@7;Mi!OqwB=381w$p~C z^4YBu`T`4(U*z4sth>q)Z}H#7+|jM@nC|;?buA7TFilyIGxKlZPT^ysVmy#2<5+%W^K3n)5JK1`)t{y}WpauV? z6tMWL2qXoleb@AZJS&_DlmMJAyhc9j3=UcThL!6AWafj2TVwt z66kNp6%j9qfO~Tts9Pe61rX6uPTpyzoABNkuRL$#cK^A{qy+4N?6ubNuI9{s8a5-` zN_T*8L-a;?zcKU$yPXm?K zKDxoun^O?IDdyff*eUG&1C~bvJ01s;2qUaOz9wm0g_fWnL zs+<^42vD#fOn`hqg`m%IOsX{@FFCa#aacNJ8wL6(@ggWh$mS3z6K56SlfKvHR?2*< zWMJ{YEo~h$Y1hVp6Bbu6C=*k1y^VPovZ{8(JRClM`%-7eG~Xcc4?ur3CNPtgfCPmg z27$kp`BUhMsIH1MCTRQ4i`LrAXB0LaTOl30qn0#l7x}kMt3g)_NvPlmmQ{rosvJP^ z&0NP0D0hi>G+K%7v|3%D{R9{i0$!~hH`sj=4}YLZ%4lhQBw6^fZS~H{U-~G;*m7na zEDv;rgb=Z30YY5jP^jVQy2%_0dQRx=x1@C;;*j2qa}Nc^&L3heEPR;>2{i{3bkYrT z0bvMMrQDSMY)TI~R+|PxG6aR4_m~t^(WPA;jFFdf<@D18IOu{_K}W?W6j&1oKv&jX zyxruA@!Nbsc$k|;vA%*>9J#-^J>(K+!ZuvT*uC0qQ3b5VUdRO1Kr;w|O(#=~*Z6WZ zj5=x0>MJzbfnzdak?;YQ5I8JsJk|#b4-^mj7Ge;A@+ezm`$*4A2m>h^iYjCzxpyIm zT0jwy`xBDz81mf7y~Z3lExLRew+e^T>U}e1!bFDwb2_;Xus{Td46*>t;H=lra=ujC z1=HH-7S35&+J3ToWVi}%CyzeVAmw-3Xn}z93l*gt}AQ?5dI3VuUS>l zf+b+ipYcxG3Z1_l=4@r$xstDo%Ypnt;sqab4r~qQ>eGcHGWT%?c{s| z2fjBSq$Ei5?QA&a)IK7q(ed{CyjCJ9>az-KK$qYvKvJyD;@bd58Bjoit{iBb_;SG= zrnu}p|CL^7IvR~vkYR^jT^Ef&BZ&}^HtKtkj&$*)<#&u9TSb!{$L+Ib^xL5r8(eOZ z8Omcu>S>Gv-6UxSRB~O#!iA;GMiKzTB2b|MD@sr%TD`9Q*L^h-NEuP(St$5qDUKR# zkn=*5MNJKu5Bj}qk`2JyJ_p@p?AT`@(_Yp2=HUV{joGIzcq}|tzxn~14IiY=D&3K+ zt_I-mPX{|ViL5P@3}qMXn1pq>FyH;H%nagyhz`I#?niLXf9tMGLPkw&{{)edk?duu4YV=}sB`9`Qah+nTddUbGg=X}jW+|X>f6wEN{f<9@Y1K5I$ zfpV&pG;kW-v5AL2lLD-?52yix8wc$oSTB|SD=b(PZ*H`-%`NIJHG0d6i0PuXJB{Yx z`IreuTbW-wo`fyeY+1SPp8EnTz0>KqN_3|R2JrsowoZa3If?%?<^>vQd#z=&Tz^HQ zOXB&ryT{qLE}dx78)$`OLWKWNhJfc@G-bL$GPjS$9n`n&&1I!Q{vnSWT5&|Jjm14? zuISEp!2IoVL!_Jo?PqT8EKd^a(s8JE(1r4z!aY?4V=d_I#CC{gEm(ZTSzi-LCUt@U zOLlz`*jacxsHjp#%Wuy*3F5cOn}T!C%vb8$qnME@&V6pKB-aZVkD%FNiZj*N!p1c< zwqR`TSi6s#s99sE*+Jb5TN^D~9%q9D6ilNcy%s)KvuKs6_ZkbD#tTiRd1LnWd0Q}O zwNTPMR1yo-B!D+9PVN;1F}e??0zz0=NX;gWS7mIPd=xz{GTy8MWOlQ;6s-4hZ-bc< znw#hIHSCw?Azz3VJW{nj-X(OD1ph0;~GrP^p{yy?8QO%Wo@7p$I+|7n|sPTFNo-QE?!iJ^G0^cpcoTfG?3UM*r9 zlrc%x4_f+CF|2kB^fZf^Y1t{r;?+mm9A|-uL16AAfutW4>SO4W8I~BT{RtBtig|Nl zfjAR%5};zvk3+860*SoP`t(~|O4 z>))sn29C}J`%~x4A6V&P*LajvP0G5;kXLXC!GGoCwsP!WZHd++A9fR9rI&rkrhsFlY$_ZK*G&7o;<@H30 zXTY_4q^C(@35=#0GjzyD%x@ONg@qwHL#bS(3(hW~WI+z2nMi7BkmqyMNre~(kj`rcq{OadJQ}l0F_1RD8xOVJk9hO92#hREYbB02Og$3rEzzUnB${LMDNXIen((F%EYB=bE z=PdRi__la5nTOrtb-P-zpBm#0H`PzV7uVrv|6Ev!7yt;{NRQAa_LS(t3qMlV#u0Ov zQH-}V;BA^VgF)a7iKplwhDBqc_N!gW_o1HS3kB0Sl{p zp9IVmt3@-3aF2kwNarhNwDtk`Iil;5;oC}zY11T$b)*Eb)`*+ix9N>|PBRu}Jp$Y8 z#(Fqw=|0?92yja}lO+L=o5YpH!kBpxevjGe*dVEdf49OP0yyI1o$0xP>Q~O*%6nHd z@+zMZH-5Aat1Lsgm}@B^u={`o@;*HAmXy3E-cEf;mwO)@VpaiLavv8Y9m^U!`4YZgBbm@j4UxUnrY%Ki^H-=)TG91``r2C6zG^VLPHI8+gT&femC%~*`WF3aF6KGefs=Q{XE@& z%wP34(+@;7IiDX=d;Ukik<5}ZhfQ458K(6;L?8UuzlrX=#si;U9On9xg&=?g#n*Xdk_YPr#wLBOih`vAkiZp8|C2@O4v= zxCQT=(${?Vzif@W%(ce!3S6;mV^A`!u*W80bJ_I{Q8lIkEuC-8=>z}j?^D!C2t_{D z2e1=j9_zJQG4lqfFnnGWGAZVj$&G*MV@ywQs^m0TXi&C}vYSZa@&Hfd;QE)phP`R` zB@4>|G23;l=zW!zANUfF;VZoVg%oh=1Dn=EY29p*JyU^FzjYg1)LJHsWEHUu6%Z1s z*||?uaJ*aSs2Iq=&)Nl)nA>OU-~BRM%omdXkLPc8x0N8LwJ0x4bklk)eKz{T^=Em` zl4b9b2Yr}4d>+wA)((4Uh5WL)!>ZpSXkarL`yE3Jf9H^1P|TKrKCs|xo}cvx{PhQ4 z;{gLe@9u_Z)_arJ(-92V3d?11X%fkr_ko+M^Ct-^0CS$Mn#n4FEd==j`kJULV5X0Z`BZtFEo8Nz zaPs3O6C{R9QuvaZajWCBDu5Vn9N zVTHnv!RW+?M55pV=PD4O(n{>)jMvp{VUyvsHpMl{@SMVJwAbOs%2P0E*5hY1DkG65 z_ej1jnY}FUL4;dNO~T5wV<>|3=O1zZO2nH7H5UhIq zC$ST04~ZYl3iohY2gNl+8zdFbDXya|EDHbaC{)z^!ZRcZ0qtDwjntC}HX4912Z84& zKc_Jx%wq@wsf(jaEU(2%FCw+S<%hnW4yKl$nk9m{XUym}Bmk}A z(jv;e9caqfUEEUPGKGV-aiUAbUF)VXrh{GhCB_&x7i`fF^j&|9rRVC7rkLIcrH5Gt zN}`g+k`v<}FE~xo3F{QQaU9?jzu9(Qg#))EmHa*nkfbRl*P2%k$l$hIUgbz8DN2FL z`|U=Pky2C`MSH;t-5RgH#>Wfv1X(ddp0lMj7uU@N#~EHDwMN1kXtGC_F%?6zFmUu^ zUP2mXQclvC#kJ#e7fIoX;QR|m5Bwtz`8cr-;X*>YgZ5S{R@=a)xztU$87=yT-E?zF zj-scD!A-AB_@Wc@z5&x7EUhp-Up~1D3)-=w{CJ*RNggNOvYp?GTUh_(#-n&FniLXCZjZ>nDo+!>I@P!jWc;gBNe$HRd~F})Y5BTqJs$wan|#?*jP;h zSx_@-=8pHHub=GM%Z$;PyXlBZ5IKxK#aXMhhdx_8Sh$iAqhBI$38e`wcO6_N%Z@1C z)FRdgd3?Y1zI_i-_o-}q&FY4-3{E`9K! zaQBd`=@g@qx8>rrR9;+OpE_WY;!mNK^ON|HzU_~FC%s8e2(=+#&#kahRT7*s z3Werj0WPdfe~T91@_T44>$=Y-PLR2&^lqRwEFRM_goQ4$0)MTSDp)K?z%_(*C!l|m z{cT%#OO7OS6{L5@#Js6i0cfL(8OLQhQQ|#dt$Rx^gaw71_!}ZA(kefQZj2R`F^D2O z0lwbidaTd&b+i2a9g6&t$%RF?37WxiBqm0}gi=K0l$lgo$tJw>)q2flviVYP zk4d0Kq=)o~9z%dgmY5c?i11D0=40QY6I#G|v*=|lHp6(D9U%hilV99oOXRfx2${7M z=gruq)GQVnJ0hAaq>QG#?anIiSZpOeak=_tYr*_@UNX5@a5X(W>5+fO0)zuOF0R>I;v@&aXA;aAOz(0@bVSXZ{7lbCy z$P(NxS11FxS^M1z@;=XYv}np>Qx1AUfB}irfiofS+9~sE0d%+Khp`Dezkj<(3-z?F zK)pm^r%+6`QPX&1QuI(~0r!JcXCF3idF#q^8LYd0lIKxeIML-80c!hO16kCco5q>P z-s@j-&$%L6Qu1c`Y1C{aFi%0T^_ms69{3*3sT1rbX`M+48%yYz^fM!2jWVp1@Zrr} z<;IeT1cy_cPMBmU4kC-JXC|us8C}zfwUjE%B_C1xrSvvCYyMl(#%%#p+U-ayF-K73u<6F$4)F9^?@bGpu%jr%&K-8i%_J1MlD*p>ux(pU#l@7HxC6G^I#j7Sl4SS0ao~{#_vVjdI?ulxFyvTH<0Ez0m5>!+#K2>02 zL8El7qJEA}4-(p@c1V%R;V*3wN`ABns%QL#pR;nqsb zDp_z*dBui>;d}{8DoVil7%Z=;@#gG&LyiH&qzMZ@ax#}BuB*9(CDPBc@S((#T5*wR z&SxQ9c82K+2ACS0v}2N(G@YU`Rkum*HA_(SzOZOQ;ku!z2A;fYk_;5Jb*>^*>ZHr} z7AH&aD7G{tP>$LcAGM<&vcYD7UY|W=7gVPZS^V3M1;}c#7J&{VEW|y^cH1=<4V}7E_N=y&3apt-ksh!G-Eq(zQS6TAXvV?=F_8E9 z85L(3*G)p0uy2FZ&Uoqah{#MZc#|^zV;(k}Q@*zTO}ga<=|~6*D6-&c5bs1KDAoes z<6Iv^gCs5^x?#A@G8ebQLz=Uj3xP*im<`Y4ihmmx@8j!9i>nHe7nQCdjU~vUMj!+^ z>*CY4B`HkXkE&i$W?g!tpVCn-m_jv-=^U8@JA>rbrx@OAG?J3H7;_9aDn62nXj&^n z#*Ec0km`BfDIu2&1ie!j^kktNI(uZl$MO28&IX?{ZlYRtgE2uLtoDEzFapobtaM5! zWtLq8*)_I6RKkChZZlU7hPGbszTN%6m1i%cTCt6$#{fd5l{BK1nP=Qn&*`4Ul%!e+={!f98|4@@pDeeGf(sd@ZEG z0<3ZAbmCf`kKg`%zk?a`lK&PgPBy%4>5jWiKl2~{9Xj!MWIx|%3hdYY&%f7DEiLPc z@BasycAWI>{vK{DSe+R@6hM=7+be8^gy%$2?zL9N z)PH7N1A@Sc)~GNYt=2Uln7ZKrY9zX0`;8{j(4`C@A>;nSY;`9AV1%KwGU$51kl1x2 zi%KBSd2NWL!QZtOcM5QK3JS5c_MJ6iVQl!na~g6z12pgp{v3%KV9?SNhXqK-_i4_q zC!{xTc=CJHQt&Yzv)GtPj*^$7ELfPpI(gEZ)2;a(wSc4@u#d55IBvS&`8>z#8+!ICT@SS)1l*{pTxAP#b7jcARHzz+I=mMKncxbQR~SxV z(obF-u`QX{jtfX!7g5H9kRApqnM}Bb8LE26Y@~zToNT zr8Jy(Vg*Nt;1*m6kfQjoSTmjrKMZE|Nef+>Fb#{ZISv33y5@s{MGo2b zAAypt0E;}ZfV5krzXC~_pNADsFa$|+I%79ZFP5D2@E}bdfQEm;M}_xqy;{?JSnB6; zFH$g`bYRh>gwyNUF)icPRwU-Gs|ePWyEXQtURO!W~_E`SSPlDuLHmugj%hnj&rl?3y0;CWk zSpXfW!tTUSBIOJ$QXVLb0_&iF{ z*`*-JvC#em>O=SSiGdtSHi6K(=LOguCq5-W8!e(UN zy!iXjNuwyKRq@)WYTa?%fX8tAJ{03vSEAW_g^Mbo?f|s1gU~#^c?-7EQ6$T6o0&iFR%njg^dJrABCxTd zqB@}BTjJEVFMR1pPb{l^bGq$;G>ILg#UC{_Gxb;K?Y!up0c2oU{cAjrYh?H+Gd}eC zkKJxx$G-1?KQyqrKps@-qBxgUq>V?Ngt<1-L9S{B$&*)}p5=tv6P3jC;cz_Ub;-d1witD;T;Y2oTMam7TX`=@{n5P7R z4eXE%C{gPAPFYA;qCuC0M+!ek@0loX)DdVF9BbaKz}R=PE)f&iK*QQG8`QdMZ_V|Y zy4di24gw`I7+3E281qF--5I;TPIwJOE#z}j6sXyJN_#S~WS*=~J%Z@~utXvTQSSMo z-Ef`20Oh1NYhT=`hnkklC9T(de$;vmgTV$VYIM#&6QR^)1+q;IC~Zwil#EX{R0;Az z(@{ZmESxn=U1loh;KfU0*t|k+i?4Z0fEY6erANkJ!vYG0c9n!jDL}yVp7iEz&35Odh_Flgns1MIB@dpmg~?=f?^&kmIP>`GpWTTTV2WwTsm zOUf+dAr8>cze}&*y4U;up~3A8#I0=X-6fLhl^X+n5Rhm8%bH1)Y@n zWMScOF#u^yg*Dji(IcY!clmqPisv(lNvO6>l!F5x#7N-1yFHUMTt&yFNk#mu@gg+z z{;3uY>kTff$bxLKoUzMnO(%dli6JM82}6xo1uJ?SA5gdK*iFByG~mRETcU11TUwC{3hFFCw)m=yiw>e_$>>uy^J5Klf2K&z*AS zC8WxkrDJ-^(B96|Sb3&-<~i^OI)nk{;GJH|SQ$)|;S>Z?A<%2kFc-JjZ5370v8nXr zZ~ZFA5_lK%Z$IGrkKSgBEHx?`=OY#N2{ZD>%-O8Fh_BH1e*Z5>Bc~M|Po^NsSz(a< zqc8pre({gTZ<8MbiY_Xjnfblue>2BKzlFN_-`1M4cbFC_nO`PU6KG-NfUVS-tUCIK z|DV4>OWw|hAQr5;dzAG3)M7;9$Of2j zY%yp`tO_zPVF-`~&tKOu^Pi!paG+0p@>A3|y^PT@GoG`FHy=*vJO03TGUHu{Lkr>h zTkbaf{D1Hd`1^$ha)4OM!p%BdpI}jYn4{+73kuxEc%#mo4L?CTD z4c0{irW>@UD8>%=ccVDh2hYQyTOIdM;C4BhW))F_@RI3T4GUWN_s|3S1$v!7JG1Fb z52&D`2b%i9Y5G3xlTU9?HN-D~U+I)Tn7uhR9m2uaz4RZU^<&o5`N3a3pmlS`e`;+W zi%E4bCFuupG;Plt)5p5*Bp8iKaQ<6doYQ+z&%&B~%Py|3_6Eny`}C~Ux9DC8!PuzF zMQdQlj^jk@PUkP#pJuA1Mp7h2nfYGBTPEue^&CMgAjDHpTMm~Ns@u_*ePFxpod4^k z?>#DDHiE!Q^9}jF)r$-IdtLs1DUL*azc)`)P*mi8M&w7oL4@sqE5PB}LLL z9)yeU&A%mk!3_sDodv#Kh+AtdJ(u=bxz25$AV|gyTRb6U1kgLnj;(YRYL8)p`0K>> zW_=idK1+PIlJrk`2myD{i~>Z1=-PsFgfek-93|#&&8o;W`6NKhKLx*agI*HN37Vl3 zIwE!c?H3x`Tb~)7U5lGOgvtEZ9DQiOOW|$j{C?9W(_}Oh#UT) zMsv8b;EtR}&FS~{Js66_0azip1?IBhSl2yvX>FtX8BIa?|1jd8G&6%bHHpLb^Z zo#S7T~wSl#9BNnLa3Q&T4V6Ixm!Bac=}|;hRM?<@fkGj63HlCJ;Y6gE4i?1 zjDrauRFSu8DY=Y`r6-d$TdY%O@1M37VxA}C1yt$XK*wQWIZGp*V+rz8w`Mm1psWpE zW31sDxt4uX93&ntL(1nh`>sgOm9j&k`uQ7YfPiagn{yd+NWtP8TFtSrG{$R*VwFt3 zYf#-BX@e$GaU-bi0HE&;6jD0=!KWTr~9xbKBEPSIg9AU6l+Kwn4J36y?CjFkXVWz7krriwTY-sA5P( z&-554Ph}RiE{^WyYXAeSbaT``I;Des_-mxbf|G>{&D{lsXxL2y`H5gCeX?&A*%M#F zXULGE_@kvqoNzs8o)LSwlghyT!lw$C1~(EU7J3V zjXwCP-#i)0t(hbUyavJAGCKz;rl}38`1{r8Ej@#V_cOEl0BJ@N&zaxw`^W5dhrfKK zt_}F?oul|p5FUG!k5Z`Rx!!1FBwXYfGvkFCmhVUW3wqM$n>Fo8B8)S7I)Y- z0G@luc3iP+n4z~$Q@vs={EvOo_MH~$E_ym=x3B{UXwYM{x4Z?S$4EX}2V-=DSEk;I zBBz?tuz;1*Qty^>rRdi|vlFRRm21h5=%8rAXqnvXtM&=IL3%@P9%GW$SH+D2dDM{< zo36U9UVLir{j2wAl1+G}ZP3LFmnfpqGu7l8XE;NY7M0SahQ>89qU;9R`c&aL?Cb(Z z!DBsH&_{nS>MM%i`@!>Y#8${O&6I3Fej0hSf~|YQZ(>>fKcdIW|AtV6-WwwU)Cq(J zz#-8o&XdAxIG1K5h!Bx#Y3U}X53u%IZxwnQ0ecA3%{QWkT2n0h2W+Ul$wA*Qv+($m zLgAANAaQM6dPCnPnsBB4>r0rI#4&75;{W^i>G2sy8al;qx;RM|7cF9yd0CLx8p=T0UStpjDX!HS;gH-EM-}^j$hoBtH zUrI=+mq`b=b)bW}Z*h$M=LtdmxbhG|GZTTwRuj}v_?zDmU~YCz^6-sLKFpxBLIqP8 z&e#JHBxSl!G8&pCU*Bgw{h8dKT0R9+FqjGflPt^y+?OBt!5>hUUT$2a9-a?<_}|Sl z3pWY+HvPuuzk`qQ1_yc11jMi7@t~smoiJ^&z;c=_0b^`%=lRsnW6c)S$tiv8U;N!< zAYl4=hwQ;qnWO9yl0?BEH8Of0JFIBaiTRBIVAb*6*0^>VLfDFhj=IBr|X;IA2_w#OZ>wYnPQvyJRstBpL*I z2gJ}S9Ye=~DZ*!p>V#P<%d=b#F*m#9|@)8L-U6oSjR95l*?RX(RhXK-}Rkh zI-y`J_QqUpkTS@iX2WDgMKLD>G#1g8V!ogW^**HdInViQK^qRRLQo_j0wLbcwN)#NEweX#&AfFvABz%>RD*xGn3m|2|_;el~) zh=}?c>i$^N~$*-OvGBN{i2qMSIQ# zO~KEC^9s(9ULZjYt-Ndug#; zNWMPU9_kP9Iu(Y2G01PcLTCsGH{iYDDdP}5EE;K5+6D>4cbla$p_%%F;CMM%oND{o zNJmjLWgy>!T@U2+b2t5Ja{f|yL|tOTCXBG}9)5jhsC@myLTfcV(ryP;c2Mil3}`mC zQ2(IR;OHU=ZaX;bcgN{$J(g?wQc?}xNe`V1UZm{jH{TmyFkqf(m0% zCZgjj`%mlGZf>#0Erz(0mEuM>fp)5k*|n^0WsODj63=L~wJ_gS6toGJ6VJ`MKa(En zGEb-ji1r(E?P;a~38z6P$;LWx%tG=?vVf6_XRspF)36}gtPKZ;jv~z>3)ASmplNOjP}07$vT%)D_TDJa3=H-5D6M5tIvwNG&`aydIqgsBMNB%Dp0 zn^3@3%ZzaRnar~w7MHgxk9B$<<5tFj%f0Va=nLF=@sn0y)q9CMAp;9BD~U@Dh6s#U z)=;L|(UgicGNe~=`n^1f&c+a(TCd3XWA`M4h{SYUa@lRunDwQPv?^qS72$YFNgL{E zNLiAy4N&0#fnweVve=*1hbh-6U2?@Wx&2)`E8PsK1#*N7$(8nfq5@!T`~JF#3V97q z^sQX?iG993hRmF86mC4m!IkhwY~y5}yv^xlu0N&i*1!@Qi3&RrwdzYV&KhWv9OrR^ zRz9OEqgTPuNFkUr@L3D4H!i!x2I|CB16~Z}ybm9v2&i8FRYGqEH@uI(`z@lRha)Wz zl476#dPIUTITZV$Qv7Ts72)E7vUG9cAb4O4E3jqJB0YN@a+}=bDcw$)9xdb2 zYVk#C@~(wZPJPS_(HpZnmi8$zL4-$Zff==?Rp13nM|M|q!Md#%l8z09PwG9e4(8(W z^v!H4po%d~j#tEVbe_$!3L4-@2HEsSUelSArZCy*vIV8j#ycr(yb@UoNQy&Tc}t>= zjv8VdA6WfTS#`PQ;%NHjRF|VD6l>0n$B(2+jXmnQRjX*O1vhZR5!Zj*){Udi?!fek zODbZdEbOG}JWj4$ga>%Y$N%^r6K00$Wyz>Ax8hI!lWh?zFBbq27Nl&RfW+H%!VS;(lB?bQmoIcmo{ zbM>txkDAZZWk#MBLSaLff@0!3qCyZIs>##HY4T|bA+m3AiKe6r&yRSsZ~xX@DCys5 z?vb6Go?O62Spy5Ml!Gd8kowsp?u4iYEE0V0=lVPJ>}IXKZEk6H=g_Get6yoMC4%c# zSXa8pVALRsxG~rgd011O#E~>DprjlRDgE<KVm_r6UWLca zQhUrD023AzAwI+cbp=UViLuZml#6HQkt;QlV!s15`RtlVSxolS`!tSNjDs{L5cz>j z$wLeA;XYlUW+D!w{dC_KJ3@?5q4e$!}Zs$wPRc>tYA6zo5U_NDE)UjGxi+ zbV(Oy7tAD15$upTYn;_~@UdqC&gU&~9E6KI^Darlu$1;H4I~UFWjIm;F0#--!Lm*o}QjcY%5s^P!jgLnVz4LfG8~vSRt@Rp6A$E2a*@%>eRfi z-4ha(D_Cn*%I9xeS(@UB?Xau2M~+vzg#7e|Uu|2Osd@eEaZ<|jM>}D~J$qe!yS<*$ zdG@X=Lnn*{^ukE~X0`xjK$^d99GgBgDT^gRLWJTXcinx-PU)>fIfO?$x9?aupx*rF%)u9UvH_F+_S&oy4alzdt>_$plFOl4BDPOm?PVtg@i- zzNqD+{(1P&km!f8HprqvrM19+c-b*96I8q?(xTRM{AUiJxEBtoXuZvQOw(YdY)Vhn zQNA6@ZxSG2?#X?H3@v;Hx6^eH<~IfCu|6Q6aBT0da&NtsQeGAmn@kpxCi+5g^ONI@ zdaZdgc3hF>Po*Q*UZta{r83fZ#VuS43$X%%2?@Q^K0Eb^6tr!t0yk3OS~~VI9J9Ox zvT4FM9AzAZ9EvfMJ!OIEh>4DvhoiR1qKe9lW!!MDvCAoD3oD9F9yGUQA|UbJN!FXf za-$!Lw4Wx*cvTHsC!3XKXW_M2VJ(^+^&&7J2L|h)CxXFXCNkuP{Q1#djL}k|!%+(0 zBm>P3-+L98QkdAF`CCP%+b!AyyYP64T>T5~HsdNw>6$1hM z0+Kn;`KCUByMz)Vt}*iD9N-o!zHGK=XsQ34-nJOd(B<89b6h*IVCf zc5(HcxS)|98pLH`siSCzYH6XUm64XE#%WVqVoOD^5e*{F4B`AJAu_$t;+|Uiva||E z?+e__`3b$j1L{vt*b-UL8Gm^;ZxoAMD!HA)tw16QKKW&q=+=8&h`9ZFn?zehXdiMi z(8Z)}cc8Py6RDeVqxtlfQF2u!=APmq*C9MW$vq~W4(DpRrVOub1cSZ5$3Nz3q8vEV z22)NzK^vM_`XY(hl8UH(L2Kk$79a!1MOG0|p$gEbI)Ixb^yVYwhr9}pnaXzw{OQ@;#zQOMMp6-ApnqJIY0=sY76H*O4rRc=#ijjw5KPDTZq2$$*4_ z>Y9;Y`pgZP{4OiAA9z6YN50{`^g((|x9R4}sU;gF`uvbdorgStadeajYObe;Jkrn6 zd+9Iz@~_k9PCm$t>{V%Q^nr&Tp-+F;e@5Y)`Gr0W=vWz1p0|j{KYJJXwdsy7-=tKLM_>!_{6_KWAIpUv~m!+SUq4rcbM_~%Fq23x)mN!3nl?3 zu=+3!zw)i*&p(tiZJ%5Ebw1z*{(-(J%n{%ij>eUY@?Z8~1$x%rVF`@eAE;*mNEMc3ymNC;eXRckOVdkaEq4T`p?ta-H{s;OE=YyrLoWbRq1V} zICjR#y5#e3d08|2UDBI(i61tiFF~Q5p-{~WNFVmn<~6+F%rut1=#2 zM~fQ8g#+c&a?KmX;1#VKkldbwtMBEjp7W0}_V-F#ro*oP*sU57%J7_N-${66J~u?Q z06eOZ@!vywaJQo`-uZR<%Iv=vw-ef$N_}5cmzTxQ)vYJ>9L4+!$7FHQEad^$x1;|X z%%EuvX&14E#t>>|6ECRPXw!VA_l;L{u1?1?=HGTrFMa~0G{0kpUUsj#w<{N}(q-f=?Su~7s%ry0 zZUf)2l_pCaYDmn|Tw2loLJE^5FEjr9!GEp%Q5GKQJoZ?~(WSS6y~Y^PC%w;Z89L(n zkKIn)a8k%7nN}|UCq7}XfO(BXFlM57;~Hmx-auu!p!HI2$e7&239L@6k-1H_G&^sk zzqca6Lcq2nG(tp>9r#QeF$Eyh&}9#)z%o-($!?}zL)XyCA(~+mM8NAcM3ED)B%47I zgPplEpnS-m2}x`_FjPnzN3?|ZTKL?#6-vQ(EH z01Sa_+liYCu=(nNr%KfQWi{@9y?MI z{4JSt6wMjq?s&WyGscca&nSiCyPLk1^6?3m$I;~ z%Y~J!q*P~8S~V%X_gUiuY!0C4m;BxNdLyciT(4^=qZg4qqYgqON{vq>Pm#uqwrJfF z$GD3AHs>vndKSj3z8*nZ=`d=4h5hP>v2QToIenfN$^{2?SB^lop&+3H=@{2poM{uqB7=JoDqmwWB=r#+?N|sQ(VIpt@eUuQ z5fRXo5u6@2gZi|^y){TkxWp*?FE1MkP| ziOH6+g_Kp5wD@G5qzdyAJvmt&iIHDiTxe2+365hekn z16W-m>_fr%i7di0cz<_Tg#P1rwS7wmt!{$;v* zL9{#`4dQTe#^?%ve=ftY*m6?NVR@|Y5&Z^xm{v>OU*gIq{K2c{s>05aM5TWG;W458 zySNA>otJ&i;*qxc3g1TacRR64z!YbI=V$i<+)4v7w@8~EDe#_?CPxNRLyivjLnCFk zVFA|k<|7a0-yGPgy0w%(DCnR^324z-ydzn*;_@pB`ijNiE}w3lXRI*I+QyYxnU zBE5oP{NTI~n?VIJB?RZB{G=Wn&!)tD6EjAIHyCXST!WH8fN&^XLuITZxrvgskQn!| zRAzZ4;ZX+gll64@_?+}}|(3s0@Ya?la;Yca6eVit(IrII?7`(cJ z!1A!rJE!OuZ}M*+&aX$19YU%h(+;|53WSRg87%ZbhED~Bd7d6ACxwDvUVNGUmB0NF zTCC9j!%JqBYv%NxH$Ot3`L4fA-NROTZ-X616EZ*W1Ajcb(PS)6fA^E0{FG^vsyWXV zbNb|`eoPqZFz7&GB_QtdC;r5rprd#gGpT?4pZsOIx9(`cH!!dufn{-idr2Sq?th7z z`?q;r1+g%+{i_KQ+{uKPo0y2FvFLAWPN$?->`arDYrVUq_kYjt)2hW*-Do)2E2n3) z`K$jHAz3|RHJPvv7RK^VJr`x>te4wMH91^Yc>RMv_=EYol%kvJJd%}?zW>Z;K9d=I z8GE>ToyL@KuH;U`HbMVm`$zxiAHBl(eo`S;q%U$5!2-A(#OV}WAeiOQihEF?OeFhH z=T-Ecv>3~D?$Uy^`lKA|s{Pb&oZ8pt&!|+mjuglk#N8%;Zx15HUXn7kq*xUSR?@fdhsIAGvUntJfd_e$ zO?Yqqq0d|Qv?jbci?S1pQ&q$Xe=9r<{eRK#x%Z`3*2g zcsO(P#u%(4pdG0#PvBEP#_zZ>l0eQtli635Cf8*dCU1jU2}zsPYJ8o2wFC#v#42Q; z#$JL{yQlbzpfNagt`Uv3*b+#dwIjn9_~b_GeQb=ScAo^sc5I_eqm|JWub)Qc@k(IC z0Z^D3b zen8_>emC}F_mgwg6yBSs<9ebK(f(#Sa1)shX3zzNx1Dwc$DvGo`&eP?ySDHt2wug` zzQ;eV*F!EAw_+ay&TuDw@_iFWp(z$YmZll%(U-HSYWG}v2E75KAaL(Y|OBb_@ z!=hG_!pnCTub0^CY_lfbpw zt;o%nq%am**&5WC=uZ+gf>^@k!4Xxu2s~Aa2cr+HK*PnQN6^96DNn zByD#>6W{c(Un@+0@uR39ZG1;X` zE9)3Agu1Tm`0mpYYgrb(Nnb0gxa`Qr1CId+>SREd8~Au)E;viC0rJK;g3vIX!={O2c^WI=o)BG4sPk-&g0rb)-#P? z6MJq>h~z2R($@Fy+~;v8(nd)^s&k>)^=^}|=8fBr=wJD-KSn1VYJGaX)?Tuw-uLJu z^k;wP|Ci_?3iT2rP)YJbKlI0Q=3Loo3qm9eg%Fkx)lx}twU=?fZl7-Qy)ax*E=Y0O`IWIXk6(3~7qqKeZ?tWclXv*olniba2#l>2* z`@zz1CAoob9J1M>qrGvBGUjjyZCeoOvyXrLq+XPCnqCk`*l$Bm&I?@6Om%9MAgI@BQ-g=)=+#17Wmd-oUjDC(WO$3d> z=sUOwroY8wyq>M;%dhw?$ zaGai?NJRc|Df}Wn!asLT)x^!G}5mFEA!8s-YpPIQZ;_;=08JXUr_SCe8AR z+bXZc#EMakcER=1h-ao}NjO{jjwBUYEH|$Ofh5)a8bU7RL&==43#ueh3DsUw5*Wz> zNl@|ogx6)`+kT|O)@RYeK$YHo)ViY{sj$^eEK$KgvWo!Q!dfUE^5bdCkzdM1cUg>N zjDfhfgsnUe?TK?3U0NrzB|Oq!o^H~sZ>(lwXn4OyGhLG7ze(NnTw#@2?){GAOf*Wb z-^Z8&B^hr_VDh&uP}vu84FlkcGy5}tmdPLqgxd81*J#$N_!^M*ip(XX*ZQsA5@W(o zL4J&Bl+#K3SD2jMUDG``XcZONio-|(J!4r}z!MX=60JnabsQ+x#3wH1BEvF}{k&OL z&m3NnHMM=b(!B*r7DtM4r0O3zD2$3XT| z=`<+yzPBUhPzW#Da-Y1Tshp>h8MibEs$XI`CF4#3=X~xnt#C35;Uer@It;Rl2(jtY z;>TWHie+Y#6w0vWF{IOHX+=A3u5H?J7ezlEXnCGUTH~_n$uC+BU8!?2?=DeeBtNc+$=UXz-$6 zTV2nz>b%ULx(+G>4`4#4^}kHnDov_#g@wgQl1#cd$at1e+lmlMRr34g`W2 zF0HYt^x{zKk6Nb+@qpTZC|Ot1BsDj2%1kk<$lLCuW1R~70_O!2E*P&cJ7GSG-3yGT zV6_c5Nnt0!U>cB)0v+N~u{CX=&3c!4xsG1<7Y#V-+ykXHxDgm$S_Sb-RD2H&2iNaW z>b9liioY}z2oTiQCX2FLYDgAkAyi~MW!%Flwo2-ls8)<|+gL~>DQ(yE;4hV|DdRlli_5$n&3z0QqAuLFiJpK)?Yb(p3OqVSgb^1JkGH$2ZCdQt+ z38sqiGH_nTMz)I;OCgiaRSK1DO9TY0H9S%GQPI!W7*gdu-?KK|7ryR3=$NIS{bDXc zM^?z&;nuG7mXTQ?iE&+V8&3ED@1ynEJ({@>@Jd`*p-M940VE9|T zw9*v;8y0lBUeK%OE&aQH@Z%ytmJ3I#Rg^vt(54j=Dw+{73OyG`0fGWV(b5x+zub^? z{ZWJADKm$y4`hZ(y00K6s_<|EHE*fJgSkBbanfqxVS;B7`Lk95i$MH8{A+)eZZX4J z@_HOL9rf*;p73wJ>3hFdgh)E|!2|&<{aToD^0-g=SYQ9zd+7FXpU0s6=Bb%0#?#b-5j-}7Jv0^7+$4#@m=)a{kOMic=YY;1^F71;HcCPECk*_ zwVb4lZVL{hLj&5E9j6G~>H`M`w6?MEYyVHEx%>0oRt_BjpA6#lB>gjHGK_7VZC1%oJ%R~7hb(^&Wxrbpbo#^ELj#7ap_rcP5 zVL_0G#%iEmF&3_GFANs@f!Q{_YNX9f52v?_?-w*%IgYmfmH34Sm_aVkp^4d`hXtIy zSR5=JPMIOzTd!!zzhBJf^q4IKkGc{7x3xjiX^$n(5_sk`&N1iXzQWgc5A828M;HoU z`yeRCUfu_`PP*BgzWVqHE!mBA;W)rPG!x-*etu53Zr#c?8L|=zMlVxbxS7Drlc2%( z38+yrzAWaF;8W6jxnpLn03;Fn;;)1=N!9Ax73>(>lP6DT&cd+kHZ*7J;x=E`J!wIj zQi4}}yw(JcTGEL3NSW*GrtSVp*F|C?Xe#K{w=trt-Ph3Y_=7~}zl#~#$7G@40Ums- z?uYCmDFbGnrl3JbXz)A7nI0c&e~?OG)~?%D7BS6#iIv+k{^$#Q9m|8S|2no)9V}2; zbuO2euLv+0cbHv%gf?%!kNm~&=6J@}Yf;~223&SYX)hEAg${GkqGt$FW|>)qF|J_t zVNR5C;UT@&{3?I&UVihKzhCc&i+vu5m@~x`lM8QQ8386eO8Tuqq2tHqdvC#PFn~r8 zhC`3GsiTjnWlddrPI-lY_p?R?2qv<3YQ&_)hDqVSIiKrOr$uri@k!2QF=e(Vn&uwrqC=iuaA>x~A!*4r~a23uTm4XMi+ZY=YJdDB{8ov0ciFE;ta#17dCxsD%x z%`k~@AMk={XR1Of|BA+poOZv9>f*?-20`(J4%!A+z$4f(agOvkC8Ve*W5U=lMvN6> zChPZb==ER6mMkVSMgv0e=Pd?eJ z)X&3Ajk&78rVAPoTs#uZGVL^~mnnvs!I`TS30|ABxkBi~vU7O``#kz2JaYCG&Bbbf z736K~k_ZMt+8Pd(d9xamP$E2>y6+@5!mcwZqK}$Eg-aNGf>kf9x+0P;oiPnF3ka~i zFZyg>LmIb?e>tZP%om4jyo^ zgSoWuyJSHm$oC{Hl3OZSCfhwd1Vz`}QrkiGvgK_OG8k9tWEimz3;*-=dFoHia(O0J zrVrO-(ZuJ_3CD$JL9wlz zMoTyvPi2X?7QH3QK?yOGH8`PXk9B)j!3|Rk0wSm1&?xK*HtuxhH8$Y|V}EcQ8;g%w z!Pe~#3DV;hY(37)cFh*r8cd$FoY1l_XtN3uZBNGe$?$rT1T_tN4? zf%{|$;kPFzw^)#``H#OtOay`tXv08KW*1g7Z%tc*McAn#V~u5Gt%w_vD!ste#z)^v z2NMTlXTx_Y0}jhENGbtMUWi!e2?;MVcAuQvqX0O1>!!z)KRs{2L)~iTj__eoSeMMm zzJbU74MdL@%)`D!H%EquDk)E6e?Mn&9O<Pm3=+R-XSHkPmF!L zK~-`urT9jffmOPyKuHj#k8`@X}XIO z7OorhOpw(QvFkL74x*x7&9>t$!Adtr?ce`fA3ofNKip?4gkP*bz#rUEt+w&PW8ea& znJd)91g>cRWTtmbTe|FfxDMEiXO~R}-#Q-d<{rmwzJ~tp|L+U@aKE1)ti|p^-h;7K zrreh4&xg+680?p$&<^@5Tv&j-V8+w+Px$p+*3S81e*7Mu<6Hb7y6JUCb=#Eh(-b&n zuxM%Pgwe9_IPb+88?!`lue9zWRZ@e;ozG6`ga79LneMTGn;|WhAN|vKMz3{WpuhTm z`rq;p*Xr9Y&Zjzq;^hX^oGdz;zY3&X4w!o^jEznL2lM0S0nBwb$6bWCuQv26|L?y+ zw>Ur>BxueIZ)k=2fBpA;k7jE{?YAwFX)+}jSI_PnL5O5V{Y~Hf`&8={-@Dfn!1BO^ zcsIuA+*Xs-SEf=Q^P3@i|Y353HZKJkg2--CYYr+zBO zXpkj0L(iISkhqoj#F4auI+xa2)^^tF)Q#E%OL1{K73#iNf9Y22TnANpr%)RneNRq` zx%w7KT&IL|UJBX`4|iAiOiRX$Qm{L@N$kwmt$3t|Jgqp6h2%v4Mip80tnnh=obnp~ zDAC#bdAE--lUj?vR)Gk`QA-JGJiBKsJ1G&YE2IS{6x>7RPv@l+R4E&(yf81Vx`oMw zIY0cjd4#Opbtm#&;k~las?R^o#iWgJQ^Z=N5*i%4mwObGB@|Vpxv1#9k61BiPH)j; zk#D>gGo0Jqn`(75_jzI;&~&s2thH9q7_`@W&sN7NS|`6zxa#}_EW@Qb76T?mi$~UF!eksp+(AA$Yl^F zWfQ3q5qJCd+v&aeS}t*IC81TqyO;5i?fuK_FA&y$4UzH849HrWRYj*jZ?Rvg zX1bD)Hm*>^ z>~yXa#CtU3STfRQP)gU`y$9)@a!iXEUnh}KQX@&Soj8_&xQK(&FaG>dr#1RDTmXPAqVLjAEVaXNZ^?VjX2*NTKGebS+E5Z&d*qOSuV0=K#8?vXNf`6 zjN93BjxiTeHrBsBObYtS46O9|K15zn8N*1&-7Yc|xcTP@;LEw;l5!e^m#TmKH3e*c zaDv{PV?vD+XnPSSWp#XU&*U>4I7{#_Dn*svQFIiPNeL?vtiu|Wv5m`ac-(WKL&so# zrI_L#IjuMEK@&|~;v$8+D2xwE++sSSYnCptg8MgN`#guyb_>*zrcx<=KM@|2ksfyP zxCNgG0VZu-1zp$1kmtbMIbuZ=i4cV_6EW;9CoAD-m18tZE=Fk5t<RZNAwp-dhZ4Mm^d&xG#Da4nk=RyLD6U1RB7FyFH6L8IQWD1Jp zWzSVOh}Fnzf(5c7`3BYCCKmSA^Xc{|50&0lI=&yswjX}`X%;t65w47rucmL30C?W* z{s9$(DF#+BL0xzX2kz`xv9yts?`QiIg%EkGl%btVi=){t4D7N?KW6?WQxJ3GnWULS4&(yQp>3o@OG7f!SC9lk*{3`O-pe%H6ogMz5+ct# zdD8P7UPZ*|SSdiVhV+3);ztAP(F>GGZ1q`d+6Aq6e3C%#;D(*4dvA&O+me6B`%0l_ zlWxh_kuZ+uy?!5fr9b6)@JC?`()9h$5r3RgMij;B0Q=yrg z3d#wCJ%)aNZmM#(sGcMQF0~iE8^1kd{*qBp2#V;FFfg~l#2w~$H9;AZ7p87y z09jy&dnu;CsA`L;Go4=W1#R4KF#mWg3TT9zr=PJ!azbZ!7OKHB^IZ*{F!uH7LQd#s zbGaS8#ZHd84{p4)0gTTs4TerLEavVa7FFkXW>q8eWC zc!M%=$<_*uyhq|g&%)-6nPyzxG1uwkRKl2~u7M@+p$xrv{$&9Zc6?fut8SYN}g|X_~eDv7Hm^t zF1xhw^Km@ws=V%PUBD_>;`o}bkEUG>ZCjqe46`ioTsera*OB1ORX8;?TeDg*$!j|O zKyPWmD|JZ$0=~ONAN`;G3oIetOM>Vqbsdl}y`=VbV4!@Q*3&WGPaEXcB^HBiS)=~> zKmS=eW1FI#McPPf+FNwiuIZoo1K&&+bS~wWaLqt~obWjR{Ga~6(~^(0Vpq*VK`{qA?QrklD@$|EYhG&QD&E zx+O1uu#V0;c3eTQTF(^KDypUNPNr+KK(Jh7sTIN__p~6&umvS-#aM57r4yZ2+;`k+F97JEA_ zTul7|;baj6TCqTiek0DCOH0G6Vu^TEW`BkM9y7z)$bykNmdE`0osY3rY6yu4I^##} zQeMxHiks5ej=dLgOqrJc=jNUo8RGQ*Aey}u-Ok%Y>XwkdN; z7?#WY#O)IyIlIP9tdi)Gq-aJpN%rx1WFquT+YTlOW8p@-HrjK%Z7WXGhTV>paM1jf z=bcR1I8QkwB(9=p)2dUI9)jx!14n4&*N+D8iC%C6$#a1O0~TO# zU3E?iNck8+5TD)7IcxmmokPc2Aiz+P1{84&3b>T2$i7NnG7P*5qRsnAJ3zWAIDFOZ zHf1lB9@V&7l=Mqr5V2=L5IL0L4Z8t;v>N68JTtV-$}(M`4JB7i5+a#NUXv8L#HTAL zFu^o@XT@(}ygV7UWKJD8e^QeHEm?~QheB{D6Qztmp~&Sy>ln}$*ZKWI&!w)1t^LrN zdRyN=UzbuQ9Hk@8iIhmk3mYDv^|DWB+=;f(cC|O8}h!?y{bL zvEccd>uey#kfqnRJ{00khel1Dm5$1PTXL5|Kawh>g@UNYeOZ6*b!OlZ;O| zqGK9bsnyer2LzcVr0l(sHHh)7o&>2kkfaeQa(u#z_>9N%Sc(XPThPYyL%` z-Pu9`lbo@2(8hC~$upiyb~i9{Ty_uXUiU>F&m*ZShJOOBXOYec9&kReRvK^d@4)c+ zp8JmD0zjt?QiRfpQs6GEBSUhdG4oLC87XLgs}Txo?R#}=7FP+qTB7iqD+eGC+?+w!k;Fgg0k zcrXi}@x8qdf$@;&6@I&x`x|N9RU!n6ouLSIArCF-Sr@JD`$-dw()9{O9FLQ2K)i#Q3nW6_jGcUyU! zY0ZcFR=~_K-}g{Q_n7A$Xza)XJ%Yc8#@y&!EsQ^OPK5}D!{Jf79X?P0<^Pofq478P z?~zse@kBb{V)2hw4~1zYe-UOfo^eejdxFWmgp-MAOvJa&qjLa!zO+7R(>``e!|@ zPv4}K=j-7y_MPYTHK!-ToId&;zaOGf1Zr>XYJc+6KPC51(rstDo;ty-XND_rpO|s3 z%HAF_ym$={$dQy%dlMRON*j*m>czeL_{YCrpF5`pgj&Am0lyEx`?i$ZG_H2-$R zmP@$xn#@~5639Jdgn}$WCjvfMLyerP5dmV#+a8O((%VY$C<|oH_jbv`qyJ@QB4-?M z9CT5M76tqwxPuICGvNa@<{p8^tIUHs#)q%RNej_1zsZ?!(jqHp&SAq^Q;UW+4|oy& zWBS_oVS0}UIiz5=67U0^tlyx=^LxDDms)7Iy->3-IX(_jLXnh-2bwAz1qc#m9r#Gg zlQw4_KK$bcs&|Gi~>h(N@3GQsY9Dh9mDc0wV~dvc@c$5By$*%BkT?bb87Nlo{NPT`?L0VMnJ zhwhA@ru!;D!B@jzSJtSYwl0AR)y`TyYv>;EA8ggF*B8>iW4puPRnlqSD#BP`9ihop z!rCg^-+H@NkiJe{EVNE$tDXbpXa1h9HHT~B`;Rnd;I6fvXae1W+0(>}y^oa(`=7%~ zH%3PZ5LgrMg9qZ_oZioZC%bYsTMVJb2ab1E|ex{R{gNGLJk5WEIJT|8x4U zXdJ*I_;xS67Js_bBrBP;F^}uHx3W}BlP&9hh(_Y$q{@E2!1pV0W6d}Yv|4Qh0v&M!#1r5WD!UCP7uG&Zs<)F;gDSYK zN~=f^fB9Nkfkhd_ibqHbS;^~;EWxFdV#z^LaxGgA0tnA)zf$*vSr#Q!$(U8>i~CZJ z%8&Q02GnnqjuIev_yNW`>l%86eIIwutz{*c8WiWj8>2^BpR(r!0g{S=j!8lFlcEG8 z_CJS0(^QSA6(4ucLhcr8MYEH;93b!2I|40oF(0pq|L`!MymE^k3uh!{md0Si{v59( z$>m_IqQj2X$bb}9XsXr~cHUvWTe`n#>CQ@_NS>X`b2%l8$H$artLH~?;4niXZYyvk z%I9rxMuS)pUKl|Dvm;8aI1n#4$PzFNCso-}OlSf{+!5H>v{zUolFBI=S3!f$*-SEq zVfQ(!2<45)pnF%@j!Y<)x1vx^1nGoL3O}@hj2zHn3;pI-o%HzD%6TX8F{Br#`)4tC z5hfZ7>9tuF-_LaqYh+1X=*@jKHi42M@Vu1hxHn13;=p(kM11OEh#D7ZK84~)Q?4L9 z=6s=>L5l}zW*I9fAnwL4rK%jH{x$Q-d3WlP>^H%U5jq_pQH6xRIXY^EO64v8%~{KG zKnWEGM=NG&GzOrR$1bbZNz2#9MpQswA3{#tFB2CNvRItCoxt#Yuc)9HnY7<_(#=kS zA(@9LGV9ESiGC8RHNS#jiRIbw13h-!TP1k_C3WBaq_R1b?me3*`x7q@M&cDs7n=VO zVGz+2lMn$LY;8IlSZ~Ncf{&iixe%UxNL;UttU}>V=*JXYRHSb@DzKUwsoZW*!!ewT zfcKDu&|GP-EH~3Wv56YnkZv84pf%TEw#2qgQ%!x}lcf|7pMf0!gEA&!ZWo0#F?467 z;3BJP$%2~&fi%3*rY#CRPwI}7JPkpib&|sC)4{<&nZaHJ052{Twu3*0mY+HbrkKNa z;owbBvVdTLK!~LKDjAs_zbdTF{2STUP+fD69-=M5lUUhrQTIL7VXy3r>qtmoT#2D7yz>F}6k9SCb z|4D;Lm^;P@C+hqq=E%M!(j-V|d%!2!sf*b~mNY@(KdJ!pqGl#Gys8WeUKN9$hqvYq z%Zv{^`~Yj1cj$ahISAjd&o;T<^!nWhE0xb%ypJP;+xyXFySz@W3 zhbCWGa5Y;Im&7wB*STNF_&EKI2tosjR7@~kU$BUfnk+?jvlFolBWom$VLdg>K+lJz zSzW3PICHzTDb9nUKm^KRZAeevjaYZyQg_RAU1VO@&TD!tYjmkqXiz3Gt@37#x?v{iIau4AQRCUUqHBLb7tIMX z^_CLL&u$HaKOg781PPFmjM>1>a^@0pIaPG~y>=04>;do4ln4)%F*;3Cjg-M3p#?Lu zI$?L=2?r`}3oxyh?6yOnp-{|s%YOV}`8oOz|JMJ8-~GCbEzp|xxu8$}_>V9nyO4Pb zrj@rrd(caEofP@Ca_1!g&l>1S>%_$oSvw7z3;I+4#t(~DnyM2l(Tftu`G!WJs!4P5{9S(*yCNqYOG z)`xvp>82>QAANH{2U8sVlx@&OArEWuw3P}(sYvWRHxo^SCW}Uy_b%%&uh>M}@}dKe zi_L9onDRu-)#p0g7fn799{4$3fhHU#<;nY}yHtv~Q6a3qgYX)y8ysa$1)uTPnA!b;F<&cYYaj6KXvNhK+_pv=OhfHyhCUtg8}J#lM+MXc zH1@f4qZM`$69ef)n2O++zU6wXbdBTiMn+)>DZ+n)Bx6X`!K9Ccj7;KInz`l^a}_H6 z@k1W}QIzgyLKsfgi@9Z*Viz5Z4oH}F|Lkh-od!-;QLeFwn1!wR|7txs`o=A=u;Oh2QH1 zp5o{2S>si3yd&tS7|5u>nw5|kTF;DZq($6fXUW4 zg)(EGYn2+)y2kMp>YBYu71>9!;BlPWsi5g~nLulm-` z$a*WZhCuM6oN4ByzVUo63EYxp{WO#^>(D<#tc{?;O=D`BC558A6od{bYtHt~mOvaV zJ1m{4WM-bOoCaLDP_i6J+Pcl7Dl|sMpmjaR$yhF<6vQqeM=~r))Fk=xv63F-VjXxn zc9Zkw#{M5A{+3#8htFR&C0lz)B^4Pu!d#x|B*TK(n1w=cw4FZyCe&?K8Nxl)4oFj6*JvG%aiRGf z&6hS=_$8>AaYU-KgAuklju5g|of|=tGFO3-heq8igL39xQK94}<4hOkY|L$%$J}=L zkgfjdzo{z6g8cT$WFD;-O`c17Hf=Y7N&-ddL}dO(XIV7Z7pN!rb7clyvN&A0w)qq5 z1euRM*+M#2@mNV}mMSGWnrmY>mEIwAZFz#DZtwFGzP((g?Nif3){eh7|IL_2Il4>A zo)yTPo<%{~;&F`6v2I84G-P1n$%!hb`zPflqA ztHNuVX18H&m9<(}r2>^^b%))i7p4X`ia^K+6C3O-DUi)pNw1%G4|MSSX1BL0S&WtUJ^%Jtr<8lwgBuIkG z(h{Y>69Oq5IDcaKaIB-bE4Wv*^rVJJ)KuNL&%_E_+e$Ao9VI|CQ^yv9Q;6>!t3&=R zwej>mY3}Csa-)?Ix6a~9H1U>QkRIm=DcmJdY|LA9E6E4y! zlb}83?~|YWlp#c@+Y1H*?#&_d=TMY8bkeqVwYWw~y zjH=Sj($N-()-fdJMwDPRM%t%ojM+RcxqG%4`b5bqKQN8GJiar*Rcg@M!=s2T6fPm* znOT?}D@go~wcz6J=MySE&xr(X6t=;Qj5^sJ$^BQ@G-JPUI)VyDcscozai&k~zQ?E? z=l~a!s?J3|Njp-5=9a=kYYJso-Cg5joKLh)(%80b+qN2`L1Wu#Y}>YNHE0?)*x0u1 zWF4~b zjohia&G(9}m9IkIuXc>lN&*@q^%7^ z(j|M>L55J9eFXbL_PETU)G|#%-&(NDHpdrf^lq!eW40mUZO*P>B?I?rD?t;+<-kAC z2Ai~5nER_*82yQW-%kL<4w9w9>v*?daW)-KHIevcVBraRMh!&MtKnE0v=Eosu$x2u zS3(On^^b`$c)3v8sZ90+m{ic_uJj@0(fmvraETMB?fKaPp(b9Kh$L>k?tXUjvdQY? z1Deu~elckD7m9cKTG0U_{tQ3;0x4V?cYW-i}))+vn<|K74vw%_;yEn@u#h-j`}KNx>MR7nAM=>ui-h){J@4UB|}2nA)o57 zO^eGuAL<_$RqR4MW%CCt5lej_(?Vocy7GH#bo}DX@T4md9N$s`SCuUY0e!|6iW~XU zz9DNnbk$yhTaL8~*yxMpy@e)HU&D|JPM3aY)Q9u zs{}Qg9hps=$ranZ`7@eLXuw~Z#CO(K%BGvkQ_DfOiDWe@ULamNExGMA;^UdKN@PQt0y=Lu@ydw{rIzZ#Iq)v_ue^Yw>kKf5= zBD6DP3RVItuG|szQN^q-rFK=swcfT1Nx{t}a#R6#-MTz}MZzASsQppSAvr|+X%)H{ z8C9}3uQSlJk#12>l3d*P@!kTEtX0#F%D!kr)Afx6Y%mB?a?d(xb!^%dxY=B3+D_UB z%DjjRWknS`a>AkNZ3qXDhiRy2%;pQ36hqs8a!4hz&T2v5Ad$gE2d;R(h41mx4+g66 zi|vqz)bP>w^}l^C7uqz38WYr1EbNmThJ=oF5h!D&9jqDQ7;V=p+vHGVuaJIa;E|;`Wg%Oa z)?{s#$ayZw+=Lu0h=NB7U`mh5DXep@P?`f)u>al{+~zQ{yA;x6Sm% zsTWt_vSxGccW&^C*mx94Im;Q;n?FpX^PSPL;B1*JV#K(wY(zjQFxJ8v+BWAY}IzagHvewj%5J3EdJqN=v^) zS!xcvA%mhqH{MZooIie`CC;?MgAx$aJx3)8G+xqB3*o#+9NkX`*RC%ypPzXopxwBxaOXrhM4!$nu>2^ad<@sC*6ELZKSf?@>t5GgoUZjV@7s=$aZ`K6 z^Pa1SW`{gS@dAY~i9f40AEVeWdr7RflW@}lv(=AayCWe?oL_qMh?XemgTFTvQZ?00 zPrZ%#NyK3q9Dtk{FVG?_g6{Fh4CwfitXmnB)qMo@_67Nf;q2%0I7}95_cJP6!>Scc z-c!p^CwA8HM(BCQoKIZLtlPga>Jz!|5yFyz4@Ts{ajGzzm+8C9jc=pWd~6t)f4`fS zw8E5v$u-v}(Ng}7{WX^(0Sx|?v*%IwXA-a9*oF9cX;_cp%=1GqBeHOu70OJ3ww7s4 z;^3Xd8=6I4E@m}Iiw#8=NZJAMqaS2ctx(b8=gidYV8b|vTiQkuIXf!FHc8$r&HCqp zU&Q3PfFQvXMQ%-bMYHd%KLha2Idd)ysP@(Sth*thC#L6LRGf-b3ow9uq^#a@I6kP~ zNm*l;)Z)f&g*2e*;oW#g?XkgPzZi>`(Y%VDNq_6wtF(ED;&CSI7i0(Zc+Z#>wLKI~ zDq1pP>B;wWsNIQN;Dx}4VQl9>lYQgf?d&NmgfXBV%n?sFU6G02WwAw z6kY!;Xv5Gb1c4ia;;2=F?Q5YzW3PZCPkK7g=g)Ud&ojKQl)rn(bjtNAdCkS~Fwzsv zq5}fh|7c~%QeC41R-lW05gBy3+%4xf=CNgpFbEmveQYeZIy_Xs!zyti*R18F!5f^c z9Fug2)agW+50+SyvgA?$l0Tl|j)xg@MJ=Yah++be4%&aKw>@N9EJ_%22!UXnlgQ(u zt3M=yO046oOCD0R0$?gyl~9N)*uHCvr*FxlwrV8jYspfETRs1|Y!t<4wguH?q08+} zl6-BkZVaU~9+}VT@VI|==6yIi_f3bZ^IxON#H`fta-T_HK`uUHw75u3>?NCqutlEL z$nOaQ^yakh&IN~bL`kfre+qS}K%F;JSu;t+xeikZ1!K4OAq=#}UWd{LY!=Nqqt`RsfwO zevmNWKcTgI3h59oxx=S2hY@9y`DIjl%3av{l%1cn?ZWkj-(b^7#4}&fEOa!Od=GdHibq1N}&*hb3Dc{+GHw{1LTSe+$vKH z*;xP#O>4c~)77sX(43Yc>)+YjH>*wiWSHazTZguG(EV6W3b2UK5k-tY(~}@!jqAC2 z)-bDLYsx(hxBJ0NK7tqUU$ycV!JwLUCkXbHQak3TDuK1;O_=4z;+ z++;g6RYs{v6?`HK*Q=@^uL2l|&|o{vA1NyVCB7xva-a8-Uch?wCngjX$V+2M3sB%RquvfeO%%XtrbgWqOpLU@Ts8BXvPPBzz< z2jXB2++sC1uo(Ob0bgiRr${qqG)hV@!bKb6C=lU9^Oz60wFS{nBxGxV}?=T zbsL1c0N9LPkVCkiin8D0u0ex1vYl{M3bf$gUueSd-alG)WID>1d_AAY5WH-?_Y(54 z^$$BrLQ(WhiTf}mjKiEm$U-B$_Ffk2_j?z3z@w0HmOUR6%%no3v^0>8H}JHAkM!G^+w@PEpMCK8$(KcGcvt9V zSMz^(jEPh;Q#0rd%QtF=m;Put;As2?n}?q*Itfi(v`TRQ75%ZDXy5sD2|a&A6n6ny z5)2Oe_B<3J$0Nr$AgUm}DeVWYbvV1NA*Wq}|8xWLF?}tI&ec9Qq>M>`smH+WieC1N zQLHmk;sRb+%fxrt%@psU+qR*iK*Gz(47z8A%wFKT7Kyf})X(*8L1dZbbBafNSjjNV zoB@L(Q6=HsF(92fS85F#sN90*O<|rfUXU{;m&~*C zXSizfV60%rk=SsojdRUX!tprXiw+~C-yJH3eetY(g($G_R{75$Ps7+SETCPywxAuO zDL1wmj6_mhDfN)Nowr+x;6&I@XLOvBJXP8wL+5W|aV*925bivr_H^i*SzK?J0b3oF zRXWm?*OYTC@IBD(TE3HD$g3-^GK^E2+pWz{h|TXJ%I=N~aIRq(pk6sIBDx1|)*W@_ z2Vo1}%ue=MX3O_vh2V-=5J(V}}e^*bJ>pk>b{?6{KwaJ%L?T2#A5k)q#sjxt@ zQ{M`6eb=dzjkZtI#g{Xd0{BuLzfY!ivv}mB(F^Z&+8Ec0@d$atq}H?~ro13B9StSk z8J>bfAf*efHE|HDbu%5jF=PW3Oezr-kc{+kYfnLu@LnQd?MqD>Oq>8w!%YI2aaGL{ zeI5I5aC>85UmUO8DD9wqT3_0ed9J_RK*bsOrInt3OEXtOLCF-seqCVie4zTH-gROCfh-ILvXmPZ)t*rZ zIv;T&J|rw}id{rFa?oox*9E`CO5CxD$N3z5^h~5ilt~0OO1Ztp@o-9XvNFpoyP%z2 zIm(f02_vEgact>NOVI`J@7<|xFy5WFb;wi+zKo_p@+8dKs~BkbHmA>$uk)1QSNdT>O^TpN|huI?T2`BD=uL@2CtUlCXu z?3W*9Y4DWk9VW)PPDT7tZ))OCl0<`p0~Zy~AHYZjKeVc8ht*~nBd4c^wL3L;W8SYt z<(KkDX&2hz3Gf~w?w7b`ZK*8=V`)aGbQ~bbc_=$#Xos_gzrYd1N;gA7U@U^iD(@*- zNd2*&dU8hZOo72AYfZeJx>6^Cn8F%XsQyGCx6c9&Vei5aq$Fxw&KEFo7Y?#U$c>CT~dRIIU8WSv( zWE`0|#`>Dj>>ksEZaTrRKgENIZX%+y{M_EL;5tM2frVQQ`KDFOZY#zTpzHEW?ng7lK``-#N=xq{sE~tS2%DsRT1}HT zrFR@^T!W;7CB-hn1P|H0c))=8YcPbw*p-t@Z30d3j#4~C&04WHq8{;GeiDL&`XYnT z^!@0bvnfNXHWJbr)Ud-`mxVndNh0$uDnTm%qQK__fQ2q)cGOnup&NdNWwt0A*ndFI zz^Sv#qIH&;!LCz~OsAkqTgwG!`1Zpak6qd6xq~G7yY^iw0aOV16f$|5D@wAk-)g5VX5X8-*RVqa~$Espi6cM_eJv@E7EFNrt$^EDyta7 zvL;WnejHq;%(tbWSK+Y`c18OLItWUXl#jfKUT-=x=ZxHV-I*0f$oa8tUmKkmC27ZR z4yFEG*O{WrR+fCJW($!Ww}X`^V#TwsjD3oW>6WfAwpbB%)_XJ6Bms_GBWBbRJ7zH@ z#A`fGydZkMH&@B|t$)&>=iSr}0B<{CiJ)y?-7QXQlp7Y!v7V1FoNfzs2vdZmw22!z zD0dauFd-v9WcaDN)M1xZ;q7!2x4H?#;>(e4ObBHi+l!wgG@G-693l+Cy@aT-8x{-sliP;0meu_U?uoKx;^hXtFT_0IHTyG1M?itah6CbRuoyK1k4sGDKgyegn2m!#&@B z>fLG{|0dP-(G6%j+|d700zn=1ffU#m89UqFPODKDDMNaS=Hcg_N50ZWj1xr{Hc~ z^Gjk&9$u!I&LZTJkP5Xa5U?gt>Q!2HmAbYs{ACPUDvkf*%)|9;u3IpwGA;xwAyQbo z`F*o8$tzfw2(VY@NI^_`6~NK~hIeAc@c#w8bOlpi9l2m@ovR z7Ym5as!Y{t##}scPg{~!Q5u*;Y_t-`d%4DdVsFs+iS*h}Ioeu|CzgZy9zPgBo6lSJ znAh2wROU`nMMcA^@!;iy!l=d!r|obfb(ehN=D5N}Lg#_XH);ao!==}Se!(j4Gn}}x zagM93;$JBN?Cwe>TA48qUG1*%5##80__yxSdsTO}1rP0E$IxjSl}-7!2;MvXnP*i7 zX(HdGRt&&xHP9e6gkX`LZ8Lr6<*Vja9#~M4foD7uI!K{eUt~{p z*=&`pzZ5KS*k);FIBM#$?-h1k-ObR7_dZ~P`=~dE>twWU2SiCT=)F)2O{G4tJz5tC z3{N$yU(-+gxnn7_Y%IE}PnT*#36mJNKO7k+niO})$C{JRR?(mFf${B$P4yMQBi?XY zGht3!DnZiGCQ593ZN5K;Vk7vid-bfn;>dEjSRyfeXb$qai|_5WqV5#~=va{>C4Q}= z(e>87PJ@}Lhct%XKqC(_9l=e8*dyXdh}d)@T2z)VwR@3pHs_f>*-XC5i~- zXi~|vn9&uqeq;|2=8^6xvh5UgE=yn;&B(S)#IcWR!^y61S&}AW?jbxk1+|bG(f^jz zk~ldfy}TeTOQy^gcw&EOc~h@_89Agj?0@$a&SrQoGs47`$akWX)vs#-DwdHM!!65* zvJ_18@E8BbHTT|nPqP%LgZGa1)aj{GL*ginEEaLfZAaYD{qDoQs!iS$*c*@Zn_7R1 zK&(J*tJtxp=Lshu5UyEu)GviW;d0ReiM+biml@TkkMz_rY`3ooM2V&km-u z-^Tf>=qqM87rjsscB6{d{tADs%({ALUN5dRmONnHc%9oTQ{WqB~kk~a_@D+s7* zls}S)nh69L^lt>U*^fc9!Q(826xz)zMD)odl+Ml@*J<^&YM~Aq`DB;SdA{ePui4$Qk&PNY@)lXZf^I%?z97e`X8`1@6O0sYd;~>> z&XaYU;zjYM*Ne?uy4xR5E}Mp~H2xTrU}e;jz?~jQ>xr)hn$bCr z8>(kM%Qv4gx&(&IPbgXZN*zMmFdf~jUbYXRv@r@{$JcRp4&sr4LM$>(0$UQd|LS$l z*^`60xhldn;X*sh7kl!i&gyiRBZPenQ9ARsv8g0($e>&v_7p~SJUnfy0jR<0) zj^8=unU2*z&dE=kDwi5#vJ$a~EF=HzX9}`La9CQQR-saYmAnII8xZZ{nP(ax0Qw8+ z$}k-4E9n53mI`~(Fbo#-`i}oQ8pgOBvJZlo1%ESaC2J0chHbSd6c2Rw>+~u2H0&Bnob>O@jCJ__K2dp=sSt}-)G0A zF9Weh+!%e*eZzcFeDJdbWc)7rb*2!@ck;m*Skt>?SEVO7p7il;;q$}jxkc|d!u5e_ zNlVJXmMK6u)+NC^90PF^u`S%yZ zDU{U7HA;FBG3s#8bU<^U&UOujxGD=JG+VFLo@2+MIBoHxYisHr0%Zm2AYLB~v3*MA zYL{v?#NW<m{zLnQ?Lp>wI&T3Mq+^jF@uKN@jbnOCG5wO>kjdL|0 z<`kg4)sBfP!HWMD(GrNO`~MxDN=Z;TY&@_)z0w6)9aQD7m??;bw8DR@R{%uRAf*3R zSLY3{1o`KnvQS?!i2vU;Hup~{>Ry(k5^s1nuScbB5@=AFv!QK0zD#am7oXq226?Fb zNUq|H2BH2cO*X|YwJ(j#qw(7G(&t0|>AuOAXgd^^9$!3iy02Pbuun8l;!E!Xy}aEN zxQsNwIq3F;JqUvL+cqLRBAymG%+9Xd z-##+Hz$w47hGfIU(;?LV8&yw>OSMzp4xtmavsynJWJABMxDY2jzi_>9_xqzfs0wTp zE%!g?$dTf~bW#s23CM4MYept@5%_( zwA&ml%}?Rzw%4&sI$U=T^C4(K~AaXd%W*13JBhD4>Loq=vAj2 z{gv>}uFU6xo_r^>&Po=UaE7&ka#`CXPqkI+Ul0J~M3_u*23pH3R_9Y7zI@2oRTE#w z!#nQWAhMS}NurQq$Tt9cyYzB`KyzhEI`w(gaj#upQ_Els5^{Xd1j~4`3ixNyt_<0L z4lXwWDQmLfIpYk#DOGA@a>UZ>zn_owl$fkV?o?|S$~1!KQlxx1Ld7RoWdg~)&4f?(}Sp^b_{69EGAly^g{CGHmgkiC!#8|75^c@aY;!d z+IG|9f{)~|y6gA9*Z@S1BR$K2v*McnzFC+3H>&?FSF8FDd%P+!{|^N5@`Sm#IJpr_ zw<7pkLtnpA;X3v|^Xq;sDdDQMLZ=XcSGqW(i{^Y9|HHo81aUvp0_I}| zp9~e<5UCQZ?7wC{h6eH}7FS51xC8gk34Fi+qtHuJ`7ieA(TOOh`-i^>wk4F#h|c&F z%4A}3rIkEvcy?6$#nM>HCT3P9g#j`ZG$_x@#CZP+7lE)O6?e;=x;-vl1?F_f{*|?tTeW#E0*;(UtqiDblYe#@R+f*8$ABM7F2uX{nX;=6g$U2nz9q%PNAN@OiWHlw z(`{9&Bm^#Hi#wg@)OnMge8RX2`Y}Vq7Um5%`K++0x^2}wurE~hE}<~FoA!-#m{ckN zaFYKt58tl^ zXe}_ZArzl9GGg|q9RCyt>Kvlhd`#$G$va~aI-S|$k69@LP%OHh-M>9D@z5j@zIq&) zvtT)bR}pLWZ|y$ep%5k$%X2>H&bfJv)}9E6hhupb`bXxXJ`g`_u*0y9>zeY;q|dhy zc$A^gnzBBefK|CTt7#gP$fDg~ra8Q{QD~uxNx^qF^A}4hpYU5WPSuwYNYj4|kVB%n zyG!>)Keud>Ndx@?=dXFwvRhv~ft%}+LWu@N9cWfz4LVFZ?u=5%N8GdsNxJIkd(u#& zU#aEg`H$_XJT42k-LE^koxF$jD*y^#^#W38Q^@&wF`!$mw2}9De6{mE`4k=zM06qPPi7Z zmB04lP!L68`4p?bQ5%Wo>u-&d2$Tj$RMxr>B>Q(<;MbrMU=U5BHpyGqAI2E0Yu?wQ~;0mXZC-7gY8k&Ut?~s|hKNBalr7dUjk&Gd=6wwYm#*y)S ziJrOG1Pzp-J;L!oI5luojv@aE%tg_re21BY2>A7b*&Q`g79pb;rqvgZ*`-fjjH(%D#vmio{!E4$ikaHpCgo&%!g3(09Gm@%o?v*88QNjzP_?5L9P}mb=FbHhW>Ok{nb@4!Vk>dz z)FGUo)@Cjjik60;;D>XRwNGty&oQFeM~>q0=*#L0-^mx-+ib3FmSi*jC~e^v0rRKK ze{*TE#j+BZfhaA1{&7(ml=Vl#XSe&!R&xa_e)97(dZLM09p8qxFn-Wy&NjCl!zM+% zgrogFtV_tZWXVvoJZNFq9g05;UVsKY)?EYRu!5I*AW0^0&N$vL6$Kg0W&%RiTi+enqNuNfy~2 zx!{(BM;@)ZR|QS9Wj89keG39ZV-2p^^9()Q=5*gzXOpk4590tx>Sa$SA(B$SQ%o|l zs0Xof+`z9J?4b9BvKyoZEj0(5Gp(7H=3|t|Z9`t2Ls@v>R`V3QaKh$pTB57S8n9x( zxC{>GI5;Nl^- z`h*nYdfNc8aJZms*{MKa0!!|g{K<9mp*LS*ZCXcXS<$gh(g+IO?-41=hR$3n6y)W= z{*~~gr?cV*J?&bKnYE=F(KS->^@iCphm<6X-=N!szl*-XtOwmXamQ3kci|^x?~5RC zjx#NmVWUO|OswEsvB$LK^QFM`)KU$m1>Ia~kYN*X-HI zB9svGFVF)St&g7HC)-sZyv0Wd&7`u7SP`T>MW8$mjTUAxt<{R|iR1`$C|2v%>qpNGnb6gQIYS)rf z=A*iva*Dn**uvB&3X=aJ>j}uE!M*A40Bp{UQkCYa0MgOsnrR%*4mPRB$7 zN~v7Mz8G$s7@0!Q1OmLj2B=7akPtCU- z@AqrR)EkZ9nV$$SY4k#r#n=^jE%e3(#U!xA;IUkXS|!Kn6t_WRkE{f$noC+U-1J>9 z1wnPC*X#A3D4s~I@{SV_m5z&xNA;%+^6)&ah*1Bv42ivHlIb{`XqxKnG5vG$>=NHF z^5PCaUjtmYVg_DG`!(Og56$iJd|=JxedPKG`Mu1(5C~meUeA2&u{{DaA?X!Nd?xwO zDL42p8CpLZ%uagP12P-dS@1Y_P6i%>vSzlh0A$5q$RnyWq)Xh1kHwyfUg_h+m6$@_ z2c|w*w$LG5mSZB{4k4s3-K~c*cPf8P^5)`7s@AO1>X)v($*hLb8l7a@Mr;nK-?c23eXnPdU vOW+uAVSG~!KG~V}dZmETHPy`dF!Kpw9;~Do*haJu0{qBGD2msL8V3FkTD!~9 literal 0 HcmV?d00001 From 8d8301517d04173976c46d37f283b6fe5449dcfd Mon Sep 17 00:00:00 2001 From: Sagar Viradiya Date: Sat, 6 Feb 2021 23:14:20 +0530 Subject: [PATCH 5/9] Bug fix - Fix bug related to transformation in GifDecoder.kt where transformation rendering position was off by applying transformation after drawing on software canvas rather than while drawing on canvas. --- coil-gif/src/main/java/coil/decode/GifDecoder.kt | 3 ++- coil-gif/src/main/java/coil/drawable/MovieDrawable.kt | 10 ++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/coil-gif/src/main/java/coil/decode/GifDecoder.kt b/coil-gif/src/main/java/coil/decode/GifDecoder.kt index 5969b08c6b..bfa2ae19bb 100644 --- a/coil-gif/src/main/java/coil/decode/GifDecoder.kt +++ b/coil-gif/src/main/java/coil/decode/GifDecoder.kt @@ -52,7 +52,8 @@ class GifDecoder : Decoder { SDK_INT >= 26 && options.config == Bitmap.Config.HARDWARE -> Bitmap.Config.ARGB_8888 else -> options.config }, - scale = options.scale + scale = options.scale, + size = size ) drawable.setRepeatCount(options.parameters.repeatCount() ?: MovieDrawable.REPEAT_INFINITE) diff --git a/coil-gif/src/main/java/coil/drawable/MovieDrawable.kt b/coil-gif/src/main/java/coil/drawable/MovieDrawable.kt index 3e061576dd..e9e2d08627 100644 --- a/coil-gif/src/main/java/coil/drawable/MovieDrawable.kt +++ b/coil-gif/src/main/java/coil/drawable/MovieDrawable.kt @@ -20,8 +20,8 @@ import androidx.vectordrawable.graphics.drawable.Animatable2Compat import coil.bitmap.BitmapPool import coil.decode.DecodeUtils import coil.decode.ImageDecoderDecoder -import coil.size.PixelSize import coil.size.Scale +import coil.size.Size import coil.transform.AnimatedTransformation /** @@ -33,7 +33,8 @@ class MovieDrawable @JvmOverloads constructor( private val movie: Movie, private val pool: BitmapPool = BitmapPool(0), val config: Bitmap.Config = Bitmap.Config.ARGB_8888, - val scale: Scale = Scale.FIT + val scale: Scale = Scale.FIT, + val size: Size ) : Drawable(), Animatable2Compat { private val paint = Paint(Paint.ANTI_ALIAS_FLAG or Paint.FILTER_BITMAP_FLAG) @@ -91,10 +92,11 @@ class MovieDrawable @JvmOverloads constructor( softwareCanvas.withSave { scale(softwareScale, softwareScale) movie.draw(this, 0f, 0f, paint) - // Apply transformation on frame - animatedTransformation?.transform(this, PixelSize(movie.width(), movie.height())) } + // Apply transformation on frame + animatedTransformation?.transform(softwareCanvas, size) + // Draw onto the input canvas (may or may not be hardware). canvas.withSave { translate(hardwareDx, hardwareDy) From 83201102296a6f2628c43f1c0c012bdd8dbc1c6e Mon Sep 17 00:00:00 2001 From: Sagar Viradiya Date: Sat, 6 Feb 2021 23:43:56 +0530 Subject: [PATCH 6/9] Code refactoring - Minor code formatting. --- coil-gif/build.gradle.kts | 1 - .../java/coil/util/RoundedCornerTransformation.kt | 9 ++++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/coil-gif/build.gradle.kts b/coil-gif/build.gradle.kts index 898da1e716..73b4b80d66 100644 --- a/coil-gif/build.gradle.kts +++ b/coil-gif/build.gradle.kts @@ -3,7 +3,6 @@ import coil.addAndroidTestDependencies import coil.setupLibraryModule import org.jetbrains.kotlin.config.KotlinCompilerVersion - plugins { id("com.android.library") id("com.vanniktech.maven.publish") diff --git a/coil-gif/src/androidTest/java/coil/util/RoundedCornerTransformation.kt b/coil-gif/src/androidTest/java/coil/util/RoundedCornerTransformation.kt index 0f9fa634bd..68253ff1aa 100644 --- a/coil-gif/src/androidTest/java/coil/util/RoundedCornerTransformation.kt +++ b/coil-gif/src/androidTest/java/coil/util/RoundedCornerTransformation.kt @@ -1,10 +1,13 @@ package coil.util -import android.graphics.* -import android.os.Build +import android.graphics.Canvas +import android.graphics.Color +import android.graphics.Paint +import android.graphics.Path +import android.graphics.PorterDuff +import android.graphics.PorterDuffXfermode import coil.size.Size import coil.transform.AnimatedTransformation -import kotlin.math.min class RoundedCornerTransformation : AnimatedTransformation { override fun transform(canvas: Canvas, size: Size): AnimatedTransformation.PixelFormat { From 40a7ee488d8b74dde87d501eb97dd370860d067a Mon Sep 17 00:00:00 2001 From: Sagar Viradiya Date: Sun, 7 Feb 2021 23:58:41 +0530 Subject: [PATCH 7/9] PR review and instrumentation test fixes - Code refactoring and PR review suggestions - Fix instrumentation test failing for HEIF and Webp transformation below API level 28 - API dump --- coil-gif/api/coil-gif.api | 20 +++++++++++++++++++ .../transform/AnimatedTransformationTest.kt | 9 +++------ .../src/main/java/coil/decode/GifDecoder.kt | 7 ++----- .../main/java/coil/drawable/MovieDrawable.kt | 9 +++++---- .../coil/transform/AnimatedTransformation.kt | 15 ++------------ 5 files changed, 32 insertions(+), 28 deletions(-) diff --git a/coil-gif/api/coil-gif.api b/coil-gif/api/coil-gif.api index 23932f706d..58bd793e2d 100644 --- a/coil-gif/api/coil-gif.api +++ b/coil-gif/api/coil-gif.api @@ -1,4 +1,5 @@ public final class coil/decode/GifDecoder : coil/decode/Decoder { + public static final field ANIMATED_TRANSFORMATION Ljava/lang/String; public static final field Companion Lcoil/decode/GifDecoder$Companion; public static final field REPEAT_COUNT_KEY Ljava/lang/String; public fun ()V @@ -10,6 +11,7 @@ public final class coil/decode/GifDecoder$Companion { } public final class coil/decode/ImageDecoderDecoder : coil/decode/Decoder { + public static final field ANIMATED_TRANSFORMATION Ljava/lang/String; public static final field Companion Lcoil/decode/ImageDecoderDecoder$Companion; public static final field REPEAT_COUNT_KEY Ljava/lang/String; public fun ()V @@ -30,6 +32,7 @@ public final class coil/drawable/MovieDrawable : android/graphics/drawable/Drawa public synthetic fun (Landroid/graphics/Movie;Lcoil/bitmap/BitmapPool;Landroid/graphics/Bitmap$Config;Lcoil/size/Scale;ILkotlin/jvm/internal/DefaultConstructorMarker;)V public fun clearAnimationCallbacks ()V public fun draw (Landroid/graphics/Canvas;)V + public final fun getAnimatedTransformation ()Lcoil/transform/AnimatedTransformation; public final fun getConfig ()Landroid/graphics/Bitmap$Config; public fun getIntrinsicHeight ()I public fun getIntrinsicWidth ()I @@ -39,6 +42,7 @@ public final class coil/drawable/MovieDrawable : android/graphics/drawable/Drawa public fun isRunning ()Z public fun registerAnimationCallback (Landroidx/vectordrawable/graphics/drawable/Animatable2Compat$AnimationCallback;)V public fun setAlpha (I)V + public final fun setAnimatedTransformation (Lcoil/transform/AnimatedTransformation;)V public fun setColorFilter (Landroid/graphics/ColorFilter;)V public final fun setRepeatCount (I)V public fun start ()V @@ -75,7 +79,23 @@ public final class coil/drawable/ScaleDrawable : android/graphics/drawable/Drawa } public final class coil/request/Gifs { + public static final fun animatedTransformation (Lcoil/request/ImageRequest$Builder;Lcoil/transform/AnimatedTransformation;)Lcoil/request/ImageRequest$Builder; + public static final fun animatedTransformation (Lcoil/request/Parameters;)Lcoil/transform/AnimatedTransformation; public static final fun repeatCount (Lcoil/request/ImageRequest$Builder;I)Lcoil/request/ImageRequest$Builder; public static final fun repeatCount (Lcoil/request/Parameters;)Ljava/lang/Integer; } +public abstract interface class coil/transform/AnimatedTransformation { + public abstract fun transform (Landroid/graphics/Canvas;Lcoil/size/Size;)Lcoil/transform/AnimatedTransformation$PixelFormat; +} + +public final class coil/transform/AnimatedTransformation$PixelFormat : java/lang/Enum { + public static final field OPAQUE Lcoil/transform/AnimatedTransformation$PixelFormat; + public static final field TRANSLUCENT Lcoil/transform/AnimatedTransformation$PixelFormat; + public static final field TRANSPARENT Lcoil/transform/AnimatedTransformation$PixelFormat; + public static final field UNKNOWN Lcoil/transform/AnimatedTransformation$PixelFormat; + public final fun getOpacity ()I + public static fun valueOf (Ljava/lang/String;)Lcoil/transform/AnimatedTransformation$PixelFormat; + public static fun values ()[Lcoil/transform/AnimatedTransformation$PixelFormat; +} + diff --git a/coil-gif/src/androidTest/java/coil/transform/AnimatedTransformationTest.kt b/coil-gif/src/androidTest/java/coil/transform/AnimatedTransformationTest.kt index db79ae23bd..e233651afc 100644 --- a/coil-gif/src/androidTest/java/coil/transform/AnimatedTransformationTest.kt +++ b/coil-gif/src/androidTest/java/coil/transform/AnimatedTransformationTest.kt @@ -16,6 +16,7 @@ import coil.util.RoundedCornerTransformation import coil.util.decodeBitmapAsset import coil.util.isSimilarTo import kotlinx.coroutines.runBlocking +import org.junit.Assume.assumeTrue import org.junit.Before import org.junit.Test import kotlin.test.assertTrue @@ -61,9 +62,7 @@ class AnimatedTransformationTest { @Test fun heifTransformationTest() { - require(SDK_INT >= 28) { - "Require API level 28 or above for HEIF support" - } + assumeTrue(SDK_INT >= 28) val actual = runBlocking { val imageRequest = imageRequestBuilder .decoder(ImageDecoderDecoder()) @@ -77,9 +76,7 @@ class AnimatedTransformationTest { @Test fun webpTransformationTest() { - require(SDK_INT >= 28) { - "Require API level 28 or above for HEIF support" - } + assumeTrue(SDK_INT >= 28) val actual = runBlocking { val imageRequest = imageRequestBuilder .decoder(ImageDecoderDecoder()) diff --git a/coil-gif/src/main/java/coil/decode/GifDecoder.kt b/coil-gif/src/main/java/coil/decode/GifDecoder.kt index bfa2ae19bb..27045b184f 100644 --- a/coil-gif/src/main/java/coil/decode/GifDecoder.kt +++ b/coil-gif/src/main/java/coil/decode/GifDecoder.kt @@ -52,16 +52,13 @@ class GifDecoder : Decoder { SDK_INT >= 26 && options.config == Bitmap.Config.HARDWARE -> Bitmap.Config.ARGB_8888 else -> options.config }, - scale = options.scale, - size = size + scale = options.scale ) drawable.setRepeatCount(options.parameters.repeatCount() ?: MovieDrawable.REPEAT_INFINITE) // Set the animated transformation to be applied on each frame. - options.parameters.animatedTransformation()?.let { - drawable.setAnimatedTransformation(it) - } + drawable.setAnimatedTransformation(options.parameters.animatedTransformation()) DecodeResult( drawable = drawable, diff --git a/coil-gif/src/main/java/coil/drawable/MovieDrawable.kt b/coil-gif/src/main/java/coil/drawable/MovieDrawable.kt index e9e2d08627..19d7b6693c 100644 --- a/coil-gif/src/main/java/coil/drawable/MovieDrawable.kt +++ b/coil-gif/src/main/java/coil/drawable/MovieDrawable.kt @@ -20,8 +20,8 @@ import androidx.vectordrawable.graphics.drawable.Animatable2Compat import coil.bitmap.BitmapPool import coil.decode.DecodeUtils import coil.decode.ImageDecoderDecoder +import coil.size.PixelSize import coil.size.Scale -import coil.size.Size import coil.transform.AnimatedTransformation /** @@ -33,14 +33,15 @@ class MovieDrawable @JvmOverloads constructor( private val movie: Movie, private val pool: BitmapPool = BitmapPool(0), val config: Bitmap.Config = Bitmap.Config.ARGB_8888, - val scale: Scale = Scale.FIT, - val size: Size + val scale: Scale = Scale.FIT ) : Drawable(), Animatable2Compat { private val paint = Paint(Paint.ANTI_ALIAS_FLAG or Paint.FILTER_BITMAP_FLAG) private val callbacks = mutableListOf() + private val size = PixelSize(movie.width(), movie.height()) + private var currentBounds: Rect? = null private var softwareCanvas: Canvas? = null private var softwareBitmap: Bitmap? = null @@ -132,7 +133,7 @@ class MovieDrawable @JvmOverloads constructor( /** * Set the transformation to be applied on each frame. */ - fun setAnimatedTransformation(animatedTransformation: AnimatedTransformation) { + fun setAnimatedTransformation(animatedTransformation: AnimatedTransformation?) { this.animatedTransformation = animatedTransformation } diff --git a/coil-gif/src/main/java/coil/transform/AnimatedTransformation.kt b/coil-gif/src/main/java/coil/transform/AnimatedTransformation.kt index 717e75d23c..b4147570d9 100644 --- a/coil-gif/src/main/java/coil/transform/AnimatedTransformation.kt +++ b/coil-gif/src/main/java/coil/transform/AnimatedTransformation.kt @@ -12,21 +12,10 @@ interface AnimatedTransformation { /** * Apply transformation on [canvas] * - * Note: Do not allocate objects within if you are using [coil.decode.GifDecoder] as this method would be invoked - * for each frame. + * Note: Do not allocate objects in this method as it will be invoked for each frame of the animation. * * @return Opacity of the result after drawing. - * [PixelFormat.UNKNOWN] means that the implementation did not change whether the image has alpha. Return - * this unless you added transparency (e.g. with the code above, in which case you should return - * [PixelFormat.TRANSLUCENT]) or you forced the image to be opaque (e.g. by drawing everywhere with an - * opaque color and [PorterDuff.Mode.DST_OVER], in which case you should return [PixelFormat.OPAQUE]). - * [PixelFormat.TRANSLUCENT] means that the implementation added transparency. This is safe to return even - * if the image already had transparency. This is also safe to return if the result is opaque, - * though it may draw more slowly. - * [PixelFormat.OPAQUE] means that the implementation forced the image to be opaque. This is safe to return - * even if the image was already opaque. - * [PixelFormat.TRANSPARENT] (or any other integer) is not allowed, and will result in throwing an - * [java.lang.IllegalArgumentException]. + * @see AndroidPixelFormat */ fun transform(canvas: Canvas, size: Size): PixelFormat From 860a7f32436962efb6d51fa8763b1607d53f3a09 Mon Sep 17 00:00:00 2001 From: Sagar Viradiya Date: Mon, 8 Feb 2021 00:36:37 +0530 Subject: [PATCH 8/9] Fix the instrumentation test failure - Fix class not found error for rounded rectangle below API level 21 in RoundedCornerTransformation.kt --- .../java/coil/util/RoundedCornerTransformation.kt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/coil-gif/src/androidTest/java/coil/util/RoundedCornerTransformation.kt b/coil-gif/src/androidTest/java/coil/util/RoundedCornerTransformation.kt index 68253ff1aa..cf2a3d3197 100644 --- a/coil-gif/src/androidTest/java/coil/util/RoundedCornerTransformation.kt +++ b/coil-gif/src/androidTest/java/coil/util/RoundedCornerTransformation.kt @@ -6,6 +6,8 @@ import android.graphics.Paint import android.graphics.Path import android.graphics.PorterDuff import android.graphics.PorterDuffXfermode +import android.graphics.RectF +import android.os.Build.VERSION.SDK_INT import coil.size.Size import coil.transform.AnimatedTransformation @@ -15,7 +17,11 @@ class RoundedCornerTransformation : AnimatedTransformation { path.fillType = Path.FillType.INVERSE_EVEN_ODD val width = canvas.width val height = canvas.height - path.addRoundRect(0f, 0f, width.toFloat(), height.toFloat(), 20f, 20f, Path.Direction.CW) + if (SDK_INT >= 21) { + path.addRoundRect(0f, 0f, width.toFloat(), height.toFloat(), 20f, 20f, Path.Direction.CW) + } else { + path.addRoundRect(RectF(0f, 0f, width.toFloat(), height.toFloat()), 20f, 20f, Path.Direction.CW) + } val paint = Paint() paint.isAntiAlias = true paint.color = Color.TRANSPARENT From 8ad1ac09f0767d9b3597452196ff6e67cd08fbb0 Mon Sep 17 00:00:00 2001 From: Sagar Viradiya Date: Tue, 9 Feb 2021 23:21:55 +0530 Subject: [PATCH 9/9] Transformation API change - Remove size from transform call as it was unnecessary. --- coil-gif/api/coil-gif.api | 6 +++--- .../java/coil/util/RoundedCornerTransformation.kt | 3 +-- coil-gif/src/main/java/coil/decode/GifDecoder.kt | 2 +- coil-gif/src/main/java/coil/decode/ImageDecoderDecoder.kt | 4 ++-- coil-gif/src/main/java/coil/drawable/MovieDrawable.kt | 5 +---- coil-gif/src/main/java/coil/request/Gifs.kt | 6 +++--- .../src/main/java/coil/transform/AnimatedTransformation.kt | 5 +++-- 7 files changed, 14 insertions(+), 17 deletions(-) diff --git a/coil-gif/api/coil-gif.api b/coil-gif/api/coil-gif.api index 58bd793e2d..37330ad771 100644 --- a/coil-gif/api/coil-gif.api +++ b/coil-gif/api/coil-gif.api @@ -1,5 +1,5 @@ public final class coil/decode/GifDecoder : coil/decode/Decoder { - public static final field ANIMATED_TRANSFORMATION Ljava/lang/String; + public static final field ANIMATED_TRANSFORMATION_KEY Ljava/lang/String; public static final field Companion Lcoil/decode/GifDecoder$Companion; public static final field REPEAT_COUNT_KEY Ljava/lang/String; public fun ()V @@ -11,7 +11,7 @@ public final class coil/decode/GifDecoder$Companion { } public final class coil/decode/ImageDecoderDecoder : coil/decode/Decoder { - public static final field ANIMATED_TRANSFORMATION Ljava/lang/String; + public static final field ANIMATED_TRANSFORMATION_KEY Ljava/lang/String; public static final field Companion Lcoil/decode/ImageDecoderDecoder$Companion; public static final field REPEAT_COUNT_KEY Ljava/lang/String; public fun ()V @@ -86,7 +86,7 @@ public final class coil/request/Gifs { } public abstract interface class coil/transform/AnimatedTransformation { - public abstract fun transform (Landroid/graphics/Canvas;Lcoil/size/Size;)Lcoil/transform/AnimatedTransformation$PixelFormat; + public abstract fun transform (Landroid/graphics/Canvas;)Lcoil/transform/AnimatedTransformation$PixelFormat; } public final class coil/transform/AnimatedTransformation$PixelFormat : java/lang/Enum { diff --git a/coil-gif/src/androidTest/java/coil/util/RoundedCornerTransformation.kt b/coil-gif/src/androidTest/java/coil/util/RoundedCornerTransformation.kt index cf2a3d3197..9f9521748b 100644 --- a/coil-gif/src/androidTest/java/coil/util/RoundedCornerTransformation.kt +++ b/coil-gif/src/androidTest/java/coil/util/RoundedCornerTransformation.kt @@ -8,11 +8,10 @@ import android.graphics.PorterDuff import android.graphics.PorterDuffXfermode import android.graphics.RectF import android.os.Build.VERSION.SDK_INT -import coil.size.Size import coil.transform.AnimatedTransformation class RoundedCornerTransformation : AnimatedTransformation { - override fun transform(canvas: Canvas, size: Size): AnimatedTransformation.PixelFormat { + override fun transform(canvas: Canvas): AnimatedTransformation.PixelFormat { val path = Path() path.fillType = Path.FillType.INVERSE_EVEN_ODD val width = canvas.width diff --git a/coil-gif/src/main/java/coil/decode/GifDecoder.kt b/coil-gif/src/main/java/coil/decode/GifDecoder.kt index 27045b184f..482e477456 100644 --- a/coil-gif/src/main/java/coil/decode/GifDecoder.kt +++ b/coil-gif/src/main/java/coil/decode/GifDecoder.kt @@ -68,6 +68,6 @@ class GifDecoder : Decoder { companion object { const val REPEAT_COUNT_KEY = "coil#repeat_count" - const val ANIMATED_TRANSFORMATION = "coil#animated_transformation" + const val ANIMATED_TRANSFORMATION_KEY = "coil#animated_transformation" } } diff --git a/coil-gif/src/main/java/coil/decode/ImageDecoderDecoder.kt b/coil-gif/src/main/java/coil/decode/ImageDecoderDecoder.kt index b90be1436e..9d2855c11f 100644 --- a/coil-gif/src/main/java/coil/decode/ImageDecoderDecoder.kt +++ b/coil-gif/src/main/java/coil/decode/ImageDecoderDecoder.kt @@ -64,7 +64,7 @@ class ImageDecoderDecoder : Decoder { // Setup post processor for transformation after decoding options.parameters.animatedTransformation()?.let { animatedTransformation -> setPostProcessor { canvas -> - animatedTransformation.transform(canvas, size).opacity + animatedTransformation.transform(canvas).opacity } } @@ -130,6 +130,6 @@ class ImageDecoderDecoder : Decoder { companion object { const val REPEAT_COUNT_KEY = GifDecoder.REPEAT_COUNT_KEY - const val ANIMATED_TRANSFORMATION = GifDecoder.ANIMATED_TRANSFORMATION + const val ANIMATED_TRANSFORMATION_KEY = GifDecoder.ANIMATED_TRANSFORMATION_KEY } } diff --git a/coil-gif/src/main/java/coil/drawable/MovieDrawable.kt b/coil-gif/src/main/java/coil/drawable/MovieDrawable.kt index 19d7b6693c..490f84d96a 100644 --- a/coil-gif/src/main/java/coil/drawable/MovieDrawable.kt +++ b/coil-gif/src/main/java/coil/drawable/MovieDrawable.kt @@ -20,7 +20,6 @@ import androidx.vectordrawable.graphics.drawable.Animatable2Compat import coil.bitmap.BitmapPool import coil.decode.DecodeUtils import coil.decode.ImageDecoderDecoder -import coil.size.PixelSize import coil.size.Scale import coil.transform.AnimatedTransformation @@ -40,8 +39,6 @@ class MovieDrawable @JvmOverloads constructor( private val callbacks = mutableListOf() - private val size = PixelSize(movie.width(), movie.height()) - private var currentBounds: Rect? = null private var softwareCanvas: Canvas? = null private var softwareBitmap: Bitmap? = null @@ -96,7 +93,7 @@ class MovieDrawable @JvmOverloads constructor( } // Apply transformation on frame - animatedTransformation?.transform(softwareCanvas, size) + animatedTransformation?.transform(softwareCanvas) // Draw onto the input canvas (may or may not be hardware). canvas.withSave { diff --git a/coil-gif/src/main/java/coil/request/Gifs.kt b/coil-gif/src/main/java/coil/request/Gifs.kt index ce534fca83..f5d7148ef3 100644 --- a/coil-gif/src/main/java/coil/request/Gifs.kt +++ b/coil-gif/src/main/java/coil/request/Gifs.kt @@ -5,7 +5,7 @@ package coil.request import android.graphics.drawable.AnimatedImageDrawable import android.graphics.drawable.Drawable -import coil.decode.GifDecoder.Companion.ANIMATED_TRANSFORMATION +import coil.decode.GifDecoder.Companion.ANIMATED_TRANSFORMATION_KEY import coil.decode.GifDecoder.Companion.REPEAT_COUNT_KEY import coil.drawable.MovieDrawable import coil.transform.AnimatedTransformation @@ -33,12 +33,12 @@ fun Parameters.repeatCount(): Int? = value(REPEAT_COUNT_KEY) as Int? * @see [coil.decode.ImageDecoderDecoder.decode] */ fun ImageRequest.Builder.animatedTransformation(animatedTransformation: AnimatedTransformation): ImageRequest.Builder { - return setParameter(ANIMATED_TRANSFORMATION, animatedTransformation) + return setParameter(ANIMATED_TRANSFORMATION_KEY, animatedTransformation) } /** * Get the [AnimatedTransformation] applied on GIFs, animated WebPs, and animated HEIFs. */ fun Parameters.animatedTransformation(): AnimatedTransformation? { - return value(ANIMATED_TRANSFORMATION) as AnimatedTransformation? + return value(ANIMATED_TRANSFORMATION_KEY) as AnimatedTransformation? } diff --git a/coil-gif/src/main/java/coil/transform/AnimatedTransformation.kt b/coil-gif/src/main/java/coil/transform/AnimatedTransformation.kt index b4147570d9..a1dc505b17 100644 --- a/coil-gif/src/main/java/coil/transform/AnimatedTransformation.kt +++ b/coil-gif/src/main/java/coil/transform/AnimatedTransformation.kt @@ -1,7 +1,6 @@ package coil.transform import android.graphics.Canvas -import coil.size.Size import android.graphics.PixelFormat as AndroidPixelFormat /** @@ -14,10 +13,12 @@ interface AnimatedTransformation { * * Note: Do not allocate objects in this method as it will be invoked for each frame of the animation. * + * @param canvas [Canvas] on which transformation to be applied. + * * @return Opacity of the result after drawing. * @see AndroidPixelFormat */ - fun transform(canvas: Canvas, size: Size): PixelFormat + fun transform(canvas: Canvas): PixelFormat /** * Opacity of the result after drawing.