Native audio example

Change-Id: Ia48597d3e94d178ec95a396c545e4a95de7c88f8
diff --git a/ndk/platforms/android-9/samples/native-audio/AndroidManifest.xml b/ndk/platforms/android-9/samples/native-audio/AndroidManifest.xml
new file mode 100644
index 0000000..5eebb52
--- /dev/null
+++ b/ndk/platforms/android-9/samples/native-audio/AndroidManifest.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+      package="com.example.nativeaudio"
+      android:versionCode="1"
+      android:versionName="1.0">
+
+    <application android:icon="@drawable/icon" android:label="@string/app_name">
+        <activity android:name=".NativeAudio"
+                  android:label="@string/app_name">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="android.intent.category.LAUNCHER" />
+            </intent-filter>
+        </activity>
+    </application>
+
+    <uses-sdk android:minSdkVersion="9" />
+
+    <!-- RECORD_AUDIO is needed to create an audio recorder -->
+    <uses-permission android:name="android.permission.RECORD_AUDIO"></uses-permission>
+
+    <!-- MODIFY_AUDIO_SETTINGS is needed to use audio effects such as environmental reverb -->
+    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"></uses-permission>
+
+    <!-- INTERNET is needed to use a URI-based audio player, depending on the URI -->
+    <uses-permission android:name="android.permission.INTERNET"></uses-permission>
+
+</manifest>
diff --git a/ndk/platforms/android-9/samples/native-audio/assets/README.txt b/ndk/platforms/android-9/samples/native-audio/assets/README.txt
new file mode 100644
index 0000000..3ce4076
--- /dev/null
+++ b/ndk/platforms/android-9/samples/native-audio/assets/README.txt
@@ -0,0 +1,4 @@
+File background.mp3 ("Background for talking but don't") is
+copyright 2008 by Glenn Kasten and is licensed under a
+Creative Commons Attribution 3.0 Unported License:
+  http://creativecommons.org/licenses/by/3.0/
diff --git a/ndk/platforms/android-9/samples/native-audio/assets/background.mp3 b/ndk/platforms/android-9/samples/native-audio/assets/background.mp3
new file mode 100644
index 0000000..88e447d
--- /dev/null
+++ b/ndk/platforms/android-9/samples/native-audio/assets/background.mp3
Binary files differ
diff --git a/ndk/platforms/android-9/samples/native-audio/default.properties b/ndk/platforms/android-9/samples/native-audio/default.properties
new file mode 100644
index 0000000..eada70a
--- /dev/null
+++ b/ndk/platforms/android-9/samples/native-audio/default.properties
@@ -0,0 +1,13 @@
+# This file is automatically generated by Android Tools.
+# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
+# 
+# This file must be checked in Version Control Systems.
+# 
+# To customize properties used by the Ant build system use,
+# "build.properties", and override values to adapt the script to your
+# project structure.
+
+# Project target.
+target=android-9
+# Indicates whether an apk should be generated for each density.
+split.density=false
diff --git a/ndk/platforms/android-9/samples/native-audio/jni/Android.mk b/ndk/platforms/android-9/samples/native-audio/jni/Android.mk
new file mode 100644
index 0000000..63c8210
--- /dev/null
+++ b/ndk/platforms/android-9/samples/native-audio/jni/Android.mk
@@ -0,0 +1,28 @@
+# Copyright (C) 2010 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+LOCAL_PATH := $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE    := native-audio-jni
+LOCAL_SRC_FILES := native-audio-jni.c
+# for native audio
+LOCAL_LDLIBS    += -lOpenSLES
+# for logging
+LOCAL_LDLIBS    += -llog
+# for native asset manager
+LOCAL_LDLIBS    += -landroid
+
+include $(BUILD_SHARED_LIBRARY)
diff --git a/ndk/platforms/android-9/samples/native-audio/jni/android_clip.h b/ndk/platforms/android-9/samples/native-audio/jni/android_clip.h
new file mode 100644
index 0000000..8d168ac
--- /dev/null
+++ b/ndk/platforms/android-9/samples/native-audio/jni/android_clip.h
@@ -0,0 +1,811 @@
+	"\xfe\xff\xfc\xff\xfb\xff\xfc\xff\xfb\xff\xff\xff\xff\xff\xfe\xff"
+	"\x00\x00\xfe\xff\xfe\xff\x01\x00\x02\x00\x02\x00\x05\x00\x04\x00"
+	"\x02\x00\x04\x00\x05\x00\xff\xff\x01\x00\xff\xff\xfc\xff\xfe\xff"
+	"\xff\xff\x02\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x01\x00"
+	"\xff\xff\xfc\xff\xf9\xff\xfa\xff\xf8\xff\xfc\xff\xfe\xff\xfe\xff"
+	"\xfd\xff\xfc\xff\x01\x00\xff\xff\xff\xff\x02\x00\x04\x00\x04\x00"
+	"\x07\x00\x06\x00\x04\x00\x05\x00\x04\x00\x05\x00\x03\x00\x03\x00"
+	"\x02\x00\x04\x00\x04\x00\x03\x00\x05\x00\x04\x00\x04\x00\x05\x00"
+	"\x03\x00\x01\x00\x02\x00\x03\x00\x04\x00\x00\x00\xfc\xff\xfe\xff"
+	"\xfe\xff\xfc\xff\xfb\xff\xfc\xff\xf8\xff\xf8\xff\xfa\xff\xf8\xff"
+	"\xf8\xff\xf7\xff\xf7\xff\xf5\xff\xf8\xff\xfb\xff\xfc\xff\x00\x00"
+	"\xfd\xff\x00\x00\x05\x00\x03\x00\x02\x00\x05\x00\x08\x00\x04\x00"
+	"\x03\x00\x04\x00\x03\x00\x02\x00\x00\x00\xff\xff\x02\x00\x03\x00"
+	"\x03\x00\x02\x00\x02\x00\x04\x00\x04\x00\x03\x00\x02\x00\x02\x00"
+	"\x04\x00\x03\x00\xfe\xff\xfd\xff\xfd\xff\xfc\xff\xfa\xff\xfc\xff"
+	"\xff\xff\xfe\xff\xfd\xff\xfd\xff\xfd\xff\xfe\xff\xfb\xff\xfd\xff"
+	"\xfd\xff\xfd\xff\x01\x00\x01\x00\x00\x00\xfd\xff\x00\x00\x00\x00"
+	"\xfe\xff\x00\x00\x01\x00\x03\x00\x04\x00\x04\x00\x03\x00\x00\x00"
+	"\x02\x00\x05\x00\x01\x00\x00\x00\x04\x00\x04\x00\x00\x00\xff\xff"
+	"\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x01\x00\xff\xff"
+	"\xfe\xff\x01\x00\x01\x00\x01\x00\x02\x00\x05\x00\x04\x00\x05\x00"
+	"\x03\x00\x03\x00\x03\x00\x00\x00\x00\x00\xfc\xff\x01\x00\x00\x00"
+	"\xfe\xff\x00\x00\x01\x00\xfe\xff\xfe\xff\xff\xff\xff\xff\x02\x00"
+	"\x02\x00\xff\xff\x00\x00\x04\x00\x02\x00\x02\x00\x02\x00\x03\x00"
+	"\x02\x00\x02\x00\x00\x00\xfc\xff\x00\x00\x02\x00\x02\x00\x00\x00"
+	"\x00\x00\x02\x00\x00\x00\xfe\xff\xff\xff\xfc\xff\xfd\xff\xfb\xff"
+	"\xfa\xff\xfa\xff\xf9\xff\xf9\xff\xfa\xff\xf9\xff\xf9\xff\xfd\xff"
+	"\xff\xff\xfd\xff\xfc\xff\x00\x00\xfe\xff\xff\xff\x02\x00\x03\x00"
+	"\x06\x00\x06\x00\x07\x00\x04\x00\x05\x00\x05\x00\x05\x00\x07\x00"
+	"\x07\x00\x06\x00\x06\x00\x07\x00\x05\x00\x03\x00\x01\x00\x02\x00"
+	"\xfe\xff\xfd\xff\xff\xff\xfe\xff\xff\xff\xfd\xff\xfc\xff\xfc\xff"
+	"\xfb\xff\xfa\xff\xfa\xff\xfa\xff\xf9\xff\xfc\xff\xfa\xff\xfb\xff"
+	"\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfd\xff\xff\xff\x00\x00\x00\x00"
+	"\x03\x00\x03\x00\x04\x00\x04\x00\x06\x00\x04\x00\x02\x00\x03\x00"
+	"\xff\xff\x00\x00\x02\x00\xff\xff\x02\x00\x00\x00\xfe\xff\x00\x00"
+	"\x00\x00\x01\x00\xff\xff\x00\x00\x02\x00\x02\x00\x02\x00\x01\x00"
+	"\x01\x00\x01\x00\xfe\xff\xfe\xff\xfe\xff\xfe\xff\xff\xff\xff\xff"
+	"\xfe\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00"
+	"\x02\x00\x04\x00\x03\x00\x04\x00\x06\x00\x02\x00\x00\x00\x02\x00"
+	"\x04\x00\x02\x00\x00\x00\x03\x00\x04\x00\x05\x00\x03\x00\x03\x00"
+	"\x03\x00\x00\x00\x00\x00\x01\x00\xff\xff\xfe\xff\xff\xff\xfe\xff"
+	"\xfd\xff\xfb\xff\xfc\xff\xfa\xff\xfb\xff\xfb\xff\xfd\xff\xfd\xff"
+	"\xfc\xff\xfc\xff\xfb\xff\xfb\xff\xfd\xff\xfe\xff\xff\xff\x00\x00"
+	"\xff\xff\x01\x00\x03\x00\x02\x00\x03\x00\x07\x00\x07\x00\x06\x00"
+	"\x05\x00\x09\x00\x07\x00\x04\x00\x06\x00\x05\x00\x01\x00\x03\x00"
+	"\x01\x00\x02\x00\x02\x00\x00\x00\xfe\xff\xfd\xff\xf9\xff\xf8\xff"
+	"\xf8\xff\xf6\xff\xf9\xff\xf7\xff\xf8\xff\xf7\xff\xfc\xff\xfc\xff"
+	"\xfc\xff\xff\xff\x02\x00\x01\x00\x02\x00\x04\x00\x06\x00\x06\x00"
+	"\x04\x00\x04\x00\x04\x00\x05\x00\x02\x00\x02\x00\x02\x00\x02\x00"
+	"\x00\x00\xff\xff\x01\x00\x01\x00\x00\x00\x00\x00\x00\x00\xfd\xff"
+	"\xfc\xff\xfe\xff\xfe\xff\xfc\xff\xfc\xff\xff\xff\xfd\xff\xfc\xff"
+	"\xfe\xff\x02\x00\x01\x00\x05\x00\x03\x00\x07\x00\x03\x00\x05\x00"
+	"\x04\x00\xfb\xff\xf8\xff\xfb\xff\xfe\xff\xee\xff\xee\xff\xfd\xff"
+	"\xf1\xff\x02\x00\xfb\xff\xcd\xff\xed\xff\x17\x00\xa6\xff\xfc\xfe"
+	"\x39\x00\xd7\xff\xa9\xfe\x92\xff\x87\x00\xf3\xff\x55\xff\xe3\x00"
+	"\x44\x01\x66\x00\x81\x00\x4b\x01\x24\x01\x60\x00\x8f\x00\xca\x00"
+	"\x9b\x00\x6d\x00\x47\x00\x86\x00\x99\x00\x6b\x00\xbb\xff\x8a\x00"
+	"\x32\x00\x5a\x00\xe0\xff\x27\x00\x61\x01\x6c\x00\xcc\xff\xb2\xff"
+	"\xe9\xff\x58\xff\xab\xfb\x69\xfb\x7e\xff\x52\xfa\xbf\xf9\x7a\xfd"
+	"\x79\xff\x99\xfd\xc1\xfd\xcf\x02\x75\x02\xd6\x00\xf8\x00\x02\x03"
+	"\x75\x01\x11\x00\x0f\x00\xbb\x00\xe8\x00\xb5\x00\x44\x01\x58\x02"
+	"\x3e\x04\x70\x03\x05\x03\x8c\x04\xe7\x03\x06\x02\xa9\x00\xce\x00"
+	"\x57\xff\x4f\xfd\x29\xfd\x19\xfd\x4f\xfd\x21\xfd\x03\xfe\x17\xff"
+	"\xf4\xff\x59\x00\x77\x00\xfa\x00\xd6\x00\x1b\x00\x62\xff\x0d\xff"
+	"\xd5\xfe\xf5\xfd\xd3\xfd\x74\xfe\x35\xfe\xac\xfe\x51\xff\xe4\xff"
+	"\x2a\x00\x82\x00\x45\x01\x11\x01\xee\x00\x10\x01\xe8\x00\x74\x00"
+	"\x05\x00\xe9\xff\x32\x00\xcb\xff\xda\xff\x99\x00\xee\x00\x13\x01"
+	"\x59\x01\x08\x02\x1a\x02\xa2\x01\xaf\x01\x9c\x01\x9d\x00\x3f\x00"
+	"\xea\xff\x3d\xff\xd4\xfe\xd1\xfe\xe4\xfe\xa0\xfe\x10\xff\x7f\xff"
+	"\x70\xff\x87\xff\xa0\xff\xcc\xfe\x18\xff\xd7\xfd\x8f\xfc\x7b\xfd"
+	"\x76\xfc\xf8\xfb\x7c\xfc\xdd\xfd\x71\xfe\xa2\xfe\x46\x00\x88\x01"
+	"\xca\x01\xb3\x01\x6a\x02\xb3\x02\x32\x02\xf1\x01\x0b\x02\x7d\x02"
+	"\x33\x02\x61\x02\x87\x02\x44\x03\xfd\x02\x6a\x02\xba\x02\x35\x02"
+	"\x8e\x01\x5e\x00\x2a\x00\x7f\xff\x8a\xfe\x5a\xfe\x27\xfe\x63\xfe"
+	"\x70\xfe\xd0\xfe\x5f\xff\xab\xff\xed\xff\xa9\xff\x10\x00\x00\xff"
+	"\x99\xff\xc8\xfe\xad\xfe\x2f\xff\x3e\xff\xde\xfe\xc4\x01\xab\xfe"
+	"\x47\xfc\xa8\x02\x0f\xfe\x5b\xf9\x02\xfb\xd3\x00\xb4\xfa\x1c\xf8"
+	"\xd3\xff\x39\x02\x61\xfe\x6f\xfe\x9b\x05\x61\x04\x34\x01\x63\x02"
+	"\xb2\x04\xba\x02\x66\x01\xb8\x01\xca\x01\x46\x03\x3e\x02\x3c\x01"
+	"\x71\x03\xa2\x04\xb5\x02\xfe\x00\x43\x03\x4c\x02\x22\xff\x2b\xfe"
+	"\xa4\xfe\xb4\xfd\x6f\xfb\xb4\xfb\xca\xfc\x3e\xfd\x2c\xfd\x01\xfe"
+	"\xe4\xff\x16\x00\x58\x00\xd0\xff\x03\x00\x8f\x00\x4e\xfe\x54\xfe"
+	"\x30\xfe\xc0\xfe\x09\xfe\x3d\xfe\x33\x00\x6d\x00\x86\x00\x9e\x01"
+	"\xbb\x02\x26\x02\x4e\x02\x9e\x02\xbd\x02\xc2\x01\x55\x01\x35\x02"
+	"\x7c\x01\xec\x00\x18\x01\xee\x01\x06\x01\x93\x00\x62\x01\x02\x01"
+	"\x2e\x00\xb5\xff\x63\x00\x17\xff\x82\xfe\xd4\xfd\xbb\xfd\xd9\xfc"
+	"\x2c\xfc\xd0\xf9\x87\xfa\xab\xfc\x00\xf9\xf6\xf9\xb8\xfc\xbd\xfe"
+	"\x1e\xfd\xb0\xfe\x8b\x02\x22\x02\x7b\x01\x1c\x02\x86\x03\x52\x02"
+	"\xc1\x01\x23\x02\xa5\x02\x89\x02\xb2\x02\x5c\x03\xcd\x03\x9b\x04"
+	"\x37\x04\xce\x03\x4e\x04\xdd\x02\x13\x02\xb5\x00\x39\x00\xc7\xfd"
+	"\xbf\xfc\x79\xfe\x5f\xfb\xe6\xfb\x07\xfe\x97\xfe\x5e\xfe\x70\xff"
+	"\xbb\x01\xfb\x00\x28\x00\xdd\x00\x94\x00\xa1\xff\xc0\xfe\x9e\xff"
+	"\x46\xff\xc1\xff\x82\xff\xdf\x00\x2b\x00\x4d\x01\x9a\x00\xd3\x00"
+	"\x45\x01\x9b\xff\xcd\xff\x8c\x03\xbe\xff\x7e\xf6\x07\x05\xa4\xff"
+	"\xbe\xf4\xd8\xf6\xdc\x01\x19\xfd\xd5\xf1\xa7\xfe\xc7\x05\x55\x00"
+	"\x9f\xfb\x04\x07\x81\x08\x75\x01\xfe\x00\x65\x04\x7c\x03\xaa\xff"
+	"\xcc\xff\x89\xff\x27\x02\x0a\x03\x90\xff\x62\x02\xa3\x05\xa0\x05"
+	"\xc3\x00\xd0\x01\x38\x05\x63\x00\xad\xfc\x84\xfc\xa0\xfe\x59\xfb"
+	"\xa4\xf8\x60\xfb\x11\xfe\xaf\xfd\x52\xfd\xc9\x00\xc8\x02\x7e\x02"
+	"\x53\x02\xd1\x01\xb4\x02\xc0\x01\x69\xff\xcf\xfe\x72\xfe\xf4\xfd"
+	"\xf3\xfe\x19\xfe\xa3\xfe\x7b\x00\xf8\x01\xee\x01\x3d\x01\x8a\x03"
+	"\x00\x03\x97\x01\x8a\x00\x58\x00\x0c\x00\x63\xfe\xe4\xfd\x99\xfe"
+	"\x98\xff\x50\xff\x6e\xff\x3c\x01\x61\x02\x85\x01\x9b\x00\x62\x02"
+	"\x39\x01\xb6\xff\xde\xfe\x73\xff\xdf\xfd\x1a\xfd\xcc\xfe\x51\xfc"
+	"\xcd\xfd\xbb\xfd\xc5\x00\xcd\xf9\x73\xfb\x3f\x03\xa6\xfb\x36\xf9"
+	"\x9a\xfc\x79\x03\x8a\xfc\x3a\xfa\x93\x03\x11\x04\x90\xff\xb7\xff"
+	"\xe9\x05\xf1\x03\x36\x01\xaa\x02\x8a\x03\x4e\x03\x1f\x02\x5a\x03"
+	"\xd5\x01\x7d\x04\xc3\x04\x19\x02\x03\x02\x75\x04\xde\x01\x2d\xfe"
+	"\x09\x00\x98\xfe\xad\xfd\x59\xfb\x47\xfd\x16\xfe\x7c\xfd\x7d\xfe"
+	"\xe0\xff\x00\x01\xfd\x00\x1c\x01\xa0\x00\xa1\x00\x08\x00\x19\xff"
+	"\x0b\xfe\x28\xfe\xb3\xff\x87\xfe\x9b\xfe\x78\x00\x75\x01\xdd\x00"
+	"\xec\xff\x9a\x01\xf1\xff\x8f\xff\x99\xfe\x23\xfe\xfa\xfd\xac\xfd"
+	"\xed\xfd\xc3\xfd\xd4\xfd\xc7\xff\x56\x00\x9e\xfe\x47\x00\x81\x02"
+	"\x39\x01\x9d\xfc\x4b\x00\xe6\x02\x9a\xfc\xcd\xf9\x24\x01\x7c\x01"
+	"\xb0\xfb\xc5\xfd\x7f\x03\xf8\x03\x3b\xff\xfc\x01\x1b\x05\x26\x03"
+	"\xc1\x00\xbc\x01\x8d\x02\xf1\x01\xb6\x01\x62\x01\x9f\x02\x96\x03"
+	"\x66\x02\x48\x01\x44\x02\x2e\x01\x9b\xff\x51\xfc\xf9\xfc\x9f\xfe"
+	"\x46\xfb\xef\xfa\x16\xfd\x38\x00\x33\xfe\xac\xfd\x05\x01\xa8\x01"
+	"\x6c\xff\xed\xfd\xcb\x00\xe9\xff\xb4\xfe\x3e\xff\x9a\x00\x24\x02"
+	"\x6f\x01\x05\x02\x1d\x03\x3b\x04\x6f\x02\xe0\x00\xd0\x01\x1a\x01"
+	"\x3a\xff\x12\xfe\xf7\xfe\xbd\xff\x94\xfe\xa5\xfe\xa2\xff\xf0\xff"
+	"\x6d\xff\x14\x00\x7b\xff\x8f\xff\xd2\x00\xc6\xfe\xbf\xff\x57\x03"
+	"\x99\x04\xfd\xf6\x96\xf7\xc3\x07\xef\xfc\xc3\xec\xe8\xf5\x10\x07"
+	"\x3a\xfd\xac\xf1\xf3\x00\xea\x0d\x17\x05\xfd\xfb\xd9\x04\xbe\x0a"
+	"\x1e\x02\xba\xfc\xd3\xfe\xc7\x01\xa0\x00\xdf\xfe\x23\xff\x8a\x03"
+	"\x23\x0a\xcd\x06\x16\x02\xc0\x06\xdf\x0b\x0e\x04\x18\xfb\x3b\xff"
+	"\x6b\x03\x92\xfa\x39\xf4\x57\xfa\x25\x00\x91\xfb\xa8\xfa\x3e\xff"
+	"\x0c\x03\x34\x04\x1a\xff\xdd\xfe\xec\x00\x3a\x01\x0f\xfb\x6e\xf9"
+	"\x03\xfe\x3e\xff\xf5\xfc\x25\xfc\x5b\x02\xaa\x04\xf5\x01\x96\x00"
+	"\xbe\x02\x29\x05\x7f\x01\x16\xff\x67\x01\x03\x03\x69\x01\x4f\xfe"
+	"\x84\xff\x56\x02\x84\x00\x08\xfd\x8e\xfd\x16\x01\x83\xff\x96\xfc"
+	"\x22\xfe\xf5\x01\xb7\x01\x04\xfe\xb9\xff\x9f\x03\x48\x02\x53\xfa"
+	"\x4f\xfd\x61\xfa\x1b\xf9\x7f\xfb\x05\xf7\xc0\xf9\xd3\xfc\xaf\x03"
+	"\x6e\x01\xa0\x01\x0e\x08\x1e\x08\x67\x04\x8c\xff\x0a\x02\x42\x02"
+	"\x25\xfd\x5e\xfc\x14\xff\xe6\x02\xdf\x01\x98\x03\x62\x08\xdc\x08"
+	"\x03\x08\xca\x05\xb2\x05\x76\x03\xf0\xff\xec\xfc\x1b\xfc\x0b\xfd"
+	"\x2f\xfb\x24\xfb\xc4\xfd\x0f\x00\x25\x00\x09\x00\x2e\x01\x14\x02"
+	"\x61\x00\xbf\xfd\x01\xfe\xf4\xfc\x89\xfb\x69\xfb\xef\xfb\x07\xfd"
+	"\xaf\xfc\xd4\xfd\xd6\xfe\x07\xff\x61\xfe\x9f\xfe\x70\xff\x55\xfe"
+	"\x9d\xfe\x87\xff\x18\x00\x12\x01\x09\x01\x0d\x01\xf7\x01\x15\x02"
+	"\xd6\x01\xf4\x00\xcc\x01\xad\x02\xa4\x02\xd1\x02\xee\x02\xa0\x04"
+	"\xe8\x05\x02\x04\x87\x04\x93\x05\xe1\x03\x16\x01\x27\xfd\x5f\xfc"
+	"\xbd\xfb\xa2\xf7\x6d\xf6\x88\xf5\x80\xf8\x48\xfd\x1e\xfc\xa2\xfe"
+	"\x88\x01\x65\x05\x43\x03\x80\xff\x68\x00\xc5\xff\xde\xfe\xdb\xfa"
+	"\xbf\xfb\xc5\xff\x40\x01\xbc\x02\x4d\x05\x45\x08\x46\x09\xa2\x08"
+	"\x72\x07\xec\x04\xa5\x02\x0d\x00\xc2\xfd\x0e\xfb\xf0\xf9\xd2\xfb"
+	"\x89\xf5\x48\xfc\xe2\x03\xbf\xfd\xa3\xfe\xe9\x02\xb4\x09\xc8\x03"
+	"\x7b\xfe\xe8\x01\xbb\x01\xee\xff\x11\xfa\x8a\xfb\x0b\x00\xa4\x00"
+	"\xef\xff\x97\xff\x03\x03\x0a\x05\x83\x03\x2d\x00\xea\xfe\x26\x01"
+	"\xc9\xfe\xbe\xf9\x25\xfa\xe1\xfd\x63\xfd\x40\xfa\xaa\xfd\xd0\xff"
+	"\xff\x04\x08\x00\xa2\xf7\x6e\xfe\xd5\xff\x8b\xf9\x26\xf5\x83\xf9"
+	"\x1e\x00\xd8\xff\x8d\xff\xf5\x04\xb2\x09\x55\x09\x94\x05\x19\x05"
+	"\xb4\x03\x28\x01\x19\x00\xd1\xff\x7a\xfe\x0e\x00\x32\x04\xd0\x05"
+	"\xd9\x05\x5b\x07\x3b\x09\x0d\x06\x5f\x02\x06\x00\xd5\xfc\x7e\xfa"
+	"\xbd\xf9\x97\xf8\x09\xf8\x3d\xfa\xc2\xfd\xd2\xfd\xb1\xfe\x15\x01"
+	"\x6e\x02\x53\x01\x81\xff\xd2\xfc\x81\xfb\xd4\xfc\xd0\xfa\xb8\xf8"
+	"\x8d\xfb\xa6\x01\x0c\x03\x22\x02\x84\x04\x96\x07\x3e\x08\x2e\x04"
+	"\xd7\x00\x7a\x01\xac\x01\x9a\xff\x95\xff\xf8\x00\xe2\x02\x46\x04"
+	"\xb4\x03\x27\x02\x3b\x02\x56\x02\xab\xfe\x02\xfd\x18\xfd\x61\xfd"
+	"\x47\xfd\x35\xfe\x25\x02\x91\x02\xcb\xf5\x92\xf2\xc1\xfb\x6c\xff"
+	"\xc9\xf3\x1a\xeb\x96\xf9\x5d\x06\x45\x06\x47\xfe\x59\x02\xaa\x0c"
+	"\x21\x0b\x5d\x00\x4f\xfa\x3d\xff\x9b\x02\xb3\xff\xbf\xfc\x9e\xfc"
+	"\xea\x03\x27\x0c\x4c\x0c\xe9\x07\xbc\x06\x31\x0a\x12\x09\xb5\x01"
+	"\x1c\xfa\xb6\xf9\x30\xfd\x5d\xfc\x6d\xf8\xaf\xf8\x02\xfe\xc2\x03"
+	"\xc4\x03\x25\x01\x14\x01\xf2\x03\x60\x03\x1f\xfd\xb0\xf7\x59\xf9"
+	"\x14\xfb\xc3\xf9\xff\xf7\x56\xfa\xc9\x00\x46\x03\x2e\x03\xa0\x02"
+	"\x4d\x04\xd4\x05\x3f\x03\x1b\xff\xd6\xfd\x0f\x00\xa1\x01\x68\xff"
+	"\x9c\xff\xb7\x01\xc2\x04\x74\x03\x7c\x02\x59\x01\xfa\x01\x57\x02"
+	"\x3b\x02\x1c\xff\x08\x02\x1f\xff\xb4\x04\xeb\xfe\xe8\xe8\x6a\xf6"
+	"\xc6\xfe\x1b\x00\x65\xeb\x41\xef\x82\x07\x70\x0d\x3b\x07\xa7\xfa"
+	"\x65\x04\x59\x0b\x98\x04\x84\xf8\x23\xf5\x68\xfd\x62\x02\x6b\x00"
+	"\x97\xfc\xea\xfc\x53\x09\xe8\x10\x0d\x0c\xef\x01\x3f\x03\x07\x08"
+	"\x2f\x05\xc2\xfc\xe1\xf6\x87\xf9\xfe\xfe\x77\x00\xb8\xfc\xe5\xfb"
+	"\xb3\x01\xf1\x07\x4d\x08\x10\x02\xa1\xfe\xc4\x01\x06\x04\x05\xfd"
+	"\x13\xf5\x0e\xf8\x07\xfc\xf9\xfd\xa0\xfa\xd1\xfb\xd6\x00\xae\x04"
+	"\x1c\x05\x08\x01\x1b\x01\x20\x03\x3b\x01\xc6\xfe\x5c\xfc\x88\xfe"
+	"\xb4\x00\x95\x00\xf1\xff\xba\x01\x13\x03\xae\x03\x9c\x02\xd0\x02"
+	"\xaa\x00\x33\x02\x07\x03\x50\x00\x9b\xff\x10\x01\x53\xfe\xc5\xe6"
+	"\x50\xf5\x0b\x01\xe6\xfd\xc6\xee\x58\xef\x43\x0a\xcb\x0e\x34\x09"
+	"\x74\xfb\x45\x03\x6c\x08\xdd\x02\x98\xfa\x63\xf7\x75\xfb\x4b\x01"
+	"\x3c\x05\x7f\x01\xfc\xfd\xf8\x06\x0a\x12\xf9\x0f\x74\x03\x59\xfe"
+	"\x22\x03\xee\x04\x6b\xfe\x29\xf5\x7d\xf5\xff\xfb\x90\x01\xe2\xfe"
+	"\x30\xfc\x3b\xfe\x91\x04\xaf\x08\x96\x04\x4e\xfd\x23\xfd\x33\x02"
+	"\xca\x00\x95\xf8\x25\xf7\x96\xfa\xae\xfe\x28\xff\x37\xfd\x32\x00"
+	"\x54\x02\xc1\x06\xab\x04\x60\x03\xad\x01\xbe\x00\xea\x01\x8a\x00"
+	"\x7f\xfd\x41\xfd\xf4\xff\x52\x02\x96\x01\xd5\xff\x10\x02\x15\x04"
+	"\xdf\x04\xf9\x00\x1e\x02\x59\x02\xc1\x03\x0d\xfe\xf3\xfe\xf5\xe8"
+	"\xfb\xeb\x44\xfe\xd6\xfd\x8b\xf3\x2d\xe9\x44\x04\x99\x0e\x24\x0f"
+	"\xbb\xff\xf4\xff\x74\x06\x46\x03\xcc\xfc\x42\xf7\x22\xfa\x0c\xfd"
+	"\x92\x04\x38\x07\x1a\x03\x0c\x04\xfb\x0d\xec\x13\x30\x0c\x85\x00"
+	"\x92\xfe\x16\x01\xbb\x02\xa7\xfa\xc3\xf5\x0d\xf7\xbf\xfe\x23\x02"
+	"\x4e\x00\xe4\xfd\x21\xff\xb0\x04\x52\x07\x77\x02\xc1\xfb\xb8\xfb"
+	"\x62\xff\x97\xfd\xdf\xf9\x89\xf7\xbe\xf9\xb8\xfe\xe8\xff\x01\x01"
+	"\x19\xff\x15\x02\x75\x04\xe5\x05\x97\x03\xd6\xfe\x3e\xfe\xcf\x01"
+	"\x18\x02\xd0\xfe\x38\xfc\xa8\xff\x1e\x04\x88\x04\x5d\x00\xce\x00"
+	"\xa5\x04\x8a\x06\xb8\x04\x61\x02\xde\x01\xc8\x03\x09\xfe\x92\xe8"
+	"\xf9\xed\x20\xfa\x5a\xff\x5b\xef\x13\xee\xb0\x00\x56\x0e\x36\x0f"
+	"\xfe\x01\x3c\x01\x01\x02\xf8\x02\xf5\xfb\x68\xf8\xb2\xf6\x00\xfb"
+	"\x1e\x03\x17\x07\x2d\x04\x2d\x05\x2e\x0d\x98\x12\x4d\x0d\x55\x03"
+	"\xa6\xfd\x7a\xff\xe1\x00\xbb\xfb\x9d\xf6\xff\xf6\x79\xfd\xa6\x01"
+	"\xe9\x01\x59\x00\x6b\x01\xe6\x03\x87\x06\x8d\x04\x73\xff\xa0\xfc"
+	"\x36\xfc\xef\xfb\xc8\xfc\xf5\xf8\x04\xf8\xdf\xfb\x2e\x02\x37\x03"
+	"\x02\x01\xbe\x01\x89\x03\xb4\x05\x71\x04\xfa\xfe\xfc\xfb\xdb\xfd"
+	"\x94\x01\x49\x00\xe0\xfc\x64\xfd\xbf\x01\xe1\x04\x5e\x02\x41\x01"
+	"\xe0\x00\x70\x06\xce\x04\xe2\x02\x68\xfe\x67\xff\xa6\xf4\xf7\xef"
+	"\xb6\xf5\x88\xf9\xf4\xf8\x90\xf2\xd4\xfc\xad\x04\x0d\x0d\x4a\x08"
+	"\xcc\x04\x50\x02\x21\x02\xd2\xff\xde\xfb\xa1\xf9\x7a\xf9\xba\xfd"
+	"\xbb\x02\x24\x06\x64\x05\x5a\x08\x27\x0c\x75\x0d\x08\x09\x13\x02"
+	"\x92\xfd\xfd\xfe\x27\xfe\x45\xfa\x1e\xf7\x66\xf9\x3d\xfd\x37\x00"
+	"\xb6\x01\xce\x01\x9a\x02\x0f\x04\xe5\x05\xba\x04\x2a\x00\x55\xfc"
+	"\x7f\xf9\x92\xfb\x31\xfb\x5c\xf9\x62\xf9\x11\xfd\x18\x03\xd3\x04"
+	"\x2c\x05\xcf\x03\x7b\x04\x4b\x04\x62\x02\x16\xff\xdf\xfc\xbf\xfd"
+	"\x48\xff\x44\x00\xe4\xfe\xf0\xfe\x3d\x00\x1a\x03\x26\x04\x7e\x03"
+	"\xae\x00\x51\x00\xa7\x02\x35\x01\x8f\xfc\x93\xf1\x15\xf2\x10\xf7"
+	"\xf0\xf9\x6f\xf7\xa0\xf5\x1b\xfd\x71\x04\xf9\x09\xb6\x08\x07\x06"
+	"\x20\x03\x20\x02\x57\x01\x6e\xff\x7f\xfc\x64\xfa\x3f\xfd\xf2\x01"
+	"\x7c\x05\x8e\x06\x3d\x07\x7f\x09\x9b\x0a\xe3\x08\x09\x04\x98\xff"
+	"\xe4\xfd\x56\xfd\x59\xfb\x3d\xf9\x5a\xf9\x27\xfa\xab\xfc\xb0\xff"
+	"\x58\x02\x01\x03\x2d\x03\x89\x04\xb8\x05\xc0\x03\x3a\xfe\x65\xfb"
+	"\x42\xfa\xa1\xfb\x73\xfb\x0f\xfa\x46\xfb\xe8\x00\x67\x06\x35\x06"
+	"\x79\x04\xab\x03\x8a\x04\x58\x03\x8b\x00\xe6\xfd\x25\xfd\x20\xfe"
+	"\xd5\xff\x77\xff\x44\xfe\x6a\xfd\x23\x01\x55\x03\x21\x02\x29\xfe"
+	"\x2d\x00\xc5\x00\x70\x01\xf6\xf8\x57\xf1\x17\xf8\x04\xfa\x28\xfb"
+	"\x1b\xf4\x9f\xf8\x35\xff\x40\x06\xd8\x07\x84\x05\x8b\x04\x34\x04"
+	"\xb2\x04\xbd\x03\x80\x01\xe8\xfd\xdc\xfd\xb5\xff\x3e\x03\xb4\x02"
+	"\x3a\x04\x0d\x05\x0e\x07\x7d\x06\xbe\x05\x68\x03\x10\x01\xe7\xfe"
+	"\x55\xfe\x9e\xfd\x13\xfc\x9c\xfa\x44\xfa\xff\xfb\xc8\xfd\x4a\xff"
+	"\x34\x00\xd7\x01\x74\x03\x9b\x03\xe8\x01\xcd\x00\xd2\x00\x6d\x00"
+	"\x5f\xfe\xa2\xfd\x56\xfd\xf6\xfe\x8c\xff\x2d\x00\x37\x00\xf0\xff"
+	"\x48\x00\xb8\x00\x63\x00\x4b\x00\x68\x00\xe9\xff\x57\x00\x30\x00"
+	"\x92\xff\xc8\xfe\xfe\xfd\x1a\xfe\x15\xff\xbf\xff\x37\x00\xe9\x00"
+	"\xff\x01\x78\x02\xab\x02\xe8\x00\x69\xff\xf4\xfd\xe6\xfd\x64\xfc"
+	"\x84\xfa\x95\xfa\xc3\xfa\x23\xfc\xfb\xfc\x60\xfe\x9c\xfd\x44\xfd"
+	"\xea\xfe\xaf\x01\x0c\x02\xa0\x00\xfb\x00\x09\x03\x5e\x03\x5d\x02"
+	"\xc3\x02\x4b\x03\x57\x03\x40\x03\x01\x04\x51\x04\x38\x03\xa1\x02"
+	"\x93\x03\xc6\x03\x0e\x02\x81\x00\x95\x00\xe4\x00\x4b\x00\x1d\xff"
+	"\x7f\xff\x5b\x00\xf6\xff\x67\xfe\x03\xfe\x50\xfe\xf0\xfd\x3b\xfd"
+	"\x91\xfd\xc0\xfd\x20\xfd\x69\xfd\x2f\xff\x89\x00\xdb\xff\x1c\xff"
+	"\xb0\xff\xc1\x00\x0e\x01\xcb\x00\x96\x00\xa4\x00\x07\x01\x5d\x01"
+	"\x6a\x00\x59\xff\x38\xff\xd6\xff\xfb\xff\xd6\xff\xf7\xff\x47\x00"
+	"\x2b\x01\xc4\x00\x29\xff\x80\xfe\x97\xfd\xab\xfb\x85\xfa\xa1\xfb"
+	"\xb0\xfb\x28\xfa\x9b\xfa\x89\xfd\x48\xff\x7c\xfe\xc9\xfe\x10\x01"
+	"\x8e\x02\x88\x02\x19\x03\xce\x03\xd0\x03\xe0\x03\xc2\x04\x05\x05"
+	"\xc1\x03\xff\x02\x2e\x04\xbc\x04\x8e\x03\x3a\x02\xc4\x01\xdf\x01"
+	"\x58\x02\xc1\x01\xd3\xff\x97\xfe\xdc\xfe\xa3\xff\xf6\xfe\x99\xfd"
+	"\x19\xfd\x04\xfe\x89\xfe\x62\xfe\x92\xfd\x33\xfd\x98\xfd\xb2\xfe"
+	"\x86\xff\x1f\xff\xe5\xfe\xa1\xff\x25\x01\x74\x01\xb1\x00\xd9\xff"
+	"\x4f\x00\xf7\x00\x3b\x01\xbb\x00\x88\x00\x82\x00\x7c\x00\x44\x00"
+	"\x8f\xff\x24\xff\x18\xff\x1a\xff\x5b\xff\xb6\xff\x8b\xff\xf6\xfe"
+	"\x75\xfe\xea\xfe\xdd\xfd\x28\xfc\xdc\xfa\xc9\xfb\x38\xfc\xc2\xfb"
+	"\xd9\xfb\x0a\xfd\x76\xfe\x13\xff\x77\x00\xbb\x01\x11\x02\x65\x02"
+	"\xbc\x03\x7e\x04\x94\x04\x1b\x04\x4d\x04\x72\x04\x3f\x04\xbd\x03"
+	"\x80\x03\x54\x03\xc6\x02\x72\x02\x19\x02\x72\x01\xb7\x00\x62\x00"
+	"\x3d\x00\x49\xff\x3e\xfe\xc2\xfd\xcf\xfd\xdc\xfd\x97\xfd\xab\xfd"
+	"\xf1\xfd\x7e\xfe\x0c\xff\x2c\xff\x7e\xfe\x2f\xfe\x12\xff\xa0\xff"
+	"\xf3\xfe\x9b\xfe\x39\xff\x44\x00\x92\x00\x72\x00\x9e\x00\xd1\x00"
+	"\x07\x01\x8c\x01\xd0\x01\xa1\x01\x55\x01\x5d\x01\x45\x01\xae\x00"
+	"\x15\x00\xf6\xff\xbf\xff\x5a\xff\x59\xff\xb5\xff\xdd\xff\xae\xff"
+	"\x20\x00\xd4\xff\x90\xfe\xd1\xfd\xa0\xfd\xaf\xfc\x4f\xfb\xf0\xfa"
+	"\x28\xfb\xfc\xfa\x2b\xfb\x30\xfc\xf8\xfc\x37\xfd\x2e\xfe\xfc\xff"
+	"\x2b\x01\xb7\x01\x93\x02\x87\x03\x27\x04\x9a\x04\x08\x05\x47\x05"
+	"\x2b\x05\x1a\x05\xd2\x04\x6d\x04\xec\x03\x99\x03\x26\x03\x52\x02"
+	"\xe1\x01\x82\x01\xfc\x00\x16\x00\xa6\xff\x72\xff\x35\xff\x89\xfe"
+	"\x29\xfe\xf8\xfd\xf3\xfd\xd8\xfd\x8a\xfd\x98\xfd\x70\xfd\x87\xfd"
+	"\xbe\xfd\x7d\xfe\xeb\xfe\x2c\xff\x66\xff\xc5\xff\x09\x00\x2d\x00"
+	"\x42\x00\x73\x00\xb2\x00\xd0\x00\x89\x00\x41\x00\x54\x00\x3a\x00"
+	"\xc8\xff\x9c\xff\x78\xff\x75\xff\x9b\xff\xdd\xff\x68\x00\x1a\x00"
+	"\xaf\xff\x90\xfe\xb2\xfe\x6d\xfe\x0c\xfd\xc9\xfb\xf0\xfb\x98\xfc"
+	"\x1e\xfc\x34\xfc\xe8\xfc\xc9\xfd\x54\xfe\x67\xff\x84\x00\x66\x01"
+	"\x48\x02\x79\x03\xf5\x03\x28\x04\x80\x04\xfb\x04\xf4\x04\x9e\x04"
+	"\x55\x04\xf7\x03\x9d\x03\x65\x03\xfc\x02\x2f\x02\xa4\x01\x4a\x01"
+	"\xc8\x00\xf7\xff\x2f\xff\x99\xfe\x15\xfe\x9d\xfd\x3d\xfd\xe3\xfc"
+	"\xb2\xfc\x82\xfc\xdf\xfc\x5b\xfd\xd3\xfd\xef\xfd\x31\xfe\x02\xff"
+	"\x0f\x00\xb2\x00\x1c\x01\x5d\x01\x96\x01\xc7\x01\x25\x02\x3f\x02"
+	"\xbd\x01\x7e\x01\x78\x01\x81\x01\x0b\x01\x9b\x00\xf9\xff\x99\xff"
+	"\x4f\xff\x1a\xff\x5a\xfe\x0a\xfe\x71\xfe\xa1\xfe\xb4\xfe\x90\xfe"
+	"\x72\xfe\x7a\xfd\x80\xfd\xcf\xfd\x00\xfd\xcd\xfb\xdc\xfb\xbd\xfc"
+	"\x6b\xfc\x33\xfc\x0a\xfd\x11\xfe\x7a\xfe\x52\xff\xb6\x00\x9e\x01"
+	"\x6b\x02\x97\x03\x77\x04\xa6\x04\x11\x05\xa7\x05\x8d\x05\x48\x05"
+	"\x44\x05\x52\x05\xad\x04\x19\x04\xac\x03\xcf\x02\xdf\x01\x5b\x01"
+	"\xc1\x00\x6f\xff\x83\xfe\x34\xfe\x97\xfd\xec\xfc\x82\xfc\x30\xfc"
+	"\xfe\xfb\xf7\xfb\x52\xfc\x75\xfc\xe1\xfc\x70\xfd\x27\xfe\xda\xfe"
+	"\xa1\xff\x5a\x00\xc6\x00\x39\x01\x89\x01\xaf\x01\xca\x01\xfb\x01"
+	"\xf7\x01\x9c\x01\x51\x01\x4f\x01\x1c\x01\xad\x00\x19\x00\xae\xff"
+	"\x7a\xff\x66\xff\x08\xff\xc8\xfe\xa5\xfe\x36\xff\x1a\xff\x2e\xff"
+	"\x60\xff\x6c\xff\x30\xff\x83\xfe\xf3\xfe\x7e\xfe\x91\xfd\xcb\xfc"
+	"\x0c\xfd\xcd\xfc\x61\xfc\xb6\xfc\x2e\xfd\x62\xfd\xeb\xfd\x3f\xff"
+	"\x01\x00\x67\x00\x7f\x01\x08\x03\x80\x03\x94\x03\x38\x04\xfb\x04"
+	"\x0e\x05\xf8\x04\xfa\x04\xbf\x04\x6b\x04\x56\x04\xd3\x03\x0f\x03"
+	"\x80\x02\xfb\x01\x25\x01\x34\x00\x6c\xff\xb7\xfe\x19\xfe\x86\xfd"
+	"\xf1\xfc\x63\xfc\x3a\xfc\x45\xfc\x4b\xfc\x6b\xfc\xef\xfc\x7b\xfd"
+	"\xe8\xfd\x76\xfe\x0e\xff\xaa\xff\x31\x00\x90\x00\xb1\x00\xe7\x00"
+	"\x3c\x01\x5a\x01\x2d\x01\xfb\x00\x0e\x01\xff\x00\xb6\x00\x4d\x00"
+	"\xff\xff\xd3\xff\xab\xff\x92\xff\x7a\xff\x52\xff\x60\xff\x7b\xff"
+	"\xbb\xff\xca\xff\xe3\xff\x27\x00\x6f\x00\xb5\x00\xaa\x00\xd3\x00"
+	"\x79\x00\xf8\xff\x45\xff\x96\xfe\xfc\xfd\x48\xfd\xae\xfc\x39\xfc"
+	"\x52\xfc\x78\xfc\xc4\xfc\x32\xfd\xeb\xfd\xa6\xfe\x75\xff\x73\x00"
+	"\x7c\x01\x46\x02\xd8\x02\x7f\x03\x33\x04\xc0\x04\x03\x05\x23\x05"
+	"\x23\x05\x21\x05\x0a\x05\xc8\x04\x2f\x04\x6a\x03\xa2\x02\x05\x02"
+	"\x40\x01\x3e\x00\x22\xff\x54\xfe\xaa\xfd\xf3\xfc\x52\xfc\xd5\xfb"
+	"\x7e\xfb\x6e\xfb\xb3\xfb\xf2\xfb\x33\xfc\xad\xfc\x68\xfd\xf6\xfd"
+	"\x7e\xfe\x29\xff\xcf\xff\x50\x00\xb6\x00\x14\x01\x6b\x01\x97\x01"
+	"\xad\x01\xab\x01\xaf\x01\x92\x01\x62\x01\x29\x01\xe4\x00\x97\x00"
+	"\x4b\x00\x2a\x00\xea\xff\xd6\xff\xc7\xff\xd0\xff\xe8\xff\xff\xff"
+	"\x0c\x00\x00\x00\x1d\x00\x20\x00\x14\x00\xf2\xff\xc5\xff\x8e\xff"
+	"\x47\xff\x12\xff\xb7\xfe\x63\xfe\x11\xfe\xbc\xfd\x69\xfd\x39\xfd"
+	"\x4c\xfd\x5a\xfd\x78\xfd\xd8\xfd\x80\xfe\x1b\xff\xb2\xff\x7d\x00"
+	"\x6d\x01\x3f\x02\xe7\x02\x8c\x03\x26\x04\x85\x04\xd6\x04\x04\x05"
+	"\xf8\x04\xc3\x04\x78\x04\x23\x04\x90\x03\xec\x02\x4f\x02\x95\x01"
+	"\xb6\x00\xe5\xff\x1c\xff\x25\xfe\x33\xfd\x77\xfc\xe6\xfb\x68\xfb"
+	"\x0d\xfb\x01\xfb\x1e\xfb\x61\xfb\xd4\xfb\x6e\xfc\xfe\xfc\xad\xfd"
+	"\x85\xfe\x55\xff\x09\x00\xab\x00\x30\x01\x90\x01\xe8\x01\x19\x02"
+	"\x20\x02\x0c\x02\x0a\x02\xff\x01\xe8\x01\xd2\x01\x9c\x01\x5f\x01"
+	"\x26\x01\xe6\x00\x86\x00\x1c\x00\xdc\xff\xb1\xff\x78\xff\x4b\xff"
+	"\x37\xff\x44\xff\x5d\xff\x7a\xff\x96\xff\xac\xff\xca\xff\xe1\xff"
+	"\xe7\xff\xdb\xff\xcf\xff\xb0\xff\x8a\xff\x67\xff\x34\xff\x00\xff"
+	"\xd5\xfe\xb9\xfe\xa0\xfe\x7e\xfe\x7f\xfe\xaa\xfe\xe6\xfe\x31\xff"
+	"\x90\xff\xfe\xff\x68\x00\xd4\x00\x4e\x01\xbe\x01\x01\x02\x41\x02"
+	"\x68\x02\x87\x02\x86\x02\x7f\x02\x61\x02\x1b\x02\xe7\x01\xbd\x01"
+	"\x85\x01\x26\x01\xcf\x00\x74\x00\x0f\x00\xb6\xff\x5e\xff\xf1\xfe"
+	"\x99\xfe\x5a\xfe\x27\xfe\xf8\xfd\xd2\xfd\xc4\xfd\xc8\xfd\xe7\xfd"
+	"\x22\xfe\x5c\xfe\x93\xfe\xdd\xfe\x43\xff\x94\xff\xcd\xff\x07\x00"
+	"\x47\x00\x7c\x00\x8b\x00\xa5\x00\xbe\x00\xd3\x00\xdc\x00\xdc\x00"
+	"\xd7\x00\xc6\x00\xba\x00\xa8\x00\x85\x00\x4c\x00\x1c\x00\xf8\xff"
+	"\xd5\xff\xb8\xff\x9c\xff\x8a\xff\x8c\xff\xa9\xff\xc9\xff\xe5\xff"
+	"\x0b\x00\x2a\x00\x50\x00\x78\x00\x95\x00\x98\x00\x9c\x00\x9e\x00"
+	"\x8f\x00\x82\x00\x74\x00\x52\x00\x13\x00\xf8\xff\xdd\xff\xa8\xff"
+	"\x55\xff\xff\xfe\xc4\xfe\x8b\xfe\x61\xfe\x31\xfe\x10\xfe\x0f\xfe"
+	"\x40\xfe\x7e\xfe\xb8\xfe\xfe\xfe\x62\xff\xe5\xff\x62\x00\xc6\x00"
+	"\x22\x01\x93\x01\xfa\x01\x44\x02\x64\x02\x84\x02\xa3\x02\xaa\x02"
+	"\x97\x02\x77\x02\x49\x02\x0f\x02\xd3\x01\x90\x01\x26\x01\xa8\x00"
+	"\x3d\x00\xd2\xff\x5a\xff\xd1\xfe\x5c\xfe\xf9\xfd\xb7\xfd\x92\xfd"
+	"\x6c\xfd\x59\xfd\x6e\xfd\xa2\xfd\xd5\xfd\x05\xfe\x4d\xfe\xa0\xfe"
+	"\xf0\xfe\x3a\xff\x84\xff\xd6\xff\x1c\x00\x63\x00\xa8\x00\xdc\x00"
+	"\x01\x01\x20\x01\x40\x01\x56\x01\x4d\x01\x3b\x01\x2d\x01\x1c\x01"
+	"\xff\x00\xe4\x00\xcb\x00\xa2\x00\x86\x00\x6d\x00\x65\x00\x5b\x00"
+	"\x47\x00\x2b\x00\x00\x00\xd3\xff\xb8\xff\xc2\xff\xb6\xff\x69\xff"
+	"\xfc\xfe\x40\xff\x1c\x00\x8a\x00\x23\x00\xbc\xff\xbe\xff\xec\xff"
+	"\xfa\xff\x81\xff\xe6\xfe\x68\xfe\x23\xfe\x38\xfe\x9c\xfe\xe5\xfe"
+	"\xd0\xfe\x7c\xfe\x79\xfe\x17\xff\xcd\xff\x12\x00\xfe\xff\xed\xff"
+	"\x33\x00\xb2\x00\x3b\x01\x76\x01\x89\x01\xb6\x01\x97\x01\xfe\x01"
+	"\xb2\x02\xe2\x02\xa6\x02\x81\x02\xb0\x02\x80\x02\xf5\x01\x07\x01"
+	"\xa3\x00\xf0\x00\x34\x00\x14\xff\x63\xfe\x8e\xfe\x85\xfe\x0a\xfe"
+	"\x26\xfd\xab\xfc\xda\xfc\xde\xfc\x4c\xfd\xc1\xfd\x59\xfe\x69\xfe"
+	"\xb1\xfe\xe2\xfe\x1c\xff\xf2\xff\xae\x00\x90\x00\x96\x00\x9c\x00"
+	"\x41\x01\x3a\x02\xae\x02\x87\x02\x69\x02\xd9\x01\x3d\x01\x5b\x02"
+	"\x48\x02\x08\x01\x7b\x00\x88\x00\xbf\xff\xe9\xff\x9f\xff\xca\xfe"
+	"\xca\xfe\xfb\xfe\xa9\xfe\x80\xfe\x16\xfe\x7c\xfe\xc3\xfe\xd1\xfe"
+	"\xc5\xfe\x8f\xfe\x4c\xff\xc2\xfe\x47\xff\x1f\x00\xe9\xff\x1c\x00"
+	"\xaf\x00\x4c\x00\x84\x00\xed\x00\xdf\x00\xbc\x00\xba\x00\x89\x00"
+	"\x7a\x00\xca\x00\x1b\x01\x6e\x00\x69\x00\x20\x00\xe0\xff\xbf\x00"
+	"\x75\x00\x9a\xff\x54\xff\xbe\xff\xdf\xff\x8f\x00\x22\xff\xa2\xfe"
+	"\x09\x00\x40\x00\x5d\xff\x48\xff\xd9\xff\x38\x00\xb4\xff\xdb\xff"
+	"\xba\x00\x8c\x00\xea\xff\x63\xff\x23\x01\x38\x01\x4a\x01\x8e\x00"
+	"\x63\x00\x5c\x00\x4c\x01\x8f\x01\x1c\x00\x98\xfe\xf3\xfe\x13\x01"
+	"\xea\xff\x84\xfe\xc8\xfd\x3f\x00\x19\x00\xe9\xfe\x4d\xff\xcd\xfe"
+	"\x99\xff\x57\x00\x92\xff\xf2\xff\x4a\xff\x83\x00\x0f\x00\xe3\x00"
+	"\x94\x00\xdc\xff\x07\x01\xd8\x00\x28\x01\xfa\xff\xdd\x00\x7c\x00"
+	"\x57\x01\x72\x00\x85\xff\xde\xff\xfe\x00\x48\x00\xf4\xfe\x81\xfe"
+	"\x16\x00\xc1\xff\x76\xff\x13\xfe\x7d\xfe\x66\x00\x02\xff\x57\xfe"
+	"\x41\xfe\xcf\x00\x81\xff\xf8\xfe\xa1\xff\xe8\xff\x90\x00\x47\x00"
+	"\xf5\xff\x48\x00\x0e\x01\x09\x01\xad\xff\x8f\x00\x25\x01\xaf\x01"
+	"\xa0\x00\xe0\xff\x9d\x00\x49\x00\xd0\x01\x9f\x00\x16\xff\x5e\x00"
+	"\x51\x00\xf0\xff\xe1\xfe\x66\xff\x9e\xff\x1d\xff\x06\xff\xef\xfd"
+	"\x75\xff\xeb\xff\xdb\xff\xcd\xfe\x5f\xff\xfc\xff\x28\x00\xcc\x00"
+	"\x42\x00\x27\x00\xfb\x00\x43\x01\xb5\x00\x25\x01\x0c\x01\x82\x01"
+	"\x1d\x01\x76\x00\x8c\x00\x8a\x00\xe5\x00\x8f\xff\xfe\xff\x2a\x00"
+	"\x3d\xff\xbe\xfe\x16\xff\x4b\xff\xaa\xff\x2b\xff\x31\xfe\x50\xff"
+	"\x80\xff\x42\x00\xc4\xff\x66\x00\xa6\xff\x92\xff\xc8\x00\x93\x00"
+	"\x7b\x01\xb3\x00\x6d\xff\xbc\x00\x54\x01\xc8\x00\x80\x00\x4f\xff"
+	"\xc8\xff\x3c\x00\x96\xff\x85\x00\x62\xfe\xc6\xfe\x6b\xff\x6d\xff"
+	"\xfb\xff\x3b\xfe\xe9\xfe\x67\xfe\xcc\xff\xa0\xff\xad\xff\x12\x00"
+	"\x13\xff\xad\xff\x9a\x01\x5e\x00\x6e\x00\x0b\x01\xba\x00\x5d\x00"
+	"\xbd\x00\x70\x01\x45\x01\x5b\x01\xe8\xfe\x7f\x01\x5a\x00\x2b\x00"
+	"\x5c\x00\x57\xff\x22\x00\xcf\xfe\xf0\xfe\x7a\xff\xc7\xff\x8d\xfe"
+	"\x7d\xfe\x91\xfe\x6a\xff\xc1\xff\xc1\xfe\x13\xff\x15\xff\xa8\x00"
+	"\x7d\x00\x9f\xff\x60\x00\x86\x00\x28\x02\xd6\x00\x19\x01\x08\x01"
+	"\x53\x01\x54\x02\x46\x01\xb7\x00\xa3\x00\xfc\x01\x0e\x00\xda\x00"
+	"\x63\x00\x04\xff\x07\x00\x9e\x00\xe4\xff\x3a\xfe\x22\xff\x57\xff"
+	"\x88\x00\x98\xff\x13\xfe\x0d\xff\x35\x00\x4d\xff\xb5\xff\xfa\xfe"
+	"\x53\xff\x36\x00\x55\xff\xc7\xff\x36\x00\xeb\x00\xbd\xfe\x19\x01"
+	"\xc4\xff\x71\x00\x23\x01\xe4\xff\x93\x00\xc1\xfe\xd5\x00\xe7\x00"
+	"\x66\xff\x7c\xff\xa6\xff\x96\xff\xb6\x00\x5b\xff\xfd\xfe\x71\xff"
+	"\x43\x00\xd1\x00\x1e\xff\x5e\xfe\xb5\xff\x2a\x01\xb0\xff\x6b\xff"
+	"\xed\x00\x03\xff\xa6\xff\x02\x01\xbd\x00\x7b\x01\xc0\xff\x56\xff"
+	"\x46\x00\x06\x00\x5d\xff\x84\x00\x13\xff\xb8\xfd\xba\xfe\x5a\xff"
+	"\x3a\xff\x02\xff\x5f\xff\x19\xff\xb3\xff\x58\x00\xa0\x00\x8d\x00"
+	"\x07\x01\xb3\x01\xcd\x01\x37\x02\x38\x01\xcb\x01\xca\x02\xe9\x01"
+	"\x04\x02\x36\x01\xc0\x00\xab\x00\xda\x00\x08\x01\xfe\xfe\xe9\xfe"
+	"\xfc\xfe\x2a\xff\x5f\xff\xa9\xfd\xab\xfe\x95\xff\xa8\xfe\x16\xfe"
+	"\xb7\xff\x37\xff\x74\xff\xbb\xff\xc1\xff\x90\xff\xc3\xff\xda\xff"
+	"\x40\x00\xfc\x01\x49\xff\x72\xff\x4f\x00\xa9\x00\x5e\x01\x8f\x00"
+	"\xda\xfe\xf3\xfe\x5b\x00\xa1\x01\x41\xff\xed\xfe\xa1\xff\xaf\xff"
+	"\xc0\x00\xeb\xfe\x06\x00\xdf\x00\x8e\xff\xab\xff\x1e\x00\x27\x00"
+	"\xc7\x00\x92\x00\xec\xff\x88\xfe\x3d\x00\x4c\x01\x9c\xff\x15\xff"
+	"\x5f\xff\xcd\xff\x72\xff\x38\xff\x18\xff\x72\xfe\x38\xfe\xb7\xfe"
+	"\xda\xfe\xdc\xfd\xa1\xfd\x40\xff\xb7\xff\xe8\xff\x57\x00\xa0\x00"
+	"\xb2\x01\x3e\x02\xbd\x02\x05\x03\xe9\x02\x09\x03\x2b\x03\x1b\x03"
+	"\x5b\x01\x1a\x02\xad\x03\xf2\x00\x2a\x00\xaf\x00\x02\x00\x29\xff"
+	"\xb5\xff\xdf\xff\x71\xfd\x5d\xfd\xd5\xfd\x5a\xfe\xdf\xfe\x5d\xfe"
+	"\xc6\xfd\x46\xfe\x1a\xff\xe4\xff\x11\x00\x0b\x00\x12\x00\x8d\xff"
+	"\xb3\x00\xc4\x00\xca\xff\x94\x00\xe9\x00\xea\xff\xa7\xff\xa9\xff"
+	"\x10\x00\xf3\x00\x42\x00\x4f\xff\x1a\xff\xe0\xff\xed\xff\x6b\xff"
+	"\xbd\xff\xd5\xfe\x97\xff\xea\xff\x1e\xff\x5e\xff\x13\x00\xd8\x00"
+	"\x2f\x00\x8d\xff\xb9\xff\x9b\x00\xf8\x00\xb6\x00\x88\x00\x87\x00"
+	"\x83\x00\x13\x00\x2a\x00\xf6\xff\xc8\xff\xd1\xfe\x2a\xfe\xdb\xfd"
+	"\x93\xfd\xfa\xfd\x27\xfe\x72\xfe\xad\xfe\xd1\xfe\x6c\xff\xed\x00"
+	"\x96\x01\x11\x02\x17\x02\x3b\x02\x6e\x02\xf2\x02\xbc\x03\x4b\x03"
+	"\x82\x02\x0e\x02\xf0\x01\x6d\x01\x98\x01\x4b\x01\x36\x00\x51\xff"
+	"\x1d\xff\x22\xff\x97\xfe\x5c\xfe\x63\xfe\x6e\xfe\xaa\xfd\xba\xfd"
+	"\x74\xfe\x5f\xff\x43\xff\x0f\xff\x72\xff\xf6\xff\x2f\x00\xb0\xff"
+	"\xae\x00\x86\x01\x39\x00\x6e\xff\x58\x00\x8c\x00\x0c\x01\xd3\x00"
+	"\x47\x00\xc3\xff\xfb\xff\xf5\xff\x0c\x00\x64\x00\xcb\xff\xbc\xfe"
+	"\x3c\xff\xe4\xff\xc6\xfe\xab\xff\x50\x00\xa3\xff\x11\xff\x93\xff"
+	"\x96\xff\x56\x00\x6d\x00\xc1\xff\xf8\xff\x27\x00\xed\x00\x39\x00"
+	"\xc8\xff\xeb\xff\x70\xff\xd3\xfe\xb3\xfd\x17\xfd\xee\xfc\x15\xfd"
+	"\xa5\xfd\xbb\xfd\x6d\xfe\x51\xff\x6a\x00\x96\x01\x97\x02\x51\x03"
+	"\x88\x03\xa5\x03\xc0\x03\xdb\x03\xa8\x03\x4f\x03\x92\x02\x47\x02"
+	"\x68\x01\xbd\x00\xcf\x00\x4c\x00\x5b\xff\xc2\xfe\x81\xfe\x59\xfe"
+	"\x62\xfe\x44\xfe\x80\xfe\x6a\xfe\x48\xfe\x33\xfe\xaa\xfe\x40\xff"
+	"\x54\xff\x11\xff\x9c\xfe\xd5\xfe\x2f\xff\xbd\xff\xb2\xff\xdc\xff"
+	"\x3d\x00\x32\x00\x16\x01\x6c\x01\xe5\x00\x26\x01\x33\x01\xcf\x00"
+	"\x5e\x00\xb7\x00\xe8\x00\x23\x00\x82\x00\x61\x00\x93\x00\x5a\x00"
+	"\x13\x00\x7c\x00\xb7\xff\xfe\xfe\x45\xff\x38\xff\x3f\xff\x37\xff"
+	"\x81\xff\x95\xff\x43\xff\x53\x00\xdf\x00\x23\x01\x27\x00\xee\xff"
+	"\x82\x00\x9d\x00\x73\x00\xcc\xff\xbd\xfd\x38\xfb\xb6\xf9\xb2\xf9"
+	"\x30\xfb\x5d\xfc\x3d\xfd\x5b\xfd\xcc\xfe\x90\x01\xf0\x03\x8a\x05"
+	"\x88\x05\x0b\x05\x0e\x05\x6a\x05\x70\x05\x95\x04\x40\x03\xbb\x01"
+	"\xff\x00\x92\x00\xcb\xff\x37\xff\xf4\xfe\xbc\xfe\xd2\xfe\xb9\xfe"
+	"\x91\xfe\xe7\xfe\x6a\xff\x9a\xff\x62\xff\x0c\xff\xb5\xfe\x89\xfe"
+	"\xa2\xfe\xd3\xfe\x30\xff\x7a\xff\xa7\xff\x7b\xff\x5c\xff\x36\xff"
+	"\xcd\xfe\x93\xfe\x49\xfe\xc1\xfe\x6a\xff\xf1\xff\x63\x00\xd1\x00"
+	"\x64\x01\x08\x02\x42\x02\x3b\x02\x7b\x01\xc2\x00\x9c\x00\x68\x00"
+	"\xd9\x00\xba\x00\xa2\x00\xb0\x00\x71\x00\xa4\x00\x5e\x00\xcd\x00"
+	"\xf9\x00\x02\x00\x0f\xff\x92\xfe\x45\xff\xc3\xff\xc9\xff\x93\xff"
+	"\x7b\xff\xf2\xff\x0e\x00\x18\x00\xff\xff\xce\xff\x8a\xfe\x55\xfb"
+	"\x70\xf8\x94\xf6\x06\xf7\xdd\xf8\xa0\xfa\x77\xfc\xab\xfe\xef\x01"
+	"\x9e\x05\x2f\x08\xc4\x08\xeb\x07\xfb\x06\xcc\x06\x76\x06\xbf\x05"
+	"\xea\x03\x07\x01\x9d\xfe\xb7\xfd\x42\xfe\xe0\xfe\xf6\xfe\xb5\xfe"
+	"\x5e\xfe\xe7\xfe\xae\xff\x38\x00\x95\x00\xaf\x00\xf5\x00\xdc\x00"
+	"\x38\x00\x4c\xff\x69\xfe\x3b\xfe\xb4\xfe\x51\xff\x80\xff\x11\xff"
+	"\x86\xfe\x3f\xfe\x45\xfe\x24\xfe\xe7\xfd\xde\xfd\x4c\xfe\x59\xff"
+	"\x43\x00\xc6\x00\xee\x00\x1d\x01\x7a\x01\xd8\x01\xee\x01\x51\x01"
+	"\xa4\x00\x64\x00\xa2\x00\x05\x01\x46\x01\x4a\x01\x19\x01\xd0\x00"
+	"\xa6\x00\x6f\x00\x9d\x00\xf8\x00\xca\x00\x40\x00\xa9\xff\x80\xff"
+	"\xbc\xff\x12\x00\x3f\x00\x7c\x00\x72\x00\x5f\x00\xdf\xff\xb2\xfe"
+	"\x15\xfc\x66\xf8\x88\xf5\x37\xf4\xaa\xf5\x82\xf8\x3f\xfb\xf5\xfd"
+	"\x0d\x01\x56\x05\x30\x09\xef\x0a\x5f\x0a\x0a\x08\x54\x06\xa6\x05"
+	"\x46\x05\x26\x04\x5c\x01\x7e\xfe\xca\xfc\x8b\xfc\x60\xfd\x90\xfe"
+	"\x9b\xff\x43\x00\xea\x00\x8c\x01\xc6\x01\xb3\x01\x86\x01\x5b\x01"
+	"\x37\x01\x92\x00\x36\xff\x96\xfd\x69\xfc\x4f\xfc\x11\xfd\x38\xfe"
+	"\x27\xff\x69\xff\x34\xff\xf5\xfe\xe0\xfe\xb5\xfe\x6a\xfe\x68\xfe"
+	"\xc2\xfe\x5b\xff\xe1\xff\xfa\xff\xf4\xff\x3d\x00\xd6\x00\x55\x01"
+	"\x7f\x01\x6f\x01\x36\x01\x43\x01\x66\x01\x8d\x01\xcc\x01\xda\x01"
+	"\x9d\x01\x3f\x01\x15\x01\xda\x00\xa3\x00\x70\x00\x3d\x00\x09\x00"
+	"\xdd\xff\xe3\xff\xf4\xff\xef\xff\xe5\xff\x02\x00\x9f\x00\x50\x01"
+	"\x9a\x00\x88\xfd\x5f\xf8\xd3\xf3\x57\xf2\x27\xf4\x85\xf7\x5b\xfa"
+	"\xd2\xfc\x46\x00\x4b\x05\x3c\x0a\x8f\x0c\x76\x0b\x61\x08\xd0\x05"
+	"\xec\x04\x62\x04\xe8\x02\xea\xff\x9f\xfc\xd3\xfa\x16\xfb\xd9\xfc"
+	"\xee\xfe\xd9\x00\xa5\x02\x4f\x04\x5e\x05\x3d\x05\x10\x04\xae\x02"
+	"\x8a\x01\xaa\x00\x79\xff\xa9\xfd\xbb\xfb\xa8\xfa\x04\xfb\x56\xfc"
+	"\xe8\xfd\x3a\xff\x30\x00\xd3\x00\xe7\x00\x35\x00\xb8\xfe\x22\xfd"
+	"\x94\xfc\x2c\xfd\x5d\xfe\x20\xff\x0e\xff\xde\xfe\x50\xff\x9a\x00"
+	"\xd8\x01\x45\x02\x0c\x02\xec\x01\x2d\x02\x99\x02\xc8\x02\x91\x02"
+	"\x10\x02\xa3\x01\x3a\x01\xaf\x00\x22\x00\xc0\xff\xb1\xff\xd8\xff"
+	"\x1a\x00\x0b\x00\xe9\xff\xda\xff\x0b\x00\x85\x00\xf5\x00\x19\x01"
+	"\x31\x00\x75\xfd\x4d\xf9\x44\xf5\x69\xf3\x7b\xf4\x70\xf7\xcd\xfa"
+	"\x00\xfe\xbf\x01\x32\x06\x53\x0a\x48\x0c\x48\x0b\x4d\x08\x0f\x05"
+	"\x9c\x02\xc0\x00\xe9\xfe\xce\xfc\x0f\xfb\x98\xfa\x94\xfb\xa5\xfd"
+	"\x34\x00\xe7\x02\x7a\x05\x64\x07\xdf\x07\x81\x06\xc7\x03\xe4\x00"
+	"\xb8\xfe\x39\xfd\xf0\xfb\x98\xfa\xa9\xf9\xc4\xf9\x07\xfb\x26\xfd"
+	"\x99\xff\x13\x02\x70\x04\x2b\x06\x88\x06\xff\x04\x6b\x01\x39\xfd"
+	"\x25\xfa\x07\xf9\xa8\xf9\xcb\xfa\xfc\xfb\x75\xfd\xc8\xff\x9f\x02"
+	"\xc3\x04\x68\x05\xc1\x04\x96\x03\x60\x02\x08\x01\x89\xff\x5a\xfe"
+	"\xef\xfd\x5a\xfe\x1b\xff\xde\xff\x8f\x00\x1f\x01\x8e\x01\x5a\x01"
+	"\xc4\x00\x5f\x00\xa7\x00\x7b\x01\x2d\x02\x3b\x02\xe3\x01\x30\x01"
+	"\x0d\x00\x31\xfd\xd9\xf7\x0a\xf3\xe9\xf0\x54\xf3\x44\xf8\xd6\xfc"
+	"\xd3\x00\x95\x04\x39\x09\x0d\x0d\xb2\x0d\x0e\x0b\x98\x06\xb0\x02"
+	"\x0c\x00\x9a\xfd\x12\xfb\xda\xf8\x52\xf8\xcf\xf9\x91\xfc\xd7\xff"
+	"\x48\x03\xfa\x06\x08\x0a\x1e\x0b\xbe\x09\x46\x06\x2b\x02\x77\xfe"
+	"\x4f\xfb\xe2\xf8\x2a\xf7\xc1\xf6\xb9\xf7\xd0\xf9\xbd\xfc\x03\x00"
+	"\x78\x03\x82\x06\x6c\x08\xac\x08\xfe\x06\xd0\x03\xc3\xff\x96\xfb"
+	"\x8c\xf8\x66\xf7\x6d\xf8\xbe\xfa\x4e\xfd\xac\xff\xe4\x01\xf7\x03"
+	"\x4e\x05\x6d\x05\x50\x04\xaf\x02\x57\x01\x4a\x00\x3a\xff\x40\xfe"
+	"\x9c\xfd\xde\xfd\x89\xfe\x34\xff\x86\xff\xd1\xff\x68\x00\x1f\x01"
+	"\x59\x01\x38\x01\x53\x01\x00\x02\xd3\x02\x65\x02\xe3\xff\xf0\xfa"
+	"\xec\xf5\x8d\xf2\x34\xf2\x9c\xf4\xb1\xf8\x4e\xfe\x9d\x04\xad\x0a"
+	"\x9e\x0e\x37\x0f\x13\x0d\x50\x09\x12\x05\xd8\x00\xb9\xfc\xb3\xf9"
+	"\x42\xf8\x3a\xf8\xef\xf8\x46\xfa\x03\xfd\x6b\x01\x72\x06\x2a\x0a"
+	"\x3d\x0b\x0a\x0a\x5b\x07\xc8\x03\x70\xff\xa4\xfa\xbb\xf6\xcc\xf4"
+	"\x00\xf5\xb8\xf6\x38\xf9\x7c\xfc\x94\x00\xf6\x04\x8a\x08\x6e\x0a"
+	"\x84\x0a\x03\x09\x18\x06\xee\x01\x4d\xfd\x6b\xf9\x0a\xf7\xe6\xf5"
+	"\xb2\xf5\xf3\xf6\x34\xfa\x08\xff\xc0\x03\x2a\x07\x21\x09\xc1\x09"
+	"\xe5\x08\xe2\x05\x1d\x01\x36\xfc\x0f\xf9\x5b\xf8\x85\xf9\xd5\xfb"
+	"\x10\xff\xb2\x02\xa4\x05\xae\x06\x8c\x05\x98\x03\x10\x02\x32\x01"
+	"\x5e\x00\x83\xff\x40\xff\xa7\xff\xce\xff\xc4\xfe\xe2\xfc\x77\xfb"
+	"\x81\xfa\xa4\xf8\x72\xf5\x02\xf3\xed\xf3\x43\xf8\xcd\xfd\x8b\x02"
+	"\xba\x06\x00\x0b\x5c\x0e\xd6\x0e\xd8\x0b\x10\x07\x86\x02\xc0\xfe"
+	"\x6d\xfb\xd6\xf8\x0f\xf8\x52\xf9\x80\xfb\xb9\xfd\x64\x00\x7e\x04"
+	"\x63\x09\xef\x0c\x62\x0d\xd4\x0a\x96\x06\x5c\x01\x49\xfb\x33\xf5"
+	"\x05\xf1\x77\xf0\x56\xf3\xb5\xf7\x20\xfc\x48\x00\x85\x04\x56\x08"
+	"\x9a\x0a\xd1\x0a\x92\x09\x86\x07\x76\x04\x07\x00\xc9\xfa\xa4\xf6"
+	"\xe8\xf4\x1f\xf5\xd5\xf5\x30\xf7\xe0\xfa\xd4\x00\xe8\x06\x70\x0a"
+	"\x2e\x0b\x8e\x0a\xf2\x08\x97\x05\x31\x00\xab\xfa\x80\xf7\x38\xf7"
+	"\xb5\xf8\x10\xfb\x6e\xfe\xb8\x02\x1f\x06\x0b\x07\xb7\x05\x1b\x04"
+	"\x3d\x03\x4e\x02\x85\x00\xd3\xfe\x8f\xfe\x96\xff\xd6\xff\xd8\xfe"
+	"\x4e\xfd\xd6\xfc\xc8\xfb\x72\xf8\x82\xf4\xd2\xf1\xa7\xf3\xed\xf7"
+	"\xc4\xfc\xec\x01\x3e\x07\xca\x0c\x99\x0f\x7c\x0e\xe3\x0a\x62\x06"
+	"\x80\x02\x57\xfe\x49\xfa\x04\xf8\xdc\xf7\x4c\xf9\xb1\xfa\xa2\xfc"
+	"\x8b\x00\x19\x06\x87\x0b\x22\x0e\x89\x0d\xce\x0a\x4b\x06\x7c\x00"
+	"\xb8\xf9\x3e\xf4\xd8\xf1\x71\xf2\xe9\xf4\x06\xf8\xf8\xfb\xa7\x00"
+	"\x02\x05\x1d\x08\xb3\x09\x57\x0a\xe3\x09\xaf\x07\x97\x03\x8d\xfe"
+	"\x25\xfa\x0c\xf7\x78\xf5\xa2\xf5\x9e\xf7\xb3\xfa\x5b\xfd\x9f\xff"
+	"\xe7\x01\x8d\x04\xbf\x06\x56\x07\xa5\x06\x1e\x05\x07\x03\x25\x00"
+	"\x9b\xfc\xdc\xf9\x17\xf9\x5d\xfa\xfc\xfc\x40\x00\xff\x03\x05\x07"
+	"\x6a\x08\x96\x07\xdd\x05\x22\x04\xb9\x02\x31\x01\x60\xff\xf2\xfd"
+	"\x69\xfd\x44\xfd\x1b\xfd\x68\xfc\x93\xfc\xdf\xfd\x87\xff\x0c\xff"
+	"\x68\xf9\x35\xf4\xe6\xf1\xe2\xf3\x85\xf7\x5d\xfa\x3d\xff\xb4\x05"
+	"\x70\x0b\xcb\x0d\x50\x0c\x9c\x0a\xa8\x08\xef\x04\xbe\xff\xfb\xfa"
+	"\xdb\xf9\x47\xfa\xff\xf9\xa8\xf9\xf2\xfb\x0a\x02\x71\x08\xfe\x0b"
+	"\xdd\x0c\x2c\x0c\x64\x0a\xa9\x05\xb0\xfe\xaa\xf8\xb3\xf5\x2d\xf5"
+	"\xb8\xf4\x7d\xf4\x85\xf6\x16\xfb\x58\x00\x49\x04\x6b\x07\xd4\x0a"
+	"\x44\x0d\x52\x0c\x55\x07\xdf\x00\x41\xfb\x01\xf7\xbf\xf3\x3c\xf2"
+	"\xfc\xf3\x5a\xf8\x22\xfd\xa3\x00\xdd\x02\xd1\x04\x77\x06\xe7\x06"
+	"\xee\x05\x02\x04\xe5\x01\xb9\xff\x8f\xfd\x3d\xfc\xe7\xfb\x9e\xfc"
+	"\xb7\xfd\xfb\xfe\x96\x00\xb8\x02\xe0\x04\x72\x06\x24\x07\x50\x07"
+	"\xda\x06\x91\x05\x72\x03\xeb\x00\x83\xfe\x7a\xfc\xba\xfa\x6a\xf9"
+	"\x69\xf9\xde\xfa\x5a\xfd\x5b\xff\xe4\x00\xc4\x01\x0c\x02\x84\xfe"
+	"\x6b\xf8\xf6\xf3\xff\xf2\xfe\xf4\xff\xf6\xe9\xf9\x7a\xff\x36\x06"
+	"\x04\x0b\x7a\x0c\x53\x0c\x18\x0c\xc1\x09\x09\x05\x6e\xff\xed\xfb"
+	"\xaa\xfa\xad\xf9\xd9\xf8\x1c\xfa\xd2\xfe\xe2\x04\x41\x09\x4a\x0b"
+	"\xe5\x0b\x47\x0b\x68\x08\x37\x03\xe7\xfd\x26\xfa\xd0\xf7\xa5\xf5"
+	"\xe7\xf3\x52\xf4\x71\xf7\xea\xfb\x78\x00\xea\x04\x27\x09\xb6\x0b"
+	"\x08\x0b\x23\x07\xf0\x01\x01\xfd\x95\xf8\x20\xf5\x73\xf3\x88\xf4"
+	"\x97\xf7\x0f\xfb\x64\xfe\xd9\x01\xbf\x05\xc9\x08\xa2\x09\x52\x08"
+	"\x8f\x05\x06\x02\x22\xfe\x9b\xfa\xcf\xf8\x51\xf9\x92\xfb\x98\xfe"
+	"\xb5\x01\xae\x04\xdb\x06\x89\x07\xbd\x06\x29\x05\xc6\x03\xd3\x02"
+	"\x17\x02\x63\x01\xd8\x00\x50\x00\x8d\xff\x40\xfe\x9e\xfc\x57\xfb"
+	"\xc3\xfa\x0b\xfb\x06\xfc\xb1\xfd\xcd\xff\xb5\x01\xa1\x02\x58\x02"
+	"\xe6\x00\x8a\xfe\x9a\xfa\x6f\xf6\x13\xf4\x19\xf4\x0b\xf6\x64\xf8"
+	"\xc8\xfb\xf1\x00\xb2\x06\x1b\x0b\xd1\x0c\xb6\x0c\x5d\x0b\x6e\x08"
+	"\x62\x04\x7b\x00\x3b\xfe\x2b\xfd\x4e\xfc\xfb\xfb\x2c\xfd\xf9\xff"
+	"\x16\x03\x66\x05\xfe\x06\xed\x07\xad\x07\x99\x05\x22\x02\x77\xfe"
+	"\x2a\xfb\x64\xf8\x89\xf6\x32\xf6\x96\xf7\x17\xfa\xfe\xfc\xfc\xff"
+	"\x9f\x02\x43\x04\x5c\x04\x25\x03\x6d\x01\x6f\xff\x80\xfd\xf1\xfb"
+	"\x6c\xfb\x35\xfc\xb7\xfd\x2f\xff\x7d\x00\xd6\x01\x2e\x03\x2a\x04"
+	"\x86\x04\xaa\x04\xc3\x04\x37\x04\xb6\x02\x0c\x01\xe4\xff\xa0\xff"
+	"\x5e\xff\xdc\xfe\xbd\xfe\xa5\xff\x26\x00\xd6\x00\x11\x01\xf9\x01"
+	"\x2b\x00\xdf\xf8\x3f\xf3\x0c\xf2\xed\xf5\xc8\xf9\x7b\xfb\xa1\xff"
+	"\x5a\x05\x9d\x09\xae\x0a\xa1\x09\x98\x09\xb0\x07\x29\x02\xf0\xfb"
+	"\xa3\xf8\x10\xf9\x7f\xf9\xc3\xf8\x13\xfa\x01\xff\x0c\x05\xd1\x08"
+	"\x5e\x0a\x6b\x0b\xfd\x0a\x84\x07\xa4\x01\xc8\xfc\x52\xfa\x84\xf8"
+	"\x61\xf6\x2f\xf5\x9e\xf6\x1b\xfa\xd9\xfd\xe1\x01\x89\x06\x07\x0b"
+	"\x04\x0d\x69\x0b\x7c\x07\xa4\x02\xd5\xfd\x63\xf9\x8a\xf6\xf5\xf5"
+	"\x1f\xf7\x17\xf9\x2b\xfb\xcd\xfd\xc9\x00\xc1\x03\x2f\x06\x62\x07"
+	"\x3b\x07\x46\x05\xd2\x01\x42\xfe\x95\xfb\x68\xfa\x3e\xfa\x4c\xfa"
+	"\xe5\xfa\x47\xfc\x8f\xfe\xa6\x01\x04\x05\xbb\x07\x87\x08\x3d\x07"
+	"\x10\x05\x47\x03\xff\x01\xcb\x00\xe3\xff\x77\xff\x0a\xff\xb9\xfd"
+	"\xdb\xfb\x27\xfb\x54\xfb\x34\xfb\xb8\xfa\x56\xfa\x54\xfb\xb5\xfc"
+	"\x96\xfd\x9e\xfe\xb4\x00\xb4\x03\x44\x05\x9a\x04\xd7\x02\x05\x01"
+	"\x5a\xff\x97\xfd\xe2\xfc\xcc\xfd\xf4\xfe\x2b\xff\xee\xfe\xfe\xff"
+	"\xb5\x02\xad\x05\xb7\x07\x7e\x08\xde\x07\xcf\x05\xc0\x02\x1f\x00"
+	"\x90\xfe\xa1\xfd\x6e\xfc\xf8\xfa\x3d\xfa\xb8\xfa\x65\xfc\xe9\xfe"
+	"\xef\x01\xb1\x04\xf1\x05\x52\x05\x85\x03\x77\x01\xd3\xff\x55\xfe"
+	"\xb2\xfc\x46\xfb\x1f\xfa\xa3\xf9\x8d\xf9\x8b\xf9\xfb\xfa\xed\xfd"
+	"\x7f\x01\x27\x04\x23\x05\x94\x05\xb6\x05\x68\x05\x54\x04\x49\x02"
+	"\xb4\xff\x7f\xfc\xda\xf9\xab\xf9\x84\xfc\xcf\x00\xbb\x03\xbf\x04"
+	"\x11\x05\x55\x05\x07\x05\xde\x03\x6b\x02\xc3\x00\x4f\xfe\xd3\xfb"
+	"\xf2\xfa\xc4\xfb\x9a\xfc\x2b\xfc\x78\xfb\x20\xfc\xea\xfc\xd9\xfb"
+	"\xdc\xfa\x15\xfc\x17\xff\x17\x01\xa1\x00\x1c\x01\x45\x03\xf1\x04"
+	"\xcc\x04\x8c\x03\x8f\x03\x66\x03\x78\x01\x44\xff\x97\xfe\x95\xff"
+	"\xad\xff\x58\xfe\x0f\xfe\x95\xff\xdb\x01\x33\x03\xc2\x03\x9d\x04"
+	"\xb9\x04\x6e\x03\x87\x01\x16\x00\xfe\xfe\x03\xfd\xbe\xfa\xff\xf9"
+	"\x19\xfb\x0f\xfd\xf9\xfe\xec\x00\xae\x02\x47\x03\xcf\x02\x3e\x02"
+	"\x1a\x02\x80\x01\xf9\xff\x0a\xfe\x90\xfc\xa9\xfb\x6f\xfb\x73\xfc"
+	"\x8e\xfe\x92\x00\x68\x01\x8a\x01\x05\x02\xbf\x02\xf9\x02\x87\x02"
+	"\x9b\x01\xb5\x00\x56\xff\x57\xfe\x6a\xfe\x36\xff\xbd\xff\xc7\xff"
+	"\x72\xff\xd2\xff\xa7\x00\x20\x01\x52\x01\x6a\x01\x63\x01\x86\x00"
+	"\x4a\xfe\xd8\xfb\x0a\xfb\xce\xf9\x29\xf9\x16\xf9\xc4\xfa\xfc\xfd"
+	"\x69\x00\x66\x03\x52\x06\x7e\x08\x11\x09\x6b\x07\x8e\x05\x85\x03"
+	"\xbe\x00\xc3\xfd\x13\xfb\x31\xfa\x97\xfa\xd1\xfb\x4f\xfe\x6b\x01"
+	"\x1b\x04\x41\x05\x29\x05\x13\x05\x83\x04\x2b\x03\xdd\x00\x4a\xfe"
+	"\xed\xfb\xe4\xf9\xd5\xf8\x5d\xf9\x3c\xfb\x8a\xfd\xa9\xff\xe3\x01"
+	"\x41\x04\x4a\x06\x3d\x07\xc6\x06\x41\x05\x95\x02\x71\xff\x8f\xfc"
+	"\xd3\xfa\x17\xfa\x06\xfa\x31\xfa\x7a\xfa\x75\xfb\xa5\xfd\xbf\x00"
+	"\x39\x03\x15\x04\xf9\x03\x17\x04\x4e\x04\xc9\x03\x21\x02\xd9\xff"
+	"\xb3\xfd\x2a\xfc\xbe\xfb\x1b\xfd\x7b\xff\x89\x01\xc5\x02\xa5\x03"
+	"\xf5\x04\x20\x06\xc9\x05\xfc\x03\xa0\x01\x8b\xff\x14\xfe\x37\xfd"
+	"\x43\xfd\x3c\xfd\x50\xfb\xcf\xf8\x6b\xf8\x3a\xfa\xc1\xfb\xd9\xfa"
+	"\xdb\xf9\xf0\xfa\x1d\xfe\x0c\x02\xee\x04\xa2\x06\x41\x06\x29\x04"
+	"\x0b\x03\xe4\x03\xdd\x04\x4b\x03\x46\xff\x16\xfc\xad\xfb\x8e\xfd"
+	"\xe0\xff\x73\x01\x0e\x02\x01\x02\x85\x02\xa2\x04\xc9\x06\xad\x06"
+	"\x17\x04\x8b\x00\x7f\xfe\xb9\xfd\x97\xfc\x63\xfa\x58\xf8\xf7\xf7"
+	"\xde\xf9\x74\xfd\x08\x01\xe3\x02\xe5\x02\x73\x02\x04\x03\x8a\x04"
+	"\x56\x04\xac\x01\x6f\xfe\xd4\xfc\x13\xfd\xb0\xfd\x03\xfe\x2b\xfe"
+	"\x83\xfe\xe3\xff\x1c\x02\x63\x04\x42\x05\xa7\x04\xc6\x03\x6e\x03"
+	"\xa5\x02\x82\x00\x9d\xfd\xa4\xfb\x24\xfb\x27\xfb\xc4\xfb\x50\xfc"
+	"\x0d\xfd\xe8\xfd\xd8\xfe\xcf\x00\xed\x01\x30\x01\x1f\xff\x53\xfa"
+	"\x3d\xf9\xe1\xfb\x63\xfd\xba\xfb\x2a\xf9\x79\xfd\x91\x04\xe2\x08"
+	"\x54\x09\xe9\x07\xfd\x07\x02\x08\x57\x07\xd4\x06\x16\x04\xab\xfe"
+	"\xa0\xf9\x00\xf9\xfd\xfb\xfd\xfd\x9e\xfd\xea\xfc\xaf\xfe\x1c\x02"
+	"\x8a\x04\x73\x05\x98\x04\xff\x01\x57\xff\x2c\xfe\xd3\xfd\xf8\xfb"
+	"\xd0\xf8\x97\xf7\x0d\xfa\xe5\xfd\x0e\x00\xf1\x00\x1d\x02\x18\x04"
+	"\x45\x06\x16\x07\x96\x06\x45\x04\x02\x01\xd7\xfe\x1d\xfe\xbf\xfd"
+	"\x0e\xfc\x43\xfa\x71\xfa\x97\xfc\x35\xff\x92\x00\x2a\x01\xea\x01"
+	"\x98\x02\x20\x03\xd5\x02\xc5\x01\x67\xff\x4f\xfc\x3a\xfb\x19\xfc"
+	"\xd6\xfc\xe0\xfb\x7f\xfb\xbc\xfd\x39\x01\x05\x04\x40\x05\xda\x05"
+	"\x01\x06\xa8\x05\x2c\x05\xda\x03\x72\x01\xc7\xfe\x36\xfd\x38\xfd"
+	"\x72\xfd\xb6\xfd\x96\xfe\xee\xff\x3d\x01\x59\x02\xf8\x02\xa4\x02"
+	"\x5f\x01\x03\x00\x0c\xff\x5c\xfe\xe7\xfd\xe7\xfc\x62\xfb\x78\xfa"
+	"\x91\xfa\xc1\xfa\x38\xfa\xc3\xf9\x7c\xfa\xed\xfb\xa6\xfd\xc2\xff"
+	"\x50\x02\x9a\x04\xf3\x05\x12\x07\x1d\x08\x57\x08\x2a\x07\x16\x05"
+	"\x11\x03\x49\x01\xaf\xff\x49\xfe\x6a\xfd\xf4\xfc\xf4\xfc\xae\xfd"
+	"\xf5\xfe\x9d\x00\x11\x02\xf5\x02\x56\x03\x34\x03\x6a\x02\x18\x01"
+	"\x73\xff\xa6\xfd\x1f\xfc\x5b\xfb\x87\xfb\x71\xfc\xaf\xfd\x31\xff"
+	"\x32\x01\x60\x03\xc1\x04\xdb\x04\x74\x04\xa5\x03\xa2\x02\x08\x01"
+	"\x39\xff\xad\xfd\x6d\xfc\x72\xfb\x7b\xfa\x1d\xfa\x1f\xfa\x80\xfa"
+	"\xc3\xfa\x62\xfb\x95\xfc\xed\xfd\x44\xff\x68\x00\x6a\x01\x4a\x02"
+	"\x0a\x03\xaf\x03\xe3\x03\x77\x03\xc0\x02\x6b\x02\xaf\x02\xbb\x02"
+	"\x79\x02\x4b\x02\xbf\x02\x53\x03\x45\x03\xde\x02\x92\x02\x47\x02"
+	"\x94\x01\x65\x00\x2c\xff\x4e\xfe\xd4\xfd\x55\xfd\xc9\xfc\x98\xfc"
+	"\xd9\xfc\x32\xfd\x8a\xfd\xd4\xfd\x3f\xfe\xb8\xfe\x25\xff\x9b\xff"
+	"\x2c\x00\x7f\x00\x63\x00\xe5\x00\x81\x01\x90\x01\x4a\xff\x68\xfd"
+	"\x43\xfe\x31\xff\xbd\xfd\xd7\xfb\x29\xfd\x0e\x00\xe8\x01\x95\x02"
+	"\xa2\x03\xfb\x04\x5b\x05\x45\x05\xfc\x04\x99\x03\x9c\x01\x46\x00"
+	"\x50\xff\xb2\xfd\x98\xfc\xbc\xfc\x9a\xfd\xe3\xfd\x8c\xfe\x75\xff"
+	"\x4f\x00\x64\x00\x76\x00\x76\x00\xa6\xff\xab\xfe\x7b\xfe\x08\xfe"
+	"\xb1\xfd\x79\xfd\x54\xfe\x11\x00\xd9\x00\xd1\x01\x91\x01\x44\xff"
+	"\x19\xfc\x1a\xff\xbf\x00\x9f\xfc\x2d\xf8\x04\xfb\x94\x01\xc1\x03"
+	"\xb5\x02\x2c\x02\x0f\x05\x14\x07\x92\x07\x6d\x06\xd9\x03\xc2\x00"
+	"\xfa\xff\x4d\x00\x88\xfe\x84\xfb\x04\xfb\x11\xfd\xab\xfe\x78\xfe"
+	"\x67\xfe\xf5\xff\xa2\x02\x0c\x04\x82\x03\x72\x02\xea\x01\xbf\x01"
+	"\xb1\x00\xed\xfe\x01\xfd\x28\xfc\x54\xfc\xa2\xfc\x71\xfc\x92\xfc"
+	"\xa6\xfd\x76\xff\xcd\x00\x75\x01\x77\x01\x92\x01\x53\x02\x2a\x03"
+	"\x75\x02\xaa\xff\xf7\xfd\x64\xfe\xc1\xfe\x26\xfd\xc1\xfb\xca\xfc"
+	"\x3f\xff\x4a\x01\xe6\x01\x53\x02\x36\x03\x23\x04\x52\x04\x73\x03"
+	"\xe7\x01\x93\x00\x74\x00\x9d\x00\xf3\xff\x2a\xff\xa1\xff\xfa\x00"
+	"\xa9\x01\x0c\x01\x87\x00\xbf\x00\x1a\x01\x46\x00\xa6\xfe\x9e\xfd"
+	"\x48\xfd\x67\xfd\xfb\xfb\x09\xfa\x00\xf9\x7b\xf9\xed\xf9\xaf\xf9"
+	"\x0a\xfa\x57\xfb\x50\xfd\x47\xff\xbd\x01\xaf\x03\x17\x05\x8e\x06"
+	"\x32\x08\xd0\x08\xf4\x07\x93\x06\x9c\x05\xe4\x04\x96\x03\xc3\x01"
+	"\x35\x00\x84\xff\x50\xff\xfb\xfe\xd1\xfe\x13\xff\x39\xff\x06\xff"
+	"\xda\xfe\xdd\xfe\x8c\xfe\x1b\xfe\xcd\xfd\xcd\xfd\xd7\xfd\x17\xfe"
+	"\x93\xfe\x39\xff\x68\xff\xa6\xff\x71\x00\x5c\x01\x89\x01\xfd\x00"
+	"\x30\x01\x6d\x01\x9b\x01\x9a\x00\x24\xff\x6d\xfe\xaa\xfd\x61\xfc"
+	"\x52\xfb\xa7\xfa\x3e\xfa\xbb\xfa\xb2\xfb\xc8\xfc\xf9\xfd\xaa\xff"
+	"\xa3\x01\x41\x03\x47\x04\x0b\x05\x7d\x05\xaa\x05\x51\x05\xc9\x04"
+	"\xfe\x03\x15\x03\x92\x02\x2c\x02\x77\x01\xd0\x00\xab\x00\x8b\x00"
+	"\x28\x00\x80\xff\x0b\xff\xb0\xfe\x4a\xfe\xf5\xfd\xa8\xfd\x58\xfd"
+	"\x2f\xfd\x71\xfd\xe5\xfd\x6c\xfe\x02\xff\x6d\xff\xa2\xff\x16\x00"
+	"\x9a\x00\xf7\x00\xcd\x00\xae\x00\xa3\x00\xa1\x00\xa1\x00\xa2\x00"
+	"\x6f\x00\x4d\xff\x20\xfe\x29\xfc\xb2\xfb\x70\xfc\xcb\xfb\x42\xfa"
+	"\x1e\xfb\x2c\xfe\x8d\x00\xff\x01\x13\x03\xb0\x04\x55\x06\x5f\x07"
+	"\xc7\x06\xad\x05\xd0\x04\x11\x04\x01\x03\x73\x01\x31\x00\xf6\xff"
+	"\xeb\xff\x74\xff\x8a\xfe\x2a\xfe\x9a\xfe\xd4\xfe\x10\xfe\x92\xfc"
+	"\x00\xfc\xb5\xfc\xce\xfc\xaf\xfb\x43\xfb\x21\xfc\x73\xfd\x33\xfe"
+	"\x95\xfe\x32\xff\x3b\x00\x7d\x01\x37\x02\xfe\x01\x0a\x02\x83\x02"
+	"\xbb\x02\x8b\x02\x13\x02\xf4\x01\x1f\x02\x15\x02\xb4\x01\x0f\x01"
+	"\xc3\x00\xfa\x00\xef\x00\xf9\xff\x2a\xff\x10\xff\x69\xff\xf7\xfe"
+	"\x34\xfe\xa6\xfd\x10\xfe\xd4\xfe\x51\xff\x61\xff\xbb\xff\x7e\x00"
+	"\x4f\x01\xde\x01\xcc\x01\xae\x01\x8f\x01\x92\x01\x33\x01\x98\x00"
+	"\x8d\xff\x6d\xff\xd5\xfe\xaf\xfe\x0b\xfe\x6f\xfe\x2d\xfe\x67\xfe"
+	"\x82\xfe\x83\xff\x86\xff\x0e\x00\x73\xff\x01\x00\xeb\xfe\x29\xfb"
+	"\x60\xfe\x3d\xff\xfd\xfc\x4c\xfa\x08\xfd\xb8\xff\xdb\x00\x6e\x00"
+	"\xa2\x01\x1f\x02\x63\x04\xef\x05\xac\x05\x0b\x05\x2d\x04\xfe\x05"
+	"\xeb\x05\xf1\x03\xf4\x01\x35\x02\xbc\x01\x93\x00\x72\xfe\xcc\xfd"
+	"\x04\xfc\x9c\xfc\xaf\xfc\x71\xfb\x40\xfa\x20\xfb\x84\xfc\x88\xfc"
+	"\x6f\xfc\x7b\xfd\xb2\xfe\xa1\xff\xd1\x00\x2a\x01\xc8\x01\x3a\x02"
+	"\x30\x03\x21\x03\xcc\x02\x0d\x02\xf5\x01\xc2\x01\x65\x01\x71\x00"
+	"\xb9\xff\x75\xff\x6c\xff\x40\xff\x1c\xff\xd0\xfe\x37\xff\xda\xff"
+	"\xdf\xff\x0d\x00\x1c\x00\x85\x00\x82\x00\x29\x00\xcb\xff\xbd\xff"
+	"\xad\xff\xb6\xff\xa1\xff\x7a\xff\x94\xff\x01\x00\x87\x00\x60\x00"
+	"\x1b\x00\x56\x00\x79\x00\x5a\x00\xd2\xff\x86\xff\x6f\xff\x60\xff"
+	"\x4f\xff\xf6\xfe\xb3\xfe\xc4\xfe\x57\xff\x73\xff\x60\xff\x75\xff"
+	"\xfe\xff\x3b\x00\x19\x00\x4a\x00\x4d\x00\xf3\xff\xd8\xff\xdd\xff"
+	"\xae\xff\xcd\xff\xd5\xff\x09\x00\x30\x00\x68\x00\x80\x00\x9d\x00"
+	"\xae\x00\xcd\x00\xba\x00\xa5\x00\xa6\x00\xb0\x00\xa1\x00\x9d\x00"
+	"\xcb\x00\x06\x01\x20\x01\x12\x01\x4b\x01\x45\x01\x3b\x01\x18\x01"
+	"\xd2\x00\x77\x00\x35\x00\xb5\xff\x7c\xff\x2c\xff\xe7\xfe\xb1\xfe"
+	"\x92\xfe\x7c\xfe\x74\xfe\x7a\xfe\x9e\xfe\xc4\xfe\xc8\xfe\xfa\xfe"
+	"\x56\xff\xc2\xff\xd8\xff\x2f\x00\x71\x00\xba\x00\xdc\x00\x13\x01"
+	"\x2e\x01\x45\x01\x1c\x01\x04\x01\xf4\x00\xc0\x00\x86\x00\x16\x00"
+	"\xb6\xff\x51\xff\x1b\xff\xc3\xfe\x69\xfe\x16\xfe\x2b\xfe\x46\xfe"
+	"\x31\xfe\x3c\xfe\x7f\xfe\xc1\xfe\xe9\xfe\x28\xff\x7a\xff\xab\xff"
+	"\xea\xff\x3d\x00\x63\x00\xa2\x00\xe3\x00\x1c\x01\x57\x01\x8b\x01"
+	"\xbc\x01\x02\x02\x50\x02\x60\x02\x59\x02\x55\x02\x4f\x02\x3f\x02"
+	"\xe7\x01\x82\x01\x26\x01\xc0\x00\x67\x00\x16\x00\xa6\xff\x35\xff"
+	"\xeb\xfe\xdb\xfe\x9c\xfe\x67\xfe\x59\xfe\x59\xfe\x5d\xfe\x63\xfe"
+	"\x72\xfe\x7e\xfe\x87\xfe\xc3\xfe\x20\xff\x37\xff\x3f\xff\x52\xff"
+	"\xb6\xff\xd9\xff\xd6\xff\xd0\xff\xe0\xff\xee\xff\x12\x00\x10\x00"
+	"\x15\x00\x31\x00\x61\x00\x7d\x00\x7c\x00\xa7\x00\xbc\x00\xc4\x00"
+	"\xcf\x00\xe7\x00\xcc\x00\xd8\x00\xdd\x00\x03\x01\xe8\x00\xd4\x00"
+	"\xf3\x00\x03\x01\xe9\x00\xf0\x00\xfb\x00\xc3\x00\x96\x00\x84\x00"
+	"\x6a\x00\x07\x00\xa4\xff\x61\xff\x24\xff\xe5\xfe\xa5\xfe\x60\xfe"
+	"\x2c\xfe\x11\xfe\x0e\xfe\xe8\xfd\xc1\xfd\xbc\xfd\xbe\xfd\xc0\xfd"
+	"\xec\xfd\x1f\xfe\x52\xfe\xa2\xfe\x39\xff\xd3\xff\x2d\x00\xa7\x00"
+	"\x3e\x01\xce\x01\x36\x02\x79\x02\xb0\x02\xc4\x02\xe0\x02\xea\x02"
+	"\xc0\x02\x7b\x02\x3c\x02\x10\x02\xca\x01\x77\x01\x31\x01\xf5\x00"
+	"\xb7\x00\x81\x00\x44\x00\xf6\xff\xb8\xff\x9d\xff\x69\xff\x0c\xff"
+	"\xc0\xfe\x92\xfe\x60\xfe\x27\xfe\xf3\xfd\xcb\xfd\xc4\xfd\xe8\xfd"
+	"\x04\xfe\x1a\xfe\x39\xfe\x71\xfe\xcb\xfe\x11\xff\x45\xff\x6f\xff"
+	"\xbb\xff\x18\x00\x5c\x00\x71\x00\x81\x00\x9d\x00\xb1\x00\xb4\x00"
+	"\xa5\x00\xa4\x00\x8d\x00\x8c\x00\xae\x00\xc6\x00\xc3\x00\xd2\x00"
+	"\x00\x01\x38\x01\x49\x01\x54\x01\x6d\x01\x76\x01\x89\x01\x83\x01"
+	"\x64\x01\x2a\x01\xfb\x00\xd1\x00\x82\x00\x19\x00\xd0\xff\x82\xff"
+	"\x41\xff\xf4\xfe\xad\xfe\x72\xfe\x3f\xfe\x2e\xfe\x20\xfe\x18\xfe"
+	"\x0b\xfe\x24\xfe\x57\xfe\x96\xfe\xb3\xfe\xef\xfe\x40\xff\x85\xff"
+	"\xc2\xff\xf6\xff\x1b\x00\x4a\x00\x6c\x00\x82\x00\x94\x00\x89\x00"
+	"\x73\x00\x72\x00\x7b\x00\x7e\x00\x7f\x00\x7f\x00\x93\x00\xb0\x00"
+	"\xe2\x00\x03\x01\x0f\x01\x2c\x01\x50\x01\x55\x01\x4d\x01\x42\x01"
+	"\x29\x01\xfc\x00\xcc\x00\x9a\x00\x62\x00\x1c\x00\xdc\xff\xb8\xff"
+	"\x88\xff\x5b\xff\x36\xff\x19\xff\x09\xff\xe3\xfe\xdc\xfe\xe1\xfe"
+	"\xf1\xfe\xd4\xfe\xda\xfe\xe7\xfe\x0b\xff\x19\xff\x45\xff\x77\xff"
+	"\xa7\xff\xdc\xff\x2d\x00\x77\x00\xae\x00\xcc\x00\xf3\x00\x19\x01"
+	"\xf8\x00\x0b\x01\xa4\x00\x13\x01\xa7\x00\x4b\x00\x80\x00\xf9\xff"
+	"\x0b\x00\x9f\xff\xdc\xff\x4a\xff\x4c\xfd\x29\x00\x8e\xff\x45\xff"
+	"\xee\xff\x91\x00\x21\x01\xb2\xff\x6d\x02\x77\x00\x59\x00\x44\x00"
+	"\xdb\xff\x60\xfe\xd7\xfe\x44\x00\xd0\xfe\x5f\xff\x4a\xff\x2f\x00"
+	"\x5d\x00\xbb\x00\xfe\x00\x52\x00\xd4\xff\x11\x00\xd0\xff\xb6\xff"
+	"\xfe\xfe\xcc\xff\x9a\xff\x09\xff\x85\xff\xc8\xff\xed\xff\xa2\xff"
+	"\x8f\x00\x14\x00\x80\xff\x0b\x00\x2e\x00\x93\xff\xaa\xff\x67\x00"
+	"\xe6\xff\xf9\xff\xb1\x00\xd4\x00\xc4\x00\xed\x00\xd2\x01\x04\x01"
+	"\x0a\x01\x59\x01\xbb\x00\x94\x00\x99\x00\x94\x00\xd0\xff\x9d\xff"
+	"\x08\x00\x4a\xff\x2d\xff\xbe\xff\x34\xff\x51\xff\x4a\xff\xbb\xff"
+	"\x48\xff\xad\xff\x97\xff\xcc\xfe\xca\xff\x44\xff\xc7\xff\xbd\xff"
+	"\xfc\xff\x81\x00\xd3\x00\x34\x01\xaf\x00\x67\x01\xc9\x00\x6c\x00"
+	"\x10\x00\x95\xff\x13\xff\x0a\xff\x18\xff\x55\xfe\x68\xfe\xad\xfe"
+	"\xbf\xfe\xb6\xfe\xa0\xfe\xa9\xfe\x5c\xff\xc5\xfe\x33\xfe\x07\xff"
+	"\x14\x00\xd6\xff\x8e\xff\xa3\x00\xb1\x01\x26\x02\x73\x02\x90\x02"
+	"\xc9\x02\x72\x03\x9a\x03\xbf\x02\xd6\x01\x09\x02\xea\x01\xe6\x00"
+	"\x01\x00\xb0\xff\x8d\xff\x2d\xff\xbe\xfe\x4f\xfe\x23\xfe\x9b\xfe"
+	"\xd4\xfe\xa2\xfe\x5e\xfe\x0a\xff\xa5\xff\x9b\xff\x75\xff\x82\xff"
+	"\x0d\x00\x25\x00\x00\x00\xb6\xff\xe5\xff\x14\x00\x23\x00\xdb\xff"
+	"\x9d\xff\xe4\xff\x1f\x00\x0e\x00\xb5\xff\xbb\xff\xe2\xff\xd9\xff"
+	"\xd1\xff\xc1\xff\x94\xff\xcd\xff\x02\x00\xfc\xff\xfc\xff\x11\x00"
+	"\x4e\x00\x4b\x00\x5e\x00\x45\x00\x1c\x00\x3a\x00\x3b\x00\xcd\xff"
+	"\xa7\xff\xb8\xff\x95\xff\x60\xff\x50\xff\x5a\xff\x38\xff\x85\xff"
+	"\x9c\xff\xa7\xff\xbe\xff\x2a\x00\x61\x00\x6b\x00\xab\x00\xdb\x00"
+	"\x16\x01\x17\x01\x21\x01\x0d\x01\xf5\x00\xe8\x00\xd6\x00\x96\x00"
+	"\x48\x00\x45\x00\x5f\x00\x27\x00\xf0\xff\x01\x00\x04\x00\xdf\xff"
+	"\xde\xff\xdc\xff\xbd\xff\xdb\xff\xc9\xff\xad\xff\xc9\xff\xee\xff"
+	"\xf0\xff\xcd\xff\x09\x00\x36\x00\x28\x00\x00\x00\xe2\xff\xec\xff"
+	"\xe9\xff\xa7\xff\x6c\xff\x49\xff\x43\xff\x4a\xff\x33\xff\x23\xff"
+	"\x42\xff\x61\xff\x68\xff\x5f\xff\x68\xff\x73\xff\xb5\xff\xc1\xff"
+	"\x4d\xff\x48\xff\x94\xff\x98\xff\x3d\xff\x6c\xff\x81\xff\x8e\xff"
+	"\x51\x00\xbe\x00\x92\x00\xe7\x00\xb6\x01\x2f\x02\xcb\x01\xb3\x01"
+	"\xe0\x01\xbc\x01\xb2\x01\x11\x01\xa0\x00\x85\x00\x81\x00\x20\x00"
+	"\x67\xff\x56\xff\x89\xff\x78\xff\x14\xff\x00\xff\x3f\xff\x65\xff"
+	"\xc1\xff\xca\xff\xaa\xff\xe2\xff\x66\x00\x76\x00\x13\x00\x23\x00"
+	"\x47\x00\x34\x00\x32\x00\x22\x00\xe5\xff\xee\xff\x35\x00\x2c\x00"
+	"\xe1\xff\xf5\xff\x49\x00\x32\x00\x1a\x00\x23\x00\xe9\xff\xd0\xff"
+	"\xd9\xff\xcb\xff\x4f\xff\x14\xff\x31\xff\x20\xff\x2e\xff\x13\xff"
+	"\xef\xfe\x2d\xff\xc1\xff\xde\xff\x65\xff\x9a\xff\x44\x00\x35\x00"
+	"\xc6\xff\xb0\xff\xfc\xff\x1e\x00\xf1\xff\xad\xff\xaf\xff\xd4\xff"
+	"\xb0\xff\xa4\xff\xa1\xff\x93\xff\xd3\xff\x1b\x00\x2c\x00\x6e\x00"
+	"\xc2\x00\xd6\x00\x02\x01\x48\x01\x2a\x01\x0d\x01\x2a\x01\x29\x01"
+	"\xf5\x00\xc6\x00\x9d\x00\xa8\x00\xb9\x00\x5c\x00\x2d\x00\x5f\x00"
+	"\x45\x00\xed\xff\x18\x00\x26\x00\xc6\xff\xd3\xff\x0d\x00\xda\xff"
+	"\x9c\xff\xc6\xff\xd6\xff\x83\xff\x7f\xff\x62\xff\x3a\xff\x3e\xff"
+	"\x52\xff\x5b\xff\x42\xff\x67\xff\xac\xff\xc7\xff\xa5\xff\xbd\xff"
+	"\xf3\xff\xef\xff\xf3\xff\x0a\x00\x0d\x00\x0f\x00\x24\x00\x3f\x00"
+	"\x15\x00\x1e\x00\x35\x00\x20\x00\x1e\x00\x0f\x00\xf3\xff\x01\x00"
+	"\x18\x00\xde\xff\xc2\xff\xdb\xff\xdd\xff\xb2\xff\xc9\xff\xd8\xff"
+	"\xbb\xff\xd0\xff\xf5\xff\x02\x00\xe5\xff\x0a\x00\x2b\x00\x01\x00"
+	"\xf3\xff\x06\x00\x0f\x00\xf4\xff\xee\xff\xf0\xff\xdf\xff\x01\x00"
+	"\x0d\x00\xd4\xff\xc4\xff\xfa\xff\x0c\x00\xdd\xff\xe4\xff\x16\x00"
+	"\x14\x00\x37\x00\x6a\x00\x7b\x00\x7b\x00\x91\x00\xe7\x00\xf7\x00"
+	"\xc4\x00\xbc\x00\xea\x00\xe6\x00\x86\x00\x69\x00\x67\x00\x31\x00"
+	"\x06\x00\xed\xff\xaa\xff\x57\xff\xa3\xff\xe3\xff\x6f\xff\x1d\xff"
+	"\x73\xff\xe3\xff\x8e\xff\x35\xff\x5f\xff\x98\xff\xa4\xff\x7e\xff"
+	"\x60\xff\x69\xff\xcb\xff\x17\x00\xd4\xff\x8e\xff\xf3\xff\x6c\x00"
+	"\x45\x00\xe9\xff\x13\x00\x7a\x00\x86\x00\x61\x00\x4a\x00\x5e\x00"
+	"\x89\x00\x8b\x00\x42\x00\xf2\xff\x0c\x00\x4a\x00\x24\x00\xc9\xff"
+	"\xbf\xff\x1b\x00\x33\x00\xf1\xff\xaf\xff\xdc\xff\x31\x00\x2a\x00"
+	"\xe6\xff\xbb\xff\xf3\xff\x3c\x00\x2b\x00\xc2\xff\x9c\xff\xd1\xff"
+	"\x02\x00\xc7\xff\x6c\xff\x7b\xff\xc0\xff\xe5\xff\xb6\xff\x8e\xff"
+	"\xa8\xff\xe3\xff\xfb\xff\xca\xff\xab\xff\xe9\xff\x28\x00\x1a\x00"
+	"\xf1\xff\xfc\xff\x2c\x00\x39\x00\x22\x00\xed\xff\xfd\xff\x1b\x00"
+	"\x11\x00\x02\x00\x02\x00\x0c\x00\x21\x00\x34\x00\x37\x00\x1b\x00"
+	"\x1c\x00\x34\x00\x30\x00\x2a\x00\x1a\x00\x2d\x00\x3e\x00\x44\x00"
+	"\x27\x00\x2b\x00\x4e\x00\x39\x00\x17\x00\x19\x00\x1b\x00\x12\x00"
+	"\x10\x00\x04\x00\xfe\xff\xf7\xff\xeb\xff\xf3\xff\xf4\xff\xf1\xff"
+	"\xe8\xff\xf8\xff\x0f\x00\x13\x00\x23\x00\x22\x00\x31\x00\x3a\x00"
+	"\x42\x00\x33\x00\x23\x00\x2c\x00\x1d\x00\x09\x00\x03\x00\xff\xff"
+	"\xfe\xff\xee\xff\xe9\xff\xdc\xff\xdc\xff\xe7\xff\xd0\xff\xc4\xff"
+	"\xaf\xff\xaa\xff\xb8\xff\xaf\xff\xa2\xff\x9e\xff\xb5\xff\xc5\xff"
+	"\xb1\xff\xb7\xff\xc5\xff\xd3\xff\xd4\xff\xc4\xff\xc9\xff\xe2\xff"
+	"\xff\xff\x00\x00\xf8\xff\x12\x00\x2b\x00\x29\x00\x2f\x00\x30\x00"
+	"\x3a\x00\x3e\x00\x43\x00\x40\x00\x3b\x00\x3d\x00\x42\x00\x35\x00"
+	"\x26\x00\x39\x00\x43\x00\x35\x00\x1b\x00\x21\x00\x30\x00\x31\x00"
+	"\x15\x00\x00\x00\xef\xff\xfb\xff\xf0\xff\xc9\xff\xbf\xff\xc2\xff"
+	"\xdc\xff\xc7\xff\xc0\xff\xcd\xff\xe0\xff\xf7\xff\xe3\xff\xe2\xff"
+	"\xf1\xff\x00\x00\x0f\x00\x01\x00\xfd\xff\x08\x00\x1b\x00\x0e\x00"
+	"\xf6\xff\xf6\xff\xfa\xff\x04\x00\xf9\xff\xef\xff\xf0\xff\xfc\xff"
+	"\x0a\x00\xf9\xff\xf6\xff\x02\x00\x07\x00\x0a\x00\x01\x00\xfa\xff"
+	"\x0b\x00\x22\x00\x1c\x00\x07\x00\x0f\x00\x20\x00\x21\x00\x17\x00"
+	"\x06\x00\x01\x00\x06\x00\x02\x00\xef\xff\xe6\xff\xf2\xff\x00\x00"
+	"\xf9\xff\xec\xff\xec\xff\xfe\xff\xfe\xff\xef\xff\xe5\xff\xf4\xff"
+	"\xff\xff\x01\x00\x04\x00\xff\xff\x04\x00\x10\x00\x17\x00\x0f\x00"
+	"\x0b\x00\x17\x00\x24\x00\x23\x00\x19\x00\x1a\x00\x2d\x00\x1f\x00"
+	"\x18\x00\x10\x00\x06\x00\x02\x00\xff\xff\xf7\xff\xef\xff\xe8\xff"
+	"\xf6\xff\xf9\xff\xe6\xff\xdb\xff\xdc\xff\xe8\xff\xdb\xff\xdb\xff"
+	"\xe2\xff\xf1\xff\xf0\xff\xf8\xff\xf7\xff\xee\xff\xf8\xff\xfb\xff"
+	"\xf7\xff\xf1\xff\xf9\xff\x02\x00\xfe\xff\x09\x00\x15\x00\x0f\x00"
+	"\x10\x00\x0d\x00\x08\x00\x05\x00\x0c\x00\x0f\x00\x08\x00\x0b\x00"
+	"\x04\x00\x08\x00\x18\x00\x10\x00\x04\x00\x0a\x00\x17\x00\x15\x00"
+	"\x11\x00\x0f\x00\x13\x00\x14\x00\x0e\x00\x0c\x00\x01\x00\xf7\xff"
+	"\xfa\xff\xf5\xff\xef\xff\xef\xff\xec\xff\xee\xff\xe9\xff\xe1\xff"
+	"\xe4\xff\xf0\xff\xed\xff\xed\xff\xf4\xff\xf6\xff\xf4\xff\xfe\xff"
+	"\x06\x00\x03\x00\x0a\x00\x12\x00\x14\x00\x13\x00\x19\x00\x15\x00"
+	"\x0a\x00\x03\x00\x00\x00\xf9\xff\xed\xff\xe3\xff\xe9\xff\xe5\xff"
diff --git a/ndk/platforms/android-9/samples/native-audio/jni/hello_clip.h b/ndk/platforms/android-9/samples/native-audio/jni/hello_clip.h
new file mode 100644
index 0000000..5f0232b
--- /dev/null
+++ b/ndk/platforms/android-9/samples/native-audio/jni/hello_clip.h
@@ -0,0 +1,685 @@
+	"\x00\x00\xfd\xff\x01\x00\x01\x00\xf9\xff\xfb\xff\x02\x00\x05\x00"
+	"\x01\x00\x03\x00\x06\x00\x0a\x00\x0a\x00\x09\x00\x04\x00\x04\x00"
+	"\x06\x00\x06\x00\x00\x00\xff\xff\x05\x00\x08\x00\x01\x00\xfe\xff"
+	"\xff\xff\x03\x00\x04\x00\xfe\xff\xf9\xff\xfd\xff\x04\x00\xfe\xff"
+	"\x03\x00\x04\x00\x01\x00\xfb\xff\xfb\xff\xfc\xff\xfb\xff\x03\x00"
+	"\xfc\xff\xf9\xff\xfc\xff\x01\x00\x06\x00\x00\x00\xf9\xff\xfa\xff"
+	"\x04\x00\x06\x00\xfe\xff\xfa\xff\xfd\xff\x01\x00\xfe\xff\xfe\xff"
+	"\xfe\xff\xfd\xff\xfd\xff\xfd\xff\xfe\xff\xff\xff\xfd\xff\xfa\xff"
+	"\xfe\xff\x00\x00\x03\x00\xfe\xff\xfc\xff\xfb\xff\xfe\xff\x01\x00"
+	"\x02\x00\x01\x00\xff\xff\x09\x00\x0c\x00\x10\x00\x07\x00\x07\x00"
+	"\x04\x00\x00\x00\x02\x00\xf5\xff\xf7\xff\x02\x00\x08\x00\xfe\xff"
+	"\xfe\xff\x05\x00\x06\x00\x05\x00\x00\x00\xfb\xff\xf9\xff\xf6\xff"
+	"\xf7\xff\xfd\xff\x02\x00\xff\xff\xff\xff\x08\x00\x07\x00\x08\x00"
+	"\x04\x00\xfe\xff\x02\x00\x0b\x00\x0c\x00\x05\x00\x04\x00\x03\x00"
+	"\xfe\xff\xfe\xff\xfb\xff\xf3\xff\xe8\xff\xee\xff\xfd\xff\x04\x00"
+	"\xfc\xff\x00\x00\x01\x00\xff\xff\xfe\xff\xf2\xff\xf3\xff\xfa\xff"
+	"\x04\x00\xf7\xff\xfe\xff\x09\x00\x0d\x00\x0b\x00\x08\x00\x01\x00"
+	"\xff\xff\x0c\x00\x0b\x00\x07\x00\x01\x00\x05\x00\x08\x00\x0b\x00"
+	"\x05\x00\xfe\xff\xf6\xff\xf9\xff\xfb\xff\xfa\xff\xf8\xff\x02\x00"
+	"\x05\x00\x06\x00\x01\x00\x00\x00\x0c\x00\x0b\x00\x02\x00\xf8\xff"
+	"\x01\x00\xfb\xff\xfa\xff\x06\x00\x07\x00\xfb\xff\x02\x00\x06\x00"
+	"\x00\x00\x01\x00\x04\x00\xf4\xff\xfa\xff\x00\x00\xf8\xff\xf6\xff"
+	"\x02\x00\xfd\xff\xf0\xff\xfe\xff\x00\x00\xff\xff\xfc\xff\x00\x00"
+	"\xf6\xff\x01\x00\x08\x00\x03\x00\xfc\xff\x06\x00\x0d\x00\x01\x00"
+	"\x04\x00\x05\x00\x01\x00\xf7\xff\xff\xff\xfc\xff\xff\xff\x03\x00"
+	"\x00\x00\xfc\xff\x06\x00\x07\x00\xff\xff\xfa\xff\xfa\xff\x02\x00"
+	"\x00\x00\x00\x00\xf5\xff\xfa\xff\xff\xff\x06\x00\xfc\xff\xf9\xff"
+	"\xff\xff\x04\x00\x08\x00\x06\x00\x01\x00\xf7\xff\xfe\xff\xfc\xff"
+	"\xfe\xff\x02\x00\x07\x00\xfb\xff\xfc\xff\x08\x00\x0b\x00\x05\x00"
+	"\x0a\x00\x08\x00\x00\x00\x08\x00\x11\x00\x0e\x00\xfd\xff\xf1\xff"
+	"\xef\xff\xfe\xff\x02\x00\xf8\xff\xf2\xff\xfb\xff\xfe\xff\x0a\x00"
+	"\xfd\xff\xfa\xff\xf9\xff\xee\xff\xf7\xff\xff\xff\x05\x00\xfc\xff"
+	"\xf6\xff\xfd\xff\x0f\x00\x0a\x00\x05\x00\xf7\xff\xf5\xff\xf8\xff"
+	"\x09\x00\x10\x00\xff\xff\xfd\xff\xf4\xff\xff\xff\xfe\xff\xff\xff"
+	"\xfe\xff\xef\xff\xfa\xff\x06\x00\x17\x00\x11\x00\x13\x00\x11\x00"
+	"\xfe\xff\x05\x00\x0b\x00\xfe\xff\xee\xff\x07\x00\x0b\x00\xff\xff"
+	"\x01\x00\x0b\x00\x0a\x00\x08\x00\x0b\x00\x02\x00\xf4\xff\xfa\xff"
+	"\x0c\x00\x00\x00\x03\x00\x09\x00\xf5\xff\xf6\xff\x06\x00\xfc\xff"
+	"\xf0\xff\xff\xff\x05\x00\xf0\xff\x0a\x00\x23\x00\x08\x00\xfd\xff"
+	"\x03\x00\xf7\xff\xee\xff\x03\x00\xfc\xff\xe2\xff\xf4\xff\xfe\xff"
+	"\xff\xff\x10\x00\x19\x00\xf6\xff\xe7\xff\xf6\xff\xf3\xff\xe5\xff"
+	"\xee\xff\xea\xff\xdc\xff\xf3\xff\xf9\xff\x02\x00\x02\x00\x00\x00"
+	"\xe6\xff\xef\xff\x02\x00\x09\x00\x09\x00\x0b\x00\x09\x00\x00\x00"
+	"\x08\x00\x07\x00\x11\x00\x12\x00\x1a\x00\x17\x00\x2f\x00\x35\x00"
+	"\x2c\x00\x2d\x00\x20\x00\x03\x00\x02\x00\x12\x00\x0e\x00\x11\x00"
+	"\x21\x00\x1d\x00\x13\x00\x25\x00\x1c\x00\x05\x00\xf9\xff\xf4\xff"
+	"\xdd\xff\xf1\xff\x0c\x00\x15\x00\x1d\x00\x32\x00\x2a\x00\x1a\x00"
+	"\x1f\x00\xfe\xff\xcf\xff\xcf\xff\xeb\xff\xde\xff\xf4\xff\x03\x00"
+	"\x00\x00\x10\x00\x17\x00\xf0\xff\xcc\xff\xc7\xff\x8c\xff\x58\xff"
+	"\x5c\xff\x4e\xff\x0f\xff\xf6\xfe\xd6\xfe\xb5\xfe\xc5\xfe\xd6\xfe"
+	"\xe1\xfe\x08\xff\x5e\xff\x9a\xff\xe2\xff\x43\x00\x92\x00\xca\x00"
+	"\x10\x01\x32\x01\x42\x01\x6c\x01\x7e\x01\x72\x01\x6e\x01\x71\x01"
+	"\x56\x01\x53\x01\x53\x01\x30\x01\x05\x01\xfb\x00\xca\x00\x8c\x00"
+	"\x62\x00\x1b\x00\xbe\xff\x8e\xff\x67\xff\x40\xff\x44\xff\x61\xff"
+	"\x6a\xff\x80\xff\xab\xff\xb4\xff\xc6\xff\xca\xff\xb2\xff\x80\xff"
+	"\x79\xff\x6f\xff\x7d\xff\xa1\xff\xb5\xff\xb4\xff\xe1\xff\xfb\xff"
+	"\x0c\x00\x1e\x00\x30\x00\x16\x00\xfe\xff\xf4\xff\xe8\xff\xef\xff"
+	"\xbf\xff\x85\xff\xf1\xfe\x8a\xfe\x08\xfe\xca\xfd\x68\xfd\x26\xfd"
+	"\xd2\xfc\xe2\xfc\x88\xfd\xb4\xfe\x28\x00\x6c\x01\xa8\x02\x51\x03"
+	"\xb6\x03\x8a\x03\x0f\x03\x00\x02\x11\x01\x34\x00\xed\xff\x2d\x00"
+	"\x01\x01\xdc\x01\xb0\x02\x38\x03\x22\x03\xbb\x02\xf8\x01\x1e\x01"
+	"\xfb\xff\x1f\xff\x2d\xfe\xb0\xfd\x80\xfd\xbb\xfd\x0e\xfe\xac\xfe"
+	"\x3b\xff\xb0\xff\x13\x00\x58\x00\x82\x00\x81\x00\x73\x00\x01\x00"
+	"\xa3\xff\x2f\xff\xf6\xfe\xc5\xfe\x12\xff\x5d\xff\xee\xff\x7a\x00"
+	"\xff\x00\x56\x01\xa1\x01\x90\x01\x17\x01\x8f\x00\xc5\xff\xf5\xfe"
+	"\x20\xfe\xa3\xfd\x1a\xfd\xe4\xfc\xe0\xfc\xfe\xfc\x3c\xfd\xca\xfd"
+	"\x1b\xfe\xa0\xfe\x0b\xff\xbf\xff\xfc\xff\xbb\x00\x01\x01\x7d\x01"
+	"\xed\x01\x5c\x02\xa0\x02\xac\x02\xd3\x02\x5c\x02\x42\x02\xc1\x01"
+	"\xb7\x01\x4b\x01\x9e\x01\x4c\x01\x60\x01\xf1\x00\xbc\x00\xff\xff"
+	"\x89\xff\xf7\xfe\x72\xfe\x21\xfe\xe5\xfd\xf6\xfd\xfe\xfd\xcb\xfe"
+	"\x3f\xff\x10\x00\x65\x00\xec\x00\xc1\x00\xe9\x00\xa9\x00\xa0\x00"
+	"\x86\x00\xb3\x00\xc7\x00\xf4\x00\x27\x01\x42\x01\x41\x01\x22\x01"
+	"\xfb\x00\xac\x00\x7a\x00\x49\x00\x19\x00\xf6\xff\xd6\xff\x82\xff"
+	"\x20\xff\xdc\xfe\x7d\xfe\xec\xfd\x8f\xfd\x31\xfd\x05\xfd\x8c\xfc"
+	"\x7a\xfc\xcb\xfb\x94\xfb\x71\xfb\xe9\xfb\xb7\xfc\x67\xfe\x20\x00"
+	"\xd7\x01\x78\x03\x76\x04\xb6\x04\x40\x04\x97\x03\x32\x02\x2c\x01"
+	"\x57\x00\x49\x00\x87\x00\xb4\x01\xa1\x02\x84\x03\xea\x03\xe3\x03"
+	"\x11\x03\x15\x02\xc9\x00\x49\xff\xfd\xfd\xde\xfc\x50\xfc\x49\xfc"
+	"\x22\xfd\x0a\xfe\x55\xff\x29\x00\xb0\x00\x9b\x00\xa6\x00\x5a\x00"
+	"\x51\x00\x30\x00\x18\x00\xe5\xff\xdc\xff\xe5\xff\x29\x00\xa3\x00"
+	"\x27\x01\xaa\x01\xfa\x01\xec\x01\xa2\x01\x39\x01\xb5\x00\x3a\x00"
+	"\xc2\xff\x35\xff\x9f\xfe\x6e\xfe\x27\xfe\x54\xfe\x7b\xfe\x0e\xff"
+	"\x29\xff\x62\xff\x4d\xff\xc7\xff\x29\xff\xe1\xff\xb6\xff\x6d\x00"
+	"\xe0\xff\xd8\x00\x1a\x00\x92\x00\xce\xfe\x16\xfe\x8c\xfb\x76\xf5"
+	"\x4e\xf5\xf5\xf3\x3a\xf8\x59\xfc\x7e\x04\xd5\x07\x35\x0d\x3e\x0e"
+	"\x34\x0d\xcf\x09\xe1\x04\xe2\xfe\x5e\xf9\xb5\xf6\x01\xf5\x0f\xf8"
+	"\x37\xfb\x42\x01\x82\x05\x2a\x0b\x35\x0d\xcb\x0e\x1b\x0c\x3c\x08"
+	"\x47\x01\x1c\xfb\x82\xf5\x95\xf2\xab\xf2\x76\xf5\x3c\xfa\x42\xff"
+	"\x72\x04\xd0\x07\x77\x0a\xb7\x0a\x00\x0a\x88\x06\x30\x02\x0d\xfc"
+	"\x7a\xf6\xef\xf1\x1d\xf1\xad\xf2\xb5\xf7\x05\xfe\x5c\x04\xed\x08"
+	"\x41\x0b\xe1\x0a\x16\x08\x89\x04\x10\x00\x2b\xfc\x78\xf9\x94\xf8"
+	"\x18\xf9\xa9\xfb\x51\xfe\x6d\x01\x74\x03\x95\x04\x83\x04\xd8\x03"
+	"\x70\x02\x75\x01\x98\x00\xe5\xff\x52\xff\xee\xfe\x27\xfe\x2e\xfe"
+	"\x21\xfe\x80\xfe\xef\xff\xbf\x00\xea\x00\x2b\x01\xf6\xff\x99\xfd"
+	"\xd9\xfc\x1c\xfb\xc9\xf9\xb5\xf8\xb9\xf9\x1b\xf8\xf1\xfa\x93\xfd"
+	"\xf1\x00\xdf\x04\xc5\x07\xaf\x08\x27\x08\xb0\x07\xbf\x04\x9c\x03"
+	"\x48\x01\xfa\xff\x48\xfe\x8c\xfe\x4d\xfe\x46\x00\x2a\x02\x76\x04"
+	"\xf0\x05\x0b\x07\x82\x06\x3f\x05\x56\x03\x85\x00\xb2\xfd\xb0\xfa"
+	"\x90\xf8\x06\xf7\x71\xf7\xc5\xf8\xda\xfb\xea\xfe\x36\x02\x40\x04"
+	"\xbd\x04\x9c\x03\x88\x01\xb2\xfe\x03\xfc\x27\xfa\x8c\xf9\xaf\xf9"
+	"\xaf\xfb\xde\xfd\x7a\x00\x01\x03\xcf\x04\xa4\x05\xcd\x05\xfd\x04"
+	"\x7f\x03\x2b\x02\xb3\x00\x8f\xff\x29\xff\xdd\xfe\x91\xfe\xd1\xfe"
+	"\xc4\xfe\x0e\xff\xcd\xff\x94\x00\xdd\x00\x9e\x01\xb5\x01\xbc\x01"
+	"\x82\x01\x62\x01\x5a\x00\x44\x00\x39\x00\x00\x00\x95\x00\x74\xff"
+	"\x9f\xfd\x1c\xfb\x77\xf7\xc7\xf4\x18\xf3\xf3\xf3\x37\xf7\x8f\xfc"
+	"\x4c\x03\x54\x09\x4a\x0e\x10\x10\x74\x0f\x65\x0b\x13\x06\xe6\xff"
+	"\x85\xfa\x9e\xf6\x44\xf5\xea\xf5\xcd\xf8\x5d\xfd\x67\x02\xd1\x07"
+	"\xe7\x0b\x63\x0e\x35\x0e\xb0\x0b\x99\x06\xa4\x00\x6c\xfa\x6c\xf5"
+	"\x39\xf2\x78\xf1\xcb\xf2\x2c\xf6\xc8\xfa\x10\x00\x4d\x05\x44\x09"
+	"\xcb\x0b\x89\x0b\xf6\x08\x34\x04\xa3\xfe\x95\xf8\x44\xf4\x03\xf2"
+	"\xc6\xf2\x3e\xf6\xcf\xfb\xe2\x01\x9b\x07\x56\x0b\xc5\x0c\xd9\x0b"
+	"\xb3\x08\xd2\x04\x9d\x00\xc2\xfd\x75\xfb\x53\xfb\x26\xfb\xa8\xfc"
+	"\x60\xfd\x7e\xff\x0a\x00\x15\x02\x18\x02\x2c\x04\xae\x03\xa3\x04"
+	"\xdd\x03\x79\x03\xe7\x02\x16\x02\xe4\x00\x5b\xfa\x81\xf6\xee\xed"
+	"\x55\xec\x7b\xe9\xb9\xee\x75\xf3\x4b\xfe\x09\x07\x51\x10\xee\x15"
+	"\x6b\x17\xf3\x14\x31\x0e\xdb\x06\x06\xfe\x1b\xf9\xeb\xf3\x15\xf3"
+	"\xad\xf1\xcf\xf4\x85\xf7\x8d\xfe\x4e\x04\xd2\x0b\xc8\x0f\xb9\x12"
+	"\xe9\x10\x08\x0d\x2c\x06\xbe\xfe\xa1\xf7\x30\xf2\x3e\xef\xc7\xee"
+	"\x5f\xf1\x5f\xf5\x6a\xfb\x14\x01\x4e\x07\x53\x0b\xbf\x0e\x91\x0e"
+	"\x65\x0d\x91\x08\x8a\x03\xb1\xfc\x6b\xf7\xcb\xf2\xe7\xf0\x70\xf1"
+	"\x42\xf4\x05\xf9\x74\xfe\x43\x04\x93\x08\xdf\x0b\xb1\x0c\x47\x0c"
+	"\x3c\x09\xac\x05\x88\x00\x2f\xfc\x7e\xf8\xdf\xf6\xb7\xf6\x1b\xf9"
+	"\x3b\xfc\x81\x00\xd5\x03\x88\x06\x2c\x07\x31\x07\xe3\x05\x08\x04"
+	"\x9c\x02\x3c\x01\x38\x01\x63\xff\x95\xff\x88\xf8\x92\xf5\x15\xf0"
+	"\xac\xed\xd6\xed\x0c\xf1\x8e\xf5\x16\xfc\x34\x04\x7c\x09\xd3\x0f"
+	"\x26\x11\xf4\x10\x3a\x0d\x97\x09\xa7\x03\xda\x00\x90\xfd\xed\xfb"
+	"\xbb\xfa\x8b\xfa\x0a\xfa\xab\xfb\x4e\xfd\xdd\xff\x10\x03\xca\x05"
+	"\xd7\x07\x8c\x08\xf2\x07\x94\x05\x18\x03\x85\xff\x95\xfc\x1d\xfa"
+	"\xec\xf8\xa6\xf8\x37\xfa\xd7\xfb\x3c\xfe\x40\x00\x0a\x02\xa0\x02"
+	"\x18\x03\xdc\x01\x04\x01\xc1\xff\xb4\xfe\x5b\xfe\x5e\xfe\x53\xfe"
+	"\xc1\xfe\xc8\xfe\xd2\xfe\xf2\xfe\x63\xff\xd8\xff\xe5\x00\x07\x02"
+	"\xd3\x02\xa8\x03\xe4\x03\x43\x03\x40\x02\xac\x00\xea\xfe\xc1\xfd"
+	"\x24\xfd\x50\xfd\xc2\xfd\xe4\xfe\x48\xff\x5c\x00\x61\x00\x1c\x01"
+	"\xf9\x00\x41\x02\x5d\x02\xcf\x03\x4a\x03\x22\x04\xd5\xff\x6f\xfc"
+	"\xef\xf8\xbd\xf3\x17\xf3\xb0\xf1\x4e\xf3\x59\xf5\xbb\xfb\x9b\xff"
+	"\x34\x06\xf1\x09\x15\x0c\x50\x0c\xbe\x0b\x33\x09\x98\x07\x1e\x06"
+	"\xa0\x03\x45\x02\x4a\x00\x3d\xfe\xb8\xfc\x5b\xfc\x73\xfb\xb3\xfc"
+	"\x76\xfd\x05\xff\x30\x00\xc0\x01\xc4\x01\x85\x02\xee\x01\x6f\x01"
+	"\xd6\x00\x27\x00\x67\xff\x83\xff\x59\xff\x59\xff\x7d\xff\xb6\xfe"
+	"\xaa\xfd\xed\xfc\x0f\xfc\x8e\xfb\x75\xfc\x3c\xfd\x51\xff\x5b\x01"
+	"\x23\x03\xf9\x03\x4e\x04\x61\x03\x36\x02\xd5\x00\x85\xff\xb6\xfe"
+	"\xfb\xfe\x36\xff\x2d\x00\x2f\x01\x70\x01\x38\x01\xc1\x00\x3b\xff"
+	"\xc2\xfe\x44\xfe\x26\xfe\xb0\xfe\xb2\xff\x10\x00\x01\x01\x54\x01"
+	"\xae\x01\xfd\x01\x52\x02\x92\x02\x12\x00\x75\xff\xa0\xfb\xcf\xf9"
+	"\x69\xf7\x49\xf6\x3a\xf5\xae\xf6\x12\xf9\x4b\xfc\x10\x01\x2f\x04"
+	"\x17\x07\x55\x08\x3b\x09\x7e\x08\xab\x08\x54\x07\x68\x06\x0a\x05"
+	"\xf6\x03\x81\x02\xa3\x01\x4c\x00\x0a\xff\xbc\xfd\x95\xfc\xd4\xfb"
+	"\x7a\xfb\xb0\xfb\x12\xfc\xef\xfc\xcd\xfd\xdc\xfe\xce\xff\xbd\x00"
+	"\x80\x01\x5d\x02\xec\x02\x20\x03\x02\x03\x30\x02\xee\x00\xb3\xff"
+	"\xdf\xfd\x78\xfc\x6c\xfb\x25\xfb\xd8\xfb\x6d\xfd\x78\xff\x7e\x01"
+	"\x4f\x03\x5e\x04\x6d\x04\xd5\x03\x70\x02\x45\x01\x24\x00\x2e\x00"
+	"\xc4\xff\xe5\xff\x04\x00\x72\xff\x3f\xff\x69\xfe\xe4\xfd\x66\xfd"
+	"\xe2\xfd\x36\xfe\xf0\xff\xe1\x00\x3e\x02\xe6\x02\x82\x00\xd0\xfe"
+	"\xc0\xfb\x30\xf9\xf5\xf7\x84\xf7\x4c\xf7\x19\xf9\xaf\xfb\x27\xfe"
+	"\xeb\x01\x57\x04\xc9\x05\x11\x07\x5f\x07\x1c\x07\x9e\x07\x4c\x07"
+	"\xc0\x06\x27\x06\xae\x04\xff\x02\x9f\x01\xdd\xff\x8f\xfe\xbd\xfd"
+	"\xfa\xfc\xce\xfc\xed\xfc\xf9\xfc\x47\xfd\x90\xfd\x94\xfd\x9d\xfd"
+	"\xa6\xfd\x93\xfd\x02\xfe\xae\xfe\xa1\xff\x18\x01\x75\x02\x67\x03"
+	"\xf5\x03\x88\x03\x4f\x02\x01\x01\x64\xff\x2b\xfe\xac\xfd\x85\xfd"
+	"\x0a\xfe\xde\xfe\x7b\xff\x2f\x00\xa1\x00\xe8\x00\x0a\x01\x58\x01"
+	"\x5f\x01\xb8\x01\x85\x01\x78\x01\x85\x00\x3e\x00\x50\xff\x95\xfe"
+	"\xcc\xfe\x90\xfe\x0b\x00\x64\x00\x52\x01\x5b\x01\x09\x01\xd4\x00"
+	"\x1f\x00\xd0\x00\x5b\x00\x96\x01\x3e\x00\x47\xfe\x69\xfc\xff\xf8"
+	"\x48\xf7\x7a\xf5\x2e\xf5\x7d\xf5\x8b\xf8\x28\xfb\x39\xff\xc4\x02"
+	"\x08\x05\xb3\x06\x95\x07\x9f\x07\xa2\x07\x3d\x08\xee\x07\x26\x08"
+	"\xd8\x07\xb6\x06\x67\x05\x00\x04\xad\x01\x07\x00\x54\xfe\x05\xfd"
+	"\x1a\xfc\xe5\xfb\x40\xfb\x90\xfb\xe5\xfb\x18\xfc\xc1\xfc\x58\xfd"
+	"\xb5\xfd\x98\xfe\x54\xff\x1f\x00\x35\x01\xeb\x01\x2c\x02\x2a\x02"
+	"\xcd\x01\x95\x00\xce\xff\x96\xfe\xaa\xfd\x98\xfd\xf6\xfd\xa4\xfe"
+	"\xd8\xff\xb3\x00\x37\x01\xad\x01\xce\x01\xc1\x01\x0f\x02\x34\x02"
+	"\x39\x02\x6f\x02\x48\x02\xf3\x01\x48\x01\x53\x00\x90\xff\xb5\xfe"
+	"\xdc\xfe\xb1\xfe\x8a\xff\xbc\xff\x6d\x00\x48\x00\x79\x00\xf5\xff"
+	"\x7e\xff\x4d\xfe\x9b\xfb\xd4\xfa\xf5\xf7\x2d\xf7\x38\xf6\x68\xf6"
+	"\x12\xf7\xa9\xf9\xfd\xfb\x26\xff\x77\x02\x9a\x04\xb5\x06\xf5\x07"
+	"\x95\x08\xc9\x08\x62\x09\xd3\x08\xbc\x08\xe1\x07\xa3\x06\x16\x05"
+	"\xbe\x03\xcf\x01\x81\x00\x0f\xff\xbb\xfd\x9f\xfc\xe8\xfb\x0e\xfb"
+	"\xd4\xfa\xe1\xfa\x07\xfb\x9d\xfb\x5c\xfc\x16\xfd\x19\xfe\x53\xff"
+	"\x52\x00\x62\x01\x1f\x02\x36\x02\x06\x02\xe2\x01\x05\x01\xbf\x00"
+	"\x05\x00\x8b\xff\x45\xff\x48\xff\x3d\xff\x98\xff\xe1\xff\x07\x00"
+	"\x6b\x00\xd4\x00\x2a\x01\xbe\x01\x1a\x02\x2a\x02\x3d\x02\xf2\x01"
+	"\x62\x01\xe4\x00\x6a\x00\xb6\xff\x06\x00\x65\xff\xb6\xff\x81\xff"
+	"\x56\xff\x40\xff\x42\xff\x16\xff\xc4\xfe\xdc\xfd\x06\xfc\xf8\xfa"
+	"\xdd\xf8\xe0\xf7\x59\xf7\x79\xf7\x53\xf8\x79\xfa\xb0\xfc\x62\xff"
+	"\x27\x02\xf9\x03\x88\x05\xbe\x06\x3f\x07\xe9\x07\xa1\x08\x92\x08"
+	"\x74\x08\xde\x07\x9f\x06\x6b\x05\x3d\x04\x85\x02\x49\x01\xc0\xff"
+	"\x16\xfe\xc9\xfc\xbc\xfb\xb9\xfa\x8b\xfa\xb9\xfa\xd1\xfa\xb0\xfb"
+	"\x7d\xfc\x1c\xfd\x5d\xfe\x6b\xff\x2e\x00\x33\x01\xb7\x01\x86\x01"
+	"\x8c\x01\x2e\x01\x6f\x00\x61\x00\x01\x00\xd1\xff\x53\x00\xb8\x00"
+	"\x29\x01\xb8\x01\xd2\x01\x80\x01\x73\x01\xf4\x00\xc3\x00\xcb\x00"
+	"\xde\x00\xbe\x00\xbc\x00\x36\x00\xba\xff\x6d\xff\xce\xfe\xc6\xfe"
+	"\xde\xfe\x59\xff\x08\x00\x46\x00\x7e\x00\x29\xff\x76\xfd\xbc\xfb"
+	"\x37\xf9\x54\xf8\xa1\xf7\xe5\xf7\x62\xf8\x07\xfa\x66\xfb\x8e\xfd"
+	"\xe8\xff\xaa\x01\xd6\x03\xac\x05\xeb\x06\x1f\x08\x2f\x09\x1d\x09"
+	"\x21\x09\x5f\x08\x17\x07\xc3\x05\x99\x04\x01\x03\xfb\x01\xb9\x00"
+	"\x40\xff\xed\xfd\xc4\xfc\x6a\xfb\xbd\xfa\x4c\xfa\x14\xfa\x66\xfa"
+	"\x08\xfb\xba\xfb\xe7\xfc\x55\xfe\x7b\xff\x08\x01\x39\x02\xe5\x02"
+	"\x7a\x03\xa8\x03\xa1\x02\x09\x02\x37\x01\x26\x00\xdb\xff\x9e\xff"
+	"\x5b\xff\x50\xff\x73\xff\x04\xff\x59\xff\x84\xff\x7d\xff\x18\x00"
+	"\x8f\x00\x9f\x00\x2b\x01\x3a\x01\xb0\x00\xea\x00\x82\x00\x76\x00"
+	"\x75\x00\x62\x01\xce\x00\x41\x02\x6f\x01\xbc\x01\x45\x01\x18\x01"
+	"\xbd\x00\x99\x00\x3b\x00\xac\xfc\xb1\xfc\x1a\xf8\xa1\xf6\x15\xf4"
+	"\x11\xf4\xbd\xf3\x32\xf6\x76\xf8\x0a\xfb\x35\xff\x1d\x01\xe3\x03"
+	"\xcf\x05\xc2\x07\x5a\x08\x70\x0a\x91\x0a\x47\x0b\x22\x0b\x86\x0a"
+	"\xb1\x08\xae\x07\x39\x05\x6c\x03\xb3\x01\xfd\xff\x24\xfe\x02\xfd"
+	"\x7d\xfb\x2e\xfa\xbe\xf9\xfa\xf8\x15\xf9\xa6\xf9\x85\xfa\x82\xfb"
+	"\x5d\xfd\x7e\xfe\x20\x00\x95\x01\x79\x02\xf8\x02\x81\x03\x94\x02"
+	"\x92\x01\x81\x00\x17\xff\x34\xfe\xf8\xfd\xc3\xfd\x3e\xfe\x0d\xff"
+	"\x19\xff\x76\xff\x4a\x00\xcf\x00\x7a\x01\x13\x02\x91\x02\xe4\x02"
+	"\x2d\x03\x76\x02\x36\x02\x67\x01\x1a\x01\xa7\x00\x58\x01\x26\x01"
+	"\x91\x01\xd6\x01\x8c\x01\xf8\x00\x1c\x00\xd1\xff\x99\xff\xd3\xff"
+	"\xed\xfb\x4d\xfa\x9e\xf7\x94\xf5\x8b\xf3\x58\xf3\x42\xf3\x35\xf6"
+	"\x86\xf9\x37\xfc\x40\x00\x35\x03\x22\x05\x9e\x06\x5a\x08\x82\x08"
+	"\x7c\x0a\xd8\x0a\xc4\x0a\x43\x0a\xad\x09\xa2\x07\x8e\x06\xa4\x04"
+	"\xc8\x02\x57\x01\xf3\xff\x2c\xfe\x2f\xfd\xeb\xfb\x75\xfa\x09\xfa"
+	"\xa6\xf9\x8d\xf9\x55\xfa\x56\xfb\x44\xfc\xea\xfd\x00\xff\x1a\x00"
+	"\x86\x01\x45\x02\x7e\x02\xca\x02\x18\x01\xef\xff\x86\xfe\x57\xfd"
+	"\xde\xfc\x6a\xfd\xf7\xfd\x8a\xff\x25\x01\x74\x01\x1a\x02\x0b\x03"
+	"\x10\x03\x3d\x03\x18\x03\xb5\x02\x8d\x02\x6d\x02\x44\x01\xcc\x00"
+	"\xb8\x00\x9c\xff\xf9\xff\xee\xff\x82\x00\xd6\x00\x37\x01\x6a\x00"
+	"\x05\x00\xa7\xff\x41\xfe\x56\xfb\x33\xf8\xfa\xf5\x71\xf4\xfe\xf3"
+	"\x7b\xf3\xe9\xf4\xdf\xf7\x43\xfc\x13\x00\xd9\x03\xe7\x06\xa0\x08"
+	"\xce\x09\x62\x0a\xa1\x0a\x98\x0a\x24\x0a\xca\x08\x2a\x07\x3c\x05"
+	"\x52\x03\xb6\x01\x95\x00\x23\xff\x09\xfe\x27\xfd\x55\xfc\x82\xfb"
+	"\x4b\xfb\x16\xfb\x62\xfb\x1c\xfc\x8b\xfc\x43\xfd\x2b\xfe\x0b\xff"
+	"\xdc\xff\x10\x01\xa3\x01\x74\x02\x90\x02\x47\x02\xfb\x00\x71\xff"
+	"\x5c\xfd\x91\xfc\xdc\xfb\x34\xfd\xba\xfc\x4e\xff\x7c\x03\x04\x04"
+	"\x96\x06\x97\x04\x4c\x05\xb0\x04\xb6\x03\x5d\x01\xc3\x00\x1b\xff"
+	"\xde\xfe\x59\xfe\x16\xfe\xc2\xfe\x6b\xff\x92\xff\x55\x00\xd0\x01"
+	"\xd6\x01\x22\x03\x2c\x01\xc5\x00\x7a\xf9\x7c\xf7\x3c\xf1\x2e\xf0"
+	"\xb3\xef\x2b\xf1\x74\xf4\x8c\xf9\xc3\xff\xd8\x04\x7b\x0b\x63\x0d"
+	"\x80\x0f\x11\x0e\xa8\x0c\x01\x09\xed\x07\xe9\x03\x9f\x01\x8a\xfe"
+	"\x9a\xfc\x67\xfb\x21\xfd\x32\xfe\x22\x01\x39\x03\x27\x04\x59\x04"
+	"\xc4\x03\x6a\x02\xc1\x00\xa8\xff\xc2\xfd\x99\xfc\xfb\xfa\x63\xf9"
+	"\x55\xf8\xcd\xf8\x4a\xf9\xe1\xfb\x76\xfe\x23\x01\x01\x03\xbc\x03"
+	"\x65\x02\xf2\x01\xb6\x00\x2b\x00\xcc\x00\x1f\x01\x59\x01\x7c\x02"
+	"\x2e\x02\x97\x02\x49\x02\xe5\x01\x0c\x01\x83\x01\xff\x00\xcd\x01"
+	"\x80\x01\xfd\x01\x65\x01\xa1\x01\xd4\x00\x17\x01\x68\x00\x8e\x00"
+	"\x12\x00\x42\x00\x70\x00\xf2\xff\xe8\xfe\x27\xf5\x29\xf3\x24\xeb"
+	"\x8c\xeb\xb9\xec\xb8\xf2\x25\xf8\x0d\x01\x64\x07\xfe\x0c\xf4\x12"
+	"\xa9\x12\xde\x11\xf8\x0c\x7b\x07\x10\x00\x5e\xfd\xc7\xf7\xe0\xf6"
+	"\xda\xf5\xa6\xf7\x5b\xfb\xb1\x02\x3c\x08\xbb\x0e\xbe\x11\xa8\x11"
+	"\xef\x0e\xc4\x09\xb5\x02\x38\xfc\x87\xf6\x21\xf1\xc0\xee\x68\xed"
+	"\xcf\xee\x28\xf3\xef\xf9\x56\x01\x89\x09\xe6\x0e\xd9\x11\x03\x11"
+	"\xfb\x0c\x84\x05\xa5\xfd\x53\xf5\x98\xef\xf5\xec\xc3\xed\xe9\xf1"
+	"\x78\xf8\x03\x00\x86\x07\xa3\x0d\x3b\x11\xce\x11\x28\x0f\x57\x0a"
+	"\x61\x04\xf8\xfe\xe2\xfa\x80\xf8\xc8\xf7\xfd\xf7\x2a\xfa\x9e\xfd"
+	"\x03\x01\xc3\x04\xf7\x07\xbf\x08\xb8\x08\x49\x08\xf2\x06\x2c\xff"
+	"\x4b\xf4\x35\xec\x81\xe5\x5d\xe4\xdf\xe7\x3c\xee\xbd\xf6\xd2\x00"
+	"\xa6\x09\xcc\x11\x11\x17\x51\x17\xdc\x13\x20\x0d\x29\x04\xcc\xfc"
+	"\x69\xf7\x3f\xf3\xce\xf1\x2a\xf3\x8c\xf7\x19\xff\x40\x08\x84\x10"
+	"\x1f\x16\x4b\x17\x67\x14\x0c\x0e\xba\x05\x70\xfd\x9d\xf6\xb2\xf1"
+	"\x84\xee\x59\xed\xcd\xee\x7d\xf2\xd6\xf8\x29\x00\xe7\x07\xb3\x0d"
+	"\x74\x10\xa1\x0e\xc9\x09\x74\x02\xfa\xfa\x69\xf5\x11\xf2\xe9\xf1"
+	"\x4e\xf4\x29\xf8\xdb\xfc\x28\x02\x3e\x06\x32\x0a\xa5\x0b\x05\x0c"
+	"\xce\x09\x7b\x07\x02\x03\xb4\xff\x96\xfb\x57\xfa\x26\xf9\x7c\xfa"
+	"\x39\xfb\x27\xfd\x27\xff\xce\x02\xf4\x04\xdc\x08\x60\x07\x58\xfc"
+	"\x16\xf9\xaa\xed\xcb\xec\xcc\xec\x29\xf3\xf5\xf7\x1a\x01\x6d\x05"
+	"\x1b\x0b\xb5\x0e\xbf\x0e\x3b\x0e\xd8\x09\xe4\x06\x39\xfe\x91\xfc"
+	"\x9b\xf5\x24\xf6\x05\xf5\xad\xf9\xba\xfd\x50\x05\x7d\x0a\xa0\x0f"
+	"\xc6\x10\x92\x0f\xfc\x0b\xbc\x05\x82\xff\x9c\xf8\x5e\xf4\xe4\xef"
+	"\x12\xf0\x49\xf0\xae\xf5\xf4\xfa\xd5\x03\xa7\x0a\x36\x11\x62\x12"
+	"\xf3\x11\x4f\x0b\xb7\x04\xe3\xf9\x88\xf1\x85\xeb\x7f\xe9\x88\xed"
+	"\x90\xf3\x3f\xfd\x6e\x04\x82\x0c\xe9\x0f\x27\x12\x4d\x0f\xba\x0b"
+	"\x11\x03\x89\xfd\x65\xf6\x6e\xf5\xa7\xf4\x36\xf9\x9c\xfb\x1e\x01"
+	"\x5e\x02\x8b\x05\x82\x06\xca\x09\x61\x0b\x50\x0c\xfb\x09\x08\x08"
+	"\x32\x07\x2e\xee\x76\xeb\x66\xdc\xef\xdc\x5e\xdd\x84\xea\x21\xf3"
+	"\x2c\x02\xb2\x0f\xfa\x19\xf8\x21\x2c\x20\x77\x1d\x5a\x0f\xd9\x03"
+	"\xb5\xf4\xe1\xef\x25\xe7\xe6\xea\x7e\xeb\x51\xf5\x3f\xfe\x63\x0c"
+	"\xd6\x15\x88\x1f\x22\x1f\x1a\x1c\x36\x12\x05\x06\xdb\xf9\x2d\xef"
+	"\xa6\xe8\x0f\xe4\x33\xe5\x22\xe8\x03\xf2\xa7\xfb\xb9\x09\x2b\x14"
+	"\xb4\x1c\xa6\x1d\xc8\x1a\xec\x0e\x1e\x03\xe3\xf3\x11\xe8\xb6\xe0"
+	"\x87\xdf\x38\xe4\xe6\xed\x7a\xfa\xfd\x05\x97\x10\x1c\x18\x58\x1a"
+	"\x1e\x18\xc7\x11\xef\x06\x48\xfc\xad\xf2\x69\xee\xf7\xee\x31\xf3"
+	"\x77\xf9\x5b\x00\xab\x04\x0b\x09\xb0\x0b\x3b\x0f\xf0\x0f\xe6\x0f"
+	"\x16\x0b\xef\x04\x0e\xfe\xe4\xf9\x99\xf2\xbb\xe3\x6d\xe2\x11\xde"
+	"\xa6\xe1\xeb\xe8\x53\xf6\x51\x01\xbc\x0e\x47\x19\xcd\x1e\xb8\x1f"
+	"\xe0\x19\x59\x11\xc6\x02\x8e\xf7\x26\xed\xbc\xe9\x8d\xe7\x26\xed"
+	"\x7a\xf3\x70\xff\x57\x0b\xd4\x18\xf3\x1f\xf5\x22\x82\x1d\x0f\x14"
+	"\x28\x06\x7a\xf9\x41\xee\x69\xe7\xb0\xe4\xc4\xe4\x1c\xea\xe5\xf1"
+	"\x29\xfd\x7c\x08\x9d\x14\x59\x1a\xcf\x1c\xd6\x16\x8c\x0e\x43\xfd"
+	"\x59\xf1\xd8\xe4\x54\xe0\xc1\xe1\x4c\xea\x8a\xf5\x6d\x02\x82\x0d"
+	"\x6d\x15\x48\x18\xbf\x16\x82\x10\xcd\x07\x01\xff\xaa\xf7\x28\xf4"
+	"\xba\xf2\x56\xf6\x02\xf9\x63\xfe\xe2\xff\x10\x05\xb4\x05\x7e\x0c"
+	"\x1f\x0c\x8d\x10\x6e\x09\x6b\x0d\x84\xf8\xe4\xe9\x78\xe1\xb8\xd9"
+	"\xd1\xde\xa9\xe5\x4b\xf8\xfa\xfd\xbe\x0f\xdd\x14\xad\x1e\xc2\x1a"
+	"\xaa\x1d\xf9\x10\xa8\x06\xdd\xf8\x75\xf0\xb0\xe8\xaf\xe8\x37\xed"
+	"\xd9\xf3\xe5\x00\x24\x0b\xa9\x16\x4b\x1a\x16\x1d\x27\x16\xee\x10"
+	"\xf7\x03\x67\xfc\xc9\xef\x34\xeb\x3b\xe5\x90\xe6\x42\xe9\xdb\xf2"
+	"\x96\xfc\x6e\x09\x94\x14\x54\x1b\x2d\x1d\xca\x18\x2d\x0f\x86\x01"
+	"\xf9\xf5\xd5\xe8\xd6\xe3\xac\xe0\xa5\xe5\x0b\xef\xdf\xfb\xad\x08"
+	"\x1a\x12\x94\x18\x79\x19\x90\x15\xe1\x0e\xb8\x04\x94\xfa\x9f\xf2"
+	"\x22\xef\x8b\xee\x4a\xf3\x1d\xf8\x32\xff\x7d\x02\x3c\x08\x1a\x0a"
+	"\x6b\x0e\xe3\x0e\x74\x0f\x94\x0b\xdf\x06\xba\xfe\x76\xfc\x3f\xf1"
+	"\x16\xe2\x54\xe2\x9a\xdd\x25\xe4\xe6\xe9\x12\xfc\xc8\x03\x4d\x13"
+	"\x27\x1c\x40\x21\xac\x1d\x4f\x19\x0e\x0e\x72\xfe\xbb\xf4\x9e\xeb"
+	"\x25\xe9\xc3\xe7\xe9\xee\x3c\xf4\xe8\x01\x57\x0c\x0d\x1a\x03\x1f"
+	"\xcb\x21\xe5\x1a\x83\x11\x62\x02\x9f\xf6\x45\xeb\x72\xe5\x25\xe4"
+	"\xa0\xe5\xb6\xeb\x07\xf4\x15\x00\x06\x0b\x2e\x17\xd3\x1c\xbd\x1e"
+	"\x1e\x19\xad\x0c\xae\xfa\x02\xed\x8a\xe1\x2e\xdf\xa5\xe2\x9b\xee"
+	"\x7e\xf9\xdf\x06\x5c\x0f\x35\x15\x87\x15\x8a\x14\xcd\x0d\x19\x07"
+	"\x8a\xfe\x1b\xf8\x6f\xf3\x7e\xf2\x13\xf5\x88\xf8\x20\xfe\x2c\x01"
+	"\x81\x05\x69\x06\x6a\x0b\x10\x0b\x59\x0f\xa8\x0a\xba\x0e\x8f\xf4"
+	"\xa9\xeb\x26\xde\xe4\xdb\x95\xde\x47\xeb\x10\xfd\x3a\x02\xe3\x11"
+	"\xcc\x13\x8a\x1b\x81\x15\x0a\x1b\xc2\x0b\x57\x05\x7d\xf6\xc8\xf1"
+	"\x15\xe8\x09\xeb\x40\xef\x2c\xf8\x8b\x03\x47\x0d\x89\x16\x94\x17"
+	"\xd7\x19\xbb\x12\x1d\x0f\x6c\x03\x48\xfe\xbc\xf1\x9e\xed\x72\xe5"
+	"\xb0\xe7\xfe\xe8\x3e\xf4\x7d\xfe\x76\x0b\x03\x15\xd6\x19\xbb\x19"
+	"\x8c\x14\x50\x0c\x73\x00\x7c\xf5\xde\xe9\x0c\xe4\x3e\xe1\x0c\xe9"
+	"\x00\xf2\x88\x00\x17\x0b\x40\x14\x66\x17\xd4\x16\x5f\x11\xa1\x0a"
+	"\x51\x00\x65\xf8\xfe\xf2\x99\xf1\xd5\xf2\xd7\xf7\xff\xfb\x54\x00"
+	"\x52\x03\xbc\x07\xfa\x09\xb7\x0d\xd0\x0d\xd5\x0b\xf9\x06\xf8\x05"
+	"\x96\xf8\xcd\xe6\x18\xe5\xa6\xdd\x61\xe3\x01\xe8\x87\xfa\x9c\xff"
+	"\x18\x0d\xdc\x15\x02\x1c\x67\x1a\x57\x18\x7d\x10\x9b\x00\x0c\xf8"
+	"\x7b\xee\xa5\xed\xce\xea\x12\xf4\x3c\xf7\xe2\x01\x5c\x08\xb7\x13"
+	"\xa4\x16\x20\x1a\xa2\x16\xba\x0f\x25\x05\x41\xfb\xe8\xf1\x8f\xea"
+	"\x97\xe9\xeb\xe8\xb2\xee\x1a\xf3\x0a\xfe\x13\x05\x73\x10\x5e\x15"
+	"\x5a\x1a\x5a\x16\xc8\x10\x53\x01\xf8\xf2\x49\xe7\x7e\xe1\xb1\xe4"
+	"\xe0\xec\xd6\xfb\x3b\x05\x77\x10\x20\x13\x5d\x16\x3d\x11\xce\x0d"
+	"\x63\x05\x75\xff\x92\xf7\xf9\xf4\x97\xf2\x3e\xf5\x1a\xf8\x39\xfc"
+	"\xe5\xff\x3e\x03\x2f\x06\x52\x08\x67\x0b\x19\x0d\xfe\x0a\x4e\xf8"
+	"\xcf\xf3\x37\xe4\x02\xe4\x6e\xe0\x29\xef\x9e\xf6\x8c\x04\x66\x11"
+	"\xf7\x17\x3e\x1c\x79\x18\x3d\x17\x9b\x07\x7a\x01\xe8\xf3\xf2\xf0"
+	"\x72\xe7\x65\xec\xfc\xee\x16\xfa\xdd\x03\x72\x10\x6f\x17\xc1\x18"
+	"\x3f\x17\xf2\x0e\xa3\x07\xe9\xfd\x6b\xf9\xf1\xf0\x6c\xef\x5b\xeb"
+	"\xf8\xec\x86\xee\x76\xf7\x9c\x00\xf9\x0a\xea\x13\xc7\x18\xdd\x18"
+	"\x44\x12\x00\x0a\x56\xfd\x98\xf2\x5f\xe8\xd2\xe4\x9f\xe6\x56\xee"
+	"\x40\xf9\x10\x05\x8c\x0e\xfa\x13\x76\x16\x3c\x13\x41\x0e\x6a\x05"
+	"\x91\xfe\xc4\xf6\x12\xf4\xe7\xf2\xed\xf5\x3c\xf8\x35\xfb\x8b\xfe"
+	"\x4f\x00\xfb\x03\x8f\x06\x7f\x0c\x4c\x0a\x03\x11\x6b\x02\x1a\xf7"
+	"\x16\xeb\xea\xe5\x41\xe3\x2c\xe6\xd5\xf4\x58\xf9\x5e\x06\xde\x0c"
+	"\xad\x18\xfb\x17\x48\x1d\x0e\x16\xec\x0c\x61\xff\x3f\xf5\xef\xec"
+	"\x8b\xe7\x98\xeb\xd4\xef\x5a\xfb\xbe\x03\x1f\x10\xba\x13\x72\x17"
+	"\x22\x14\xd4\x10\xed\x08\x30\x02\xfa\xf9\x08\xf2\x16\xec\x4b\xe8"
+	"\xb7\xe9\x33\xee\x8b\xf8\x6b\x02\x34\x0e\x50\x15\x06\x1a\x03\x18"
+	"\x0a\x13\x28\x08\x8b\xfc\x8d\xf0\x3c\xe8\xbe\xe5\x79\xe8\x2f\xf2"
+	"\xc0\xfb\x43\x08\x97\x0e\x2f\x15\xce\x12\x39\x10\x7f\x08\x4e\x03"
+	"\xab\xfc\x68\xf9\x6d\xf7\x64\xf6\x1c\xf7\x39\xf6\xb4\xf9\x70\xfb"
+	"\x62\x01\xec\x03\x3e\x0a\xfd\x0a\x38\x0f\x79\xfd\x67\xf8\xad\xed"
+	"\x57\xea\x5b\xe8\xa7\xed\x27\xf8\xad\xf9\x14\x08\x6b\x0b\x8c\x16"
+	"\x3c\x14\x19\x1b\xde\x10\x4a\x0a\xb2\xfe\x0a\xf7\x36\xef\xaa\xea"
+	"\x37\xef\x81\xf1\x13\xfd\x02\x04\xed\x0f\x35\x11\x6a\x15\x8c\x10"
+	"\xfe\x0c\xb7\x05\x11\x00\xaa\xf9\x14\xf4\x1a\xf0\x1f\xec\x2b\xed"
+	"\x63\xef\xa3\xf8\x70\x00\x56\x0c\x4f\x13\xcb\x18\x78\x17\x8b\x12"
+	"\x73\x07\xba\xfc\xec\xf0\x29\xea\x04\xe8\x0b\xec\xa1\xf4\x02\xfe"
+	"\xd7\x08\x15\x0e\x0d\x13\x11\x10\x86\x0d\x16\x06\xd9\x01\x73\xfb"
+	"\x53\xfa\x21\xf8\x63\xf9\x05\xf8\xb5\xf9\x50\xf9\x7a\xfb\x22\xfe"
+	"\x80\x03\x36\x06\x58\x0b\x5b\x09\x91\xf9\xea\xf6\x4f\xeb\x62\xed"
+	"\x1f\xe9\x0a\xf7\x02\xfa\xc8\x01\x65\x09\x42\x0f\x5d\x14\x87\x13"
+	"\x8b\x17\x5e\x0c\x07\x08\x97\xfb\xc1\xf7\x33\xee\xf5\xee\x24\xf1"
+	"\xf1\xf6\xb3\xff\x58\x07\x8d\x0f\xb3\x0f\xf9\x11\xf2\x0c\x9b\x09"
+	"\x78\x02\xff\xfd\xe6\xf7\x68\xf3\x0b\xf0\x71\xed\x21\xef\x81\xf2"
+	"\x71\xfa\x95\x01\xef\x0b\xd2\x11\xf5\x16\xa0\x15\x0b\x10\x85\x06"
+	"\xf3\xfb\x63\xf2\xfc\xec\x4c\xec\xde\xf0\xe0\xf7\xb5\x00\x7d\x07"
+	"\x12\x0d\xe6\x0e\x65\x0d\xf8\x09\x81\x05\x29\x01\x03\xfd\x78\xfb"
+	"\x9f\xf9\xe0\xf9\xb2\xf8\x10\xf9\x53\xf8\xef\xfb\xc3\xfc\x5f\x02"
+	"\x92\x04\x6f\x0d\xd7\xfd\x92\xf9\x22\xf3\xb1\xed\x5d\xed\x12\xf0"
+	"\x2d\xfe\xd3\xfb\x57\x0a\x50\x0b\xa7\x13\x79\x0f\x11\x14\x5a\x0e"
+	"\xf5\x05\xdd\x00\x9f\xf8\xa6\xf5\x56\xed\x5a\xf3\x33\xf4\xac\xfd"
+	"\x86\x04\x32\x0e\x19\x11\xf3\x0f\x09\x0f\x6f\x08\xb6\x04\xe1\xfd"
+	"\x53\xfb\x63\xf5\xd7\xf2\xb7\xef\x2c\xef\xcb\xf1\x53\xf7\xee\xff"
+	"\x71\x07\xc0\x0f\x8e\x13\x04\x15\x6a\x0f\x09\x09\xd3\xff\x89\xf7"
+	"\x68\xf1\x2b\xef\x99\xf0\xc5\xf4\xec\xfb\xaf\x02\x7e\x08\x44\x0d"
+	"\x07\x0e\x43\x0c\x45\x08\xf1\x03\xec\xfe\xaa\xfb\xdd\xf9\x34\xfa"
+	"\x37\xf9\xc5\xf8\x0d\xf9\xe6\xf9\x69\xfb\x86\xff\x6b\x04\xa6\x09"
+	"\x0a\x0a\xf9\xfd\xe7\xf9\x3b\xf0\x96\xed\x67\xeb\xe7\xf2\x9c\xf9"
+	"\x8a\xfe\x63\x08\x42\x0c\x00\x12\xe8\x11\x28\x15\x5d\x0e\xce\x08"
+	"\x88\x01\x3c\xfa\x6d\xf3\xdd\xee\xb3\xf1\xe7\xf3\x1a\xfc\xd5\x03"
+	"\xf5\x0b\xbb\x0e\xb6\x0f\x1f\x0f\xc0\x0a\xa4\x07\xe2\x01\x03\xfe"
+	"\x74\xf7\x6e\xf3\xb7\xee\x5b\xed\x6d\xef\xbc\xf4\x49\xfc\xaf\x04"
+	"\x65\x0d\x96\x12\x86\x13\x35\x10\xe3\x0a\x75\x02\x42\xfb\x05\xf5"
+	"\xd0\xf2\xda\xf1\xb0\xf5\x11\xfa\x0b\x00\x8b\x04\x76\x09\xe6\x09"
+	"\x20\x0a\xb7\x07\xac\x05\xd8\x01\x3b\xff\x89\xfc\xe8\xfa\xc7\xf9"
+	"\xbe\xf8\xf7\xf8\x11\xf9\x2c\xfb\x7a\xfd\xa6\x02\x75\x05\x13\x0f"
+	"\xdf\xfc\xca\xfd\x6d\xf3\xfe\xef\x26\xec\x8b\xef\xf6\xfb\x8f\xf7"
+	"\xda\x07\xf4\x07\x76\x12\xac\x0e\x0c\x15\x6e\x0f\x21\x08\xaa\x04"
+	"\x65\xfc\xde\xf9\xbe\xf0\x84\xf4\xb2\xf2\x98\xf8\xda\xfe\x2f\x06"
+	"\x94\x0c\xa6\x0c\x86\x10\xdd\x0b\x50\x0a\x3e\x04\xcb\x00\x4f\xfc"
+	"\x01\xf6\xd4\xf3\xb8\xee\xd4\xf0\x9e\xf0\x57\xf8\x13\xff\x1a\x07"
+	"\x18\x0d\x07\x10\xc3\x10\x30\x0c\x48\x08\xd4\x00\xac\xfc\x5b\xf7"
+	"\x58\xf7\x03\xf7\x50\xf9\xbf\xfb\x6c\xfe\x5c\x02\x64\x03\x38\x06"
+	"\xb3\x06\x87\x06\x6a\x05\x2b\x03\x3f\x01\x71\xfe\xec\xfc\xe0\xf9"
+	"\x3d\xf9\xe2\xf8\xa6\xf9\x8c\xfb\x3e\xff\x8b\x07\x61\xf8\xfa\xfb"
+	"\x27\xf5\xce\xf3\x74\xf0\x16\xf5\x63\xff\xf1\xfb\x6e\x0b\x2b\x0b"
+	"\x79\x12\xfe\x0c\x79\x10\x79\x0a\xe8\x02\x98\x01\x03\xfc\x8f\xfa"
+	"\xfe\xf2\x4b\xf6\x0c\xf6\xb5\xf9\x88\x01\xf5\x07\x20\x0e\xce\x0c"
+	"\x22\x10\x82\x0a\x5e\x07\xa9\x02\x73\xfe\x22\xfb\x84\xf5\x9d\xf4"
+	"\x71\xef\x37\xf1\xe6\xf1\x06\xf9\x4a\xfe\x4f\x05\xcd\x0b\x08\x0f"
+	"\x24\x0f\x34\x0d\x50\x09\x7a\x03\xab\xfe\x4f\xfb\x1e\xf9\xd2\xf7"
+	"\x1a\xf8\x9e\xf9\x45\xfb\x4d\x00\xd8\x02\xc8\x06\x01\x08\x21\x08"
+	"\xb5\x06\x6a\x03\xfd\x01\x69\xfe\xbd\xfd\xf3\xf8\x84\xf9\xa5\xf6"
+	"\xfb\xf8\x02\xf8\xae\x03\x83\xf7\x95\xf6\x9c\xf7\x7d\xf2\xa5\xf5"
+	"\x86\xf3\x2e\x04\x76\xfd\x7c\x0a\xbd\x0d\xfd\x10\xeb\x0e\x1c\x0d"
+	"\x54\x0d\xba\x01\xb9\x01\xa7\xfc\x7b\xfb\x5f\xf5\x97\xf4\x25\xf7"
+	"\x85\xf6\xe7\xfe\x92\x04\x88\x0c\x91\x0c\x8c\x0e\x59\x0d\xe3\x06"
+	"\x59\x05\x6c\xff\x83\xfe\x24\xf7\x76\xf6\xee\xf1\x7a\xf0\x9d\xf1"
+	"\xc3\xf5\x33\xfc\x8f\x00\xd2\x08\xd8\x0c\xfa\x0e\x67\x0d\x6d\x0c"
+	"\xac\x07\xa3\x02\x4b\xff\xfa\xfb\x11\xfa\x43\xf7\x03\xf9\x1e\xf8"
+	"\x9a\xfc\xef\xfe\xee\x03\xb2\x06\x98\x07\x40\x08\xdc\x05\x0e\x04"
+	"\xf6\x00\x38\xff\x8f\xfc\x7e\xfa\x58\xf9\x92\xf8\x71\xfa\x4d\xfb"
+	"\x2a\xef\xa8\xf2\x50\xed\x53\xf0\x88\xf0\x13\xfa\x5c\x03\x6e\x05"
+	"\xe2\x12\xf3\x13\x14\x18\xcd\x11\x02\x11\xc2\x08\x6a\x01\xb7\xfe"
+	"\xfc\xf9\xb1\xf7\x60\xf2\x63\xf3\x9b\xf3\xfc\xf6\x82\xff\x7a\x06"
+	"\x03\x0e\xe2\x0e\x79\x11\xaf\x0c\x7a\x07\x62\x03\xc5\xfe\xb2\xfb"
+	"\xf7\xf5\x9d\xf4\xd3\xef\x87\xef\x1f\xf1\xcd\xf5\xde\xfb\xd3\x02"
+	"\x00\x0b\x30\x0f\xa1\x10\x9e\x0f\xe2\x0c\x83\x07\xc9\x03\x21\x00"
+	"\xdf\xfc\x17\xf9\xa5\xf7\x8c\xf6\x7e\xf7\x2f\xfb\x19\xff\x9b\x03"
+	"\x0f\x07\x8b\x08\x72\x08\x51\x06\x3a\x04\x7f\x01\x84\xfe\x66\xfc"
+	"\xb7\xfa\x76\xf9\x99\xf9\x36\xfa\x48\xed\x03\xef\x59\xea\x05\xeb"
+	"\x87\xed\xab\xf5\xb4\x01\x91\x04\x0a\x13\xb3\x16\x09\x1b\x15\x17"
+	"\xf5\x14\x79\x0d\x4c\x04\x4e\x00\xe4\xfa\x51\xf7\xa3\xf2\xc0\xf1"
+	"\x16\xf2\x48\xf3\x26\xfb\x30\x02\xbf\x09\x78\x0d\xe1\x10\xd7\x0f"
+	"\xd9\x0a\xff\x06\x21\x01\x66\xfd\x1d\xf7\x2d\xf5\x5b\xf1\x8c\xef"
+	"\x2f\xf0\xa3\xf3\x54\xf8\xac\xfe\x54\x07\x66\x0d\xeb\x10\x2e\x12"
+	"\xf1\x0f\x89\x0b\x53\x06\x7b\x02\xbf\xfe\xa6\xfa\xac\xf8\x44\xf6"
+	"\x4d\xf6\xc4\xf7\x03\xfc\x19\x00\xfc\x04\x01\x08\x63\x09\x32\x08"
+	"\xd5\x05\x4c\x03\xbd\xff\x0d\xfd\xc0\xfb\x4a\xf9\xeb\xf9\x02\xf8"
+	"\x02\xed\x97\xed\x3d\xe9\xd9\xea\x2b\xed\x5a\xf6\xb4\x00\x74\x05"
+	"\x16\x12\x0e\x16\x8d\x19\xee\x16\xd3\x14\x8d\x0e\x5e\x06\xd8\x02"
+	"\x44\xfd\x9b\xf8\x34\xf4\x64\xf2\xa1\xf2\x05\xf3\x2b\xfa\x87\xff"
+	"\x4c\x06\xc1\x09\x78\x0d\x81\x0d\x02\x0a\x6a\x08\xe8\x03\x3b\x00"
+	"\x27\xfa\x47\xf7\x5d\xf3\x9d\xf0\xaa\xf1\xc6\xf3\x1f\xf7\x8f\xfc"
+	"\xbc\x03\xb0\x09\x55\x0d\x27\x11\xb1\x10\x84\x0e\x81\x0a\xc3\x06"
+	"\xb6\x01\x78\xfc\x1e\xf9\x23\xf6\x1b\xf5\xcf\xf6\x86\xf9\x46\xfe"
+	"\xe2\x01\x6b\x06\x02\x08\x30\x08\xf2\x05\x6a\x04\x73\x01\x48\xfe"
+	"\x77\xfc\x26\xfc\xc2\xfa\x90\xec\x57\xee\x2c\xe7\x65\xe7\xd0\xe8"
+	"\x96\xf1\xfd\xfb\x40\x00\x14\x10\x38\x14\x61\x19\x90\x18\x10\x18"
+	"\xd9\x11\xb1\x09\xab\x06\x80\x01\xa0\xfb\x60\xf7\x6a\xf4\xec\xf2"
+	"\xe9\xf0\xf1\xf6\x76\xfb\x01\x01\x8f\x05\x2e\x0a\x35\x0b\x56\x09"
+	"\x68\x09\xa0\x05\x08\x03\x7d\xfe\xe6\xfb\xd6\xf6\x95\xf3\xf2\xf1"
+	"\x20\xf3\x8e\xf4\xf3\xf8\xc6\xff\x67\x05\xb6\x09\xe3\x0d\xa2\x0f"
+	"\xb3\x0e\x46\x0d\x51\x0b\xab\x07\xdd\x02\xa0\xfe\x03\xfa\x04\xf6"
+	"\x98\xf5\xe1\xf5\x95\xf9\x7b\xfd\xdc\x01\x4d\x05\x66\x06\x0f\x07"
+	"\xc7\x04\xd9\x02\xf8\xfe\x0e\xfe\xf7\xfb\x88\xfd\x40\xf2\x44\xef"
+	"\x60\xeb\x4a\xe6\x76\xe9\xb1\xec\x57\xf9\x8d\xfd\xce\x0a\xe7\x12"
+	"\x4a\x16\x71\x18\x2b\x16\x59\x13\xac\x0b\x47\x08\x3e\x05\x37\xff"
+	"\xc5\xfb\x0d\xf7\x43\xf5\x61\xf2\x89\xf5\x10\xfa\x73\xfd\x69\x02"
+	"\x0a\x05\xd0\x07\x3a\x06\x18\x07\x6f\x05\xd7\x03\x5f\x01\x70\xfe"
+	"\xee\xfa\x5f\xf7\x1e\xf5\x7c\xf5\xd2\xf4\x31\xf8\x0a\xfd\xdb\x01"
+	"\xc0\x06\xa1\x0a\xe8\x0d\x23\x0d\xc1\x0d\x36\x0c\xbc\x09\x2a\x06"
+	"\x08\x02\xd9\xfd\x17\xf9\x27\xf8\xad\xf6\x4d\xf8\xa2\xfa\xaa\xfd"
+	"\xbe\x00\x26\x02\xa6\x04\xd6\x03\x75\x03\xa7\x00\x92\xff\x56\xfe"
+	"\xbf\xfe\xe2\xf3\x9a\xf2\xf5\xed\xb2\xe8\x01\xea\xcd\xeb\xf3\xf5"
+	"\xdf\xf8\x38\x07\x48\x0f\xaa\x14\xd3\x17\x4f\x17\x9a\x13\xb4\x0c"
+	"\xab\x09\x6e\x06\x75\x01\x37\xfe\x7a\xfa\x22\xf7\x5e\xf3\x95\xf4"
+	"\x93\xf7\x8b\xfa\xb1\xff\x63\x03\x35\x06\x8b\x05\x90\x06\xf3\x04"
+	"\xc2\x03\xf1\x01\x37\x00\x14\xfd\xfb\xf9\xb1\xf7\x58\xf6\x85\xf4"
+	"\x8d\xf7\xca\xfb\x50\x00\xee\x05\x6a\x0a\x81\x0d\xf2\x0c\xc1\x0d"
+	"\xd4\x0b\x7a\x09\x9c\x06\x5d\x03\x5b\xff\xd2\xfa\x0f\xfa\x84\xf7"
+	"\x1c\xf8\xaf\xf9\x60\xfc\xee\xfe\x4c\x00\xe0\x02\x93\x02\xf6\x01"
+	"\x8c\x00\x4f\xff\x65\xff\xfb\xfd\xa4\xf4\x98\xf4\xcb\xee\xef\xea"
+	"\xd1\xeb\x71\xee\x47\xf5\x2e\xf9\x47\x06\x65\x0d\xd4\x12\xed\x16"
+	"\xf5\x16\x0c\x13\xd2\x0d\xb0\x0a\xd1\x06\xb7\x01\xd7\xfe\x6e\xfb"
+	"\xef\xf7\x25\xf5\x12\xf6\x46\xf7\x20\xf9\x3b\xfd\x97\x00\x3e\x03"
+	"\x0b\x04\xf8\x05\xdc\x04\x06\x04\x5c\x02\x87\x00\x77\xfd\x38\xfb"
+	"\x05\xf9\x9d\xf6\x72\xf6\x23\xf8\xc7\xfb\x8f\xff\xc6\x05\xab\x0a"
+	"\x71\x0d\x7d\x0e\xc1\x0e\x2e\x0c\x11\x09\xac\x05\x6a\x02\xc8\xfe"
+	"\xf3\xfb\x6f\xfb\x4f\xf9\x82\xf9\xf5\xf9\x2a\xfb\x6e\xfc\x2f\xfe"
+	"\xbc\x00\x45\x01\x3e\x01\xb0\x00\xc9\xff\xfc\xff\x1d\xf7\xa2\xf4"
+	"\x31\xf2\xe3\xec\xfc\xec\x58\xee\x6b\xf4\x7c\xf6\xff\xff\xcf\x08"
+	"\x2e\x0e\x4f\x13\x74\x16\xda\x14\x35\x10\xf1\x0c\xa0\x09\x93\x04"
+	"\xdc\x00\x3a\xfe\xd3\xfa\xc8\xf7\x3f\xf7\x62\xf8\x1d\xf8\xb6\xfa"
+	"\xc7\xfd\x1e\x00\xfa\x00\x3b\x03\xb5\x03\x37\x03\xaa\x02\xe2\x01"
+	"\xd2\xff\x82\xfd\x31\xfb\x6a\xf8\x45\xf7\x99\xf7\xb8\xfa\x64\xfe"
+	"\xde\x02\x33\x08\x8a\x0b\x1f\x0d\x59\x0d\x86\x0c\x6b\x0a\x37\x07"
+	"\x83\x04\xa9\x01\xcd\xfe\xea\xfc\xe2\xfb\xba\xfa\x92\xfa\x53\xfa"
+	"\x5e\xfb\xea\xfb\x9a\xfd\xc7\xfe\xed\xff\xf3\xff\x8e\x02\x8d\xfd"
+	"\x86\xf6\xe0\xf5\x8a\xef\x12\xee\x3a\xed\x17\xf2\x7d\xf5\x1e\xfa"
+	"\x96\x03\xbc\x08\x13\x0d\x89\x11\x43\x13\x73\x11\x1d\x0f\xac\x0d"
+	"\x26\x0a\xd8\x04\x5a\x01\xa5\xfd\x15\xfa\x95\xf7\xde\xf8\x3a\xf9"
+	"\xc9\xfa\x48\xfc\x80\xfe\xf3\xfe\x91\xff\xd5\x00\x3a\x01\x63\x01"
+	"\x3e\x01\x19\x01\x21\xff\x9c\xfd\x3a\xfb\x03\xfa\x17\xf9\x59\xfa"
+	"\x23\xfd\x77\x00\xb5\x03\x7a\x07\xe8\x09\x40\x0b\x25\x0b\x2d\x0b"
+	"\x8b\x09\x65\x07\x7d\x05\x76\x02\x9f\x00\x54\xfe\x1f\xfd\x8d\xfc"
+	"\xbd\xfb\x5d\xfb\x6a\xfb\x44\xfb\xae\xfb\xee\xfb\xd6\xfc\xc7\xfd"
+	"\x44\xff\x8f\xf8\xe3\xf7\x36\xf5\x1d\xf1\x74\xf1\xac\xf1\x48\xf6"
+	"\x42\xf7\x0b\xff\xfc\x04\xfd\x08\x4f\x0d\x43\x10\xb2\x0f\x73\x0d"
+	"\x2d\x0c\xa5\x0a\x25\x07\xc0\x04\x43\x02\x50\xff\x59\xfc\x06\xfb"
+	"\xf3\xfa\xf2\xf9\x8e\xfb\xab\xfc\xe4\xfd\xe2\xfd\x51\xff\x71\xff"
+	"\xef\xfe\x1f\xff\x48\xff\xc0\xfe\xbe\xfd\x6a\xfd\xcf\xfc\xa2\xfb"
+	"\x32\xfc\x86\xfd\x9c\xff\x09\x02\x63\x05\xee\x07\x07\x09\xed\x09"
+	"\x5d\x09\x3a\x08\xa8\x06\x9f\x05\x4d\x04\x97\x02\xc8\x01\xfe\xff"
+	"\xa3\xfe\xab\xfd\xb6\xfc\x5a\xfc\xba\xfb\x13\xfc\xee\xfb\xd2\xfb"
+	"\x2f\xfc\x03\xfd\xa1\xf6\x04\xf6\xeb\xf3\xf4\xf0\xbf\xf1\x29\xf3"
+	"\xc2\xf7\x83\xf9\x3f\x00\xb6\x05\x72\x09\xa6\x0c\x47\x0f\xb8\x0e"
+	"\xa7\x0c\xbd\x0a\x37\x09\xc5\x05\x66\x03\x1d\x01\xcd\xfe\x7e\xfc"
+	"\x9d\xfb\xe3\xfb\x82\xfb\xd6\xfc\xcc\xfd\x08\xff\xae\xfe\x71\xff"
+	"\x3d\xff\x19\xff\x8d\xfe\xcd\xfe\xe6\xfd\xdf\xfc\xa0\xfc\x00\xfc"
+	"\x32\xfc\xdf\xfc\x0a\xff\x46\x01\x88\x03\xd2\x05\x3d\x07\xb8\x07"
+	"\xdf\x07\x78\x07\x2a\x07\x4d\x06\x85\x05\xa1\x04\x2e\x03\x4a\x02"
+	"\x83\x00\x6e\xff\x65\xfe\x83\xfd\x36\xfd\xe7\xfc\x80\xfc\xad\xfc"
+	"\x10\xfc\x03\xfd\x10\xf9\x00\xf5\x7c\xf4\xc9\xef\x5d\xf0\xbe\xf0"
+	"\xdf\xf4\x34\xf8\x25\xfd\x57\x04\xda\x07\xf7\x0b\xc9\x0e\x88\x0f"
+	"\x30\x0e\xde\x0c\xdc\x0a\x2a\x08\x80\x04\x3a\x02\x8a\xfe\x22\xfc"
+	"\x81\xfa\x30\xfa\x09\xfa\x1c\xfb\x1c\xfd\x10\xfe\x54\xff\x35\x00"
+	"\x8a\x00\x0b\x00\xe4\xff\x46\xff\x62\xfe\x70\xfd\xdf\xfc\xc9\xfb"
+	"\xcc\xfb\x2d\xfc\xca\xfd\xde\xff\x66\x02\xb6\x04\x3b\x06\x28\x07"
+	"\x49\x07\x02\x07\x6d\x06\x1a\x06\xaf\x05\x4b\x05\x34\x04\x7b\x03"
+	"\xca\x01\x70\x00\x55\xff\x3a\xfe\xae\xfd\xa3\xfd\x53\xfd\x99\xfd"
+	"\x91\xfd\xe3\xfd\xd4\xf8\xc7\xf5\x76\xf3\x61\xee\xce\xee\x27\xef"
+	"\x7d\xf3\x27\xf7\xb6\xfd\x50\x04\x36\x08\x4f\x0c\x8c\x0e\xbf\x0e"
+	"\x1c\x0e\x62\x0d\xdc\x0b\x5b\x09\x6d\x06\x75\x03\x88\xff\x45\xfc"
+	"\xf0\xf9\xed\xf8\xfb\xf7\x72\xf9\xa8\xfa\x5c\xfc\xed\xfd\x81\xff"
+	"\x64\x00\xa6\x00\xba\x00\x1f\x00\xa0\xff\x1f\xff\xaa\xfe\x11\xfe"
+	"\xfe\xfd\xf0\xfd\x9e\xfe\xd3\xff\x58\x01\xb4\x02\x05\x04\xd8\x04"
+	"\x93\x05\x71\x05\xa0\x05\xac\x05\xa9\x05\x94\x05\x3b\x05\xb8\x04"
+	"\x3d\x03\x7c\x01\x2f\x00\x30\xfe\x70\xfd\xd4\xfc\x94\xfc\xcd\xfc"
+	"\x71\xfd\x5b\xfc\xba\xf7\xb4\xf6\x88\xf2\x0b\xf0\xe9\xef\x64\xf1"
+	"\x1b\xf5\x16\xf9\x29\x00\x1a\x05\x44\x09\x86\x0c\xad\x0d\x39\x0d"
+	"\xa0\x0c\xca\x0b\x80\x0a\x54\x08\x55\x06\x71\x03\x0e\x00\xdd\xfc"
+	"\xc3\xfa\x26\xf9\x67\xf8\x1c\xf9\x2e\xfa\x8d\xfb\xbb\xfc\x2f\xfe"
+	"\xb8\xfe\x28\xff\x4b\xff\x85\xff\x68\xff\x9f\xff\xb8\xff\xe3\xff"
+	"\x0d\x00\x45\x00\xaa\x00\x05\x01\xc0\x01\x7e\x02\xf4\x02\xad\x03"
+	"\x45\x04\x59\x04\x94\x04\x97\x04\x8c\x04\x95\x04\xbf\x04\x67\x04"
+	"\x71\x03\x8e\x02\x4d\x01\xab\xff\x50\xfe\x55\xfd\x6c\xfc\x27\xfc"
+	"\x79\xfb\x85\xf7\x5f\xf6\xaf\xf3\x48\xf1\x7b\xf1\x4b\xf2\x66\xf5"
+	"\xa1\xf8\xa7\xfe\xa8\x03\xba\x07\x70\x0b\x1f\x0d\xcd\x0c\x54\x0c"
+	"\x5a\x0b\xe1\x09\x01\x08\x19\x06\xe7\x03\x33\x01\x81\xfe\x5a\xfc"
+	"\x97\xfa\x50\xf9\x5c\xf9\xf3\xf9\x1d\xfb\x36\xfc\x9f\xfd\x28\xfe"
+	"\x35\xfe\x7a\xfe\x67\xfe\x64\xfe\xfb\xfe\xb2\xff\x49\x00\xd8\x00"
+	"\x4a\x01\x7f\x01\x98\x01\xa4\x01\x16\x02\x3c\x02\xa0\x02\x8f\x03"
+	"\xe3\x03\x70\x04\x85\x04\x88\x04\x0e\x04\xac\x03\xac\x03\xdd\x02"
+	"\xa7\x02\xe3\x01\x34\x01\x09\x00\xf1\xfe\xc3\xfd\x11\xfd\x1d\xfa"
+	"\x20\xf7\xc0\xf5\x2c\xf2\x69\xf1\x8e\xf1\x88\xf3\x51\xf6\x91\xfa"
+	"\x11\x00\x0e\x04\xc2\x07\xe5\x0a\x21\x0c\x07\x0c\xfa\x0b\x29\x0b"
+	"\xb8\x09\xd4\x07\x17\x06\x64\x03\xb6\x00\x3e\xfe\x33\xfc\x10\xfa"
+	"\x18\xf9\x40\xf9\xa5\xf9\xa4\xfa\x14\xfc\x39\xfd\xd2\xfd\x6a\xfe"
+	"\xc1\xfe\xfb\xfe\x22\xff\xf1\xff\x72\x00\x30\x01\xb0\x01\x2f\x02"
+	"\xea\x01\x95\x01\x32\x01\xc5\x00\xd2\x00\x1a\x01\x13\x02\xfb\x02"
+	"\xea\x03\x96\x04\x1a\x05\xc9\x04\x87\x04\xd6\x03\x26\x03\x6c\x02"
+	"\xd3\x01\x10\x01\x1d\x00\xef\xfe\xa4\xfd\x41\xfa\x94\xf7\x40\xf5"
+	"\x5c\xf2\xea\xf1\xfb\xf1\x61\xf4\x22\xf7\x4a\xfb\xef\xff\x9d\x03"
+	"\x1d\x07\x71\x09\x62\x0a\xfa\x0a\xc5\x0a\x75\x0a\x85\x09\x1d\x08"
+	"\xb6\x06\x40\x04\x00\x02\x6f\xff\x21\xfd\x2e\xfb\xdc\xf9\x6d\xf9"
+	"\x8d\xf9\x23\xfa\x19\xfb\xf0\xfb\xb6\xfc\x42\xfd\xd9\xfd\x45\xfe"
+	"\x08\xff\xed\xff\x0c\x01\xfc\x01\xd2\x02\x61\x03\x22\x03\x9c\x02"
+	"\xab\x01\xcf\x00\x19\x00\xd4\xff\x13\x00\xc6\x00\xb5\x01\xba\x02"
+	"\x65\x03\xf6\x03\x06\x04\xc4\x03\x4b\x03\x16\x03\x8e\x02\x3d\x02"
+	"\xb2\x01\x0b\x01\x0d\xff\x92\xfb\x4f\xf9\x9a\xf5\x13\xf3\x12\xf2"
+	"\x8b\xf2\x78\xf4\x6a\xf7\x04\xfc\x02\x00\x75\x03\x8a\x06\x58\x08"
+	"\xd2\x08\x5b\x09\x87\x09\x44\x09\xb7\x08\xfe\x07\x98\x06\x79\x04"
+	"\x36\x02\xf7\xff\x88\xfd\xc5\xfb\xe2\xfa\x3d\xfa\x81\xfa\x05\xfb"
+	"\xcb\xfb\x58\xfc\xda\xfc\x63\xfd\x8c\xfd\xfe\xfd\xa4\xfe\x82\xff"
+	"\x7c\x00\x7b\x01\x5e\x02\xe7\x02\xea\x02\x99\x02\xfb\x01\x31\x01"
+	"\x91\x00\x17\x00\x44\x00\xb2\x00\x64\x01\x39\x02\xad\x02\xf9\x02"
+	"\xd1\x02\x4d\x02\xef\x01\xae\x01\x80\x01\xad\x01\xc0\x01\x91\x01"
+	"\x65\xff\x5c\xfd\xa2\xfa\xf6\xf6\x2a\xf5\xcf\xf3\x53\xf4\xff\xf5"
+	"\x37\xf9\x08\xfd\x2f\x00\x71\x03\x99\x05\xa0\x06\x79\x07\x14\x08"
+	"\x8a\x08\xd6\x08\xd8\x08\x52\x08\xe9\x06\xee\x04\x74\x02\x9b\xff"
+	"\xff\xfc\x2e\xfb\xfa\xf9\xc6\xf9\x3f\xfa\x20\xfb\xef\xfb\xa0\xfc"
+	"\x12\xfd\x63\xfd\xb5\xfd\x41\xfe\x08\xff\x09\x00\x32\x01\x16\x02"
+	"\xaf\x02\xd1\x02\x75\x02\xb8\x01\xf9\x00\x60\x00\x24\x00\x52\x00"
+	"\xe0\x00\x98\x01\x3b\x02\xa1\x02\xdc\x02\xad\x02\x3f\x02\xfb\x01"
+	"\xba\x01\x88\x01\x8e\x01\x92\x01\xe5\x00\xb0\xfe\xae\xfc\xf2\xf9"
+	"\xae\xf6\xd0\xf4\xca\xf3\x57\xf4\x1b\xf6\xad\xf9\xcd\xfd\x67\x01"
+	"\xc5\x04\xe2\x06\x98\x07\xd0\x07\xcb\x07\xbe\x07\xc7\x07\xe2\x07"
+	"\xf3\x07\x44\x07\xfd\x05\x28\x04\x7d\x01\x9e\xfe\x2c\xfc\x47\xfa"
+	"\x71\xf9\x68\xf9\x33\xfa\x1e\xfb\xee\xfb\x91\xfc\xc0\xfc\xff\xfc"
+	"\x58\xfd\x39\xfe\x90\xff\x2b\x01\xb8\x02\xe0\x03\x28\x04\x93\x03"
+	"\x72\x02\xe5\x00\x91\xff\xd2\xfe\xbe\xfe\x51\xff\x33\x00\x50\x01"
+	"\x3e\x02\x8f\x02\x92\x02\x29\x02\x8e\x01\x1b\x01\xcd\x00\xe7\x00"
+	"\x15\x01\x28\x01\xf0\x00\x0f\xff\x50\xfd\x2b\xfb\x83\xf8\x24\xf7"
+	"\x66\xf6\x17\xf7\x8f\xf8\x2b\xfb\x47\xfe\xcd\x00\x2e\x03\xf6\x04"
+	"\xb5\x05\x2e\x06\x9a\x06\xd7\x06\xf2\x06\xe5\x06\xa0\x06\xa7\x05"
+	"\x38\x04\x8f\x02\x9e\x00\x9c\xfe\x28\xfd\x3b\xfc\xbf\xfb\xce\xfb"
+	"\x24\xfc\x71\xfc\xa9\xfc\xd9\xfc\x15\xfd\x5c\xfd\x09\xfe\x20\xff"
+	"\x54\x00\x8c\x01\x81\x02\xed\x02\xa2\x02\xfa\x01\x1d\x01\x1e\x00"
+	"\x69\xff\x3c\xff\x9c\xff\x1b\x00\xd6\x00\xa1\x01\xd4\x01\xdd\x01"
+	"\x02\x02\xa8\x01\x89\x01\x56\x01\x8f\x01\x71\x00\xc9\xfe\xc3\xfd"
+	"\xeb\xfa\xf4\xf8\x60\xf7\xbc\xf6\x0a\xf7\x7e\xf8\x9b\xfb\x6f\xfe"
+	"\x63\x01\x20\x04\x8f\x05\x16\x06\x54\x06\x46\x06\x2f\x06\x42\x06"
+	"\xa2\x06\xa7\x06\x3a\x06\x5f\x05\xc4\x03\x68\x01\x13\xff\xde\xfc"
+	"\x2f\xfb\x56\xfa\x6a\xfa\x28\xfb\x24\xfc\x39\xfd\x02\xfe\x55\xfe"
+	"\x63\xfe\x71\xfe\xa3\xfe\x3c\xff\x38\x00\x65\x01\x7e\x02\x11\x03"
+	"\x19\x03\x64\x02\x1b\x01\xdc\xff\xb4\xfe\x2b\xfe\x4d\xfe\xf2\xfe"
+	"\x15\x00\xf9\x00\xb4\x01\x07\x02\xda\x01\x8f\x01\x3b\x01\x1d\x01"
+	"\x1d\x01\x4e\x01\xa6\x01\x20\x01\x21\xff\xb6\xfd\x31\xfb\x84\xf8"
+	"\x37\xf7\xa3\xf6\x80\xf7\x2d\xf9\x5f\xfc\x8b\xff\x0e\x02\x75\x04"
+	"\xb8\x05\xcf\x05\xe0\x05\xdc\x05\xc0\x05\xb8\x05\xed\x05\xda\x05"
+	"\x1d\x05\x0a\x04\x77\x02\x4c\x00\x38\xfe\xa2\xfc\x71\xfb\x07\xfb"
+	"\x55\xfb\x10\xfc\xc6\xfc\x8e\xfd\x29\xfe\x74\xfe\xb6\xfe\x3f\xff"
+	"\xdb\xff\x9f\x00\xa3\x01\x78\x02\xdb\x02\xb2\x02\x1b\x02\x07\x01"
+	"\xcb\xff\xb2\xfe\x15\xfe\xfa\xfd\x77\xfe\x73\xff\x66\x00\x38\x01"
+	"\xc0\x01\xf3\x01\xc8\x01\xc5\x01\xc1\x01\xcb\x01\x04\x02\x4a\x02"
+	"\xbc\x01\x0d\x00\x6e\xfe\xdc\xfb\x38\xf9\x79\xf7\xa9\xf6\x15\xf7"
+	"\xa2\xf8\x6f\xfb\x58\xfe\xf1\x00\x23\x03\x52\x04\xa1\x04\xda\x04"
+	"\x0f\x05\x62\x05\xe5\x05\x71\x06\xa5\x06\x1b\x06\xfa\x04\x3a\x03"
+	"\xdf\x00\xa3\xfe\xf3\xfc\xbf\xfb\x73\xfb\xd9\xfb\x8d\xfc\x41\xfd"
+	"\xca\xfd\x1f\xfe\x21\xfe\x26\xfe\x7b\xfe\x1b\xff\x13\x00\x4e\x01"
+	"\x62\x02\x1e\x03\x48\x03\xc5\x02\xbd\x01\x5e\x00\x26\xff\x4f\xfe"
+	"\xf4\xfd\x49\xfe\xfb\xfe\xbc\xff\x75\x00\x03\x01\x23\x01\xed\x00"
+	"\xee\x00\xd8\x00\xf5\x00\x56\x01\xda\x01\xa2\x01\xa5\x00\x9e\xff"
+	"\x77\xfd\x53\xfb\xb2\xf9\xc6\xf8\xe7\xf8\x0e\xfa\x49\xfc\x8e\xfe"
+	"\x9c\x00\x4a\x02\x0d\x03\x1e\x03\x32\x03\x41\x03\x9f\x03\x23\x04"
+	"\xd2\x04\x39\x05\xf4\x04\x44\x04\xd8\x02\x0e\x01\x61\xff\x20\xfe"
+	"\x61\xfd\x35\xfd\xa0\xfd\x2b\xfe\x73\xfe\x9d\xfe\x77\xfe\x28\xfe"
+	"\x07\xfe\x36\xfe\xc6\xfe\xa4\xff\xa8\x00\x9a\x01\x23\x02\x28\x02"
+	"\xa6\x01\xcc\x00\xd6\xff\x14\xff\xac\xfe\xab\xfe\x11\xff\xa0\xff"
+	"\x3f\x00\xad\x00\x02\x01\x16\x01\x14\x01\x2b\x01\x50\x01\xa3\x01"
+	"\x15\x02\x44\x02\xe6\x01\xb3\x00\x26\xff\x0a\xfd\xde\xfa\x6d\xf9"
+	"\x9d\xf8\xeb\xf8\x3f\xfa\x5e\xfc\x9e\xfe\x92\x00\x15\x02\xc6\x02"
+	"\xe7\x02\xfc\x02\x0b\x03\x6c\x03\x00\x04\x9d\x04\xf1\x04\xbf\x04"
+	"\x10\x04\xbc\x02\x17\x01\x81\xff\x3e\xfe\x8d\xfd\x7e\xfd\xdc\xfd"
+	"\x59\xfe\xbd\xfe\xe8\xfe\xc2\xfe\x78\xfe\x3a\xfe\x40\xfe\xa7\xfe"
+	"\x66\xff\x54\x00\x40\x01\xf5\x01\x21\x02\xc5\x01\x20\x01\x44\x00"
+	"\x80\xff\xfc\xfe\xe1\xfe\x16\xff\x7c\xff\x04\x00\x64\x00\x87\x00"
+	"\x81\x00\x61\x00\x45\x00\x65\x00\xb4\x00\x43\x01\xb3\x01\xaf\x01"
+	"\x01\x01\xd9\xff\x4a\xfe\x7c\xfc\x25\xfb\x66\xfa\x7d\xfa\x78\xfb"
+	"\x0b\xfd\xd2\xfe\x58\x00\x75\x01\x02\x02\x23\x02\x34\x02\x67\x02"
+	"\xcb\x02\x41\x03\xbd\x03\xf0\x03\xbb\x03\x28\x03\x3e\x02\x24\x01"
+	"\x1b\x00\x50\xff\xc7\xfe\x85\xfe\x7c\xfe\x80\xfe\x72\xfe\x60\xfe"
+	"\x3d\xfe\x2c\xfe\x35\xfe\x74\xfe\xf2\xfe\x8f\xff\x3f\x00\xd8\x00"
+	"\x3f\x01\x49\x01\x1c\x01\xc7\x00\x51\x00\xf4\xff\xb6\xff\xae\xff"
+	"\xeb\xff\x3b\x00\x83\x00\xc0\x00\xc5\x00\xb5\x00\x77\x00\x22\x00"
+	"\x11\x00\x19\x00\x50\x00\x94\x00\x77\x00\xf6\xff\x1f\xff\x02\xfe"
+	"\xd3\xfc\xf6\xfb\xb7\xfb\x1c\xfc\x19\xfd\x7a\xfe\xdd\xff\xf1\x00"
+	"\x95\x01\xbc\x01\x9a\x01\x73\x01\x7f\x01\xc0\x01\x33\x02\xad\x02"
+	"\xf4\x02\xf2\x02\x9c\x02\xf2\x01\x20\x01\x61\x00\xc8\xff\x63\xff"
+	"\x36\xff\x2f\xff\x21\xff\x0c\xff\xe1\xfe\xa6\xfe\x78\xfe\x6c\xfe"
+	"\x8b\xfe\xe3\xfe\x6a\xff\xf6\xff\x72\x00\xca\x00\xeb\x00\xca\x00"
+	"\x7c\x00\x2d\x00\xd8\xff\xaf\xff\xba\xff\xf0\xff\x40\x00\x88\x00"
+	"\xcd\x00\xd5\x00\xc7\x00\xa8\x00\x79\x00\x63\x00\x65\x00\x3b\x00"
+	"\xf0\xff\x7b\xff\xb2\xfe\xd8\xfd\xfe\xfc\x77\xfc\x55\xfc\xc1\xfc"
+	"\xa5\xfd\xb9\xfe\xe6\xff\xe3\x00\x8b\x01\xdd\x01\xea\x01\xe2\x01"
+	"\xe2\x01\xf5\x01\x37\x02\x68\x02\x90\x02\x80\x02\x30\x02\xa7\x01"
+	"\x02\x01\x60\x00\xca\xff\x5f\xff\x15\xff\xe4\xfe\xcb\xfe\xcc\xfe"
+	"\xc5\xfe\xcf\xfe\xd0\xfe\xdb\xfe\xee\xfe\x1e\xff\x53\xff\xa6\xff"
+	"\x03\x00\x55\x00\x8f\x00\x9b\x00\x80\x00\x35\x00\xf1\xff\xa8\xff"
+	"\x81\xff\x89\xff\xb4\xff\xf2\xff\x3b\x00\x5c\x00\x60\x00\x44\x00"
+	"\x2a\x00\x19\x00\x28\x00\x56\x00\x53\x00\x37\x00\xed\xff\x70\xff"
+	"\xe3\xfe\x65\xfe\x18\xfe\x19\xfe\x66\xfe\xf0\xfe\x8b\xff\x20\x00"
+	"\x92\x00\xd2\x00\xf0\x00\xfe\x00\x12\x01\x37\x01\x69\x01\xa3\x01"
+	"\xc8\x01\xce\x01\xb6\x01\x78\x01\x1a\x01\xb7\x00\x50\x00\xe4\xff"
+	"\x93\xff\x51\xff\x25\xff\x0d\xff\x0d\xff\x00\xff\xfa\xfe\x07\xff"
+	"\x09\xff\x1d\xff\x3f\xff\x6c\xff\xbf\xff\x0a\x00\x3f\x00\x74\x00"
+	"\x9c\x00\x90\x00\x4c\x00\x09\x00\xd9\xff\xc7\xff\xc4\xff\xd7\xff"
+	"\xf7\xff\x1f\x00\x25\x00\x16\x00\xfd\xff\xeb\xff\xea\xff\xc9\xff"
+	"\xb6\xff\xa0\xff\x86\xff\x6c\xff\x44\xff\x28\xff\x1b\xff\x39\xff"
+	"\x81\xff\xc8\xff\x1f\x00\x6b\x00\x90\x00\xa8\x00\xb2\x00\xbc\x00"
+	"\xd5\x00\xf4\x00\x09\x01\x1b\x01\x22\x01\x1f\x01\x06\x01\xdd\x00"
+	"\xb0\x00\x74\x00\x3b\x00\xfc\xff\xb6\xff\x86\xff\x69\xff\x58\xff"
+	"\x56\xff\x52\xff\x5a\xff\x57\xff\x4e\xff\x52\xff\x4f\xff\x64\xff"
+	"\x82\xff\xb2\xff\xfa\xff\x2b\x00\x53\x00\x5f\x00\x4a\x00\x3d\x00"
+	"\x2a\x00\x10\x00\x08\x00\x00\x00\x06\x00\xff\xff\xea\xff\xdc\xff"
+	"\xce\xff\xc3\xff\xbd\xff\xaf\xff\x95\xff\x81\xff\x6c\xff\x64\xff"
+	"\x5b\xff\x6f\xff\x93\xff\xc5\xff\x10\x00\x5a\x00\x8a\x00\xb0\x00"
+	"\xbf\x00\xc1\x00\xc3\x00\xc2\x00\xc9\x00\xcf\x00\xd1\x00\xbb\x00"
+	"\xaa\x00\x9b\x00\x86\x00\x6e\x00\x5a\x00\x38\x00\x0d\x00\xdd\xff"
+	"\xaf\xff\x84\xff\x6b\xff\x62\xff\x61\xff\x6a\xff\x75\xff\x86\xff"
+	"\x8a\xff\x93\xff\xa2\xff\xa8\xff\xba\xff\xd4\xff\xee\xff\x06\x00"
+	"\x13\x00\x1a\x00\x18\x00\x0f\x00\x0a\x00\x01\x00\xfc\xff\xfa\xff"
+	"\xeb\xff\xe0\xff\xc2\xff\xb4\xff\xbd\xff\xbd\xff\xc6\xff\xde\xff"
+	"\xf8\xff\x05\x00\x09\x00\x11\x00\x15\x00\x14\x00\x1a\x00\x1f\x00"
+	"\x27\x00\x29\x00\x31\x00\x2e\x00\x27\x00\x1f\x00\x1c\x00\x25\x00"
+	"\x30\x00\x44\x00\x4b\x00\x43\x00\x35\x00\x25\x00\x28\x00\x2e\x00"
+	"\x39\x00\x47\x00\x4a\x00\x47\x00\x33\x00\x1c\x00\xf9\xff\xdd\xff"
+	"\xc8\xff\xc4\xff\xc3\xff\xc3\xff\xca\xff\xc5\xff\xc3\xff\xbd\xff"
+	"\xc2\xff\xce\xff\xd2\xff\xdf\xff\xf2\xff\x08\x00\x1d\x00\x29\x00"
+	"\x2c\x00\x26\x00\x19\x00\x07\x00\xf6\xff\xe3\xff\xd9\xff\xc7\xff"
+	"\xc8\xff\xcd\xff\xd3\xff\xe0\xff\xdc\xff\xd0\xff\xd3\xff\xd4\xff"
+	"\xd2\xff\xdb\xff\xe0\xff\xfa\xff\x11\x00\x27\x00\x2f\x00\x32\x00"
+	"\x35\x00\x2f\x00\x2e\x00\x37\x00\x37\x00\x3f\x00\x44\x00\x41\x00"
+	"\x42\x00\x40\x00\x36\x00\x31\x00\x34\x00\x2e\x00\x35\x00\x37\x00"
+	"\x2e\x00\x2b\x00\x18\x00\x08\x00\xf8\xff\xe2\xff\xd4\xff\xc0\xff"
+	"\xb5\xff\xa6\xff\xa9\xff\xb1\xff\xbe\xff\xcf\xff\xe2\xff\xee\xff"
+	"\xf4\xff\xec\xff\xdb\xff\xe9\xff\xe7\xff\xf1\xff\xfb\xff\xfd\xff"
+	"\x01\x00\x01\x00\xff\xff\xf3\xff\xe9\xff\xe6\xff\xed\xff\xf4\xff"
+	"\xf9\xff\x05\x00\x06\x00\x05\x00\xfa\xff\xea\xff\xe9\xff\xe6\xff"
+	"\xed\xff\xe9\xff\xec\xff\xf7\xff\xfe\xff\x05\x00\x0c\x00\x13\x00"
+	"\x19\x00\x1a\x00\x25\x00\x2d\x00\x2f\x00\x31\x00\x26\x00\x2a\x00"
+	"\x29\x00\x1f\x00\x1a\x00\x15\x00\x0f\x00\x06\x00\x06\x00\xfe\xff"
+	"\xef\xff\xe5\xff\xde\xff\xe1\xff\xe4\xff\xeb\xff\xf3\xff\x03\x00"
+	"\x16\x00\x23\x00\x35\x00\x3f\x00\x44\x00\x42\x00\x3f\x00\x34\x00"
+	"\x22\x00\x11\x00\x05\x00\xfc\xff\xea\xff\xda\xff\xd3\xff\xca\xff"
+	"\xc9\xff\xc8\xff\xc0\xff\xc8\xff\xd2\xff\xde\xff\xf2\xff\xf4\xff"
+	"\xff\xff\x0a\x00\x0e\x00\x17\x00\x12\x00\x1f\x00\x1b\x00\x14\x00"
+	"\x13\x00\x0b\x00\x05\x00\xfa\xff\xf0\xff\xe4\xff\xde\xff\xd8\xff"
+	"\xdb\xff\xea\xff\xf8\xff\xf8\xff\xff\xff\x01\x00\xfa\xff\xfd\xff"
+	"\x02\x00\x01\x00\xff\xff\x04\x00\x05\x00\x02\x00\xf1\xff\xe6\xff"
+	"\xdc\xff\xcc\xff\xd4\xff\xde\xff\xec\xff\x06\x00\x15\x00\x28\x00"
+	"\x38\x00\x40\x00\x43\x00\x44\x00\x46\x00\x41\x00\x3d\x00\x32\x00"
+	"\x30\x00\x21\x00\x0f\x00\x05\x00\xf3\xff\xe2\xff\xd4\xff\xcf\xff"
+	"\xca\xff\xcd\xff\xd7\xff\xdf\xff\xdf\xff\xe5\xff\xeb\xff\xec\xff"
+	"\xf3\xff\xfc\xff\x0d\x00\x18\x00\x13\x00\x1d\x00\x21\x00\x1f\x00"
+	"\x1f\x00\x17\x00\x0e\x00\x07\x00\xfe\xff\xf5\xff\xf1\xff\xf2\xff"
+	"\xf0\xff\xec\xff\xe9\xff\xe1\xff\xe3\xff\xe1\xff\xda\xff\xd9\xff"
diff --git a/ndk/platforms/android-9/samples/native-audio/jni/native-audio-jni.c b/ndk/platforms/android-9/samples/native-audio/jni/native-audio-jni.c
new file mode 100644
index 0000000..bc1ad85
--- /dev/null
+++ b/ndk/platforms/android-9/samples/native-audio/jni/native-audio-jni.c
@@ -0,0 +1,605 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+/* This is a JNI example where we use native methods to play sounds
+ * using OpenSL ES. See the corresponding Java source file located at:
+ *
+ *   src/com/example/nativeaudio/NativeAudio/NativeAudio.java
+ */
+
+#include <assert.h>
+#include <jni.h>
+#include <string.h>
+
+// for __android_log_print(ANDROID_LOG_INFO, "YourApp", "formatted message");
+// #include <android/log.h>
+
+// for native audio
+#include <SLES/OpenSLES.h>
+#include "SLES/OpenSLES_Android.h"
+
+// for native asset manager
+#include <sys/types.h>
+#include <android/asset_manager.h>
+#include <android/asset_manager_jni.h>
+
+// pre-recorded sound clips, both are 8 kHz mono 16-bit signed little endian
+
+static const char hello[] =
+#include "hello_clip.h"
+;
+
+static const char android[] =
+#include "android_clip.h"
+;
+
+// engine interfaces
+static SLObjectItf engineObject = NULL;
+static SLEngineItf engineEngine;
+
+// output mix interfaces
+static SLObjectItf outputMixObject = NULL;
+static SLEnvironmentalReverbItf outputMixEnvironmentalReverb = NULL;
+
+// buffer queue player interfaces
+static SLObjectItf bqPlayerObject = NULL;
+static SLPlayItf bqPlayerPlay;
+static SLAndroidSimpleBufferQueueItf bqPlayerBufferQueue;
+static SLEffectSendItf bqPlayerEffectSend;
+
+// aux effect on the output mix, used by the buffer queue player
+static const SLEnvironmentalReverbSettings reverbSettings =
+    SL_I3DL2_ENVIRONMENT_PRESET_STONECORRIDOR;
+
+// URI player interfaces
+static SLObjectItf uriPlayerObject = NULL;
+static SLPlayItf uriPlayerPlay;
+static SLSeekItf uriPlayerSeek;
+
+// file descriptor player interfaces
+static SLObjectItf fdPlayerObject = NULL;
+static SLPlayItf fdPlayerPlay;
+static SLSeekItf fdPlayerSeek;
+
+// recorder interfaces
+static SLObjectItf recorderObject = NULL;
+static SLRecordItf recorderRecord;
+static SLAndroidSimpleBufferQueueItf recorderBufferQueue;
+
+// synthesized sawtooth clip
+#define SAWTOOTH_FRAMES 8000
+static short sawtoothBuffer[SAWTOOTH_FRAMES];
+
+// 5 seconds of recorded audio at 16 kHz mono, 16-bit signed little endian
+#define RECORDER_FRAMES (16000 * 5)
+static short recorderBuffer[RECORDER_FRAMES];
+static unsigned recorderSize = 0;
+static SLmilliHertz recorderSR;
+
+// pointer and size of the next player buffer to enqueue, and number of remaining buffers
+static short *nextBuffer;
+static unsigned nextSize;
+static int nextCount;
+
+
+// synthesize a mono sawtooth wave and place it into a buffer (called automatically on load)
+__attribute__((constructor)) static void onDlOpen(void)
+{
+    unsigned i;
+    for (i = 0; i < SAWTOOTH_FRAMES; ++i) {
+        sawtoothBuffer[i] = 32768 - ((i % 100) * 660);
+    }
+}
+
+
+// this callback handler is called every time a buffer finishes playing
+void bqPlayerCallback(SLAndroidSimpleBufferQueueItf bq, void *context)
+{
+    assert(bq == bqPlayerBufferQueue);
+    assert(NULL == context);
+    // for streaming playback, replace this test by logic to find and fill the next buffer
+    if (--nextCount > 0 && NULL != nextBuffer && 0 != nextSize) {
+        SLresult result;
+        // enqueue another buffer
+        result = (*bqPlayerBufferQueue)->Enqueue(bqPlayerBufferQueue, nextBuffer, nextSize);
+        // the most likely other result is SL_RESULT_BUFFER_INSUFFICIENT,
+        // which for this code example would indicate a programming error
+        assert(SL_RESULT_SUCCESS == result);
+    }
+}
+
+
+// this callback handler is called every time a buffer finishes recording
+void bqRecorderCallback(SLAndroidSimpleBufferQueueItf bq, void *context)
+{
+    assert(bq == bqRecorderBufferQueue);
+    assert(NULL == context);
+    // for streaming recording, here we would call Enqueue to give recorder the next buffer to fill
+    // but instead, this is a one-time buffer so we stop recording
+    SLresult result;
+    result = (*recorderRecord)->SetRecordState(recorderRecord, SL_RECORDSTATE_STOPPED);
+    if (SL_RESULT_SUCCESS == result) {
+        recorderSize = RECORDER_FRAMES * sizeof(short);
+        recorderSR = SL_SAMPLINGRATE_16;
+    }
+}
+
+
+// create the engine and output mix objects
+void Java_com_example_nativeaudio_NativeAudio_createEngine(JNIEnv* env, jclass clazz)
+{
+    SLresult result;
+
+    // create engine
+    result = slCreateEngine(&engineObject, 0, NULL, 0, NULL, NULL);
+    assert(SL_RESULT_SUCCESS == result);
+
+    // realize the engine
+    result = (*engineObject)->Realize(engineObject, SL_BOOLEAN_FALSE);
+    assert(SL_RESULT_SUCCESS == result);
+
+    // get the engine interface, which is needed in order to create other objects
+    result = (*engineObject)->GetInterface(engineObject, SL_IID_ENGINE, &engineEngine);
+    assert(SL_RESULT_SUCCESS == result);
+
+    // create output mix, with environmental reverb specified as a non-required interface
+    const SLInterfaceID ids[1] = {SL_IID_ENVIRONMENTALREVERB};
+    const SLboolean req[1] = {SL_BOOLEAN_FALSE};
+    result = (*engineEngine)->CreateOutputMix(engineEngine, &outputMixObject, 1, ids, req);
+    assert(SL_RESULT_SUCCESS == result);
+
+    // realize the output mix
+    result = (*outputMixObject)->Realize(outputMixObject, SL_BOOLEAN_FALSE);
+    assert(SL_RESULT_SUCCESS == result);
+
+    // get the environmental reverb interface
+    // this could fail if the environmental reverb effect is not available,
+    // either because the feature is not present, excessive CPU load, or
+    // the required MODIFY_AUDIO_SETTINGS permission was not requested and granted
+    result = (*outputMixObject)->GetInterface(outputMixObject, SL_IID_ENVIRONMENTALREVERB,
+            &outputMixEnvironmentalReverb);
+    if (SL_RESULT_SUCCESS == result) {
+        result = (*outputMixEnvironmentalReverb)->SetEnvironmentalReverbProperties(
+                outputMixEnvironmentalReverb, &reverbSettings);
+    }
+    // ignore unsuccessful result codes for environmental reverb, as it is optional for this example
+
+}
+
+
+// create buffer queue audio player
+void Java_com_example_nativeaudio_NativeAudio_createBufferQueueAudioPlayer(JNIEnv* env,
+        jclass clazz)
+{
+    SLresult result;
+
+    // configure audio source
+    SLDataLocator_AndroidSimpleBufferQueue loc_bufq = {SL_DATALOCATOR_ANDROIDSIMPLEBUFFERQUEUE, 2};
+    SLDataFormat_PCM format_pcm = {SL_DATAFORMAT_PCM, 1, SL_SAMPLINGRATE_8,
+        SL_PCMSAMPLEFORMAT_FIXED_16, SL_PCMSAMPLEFORMAT_FIXED_16,
+        SL_SPEAKER_FRONT_CENTER, SL_BYTEORDER_LITTLEENDIAN};
+    SLDataSource audioSrc = {&loc_bufq, &format_pcm};
+
+    // configure audio sink
+    SLDataLocator_OutputMix loc_outmix = {SL_DATALOCATOR_OUTPUTMIX, outputMixObject};
+    SLDataSink audioSnk = {&loc_outmix, NULL};
+
+    // create audio player
+    const SLInterfaceID ids[2] = {SL_IID_BUFFERQUEUE, SL_IID_EFFECTSEND};
+    const SLboolean req[2] = {SL_BOOLEAN_TRUE, SL_BOOLEAN_TRUE};
+    result = (*engineEngine)->CreateAudioPlayer(engineEngine, &bqPlayerObject, &audioSrc, &audioSnk,
+            2, ids, req);
+    assert(SL_RESULT_SUCCESS == result);
+
+    // realize the player
+    result = (*bqPlayerObject)->Realize(bqPlayerObject, SL_BOOLEAN_FALSE);
+    assert(SL_RESULT_SUCCESS == result);
+
+    // get the play interface
+    result = (*bqPlayerObject)->GetInterface(bqPlayerObject, SL_IID_PLAY, &bqPlayerPlay);
+    assert(SL_RESULT_SUCCESS == result);
+
+    // get the buffer queue interface
+    result = (*bqPlayerObject)->GetInterface(bqPlayerObject, SL_IID_BUFFERQUEUE,
+            &bqPlayerBufferQueue);
+    assert(SL_RESULT_SUCCESS == result);
+
+    // register callback on the buffer queue
+    result = (*bqPlayerBufferQueue)->RegisterCallback(bqPlayerBufferQueue, bqPlayerCallback, NULL);
+    assert(SL_RESULT_SUCCESS == result);
+
+    // get the effect send interface
+    result = (*bqPlayerObject)->GetInterface(bqPlayerObject, SL_IID_EFFECTSEND,
+            &bqPlayerEffectSend);
+    assert(SL_RESULT_SUCCESS == result);
+
+    // set the player's state to playing
+    result = (*bqPlayerPlay)->SetPlayState(bqPlayerPlay, SL_PLAYSTATE_PLAYING);
+    assert(SL_RESULT_SUCCESS == result);
+
+}
+
+
+// create URI audio player
+jboolean Java_com_example_nativeaudio_NativeAudio_createUriAudioPlayer(JNIEnv* env, jclass clazz,
+        jstring uri)
+{
+    SLresult result;
+
+    // convert Java string to UTF-8
+    const jbyte *utf8 = (*env)->GetStringUTFChars(env, uri, NULL);
+    assert(NULL != utf8);
+
+    // configure audio source
+    // (requires the INTERNET permission depending on the uri parameter)
+    SLDataLocator_URI loc_uri = {SL_DATALOCATOR_URI, (SLchar *) utf8};
+    SLDataFormat_MIME format_mime = {SL_DATAFORMAT_MIME, NULL, SL_CONTAINERTYPE_UNSPECIFIED};
+    SLDataSource audioSrc = {&loc_uri, &format_mime};
+
+    // configure audio sink
+    SLDataLocator_OutputMix loc_outmix = {SL_DATALOCATOR_OUTPUTMIX, outputMixObject};
+    SLDataSink audioSnk = {&loc_outmix, NULL};
+
+    // create audio player
+    const SLInterfaceID ids[1] = {SL_IID_SEEK};
+    const SLboolean req[1] = {SL_BOOLEAN_TRUE};
+    result = (*engineEngine)->CreateAudioPlayer(engineEngine, &uriPlayerObject, &audioSrc,
+            &audioSnk, 1, ids, req);
+    // note that an invalid URI is not detected here, but during prepare/prefetch on Android,
+    // or possibly during Realize on other platforms
+    assert(SL_RESULT_SUCCESS == result);
+
+    // release the Java string and UTF-8
+    (*env)->ReleaseStringUTFChars(env, uri, utf8);
+
+    // realize the player
+    result = (*uriPlayerObject)->Realize(uriPlayerObject, SL_BOOLEAN_FALSE);
+    // this will always succeed on Android, but we check result for portability to other platforms
+    if (SL_RESULT_SUCCESS != result) {
+        (*uriPlayerObject)->Destroy(uriPlayerObject);
+        uriPlayerObject = NULL;
+        return JNI_FALSE;
+    }
+
+    // get the play interface
+    result = (*uriPlayerObject)->GetInterface(uriPlayerObject, SL_IID_PLAY, &uriPlayerPlay);
+    assert(SL_RESULT_SUCCESS == result);
+
+    // get the seek interface
+    result = (*uriPlayerObject)->GetInterface(uriPlayerObject, SL_IID_SEEK, &uriPlayerSeek);
+    assert(SL_RESULT_SUCCESS == result);
+
+    // enable whole file looping
+    result = (*uriPlayerSeek)->SetLoop(uriPlayerSeek, SL_BOOLEAN_TRUE, 0, SL_TIME_UNKNOWN);
+    assert(SL_RESULT_SUCCESS == result);
+
+    return JNI_TRUE;
+}
+
+
+// set the playing state for the URI audio player
+void Java_com_example_nativeaudio_NativeAudio_setPlayingUriAudioPlayer(JNIEnv* env,
+        jclass clazz, jboolean isPlaying)
+{
+    SLresult result;
+
+    // make sure the URI audio player was created
+    if (NULL != uriPlayerPlay) {
+
+        // set the player's state
+        result = (*uriPlayerPlay)->SetPlayState(uriPlayerPlay, isPlaying ?
+            SL_PLAYSTATE_PLAYING : SL_PLAYSTATE_PAUSED);
+        assert(SL_RESULT_SUCCESS == result);
+
+    }
+
+}
+
+
+// enable reverb on the buffer queue player
+jboolean Java_com_example_nativeaudio_NativeAudio_enableReverb(JNIEnv* env, jclass clazz,
+        jboolean enabled)
+{
+    SLresult result;
+
+    // we might not have been able to add environmental reverb to the output mix
+    if (NULL == outputMixEnvironmentalReverb) {
+        return JNI_FALSE;
+    }
+
+    result = (*bqPlayerEffectSend)->EnableEffectSend(bqPlayerEffectSend,
+            outputMixEnvironmentalReverb, (SLboolean) enabled, (SLmillibel) 0);
+    // and even if environmental reverb was present, it might no longer be available
+    if (SL_RESULT_SUCCESS != result) {
+        return JNI_FALSE;
+    }
+
+    return JNI_TRUE;
+}
+
+
+// select the desired clip and play count, and enqueue the first buffer if idle
+jboolean Java_com_example_nativeaudio_NativeAudio_selectClip(JNIEnv* env, jclass clazz, jint which,
+        jint count)
+{
+    short *oldBuffer = nextBuffer;
+    switch (which) {
+    case 0:     // CLIP_NONE
+        nextBuffer = (short *) NULL;
+        nextSize = 0;
+        break;
+    case 1:     // CLIP_HELLO
+        nextBuffer = (short *) hello;
+        nextSize = sizeof(hello);
+        break;
+    case 2:     // CLIP_ANDROID
+        nextBuffer = (short *) android;
+        nextSize = sizeof(android);
+        break;
+    case 3:     // CLIP_SAWTOOTH
+        nextBuffer = sawtoothBuffer;
+        nextSize = sizeof(sawtoothBuffer);
+        break;
+    case 4:     // CLIP_PLAYBACK
+        // we recorded at 16 kHz, but are playing buffers at 8 Khz, so do a primitive down-sample
+        if (recorderSR == SL_SAMPLINGRATE_16) {
+            unsigned i;
+            for (i = 0; i < recorderSize; i += 2 * sizeof(short)) {
+                recorderBuffer[i >> 2] = recorderBuffer[i >> 1];
+            }
+            recorderSR = SL_SAMPLINGRATE_8;
+            recorderSize >>= 1;
+        }
+        nextBuffer = recorderBuffer;
+        nextSize = recorderSize;
+        break;
+    default:
+        nextBuffer = NULL;
+        nextSize = 0;
+        break;
+    }
+    nextCount = count;
+    if (nextSize > 0) {
+        // here we only enqueue one buffer because it is a long clip,
+        // but for streaming playback we would typically enqueue at least 2 buffers to start
+        SLresult result;
+        result = (*bqPlayerBufferQueue)->Enqueue(bqPlayerBufferQueue, nextBuffer, nextSize);
+        if (SL_RESULT_SUCCESS != result) {
+            return JNI_FALSE;
+        }
+    }
+
+    return JNI_TRUE;
+}
+
+
+// create asset audio player
+jboolean Java_com_example_nativeaudio_NativeAudio_createAssetAudioPlayer(JNIEnv* env, jclass clazz,
+        jobject assetManager, jstring filename)
+{
+    SLresult result;
+
+    // convert Java string to UTF-8
+    const jbyte *utf8 = (*env)->GetStringUTFChars(env, filename, NULL);
+    assert(NULL != utf8);
+
+    // use asset manager to open asset by filename
+    AAssetManager* mgr = AAssetManager_fromJava(env, assetManager);
+    assert(NULL != mgr);
+    AAsset* asset = AAssetManager_open(mgr, (const char *) utf8, AASSET_MODE_UNKNOWN);
+
+    // release the Java string and UTF-8
+    (*env)->ReleaseStringUTFChars(env, filename, utf8);
+
+    // the asset might not be found
+    if (NULL == asset) {
+        return JNI_FALSE;
+    }
+
+    // open asset as file descriptor
+    off_t start, length;
+    int fd = AAsset_openFileDescriptor(asset, &start, &length);
+    assert(0 <= fd);
+    AAsset_close(asset);
+
+    // configure audio source
+    SLDataLocator_AndroidFD loc_fd = {SL_DATALOCATOR_ANDROIDFD, fd, start, length};
+    SLDataFormat_MIME format_mime = {SL_DATAFORMAT_MIME, NULL, SL_CONTAINERTYPE_UNSPECIFIED};
+    SLDataSource audioSrc = {&loc_fd, &format_mime};
+
+    // configure audio sink
+    SLDataLocator_OutputMix loc_outmix = {SL_DATALOCATOR_OUTPUTMIX, outputMixObject};
+    SLDataSink audioSnk = {&loc_outmix, NULL};
+
+    // create audio player
+    const SLInterfaceID ids[1] = {SL_IID_SEEK};
+    const SLboolean req[1] = {SL_BOOLEAN_TRUE};
+    result = (*engineEngine)->CreateAudioPlayer(engineEngine, &fdPlayerObject, &audioSrc, &audioSnk,
+            1, ids, req);
+    assert(SL_RESULT_SUCCESS == result);
+
+    // realize the player
+    result = (*fdPlayerObject)->Realize(fdPlayerObject, SL_BOOLEAN_FALSE);
+    assert(SL_RESULT_SUCCESS == result);
+
+    // get the play interface
+    result = (*fdPlayerObject)->GetInterface(fdPlayerObject, SL_IID_PLAY, &fdPlayerPlay);
+    assert(SL_RESULT_SUCCESS == result);
+
+    // get the seek interface
+    result = (*fdPlayerObject)->GetInterface(fdPlayerObject, SL_IID_SEEK, &fdPlayerSeek);
+    assert(SL_RESULT_SUCCESS == result);
+
+    // enable whole file looping
+    result = (*fdPlayerSeek)->SetLoop(fdPlayerSeek, SL_BOOLEAN_TRUE, 0, SL_TIME_UNKNOWN);
+    assert(SL_RESULT_SUCCESS == result);
+
+    return JNI_TRUE;
+}
+
+
+// set the playing state for the asset audio player
+void Java_com_example_nativeaudio_NativeAudio_setPlayingAssetAudioPlayer(JNIEnv* env,
+        jclass clazz, jboolean isPlaying)
+{
+    SLresult result;
+
+    // make sure the asset audio player was created
+    if (NULL != fdPlayerPlay) {
+
+        // set the player's state
+        result = (*fdPlayerPlay)->SetPlayState(fdPlayerPlay, isPlaying ?
+            SL_PLAYSTATE_PLAYING : SL_PLAYSTATE_PAUSED);
+        assert(SL_RESULT_SUCCESS == result);
+
+    }
+
+}
+
+
+// create audio recorder
+jboolean Java_com_example_nativeaudio_NativeAudio_createAudioRecorder(JNIEnv* env, jclass clazz)
+{
+    SLresult result;
+
+    // configure audio source
+    SLDataLocator_IODevice loc_dev = {SL_DATALOCATOR_IODEVICE, SL_IODEVICE_AUDIOINPUT,
+            SL_DEFAULTDEVICEID_AUDIOINPUT, NULL};
+    SLDataSource audioSrc = {&loc_dev, NULL};
+
+    // configure audio sink
+    SLDataLocator_AndroidSimpleBufferQueue loc_bq = {SL_DATALOCATOR_ANDROIDSIMPLEBUFFERQUEUE, 2};
+    SLDataFormat_PCM format_pcm = {SL_DATAFORMAT_PCM, 1, SL_SAMPLINGRATE_16,
+        SL_PCMSAMPLEFORMAT_FIXED_16, SL_PCMSAMPLEFORMAT_FIXED_16,
+        SL_SPEAKER_FRONT_CENTER, SL_BYTEORDER_LITTLEENDIAN};
+    SLDataSink audioSnk = {&loc_bq, &format_pcm};
+
+    // create audio recorder
+    // (requires the RECORD_AUDIO permission)
+    const SLInterfaceID id[1] = {SL_IID_ANDROIDSIMPLEBUFFERQUEUE};
+    const SLboolean req[1] = {SL_BOOLEAN_TRUE};
+    result = (*engineEngine)->CreateAudioRecorder(engineEngine, &recorderObject, &audioSrc,
+            &audioSnk, 1, id, req);
+    if (SL_RESULT_SUCCESS != result) {
+        return JNI_FALSE;
+    }
+
+    // realize the audio recorder
+    result = (*recorderObject)->Realize(recorderObject, SL_BOOLEAN_FALSE);
+    if (SL_RESULT_SUCCESS != result) {
+        return JNI_FALSE;
+    }
+
+    // get the record interface
+    result = (*recorderObject)->GetInterface(recorderObject, SL_IID_RECORD, &recorderRecord);
+    assert(SL_RESULT_SUCCESS == result);
+
+    // get the buffer queue interface
+    result = (*recorderObject)->GetInterface(recorderObject, SL_IID_ANDROIDSIMPLEBUFFERQUEUE,
+            &recorderBufferQueue);
+    assert(SL_RESULT_SUCCESS == result);
+
+    // register callback on the buffer queue
+    result = (*recorderBufferQueue)->RegisterCallback(recorderBufferQueue, bqRecorderCallback,
+            NULL);
+    assert(SL_RESULT_SUCCESS == result);
+
+    return JNI_TRUE;
+}
+
+
+// set the recording state for the audio recorder
+void Java_com_example_nativeaudio_NativeAudio_startRecording(JNIEnv* env, jclass clazz)
+{
+    SLresult result;
+
+    // in case already recording, stop recording and clear buffer queue
+    result = (*recorderRecord)->SetRecordState(recorderRecord, SL_RECORDSTATE_STOPPED);
+    assert(SL_RESULT_SUCCESS == result);
+    result = (*recorderBufferQueue)->Clear(recorderBufferQueue);
+    assert(SL_RESULT_SUCCESS == result);
+
+    // the buffer is not valid for playback yet
+    recorderSize = 0;
+
+    // enqueue an empty buffer to be filled by the recorder
+    // (for streaming recording, we would enqueue at least 2 empty buffers to start things off)
+    result = (*recorderBufferQueue)->Enqueue(recorderBufferQueue, recorderBuffer,
+            RECORDER_FRAMES * sizeof(short));
+    // the most likely other result is SL_RESULT_BUFFER_INSUFFICIENT,
+    // which for this code example would indicate a programming error
+    assert(SL_RESULT_SUCCESS == result);
+
+    // start recording
+    result = (*recorderRecord)->SetRecordState(recorderRecord, SL_RECORDSTATE_RECORDING);
+    assert(SL_RESULT_SUCCESS == result);
+
+}
+
+
+// shut down the native audio system
+void Java_com_example_nativeaudio_NativeAudio_shutdown(JNIEnv* env, jclass clazz)
+{
+
+    // destroy buffer queue audio player object, and invalidate all associated interfaces
+    if (bqPlayerObject != NULL) {
+        (*bqPlayerObject)->Destroy(bqPlayerObject);
+        bqPlayerObject = NULL;
+        bqPlayerPlay = NULL;
+        bqPlayerBufferQueue = NULL;
+        bqPlayerEffectSend = NULL;
+    }
+
+    // destroy file descriptor audio player object, and invalidate all associated interfaces
+    if (fdPlayerObject != NULL) {
+        (*fdPlayerObject)->Destroy(fdPlayerObject);
+        fdPlayerObject = NULL;
+        fdPlayerPlay = NULL;
+        fdPlayerSeek = NULL;
+    }
+
+    // destroy URI audio player object, and invalidate all associated interfaces
+    if (uriPlayerObject != NULL) {
+        (*uriPlayerObject)->Destroy(uriPlayerObject);
+        uriPlayerObject = NULL;
+        uriPlayerPlay = NULL;
+        uriPlayerSeek = NULL;
+    }
+
+    // destroy audio recorder object, and invalidate all associated interfaces
+    if (recorderObject != NULL) {
+        (*recorderObject)->Destroy(recorderObject);
+        recorderObject = NULL;
+        recorderRecord = NULL;
+        recorderBufferQueue = NULL;
+    }
+
+    // destroy output mix object, and invalidate all associated interfaces
+    if (outputMixObject != NULL) {
+        (*outputMixObject)->Destroy(outputMixObject);
+        outputMixObject = NULL;
+        outputMixEnvironmentalReverb = NULL;
+    }
+
+    // destroy engine object, and invalidate all associated interfaces
+    if (engineObject != NULL) {
+        (*engineObject)->Destroy(engineObject);
+        engineObject = NULL;
+        engineEngine = NULL;
+    }
+
+}
diff --git a/ndk/platforms/android-9/samples/native-audio/res/drawable/icon.png b/ndk/platforms/android-9/samples/native-audio/res/drawable/icon.png
new file mode 100644
index 0000000..a07c69f
--- /dev/null
+++ b/ndk/platforms/android-9/samples/native-audio/res/drawable/icon.png
Binary files differ
diff --git a/ndk/platforms/android-9/samples/native-audio/res/layout/main.xml b/ndk/platforms/android-9/samples/native-audio/res/layout/main.xml
new file mode 100644
index 0000000..b9fb95a
--- /dev/null
+++ b/ndk/platforms/android-9/samples/native-audio/res/layout/main.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical"
+    android:layout_width="fill_parent"
+    android:layout_height="fill_parent"
+    >
+<TextView
+    android:layout_width="fill_parent"
+    android:layout_height="wrap_content"
+    android:text="@string/hello"
+    />
+<Button
+    android:id="@+id/hello"
+    android:text="Hello"
+    android:layout_width="fill_parent"
+    android:layout_height="wrap_content"
+    />
+<Button
+    android:id="@+id/android"
+    android:text="Android"
+    android:layout_width="fill_parent"
+    android:layout_height="wrap_content"
+    />
+<Button
+    android:id="@+id/sawtooth"
+    android:text="Sawtooth"
+    android:layout_width="fill_parent"
+    android:layout_height="wrap_content"
+    />
+<Button
+    android:id="@+id/reverb"
+    android:text="Reverb"
+    android:layout_width="fill_parent"
+    android:layout_height="wrap_content"
+    />
+<Button
+    android:id="@+id/embedded_soundtrack"
+    android:text="Embedded soundtrack"
+    android:layout_width="fill_parent"
+    android:layout_height="wrap_content"
+    />
+<Button
+    android:id="@+id/uri_soundtrack"
+    android:text="URI soundtrack"
+    android:layout_width="fill_parent"
+    android:layout_height="wrap_content"
+    />
+<Button
+    android:id="@+id/record"
+    android:text="Record"
+    android:layout_width="fill_parent"
+    android:layout_height="wrap_content"
+    />
+<Button
+    android:id="@+id/playback"
+    android:text="Playback"
+    android:layout_width="fill_parent"
+    android:layout_height="wrap_content"
+    />
+</LinearLayout>
diff --git a/ndk/platforms/android-9/samples/native-audio/res/values/strings.xml b/ndk/platforms/android-9/samples/native-audio/res/values/strings.xml
new file mode 100644
index 0000000..280c103
--- /dev/null
+++ b/ndk/platforms/android-9/samples/native-audio/res/values/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+<resources>
+    <string name="hello">Hello, Android using native audio!</string>
+    <string name="app_name">NativeAudio</string>
+</resources>
diff --git a/ndk/platforms/android-9/samples/native-audio/src/com/example/nativeaudio/NativeAudio.java b/ndk/platforms/android-9/samples/native-audio/src/com/example/nativeaudio/NativeAudio.java
new file mode 100644
index 0000000..5a7b3ef
--- /dev/null
+++ b/ndk/platforms/android-9/samples/native-audio/src/com/example/nativeaudio/NativeAudio.java
@@ -0,0 +1,172 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.example.nativeaudio;
+
+import android.app.Activity;
+import android.content.res.AssetManager;
+import android.os.Bundle;
+import android.view.View;
+import android.view.View.OnClickListener;
+import android.widget.Button;
+
+public class NativeAudio extends Activity {
+
+    static final int CLIP_NONE = 0;
+    static final int CLIP_HELLO = 1;
+    static final int CLIP_ANDROID = 2;
+    static final int CLIP_SAWTOOTH = 3;
+    static final int CLIP_PLAYBACK = 4;
+
+    static final String URI = "http://upload.wikimedia.org/wikipedia/commons/6/6d/Banana.ogg";
+    static AssetManager assetManager;
+
+    static boolean isPlayingAsset = false;
+    static boolean isPlayingUri = false;
+
+    /** Called when the activity is first created. */
+    @Override
+    protected void onCreate(Bundle icicle) {
+        super.onCreate(icicle);
+        setContentView(R.layout.main);
+
+        assetManager = getAssets();
+
+        // initialize native audio system
+
+        createEngine();
+        createBufferQueueAudioPlayer();
+
+        // initialize button click handlers
+
+        ((Button) findViewById(R.id.hello)).setOnClickListener(new OnClickListener() {
+            public void onClick(View view) {
+                // ignore the return value
+                selectClip(CLIP_HELLO, 5);
+            }
+        });
+
+        ((Button) findViewById(R.id.android)).setOnClickListener(new OnClickListener() {
+            public void onClick(View view) {
+                // ignore the return value
+                selectClip(CLIP_ANDROID, 7);
+            }
+        });
+
+        ((Button) findViewById(R.id.sawtooth)).setOnClickListener(new OnClickListener() {
+            public void onClick(View view) {
+                // ignore the return value
+                selectClip(CLIP_SAWTOOTH, 1);
+            }
+        });
+
+        ((Button) findViewById(R.id.reverb)).setOnClickListener(new OnClickListener() {
+            boolean enabled = false;
+            public void onClick(View view) {
+                enabled = !enabled;
+                if (!enableReverb(enabled)) {
+                    enabled = !enabled;
+                }
+            }
+        });
+
+        ((Button) findViewById(R.id.embedded_soundtrack)).setOnClickListener(new OnClickListener() {
+            boolean created = false;
+            public void onClick(View view) {
+                if (!created) {
+                    created = createAssetAudioPlayer(assetManager, "background.mp3");
+                }
+                if (created) {
+                    isPlayingAsset = !isPlayingAsset;
+                    setPlayingAssetAudioPlayer(isPlayingAsset);
+                }
+            }
+        });
+
+        ((Button) findViewById(R.id.uri_soundtrack)).setOnClickListener(new OnClickListener() {
+            boolean created = false;
+            public void onClick(View view) {
+                if (!created) {
+                    created = createUriAudioPlayer(URI);
+                }
+                if (created) {
+                    isPlayingUri = !isPlayingUri;
+                    setPlayingUriAudioPlayer(isPlayingUri);
+                }
+             }
+        });
+
+        ((Button) findViewById(R.id.record)).setOnClickListener(new OnClickListener() {
+            boolean created = false;
+            public void onClick(View view) {
+                if (!created) {
+                    created = createAudioRecorder();
+                }
+                if (created) {
+                    startRecording();
+                }
+            }
+        });
+
+        ((Button) findViewById(R.id.playback)).setOnClickListener(new OnClickListener() {
+            public void onClick(View view) {
+                // ignore the return value
+                selectClip(CLIP_PLAYBACK, 3);
+            }
+        });
+
+    }
+
+    /** Called when the activity is about to be destroyed. */
+    @Override
+    protected void onPause()
+    {
+        // turn off all audio
+        selectClip(CLIP_NONE, 0);
+        isPlayingAsset = false;
+        setPlayingAssetAudioPlayer(false);
+        isPlayingUri = false;
+        setPlayingUriAudioPlayer(false);
+        super.onPause();
+    }
+
+    /** Called when the activity is about to be destroyed. */
+    @Override
+    protected void onDestroy()
+    {
+        shutdown();
+        super.onDestroy();
+    }
+
+    /** Native methods, implemented in jni folder */
+    public static native void createEngine();
+    public static native void createBufferQueueAudioPlayer();
+    public static native boolean createAssetAudioPlayer(AssetManager assetManager, String filename);
+    public static native void setPlayingAssetAudioPlayer(boolean isPlaying);
+    public static native boolean createUriAudioPlayer(String uri);
+    public static native void setPlayingUriAudioPlayer(boolean isPlaying);
+    public static native boolean selectClip(int which, int count);
+    public static native boolean enableReverb(boolean enabled);
+    public static native boolean createAudioRecorder();
+    public static native void startRecording();
+    public static native void shutdown();
+
+    /** Load jni .so on initialization */
+    static {
+         System.loadLibrary("native-audio-jni");
+    }
+
+}