From 671ae5ba1c7b56b5913fbc9ab1eaf5578dfc652d Mon Sep 17 00:00:00 2001 From: zmy <616312897@qq.com> Date: Mon, 13 Sep 2021 09:23:56 +0800 Subject: [PATCH] complete yuv converter --- .gitignore | 81 + LICENSE | 21 + README.md | 120 + app/.gitignore | 1 + app/build.gradle | 46 + app/proguard-rules.pro | 21 + .../example/ExampleInstrumentedTest.kt | 24 + app/src/main/AndroidManifest.xml | 21 + app/src/main/assets/720_1280.yuv420 | 1 + .../zmy/yuv_convert/example/MainActivity.kt | 64 + .../drawable-v24/ic_launcher_foreground.xml | 30 + .../res/drawable/ic_launcher_background.xml | 170 + app/src/main/res/layout/activity_main.xml | 24 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + app/src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3593 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 5339 bytes app/src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2636 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 3388 bytes app/src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4926 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 7472 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 7909 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 11873 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 10652 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 16570 bytes app/src/main/res/values-night/themes.xml | 16 + app/src/main/res/values/colors.xml | 10 + app/src/main/res/values/strings.xml | 3 + app/src/main/res/values/themes.xml | 16 + .../yuv_convert/example/ExampleUnitTest.kt | 17 + build.gradle | 23 + gradle.properties | 21 + gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 54329 bytes gradle/wrapper/gradle-wrapper.properties | 6 + gradlew | 172 + gradlew.bat | 84 + publish-maven.gradle | 105 + settings.gradle | 3 + yuv_convert/.gitignore | 1 + yuv_convert/build.gradle | 57 + yuv_convert/consumer-rules.pro | 0 yuv_convert/proguard-rules.pro | 21 + .../yuv_convert/ExampleInstrumentedTest.kt | 24 + yuv_convert/src/main/AndroidManifest.xml | 5 + yuv_convert/src/main/cpp/CMakeLists.txt | 15 + .../src/main/cpp/yuv_convert/include/libyuv.h | 33 + .../yuv_convert/include/libyuv/basic_types.h | 68 + .../cpp/yuv_convert/include/libyuv/compare.h | 111 + .../yuv_convert/include/libyuv/compare_row.h | 141 + .../cpp/yuv_convert/include/libyuv/convert.h | 526 ++ .../yuv_convert/include/libyuv/convert_argb.h | 1611 ++++++ .../yuv_convert/include/libyuv/convert_from.h | 185 + .../include/libyuv/convert_from_argb.h | 311 ++ .../cpp/yuv_convert/include/libyuv/cpu_id.h | 122 + .../yuv_convert/include/libyuv/macros_msa.h | 236 + .../include/libyuv/mjpeg_decoder.h | 195 + .../include/libyuv/planar_functions.h | 900 ++++ .../cpp/yuv_convert/include/libyuv/rotate.h | 182 + .../yuv_convert/include/libyuv/rotate_argb.h | 37 + .../yuv_convert/include/libyuv/rotate_row.h | 223 + .../main/cpp/yuv_convert/include/libyuv/row.h | 4384 +++++++++++++++++ .../cpp/yuv_convert/include/libyuv/scale.h | 204 + .../yuv_convert/include/libyuv/scale_argb.h | 76 + .../yuv_convert/include/libyuv/scale_row.h | 1367 +++++ .../cpp/yuv_convert/include/libyuv/scale_uv.h | 38 + .../cpp/yuv_convert/include/libyuv/version.h | 16 + .../yuv_convert/include/libyuv/video_common.h | 206 + .../main/cpp/yuv_convert/jni_yuv_convert.cpp | 200 + .../java/com/zmy/yuv_convert/Converter.kt | 58 + .../main/java/com/zmy/yuv_convert/Format.kt | 55 + .../java/com/zmy/yuv_convert/YUVConvert.java | 45 + .../zmy/yuv_convert/input/ByteArrayInput.kt | 26 + .../zmy/yuv_convert/input/ByteBufferInput.kt | 26 + .../java/com/zmy/yuv_convert/input/Input.kt | 12 + .../com/zmy/yuv_convert/input/InputData.kt | 10 + .../yuv_convert/input/PackedByteArrayInput.kt | 19 + .../input/PackedByteBufferInput.kt | 20 + .../zmy/yuv_convert/output/ByteArrayOutput.kt | 27 + .../yuv_convert/output/ByteBufferOutput.kt | 18 + .../java/com/zmy/yuv_convert/output/Output.kt | 23 + .../output/PackedByteArrayOutput.kt | 16 + .../output/PackedByteBufferOutput.kt | 11 + .../src/main/jniLibs/arm64-v8a/libyuv.so | Bin 0 -> 964448 bytes .../src/main/jniLibs/armeabi-v7a/libyuv.so | Bin 0 -> 913284 bytes .../com/zmy/yuv_convert/ExampleUnitTest.kt | 17 + 85 files changed, 12988 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 README.md create mode 100644 app/.gitignore create mode 100644 app/build.gradle create mode 100644 app/proguard-rules.pro create mode 100644 app/src/androidTest/java/com/zmy/yuv_convert/example/ExampleInstrumentedTest.kt create mode 100644 app/src/main/AndroidManifest.xml create mode 100644 app/src/main/assets/720_1280.yuv420 create mode 100644 app/src/main/java/com/zmy/yuv_convert/example/MainActivity.kt create mode 100644 app/src/main/res/drawable-v24/ic_launcher_foreground.xml create mode 100644 app/src/main/res/drawable/ic_launcher_background.xml create mode 100644 app/src/main/res/layout/activity_main.xml create mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 app/src/main/res/values-night/themes.xml create mode 100644 app/src/main/res/values/colors.xml create mode 100644 app/src/main/res/values/strings.xml create mode 100644 app/src/main/res/values/themes.xml create mode 100644 app/src/test/java/com/zmy/yuv_convert/example/ExampleUnitTest.kt create mode 100644 build.gradle create mode 100644 gradle.properties create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100755 gradlew create mode 100644 gradlew.bat create mode 100644 publish-maven.gradle create mode 100644 settings.gradle create mode 100644 yuv_convert/.gitignore create mode 100644 yuv_convert/build.gradle create mode 100644 yuv_convert/consumer-rules.pro create mode 100644 yuv_convert/proguard-rules.pro create mode 100644 yuv_convert/src/androidTest/java/com/zmy/yuv_convert/ExampleInstrumentedTest.kt create mode 100644 yuv_convert/src/main/AndroidManifest.xml create mode 100644 yuv_convert/src/main/cpp/CMakeLists.txt create mode 100644 yuv_convert/src/main/cpp/yuv_convert/include/libyuv.h create mode 100644 yuv_convert/src/main/cpp/yuv_convert/include/libyuv/basic_types.h create mode 100644 yuv_convert/src/main/cpp/yuv_convert/include/libyuv/compare.h create mode 100644 yuv_convert/src/main/cpp/yuv_convert/include/libyuv/compare_row.h create mode 100644 yuv_convert/src/main/cpp/yuv_convert/include/libyuv/convert.h create mode 100644 yuv_convert/src/main/cpp/yuv_convert/include/libyuv/convert_argb.h create mode 100644 yuv_convert/src/main/cpp/yuv_convert/include/libyuv/convert_from.h create mode 100644 yuv_convert/src/main/cpp/yuv_convert/include/libyuv/convert_from_argb.h create mode 100644 yuv_convert/src/main/cpp/yuv_convert/include/libyuv/cpu_id.h create mode 100644 yuv_convert/src/main/cpp/yuv_convert/include/libyuv/macros_msa.h create mode 100644 yuv_convert/src/main/cpp/yuv_convert/include/libyuv/mjpeg_decoder.h create mode 100644 yuv_convert/src/main/cpp/yuv_convert/include/libyuv/planar_functions.h create mode 100644 yuv_convert/src/main/cpp/yuv_convert/include/libyuv/rotate.h create mode 100644 yuv_convert/src/main/cpp/yuv_convert/include/libyuv/rotate_argb.h create mode 100644 yuv_convert/src/main/cpp/yuv_convert/include/libyuv/rotate_row.h create mode 100644 yuv_convert/src/main/cpp/yuv_convert/include/libyuv/row.h create mode 100644 yuv_convert/src/main/cpp/yuv_convert/include/libyuv/scale.h create mode 100644 yuv_convert/src/main/cpp/yuv_convert/include/libyuv/scale_argb.h create mode 100644 yuv_convert/src/main/cpp/yuv_convert/include/libyuv/scale_row.h create mode 100644 yuv_convert/src/main/cpp/yuv_convert/include/libyuv/scale_uv.h create mode 100644 yuv_convert/src/main/cpp/yuv_convert/include/libyuv/version.h create mode 100644 yuv_convert/src/main/cpp/yuv_convert/include/libyuv/video_common.h create mode 100644 yuv_convert/src/main/cpp/yuv_convert/jni_yuv_convert.cpp create mode 100644 yuv_convert/src/main/java/com/zmy/yuv_convert/Converter.kt create mode 100644 yuv_convert/src/main/java/com/zmy/yuv_convert/Format.kt create mode 100644 yuv_convert/src/main/java/com/zmy/yuv_convert/YUVConvert.java create mode 100644 yuv_convert/src/main/java/com/zmy/yuv_convert/input/ByteArrayInput.kt create mode 100644 yuv_convert/src/main/java/com/zmy/yuv_convert/input/ByteBufferInput.kt create mode 100644 yuv_convert/src/main/java/com/zmy/yuv_convert/input/Input.kt create mode 100644 yuv_convert/src/main/java/com/zmy/yuv_convert/input/InputData.kt create mode 100644 yuv_convert/src/main/java/com/zmy/yuv_convert/input/PackedByteArrayInput.kt create mode 100644 yuv_convert/src/main/java/com/zmy/yuv_convert/input/PackedByteBufferInput.kt create mode 100644 yuv_convert/src/main/java/com/zmy/yuv_convert/output/ByteArrayOutput.kt create mode 100644 yuv_convert/src/main/java/com/zmy/yuv_convert/output/ByteBufferOutput.kt create mode 100644 yuv_convert/src/main/java/com/zmy/yuv_convert/output/Output.kt create mode 100644 yuv_convert/src/main/java/com/zmy/yuv_convert/output/PackedByteArrayOutput.kt create mode 100644 yuv_convert/src/main/java/com/zmy/yuv_convert/output/PackedByteBufferOutput.kt create mode 100644 yuv_convert/src/main/jniLibs/arm64-v8a/libyuv.so create mode 100644 yuv_convert/src/main/jniLibs/armeabi-v7a/libyuv.so create mode 100644 yuv_convert/src/test/java/com/zmy/yuv_convert/ExampleUnitTest.kt diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8933060 --- /dev/null +++ b/.gitignore @@ -0,0 +1,81 @@ +# Created by .ignore support plugin (hsz.mobi) +### Android template +# Built application files +*.apk +*.aar +*.ap_ +*.aab + +# Files for the ART/Dalvik VM +*.dex + +# Java class files +*.class + +# Generated files +bin/ +gen/ +out/ +# Uncomment the following line in case you need and you don't have the release build type files in your app +# release/ + +# Gradle files +.gradle/ +build/ + +# Local configuration file (sdk path, etc) +local.properties + +# Proguard folder generated by Eclipse +proguard/ + +# Log Files +*.log + +# Android Studio Navigation editor temp files +.navigation/ + +# Android Studio captures folder +captures/ + +# IntelliJ +*.iml +.idea/* + +# Keystore files +# Uncomment the following lines if you do not want to check your keystore files in. +#*.jks +#*.keystore + +# External native build folder generated in Android Studio 2.2 and later +.externalNativeBuild +.cxx/ + +# Google Services (e.g. APIs or Firebase) +# google-services.json + +# Freeline +freeline.py +freeline/ +freeline_project_description.json + +# fastlane +fastlane/report.xml +fastlane/Preview.html +fastlane/screenshots +fastlane/test_output +fastlane/readme.md + +# Version control +vcs.xml + +# lint +lint/intermediates/ +lint/generated/ +lint/outputs/ +lint/tmp/ +# lint/reports/ + + +*.gpg + diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..b0c3392 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 IAmCodingCoding + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..9a0d6ee --- /dev/null +++ b/README.md @@ -0,0 +1,120 @@ +# yuv_convert +是一个基于libyuv的图像色彩空间转换框架.支持NV12,NV21,YUV420,RGBA四种格式的相互转化 + +# 支持的abi: +armeabi-v7a,arm64-v8a + +# 集成: +implementation 'io.github.IAmCodingCoding:yuv_convert:$last_version' +具体版本请查看 [release](https://github.com/IAmCodingCoding/yuv_convert/releases) + +# 支持不同形式的输入输出: +1. 输入: +- ByteBufferInput: 以DirectByteBuffer作为数据载体.所有不同的色彩通道放到不同的ByteBuffer中.比如: RGBA格式需要输入:\[bufferR,bufferG,bufferB,bufferA\] +- PackedByteBufferInput: 以DirectByteBuffer作为数据载体.所有色彩通道放到同一个ByteBuffer中 +- ByteArrayInput: 以ByteArray作为数据载体.所有不同的色彩通道放到不同的ByteArray中.比如:RGBA格式需要输入\[arrayR,arrayG,arrayB,arrayA\] +- PackedByteArrayInput:以ByteArray作为数据载体.所有色彩通道放到同一个ByteArray中 +3. 输出: +- ByteBufferOutput: 以DirectByteBuffer作为数据载体.所有不同的色彩通道放到不同的ByteBuffer中.比如: RGBA格式输出为:\[bufferR,bufferG,bufferB,bufferA\] +- PackedByteBufferOutput:以DirectByteBuffer作为数据载体.所有色彩通道放到同一个ByteBuffer中 +- ByteArrayOutput: 以ByteArray作为数据载体.所有不同的色彩通道放到不同的ByteArray中.比如:RGBA格式输出{arrayR,arrayG,arrayB,arrayA} +- PackedByteArrayOutput:以ByteArray作为数据载体.所有不同的色彩通道放到同一个ByteArray中 + +# Sample: +1. nv12数据转换成rgba数据.并装载到bitmap中: +```kotlin +//创建一个输入端口.输入数据为打包的bytebuffer(即所有色彩通道都在一个DirectByteBuffer中) +val input = PackedByteBufferInput() +//创建一个输出端口.输出数据为打包的bytebuffer(即所有色彩通道都在一个DirectByteBuffer中) +val output = PackedByteBufferOutput(Format.RGBA) +input.provide(nv12Src, Format.NV12, width, height, intArrayOf(width, width)) +Converter(input).convert(output) + +val result:ByteBuffer=output.getOutput() +val bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888) +bitmap.copyPixelsFromBuffer(result) +showBitmap(bitmap)//显示bitmap +``` + +2. 使用ImageReader读取到RGAB数据后需要转换为NV12: +```kotlin +val imageReader = ImageReader.newInstance(videoWidth, videoHeight, android.graphics.PixelFormat.RGBA_8888, 3) +private val input by lazy { PackedByteBufferInput() } +private val converter by lazy { Converter(input) } +private val nv12Output by lazy { ByteBufferOutput(Format.NV12) }//输出格式为Array +imageReader.setOnImageAvailableListener(object :ImageReader.OnImageAvailableListener{ + override fun onImageAvailable(reader: ImageReader?) { + if (reader == null) return + val image = reader.acquireNextImage() + input.provide( + image.planes[0].buffer, //ImageReader读取rgba数据时.所有的通道都放在planes[0]中.所以这里选择了PackedByteBufferInput + Format.RGBA,//指定输入数据的格式.此处为RGBA + image.width,//输入图像的宽 + image.height,//输入图像的高 + intArrayOf(image.planes[0].rowStride)//输入图像每个通道每行的步长 + ) + converter.convert(nv12Output)//转换为nv12格式.转换后的数据存放在nv12Output中.同一个converter可以对接多个不同的Output + image.close()//归还image + val output:Array = output.getOutput()//从Output中获取转换后的数据,可以重复调用 + val componentY=output[0] //存放y通道的ByteBuffer + val componentUV=output[1] //存放uv通道的ByteBuffer + val componentSize:Int=output.format.getComponentCount()//NV12和NV21格式固定返回2.YUV420返回3.RGBA返回4 + val strides=output.format.getStandardStride(image.width,image.height)//获取特定格式每行的步长 + val yCapacity=output.format.getComponentCapacity(0,image.width,image.height)//y通道的size + val uvCapacity=output.format.getComponentCapacity(1,image.width,image.height)//uv通道的size + val minSize=output.format.getMinFrameSize(image.width,image.height)//获取存储该格式一帧画面最小所需要的空间.nv12、nv21、yu420所需空间为width*height*1.5 rgba所需空间为width*height*4 + //todo use the nv12 data ... + } +},workHandler) +``` +3. 并发场景: +- 使用synchronized +```kotlin + private val input by lazy { PackedByteBufferInput() } + private val output by lazy { ByteBufferOutput(Format.YUV420) } + private val converter by lazy { Converter(input) } + + imageProducer.parallelProduce{rgbaImage->//伪代码,此处的ImageProducer会并发的生产rgba格式的数据 + synchronized(imageProducer){ + input.provide( + image.planes[0].buffer, //ImageReader读取rgba数据时.所有的通道都放在planes[0]中.所以这里选择了PackedByteBufferInput + Format.RGBA,//指定输入数据的格式.此处为RGBA + image.width,//输入图像的宽 + image.height,//输入图像的高 + intArrayOf(image.planes[0].rowStride)//输入图像每个通道每行的步长 + ) + converter.convert(output) + val result=output.getOutput() + } + } +``` +- 使用ThreadLocal +```kotlin + val input = object : ThreadLocal() { + override fun initialValue(): PackedByteBufferInput { + return PackedByteBufferInput() + } + } + val output = object : ThreadLocal() { + override fun initialValue(): PackedByteBufferOutput { + return PackedByteBufferOutput(Format.YUV420) + } + } + val converter = object : ThreadLocal>() { + override fun initialValue(): Converter { + return Converter(input.get()) + } + } + imageProducer.parallelProduce{rgbaImage->//伪代码,此处的ImageProducer会并发的生产rgba格式的数据 + input.get()?.provide( + image.planes[0].buffer, //ImageReader读取rgba数据时.所有的通道都放在planes[0]中.所以这里选择了PackedByteBufferInput + Format.RGBA,//指定输入数据的格式.此处为RGBA + image.width,//输入图像的宽 + image.height,//输入图像的高 + intArrayOf(image.planes[0].rowStride)//输入图像每个通道每行的步长 + ) + converter.get()?.convert(output.get()!!) + val result=output.get()?.getOutput() + } +``` + diff --git a/app/.gitignore b/app/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/app/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle new file mode 100644 index 0000000..4dfc3f8 --- /dev/null +++ b/app/build.gradle @@ -0,0 +1,46 @@ +plugins { + id 'com.android.application' + id 'kotlin-android' +} + +android { + compileSdkVersion 30 + buildToolsVersion "30.0.3" + + defaultConfig { + applicationId "com.zmy.yuv_convert.example" + minSdkVersion 21 + targetSdkVersion 30 + versionCode 1 + versionName "1.0" + + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + } + + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + } + } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + kotlinOptions { + jvmTarget = '1.8' + } +} + +dependencies { + + implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" + implementation 'androidx.core:core-ktx:1.3.2' + implementation 'androidx.appcompat:appcompat:1.2.0' + implementation 'com.google.android.material:material:1.3.0' + implementation 'androidx.constraintlayout:constraintlayout:2.0.4' + implementation project(path: ':yuv_convert') + testImplementation 'junit:junit:4.+' + androidTestImplementation 'androidx.test.ext:junit:1.1.2' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' +} \ No newline at end of file diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro new file mode 100644 index 0000000..481bb43 --- /dev/null +++ b/app/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/app/src/androidTest/java/com/zmy/yuv_convert/example/ExampleInstrumentedTest.kt b/app/src/androidTest/java/com/zmy/yuv_convert/example/ExampleInstrumentedTest.kt new file mode 100644 index 0000000..4a60c0a --- /dev/null +++ b/app/src/androidTest/java/com/zmy/yuv_convert/example/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package com.zmy.yuv_convert.example + +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.ext.junit.runners.AndroidJUnit4 + +import org.junit.Test +import org.junit.runner.RunWith + +import org.junit.Assert.* + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getInstrumentation().targetContext + assertEquals("com.zmy.yuv_convert.example", appContext.packageName) + } +} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..1342cb8 --- /dev/null +++ b/app/src/main/AndroidManifest.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/assets/720_1280.yuv420 b/app/src/main/assets/720_1280.yuv420 new file mode 100644 index 0000000..2821ca0 --- /dev/null +++ b/app/src/main/assets/720_1280.yuv420 @@ -0,0 +1 @@ +........///////......///.////..//...///...//./010000000000000000/0000000/////...//////////00/.//000000000011110/0000001100000000000///11100110/01/..01101111111211111111111111111100011100011111111101110//0122111222112211111221123211122221111222221111122222322211111123211121112221224443433122111112222322222221112222222111122222321122222322111122222211121111223111221222111111222111222221111101112222112222222211111111111111111221342211222211111111122112222111111111111001111100000110/0110/0111111111110111111111110///00///01110/000000//000.---.../00000.//////.////....-.../0/-........-...--.0/..---.-+,---,,,---,+-/---.-------,-----,-.---.-,,,,,,,,,,,,,,++,-...---,++++,,,,,,,,---,+++++,,++++++++++++,,,,++++++++++++++++......../000///////..///.//////0//.////.//////000000000//////000/0000000///0//////////////00////0000000/0000110//00000110000000000//01111//00//0100001111111211211111111111111111110112101111110111111111001222111222112211122222233221122222111222221111122222322111111122111122222211234443333332211112123322222221123222232111122223321122223222111122222222222222233211222222211111222222222221111111112222112332333211111111111111111111232322211111111111111122111112112211111111011111110110001100111111111110001111111111000/00///00000/0000000/000/.//0/01110///00////.////////.////0/-...--...//....//-,,,,-.-,--.---....-,./----------,,,-----......-,,,,,,,,,,,,,+,,,,------,++++,,,,,,,,---,,+++,,,+,++++++++++,,,,-,,,,,,,++++++++........//00.-./////.///..////00////////00000000000000/...../000//000000//000///00000000//00////0000000/00/0000///0001110000000/000011110////./0111100111111111111111111111111121110111111122110011111111111222212233322211222112223221122232212222221111222212221111111222211222233211234443333542111122223332222221122333333221222333221122223222211223333333333333333211222222221112222222222222111112111122122222232211111111111112221111233322211111111111111121111111112111111111001111111111111111100111111110001111001110000/00/0000000000000000000///00001110000000///../0000///0/////.../.....0/..////,++,+,----...../....-./.---------,,,-----......-,,++,,,++,,,++,---------,+++,,,,,,,,----,,++,,,,++++,,,,,,,,------,,,,,,,+++++++.......////0.,-//00///////////000000000010000000000000/..--./000//00000000000////00000000000////0000000010//000/000001111000000/01110001100110/001111011111111221111111111111112211111111111111111111110111111222223332111112211212232212222222222222112122211122112322332221122112322233445433354211112233333333222222222333332322333322222212322222222444444444333443322112222332112222222221111221111311112332232232222221111111111223222223321232222111111112211111111222221111112111111122111111111100011111111000111100111000101100000000011100000010/////000//0110000////./01110/000//////00//.///.-.///.-,--,,--,-./.../.--.....--,,,----,,----.--------,,+,,,,+,,,,++,---------,+++,,,,,,,,----,++++,,+++++,-------------,,++++++++++++../////././0/..//000//0000000000000000000000000000000//.....////./00000000010/////0000001000///00000011010/0010000000111100001000111000111111100/011111211111123111222121122122222111111111111111111121111111112122233211211122122233321111222222222222222221112322343232222112211123322334543334321122234332333322222222222223333233333222322342222222334444443444444333211122233211222233332111233222221111232233333322222211223322222322222332223223222211111321112221222232111221111111112221111111211111111222100011111111111111111001111111111100111100000000000//0010///../00000/0000////0111////...../......----,-.//..-.---.....-,,------,--....-------,,,,,,,,,,,,,,,,-----...-,++,,----------,++++,,,++++,--------------,,,++++++++++//////..../00////00000000000000000000000000000000000///////.////./00000000110000000000000/00//001111111100001111000/011111011111100011101101111111111111/1111122111222222222222221122222111122111111222122222112112233212221122222234332111232222222222333222222433332222222222222223211123443332222223344422333333333333333333333333344223333343333333333444443433444333321122233211223344433222233332221232331334444321222222344444322222323444333222221111111111123211111122112221122111122221123321111111111111111111111112211111110/001111111111111111111111111100/0110/...//////000000////01110////00/////--..-----./00/--.---.--./.-------,,--../..------,,,,,,,,,,,,,,,+,---....-,,,,,,-.-------,,+++,,,++++,----------------,+++,,,,,++///////.../00////000000/0000000000000000000000000000//////////////0000//00010///00000000000100111111111000111111100001111001111111111111111111112111111001111122211222222221112211122112222222111111222112233211111232122221122222234444222232222211123333222223333333222222222223322221122333322233333345432343443333333334444333333334223332234433333444433443333333333321122222222234445443333333333221233332334444322233223444433332223323444333222111112111111122211111122212321122211222222123321112221111111111121111112221111110//011111112111121111111121001111111//.////////0000000//011100//000100//0.-----...//00/..//-----./.-------,,,-../..---..-,,,,,,,,,,,,,,,+,-.....-,,,,,,,,--------,,,,,,,,+++++,-------..-----,,+++,,,,,,+/.../////0110000000000000000000/00000000000000000000///0//////////0000//00000/..00000000001110111111111001111100111111110000111111211111112222222111121122211233211122222211112211122111222222112111231111233211111221111221123222234566542222232111122343222223233334432222221123322223222223322344443345543444554322332234444344433333222321115444444454432333333333332332222211233234444433344333333332222454444444322333223443212344223212433234432111233322222222211111123322221222211222113212221212332223222111121111112221111111/0011111222211121221111111111110110/.//0./000000001110111110/00010000000/...-.///////...01/-..-/.--------,,--../...--..,+,,,,+,,,,,,,,,,,-...-,,+,,,,++++,,-..--,,,,,,,,,,+++,,,--,--------,,,++,,,++,,+//...././001000/00//////00000000000000000000000000000000000/////0/./0110/0100////000100000111111111111111111110011111111110012211221111111211111111111111111123321112222221112213332222222222222111123111234443333212221333222221233345644443333211223322332244333333333223321222232223333233333234444444333334544333433333246654433443333333223444433335433333333333223443322223222333434444444444444433222343333344321334433445433333434322332322222332223322122222221111122342222222122222211222233212222222222211111111111232221232111111122222111121221111111111110110/.//.////0000000011111110000000000000/.,-.//..///000.000000///.-----.-,,-....--.//-,-,,,,,,,,,,,,,++,,--,+,,,,,,,,,,,,-...-,,,++,-,,,,,++++,--,,,,---,,,,,,,,,,,,,,,,/////////000000/000/..//////00000000/////000000000000000000//000//./0111/01100000000100000110000111111111111100011111111011122111222211112221111111211111111123222112222111112222443222222333332221123212334444443222322333222212333333443333333222233333333344444333333233332233343333332233333444434444333333444445544333246655544554444443334444433334444454433333234444333333322234444444454444454433323333333334433344444443444444444311233222112223332222222222211112222232222222122222211112233222222222122211222111112222221121112222112222111122222111111111111110/./////../00000//0000000///0000000000/.--//.-./0//0///0/010000/.--,,,---...--,,.//-,,,,+++,,----,,+++,,,,+,,,-,,+,,,,,-...-,+,,,,,+++,,,,,,,---,,,,,,,,,,,,,,+,,,,,++//000000000000000000/.//..//0010000////////0000000000000/00000000///0111001111110111110011111111111111111121111111111111011122112112211222221221222221221222223222222233222222333454322223344433333334444443333333223433333333222233333333233332333334444434444444333333333333333444444344444433554434444444344445554455443346665654555555554444344333334455555555555455554433323332223445555555444566545555555654333444444444433344454444322233322112223333333333223222223332233222222222223321122333222222222222222222211122211221111123332122222111122222111111111111110//00///../111100/000/000///000111111110/./..-./000000////0000/..-----.--.//.-+,.//.-,-,,,,,------,,,,,,,,,,----,,+,,,+,-../.,,,,,,++,,,,,,,,--,,++,,,,,,,,,,++,,,,,,,//000000000000000000////..//01111000000///00000000000000/0000000000001110011111111111100111111111111111122221111112222211111121221121113332112212222222222323332333322333333233434543333333444322444444444432223322234433333333222333333333333324444334444344434433333334433333444444444555554444444455445544554565433455544455556545545455556543333333345555555555544554444332223444334555555554445665455544445543334444444443334433454333333343333233323344333333333332344433333222222222233212222222232222222222222222222222222211112222222221221111222222111111111110000000/00/./1101111111001000000011111112110//../000000100//00/0/.-......-,,../.--....-.--,-------------,,,----.--,,,,,,++,-..--,,,,,,,,,,+++,,-,,++,,,,,,,,,,+++,,,,,,,/000000000000000000000/..////0111000000//00111000011100000000000001111000011110001111111111122111111111111211111111111111111222232122113332112212222222223333443444433344433333433433333333443321344334343333333333344323333333222233444344333334444333443344444334444335543334545544455544555554444555534544555665433456655554455545545555556653443333345555555555545554444332212455555555555555444554444443334333334434444554334433555333443333344443222344433344333343344432233333222221233221111223443222222122223332233223333321122111122111221111222222211111122110100000/000/01101112211000100011011111111111000/00000///110010/00/.......-,,-.//...---..--,---,,,,,-----,,,,,,,,,,,,,---+,---,,+-,,,---,,,+++,--+++,+,,,,,,,,,+++,,,,+,,0000000000//0000000000/./////00000000/////00000001111111111000000011111011111110/1111112111222111111111111111112122221111112332222233222333222222222322222333443444433444333333433333443333333332333334444433323333344433333333332223333344433444444334533344444444444335543344444444455555544456543455534555555566554556666544456555555665556655554433344444555566555553344443323454455555556554444555555544445233455443445554434445565433443233344443233333444444333333344322233344333322233221111234543222112222222222333223334332222321122111211111222232211211233111110/00/00001110011222100111111111100000/011111000010000111010/00/..//../...//...//....-.--,,,,-,,-------,,,,,++,,------,-.--,,,--,,-.-+,,,,,,,,,,,,++++,,,,,,,++,---,,,/0000000000000000000000//00000000000///////000000011111111100000011111111111111101111111111111111111111111111123333333322222321222233322444333333333433223334443333333444334444444434554344332333443445545543322333344443344444433223333344444444444445534433443444444334443444444444455555554446543456544555555566666556556555556556655665555566665444444445555455555544445554334555445555566655555666544433344334555543455555444455555544443333444443233334444444333334444322233344334433333212112234443233223333222222344333333322321222222111111121222222222222222111110000/000011110112111111111111111011101111110000011111110000/01/..///////00//////////-....---.---...----,,+,,+,---------...---------,++++++++,--,,+++,,,,,,,,,,,,-,,,,//00000/000000000000//000111111000000000000000000011111111100000111111111111111111111111111111111111111111111123334333333322111333333444454444443344443334434442222233443334544444444555444432233444444345555444444333331344455544344555344554433443344555533444555544444444444444545555445555565444566544455545555556655555556755556655655555566776544455556766566666654445554345676666666667767766654343333344444555432355554444444444445555444444444334444443444433334444332332344333443343212222222132344444444334443445443323322431112211121111122222211122122211110111111/0001111101111011111111111110111111100011100111001100000010////////00//.//////0/.-.///.......//..---++,,+,,-,,,,,.------,+---,,++++++++,----,,,----,,,++,-,++++,,000000000000000000///00011111111000000000000000111111111111111111111221111111111222111121111111111111111111111223345433333332223233334444445555454344433344445423222334444444555555456554444333334445554456655444554443313554455443455555445544444444455566445655555544554455554665555565555556655555556456666667655555545556776666788656665555677765544544456665667864555555543457777655666667777766654444333455556654444555554655555453455555555554444444444434444333445544443445444443423542322223332332344444543333342334544433333222222221111111222322232111122111111111110011111111111111011111111111111111110/01110011100011000111/////////////////////.--.00/.--.//../.-,-,,,+++--,,,,,,-....---,,,,,,,+++++++,..-,-------,,,,,,-,++++,,000/00000000000/100//00001111111000111111111101111111111111111111111111111111111222111111111111111111122221112232334333443322123222234443344455454334444344434333333344445444444554456654554433344455555556665444554444434554455443445554456654555555555466545655555555555566655566666656666666755554434677776668766665566667777765677777777666677765555554566666767765655555544456677766666667777766654555433445556765554555665666655554555555556554444344444434444334455544444455544443333554421233333233333453443332332223544444333332232111132111233322221121134321122211111111111101122221111111111211111121110011110011111111100110/01000/000//.////////..//000/...//////-----.-,----------....---------,,,,,+++,--,,,--,,,,,,,,,,-,,++,,-100000000000000/11000000/0111111000111111111101111111111111111111111111111111211111111122221111112211232332112333344433454433223322234553344455454444554455433334433334455555554554456545554444444456566555555444444455545655555444444454456655566666655357656655665556655667766666777656666666676555444677777778766666566666667666678776677887667666666655667767765666655555566455567766555666656656765665444444445666676555665666655565555555545555554444444434444444565545554444444444433554531233223245433453443332332222433344322333333222122111233333321232122222221111111111111100221122111122222211211121111111111001111111000110/010000000/.-/0.////////000/////////0/.----..--........-....---.--..----,,,+,,,------,,,,,,,,,,-,,,,,-.1110000/0000010011100010/01111110/0111111111001111111111111111111111221112212221011222333332111113321332333223344444434454444333322245554555555545544554555433444433334545555555555556665555444454455557543344554445555556655555544455556655555666666654357766666665567666677766666677666666666687555455677777778766666765566567777777766667777777666666665667778765567666666777666667766555666655555676555555554445566666666665666556665655555544445554555544444444445566555555443344444444444442233222246534444542222332322222444323333332222211112333333332223112223311111111111011111111112112223222222211121112211111100111111100110/////00000/../0//0///00///////0///.///../.-..--......................-----,,,,,,------,,,,,,,,,,,,--,--1111000/0000010001100111011111110001111111111011122211111111111111122222232222211112234433332221233223333333333344444334443444443212444355555554345445666543344444332345455555555555678855554445555554455444455554455555556555665555556677765666666666544677666667655676776777777666677777777777765444556677778888776678777776788776667777776667777666665555567787776887666678777776777666566777777556653345666666555666457777765444566666655555555555546765444555555555567655555544555544555555543234322454443245322223323222125543344332112221111233343323332233343321111222223211111121111112222333221222222211111100111111111111111110///000000/////1110////////000/0/////..0/.......//........--.//..../...../.-,,,+,,,,--,-,,+,,,,,,-..-,,111000///000000/01111111111111110001110111111111122111111111111111222222232222211111112233332222233222333443333343344444443334454334543345555554344335785433455544433346566666665665456755555555555554455555654444455555555556665555556788887776666776545677777777766776776677776677777777777766666666666667788888876678777766677777777777776567887666665555567787787887777788767887777766667777887556653456777777655555457877654433466666655555776655546765445666666665567765565555555555565444553235422345444345434333223333235444443332112321212333455322333332232211112232223311111121111011222222211122223322221111111111111111111110/0000/////0///0000//////0000//0000//../.--....///.---...----./..../...////-,,,+++,,-----,,,,--,-----,,111000///011100/0111111111111110111111111111111111211111111111111122222222222222111111113333332223322233344444434345655555444456544565444444555443334567533345554443345656766666666433446666555655566666555666544445555656555666555555677888888666777665666777777777777776567877667777777777776577888777777778888877677877766666678888777777777778877777666566778668778688887777788767777666666677765676666666666665555455787764455556766666556577666665665445666677666656776666555555556566444355433432234554555655554333433434444554333322222122233235544444443111111112222221111111111111101121112211112212233332222112211111111111111//0000///00///////00000/00000//00000....-,,-....//.,,-...----...--.....////.-,,,,,,-,--.--,--..,--,,--,111100///01110000111111111111110111111111111111112222222222111111112222222222222222233332333333222222223344444444345665555555445433565554334454343345554433444444444445556666666577544568776555566666665556666655556655766655666555555677777788766777766666777777678887776678887666666788778876677777667888888888766788878877776788888888888887678887788666666678567667678886667787666777766666677766777776655566666676544578875467667777777666656666777653345556676666666666666666555666456556655554333335544466655554343443423445653343343221122344234345554443222111122211111111111111211011111111111112111111221232112321211222111111000000000110/0100001110001110000000/.....--.....//.,,-...--------,--.../////.----,--,,-------..-.-+,..-01111000000000000111111111111111222112331111111111122223222112222232221323333321223456544432222233333333445554444455554543455566644665565434554343466446545434655455555457547757666655567777666677665555567766555556666677766665666666787667876777777777776788877778877788777777777777788888876777777777889888887677788788888888888777888888888778888888767767867776555677766677877777778767777877756787777765444567877655556777666788878886566755556777654443465567656776666556665555665545667754465324434665586554445564443333555554443323322222344432345544332222222222222222231332312221112331112112112211111111111111243111222211111100000111111100000001110001110010////.-//.......//.--........---,+,-...//..//..---------,++,-..-,,-,---11110011000000000111122211111122122112322211111111222122221111111121231223333332223344444443322234433444555555554455444443454555534666666555776433455457644467754456665456557778777776666676666677666667777666776787667767777888776666787667777887777778877788877766667888776678777776788888886777766777788888877777788778888778888888888888888888888888878877768887777877656777887776677777788777766888788876555567776665666766556788888888776676666777655544456678656787776656666666677655566765455434545665576555555433554356655444564334433333333333456543222222333422223333232443533332222332222212122222221111111111133211223321111111111211111110111110001111111100//////...--..-.//....../////...----../////000/........-,++,--.-----,,+11111111111000111111111111111111122112222111111122222123221111111111221234432333233333345554333234433444544555443444444454554444434566765677887654455456543577655455566565566678887766786677667766666667876556776777666777877778877666777667778887888778887788887766677888876678777777788888887777767788888888777777788778877778888887888888888898889:988888876788778888876678888887677777777888888767887788766666566655555677776677888887777667888777776655555567887677766666556555556666555678654444445445555655666554445655666654445643444434444433333454432232223333222233333445434334543233322332122222222211111111111221111122211111111111111111111111100/1111111110///000//.........../....///..-......//////000//.......--,,,----,----,+11111100111101111111111111111111222112221111122222222234321111111111121134432343333333446654333344434543344554333444455565665455334556654677888765445445454565466654467654565567888767886677777776666566666666666666777678876666887777777778887877788678888888887777888888888777888877887778887787778888888898888778788788887778778887788887778898889:988888886877778888877888888887788888876788888777766666666776556655566788887888888887677778888877777765566666887777544455655544345655555667665445444444445444555554544566766555555543444333345543333343333332222222333333334555323335554333222222223322222122222111111222111112111111111111111111111111110/1111111111000001000/.///.....///......--..../....///////..........-------,,----,11111101111101111111222211111233332222222111112222222234321122121111121245432343332233335443333344334553456544444444555665665455445556643577788764345555456664367653356554676566678877776677777777776666667777767778887788887778888888887788887776788778888888997778888888888887888888886777877888888899888898888888888888888778778887788887778888889:98887788788778888888888888888778878887778887788887666556667666776666666666667777887778887778887766776566665577777655555666544444675555555566555654444445543344444453345776666665554344433333444333444333333222222333333333556533443455433322222222432222212222222211112211111111111111111111111111111111101111111111011000000//////////00/////////.---...-..//////...//......---,,.---,,,+11111111111111111112233222222333332222232211122222222233321222222111243544433333322233333334443344335665666644565444556655664456555656644677777775445654556665567665456554676666678777777777777777777666677777777888877788888888888899888877888866788888888888898877888888778888889888887777777888888888888888778888788888888888878888888888877889999999987787788888888888887778888888878888888887788887667766667766777766776555566677777667776667777666766666665677777566655666555555665555555455556654454444555444444444443566666666564444544433333344444445554333322322233344556544454555544333322222332233212222221111112222112222223221111111111111111001101111111110011000000//////00000/.//////00/-,,-...../////////00//.....-------.---+01111111111111111222332223444322322222222233333333233333322332222221343543344334332233443334443334334566776655565555666655665456556655556778777787655554556766656677667666676777787656778888888777787777777767887888777788888888888899888877888877788888888888889877888888778888899889887777887888888888999988778888788888888888888888888888888899888999987778888888888888887788888888888888888888888777777777667777667788888887666677767655567767777666766776555788777567765666655566665556666655556655555544556555455545653455666777665445554444334555444456775565422323333455657545455555554444433433222223212222211111112332222333333322111112222111111011101111100100011000000//000/01100///////////.--.//0/////.////0000//////....---.///.111111121122221122333433344444433323333334455433333343333223322321212323433454343333335643332333344324677666665566667766667765665555445488888777777666665688667666687787777778887887677699888877888888888887678888777887888888888888998888778888778899888888878898788888888888888998898787689887888888888999888788887888888888898888888888899889998889:9988778878888888888888888889988898888888888887678777777778887667777887766665667777766788877777776777886555788766567765676544567887656777776666666555554566566555556665554556787656545554444345666555566665677533344444456646546565555555444444543112223212222222211111232112333333332222222222211111111101111000100011//00////000/010///000000////...//000000/..////0/////00/.../.--../0/1111111111222211123333222233344444333333444434332333344333333334432223323235544433334444555434434444346786566654566678877777665555455555877887777765666765886676876666667888777776778877888788778888788777888888888888888898899888888888888789987789998889988888998888888888898899988888888888878889999999888888888888988888899899888988988999999889888:9888889888888888887888888899888:999998888878888787886676688787677888766666667778677778876677777777777766568876566666666665567776777656677667777666666666677666666555666556667874764455445566667766675554555554455555545666666655655566654433334432333321233323321112222222222234333333333333211111111111111111111000000/////000000////00000000/.//00000/000/...//////////////////....--.221111121122222212222322233322333334433344433333333333334455432343223333222344443322453345554444445545567655665555555666778876665556666787788777676665687678778787777777788877778888888888888878788778888888888888888888899888988888888988888888778888889::98887888889988888888999999889998898888889999999988888:88888998888888789888888989:99::889::988988889988888888887788998889988899999988888888887778876766887876778888777788888887887788777876666655667766677877667776666665567778776666766666665655677767777666665555666667777756544555555666666777765555444445666666556555555555556555554433344433333333343223212222222222222233333333333322111111001111111111111110110/////0///000////1111110///0000000000///0000000//...../////.,,---221111221112233322222222233222333234433344433343444433334456422244333333332334443323443335665555555555668655565554455567667876666666666788888777777775687677788888888888888887888888888888888888788888998888888898889988898888998888999:88888878888888899:988888888899998998888:::999999999998888889::9:99:9878888899998999888888988898888:;989:889::998888899988888888888889998999999999999999999999988688876777887777778888887888888888887677788887667766677777777887767777666776677777777777767788778876677777777665666556777777777776544565665665556777765555433345677777666566566654567544554443344333433433443222222222222111111123223333333222111111111112112211121111111///00000000000001111111/////000000000000000000////////////.,+---1112222221122333222222222222334443344334554333444445433445554223333334445543344344434445455555555544456787655556544555687667766777766567778888888888876876777888888888888888888888888788888888898888889988888888:88888998888999999889999888998789999999999888889999999988998889:::99999999999888889::::;::9988898889::98999999999988::9989::989:99999::998899::9888899999::999999::9:::99999999999999988888877888886678888888888888888888887678888888888888888888888888877777666877777667777777678898888887667777777766677666777777776677655666676555556767754555444444577777777776666654577434444443344334543332333222222222222111211123222222232112211122222222112211111121111001111111100/011111111100000000000000000000000////0000/../.----,11223322222223221222222222223554543444445544334444454345556543343344444455544554554345555555555555444566776655665545666786567777777665677888888888889877778878888888888888888888988888888888889:98888889888889999888888999999999999899888888888899:::9888999889:99899888999889:;:::999999999998889::99:<;:999889:9999:999999:::;:988::989:::999::9889:;:988999:98889:::99:;:98889:::::::99999999999999888888888888877888888888888889888888888888777888887778899999999888888877777777777777778876889988888887667776777667776667777777766777667666766666677777555555444444776677877776666665665444444443343355433334333323333332221112111232222222311122111122221121122111111211111111111111000011111111111111111111111111111100//./0000//.../.-,-12222233333333221222333322234554544454434455434544444445556653343444555545555776652245546545565655555556665566676656666687667877777666677888888899889987788888888888888888888888999888888888889998888888888889::88899889:::9999999989888998889:9:::;;:8889:;:8899889999999999:;;;;::99999999999989::99:;<:9999999999::99988999:;:988::99:::9::9:::999:::999999::9889:::98:;:98999:;;:::::::9999988889999998899888888889888888888889988888888888888788887777889999889::99998887777777788988888887888888888898777776777777777777777777777767767655666788888787555665554456776567878887666665665555445443344344334445445423444433221122111233222223311122110122221121122111112211111122221111111111111111111111111111111111111100/////000110....-,-1222112333333322222233332333344455544543345654455555555566665444444445554555567765434544555666665665556776666677666677767776677766677778888778889:989988888888888888888888888888888888888888789998889888888889::99999889::::99999:99:988998889:::::;;:9889:;:8888889999999999::;;;;:::999999999999:::::;;::9::988999;:999889:::;::99:999:;989:9:;:9::999999989:::999::::9:::::99::;;;::::::99999888899::::98::99888:9888888888888999888888888888988888888888999888889:99999888888888889:98888888888888889:9877777777777788888877778788876766665666678888888755667666666777656888888866676556555555444334434434555544542344443333222211233333222332111122122222112222222121221111123332221112111111111111110000111111111111111100000001110/..--..2221112322222322222222221344334455433553346764566766666676665556544444444554445557654335556776676665567887766667666678756886677777778888888678889;:889888888988888888888888887888888888888887899:989:9888888889:;:99999:89:::999:;::::9:99899999::9:;:98889::98888899888999999::;;;::::::999999999:;<<;;;;::::98:;98998:989:;;;<9:99:88::;:8999:;:9::989889999:;::9:::;;::::::99;::;;:999999999999889::;;;98:::;:89:98888999988999:9999:98888888888888888889::99899988998888888888999999999999::99888888887556777777777788887777777788866777766776667788888865777777777766656888888865665556555554444444434445665533541333333333333322233333212333211124332112222222222121110011123433222222211111111111110//01111111111111111111111100000/.-///122212232223343343322223455444555666666545655566665555557776555654444432445566655665555555567877877655556788778877778888888877778888877888888888:99999999888878899998888887778888888888888888899:99999888889:99::;;;:9:::999:::::9:9888::::9999:99889:::;::9::9989::::99::9:8::8;99:;;:::999:::;:9889:;;:;<<;999:;;:99:;;::::99:99999::::;;::;:9:;;989::<:9::99:;;;;;;:99:;<;:;:;;;;:9899988888998889:;<<<;::;;:99:98889999999999999:;:88778889:9888899888889:::999:::88:98888888789988:8888998999999988878888888888778887888878888888888888776677677656876677776777888766667776566666545566654443455333534666665665433443334433553112223334443334333212233333333333321111122111222233211232111111111111111//0111112211111111111111100//////000/23333333333344333333322233333455555555545666666666666666665555665444555555556666777655556666778777766666778888887777888888888888888888888889999:::99999998899889999999888888888888888888888889::::9:::98888::99::;;;:::::999:::::9:9888:::::::::999999::;;:9:::999::::99999:9;;:;:9::::::999:999::::;;;;;;;::9::;;::9::;:::::::;:999:;;::;;::;:99:;:::;;<;:::99:;;;;;;;:;:;:99:;<<;;:999998888999888899::;<;;;::9888:;;::999999999999999:98888998888899888889:::999::99::9888888888::88:9989:999:::999888788888888888888878898888888888888887777887886568866777777778877788766666666666566677765544565555446666656665444444444334432223233334444443333223333233333333221222222222332232123321111111111111110/1111111111111111111111111000000000/234444443334443233333322233334445444444456665455556666655444455554445666555556667887666666777777777777778877888877788888888888888888888888899899998888999999988899999988888888889988889:889999::::9:;:988889:99::;;;::;;::::;;:998:9889::;:::;:99:;:99:;;;:9::::::::::::99:::;<;;:9::::::::::::::::;;<;:;;::::;;<:99:;;;:::9:;<<;:::;;;::;;::;:99:;;;;;;;;;;;;:9;;;;;;;:;;;:99:;<<<;:99:99889998988888889;<<;;::;;<;989::988899999998889::9999998889998888888:;:::::99:;;98888888889:99::999:999999999888788888888888888888899888888888888777788888887668766777777778877788655666776676566677765544577776556666656666544344444433233333344334455665455443332223323333222222222223332233333321111111111111110011111111111111111111111111111100///2344555533455432333333333444444444444455665432344455555554445555445555555555566677766667678877778887777788778888788888888888888888878888888888888888899:999888888888888888888889998889::889999::999:::988889:99:;;;;;;<<;;::;;:998:9899::;:::;:9:;<;:9:;;;:::::;;::::;;;::;:;;<;::9:::::;;;;;;;<;;:::;;;;;;;<;;;;:99:;<<;:99:;<<;;;;;;;;;;;:;;:9::;;;;;;;<<<<<;:;;;;;;;:::;:99::<<<;:99:99999999999998889:;;;;;<;;::::9998888899899:9888999889:98999998888888:;::::9889;:988888899999::99989998999999988878888888889998888888988888878888887777788878877777777887767887776666777777777766667776554457777656666665555554434444443223444444444444455444434333223333333332222332112233333334332111111112222111111111111111111111111111111111110////33444554445554433333333344444444344444555554334444444445566655665566655456676667677666676788766788877777888888888888888888888888998888988888889988999999999888888898888888888899888889::999:::::8999999:999:::::;;;;;;<<;;::;;;::9::9:::::::9:::;;;;;:;;;;:::;;;<;;;;;;;;;<;<:;<::::::::;;;;;<<<<;:9::;;;;<<<<;;;::99:;<<:::;;;;;<<;;:;;;;;;;;;;;;;;;;;;;<<;;<<;;;;;;;;:;:;;99::;<<;;::99::::9::::::::9::::;;;;<::::::9999899999:9:::988999889:999:9889999888:;:::9::::;9998888899889::998889989;;;::988888888888889999989988898888888888888888888888888777778887777888777778888888888756666776565456777667766665555554435544443333454444434443334444323333333333333333333332222233333444322212211122222111211211111111111111111111111111110////44443443654434443344433233444554445444444455555555444445567666676666666678888777677766776788766688877777888888888888888888889999988888988999999999:99888999888989::999889999999988888999:::::99999::::;;:::;;;::;;;;;;;;;:::;;<<;:;:::9:::::::;<;;;;;;;;;;::;;;<<<<<;:::;;;:<;;<:;;;;;::;;<<=<<<<<<;;;<<;;<<<;;;==<;::;<<;;==;::;<<;::;;;;;;;<<==<;;;;;<<<;::<=<;;;;;;;:=<<;::;;<<<<;;:99:::99:;;;;;;:;;99:;<;;::;<;9889:::::;;;;;::::::::988998:::9999:::999:;;:99:;;;;:;:99998988889988888988:::::::9888898888888899999::8889999988899988888888988888888888888888888878888888888888875655666666655677777787776555665555665555444555444433444333455443434444433333333334433222333344445432221233222222211121122111111111111211111111111111000004444333355433344444444434444454445554444445666555555455666665566666666778888877667777777777777778887778888888888888899888899999998888999999989999:::998899988899:;;::9999999999988989999;99::989999::;;;;::;;;;;;;;;;;;;::::;;<<<:;:::::;:9::::<;;;;;<;;;;;;;;;;;<<;:99:;;::;;:<;<<<;<;;<<<===<<<<<<<<<<<<<<;;;;===<;:;<<<<==<;;;<<<;;<<<<<<<<=>=;;;<;<<==<;;<==;;;;;<<;=<<;::;;;<<;;;:99:::99:;;;;;::;;:::;;::::989:::9:;;;;;;;;;;::;<;;:9899989:::99::;:99:::;;::;;<<;;;;:9::998889998988898899988999988998888889999999::9889:999999988888888889988888888888888887888788888888888888766666667766666777888877765666665556655555556555444334554323334434444444433333233344332233333444343223322343223322111211221111111111122111111112221110001145655455444444444443445555555544455544555666665555555667766556666666666677888766677777778888888888888888888898878888998899:::::::889:::;::9889:::::;::9999999999:;;;:9998899999999999999:999:989:989:;;:::::;<;;;;;;<<<;;;::;;<<<:;;;<;;<:9:;:9;;;;<<<<<;;;;;;;;:;;:999:;;9:::9;;;;;;<<<=<<<==<<<<<<<<<<<<<<<;;<<<<;::;;<<<;<==<<<<<<=====<<<<=><;:;<<<<<<<<<<<;;;;;<==<;;;;99::;;;:;;;9::::::;;;;:::9:;;;;;:9:;9:::99:;:;;;;;;;:;;::;<;;::9:;:99::::::::98::9:;<;;;;;;;;;;99:;::888::::98888889:988899988998889::::9999999999::999999988888888889:988888888877787777788888889888887888777776678566667788887777556666655555555554665555444445544443456554444555444333333444444334334433343354334432233322122112221111111112222121122222211100111555555555543344544444455444455445555444556766667777766676666666667766776667888877788777888888889888888888888998888888988989:9989:89;:9::::99999:::::9999:9:::99::;;;::99999999::::::9999:::::99::9999:;::;;;;;;::<9;;<;;;;:;=><;;;;;<;:;<;9:::989:;<<<<;;;;;;;;;;<<:9::::9:;::;;;;;;;;<<<;<<=><=====<<<<<<<<<<<<<<=<99:8::;<<===<<<;<=>=<<;;;;<=;;:<<;<;<<<<<<<<<;;;<<;:;;;;;;;;;;::;;::::;;:;;;:;;:::::;;:99<<;9:;<:9<<:9:;;;:;;;<<<<<<<;:;;;::::::;;:9::::99:<<=<;::;;;;;;;::::9889::9999999999989999888998888::::988899999:::98999998788888888998888888887788876788998888:98788766777776678876676666788887777766665555556776456665555566545434555555533455554334333333334444433233332223333444322333212222344211222231222222212112211111111115555555545445555555555554444555555565556677766777776666766666677787677776678888777888888888888888888888888889988888899989999988999::::::::::::::;:999:::;::;:::::;;::::::::::::::::::99::;;;;;:::99:::;:;;<<<;;::<:;;;;;<=<;<<;;=;;<<;;;;;::::::::;;;;;;;;;::;;;;;:9:<<:;:::::;;:;<;;<==;<=<<==>====<<<<========<=>=;;<;;;;;<===<<<<<==<;;<<;;;;;<;==<=<========<;;;<<<<<===<<<<;;:;;<;;::;;;;;;;:::;<;:;;;::<=<====;9<<<<<;:99;<<<<<<<<<;:;<<;;;;::;;:9:;;;:9:<<<;;<=<:99::::::::999:::::::9:999999:::999999999;:::988889999:::9999998888888888899899888888777887679:9888899887887777778777887667776667777777777776655666566655666666656666544455555555444455554454333433344443333343332222334433222322233233443223322222222222221122121111111155555544454456666666655554445666666666667777667767766677776667888877788876788887778899888888888888889999888899988899999999999:::9;:99:;:::::::::::99:;;:;;;;;;;;:::99::::;;::;;;;;;::9::;;<;;;;;:::;;;;:;;;<<<;::<:<;;;<<<;::9:=><;<<<<<<;;;;::;::::;;;;;;:::;;;;;99:=<:;;::9;<<<<==<==>;<><<>>=====<<<==============<<>===<=========>>=;;<<;:::;<;=>=>=>=======<<;;;<===>>=;;<=<<;;;;;:::;;;;;;;;:;<=<:;;;;;=>==>=><;<<<;;;:9:<=<<<<<<<<;;;<<<;;;;;;;;:;<=<;::;:::;<<;:99::::::;::::::;::::9:99999:;;:99999::::;;::998989::::::::::99988889888889889988888887888888::888899888888888777888888767777776667777777787666677665555677777776655654456666655555555666555544444333333333445444333333443333222323333344322333333222233333212111111111114455555455435666666666666544565576567766777766776777778888766778887778888778888778899988778899888889999999889::988999::::::::;<;:<;9:;:;;;;:::::::::;<<;;;;;;;;;9:999::::;;::;<;;;;;:9::;<;::;<;::;<;<<;;;;;<<<;;<;<<<<<;;;::9:=>=<<<<<<=<<;;;;;;::;;;;;<;:::;;;:::::;;;;;;::=>=<=======<<==>?><>====<==>>>=======<=><<>>>>>>==<====>>>><<;;;:::;<;=>=>=>>=====<=<<<<<=====<::;<=<<<<;:::;;;;;;<<<=<<<<<<<<<;=>=<==>=;=<:::;<;;<=<<<<<<<<<;<<<;;;;;;;<<;;<=<;;;:9:::::::::;;;;;;;;;::::;::::::::::::;;:9999::;;;;;;;:9999:;;;;::::::99:99889888899889988888888898899998889998888888887788888887688888877777777777776678766666667778887775556555667776654555666655555555554443333444444455544444433432112223333334322233422222333332111111111111144555554554456676677666776656655655677668877667777777888888777788777888888888887888999887788999999999999:9899:998899::;;:;:::;;::<;:;;:;;<;;:;;;:;;;;;<<;;;;;;:::::::::::;;::;;;;;;;:::;<<;::<<;::;;;;<;;;;;<==<;<;;===<;;::;;:;==<<=====<;;;;;;;;;<<<;;<;;;;<;;::;<;::<;;;;;>>>;<<<<<<<=;<=>>=>>==>===>>>>>>>>>>>==><<>=====>>>==<==>===<;;;;;:<<<=>>>=>>===========<<<=====<;;;;;<<<;;;;;;;;<==>>==========>>>====<;<;:::;<;;;<;;<<====<<<<<;;;<;;;<<;:;;;;;;::::;;::;::;;;;<<:;;;:9::;;;;:;;;::::;;:::::::;;;;;;;;:9::;;;;::999::99998888888899888988888888888888899:::9988888889877888888888888888877777778866667887666777767787766666655676677765554556666565556655654433444333334565554433334311122233333354322222121223333332111111111111444555434544665667777777876666665556777688877778778777888888888877788888888888888889998888899999::999999999999999:::9999:::::;;:::::;:9::;;:;<<;<<<;;;<=;;;;;;:9:;;;;;;;:;<;::;;;;;;;;;<;;;;<==<;;;;;;<;;;;;<===<<;;><=<::::<<;:<<<<=====;::;<;;;;<<<<;;;<;;<<<;:9:<<;:;;;<<<=>><==<<<;;<:;<<<<>>==>>==>>>>>>>>>>>=>>=<>>>===>>>>=====<<=<;<<<;:<<<=>>>==<<<<==<<<=====<======<;<<<<=<<;;;;;;<==>>=<=========>>>>=;<;:<;::;;:9:;<<<<<<<<<<<<<;;;<<<<;;;;;;;;<<<;:99;<;::;;;;;;;<;;;;;:::;;;;::::::::;;;;;;:::::::;;;;::::;;;;:::99999999988888888888899888888899988889999888888888898888889888888888888877777888877788877778887677876666787667766665556655556666665666546544333443333345555554433443222333333333333222212222223332331121111221115555554445556655677777777766666755677777888887787888777888888888887888888888888888899999999::999:::999::::::::::;;;;::99:99:;;;;:9:;::::8:;:;<<;<<<;;;<<;;;;;;:9:;<<;;;;;<=<;:;<<;;;;<<=<;;<===<=<<<<<<<<<<;<<<<<=<<>;=<9;;:;<<;;<<<<=>==<;;<<<;<<<<<<<<<<<<<<<;;::;<<<<<;<<<====>>>==<;<;<<;;;==<=>>>=>=>>>==>>>==>>>>>>>>>>>>>>=>>>=<==<<==<<<<<<>>>>==<;<===<<<======>=<<<========<<<;;;;<=>>>>=<==>=>=<===>>=<;<;;=<;:;;:9:;<<<<<<;;;;;<<;;<<==<<<<;<<<<<<<<:9:;<;:;<<<;;;;<<<<<<;;;;;;;::::;;;;;;;;<<;:::::;;;<;;::::;;;;;;:9:::::999999888888899998889:::::9888998888888898888888888998888888888888888888988888888888887778777777777776777766656676655665566666555665544445444445655555554444333333333322323322222222112333233112221222111666667666776666666787777766556677778888888888777888887888888888888888889989989::9999999989::::99;::::::::;;;;;;;;;;;;;;;;::;;;::;:;;:;<;8:;;;<<;;;;;<<<<;;;;;<;::;<<;;;<:;==;:;<=<;;<<<<=;:;<<<<=<<=<==<<=<<<<<<<==<=;<<;==;;<<<<====>>>>=<<<<<<<<<<<<=====<<<;;;==<<=>=<<====>><==>>>>>==>===::<<=??>>>=>>=<<=>>=>>>>?>=>>>>>>===>>>>======<;<=<=<>>>>>>>==>>=<==<=====>>==============<<<<=>>>>>?>==>?>=<<<=>===<==<><=<;<<:::;;<<<<<<<<<<<<<<<<==<===<<<=<;;<;;<=<;;=<<<;;;<===<<<<;;;<<;;;;;<<<<<;;<<<;::::;;;;;;:::9:::;<<<;::::;:9999999999:99:::9999:::::::::999999::99999998888788998888888888888888889988888888888877788766888766677678777776666666665456776556777665556666655555555555443333322223222344422332222112345343113211122111566667777665666777777777765556787778888788877888888988887888778899888999888889::9999889999:;:99::;;:::::::;;;;;;;;;;;;;;;;;;;;:9:;;;;;::;;;<<<<<<<;<==<;;;;;;;;;::;=<::<;<=<;<<;;<<<<<<<=<;;<<<<<<<====<<<<<<<<;<=>><<=>>><;=<;=;<===>>>>===<<<<===<<==<====<<;;;;;=>======>>>>>=>>=>=>>=<====;;<<=>>>>>==>>==>>>>>??>>>==>>>>>>>>>>========<<=====>>>>>>>>>>>>>=====<==>>>==========>>=====>>>?>>>>==>>>>=<<>>>>=====<<<;::;;:::;<<<<<<<<======<<<=>>=;;;<<<<<<:;;<<;<<<<<;;;<==<<<<<;;;<=<<<<;;;;;;;;;<<<;:::;;;;;;;::;::::;<=<;::::::999999999999::::9:::::::::98898889:999999999988888888889888889888888888:88998888888888888877777776677777777766666666665555666666776666544775554455555555455333333422432344323443221123443344322311122111666666777766666677677888766777787677888788877788888998888888888998888999988888998899889:99:;:99:9:;:::::::;;;;;;;;:;;<;;;;;;;;::9:<==;:8<;;;;;<<<;;<<<<<;;;;;;;;:;<>=;;<;<=<<<<<<<==<<<<==;;<===<<=====<<<<<<=======<=>?>=;;<<<<<=>>>>==>>>=<<<<============<<<;:::<========>>>>??>>><<;==>>>>====>>>>>>>>>>>>??>????>>>>>>>>>>>>>>>===>>>>>=======>>>>>>>>>>==>>>>>>==>>>>==========>>====>>>>>>>>>>>>=>>>==>>===>>>=<;<;::;;;;;<=====<=======<====>>>=<<<;;;;:;;<<<<<<<<<;;;<<>=<<<<;:;<<<<<<;;;;;;;;;<<;;;;;;;;;;;;;;::::;<<<<;;;:::::::::::::::::;::9:::::::;:988888899999989999988998788888988898898888888988999888888888888887777788888888887766666666666654457876666666544543343455566665454334443444543344333433222334443234433222222111666666667777777776668888778888887778888888888788988999988888888888888999:9888998889999::99:;:9:::;;:::;;;;;;;;;;;;::;<<::::;;<;;::;;;;:9<<;;::;<<<<;;;;;;<<<<<<;;;<<;;<<;<<<<<<<<<==<<<<>=<<===>========<=====>>>===<=>>><;;;<<=>=>>>>==>>>=<<===========<<<==<<;;;<=<<<<<<<=====>==>>><==>>>>=>=>>>>>>>>>>>?????@@>>>>>>>>???>>>>>>>>>>>>>>========>>>>>>>>>=<>>>>>>>>>>>>>>>>>>>>==>>====>>>>>>>>>>?>>>>>=<==<;=>>=;;;<;;;;;<<<<=<<==<<=======>>>>>>>=>=<<;;;;<<<<<<<<<<<;<<===<<<<<<<;<<;;;;;;;;;:::;;;;<;;;;;;;;<<<;;;;;;;;;;;;;::::;;;;::;;;;:::;:9::::::::;:988888899999999999988::8889999988998898888888989998888888888888887778888888888888766666666666665457764666555545543455545566666554444435556544343344433433344434334444322233222766666666777888777778888888888888888888888888889:9889999888888888999999:;999999898999:;::9:;:::;;;;;:::;<<<;;;;;;;;;<<<;:::;;;;;;:::;;;:;;;;;;<===<;;;;;;<<<<<<<<<<;;<<<;<<<<<<<<<===<<<=>==>>=>======>>>>>>=>>>>===<<=<==>=:;=>>=<>>>>><>>=<=>====>>=====<==========<<<=========>==>==<=<>==><==>>?@?>>>>>???>>?@?>>>>>>>?????>>>?@@?>===>>==>>>>===>>>=>>>=<<=<<=>>>>>>>>>>>>>>>>>=>>====>??>>>>>>???>>>=<<===<==<;;;<=<<<<<<====<===<<=>>=>>>>>>>>>=<>>==<<<<========<<<<<===<<<<====;<<;::;;;;;;:::;;<<<<<;;;;;;;<<<;;<<<<;;;;;;;::;;;;;::;;;;::::::::::::::;::999989999:;:9999:988::999889::98998899888899:99998888888888888988888877788888778877666666666666666655765445667645676755666666654444446555444332344334543344444344444333333322776677776667777778888888888878888888888888899889:9889999999999989999999::99:99:9999:::;::::;;;;<;;;;:::;;;;;<<<<;<<<<<;;;;;;::::;;;<==<;:;<<<<<<<<;<<===;;;;;<<<<====>=<========<========>==>>=>======>>>>>>>>>>>==>===<==>>;<>>=<<=>>>>>>>====<===>>=============>====>>>>>>>==>?>>>>>===>>>>==>>@AA@@@@???@?>>>??>>>>>>????@@@???@@@>===>>==>>>>>>>>>>>>>>===><=>>>>>>>>>>>>>>>>>>>>>>>>=>??>>>>>>>>>>>>===>>>>=<<<==>====<<<=>>==>>>=>>>>>====>>>>=<<<=>>=<<=>==>>>>>>>======<===<<<;<==;99:;;;;;:::;<<===<;;;;;;;;<<:;;;<<<<<<<<<;<<;;;;:::;<;:::;;::::;;;:::::;;;:99999:;;::::::9898999888:::99888898888999:::9988898888888988889886778888867777777777776666777777766555678654577666667776665445555545544543334443444333555434433435433322277776777777777777888878889988888888888888889988898888899999:::99::999999989999:::9:::::::::;;;;<;;;;;;;;<<<<<<<<;;;;;::;<<<;;:::<<<===<;;;<==<<<<<;<====<<;;<===<====>>===========>>>====>>=>==>>======>>>>>>>>>>>>>==>======>>====>>>>>>>>>=>=<=================>>===>>>>>>>>===>=>>>>>==>>>>>>>???@@@@@@????>>>>>>>>>>>?@@?@AA?>>>>>>=>=>>=>>=>>>>??>>>>>>>>>?==>??>>>>>>>>>>>>>?>>>>>>>=>>>>>?>>>=>>>>>>>>>>>>=<==>>=====<<<<>>>>>>>>>>>>===<<======<<=>>=======>>>>>>>>==========<<;=>><::;<;;;;;:;;<<<<<<;;;;<;;;<=;;;;<<<<<<<<<<<<<<;;::::;;:::;;;::;;;;;::::::;;:::99:;;99::;;:888889999:9998888899999999:::998999988888898888987677887777776678877777766777778776666776555567755666776667655655544455554444544444444455434442344433333336787667888888888788888888998889988888888889999888999888999999999::9::::9:88999;;::;;::;:;:;<;;;;;::;<;;;<<<<<;;:<::;;::;;<<<<;<<=<<<<<<=<;<<==<<<<<<<=====<<======<<<============>>>>>==>>>====>>>>>>>>>>>>>>>>>>>>>===<<=<<>>>=>>>>>???>>>=>>>======>>>>>>>>====>>===>>>>>>>>>=>>=??>>>>>>>>>>>>>>??????????>>>>>>>?>>??@@@@AA@?>>=>>>>>==>>>>==>>>??>>===>>>>?>>>>>>>>>??>>>>>>>?>>>>>>>=>>>>>>>>>>>>>>>>>>===>======<====<<<=>>>>>?>>>>>=======<<<======>>>=====>>>>>>>>===>>========>>>=<<<<<<<<<;;;;;;;<<;;;<<<;;<=<<;;<<;;<<<<<;;;<<<;;;;;;;;;;<<;;;;;;;;::::::;;:;:::;<;:9:;;;;9899999:::999998899::99:99::999999998888888887888777887776887666888777777787777776777777534666776566666677766776665445665445554445566554434454334432234444788877888888888888888888888778:;98888888999999889:::9889::::9999::::;;:9;9999;<<;;<<;;;:<;<=<;;:;::;<<;;;;;;;;;:<:9;<;:;<===<<<=<<<<<<=>=<;<<=<<<<<<<<=>=====>=========<>>>>=====>>>>>>>>>>====>>>>>>>>>>>>>>>>>=>??>==<<>=<>>=>>>==>?@@?>>>>>>====<=>>>>>>>>>==<==>>>>>>>>??>>>>><@A@>>>>>>>>>>>>?@@????????>>>??????>?@@@@@A@>?>>>>>>>>==>>>>==>>>>??>>>>>>>>>>>??>>>>>???>>>>>>??>>>>>>>>>>>>>>>>>>>=>>>>>>>?>>>>>==========>>>>>???>??>=====>=<;<=>>=<<=>>><==>>>>>>>>><<<<=>>====>>>>=<<==<=====<;;<<<<<<<<<<=<;;<=<<<<<<<<<<<<<<;:<<<<<<<<<<<<<=<<<<;;;;;:;;;;;;;:;;::;<<:9;<;<<:89999889::99::99:;;:999:::::9999999999888888888888888877788876688887777787777777787667865467677666666678865688877664466444554345566655444445433433334444378887788888888888888888889988899999999998999::9999::999:::;:99:;::;:::::;99:;;;<;:;<;;<<;;<<<<;;;;;<<<;;;;::;;;;<<;;;;;;;<==========<<=<<<<<<===<<<<<<==>==>=<<=>========>>>>===>>>>>>>>>>>>=>>>>>>>>>>>>>>>>>>>>>??>>=======<=>===>>>>>?>>>>>>>=====>>>>>>>>>>>===>>>>>>>>??>>>>==@@@>>>>?>>?>=>?@A@@@@@@@@?>?A@@@@@@@@@@@@@@?>>?>>>?>=?=<=>>>==>>>>>>?>?>>>=>>>>>>>?>>>>>>>>??>>??>>>?>>>??>>>>=>>>>>>>=>>>>??>>>>>>>>====<<=>>>>>>>???>>===>>>>>========>>>>><>>>>?>>===<<===>>=>>>>>>>===>>=====<==<<<<;<<<<<<==<<<<=<<==<<<<==<<<;;;;;;<<<=<<<;;<<<;;;;;::;;;<<<<;:;;;:;;;<;;;;<;:99::9888:::::::::;;:889;;:::9:999999999889:8888888888888888777788887778887877777777777777766676666666677767777788765554444445555667766655554444332433432378888889888898879998888889988899:::99:99999::::99999889:;;<;:9:;;;;:::;;:99::::<;;;<;;<<;<<===<<<<===<<<;<<=====<<<<<<<;;<==<<<<==>>>=<<<==<<<=======>>>>=======>>>>>>>=>>>>>>>>=>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>?>>====>>=<<====>>>>>@??@?>>>>>>>>>>>>>>>>??>>>>>>>>>>>>>>>>>>>>?>@@@=>?>>?@??ABA@@@@AAAA??@B@@AAAAAAAA@@@@@@AA?>>>>>@>=>>???>>>>>??@@@???>>>>>>>>?@?>>>>>?????@@?????>>>>>>>?>??>>>>>>???????>>>>>>>>>>>=<<=>>>>>>??>>>=<<===>>>>>===>>>>>>==>>>>>>>=====>>>>>>>>>>?>>==>>=<<<===>>===<<<<<;<===<<<<=<<======>=<<<;;;;;;;;;<<<<;;<<;;;;;;;;;::;;;;;:;;:::;;;<;:::::::::9989:99999999:;:88899:;:::99:889:::99::989999:8888999888887778777788888777888877777888766776677777765666777776666665455577777666666765545543334444333788888898888888899988888999888899999:::9999::::9999999:;;<<;:::;;;;;;;;;;::::::<;;;<::<<<<=====<==>>=<<<;<>>====<<<<==<;;<<<<<<<><>?>=<<=>>><<====<==>>>=>>==>>===>>>>>=>>>>>>>>=>>>>?>>>>>>>>>>>>>>>>>>>>>>>>?>>>>>>>>>>>>>=<<=====>>>>@@@@?>>>>>>>>>>>>>>>????>>>>>>>>>>>>>>>>=???>@@>=?@??@A@??@@??@@@@@@??@A@?@@@@@@@@@@@@@AAA?>>>>>?>>>>??>>>>>??@@@@??@?>>>??>>@@?>>>>??????@@@@@@???>>>>??@???>>@?????@?>>>>>>>>>>>>>>=<=>>>>>>>>>>>>===>>>>>>>>=>>>>>>>==>>>>>>====>>>>??>>>>>>?>><=>>><<===<<==<==<===<<============<==>>=<<<;::;;;;;:;<<<;;;;:;;::;;;::::;;;;;:;::;;;;<;:::9::::999::::9999999:;;988889::::99:889:;::;:::9999:;:99:::98888888787777888777777888877788888767876678877666666776556777765656788776777788865556544444433338888888898888888999889999::9888988889:::99:::::9:::;;:::;;;;:::;;;<<<;;;;;;;;::<<;<<;:;<====<<<<====<;;;;<===<<<;;;<==<;===<<<<<><=>=<<==>>>======<<=>====>>>>>=========>>>>>>==>>>>>>>>>>>>>>>>>>>??>>>>??>>???>>>>>>>>???>>====>>>>>>>>??@?>>>>>>>>>?@????????>>>?????>>>>>>>>>>>>>A@<>@AA@@@???@@@@@@@@@@@@AB@@@AAA@@?@AAA@@@?@?>>>>????????>>?>>?@@@@???@?>>>????@?>>>>????????@@@???????>>>??>>>>>@>??>@A@?>>>>>>>>>>>>>>=>>>>>>>>>??>>>>>>>>>>>>>=>>>>>>>>>>>>>>>>==>>>>>>??>>>>>>>>==>>>=>>>>==>>=====>>=<==>>>>>===<<<==>>=;<<;::;;<<;;<<<<;;;:8;;:9:;;:;;;;;<<<;;;:;<;;;;;;;:::::999:::;::9999:9:::99989:::;:9:9889::;=;;:::99:;:99::9998888888877778887778877788888888776678766777777766677765667776656667776777888888765566554455445488888888888888889999999999::988888889:::::::;;;::::;;::::;;;:::;;;<<<<;;;;;;;:;<<<==<;<<====<<<<===<;:;;<<<<<==<<<<<==<;=>>=<==>>==<;<=<<=>>>>>=>====>====>??>>>>>>==>>>>>>>>>===>>>>>>>>>>>?>>>>>>??>>>????????>>>>>>>>>??>==>>>>>>>>>>>>???>>>>>>>>>>?????????>>>??>>>>>>>>>>>?>=<>@B?@@A@@@?>?@@@@@@?@@@@@@AA@@@AAA@@@@AAA@@?>?????>??@@???>>>?>>????@@????>?>??????>>>?@@@@????@@????????>>>??>>>?>?>??>@A@?>>>>>>>>@>>>>>==?>>>>>>=>>>>??>>>>>==>>=>>>>>>>>>>>>>>>>>>>>>>>??>>>>>>>>>>=====>>>>==>>>>>>>>=<<==>>>>><<<<<=>>>><;<<;;:;<<<;;<<=<<<<;9<<:9:;<:<==<<<<<;<;;<<<<;;;<<;::::::9::::::999:::::::999::::;;:::88999:<;;::::99:9989:;<<;9999888788889977888777888888886766787677877777778888777776555666788778888888887655665544565565888889988888888899:99999999::99999889:::::::;;;;:::::::;;;;;:::;<<;;;;;;:;;;;;;<<<=><;<<==>>===>>>=<;;;<=<<<<=========<<=>>===>>>>=;;<=;<===>>>>>>=>>>>=<<=??>>>>>>>>>>>>>>>>>>>=>>>=>>??>>??????>????>??????>>>>>>>>>>>>>>>>>>>>>>>>>>>>???>>>>>>>>>>>????????>>>>>>>>>>>>??????>>=>?AAA@@?@@@???@@@@@@@@@?@@@@@@@@@@@@AAA@@@??@@@????????>>>>>>??>??>??@?>>>>@???????????@@@@@??@@@????????>>?>>>>??>=>@@?AA@@??>>>>????>>?>>>?>>>>>>==>>>>?>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>?@A@?????>>>>>====>==>>===>>>>>>>>=======>>===<<=>>>>=<<<<<<<<<<;;<<<<<<=<;<<<;;<<<=====<<;;<<;<<<<<<<<<;;;;;;:::::::::::;<;;::::::::9:;;99:9:;:99:::989:9889999:;;<;::::998888899988788888888888887877787778888877788888777765556756898888888888886666665554555554888899998889988889:::::::989::::::9999:9::::;;;;;;;;;;;<<<<;;;;;<<;;<<<;;;;;<<<;;;<==<<<==>>>>>>>>>==<<<<<<<<====>>>====>>>==>>>>=<<;==;<=>>>>>>>>>>>===<<=>>>>>>????>>>???>>>>>>>>>>>>???????@@???@@??@???@?>>>>>>>>>>>>??>>???>>???????????>>>>>>??@@@???????>????????>>>???@@@>@>>>@@A@@@@@A@@AAABBBBABAAABBBCBBAAAABAA@@@???A@@?@???A@@????@?@@???????>>>>>@??>????@??????????@@@@?????@@??>>>>???>=>@@@A@?A@@??????>???@@?>>>>>>?>>>>??>>>?>>>>>>?>>>>>>>>>>>>>>>>>>?>=>?@@@@??>>>>>>>>>>>?>>>?>>>>=>>>>>>>>>====>>>>>>=>>=>>><<<<======<;<<<<<<==<<====<====>>==<;<=<<<<<<=====<;<<;;;;;;;;;;;::;<<;;;;;;;9::;<;9:::;;;:988::8899889:;;;:9988888998888899888778888888888888888878877888888788888877776666756888888888888887667776555445544888899999889988889:;;;;;<:89::;;:::999999::::;;;;;<<<<;;<<<<;;;;<<<<==<;;;;;<<;:;;<==<====>>>==>>>>>>=<;<<<<<==<<=>>====>>>>=>>>><;;<====>?>>>>>>>>>========>??>>>>>>>??@@?>>=>>??>>>????@@??@AA???@???@???@?>>>>>>>>>>????>>?@???@@@@@@?@@???>>>>?@@@@@@@???>>?@????>>>>>>>>>?@B@@>>>@A@AAAA@@@@@A@@@@@@A@?@ABBCBA@???@@@@@@@@@@@?@A@??@??@@?>?@AA@@??@?>>>>>?@?>>@@?>????>>??@??@@@@@@>?@AA@?>>>??>?@>>@@@A@?AAA@@@@???@@@@A@>?>>>?@??>?@@>>>@?>>>>>??>>>>>>>>>>??>>>>>?>==>?>>>>>>===>>>>>>>>>==>>>>=>>>>>>>>>>>==>>>>>>>>?>=>>>=<<<=<=<===<<===<<===<<=>===>==>>>=<<<==<<<<======<<<<;;;;<;:;;;;;:;<<;;;;;;;:;<==<;<9::;;:988;;889::999:;;;::98889::98888898888889988888888898887788888778888888888877887778777777777888888887777776664455458988:988998889989:;;;;;<;;::99;;:9999999:99:;::;;;<=<;<<<<=<;;;<<=<<==<<<<<<<<<;<<==>=<<=>>>========<<<==>>=<<<<;=>>===>>>>==>>=>=<<<<=>==>>>>>>>>>>===>>=<<>??????>????@@?>>>>?@>?@??@???@?@@@@??@@@??@@?@AA>>>>????>??>@@@?>???A@?@A@@@@@@@??@@@@@@@??????>>??@@??@@??>>>>>>?@??B@?A?@@BBBBA@@@AAA@???????@ABBBA@????@@@@AAAA@@@AAAA?@A@@@@@@@ABBBA@@??>>?@AA@???????>>>>>>?@??@@@@AA@@@@AA@?????@>@@@@@ABA??@A@@@@@@?@@@@@@??@>>>>?@@?@@@@@@?>>>>>???>?>>>>>>?>>??>>>???>>>>>>>>>>>==>@?>>>=>>>==>>>=>>>=>>>?>>>>>>>>?>>>>@?>>>>>;==:<<<====>>>>==>>><<==<;=>=>>>>=<<===<<<<<====<<<===<<<==<<<<;;<;:;;;;;;:9:<>>==>@<:99999:8;;98:;;99:;<<<;::99988899989888998889989888888889988889887788777877678778888888776556546899899888888876875666559:989:999988899999:::;;<<<:::9;;;::::::::9:;;;:::;<=;;;<<<=<<=;;<=<<==<<<<<;;;;;;<<=>=<<==>>====<<<=====<==<<<==<=>>>>>>>>>>>>>>>=<<<<<=<<=>>>>>==>>=<<=>>>>?@@>??>>????>???>>>>@?@@@???>?@@@@AA???@@?@@@?>??>>?????????@@@????@AA@?A@@B@@@@????@@@@@@?>>>>???>>>?@@?>@CA>>>>>?A@>@??CA@@ABBBA??@ABBA@@@@???@ABB@@@@@@@@@@@@@AA@@@AAAA?@@@AA@??@@BBAACCA@???????@@@??@A@>>??>?@????@@@@@A@@AA@@@??>@>@@>??@AA@@A@@@AAA@@@@@@@@??@>>>>?@???@??@?>???????>?@?>>>>>>>>??@@@@@?>>>>>>===>>>=>??>>>>>?>==>>>=<=>>>>>>=>>>>??>>>>>>???>=>=;=>;=<=>>>>>>>>>>>>====>=<=>=>>>>==<==<<;;;;<<<<<<<===<<<<<<==<;:;::;<;::;;;<=>>=<<=>><;:9:::::999::999:;;;;::::99999:988888999888888889988888888888776788777887778878888878887778877899888888888988877766559:989999:98899999999999:::9:::<<;;;;;::::::;;;::;;;<<<<<<;<<=><<<==<====<;;<<;;<;<<=>=<=====<<<=====>>>====<<=>>>>>>>?>>>>>>>>>>>>>>=====<<==>>><<=>>===>>>>?@?>??>>??@?>?@@?>>?@@@@@??@??@@@@AA??@@@AAA@?????@@@@@@@@??@@???@@@A@?@A@@BAA@@@???@@@@@???????@@?>>?@?>=?BB>>?@??@@?>??CA@@BBBBA@@@AABBAAA@@@@AAAB@@@@A@@????????>??AAAA@A@ABA@??A@AAAAAA@????>>>?@AAAAAAA>>?@??????@@@??@AAAAAAAA@>>??A@>>?@@@ABA@@AAAAAA@@@@@@???>>>??@@???>??@???@@@?>>@A@>>????>???@@?????>>==>>>>>>>=>>>>>>>?>>>>?@@?>>>>??>>=>>>>>??>?>>>>??>>>=<=><====>>>>@?>>>>>>>==>>=<============<;;<<<<;<<<========<<>=<;;:::;<<;:;<<:;<=>======;::::<::;;::::::::::;::::::::9:988889999988888899988888888998888888888887778888878878888888888998888888889:988888766699988999:9889::9:::99889898:;<==<<;<;;::::;;;;;:<:;<=>=<<;===>===>===>==<;;==<<<====>=<<<===<<=>>>>>>>>>>>>==>>>>>>>>?>>>>>>>?>>>>>>>>>>>>>>==>==<=>>?>>>>>>>??>??>>?@@??@@@?>?@@A@?@??AB@@@@@AA@@AAABBA@@@@@@@@A@@@@@?????@@AA@@??@A@@A@AAAA@@@@@@@@@@@A@@@@@?>?@@?>>>@B??A@???@@@A>AAABCCBBAAA@@AAAAAAA@@AAAABBBA@@@??????>??>>?@@ABABBBBAA@@AA@@BA?>>????>>>?@ABBBAA@???@@?@A@@ABA?@AAAAAAAAA@??@AA@?????@ABBA@@@AAA@AAAAA@@@@????@A@@@>>>@@@?@@A@@??@A@??@????@????>>>>?>>==>>>>??>>>>>>>>>?>>>?@AA@?>>>??>>>>>==>?>>>?????>?>>>==>=>>==>?@?@????>??>===>=<<============<<==<<<<=======>>=<=>=<<<;;;;<<<<<;;9:;<=>>>;;;;:::;<;:;<;:;;;;:::::::::::::9:9899:;:9899889999:::99::9999888888888888887788888888778888888899:99999988899888888788799999:::::99::::::;;::::9:9:;;=<<<<<<;::;;;;;;;;;:;<===<<<>=>>===>======;;<>>=<==>>>>=<<<====>>?>>>>>>>>>>>>>>>?>>>>>>>>>>>>>>>>>>>>>???>>>>======>>>>?>>>>=>>?>??>>>???@@@???@A@A?>?>?ACA??@@AAABAABBBB@@@??@@?@@@@@????@@@@AAA@@@@@A@@@@AAA@?????@@@AABAA@@@@?@@@@A@??CBA@??@?@@@A?ABBBCCBBA@@@@AAAAAAAAAAAAAABB@@@@@???@@@@@???@?@A@BBBBBAA@ABAACCA@AAA@@????@ABCBA@@@@?@@@@BAABBA@@BAAAAABAA@@@@A@@A@?@@@?ACBA??@AA@AAAAA@@@@?@@@@AAA@?>>?@@??@@@@??@@@????>??@@???>>>>>>>>>=>>????@?>>?>>>?>>>>??@?>>>???>=>>>>>??>>>>??@?>>>>>=>>>>>>=>?@?????>>?@@>===<<=>================<<==>=====>>====<<=<<;<;<<===;:;;<<<<<<;;<=<::;;;::::;;;;;::999::::::;;:;:999:;;9889999999:;;:8::;:988888887788899888898988887788999:::::;::999:988998799888888989::::::::::;:::::;::::9:9:;;<;<<==<;::;;;;;<;;:;==<;<=<<>>>>===>======<<=>>==<>>>>>=<<==>>==>>>>>>>>>?>>>>>>>>>>>>>>>>>>???>>>>???????>>>>==>>=>?>>>>>>>>>>>>>??>>>???>??@??@AA@?>>>?AB@>>?@AABBBAABBA@@?>?@@@@@@@@@@@@AA@??@AAAA@?AA@@@AAA@??@@@@AABBAAAAA@@@?@@AA@??ABB@?@@@???ABBDCBCCCBA?>@@ABBBAAABBAAAAABBAAA@@?>>???@A@AAA??@?@@ACCA@@ABCCBBCCBBBAAAAAAAABBA@@@AA@@AAABAABCBAABABBBBCBA@@A@A?@B@@@A@?ADCA@?@AAAAAAA@@@@@@@A@@A@AA@????>?@@@@???@?@@???>??@A@@@???>>>>>>>>??>>???>????????>>>>??>>>>>>>=>>>>>??>???@@@?>==>>>>>?>>>>>???>??>>>??@>>==<<>>>======>==<========>>>>===>====<<<==<<<<<<<==<;<<<<<<<<;<=>>=;<;<<:9:;;:;;::::::;;;;;;;;<;9989:;99:;;;;;9889:999:::88899888888888888888999899889::::;:999:::999:9999988:988899898:;:::::::::::::::99999::9:;;=<<<==<;::;<<;<<<;;;==<;<<<<===>===>=<=>==<==>>>==>>>>>==>>>>>===>??>>>=>>>>>>>>>>>>>>>>>?>>?@@?>????@@???>>>>=>>>>>>>>>>>>>>>>>>>?>>>>???>?????@BB@??>>??@@>>?@AABBA@@ABAA@???@AA@AAAA@@@AAA@?@@AAAA@?ACAAABBA@@@AAAAABBCAAAAA@@@@AA@@??@@@AA@@A@@?@@CBDCCDCBBA??@@AABBBBABB@@ABBBBBBAA@?>>>??@A?BAA@@A@A@BCCA@@ABDDBABCBBBBBBBBBBBBBBA@@ABA@BB@@@ABCCCBBBBBBCCBA@AA@A?@B@@@A@@ABBAA@AAAAAAAA@@@@@@@A@@@@AA@??@@?@@AA@@????@A????@@AA@????????>>=>???>>>>?>????@>>>?>>>??>>>>>>>>>>>>>>>>@@AAA@>>=>>>>>>?>>>>>??@@@?>???>>======>>>===>>>>====>=====>>>>>>>>>====<<=<<===<<<<<<<<<<<<=>>=<>>?@@?>>>><:;;;;;;;;;;;;;;;;;;;;<;:999:;;<=>>>>=;9999::9::989::878999:88889:9889:::;:9:;;;:;;:9:99::9999999999888899988:8:<;::;9::::::9::999:;;<<:;;<====>>=;::;<<<<<<:<;;<<<<;<;<<=>=<==<<=========>>>>>>====>=>>>>>>>>>>>=>>>>>?>>>>>??>>>>??>>?@@???@?@A@?>?@>>>>>>>>>=<>??>>>?????>?>>>>?????????ABB@@@>>?>?@?>>@AABBA@@ABAA@?@@AAA@AAA@??@AAAAAAA@A@@@@BCBBBBBAAAAAAAAAAABBBA@@@@@AA@@AAABCA@@??AABAAAC@DCCCBAAA@@AA@@@ABBBCB@@BCCBBBBAAAA@??@ABB@AAAAABBCCCBBBBBBABCCBBBCCCCBAAABCBCDCA@@ABAACB@??@BBCCCBBBBBCDCAAAA@A>@BAAAAAAAA@AAAAAAAAABA@@@AA@AA@@@@A@>>>@A@@ABBAA@@?>@B@?@@@?@A@??@?????@@@>>>>>>???>>>>??=>?@@?>>>>>???>>>>>?@?>>=?@@@@??>>?>>>=>?>>>>>>@ABA@?@A@>=<<>>>>>>>>>>>>>>===>>>>===>>>>>>>>>====;<=<<=>=;<=<<<<===<;=>><>@A@ADC@A@>><;;;<<<;;;;;;;;;;;:::;;::::;<>??>>>>>>>>=<;;;;;:9:;;989<===;<;;==<:99:;;<<;;;;;;<=<;=<;::9999:::999988899888;<;:;<<;;;:99:;;;:::;;;<;:::<====>>=<<<;;;<<<<;:;<<==<<<;<;:<==>>=;;=>>====<<>>==>>>===<>>>>=>>?@?>=>>>?>???>>>>??>?@@@@@@??>>>>AA@>>?@?>>>?????????@??>>>??@@?>?AA@?>?A???@@?@@????@@@@@??>?ABBBABBAAA@@@@AAAAAAAABBABCBBBBBBBABA@ABB@>?ABBBA@ABABBBAAAAAAABA@@A@@@@@@@BBBBAAABBAA@@ABABBBBBAAAABBBCCBBCBBBCCCCBBBBBBA@@AAAAAAAAAAAAABCBCCCCCCCCCBBCA@DCA?@AA@ABCCCA@AABCCBAAABAAAA@@ACDBA@@AAAAAAAAABCCCA@@ABCDA?>?AAAAAAAABBAAAAAAAAA@@@@>>@@??@@AAAAA@AAABB@BBA?>AC@??>@>?@??@?>?A??@?>?A@>>>>???>>>>????>>>>>>>?????>=>?><>?@@>>>?>>>??>>==>@@>>>>>>>>>>>=>>=<>>>>===>@@@?>>>>>>>=?>>>>>=<=>=;;<=<=>>><;=>>??@ABA@@@@?><;<=;;<==<;<<;<<;:<;9;<99;:;>>@>?>??>>>>>==<<<<;;<<><:;==>><<<=>>><;;;=>;:<<:;>>=<<><;:::::::::99::99:;;999<=;::;;:;;;::::;;;:;;;;<;;<<==>>>>>=<<<<==<<<<<<<<;;;;;<<=<<===>>===========<>>>=>?>>=>>>>>>>>>@@?>>>>??>???>>>?>>>??@@@@???????????>?@??>>>>?@A@??????>?????????A@????@@?@@@?@@????@@@@@@@@ABCBAABBAAA@@?@@AAAABAABA@ABCCBAABBBCBBABA@?@BCCCBAABBBBBBBBAABBBBA@@@AAA@@@AABAABCCBAAA@ABBABBABAAAAAAABCBBBBBCCCCCCCCCCBAAABBAAAAAABBBABBCCCCCBCCCCCAAB@@CCA@AAAABBBBBAAA@ABCBAAAAAAAAA@ACBBBAAAABBBAAAABCBBAAAABBDBB@@AAABBBABBBBAAAAAAAAAABB@@AA@@@@AAAAAAAAABBA@A@@ADDC@@@A>BCAA@@A@??>??@A@BCBBBA??@@?>???????>??@@??>>>>>>?????@?>>>>>>>>>>>>>>>???>>?CDA>>>>>>>>>>>><===>>=>=>>@BBA???@?>>>>@@?>>==<<==<;<=====<<=>???@AABBA@AA@??>=<<;<<<;:;;:;<;:;<;;<::;;;>>@??>>>>>>?>>><<<<;;<=>=<<=======>>>>=<<<=><<=<;;=>=<<>>====<<;;;;::99999::999<<;9:;:9::;;;;;;;;;;;::;<===<<=>>>>=====>==<<====<;;;;<<<==<=====>>>========<=>>==>==>>>>>>@?>>@@?>>>???????>>??>>>?@@@@??????????@@@@AA?>>>>?AA@?>>?@@@@@A@????@@???@?@A@@AAAAA@@@@@@@@@@@@ABBBAABBAAAAAAAAAAAABBBBA@@ACCBAABBBCCCBAAAAACCCCCCBBBBBBBBBBBBBCBAA@ABBBA@A@@@@@ABCBBBBBBBABCBAAA@AAAA@ABBCCBBCCCBCCCCDDCBBBDCBBBBBBBBBBBBCCCCCBBCCCB@@A@ACCAABBABCA@AAABBABCDDCBBBAABBBAAAABCBAABCCBAAAABBBBBBBBBADCDBAAAABBBBBBBBBBBBBBBAAACCBAAAAABBBBBBBBBBBCCB?A@@ACCB@@AA@AAAA??@@A@??>@CDDDDDCB@??@@@@@???@A@@@??@??@@@??????@AB@>>A??>>>>>>?>>>>>>>>@A@>>????>>==>>>>?@@>>?>>@BDDCBAABBA??????>=<<=<===<;<<<===>>@@@@AABBBB@BBAAB@><<==<<;;<;;;=<;<<<<<;:;<;??A?@?>?>>??>>>==<<<<<=>====>=<==>>>===>==>=<=><;;===<=>>>>>=<<;;::::9999:::999;<;;<<;:::;::;<<<;;<;::;===<;;=>=>>>==<<<<<=====>=<<<<==<==<=====>==<=>>>=====>>>>=>>?>>>>>????@??>>?@@@@@@??>?@?>>??@@@????????>>?@>>?@>>?>>?@?>>>>?@AAAAA@????@@?>?@@AA@@AAAAAAA@@@??????>?@@@@ABBAABBCBBBBAAABBBBA@ABABBBBCBABBCBAAABADDCCDCCBCBBBCCBCCBBBBBB?ABBA@ABBAAABBCDCBCDDCBABCBBBAAAABAABCCCDCBCCBCCCCCDDDCCCDDCCCCBBBBBBBBBCDDCBBCCCB@@@@ACCBBCCBBCA@ABBCDBDDEEDDCCBBBBBBA@ABBBAABBCBAAAABCBBCCCBBBCBDBAABCBBBBBBBBCCCBCCCBAACCBAABBCDDDDDDDCCBBBBB@BA@@@@ABBBACAABA>>?@AAA??@CDDDDDCBBA@@AAA@@@@@AA@???@AACDDC@>?@@@BDDBABAA@?>>>??>>>?@AA?>>?>>=>>>>>==>>>@BCBA@@@@ABDDDDCCCCDC@>>>>>=<<======<<=<=>?@AAAAAAABBBBBBBBBA?>=>>>=<<==<;;<=<=<<<;<;;<=@@A?@@?@????>>=====<<=>>>===>>==<=>>=>>>=>>=<>>=<<====>>>>>=====<::::9999:;::98:<<<==<;;;;;;;<=<<<<;;;<==<<<<<=<<<<=<<;;<===>======>==>=>=<===>===<=>>?>>>>=>>>>>>>>>>>>????@@?@????@@@??????@@@???@@@@???@@@??????>>>?>>?>>>>>>>>??@AAA@@?????@A@??@@BA@@A@@@@??@@@@@@@@??@@@@@ABB@ABBBBBBBAABBBBBBABCBBBCDDCABBBBBBBBBDDBBCCCCCCBBCCCDCCCCCBBABBBA@ABBBBABBCCCCCDCCCBBBBBCCBBBBBBCCCCCCBCCCCDCCDDDDDDCDDCDDCCCBBBBBBCCDDDCCCDCCBB@@BCBCCDCBBBBBCCCDDDDDEEDDDCCCCBCCBABBBBBBBCCCBBAABDCCCDCCCCCBCBABBCCCCBBBCCDCCCCCDCBBBBBABDCDDDDDDEDDCBAABBBCBAA@ADEDDDGDCDA@@AAAA@@AACDEEDDCBCCBAAAA@AAAA@A@???@BBDEEDA@@@@ABDDDCBCCCA?>>???>>>?@AA@?@@>>>>>>>>>>>>@BBABBAAABCDDCBBCCBCDA>===>>>>===<=>>>>>?ABCCCBBBBBBBBBCBBBB@????@?><<>><::;<====<<<<;=<@@A?@@??????>>>>>====>>?>>>>>>>=;<=>>>>>=>>==>>>=====>>=>>>>>>?>><;;:99::::::::;<;;<=<;;<<<<;;<<;;<<<<===<==>=<<<<<===<<==========>>===>>>==>=>====>>>>>>>>>>>>>?@?>>>>>@@?>@@??????@@?>????@@AA@@@AAAA??@@@@@@BABA?>?@>>??>>>>??@@@@@@@@??@@@?@AA??@ABBAABA@AA@@@AAAAAAAAABBBAAABBAABBBBBBBAABBBBBBAABCCCCDDCBBBBBCCBBBDCBBCCCCCCCCCCBCCCCCCBBBCCB@@ABAAAAABBBDBBBBCDCCCBBCCBBBCCCDDCCBCDDDDDDDDDDDDDDDDCCDCCCCBBCCBBCDDDDDDDDDDDDAACCBCDDCBBBCCDDCDDDDDEDDDDCCCCCCDCCCCBBCCCCDDCBBABCCCCDDCCDDACCCCBCCDCBBBCCCCCCCCCCCBBBCBCDDDDDCCDEDDCCBABCBCBBAABDEEFFHDCDBABCBBBBDDCCDEEEDDDDDDBBA@@ABBA???@@@@AACDCCBA@?@ABBBBCCCBBA@???@??>>>>>?AB@??@??>>>????>@BA@BCAABDDDDCB@BBAABB@>>>>>>>=>>=>>>>?@ACCDDDDCCCCBBBBCBBCB@@B@AAA?>?@@>===>?>>====<<<<@@@?@?>>>?>>>>>>>>>>>>>>>>>>>??=<;<===<===>==>=>>>===>=;=>?????>>===<;:<;:::;;<<<<:;<;;;<==<;;;<;;<<<===<<=>>=<====>>>===>=======>>=<=>>>>====>=>>>>>>>>>>>>??>>?@@?????@@??@@????@@@?>?????@@A@@@AAAAA?@@@@@AAABB@>>?>??@@>>>>@@@@@@@@?@@@AAA@@AA@@@@AAABCBBCCCCBBBBBAABBBCCBAAABBABCBCCCCBAABBBBBBAABDCBBCDCBCCBCDDCBBCCBCCCDBBCCCBBBCCCCCBBBCCCBAAABBBBBCCCDDBBBBCDDDDCBCCBBCCCCDDCCCDDDDDDDCDDDDDDDDDCDDCCDCBBCCBBCDDDDDDDDDDDDCCDDCCDDCCCCCCCCCDDCDEEDCDDDDCCDDDDDDDCCCDDDCCBCCBBBCCCDDCDDDBCCCDCCCDDCCCCCCDDDDDDDCBABCCBDDDEDCCDDDCDDCBCDCBBCBBCDDDFEECCDCAABBCDEFEDDEDDEEDDDDCBBAAAABA@?@@AA@@@ABAAAAA@@@AAA@ABBA@@@@@@@@@???????BB@>?@?A@@?@@AAAACBACDBBCDEEDDCBBCBBBBB@A@?>>>>>>>>>>>?AAABCCCCABCCCCCCCBBBBABDBBCCBBBDCAA@?@BA@>>>=<=<=A@?>>>>>>>>>=>>??>?>>>>>>>>>>?@>=<<<==;<===>>==>>>>=>>=<=>>?>>>>>>>>==<<<<::;<<<=<;<=<<:;<<;;;<=<<======<<<========>>=<<========>>><<=>>>>=>>>>>>>>>>>>>>???AA?>>>>?@?>?????????@@AAA?>???>>?@A???@AA@@@@@@@@@AABBA???>@?@A?>??@?>>?@???@AAA@@@@AA@AA@@AABCBABCDCCCCBBBBBBBBBBAAAABBBBABCCCCBCCBBBBBBBBCCBBCDCBDCCCDDCBBBBCCCDDCCCDDCBBDCBBABBCCCBBBBBBAABCCCDDDCCCCDDCDDBBCCCCCCBBDDCCDEECBCCBCCDDDDDDEDDDDDCDDCCDDCBCDDDDDDDDDCDEDDEDCDDDDDDDCCCCDDDCCDECCDDDDDDDDDDDDDDDCCCDBBBCDDCBCCCDDCDDECCCCCCDCDDDDDDDCDDDDDDDCBABDCACDEFFDCCDCBCDCBCDCACDDDDCDEFFDCDECBBCCDEFEDDEFDCEEEDDBAABBBBAA@@?BBBA@@ABABAAAAAA@@@ABBBA@@@@??@@AA@?>??@@@AAAABCCBA@@AABCBCDCDDDDDDDDDDDDBBDDCBBCCCA?>>>>>>>==>@@???AAA?@ACCCCCCCCBBBBCCCDDDCCCCDCCB@ABAB>>>==>=>>>>>>>==>>A@@@@???@??@?>>>>>>==>><;<==>><<>>>>>>>>=>>?????@@@?>>=====<<<;:;;;;<<==<<<=<;;<<=======<<<====>===>>>>==>>>>>>>>>=<=>>>?>>===>>>>>>>>>>>>??@A@>==>>?@?>???@@@?>@@@@@???@@@@@??@??@AA@??@AAAA@@@@BCCA??@@@AA>?>?AAACCCBBBBCCBABAAAAAAAAA@ABBBBBCDDCCBBBBBBAAAABCAAABBCBBABCBBBBAABCCBBABBCBBBCCBCCCBBCCDCBBBCDDDCBBCCBBBCCCBBBBBDDCCBBBABBBCCCDDBCDDDCCBDCBCCCDDCDDCDDCCDDDCCCCDDDDDDDEEFEEDDDDCDCDEDCCCDDDEFEDDDCBCDDDDDDDDDDDDCBDDDDDCDDDDCCDECDEFDDEFFEFEDCCDDDDDDDDDDDDDDDDDDCBCDDCCCDDDDDDDDDEFFFEEDCDDDCBDDEFEDDDDCCCDDCCDBBDFFEDCDDDCCDEEDDDDEDDFFEEEFGFEEEDDCBCCDCCCCBAADCCB@AAACABCCAABCAABBCCBA@?@@??AACCA@@AAAAACCCCCBAAAABCCDDDDEFFEEFFEDEEEDDCDDDCCDCCBA?>>=>>??@??BA@@@@?>??BDDDCACDDCBBCBCDDCCCCCCCBBBBBBC@?>=>?>@CB@??>?@?>?@@??@@@@@@@????@?>>?@?>>>>>>=>>>?>==><=>>>><=>>???????>>??>>>>==<<<<<<<<<==><<===<<=<==============>==>>>>>====>>>>>>>>=>>>>>>>==>>>>>>>>>??>????@?>>>>>>@@@????@@@??@@@@@@@AA@@A@@@??@AA@@@@ABBAA@@ABBA@@@@AABB?@?@CCBCCCBBBBCDCCDCAAAAAAAA@ABBBBCCCDDCCBBABBAABBBDCBBBCCCCBBBBBCCCCCDDCBCCDDCBCCCCDDCBBCDEDDDCCCCCDCCBBCCCDDCCCCCCCCCCCDDDCCCDDDDDDDDEEEEEEDDDDDDDDDDDDDDDDDDDEDDDCDDDDDDDDDEDCCDDDDDDDDDDBCDDDDCCDDDDDDDEEEEDDDDDDCDDDEDDFDDDDCDDDDEGFFFFGFHGFEDDDDDDEEEEDDDDDDDDDDCCDDDDDDEDDCCDDDEEEEEEEDEDDCCDDEEEDDDDCCCCCCCDDCCDCBBBDDCCDEFFFGFGHGEEDEEFGGGFEEDDDDCBBBBCCBBACBDBABBABBBBABBBCBBA@ABABBCBA@?@@AA@@BBBCBBBBBBBCCCCDDDEEEDDEFFFEEFFEEEEEDDEFEDCBBBBAAAB@@@???@AA@@@@A@>>>>>>@CCDDDCCDCCDDDCCCDCCCCCCCCCCAABBA@AACBAA@@ABA@ABBAA@@@@@@@@@@@@?>??@@?>>>????>>>=:::9:<=>>=>>>>>>>>>>>>>>>>>>>=====<<<<<<<<<<===<<<======>>>>>>>==>=>>>>>>>===>>>>>>>>>>??>>>>>>??@@@?>>??@?????>>>>>>=>?@@@@@@@A@??@@@@@@ABB@?@AABA@@ABA@A@ABBBAAAAA@@@@@@@@AA?@>>DDCCCCBBAAAABCDCBBAAAAAA@ABBBBCDCDCCBBBAAAAABBCDDCCCCDDDCCBBCDDDDDDCCCCDDDDCCCCDDDCCCCDEDDDDDDDDDDCCCDDDDDDDDDDDCCCDDDEDDDDDDDDDDDCDDDEEEDDEEEEEEDDDDDEFFFEDDDDDDDDDDDDDDDEFEFGGEDDDEFEDCDEEEDDDDDDEEDEFFFEEEDDDDBDDDDDDGDDDEDDDDDDEGIIJGFHHHHFEDDDDEEEEEEDDEFEDDDDDDEEDDEFFDCCDDDDDDDEEEDEDCCDFEEEFEDDDDDDDDDDDDDEEDCDDDCBCDGHGHGGGIHFFEEEDDEFFEDDDEEDCCCDDDCCBBBDCBCCCCCCAACCBAAA@@CDBDEEDDDDCBBBBBDDCDCCCCCDDDDDDEFGGGGFEEEEEFFGGFEDEFEEEFFDCCCCCCCDDDCCA@@ABBAA@@@@>>=>>>?CDDCBCDDDDDDDDCDDDCDDDCCCCCCBBCCBCABBCB@@BCCBBBBBAAAAA@AAA@AA@@@@@@??>??@@??>=>=;;9::;=>>>>>?@@@@@?@AA?>>>>>>==>>><<<<<<<;<<===<<<=====>>>>>>>>>==>>>>>>>>>>>>>>>>>>>>???>>>>???@@@@???@@A@@@?>>>>>>>>>>>>???@AA@???@@@@@@ABA@ABCCA@@BCBAAAABBBBAABBA??@@@A@BAAB@@CCDDCCBBBBBABDEDCBAAAAAAABBBBBCDDDCCBBBCBCBBCCCCDCCCCDDDDDDCCDDCDDDDCCDDDDDDCCDDDCCDDDDDDDDDDDDEDDDCDDDDDDDDDDDDCDDDDDDDDDDDDDDDDDDDDEEFDDDDEEEEDDDEDDFGFFEDDDDDDDDDDDEFDDDEFGFDEFDDFFEEDDDDDDDDCDDEEDEFFFEEEEEDDDEEDDDGEDDEFEDDEEDDHJJJIGHHIJHGDDDEEFEEGFFFGHFEFFEDEGGFGGHHGDDDEEDDDDEEDCDDDDEGGFFGGFDDDDDDDDDDCDFGEDDDDDCDEGHHIHFFHIHGFFFEEEFFEDDDFFFDEFEDDDDDBBDCBDDDEEDCBDDCBABCDFGDFHHFFHHGEEDDEEEDDDDDDEEFFEFFGHGGGGGFEEEEHGGFEDDEFFEEEFEDDDDCBBCDDDDBA@AACBBAAA@>>>???ADEEDBCDDDDDDDDDDDDDDDDDDDCDDC@BDCCBBCCB@@BCCBAABBAAABAAAAAAAA@@AAA@????@@@>?>>>>>>>>==>>>>@@@@@@?>>?@@?>>=>>>>=>>>=======<==>>><<==>===>>>>>>>>>>>>>>>>>==>>???>>>?>>>????????????>???@@AA@@?>>>>>??>>>>>>>>>?@A@????@@@@?@BCCCCBBBAABCBBBBBBBAAABBCBA@AA@BABABCBABCDDCCBBCCCCCDEDCBAAABBAABBBBBCDDDDDDCCDCDCCDCBCCCCCDDDDDDDDCCCCDDDDDDDDDDDDDDDEDDCDDDCCDDDDDDDDEEDDDDEDDDEEDDDDCDDDDDDDDDDDDDDDDDEEEEEFEEDDEDDDDDDDDDEFDDEEDEFEDDEEEEEFGEEEFFDCDFEDFFEEEEDDDDDDDDDEEDDEGFEEEEEDEDEEEDDGDDEEEEEEEFFGJJIIJHHHHIGEGFEFGHHHGGFFGHGFFGFFGHHGHHIJIFEDFFFDDDDEEDEFFFFGHFFHHGEDDDDDDEEEDFHHFEEEGFEEFGGHJIGFIIHFDDEFGGFEEEEEFFFEFGGFEEEEDDDDCDDEGFFEEEFEFEFHHHHGIIHGGJJHGHHHGGGFGGFEEFFFFFGGHHGGFFFFFGGFGGFGFEEGGFFEFGFEDEEDCCCCDDDCBAA@BBBBBBB@@@??@ACEEDDDDDDDDDDDDDDCDDCDDDDDCDDCDDCBCDDCBBBBCCBABCCCABBBAAAAAAA@@BCCBA@@@@@@>@@@AA??@A?>?>>>AAAAA@@?>>????>>>??>>>?><<========>>>==>=>>===>>>>>>>>>>??>>>>==>>?@????@?>?@@@@???????????@@@??@??>>>>>?>>>>>>>?????@@????@@@@@BCCBCBBBCBBBBCCDDCBAAAAABCCAABBAA@B@ABBACDDCCCCCCCCDDDCABBAABBBBBBCCCCDDDDDEDCCCCDCCDCBCDCCDDDDDDDDDCDDDCDDDDCDDDDDDDDDEFDDDEDDCDDDDEEEDFEDDDDDDDDEEEDDDCDDDDDEFEDDDDDDDCDEFEDDDEDDEEEEEEDDDDDFGGDDEEGHEDEFGFEDDGGGGFEEDDFFEEDDDFFEDEFFDEDEEEEEFGFFFFFEEFEEEEEDEDEFEDEFEEFGHIIIJHGHHHIGEHHGGGHHHGGFEFHHHEGGGIIHGHGGHHGFEEFFEEEFFFDFHHHGGHGGHIGFEEEDDDEGGGGIIHGGGHGGFGGHHHHHHIIFDEEFGHIHGDEFGGGFFEFGGFFFFGFGEDEFFGFGHHHHHIIJJHGHIHHHGHIIGHIIIHGHHHHGEEFGGGGGHHHHGFFFGHHHGGGGGGFFFGFFFGFFEEFGFEEEEEDDCBBBABAAAABBAAA@@AABDDDDEEDDDDDDDDDDDDCBCDDDDDDDEEDBBCDDDCDDCCCBBBBCCBCDCBABBAAABBBCDBBA@@@@@@BBBCB@AAA@?@@@@@@AAABBAA@????@@???>>>?><<<<<<===>>>>==>>>>>=>>>>>>>>>>>???>>>>>>>???@@@@??@@@????????@@?@@@@???@@?>>>?>?>>>>???AA@@@@@@@@@@@@@ACBAABBBCCDCCCDDCCCBAAAAAABBAABCABBDABCCBCDDDCDDDDCDDDDCBBBBBBCCBCCDDDDDDDDDEDCBCCDDDDCCDDDDDEEDDDDDDDDDDDDEEDCCDDDDDDDEEEEDDEEDDDDDEFFEDEDDDDDDEDEFFEDDDDDDDDDEFEEEEDDDEDDFGFEEEDDEFFFFGFFEEFFFGHFFEDFHGEFGGGFFEFFGGFFFDEEGGEDDEEEEDEFEDEEFFFEFFGGGGGGGGIHGFHHFGEEEEEFFFFFGGFGHIGGIIIJIGHHGGFFFFFFFEFHIIFGGHJIHGHGFFGGFFEFGFFFGGFEHIHHGHHHGHHHGFGGFEEGHIFFGHHHHFGGGFGIIIGHHHIIFDDDDDDEEEEEFGHHGGEFGHGFFGHGIGEFGHGFGIJJJIIIIIHHIIHGHIIIHHIIJIHGGHHHGFFGHHHHHHHHHHGGGHHHGGGHHHGGFFGFFGGFFGEFFEEFFEFEDDCCCCCBBBABBAABBCDBBDDEEEDDDDDDDDDDDDDCBCDDEEEDDDDDDDDDDDDDDCDCCCCBAACDDCBBBCBBCDDCCDCBAAAAABBDCBCBAAAABBAABBBBA@@@??A@?>>>>?????????=<<;;<==>>>>>>=>>>>>>>>>>>>>>>>>>>??>>??>>>>?@@?@??@@?>>>>>>>???????@@AAAA@>>@@??????@@?@@AAAAAA@AAA@?@AAA@BDDBBCDDCCCCABBAAABBBABBABDDBCBDABCCBADDDDDDDDCCDCCCBCCCCCCCCDDDDDDDDEEDEDCCDDDDDDDDDDDDDEEDDDDDDEEDCDEFFDCCDDDDDDEFEDDEEEEEEDDDEFEDDDDDEEEEEDFFFEEDDEEEEEEDDEFFFEDEFEEFFFEDDEFGHHHGHGHGFGGEEEEHHDEGGIHGGGGHHIGGHHHGEFFGHEDEEFGGGGHGFFGHHFEEEFGHHIIIIHIHGHHGIHFDEGGGGGGHHFEFEFFHGFGFEGGGGFFEEEEEEFGHHHHGHIIHHHGFEFGGGFGHGFEEFFEHJHHHJHHHHHHHGHHGFFHIHHGGGHIIHHHHGHJJHJJJHHIHGFGGFFGGHHHHHHHGGFFGGFDEFGGHGFGGGGGHJJJJIIIIIJJJHJIJJJIHIJJJIHGGHHIIHHIIHHHHHHHHHFGHHHHHGHHHGGHHHHGGGGGHIGHGFFGGFEEEDDCDDDDCCCCCBABBCDCDGFGFDDDEEDDDDDEDDDDDDDDEGGEDDDEFEFDDEDCCCDCCDDCCCBCDCAABCCCDEDCCDCCBBBBCDCDCBCB@ABBDDBBCBBBAAAAAAAAAA@???@@?@@@@A=>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>?@?>>?A?>>>?@@@?@@@@@><=>>>???>?????@AB@@?????????@@@@@??@@@@@@@@@AAAA@A@?ADDBACCCCCBBBABAA@@AC@ABBBBBBCCCBBCCBCCDDEEDDDDDCBBCCCDCBCCCCDDDDDDDDDDDDDDDCDDDEDDDDECDDDDDEDDDEEDDDEDEEDDEFFEEDDEFEDDEFEEEEDDDFEFFDDDDDDDEGEEFFFFEEEFFEEFFDFGGGFFFFFDEFFFDEFGIIGGGHHGHHGEEDDEGHGEFHIFGFFHHHHGGGFFGGFFGGFFGFGIIJIIJHIIHFFFFGHGGHIIIIIHHHHIIHIHGGGGGGGGHHGFEEEEFHFHHGHFHHHFGFEFFEFHHHIIHGHJJHHHGGGGGGGGFGGEFFFGHJJIHIJIHGGIIGIJHFGIHGHHHHHHIIHHHGHIHHJJIIJJIHHIHHGGHHIIHHHGFGGGFGHIIIHGFFGGGGFGHIIIJJJJJJIHGGIIJJJIIIIJJIHHHIHGGIJHHHHIIHHIIHGHHHHHIGHIIIHHHHHHFGHHIIHIHGGHGFFFGFFEEEDDEGFDDCCCCCCBCFFGFEDDFGFDDDEEEEDDEDDDEFFDEEEEDFFFEEFECBDCCCCDDCCDDCBBCDDDFEDDDDDCBBBCDDDDDDDBAAABCCCBBBBBA@@@AAAAA@@@@@@@A@@ABC<===>>>>>>>>>>>>>>>>>>>>>>>>>>>>??@?>>>????????????@@?>>>>>????????@@@AA@@@???>??@@AAA@@??@A@@@@AA@@@AAAA@@BCCCBCCBBAABCCCBAAAABAAAABBCCCCBAABCCCCCDEEEDDDDCBBCBCDCBCDCCDDDCDDDDDDDDDDDDDDEEDDDEEDDDDDEEDDEFEEEEEDDDDDEEEEEEDDFEDDEFDDEFEDEFEFFDDDEFGFGHFFFFFEFGFFGGHGFEGGGGGFFGGFFFGFEGGHHGFFFGIGHHGFGGGGHIHGGHHFGGHIIJIGGHGFFEFFGGEEGGGHIJIJKIJJHGFFGIHHHIIIHHJIIJIIJJIIIHGGHIGGHIIGGGFEEGEFFFGDFGHGHFEGFEGHHHJJIIIIIIHHHHHHHGIHGHHGGGGGHIJIIJJIIIIJIHHIHHIHHHIIIIIIIHHHIIJJHGGHIHHHIIHIHHGGHHIIHHHHGHGGGIJJJJIIIIJJJJJJIIIIJJJJJJJJIIIIJJJIIIJJJIHFGHIHIJJIIIHIIIIIIHHHIIHIIHIIIIIIIIHHFGHHIIHIHGGHGGGGHHGGGGEFHIIGEDDDDCBABEEFGGFEFGGEDDEFEEDEEEDDEFEDEEEEDEFFFFGFEEDDCCCDDDDDDDDDDEDDFEDDDDCBBCDDDDEEEEEDDDCCBBCCBABBBA@AABBBA@@@ABBAA@ABCB<===>>>>>>>>>>>>>>?>>>>>>>>>>>>>?>>>>>>?@@@@???@???@@???>>??@@@@???@@@@@?@@@??>@>?@BBBAA??@AA@@@AAA@ABBBAABCCCCDDDCBAABCCB@@BBABCBAAABCCCCBBABCDDCCCDDDDDDDCCDDCDDCCBCDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDFEDDEFDDDDFFEDEFFDEFFEFGFDDFGEDFGFGGEDDEGGGGGFFFFEEFGGGHIJIHHFFFFGGGGHGGFFGFGHHHGGGGGIHHHGGHHIIHGFGHIIGHHIJJJJJJJIIHGGGGGFGHHHIJJIJKIJJIGGGIJIIIIIIHHGFGHGGIIIIIHGGHHHGHIIHGGHFEHFGGHIGGGHHHGEGFFGHIIJIJJIGHJHIJJIHGFHIHIHGHIGGGIJIIJJIIJIJJIGHIJJHGIIIIIIIIHIHHHIJHHGGGGGHIJIIIHHIIHHHHHIIHIJHGIJKKKJJJKKKKKJJJJJJJKJJJJJJJJIIJJJJJIJIJJHGGIIJJJJJJJIIJIIIIHHIJJJJJIIIIIIIIIIIGHHHIHGHGFGHHHGGHHHHHHFGHJJIGFFEDDCBDFDEGGGGGGGGFEEFFEEEEEEEEEEDEEEDDEFGGGFFFGDEFEDDDDDDDDDDDEDDFEDDDDBBCDEEEDEEFFEEDDDDBBCCBABBBBAABCCCBAAAABCBAABCCC>>>>>>>>>>>>>>>>>>????>>>>>>>>>>>==>?>>?@@@@??@A@@???>?@?????@@@????@@???@@@@@?@?@ABBBAA@@@@A@@A@@AABBBBABCCDDDDDDDDCBBBBBAACCBCDCBABCCCCCBBBBCDDCBABBCDDDCBCDDCDCCCCDEDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDEDCDFFDDEFEEEEGGFDEFFEFFFGGGGEEFGFFGHGHHGFGGHHHGHFGGGFEFGGHHIIIIIHGFFGGGGIHHGHIHHHHHHIIHHHHHIHGGFIIHFFGHJIHIIIJIIJIJIIIJJIHHHHJJIIJJKJJKIJJIHHHIJIIIHIIJJIJJJIIJKJIGGHIIHHHHHHGFFGFEFFGGHHHJJKJGEFGGGHIIJJIJJJHHJIJJJJIGEGHGIIIJJHHHIJJIJJIJJJIJJHIJJKJIKKJJIHHIIJIHGHJIIIHGGHJJIHIIIIIIIHIHIIIIIJIGJKKKKKKKLMLKKKKKKKKKLJJJJJJJJIJJJKJJJJJIJIIIJIJJJJJKJJJJJJIIHIJJJJJJJJJJJIIIIJIHIIHHHGHHGHIHHGGGGHHGGGGGHHHHHGGFEEEFHEFFGGGGGGHHGFFFGEEEEFFEDFDDDDDDFGHHGFEEGFGHGFDDDDDEEEDDDDDEDDDDDBBDEGGEDDDEEEDDEDDDDDDCBBBBCCCCCDDCCBAAABBCCCCDD>>>>>>>>>>??>>>>>>????>>>>>>>>>??>>??>>?@@@???@AA@??>>?@??>>>???@???@@@?@@??@A@ABBBBBBBBAA@@@AAB@@AAABBABBBCCCCCABCCCBBCDDCCDDCCDCCCCCCCCBCCCCCDCCBBBCCDDDDCDEEDDCDDDEGFDDEEEDCCDDEDDEEEEDDDEFEDEDDFEEEFGDEGGFEEEEFFFGGFEEEEFFGGGFGGEEEEEEFFFFFEGHHHHHGGFGGGGFFHGHHHHIIHJIHHHHHGJIJJJJJJIIIIIHHGGGIJIGFFGIJJHHIJHGHIIJIJHIJIHHJJIIIIHIJJIJJLJJKJJIHGIIHHIIIHIJJJJJJJIHIJJIGHIJJJHHHHHHGFHIIHIJJIJJHGGHIJHIIHIIIJIJJKJJJJJJJJJIGGHHGIKKKIIIIIJJJJJIJLKJJJKLLLLLKLMMLJIIJJJJJHHIGHHHHHJJIHHIIIIIIIIIIIJIIJJIJLMLKLLLLMMMLLMLKJJJKLJJJJKKKKJJJKLKJJJJJIJJJIIJJJJKKKKJJJJJJIIIJJJJJJJJJJJJJIJJIJJHHHHIIHIIHHHGFFGGFEFGGFGHHHHHGGHHGHHHHGFFFFGHHGGGGGEEEEFGFFGEEDDDDGGHGGFFFGFGGFEDEFEFGGFEDDDDEDDDDDCCDEFFEEDDEEEDDEDDEEEEDDDCBDDDDDDDDCCBBBBBCCCDDD==>>>>>>>>??>>>>????@??>>>>>>>>???@@@??@A@@@@AAAA@?????@@@?>>??@A@??@A@@@@??@AAABBBBBBCCBBAAAABBBBAAAABBBBBCCCCCBBBCCBCCDDDDDCBCCDDDDCCCCCCDDDDDDDDDDDDCDDDDDEFEDDDDDEEDDFFEEDDDDEEEDDDDFEDEFGFFFDDFFFFFHFFGGFEDDEGGFFGGFFEDFFFGGFFGFFFEGGGGGGGFFGHIHHGFEEEEEDFGGIIHHJIGIIHHHHIIJIJJJKJJJJIIIIHHGGIJIHHHHIJJIIIJIHIIIJJJIJKJHHIIIJJJHHJJJJKKJJJJIIHHIIHHHIIIIJJIJJJKJJJJJJIIHIIJIIJJJJIHGHHFHIIGHJJJJIHHIJIIJIIJIJJKKKJJJJJJIIIIHJJKKJKKJJIIJJJKJJJKJJKLMNMLMMLLLMNMKKKLKKJHGGFGGGGGHIIIIIIHHIIIHIIIIIIJJJKMMLKLLLLLMMMMMLKKKKKLKKKKKKKKKKKLLKJJKKJIJLKJJKKJJKKJKJJJJJJJIJJJJJJJJJJKJJJJJJJJJHIIHIIHIIHGHGFFFFFEFGGGGHHHHHGHIIHHIIIIHHHHIGFGHIHFEEEEFGGGFEFEEEEGGHGFGFFFGGGFEEEEFGHHGFEEEDFEDEEDDDDEEEEDEEEEEEDDDDEDDDDDDCBDDDDDDDDCCCDDCCBCDDDC=>=>>>>>>>?>>>>>?@@AA@?>>>>>>>>?>??@@@@AAA@AAAAA@@@@@@@??@@@??@@A@@@AAAAAA@?AAABAABBCCCDCCCCCBCCCCBAAABBCCCBBBBCCCBBCCCCCCCCDCCCCDDDDCDDDDDDDDDDEEEDDDDDCCDDDDDDEFEDEEDDGGFFFEDDFGFEDDDDFEEFFFFGFEEEEGGGIGGHGGFEEEGHGFGHGHFEFFFGHGGGGGGFFFFEFFEDFHJJJJIHFEEEDDEGIIIHIJIHHIIHHHIJJIJJJJJJJJJJIIJJGHJJIIJJIIIIIHIJJIJJJJJJIJJJHHHGJJKJHHJJKLJJKJJJJJJIIIIJIJJJJJJIJJJKKKKJJJJIIIIIJJJJJJJJJJJHJJJJJLJJJJIIJJIJJJJJIJJKKLKJKKKJJJJJJLMMKJLMKKJJKKKKKJJJJJMONNMLMMLLKLMMMMMMLKJHGHGIHHHGFGIJJJIHIJJIIJJJIIJKMMMMLKKLKKKLLLLLLLLLLLLLLLMLLKKKKKKKKKJJJKJJJLLKKKKJJKKJJKKJJJKKJJKKKKJJJJJKKJJJJJJJJHIJIJIHHIIIGGFFFEFFGHHHHIIHHHHHIIIIJJIIHIJJJHGHIIHGFGFFFFGGGEFFFFFHHHHGGFEFGHHGGFDDEFHHGFEEEEFEDEEEDDDDDDDEFEEEEEDDEEDDDCDDDCCDDDCCDDDDDDEEDDCCDDDC>>>>>>>>>>?>>>>>?@AAA@?>>>>?>>>>>>?@@AAA@@@AAAAA@@@@AA@>>@@@@@@@A@@@ABBAABA@AAABBBCCCCCCCDDDDDDDCBBAAABBCCCBAABCCBBBCCDDDCCCDDCDBDDDDDDEDDDDDDDDDEDBBDFEDDEFEDDEEGFEGGFFHHGGHHFFFGGFEEFFFFFFEEFGFGGEEHJHJIJJIHHGFEGHGFGHHIHFFFFHIHHHGGGHIIHHIIGGFHIIIIIHHGGGFFFHJHGHIIIIJJJJHHJJKIJJJJJKJJJJJJIIGHJJIIJJIHIJJIIIIIJJJJJJJJJIHJJIJJJJIIJIKLJJLKJKJKKJJJJLKKKJJKJJKJJJKKJHJIIJJKJJJJJIIJKKKKJILKLMKMKKJKJJJJJJJJIJJJJKLKKKLLMLKKKKLMLMMLNMMMLLMMLLKKLMLLMNNNNNNNMNKLLMMMLLJJKJJKJJIIIIIIIIKJHHJKJJJKKJJJJMMMNMMLLMLLLLLLLLMLKKKKKKKLLLLLLLKJJJJJKKJJJJJKKKKKJJJKKKJLMKJJKLLKLLLLKJJJJKKKJJJJJJJHJJJJIGHJJJGHHGFEFHHIIHHJJIIJIIIIHIJJIGGHIJJJIJIHHIHHHGFFFGHGHGGGGJHIIIIHGHHGGFFFEDEFHHGFFFEDFEDEEEEEEEDDDEFEEEEEDDFFEDDDDDDCDEDCCDEEEEEEEEEEDDDDDD>>>>>>>>>??????>?@@@@@??>>>>>>?@@@?>?@@@@@AAA@AAA@@AAA@@@@@@@@@A@@@@AABCBAAAABBBBBCCBCDDDDDDCBCDDDDCBABCCCCBBBBCCCCCCDDDDDDDDDDCDDDDDCDDDDDDDDDDDDDCCDDEEEEEEEDCDDDEFGGFGFGIJHHHHHGFFFFEFFEGGFGFFHHFGIJJJIHIIIIHFHGFGGFGHHGHHHGIIGHIGGGIIHHIIIIHHIJIIIJJHHJJJHGJIIIIIIJJKKKJJJJJKJJJKKKJKKKKKJJJJJJJJJJJHIJIIJJIJJJJJJJJIIIIJKJJJJJJJKKJKKJJJKKKKJJLMLKJJKJJLLKLLLKKKJJHIIIJKKJJJJJIJJJKKLLKKKKLMJKKKKIJJJIJJJIJJKKKLKKKKMMMOOMLMMLLMNNMMLLLMLKKKKMOONNNMLMPOMMONNNMNONMMLLMMNNMJKLJIHJKKKKLMMMMMMLLLLLLMMMMMMMLLLLLLLLLLLLLLLKKJMMMLMMJKKJJJJKKKKKKKKKKJKKKKLLLLKLKJJLKJKLKKKKJJJJKKJJJJJKJJIJJJJJIIJJJIHHIIHHIIIHHIJJJIJJJJJJHIHHHIJJJJJJIHHHIJJIHGGGGHHHHHHHIIHIJIHIJIIHGGGFEGGGHGFFFFFEDEFFEFFFEEEEDFDEEDEGEEFFEDDDEDDEDDDDDDFGGFEEDFFEEDDDD??????????@@@@@??@@?>??>?>>>>??@@@?>>?????@@@@AA@@@@AABB@@@@@@@A@???@ABBBBAAAABBBBCDDDDDDDDDDCCCDDDCBBCCCCCDDDCCCCCCCDDDDDDDDDDDDDDDDDDDDDEEDDDDEEDDCCDFEEDDEEEDDDEFGHHHHGFGHGGHIIHGGGGGFFEGHGGFFIIHGIIIJJIIHHHHGGGFGGHHHHHHIIHIIEFHIIHHHFGIIIIIIJJIIIJJIHJJJIHJLKKJJJJLKJJJKKKKKJJKKKKJKKLMMLKJKLLKKLKKJJJHHJJJJJJJJJJJJJJJKKJJIJKKKKLMKKKKKLLMLKJKKKKKJKJKMMMNNOOOMLLLKJJJKKKKJKKKKKKKKLMKJKLLLKLKKKKLKJJJJJJKLKKLLLLMMNMMNOMMMMMMMMNNMLKKLMLKLMNOOPPPMMNOOMMOPPPNNNNMLLMMMNNNKLLKKKLMMMMMNNNNMMMMMMMMLMNONMLLLMMMMMMMMLLMMMLLKMMLKKKIJJJJKLLLLMMLKKKJJKKKLMNMLKKKKKKKKKJJJKKKKKKKKKKKKKLKKJJJJKKJJJJJJIJJJJJJJJJJJJKJJJJJJJIIIIIIJJJJJJJJJIIIJJJIIIHGGGGHIIIJHHIJIHIJIJJIHGGHGGHHHGFEGGFEFGGGFFGGFGGFGEGGFHIGFGGFEEEFFFEEDEEFDEEFFFGFFEEDDCDD?????@@@@@@@@@@@?@@?>??????>>?@@@@?>>?@?????@@@@@AAA@@ABAAAAAAAAA@?@ABBBBBAAAAABAABCDDDDDDEEDDDDDDDCCCBBCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEFFEEEEFEDDDDEFHGFFFGGFFFGGGGGGHGFGGGGHIIIHHHHHHGFHIHIHGIJHGHHHJIHIHHHHGFFGGHHHHIIIJIHIIEEGIJIHIGHJJJJJJJJJJJJJJIJJJJJKKKLMKJJKJJJKKKLMLKKLLKKJJKLMMLKKMMLLKLLLKLKJJKKJJJKKKKJJJKJJJJJJJLNMLLLMKKKLKKLNMLKJJJKLKJJLMNOOOOOOOMMMLLKLLKJKKMOONNMLLMMLJLMKMNMLLLNNNMKLMLKLLJLNMLMMOONMNOOOMMMMMMMNMLLLMMMMMOOOOPPPNNNONNNOPPPONNNMNNOONNOOMMLLMNNNLLLMMNNOMMMMMMMMNNOONMMNMMNNNMMMMMLMMMMLLMLLKLLJMLKLMNMMMNNMLLKJKKLLMMMMLKKKLKKLKKKJKLLLLLLLLLLLKLMLKJJJJLLKJJJJJJJKKJJJJJJJJJKJJJJJJJIJJJJJJJJJJJJJJIIJJJJJJJIHHHHHIIIIIIJJIIIIIJJJHGHIIIHHGGGGGGFFGHIIGGGGGGHGGFGHGHJHGGGFFFFFFFEDDEFFFEEFGGGGFEDDCCCD????@@@AA@@@@??@@A@@?@A@@@@??@@????>?@AA@@??????@BCBAAA@BBBBBBBBAA@ABBBABBBBAAABBBABBBBCCDDDDDDDDDDDCCBBBBBCDDDDDEEEEDDDDDDDDDDDDDEEDDDDDEEEDEFFFEDDEFFEFFFGGFFEFFFFFFFEFFGHIHHHHHIHHHHHIIGIIIJJIIIGGGHIJHGHHHIHHFGIHHIHIJJJJHHIIFGGHIIJIGHJJIJJJJJJJJJJKJJKJJJLKKKLKJIJJJJKKJJMMLLLLKKJKKKLLLLKLLLKKKLMLMMMMMLKJKKKLLKKKKJJJJKLNNNNNMLLKJKLKJKMMMLLKKLMKJKNNNOOOMLMNMLLLLMMNLKLNOPPOPPMNLMLKMOLMOMMMMPOPONOPPNMLJLNLLMMPPOOOOOONLLMNMMMMNNNNMNOOPPOOPPPNOOOOOOOPPPOOOONOOOPOOPPONMMMNNNNNMMMNOPNNMMMMNOOOOONMMNMMNNNMMMMMMMMMMMMMLMLMNKNMLNONNMMNNMLMMLLLLMMLLLKLLLKJKNLLLMNNMLKMNMMMMLKLMLKJJKKLLKJJKLJJJKJJJJJJJJJJJJJIIJJJJJJJJJKKKKKJJJJJJJJJJJJJJIJJJJJJJJJJJJIJJHJIIIIIHHJJJHGHHHGGGGHIIIHGGGFGHHHGGGGHIHGGGGGGGGFFEEEEFGGFFGGGFFFEDDCCDE????@@AAAA@AA@@@@AA@@AAA@A@??@@??????@ABAA@@@@@@ABBBBBBAABCBBCCBAAABAAABCCCCBBBCCCCBBABCBCDDDDDDDDDDDCCBBCCDDDDDDDEEEEDDDDDEEEDDDEFFEEDDDDDDDEFFGFEDDEFFEEFGGGFFFEEFGHHGDEGIIHGGGHIIHHIIIJHIIHJJJJIHHIIJJIIIHHIIJHIJIIJJJJJJIGHJJHHHGIIJIHIJJJKLJJKKKKJJKJLKJJJKNLJJJIJKJJJKKJJKLJKKKKKJKKKKKLLMLLLLKLMNNMMLMMMLLLLLLLLLMMLKLLLMNMMMNONLLKKLMLLLMMNMMLMMLKNPOOOOOMLMMMLLLLLMNMNOOPPPPPPNNKKMLMNLLMLMOOQPPPPPPPPOOLMMKKNNOOOPPOONOMLMNNMNMNOPONOOPOPPPOPPNOOOOOOOPOOOPPPONMNOPPPPPONNNNNOOOONMMNNNNNNNOPPOOPPPNLLNNNNNNNNNNNNNNNNNNMMLMNLNLLMOONNMNNMMNNMLLMNNMLLLMMLLKLOMMMNOONLKLMMMMMLLLLLKKKKKLLLKJKKKKKKKKJJKKKKKKLLKJJKKJJJJJJJKKKKJJKKKJJJJJJJJJJJJJJJJJJJJJKJJJJHJIHIIIHGHJJJIIIIJJJJJJJIHHGGFHIIIHHHHIIHGGGGGHHHGGGGGGGGFFFGGFFGFEDDDDDE?????@@@AAAAA@@@@AA@@@@@@@@@?????@@?@ABBAAAAAAAABBBABBBABCCCBCCCBBBAAABCCCCCBBCCDDDDCBCDCCDDDCCDDDDDCCCDCDDEDDDDDDDEEEDDDDDEEEEEDDEEEEEEDDDDEFFEGGGEDDGIHGGGGFGHDDDDFGGFFGHHHHGGGHIIIIIIHJJJIHJJJJIJJJJJIIJJHHJKJJJJIIJJJJJJIHIJJIIIIJJJJJJKJJLLJKKLLLKJLJLLJJJJLJJJJJJJKJJJLKJJJJJKKKKKJKKLLLMMMMMMMLNOONMLMMMMMNMMLLMMMMMMNMMMMMMMNNNNMLLMNMMMMMNNMMMMNNPPPPPPOOONMLMOMMNNNMMNOOPPQRQPOLKMMMMMMMMOPPQPPPQPOOPPPOONMMONOOPPPPONNNNONNNONNOPPPPOPOOPPOOPOOPOOPPOPOOPPPPOONNOPPPOPPOOOOOPOONNNNNNNNOOPPPPPOOOONMMNNNNNNNNNNNNNNNNNNLMLMNMNMMNNNNNNNMLMNNMMMNOOMLLMMLLMMMMNMNOOONMLMMMMMMMMMMMLLKLLLMMLJJJLLLLLMLKLLLLLLLLLKKLLKKKKKKKKKKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIIIIIIHHHIJJJJJJJJJJJJJJIIIHHHIHHHHIIJIHGGGGGHHHGGGGHHHGGGGFFEFHGGFEDEEE??>>?@@?@@AAAAA@@A@@?@@@@@@@@@?@@AA@ABCBBBCBBAABBBBBAAAABCCBBCCCBBBBBBCDCCCCCCCCDDDDDCDDDDDDCCCDCCCBBCDDDEEEEDDDDDDDEFEEDDEFFFFFDDDEFFEFEFFFGHGFGGGFEFHJIGGFFEFGHGGHIJIIIIIHHHHHHIIIIIJJJJJJJIJJJIJJJJJJIIJKJIJJJKKJJIIJJJJJJJJJJIJJJKJJJJKJJJJJKLLLLLLKMJLLJKKJIIJKKKJJKJJKKLLLKJJLKKLKJKLLLMMNNNNNMMNOPONNNNMMNNNMLLMMLMMMNNMMNNNNNNOONNMMMNMMMMMMMNOOPPPPQQPPPPPOLLMOMNOOOMLLOPPPQQPPPONNMMNOPOPPPQPPPPQPOOPPPPPPPPONPOPQPPPOOPPOOOOPPPPPQQPPPOPPPPPOPPPPPPPPPPPPOOOOPPPPPPPOPPPPPPPPNOOOPPPPOOOPPPPOPPPOOOOOOOOOOOOONNNMMMNNNNMNMMONNNNNNNNNNMLLMNNMNNNOONMMNNMMMOOLNNNOOONNNNNNMMMNNNMNMMLLMLMMMLKKMMMMMNNMKLLLLMMMMLLLLLLKLLLLLLLLKJJJJJJJJJJJKKJJKLLLLLKJJJJJJJJJJJJJIIIJJJIJJJJKJJJJJKKKJJIIIIIGGHHHJJHGGGGGGHHHFGGGHHHHIIHGFFGGGHGFFGGF@?>>?@@??@AABBA@@AA@@AAA@@@AA@@AAAAABCCBCDDCBAAAAABCBAAABCCBABCBABBCCCCCCCCCDDDDDDDDDDDDDDDDCBCDCCCBBCDDFEDDDEEEEEDDEFFEEEFFFFFGGEEFFEEEFGHHHIHGHHHHHHIIIHHHGGGIGGGGHIIHIIIHGHHIIJJJJJJJJKJJJIJJIIJJJJJJJIJJJJIHJLMLLJJJJJJJKKJJJJKJJJJJKLMLJKKKLLLLLLLLMJLMLMLJIJKLLKJJJKLKJKLNLKLLLKKKLLLLLMNNMMNNNMNOPONMNNNNNNNMLLMNNNMMNNMNNNNNNOONOONMMMMMNNNMNPPPQQPPQRPPQQPNMMMNNONOONMNOPPPPPOPPQPONOPQQPPPPQPQOOPPPQQPPQPOPPPPPOPQPPPPPPPPPQPPPPPPPPPPPPPPPQPOPPPPPPPPPPPPONOPPPPPPPPPPPPPPPOONNNOOOONOOOOPPPPPQPPPPPPPPOPPPPOOONNNNNNOONNNNONMNONNNNNNMLMOOONMMMOONMNNNONMOOMMMNOONNNONNONMMNNNMOMNMMMLLMNMMMNONMNNNNKLLLMNNMONMLLLKJLLLKKLLLLKKKKKJJIJJKKKKJJKKKKKKJJJJJJKKJKKJJIJJJKJJJKKJJLKJJKKKKJJIIIJJIHIHHIJIHHHHHHHHHGGGGHIIIHHHGFGGFGHHFFHGF@?>?????@@AAABBAAAAAABBBAABCCA@AAAABBBDBCDDDBAABAACDCCBBBCCBABCCBABCDDDCCDDDDDDDDDDDEEEDDDDCDDDCCDDCCDDDFEEEEEEEEFFEEFFEDEFHIIIIIGFFFEEFGHIHIGIJJJHIIJHHHHHGIJIFFIIHHHIJHHHIIIIIIJJJJJJJLKJJJJJJIJJJKJJJJJJJJJJJJKMLJJJJJKJJKJJKLKJJKKKKKKMNMLLLMMMMMMMNMLLMLKJJJJJKLLKJLMLKKKLMMKKNLMMMLLLMMMNNMLNONMMNPPLNMMNNNNNOOOOOONNNMMOOONOOPNONPNMMMNMLMPPMPQQPPPPQRQPPPRQNLMNNMNNONNOPPPPPPQPORQQQQQQRRPOPPPPQQPPPQRPPPPPPOOPPQPPPPPQPQPPPPPQPPQQPPPPQQPPPPPPPRPPQQPOPPOOPPPPPPONOPPPPOPPPPOOOOOPPONNOOOOOOPPPPPQQQQQPPPPPPPPPOOOOOOOOPPONOPPOMNOONNOPONMMNNNNMMMNNOONMNNNOOONNMNOOONNNONMLMNOONNNONNNLMMLMOONONNNNONNNNNONLNNNNMMMMMLLKKKLLMMLMLKKLLLKKKKKKKKKKKKKKLLMKJKLLLKLKJJJJJJJJJKKKKKLLKKLLKJJJJJJJJJJJHJIHJIHHHHHIIHGHHHIJIHGGGGGHHGFGGGHHGH@?>?????@AAAABCB@@@@@ABCBBCDDBAB@@BDBACBABBBBBBCBBCCCBBCCDDCBCCCCCCDDDDCCDDDDEEEEDDEGGFDDEDDDDDDDDEDDDDDEEEFFFFEFGGFFGGFEGIJIHIJJIHHHGHHHHJHJHIJIJIJIIGHIHHHIJJIGJIIIHHHGIJJIIIJJJKKJKKKKJJJKLLLJJJKMKJKKKKKKJJJKLMLJKKJKKJJKKJKLKKKLMMMMLLLLLMLLLMMMMMNNMMLLLMLMLJJKKLMNNMKKJKLNMMPNNMMLLLMMNNNLLMNNMMNPPKMMMNNPOOOONNNOPPPOOPOONONNMONMOPOONNNNPPPQQQQQQQRRQPPQQPONOOOPONNNOOOPQQPPQQPQQQQQQPPQPPPPPPRPPPPPQPPQPPPPPPPPPQRQQQPPQQQQQPPRRQPPPPPQQQPPPPPQPPPPPPPPPPPPPPPPOOPPPPPPPPPOOOPPPPPPONOPPOOOPPPPPQQPQQQPPPPPPPPOPPPPPPPPPPOOPPONOPONMNOPONOPPOPOONNOOPPONNOOPONNNOOONNNNOONMMMNONNNNNNNNNMLMNONNOOONNNNNNMNMLMLLLMMMMLLKLMMMMLKLMMMLMLKKKKLLLLLKKKKJKKKJKLLKJJJJJJKKKKKJJJKLKKKKLLKKKJJJJJJJJJJJIIJJIJJJIIHHHHHIJIIJJIHGHHHHIHHHHGHIIHI@??@@???ABBBABCB@??@@@ACBCDDDCBB@ABDCABCBBAABCCBBCCCBBCDDDDDDDDDDDDDDDDDDDDDDEEFGEDEGGFEEFFEDDDEEDEEDDDDEEFFGFFEFFGFGGGGFGIJIGHJJJIHHIIIJJJJKJJJIJJJIIHIJIHIIJJJIJIIIHIHHJKLJJJJJKKKKKLLKKJJJKLLKJJKMKJKLLLLLKKKMMMLKKLJLKKKKKKKLLLLMMMNMLLMNNMLLMNNMMMNMMMLKMNNNLKKKLLMNNMLLKLNNMNPNNMLMMNNNOONLMNNONLNOOLNMMNOPPOOOPPPPRSRPPPNNNOOOMNNLNPPONNOPPPPRPQRRQQRSRQQRQPPPPPPQPOOOOOOPRRQQQRQQQRRQQPPPPPPPPPPPPPPPQPPQQQQQQQQQPPQPPPPQRRQQQQPQQPPPPQRQQQQPPPPPPPPPQQQPPPPPPPQPOOPPPPPPPPPOOPPPPPPPPOOPPPOPPPPPPPQQQQQQQPPPPQQPPPPPPPPQPPPPPPPPPPPONOOPOOPPPPPPPONNPPPPONOOOONOOPOONOOOOONMMMMNNNNNMNOOONNMNNNNOPONOOOMLKNNNONMMLLLLLLPONMKKLMMNNMMMLKLLLLMMMLLKLLKLLJKMNNLKKLMLLLLLKJJJKLLKKKKLLKKKKJJJJJJJJJJIIKKJJJJJJIHHIIJJJIJJIHHHHHHIJIIHHHIIII@@@AA@@ABCCCBBCBA@@AA@@BBCDCCCCBAAACB@BCCBBBCCBBBCDDDCCDDEEDDEEEEDDDDDEDDDDDDEEFGFEFFFFHGHHGEDDEDDEEEDDEFFFFFFFFFFFGGGGHGGGIIHHIJJIHHIJIIJJIJJKJIJIIJJIJJJIJJJJJJJIIJJJJJJLLLLKKKKKKJKLLLLLKJJJKLKJJKLLLMMMMLMMMNMMMLLLKLLLLKKLKLMMMMMMNLLMNNOMKMOPONMNMKLMLLMNMMLLLMMMLMMLMMLLPNNNONNMMNOPPOPPNNONNPNLNOONNNNOPPPOOPPRRRSTTRPONNPPQQPONOOOOOOOOPPQQQPPRRQQRSRQRSRQRRQPPQPPPPPPOPRSRRRRQRRRQQRQPPPPPQRQPPQQPQRQQQQQQQQQQRPPPPPPPPRRQPQRQSSQPQPPPQQQQPPPPQQRQQQQQQQQQPPQQPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPOOPQRSRRQQQQPPRRQPPPPPPQQQQPPPPPPPPOOOPOOPOOPPOOPPPPNNPPPPONNONOOPPPPPPPPPPPONMNNONNNNMNOOOOOONNNOPONMNPPPPNOOMNMNNNNNNMMLMMMMLMNONMMMMMLMMMMMMMLMLLMMMMKLLLLLLLLLJJJJKLKJKLMLKKKLLLLLLLKJJJJJJJJJJJKKJJJJJJIHHIJJJIIJJIHHHHGHIJJIHHIIIII@@@ABAAACCDDBBCCBAABA@?ABCDCCDCBBA@BB@BCBBBBCCBBCDDEDDCDEDDEEFFFFEEEEEEDDDDDEDDEEFFGFFGHHHHGFDDEDDEFFFEGGGFFFFGGGFFGHHHJHGFHJIIIJJJJJJJJJJJHJJKKHIHHJIIJJIJKKJJJJKJIJJJJJJLLLLKKLLLKKKLLLLLLKKLLMMKJJMMLMNNNMMMNMMNNMMMLMMMMLLMLMMNNMMNOONNMLMMLMOPONNNNLLMNMMMNNMLLMMNNNMMMMKKNOOOOONNNNOPPOOONPPONPOMNOOPOOOPPQQPPPPQQPPQSRPPPPRQRSRQPQPPOPPPPPQRRQQQQRRQRSSRSRRRSSRQQRQQRRRQQQRSRRSSQRSRQQRRRRSRQPQRSRRSQQRQQRRQRRRRQQPPPPPOOPQRRRQQPSSRQQQPPRQQQQQQPQSSRQQRRQQRRQQQRQPPQQPPPPPQQQQQQQQQQQPPPPPPPPPOOPPQRRSRRQRQQRSRPPQPPPPPQPPPPPPPPPPOOOOOOPPPPPOPPPPPPPPPPPPOOOOPPPPPPPQPPPPPPOOOOOOOONMNOOOPPPPPPQPONNNONNNNPPPQPOOPPPPONNNOONNNOONMMMMNMMMMMNNMLMLMMMNNLLLLLMNMLLKJJJKLLKLMMLLLLMLLLMNMKJJJJJJJJJJJJJJJJJJIIHIIJJJIIJJIHHIHHHIIIIHIIHHII@?@ABBABBCDDCCCCBBBBB@@ABCCCCDCBBBACDBBCCCCCCBBCDDDDDDCDDDDDEEEFFEEFEEDDDEDEEDDEDDEFGHGGGHHGGEEFFEFFGGFHHGFEEFGHHGGHHHIIIHGHIIIJJJJJJJJJKJJIJJJKGJJIJIIJIIJLLKKLJLJJJJJIIJLLKJJKLLKJKLLLMLKLNNMLLMMLKNNKMMNNNMLLLLNONMMMMNNMLMMLMMMMMNOPQQPOMNNMMNONNOPPOMNONMNOOMLLMNNNONNOOLKMMNNNONNNMNPPOOONPPONOPOPPPPOPPPPRRQPPQPPPOPQRQQQRSQPRSRSRRQPPPPQQRRSQRRQRQQRSSRSQQRSSRRSSSSSSSSSRRRRRSSRRRSSSSSSRRRRRRRRQRSQRSQRRRRRSSRRRQPPPPPPPQRRQQQQQRQRSSRSSRRRRRRRQSTSRRRRRRSSSRRRRRRRRQPPQQQQQQQQQQQRQQQQQPPPPPPPRQQPQRSSRRRRRSRPQQRRRQPPPPPPPPPPPPPPPPPPPPPPPPPQPQQQQQQPPPPPPPPRQPPPQRQPPPQQPPPPOOOONNNOOPPPPPQRQPPPPPPPPPPQPPPPQPPPPPPOQPPNNMNPONNNNNNONNNNOONMLLMMMNNMMNOOOOONNMMKJKLKKMNNMMMMNMLLMNMJJJJJKKKKKJJIJKJJJJJIIIJJJJJIJJIIIJJJJJIIIJJJHHJI@?@ABBABCCDDCCCCCBBBBAAABBBCCCCCCCBCDCCCDDDDCBCDDDCDDDDDDDDEEEEEEDEEEEDDDDEEEDDFDDEEGIHGGHHGGGGHGFGFFFFGGFFEEFHIHGGHHIIHIIHHHIIJJJJKKJJJJJJIJIIJHJJJKJJLJJJLLLKLKLKJJJJIIJLLKJKKLLKJKLLLMMMNOONMLMNNMMMLLMMMMMLLLLNNMMMNMONMMLKLLLLMNNOOPPQQPPPONNNOOPPPPOOONNOOONMNNNNNOOOPPNMNMNNLONNNNNOPOOOONOPONOPPPPQOPPPPQRQPQQPPPPPPPRRPQTQQRTRSRRRQQQQQRRRTRSSQSRQQSRRSRRRRSSTTSSSTTTTSSRRRSRRRQRSTSRSSRPPRTSRQQQRQRSRSSRRSSSRRSSRPPQRRSRRQQPRSSTSSSSRRSSSSSSSSSSSSSSSSSSTTTSRRSSSRQQQPRQQQQRQQQRRRRRRRQPPQQQQRRRQQRSSSSSSRRQQQQRRSSSQPPPPPPQQPPPPPQQPPPPQPPQQQQRRRRQQPPQQPQQQQPPPPQRQPPPQQPPPPPOOONNOPPPQPPQRRRQPRRRQQPPPQQPRQRQPPPPPPMMNOPONNNNOOONOPOONOOONMLLMNNOONMOPOOONMKLMLKLMLKMONNNNMNNMLLMLJJJJKKLLLKKKIJLJKKJJJJJJJKKJJJJJJJJKKJJJJJJLJHIJI@?@ABBAACCDDCBCCCCCBBBBBBBBCCCCCBDBBDCCCDDDDCCDDDDCDDEDDDDDEFEEEEDDDDEEEDDEEEDDGDFFEFIIHHJIHHHIJHHHFEFFGFFFEEGIJHGGHIIIHJIHHIJJJJJKLLKJKKJJJKIJJJJJHKJJMLKKLLKKKKMKJJJJJJJKLMMLLLLKJKMMLMNOPONNNNMOPNMMMMMMMMNNNMMNNLLMNMPOMMLKLLLMNONNMMNPPPQRPONNOPPPPPPPPOPPOPONNOOOONNNOPONOOPOMPOPPONNOPPPPLNPOMNPPPOPNPPPPRRQPQRQPPPONOQQNQUTTTURRSSRQRSRRRQQUSTSRTSQRSRRSTSRRSTTTRRSTUUSRRRSTSRQRQRSSRQRTUTSSSRSTRRSQQRQQRRRSSSRRRTTRRSSRSRRSRQRTRSSSTTTURSTTSSSTTSSSTTTSSSTTTSRRSTTRQQPPQPPQRRQPQRRSSRRSQQQRQPPPQRSUUUTSSSSRQPQRRRRRSSRQQQQQQQQPPNNPQRPOPPQPPRRRRRRRQQPPPPPPQRQPPPPPQRQPPQQPPPPPPPOOOOPPPRRRQRRPTRQSSQQRRQPPPPPOOPPPQQQPSQPPPOOONOOONNOPPOOOOONLMMNNNOPOPPPPPPPNNOPNKLMLKMOONNNNNNMLKLLKKKKKKLLLKKKIJMKKKJJJJJJJJKJJJKJJJKKKJKKKJKMKIJJIBBBBBBAAAADACADCCCCCBABBCCA@ADDDCBACDCBDDDDDCDDDDDDDDEDCCDDDDDDEEDDEFFEDDDDDEFFFFHHGGGHHHGIJHHJJJIHGHIIHHGGFHJJJJJJIJJJHIIHHHJJILJJJJJJJKKLLLKJJJJKKKKKKKKKLMNNLJJJLNNLMJJKMLLNMNMLNLONLNLKMOPOONNNNMNNOONLNNPNMMNOONMNONNOONMMMNNNOOONMNNPPPQRPOOPPPOMOPPRRPPOPPPPPPPPPOPOPPPPOPPPOOPPPPPPQQQQPPPNNPPPQPOPPPPPPQQQPPRSPPPPPPPQPQSTTSRSSSSRRSTSRRSSSSSSSSSQSQVSSUTSSSTSRRSUUTSSSSSSSSSRRTTTTTTSSTSSSSSSRSSTTSSSRSTSSTUTTVTUUTSRRQRSRRSTTTTUUVUUUSRQSTSRTVTTTUUUTSSSSSSRRTUSRRTTSSTSSSSSSRRRSSRRSSSRQQQQRSSSSTTTSTTTTTRSTSSRSTTSRSTTRQRRRRRQQQQQQQQRRQQQRSSRRRQQQPPQRQPPQSSRSSRPQRQQQQQQPPPPPPPPPQRPRPSPPQQQRRRRQQPPPPQQPPPPPPQPOPQPPPPQQQPPOOONNMMNOOOOOOOOOOOOONOPPOOONNOPPOOOONONLLNOOONNMMMMMLLLLKJJJIJJJKLKKKKLLLKJJJKKJJJLLLKKJKKKJKKKKJJJJABBBBBBAABDBCBDCCCCCCCCCACCCDDCCCCBCDDCCCDDDDDDDDDDDDDDCEEEEDDEEFFEFGGFEDDEEFFFFGGGFGHHHIGHJIHIJIIIIHHHHGFHGHJIJJJJIJJJIJJIHHJJIJJKMLKKKKKLLKKKKJJKKLKLLKJKKLMMKKLLLMLLLLJKLLLMMNMMMLNNMONMNOOOONNMNNNNOMNMOOPNNNNOOONNPNNOPONNNOOOOONNMNNOPQRSQOOPOOOOPPPQQPPOPPPPPPPPPPPOOPPQPPPPOOPPPPPPQPPONNOPPPONPPPPPPQPPQQRQQSSQRRQPPPPPSSSTTUTRSSSRRSSSSSSTTTSTTSSRSTSTUSSTSTTSTTUUSSSSSSSTTSSSUTSSSTTTUTRSTUSQTSSSSSTSTTTTUVUUVTTTSSRSRSSSRSTTTTTTUVVVTRRSUTSTUTSSTTTSTTTTTTSSTUSRSTTTTUTSTTSTSRSSSRRRRSSSSRRRTTTTTTTTUTTUTSSTRRRRSSRQQSTTSSSSSRRRRRRQQQRRQQRSSRRQRRQQQQQRRQQRSRRSTRPQRSTTSRQQPPPQQQQPRRPQPSRRSSRRRRRQRRRRQRRQQQPPQRQPPQQQPQQQQQPPPPPPOOOONNOOOPPONNOOPPPOOOOPOPPPPPPPPPPNMOPOOONNNNNNNNNMLJJJJJJJKMLLLLLMMMLLLMLLKLLMKKKKKKKKLKKKJJJJABBBBBBB@BDCBBBCCCCCCCDDBCDDDDBCBDCCDDDCCCDDDCCDDDDCDDEDEDDEEEEFGGGGGGGFHGGGFEDDHGFFHHHHJGGJJIIJIIIIHGHIGGIIJJIJJJKJJJJJJJIIIJJJIJLMLKKKKKLKKJKLLKKLMLLNLLLLMNNLMNNMMLLMLKKMLLMMMNNLLMNNOOOOONOOOMMOONMNMNNPOONNNOOPONNONOOPPOOOPPPOOOOONNOPRTTRPPPPOPQRPOPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPOMNOPPONQPPPPPQQPPPRRRRSRQQQQPPQSTTTTUUTRSSSSRRSTURRTTSSSTSURURSUTSSUTTTSTTUUTSSSSSTTUTTTUSSSTTTTUTSTUVTRSSTTTTTSTTTTVVVVWUUTSSSSSTTSSSTTTTSTUVVVTSRTUUTUVUTTTUTTSSSSTTSRTUTSTUUTUUUTTTTTTSSTSSRRSSSTUUTSTUUUTTTTTTTTTTTSSSRRRRRRQSTTSSSSRRQQRRRRQQQQQQRRSRQQRRRRSRRSTTTSSSRSTSQRRTVVTSRRQQQQRSRPQRQQQRSSTSRRRRQQRRRRRRSRRRQQSSRRQQRRRQQQQQQPPQQPQQPONNOOPPPOMMNOPPPPOOPPPPPPPPPPPPPOOOPPPPOOOOOOMLLMMLKLKJKJKMKKLKLLMMMMMMLKKKLLKLLLKJKLLKKKJJKJABBBBBCC@BCDBBBBCDDDCCCCDDDDDCCDBDDCDEDDDDDDDCCDDDDDDDEFEDDEEDDEFGGFFGGGFFGHHGFGHHGGHHHIIHHIIHHIJJIHGFHJJIJJJJJJJKKKKKJJIIJJJJJJJJKJIJJKKLLLKJKLMLLMMLMNMMMMMOOMNOOMMLMMLLLMMMLLMONKMLNOOOOOONOOONNOONMLNOOONNOOOOOPONNNOOOOOPPOPPPPOOOPONOPRTTSRPSQPRTSPOPPPPPPPPPPPPPPPQPQQPPPPPPPQPPPQPPPQQQQPONOPPPRPPPPPQQQPPQRRRRRPPPPPPRTTVVVUTTTSSSTSSTUUSRSTSRSRTVSUQRVTSTVUTSSTTUUTTTSSSTUUTTUTTTUVUUTTTUUUUUUSSTUUUTSTUTTUVVVWUVVUUTTTTTTTTTTTTTTUUUUUTSTVVUUUUTSSSSSSSTUUUTSTUTSTUTTUVUTUUTUUTTTTSSTTTTUUUTTSTUUTTTTSTTTTUTSSSSRRRRSSSSSRSTTRQQQRSSRRRRRRQQRSRQQRSSSSSRRSUTSSSSTTSSTTTUTSSSSRRRSSRQQPQSRSRSSSRRQQQQQRRRRQQRRRQQRRSRRQQRSSRRSRQQQQQQQRSRPNOPPPPOONMNOPPPPPPPPPPPPPPPPPPPPPPPPPPPOOOOOONNOOMMMMNNMMNLMMMMMNNNNMMMMMMMMLLLKJJKLKKKKJJKJBBBBBCCCBCBDCDCCCDEDCCCCFEDDEDDDDDDDDDEFFEEEDDDEFFFDDDDEFFFGEDDEFGGFEFGGFFGHHHHHHIHHIIHIIIIHHGGGKJHHGGIJKJJJKJJJJJJJKKJJIIJJJJJJKJJIHJJKMMNNLKLMMMMLLMNNMMMMMNNLMNMLLMMMNMLMMMMMNONKMMOPPPOOOOOOOOOMNONLNOOOOOPPOOPPONMMOOONOPPPPPPPPPPPOOOPQRRSSRTSQSSRPPPPPPPPPQQPPPPPRSQPPPQSQPPPPPPQQQQPPPQQQPPPRQPQPOPPPQQQQQQRSRQRRQPPPPQRUVVVUTUUTSSTTTTUUUTTSSTTTVVSTTSUUSTVUTTUTTTUTUUUTTTTTTUUTUVVVUUUSUVVUTUVVUUUTUVUUVUUUVVVWUVVUUTUUTTTUUUUTTTUUVUUVUTUVVUUVUTTSSSSSTTUVVUTTUTTUUTTUVVUVVVVVVUTTTTTTUUUTTTTSTUUUUTTTTTTUUTSSSSSSSSTUTSSSTTTTSRSSTSSSSSSRRRSRRRRRSSSRRRQRTTSRTTTTSSUUTSSSSSTRQRTTRQRPQTSTRSSRRSRRRRRRSTSQQRSRQQRRRRRRRRSSRSTSRQRRQQQRSRQPPPPPOOOOOOPPPQPPPPPPPPPPPPPPPPPPPPPPPPPOOOOOOOOONNNNOPMMMLMNMMNNNNNMMMMMMMMLLLKKKLLKJKLKLLKCCCCCDDCCCBDCDCDCEFEDDEEFFEFGFDDEDEFDDEFEEFFEDDDFFFEDDDEFFGGFEEFHHHFEFFGIIHHHHGFIJJJJJJJIJJHHHGHJJIIIIJJLKJJKKLKKJJJJKKKKJJJJIJJKJJJJKKKMNNNMLLMMMMLLNNNMMMMMNNMMMLLMNMMONLKLLMNOONMNOPPOOOOPPPPPPOMMOPOOOPOPPPPPPPPPNNNPPOOOPQPPPQQPPPPOPOPPPPRQPSSRSSRRQQPPQPPQQQQPPPQSSQQPPQSSQPPPPQRRRRQQQPPRRQQRPPQRPPQQQQRRRQRSRQRSRQQRRSSUVVUUVUUTTTUUUTTTUUUTTUUVVSRSVTTVTTUTTUVVUTTTUVVUUUUTTUVVVVVVUUUUUUUUUUVVVVVVVVVVVVUVVVVWUVVTUUVVUTUVVUUTTUUVVVVVVVVVVUUVVUUUUUUTTUUVUTTTUTTUUUUVVVVVVVVVVUTSSTSSTUVVVUUTUUVVVUUUTTUUUTSRRSUUTTTUTSSUUTTUUUUUTSSTSSSSSSSRRRSSSSSRRRQRTUUSTUTTTTVUTSSTTTSRQRTTRRTQRUTTSTTSTTTSRSSSSTSQQSTSRRRSRRRSSSSRRSTTRRSSQQQQRRQQRRQPPPPPOPPPQQPPPPPQPPQQPPPPPPPPPPPPPPPPPPPMMNNNNNOMNNKJLKMMMMMNNNNMMMLLLLLLKKLLLLKKKLMMMMLDCCCCDDCCCBDDDDDDEFEFGGFEEEFGFEEFEFFDDEEEEFFFEEDEEFFFEFGFGGGGGGGHHHGFFGHHHGFHJJIJKJJJKJIIJJIIIIJJJJJJJJKKLJKKKMLKKKKKKLMLLKJJJJKLKKLLLMLLMNNMLMNMMMNNNNNNLMNNNNMMMMMOONNNNLLMMMOPOOPOOOPNOOOPPPPPPOOOOPPPPQPPPQPPPPPPOOOPPPOPQQPQQQQQQPPPPPPQPPQPPRRRSRSSRRPPQPPQQQQQQQQQRQRQPPQRQQQQQRRQRRRQQQQRSRPPPPQRPQQQRQQRSSSTSRSRSSSTUUVUUUUVVVUTUVVUUUUUUUUUUUVVUTTUVUUVUUUTUVVVUUUTUVVUUUUUUUVWVVVVVVVVVUUUUVUUUVWVVVUVVVVVVVVWVVVUUUVVVUVVVVVUVVVVVVVVVVUUUTUVUTTUUUUUVVVVVVVUUUUUUUVVVVVVVVVVVUTTTUTTTUVVWVVTUVVVVVVUTUUVUTTSRSUVUUUUTSTUUUTUUUUUTSSTTSSSSSSSSSSSSSSRSSRSTUURTTTTTTUUUTUUUTSRRRSSSSSRSUTTSTUUTTTTTTTTSTSSSTSSRRSSRRRSSSRRSSTSSSRSSSRQQQQRRRQQPPPPOOPQQQPPPPPQPPQQPPQQQQQPPPPPPQQPPPPPPPPOOONNOOLLNMONNNOOOOOOOONMMNNMLKKLMMMLLLMMMMLDCCBCCCBCCCDDCDDDEEDEGGFDDDDEDEFFEEEDDDDEFFFFGFFEEFGGGGIIHHGHIIHHGHHGFGHIIGFHKKJJJJIJKJHIIIIJJJKIJJJJKLLKMKKKJMKJKLLKJKMMLLLLKKMPNMNNMMNLLMNMMNONMNOPONNMLLNNMMMMMMNONMNMNMNOONPPNNPNONOOOOOOPPOPOPQPOOPPQQOPPQPPPPPPOOOPPPPPQQPRQQRRRQPRRQQRQPQPPQQQQPQSRSQPRQPPQQRSRQPPRQRQPPQPQQRRRRQQQQPPPQQQSRQRQPQQPQPPSRQSUUUVUTVTUVUTUUUUUVVVWVVUVVVVVVVVUUVVUUVUTVWVVVVVVVUUUVUVVVVVVVUVVVVUUUVWVVVVVVVVVVVUUVVUUVVVVVVVWWVWWVVWVXWVVVVVVVVVUVWVVWVVVUUUVUUTTTUVUUUVVVVUUUUUUUVVVUUUUUVVVVVVVUUTUUUUVVVVUUVVVUTTUVVUUUVUUUVVUUVUSSTUUVVVUUUUUUVUUUTTSSTUTTTTSSSSTTTSSSSSSSSTTUTQSSSTTSSUUUUUTSSTTTRSTSQQSTTTTTUUTSSTUUUTSSTTTTRSRRSSRRRRRSRRSTTSTTRSUUSRQPQRRQQPPPPPOPRQQQQPPPPQPPQQPQQQQQQQPPPPPQQPPPPOPPPPPPOOOONOPNNNNOOOOOOOONMMMMNPNLKLMNOMLMMMMMLDDCDDDDDDCCDDDDDEDDEFFFFEFEDDEFGFEEEEEEEDGGGFHJIJHGGFDFIJJIHHHIIIHHHHHIJHHHIHIJJJJHIIJIJJJJJJJJJIIJJJKKKKKJKLKLKJJKKLLMMMMMNMLKKMNMMLMNNONMMNNNNNMMNONNNNNOONMNNNNNNOOPPONNOPOOOOPOPNNMNOPPPPOPOPPQPPPPPPPPPQQQQPPPPPPPPPQPPPQQQRSSRRRRRRQRRQPQPRPPRRQPPQRRQPQQPPQQQQRRRRQPRRPPRQQRSRRRRSTTSRTTSQTSSSRSTSSRRRSSRSUUUVVUUVVVVTTUUVVVVVVVVVWWVVVWVVVVWVVVVVVVVVVVWWVVVVVVVWWVVUUUUVVUUUTUVVVVUVVVWVVVVVUVVVUUUUUVVVVWWWWWWWVWVUVVVVVVVWTVWVVVVUUUVUUUTVTVUVUUVVVVVVVVUUUVVVVVUUVVVVVVVVVVVUUUUUVUUVVVVVVTSSVVVVVUVVVVVVVVWVVUUUVVVVUUUUVVUVVVTTTSSUUVUTTTTUVUSSUVUSSSSSSTUTUTRSTSTTUUUTSSSSSSSSTTSRTUTTTTTTTSSSTUUTSSSSSSRRRRRRRRRQRSRRRRSSSTTTTSTRRSSRRRRPPPQPPQRQQRRRQPPQRRRRSRQPPQQQPPPPPPQPPPPNPPPPPPONOPPQQPPPOONOOOOONNOMKLOPOMMMMNNNNNNMLLMDDDEDCDDDDDDDCDDDDDEEEEEFFEEEFGGFFFFFGGGGGFGFGJJJHGGFFHJJJJIIIHIIHHHHHHJIHIIIIIHIJHIJKJLKKKKJKKKKKJJKLLKLLJKLKLLJKKLLLMNNNNNNMMLNMMNMLMPPONNOOOONNNOOOOONNNONOOOOOOOOPPPPPPOOPOOOOOPNOOPNPPPPPQQQQQPPPPPPPPQQQPPPPPPPPPPPRQPQRQQRSSRQRSSTSSSRRQPRQQRRQQQQQQRQQQQQRQQRRRRRQQRRQQRRQQRSSSQPQRQRSTTTVTUUTSRRSTTTTSSSUUUVVUVUUVVUUVVVVVVVVVVVWWWVWWWWVVWWWVVVVWWWVVVWVVWWWVVWWVVVVVVVVVVVVVVVVWUWVVVVVVVVVWVVVUUUUUVVVVWWWWXWVXWVVVVVVVVXUVWVVVVVVVVVVVVVUVVVVVVVVVVVVVVVVVVVVVVUVVVVVVVVVVVVUUVVWVUVVWVVVUUUVVVVVVVVVUUUVVVVVVVVVVVVVVVVVVUUUVUVVTUVVVVUTTTTTTSTUUTTTTTSTTUTVUSSUUUUVUUTSSRSSSSSTTSSUUTUUUUTTTTTUUUTTTTTTSSSSSSSSSSSSSSRRRSSSTTTTSSSSSSRRSTQPQRRRRRRRSSRQPPQRRRQQRRQQRRQQPPQPPPPPPPQPPPPOOPPPPPPPPPOOOOOOOONNNNNMMNNNNNMMMNNNNNNMMMEDEHECDDEFFECCDDEEFEEDDEGGFFGGGHFGGFGHHFHGGIHGJJHGFFGGGHHHIIJHHIJHHIIIIJJJJJJJIHHIHJJLKLKLKJKKKKLKKKLMMMMLJLMLMMKLLLLLMNNNNNNNNMNMNOMLMPPOOOPPPPOOOOOPPPOMMNOOPOPOOOPPPPOPPPOPPOPPPPOOPPOPPPPPSSSRQPQQQQQQRRRQQPPPPPQQQQPQQPQRQQRTTSSSUVUTTSRRRPSRRSSRRRRRSTSRSTRRRRSRRRSRRRRRRSRQQRSTTSTTUUUUVVVVUVVUSRSSUVUTTUVVVVVVUVSTUVUVVVVVVVVVVWWWWWWWWWWWWWWWVVVVWWWWVVWVWXXXWUWWWWXXWVVVVVVVWWVVXVWWVVVWVWWVWVVVUUUUVVVVVVWWWXWWYXVVVVVVVVXVWWVWWVVVVVVWWVVVVVVVVVVWWVVVVVVVVVVWWVVVVVWWVVVVVVVVVVXXVUVVWVVWVVVVTUVVVVVWWVVWVVVVVVVVVVVVVVVVVUUUVVVWVVVVVUUUTTTTTTTUTTUUTTTTUUTVVTTUUUTTTTUUUTSSSSTTTTTVVUUVUUUVVUUUUVUUUUTTTSTTTTTTTTUTSTSRRTSTTTTTTSSTTSRRSTSRRRTTTSSSTTSQPPQRRRQQQRRRSSRQQQQPPPPPQPRPPPONNPQPPPOOOOOPPPONNOONMMMNNOLMNONMMNMMNOOONNFDEHFDECEFGEDDDDDDEDDDEEHHGFGHHHGGGGHHHGGGHJJHJJJJIIJJIHHHHJJIIJJIHIJJJJJJKLKKJJJJJJKKKJKKJJKKJKLLKLMNNNMLJMNLMNMMMMLLMMMNNNNONMMOONMNOPOOOPPPPPPPONNOPPPNNNOOPPPOOOPPPPOPPPPPPPPPPPPPPPPRPPPQRRSSRRRRRQQQQQQPPPPPQQQQQRPQPPQRRQRTUTTTTTRSTSPPRRRRRRRRRRRRRSRRSTSSRRSSRRSSRPQRSTSRRRQRTTSTTSSSSTVVTUUTTTTTUVVTUVVVVVVVVVTTUVUVVVVVVVVVVWXWVWWVVWWWVVWWVVVWVVVWWVWVWXXXWVWWWWXYXWWWWWWWWWVVXVWXWVVWVWWVWVVVVVUUUVVVWWWWWXXWXWVVVWWVVVYVWWWWWWWWWWWXWWVVVVVVWVVWVVVVWVUTVVWXXWWVVWXXWVVVWWWWVWXXVUVVWVVWVWWVUVVVVVVVVVVWVUVVVVVVVVVVVVVVVUUUVVVWVVVVVUUVUUUTTUUUUUUTTTUUUUSVVVVVVUVVVVUUTTTTTTUTTTTVVVVVVTVVVVUUUUVVUUTSSSUUUUUUUUUUUTSSSTSTUTUUUTSTTTTSSTTTRQTTSSSSTTSRRSSRRRRRRRRSSSSRQQQPQRQQQQRQPPPPPPPPPPPOPPPPPPPOOOOONMMOPOMNOONNNNMMNOPONMDDEFEFHDDEFFEEEEDDDDEFHHIHGGHHHIHGGHIIIJGHHIHHJJJIHGHIIHHHHIJHHJJIHJJJJJJJJKKKLKKJJJKKKKLKJKLJJLNNMMMMMMMLKMNLMNNNNNMLMNNNNNOOONMOOOOPPONNOPPPPPPPONNOPPPPOOOOPPPOOOPPPPOPPQPPPQPPPPPPPQQQPPPQRQRSSSRRRQRRRRQQQQPQRRQQQQPQQQRTSRTTUTUUTSRRSSQQSSRRRRRQQRRRRRQRSSTTRRSSRRRSRPPSTTTSRQPQRSTTTTTSTTTTRSUTUUUTUVVVVWWVVVVWWVVVUVVVVWWWWVWWVWXVVWVVVWWWVWWXWVVWWVVWWWVVWWWXXWVVVVWXXWXWWWWWWWVVXVWXVVVWVWWVWVVVVVVVUUVVWWWWXYXWXVVWWXWWWVYVWWWXXWWXYXWXWWVVVVVWVVVVVVVUWVVUVWWVVWWXXXXWVVWWWVXXWWXWVVWVVVVWVWWVVVVVVVVVVUVWWVWWWVVVVVVVVVVVVUVVVVVVUVVVVVVVVVUTTUVVVVVUUUUVVURTVVVWWVWWXWVVUUTTUVVUTTUVVUVVVUVVVUUUUUUVVUUTTTUUUUUUUUTVVUSTUTTUUUUVUTSSTUUUUTTTSQSSRSSSTTSRSTTSSSSRSSRSSSSRRRRQQRRQQPQQPPPQQQQQQPPPPQPPPPPPPPOPPOOPPOOONNNNOOONNOONMLDEFEDEGEBDEEFGFEFFFEFHIIIHGHIHHIIGGIJHIJFHIJIIJIKJIHHJJJIIIIIIJJJJJJKJKLJJJKKLLLLKKKKKMLLKJLMLKLNNNMLLLLLLKMNMMMNOONMMMNNNOOOOONONOPPPPPOOPPQQQQPPOOPPPPPPPPOOPPPOOOOOONPPPQPPPQPPPPPPQRPQPPQRRQQRRQQQQQRSRRRQRRQRSRQQQQQRRRTUTSTTSTUVVUSRRRRSTSRSSRRRRRRSSRRSTSSTSRSSRQRSSRRTUTTSRSTUUTTTTTTTTTUTQTVUUTTSTVWVUVXWWVVWWVVVVVVVVXVWWWXXVWWVVWVVWXXWWWXXXWVWXXWWWWWWXXVVWWWVVVWWWWXXWXXWWWVVXVXXWVWXWXXWXWVVVWWVVVWWWWWWXYXWXWWXXXWXWVXVWWVWWVVXXXVWVWWWVVVVVVVVVUVTXVXWVXXWWVWXXXWVVVWWWVWWWWWWVVXWWVVWVWVVVVVVVVVWWWWXWVXWWWVVVUVVVVVVVVWWVVVVUVVVWXWWVVVUVVVVUVVVVVVUUUTUVVVVVVVVWWVVVVVUVVVVUUVVUUVVVVUVUUUVVVTTUVVUUTUTTTUUUUTVVUTUUTTUUUTUUTUTTTTUTSSTTSTSRSRSSSRRSTSTUTRRSUSSSSSSSSSQPQRRRPRRPPPRRQQQQPPPQRQPPPPPPPPPPNNPPPPPOOOOPPONNOONNMDFFEEDFEDDEEEFFEFGFEEFGFHGGHIHHJJJIJJHIJHIIKJJJIJJJHHHJJJKKJJLLMKJKLLKLMKJKLLMMLLKMKJJLLKKKLMMMLLMMLLLMNMMLMNNOOOOOONNNNONOOPOONOOPPPPPPPPPPPPPPPPPPPPPPPOPPPPPPPPPPPPOOPPPPPPPQRPPPPPQRQRPPRRRQQQQQQRRRRRRRQQQQPRSSRQQQRSTTUVUTTSRRTVVUTSRSSTTSSTTTSSSSRRRQQRRRSTSRSTSRSTUTSUVUTTUVVWWVVVVUUVUTVUSUVVUTTSTVVVVVWVVVUVVVVVVVWVVXVXWWYXVWWWWWVVWYXXWXXWWWWWXXWVVWWWXXVVVVWXXWWWWWXXWWXWWWWVWVXXWWXYXXXWXWVVVWWWWXXXXXXWWXYXYXWYXXXXXVWVVVVXXVVXXXWXVXWWVVVVVWWVUTWUYVYWVXYZYWVWWWXXXXXXXXWWWWWWVVXWXVVWVWVUVVVVVVVWXXXWVUWVVVVVVVVVVVVVVVWWWVVVVVVVWWVVVVVVVVVVUUVVVVVVVVVVVWVVVVWWWVVVVVVVVWWVVVWVUUVVVVVVUUUVVVTTUUVVUUUTTTUUVUUUTTUUUTTUUUTTTTVUTTTTTSTSTUTTSSSSSSSSSSRTUTRRSUTSRSSTTSSQQRRRRQTSRRRRRRQQQPPPPQPPPPPPPPQPONOPPPPPPPPPPPNNNOPPOOEFDFGFGFFGGFEFFEFGHFFGHHFFGHIHHJKJJJJIJJKJIKLJKKJKKJJIJJJLKIJKLKLKLLLKLMKKKLMMMLMLMKJIKKJKLLLOOLLMMLLLNOMMLNOPPPPPPPOOOOOOOPPONNOPQPPPPOPPPPPPPPQPOPPPPPPOPPPQRRPPPPQQPPPQQPPQRQRQRPRQSSRSRRRQQPQQQRSTTTTTTTSSSSPQSTSQQQRTUUVVVTVVUUVVVUSSSSSSTSSTTTTTTSTSRSSRRRSUTRSUTRTUUSSTVVUUVWWWWWVWVVVVVUVVTVVTTUUTUVVVVVVVVVVVYYWXWXZXWYXYXXZXVVXXYXWWXZYXXXWVVWXXXXWVVWVVVWWWWWWXYXWWWWXWWWWWWWVVVVXWWWWXWWVVVVVVVVVVWWXXYYXXXYZXXWWXXXXYXVVUVVWYYXXYYXXYWYXXVVVVVVWVVVXUZVWVVYYZYVVVWWXXXWWWWXYXXXXXWVWWXWWWVXVVWWVWXWXWXXXXXXVVUUVVWWWWWWWWWVVVVVVWVVVVVVVVVXVVVVVVVVVVVVVVVWVVVXWWXWVVVVVWXXWWWXXWVWWVVVVVUUVVVUVVVVVVUUUVVVVUUUVVVVVTSTVUTUTTUUUSTTUUUUUUUUUSTUTSTTTTTTTTTTSUUTSSTUTSRRSTSSSSTTSRSSRQQRQPPQQQQQPPPPQQQQPPPPPPPPQQPNNOPPPOOOOOOPPPPPFFDFGEFGGIHHHHGFEFGGGGGGFGGHIIIHJJIIIJJIMJJKLKJLJKLLJJJJJJJJJJJKKLLLMLKKLKKLLNNKKLMKKKJKJLLLMNNNMMMMMMMNNMLMOPPPPPPOOOOOOOOOOPPOPQQPPPPPPPPPPOPPPPPPPPPPPPPPPPPPPPQQQQPPQPPPPPQQQQPQQSRRRQRSRQRSRSRQRSTUTUUUUTSSQRSSSRQQRUVVVVVVVUVVUUURRRRSSSSSTRUSTTUTUTSRRRRRRSSSTTTSUUUUSSTVTUVWWWWWWVVVVWVVUTTTTTTTUUTTVVVWWVVWXYYYXXXWYZYXXWXXYXVVYYYYXXXXXXXXWWWWXZZWVVWWVWWWWWVYXVXWXYWWXXWVVXVVVXXVVWXWVWXWVUVWVVVVVWWWYYZYXXYXZYYXXXXXWXYXVUVVZZYXXXXXXYWYWVVWVVVVVVVVXVZVWVWXZZYWVVXXXXYXXWXYXXXXXXWXXXXWWXWWWVVWXXXXXYXWXXXXVVUUVVVVWWWWWWWVVVVVVVVVVVVVUVVWXWVVVWWVVUVVVWWXXWWXXXXXWVVVWXXXWWWWWWVVVUUVVVVVWVVUVVVVVVVVVUUVUTVVVWWVVTTUUUVUTUUUUUUTUUUUUTUUUUUUUTTUUUUUUUUUTTUTSTTUTTSSSSSSRSTSRQQRQRSSRQPPQPPPPPPPQPPQPOOQPPPQRRPPPPPPOOPPPPPPPPPPGGEHIHGGHJJHHHGFFGGGGFFEGHHHIJJIIHHHIJJJKKJJKKKKJJMMLKKJJKLLLLMMMMMMNMMNMLLMLNNLLKKKMNLLLMMLMNNNNMLLNOOMNLLMNOPPPOOOOOOOOOOOOOPOPQPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPQQPPPPRQQQPPQQRQPRPRRQRQQRRRSTSSSRRRTTTUUUTTSSUTSSSRRRSTUUVVVWVUUUTTTSTTTSSSSRTRUSTTTTTTTTUTSRSTTTUUUUUTTTSSTVUUVWWWVVVVUUVVWVUUTSSSTUUUTUVVVXWWVWXXXWWWWWWXXWXXYXXXVWYYYYXXWWXXXXXXXYYZ[YXXYYYYYXXWVXZYYYYXVVWXWVVVVWWXXWWXXXXYYYWWXXVVVVWWWXYYZYXXYYZYYYXXXYXXXXVVWWYYYXXXXXWXVXWWWWVVVVWWWWYVZVWWWXYZ[[ZYYXXYYYYYYZXXXXXXXYXXXXXXXWXWWXYYXXXYXWXXWXVVVVVVVVVWXXXXXWVVWWWVVVVVVVVVWXXWWWXYXWVVVVVXWXXWXYYYYXWWWXXXWWWWVVVVVWVVVVVVVVWWWVVVVVVVVWWVVVUUVVWXXVVVVVTTUVUUUUUVVVUUUVUUUUVVVVVVVVVVVVUUUUUUUTTTUUTTTTTSSSTTTSRQPPSTTTSSRQQQQQQQQQPPPQQPPPQPPPPQQQQPPOOPPPPPPPPPPPGGEHJIIIIJJIHHHHIIIIHHIIJJJIIJJJIIIJJJJJJLKJJLLJJKNONMLKJKKKJJJJLMNOONMNMLMMMNNMNMLKMOMMNONMMNNNNMLLNOOMNMLMNOOPPPPPOOOOOOOOOPPPPPPQQQQPPQQPPQQPPPPPPQRQPPPPPQQQQRRRQPPPPPQQRRSSRRQSQSRRSRQSTTTTRSTSRTUTUVVVVUVVVTSTTSSUTTSSTTVWWVVVUVVUTUTSSTSSSSUTUUTUTTSTTTTSTTUUUUUUUTTTTTTUVWWWXXWVVVVVVVVVTUUUTTUTTTTTUUUVXWWWXXXXXXXXXXWWYXYYYXVXXXXYYYXXXXXYYXYZZ[[YYYYXYX[ZYXXYYZYZYWWWXXXXXWVXWWWWXXYYZYYYYYYWWWWXYYYYYYZYYYZZZYXYYYYYXXXXXXYXZYYYYXWXWWVXXXXXWWWWWWXXYVYVWWWWYYZZZZYYXXXXXXWWXXXYYYZZXXXYYXWXYXXYZYXXXXXXXWVWWVVWWWVVVWXXWWXXVWXXWVVVVVVVXYYXXXWXYZYXVVVVVWWXXWXYYYXWXXXXXXXYWWVVVVWXWXXVVWXWWWWVVUVVVVWWWVVVUVVVWWWWVWWVUUVWVVUTTUVVVVVVVVVVVVVVVUUVVVVUUUUUVVUTTUUUUUUUTTSSTSSSSSRQRRRRRRQQRRRRRQQQQPPPPPPQRQQPPQQQRQPPPPQQPPPPPPPPHHFHJIJJIJJJJJJJGHHHGGHIKKKJIIJJJJJKLJJJJLKJKMLJKKMOOMLLOONMLLMLKMNNNMMNMLNNMNONOONLMONOOONNNNNOONNMMMNPONMNOOOOPPPPPPPOPPPPPPQQQPPQPPPPPQQPPQRQPPPPQRRQPPPPQRRSRRSSRQPQRRRRRRRRSSRTRTSSSRRSTTTTRRSSRVVUTUVVUUVVVTTUUSSUTSRRSSTVVVVUUUUTUUUTSTTRTTUTVUTUUTTTTTTTUUUUUTUUUUUVVVUUVVVVWXWVWWWWWWVVSUVVVVUSTUUTTTTUVVUUVVVWWWWXYYXWYY[ZZYXYYXXZZZYYYXYZZXXYZZZYYYYXXW[[YYZZYZXZYWYYYYYYZYXXVVWXXXYZZYYYYYYXYYXYZZYZYZZZZYZZZYYYZZYYYYYYYYYXZYYZYXWXWXWYXXYYYXXWWWXXYWZWXXXWYYYXYYZYYYXYYYXWWWWXYYZZXXXYYXXXYXXYZYYYYYXXXWVVWVVWWXXXWWWWWWXXWXXXXVVVWWWWYZYYYYXXYZYYWVWVVXWXXXXYYYYWXYYXXXXYXXWWVWXXXYXVVXXWWWVVVVVVVWWVVVVVVVVVWWVWWXVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVVVUUUVVVVVUTUUUUVUUUUTTTTSSSTTTSTTTTTUUTRSSRRRQPRRQPPPQRRRRRRRRQRQQQRRQPPPPPPPPPIIHIJIJJJJJJKJIKJJJKJJJIKKKJIJJJJJJKLKJJJKKKLMLKLKLMMLMMLMMLLMMMMNMLLLNPNMNONNOONOPNNOOPOOONOONOPOOPNLNPONNNOOOONNOPPPPPQQQPPPPPPPPQPPPPPRRPPPQQQQQQQQPPQQPPPQRRQRRSRQQQRRSSRRQQTTSTRSSSSSRRRSTUTSSSSVVSTTUUUUUVWVUVVTSUUTSSSRRTVVVUUUUVVVVTSTSQUUVUUUSUUUVVVVUTVVVVUTTUUVVVVVVVVVVVWYXVWWXXWWVVTUUTUVVTUVVVVUTUVUTTTUUVUUVWYZYXYZ[[[ZXZZYYZ[ZYYZYZ[[YXYZYYYZ[[ZXX[ZXYYYZ[YZZXYXYZZZZZYXXWXYZYZ[ZYYYYZ[ZYYXXZZYYY[[Z[ZYZ[ZZZZZZZYZZZYXYXYYYYYXXYXZZYXWYYYYYXXXXXXXZYYXYXYYZZZZZYYYYYZ[ZYXWWXYYYYYYYZYXXYZXXXYYXYXXXXXWVVXWWWXXYZZYXXXXXXWWWWXXWWWXXWYYYYZZ[ZYYYXYXXWWYXXZYZZZ[ZXWXYYXWWWXXXWWWXYZYXWXXWWVVWXXWVVVWWVVVWWVWWWXWVXXYWVVWVVVVVVVVWWVVWVVVVXXWVVXWVVWVVUVVVVVVUUVVVVVUUUUUUUUUTTSSSSRRRRSTSSRRSSSRQQQRRRRSRQRRRRRSRPRQQQRQPPPPPPPPPPGIHJJJJJLJJJKIHJKJJJJJJJJKKJJJKKKJJKKKKKKKKLMMMMNMMMLLMMLNNNNOONNNMMMMNONMNONNONNNOOPPNNOOOOPONOQOOPPMMPOOOPPPPPOOPPQPPPPPPPPQQQPPPQPPQQQRRQPPPQQQQRRRQQRRQPPQRRQQRSSRQQQRRSSSTTSSRSRTSSSTTTSSSTTRRRSUURUUUUUUUUVUUUTSTUVVVUUSRSTUSRSSTVUUUTTTSRUUVVUVVWVVVVWVVUWVVVVUUUVVVVUUVVVWWXYYWVVVVVVVVVUUUUUVVUUVVVVVVVVVUVVUTUUUVWYZYXYZ[[[ZYZZYYZZZZYYYY[[YYYZYYYZ[[ZYY[YXYYYYZYZ[ZZXX[\ZYZYYYYZ[[ZZ[[ZYYXY[ZZZYYZZYZY[[Z[ZYZ[ZZZZZZZZZ[ZYXXXYXXYYYYYY[[ZYWZYXYYYYYXXXXYYYXYXYYZZZZZYYYXYZZYYZYYYYYYYZZZZYXXYYXXXYYXXXYXXYXWXXXXYYYYZZXWYZYXXXWVWXXXWVYXWXYYZ[\\[ZYXWZY[ZZZYYZZZZZZZXWXYYYXXXYXXWWXYZ[YXXXXWWWWXWVVWXWWWWVVVVVWWWWWWWWXWWVVVVVVVVVWWVWWWVVVVXWWVVWWVUWVVUUUVVVVVVVVVVVUUUUUUVUUTTSSSSRRSSTTTSRRSSSSSSQRRRRSSRRRQQRRRQSRQQRQQPPPPQQQQQFHHIJJJJLJJJJIIJKJIIJJJJJKKKKLLKKKKKKKKLLLLMNMMNPOONMMNMNOONNOONMNNNONMNNMNONNNNOOONPPNMOPPPPONPPPOPPNOPPPPPPPPQQQQQQQPPPPPPQRRRQQPPPQQQQRRRQQQQQPQRSSSSRRQQQRRRRRRSSSRRTTSSSSSTTSRSRTTTSTUUTTSSTSSRSTTSTTTTTTSSSTTSSTUUVVVVVTTTUVUTTUVWUUTTUUUUVVVWVXWYWWWWWVVVVVVVVUUVVVVUTUVVVVVWWVVUVVVVVVVVVVVWWVVUUVVVWWVVVVVVVUTTWWWXXXXYZZ[[[ZXZYYYZZ[ZZYYYZZZZYZZZZZZYXYZZXY[Z[XXZYZ[ZYY[[ZYYYZZZ[[[[[[\ZZYYYZYZZZZZYZ[Y[ZZ[[Z[ZZZZZZYZZZ[ZYYYYYYYYYYYYZ\\[ZX[ZYYYYYYYYYXXYYYYXYYYYYZZZ[[ZZZZZZ[ZZZZZYYYZZZYXYZYYYZ[ZYYXYYYYYYYYYYYYYZZYXWYZZYYYXXXXXWWWZYXZZZ[[\\[ZZYXZZ[Z[[YYZZZYXYYXYYYYYYZ[YYXXXYZ[[ZYYXWWWYXXVVVWXWXXWWVVVVWWWWWXWVVWXWVWXXXXWXXXXXWVVVVVWXWWWXWVVVVVUUUUUVVVVVVVVVUUVVVVVUUUTTTSSSSSSTTTSRSSSSSTTSSRRRSSSRRRRRRRRSSRRRRQQPPPQRRRRIJHIJIJJJJJIIIJKJJJJJJIGJJKKLLKJJJKKLLLLLLLLMNMNOOOONOOOOPOMMNONNNNNOONNOMNPONOOOPPNOPOPOPPPPOOPPPPONOPPQQQQPPQQQQQRRRRQPPPPRSSQQRPPQQPPQQQRRRQQQPQRRSSSSSRRRRRRRRRSSSRRRRRRRSTUVUSTSUTTSSSRSTVVUVUTTTTUUUUUUTTTSUVTSUUTUVVVUUUVTVUTTTUVVVUUUVVVWVWXVXWXXYYZZYWVVVUVVVVVVVVVUVVUUUUVVVVVVVVWWWVVVVWXWVVVVVVWYYXXWVVWWVVVXXXXWWXZZZ[[ZZXZZZYZZZZYZZZZ[[[ZZZZ[[ZYXZ[ZXY\[\YY[XX[ZZZYXYZYYZYZ[\\\\\[ZZZZ[[ZXZ[ZYXY\Y[ZY[[Z[[ZZ[[ZZZ[ZZZYZ[ZZZZZZZYY[\\[[Y[ZZZZYYZZZZYXYZZZXXYYZZZZYZZZZZZZZZYYYZZYYXYZZYZ[[ZZZ\\\ZYXZZYZZZZYYYYYYZ[ZXWY[[[\YXXYYXXXWZYXZ[[[\[ZYZ[[ZYYZYZ[ZZ[ZZYXYZXYYYYYYXXYYYZZZZ[[[[YXWWWZYXXXXWVVWXWXYYXVWYXWXZXXVWXWWXWXWWWWXXXXWVVVVVVWWWWWVVWVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUSRSSSSSTSSSSSSSSTTTTTTTTSRRRSTTSRSSRRRRRQQPPPQRRRRJIHIJJJIJJJIHJLKIJJJJJIGJKKKJKLMKKKKLLLLLLKLMNMMLOPNMMMLNNNNNOONMNOONNNOPPPPPPONOPPOPPPOPPOOOOOPPPPQQPPPPQRQPPQRSRQQQQRQPPQRRRQQQRPPRRQQQRRQQRRRRQQRSTSSTSSSSRSSRSSSSSSSTTTTUUTUTTTTTTUTUUUUTTTUUUUVVVVUUUUVTUTTTUUTUVVTUVVVVVVVVUUUUUVWVVVVVVWX[VWYXWVWWYZZWVVWVXWVVVVVVWVVVVVWVVVWVVWVVWWVVWWVVVXYVVWXWWXXXXYYZXXXYXXXZZYXXXYY[[[ZZYYZYYY[[ZZ\ZZZZZZZ[\\[[[[Z[ZZ\Z\\\\ZZ[[ZY[[[YXY[ZZZZZ[\\\\\\ZZ[[ZZ[ZZYZ[YY\Z[ZY\\[\\[[\\[[[[ZZYYZ[[[[ZZZZYY[[[[[[[Z[[ZZ[ZYZZZZYZZZYYZZZZ[ZYZZ[ZZ[[[ZYYYZZZYZZ[[ZYYZZZZ[\\\[[[ZXYZZZXYZZZYYYXX[[YZ\\[[YXZXWXYYYZ[[[[[[ZZZ[[[Y[[[ZYZYZ[ZXXZZYYYZZZYYXYYYYZZZZZ[[YXXXXYYXYYYXWVWXXWXYZZXWXYYXXXXXXXYXWXXXXXXXXXWVVVVVVVWXXWWWXVWWVVWXWWWVVVVVVVVVVVVVVVVVVVVVVUTTTTTTUTTTTTTTTTTUUUTSSSSSRRSSTUSSUTRQSRQQQRRRRJIIJJJJJJJKJJKLJJKJIIJJJKKKJKLMMLKKMMMMMMMMMNONMNOPOOONNPPOOOPONMNNNNOPPQQPPQQPOPPPPPPOOPPPPPPPPQPPPRQQQQRRQPPQRRQQQPQRRQQRRRRQQPRSSSSRQSSSRQRRRSRRSSSSSSSSTTSRRSSTTTTSSTUUUVUUVVVVVUUVUUUUUUUUUTTUVVVVVUVVVVVUUVUTUUVUUUVVVUUVVUUUVXXVUVVVVVVXZZVXZYYXXWY[[XVUVUWXVVUUVVVVVVVVVVVWWVVVVVXXXXYZYXXZZXXYXXYYZZYYYZYZ[[YXYZZZYYZZZZ[[ZZYYZYYYZZYZ[[[[[[ZZ\\\\\\[Z[[Y[Z\\[Y[[[[ZZ[[\[Z[[ZZZ[[\\\\\\\[[[[YYYYXX[\ZZ\Z[ZZ\\\\\\[\\\\\ZZYYY[[[\[ZZZZZZZZ[[[[[[[\[[[ZXXZZZYZZZYZ[[ZZ[ZYZZZZZZ[[\ZZZ[[ZZYZZZYYZ[\\[[\\\[\[ZYYZ[[YYXXXYZ[[[\\[[\\\[YYZYWXZYXZ\\\[[[[[[[ZZ[[ZZZZ[[\\[YYYZYXYYYYZYYZYYYYYYZ[[ZXWYZZYYXXXXXXWXXXXXYYZYYYYYXXZYXWWXYYXWWWXXXXVVWWWXXXWXXXWVWXVVXXXXXXXXWWVVVVVVVVVWVVVVVVVVVVUUTTUTUUUUUUUUUUTTTTTSSRSTSRSSSTVTTTSRRTTSRRRSSSJJJJJKKJJJKKJKKJJKKJJLMMLLLKLMMMMKLNOMMNLMMNOPONMMMNOONMOOOOPPPOOOONOOPQPPPPPPPNPPOPQPPPPPQPPPPQRPPQRRRQQRRRQPQRRRRRQQRSRRRSRRRSQRSSSTUTTTSRRRSSSSSTTSSSRSSTUTSSSTTUUUUTUVVVVVVVXWWVVVVUVVUUUUVVUUUVVVVVUVVUVUTTVTTVVUUVWXXVUUVVUUVVVVUTUUVVWWXZYWYZZ[ZZZ[[YVUUVVWVVVVVVVVVVXWVVVVWWVVWWWYZZZZZZZZ[ZYYZXZZ[[[[ZZZZ\\\YYZ[[[Z[[[[[[[[[ZYZZZZZZZ[[\[[\\ZZ\]\\\\\[\[X[[\\\Y[[[[ZZ[[\\\\\ZZZ\\\\\\\\\\\\\[Z[YWY\\[[\ZZZZ[\\[[[\\]\\[ZZYYZ\\\\[ZZ[[[[ZZ[[[[\\[\\[\[YZZZZYZZZY[\\[[[[Z[\\[[[[[\\ZZ\[YYYZZZYZ[\]]\\\\[[[[ZYYZZ[[ZYXY[\\\\\\\\]\\\[[\[Z[ZYY[\\\[[\\\\[ZZ\\ZZZZ\\\\[[[[[ZZZYYZZZYZYYYYYZZ[[ZYYZ[YYYXWWXYZXXXYZZYYYZ[[ZYYZYXXXYXXXXWWWXXXXWWXYYXXXWXYXVVWYVVXYYXXXXXXWWVVVWVVVWWWVVWWVVVVVUUVVVVVVVUUUUUVVUTSSTTSSSTTSTTTTTTUVUSRRTSRRRSSRJJJKKKKJKKKJJKKJJKMLLNNMLMNMLLNOMMMNONNOMNNNOPONONNOPPONMNOOOOPPPPOOOPPPPPPPPQPPPPOPSRQRSSRRRRSTRQQQRRQQPQQRRQQRRRSSQQRSRRRRRRSTQPRRRTVTTTTTSSSTTSSTTTTTSTSSUUSTTTUVVVVVVVVVVVVVXXXWVVVUVUUUUVVVWVVUUUVVVXWVXUTVVUUVWVVVYYYWVVWWXWWVVVVWVVVWXWXZYYZ[Z[\[\\ZXVVVWWWVVWXWVWWWXYXWWWWWXWWWVXY[[ZYYZ[[[ZYZZY\[ZZ[\\\\[\\[YZ\\\[[[\[[[[[[\[Z[[\[[[[\[[[\[\Z[\\\\\\[[\^[\\[[[Z[[[[ZZ[\[[\\[Z[[\\\\\\\\\\\\\\\\[YZ\\[\\[[[\[\\\[[\\]\[Z[[ZYZ\]\\[[[\\[[\[[[[[\\Z\\\]\[\\[[ZZZZZ[\\\\\\\\\\\\\\\\\[[\\YYZZZZYZ[\]]]]\\[Z\[Z[ZZZ[\[[[[\\\\\\\\\\\[\\\\\[[ZZ[\\[[[[\\\\[[[[\Z[[Z\\[[[\\\\[\[[ZZZZYZZZZZZZ[[\[ZZ[ZXYYYXXY[\YYYZ[[ZYYZ[[[ZZZXXYZZYWVYXWWXXXXYXXYZXWWWYYXVVWYWWWXXWXYXWWWWVVVWVVVWWVVVVVVVVVVUVVVVVVVVUTTUVVVUUTTUUUTSTTTTTTTUUTSRSTUSSRRSTSRJJKKKKKJKKKJJJKLJLMLLNNMMNNMMMNNNNNNNOONOOONNONNPOOPQPPNNOPPNNOPOOOOPPPPPPPPPQQPQPPQSRQRTSRSSSSSRRRSRRQQPPQQQQQQQQRRQQRRRQQRRRSSRSTUTUVUUUUUTSSTUSSSTTUUSUSRTUTUTTUUVVVVVVVUVVVVWWXXWWWVVVUUUVVVWWVVVVVVUWWUXVUVWVVWXXXXXWXYYXXYXWWXYYYWXWXYYXYZYZ[[[[\[[[ZYXVVVVWWWWWWYYYYYYXWWWVWXXYYXXXZ[[Z[\\\[\\ZZ[\[ZZ[\\\\\\\[Z[\\\[[[\[[[[[[\[Z[[\\[[\\[Z[\Z\[\]\\\\\[\]^\]]\\\\\\\\[[\\\\[[[[\\\\\\\\\\]\\\\[[\[[\\[\\\\\]\\\\\\\\[[[[Z\\\ZZ\\]\[[\\\\\\\\\\[\\[\\\\\[\\\[[[[[[\\\\\\\\\\\\]\\\\\\\]\ZZZZZZZZ[\\]]]]\\[\\\\\[[\\\\\\\\\]]]\\\\\\\\\\[[Z[[\\\[[[[\\\\\\\[\[[[Z\\\[[\\\[\\\\[[ZZYZZZZZZZ[\\[YYZZYYZZZZZ[\[[[[[ZZYYYZZZZYYYYYZZYXXZYXXYYYYYXXYZYXXWXYXWWXYXWWWWWXYXWWWWWVVWVVVWWVVVVWVVVVVVVVVVVVVVUUUUVVVUUUUVVUTTUTTUUTTUVVUTRQPTTTSTUTRKKKLKKKKKLLLLJJLLMMMMMMLNMMMNONMNONMNOPNNNNNOOOPPPPPPPONNPPPNNOPPPPPPPPPPPPOPPPPPPPQSQQRRRRSSSRQRSTSSRQQQRRQQQQQQQRRRRRRRQQRSSSSTTUUTUWYVVVUUTUUUTSSTTUUTUTRSTUVUUUUVVVVVWVVVWVVXWXXXWVUVVVUUVVVVVVVVWVVVXWUWVTVYYXWWYYYXXY[\ZXXVVWXYYXWYYYYYYZ[Z[ZZZ[\[YZZZYWVVVWWXYYXYYZYXYYXYXWXYZ[[ZYYZZZ[[\\\\]][Z\\\\\\\\\]\\\\\\\\\\[\\\\[\[[\\[[\\\\\\\[[\]Z\\^]\\]\\\\]\[\\\^]]]\\\\\\\^]\\\\\\\\\]]]]]]]]\\\\\Y[\\\\\\\\]]\\\]]\\[[\\[\\\\\\\\\\\\\\\]\[[\\\[[\\\\\\\\\\[[[[\\\\\\\\\\\\\\]\\\\\\\]\[[[[[[ZZ[\\\\\\]]]]\\\\\\\\\\\\\\\\]]]\\\\\\\\[\\\\\[\\\\\\\]^]]\\\\[[[[\\\[[[\\\\\\\\\\[[[[\\[ZYZ[[[[[[[ZYZ[[[Z[[Z[[[[[ZZZZZ[[ZYYZYYZZZYYZZYYZZZZZYXYYYXYXXYXXXXYYXXXXXXXXWWWWWVVWVVVWWVVVWWWVVVVVVVUUVVVVVVVVVVVVVVVVVUTUUTTUUUUTTSRSTVVSTTTTTSRKKKLLLLKKLLMNLKMMMMNNNMMNMMNOPOMNONNNOPONMNOPPPQPPPPPPPOOOPPOPPQQQRQQQPPPQQPPQQQPPPRSRQRSSTTTTSSSSSSRRQQSSSRRRRRQQRSRSSSSRRSTTTSSRRRSTVXWVUTVVVVUUUTTTUUTUUTTUVVUUUVVVVVWXXWWXXXYXYYXWVTVVVVVVVVVVVVXXXWY[YWWVUWYYXWWXYZZZZ[[[ZXYZZZXWXZYZZZZZ[[Z\ZZZZ\[ZZZZXWWWXWVX[[YXXYYXY[[[\\\[ZZZY[[ZZZ[[[[\\\]\[\\\]]]\\\\]\\\\\\\\\\\\\\\\\\\\\\\\]]]]\\\\][^\^]\]^]^^\\\\\\\][\]]]]\\]]^^]]]^]\\\\\]]]]^^^]\\\]Z[\]^]\\\]\\]]\\\]]\]]\\\\\\\\\\]]\\\\]_\\\\]\\\]\\\\\]\\\\\\\\]]\\\\\\\\[\\]\\\\\\\\\\\\\\\[\\]\\\\\]]]]]\\\]]\]\\\\\\\\]\\]]]]\\]\\\^]\\\]^]]\]]^^^^]]\\[\\\\\[[[\\\\\\\\\\\\\\\\\\[[[Z[\\\\[[[[[[[[[[ZZZ[\\\[[[[[[ZZZZZZZZ[ZY[ZZZ[[[[[ZZYXXYZYYXXYYYYYYXXXYXXXWWWXWWWWWWWWWWWWWXWWVVVVWVUVVWVWVVVVVVVVVVVVVVVVVUUVVUUVVVVVTRQSTUSSSSRKJKLLLLLMMLMOMLNNLLMNMNONNOOPPONOOOOPPPPONOPQPPPOPPPPPPPPPPPPPQQRRRRRQQQPQQPPPQQRSSTUSQRSSSSRRSTTTSRQRQQRRSSRRRRRQRSSTUTSRSTUUTSUTSUXVTUZXVTVXXVTUVVUTUVUVVVUVVVTUVVWWVVWYZXXXXYYYYYXXWVUUVVVVVWVVVVXYYYY[XWVWVXXXXYYYY[Z[ZXY[[Z[ZZYYYYYZ[\ZZ[[ZZ\YYZZ\[[[[[ZXXXXXXXYYYYYZYXZ\\\\\\\[[\\[[[[[[[Z[\\\\\\]\\]]]\\\[\\[[\]\\\\\]]]\\\\\\\\\\\]]]]\\\\^\_\]]\^^^`_\[Z\]]\^\^]\\]\]]^\]]^^^]\\\\\\]]^^^]\\\\\\\\^`^\]\]\\^^\\]]]\]^]\]\[\\\\\]]\\\\]^`]\]^]\]_]]]\\]\\\]]]\]_^]]]]\\\\[\]]\\\\\\\\\\\\\\\\\\^]]\\]]]\]\\\\]^]^\\\\]\\]]]]^^]]]]^]\\]\\\^__^]]^^]]^^^]]][\]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[\\\[[[[[[[[ZZ[\\\[[[[[ZZZZ[[ZYZ[\[[[[[[[[[YZ[YWXZ\ZYXYZZYYZYXWXYYXXXWXYYXXWWXXWWXYWXXXWWWWVWWVVWWVWWWWVVVVVWVVVVVVVVUUVVVUVUUVVVUUSUUTSTTTKKKKLLLLMLNNNNLNNNMMNOONMNOPPPPOMPPPPPPOOPPPPQPOOPQQPPPQPPOPPPQQRRRRRRSSRTSRQQRPRQRSTSSSSTSTSSUUURSRPRSSRSSRSSSSRSRRTUUUVUTSTTTRTTSVWWXVWYXVWYXUVUUUUVWVUVXVVVWVVVVVXXXXYYYXYZZ[YYZZZYWUVVVVWVVWVVVVVYZXZ[ZWVWXZZYY[\\[Z\[ZY\[ZZZ\\Z\\[[Z\\[\\\[[[[[[[\\]]\[ZZZZZYYYYZZYZ\[Z\^][\\[[[[\\\[Z[Z[[[[[]]\^^\\[\\\\\\\\\\\]]\\]]\]\\]\\\\]]\\]]]]]]]]]]]^]\\]\^^]^]\]\\]]^^^]_]\]]]\]\\]]]\]^___^]^^^_^]]]\\\]]]^__^\\^]\^\^]\\^_]\]\]]\\\\]]]]\\\\]_`_]]__^]_]^^\]_^]^^___^]]^__^]\\\\\\]\\\\\]\\\]\\\\\\\\\]]^^^^]\\^^\\^^\\]^^^^]\]]^]]\\]^^^]\\]]_^]]]]]]^]]\^]]]\]\\\[\\\\\\]^\\\\\\\\\\\\\\\\\[\\\\YZ\\\\\\\\\\\\\\\\[[\\[[ZZYY[[ZZZ[[[[[[ZZZ[[[ZYXXYZ[YYXYZ[ZY[YXXYYYXXXWXXXYYWXXXWWXYYXXXXWVWVVWYWWWVWWWWXVUVWVVVVVVVVVUUVVVVVVVVWVUTTUVUTTTTKLLLLKKMLLNONNMNONNMNOONPPPPOOOOOPPPPONNPPPPPPPPOPPQQQQPPPPPPPQQQRRSSSSRRSSSRRRQRRSTTTSSSTTTTTUUUSTSQSSSSTSRRRRRSSSTVVVVVVUTTTSRTUVWWVWWVXXWWXXWVVUTTVXYXXZXXWYWWXWWWXXXXYZZ[[YYXYZYZ[YVVVVWXWVXWWWVVXZXY[[YXXYYZYY[\[[[[ZZY\[[\Z\\[[[ZZZ\\\\\\\[[[[[[[[\\\\\[ZZYYYYXYZYZ\\Z\]]\[[[[[[[[\[\\[[\[[\\\\^_]\\\\\\\\\\\\]^]\\\\\]]]]]]\\]]\\]^^]]^^^]\\]\\\]]^^]^]]^]\\\\]^^\\\^_^]]\\\\\\\\^`a_^_`a`_]]]]]]^^^^^__^\]]^^]]]]\]_]]]\\]^^\\\^^]]]]^_```_^__^^_]^]\\^]^^_____^^___^]\]]\\\\\\\\\\\\\\\\\\\\\\\]^^^^^^]\]]\\^^^\]^]]]]\]]]]\\]]^^^^^]]]]]]\\]^^\]^\^]]\\]\\\[\\[[\\\^]^\\\\\\\\\\\\\\\\\\\\Z[\\\\\\\\\\\\\\\\\\\[[\\\\[[[[[\\\[[[[ZZYYZ[[ZZZZ[[ZYYYZ[[ZYYXXXXXWYYYYYYYXXXYYXXYZYYYXYYWXVVWYWVWWVWVVWVVVVVVVVVVVVVVVVWWWWVVWWVVVTUVVVUUULLLLMMMNMNPONNMNNNNOOOONOOPPOOOOPPPPPONOPPPPPQQPPPPQQRRPQPPQQQQPQQRSSSRRSTSSSRSRSTUUVUTSSTTUUTUUTSUTSUUUUUUTSSSSSSTUVVUVVVVVVUUUVVWYYWXXVVWXWVWYVVUUVVXXXWZYXY[YYYXWWWWXYZZZ[ZYZZZZXXYXVVVVWXWWXXYZWVXYXY[[ZZZYZZZZ[[[[\\[[[\YXZZ\\[[[[\\\\\\\\\[\\\\[[[\\\\\\\[\[\[Z[\\[\\\\\\\\\\\\\[[\\\\\\\[\\]]]__]\\\\\\\\]]\\]^]\\\\\]^^]]^^^__^]\^^]\]^^]]]]\\\^^^_^^^__^]]\\]__]]^__^^^__^]]]]]_`a_^^_``__^^__^______``]\^_^^]^_]^_^]]\\\]^^]]^_^]]^___`a`______^^]\\]]^____```____^]^^_^]]]\\\\\\\\]]\\\\\\\]]^____^__]]]]]^^^\]]]]]]]]]]]]\\\\]^_^^^^_`_^\\]^\]_^_]]\\]\]]\\]]]^\\\\\]]\\\\\\\]]]]\\\\\\\\\\\[[\\\\\]\\\\\\\]\[[[\\[[Z[\\\\\[\\\[\\\\[[[[Z[[[[ZYYZ[[ZYYYYXXXXYYZZZZYYYYYXXYZZYYYXYYXXWVWXWWXXVWVVWWVVUVVVVVVVVVVVVWWXWVVWWVVVUUVVVVVVMMLMOONOOPPONONOOOOPPPONMNOOOOPPPPOOPPPQPPPPQRRPQQQPPPQQRQQRQQPPQQQRRSSSTTSTTRSTTVVVVVVTTUUUUTUUTTVTTVVVVUUTTTTTSSTVVUTUVWYXVVVWVWWYZYZYXWWXXWWXVVVVVVWWWVXYXY[YZZYXWWWXZ[ZYXXY[\\[ZYXWVWVVVWWWXY[[YWYZXYZZYZ[Z[[Z[[[[[\\\\]][[\Y[\[Z[\]]\\\\\\[[\\\\\\[\\\\\\\\\\\\\\\\[\]\\\\\\\\\\\\\\\\\\\]\]]^^__^]\\\\\\\]^\\\]]]]]\\^^_`^\^^]^^]]]^^]\\]]^^^^^]^_`_`_]_`_]]]]\]_`_^^^^^^_``_]]]^^]^^^_`a`_____```_`````aa`]^_]_]_`__`_]]]]\\^_^^__^^^___^`a`___```__^\]^^^___``aa``__^^__`__^^]]]]\]]]__^^^]\\]^^_```__``_____^^^\]]]\]^^]]^^^^]\\\]^____^^^]\]]^^^_^_]]\[\\]^]^^]^_\\]]]]]]]\\\\\]]]]]\\]]]]\]\\[\\\\\\]]]]]]]]]\\[ZZZZZZ\]\\[[\\\\\[[ZY[[[[[[[[[[ZYZZZZZZZYYYYYXYZ[[[ZZZ[ZXXYYYYYZXYZXXZXWXYYXWVXXXXXWWVVVVWWWXWWWWWWWWVVVVWVVUUVVVVVVVNNNNONMNPPPONPPPPPPQQPONOPPPOOPPPPOOPRRQQQQQRSRQSRRQPPRQRQQRQPPPQQQQRSSTUUTUTRSUUVVVVWVTVVUVUTVVUVVTUVVWVUUUTTUTTUVWXVVVVVWXWWVVVWVWXWXWXYYYYXXWVVVUVVVXXWXZXZZYZZXXYYXXYZZYXXY\\[ZZYWVWXXWWWWXXY[[ZY[[YYZZY[[[[[[[[\\\\\\\]\\[[[[\\[[\\][[\\\\[[[\\\\\\\\\\\\\\]]^]\\\\\\\]]]\\\\]]\\\\\\\\\\^^^^]]^^]\\\\\\\]^_\\\]^^^]\]^^_`___^\]]^^^_^]]]^]^^^^^^^^_``^]`a_]]^]]^``_]\]]]_`a`_]]^^^____`a`____^_`aa`````aa`a^^_\_]^__`a`^^_^_``_^^`____`a`__aa__``a`___^^__^__``aaa```________`__^^]]]^_``_^^^^^^___``a`__`__``_^]]^_^]\]^^^^____^^^^^^______^^^^^]_^^\^]]]\]]^`__^]^_]]_^^]]]]]]\\\]]]]\\\\\\\\\\\\\\\\\\]]^^]]]\\\\\[[Z[\[\\\\\\\\\\\\\[[\\\[[[[[[[[ZZ[[Z[ZYYYZZYXYZ[[[[[[\[YYZZYXYZYZ[YYZYXYYYXXXYZYXXXWXWWWWWXXXXXWXXXWWVUVWWVVVVVTTVVVMOOONMMOPPPONOOPPPPPPOOPQPPPOOPQPQPPQSRPQSSSRRSSSRRRRSSQRQQRQQQQQQQQRSTTUUUUTRTUUVVVWWVUUVUUUUVVVVVUVWWYXVVWVVVVVVWYYXVWVVVWYZXVVWWWVVWWWYZZYXXXXXWVWVVWXXXZYZYYYYXXZZZYWYYYYYY[ZYXYXVVXZYYXWXYYYYZZ[\\ZZ[[[\\\\\\\\\]\\\\[\Z[ZZ\\]]\\\\\\[\\]\\\\\\\\\\\\\\\\\\]]^]\\\\\\\\^^]]]]]]]\\\\\\\\]__^]\\]]\\]]]]]]]^_]\]^___^^^^]^^^______^___^^^^_^]^^____^]__]]`a`_^^]]^``^]]]^^_`aa`^^^__`aba`___`_^^__aba`__`aa``^_`^^]]^`aaa``a```````````aa```_aa__`ab```________````_`````__^^__``___^^^__``_]^__`````_```___```__^^_`a`^]^^__^^^^_```______^a``___^]_^^\^]^^^_]^_^^]^^_]]_^^^^^]]]]]]]^]]\\\\\\\\\]^^]]]\\\]\]]]]]\\[\\\\\\\\\\\\\\\Z[\\\\\\\\\\[[[[[[[[[[[[[ZYYZZZZYZZ[[[[[[[[ZZ[ZYXYZZ[[YYZZYYYXXZZZZYWWYYXXXXXXXXXXXXXYYXWVVWXXWVVVVTUVVVMNOONNNPOOPONNNPPPPPOOPPQPPPPPPQQQRRSSRQRSSSSSSSSSSTTTTSSRRSRQRRRQQRSTUUVVTUUTVVVVWWWXVUUVUUUUVVVVWVWXWYZWXZXXXWWXYYYXWWWWVXZ[YXXYXXWVWWWXYYYYYYZ[ZZZWVWYZXZZZXZYYWWYZZZYYXXYZZZ\[[ZYXY[ZZ[ZXY[[ZZZ[[\\Z[\\\\\\\\\\\\]]\\\\\[]]\]\\^^^^\\]\\]]\\\\]]]\\\\\\\\\\\\\]]\\\\\]]]__^]]^^^^]]^^]]]]]^^^^]]^]\]^]]]]]]^^^]^_```___^^^^_]^^_`^]^`_^_________`a`_^__^^_```_^^]_``_^^_____`____^^^]_```abba``````bba```aaa_`aab__^_aa`bbaaa`_`aba_`aba`__``a`__`aa`a````_____``a````````_____``________``_^__`````___``__`ba`_^_`aaa`_^___^^^^^^_``_^^__^]^]]]^_`_^^_]_^__^`^__]^^]]^]^__`_^^^]]^^^^^^]]]]]^\\^^]__^]]]]]\\\]\]^^\\\]]\\[\]\\\\\\\\\\\\[ZZ\\\\[[[[[\\[[[[[[[[ZZZ[[[[[[Z[[[ZZZZZ[[[ZZ[Z[[YZ[[YYZYXYZYYYXXYYYXXXXXXXXXWWXXYYXWWXXWWWWVVVVVVVNNMNPPOPNNPPOONPPQRPPOPPPPPPPPPPPQRSSRRRSRQRSUTRRSUUTTUUUTTTSRRRSRQRSTVVVUSUVVVVVWWXXWVUUVUVVVWWWXXWXWVWYVWYXXYXXYYYYYXYYYZYYYYYXXVWXWXWYWWY[[ZZ\\[Z[YX[[\ZZZZXZZYWWXYYY\ZWVXZYZ[\\ZYZ[[Z[\\YZ\\\\\\\[[Z\]]\\\\\\\\\\\\\]^^^[]\[^\\\]]]\]_^]]\[\\]]^]]\\]]\\\]^^^^__^^^]\^__``^\^_``_^___^^^^^^]^_^_`_\]]\\\]]]^^^^_```_^__^```ab`___^^`a____^_`aa``abba``___^^``^^^^_`_^^^_______`aa`__`a```abababcba`bbbaaaaba_bbbcaba`b`_aa```aa``a`_`aba_^`a`a`^_```````a`__````abba````````````___````__`a_aa`______^^`````bba___`aaa`^^_``^________^]^_`_]__^^^_``]^`_`^__^```_^_````_]]\]__^]]]^^^^^^^^____]]__^__^]]^^]\\]]]^`_]^^]\\\[\\]^]\[[\[\\]\\\\\\\\[[[[\\\[[[[[[[[[ZZZ[\[[ZZZ[[[ZYYZZ\\\[\[\[Y[\[WWZZXXZWXYYZZYZYXXXXXXWXXWWXYYXXXXWVVXWVVVWVVVLMOONPPONOOOONNPPQQQPPQQQPPRQPOPPQQQPQQPRRQQTVVUSTTVVTUTTTTRQRSUTSRQRTUTUTTTTVVVUVWXXXWVVVVVVUVXYZZYWVWXWXYYXWXXXXYZYXXXZYWWXXXZZYXXXXXXYZZ[[[[[[[[\[[Z[[[YZYZZXZZYZ[YYYZXWY[[ZY\[[[[[[[[\\[[\\[\\[Z\]\\]]\_^^]]\\\\]]]]]^^]]]]]^\\]^^]\\^^^^^]]]]]]]^^]\\]]^_^]]^^^^]]`a`````__^_______^_______^^_`^\\]]]^^^^^]`_]]`_a_``__```a__``_]]__`aab`_`ba``abbbbaa`_^_`a]_a_`a^_`a_]]^_`aaaaa_]_aa```a`bbb``bbaa``bba``bbb`abaabbbabb`_abbbaaaa`bba`bb`a`````````aa``bbaa```abb`a``aa``^^__```_`aa`_``a``bba__`_bb`__a_aaa`___`aa`___```__``aaa`_____^^a_\_`^``^_a_`_a````__````_]^__^_____^]^^_^]\]]^^_^^\\]^^^^^^^^^^^__]\\\]_][\]\]\\]^]]]]]\]\\\[[]][\\\\[\\\\\\\\YZZ[[[[[[\\[ZZZZZZ[\[\\\\[[[[[[[[[[ZZYZZYXYYY[[YYZYXXYZYYXXXXXXXYYWVXWVVVVVVWWWWVNNPPOPPOOPPOOPPQRQQQPQQQQPPQQPPPPPQPPQQQQRQRTVVVVVVVVUUUTTTSRSTUTSRSTUUUVUUVTTVWWXXXXXXWVVVWWVWXXXXWWVWXWWYZYYZZYYYZZYXXYZZYYXXYZYXYYXXXXYZ[[[ZZ[[[\[[Z[[[Y\ZZZZ\\Z[\[\\\YWWYZZ[\\[\\\\[\\\\\\\\\\\[\\\\\\\^]]\\]]\\\\]\]]^]]]^^^]^^^^^\]^^^^^^^]]\\\]^^^]\\\^^^]^^^^]]```__`````````____```````_^^__^]]]]]]^^___`__`^a````````a_`_`_]]__`_`a`_`bbbbbbbbbbaaaabba^^`__`_```__```aa`____^aaaaabbbbbbbbbbabaaaabbabbb`abababbaa``bbbbabbbbbbbbbbbbba`````a`aaaa`aa``__``aa`a``aaaa````aa```aa`_`aaaabba_`a`bbaaaa___`_^_`aaaa``aaabaaaaaaaa`____^^__^``^``_`a___````````aaaa`____```_______^^^^___^^]\\]^^_______^]\]^]\]_^^\]]]^]]]]]]^]]]^]\]\\]]\\\\\[\\[\\\]]\[[\\\\\\\\\\\[[[Z[\[[\\\[[\\\[ZZ\\[[ZZYYYZ[[ZYZ[[YXXYZZZYYZZYYYYYXWXXWVWWVWXXXWVNOOOOPPOOPPPPQQQQQRRRSRPPPPQPPQRQQRQRRRQRRRRTVVVVVUVVTUTTTTSRSTUTSSUVUUVVUUVUTVWXXXXWWXXXXXXYYYXXXXWWWWXXXYZZ[\[ZYYZZYYXX[[ZZZYYYXXYZYYYYZ[[[[[[[[[\[[[[[ZY\\YZ\]][\\[\\\\ZYY[\\\\\\\\\\\]]]\\\\\\\\\\\\\\\]\]\\^^]]\]]]^^^^^^^^^^__^]^^^^^^^^^^^^]\]^^__^]\]^^^^^^^^]^_````````a``____^_``````__^^^___^^^^^_```_`a`_]`````````a``_``^^_``__a``abbbbbbbbbbbbbbbba__``__```_^_aaabba`_`aabba`bbcbbbbbbbbbccbaabbbbbbabbababbba`abbbbbbbbbcbbbbbbccbaaaaaaaaaaaaaaa`````aa`a```aabbbaabbaaaaa`_`aa`abbaaaaababbba_`abaaaabaaaaabbbbbbbbbabba````___`_``_````a___```a```aaaaa`__^_a`_^_`a`^_____````__^____________^]]_^\\_]^_]]^^^^]\\]^]]^^]]]\\]]\\\\\[\\[\\]]]\\\\\\\\\\\\\\\\\Z[\[[[\\[\\\\[ZY[[[ZZZZYYYYZZ[\[[ZYYZZZZZZ[ZZYYYYXXYYXXXXXYYYYXVNNONOPPPPQQPQRQQRSTSRSSRRRRQQQQRRRRRTTTSRSSSTUTTSUUVVTUUUUSRQRTUUTUVVVUVUUUUUVWVWWXXXWXYYYYXYZZYYYYXXWXYZYYYYZ[[ZZZZZYYYYYYYZ[Z[YYYZ[[ZZ[\\\\\\\\\\\\\\\ZYY\\Z[\^^\\\[[Z\]\[[\\\]\\\\\\\]\]]]]\\\[\]\\\\\]]]]]]]^^^^^^_________^__``^]^_^^^^^^^^^^^^_`__^^^_______^^^^_`aaaaa`_____^^____`___`___`_^^__^_```aa`_`aa`^]^__`_````a````aa`aba``aaabbbbbbbbbcbbbbbbbaa````_a`_^^_`````a``aabbbaabccbbbcbbbccddbbbbbbbbbbbcbbbbbbbbabbbcbbbbbbbbbbbcccbaabbbaaaabbbbbbaabbaababa`aaaabbbbbbbbbba```aa`abbbbbabbabbbb`abcbb``_bbbbbbbbbaaabbbbbaa`aaaa``__``````a```aaaaaaaa``_`_^^_`a`_^_aa`^___________^^___^________^_`_]]_]^_]]_]]^]\]^^^^]]]]]]\\\\]]\\\]\\\\\\\\\\\\\\\\\\\]]]\\\\\[[[\\\\[[[[[[\\\\\\\[ZYYZZ\\[[ZZZZ[ZZ[[ZZZYYYYYYYYYYYYYYYXYYWOOOOOPPPSRPPQQQSTUTRQRTTTTTSRRSSSRQRTUTRRSSTUUUVTVVWVVWWVVTSSTUVVVVVVVVVUVVVVXXWWXXYXXXYZZYXXZZYYYYYXWYZZZZZYYZ[[Z[[ZYZ[ZYYZ[[[\[ZZ[\\[[\\\\\\\\\\\\\\\\[[[\\\\\]]\\]\\\\]]\[\\]\\]]]\\\]\\]^^\\\\\]\\]]]]^]]]^^]]_``__`aaa````___``^^_________^^^__```_^^_``__``_____`aabbba`_^_______``````````aa_^_`_``aaaa`^`aa`^^^__```aaab```abbbbbaaaaabbbbbbbbcccccccba`_ba`aa`a``_```````abbbbbbbbbbbbbbbcbbbdeddcbbbbbbbbbcdbbbbbccbbabbccbbbbbbbbbbcbcbaabbbabbbbbbbbbbbbbaababbabaaabbbbbbbbbbbaaaaaababbcb_cbabbbbbbccbbaaaccbbbbbba``aaabbbaaaabbb```_`aa`aa`aaaaaaaaaaa`____^_``a````aa`_`_______^___^^__________]^_``_``_]_]]_]^^^^__^^^]]]]]]]\\]]^^\\]]\\]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[[\\\\\\\\\\[[[\\ZZ\[[[[[[[ZZ\[YYZZZZZZYXYZZZYYYXXYZXPPPPPPPQTRQRSRQSSSSSSUUTSTUTTUVVVTSTTTSRSTTUUUUVVXWXWVXYWVVVVVWWVVVVVVVUVVVXWVWYYYYYXXYZZ[ZYYZYXWXYYXXYZ[[\\ZZ[[[[[[[ZZ[[Z[\\ZZ]\\\\\\[[Z[\\\\\\\\\\\\\\\\[\\\][\\\\]]]\\]]\\\\\[\]^^]\\^^^^__^\\\]^]]^_]^_]]]^^\]^``__`aaaa````````_```_``````_____`````_____`aa___^_``aaaaa``_`````````aaa`aaabba``aa`aaa`````````^`^`_```aaab`aabcdcca`abaabbabbccdddbbbccbb``bb`aba``aabaaaabbbbbbbcbbbbbbbbbbcbbbceddcccbbbcbcbcdbbbbbcbbbbbbbbbbbbbbcbbccbbbaabbbabbcdcbbabbbbbbbbabbbbbbbbbbbbbbbbbbbbbbbbbbabba_bbabbbcbccbaabbcccbbaabbaaaaaabbbaa`aaab_`baaa`aba_``aaaaaaaaa```a`_`a```aabba``a```````_```__``aa`````_^_`__````^^^__^_^^__^^^^^]^^^^^\]_]^^\\]]\\]]\]]]]]]\\]]^]]\\\\\\\\]]\\[[[\\\\\\\\[[\\\[\\\\\[[Z[\\\[ZZZ\ZYYZ[ZZZYYXYZZZZZZYXYZYPQPPQPPRRRRSTSRRRRTUUUUTSSTTUVVWWVVUUTSSTUUUUUUVXXWXWWXXWWWWWWWWVVVVVVVVWVWXWVWYYZZYXXYYYZ[ZZZYXXXXYYYZZ\[\\\\\\\[[[[[[\[\\]\[[\\\\\\[[[Z[\\\\\\]\\\\\\\\\\\\\^\\][\\]]\\]^^]\\\\\]]]]\\]^_____]]^^^^^_`]^`^_^_^]]^``__``aba```aa`aa``a````````````_````aaaa`_`ba_``__``aaaaaaa`````aaa``abbaaaaabbaabaaaaaaaaaa``a`_a_`````aaababbbcccba`bba`bbbbbcddddbbbcccbbbbbbbaaabbbcbbbbbaaaabbbbbbbcbbbbbbbbbccddcbbcbbcccbcdbbbbccbbcbcbaabbcbbcdcbccbbbabbbbbbcdddcbbbbbbbbbcbbbbbbbcbbbbbbbbbbbbbbcbccbbbbbabbabbbcbbba`abbbbcbbaabbbbbbbbbbbbaaaaab_`bbbb`aba`a`a`abba`abbbabbaaa`_`abbbaa`a``abbaa``_^^___aa``aa`_```__`__`_^^_______^^_^^_^_^]^_\]_]]^\\]^\]^^^^^^^^^]\]^^^^]\\\\\\\]]\\\\\\\\\\\\\\\]]]]\\[\\\[Z\\\\\ZZ[\[YZZ[[[[ZYYYZZZZZZZYYZZPPPPQPPRRSRQRTSSUUUTRRTUTTTTTUVVVVVVUTUVTUUUVUVVXXVWXWWVWVVVVVVVVVVVVWWVWWWVVXYWYZZYYYYXXYZ[[ZXWYXYZZ[[[\ZZZZ\\\\[Z[\\\[[\\\\\\\\\\\[[[\[\\\\\\\^]]]]]\\]\\\]\_]]]\\\]^]]^^]\\]]^]\\\\\\\]_^]^^]^`_^__`a]^`^`__]^^_`a``aabbb``abaabb````aaaaaa```a``_``_`abcbaaba`aa``aabaa`aaaaa`_`bbb`abbbbaaa_abb``aaabbaaaaaaabb`b_aaaaabaababbbbcbbbabba`bbbbbbcddcdddddddccbbcbaabbbbccbbccbbbbbbccbbbccbbccccccbbcedbbcdbdccbbcbbbbccbbcbbbbbbbccdcddbbccbbbbbbcccccddddebcbbbbccccbbbccdccbbbbbbbbbabbccbcccccbbbbabccc`cbbbccbbbccbbbbbbbbbbbbbbbbbbbbbbabbbb``bbbcbbabcba`abbbabbbaa`_``bbba``a``abba`a`_^_`_____`aa`^`___``aa_`^__^`______``_`___^__]]`]^_\]_`__________^]]^_^^^]]\\\\\\\\\\]]]]\\\\\[\\\\]\\[\\\\\[\\\]\\[[\\[[[[[[\\\ZZZZZZYYZ[ZYYYPPQRRRRRRSRRSTTRTSSTTTUUTTTTUUUVVVVVVVUUUUUVWXUWXWVWXXWVVVVVVWXYXXWVVVWWWWVVVXXXYZZYYYYYY[[Z[[YYZ[[[Z[\\\\[\\\\[Z\\\\\\\\\\\\\\\\\\\\\[[[[[\\^\\]]\\\]]]]\\\]^_^\\\\\]^]^]\\\\]^]]]]\\\]^^^^]^^]^__^^`aaa^a`]a\^__```__`abbb``aab```a`abaaaaa``_``aaaa```abbbbbabaa``aaa`bbaaabbaa`aabbbbbaaabbbaaa`_`a`abba`aaaabababa`bba``bbaaabbcbbcbbbbbbbccdcccdddddddddccddcccbbbcccccdccccdeedcccccbcdddddcbbcccccdcbbbbbcccdcbccbbbbddbbccbbcccccccbbbbbbbbbbccbbcccdbddeedccccdddddccbbbbbbbbbbbbbbbccccccddcbbccbbcbabbccbbbbbcdbbbbbbbbbbbbbbbbabb`babbbbbbbabbccbaabba_`bbbabbbbba`bbbbbba`a``abbaab`____```aaa`````_^__````______^___````aaa`_^__^_]]^_____^__^^__``__``__^^^]\[\^]\\\\\\\\\]\\\\\[\\\\\^]\\\]]\[[\\]]\\\\[[[[[[[[\\[[[[ZZYZZZZZZZQQRRRRSSRSSRSTTTTUVVUVUTTTTTVVVWVVVVWWWVUVVVVWVWXWWWXYXXWWWWWXXWWYYXVVXYXYYXXYXWYZZZZZZ[\\\[\\[[[[[Z[[\\\\[\[[\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\\]]]]]\\\\]]]]^^^^^]\\^_^^^\]]]]]]]^^]]]]]]^_^^^^^^^_____```b_``]`^_````a`abbbbbbbbbba`_`aabbbbbbaa``aaaaaaaaabbbbbbabbaa`aaaaaaabbbbbbbbbbbbaaaabbbaaaa``aaabbaaaaabbababbbbbbbabbaabbbccbcbbbbbbcbcddddddddddddddddccdeddcccccccccbbceedccbcbbbcddcccbcddbcbcdcbbbbcccdccbcccccddbbdedddddcccccccccbbbccccbbcccddeccccbbccccccccccddcccccccccbbcdcddccddcccdcbbccbbbccbbbbbccbbbcbbbbbbbbbbbbbbbaabbbbbbcbbbccbbaabbbbbbcbbccbcbbbbbbbbba`a``abbaaaa``````aaa`__````````aaaaaa``````````````_^_``__^^^^^^___``____^__`ba_^_^^]\\]^^]\\\\\\\]]\\\\\\]\\\\^^]^]]]\\\\\]]\\\[[\\\\\\\\\[[[[[[[\[[[[Z[SSSRRRSTRTTSSRSUUVVUTVVUUUUTVVVVWWWWWXXWVVVVUVVWXXWWWXXWWWWWXXXWWXYYXXYZ[\\[[[[ZZ[[[[[[\\\\\]]\]\\[Z[\\\\\[[ZZ\\]\\\\\\]\\\\[Z[[\\]]\\\\]]]]]\]^\]]\\]]]]]^^]]^_^^__^]]]\]]^^^^^^^]]^^^^a`^_`_^`___``a`_a__`_``aa`_`abbbbbabbbbbbbb`_ababbbbbaaabbba``abbbbabbcbbbcbbbbbba`abbbbbbbbbabbbbbabbbbbbbbaabbbbbbbbbbbbbbbcbbdddcbbbabbbcddcbbaabbbbbbcdddddddddddddedccdefeeddddccdddddedcccbbccccegddccdedccccddcbdcdddcbbbcdeeeeecceeeeeddbcdddddddcccccdccbbccdfebbbcdccddddccccceeddcddddccccbcbccccdddcdddbbbcdccddcbcbccccccbbccccccbbbbcbbbbbcbbbbcccbbccbbbbccbbbbccbbbcdcbbbbbbbba````abbbbbba``aa`baa`__````aa`abababa``aaa````````````aa`___^]]_`_`a`___^^__`aa_^`_^^^^^^^^]]]]]]]]]]]]]\]^\\\\^^^^]]]\\\]\]]]]\[\\\\\\\\\\\\\\\\\\\\\[[[TTSRRRRSSTTTSSSUVVVTRTVVVVVVVWWXXWWWXXWWVVVVUVWWXYXWWWWVWWWWWXYYXWWXZ[[Z[[[[[[ZZZ[[\\[[\\\\\]]]^\\[Z[\\\]]\\\[\]\\\\\\\\\\\\\[[[\]]]]\\]]]^^^\]^]]]]]]^^]\]]\\]^`__^]]^^\]^______^^^____`_]_`^\`__``aa`_a`^ab`aaba`abbbbbbbbbbbbbbbbaaa`abbaaaaabbbbaaababa`abb`bcccbbbbbaabbbbbbcccbbbbbbbbbbbbbbbcbbbbbbbbbbbcccbbbcccedddbbbbcdcdeedcbabbbbbbbceddcccdddeeddefdccdeeedeeeeeeffeddccdeccdedcehffdcceeddedbdddccceebbccdeffeeecdeedeeddccdeeeeeddddccddcccdcdgdcbcdeddeeedcccddeeedddeedccdcbbbbbcddddcdddcbbcecdddccccdccddcbbbbbccccbdbccbccbbbbbccbbbbcbbbbbccbbbbbcbbbcddbbbbbbbbba``abbbbbbbb``aaaaaaaa``a````abb`abbb``aaaaaaaaaabbaaaba````^]^`a``aa___^^__`aa`___^___^^^__^^^^^]^^^^^^]]^]]]\]]]]]]^]\\]\]^]]\\\]^^]\\\\\\\\\\\\\\\\[[[STTSSRSRSTTTUTUVUUVVTTUUTUTTUVVWXXXXXXXWWVWVVXXWXYYXWXXXYZZYXXYZ[YXZ\\\[[[ZZZZYYZ[[\\\[\\\\]\\]^\\\[[\\]^^\\]\\\[\\\\\\\\]^^^]\\]]]]]]]]]\]]_]^^]]^^^^^^]\]^]\\\^^__^__^^^__`__``___```___^_a^\`_`aaaa``ba_ab_a`bbbbbbbbbbbaabbabbbbbaaabbbbbbbb`abbbbbbbbbabbcbbbbbbbbbbabcdbbdcdddccbbcccbabbdcbbbbbbbbbcedcccbcbbbdddcbbccddccdcdefedbbbbbbbbbdeedcccddeeedddfeeddddedddeeeeeeeddcdegeeffeccfgfdcdeedefdcdeddbbdecceeeeffdeeceeddeeeeddeeefffeedddddddddfddgdfdccccdfeeddcdeedeeeeeeddcddcccbbcdeeedcbccdcbdfcdddddddedcdedcccccbbbbbecdcbcccbbbbcbbbbcbbbccbabbcccccbbbcedbbbbbbbbbbbbbbbbbabbb``ababbbbbbbba```abb`bbbbaabbbbbbaaaabbaaaa`_`a``_`aaaaaa```_^`aaaa______^^^]^_____^^^__^^^^^]^]^^]]\]]]]^]]]]]]]\\\\\]___^^]\\\]\\\\\\\\\[[[RTUTTTTSSTTTUUUUUUVVUTTUVVVVVWXYWWXXYYXXXVWVXYYXYYYYYYYYZ[\[ZZZZ[ZZ[[[[[[[[\\[[ZZ[[\\\\]\\\]\\\][\\\[[\]^_\]_]\\[]\[\]]\]]]^^]]]]]]]]]]]^\]]^]^^^^^^^_^^]\\]^^^\]^_`_``____`____a```aaa`_`_`a_^a``aa`__`bb`ab`bbbbbbbbbbbbcbbbcbcbbcbbbbbbbbbbbbbbcccbbbbbbbbdeeccbccbbbbbbddbbdcddcccbbcddbbbcddbbbbbccbceffdcbddbcbdcddcccdeedcdddddccbbbbbbbbcdeeccccddeeedddeefffeeeeedeeeedeeeeddefeeefeddeffeeefffeddefededbbdddddfffedeedeedcdeefeeeeeffffedddedccdeeddfddcccdddeeeddddeedddeeedceddedddcdeffedcbbbcddcdfcdddeddeeccdeddddddcbbbbdcdcbcbbcbbbbbbbbbbbcddcbbbcccccbbbcedcbbbbbbbbbbbcbbbbabbbbbbbabbbbbbbbabbbbbbbabbbaabb`abaabaaaaaaaa`_`aaaaa``baaa```_`abaa``a``_^]^^^^_____^^``_^]^__^^]^^]]\]]\\]]]^^^^^\\\\]^^^^]]\\\\\\\\[\\\\\\[\STUUUUUTTVUUUVUTVVVVUUVVWWVVVWWYWXXYYYYYYXYWZZYYZYYYYYYZZ[\\\[[[YYZ[[ZZ\[[[\\[ZZ[\\\\]\]\\\\\\]\\\\\[\\]^_]]_]\]\]]\]^^^^^]^]]\\]]^^]]^___^^]^^^_^^^___^^]]]^``^^_aa__``__```__`ba`abbba__^^^___``aaa``aabaababcbbbcbbbbbbbbbcccdccbbbbcbbbbbbbbccdddcbbbbaabbccdddddcccecbccccddeeddedccddcbbcddcccbcddcdeeeedceeddbcccedddefecdeedcbbccbcccccbdefecccdddeeddefffffffffffffffeefeffeeeeeddefedefffggffgeddfffeefecddccdffffefedeeddeeefeeeeeffggfeeddddcceeddddccdeeeddeedddeeeeddddedceeeedeedeefeedddccdddddecdddeddfdcccddddddddccccdcdcddbccccccbbccccddddeedcccccdccccddccdccbbccbbccbbbbbbbccccbbbbbbbbbbbbbcbbccaabbbbbb_abbbbbaaabbbaaaaaabbaaabaaaaaa`bba```abaa`__``_`_____^^```^]^_`_^]__]]\]]\\]]]^_^_^\\]]]]]\\\\\\\\]]\\[\\\\\\\\SUVUUVUTUVVVVVVVVVVWVVWWVWVVWWXZYYYYYYYYZYZX[ZYZYYYYZZ[\\\\\\\[[YXY[[[[\]\\\[ZYZ[\\[\\\\]\\\[\^\\]]\\\]^]_\\^]]_\]^^____`___^]\\]^__^_`aaa__]__``_^^_`_^_____`_]^`bb`_````aaaa`abbabbbbba`_^_aa`aaabbbbbabbacbbbdcbccccccbbbcccddedbbbbbbbbbbbbbbcddddcccccccbbccdddcbcdfdbcdddeddddeffddeddddccbcddccdcdeeddeeeeeddcddeddeeeffddeeedbbdccfgedcceffeddddeedddefhgfeffgggggggfffgfffffefffedeeedcgfgggeegfeffeggeeffeeccffffffgfdfeeeeeeffffffgggfggfdcdeedfeeedfggfeeeeeddcdefffeedddeeefffedefeeffeeeffddddddddcedddddfddccddddccddddddeeedeececcdedcceddefedddedddddcdcddcddddddcccdeededbbbbbbbbcccccccccccccbbbbbbbbbbbbbbcb`bcbbbbabbbbbaabbaaaaabcbaabbbbaaaa`aaaaaaaaabb`a`_^^____``_^_``__^``_^\]^]]^^]^_^_^]]^]]]\\\]]]]]]]]]\\\\\\]]]]UUVWWVVVVVWWVVVVVWWVVVWVVWWVVXYYXXXYYYYZZYYZZZZZZYYZZZZZ\\\[Z[\\YYZZ[[\\[[\\\\\\\\[\\\\[\]]\\]]]]]]]]]]]^^]]]]]^]^`````aa````_]^^_`___`aaa`^]_``__^___```______`````a````aabbbbbbbbbbbbbbaabbbbcbbbbbbbcabbbbbbbddddddccccddccddddecbcdabbbbddcbbccccbbcbdcbcdbbbdedcbcdfdccdeefddccdefeeeeeeedddcddccdddedecffffeddddeedeeeddefedcdefedcefeeeedeeffedeefffeeeffghgdehhhggggfffgeehgeedffeeeffffffhheeggggfefggffgggedeffffffgfegffgfeffefggfffgfgggfefgffffedeffffedeeeeeeefgfgegfefeeffffeeedeeffeffffgedddeeceddddeeeedddddddcccdeeeefeeeeedddddedcdfeeeeedddddeeeeeeddcbcdddddddcefdedcbbbbbbbbcccccccddddddcbbcbbbbabcccdcbbbbbbbbbbbbbaaaab``abbabbbbbbbb`a``abbaba`abba``ba`__`_^__`___`a`__``^^\\^^]^^^___^^]]]^^^^\]_``\\]]]]\\]]^]\]^\TTVXYXYYYYZYXXXXWWWVVWVVVWXWWYYYXXYZZZZ[ZZZZZZZZZZZZ[[[[\\\[Z[\\\\\\\[[[\\\\\\\\\\[[\\\\^^]\\]]\^^^^^^^^__^]]]^`__a``a````aaa`]^^_____`a`a`__`aaa`____```__```aaa```````aabbbbbbbbbbbbbbbbbbbbccbbbbbbccbbbbbbbcdcccddddddddddddeeecbcdbbbcdccbbcddddccdbdcbddbbbcddccccdccdeeefddddegggffffffffddddccddcddfdfggfeeeeefegffffeeeeeeeedeedffddeeeddefeeefggggfffffggefhhgggggfgghgfggggffggfffffghfggefhgghgffggggghgfefgfffgggffgffggfffefggffgghfdehhhgffffeddeffeeeeedegfefgggghggggfggggffeddefffgfefgeeffgfeeeeddefeeeeeeeeeddddeddeddeeeeffdeeedddeeeeeddccddeddddddddddedddddddefeedccccccbbccccccbccdddddbbbccccbbbccdedbbbbbccbbbbbbbbbbbbcbbbaabbbbbbbaaa`abbbaaaabba``bba``````___````__^``^_\^_^]^^^_____]\\^]^_^^^^\\\]]^^]]^^^]\]\\VVVYYXXWXYYYXWWXXWVVWWVVXYYXXYYYYYYZZYYYZZZZZZ[\[[[[[[[[\\\\[ZZZ\\\\\\\[\\]]\\\\^]\\\\\]^]]]]]]]__^^^^^^_`_^]^_b`_`_`baabaaaa`^_______``aaa``````_^__````__`abbbbaaaaaaa`bbbbbbcbbcddcccbbbbbbbbbbaabbbcccbcdcccdccddddeddddeeeeeddcbccbbbdddcccdeeeeddededdeecbeeeeddccddeeeeeeeeefgggffeeefffefeeedddddeeheffgfdeffffeggfgffffffffedefeffeefggddefffffhhhgffggfggeghhggggggghhhhghhggfffggffghhgggfghgffggggghhgghggghgfghhggghfghhffffggggggggfffghhhhhhhhgffffffggfeehgeeghghhhhhgggfgffgfeeeffffedegeeeeeedeeeccefdefgfeeeeedddddddddddddefffeddefeefeeeeeeeeeeddeeddeeeddcddddcdededdddedcccccccbbbccccddcccddcccbcccbcddbbbbbcdcbbbbbbbbaabca`bbbbbbbbbaaabbaabb`aabbbbaba`aaaabb`___`a```_^``__]^_^]^_^_^___^]]^]^^^^^]\]]^^^_^^^^^]]]]\VVVYYYYYYZZZYYYYXWVVWVVVYZZYXYYYYYYZZZYY[Z[[[[\\\\[[[[[[\\\\\[ZZ\[[[\\]]]]^^\\\\]]]\\]]^^]]^__^]`_^^^^^^_`_^^^`ba``_`bbabaaaa`^```__````abba`````__`aa`````abbbbbbbbbbbaabbbbbbbbbbbbcccbbccbccbbbbbbbbbddcdedcddcceedcdcddeeeeeedddcccbbbbdefeddefeeedfedddedbbffeeeeeeeddeffffeeefggfffeeeefeeffffeeeeefghfffgfeefffffggfeddefeddefgffefggfgghedeggfffhhgggghhfffeghggggggggghhhhhhfgfefgggfggggghghhfeefghggghfghhgghggghhgghhgghhfffgghgggggfghgffghgghhhgfffffghhgfeggeeghhgggghgggggffggffefffeeefgfffeefeeedddeedeghffffeeeeeedeeeefeddefgfdddffffffeefggeeeeeeefdeefedccdddcbcccdddeeedccccccccccddcdddcccdcbcccedcbbbbbbbbccdcccbbbbbaabbb``bccbbbbbbaaabcbbabbabbbbbbb```aaabb``_`aaa`a`_aa__]]_____^`__`a`_^^^]^^^^^^^]^]^_]^^]]]]__]UVWYYY[[ZZ[[ZZZ[YXWWVVWWXYYYYZZZZ[[[[[[Z[[[[\\\\\\[[[[\\\[\\\\\\\[Z[\]^^^^^_^^]\\\\]]^_``__``_^]__^^^^__``__```abaa``a`aaabbba^^aa``aaaaaaaaaabbbaaabbaaaaabbbbbbbbbcbbbbbcbbbbabbbbcccdccdccddbbbbbcddcccdeedcdecceeccdbceeeeeffedddddddccdffeddefefeegfddeedddeeeedefgeddefgggfeefgggggggffggfgfggfffedfghfhhggfffffgfggfeddefedceghgffghgfffffefghgffffghhhhggffefgfggggggggghhghhfgfgghggggfghhhhggfggghhhffhgghihhhhhhhhgghhgghgfffhggggggggffgghhhgghhhgffffefgggefgffffghfeefghhhhhgghgfeeffgfeegeefgfgggfedeeffffggffggfeeeeffffefffffghheddeeffghgfeeffeeeeedeffeeeedddeeedcbceddddeedccdddddeeeedddedcbcccccddddcbbbbbcccddddddcbbbbbbdcdbbcbbbbbbbbbbabbcbbbbbbbbbaaabbabbbaa```abbbba`_a`__]]`a``__aa``aa`^]___``_^]]\]]^_]^__^]]__]VVXYXXYYYZZZYYYYYYYXWWXXXYYZZZZYZ[[[\\\[\\\\\\\\\\[[[\\]\\\\\\\\\\[\\]]^^]^___^]]]]]]^_`a__``__________`````aa`aa`a````aa`aaba^_aa`aabbbbaaaaabbba`aabbcbbbbccbbbbbbbbbbcccccdcbbbcddeedcccbbccbbbbbceecbcdeeddffdcddccdbceeeeefffdcdeefeedddddddeeefffggefgffffeffedefggffghhggggffggffghhgggggggggffgfdfghfhhghfffffgggggfgggfffffggggfgggfffggggghhhgggghhhhghggffgfhggghhhhhhhfghhhfggfefggfhhhhgffghggghhgfhhhiihhhhhhhggghhhhhgghhhhhhhhhhhgfghhhhhhhihhgghggfgggfhhghhgghgfffghihhhhhhhffgghhgedfeeghgghggeeggfghhhgffggfffefffffdefffffghfefgeefhhggedefeeeeeddefeeeedddeeeddcceeeddddeedeeddeeefedeeeddceedeedcbcddcccccddccccccccbcddcebbbccbbdcccbbbbbabcdcbbbbbbbba`baaabba```aabbbb```aa`a_^ab`_^_ba``bbb`_baa```___^_^^_]]a`_^^__^UVWXWXYYZZYYYYYYYZZYXYYZZZZ[[[ZZYZZ[\]]\\\\\\\\\\\\\\\]]^]\\[\\\\[[\\\]]]\]____]^^^^^^^_`__```aa_``````a`a`aaaab`_aaaa`bbaa`aa_aaaaaabbbbbaaabbbbaaaabcddcbcccbbbbbbbbbccccbcdedbbbbcdccbbbbbbcbbbbbdfedbdeefffgfeddddddddeeeeffffdceeefeeedcccddeeefffgedegffgfggggffffhhhhhghhhhggggfefghgfffgggggfgggfgfhfhgfhffffghhhhhhhiihhhhhggghgggggghhghgghhihihhhhhhiihhghhfhhhhhhhhhhggghhhgfgfefggghhhhgggggggghhhghhhiihhhhhhhhhhhhhhhghhhhhhhhhhhhhhhgfghhhhhhhggihhgghhhhhhhhhhihhhggijhhhhhhhghhhhhgedehhhhhhhhgffggghhihhgfffggfffgggfeeffffffgggggfffgghhfddffeeffeeffeefeddeefeefecefeedddeeefgecdeefedeedddegfeffdccddeeedddcccccccbccbcddbdbbbbcbcdddcbbbbbbbcdccbbbbbccbaaaaaaaaaaaabbbbaaaabbbba`ba`a``aa``bbbbbbba``aaaa``_``^^a``__``_VVWXWXYYXXXXXXXXYZZYZ[[ZZZYZZ[[\\]\\\\\[\\]]\\]_]]]\\\\]]]\\\\\\\\\\\\]]]\]____^]^_______``````a_`aaaaaa`aaaa`abb`bbbbabbbbbbb`aabbbbbbbcbabbbbbbbcbbbcddccccbbbbbccbbbbcdcbbcdcdcbbcccccccdcdedbbbcegfeeffeffffffffffedeeeefffffgedffeeeedddddedeefggggffghgghgghhhhhgghhhgfghjggggghhffhhhfefggggggghhhgfhghhhhfffghhihihhghhhhhhhhhhhhhhhhhgghhhfgijiiiihhhijhhhghhfhhhhhhhhhhghhhhghhhhhgghgghhhhhhhhhhhhhhhhhhhhhhgghhhhhhhhhhhfhhhhhhhhhhhgggggghhhhhiihhhhhhgghhhhhhghhhijihhhjkhhhhggghhihhhgffhhhhgefghhhhhghhhhhhggfghhggghhggggghhhhhgggfefgggghhfccffeeggeeffffgfddfffeegfcdggffeeeefhheddeegeeffddeefedfgeeedddeddcedcdefecbddccedbedecccbbbcccccdcbdedbbbbccccdecbabbaaabbbbbbccbbbbbbbbbbbbaabbaabaaaaaaaabbaaba_a_```a__aaa````_VWWWXYYYYYYYYYXXYZ\[ZZYZ[[ZYZ[[\\\\\\\\]\[[\]]\]^]\\\\\]]\\\\[\\\^]\\]]]]]^__^^]\^_```_^_`aa``aa``aaa`aaa```aaaabbbbcbbbbbdccdba`bbbbbbbbbbbbbcbbbdccdbdcbbbccbbdbbcbcdcccbbbbcddccccdefffdeeddededcegfefcegefgdefhhgfedfgfdfffgggfffeeeeeeeefffeeefhhhgghhhgghgghhhhhgggfffghhhhefhhhhfhhhhgghhhghhghhggghhghhhhghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiijhhihihhhhhhhhhhhhhhhhhhhhhhhhhhijhhhhhhhhihhhhhhhhhhhhhiihhhijiiiihhiihhhhihhhhhhhhhhhhhhhhhhhhhhijihhhhhhhfgjjihghiihiihhhiihhhhhhgghhffghhhhhhhggffghhhhhhhhhhhggghhhghhhhihhhghhhhhghgffggfgggggfffggefhfffffgggfeefggffffeeeeddeeeeggeeeeefegeedgfeegedfefgeeeedbdededcddeeeffdfbcegecdcbabbccdeffedbbbcccccccddccdcbbbbbbbbccccbbabbbbcbbabbbbcbabbba``abbabbaa`b````aa`_a``a``_`XXWWYZZ[[[[[[[ZYZ[\\ZZYY[[[ZZ[[\\\\\\]^^\[[\]^\]]]]\\\\]]]]\\\\\]^^\\]]]]^___^^^^^____``_``___``ba`aaaa```_``aaabbbbbbbcbbddedbaabbbbbcbbbbbccbcbbddccbbbbbbccccbbcdcdeddddccdeedccddeeffedeeddeeffefgfefdegefgedfgfeeeefgfeggghhgfefffgfffffffffffghhhggghgghhhhhhhhhhhgffghihhhghhghhhhhhhhhhhhghhhhihhhhhghhhhghhhihhhggghhhhhhihhhhhhhhhhhhiiihhhhhhiighihhhghiiihhhhhhhhhhhhhhhhihhhjihhhihiihihhhhhhhhhiiihiihhhhhiiihhhiiijjjkihhiiiihhiiiiiihhhhhhhiiihhgghhhhhjkkihijiihhhhhiihihhhhhhhggghhhhghhhhhhhhhhhhhhhhhhhhhggghhhhhhhhhhghhgggghhggggghhhhhhhgfhfghgffffgggggfgggfeeeddefedeeeefffggfedefeeegfffgeefeeeddeeeceedeedeeffegeefefegeccccdcccccdddeedccddddddcddddedcbbbccccccccbbbcbbbcbbbbbbbbbbabbb``abbbbaababbbbbaaa`aaaaa```XXXX[\\\[[[\\\[ZZ[\[YYXY[\\[\\\\\\\\\]]]\\\[]_]^^^^]\\\]]^^]]]]]^^^]\]^]^____^^________````___``bbaabaaabaabbbbbaabbbbccbbbdedcbbbbbcdcbbaabcbbbbcccccccbbbcccddcbcdcdeeddddddddcccdddeefedefeddfhgffgfefeefeffeefffefffggggggghhgeeeghhhgfgggggggghhhhfhgggghhghhgfghhggggghhhhghhhhhhjhhhhhhhhhghhhiihhhihhhhhihhhhhhihgghhhhhhhiihhhhhhhhhhhiiiiiihhhhihhjihhhhjjihhhhhhhhiiiiihhhihhhjjhhijijjiihhhhhhhhiijjijjihhhhhhiihijihijkkkiiijjiiijkjjjjihhhhhhijiihgghhihhijjihjjiiiiiiiihhhhhhhhhfhhhhhihhhhhiiihihhhhhhhhiihhgghhhiihiihhhhghhghhhhhhhgfghggghihgfhgghggfgggggggghggfeeddefffefffefffhhgfefgfeggfffgfffefecdeddcdedeeegggffffegfgdffeedccdddeeedeeffddeedcddcddddddcbbccbccccccbbcdbcbbbbbbbbabbbbbbaaabbbbba`aaabbbbabbaaaaaaaa`WXYZ\\\[[[[[\\\[[\\\ZZZ[\\\\]]\\\]]]]]\\^]\\]_^_____^]]^^__^^__^^]]]\^_]]__^_^^``_```_^^```````abbbbaabbbbabbbbbaabbabcbbcbddbdcbbbcddcbbbbbcbbbcdbbcbfecddddddeedddccdecdddddddbcddedeegfeefedefhhgffffffffffedefgggggghhghgfghhgfefghhhgfhhgghghhhhhhghgghhhhhhhgfghhgghhhghhhiihhhhhhihhhihhhhhhhhiihhhihhhhhihhhhhhhhhhhhhhhhhhhhhhihhhhhhhhhijjiiiihihijihhiiihhhhihiiiijjjjjihhihhhijiikkikkjihhhhhhhhhijjijjjiiihhhiiiijihijjjkjjiiijjjklkjkkjiihhhijjihhhhhhhhhihhhhiihijjjiiihhiiiijjihhhhhhiiihhhiihhiiihhhhhiijihhhhihjihihhhihghhhhhhhhhhhgggggghihhhhgghfghghhggggghggggfefffggffggefefhhhgghhgeggefegfffegfdeeddddedfffgghfgehehffefghgfddeeeggffgcefdddeebdddddddcddcdddbccccbbbcbbbbcccecbbbbbbbbb``bbbabbcaabaaabbbabbbabbabbbaWYZZ[[[[[[[[\\\\\\\[Z[[\\\\\^^]\\\]]]]]]]]]\^_^_`________``____]^]]^]^_^]_^^_^]`a`abb`__````a`abbbbaaabcbbabbbbbbbbbbbcacddfebccbbccccbbcccccdddddbcccffffffeefgffedcbceddeeeeedcdeeeeefgfeeffeefhhggffghhhhhgefffghgggghgghgghhhhgfghhhhgfhhgghhhhhhhhggghhhhhhghgghhhgghiihhhhhhhhiihhihhiihhiiihhiiiiiiihhhhhihiihihhhhhhhhhihhhhhiiihhhhhhiiijjjiiiihiiiiihhiiihhhijiijjjjiiijjiiiiihijijkkikjjiiiihhhhhhiijjjjjjjiiiiiiiijiikjijjjjjjijkkkkkkkjihhhhhhiiihijjihiiiiiihiiiijiiiiiiiiiiiijjjhhhhijiiiihhiihhijjiiiiiiijjjihhhhjihhhhhihhhhhhhhhghhhhhhhhhhiihihghhfghghhhgggggfghhggggghggfggffedfghhhhhgegfeffggfffggeffffeffeggfgggfgfgggfegffffffffffggffgcefeddefdeddeedecddddedceddccccdccbbcbbccbbbcccbbbabcdbaccdbbcbbbccbbbbbbbbbbbbbY[[[[[[\\\\[\\\\\[\[Z[[\\\\\]^]\\\]]]]]]\\]]__^__^^_`aa````___^^_^^_^^_____^__^`aaabba````_```abbbbbbbbbbbbbcccdbbbcccbbbdefecdcddddcccdcddccefedddefeedffffeffgfffffdcedeeefffeeeeffefgffedffeefgggggghhhhhhhfgggghhhhhhhhhgghhhhhhhhhhhgghhgghhhhghhgfefhhhhhhhhhhhiiihhhhhiiihhhhiijjjiiiihijjjiiiihjiiighhhhihhihihhhhiihiijiiiiiiihiiiiijjjkkkjihhhhijiiihhhhijjjjiijjkkjjiijjiiijjjjiiikkkjjkjjjjijjjjijjkjjjjkjjjlkjiijjjkkjiijjklkklllkjkjiihhiiihhhhijjhjiijkjjjjjiiiiijjiiijjjhiiiiiiijihiiiijiiiiiijjjjjjjjiihiiiiihhijjiiihhihhhhghhhhgghihhhhhhiiihhhghifghhhhhhhhhgghhhhhhhhhhhgghhhgefghhhhhhfhhggghgfgefffgfggefffhhggfffegdhdhehgffffgffffggfffeeeeddefffeddedededccddeffeeddeefeecdbbbcbbcddcbbcddddbbccdccdcccdcbbbbbbbbbbcbb[\\\\\\\\\\\\\\\\\]\[\\\\]]\]^]^^]]]]^^]]]_^^^^``_^_abba```______`___^^`````aaaabbaaaa``a``aa`abcbbbbbbbbbbbbbccccbcccbcbbdddeddeeeeeeeecddccdeeddeffgeeeeeeeeffefghhececdeffgfefffffffgfgeefgfefffghhhhgghhhhgghgghhhhhihhhghhgghhhhhhhhhhhhhhhhhhhhhgfffhihhhhhhhhiiiihhhhhiiiiijjhhhhkjiijiiiijiiihhiijihhihhihhhhijjhhiiiijjiiiiiiihijjjjkkkkkkjiiiiihjijjhhhhijjjjjjjkkkkjjjjjjjijjlkjijklljjljkjkjkkjjjkkkkjjkkkkkmkjjijkjkkiijjjkllllllkjjiiiijkjjiiiijklhjkjjkkjjkjhhiiikkkjjjjkkjjjjiiilkihhijihjjiiijjjkkkjjjjiihhijjjkkkkjjjhiihiihhhhhhghiihhhhiiihhhhhhhgghhhhhhhhhhhhhhhhiiihiihhiijhhhhhiiiihhhhhhhhhhhfeeggfhhdfffhhhhgggfgdheheihhhhhhffggggffefeefeeeffgfeeedeggfeddfgffffeeeecddceeffcccdddddddeeddcbdcdccdcdccbbbbcccbbbccbb\\\\\\\\\\\\\\\\\\\\\\\\\^^]^^_`_^^^^_``___^]]]a`___aaaa`_^^^__`_``__^^`a`abbbcbbbbbba`_aabcbbbbbcddcbbccbbbccccccbbccbedbcbbeddedefffeeddddddefecddehfgeeeefffffgghhecedefgghgfggggggghggffggfefffghhhhhghhhhhhhgghihhhhhhhhhihghhhhhhhhhhhhhhhhhhhihhfgghijiihhhhiiihhhiiiiihhhhhihijhkjiijjjiijiijhhiikjhijhiihhhhiiiihiijjihiiiiiijjjjjjjkkkjjjjjjkkjijiklhhiiiiijkkjjjjkjjjjiijjjjknlkkkklmjjlkljlkjiiijjkkkkkkkkklkjjjjkkjkjiijjijjkllkkkkjijkkkkijjjkkkkkjlljjkkkjkihhjjkkjjjjjjkkjiiihhhjkjhhjjhhjjihijiklllkjjjjiiijjjijjkjiiihjihjjhihjkihhhhhhhhijihghjhgghhihhhhhhhhhhhhgghiihhiiijjjjihijjjihhggfhhhhhhhifcdhhgjhegffiihhggghehgggfgfghgfgfghhhgfedgeefgffgfghgfeeegffedddfefffeeddeeececdcdddddddeeeccddcbeccccdcdccbbabddcbbcccbb\[\\\\\\\\\\\\]^^]\\\\\\^\\\^_^^^]^^^``]\^_``^^`a``aaaaa____`a``^_`a`^_abbbbceeedcbbbbbbcbbbbbbacdeedccdcbbbccbbcbbbbccbbbcbbeccdddeeeedcddffdefegfeffedfghggggggfgggedgeeghhhgghhgghhhhhgfghgfffffghhhhghhhhhhhhhhhhhiihhhhihhhhhhhhhhhhhhhghijiijkjhhhhiihhiihhhiiihhhijiihhjkjhhiiiihjiijjjjijkjjihhhiijiikjhhhiiihhhhhhhijihijjiiijjkjiijkkjkjjjkkkjikkiliijjjjjjjiijjjjjjjjjiiiijkmkllnkkklmjklklkkjiijkkkkkkjjkmmlkjjkkkjikmljkjhijkkkjjkljkkkklkikkjlnmklnnmiijkkkjjkkkkklkjkkjjkkkkjjjjiijjjjjihhijihhjkkllkkkkkkkjjjjjihiiihihhjiiiiiijlkihhiiihhhiiihhikiggiihhhhhhgghhhhhhhiiihhhihhikijihhkkiihhgghhhhhhhhhehhhgggghhhiihhgghhfhghfgeffghhhhihhhggfchfefgghhgghhhfedgggeecdfeefeeeeefhgeedceeeececdedbdccedfgdbbdddcccdcbbbcbbbbbccb\[\\\\\\\]]\\]^^]^]]]]]]]\\]^^^^_^^^^__]]^^_`__`a``aaaaa``__`a``aaaba`abccbbccdddcbbbbbbbbbccccdcefedcccccbbbbbccccccdddcbdcdfdeeddddeedcccefefefgffghfefffghhhgffggggfhffhhhhgghhhhhhhggggggfeffghhhhhghhhhhhhgghhhhhihhhihjhhhhhhhhhhhjhhiiiihiijkjihhhiihhhhhhhhihhhhiijjiiiijhiiiiihjiiijjiijjjjiiiiiijiikiijjkkkiiiihhiikkjhijjjkjjkkkklllkkjjjkkihklljmjjljjjjjiijjiiijjkkkkjjjklmlmmnkmllnklllmllkklljiijkkkklmlllkllkjkjkmljkjijjklkkkkkllkkllkjkkklnmkkmnlkklllkkjjkkkklkllljjkmlkjjjjjjkkjjjjijjkjijklklllklllllkkkkjijjjjkkjhiijkjijkkjjiiiihiihhhiiijkjiijiiihhhhhhhggghiiihiihihhhijiiihijjhhhhhhiihhhhhhhgghhhiijkhhihhhhhhhghhihhfghhihhihhhhgghhihghhhhhgggggfeefgfffeefeeeeefffeffghecffeecedeefdedddbdfdccddddddcddddecbbbbbcb\\\]\\\\\^^\\]^^]^_^]^^^\]^^_____^]]]^_]^^__`aa`````aaabb```aaaabbabbbbbbbbbbcdddcbbcccdfdccddbbceeeddddcddccbcddccccdeedcdddeeffeefeffefedfghhgggffghgfggfghhhhfghgghhhgfhhhhghhhhhhhhgfgghgeegghhgghhfhhhhhhhhhhhhhiiiihihjhiihhiiiiiijhhiijjiiijjjiiiiiihhhhhhhiihhhhjiiiiiihiiihhiiiiiiijjiijjjihhhijkkijkijkklllkkkkjiijkkjiijjkkkjiklljjlmmlkkkkkjlllkmjkmkjjjjjjjjihijkklkkkkkllllnmmkmmkmklllmllklnmkijkllllmmmlmlmmkjkllmlkkjjklllklmmkmlllllllkkllnmlkmmllllkklkkjjkkkllmmlkklnmmllllllmmlllmmlkkkjjllklmllllllllllkkjkkkkllkkjijjjiiijjjiiiiijjjiijjjjjjkkjijiiiiiiiijiijjkkkjjjjihijjiiihijihhhiiiiijiiiijihhhhhhhhihhhhhihhhhhhhihhghhhiiiihhhhfghiihhhhhhhgfffffffffffggffffeeefgggffghfdefefegeeefdeeedbdedcdeddeedccdeeedbbbbbcc]]^^^]]]]^^]\]]]^__^]]]^]]^_````_^^^^^_^_````bba```aaaabba`ababbbbabbbbbbbbbbcdeccccddeedeeecccdddddeeeeddddccdfeddddeeeddddedddeddeefffghghhhihhhgffggghhhhhhhhhhhgghhigfhgghghhhgghhhgfggggfghhhhffhhhhhhhijiiiihhiijjiiihjhiihiiijjjiiijjiijjiiiiiiiiijjiiiiiiiijihhijihhhijkjihhhijiiiiijjjjjjjihhijjlkilmjklkkllllmlkjjjklkkkjjjkjjiklkkklmmmmllmnnlklkmjkmkkkkkjkkjiiijkklkllllllllmlmkmlkljlllmmmllmmmmlllllmmmmlmlmnkjklkllkkkklmmllmmmmmllmmmlmlmmmnnlkmmlllkjkllkkkklkllmmmllmnnnnmmmmlllklmnmmkkllkkkllmmmlkkjkkllkkkkkllkklnlihijjihjjjiijjjkkkjjjjijjjkkjijjjjjjjjijiiiiijjkkkkjijkjiiihhiiiiiiiiihiiiihiihhhhiijjkjhiiikkkihhhhghhiihhhhhjhhhhhhhhihhhhhhhhgggfffffggghgffggfefggghhgfggggeefehffefeefeddeeddffeefedccddeedcccccdc\]^^^^^_____^]]^^^__^\]^____`aa`a``_____``aa`aba``aaaabbba`aaaabbbbbbbbbbbbbbccccccdeeeedeffdcegedcceffedcccdddefedeffedeeeeecccdddeefgffgfghhhhhhhfffghggghggghhghgghghhhhhhhghhhggghhgffffgghihhhhhhiihhhhijjjjjiiijjjjjjijhiihhhijkkjiknnlkkjjihijjihiijjijjjjjjjjiiijjiihiklkihhhjkjiiiijjjjjjjjjkkljkjimnllmllllllllkkkkllkllkkkkjjjjklnnmkklmnnnmmlkmlmjlmlllllkkkkjjjkkkkklmllmmlllknlmlkljlllnmnmllmnmmlkklmmmllmlmnlkkllklllkllmlmnnmlmlllmnmmmmnnnnnmllmmllkkllmmllllllmnnmmmnnmmnnmmnmmllmnnlmklnmlljlmmmmlkkjkllllllllmmlklnljijllkjjkkkjjkkkllkkkkjjkkjkkkkkkkjjjihiikkkkkkkkkkkkkkjkjihhhijiijjjjiiiiiiiihhiijjjjkiijiijjkjjkhjhihiihhhhijhhghiiiijiiiihhhhhhhgffffhhgggffhhggghhhhhhfghhhfefegfffgffgfeeefeeghgfeeddddddedcdddccb]^]]^^^^___`_^^^]]^`_]]_aa`_`aa````aa``aa`bb`aba`aaaabbabaabbaabbbbbbbbbcccbbbbbcccdeeedffffeeeefeddefeedcbcddddfeefffedefefecddedefffgfffefhghfghggggghgffgggghgfggghghiijhhhghhhhhhhhhgfffgghigghijjiihhhhiijjjjjiijjjjjkjkiiihhhhjkkjjkmmllljiijjkkjhhijjjjjkjjjjjijjjklkjjjkkihhikkjjiijjjjjijjjjkklllkjmnlkmmmnmlkklllllllkklllllkjkklllmmmmmmmmmllmmnmmlmmmmmmmlllmlllmmllklmlllmmmlknlmllmkmmmnnnnmmmmmmnllmnnnmlnlmnmlllmlmmlkllmlmnnmlllllmnnnnnnnnnnmmmnnmlllmlnnmmnmlmnnnnmmmmmlmmmnnnnnmnnmlmkmnmmmkllmmlkkklmmmmmmmmmmmmlkkkklmlkjjklmmllllkkkllkkkklkijklkkllkkkjihhiiiiiijjjklllkjkjiihijkjjjjjiijjjjjjjhhijjkjiihhjhhhhikkljkjjhhihhiiijhhhhhhikjjjiiiiiiijihgffghhggggghhhhhhhhhhhhhhhihgfdfefgfgfggfgffffgggfeeeeddddedccdcdcb^_^]^]]^^^__``_^\]]^___`aa`__`a`_``abbaba`ab`abaaababbbabbbbbbbbbbbbbbbbbbcbbcdddddeeeddceggfefgeeeeeeeddccdeeeeeffgffeeegefedfeedeedeeeggfhhggfgggghhghhgghhhhhhghgghhhhhjihhghiiihhhhhhhhhhhhjhhhiijihiiiiiihhijjjjjjjijjikiijiiihijkkjkkjjklljkkkjjjiijkkjijkkjjjjjjkkkllkjjkljjjjjkjjjjjkkkkjjkkkkkjllmklnlklmmnnlllnmmmlllkklmllkkkjlmmkkmnnnnmlllmnnnmmmnmmmmnmmmnnmmmnnmmllmllklmmmlmlmmlnlmmlmnnnnnnnnnommnoonmmnmmnnnmlnmmnllmmmmmmmnmlllllmnnnnooonmmnmnnmnnmlmnnnnnnmnnnnnnmmmllmmmmnnnnnmmlkmklmklnllllmlkklmnnmmmmnnnmmmmlkkkllkiijklmmlllllkkmmlkkklkijkllkllkkllkkjjjkkjjjjkklmljjkjijjjklkkkkjiiiiiiiiihhijkllkkjjkjijijjjjhiiihhiiiiiikiihhihhjijjiiiiiiiiiihhghhhghhgghhhhhhhhhhhihhhhhggefeghfgffgghffggffffffeeeeddedcdddddc__]]^^]_`aa`aa`^]]]]^`aa_``^_`aa_aabbbabb`ab`abbabbabbbaabbbbbbbbbccccccbbcbcdeefeeeeeeegffghgfddeffedddeddeffffeghhgffffhffedgfffffeeffhhhhheghhhfghhhhiiiihghjiihffhhhghiihhhhijjihiihhhhiihikkkigghhgiiiiihhhhijjjiiiiiihjhijjkjihijkjklkjkllklljiijjjkllkjjkkjjjkkkkkkkjjjklljkkkjjjjiijkkllkklllllkiikkkmmlllmnnmmnnmmmmmnmlmlkjjkkklmnnnmkkmonljlnnnnmmmnmmmmmmmmnnmlmnnnmmmmmlklnmnmmknnmnmmmmnnoonnnnnnnkkmnnnmmnnnnnnnmnmnnllmnnnmjknnmmmmlmnooopppommnlnnnnonnmnonnonnnnnmmmnnllmnnmmnnoonnnnnmklljlnnlllllkklnnnmmmnnnnnmllmmlkkkkjjkkllkjjklmllnnlkkllkjkllmlmlkjkkjjiijllkijkllllkjjkiikkklklllllkkjjjjijkjjjjijjjjjikjijjjkkjiilmmkkkjiiikjjhikjhihhihhhhhiihijihhhihhhhhfhiiihhhhhhhhghihghhghfghfhfggghefhhfefgghfeeeeedeeefedcb_```__^```_`aa`^^^_``__`bbaaaabbaabbbaaba`bbaabcbbbbbb`abaabbbbcccccccddcbcddddeeeddeeefggfffffffeecccdehhhggggggfghgggfhgfeefffdeggefggfgggghhhhgggghhhjihiiijighhhiihhhijihiihjihhhiihhkjjihhhhhihhhhhhijjihhhjkhhiijjjkkiiijijkkkkkklmkjkllkjkkjikkjjmmljjkjhijkkjjkllllkkkkljjjkklllljijlmmlmkkmmmkjklllkmknnmlklnnnmlknonmnmmnjkojkklmnnmllmnnnmnnnmmmmmmmmnmmkmlmlllmnnnmmmmnnmmmnnnnnnnnnmmnnmmoonnnnnnoommnnnnnnnmmnnnnnnmnnllnonnnmnnnnnnmpnpooonnnononnnnnnnnoonnnnnnnmmmnnnnmmmnnnnmmnnmllmnnnkknnnnnnnnnnnnmlmnnmllmnnmnnnnljkkjjkkjjlnmkjkmnmlmmllnlllkmnnlklllkkllmmmmmmlkjkmmklmjmnnmlkkkklkjkklmlkklkjkljijmnlklllkllkjijkkkkjjjjjjjiijkjiiijjjijiiiijjihhhhiiihhjjgihhfhhhhghhijihhiihhgghhhhgghhhffghghhhfffghgfddfggggggfeefe_`_^^^_``````a`__^^_``aaba_`aba`aabbbbbbaabbaabbbbbbccbbcbbbbbbcccccccdddddddccdefeefffffgfffffgfedddefghhhhhhhggghhhggfffgggggfeggfefggghhgghhhhhhhghhhihhhhhhigiiikjhhhijhhiiiihiiijihhkjjjijiiiiiijjiiikkiiihjkiiiijiijkkkkjhijjjkkkklkkkkkkjkkjikkkkklljjkkklkkklllkllllkklmkkklllmmmlkklmmlmkkllllkkklllmkmmlmmnnnnnmmnnmlmlmnkknjlnnnnmlmmnnnnnnnnnnnmmnnmnmlkllmllmnnnmmnnnnnnnnooonnmnnnnnnnmnnnnnnnnnoonmnonnnoonnnonoonmmnmmnmnnnnnooonnnpnppnponoonnnnnnnnnnooonnoonnnnmmnnnnnnnnnnmnnnnnnnnnomnnnnnnnnmnnnnmnnnnmlmmnnnnnnnllllkkllkkmnnmllkllmnnlkknnnkllmlklmmlllmmllllllllmmljlmllllkkklmnnmlllkklllmkklmkjklmkklkkklllkjjjkkkkkklkkkjjjkkjijjkkkkjiiijjiiiihhiiihijijihhhhhhhjhiihhhiihhhhhhhhhhhhhhhhhhhhgefghhhhgfghggghhgffgfaa`____```aaaa```_^^`abbaaaaaabbbbaaabbabbbbbbbbbbbbbccbbbbbbbbcccccccccdddccdccdeefggeeefeffeegfeeefghhhgghhhhggghhhhgfffghhgfffhhefgghhhhghhhhhhhhghhhhfhiihhihhhghhhiiiihhiiiiiiihijiikiijjkjjiijjlljjjkkjjjijkiijijiiijklkjijjjjlllmjlmkjllkkkjjkllljkllkkklmlkkllkklkklkkllmmmmmmmmmlllmmmmnmmmllnnnnnmnmklmmnnnonnnnnnnmmllnnmlllnmnnnnnnnooonnnnnnnnnnnnnmmllkmllmmnnnnnnnnnnnnooopponnnnnnnonnnmmnnnnnonnmnnnnnopoonnnoppnnonnnnnnnooppqopppoponoonppnpopppponopoonoonnmnnnnnnoonnnnnnnnnoonoooopnnnmmnnnnmnnnnnnnmmmmmmnnnnnnnklmmllllklmnnnmmlnmnnnnmnmmnmmkllklmnmklmmmlkkklmmnnmklmlkklllllmnmllllkkllmmllmmlklllkkllllllllkjkkllllllkkkkkkljiijjkkllkjjjjjjkkjihhijihiljiikhhhhhkihhhhiiihhhhhhhhhhgghhhiihhhgghhgghhhghgghhhhhgggf`a``a```aabbbaa````_`bbbabbbaabccba`abbabbbbbbbabbbbbbcbbbbbbbbbccccccccdddddedcdeeeffeeeefffdehgfefggghhghhihhghghhhggghgghhffggihfghhhhhhhhhhhhhhhhhhhhfiiijhighiijihiiiiiiiijjiihhhjjjkhhiijjjijjkllkkjjjjkkjjkjjlkkjjjjkkjjklljiklmmjlmmllmlkkjklllmkklmlkkllmmlkkkllllllkkllllmmmmmmlllmmmmmlllklmmnmnknnnnnnonnonnmmnnnnnmmnnnmlnnmmnonnnnooonnnnnnnnnnnnnnnmmlnmmnnnnnnnnnnnnnnnnopponnnmmnnonnnnnnnnnnonnnnnnnoopponnnnoppppoooonnnppppqppqopppnooopqpqpqqqqpppqoooooonnnnnnnnoponnnooopoooooooopnnnnmnnnnnnnnnnnnnmmmmnnnnnnnnkmnnnmlllkmnnllnnonnnmmmnmlmmmllmllmnmkkmmmmllmnnmnnmkkllklmmmlllmmkkllmmmmnmllmmllmmmlllllllllllllllllmmlkkkkkklkkklllmmmlkkkkkkllkjiijkjhhlihiljihhikiiiijiiiiihhiiiihhhghhhhhhhhgghhgfgggghhhhhhiihhgg___`aaaaaaaabaa``aaa`abbbb``bbbbbbbabcbbcddcccccbbbbbcdcbcdddccbbccccddeeeeddeeeefeeffeeffggfedghfeefgghhhhiihhhhghhhggghhhhhghhhihfhhhiihhhhhhhiiiihhihhgjhilijhiiijihijjjjkjjjjiihhhijjkhhiijjkjkkkkllkjjjjklkkkjkmmlklkklkjkmmmkijkkkkjlmmmmljjkkllmmlllmmkklkmnmllmmmmmmmlllllllllllmmmmmmmmmlmmlmmlmmnknnnonnnnnnnnmnnnnnonnnnonlnnnnnnnnnnooonnnnnnnnnnnnmoonnnnnnonnnnnnnponnnnnoooonnnnnnnnnmmnnoonnnoonnonnnppnopponnnoooonnnnooooppppqoopnqpqnqpoqrppoppppooppqppppoonnnnnnnooonnoppppooooooooonnonnnonnnnnnnnnnnnmmnnnnnnnnnlmnnnnmllkmnmllnooonnnmllnmlmmnnonmmnmklmlmnnnnnonnmkjklmmnnmlllmnnmlmmnnnnnmlmmlmnnnmmmlllllllllmmmmllllllkkkkkkkkklllllmkjjkklmlllkkkkkkiilhijlkjjhijiiijjiiijjiiiiiihhhhhhhhhhihgffgghhhhhiihhhhijhhhg_`__aaaaaaaaaaa``abbaaabbbaabbbbbbbcdcbbbcbbbbbbbcdcbcccbdeeeedccccbcdfggfeccdeeggeeffffgggggedegfedeghhghhhhhhhhghhhhhggghhhhhihihhhhhijihhhhhhiiiihiihhhihhkkkijhhhhhijjjkkkjjjijjihjjijiijjkkkkklkklllkjjjklkklklmmmlllmmmklnmmlkllllkjkmnnmljjklklmlmllmmllmmnnnnnnmnnnnnnmmnmmmmnmlnnnnmmmlmnnnnnnmnnonnonnnmnmnonnnoponoonoonpomnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnooooonnnooonnnoonopooooonnnnoonnonnnoponoponnqpnnopoooooppnnopoopppppppqoppnpppnqpoqrppopoooppqqqqppooonnnnnnnnnnnnpqpppoooooppoomnoonopoonnnnnnmnnnnnnooonnnnonnnnnonnlnnnnnnnnoooonnnnnnmnnnnnnnmnmmmnmmnnnnnmnnnllllmnnnmmmmmmnnnnnnnnmmmmmmlnnnmmmllmmmmmmmmlllkkkkklllllllmlkkkkllllkjjjlmmkkklllkkkkkljjjjiijhiihhhiihhhiijiiiiiiijiiihhihijhhhhhijiiijjhhhhijihhhaa``aaaaaaaaaaaaaabbbaabbbcbbbbcbbcddcbbcdbbcdcccddccccbbcddddedcddddefggfedddefffeefgggghhggfdefgfefhhhgghhhhhhhhhhhhhhhhhiiihhhhhhhhhijihiiiiiihhihiihhhhhikkkjkkkkihhjjjjjjjjkjjkjijjilkklkllkjklkkllmllkjkkkkmllmlmmmmmnmmlmlmmmnmmmlkkmmnmkkjklkklllllmmmmnnnnmnnnmmmmnnnnnnnnnnnnnnnnnnmmllmnnmnnmkmnnnononmnmmnnpnqqonnooonoppnonnnnnnnnnnnnnnnnnnnnnnooooonnnnonooppooopnnpqponnnoppqpponnnnppnoonnopooopppoooonnpppooooqqonpqppqqqppppppqpoppooppoqqpqqqppppqqrqppooonnnooonnnnnnopqqppoooopppoonnoooppooonnnnnnnnnnnoppononnonnnnnonnnnnnnoonnnnnnnnnnnnnpnonnpnnmnnnnnnnnnnmlnnnnnnmnnnnnnnmmmmnnnnnnmlmnmmnnnmmmmmmmmnnnnmnnkkkkkkkkkklmmmmmmmmmnmmmllkjjlmlkkklllkkkllklkkjjhjhjhhiijjhhhiijjjjkkkjjjkjiijhhjjjjiiijjijjihhhhijihhhaaa`abab`aaa`abbbbbbbbabbbbbbbbbbbcdcbbcddbbdecbbddceedcceedcdeddeeffffeeefffefgeeeeghhhghhhhgfefghgghhhghhhhhhhhghhhhhhiiiiiihhihhhhhhiihhiiijjhhhhijjihhikkjkiklkkkjijjjjiijkkljjjiijjkmlllkmmkjjkklllmmmljjkjjmmmlkmnnmmmmmllmnmlllklkklklmmjkjkljkllklmnnmnnnonnnnnnmlmnnnnnnmmmnnnnnnnnnnmmkmnnmnnnnoonmononnnlkmnpnppnnnnpnmoppnpoppponnnpoonnnnnnooonnnooqppnonoonoppnnnnopqqponnnnoooppooonnnnnppooppppqqppqpnnopqqpooonprqooopqqrrqpppooqppqqpqqqpqqqrrrqpoppqqqppooooooppoooooonoqqqppoooopppoopqpooqpooonnnnoooooppqrpononnoonnoponnooonnoppoppppoonnoonnmnnpponnnoonnnnnoonnnonnonnoponnnnnnnnnnoonnllnnnnnplklmnnnnmnnnnmmnllllmmllllmnmlkklllmnmlkmnmkklljkkkkkkjjklkjlkjkmjkikjjklmlkjkkkjjklmmlkijkjijjhijjjjjiiijjjkjhhhhjlkjjja`abbbbcbacababbbbbbbbbbbbbbbbbbbbcccbbbcbbbcdcbdcdfeefdfffedddeefffeeeegfhgdgegffffhhhghhhhhhhgggghijiihhhhhhhihhhhhhhhhhiiihhhhhhhhhhhihhiihikjiijklkiiijkkkjijjiijjjjkkjjkkkkllkkkjjjlllmllklljjllkjkllmlllllikmnnllmnnnmmmmknnmlllllkklmmmmnmllllllklmnnnmmnnnnnnnnnnnnnnnnoonmnnnnpnnlmnnnnnmnnmnoonoopmononnomnnopnooooononnonopnpoponnoooooonnoonpoonnnopqqqqqonpoopqqpoonosppnnnppppqqqpooonnnopppppppppponopponpqqpooooqrroopppprsrrqooopppqqpppqrsrqqrrqpqqoorpsropqppqponopqrqpopqqponoopppoopppppqqpopooooppoqpqopopppoqoqqqnopponooppoooopppopopqpoppnonpnnmnnnnnnnnonnnopooonnnnnnnnpnonnnnnnnoonmmnmnmkmnklnnooopnnnnmmnnlnnmmnnnmnnnnnmklmmmnmkkmmkkmnlkllmlkijlnlkkkkkjkjkjlklljkkkjjjjkllllmmllkihijjkkkklkjiihihklijjjjijjihi``abbbbbbacbbbbbbbccbcccbbbbbbbbbccbbcccccccdedcedefeeedefffeeeeffffffgghghhegeghhhhhhhhhhhhhhhhhhgghhhhhhhiiihhhhhhhiiiiiiiiiiiiiiiiiiijihiiijlkkkmmkihijklkjjkklkkllllkkkkllllllllllllmllkkjkkkkmmlkjkllkkmnmlklmnnmlmmnnnmmmllmnmlllmmmlmmnnonmlmnnnmmmnnmlmnnnnonmnoooonnnnoonnnonnpnnmnooppnnoonnnoopopmonooppnooppnnooopppnnonopnoopppooonnoppooppppoooopqopqrrqqrqpppqqqqqqtqqppqppooopppoonnnoopooprrqqpqqqqpooqppqqqqqqqqrppqqqqrqqqpppopppqqppppqqqqrrrrrrrpoqpssrqqqqrqqppqrrrqppqrqpooppppppppppppoopqrqooopoppoopppqpoqprrrpppoooopqqqppppppopoprppopopnpoonoonnopooopqpnnnoooopponnnpnooopoonnoonnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnoonnnnmnnnnmmmmnmllmmklnnmlmmnnmkklmlllkkkjkklkllmmmmmnmllklllkkmmmjijklkklmljjjjkkkkijihiijjjijjii`abbbbabbababbbbbbccccccccccccccddccccdeddddeeedfeeedeeeefffffffgggggggghghhgihhhhhhhhhhhhhhhiihiihhhhhhihhijjihiiihijjjjjjjiiiiiiiiiiijiiijjiijjhhjkkkkjkllkjjjklllllllkllllllmmmmmmmmmmmlkjjjkklmmllkkllllmnmlmllnnmlmmnnnnmlmlmnnmmmnnnnnnnnnonnnoonnnnnnnmnnnnnonmnpoopnnnnnnnnooopqnnnnonooooooonnoopopnononponnonnonopppqpnoonopooopqppponnoppoopqppppppqroppqrrrssrppqssrrrsqqqqrpppoopppponnopppppqrrrrrrrrqooprqqqrrqqrrqsrpqqqrqppqppqqqppqpppqqrqrssrrtttsqpqqrssrqrqqrrqqqrqrrqpqrrpqqqqpoooppqqqpoopqqponooooooppqpqppqprrqqqpopooqqrqqqqpppopoprpppqppnppqprqnnqrppopqpnnppppoopooonpnoooooooopqqponnopppnpoonnnnnnnonnnnnoonnnonmmmnnnnnnmnmmnmlmlmlmnnmmnnnnmlklllnnllllkmmmmnmmmllllllkkmnnnnmkmkkmmklmmmlklmlklkijihjkjkjiklkjabbbbbbbcbcabbccccccccccccdddccddddddeeedeffffffeeefeefffffffgggghhhhggghhhihihhhhhhhhiihhhhhiihhhhiiihhiijiiiiiiiiijjjjkjjjjjiiiiiihhijjjklkjjjmkijjjkmlkkklkjijkkkllkkllllllklnmllllmmmmmlkkkkllllmmlklmnmmlmmnllmmmmnnnnnnmmmmnnnnnnonnnnnnnmnnooonnnooonnnnnonnnonnomnpnnonnnnopnoqqopoppopopnnnqonoppopnpnpnpoooqnnqnoqpqrppppnoqooppppppppqpoonopqppqqqqrrqqpprsrrsrqpqssrrqrppqqrrssrrrrrqoooqqqqrrrrrrsssrpppqqqrqqqqqqrrpssqqrqrqpqrpoqrqqrqqqqpqrqqrrpqstsrrqrrpqsrrrqqrsqqrsrssrpprrprrrqonnoppqqqqppqpoooppopoqoqpqprqpqpqqpprpoqpoqqqqqqqqqpppopqooqrqpnopqqqpoprrqqpoopopqqqpooooooopooonnooooopppponopqqnpppqqponnnooonnnpponnnnnmmnnnnnmmnnnnnmnmmnnnnmnnnmmmlmmlmnnmmnmlmlmlnmmnmlllmmmlllllllknmnnmlkmlmmmnnmlkkkkkjklmlkjlmlkccccdddddcecddefedcccdcccccdcccdddedeeeeefffefffefffffeffffffghhgghhhhhhhihjhhhhhiiiiijkhiiiiihhhhhiiihhijkjjjjjijjjjkkjkjiikkjiijjiiijjkkjjiijlmlklkijkkjklmllkklkkllllnmkkllllllkkllmnmnnmlllkkklmnnmllmnnmlmmmmmmmmmnnnmnnnnnnnnnnnnonnnnnonnnnooonnooonnnnnnoonnooonlnonnonnoopqooppoooppopppnmnponoqpoonpoqnpoppronqnoqpqqoppqoopooqqqqqqrrrqoonnoqpqqqrrrrssqpqqqrsrqqrssrqqqqpqpqppqqqqqpqppqqqqrqrsssrrrsrqqrsrqqpprrrrrqorrprrrrqprsqprrqqrrssrqssqqrrqqssrqrrssqqrqqrqrttrrsttttsqqrrqqqrqpoopppqqqppprqqpqqqpqqsqpoqoqqrqpqqqqsqprqoqqqrrrrqqqpqppqoorsqqoqppqpppqqqqqqpopqpopppppponoopooqpqppppppppppnoppqnpooopppoonnnonnnpponnnoonnnnnnnnnnnoonnnnnnnnmnnnmlmmmnnmnnnmmnnmnmmlnmmonmlmnnnmmlllmmlkmnnnmlklmmllmmmlllllkkknmkklljkdddddeedccfdeeffedcccddccccddddeeeeedeffeeeedeeefggghgefeffgghhghhhgghhhijijhhhhghhhghhhiiiiiihghiiiihhiijjjllkiiijjjkkjiihiklkjjjjjjijkjjjjjjklkkklljjkjklmlklllmmmmmmmmlkklllmmmmmmllmmnnlkllkjkmnnnmnnmmnnnnmmmnnmmnonnnnnnnnnnnnonnnnnnnoopooonnooooonooonnnnpponooonopnopnoooqqppqpnooppnonooooonopqpoonooqnoopqqonpnoppppoppqpqqnoppqrrrrsrrrqoopqqqqrrsssstsqppqsssrrrttsrqqrqrpqrrrrrsstqqqrrqqsrrrrrrrrrsrrstsrqqrsssrrqprqprrrrqqrsrrtsrssrssqstsrqrstrssrrsstssrrppqstttrrsttstsqqrrqqqrrqpppqqrqqpppqrssrqqqqprqpprpqqrqqqrrrsrqqqpqrrrrqqqpppqppqooprqrqrpprqqrsrrrqqqppqpnpppppqqppppooqqrqqqqqrrqqqoppoqoqpoopppponnnonnopponnnoonnnnnnopnoooonmnnnnonnnonmmmnnnnnnnmlmnmnnmnnnmmnnmlmmmmmnnnoonlkmnnmmmllmmlklllmlnmllklnljkllkldddddeeddcedeeeeeedddddcdddddeeffffeeeffeeddddeegggghhfffgghhhhhiihhgghhhihjhhihiiiiiijjiiiiihhhhjjiihhjjjjjklkijjjjkkkkjjjjklkkjkkkkjkkklmnmlllmmnnmllllmmmlkklmnnnnnmmmlllmmmnnnnnmllmmnmlkmmklmnnnnnnnnnnnnnmmnnnnnnononnnooonnnooonnnnooooopppooooooooopppoooppooooppppoppopopqpqrqqpqprqppoopqonopprpppppoqqqqqrqppooppppppppqqqqoqqppqrrrsrssqppqrrrrrssssrtsrqqrsssssttttrqqrqrprrssrrsttsrrsrqqsrrqqrrssrssssttrrrssssrqrrsqqrrrrrrstssttttsrsspssrqqqrssttttttttttrqqrtttsrrssssssrrssrrrrrrqppqrsrrqqrqrssrrrrrqqrqstrrqsqrqrqrrrrrqqqrrrrqqqqpprqqrqppqqrqsrqsrrsssssqqqqqqqqqqqppqrrqqppnqpropqqqqqqrqpqqpqqqqqrrqqpqonoooooooonnnnnnnnoooppoooponnonmnoonoonnnnnnnnnnnnmnnnonnnnnnnnnnnnmnnnnmlmnnnmnnmlmnnnnmmllllmmnnmnlmmmllmmlmcdeeeffefdeceeeeeffeddddddddeeefffgffeffffeeeeeefgffhhghhhhhhhhhhhhhhhhhhhgihhihhhhhhiiiiiiihhiihjjjjiijjkkiijkjllkklmmmllllkkllkkllkklllmmlkjjjklmnnmmlmmmmmmllmnnnnmlmlmmnnnnnnnnnlllmmnnmmnnmnnmkmopnnnnonmmnnnnnnnonoppooooonnnoonnonnpponnnopqqpopqpppqqppoppopppppqppoppoprrqopqqqoppqqppoopponqrpsqqqrrqsrqqproopprqpqqqqqpppqqpsrqpqqqrttsrpqrrqrrrsstttsssrttsrrsttttsssrrsrsqssttttttttsssrqqsqqrstssssssstttsrrrrrrrqrstrrsssrrsttssttttsrttqtsrsssssstttttttttsrssrtttssssttssssssssssssssrqqrssrrrsrrrrsststsrsqttrtrsrrqrpqrstsrrqrsrrrrsrrrtsstrqprqqpsstrssssttsqqrsrpqrqrrrrqqqqqqqorpqqrrrrrqqsrqrrqrrrrrrrrqqrpoppooopoooonnnnnoooopqpppqpnnpnmnpqqpnonnnnmmnnnonnoonpnnnomnnnnnnnnnnnnnnoonmlmmnmmmnnnmllllmmmonnnllnnnmnnmledcdedddefffffeeeefffeddeeddeefffffeeefgffffffffggghhhhghhhgghihhhhhhhhhhhghhhihhhhhijihijjjjihhiijkjjijkkkjjjjkjjkmnlkklllkjklmkkllkjjkmnllnnmnlllmnnnnmmmnnnnnnnmmnnnnmmnnmmnnnnnnmllmnnnnmmnnnnmmnnnnnnnnonmooonnnnnnoqqonnopppnnoopqoopqpnnppppppqqoppqqqqpopppqqoppppppqpoprrqqrqprqqqqqrqooppnoqrrqrrqrrrsrrrqqqpoqrrqqqqsrqppqrpqqqqrrrrrutrrrrrrsrsttttutrrtutrqqrstttssttsssstttsttsststtsqqrrrsttsrsrqstsrttssrrrrrssssrsssssrrqpsuutttrttsuusstsssttrsssttttstttsttsttrttsttsssstttssssttsstsrrrsssstsrqrrssstssstttsssrrrssrssssrqqrrssssssssssssssrqrsrrttsrststtsprtsqqqqrsqssqqsqqqrsqrrrtrrrrrrrssrrrrrrrrrrrqqqqpopqppppqqpoqqoorpoppqqppqproonnnppqqqrpqqppponoonomooopnnnnnnoonnnnmnooooooonmnnnnmmnonnmnnnnnnnnnnmlmnnnnnnmmedddddefeeeeggfeeeeeeeddeeeeeffggffeeffgggggggghhhhhhgghhhhghijiihgghhhihhghhhihiiihijkkijiijjiijijkkjjjklkkkkklkkkkklllllllkkllkkklkjkkkmnnmllmnmmmmmmmnnnnnnnnnnnmnnnnnmnnmmnnnnnnmlmnnnnnnnnnnnnnnnnnnnnmnnnpponnnnnooooonnpqqpoooppqoopqqopqqppoopqpopqqqqpppqpqqopoopppqqpqqrqqrqpprrrqqrrqqqppqqqrrsrrrrrrqrrqrrrqqrrrrqqsrqqqrrpqrrrsssrstttssssssssttssttttuutrqrrsssssstttttttttstttttttttsrsssqstssttssttstttttssssssttsstsstsqrrtsrtuutttsttsttssttustsrrsttttttttttttsutssssssstttssstttttttssrrrsttsrrrrssstrrssssrtssttsrrsssrqqrsrstsssrstttssrsstttssttstssstttrrsrqqqqqqprtsrrqqrtprqsqtrrrrrsssrrrrssssrrqqqqrrqqrrqqqqrsqpqqporqqrqqqpprrrponoopqrqpprqpqrrqonnnpoponppoponnnoooonnnnooooooonnnnonnnonnmnnoopnnnnnnmmnnmmnnmmeedddeffeedegfeffffeeeeeeeeffgghhgfffgghhhhhhhhhghhhgfghhhhhhijiihgghihhhhhiiijhghhiiijkkjhhjjjiijjkkjjkklkkllllkkkkkllkkllllmmmllllllllllmnmmmlnnnmmmnnnonnnnnnnnnmnnnnnnnnnnnnmmmnmmmnonnoonnnnnnonnnooonmnpqqqpoppoopoopppooqpooopqqqpppqqqpqpppqqqqpopqrqqqqprqqqpqoppppqqppqqqrsrqpqqpppqqqrqpqrqqrqrrrrrrrqqqqrrrqpqqrsrqrrrsrssqrrrrttssssttttsttssstsrrsttttttttsssssttsrsttuutsstssstttsrttstssrstsstsrsttstttttttttttttrqrrsttssrsssuvutttsttttuttttuttsttttttttvutststtttttttttttttrrttttuutttsrrrsttsssssssrrrttttttvtsssrrsstsrrrsssttttsrsttutttttttttttttttstttttttsrssqqpprttrrrssuosqtrtsrrrsttsssrsttttsrqqqrrsrrssrqqrstrppqqprqrrpqqqpqrpppnppppqrrqppqqqqppponpoponppppponnooooonnnnnnnooppnoponnnoonnnnoponnonnonnnnlmnnnneeddeggedeeffeegfffffffffeefgghhhhhggghhhhhhhhhhghhhhghhhiihhijihihhiihhiihiiijihijlljjjjjhhjjjjjjkkkkkkllkkmmllikklllljkllmmnmmmmmmmmmmnmmnmnnmmmmmmnnnnnnnnnnnmnnnnnnnnnnonnnnmmmnnnnnonnoonnopononnnoonnnoqrrrppqqpopopqrrqppoonoqqqqqqpqqrqqopqrsrqqpqssrqqqpqqrrpqprqppqqpqqrqrrrrrsrrqqrrrqqqqrqqrprrqqrrsrrrqqrrrqqqrsrqrsstssrrtrrrsttssrttuttttrrsttsrstttrstuvtttttuttssttuutttttrssstsqutstssstttttsrsttttttttttttttttrqqrsttttstuuuutttsrttttuutttuutstuuttttuvvtttssstttttvuuutttrstuttutrtttssttssqrstttttqrstttttttttutrqsstssttstttttsrrttuuttttssstttttttttttttttsstsrrrssttsrsstuptrututststttttsssttttssrrrrrrrsssrqrrstsqqrrpqpqqpqqrpproqqpqpppqrrsqqssrqrsrqqqooopqpooppppnnoooooonooooopoopponoppooponpqnnopoopponnmnnnnnfffffggfeffggeehfffffggggfefghhhghhhggghhhhhhhhhhhhihhhhhjjihiiihiiijjihihhihhjikjjkkjijiiiijiijklllllllllklmmllkjklllllllmmmmlknnnmnnnmmmnnllnnnmmllmnnnnnnnnnnmnnnnnnnnnoonmnnnmmnnnnnnnnoonnnponpnnmnonnoppqsqppqqppqnpqqqrrqqqppqrqqqqqqrssqpqqrssrsrssrqqrrqppssqqrrqpqrrqrqrrqqrssqqqqqpppprsqqqrsqrrppqqrrsrqqrsstsrrrrrsrsttrqqtssssssssstttttttssttttttsttttuututtttuuttttstttttvutttsstruvtttsssttttttsstuuutstttuttttvtsssttsuvvwvtuuttussttttuuuttuutttttttuvuvutttttttstustuutttttttvututstuttttttsttttttsssstttttttttttttssttstttttttsttsstttttttstsstttttttttttttutttttttttttutttsttrtrttttttttttttsssttstsssssrrqrssrrrsssttrrssqqprrrsssqqsprrqqrsssrqqsrqrssrrrqssqpppspoopqqpoooopppqpqqppooooppooopqpprpnprpoqqoopponnnnnnnnfghgfffgggffggfgfffggggghgfghhhhghhhggghhhhhhhhhhhhiihhhhijjiiiiijiijjjjiihihhjijhhjjihhijjjjjijmmmllllkklllnnmmlklmnmmnmmmnnnmlnnnmnnnmllnnmmnnnnmmmmnnnnnnnnnnmnononnonnonmnnonnnnnnnnonnoonnopononpnoonoppoqspopqqpqrqrrqqrsqqqqqrrrrsrrqrssrqrrstsqsttsrqqstsrqttrrtrqpqsrqqrrsrqrsrrrrssrqqqstrqqrsqrqppqqrrrrrrsttttsrrsssqsttsrqtttttttttttttuttttsssttttttttuvutvtttrtuttttttttstvvtttsstttutttttttttttttstuvvtsttuuuuttutsttttsuvvvuttustvttvutttttuuuttttutttuvuttttututttttstuutttttuvvuuvttvutttttttuuttttttuttttuvvuuttttuuuttsttttttssttttttttuvttutsttttutuutttttuuttttttttttttttststtsrttstttttttttttttttssrsssrqsttssttsssssstsrrrsrrtssrqsrrrqqrssrqqqrqqqqqqqrqqpqqrqrpooqqqqppooppqqpppooopppqqqpppprrrpnoqqpqqnnoonoooooooofffffefghhgghgggfggggggghhhhhhhhghhhhhhhhhghiihhhhiiihhhhiijiijjjjhijjjkjihihhjjjjjllkjjjkkkkkkkmmmllllkllmmnnmmmmnnnnnmmnnnnnnnnnnmnnnnmmmmnnnnonmnnnnonnnnnnnnmnonnnnonnoonnoonnooonnooooppoppppnpnqpqoopqpprropppppqrssrrqrrrqqqqrsssssrrssssrssttsqrsssrrssttsrttrstsrpqssrrtsrqqrsrppqrsrqrrssrrrrsqrrrrsssrststttttutsstttrsttttrttttttttttttuuuutttssttttuttttvvuvtttrtutttuuuttstuvutttttututsttttttttuuuttvvvvtuuuuuuuuttsttttstttuutuuttuttvuuttstttuttuvvuuttuuttttttututtutvvuttttuwvttuvuttuttttttutttttuvwttttttvwtuvwvuttuttttttttttstttuuttuwwvuttsttuuuttuttttttttstttttttttuusttttttrtssttttttuuuttttttsssttssrsttttttssststtsssssrrtrsrrrssrqrrrrqqrrrsssqqrssqqnpqssqpopqqqqqqpppqqqppppoppqqqqrqpopssqonoppoppnnopoppppppppgedefgghhhhhgggggggggggghijjihhhhhhhiijjihhhjjihiijjjihhiiijkkkkkjhikkjjjjiiihkkmlllllmnllkkkkklmnmllllllnnnnnmnmnnnnnnmnnnnnnnmnnnmnnnnnonnnnmnpnnoonnonnnnnnnonoooonnonnoooonnnopqpooqooppppqqqrproroonnpqpqrpopqpooqrrrrsrrrrqrrrssrsrqqrstttttsstsqtrrsssssrttrrrqrrtspqstuvtsqppstrqqrstssttttttsststtsttsssttttttttuutttttssssttttstttttttttuuuuuuttttttttttttuuttvttuttvutttttuuuvvwutuwwtwtvvtvvuttttuwxwuuvuuvvutttttuuvttttttttttuvuuuutttuttuuvuuttuuuuutttttuvvuuutuvuvutuuwvvuuvvwyyvuwxxvttuuuttvwwwvuttttvvvvtuvwwvuutttvuttttttttuttttuwwvuuvvutttttuuututttuuttuuuttuutvtuttvwttutsttsttttutttttttttttsstttuttrssssttsrtstttttttsrrqruttsrqtsssssssrrrrsssrstsrrrsqqqttsrqqqppqqqqqrsrrsssrrqqpqqqrqpopqqpnoppqppponoppppooppppghhhgfffhhhhhhhghhggggghhhhhhhhiiiiikjikkkjjjjijiijjjjihkjkljklkkljkklijkkkkjijmkklkkmnnmljjjklllmnmklmnnnnmmmmnnnnnnnmmnnnnnnnnmnnmmmnonoonnnnonpnnoonoonnnnnnononnqnoonnonnnnoooooooprooppoqrqrsqropmooopqqqqporrpqqqqrqsqrqsrsrqqrsssrrqrrsutttstrsstqrsttsssssstsrrrqrttttsstsrqrssstttuutsttttttttttttrrstuuvvuttttttuutttrsttuvutttttsstuttuuuutttttutttttttutttutuutvuwuuuvvuuuuvxwvuuuwwwvvwvuvwuuttuvwxwvvuuuwyxwuxutwuvvvuwuuuuututtvwvutuvttvvwwutuuuuuvvuttuwvuuuvvwwwvuvvvvxwvvwwwzxuwxxvtutvvttttttuttttuvwwwvuuuuuvwwutuwuttuuttuuuvuttuuwwwvvvvvvvvvvuttuuuvuuutuuuttutttuttututttttttttuuvuttttuttttrqtsttttusttrrttsrrutssssssstttrssstsssrststtsrsttrtttsssrqrrstrqqrssssrqqrqqqstsrqpqqqqpqqqqrrqpqqpoopqqqqrpoppppqpooppoophggghhggfhhhhhggggfffhhihhhhhhhiiihikjjkkkkjjihiiijkjkkjlklljklkklkklliilklkjjkmllmmlmnmllllkkllklnnmmnnnnmmllmnnnnnnnnmnnnnnnnnmnnnnnnnnnonnnnononmoonoonnnnnopnonnpnoonooonnnnooppppppppppoqsssrnpnporpprrqqrrrqqqrqpqqrsqsrsrrsrsssstttstsrtsttttttttrsttttttssttsstsrstttttttttssttsttuuvuttuttttttvttttttuttuttttuvuutttttstuuvvuttssttttuttuuuuuuuututtutuvuuutuutvvuvuwutuvvvvvuuvvvuuvvwvuvwwvvvuuuuuuvvuuvvvvwxxwuxvtwuuuvvwvvuuuuuutvwwvtvwvvwwwwvuvvuuuvwvtuvvutttuvwxxwvwwwwxyxwvvvxwuwxwwuvuwwvuvvuvwxwwwwwvvvvuuvvwvvvutuvvuuvwvuuvvvvvvuuvwvutuvvvvuuvvvuuuvvvvvtvuuttuttuvtuvuvuttuvvvuttuttstttuttttsruttttttstsrrstttttsrsssssttttsstttttttsssttsrsttsttttttsssstttsstssssrqrrsrrtttsrrrrrqqpqrrssrqrrrqqqrrrrqpooppqrqpoppppphhgghhhhghhhhhhhiihhhhiihhhhiiijihhijkkjjkkkkjijkjjkkjkkjjkkjkllllkkmlkjllllkklmmlmnmmmllllllkklmmnnmmmmnnnnmmmnnnnnnnnnnnnnnnoonnnnooonnnnnnnnnnonnoooooooonnopooonpnooopppooooqppppppppqpppqrtsroqnqpqqqrrqqqqrqqrrrqpqsspsrstqssssssttttttstrsttuttttstutttttsttttttstttttuttuuuttttttttuutstttttttuvuuttuvutuuttttuwvutttttttuuvvvuvttuwvuvutuutuvvvvtttuvttvvvuuwwuwwvvuvutvvwxwvuutvvuuvvvwvwvvvwwuuuvvvvvvvwwwvvvwwvxvtwvwvwwwvvvvwvwvvwxwuuvwwxxwwwvvvvvvvwxwvvvvwvuuwwwxxwvwwwwxxyxvwwwxwxxwwvwwxxwwwwvvvxxwvwwyyxwvuuvxvuvvvuvvvvwwvuuvwvvwwuvvwwutvwvwvuuvwwvvvvvvvvtvvwuvwutuvtuvvvvttvvvvuututtsuttuttttttvuuttttttttsstttttsrttssttttsrstttstuutsstttstttttttttttttssttttttttsrrssrrrtttstssssssssrrssrrsssrrrrrrsrqqrrqqqppoopqqqhhhhhhhhhhhhhihhhhhhhiiihhhhjiijjiijjkljijjklkkkljjkkjjkmmmlkklllklknmmlkklllllmmmmmmlllnnmmnnmmnnlmlnmlnnnnnnnnnnnnnnnnnnnnnoopponnoponnnonnnnnoonnopppppppnnoppppnpnonpqpooopoppppooooprqqrrrtqqqsoppqrpppqrrqqrsrprsprtsorqstrssrrsstutsuvttrtttutttttuvututtttsttttsttttttttuuutttttttttttsttsttuttvvuuttuuuvvvuvuuuvutuuttuttuuvvvvwvwxwvvwuwvuvxxxwuuvwwuuvuuuvxxvxxwvvvvuvwxxxvuttwwvuvwvwwxwuvxywvvvvwwxxxwwwvvwvwvxvuwwxxwwvvvwvwwwvuwvvvwwuvwwxwwvvvvwxxxxxwvvvvvvvwwvwxwvwvvwxvwxxyyvyxzywxwwxxxwwwwvywxyvuwwxxxwwwwxwvvwxxwwvwxwvuuvwwuuxwvwwwwvwwwvwvuuvwxwvvvuuvwuvuvuuxvuvwuuvvvutuvvuuuvuvtuswuuvttttttwuutttttuuttttuutttttttttutttttuttstuutttttttuuttttttttsttsstttttttttssstrrrttsstrrrrrrssrrssrrssrrrssrssssstsrqpqqpopqqphhhhhhhhihhhhiihhhhhhhhhiihhjiijkijkklmjjjjklkjjkijkkklllmlllllmmklkmlnmkkllmmmlmmllmmmmnnmnnnmmnmlnlnnnnnnnnnnnnnnnooonnnnooopppoonnooooooonnnnoonnopppoppponopoppopnonpppoopponoqqponnqrrqrrqsqqqspqrsqpppqstsrstsrstrstsorqrtsttsstttuttvvttsuuutttttstuuuvvuvtrtttttttuutttuuvvuttuuuuutuutttttuutuwvvvttuvvuvvvvvttttuvuttuuuvvvvvvxvwxvuuwuvvuvwwwwuvvwwuvvuuvwxxvxxxwwwxwwwxxwvutuwxvvwxxvwxxvwxwxxwvwwwxxwwwwwxxwxxxwwxwwwwwvvvwxyxxwwxwxxyxvvwvyxxxwvvwxxxwwwvvvwwwwyyxwxwwwwwxwuvyyxxvyxzxwxwwxxxwxxwwzxyyvuwwwwwwwwwxwvvxyxwxwwwvvvvvvwvvxwvwvvvwxxvvvvvvvwwxvvvvvwwuwuuttvwvwxuvwvvuuvvvuuvwwwtvtvttwuttuutvtuttttuuuuuuuvuustttttttuuuttuuuvuuuttuttttuuuutttuuttttttttttttssttssssttsttsstssrrrrrrsrstssssrrssssstssrrrrrrssqppppphggghhgfhhhhhhiikkjihhhhiihijiijjijklllkklllmlkkkjjkklmmjlkklmmnnllkkkmllllmmmmlmnmlnnnnlmnnnlllnnnpmnmoonnnnnnonnnoppoonnnooooooonnnoppooooooopppppppqqoppqpoopoppoqopoopqqqqppnprqqqqprrrrqqrsrqqrrsssrqrrqrtttsrtttttsttrtrrssttttuttttuvtstuvuuuvtttstttuvwvxtttutuvuvwvtttuvwvuttuvuuvuuvtuuuuuuuvxvvwvuuvvvvvvvuttuuuuuuuvuuvwwvvvwvwxvuuvtvvuuuuuvvwwvwvwwvwwwxxwwwxwxwxxwwxxxwvvvxxwwyzzxwvwwxxwxwwwwwxxxwwwxxwwxxxxwwwwwxxywwvwyzyyyyzxxwwxxyywxxyxwvvvwwwwwxxxyzywwyzzxxxwxyyzxwxyxvvwyxyxxyyxwwxyyxxwxwwxvwxxxyxxwwwwwwwwwwwxxwuvwyxwvwvwxwuvvuvxyxvvuvwwvvwxwvwxxxwvwuvvuwwvwxvvwwwvvvvvuttuvvtvtvuuwvutvvtvtuttututuvvvvutttuvtttuuuuuutuuuvuuttuvuuutuuvuuuttuuttuuttttuutstttttttttsrrstttssssttststttsssrrsttsssrrrrrrrrrrrqqqqqhhgghhgfghiihhiiiihhhijjjjijkjjkjjklmlkllllmmmlllkkllmmlnnnmnnlmnmlljkllmmmmmnnmmnnmnonnnnoonnnnnoormmlnqpnnnnoonnnopppoonnooonnoooooppqpooooopqpqqqpqqqppqqqpppoqqpqpqoppqsrqppqrqpprssrqrsqqrssrrsttsrssssqrsstsqsttsttttttrssstttuvutttuvttvvvuuuwuuttttttuvvxuuuuuvwvwwwuuuvwwwuuuuvvvvuvvuuuvvuuvwxuvwvvvvvwwvuvvuuvvvuvvvvtuvwwwvvwvwxwvwwvxxwwvvwxwxwwxxyyxxwwxxwxxxvwwxxxxxxyxxxwxxxyzzzzwvwwxxxwvvwwxyzyxxxyxxxxxxwwxwwxzzzyxwwwyxxyyywwwvwyyyywxyxwwwwxxxxxyyyzzywwwxxyyxwxyzzyyyxwvvxzxxxxzyywxxyyxxxwxxxxyyywwxyyxxywxxwwwxwwwwwyzyxwwxxwvuvvwxxxxwvwwwwwwwxwuvxxwwvwtwyxxwvwxvvwwwvwwwvvuttuuuwuvvvwvvuvvuvtvuuwtvuvvwwvtttuvwuttuuxwxwvvwvuttuuvvvwvuuvvvvuttutttvuttsstuttttuttttttsrrtttsrrrsttstssttttssssttsssrsttssqpqqrrqpqrhhhhhhhhhhhiijjiijiiijjjkkjklkklkllmnljlkllkkkkllkkklmnlklllnnmnnmmnjlllnnmmnnnnnonnopnnnnnnnnnnnnmpnnnoqpnnoonnnnnnpppoooopponnooooppqppooooopqppqqoppprqqqqqqqprqoqoqoqpqrrpopqqpoprsrqprtrqrrrsssttsttrrrrstsssrrtttuutuuusttstttuvutuuuuttvuwuutwuvuutuuvvvvvuuuttuvuvvvvvwwwwwvuuvvwwxvwwuuuvwvvvwvvwwvwwwvvvuuvvvvwwvvwxwvuvwwxwvvwwxyxwxxvxxxwuvxwvwuuwwxyyyxwxyxyyywxvxxyyxyyyyxwxxyyzzyxxyzxwxxxwwwwwyzyyxyzzzzxxxwwxwwxyzzyyxyyzzzz{zyyyxxxwwyxyyxwxyzzzzyyyzzzzzzyyyzzzxwxyzzzzywxyxyzxxxyzyxxxxxwwxyyzywxxwwwxyyxwwvwyyxwxxwvxzzzzzyyxyywuvxvyzxvwxvxxxxxxxwwuuwwvvwwtvxwxxwxxvvwwwuwwwwwwwwvuvxvuuvwvwvvvuvtwvvxtwvvvwxwuttwwwvvuuvwwwvuuvvutuvvuvvwvvvwvvvwuuuuttvuttsstvuuuuuuuuuttttttttttsstttttsstttttssssssssrstttssrssssrppqihhhhhhhhiiihijkkjiiijjjkkkllllljklmlkklllllllllljkllmnmmmlmnnnmnnnnmmmmnlnonnonnooooonoooonnnnnnopnmopnqonpooonnnnopqqoppooppqrqoooppppqqpnnppppqrspqqqsqprrrrqpprppqopqqqpoprsrpprssrqtrrsqpqrssstttsqttutrstsrsqsttuvuttttttttttttuuuvutvvtvvvuttvvttuuvywwxuuvuvvuuxxvvwwwxxwxwwvuuwwxwvvvutuvwwvwwvuuwwvwwuwwvuwxwwvvvwwxxxxxwwwwwwywxzywxxwxxxywwzxuyvwxyyyyxxxyywxyyyyxwxxyyyyxxyyyzzyyyyyyyzyxyzzxwwxyzzxzvxxzzxzyxxxyxwvxywzyzzzyyyzzzxxxxxxyywzzzzzyyzzzzzyxyzzyyxxyz|zyxxxyzzzxxyxz{z{{{zyxxwzywvwyyxxxywzxxyxxxxxxxyyxxywwyyyzz{zxxzzyyyxwxywwyzyyyxxxxyyyyvxwxxxxyyytvwvwxyxxwwxwvvwxxvwxxwutuwxutvwwttvuvvuvwxwuuwutvxxwwwxwwwwvvwvwxuwuvvuvuuvwwwwwwvuvwwvuuuuuuvvvutttttuuuuuuuuuuuuttssstsrttsssstttuttsrssrstrsssrrsttsqrstsrphhhhhhhhhhhhhhijjjjjjjkllkklmllllklmmlllmmmmlllllkjkklmnlllmmmmnmlmnnnnnnmnonnnmmnnooooopqpnnnooooonnopoqpppooopnnoppponpqqrqponnpqqpopqqppppopqnpprqssrrppqppqppprqpqpqrsrqqprssqqrsstsrrttsrrqsstttttsssttsttsuvttutuvvuttsttttttttuutvutvvvwvuuuuuttuwyxwwutuwwuvwvuwxvvwwvwwwxxwwvvwtuvwyywvvwxwvwwwwwwwvvvvxwvuvwvuvvvvvwxxwwxxxyyyxvxzxwxyxxxyzyxzyvywxyyyxyzzzzzyxyyyzzyyyzzyyyyyzzzzzzyxyyzzyyyyxwxyzzzzwzwzyzzyxxxwxxwwwyzyyzzzyyyzz{zxyyyyyzzxxxxxyyyzzzzzzyyzzzzzzzyz{{z{{zzyyxxyzz{zzzz{zyyxzzzyyyyyzzzxzyyzxxxzzzzzyxyzzyxxzzzzxwxyzzyxyyyxxxxyxxyyxxxyyyywxxyzzzzyyuvwvwwxwxxxyyxywwwwwxxvvvvvvuvvtvvwwuvwuuvvvuvwywwxwwwwwvvwwwvwwxyvwvvvuvuuvvvvwwwvvvvuttuuttuvutttvwvttuuttuvvttuutttsuuutuuttttttttttssttssttsstsssstsrsttssrhhhhiiiiijjiiijkjjjjjjkmmllmmmllnmllllmmnnnnmmmmnmllmllnoonnmlmmnmmnnnnmnnnnooonnnooponnooonnnoppooooppopopqpopppoppppqqopqrrqqqppppoopqqppqqpqrpqqrrtrqqqqqpqqpqprrqrqrrsrqqpqsrrrrrssstttsrssrrrssstttttuutuuttuttuttuvutttttttuuuuvutututtvvttvvvuttvtxwtwvuxwvvwxwvwxwvwwvvvwxwwwwvwxxwvwwwxvxxwvvwwxxxwvuuwwwwwvuvwxxwwwwxxxyyxxxxxywxywvwxzzxyzyxzzxzyyyzzzyzzzzzzzzzzzzzyzzzyyyyyzzzzzzzxyzzzyzzyzzyzzyyyyzyyxxzzxyyxxyyxyzzzxzzzzyyz{{zyzzzzyzzxwyyyzzzzzzzyzywxzz{zzzyy|{z{|{zxyyyzz{{{zzz{zyzzzzzzyxxx{zzwywwxyyzzzzzzzzzz{zyyzzzzyyyyyzzyyzzxzyyyxxxxyyxzzyzxyyzzzyxwxvxyxxxxxyyxxvvvvvvwxxwvuwxvuvwwxxxyvuwxxxxwvvwxwvuvvwxxvwwwwxwwwxxvwvwwvvvvvvuvwwvvwwvuuvvvtttuvvvvwxvttuuttuvvtttttuttttuutttttuutssttstttttttssstttssssttsssshiiiijjjjjjjjjjkkjiiiikmllklmmmlmmnmlklmnnnnnmnnmnmmnlkmnnmlmnnnnnnnnnnmnnnnpqponpppponnnnooooopqppppppooopqpopppppqqrssrrrrqqqrrqpopqqqqqpqqqrsssrsrsqoqqqqqqqorqrrrqqrrsrpqpqtrrrsrqrstttsqrtttttttuuvvutttuututstvvvutuuuuuttuvvvvwvuuuwttvutuuuvwwvvvzzvywvxxwwwxwwwwwwvwwwxwwwwxwwwwwwxyyxxvwxwwwwwxywwvuuxxvwyxxyyyyxxxyzzzzyxwwwwzyyywvxy{zzzyxyzzzzzyyz{{yxyyzzzzzzzzzyyzzzyyzzyzzzz{{zyzzzzyyzzyyyzzzzzyzyyxyyyzzzzyzzzz{zzxzzy{zzzzzzzzzzzyzzyyzzzz{zzzzzz{zzzzzzzz{zzzzyyzzzzzzzz||{|{zzzzyzz{zzzzzzzzzywyxyzzzzzyyzz{{zz||zzzyyyzzyxxzzyxwxxzzzzyxxwyzyzyyzyyxyyyyxwzxzzzyyyxyyyxwvwxwwxzzyxwyywvvwvzyxxvvyxxxxwwxyyyxxxxxxxwxwwwyyxxwwuxwxxvwwwwvvvwwwwwwwvvwwwvuuvvxxwvvutuvvttvwvtuttuvutttuvututtuuttsttttuttttttsssttssssstssssiijjjkkkkkkkkkkkkjijjjkkkkjklmmljknnnlkknnnnmmmnlnnnnnmnnnmmmnnnonnnnnnnoonnpponopppqpoooopppoopqqqpnopoqppqqppqppqrrrrprsssrqppqrsrrrrqqqqprssqrsrtrsrqrrssssrorrrssqqqrtsrsrrtsqrtsqsusstutstuutttuuuuvuuuuvutvutuvvvtuvvuttuuvvvuuwwwwvwuuxvtuuuuxxwvwxzwwwwvxxxxxvvvwxwvvwwxwwwwyxwxvvvwyyxxwwwxxxxwxxwwxwvxzwwyzzzxxxxxyzzzzzyxxyyyzxyzyzzzyyz{zzzzzzzzzzz{zxyzzzzzyzzzzzzzzzzzzzzzzzzz{{zzzzzzzzz{zz{}|{zyxxyzzzzzz{zzyzz{{|{zxzzz}{zzzzz{|{{zyzzzzzzzz{zzz{{zzzzzzz{zz|{{zzzzzz{|z|zz||z|{z{zzz{{{zzzzzzz{{zxzzz{zzyyzzzzyzzz||{{zyyyzzzyzzzzyxyy{zz{zyxwyzzzxwzyyyyyyzzy{zzyyyxyxyyyyxwwxxxxzzyyyzzxvvwwxwwyyxywxxwwwwwwyyyyyyxxxxwwwyzzywwvyxxxwwwwxxwwwwwwvvvvvvwwwvvvuvwvvwwvuvvuuvwvvvutuvvtttuwuuuttttuuuuututttttttttsrrsttstttttsjjjjkkllllmmllllkkkklllkjkjkkmmlkklmnmmmnnnmmmmmnnnnnnnnopqonmnopooonnonpppooponooopqpppooopoopqqqqonoqqsqppppqqrqpppqqppqsssrrsrrrrrsrqprrqrtspqrrtrtsrtttttttqrrrssrsrstttttstsqqssrtvttuwuttvvttuutttuttuwwutuuuvututvwwvttuuvvuuuvwxxvuuvywuvwvvxyxxxtzvvxywwwxxwvwwwywvvvvwwwwxyxxxzywwxxxyyxxxyyxwxxwxyxwwzzzzzyyyxxxxxyyyyyyyzzzzzxyzzzzzzzz{{{zzzzxzz{zzzzz{z{{{z{{zzzz{{{zz{{{{zz{{{zzz{yyz{{zz{{|||zzyzxyyz{zz{{zzyzz{{{zzzzzz|{{{{{{{|{{zzzzzzzzzzzzzz{{zzyyz|{||||zzzz{{{{{{z|{z|{zz{{{{z{||zzz{zyyz}|{z|z{|{zyz{{zzwyz{||{{zzzzzzzzzyyz{{zz{zzzzzzyyzzzxxzyzzzzzzywzyzyzzxyyzyyyxwwyyyyyyyxyyxxxxyzxyyzzxxvyyyyxxxwwxxxyyxyxxwwwyzzyxxxzxwwwxxxyyxxwwwwvvvwwwwxxwwvuuuuwyyyuwwvvwwvwwvuvvutttuvuuuutttvvvvvtttttuttstttrqsttttttttsjkkkkkkkkkkkkkkklmmllmlkkllllmmlmlllmmnnnnnnnmmlnnnnmnnnlnppnnoqpoponnooppppoprpppppppoooooppoprqpppopqqsqppooqqrrqpopqrsssrqqqrtrqprtsqqrrqrttrstststtstsstssssrsqsttuttttttttttssttttuvuvvuuvvvuuvvuuvttttuvuuvvvwutwvvwwvuvvvwvvwwvvxxvuvwwxvwxwwxyyyzvzwxyzxvvxxwwxxxzywxwvwxyyyyxxyxxyz{zyzzzyyzzyxxxxxxyywxz{zxwxzzyyxyyyyzzyyzzzzzyzzzzzzzzzzzz{zz|zzz{{z{{{zz{}}|}|{{zz{|{{{|{{|z{{{zzzzzzzzz{zzyyyyzzzz|yzyz{zzzzz{{zz{zzzz{zz{z{|||||{{{{zzz{zzzzz{zzzz{{|||}~||}|||zz{{|||{{{{|{z{zzz{|{zz{|{zz{|{zzzzzzy|{}~|{zz{{zzyz{{{{|zzzzzzzzyyyyzzzzy{zz{zzzzzzzzzzzyzzzzyyxvyxyzz{yzyzzzzzzzzzzzzzzzyyxxyzzyzzzzzxxxxxxzzzzzz{zzzyxxxxxwwxyzyxyxzwwxxxxxyyxxwwwxwwvwxxxxxwvvvuuvwwxxvwwvwwwwwvvwwwvuvvvvvuuwuttuvvvvuuvvtuutsttttttttttttttsjkllkkjjjjkkkkklmnnlklmlmmnnnnnmmmnnmlmnnnnnnnnmnnoonopnlnpqpooonnopoopqooppnpsqpppoppoorrrsrppqqooqqppprppqppqqqrssqppprrsrqqppqstsrssrrrqqqstttttttutttsttsstvrsqstuwuttsssttuuuvvuvvtutuuvwxvtttutttvwvttvwwywvuvttwvwvuttvxxwwxyxvvwyyxzyvyyxxvuwxxxyuyvzzyxyxyywwxwxzzyzywwyzzzzyyzzzyzzzzzzzzzzyyyxxxxwxywxzyxyzyzzyyyyzzz{zzyyzzy{zzzyyzzyz|{zz{zz{zzz{|}|{zz{}|{{{zzzz{|{{||z{|zzzzz{{zz{{zyz{{|||{{zzz|y{z}|zzzzz||zzzzzzz}zz|z{|||||{{{{{{{|{{{{{{zz{}}|||{z{|{|||{z{}|{{{|||||{zzzz{}}|zy{|{zzzz{zzz|{zyzz{||{{zzz{|}|{zyz{zz{|{{{zzz{|{z{{z{z{|{{{zzzzz{{{yyyyxyzzz{zyxzzzzz{{zyxxyxzzyxyyxzzzyzzyvyzxy{zzzyxyzzxwxwzzyzzyyyxxxxwwyyxyxyvxzyyxxyyxwyxwxxwuuwwwxwwwwwwwxwuvxxxwwwwwwvvwxxxwwwwututtvxvuuutuvuuwwttuttsstvvutsstuttttimmjlkmkkjkllllmmnnmlmmmmmlllnnnnnllnnnonnnnoonnnnnnnnnlnnppoooonnpoproopooooooqqronqpnnssssrqqprqqppqqqppqpprrppqrrrrrrqqurqtprtsqstssrrrrqrtttstuttttssssstttutuutttutvttvvuutstvwvvvuuttvyywvvwvvwvvxvxxuwuwuvvvvwwwwwvyuwxvuvvwxyyxvvvwyzzyyvvwxxvwxxxxyyyzzwyxwxzzzyyxyzxxzzyyyyzzyxyyzzzzzy{y{xyzzzyxxxxxxxzzzzzzyxxyyyz{zz{zyzzzzzzz{|{{{{{}}z{|{{|{}z}|{|zz{{||{|{{{{||zy|~}}|zzz{zz{|{zz{{|z}zyzzz{{zz|zz|wzzzz{{{{{{{{{|{~}|{z|zz||{{zz}~||}{||||||}~}}|}|zz~|z{{||{|}{zz{{{{|{{{|}|z}~|z|}}||z{{z{{}{|||{|||{z{|{zz}|{{||zz{{{zz{zz|{zz{||{{zz||zzzzz{zzzzzz{{zzzzzzzzzzzzzzzyyz{zzyzzzzzzzxyzzyz{zzyyzy{{{zzyyyyzzzzzyyyzzyyyyyyzzzyyzz{yxxxxxxyyxxxxxxxyyyxxxxxwvvvvwwwxxxuvvwwxxyxxxyxxxwttvwuuutuuvwvtttttttvutuvttuvtttuttvttttjllkmklljklmnmmmnnnmmnnnmnnnnnnnnnnnnnnnnnoooonnnnnooponnopooooonoopppqpqqqqqpqrqqonrsrrtsrqpprrrrqppqrrsrqqqqqqrrrqqrrrqrtrrtrsttrtttssrsssstttsttttttttttttututuuttuututuvtttttuvvvvvvvvuvxxwwvvvuvvvwtvwvxvxwvvwyyyxxvvyvwxwvuvwxyzyxxxyzzzyyvvwyxwwxxxyyyyyzyyxxzzzyzyxxzyz{{zzzyzzyzzzzzzzzzzz{zyz{zzyyxxyzzzzzzzzzyyyyxzzzzzzyzzzzzzzzzzzz{||{{{|}}|{|z|||zzz||}}}}|{{{||{z|}|||zz{|{z||{z{||~{z}zz{{z{{zzzzyz{{{{{|||||||}|{z{{{{z}zz||}~{z{|{{{{{{{|||}}}}|||{{||{||}}|}}{zz{{|}|{{{|}|{|}|z{||||z||z{{|}|{zz||{|}}|{zzz{|||||{zz{{{{z{|{zz||{{zzz||zz{{{|zzzzzzzzzzzzzzzzzzzzzzzxyzzzzzzzyzzzzzz{zyyzzzzzzxzzzzzz{zyyz{zzyyyzyxyyyyyzzzyyyzzzyyyyyxxxxwxxxxxxyyywwwxxxxwxxwwxxxxwwwwwwvxwxxxxxxwuvwvuuuvvvwwvvwvvuuvutuvttuuttttstvuuutkllmnklmkklmmmmmnnnnnnnnnnpqonnnnnnoonmnnoopoonnonnpoooonoooooppoqoqqorqpqqqqqqqqqoorsrrrrssqprstttsssssroprrrstttsqqsssrsssssstttstttttsttttttttssttuttttttuvuutttuuuutuuvvuttuuvvvvvvvvwvvvwwwvvvvvvvwuwwwywxxwwxzyxxxxxzxxwwwwwwxyzzyxxyzzzzzxyzzzyyyyyzzzzzzyzzzzzzzzzxxyzz{{zzzzzzzzzzzzzzzzz{z{zz{zzzyxyz|zzzzzzyzzzzzzz{zzzzyzzzzzzz{||||}}{||{}}|{zz{||{z{}~~~}||{z{|{{z||{||{{}}|{||{z|}|}zz|{{|{{||{{x}|z}xz{{||||||{|||{}|||z}||}}}}}|{{{{{{{{|||||||}|{}}|{||~}|}|}}|{{{|}~}|||||{|{{|{{|||||~}{|{{||{{|}|z{}}{{||{z||{{}|zz{||zz{|{{{||{zzzz{{{{|{{|zzzz{zzz{{zzzz{zyyz{zzzyzzzz{|{zyzzyz{{{zzzzz{zzzxzzzzzz{zyyzzzzzzyzyxyzzzzzzzyyyyzzyyzyyyyyxxyyyyyyyyyxwwxyyyxyyxxxyxzzyyzzxvwwxxxxxvyvuwxutvvwwwwwwwwwvuvutuuttuuttttttuvvvuklmmnklmmmllllmmnnmnnoonnoqpnnnnnnnnponnnnoppoononnoonnoopqppqrrqrprqprropppppqqpqqqssqpqqstsqrtttttsssssqrtsrqrtutsstttttsttsttttsttttttttttttuuttuvvutuuuuvvuvuttuvvuuvvvwwwvvwvvwwvvvvwvuuvwxwwwwwwwxwxwwxvxxzyyyxwwxzyyxwwwyyyyyyzzzxxxxyyzzyyyzzzyyzzyzzzzzzzzzzzz{zzzyzzzzzzz{{{zzzzzzz{{{zz{wzz{zzzzzz{|}{zzzzzzzz{{{{||{{{zz{{zzzzz{}~}|||{{~~|{|{|{||{z{}|||{{|||}}|}z}||}}||}|{{||{||}}}zz||||||}}||x{{z{||}}~}}|||{|}|~|}}{~}}~~||||}}|{|||}}}}|||||{}~}{}}}|}|}~}}||||}}}}}|{{|{{|}||}|}}~}|}||{|}}}|||{|{zz|}}|}|{{}}{{|}|zz|{{{|}|{zz{z{{{|{zz|zzz{{zzzz{{zz|{zzzz{{zzzzzzz{|{zzzzzz|zzzz{{z{zzzyzzz{zzzzz{zzzzzzzzyyzzzzzzzzzzzyzzyxyyyyzzzzzzzzzzyyyyyyzyyxxyyyyyyxzyyzzzxvvwxxxxwtxwuwywuxvwxwwwwvvvvvvuuuuuuuuuttvuuuuuuukmmlnlmmnnmllmmnnnnnoooooooonnoooonoqqppnnnoppononopoopqrrrqpqrrrpqqqrprqqrqqrrqoqrstsrrsqqsrrstttsrrsttttttsrrqtuutttttuvtuututtuttttuuuttuuuttvwwvvwvtuvvvwvvvwutuvvvvuwwwxxwwyxwwwvvvvwvuvwwxwwwxxwwwvwvvxvyy{zzyxwxyzyxxwwxzzyyyyzzzzzzyyyyyzzzzzzzzzyyzzzzz{zyz||zz{{{zz{zyyzz{||{zyzzz||||{zzxy|{{{{zz|||{{{{zz{{{||{{|}|{{{{{||{{||||}~}||z{}}~~}||~|}{}~|{|}|||{|}}}~}~}~}}~~}}~}||}||}|~~}|{}}}||}}}}|{z||}~|}|}~}}}}}}}}{|{|~}~}}~~}{{{}~}|||}}~~~}}||||}}|}}}~}|~~~~~}}||||}}}||~|{}~}|}}}~}|}}}||{|}|z{~||{{{{|}~~}|||||}|}|z{|{{|}}}|{{|{{|||{zz}{z{{|{{zz{{z{}||{{{{{z{{{{zz{|{zzzzzzzzzzz|{zz{zzy{zz{zzzzz{zzzzzzzzzyzzzzzz{{z{{zzzzyyyzzzzzzyzzzzzyxyzzzzyyyyyyyyzzzzzzzzywvwxyxxxwtwwvwyxwwwxxxwwvvuuvvvvvuuvvuuvvuuvvvvuuulnnlnmnmnnmlmnnnnnnnooonnnoonopopppppopqnnnoqqpopoppopqrqrrqpqqqqoqpqrpqrrrrrrrroqrssssstrrrrsttttssstttsstssttttuutttttvvtuututuvttttuuvttvwvtuvwwuuvwwvwwvwwvwywuuvvvvuwwwxwvyywvvvuvwxxwvwxxxxwxyxxxwvxxxzxzzzzyxxxxyzzxzyxyzyxxxyzzzzzzyyzzyzzzz{{zzzyzz{zzyzzz{|{zz{{{zz{{zzzzz||{{z{{z|||}|{z{{|z{|{z{||{z{|{zz{|{}}zz{||{z{{{}|||}}}~~~~}~}|{}|~~~~|}}}}~~}~~}}}~~~~|}}|~~}|}}}}~}~~~}}}~~||}}||{~|{|z|||}}}}}}~~|}{~~~}~~~~}}{{|~~|{||}}~}}}}}}}||~}}~}}~~~~~}}}~~~}||}~}}}~}}~~~~||}}}}|{|~}{{}|||||{|}~}}|zz|}|||||||{|}}}}}||{{||}|z{}|{{{||{{z{{{|}{||{z{{zz{{{zz{{{|{zzzzz{{z{{zz{|{{z{zzzzzzzzzzzzzzzzzzzzzzzzz{{z|{zzzz{zzzzzzzzyyyzzzyxyyzzyyyzzzyxxzz{zzzzyyyyxxxxwxxvvwwwxxxwxxwwwwwwvvvwwxxvuwwvvwwvtuvwwvuvmnnlnnnnmnmmnnnnnnnoonnonnoonoppppoooooppooppqqpqpqqppqqpppppqqqqqqpqrqqrrrssrrqrrssrrsrsrssssssrrrsstsrtttsrrttttuuuuttvuttuuutuvututvvvuuwwuuvvuuuttuwvwwwwwwxywvvvvvvwxwwxwvyywvvvvvwyyxxyyxyyxyyxxyyxzzyzyzzzzywxyyxz{yzzzzyyyxyyzzzzzyyyzzyzyzz{zzzzzz{zzzzzz{|{z{||{{zyz|zz{zz||{|||{{|{{}}|z}}|{{{|||}|{z|||{{{{|||{z{|{{{{||}}|}|||}}|}~}~~}~~~|}||}~}|}}}}~~~~}}|{}}}}}}}}~}~~}~||}|||{~zz~~}}}~~~~~~~~}~~~}}|~}}}~}||||}}}}~~~~}{{~~}~}~~}~~~~~~~~~}}}}}}}}~~}~~}}~|}~||}~~}|||||}}|}}~}}}|z{}~}||}}|}||}}}~}}}{{{|}}||~}||{|||{{{||||{||{z{{zzz{{zz{{{|}{zzzz||{{{{{||{{z|z{|||}}|{{{z{{zz{zzzzzzzz{{{{zzzz{{{zzzzzzzyyzzzzyyyyyzzzzzzzyxxz{{yyyyyyzzyyyxxxyxxxxwwxxwyxwxwwwwwvwwvxxvvwxwvwwwuvuvwvuwlnmlnmnmnnnnnoonnnnnnnnoooponnppqpopqqpprqqpppppppqqpqrqpqqppqqprtqrrqsrrrrtttsststtssrqrrssrrsrttsssttttsssrrtuuutuvvttuuttvvvuuwvuvuvvvuvwwuuxvttvuttwwxxwwwxyxxwwwwwwyyvvyxwzyxxyyxxxyyyzzzyzzyzzxxzzxzzyzyzzzzywxzzyzzxzzzzzzzzzzzzzzzzyzzzyzzz{|zzzz{{{zyz{||{{{{|}}||zzz|zz{{{}}||||{{|{z||}{|}|}z{|}~}|}}}||}|{{}z|{{||{{||}}}}|~~}}}}|}~~~~}~~}|~~~~~}}}}~~~~}{}}~}}~~~~}~~}}||}|{||||{~}~~}~~~}}||}}~}~{}~~}|~}~|~~~}}}}}}}~}{{|}|}~~~}~~~}~~~~}|}}||}~}~}}~~{|~|}~}}}}}}~}}}}~}}}||{}~|{||{}|}}|}~~}}|{{|~~|~}}}{|}||{{|}|{|}}{{{{{{{{{{{|{z|~}zzz{|{zz|||||z{z|{|}{{|}||{{{{{zz{zz{{{zzz{z{{zzz{zzzyyyzzzzzzzzzzyxzzzz{{zzzzzyyzzzzzzzzzzzzyyyyyyyyxxxvwxxzyyzywvwywvvuwxuwxyxwwwwxwtuwvuwmnnnnnnnmmmnnnnnnnnppoooopqpppooooopqqppqqppqqqrqqpooqrrqqrsrppqqqrssrrrrttssssrtssttrqssttrrrsttttuttssrttttttwvtuvuvututttuuuuuvwwvvwvtvwwwvwwuttuuttvwvwxvwxvvzyyxvxwxyxvyzzyxzzyxzzyxyyyzzyzzzzzyyzyyyzzzzzz{zyyxyzzzzxzzyzzzyzzyzzz{{zzzzzz{zzz{zz{zz{{{z{|{zyz|||}}|{zz|||{z{}~}|}~~{zzzz|}}}}||{{|}~~}}}{z|}}{|}{zz|}~~|}}}}}}}}}}~~~~}}~~|~~~~~}~}~~||~}~~}}}}~|}}|}}{~~~~}}}}~}}~~|~~}~~~~~~}}}}}}}~~}}}~~~~~~~~~~~~~~~~~~}}}}}~~~~~|}{}}}}~}|}~~~||~~||~~}|||}~z|}}}~~~}~}|z{|}~}{|}}~|||}~~}|~}}|z{|{{{{|||||||}|{{{{|z|||}{{|{{||{{||||||{{{{|{z||{{{{{{zzzzzzzzzzzyzz{{{zzxzzzz{{{{zzzzzzzzzzzyxyzz{{{zzzzzyyzzzyyyyzzyxwwxwxyzyxvuxxxwwxxwyxxwwwwxvxwvuuuxonnnooonooonnnoonopqqpoooqqqppqronnprrqopppqqqppqrrrrsssssssrqqsqrsttsssrssrrststssttsststttttttuttttsssuuttuuuwvuvvvwvvstuttuuuvvxxwwwvvwvvvwxywuuvvuvwwvwwvwxvxyxyzyywxyxwxyyzyyyxxzzyyzyxzzzzyyzzzzzzyyzzzzzzzz{zyxzz{zyzzzzzzzzzzz{{||{{zzzz{z{z{{z{zz{{zz{}}{z|}}}~|||{{|}}{{|}}}|}|||{}|{{|}}}}||||}~~}||}{{|}|{|}|{|}~~~}}}~~}}}~~~~~|}}}~~~~~~~~~~~~~~~~~}~~~~~~~~~~~}}}}~~~~~~~~~~}|}~~~~~}|~~}~~}~~~~}}~~~}}}}}}~~~|}}}}~~}}}}|{||}|~~}}~}|}|}~~|{}}}||}}|}||}~}||}}||||||{{|||}}}|{|||{{||||||{{||}|z{{zz{|||{zzz{zz{{{zzzzzz{{zzzzzzz{{zyyyyzzzzzz{zzyyz{zzyzzzzzzzzzzzyz{zzyxwwyyxxyzxwxyyyxxxxxxxwwwwxxxwvuttwonnooppoooonnnooopqqqppopppppprrqoprrssqpppqqqppqrstttssttssrqqsssrrrsssssssrssrsrsstttussttttttuttuuttsuuttvvuvvvwvvvuwuwxwvwwvwwxywwwwxwwvvwxxxxwwwwxxwwwwwxxwxywyzzzyxzyxxxyzzyyyzzzzzzzyz{zzz{zzzzzyyyzz{zzzyz|{zyzz{zyzzyzzzzz{{{||{|||||||zz{{{|z{zz{{zzz|}||}~~}~}}}}|||}}}|||}}}|}}}~||}~~~}}}}}}}}||}~~}}}}}~~|}~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~}}}}~~~~~}~~}~~}}~~~~}}~~~~~~~}}}~}{{{|}~~~||~~~}|{}|~~}}{|}||~~~}}}|}~~|{}|||}}}|{|||||~}||}}}|||}|||}{{|{|{{|||||||{{z{{|{{{{|||zzzz{||{|{zzzzzyzzzzzzzzzz{|zyyzzzyyyzzz{zzz{|{zyyyyzzzzzyxxyzyxxyzzyxyzyxxxxxxyxxwwvutvnnopoooppooopponopqqpppoqpoppqrrpoqroprqqqppqqpqrrstttsrttsssrqrtsssssttsrttrstrsstttttttttttttuuvvvvutsttttuuuvuvvuuutwvwwwvuvwxwxxwwwxxxxyxxwvyxwwwxyyxxwwxxxyxyyyyxyzyzyyxxzzyxyyzyyyzzzzzzzyzzyyzzzzyyz{{zyzzzzzzzzz{{zzzyzzzzz{{{||{{{{|}}}z{|{|}{{{{{|{z{||||~~~~~~~}~}{{|~~}||}~~~~~~~}}}~~}}~}}||||~~}}||}~}~~}~~~~}~~}~~~}}~~~~~~~~~~~~~}}~~~~~~}}~~}}}~~~|{{|~~}|~~||}|}|~|}~||}||~}}||}}~}}|}||}}}|{|}|}|{}{{|}}}}}|~}|}~|{|}}|||||||||{{{||}|{{||||{{z{|}|{{{{z{{{z{{||{{{{zz{{zzz{zzzzzzzzzyyz{||zzzzzzzxxyyyyyyyyxyzzyxyzyyxxxxxywwwxxvuunopppopqqpoopponopqpoppprqqqqqqrrqssqqrrqqppqqqrsssssssstttttsssrrstttssrrtutsttsttttuttuuttttuuvvuuuvuuttuuuuuvuvvuvutwxvwxxwwyyxxyxxxywxyyyyxvxxwwwyyyxxwwxxyzzzzyxwwzzzzzyyzzzzzzzyxy{{{{{zyzzzzz{{z{yyz|{zyzzzzzzz{zz|{{zzz{zz{{{{||{{{{|}}}|}}z{}|||||}}|{|{|}~~~}}||}}|||}~~|}~~~~}|}}}~}|}~~~~}}}~}}~}}~~~|~~~|}~~~~~~~~}}~~~~~~~~~}}}}~~~~~}|}~~~~~~||~~|}~|~}}~}|~~}}}}~~~}}}}}}}}|{{}~}}||~{{|}}||||~|{}}{|}|||||||||}}}}||}||||||{|{{{|}|{z{{{{|{{||||||{{z{zzz||{{{{{{{zzzzzzz{{z{{{zzyxxyzzyyzzzzzzzyxxyyxxxxwxxxwwyyxvupoooppqpqqqpooopqqqqppqqqqrrqoprqoprrrqoqqqqrrqrstssstttttssttttvvuuutuvttuutsttstttuutttuutttuuuuuuvwvvvuuuuuvwwwxwwwvxwuvxxvvxxwxxxyyyxxxxxyyyxxxxxyyyyxxyyxyzzyzyyzyzzzzzyyzy{{{|{zz{||{{{yy{{zzzzzyyzz{||zz{zzzzzz{zz{||{z{|zzz{{{||}|{{|}}}~~}zz||~}|}~~}||||}~~~~}~}|}~~}}|}~~~~}~~~}}}}}~~}}~~~~~~~}~~}~~~~~~~~~~~}~~~~~~}}~~~~~}}~~|}~~|}}}~~}}~~~}}~~}||}}~~}|||}}~~}}~}}}}}}}||~|{}~|}}||}}}}}||}}}|||}}}}}|||||{|}}|{||||{{{z{{{{||||z|{z{}}{{{{{{{{zzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzyyyyxxyzxxxxxwvpoooppporrrqppqrrrrrqqqqqqqrqopqrqqsttrqrrrstsrstttssttttttsstuvvuttssttvvuutttttttuuutttvvtttuutvwwwxwvwvvvvvwxxwxyxywwxxyzyxxyywwwwyzxxxxxxyzzyyyyyyyyzyzzzyzyyxzyz{zzzz{zyzzyyzzzzzz{|{{{{zz{|{|}}}}}zz{|||{|z{|{z{|{z{{|{{||{zz{z{{{}}||}~~~~~~zz{|~}}}~~}}}}~~~~~~}~~~~~~~~|}~~~~}~~~~~~~~~~~~~}~~~~~~~~~~~~~~}~~~~~~}~~}}~~~}~~~~~~}}~}}}~}}|||}~~}}}~~}~|}~~}}}~~~~~~}}~}}~}}~}}|}}}|||}}}}}}}}}}||{|}}|{{{|{{|}}|{{{||||{||{{||{{{{{{{{{{zzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzxwwwyywopqqqpppppoppqqqrqqrrqqqrpoqrqpprrrrssrsstttttsttuuttuuttttsstuvvvvvutuvvuttuuttuuuuvuuttwwttuwwvwwvvxxxwwwxwwyzywyyxywuuwxxwxyzzywvvyzyyyzzzzzyzzzzyyyyzyz|zyzyyyzyz{yzzz||zzzyzzz{|{zzz{{{|}|||z{}||{zz{||||||{{|{{|}{{|{|||}||{{{{||||||}~}~~{z{{}}}~~}|}~~~~~~}~~~~~~~~~~~}~~~}~~~~~~~~~~~~~~~}}~~~}}~~~}}~~~}}}~~|}}}}~~}z|~~~~}~||~~}|}~~~}}}~~|}~}}}~~~~}|||||||}|||||}|||||{zz{|}|{{|}|||||{zz{|{{||||||{zzzzz{{zzzzzzzzzz{{zzzzzzzyzzyxzzzzyyyzxwwwwyzwoprrqqrrrssqqqrqrqqqqrrrsqorsrrqsrsssttssttsttttuuutttttutttuuvwwvtuvvtttttuvvwuuvvvwwvuuxwuuwwvwxwwwxxxwwxxxxxzyzyxxyyxwwwxyyyxzzxwyzzyzyzzzxyxzzxwyzzzzzz{zzzyyzzzzzz{z{}|{{zzz{||{{{{|||||{{||{{|zzz{{||||{}|||}}|z{|||||}}}|||}}}~~}||||~~}}}{||}}~~}}~~~~}~~}~~~~~~~~~~}}~~~}~}~~~~~~~~~|~|}~|}|~}}~~~}}~~~~~~||}~~}}|||}}~||}}}}}|||}}|{{||}}}}}||{|}|{z{}}||}~||||{{zzzz|{zz{zzzzz{}}|{{{zzzzzzzxyzzzzyyzxwxyyxxyopqrqrrrprrqpqrrrqqqqrrrrrqstrssttttttttttttttttttuuuuutuutuvwwwwwwwwwvvvvuvuuvtvwwvwxvuuwvuvwwwxxwwxxxxwwxxxxxzyyyxxyzzzywwxyyyyzzyyzzzzzzzzyyyyzzzzzzzxyzzz{{yzzzzzz|~||}|{|{||}}|{{||}~~|{z{|{z{}|{||}}}~}}~}~}}}|{{|}}|||}}||||||}}||}}}~~~}}~|||}~~}~~}~~~~}~~}~~~~~~}~~~~~}~}~~~~~~}~}~~~}~~~~~~~~}}}}}}~}|}}}~}~~~~~}}}~~~}}|}}}}}}|}}||||{{{|~}|}}|||}}|{zzz{{{{{{zzzzz{{{{zz{zzzz{zzzzzzzzyzzzyxxxyyppqrrrsrsttrqpqrsrrrrrrqrrrssrstrrssrssstutttuttttuwwutuuutuuvvvuuuvuuttvwvvuuvtwxwwxyxwwxwwwvvxxwvwxxxxwwyyxxxyzzyyxyzzyxwwxyyxwyzzxxyz||zzyzyzxzz{{{zzz{{zz||yz||{zz{}}}~}|}|}}~~}|||||~~|{|||}|{{{|~~~~}~~}|||||~}|}}}}}}|||}~~}~~~~}~}}|~}~~~~~~~~~~}~~}~~~~}~~}}~~~~~~|||~~~~~~~~~~}}}}~~~~~}}}}}}}}||~|||}||||~~}||||||}}|{{|||{{{{zzzzz{{{{{zzzzzzzzzzzzzzzzzzzzxxzzzqpqrrrsrqrrrppqssssssssrrrqrqqststuuttutuuuuvvuuutvwwuuuuvvvvwwvxwwwxxvuuvvvvvwtxyxwxxxxxyyxxwwxxwvwxxwxxxzyyyxzzyyyyyyzyyzzzzzzxzzzxxxy|}zzz{zzyyyz{|zz{}}zy||zz|}}|{{|}}~}~||{|}}}}}|||||~~~}~}|{{}~~~~~~}~~~}}~}}~~~~~~~~~~~~~~~~~~~~~~~~}~}}~}~~~~~~}}}~~~~~~}}}}~~~~}}}}}}~~}||}}}|}~~}}~|{||{|}}|{||}||{{{{|||{{{|{{z{{{{{{zzzzzzzzzzyzzzzz{zqpqqqrrqqrrrqqrsrrrsssssssqrrrstrsttsttttuuuvvuuutuvvvvwuwwvvvwwuuuwwwvvvwwwvvxvyyxwwwwwwyyxxxwwwwwxyxwxyxzzzzyzyxwxzzzyyyyxxyzzzzzzzzzyz{zyz{||zyxyz{z{yz||{|}{zzzz{{{|~}~}~|{|}}}}}}|}|}~}}}}~~}~~}~~~~}~~~~}}~~~~~~~~~~~~}~~~~~~~~~~~}~~~~~}|~~}}}~~~~~~}||}}|}~}|{{||{{|||||||{{{{{zz{{||{zzzzzzzzzzzzyzzzzz{qqqrqrrqsttsrrrssssssssssssttststtttstttuuuvwvuuvuuuuuvwvwwvuuvwuvwxwwwxwwvvvvxxwxwvwxxxvyyxxxwvwwwxyxwxxwyyyzyzzyxyzzzzzzzzzzz{zzyzzzzzzz{z{{|{z{zzzzz|z{|}{|}}}|{{}~~}}~|}|}}}}~~~~}~~}~}}~~~}~~~~~~~}}~~~~~~~~~~}~~}~~~~}~~~~~~~}|}~}|}|{{|||{{|}}|{{{{{{{zzzz{zzzzzz{{zzzzzz{zzzzzz{qqrrqqrqqrrrrttstttsssssstttttttutttttuuuvvvvvvvwwvuuuvwyyxxwwxxvwxxwvvwxwuwwwyxvwwwxyxxwxxxxwvwwxxwxyyyyxyyyzyzzzzzzzzzzzzzzzzzzyzzzzzz{{|{{{|{||||{zz}~}||{{|}{{{{}}}|~}}~}~}~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~|||{|}~|{|}}}||||||{{{{{||{z{||{{{zz{{zz{{zzzzz{qqrrrrrrtttstttsssssstttttttttuuttuuuvvutuuuvvvvwwwvuvwxzxvwwwwxwwwwxwwwxwvxxwxwxyyxyyxwvvwxyxwxxyxwxzz{zzzzzzyzz{zzzz|||{{{{{zyzzz{zzzz{||~{}}}~}|||{|~}|||{|}|}}}}~~~}~}|}}~~~}}~~~~}~~~~~~~~~~}}~~}|}}||~}|||}}}}}}}}||{{||||{z{}|zzzzz{{zzz{{zz{||rrsssssssttttttssssttuuuttuvuttttttuwwvvvuvutvwtuwxxwwwxyxwwxyyywxxwvvwxxwvwyzxwxyzzzyyzxzxyzyzyzzzzzzzzxz{z{z{z{z{zyz{{z{{|||||z{zz}}|||}|}|~||}||}}}|}}|||}}}~}||~~}}~~}~~~}~~~~~~~~}~~~}}}}~~||}~~~~~~}}||}}{|{|}~}{{{{zzz}}{zz{|{{|}ssssssrrstutttttssstttttuuuuutttuvuvwwvvwvvuuwwvuwyyyxxxxxyyyyyzyxxxwwwwxvvxzyxzxxzzzyyzzzyyyyzzzzzzyzzyy{{{{z{zzzz{{{{{{{{{|||}{{{{||||{~~~||||~}|}~~}|}}}}}}}~~~~~~~~~~~}||}~~~}~~~~}|}}|{|}~|zz{||{zz||z{zz{{{||tttttsssstuuttttttttttttutttuuutvwwvwxwvxywuvxxwvwxyxwvwxyyyyyyzyxxxxxxwwyxwxyyyxyyzzzzzzyzyyzzzzz{zyyzzz|{{z{{zzzz{}||}{}{{}|{}||}}{{||{~|{{}~}}~~}|}~}~~~}~~~~~~~}~~}||}~~}}}~}}~}|}}|{|~~|z{|}|{z{|}||z{{{{{{ttttttttttttttttttutttuututtuvvuuwwvwxwvxywuwyxwwwwxwvvwyyyyyyyyyxxxyyyxxzyxxyyyyzzzzzzzyx{zzz{{z{|{zzzzz|z{z{{z{{z{|{{~|}|{}|{}||}}{{}}|~|{|}~}}~~~~~~}~}~}|~~~~~~~~|}}~}}}~~}}}||}~}}}}||}~~}|}}|{|||}~|{{{{||ztttttttttttttttttvvuuuvuuuvuvvvuuwwvwxxwwxwvxzyxwwxyyxxyzzyzzzyyyyyyyyyyzxwzzyy{yzzz{zzzyx|zz{{{{|}|zzzz{|z{z|}}||{{{zz}{}|{}|z|||}}{{}~}}~}}}}}~~~~~~~~~~~~~~~}~~||}~~~~~|{|}~}}}}||||||}|{|||||zttttttttutttuuuuvwwvvvvvuvvvvvvvuwwvwxxwyyyxyyxxwwyzzzzzzzyzzzyyyyyyyxxyyxwyzzz{yzzz{zyzzz|zzz{{z{||zz{z||zzz{||{{{{{z{}|}}|}|z|}}~~}}~~~~}|~~}~~~~}|}}{||~~~~~}}}~~}}}}}}}}}}}}}}}|}|zttuutttuuuuvvvvvvxxwvwwwvvvwwwvvvwwwxxxyzzzzyxxxwxyzzzyyyzzzzzzyyzzzyyyxxzzxy|{zy{zz{zzz{{|z{z{zzz{{{|}|||{{|{}|{{||||}}|}~~~}|}~~~~~|~~~~~~~~~~}~~~}|}|~~}}}~~~~~~~}}}~~~~~~~}|}}{stuuuuuuvvwwwvvvuwwvvwxwwvvwxwvvwxwwxxyzzxyyxxyywyzyyzzzyzzzzzzzzzzzzzzyyzzyz||{y|{z|{z{{}|z~z|{{{|{{|}}||}}}~}}}|}~||}~~~}~~~~~|~~~~~~~~~~}~~~~~~~}}~}}}~~}||}|ttutuuvvwvxywwwuvvvvvwwvwvwxyxxxxxxxyzzzyyzzzzzzxyyyyyzzzz{z{zzzzz{|||zyzzyzzz{}{||}}|{z||{z{|}|z|}|}zz|~}||}~}|}~}|~~~~~}~~~~}~~~}~~~~}~~}~}}~~}|}~~}}}{zuvuvtvuuuvyyvuvvvwwxxxxwwvvxxxxxxxxxyzzyxyzzzyxyzzzzzyxyzzzyzzzyzzz{{{zzyyz|}{{|zz{||{{{}}||{|}~~|zy||||~}||}~~}}~~}}}~~~~~~~~}~~~}}}}}}~|twuwtwvwvwxxwvvwvwxxxxxxxxxyyyzzyxxxyyyzyyzzzyyzyyzzzzzz{zzyzzzzzzz{{{{zyz{||{{|zz{|}||}}{{||||}~}|{}|}}}|||}~~}|}}}}~~~~~~~~~~~~~~~~~}~~tuvwvwwxxxwwwwwxxxxxxxxxxwxxwwyzzyxyyyyzzzzzzzz{zyyzzyyzzzzyzzzzzzz{||||{{zzzz{|{{|~~}}}|zz|~~}|{}~|}~}|{}~~~~~~}~~~~}~vuwwxuvwxxwwxxwwzyxxyzzyzzzzyxz{{zyzzyyzzzzz{{{{zzz{{zyzz{zzzz{{{zzz{{|||{zz{|}}}|}}}}}}|||}~}}|{||~~~}|~~~~~xuwwzuvwxxxxxwwwyyyyzzzyyyzzyxyz{zzzzzyyzzzz|}{zzz{}|{z{z|||{||}|{{zz{|}|{zz}~~~}||}}~}~}}~}{|{~~~~~~~~~~xvwwywxxxwxyxxyxwxyyzzzyzzzzzzzzzzzzzzzyzzzz{}|zzz{{zzzzz|{{z{{|||||{{|}}|{{}~~~}||~~}}}|}|}~~~~~~~~xxwwxyyxyvvwxzzywxyyxxyyyxxzzzzzzzzzzzzzzzyyz||{{{{zz{}}~||z|{|{|}}|||}~~~~~|}~~|}~~|~~|}~~~~|~}~~wyxyyywywyzyxyywxyzzzzzz{zzyzzzzy{{zz{||{zz{{z{}}}|}|{|}{}{}z~}|~{}||~~~~~~~~~~~~}~~xyyzzywyxxyzyyzzzzzzzzzz{zzzzzzyy{|zzz{{{zz{{{|}}{z{||{{|}{~{~}}}~}|~~~~~~~~~~|~yyxzzywzzxxzzzz|{{zzzzzz{{{{{zzyyz{zz{{|{{z{||||}||{{{|}}|z}{}|}~~|}~~~~xxxyyyyz{zyzzzz||{{zzz{z{{|||{zzyz{{{||}|||{|}}||||{zz{}|{z}{}}}~~|}~~~xxyyyzzy{{zzzzz{||{{{{zzz{{{{{{{{||{||||}}}}}~}|||||}||{|||}|~~~~}~}~~~yzzzzzzxz{zzz{z{}}||{{zz{{{{{{|||}||}}||||}}~~~}}}}|||}}|}}}}}~~~}~zz{zzzzxz{zz{{z|}}}|{{{{||||||||||||}}}}||}~~~}}|}}{z{}~~~~}~}~~{yzzzyzzz|{z|zz|}}|{{{|}|||||||{{|}}}}}~}}~~}~~~~~~}~~~~~~~zzzzzzzyz|{{~|z}|{zzz{{||{z{}|||||{}~~}~}}~~~~zzzzzzzzz{{{|{{}||{{{||}||{{|{{|||||}}|}~~z{{{{zz{{{{{{{|}}~~}}}}}{||}}|{|}~}|}~}}~{|||{zzz|zz{{|}}}~~~~~}{|||}}|}~~}~{{{||zz{}z{||~~}|}}}~}~}zz{}}~~~|}~~zzz|||||}{{}}~}}}}~}~}{{}~~~|}~~~}~~{zz{}||}}|||}~~~~~}|}}}}~~}~~~}{z|}|||}||||}~}}~~}}~|}~}}~~}~~~~|{{|}||}|}}|||~~}}}~~~~~~~}|{|}}}}|~~~}}~~~~~~}}~~~}||}~}}}~}}~~~~}|}}}}~~}}~}~~}}}~~~}}}~~}~~~~~±±ðïðñññIJIJIJòóIJŲŴųųȴɵɴȴȶȶǷȷȷȷȷɷɷɷɷʷʸʸʸʸʸʷʸʹ˹˹˹˹˹˺˻̻̻˻˻˻̻̻̻̼̽̽ͽͼͼͼͽͽ̽̽ͽͽͽͽ̽;;ͽͽͽͽͽͽξϾϽνξξνϾξϽϽϽннннϽннннϾϾннннннннлллмнϽмллмϼллмлйййкϺϹϹϹϸϷηηͷηηηζεζζεδʹͲͱ̳Ͳ̲̲ͱϛnķ˱ȾʴP/jƮÍj˰ɲywʲʼ@8vʣV=ϖsnS>kr̯hgʗZ˹XShХQ?;bɬnazt4.312>ˮ=JSĻ=xl¿ŲC?|ȾŽz8:ʷPɫtG|efʱъʕztfsŒP0-++-4ͰÕab/@NČQe8DiëbI81;N\gOxƴN+%|<ʹzamvaȱClzϽLDL:MϪtT3*131*+uʭ^VE,8HP1~IzL\ŨP535HVjh\>WƥJ,)P9N{IĽ}yqoj͗\faϳg͛Z`ud_}Q09H875../VSķ̮STV\,4=PL5g]gÿuPEY>l`ruBtʲɋ3,)RPKsZʰkzud\dSh`yjnʽ̷bn}eh|B7]nx_Yx>QjI-kuS\+.GcuylnC.ItWOEQ52,++6<9+PϹlDdxiS>PD=3,+/6th>77WnVrZ8Atgƀ;DJWTABDH:NtvqżЗ8`ȟTD2*4>46dϰyWk˱xQHi\68\5+.1K]O21.8G@I>+0-*.1.5.,3PǏbMmqF=89+)10++6Û_}h;9A>ċYD|ƽ`07yț8*../(,4ung<[KWZǧ_VD=N88`FKhiJ65E_uyʊscd<+++,'2)-44PP+.')1/+*.1./++/?1,.+PΔl\rzrB̓-3DtG#10eþh-.0'01,1QPkV4*3PaͺuJRgi4/D^r\9dlZaJ\lɽv\hf0++,1+-/+('70-+/.++1.+++.+7JC-.+,8]N«̵n|y}Xtjn=:4F6--.0,-29VzlLmG@SgKJAOUB-5DF\\gRjvştON87DH-J=E?:JJϢAJAb5ke(13JÄ0-/-)7..11GNC-,11pȸßvow6+DvO=0,3GJGfpB\x˷ijwM*3,,-,+-+./++..,.0/*+/++,3Lb>,,)//--m`˝jvszfJ]M..122+0,*...5WVWryhVV:;HM56V_QLLYA7nrvcfO¾ɥ`\GJ3SJ?3PPA6Dg9ɻʣOX<-2W[nyx>1+.-13.SezFsljȵxQS2-.+,,.,--,.,+--,.,,/..-+1<=6-0-/++/+c>oˬrz^aVl}AuVmD>5+-*+,,+-/,..>[QX>1,PDP\@>?9831C0P\=aD¿ËgE58D<^B=b~xX]l|<[vȾɽnftnnJ[UhV6,5:.,Vn87++/-*--/E8*.,-.)DqŽIz|D++.,118T?A0-,*-,,48576?vmTŒt_D1--+-,+.,+.+,,,--,-+,.-.-+/1.++.+-,,-*OO%>kɫP:QuG*kvtyK?*;3+0+-+-/0,,..>@u\t=*2JL@ZMB>,(..10ON|4>WdDnT\771FK7VW9Du[>X[A++Sľ£D'8PQW|ɮyn`\G.-+,3/4@9/+3,,.----.,-,-++2*Uf[˓`Ŀϭwḻ|B/,.-++-8I+-)+..:70B>1,/3neXúnhh<,,.,.-+-,+.,,-------.+,.,-+-+.+,/,,*-7'*-5=ơoO6F\<-oczTviSf[1-.-.,1,,18,-,0:4LP7./.PH=TE1401-+->EA\Kpz5@P^NOUƇ¾ƟbXbZP=5,.bW6:-,Hƿ¿Ɇ2.GlanE324-/+--,.)*+-+-.,/,.-)/0+-++*9ccDxʽŕN`P|Ͳh>HΖM,,),.,--(+.-,-+490+,83+,/8;}ʪG1U?>.--,---,----,-----,,.,--,.-----,,--,,22-0*4Űb189AON2gQb\>7<>J-+-1)6-/+32--,'317we@,125L<>B085,+/>OnztPB_a,1MoqKpVǘyýòQV81,.PX3:4JƵſĽƾå̿8AmxNjϙudG.1(..,--,,1+1+-,,.,,//-+.+,.6YcQ>JРƥRTZP`ʫWKSʴ3.+1+,-(./5.+.+,03.0+-/,.+0>}D*16J1.-,,-.,..,-,,------,.--.,-.,+-.--+-+-.+.-EǷh.9Dnr\Dzk{R^N+AI/.+/+-*2+,./++-.,.+>zkwU_\J:FV5C33117/1-(uVK94Mpc\J41+9UeLxEwVLk¾²nuni|o]<:4>.*8P6-+Jxʴsÿã;ѽusâg:FcQYf|wjF.;6*-0++.0.,+..-/-.-+,,,,,/*1BK;-Z_}ǒkhbzpYčPt}../)-.,-,+2-.-/+*/.,.+..-+.0:5NW2,+,3/,.-,,.,-,,--------.+---.,,--/,+--...-+++5C|ƥhI>WM]{heD_pZita`V74/+-./+0+.,-*-.+--.+7@4LiP:118<,6-8@TK51,-zheLJBPfw0.-.->;C80.+D8OP|s-0,+1'JrkZD2uJCpĸd_[°|PJ=J67:9*3(.++.1,=zzzoþ¿ǜPn¹g~gpF-.?bJ:ʟXBEP>*0,--,+,-,--,,,,,,,,,,,+,-/(Jdprjy~qB.kcl?6P{nԴS+1+++,--,+-,,..,,.,0-,1.*,/,./':J*-.*.)/+-,-------------------------------..++.,+>ʵa`ȾwA14?Oen8iDG/9BC}rSeJ[ouoi^0,.-+.,.*/,,--,/-+,+-./0Yqht1+,-,+,/+*,,.+,+137mw3+,/).1+71)9|G@;n÷[Pfud|rbcf[5.657,2/6DdPjsƬ½gnĽĵzÿûǫxkwAD4-1>=BvϺlU1,.,--,+----,,,,----,,,,,,--.Bgs~z\O<-/jQ>1H8_ftz>0,,,,---,,-,,..,,-,.,,--+,./+,.+-.,,,+,,--,,,----,------------------------,+-/*1?9<}ͽͥ?Zn̰rS;MEVSPuA7,16<_nsca\|QPrVbgfP3+-+/+,.+.,,,--+--+..)+2ROFY4++++-.,,-,,,--+-,*Plb[WxI,+,++1-1)1Wn798\oRh±mPjngWZhdSYGKHK94NW[271?92^{ubî_nzĆnƿÇ[|be4,,:D?EʹœE./-+,,-,,----,,------,,,---,,-*0?KchÓsE0\;3TrFhoYkWGB1+,,---,,-.--------,--+,---,-,,,+-,+.+.,.-,,-----,---,,-------------------,.++./7.0pYqɟbN@QinCXXvJ*,64-*HZZ[>lxVRYqT|z^S]840++.+,.,,--,-,./+.0+++-)>JK>@fG1-,+..+-.+,//1++-+3>0:da;-1+,,,./2;b>8AAwkQYǴuQCPzzPUPIA7@:1++1DMG;3,-1+tVJXqXÝrlþšXbµqRuK.+AFG:Y|G5*,+----,,--,-,-----,,,,,--,,,/0PWQyqÓpva>1,^}J<0J2GE.------,,----------,..,,-,-,-,-.,+,------------------,,-------------------++-..++.2avtyeƽ~zbaSY17cmooj:*/59/28B1X]:IFRPj}MjfxF8goUAhĜh`btvbbU`V?37-21.QW/00BsMA6;,cʢqPHzmvkƾÿbemnzþ̙\wszCbutnAE8-,+9<2)ViF[C&+0.,-,-,,--,-----,,,,,,---,,-+,Y`iVPG_bǥOPdV--1Bhb<+..2/*/,-,,----,---,-..-,-----,,+--,,++,,---,-,,-,,,,,--------------------------,+-++1/+,BbTy`g½ɩK\fc2.P~mVJQ?*/>NM/*4AXJuK\P2`Z9NXi^X\)Mgn:=;U9&+)0/,-,,,,-.-,--+-/,+56/1Jc9//--.---++,++.+.,,20HQvrYI\n¤K2-,.+,C\knjgBb2=:1KhtcbWbfd{ɯeb1Pǿk@/0--96/)%PP@11@dîz~fQAcxŽkloĽbtPqNR^r\lbhls6,4.5<3//-6BhT11*,-,,-,,--,-----,,,-----,,-.11.//>=6&0:Xy„BUK?*/,/811-//.,-0.--,,---,,---,---,,-,+--,-+,--+,0+,,-,-,-,,,,,,,---------------------------,*/-+).*LRpV_R˜`JC@J>/-2AwaW=-,-,(1DGQbn|^mR`JDOzmM_hqun@BvHo[C~|B+1AzA5+1,/-.-).,--,,,---+--+,.1/.++Eë[)1-,,,,-.-,..++,.,).4+/\xMbzr2+120+++3afzvY7C86;QhRw``cGE\rMCVhQ=ws`YM517,1/+/375B;8-:2Dy˱h=KJfsýĪPTø\854GCzyS`T9J8+/,+.,++7?137+,0,,,,-,,--,-----------,,----)-32---,..Kk\>2.-+.+'1+,(0++,+.,,,--,,,------,,---,---.--+,.,+,-,.,.,-,,,,,---------------------------,,-+-,./)3CUichŽlǻʾҥxP-00+,.,>r^uDLK31),,-,,J{~LJ@RQbszE:98Pm}m?IhSE\,4I^eJwA,OfbM6+-++/+,,.---.,,+,-,-/,+.+,++/-6dpt[206,.+-.,,-.--,+-+,-,/,+2Tkj;Lm=-./+,,0'^iQ?F5J>?XVwhmKYldMhiW;gklH:--=7Jzɠ{R>P`k¾ÿ×tRRyȽȧO*-+G5,5CeG3-,9A--)-*//*/Ea51+,)/,-,-,,,,,-------,,-,,,--,,.,A9.+--++Zƹz@*0.,30,+./)/-..,----,,,,-,,---,,,,-.,-.---.,,.,-,-----,,-----------,,---,---,,----,,,,++,--,.+--*4GςXxżjǿ}?.+/*.>@`zxLTp:1D5+0,/+-11VZ53VVbz\i\EJ66CMPrvyA4gtqaVP)-.>ZEy~J7IbB1/-+,--,,,--------,,,,,,-+.,.-,6iPytWJ40++/..--,,,,,,--,,,,,---1BM/)-4K7/+/++-/*.6JVdPUCGgxdjlTS`vP?brYOLtYF2.-..CP:jb^Zz|nvyPcy½¾ýncnh]Teôs=-,5,-+EK++,+*+-,-,-/+->xvJ/,1---+-,,,,,,,-,,,,---,--,,,-.+4>11+-.*-FD.,*/1.++,--,--,-,,,--,---,,,,,,,,,,,------,,---,---,,---,,,,,,,,,,,,,,,,,,,,,,,,.--,,-++,,-.-+,.++N}h[no`ÿɹM9(...02@>y|D:q~hI?R7+.+-0-,.-33018[b`lcU7P85Cfotm0JqZttg<9*+,+==VqvC.Qa9/+,.---,,-----------,,+,+.---/0DǜnO^;.+++.++.,,,,-,,,-,------,,+7J-/)1,+,/0,,-/(2b}PeXJH\Wz¨}o`/ECOdwmP8.Bmmro`4--*,-('3)V\_JBHBV[b@0+7B2n[zVJ\hystQLhuĠYÿƥ¾«S\~UKizaǵwF>6.+.,2,6[o10-,+,----0*-,+131/41.+-,/-,,,------------,,,,,----31*/.,+0+/Krnwe\gSQJ,+-,++-,.,-,,-----,,--,----------------------------------------------------------,,--..--.-/1+,+).1W\noUhJjf_?ƱyK0*0883/1hVPS8ZppR73kY00.1+-,0+)-/+bY`qcnY,(0DV[\bY76,:I7COWfP0+-1+-0-FmBW8.Dnb).1+---,,-.----,----,-,-+.,,-/1D}hQIfVy<'-..+0-,-,,---,,,,,---,---0:03/0).tgFi[fv~r@u_X29KIb~feJ7[^ýOûL¾jI7syfggcʽ|P6=E+1,.%+)8D0).,,..---+-,.,+<>.1*-,,+,-,,------------,-,,----,.++1*.-.+&0+7iubD0++0/-.,+,,---,,---,-,,,-,-----------------------------------------------------------,,,+,,,-.-40,/--+3;2c~pJTF½ɫSRI^P:93//6|hlLMhUDVspV-8nV++-+/-,+*0..8H51I{CLth/,1?R]r|tLV1L+1<,:VEDJ0++../--*SD,0,2;__^fX'.*---------,-------,+.+,+++,//9hh9*0,D\ozT:-+,+,+,,.--------,,,--,,,.+,3Rr/,,,1@18UUP;T\A>8HV-5C6ADDtì{gJswIA?863,8891HnD7DT{¯_rub^hr|H?Kfa15\w¿fxþ[\Eü}zgT.7cVPltq^g6**,3/..0.+-+,----,-,,,1+4/+--1++.+-,,------------,-----,,++0+/0--.*/,>]˴S/+1,+++,0/.,----,---------------------------------------------------------------------,,-,,.-.1.+0./,*-.=8Hc|bi{S+E@ń+08622+1+/FQ{Z_dfEhve8B/,1.-.+0*+-//0).C307l{U,>aQ2=44Hz}aXV78//DH1=Q\L4.-+/*,-1,`ra-+*+2htbUWZM9,,------,-----,--,.+-,,+,,.0/.+/06ZS1/,-+.+--,-------------,-+-181?czw:?..,-/.5/28-1.:6,.B]xS//-/TXIJVvPYbUVRg|hWE=?7B;WXebYpùO-+/+-:hzhehVlv;4>@818P<804OTF2,+?aXhotddvmR8Nta;2D|V,7Qi{jç~nHhuzeAfþ<123GXY\{P]J\;-/.+-+---.,,,,+-.,++.-.,*./.,++-/--,--------------,,-,,,,,/+./-+,+.18nSD90.++/.,/*+-.,,,-,,---.----------------------------------------------------------------,,-.,,.,.03-,+*+11Tgn]J30*1*>+++1,/*--:QgdNNL?_D/+/-.,,/+.-+,/>3-20-XgJ,00F9-061:VUacoRDM?91+16+DibbtN0+-,,--./*Dvya`81,1+-9Z~oD.,-------,----,,,--+,/,/,-++/10.8xy=,,--.+-,+,-.----,-----,,,-+1618OOh30(0,*+.,.++./,801b|H07641@DEZb}n^ZYD@EjtL039g~n]H8gZt:.++//7IeEOSjXLfdD80,-..1-.+.@D;.1/7+HX+5NP=KfJ/.2Oihs~sww tP10,@lxu]x@3-:4,--.+/).*/,--++-.-,--,+--.,+...+*-,,--------------,,--,,--,.-+=-,.-*7zY78+*++1-.++,,/*,0/-.-,-----------,---------------------------------------------------------,+-+,1/*/+/,4==SiwheM+-0(Ƚ=*++,,11.2^jn}P4;@.gjPB.(1/+.,--+-+..40+-6Ww,3'+1+.0+++0Zs>:?J;0+0,6_evnVi8+-+.+/+,.,7dNL1-+1+*-1a|D891,,---,,--------,+,++,-+/+0,/0695Iy_8nn\cN:SQC:Vh]jmeDNV†Q^JDbnkV999\nv{yAQVub4--+6blyllZ0//20+0+++++181@H?8M3?850-1/PQaoh1+1eVO¾h¥{wTXuÙcFG6*0I}}}nh[s:>2,/-.-,*0,+0+-,--+,----+0+-00+,+,-+---,,,-----------------------.=d0..,0.13/.+./--,.,,/--,)0,,00.---,,,---,-,,,,-------------------------------------------------------,+-,.43--+17x|H+.+,\§i1*+5.J8+(8]m72186JsJ'(+3++-,-.,.,+,..,1AnB3z4(4-+*-+,,2ZibUN2B5.+*-16\[9?t9(-/,-+/,++8h/,.,.22+,Lgg1))-,-+-..-,,,-.---..,+,.-1,+.,,.N{kvLGbqeFD47.-1,/+/+/00-++-.---.-,,,.+,5F>/>'61/,-.+6C3]ldZaJ2-9a008>JC3X\bX`e:Vbp>TKNz^QD>bt\W3)5C60*NûØtBcWtû­vgwSHrúnj1+*3+9JikxY_@,-+,.,.++-+,,+-,+,,+-+-,+0++.-.,/,-+-,,,,,,---------,--,,--,,-*03E0+,4%3;?1-))+,0,+.+*//4NZ:+0/-,..-,-..----,,--.--,,,,,,------,,---,---,,-----------------------------+.++1-./-*Acoӥ5-.+-1Jb̲^?1fV;57Au`:/-,,.(')12.,+-.------+,--+/@HU;%0}\J?.,+.)2@@8+Xh8'+.KK<*,09hJ3=Qa20=+1,/,.+--)+1Q3/,.+8J:Ggl3*-.,.+,-----,,-,/+.,+-,,+-+*1491/>ezkzOEdV1->>,/++41/,+.-)/+-+-..+,-+4696+4=B[.11+-+.*4@3^dkbS[b_`DY>18>K=PVc1.OvPnnzi]G4^nzP_7+?<*0,&++0-Crfùm3.(+/+/++-+XU0*/@`RDQRFV1+1AD?7K>Fa/)*//393+BÆLA,2Rje[R8@m;,+/,/AU^ba]ZR;3sd0,+,-.--,,-.-,.-+-.-0*.+-.+--.++.++.,-,,,----------,,,---,,,-,++.)0071/-B[T5+2)-6DJ;/.,,-./.,+.,.+++--.-,,---,,,,---------------------------------------------,,--++-,+.-1,))+0IKAUcsT+-)/*..TɱjZ_i=7vT]Iu9.*,113,/(--/0-,--,---,,--,0/)+7LJL9+++0.,.9YrV1HE95:8N2-0-*RH.-Qb936+0**,-.+.0*.S\72,,222Wzs~G+,-..,.-----,,,-+,/,.-,+-.0/,-Bd[TTuoJ816C7013/>@41.,+/+.-1/-++-,,--.:PVD>1+*\UiI(+++--,1E>+7/yjkY_P11H>Uz[9018du>-201735/,-/4BB[DF80-1-,.<8*>|jsD,-tuTnF=Tafn\(--0214EVnQNK^F.5?8,,-+-.,+,0.,,---+-,+.+,,*+1.,+-/-.-,*--,,----------,,--------*0.,,-BwK:=YYhkX;60J1-++-+/0-,-.,--,,---,,6eJwo;/*-*.0*/6<>2DC6D>186-+//AH5-0@>8-/+-/..--,,+.-9vn8-..116<8Q[F,--+-,,+-----,,-.--,,,/-+*,-0+7JPZcb8/12/9441>F8+)0,/--)/.,-+-+,--7nhIBF=13./-,1--+,8//2ZnjjbuebQ\J>4?YbDQM?H]bCbz`hR;6Yjuh:mR85+-/:B-Vi;9,+,++0715/-0,2LRRIqtsP5.+6^VN>*3N\:bK+>US9..++++,,...-,16FEQ,.,+.-,.-/44Jƽi/5\{b][úĨ_‡zejfb>/9J]W.0+,.2,67JP+,++..,,-,+-,+,/,,,--.--,.,.,+-+-,//+-,,/--,,,---------,,.---.-,+-,+./2OvB;IOY{jD4+<:60+0++.,..----,,,+/+-,+/-+.////.---------------------------------------------------,,,---,..+-*./.)/*+0.-,-/,,--)/5@Jɾǥ\FJEO6,0<8:A/960*/+3@+-,//,,,----,-,,---,-.>lYwT%0/0+-0.+*+/JSA4-->KdR/.*-+.-.11+1,./)++---+-,8iS>8J<1>IGNP1///01..-,+++---/*)=Q++.-,+,-,2L\^`J//++-++,*+/--/'6yOP[efhMA8G=/(0>prm33Tnn}V\G.7P[hAY6,+2+(0.4?ëh(.,3384//(++++/-T~nl\VL>+./@?68:1?O6J_<4aXTD-+-0+,0&0-*)-,.,53,/0--*,-,-*+VõvgW?+8Ykeq¹bf88+58:6F>+01+,+-4.=nL/*.,-/.-+,,,-/-,-,-,-+..+...08+--,,+,---+,----------------,,,--,+.+.++/1;3-bʺE/(/.--,-+,/,,..-,+,-,1+/1+,-,-./0/-,,---,----------------------------------------------,+,,,++1+,..+/+-../)*2+*2(,0++.-19YlÇG810+1-8.cn^>0/+1-/-./,+.,+-.,+,,,,--,,-*9;+804Z)1+..++-,/,+.-*/,0F_V51--+.(6-+./+)-----,,-,>MVF1-/1,+-----,,-+,.-+.+++7H>^]P945<>4@34;<;>30++,.-+,/0.31-+,175+-.-+----.(1ID-).,,.//,--,.,--;tazKnmkWFbXD{xQ.Wr_]~=+//.+018]gV:FNVVB4BbUQC2;.-.)1--,/,c}D*,.0hpB4..+-..,/14i7/./+-,-/*9,17//8,0m_d>F7/*1,34438<3+1.++,-.,-*/+2tt|f251*W|hnb;Ou[sWbS*/,A6cp4+,./+,.11`>;D[./-.,+--.+,--++--..+/+-,,-145H+-//+/>4+.-,---------------,,,,-...)/,/-,++/D8_·@,2+-0.,0++-+----,+-..),9C8+,.,,,-,,,-,,,,--------------------------------------------,--,,----+,1,+/+2+,**01)-0'1,).-0--.*,/HVPnr82)1)7J]jF831----,+,.+-----,,,-,,--,,--./0+-.FD0+.+1,.+/.+.+-/+.1VTRO8,,15648C9F7..,*,+,+,0/n}bI7;>2,.-..-----,,,+/D8*PzW>9ROMfksyg.31.-+/110+1?8+,/.+-,.,,+.-++;=85>LR2+..+/++-,-.+-/+(//EdY>0>PB18YL4.lvtzvEPot{SwV+++/HN;..,37LA>_`zKanV1(/,.,+/+,,/(.2h\XA>4+..,+,5D.*-.-/+.-+//+-,,--,-.-/+*,+).,,---------,,,-------------------------------------------,---,---,-,,/++-,---/+,-+-++.--,+,--+,+)+)))3ST<5:0).9bGVB+,+/*,/-1-.,-,---,------------,-,.+.(-,0++0+,-+.-.-+-.,4:**,-8AFF`n>^yvl]B.3.,-,0/11--3-,/+--+,-,,-.,++CEN>0(*+.-,--/-+-,-.,.+,-+/,)(0*751/3&1/@Vun|vgosnqUY`BB/{r]y1?;Bju]\P8S_\PUbKfYH<63%*+)-.+,-,/,/+.+++.9>Vi4,++.+/.)-+)6--,5]Q88qOg7?>:/(,18HhLzyJL:9A51,+CMbk]2:1+../++*.+4V]}QQE+1/>^{üuD/4+.-52/-+0,-)1+*,-,..+,/+,,,----------------,,,,,+/+,-,,-+-/+&'%'+)+.+.-+.,-.+,.+,,------+-/+++/-,-----,,---,-------------------------------------------------------,.-,.+.-+,-/,--,/--*-+0,--,+-+,-,*,(+-+,+-,++*--,.,+,+.-+,.,.---..---.---------,--0+,--.-/,/--+,.,.,0/18;:;DFnJP]QPYI,)0.)*,,+/;c;@ITmG+,++,/-+---,--,,,,-/,.+20-,+6546/*/,,.+*/2)/)/+..,+,..*--++.,.-,,,--,.,,/++0610,+.,,-,.+-,..+---,,1(+/-,++/--1,.,++4JV9JIK710:SO8Ubb`c6;>>@;8116;2..*736-K\^`Qdpusb9KaXbhndðe2*,,*F[8&1+/+---,,*,..+,+<`R>+.-,,,,-,,0,-+.0333):CbfzwdrN//+.---K|L|IzH+0+-1<:GT>6+-//,.,-/-,.-6:8=?zj=4.*/8{Q+,9=GSR=+,1.+0.01.,/*,)2F1-1XpR8+,-,.1...++.)-,-f{V+//10,,)8BA4*,-.+,1+.-,-------------------------,-.,-,-+--+1.--,*0.-,,-----,-.,..,------.+-+-,+----,-..----,-------------------------------------------------.---,.-,/--,-.,.-+..+.,+-.,.,-,-.-,.-,--.-+,,/0--+.*--,-/.-,,,,----------------------,,--..+-/.+*+,-,--..,++,0;>JZru]eb80--2+8004&>h\\OcZ7*10232+,,,-...---.--,,,,,---+-)10),000*/..,*-/)+.-,+,,,..-1..,-..-----,,----,,.,/0)+/+1,,-----------,-.,,-+(+0,-++-+++.+.+1/,-+,++//++0,.-++-//1+,(--%.,+.3%+,/0*-+13,023/5:98CGWvJ\tzytY]L1+(9Swk4+-.-,-.-,+4.,,,./-38rtYjf5..+,.+-,++.,/++--+,-/--1\ûx_dsu˜gP0+++,,OpLpO}hSH423G8G1///-+*,-).-,-*,+-1bhReJ,/1+>h[7SnJ3+0.5H.36:B61+,..%.,,1/5>@-*3ThPH;HU/++-,-+/,1,>rP*+CEA-+QhP5*--+,+-,.,-------,-------------------,---/+,.-*(,1/-,,-------,------,-----.-------,---,,----,-----------------------,,----,---,,----,-----------------------,,----,---,,--------,+,,,-+*+/1.*)-.+))-//-,,-,,-..-,,-,,,,,,-,,,,,,,,--,,,----+*+.0.,------,+-,1,-3KxvmI*+1./.,('EnC>8<17>>4/1,1-,..+.*1/-+++,,--.--,,,+,+/++1*,+1,*+*/0)*/-+-0-/*1+0+/,-,.,.+,-,,,------,,--,,+.*,0-.*-------------,-./++./-+-++./0,.0,-,/'1',3+++(.2+0--0/+(*-+3*,.,3,0++/..*+1+..#0,,,.*1-+'0/(/,.19:2?\hr{tkI@MZ|rM0,(,,,,----++,,++,/,/40n~F11,.++,+*.0/.,./,+-/-,)1,1MgmPoJ{n8G>,7]nlNYi[IJ\lD/:?QnXW>-+-2,8\J=995G?F\qN=/+++5LhcR|`1+-+0D.25PJ&.//(4DN21,).+%11:O`}sn~gNK4++.-(+87big0Ue5,Mtemub4.+,/--+,--------,-----------------.-,,,,-++,/0.+)-,,-.--,-,,,,-------------,-----------------------------------------------------------------------------------------------,,,,,,-++-/.,,&+/0/-.0/-,,,,,----.--,,,,,,,,,,--------------,,...-,,,-,------,+.+..+?Zbijhr}t5/++-,-1,OP3.1-(,*.,0*,/+0*--+.0),//,++,---,,,-,----+++,/,-,.0.--..,+,-,+/--+0.,+.--+/-,,,,,------,,--,,1*-++.,..----,---,,--,,-+0/+,.,,1,++.-+'..0,...-*././.+++-+*+/0.)+-/1/0((+.+/)*0/*-+.1-,++.+)+01++/,-//%++*.0,+-4O\yhT2+,/+,,------..++0/+,.,+0Zd50,...,,.-++--++..,,,,/3@JA@FenkhnO[K=9^P?_lbkn]zUhfRVO6ERYOF@309D<5a^jhSsax|{1,+-+>kėD,,,*/:*N?/+..*+2+611+//-/7+,6NOUJb\`1--1,1KN>A15*647/JiR/-/>PJ8./+..-,,,--------,,-------------------,,+++0-+++--,+,-----,-,,,,----------,,,,,----------------------------------------------------------------------------------------------,,,,,--,+,...-0/,,-.,+-,./-+,-.-----------------------------,,--.-,,--,,------/-.+-/--+.-+109>>IKQ..,.+1*+,--493,+++,.,/++.,.--/,,,-+0+++,--,+---,,---,+-,,-)1*.+-,).,,..,+--,++.,0+--,.--,/.--,,,-------,,,,,,.+0-)0-----,,--,,,--,,,./,*,-+,+...+-/1+-+-.*.,/,+,-,,.-..,+,--/0(.++0+/,.+,/++,--/+.,,-+)1-0++*0*+,/*0+----,+/+-.8JT[\b?++,.*1------,,)-.,-,,1*.--=yly85-/.0,+.-,+,,++,--,+--Z}UnVfjaw}N1.8M\phYTegB|gTKWlkXNP8-/Ef^^synarcoc}U4+-10O\nJ-++---2JG-/++-,JD51.+-,.,28>P{l{]pJ9(++11(-+-,1.47+.,,+/,+1+0--,0.++,.-,------------------------------,,+,..-,+,,-.-------,,------------,,,------------------------------------------------------------------------------------------------,,,,,---,+,-.+,-,,,-.,,..,,----------------------------------,,,,----,,------,-,-.,*.,.-+-+-+*++)-,-.-+.,.++++-/-.+,.+,--,-+-.,.++.+-/-,+,--,---,-----,+/,-./.----.-,-,,-.-,.+,,..-,-,-,-,-,---,,-------,-,,-++,..-,+-----,---,,--,,,/,+..,+-,.,,+-,+-.,/,.+-/+,.+-.*,+,//,,.,,,0,/+...,/+,0+.-+-*/,,+--.,,-.--,/.+,-.+-,+,,+/+-+,*+)+)..,.,,-,,----,--,,--++-,.5QH1JPjY11,,+0,+-/,--,,-,,./++AinW8ajxnn;..04OGF7d|d[@nt]\Vchw}jq[=gb|[\xkG(+/(F>3.5CMC_5NQI95.,>b}P5AyU9mZ<+*).2+8C?61sxb0,-./(1,*/(:0.0-/3(4:inbYA,+*43PlZ:5(,0,)-++-,/+,/,-+,--,,-.+--,,.--+--.--------------------------,,--,---,,---,,--------------,--------------------------------------------------------------------------------------------------------,,------,---..-,-,,,+,..+,..-,+---,,,,----,,,,----------,,,,,,--,,,,-------,----+0-..++---,-,.+.--.,--,-+.+.+-,+,.+,.,+-+,,,+*.-,-,-,+-+/-,,,-,+,,-,,,,,,,/*-0+.,-,---.--++--,,-.,+-.,+.,--.----------.---,,----,----,-,-------------,--/++,,--,.,-+-,-,+.,,,-.,-,,-.-,-++,---,+,/.--+.+,,1+-.,,,--,.,,+-,+----/-+/.++/+,+,,.--,.,-.-+,,+.--,.-+------,,..-,+,-,0+1+%,+-1)8bI:./)+---.,+--,,.-)-(3Ikxt?06(.0,2/./+1,+./=4OP>1+.jS83=;4HrFG;;@318<+*-/.+-/+.-,+./+...+-++.+-,-*...,,,---,,,,---,--,-----,---,,----,,--,----,,,--,,--------------,--------,,,------------,----,----,-----,---,,---,,----,--------,----,----,-----,---,,---,,----,--------,,-------------.,,--,,,+--++--,.+,,--,,,--------,,,,,,,,,,,,,,,-,,--,,,,---,,---.+--+,---,.,-,,,+-,--,,.-+-,-+---+/,,-,-..,---+-,-+-+.,,+,,,,---,,------/,,.-+.,,---,,,----,,--,+---,-,-+,-,,,,,--------,--,,,,..*,-,.,,---------,---,,---,-.-,---,.--+,,,+.,-+,--,,-.-,---,,,,-.+-.+/,-.,+.-,/,-.,-,/,.-,/-,+-,,/-,--,--,--,+/-.,---/.-.+,,+-+.,-------,.-,--,+--+-1+1(*,/@nvU2/.-+-,---+,.-+-0-.,2nn6-*1,+-0+.-+0,/-,(10++*0/Nogvn|úH]S_\@~G*./++LrF1(+0%2/+,..,+,.+-++,15GVVqY/305sZ1;,7D21&*,.1*++-,.-+------+--,,,+.-,--+--.-------,-------------------------.--.---,,-.--,,----.------------------,,-.--------------------------------------..--------------------------------------..--------------------,-.--,,,..+,.-,,,,,,--------------------------,,,-----,------.------..--,,-.-,------,-,,,,,,,,-----,,,-,++,--,--,,,,--,--,,,,,-,,,--,,,,,,,-,,-----,,,,,,,,,,,,------,--,,---,,,,,,,,,,,,,-----------,,,,,,,-.,,--,,,-,,-,,------,,,,,,,---,,,------------,,,,,--,,,--,,,,-----,,,,,-,,,,-----,,---,,,,,----,,,,,,,,,,-,,-,+,.-,,,-,,---,--------,++,.+-.-,-,*//--153/*.-+,-,,,,,,,,,,+++/6=@@J;>AHTS481.+.,-+-.+-.,*..*0+-/+/*0+202559+@\VYahvyM@?8E\xwE+5;>O>,+(08_V2//-.00,+,,--,++--.---/28;L]U66-,22.;-+/+/.--,++-.+,--,,,,,,,,,,,-,,,,,,,,,,,,,,,,,,,,,,-----------------------------,,,,,-----,,---------------------------------,,,,,,,,--------------------------------,,,,,,,,--------------------------------,,,,,,,,,,,,,,,,----,,,,,,,,,,--------------------,,---,,,,,,---,,,,-------------,,,,--,,,,,,,,------,,,--,,,,,,--,,-------,,---,,--,,---,,-------,,,-,,--------------,,,---,,,,--------,---,,,,,,------.-------------------------------,,,,,--,,,---,++---,,------,,,,--------.--,,,,,,,,,,,---------,,,,--,,,,+,,-,,,,,,,,,,,,-,,-,+,.-,,--,,-,,,,---,----,,,-.-,-,+,.+--,+,..+--+--,,--------/-,,,,++-.*-/-+0-,/--+--+-,,/-+-+0(/,+.+.,0,-,+-+..,.1+-136=F>4/,0,/0Efmtp880-*--0,,,-+1@G4-,.-,,-,-/-,,,,,-,../.--./310-/++,...+-+0).--,+,..,---,,,,---,,,----------,,----,,,,,,,--------------------------------,,,----------------------------------------------------------------------------------------------------------------------------------------,,------,,,,---------------------,,,--,,,,,,,,,,,,,,---,---,,,,--,,,,--,,,,,,,--------,+-,,,,-,,,----,--,,----,,,,--,,---,,-------,,,,,,,,,-----------,,,,,,,,,+,---,,,-,----,,,,,-------------------,,,--------,---,,,,,,,,---------,,,---,,-----,,,,,-,,,,,-----,,,,,,,,,,---------,,,,-----,-,,--,,,,----,,,----,,,,--,,--,,-,,,,----.------,.,,..++.----,,,-+--,--,----------,,-.--/-.+.*-,.+,----.-+,-+.--,,/)/+-,+-*1+.-,..,-,,/-,-,0-,,+,+,+.-.013B=25,,+/+-.++-.-*--,,-+---,,-.----,,--,,,--,,,,,,,,,--+,-,,.-0+-,-,,,-.,-----,,-----,,,--------,,----,,,,,-------------------------------------,---------------------------------------------------------------------------------------------------------------------------------------,-------,,,----,-----,,,,,,,,,,,,,,,,-,,,,,,,,,-,,,,---,---,,,,,---,,----,,-----------,,-,,,---,,----,--,,,--,,,,---,,--------,,,--,,,,,,,---,---,,,---,,,,,,,,,,,--,,,-,----,--,,---,----,,--,,,,,--,,,-,,,,-,,,---,,,,,-------.----------,,-----,,,,,,,,,,,----,,,,,,----------------,---------------------,-----,,,,,------,----------------,,,-..,,,-,+-..,,,-,,------,-----.---,++,,+,----+..,-,.-,,,.,,-.,-+/--.+-,,----.--+.--,,++++,+..+-..-,,+,-,-,*,+.,.--..+,,..+,.,-,-.----,,-.-,,------,,--,/,+--+-,+/-,.,-,,--,,---------,,,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,----------,,---,--------,---,-----------,--,,,------------,,--------------,,----,------,--------.---------------,---------------------------------------,--------------,----------,----,--------,---------,----------------,,,,,--------,,,------------,-----------------------------------,,--,------------------------,---,---,----,,+----------------,--,,-..,-.,/+,.,--.+-,,---.,---,+/,.+--,/+.-,-,,-.,.,,./.+/-+--,-,-...,,.-0++/+.,-,--.-..--,,,.-------.--..,,--.--.--,,-+,-.,-.--,----,---.-----------,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-.-----------------,----,---------,--------------,,---,------------------------,-------,--------------,----------,----,----,---,--------------,-----,------------------,-------------------------------.--------------------------------------------------------------------------------------.-------.-..-,-.----------------------..,--.,,./,,--.,-----,/,.-----,.-------.....+,-.+--+.--,.,--..-,+..,,,+-.+,-+/--,.,--+-/..,-,,----..------,-,,-------1-,+.+-.-..-.----.-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,------------------------,---------,----,--------,,,,----,,,,-,,-,,-,,,--,,,---,,------,,---,,,,,-,,,---,,,,,,,,-,,,---,,--,,--,,-,,,,,,-,----,--,,--,,--,--,-----------------------------------------------------------------------------------------------------------------------..-,--,,,-.-------------------------,,.,-.-+./-,----------.--.,---.,-.,.,--,-,/.+..-,-,-,-.,.-,--.--,-,,,,,,.-./,--,.-/.,.,,.------,,.------,/---,,---,,,.-..,,.,--,.-------,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,,----------------------------------------,------,,---,---------,,--,,,---,,---,,--,,---,,,--,,,,-----------,,--,,-,--,,,---------,--,----,---,,---,---,,--,,---,---------,--,,--,,--------,---,,--,----,,----,,-----------------------------,,--------,----------,-----------------------,-------------,,----,----,---------,----,-.--,--------,,-------.-,---,,---,,--,,-.,-.,,---,-.-,,---.+--.-,---.+----,.,.---,,-,+--.,,.-,----/+..,.,-.--.,--,---.,--,.,---,---,,-.---.-,,---,------.--.,------,/-.,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,---------------------,,--,,---,,---,,,--,,----,--------,,----,,--,,---,,---,,,--,,----,--------,,----,,--,,---,,---,,,--,,----,--------,,----,,--,,---,,---,,,--,,----,--------,,----,,--,,---,,---,,,--,,----,--------,,----,,--,,---,,----,---,,,--,,----,-------------,,----,----,----,,---,----,-------------,,----,----,----,,---,----,-------------,,----,----,----,,---,----,-------------,,----,----,----,,---,----,-------------,,----,----,----,,---,----,-------------,,----,----,----,,---,----,-------------,,----,----,----,,---,.-,,,,--------------------------------------------------,,---,,,---,-----,---,,---------,----,--,,---,,,-----------------------------------------------------------------------------------------------------------,,,,,,,,,,-,,,,-,,,,-,,,,--,,,,,,,,,,,,,,,,,,,,,,,-,,,,-,,,,-,,,,--,,,,,,,,,,,,,,,,,,,,,,,-,,,,-,,,,-,,,,--,,,,,,,,,,,,,,,,,,,,,,,-,,,,-,,,,-,,,,--,,,,,,,,,,,,,,,,,,,,,,,-,,,,-,,,,-,,,,--,,,,,,,,,,,,,,,,,,,,,,,-,,,,--,,,--,,,--,,---,,---,,,--,,,--,,---,,,--,,,--,,,---,---,,---,,,--,,,--,,---,,,--,,,--,,,---,---,,---,,,--,,,--,,---,,,--,,,--,,,---,---,,---,,,--,,,--,,---,,,--,,,--,,,---,---,,---,,,--,,,--,,---,,,--,,,--,,,---,---,,---,,,--,,,--,,---,,,--,,,--,,,---,---,,---,,,--,,,--,,---,,,--,,,--,,,---,------,,-------------------------------------------------------,---,---------,-------------------------,-------------------------------------------------------------------------------------------------------------------,,--,----------------,----,-------------,,--,----------------,----,-------------,,--,----------------,----,-------------,,--,----------------,----,-------------,,--,----------------,----,-------------,,--,-----,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,----------,,----------------------------------------------------------------------------------------.-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,--.-------------------------------------------------------,-----------------------------,---------,----------------------------------------------------------------------------------------------------------------,---,-----,----,-------------------,,---,---,-----,----,-------------------,,---,---,-----,----,-------------------,,---,---,-----,----,-------------------,,---,---,-----,----,-------------------,,---,---,-----------------------,--------------,,-----------------------,--------------,,-----------------------,--------------,,-----------------------,--------------,,-----------------------,--------------,,-----------------------,--------------,,-----------------------,--------------,,-------------------------,,------------------------------------------------,------,---,---------,----------,----,--,------,----------------------------------------------------------------------------------------------------------------,---,,---,,,,-,,-,,,,,,,,---,,,-,,,,,,,,,---,,---,,,,-,,-,,,,,,,,---,,,-,,,,,,,,,---,,---,,,,-,,-,,,,,,,,---,,,-,,,,,,,,,---,,---,,,,-,,-,,,,,,,,---,,,-,,,,,,,,,---,,---,,,,-,,-,,,,,,,,---,,,-,,,,,,,,,---,,----,--------------------------------,,-----,--------------------------------,,-----,--------------------------------,,-----,--------------------------------,,-----,--------------------------------,,-----,--------------------------------,,-----,--------------------------------,,-----,-------------,--.--,,-----------------------------------------------------------,--------------------------------------,,---,------------------------,----,----,,---,------------------------,----,----,,---,----------------------,,,---,-----,----,--,,----,----,--,------,,---,-----,----,--,,----,----,--,------,,---,-----,----,--,,----,----,--,------,,---,-----,----,--,,----,----,--,------,,---,-----,----,--,,----,----,--,------,,---,--------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,----------------------------------------------------------------------------,---------------------------------------,--------,,,---,------------------------,---,,---,,,---,------------------------,---,,---,,,---,---------------------,,,,--,,--,----------,,----,---,,,-,------,,--,,--,----------,,----,---,,,-,------,,--,,--,----------,,----,---,,,-,------,,--,,--,----------,,----,---,,,-,------,,--,,--,----------,,----,---,,,-,------,,--,,--,-----,,---,----,---,,,--,,----,,--,,---,-----,,--,,,---,---,,,--,,----,,--,,---,-----,,--,,,---,---,,,--,,----,,--,,---,-----,,--,,,---,---,,,--,,----,,--,,---,-----,,--,,,---,---,,,--,,----,,--,,---,-----,,--,,,---,---,,,--,,----,,--,,---,-----,,--,,,---,---,,,--,,----,,--,,---,-----,,--,,,---,------------,,,--,,,---,---,----,----,----,----,----,---,,-,,,,--,,,--,,,---,,,--,,---,,----,---,,-,,,,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,,,,--------------..--------------------------------------------,---------,,---------,------------------------------------------,----,----------------------------------,----,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------,---,---------------------------,---------,,--------,,---,------,--,,---,----------------------------------------,,,--,,,--------------------------------,,,--,,,---------------------------------,,----,---------------------------------,,----,---------------------------------,,----,---------------------------------,,----,---------------------------------,,----,---------------------------------,,----,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,,,,-----,--,,,--,,,---,--------------------,---,-,,,,,,,,,,-,,,-,,,--,,,---,,--,,,,--,,,--,,,,,,,,,-,,--,,---------,---,,----------,,----,,-,,--,,---------,---,,----------,,----,,-,,--,,---------,---,,-----------,,----,---------,,--,,---------,---,,---,,----,---------,,--,,---------,---,,---,,----,---------,,--,,---------,---,,---,,----,---------,,--,,---------,---,,---,,----,---------,,--,,---------,---,,---,,----,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,------------------------------------------------,---------,,-------------,----,----,,---,---------,,--,,---------,---,,---,,,--,,---------,,--,,---------,---,,---,,,--,,---------,,--,,---------,---,,------------,,----------------------------,---,,----,,----------------------------,---,,----,,----------------------------,---,,----,,----------------------------,---,,----,,----------------------------,---,,----,,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,----------------------------------,----,----------------------------------,----,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,,,,,,--,----------------,-----------------------,,--,-------------------,------------,------,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,-----------,,,--,,,,--,,--,--,------------------,--------------,--------------------------------,,---,,,----------------------------------,,---,----------------------------------,,---,----------------------------------------,,--,,,,----------------------------,---,,--,,,,----------------------------,---,,--,,,,----------------------------,---,,--,,,,----------------------------,---,,--,,,,----------------------------,---,,--,,,,--------,---,,,---,-----------------------------,---,,,---,-----------------------------,---,,,---,-----------------------------,---,,,---,-----------------------------,---,,,---,-----------------------------,---,,,---,-----------------------------,---,,,---,-----------------------------,---,,,--------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,--------------------------------------,,--------------------------------------,,--------------------------------------,,--------------------------------------,,-------------------,---,,------------------,,,,,,,,--------,---,,------------------,,,,,,,,--------,---,,------------------,,,,,,,,--------,---,,------------------,,,,,,,,--------,---,,------------------,,,,,,,,--------,---,,------------------,,,,,,,,--------,---,,------------------,,,,,,,,--------,---,,-----------------------,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,----,----,-,,,,--,,,-------------------------,,---,----------------------------------,----,-------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,---,----,----,---,,---------,---------------,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,--,,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,--,,-------.-----------------------------------------------------------------------------------------------------------,----,----------------------------------,----,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,----------,,---,,,--,,--------,--------------,-------,----------------,----,----,,---,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.-,,--,-,,,----,------,-,,,---,---------,,---,,--,,,---,------,--,,---,----,,----,,---,,--,,,--,------,-,,,---,,---,,---,,---,,---,,---,,---,,,-,,,---,,---,,---,,---,,---,,---,,---,,,-,,,---,,---,,---,,---,,---,,,,-----------------,----,,---,----,------------------------,----,,---,----,------------------------,----,,---,----,------------------------,----,,---,----,------------------------,----,,---,----,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,-----------------------------------,,--------------------,,,--,,---------,,,-,,,--,,,,------------,----,---,,,-------------,,-------------,----,,---,,----,----,---,,--,----------,----,,---,,----,----,---,,--,----------,----,,---,,----,----,--,,,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,,,,,,---,,--------------------,---,,-----,,,,--,,,,---,,,---,--,,,---,---,,,-,--,---,--,,,,----,,---,---,,,---,----,----,---,----,,----,,---,---,,,---,----,----,---,----,,----,,---,---,,,---,----,---,,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,--,-------------------------------------------------,---,,------------------------,---------,---,,--------------,,---,,---,,--------,---,,,-------------,,---,,---,,--------,---,,,-------------,,---,,---,,------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,------------.---------------------------------------,-----------------------------------------------------------,-------------------,-------------------,-------------------,-------------------,----------------------------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,------,,,,,,-----------------------------------------,-------------------,-------------------,---------------------------------------,---------------------------------------,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,--------------.,------,--,----,----------,-----------------------,,---,----------------,--,,-------------------------------------------,---------------------------------------,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,------,,,,-,,,,----------,------------------------------------------.----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------,,--------------------------------------,,--------------------------------------,,--------------------------------------,,--------------------------------------,,--------------------------------------,,--------------------------------------,,-------------------------------------------------------------------------------------------------,,----------------------------,---------,,---,----,----------------------------------,----,----------------------------------,----,------------------------,---,,--,,,,,,,,---,,---,,--,,,---,,---,,---,,--,,,,,,,,---,,---,,--,,,---,,---,,---,,--,,,,,,,,---,,---,,--,,,---,,---,,---,,--,,,,,,,,---,,---,,--,,,---,,---,,---,,--,,,,,,,,---,,---,,--,,,---,,---,,---,,-----------------------,--,------,-----------------------------,--,------,-----------------------------,--,------,-----------------------------,--,------,-----------------------------,--,------,-----------------------------,--,------,-----------------------------,--,------,---------------------------------------,---------------,--------------------------------------------------------------------------,,---,,---,,----------------------------,,---,,---,,----------------------------,,---,,---,,------------------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,------------------------------------------,------,--------------------------------,------,--------------------------------,------,--------------------------------,------,--------------------------------,------,--------------------------------,------,--------------------------------,------,-------------------------------------------------,,----,----,,--,---,,,----,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,,---,,--,,--,,,--------------------------------------------,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,----,-----------------------------,----,----,-----------------------------,----,----,-----------------------------,----,----,-----------------------------,----,----,-----------------------------,----,----,-----------------------------,----,----,-----------------------------,----,----,,,,--------------------,,---,,---,,,---,,---,--------,,---,,--------------,----,--------,,---,,---,,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,----------------------------------------,,---------------------,,----,---------,----,----------------------------------,---------------------------------------------------------------------------------------------------------------------------------------,-------------,------,-------------,----,-------------,------,-------------,----,-------------,------,-------------,----,-------------,------,-------------,----,-------------,------,-------------,----,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,-------------------------------------------------------,----,---------,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------,,,,---------,,---,,,-,---------------,---,,----------,,,-,,,,--------,---,,,--,,,---,,--,,,--,,,-,,,,--,,---,----------------------------------,,---,----------------------------------,,---,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,------------------,--------------------,------------------,--------------------,------------------,--------------------,------------------,--------------------,------------------,--------------------,------------------,--------------------,------------------,--------------------,--------------------------.------------,---------,,-------------,,---,,---,,,-,,,---,,---,,,--,,,--,,---,,---,,---,,,--------,----,----,,---,------------------------,----,----,,---,------------------------,----,----,,---,--------,------,---,,---,,----,,-,,,--,,--------,------,---,,---,,----,,-,,,--,,--------,------,---,,---,,----,,-,,,--,,--------,------,---,,---,,----,,-,,,--,,--------,------,---,,---,,----,,-,,,--,,--------,------,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,--,,,---,,----,---,,---,-----,,------------,,,,--,-----,---,-----,---,,----,------,,,,,,-,-----,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,---,,---,-----,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-------,,,---,,----,-------------------,-------,,,---,,----,-------------------,-------,,,---,,----,-------------------,-------,,,---,,----,-------------------,-------,,,---,,----,-------------------,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,-------------------,------------------------------------------------------------------,------,--------,---,,----,----,------------------------,---,,----,----,------------------------,---,,----,----,---------,,----,,----,,--,,---,,---,,,--,,---,,,---,----,----,,--,,---,,---,,,--,,---,,,---,----,----,,--,,---,,---,,,--,,---,,,---,----,----,,--,,---,,---,,,--,,---,,,---,----,----,,--,,---,,---,,,--,,---,,,---,----,----,,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,------------,,---,,---,---,,---,,----,---,,,-,------,---,,---,---,,----,----,,---,,--,,----,,---,,--------,----,----,-----------------------------,----,----,-----------------------------,----,----,---------------,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,---,---,,-,,,----,-------,----,,----,---,,,-----------,,--------------,----,------------------,,--------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-------,------------------------------------------------------------------------,,,,,,,,-------------------------------------------------------------------------------------------------------------------------,,----,--,,----,---------,,----,--,,,---,,----,--,,----,---------,,----,--,,,---,,----,--,,----,---------,,----,--,,,---,,----,--,,----,---------,,----,--,,,---,,----,--,,----,---------,,----,--,,,---,,----,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-,,,---,-----,,---------,----,----------------------------------------------------------,,,,,-,,,----,--,---,,--,,,,,,,,,,,,,,,,,,,,,-,,,----,--,---,,--,,,,,,,,,,,,,,,,,,,,,-,,,----,--,---,,--,,,,,,,---,----,----------------.-,,----,---,,----,----,----------------.-,,----,---,,----,----,----------------.-,,----,---,,----,----,----------------.-,,----,---,,----,----,----------------.-,,----,---,,----,----,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,-------------------------------------------------------------------------------------------------------------,,,,,,,,-,,,---,,---,,,-,,,,,,,,--------,,,,,,,,-,,,---,,---,,,-,,,,,,,,--------,,,,,,,,-,,,---,,---,,--,,----,,.-,,---,,---,,,--,,,---,---,,,--,,----,,.-,,---,,---,,,--,,,---,---,,,--,,----,,.-,,---,,---,,,--,,,---,---,,,--,,----,,.-,,---,,---,,,--,,,---,---,,,--,,----,,.-,,---,,---,,,--,,,---,---,,,--,,----,,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.--,,,---------------------------------------------,---------,---------------------------------------,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,,-------------------------,----------,--------,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,-----------------------------------------------------------,---,----------,-----,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,---,----------,-----,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.----------.----------------------------.----------.----------------------------.----------.----------------------------.----------.----------------------------.----------.-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,--------------------,,,--,,---,,---,,----,,---,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,--------------------------------,,---------------------,,,--,,---,,,--,,,--,,,--,,--.--,-----------------------,----,----------,-------------------------------------------------------------------------------------------------------------------,,---,,---,----,,---,,---,,---,,--,,----,,---,,---,----,,---,,---,,---,,--,,----,,---,,---,----,,---,,---,,---,,--,,----,,---,,---,----,,---,,---,,---,,--,,----,,---,,---,----,,---,,---,,---,,--,,----,,---,,---,----,,,--------,---,,---,,,---,---,,---,----,,,--------,---,,---,,,---,---,,---,----,,,--------,---,,---,,,---,---,,---,----,,,--------,---,,---,,,---,---,,---,----,,,--------,---,,---,,,---,---,,---,----,,,--------,---,,---,,,---,---,,---,----,,,--------,---,,---,,,---,---,,---,----,,,--------,,----,,,,--,,------------------------------------------,,,--,,,--,,--,,,---,,,--,,,---,,--,,,,-,,,--,,,--,----,---,,----,-.-,,----,----,---------,----,---,,----,-.-,,----,----,---------,----,---,,----,-.-,,----,,,----,----,---------,----,------,--,---------,----,---------,----,------,--,---------,----,---------,----,------,--,---------,----,---------,----,------,--,---------,----,---------,----,------,--,---------,----,----------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,-------------------------------------------------.----------------------------------------,,----,,,---------,----,--------,----,--,,----,,--------------------------------,---,,----------------------------------,---,,----------------------------------,-,--,-,--,,---,-,----,-,,---,,----,---,,-,--,-,--,,---,-,----,-,,---,,----,---,,-,--,-,--,,---,-,----,-,,---,,----,---,,-,--,-,--,,---,-,----,-,,---,,----,---,,-,--,-,--,,---,-,----,-,,---,,----,---,,-,--,-,----------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,---------------------------------------------------------------------------------------,,----,,---,,---,----,,-.-,--------,----------,,---,----,,---,,---,---,,,---,,----,,--,,,--,----,,---,,---,---,,,---,,----,,--,,,--,----,,---,,---,---,,,--,,------,----,----,--.-,-------------------,----,----,----,--.-,-------------------,----,----,----,--.-,-------------------,----,----,----,--.-,-------------------,----,----,----,--.-,-------------------,----,----,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,----,,--,,,,,,--------,---,,----,----,-----,---,,--,,,---,,---,,--,,,---,,---,-----,--,,----,,---,,---,---,,,--,,,---,,--,,---,,,---,,---,,---,---,,,--,,,---,,--,,---,,,---,,---,,---,---,,,--,,,---,,--,,---,,------,----,---------,-,----,-----------------,----,---------,-,----,-----------------,----,---------,-,----,-----------------,----,---------,-,----,-----------------,----,---------,-,----,-----------------,----,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,----,,--,,--,,,,,,,,,,,----,----,----------,---,---------,,-----,,,,,,,---,,--,---,,,--,,,,,,,---,,---,-.----------.------,-------------------,-.----------.------,-------------------,-.----------.------,-----------,-,--,-,----,,---,----,---,--,--,---,,,-,-,--,-,----,,---,----,---,--,--,---,,,-,-,--,-,----,,---,----,---,--,--,---,,,-,-,--,-,----,,---,----,---,--,--,---,,,-,-,--,-,----,,---,----,---,--,--,---,,,-,-,--,-,--,----,,,-,,,,---,,---,--------,,,,,,,,--,----,,,-,,,,---,,---,--------,,,,,,,,--,----,,,-,,,,---,,---,--------,,,,,,,,--,----,,,-,,,,---,,---,--------,,,,,,,,--,----,,,-,,,,---,,---,--------,,,,,,,,--,----,,,-,,,,---,,---,--------,,,,,,,,--,----,,,-,,,,---,,---,--------,,,,,,,,--,----,,,-,,,,---,,,,---------,--------,---,,---,,,--,,,----,---,,-----,,----,,--,,,-,,,---,,,-,,--,,,---,,,---,,----,,------------------------------------------------------------------------------------------------------------------,----,----,,---,----,---,-----,-.-,,,---,----,----,,---,----,---,-----,-.-,,,---,----,----,,---,----,---,-----,-.-,,,---,----,----,,---,----,---,-----,-.-,,,---,----,----,,---,----,---,-----,-.-,,,---,----,--,,---,,----,----,----,--------,,----,,--,,---,,----,----,----,--------,,----,,--,,---,,----,----,----,--------,,----,,--,,---,,----,----,----,--------,,----,,--,,---,,----,----,----,--------,,----,,--,,---,,----,----,----,--------,,----,,--,,---,,----,----,----,--------,,----,,--,,---,,----,-----,,----------------------------,,,--,,--,------,,---------------------,---,,----,-----------------------,----,--------,,---,,---,,----,---------,----,--------,,---,,---,,----,---------,----,--------,,---,,-----------,----,---------,----,---------,-.-------,----,---------,----,---------,-.-------,----,---------,----,---------,-.-------,----,---------,----,---------,-.-------,----,---------,----,---------,-.-------,----,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,---------,---,,---,,----,---------,----,---------,---,,---,,----,---------,----,---------,---,,---------,-,--,-,-,,----,-,----,--,,---,,---,,---,-,--,-,-,,----,-,----,--,,---,,---,,---,-,--,-,-,,----,-,----,--,,---,,---,,---,-,--,-,-,,----,-,----,--,,---,,---,,---,-,--,-,-,,----,-,----,--,,---,,---,,---,-,--,-,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,-,,,---,,----,,---,,-----------------------,---------,---------------------------------------------------------------------,----,,---,-----,-----------------------,----,,---,-----,-----------------------,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,--,--------------------------------------------,---------,---------------------------------------------------------------------------------------------------------------------------------------------------------------.------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,----,----,------------------------,----,----,----,------------------------,----,----,----,------------------------,----,----,----,------------------------,----,----,----,------------------------,----,----,----,------------------------,----,----,----,------------------------,----,----------.-----------------------------------------------------------------------------------,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,-----------------------------------------------------------------,--------,---------,----,-----,---------,---------------------------------------------------------------------------------------------------------------,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,,---------,----------,,---,,---,,---,,---------,,---------,---------------------------------------,--------------------------------------------------------------------------------------------------------------,,,---,,,-,,,,,,,,---------,,,--,,-,,,--,,,---,,,-,,,,,,,,---------,,,--,,-,,,--,,,---,,,-,,,,,,,,---------,,,--,,-,,,--,,,---,,,-,,,,,,,,---------,,,--,,-,,,--,,,---,,,-,,,,,,,,---------,,,--,,-,,,--,,,---,,,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,------------------------------------------------,,,--,,----,--------,----,,---------,,----,,-,,----,------------------------------------------------------------------------------------------------------------------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------.-------------------------,,--,,,,-,,,,,,,,,,,,,,,,,,-,,,,-,,,,,,,,,--,,,,-,,,,,,,,------------------,,---,--------,,,,,,,,------------------,,---,--------,,,,,,,,------------------,,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,-------------,,---,--,----,--------------------,,--,------,--,,----,----,----,,--------,,-----------------------,----,----,-----,-----------------------,----,----,-----,-----------------------,-----,,-----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-------.------------,-------------------------------------------------------------------------------.---------------------------------------.---------------------------------------.-------------------,,,,-,,,---,,--,---,,,----,,------------,,,,-,,,---,,--,---,,,----,,------------,,,,-,,,---,,--,---,,,----,,------------,,,,-,,,---,,--,---,,,----,,------------,,,,-,,,---,,--,---,,,----,,--------------,,-----------,---,,--,,,,,,,,--,,---,---,,-----------,---,,--,,,,,,,,--,,---,---,,-----------,---,,--,,,,,,,,--,,---,---,,-----------,---,,--,,,,,,,,--,,---,---,,-----------,---,,--,,,,,,,,--,,---,---,,-----------,---,,--,,,,,,,,--,,---,---,,-----------,---,,--,,,,,,,,--,,---,---,,-----------,,--,,------------------,---------,,---------,----,-------------,---,,---,,,--,,---------,,--,,---------,--,,--,,,,,,,,,-,,,---,,,,,,,--,,,,,,,,,--,,--,,,,,,,,,-,,,---,,,,,,,--,,,,,,,,,--,,--,,,,,,,,,-,,,---,,,,----------------------------------------,,--------------------------------------,,--------------------------------------,,--------------------------------------,,--------------------------------------,,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,--,,--,,--------------,----,----,,--------------,-----,---------------------------------------,-------------------------------,---------,,---,------------------------,---------,,---,------------------------------------------------,------------------,,-------------------,------------------,,-------------------,------------------,,-------------------,------------------,,-------------------,------------------,,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,-,,----------------------------------------,-----,--,,--,-------------------,,-----------,--,,--,-------------------------------------------------------------------------------------------------------------,,,,,,,,,,,,,,,,,,,,,,---,,,,,,,,,,,-,,,,-,,,,,,,,,,,,,,,,,,,,---,,,,,,,,,,,-,,,,-,,,,,,,,,,,,,,,,,,,,---,,,,,,,,,,,-,,,,-,,,,,,,,,,,,,,,,,,,,---,,,,,,,,,,,-,,,,-,,,,,,,,,,,,,,,,,,,,---,,,,,,,,,,,-,,,,-,,,,,,,,,,,,--,,,--------------------------,----,,,,--,,,--------------------------,----,,,,--,,,--------------------------,----,,,,--,,,--------------------------,----,,,,--,,,--------------------------,----,,,,--,,,--------------------------,----,,,,--,,,--------------------------,----,,,,--,,,----------,,--,,,,---------------------------------------,,--,,-,--,,--,,,,,,,,,-,,,,--,,,,,,,,,,,,,,,,,,--,,--,,,,,,,,,,,,,,,,,,,,,,,,,,---,,,,-,,,--,,,,,,,,,,,,,,,,,,,,,,,,,,,---,,,,-,,,--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---,,,,,,,,-,,,---,--,,,,--,,,,,,,,---,,---,,,,,,,,-,,,---,--,,,,--,,,,,,,,---,,---,,,,,,,,-,,,---,--,,,,--,,,,,,,,---,,---,,,,,,,,-,,,---,--,,,,--,,,,,,,,---,,---,,,,,,,,-,,,---,--,,,,--,,,,,,,,---,,---,,,,,,,,------------------,,---,---------,,,---,------------------,,---,---------,,,---,------------------,,---,---------,,,---,------------------,,---,---------,,,---,------------------,,---,---------,,,---,------------------,,---,---------,,,---,------------------,,---,---------,,,---,------------------,-----------------------------------------------------------------------------------------------------,--,,--,,,----,,--------,--------,,,--,,,--,,--,,,----,,--------,--------,,,--,,,--,,--,,,----,,--------,,,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.----.----.-----------------------------.------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-.-,,,-,,,,,-------------------,---------------,,,-,,,---,,---,,---,,--,,,,--,,---------,,--,,---,,---,--------,,,--,,,--,,---,----,,,---,,---,--------,,,--,,,--,,---,----,,,---,,---,--------,,,--,,,--,,---,------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,--.-,,----,--,---------------,------,--,--.-,,----,--,---------------,------,--,--.-,,----,--,---------------,------,--,--.-,,----,--,---------------,------,--,--.-,,----,--,---------------,------,--,--.-,--,----,-------------------,--------------,----,-------------------,--------------,----,-------------------,--------------,----,-------------------,--------------,----,-------------------,--------------,----,-------------------,--------------,----,-------------------,--------------,----,--------,----,,,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,---,,,---,--,,,---,,---,,----,,--,,----,---,,,---,--,,,---,,---,,----,,--,,----,---,,,---,--,,,---,,---,,----,,--,,----,---,,,---,--,,,---,,---,,----,,--,,----,---,,,---,--,,,---,,---,,----,,--,,----,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,,--,,,---,--,,,---,,---,,---,,,--,,----,,--,,,---,--,,,---,,---,,---,,,--,,----,,--,,,---,--,,,---,,---,,---,,,--,,----,,--,,,---,--,,,---,,---,,---,,,--,,----,,--,,,---,--,,,---,,---,,---,,,--,,----,,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,,----------,,--------,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------,---,,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,-,,,--------------------------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----,---------------------------------------,---------------------------------------,---------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,----------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,-----------------------------------------------------------------------------------,,,,,,,,,,,,,,,,---------,,,,,,-,,,,,,,,,,,,,,,,,----,----------------------------------,----,----------------------------------,----,--------------------------,,---,,,--,,---,,---,,---,,,--,,---,,---,,---,,,--,,---,,---,,---,,,--,,---,,---,,---,,,--,,---,,---,,---,,,--,,---,,---,,---,,,--,,---,,---,,---,,,--,,---,,---,,---,,,--,,---,,---,,---,,,--,,---,,---,,---,,,--,,----,---,,----,----,---,,---,---------,,----,---,,----,----,---,,---,---------,,----,---,,----,----,---,,---,---------,,----,---,,----,----,---,,---,---------,,----,---,,----,----,---,,---,---------,,----,---,,----,----,---,,---,---------,,----,---,,----,----,---,,---,---------,,----,---,,----,,----------------------------------------------------------------------------------------------------,---,,--,,,,,,,,--,---------------------,---,,--,,,,,,,,--,---------------------,---,,--,,,,,,,,--,-------------,---,,,---,,-.-,,---,,---,,---,,---,,,--,---,,,---,,-.-,,---,,---,,---,,---,,,--,---,,,---,,-.-,,---,,---,,---,,---,,,--,---,,,---,,-.-,,---,,---,,---,,---,,,--,---,,,---,,-.-,,---,,---,,---,,---,,,--,---,,,---,,----,---,,---,,,--,,---,,--.,,---,,,--,,----,---,,---,,,--,,---,,--.,,---,,,--,,----,---,,---,,,--,,---,,--.,,---,,,--,,----,---,,---,,,--,,---,,--.,,---,,,--,,----,---,,---,,,--,,---,,--.,,---,,,--,,----,---,,---,,,--,,---,,--.,,---,,,--,,----,---,,---,,,--,,---,,--.,,---,,,--,,----,---,,-------------------------------------------------------,----------,----,,--,,,---,--,,---,,----,,-----------------,,,,--,,--,,,---,,---,,,-,,,--,,--------,,,,--,,--,,,---,,---,,,-,,,--,,--------,,,,--,,--,,,---,---------,----,------------------------,---------,----,------------------------,---------,----,------------------------,---------,----,------------------------,---------,----,------------------------,---------,----,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---,,----------------------------------------------,,--,,,,,,,,-,,,---,,---,,,--,,,--,,,---,,,-,,,,,,,,---------------,--------,----,---------,---------------,--------,----,---------,---------------,--------,--------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----------------------------------------------------,--,,,--,,,--,,---,,---,,,--,,,--,,,--,,,--,,,--,,,-----------------------,---------------------------------------,---------------------------------------,----,---,------,--,---------------,,,--,--------,------,--,---------------,,,--,--------,------,--,---------------,,,--,--------,------,--,---------------,,,--,--------,------,--,---------------,,,--,--------,------,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.----.----------------------------------------------------------,,----,---,,------------------------------------------------------------------------------------------------------------------------------------------,-------------------------,,---,--------,-------------------------,,---,--------,-------------------------,,---,--------,-------------------------,,---,--------,-------------------------,,---,--------,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----------------------------------------------------------------------------------------------------------,----,-------------------------,--------,----,-------------------------,--------,----,-----------------,-------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,------------------------------------------------,----------.---------------------------------------------,---,,--------------------,----,--------,---,,--------------------,----,--------,---,,----------,------,,----,----,---------------,----,-------,,----,----,---------------,----,-------,,----,----,---------------,----,-------,,----,----,---------------,----,-------,,----,----,---------------,----,-------,,----,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----------,---,,----,--------------------------------------------------,,---,----,,---------,---,----,---------,,---,----,,---------,---,----,---------,,---,----,,---------,-------,,,---,,,----------------,,,---,,---,---,,,---,,,----------------,,,---,,---,---,,,---,,,----------------,,,---,,---,---,,,---,,,----------------,,,---,,---,---,,,---,,,----------------,,,---,,---,---,,,---,,,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-----------------------------------------------,-----,,----,,--,,---,,---,,------------,,,---,,----,,--,,---,----,,--,------,---,,---,----,----,,---,----,,--,------,---,,---,----,----,,---,----,,--,------,---,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,---,,-------,----,,--------------,,--,------,---,,-------------,,----,----,,-,------,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,------------------------------------------------------------------------------------------------------------,------------------------------------------------------------------------------------------------------------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,--,,,-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--,,,-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--,,,-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--,,,-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--,,,-,,,,,,,,,,,,,,,,--------------------,,--,,,,,,,,--,-------------------------,,--,,,,,,,,--,-------------------------,,--,,,,,,,,--,-------------------------,,--,,,,,,,,--,-------------------------,,--,,,,,,,,--,-------------------------,,--,,,,,,,,--,-------------------------,,--,,,,,,,,--,---------------------,,-------------,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,-,,---,,----,----,---,----,--------------,,---------,---------------------------------------------------------------------,---------------------------------------,---------------------------------------,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.----------------------------------------------,,----------------------,,---------,--,,,,--,,----,,--,,---,,---,,----,----,--,,,,--,---,,---------------,---,,--,,---------,---,,---------------,---,,--,,---------,---,,---------------,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---,,,-,,,--,,,-,,,---,,,-,,,,,--------,---,,,-,,,--,,,-,,,---,,,-,,,,,--------,---,,,-,,,--,,,-,,,---,,,-,,,,,--------,---,,,-,,,--,,,-,,,---,,,-,,,,,--------,---,,,-,,,--,,,-,,,---,,,-,,,,,--------,---,,,-,,,--,,,-,,,---,,,-,,,,,--------,---,,,-,,,--,,,-,,,---,,,-,,,,,--------,---,,,------------------------------------------------------------,,---,------,-,,,--,,---,,,--,,-----,---,,---,---,,----------------------------------,---,,----------------------------------,---,,------------------------,,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,-,,,,-,,,,--,,,,,,,,,,-,,,,-,,--------,,-,,,,-,,,,--,,,,,,,,,,-,,,,-,,--------,,-,,,,-,,,,--,,,,,,,,,,-,,,,-,,--------,,-,,,,-,,,,--,,,,,,,,,,-,,,,-,,--------,,-,,,,-,,,,--,,,,,,,,,,-,,,,-,,--------,,-,,,,-,,,,--,,,,,,,,,,-,,,,-,,--------,,-,,,,-,,,,--,,,,,,,,,,-,,,,-,,--------,,-,,,,---,---------------------------------------------------------------------,----,------------------------------------,---------------------------------------,---------------------------------------,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,-----------------------------------------------------,---------,----,-----------------------------,---------,------------------.----.--,-------------------------------.----.--,-------------------------------.----.--,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,--------,----,----,,---,----------,----,--------,----,----,,---,----------,----,--------,----,----,,---,----------,----,--------,----,----,,---,----------,----,--------,----,----,,---,----------,----,--------,----,----,,---,----------,----,--------,----,----,,---,----------,----,----,,,-,,,-----,----,,-----,---,,----,,.-,,------------,,---,,,--,,---,,---,,----,,---------,--,,---,,,---,----,----,----,,---,-------------------,----,----,----,,---,-------------------,----,----,----,,---,---,,--------------,,---,----,,---,,---,----,--------------,,---,----,,---,,---,----,--------------,,---,----,,---,,---,----,--------------,,---,----,,---,,---,----,--------------,,---,----,,---,,---,----,-------------,--.-,----,,-------------,----,----,,---,--.-,----,,-------------,----,----,,---,--.-,----,,-------------,----,----,,---,--.-,----,,-------------,----,----,,---,--.-,----,,-------------,----,----,,---,--.-,----,,-------------,----,----,,---,--.-,----,,-------------,----,----,,---,--.-,----,,----------------..---.------------,----,----,---------,---,,---,,,--,,---,,---,,-------------,,,--,,---,,,---,----,----,----,,---,---,,---,,----,,---,----,----,----,,---,---,,---,,----,,---,----,----,----,,---,------------------------,----,--------------,-------------------,----,--------------,-------------------,----,--------------,-------------------,----,--------------,-------------------,----,--------------,-------------,----,-------------------,----,----,----,----,-------------------,----,----,----,----,-------------------,----,----,----,----,-------------------,----,----,----,----,-------------------,----,----,----,----,-------------------,----,----,----,----,-------------------,----,----,----,----,--------,,,,,,,,,,,,,,,-,,,,,,,,----------------------------,--------------------------------------,---------------------------------------------------------------------------------------------------------------------------------------------------------------,,--------------------------------------,,--------------------------------------,,--------------------------------------,,--------------------------------------,,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,---,,,---,--------,---,,-----,----,----,---,,,---,--------,---,,-----,----,----,---,,,---,--------,---,,-----,----,----,---,,,---,--------,---,,-----,----,----,---,,,---,--------,---,,-----,----,----,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.------------------------------------------------------------------------------,------------------,,---,--------,,----,,------------------,,---,--------,,----,,------------------,,---,--------,----------------,,----,--------,---,,-----,-------------,,----,--------,---,,-----,-------------,,----,--------,---,,-----,-------------,,----,--------,---,,-----,-------------,,----,--------,---,,-----,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,,,,,,,,,,,,,,-,,,,,,---,,---,,----,,------,,-,,,,,-,,--,,,---,,--,,,--,,,--,,--,,,,--,,,---,,--,,,---,----,,---,----,,----,--,,----,,--------,----,,---,----,,----,--,,----,,--------,----,,---,----,,----,--,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.-,,,--,,---,,,--,,---,,--,,,,--,--,,----,----,----,----,--,,----,-----,,--,,----,---------------------------------------,---------------------------------------,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,----,---------,-------------------,----,----,---------,-------------------,----,----,---------,-------------------,----,----,---------,-------------------,----,----,---------,-------------------,----,----,---------,-------------------,----,----,---------,-------------------,----,-----,--,,-,,,---,--------,,,---,,----,---,,---,,,--,,-------------------------------------------------------.---------------------------------------.---------------------------------------.----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,,--,,----,----,---,---------------,----,,--,,----,----,---,---------------,----,,--,,----,----,---,---------------,----,,--,,----,----,---,---------------,----,,--,,----,----,---,---------------,----,,--,,----,----,---,---------------,----,,--,,----,----,---,---------------,----,,-----------------------------------------------------------------.------------------------------------------------------------------------------------------------------------------------------------------------------,--,,---,-----------------------------,----,,---,-----------------------------,----,,---,-----------------------------,----,,---,-----------------------------,----,,---,-----------------------------,----,,---,-----------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------------------------------------------------------------------------------------,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,,,--------,,--,,,,-,,,---,,---,,,-,,,--,,,--------,,--,,,--,,,---,,----,---,,--,,---------,,--,,,--,,,---,,----,---,,--,,---------,,--,,,--,,,---,,----,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,---,,----,----,-------------------,----,---,,----,----,-------------------,----,---,,----,----,-------------------,----,---,,----,----,-------------------,----,---,,----,----,-------------------,----,---,,----,----,-------------------,----,---,,----,----,-------------------,----,--------------------------------------------------,----,,,--------,,--,,,,-,,,---,,---,,--,,,--,,,--------,,--,,,,-,,,---,,---,,--,,,--,,,--------,,--,,,,-,,,---,,---,,--,,,--,,,--------,,--,,,,-,,,---,,---,,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-----,---,,---,,,--,,---,,-------------,-----,---,,---,,,--,,---,,-------------,-----,---,,---,,,--,,---,,-------------,-----,---,,---,,,--,,---,,-------------,-----,---,,---,,,--,,---,,-------------,-----,---,,---,,,--,,---,,-------------,-----,---,,---,,,--,,---,,-------------,-----,---,,--------------------------------------------------,----,,,--------,,---,,,--------,---,,--,,----,,--------,---------,,---,------------------------,---------,,---,------------------------,---------,,---,---------------------,----,----,-----------------------------,----,----,-----------------------------,----,----,-----------------------------,----,----,-----------------------------,----,----,-----------------------------,----,---------------,----,------------------,---------------,----,------------------,---------------,----,------------------,---------------,----,------------------,---------------,----,------------------,---------------,----,------------------,---------------,----,------------------,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----------,----------------------------,----------,----------------------------,----------,----------------------------,----------,----------------------------,----------,----------------------------,----------,----------------------------,----------,------------------------------------,,,,,,,,--------,,,,,,,,,,,,,,,,,,,,,,,,--,,--------------------,----,----,,---,-----------------------------,----,----------------------------------,----,----------------------------------,----,-------------------------------------,------,--------------------------------,------,--------------------------------,------,--------------------------------,------,--------------------------------,------,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.-,,---,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,----,,,,--,----,----------------,----,,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,------------,,------------------------------------------,,--,,-------------------,-----,---,----,,--,,-----------------------------------------------------------------------------------------------------------------,,----,,--------------------------------,,----,,--------------------------------,,----,,--------------------------------,,----,,--------------------------------,,----,,--------------------------------,,----,,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-------------------------------------------------------,,---,,---,,---,----------,---------,---,,---,,------------------------------,---------------------------------------,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,--,,,,-,-----------------------------------------------,----,,--------,------------------------,----,,------------------------------,---------------------------------------,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,-----,,,,-,,,,,,----,,---,--,----,,----,---,,---,,---,,---,,---,,,--,,---,,---,,---,,---,----,,,--,,---,,,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,,,,-,,--,,,-,,,,,,,,,,-,,,,-,,,,,,,,-,,,,,,-,,--,,,-,,,,,,,,,,-,,,,-,,,,,,,,-,,,,,,-,,--,,,-,,,,,,,,,,-,,,,-,,,,,,,,-,,,,,,-,,--,,,-,,,,,,,,,,-,,,,-,,,,,,,,-,,,,,,-,,--,,,-,,,,,,,,,,-,,,,-,,,,,,,,-,,,,,,-,,--,,,-,,,,,,,,,,-,,,,-,,,,,,,,-,,,,,,-,,--,,,-,,,,,,,,,,-,,,,-,,,,,,,,-,,,,,,-,,--,,,---------,----------------,,,---,,,--,,,--,,---,,---,,---,,---,,,-,,,---,,,,,,,,,-,,,-,,,,-,,,,--,,---,,,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,---,---,,---,,,---,,----,-------------,,---,---,,---,,,---,,----,-------------,,---,---,,---,,,---,,----,-------------,,---,---,,---,,,---,,----,-------------,,---,---,,---,,,---,,----,-------------,,---,---,,---,,,---,,----,-------------,,---,---,,---,,,---,,----,-------------,,---,---,,----------------------------,,---,---------,,---,,--------,--.-,,---,,---,-------------------,,---,--.-,,-----------------------------------------------------------------------------------------------------------------,------,--------------------------------,------,--------------------------------,------,--------------------------------,------,--------------------------------,------,--------------------------------,------,----------.---------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.------,,,--------.-,,----,,-------,-----,-.--,-.--,---,,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,---,,-------------------,----,----,--------,,------------------,,---,,---,,--,,,,,,,,--------,---,,----------,---,,,---,,---,---,,---,---,,----------,---,,,---,,---,---,,---,---,,----------,---,,,-----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----------------------------------,,-----------------,,,,,,,,,,,,,,,,,,-,,,---,,---,,,-,,,--,,,,,,,,,,,,---,,--------------------,----,--------,---,,--------------------,----,--------,---,,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,---,--,,-,,,,-,,,,--,,--,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,---------,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-----------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,----------------------------------,---,,----------------------------------,---,,----------------------------------,---,,----------------------------------,---,,----------------------------------,---,,----------------------------------,---,,----------------------------------,---,,-------------------------------------------.-------------,------------,------------------------------------------------------,,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,,----,,,,,,,,,-------------------,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,,---,,,---,,---,--------,,----,,--,----,,---,,,---,,---,--------,,----,,--,----,,---,,,---,,---,,,,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,------------------------------------------,----,,---,,,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,--,------,--,,--------------------,---,,--,------,--,,--------------------,---,,--,------,--,,--------------------,---,,--,------,--,,--------------------,---,,--,------,--,,--------------------,---,,--,------,--,,---,,----,----,,---,--------,------,--,,---,,----,----,,---,--------,------,--,,---,,----,----,,---,--------,------,--,,---,,----,----,,---,--------,------,--,,---,,----,----,,---,--------,------,--,,---,,----,----,,---,--------,------,--,,---,,----,----,,---,--------,------,--,,---,,----,------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,-------------------,,-----------------------,---,,,---,-----------------------------,---,,,---,-----------------------------,---,,,---,-----------------------------,---,,,---,-----------------------------,---,,,---,------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,------------------------------------------,------------------------------------.--------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,-----.----------------------------,----,-----.----------------------------,----,-----.----------------------------,----,-----.----------------------------,----,-----.----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,--------,,,,,,,,-,,,,-,,,---,,,-,,----,,------------------,----,--------,------,-----------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,--,,,,--,,---,,,--,,,-,------,--------,,,,,,,,,,,,,,,,-,,--,,--,,,,,,-,,,,,,,,,,,,,,,,,,,,,,,,-,,--,,--,,,,,,-,,,,,,,,,,,,,,,,,,,,,,,,-,,--,,-,,,,,---,------,------------------,,---,,---,,--,------,------------------,,---,,---,,--,------,------------------,,---,,---,,--,------,------------------,,---,,---,,--,------,------------------,,---,,---,,--,------,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,------,---------------------------------,,,,-,,,,,,,,,--,,--,,---,,,,--,,--,,,--,,,,-,,,,,,,,,--,,--,,---,,,,--,,--,,,--,,,,-,,,,,,,,,--,,--,,--,,,,---,,----,,-,,,,--,,,--,,,--,,,,-,,,---,,--,,----,,-,,,,--,,,--,,,--,,,,-,,,---,,--,,----,,-,,,,--,,,--,,,--,,,,-,,,---,,--,,----,,-,,,,--,,,--,,,--,,,,-,,,---,,--,,----,,-,,,,--,,,--,,,--,,,,-,,,---,,--,,----,,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,------------------------,---,,----,----,------------------------,---,,----,----,-------------------,----,------,-,,,,-,,,---,,----------,---,,--,------,-,,,,-,,,---,,----------,---,,--,------,-,,,,-,,,---,,----------,---,,--,------,-,,,,-,,,---,,----------,---,,--,------,-,,,,-,,,---,,----------,---,,--,------,-------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,--------------------------------------------------------,----,----,-----------------------,,----,---------,----,------------------,,---,----,----,,--,,---------,---,,----,,---,----,----,,--,,---------,---,,----,,---,----,----,,--,,---,,---,---------------,------------------,,---,---------------,------------------,,---,---------------,------------------,,---,---------------,------------------,,---,---------------,------------------,,---,------------------------,---,,----,----,------------------------,---,,----,----,------------------------,---,,----,----,------------------------,---,,----,----,------------------------,---,,----,----,------------------------,---,,----,----,------------------------,---,,----,----,-------------------------------------------------,,,---,,,--,,,-,,,,,,,,--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,--,,,,--,,,-,,,,,,,,,,,,,,,,,,,,,,,,-,,,--,,,,--,,,-,,,,,,,,,,,,,,,,,,,,,,,,--,,-----,-----,---,,---,----,,---,----,-----,---,-----,---,,---,----,,---,----,-----,---,-----,---,,---,----,,---,----,-----,---,-----,---,,---,----,,---,----,-----,---,-----,---,,---,----,,---,----,-----,---,-----,--,----,,----,----,---------,-------------,----,,----,----,---------,-------------,----,,----,----,---------,-------------,----,,----,----,---------,-------------,----,,----,----,---------,-------------,----,,----,----,---------,-------------,----,,----,----,---------,-------------,----,,----,----------,--,,--,----------,,---,,----,------------------,,,,,,,,-,,,--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------------------------,----------,----------------------------,----------,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,---,,---,,,--,,---,----,,---,---,,---,,,---,,---,,,--,,---,----,,---,---,,---,,,---,,---,,,--,,---,----,,---,---,,---,,,---,,---,,,--,,---,----,,---,---,,---,,,---,,---,,,--,,---,----,,---,---,,---,,,---,,---,,,--,,---,----,,---,---,,---,,,---,,---,,,--,,---,----,,---,---,,---,,,---,,---,,,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,------------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.----------------------------,-----,---------------------------------,-----,---------------------------------,-----,---------------------------------,-----,---------------------------------,-----,---------------------------------,-----,---------------------------------,-----,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,---,,---,----,----,----,-----,----,----,---,,---,----,----,----,-----,----,----,---,,---,----,----,----,-----,----,----,---,,---,----,----,----,-----,----,----,---,,---,----,----,----,-----,----,----,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,---------,--------,----,----------,--------------,--------,----,----------,--------------,--------,----,----------,--------------,--------,----,----------,--------------,--------,----,----------,--------------,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,-----------------------------------------------------,---------,----,------------------------,---------------,------,---,----------------------------,------,---,----------------------------,------,---,----,-------,-----------------------------------,,--,-----------------------------------,,--,-----------------------------------,,--,-----------------------------------,,--,-----------------------------------,,--,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,-------------------------------------------------------------------------------------------------------------,------,--------------------------------,------,--------------------------------,------,--------,-------,---------,----,-----,----,,---,----,,--,---------,----,-----,----,,---,----,,--,---------,----,-----,----,,---,----,,--,---------,----,-----,----,,---,----,,--,---------,----,-----,----,,---,----,,--,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,-------------------------------------------------------------.---------------------------------------.------------------,---------------------------------------,---------------------------------------,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,---,,,--,,,----------------------------------------------------------------------------------,----,---------,,--,,-------------------,----,---------,,--,,-------------------,----,---------,,--,,----,,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,---,,----,,----------------------------------------------------------------------------------,----,----,,---,,--,,---------,---------,----,----,,---,,--,,---------,---------,----,----,,---,,--,,----,,--,----,,--------------------------------------,,--------------------------------------,,--------------------------------------,,--------------------------------------,,--------------------------------------,,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,---,,----,---,,---,,,---,,---,,---,----,---,,----,---,,---,,,---,,---,,---,----,---,,----,---,,----,,--,----,,----,,---,--------,---,,---------,----,,----,,---,--------,---,,---------,----,,----,,---,--------,---,,---------,----,,----,,---,--------,---,,---------,----,,----,,---,--------,---,,---------,----,,------------------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,----,,---,-----------------------------------------,----,---------,----,----,,---,--------------------------------------------------------,------,--,,--------,,---,,,---,,---,,,-,------,--,,--------,,---,,,---,,---,,,-,------,--,,--------,,-----,---,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,--,,---------,---,,----,,---,---------,,--,,---------,---,,----,,---,---------,,--,,---------,---,,----,,---,---------,,--,,---------,---,,----,,---,---------,,--,,---------,---,,----,,---,---------,,--,,---------,---,,----,,---,---------,,--,,---------,---,,----,,---,---------,,--,,-----------------------------------------,---,,---,,,---,---,,,,,,--,,,,-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--,,,,-,,----,,-,,,--,,,--,,,--,,,---,,---,,,--,,----,,-,,,--,,,--,,,--,,,---,,---,,,--,,----,,-,,,--,,,--,,,--,,,,---,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,------------------------,----,----,----,------------------------,----,----,----,------------------------,----,----,----,------------------------,----,----,----,------------------------,----,----,----,------------------------,----,----,----,------------------------,----,----,----,--------------------------------------------------------,----,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,---,--.-,,---,,---,---------------,---,,---,--.-,,---,,---,---------------,---,,---,--.-,,---,,---,---------------,---,,---,--.-,,---,,---,---------------,---,,---,--.-,,---,,---,---------------,---,,---,--.-,,---,,---,---------------,---,,---,--.-,,---,,---,---------------,---,,---,--.-,,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,--------------------------------------------------------------------------------------------,----------,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.----------------------------------------------------------------,----,---,,---,,----,---,,----,----,----,----,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---,,,---------,----,-------------------,,--,,---,,---,,---,,---,,,--,,----,----,,--,,-----------------------------------------------------------------------------------------------------------------,,,,,,,,--,,---,,,--,,,-----------------,,,,,,,,--,,---,,,--,,,-----------------,,,,,,,,--,,---,,,--,,,-----------------,,,,,,,,--,,---,,,--,,,-----------------,,,,,,,,--,,---,,,--,,,-----------------,,,,,,,,---,,---,,---,,---,----,,----,---,,---,,---,,---,,---,,---,----,,----,---,,---,,---,,---,,---,,---,----,,----,---,,---,,---,,---,,---,,---,----,,----,---,,---,,---,,---,,---,,---,----,,----,---,,---,,---,,---,,---,,---,----,,----,---,,---,,---,,---,,---,,---,----,,----,---,,---,,---,,---,,---,,-----------------,---,,-----------------------------------,----,--------,,----,---,,----,,---,,---,----,---------------------------------------------------------------------------------------------------------------------------------,---,,,---------------------------------,---,,,---------------------------------,---,,,---------------------------------,---,,,---------------------------------,---,,,----------------------------,,---,--.-,,---,,---,-----,---,----,,---,,---,--.-,,---,,---,-----,---,----,,---,,---,--.-,,---,,---,-----,---,----,,---,,---,--.-,,---,,---,-----,---,----,,---,,---,--.-,,---,,---,-----,---,----,,---,,---,--.-,,---,,---,-----,---,----,,---,,---,--.-,,---,,---,-----,---,----,,---,,---,--.-,,----------------------------------------------------------,----,-------------------,---------,,---,----,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,------.-------------------------------,,------.-------------------------------,,------.-------------------------------,,------.-------------------------------,,------.-------------------------------,,------.-------------------------------,,------.-------------------------------,,------.------------------------------------------------------------------------------------------------,,-----------------------------------------------------------------------------------------------------------------------------------,,,---,---------------------------------,,,---,---------------------------------,,,---,---------------------------------,,,---,---------------------------------,,,---,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,-----,-------------------,--------,----,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,----,---,,,---,----,,--,,----,,--,,,---,----,---,,,---,----,,--,,----,,--,,,---,----,---,,,---,----,,--,,----,,--,,,---,----,---,,,---,----,,--,,----,,--,,,---,----,---,,,---,----,,--,,----,,--,,,---,----,----------.-------,-------------------------------.-------,-------------------------------.-------,-------------------------------.-------,-------------------------------.-------,-------------------------------.-------,-------------------------------.-------,-------------------------------.-------,--------------,---------------,--------,-----------------------------------------------------------------------,---,,----,,---,--------,------,--------,---,,----,,---,--------,------,--------,---,,----,,---,------------------,----,--------,-------------------------,----,--------,-------------------------,----,--------,-------------------------,----,--------,-------------------------,----,--------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,--------------,---------------,--------,------,--,-------------------------------------------------------------,,--,,,--,,,---,---,,,--,,----,,--------,,--,,,--,,,---,---,,,--,,----,,--------,,--,,,--,,,---,---,,------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,----------------------------------,,------------,----,----------,---------,,------------,----,----------,---------,,------------,----,----------,---------,,------------,----,----------,---------,,------------,----,----------,---------,,------------,----,----------,---------,,------------,----,----------,---------,,------------,----------------------------------------------,--------------------------------------------------------------------------,--------,,,--,------,------------------,--------,,,--,------,------------------,--------,,--,-,,,--,,,,,,,,,,-,,,,,,,----,,--,------,-,,,--,,,,,,,,,,-,,,,,,,----,,--,------,-,,,--,,,,,,,,,,-,,,,,,,----,,--,------,-,,,--,,,,,,,,,,-,,,,,,,----,,--,------,-,,,--,,,,,,,,,,-,,,,,,,----,,--,------,-,,,--,,-,,,------------,----,----,-----,--------,,,------------,----,----,-----,--------,,,------------,----,----,-----,--------,,,------------,----,----,-----,--------,,,------------,----,----,-----,--------,,,------------,----,----,-----,--------,,,------------,----,----,-----,--------,,,------------,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,------,-,,,---,,---,,,-,,,,--,,----,,--,,-,,-,,-,,,---,,---,,,-,,,,--,,----,,--,,-,,-,,-,,,---,,---,,,-,,,,--,,----,,--,,-,,-,,-,,,---,,---,,,-,,,,--,,----,,--,,-,,-,,-,,,---,,---,,,-,,,,--,,----,,--,,-,,-,,-,,,---,-,,---,,--------,----,----,--------------,,---,,--------,----,----,--------------,,---,,--------,----,----,--------------,,---,,--------,----,----,--------------,,---,,--------,----,----,--------------,,---,,--------,----,----,--------------,,---,,--------,----,----,--------------,,---,,--------,,---------,--------------,,----,----,,---,----,------,,----------------,---,,,--,,,---,-,,,---,--------,---,,----------,---,,--,,,---,,---,,---,---,,----------,---,,--,,,---,,---,,---,---,,----------,---,,--,,--------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,----------------,,---,,-------.,------------------------,,---,,-------.,------------------------,,---,,-------.,------------------------,,---,,-------.,------------------------,,---,,-------.,------------------------,,---,,-------.,------------------------,,---,,-------.,------------------------,,---,,-------.---------------,----------,,----,,--,,,,,,,---,,--,---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,--,,,,,,,,,,,,-,,,,,--,----,,---,,--,,,,--,,---,,---,,-,,,,,--,----,,---,,--,,,,--,,---,,---,,-,,,,,--,----,,---,,--,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,----------------------------------------------------------------,----,-----------------,----------------------------------------------------------,---------------------------------------,---------------------------------------,-------------------------------------,----,----,----,----,-------------------,----,----,----,----,-------------------,----,----,----,----,-------------------,----,----,----,----,-------------------,----,----,----,----,------------------------,---------,--------,--------------------,---------,--------,--------------------,---------,--------,--------------------,---------,--------,--------------------,---------,--------,--------------------,---------,--------,--------------------,---------,--------,--------------------,----------------------------------------------------------,----,----,----,----------,----,--------,----,--------------------------------------------------------------------------------------------------------------,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,-------------------------------------------------------.---------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,--------,--------------,---------------,--------,--------------,---------------,--------,--------------,---------------,--------,--------------,---------------,--------,--------------,---------------,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,---------------------------------------------,----,---------,------------------------,---,,---------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----,,----,,---,--,,---,,------,-,,,--,,,---,,----,,---,--,,---,,------,-,,,--,,,---,,----,,---,--,,---,,------,-,,,--,,,---,,----,,---,--,,---,,------,-,,,--,,,---,,----,,---,--,,---,,------,-,,,--,,,---,,----,,---,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,-------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---,,---------,--------,----,----------,---,,---------,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,---------,,----------------------------------,---,,---------,--------,----,-------------------------,-------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,--------,,,-----..------------------------------------------,------------------,--------------------,---------------------------------------------------------------------------------------------------------------,,---,,,--,,,--,,--,,,,--,,---,,--,,,--,,,---,,,--,,,--,,--,,,,--,,---,,--,,,--,,,---,,,--,,,--,,--,,,,--,,---,,--,,,--,,,---,,,--,,,--,,--,,,,--,,---,,--,,,--,,,---,,,--,,,--,,--,,,,--,,---,,--,,,--,,,---,,,--,,--,,---------,---,,---,,,---,---------,,--,,---------,---,,---,,,---,---------,,--,,---------,---,,---,,,---,---------,,--,,---------,---,,---,,,---,---------,,--,,---------,---,,---,,,---,---------,,--,,---------,---,,---,,,---,---------,,--,,---------,---,,---,,,---,---------,,--,,---------------,,---,,,--,,,--,,,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,---,,---,,----,---,,---,,---,,---,,---,,---,,---,,----,---,,---,,---,,---,,---,,---,,---,,----,---,,---,,---,,---,,---,,---,,---,,----,---,,---,,---,,---,,---,,---,,---,,----,---,,---,,---,,---,,---,,---,,------------------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,----,,---,--------------------------------------------------------------------------------------------------------.--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,----,-----------------------------.--,--------,,--,,----------------,--------,-----------------,,,---,----,----,----,,----,,-----------,,,---,----,----,----,,----,,-----------,,,---,----,----,,,,---,,,---,,,,,,,,,-,,--,,-,---,,--,---,,,--,,,---,,,,,,,,,-,,--,,-,---,,--,---,,,--,,,---,,,,,,,,,-,,--,,-,---,,--,---,,,--,,,---,,,,,,,,,-,,--,,-,---,,--,---,,,--,,,---,,,,,,,,,-,,--,,-,---,,--,---,,,--,,,---,--------,---,,----,,---,,--,,--,,------,--------,---,,----,,---,,--,,--,,------,--------,---,,----,,---,,--,,--,,------,--------,---,,----,,---,,--,,--,,------,--------,---,,----,,---,,--,,--,,------,--------,---,,----,,---,,--,,--,,------,--------,---,,----,,---,,--,,--,,------,--------,---,,-------------------------,-------------------------------,,----,---,,--,,----,,---,,---,,,--,,----,----,---,----,---,,----,---,,----,,---,,----,---,----,---,,----,---,,----,,---,,----,---,----,---,,----,---,,------------,,---,---------,,--,,---------,---,,----,,---,---------,,--,,---------,---,,----,,---,---------,,--,,---------,---,,----,,---,---------,,--,,---------,---,,----,,---,---------,,--,,---------,---,,----,,---,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-----------------------------,--,,,---,,---,,--,,----,,---,,--,,,,-,,----,,---,,---,----,---,,----,---,,----,,---,,---,,---,----,---,,----,---,,----,,---,,---,,---,----,---,,----,---,,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------,---,,--,,,--,,,,,,,,,,,,,,,,,,,--,,---,----,,---,,--,,---------,----,---,,----,----,,------------,,,---,----,----,----,---,,,------------,,,---,----,----,----,---,,,------------,,,---,----,----,,,,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---,---,------,------------------------,---,---,------,------------------------,---,---,------,------------------------,---,---,------,------------------------,---,---,------,------------------------,---,---,------,------------------------,---,---,------,-------------------------------------,--------------------------,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,---,----------------------------------,,---,----------------------------------,,---,----------------------------------,,---,----------------------------------,,---,------------------,,---,,---,,,--,,,---,,---,,--,,----,,--,,---,,---,,,--,,,---,,---,,--,,----,,--,,---,,---,,,--,,,---,,---,,--,,----,,--,,---,,---,,,--,,,---,,---,,--,,----,,--,,---,,---,,,--,,,---,,---,,--,,----,,--,,---,,---,,,--,,,---,,---,,--,,----,,--,,---,,---,,,--,,,---,,---,,--,,----,,--,,---,,---,,,--------,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,---,,---,,----,,---,,---,,--,,----,,-,,,---,,---,,----,,---,,---,,--,,----,,-,,,---,,---,,----,,---,,---,,--,,----,,-,,,---,,---,,----,,---,,---,,--,,----,,-,,,---,,---,,----,,---,,---,,--,,----,,-,,,---,,---,,----,,---,,---,,--,,----,,-,,,---,,---,,----,,---,,---,,--,,----,,-,,,---,,---,,----------------------------,------------------,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,---,,---,,,-,,----,,,---,,--,---,,,--,,,---,,---,,,-,,----,,,---,,--,---,,,--,,,---,,---,,,-,,----,,,---,,--,---,,,--,,,---,,---,,,-,,----,,,---,,--,---,,,--,,,---,,---,,,-,,----,,,---,,--,---,,,--,,,---,-,,--,,---------,---,,----,----,---,,----,,--,,---------,---,,----,----,---,,----,,--,,---------,---,,----,----,---,,----,,--,,---------,---,,----,----,---,,----,,--,,---------,---,,----,----,---,,----,,--,,---------,---,,----,----,---,,----,,--,,---------,---,,----,----,---,,----,,--,,-----------------------,,----------,---------------,-----,--,---------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,---,,---,,,-,,----,,--,,,---,---,,---,,,---,,---,,,-,,----,,--,,,---,---,,---,,,---,,---,,,-,,----,,--,,,---,---,,---,,,---,,---,,,-,,----,,--,,,---,---,,---,,,---,,---,,,-,,----,,--,,,---,---,,---,,,---,-,,--,,---,,---,,----,-------------,,----,,--,,---,,---,,----,-------------,,----,,--,,---,,---,,----,-------------,,----,,--,,---,,---,,----,-------------,,----,,--,,---,,---,,----,-------------,,----,,--,,---,,---,,----,-------------,,----,,--,,---,,---,,----,-------------,,----,,--,,---,,---,,--------------,---------,,,,-,,,--,,,---,,,-,,,,--,,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,,---,,---,---,,---,------,,---,,--,----,,---,,---,---,,---,------,,---,,--,----,,---,,---,---,,---,------,,---,,--,----,,---,,---,---,,---,------,,---,,--,----,,---,,---,---,,---,------,,---,,--,----,,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---,,,--,,,---,---,,---,,---,,,--,,---,,---,,,--,,,---,---,,---,,---,,,--,,---,,---,,,--,,,---,---,,---,,---,,,--,,---,,---,,,--,,,---,---,,---,,---,,,--,,---,,---,,,--,,,---,---,,---,,---,,,--,,---,,---,,,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-----------------,,---,------------------------------------------------------------------------------------------------------------------,---------------------------------------,------------------------------------,------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,--------------------------------------------,--------,,-----------------------------,--------,,-----------------------------,--------,,-----------------------------,--------,,-----------------------------,--------,,-----------------------------,--------,,-----------------------------,--------,,-------------------,,----------,,,,-,,,---,--,,---,--,,-----,---,,-,,,,,------------------------------------------------------------------------------------------------------------------------------------------------------------------,----------------------------,,-.--,---------------------------------,,-.--,---------------------------------,,-.--,---------------------------------,,-.--,---------------------------------,,-.--,---------------------------------------,,---,----------------------------------,,---,----------------------------------,,---,----------------------------------,,---,----------------------------------,,---,----------------------------------,,---,----------------------------------,,---,--------------------------------------------..---------------------------------.--------.-----------------------------------------,,----,---,,--------------,---,----,,---,,----,---,,--------------,---,----,,---,,----,---,,--------------,,---,,----,--------,----,,------------------,,----,--------,----,,------------------,,----,--------,----,,------------------,,----,--------,----,,------------------,,----,--------,----,,------------------,,----,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,------,--,,---,---,,----,---,,--------,,------,--------,----,------------------,----,----------,----,------------------,----,----------,----,-------------,,,---------,--------,------------------------------,--------,------------------------------,--------,------------------------------,--------,------------------------------,--------,------------------------------,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,-----------------------------------------------------,-------------------,----,----,,--------,--------,--------------------,---,,----,----,,--,--------------------,---,,----,----,,--,--------------------,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,---------------------.------------------------------,,--------,----------,----,----,,---,----,--------,----,,---,,---,,---,,---,,----,----,,--,----,,---,,---,,---,,---,,----,----,,--,----,,---,,---,,---,,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,-------------,----,---,,,,,,,,--------,,-,,,,,------,,----,,--,,---,,,--,,,--,,,---,,--,,,--,,----,,--,----,,---,,---,,---,,---,,----,----,---,----,,---,,---,,---,,---,,----,----,---,----,,---,,---,,---,,---,,,---,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,,--,,,,,,,,-----------------------,----,,---------,---,,----,----,---,,---,----,,---------------------------------,---------------------------------------,----------------------------------,----,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-------.--------.------------------------------.--------.------------------------------.--------.------------------------------.--------.------------------------------.--------.------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,--------,--------,,,,,,,,----------------,----,,---,,----,---,,----,----,---,,---,----,,----------------------------------------------------------------------------------------------------------------,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,-------------------------------,----,--------,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,--,,,--,,--,,----,,---,,--,,,-,,,--,,,,,--,,,--,,--,,----,,---,,--,,,-,,,--,,,,,--,,,--,,--,,----,,---,,--,,,-,,,--,,,,,--,,,--,,--,,----,,---,,--,,,-,,,--,,,,,--,,,--,,--,,----,,---,,--,,,-,,,--,,,,,--,,,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,---------,----,------------------------,---------,----,------------------------,---------,----,------------------------,---------,----,------------------------,---------,----,------------------------,------------------,,------------------------,-------------,,------------------------,-------------,,------------------------,-------------,,------------------------,-------------,,------------------------,-------------,,------------------------,-------------,,------------------------,-------------,,------,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,---------,---,,---------,---,,----,----,---------,---,,---------,---,,----,----,---------,---,,---------,---,,----,----,---------,---,,---------,---,,----,----,---------,---,,---------,---,,----,----,--------,,----,,--,,----,---,,---,,,---,----,,--,,----,,--,,----,---,,---,,,---,----,,--,,----,,--,,----,---,,---,,,---,----,,--,,----,,--,,----,---,,---,,,---,----,,--,,----,,--,,----,---,,---,,,---,----,,--,,----,,--,,----,---,,---,,,---,----,,--,,----,,--,,----,---,,---,,,---,----,,--,,----,,--,,------------,---,,---,,----,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,--,,,,--,,---,,,--------,,--,,,---,----,--,,,,--,,---,,,--------,,--,,,---,----,--,,,,--,,---,,,--------,,--,,,---,----,--,,,,--,,---,,,--------,,--,,,---,----,--,,,,--,,---,,,--------,,--,,,---,----,--,,,,--,,----,,--------,---,,,--,,,---,,---,,--,,----,,--------,---,,,--,,,---,,---,,--,,----,,--------,---,,,--,,,---,,---,,--,,----,,--------,---,,,--,,,---,,---,,--,,----,,--------,---,,,--,,,---,,---,,--,,----,,--------,---,,,--,,,---,,---,,--,,----,,--------,---,,,--,,,---,,---,,--,,----,,---------------,---,,,---,,---,,------------------------------------------------,,,,,,,,---------------------------------------------------------------------------------------------------------------------------------------,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,----,----,------------------------,----,----,----,------------------------,----,----,----,----,,--,,,---,,--,,,--,,,--,,,,-,,,---,,--,,,,-,,,---,,--,,,--,,,--,,,,-,,,---,,--,,,,-,,,---,,--,,,--,,,--,,,,-,,,---,,--,,,,-,,,---,,--,,,--,,,--,,,,-,,,---,,--,,,,-,,,---,,--,,,--,,,--,,,,-,,,---,,--,,,,-,,,---,,---,,---,---------,,---,-----,---------,---,,---,---------,,---,-----,---------,---,,---,---------,,---,-----,---------,---,,---,---------,,---,-----,---------,---,,---,---------,,---,-----,---------,---,,---,---------,,---,-----,---------,---,,---,---------,,---,-----,---------,---,,---,-----------------------------------------------------------------------------------------------------------------,-----,---,,----,----,---,,--------,----,-----,---,,----,----,---,,--------,----,-----,---,,----,----,----,,--,,,---,,--,+,--,,---,,,--,,,--,,,---,,--,,,---,,--,+,--,,---,,,--,,,--,,,---,,--,,,---,,--,+,--,,---,,,--,,,--,,,---,,--,,,---,,--,+,--,,---,,,--,,,--,,,---,,--,,,---,,--,+,--,,---,,,--,,,--,,,---,,--,,,---,,---,,---,----,,---,-----,----,---,,----,---,,---,----,,---,-----,----,---,,----,---,,---,----,,---,-----,----,---,,----,---,,---,----,,---,-----,----,---,,----,---,,---,----,,---,-----,----,---,,----,---,,---,----,,---,-----,----,---,,----,---,,---,----,,---,-----,----,---,,----,---,,---,----,,---------------------------------------------------------,----,-----------------------------,----,----,--------------------------.---------------------------------------.------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,--,,,---,---,,-------------------------,--,,,---,---,,-------------------------,--,,,---,---,,-------------------------,--,,,---,---,,-------------------------,--,,,---,---,,-------------------------,--,,,---,---,,-------------------------,--,,,---,---,,-------------------------,-------------------------------------------------------,-------------------,,----,----,---,,,--,------------------------,----,----,----,------------------------,----,----,----,------------------------,----,--,,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,--------,,,---,,---,,---,,,--,,,--,,,--,----------,----,-----------------------,---,,-----,----,-----------------------,---,,-----,----,----------------,,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,-----------------------------------------------,---,,----,----,----,------------------------------------------------------------------------------------------------------------------------------------,------,--------------------------------,------,--------------------------------,------,--------------------------------,------,--------------------------------,------,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.-----------------------------------------,,---,----------------------------------,,---,----------------------------------,,---,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,--------------------------------------------------,------------------------------------------------------,----,--------------------,,--,------,--,----,--------------------,,--,------,--,----,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,--------------------------------------------------------------------------------,----,---------------------------------------------------------------------------------------------------------------------------------------------------------,---,,,-,----,--------------------------,---,,,-,----,--------------------------,---,,,-,----,--------------------------,---,,,-,----,--------------------------,---,,,-,----,--------------------,,----,----,----,----,-----,------------,,----,----,----,----,-----,------------,,----,----,----,----,-----,------------,,----,----,----,----,-----,------------,,----,----,----,----,-----,------------,,----,----,----,----,-----,------------,,----,----,----,----,-----,------------,,----,-----------------,----,------------------------,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------,----,------------,---------------------,----,------------,---------------------,----,------------,---------------------,----,------------,---------------------,----,------------,-----------------------..--------------------------------------..--------------------------------------..--------------------------------------..--------------------------------------..--------------------------------------..--------------------------------------..-------------------------------------------,----,,-,--------,,----,,----,,--,---,,-----,,--------------,----,----,----,----,----,,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.-----------------------------------------,-,--,,-,--,----,------------------,----,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,,---,-----------------------------,----,,---,-----------------------------,----,,---,-----------------------------,----,,---,-----------------------------,----,,---,-----------------------------,----,,---,-----------------------------,----,,---,-----------------------------,-----------,--,----------,------------------,,---,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,-----------------------,,----.---------------------------------------------------------,---,-------------------,------,-----------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,----.-.--.----------------------------------------------------,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,------.------,---,,-------------------,---,,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,---------,,,---,---,--------------,----,---------,,,---,---,--------------,----,---------,,,---,---,--------------,----,---------,,,---,---,--------------,----,---------,,,---,---,---------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,-----------------------------------,-------------,,---,,------------------,----,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,----------,,---,---,,-------------,----,----------,,---,---,,-------------,----,----------,,---,---,,-------------,----,----------,,---,---,,-------------,----,----------,,---,---,,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,--------------,----,----------,----,----,,---,---,,,--,,,--,,,--,,,---,---,,,--,,,---,,---,,--,,,--,,,----------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,-----------------------------------,--------,,----,------------------------,--------,,----,------------------------,--------,,----,------------------------,--------,,----,------------------------,--------,,----,------------------------,--------,,----,------------------------,--------,,----,---------------------------------------------------.------------------,,---------------,--------,----,,--------,------------------------,----,----------------------------------,----,----------------------------------,----,---,,---,,----------,----,---,,---,---------,,---,----------,----,---,,---,---------,,---,----------,----,---,,---,---------,,---,----------,----,---,,---,---------,,---,----------,----,---,,---,---------,,---,--------,,,,--,,---,,,--,,,--,,,--,,,--,,,--,,,-,,,,--,,---,,,--,,,--,,,--,,,--,,,--,,,-,,,,--,,---,,,--,,,--,,,--,,,--,,,--,,,-,,,,--,,---,,,--,,,--,,,--,,,--,,,--,,,-,,,,--,,---,,,--,,,--,,,--,,,--,,,--,,,-,,,,--,,---,,,--,,,--,,,--,,,--,,,--,,,-,,,,--,,---,,,--,,,--,,,--,,,--,,,--,,,-,,,,--,,---,,,---------,----------,,---,--------,----,,---,------------,-,,--,,---,----,--------,,,---,,--,,---,-,,--,,-----------------,---,,--,,,,,,,,------------------------,---,,--,,,,,,,,------------------------,---,,---,,----,---,,,--,,,,--,,,--,,--,,,--,,,,-,,,--,,---,,,--,,,,--,,,--,,--,,,--,,,,-,,,--,,---,,,--,,,,--,,,--,,--,,,--,,,,-,,,--,,---,,,--,,,,--,,,--,,--,,,--,,,,-,,,--,,---,,,--,,,,--,,,--,,--,,,--,,,,-,,,--,,---,,,----,---------,-----------------------------,---------,-----------------------------,---------,-----------------------------,---------,-----------------------------,---------,-----------------------------,---------,-----------------------------,---------,-----------------------------,---------,---------,,-------------------,,---,,---,,--,,,---,---------,----,----,---------,----,,---,---------,----,----------------------------------------------------------------------------------------------------------------,----,,---,,,--,,---,,---,,---,,,-,,,---,----,,---,,,--,,---,,---,,---,,,-,,,---,----,,---,,,--,,---,,---,,---,,,-,,,---,----,,---,,,--,,---,,---,,---,,,-,,,---,----,,---,,,--,,---,,---,,---,,,-,,,---,----,,----,,-,--,--,,--------,,----,---,--,,------,,-,--,--,,--------,,----,---,--,,------,,-,--,--,,--------,,----,---,--,,------,,-,--,--,,--------,,----,---,--,,------,,-,--,--,,--------,,----,---,--,,------,,-,--,--,,--------,,----,---,--,,------,,-,--,--,,--------,,----,---,--,,------,,-,--,--,,------------------------------,,---,,---,,--,,,---,,--------,----,---------,----,----,----,---------,----,--------------------------------------------------------------------------------------------------------------,,,----------,,---,---,,---,---------,----,----------,,---,---,,---,---------,----,----------,,---,---,,---,---------,----,----------,,---,---,,---,---------,----,----------,,---,---,,---,---------,----,---------,,,,,,-,,,,,,-,,,,-,,,-,,,,,-,,--,,,,---,,,,,,-,,,,,,-,,,,-,,,-,,,,,-,,--,,,,---,,,,,,-,,,,,,-,,,,-,,,-,,,,,-,,--,,,,---,,,,,,-,,,,,,-,,,,-,,,-,,,,,-,,--,,,,---,,,,,,-,,,,,,-,,,,-,,,-,,,,,-,,--,,,,---,,,,,,-,,,,,,-,,,,-,,,-,,,,,-,,--,,,,---,,,,,,-,,,,,,-,,,,-,,,-,,,,,-,,--,,,,---,,,,,,-,,,,,,-,---------------------------,,-------------,-----,-------,,,--,,,--------,---,,--------------,---,,,--,,,------------------------------------------------------------------------------------------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------,---------,,---,,-,------,----,,--------,---------,,---,,-,------,----,,--------,---------,,---,,-,------,----,,--------,---------,,---,,-,------,----,,--------,---------,,---,,-,------,----,,--------,---------,,---,,-,------,----,,--------,---------,,---,,-,------,----,,--------,---------------------------------------------------------------------------------------------,,-----------------------------------------------------------------------------------------------------------------------------------,,---,,---,-----,,--,,---,,----,---,,---,,---,,---,-----,,--,,---,,----,---,,---,,---,,---,-----,,--,,---,,----,---,,---,,---,,---,-----,,--,,---,,----,---,,---,,---,,---,-----,,--,,---,,----,---,,---,,---,,----------------------------------.--,-.----------------------------------.--,-.----------------------------------.--,-.----------------------------------.--,-.----------------------------------.--,-.----------------------------------.--,-.----------------------------------.--,-.-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------,----,------------------------,---------,----,------------------------,---------,----,------------------------,---------,----,------------------------,---------,----,------------------------,--,--------------,,----,------------------,--------------,,----,------------------,--------------,,----,------------------,--------------,,----,------------------,--------------,,----,------------------,--------------,,----,------------------,--------------,,----,------------------,-------------,,,--------------------------------------------------------------------------------,-------------------------------------------------------------------------------------------------------------------------------------------,---------,,--,,----,----,----,---------,---------,,--,,----,----,----,---------,---------,,--,,----,----,----,---------,---------,,--,,----,----,----,---------,---------,,--,,----,----,----,---------,--,,----,---------,--------------------,--,,----,---------,--------------------,--,,----,---------,--------------------,--,,----,---------,--------------------,--,,----,---------,--------------------,--,,----,---------,--------------------,--,,----,---------,--------------------,--,,----,----------------------------------------------------------------------------------------------------.------------------------------------,,----,,----,,--------------------------,,----,,----,,---------------------------------------,--------,------------------,,----------,--------,------------------,,----------,--------,------------------,,----------,--------,------------------,,----------,--------,------------------,,----------,----,,------------------,----,,--,,----,----,,------------------,----,,--,,----,----,,------------------,----,,--,,----,----,,------------------,----,,--,,----,----,,------------------,----,,--,,----,----,,------------------,----,,--,,----,----,,------------------,----,,--,,----,----,,----------------------------------------------------------------------------------------------------,----,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------..--------------------------------------..--------------------------------------..--------------------------------------..--------------------------------------..--------------------------------------..--------------------------------------..------------------,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----------,,-----------------------------------------------------------,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-----------------------------,----,----,-----------------------------,----,----,-----------------------------,----,----,-----------------------------,----,----,-----------------------------,----,----,-----------------------------,----,----,-----------------------------,----,----,------------------------,,-----------------------------------------------------------,----------------------------------------------------.---------------------------------------.---------------------------------------.------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,--.-,----------------------------------,--.-,----------------------------------,--.-,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------,,,--,,---------------------------------,,,--,,---------------------------------,,,--,,---------------------------------,,,--,,---------------------------------,,,--,,--------,---------------,---,,----,----,--------,---------------,---,,----,----,--------,---------------,---,,----,----,--------,---------------,---,,----,----,--------,---------------,---,,----,----,--------,---------------,---,,----,----,--------,---------------,---,,----,----,--------,---------------,---------------------------------------------------------------,------,--------,----,----,,---,------------------------,---,,---------,------------------------,---,,---------,------------------------,---,,---,,---,,------------------------,---,,---,,----,------------------------,---,,---,,----,------------------------,---,,---,,----,------------------------,---,,---,,----,------------------------,---,,---,,----,------------------------,-.--,---------,------------------------,-.--,---------,------------------------,-.--,---------,------------------------,-.--,---------,------------------------,-.--,---------,------------------------,-.--,---------,------------------------,-.--,---------,-------------------------------------------------------------------------------,-----------------------------,---------,--------------------------------,,,--,,,--------------------------------,,,--,,,--------------------------------,,--------,------------------,---------------,----,------------------,---------------,----,------------------,---------------,----,------------------,---------------,----,------------------,---------------,----,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,--,,,--,,,---,,-------------------------,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.----------.----------------------------.----------.----------------------------.----------.----------------------------.----------.----------------------------.----------.----------------------------.----------.----------------------------.----------.----------------------------.-----------------,,,,,,,,--,,--------------------------------,------,--------------------------------,------,---------------------------------------------------------------------------------------------------------------------------,,--------------------------------------,,--------------------------------------,,--------------------------------------,,--------------------------------------,,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,---------------------,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,--------------------------------------,,--------------------------------------,,--------------------------------------,,--------------------------------------,,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,-------------.-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-----,--,---,-----,---,,,---,----------,-----,--,---,-----,---,,,---,----------,-----,--,---,-----,---,,,---,----------,-----,--,---,-----,---,,,---,----------,-----,--,---,-----,---,,,---,----------,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---,,------------------------------,-----------------------------------------------------------,----,----,----,------------------------,----,----,----,------------------------,----,----,----,-----,,--,,----,,,,,,,,,,,,-,,,--,,,---,,,-,,,,--,,----,,,,,,,,,,,,-,,,--,,,---,,,-,,,,--,,----,,,,,,,,,,,,-,,,--,,,---,,,-,,,,--,,----,,,,,,,,,,,,-,,,--,,,---,,,-,,,,--,,----,,,,,,,,,,,,-,,,--,,,---,,,-,,,,--,,----,,,,,,,,,--,----------,--,,,,,,,,--------,,,,,,,,--,----------,--,,,,,,,,--------,,,,,,,,--,----------,--,,,,,,,,--------,,,,,,,,--,----------,--,,,,,,,,--------,,,,,,,,--,----------,--,,,,,,,,--------,,,,,,,,--,----------,--,,,,,,,,--------,,,,,,,,--,----------,--,,,,,,,,--------,,,,,,,,--,---------------------,,--,,,--,,,---,,,-,,,,,,,,,,-,,----,,------------------,---------,-----------------------------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,----,,---,---------,,,---,---,,---,,---,,---------,---,,,--,,,---,---,,---,,---,,---------,---,,,--,,,---,---,,---,,---,,---------,---,,,--,,,---,---,,---,,---,,---------,---,,,--,,,---,---,,---,,---,,---------,---,,,--,,,---,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,,---,,---,-------------,----------,---,,---------,-------------,----,,---,------------------------,-.-------,,---,------------------------,-.-------,,---,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.--------------------------------------------------------------------------------------------------,------------------------------------------------,---------------------------------------,------------------------------------------------,,--,,---------,---,,--,,---,,,---------,,--,,---------,---,,--,,---,,,---------,,--,,---------,---,,--,,---,,,---------,,--,,---------,---,,--,,---,,,---------,,--,,---------,---,,--,,---,,,---------,,---,,---,,---,,---,,,-,,,---,,--,,,---,,---,,---,,---,,---,,,-,,,---,,--,,,---,,---,,---,,---,,---,,,-,,,---,,--,,,---,,---,,---,,---,,---,,,-,,,---,,--,,,---,,---,,---,,---,,---,,,-,,,---,,--,,,---,,---,,---,,---,,---,,,-,,,---,,--,,,---,,---,,---,,---,,---,,,-,,,---,,--,,,---,,---,,---,,-------------------------------------------------------------------------------------------------------------------------------------------,-----,,--------------------------------,-----,,------------------------------,,------------------,,---,,----,--,------,------------------,,---,,----,--,------,------------------,,---,,----,--,------,------------------,,---,,----,--,------,------------------,,---,,----,--,------,--------,,---,,----,----,----,---,,,---,----,---,,---,,----,----,----,---,,,---,----,---,,---,,----,----,----,---,,,---,----,---,,---,,----,----,----,---,,,---,----,---,,---,,----,----,----,---,,,---,----,---,,---,,----,----,----,---,,,---,----,---,,---,,----,----,----,---,,,---,----,---,,---,,----,------------,,,,,,,,,,,,,,,,-,,,--,,--,,,-----------,--,------------------------------------------------------------------------------------------------------------------------------------------------------------------,,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,--.-,-------.--------------------------,--.-,-------.--------------------------,--.-,-------.--------------------------,--.-,-------.--------------------------,--.-,-------.--------------------------,--.-,-------.--------------------------,--.-,-------.--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,--------,,,--,,,--------,---,,,--,,----,--------,,,--,,,--------,---,,,--,,----,--------,,,--,,,--------,---,,,--,,----,--------,,,--,,,--------,---,,,--,,----,--------,,,--,,,--------,---,,,--,,----,--------,,---,,---,,---,,----,---,,,---,---,,---,,---,,---,,---,,----,---,,,---,---,,---,,---,,---,,---,,----,---,,,---,---,,---,,---,,---,,---,,----,---,,,---,---,,---,,---,,---,,---,,----,---,,,---,---,,---,,---,,---,,---,,----,---,,,---,---,,---,,---,,---,,---,,----,---,,,---,---,,---,,---,,---,,---,--------------------------------------------------------------------------------,----------,--------------------------------------------------------------------------------------------------------------------------,,--------,,,--,,,--------,,,,,,,,,,,---,,--------,,,--,,,--------,,,,,,,,,,,---,,--------,,,--,,,--------,,,,,,,,,,,---,,--------,,,--,,,--------,,,,,,,,,,,---,,--------,,,--,,,--------,,,,,,,,,,,---,,--------,,---,,----,----,----,,--,,,---,---,,---,,---,,----,----,----,,--,,,---,---,,---,,---,,----,----,----,,--,,,---,---,,---,,---,,----,----,----,,--,,,---,---,,---,,---,,----,----,----,,--,,,---,---,,---,,---,,----,----,----,,--,,,---,---,,---,,---,,----,----,----,,--,,,---,---,,---,,---,,----,------------------------------------,----------------------,----------,-------------,----,,---,,---,------------------------,---,,----,----,----,,------------------,---,,----,----,----,,------------------,---,,--------------------------,---,,----------------------------------,---,,----------------------------------,---,,----------------------------------,---,,----------------------------------,---,,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------,------------,-----,----,,---,,---,,--,,--,,,,--,,,--,-----,------------------,----,----,,---,-----,------------------,----,----,,---,-----,------------------,----,------------------.------.,----,--------------------------.------.,----,--------------------------.------.,----,--------------------------.------.,----,--------------------------.------.,----,--------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,-----,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,----,-----------------------------,----,----,-----------------------------,----,----,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,--,,---,-------------------------------,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,----------------------------------------------------------------------------------------------------------------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-----------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,---------------------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---,,----------------------------------,---------,,---,------------------------,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,------------------------,---,,----,,---,---,,----------,--,,----,----,----,----,---,,----------,----------------------------------------------------------------------------------------------------------------------------------------,---,,----,-----------------------------,---,,----,-----------------------------,---,,----,-----------------------------,---,,----,-----------------------------,---,,----,-----------------------------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,----,,---,--------------------------------------------------------,---,,----,,---,---------------,--,,----,----,----,---------,----------,------------------------,---,,----------------------------------,---,,----------------------------------,----,,,---,-------------,,--,,----------,,,---,---,-------------,,--,,----------,,,---,---,-------------,,--,,----------,,,---,---,-------------,,--,,----------,,,---,---,-------------,,--,,----------,,,---,---,--------------------,----,----,----,------------------------,----,----,----,------------------------,----,----,----,------------------------,----,----,----,------------------------,----,----,----,------------------------,----,----,----,------------------------,----,----,----,------------------------------------------------------------------------------------------,----,----,,----------,---,,------------------,,----,,--,,---,,---,,,--------,--------,,----,,--,,---,,---,,,--------,--------,,----,,--,,---,,-----,,--------,----,---,,--,,-----------,,---,--------,----,---,,--,,-----------,,---,--------,----,---,,--,,-----------,,---,--------,----,---,,--,,-----------,,---,--------,----,---,,--,,-----------,,---,-----------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------------------------------------------------------------------------,----,,----------,---,--------------------,----,---,----------,-------------------,----,---,----------,-------------------,----,---,----------------------------------------,---,-----------------------------------,---,-----------------------------------,---,-----------------------------------,---,-----------------------------------,---,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,------------------------------------------------------,---------------,----,---,----------,---,------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,-----------------------------------------------------,------------------------,---------,,-.-,------------------------,---,,----,----,------------------------,---,,----,----,------------------------,---,,-----,,,---------,---------,,--,,------------------------,---------,,--,,------------------------,---------,,--,,------------------------,---------,,--,,------------------------,---------,,--,,------------------------,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,---------------------------------------------------------------------------------------------,------------------,--,--,---,,---,,,--,,--,,---,----------,--,--,---,,---,,,--,,--,,---,----------,--,--,---,,--,--,,,---------,---------,,--,,------------------------,---------,,--,,------------------------,---------,,--,,------------------------,---------,,--,,------------------------,---------,,--,,------------------------,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------------------------,,-------------------,--------,---------,,-------,,----,,--,,---,,---,,,--,,,-,,,,--,,---,,----,,--,,---,,---,,,--,,,-,,,,--,,---,,----,,--,,---,,---,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,---,,---,,----,----,----,---,------,--,,---,,---,,----,----,----,---,------,--,,---,,---,,----,----,-.-,,--,---,,-----,----,,---,---,,----,,---,---,---,,-----,----,,---,---,,----,,---,---,---,,-----,----,,---,---,,----,,---,---,---,,-----,----,,---,---,,----,,---,---,---,,-----,----,,---,---,,----,,---,---,---,,----,,-----,--------,----,---,,---,---------,,-----,--------,----,---,,---,---------,,-----,--------,----,---,,---,---------,,-----,--------,----,---,,---,---------,,-----,--------,----,---,,---,---------,,-----,--------,----,---,,---,---------,,-----,--------,----,---,,---,---------,,-----,--------,-------------------------------------------------------,,--,,---------,---,,----,,---,---------,,--,,---,,---,,,--,,,--,,,--,,,---,,--,,,--,,,--,,---,,,--,,,--,,,--,,,---,,--,,,--,,,--,,---,,,--,,,--,,,--,,+,-,,..-------------------.-,-------------------------------------.-,-------------------------------------.-,-------------------------------------.-,-------------------------------------.-,-----------------------------,---------,------------------,----------,---------,------------------,----------,---------,------------------,----------,---------,------------------,----------,---------,------------------,----------,---------,------------------,----------,---------,------------------,----------,---------,----,--------------------------------------------------------------------------------------------------------------------------------------,------,--------------------------------,------,------------------------,--,---,----,,---,,,--,,---,,---,----,,---,,---,----,,---,,,--,,---,,---,----,,---,,---,----,,---,,,--,,---,,---,----,,---,,---,----,,---,,,--,,---,,---,----,,---,,---,----,,---,,,--,,---,,---,----,,---,,---,----,,---,,,-,,,---,,,--,,,--,,,--,,---,,----,---,,,-,,,---,,,--,,,--,,,--,,---,,----,---,,,-,,,---,,,--,,,--,,,--,,---,,----,---,,,-,,,---,,,--,,,--,,,--,,---,,----,---,,,-,,,---,,,--,,,--,,,--,,---,,----,---,,,-,,,---,,,--,,,--,,,--,,---,,----,---,,,-,,,---,,,--,,,--,,,--,,---,,----,---,,,-,,,---,,,---------------,,,--,,---,--------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,-----------------------------,+,,-,,,,-,,,,--,,--,,,,--,,--,,,--,,,,--,,,-,,,,-,,,,--,,--,,,,--,,--,,,--,,,,--,,,-,,,,-,,,,--,,--,,,,--,,--,,,--,,,,--,,,-,,,,-,,,,--,,--,,,,--,,--,,,--,,,,--,,,-,,,,-,,,,--,,--,,,,--,,--,,,--,,,,--,,,-,,,,--,,,--,,---,,,--,,,--,,,--,,---,---------,,,--,,---,,,--,,,--,,,--,,---,---------,,,--,,---,,,--,,,--,,,--,,---,---------,,,--,,---,,,--,,,--,,,--,,---,---------,,,--,,---,,,--,,,--,,,--,,---,---------,,,--,,---,,,--,,,--,,,--,,---,---------,,,--,,---,,,--,,,--,,,--,,---,---------,,,--,,---,,,---------------,,,--,,---,-,,,--,,,,--,,,-,,-,,,,,--,,,,--------------------------------------------------,-----------------------,---------------,-----------------------,---------------,-----------------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,------------------------,----,,----,-------------,,-------------------,---,,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.------,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------,---------,---,,---------,---,,---------,---------,---,,---------,---,,---------,---------,---,,---------,---,,---------,---------,---,,---------,---,,---------,---------,---,,---------,---,,---------,--,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,-----------------------------------------------------------------------------------------------------------------------------,----,---,,----,--------,,----,,--------,----,---,,----,--------,,----,,--------,----,---,,----,----,,-.-,,----,----,,-.,,-.-,,---,,----,---,,---,,----,----,,-.,,-.-,,---,,----,---,,---,,----,----,,-.,,-.-,,---,,----,---,,---,,----,----,,-.,,-.-,,---,,----,---,,---,,----,----,,-.,,-.-,,---,,----,---,,---,,----,------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------------------------------.---------------------------------------.------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,------------------,,----,---,,--,,,,,,,,-,,,,,,,,,,,-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,,,,,,,,,,,,,,-,,,,--,,,-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,,--,,,-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,,--,,,-,,,,,,,,-,,---,,--,,,--------,,--,,,---,,--,,,-,-,,---,,--,,,--------,,--,,,---,,--,,,-,-,,---,,--,,,--------,,--,,,---,,--,,,-,-,,---,,--,,,--------,,--,,,---,,--,,,-,-,,---,,--,,,--------,,--,,,---,,--,,,-,-,,---,,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,---,----------,,,--,,,--,,,-,,,--,,,--,,,,,,-,,-,,,-,,,--,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,-,,,-,,,,,,,,,,,,,,,,,,-,,,,-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,,-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,,-,---,,---,,---,,--,,,--------,,--,,,---,,---,----,,---,,--,,,--------,,--,,,---,,---,----,,---,,--,,,--------,,--,,,---,,---,----,,---,,--,,,--------,,--,,,---,,---,----,,---,,--,,,--------,,--,,,---,,---,----,,---,,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------.---------------------,---------------------------------------,---------------------------------------,---------------------,----------------------.----------------,----------------------.----------------,----------------------.----------------,----------------------.----------------,----------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,--------------------------------------,,-----------------------------------------------------------------------------------------------------------------------------,--------------------,---,,-------------,--------------------,---,,-------------,--------------------,---,,-------------,--------------------,---,,-------------,--------------------,---,,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----------------------------------------------,-------------,---------------------------------------,------------------------------------------------------------------------------------------------------------------,,,--,,,--,,,--------,,--,,,---,,---,,--,,,--,,,--,,,--------,,--,,,---,,---,,--,,,--,,,--,,,--------,,--,,,---,,---,,--,,,--,,,--,,,--------,,--,,,---,,---,,--,,,--,,,--,,,--------,,--,,,---,,---,,--,,,--,,,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------,---------------------------------------------------------------------,---------------------------------------,---------------------------------------,------------------,,---,,---,,,--------,,--,,,---,--------,,---,,---,,,--------,,--,,,---,--------,,---,,---,,,--------,,--,,,---,--------,,---,,---,,,--------,,--,,,---,--------,,---,,---,,,--------,,--,,,---,--------,,---,,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,----,,---,,---,,---,,---,----,----,,---,---------,,---,,------------------,---------------------------------------,---------------------------------------,----------------.-,-----,-------------------------------.-,-----,-------------------------------.-,-----,-------------------------------.-,-----,-------------------------------.-,-----,-------------------------------.-,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,------,,---,,---,,----,---,,---,,---,,,--,,---,,---,,---,,----,---,,---,,---,,,--,,---,,---,,---,,----,---,,---,,---,,,--,,---,,---,,---,,----,---,,---,,---,,,--,,---,,---,,---,,----,---,,---,,---,,,--,,---,,---,,------------------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,----,,---,-----------------------------------------------------------------------------------------------------------------------------------,--------------,------------------------,--------------,------------------------,--------------,-----,------,,,--,,,--,,,--,,--,,,,--,,---,,,--,,---,,,--,,,--,,,--,,--,,,,--,,---,,,--,,---,,,--,,,--,,,--,,--,,,,--,,---,,,--,,---,,,--,,,--,,,--,,--,,,,--,,---,,,--,,---,,,--,,,--,,,--,,--,,,,--,,---,,,--,,---,,,--,,,-----------------,----,----,----,------------------------,----,----,----,------------------------,----,----,----,------------------------,----,----,----,------------------------,----,----,----,------------------------,----,----,----,------------------------,----,----,----,------------------------,------.---------------------------------------------------------------------------------------------------,,-------------------,----,-------------,,-------------------,----,-------------,,---------------------------,----,----,----,----,---,,----,---,,,---,----,----,----,----,---,,----,---,,,---,----,----,----,----,---,,----,---,,,---,----,----,----,----,---,,----,---,,,---,----,----,----,----,---,,----,---,,,---,----,-----------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,-----------------------------,-----------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------------------,,----,----,,---------------------------,,----,----,,---------------------------,,----,----,,---------------------------,,----,----,,---------------------------,,----,----,,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,-,,,,-----------,,----,---,,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------,,--,,,--,,,----,-------------,---------,,--,,,--,,,----,-------------,---------,,--,,,--,,,----,-------------,---------,,--,,,--,,,----,-------------,---------,,--,,,--,,,----,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---,,----------------------------------,---,,----------------------------------,---,,----------------------------------,---,,----------------------------------,---,,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,----------------------------,---------,----,----------------------------------,----,-------------------,----,---,,----,----,-------------------,----,---,,----,----,-------------------,----,---,,----,----,------------------------,---,,---,,,----------------------------,---,,---,,,----------------------------,---,,---,,,----------------------------,---,,---,,,----------------------------,---,,---,,,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,-----,---------,,---,--------,--------,,----,---,,-----------,---,,,-,------,-,,,--,,----------------,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---,-----,---,,----,,--,,,---,---,,---,----------,---,,----,,--,,,---,---,,---,----------,---,,----,,--,,,---,---,,---,----------,---,,----,,--,,,---,---,,---,----------,---,,----,,--,,,---,---,,---,----------,---,-----,-----,,--------------------------------,-----,,--------------------------------,-----,,--------------------------------,-----,,--------------------------------,-----,,--------------------------------,-----,,--------------------------------,-----,,--------------------------------,-----,,---------------------------------------------,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,------------,,---,---------------------,------------,,---,---------------------,------------,,---,---------------------,------------,,---,---------------------,------------,,---,--------------------,-----,,--------------------------------,-----,,--------------------------------,-----,,--------------------------------,-----,,--------------------------------,-----,,--------------------------------,-----,,--------------------------------,-----,,--------------------------------,-----,,----------------------------------,---,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,--------------------------------------,,--------------------------------------,,--------------------------------------,,--------------------------------------,,--------------------------------------,,--------------------------------------,,--------------------------------------,,---------,,-----------------------,--,,,-------------,,----,----,----,------------------,----,----,,----,------------------------------------------------------------------------------------------------------------------,---,-----,----,----,,------------------,---,-----,----,----,,------------------,---,-----,----,----,,------------------,---,-----,----,----,,------------------,---,-----,----,----,,------------------,---,-----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,------------------.----------------------------------,--------------,----------------------------------,--------------------------------------------,---------------------------------------,---------------------------------------------,---,----,,---,,----,,--,,,--,,--,,,---,,---,----,,---,,----,,--,,,--,,--,,,---,,---,----,,---,,----,,--,,,--,,--,,,---,,---,----,,---,,----,,--,,,--,,--,,,---,,---,----,,---,,----,,--,,,--,,--,,,---,,---,----,,-----------------------,----,---------,,-----------------------,----,---------,,-----------------------,----,---------,,-----------------------,----,---------,,-----------------------,----,---------,,-----------------------,----,---------,,-----------------------,----,---------,,------------------------------------------------,----,,---,,---,,---------,-----------------------,,---,----------,------------------------------------------------------------------------------------------------------------------,---------,----,----,----,---,,---,-----,---------,----,----,----,---,,---,-----,---------,----,----,----,---,,---,-----,---------,----,----,----,---,,---,-----,---------,----,----,----,---,,---,-----,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,--------,---,----------,,--------,---,,,--,,,---,------------,---,,--,------,-,---,,---------------------------------------------------------------------------------------------------------------------------------,-------------------,------..---.-------,-------------------,------..---.-------,-------------------,------..---.-------,-------------------,------..---.-------,-------------------,------..---.-------,--------------.---------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.--------------------------------------------------------------------------------------------------------------------------,----,--------,---,,--------------------,----,--------,---,,--------------------,----,----------,---,,,---,,---,,---,,--,,,,---,,--,,---,,---,,---,,---,,---,,--,,,,---,,--,,---,,---,,---,,---,,---,,--,,,,---,,--,,---,,---,,---,,---,,---,,--,,,,---,,--,,---,,---,,---,,---,,---,,--,,,,---,,--,,---,,---,,---,,-------,--------------------,----,-------------,--------------------,----,-------------,--------------------,----,-------------,--------------------,----,-------------,--------------------,----,-------------,--------------------,----,-------------,--------------------,----,-------------,-------------------------,--------------------------------------------------.-------------,----,----------------------------------------------------------------------------------------------------------------------------------,,,--,,,--,,,--,,---,,,---,,----,---,,--,,,--,,,--,,,--,,---,,,---,,----,---,,--,,,--,,,--,,,--,,---,,,---,,----,---,,--,,,--,,,--,,,--,,---,,,---,,----,---,,--,,,--,,,--,,,--,,---,,,---,,----,---,,--,,,--,,,--,,---,----------,--------,----,,--,,,---,,---,----------,--------,----,,--,,,---,,---,----------,--------,----,,--,,,---,,---,----------,--------,----,,--,,,---,,---,----------,--------,----,,--,,,---,,---,----------,--------,----,,--,,,---,,---,----------,--------,----,,--,,,---,,---,------------------,,---,--------------------------------------,,--------,---,,----,----,,----,--,,,,,,,,--------,----,----------------------------------,----,----------------------------------,----,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------,,,,--,,---,,----,---------------------------------,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,--,,---,,----,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,---------,---------,-----,--------,----,---------,---------,-----,--------,----,---------,---------,-----,--------,----,---------,---------,-----,--------,----,---------,---------,-----,--------,----,-----------------------------,,----------,---------------------------,,----------,---------------------------,,----------,---------------------------,,----------,---------------------------,,----------,---------------------------,,----------,---------------------------,,----------,----------------------------------------------------------------,----------------------------,----,,---,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,----------,---------------------------,,----------,---------------------------,,----------,---------------------------,,----------,---------------------------,,----------,---------------------------,,----------,---------------------------,,----------,----------------------------------------------------------------------------------,---------------,----,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,-------,----------------,---,-----,----,-------,----------------,---,-----,----,-------,----------------,---,-----,----,-------,----------------,---,-----,----,-------,----------------,---,-----,----,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.------,---------------------------------,,,---,,,--------------------------------------------------------,----,----------------------------------,----,----------------------------------,----,-------------------------,,,---,---,---,----------------,---,,---,,,---,---,---,----------------,---,,---,,,---,---,---,----------------,---,,---,,,---,---,---,----------------,---,,---,,,---,---,---,----------------,---,,---,,,---,--,,---,----------,---------,---,,----,,--,,---,----------,---------,---,,----,,--,,---,----------,---------,---,,----,,--,,---,----------,---------,---,,----,,--,,---,----------,---------,---,,----,,--,,---,----------,---------,---,,----,,--,,---,----------,---------,---,,----,,--,,---,---------------------------------------------,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,---,,,-,,,,--,,-,,,,,--,,,-,,,-,,,,,-,,,---,,,-,,,,--,,-,,,,,--,,,-,,,-,,,,,-,,,---,,,-,,,,--,,-,,,,,--,,,-,,,-,,,,,-,,,---,,,-,,,,--,,-,,,,,--,,,-,,,-,,,,,-,,,---,,,-,,,,--,,-,,,,,--,,,-,,,-,,,,,-,,,---,,,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,------,--,,---,,---,,--,-----,,--------,------,---------,,,,,,---------,,,,,,,,-----------------,,,,,,---------,,,,,,,,-----------------,,,,,,-----------------,----,--,,----,,--,,,,---,---,,---,,---,,----,--,,----,,--,,,,---,---,,---,,---,,----,--,,----,,--,,,,---,---,,---,,---,,----,--,,----,,--,,,,---,---,,---,,---,,----,--,,----,,--,,,,---,---,,---,,---,,----,----,,---,----------------------------------,,---,----------------------------------,,---,----------------------------------,,---,----------------------------------,,---,----------------------------------,,---,----------------------------------,,---,----------------------------------,,---,--------,-------------------------------------------------------,,----,,----------------,----,----------,,----,,---------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.--------------------------,,---,----------------------------------,,---,----------------------------------,,---,----------------------------------,,---,----------------------------------,,---,----------------------------------,,---,----------------------------------,,---,----------------------------------,,---,-----------------------------------------------------------------------------,----,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.-----------------------------------------------------------------.--,-..-,--.----------------------------------,,,,,,,,--------,,,,,,,,----------------,,,,,,,,--------,,,,,,,,----------------,,,,,,,,----------------,----------,----,-----------------------,----------,----,-----------------------,----------,----,-----------------------,----------,----,-----------------------,----------,----,-----------------------,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,---,---------------------------------------------------------------------------------------------------------------------------------------------------------------------,--,-----,,---,----,----,----,-----,---,---,-----,,---,----,----,----,-----,---,---,-----,,---,----,----,----,-----,---,---,-----,,---,----,----,----,-----,---,---,-----,,---,----,----,----,-----,---,---,-----,,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,-----------------------------------,----,,---,--------,,----,,--,,---,,---,,---,,----,---,,---,,----,,----------------------------------------------------------------------------------------------------------------,,---,,,-,,,---,,---,,,--,,,--,,,---,,--,,---,,,-,,,---,,---,,,--,,,--,,,---,,--,,---,,,-,,,---,,---,,,--,,,--,,,---,,--,,---,,,-,,,---,,---,,,--,,,--,,,---,,--,,---,,,-,,,---,,---,,,--,,,--,,,---,,--,,---,,,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,---,,-,--,,--,------------------------------------------,,---,---,,,--,,----,,--,,----,---,,----,,---,,---,,,--,,,---,---,,---,,--,,,,-,,,---,,---,,,--,,,---,---,,---,,--,,,,-,,,---,,---,,,--,,,---,---,,---,,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,-----------------------------------------------------------------,,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,-----------------------------------------,----------,----------------------------,----------,----------------------------,----------,----------------------------,----------,----------------------------,----------,----------------------------,----------,----------------------------,----------,--------------------,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,---,,---------------------------,----------,,---------------------------,----------,,---------------------------,----------,,---------------------------,----------,,---------------------------,----------,,---,,----,,--------,,----,,--,,---,,---,,--,,----,,--------,,----,,--,,---,,---,,--,,----,,--------,,----,,--,,---,,---,,--,,----,,--------,,----,,--,,---,,---,,--,,----,,--------,,----,,--,,---,,---,,--,,----,,--------,,----,,--,,---,,---,,--,,----,,--------,,----,,--,,---,,---,,--,,----,,----------,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,---,,---,,----------,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,----,--------,,-----,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,--,,,--,----,,---,,,-----------------,,,--,,,--,----,,---,,,-----------------,,,--,,,--,----,,---,,,-----------------,,,--,,,--,----,,---,,,-----------------,,,--,,,--,----,,---,,,-----------------,,,--,,,------------------------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,----,,---,-----------------,,----------------------------------------------------------------,,-------------------------------------,-----,---,,--,------,-------------,----,-----,---,,--,------,-------------,----,-----,---,,--,------,--------,,,,,,,,-,,,--,,,,--,,,--,,,--,,----,---,,,,,,,,-,,,--,,,,--,,,--,,,--,,----,---,,,,,,,,-,,,--,,,,--,,,--,,,--,,----,---,,,,,,,,-,,,--,,,,--,,,--,,,--,,----,---,,,,,,,,-,,,--,,,,--,,,--,,,--,,----,---,,,,,,,,-----------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,-----------------------------,------,------------------------------------------,,---,---,,,--,,----,,--,,----,---,,----,,---,-------------------------------.---------------------------------------.------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.-----------------------,----,----,----,-------------,----------,----,--,,-----,-------------,---------------------------------------------------------------------------------------------------------------,--,,----,,--,,,-------------,,---,,---,,--,,----,,--,,,-------------,,---,,---,,--,,----,,--,,,-------------,,---,,---,,--,,----,,--,,,-------------,,---,,---,,--,,----,,--,,,-------------,,---,,---,,--,,----,,----------------------------------.----.----------------------------------.----.----------------------------------.----.----------------------------------.----.----------------------------------.----.----------------------------------.----.----------------------------------.----.-----------------------------------------------------,----,--------,,--,-----,,--,,,---,,----,--,,----,,---,,--------,,--,,--,,----------,,,,-,,-----------------,,--,,----------,,,,-,,-----------------,,--,,----------,,,,-,,-----,--,,----,,---,----,---,,,--,,,---,,---,,,-,,----,,---,----,---,,,--,,,---,,---,,,-,,----,,---,----,---,,,--,,,---,,---,,,-,,----,,---,----,---,,,--,,,---,,---,,,-,,----,,---,----,---,,,--,,,---,,---,,,-,,----,,---,---,--------------------,--------,-----,---,--------------------,--------,-----,---,--------------------,--------,-----,---,--------------------,--------,-----,---,--------------------,--------,-----,---,--------------------,--------,-----,---,--------------------,--------,-----,---,-------------,-------------------------------------------------,-,----,---,,---,--------,----,,----,,----,----,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,--------------,----,----,--------------,--------------,----,----,--------------,--------------,----,----,--------------,--------------,----,----,--------------,--------------,----,----,--------------,--------------,----,----,--------------,--------------,----,----,--------------,-----------------,------------------------------------------------------------------------------,,---------------------------------------------------------------------------------------------------------------------------------.-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,----,----,----,-------.-------,---,----,----,----,----,-------.-------,---,----,----,----,----,-------.-------,---,----,----,----,----,-------.-------,---,----,----,----,----,-------.-------,---,----,----,----,----,-------.-------,---,----,----,----,----,-------.-------,---,----,----,----------,,,-----------------------------------------,--,---------------------------------------,---------,,--,,----------,,,,-,,--------,----,---,,--,,----------,,,,-,,--------,----,---,,--,,----------,,,,-,,-,,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,-------------------,----,---,,----,---,,-------------------,----,---,,----,---,,-------------------,----,---,,----,---,,-------------------,----,---,,----,---,,-------------------,----,---,,----,---,,-------------------,----,---,,----,---,,-------------------,----,---,,----,---,,------------------------------------------------------------------,-------.-------------------------------,-------.-,,--,,---------,---,,,--------------,---,,--,,---------,---,,,--------------,---,,--,,---------,---,,,---,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-------------------,--------------,----,-------------------,--------------,----,-------------------,--------------,----,-------------------,--------------,----,-------------------,--------------,----,-------------------,--------------,----,-------------------,--------------,----,------------------------------------------------,----,-------------,----,----------,----,--,,-----,---,----,----,----------------------------------------------------------------------------------------------------------.-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-----------------,----,--------,----,----,----,----,--,,,--,,,--,,,--,,,---,,,-,,,---,,--,,,---,,--,,,-----------------,---,,----,----,------------------------,---,,----,----,------------------------,---,,----,-------------,---,,----,----,------------------------,---,,----,----,------------------------,---,,----,----,------------------------,---,,----,----,------------------------,---,,----,----,------------------------,-------------------,-------------------,-------------------,-------------------,-------------------,-------------------,-------------------,-------------------,-------------------,-------------------,-------------------,-------------------,-------------------,-------------------,--------------------------,,---,------,---,,-------------------,,---,,-,,,,,,,,-,,,,-,,--,,---,----,,--,,,,,,,,,,,,,,,,,---------,----------,------------------,---------,----------,------------------,---------,----------,--------,,---,,,--,,,--,,,--,,,---,,--,,,--,,,--,,---,,,--,,,--,,,--,,,---,,--,,,--,,,--,,---,,,--,,,--,,,--,,,---,,--,,,--,,,--,,---,,,--,,,--,,,--,,,---,,--,,,--,,,--,,---,,,--,,,--,,,--,,,---,,--,,,--,,,--,,---,,,--,,---,,---,,---,,---,,,--,,,--,,---,,---,,---,,---,,---,,---,,,--,,,--,,---,,---,,---,,---,,---,,---,,,--,,,--,,---,,---,,---,,---,,---,,---,,,--,,,--,,---,,---,,---,,---,,---,,---,,,--,,,--,,---,,---,,---,,---,,---,,---,,,--,,,--,,---,,---,,---,,---,,---,,---,,,--,,,--,,---,,---,,---,,---,,---,----------------,,----,,---------------------------.------------------------------------------------------------------------------------------------------------------------------------------------------------------,,----------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,-----------------------,,---------,--------------,-------------,,---------,--------------,-------------,,---------,--------------,-------------,,---------,--------------,-------------,,---------,--------------,-------------,,---------,--------------,-------------,,---------,--------------,-------------,,------------------------------------------------------------,,,,,,,,--------------------------------,,,,,,,,---------------------------------------------------------------------------------------------------------------,---------,----,---------,----,----,--------------,----,---------,----,----,--------------,----,---------,----,----,--------------,----,---------,----,----,--------------,----,---------,----,----,------------------------,-------------------,----,--------------,-------------------,----,--------------,-------------------,----,--------------,-------------------,----,--------------,-------------------,----,--------------,-------------------,----,--------------,-------------------,----,--------------,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,--,,,,-,,,--,,,-,,,,--,,,--,,,--,,,,-,,,--,,,,-,,,--,,,-,,,,--,,,--,,,--,,,,-,,,--,,,,-,,,--,,,-,,,,--,,,--,,,--,,,,-,,,--,,,,-,,,--,,,-,,,,--,,,--,,,--,,,,-,,,--,,,,-,,,--,,,-,,,,--,,,--,,,--,,,,-,,,--,,,,--,,---,,---,,--------,----,,---,,---,,---,,---,,---,,--------,----,,---,,---,,---,,---,,---,,--------,----,,---,,---,,---,,---,,---,,--------,----,,---,,---,,---,,---,,---,,--------,----,,---,,---,,---,,---,,---,,--------,----,,---,,---,,---,,---,,---,,--------,----,,---,,---,,---,,---,,---,,-----------,------,--------,------,--------,--------,,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-------------------,---,,--------------,-------------------,---,,--------------,-------------------,---,,--------------,-------------------,---,,--------------,-------------------,---,,--------------,-------------------,---,,--------------,-------------------,---,,--------------,-----------,------,----------------------------------,-----,,,,,,,,-------------------,------------,,,,,,,,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.----------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,---,,---,---------------,----,---------,---,,---,---------------,----,---------,---,,---,---------------,----,---------,---,,---,---------------,----,---------,---,,---,---------------,----,---------,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----------------------------------------,,----,---------------------------------------,--------------------,,-------,----,-----,---,,---,,---,,----,,-------,----,-----,---,,---,,---,,----,,-------,----,-----,---,,---------,---,,---,---------------,----,---------,---,,---,---------------,----,---------,---,,---,---------------,----,---------,---,,---,---------------,----,---------,---,,---,---------------,----,---------,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,------------------------------,-----------------------------,---------,-----------------------------,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,---,---------,,---,,----,,--,----,----,,---,---------,,---,,----,,--,----,----,,---,---------,,---,,----,,--,----,----,,---,---------,,---,,----,,--,----,----,,---,---------,,---,,----,,--,----,----,,---,---------,,---,,----,,--,----,----,,---,---------,,---,,----,,--,----,----,,---,--------,----------------------------------------------------------.---.-----------------------------------.---.-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,----,-----------------------------,----,----,-----------------------------,----,----,-----------------------------,----,----,-----------------------------,----,----,-----------------------------,----,----,-----------------------------,----,----,-----------------------------,----,----,------------------------------,-------------------,----,---,,---,,----,----,---,,---,,---,,---,,---,,---,,----------------------,---------------------------------------,---------------------------------------,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,---,--------,,---,,---,,--------------,,---,--------,,---,,---,,--------------,,---,--------,,---,,---,,--------------,,---,--------,,---,,---,,--------------,,---,--------,,---,,---,,--------------,,---,--------,,---,,---,,--------------,,---,--------,,---,,---,,--------------,,---,--------------------------------------------------------------------------------,----,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-------------------,----,----,----,----,----,----,---,,----,----,----,----,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---,,,---------------------------------,---,,,---------------------------------,---,,,---------------------------------,---,,,---------------------------------,---,,,---------------------------------,---,,,---------------------------------,---,,,--------------------------------------------,,---,---,,,--,,----,,--,,,--,,,--,,,---,,---,,--,,,--,,---,,,--,,,--,,,--,,,--,,---,,---,,,--,,,---,------------------,,---,,---,,,--,,,---,------------------,,---,,---,,,--,,,---,,----,--,,,,,,,,--------,,,,,,,,--,----,,,-,,,,-,,,,,,,,--------,,,,,,,,--,----,,,-,,,,-,,,,,,,,--------,,,,,,,,--,----,,,-,,,,-,,,,,,,,--------,,,,,,,,--,----,,,-,,,,-,,,,,,,,--------,,,,,,,,--,----,,,-,,,,-,,,,,,,,----------,,------,,-,------,---,,--,,,-----------,,------,,-,------,---,,--,,,-----------,,------,,-,------,---,,--,,,-----------,,------,,-,------,---,,--,,,-----------,,------,,-,------,---,,--,,,-----------,,------,,-,------,---,,--,,,-----------,,------,,-,------,---,,--,,,-----------,,-----------,-------------------,----,----,----,----,----,,---,----,,---,----,----,,--,,----,----,----,----,,--------,----,----,----,------------------------,----,----,----,------------------------,----,----,----,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,--------------------------------------,,,--,,-----,,,,---,,,-----------------,----,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.-----------------.----.----------------.-----------------.----.----------------.-----------------.----.----------------.-----------------.----.----------------.-----------------.----.----------------.-----------------.----.----------------.-----------------.----.----------------.------------------------------------------------------------,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,--,,----,,------------------------,----,--,,----,,------------------------,----,--,,----,,------------------------,----,--,,----,,------------------------,----,--,,----,,-------------------------------,------------------------,---,,---------,------------------------,---,,---------,------------------------,---,,---------,------------------------,---,,---------,------------------------,---,,---------,------------------------,---,,---------,------------------------,---,,---------,----------------------------------------------------------------------------------------------------------------------------------------,---,,----,-----------------------------,---,,----,-----------------------------,---------------,----,--,------,------------------------,----,--,------,------------------------,----,--,------,------------------------,----,--,------,------------------------,----,--,------,--------------------------------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,-----------------------,--,,----------------------,----,----,----,--------------------------------------------------------------------------------,---,,----,-----------------------------,---,,----,-----------------------------,---------------,----,-----------------------,----------,----,-----------------------,----------,----,-----------------------,----------,----,-----------------------,----------,----,-----------------------,------------------,------,--,,---,----------,----,--------,------,--,,---,----------,----,--------,------,--,,---,----------,----,--------,------,--,,---,----------,----,--------,------,--,,---,----------,----,--------,------,--,,---,----------,----,--------,------,--,,---,----------,----,--------,------,-------------------------------------,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,--,------,--------,---,,,---------,----,--,------,--------,---,,,---------,----,--,------,--------,---,,,---------,----,--,------,--------,---,,,---------,----,--,------,--------,---,,,-------------,,--,,----,,------------------,,---,----,,--,,----,,------------------,,---,----,,--,,----,,------------------,,---,----,,--,,----,,------------------,,---,----,,--,,----,,------------------,,---,----,,--,,----,,------------------,,---,----,,--,,----,,------------------,,---,----,,--,,----,,------------------,,---,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,----,,--------,---,,------------------,,----,,--------,---,,------------------,,----,,--------,---,,------------------,,----,,--------,---,,------------------,,----,,--------,---,,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-----------,,--,,,--,,,--,,---,-----------------------------------------------------------,,-----------------------------------------------------------------------------------------------------------------------,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,----,,--,----,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,------,-----------------,,-------------,------,--,----,-----------------------------,----,----,-----------------------------,----,----,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,------,--,,---,,---,,----,--------,,---,------,--,----,-----------------------------,----,----,-----------------------------,----,----,-------------------,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,-----------------------------,---------,---,,,--,,----,,--,,,,,,,,-------------,---,,,--,,----,,--,,,,,,,,-------------,---,,,--,,----,,--,,,,,,,,-------------,---,,,--,,----,,--,,,,,,,,-------------,---,,,--,,----,,--,,,,,,,,-------------,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,--------------,----------------------------------------,,----,,------------------,-------------,,----,,------------------------------------------------------------------------------------------------------------------------------------,,--------------------------------------,,--------------------------------------,,--------------------------------------,,--------------------------------------,,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----------------------------------------,,,--,,,-----------------,,--------,,---,,,--,,,-------------,----,----------------------------------,----,----------------------------------,----,-----------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,----------,----------------------------------------------------------------.---------------------------,--------,----,----,--------------------,--------,----,----,--------------------,--------,----,----,----,-----,,---,--------,----,,---,----,----------,,---,--------,----,,---,----,----------,,---,--------,----,,---,----,----------,,---,--------,----,,---,----,----------,,---,--------,----,,---,----,----------,,---,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,-------------------,-------------------------------------------,,,---,--------,,,,,,,,----------------------------------------------------------------------------------------------------------------------------------,,---,------------------------,----,----,,---,------------------------,----,----,,---,------------------------,----,----,,---,------------------------,----,----,,---,------------------------,----,----,,---,--,,---,-------------,--------------------,,---,-------------,--------------------,,---,-------------,--------------------,,---,-------------,--------------------,,---,-------------,--------------------,,---,-------------,--------------------,,---,-------------,--------------------,,---,--------,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,-----------,,,---,--------,,---,,-------------,,---,,,---,--------,,---,,-------------,,---,,,---,--------,,---,,-------------,,---,,,---,--------,,---,,-------------,,---,,,---,--------,,---,,-------------,,---,,,---,--------,,---,,-------------,,---,,,---,--------,,---,,-------------,,---,,,---,--------,-----------------------------------------------------------------------,,,,,,,,--------,---,,,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----------------------------------------------------,--,,,,,-,,--,,---,,,,,,,,,--------,,--,,,-,,,,,-,,--------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,----,,---,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----------------------------------------------------,----------------------------------------------------------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,----,,---,--------,----,----------------------------,----,,----,----------------------------,----,,----,----------------------------,----,,----,----------------------------,----,,----,----------------------------,----,,----,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,-------------------------,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,---,---,,----,,,--,,,---,,--,,--,,,,-,,,---,---,,----,,,--,,,---,,--,,--,,,,-,,,---,---,,----,,,--,,,---,,--,,--,,,,-,,,---,---,,----,,,--,,,---,,--,,--,,,,-,,,---,---,,----,,,--,,,---,,--,,--,,,,-,,,---,---,,----,,,--,,,---,,--,,--,,,,-,,,---,---,,----,,,--,,,---,,--,,--,,,,-,,,---,---,,-----,----,--------------------------------------------,---,,,--,,,---,,---,,----,,-,,,---,---,,---,,,--,,,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,-------------------,---,--,,,,--------------,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-------------------,,---------------,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---,,,--,,,--,,,--,,,---,,,-,,,---,,--,,,--,,,--,,,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---,,---------------------,,---,----,----,---------,-------------------,---------,----,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,--,------------------,----,-------------------,-------------------,---------,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,-------------------,--------------,----,----,----,,---,----,-------------------------------------------------------------------------------------------------------------------------------------------,------,--------------------------------,------,--------------------------------,------,--------------------------------,------,--------------------------------,------,------------------------,---,,------------------,---,,----------,---,,------------------,---,,----------,---,,------------------,---,,----------,---,,------------------,---,,----------,---,,------------------,---,,----------,---,,------------------,---,,----------,---,,------------------,---,,----------,---,,--------------------------,,,,,,,,---,,---,,--,,,--,,,---,----,--------------,----,----,----,,---,----,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---,,-------------------,----,-,--,,--,----------,----,---------,----,----,------------------------,---,,,--,,,---,------------------------,---,,,--,,,---,--------------------,---,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,----,,---,---,,-------------------,----,---,,,--,----------------,--,,,--,,,--,,,--,,,--,----------------,--,,,--,,,--,,,--,,,--,----------------,,,,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-----------------------------------------------------------,,---,----,----------,----,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-----------------------------------------------------------,,---,---,,----,----,-------------------------------------------------------------------------------------------------------------------------------,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,-------------------------------------------------------------------..--------------------------------------..------,----,---,,----,,---,----,----,----,----,----,---,,----,,---,----,----,----,----,----,---,,----,,---,----,---,------,--,,----,---,,----,,---,--------,------,--,,----,---,,----,,---,--------,------,--,,----,---,,----,,---,--------,------,--,,----,---,,----,,---,--------,------,--,,----,---,,----,,---,--------,------,--,----,----------,,---,------------------,----,----------,,---,------------------,----,----------,,---,------------------,----,----------,,---,------------------,----,----------,,---,------------------,----,----------,,---,------------------,----,----------,,---,------------------,----,--------------------------,----,-----------------------------------------------------------------------------------,----,---,,----,,---,----,----,----,----,----,---,,----,,---,----,----,----,----,----,---,,----,,---,----,---,,----,,--,,---,,---,,,--,,,---,,---,,,-,,----,,--,,---,,---,,,--,,,---,,---,,,-,,----,,--,,---,,---,,,--,,,---,,---,,,-,,----,,--,,---,,---,,,--,,,---,,---,,,-,,----,,--,,---,,---,,,--,,,---,,---,,,-,,----,,--------,---,,,---,----,------------------------,---,,,---,----,------------------------,---,,,---,----,------------------------,---,,,---,----,------------------------,---,,,---,----,------------------------,---,,,---,----,------------------------,---,,,---,----,------------------------,---,,,----,,,--,,----------------------,---,,----,,---,------------------------,----,----,,---,----------------,,------,------,--,----,-----------,,---,,------,------,--,----,-----------,,---,,------,------,--,----,,-------,---,,----,,---,,---,,---,,---,,---,,---,---,,----,,---,,---,,---,,---,,---,,---,---,,----,,---,,---,,---,,---,,---,,---,---,,----,,---,,---,,---,,---,,---,,---,---,,----,,---,,---,,---,,---,,---,,---,---,,--.---------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.-------------------------------------------------------------------------------------------------,----,----------------------------------------------------------------------------------------------------------------------------------------------------,--------------,,-----------------------,--------------,,-----------------------,--------------,,-----------------------,--------------,,-----------------------,--------------,,------------,,---,,---------,---,,---------,----,---,,---,,---------,---,,---------,----,---,,---,,---------,---,,---------,----,---,,---,,---------,---,,---------,----,---,,---,,---------,---,,---------,----,---,,---,,---------,---,,---------,----,---,,---,,---------,---,,---------,----,---,,---,,--------,,------------------------------,----,----,----,------------------------,----,----,-------------------------------------------------------------------------------------------------------------------------------------,----,----,----,---,,---,,---,,----,----,----,----,----,---,,---,,---,,----,----,----,----,----,---,,---,,---,,----,----,----,----,----,---,,---,,---,,----,----,----,----,----,---,,---,,---,,----,----,----,-----------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,----------------------------------,,------------------------------,----,----,----,------------------------,---,,------------------------------------------------------------------------------------------------------------------------------------------,----,----,----,---,,---,,---,,---,,----,----,----,----,---,,---,,---,,---,,----,----,----,----,---,,---,,---,,---,,----,----,----,----,---,,---,,---,,---,,----,----,----,----,---,,---,,---,,---,,----,----,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,----------------------------------,----,----------------------------------,----,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,--------------------------------------------------------------------------------------------------------------------------------------------,,--,,---,,----,,,--,,,---,,,-,,,--,,,--,,--,,---,,----,,,--,,,---,,,-,,,--,,,--,,--,,---,,----,,,--,,---------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,--,--------------------------------------------------------------------------------------------,----------------,----,--,,----,,-------,----------------,----,--,,----,,-------,----------------,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-----------------------------,----,----,-----------------------------,----,----,-----------------------------,----,----,-----------------------------,----,----,-----------------------------,----,----,-----------------------------,----,----,-----------------------------,----,----,--------------,,------------,-----------------,,,--,,,---,,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,----,,,,,,----,,---,,--,,,--,-----,--,,,----,,,,,,----,,---,,--,,,--,-----,--,,,----,,,,,,----,,---,,--,,,--,-----,--,,,----,,,,,,----,,---,,--,,,--,-----,--,,,----,,,,,,----,,---,,--,,,--,-----,--,,,----,,,,,,----,,---,,--,,,--,-----,--,,,----,,,,,,----,,---,,--,,,--,-----,--,,,----,,,,,,----------------,------------------------,----,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,------,---,-,---,,---,----,------------,------,---,-,---,,---,----,------------,------,---,-,---,,---,----,------------,------,---,-,---,,---,----,------------,------,---,-,---,,---,----,------------,-----------.----------,,---------------------------.----------,,---------------------------.----------,,---------------------------.----------,,---------------------------.----------,,---------------------------.----------,,---------------------------.----------,,---------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,---,--,,,-,-,,---,-,---,,,-,------,--,,,---,--,,,-,-,,---,-,---,,,-,------,--,,,---,--,,,-,-,,---,-,---,,,-,------,--,,,---,--,,,-,-,,---,-,---,,,-,------,--,,,---,--,,,-,-,,---,-,---,,,-,------,--,,,---,,,,,,,,-,,,,,,,,--,,,--,,,,,,,,--------,,,,,,,,-,,,,,,,,--,,,--,,,,,,,,--------,,,,,,,,-,,,,,,,,--,,,--,,,,,,,,--------,,,,,,,,-,,,,,,,,--,,,--,,,,,,,,--------,,,,,,,,-,,,,,,,,--,,,--,,,,,,,,--------,,,,,,,,-,,,,,,,,--,,,--,,,,,,,,--------,,,,,,,,-,,,,,,,,--,,,--,,,,,,,,--------,,,,,,,,-,,,,,,,-----------------------------------------------------------------------------,---------------------------------------------------------------------------------------------------------------------------------------,----,,---,,---,-----,-------------,-----,,--,,---,,---,-----,-------------,-----,,--,,---,,---,-----,-------------,-----,,--,,---,,---,-----,-------------,-----,,--,,---,,---,-----,-------------,-----,,--,,---,--------.-,---------,-------------,,------------.-,---------,-------------,,------------.-,---------,-------------,,------------.-,---------,-------------,,------------.-,---------,-------------,,------------.-,---------,-------------,,------------.-,---------,-------------,,------------.-,------------------------------------------,---------------------------------------,---------------------------------------------------------------------------------------------------------------------------------------,----,,---,---------,,---,,--------,---------,,---,---------,,---,,--------,---------,,---,---------,,---,,--------,---------,,---,---------,,---,,--------,---------,,---,---------,,---,,--------,---------,,---,--..----.---..----------------------------..----.---..----------------------------..----.---..----------------------------..----.---..----------------------------..----.---..----------------------------..----.---..----------------------------..----.---..----------------------------..----.---..--,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,----,,--,,-----,-------,----,,----,----,----,,--,,-----,-------,----,,----,----,----,,--,,-----,-------,----,,----,----,----,,--,,-----,-------,----,,----,----,----,,--,,-----,-------,----,,----,----,----,,---,,,--,,---,,---------,,--,,---------,---,,,--,,---,,---------,,--,,---------,---,,,--,,---,,---------,,--,,---------,---,,,--,,---,,---------,,--,,---------,---,,,--,,---,,---------,,--,,---------,---,,,--,,---,,---------,,--,,---------,---,,,--,,---,,---------,,--,,---------,---,,,--,,---,,,-------,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,--,,---,,,,,,,--,-----,---,,,--,,,---,,,--,,---,,,,,,,--,-----,---,,,--,,,---,,,--,,---,,,,,,,--,-----,---,,,--,,,---,,,--,,---,,,,,,,--,-----,---,,,--,,,---,,,--,,---,,,,,,,--,-----,---,,,--,,,---,,,--,,---,,--.----.----.-----,,-----------.----------.----.----.-----,,-----------.----------.----.----.-----,,-----------.----------.----.----.-----,,-----------.----------.----.----.-----,,-----------.----------.----.----.-----,,-----------.----------.----.----.-----,,-----------.----------.----.----.--------,--,,--,,----,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---,,,-,,,,--,,,-,,,--,,,,,,,,--,,,--,,,,-,,,,-,,,,--,,,-,,,--,,,,,,,,--,,,--,,,,-,,,,-,,,,--,,,-,,,--,,,,,,,,--,,,--,,,,-,,,,-,,,,--,,,-,,,--,,,,,,,,--,,,--,,,,-,,,,-,,,,--,,,-,,,--,,,,,,,,--,,,--,,,,-,,,,-,,,,--,,,,-,,,,-,,,--,,,--,,,--,,,--,,,-,,,,--,,,,-,,,,-,,,--,,,--,,,--,,,--,,,-,,,,--,,,,-,,,,-,,,--,,,--,,,--,,,--,,,-,,,,--,,,,-,,,,-,,,--,,,--,,,--,,,--,,,-,,,,--,,,,-,,,,-,,,--,,,--,,,--,,,--,,,-,,,,--,,,,-,,,,-,,,--,,,--,,,--,,,--,,,-,,,,--,,,,-,,,,-,,,--,,,--,,,--,,,--,,,-,,,,--,,,,-,,,,-,,,--,,,-------------------.---.------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.----.----------------------------------.----.----------------------------------.----.----------------------------------.----.----------------------------------.----.----------------------------------.----.----------------------------------.----.------------------------------------,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,-------------------------------------.-,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,--------------------------------------,,--,,---------,---,,,--,,,---,---------,,--,,---,----,------------------------,----,----,----,------------------------,----,----,----,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,--------,,--,,,------------------------------------------------------,----,-----------------------,,---,---------,,--,,---------,---,,----,,---,---------,,--,,---------,---,,----,,---,---------,,--,,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,--------,---,,,-----------------------------------------------------------------------------------,,---,------------------------,---,,----,,---,------------------------,---,,----,,---,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,--------,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,---------,,--,,-------------------,----,---------,,--,,-------------------,----,---------,,--,,-------------------,----,---------,,--,,-------------------,----,---------,,--,,-------------------,----,---------,,--,,-------------------,----,---------,,--,,-------------------,----,--------,,----------------,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,,,,,,--------,,,,,,,,,,,,,,,,--------,,,,,,,,--------,,,,,,,,,,,,,,,,--------,,,,,,,,--------,,,,,,,,,,,,,,,,--------,,,,,,,,--------,,,,,,,,,,,,,,,,--------,,,,,,,,--------,,,,,,,,,,,,,,,,--------,,,,,,,,--------,,,,,,,,,,,,,,,,--------,,,,,,,,--------,,,,,,,,,,,,,,,,--------,,,,,,,,-------.,---------,--------,,---,---,,----,,---,,---,,,,--,,----,,,,,,,,,,---,,,-,,,--,,,,,,,,,,--,,----,,--,,,--,,,--,,,---,,--,,,,,,,,--------,,--,,,--,,,--,,,---,,--,,,,,,,,--------,,--,,,--,,,--,,,---,,--,,-----.-----,---------------,-----------------------,---------------,-----------------------,---------------,-----------------------,---------------,-----------------------,---------------,-----------------------,----------,----,,------------------,,----,--------,----,,------------------,,----,--------,----,,------------------,,----,--------,----,,------------------,,----,--------,----,,------------------,,----,--------,----,,------------------,,----,--------,----,,------------------,,----,--------,----,,--------.,-----------------,,,--,,,-,,,,--,,,,-,,---,,,----,--------,,------------,,,---,---,------,---------------,---------------------------------------,---------------------------------------,---------------------,---,,----------,---,,-------------,,---,---,,----------,---,,-------------,,---,---,,----------,---,,-------------,,---,---,,----------,---,,-------------,,---,---,,----------,---,,-------------,,---,---,,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,,--,,,--,,,--,,---,,--------------,-----------------------,------------------------------------------------------------------------------------------------------------------------------------------------------------,------,--------------------------------,------,--------------------------------,------,--------------------------------,------,--------------------------------,------,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----------------------------.-------------------------.-----------,--------,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,-----------------------------------------------------------------,---,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,--------------------------.------------------------------.--------.------------------------------.--------.------------------------------.--------.------------------------------.--------.------------------------------.--------.------------------------------.--------.------------------------------.--------.-------,,------------------------------------------------------------------------------------------,--------------------------------------------------------------------------------------------------------------------------,----------,,---,---------,,--,,-,------,----------,,---,---------,,--,,-,------,----------,,---,---------,,--,,-,------,----------,,---,---------,,--,,-,------,----------,,---,---------,,--,,-,------,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----------,-------------------------,----,--------------,----,,--------,---,,,---------,--,,,---,----,,----------------------------------------------------------------------------------------------------------------,---,,---,,,---,,---,,---,,--,,----,,---,---,,---,,,---,,---,,---,,--,,----,,---,---,,---,,,---,,---,,---,,--,,----,,---,---,,---,,,---,,---,,---,,--,,----,,---,---,,---,,,---,,---,,---,,--,,----,,---,---,,----------,---------------,----,---------,--------,---------------,----,---------,--------,---------------,----,---------,--------,---------------,----,---------,--------,---------------,----,---------,--------,---------------,----,---------,--------,---------------,----,---------,--------,------------,----,,---------,-----,----,---,,----,,---,----,---,,,---,,---,,---,---------,----,--------,,,---,,---------------------------------------------------------------------------------------------------------------------,----,,---,-----,----,------------------,----,,---,-----,----,------------------,----,,---,-----,----,------------------,----,,---,-----,----,------------------,----,,---,-----,----,------------------,----------,------------------------------,--------,------------------------------,--------,------------------------------,--------,------------------------------,--------,------------------------------,--------,------------------------------,--------,------------------------------,--------,-------------------------,----,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,--,,---,,,,,,,,,,,-,,,---,,,,,--,,,---,,,-,,---,,,,,,,,,,,-,,,---,,,,,--,,,---,,,-,,---,,,,,,,,,,,-,,,---,,,,,--,,,---,,,-,,---,,,,,,,,,,,-,,,---,,,,,--,,,---,,,-,,---,,,,,,,,,,,-,,,---,,,,,--,,,---,,,-,,---,,,--,----,------------------,,----,---,,----,----,------------------,,----,---,,----,----,------------------,,----,---,,----,----,------------------,,----,---,,----,----,------------------,,----,---,,----,----,------------------,,----,---,,----,----,------------------,,----,---,,----,----,---------,,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,------------------------,,-------------------------------------------------------------------------------------------------------------,---,,----,----------,--,,----,,--------,---,,----,----------,--,,----,,--------,---,,----,---------,,,--,,,--,,--,,,,--,,,,--,,---,,,--,,,,,,,,-,,,--,,--,,,,--,,,,--,,---,,,--,,,,,,,,-,,,--,,--,,,,--,,,,--,,---,,,--,,,,,,,,-,,,--,,--,,,,--,,,,--,,---,,,--,,,,,,,,-,,,--,,--,,,,--,,,,--,,---,,,--,,,,,,,,-,,,--,,,------------------------------,--------,------------------------------,--------,------------------------------,--------,------------------------------,--------,------------------------------,--------,------------------------------,--------,------------------------------,--------,---------------------------------,----,----------------,-----------------------------------------------------------------,-----,----,------------------,,----,,--,-----,----,------------------,,----,,--,-----,----,--------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--,,,,-,,,---,,---,,,-,,,---,,---,,---,,--,,,,-,,,---,,---,,,-,,,---,,---,,---,,--,,,,-,,,---,,---,,,-,,,---,,---,,---,,--,,,,-,,,---,,---,,,-,,,---,,---,,---,,--,,,,-,,,---,,---,,,-,,,---,,---,,---,,--,,,,-,,,---,,---,,,-,,,---,,---,,---,,--,,,,-,,,---,,---,,,-,,,---,,---,,---,,--,,,,-,,,---,------------------------------------------------------------------,--------------------------------------------------------------------------------------------------------------------------------------------------,,,,---,,--,,----,,---,,,--,----,,---------,---,,--,,----,,---,,,--,----,,---------,---,,--,,----,,---,,,--,----,,---------,---,,--,,----,,---,,,--,----,,---------,---,,--,,----,,---,,,--,----,,---------,---,,--,,---,,---,,---,,---,,--,,,---,,---,----,,---,,---,,---,,---,,--,,,---,,---,----,,---,,---,,---,,---,,--,,,---,,---,----,,---,,---,,---,,---,,--,,,---,,---,----,,---,,---,,---,,---,,--,,,---,,---,----,,---,,---,,---,,---,,--,,,---,,---,----,,---,,---,,---,,---,,--,,,---,,---,----,,---,,---,,---,-,,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.--,-.----------------------------------.--,-.----------------------------------.--,-.----------------------------------.--,-.----------------------------------.--,-.----------------------------------.--,-.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,-----------------------,,----,---,,---,,----,------,,----------------------------------------------------------,------------------------,,-------------,------------------------,,-------------,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,----,---,,----,----,---,,,,,,,--,,,-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--,,,-,,---,,,--,,---,,---,,----,,---,---,,---,,---,,,--,,---,,---,,----,,---,---,,---,,---,,,--,,---,,---,,--,,,,---,--,----,--------,---------------,----,----,----,--------,---------------,----,----,----,--------,---------------,----,----,----,--------,---------------,----,----,----,--------,---------------,----,----,----,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,,-,,,----------------------------------------------------------------------------------------------------------,-----------------------,---------------,-----------------------,---------------,------------,,-----------------------------,,---,,---------------------------------,,---,,---------------------------------,,---,,---------------------------------,,---,,---------------------------------,,---,,------------------,,----,----,----,--------,,---,---------,,----,----,----,--------,,---,---------,,----,----,----,--------,,---,---------,,----,----,----,--------,,---,---------,,----,----,----,--------,,---,---------,,----,----,----,--------,,---,---------,,----,----,----,--------,,---,---------,,----,----,--..-----------.--------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,----------,--------,,---,---------,----,----------,--------,,---,---------,----,----------,--------,,---,---------,----,----------,--------,,---,---------,----,----------,--------,,---,---------,----,----------,--------,,---,---------,----,----------,--------,,---,---------,----,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,--------,---------------,---------,----,--------,---------------,---------,----,--------,---------------,---------,----,--------,---------------,---------,----,--------,---------------,---------,----,----------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,-------------------------------------------,----,------------------------------------------------------------------,---,,-------------------,,,---,-----------------,,,---,---------,,,---,-----------------,,,---,---------,,,---,--------,---,,----,,---,--------,------------,--,---,-----,,---,--------,------------,--,---,-----,,---,--------,------------,--,---,-----,,---,--------,------------,--,---,-----,,---,--------,------------,--,---,-----,,---,--,,-------------,---,,-,--,,,--,---,,----,,-------------,---,,-,--,,,--,---,,----,,-------------,---,,-,--,,,--,---,,----,,-------------,---,,-,--,,,--,---,,----,,-------------,---,,-,--,,,--,---,,----,,-------------,---,,-,--,,,--,---,,----,,-------------,---,,-,--,,,--,---,,----,,------------------,,----,,--,---,,,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,----,,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,----,----,-------------,,--------,,----,----,----,-------------,,--------,,----,----,----,-------------,,--------,,----,----,----,-------------,,--------,,----,----,----,-------------,,--------,,----,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------..-,--.-,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,-----,,---,,,--,,,---,---,,,--,,,-,,,,--,,---,,---,,,--,,,---,---,,,--,,,-,,,,--,,---,,---,,,--,,,---,---,,,--,,,-,,,,--,,---,,---,,,--,,,---,---,,,--,,,-,,,,--,,---,,---,,,--,,,---,---,,,--,,,-,,,,--,,---,,---,,,-,--------------------,,----,---,----,,--,--------------------,,----,---,----,,--,--------------------,,----,---,----,,--,--------------------,,----,---,----,,--,--------------------,,----,---,----,,--,--------------------,,----,---,----,,--,--------------------,,----,---,----,,--,---------------,,--------------,----,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,--------------------,.-,,----,---------,--------------------,.-,,----,---------,--------------------,.-,,----,---------,--------------------,.-,,----,---------,--------------------,.-,,----,---------,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-----,---,,---------,--,,----,---------,-----,---,,---------,--,,----,---------,-----,---,,---------,--,,----,---------,-----,---,,---------,--,,----,---------,-----,---,,---------,--,,----,---------,---------------,---------------,-----------------------,---------------,-----------------------,---------------,-----------------------,---------------,-----------------------,---------------,-----------------------,---------------,-----------------------,---------------,-----------------------,---------,-----------------------------------------------------------------------------------------------------------,----,----,----,------------------------,----,----,----,------------------------,----,----,----,--------,,,,,,,,,,--,,,-,,,,,,,,--,,--------,,--,,,,,,,,,,--,,,-,,,,,,,,--,,--------,,--,,,,,,,,,,--,,,-,,,,,,,,--,,--------,,--,,,,,,,,,,--,,,-,,,,,,,,--,,--------,,--,,,,,,,,,,--,,,-,,,,,,,,--,,--------,,--,,,,,,,,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,----,,---,--------,----,----------,----,---------,---,,---,----,----------,----,---------,---,,---,----,----------,----,---------,---,,---,----,----------,----,---------,---,,---,----,----------,----,---------,---,,---,----,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-------------------------------------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--,,,---,----,,----,---,,,--,,--------,,--,,,---,----,,----,---,,,--,,--------,,--,,,---,----,,----,----------,---,,,---,----,--,,,---,---------------,---,,,---,----,--,,,---,---------------,---,,,---,----,--,,,---,---------------,---,,,---,----,--,,,---,---------------,---,,,---,----,--,,,---,---------------,---,,,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------,----,---,,,---,,---,,,--,,,--,,--,,,,------------------------------------------------------------,----,,----,----------------------------,----,,----,----------------------------,----,,----,--------------------,-------------,---,,---,,----,----------,-------------,---,,---,,----,----------,-------------,---,,---,,----,----------,-------------,---,,---,,----,----------,-------------,---,,---,,----,----------,,---,,---,,,-,---,,,---,----,----------,,---,,---,,,-,---,,,---,----,----------,,---,,---,,,-,---,,,---,----,----------,,---,,---,,,-,---,,,---,----,----------,,---,,---,,,-,---,,,---,----,----------,,---,,---,,,-,---,,,---,----,----------,,---,,---,,,-,---,,,---,----,----------,,---,,---,,,------------------------------------------------,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,--------------------------------------------,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,------------------------,,--------------------------------------------,---------,----,----------------------------------,----,-------------------------------------------------------------------------------------------------------------,,--,,----,,--,----,------------------------,,----,,--,----,------------------------,,----,,--,----,------------------------,,----,,--,----,------------------------,,----,,--,----,------------------------,,----,,--,-----------------------------,,---,,,--,-----------------------------,,---,,,--,-----------------------------,,---,,,--,-----------------------------,,---,,,--,-----------------------------,,---,,,--,-----------------------------,,---,,,--,-----------------------------,,---,,,--,---------------,-------------------------------------------------------------------------------,-----------------------------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,----,,---,----,,,-,,,,,,,,-,,,--,,,,,,,,,,,,,,,,,,,,--,,,-,,,,,,,,-,,,--,,,,,,,,,,,,,,,,,,,,--,,,-,,,,,,,,-,,,--,,,,,,,,,,,,,,,,,,,,--,,,-,,,,,,,,-,,,--,,,,,,,,,,,,,,,,,,,,--,,,-,,,,,,,,-,,,--,,,,,,,,,,,,,,,,,,,,--,,,-,,,,,,,,--,-----------------------------,---------,-----------------------------,---------,-----------------------------,---------,-----------------------------,---------,-----------------------------,---------,-----------------------------,---------,-----------------------------,---------,-----------------------------------------------------------------------------------------------,----------------------------------------------------------------------------------------------------------------------------------,,,---,,----,,,--,,,,,,,,,,--------,,--,,,----,,----,,,--,,,,,,,,,,--------,,--,,,----,,----,,,--,,,,,,,,,,--------,,--,,,----,,----,,,--,,,,,,,,,,--------,,--,,,----,,----,,,--,,,,,,,,,,--------,,--,,,----,,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,----------------------------------,----,--------------------------------------------------------------------------------------------------------------,,,---,,-----,----,---------------------------,,-----,----,---------------------------,,-----,----,---------------------------,,-----,----,---------------------------,,-----,----,---------------------------,,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,-----,---------,,---,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----------------------------,----------------------------------,,-----------------------,------------------.----------------,----------------------.----------------,----------------------.---------------------,-------------------,.---,----------------------------------,.---,----------------------------------,.---,----------------------------------,.---,----------------------------------,.---,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,,,,,,-------------------,-------------------,,-------------,,---,----,----,----,----,------------------------------------------------------------------------------------------------------------------------,--,,,---,,---,,----,-,,-,---,,----,---,,,-,,,---,,---,,----,-,,-,---,,----,---,,,-,,,---,,---,,----,-,,-,---,,----,---,,,-,,,---,,---,,----,-,,-,---,,----,---,,,-,,,---,,---,,----,-,,-,---,,----,---,,,-,,,---,,------------------,--------,,---,,---,,-------------------,--------,,---,,---,,-------------------,--------,,---,,---,,-------------------,--------,,---,,---,,-------------------,--------,,---,,---,,-------------------,--------,,---,,---,,-------------------,--------,,---,,---,,---------------------------------------------------------------------,---------------------------------------------------.-,-----------------------------,-------.-,-----------------------------,-------.-,--------------------------,---------,---,,----,--,-,---------,----,---------,---,,----,--,-,---------,----,---------,---,,----,--,-,---------,----,---------,---,,----,--,-,---------,----,---------,---,,----,--,-,---------,----,---------,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.-----------------------------------------------------,----,----------------------------------,----,--------------------------------------------------------------------------------------------------------------,------..-----------,.---,---------,-.--,------..-----------,.---,---------,-.--,------..-----------,.---,---------,-.--,------..-----------,.---,---------,-.--,------..-----------,.---,---------,-.--,------..----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-----------------------------------------------------,-,,,,,,,,,--,,--,------------------,,,--,,,,,,,,,-------------------------------------------------------------------------------------------------------------,---,,----,---------,----,---------,---,,,--,,----,---------,----,---------,---,,,--,,----,---------,----,---------,---,,,--,,----,---------,----,---------,---,,,--,,----,---------,----,---------,---,,,--,,----,------------------,--------,,---,,---,,-------------------,--------,,---,,---,,-------------------,--------,,---,,---,,-------------------,--------,,---,,---,,-------------------,--------,,---,,---,,-------------------,--------,,---,,---,,-------------------,--------,,---,,---,,---------------------------------------------------------------------------,--,--,--,,--,----------------,--,,,----,--,--,----,----------------------------------,----,----------------------------------,----,-----------------------,--,,,,--,,---,,----,--,-,---,,----,,--,,,-,,,,--,,---,,----,--,-,---,,----,,--,,,-,,,,--,,---,,----,--,-,---,,----,,--,,,-,,,,--,,---,,----,--,-,---,,----,,--,,,-,,,,--,,---,,----,--,-,---,,----,,--,,,-,,,,--,,-------------------------------------,,--------------------------------------,,--------------------------------------,,--------------------------------------,,--------------------------------------,,--------------------------------------,,--------------------------------------,,-------------------------------------------------,----------------------------------,,-----------------------,-----------,---------------------------------------,---------------------------------------,----------------------------,-------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,----------------------------,------------------,,,--,,,--,,,---,,---,---,,,--,,,---,,---,,--,,,--,,,--,----,----------------------------------,----,----------------------------------,----,---------------------,-------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,-------------------------------------------,--------,,---,,---,,-------------------,--------,,---,,---,,-------------------,--------,,---,,---,,-------------------,--------,,---,,---,,-------------------,--------,,---,,---,,-------------------,--------,,---,,---,,-------------------,--------,,---,,---,,-----------------,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-----,,,,--,,,-,,,,--,,--,,,,--,,-,,,,-,,,,,,,,,,--,,,-,,,,--,,--,,,,--,,-,,,,-,,,,,,,,,,--,,,-,,,,--,,--,,,,--,,-,,,,-,,,,,,,,,,--,,,-,,,,--,,--,,,,--,,-,,,,-,,,,,,,,,,--,,,-,,,,--,,--,,,,--,,-,,,,-,,,,,,,,,,--,,,-------------,,--------------------------------------,,--------------------------------------,,--------------------------------------,,--------------------------------------,,--------------------------------------,,--------------------------------------,,--------------------------------------,,--,-----------------------------------------------------------------------------------------------------------,-----------------------,---------------,-----------------------,---------------,-------------------,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,--,,,,,,,,--------,,,,,,,,--------,----,--,,,,,,,,--------,,,,,,,,--------,----,--,,,,,,,,--------,,,,,,,,--------,----,--,,,,,,,,--------,,,,,,,,--------,----,--,,,,,,,,--------,,,,,,,,--------,----,--,,,,,,,,--------,,,,,,,,--------,----,--,,,,,,,,--------,,,,,,,,--------,----,--,-----------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-----------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,,---,,---,,---,,,--,----,,---,,---,,---,,,--,,---,,---,,,--,----,,---,,---,,---,,,--,,---,,---,,,--,----,,---,,---,,---,,,--,,---,,---,,,--,----,,---,,---,,---,,,--,,---,,---,,,--,----,,---,,---,,---,,,--,,---,,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----------------------------------------------------------------------------------------------------------,,---,----,---,,,---,---,,---,,,--,,,---,,---,----,---,,,---,---,,---,,,--,,,---,,---,----,---,,,---,----,,---,,,-,,,----,,--,,--,,,--,,,---,,---,,---,,,-,,,----,,--,,--,,,--,,,---,,---,,---,,,-,,,----,,--,,--,,,--,,,---,,---,,---,,,-,,,----,,--,,--,,,--,,,---,,---,,---,,,-,,,----,,--,,--,,,--,,,---,,---,,---,,,-,,,----------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,-----,----------------------------------------------------------------------------------------------------------,------------------------,--------------,------------------------,--------------,--------------------------------------------,----,----,----,------------------------,----,----,----,------------------------,----,----,----,------------------------,----,----,----,------------------------,----,----,----,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,--------------------,------.------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------------------------------------------------------------------------,,,--,--------,,--,,,-,-------,,,--,,,--,,,--,--------,,--,,,-,-------,,,--,,,--,,,--,--------,,--,,,-,,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,----,,,,,-,,,--,,----------------------------------------.------------------------------.----------,,----,----,----,----,---,,,--,------,--,,----,----,----,----,---,,,--,------,--,,----,----,----,----,---,,,-,---------,,,---,-----,,-,,----,,-,,,---,---------,,,---,-----,,-,,----,,-,,,---,---------,,,---,-----,,-,,----,,-,,,---,---------,,,---,-----,,-,,----,,-,,,---,---------,,,---,-----,,-,,----,,-,,,---,----------,,,,--,---,,,-,,,--,,,-,,,---,--,----,--,,,,--,---,,,-,,,--,,,-,,,---,--,----,--,,,,--,---,,,-,,,--,,,-,,,---,--,----,--,,,,--,---,,,-,,,--,,,-,,,---,--,----,--,,,,--,---,,,-,,,--,,,-,,,---,--,----,--,,,,--,---,,,-,,,--,,,-,,,---,--,----,--,,,,--,---,,,-,,,--,,,-,,,---,--,----,--,,,,--,---,,,-------------------,----,----------------------------------------------------------------------------------,,---,,---,,,--,,,---,---,,,--,,----,,--,,---,,---,,,--,,,---,---,,,--,,----,,--,,---,,---,,,--,,,---,,---------,,---,---------,---,,-------------------,,---,---------,---,,-------------------,,---,---------,---,,-------------------,,---,---------,---,,-------------------,,---,---------,---,,-------------------,,---,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,----,----------,-------------,---,,----,----,----------,-------------,---,,----,----,----------,-------------,---,,----,----,----------,-------------,---,,----,----,----------,-------------,---,,----,----,------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,---------------------------,,,------------------------------------------------------------,------------------------------,----------------------------------------------------------------------------------------------------------------.----,,---,----------,----,--------,,---,---,,----,----------,----,--------,,---,---,,----,----------,----,--------,,---,---,,----,----------,----,--------,,---,---,,----,----------,----,--------,,---,---,,----,-----,,----,,-,,,---,---,,---,---,,,-,----,--,,----,,-,,,---,---,,---,---,,,-,----,--,,----,,-,,,---,---,,---,---,,,-,----,--,,----,,-,,,---,---,,---,---,,,-,----,--,,----,,-,,,---,---,,---,---,,,-,----,--,,----,,-,,,---,---,,---,---,,,-,----,--,,----,,-,,,---,---,,---,---,,,-,----,--,,----,,-,,,---,----------------------------------------------------------------,----,,------------------,,----,--------,---------,----------,---------,--------,---------,----------,---------,--------,---------,----------,---,,--,,---,,---,---------,,--------,,---,----,----,,---,---------,,--------,,---,----,----,,---,---------,,--------,,---,----,----,,---,---------,,--------,,---,----,----,,---,---------,,--------,,---,----,----,,---,----------,---------------,-----,----,------------,---------------,-----,----,------------,---------------,-----,----,------------,---------------,-----,----,------------,---------------,-----,----,------------,---------------,-----,----,------------,---------------,-----,----,------------,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,--,,,,-,,---------,,,-,,,---,,---,,--,,,--,,,,-,,---------,,,-,,,---,,---,,--,,,--,,,,-,,---------,,,-,,,---,,---,,--,,,--,,,,-,,---------,,,-,,,---,,---,,--,,,--,,,,-,,---------,,,-,,,---,,---,,--,,,--,,,,-,,--------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,,-,,,--,,--,,---,-,,--,,----,,---,,,,,,,,-,,,--,,--,,---,-,,--,,----,,---,,,,,,,,-,,,--,,--,,---,-,,--,,----,,---,,,,,,,,-,,,--,,--,,---,-,,--,,----,,---,,,,,,,,-,,,--,,--,,---,-,,--,,----,,---,,,,,,,,-,,,--,,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---,,----,----,------------------------,---,,----,----,------------------------,---,,----,----,------------------------,---,,----,----,------------------------,---,,----,----,------------------------,---,,----,----,------------------------,---,,----,----,-----------------------------------------------,--------,,---,,---------,,---,,---,,---,--------,----------,----,,---,,--------------,----------,----------------------------,----------,----------------------------,----------,-------------------------.----..---------------------------------.----..---------------------------------.----..---------------------------------.----..---------------------------------.----..---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,---------------------------------.--------------------------------------------------------------,-----,---,,---------,---,----,,--,,----,-----,---,,---------,---,----,,--,,----,-----,---,,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,-,,,---------------------------------.--------------------------------------------------------------,---------,---------,-------------------,---------,---------,-------------------,---------,---------,----,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,---,-----,--,,---,,,---,,---,,---,,---,,---,-----,--,,---,,,---,,---,,---,,---,,---,-----,--,,---,,,---,,---,,---,,---,,---,-----,--,,---,,,---,,---,,---,,---,,---,-----,--,,---,,,---,,---,,---,,---,,---,-----,--,,---,,,---,,---,,---,,---,,---,-----,--,,---,,,---,,---,,---,,---,,---,-----,-------,--------------------,,-------------,,----,--------------------------------------------------------------------------------------------------------------------------------------------------------------------,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,---,----,---,,---,,---,,,---,,--,,,--,,,---,----,---,,---,,---,,,---,,--,,,--,,,---,----,---,,---,,---,,,---,,--,,,--,,,---,----,---,,---,,---,,,---,,--,,,--,,,---,----,---,,---,,---,,,---,,--,,,--,,,---,----,---,,---,,---,,,---,,--,,,--,,,---,----,---,,---,,---,,,---,,--,,,--,,,---,----,-----------------------------,----,--------------------------,---------------------------------------,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-----,---,,----,-----------------------,-----,---,,----,-----------------------,-----,---,,----,-----------------------,-----,---,,----,-----------------------,-----,---,,----,-----------------------,-----,---,,----,-----------------------,-----,---,,----,---------------------------------,------------------------------------,------------------------,--------------,--------------,---------,----,,----,------,-----------,---------,----,,----,------,-----------,---------,----,,----,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,-------------------------------------------------,,----,---,,---,,---,,----,----,----,----,----,----,----,----,---,,----,----,----,-----,---,,---------,---,----,,--,,----,-----,---,,---------,---,----,,--,,----,-----,---,,---------,----------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,------------------,,,,--,,-,,,,,-,+,--,+----,---,,,-,,,,--,,,---,---,,---,,,--,,---,,,--,,,-,,,,-------------,------------.----.---------------------,------------.----.---------------------,--------------,---,---,,----,,---,,---,,,--,,----,---,,---,---,,----,,---,,---,,,--,,----,---,,---,---,,----,,---,,---,,,--,,----,---,,---,---,,----,,---,,---,,,--,,----,---,,---,---,,----,,---,,---,,,--,,----,---,,---,---,,----------,--------,-----,----,-------------------,--------,-----,----,-------------------,--------,-----,----,-------------------,--------,-----,----,-------------------,--------,-----,----,-------------------,--------,-----,----,-------------------,--------,-----,----,-------------------,----------------------------------------------------------------,,----,---,,-------------,----,---------,,----,--,,,--,----------,,---,,--,,,--,,,-,,,,--,,,--,----------,,---,,--,,,--,,,-,,,,--,,,--,----------,,---,----------,----,-------------,----------,------,--,----,-------------,----------,------,--,----,-------------,----------,------,--,----,-------------,----------,------,--,----,-------------,----------,------,--,----,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,---,----------,,---,--------,----,,---,,---,----------,,---,--------,----,,---,,---,----------,,---,------------------,,---,-----,--,,,,,,,,------------------,,---,-----,--,,,,,,,,------------------,,---,-----,--,,,,,,,,------------------,,---,-----,--,,,,,,,,------------------,,---,-----,--,,,,,,,,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,--------------------------------------------------------,----,--------------,-------------,,----,----,----,--------------,,---,-------------------,--------------,,---,-------------------,--------------,,---,---,,---,----,,---,,---,-----,------------------,----,,---,,---,-----,------------------,----,,---,,---,-----,------------------,----,,---,,---,-----,------------------,----,,---,,---,-----,------------------,----,,---------------------------------,------,--------------------------------,------,--------------------------------,------,--------------------------------,------,--------------------------------,------,--------------------------------,------,--------------------------------,------,----------------,-------------------------------------------------------,,---,,----,,---,----,----,----,---,,---,,---,,---------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,----,,---,---,,,---,,---,---,,,--------,,--,,,---,----,----,,---,---,,,--------,,--,,,---,----,----,,---,---,,,--------,,--,,,---,----,----,,---,---,,,--------,,--,,,---,----,----,,---,---,,,--------,,--,,,---,----,----,,---,---------------------------------,------,--------------------------------,------,--------------------------------,------,--------------------------------,------,--------------------------------,------,--------------------------------,------,--------------------------------,------,--------------------------------------------------------------------------------------------------------------------------------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,----,,---,---,,,---,,,---,---,,,--,,---,,--,,,---,,---,,-,-,,,---,---,,,--,,---,,--,,,---,,---,,-,-,,,---,---,,,--,,---,,--,,,---,,---,,-,-,,,---,---,,,--,,---,,--,,,---,,---,,-,-,,,---,---,,,--,,---,,--,,,---,,---,,-,-,,,---,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,----------------------------------,----,----------------------------------,----,----,,---,,,--,,,--,,,--,,---,,,--------,,--,,,,-,,,--,,,--,,,--,,---,,,--------,,--,,,,-,,,--,,,--,,,--,,---,,,--------,,--,,,,-,,,--,,,--,,,--,,---,,,--------,,--,,,,-,,,--,,,--,,,--,,---,,,--------,,--,,,,-,,,--,,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,------------------------------------------------------------------,,-----------------------,-------------------------------------------------------------------------------------------------------------------,---,,---,,---,,--,,,--,,,--,,,-,,,,,,,,,---,,,--,,---,,--,,,--,,,--,,,-,,,,,,,,,---,,,--,,---,,--,,,--,,,--,,,-,,,,,,,,,---,,,--,,---,,--,,,--,,,--,,,-,,,,,,,,,---,,,--,,---,,--,,,--,,,--,,,-,,,,,,,,,---,,,--,,---,,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,-----,-------------------------------------------------,,---,,----------------------------,----,,---,,------------------------,--,,,---,,---,,------------------------,--,,,---,,---,,------------------------,---,---,,--,,,--,,,---,--,,,,,---------,---,,--,,--,,,--,,,---,--,,,,,---------,---,,--,,--,,,--,,,---,--,,,,,---------,---,,--,,--,,,--,,,---,--,,,,,---------,---,,--,,--,,,--,,,---,--,,,,,---------,---,,--,,--,,,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,-------------------,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,,---,,----------------------------,----,,---,,----------------------------,----,,---,,----------------------------,----,,---,,----------------------------,----,,---,,----------------------------,----,,---,,----------------------------,----,,---,,----------------------------,----,,---,,--------------------------------------------------------------------------,---,,----,-------------------------------------------------------------------------------------------------------------------------------------,,,,,,,,--,,---,------------------------,,,,,,,,--,,---,------------------------,,,,,,,,--,,---,------------------------,,,,,,,,--,,---,------------------------,,,,,,,,--,,---,------------------------,,,,,,,,--,,---,----------------------------------,,---,----------------------------------,,---,----------------------------------,,---,----------------------------------,,---,----------------------------------,,---,----------------------------------,,---,----------------------------------,,---,--------------------------------------------------------------------------------,---,,----,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,---,--------,,,,,,,,--------,,----,,--,,---,--------,,,,,,,,--------,,----,,--,,---,--------,,,,,,,,--------,,----,,--,,---,--------,,,,,,,,--------,,----,,--,,---,--------,,,,,,,,--------,,----,,--,,---,--------,,,,,,,,--------,,----,,--,,---,--------,,,,,,,,--------,,----,,--,,---,--------,,,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,--,,---,--------------------------,----,--,,---,--------------------------,----,--,,---,--------------------------,----,--,,---,--------------------------,----,--,,---,--------------------------,----,--,,---,--------------------------,----,--,,---,--------------------------,----,--,,---,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,--,,---------------------------------,,,--,,---------------------------------,,,--,,---------------------------------,,,--,,---------------------------------,,,--,,------------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,,,,,,-,,,---,----------------,---,,--,,,,,,,,-,,,---,----------------,---,,--,,,,,,,,-,,,---,----------------,---,,--,,,,,,,,-,,,---,----------------,---,,--,,,,,,,,-,,,---,----------------,---,,--,,,,,,,,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,----------,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,,---,,---,,--,,,,,,,,--------,,--,,,---,,---,,---,,--,,,,,,,,--------,,--,,,---,,---,,---,,--,,,,,,,,--------,,--,,,---,,---,,---,,--,,,,,,,,--------,,--,,,---,,---,,---,,--,,,,,,,,--------,,--,,,---,,---,,---,,--,,,,,,,,--------,,--,,,---,,---,,---,,--,,,,,,,,--------,,--,,,---,,---,,---,,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,,,,,,-,,,---,,---,,,-,,,,,-,,,,-,,,,,,,,,,,,,-,,,---,,---,,,-,,,,,-,,,,-,,,,,,,,,,,,,-,,,---,,---,,,-,,,,,-,,,,-,,,,,,,,,,,,,-,,,---,,---,,,-,,,,,-,,,,-,,,,,,,,,,,,,-,,,---,,---,,,-,,,,,-,,,,-,,,,,,,,,,,,,--,,---,,---,,--,,,,,,,,,,,,,,,,,,--,,,---,,---,,---,,--,,,,,,,,,,,,,,,,,,--,,,---,,---,,---,,--,,,,,,,,,,,,,,,,,,--,,,---,,---,,---,,--,,,,,,,,,,,,,,,,,,--,,,---,,---,,---,,--,,,,,,,,,,,,,,,,,,--,,,---,,---,,---,,--,,,,,,,,,,,,,,,,,,--,,,---,,---,,---,,--,,,,,,,,,,,,,,,,,,--,,,---,,---,,---,,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,--,,,--,,----,---,,,--,,,---,,--,,,,,,,,--,,,--,,----,---,,,--,,,---,,--,,,,,,,,--,,,--,,----,---,,,--,,,---,,--,,,,,,,,--,,,--,,----,---,,,--,,,---,,--,,,,,,,,--,,,--,,----,---,,,--,,,---,,--,,,,,,,,--,,,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,--------------,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,---,---------------,,,,,,,,,----,----,----,------------------------------------------------------------------------------------------------------------------------------------------------------------------------,------,------------------,,----,---,,--,------,------------------,,----,---,,--,------,------------------,,----,---,,--,------,------------------,,----,---,,--,------,------------------,,----,---,,--,------,--------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,------------------------------------------------------------------.---------------------------------------.--------------------------------------------------------------------------------------------------------------------,------,-,,,---,----,,--,---,,,-,--,,--,,------,-,,,---,----,,--,---,,,-,--,,--,,------,-,,,---,----,,--,---,,,-,--,,--,,------,-,,,---,----,,--,---,,,-,--,,--,,------,-,,,---,----,,--,---,,,-,--,,--,,------,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,--,----,,----,,--------,---------,----,---,----,,-----------------------------------------------------------------------------------------------------------------,,----,,-,,,---,,--,,,,-,,---,,---,,---,,,----,,-,,,---,,--,,,,-,,---,,---,,---,,,----,,-,,,---,,--,,,,-,,---,,---,,---,,,----,,-,,,---,,--,,,,-,,---,,---,,---,,,----,,-,,,---,,--,,,,-,,---,,---,,---,,,----,,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,------,--------------------------------------------,,--,,,--,,,---,,----,---,,---,,----,---,,--,,,--,,,--------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,----,,---,--------,------,--------,---,,-------------,---,,------,--------,---,,-------------,---,,------,--------,---,,-------------,---,,------,--------,---,,-------------,---,,------,--------,---,,-------------,---,,------,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,---,,----,---,-----,---,,-.-------,---,,---,,----,--------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,----,,---,------------------------,---,,,---,,---,,---,-------------------,---,,,---,,---,,---,-------------------,---,,,---,,---,,---,-------------------,---,,,---,,---,,---,-------------------,---,,,---,,---,,---,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,--------------------------------------------,---,,----,-------------,----------,--------,,----,----------------------------------------------------------------------------------------------------------------,,----,,-,,,---,,,---,,,-,,,---,,---,,--,,----,,-,,,---,,,---,,,-,,,---,,---,,--,,----,,-,,,---,,,---,,,-,,,---,,---,,--,,----,,-,,,---,,,---,,,-,,,---,,---,,--,,----,,-,,,---,,,---,,,-,,,---,,---,,--,,----,,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,----,----,--------,,,--,,,------------------,----,--------,,,--,,,----------------------------------------------------------------------------------------------------------------,,,,,,,,-,,,---,,---------,,,,--,--,,--,,,,,,,,,-,,,---,,---------,,,,--,--,,--,,,,,,,,,-,,,---,,---------,,,,--,--,,--,,,,,,,,,-,,,---,,---------,,,,--,--,,--,,,,,,,,,-,,,---,,---------,,,,--,--,,--,,,,,,,,,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,--,,---------------------------------,----,---------,--------,,-----,--------,----,------------------------------------------------------------------------------------------------------------------------------------------,----,----,,---,------------------------,----,----,,---,------------------------,----,----,,---,------------------------,----,----,,---,------------------------,----,----,,---,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-..------,,----,,--,,,-------------------,,----,,--------------------------------------------------------------------------------------,---,,----------------------------------,---,,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,---,----------------------------------,,---,----------------------------------,,---,----------------------------------,,---,----------------------------------,,---,----------------------------------,,---,----------------------------------,,---,----------------------------------,,---,--------,,----------------------------------------.----------------------------------------------------------------------------------------------------------------------------------------------------------------------------,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,---------------------------,,-----,----,---------------------------,,-----,----,---------------------------,,-----,----,---------------------------,,-----,----,---------------------------,,-----,----,---------------------------,,-----,----,---------------------------,,-----,----,-------------------------,,,---,------------------------------------------------------------------------------------------------------------------,----,----------------------------------,----,-------------------------------,,----,----,----,-----,------------------,----,----,----,-----,------------------,----,----,----,-----,------------------,----,----,----,-----,------------------,----,----,----,-----,------------------,----,----,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,------------------------------------------------------------,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,---,------------------------,,,--,,,--,,---,------------------------,,,--,,,--,,---,------------------------,,,--,,,--,,---,------------------------,,,--,,,--,,---,------------------------,,,--,,,--,,---,------------------------,,,--,,,--,,---,------------------------,,,--,,,--,,---,-----------,,---------------------,,,,------------,----,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------.------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,------,--------------------------------,------,--------------------------------,------,--------------------------------,------,--------------------------------,------,--------------------------------,------,--------------------------------,------,----------------,,-----------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-..-----------,-------------------------------.--------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,---,,---,,---,,---,,,--,,--------,---,,----,,---,,---,,---,,,--,,--------,---,,----,,---,,---,,---,,,--,,--------,---,,----,,---,,---,,---,,,--,,--------,---,,----,,---,,---,,---,,,--,,--------,---,,----,,---,,---,,----------------------------------,---,,----------------------------------,---,,----------------------------------,---,,----------------------------------,---,,----------------------------------,---,,----------------------------------,---,,----------------------------------,---,,-----------------------,--,----,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,---,-----,----------------------------,,---,-----,----------------------------,,---,-----,----------------------------,,---,-----,----------------------------,,---,-----,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,------,--------------------------------,------,--------------------------------,------,--------------------------------,------,--------------------------------,------,--------------------------------,------,--------------------------------,------,--------------------------------,------,--------,--------------,----------------------------------------------------------------------------------------,---,,----------------------------------,---,,----------------------------------,---,,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-----------------------------------------------------------------------------------------------,---,,----------------------------------,---,,----------------------------------,---,,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,----------------,----,--------------------,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------------------------,,---,,---,,----,----,----------------,-,,,,-,,,,,,,,,,,,,,,,,,--,,,,-,,,,,,,,,-,,,,-,,,,,,,,,,,,,,,,,,--,,,,-,,,,,,,,,-,,,,-,,,,,,,,,,,,,,,,,,,-,,-----------------------------,,---,----------------------------------,,---,----------------------------------,,---,----------------------------------,,---,----------------------------------,,---,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.-----------,,--------------------------.-----------,,--------------------------.-----------,,--------------------------.-----------,,--------------------------.-----------,,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-----------------.-------,-------------,-----------------.-------,-------------,-----------------.-------,-------------,-----------------.-------,-------------,-----------------.-------,-------------,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------------------------------------------------------------------------------------------------------,,,--,,,--------------------------------,,,--,,,------------------------,,,,,--,-----,,--------,---,,,--,-----,,-------------,,--------,---,,,--,-----,,-------------,,--------,---,,,--,-----,,-------------,,--------,---,,,--,-----,,-------------,,--------,---,,,--,-----,,-------------,,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-------------------------,,---,,---,,-------------,,-----------,----,---,,,---,--,----,-------------------,,---,---,,----,,---,----,,-------------,,---,---,,----,,---,----,,-------------,,---,---,,----,,---,----------------------------,,--------------------------------------,,--------------------------------------,,--------------------------------------,,--------------------------------------,,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,--,,,--,,---,,,--,,,,,,,,--,,,---,---,,,--,,,--,,---,,,--,,,,,,,,--,,,---,---,,,--,,,--,,---,,,--,,,,,,,,--,,,---,---,,,--,,,--,,---,,,--,,,,,,,,--,,,---,---,,,--,,,--,,---,,,--,,,,,,,,--,,,---,---,,,--,,,--,,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.------------------------,,,---,,---,,,-,,,,,,,,---,,-------------------,----,----------------------------------------------------------------------------------------------------------------------------------,-.-,,---,,----,----,,-.,-------.-,,----,---,,---,,----,----,,-.,-------.-,,----,---,,---,,----,----,,-.,-------.-,,----,---,,---,,----,----,,-.,-------.-,,----,---,,---,,----,----,,-.,-------.-,,----,---,,---,,----,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,------,--------,,,,,,,,----------------,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,---------,,--,,--------,----------,----,---------,,--,,--------,----------,----,---------,,--,,--------,----------,----,---------,,--,,--------,----------,----,---------,,--,,--------,---------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,--------,---------------------------------------,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----,----,----,------------------------,----,----,----,------------------------,----,----,----,------------------------,----,----,----,------------------------,----,----,----,------------------------,----,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,--------------------------------------,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,,,,,,-,,,---,--,,,,---,,--,,-,--,,,,,,,,,,,,,-,,,---,--,,,,---,,--,,-,--,,,,,,,,,,,,,-,,,---,--,,,,---,,--,,-,--,,,,,,,,,,,,,-,,,---,--,,,,---,,--,,-,--,,,,,,,,,,,,,-,,,---,--,,,,---,,--,,-,--,,,,,,,,,,,,,-------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,------------------,,-------------------------,----,----,---,,----,---------,,--,,---,----,,---,,----,,---,---,,----,,--,,---------------------------,----------,----------------------------,----------,----------------------------------,,,,,,,,---------,,,,,,---------,,-,,,,,,,,,,,,,---------,,,,,,---------,,-,,,,,,,,,,,,,---------,,,,,,---------,,-,,,,,,,,,,,,,---------,,,,,,---------,,-,,,,,,,,,,,,,---------,,,,,,---------,,-,,,,,,,,,,,,,---------------------,---------------,-----------------------,---------------,-----------------------,---------------,-----------------------,---------------,-----------------------,---------------,-----------------------,---------------,-----------------------,---------------,--------------------------------------------,,----,---,,---,,----,------------------------,----,----,----,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-----,----,---------,-----------------------------,----,----,---,,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,--,,---,----,----------,,---,---,,----,,--,,-------------------,----,,---,,,--,,,---,------------------,----,,---,,,--,,,---,------------------,----,,-------,----,----,----,---------,,--,,---------,----,----,----,---------,,--,,---------,----,----,----,---------,,--,,---------,----,----,----,---------,,--,,---------,----,----,----,---------,,--,,---------,----,----,,--------------,----,-----,------------,,--------------,----,-----,------------,,--------------,----,-----,------------,,--------------,----,-----,------------,,--------------,----,-----,------------,,--------------,----,-----,------------,,--------------,----,-----,------------,,-----------------------------------------.-,------------------------------------------------------------------------------------------------,----,----,----,------------------------,----,----,----,----------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.---------------------------------------.-------------,------------------------------,--------,------------------------------,--------,------------------------------,--------,------------------------------,--------,------------------------------,--------,------------------------------,--------,------------------------------,--------,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---,,---,------,--,,---,,---,,----,--------,,---,------,--,,---,,---,,----,--------,,---,------,--,,---,,---,,----,--------,,---,------,--,,---,,---,,----,--------,,---,------,--,,---,,---,,----,--------,,---,---,,----,,---,,----,----,-------------,---,,----,,---,,----,----,-------------,---,,----,,---,,----,----,-------------,---,,----,,---,,----,----,-------------,---,,----,,---,,----,----,-------------,---,,----,,---,,----,----,-------------,---,,----,,---,,----,----,-------------,---,,----,,---,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,------,--,----,,----,------------------,------,--,----,,----,------------------,------,--,----,,----,------------------,------,--,----,,----,------------------,------,--,----,,----,------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,----------------------------------,----,-------------------------------------------------------------------------------------,,----,,--,,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,--------,,-,,,,,,-,,,,-,-,,--,,-,,,,,-,,--------,,,,,,,,----------------,,,,,,,,--------,,,,,,,,----------------,,,,,,,,--------,,,,,,,,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,---------------------------------------,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~}}}}}~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~}~~~~}~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~}}}~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~}}||}~~~~~~~}}}}|||}}~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~}~~~~~~~~~}~}}}}}}}}}}}}}}}}}~~~~}}~~~}}}}}}}}~~~~~}}}}}~~~}|||}~~~~}}}}}|||||||}}~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~}}}~~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~}}~~}}}}}}}}}}~~~~|||}}}}}|||||}~}}}||||||||||||}}~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~}}}}}}}}~~~}}}}}}}}}}}}}}}}}}}}|||||||||}}~~~}}}}}}}}}}||}}}}||||||||}}|||||}}}|||||||||||{||||~~~~~~~~~}~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~}}}}~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}~~~}||}||||}}}}}}}||||||||||||||}}~~~}|}}}}}}}}|||||||||||||||}||||||||||||||||||{{{|||~~~~~~~~~~~~~~~}}~~~~~~~~~~~~}}}}|}}~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}|}}~~~~~}}}}}~~~}}~~~}}}}}}}|}}}}}}}}}}}}}}}}~}}}|||||||}}}}}}}}}}}}}|||||||||||}}}~~}}|}}}}||||||||||||||||||||{|||||||||||||||{{{||~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~}}~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}~~}~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}|||||||||}}}}||||||||||||||||||||||}}}}||}}||||||||||||||||||||||||||||||||}}||||||||~~~~~~~~~~~~~}~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~}}}}~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}|||||||||||||||||||||||||||||||||||||||}||||||||||||||||||||||||||||||||||||}}}||||||||~~~~~~~~~~~~~~}~~~~}}}}}~~~~}}}}}|}}}~~~~}}~~~~~~~~~~}}}}~}}|}}~~~~~~}}}~~}}}}}}}}}}}}}}}}}~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}||||}}}}}|||||}}}}}|||||||||}|}}}|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{{{{~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}|||}}}}}}}}}}|||}}}}~}}}}}}}}~~~~~}}}}}|||}~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}|||||}}|||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||{{{||{{{{||||||||||||||||||||||{{zzz{~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~}}}|||||}}}}}}}}}||||}}}}|}}}}}}}~~}}}}}}}||||}}}~~~~~}}}||}}}}}}}}||||||||||}}}}||||||||||||||||}}}}}}}}||||||||||||||||||||||||{{||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||{||||{{{{{{{{{{{{{{|||||||||||||||||||{{{zzzzz~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~}}}~~~}}}|||||}}}}}}}}}||||||||||||||||||||||||||||||||}}}}}||||||}}~~~}}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{{|||{{{{{{{{{{{{{{{||||||||||||||||||{{{zz{{{~~~~~~~~~~}~~~~}}}~}~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~}}}~~~~~~}}}}}~~~~}|}~~~}}}|||||}}}}}}}}}|||||||||||||||||||||||||||||||||||||||||||}}~~~}|||||||||||||||||||||||||||||||||||||||{|||}|||||||||||}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{{{||||{||||{{{{{{{{{{{{{{{|||||||||{||||||||{{{{{{||~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~}}}|||}}||||||}}}~}}}||||||}}}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{{|||||||||||||||||||||||||||||||||||||}}}|||{||||||||||||||||||||||||||||||||{{{||||||||||||{{|||||||||||||zzzz{|{|||||||||||{{{{{{{{{{{{zzz{{{||||||||{{{{{{{{{{~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~}}}}~~~~~}}}}}}}}}}}}}}}~~}}|||||||||||||}}}}}|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{{|||||{{||||||||||||||||||||||||{z{{||{{{||||||{{{|||||||||||{zzzz{{{{{|||||{{{{{{{{{{{{{{{{zzz{{{{{||||{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~}}}~}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~}}}}}}}~}}}}}}}}}}|||||||||||||||||||||||||||||||||||||{{||||||{{{{{||||||||||||||||||||||||||||||||||||||||||||{{{{{|||||||||||||||||||||||||||||||||||||||||{|{{{{{||||{{{|||||||||||||||||||{{{{zzz{{{{{{{||||{{{{{|{{{{{{{{{zzzzzzz{{{{{{{{{{{{{{zzzzzzzzzzyzzz{{{{{{{{{{{zzzzzz{{{~~~~~~~~~~~~~~~~~~~~~~~~~}|}}}}}~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|||}}}}}}}}||||||||||||||||||||||||||||||||||||||||zzz{{{{|{{{{{|||||||||||||||||||||||||||||||||||||||||||{{zzz{||||||||||||||||||||||||||||||||||||||{{{{{{{{{{{{|{zz{{|{||||||||{{{{{{{{zz{zyyzz{{{{{{{{{{{zzz{{zzzzzzzzzzzzzzyyzzzzzzzzzz{{zzzzzzzzzzzzyyzzzz{{zzzzzzzzzzzzzzzz~~}}}~~~~~~~~~~~}~~~~~~~~~~~~~~}}~~}|||}}}~~~~~~~~~}}}}}}}}}}|||||||||}}}}}}}}}}}}}|||||}||||||||||||{{{|||||||}|||{{{{{||||||||||||||||yyyzzzzzzzzz{{||||||||||||||||||||||||||||||||||||||||||{{zyzz{|{||||||||||||||||||||||||||{{{{|||||{{{zzzzzz{{{{zyyz{{{{{{{{{{{zzzzzzzzyzzzyyyzzzzzzzz{{zzzzzzzzzzzzzzzyyzzzzyxyyzzzzzzzzzzzzzzzzzzzzzzyyyzzzzzzzzzzzyyzzzzzzzz}}}}}}~~~~}}}}}}}}}~~~~~}}}}}}}}}}}}||||}}}~~~~~}}}}}|||||||||||||||||||}}}}}}}}||||||||||||||||||{{{{{{||||||||{{{{{{{{||||||||{||||{{{yyyzzzzzzzzzz{{{|{{{{{{{{{{{{|||||||||||||{{{{{{{{|||{{{{zzzzz{{{{{||||||||||||||||||||{{{{{{{{{||{{{zzzyzzzzzzz{zyyyzzzzzzzzzzzzzyyyyyyyyzyyxyyzyyyyzzzzzzyyyyyyyyyyyyyyyzzzyyxyyyyyyyyyyzzzyyyzzzzzzzzyyyzzzzzyyyyyyyyyyyyyyyy}}}}}}~~~~}}}}}}}}}}}}}}}}}}||||||}}|||}|}}}}}}}}}}|||||||||||||||||||||||||||||||||||||{{{{{{||{{{{zzzz{{{{{|||{{zzzzz{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzz{{{{{zzzzzzz{{{|||||||{{{{{{{{{{{z{{{{{zzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{zzzzzzzz{{zzzzzyyyyyzzzzzz{zyyyzzzyyyyzzzzzzzzyyyyyyyyxxyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyyyyyyyyyyyyyy}}}}}}~~~~~}}}}}}}}}}}}}||||||||||}||||}||||||||}}||||||||||||||||||||||||||||||||||{{{{zzzz{{{|{{{zzzzzzzzzz{{{{{zzzzz{zzzzzzz{{{{{{{{z{{{{{{{{zzzzzzzz{zzzzzzzyzzz{{||||||{{{{{{{{{zzzzzz{zzzyzz{{zzzyzzz{{{{{{{zzzzzzzzzzzzyyyyyyyzz{yyyyyyyyyyyzzzzzzzyxyzzyyyyyyyyyzzzzzzzzyyyyxxyyyyxxyyyyyyyyyxxxyyyyyyyyzyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyyyyyyyyyyyyyy}}}||}~~~~}}}}}}}}}}}}}||||||||||||}}}}}}}}}||||}||||||||||||{{{{||||||||||||{{{z{{{{{{zzzyyz{{|{{{{zzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxxyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxxyyyyyxxyyyyyyxxxxxxxx||||||}}}}}}}}||||||||||||||||||||||}}}}}}|||||||||||{{{||||{{{{{{{||{{{{{{{{{zzz{{{{{{zzzzzzz{{{{{{zzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{zzzzzyzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxxyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxxxxxxxxxxxyxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyxxxxxyyyxxxxxxxx||||||||}}}|||||||||{{{{{{{{{{{{||||||||||||||||||{{{{{{|{{{{{{{{{{{{{{{zzzzzzzyzz{{{{zzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzyyyyyzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyzzzzzzzyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxxxxyyyyyyyyxxxxxxxxxyyyyyyyyyyyyyxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxx||||||||}|||||||{{{{{{{{{{{{{{{{||||||||||||||||{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyxxxxxxxxyyyyyyxxxxxxxxxxyyyyyyyyyyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwwxxxxxwwxxxxxxxxxxxxxx|||||||||||||{{{{{{{{{{{{{{{{{{{{|||||||||{{{{{{{{{{{{{{{{{{{zzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzyyxzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyzzyyzzzzzzzzzzzzzzyyyyyyyyxxxxxxxxxyyyyxxxxxyyyyyyxxyyyyyyyyyyyyyxxxyyyyxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyxxxxxxxxxxyyyyxxxxxxxxxxxxyyyyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwwwwxwwwwwwwwwwxxxxxxww|||||||||||{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzyyzzz{{{{{zzzyyzzzzzzzyyyyzzzzzzzzyyyyyyyyzzyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxxxxxxxxxxxxxxxxxxxyyyyxxxxxxxyyyyyyyyyxxxxyyyyyxxxxxxxxxyyxxxxxxxxyxxxxyyyyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwwwwwyyyyxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxwwwwwwwwwwwwwwwwwwwwwwww{||||||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzz{{{{zzz{{{zzzzzzzzzzzzzyyyzzzz{{{{zzyyyyzzzzyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxxxxxxxxxxxxxxxxxxxyyyyxxxxxxxyyyyyyyyxxxxxxxxxxxxxxxxxxyyyxxxxxxxxxxxxxxxyyyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwwwwwwwyxxxxxxxxwwwwwwxxxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvvv{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzz{{{{{{{z{{zzzzz{zzzzzzzzzzzzzzzzzzzzzyyyyyzzzzzzzzyyyyzzzzyxxyyzzzzzyyyyyyyyyyyyyyyyyxxxyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyxyyyyxxxxxxxxxxxxxxxxxxxxyyyxxxxxxxxxyyyyyyyxxxxxwwwxxxxxxxxxxyyyxxxxxxxxxxxxxxxxyyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwwwwwwwwwwwwwwwxxxxxwwwwwwwwwwwwwwwwvvvvvvvvvvvwwvvvvvvwwwwwwwwwwwwwwwwvvvvvvvv{{{{zzzzzz{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyzzzzxxxyyyyzzzyyyyyyyyyyyyyyxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwwwxyyyxxxxxxxxxxxxxwwwwwwwwxxxyyxxxxxxxxxxxxxxxxxxxxxwwwwwwxxxxxxwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwvvvvvvvvwwwwwvvvvvuuuuvvwwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvv{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyxxxyyyyyzzyyyyyyyyyyyxxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwwwxxyxxxxxxxxxxxxxxwwwwwwwwxxxyyxxxxxxxxxxxxxxxxxxxxwwwwwwwxxxxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvvvvvvvvvvvvvvvvvuuuuuuuvvvvvvvuuuuuuuvvvvvvvvvvvuuuuuuuuzzzzyyyyyyzzzzzzyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyxyyyyyyyyxxxxxxxxxxxxyyyyzzyyyyyyyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwwwxxxxxxxxxxxxxxxxxwwwwwwwwxxxxxxxxxxxxxxxxxxxwwxxxwwwwwwwwwwwwwwwwvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwvvvvvwwwwwwwwwvvvvvvvuuuuuuuuuuuuuuuuuuuuuuvvvvvuuuuuuuuuuuuuvvuuuuuuuuuuuuuuyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzyyzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxxxxxxxxxxxxyyyyyyyyyyyxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxwwxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwwwwwxxxxxxxxxxxxxxxwwwwwwwwwwxxxxxxxxxxxxxwwwwwwwwwwwwwwwwwwwwwwvwvvvvvvvwwwwwwwwwwwwwwwwwwwwvvvvvvvvvvuuvvvvvvvvvvvvvuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvuuuuuuuuuuuuuvvvuuuuuuuuuuuuuyyxxxxxxxxyyyyyyxxxxxxyyyyyyyyyyxxxxxxxxyyyyyyyyxxxxxxxxyyyyyyyyyyyyyyyyyyyxxxxxxxxxxxxyyyxxxxxxxxxxwwwwxxxxxxxxwwwwwxxxxxxxwwwwxxwwwwwwwwwwwwwxxxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwvvwwwwwvvvwwwwwvvvvvvvvvvvwwwwvvvvvvvvvvvvvvvvvvvvvvvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvuuuuvvvvvvvuuuuuuuuuuuuuvvvvuuuuuuuuuuuuxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyxxxxxxxxxxxxyyyyxxxxxxxxxxyyyyyyyyxxxxxyyyyyyxxxxxxxxwxxxxxxxxxxxxxwwwwwwwxxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvvvvwwwwwwwwwwwwwwwwvwwwwwwwwwwwvvvwwwwwwwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuxxxxxxxxxxxxxxxxxxxxxxxyyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxwxxxxxxxxxxxwwwwwwwwwwxxwwwwwwwwxxxxxxxxwwwwwwwwwwwwvwwwvwwwwwwwwwwwvvvvwwwwwwwwwwwvvvvvvvvwwwwwwwwwwwwwvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvwvvvvvvvvuvvvvvvvwvvvvvvuuuvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttttxxxxxxxxwxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwwwwwxxxxxwwwwwvvwwwwwwwwwwwwwwwwxxxxxxxxwwwwwwwvwwwvvvvvvvvwwwwwwwwvvvvvwwwwwwwwwwvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuuuuvvvvvvvvuuuuuuuuuuuuuuvvvvuvvvvvvvvvvvvvvvuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutttttttttttuuuuuuuuuuutsstttttttttttsssxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxwwwxxxxxxwwwwxxxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvvvvvvwwvvwwxxwwwwwwvvvvvvvvvvwvvvuuuuvvvvvvvuwwwwwwwwvvvvvvvvvvvvvvvvvvvvvwwwvvvvvvvvvvvvvvvvvvvvvvvvuuuvvvvvuuvvvvvvvvvvvvvvuuuuuvvvvvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuwwvvuuuuuuuuuuuuvvvuuuuuuuuuuuuuvuuuuuuuuuuuuuuutttttuuuuuuuttttstttttttttttttttttttttttttttttttttttttttxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvvvvvvvvvvvvvwwwwwvvvvuuvvvvvvvvvuuuuvuvvvvvuuvvvvvvvvvvvuuuuuuuuvvvvvvvvvvvvvuuuuuuuuuuvvuuuuuuuvvuuuuuuuuuuuuuvvvvvvvvvuuuuuuuuuvvvvvvuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttttttttssssttttttttttttssstttttttttttttttttttttttttttttttttttttwwwwwwwwwwwwwwwwxxxxxxxxxxxxwwwwwwwvvvvvvvvvvvvvvvvvvvvvwwwwwwwwvwwxxwwwvvvvvvvvwwwwwvvvwvvvvvvvvvvuuuuuvvvvvvuuuuuuuuuvvvuuuuvvuvvvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvuuvvuuuuuuuuuvvvvvuuuuuuuuuuuuvvvvvvuuuuuuuuuuuuuuvuuuuuvvuuuuuuuuuuuuuuuuuuuuuuttsttttttttuuuuuuuttttssssssssssssrrrsssssssssssssssssssttsssssssssssssssssssssssssssssssswwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwvvvvvvvvvvvvvvvwvvvvuuuvvvvvvvvvwwxxwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttttuuuuuuuutttsssssstttttttttttsssssssssssssssrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssswwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvvvvvvvvvvvwwwvvvvvvvvvvvvvvvwwwwwvwwwvvvvvvvvvvvuuvvvvvvuuvvvvuuuuuuuuuuuuuuuuuuuuuuuuuuvvvuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttttuuuuuuuuuutttttttuuuuttsssssssstttssssttttsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssswwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvvvvvvvvwwwwwvvvvvvvvvvvvvvvvvvvvwwwwwwvvvuuuvuuuuuuuvvuuuuuvvvvuuuuuuuuuuuuuuuuuuuuuuuuuvvvuuuuuuvvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttssssstttttttttsssssttttttttsssssssstttsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssswwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvuuuvvwwwvvvvvvuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutttttttttttttttuuuutttuuuuuttttttttuttttttttttttttttssssssstttsssttssssssttsstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssswwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvvvvvvvvvuuuuvvvvvvvvvvvvvvvvvvvvuuuuvwvvvvvvuuuuuuuuuuuuuuuuuustuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuututtsssssttttttttttttttttsstttttttttttttttttttttttttttttttsssssssttssssssssssssssssssssssssssssrrsssssssssssssssssssssssrssssssssrrrssssssssssssssssssssssssssssssssssssssssssssswwwwwwwwxwwwwwwwwwwvvvvwvvvvvuuuuuuuuvvvvvvuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuvuuuuuuuuttuuuuuuuuuuuuuuuuuttttttttttttttttttttuttttttttuttttsssssssssssttttttttsstttsssrrsssstttttttttttttttsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssvvvvvvvvwwvvvvvvvvvuuuvvuuvvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttttttuuuuuuuutttttttttuuuuuuttttttuuttttttttttttttttttttttttttttttttttssssssssssssttttttttsstttsssssstttttstttttttttttssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutttttttttttttttttttttttsttttttttttttssttttttttttsssttttttttttttttttttttttttssssssssssssssssssssssstttsssttttttttsssttttttsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttuuuuuuuuuuuuttuuuuuuuuuuuuuuuuuuutttuutttttttttttttttttttttttstttttttttttttssstttttssstttsssstttttttttrsssttttsssssstttttttttttttsssssssssssssssssssssssttttssttttttttssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsssttttrrssttttsssssstttttttttttttssssssssssssssssssssssstttttstttsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttttttttttttttttttttttttttttttttttttttttuuttttttttttttttttttttttuutttttttsssssttssssttttsssssttttttttttttttsssssssssssssssssssssssstttttsssssssrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttssssssssssssuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsssssssssttttttttttttttttttttttttsssssssssssssssssssssssstttttsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttsssssssssssuuuuuuuuuuuuuuuuuuutttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttttttttttttttttttttttttttttttttttttttttsstttttttttttttsssstttttttttsstttttssssssttttttttttttttttttttttttttsssssssssssssssssssssssstttttssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstttttttssssssssssuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsssssssssttssssssstssssssssrrssttttssttttssssssssttttttssssssssssssssssssstttttttttssssssssssssssssssttttttssstttttsssssssssssssssssssttttttsssssssssssssssssssssssssssssssssssssssssrrrrsssssssssssssssssssstttttstttttssssssssttutttttttttttttsssssssssssuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttssssssssstttssssssssssssssssrrssttssssttttssssssssssttttssssssssssssssssssstttttttttssssssssssssssssssttttttssstttttsssssssssssssssssssttttttsssssssssssssssssssssssssssssssssssssssssrrrsssssssssssssssssssssttttttttttttssssssssttttttttttttttttttssssssssuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttssssssssssssttttssssssssssssssstsssssssssttttttsssssssssttttssssssssssssssssssttttttttttttssssssssssssttssttttttssstttttssssssssssssssssssstttttttssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssssssttttttttttttttssssssttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutttttttttttttttttttttttttttttttttttttttttttssttttttssssssssssssssssssssssssssssssttttttsssssssssstttttsssssttttttttttttsssstttttsssttttttttttssttttttttttttttttstttttttttttstttttttssstttttttttttttssssssssssttttttttttssttttttttttssssssssttttttttttttttttsssssstttttttttttttttsssssttttttttttttttssssssttttttttttttttuuuuttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttttttttttttttttttttttttttttttttttttttttttttttssstttsssssssssssssssssssssssssssssssssstuuuuuttsssssttutttsssssttttttttttttssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttssttttttttttttttttttttttsstttttttttttttttttttttttttttttttttttttttttttttttssssttttttttttttttttsssssttttttttttttttttsstttttttttttttttttuuuttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutttttttttttttttttttttttttttttttttttttttttttttsssssssssssssssssssssssssssssssssssssssssssuuuuuuuuttssstuuutttssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsstttutttttttttttttsssssttttttttttttssttssstttttttttttttttttttssssssssuuuuuuuuuuuuutttuuuuuuuuuuuttttttttttttttttttttttttttttttttttttttttttttttttssssssssssssssssssssssssssssssssssstttttsssssttuuuuuuuuttttuuuuttssttsttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttssttttttttttttttttttttttttttttttttttttttttttttsstttttttttttttttuttttttttttsstttuuttttttttttttsssssttttttttttssssssssssssttttttttttssssssssssssssuuuuuuuuuuuuttttuuuuuuuuttttttttttttttttttttttttttttttttttttttttttttttttttssssssssssssssssssssssssssssssssssstttuuttttttsttuuuuuuuutttuuuuttttttsttttttsssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsstttttttttttttttttttttttttttttttttttttttttttssssssssssstttttttuttttttttttssttuuuttttttttttttsssssttttttttttssrrrrrrrrrsttttttttssssssssrrrrrrrruuuuuuuuuuuuuuttttttttttttttttttttttttttttttttttttttttttuuttttttttttttttssssssssssssssssssssssssssssssssssssssssttuutstttttttuuutttsttuutttttttttttsstttuuuuuttttttttttttttttttttttttttttttssttttttsttuuuuuuuuuuuuuttttuttttttttttttttttttttttttstttttttttttttttttssssssssrrrsstuuuuuttsttttssssssstttssttttssssssssrrrrrrssttttttssrrrrrrrrrsssrrrrrrrrssssssrrrrrrrrrruuuuuuuuuutttttttttttttttttttttttttttttttttttttttttttttttttttsssssstttttssssssssssssssssssssssssssssssssssssssssttuttsstttttttttttssttuutttttttttttsssttuuuutttttttttttttttttttttttttttsttttttttttssstuuuuuuuuuuuuttttttttttttttsssstttttttttttsssstttttssssssssssssssssssrrrsstttuuuttsssssssrrsssssssstttsssssrrrrrrrqrrsstttttsssrrrrrrrrrsssrrrrrrrrrrrrrrrrrrrrrrrruuuuuttttttttsssttttttttttttttttttttttttttttttttttttttttssssssssssssssssssssssssssssssssssssssssssssssssssssssssstttssssssstttttsssssttutttttttttttsssssttttttttttttttttttttttttssssssssssttttttttsssstttttttttttttssssttttttsssssssssssssssssssssssssssssssssssssssrrrrrrrrrrssssttttssssrrrrrrrrsssssstsssssssrrrrrrqqrrssstsssssrrrrrrrrrrsssrrrrrrrrqqqrrrrrrrrrrrrruuuuttttttttttttttttttttttttttttttttttttttttttttttttttttssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttsrsssssssssssssssttttttttttttttsssssssttttttttttttttttttttttssssssssrsttuutttsssrssssssssssstsssssssssssssrrrrrrssssssssssssrrrsssssrrrrrrrrrrrrrrrrrrrrrrrrrsssttssrrrrrrrrrrrrrssssssssrrrrrrsrrrqrrssssssrrrrrrrrrrrrrrssrrrrrrrrqqqqrrrrrrrrrrrsuuuttttttttttttuttttttttttttttttttttttttttttttttttttttttsssssssssssssssssssssssssssssssssssssssssssssssssssssssssstssrrsrrsssssssssssssttttttttttttssssrssstttttttttttttttttttssrrssssssrsstutttsssrrrrrssssssssssrrrrrrsssssrrrrrrrrrrrssssrrrrrrrrssssrrrrrrrrrrrrrrrrrrrrrrrrrrssssssrrrrrrrrrrrrrrrrssrrrrrrrsssssrrrrrssssrqrrrrrrrrrqrrrrrrrrrrrrrqqqrrrrrrrrrrrrsttttttttttttuuuutttttttttttttttttttttttttttsssssssssssssttttttttsstttttttsssssssssssssssssssssssssssssssssssssssrsssrrrrrrrrrrrrrsssssssssssssssssssssssssssssssssssssssssssssssrrrrrrrrrssttttssssrrrrrssssssssssrrrrrrrrrrrrrrrrrrrrssrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqqrrsssrrrrrrrrrrrqqqqqrrrrrrrrrrrrssssrqrrrrrrrrqqrrrrqqqqqqqqqrqqqqqqqqqqqqqqqqqqqrrrrrttttttttsstttuuutttttttttttttttttttttttttttsssssssssssssssssstttssssstttttssssssssssssssssssssssssssssssssssssssrsssrrrrrrrrrrrrrrsssssssssssssssssstsssssssssssssssssssssrrrrrrrrrrrrrrssssssssrsssssrrssssssssssrrrrrrqrrrrrrrrrssssssrrrrrrrrqqqrrrrrssssssssrrrrrrrrrrrrrrqqrrrssrrrqqqrrrrrqqqpqqrrrrrrrrqqqqrssrqqqrrrrrqqqrrrrrqqqqpppqqqqqqqqqqqqqppppppqqqqrrrrtttttuuusssstttuttttttttttttttttttttttttttsssssssssssssssssssssssssssssstttsssssssssssssssssssssssssssssssssssssrsssrrrrrrrrrrrrrrssssssrrssssrrrsstttssssssssrrssssssssrrrrrrqqrrrrrrrrsssrrsssrrrsssssssssssssssrrrrrrqqqrrrrrssssssssrrrrrrrrqqqrrrrrssssssssrrrrrrrrrrrrrrqqrrrrrrrqqqqqqqqqqqpppqqrrrrqqqqqpqqrrqppqqrrrrqqrrrrrrqppppppppqqqqqqqqqppppooooppqqqrrrtttttsssssssstttsssssssssssssssssstttttussssssssssssssssssssssssssssssssssssrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrssrrrrsssssrrrrrrrssrrrrrrrqrrrrrrrrrrrrrrrrrrrqqrrrsrrrrrrqrrrrrrrrrrrrrrrrpppqqrrrqqrrrrrrrrrrrrrrqqqqqrrrrrrrrrrrrrrrrrrrrrqqqqqqrrrrrqqqopppppppqppoopppqqqpppppppqqqqpppqqqqpqqqqqqqqqpppppppppppppppppoooooooooppqqpppttttssssssssstttssssssssssssssssssssstttssssssssssssssssssssssssssssssssssssrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrqqrrsssrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrqrrrrrrrrrrrrrrrrpppqqqqqqqrrrrrrrrrqqqqqppppqqqqrqqqqqqqrrrrrrrqqqppppppqqqqqqqpppppppppppooopppqppppppoppqqqppopqqqppppppqqqqpppppppppppppppoooooonnnnooooppoootttsssssssssssttssssssssssssssssrsssssssssssssssssssssssrrsssssssssssssssssrrrrrrrrrrrrsrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqqrrrqqrrrsrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrqrrrrrrrrrrrrrrrrppppppppqqrrrrrrqqqqppppoooopppppppppppppqqqqqqqppooooppppqqpppppppppoooooooooppppppooooooppppooppqqpoooooppppppoooppoooooooooooonnnnnnnnnnnnnnnssssssssssssssssssssssssssssssssssssssssssssssssssssssssrrrsssssrrrrrrrrrrrrrrrrrrrrrsssrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrssrrrrrrrrrrrrrrrrrqqqrrrqrrrrsrrrssrrqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqqqrrqqqqqqqqqqqqqqqqqqppppppooqqqrrrqqqqqppppopooooopppppppoooooopppppooooooopppppppppoooooonnnnnnnoppooooonnnnnoooonnoppponnnnnnoooooooooooonnnnnnnnnnnnnnnnnnnnnnnnnsssssrrrrrrrrsssrrssssssssssssssssssssssssssssssrrrrrrrrrrrrssssrrrrrrrrrrrrrrrrrrrrrsssrrrrrrrrrrrrrrrrrrrrrrrqqqqrrrrrrrqqqqrrrrrrqqqqrqqrrsrqrrrrrrrrrrrqqppppqqqrrrrrqqqqqqqqqqqqqqqqqqqqqqqqpppqqqpppooooppqqqqqqqqoopoooooppqqqqqqqqqpppppppppoppppooooooonnnoooooonnnooopopppppooooonnnnnnnnnnooponnnnnnnnnnnnnnnnooonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmmnnnnnnnnrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssrrrrrrrrrrrrssssrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsssrrrrrrqqqqqqrrrrqqqppqqqqqqqqqqqqqqqrrrqqqqqqqrrqqqppooopppqqqqqqppppppppppoopppppppppoooonopppoonnnnnnoooooooooooooooonooppppppppppppppppppoooooooooooonnnnnnnnnnnnnnoonooooonnnnnnnnnnmmmnnnoonnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmmmmnnnnnnnnqqqqrrrrrqqqqrrrqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssrrrrrrrrrrrrrrrrrrrrrqqqqqqqqqqqpqqqrrrsrrrrqqqqqqqqqqqqqppooppqqqqpppppppppqqqppppppppppppooooooopppppppooooooooonnnnoonooooonnnnnnnoonnnnnnnnnnnnnnnnnooooooonnnooooooooooooppppoooooonnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmmmmmmnnnnnnnnnnnmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnmmmmmmmmnmmmmmnnnmmmmmmmnqqqqqqqrqqqqqqqrqqqqqrrrrrrqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrssssrrrrrrrrrrrrrrrrrrrrqqqqppppppppooppqrrrqrrqqqqqqqqqqqqpppooooppppppppppooooppponnnnnooooooonnnnooooooooooonnnnnnnnnnnnnnnnonnnnnnnnnnnnonnnnnnonnnnnnnnnnoooooonnnooonnnnnnooooooonnnnnnnnnnnnnmmnnnnnnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnmmmmmmmmnnmnnnnnnnnnnnnnmmnnnnnmmmmmmmmmmmmmmmmnnnmlllllmmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrqqqqqqqqqqqqqqqppooppppppppoopppppqpppppppoooppppppooonoooppoonnnnnnnnnnnnonnnmmnnnnnnnnnnnnnnnnnnnnnnmmmmnnnnnnmmmmmmmmmmmllllmmnnnnnnnnmmmmmmmmmmnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnmmnnnnmmmmmmmmmnmmmmmmllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmpqqqqqqqqqqqqqqqqqqqqppppppppppppppppppppppppppqqqqqqppprrrrrrrrrrrqqqqpppppqqqqppppppooppppppppooooooopoooooooonnoooooonnnnnooooonnnnnnnnnnnnnnnmmmmmnnnnnnnnnnnnnnnnnnnnnmmmmnnnnnmmmmmmmmmmlllllllmmnmnnnnmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnmmmmmmnnmmmllmmmmmmmmmmmmlllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlllmmmmmmmmlmmmmmmlllmmmmmmmmmmmmmmmmmlllllmmmmmmmmpppqqqqqqqqqqqqqppppppppoooooooooooooooopoooopppppppppppqqqqqqqqpppppppppppppppppppppoooppppppppnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnmmmmmmmmmmlllmmmnmmmmmmnnnnnnnnnnmmmmmnnnmmmmmmmmmmmmlllllllllmmmmmnmmmmllllllllllllllllmmmmmnnnmmmmmmmmmmmmmlllmmmmmmmmlllllmmmmmmmmmllllllllllllllllllllllllllllllllllmmmmllllllmmmmlllllmmllllllllmmmmmmmmmmmllllllllllmmmmllppppppppppppppppooopppppooooooooooooooooooooooopppppppppnnoooooooooopooooooooooooooooooooopppooonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmmmmmmmmmmmmmllmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmllllllllllllllllmmmmmmmllllllllllllllllllllllmmmmmmmmmmmmlllllllmmmmmmmmllllllllmmmmmmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllloooppppppooooooonooooopppppooooooooooooooooooooooooooooonnnnnnnnnnooooooooonnnnnnnnnnnooooooooonnnnnnnnnnnnnnnnnnnnnnnnnmmmmmnnnnnmmmmmmmmmmmmmmmmmmmmmmmmllllmmlllllllllllmmmmmmmmmmlllllllllllllllklllmmmmlllllllllllllllllllllllllllmmmmmmmmmmmmlllllllmmmmllllllllllmmmmmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllnnoooooooonnnnnnnnnnooopppppooooooooonnnoonnnooooooooooooooooooonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmmmnnnnmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmllllllllllllllllllllmmmmllllllllllllllllllllllllmmllllllllllllllllllllllllllllllmmmmmmmmmmmmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllkkkllllllllllllllllkkllllkknnnnoooonnnnnnnnnnnnnooooooooooonnnnnnnnnnnnnnnnooooooooooooooooooonnnnnnnnnnnmmmmmmmnnnnnnnnnnmmmmmmmmnnmmmmmmmmmmmmmmmmllllmmmmmmmmmmmllllllllllmmmlllllllllllllllllllllllllllllllllllllllllllllllllmmmmllllllllllllllllllllllllllllllmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllkkkkkkkkkkkkkkkkkkkkkkkkkkknnnnnnnnnnnnnnnnnnnnnoooooonnnnnnnnnnnnnnnmmnnnnoooooooonnnnnnnnoooonnnnnnnnmmmmmmlllmnnnnnnmmmmlllllmmmmmmmllllllllllllllllllmmmmmmmmmmllllllllllllllkklllllllllllllllllllllllkllllllllllllllllllllllmmmmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllkkkkkkkkkkkkkkkkkkkkkkkkkkkmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnmmmmmnnnnnmmmmmmmmmmmmmlllllllmllllllllllllllllmmmmmlllkklllllllmlllllllllllllllllllllllmllllllllllllllllkllmmlllllllllllllllmmmmmmmlllkkllllllllkkkllllllllllllllllllllllllkkkllllllllllllllllllkllllllkkkkkkkkklllllllllllllllllllllllllllllllkllllllllllllllllkkkkkkllllllllllkkkkkkkkkkkkkkkknnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnmmmmmmmmmmmnnnnnnnnnnmmmmmmnnmmmmmmlmmmmmmmmmmlllmmmmmmmmlllllllllllkkkkkkkkkkkllllllllllkklkkkklllllllllllllllllllllllllllllllllllllllkkkkkkllllllkkkkkkkkkllllllllllllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkklkkkkklllllllllllkkllllkkkkkkkkkkkkkkkkkkllllllllllllllllllllllkkkkkkkkkkkkkkkkkkkkkkkkklllkkkkkkkkkkkkkkkkkkkkkknnnnnnnnnnnnnnnnmmmmmmmmmmmmnnnnnnnnmmmmmmmmmmmmmmmmmmmmmmmllllllllllllklllllllllllllllmmmmmllllklllllllkkkjjjjjjjjjkkkklkkkkkkkkkjjkkklllllllllkkkllllllllllkkkkkllllllkkkkkkkkkkklllllkkkkjjjjkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllkkkkllllkkkkkkkkkkkkkkkkkkkllllllllllllllllllllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkknnmmmmmmmmmmmmmnmmmmllllllmmnnnnnnnnmmmmmmmmmmmmmmmmmmmllllkkkkklkkkkkkkkkkkllkkkkkkklllllllllkkkkklllllkkjjjjiiiiiijjjjkkkkkkkkjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjjjjjjjkkllllkkkkjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjjjjkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkklllllllllllllkkklkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkmmmmmllllllllmmmmmmlllllllmmnnnnnnnnmmmmmmmmmmmmlmmmmlllkkkkjjjjkkkkkkkkjjkkkkkjjjjjjkkklllkkkjjjjkkkkkkkkjjjjiiiiiiiijjjjjjjjjjiiiiijjkjjjjjjjjjjjjkkkkkkkjjjjjjjjkkkkkjjjjjjjjjjjkkkkkkkkkjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkjkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkmmllllllllllllllllllkkkkllmmmmmmmmmmmmmmmlllllllllllllkkjjjjjiiijjjjjjjkjjjjjjjjjjiiijjjkkkjjjiijjjjjjjjjjjjjiiiiiiiiijjjjjjjjjjiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkjjjkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklllllkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkllllllllkkkkkkkkkkjjjjjjkkllllllkkkkkkkkkkkkkkkkkkkkjjjjjjiiiiiiiiiijjjjiijjjiiiiiiiiiiijjjjiihhiiiiijiiiiiiiiiiiiiiiijjjjjjjiiiiiiiijjkiiiiiiiiiiiiiiiiiiiijjjjjjjjiiiijjjjjjjjjjjiiiiiiiiiiiiijjjjjjjjjjjjjjjjkkkkkkkkkkkkjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkjjjkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkllllllllkkkkkkkkjiiiiijjkkkkkkkkjjjjjjjjjjjiiiijiijiiiiijjiiiiiihhiiiiiiiiiiiiiiiiihhhiiiiiiihhhhhiiiiiihhhhhhhhiiiiijjjjjjjjiiiiiiiijjkiiiiiiiiiiiiiiiihiiijjjjjjjiiihhjjjjjjjjjjjiiiiihhhhhhhhjjjjjjjjjjjjjjjjkkkkkkkkkkkkjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkjjjkkkkkkkkkkllllkkkkkkkkkkjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkjjjjjjjjkkkkkkklkkkkkkkkjjjjkkkkllllkkkkkkkkkkkkjjjjjjjjjjiiiiiihhhhhiiiiiijjjjjiiiiiiijiiiiiiihiiiihhhhhhhhhggghhhiiiihhhhhhhhhhhhghhiiihhggggghhhhhhhgghhhiiiihhhhiiiiiiiiiiiihhhhiijjiiiiiiijiiiiiiiiiiiiiiiiiihhhhiiiiihhhhiiiiiiiiiiiiiiijjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjkkkkkkkkkkkkkkkkkkkkjjjjkkkkkkkkkkjjiijjjkkkkkkjjjjjjjjjjjjjijjjjjkkkkkkkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiiiiiiiiiiiiihhhhhhhhhhiiiiiiiihhhiiihiiiihhhhhhhhhhhhhhgggggghhhhhhhhhhhhhhhhhggghhiihhggggghhhhhgggghhhihhhhhhhhhiiiiihhhiiiiiihiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiijjjjjjjjjjjjjjkjjjjjjjjjjjjjjjiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkjjjjjjjjkkkkkjjjjjjjjjjjjjjjjjjjjjjkkkkkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiiiiiiiiihhhhhhhggggggggghhhiihhhhhhhhhhhhhhhhhgggggggggggggggggggghhhhggggggggggggggghhhhhggggghhhgggggghhhhhhhhhhhhhhhiihhhhhhjiiihhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiijjjiiiiiiiiiiiiiiiihhhiiiiiijjjjjjjjiijjjkjjjiijjijjjjjiiiihhhiiiiiiiiiiiiiiiiiiijjjjjjjjiijjjjjkkkkkjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjkkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjhhhhhhhhhhgggggggggggggggggghhggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhggggggggggggggghhhgggggghhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiiiiiihhhhhhhiiiiiijjjjjiiiiijjkjjiiiiiiiiiiiiihhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjggggggggggggggggggggggggggggggggggggggggggggggggggggffffgggggggggggggggggggggggggggggggghhggggggggggggggggggggggggggghhhhhhgggghgggghhhhhhhhhhhhhhhhhhiihhhhhhhhhggggghhhhhhhhhhhhiihhhhhhgghhiiiiiiiiiiiiiiiiijjjiiiiiihiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkjjjjjjjkkkjjjjjkkkkkkkkjjjkkkkkgggggggggggggggggggfffffffgggggggggggggfggggggffffffffffffffffffffggggfffffffgggggggggggggggggggggggggggggggggggggggggghggggggggggggghhhhhhhhhhhhhhhhhhhhhhhgggggggggggggggggggghhhhhhhgggggghhihhhiiiiiiihhhiiiiihhhhhhhhhhihhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijijjjjjiijjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjiiiijjjkjjjkkkkkkkkkkkkkkkjjjjjjkkkkjjkkkkkkkkkkkkkkkkkkgggggggggggfffffgfffffffffggggfffgggggfffffffffffffffffffffffffffffffffffffffffffggggggggggggggggggggffffggggggggggggggggggggggggggggggghgggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhiiihhhhhhhihhggghhhhhhhhhhhihhhhiiihhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiijjjjjjjjjjjjjiiiiiiiijjjjiiiijjkkkkkkkkkkkkkkkkkkkkjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkgggggggggggffffffffffffffffgggfffgggggfffffffffffffffffefffffffffffffffffffffffffgggggggggggggggggggffffffggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghgggggggggggggggggggggghhhhhhhhhhhhhhhhhhgggggghhhhhhhhhhhhhhhhhhghhhhiiiihhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjiijjjjjjiiiiiiiiiijjjiiiiijkkkkkkkkkkkkkkkkkkkkjjjjjjkkkkkkkkkkkkkkkkkkkklllleefffffffffffffeeeeeeeeeefffgffegggggfffffffffffffeeefffffffffffffffffffffffffffggggggggggffffggggggffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhgggggggghhhhhhiiggggghhhhhhhhhhhhhhhhhhhhhhhhhhhihhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjiiiijjjjiiiiiiijjjiiiiijjjjjjjjkkkkkkkkkkkkkkkkjjjjjjjjjjjjjjjjkkkkkkkkkkkeeeeeeeeffffffeeddddddeeeefffffeffggffffffffffffeeeeefffffffffffffffffffffffffffffffffffggffffgggggfffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhgggggggghhhhhhiiggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjiiiijjjjiiiiiijjjjjjjjjjjjjjjjkkkkkkkkkkkkjjjjiiiijjjjjjjjjjjjjkkkkkkkkkkkeeeeeeeeeeefeeeeddddddddeeefffeeffffffffffffffffeeeeeffffffffffffffffffffffffffffffffffffffffgggffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhggggggggghhhiiggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiijjjjjjjiijjjjjjjjijjjjjjjjjjjjkkkjjkkkkkkkkkkkkkkkjjjjjjjkjjjjjjkjjjjkkkkkkkkkkkkeeeeeeeeeeeeeeeedddddddddeeeeeeefffffffffffffeeeeeeeefffffffffffffffffffffffffffggffffeefffffgggffffffffffggggggggggggggffffffggggggggggffggggggggggggfffgggggggggggggggggggggggggggggggggggghhhhhhggggggggghhiiggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhijjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllkkkkkkkkkkkkkkklllkkkkkkeeedddddddeeeeddeddddddddddeeeeeeefffffeffffeeeeeeeeeeffffffffffffffffffffffffffggggfffffffffgggfffffffffffgggggggggggggfffffffgggggffffffffggggfggggffffffgggggggggggggggggggggggggggggggggghhhhhhggggggggghhiihgggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhijjjjjjjjjkkkjjjjjjjkkkkkkkkkklkkkkkkkkkkkkkkkkkkklllllmmmkkkkkkkkkkkkkllllllllkkkddddddddddddddddeedddddddddddeeeeeeefeeefeeeeeeeeeeeeeefffffffffeeeeeeeeeeefffffggggfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgfffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggghhhhhggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiijjjiiiiiihhijkjjjjjkkkkkkkkkkkkkkkkkkkkllllkkkkkkkkkkkkkklllkkkkkkklllkkkkkkllllllllllllllllldddccccccdddddddddddddddddddddeeeeeeeeeeeeeeeeeeffeeeeeeeeeeeeeeeeeeeeeeeeeefffffffffffffffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggghhhhggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiijjjjjiiiiihhijkkjjjkkkllkkkkkkkkkkkkkkkkllllkkkkkkkkkkkkkklllljkkkkklllllkkllllllllllllllllllldcccccccccddddddddccccccddddddeeeeeeeeeedddeeeeefffeeeeeeeeeeeeeeeeeeeeeeeeeffffeeeeefffffffffeefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeeefffffffffffffggggggggggggggggggggggggggggggggggghhggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhggghggghiijiiiiiiiiiijjjjjjiiiihhijkkjjjkklllkkkkkkkkkkkkkkkklllkkkkkkkkkkkkkkkllllllllmmmnllllllllllllllllllllllllddcccccccccccccccccccccccccdddddddddeefffeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedeeeeeeeeefffffeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggghhgggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiijjjjjjjjjjjiiijjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklllmmllllmmmmllllllllllllllllllllllllddccccccccccccccccccccccccccdddddddddeeeeeeddeeeeeeeeeeeeeeeeeeeeeeeeeeedeeeedeeeefffffeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffggggffgggggggggggggggggggggggggggggghhgggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiijjjjjjjjjjjjjiiijjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllmmmllllllllllllllllllllllllddccccccccccccccccccccccccccccccdcccddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeedeeeedeeeeeffffeeefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggffffggggggggggggggggggghgggggggghhggghhhhhhhhhhhhhhhhhhhhhhhhhhhgghhhhhhhhhhhhhhiiiiiiiiiijjkkkkjjjjjjjjiiijjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllccccccccccccccccccccccccccccccccccccccccccccddeeeeeeeeeeeeeeeeeeeeeeeeeedefeedeeeeefffeeeeefffffffeeefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffggfffgggggggggggggggggggghgggggggghhggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiijkkkkkjkkkkkjjijjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkjjjjkkkkkjjjjjjjkkkkkkkkkkkkkkkkllllllllllllkkkkcccccccccccccccccccccccccccccccccccccccccccccddeeeeeeeeeeeeeeeeeeeeeeeeeeeffedeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffggggggggfffffffffffffffffffffffffffffffgggggggggffgggggggggggggggggggggghhghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiijjkkkkjkkkkkkkjjjjkkkkkkjjjjjjjjjjjjjjkkkkkkkkjjjjjkkkjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjccbbbbbccccccccccccccccccccccccccccccccccccccddddddeeeeeeeefffeeeeeeeeeeefffeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffggggggggffffffffffffffffffffffffffffffffggggggggffggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjkkkjjjjjkkkkkjjjjjjjjjjjjjjjjjjjjjjkkjjjjjkkkjjjjjjkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkjjbbbbbbbbcccccccccccccccccccccccccccccccdccccccdddddddeeeeefffffeeeeeeeeeefffeeeeeeeeeeeeeeeeeeeeeeeeeeefeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffggggggggffgggggggggggggggggggggggggghggggggggggghhhhhhhhhhhhhhhhhhhhiiiihhiiiiiiiiiiiiiiiiijjjiijjjjjjjjjjjjjjjjjjjiiiiijjkkkkjjjjjjjjjkjjjjjkkkjjjkkkkllkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkbbbbbbbbcccccccccccbbccccccccccccccccdddcccccccdddddddeeeeffffffeeeeeeeeefffeeeeeeeeeeeeeeeeeeeeeeeeeeefeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggfffffgggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhggghhhhhhhhhhhhhiiiiiiiiiiiiiiiiijjjjjjjiiiiiijjjjiiiiiikkkkkkkkjjjjjjjkjjjjkkkkkkkkkllllllkkkkjkkkkkkkkkkkkkkkkkkklllllbbbaaaaabbbbbbbbbbbabbbccccccccccccccccccccccddddddddcccddddddddddcccdddcdddeeeefeeeeeeeeeeeeeffeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiijjjiiiiijjjjjiiiiiiiijjjjjjjjjjjjjjjkjjjjjjjjjjjjjkkkkkkkjjjjjjkkkkkkkkkkkkkkkkkkkkkkbbaaaaabbbbbbbbbbbbbbbbccccccccccccccccccccccdddddddcccccccdddddcccccccdccdddeeeeeeddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffeeeffffffffffffffffffffffffffffffffffffffffffffffffffggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiijjjjiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjkkkjkkkkkkkkkkkkkkkkkkaaaaaaabbbbbbbbbbbbbbbbcccccccccccccccccccccccdddcccccccbccccccccccccccccccdddddddddddeeeeedddddeeeddeeeddeeeeeeeeeeeeeeeeeeeeeeeeeeeeddeeeeeeeeeeeefffffffffffffffffffgffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhggggghhhhhhhhhhhhhhhhhhhiiiiihhiiiiiiiiiiiiiiiiiiiiiijjijjjjjjjjjjjjjjjjiiijjjjjjjiiiijkkkjjkkkkkkkkkjjjjjjjj`````aabbaaaaaaaaaaabbbbbbbccbbbbbbbbbbbccccccccccccccccbbccccccccccccccccccddddddccdddeeeddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeedddeeeeeeeeeeeeeeeeeeeeeefffffffffgffffffffffffffffeffgggffgggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhggggghhhhhhhhhhhhhgggghhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjiiiiiiiiiiiiiiijkkjjjjjjjjjjjjjjjjjjjj``````aaaaaaaaaaaaaaabbbbbbbbbbbaaabbbbbbbbbbbccbbbbbbbbbbcccccccccccccdbcccccccccccccddddddccccdddddddddddddddddddeedddddeeeeeeeeeeedddeeeeeeeedeeeeeeeeeeeeeeeeeeeffffffffffffffffffffeffggfffgggggggggggggggggggggggggggggggggggggggggggggggggggggggghhgggggghhhhhhhhhhhhhggggghhhhhhhhhhiihhiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiijiiiiiiihhiiiiiihijkjjijjjjjjjjjjjjjjjjj```````aa``````````aaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbabbbccccccccccccbbcccccccccbccccddccccccccccccccccccccccddddddddddddddddddddddddeeeeeeeeddddddddddddddeeeeeeeeefffeeeeeeeeeeeeeeeeffffffffgggfffgggggggggggggggggggggggggggggggggggggggggggggggghggggggggggggggghhhggggggghhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiihijkjiiiiiiiiiiijjjjjjjj`````````````````````a````````````````aaaaaaaaaaaaaaaaaa``aaabbbbbaaabbbbbcccccccccbbbbbccccccccccccccccccccbbbbccccccccccccccddcccdddddddddddddccdddddddddddddddddddeeeeeeeeeeeeeeeeeeeeefffffeffffffffggfffggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiihijjjiihiiiiiiiiiiiiiiii````````````````_```````````````````````aaaa```aaaaaaaaa`````aaaaa``aaaabbccccccccbbbbbbcccccccdccbbbbccbbbbbbbbccccccccbbccccccbbccccccccccccccccccccddccddddddcccddddeeeedddeeeeeeeeeeeeffffeeffffffffgfffffggggggggffggggggggggggggggggggggggggggggghgggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiijjiiiiiiihijjjihhiiiiiiiiiiiiiiii```___`````````````````````````````````````````````````a````````aaaaaaaabbbbbbbbbbaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccbbbbccbbbbbbbbccccccccccccccccccccccccddddddddeeeeeeeeeeeeefffeeffffeeffffffffgfffffffffffffffeefffgfffffgggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiihhhiiiiiiiiiiiiiiiihhhiiiii```_____````````````````````````````````````````````````````````````````aaaaaaaaaaaaa``aaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccbbbbbccbbbbbbbbbbbcccccccccccccccccccccddddddddddddddddeeeeeeeeeeeffeeefffffffffffffffffeeeeeeeefffggfffffggggggggggggggggggggggggggggggggggggggggggggggggghhhhgggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiihhhhhhhhhhhiiiii`________`````````````````````__````````````````````````````````````````````````````````````````aaaaaaaaaaaaaabbbbbbbbbbbbaaaabbbbbaabbcbbbbbbbbbbbbbbbbbbbbbbccccccccccccddddddddddddddddddddddeeeeeeeeeeeeffffffeeeeeeeeddddeeeffggggfffffggggggffggggggfgggggggggggggggggggggggggggggggggggggggggggghhggggghhhhhhhhhhhhhhhhgghhhhhhgghhhhhhhhhhhhiiiihhhhhggghhhiiiii___________```__``````````````__``````````````__`````````````````````````````````````````````````````````````aaaaaaaabbbbba```abbaaaaabbaaaaaabbbbbbbbbbbbaabbbbccccccccccccccccddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeddddddddefffggfffffffffffffffffgggfffggffffggggggggggggggggggggggggggggffggggggggggggggghhhhhhhhggggggggggggggggggggghhhhhhhhhiiihhhhggghhhiiiih_^^^^^^^^_______````````````````______``````````________```````````````````````````````````````````````````````aaaaaaaaaba`````aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbccbbcccccccccccccccccccddddddddddddddddeeeddddddddddddddeeeeffffffeeeeffffeeeeffffgfeeefffffffffffffffffggfffggggggggfffffffffggggggggggggggggggggggggggggggggggggggggggggggghhhhhiiihhhgghhhhhhhh^^^^]]^^^^^^^^^^___________________________`````________````````___``````````````````````````````````````````````````````````````````````````````````````````aaaaabbbbbbbbbbbbbbbbbbbbbbccccccccccccddcccccddddddddccddddddddddeeeeeeeeeeeeeeeeeeeeeeefffedddeeefffeeeeeeeeeefffffffffggffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhgghhhhhhhh]]]]]]]]]]]]]]]]^^^^^^^^]]]^^^^^^^^^^^^^_____________________________``````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbcccccccccccccccccccccccccccddddddeeeddddddddddddddeeeefedcddedeeeeeeeeeeeeeeeeeeefffffffffffffffffgggggggggggggggggggggggggffffffggggggggggggggggggggggggggggggghhhhgg]]]]]]]]]]]]]]]]\\\\\]]]\\\\]]]^^^^^^^^^^^^^^^^^_____________________```````````````````````````````````````````````````__`````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaa``````aabbbbccccbbbcccccccccccccccccccccdddddddddddddddddddddeeefecccdddeeeeeeeedddddeeeeeeeffffffffffgggfffggggggggggggggggggggggggffffffffgggggggggggggggggggggggggggggggggggg\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]^^]]]]]]^^^^]]]]]^^^^^^^^^___^^_`________^`^^`_^`^```````______________```````````````````````````````````````````````````````````````aaa```````````````````abbba``abbbbbbbbbbbbcbbbcccccccccccccccccccccddddeeeedddddddddddddddcddddddddecceeddgfeeeeeeedeeeffffgfffggffefffeeeeeeefffffgffeefghhgfefggggggggggggggggggggggggggg[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]\\\]]]]^^^^^[]^^^]^^^^^^^^^^]_^]`_^`^_```_________________``__````````````````````````````````````````````````````````````aa````````````````aaaaaaa``abbbaaabbbbbbbbbbbbccccbbbbbbccbbccccccccccddddcccccdddddccccccccdddddcebbdeddeddddeeeeddeeefffgfedddddeeffeeeeeeeeeeeeddeeeeefeeeffffegggggggggggggggggggggggg[[[[[[[[[[[[[[[[[[[[\\\\[[\\\\\\\\\\\\\\\\\\\\]]]\\\\\\\]]]]]]]]]]]]\\^^]]^^^^^]]^^]_^]_^]^_```___________^^________________````````````___`````````````````````````````````````````````````````aaa`````aaaaaaaaaaaaabbbaabbbbbbaaaaabbbbbbbbbbbcbbbbbbbccccccccccccccccbbcccccbcaacdccdbccddddddddddeeefeedddeeeeefffffddddddddccdeeeedefffffggffggggffffffggggggggffffZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[\\[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\]]]]]]]^\]]]]]]]]]]]]]]^_^^^``_^^^^^^^^_^^^^^^^_^^^^^^__^^^_________````^^______````````````````````````````````_```````````````_````````````a``````aaab`aaabbbbaaaaaaaaaaaaaabbbbbbbaaabbbbbbbccccbbbbbaabccbba`abbaabcabbccdcccccccdddcdeeeeffeccefeefdddddddddddefffeeefeddfgffffffffffffffffgfffffffYYZZZZZZZZZZZZZZZZZZZ[[[ZZ[[[[[[[[[[ZZZZZZZZZ[[\\\\\\\\\[[[[[[[[[[\\]\[Z\\\\\\\\\\\]\]]]_^]]]]\[]]]]]]]]]]]]^^^^]]^^^^^^]]^^^^__^^^_____^^^^___________`____________`````___````___`````________]_`a``__`___``````````aa```aaaaaaaaaaaaaaaaaaaaabbbbbaaaaabbbbbbbbbbbaaa`aabbbaa``aaaaaaaabbcccbcccbbcccbceeedeeecbdedceddddddddedcdefeeeefeedeeeeeefeeeeeefffffffffffffYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[\[YYYZ[[[[[[[[[[\[\][\]\Z[[\[[\]\\\\\\\]\\]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^_^^^^^^^^^^^___________``_________________`a``^^_`___``````````````````aaaaaaa```````````bbbaaaaaaaaaaaaaaaaaaa```aaaaaaaabaabcb`bbbbbbbbcbbbbbccbcccccefgcadecbdddcccddecccdffdcedccdeeeddeeeeeeeeeeefffffffffffXXXXYYYYYYYYYYYYXXYYYYYZYYYYYYYYYYYYYZZZZZZYYYZZZZZZZZZZ[ZZZZZZZ]\[[\\\[ZZ[[[[[[\Z\][\][[]^^\[]`\\\\\\\][[\\\\\\\\\\\\]]\\\\\\\\\\\]]]]^^^^^^]]]]]]]]]]^^^^^^^^^^^^^^^]]^^^^___`________________```_^_adca`````_````````_```````````````````````aaaaaaaa````aaaaaa``````aaaaaabbaegdbcccccbaaaaacbbaaabbbbbabglphdbefcbdccbbccdebcegiheabbegjjgcddddeeeddeeeefffeefffgggXXXXXXYYXXXXXXXXXXXXYYYYYYYYYYYYYYYYYZZZZZZYYYYYYYYYYYYYZZZZZZZZZ]`dea\XZZZ[[[[[\Z\]Z[][bdea]Z[]\\\\\\]][[\\\\\[\\\\\\\\\\\\\\\\[\\\\]]]^^^^^]]]\\\\\]]]]]]]]]]]^]]]]]]]]]]^^___^_________________^]]`fjeca```_^````````__````````````````````````````aa````````````````baa`aabc`gmha`dgedba``aacbaaaabbbaaadlu|jebefcbdbbaabcddbehmnlgabgpy}ynfcdddddddddeeefffeefffgggXXYXXXXXZWXXXXUZXXXYYXWWWYXXXYZXYYYYXXYYY[YXZYXZYYYYYYYY[ZXY][Y]_`gy{gYXXX\[X[[[ZZXXam]``pse^[Z]Z[[[ZZ[[ZX[X\\\\\\\\\\\\[]]^^[Z]\[[[[\]]\]]]\\\\[[[[\\]]\]]]]]\\[\]]]]]\]\\\\\]]]^^_]_]^^^]]]^^^[^]^]dozwsnkb`]^`]_^]_]`_____````````____```````_`````````````````^a`]\b^ae```_a`m|lfgfnobb`^_\a``_bac``aa``clonmgcjnga``_bcdehejlltnnfgknvuldbacedcdecceecdfedefdbdgXXXXXXXXWXWWVWYWWWXXXXXZXXXXXXXXXXXXXXXXXZXXYXXYXXXXXXXXWXXZYVYbgiq}h]^[Y\ZY\ZXX[\agsjjdnn_Y\YWY[ZZ[ZZ[[^ZX^_][\\\\\\\\\][Z[\[[[[[[\\\\\\\\\\\\\\\\\\\\]]\\\\\^\\\]]]\\\\[[[\\\]]\^\^\]]]]]]]]]^^[^\gv|wtuud^^`^]````\]^^____``_``_______``__````````````____^^a]\_`c^`^^]bhe``bxutujkiba``b_``a``_a``a_`cchoppkllmlfcfbb`eimglorzplirsy~tgc`addcbdbbdecceeccecflpVWWWWWWXUXWWWXYVWXWWWXYYXWWWXXWXWXXXWWXXXXXWXXWXXXXXXXXXXYXXXX]gtuzse`^XXXXZXWX[]ht}sljrtg_`[ZZYZZZZZZ`fa[Y[ZZ[[[[[[[[\ZYZZ[[Z[[[\\[[[[[[[[[[[\\\\[[[[\][[][Z_\\\\\\\\[[[Z[[[\\][][]\]\\\\\\\\\]\`Yfz{yuxpe]\^]_^^_]]^^^^^___^^^__^^^^___^^__`______`_____^^^`]^_fmb```^jsh``l~uqjmnlic___a`aaa]^_b`bbbgqz|zlluxuniebddimrpw|zuw|~}qib`bcbbbabddcccadfecemuUVWWVVWXVXXXYYXWXWVVWXXVXVVVWXVXWWXWWVWXXXWWWWWWXXXXXXXXWYYXX^cgx{~unaXVXXXWXXZ[j{vqy~uf_X[ZWYZXYYZgmf[WXXYZZZZZZZZ[XY[ZYYZZZ[[[[ZYZZZ[[ZZZ[[[[[[[[Y\[[][Y\\\[[Z[[[[[Z[[[[\\]Z][\\\\\\\\\\\^][\Yi|}}yszzpb\^^][[]^^]]]]]^^^]]]^^^^^^^__^^^_`_^^^^__^^____``]]]anuf`agmy}naes|pkwsfa_^`_```b`a``_a`ajqw|ig|ysmjggghiu}sid``ab``abcbbbacbbghinUVWWVVWWXVXWSX\XUUVWWWVVWVXWVXVXWWWWVVWWXWWWWWWWWXXXXXXXWXXXZcnr|vbZYXXXWXYY`lx~{x||jaXWYXXWXXX`npdZZXZZYYYYYYYYYYZZYYZ[YZZ[ZZYXYYYZZZZZYYZZ[[[[X\][[ZY[[[ZZZZZ[Z[[[[[[\[]Y][[]\\\\\\\[[[Y[^bsxx|{x~zrg][\\\\\]\\\\\]]]]\\]]]]]]^^_^^^^__^^]]]^^]^^^^^^_^^`juzn`ao}xkp~}obc`]^_`_]cgjc^^``cnsx|rt}|wsonkjjv}vnc_`a``aaaaa`a``afknoUUVVVVVVVUVXS`sfUTUWVTVXUX^YWXVXVWWWVVVWXVWWVVWVWWWWWWWWYVXajs|q]XXVVYXVX\o}|zdbc]WYXSYZZkzona[XXYXXXXXXXXY\ZXZ[Z[YYYYYYXXXXYYYYYYXXYYZZZZZ\^^[ZZ[ZZZYYYYZZZZ[[[[[Z]X][[\[[[\\\[[ZWY_dm||||v}}vk`\[Z]][\][[[\\\\]\\\\\\\\]^^^]]]^^^]]]]]]]]]\[[\^_^guuuodju}phkia]]`]_lolefkfciu|tjmszi```_`a``a``a^`bcnxyTUVVUUTUUVUVQ`sf]VRUVTTXU[d\WXUVUVVVUUUVWUVWUVWUVVVVVVVVWU_q}scYVTUXWW`hyzklkcVXXTX\`usujcXUXXXXXXXXXYZX[c_XXXXXXXXXXXXXXYYYYXXXYYYYX[Y`ga[YYXYYYYYYYYYYZZZZZX\X][Y[YZZ[[[ZZYZ^acgru~x}ug`][Z``Z\^[[[[\\\\\\\\\\[[\\]]\\\]]]]]]]\\\]]\[\`ab`lxsnihmz{vokd\`_]bpsnjnwkhs~|u|mbbb`aa````_b__clv{wSTUUTTSTRUWXZgtnhYPRWURSV^h_WXTTTUUUTTUUWTVWTUWTUUUUUUVVTWdt||uaXWWUTX`p}wxurf[WTXVV]h|}qlsXVWXXXXXXXXYWUamaRVXXXXXXXXXXXXXYYYXXXXXXXXYWbnh\XWXXXYYYXXXXYYYYYYW[W\[X[XYYZZZYYXW]cmsz~|mgeZZ[ef\[[Z[[[[\\\\\\\\[[[[[\\[[[\\]]]]\\\[\]]^`egoioz|vinuvhkj^`_`cmswrmnns|mcef`aa__``_`baguztoSTTUVSSSRTT_mw{vm]^UQTTWVankXVSRSWRWWTRTURTQQTTTWSVVSTTST]dlxnbYXUWXZl|lfg\SUVXV]u|~x\WWUVWWWWWXVTZhwhUUXYWWVWYVVVTVWXZVXXVXYXXUW_gqd\\ZXXXXWXXYWWXZWXXX]f`XTZ[XZWVXZ[ZYY_ejw|nfge\]ei`Z[YXXYZZ[\[^Y\Z]\XZ\Y[[XZ[Z]cd]YZZ\[Z\`bgnnoz|oluugdeff``^k|vwsklzuhgnd_````___`aly|xuQQRQSQQTSU[n~{xp_VRQQXbjum^XWSRYZTTRSXURSQRRWabWUUSTVWW`htxr^UTT[`fu}uj_\XWWU]~~g]\VTVWUUVWVVY`u}lXSWXWWVVXWWXYXXXXXYWWWXXWXYbnn]XV[XXXXWXXXXZYXWUX`lq`WVZWVXXXXXXXY_glpy|~}ussjabgkfa[Y[[ZZZZZX[Z\XZ]Z\YX\XX\YZ^gi`\[XY]`acdgnilyunu}~tmggh``enr}xw|x~zjelke_____^__`nuz~wXOSQQQSUWY`ss^WXTX`ry|sodXTT^g[TR_odYVYVQZrp]SQQVVTXet|pXUYW]gmywildWSV\a|qjf\VTVVTTUUTT^h|r]TUUWWVVUWUTWVWWXb`YXWXXUW\flog`[XWWWWWWWWXUVWWXaghynbVXXXWXXXWWWWX]`joinw~rdgqsgc^Z[YXYXVXXZX[XZ\ZYXXZXX]XZalmc\[XZenqqnnqru~||zyqgaajpvrhkoh`a`[_`_`cnqxfRSRTRSX\gr}uqodRR\iux|ri^WWSisbXZi{|lefWTa|v[ORSQRX`q|eX^`_fn}|gbXRW[ipuzuk[VUUUUTSSTSZjy|p]XTRUTVWSVXTVVTT[gf[UTWWVYfhovyt`UVVWWWWVUWUVXXV`pu}jcZXUWUXXXXXWVZgilsv}vhkuugdg`XVXXUUY[]WXX[ZXXXVXYY[[_gnnia\Y^n}|xy~vgediqumomedje\]^`]aplZX_i`V_qzzvfRTXgs}|qhc[aezynggn|zjVXj|s`UTTRSYh{u`cmgerybYVUSXnuiZUVSSVURRUSWkxyncZTSSRVXRUWUWZUVck`ZUXXWXZimtutk_WWWVVVVUTSWVVWXeu|njZWXUUXVUXXX[enr|y|y~|qnrrpimrdYVXYWWX`bXWXZXXZXW^`XX]dnqpph_[du}snknvwnlkgnrg`\X^_hvn_^nxn`gz}{zdW\jgslceey~{zonxiYZqnYQRQS_pwt{wjin[VXYgt|rd[URSUURRUU`u~|wqYWXVRUWSTSRZd[Wfnd_VTTXckopt~wa``YXVUUUUSSTTXV[gyreYVVUUXVTUUYcnu|tt|pmnspqrquuvug`YXXXXWfg]XWXWXZY_llZTZetyuog`co{rou}tnns}uc]\ZZ\h~tc`swuouuW[mslqw|vnuo`ey}hTRURXft~uhn{nd]bv|rbTQRSSRSTTTi}~tVZa\TSTTUV\in`[gqtk^URU]bmxxkdnm[XVTTUUTUWWe_UZ|o`XWUUVTTVSXevqtx{yywvtw|wt{pnbWWWX]mj`[UWXWX`fopaZ`l|xjdiqzx}unns{f[[^\Zc|ynj|~zzqldzyvy|syvbtpTMQT_p||runnwwjbq}y|ymWPOSTQQTURRhz~|fS]g`VRQTVWi{qcgryuh\QQWXYo|}|wrxe]YVSTUUTRUXlcZ[u|bYWVVTTSVYUVagdr||~~~ut}jZZXZisj`\UX[UXjhflgenz{jiu}}}xsmkout`YY[Yau~|vnw}~|{}|y_r}iWQMXm~sgeft|z}uuohkeYRPVRSRORUPTbryztdX]lgWRRQU`u||nvw{uj^VSV`j}|xm\TSTVTSTZhzwnjqs`VTRSQVTX`[Y_m}nu}||xe^\evmg]XWYZYhkrwory~qnw}s|kY\]_gpwt|yzrt~|eg{|uhZQP[l||vtus|ukr}m``]Z\\YQQSRSTPRVYga_l_blgXSSRVl|||u{sh^WV_ny|y|n_XWTTUVW`x}ybTTRSUUUZafhl~z}}xm``jvsmi`Xbgbjq|{w~wos{}tejy~ymlehr|rnw~s~u[X_`^SQSUXX`{|v{|zszzwwrutstsi[UWVUVSUVYgedtpmoh]WUTVo~~z~rdXUSYkzy{~qkcXQQU[l}cUXUVUS]`X^is||pfoxrbfsyogZ]utlq~y~||~tv{zy||x~y|uxpvnVOS`]WRVinhu}|x}|unpppqqqruzyw{ztnlllusqsoolg^XZ]jwg[VXe{wg_SWVXfj[[hpgelnwi]]m|v{|qlsxfcelv{xwuhlikpxj^\jzxqx||yojght|{tuxcYh|vc`[`nqb_p}|pi_VhmraZZiy|z}~xnnwznpryxqr|ytu|xvq|{|~xwzuv}xttqiny~th[[jtqggzslgaYgqp[STcsyxqu}sggqlmglxqgm}tqnqu~vw}m[S^pnjnn{zogrr[SWfsrngpzvsoe`j]fnwxsluzqq|zxw|uc`gsqv|ujkjqypg]dqttkYXeZo{tx{qz||}~|{}~~~|uu~{kgnv||yijjkkkkkjjjjjjjjkkjjjiiiiijjjjiiiiiiiijjjjjjjjiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhiihhhhhhhhhhhhhhihhhhhhhghhhggggggggggggggggggggggghhhhhgggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhgggggggggghhhhhhhhggggghhhgggggggghhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjkkkjjiiiijjjjjjjjjjjjjjjjjjkllllkkkkkllllkkkkkkkkkkmmmlllllllllllllllllmmmmlllllllllllllllljjjjkkkkjjjjjjjjjjjjjiiiiijjjjiiiiiiiiiijjjjjjiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgggggggggggggggggggggggghhgggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhgggggggggggggggggggggggghhhhhhhgggghhhhhiihhhhhhhhhhhhhhhhhiiiiiiiiiiijjjjjjiiiiijjjjjjjjjjjjjjjjjjkklllkkkkkklllkkkkkkkkkkllllllllllllllllkllllllllllllllllllllllljjjjjjjjjjjjjjjjiiiiiiiiiijjjjjjjjiiiiiijjjjjiiiiiiiiiiiiiiiihhhiihhhhiiihhhhhhhgggggggggggggggghhhhhhhhhhhhhhhhgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhghhhhhhhgggggggggggggggghhhhiihhhhhiiiiiiiiiiiijjjjiiiijjjjjjjjjkkkkkkjjjkkkkkkkkkkkkkklllllllllllllllllkklllllllllllllllllllllljjjjjjjjjjjjjjjjiiiiiiiiiijjjjjjjjiiiiiijjjiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhggggggggggggggggggggghhgggggghhhhhhggggggggggggggggggggggggggggggggggggggggggffggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhggggggggghhhhhgggggggggggggggggghhhhhhgghhhhhhhhiiiiijjjiiiiiiiiiiiiiikkkkkjjjjjjkkkkkkkkkkkklllllllllllllllllkkkllllllllllllllllllllljjjjjjjijjjiiiiiiiiiiiiiiijjjjjjjiiihhhhiiiiihhhiiiihhhhhhhhhggghhgggghhhggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggfffffggggggggggggggggggffffgggggggggggffffgggggggfffffggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhgggggggghhhiiiiijjiiiiiiiiiiiiiijjjjjjjiijjjjkkkkkkkkkkkllllllllllllllllkkkllllllllllllllllllllljjjjjjjijjiiiiiiiiiiiiiiiijjjjjiiiihhhhhiiihhhhhhhhhhhhhhhggggggggggggggggggggggggggggggggggggggggggggggggggggffggggggggggggggggggggffffgggffffggggggfffffffffffffffffffffgggffffffggggggggfffffffggggfffffffffgggggggggffgggggggggggggggggggggggggggggggggggggggggggggggggggggggghhiiiijiiiiiiiiiiiiiiijjjjjiiiiiijjjkkkkkkkkkkllllllllllllllllkkkllllllllllllllllllllliijjjjjjjiiiiiiiiiiiiiiiiijjjiihhhhhhhhhiihhgghhhhhhhhhhgggggggggggggggggggggggggggggggggggggggggggggggggggggfffggffffffffggggffffffffffgffffffffggfffffffffffffffffffffffffffffffffgggggffffffefffgggffffffffffggggggggfffggggggggggggggggggggggggggggggggggggggggggggggggggggggghhiiiijjiiiiiiiiiiiiiiiijjiiiiiiiijjkkjjjjjjkkkkkkkkkkllllllllkkkllllllllllllllllllllliiijjjjjiiiiiiiijjiiiiiiiiijiihhhhhhhhhhihhgggghhhhgggggggggggggggggggggggggggggggggffffggggggggggffffffggggggffggffffffffffffffffffffffffffffffffffffffggffffffffffffffffffffffffffggggfffffeeeffffgfffffffffffffffffffffffggggggggggggggggggggggggggggggggggggggggggggggggggggggghiiiijjiiiiiiiiiiiiiiiiiiiiihiiiijjkkjjjjjjjkjjjjjkkkllllllllkkkllllllllllllllllllllliiiiiiiiiiiiiiiijiiiiiiihhhhhhhhhhhhhhhhhhhhghhhggggggggggggggggggggggggggggggggggggffffffffffffffffffffggggffffffffffffffffffffffffffffffffffeefffffeedeeeeeeeeeeefffffffffffffeffffffeffeeeeeeffffffffffffffffffffffffeeefffffffffffffgfffggggggggggggffgggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiijjiijjjjjjjjjjjjkkkkkkkkkkkkkklllklllllllllllllllliiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhggghhggggggggggggggggggggggggggggggggggggggggggffffffffffffffffffffffffffffffffffffffeeeeffeeeeeeeeffffeeeeeeffeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffeefeeeeeeeffffffffffffffffffffffffeeeffffffffffffffffffgggggggggggffgggggggggggggggggggggggggghhhhhhhhhhhhhhgggggghhhhhhhhiiiiiijjiiijjjjjjjjjjjjkkkkkkkkkkkkklllkkllllllllllllllkhhiiiiiiiiihhhhhiiihhhhhhhhhhhhhggggggggggggggggggggggggggggggggggggggffggffffgggggfffffffffffffffffffffffffffffffffffffeeeeeeeeeeeeeeeefffeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddeeffffffffffffffffffffffeeeffffffffffffffffffffgggggggggfffgggggggggggggggggggggggggghhhhhhhhhhhgggggggghhhhhhhhhhhiiijjiiiiiiiijiiiijjjkkkkkkkkkkkklllkkkkllllllllllkkkhhhiiiiihhhhhhhhhhhhhhhhhhhhhhhhgggggggggggggggggggggggggffffffggfffffffgffffffggggfffffffffffffffffffffeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeefeeeedddddddeeeeeeeeeeeeeeeedddddddeeeeeeeeeeeeedeefeeddeeefffffffffeeffeeeeeeeeeeefffffefffffffffffffffggggggggfffgggggffggggggggggggggggggggggggggghhhgggggggghhhhhhgggghhiiiiiiiiiiiiiiiiiijjkkkkkkkkkkjkllkkjjkklllllllllkkkhhhhiiiihhhhhhhhhhhhghhhhhhhggggggggggggggggggggggggffffffffffffffffffffffffffffggffffffeeeeeeeeffffffffeeeeeeeeeeeeeeeeeeeeeeeeddddddddeeeeddddddddddeeddddeeeedddddddddddeeeeeddeeeeddddeeeedcddeefffffffeeeeeeeeeeeeeeeefffffeeefffffffffffffggggggggfffffgggfffgggggggggggggggggggggggggggggggggggggghhhhhggggghhhiiiiiiihhhiihhiijjjjkkkkkkkjjkklkkjjjkklllllllkkkjhhhhhhhhhhhggggghhggggghggggggggggggggggggggggggggfffffffffffffffffffeeeffffffffffffeeeeeeeeeeeeffffffffdddddddddddddddeeeeeeeeeddddddddddddddddddcccddeddddddddddddddddddddeeeedddddddddddddddcddeeeffffffeeeeeeeeeeeeeeeeeeeeeeeefffffffffffffffgggggfffffffffffffggggggggfffggggggggggggggggggggggggggghhhhgggggghhhhhhhhhhiiihhhiijjjjjjjjjjkjjjkkkjjjjjkkkkkkkkkkkkhhhhhhhhhgggggggggggggghgggggggggggggggggggggggggfffffffffffffffffffeeeefffffffffffeeeeeeeeeeeeeeeeeeeeeddddddddddddddddddddddddddddddddcccdddddddccccddcccddddddddddddcccccdddddddddddddddccddddddeeeeefffeeeeeeeeeeeeeeeeeeeeeeeefffffffffffffffffffffffffffffeefffggggggfffffggggggggffffffggggggggggggghhhhgggggggggghhhhiiiihhhiijjjjjjjjjjjjjjkkkjijjjjjjjkkkkkkkkhhhhhhhhggggggggggggggghgggggggggggggggggggggggggfffffffffffffffffffeeeeffffffffffeeeeeeeeeeeeeeddddddddcdddddddcccdddddccccccccddddddddccccddddddcccccdccccddddddddddccbbbcccdddddddddddcccccdddddeeeeefffeeeeeeeeeeeeeeeeeeeeeeeefffffffffffffffffffffffffffffeeefffgggggfffffggggggggffffffffggggggggggghhhhggggggggggghhhiiiihhiiijjijjjjjjjjjjjkkkjiijjjjjjjkkkkkkkhgggggggggggggggggggggggggggggggggggggffggggffffggfffffffffeeeeefffeeeddddeffeeeddeeedddddddcddddcccddcbccccccccccccccddccccccccccccccccbbbccddddccbbcddccccccccccccccccbbbbbccccdddcccccbbbbcccccddddeefffffeeeeeedddddeeefeeedddeeeeeeeeeeeeeeeeeeeeeeefffffffffffffffffffffffgggggffefffffggggggggggggggghhgggggggggghhhhiiiiiiiijjjjkjjjjjjjjjijkkjjiiiiiijjjjjkkkkkggggggggggggggggggggggggfggggggggggggffffgggfffffffeeeeefffeeeeeeeeedddccddeeeddddddddddddddccdddcccddcbcccccccccbbbbccccccccccccccbbbccabbbccddccbbbccdcccccccbcccbbbbcbbbbbcccccccccccbbbbbbbbccddccdeeeddddddddddddddddeeeddddddeeeeeeeeeeeeeddddeeeeeeeeeeeeeeffffffffeeeeefffggffeeeeeefffgggggggggggggggggggggggggghhhhhhhhhhhiiiijjjiijjjiiiijjjiiiiiiiijjjjjkkkkggggggggggggggggfffffgggfffffffffffffffffffffffffeeeeeeeeeeeeeeedddddcccbccdddccdddddddddddccccdcccccccbbbbbbbbbbbbbbbbbcccbbbccccbbbbbbaabbbccccbbbbbccbccccbbbbbbbbbbbbbbbbbccbbbbbbbbaaaaaabbbccccccdccccccccddddddddcddddcccccddddddddddddddcddddeeeddeeeeeeeeeeffffeeeeeeeeffffffeeeeeeeeffggggggggggggggggggggggggggghhhhhgggghhhhiihhhiiihhhiijihiiiiiiiiiijjjkkkggggggggggggggggffffffffffffffffffffffffffffffffeeeeeeeeeeeeeeddddddddccbcccccccccddddddddccccccccbccccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaabbbbbbbaaabbbbbbbbbbbbbbbaabbbbbbbbbbaabbbbbaaaaaaaaabcccbbbbbbbbbbbbccccddddcccdcccbbbcccddddddcccccccccdddddddeeeeddeeeeeeeeeeeeeeefffeeeeeeeeeeefffffffgggfggggggggggggggggggggggggggggghhhggggghhhhhhiiihhhhhiiiiiiijjjjjggggggggggggggggffffffffffffffffffffffffffffffeefeeeeeeeeedddddddddddddccccccccccccccccccccccccccbbbccbbaaaaaaaabbccccbbbbbbbbbbbbbbbbaaaaaaaabbaaaaaaaabbbbbbaabaaaaaaaaaaaabbbaaaaaaaaaabbbbbbbbcbaaabbbbbbbbbbbbcccddcccccccbabbbccccccccccbbbbcccddddddeeeeddddddeeeeeeeeeeeeeeeeeeeeeeeefffffffffggfffggggggggggggggggggggggggggghhgggggggghhhiiiihhhhhhhhhhhiiijjjggggggggggggffffffffffffffffffffffffffffeeeeeeeeeeeeeeeeddddddccddddddccccccccccbbcccccccccbbbbccbbbccbaaaaaaaaabbccccbbbbbaaaaaabbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaabbbbbbabbbaaaabbbbbbbbabbbbcccccccccbbaabbbcccccccccbbbbbbccccddddddddcccdddddeedeeeeeedddddeeeeeeffffffffffffffffffffggfffggggggggggggggggggggggggggghhhhiihhghhhhhhghhhiiiiifffgfgggfffffffffffffffffffffffffffeeeddeeeeeeeeedddddddddccccccccccccccbbbbbbbbbbbccccccbbbbbbbbbbbbbbaaaaaaaaabbbbbbaabaaaaaaaaabbbbaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa```aa```aaaaaaabbbbbaabbbaaabbbbbbbaaaaabbbbbbbbbbbaaaaabbcccbbbbccccbbbbbbbbbcccccccbbccccdddddddddddddddddeeeeeeeeffffeeeeefffeffffffffffggfggggggfgggggggggggggggggggghhgggghhhhggghhhiiiiffffffffffffffffffffffffffffffffeeeeddccddeeeeedddccccccccccccccbbbbbbbbbbbaabbbbbbbccccbbbbbbbbbbabbbbaaaaaaaaaaabbbaa`baaaaaaaaabbbbaaaaaaaaaaaaaaa```aaaaaaa`aaaaaaaaa``````````aaaaa``abbaaaaabbaaabaaaaaaaaaaaabbbbaaabaaa`aaabbcccbbbbccccbbbbbbbbabbbbbbbbbbccccdcccccccddddcdddeddddddeefffeeeeeffeeeeffffffffggffggggffgggggggggggggggggggggggggghhhhgggghhhiiifffffffffffffffffffeeeeeeeeeeeeeeeeeedddddddddddccccccbbccccccbbbbbbbbaaaaaaaabbbbbbbbbbaaabbbbbbbbbbbbbaa```aaa`````aaabaaaaaaaaaaaaaaa``````````````````aa``````````abba````````aaaaaa``aaaa``aaaaaaaaaaaaaaaa````aaaabbaaaaaaaabbbbbbbbbbbbbbbbbbbbccbbbbbbbbbbcccccccccccdddddccccccddddddeeffffffffeeeeeeffffffffffffffffffffgggggggggggggggggggggggggggggghhhhhhhhffffffffffffffffffeeeeeeddddddddeeeeddddddddddccccccbbbbbbbbbbbbabbaaaaaaaaaaabbbbbbbbaaaaaabbbbaaaaaaaaaa```aaa`````aaaaaaaaaaaaaaaaaaa``````````````````aa``````````aaaa````````aaaa````aaaa``````````````````````aaaaaaaaaaaaaabbbbbaaaaaabbbaaaabbbbbbbbbbbbbbbcccccccccccccdcccccccddddddeeeeeeeeeeeeeeeeeeffffffffffffffffffgggggggggggggggggggggggggggggghgggggggffffffffffffffffeeeeeedddddcccccdddddddcccccccccbbbbbbbaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaa````````aa```aaa`````aaaaaa``aaaaaa````a````````````````````````````````a``````````````````aa`````````````````````````aa`````aaaaaabbaaa``aaaaaaaaaaaaaaaaaabbbbbbbbccccccccccccccccccccddcccdddddddddddddddeeeeeeeeffeefffffffffffffggggggfggggggggggggggggggggggggggggfffffffeeeeeeeeeeeddddddccccccccccdddcccbbcccbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaa`````````````aaa```````a````````aa`````````````````````````````````````````````a`````````````````````````````aaa`````````````aaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbccccccccccccccccccccccddddddddeeeeeeeeefffffffffffffffffffffggggggggggggggggggggggggeeffeeeeeeeeeeeeddddddccdddcccccccccccccbbbbbbbaaaaaaaaaaaaaaaaaaaabaaaaa`````aa```aa`````````````````````````````````````````````````````````````__````_```__`````````````````a````````````````````````````aaaa```````````````a```````````aaaaaaaaaaaaa```aaaaaaaabbbbbbbbbaaaaabbbbccccccccccccccccccccccccdddddddddddeeeeefffeeeeeffffffffffffgggggggggggggggggggggggeeeeeeedddddddddccccccccdcccccccbbbbccbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````````````````````````````````````````````````````````````````````````___``___`____``````````````````````````````````````````````aaa```````````````````````````aaaaaaaaaaaaa`````aaa`aaaabbabbaaaaaaaabbbbbbbbbccbbbccccccccbbcccccdccddddddeeeeeeefeeeeeeffffffefffffffffffggggggggggggggggeeeeedddddddddddcccccccccccbbbbbabbbbbbbaaaaaaaaaaaaaaaaaaaaaa```aaaaaa``````````````````````````````````````````````````````````````````````````_^^________^^_`_`````````___``````````__``````_```__`````````````````````````````````````````aa```````````````a``aaaaaaaaaaaaaaaabbbbaaaabbbbbbbbbbbbbbbbbbcccccccddddddddeeeeeeeeeeefffffeeeeffffffffffgggggggggggggggeeeeddddcccccccccccccccbbbbbaaaaaabbbbbbaaaaaaaaaaaaaaaaaaa``````````````````````````````````````````````````````````````````````````````````````_^^^______^^^_`__````````___`````````____````__________`````___``````````````````_````````````````````````````a```aaaaaaaaaaaaaabbbbbaaaabbbbbbbbbbbbbbbbbbccccccccddddddddeeeeeeedeefffffeeeeefffffffeffggggggfgggggggdddddddcdcccccccbbbbbaaabbaaaaaaaaaaaaaaaaaa```````aaaaa```````````````````````````````````__``````_``__`````````````___``___`````````````______^^^^^^^]^^^^^^^^___``````````````___``_^^__```___```_^^______`````````````````````````__``````````````ab``````````````bbaaa`````aaabaaaaaaaabbbcbbbbbbbbcbabcdbacccccccbccddeeefffffeefgeeeeeeeegfffffggfggggghhggggffggdddccccccccbbcccbbbbbaaabbaaaaaaaaaaaaaaa````````````aaa```````````````````````````````````___````__```___```````````___`_____`````____```______^^^^^^^]]]^^^^^^_____```__________^____^^__```___```_^^_______``````____````````_``````_____````_`````````````````aa``aaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbabccccabbccccccccdddeeddeddddeeeeeeeeeeeeeeeeegghhhhhigggfffffccccccccccbbbbbbbbbbbaaaaaaaaaaaaaaaaaaa````````````````````````a``````````````````````````_____`____``_________```____________`________``__^^^^^^^^^^]]]]]]^^^^________^^^^^____^^^__^^^^________`__^^___^^___````______________``````_^___````_````___`````````aaa```````aabbbcccccbbbbbbbbbbbbbbbbbbb`aaaabcdbbbbbbbbcccccdddccddccddeeedddddeeeeeeddgghhhhiigggfffffccccccbbcbbbbbbbaaaaaaaaaaa``````aaaaaaa````````````````````````````````````````________``_____^_^^^_``___________________^^^___________`__^^^^^^^^^^^]]]]]]]]^^__^^^^^^^^^^^___^^^^__^^^^^___^^__`_^^^^^^^^^^__``________________``````_____`````aa`__^``````````aaa``a```````accccbbbabbbccbbabbbbbbbbaceecbbccccbaa``bbcccccccdddddddedddddddeefffeedefgggghhggggggggbbbbbbbbbbbbbaaaaaaaaaaaaa````````````````````````````````````````````````````_______________^^^^^]^____^^^^^^______^^^^^^^^^^^___________^^^]]]]]^^^]]]]]]]]]^^^^^^^]]]^^^^^____^^^___^^^^^^^^^^___^^^^^^^]^^^^`__^^___^^^^^^^^___```````______``aa``__````___`_``aaaabbaaa````bbbbaaa`bbcccbbaaaaaaaaadgiigecccbbbaaaabbbbbbbbccddccccdddccddddeeeeedcdeggggggggggggggbbbbbbbbbbbbbaa``aaaaaaaa````````````````````````````````````````````````````___________^^__^^^^^]]]^__^^^^^^^^^^^^^^^^^^^]]]^^^________^^^]]]]]]]]]]]]]]]]]]^^^^^]]]]]]^^^^^^__^^^^___^^^^]]]]]^^__^]]^]]]]]]^^__^^^__`^^^^^^^^^^__```_```_____``aa``__```_____^_```abceddcbaaaaaaa````abccccbaaaaaaaaabdfgfdbaaaaabbccabbbbbbbbcccbbabdccccddeccccccccdeggggggghhhhgggabbbbbbbbbbbba`````aaaaa````````````````````````````````````````_____````````________^^^]^^^^^^^^]]]^^^^]]]^^^^^^^^^]]]]]]]]]]^^^^^^]^^^]]]]]]]]]]]]]]]]]]]]^^^^]]]]]]]]]]]]]]]^]]]]^^^^^^]]]]]]]^^^]]]]]]]]]]]]^^]]^_``^^^^^^^^^^______``______`````__```_______`````acedccbaaa`````````abcdcba```````````bcddcccbbbabbaaaabbbbdeeedcbbcccccdefddddddddfghhhgggggghhgggaaabbbbbbbbbba`````aaaaa````````````````````````````````````````^^____```````________^^^]]^^^^^^^]]]^^^]]]]]]]^^^^]]]]]]]]]]]]]^]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^]]]]]]]]]]\\\\\\\\\]]^]]^]]]]]]]]^^^]]]]]]]\\]]]^^]]^_``^^^^^^^^^^^__________```__`____```______````_`abbbaa`````````````abcdcba````````b``adgiigfdca``_aaaabbbbggggfeeecccccdeffffeffggghijihhhggggggggaaaaaaabaaaa```````````````````````````````````````___________^^^^______^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]]]]]]]^^^^^^^^]]]]]]]]]]]]]]]]]]]]]]]]^]]]]]]]\\]]]\\\]]]]]\\\\\\]]]]]\\]^^^]]]]^]\[\]]]\\\\\\]^``^]]]^]]]_``_]]___]\Z]`aa`_`a`_^^_`ab``_^^__^^^_```^]^````__````````````_``aaabceeeedcba`````_accehihihgdb``_aabbaaabgghiihggffffghiiggghiihhhikkkigggggghhgga``aaaaaaaaa```````````````````````````````````____________^^^^^^^^_____^^^^^^^^^^^^^^^^^^^^^^^^]]]]]]]]]]]]]]]]^^]]]]]]]]]\\]]]]]]]]]]]]]]]]]]]]]\\\\\\[[\\\\]]]]]]]\\\\]]]]]]]\]_`````^^]\]^^^^^]]]]]]]^``_^]^]]\\\]^^^_```_^]_``aaaaa___``abcdba`````_```a``^`abba```__```````````abccdggggdcba``````aeggikljjigfdcbabccbbaabgghhhhhggffghiiiggghiiihijlmmlkjhhhhhggg`````aaaaaa`````````````````````````````````______________^^^^]]]^^^____^^^^]]]]]]^^^^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\\\\\\\\]\\]]]\\[\\\\\]]]\\\\\\\\[[Z[[\]^]]]]]\\\]]]^^^]]]^`abbaa^][\^`_^^^]]]]]]]^```___]^^]\[]_`````````__`cdc`_``abcddfdcaaa`````aaa`_abbba```^^__```````abcdefghiigeca``__`abdghijklkjjiggfffeeedcbbbgggghhhhgggghijjhggghiihhiklmmmmjkkjhggh````````````````````````````````````_``````__^^^^^^^^^^_^^^^]]]]]]]^^^__^^^]]]]]]]]]]]]]\]]]]]]]]]]]]]]]]]]]]]]]]]]\\\\[\\\\\\\\\\\\\\[[[[[[\\]]]]]]]]\\\[ZZZ[]]^]]]]]]]]]^^]]]]\^`aaa``\\^````_^]]\\]]^^_``````_``_]\_`ccba``````_`dedbabcdeeeeedb```__````aa`````````_^__```aaabbcefggiiiihgggdb````bcdefffghijjjiihhhggggedddhgggghhhhhgghiihhhggggggfggijlmmlmmkhggi````````````````````````````````_______````__^^^^^^^^^^^^^^]]]]]]]]^^^^^^^]]]\\\]]]]]\\\\\]]]]]]]]]]]]]]]]]]]]]]\\\\[[[[[[[[[[\\[[\\\\[[\[[[\]]^^^^^^^^]]\[ZZ[\\^^^]]]^^]]]]]]]]\]_``_^][_ceecba`_^^^_`````aba`````_]^`bedb```````abccddfffggffeecba```____``a``_``aaaaa`aabbcddeefgghijiiiiihhhgfdbabcddccaabehjjjjjiiiijihggggihhgghhhjihhhhhgihggggfeefggiklmlnnligik``````````````````````````______________``__^^^^^^^^^^^^]]]]]]]]]]]]]^^]]]]\\\\\\\\\\\\[[\]]]]]]\\\\\\\\\\\\]]]][[[[[[[[[[[[[[[[[[[[[\\\]\\\\]^_^_____^^]][[Z[[\^^^^^___^^^^^^^^]^___^]\^bgigfefbba``acdbbcccca`___^^_acfeca`````addcbdfhhggffeefedcccba````bccbbbcefggfeeeeffgggghhijkkghjkkjihihgfedddedba``eiiiijjiiijjjjiiiijiihhhhhjihhiihhiihhhggfgghijlmmlmlkiijl`````````````````````____________^^_________^^^^^^^^]]]]]]]]]]]]]]]]]]]]\\\\\\\\\\\\\[[[Z[\\]\\\[[[[[[[[[[[[[\\\[[[[[[[[ZZZZZ[[[[[[[[\]]^]]]]^__^______^]\\[[\\]^^^^_```______````````__`cgggeefdcbaacdefeeeedb``_^^_acegfdbaabbadffdcegihgeeeefgfeeffeecbcdegggggghjkjigggghhiiiiijjjkkhijkkkjiiiihggfeedddbadiiiiiiihhiijjjjkkkkjjihhhiiiijkkkiijklkjiijjklllmlkjijkll````````````````````__________^^^^^^________^^^^^^^^]]]]\\\]]]^^]]]]]]]\\\[[[\\\\\\\[[[[YZ[\\\[[ZZZZZZZZZZZZZZ[[ZZZ[[[[[ZZZZZ[[[\[ZZ[\]^_^^]]^_`^^_____^\\\\\]]^^^^__``a`__````abbbbaaaaabbcccddcba``bceggffedb`a`_`adgggfedccdddeggeefgigfdcdefffeffgfffefghijjiiikllkjjiiiiijjjjjjjjjjkkjjjjkkiijjihgfddefdadhijjjiihgghijjklmkkkkjihgihijkmnnijkmnnnmjkklllkkkihhjlmm```````````````````_____^_____^]^^^_____^^^^^^^_^^]]]]]\\\\]]]]^]]^^^^]][[[[[[\\]]]\[ZZ[ZZ[[\[[[ZZZZZ[[[\\[[[[[[XY[[[[[\\\]]]]^_```_^_``_____^^]````____^^^^^_``a```bdeecba```abadggfba`````abbaccb``acdgffeeca```abcdefffeeeffgffffggffjhgfeeffgfeefggigghiijjjijjkkkkjjjiiijkkjjiiijklkkjjjjjjjkkkkjihiihfddfhiiiihhhhhhhhikllnmmllkihikllmnnmllmnoonnllllllllkjiikmmm````````____`````___^^^^^^____^^^^^^^^^^^^]]]^^^^]]]]]]]\\\]]]]]\\\\\\\\\\\[[[\\[\\\[ZZZZ[[[[[[ZZ[[\\\\\]]\\\[[[YZ\\\\\\Z[\]]^``````_^_````````____````````aaaa`````ceffdca````aadggeba`aaaaaa``aaa``bdfffefedbabbcdeffgeeffgghhggggffedffeddeefffeefgijiijjkkkkjjjjjjjjjjjijjklkjjjjjklllkkkjjjjjjjiihhijjiggghjjjjjiiiiiiiijkknnnnmljijlmllnnmmmmnnnnnmmmmmmmmmlkkmnnn``````_____________^^]]]^^____^^]]]]]]]]]]]\\]]]]]]]]]]]]]\\\\\\[[[[\\\\]\\[[[[[[\]]]\\\\\\[[[[[[\]^^^^^^^]]\\\\[\]^^]]]\\]^^_``baa`___`abccccba_`````````bccba````bdfggedb```abceggebaaaaaaaaaabbbaabceeeefffedeeffggggefggijjkjihggfecbbbcdefffffgghjkkkkllllkkkjjjjjjjjjjjkklkkkjkkllmlllkkkkjjiihhhghjlmkjijjklllkjikkjjjjjknnnnnnljlnmkkmnmmmmmnnnnnnnnnnnnnnnnnnnn```________________^]]]]]^^___^^^^]]]\\\\\\\\\\\]]]]]]]]]]]\[[[[[[[\\]]^\\[[[[[[]_``````^^^]]\\\\]^__```__^]\\\\\^_`__^^_``____`ccba```abceffedcaabbbbaa```aa`````bdfgggfdcbabdefgggecbb`abcdddeeedcbbbceeeggggggggggggggghjkklllkjihgfebbcdfgggggghijklkklllkkklkjiiijjkjjjkkllllkkkllmmmllkkkkkkjiihhhhjlmmlkkklmnnmlkkkkkkkkknnnoonmknnmjjlnmnmmmnnnnnnnnnnnnooopponn______^^___________^^]]]]]^^^^^^^^^]]]]]\\\[[[[[\\\\]]]]^]\\[[[[[[[[[\]][[ZZ[[\\^``aaaaa````__^^]^^_`````_^]\\\\^_``````aaa`````cccbaabccdefffedddeeedcb```___``bcdffffffeddefghggggfeeecdfffffggggfddddfffghiihhhhhhhhhhijkllllllkjjjhgffgghhiijjkkkkllkkkkkjjjlkjjijjjkkkkkklllllllmmmmmlkkkklmlkkjjjjjklllllllmnnnnmlkkklllmmnnnnonmlnnmkjmnmnnmmnnnnnnnnnnnnnoppponn____^^^^__________^^^^^^]]]]^^^^^^^]]]]]]]\\[[[[\\\\\\\\^]\[[[[[ZYYYZZ[\[[[[[\\]]^``````aaaaaa``____``aa``_^]]]]_`````aaaaaaaabcccccbbcdccddeeddefgggfdcdcb``abbdefgfffffffgghjkihggfffggijigffffggggghhggghjjjjiiiiiiiikkkkllkkllkkllkjijjjjjkkllmmmllkkkkkjjiikkkjjjjjkkkkklllklllmmnnmmllkllmmmmmlllllllllllllmnoonmmkklmmnnnnnnnnnnmnnnmmnonnnnnnnnnnnnnnnnnnopqpnnn__^^^^^^^^^^^^^^^^]]]]]]]]]]]]]]^]]\\\]]]]]\\[[[[[[[[[[[]]\[[[\\[[ZZZ[\\^^]\\\\]\]^___``abccccba```_``bca``_^^^__`````bcbcccbbcccccbaabcbbbbbbbbefggggfegfeeddddefggffggggghijkkjhgfffggjklkhgfgghijjjkkhhijkkkkjjjjjjjjkkkkkkkllkkkllkklkkkkkkklmmnmmlkkkkkkkjjkkkkkkjjkkkkllllkkllmnnnnnmllmnnmnnnnnnmnnnnnmllmmnnnnnmllmnnnnnnnnnnnnnnnoooqrqnnnnnonnnnnnnnnonopqonnn^^^^^^]]]]]]]]]]]]\\]]]]]]]]]]]]]]\\\\\]^^]]\\[[[[[[[[[[]\\[[\\]^]]\]]^_``_^]]\\]^____```acdddbbaa```acdba``__````````bdeeedbabbdccb```aaa```aaadegghggfgggggfedefggffghgghijjjjjhfeefggijlkigghijlllkkkjijjkllkjkkkkkkkkkjjjklllkkkllkjlkkjjkklklmmmmlkllllllkkjjkkkkkjkkkklllljkllmnnnnnnmmnnomnnnnnnnnnoponmkmmnnnnnnmmnnnnnnnnnnnnonnoqqrttrnnnnooonnnnnnnoonoqqoooo__^^^]]]^]]\\\]^]]]]]]]]\\]]]]^__^][[\^`__^^^^]]]]\[[[\\[[[\\^_`_^^^^``aadeb^[\_]^```abbdccddcba`aaabcddbbaaaabbabcbabdgffedcba`bbbbbbbbbbccddddeeffffffggghihggggggffgghhijkkkjjihgggggkkkkkkkjjjjkkkllllllkjkkkkkllkkjkkkkllllkkkkkkkklkkklmmlmlllmnnnmmllllmmllllkkjjjjklmmmmmmmmlmnnnnnnmmnnnnnnnmnnnnnnnnnnnnnnoonnnnnnnnnnmnnnnnnopqrstssronnnnnnnonnnopooooppqqqq^^^]]]]]]]]]]]]]]]]]]]]\\]]]]^__`_^\[[\^^__```__]\\\]^^_]]\\]^``aa````aaacdb`_````aabbcdddcdddccbbbccdddccccccccbcdeefggggfdcbbbbcccdcccabcdeeeeeefffggghhhhhhggggggggggijjkkkkkkjjihhiikklllkkkkkjkkkkkkllkjjjjjkkkllllklllllllllllkkkkkkjklllklllllmnnmmmmmmmmlllkkkjjjklmnnnnnnnnnnopnnnnmmmnnooonnnooopppooonnnnnnnnnnonnnnooooonnnnpqrsssrronnnoooonnnnnoonnoopqqrr]]]]]\\\\]^^^^]\]]]]]\\\]]^]]]^____][ZZ[]^`aba``^^^^^_```_^]^_`aaaa`````aabbbbbcbcccccdeedddeeeedddddddeeeeeeeeedefghihhggedcbbbcdeeeeedabdeffffdeeffggghhhhhhggghiiihiikkllllkkllllkkkkklllllllkkkkkkkkkklkjjjjjjkklmnnlmmmmlllmmmllkjjkkkkllkkkkkllnnnnnnnnnnnmlllkkjjklmnnooonooooopqooonnmmnopqqqppqqqqrrrqqoonnnnnnnoonnnopqqqponnnpqqrrrqqonnnopppnnnnooonnnopqrrr]]]]]]\\\]]]]]]\]]]]\\\\\\]\\\]^^^^]\ZZY\^`bcca````_____a`_^^_`aaaaaa```aaabcddcdddcccdeeeddefggfeeeeeeeffggggfffeefhjjigfecbaaadefgggffcdefggffcddefggghhhhggghjklmllllllllllkkkllmmmmlkkkllllllkkkkkkkklmmlkjjkjjklnnpmmmmmmllmmmmllllllllmmlkkkllmnnonnnnnnnnnnmmllkkllmnooopnnnnnnopppponnnnoprssrrrqrrsssssqqponooooonnnnoprrrqpoopqqrrrrrqoonnoppooooopppoooppqqrr]]]]]]]]]]\\\\]]\\\\\\\\[[\[[[\]\\]]\[[[]^`bcba`````````ba`___``bbcdddccbaabcddcdddcbbcdeedefgggfffeeeeefggggggfgeccfhiihggeddddffggggggefggggfeccddefggghhgggghklmnmmmmlllllkkkkklmmmllkkkkkllllllkkkkkmnnnnllkkkkklnopnnnnmmmllmmmmnnnnnnnnnmmlmmnnoopoonnnnnnnnnnnmmllmmnnooonnoooopprrrqonnnoprsssrsqrrsttttssrqppqqponnnnoprrrrqqqrrrssssrrpponoonnpqqqqqqqqqqqqqqq]]]]]]]]]]\\\\]][[\\\\\\[[\[[[\]\\]]]]^^_``bba``___``bcdcba``````abcdeeedcccdddceeddcbcceddefgggffffffffgggggggggfcbdfhijiihgggggggggggggggggffedddeefggghihgghikllllkklllllllllkkllllllkkkkllmmmmmlllllnnoonnmmllllmnopnnnmmmmmllmmnnnooonnnnnnnnnnooppooonnnnnoooonnnnmmnnnnnnopqqqqqrsssrpooooprrrrssqrrsstssttssrrsspponnnnpqrrrrrstssssssrrrqpooonnqrssrrrrsrrqqqqq\\\\\\\\\]^__^]\[[[\\\\\\]]]]]^_^^^^^_`aaaaaa```^__`acefddcbaaaa``abceefffffffffeffedccddddeggggggggggggggggggggggfeefhijjjjihhgggggggggggggggggfffffggggijjihijlmmllklllllllmmmmmmmlllllllllmnnnnnmmmmmnopqonnmmmmmmnnommmmmmmmlmmnnnooqponnnnnnnoooooooonnnnnnoooonnnnnnnnnnnnoopqqqqrrssrpooopqrrrrstqrrsssssssttttttrrqponopqrrrrrstsssssrrrrqpppqppqsttsrrssrrqqqrr[[[\\\\\[]`aa`][ZZ[[\\]]]^^_^_`````__`bdcbba```_```abdefeedccbbabbcdefgggghhggggfgggfedddddegggfggggggghggggggggghhggghjhhiiihgggggfffgggggfgggggggggggggikljjjknnnnmmnnlllmmnnnnnnmmmmmmmmmmnnnnnnnnnnnnoqqpnnmmmmmnnnnmmmmmmmmmmnnnnoorponnnoooooooonnoonnnnnnnnnnnnnnonnnnnnnnnoooooprrrrponnqqrrrrstqrrsssssrsstttttssrqpoopqrrrrrstssssrrrqrrqqrrrrqsttsrrsrrqqqrss^^\[[[[[\]`bca_][[\\^_``a```ab````````abbbcdddcccccdddddefffedddddeffggggggggggggggfdddeeeeffggggggggggggggggggghiiiihggefgggggfggffggggggffgggggggggghijlmljjkmnnnnnnnnnnmmnnnnnnnnnnmmmmmmnnnnmnnnnnmmmnpqqonnmmnnoonnlmmnnmmmmmnnooopqqponnoonnnnoooonooooonnooooooooooonnnnmmnnnopppppponnooqqrrrssstsssrrrrsrstuutssssrrqqqssssssttttssrqqqqrrssrrqrssssrrrqqrsssss^]]\[[[[[\_`bb`____``aab````aaa```aaaaabbbccccccdccccddeffgfeededdefgggggggggggggggedddeffffggggggggggggggggggggiiiiihggffgggggggggggggggggggggghhgggijkklmmkklmnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnmnnnnmlkmnpqpnnmmmnnooonmmmmmmlllmnnopppqqpooooooooooooooooooonnoooooooooooonnnnnnoopqqqppponnopqqrrrssssssrrrrrrrssttsrsssrrrrrssssssttttsssrrrqrrssrrrrssssrrrqqrsssss]]]]\\[[Z[\_`bbaabbccccca````aba`abcbbbbbbbbccccdcbaaceffgggfeeeddefggghggggggggfgfeddddggggggggggggggggggffggghjjjihggfggggggggggggggfffhjjhgghiihghiklklnnmlmnnnmmmmmmnnnnnnnmmmnnnnnnnnnnmnnnmnnmmlkjmnoponmmmmnnopoonnmlllkklmnoppppqppooopppooonnnnppooooooooooppppoooooonnnoopqrrrqqqpoopqrrrrrrrsssrrrrrrsrrssssrssssssssssssstuuttssssssqrrsssrrrssssrrrqrrsssss]^^^^]\\[[[]_abbabcdddddccbaabccbcdddcbbcbbbbccddb```bdffggfeddeddefgghhgggggggggggfedeegggggggggghhihggggggghijkjjigggfggggggggggggggfefimmjhhiihgggiklklnnnmnnnnnmlllmnnnnonnmlmmnnnnnnnnmmmmmmmmmmlkkmnoponnmmmmnooonnnmlkkkklmnoppppqppppppqpppoonnnpponnnoonnnoppppoppppppooopqrrssqrrqqqqrrrrrrrrrssrrrrsssrrrsssrssssstttsssttuuutttsssssrrrssssssssssrrrrrrsssss^__`__^]]\\]^`ab``abccccggfddcddcdeeedccccccccddcb```adeeffedddeeefggghhggggggggggggfeffffggggggfghijjiiggggghjjkjihgggfggggggggggggggfegjnnliijgggfggijkklmmnnnnnnnmlmmnnnnonnmmmmnnnnnnnmmllllmmmnnnnnnopponnnllmmnnnnonnmllkllmnopppppppppppqpppooonnponnnnnnnnnoooooopqqrqqqoopqrrrrrrrrrrrsssrrrrrrsssrsstutsrrsssrsssttuuuttttuuuuuutssrrqrrrrssssssssssssssssssss`````````_^^``ab```abccchhggedeedeffedddddddeeeecba`abdeeeeedddefffggggggggggggggggggffgfffgggfffggijjjjhggghhijiihgggggggggggggggggggffgilmkiijggfffgghjjjklmmnnnnnmlmnnnnnoonnnnnnnnnnnmmmllmmmmnnnnnnopqqponnmmmmnnnnonnnmmmmmnnooppppppppppppppoooooponnnnnnnnooooonopqrssrrpppqrrrrrrssrsstssssrrrrssrrstuuutsrsssssstuuuuuuuuuuuuuuuutsrqqrrrrssttttssssttssssssssaaaabaaaa```abccbbbbcddeghhgfeeeffffeddeeeffffffddccccdeeeeeddefggggggggggggggggfggggfffffggggggfgghhiihggggghhhgggggggghhiiiihhggggggggghijiiiigggggggghhhhjkmmmnnnmlmnnnnnnonnnnnnnnnnnnmmnnnnnnnnnnnnopppoonnnnmnnnnnnnnnnnnnnnnnoopppppppppppppppppppponnnnnopppponnoprsttssqqqrrrrrrrsssstttttssrrrrrqrsuuvuussstttstuuuuuuuuuuuuuuvuuutsssrrrrsttttttttttuttttttttbbbbbbccbbbbddedeedddefffgggfdeefgffeddeeffggggfeeeeeeeeeeeeeefggggggggfggggggggffggffffffggggggggggggggggggggggggfffgghiijkkjiigggggggggggghhhhgggggggghggghjlmmnnnmlmnnnnnnooonnnnnnnnnnnnnnoonnnnnnnnoppponnnnnnnnonnnooooonnnnnnnoppppppppoooooppqqqqpppoooopqqqqponpprsttttrrrrrrrrqrsssstuutttssrrqqqqrtuvvutsstttttuuuuuuuuuuuuuuvuuuuuuurrrrsttuuuttttuuuuttttttabbccdddcb``acddedddeeeffgfeggefgggfedeffggggghggffeeffgdeeeeeggggggggggggggggggggggggghiihggggggghggggggggghhgghggggghillmmnmkifffgggggggghhhijiiiiijkkjjiijklmnnnmmlmmmnnnooooooonnnnmnnnnpqqponnnnnnnoopppoononnnoonnoooooonnnmnnpqpopppppoonnnnoqrsssrqpooooprssrpoopqrsttssrssssrrqsstttuuuuutsssssstuuuvwwvuuttuuuuuuuuuuuuuuvvuuuuuuuuuuuttssssttuuuuuuuuuuutttttcccccccddcbccdeedddddeeeggeeggfgggggeefgfhhgghihgggfffggfffffffgggghhggfggffgggfggggghijlkjhgggggghhgggggggijkjiggggghijmmmmmljhggggghhighhiijlmlllmmmnnnnmmmmnnnnnmmmmmmnnnooppoooonnnnnnnopppponnnnnnnopppppoonnnnoponooppponnnnnopqpoppppppoonnoprsttrrqqpqqrqrttsrqqrrstuuttssttsssrstttuuuuuutssssttuuuuvvwuuutuuuuuuuuuuuuuuuuuuttuuuuuuuuuuttttuuuuuuuuuuvuuuuuuueddccccdeeeeffeedddddeeefgedggfggggggfgggiihgijiihggfgggggggggfffgijjhgfggffggfegghhijklnmkiggfffghihhhhhhjlmnmlhhhijjkknnmmmkihgghhijkkhijkklmnnnnnonnnponnnnnnnnnnnmmmnnnnoppqppoooooopoooppppoonnnoooppppppponnnoppppppqqppoooopqrrqpppqqppoooopqstutrrrrrsstrsuuttttttuuuuuuttttttttttuuuuuuuutsstuuuuvvuuuuuuuuuuuuuuuuuuuvuuuttsssttuuuvvvuuuuuuuuuuuuuuuuvvuuuuuueedccddefffgggeddddeeeeefgdcfgfggghhgggghjjhhijiihggffggggggggfeghkmmkhgfffggggghhijklnnnnkiggfffgijjjiijklnnonmjkkllmmmnnnmmlkjhhijkllmjkklllmnnnnoonnnonnnmnnnooonnnnnnnnoopqqpppppppppoopqqqqpoooppppppppppppnnoopqqrqqrrqqppqqrssrrqpppppppoooprtuutsrrrssttstuuuuuuuvvwwvvuuuttttuuuuuuuuuuutssstuvuvwvuuuuuuuuuuuuuuuuuuvvuuttssttuuuuuuvvuuuuuuuvuuuuuuuuvvuuuuuudddddefgfffgggedeeeffffffgdcfgfggghihhhhhjkihijiihgggggggggghhgfhjmnnnkiggghijjiijkklmnonmkhggggghjkkkkklmnnonnmmnnnnnmmnnmnnnmmiijklmmnllllkklmnnnnnnnnnnnnnnnnppppppppoooppqqqppppqqqqoooprssrqpppqqqqppppppppooppqrrsrrssrrqqrstttsrrppppppppppqstuutssssssststtuuuuvwwxxxwvvuutttuuuuuvvvvuuuttstuvwuvvvuttsuuvvuuuvvvuuuvvvuutttuuvuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuccddefggffeefffefgggggggggfeggfggghhhhiijlljiiihhhhhhhhhggghjjihjkmnnnmlihhijlllkkkkklmnmljhggghijklllmmnnnnnnmlnnnnnnnmmmmmnnnnkkllmnnnmnnmllmmoooooooonnnoooppppqqqqqqppqqqqqqppppqqqqoopqrsssrrqrrsrrqqqqqqqqqqqqqrstssssssrqstuuutssqqqqqqqqqqrstuuttttttssssttttuuwwwxxxwvvuuuuuuuuvvwwwvuuuuuuuuvwuuvvuuttuvxxvuuvvvvvvvvvuuuuuuvwvvuuuuuuvvvvuuuuuuuuuuuuvvuuuuuubcdefggggedddfgggghhihhhhigghhgggghhhhijlnmkijjhijkkkkkjkjjkmmlkjjklmmnnlkjjkllmkkjiiijknljihhhikllllmnnnnnnnnmmnnnnnnnnmmlmnnnnmmnnnnnnnnnnnnnooonnnnoopppppqqqppqqqqqqqqrsrrqppppppqqqpppqsssstssssssrrrrrrsssrssrrrststtttsrrstuuutsssssssssssssstuuutuuuuuuuttttstuwvwwxwwvuuuuvvvvvwwwxwwvuuuuuuvvvuuwwvuuuuwyywuuvvvvvvvvvuuuuuuvvvvuuuvvwwwwvvvuuuuuuuuuuwwvuuuuucdefggffgeccdfghhhiijjiijkihjighggghhijkmnnljkjijkmnnnmmnmlmnnnmiiiijlmnnmkjjkllkkjhgghinmkihhiilmmmmmnnnnmmnnnnmmmmmnnnmlllmnnnnnnnoooonoooopqrnnmmmnnnqpppppppoppqqqqqqrstsrqppppppppprqqrrsrrttssttsrssssstttsttsrrsttttttssrstuvuttttttttttuutttuuuutuuuuuuuuuttstuwvvwwwvvuuvwwxxwwwwxxxwvuuuuvvvvvuvwwwvuuvxzywuuvvvvvvvvvuuuuuuuuuuuuvvwxxxwwwvuuuuuuuuuuxwwvvvvveeeefggggggfefggggggggjkkkkjhggggghhijlmnnnnnmlkmllllmnonnmmmmmlijkllmmmnnnmlllmmmlkiiijnnmnnnlkklmnnnnnnnnooooonnnnnnnnmnnnmmnnmmnoqqonooppqqppnnmmnopprrqpppqqqrrqoopruttuuusqppppppppnoprtuutuuuutstuuutttttutttttttttssrstuutttsssssrsssstuuvvuutttuuuuvvvuuvvvuuuuutuuvwwwvwwwwvvvvwwvvvvvwvvvvvvwwvvvvvvvvuvwwwwvuvuuvvvvvwwwvvvvuwvvvvwwwvvuuuuuuvuuuuvvvwwwwvvvvffffggggggggggghggggghjljkkihggghhhhiiklnnoonnnmmlllmnnnnnnmnnmmkkllmnnnnnnnmmmnnnnlkkklonnnnnnlklnnnnnnnnooppppponnnnnnooonnnnnnnnpqqonoppqqqpponnnopppqppooppqqrrqppqsuuuuvvtrqqqqqqppopqrtuutuuuuttuvvuuutttttttttttttsssstuuuuuuttttttttssuuvvuuttuuuuvwwwvvwvvvvuuuuuvwwwwwwwwwwwwwxwwvvvvwvvvvvwwwvvvvvvvvuvwwwwvuvvvvvvwwwwwwvvvvvvvvvwwwwwvvvvvvvvuuvvvvwwwwwwvvggggghhhhhhgggijhhhgghjlmmmlkiiiiiiiiijknnnonnnnlmmnnnnnnnnnnnnmnmmmnnnnnnnnnmnnnnnnmmmnnnnnoonnlmnooonnnoopqqqqqqponnnnqqqponnonoopqqpoppqqqqqpppoppqppoooooppqqrsrqqrtuuuvwwutssrrrrqqqqrsuuuttuuuuuuvwvuuutttttttttuuttsstuuvuuuuuuuuuuuutttuvvvuuuuvwwwxxxxwwwwwvvvuvvwwxxwwwwwxxxxxxwwvvvvwvvvvwwwwvvvvvvvvvvwwwwvvvvvvvwwwxxxwwwwwvvvvvwwxxxxxxxxxxwvvwwwwwwwwwwwwggghhhhhhihhhhjkjjjihijknnnmlkjkijkkjjklmmnnnnmmlmnnnnnnnnnnnnnmnnnmmmnnnnnnnnnnnnnnnnnnnnnnnnnnmnpqpooooopqrrrrrrqppooorrrqppppppppqqpoqqqqqqqqqqpqqqqpoooopqqrsttsrqrsuuuvwwvuttttsssrrrrsuuutttuuuuuuvvuuutttttttuuuuttsstuuvvvvvvvvvvvvuuuuuvvvvuuvwwxxxxxxxxxxxwwvvvwwwwwwwwwwxxxxxxxwwwwwwwwwwwwwwvvvvvvvvvwwxxwwvvvvwwwxxxxxxxwwwvvvvvwwxxxxxxyyyyxwwxxxwwwwwwxxxgghhgghhhhhhhikllllkjijjkllkjiiijklmmmmnmmnnnnnnmnnooonnnmmnnnnmnnmmmmmmmnnnmmnnnnnnnnnnmnnnnnnnnoqqqpooppqrrssrrrqqqqqqqqrqqqqrrqpqqqqqrrrrqqqqqqqqrrqppppqqrssuuutrqqrttuuvvuuuuuuuuttssstuuutuuuuuuttuuuuuuuuuuuuuuuvttsstuuvvvvvvvwwvvwvvvvwvwwwvvwwwxxxxxxxxxxxxwwwvwwwwwwwvwwwwxxxxxxwwwwwwwwwwwwwwwwwwwwwwwxxxxwwwwwwwxxxyyyxxxxwvvvvwwxxxxxxxyyyzyxxxyxxwwwwxxxxghiihgghhhhhhikmnnnmkjjkllmmlkklklnnnnnnnnoppooonnopppoonmmnnnnnmnnnnnnnmnnmmmmnnnnnnnnonnnnmmnnopqqqppppqqrsssrrrrrrrrrpqqqqqrsrqqqqrrrsssrrrrrrqqqrsrrrrrrssttuuutrqqrttuuuuuuuuuuuuuuuttuuuuuvvvvvutssttuuuuuuuuuvvvwuutttuuvvvvvvvwwvwwwwwxxwwxxwwwxwwwwwwwwxxxxxwwwwwwwwwwwwwwwwxxxxxxxxwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxyyyxxxxwwwwwwwxxwwxxxxyyzyxxyyyywwwxxxxxgijjhghiiiihijlnnnnnmlllnnoonnnolnnonnnnooppppoonoppqpponnnnoponnnnooonnnnnnmmmnnoooooopopponnnopqqqppppqqrrrrrrsssrrrqqqrrrqqrsrqpprsttttssrrrrrrqqstttsssttttttuutrqrsttuuuuuuuuvvvvvvuuuuvwwvwwwwxwutttuuuuuvuvvvvwwxvuuuuuvvwwwwwwwwwwxxwwxxwxxxxwxxxwwwwwwwwxxxwwwwwwwwxxxxwxxxxxxxyyyxxxwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxyyxxxxwwxxxwwwxxxxxxxxxxyyxxyyyyxxxxxxxxhjkkihhiiiiiikmnmmnnnmnnnnnonnopnnoonnnnnnoooonnooppqqppnnnopqponnpqqqppnnnnmmnnppqqppqqqrrponopqrrqpppqqqrrrrrrttssrqppssssrqrrrqpprstuuttsrrrrsrqrsuuuttttttttstttsrsttuuuuuuuuvvvwwwwwvvwxxxxxxxxyywuuuuuuvvvvvvwwwxxwwvuuvwwxxxwwwwwxxyxwwwwxxyyxwxxxxwwwwwwwwwwwwwwxxxxxyyyxxxxxyyyyyyyxxwwwwwwwwwwxxxxxxxyxxxxxxxxyyxxxxxxyxxxxwwwyyxxxxxxxxxxxxxyyxxxxyyyxxxxxwwwilnnnnnnkjhhjlnnmmmnnonnmnnoppoonnoonnnnnoonnnopnooopppqqqrrrqqpponprsqoponnnnnnqqqppqrrrsssrqqqqqqqqrrrttuuuutttsrrrqqprrsrqqqqqqrsstuutuuuuuuusrrssuuvuuuutttsttttuuuuuuuuuuuuuvvwxxyywxxxxxxxxxxxxxxwvvwwxxxxwwwwwwwxyyyyyyxxxxxxxxxxwxyxxwwwyxxxwwwwvwwwwwwxwwwwwwwxwxxyyyyyxxxxxxxxxyyyyxwvvvwwwwwwxxxxxxxxyyxxxwwwyyzzyxxxwwxxxxxxwxxxxxxxxwwvwwxyzzyyyxyyyyxxxxwwilnnnoonkjiikmnnmmnnooonnoopponnmnopoooonnnnnnoopppppqqqqrrrrrrqqpoqssrppooooopprrrrrrssssssrqqqppqrssttuuuuuuuuutrrrrqqrsttssssrrsstuuuuuuuuuuusssstuuuuuuuutttttuuuuuuvvvvvvvvvvwwxxyyxxxxxxxxxxxxxxxxwxxyyyyyyyxxxyyyyyyyxxxxxxxxxxxxxyyyxxxxxxxwwwwwwxxxwwxxxxxxxxxxxxyyyyyyxxxxxxxxxxyyyxxxwwxxxxxxxxxyyxxxyyxxxxxxyzzyxxxxxxyyyyxxxxxxxyyyyxxwwxyyzzzzyyyyzzyyyyyyjmoopqpnllkkmnnnnnnnopooppqqpnmklnopqppqnooppppqsrrrqqqqrrssssssrqqrstsqpppppqrrrrrsssssssssrrqqpqrstuuuuuuuuuuuutrrrrrrstuuuuuutttuuuuuuuuuuuuuuutttuuuuuuuuuuuuuuuvvvvwwwwwxxxwwwxxxxxyyyyyyxxxxxxxxxxyyzzzzzzyyyyyyyyxxxxxxxxxxxxxxyyyyzzyxxyxxwwwwwwxyyyxxxyyyxxxyyyyyyzzzzyxxxxxxxxxxxxxyyyxxyyzzyyyyyyyyyyyyyyyyyyzzzyxxxyzz{{zzzyyxxxyzz{zzyyyyyz{{{{zzzz{{{{{{{{imoopqpnmllmnnnnonnopqpppqrrpnmklmopppppopqrrrsssssrrrrrrrstttttrrqrsssrqqqqqrrrqrrrsssssrrssssrrrstuuuuuuuuuuuuutsrrssstuuvvuuuuuuuuuvvvvvvvvuuuuuuuuuuuuuuuuuuuuvvwwwwxxxxxxyywxxxxxxxyyyyyxxxxxxxxyyyyzzyyyyyxxxxxxxxxxxwwwwwxxxxxyyyyz{zzyyyxxxxxxxxyyyyxxyyyyyyyyyyyyyzzyyyxxxxxxxxxxxxxxxyxyyzzzzzyyyyyyyyyyzz{{{{{{zyxxyz|||||{{{zyyyz{|||{{zzzz{||||||{{{{{|||||ilnnooonnmmmnnnnoooppqqppqqrqonmlnnonnnnppqrrrssrrrrrrrrrrstttttrrrrssrrrrrrrrrsqqqrrrrrrqqrtuttttuuuuuuuuuuuuuuuutssttttuvvvuuuvvvvvvvvwwwwvvvvvvuuuuuuvvvuuvvvvvwwxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxyyyyyyxxxxxxxyyyyxxyxxwwwxxxxxxyyzzzz{{zyyzyyyyyyzzyzzyxxyzyyyyyyyyyyyyyyxxyxxxxxxxyyxxwxxxxyyzzzzzyyyyyyyyzz{{||||{{{yyyz|||}|||||{zzz{||}||||{{{{||||||||{{||||||jmnnnoonnnnnnnnnppoppqqpppqqqponnnnnnnnnopppppqqqrrrrrrrrrsstttsrrrrrrrrssstttttsrrqqqrrrrqstuutuuuvvuuuuuuuvvuuuuuuuuuuuuuuuuuvvvvvvvvvwwwwwvvvvvvvvvvvwwvvvvvwwwwxxxxxwwwwxxxyxxxxxxxxxxxxxxxxyyxxxyyyyxxxxxxxzz{{{{{{yyxxxxxyxxxyyyzzzz{{zyyzyyyzzz{{{{{zyyz{zzyyyyyyyyyyyxxxyyyyyyyyyyyyyyyyzzz{{{zzyyyyyyyyz{|||||||||{zz{|}}}}}||||{{{||}}||||||||||||||||||||||||lnonnppnponnnoooppoopqqpqqqqqpponooonopqqqqpoopqsssrrrrrqrrsssssrsssrrrrsstuuuvvuusrrrsttsrsuutsuuuvvvuuuuvwwwvuuuuuvvuuuuuuuuuvvvvvvvvvwwwwwwwvvvvvwwwwxxwvvvvwwxxxxxxxwwwxxxxyxxxxxxxxxxxyyyyyzyyxxxyyyyyyyyyyzz{|||||zzyyxyyzyyyyyzzzyz{zzyyyyyyzzz{{|||{zz{|{zzzzzyzyyzyyyxxzyyyyyyyyyz{{{{{||||||||zzzzzzzz{{||||||||||{{||||}}}||||||||}}}||||||||||||||||||||||||npqoopqpqponooppppoopqqprrqqqppppppooprsttsqpqrstttsrrrqqqrrssrrssssrrrsssuuvwxxwvutsstuutssuusqtuuvvvuuuuwxxxwvuuuvwwvuvvvuuuvwvvvvvvvvwwwwwwwwuvvwwwxxyxwvvvvwxxxxxxxxwxxxxxyyxxxxxxxxxxyyzzzzzzyxxxyyzzzzzzz{xyzz{{{{{zzyyyzzyyyyzzzzyzzzyyyyyyyyzz{{||||{{|||{{{zzzzzzzzzyyyzzzyyyyzxy{||}}}~~~~~}}|{{{{{{{{{|||}}|||||||||}|||}|||||||}}}}}||||||||||||||||||||||||ppppppppqqqppqqqpppppqqqrrrrqppoqqqrstuvuutsrsttuuutsrrrqqrrrrrsrrssttsstuuvvvvvvuuutuuvwvuutsrruuuvvwwwxwwwwwwwvvvvwvvvvvvvvvvvvvvvvvvvvvvuvvwwwwwwwwxxyyxwvwwwyyyxxwxyyyxyyzzzxxxxxxwvxyz{||zyyzzzxwwxyyyzzzzzzzzzz{{{yyz{|||||{zyyz{|{{|||{{{||{{{|||~~|||||||||{{{{zzyzz{|||||||{zzz{||}}~~~~}|}}||||||||||}}}|||||}}}|||||||}~~}}||||||}}}||||||||||||||||}}||||||pppppppppppppqqqpppqqqqrsrrrqqppqqqrstuuvuutttuuvutsrrrrssrrrrrrrrsttuttuuvvvvvvvuuuuuvvwvuutssruuuuvvwwwwwwwwwwvvwwxwwwwwwwwwwwwvvvvvvvwvvvvvwwxwwwxxxxyyxwvwwwyyyxwwxyzzyyzz{zyyyyyyyxyyyz{{zzzz{{zyyzzzzzzzzzzzzzzzzzyyz|||||||{zzz{||||}}|||||||||}}~~~}|||}||||{zzzzzz{{|||||||||{zz{||}}}~~}}|}}}|}||||||}}}}}}}}}}}}|||}}|}}}}}|||||||}}}}}}}}}|||}}~~~}}}}}}}}||qqqqqpppooppqqrrqqqqqrrrssrrqrrrrqqrrtuuvvuuuuuuuutsrrrsuttsrqqqrrstuuuuvvvwwwvvvvvvvvvwvvuuttssuuuuvvvvwwwwwwwwwwxxyyyywwwwwwwwwwwvvvvvwwwvvwwwxxxxxxxxyyxwwwwwxxxxwxxy{{{{{{{{zzzz{{{zzyyyz{{{z{||||||||||{{{z{{{{zzzzyz{|}~~~}||{{|||}~~~~~~~}}}}}}~~~~~}||}~~~}|{zyyzz{||}}}}}}}|||{{||}||}}~}}}}}}}}}}}}}}}~~}}}~~~}}}}}}}}}}}}}||||||||}}}~~}}}|}~~~~~~~~~~~~rrrrqqqpooopqqrrrrrrrrrrssrrrrssrrrrrstuvvvvuuvvuutsstuuvuutrrqqqrsuuuvvvvvwwvvvvvvwwwwwwvvuuuuuvvvvvvvvwwwwwwwvwwxxyyyyxxxxxxxxxxwwvvvwxxxwwwwxxxxxxxxxyyyxxwwwxxxxxxyz{|{{{z{{zzzz{{{{{zz{{|{{z{|||}}~}}||||{{{{{{{{{{|||}~~~}||||}}~~~~}}~~~}~~}}}~~}|zyyzz||}}}}}}}}}|||||}}||}}}}~}}}~~~~~~~~~~~~~~~~~}}}~~~~~}}|||||}}}}}}~~}}|}~~~~~~~~ssrrrrqqooppqrrsrrrrrrrrssrrrrstrrrrrsssuuuuvuuuttttuuvwwvutsrrrrrtuuvvvvvvvvvvvvvwwxwwwwwvvvvvvwxxwwwwvwwwwwwwvwwxxxyyyxxxxxxxxxxxwwwwwyyxxxxxxxxxxxxxxyzyyyyxxxyyxxxyz{{|{zz{|zyyyz{{zz{|}~}|{zz{|}~~~~~~}}|||{{||||}}}}~~~~~~~~~}}}}}~~~~~~~~~~~~~~}}~~}~~}|{{{z{|}~~}}}}}}}|||}}~}}}}}}~~~}~~~~~~~~~~~}}}}}}~~~~~~~}}}}}~~~}~~rrrrrrrrpppqqrrsrrrrrrrrsrrrrrssrrrrrrrrtuuuuuuusstuvwxxwwuuttttttuuvvvvvvvvvvvvvvwwwwwwwwwvvwwwxxxxxwwwwwwxxwwwwwwxxxxxxxxxxxxxxxxxwxxxyyyyyxxxxxxxxxxxzz{{{{zzyzzyyyzzz{|{zz{|{zyyz{{{{|}~|{zz{|}~~~~~~~~}}}|||}}~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~}|||||}~~~}}}}}}}}}}~~~~}~~~~~~~~~~~~~~~rrrrrrrrqqqqrrrrrrrrrrrrrrrrrrrrsrrrrrrrstuuuuutrsuuvwwwwvuuuuvvuvvwwwvvvvvvvwwwwwwvvvvvvvvvvwwwxxxxxwwwwwxxxxwwwxxxxxxxxxxxxxxxxxxxxxxyzzzzyyxxxxxxyyyzz{|||||{z{zzyyz{z|||{z|||{{{{|||||}~~}|{{{|}~~~~~~~~~~~}}~~~~~~~~~~~~~~}~~~~~}}}~~~~}~~~~~~~~~~}~~~~~~~~~rrrrrsrrrrrrrrrrrrrrrrrrqrrrrrrqssrrrrqqstuuvuutrsuuvvvvwvuuuvwxwxxxxwwvwwwwwwxxwwvvvvvvuuuvvvwwxxxxwwwwwwxxxxwwxxxxxxxxxxxxxxxxxxxxxxyyzzzzzyyxyyyyyzz{z{||||||{{{zzzz{{|||{{|}}|||||||}||}}~}||{{|~~~~~~~~~~~~~~~~~~~}~~}}~~~~~}}~~~~~~~rrrrrrssssrrrrrqrrrrrrrrrrrrsssttuuuuuuuuuvvvvuuuvvvwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwxxwxxxyxxxvwwxyyyyxxxxxyyyyyxxwxxxxxxxxy{{{{{{zzxxyyz{{{{{{{||||||{{{{{||||||{{|}}}}}~~~~~~~~}}}z{|}}}~~~~~}~~~~~~~~~~}~~~~~~~ttsssttttssrrrrrsrrrrrrsssssttuuuuvvuuuuvvvwvvvvvvvwwwwwwwxxxxwwwwwwwwwwwwwwwwwwwwwwxxxxxwwwxxxxxxxxxxwwvwwxxyyyxxxxyyyzzyyxxxxxxxxxyz{{{{||{zzyxxyzzzzz{{||||||{{{{|||}||||||~~~~~~~~~~~~~~{|}~~~~~~~~~~~~~~~~uuuuuuuuutsrqrsstssrrrssttuuuuuvvwwwwvwwwwwwwwvvvvwwwwwxwxxxxxxwxxxxxxxxwwwwwwwwwxxxxxxxxxxxxxxxyyxxwwwwwwxxxyyyyyyyyzzzzzzyyyyyyyyzzz{{{||||{{zyyzz{{{{{{|||||||{{{||~~~}||}~~}}~~~~~~~~uuuuuuuvuusrqrtuuutsssttuuuuuvvwvwxwwwwwxxxxwwvvwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxwwwxxxyyyzzyyzzzzz{{{||{{{zzzzzz{{{{{{{|||||{{||||||||||||||{|{{{|}~~}|}~~~}}~uuuuuuuvvutrrsuuuuutttuuuuuuvvwwvvwvvvvwwwwwwvvvwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwwwxxxxxxwwwxz{z{{{{{{{{{{{{||||||||||{{{||||||{{{|||||||||}}|||||||||||{{{|}~}}}~~}}}uuuuuuuvvutsstuvvvvuuuvvvvvvvvwwvvvvuuvvwwwwwwvvxwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxyyyyxwwxy{||||||||||||||||}~~~}}|||||||||||{{||||||{||||||||||||||||||||}~}}~~}~uuuuuuvvvuuttuvwvwwwwwwwwwwwwwwwvwwvvvvwwwwxwwwwxwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyz{{{yxwxz|}|}}}|||||||||}}~~~}}}}|||||||||||||||||||||||}}}}}}}}}}}}~~~uuuuuuvvvuuttuvwvwxxyyxxxxwwwwwwwxxwwwwxwwxxxxxwxwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyzz{|||{yxxz||}}}}}|||||||}}~~~~}~}|||||}||||||||||}}}}}}}}}~~~~}~~~~~uuvvvvvvvuuuuvwwxxxxxxxwwwwxxxxxwwwwwwwwxxxxxxwwwwwwwxxxwxyyyxxxxxxxxxxxyyyyyxxxxxxwwxxxyyyz||||||{zzz|||||}}||||||}}~~~~~~~~}}}|}}~~}}}~~~~}}~vvvvwwwwvuuuvwxwxxxxxxxwwwwxxxxxwwwwwwxxxxxxxxxxxxxxxxxxxxyyxwwxxxxxyyyyzzzzzyyyxxxxxxxyzzz{|||||||{{||||||}}}||||}}~~~~~~~}}~~~~~~wwwwwwwwwvvwxxxxxxxxxxxxwwxxxxxxwwwwxxyyyyyyyyxxxxxxxxxxxyyxwwwxxxyyzz{{{{{{{{zzyxxxxyyz{{||}}|||||||||}|||}}}|||}}~~~~wwwwwwwvwwwwxyxwxxxxxxxxwxxxxyyywwwxxyyzzzzzzzyyyyyyyyyyyyyxxxyzzzz{{{{{||||||{{yyyyzzz{|||}}}|{|||}}}}}||}~~~}}}}~wwwwwwwwwwwwxxxwxxxxxxxxxxxyyyyyxxxyyyzzz{{{{{zzzzzzzzzzyzzzzz|||||||{{{||||||||zz{{{{{||||}}}||||}~~~}}}}~~~}}~~~wwwwxxwwxwwwxxxxxxxxxxxxxxyyyyyyzzzyzzzz{{{{||||||||{{{{z{{||||}}||||||{|||||||||||||||||||}~~~}}}~~~~~~xxxyyyyyyxwwxyyyxxxxxxxxxyyyzzzz{{{zzzzzz{{|||||||||||||{||||||}||||||||||}}}}||||}}}||||||}xyyzzzzzzyxwxyyyxxxxxxxxyyyzzzzz||{{zzyyzz{|||||||||||||||}}||||||||||}}}}}}}}}}}}}}}}|||||}zzyxxxyzzzz{||{yyyzzyyyxyyyz{{||{|||{zz{||||||||||}}}|||||||||||}}||||||}}|~zzyyyyzz{{{{||{zyyzzzz{{z{{{|{{{|||||{||||||||||}}}}}}||~~~~~~~~~~~~~~~zzz{zzzz|||||||{yyzz{||||||||||{|||||||}||}||||}~~}}}}}}{{||||{{|||||||{yzz{|||||||}}|||||||||}~||}||||}~~}||}}~~|||||||{||||||||{{{{|||||||}}}}|||||||}}|}}}||}}~~}||}}~||}}}||||||||||||||||||}||}}}~~~}|||}}}|}}}}||}~~}}}}~}}}}}}}|||}}|||}}}||}}~~~~~~~~~~|}~~}}}~}}}}}}}}|}~~}|}}}}}~~~~~}~~~}}}~}}}}}}}|}}}}}}}}||}~~~}}}}}}}}}}}}}}}}||~}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}~~~}}}}}}}~~~~~~~}}}}}~~~~u~|vw||x~{}~ywzwxzuwuz{ywzzuz{v~}zyx}|wyuz||~|xvvwwuuvwvvv}xww|xzuww}|||{y}|yvxwsvvv~~uy||ux|y{vuyvwzuuuxwvwzyuwuz}}|wwzxxw}|}x{xyzwxxwuurxwz~{tuyzvww|vuyzwtxuuzyvwvxvuvuvvvwwxyywwwxvwx~y|yz~yw|y|uxwuxvtvwwwtwyxuvy{wuxwyyyxzwyx{xuuuuvuvvvtuwuxvvxw}uvuvwxyvuy|zuuzyy~|x|{y~}{vvwuvwwwwwuuuyvwwwwwvuuvwxuuvwwvuuvvvvvvvvvvvvvvvvvwx}{~|wzwuvwxxvuy}xu{xrvuyvtuv}|xvyuvwuvwwwwvvuuy~zutuuwvvvvvwwuvvwwvvuvvvvvvvvvvvvvvvvuyz{{x~{wuvuvvwxuuy}zx|ytww|uuu|v}x|x}}|xuuvuxwvvvvvvvvu~wxxwvvx{vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwuuuxztw|zzxtvuvvwxuuy}yrtuuuvuvxx}{~w}v||z{wt{v~ywuuwvwvvvvvvwwyyu{{uxzzywvvvvuuvvvvvvuvvvvvvvvvvvvvvvvvvvvvvwwuvuu||{|ywxv|z~vyurvxuvvwwuuy{xwutwxvvyxuuvz~wwvw}}yv{~yvwzvww{|}xutvzvuvvvvvvwwyzvvw}zvuzzwuuwyxwuvvwwvuuwvvvvvvwvvvvvvvvvvvvvvwwzwuu||~~uy{vyz~zsu}}uwxuxvuwvwwuuyuvzywvuvzuxvuv{{x||}z{||~ywy}xvvwuvyzuyxzvuwuvvvvvvvvvuvwyu|z{{uuwvvvvvvvvvvvwvvvuvvvvvvvvvvvvvvvvvvvvvwwwwwwwyzu|}{{uyxuu||y|yz{vxzyx|xuwxvwvwwuuyww}}uvuvxvuxuzusuy|yvw}{~wz|~~{~zwzutvuuvttwwquw|xuvuwvvvvvuuuuyyxx~zuywsvwvwwvuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwuvx{zxxx||{zxtxvyy}wvuy~}y|tuwu|vv}vxwvttvwvwwuuy||wzzwvuvxuvs{x|yyyux{yyx{wx}{{|z}zuzvswwwyuvuxuvuwuwzvtvvvvvuutx~}ww|zvzyvvz|zxxwuuuvxwwwvvvvvuvvvvvvuvvvvvvvvvvvvvwwwvx}y~|zy{wxwwwwwwwv}uwvz~|}yuwuu|{x||zvuvwxxvwuwytu||yxwxyyzvvux{qsy}~|}}v|~wv{~xx}vv}y{v~vvzxuxwwuxvw|yvvwwwwvvvvwwwwxxwyx~}z{|yuy|xwvvvvwxxwwwwwwvvvvvvvvvvvvvvvvvvvvvvwwwwxxxy{}{uwy{zuuwwwwwvvvy~vyuy|~}}|z|yyuwuu~|yvuuvvvvwwvx|}|yx{|{wuwzwvwv{}wxywx{~yxx{wvu|vy|~|~xvzyyuyxx|xx{sxvqtyyvvvvwwuwuvwwwwwvvvvvvvvvwuyz|{xwxvwvvvvwxxwwwwwvvvvvvvvvvvvvvvvvvvvvvvvwwwwvvuvvxxuutu|w~vwwvxwwvvvvvv{yvuwwu|{wz|||xuyu{|zyxwvuvyz}|~|wuy||wuvzxvxyz|xuwwuvz||{xvvvvwv|xuw~x|{~v}|{vuwu}{xuux~{wssxywwyxzuzzyuwwwwwwvvuuuuuuuuuwwz||uwwwxxvvvvvwwwwwwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvuuuuuvwxwuw{}}y||vuwwvuvvvvvvvvwvux{xvxuvxyy~xuvuz|yxwuuxuwz{vy|}xxuwyyxwwwxuw{yyyxvxwuuvvuuz{|~}zz~xvyurwz||ywwxuvwy{{{x~u{vywuu{x~~{yxz|y|||}wyyxvw}wx}x|ywwwwwwvvvvvvuuuuuuvuuuyzyywvuuuvuvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwuuvvvvvwzzz{zwz~ywvvvwwuvvvvvvvvuwwuvwvxvtvux}vxxx|}}{xwvuuuvwwxvvvvuvuzzvutqrwxvuvwxxwwuuuvyyuwwvuvwutuvvwxvvywy{{zyyzvzzxyyxvwuuwzz{|z|{~ywvvxwwuxxxytruw{{wt}zxwy|xxyywvx}yv|||{wux~~vwwwwvvvvvvvvvvuuwwwuvywxtxyvuvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuuvvwwwwwvvwwvuvvwwutuusuwvuwwvvvvvvvvvvwvuxwuuyuwwxxy~yvwx{{wz|{yuxzwuuuuvwxxuxwvvvuwwwuvywvyxwvuuvwxyvuuuwvuuvwwvvvwxvvvutuxwuuvvuuuuvwtuvtwvuuxyvuuvuvuwwtuyz{|~{uxvuvwsuwxszxutuv{uuuvu}vx{z}{wx|~wvu||w|}|~}||}yxxwvvvvvvvwwvvvvvvvvvuvwvvtvvuwwwxvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuuvvvvvvvwuuvvuvxvuxxvuvvwvvvvvvvvtwvuvvvvxuuutuvvyyyuxzxzyxyxtuvvvuutuuvuwwwvuuuuuwwvvuuvuuux{yvwwwwvuuvwxvvxywvwuvvuvwwvwvxzyvuuuuuwxwvvwvyxwvuwuuwxywvuvtxwuyyuuttuvvwyyzvtvutxwwvwtywsww{vwzyuz}|xx~zuwzz||xz}wvvwyzzxwwusvxvvvvvvvvvvvvvvvvuuuvwwywwwuuwuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvxwwvvvvvvvwvvuvvwwxxwzytuwvvwuuwvvvvvvvvyytuvuvxuwzuuyvuuvyuutvwvsxvvzuwvxxvxsvxwwxwvuuvwvvxxuuvvvuuwurtwwwwvvuutwxuuwxwwvvwvuuvwuuuwxxxwwwuuwwvvwuvvsuwuwwuuwvuywuwuvzvvuwwxwuvwxuuxxvxwxwuuz{vw|wusuytvwwz~|wuzxw}||t~yyuvuuww}z|~xvxwwwutuuxwx{tvvuuvvvwuvvvvvvvwvuxwuxuvxwvxvuwvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuuuvwwvuuvwxwvwwwutwyuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwvvvvvvuuvvvvvvvwvvwwvvvwuuvvwwwxvvvvvvvvwwwwwwwwvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvwwvvvvwwwwvvvvvvvvvvvvvvvvuuvwwwvuvuuuvwxxvvwxxwvvuuuuwz|}~|zwvuxwvvvwwwwxy{|}}}~|||w}uvxvxwvvvxyz||{{zzyywwvvvvwwwwvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvwwvvvvvvvvvwwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwvvvvvvvvvvvvvvvvuuvwwwvuvvvvvwwxvvwwwwvvwvvvvwxyvvvvvvvvwwvvvwwwuuuuuvvvxyywuuy||{xvuuuvuz{wuvvuwvvvvwxyxxxwwwvvvvvvvvvvwvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvuvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvwwvvvvvvvvwwvvuuuuuuuuuvvvwvvvvwwvxwwvvvvvwvvwxxwvuvvwwwwwuuuuwwvuvvvuvvvwvuuuuuuuvvvvvvvvwvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuvvvvvuxxxwwvvuwvuuvvvvvvvvvwwwuuvwwvuuuuvwwvuuxwwxwvvxvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvuuvvvuuvvvvvvuvvvvvvvvvuvvvvvuuuuuvvwuvwwuuvwvvvvvvvvvwwvuuuvvvvwvvvuwwwwwwwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwvvvuuuuuvvvwvvuvvvvuwwwvvvvvvvuuuuvvwvuuuuvvuvvuuwwvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvuwwwwvvvvvvuvvwvuwvvvuuuuxwvvwxwwxxwwvvvvvvvvwxxvvvvvvvvvvvvuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuvvvvvvvvvvwwvvvuuuuuvwwvvvvvvvuvvvvwwvuvvvvvvwwuuvvvuuuuuuvvvvuvvwwvuuuvvuuuvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv \ No newline at end of file diff --git a/app/src/main/java/com/zmy/yuv_convert/example/MainActivity.kt b/app/src/main/java/com/zmy/yuv_convert/example/MainActivity.kt new file mode 100644 index 0000000..3fb16ba --- /dev/null +++ b/app/src/main/java/com/zmy/yuv_convert/example/MainActivity.kt @@ -0,0 +1,64 @@ +package com.zmy.yuv_convert.example + +import android.graphics.Bitmap +import android.os.Bundle +import android.widget.ImageView +import androidx.appcompat.app.AppCompatActivity +import com.zmy.yuv_convert.Converter +import com.zmy.yuv_convert.Format +import com.zmy.yuv_convert.input.PackedByteBufferInput +import com.zmy.yuv_convert.output.PackedByteBufferOutput +import java.nio.ByteBuffer + +class MainActivity : AppCompatActivity() { + private val image1 by lazy { findViewById(R.id.image1) } + private val image2 by lazy { findViewById(R.id.image2) } + private val width = 720 + private val height = 1280 + private val yuv420Src: ByteBuffer by lazy { + val buffer = ByteBuffer.allocateDirect(width * height * 3 / 2) + assets.open("720_1280.yuv420").use { + val buf = ByteArray(1204) + while (true) { + val len = it.read(buf, 0, buf.size) + if (len < 0) { + break + } + buffer.put(buf, 0, len) + } + } + buffer + } + private val nv12Src: ByteBuffer by lazy { + val input = PackedByteBufferInput() + val output = PackedByteBufferOutput(Format.NV12) + input.provide(yuv420Src, Format.YUV420, width, height, intArrayOf(width, width / 2, width / 2)) + Converter(input).convert(output) + output.getOutput() + } + private val nv21Src: ByteBuffer by lazy { + val input = PackedByteBufferInput() + val output = PackedByteBufferOutput(Format.NV21) + input.provide(yuv420Src, Format.YUV420, width, height, intArrayOf(width, width / 2, width / 2)) + Converter(input).convert(output) + output.getOutput() + } + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_main) + + val input = PackedByteBufferInput() + val output = PackedByteBufferOutput(Format.RGBA) + input.provide(nv12Src, Format.NV12, width, height, intArrayOf(width, width)) + Converter(input).convert(output) + val bmNV12 = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888) + image1.setImageBitmap(bmNV12) + bmNV12.copyPixelsFromBuffer(output.getOutput()) + val bmNV21 = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888) + input.provide(nv21Src, Format.NV21, width, height, intArrayOf(width, width)) + Converter(input).convert(output) + bmNV21.copyPixelsFromBuffer(output.getOutput()) + image2.setImageBitmap(bmNV21) + } +} \ No newline at end of file diff --git a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml new file mode 100644 index 0000000..2b068d1 --- /dev/null +++ b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..07d5da9 --- /dev/null +++ b/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000..60c71e5 --- /dev/null +++ b/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,24 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 0000000..eca70cf --- /dev/null +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 0000000..eca70cf --- /dev/null +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.png b/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..a571e60098c92c2baca8a5df62f2929cbff01b52 GIT binary patch literal 3593 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 P00000NkvXXu0mjfP=x?Y literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/app/src/main/res/mipmap-hdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..61da551c5594a1f9d26193983d2cd69189014603 GIT binary patch literal 5339 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..b216f2d313cc673d8b8c4da591c174ebed52795c GIT binary patch literal 11873 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml new file mode 100644 index 0000000..2432d11 --- /dev/null +++ b/app/src/main/res/values-night/themes.xml @@ -0,0 +1,16 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml new file mode 100644 index 0000000..f8c6127 --- /dev/null +++ b/app/src/main/res/values/colors.xml @@ -0,0 +1,10 @@ + + + #FFBB86FC + #FF6200EE + #FF3700B3 + #FF03DAC5 + #FF018786 + #FF000000 + #FFFFFFFF + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml new file mode 100644 index 0000000..9da6f8a --- /dev/null +++ b/app/src/main/res/values/strings.xml @@ -0,0 +1,3 @@ + + yuv_convert + \ No newline at end of file diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml new file mode 100644 index 0000000..1731efb --- /dev/null +++ b/app/src/main/res/values/themes.xml @@ -0,0 +1,16 @@ + + + + \ No newline at end of file diff --git a/app/src/test/java/com/zmy/yuv_convert/example/ExampleUnitTest.kt b/app/src/test/java/com/zmy/yuv_convert/example/ExampleUnitTest.kt new file mode 100644 index 0000000..a6d2746 --- /dev/null +++ b/app/src/test/java/com/zmy/yuv_convert/example/ExampleUnitTest.kt @@ -0,0 +1,17 @@ +package com.zmy.yuv_convert.example + +import org.junit.Test + +import org.junit.Assert.* + +/** + * Example local unit test, which will execute on the development machine (host). + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +class ExampleUnitTest { + @Test + fun addition_isCorrect() { + assertEquals(4, 2 + 2) + } +} \ No newline at end of file diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..c8e9956 --- /dev/null +++ b/build.gradle @@ -0,0 +1,23 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. +buildscript { + ext.kotlin_version = "1.5.21" + repositories { + google() + mavenCentral() + } + dependencies { + classpath 'com.android.tools.build:gradle:7.0.2' + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" + } +} + +allprojects { + repositories { + google() + mavenCentral() + } +} + +task clean(type: Delete) { + delete rootProject.buildDir +} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..98bed16 --- /dev/null +++ b/gradle.properties @@ -0,0 +1,21 @@ +# Project-wide Gradle settings. +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true +# AndroidX package structure to make it clearer which packages are bundled with the +# Android operating system, and which are packaged with your app"s APK +# https://developer.android.com/topic/libraries/support-library/androidx-rn +android.useAndroidX=true +# Automatically convert third-party libraries to use AndroidX +android.enableJetifier=true +# Kotlin code style for this project: "official" or "obsolete": +kotlin.code.style=official \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..f6b961fd5a86aa5fbfe90f707c3138408be7c718 GIT binary patch literal 54329 zcmagFV|ZrKvM!pAZQHhO+qP}9lTNj?q^^Y^VFp)SH8qbSJ)2BQ2giqr}t zFG7D6)c?v~^Z#E_K}1nTQbJ9gQ9<%vVRAxVj)8FwL5_iTdUB>&m3fhE=kRWl;g`&m z!W5kh{WsV%fO*%je&j+Lv4xxK~zsEYQls$Q-p&dwID|A)!7uWtJF-=Tm1{V@#x*+kUI$=%KUuf2ka zjiZ{oiL1MXE2EjciJM!jrjFNwCh`~hL>iemrqwqnX?T*MX;U>>8yRcZb{Oy+VKZos zLiFKYPw=LcaaQt8tj=eoo3-@bG_342HQ%?jpgAE?KCLEHC+DmjxAfJ%Og^$dpC8Xw zAcp-)tfJm}BPNq_+6m4gBgBm3+CvmL>4|$2N$^Bz7W(}fz1?U-u;nE`+9`KCLuqg} zwNstNM!J4Uw|78&Y9~9>MLf56to!@qGkJw5Thx%zkzj%Ek9Nn1QA@8NBXbwyWC>9H z#EPwjMNYPigE>*Ofz)HfTF&%PFj$U6mCe-AFw$U%-L?~-+nSXHHKkdgC5KJRTF}`G zE_HNdrE}S0zf4j{r_f-V2imSqW?}3w-4=f@o@-q+cZgaAbZ((hn))@|eWWhcT2pLpTpL!;_5*vM=sRL8 zqU##{U#lJKuyqW^X$ETU5ETeEVzhU|1m1750#f}38_5N9)B_2|v@1hUu=Kt7-@dhA zq_`OMgW01n`%1dB*}C)qxC8q;?zPeF_r;>}%JYmlER_1CUbKa07+=TV45~symC*g8 zW-8(gag#cAOuM0B1xG8eTp5HGVLE}+gYTmK=`XVVV*U!>H`~j4+ROIQ+NkN$LY>h4 zqpwdeE_@AX@PL};e5vTn`Ro(EjHVf$;^oiA%@IBQq>R7_D>m2D4OwwEepkg}R_k*M zM-o;+P27087eb+%*+6vWFCo9UEGw>t&WI17Pe7QVuoAoGHdJ(TEQNlJOqnjZ8adCb zI`}op16D@v7UOEo%8E-~m?c8FL1utPYlg@m$q@q7%mQ4?OK1h%ODjTjFvqd!C z-PI?8qX8{a@6d&Lb_X+hKxCImb*3GFemm?W_du5_&EqRq!+H?5#xiX#w$eLti-?E$;Dhu`{R(o>LzM4CjO>ICf z&DMfES#FW7npnbcuqREgjPQM#gs6h>`av_oEWwOJZ2i2|D|0~pYd#WazE2Bbsa}X@ zu;(9fi~%!VcjK6)?_wMAW-YXJAR{QHxrD5g(ou9mR6LPSA4BRG1QSZT6A?kelP_g- zH(JQjLc!`H4N=oLw=f3{+WmPA*s8QEeEUf6Vg}@!xwnsnR0bl~^2GSa5vb!Yl&4!> zWb|KQUsC$lT=3A|7vM9+d;mq=@L%uWKwXiO9}a~gP4s_4Yohc!fKEgV7WbVo>2ITbE*i`a|V!^p@~^<={#?Gz57 zyPWeM2@p>D*FW#W5Q`1`#5NW62XduP1XNO(bhg&cX`-LYZa|m-**bu|>}S;3)eP8_ zpNTnTfm8 ze+7wDH3KJ95p)5tlwk`S7mbD`SqHnYD*6`;gpp8VdHDz%RR_~I_Ar>5)vE-Pgu7^Y z|9Px+>pi3!DV%E%4N;ii0U3VBd2ZJNUY1YC^-e+{DYq+l@cGtmu(H#Oh%ibUBOd?C z{y5jW3v=0eV0r@qMLgv1JjZC|cZ9l9Q)k1lLgm))UR@#FrJd>w^`+iy$c9F@ic-|q zVHe@S2UAnc5VY_U4253QJxm&Ip!XKP8WNcnx9^cQ;KH6PlW8%pSihSH2(@{2m_o+m zr((MvBja2ctg0d0&U5XTD;5?d?h%JcRJp{_1BQW1xu&BrA3(a4Fh9hon-ly$pyeHq zG&;6q?m%NJ36K1Sq_=fdP(4f{Hop;_G_(i?sPzvB zDM}>*(uOsY0I1j^{$yn3#U(;B*g4cy$-1DTOkh3P!LQ;lJlP%jY8}Nya=h8$XD~%Y zbV&HJ%eCD9nui-0cw!+n`V~p6VCRqh5fRX z8`GbdZ@73r7~myQLBW%db;+BI?c-a>Y)m-FW~M=1^|<21_Sh9RT3iGbO{o-hpN%d6 z7%++#WekoBOP^d0$$|5npPe>u3PLvX_gjH2x(?{&z{jJ2tAOWTznPxv-pAv<*V7r$ z6&glt>7CAClWz6FEi3bToz-soY^{ScrjwVPV51=>n->c(NJngMj6TyHty`bfkF1hc zkJS%A@cL~QV0-aK4>Id!9dh7>0IV;1J9(myDO+gv76L3NLMUm9XyPauvNu$S<)-|F zZS}(kK_WnB)Cl`U?jsdYfAV4nrgzIF@+%1U8$poW&h^c6>kCx3;||fS1_7JvQT~CV zQ8Js+!p)3oW>Df(-}uqC`Tcd%E7GdJ0p}kYj5j8NKMp(KUs9u7?jQ94C)}0rba($~ zqyBx$(1ae^HEDG`Zc@-rXk1cqc7v0wibOR4qpgRDt#>-*8N3P;uKV0CgJE2SP>#8h z=+;i_CGlv+B^+$5a}SicVaSeaNn29K`C&=}`=#Nj&WJP9Xhz4mVa<+yP6hkrq1vo= z1rX4qg8dc4pmEvq%NAkpMK>mf2g?tg_1k2%v}<3`$6~Wlq@ItJ*PhHPoEh1Yi>v57 z4k0JMO)*=S`tKvR5gb-(VTEo>5Y>DZJZzgR+j6{Y`kd|jCVrg!>2hVjz({kZR z`dLlKhoqT!aI8=S+fVp(5*Dn6RrbpyO~0+?fy;bm$0jmTN|t5i6rxqr4=O}dY+ROd zo9Et|x}!u*xi~>-y>!M^+f&jc;IAsGiM_^}+4|pHRn{LThFFpD{bZ|TA*wcGm}XV^ zr*C6~@^5X-*R%FrHIgo-hJTBcyQ|3QEj+cSqp#>&t`ZzB?cXM6S(lRQw$I2?m5=wd z78ki`R?%;o%VUhXH?Z#(uwAn9$m`npJ=cA+lHGk@T7qq_M6Zoy1Lm9E0UUysN)I_x zW__OAqvku^>`J&CB=ie@yNWsaFmem}#L3T(x?a`oZ+$;3O-icj2(5z72Hnj=9Z0w% z<2#q-R=>hig*(t0^v)eGq2DHC%GymE-_j1WwBVGoU=GORGjtaqr0BNigOCqyt;O(S zKG+DoBsZU~okF<7ahjS}bzwXxbAxFfQAk&O@>LsZMsZ`?N?|CDWM(vOm%B3CBPC3o z%2t@%H$fwur}SSnckUm0-k)mOtht`?nwsDz=2#v=RBPGg39i#%odKq{K^;bTD!6A9 zskz$}t)sU^=a#jLZP@I=bPo?f-L}wpMs{Tc!m7-bi!Ldqj3EA~V;4(dltJmTXqH0r z%HAWKGutEc9vOo3P6Q;JdC^YTnby->VZ6&X8f{obffZ??1(cm&L2h7q)*w**+sE6dG*;(H|_Q!WxU{g)CeoT z(KY&bv!Usc|m+Fqfmk;h&RNF|LWuNZ!+DdX*L=s-=_iH=@i` z?Z+Okq^cFO4}_n|G*!)Wl_i%qiMBaH8(WuXtgI7EO=M>=i_+;MDjf3aY~6S9w0K zUuDO7O5Ta6+k40~xh~)D{=L&?Y0?c$s9cw*Ufe18)zzk%#ZY>Tr^|e%8KPb0ht`b( zuP@8#Ox@nQIqz9}AbW0RzE`Cf>39bOWz5N3qzS}ocxI=o$W|(nD~@EhW13Rj5nAp; zu2obEJa=kGC*#3=MkdkWy_%RKcN=?g$7!AZ8vBYKr$ePY(8aIQ&yRPlQ=mudv#q$q z4%WzAx=B{i)UdLFx4os?rZp6poShD7Vc&mSD@RdBJ=_m^&OlkEE1DFU@csgKcBifJ zz4N7+XEJhYzzO=86 z#%eBQZ$Nsf2+X0XPHUNmg#(sNt^NW1Y0|M(${e<0kW6f2q5M!2YE|hSEQ*X-%qo(V zHaFwyGZ0on=I{=fhe<=zo{=Og-_(to3?cvL4m6PymtNsdDINsBh8m>a%!5o3s(en) z=1I z6O+YNertC|OFNqd6P=$gMyvmfa`w~p9*gKDESFqNBy(~Zw3TFDYh}$iudn)9HxPBi zdokK@o~nu?%imcURr5Y~?6oo_JBe}t|pU5qjai|#JDyG=i^V~7+a{dEnO<(y>ahND#_X_fcEBNiZ)uc&%1HVtx8Ts z*H_Btvx^IhkfOB#{szN*n6;y05A>3eARDXslaE>tnLa>+`V&cgho?ED+&vv5KJszf zG4@G;7i;4_bVvZ>!mli3j7~tPgybF5|J6=Lt`u$D%X0l}#iY9nOXH@(%FFJLtzb%p zzHfABnSs;v-9(&nzbZytLiqqDIWzn>JQDk#JULcE5CyPq_m#4QV!}3421haQ+LcfO*>r;rg6K|r#5Sh|y@h1ao%Cl)t*u`4 zMTP!deC?aL7uTxm5^nUv#q2vS-5QbBKP|drbDXS%erB>fYM84Kpk^au99-BQBZR z7CDynflrIAi&ahza+kUryju5LR_}-Z27g)jqOc(!Lx9y)e z{cYc&_r947s9pteaa4}dc|!$$N9+M38sUr7h(%@Ehq`4HJtTpA>B8CLNO__@%(F5d z`SmX5jbux6i#qc}xOhumzbAELh*Mfr2SW99=WNOZRZgoCU4A2|4i|ZVFQt6qEhH#B zK_9G;&h*LO6tB`5dXRSBF0hq0tk{2q__aCKXYkP#9n^)@cq}`&Lo)1KM{W+>5mSed zKp~=}$p7>~nK@va`vN{mYzWN1(tE=u2BZhga5(VtPKk(*TvE&zmn5vSbjo zZLVobTl%;t@6;4SsZ>5+U-XEGUZGG;+~|V(pE&qqrp_f~{_1h@5ZrNETqe{bt9ioZ z#Qn~gWCH!t#Ha^n&fT2?{`}D@s4?9kXj;E;lWV9Zw8_4yM0Qg-6YSsKgvQ*fF{#Pq z{=(nyV>#*`RloBVCs;Lp*R1PBIQOY=EK4CQa*BD0MsYcg=opP?8;xYQDSAJBeJpw5 zPBc_Ft9?;<0?pBhCmOtWU*pN*;CkjJ_}qVic`}V@$TwFi15!mF1*m2wVX+>5p%(+R zQ~JUW*zWkalde{90@2v+oVlkxOZFihE&ZJ){c?hX3L2@R7jk*xjYtHi=}qb+4B(XJ z$gYcNudR~4Kz_WRq8eS((>ALWCO)&R-MXE+YxDn9V#X{_H@j616<|P(8h(7z?q*r+ zmpqR#7+g$cT@e&(%_|ipI&A%9+47%30TLY(yuf&*knx1wNx|%*H^;YB%ftt%5>QM= z^i;*6_KTSRzQm%qz*>cK&EISvF^ovbS4|R%)zKhTH_2K>jP3mBGn5{95&G9^a#4|K zv+!>fIsR8z{^x4)FIr*cYT@Q4Z{y}};rLHL+atCgHbfX*;+k&37DIgENn&=k(*lKD zG;uL-KAdLn*JQ?@r6Q!0V$xXP=J2i~;_+i3|F;_En;oAMG|I-RX#FwnmU&G}w`7R{ z788CrR-g1DW4h_`&$Z`ctN~{A)Hv_-Bl!%+pfif8wN32rMD zJDs$eVWBYQx1&2sCdB0!vU5~uf)=vy*{}t{2VBpcz<+~h0wb7F3?V^44*&83Z2#F` z32!rd4>uc63rQP$3lTH3zb-47IGR}f)8kZ4JvX#toIpXH`L%NnPDE~$QI1)0)|HS4 zVcITo$$oWWwCN@E-5h>N?Hua!N9CYb6f8vTFd>h3q5Jg-lCI6y%vu{Z_Uf z$MU{{^o~;nD_@m2|E{J)q;|BK7rx%`m``+OqZAqAVj-Dy+pD4-S3xK?($>wn5bi90CFAQ+ACd;&m6DQB8_o zjAq^=eUYc1o{#+p+ zn;K<)Pn*4u742P!;H^E3^Qu%2dM{2slouc$AN_3V^M7H_KY3H)#n7qd5_p~Za7zAj|s9{l)RdbV9e||_67`#Tu*c<8!I=zb@ z(MSvQ9;Wrkq6d)!9afh+G`!f$Ip!F<4ADdc*OY-y7BZMsau%y?EN6*hW4mOF%Q~bw z2==Z3^~?q<1GTeS>xGN-?CHZ7a#M4kDL zQxQr~1ZMzCSKFK5+32C%+C1kE#(2L=15AR!er7GKbp?Xd1qkkGipx5Q~FI-6zt< z*PTpeVI)Ngnnyaz5noIIgNZtb4bQdKG{Bs~&tf)?nM$a;7>r36djllw%hQxeCXeW^ z(i6@TEIuxD<2ulwLTt|&gZP%Ei+l!(%p5Yij6U(H#HMkqM8U$@OKB|5@vUiuY^d6X zW}fP3;Kps6051OEO(|JzmVU6SX(8q>*yf*x5QoxDK={PH^F?!VCzES_Qs>()_y|jg6LJlJWp;L zKM*g5DK7>W_*uv}{0WUB0>MHZ#oJZmO!b3MjEc}VhsLD~;E-qNNd?x7Q6~v zR=0$u>Zc2Xr}>x_5$-s#l!oz6I>W?lw;m9Ae{Tf9eMX;TI-Wf_mZ6sVrMnY#F}cDd z%CV*}fDsXUF7Vbw>PuDaGhu631+3|{xp<@Kl|%WxU+vuLlcrklMC!Aq+7n~I3cmQ! z`e3cA!XUEGdEPSu``&lZEKD1IKO(-VGvcnSc153m(i!8ohi`)N2n>U_BemYJ`uY>8B*Epj!oXRLV}XK}>D*^DHQ7?NY*&LJ9VSo`Ogi9J zGa;clWI8vIQqkngv2>xKd91K>?0`Sw;E&TMg&6dcd20|FcTsnUT7Yn{oI5V4@Ow~m zz#k~8TM!A9L7T!|colrC0P2WKZW7PNj_X4MfESbt<-soq*0LzShZ}fyUx!(xIIDwx zRHt^_GAWe0-Vm~bDZ(}XG%E+`XhKpPlMBo*5q_z$BGxYef8O!ToS8aT8pmjbPq)nV z%x*PF5ZuSHRJqJ!`5<4xC*xb2vC?7u1iljB_*iUGl6+yPyjn?F?GOF2_KW&gOkJ?w z3e^qc-te;zez`H$rsUCE0<@7PKGW?7sT1SPYWId|FJ8H`uEdNu4YJjre`8F*D}6Wh z|FQ`xf7yiphHIAkU&OYCn}w^ilY@o4larl?^M7&8YI;hzBIsX|i3UrLsx{QDKwCX< zy;a>yjfJ6!sz`NcVi+a!Fqk^VE^{6G53L?@Tif|j!3QZ0fk9QeUq8CWI;OmO-Hs+F zuZ4sHLA3{}LR2Qlyo+{d@?;`tpp6YB^BMoJt?&MHFY!JQwoa0nTSD+#Ku^4b{5SZVFwU9<~APYbaLO zu~Z)nS#dxI-5lmS-Bnw!(u15by(80LlC@|ynj{TzW)XcspC*}z0~8VRZq>#Z49G`I zgl|C#H&=}n-ajxfo{=pxPV(L*7g}gHET9b*s=cGV7VFa<;Htgjk>KyW@S!|z`lR1( zGSYkEl&@-bZ*d2WQ~hw3NpP=YNHF^XC{TMG$Gn+{b6pZn+5=<()>C!N^jncl0w6BJ zdHdnmSEGK5BlMeZD!v4t5m7ct7{k~$1Ie3GLFoHjAH*b?++s<|=yTF+^I&jT#zuMx z)MLhU+;LFk8bse|_{j+d*a=&cm2}M?*arjBPnfPgLwv)86D$6L zLJ0wPul7IenMvVAK$z^q5<^!)7aI|<&GGEbOr=E;UmGOIa}yO~EIr5xWU_(ol$&fa zR5E(2vB?S3EvJglTXdU#@qfDbCYs#82Yo^aZN6`{Ex#M)easBTe_J8utXu(fY1j|R z9o(sQbj$bKU{IjyhosYahY{63>}$9_+hWxB3j}VQkJ@2$D@vpeRSldU?&7I;qd2MF zSYmJ>zA(@N_iK}m*AMPIJG#Y&1KR)6`LJ83qg~`Do3v^B0>fU&wUx(qefuTgzFED{sJ65!iw{F2}1fQ3= ziFIP{kezQxmlx-!yo+sC4PEtG#K=5VM9YIN0z9~c4XTX?*4e@m;hFM!zVo>A`#566 z>f&3g94lJ{r)QJ5m7Xe3SLau_lOpL;A($wsjHR`;xTXgIiZ#o&vt~ zGR6KdU$FFbLfZCC3AEu$b`tj!9XgOGLSV=QPIYW zjI!hSP#?8pn0@ezuenOzoka8!8~jXTbiJ6+ZuItsWW03uzASFyn*zV2kIgPFR$Yzm zE<$cZlF>R8?Nr2_i?KiripBc+TGgJvG@vRTY2o?(_Di}D30!k&CT`>+7ry2!!iC*X z<@=U0_C#16=PN7bB39w+zPwDOHX}h20Ap);dx}kjXX0-QkRk=cr};GYsjSvyLZa-t zzHONWddi*)RDUH@RTAsGB_#&O+QJaaL+H<<9LLSE+nB@eGF1fALwjVOl8X_sdOYme z0lk!X=S(@25=TZHR7LlPp}fY~yNeThMIjD}pd9+q=j<_inh0$>mIzWVY+Z9p<{D^#0Xk+b_@eNSiR8;KzSZ#7lUsk~NGMcB8C2c=m2l5paHPq`q{S(kdA7Z1a zyfk2Y;w?^t`?@yC5Pz9&pzo}Hc#}mLgDmhKV|PJ3lKOY(Km@Fi2AV~CuET*YfUi}u zfInZnqDX(<#vaS<^fszuR=l)AbqG{}9{rnyx?PbZz3Pyu!eSJK`uwkJU!ORQXy4x83r!PNgOyD33}}L=>xX_93l6njNTuqL8J{l%*3FVn3MG4&Fv*`lBXZ z?=;kn6HTT^#SrPX-N)4EZiIZI!0ByXTWy;;J-Tht{jq1mjh`DSy7yGjHxIaY%*sTx zuy9#9CqE#qi>1misx=KRWm=qx4rk|}vd+LMY3M`ow8)}m$3Ggv&)Ri*ON+}<^P%T5 z_7JPVPfdM=Pv-oH<tecoE}(0O7|YZc*d8`Uv_M*3Rzv7$yZnJE6N_W=AQ3_BgU_TjA_T?a)U1csCmJ&YqMp-lJe`y6>N zt++Bi;ZMOD%%1c&-Q;bKsYg!SmS^#J@8UFY|G3!rtyaTFb!5@e(@l?1t(87ln8rG? z--$1)YC~vWnXiW3GXm`FNSyzu!m$qT=Eldf$sMl#PEfGmzQs^oUd=GIQfj(X=}dw+ zT*oa0*oS%@cLgvB&PKIQ=Ok?>x#c#dC#sQifgMwtAG^l3D9nIg(Zqi;D%807TtUUCL3_;kjyte#cAg?S%e4S2W>9^A(uy8Ss0Tc++ZTjJw1 z&Em2g!3lo@LlDyri(P^I8BPpn$RE7n*q9Q-c^>rfOMM6Pd5671I=ZBjAvpj8oIi$! zl0exNl(>NIiQpX~FRS9UgK|0l#s@#)p4?^?XAz}Gjb1?4Qe4?j&cL$C8u}n)?A@YC zfmbSM`Hl5pQFwv$CQBF=_$Sq zxsV?BHI5bGZTk?B6B&KLdIN-40S426X3j_|ceLla*M3}3gx3(_7MVY1++4mzhH#7# zD>2gTHy*%i$~}mqc#gK83288SKp@y3wz1L_e8fF$Rb}ex+`(h)j}%~Ld^3DUZkgez zOUNy^%>>HHE|-y$V@B}-M|_{h!vXpk01xaD%{l{oQ|~+^>rR*rv9iQen5t?{BHg|% zR`;S|KtUb!X<22RTBA4AAUM6#M?=w5VY-hEV)b`!y1^mPNEoy2K)a>OyA?Q~Q*&(O zRzQI~y_W=IPi?-OJX*&&8dvY0zWM2%yXdFI!D-n@6FsG)pEYdJbuA`g4yy;qrgR?G z8Mj7gv1oiWq)+_$GqqQ$(ZM@#|0j7})=#$S&hZwdoijFI4aCFLVI3tMH5fLreZ;KD zqA`)0l~D2tuIBYOy+LGw&hJ5OyE+@cnZ0L5+;yo2pIMdt@4$r^5Y!x7nHs{@>|W(MzJjATyWGNwZ^4j+EPU0RpAl-oTM@u{lx*i0^yyWPfHt6QwPvYpk9xFMWfBFt!+Gu6TlAmr zeQ#PX71vzN*_-xh&__N`IXv6`>CgV#eA_%e@7wjgkj8jlKzO~Ic6g$cT`^W{R{606 zCDP~+NVZ6DMO$jhL~#+!g*$T!XW63#(ngDn#Qwy71yj^gazS{e;3jGRM0HedGD@pt z?(ln3pCUA(ekqAvvnKy0G@?-|-dh=eS%4Civ&c}s%wF@0K5Bltaq^2Os1n6Z3%?-Q zAlC4goQ&vK6TpgtzkHVt*1!tBYt-`|5HLV1V7*#45Vb+GACuU+QB&hZ=N_flPy0TY zR^HIrdskB#<$aU;HY(K{a3(OQa$0<9qH(oa)lg@Uf>M5g2W0U5 zk!JSlhrw8quBx9A>RJ6}=;W&wt@2E$7J=9SVHsdC?K(L(KACb#z)@C$xXD8^!7|uv zZh$6fkq)aoD}^79VqdJ!Nz-8$IrU(_-&^cHBI;4 z^$B+1aPe|LG)C55LjP;jab{dTf$0~xbXS9!!QdcmDYLbL^jvxu2y*qnx2%jbL%rB z{aP85qBJe#(&O~Prk%IJARcdEypZ)vah%ZZ%;Zk{eW(U)Bx7VlzgOi8)x z`rh4l`@l_Ada7z&yUK>ZF;i6YLGwI*Sg#Fk#Qr0Jg&VLax(nNN$u-XJ5=MsP3|(lEdIOJ7|(x3iY;ea)5#BW*mDV%^=8qOeYO&gIdJVuLLN3cFaN=xZtFB=b zH{l)PZl_j^u+qx@89}gAQW7ofb+k)QwX=aegihossZq*+@PlCpb$rpp>Cbk9UJO<~ zDjlXQ_Ig#W0zdD3&*ei(FwlN#3b%FSR%&M^ywF@Fr>d~do@-kIS$e%wkIVfJ|Ohh=zc zF&Rnic^|>@R%v?@jO}a9;nY3Qrg_!xC=ZWUcYiA5R+|2nsM*$+c$TOs6pm!}Z}dfM zGeBhMGWw3$6KZXav^>YNA=r6Es>p<6HRYcZY)z{>yasbC81A*G-le8~QoV;rtKnkx z;+os8BvEe?0A6W*a#dOudsv3aWs?d% z0oNngyVMjavLjtjiG`!007#?62ClTqqU$@kIY`=x^$2e>iqIy1>o|@Tw@)P)B8_1$r#6>DB_5 zmaOaoE~^9TolgDgooKFuEFB#klSF%9-~d2~_|kQ0Y{Ek=HH5yq9s zDq#1S551c`kSiWPZbweN^A4kWiP#Qg6er1}HcKv{fxb1*BULboD0fwfaNM_<55>qM zETZ8TJDO4V)=aPp_eQjX%||Ud<>wkIzvDlpNjqW>I}W!-j7M^TNe5JIFh#-}zAV!$ICOju8Kx)N z0vLtzDdy*rQN!7r>Xz7rLw8J-(GzQlYYVH$WK#F`i_i^qVlzTNAh>gBWKV@XC$T-` z3|kj#iCquDhiO7NKum07i|<-NuVsX}Q}mIP$jBJDMfUiaWR3c|F_kWBMw0_Sr|6h4 zk`_r5=0&rCR^*tOy$A8K;@|NqwncjZ>Y-75vlpxq%Cl3EgH`}^^~=u zoll6xxY@a>0f%Ddpi;=cY}fyG!K2N-dEyXXmUP5u){4VnyS^T4?pjN@Ot4zjL(Puw z_U#wMH2Z#8Pts{olG5Dy0tZj;N@;fHheu>YKYQU=4Bk|wcD9MbA`3O4bj$hNRHwzb zSLcG0SLV%zywdbuwl(^E_!@&)TdXge4O{MRWk2RKOt@!8E{$BU-AH(@4{gxs=YAz9LIob|Hzto0}9cWoz6Tp2x0&xi#$ zHh$dwO&UCR1Ob2w00-2eG7d4=cN(Y>0R#$q8?||q@iTi+7-w-xR%uMr&StFIthC<# zvK(aPduwuNB}oJUV8+Zl)%cnfsHI%4`;x6XW^UF^e4s3Z@S<&EV8?56Wya;HNs0E> z`$0dgRdiUz9RO9Au3RmYq>K#G=X%*_dUbSJHP`lSfBaN8t-~@F>)BL1RT*9I851A3 z<-+Gb#_QRX>~av#Ni<#zLswtu-c6{jGHR>wflhKLzC4P@b%8&~u)fosoNjk4r#GvC zlU#UU9&0Hv;d%g72Wq?Ym<&&vtA3AB##L}=ZjiTR4hh7J)e>ei} zt*u+>h%MwN`%3}b4wYpV=QwbY!jwfIj#{me)TDOG`?tI!%l=AwL2G@9I~}?_dA5g6 zCKgK(;6Q0&P&K21Tx~k=o6jwV{dI_G+Ba*Zts|Tl6q1zeC?iYJTb{hel*x>^wb|2RkHkU$!+S4OU4ZOKPZjV>9OVsqNnv5jK8TRAE$A&^yRwK zj-MJ3Pl?)KA~fq#*K~W0l4$0=8GRx^9+?w z!QT8*-)w|S^B0)ZeY5gZPI2G(QtQf?DjuK(s^$rMA!C%P22vynZY4SuOE=wX2f8$R z)A}mzJi4WJnZ`!bHG1=$lwaxm!GOnRbR15F$nRC-M*H<*VfF|pQw(;tbSfp({>9^5 zw_M1-SJ9eGF~m(0dvp*P8uaA0Yw+EkP-SWqu zqal$hK8SmM7#Mrs0@OD+%_J%H*bMyZiWAZdsIBj#lkZ!l2c&IpLu(5^T0Ge5PHzR} zn;TXs$+IQ_&;O~u=Jz+XE0wbOy`=6>m9JVG} zJ~Kp1e5m?K3x@@>!D)piw^eMIHjD4RebtR`|IlckplP1;r21wTi8v((KqNqn%2CB< zifaQc&T}*M&0i|LW^LgdjIaX|o~I$`owHolRqeH_CFrqCUCleN130&vH}dK|^kC>) z-r2P~mApHotL4dRX$25lIcRh_*kJaxi^%ZN5-GAAMOxfB!6flLPY-p&QzL9TE%ho( zRwftE3sy5<*^)qYzKkL|rE>n@hyr;xPqncY6QJ8125!MWr`UCWuC~A#G1AqF1@V$kv>@NBvN&2ygy*{QvxolkRRb%Ui zsmKROR%{*g*WjUUod@@cS^4eF^}yQ1>;WlGwOli z+Y$(8I`0(^d|w>{eaf!_BBM;NpCoeem2>J}82*!em=}}ymoXk>QEfJ>G(3LNA2-46 z5PGvjr)Xh9>aSe>vEzM*>xp{tJyZox1ZRl}QjcvX2TEgNc^(_-hir@Es>NySoa1g^ zFow_twnHdx(j?Q_3q51t3XI7YlJ4_q&(0#)&a+RUy{IcBq?)eaWo*=H2UUVIqtp&lW9JTJiP&u zw8+4vo~_IJXZIJb_U^&=GI1nSD%e;P!c{kZALNCm5c%%oF+I3DrA63_@4)(v4(t~JiddILp7jmoy+>cD~ivwoctFfEL zP*#2Rx?_&bCpX26MBgp^4G>@h`Hxc(lnqyj!*t>9sOBcXN(hTwEDpn^X{x!!gPX?1 z*uM$}cYRwHXuf+gYTB}gDTcw{TXSOUU$S?8BeP&sc!Lc{{pEv}x#ELX>6*ipI1#>8 zKes$bHjiJ1OygZge_ak^Hz#k;=od1wZ=o71ba7oClBMq>Uk6hVq|ePPt)@FM5bW$I z;d2Or@wBjbTyZj|;+iHp%Bo!Vy(X3YM-}lasMItEV_QrP-Kk_J4C>)L&I3Xxj=E?| zsAF(IfVQ4w+dRRnJ>)}o^3_012YYgFWE)5TT=l2657*L8_u1KC>Y-R{7w^S&A^X^U}h20jpS zQsdeaA#WIE*<8KG*oXc~$izYilTc#z{5xhpXmdT-YUnGh9v4c#lrHG6X82F2-t35} zB`jo$HjKe~E*W$=g|j&P>70_cI`GnOQ;Jp*JK#CT zuEGCn{8A@bC)~0%wsEv?O^hSZF*iqjO~_h|>xv>PO+?525Nw2472(yqS>(#R)D7O( zg)Zrj9n9$}=~b00=Wjf?E418qP-@8%MQ%PBiCTX=$B)e5cHFDu$LnOeJ~NC;xmOk# z>z&TbsK>Qzk)!88lNI8fOE2$Uxso^j*1fz>6Ot49y@=po)j4hbTIcVR`ePHpuJSfp zxaD^Dn3X}Na3@<_Pc>a;-|^Pon(>|ytG_+U^8j_JxP=_d>L$Hj?|0lz>_qQ#a|$+( z(x=Lipuc8p4^}1EQhI|TubffZvB~lu$zz9ao%T?%ZLyV5S9}cLeT?c} z>yCN9<04NRi~1oR)CiBakoNhY9BPnv)kw%*iv8vdr&&VgLGIs(-FbJ?d_gfbL2={- zBk4lkdPk~7+jIxd4{M(-W1AC_WcN&Oza@jZoj zaE*9Y;g83#m(OhA!w~LNfUJNUuRz*H-=$s*z+q+;snKPRm9EptejugC-@7-a-}Tz0 z@KHra#Y@OXK+KsaSN9WiGf?&jlZ!V7L||%KHP;SLksMFfjkeIMf<1e~t?!G3{n)H8 zQAlFY#QwfKuj;l@<$YDATAk;%PtD%B(0<|8>rXU< zJ66rkAVW_~Dj!7JGdGGi4NFuE?7ZafdMxIh65Sz7yQoA7fBZCE@WwysB=+`kT^LFX zz8#FlSA5)6FG9(qL3~A24mpzL@@2D#>0J7mMS1T*9UJ zvOq!!a(%IYY69+h45CE?(&v9H4FCr>gK0>mK~F}5RdOuH2{4|}k@5XpsX7+LZo^Qa4sH5`eUj>iffoBVm+ zz4Mtf`h?NW$*q1yr|}E&eNl)J``SZvTf6Qr*&S%tVv_OBpbjnA0&Vz#(;QmGiq-k! zgS0br4I&+^2mgA15*~Cd00cXLYOLA#Ep}_)eED>m+K@JTPr_|lSN}(OzFXQSBc6fM z@f-%2;1@BzhZa*LFV z-LrLmkmB%<<&jEURBEW>soaZ*rSIJNwaV%-RSaCZi4X)qYy^PxZ=oL?6N-5OGOMD2 z;q_JK?zkwQ@b3~ln&sDtT5SpW9a0q+5Gm|fpVY2|zqlNYBR}E5+ahgdj!CvK$Tlk0 z9g$5N;aar=CqMsudQV>yb4l@hN(9Jcc=1(|OHsqH6|g=K-WBd8GxZ`AkT?OO z-z_Ued-??Z*R4~L7jwJ%-`s~FK|qNAJ;EmIVDVpk{Lr7T4l{}vL)|GuUuswe9c5F| zv*5%u01hlv08?00Vpwyk*Q&&fY8k6MjOfpZfKa@F-^6d=Zv|0@&4_544RP5(s|4VPVP-f>%u(J@23BHqo2=zJ#v9g=F!cP((h zpt0|(s++ej?|$;2PE%+kc6JMmJjDW)3BXvBK!h!E`8Y&*7hS{c_Z?4SFP&Y<3evqf z9-ke+bSj$%Pk{CJlJbWwlBg^mEC^@%Ou?o>*|O)rl&`KIbHrjcpqsc$Zqt0^^F-gU2O=BusO+(Op}!jNzLMc zT;0YT%$@ClS%V+6lMTfhuzzxomoat=1H?1$5Ei7&M|gxo`~{UiV5w64Np6xV zVK^nL$)#^tjhCpTQMspXI({TW^U5h&Wi1Jl8g?P1YCV4=%ZYyjSo#5$SX&`r&1PyC zzc;uzCd)VTIih|8eNqFNeBMe#j_FS6rq81b>5?aXg+E#&$m++Gz9<+2)h=K(xtn}F ziV{rmu+Y>A)qvF}ms}4X^Isy!M&1%$E!rTO~5(p+8{U6#hWu>(Ll1}eD64Xa>~73A*538wry?v$vW z>^O#FRdbj(k0Nr&)U`Tl(4PI*%IV~;ZcI2z&rmq=(k^}zGOYZF3b2~Klpzd2eZJl> zB=MOLwI1{$RxQ7Y4e30&yOx?BvAvDkTBvWPpl4V8B7o>4SJn*+h1Ms&fHso%XLN5j z-zEwT%dTefp~)J_C8;Q6i$t!dnlh-!%haR1X_NuYUuP-)`IGWjwzAvp!9@h`kPZhf zwLwFk{m3arCdx8rD~K2`42mIN4}m%OQ|f)4kf%pL?Af5Ul<3M2fv>;nlhEPR8b)u} zIV*2-wyyD%%) zl$G@KrC#cUwoL?YdQyf9WH)@gWB{jd5w4evI& zOFF)p_D8>;3-N1z6mES!OPe>B^<;9xsh)){Cw$Vs-ez5nXS95NOr3s$IU;>VZSzKn zBvub8_J~I%(DozZW@{)Vp37-zevxMRZ8$8iRfwHmYvyjOxIOAF2FUngKj289!(uxY zaClWm!%x&teKmr^ABrvZ(ikx{{I-lEzw5&4t3P0eX%M~>$wG0ZjA4Mb&op+0$#SO_ z--R`>X!aqFu^F|a!{Up-iF(K+alKB{MNMs>e(i@Tpy+7Z-dK%IEjQFO(G+2mOb@BO zP>WHlS#fSQm0et)bG8^ZDScGnh-qRKIFz zfUdnk=m){ej0i(VBd@RLtRq3Ep=>&2zZ2%&vvf?Iex01hx1X!8U+?>ER;yJlR-2q4 z;Y@hzhEC=d+Le%=esE>OQ!Q|E%6yG3V_2*uh&_nguPcZ{q?DNq8h_2ahaP6=pP-+x zK!(ve(yfoYC+n(_+chiJ6N(ZaN+XSZ{|H{TR1J_s8x4jpis-Z-rlRvRK#U%SMJ(`C z?T2 zF(NNfO_&W%2roEC2j#v*(nRgl1X)V-USp-H|CwFNs?n@&vpRcj@W@xCJwR6@T!jt377?XjZ06=`d*MFyTdyvW!`mQm~t3luzYzvh^F zM|V}rO>IlBjZc}9Z zd$&!tthvr>5)m;5;96LWiAV0?t)7suqdh0cZis`^Pyg@?t>Ms~7{nCU;z`Xl+raSr zXpp=W1oHB*98s!Tpw=R5C)O{{Inl>9l7M*kq%#w9a$6N~v?BY2GKOVRkXYCgg*d

<5G2M1WZP5 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 F{|7XC?P&l2 literal 0 HcmV?d00001 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..6f3d795 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Thu Feb 18 11:16:52 CST 2021 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-bin.zip diff --git a/gradlew b/gradlew new file mode 100755 index 0000000..cccdd3d --- /dev/null +++ b/gradlew @@ -0,0 +1,172 @@ +#!/usr/bin/env sh + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=$(save "$@") + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong +if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then + cd "$(dirname "$0")" +fi + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..f955316 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,84 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windows variants + +if not "%OS%" == "Windows_NT" goto win9xME_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/publish-maven.gradle b/publish-maven.gradle new file mode 100644 index 0000000..09c3227 --- /dev/null +++ b/publish-maven.gradle @@ -0,0 +1,105 @@ +apply plugin: 'maven-publish' +apply plugin: 'signing' + +task androidSourcesJar(type: Jar) { + classifier = 'sources' + from android.sourceSets.main.java.source +} + +ext["signing.keyId"] = '' +ext["signing.password"] = '' +ext["signing.secretKeyRingFile"] = '' +ext["ossrhUsername"] = '' +ext["ossrhPassword"] = '' + +File secretPropsFile = project.rootProject.file('local.properties') +if (secretPropsFile.exists()) { + println "Found secret props file, loading props" + Properties p = new Properties() + p.load(new FileInputStream(secretPropsFile)) + p.each { name, value -> + ext[name] = value + } +} else { + println "No props file, loading env vars" +} +publishing { + publications { + release(MavenPublication) { + // The coordinates of the library, being set from variables that + // we'll set up in a moment + groupId PUBLISH_GROUP_ID + artifactId PUBLISH_ARTIFACT_ID + version PUBLISH_VERSION + + // Two artifacts, the `aar` and the sources + artifact("$buildDir/outputs/aar/${project.getName()}-release.aar") + artifact androidSourcesJar + + // Self-explanatory metadata for the most part + pom { + name = PUBLISH_ARTIFACT_ID + description = 'yuv convert' + // If your project has a dedicated site, use its URL here + url = 'https://github.com/IAmCodingCoding/yuv_convert' + licenses { + license { + //协议类型 + name = 'MIT License' + url = 'https://opensource.org/licenses/MIT' + } + } + developers { + developer { + id = 'IAmCodingCoding' + name = 'mapyu zhang' + email = '616312897@qq.com' + } + } + // Version control info, if you're using GitHub, follow the format as seen here + scm { + //修改成你的Git地址: + connection = 'scm:git:github.com/IAmCodingCoding/yuv_convert.git' + developerConnection = 'scm:git:https://github.com/IAmCodingCoding/yuv_convert.git' + //分支地址: + url = 'https://github.com/IAmCodingCoding/yuv_convert/tree/master' + } + // A slightly hacky fix so that your POM will include any transitive dependencies + // that your library builds upon + withXml { + def dependenciesNode = asNode().appendNode('dependencies') + + project.configurations.implementation.allDependencies.each { + def dependencyNode = dependenciesNode.appendNode('dependency') + dependencyNode.appendNode('groupId', it.group) + dependencyNode.appendNode('artifactId', it.name) + dependencyNode.appendNode('version', it.version) + } + } + } + } + } + repositories { + // The repository to publish to, Sonatype/MavenCentral + maven { + // This is an arbitrary name, you may also use "mavencentral" or + // any other name that's descriptive for you + name = "yuv_convert" + + def releasesRepoUrl = "https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/" + def snapshotsRepoUrl = "https://s01.oss.sonatype.org/content/repositories/snapshots/" + // You only need this if you want to publish snapshots, otherwise just set the URL + // to the release repo directly + url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl + + // The username and password we've fetched earlier + credentials { + username ossrhUsername + password ossrhPassword + } + } + } +} +signing { + sign publishing.publications +} diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 0000000..aec846e --- /dev/null +++ b/settings.gradle @@ -0,0 +1,3 @@ +include ':yuv_convert' +include ':app' +rootProject.name = "yuv_convert" \ No newline at end of file diff --git a/yuv_convert/.gitignore b/yuv_convert/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/yuv_convert/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/yuv_convert/build.gradle b/yuv_convert/build.gradle new file mode 100644 index 0000000..3635642 --- /dev/null +++ b/yuv_convert/build.gradle @@ -0,0 +1,57 @@ +plugins { + id 'com.android.library' + id 'kotlin-android' +} +ext { + PUBLISH_GROUP_ID = "io.github.IAmCodingCoding" //项目包名 + PUBLISH_ARTIFACT_ID = 'yuv_convert' //项目名 + PUBLISH_VERSION = 'v1.0.0' //版本号 +} +apply from: "${rootProject.projectDir}/publish-maven.gradle" + +android { + compileSdkVersion 30 + buildToolsVersion "30.0.3" + + defaultConfig { + minSdkVersion 21 + targetSdkVersion 30 + + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + consumerProguardFiles "consumer-rules.pro" + ndk{ + abiFilters 'armeabi-v7a','arm64-v8a' + } + } + + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + } + } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + kotlinOptions { + jvmTarget = '1.8' + } + externalNativeBuild { + cmake { + path "src/main/cpp/CMakeLists.txt" + version "3.10.2" + } + } +} + +dependencies { + + implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" + implementation 'androidx.core:core-ktx:1.3.2' + implementation 'androidx.appcompat:appcompat:1.2.0' + implementation 'com.google.android.material:material:1.2.1' + testImplementation 'junit:junit:4.+' + androidTestImplementation 'androidx.test.ext:junit:1.1.2' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' +} \ No newline at end of file diff --git a/yuv_convert/consumer-rules.pro b/yuv_convert/consumer-rules.pro new file mode 100644 index 0000000..e69de29 diff --git a/yuv_convert/proguard-rules.pro b/yuv_convert/proguard-rules.pro new file mode 100644 index 0000000..481bb43 --- /dev/null +++ b/yuv_convert/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/yuv_convert/src/androidTest/java/com/zmy/yuv_convert/ExampleInstrumentedTest.kt b/yuv_convert/src/androidTest/java/com/zmy/yuv_convert/ExampleInstrumentedTest.kt new file mode 100644 index 0000000..9a70738 --- /dev/null +++ b/yuv_convert/src/androidTest/java/com/zmy/yuv_convert/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package com.zmy.yuv_convert + +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.ext.junit.runners.AndroidJUnit4 + +import org.junit.Test +import org.junit.runner.RunWith + +import org.junit.Assert.* + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getInstrumentation().targetContext + assertEquals("com.zmy.yuv_convert.test", appContext.packageName) + } +} \ No newline at end of file diff --git a/yuv_convert/src/main/AndroidManifest.xml b/yuv_convert/src/main/AndroidManifest.xml new file mode 100644 index 0000000..807ef34 --- /dev/null +++ b/yuv_convert/src/main/AndroidManifest.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/yuv_convert/src/main/cpp/CMakeLists.txt b/yuv_convert/src/main/cpp/CMakeLists.txt new file mode 100644 index 0000000..610b9ad --- /dev/null +++ b/yuv_convert/src/main/cpp/CMakeLists.txt @@ -0,0 +1,15 @@ +cmake_minimum_required(VERSION 3.4.1) +set(CMAKE_BUILD_TYPE Release) + +include_directories(yuv_convert/include) +link_directories(${CMAKE_SOURCE_DIR}/../jniLibs/${CMAKE_ANDROID_ARCH_ABI}/) +add_library( + yuv_converter + SHARED + yuv_convert/jni_yuv_convert.cpp +) + +target_link_libraries(yuv_converter + log + yuv + ) diff --git a/yuv_convert/src/main/cpp/yuv_convert/include/libyuv.h b/yuv_convert/src/main/cpp/yuv_convert/include/libyuv.h new file mode 100644 index 0000000..a06e123 --- /dev/null +++ b/yuv_convert/src/main/cpp/yuv_convert/include/libyuv.h @@ -0,0 +1,33 @@ +/* + * Copyright 2011 The LibYuv Project Authors. All rights reserved. + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ + +#ifndef INCLUDE_LIBYUV_H_ +#define INCLUDE_LIBYUV_H_ + +#include "libyuv/basic_types.h" +#include "libyuv/compare.h" +#include "libyuv/convert.h" +#include "libyuv/convert_argb.h" +#include "libyuv/convert_from.h" +#include "libyuv/convert_from_argb.h" +#include "libyuv/cpu_id.h" +#include "libyuv/mjpeg_decoder.h" +#include "libyuv/planar_functions.h" +#include "libyuv/rotate.h" +#include "libyuv/rotate_argb.h" +#include "libyuv/row.h" +#include "libyuv/scale.h" +#include "libyuv/scale_argb.h" +#include "libyuv/scale_row.h" +#include "libyuv/scale_uv.h" +#include "libyuv/version.h" +#include "libyuv/video_common.h" + +#endif // INCLUDE_LIBYUV_H_ diff --git a/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/basic_types.h b/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/basic_types.h new file mode 100644 index 0000000..1bea67f --- /dev/null +++ b/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/basic_types.h @@ -0,0 +1,68 @@ +/* + * Copyright 2011 The LibYuv Project Authors. All rights reserved. + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ + +#ifndef INCLUDE_LIBYUV_BASIC_TYPES_H_ +#define INCLUDE_LIBYUV_BASIC_TYPES_H_ + +#include // For size_t and NULL + +#if !defined(INT_TYPES_DEFINED) && !defined(GG_LONGLONG) +#define INT_TYPES_DEFINED + +#if defined(_MSC_VER) && (_MSC_VER < 1600) +#include // for uintptr_t on x86 +typedef unsigned __int64 uint64_t; +typedef __int64 int64_t; +typedef unsigned int uint32_t; +typedef int int32_t; +typedef unsigned short uint16_t; +typedef short int16_t; +typedef unsigned char uint8_t; +typedef signed char int8_t; +#else +#include // for uintptr_t and C99 types +#endif // defined(_MSC_VER) && (_MSC_VER < 1600) +// Types are deprecated. Enable this macro for legacy types. +#ifdef LIBYUV_LEGACY_TYPES +typedef uint64_t uint64; +typedef int64_t int64; +typedef uint32_t uint32; +typedef int32_t int32; +typedef uint16_t uint16; +typedef int16_t int16; +typedef uint8_t uint8; +typedef int8_t int8; +#endif // LIBYUV_LEGACY_TYPES +#endif // INT_TYPES_DEFINED + +#if !defined(LIBYUV_API) +#if defined(_WIN32) || defined(__CYGWIN__) +#if defined(LIBYUV_BUILDING_SHARED_LIBRARY) +#define LIBYUV_API __declspec(dllexport) +#elif defined(LIBYUV_USING_SHARED_LIBRARY) +#define LIBYUV_API __declspec(dllimport) +#else +#define LIBYUV_API +#endif // LIBYUV_BUILDING_SHARED_LIBRARY +#elif defined(__GNUC__) && (__GNUC__ >= 4) && !defined(__APPLE__) && \ + (defined(LIBYUV_BUILDING_SHARED_LIBRARY) || \ + defined(LIBYUV_USING_SHARED_LIBRARY)) +#define LIBYUV_API __attribute__((visibility("default"))) +#else +#define LIBYUV_API +#endif // __GNUC__ +#endif // LIBYUV_API + +// TODO(fbarchard): Remove bool macros. +#define LIBYUV_BOOL int +#define LIBYUV_FALSE 0 +#define LIBYUV_TRUE 1 + +#endif // INCLUDE_LIBYUV_BASIC_TYPES_H_ diff --git a/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/compare.h b/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/compare.h new file mode 100644 index 0000000..3353ad7 --- /dev/null +++ b/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/compare.h @@ -0,0 +1,111 @@ +/* + * Copyright 2011 The LibYuv Project Authors. All rights reserved. + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ + +#ifndef INCLUDE_LIBYUV_COMPARE_H_ +#define INCLUDE_LIBYUV_COMPARE_H_ + +#include "libyuv/basic_types.h" + +#ifdef __cplusplus +namespace libyuv { +extern "C" { +#endif + +// Compute a hash for specified memory. Seed of 5381 recommended. +LIBYUV_API +uint32_t HashDjb2(const uint8_t* src, uint64_t count, uint32_t seed); + +// Hamming Distance +LIBYUV_API +uint64_t ComputeHammingDistance(const uint8_t* src_a, + const uint8_t* src_b, + int count); + +// Scan an opaque argb image and return fourcc based on alpha offset. +// Returns FOURCC_ARGB, FOURCC_BGRA, or 0 if unknown. +LIBYUV_API +uint32_t ARGBDetect(const uint8_t* argb, + int stride_argb, + int width, + int height); + +// Sum Square Error - used to compute Mean Square Error or PSNR. +LIBYUV_API +uint64_t ComputeSumSquareError(const uint8_t* src_a, + const uint8_t* src_b, + int count); + +LIBYUV_API +uint64_t ComputeSumSquareErrorPlane(const uint8_t* src_a, + int stride_a, + const uint8_t* src_b, + int stride_b, + int width, + int height); + +static const int kMaxPsnr = 128; + +LIBYUV_API +double SumSquareErrorToPsnr(uint64_t sse, uint64_t count); + +LIBYUV_API +double CalcFramePsnr(const uint8_t* src_a, + int stride_a, + const uint8_t* src_b, + int stride_b, + int width, + int height); + +LIBYUV_API +double I420Psnr(const uint8_t* src_y_a, + int stride_y_a, + const uint8_t* src_u_a, + int stride_u_a, + const uint8_t* src_v_a, + int stride_v_a, + const uint8_t* src_y_b, + int stride_y_b, + const uint8_t* src_u_b, + int stride_u_b, + const uint8_t* src_v_b, + int stride_v_b, + int width, + int height); + +LIBYUV_API +double CalcFrameSsim(const uint8_t* src_a, + int stride_a, + const uint8_t* src_b, + int stride_b, + int width, + int height); + +LIBYUV_API +double I420Ssim(const uint8_t* src_y_a, + int stride_y_a, + const uint8_t* src_u_a, + int stride_u_a, + const uint8_t* src_v_a, + int stride_v_a, + const uint8_t* src_y_b, + int stride_y_b, + const uint8_t* src_u_b, + int stride_u_b, + const uint8_t* src_v_b, + int stride_v_b, + int width, + int height); + +#ifdef __cplusplus +} // extern "C" +} // namespace libyuv +#endif + +#endif // INCLUDE_LIBYUV_COMPARE_H_ diff --git a/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/compare_row.h b/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/compare_row.h new file mode 100644 index 0000000..e95b9d9 --- /dev/null +++ b/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/compare_row.h @@ -0,0 +1,141 @@ +/* + * Copyright 2013 The LibYuv Project Authors. All rights reserved. + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ + +#ifndef INCLUDE_LIBYUV_COMPARE_ROW_H_ +#define INCLUDE_LIBYUV_COMPARE_ROW_H_ + +#include "libyuv/basic_types.h" + +#ifdef __cplusplus +namespace libyuv { +extern "C" { +#endif + +#if defined(__pnacl__) || defined(__CLR_VER) || \ + (defined(__native_client__) && defined(__x86_64__)) || \ + (defined(__i386__) && !defined(__SSE__) && !defined(__clang__)) +#define LIBYUV_DISABLE_X86 +#endif +#if defined(__native_client__) +#define LIBYUV_DISABLE_NEON +#endif +// MemorySanitizer does not support assembly code yet. http://crbug.com/344505 +#if defined(__has_feature) +#if __has_feature(memory_sanitizer) +#define LIBYUV_DISABLE_X86 +#endif +#endif +// Visual C 2012 required for AVX2. +#if defined(_M_IX86) && !defined(__clang__) && defined(_MSC_VER) && \ + _MSC_VER >= 1700 +#define VISUALC_HAS_AVX2 1 +#endif // VisualStudio >= 2012 + +// clang >= 3.4.0 required for AVX2. +#if defined(__clang__) && (defined(__x86_64__) || defined(__i386__)) +#if (__clang_major__ > 3) || (__clang_major__ == 3 && (__clang_minor__ >= 4)) +#define CLANG_HAS_AVX2 1 +#endif // clang >= 3.4 +#endif // __clang__ + +// The following are available for Visual C and GCC: +#if !defined(LIBYUV_DISABLE_X86) && \ + (defined(__x86_64__) || defined(__i386__) || defined(_M_IX86)) +#define HAS_HASHDJB2_SSE41 +#define HAS_SUMSQUAREERROR_SSE2 +#define HAS_HAMMINGDISTANCE_SSE42 +#endif + +// The following are available for Visual C and clangcl 32 bit: +#if !defined(LIBYUV_DISABLE_X86) && defined(_M_IX86) && defined(_MSC_VER) && \ + (defined(VISUALC_HAS_AVX2) || defined(CLANG_HAS_AVX2)) +#define HAS_HASHDJB2_AVX2 +#define HAS_SUMSQUAREERROR_AVX2 +#endif + +// The following are available for GCC and clangcl 64 bit: +#if !defined(LIBYUV_DISABLE_X86) && \ + (defined(__x86_64__) || (defined(__i386__) && !defined(_MSC_VER))) +#define HAS_HAMMINGDISTANCE_SSSE3 +#endif + +// The following are available for GCC and clangcl 64 bit: +#if !defined(LIBYUV_DISABLE_X86) && defined(CLANG_HAS_AVX2) && \ + (defined(__x86_64__) || (defined(__i386__) && !defined(_MSC_VER))) +#define HAS_HAMMINGDISTANCE_AVX2 +#endif + +// The following are available for Neon: +#if !defined(LIBYUV_DISABLE_NEON) && \ + (defined(__ARM_NEON__) || defined(LIBYUV_NEON) || defined(__aarch64__)) +#define HAS_SUMSQUAREERROR_NEON +#define HAS_HAMMINGDISTANCE_NEON +#endif + +#if !defined(LIBYUV_DISABLE_MSA) && defined(__mips_msa) +#define HAS_HAMMINGDISTANCE_MSA +#define HAS_SUMSQUAREERROR_MSA +#endif + +#if !defined(LIBYUV_DISABLE_MMI) && defined(_MIPS_ARCH_LOONGSON3A) +#define HAS_HAMMINGDISTANCE_MMI +#define HAS_SUMSQUAREERROR_MMI +#endif + +uint32_t HammingDistance_C(const uint8_t* src_a, + const uint8_t* src_b, + int count); +uint32_t HammingDistance_SSE42(const uint8_t* src_a, + const uint8_t* src_b, + int count); +uint32_t HammingDistance_SSSE3(const uint8_t* src_a, + const uint8_t* src_b, + int count); +uint32_t HammingDistance_AVX2(const uint8_t* src_a, + const uint8_t* src_b, + int count); +uint32_t HammingDistance_NEON(const uint8_t* src_a, + const uint8_t* src_b, + int count); +uint32_t HammingDistance_MSA(const uint8_t* src_a, + const uint8_t* src_b, + int count); +uint32_t HammingDistance_MMI(const uint8_t* src_a, + const uint8_t* src_b, + int count); +uint32_t SumSquareError_C(const uint8_t* src_a, + const uint8_t* src_b, + int count); +uint32_t SumSquareError_SSE2(const uint8_t* src_a, + const uint8_t* src_b, + int count); +uint32_t SumSquareError_AVX2(const uint8_t* src_a, + const uint8_t* src_b, + int count); +uint32_t SumSquareError_NEON(const uint8_t* src_a, + const uint8_t* src_b, + int count); +uint32_t SumSquareError_MSA(const uint8_t* src_a, + const uint8_t* src_b, + int count); +uint32_t SumSquareError_MMI(const uint8_t* src_a, + const uint8_t* src_b, + int count); + +uint32_t HashDjb2_C(const uint8_t* src, int count, uint32_t seed); +uint32_t HashDjb2_SSE41(const uint8_t* src, int count, uint32_t seed); +uint32_t HashDjb2_AVX2(const uint8_t* src, int count, uint32_t seed); + +#ifdef __cplusplus +} // extern "C" +} // namespace libyuv +#endif + +#endif // INCLUDE_LIBYUV_COMPARE_ROW_H_ diff --git a/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/convert.h b/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/convert.h new file mode 100644 index 0000000..026b153 --- /dev/null +++ b/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/convert.h @@ -0,0 +1,526 @@ +/* + * Copyright 2011 The LibYuv Project Authors. All rights reserved. + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ + +#ifndef INCLUDE_LIBYUV_CONVERT_H_ +#define INCLUDE_LIBYUV_CONVERT_H_ + +#include "libyuv/basic_types.h" + +#include "libyuv/rotate.h" // For enum RotationMode. + +// TODO(fbarchard): fix WebRTC source to include following libyuv headers: +#include "libyuv/convert_argb.h" // For WebRTC I420ToARGB. b/620 +#include "libyuv/convert_from.h" // For WebRTC ConvertFromI420. b/620 +#include "libyuv/planar_functions.h" // For WebRTC I420Rect, CopyPlane. b/618 + +#ifdef __cplusplus +namespace libyuv { +extern "C" { +#endif + +// Convert I444 to I420. +LIBYUV_API +int I444ToI420(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_u, + int dst_stride_u, + uint8_t* dst_v, + int dst_stride_v, + int width, + int height); + +// Convert I444 to NV12. +LIBYUV_API +int I444ToNV12(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_uv, + int dst_stride_uv, + int width, + int height); + +// Convert I444 to NV21. +LIBYUV_API +int I444ToNV21(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_vu, + int dst_stride_vu, + int width, + int height); + +// Convert I422 to I420. +LIBYUV_API +int I422ToI420(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_u, + int dst_stride_u, + uint8_t* dst_v, + int dst_stride_v, + int width, + int height); + +// Convert I422 to NV21. +LIBYUV_API +int I422ToNV21(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_vu, + int dst_stride_vu, + int width, + int height); + +// Copy I420 to I420. +#define I420ToI420 I420Copy +LIBYUV_API +int I420Copy(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_u, + int dst_stride_u, + uint8_t* dst_v, + int dst_stride_v, + int width, + int height); + +// Copy I010 to I010 +#define I010ToI010 I010Copy +#define H010ToH010 I010Copy +LIBYUV_API +int I010Copy(const uint16_t* src_y, + int src_stride_y, + const uint16_t* src_u, + int src_stride_u, + const uint16_t* src_v, + int src_stride_v, + uint16_t* dst_y, + int dst_stride_y, + uint16_t* dst_u, + int dst_stride_u, + uint16_t* dst_v, + int dst_stride_v, + int width, + int height); + +// Convert 10 bit YUV to 8 bit +#define H010ToH420 I010ToI420 +LIBYUV_API +int I010ToI420(const uint16_t* src_y, + int src_stride_y, + const uint16_t* src_u, + int src_stride_u, + const uint16_t* src_v, + int src_stride_v, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_u, + int dst_stride_u, + uint8_t* dst_v, + int dst_stride_v, + int width, + int height); + +// Convert I400 (grey) to I420. +LIBYUV_API +int I400ToI420(const uint8_t* src_y, + int src_stride_y, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_u, + int dst_stride_u, + uint8_t* dst_v, + int dst_stride_v, + int width, + int height); + +// Convert I400 (grey) to NV21. +LIBYUV_API +int I400ToNV21(const uint8_t* src_y, + int src_stride_y, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_vu, + int dst_stride_vu, + int width, + int height); + +#define J400ToJ420 I400ToI420 + +// Convert NV12 to I420. +LIBYUV_API +int NV12ToI420(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_uv, + int src_stride_uv, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_u, + int dst_stride_u, + uint8_t* dst_v, + int dst_stride_v, + int width, + int height); + +// Convert NV21 to I420. +LIBYUV_API +int NV21ToI420(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_vu, + int src_stride_vu, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_u, + int dst_stride_u, + uint8_t* dst_v, + int dst_stride_v, + int width, + int height); + +// Convert YUY2 to I420. +LIBYUV_API +int YUY2ToI420(const uint8_t* src_yuy2, + int src_stride_yuy2, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_u, + int dst_stride_u, + uint8_t* dst_v, + int dst_stride_v, + int width, + int height); + +// Convert UYVY to I420. +LIBYUV_API +int UYVYToI420(const uint8_t* src_uyvy, + int src_stride_uyvy, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_u, + int dst_stride_u, + uint8_t* dst_v, + int dst_stride_v, + int width, + int height); + +// Convert AYUV to NV12. +LIBYUV_API +int AYUVToNV12(const uint8_t* src_ayuv, + int src_stride_ayuv, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_uv, + int dst_stride_uv, + int width, + int height); + +// Convert AYUV to NV21. +LIBYUV_API +int AYUVToNV21(const uint8_t* src_ayuv, + int src_stride_ayuv, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_vu, + int dst_stride_vu, + int width, + int height); + +// Convert Android420 to I420. +LIBYUV_API +int Android420ToI420(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + int src_pixel_stride_uv, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_u, + int dst_stride_u, + uint8_t* dst_v, + int dst_stride_v, + int width, + int height); + +// ARGB little endian (bgra in memory) to I420. +LIBYUV_API +int ARGBToI420(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_u, + int dst_stride_u, + uint8_t* dst_v, + int dst_stride_v, + int width, + int height); + +// BGRA little endian (argb in memory) to I420. +LIBYUV_API +int BGRAToI420(const uint8_t* src_bgra, + int src_stride_bgra, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_u, + int dst_stride_u, + uint8_t* dst_v, + int dst_stride_v, + int width, + int height); + +// ABGR little endian (rgba in memory) to I420. +LIBYUV_API +int ABGRToI420(const uint8_t* src_abgr, + int src_stride_abgr, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_u, + int dst_stride_u, + uint8_t* dst_v, + int dst_stride_v, + int width, + int height); + +// RGBA little endian (abgr in memory) to I420. +LIBYUV_API +int RGBAToI420(const uint8_t* src_rgba, + int src_stride_rgba, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_u, + int dst_stride_u, + uint8_t* dst_v, + int dst_stride_v, + int width, + int height); + +// RGB little endian (bgr in memory) to I420. +LIBYUV_API +int RGB24ToI420(const uint8_t* src_rgb24, + int src_stride_rgb24, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_u, + int dst_stride_u, + uint8_t* dst_v, + int dst_stride_v, + int width, + int height); + +// RGB little endian (bgr in memory) to J420. +LIBYUV_API +int RGB24ToJ420(const uint8_t* src_rgb24, + int src_stride_rgb24, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_u, + int dst_stride_u, + uint8_t* dst_v, + int dst_stride_v, + int width, + int height); + +// RGB big endian (rgb in memory) to I420. +LIBYUV_API +int RAWToI420(const uint8_t* src_raw, + int src_stride_raw, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_u, + int dst_stride_u, + uint8_t* dst_v, + int dst_stride_v, + int width, + int height); + +// RGB16 (RGBP fourcc) little endian to I420. +LIBYUV_API +int RGB565ToI420(const uint8_t* src_rgb565, + int src_stride_rgb565, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_u, + int dst_stride_u, + uint8_t* dst_v, + int dst_stride_v, + int width, + int height); + +// RGB15 (RGBO fourcc) little endian to I420. +LIBYUV_API +int ARGB1555ToI420(const uint8_t* src_argb1555, + int src_stride_argb1555, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_u, + int dst_stride_u, + uint8_t* dst_v, + int dst_stride_v, + int width, + int height); + +// RGB12 (R444 fourcc) little endian to I420. +LIBYUV_API +int ARGB4444ToI420(const uint8_t* src_argb4444, + int src_stride_argb4444, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_u, + int dst_stride_u, + uint8_t* dst_v, + int dst_stride_v, + int width, + int height); + +// RGB little endian (bgr in memory) to J400. +LIBYUV_API +int RGB24ToJ400(const uint8_t* src_rgb24, + int src_stride_rgb24, + uint8_t* dst_yj, + int dst_stride_yj, + int width, + int height); + +// RGB big endian (rgb in memory) to J400. +LIBYUV_API +int RAWToJ400(const uint8_t* src_raw, + int src_stride_raw, + uint8_t* dst_yj, + int dst_stride_yj, + int width, + int height); + +// src_width/height provided by capture. +// dst_width/height for clipping determine final size. +LIBYUV_API +int MJPGToI420(const uint8_t* sample, + size_t sample_size, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_u, + int dst_stride_u, + uint8_t* dst_v, + int dst_stride_v, + int src_width, + int src_height, + int dst_width, + int dst_height); + +// JPEG to NV21 +LIBYUV_API +int MJPGToNV21(const uint8_t* sample, + size_t sample_size, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_vu, + int dst_stride_vu, + int src_width, + int src_height, + int dst_width, + int dst_height); + +// JPEG to NV12 +LIBYUV_API +int MJPGToNV12(const uint8_t* sample, + size_t sample_size, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_uv, + int dst_stride_uv, + int src_width, + int src_height, + int dst_width, + int dst_height); + +// Query size of MJPG in pixels. +LIBYUV_API +int MJPGSize(const uint8_t* sample, + size_t sample_size, + int* width, + int* height); + +// Convert camera sample to I420 with cropping, rotation and vertical flip. +// "src_size" is needed to parse MJPG. +// "dst_stride_y" number of bytes in a row of the dst_y plane. +// Normally this would be the same as dst_width, with recommended alignment +// to 16 bytes for better efficiency. +// If rotation of 90 or 270 is used, stride is affected. The caller should +// allocate the I420 buffer according to rotation. +// "dst_stride_u" number of bytes in a row of the dst_u plane. +// Normally this would be the same as (dst_width + 1) / 2, with +// recommended alignment to 16 bytes for better efficiency. +// If rotation of 90 or 270 is used, stride is affected. +// "crop_x" and "crop_y" are starting position for cropping. +// To center, crop_x = (src_width - dst_width) / 2 +// crop_y = (src_height - dst_height) / 2 +// "src_width" / "src_height" is size of src_frame in pixels. +// "src_height" can be negative indicating a vertically flipped image source. +// "crop_width" / "crop_height" is the size to crop the src to. +// Must be less than or equal to src_width/src_height +// Cropping parameters are pre-rotation. +// "rotation" can be 0, 90, 180 or 270. +// "fourcc" is a fourcc. ie 'I420', 'YUY2' +// Returns 0 for successful; -1 for invalid parameter. Non-zero for failure. +LIBYUV_API +int ConvertToI420(const uint8_t* sample, + size_t sample_size, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_u, + int dst_stride_u, + uint8_t* dst_v, + int dst_stride_v, + int crop_x, + int crop_y, + int src_width, + int src_height, + int crop_width, + int crop_height, + enum RotationMode rotation, + uint32_t fourcc); + +#ifdef __cplusplus +} // extern "C" +} // namespace libyuv +#endif + +#endif // INCLUDE_LIBYUV_CONVERT_H_ diff --git a/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/convert_argb.h b/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/convert_argb.h new file mode 100644 index 0000000..715a3da --- /dev/null +++ b/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/convert_argb.h @@ -0,0 +1,1611 @@ +/* + * Copyright 2012 The LibYuv Project Authors. All rights reserved. + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ + +#ifndef INCLUDE_LIBYUV_CONVERT_ARGB_H_ +#define INCLUDE_LIBYUV_CONVERT_ARGB_H_ + +#include "libyuv/basic_types.h" + +#include "libyuv/rotate.h" // For enum RotationMode. + +#ifdef __cplusplus +namespace libyuv { +extern "C" { +#endif + +// Conversion matrix for YUV to RGB +LIBYUV_API extern const struct YuvConstants kYuvI601Constants; // BT.601 +LIBYUV_API extern const struct YuvConstants kYuvJPEGConstants; // JPeg +LIBYUV_API extern const struct YuvConstants kYuvH709Constants; // BT.709 +LIBYUV_API extern const struct YuvConstants kYuv2020Constants; // BT.2020 + +// Conversion matrix for YVU to BGR +LIBYUV_API extern const struct YuvConstants kYvuI601Constants; // BT.601 +LIBYUV_API extern const struct YuvConstants kYvuJPEGConstants; // JPeg +LIBYUV_API extern const struct YuvConstants kYvuH709Constants; // BT.709 +LIBYUV_API extern const struct YuvConstants kYvu2020Constants; // BT.2020 + +// Macros for end swapped destination Matrix conversions. +// Swap UV and pass mirrored kYvuJPEGConstants matrix. +// TODO(fbarchard): Add macro for each Matrix function. +#define kYuvI601ConstantsVU kYvuI601Constants +#define kYuvJPEGConstantsVU kYvuJPEGConstants +#define kYuvH709ConstantsVU kYvuH709Constants +#define kYuv2020ConstantsVU kYvu2020Constants +#define NV12ToABGRMatrix(a, b, c, d, e, f, g, h, i) \ + NV21ToARGBMatrix(a, b, c, d, e, f, g##VU, h, i) +#define NV21ToABGRMatrix(a, b, c, d, e, f, g, h, i) \ + NV12ToARGBMatrix(a, b, c, d, e, f, g##VU, h, i) +#define NV12ToRAWMatrix(a, b, c, d, e, f, g, h, i) \ + NV21ToRGB24Matrix(a, b, c, d, e, f, g##VU, h, i) +#define NV21ToRAWMatrix(a, b, c, d, e, f, g, h, i) \ + NV12ToRGB24Matrix(a, b, c, d, e, f, g##VU, h, i) +#define I420AlphaToABGRMatrix(a, b, c, d, e, f, g, h, i, j, k, l, m, n) \ + I420AlphaToARGBMatrix(a, b, e, f, c, d, g, h, i, j, k##VU, l, m, n) + +// Alias. +#define ARGBToARGB ARGBCopy + +// Copy ARGB to ARGB. +LIBYUV_API +int ARGBCopy(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +// Convert I420 to ARGB. +LIBYUV_API +int I420ToARGB(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +// Convert I420 to ABGR. +LIBYUV_API +int I420ToABGR(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_abgr, + int dst_stride_abgr, + int width, + int height); + +// Convert J420 to ARGB. +LIBYUV_API +int J420ToARGB(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +// Convert J420 to ABGR. +LIBYUV_API +int J420ToABGR(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_abgr, + int dst_stride_abgr, + int width, + int height); + +// Convert H420 to ARGB. +LIBYUV_API +int H420ToARGB(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +// Convert H420 to ABGR. +LIBYUV_API +int H420ToABGR(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_abgr, + int dst_stride_abgr, + int width, + int height); + +// Convert U420 to ARGB. +LIBYUV_API +int U420ToARGB(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +// Convert U420 to ABGR. +LIBYUV_API +int U420ToABGR(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_abgr, + int dst_stride_abgr, + int width, + int height); + +// Convert I422 to ARGB. +LIBYUV_API +int I422ToARGB(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +// Convert I422 to ABGR. +LIBYUV_API +int I422ToABGR(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_abgr, + int dst_stride_abgr, + int width, + int height); + +// Convert J422 to ARGB. +LIBYUV_API +int J422ToARGB(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +// Convert J422 to ABGR. +LIBYUV_API +int J422ToABGR(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_abgr, + int dst_stride_abgr, + int width, + int height); + +// Convert H422 to ARGB. +LIBYUV_API +int H422ToARGB(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +// Convert H422 to ABGR. +LIBYUV_API +int H422ToABGR(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_abgr, + int dst_stride_abgr, + int width, + int height); + +// Convert U422 to ARGB. +LIBYUV_API +int U422ToARGB(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +// Convert U422 to ABGR. +LIBYUV_API +int U422ToABGR(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_abgr, + int dst_stride_abgr, + int width, + int height); + +// Convert I444 to ARGB. +LIBYUV_API +int I444ToARGB(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +// Convert I444 to ABGR. +LIBYUV_API +int I444ToABGR(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_abgr, + int dst_stride_abgr, + int width, + int height); + +// Convert J444 to ARGB. +LIBYUV_API +int J444ToARGB(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +// Convert J444 to ABGR. +LIBYUV_API +int J444ToABGR(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_abgr, + int dst_stride_abgr, + int width, + int height); + +// Convert H444 to ARGB. +LIBYUV_API +int H444ToARGB(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +// Convert H444 to ABGR. +LIBYUV_API +int H444ToABGR(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_abgr, + int dst_stride_abgr, + int width, + int height); + +// Convert U444 to ARGB. +LIBYUV_API +int U444ToARGB(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +// Convert U444 to ABGR. +LIBYUV_API +int U444ToABGR(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_abgr, + int dst_stride_abgr, + int width, + int height); + +// Convert I010 to ARGB. +LIBYUV_API +int I010ToARGB(const uint16_t* src_y, + int src_stride_y, + const uint16_t* src_u, + int src_stride_u, + const uint16_t* src_v, + int src_stride_v, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +// Convert I010 to ABGR. +LIBYUV_API +int I010ToABGR(const uint16_t* src_y, + int src_stride_y, + const uint16_t* src_u, + int src_stride_u, + const uint16_t* src_v, + int src_stride_v, + uint8_t* dst_abgr, + int dst_stride_abgr, + int width, + int height); + +// Convert H010 to ARGB. +LIBYUV_API +int H010ToARGB(const uint16_t* src_y, + int src_stride_y, + const uint16_t* src_u, + int src_stride_u, + const uint16_t* src_v, + int src_stride_v, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +// Convert H010 to ABGR. +LIBYUV_API +int H010ToABGR(const uint16_t* src_y, + int src_stride_y, + const uint16_t* src_u, + int src_stride_u, + const uint16_t* src_v, + int src_stride_v, + uint8_t* dst_abgr, + int dst_stride_abgr, + int width, + int height); + +// Convert U010 to ARGB. +LIBYUV_API +int U010ToARGB(const uint16_t* src_y, + int src_stride_y, + const uint16_t* src_u, + int src_stride_u, + const uint16_t* src_v, + int src_stride_v, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +// Convert U010 to ABGR. +LIBYUV_API +int U010ToABGR(const uint16_t* src_y, + int src_stride_y, + const uint16_t* src_u, + int src_stride_u, + const uint16_t* src_v, + int src_stride_v, + uint8_t* dst_abgr, + int dst_stride_abgr, + int width, + int height); + +// Convert I210 to ARGB. +LIBYUV_API +int I210ToARGB(const uint16_t* src_y, + int src_stride_y, + const uint16_t* src_u, + int src_stride_u, + const uint16_t* src_v, + int src_stride_v, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +// Convert I210 to ABGR. +LIBYUV_API +int I210ToABGR(const uint16_t* src_y, + int src_stride_y, + const uint16_t* src_u, + int src_stride_u, + const uint16_t* src_v, + int src_stride_v, + uint8_t* dst_abgr, + int dst_stride_abgr, + int width, + int height); + +// Convert H210 to ARGB. +LIBYUV_API +int H210ToARGB(const uint16_t* src_y, + int src_stride_y, + const uint16_t* src_u, + int src_stride_u, + const uint16_t* src_v, + int src_stride_v, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +// Convert H210 to ABGR. +LIBYUV_API +int H210ToABGR(const uint16_t* src_y, + int src_stride_y, + const uint16_t* src_u, + int src_stride_u, + const uint16_t* src_v, + int src_stride_v, + uint8_t* dst_abgr, + int dst_stride_abgr, + int width, + int height); + +// Convert U210 to ARGB. +LIBYUV_API +int U210ToARGB(const uint16_t* src_y, + int src_stride_y, + const uint16_t* src_u, + int src_stride_u, + const uint16_t* src_v, + int src_stride_v, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +// Convert U210 to ABGR. +LIBYUV_API +int U210ToABGR(const uint16_t* src_y, + int src_stride_y, + const uint16_t* src_u, + int src_stride_u, + const uint16_t* src_v, + int src_stride_v, + uint8_t* dst_abgr, + int dst_stride_abgr, + int width, + int height); + +// Convert I420 with Alpha to preattenuated ARGB. +LIBYUV_API +int I420AlphaToARGB(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + const uint8_t* src_a, + int src_stride_a, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height, + int attenuate); + +// Convert I420 with Alpha to preattenuated ABGR. +LIBYUV_API +int I420AlphaToABGR(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + const uint8_t* src_a, + int src_stride_a, + uint8_t* dst_abgr, + int dst_stride_abgr, + int width, + int height, + int attenuate); + +// Convert I400 (grey) to ARGB. Reverse of ARGBToI400. +LIBYUV_API +int I400ToARGB(const uint8_t* src_y, + int src_stride_y, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +// Convert J400 (jpeg grey) to ARGB. +LIBYUV_API +int J400ToARGB(const uint8_t* src_y, + int src_stride_y, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +// Alias. +#define YToARGB I400ToARGB + +// Convert NV12 to ARGB. +LIBYUV_API +int NV12ToARGB(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_uv, + int src_stride_uv, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +// Convert NV21 to ARGB. +LIBYUV_API +int NV21ToARGB(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_vu, + int src_stride_vu, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +// Convert NV12 to ABGR. +LIBYUV_API +int NV12ToABGR(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_uv, + int src_stride_uv, + uint8_t* dst_abgr, + int dst_stride_abgr, + int width, + int height); + +// Convert NV21 to ABGR. +LIBYUV_API +int NV21ToABGR(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_vu, + int src_stride_vu, + uint8_t* dst_abgr, + int dst_stride_abgr, + int width, + int height); + +// Convert NV12 to RGB24. +LIBYUV_API +int NV12ToRGB24(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_uv, + int src_stride_uv, + uint8_t* dst_rgb24, + int dst_stride_rgb24, + int width, + int height); + +// Convert NV21 to RGB24. +LIBYUV_API +int NV21ToRGB24(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_vu, + int src_stride_vu, + uint8_t* dst_rgb24, + int dst_stride_rgb24, + int width, + int height); + +// Convert NV21 to YUV24. +LIBYUV_API +int NV21ToYUV24(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_vu, + int src_stride_vu, + uint8_t* dst_yuv24, + int dst_stride_yuv24, + int width, + int height); + +// Convert NV12 to RAW. +LIBYUV_API +int NV12ToRAW(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_uv, + int src_stride_uv, + uint8_t* dst_raw, + int dst_stride_raw, + int width, + int height); + +// Convert NV21 to RAW. +LIBYUV_API +int NV21ToRAW(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_vu, + int src_stride_vu, + uint8_t* dst_raw, + int dst_stride_raw, + int width, + int height); + +// Convert YUY2 to ARGB. +LIBYUV_API +int YUY2ToARGB(const uint8_t* src_yuy2, + int src_stride_yuy2, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +// Convert UYVY to ARGB. +LIBYUV_API +int UYVYToARGB(const uint8_t* src_uyvy, + int src_stride_uyvy, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +// Convert I010 to AR30. +LIBYUV_API +int I010ToAR30(const uint16_t* src_y, + int src_stride_y, + const uint16_t* src_u, + int src_stride_u, + const uint16_t* src_v, + int src_stride_v, + uint8_t* dst_ar30, + int dst_stride_ar30, + int width, + int height); + +// Convert I010 to AB30. +LIBYUV_API +int I010ToAB30(const uint16_t* src_y, + int src_stride_y, + const uint16_t* src_u, + int src_stride_u, + const uint16_t* src_v, + int src_stride_v, + uint8_t* dst_ab30, + int dst_stride_ab30, + int width, + int height); + +// Convert H010 to AR30. +LIBYUV_API +int H010ToAR30(const uint16_t* src_y, + int src_stride_y, + const uint16_t* src_u, + int src_stride_u, + const uint16_t* src_v, + int src_stride_v, + uint8_t* dst_ar30, + int dst_stride_ar30, + int width, + int height); + +// Convert H010 to AB30. +LIBYUV_API +int H010ToAB30(const uint16_t* src_y, + int src_stride_y, + const uint16_t* src_u, + int src_stride_u, + const uint16_t* src_v, + int src_stride_v, + uint8_t* dst_ab30, + int dst_stride_ab30, + int width, + int height); + +// Convert U010 to AR30. +LIBYUV_API +int U010ToAR30(const uint16_t* src_y, + int src_stride_y, + const uint16_t* src_u, + int src_stride_u, + const uint16_t* src_v, + int src_stride_v, + uint8_t* dst_ar30, + int dst_stride_ar30, + int width, + int height); + +// Convert U010 to AB30. +LIBYUV_API +int U010ToAB30(const uint16_t* src_y, + int src_stride_y, + const uint16_t* src_u, + int src_stride_u, + const uint16_t* src_v, + int src_stride_v, + uint8_t* dst_ab30, + int dst_stride_ab30, + int width, + int height); + +// Convert I210 to AR30. +LIBYUV_API +int I210ToAR30(const uint16_t* src_y, + int src_stride_y, + const uint16_t* src_u, + int src_stride_u, + const uint16_t* src_v, + int src_stride_v, + uint8_t* dst_ar30, + int dst_stride_ar30, + int width, + int height); + +// Convert I210 to AB30. +LIBYUV_API +int I210ToAB30(const uint16_t* src_y, + int src_stride_y, + const uint16_t* src_u, + int src_stride_u, + const uint16_t* src_v, + int src_stride_v, + uint8_t* dst_ab30, + int dst_stride_ab30, + int width, + int height); + +// Convert H210 to AR30. +LIBYUV_API +int H210ToAR30(const uint16_t* src_y, + int src_stride_y, + const uint16_t* src_u, + int src_stride_u, + const uint16_t* src_v, + int src_stride_v, + uint8_t* dst_ar30, + int dst_stride_ar30, + int width, + int height); + +// Convert H210 to AB30. +LIBYUV_API +int H210ToAB30(const uint16_t* src_y, + int src_stride_y, + const uint16_t* src_u, + int src_stride_u, + const uint16_t* src_v, + int src_stride_v, + uint8_t* dst_ab30, + int dst_stride_ab30, + int width, + int height); + +// Convert U210 to AR30. +LIBYUV_API +int U210ToAR30(const uint16_t* src_y, + int src_stride_y, + const uint16_t* src_u, + int src_stride_u, + const uint16_t* src_v, + int src_stride_v, + uint8_t* dst_ar30, + int dst_stride_ar30, + int width, + int height); + +// Convert U210 to AB30. +LIBYUV_API +int U210ToAB30(const uint16_t* src_y, + int src_stride_y, + const uint16_t* src_u, + int src_stride_u, + const uint16_t* src_v, + int src_stride_v, + uint8_t* dst_ab30, + int dst_stride_ab30, + int width, + int height); + +// BGRA little endian (argb in memory) to ARGB. +LIBYUV_API +int BGRAToARGB(const uint8_t* src_bgra, + int src_stride_bgra, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +// ABGR little endian (rgba in memory) to ARGB. +LIBYUV_API +int ABGRToARGB(const uint8_t* src_abgr, + int src_stride_abgr, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +// RGBA little endian (abgr in memory) to ARGB. +LIBYUV_API +int RGBAToARGB(const uint8_t* src_rgba, + int src_stride_rgba, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +// Deprecated function name. +#define BG24ToARGB RGB24ToARGB + +// RGB little endian (bgr in memory) to ARGB. +LIBYUV_API +int RGB24ToARGB(const uint8_t* src_rgb24, + int src_stride_rgb24, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +// RGB big endian (rgb in memory) to ARGB. +LIBYUV_API +int RAWToARGB(const uint8_t* src_raw, + int src_stride_raw, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +// RGB big endian (rgb in memory) to RGBA. +LIBYUV_API +int RAWToRGBA(const uint8_t* src_raw, + int src_stride_raw, + uint8_t* dst_rgba, + int dst_stride_rgba, + int width, + int height); + +// RGB16 (RGBP fourcc) little endian to ARGB. +LIBYUV_API +int RGB565ToARGB(const uint8_t* src_rgb565, + int src_stride_rgb565, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +// RGB15 (RGBO fourcc) little endian to ARGB. +LIBYUV_API +int ARGB1555ToARGB(const uint8_t* src_argb1555, + int src_stride_argb1555, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +// RGB12 (R444 fourcc) little endian to ARGB. +LIBYUV_API +int ARGB4444ToARGB(const uint8_t* src_argb4444, + int src_stride_argb4444, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +// Aliases +#define AB30ToARGB AR30ToABGR +#define AB30ToABGR AR30ToARGB +#define AB30ToAR30 AR30ToAB30 + +// Convert AR30 To ARGB. +LIBYUV_API +int AR30ToARGB(const uint8_t* src_ar30, + int src_stride_ar30, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +// Convert AR30 To ABGR. +LIBYUV_API +int AR30ToABGR(const uint8_t* src_ar30, + int src_stride_ar30, + uint8_t* dst_abgr, + int dst_stride_abgr, + int width, + int height); + +// Convert AR30 To AB30. +LIBYUV_API +int AR30ToAB30(const uint8_t* src_ar30, + int src_stride_ar30, + uint8_t* dst_ab30, + int dst_stride_ab30, + int width, + int height); + +// src_width/height provided by capture +// dst_width/height for clipping determine final size. +LIBYUV_API +int MJPGToARGB(const uint8_t* sample, + size_t sample_size, + uint8_t* dst_argb, + int dst_stride_argb, + int src_width, + int src_height, + int dst_width, + int dst_height); + +// Convert Android420 to ARGB. +LIBYUV_API +int Android420ToARGB(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + int src_pixel_stride_uv, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +// Convert Android420 to ABGR. +LIBYUV_API +int Android420ToABGR(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + int src_pixel_stride_uv, + uint8_t* dst_abgr, + int dst_stride_abgr, + int width, + int height); + +// Convert NV12 to RGB565. +LIBYUV_API +int NV12ToRGB565(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_uv, + int src_stride_uv, + uint8_t* dst_rgb565, + int dst_stride_rgb565, + int width, + int height); + +// Convert I422 to BGRA. +LIBYUV_API +int I422ToBGRA(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_bgra, + int dst_stride_bgra, + int width, + int height); + +// Convert I422 to ABGR. +LIBYUV_API +int I422ToABGR(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_abgr, + int dst_stride_abgr, + int width, + int height); + +// Convert I422 to RGBA. +LIBYUV_API +int I422ToRGBA(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_rgba, + int dst_stride_rgba, + int width, + int height); + +LIBYUV_API +int I420ToARGB(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +LIBYUV_API +int I420ToBGRA(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_bgra, + int dst_stride_bgra, + int width, + int height); + +LIBYUV_API +int I420ToABGR(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_abgr, + int dst_stride_abgr, + int width, + int height); + +LIBYUV_API +int I420ToRGBA(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_rgba, + int dst_stride_rgba, + int width, + int height); + +LIBYUV_API +int I420ToRGB24(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_rgb24, + int dst_stride_rgb24, + int width, + int height); + +LIBYUV_API +int I420ToRAW(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_raw, + int dst_stride_raw, + int width, + int height); + +LIBYUV_API +int H420ToRGB24(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_rgb24, + int dst_stride_rgb24, + int width, + int height); + +LIBYUV_API +int H420ToRAW(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_raw, + int dst_stride_raw, + int width, + int height); + +LIBYUV_API +int J420ToRGB24(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_rgb24, + int dst_stride_rgb24, + int width, + int height); + +LIBYUV_API +int J420ToRAW(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_raw, + int dst_stride_raw, + int width, + int height); + +LIBYUV_API +int I420ToRGB565(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_rgb565, + int dst_stride_rgb565, + int width, + int height); + +LIBYUV_API +int J420ToRGB565(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_rgb565, + int dst_stride_rgb565, + int width, + int height); + +LIBYUV_API +int H420ToRGB565(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_rgb565, + int dst_stride_rgb565, + int width, + int height); + +LIBYUV_API +int I422ToRGB565(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_rgb565, + int dst_stride_rgb565, + int width, + int height); + +// Convert I420 To RGB565 with 4x4 dither matrix (16 bytes). +// Values in dither matrix from 0 to 7 recommended. +// The order of the dither matrix is first byte is upper left. + +LIBYUV_API +int I420ToRGB565Dither(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_rgb565, + int dst_stride_rgb565, + const uint8_t* dither4x4, + int width, + int height); + +LIBYUV_API +int I420ToARGB1555(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_argb1555, + int dst_stride_argb1555, + int width, + int height); + +LIBYUV_API +int I420ToARGB4444(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_argb4444, + int dst_stride_argb4444, + int width, + int height); + +// Convert I420 to AR30. +LIBYUV_API +int I420ToAR30(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_ar30, + int dst_stride_ar30, + int width, + int height); + +// Convert H420 to AR30. +LIBYUV_API +int H420ToAR30(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_ar30, + int dst_stride_ar30, + int width, + int height); + +// Convert I420 to ARGB with matrix. +LIBYUV_API +int I420ToARGBMatrix(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_argb, + int dst_stride_argb, + const struct YuvConstants* yuvconstants, + int width, + int height); + +// Convert I422 to ARGB with matrix. +LIBYUV_API +int I422ToARGBMatrix(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_argb, + int dst_stride_argb, + const struct YuvConstants* yuvconstants, + int width, + int height); + +// Convert I444 to ARGB with matrix. +LIBYUV_API +int I444ToARGBMatrix(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_argb, + int dst_stride_argb, + const struct YuvConstants* yuvconstants, + int width, + int height); + +// multiply 10 bit yuv into high bits to allow any number of bits. +LIBYUV_API +int I010ToAR30Matrix(const uint16_t* src_y, + int src_stride_y, + const uint16_t* src_u, + int src_stride_u, + const uint16_t* src_v, + int src_stride_v, + uint8_t* dst_ar30, + int dst_stride_ar30, + const struct YuvConstants* yuvconstants, + int width, + int height); + +// multiply 10 bit yuv into high bits to allow any number of bits. +LIBYUV_API +int I210ToAR30Matrix(const uint16_t* src_y, + int src_stride_y, + const uint16_t* src_u, + int src_stride_u, + const uint16_t* src_v, + int src_stride_v, + uint8_t* dst_ar30, + int dst_stride_ar30, + const struct YuvConstants* yuvconstants, + int width, + int height); + +// Convert 10 bit YUV to ARGB with matrix. +LIBYUV_API +int I010ToARGBMatrix(const uint16_t* src_y, + int src_stride_y, + const uint16_t* src_u, + int src_stride_u, + const uint16_t* src_v, + int src_stride_v, + uint8_t* dst_argb, + int dst_stride_argb, + const struct YuvConstants* yuvconstants, + int width, + int height); + +// Convert 10 bit 422 YUV to ARGB with matrix. +LIBYUV_API +int I210ToARGBMatrix(const uint16_t* src_y, + int src_stride_y, + const uint16_t* src_u, + int src_stride_u, + const uint16_t* src_v, + int src_stride_v, + uint8_t* dst_argb, + int dst_stride_argb, + const struct YuvConstants* yuvconstants, + int width, + int height); + +// Convert I420 with Alpha to preattenuated ARGB with matrix. +LIBYUV_API +int I420AlphaToARGBMatrix(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + const uint8_t* src_a, + int src_stride_a, + uint8_t* dst_argb, + int dst_stride_argb, + const struct YuvConstants* yuvconstants, + int width, + int height, + int attenuate); + +// Convert NV12 to ARGB with matrix. +LIBYUV_API +int NV12ToARGBMatrix(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_uv, + int src_stride_uv, + uint8_t* dst_argb, + int dst_stride_argb, + const struct YuvConstants* yuvconstants, + int width, + int height); + +// Convert NV21 to ARGB with matrix. +LIBYUV_API +int NV21ToARGBMatrix(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_vu, + int src_stride_vu, + uint8_t* dst_argb, + int dst_stride_argb, + const struct YuvConstants* yuvconstants, + int width, + int height); + +// Convert NV12 to RGB565 with matrix. +LIBYUV_API +int NV12ToRGB565Matrix(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_uv, + int src_stride_uv, + uint8_t* dst_rgb565, + int dst_stride_rgb565, + const struct YuvConstants* yuvconstants, + int width, + int height); + +// Convert NV12 to RGB24 with matrix. +LIBYUV_API +int NV12ToRGB24Matrix(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_uv, + int src_stride_uv, + uint8_t* dst_rgb24, + int dst_stride_rgb24, + const struct YuvConstants* yuvconstants, + int width, + int height); + +// Convert NV21 to RGB24 with matrix. +LIBYUV_API +int NV21ToRGB24Matrix(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_vu, + int src_stride_vu, + uint8_t* dst_rgb24, + int dst_stride_rgb24, + const struct YuvConstants* yuvconstants, + int width, + int height); + +// Convert Android420 to ARGB with matrix. +LIBYUV_API +int Android420ToARGBMatrix(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + int src_pixel_stride_uv, + uint8_t* dst_argb, + int dst_stride_argb, + const struct YuvConstants* yuvconstants, + int width, + int height); + +// Convert I422 to RGBA with matrix. +LIBYUV_API +int I422ToRGBAMatrix(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_rgba, + int dst_stride_rgba, + const struct YuvConstants* yuvconstants, + int width, + int height); + +// Convert I422 to RGBA with matrix. +LIBYUV_API +int I420ToRGBAMatrix(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_rgba, + int dst_stride_rgba, + const struct YuvConstants* yuvconstants, + int width, + int height); + +// Convert I420 to RGB24 with matrix. +LIBYUV_API +int I420ToRGB24Matrix(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_rgb24, + int dst_stride_rgb24, + const struct YuvConstants* yuvconstants, + int width, + int height); + +// Convert I420 to RGB565 with specified color matrix. +LIBYUV_API +int I420ToRGB565Matrix(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_rgb565, + int dst_stride_rgb565, + const struct YuvConstants* yuvconstants, + int width, + int height); + +// Convert I420 to AR30 with matrix. +LIBYUV_API +int I420ToAR30Matrix(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_ar30, + int dst_stride_ar30, + const struct YuvConstants* yuvconstants, + int width, + int height); + +// Convert I400 (grey) to ARGB. Reverse of ARGBToI400. +LIBYUV_API +int I400ToARGBMatrix(const uint8_t* src_y, + int src_stride_y, + uint8_t* dst_argb, + int dst_stride_argb, + const struct YuvConstants* yuvconstants, + int width, + int height); + +// Convert camera sample to ARGB with cropping, rotation and vertical flip. +// "sample_size" is needed to parse MJPG. +// "dst_stride_argb" number of bytes in a row of the dst_argb plane. +// Normally this would be the same as dst_width, with recommended alignment +// to 16 bytes for better efficiency. +// If rotation of 90 or 270 is used, stride is affected. The caller should +// allocate the I420 buffer according to rotation. +// "dst_stride_u" number of bytes in a row of the dst_u plane. +// Normally this would be the same as (dst_width + 1) / 2, with +// recommended alignment to 16 bytes for better efficiency. +// If rotation of 90 or 270 is used, stride is affected. +// "crop_x" and "crop_y" are starting position for cropping. +// To center, crop_x = (src_width - dst_width) / 2 +// crop_y = (src_height - dst_height) / 2 +// "src_width" / "src_height" is size of src_frame in pixels. +// "src_height" can be negative indicating a vertically flipped image source. +// "crop_width" / "crop_height" is the size to crop the src to. +// Must be less than or equal to src_width/src_height +// Cropping parameters are pre-rotation. +// "rotation" can be 0, 90, 180 or 270. +// "fourcc" is a fourcc. ie 'I420', 'YUY2' +// Returns 0 for successful; -1 for invalid parameter. Non-zero for failure. +LIBYUV_API +int ConvertToARGB(const uint8_t* sample, + size_t sample_size, + uint8_t* dst_argb, + int dst_stride_argb, + int crop_x, + int crop_y, + int src_width, + int src_height, + int crop_width, + int crop_height, + enum RotationMode rotation, + uint32_t fourcc); + +#ifdef __cplusplus +} // extern "C" +} // namespace libyuv +#endif + +#endif // INCLUDE_LIBYUV_CONVERT_ARGB_H_ diff --git a/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/convert_from.h b/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/convert_from.h new file mode 100644 index 0000000..5140ed4 --- /dev/null +++ b/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/convert_from.h @@ -0,0 +1,185 @@ +/* + * Copyright 2011 The LibYuv Project Authors. All rights reserved. + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ + +#ifndef INCLUDE_LIBYUV_CONVERT_FROM_H_ +#define INCLUDE_LIBYUV_CONVERT_FROM_H_ + +#include "libyuv/basic_types.h" +#include "libyuv/rotate.h" + +#ifdef __cplusplus +namespace libyuv { +extern "C" { +#endif + +// See Also convert.h for conversions from formats to I420. + +// Convert 8 bit YUV to 10 bit. +#define H420ToH010 I420ToI010 +LIBYUV_API +int I420ToI010(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint16_t* dst_y, + int dst_stride_y, + uint16_t* dst_u, + int dst_stride_u, + uint16_t* dst_v, + int dst_stride_v, + int width, + int height); + +LIBYUV_API +int I420ToI422(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_u, + int dst_stride_u, + uint8_t* dst_v, + int dst_stride_v, + int width, + int height); + +LIBYUV_API +int I420ToI444(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_u, + int dst_stride_u, + uint8_t* dst_v, + int dst_stride_v, + int width, + int height); + +// Copy to I400. Source can be I420, I422, I444, I400, NV12 or NV21. +LIBYUV_API +int I400Copy(const uint8_t* src_y, + int src_stride_y, + uint8_t* dst_y, + int dst_stride_y, + int width, + int height); + +LIBYUV_API +int I420ToNV12(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_uv, + int dst_stride_uv, + int width, + int height); + +LIBYUV_API +int I420ToNV21(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_vu, + int dst_stride_vu, + int width, + int height); + +LIBYUV_API +int I420ToYUY2(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_yuy2, + int dst_stride_yuy2, + int width, + int height); + +LIBYUV_API +int I420ToUYVY(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_uyvy, + int dst_stride_uyvy, + int width, + int height); + +// The following are from convert_argb.h +// DEPRECATED: The prototypes will be removed in future. Use convert_argb.h + +// Convert I420 to ARGB. +LIBYUV_API +int I420ToARGB(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +// Convert I420 to ABGR. +LIBYUV_API +int I420ToABGR(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_abgr, + int dst_stride_abgr, + int width, + int height); + +// Convert I420 to specified format. +// "dst_sample_stride" is bytes in a row for the destination. Pass 0 if the +// buffer has contiguous rows. Can be negative. A multiple of 16 is optimal. +LIBYUV_API +int ConvertFromI420(const uint8_t* y, + int y_stride, + const uint8_t* u, + int u_stride, + const uint8_t* v, + int v_stride, + uint8_t* dst_sample, + int dst_sample_stride, + int width, + int height, + uint32_t fourcc); + +#ifdef __cplusplus +} // extern "C" +} // namespace libyuv +#endif + +#endif // INCLUDE_LIBYUV_CONVERT_FROM_H_ diff --git a/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/convert_from_argb.h b/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/convert_from_argb.h new file mode 100644 index 0000000..d992363 --- /dev/null +++ b/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/convert_from_argb.h @@ -0,0 +1,311 @@ +/* + * Copyright 2012 The LibYuv Project Authors. All rights reserved. + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ + +#ifndef INCLUDE_LIBYUV_CONVERT_FROM_ARGB_H_ +#define INCLUDE_LIBYUV_CONVERT_FROM_ARGB_H_ + +#include "libyuv/basic_types.h" + +#ifdef __cplusplus +namespace libyuv { +extern "C" { +#endif + +// Copy ARGB to ARGB. +#define ARGBToARGB ARGBCopy +LIBYUV_API +int ARGBCopy(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +// Convert ARGB To BGRA. +LIBYUV_API +int ARGBToBGRA(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_bgra, + int dst_stride_bgra, + int width, + int height); + +// Convert ARGB To ABGR. +LIBYUV_API +int ARGBToABGR(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_abgr, + int dst_stride_abgr, + int width, + int height); + +// Convert ARGB To RGBA. +LIBYUV_API +int ARGBToRGBA(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_rgba, + int dst_stride_rgba, + int width, + int height); + +// Aliases +#define ARGBToAB30 ABGRToAR30 +#define ABGRToAB30 ARGBToAR30 + +// Convert ABGR To AR30. +LIBYUV_API +int ABGRToAR30(const uint8_t* src_abgr, + int src_stride_abgr, + uint8_t* dst_ar30, + int dst_stride_ar30, + int width, + int height); + +// Convert ARGB To AR30. +LIBYUV_API +int ARGBToAR30(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_ar30, + int dst_stride_ar30, + int width, + int height); + +// Aliases +#define ABGRToRGB24 ARGBToRAW +#define ABGRToRAW ARGBToRGB24 + +// Convert ARGB To RGB24. +LIBYUV_API +int ARGBToRGB24(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_rgb24, + int dst_stride_rgb24, + int width, + int height); + +// Convert ARGB To RAW. +LIBYUV_API +int ARGBToRAW(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_raw, + int dst_stride_raw, + int width, + int height); + +// Convert ARGB To RGB565. +LIBYUV_API +int ARGBToRGB565(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_rgb565, + int dst_stride_rgb565, + int width, + int height); + +// Convert ARGB To RGB565 with 4x4 dither matrix (16 bytes). +// Values in dither matrix from 0 to 7 recommended. +// The order of the dither matrix is first byte is upper left. +// TODO(fbarchard): Consider pointer to 2d array for dither4x4. +// const uint8_t(*dither)[4][4]; +LIBYUV_API +int ARGBToRGB565Dither(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_rgb565, + int dst_stride_rgb565, + const uint8_t* dither4x4, + int width, + int height); + +// Convert ARGB To ARGB1555. +LIBYUV_API +int ARGBToARGB1555(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_argb1555, + int dst_stride_argb1555, + int width, + int height); + +// Convert ARGB To ARGB4444. +LIBYUV_API +int ARGBToARGB4444(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_argb4444, + int dst_stride_argb4444, + int width, + int height); + +// Convert ARGB To I444. +LIBYUV_API +int ARGBToI444(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_u, + int dst_stride_u, + uint8_t* dst_v, + int dst_stride_v, + int width, + int height); + +// Convert ARGB To I422. +LIBYUV_API +int ARGBToI422(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_u, + int dst_stride_u, + uint8_t* dst_v, + int dst_stride_v, + int width, + int height); + +// Convert ARGB To I420. (also in convert.h) +LIBYUV_API +int ARGBToI420(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_u, + int dst_stride_u, + uint8_t* dst_v, + int dst_stride_v, + int width, + int height); + +// Convert ARGB to J420. (JPeg full range I420). +LIBYUV_API +int ARGBToJ420(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_yj, + int dst_stride_yj, + uint8_t* dst_u, + int dst_stride_u, + uint8_t* dst_v, + int dst_stride_v, + int width, + int height); + +// Convert ARGB to J422. +LIBYUV_API +int ARGBToJ422(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_yj, + int dst_stride_yj, + uint8_t* dst_u, + int dst_stride_u, + uint8_t* dst_v, + int dst_stride_v, + int width, + int height); + +// Convert ARGB to J400. (JPeg full range). +LIBYUV_API +int ARGBToJ400(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_yj, + int dst_stride_yj, + int width, + int height); + +// Convert RGBA to J400. (JPeg full range). +LIBYUV_API +int RGBAToJ400(const uint8_t* src_rgba, + int src_stride_rgba, + uint8_t* dst_yj, + int dst_stride_yj, + int width, + int height); + +// Convert ARGB to I400. +LIBYUV_API +int ARGBToI400(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_y, + int dst_stride_y, + int width, + int height); + +// Convert ARGB to G. (Reverse of J400toARGB, which replicates G back to ARGB) +LIBYUV_API +int ARGBToG(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_g, + int dst_stride_g, + int width, + int height); + +// Convert ARGB To NV12. +LIBYUV_API +int ARGBToNV12(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_uv, + int dst_stride_uv, + int width, + int height); + +// Convert ARGB To NV21. +LIBYUV_API +int ARGBToNV21(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_vu, + int dst_stride_vu, + int width, + int height); + +// Convert ABGR To NV12. +LIBYUV_API +int ABGRToNV12(const uint8_t* src_abgr, + int src_stride_abgr, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_uv, + int dst_stride_uv, + int width, + int height); + +// Convert ABGR To NV21. +LIBYUV_API +int ABGRToNV21(const uint8_t* src_abgr, + int src_stride_abgr, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_vu, + int dst_stride_vu, + int width, + int height); + +// Convert ARGB To YUY2. +LIBYUV_API +int ARGBToYUY2(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_yuy2, + int dst_stride_yuy2, + int width, + int height); + +// Convert ARGB To UYVY. +LIBYUV_API +int ARGBToUYVY(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_uyvy, + int dst_stride_uyvy, + int width, + int height); + +#ifdef __cplusplus +} // extern "C" +} // namespace libyuv +#endif + +#endif // INCLUDE_LIBYUV_CONVERT_FROM_ARGB_H_ diff --git a/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/cpu_id.h b/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/cpu_id.h new file mode 100644 index 0000000..3e27cc1 --- /dev/null +++ b/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/cpu_id.h @@ -0,0 +1,122 @@ +/* + * Copyright 2011 The LibYuv Project Authors. All rights reserved. + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ + +#ifndef INCLUDE_LIBYUV_CPU_ID_H_ +#define INCLUDE_LIBYUV_CPU_ID_H_ + +#include "libyuv/basic_types.h" + +#ifdef __cplusplus +namespace libyuv { +extern "C" { +#endif + +// Internal flag to indicate cpuid requires initialization. +static const int kCpuInitialized = 0x1; + +// These flags are only valid on ARM processors. +static const int kCpuHasARM = 0x2; +static const int kCpuHasNEON = 0x4; +// 0x8 reserved for future ARM flag. + +// These flags are only valid on x86 processors. +static const int kCpuHasX86 = 0x10; +static const int kCpuHasSSE2 = 0x20; +static const int kCpuHasSSSE3 = 0x40; +static const int kCpuHasSSE41 = 0x80; +static const int kCpuHasSSE42 = 0x100; // unused at this time. +static const int kCpuHasAVX = 0x200; +static const int kCpuHasAVX2 = 0x400; +static const int kCpuHasERMS = 0x800; +static const int kCpuHasFMA3 = 0x1000; +static const int kCpuHasF16C = 0x2000; +static const int kCpuHasGFNI = 0x4000; +static const int kCpuHasAVX512BW = 0x8000; +static const int kCpuHasAVX512VL = 0x10000; +static const int kCpuHasAVX512VBMI = 0x20000; +static const int kCpuHasAVX512VBMI2 = 0x40000; +static const int kCpuHasAVX512VBITALG = 0x80000; +static const int kCpuHasAVX512VPOPCNTDQ = 0x100000; + +// These flags are only valid on MIPS processors. +static const int kCpuHasMIPS = 0x200000; +static const int kCpuHasMSA = 0x400000; +static const int kCpuHasMMI = 0x800000; + +// Optional init function. TestCpuFlag does an auto-init. +// Returns cpu_info flags. +LIBYUV_API +int InitCpuFlags(void); + +// Detect CPU has SSE2 etc. +// Test_flag parameter should be one of kCpuHas constants above. +// Returns non-zero if instruction set is detected +static __inline int TestCpuFlag(int test_flag) { + LIBYUV_API extern int cpu_info_; +#ifdef __ATOMIC_RELAXED + int cpu_info = __atomic_load_n(&cpu_info_, __ATOMIC_RELAXED); +#else + int cpu_info = cpu_info_; +#endif + return (!cpu_info ? InitCpuFlags() : cpu_info) & test_flag; +} + +// Internal function for parsing /proc/cpuinfo. +LIBYUV_API +int ArmCpuCaps(const char* cpuinfo_name); +LIBYUV_API +int MipsCpuCaps(const char* cpuinfo_name); + +// For testing, allow CPU flags to be disabled. +// ie MaskCpuFlags(~kCpuHasSSSE3) to disable SSSE3. +// MaskCpuFlags(-1) to enable all cpu specific optimizations. +// MaskCpuFlags(1) to disable all cpu specific optimizations. +// MaskCpuFlags(0) to reset state so next call will auto init. +// Returns cpu_info flags. +LIBYUV_API +int MaskCpuFlags(int enable_flags); + +// Sets the CPU flags to |cpu_flags|, bypassing the detection code. |cpu_flags| +// should be a valid combination of the kCpuHas constants above and include +// kCpuInitialized. Use this method when running in a sandboxed process where +// the detection code might fail (as it might access /proc/cpuinfo). In such +// cases the cpu_info can be obtained from a non sandboxed process by calling +// InitCpuFlags() and passed to the sandboxed process (via command line +// parameters, IPC...) which can then call this method to initialize the CPU +// flags. +// Notes: +// - when specifying 0 for |cpu_flags|, the auto initialization is enabled +// again. +// - enabling CPU features that are not supported by the CPU will result in +// undefined behavior. +// TODO(fbarchard): consider writing a helper function that translates from +// other library CPU info to libyuv CPU info and add a .md doc that explains +// CPU detection. +static __inline void SetCpuFlags(int cpu_flags) { + LIBYUV_API extern int cpu_info_; +#ifdef __ATOMIC_RELAXED + __atomic_store_n(&cpu_info_, cpu_flags, __ATOMIC_RELAXED); +#else + cpu_info_ = cpu_flags; +#endif +} + +// Low level cpuid for X86. Returns zeros on other CPUs. +// eax is the info type that you want. +// ecx is typically the cpu number, and should normally be zero. +LIBYUV_API +void CpuId(int info_eax, int info_ecx, int* cpu_info); + +#ifdef __cplusplus +} // extern "C" +} // namespace libyuv +#endif + +#endif // INCLUDE_LIBYUV_CPU_ID_H_ diff --git a/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/macros_msa.h b/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/macros_msa.h new file mode 100644 index 0000000..4e232b6 --- /dev/null +++ b/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/macros_msa.h @@ -0,0 +1,236 @@ +/* + * Copyright 2016 The LibYuv Project Authors. All rights reserved. + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ + +#ifndef INCLUDE_LIBYUV_MACROS_MSA_H_ +#define INCLUDE_LIBYUV_MACROS_MSA_H_ + +#if !defined(LIBYUV_DISABLE_MSA) && defined(__mips_msa) +#include +#include + +#if (__mips_isa_rev >= 6) +#define LW(psrc) \ + ({ \ + const uint8_t* psrc_lw_m = (const uint8_t*)(psrc); \ + uint32_t val_m; \ + asm volatile("lw %[val_m], %[psrc_lw_m] \n" \ + : [val_m] "=r"(val_m) \ + : [psrc_lw_m] "m"(*psrc_lw_m)); \ + val_m; \ + }) + +#if (__mips == 64) +#define LD(psrc) \ + ({ \ + const uint8_t* psrc_ld_m = (const uint8_t*)(psrc); \ + uint64_t val_m = 0; \ + asm volatile("ld %[val_m], %[psrc_ld_m] \n" \ + : [val_m] "=r"(val_m) \ + : [psrc_ld_m] "m"(*psrc_ld_m)); \ + val_m; \ + }) +#else // !(__mips == 64) +#define LD(psrc) \ + ({ \ + const uint8_t* psrc_ld_m = (const uint8_t*)(psrc); \ + uint32_t val0_m, val1_m; \ + uint64_t val_m = 0; \ + val0_m = LW(psrc_ld_m); \ + val1_m = LW(psrc_ld_m + 4); \ + val_m = (uint64_t)(val1_m); /* NOLINT */ \ + val_m = (uint64_t)((val_m << 32) & 0xFFFFFFFF00000000); /* NOLINT */ \ + val_m = (uint64_t)(val_m | (uint64_t)val0_m); /* NOLINT */ \ + val_m; \ + }) +#endif // (__mips == 64) + +#define SW(val, pdst) \ + ({ \ + uint8_t* pdst_sw_m = (uint8_t*)(pdst); /* NOLINT */ \ + uint32_t val_m = (val); \ + asm volatile("sw %[val_m], %[pdst_sw_m] \n" \ + : [pdst_sw_m] "=m"(*pdst_sw_m) \ + : [val_m] "r"(val_m)); \ + }) + +#if (__mips == 64) +#define SD(val, pdst) \ + ({ \ + uint8_t* pdst_sd_m = (uint8_t*)(pdst); /* NOLINT */ \ + uint64_t val_m = (val); \ + asm volatile("sd %[val_m], %[pdst_sd_m] \n" \ + : [pdst_sd_m] "=m"(*pdst_sd_m) \ + : [val_m] "r"(val_m)); \ + }) +#else // !(__mips == 64) +#define SD(val, pdst) \ + ({ \ + uint8_t* pdst_sd_m = (uint8_t*)(pdst); /* NOLINT */ \ + uint32_t val0_m, val1_m; \ + val0_m = (uint32_t)((val)&0x00000000FFFFFFFF); \ + val1_m = (uint32_t)(((val) >> 32) & 0x00000000FFFFFFFF); \ + SW(val0_m, pdst_sd_m); \ + SW(val1_m, pdst_sd_m + 4); \ + }) +#endif // !(__mips == 64) +#else // !(__mips_isa_rev >= 6) +#define LW(psrc) \ + ({ \ + const uint8_t* psrc_lw_m = (const uint8_t*)(psrc); \ + uint32_t val_m; \ + asm volatile("ulw %[val_m], %[psrc_lw_m] \n" \ + : [val_m] "=r"(val_m) \ + : [psrc_lw_m] "m"(*psrc_lw_m)); \ + val_m; \ + }) + +#if (__mips == 64) +#define LD(psrc) \ + ({ \ + const uint8_t* psrc_ld_m = (const uint8_t*)(psrc); \ + uint64_t val_m = 0; \ + asm volatile("uld %[val_m], %[psrc_ld_m] \n" \ + : [val_m] "=r"(val_m) \ + : [psrc_ld_m] "m"(*psrc_ld_m)); \ + val_m; \ + }) +#else // !(__mips == 64) +#define LD(psrc) \ + ({ \ + const uint8_t* psrc_ld_m = (const uint8_t*)(psrc); \ + uint32_t val0_m, val1_m; \ + uint64_t val_m = 0; \ + val0_m = LW(psrc_ld_m); \ + val1_m = LW(psrc_ld_m + 4); \ + val_m = (uint64_t)(val1_m); /* NOLINT */ \ + val_m = (uint64_t)((val_m << 32) & 0xFFFFFFFF00000000); /* NOLINT */ \ + val_m = (uint64_t)(val_m | (uint64_t)val0_m); /* NOLINT */ \ + val_m; \ + }) +#endif // (__mips == 64) + +#define SW(val, pdst) \ + ({ \ + uint8_t* pdst_sw_m = (uint8_t*)(pdst); /* NOLINT */ \ + uint32_t val_m = (val); \ + asm volatile("usw %[val_m], %[pdst_sw_m] \n" \ + : [pdst_sw_m] "=m"(*pdst_sw_m) \ + : [val_m] "r"(val_m)); \ + }) + +#define SD(val, pdst) \ + ({ \ + uint8_t* pdst_sd_m = (uint8_t*)(pdst); /* NOLINT */ \ + uint32_t val0_m, val1_m; \ + val0_m = (uint32_t)((val)&0x00000000FFFFFFFF); \ + val1_m = (uint32_t)(((val) >> 32) & 0x00000000FFFFFFFF); \ + SW(val0_m, pdst_sd_m); \ + SW(val1_m, pdst_sd_m + 4); \ + }) +#endif // (__mips_isa_rev >= 6) + +// TODO(fbarchard): Consider removing __VAR_ARGS versions. +#define LD_B(RTYPE, psrc) *((RTYPE*)(psrc)) /* NOLINT */ +#define LD_UB(...) LD_B(const v16u8, __VA_ARGS__) + +#define LD_H(RTYPE, psrc) *((RTYPE*)(psrc)) /* NOLINT */ +#define LD_UH(...) LD_H(const v8u16, __VA_ARGS__) + +#define ST_B(RTYPE, in, pdst) *((RTYPE*)(pdst)) = (in) /* NOLINT */ +#define ST_UB(...) ST_B(v16u8, __VA_ARGS__) + +#define ST_H(RTYPE, in, pdst) *((RTYPE*)(pdst)) = (in) /* NOLINT */ +#define ST_UH(...) ST_H(v8u16, __VA_ARGS__) + +/* Description : Load two vectors with 16 'byte' sized elements + Arguments : Inputs - psrc, stride + Outputs - out0, out1 + Return Type - as per RTYPE + Details : Load 16 byte elements in 'out0' from (psrc) + Load 16 byte elements in 'out1' from (psrc + stride) +*/ +#define LD_B2(RTYPE, psrc, stride, out0, out1) \ + { \ + out0 = LD_B(RTYPE, (psrc)); \ + out1 = LD_B(RTYPE, (psrc) + stride); \ + } +#define LD_UB2(...) LD_B2(const v16u8, __VA_ARGS__) + +#define LD_B4(RTYPE, psrc, stride, out0, out1, out2, out3) \ + { \ + LD_B2(RTYPE, (psrc), stride, out0, out1); \ + LD_B2(RTYPE, (psrc) + 2 * stride, stride, out2, out3); \ + } +#define LD_UB4(...) LD_B4(const v16u8, __VA_ARGS__) + +/* Description : Store two vectors with stride each having 16 'byte' sized + elements + Arguments : Inputs - in0, in1, pdst, stride + Details : Store 16 byte elements from 'in0' to (pdst) + Store 16 byte elements from 'in1' to (pdst + stride) +*/ +#define ST_B2(RTYPE, in0, in1, pdst, stride) \ + { \ + ST_B(RTYPE, in0, (pdst)); \ + ST_B(RTYPE, in1, (pdst) + stride); \ + } +#define ST_UB2(...) ST_B2(v16u8, __VA_ARGS__) + +#define ST_B4(RTYPE, in0, in1, in2, in3, pdst, stride) \ + { \ + ST_B2(RTYPE, in0, in1, (pdst), stride); \ + ST_B2(RTYPE, in2, in3, (pdst) + 2 * stride, stride); \ + } +#define ST_UB4(...) ST_B4(v16u8, __VA_ARGS__) + +/* Description : Store vectors of 8 halfword elements with stride + Arguments : Inputs - in0, in1, pdst, stride + Details : Store 8 halfword elements from 'in0' to (pdst) + Store 8 halfword elements from 'in1' to (pdst + stride) +*/ +#define ST_H2(RTYPE, in0, in1, pdst, stride) \ + { \ + ST_H(RTYPE, in0, (pdst)); \ + ST_H(RTYPE, in1, (pdst) + stride); \ + } +#define ST_UH2(...) ST_H2(v8u16, __VA_ARGS__) + +// TODO(fbarchard): Consider using __msa_vshf_b and __msa_ilvr_b directly. +/* Description : Shuffle byte vector elements as per mask vector + Arguments : Inputs - in0, in1, in2, in3, mask0, mask1 + Outputs - out0, out1 + Return Type - as per RTYPE + Details : Byte elements from 'in0' & 'in1' are copied selectively to + 'out0' as per control vector 'mask0' +*/ +#define VSHF_B2(RTYPE, in0, in1, in2, in3, mask0, mask1, out0, out1) \ + { \ + out0 = (RTYPE)__msa_vshf_b((v16i8)mask0, (v16i8)in1, (v16i8)in0); \ + out1 = (RTYPE)__msa_vshf_b((v16i8)mask1, (v16i8)in3, (v16i8)in2); \ + } +#define VSHF_B2_UB(...) VSHF_B2(v16u8, __VA_ARGS__) + +/* Description : Interleave both left and right half of input vectors + Arguments : Inputs - in0, in1 + Outputs - out0, out1 + Return Type - as per RTYPE + Details : Right half of byte elements from 'in0' and 'in1' are + interleaved and written to 'out0' +*/ +#define ILVRL_B2(RTYPE, in0, in1, out0, out1) \ + { \ + out0 = (RTYPE)__msa_ilvr_b((v16i8)in0, (v16i8)in1); \ + out1 = (RTYPE)__msa_ilvl_b((v16i8)in0, (v16i8)in1); \ + } +#define ILVRL_B2_UB(...) ILVRL_B2(v16u8, __VA_ARGS__) + +#endif /* !defined(LIBYUV_DISABLE_MSA) && defined(__mips_msa) */ + +#endif // INCLUDE_LIBYUV_MACROS_MSA_H_ diff --git a/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/mjpeg_decoder.h b/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/mjpeg_decoder.h new file mode 100644 index 0000000..275f8d4 --- /dev/null +++ b/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/mjpeg_decoder.h @@ -0,0 +1,195 @@ +/* + * Copyright 2012 The LibYuv Project Authors. All rights reserved. + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ + +#ifndef INCLUDE_LIBYUV_MJPEG_DECODER_H_ +#define INCLUDE_LIBYUV_MJPEG_DECODER_H_ + +#include "libyuv/basic_types.h" + +#ifdef __cplusplus +// NOTE: For a simplified public API use convert.h MJPGToI420(). + +struct jpeg_common_struct; +struct jpeg_decompress_struct; +struct jpeg_source_mgr; + +namespace libyuv { + +#ifdef __cplusplus +extern "C" { +#endif + +LIBYUV_BOOL ValidateJpeg(const uint8_t* sample, size_t sample_size); + +#ifdef __cplusplus +} // extern "C" +#endif + +static const uint32_t kUnknownDataSize = 0xFFFFFFFF; + +enum JpegSubsamplingType { + kJpegYuv420, + kJpegYuv422, + kJpegYuv444, + kJpegYuv400, + kJpegUnknown +}; + +struct Buffer { + const uint8_t* data; + int len; +}; + +struct BufferVector { + Buffer* buffers; + int len; + int pos; +}; + +struct SetJmpErrorMgr; + +// MJPEG ("Motion JPEG") is a pseudo-standard video codec where the frames are +// simply independent JPEG images with a fixed huffman table (which is omitted). +// It is rarely used in video transmission, but is common as a camera capture +// format, especially in Logitech devices. This class implements a decoder for +// MJPEG frames. +// +// See http://tools.ietf.org/html/rfc2435 +class LIBYUV_API MJpegDecoder { + public: + typedef void (*CallbackFunction)(void* opaque, + const uint8_t* const* data, + const int* strides, + int rows); + + static const int kColorSpaceUnknown; + static const int kColorSpaceGrayscale; + static const int kColorSpaceRgb; + static const int kColorSpaceYCbCr; + static const int kColorSpaceCMYK; + static const int kColorSpaceYCCK; + + MJpegDecoder(); + ~MJpegDecoder(); + + // Loads a new frame, reads its headers, and determines the uncompressed + // image format. + // Returns LIBYUV_TRUE if image looks valid and format is supported. + // If return value is LIBYUV_TRUE, then the values for all the following + // getters are populated. + // src_len is the size of the compressed mjpeg frame in bytes. + LIBYUV_BOOL LoadFrame(const uint8_t* src, size_t src_len); + + // Returns width of the last loaded frame in pixels. + int GetWidth(); + + // Returns height of the last loaded frame in pixels. + int GetHeight(); + + // Returns format of the last loaded frame. The return value is one of the + // kColorSpace* constants. + int GetColorSpace(); + + // Number of color components in the color space. + int GetNumComponents(); + + // Sample factors of the n-th component. + int GetHorizSampFactor(int component); + + int GetVertSampFactor(int component); + + int GetHorizSubSampFactor(int component); + + int GetVertSubSampFactor(int component); + + // Public for testability. + int GetImageScanlinesPerImcuRow(); + + // Public for testability. + int GetComponentScanlinesPerImcuRow(int component); + + // Width of a component in bytes. + int GetComponentWidth(int component); + + // Height of a component. + int GetComponentHeight(int component); + + // Width of a component in bytes with padding for DCTSIZE. Public for testing. + int GetComponentStride(int component); + + // Size of a component in bytes. + int GetComponentSize(int component); + + // Call this after LoadFrame() if you decide you don't want to decode it + // after all. + LIBYUV_BOOL UnloadFrame(); + + // Decodes the entire image into a one-buffer-per-color-component format. + // dst_width must match exactly. dst_height must be <= to image height; if + // less, the image is cropped. "planes" must have size equal to at least + // GetNumComponents() and they must point to non-overlapping buffers of size + // at least GetComponentSize(i). The pointers in planes are incremented + // to point to after the end of the written data. + // TODO(fbarchard): Add dst_x, dst_y to allow specific rect to be decoded. + LIBYUV_BOOL DecodeToBuffers(uint8_t** planes, int dst_width, int dst_height); + + // Decodes the entire image and passes the data via repeated calls to a + // callback function. Each call will get the data for a whole number of + // image scanlines. + // TODO(fbarchard): Add dst_x, dst_y to allow specific rect to be decoded. + LIBYUV_BOOL DecodeToCallback(CallbackFunction fn, + void* opaque, + int dst_width, + int dst_height); + + // The helper function which recognizes the jpeg sub-sampling type. + static JpegSubsamplingType JpegSubsamplingTypeHelper( + int* subsample_x, + int* subsample_y, + int number_of_components); + + private: + void AllocOutputBuffers(int num_outbufs); + void DestroyOutputBuffers(); + + LIBYUV_BOOL StartDecode(); + LIBYUV_BOOL FinishDecode(); + + void SetScanlinePointers(uint8_t** data); + LIBYUV_BOOL DecodeImcuRow(); + + int GetComponentScanlinePadding(int component); + + // A buffer holding the input data for a frame. + Buffer buf_; + BufferVector buf_vec_; + + jpeg_decompress_struct* decompress_struct_; + jpeg_source_mgr* source_mgr_; + SetJmpErrorMgr* error_mgr_; + + // LIBYUV_TRUE iff at least one component has scanline padding. (i.e., + // GetComponentScanlinePadding() != 0.) + LIBYUV_BOOL has_scanline_padding_; + + // Temporaries used to point to scanline outputs. + int num_outbufs_; // Outermost size of all arrays below. + uint8_t*** scanlines_; + int* scanlines_sizes_; + // Temporary buffer used for decoding when we can't decode directly to the + // output buffers. Large enough for just one iMCU row. + uint8_t** databuf_; + int* databuf_strides_; +}; + +} // namespace libyuv + +#endif // __cplusplus +#endif // INCLUDE_LIBYUV_MJPEG_DECODER_H_ diff --git a/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/planar_functions.h b/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/planar_functions.h new file mode 100644 index 0000000..8d868b9 --- /dev/null +++ b/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/planar_functions.h @@ -0,0 +1,900 @@ +/* + * Copyright 2011 The LibYuv Project Authors. All rights reserved. + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ + +#ifndef INCLUDE_LIBYUV_PLANAR_FUNCTIONS_H_ +#define INCLUDE_LIBYUV_PLANAR_FUNCTIONS_H_ + +#include "libyuv/basic_types.h" + +// TODO(fbarchard): Remove the following headers includes. +#include "libyuv/convert.h" +#include "libyuv/convert_argb.h" + +#ifdef __cplusplus +namespace libyuv { +extern "C" { +#endif + +// TODO(fbarchard): Move cpu macros to row.h +#if defined(__pnacl__) || defined(__CLR_VER) || \ + (defined(__native_client__) && defined(__x86_64__)) || \ + (defined(__i386__) && !defined(__SSE__) && !defined(__clang__)) +#define LIBYUV_DISABLE_X86 +#endif +// MemorySanitizer does not support assembly code yet. http://crbug.com/344505 +#if defined(__has_feature) +#if __has_feature(memory_sanitizer) +#define LIBYUV_DISABLE_X86 +#endif +#endif +// The following are available on all x86 platforms: +#if !defined(LIBYUV_DISABLE_X86) && \ + (defined(_M_IX86) || defined(__x86_64__) || defined(__i386__)) +#define HAS_ARGBAFFINEROW_SSE2 +#endif + +// Copy a plane of data. +LIBYUV_API +void CopyPlane(const uint8_t* src_y, + int src_stride_y, + uint8_t* dst_y, + int dst_stride_y, + int width, + int height); + +LIBYUV_API +void CopyPlane_16(const uint16_t* src_y, + int src_stride_y, + uint16_t* dst_y, + int dst_stride_y, + int width, + int height); + +LIBYUV_API +void Convert16To8Plane(const uint16_t* src_y, + int src_stride_y, + uint8_t* dst_y, + int dst_stride_y, + int scale, // 16384 for 10 bits + int width, + int height); + +LIBYUV_API +void Convert8To16Plane(const uint8_t* src_y, + int src_stride_y, + uint16_t* dst_y, + int dst_stride_y, + int scale, // 1024 for 10 bits + int width, + int height); + +// Set a plane of data to a 32 bit value. +LIBYUV_API +void SetPlane(uint8_t* dst_y, + int dst_stride_y, + int width, + int height, + uint32_t value); + +// Split interleaved UV plane into separate U and V planes. +LIBYUV_API +void SplitUVPlane(const uint8_t* src_uv, + int src_stride_uv, + uint8_t* dst_u, + int dst_stride_u, + uint8_t* dst_v, + int dst_stride_v, + int width, + int height); + +// Merge separate U and V planes into one interleaved UV plane. +LIBYUV_API +void MergeUVPlane(const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_uv, + int dst_stride_uv, + int width, + int height); + +// Scale U and V to half width and height and merge into interleaved UV plane. +// width and height are source size, allowing odd sizes. +// Use for converting I444 or I422 to NV12. +LIBYUV_API +void HalfMergeUVPlane(const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_uv, + int dst_stride_uv, + int width, + int height); + +// Swap U and V channels in interleaved UV plane. +LIBYUV_API +void SwapUVPlane(const uint8_t* src_uv, + int src_stride_uv, + uint8_t* dst_vu, + int dst_stride_vu, + int width, + int height); + +// Split interleaved RGB plane into separate R, G and B planes. +LIBYUV_API +void SplitRGBPlane(const uint8_t* src_rgb, + int src_stride_rgb, + uint8_t* dst_r, + int dst_stride_r, + uint8_t* dst_g, + int dst_stride_g, + uint8_t* dst_b, + int dst_stride_b, + int width, + int height); + +// Merge separate R, G and B planes into one interleaved RGB plane. +LIBYUV_API +void MergeRGBPlane(const uint8_t* src_r, + int src_stride_r, + const uint8_t* src_g, + int src_stride_g, + const uint8_t* src_b, + int src_stride_b, + uint8_t* dst_rgb, + int dst_stride_rgb, + int width, + int height); + +// Copy I400. Supports inverting. +LIBYUV_API +int I400ToI400(const uint8_t* src_y, + int src_stride_y, + uint8_t* dst_y, + int dst_stride_y, + int width, + int height); + +#define J400ToJ400 I400ToI400 + +// Copy I422 to I422. +#define I422ToI422 I422Copy +LIBYUV_API +int I422Copy(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_u, + int dst_stride_u, + uint8_t* dst_v, + int dst_stride_v, + int width, + int height); + +// Copy I444 to I444. +#define I444ToI444 I444Copy +LIBYUV_API +int I444Copy(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_u, + int dst_stride_u, + uint8_t* dst_v, + int dst_stride_v, + int width, + int height); + +// Copy NV12. Supports inverting. +int NV12Copy(const uint8_t* src_y, int src_stride_y, const uint8_t* src_uv, + int src_stride_uv, uint8_t* dst_y, int dst_stride_y, + uint8_t* dst_uv, int dst_stride_uv, int width, int height); + +// Copy NV21. Supports inverting. +int NV21Copy(const uint8_t* src_y, int src_stride_y, const uint8_t* src_vu, + int src_stride_vu, uint8_t* dst_y, int dst_stride_y, + uint8_t* dst_vu, int dst_stride_vu, int width, int height); + +// Convert YUY2 to I422. +LIBYUV_API +int YUY2ToI422(const uint8_t* src_yuy2, + int src_stride_yuy2, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_u, + int dst_stride_u, + uint8_t* dst_v, + int dst_stride_v, + int width, + int height); + +// Convert UYVY to I422. +LIBYUV_API +int UYVYToI422(const uint8_t* src_uyvy, + int src_stride_uyvy, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_u, + int dst_stride_u, + uint8_t* dst_v, + int dst_stride_v, + int width, + int height); + +LIBYUV_API +int YUY2ToNV12(const uint8_t* src_yuy2, + int src_stride_yuy2, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_uv, + int dst_stride_uv, + int width, + int height); + +LIBYUV_API +int UYVYToNV12(const uint8_t* src_uyvy, + int src_stride_uyvy, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_uv, + int dst_stride_uv, + int width, + int height); + +// Convert NV21 to NV12. +LIBYUV_API +int NV21ToNV12(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_vu, + int src_stride_vu, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_uv, + int dst_stride_uv, + int width, + int height); + +LIBYUV_API +int YUY2ToY(const uint8_t* src_yuy2, + int src_stride_yuy2, + uint8_t* dst_y, + int dst_stride_y, + int width, + int height); + +// Convert I420 to I400. (calls CopyPlane ignoring u/v). +LIBYUV_API +int I420ToI400(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_y, + int dst_stride_y, + int width, + int height); + +// Alias +#define J420ToJ400 I420ToI400 +#define I420ToI420Mirror I420Mirror + +// I420 mirror. +LIBYUV_API +int I420Mirror(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_u, + int dst_stride_u, + uint8_t* dst_v, + int dst_stride_v, + int width, + int height); + +// Alias +#define I400ToI400Mirror I400Mirror + +// I400 mirror. A single plane is mirrored horizontally. +// Pass negative height to achieve 180 degree rotation. +LIBYUV_API +int I400Mirror(const uint8_t* src_y, + int src_stride_y, + uint8_t* dst_y, + int dst_stride_y, + int width, + int height); + +// Alias +#define NV12ToNV12Mirror NV12Mirror + +// NV12 mirror. +LIBYUV_API +int NV12Mirror(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_uv, + int src_stride_uv, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_uv, + int dst_stride_uv, + int width, + int height); + +// Alias +#define ARGBToARGBMirror ARGBMirror + +// ARGB mirror. +LIBYUV_API +int ARGBMirror(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +// Alias +#define RGB24ToRGB24Mirror RGB24Mirror + +// RGB24 mirror. +LIBYUV_API +int RGB24Mirror(const uint8_t* src_rgb24, + int src_stride_rgb24, + uint8_t* dst_rgb24, + int dst_stride_rgb24, + int width, + int height); + +// Mirror a plane of data. +LIBYUV_API +void MirrorPlane(const uint8_t* src_y, + int src_stride_y, + uint8_t* dst_y, + int dst_stride_y, + int width, + int height); + +// Mirror a plane of UV data. +LIBYUV_API +void MirrorUVPlane(const uint8_t* src_uv, + int src_stride_uv, + uint8_t* dst_uv, + int dst_stride_uv, + int width, + int height); + +// Alias +#define RGB24ToRAW RAWToRGB24 + +LIBYUV_API +int RAWToRGB24(const uint8_t* src_raw, + int src_stride_raw, + uint8_t* dst_rgb24, + int dst_stride_rgb24, + int width, + int height); + +// Draw a rectangle into I420. +LIBYUV_API +int I420Rect(uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_u, + int dst_stride_u, + uint8_t* dst_v, + int dst_stride_v, + int x, + int y, + int width, + int height, + int value_y, + int value_u, + int value_v); + +// Draw a rectangle into ARGB. +LIBYUV_API +int ARGBRect(uint8_t* dst_argb, + int dst_stride_argb, + int dst_x, + int dst_y, + int width, + int height, + uint32_t value); + +// Convert ARGB to gray scale ARGB. +LIBYUV_API +int ARGBGrayTo(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +// Make a rectangle of ARGB gray scale. +LIBYUV_API +int ARGBGray(uint8_t* dst_argb, + int dst_stride_argb, + int dst_x, + int dst_y, + int width, + int height); + +// Make a rectangle of ARGB Sepia tone. +LIBYUV_API +int ARGBSepia(uint8_t* dst_argb, + int dst_stride_argb, + int dst_x, + int dst_y, + int width, + int height); + +// Apply a matrix rotation to each ARGB pixel. +// matrix_argb is 4 signed ARGB values. -128 to 127 representing -2 to 2. +// The first 4 coefficients apply to B, G, R, A and produce B of the output. +// The next 4 coefficients apply to B, G, R, A and produce G of the output. +// The next 4 coefficients apply to B, G, R, A and produce R of the output. +// The last 4 coefficients apply to B, G, R, A and produce A of the output. +LIBYUV_API +int ARGBColorMatrix(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_argb, + int dst_stride_argb, + const int8_t* matrix_argb, + int width, + int height); + +// Deprecated. Use ARGBColorMatrix instead. +// Apply a matrix rotation to each ARGB pixel. +// matrix_argb is 3 signed ARGB values. -128 to 127 representing -1 to 1. +// The first 4 coefficients apply to B, G, R, A and produce B of the output. +// The next 4 coefficients apply to B, G, R, A and produce G of the output. +// The last 4 coefficients apply to B, G, R, A and produce R of the output. +LIBYUV_API +int RGBColorMatrix(uint8_t* dst_argb, + int dst_stride_argb, + const int8_t* matrix_rgb, + int dst_x, + int dst_y, + int width, + int height); + +// Apply a color table each ARGB pixel. +// Table contains 256 ARGB values. +LIBYUV_API +int ARGBColorTable(uint8_t* dst_argb, + int dst_stride_argb, + const uint8_t* table_argb, + int dst_x, + int dst_y, + int width, + int height); + +// Apply a color table each ARGB pixel but preserve destination alpha. +// Table contains 256 ARGB values. +LIBYUV_API +int RGBColorTable(uint8_t* dst_argb, + int dst_stride_argb, + const uint8_t* table_argb, + int dst_x, + int dst_y, + int width, + int height); + +// Apply a luma/color table each ARGB pixel but preserve destination alpha. +// Table contains 32768 values indexed by [Y][C] where 7 it 7 bit luma from +// RGB (YJ style) and C is an 8 bit color component (R, G or B). +LIBYUV_API +int ARGBLumaColorTable(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_argb, + int dst_stride_argb, + const uint8_t* luma, + int width, + int height); + +// Apply a 3 term polynomial to ARGB values. +// poly points to a 4x4 matrix. The first row is constants. The 2nd row is +// coefficients for b, g, r and a. The 3rd row is coefficients for b squared, +// g squared, r squared and a squared. The 4rd row is coefficients for b to +// the 3, g to the 3, r to the 3 and a to the 3. The values are summed and +// result clamped to 0 to 255. +// A polynomial approximation can be dirived using software such as 'R'. + +LIBYUV_API +int ARGBPolynomial(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_argb, + int dst_stride_argb, + const float* poly, + int width, + int height); + +// Convert plane of 16 bit shorts to half floats. +// Source values are multiplied by scale before storing as half float. +LIBYUV_API +int HalfFloatPlane(const uint16_t* src_y, + int src_stride_y, + uint16_t* dst_y, + int dst_stride_y, + float scale, + int width, + int height); + +// Convert a buffer of bytes to floats, scale the values and store as floats. +LIBYUV_API +int ByteToFloat(const uint8_t* src_y, float* dst_y, float scale, int width); + +// Quantize a rectangle of ARGB. Alpha unaffected. +// scale is a 16 bit fractional fixed point scaler between 0 and 65535. +// interval_size should be a value between 1 and 255. +// interval_offset should be a value between 0 and 255. +LIBYUV_API +int ARGBQuantize(uint8_t* dst_argb, + int dst_stride_argb, + int scale, + int interval_size, + int interval_offset, + int dst_x, + int dst_y, + int width, + int height); + +// Copy ARGB to ARGB. +LIBYUV_API +int ARGBCopy(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +// Copy Alpha channel of ARGB to alpha of ARGB. +LIBYUV_API +int ARGBCopyAlpha(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +// Extract the alpha channel from ARGB. +LIBYUV_API +int ARGBExtractAlpha(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_a, + int dst_stride_a, + int width, + int height); + +// Copy Y channel to Alpha of ARGB. +LIBYUV_API +int ARGBCopyYToAlpha(const uint8_t* src_y, + int src_stride_y, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +typedef void (*ARGBBlendRow)(const uint8_t* src_argb0, + const uint8_t* src_argb1, + uint8_t* dst_argb, + int width); + +// Get function to Alpha Blend ARGB pixels and store to destination. +LIBYUV_API +ARGBBlendRow GetARGBBlend(); + +// Alpha Blend ARGB images and store to destination. +// Source is pre-multiplied by alpha using ARGBAttenuate. +// Alpha of destination is set to 255. +LIBYUV_API +int ARGBBlend(const uint8_t* src_argb0, + int src_stride_argb0, + const uint8_t* src_argb1, + int src_stride_argb1, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +// Alpha Blend plane and store to destination. +// Source is not pre-multiplied by alpha. +LIBYUV_API +int BlendPlane(const uint8_t* src_y0, + int src_stride_y0, + const uint8_t* src_y1, + int src_stride_y1, + const uint8_t* alpha, + int alpha_stride, + uint8_t* dst_y, + int dst_stride_y, + int width, + int height); + +// Alpha Blend YUV images and store to destination. +// Source is not pre-multiplied by alpha. +// Alpha is full width x height and subsampled to half size to apply to UV. +LIBYUV_API +int I420Blend(const uint8_t* src_y0, + int src_stride_y0, + const uint8_t* src_u0, + int src_stride_u0, + const uint8_t* src_v0, + int src_stride_v0, + const uint8_t* src_y1, + int src_stride_y1, + const uint8_t* src_u1, + int src_stride_u1, + const uint8_t* src_v1, + int src_stride_v1, + const uint8_t* alpha, + int alpha_stride, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_u, + int dst_stride_u, + uint8_t* dst_v, + int dst_stride_v, + int width, + int height); + +// Multiply ARGB image by ARGB image. Shifted down by 8. Saturates to 255. +LIBYUV_API +int ARGBMultiply(const uint8_t* src_argb0, + int src_stride_argb0, + const uint8_t* src_argb1, + int src_stride_argb1, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +// Add ARGB image with ARGB image. Saturates to 255. +LIBYUV_API +int ARGBAdd(const uint8_t* src_argb0, + int src_stride_argb0, + const uint8_t* src_argb1, + int src_stride_argb1, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +// Subtract ARGB image (argb1) from ARGB image (argb0). Saturates to 0. +LIBYUV_API +int ARGBSubtract(const uint8_t* src_argb0, + int src_stride_argb0, + const uint8_t* src_argb1, + int src_stride_argb1, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +// Convert I422 to YUY2. +LIBYUV_API +int I422ToYUY2(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_yuy2, + int dst_stride_yuy2, + int width, + int height); + +// Convert I422 to UYVY. +LIBYUV_API +int I422ToUYVY(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_uyvy, + int dst_stride_uyvy, + int width, + int height); + +// Convert unattentuated ARGB to preattenuated ARGB. +LIBYUV_API +int ARGBAttenuate(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +// Convert preattentuated ARGB to unattenuated ARGB. +LIBYUV_API +int ARGBUnattenuate(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +// Internal function - do not call directly. +// Computes table of cumulative sum for image where the value is the sum +// of all values above and to the left of the entry. Used by ARGBBlur. +LIBYUV_API +int ARGBComputeCumulativeSum(const uint8_t* src_argb, + int src_stride_argb, + int32_t* dst_cumsum, + int dst_stride32_cumsum, + int width, + int height); + +// Blur ARGB image. +// dst_cumsum table of width * (height + 1) * 16 bytes aligned to +// 16 byte boundary. +// dst_stride32_cumsum is number of ints in a row (width * 4). +// radius is number of pixels around the center. e.g. 1 = 3x3. 2=5x5. +// Blur is optimized for radius of 5 (11x11) or less. +LIBYUV_API +int ARGBBlur(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_argb, + int dst_stride_argb, + int32_t* dst_cumsum, + int dst_stride32_cumsum, + int width, + int height, + int radius); + +// Gaussian 5x5 blur a float plane. +// Coefficients of 1, 4, 6, 4, 1. +// Each destination pixel is a blur of the 5x5 +// pixels from the source. +// Source edges are clamped. +LIBYUV_API +int GaussPlane_F32(const float* src, + int src_stride, + float* dst, + int dst_stride, + int width, + int height); + +// Multiply ARGB image by ARGB value. +LIBYUV_API +int ARGBShade(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height, + uint32_t value); + +// Interpolate between two images using specified amount of interpolation +// (0 to 255) and store to destination. +// 'interpolation' is specified as 8 bit fraction where 0 means 100% src0 +// and 255 means 1% src0 and 99% src1. +LIBYUV_API +int InterpolatePlane(const uint8_t* src0, + int src_stride0, + const uint8_t* src1, + int src_stride1, + uint8_t* dst, + int dst_stride, + int width, + int height, + int interpolation); + +// Interpolate between two ARGB images using specified amount of interpolation +// Internally calls InterpolatePlane with width * 4 (bpp). +LIBYUV_API +int ARGBInterpolate(const uint8_t* src_argb0, + int src_stride_argb0, + const uint8_t* src_argb1, + int src_stride_argb1, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height, + int interpolation); + +// Interpolate between two YUV images using specified amount of interpolation +// Internally calls InterpolatePlane on each plane where the U and V planes +// are half width and half height. +LIBYUV_API +int I420Interpolate(const uint8_t* src0_y, + int src0_stride_y, + const uint8_t* src0_u, + int src0_stride_u, + const uint8_t* src0_v, + int src0_stride_v, + const uint8_t* src1_y, + int src1_stride_y, + const uint8_t* src1_u, + int src1_stride_u, + const uint8_t* src1_v, + int src1_stride_v, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_u, + int dst_stride_u, + uint8_t* dst_v, + int dst_stride_v, + int width, + int height, + int interpolation); + +// Row function for copying pixels from a source with a slope to a row +// of destination. Useful for scaling, rotation, mirror, texture mapping. +LIBYUV_API +void ARGBAffineRow_C(const uint8_t* src_argb, + int src_argb_stride, + uint8_t* dst_argb, + const float* uv_dudv, + int width); +// TODO(fbarchard): Move ARGBAffineRow_SSE2 to row.h +LIBYUV_API +void ARGBAffineRow_SSE2(const uint8_t* src_argb, + int src_argb_stride, + uint8_t* dst_argb, + const float* uv_dudv, + int width); + +// Shuffle ARGB channel order. e.g. BGRA to ARGB. +// shuffler is 16 bytes and must be aligned. +LIBYUV_API +int ARGBShuffle(const uint8_t* src_bgra, + int src_stride_bgra, + uint8_t* dst_argb, + int dst_stride_argb, + const uint8_t* shuffler, + int width, + int height); + +// Sobel ARGB effect with planar output. +LIBYUV_API +int ARGBSobelToPlane(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_y, + int dst_stride_y, + int width, + int height); + +// Sobel ARGB effect. +LIBYUV_API +int ARGBSobel(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +// Sobel ARGB effect w/ Sobel X, Sobel, Sobel Y in ARGB. +LIBYUV_API +int ARGBSobelXY(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_argb, + int dst_stride_argb, + int width, + int height); + +#ifdef __cplusplus +} // extern "C" +} // namespace libyuv +#endif + +#endif // INCLUDE_LIBYUV_PLANAR_FUNCTIONS_H_ diff --git a/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/rotate.h b/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/rotate.h new file mode 100644 index 0000000..3088822 --- /dev/null +++ b/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/rotate.h @@ -0,0 +1,182 @@ +/* + * Copyright 2011 The LibYuv Project Authors. All rights reserved. + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ + +#ifndef INCLUDE_LIBYUV_ROTATE_H_ +#define INCLUDE_LIBYUV_ROTATE_H_ + +#include "libyuv/basic_types.h" + +#ifdef __cplusplus +namespace libyuv { +extern "C" { +#endif + +// Supported rotation. +typedef enum RotationMode { + kRotate0 = 0, // No rotation. + kRotate90 = 90, // Rotate 90 degrees clockwise. + kRotate180 = 180, // Rotate 180 degrees. + kRotate270 = 270, // Rotate 270 degrees clockwise. + + // Deprecated. + kRotateNone = 0, + kRotateClockwise = 90, + kRotateCounterClockwise = 270, +} RotationModeEnum; + +// Rotate I420 frame. +LIBYUV_API +int I420Rotate(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_u, + int dst_stride_u, + uint8_t* dst_v, + int dst_stride_v, + int width, + int height, + enum RotationMode mode); + +// Rotate I444 frame. +LIBYUV_API +int I444Rotate(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_u, + int dst_stride_u, + uint8_t* dst_v, + int dst_stride_v, + int width, + int height, + enum RotationMode mode); + +// Rotate NV12 input and store in I420. +LIBYUV_API +int NV12ToI420Rotate(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_uv, + int src_stride_uv, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_u, + int dst_stride_u, + uint8_t* dst_v, + int dst_stride_v, + int width, + int height, + enum RotationMode mode); + +// Rotate a plane by 0, 90, 180, or 270. +LIBYUV_API +int RotatePlane(const uint8_t* src, + int src_stride, + uint8_t* dst, + int dst_stride, + int width, + int height, + enum RotationMode mode); + +// Rotate planes by 90, 180, 270. Deprecated. +LIBYUV_API +void RotatePlane90(const uint8_t* src, + int src_stride, + uint8_t* dst, + int dst_stride, + int width, + int height); + +LIBYUV_API +void RotatePlane180(const uint8_t* src, + int src_stride, + uint8_t* dst, + int dst_stride, + int width, + int height); + +LIBYUV_API +void RotatePlane270(const uint8_t* src, + int src_stride, + uint8_t* dst, + int dst_stride, + int width, + int height); + +// Rotations for when U and V are interleaved. +// These functions take one input pointer and +// split the data into two buffers while +// rotating them. Deprecated. +LIBYUV_API +void RotateUV90(const uint8_t* src, + int src_stride, + uint8_t* dst_a, + int dst_stride_a, + uint8_t* dst_b, + int dst_stride_b, + int width, + int height); + +LIBYUV_API +void RotateUV180(const uint8_t* src, + int src_stride, + uint8_t* dst_a, + int dst_stride_a, + uint8_t* dst_b, + int dst_stride_b, + int width, + int height); + +LIBYUV_API +void RotateUV270(const uint8_t* src, + int src_stride, + uint8_t* dst_a, + int dst_stride_a, + uint8_t* dst_b, + int dst_stride_b, + int width, + int height); + +// The 90 and 270 functions are based on transposes. +// Doing a transpose with reversing the read/write +// order will result in a rotation by +- 90 degrees. +// Deprecated. +LIBYUV_API +void TransposePlane(const uint8_t* src, + int src_stride, + uint8_t* dst, + int dst_stride, + int width, + int height); + +LIBYUV_API +void TransposeUV(const uint8_t* src, + int src_stride, + uint8_t* dst_a, + int dst_stride_a, + uint8_t* dst_b, + int dst_stride_b, + int width, + int height); + +#ifdef __cplusplus +} // extern "C" +} // namespace libyuv +#endif + +#endif // INCLUDE_LIBYUV_ROTATE_H_ diff --git a/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/rotate_argb.h b/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/rotate_argb.h new file mode 100644 index 0000000..2043294 --- /dev/null +++ b/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/rotate_argb.h @@ -0,0 +1,37 @@ +/* + * Copyright 2012 The LibYuv Project Authors. All rights reserved. + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ + +#ifndef INCLUDE_LIBYUV_ROTATE_ARGB_H_ +#define INCLUDE_LIBYUV_ROTATE_ARGB_H_ + +#include "libyuv/basic_types.h" +#include "libyuv/rotate.h" // For RotationMode. + +#ifdef __cplusplus +namespace libyuv { +extern "C" { +#endif + +// Rotate ARGB frame +LIBYUV_API +int ARGBRotate(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_argb, + int dst_stride_argb, + int src_width, + int src_height, + enum RotationMode mode); + +#ifdef __cplusplus +} // extern "C" +} // namespace libyuv +#endif + +#endif // INCLUDE_LIBYUV_ROTATE_ARGB_H_ diff --git a/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/rotate_row.h b/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/rotate_row.h new file mode 100644 index 0000000..022293e --- /dev/null +++ b/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/rotate_row.h @@ -0,0 +1,223 @@ +/* + * Copyright 2013 The LibYuv Project Authors. All rights reserved. + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ + +#ifndef INCLUDE_LIBYUV_ROTATE_ROW_H_ +#define INCLUDE_LIBYUV_ROTATE_ROW_H_ + +#include "libyuv/basic_types.h" + +#ifdef __cplusplus +namespace libyuv { +extern "C" { +#endif + +#if defined(__pnacl__) || defined(__CLR_VER) || \ + (defined(__native_client__) && defined(__x86_64__)) || \ + (defined(__i386__) && !defined(__SSE__) && !defined(__clang__)) +#define LIBYUV_DISABLE_X86 +#endif +#if defined(__native_client__) +#define LIBYUV_DISABLE_NEON +#endif +// MemorySanitizer does not support assembly code yet. http://crbug.com/344505 +#if defined(__has_feature) +#if __has_feature(memory_sanitizer) +#define LIBYUV_DISABLE_X86 +#endif +#endif +// The following are available for Visual C and clangcl 32 bit: +#if !defined(LIBYUV_DISABLE_X86) && defined(_M_IX86) && defined(_MSC_VER) +#define HAS_TRANSPOSEWX8_SSSE3 +#define HAS_TRANSPOSEUVWX8_SSE2 +#endif + +// The following are available for GCC 32 or 64 bit: +#if !defined(LIBYUV_DISABLE_X86) && (defined(__i386__) || defined(__x86_64__)) +#define HAS_TRANSPOSEWX8_SSSE3 +#endif + +// The following are available for 64 bit GCC: +#if !defined(LIBYUV_DISABLE_X86) && defined(__x86_64__) +#define HAS_TRANSPOSEWX8_FAST_SSSE3 +#define HAS_TRANSPOSEUVWX8_SSE2 +#endif + +#if !defined(LIBYUV_DISABLE_NEON) && \ + (defined(__ARM_NEON__) || defined(LIBYUV_NEON) || defined(__aarch64__)) +#define HAS_TRANSPOSEWX8_NEON +#define HAS_TRANSPOSEUVWX8_NEON +#endif + +#if !defined(LIBYUV_DISABLE_MSA) && defined(__mips_msa) +#define HAS_TRANSPOSEWX16_MSA +#define HAS_TRANSPOSEUVWX16_MSA +#endif + +#if !defined(LIBYUV_DISABLE_MMI) && defined(_MIPS_ARCH_LOONGSON3A) +#define HAS_TRANSPOSEWX8_MMI +#define HAS_TRANSPOSEUVWX8_MMI +#endif + +void TransposeWxH_C(const uint8_t* src, + int src_stride, + uint8_t* dst, + int dst_stride, + int width, + int height); + +void TransposeWx8_C(const uint8_t* src, + int src_stride, + uint8_t* dst, + int dst_stride, + int width); +void TransposeWx16_C(const uint8_t* src, + int src_stride, + uint8_t* dst, + int dst_stride, + int width); +void TransposeWx8_NEON(const uint8_t* src, + int src_stride, + uint8_t* dst, + int dst_stride, + int width); +void TransposeWx8_SSSE3(const uint8_t* src, + int src_stride, + uint8_t* dst, + int dst_stride, + int width); +void TransposeWx8_MMI(const uint8_t* src, + int src_stride, + uint8_t* dst, + int dst_stride, + int width); +void TransposeWx8_Fast_SSSE3(const uint8_t* src, + int src_stride, + uint8_t* dst, + int dst_stride, + int width); +void TransposeWx16_MSA(const uint8_t* src, + int src_stride, + uint8_t* dst, + int dst_stride, + int width); + +void TransposeWx8_Any_NEON(const uint8_t* src, + int src_stride, + uint8_t* dst, + int dst_stride, + int width); +void TransposeWx8_Any_SSSE3(const uint8_t* src, + int src_stride, + uint8_t* dst, + int dst_stride, + int width); +void TransposeWx8_Any_MMI(const uint8_t* src, + int src_stride, + uint8_t* dst, + int dst_stride, + int width); +void TransposeWx8_Fast_Any_SSSE3(const uint8_t* src, + int src_stride, + uint8_t* dst, + int dst_stride, + int width); +void TransposeWx16_Any_MSA(const uint8_t* src, + int src_stride, + uint8_t* dst, + int dst_stride, + int width); + +void TransposeUVWxH_C(const uint8_t* src, + int src_stride, + uint8_t* dst_a, + int dst_stride_a, + uint8_t* dst_b, + int dst_stride_b, + int width, + int height); + +void TransposeUVWx8_C(const uint8_t* src, + int src_stride, + uint8_t* dst_a, + int dst_stride_a, + uint8_t* dst_b, + int dst_stride_b, + int width); +void TransposeUVWx16_C(const uint8_t* src, + int src_stride, + uint8_t* dst_a, + int dst_stride_a, + uint8_t* dst_b, + int dst_stride_b, + int width); +void TransposeUVWx8_SSE2(const uint8_t* src, + int src_stride, + uint8_t* dst_a, + int dst_stride_a, + uint8_t* dst_b, + int dst_stride_b, + int width); +void TransposeUVWx8_NEON(const uint8_t* src, + int src_stride, + uint8_t* dst_a, + int dst_stride_a, + uint8_t* dst_b, + int dst_stride_b, + int width); +void TransposeUVWx8_MMI(const uint8_t* src, + int src_stride, + uint8_t* dst_a, + int dst_stride_a, + uint8_t* dst_b, + int dst_stride_b, + int width); +void TransposeUVWx16_MSA(const uint8_t* src, + int src_stride, + uint8_t* dst_a, + int dst_stride_a, + uint8_t* dst_b, + int dst_stride_b, + int width); + +void TransposeUVWx8_Any_SSE2(const uint8_t* src, + int src_stride, + uint8_t* dst_a, + int dst_stride_a, + uint8_t* dst_b, + int dst_stride_b, + int width); +void TransposeUVWx8_Any_NEON(const uint8_t* src, + int src_stride, + uint8_t* dst_a, + int dst_stride_a, + uint8_t* dst_b, + int dst_stride_b, + int width); +void TransposeUVWx8_Any_MMI(const uint8_t* src, + int src_stride, + uint8_t* dst_a, + int dst_stride_a, + uint8_t* dst_b, + int dst_stride_b, + int width); +void TransposeUVWx16_Any_MSA(const uint8_t* src, + int src_stride, + uint8_t* dst_a, + int dst_stride_a, + uint8_t* dst_b, + int dst_stride_b, + int width); + +#ifdef __cplusplus +} // extern "C" +} // namespace libyuv +#endif + +#endif // INCLUDE_LIBYUV_ROTATE_ROW_H_ diff --git a/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/row.h b/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/row.h new file mode 100644 index 0000000..a27788c --- /dev/null +++ b/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/row.h @@ -0,0 +1,4384 @@ +/* + * Copyright 2011 The LibYuv Project Authors. All rights reserved. + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ + +#ifndef INCLUDE_LIBYUV_ROW_H_ +#define INCLUDE_LIBYUV_ROW_H_ + +#include // For malloc. + +#include "libyuv/basic_types.h" + +#ifdef __cplusplus +namespace libyuv { +extern "C" { +#endif + +#if defined(__pnacl__) || defined(__CLR_VER) || \ + (defined(__native_client__) && defined(__x86_64__)) || \ + (defined(__i386__) && !defined(__SSE__) && !defined(__clang__)) +#define LIBYUV_DISABLE_X86 +#endif +#if defined(__native_client__) +#define LIBYUV_DISABLE_NEON +#endif +// MemorySanitizer does not support assembly code yet. http://crbug.com/344505 +#if defined(__has_feature) +#if __has_feature(memory_sanitizer) +#define LIBYUV_DISABLE_X86 +#endif +#endif +// clang >= 3.5.0 required for Arm64. +#if defined(__clang__) && defined(__aarch64__) && !defined(LIBYUV_DISABLE_NEON) +#if (__clang_major__ < 3) || (__clang_major__ == 3 && (__clang_minor__ < 5)) +#define LIBYUV_DISABLE_NEON +#endif // clang >= 3.5 +#endif // __clang__ + +// GCC >= 4.7.0 required for AVX2. +#if defined(__GNUC__) && (defined(__x86_64__) || defined(__i386__)) +#if (__GNUC__ > 4) || (__GNUC__ == 4 && (__GNUC_MINOR__ >= 7)) +#define GCC_HAS_AVX2 1 +#endif // GNUC >= 4.7 +#endif // __GNUC__ + +// clang >= 3.4.0 required for AVX2. +#if defined(__clang__) && (defined(__x86_64__) || defined(__i386__)) +#if (__clang_major__ > 3) || (__clang_major__ == 3 && (__clang_minor__ >= 4)) +#define CLANG_HAS_AVX2 1 +#endif // clang >= 3.4 +#endif // __clang__ + +// clang >= 6.0.0 required for AVX512. +#if defined(__clang__) && (defined(__x86_64__) || defined(__i386__)) +// clang in xcode follows a different versioning scheme. +// TODO(fbarchard): fix xcode 9 ios b/789. +#if (__clang_major__ >= 7) && !defined(__APPLE__) +#define CLANG_HAS_AVX512 1 +#endif // clang >= 7 +#endif // __clang__ + +// Visual C 2012 required for AVX2. +#if defined(_M_IX86) && !defined(__clang__) && defined(_MSC_VER) && \ + _MSC_VER >= 1700 +#define VISUALC_HAS_AVX2 1 +#endif // VisualStudio >= 2012 + +// The following are available on all x86 platforms: +#if !defined(LIBYUV_DISABLE_X86) && \ + (defined(_M_IX86) || defined(__x86_64__) || defined(__i386__)) +// Conversions: +#define HAS_ABGRTOUVROW_SSSE3 +#define HAS_ABGRTOYROW_SSSE3 +#define HAS_ARGB1555TOARGBROW_SSE2 +#define HAS_ARGB4444TOARGBROW_SSE2 +#define HAS_ARGBEXTRACTALPHAROW_SSE2 +#define HAS_ARGBSETROW_X86 +#define HAS_ARGBSHUFFLEROW_SSSE3 +#define HAS_ARGBTOARGB1555ROW_SSE2 +#define HAS_ARGBTOARGB4444ROW_SSE2 +#define HAS_ARGBTORAWROW_SSSE3 +#define HAS_ARGBTORGB24ROW_SSSE3 +#define HAS_ARGBTORGB565DITHERROW_SSE2 +#define HAS_ARGBTORGB565ROW_SSE2 +#define HAS_ARGBTOUV444ROW_SSSE3 +#define HAS_ARGBTOUVJROW_SSSE3 +#define HAS_ARGBTOUVROW_SSSE3 +#define HAS_ARGBTOYJROW_SSSE3 +#define HAS_ARGBTOYROW_SSSE3 +#define HAS_BGRATOUVROW_SSSE3 +#define HAS_BGRATOYROW_SSSE3 +#define HAS_COPYROW_ERMS +#define HAS_COPYROW_SSE2 +#define HAS_H422TOARGBROW_SSSE3 +#define HAS_HALFFLOATROW_SSE2 +#define HAS_I422TOARGB1555ROW_SSSE3 +#define HAS_I422TOARGB4444ROW_SSSE3 +#define HAS_I422TOARGBROW_SSSE3 +#define HAS_I422TORGB24ROW_SSSE3 +#define HAS_I422TORGB565ROW_SSSE3 +#define HAS_I422TORGBAROW_SSSE3 +#define HAS_I422TOUYVYROW_SSE2 +#define HAS_I422TOYUY2ROW_SSE2 +#define HAS_I444TOARGBROW_SSSE3 +#define HAS_J400TOARGBROW_SSE2 +#define HAS_J422TOARGBROW_SSSE3 +#define HAS_MERGEUVROW_SSE2 +#define HAS_MIRRORROW_SSSE3 +#define HAS_MIRRORSPLITUVROW_SSSE3 +#define HAS_NV12TOARGBROW_SSSE3 +#define HAS_NV12TORGB24ROW_SSSE3 +#define HAS_NV12TORGB565ROW_SSSE3 +#define HAS_NV21TOARGBROW_SSSE3 +#define HAS_NV21TORGB24ROW_SSSE3 +#define HAS_RAWTOARGBROW_SSSE3 +#define HAS_RAWTORGB24ROW_SSSE3 +#define HAS_RAWTOYROW_SSSE3 +#define HAS_RGB24TOARGBROW_SSSE3 +#define HAS_RGB24TOYROW_SSSE3 +#define HAS_RGB24TOYJROW_SSSE3 +#define HAS_RAWTOYJROW_SSSE3 +#define HAS_RGB565TOARGBROW_SSE2 +#define HAS_RGBATOUVROW_SSSE3 +#define HAS_RGBATOYROW_SSSE3 +#define HAS_SETROW_ERMS +#define HAS_SETROW_X86 +#define HAS_SPLITUVROW_SSE2 +#define HAS_UYVYTOARGBROW_SSSE3 +#define HAS_UYVYTOUV422ROW_SSE2 +#define HAS_UYVYTOUVROW_SSE2 +#define HAS_UYVYTOYROW_SSE2 +#define HAS_YUY2TOARGBROW_SSSE3 +#define HAS_YUY2TOUV422ROW_SSE2 +#define HAS_YUY2TOUVROW_SSE2 +#define HAS_YUY2TOYROW_SSE2 + +// Effects: +#define HAS_ARGBADDROW_SSE2 +#define HAS_ARGBAFFINEROW_SSE2 +#define HAS_ARGBATTENUATEROW_SSSE3 +#define HAS_ARGBBLENDROW_SSSE3 +#define HAS_ARGBCOLORMATRIXROW_SSSE3 +#define HAS_ARGBCOLORTABLEROW_X86 +#define HAS_ARGBCOPYALPHAROW_SSE2 +#define HAS_ARGBCOPYYTOALPHAROW_SSE2 +#define HAS_ARGBGRAYROW_SSSE3 +#define HAS_ARGBLUMACOLORTABLEROW_SSSE3 +#define HAS_ARGBMIRRORROW_SSE2 +#define HAS_ARGBMULTIPLYROW_SSE2 +#define HAS_ARGBPOLYNOMIALROW_SSE2 +#define HAS_ARGBQUANTIZEROW_SSE2 +#define HAS_ARGBSEPIAROW_SSSE3 +#define HAS_ARGBSHADEROW_SSE2 +#define HAS_ARGBSUBTRACTROW_SSE2 +#define HAS_ARGBUNATTENUATEROW_SSE2 +#define HAS_BLENDPLANEROW_SSSE3 +#define HAS_COMPUTECUMULATIVESUMROW_SSE2 +#define HAS_CUMULATIVESUMTOAVERAGEROW_SSE2 +#define HAS_INTERPOLATEROW_SSSE3 +#define HAS_RGBCOLORTABLEROW_X86 +#define HAS_SOBELROW_SSE2 +#define HAS_SOBELTOPLANEROW_SSE2 +#define HAS_SOBELXROW_SSE2 +#define HAS_SOBELXYROW_SSE2 +#define HAS_SOBELYROW_SSE2 + +// The following functions fail on gcc/clang 32 bit with fpic and framepointer. +// caveat: clangcl uses row_win.cc which works. +#if defined(__x86_64__) || !defined(__pic__) || defined(__clang__) || \ + defined(_MSC_VER) +// TODO(fbarchard): fix build error on android_full_debug=1 +// https://code.google.com/p/libyuv/issues/detail?id=517 +#define HAS_I422ALPHATOARGBROW_SSSE3 +#endif +#endif + +// The following are available on all x86 platforms, but +// require VS2012, clang 3.4 or gcc 4.7. +#if !defined(LIBYUV_DISABLE_X86) && \ + (defined(VISUALC_HAS_AVX2) || defined(CLANG_HAS_AVX2) || \ + defined(GCC_HAS_AVX2)) +#define HAS_ARGBCOPYALPHAROW_AVX2 +#define HAS_ARGBCOPYYTOALPHAROW_AVX2 +#define HAS_ARGBEXTRACTALPHAROW_AVX2 +#define HAS_ARGBMIRRORROW_AVX2 +#define HAS_ARGBPOLYNOMIALROW_AVX2 +#define HAS_ARGBSHUFFLEROW_AVX2 +#define HAS_ARGBTORGB565DITHERROW_AVX2 +#define HAS_ARGBTOUVJROW_AVX2 +#define HAS_ARGBTOUVROW_AVX2 +#define HAS_ARGBTOYJROW_AVX2 +#define HAS_ARGBTOYROW_AVX2 +#define HAS_RGB24TOYJROW_AVX2 +#define HAS_RAWTOYJROW_AVX2 +#define HAS_COPYROW_AVX +#define HAS_H422TOARGBROW_AVX2 +#define HAS_HALFFLOATROW_AVX2 +// #define HAS_HALFFLOATROW_F16C // Enable to test halffloat cast +#define HAS_I422TOARGB1555ROW_AVX2 +#define HAS_I422TOARGB4444ROW_AVX2 +#define HAS_I422TOARGBROW_AVX2 +#define HAS_I422TORGB24ROW_AVX2 +#define HAS_I422TORGB565ROW_AVX2 +#define HAS_I422TORGBAROW_AVX2 +#define HAS_I444TOARGBROW_AVX2 +#define HAS_INTERPOLATEROW_AVX2 +#define HAS_J422TOARGBROW_AVX2 +#define HAS_MERGEUVROW_AVX2 +#define HAS_MIRRORROW_AVX2 +#define HAS_NV12TOARGBROW_AVX2 +#define HAS_NV12TORGB24ROW_AVX2 +#define HAS_NV12TORGB565ROW_AVX2 +#define HAS_NV21TOARGBROW_AVX2 +#define HAS_NV21TORGB24ROW_AVX2 +#define HAS_SPLITUVROW_AVX2 +#define HAS_UYVYTOARGBROW_AVX2 +#define HAS_UYVYTOUV422ROW_AVX2 +#define HAS_UYVYTOUVROW_AVX2 +#define HAS_UYVYTOYROW_AVX2 +#define HAS_YUY2TOARGBROW_AVX2 +#define HAS_YUY2TOUV422ROW_AVX2 +#define HAS_YUY2TOUVROW_AVX2 +#define HAS_YUY2TOYROW_AVX2 + +// Effects: +#define HAS_ARGBADDROW_AVX2 +#define HAS_ARGBATTENUATEROW_AVX2 +#define HAS_ARGBMULTIPLYROW_AVX2 +#define HAS_ARGBSUBTRACTROW_AVX2 +#define HAS_ARGBUNATTENUATEROW_AVX2 +#define HAS_BLENDPLANEROW_AVX2 + +#if defined(__x86_64__) || !defined(__pic__) || defined(__clang__) || \ + defined(_MSC_VER) +// TODO(fbarchard): fix build error on android_full_debug=1 +// https://code.google.com/p/libyuv/issues/detail?id=517 +#define HAS_I422ALPHATOARGBROW_AVX2 +#endif +#endif + +// The following are available for AVX2 Visual C and clangcl 32 bit: +// TODO(fbarchard): Port to gcc. +#if !defined(LIBYUV_DISABLE_X86) && defined(_M_IX86) && defined(_MSC_VER) && \ + (defined(VISUALC_HAS_AVX2) || defined(CLANG_HAS_AVX2)) +#define HAS_ARGB1555TOARGBROW_AVX2 +#define HAS_ARGB4444TOARGBROW_AVX2 +#define HAS_ARGBTOARGB1555ROW_AVX2 +#define HAS_ARGBTOARGB4444ROW_AVX2 +#define HAS_ARGBTORGB565ROW_AVX2 +#define HAS_J400TOARGBROW_AVX2 +#define HAS_RGB565TOARGBROW_AVX2 +#endif + +// The following are also available on x64 Visual C. +#if !defined(LIBYUV_DISABLE_X86) && defined(_MSC_VER) && defined(_M_X64) && \ + (!defined(__clang__) || defined(__SSSE3__)) +#define HAS_I422ALPHATOARGBROW_SSSE3 +#define HAS_I422TOARGBROW_SSSE3 +#endif + +// The following are available for gcc/clang x86 platforms: +// TODO(fbarchard): Port to Visual C +#if !defined(LIBYUV_DISABLE_X86) && \ + (defined(__x86_64__) || (defined(__i386__) && !defined(_MSC_VER))) +#define HAS_ABGRTOAR30ROW_SSSE3 +#define HAS_ARGBTOAR30ROW_SSSE3 +#define HAS_CONVERT16TO8ROW_SSSE3 +#define HAS_CONVERT8TO16ROW_SSE2 +#define HAS_HALFMERGEUVROW_SSSE3 +#define HAS_I210TOAR30ROW_SSSE3 +#define HAS_I210TOARGBROW_SSSE3 +#define HAS_I400TOARGBROW_SSE2 +#define HAS_I422TOAR30ROW_SSSE3 +#define HAS_MERGERGBROW_SSSE3 +#define HAS_MIRRORUVROW_AVX2 +#define HAS_MIRRORUVROW_SSSE3 +#define HAS_RAWTORGBAROW_SSSE3 +#define HAS_RGB24MIRRORROW_SSSE3 +#define HAS_RGBATOYJROW_SSSE3 +#define HAS_SPLITRGBROW_SSSE3 +#define HAS_SWAPUVROW_SSSE3 +#endif + +// The following are available for AVX2 gcc/clang x86 platforms: +// TODO(fbarchard): Port to Visual C +#if !defined(LIBYUV_DISABLE_X86) && \ + (defined(__x86_64__) || (defined(__i386__) && !defined(_MSC_VER))) && \ + (defined(CLANG_HAS_AVX2) || defined(GCC_HAS_AVX2)) +#define HAS_ABGRTOAR30ROW_AVX2 +#define HAS_ABGRTOUVROW_AVX2 +#define HAS_ABGRTOYROW_AVX2 +#define HAS_ARGBTOAR30ROW_AVX2 +#define HAS_ARGBTORAWROW_AVX2 +#define HAS_ARGBTORGB24ROW_AVX2 +#define HAS_CONVERT16TO8ROW_AVX2 +#define HAS_CONVERT8TO16ROW_AVX2 +#define HAS_HALFMERGEUVROW_AVX2 +#define HAS_I210TOAR30ROW_AVX2 +#define HAS_I210TOARGBROW_AVX2 +#define HAS_I400TOARGBROW_AVX2 +#define HAS_I422TOAR30ROW_AVX2 +#define HAS_I422TOUYVYROW_AVX2 +#define HAS_I422TOYUY2ROW_AVX2 +#define HAS_MERGEUVROW_16_AVX2 +#define HAS_MULTIPLYROW_16_AVX2 +#define HAS_RGBATOYJROW_AVX2 +#define HAS_SWAPUVROW_AVX2 +// TODO(fbarchard): Fix AVX2 version of YUV24 +// #define HAS_NV21TOYUV24ROW_AVX2 +#endif + +// The following are available for AVX512 clang x86 platforms: +// TODO(fbarchard): Port to GCC and Visual C +// TODO(fbarchard): re-enable HAS_ARGBTORGB24ROW_AVX512VBMI. Issue libyuv:789 +#if !defined(LIBYUV_DISABLE_X86) && \ + (defined(__x86_64__) || (defined(__i386__) && !defined(_MSC_VER))) && \ + (defined(CLANG_HAS_AVX512)) +#define HAS_ARGBTORGB24ROW_AVX512VBMI +#endif + +// The following are available on Neon platforms: +#if !defined(LIBYUV_DISABLE_NEON) && \ + (defined(__aarch64__) || defined(__ARM_NEON__) || defined(LIBYUV_NEON)) +#define HAS_ABGRTOUVROW_NEON +#define HAS_ABGRTOYROW_NEON +#define HAS_ARGB1555TOARGBROW_NEON +#define HAS_ARGB1555TOUVROW_NEON +#define HAS_ARGB1555TOYROW_NEON +#define HAS_ARGB4444TOARGBROW_NEON +#define HAS_ARGB4444TOUVROW_NEON +#define HAS_ARGB4444TOYROW_NEON +#define HAS_ARGBEXTRACTALPHAROW_NEON +#define HAS_ARGBSETROW_NEON +#define HAS_ARGBTOARGB1555ROW_NEON +#define HAS_ARGBTOARGB4444ROW_NEON +#define HAS_ARGBTORAWROW_NEON +#define HAS_ARGBTORGB24ROW_NEON +#define HAS_ARGBTORGB565DITHERROW_NEON +#define HAS_ARGBTORGB565ROW_NEON +#define HAS_ARGBTOUV444ROW_NEON +#define HAS_ARGBTOUVJROW_NEON +#define HAS_ARGBTOUVROW_NEON +#define HAS_ARGBTOYJROW_NEON +#define HAS_ARGBTOYROW_NEON +#define HAS_AYUVTOUVROW_NEON +#define HAS_AYUVTOVUROW_NEON +#define HAS_AYUVTOYROW_NEON +#define HAS_BGRATOUVROW_NEON +#define HAS_BGRATOYROW_NEON +#define HAS_BYTETOFLOATROW_NEON +#define HAS_COPYROW_NEON +#define HAS_HALFFLOATROW_NEON +#define HAS_HALFMERGEUVROW_NEON +#define HAS_I400TOARGBROW_NEON +#define HAS_I422ALPHATOARGBROW_NEON +#define HAS_I422TOARGB1555ROW_NEON +#define HAS_I422TOARGB4444ROW_NEON +#define HAS_I422TOARGBROW_NEON +#define HAS_I422TORGB24ROW_NEON +#define HAS_I422TORGB565ROW_NEON +#define HAS_I422TORGBAROW_NEON +#define HAS_I422TOUYVYROW_NEON +#define HAS_I422TOYUY2ROW_NEON +#define HAS_I444TOARGBROW_NEON +#define HAS_J400TOARGBROW_NEON +#define HAS_MERGEUVROW_NEON +#define HAS_MIRRORROW_NEON +#define HAS_MIRRORUVROW_NEON +#define HAS_MIRRORSPLITUVROW_NEON +#define HAS_NV12TOARGBROW_NEON +#define HAS_NV12TORGB24ROW_NEON +#define HAS_NV12TORGB565ROW_NEON +#define HAS_NV21TOARGBROW_NEON +#define HAS_NV21TORGB24ROW_NEON +#define HAS_NV21TOYUV24ROW_NEON +#define HAS_RAWTOARGBROW_NEON +#define HAS_RAWTORGB24ROW_NEON +#define HAS_RAWTORGBAROW_NEON +#define HAS_RAWTOUVROW_NEON +#define HAS_RAWTOYJROW_NEON +#define HAS_RAWTOYROW_NEON +#define HAS_RGB24TOARGBROW_NEON +#define HAS_RGB24TOUVROW_NEON +#define HAS_RGB24TOYJROW_NEON +#define HAS_RGB24TOYROW_NEON +#define HAS_RGB565TOARGBROW_NEON +#define HAS_RGB565TOUVROW_NEON +#define HAS_RGB565TOYROW_NEON +#define HAS_RGBATOUVROW_NEON +#define HAS_RGBATOYJROW_NEON +#define HAS_RGBATOYROW_NEON +#define HAS_SETROW_NEON +#define HAS_SPLITRGBROW_NEON +#define HAS_SPLITUVROW_NEON +#define HAS_SWAPUVROW_NEON +#define HAS_UYVYTOARGBROW_NEON +#define HAS_UYVYTOUV422ROW_NEON +#define HAS_UYVYTOUVROW_NEON +#define HAS_UYVYTOYROW_NEON +#define HAS_YUY2TOARGBROW_NEON +#define HAS_YUY2TOUV422ROW_NEON +#define HAS_YUY2TOUVROW_NEON +#define HAS_YUY2TOYROW_NEON + +// Effects: +#define HAS_ARGBADDROW_NEON +#define HAS_ARGBATTENUATEROW_NEON +#define HAS_ARGBBLENDROW_NEON +#define HAS_ARGBCOLORMATRIXROW_NEON +#define HAS_ARGBGRAYROW_NEON +#define HAS_ARGBMIRRORROW_NEON +#define HAS_RGB24MIRRORROW_NEON +#define HAS_ARGBMULTIPLYROW_NEON +#define HAS_ARGBQUANTIZEROW_NEON +#define HAS_ARGBSEPIAROW_NEON +#define HAS_ARGBSHADEROW_NEON +#define HAS_ARGBSHUFFLEROW_NEON +#define HAS_ARGBSUBTRACTROW_NEON +#define HAS_INTERPOLATEROW_NEON +#define HAS_SOBELROW_NEON +#define HAS_SOBELTOPLANEROW_NEON +#define HAS_SOBELXROW_NEON +#define HAS_SOBELXYROW_NEON +#define HAS_SOBELYROW_NEON +#endif + +// The following are available on AArch64 platforms: +#if !defined(LIBYUV_DISABLE_NEON) && defined(__aarch64__) +#define HAS_SCALESUMSAMPLES_NEON +#define HAS_GAUSSROW_F32_NEON +#define HAS_GAUSSCOL_F32_NEON + +#endif +#if !defined(LIBYUV_DISABLE_MSA) && defined(__mips_msa) +#define HAS_ABGRTOUVROW_MSA +#define HAS_ABGRTOYROW_MSA +#define HAS_ARGB1555TOARGBROW_MSA +#define HAS_ARGB1555TOUVROW_MSA +#define HAS_ARGB1555TOYROW_MSA +#define HAS_ARGB4444TOARGBROW_MSA +#define HAS_ARGBADDROW_MSA +#define HAS_ARGBATTENUATEROW_MSA +#define HAS_ARGBBLENDROW_MSA +#define HAS_ARGBCOLORMATRIXROW_MSA +#define HAS_ARGBEXTRACTALPHAROW_MSA +#define HAS_ARGBGRAYROW_MSA +#define HAS_ARGBMIRRORROW_MSA +#define HAS_ARGBMULTIPLYROW_MSA +#define HAS_ARGBQUANTIZEROW_MSA +#define HAS_ARGBSEPIAROW_MSA +#define HAS_ARGBSETROW_MSA +#define HAS_ARGBSHADEROW_MSA +#define HAS_ARGBSHUFFLEROW_MSA +#define HAS_ARGBSUBTRACTROW_MSA +#define HAS_ARGBTOARGB1555ROW_MSA +#define HAS_ARGBTOARGB4444ROW_MSA +#define HAS_ARGBTORAWROW_MSA +#define HAS_ARGBTORGB24ROW_MSA +#define HAS_ARGBTORGB565DITHERROW_MSA +#define HAS_ARGBTORGB565ROW_MSA +#define HAS_ARGBTOUV444ROW_MSA +#define HAS_ARGBTOUVJROW_MSA +#define HAS_ARGBTOUVROW_MSA +#define HAS_ARGBTOYJROW_MSA +#define HAS_ARGBTOYROW_MSA +#define HAS_BGRATOUVROW_MSA +#define HAS_BGRATOYROW_MSA +#define HAS_HALFFLOATROW_MSA +#define HAS_I400TOARGBROW_MSA +#define HAS_I422ALPHATOARGBROW_MSA +#define HAS_I422TOARGBROW_MSA +#define HAS_I422TORGB24ROW_MSA +#define HAS_I422TORGBAROW_MSA +#define HAS_I422TOUYVYROW_MSA +#define HAS_I422TOYUY2ROW_MSA +#define HAS_I444TOARGBROW_MSA +#define HAS_I422TOARGB1555ROW_MSA +#define HAS_I422TORGB565ROW_MSA +#define HAS_INTERPOLATEROW_MSA +#define HAS_J400TOARGBROW_MSA +#define HAS_MERGEUVROW_MSA +#define HAS_MIRRORROW_MSA +#define HAS_MIRRORUVROW_MSA +#define HAS_MIRRORSPLITUVROW_MSA +#define HAS_NV12TOARGBROW_MSA +#define HAS_NV12TORGB565ROW_MSA +#define HAS_NV21TOARGBROW_MSA +#define HAS_RAWTOARGBROW_MSA +#define HAS_RAWTORGB24ROW_MSA +#define HAS_RAWTOUVROW_MSA +#define HAS_RAWTOYROW_MSA +#define HAS_RGB24TOARGBROW_MSA +#define HAS_RGB24TOUVROW_MSA +#define HAS_RGB24TOYROW_MSA +#define HAS_RGB565TOARGBROW_MSA +#define HAS_RGB565TOUVROW_MSA +#define HAS_RGB565TOYROW_MSA +#define HAS_RGBATOUVROW_MSA +#define HAS_RGBATOYROW_MSA +#define HAS_SETROW_MSA +#define HAS_SOBELROW_MSA +#define HAS_SOBELTOPLANEROW_MSA +#define HAS_SOBELXROW_MSA +#define HAS_SOBELXYROW_MSA +#define HAS_SOBELYROW_MSA +#define HAS_SPLITUVROW_MSA +#define HAS_UYVYTOARGBROW_MSA +#define HAS_UYVYTOUVROW_MSA +#define HAS_UYVYTOYROW_MSA +#define HAS_YUY2TOARGBROW_MSA +#define HAS_YUY2TOUV422ROW_MSA +#define HAS_YUY2TOUVROW_MSA +#define HAS_YUY2TOYROW_MSA +#endif + +#if !defined(LIBYUV_DISABLE_MMI) && defined(_MIPS_ARCH_LOONGSON3A) +#define HAS_ABGRTOUVROW_MMI +#define HAS_ABGRTOYROW_MMI +#define HAS_ARGB1555TOARGBROW_MMI +#define HAS_ARGB1555TOUVROW_MMI +#define HAS_ARGB1555TOYROW_MMI +#define HAS_ARGB4444TOARGBROW_MMI +#define HAS_ARGB4444TOUVROW_MMI +#define HAS_ARGB4444TOYROW_MMI +#define HAS_ARGBADDROW_MMI +#define HAS_ARGBATTENUATEROW_MMI +#define HAS_ARGBBLENDROW_MMI +#define HAS_ARGBCOLORMATRIXROW_MMI +#define HAS_ARGBCOPYALPHAROW_MMI +#define HAS_ARGBCOPYYTOALPHAROW_MMI +#define HAS_ARGBEXTRACTALPHAROW_MMI +#define HAS_ARGBGRAYROW_MMI +#define HAS_ARGBMIRRORROW_MMI +#define HAS_ARGBMULTIPLYROW_MMI +#define HAS_ARGBSEPIAROW_MMI +#define HAS_ARGBSETROW_MMI +#define HAS_ARGBSHADEROW_MMI +#define HAS_ARGBSHUFFLEROW_MMI +#define HAS_ARGBSUBTRACTROW_MMI +#define HAS_ARGBTOARGB1555ROW_MMI +#define HAS_ARGBTOARGB4444ROW_MMI +#define HAS_ARGBTORAWROW_MMI +#define HAS_ARGBTORGB24ROW_MMI +#define HAS_ARGBTORGB565DITHERROW_MMI +#define HAS_ARGBTORGB565ROW_MMI +#define HAS_ARGBTOUV444ROW_MMI +#define HAS_ARGBTOUVJROW_MMI +#define HAS_ARGBTOUVROW_MMI +#define HAS_ARGBTOYJROW_MMI +#define HAS_ARGBTOYROW_MMI +#define HAS_BGRATOUVROW_MMI +#define HAS_BGRATOYROW_MMI +#define HAS_BLENDPLANEROW_MMI +#define HAS_COMPUTECUMULATIVESUMROW_MMI +#define HAS_CUMULATIVESUMTOAVERAGEROW_MMI +#define HAS_HALFFLOATROW_MMI +#define HAS_I400TOARGBROW_MMI +#define HAS_I422TOUYVYROW_MMI +#define HAS_I422TOYUY2ROW_MMI +#define HAS_I422TOARGBROW_MMI +#define HAS_I444TOARGBROW_MMI +#define HAS_INTERPOLATEROW_MMI +#define HAS_J400TOARGBROW_MMI +#define HAS_MERGERGBROW_MMI +#define HAS_MERGEUVROW_MMI +#define HAS_MIRRORROW_MMI +#define HAS_MIRRORSPLITUVROW_MMI +#define HAS_RAWTOARGBROW_MMI +#define HAS_RAWTORGB24ROW_MMI +#define HAS_RAWTOUVROW_MMI +#define HAS_RAWTOYROW_MMI +#define HAS_RGB24TOARGBROW_MMI +#define HAS_RGB24TOUVROW_MMI +#define HAS_RGB24TOYROW_MMI +#define HAS_RGB565TOARGBROW_MMI +#define HAS_RGB565TOUVROW_MMI +#define HAS_RGB565TOYROW_MMI +#define HAS_RGBATOUVROW_MMI +#define HAS_RGBATOYROW_MMI +#define HAS_SOBELROW_MMI +#define HAS_SOBELTOPLANEROW_MMI +#define HAS_SOBELXROW_MMI +#define HAS_SOBELXYROW_MMI +#define HAS_SOBELYROW_MMI +#define HAS_SPLITRGBROW_MMI +#define HAS_SPLITUVROW_MMI +#define HAS_UYVYTOUVROW_MMI +#define HAS_UYVYTOYROW_MMI +#define HAS_YUY2TOUV422ROW_MMI +#define HAS_YUY2TOUVROW_MMI +#define HAS_YUY2TOYROW_MMI +#define HAS_I210TOARGBROW_MMI +#define HAS_I422TOARGB4444ROW_MMI +#define HAS_I422TOARGB1555ROW_MMI +#define HAS_I422TORGB565ROW_MMI +#define HAS_NV21TORGB24ROW_MMI +#define HAS_NV12TORGB24ROW_MMI +#define HAS_I422ALPHATOARGBROW_MMI +#define HAS_I422TORGB24ROW_MMI +#define HAS_NV12TOARGBROW_MMI +#define HAS_NV21TOARGBROW_MMI +#define HAS_NV12TORGB565ROW_MMI +#define HAS_YUY2TOARGBROW_MMI +#define HAS_UYVYTOARGBROW_MMI +#define HAS_I422TORGBAROW_MMI +#endif + +#if defined(_MSC_VER) && !defined(__CLR_VER) && !defined(__clang__) +#if defined(VISUALC_HAS_AVX2) +#define SIMD_ALIGNED(var) __declspec(align(32)) var +#else +#define SIMD_ALIGNED(var) __declspec(align(16)) var +#endif +typedef __declspec(align(16)) int16_t vec16[8]; +typedef __declspec(align(16)) int32_t vec32[4]; +typedef __declspec(align(16)) float vecf32[4]; +typedef __declspec(align(16)) int8_t vec8[16]; +typedef __declspec(align(16)) uint16_t uvec16[8]; +typedef __declspec(align(16)) uint32_t uvec32[4]; +typedef __declspec(align(16)) uint8_t uvec8[16]; +typedef __declspec(align(32)) int16_t lvec16[16]; +typedef __declspec(align(32)) int32_t lvec32[8]; +typedef __declspec(align(32)) int8_t lvec8[32]; +typedef __declspec(align(32)) uint16_t ulvec16[16]; +typedef __declspec(align(32)) uint32_t ulvec32[8]; +typedef __declspec(align(32)) uint8_t ulvec8[32]; +#elif !defined(__pnacl__) && (defined(__GNUC__) || defined(__clang__)) +// Caveat GCC 4.2 to 4.7 have a known issue using vectors with const. +#if defined(CLANG_HAS_AVX2) || defined(GCC_HAS_AVX2) +#define SIMD_ALIGNED(var) var __attribute__((aligned(32))) +#else +#define SIMD_ALIGNED(var) var __attribute__((aligned(16))) +#endif +typedef int16_t __attribute__((vector_size(16))) vec16; +typedef int32_t __attribute__((vector_size(16))) vec32; +typedef float __attribute__((vector_size(16))) vecf32; +typedef int8_t __attribute__((vector_size(16))) vec8; +typedef uint16_t __attribute__((vector_size(16))) uvec16; +typedef uint32_t __attribute__((vector_size(16))) uvec32; +typedef uint8_t __attribute__((vector_size(16))) uvec8; +typedef int16_t __attribute__((vector_size(32))) lvec16; +typedef int32_t __attribute__((vector_size(32))) lvec32; +typedef int8_t __attribute__((vector_size(32))) lvec8; +typedef uint16_t __attribute__((vector_size(32))) ulvec16; +typedef uint32_t __attribute__((vector_size(32))) ulvec32; +typedef uint8_t __attribute__((vector_size(32))) ulvec8; +#else +#define SIMD_ALIGNED(var) var +typedef int16_t vec16[8]; +typedef int32_t vec32[4]; +typedef float vecf32[4]; +typedef int8_t vec8[16]; +typedef uint16_t uvec16[8]; +typedef uint32_t uvec32[4]; +typedef uint8_t uvec8[16]; +typedef int16_t lvec16[16]; +typedef int32_t lvec32[8]; +typedef int8_t lvec8[32]; +typedef uint16_t ulvec16[16]; +typedef uint32_t ulvec32[8]; +typedef uint8_t ulvec8[32]; +#endif + +#if defined(__aarch64__) +// This struct is for Arm64 color conversion. +struct YuvConstants { + uvec16 kUVToRB; + uvec16 kUVToRB2; + uvec16 kUVToG; + uvec16 kUVToG2; + vec16 kUVBiasBGR; + vec32 kYToRgb; +}; +#elif defined(__arm__) +// This struct is for ArmV7 color conversion. +struct YuvConstants { + uvec8 kUVToRB; + uvec8 kUVToG; + vec16 kUVBiasBGR; + vec32 kYToRgb; +}; +#else +// This struct is for Intel color conversion. +struct YuvConstants { + int8_t kUVToB[32]; + int8_t kUVToG[32]; + int8_t kUVToR[32]; + int16_t kUVBiasB[16]; + int16_t kUVBiasG[16]; + int16_t kUVBiasR[16]; + int16_t kYToRgb[16]; + int16_t kYBiasToRgb[16]; +}; + +// Offsets into YuvConstants structure +#define KUVTOB 0 +#define KUVTOG 32 +#define KUVTOR 64 +#define KUVBIASB 96 +#define KUVBIASG 128 +#define KUVBIASR 160 +#define KYTORGB 192 +#define KYBIASTORGB 224 + +#endif + +#define IS_ALIGNED(p, a) (!((uintptr_t)(p) & ((a)-1))) + +#define align_buffer_64(var, size) \ + uint8_t* var##_mem = (uint8_t*)(malloc((size) + 63)); /* NOLINT */ \ + uint8_t* var = (uint8_t*)(((intptr_t)(var##_mem) + 63) & ~63) /* NOLINT */ + +#define free_aligned_buffer_64(var) \ + free(var##_mem); \ + var = 0 + +#if defined(__APPLE__) || defined(__x86_64__) || defined(__llvm__) +#define OMITFP +#else +#define OMITFP __attribute__((optimize("omit-frame-pointer"))) +#endif + +// NaCL macros for GCC x86 and x64. +#if defined(__native_client__) +#define LABELALIGN ".p2align 5\n" +#else +#define LABELALIGN +#endif + +// Intel Code Analizer markers. Insert IACA_START IACA_END around code to be +// measured and then run with iaca -64 libyuv_unittest. +// IACA_ASM_START amd IACA_ASM_END are equivalents that can be used within +// inline assembly blocks. +// example of iaca: +// ~/iaca-lin64/bin/iaca.sh -64 -analysis LATENCY out/Release/libyuv_unittest + +#if defined(__x86_64__) || defined(__i386__) + +#define IACA_ASM_START \ + ".byte 0x0F, 0x0B\n" \ + " movl $111, %%ebx\n" \ + ".byte 0x64, 0x67, 0x90\n" + +#define IACA_ASM_END \ + " movl $222, %%ebx\n" \ + ".byte 0x64, 0x67, 0x90\n" \ + ".byte 0x0F, 0x0B\n" + +#define IACA_SSC_MARK(MARK_ID) \ + __asm__ __volatile__("\n\t movl $" #MARK_ID \ + ", %%ebx" \ + "\n\t .byte 0x64, 0x67, 0x90" \ + : \ + : \ + : "memory"); + +#define IACA_UD_BYTES __asm__ __volatile__("\n\t .byte 0x0F, 0x0B"); + +#else /* Visual C */ +#define IACA_UD_BYTES \ + { __asm _emit 0x0F __asm _emit 0x0B } + +#define IACA_SSC_MARK(x) \ + { __asm mov ebx, x __asm _emit 0x64 __asm _emit 0x67 __asm _emit 0x90 } + +#define IACA_VC64_START __writegsbyte(111, 111); +#define IACA_VC64_END __writegsbyte(222, 222); +#endif + +#define IACA_START \ + { \ + IACA_UD_BYTES \ + IACA_SSC_MARK(111) \ + } +#define IACA_END \ + { \ + IACA_SSC_MARK(222) \ + IACA_UD_BYTES \ + } + +void I444ToARGBRow_NEON(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); +void I422ToARGBRow_NEON(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); +void I422AlphaToARGBRow_NEON(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + const uint8_t* src_a, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); +void I422ToARGBRow_NEON(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); +void I422ToRGBARow_NEON(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_rgba, + const struct YuvConstants* yuvconstants, + int width); +void I422ToRGB24Row_NEON(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_rgb24, + const struct YuvConstants* yuvconstants, + int width); +void I422ToRGB565Row_NEON(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_rgb565, + const struct YuvConstants* yuvconstants, + int width); +void I422ToARGB1555Row_NEON(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_argb1555, + const struct YuvConstants* yuvconstants, + int width); +void I422ToARGB4444Row_NEON(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_argb4444, + const struct YuvConstants* yuvconstants, + int width); +void NV12ToARGBRow_NEON(const uint8_t* src_y, + const uint8_t* src_uv, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); +void NV12ToRGB565Row_NEON(const uint8_t* src_y, + const uint8_t* src_uv, + uint8_t* dst_rgb565, + const struct YuvConstants* yuvconstants, + int width); +void NV21ToARGBRow_NEON(const uint8_t* src_y, + const uint8_t* src_vu, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); +void NV12ToRGB24Row_NEON(const uint8_t* src_y, + const uint8_t* src_uv, + uint8_t* dst_rgb24, + const struct YuvConstants* yuvconstants, + int width); +void NV21ToRGB24Row_NEON(const uint8_t* src_y, + const uint8_t* src_vu, + uint8_t* dst_rgb24, + const struct YuvConstants* yuvconstants, + int width); +void NV21ToYUV24Row_NEON(const uint8_t* src_y, + const uint8_t* src_vu, + uint8_t* dst_yuv24, + int width); +void YUY2ToARGBRow_NEON(const uint8_t* src_yuy2, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); +void UYVYToARGBRow_NEON(const uint8_t* src_uyvy, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); +void I444ToARGBRow_MSA(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); +void I444ToARGBRow_MMI(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); + +void I422ToARGBRow_MSA(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); +void I422ToRGBARow_MSA(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); +void I422ToARGBRow_MMI(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); +void I422AlphaToARGBRow_MSA(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + const uint8_t* src_a, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); +void I422ToRGB24Row_MSA(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); +void I422ToRGB565Row_MSA(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_rgb565, + const struct YuvConstants* yuvconstants, + int width); +void I422ToARGB4444Row_MSA(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_argb4444, + const struct YuvConstants* yuvconstants, + int width); +void I422ToARGB1555Row_MSA(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_argb1555, + const struct YuvConstants* yuvconstants, + int width); +void NV12ToARGBRow_MSA(const uint8_t* src_y, + const uint8_t* src_uv, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); +void NV12ToRGB565Row_MSA(const uint8_t* src_y, + const uint8_t* src_uv, + uint8_t* dst_rgb565, + const struct YuvConstants* yuvconstants, + int width); +void NV21ToARGBRow_MSA(const uint8_t* src_y, + const uint8_t* src_vu, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); +void YUY2ToARGBRow_MSA(const uint8_t* src_yuy2, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); +void UYVYToARGBRow_MSA(const uint8_t* src_uyvy, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); + +void ARGBToYRow_AVX2(const uint8_t* src_argb, uint8_t* dst_y, int width); +void ARGBToYRow_Any_AVX2(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void ABGRToYRow_AVX2(const uint8_t* src_abgr, uint8_t* dst_y, int width); +void ABGRToYRow_Any_AVX2(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void ARGBToYRow_SSSE3(const uint8_t* src_argb, uint8_t* dst_y, int width); +void ARGBToYJRow_AVX2(const uint8_t* src_argb, uint8_t* dst_y, int width); +void ARGBToYJRow_Any_AVX2(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void ARGBToYJRow_SSSE3(const uint8_t* src_argb, uint8_t* dst_y, int width); +void RGBAToYJRow_AVX2(const uint8_t* src_rgba, uint8_t* dst_y, int width); +void RGBAToYJRow_Any_AVX2(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void RGBAToYJRow_SSSE3(const uint8_t* src_rgba, uint8_t* dst_y, int width); +void BGRAToYRow_SSSE3(const uint8_t* src_bgra, uint8_t* dst_y, int width); +void ABGRToYRow_SSSE3(const uint8_t* src_abgr, uint8_t* dst_y, int width); +void RGBAToYRow_SSSE3(const uint8_t* src_rgba, uint8_t* dst_y, int width); +void RGB24ToYRow_SSSE3(const uint8_t* src_rgb24, uint8_t* dst_y, int width); +void RGB24ToYJRow_SSSE3(const uint8_t* src_rgb24, uint8_t* dst_y, int width); +void RAWToYRow_SSSE3(const uint8_t* src_raw, uint8_t* dst_y, int width); +void RAWToYJRow_SSSE3(const uint8_t* src_raw, uint8_t* dst_y, int width); +void RGB24ToYJRow_AVX2(const uint8_t* src_rgb24, uint8_t* dst_y, int width); +void RAWToYJRow_AVX2(const uint8_t* src_raw, uint8_t* dst_y, int width); +void ARGBToYRow_NEON(const uint8_t* src_argb, uint8_t* dst_y, int width); +void ARGBToYJRow_NEON(const uint8_t* src_argb, uint8_t* dst_y, int width); +void RGBAToYJRow_NEON(const uint8_t* src_rgba, uint8_t* dst_y, int width); +void ARGBToYRow_MSA(const uint8_t* src_argb0, uint8_t* dst_y, int width); +void ARGBToYJRow_MSA(const uint8_t* src_argb0, uint8_t* dst_y, int width); +void ARGBToYRow_MMI(const uint8_t* src_argb0, uint8_t* dst_y, int width); +void ARGBToYJRow_MMI(const uint8_t* src_argb0, uint8_t* dst_y, int width); +void ARGBToUV444Row_NEON(const uint8_t* src_argb, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ARGBToUVRow_NEON(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ARGBToUV444Row_MSA(const uint8_t* src_argb, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ARGBToUVRow_MSA(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ARGBToUV444Row_MMI(const uint8_t* src_argb, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ARGBToUVRow_MMI(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ARGBToUVJRow_NEON(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void BGRAToUVRow_NEON(const uint8_t* src_bgra, + int src_stride_bgra, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ABGRToUVRow_NEON(const uint8_t* src_abgr, + int src_stride_abgr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void RGBAToUVRow_NEON(const uint8_t* src_rgba, + int src_stride_rgba, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void RGB24ToUVRow_NEON(const uint8_t* src_rgb24, + int src_stride_rgb24, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void RAWToUVRow_NEON(const uint8_t* src_raw, + int src_stride_raw, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void RGB565ToUVRow_NEON(const uint8_t* src_rgb565, + int src_stride_rgb565, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ARGB1555ToUVRow_NEON(const uint8_t* src_argb1555, + int src_stride_argb1555, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ARGB4444ToUVRow_NEON(const uint8_t* src_argb4444, + int src_stride_argb4444, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ARGBToUVJRow_MSA(const uint8_t* src_rgb, + int src_stride_rgb, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void BGRAToUVRow_MSA(const uint8_t* src_rgb, + int src_stride_rgb, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ABGRToUVRow_MSA(const uint8_t* src_rgb, + int src_stride_rgb, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void RGBAToUVRow_MSA(const uint8_t* src_rgb, + int src_stride_rgb, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void RGB24ToUVRow_MSA(const uint8_t* src_rgb, + int src_stride_rgb, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void RAWToUVRow_MSA(const uint8_t* src_rgb, + int src_stride_rgb, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void RGB565ToUVRow_MSA(const uint8_t* src_rgb565, + int src_stride_rgb565, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ARGB1555ToUVRow_MSA(const uint8_t* src_argb1555, + int src_stride_argb1555, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ARGBToUVJRow_MMI(const uint8_t* src_rgb, + int src_stride_rgb, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void BGRAToUVRow_MMI(const uint8_t* src_rgb, + int src_stride_rgb, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ABGRToUVRow_MMI(const uint8_t* src_rgb, + int src_stride_rgb, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void RGBAToUVRow_MMI(const uint8_t* src_rgb, + int src_stride_rgb, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void RGB24ToUVRow_MMI(const uint8_t* src_rgb, + int src_stride_rgb, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void RAWToUVRow_MMI(const uint8_t* src_rgb, + int src_stride_rgb, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void RGB565ToUVRow_MMI(const uint8_t* src_rgb565, + int src_stride_rgb565, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ARGB1555ToUVRow_MMI(const uint8_t* src_argb1555, + int src_stride_argb1555, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ARGB4444ToUVRow_MMI(const uint8_t* src_argb4444, + int src_stride_argb4444, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void BGRAToYRow_NEON(const uint8_t* src_bgra, uint8_t* dst_y, int width); +void ABGRToYRow_NEON(const uint8_t* src_abgr, uint8_t* dst_y, int width); +void RGBAToYRow_NEON(const uint8_t* src_rgba, uint8_t* dst_y, int width); +void RGB24ToYRow_NEON(const uint8_t* src_rgb24, uint8_t* dst_y, int width); +void RGB24ToYJRow_NEON(const uint8_t* src_rgb24, uint8_t* dst_yj, int width); +void RAWToYRow_NEON(const uint8_t* src_raw, uint8_t* dst_y, int width); +void RAWToYJRow_NEON(const uint8_t* src_raw, uint8_t* dst_yj, int width); +void RGB565ToYRow_NEON(const uint8_t* src_rgb565, uint8_t* dst_y, int width); +void ARGB1555ToYRow_NEON(const uint8_t* src_argb1555, + uint8_t* dst_y, + int width); +void ARGB4444ToYRow_NEON(const uint8_t* src_argb4444, + uint8_t* dst_y, + int width); +void BGRAToYRow_MSA(const uint8_t* src_argb, uint8_t* dst_y, int width); +void ABGRToYRow_MSA(const uint8_t* src_argb, uint8_t* dst_y, int width); +void RGBAToYRow_MSA(const uint8_t* src_argb, uint8_t* dst_y, int width); +void RGB24ToYRow_MSA(const uint8_t* src_argb, uint8_t* dst_y, int width); +void RAWToYRow_MSA(const uint8_t* src_argb, uint8_t* dst_y, int width); +void RGB565ToYRow_MSA(const uint8_t* src_rgb565, uint8_t* dst_y, int width); +void ARGB1555ToYRow_MSA(const uint8_t* src_argb1555, uint8_t* dst_y, int width); +void BGRAToYRow_MMI(const uint8_t* src_argb, uint8_t* dst_y, int width); +void ABGRToYRow_MMI(const uint8_t* src_argb, uint8_t* dst_y, int width); +void RGBAToYRow_MMI(const uint8_t* src_argb, uint8_t* dst_y, int width); +void RGB24ToYRow_MMI(const uint8_t* src_argb, uint8_t* dst_y, int width); +void RAWToYRow_MMI(const uint8_t* src_argb, uint8_t* dst_y, int width); +void RGB565ToYRow_MMI(const uint8_t* src_rgb565, uint8_t* dst_y, int width); +void ARGB1555ToYRow_MMI(const uint8_t* src_argb1555, uint8_t* dst_y, int width); +void ARGB4444ToYRow_MMI(const uint8_t* src_argb4444, uint8_t* dst_y, int width); + +void ARGBToYRow_C(const uint8_t* src_argb, uint8_t* dst_y, int width); +void ARGBToYJRow_C(const uint8_t* src_argb, uint8_t* dst_y, int width); +void RGBAToYJRow_C(const uint8_t* src_argb0, uint8_t* dst_y, int width); +void BGRAToYRow_C(const uint8_t* src_argb, uint8_t* dst_y, int width); +void ABGRToYRow_C(const uint8_t* src_argb, uint8_t* dst_y, int width); +void RGBAToYRow_C(const uint8_t* src_argb, uint8_t* dst_y, int width); +void RGB24ToYRow_C(const uint8_t* src_argb, uint8_t* dst_y, int width); +void RGB24ToYJRow_C(const uint8_t* src_argb, uint8_t* dst_yj, int width); +void RAWToYRow_C(const uint8_t* src_argb, uint8_t* dst_y, int width); +void RAWToYJRow_C(const uint8_t* src_argb, uint8_t* dst_yj, int width); +void RGB565ToYRow_C(const uint8_t* src_rgb565, uint8_t* dst_y, int width); +void ARGB1555ToYRow_C(const uint8_t* src_argb1555, uint8_t* dst_y, int width); +void ARGB4444ToYRow_C(const uint8_t* src_argb4444, uint8_t* dst_y, int width); +void ARGBToYRow_Any_SSSE3(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void ARGBToYJRow_Any_SSSE3(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void RGBAToYJRow_Any_SSSE3(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void BGRAToYRow_Any_SSSE3(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void ABGRToYRow_Any_SSSE3(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void RGBAToYRow_Any_SSSE3(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void RGB24ToYRow_Any_SSSE3(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void RGB24ToYJRow_Any_SSSE3(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void RAWToYRow_Any_SSSE3(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void RAWToYJRow_Any_SSSE3(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void RGB24ToYJRow_Any_AVX2(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void RAWToYJRow_Any_AVX2(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void ARGBToYRow_Any_NEON(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void ARGBToYJRow_Any_NEON(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void RGBAToYJRow_Any_NEON(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void BGRAToYRow_Any_NEON(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void ABGRToYRow_Any_NEON(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void RGBAToYRow_Any_NEON(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void RGB24ToYRow_Any_NEON(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void RGB24ToYJRow_Any_NEON(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void RAWToYRow_Any_NEON(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void RAWToYJRow_Any_NEON(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void RGB565ToYRow_Any_NEON(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void ARGB1555ToYRow_Any_NEON(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGB4444ToYRow_Any_NEON(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void BGRAToYRow_Any_MSA(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void ABGRToYRow_Any_MSA(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void RGBAToYRow_Any_MSA(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void ARGBToYJRow_Any_MSA(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void ARGBToYRow_Any_MSA(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void RGB24ToYRow_Any_MSA(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void RAWToYRow_Any_MSA(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void RGB565ToYRow_Any_MSA(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void ARGB1555ToYRow_Any_MSA(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void BGRAToYRow_Any_MMI(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void ABGRToYRow_Any_MMI(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void RGBAToYRow_Any_MMI(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void ARGBToYJRow_Any_MMI(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void ARGBToYRow_Any_MMI(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void RGB24ToYRow_Any_MMI(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void RAWToYRow_Any_MMI(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void RGB565ToYRow_Any_MMI(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void ARGB1555ToYRow_Any_MMI(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGB4444ToYRow_Any_MMI(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); + +void ARGBToUVRow_AVX2(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ABGRToUVRow_AVX2(const uint8_t* src_abgr, + int src_stride_abgr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ARGBToUVJRow_AVX2(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ARGBToUVRow_SSSE3(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ARGBToUVJRow_SSSE3(const uint8_t* src_argb, + int src_stride_argb, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void BGRAToUVRow_SSSE3(const uint8_t* src_bgra, + int src_stride_bgra, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ABGRToUVRow_SSSE3(const uint8_t* src_abgr, + int src_stride_abgr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void RGBAToUVRow_SSSE3(const uint8_t* src_rgba, + int src_stride_rgba, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ARGBToUVRow_Any_AVX2(const uint8_t* src_ptr, + int src_stride_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ABGRToUVRow_Any_AVX2(const uint8_t* src_ptr, + int src_stride_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ARGBToUVJRow_Any_AVX2(const uint8_t* src_ptr, + int src_stride_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ARGBToUVRow_Any_SSSE3(const uint8_t* src_ptr, + int src_stride_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ARGBToUVJRow_Any_SSSE3(const uint8_t* src_ptr, + int src_stride_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void BGRAToUVRow_Any_SSSE3(const uint8_t* src_ptr, + int src_stride_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ABGRToUVRow_Any_SSSE3(const uint8_t* src_ptr, + int src_stride_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void RGBAToUVRow_Any_SSSE3(const uint8_t* src_ptr, + int src_stride_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ARGBToUV444Row_Any_NEON(const uint8_t* src_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ARGBToUVRow_Any_NEON(const uint8_t* src_ptr, + int src_stride_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ARGBToUV444Row_Any_MSA(const uint8_t* src_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ARGBToUVRow_Any_MSA(const uint8_t* src_ptr, + int src_stride_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ARGBToUV444Row_Any_MMI(const uint8_t* src_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ARGBToUVRow_Any_MMI(const uint8_t* src_ptr, + int src_stride_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ARGBToUVJRow_Any_NEON(const uint8_t* src_ptr, + int src_stride_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void BGRAToUVRow_Any_NEON(const uint8_t* src_ptr, + int src_stride_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ABGRToUVRow_Any_NEON(const uint8_t* src_ptr, + int src_stride_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void RGBAToUVRow_Any_NEON(const uint8_t* src_ptr, + int src_stride_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void RGB24ToUVRow_Any_NEON(const uint8_t* src_ptr, + int src_stride_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void RAWToUVRow_Any_NEON(const uint8_t* src_ptr, + int src_stride_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void RGB565ToUVRow_Any_NEON(const uint8_t* src_ptr, + int src_stride_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ARGB1555ToUVRow_Any_NEON(const uint8_t* src_ptr, + int src_stride_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ARGB4444ToUVRow_Any_NEON(const uint8_t* src_ptr, + int src_stride_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ARGBToUVJRow_Any_MSA(const uint8_t* src_ptr, + int src_stride_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void BGRAToUVRow_Any_MSA(const uint8_t* src_ptr, + int src_stride_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ABGRToUVRow_Any_MSA(const uint8_t* src_ptr, + int src_stride_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void RGBAToUVRow_Any_MSA(const uint8_t* src_ptr, + int src_stride_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void RGB24ToUVRow_Any_MSA(const uint8_t* src_ptr, + int src_stride_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void RAWToUVRow_Any_MSA(const uint8_t* src_ptr, + int src_stride_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void RGB565ToUVRow_Any_MSA(const uint8_t* src_ptr, + int src_stride_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ARGB1555ToUVRow_Any_MSA(const uint8_t* src_ptr, + int src_stride_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ARGBToUVJRow_Any_MMI(const uint8_t* src_ptr, + int src_stride_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void BGRAToUVRow_Any_MMI(const uint8_t* src_ptr, + int src_stride_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ABGRToUVRow_Any_MMI(const uint8_t* src_ptr, + int src_stride_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void RGBAToUVRow_Any_MMI(const uint8_t* src_ptr, + int src_stride_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void RGB24ToUVRow_Any_MMI(const uint8_t* src_ptr, + int src_stride_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void RAWToUVRow_Any_MMI(const uint8_t* src_ptr, + int src_stride_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void RGB565ToUVRow_Any_MMI(const uint8_t* src_ptr, + int src_stride_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ARGB1555ToUVRow_Any_MMI(const uint8_t* src_ptr, + int src_stride_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ARGB4444ToUVRow_Any_MMI(const uint8_t* src_ptr, + int src_stride_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ARGBToUVRow_C(const uint8_t* src_rgb, + int src_stride_rgb, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ARGBToUVJRow_C(const uint8_t* src_rgb, + int src_stride_rgb, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ARGBToUVRow_C(const uint8_t* src_rgb, + int src_stride_rgb, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ARGBToUVJRow_C(const uint8_t* src_rgb, + int src_stride_rgb, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void BGRAToUVRow_C(const uint8_t* src_rgb, + int src_stride_rgb, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ABGRToUVRow_C(const uint8_t* src_rgb, + int src_stride_rgb, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void RGBAToUVRow_C(const uint8_t* src_rgb, + int src_stride_rgb, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void RGB24ToUVRow_C(const uint8_t* src_rgb, + int src_stride_rgb, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void RAWToUVRow_C(const uint8_t* src_rgb, + int src_stride_rgb, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void RGB565ToUVRow_C(const uint8_t* src_rgb565, + int src_stride_rgb565, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ARGB1555ToUVRow_C(const uint8_t* src_argb1555, + int src_stride_argb1555, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ARGB4444ToUVRow_C(const uint8_t* src_argb4444, + int src_stride_argb4444, + uint8_t* dst_u, + uint8_t* dst_v, + int width); + +void ARGBToUV444Row_SSSE3(const uint8_t* src_argb, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void ARGBToUV444Row_Any_SSSE3(const uint8_t* src_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); + +void ARGBToUV444Row_C(const uint8_t* src_argb, + uint8_t* dst_u, + uint8_t* dst_v, + int width); + +void MirrorRow_AVX2(const uint8_t* src, uint8_t* dst, int width); +void MirrorRow_SSSE3(const uint8_t* src, uint8_t* dst, int width); +void MirrorRow_NEON(const uint8_t* src, uint8_t* dst, int width); +void MirrorRow_MSA(const uint8_t* src, uint8_t* dst, int width); +void MirrorRow_MMI(const uint8_t* src, uint8_t* dst, int width); +void MirrorRow_C(const uint8_t* src, uint8_t* dst, int width); +void MirrorRow_Any_AVX2(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void MirrorRow_Any_SSSE3(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void MirrorRow_Any_SSE2(const uint8_t* src, uint8_t* dst, int width); +void MirrorRow_Any_NEON(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void MirrorRow_Any_MSA(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void MirrorRow_Any_MMI(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void MirrorUVRow_AVX2(const uint8_t* src_uv, uint8_t* dst_uv, int width); +void MirrorUVRow_SSSE3(const uint8_t* src_uv, uint8_t* dst_uv, int width); +void MirrorUVRow_NEON(const uint8_t* src_uv, uint8_t* dst_uv, int width); +void MirrorUVRow_MSA(const uint8_t* src_uv, uint8_t* dst_uv, int width); +void MirrorUVRow_C(const uint8_t* src_uv, uint8_t* dst_uv, int width); +void MirrorUVRow_Any_AVX2(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void MirrorUVRow_Any_SSSE3(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void MirrorUVRow_Any_NEON(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void MirrorUVRow_Any_MSA(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); + +void MirrorSplitUVRow_SSSE3(const uint8_t* src, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void MirrorSplitUVRow_NEON(const uint8_t* src_uv, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void MirrorSplitUVRow_MSA(const uint8_t* src_uv, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void MirrorSplitUVRow_MMI(const uint8_t* src_uv, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void MirrorSplitUVRow_C(const uint8_t* src_uv, + uint8_t* dst_u, + uint8_t* dst_v, + int width); + +void ARGBMirrorRow_AVX2(const uint8_t* src, uint8_t* dst, int width); +void ARGBMirrorRow_SSE2(const uint8_t* src, uint8_t* dst, int width); +void ARGBMirrorRow_NEON(const uint8_t* src, uint8_t* dst, int width); +void ARGBMirrorRow_MSA(const uint8_t* src, uint8_t* dst, int width); +void ARGBMirrorRow_MMI(const uint8_t* src, uint8_t* dst, int width); +void ARGBMirrorRow_C(const uint8_t* src, uint8_t* dst, int width); +void ARGBMirrorRow_Any_AVX2(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGBMirrorRow_Any_SSE2(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGBMirrorRow_Any_NEON(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGBMirrorRow_Any_MSA(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void ARGBMirrorRow_Any_MMI(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); + +void RGB24MirrorRow_SSSE3(const uint8_t* src, uint8_t* dst, int width); +void RGB24MirrorRow_NEON(const uint8_t* src, uint8_t* dst, int width); +void RGB24MirrorRow_C(const uint8_t* src, uint8_t* dst, int width); +void RGB24MirrorRow_Any_SSSE3(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void RGB24MirrorRow_Any_NEON(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); + +void SplitUVRow_C(const uint8_t* src_uv, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void SplitUVRow_SSE2(const uint8_t* src_uv, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void SplitUVRow_AVX2(const uint8_t* src_uv, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void SplitUVRow_NEON(const uint8_t* src_uv, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void SplitUVRow_MSA(const uint8_t* src_uv, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void SplitUVRow_MMI(const uint8_t* src_uv, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void SplitUVRow_Any_SSE2(const uint8_t* src_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void SplitUVRow_Any_AVX2(const uint8_t* src_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void SplitUVRow_Any_NEON(const uint8_t* src_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void SplitUVRow_Any_MSA(const uint8_t* src_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void SplitUVRow_Any_MMI(const uint8_t* src_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); + +void MergeUVRow_C(const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_uv, + int width); +void MergeUVRow_SSE2(const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_uv, + int width); +void MergeUVRow_AVX2(const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_uv, + int width); +void MergeUVRow_NEON(const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_uv, + int width); +void MergeUVRow_MSA(const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_uv, + int width); +void MergeUVRow_MMI(const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_uv, + int width); +void MergeUVRow_Any_SSE2(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + int width); +void MergeUVRow_Any_AVX2(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + int width); +void MergeUVRow_Any_NEON(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + int width); +void MergeUVRow_Any_MSA(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + int width); +void MergeUVRow_Any_MMI(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + int width); + +void HalfMergeUVRow_C(const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_uv, + int width); + +void HalfMergeUVRow_NEON(const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_uv, + int width); + +void HalfMergeUVRow_SSSE3(const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_uv, + int width); + +void HalfMergeUVRow_AVX2(const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint8_t* dst_uv, + int width); + +void SplitRGBRow_C(const uint8_t* src_rgb, + uint8_t* dst_r, + uint8_t* dst_g, + uint8_t* dst_b, + int width); +void SplitRGBRow_SSSE3(const uint8_t* src_rgb, + uint8_t* dst_r, + uint8_t* dst_g, + uint8_t* dst_b, + int width); +void SplitRGBRow_NEON(const uint8_t* src_rgb, + uint8_t* dst_r, + uint8_t* dst_g, + uint8_t* dst_b, + int width); +void SplitRGBRow_MMI(const uint8_t* src_rgb, + uint8_t* dst_r, + uint8_t* dst_g, + uint8_t* dst_b, + int width); +void SplitRGBRow_Any_SSSE3(const uint8_t* src_ptr, + uint8_t* dst_r, + uint8_t* dst_g, + uint8_t* dst_b, + int width); +void SplitRGBRow_Any_NEON(const uint8_t* src_ptr, + uint8_t* dst_r, + uint8_t* dst_g, + uint8_t* dst_b, + int width); +void SplitRGBRow_Any_MMI(const uint8_t* src_ptr, + uint8_t* dst_r, + uint8_t* dst_g, + uint8_t* dst_b, + int width); + +void MergeRGBRow_C(const uint8_t* src_r, + const uint8_t* src_g, + const uint8_t* src_b, + uint8_t* dst_rgb, + int width); +void MergeRGBRow_SSSE3(const uint8_t* src_r, + const uint8_t* src_g, + const uint8_t* src_b, + uint8_t* dst_rgb, + int width); +void MergeRGBRow_NEON(const uint8_t* src_r, + const uint8_t* src_g, + const uint8_t* src_b, + uint8_t* dst_rgb, + int width); +void MergeRGBRow_MMI(const uint8_t* src_r, + const uint8_t* src_g, + const uint8_t* src_b, + uint8_t* dst_rgb, + int width); +void MergeRGBRow_Any_SSSE3(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + int width); +void MergeRGBRow_Any_NEON(const uint8_t* src_r, + const uint8_t* src_g, + const uint8_t* src_b, + uint8_t* dst_rgb, + int width); +void MergeRGBRow_Any_MMI(const uint8_t* src_r, + const uint8_t* src_g, + const uint8_t* src_b, + uint8_t* dst_rgb, + int width); + +void MergeUVRow_16_C(const uint16_t* src_u, + const uint16_t* src_v, + uint16_t* dst_uv, + int scale, /* 64 for 10 bit */ + int width); +void MergeUVRow_16_AVX2(const uint16_t* src_u, + const uint16_t* src_v, + uint16_t* dst_uv, + int scale, + int width); + +void MultiplyRow_16_AVX2(const uint16_t* src_y, + uint16_t* dst_y, + int scale, + int width); +void MultiplyRow_16_C(const uint16_t* src_y, + uint16_t* dst_y, + int scale, + int width); + +void Convert8To16Row_C(const uint8_t* src_y, + uint16_t* dst_y, + int scale, + int width); +void Convert8To16Row_SSE2(const uint8_t* src_y, + uint16_t* dst_y, + int scale, + int width); +void Convert8To16Row_AVX2(const uint8_t* src_y, + uint16_t* dst_y, + int scale, + int width); +void Convert8To16Row_Any_SSE2(const uint8_t* src_ptr, + uint16_t* dst_ptr, + int scale, + int width); +void Convert8To16Row_Any_AVX2(const uint8_t* src_ptr, + uint16_t* dst_ptr, + int scale, + int width); + +void Convert16To8Row_C(const uint16_t* src_y, + uint8_t* dst_y, + int scale, + int width); +void Convert16To8Row_SSSE3(const uint16_t* src_y, + uint8_t* dst_y, + int scale, + int width); +void Convert16To8Row_AVX2(const uint16_t* src_y, + uint8_t* dst_y, + int scale, + int width); +void Convert16To8Row_Any_SSSE3(const uint16_t* src_ptr, + uint8_t* dst_ptr, + int scale, + int width); +void Convert16To8Row_Any_AVX2(const uint16_t* src_ptr, + uint8_t* dst_ptr, + int scale, + int width); + +void CopyRow_SSE2(const uint8_t* src, uint8_t* dst, int width); +void CopyRow_AVX(const uint8_t* src, uint8_t* dst, int width); +void CopyRow_ERMS(const uint8_t* src, uint8_t* dst, int width); +void CopyRow_NEON(const uint8_t* src, uint8_t* dst, int width); +void CopyRow_MIPS(const uint8_t* src, uint8_t* dst, int count); +void CopyRow_C(const uint8_t* src, uint8_t* dst, int count); +void CopyRow_Any_SSE2(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void CopyRow_Any_AVX(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void CopyRow_Any_NEON(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); + +void CopyRow_16_C(const uint16_t* src, uint16_t* dst, int count); + +void ARGBCopyAlphaRow_C(const uint8_t* src, uint8_t* dst, int width); +void ARGBCopyAlphaRow_SSE2(const uint8_t* src, uint8_t* dst, int width); +void ARGBCopyAlphaRow_AVX2(const uint8_t* src, uint8_t* dst, int width); +void ARGBCopyAlphaRow_MMI(const uint8_t* src, uint8_t* dst, int width); +void ARGBCopyAlphaRow_Any_SSE2(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGBCopyAlphaRow_Any_AVX2(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGBCopyAlphaRow_Any_MMI(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); + +void ARGBExtractAlphaRow_C(const uint8_t* src_argb, uint8_t* dst_a, int width); +void ARGBExtractAlphaRow_SSE2(const uint8_t* src_argb, + uint8_t* dst_a, + int width); +void ARGBExtractAlphaRow_AVX2(const uint8_t* src_argb, + uint8_t* dst_a, + int width); +void ARGBExtractAlphaRow_NEON(const uint8_t* src_argb, + uint8_t* dst_a, + int width); +void ARGBExtractAlphaRow_MSA(const uint8_t* src_argb, + uint8_t* dst_a, + int width); +void ARGBExtractAlphaRow_MMI(const uint8_t* src_argb, + uint8_t* dst_a, + int width); +void ARGBExtractAlphaRow_Any_SSE2(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGBExtractAlphaRow_Any_AVX2(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGBExtractAlphaRow_Any_NEON(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGBExtractAlphaRow_Any_MSA(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGBExtractAlphaRow_Any_MMI(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); + +void ARGBCopyYToAlphaRow_C(const uint8_t* src, uint8_t* dst, int width); +void ARGBCopyYToAlphaRow_SSE2(const uint8_t* src, uint8_t* dst, int width); +void ARGBCopyYToAlphaRow_AVX2(const uint8_t* src, uint8_t* dst, int width); +void ARGBCopyYToAlphaRow_MMI(const uint8_t* src, uint8_t* dst, int width); +void ARGBCopyYToAlphaRow_Any_SSE2(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGBCopyYToAlphaRow_Any_AVX2(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGBCopyYToAlphaRow_Any_MMI(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); + +void SetRow_C(uint8_t* dst, uint8_t v8, int width); +void SetRow_MSA(uint8_t* dst, uint8_t v8, int width); +void SetRow_X86(uint8_t* dst, uint8_t v8, int width); +void SetRow_ERMS(uint8_t* dst, uint8_t v8, int width); +void SetRow_NEON(uint8_t* dst, uint8_t v8, int width); +void SetRow_Any_X86(uint8_t* dst_ptr, uint8_t v32, int width); +void SetRow_Any_NEON(uint8_t* dst_ptr, uint8_t v32, int width); + +void ARGBSetRow_C(uint8_t* dst_argb, uint32_t v32, int width); +void ARGBSetRow_X86(uint8_t* dst_argb, uint32_t v32, int width); +void ARGBSetRow_NEON(uint8_t* dst, uint32_t v32, int width); +void ARGBSetRow_Any_NEON(uint8_t* dst_ptr, uint32_t v32, int width); +void ARGBSetRow_MSA(uint8_t* dst_argb, uint32_t v32, int width); +void ARGBSetRow_Any_MSA(uint8_t* dst_ptr, uint32_t v32, int width); +void ARGBSetRow_MMI(uint8_t* dst_argb, uint32_t v32, int width); +void ARGBSetRow_Any_MMI(uint8_t* dst_ptr, uint32_t v32, int width); + +// ARGBShufflers for BGRAToARGB etc. +void ARGBShuffleRow_C(const uint8_t* src_argb, + uint8_t* dst_argb, + const uint8_t* shuffler, + int width); +void ARGBShuffleRow_SSSE3(const uint8_t* src_argb, + uint8_t* dst_argb, + const uint8_t* shuffler, + int width); +void ARGBShuffleRow_AVX2(const uint8_t* src_argb, + uint8_t* dst_argb, + const uint8_t* shuffler, + int width); +void ARGBShuffleRow_NEON(const uint8_t* src_argb, + uint8_t* dst_argb, + const uint8_t* shuffler, + int width); +void ARGBShuffleRow_MSA(const uint8_t* src_argb, + uint8_t* dst_argb, + const uint8_t* shuffler, + int width); +void ARGBShuffleRow_MMI(const uint8_t* src_argb, + uint8_t* dst_argb, + const uint8_t* shuffler, + int width); +void ARGBShuffleRow_Any_SSSE3(const uint8_t* src_ptr, + uint8_t* dst_ptr, + const uint8_t* param, + int width); +void ARGBShuffleRow_Any_AVX2(const uint8_t* src_ptr, + uint8_t* dst_ptr, + const uint8_t* param, + int width); +void ARGBShuffleRow_Any_NEON(const uint8_t* src_ptr, + uint8_t* dst_ptr, + const uint8_t* param, + int width); +void ARGBShuffleRow_Any_MSA(const uint8_t* src_ptr, + uint8_t* dst_ptr, + const uint8_t* param, + int width); +void ARGBShuffleRow_Any_MMI(const uint8_t* src_ptr, + uint8_t* dst_ptr, + const uint8_t* param, + int width); + +void RGB24ToARGBRow_SSSE3(const uint8_t* src_rgb24, + uint8_t* dst_argb, + int width); +void RAWToARGBRow_SSSE3(const uint8_t* src_raw, uint8_t* dst_argb, int width); +void RAWToRGBARow_SSSE3(const uint8_t* src_raw, uint8_t* dst_rgba, int width); +void RAWToRGB24Row_SSSE3(const uint8_t* src_raw, uint8_t* dst_rgb24, int width); +void RGB565ToARGBRow_SSE2(const uint8_t* src, uint8_t* dst, int width); +void ARGB1555ToARGBRow_SSE2(const uint8_t* src, uint8_t* dst, int width); +void ARGB4444ToARGBRow_SSE2(const uint8_t* src, uint8_t* dst, int width); +void RGB565ToARGBRow_AVX2(const uint8_t* src_rgb565, + uint8_t* dst_argb, + int width); +void ARGB1555ToARGBRow_AVX2(const uint8_t* src_argb1555, + uint8_t* dst_argb, + int width); +void ARGB4444ToARGBRow_AVX2(const uint8_t* src_argb4444, + uint8_t* dst_argb, + int width); + +void RGB24ToARGBRow_NEON(const uint8_t* src_rgb24, + uint8_t* dst_argb, + int width); +void RGB24ToARGBRow_MSA(const uint8_t* src_rgb24, uint8_t* dst_argb, int width); +void RGB24ToARGBRow_MMI(const uint8_t* src_rgb24, uint8_t* dst_argb, int width); +void RAWToARGBRow_NEON(const uint8_t* src_raw, uint8_t* dst_argb, int width); +void RAWToRGBARow_NEON(const uint8_t* src_raw, uint8_t* dst_rgba, int width); +void RAWToARGBRow_MSA(const uint8_t* src_raw, uint8_t* dst_argb, int width); +void RAWToARGBRow_MMI(const uint8_t* src_raw, uint8_t* dst_argb, int width); +void RAWToRGB24Row_NEON(const uint8_t* src_raw, uint8_t* dst_rgb24, int width); +void RAWToRGB24Row_MSA(const uint8_t* src_raw, uint8_t* dst_rgb24, int width); +void RAWToRGB24Row_MMI(const uint8_t* src_raw, uint8_t* dst_rgb24, int width); +void RGB565ToARGBRow_NEON(const uint8_t* src_rgb565, + uint8_t* dst_argb, + int width); +void RGB565ToARGBRow_MSA(const uint8_t* src_rgb565, + uint8_t* dst_argb, + int width); +void RGB565ToARGBRow_MMI(const uint8_t* src_rgb565, + uint8_t* dst_argb, + int width); +void ARGB1555ToARGBRow_NEON(const uint8_t* src_argb1555, + uint8_t* dst_argb, + int width); +void ARGB1555ToARGBRow_MSA(const uint8_t* src_argb1555, + uint8_t* dst_argb, + int width); +void ARGB1555ToARGBRow_MMI(const uint8_t* src_argb1555, + uint8_t* dst_argb, + int width); +void ARGB4444ToARGBRow_NEON(const uint8_t* src_argb4444, + uint8_t* dst_argb, + int width); +void ARGB4444ToARGBRow_MSA(const uint8_t* src_argb4444, + uint8_t* dst_argb, + int width); +void ARGB4444ToARGBRow_MMI(const uint8_t* src_argb4444, + uint8_t* dst_argb, + int width); +void RGB24ToARGBRow_C(const uint8_t* src_rgb24, uint8_t* dst_argb, int width); +void RAWToARGBRow_C(const uint8_t* src_raw, uint8_t* dst_argb, int width); +void RAWToRGBARow_C(const uint8_t* src_raw, uint8_t* dst_rgba, int width); +void RAWToRGB24Row_C(const uint8_t* src_raw, uint8_t* dst_rgb24, int width); +void RGB565ToARGBRow_C(const uint8_t* src_rgb565, uint8_t* dst_argb, int width); +void ARGB1555ToARGBRow_C(const uint8_t* src_argb1555, + uint8_t* dst_argb, + int width); +void ARGB4444ToARGBRow_C(const uint8_t* src_argb4444, + uint8_t* dst_argb, + int width); +void AR30ToARGBRow_C(const uint8_t* src_ar30, uint8_t* dst_argb, int width); +void AR30ToABGRRow_C(const uint8_t* src_ar30, uint8_t* dst_abgr, int width); +void ARGBToAR30Row_C(const uint8_t* src_argb, uint8_t* dst_ar30, int width); +void AR30ToAB30Row_C(const uint8_t* src_ar30, uint8_t* dst_ab30, int width); + +void RGB24ToARGBRow_Any_SSSE3(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void RAWToARGBRow_Any_SSSE3(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void RAWToRGBARow_Any_SSSE3(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void RAWToRGB24Row_Any_SSSE3(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); + +void RGB565ToARGBRow_Any_SSE2(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGB1555ToARGBRow_Any_SSE2(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGB4444ToARGBRow_Any_SSE2(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void RGB565ToARGBRow_Any_AVX2(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGB1555ToARGBRow_Any_AVX2(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGB4444ToARGBRow_Any_AVX2(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); + +void RGB24ToARGBRow_Any_NEON(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void RGB24ToARGBRow_Any_MSA(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void RGB24ToARGBRow_Any_MMI(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void RAWToARGBRow_Any_NEON(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void RAWToRGBARow_Any_NEON(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void RAWToARGBRow_Any_MSA(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void RAWToARGBRow_Any_MMI(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void RAWToRGB24Row_Any_NEON(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void RAWToRGB24Row_Any_MSA(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void RAWToRGB24Row_Any_MMI(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void RGB565ToARGBRow_Any_NEON(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void RGB565ToARGBRow_Any_MSA(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void RGB565ToARGBRow_Any_MMI(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGB1555ToARGBRow_Any_NEON(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGB1555ToARGBRow_Any_MSA(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGB1555ToARGBRow_Any_MMI(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGB4444ToARGBRow_Any_NEON(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); + +void ARGB4444ToARGBRow_Any_MSA(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGB4444ToARGBRow_Any_MMI(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); + +void ARGBToRGB24Row_SSSE3(const uint8_t* src, uint8_t* dst, int width); +void ARGBToRAWRow_SSSE3(const uint8_t* src, uint8_t* dst, int width); +void ARGBToRGB565Row_SSE2(const uint8_t* src, uint8_t* dst, int width); +void ARGBToARGB1555Row_SSE2(const uint8_t* src, uint8_t* dst, int width); +void ARGBToARGB4444Row_SSE2(const uint8_t* src, uint8_t* dst, int width); +void ABGRToAR30Row_SSSE3(const uint8_t* src, uint8_t* dst, int width); +void ARGBToAR30Row_SSSE3(const uint8_t* src, uint8_t* dst, int width); + +void ARGBToRAWRow_AVX2(const uint8_t* src, uint8_t* dst, int width); +void ARGBToRGB24Row_AVX2(const uint8_t* src, uint8_t* dst, int width); + +void ARGBToRGB24Row_AVX512VBMI(const uint8_t* src, uint8_t* dst, int width); + +void ARGBToRGB565DitherRow_C(const uint8_t* src_argb, + uint8_t* dst_rgb, + const uint32_t dither4, + int width); +void ARGBToRGB565DitherRow_SSE2(const uint8_t* src, + uint8_t* dst, + const uint32_t dither4, + int width); +void ARGBToRGB565DitherRow_AVX2(const uint8_t* src, + uint8_t* dst, + const uint32_t dither4, + int width); + +void ARGBToRGB565Row_AVX2(const uint8_t* src_argb, uint8_t* dst_rgb, int width); +void ARGBToARGB1555Row_AVX2(const uint8_t* src_argb, + uint8_t* dst_rgb, + int width); +void ARGBToARGB4444Row_AVX2(const uint8_t* src_argb, + uint8_t* dst_rgb, + int width); +void ABGRToAR30Row_AVX2(const uint8_t* src, uint8_t* dst, int width); +void ARGBToAR30Row_AVX2(const uint8_t* src, uint8_t* dst, int width); + +void ARGBToRGB24Row_NEON(const uint8_t* src_argb, + uint8_t* dst_rgb24, + int width); +void ARGBToRAWRow_NEON(const uint8_t* src_argb, uint8_t* dst_raw, int width); +void ARGBToRGB565Row_NEON(const uint8_t* src_argb, + uint8_t* dst_rgb565, + int width); +void ARGBToARGB1555Row_NEON(const uint8_t* src_argb, + uint8_t* dst_argb1555, + int width); +void ARGBToARGB4444Row_NEON(const uint8_t* src_argb, + uint8_t* dst_argb4444, + int width); +void ARGBToRGB565DitherRow_NEON(const uint8_t* src_argb, + uint8_t* dst_rgb, + const uint32_t dither4, + int width); +void ARGBToRGB24Row_MSA(const uint8_t* src_argb, uint8_t* dst_rgb, int width); +void ARGBToRAWRow_MSA(const uint8_t* src_argb, uint8_t* dst_rgb, int width); +void ARGBToRGB565Row_MSA(const uint8_t* src_argb, uint8_t* dst_rgb, int width); +void ARGBToARGB1555Row_MSA(const uint8_t* src_argb, + uint8_t* dst_rgb, + int width); +void ARGBToARGB4444Row_MSA(const uint8_t* src_argb, + uint8_t* dst_rgb, + int width); +void ARGBToRGB565DitherRow_MSA(const uint8_t* src_argb, + uint8_t* dst_rgb, + const uint32_t dither4, + int width); + +void ARGBToRGB24Row_MMI(const uint8_t* src_argb, uint8_t* dst_rgb, int width); +void ARGBToRAWRow_MMI(const uint8_t* src_argb, uint8_t* dst_rgb, int width); +void ARGBToRGB565Row_MMI(const uint8_t* src_argb, uint8_t* dst_rgb, int width); +void ARGBToARGB1555Row_MMI(const uint8_t* src_argb, + uint8_t* dst_rgb, + int width); +void ARGBToARGB4444Row_MMI(const uint8_t* src_argb, + uint8_t* dst_rgb, + int width); +void ARGBToRGB565DitherRow_MMI(const uint8_t* src_argb, + uint8_t* dst_rgb, + const uint32_t dither4, + int width); + +void ARGBToRGBARow_C(const uint8_t* src_argb, uint8_t* dst_rgb, int width); +void ARGBToRGB24Row_C(const uint8_t* src_argb, uint8_t* dst_rgb, int width); +void ARGBToRAWRow_C(const uint8_t* src_argb, uint8_t* dst_rgb, int width); +void ARGBToRGB565Row_C(const uint8_t* src_argb, uint8_t* dst_rgb, int width); +void ARGBToARGB1555Row_C(const uint8_t* src_argb, uint8_t* dst_rgb, int width); +void ARGBToARGB4444Row_C(const uint8_t* src_argb, uint8_t* dst_rgb, int width); +void ABGRToAR30Row_C(const uint8_t* src_abgr, uint8_t* dst_ar30, int width); +void ARGBToAR30Row_C(const uint8_t* src_argb, uint8_t* dst_ar30, int width); + +void J400ToARGBRow_SSE2(const uint8_t* src_y, uint8_t* dst_argb, int width); +void J400ToARGBRow_AVX2(const uint8_t* src_y, uint8_t* dst_argb, int width); +void J400ToARGBRow_NEON(const uint8_t* src_y, uint8_t* dst_argb, int width); +void J400ToARGBRow_MSA(const uint8_t* src_y, uint8_t* dst_argb, int width); +void J400ToARGBRow_MMI(const uint8_t* src_y, uint8_t* dst_argb, int width); +void J400ToARGBRow_C(const uint8_t* src_y, uint8_t* dst_argb, int width); +void J400ToARGBRow_Any_SSE2(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void J400ToARGBRow_Any_AVX2(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void J400ToARGBRow_Any_NEON(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void J400ToARGBRow_Any_MSA(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void J400ToARGBRow_Any_MMI(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); + +void I444ToARGBRow_C(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* rgb_buf, + const struct YuvConstants* yuvconstants, + int width); +void I422ToARGBRow_C(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* rgb_buf, + const struct YuvConstants* yuvconstants, + int width); +void I422ToAR30Row_C(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* rgb_buf, + const struct YuvConstants* yuvconstants, + int width); +void I210ToAR30Row_C(const uint16_t* src_y, + const uint16_t* src_u, + const uint16_t* src_v, + uint8_t* rgb_buf, + const struct YuvConstants* yuvconstants, + int width); +void I210ToARGBRow_C(const uint16_t* src_y, + const uint16_t* src_u, + const uint16_t* src_v, + uint8_t* rgb_buf, + const struct YuvConstants* yuvconstants, + int width); +void I422AlphaToARGBRow_C(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + const uint8_t* src_a, + uint8_t* rgb_buf, + const struct YuvConstants* yuvconstants, + int width); +void NV12ToARGBRow_C(const uint8_t* src_y, + const uint8_t* src_uv, + uint8_t* rgb_buf, + const struct YuvConstants* yuvconstants, + int width); +void NV12ToRGB565Row_C(const uint8_t* src_y, + const uint8_t* src_uv, + uint8_t* dst_rgb565, + const struct YuvConstants* yuvconstants, + int width); +void NV21ToARGBRow_C(const uint8_t* src_y, + const uint8_t* src_vu, + uint8_t* rgb_buf, + const struct YuvConstants* yuvconstants, + int width); +void NV12ToRGB24Row_C(const uint8_t* src_y, + const uint8_t* src_uv, + uint8_t* rgb_buf, + const struct YuvConstants* yuvconstants, + int width); +void NV21ToRGB24Row_C(const uint8_t* src_y, + const uint8_t* src_vu, + uint8_t* rgb_buf, + const struct YuvConstants* yuvconstants, + int width); +void NV21ToYUV24Row_C(const uint8_t* src_y, + const uint8_t* src_vu, + uint8_t* dst_yuv24, + int width); +void YUY2ToARGBRow_C(const uint8_t* src_yuy2, + uint8_t* rgb_buf, + const struct YuvConstants* yuvconstants, + int width); +void UYVYToARGBRow_C(const uint8_t* src_uyvy, + uint8_t* rgb_buf, + const struct YuvConstants* yuvconstants, + int width); +void I422ToRGBARow_C(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* rgb_buf, + const struct YuvConstants* yuvconstants, + int width); +void I422ToRGB24Row_C(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* rgb_buf, + const struct YuvConstants* yuvconstants, + int width); +void I422ToARGB4444Row_C(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_argb4444, + const struct YuvConstants* yuvconstants, + int width); +void I422ToARGB1555Row_C(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_argb1555, + const struct YuvConstants* yuvconstants, + int width); +void I422ToRGB565Row_C(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_rgb565, + const struct YuvConstants* yuvconstants, + int width); +void I422ToARGBRow_AVX2(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); +void I422ToRGBARow_AVX2(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); +void I444ToARGBRow_SSSE3(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); +void I444ToARGBRow_AVX2(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); +void I444ToARGBRow_SSSE3(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); +void I444ToARGBRow_AVX2(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); +void I422ToARGBRow_SSSE3(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); + +void I422ToAR30Row_SSSE3(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ar30, + const struct YuvConstants* yuvconstants, + int width); +void I210ToAR30Row_SSSE3(const uint16_t* y_buf, + const uint16_t* u_buf, + const uint16_t* v_buf, + uint8_t* dst_ar30, + const struct YuvConstants* yuvconstants, + int width); +void I210ToARGBRow_SSSE3(const uint16_t* y_buf, + const uint16_t* u_buf, + const uint16_t* v_buf, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); +void I422ToAR30Row_AVX2(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ar30, + const struct YuvConstants* yuvconstants, + int width); +void I210ToARGBRow_AVX2(const uint16_t* y_buf, + const uint16_t* u_buf, + const uint16_t* v_buf, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); +void I210ToAR30Row_AVX2(const uint16_t* y_buf, + const uint16_t* u_buf, + const uint16_t* v_buf, + uint8_t* dst_ar30, + const struct YuvConstants* yuvconstants, + int width); +void I422AlphaToARGBRow_SSSE3(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + const uint8_t* a_buf, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); +void I422AlphaToARGBRow_AVX2(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + const uint8_t* a_buf, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); +void NV12ToARGBRow_SSSE3(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); +void NV12ToARGBRow_AVX2(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); +void NV12ToRGB24Row_SSSE3(const uint8_t* src_y, + const uint8_t* src_uv, + uint8_t* dst_rgb24, + const struct YuvConstants* yuvconstants, + int width); +void NV21ToRGB24Row_SSSE3(const uint8_t* src_y, + const uint8_t* src_vu, + uint8_t* dst_rgb24, + const struct YuvConstants* yuvconstants, + int width); +void NV12ToRGB565Row_SSSE3(const uint8_t* src_y, + const uint8_t* src_uv, + uint8_t* dst_rgb565, + const struct YuvConstants* yuvconstants, + int width); +void NV12ToRGB24Row_AVX2(const uint8_t* src_y, + const uint8_t* src_uv, + uint8_t* dst_rgb24, + const struct YuvConstants* yuvconstants, + int width); +void NV21ToRGB24Row_AVX2(const uint8_t* src_y, + const uint8_t* src_vu, + uint8_t* dst_rgb24, + const struct YuvConstants* yuvconstants, + int width); +void NV21ToYUV24Row_AVX2(const uint8_t* src_y, + const uint8_t* src_vu, + uint8_t* dst_yuv24, + int width); +void NV12ToRGB565Row_AVX2(const uint8_t* src_y, + const uint8_t* src_uv, + uint8_t* dst_rgb565, + const struct YuvConstants* yuvconstants, + int width); +void NV21ToARGBRow_SSSE3(const uint8_t* y_buf, + const uint8_t* vu_buf, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); +void NV21ToARGBRow_AVX2(const uint8_t* y_buf, + const uint8_t* vu_buf, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); +void YUY2ToARGBRow_SSSE3(const uint8_t* yuy2_buf, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); +void UYVYToARGBRow_SSSE3(const uint8_t* uyvy_buf, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); +void YUY2ToARGBRow_AVX2(const uint8_t* yuy2_buf, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); +void UYVYToARGBRow_AVX2(const uint8_t* uyvy_buf, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); +void I422ToRGBARow_SSSE3(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_rgba, + const struct YuvConstants* yuvconstants, + int width); +void I422ToARGB4444Row_SSSE3(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_argb4444, + const struct YuvConstants* yuvconstants, + int width); +void I422ToARGB4444Row_AVX2(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_argb4444, + const struct YuvConstants* yuvconstants, + int width); +void I422ToARGB1555Row_SSSE3(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_argb1555, + const struct YuvConstants* yuvconstants, + int width); +void I422ToARGB1555Row_AVX2(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_argb1555, + const struct YuvConstants* yuvconstants, + int width); +void I422ToRGB565Row_SSSE3(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_rgb565, + const struct YuvConstants* yuvconstants, + int width); +void I422ToRGB565Row_AVX2(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_rgb565, + const struct YuvConstants* yuvconstants, + int width); +void I422ToRGB24Row_SSSE3(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_rgb24, + const struct YuvConstants* yuvconstants, + int width); +void I422ToRGB24Row_AVX2(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_rgb24, + const struct YuvConstants* yuvconstants, + int width); +void I422ToARGBRow_Any_AVX2(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void I422ToRGBARow_Any_AVX2(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void I444ToARGBRow_Any_SSSE3(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void I444ToARGBRow_Any_AVX2(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void I422ToARGBRow_Any_SSSE3(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void I422ToAR30Row_Any_SSSE3(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void I210ToAR30Row_Any_SSSE3(const uint16_t* y_buf, + const uint16_t* u_buf, + const uint16_t* v_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void I210ToARGBRow_Any_SSSE3(const uint16_t* y_buf, + const uint16_t* u_buf, + const uint16_t* v_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void I422ToAR30Row_Any_AVX2(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void I210ToARGBRow_Any_AVX2(const uint16_t* y_buf, + const uint16_t* u_buf, + const uint16_t* v_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void I210ToAR30Row_Any_AVX2(const uint16_t* y_buf, + const uint16_t* u_buf, + const uint16_t* v_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void I422AlphaToARGBRow_Any_SSSE3(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + const uint8_t* a_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void I422AlphaToARGBRow_Any_AVX2(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + const uint8_t* a_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void NV12ToARGBRow_Any_SSSE3(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void NV12ToARGBRow_Any_AVX2(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void NV21ToARGBRow_Any_SSSE3(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void NV21ToARGBRow_Any_AVX2(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void NV12ToRGB24Row_Any_SSSE3(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void NV21ToRGB24Row_Any_SSSE3(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void NV12ToRGB24Row_Any_AVX2(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void NV21ToRGB24Row_Any_AVX2(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void NV21ToYUV24Row_Any_AVX2(const uint8_t* src_y, + const uint8_t* src_vu, + uint8_t* dst_yuv24, + int width); +void NV12ToRGB565Row_Any_SSSE3(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void NV12ToRGB565Row_Any_AVX2(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void YUY2ToARGBRow_Any_SSSE3(const uint8_t* src_ptr, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void UYVYToARGBRow_Any_SSSE3(const uint8_t* src_ptr, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void YUY2ToARGBRow_Any_AVX2(const uint8_t* src_ptr, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void UYVYToARGBRow_Any_AVX2(const uint8_t* src_ptr, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void I422ToRGBARow_Any_SSSE3(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void I422ToARGB4444Row_Any_SSSE3(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void I422ToARGB4444Row_Any_AVX2(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void I422ToARGB1555Row_Any_SSSE3(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void I422ToARGB1555Row_Any_AVX2(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void I422ToRGB565Row_Any_SSSE3(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void I422ToRGB565Row_Any_AVX2(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void I422ToRGB24Row_Any_SSSE3(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void I422ToRGB24Row_Any_AVX2(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); + +void I400ToARGBRow_C(const uint8_t* src_y, + uint8_t* rgb_buf, + const struct YuvConstants* yuvconstants, + int width); +void I400ToARGBRow_SSE2(const uint8_t* y_buf, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); +void I400ToARGBRow_AVX2(const uint8_t* y_buf, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); +void I400ToARGBRow_NEON(const uint8_t* src_y, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); +void I400ToARGBRow_MSA(const uint8_t* src_y, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); +void I400ToARGBRow_MMI(const uint8_t* src_y, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); +void I400ToARGBRow_Any_SSE2(const uint8_t* src_ptr, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void I400ToARGBRow_Any_AVX2(const uint8_t* src_ptr, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void I400ToARGBRow_Any_NEON(const uint8_t* src_ptr, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void I400ToARGBRow_Any_MSA(const uint8_t* src_ptr, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void I400ToARGBRow_Any_MMI(const uint8_t* src_ptr, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); + +// ARGB preattenuated alpha blend. +void ARGBBlendRow_SSSE3(const uint8_t* src_argb0, + const uint8_t* src_argb1, + uint8_t* dst_argb, + int width); +void ARGBBlendRow_NEON(const uint8_t* src_argb0, + const uint8_t* src_argb1, + uint8_t* dst_argb, + int width); +void ARGBBlendRow_MSA(const uint8_t* src_argb0, + const uint8_t* src_argb1, + uint8_t* dst_argb, + int width); +void ARGBBlendRow_MMI(const uint8_t* src_argb0, + const uint8_t* src_argb1, + uint8_t* dst_argb, + int width); +void ARGBBlendRow_C(const uint8_t* src_argb0, + const uint8_t* src_argb1, + uint8_t* dst_argb, + int width); + +// Unattenuated planar alpha blend. +void BlendPlaneRow_SSSE3(const uint8_t* src0, + const uint8_t* src1, + const uint8_t* alpha, + uint8_t* dst, + int width); +void BlendPlaneRow_Any_SSSE3(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + int width); +void BlendPlaneRow_AVX2(const uint8_t* src0, + const uint8_t* src1, + const uint8_t* alpha, + uint8_t* dst, + int width); +void BlendPlaneRow_Any_AVX2(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + int width); +void BlendPlaneRow_MMI(const uint8_t* src0, + const uint8_t* src1, + const uint8_t* alpha, + uint8_t* dst, + int width); +void BlendPlaneRow_Any_MMI(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + int width); +void BlendPlaneRow_C(const uint8_t* src0, + const uint8_t* src1, + const uint8_t* alpha, + uint8_t* dst, + int width); + +// ARGB multiply images. Same API as Blend, but these require +// pointer and width alignment for SSE2. +void ARGBMultiplyRow_C(const uint8_t* src_argb0, + const uint8_t* src_argb1, + uint8_t* dst_argb, + int width); +void ARGBMultiplyRow_SSE2(const uint8_t* src_argb0, + const uint8_t* src_argb1, + uint8_t* dst_argb, + int width); +void ARGBMultiplyRow_Any_SSE2(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + int width); +void ARGBMultiplyRow_AVX2(const uint8_t* src_argb0, + const uint8_t* src_argb1, + uint8_t* dst_argb, + int width); +void ARGBMultiplyRow_Any_AVX2(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + int width); +void ARGBMultiplyRow_NEON(const uint8_t* src_argb0, + const uint8_t* src_argb1, + uint8_t* dst_argb, + int width); +void ARGBMultiplyRow_Any_NEON(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + int width); +void ARGBMultiplyRow_MSA(const uint8_t* src_argb0, + const uint8_t* src_argb1, + uint8_t* dst_argb, + int width); +void ARGBMultiplyRow_Any_MSA(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + int width); +void ARGBMultiplyRow_MMI(const uint8_t* src_argb0, + const uint8_t* src_argb1, + uint8_t* dst_argb, + int width); +void ARGBMultiplyRow_Any_MMI(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + int width); + +// ARGB add images. +void ARGBAddRow_C(const uint8_t* src_argb0, + const uint8_t* src_argb1, + uint8_t* dst_argb, + int width); +void ARGBAddRow_SSE2(const uint8_t* src_argb0, + const uint8_t* src_argb1, + uint8_t* dst_argb, + int width); +void ARGBAddRow_Any_SSE2(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + int width); +void ARGBAddRow_AVX2(const uint8_t* src_argb0, + const uint8_t* src_argb1, + uint8_t* dst_argb, + int width); +void ARGBAddRow_Any_AVX2(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + int width); +void ARGBAddRow_NEON(const uint8_t* src_argb0, + const uint8_t* src_argb1, + uint8_t* dst_argb, + int width); +void ARGBAddRow_Any_NEON(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + int width); +void ARGBAddRow_MSA(const uint8_t* src_argb0, + const uint8_t* src_argb1, + uint8_t* dst_argb, + int width); +void ARGBAddRow_Any_MSA(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + int width); +void ARGBAddRow_MMI(const uint8_t* src_argb0, + const uint8_t* src_argb1, + uint8_t* dst_argb, + int width); +void ARGBAddRow_Any_MMI(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + int width); + +// ARGB subtract images. Same API as Blend, but these require +// pointer and width alignment for SSE2. +void ARGBSubtractRow_C(const uint8_t* src_argb0, + const uint8_t* src_argb1, + uint8_t* dst_argb, + int width); +void ARGBSubtractRow_SSE2(const uint8_t* src_argb0, + const uint8_t* src_argb1, + uint8_t* dst_argb, + int width); +void ARGBSubtractRow_Any_SSE2(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + int width); +void ARGBSubtractRow_AVX2(const uint8_t* src_argb0, + const uint8_t* src_argb1, + uint8_t* dst_argb, + int width); +void ARGBSubtractRow_Any_AVX2(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + int width); +void ARGBSubtractRow_NEON(const uint8_t* src_argb0, + const uint8_t* src_argb1, + uint8_t* dst_argb, + int width); +void ARGBSubtractRow_Any_NEON(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + int width); +void ARGBSubtractRow_MSA(const uint8_t* src_argb0, + const uint8_t* src_argb1, + uint8_t* dst_argb, + int width); +void ARGBSubtractRow_Any_MSA(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + int width); +void ARGBSubtractRow_MMI(const uint8_t* src_argb0, + const uint8_t* src_argb1, + uint8_t* dst_argb, + int width); +void ARGBSubtractRow_Any_MMI(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + int width); + +void ARGBToRGB24Row_Any_SSSE3(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGBToRAWRow_Any_SSSE3(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGBToRGB565Row_Any_SSE2(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGBToARGB1555Row_Any_SSE2(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGBToARGB4444Row_Any_SSE2(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ABGRToAR30Row_Any_SSSE3(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGBToAR30Row_Any_SSSE3(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGBToRAWRow_Any_AVX2(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void ARGBToRGB24Row_Any_AVX2(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGBToRGB24Row_Any_AVX512VBMI(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGBToRGB565DitherRow_Any_SSE2(const uint8_t* src_ptr, + uint8_t* dst_ptr, + const uint32_t param, + int width); +void ARGBToRGB565DitherRow_Any_AVX2(const uint8_t* src_ptr, + uint8_t* dst_ptr, + const uint32_t param, + int width); + +void ARGBToRGB565Row_Any_AVX2(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGBToARGB1555Row_Any_AVX2(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGBToARGB4444Row_Any_AVX2(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ABGRToAR30Row_Any_AVX2(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGBToAR30Row_Any_AVX2(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); + +void ARGBToRGB24Row_Any_NEON(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGBToRAWRow_Any_NEON(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void ARGBToRGB565Row_Any_NEON(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGBToARGB1555Row_Any_NEON(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGBToARGB4444Row_Any_NEON(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGBToRGB565DitherRow_Any_NEON(const uint8_t* src_ptr, + uint8_t* dst_ptr, + const uint32_t param, + int width); +void ARGBToRGB24Row_Any_MSA(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGBToRAWRow_Any_MSA(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void ARGBToRGB565Row_Any_MSA(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGBToARGB1555Row_Any_MSA(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGBToARGB4444Row_Any_MSA(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGBToRGB565DitherRow_Any_MSA(const uint8_t* src_ptr, + uint8_t* dst_ptr, + const uint32_t param, + int width); + +void ARGBToRGB24Row_Any_MMI(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGBToRAWRow_Any_MMI(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void ARGBToRGB565Row_Any_MMI(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGBToARGB1555Row_Any_MMI(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGBToARGB4444Row_Any_MMI(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGBToRGB565DitherRow_Any_MMI(const uint8_t* src_ptr, + uint8_t* dst_ptr, + const uint32_t param, + int width); + +void I444ToARGBRow_Any_NEON(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void I422ToARGBRow_Any_NEON(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void I422AlphaToARGBRow_Any_NEON(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + const uint8_t* a_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void I422ToRGBARow_Any_NEON(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void I422ToRGB24Row_Any_NEON(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void I422ToARGB4444Row_Any_NEON(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void I422ToARGB1555Row_Any_NEON(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void I422ToRGB565Row_Any_NEON(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void NV12ToARGBRow_Any_NEON(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void NV21ToARGBRow_Any_NEON(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void NV12ToRGB24Row_Any_NEON(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void NV21ToRGB24Row_Any_NEON(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void NV21ToYUV24Row_Any_NEON(const uint8_t* src_y, + const uint8_t* src_vu, + uint8_t* dst_yuv24, + int width); +void NV12ToRGB565Row_Any_NEON(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void YUY2ToARGBRow_Any_NEON(const uint8_t* src_ptr, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void UYVYToARGBRow_Any_NEON(const uint8_t* src_ptr, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void I444ToARGBRow_Any_MSA(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void I444ToARGBRow_Any_MMI(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void I422ToARGBRow_Any_MSA(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void I422ToARGBRow_Any_MMI(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void I422ToRGBARow_Any_MSA(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void I422AlphaToARGBRow_Any_MSA(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + const uint8_t* a_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void I422ToRGB24Row_Any_MSA(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void I422ToRGB565Row_Any_MSA(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void I422ToARGB4444Row_Any_MSA(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void I422ToARGB1555Row_Any_MSA(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void NV12ToARGBRow_Any_MSA(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void NV12ToRGB565Row_Any_MSA(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void NV21ToARGBRow_Any_MSA(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void YUY2ToARGBRow_Any_MSA(const uint8_t* src_ptr, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void UYVYToARGBRow_Any_MSA(const uint8_t* src_ptr, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); + +void YUY2ToYRow_AVX2(const uint8_t* src_yuy2, uint8_t* dst_y, int width); +void YUY2ToUVRow_AVX2(const uint8_t* src_yuy2, + int stride_yuy2, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void YUY2ToUV422Row_AVX2(const uint8_t* src_yuy2, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void YUY2ToYRow_SSE2(const uint8_t* src_yuy2, uint8_t* dst_y, int width); +void YUY2ToUVRow_SSE2(const uint8_t* src_yuy2, + int stride_yuy2, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void YUY2ToUV422Row_SSE2(const uint8_t* src_yuy2, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void YUY2ToYRow_NEON(const uint8_t* src_yuy2, uint8_t* dst_y, int width); +void YUY2ToUVRow_NEON(const uint8_t* src_yuy2, + int stride_yuy2, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void YUY2ToUV422Row_NEON(const uint8_t* src_yuy2, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void YUY2ToYRow_MSA(const uint8_t* src_yuy2, uint8_t* dst_y, int width); +void YUY2ToYRow_MMI(const uint8_t* src_yuy2, uint8_t* dst_y, int width); +void YUY2ToUVRow_MSA(const uint8_t* src_yuy2, + int src_stride_yuy2, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void YUY2ToUVRow_MMI(const uint8_t* src_yuy2, + int src_stride_yuy2, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void YUY2ToUV422Row_MSA(const uint8_t* src_yuy2, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void YUY2ToUV422Row_MMI(const uint8_t* src_yuy2, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void YUY2ToYRow_C(const uint8_t* src_yuy2, uint8_t* dst_y, int width); +void YUY2ToUVRow_C(const uint8_t* src_yuy2, + int src_stride_yuy2, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void YUY2ToUV422Row_C(const uint8_t* src_yuy2, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void YUY2ToYRow_Any_AVX2(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void YUY2ToUVRow_Any_AVX2(const uint8_t* src_ptr, + int src_stride_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void YUY2ToUV422Row_Any_AVX2(const uint8_t* src_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void YUY2ToYRow_Any_SSE2(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void YUY2ToUVRow_Any_SSE2(const uint8_t* src_ptr, + int src_stride_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void YUY2ToUV422Row_Any_SSE2(const uint8_t* src_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void YUY2ToYRow_Any_NEON(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void YUY2ToUVRow_Any_NEON(const uint8_t* src_ptr, + int src_stride_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void YUY2ToUV422Row_Any_NEON(const uint8_t* src_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void YUY2ToYRow_Any_MSA(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void YUY2ToYRow_Any_MMI(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void YUY2ToUVRow_Any_MSA(const uint8_t* src_ptr, + int src_stride_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void YUY2ToUVRow_Any_MMI(const uint8_t* src_ptr, + int src_stride_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void YUY2ToUV422Row_Any_MSA(const uint8_t* src_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void YUY2ToUV422Row_Any_MMI(const uint8_t* src_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void UYVYToYRow_AVX2(const uint8_t* src_uyvy, uint8_t* dst_y, int width); +void UYVYToUVRow_AVX2(const uint8_t* src_uyvy, + int stride_uyvy, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void UYVYToUV422Row_AVX2(const uint8_t* src_uyvy, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void UYVYToYRow_SSE2(const uint8_t* src_uyvy, uint8_t* dst_y, int width); +void UYVYToUVRow_SSE2(const uint8_t* src_uyvy, + int stride_uyvy, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void UYVYToUV422Row_SSE2(const uint8_t* src_uyvy, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void UYVYToYRow_AVX2(const uint8_t* src_uyvy, uint8_t* dst_y, int width); +void UYVYToUVRow_AVX2(const uint8_t* src_uyvy, + int stride_uyvy, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void UYVYToUV422Row_AVX2(const uint8_t* src_uyvy, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void UYVYToYRow_NEON(const uint8_t* src_uyvy, uint8_t* dst_y, int width); +void UYVYToUVRow_NEON(const uint8_t* src_uyvy, + int stride_uyvy, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void UYVYToUV422Row_NEON(const uint8_t* src_uyvy, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void UYVYToYRow_MSA(const uint8_t* src_uyvy, uint8_t* dst_y, int width); +void UYVYToYRow_MMI(const uint8_t* src_uyvy, uint8_t* dst_y, int width); +void UYVYToUVRow_MSA(const uint8_t* src_uyvy, + int src_stride_uyvy, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void UYVYToUVRow_MMI(const uint8_t* src_uyvy, + int src_stride_uyvy, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void UYVYToUV422Row_MSA(const uint8_t* src_uyvy, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void UYVYToUV422Row_MMI(const uint8_t* src_uyvy, + uint8_t* dst_u, + uint8_t* dst_v, + int width); + +void UYVYToYRow_C(const uint8_t* src_uyvy, uint8_t* dst_y, int width); +void UYVYToUVRow_C(const uint8_t* src_uyvy, + int src_stride_uyvy, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void UYVYToUV422Row_C(const uint8_t* src_uyvy, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void UYVYToYRow_Any_AVX2(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void UYVYToUVRow_Any_AVX2(const uint8_t* src_ptr, + int src_stride_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void UYVYToUV422Row_Any_AVX2(const uint8_t* src_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void UYVYToYRow_Any_SSE2(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void UYVYToUVRow_Any_SSE2(const uint8_t* src_ptr, + int src_stride_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void UYVYToUV422Row_Any_SSE2(const uint8_t* src_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void UYVYToYRow_Any_NEON(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void UYVYToUVRow_Any_NEON(const uint8_t* src_ptr, + int src_stride_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void UYVYToUV422Row_Any_NEON(const uint8_t* src_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void UYVYToYRow_Any_MSA(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void UYVYToYRow_Any_MMI(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void UYVYToUVRow_Any_MSA(const uint8_t* src_ptr, + int src_stride_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void UYVYToUVRow_Any_MMI(const uint8_t* src_ptr, + int src_stride_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void UYVYToUV422Row_Any_MSA(const uint8_t* src_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void UYVYToUV422Row_Any_MMI(const uint8_t* src_ptr, + uint8_t* dst_u, + uint8_t* dst_v, + int width); +void SwapUVRow_C(const uint8_t* src_uv, uint8_t* dst_vu, int width); +void SwapUVRow_NEON(const uint8_t* src_uv, uint8_t* dst_vu, int width); +void SwapUVRow_Any_NEON(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void SwapUVRow_SSSE3(const uint8_t* src_uv, uint8_t* dst_vu, int width); +void SwapUVRow_Any_SSSE3(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void SwapUVRow_AVX2(const uint8_t* src_uv, uint8_t* dst_vu, int width); +void SwapUVRow_Any_AVX2(const uint8_t* src_ptr, uint8_t* dst_ptr, int width); +void AYUVToYRow_C(const uint8_t* src_ayuv, uint8_t* dst_y, int width); +void AYUVToUVRow_C(const uint8_t* src_ayuv, + int stride_ayuv, + uint8_t* dst_uv, + int width); +void AYUVToVURow_C(const uint8_t* src_ayuv, + int stride_ayuv, + uint8_t* dst_vu, + int width); +void AYUVToYRow_NEON(const uint8_t* src_ayuv, uint8_t* dst_y, int width); +void AYUVToUVRow_NEON(const uint8_t* src_ayuv, + int stride_ayuv, + uint8_t* dst_uv, + int width); +void AYUVToVURow_NEON(const uint8_t* src_ayuv, + int stride_ayuv, + uint8_t* dst_vu, + int width); +void AYUVToYRow_Any_NEON(const uint8_t* src_ayuv, uint8_t* dst_y, int width); +void AYUVToUVRow_Any_NEON(const uint8_t* src_ayuv, + int stride_ayuv, + uint8_t* dst_uv, + int width); +void AYUVToVURow_Any_NEON(const uint8_t* src_ayuv, + int stride_ayuv, + uint8_t* dst_vu, + int width); + +void I422ToYUY2Row_C(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_frame, + int width); +void I422ToUYVYRow_C(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_frame, + int width); +void I422ToYUY2Row_SSE2(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_yuy2, + int width); +void I422ToUYVYRow_SSE2(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_uyvy, + int width); +void I422ToYUY2Row_Any_SSE2(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + int width); +void I422ToUYVYRow_Any_SSE2(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + int width); +void I422ToYUY2Row_AVX2(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_yuy2, + int width); +void I422ToUYVYRow_AVX2(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_uyvy, + int width); +void I422ToYUY2Row_Any_AVX2(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + int width); +void I422ToUYVYRow_Any_AVX2(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + int width); +void I422ToYUY2Row_NEON(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_yuy2, + int width); +void I422ToUYVYRow_NEON(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_uyvy, + int width); +void I422ToYUY2Row_Any_NEON(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + int width); +void I422ToUYVYRow_Any_NEON(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + int width); +void I422ToYUY2Row_MSA(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_yuy2, + int width); +void I422ToYUY2Row_MMI(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_yuy2, + int width); +void I422ToUYVYRow_MSA(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_uyvy, + int width); +void I422ToUYVYRow_MMI(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_uyvy, + int width); +void I422ToYUY2Row_Any_MSA(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + int width); +void I422ToYUY2Row_Any_MMI(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + int width); +void I422ToUYVYRow_Any_MSA(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + int width); +void I422ToUYVYRow_Any_MMI(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + int width); + +// Effects related row functions. +void ARGBAttenuateRow_C(const uint8_t* src_argb, uint8_t* dst_argb, int width); +void ARGBAttenuateRow_SSSE3(const uint8_t* src_argb, + uint8_t* dst_argb, + int width); +void ARGBAttenuateRow_AVX2(const uint8_t* src_argb, + uint8_t* dst_argb, + int width); +void ARGBAttenuateRow_NEON(const uint8_t* src_argb, + uint8_t* dst_argb, + int width); +void ARGBAttenuateRow_MSA(const uint8_t* src_argb, + uint8_t* dst_argb, + int width); +void ARGBAttenuateRow_MMI(const uint8_t* src_argb, + uint8_t* dst_argb, + int width); +void ARGBAttenuateRow_Any_SSSE3(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGBAttenuateRow_Any_AVX2(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGBAttenuateRow_Any_NEON(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGBAttenuateRow_Any_MSA(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGBAttenuateRow_Any_MMI(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); + +// Inverse table for unattenuate, shared by C and SSE2. +extern const uint32_t fixed_invtbl8[256]; +void ARGBUnattenuateRow_C(const uint8_t* src_argb, + uint8_t* dst_argb, + int width); +void ARGBUnattenuateRow_SSE2(const uint8_t* src_argb, + uint8_t* dst_argb, + int width); +void ARGBUnattenuateRow_AVX2(const uint8_t* src_argb, + uint8_t* dst_argb, + int width); +void ARGBUnattenuateRow_Any_SSE2(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); +void ARGBUnattenuateRow_Any_AVX2(const uint8_t* src_ptr, + uint8_t* dst_ptr, + int width); + +void ARGBGrayRow_C(const uint8_t* src_argb, uint8_t* dst_argb, int width); +void ARGBGrayRow_SSSE3(const uint8_t* src_argb, uint8_t* dst_argb, int width); +void ARGBGrayRow_NEON(const uint8_t* src_argb, uint8_t* dst_argb, int width); +void ARGBGrayRow_MSA(const uint8_t* src_argb, uint8_t* dst_argb, int width); +void ARGBGrayRow_MMI(const uint8_t* src_argb, uint8_t* dst_argb, int width); + +void ARGBSepiaRow_C(uint8_t* dst_argb, int width); +void ARGBSepiaRow_SSSE3(uint8_t* dst_argb, int width); +void ARGBSepiaRow_NEON(uint8_t* dst_argb, int width); +void ARGBSepiaRow_MSA(uint8_t* dst_argb, int width); +void ARGBSepiaRow_MMI(uint8_t* dst_argb, int width); + +void ARGBColorMatrixRow_C(const uint8_t* src_argb, + uint8_t* dst_argb, + const int8_t* matrix_argb, + int width); +void ARGBColorMatrixRow_SSSE3(const uint8_t* src_argb, + uint8_t* dst_argb, + const int8_t* matrix_argb, + int width); +void ARGBColorMatrixRow_NEON(const uint8_t* src_argb, + uint8_t* dst_argb, + const int8_t* matrix_argb, + int width); +void ARGBColorMatrixRow_MSA(const uint8_t* src_argb, + uint8_t* dst_argb, + const int8_t* matrix_argb, + int width); +void ARGBColorMatrixRow_MMI(const uint8_t* src_argb, + uint8_t* dst_argb, + const int8_t* matrix_argb, + int width); + +void ARGBColorTableRow_C(uint8_t* dst_argb, + const uint8_t* table_argb, + int width); +void ARGBColorTableRow_X86(uint8_t* dst_argb, + const uint8_t* table_argb, + int width); + +void RGBColorTableRow_C(uint8_t* dst_argb, + const uint8_t* table_argb, + int width); +void RGBColorTableRow_X86(uint8_t* dst_argb, + const uint8_t* table_argb, + int width); + +void ARGBQuantizeRow_C(uint8_t* dst_argb, + int scale, + int interval_size, + int interval_offset, + int width); +void ARGBQuantizeRow_SSE2(uint8_t* dst_argb, + int scale, + int interval_size, + int interval_offset, + int width); +void ARGBQuantizeRow_NEON(uint8_t* dst_argb, + int scale, + int interval_size, + int interval_offset, + int width); +void ARGBQuantizeRow_MSA(uint8_t* dst_argb, + int scale, + int interval_size, + int interval_offset, + int width); + +void ARGBShadeRow_C(const uint8_t* src_argb, + uint8_t* dst_argb, + int width, + uint32_t value); +void ARGBShadeRow_SSE2(const uint8_t* src_argb, + uint8_t* dst_argb, + int width, + uint32_t value); +void ARGBShadeRow_NEON(const uint8_t* src_argb, + uint8_t* dst_argb, + int width, + uint32_t value); +void ARGBShadeRow_MSA(const uint8_t* src_argb, + uint8_t* dst_argb, + int width, + uint32_t value); +void ARGBShadeRow_MMI(const uint8_t* src_argb, + uint8_t* dst_argb, + int width, + uint32_t value); + +// Used for blur. +void CumulativeSumToAverageRow_SSE2(const int32_t* topleft, + const int32_t* botleft, + int width, + int area, + uint8_t* dst, + int count); +void ComputeCumulativeSumRow_SSE2(const uint8_t* row, + int32_t* cumsum, + const int32_t* previous_cumsum, + int width); + +void ComputeCumulativeSumRow_MMI(const uint8_t* row, + int32_t* cumsum, + const int32_t* previous_cumsum, + int width); + +void CumulativeSumToAverageRow_C(const int32_t* tl, + const int32_t* bl, + int w, + int area, + uint8_t* dst, + int count); +void ComputeCumulativeSumRow_C(const uint8_t* row, + int32_t* cumsum, + const int32_t* previous_cumsum, + int width); + +LIBYUV_API +void ARGBAffineRow_C(const uint8_t* src_argb, + int src_argb_stride, + uint8_t* dst_argb, + const float* uv_dudv, + int width); +LIBYUV_API +void ARGBAffineRow_SSE2(const uint8_t* src_argb, + int src_argb_stride, + uint8_t* dst_argb, + const float* src_dudv, + int width); + +// Used for I420Scale, ARGBScale, and ARGBInterpolate. +void InterpolateRow_C(uint8_t* dst_ptr, + const uint8_t* src_ptr, + ptrdiff_t src_stride, + int width, + int source_y_fraction); +void InterpolateRow_SSSE3(uint8_t* dst_ptr, + const uint8_t* src_ptr, + ptrdiff_t src_stride, + int dst_width, + int source_y_fraction); +void InterpolateRow_AVX2(uint8_t* dst_ptr, + const uint8_t* src_ptr, + ptrdiff_t src_stride, + int dst_width, + int source_y_fraction); +void InterpolateRow_NEON(uint8_t* dst_ptr, + const uint8_t* src_ptr, + ptrdiff_t src_stride, + int dst_width, + int source_y_fraction); +void InterpolateRow_MSA(uint8_t* dst_ptr, + const uint8_t* src_ptr, + ptrdiff_t src_stride, + int width, + int source_y_fraction); +void InterpolateRow_MMI(uint8_t* dst_ptr, + const uint8_t* src_ptr, + ptrdiff_t src_stride, + int width, + int source_y_fraction); +void InterpolateRow_Any_NEON(uint8_t* dst_ptr, + const uint8_t* src_ptr, + ptrdiff_t src_stride_ptr, + int width, + int source_y_fraction); +void InterpolateRow_Any_SSSE3(uint8_t* dst_ptr, + const uint8_t* src_ptr, + ptrdiff_t src_stride_ptr, + int width, + int source_y_fraction); +void InterpolateRow_Any_AVX2(uint8_t* dst_ptr, + const uint8_t* src_ptr, + ptrdiff_t src_stride_ptr, + int width, + int source_y_fraction); +void InterpolateRow_Any_MSA(uint8_t* dst_ptr, + const uint8_t* src_ptr, + ptrdiff_t src_stride_ptr, + int width, + int source_y_fraction); +void InterpolateRow_Any_MMI(uint8_t* dst_ptr, + const uint8_t* src_ptr, + ptrdiff_t src_stride_ptr, + int width, + int source_y_fraction); + +void InterpolateRow_16_C(uint16_t* dst_ptr, + const uint16_t* src_ptr, + ptrdiff_t src_stride, + int width, + int source_y_fraction); + +// Sobel images. +void SobelXRow_C(const uint8_t* src_y0, + const uint8_t* src_y1, + const uint8_t* src_y2, + uint8_t* dst_sobelx, + int width); +void SobelXRow_SSE2(const uint8_t* src_y0, + const uint8_t* src_y1, + const uint8_t* src_y2, + uint8_t* dst_sobelx, + int width); +void SobelXRow_NEON(const uint8_t* src_y0, + const uint8_t* src_y1, + const uint8_t* src_y2, + uint8_t* dst_sobelx, + int width); +void SobelXRow_MSA(const uint8_t* src_y0, + const uint8_t* src_y1, + const uint8_t* src_y2, + uint8_t* dst_sobelx, + int width); +void SobelXRow_MMI(const uint8_t* src_y0, + const uint8_t* src_y1, + const uint8_t* src_y2, + uint8_t* dst_sobelx, + int width); +void SobelYRow_C(const uint8_t* src_y0, + const uint8_t* src_y1, + uint8_t* dst_sobely, + int width); +void SobelYRow_SSE2(const uint8_t* src_y0, + const uint8_t* src_y1, + uint8_t* dst_sobely, + int width); +void SobelYRow_NEON(const uint8_t* src_y0, + const uint8_t* src_y1, + uint8_t* dst_sobely, + int width); +void SobelYRow_MSA(const uint8_t* src_y0, + const uint8_t* src_y1, + uint8_t* dst_sobely, + int width); +void SobelYRow_MMI(const uint8_t* src_y0, + const uint8_t* src_y1, + uint8_t* dst_sobely, + int width); +void SobelRow_C(const uint8_t* src_sobelx, + const uint8_t* src_sobely, + uint8_t* dst_argb, + int width); +void SobelRow_SSE2(const uint8_t* src_sobelx, + const uint8_t* src_sobely, + uint8_t* dst_argb, + int width); +void SobelRow_NEON(const uint8_t* src_sobelx, + const uint8_t* src_sobely, + uint8_t* dst_argb, + int width); +void SobelRow_MSA(const uint8_t* src_sobelx, + const uint8_t* src_sobely, + uint8_t* dst_argb, + int width); +void SobelRow_MMI(const uint8_t* src_sobelx, + const uint8_t* src_sobely, + uint8_t* dst_argb, + int width); +void SobelToPlaneRow_C(const uint8_t* src_sobelx, + const uint8_t* src_sobely, + uint8_t* dst_y, + int width); +void SobelToPlaneRow_SSE2(const uint8_t* src_sobelx, + const uint8_t* src_sobely, + uint8_t* dst_y, + int width); +void SobelToPlaneRow_NEON(const uint8_t* src_sobelx, + const uint8_t* src_sobely, + uint8_t* dst_y, + int width); +void SobelToPlaneRow_MSA(const uint8_t* src_sobelx, + const uint8_t* src_sobely, + uint8_t* dst_y, + int width); +void SobelToPlaneRow_MMI(const uint8_t* src_sobelx, + const uint8_t* src_sobely, + uint8_t* dst_y, + int width); +void SobelXYRow_C(const uint8_t* src_sobelx, + const uint8_t* src_sobely, + uint8_t* dst_argb, + int width); +void SobelXYRow_SSE2(const uint8_t* src_sobelx, + const uint8_t* src_sobely, + uint8_t* dst_argb, + int width); +void SobelXYRow_NEON(const uint8_t* src_sobelx, + const uint8_t* src_sobely, + uint8_t* dst_argb, + int width); +void SobelXYRow_MSA(const uint8_t* src_sobelx, + const uint8_t* src_sobely, + uint8_t* dst_argb, + int width); +void SobelXYRow_MMI(const uint8_t* src_sobelx, + const uint8_t* src_sobely, + uint8_t* dst_argb, + int width); +void SobelRow_Any_SSE2(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + int width); +void SobelRow_Any_NEON(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + int width); +void SobelRow_Any_MSA(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + int width); +void SobelRow_Any_MMI(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + int width); +void SobelToPlaneRow_Any_SSE2(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + int width); +void SobelToPlaneRow_Any_NEON(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + int width); +void SobelToPlaneRow_Any_MSA(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + int width); +void SobelToPlaneRow_Any_MMI(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + int width); +void SobelXYRow_Any_SSE2(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + int width); +void SobelXYRow_Any_NEON(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + int width); +void SobelXYRow_Any_MSA(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + int width); +void SobelXYRow_Any_MMI(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + int width); + +void ARGBPolynomialRow_C(const uint8_t* src_argb, + uint8_t* dst_argb, + const float* poly, + int width); +void ARGBPolynomialRow_SSE2(const uint8_t* src_argb, + uint8_t* dst_argb, + const float* poly, + int width); +void ARGBPolynomialRow_AVX2(const uint8_t* src_argb, + uint8_t* dst_argb, + const float* poly, + int width); + +// Scale and convert to half float. +void HalfFloatRow_C(const uint16_t* src, uint16_t* dst, float scale, int width); +void HalfFloatRow_SSE2(const uint16_t* src, + uint16_t* dst, + float scale, + int width); +void HalfFloatRow_Any_SSE2(const uint16_t* src_ptr, + uint16_t* dst_ptr, + float param, + int width); +void HalfFloatRow_AVX2(const uint16_t* src, + uint16_t* dst, + float scale, + int width); +void HalfFloatRow_Any_AVX2(const uint16_t* src_ptr, + uint16_t* dst_ptr, + float param, + int width); +void HalfFloatRow_F16C(const uint16_t* src, + uint16_t* dst, + float scale, + int width); +void HalfFloatRow_Any_F16C(const uint16_t* src, + uint16_t* dst, + float scale, + int width); +void HalfFloat1Row_F16C(const uint16_t* src, + uint16_t* dst, + float scale, + int width); +void HalfFloat1Row_Any_F16C(const uint16_t* src, + uint16_t* dst, + float scale, + int width); +void HalfFloatRow_NEON(const uint16_t* src, + uint16_t* dst, + float scale, + int width); +void HalfFloatRow_Any_NEON(const uint16_t* src_ptr, + uint16_t* dst_ptr, + float param, + int width); +void HalfFloat1Row_NEON(const uint16_t* src, + uint16_t* dst, + float scale, + int width); +void HalfFloat1Row_Any_NEON(const uint16_t* src_ptr, + uint16_t* dst_ptr, + float param, + int width); +void HalfFloatRow_MSA(const uint16_t* src, + uint16_t* dst, + float scale, + int width); +void HalfFloatRow_Any_MSA(const uint16_t* src_ptr, + uint16_t* dst_ptr, + float param, + int width); +void ByteToFloatRow_C(const uint8_t* src, float* dst, float scale, int width); +void ByteToFloatRow_NEON(const uint8_t* src, + float* dst, + float scale, + int width); +void ByteToFloatRow_Any_NEON(const uint8_t* src_ptr, + float* dst_ptr, + float param, + int width); + +void ARGBLumaColorTableRow_C(const uint8_t* src_argb, + uint8_t* dst_argb, + int width, + const uint8_t* luma, + uint32_t lumacoeff); +void ARGBLumaColorTableRow_SSSE3(const uint8_t* src_argb, + uint8_t* dst_argb, + int width, + const uint8_t* luma, + uint32_t lumacoeff); + +float ScaleMaxSamples_C(const float* src, float* dst, float scale, int width); +float ScaleMaxSamples_NEON(const float* src, + float* dst, + float scale, + int width); +float ScaleSumSamples_C(const float* src, float* dst, float scale, int width); +float ScaleSumSamples_NEON(const float* src, + float* dst, + float scale, + int width); +void ScaleSamples_C(const float* src, float* dst, float scale, int width); +void ScaleSamples_NEON(const float* src, float* dst, float scale, int width); + +void I210ToARGBRow_MMI(const uint16_t* src_y, + const uint16_t* src_u, + const uint16_t* src_v, + uint8_t* rgb_buf, + const struct YuvConstants* yuvconstants, + int width); +void I422ToRGBARow_MMI(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); +void I422AlphaToARGBRow_MMI(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + const uint8_t* src_a, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); +void I422ToRGB24Row_MMI(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); +void I422ToRGB565Row_MMI(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_rgb565, + const struct YuvConstants* yuvconstants, + int width); +void I422ToARGB4444Row_MMI(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_argb4444, + const struct YuvConstants* yuvconstants, + int width); +void I422ToARGB1555Row_MMI(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + uint8_t* dst_argb1555, + const struct YuvConstants* yuvconstants, + int width); +void NV12ToARGBRow_MMI(const uint8_t* src_y, + const uint8_t* src_uv, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); +void NV12ToRGB565Row_MMI(const uint8_t* src_y, + const uint8_t* src_uv, + uint8_t* dst_rgb565, + const struct YuvConstants* yuvconstants, + int width); +void NV21ToARGBRow_MMI(const uint8_t* src_y, + const uint8_t* src_vu, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); +void NV12ToRGB24Row_MMI(const uint8_t* src_y, + const uint8_t* src_uv, + uint8_t* dst_rgb24, + const struct YuvConstants* yuvconstants, + int width); +void NV21ToRGB24Row_MMI(const uint8_t* src_y, + const uint8_t* src_vu, + uint8_t* dst_rgb24, + const struct YuvConstants* yuvconstants, + int width); +void YUY2ToARGBRow_MMI(const uint8_t* src_yuy2, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); +void UYVYToARGBRow_MMI(const uint8_t* src_uyvy, + uint8_t* dst_argb, + const struct YuvConstants* yuvconstants, + int width); +void I210ToARGBRow_Any_MMI(const uint16_t* y_buf, + const uint16_t* u_buf, + const uint16_t* v_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void I422ToRGBARow_Any_MMI(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void I422AlphaToARGBRow_Any_MMI(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + const uint8_t* a_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void I422ToRGB24Row_Any_MMI(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void I422ToRGB565Row_Any_MMI(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void I422ToARGB4444Row_Any_MMI(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void I422ToARGB1555Row_Any_MMI(const uint8_t* y_buf, + const uint8_t* u_buf, + const uint8_t* v_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void NV12ToARGBRow_Any_MMI(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void NV12ToRGB565Row_Any_MMI(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void NV21ToARGBRow_Any_MMI(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void NV12ToRGB24Row_Any_MMI(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void NV21ToRGB24Row_Any_MMI(const uint8_t* y_buf, + const uint8_t* uv_buf, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void YUY2ToARGBRow_Any_MMI(const uint8_t* src_ptr, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); +void UYVYToARGBRow_Any_MMI(const uint8_t* src_ptr, + uint8_t* dst_ptr, + const struct YuvConstants* yuvconstants, + int width); + +void GaussRow_F32_NEON(const float* src, float* dst, int width); +void GaussRow_F32_C(const float* src, float* dst, int width); + +void GaussCol_F32_NEON(const float* src0, + const float* src1, + const float* src2, + const float* src3, + const float* src4, + float* dst, + int width); + +void GaussCol_F32_C(const float* src0, + const float* src1, + const float* src2, + const float* src3, + const float* src4, + float* dst, + int width); + +#ifdef __cplusplus +} // extern "C" +} // namespace libyuv +#endif + +#endif // INCLUDE_LIBYUV_ROW_H_ diff --git a/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/scale.h b/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/scale.h new file mode 100644 index 0000000..add5a9e --- /dev/null +++ b/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/scale.h @@ -0,0 +1,204 @@ +/* + * Copyright 2011 The LibYuv Project Authors. All rights reserved. + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ + +#ifndef INCLUDE_LIBYUV_SCALE_H_ +#define INCLUDE_LIBYUV_SCALE_H_ + +#include "libyuv/basic_types.h" + +#ifdef __cplusplus +namespace libyuv { +extern "C" { +#endif + +// Supported filtering. +typedef enum FilterMode { + kFilterNone = 0, // Point sample; Fastest. + kFilterLinear = 1, // Filter horizontally only. + kFilterBilinear = 2, // Faster than box, but lower quality scaling down. + kFilterBox = 3 // Highest quality. +} FilterModeEnum; + +// Scale a YUV plane. +LIBYUV_API +void ScalePlane(const uint8_t* src, + int src_stride, + int src_width, + int src_height, + uint8_t* dst, + int dst_stride, + int dst_width, + int dst_height, + enum FilterMode filtering); + +LIBYUV_API +void ScalePlane_16(const uint16_t* src, + int src_stride, + int src_width, + int src_height, + uint16_t* dst, + int dst_stride, + int dst_width, + int dst_height, + enum FilterMode filtering); + +// Scales a YUV 4:2:0 image from the src width and height to the +// dst width and height. +// If filtering is kFilterNone, a simple nearest-neighbor algorithm is +// used. This produces basic (blocky) quality at the fastest speed. +// If filtering is kFilterBilinear, interpolation is used to produce a better +// quality image, at the expense of speed. +// If filtering is kFilterBox, averaging is used to produce ever better +// quality image, at further expense of speed. +// Returns 0 if successful. + +LIBYUV_API +int I420Scale(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + int src_width, + int src_height, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_u, + int dst_stride_u, + uint8_t* dst_v, + int dst_stride_v, + int dst_width, + int dst_height, + enum FilterMode filtering); + +LIBYUV_API +int I420Scale_16(const uint16_t* src_y, + int src_stride_y, + const uint16_t* src_u, + int src_stride_u, + const uint16_t* src_v, + int src_stride_v, + int src_width, + int src_height, + uint16_t* dst_y, + int dst_stride_y, + uint16_t* dst_u, + int dst_stride_u, + uint16_t* dst_v, + int dst_stride_v, + int dst_width, + int dst_height, + enum FilterMode filtering); + +// Scales a YUV 4:4:4 image from the src width and height to the +// dst width and height. +// If filtering is kFilterNone, a simple nearest-neighbor algorithm is +// used. This produces basic (blocky) quality at the fastest speed. +// If filtering is kFilterBilinear, interpolation is used to produce a better +// quality image, at the expense of speed. +// If filtering is kFilterBox, averaging is used to produce ever better +// quality image, at further expense of speed. +// Returns 0 if successful. + +LIBYUV_API +int I444Scale(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + int src_width, + int src_height, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_u, + int dst_stride_u, + uint8_t* dst_v, + int dst_stride_v, + int dst_width, + int dst_height, + enum FilterMode filtering); + +LIBYUV_API +int I444Scale_16(const uint16_t* src_y, + int src_stride_y, + const uint16_t* src_u, + int src_stride_u, + const uint16_t* src_v, + int src_stride_v, + int src_width, + int src_height, + uint16_t* dst_y, + int dst_stride_y, + uint16_t* dst_u, + int dst_stride_u, + uint16_t* dst_v, + int dst_stride_v, + int dst_width, + int dst_height, + enum FilterMode filtering); + +// Scales an NV12 image from the src width and height to the +// dst width and height. +// If filtering is kFilterNone, a simple nearest-neighbor algorithm is +// used. This produces basic (blocky) quality at the fastest speed. +// If filtering is kFilterBilinear, interpolation is used to produce a better +// quality image, at the expense of speed. +// kFilterBox is not supported for the UV channel and will be treated as +// bilinear. +// Returns 0 if successful. + +LIBYUV_API +int NV12Scale(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_uv, + int src_stride_uv, + int src_width, + int src_height, + uint8_t* dst_y, + int dst_stride_y, + uint8_t* dst_uv, + int dst_stride_uv, + int dst_width, + int dst_height, + enum FilterMode filtering); + +#ifdef __cplusplus +// Legacy API. Deprecated. +LIBYUV_API +int Scale(const uint8_t* src_y, + const uint8_t* src_u, + const uint8_t* src_v, + int src_stride_y, + int src_stride_u, + int src_stride_v, + int src_width, + int src_height, + uint8_t* dst_y, + uint8_t* dst_u, + uint8_t* dst_v, + int dst_stride_y, + int dst_stride_u, + int dst_stride_v, + int dst_width, + int dst_height, + LIBYUV_BOOL interpolate); + +// For testing, allow disabling of specialized scalers. +LIBYUV_API +void SetUseReferenceImpl(LIBYUV_BOOL use); +#endif // __cplusplus + +#ifdef __cplusplus +} // extern "C" +} // namespace libyuv +#endif + +#endif // INCLUDE_LIBYUV_SCALE_H_ diff --git a/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/scale_argb.h b/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/scale_argb.h new file mode 100644 index 0000000..7641f18 --- /dev/null +++ b/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/scale_argb.h @@ -0,0 +1,76 @@ +/* + * Copyright 2012 The LibYuv Project Authors. All rights reserved. + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ + +#ifndef INCLUDE_LIBYUV_SCALE_ARGB_H_ +#define INCLUDE_LIBYUV_SCALE_ARGB_H_ + +#include "libyuv/basic_types.h" +#include "libyuv/scale.h" // For FilterMode + +#ifdef __cplusplus +namespace libyuv { +extern "C" { +#endif + +LIBYUV_API +int ARGBScale(const uint8_t* src_argb, + int src_stride_argb, + int src_width, + int src_height, + uint8_t* dst_argb, + int dst_stride_argb, + int dst_width, + int dst_height, + enum FilterMode filtering); + +// Clipped scale takes destination rectangle coordinates for clip values. +LIBYUV_API +int ARGBScaleClip(const uint8_t* src_argb, + int src_stride_argb, + int src_width, + int src_height, + uint8_t* dst_argb, + int dst_stride_argb, + int dst_width, + int dst_height, + int clip_x, + int clip_y, + int clip_width, + int clip_height, + enum FilterMode filtering); + +// Scale with YUV conversion to ARGB and clipping. +LIBYUV_API +int YUVToARGBScaleClip(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint32_t src_fourcc, + int src_width, + int src_height, + uint8_t* dst_argb, + int dst_stride_argb, + uint32_t dst_fourcc, + int dst_width, + int dst_height, + int clip_x, + int clip_y, + int clip_width, + int clip_height, + enum FilterMode filtering); + +#ifdef __cplusplus +} // extern "C" +} // namespace libyuv +#endif + +#endif // INCLUDE_LIBYUV_SCALE_ARGB_H_ diff --git a/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/scale_row.h b/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/scale_row.h new file mode 100644 index 0000000..a386d49 --- /dev/null +++ b/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/scale_row.h @@ -0,0 +1,1367 @@ +/* + * Copyright 2013 The LibYuv Project Authors. All rights reserved. + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ + +#ifndef INCLUDE_LIBYUV_SCALE_ROW_H_ +#define INCLUDE_LIBYUV_SCALE_ROW_H_ + +#include "libyuv/basic_types.h" +#include "libyuv/scale.h" + +#ifdef __cplusplus +namespace libyuv { +extern "C" { +#endif + +#if defined(__pnacl__) || defined(__CLR_VER) || \ + (defined(__native_client__) && defined(__x86_64__)) || \ + (defined(__i386__) && !defined(__SSE__) && !defined(__clang__)) +#define LIBYUV_DISABLE_X86 +#endif +#if defined(__native_client__) +#define LIBYUV_DISABLE_NEON +#endif +// MemorySanitizer does not support assembly code yet. http://crbug.com/344505 +#if defined(__has_feature) +#if __has_feature(memory_sanitizer) +#define LIBYUV_DISABLE_X86 +#endif +#endif +// GCC >= 4.7.0 required for AVX2. +#if defined(__GNUC__) && (defined(__x86_64__) || defined(__i386__)) +#if (__GNUC__ > 4) || (__GNUC__ == 4 && (__GNUC_MINOR__ >= 7)) +#define GCC_HAS_AVX2 1 +#endif // GNUC >= 4.7 +#endif // __GNUC__ + +// clang >= 3.4.0 required for AVX2. +#if defined(__clang__) && (defined(__x86_64__) || defined(__i386__)) +#if (__clang_major__ > 3) || (__clang_major__ == 3 && (__clang_minor__ >= 4)) +#define CLANG_HAS_AVX2 1 +#endif // clang >= 3.4 +#endif // __clang__ + +// Visual C 2012 required for AVX2. +#if defined(_M_IX86) && !defined(__clang__) && defined(_MSC_VER) && \ + _MSC_VER >= 1700 +#define VISUALC_HAS_AVX2 1 +#endif // VisualStudio >= 2012 + +// The following are available on all x86 platforms: +#if !defined(LIBYUV_DISABLE_X86) && \ + (defined(_M_IX86) || defined(__x86_64__) || defined(__i386__)) +#define HAS_FIXEDDIV1_X86 +#define HAS_FIXEDDIV_X86 +#define HAS_SCALEADDROW_SSE2 +#define HAS_SCALEARGBCOLS_SSE2 +#define HAS_SCALEARGBCOLSUP2_SSE2 +#define HAS_SCALEARGBFILTERCOLS_SSSE3 +#define HAS_SCALEARGBROWDOWN2_SSE2 +#define HAS_SCALEARGBROWDOWNEVEN_SSE2 +#define HAS_SCALECOLSUP2_SSE2 +#define HAS_SCALEFILTERCOLS_SSSE3 +#define HAS_SCALEROWDOWN2_SSSE3 +#define HAS_SCALEROWDOWN34_SSSE3 +#define HAS_SCALEROWDOWN38_SSSE3 +#define HAS_SCALEROWDOWN4_SSSE3 +#endif + +// The following are available for gcc/clang x86 platforms: +// TODO(fbarchard): Port to Visual C +#if !defined(LIBYUV_DISABLE_X86) && \ + (defined(__x86_64__) || (defined(__i386__) && !defined(_MSC_VER))) +#define HAS_SCALEUVROWDOWN2BOX_SSSE3 +#endif + +// The following are available for gcc/clang x86 platforms, but +// require clang 3.4 or gcc 4.7. +// TODO(fbarchard): Port to Visual C +#if !defined(LIBYUV_DISABLE_X86) && \ + (defined(__x86_64__) || defined(__i386__)) && !defined(_MSC_VER) && \ + (defined(CLANG_HAS_AVX2) || defined(GCC_HAS_AVX2)) +#define HAS_SCALEUVROWDOWN2BOX_AVX2 +#endif + +// The following are available on all x86 platforms, but +// require VS2012, clang 3.4 or gcc 4.7. +// The code supports NaCL but requires a new compiler and validator. +#if !defined(LIBYUV_DISABLE_X86) && \ + (defined(VISUALC_HAS_AVX2) || defined(CLANG_HAS_AVX2) || \ + defined(GCC_HAS_AVX2)) +#define HAS_SCALEADDROW_AVX2 +#define HAS_SCALEROWDOWN2_AVX2 +#define HAS_SCALEROWDOWN4_AVX2 +#endif + +// The following are available on Neon platforms: +#if !defined(LIBYUV_DISABLE_NEON) && \ + (defined(__ARM_NEON__) || defined(LIBYUV_NEON) || defined(__aarch64__)) +#define HAS_SCALEADDROW_NEON +#define HAS_SCALEARGBCOLS_NEON +#define HAS_SCALEARGBFILTERCOLS_NEON +#define HAS_SCALEARGBROWDOWN2_NEON +#define HAS_SCALEARGBROWDOWNEVEN_NEON +#define HAS_SCALEFILTERCOLS_NEON +#define HAS_SCALEROWDOWN2_NEON +#define HAS_SCALEROWDOWN34_NEON +#define HAS_SCALEROWDOWN38_NEON +#define HAS_SCALEROWDOWN4_NEON +#define HAS_SCALEUVROWDOWN2BOX_NEON +#define HAS_SCALEUVROWDOWNEVEN_NEON +#endif + +#if !defined(LIBYUV_DISABLE_MSA) && defined(__mips_msa) +#define HAS_SCALEADDROW_MSA +#define HAS_SCALEARGBCOLS_MSA +#define HAS_SCALEARGBFILTERCOLS_MSA +#define HAS_SCALEARGBROWDOWN2_MSA +#define HAS_SCALEARGBROWDOWNEVEN_MSA +#define HAS_SCALEFILTERCOLS_MSA +#define HAS_SCALEROWDOWN2_MSA +#define HAS_SCALEROWDOWN34_MSA +#define HAS_SCALEROWDOWN38_MSA +#define HAS_SCALEROWDOWN4_MSA +#endif + +#if !defined(LIBYUV_DISABLE_MMI) && defined(_MIPS_ARCH_LOONGSON3A) +#define HAS_FIXEDDIV1_MIPS +#define HAS_FIXEDDIV_MIPS +#define HAS_SCALEADDROW_16_MMI +#define HAS_SCALEADDROW_MMI +#define HAS_SCALEARGBCOLS_MMI +#define HAS_SCALEARGBCOLSUP2_MMI +#define HAS_SCALEARGBROWDOWN2_MMI +#define HAS_SCALEARGBROWDOWNEVEN_MMI +#define HAS_SCALECOLS_16_MMI +#define HAS_SCALECOLS_MMI +#define HAS_SCALEROWDOWN2_16_MMI +#define HAS_SCALEROWDOWN2_MMI +#define HAS_SCALEROWDOWN4_16_MMI +#define HAS_SCALEROWDOWN4_MMI +#define HAS_SCALEROWDOWN34_MMI +#endif + +// Scale ARGB vertically with bilinear interpolation. +void ScalePlaneVertical(int src_height, + int dst_width, + int dst_height, + int src_stride, + int dst_stride, + const uint8_t* src_argb, + uint8_t* dst_argb, + int x, + int y, + int dy, + int bpp, + enum FilterMode filtering); + +void ScalePlaneVertical_16(int src_height, + int dst_width, + int dst_height, + int src_stride, + int dst_stride, + const uint16_t* src_argb, + uint16_t* dst_argb, + int x, + int y, + int dy, + int wpp, + enum FilterMode filtering); + +// Simplify the filtering based on scale factors. +enum FilterMode ScaleFilterReduce(int src_width, + int src_height, + int dst_width, + int dst_height, + enum FilterMode filtering); + +// Divide num by div and return as 16.16 fixed point result. +int FixedDiv_C(int num, int div); +int FixedDiv_X86(int num, int div); +int FixedDiv_MIPS(int num, int div); +// Divide num - 1 by div - 1 and return as 16.16 fixed point result. +int FixedDiv1_C(int num, int div); +int FixedDiv1_X86(int num, int div); +int FixedDiv1_MIPS(int num, int div); +#ifdef HAS_FIXEDDIV_X86 +#define FixedDiv FixedDiv_X86 +#define FixedDiv1 FixedDiv1_X86 +#elif defined HAS_FIXEDDIV_MIPS +#define FixedDiv FixedDiv_MIPS +#define FixedDiv1 FixedDiv1_MIPS +#else +#define FixedDiv FixedDiv_C +#define FixedDiv1 FixedDiv1_C +#endif + +// Compute slope values for stepping. +void ScaleSlope(int src_width, + int src_height, + int dst_width, + int dst_height, + enum FilterMode filtering, + int* x, + int* y, + int* dx, + int* dy); + +void ScaleRowDown2_C(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst, + int dst_width); +void ScaleRowDown2_16_C(const uint16_t* src_ptr, + ptrdiff_t src_stride, + uint16_t* dst, + int dst_width); +void ScaleRowDown2Linear_C(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst, + int dst_width); +void ScaleRowDown2Linear_16_C(const uint16_t* src_ptr, + ptrdiff_t src_stride, + uint16_t* dst, + int dst_width); +void ScaleRowDown2Box_C(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst, + int dst_width); +void ScaleRowDown2Box_Odd_C(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst, + int dst_width); +void ScaleRowDown2Box_16_C(const uint16_t* src_ptr, + ptrdiff_t src_stride, + uint16_t* dst, + int dst_width); +void ScaleRowDown4_C(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst, + int dst_width); +void ScaleRowDown4_16_C(const uint16_t* src_ptr, + ptrdiff_t src_stride, + uint16_t* dst, + int dst_width); +void ScaleRowDown4Box_C(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst, + int dst_width); +void ScaleRowDown4Box_16_C(const uint16_t* src_ptr, + ptrdiff_t src_stride, + uint16_t* dst, + int dst_width); +void ScaleRowDown34_C(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst, + int dst_width); +void ScaleRowDown34_16_C(const uint16_t* src_ptr, + ptrdiff_t src_stride, + uint16_t* dst, + int dst_width); +void ScaleRowDown34_0_Box_C(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* d, + int dst_width); +void ScaleRowDown34_0_Box_16_C(const uint16_t* src_ptr, + ptrdiff_t src_stride, + uint16_t* d, + int dst_width); +void ScaleRowDown34_1_Box_C(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* d, + int dst_width); +void ScaleRowDown34_1_Box_16_C(const uint16_t* src_ptr, + ptrdiff_t src_stride, + uint16_t* d, + int dst_width); +void ScaleCols_C(uint8_t* dst_ptr, + const uint8_t* src_ptr, + int dst_width, + int x, + int dx); +void ScaleCols_16_C(uint16_t* dst_ptr, + const uint16_t* src_ptr, + int dst_width, + int x, + int dx); +void ScaleColsUp2_C(uint8_t* dst_ptr, + const uint8_t* src_ptr, + int dst_width, + int, + int); +void ScaleColsUp2_16_C(uint16_t* dst_ptr, + const uint16_t* src_ptr, + int dst_width, + int, + int); +void ScaleFilterCols_C(uint8_t* dst_ptr, + const uint8_t* src_ptr, + int dst_width, + int x, + int dx); +void ScaleFilterCols_16_C(uint16_t* dst_ptr, + const uint16_t* src_ptr, + int dst_width, + int x, + int dx); +void ScaleFilterCols64_C(uint8_t* dst_ptr, + const uint8_t* src_ptr, + int dst_width, + int x32, + int dx); +void ScaleFilterCols64_16_C(uint16_t* dst_ptr, + const uint16_t* src_ptr, + int dst_width, + int x32, + int dx); +void ScaleRowDown38_C(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst, + int dst_width); +void ScaleRowDown38_16_C(const uint16_t* src_ptr, + ptrdiff_t src_stride, + uint16_t* dst, + int dst_width); +void ScaleRowDown38_3_Box_C(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown38_3_Box_16_C(const uint16_t* src_ptr, + ptrdiff_t src_stride, + uint16_t* dst_ptr, + int dst_width); +void ScaleRowDown38_2_Box_C(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown38_2_Box_16_C(const uint16_t* src_ptr, + ptrdiff_t src_stride, + uint16_t* dst_ptr, + int dst_width); +void ScaleAddRow_C(const uint8_t* src_ptr, uint16_t* dst_ptr, int src_width); +void ScaleAddRow_16_C(const uint16_t* src_ptr, + uint32_t* dst_ptr, + int src_width); +void ScaleARGBRowDown2_C(const uint8_t* src_argb, + ptrdiff_t src_stride, + uint8_t* dst_argb, + int dst_width); +void ScaleARGBRowDown2Linear_C(const uint8_t* src_argb, + ptrdiff_t src_stride, + uint8_t* dst_argb, + int dst_width); +void ScaleARGBRowDown2Box_C(const uint8_t* src_argb, + ptrdiff_t src_stride, + uint8_t* dst_argb, + int dst_width); +void ScaleARGBRowDownEven_C(const uint8_t* src_argb, + ptrdiff_t src_stride, + int src_stepx, + uint8_t* dst_argb, + int dst_width); +void ScaleARGBRowDownEvenBox_C(const uint8_t* src_argb, + ptrdiff_t src_stride, + int src_stepx, + uint8_t* dst_argb, + int dst_width); +void ScaleARGBCols_C(uint8_t* dst_argb, + const uint8_t* src_argb, + int dst_width, + int x, + int dx); +void ScaleARGBCols64_C(uint8_t* dst_argb, + const uint8_t* src_argb, + int dst_width, + int x32, + int dx); +void ScaleARGBColsUp2_C(uint8_t* dst_argb, + const uint8_t* src_argb, + int dst_width, + int, + int); +void ScaleARGBFilterCols_C(uint8_t* dst_argb, + const uint8_t* src_argb, + int dst_width, + int x, + int dx); +void ScaleARGBFilterCols64_C(uint8_t* dst_argb, + const uint8_t* src_argb, + int dst_width, + int x32, + int dx); +void ScaleUVRowDown2_C(const uint8_t* src_uv, + ptrdiff_t src_stride, + uint8_t* dst_uv, + int dst_width); +void ScaleUVRowDown2Linear_C(const uint8_t* src_uv, + ptrdiff_t src_stride, + uint8_t* dst_uv, + int dst_width); +void ScaleUVRowDown2Box_C(const uint8_t* src_uv, + ptrdiff_t src_stride, + uint8_t* dst_uv, + int dst_width); +void ScaleUVRowDownEven_C(const uint8_t* src_uv, + ptrdiff_t src_stride, + int src_stepx, + uint8_t* dst_uv, + int dst_width); +void ScaleUVRowDownEvenBox_C(const uint8_t* src_uv, + ptrdiff_t src_stride, + int src_stepx, + uint8_t* dst_uv, + int dst_width); +void ScaleUVCols_C(uint8_t* dst_uv, + const uint8_t* src_uv, + int dst_width, + int x, + int dx); +void ScaleUVCols64_C(uint8_t* dst_uv, + const uint8_t* src_uv, + int dst_width, + int x32, + int dx); +void ScaleUVColsUp2_C(uint8_t* dst_uv, + const uint8_t* src_uv, + int dst_width, + int, + int); +void ScaleUVFilterCols_C(uint8_t* dst_uv, + const uint8_t* src_uv, + int dst_width, + int x, + int dx); +void ScaleUVFilterCols64_C(uint8_t* dst_uv, + const uint8_t* src_uv, + int dst_width, + int x32, + int dx); + +// Specialized scalers for x86. +void ScaleRowDown2_SSSE3(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown2Linear_SSSE3(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown2Box_SSSE3(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown2_AVX2(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown2Linear_AVX2(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown2Box_AVX2(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown4_SSSE3(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown4Box_SSSE3(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown4_AVX2(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown4Box_AVX2(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); + +void ScaleRowDown34_SSSE3(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown34_1_Box_SSSE3(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown34_0_Box_SSSE3(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown38_SSSE3(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown38_3_Box_SSSE3(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown38_2_Box_SSSE3(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown2_Any_SSSE3(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown2Linear_Any_SSSE3(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown2Box_Any_SSSE3(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown2Box_Odd_SSSE3(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown2_Any_AVX2(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown2Linear_Any_AVX2(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown2Box_Any_AVX2(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown2Box_Odd_AVX2(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown4_Any_SSSE3(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown4Box_Any_SSSE3(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown4_Any_AVX2(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown4Box_Any_AVX2(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); + +void ScaleRowDown34_Any_SSSE3(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown34_1_Box_Any_SSSE3(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown34_0_Box_Any_SSSE3(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown38_Any_SSSE3(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown38_3_Box_Any_SSSE3(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown38_2_Box_Any_SSSE3(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); + +void ScaleAddRow_SSE2(const uint8_t* src_ptr, uint16_t* dst_ptr, int src_width); +void ScaleAddRow_AVX2(const uint8_t* src_ptr, uint16_t* dst_ptr, int src_width); +void ScaleAddRow_Any_SSE2(const uint8_t* src_ptr, + uint16_t* dst_ptr, + int src_width); +void ScaleAddRow_Any_AVX2(const uint8_t* src_ptr, + uint16_t* dst_ptr, + int src_width); + +void ScaleFilterCols_SSSE3(uint8_t* dst_ptr, + const uint8_t* src_ptr, + int dst_width, + int x, + int dx); +void ScaleColsUp2_SSE2(uint8_t* dst_ptr, + const uint8_t* src_ptr, + int dst_width, + int x, + int dx); + +// ARGB Column functions +void ScaleARGBCols_SSE2(uint8_t* dst_argb, + const uint8_t* src_argb, + int dst_width, + int x, + int dx); +void ScaleARGBFilterCols_SSSE3(uint8_t* dst_argb, + const uint8_t* src_argb, + int dst_width, + int x, + int dx); +void ScaleARGBColsUp2_SSE2(uint8_t* dst_argb, + const uint8_t* src_argb, + int dst_width, + int x, + int dx); +void ScaleARGBFilterCols_NEON(uint8_t* dst_argb, + const uint8_t* src_argb, + int dst_width, + int x, + int dx); +void ScaleARGBCols_NEON(uint8_t* dst_argb, + const uint8_t* src_argb, + int dst_width, + int x, + int dx); +void ScaleARGBFilterCols_Any_NEON(uint8_t* dst_ptr, + const uint8_t* src_ptr, + int dst_width, + int x, + int dx); +void ScaleARGBCols_Any_NEON(uint8_t* dst_ptr, + const uint8_t* src_ptr, + int dst_width, + int x, + int dx); +void ScaleARGBFilterCols_MSA(uint8_t* dst_argb, + const uint8_t* src_argb, + int dst_width, + int x, + int dx); +void ScaleARGBCols_MSA(uint8_t* dst_argb, + const uint8_t* src_argb, + int dst_width, + int x, + int dx); +void ScaleARGBFilterCols_Any_MSA(uint8_t* dst_ptr, + const uint8_t* src_ptr, + int dst_width, + int x, + int dx); +void ScaleARGBCols_Any_MSA(uint8_t* dst_ptr, + const uint8_t* src_ptr, + int dst_width, + int x, + int dx); +void ScaleARGBCols_MMI(uint8_t* dst_argb, + const uint8_t* src_argb, + int dst_width, + int x, + int dx); +void ScaleARGBCols_Any_MMI(uint8_t* dst_ptr, + const uint8_t* src_ptr, + int dst_width, + int x, + int dx); + +// ARGB Row functions +void ScaleARGBRowDown2_SSE2(const uint8_t* src_argb, + ptrdiff_t src_stride, + uint8_t* dst_argb, + int dst_width); +void ScaleARGBRowDown2Linear_SSE2(const uint8_t* src_argb, + ptrdiff_t src_stride, + uint8_t* dst_argb, + int dst_width); +void ScaleARGBRowDown2Box_SSE2(const uint8_t* src_argb, + ptrdiff_t src_stride, + uint8_t* dst_argb, + int dst_width); +void ScaleARGBRowDown2_NEON(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst, + int dst_width); +void ScaleARGBRowDown2Linear_NEON(const uint8_t* src_argb, + ptrdiff_t src_stride, + uint8_t* dst_argb, + int dst_width); +void ScaleARGBRowDown2Box_NEON(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst, + int dst_width); +void ScaleARGBRowDown2_MSA(const uint8_t* src_argb, + ptrdiff_t src_stride, + uint8_t* dst_argb, + int dst_width); +void ScaleARGBRowDown2Linear_MSA(const uint8_t* src_argb, + ptrdiff_t src_stride, + uint8_t* dst_argb, + int dst_width); +void ScaleARGBRowDown2Box_MSA(const uint8_t* src_argb, + ptrdiff_t src_stride, + uint8_t* dst_argb, + int dst_width); +void ScaleARGBRowDown2_MMI(const uint8_t* src_argb, + ptrdiff_t src_stride, + uint8_t* dst_argb, + int dst_width); +void ScaleARGBRowDown2Linear_MMI(const uint8_t* src_argb, + ptrdiff_t src_stride, + uint8_t* dst_argb, + int dst_width); +void ScaleARGBRowDown2Box_MMI(const uint8_t* src_argb, + ptrdiff_t src_stride, + uint8_t* dst_argb, + int dst_width); +void ScaleARGBRowDown2_Any_SSE2(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleARGBRowDown2Linear_Any_SSE2(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleARGBRowDown2Box_Any_SSE2(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleARGBRowDown2_Any_NEON(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleARGBRowDown2Linear_Any_NEON(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleARGBRowDown2Box_Any_NEON(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleARGBRowDown2_Any_MSA(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleARGBRowDown2Linear_Any_MSA(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleARGBRowDown2Box_Any_MSA(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleARGBRowDown2_Any_MMI(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleARGBRowDown2Linear_Any_MMI(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleARGBRowDown2Box_Any_MMI(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleARGBRowDownEven_SSE2(const uint8_t* src_argb, + ptrdiff_t src_stride, + int src_stepx, + uint8_t* dst_argb, + int dst_width); +void ScaleARGBRowDownEvenBox_SSE2(const uint8_t* src_argb, + ptrdiff_t src_stride, + int src_stepx, + uint8_t* dst_argb, + int dst_width); +void ScaleARGBRowDownEven_NEON(const uint8_t* src_argb, + ptrdiff_t src_stride, + int src_stepx, + uint8_t* dst_argb, + int dst_width); +void ScaleARGBRowDownEvenBox_NEON(const uint8_t* src_argb, + ptrdiff_t src_stride, + int src_stepx, + uint8_t* dst_argb, + int dst_width); +void ScaleARGBRowDownEven_MSA(const uint8_t* src_argb, + ptrdiff_t src_stride, + int32_t src_stepx, + uint8_t* dst_argb, + int dst_width); +void ScaleARGBRowDownEvenBox_MSA(const uint8_t* src_argb, + ptrdiff_t src_stride, + int src_stepx, + uint8_t* dst_argb, + int dst_width); +void ScaleARGBRowDownEven_MMI(const uint8_t* src_argb, + ptrdiff_t src_stride, + int32_t src_stepx, + uint8_t* dst_argb, + int dst_width); +void ScaleARGBRowDownEvenBox_MMI(const uint8_t* src_argb, + ptrdiff_t src_stride, + int src_stepx, + uint8_t* dst_argb, + int dst_width); +void ScaleARGBRowDownEven_Any_SSE2(const uint8_t* src_ptr, + ptrdiff_t src_stride, + int src_stepx, + uint8_t* dst_ptr, + int dst_width); +void ScaleARGBRowDownEvenBox_Any_SSE2(const uint8_t* src_ptr, + ptrdiff_t src_stride, + int src_stepx, + uint8_t* dst_ptr, + int dst_width); +void ScaleARGBRowDownEven_Any_NEON(const uint8_t* src_ptr, + ptrdiff_t src_stride, + int src_stepx, + uint8_t* dst_ptr, + int dst_width); +void ScaleARGBRowDownEvenBox_Any_NEON(const uint8_t* src_ptr, + ptrdiff_t src_stride, + int src_stepx, + uint8_t* dst_ptr, + int dst_width); +void ScaleARGBRowDownEven_Any_MSA(const uint8_t* src_ptr, + ptrdiff_t src_stride, + int32_t src_stepx, + uint8_t* dst_ptr, + int dst_width); +void ScaleARGBRowDownEvenBox_Any_MSA(const uint8_t* src_ptr, + ptrdiff_t src_stride, + int src_stepx, + uint8_t* dst_ptr, + int dst_width); +void ScaleARGBRowDownEven_Any_MMI(const uint8_t* src_ptr, + ptrdiff_t src_stride, + int32_t src_stepx, + uint8_t* dst_ptr, + int dst_width); +void ScaleARGBRowDownEvenBox_Any_MMI(const uint8_t* src_ptr, + ptrdiff_t src_stride, + int src_stepx, + uint8_t* dst_ptr, + int dst_width); + +// UV Row functions +void ScaleUVRowDown2_SSSE3(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_uv, + int dst_width); +void ScaleUVRowDown2Linear_SSSE3(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_uv, + int dst_width); +void ScaleUVRowDown2Box_SSSE3(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_uv, + int dst_width); +void ScaleUVRowDown2Box_AVX2(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_uv, + int dst_width); +void ScaleUVRowDown2_NEON(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst, + int dst_width); +void ScaleUVRowDown2Linear_NEON(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_uv, + int dst_width); +void ScaleUVRowDown2Box_NEON(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst, + int dst_width); +void ScaleUVRowDown2_MSA(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_uv, + int dst_width); +void ScaleUVRowDown2Linear_MSA(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_uv, + int dst_width); +void ScaleUVRowDown2Box_MSA(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_uv, + int dst_width); +void ScaleUVRowDown2_MMI(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_uv, + int dst_width); +void ScaleUVRowDown2Linear_MMI(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_uv, + int dst_width); +void ScaleUVRowDown2Box_MMI(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_uv, + int dst_width); +void ScaleUVRowDown2_Any_SSSE3(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleUVRowDown2Linear_Any_SSSE3(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleUVRowDown2Box_Any_SSSE3(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleUVRowDown2Box_Any_AVX2(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleUVRowDown2_Any_NEON(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleUVRowDown2Linear_Any_NEON(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleUVRowDown2Box_Any_NEON(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleUVRowDown2_Any_MSA(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleUVRowDown2Linear_Any_MSA(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleUVRowDown2Box_Any_MSA(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleUVRowDown2_Any_MMI(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleUVRowDown2Linear_Any_MMI(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleUVRowDown2Box_Any_MMI(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleUVRowDownEven_SSSE3(const uint8_t* src_ptr, + ptrdiff_t src_stride, + int src_stepx, + uint8_t* dst_uv, + int dst_width); +void ScaleUVRowDownEvenBox_SSSE3(const uint8_t* src_ptr, + ptrdiff_t src_stride, + int src_stepx, + uint8_t* dst_uv, + int dst_width); +void ScaleUVRowDownEven_NEON(const uint8_t* src_ptr, + ptrdiff_t src_stride, + int src_stepx, + uint8_t* dst_uv, + int dst_width); +void ScaleUVRowDownEvenBox_NEON(const uint8_t* src_ptr, + ptrdiff_t src_stride, + int src_stepx, + uint8_t* dst_uv, + int dst_width); +void ScaleUVRowDownEven_MSA(const uint8_t* src_ptr, + ptrdiff_t src_stride, + int32_t src_stepx, + uint8_t* dst_uv, + int dst_width); +void ScaleUVRowDownEvenBox_MSA(const uint8_t* src_ptr, + ptrdiff_t src_stride, + int src_stepx, + uint8_t* dst_uv, + int dst_width); +void ScaleUVRowDownEven_MMI(const uint8_t* src_ptr, + ptrdiff_t src_stride, + int32_t src_stepx, + uint8_t* dst_uv, + int dst_width); +void ScaleUVRowDownEvenBox_MMI(const uint8_t* src_ptr, + ptrdiff_t src_stride, + int src_stepx, + uint8_t* dst_uv, + int dst_width); +void ScaleUVRowDownEven_Any_SSSE3(const uint8_t* src_ptr, + ptrdiff_t src_stride, + int src_stepx, + uint8_t* dst_ptr, + int dst_width); +void ScaleUVRowDownEvenBox_Any_SSSE3(const uint8_t* src_ptr, + ptrdiff_t src_stride, + int src_stepx, + uint8_t* dst_ptr, + int dst_width); +void ScaleUVRowDownEven_Any_NEON(const uint8_t* src_ptr, + ptrdiff_t src_stride, + int src_stepx, + uint8_t* dst_ptr, + int dst_width); +void ScaleUVRowDownEvenBox_Any_NEON(const uint8_t* src_ptr, + ptrdiff_t src_stride, + int src_stepx, + uint8_t* dst_ptr, + int dst_width); +void ScaleUVRowDownEven_Any_MSA(const uint8_t* src_ptr, + ptrdiff_t src_stride, + int32_t src_stepx, + uint8_t* dst_ptr, + int dst_width); +void ScaleUVRowDownEvenBox_Any_MSA(const uint8_t* src_ptr, + ptrdiff_t src_stride, + int src_stepx, + uint8_t* dst_ptr, + int dst_width); +void ScaleUVRowDownEven_Any_MMI(const uint8_t* src_ptr, + ptrdiff_t src_stride, + int32_t src_stepx, + uint8_t* dst_ptr, + int dst_width); +void ScaleUVRowDownEvenBox_Any_MMI(const uint8_t* src_ptr, + ptrdiff_t src_stride, + int src_stepx, + uint8_t* dst_ptr, + int dst_width); + +// ScaleRowDown2Box also used by planar functions +// NEON downscalers with interpolation. + +// Note - not static due to reuse in convert for 444 to 420. +void ScaleRowDown2_NEON(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst, + int dst_width); +void ScaleRowDown2Linear_NEON(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst, + int dst_width); +void ScaleRowDown2Box_NEON(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst, + int dst_width); + +void ScaleRowDown4_NEON(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown4Box_NEON(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); + +// Down scale from 4 to 3 pixels. Use the neon multilane read/write +// to load up the every 4th pixel into a 4 different registers. +// Point samples 32 pixels to 24 pixels. +void ScaleRowDown34_NEON(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown34_0_Box_NEON(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown34_1_Box_NEON(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); + +// 32 -> 12 +void ScaleRowDown38_NEON(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +// 32x3 -> 12x1 +void ScaleRowDown38_3_Box_NEON(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +// 32x2 -> 12x1 +void ScaleRowDown38_2_Box_NEON(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); + +void ScaleRowDown2_Any_NEON(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown2Linear_Any_NEON(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown2Box_Any_NEON(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown2Box_Odd_NEON(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown4_Any_NEON(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown4Box_Any_NEON(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown34_Any_NEON(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown34_0_Box_Any_NEON(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown34_1_Box_Any_NEON(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +// 32 -> 12 +void ScaleRowDown38_Any_NEON(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +// 32x3 -> 12x1 +void ScaleRowDown38_3_Box_Any_NEON(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +// 32x2 -> 12x1 +void ScaleRowDown38_2_Box_Any_NEON(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); + +void ScaleAddRow_NEON(const uint8_t* src_ptr, uint16_t* dst_ptr, int src_width); +void ScaleAddRow_Any_NEON(const uint8_t* src_ptr, + uint16_t* dst_ptr, + int src_width); + +void ScaleFilterCols_NEON(uint8_t* dst_ptr, + const uint8_t* src_ptr, + int dst_width, + int x, + int dx); + +void ScaleFilterCols_Any_NEON(uint8_t* dst_ptr, + const uint8_t* src_ptr, + int dst_width, + int x, + int dx); + +void ScaleRowDown2_MSA(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst, + int dst_width); +void ScaleRowDown2Linear_MSA(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst, + int dst_width); +void ScaleRowDown2Box_MSA(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst, + int dst_width); +void ScaleRowDown4_MSA(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst, + int dst_width); +void ScaleRowDown4Box_MSA(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst, + int dst_width); +void ScaleRowDown38_MSA(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst, + int dst_width); +void ScaleRowDown38_2_Box_MSA(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown38_3_Box_MSA(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleAddRow_MSA(const uint8_t* src_ptr, uint16_t* dst_ptr, int src_width); +void ScaleFilterCols_MSA(uint8_t* dst_ptr, + const uint8_t* src_ptr, + int dst_width, + int x, + int dx); +void ScaleRowDown34_MSA(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst, + int dst_width); +void ScaleRowDown34_MMI(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst, + int dst_width); +void ScaleRowDown34_0_Box_MSA(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* d, + int dst_width); +void ScaleRowDown34_1_Box_MSA(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* d, + int dst_width); + +void ScaleRowDown2_Any_MSA(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown2Linear_Any_MSA(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown2Box_Any_MSA(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown4_Any_MSA(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown4Box_Any_MSA(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown38_Any_MSA(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown38_2_Box_Any_MSA(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown38_3_Box_Any_MSA(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleAddRow_Any_MSA(const uint8_t* src_ptr, + uint16_t* dst_ptr, + int src_width); +void ScaleFilterCols_Any_MSA(uint8_t* dst_ptr, + const uint8_t* src_ptr, + int dst_width, + int x, + int dx); +void ScaleRowDown34_Any_MSA(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown34_Any_MMI(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown34_0_Box_Any_MSA(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown34_1_Box_Any_MSA(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); + +void ScaleRowDown2_MMI(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst, + int dst_width); +void ScaleRowDown2_16_MMI(const uint16_t* src_ptr, + ptrdiff_t src_stride, + uint16_t* dst, + int dst_width); +void ScaleRowDown2Linear_MMI(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst, + int dst_width); +void ScaleRowDown2Linear_16_MMI(const uint16_t* src_ptr, + ptrdiff_t src_stride, + uint16_t* dst, + int dst_width); +void ScaleRowDown2Box_MMI(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst, + int dst_width); +void ScaleRowDown2Box_16_MMI(const uint16_t* src_ptr, + ptrdiff_t src_stride, + uint16_t* dst, + int dst_width); +void ScaleRowDown2Box_Odd_MMI(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst, + int dst_width); +void ScaleRowDown4_MMI(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst, + int dst_width); +void ScaleRowDown4_16_MMI(const uint16_t* src_ptr, + ptrdiff_t src_stride, + uint16_t* dst, + int dst_width); +void ScaleRowDown4Box_MMI(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst, + int dst_width); +void ScaleRowDown4Box_16_MMI(const uint16_t* src_ptr, + ptrdiff_t src_stride, + uint16_t* dst, + int dst_width); +void ScaleAddRow_MMI(const uint8_t* src_ptr, uint16_t* dst_ptr, int src_width); +void ScaleAddRow_16_MMI(const uint16_t* src_ptr, + uint32_t* dst_ptr, + int src_width); +void ScaleColsUp2_MMI(uint8_t* dst_ptr, + const uint8_t* src_ptr, + int dst_width, + int x, + int dx); +void ScaleColsUp2_16_MMI(uint16_t* dst_ptr, + const uint16_t* src_ptr, + int dst_width, + int x, + int dx); +void ScaleARGBColsUp2_MMI(uint8_t* dst_argb, + const uint8_t* src_argb, + int dst_width, + int x, + int dx); + +void ScaleRowDown2_Any_MMI(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown2Linear_Any_MMI(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown2Box_Any_MMI(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown4_Any_MMI(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown4Box_Any_MMI(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleAddRow_Any_MMI(const uint8_t* src_ptr, + uint16_t* dst_ptr, + int src_width); +#ifdef __cplusplus +} // extern "C" +} // namespace libyuv +#endif + +#endif // INCLUDE_LIBYUV_SCALE_ROW_H_ diff --git a/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/scale_uv.h b/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/scale_uv.h new file mode 100644 index 0000000..1b6327a --- /dev/null +++ b/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/scale_uv.h @@ -0,0 +1,38 @@ +/* + * Copyright 2020 The LibYuv Project Authors. All rights reserved. + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ + +#ifndef INCLUDE_LIBYUV_SCALE_UV_H_ +#define INCLUDE_LIBYUV_SCALE_UV_H_ + +#include "libyuv/basic_types.h" +#include "libyuv/scale.h" // For FilterMode + +#ifdef __cplusplus +namespace libyuv { +extern "C" { +#endif + +LIBYUV_API +int UVScale(const uint8_t* src_uv, + int src_stride_uv, + int src_width, + int src_height, + uint8_t* dst_uv, + int dst_stride_uv, + int dst_width, + int dst_height, + enum FilterMode filtering); + +#ifdef __cplusplus +} // extern "C" +} // namespace libyuv +#endif + +#endif // INCLUDE_LIBYUV_SCALE_UV_H_ diff --git a/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/version.h b/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/version.h new file mode 100644 index 0000000..efaac73 --- /dev/null +++ b/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/version.h @@ -0,0 +1,16 @@ +/* + * Copyright 2012 The LibYuv Project Authors. All rights reserved. + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ + +#ifndef INCLUDE_LIBYUV_VERSION_H_ +#define INCLUDE_LIBYUV_VERSION_H_ + +#define LIBYUV_VERSION 1768 + +#endif // INCLUDE_LIBYUV_VERSION_H_ diff --git a/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/video_common.h b/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/video_common.h new file mode 100644 index 0000000..b9823d7 --- /dev/null +++ b/yuv_convert/src/main/cpp/yuv_convert/include/libyuv/video_common.h @@ -0,0 +1,206 @@ +/* + * Copyright 2011 The LibYuv Project Authors. All rights reserved. + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ + +// Common definitions for video, including fourcc and VideoFormat. + +#ifndef INCLUDE_LIBYUV_VIDEO_COMMON_H_ +#define INCLUDE_LIBYUV_VIDEO_COMMON_H_ + +#include "libyuv/basic_types.h" + +#ifdef __cplusplus +namespace libyuv { +extern "C" { +#endif + +////////////////////////////////////////////////////////////////////////////// +// Definition of FourCC codes +////////////////////////////////////////////////////////////////////////////// + +// Convert four characters to a FourCC code. +// Needs to be a macro otherwise the OS X compiler complains when the kFormat* +// constants are used in a switch. +#ifdef __cplusplus +#define FOURCC(a, b, c, d) \ + ((static_cast(a)) | (static_cast(b) << 8) | \ + (static_cast(c) << 16) | /* NOLINT */ \ + (static_cast(d) << 24)) /* NOLINT */ +#else +#define FOURCC(a, b, c, d) \ + (((uint32_t)(a)) | ((uint32_t)(b) << 8) | /* NOLINT */ \ + ((uint32_t)(c) << 16) | ((uint32_t)(d) << 24)) /* NOLINT */ +#endif + +// Some pages discussing FourCC codes: +// http://www.fourcc.org/yuv.php +// http://v4l2spec.bytesex.org/spec/book1.htm +// http://developer.apple.com/quicktime/icefloe/dispatch020.html +// http://msdn.microsoft.com/library/windows/desktop/dd206750.aspx#nv12 +// http://people.xiph.org/~xiphmont/containers/nut/nut4cc.txt + +// FourCC codes grouped according to implementation efficiency. +// Primary formats should convert in 1 efficient step. +// Secondary formats are converted in 2 steps. +// Auxilliary formats call primary converters. +enum FourCC { + // 10 Primary YUV formats: 5 planar, 2 biplanar, 2 packed. + FOURCC_I420 = FOURCC('I', '4', '2', '0'), + FOURCC_I422 = FOURCC('I', '4', '2', '2'), + FOURCC_I444 = FOURCC('I', '4', '4', '4'), + FOURCC_I400 = FOURCC('I', '4', '0', '0'), + FOURCC_NV21 = FOURCC('N', 'V', '2', '1'), + FOURCC_NV12 = FOURCC('N', 'V', '1', '2'), + FOURCC_YUY2 = FOURCC('Y', 'U', 'Y', '2'), + FOURCC_UYVY = FOURCC('U', 'Y', 'V', 'Y'), + FOURCC_I010 = FOURCC('I', '0', '1', '0'), // bt.601 10 bit 420 + FOURCC_I210 = FOURCC('I', '0', '1', '0'), // bt.601 10 bit 422 + + // 1 Secondary YUV format: row biplanar. deprecated. + FOURCC_M420 = FOURCC('M', '4', '2', '0'), + + // 11 Primary RGB formats: 4 32 bpp, 2 24 bpp, 3 16 bpp, 1 10 bpc + FOURCC_ARGB = FOURCC('A', 'R', 'G', 'B'), + FOURCC_BGRA = FOURCC('B', 'G', 'R', 'A'), + FOURCC_ABGR = FOURCC('A', 'B', 'G', 'R'), + FOURCC_AR30 = FOURCC('A', 'R', '3', '0'), // 10 bit per channel. 2101010. + FOURCC_AB30 = FOURCC('A', 'B', '3', '0'), // ABGR version of 10 bit + FOURCC_24BG = FOURCC('2', '4', 'B', 'G'), + FOURCC_RAW = FOURCC('r', 'a', 'w', ' '), + FOURCC_RGBA = FOURCC('R', 'G', 'B', 'A'), + FOURCC_RGBP = FOURCC('R', 'G', 'B', 'P'), // rgb565 LE. + FOURCC_RGBO = FOURCC('R', 'G', 'B', 'O'), // argb1555 LE. + FOURCC_R444 = FOURCC('R', '4', '4', '4'), // argb4444 LE. + + // 1 Primary Compressed YUV format. + FOURCC_MJPG = FOURCC('M', 'J', 'P', 'G'), + + // 14 Auxiliary YUV variations: 3 with U and V planes are swapped, 1 Alias. + FOURCC_YV12 = FOURCC('Y', 'V', '1', '2'), + FOURCC_YV16 = FOURCC('Y', 'V', '1', '6'), + FOURCC_YV24 = FOURCC('Y', 'V', '2', '4'), + FOURCC_YU12 = FOURCC('Y', 'U', '1', '2'), // Linux version of I420. + FOURCC_J420 = + FOURCC('J', '4', '2', '0'), // jpeg (bt.601 full), unofficial fourcc + FOURCC_J422 = + FOURCC('J', '4', '2', '2'), // jpeg (bt.601 full), unofficial fourcc + FOURCC_J444 = + FOURCC('J', '4', '4', '4'), // jpeg (bt.601 full), unofficial fourcc + FOURCC_J400 = + FOURCC('J', '4', '0', '0'), // jpeg (bt.601 full), unofficial fourcc + FOURCC_H420 = FOURCC('H', '4', '2', '0'), // bt.709, unofficial fourcc + FOURCC_H422 = FOURCC('H', '4', '2', '2'), // bt.709, unofficial fourcc + FOURCC_H444 = FOURCC('H', '4', '4', '4'), // bt.709, unofficial fourcc + FOURCC_U420 = FOURCC('U', '4', '2', '0'), // bt.2020, unofficial fourcc + FOURCC_U422 = FOURCC('U', '4', '2', '2'), // bt.2020, unofficial fourcc + FOURCC_U444 = FOURCC('U', '4', '4', '4'), // bt.2020, unofficial fourcc + FOURCC_H010 = FOURCC('H', '0', '1', '0'), // bt.709 10 bit 420 + FOURCC_U010 = FOURCC('U', '0', '1', '0'), // bt.2020 10 bit 420 + FOURCC_H210 = FOURCC('H', '0', '1', '0'), // bt.709 10 bit 422 + FOURCC_U210 = FOURCC('U', '0', '1', '0'), // bt.2020 10 bit 422 + + // 14 Auxiliary aliases. CanonicalFourCC() maps these to canonical fourcc. + FOURCC_IYUV = FOURCC('I', 'Y', 'U', 'V'), // Alias for I420. + FOURCC_YU16 = FOURCC('Y', 'U', '1', '6'), // Alias for I422. + FOURCC_YU24 = FOURCC('Y', 'U', '2', '4'), // Alias for I444. + FOURCC_YUYV = FOURCC('Y', 'U', 'Y', 'V'), // Alias for YUY2. + FOURCC_YUVS = FOURCC('y', 'u', 'v', 's'), // Alias for YUY2 on Mac. + FOURCC_HDYC = FOURCC('H', 'D', 'Y', 'C'), // Alias for UYVY. + FOURCC_2VUY = FOURCC('2', 'v', 'u', 'y'), // Alias for UYVY on Mac. + FOURCC_JPEG = FOURCC('J', 'P', 'E', 'G'), // Alias for MJPG. + FOURCC_DMB1 = FOURCC('d', 'm', 'b', '1'), // Alias for MJPG on Mac. + FOURCC_BA81 = FOURCC('B', 'A', '8', '1'), // Alias for BGGR. + FOURCC_RGB3 = FOURCC('R', 'G', 'B', '3'), // Alias for RAW. + FOURCC_BGR3 = FOURCC('B', 'G', 'R', '3'), // Alias for 24BG. + FOURCC_CM32 = FOURCC(0, 0, 0, 32), // Alias for BGRA kCMPixelFormat_32ARGB + FOURCC_CM24 = FOURCC(0, 0, 0, 24), // Alias for RAW kCMPixelFormat_24RGB + FOURCC_L555 = FOURCC('L', '5', '5', '5'), // Alias for RGBO. + FOURCC_L565 = FOURCC('L', '5', '6', '5'), // Alias for RGBP. + FOURCC_5551 = FOURCC('5', '5', '5', '1'), // Alias for RGBO. + + // deprecated formats. Not supported, but defined for backward compatibility. + FOURCC_I411 = FOURCC('I', '4', '1', '1'), + FOURCC_Q420 = FOURCC('Q', '4', '2', '0'), + FOURCC_RGGB = FOURCC('R', 'G', 'G', 'B'), + FOURCC_BGGR = FOURCC('B', 'G', 'G', 'R'), + FOURCC_GRBG = FOURCC('G', 'R', 'B', 'G'), + FOURCC_GBRG = FOURCC('G', 'B', 'R', 'G'), + FOURCC_H264 = FOURCC('H', '2', '6', '4'), + + // Match any fourcc. + FOURCC_ANY = -1, +}; + +enum FourCCBpp { + // Canonical fourcc codes used in our code. + FOURCC_BPP_I420 = 12, + FOURCC_BPP_I422 = 16, + FOURCC_BPP_I444 = 24, + FOURCC_BPP_I411 = 12, + FOURCC_BPP_I400 = 8, + FOURCC_BPP_NV21 = 12, + FOURCC_BPP_NV12 = 12, + FOURCC_BPP_YUY2 = 16, + FOURCC_BPP_UYVY = 16, + FOURCC_BPP_M420 = 12, // deprecated + FOURCC_BPP_Q420 = 12, + FOURCC_BPP_ARGB = 32, + FOURCC_BPP_BGRA = 32, + FOURCC_BPP_ABGR = 32, + FOURCC_BPP_RGBA = 32, + FOURCC_BPP_AR30 = 32, + FOURCC_BPP_AB30 = 32, + FOURCC_BPP_24BG = 24, + FOURCC_BPP_RAW = 24, + FOURCC_BPP_RGBP = 16, + FOURCC_BPP_RGBO = 16, + FOURCC_BPP_R444 = 16, + FOURCC_BPP_RGGB = 8, + FOURCC_BPP_BGGR = 8, + FOURCC_BPP_GRBG = 8, + FOURCC_BPP_GBRG = 8, + FOURCC_BPP_YV12 = 12, + FOURCC_BPP_YV16 = 16, + FOURCC_BPP_YV24 = 24, + FOURCC_BPP_YU12 = 12, + FOURCC_BPP_J420 = 12, + FOURCC_BPP_J400 = 8, + FOURCC_BPP_H420 = 12, + FOURCC_BPP_H422 = 16, + FOURCC_BPP_H010 = 24, + FOURCC_BPP_MJPG = 0, // 0 means unknown. + FOURCC_BPP_H264 = 0, + FOURCC_BPP_IYUV = 12, + FOURCC_BPP_YU16 = 16, + FOURCC_BPP_YU24 = 24, + FOURCC_BPP_YUYV = 16, + FOURCC_BPP_YUVS = 16, + FOURCC_BPP_HDYC = 16, + FOURCC_BPP_2VUY = 16, + FOURCC_BPP_JPEG = 1, + FOURCC_BPP_DMB1 = 1, + FOURCC_BPP_BA81 = 8, + FOURCC_BPP_RGB3 = 24, + FOURCC_BPP_BGR3 = 24, + FOURCC_BPP_CM32 = 32, + FOURCC_BPP_CM24 = 24, + + // Match any fourcc. + FOURCC_BPP_ANY = 0, // 0 means unknown. +}; + +// Converts fourcc aliases into canonical ones. +LIBYUV_API uint32_t CanonicalFourCC(uint32_t fourcc); + +#ifdef __cplusplus +} // extern "C" +} // namespace libyuv +#endif + +#endif // INCLUDE_LIBYUV_VIDEO_COMMON_H_ diff --git a/yuv_convert/src/main/cpp/yuv_convert/jni_yuv_convert.cpp b/yuv_convert/src/main/cpp/yuv_convert/jni_yuv_convert.cpp new file mode 100644 index 0000000..fff15d8 --- /dev/null +++ b/yuv_convert/src/main/cpp/yuv_convert/jni_yuv_convert.cpp @@ -0,0 +1,200 @@ +// +// Created by zmy on 21-1-11. +// + +#include "jni.h" +#include "android/log.h" +#include "libyuv.h" + +extern "C" +JNIEXPORT jint JNICALL +Java_com_zmy_yuv_1convert_YUVConvert_I420Format(JNIEnv *env, jclass clazz, jint width, jint height, + jobject yuv, jint stride_y, jint stride_u, + jint stride_v, jobject out) { + auto src_y = (uint8_t *) env->GetDirectBufferAddress(yuv); + auto src_u = src_y + height * stride_y; + auto src_v = src_u + height / 2 * stride_u; + + auto dst_y = (uint8_t *) env->GetDirectBufferAddress(out); + auto dst_u = dst_y + height * width; + auto dst_v = dst_u + height / 2 * width / 2; + return libyuv::I420Copy(src_y, stride_y, src_u, stride_u, src_v, stride_v, dst_y, width, dst_u, + width / 2, dst_v, width / 2, width, height); +} + +extern "C" +JNIEXPORT jint JNICALL +Java_com_zmy_yuv_1convert_YUVConvert_I420ToNV21(JNIEnv *env, jclass clazz, jint width, jint height, + jobject yuv, jint stride_y, jint stride_u, + jint stride_v, jobject out) { + auto src_y = (uint8_t *) env->GetDirectBufferAddress(yuv); + auto src_u = src_y + height * stride_y; + auto src_v = src_u + height / 2 * stride_u; + + auto dst_y = (uint8_t *) env->GetDirectBufferAddress(out); + auto dst_uv = dst_y + height * width; + return libyuv::I420ToNV21(src_y, stride_y, src_u, stride_u, src_v, stride_v, dst_y, width, + dst_uv, width, width, height); +} + +extern "C" +JNIEXPORT jint JNICALL +Java_com_zmy_yuv_1convert_YUVConvert_I420ToNV12(JNIEnv *env, jclass clazz, jint width, jint height, + jobject yuv, jint stride_y, jint stride_u, + jint stride_v, jobject out) { + auto src_y = (uint8_t *) env->GetDirectBufferAddress(yuv); + auto src_u = src_y + height * stride_y; + auto src_v = src_u + height / 2 * stride_u; + + auto dst_y = (uint8_t *) env->GetDirectBufferAddress(out); + auto dst_uv = dst_y + height * width; + return libyuv::I420ToNV12(src_y, stride_y, src_u, stride_u, src_v, stride_v, dst_y, width, + dst_uv, width, width, height); +} + +extern "C" +JNIEXPORT jint JNICALL +Java_com_zmy_yuv_1convert_YUVConvert_I420ToRGBA(JNIEnv *env, jclass clazz, jint width, jint height, + jobject yuv, jint stride_y, jint stride_u, + jint stride_v, jobject out) { + auto src_y = (uint8_t *) env->GetDirectBufferAddress(yuv); + auto src_u = src_y + height * stride_y; + auto src_v = src_u + height / 2 * stride_u; + + auto dst_rgba = (uint8_t *) env->GetDirectBufferAddress(out); + return libyuv::I420ToABGR(src_y, stride_y, src_u, stride_u, src_v, stride_v, dst_rgba, + width * 4, width, height); +} + + +extern "C" +JNIEXPORT jint JNICALL +Java_com_zmy_yuv_1convert_YUVConvert_NV12Format(JNIEnv *env, jclass clazz, jint width, jint height, + jobject yuv, jint stride_y, jint stride_uv, + jobject out) { + auto src_y = (uint8_t *) env->GetDirectBufferAddress(yuv); + auto src_uv = src_y + height * stride_y; + + auto dst_y = (uint8_t *) env->GetDirectBufferAddress(out); + auto dst_uv = dst_y + height * width; + return libyuv::NV12Copy(src_y, stride_y, src_uv, stride_uv, dst_y, width, dst_uv, width, width, + height); +} +extern "C" +JNIEXPORT jint JNICALL +Java_com_zmy_yuv_1convert_YUVConvert_NV12ToI420(JNIEnv *env, jclass clazz, jint width, jint height, + jobject yuv, jint stride_y, jint stride_uv, + jobject out) { + auto src_y = (uint8_t *) env->GetDirectBufferAddress(yuv); + auto src_uv = src_y + height * stride_y; + + + auto dst_y = (uint8_t *) env->GetDirectBufferAddress(out); + auto dst_u = dst_y + height * width; + auto dst_v = dst_u + height * width / 4; + + return libyuv::NV12ToI420(src_y, stride_y, src_uv, stride_uv, dst_y, width, dst_u, width / 2, + dst_v, width / 2, width, height); +} + + +extern "C" +JNIEXPORT jint JNICALL +Java_com_zmy_yuv_1convert_YUVConvert_NV12ToRGBA(JNIEnv *env, jclass clazz, jint width, jint height, + jobject yuv, jint stride_y, jint stride_uv, + jobject out) { + auto src_y = (uint8_t *) env->GetDirectBufferAddress(yuv); + auto src_uv = src_y + height * stride_y; + + auto dst_rgba = (uint8_t *) env->GetDirectBufferAddress(out); + + return libyuv::NV12ToABGR(src_y, stride_y, src_uv, stride_uv, dst_rgba, width * 4, width, + height); +} + +extern "C" +JNIEXPORT jint JNICALL +Java_com_zmy_yuv_1convert_YUVConvert_NV21Format(JNIEnv *env, jclass clazz, jint width, jint height, + jobject yuv, jint stride_y, jint stride_uv, + jobject out) { + auto src_y = (uint8_t *) env->GetDirectBufferAddress(yuv); + auto src_uv = src_y + height * stride_y; + + auto dst_y = (uint8_t *) env->GetDirectBufferAddress(out); + auto dst_uv = dst_y + height * width; + return libyuv::NV21Copy(src_y, stride_y, src_uv, stride_uv, dst_y, width, dst_uv, width, width, + height); +} + +extern "C" +JNIEXPORT jint JNICALL +Java_com_zmy_yuv_1convert_YUVConvert_NV21ToI420(JNIEnv *env, jclass clazz, jint width, jint height, + jobject yuv, jint stride_y, jint stride_uv, + jobject out) { + auto src_y = (uint8_t *) env->GetDirectBufferAddress(yuv); + auto src_uv = src_y + height * stride_y; + + + auto dst_y = (uint8_t *) env->GetDirectBufferAddress(out); + auto dst_u = dst_y + height * width; + auto dst_v = dst_u + height / 2 * width / 2; + + return libyuv::NV21ToI420(src_y, stride_y, src_uv, stride_uv, dst_y, width, dst_u, width / 2, + dst_v, width / 2, width, height); + +} + +extern "C" +JNIEXPORT jint JNICALL +Java_com_zmy_yuv_1convert_YUVConvert_NV21ToRGBA(JNIEnv *env, jclass clazz, jint width, jint height, + jobject yuv, jint stride_y, jint stride_uv, + jobject out) { + auto src_y = (uint8_t *) env->GetDirectBufferAddress(yuv); + auto src_uv = src_y + height * stride_y; + + auto dst_rgba = (uint8_t *) env->GetDirectBufferAddress(out); + return libyuv::NV21ToABGR(src_y, stride_y, src_uv, stride_uv, dst_rgba, width * 4, width, + height); +} + + +extern "C" +JNIEXPORT jint JNICALL +Java_com_zmy_yuv_1convert_YUVConvert_RGBAFormat(JNIEnv *env, jclass clazz, jint width, jint height, + jobject rgba, jint stride, jobject out) { + auto src_rgba = (uint8_t *) env->GetDirectBufferAddress(rgba); + auto dst_rgba = (uint8_t *) env->GetDirectBufferAddress(out); + return libyuv::ARGBCopy(src_rgba, stride, dst_rgba, width * 4, width, height); +} +extern "C" +JNIEXPORT jint JNICALL +Java_com_zmy_yuv_1convert_YUVConvert_RGBAToI420(JNIEnv *env, jclass clazz, jint width, jint height, + jobject rgba, jint stride, jobject out) { + auto src_rgba = (uint8_t *) env->GetDirectBufferAddress(rgba); + + auto dst_y = (uint8_t *) env->GetDirectBufferAddress(out); + auto dst_u = dst_y + height * width; + auto dst_v = dst_u + height / 2 * width / 2; + return libyuv::ABGRToI420(src_rgba, stride, dst_y, width, dst_u, width / 2, dst_v, width / 2, + width, height); +} +extern "C" +JNIEXPORT jint JNICALL +Java_com_zmy_yuv_1convert_YUVConvert_RGBAToNV12(JNIEnv *env, jclass clazz, jint width, jint height, + jobject rgba, jint stride, jobject out) { + auto src_rgba = (uint8_t *) env->GetDirectBufferAddress(rgba); + + auto dst_y = (uint8_t *) env->GetDirectBufferAddress(out); + auto dst_uv = dst_y + height * width; + return libyuv::ABGRToNV12(src_rgba, stride, dst_y, width, dst_uv, width, width, height); +} +extern "C" +JNIEXPORT jint JNICALL +Java_com_zmy_yuv_1convert_YUVConvert_RGBAToNV21(JNIEnv *env, jclass clazz, jint width, jint height, + jobject rgba, jint stride, jobject out) { + auto src_rgba = (uint8_t *) env->GetDirectBufferAddress(rgba); + + auto dst_y = (uint8_t *) env->GetDirectBufferAddress(out); + auto dst_uv = dst_y + height * width; + return libyuv::ABGRToNV21(src_rgba, stride, dst_y, width, dst_uv, width, width, height); +} \ No newline at end of file diff --git a/yuv_convert/src/main/java/com/zmy/yuv_convert/Converter.kt b/yuv_convert/src/main/java/com/zmy/yuv_convert/Converter.kt new file mode 100644 index 0000000..fa57b23 --- /dev/null +++ b/yuv_convert/src/main/java/com/zmy/yuv_convert/Converter.kt @@ -0,0 +1,58 @@ +package com.zmy.yuv_convert + +import com.zmy.yuv_convert.Format.* +import com.zmy.yuv_convert.input.Input +import com.zmy.yuv_convert.output.Output +import com.zmy.yuv_convert.output.PackedByteBufferOutput + +class Converter(private val input: Input) { + private val tempOutput by lazy { PackedByteBufferOutput(Format.YUV420) } + fun convert(output: Output) { + input.getInputData()?.let { inputData -> + output.update(inputData.width, inputData.height) + val container = output.getDataContainer() + when (inputData.format) { + YUV420 -> { + when (output.format) { + YUV420 -> YUVConvert.I420Format(inputData.width, inputData.height, inputData.data, inputData.strides[0], inputData.strides[1], inputData.strides[2], container) + RGBA -> YUVConvert.I420ToRGBA(inputData.width, inputData.height, inputData.data, inputData.strides[0], inputData.strides[1], inputData.strides[2], container) + NV12 -> YUVConvert.I420ToNV12(inputData.width, inputData.height, inputData.data, inputData.strides[0], inputData.strides[1], inputData.strides[2], container) + NV21 -> YUVConvert.I420ToNV21(inputData.width, inputData.height, inputData.data, inputData.strides[0], inputData.strides[1], inputData.strides[2], container) + } + } + NV12 -> { + when (output.format) { + NV12 -> YUVConvert.NV12Format(inputData.width, inputData.height, inputData.data, inputData.strides[0], inputData.strides[1], container) + YUV420 -> YUVConvert.NV12ToI420(inputData.width, inputData.height, inputData.data, inputData.strides[0], inputData.strides[1], container) + RGBA -> YUVConvert.NV12ToRGBA(inputData.width, inputData.height, input.getInputData()!!.data, inputData.strides[0], inputData.strides[1], container) + NV21 -> { + tempOutput.update(inputData.width, inputData.height) + YUVConvert.NV12ToI420(inputData.width, inputData.height, inputData.data, inputData.strides[0], inputData.strides[1], tempOutput.getDataContainer()) + YUVConvert.I420ToNV21(inputData.width, inputData.height, tempOutput.getOutput(), inputData.width, inputData.width / 2, inputData.width / 2, container) + } + } + } + NV21 -> { + when (output.format) { + NV21 -> YUVConvert.NV21Format(inputData.width, inputData.height, input.getInputData()!!.data, inputData.strides[0], inputData.strides[1], container) + YUV420 -> YUVConvert.NV21ToI420(inputData.width, inputData.height, inputData.data, inputData.strides[0], inputData.strides[1], container) + RGBA -> YUVConvert.NV21ToRGBA(inputData.width, inputData.height, input.getInputData()!!.data, inputData.strides[0], inputData.strides[1], container) + NV12 -> { + tempOutput.update(inputData.width, inputData.height) + YUVConvert.NV21ToI420(inputData.width, inputData.height, inputData.data, inputData.strides[0], inputData.strides[1], tempOutput.getDataContainer()) + YUVConvert.I420ToNV12(inputData.width, inputData.height, tempOutput.getOutput(), inputData.width, inputData.width / 2, inputData.width / 2, container) + } + } + } + RGBA -> { + when (output.format) { + RGBA -> YUVConvert.RGBAFormat(inputData.width, inputData.height, inputData.data, inputData.strides[0], container) + NV21 -> YUVConvert.RGBAToNV21(inputData.width, inputData.height, inputData.data, inputData.strides[0], container) + NV12 -> YUVConvert.RGBAToNV12(inputData.width, inputData.height, inputData.data, inputData.strides[0], container) + YUV420 -> YUVConvert.RGBAToI420(inputData.width, inputData.height, inputData.data, inputData.strides[0], container) + } + } + } + } + } +} \ No newline at end of file diff --git a/yuv_convert/src/main/java/com/zmy/yuv_convert/Format.kt b/yuv_convert/src/main/java/com/zmy/yuv_convert/Format.kt new file mode 100644 index 0000000..d798221 --- /dev/null +++ b/yuv_convert/src/main/java/com/zmy/yuv_convert/Format.kt @@ -0,0 +1,55 @@ +package com.zmy.yuv_convert + +enum class Format { + RGBA { + override fun getComponentCapacity(component: Int, width: Int, height: Int): Int { + return width * height * 4 + } + override fun getComponentCount() = 1 + override fun getStandardStride(width: Int, height: Int) = intArrayOf(width * 4) + }, + YUV420 { + override fun getComponentCapacity(component: Int, width: Int, height: Int): Int { + return if (component == 0) { + width * height + } else { + width * height / 4 + } + } + override fun getComponentCount() = 3 + override fun getStandardStride(width: Int, height: Int) = intArrayOf(width, width / 2, width / 2) + }, + NV12 { + override fun getComponentCapacity(component: Int, width: Int, height: Int): Int { + return if (component == 0) { + width * height + } else { + width * height / 2 + } + } + override fun getComponentCount() = 2 + override fun getStandardStride(width: Int, height: Int) = intArrayOf(width, width) + }, + NV21 { + override fun getComponentCapacity(component: Int, width: Int, height: Int): Int { + return if (component == 0) { + width * height + } else { + width * height / 2 + } + } + override fun getComponentCount() = 2 + override fun getStandardStride(width: Int, height: Int) = intArrayOf(width, width) + }; + + abstract fun getComponentCapacity(component: Int, width: Int, height: Int): Int + abstract fun getComponentCount(): Int + abstract fun getStandardStride(width: Int, height: Int): IntArray + fun getMinFrameSize(width: Int, height: Int): Int { + var size = 0 + for (i in 0 until this.getComponentCount()) { + size += getComponentCapacity(i, width, height) + } + return size + } +} \ No newline at end of file diff --git a/yuv_convert/src/main/java/com/zmy/yuv_convert/YUVConvert.java b/yuv_convert/src/main/java/com/zmy/yuv_convert/YUVConvert.java new file mode 100644 index 0000000..1fa6a22 --- /dev/null +++ b/yuv_convert/src/main/java/com/zmy/yuv_convert/YUVConvert.java @@ -0,0 +1,45 @@ +package com.zmy.yuv_convert; + +import java.nio.ByteBuffer; + +public class YUVConvert { + static { + System.loadLibrary("yuv_converter"); + } + + //yuv420 to other format + static native int I420Format(int width, int height, ByteBuffer yuv, int strideY, int strideU, int strideV, ByteBuffer out); + + static native int I420ToNV21(int width, int height, ByteBuffer yuv, int strideY, int strideU, int strideV, ByteBuffer out); + + static native int I420ToNV12(int width, int height, ByteBuffer yuv, int strideY, int strideU, int strideV, ByteBuffer out); + + static native int I420ToRGBA(int width, int height, ByteBuffer yuv, int strideY, int strideU, int strideV, ByteBuffer out); + + //nv12 to other format + static native int NV12Format(int width, int height, ByteBuffer yuv, int strideY, int strideUV, ByteBuffer out); + + static native int NV12ToI420(int width, int height, ByteBuffer yuv, int strideY, int strideUV, ByteBuffer out); + + static native int NV12ToRGBA(int width, int height, ByteBuffer yuv, int strideY, int strideUV, ByteBuffer out); + + //nv21 to other format + static native int NV21Format(int width, int height, ByteBuffer yuv, int strideY, int strideUV, ByteBuffer out); + + static native int NV21ToI420(int width, int height, ByteBuffer yuv, int strideY, int strideUV, ByteBuffer out); + + + static native int NV21ToRGBA(int width, int height, ByteBuffer yuv, int strideY, int strideUV, ByteBuffer out); + + + //rgba to other format + static native int RGBAFormat(int width, int height, ByteBuffer rgba, int stride, ByteBuffer out); + + static native int RGBAToI420(int width, int height, ByteBuffer rgba, int stride, ByteBuffer out); + + static native int RGBAToNV12(int width, int height, ByteBuffer rgba, int stride, ByteBuffer out); + + static native int RGBAToNV21(int width, int height, ByteBuffer rgba, int stride, ByteBuffer out); + + +} diff --git a/yuv_convert/src/main/java/com/zmy/yuv_convert/input/ByteArrayInput.kt b/yuv_convert/src/main/java/com/zmy/yuv_convert/input/ByteArrayInput.kt new file mode 100644 index 0000000..7c330b5 --- /dev/null +++ b/yuv_convert/src/main/java/com/zmy/yuv_convert/input/ByteArrayInput.kt @@ -0,0 +1,26 @@ +package com.zmy.yuv_convert.input + +import com.zmy.yuv_convert.Format +import java.nio.ByteBuffer +import kotlin.math.max + +class ByteArrayInput : Input>() { + + private var buffer: ByteBuffer? = null + + override fun provide(data: Array, format: Format, width: Int, height: Int, stride: IntArray) { + val totalCapacity = max(data.map { it.size }.reduce { s, t -> s + t }, format.getMinFrameSize(width, height)) + if (buffer?.capacity() ?: -1 < totalCapacity) { + buffer = ByteBuffer.allocateDirect(totalCapacity) + } + var start = 0 + data.forEachIndexed { component, inputData -> + buffer?.position(start) + buffer?.limit(start + inputData.size) + buffer?.put(inputData) + buffer?.position(0) + start += max(inputData.size, format.getComponentCapacity(component, width, height)) + } + inputData = InputData(buffer!!, format, width, height, stride) + } +} \ No newline at end of file diff --git a/yuv_convert/src/main/java/com/zmy/yuv_convert/input/ByteBufferInput.kt b/yuv_convert/src/main/java/com/zmy/yuv_convert/input/ByteBufferInput.kt new file mode 100644 index 0000000..6aac082 --- /dev/null +++ b/yuv_convert/src/main/java/com/zmy/yuv_convert/input/ByteBufferInput.kt @@ -0,0 +1,26 @@ +package com.zmy.yuv_convert.input + +import com.zmy.yuv_convert.Format +import java.nio.ByteBuffer +import kotlin.math.max + +class ByteBufferInput : Input>() { + private var buffer: ByteBuffer? = null + override fun provide(data: Array, format: Format, width: Int, height: Int, stride: IntArray) { + val totalCapacity = max(data.map { it.capacity() }.reduce { s, t -> s + t }, format.getMinFrameSize(width, height)) + if ((buffer?.capacity() ?: -1) < totalCapacity) { + buffer = ByteBuffer.allocateDirect(totalCapacity) + } + var start = 0 + data.forEachIndexed { component, it -> + it.position(0) + it.limit(it.capacity()) + buffer?.position(start) + buffer?.limit(start + it.capacity()) + buffer?.put(it) + buffer?.position(0) + start += max(it.capacity(), format.getComponentCapacity(component, width, height)) + } + inputData = InputData(buffer!!, format, width, height, stride) + } +} \ No newline at end of file diff --git a/yuv_convert/src/main/java/com/zmy/yuv_convert/input/Input.kt b/yuv_convert/src/main/java/com/zmy/yuv_convert/input/Input.kt new file mode 100644 index 0000000..880d346 --- /dev/null +++ b/yuv_convert/src/main/java/com/zmy/yuv_convert/input/Input.kt @@ -0,0 +1,12 @@ +package com.zmy.yuv_convert.input + +import com.zmy.yuv_convert.Format + +abstract class Input { + protected var inputData: InputData? = null + @Synchronized set + @Synchronized get + + abstract fun provide(data: T, format: Format, width: Int, height: Int, stride: IntArray) + internal fun getInputData() = inputData +} \ No newline at end of file diff --git a/yuv_convert/src/main/java/com/zmy/yuv_convert/input/InputData.kt b/yuv_convert/src/main/java/com/zmy/yuv_convert/input/InputData.kt new file mode 100644 index 0000000..819cb17 --- /dev/null +++ b/yuv_convert/src/main/java/com/zmy/yuv_convert/input/InputData.kt @@ -0,0 +1,10 @@ +package com.zmy.yuv_convert.input + +import com.zmy.yuv_convert.Format +import java.nio.ByteBuffer + +data class InputData(val data: ByteBuffer, val format: Format, val width: Int, val height: Int, val strides: IntArray) { + init { + data.position(0) + } +} \ No newline at end of file diff --git a/yuv_convert/src/main/java/com/zmy/yuv_convert/input/PackedByteArrayInput.kt b/yuv_convert/src/main/java/com/zmy/yuv_convert/input/PackedByteArrayInput.kt new file mode 100644 index 0000000..ac97ef7 --- /dev/null +++ b/yuv_convert/src/main/java/com/zmy/yuv_convert/input/PackedByteArrayInput.kt @@ -0,0 +1,19 @@ +package com.zmy.yuv_convert.input + +import com.zmy.yuv_convert.Format +import java.nio.ByteBuffer +import kotlin.math.max + +class PackedByteArrayInput : Input() { + private var buffer: ByteBuffer? = null + override fun provide(data: ByteArray, format: Format, width: Int, height: Int, stride: IntArray) { + val targetCapacity = max(format.getMinFrameSize(width, height), data.size) + if ((buffer?.capacity() ?: -1) < targetCapacity) { + buffer = ByteBuffer.allocateDirect(targetCapacity) + } + buffer?.position(0) + buffer?.put(data, 0, data.size) + buffer?.position(0) + inputData = InputData(buffer!!, format, width, height, stride) + } +} \ No newline at end of file diff --git a/yuv_convert/src/main/java/com/zmy/yuv_convert/input/PackedByteBufferInput.kt b/yuv_convert/src/main/java/com/zmy/yuv_convert/input/PackedByteBufferInput.kt new file mode 100644 index 0000000..c6efc2b --- /dev/null +++ b/yuv_convert/src/main/java/com/zmy/yuv_convert/input/PackedByteBufferInput.kt @@ -0,0 +1,20 @@ +package com.zmy.yuv_convert.input + +import com.zmy.yuv_convert.Format +import java.nio.ByteBuffer +import kotlin.math.max + +class PackedByteBufferInput : Input() { + private var buffer: ByteBuffer? = null + override fun provide(data: ByteBuffer, format: Format, width: Int, height: Int, stride: IntArray) { + val targetCapacity = max(format.getMinFrameSize(width, height), data.capacity()) + if ((buffer?.capacity() ?: -1) < targetCapacity) { + buffer = ByteBuffer.allocateDirect(max(format.getMinFrameSize(width, height), data.capacity())) + } + buffer?.position(0) + data.position(0) + buffer?.put(data) + buffer?.position(0) + inputData = InputData(buffer!!, format, width, height, stride) + } +} \ No newline at end of file diff --git a/yuv_convert/src/main/java/com/zmy/yuv_convert/output/ByteArrayOutput.kt b/yuv_convert/src/main/java/com/zmy/yuv_convert/output/ByteArrayOutput.kt new file mode 100644 index 0000000..122ac81 --- /dev/null +++ b/yuv_convert/src/main/java/com/zmy/yuv_convert/output/ByteArrayOutput.kt @@ -0,0 +1,27 @@ +package com.zmy.yuv_convert.output + +import com.zmy.yuv_convert.Format + +class ByteArrayOutput(format: Format) : Output>(format) { + private var ret = mutableListOf() + override fun getOutput(): Array { + for (i in 0 until format.getComponentCount()) { + if (i >= ret.size) { + ret.add(ByteArray(format.getComponentCapacity(i, width, height))) + } else { + if (ret[i].size < format.getComponentCapacity(i, width, height)) { + ret[i] = ByteArray(format.getComponentCapacity(i, width, height)) + } + } + } + var start = 0 + ret.forEachIndexed { component, buffer -> + container?.position(start) + val size = format.getComponentCapacity(component, width, height) + container?.limit(start + size) + start += format.getComponentCapacity(component, width, height) + container?.get(buffer) + } + return ret.toTypedArray() + } +} \ No newline at end of file diff --git a/yuv_convert/src/main/java/com/zmy/yuv_convert/output/ByteBufferOutput.kt b/yuv_convert/src/main/java/com/zmy/yuv_convert/output/ByteBufferOutput.kt new file mode 100644 index 0000000..b2f31df --- /dev/null +++ b/yuv_convert/src/main/java/com/zmy/yuv_convert/output/ByteBufferOutput.kt @@ -0,0 +1,18 @@ +package com.zmy.yuv_convert.output + +import com.zmy.yuv_convert.Format +import java.nio.ByteBuffer + +class ByteBufferOutput(format: Format) : Output>(format) { + private var ret: Array? = null + override fun getOutput(): Array { + var start = 0 + ret = Array(format.getComponentCount()) { + container?.position(start) + container?.limit(start + format.getComponentCapacity(it, width, height)) + start += format.getComponentCapacity(it, width, height) + container!!.slice() + } + return ret!! + } +} \ No newline at end of file diff --git a/yuv_convert/src/main/java/com/zmy/yuv_convert/output/Output.kt b/yuv_convert/src/main/java/com/zmy/yuv_convert/output/Output.kt new file mode 100644 index 0000000..1df7c90 --- /dev/null +++ b/yuv_convert/src/main/java/com/zmy/yuv_convert/output/Output.kt @@ -0,0 +1,23 @@ +package com.zmy.yuv_convert.output + +import com.zmy.yuv_convert.Format +import java.nio.ByteBuffer + +abstract class Output(val format: Format) { + protected var container: ByteBuffer? = null + protected var width = 0 + protected var height = 0 + internal fun getDataContainer(): ByteBuffer { + val size = format.getMinFrameSize(width,height) + if ((container?.capacity() ?: -1) < size) { + container = ByteBuffer.allocateDirect(size) + } + return container!! + } + + abstract fun getOutput(): T + fun update(width: Int, height: Int) { + this.width = width + this.height = height + } +} \ No newline at end of file diff --git a/yuv_convert/src/main/java/com/zmy/yuv_convert/output/PackedByteArrayOutput.kt b/yuv_convert/src/main/java/com/zmy/yuv_convert/output/PackedByteArrayOutput.kt new file mode 100644 index 0000000..7eb1248 --- /dev/null +++ b/yuv_convert/src/main/java/com/zmy/yuv_convert/output/PackedByteArrayOutput.kt @@ -0,0 +1,16 @@ +package com.zmy.yuv_convert.output + +import com.zmy.yuv_convert.Format + +class PackedByteArrayOutput(format: Format) : Output(format) { + var array: ByteArray? = null + override fun getOutput(): ByteArray { + if ((array?.size ?: -1) < format.getMinFrameSize(width, height)) { + array = ByteArray(format.getMinFrameSize(width, height)) + } + container?.position(0) + container?.let { it.limit(it.capacity()) } + container?.get(array!!) + return array!! + } +} \ No newline at end of file diff --git a/yuv_convert/src/main/java/com/zmy/yuv_convert/output/PackedByteBufferOutput.kt b/yuv_convert/src/main/java/com/zmy/yuv_convert/output/PackedByteBufferOutput.kt new file mode 100644 index 0000000..383764b --- /dev/null +++ b/yuv_convert/src/main/java/com/zmy/yuv_convert/output/PackedByteBufferOutput.kt @@ -0,0 +1,11 @@ +package com.zmy.yuv_convert.output + +import com.zmy.yuv_convert.Format +import java.nio.ByteBuffer + +class PackedByteBufferOutput(format: Format) : Output(format) { + override fun getOutput(): ByteBuffer { + container!!.position(0) + return container!! + } +} \ No newline at end of file diff --git a/yuv_convert/src/main/jniLibs/arm64-v8a/libyuv.so b/yuv_convert/src/main/jniLibs/arm64-v8a/libyuv.so new file mode 100644 index 0000000000000000000000000000000000000000..e69f69c29d3b145eafe9c764d94d69b385f79ff9 GIT binary patch literal 964448 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

~%Qh_TGq-13y!4x0~7PaOw{QuKA_deIlbn_!5h) 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

_wS5+X)DuaV1~-74Hi;f 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

{HBj^ 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

H?fnx`0GmBteYSDZ;~30))LjmMlcp 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�GOC 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 I0{wdb7t|~&jsO4v literal 0 HcmV?d00001 diff --git a/yuv_convert/src/test/java/com/zmy/yuv_convert/ExampleUnitTest.kt b/yuv_convert/src/test/java/com/zmy/yuv_convert/ExampleUnitTest.kt new file mode 100644 index 0000000..9a8a2b6 --- /dev/null +++ b/yuv_convert/src/test/java/com/zmy/yuv_convert/ExampleUnitTest.kt @@ -0,0 +1,17 @@ +package com.zmy.yuv_convert + +import org.junit.Test + +import org.junit.Assert.* + +/** + * Example local unit test, which will execute on the development machine (host). + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +class ExampleUnitTest { + @Test + fun addition_isCorrect() { + assertEquals(4, 2 + 2) + } +} \ No newline at end of file