Snap for 4378450 from 6ebde20b03db4c0d57f67acaac11832b610b966b to oc-mr1-release

Change-Id: I07f19344c030a9c2b0fd7ba425f7bf7462575f92
diff --git a/Android.mk b/Android.mk
index 18468ad..7970f6f 100644
--- a/Android.mk
+++ b/Android.mk
@@ -18,6 +18,7 @@
 
 include $(CLEAR_VARS)
 
+
 LOCAL_MODULE_TAGS := optional
 
 include $(LOCAL_PATH)/version.mk
@@ -28,6 +29,8 @@
 
 LOCAL_PACKAGE_NAME := LiveTv
 
+
+
 # It is required for com.android.providers.tv.permission.ALL_EPG_DATA
 LOCAL_PRIVILEGED_MODULE := true
 
@@ -40,29 +43,40 @@
 
 ifdef TARGET_BUILD_APPS
 LOCAL_RESOURCE_DIR += \
+    $(TOP)/prebuilts/sdk/current/support/compat/res \
     $(TOP)/prebuilts/sdk/current/support/v17/leanback/res \
     $(TOP)/prebuilts/sdk/current/support/v7/recyclerview/res
 else # !TARGET_BUILD_APPS
 LOCAL_RESOURCE_DIR += \
+    $(TOP)/frameworks/support/compat/res \
     $(TOP)/frameworks/support/v17/leanback/res \
     $(TOP)/frameworks/support/v7/recyclerview/res
 endif
+LOCAL_SRC_FILES += \
+    src/com/android/tv/tuner/exoplayer/ffmpeg/IFfmpegDecoder.aidl
 
 LOCAL_STATIC_JAVA_LIBRARIES := \
     android-support-annotations \
-    android-support-v4 \
+    android-support-compat \
+    android-support-core-ui \
     android-support-v7-palette \
     android-support-v7-recyclerview \
     android-support-v17-leanback \
     icu4j-usbtuner \
     lib-exoplayer \
+    lib-exoplayer-v2 \
+    lib-exoplayer-v2-ext-ffmpeg \
+    prebuilt-support-tv-provider \
     tv-common \
 
-LOCAL_JAVA_LIBRARIES := junit
+
+
+
 
 LOCAL_JAVACFLAGS := -Xlint:deprecation -Xlint:unchecked
 
-LOCAL_AAPT_FLAGS := --auto-add-overlay \
+LOCAL_AAPT_FLAGS += --auto-add-overlay \
+    --extra-packages android.support.compat \
     --extra-packages android.support.v7.recyclerview \
     --extra-packages android.support.v17.leanback \
     --extra-packages com.android.tv.common \
@@ -95,16 +109,19 @@
 
 include $(BUILD_STATIC_JAVA_LIBRARY)
 
+
 #############################################################
 # Pre-built dependency jars
 #############################################################
-
 include $(CLEAR_VARS)
 
 LOCAL_MODULE_TAGS := optional
 
 LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := \
     lib-exoplayer:libs/exoplayer.jar \
+    lib-exoplayer-v2:libs/exoplayer_v2.jar \
+    lib-exoplayer-v2-ext-ffmpeg:libs/exoplayer_v2_ext_ffmpeg.jar \
+    prebuilt-support-tv-provider:../../../prebuilts/sdk/current/support/tv-provider/android-support-tv-provider.jar \
 
 
 include $(BUILD_MULTI_PREBUILT)
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 1faa2ae..8770301 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -20,12 +20,14 @@
 
     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
+    <uses-permission android:name="android.permission.CHANGE_HDMI_CEC_ACTIVE_SOURCE" />
     <uses-permission android:name="android.permission.GLOBAL_SEARCH" tools:ignore="ProtectedPermissions"/>
     <uses-permission android:name="android.permission.INTERNET" />
+    <uses-permission android:name="android.permission.MODIFY_PARENTAL_CONTROLS" />
+    <uses-permission android:name="android.permission.READ_CONTENT_RATING_SYSTEMS" />
     <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
     <uses-permission android:name="android.permission.READ_TV_LISTINGS" />
     <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
-    <uses-permission android:name="android.permission.MODIFY_PARENTAL_CONTROLS" />
     <uses-permission android:name="com.android.providers.tv.permission.READ_EPG_DATA" />
     <uses-permission android:name="com.android.providers.tv.permission.WRITE_EPG_DATA" />
     <uses-permission android:name="com.android.providers.tv.permission.ACCESS_ALL_EPG_DATA" />
@@ -45,8 +47,16 @@
     <permission android:name="com.android.tv.permission.RECEIVE_INPUT_EVENT"
         android:protectionLevel="signatureOrSystem"
         android:label="@string/permlab_receiveInputEvent"
-        android:description="@string/permdesc_receiveInputEvent" tools:ignore="SignatureOrSystemPermissions"/>
-    <uses-sdk android:targetSdkVersion="23" android:minSdkVersion="23"/>
+        android:description="@string/permdesc_receiveInputEvent"
+        tools:ignore="SignatureOrSystemPermissions"/>
+    <!-- Customizes Live TV with customization packages. -->
+    <permission android:name="com.android.tv.permission.CUSTOMIZE_TV_APP"
+        android:protectionLevel="signatureOrSystem"
+        android:label="@string/permlab_customizeTvApp"
+        android:description="@string/permdesc_customizeTvApp"
+        tools:ignore="SignatureOrSystemPermissions"/>
+
+    <uses-sdk android:targetSdkVersion="26" android:minSdkVersion="23"/>
 
     <application android:label="@string/app_name"
         android:name=".TvApplication"
@@ -113,17 +123,33 @@
             android:launchMode="singleTop"
             android:theme="@style/Theme.Setup.GuidedStep" />
 
-        <activity android:name=".dvr.ui.DvrActivity"
+        <activity android:name=".dvr.ui.browse.DvrBrowseActivity"
             android:configChanges="keyboard|keyboardHidden"
             android:launchMode="singleTask"
-            android:theme="@style/Theme.Leanback.Browse" />
+            android:theme="@style/Theme.Leanback.Browse">
+            <intent-filter>
+                <action android:name="android.media.tv.action.VIEW_RECORDING_SCHEDULES" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+            <intent-filter>
+                <action android:name="android.intent.action.VIEW" />
+                <category android:name="android.intent.category.DEFAULT" />
+                <data android:mimeType="vnd.android.cursor.dir/recorded_program" />
+            </intent-filter>
+        </activity>
 
-        <activity android:name=".dvr.DvrPlaybackActivity"
+        <activity android:name=".dvr.ui.playback.DvrPlaybackActivity"
             android:configChanges="keyboard|keyboardHidden|screenSize|smallestScreenSize|screenLayout|orientation"
             android:launchMode="singleTask"
-            android:theme="@style/Theme.Leanback" />
+            android:theme="@style/Theme.Leanback">
+            <intent-filter>
+                <action android:name="android.intent.action.VIEW" />
+                <category android:name="android.intent.category.DEFAULT" />
+                <data android:mimeType="vnd.android.cursor.item/recorded_program" />
+            </intent-filter>
+        </activity>
 
-        <activity android:name=".dvr.ui.DvrDetailsActivity"
+        <activity android:name=".dvr.ui.browse.DvrDetailsActivity"
             android:configChanges="keyboard|keyboardHidden"
             android:theme="@style/Theme.TV.Dvr.Browse.Details" />
 
@@ -138,7 +164,7 @@
         <activity android:name=".dvr.ui.DvrSeriesScheduledDialogActivity"
             android:theme="@style/Theme.TV.dialog.HalfSizedDialog"/>
 
-        <activity android:name=".dvr.ui.DvrSchedulesActivity"
+        <activity android:name=".dvr.ui.list.DvrSchedulesActivity"
             android:configChanges="keyboard|keyboardHidden"
             android:theme="@style/Theme.Leanback.Details" />
 
@@ -151,6 +177,8 @@
 
         <service android:name="com.android.tv.recommendation.NotificationService"
              android:exported="false" />
+        <service android:name=".recommendation.ChannelPreviewUpdater$ChannelPreviewUpdateService"
+             android:permission="android.permission.BIND_JOB_SERVICE" />
 
         <receiver android:name="com.android.tv.receiver.BootCompletedReceiver">
             <intent-filter>
@@ -206,6 +234,13 @@
             <meta-data android:name="android.media.tv.input"
                 android:resource="@xml/ut_tvinputservice" />
         </service>
+        <service android:name=".tuner.exoplayer.ffmpeg.FfmpegDecoderService"
+            android:isolatedProcess="true"
+            android:process="com.android.tv.ffmpeg" >
+            <intent-filter>
+              <action android:name=".tuner.exoplayer.ffmpeg.IFfmpegDecoder" />
+            </intent-filter>
+        </service>
         <provider android:name=".tuner.TunerPreferenceProvider"
             android:authorities="com.android.tv.tuner.preferences"
             android:process="com.android.tv.tuner"
@@ -222,24 +257,30 @@
             </intent-filter>
         </activity>
         <!-- TunerInputController should be the same process with MainActivity to check status of MainActivity -->
-        <receiver android:name=".tuner.TunerInputController"
+        <receiver android:name=".tuner.TunerInputController$IntentReceiver"
             android:exported="false">
             <intent-filter>
                 <action android:name="android.intent.action.BOOT_COMPLETED" />
                 <action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
                 <action android:name="android.hardware.usb.action.USB_DEVICE_DETACHED" />
                 <action android:name="com.android.tv.action.APPLICATION_FIRST_LAUNCHED" />
+                <action android:name="com.android.tv.action.NETWORK_TUNER_ATTACHED" />
+                <action android:name="com.android.tv.action.NETWORK_TUNER_DETACHED" />
             </intent-filter>
         </receiver>
 
         <!-- DVR -->
-        <service android:name=".dvr.DvrRecordingService" android:label="@string/dvr_service_name"/>
-        <receiver android:name=".dvr.DvrStartRecordingReceiver"/>
+        <service android:name=".dvr.recorder.DvrRecordingService" android:label="@string/dvr_service_name" />
+        <receiver android:name=".dvr.recorder.DvrStartRecordingReceiver" />
 
         <service android:name=".tuner.tvinput.TunerStorageCleanUpService"
             android:permission="android.permission.BIND_JOB_SERVICE"
             android:process="com.android.tv.tuner"
             android:exported="true" />
 
+        <service android:name=".data.epg.EpgFetcher$EpgFetchService"
+            android:permission="android.permission.BIND_JOB_SERVICE" />
+
+
     </application>
 </manifest>
diff --git a/assets/licenses.html b/assets/licenses.html
deleted file mode 100644
index 000aacf..0000000
--- a/assets/licenses.html
+++ /dev/null
@@ -1,298 +0,0 @@
-<!--
-  ~ Copyright (C) 2015 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.
-  -->
-
-<html><head><style> body { font-family: sans-serif; } pre { background-color: #eeeeee; padding: 1em; white-space: pre-wrap; } </style></head><body>
-<!-- START Live Channels licenses -->
-<h3>Notices for files:</h3>
-<ul>
-    <li>protobuf</li>
-</ul>
-<pre>Copyright 2008, Google Inc.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
-    * Redistributions of source code must retain the above copyright
-notice, this list of conditions and the following disclaimer.
-    * Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the following disclaimer
-in the documentation and/or other materials provided with the
-distribution.
-    * Neither the name of Google Inc. nor the names of its
-contributors may be used to endorse or promote products derived from
-this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-Code generated by the Protocol Buffer compiler is owned by the owner
-of the input file used when generating it.  This code is not
-standalone and requires a support library to be linked with it.  This
-support library is itself covered by the above license.
-</pre>
-
-<!-- END Live Channels licenses -->
-<!-- START USB Tuner licenses -->
-<h3>Notices for files:</h3>
-<ul>
-    <li>icu4j</li>
-</ul>
-<pre>Copyright (c) 1995-2013 International Business Machines Corporation and others
-
-All rights reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, and/or sell copies of the
-Software, and to permit persons to whom the Software is furnished to do so,
-provided that the above copyright notice(s) and this permission notice appear
-in all copies of the Software and that both the above copyright notice(s) and
-this permission notice appear in supporting documentation.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN
-NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE
-LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY
-DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
-CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-Except as contained in this notice, the name of a copyright holder shall not be
-used in advertising or otherwise to promote the sale, use or other dealings in
-this Software without prior written authorization of the copyright holder.
-</pre>
-<h3>Notices for files:</h3>
-<ul>
-    <li>ExoPlayer</li>
-</ul>
-<pre>                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   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.
-</pre>
-<!-- END USB Tuner licenses -->
-
-</body></html>
\ No newline at end of file
diff --git a/assets/whitelist.policy b/assets/whitelist.policy
new file mode 100644
index 0000000..33af781
--- /dev/null
+++ b/assets/whitelist.policy
@@ -0,0 +1,39 @@
+clone: 1
+close: 1
+epoll_pwait: 1
+exit: 1
+faccessat: 1
+fstat64: 1
+fstatfs64: 1
+futex: 1
+getegid32: 1
+geteuid32: 1
+getgid32: 1
+getgroups32: 1
+getpriority: 1
+getsockopt: 1
+gettimeofday: 1
+getuid32: 1
+ioctl: 1
+madvise: 1
+mmap: 1
+mmap2: 1
+mprotect: 1
+munmap: 1
+open: 1
+openat: 1
+pread64: 1
+prctl: 1
+pselect6: 1
+read: 1
+readlinkat: 1
+rt_sigprocmask: 1
+rt_sigtimedwait: 1
+sched_yield: 1
+setpriority: 1
+setsockopt: 1
+set_thread_area: 1
+set_tid_address: 1
+sigaction: 1
+sigaltstack: 1
+write: 1
\ No newline at end of file
diff --git a/common/Android.mk b/common/Android.mk
index bd4d99b..d632597 100644
--- a/common/Android.mk
+++ b/common/Android.mk
@@ -10,17 +10,20 @@
 LOCAL_SDK_VERSION := system_current
 
 LOCAL_RESOURCE_DIR := \
+    $(TOP)/prebuilts/sdk/current/support/compat/res \
     $(TOP)/prebuilts/sdk/current/support/v7/recyclerview/res \
     $(TOP)/prebuilts/sdk/current/support/v17/leanback/res \
     $(LOCAL_PATH)/res \
 
 LOCAL_STATIC_JAVA_LIBRARIES := \
     android-support-annotations \
-    android-support-v4 \
+    android-support-compat \
+    android-support-core-ui \
     android-support-v7-recyclerview \
     android-support-v17-leanback \
 
 LOCAL_AAPT_FLAGS := --auto-add-overlay \
+    --extra-packages android.support.compat \
     --extra-packages android.support.v7.recyclerview \
     --extra-packages android.support.v17.leanback \
 
diff --git a/common/OWNERS b/common/OWNERS
new file mode 100644
index 0000000..4aa5fe5
--- /dev/null
+++ b/common/OWNERS
@@ -0,0 +1,2 @@
+nchalko@google.com
+shubang@google.com
diff --git a/common/res/drawable/setup_selector_background.xml b/common/res/drawable/setup_selector_background.xml
index 7351270..b73c581 100644
--- a/common/res/drawable/setup_selector_background.xml
+++ b/common/res/drawable/setup_selector_background.xml
@@ -17,8 +17,7 @@
 
 <ripple xmlns:android="http://schemas.android.com/apk/res/android"
     android:color="?android:attr/colorControlHighlight">
-    <!-- Note that android:start and android:end is not supported in L platform. -->
-    <item android:id="@android:id/mask" android:left="24dp" android:right="24dp">
+    <item android:id="@android:id/mask">
         <shape>
             <solid android:color="@android:color/white"/>
             <corners android:radius="2dp" />
diff --git a/common/res/layout/fragment_setup_multi_pane.xml b/common/res/layout/fragment_setup_multi_pane.xml
index 45aff13..e3ff8d8 100644
--- a/common/res/layout/fragment_setup_multi_pane.xml
+++ b/common/res/layout/fragment_setup_multi_pane.xml
@@ -40,11 +40,13 @@
         android:clipChildren="false"
         android:clipToPadding="false" />
     <!-- TODO: Use button action list in GuidedStepFragment -->
-    <FrameLayout
+    <LinearLayout
         android:id="@+id/done_button_container"
         android:layout_width="@dimen/setup_done_button_container_width"
         android:layout_height="match_parent"
         android:layout_gravity="end"
+        android:orientation="vertical"
+        android:paddingTop="190dp"
         style="?attr/doneButtonContainerStyle"
         android:transitionGroup="true"
         android:transitionName="buttonDoneTransition">
@@ -54,7 +56,6 @@
             android:layout_height="45dp"
             android:layout_marginStart="24dp"
             android:layout_marginEnd="40dp"
-            android:layout_marginTop="190dp"
             android:elevation="0dp"
             android:focusable="true"
             android:fontFamily="sans-serif-condensed"
@@ -65,5 +66,23 @@
             android:text="@string/action_text_done"
             android:textColor="#EEEEEE"
             android:textSize="14sp" />
-    </FrameLayout>
+        <TextView
+            android:id="@+id/button_skip"
+            android:layout_width="match_parent"
+            android:layout_height="45dp"
+            android:layout_marginStart="24dp"
+            android:layout_marginEnd="40dp"
+            android:layout_marginTop="8dp"
+            android:elevation="0dp"
+            android:focusable="true"
+            android:fontFamily="sans-serif-condensed"
+            android:paddingEnd="12dp"
+            android:paddingStart="12dp"
+            android:background="@drawable/setup_action_button_done"
+            android:gravity="center_vertical|start"
+            android:visibility="gone"
+            android:text="@string/action_text_skip"
+            android:textColor="#EEEEEE"
+            android:textSize="14sp" />
+    </LinearLayout>
 </FrameLayout>
diff --git a/common/res/values-af/strings.xml b/common/res/values-af/strings.xml
index 7a11484..ae7dbb6 100644
--- a/common/res/values-af/strings.xml
+++ b/common/res/values-af/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Klaar"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Slaan oor"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"S.<xliff:g id="SEASON_NUMBER">%1$s</xliff:g> Ep.<xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"Ep.<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"S.<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: Ep. <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"Ep. <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> S.<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Ep. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> Ep. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;S.<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Ep. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;Ep. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-am/strings.xml b/common/res/values-am/strings.xml
index 45a1b7c..5c2f096 100644
--- a/common/res/values-am/strings.xml
+++ b/common/res/values-am/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"ተከናውኗል"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"ዝለል"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"ም<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>፦ ክ.<xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"ክ.<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"ም<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>፦ ክፍል <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"ክፍል <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> ም<xliff:g id="SEASONNUMBER">%2$s</xliff:g>፦ ክፍል <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> ክፍል <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;ም<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: ክፍል፦ <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;ክፍል <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-ar/strings.xml b/common/res/values-ar/strings.xml
index bedd137..1cb0daa 100644
--- a/common/res/values-ar/strings.xml
+++ b/common/res/values-ar/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"تم"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"تخطي"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"الموسم <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: الحلقة <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"الحلقة <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"الموسم <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: الحلقة <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"الحلقة <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> الموسم رقم <xliff:g id="SEASONNUMBER">%2$s</xliff:g>: الحلقة رقم <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> الحلقة رقم <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"‏<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;الموسم رقم <xliff:g id="SEASONNUMBER">%2$s</xliff:g>: الحلقة <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"‏<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;الحلقة <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-az/strings.xml b/common/res/values-az-rAZ/strings.xml
similarity index 77%
rename from common/res/values-az/strings.xml
rename to common/res/values-az-rAZ/strings.xml
index c844cd6..ca96c57 100644
--- a/common/res/values-az/strings.xml
+++ b/common/res/values-az-rAZ/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Hazırdır"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Keçin"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"S<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: Ep.<xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"Epizod<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"S<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: Ep. <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"Ep. <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> S<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Ep. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> Ep. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;Fəsil<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Epizod. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g>  &lt;i&gt;Epizod. <xliff:g id="EPISODENUMBER">%2$s</xliff:g> &lt;i&gt;"</string>
 </resources>
diff --git a/common/res/values-bg/strings.xml b/common/res/values-bg/strings.xml
index 264a111..607ad9d 100644
--- a/common/res/values-bg/strings.xml
+++ b/common/res/values-bg/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Готово"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Пропускане"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"Сезон <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: епизод <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"Епизод <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"Сезон <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: Еп. <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> – „<xliff:g id="EPISODE_TITLE">%3$s</xliff:g>“"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"Еп. <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> – „<xliff:g id="EPISODE_TITLE">%2$s</xliff:g>“"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"„<xliff:g id="PROGRAMNAME">%1$s</xliff:g>“, сезон <xliff:g id="SEASONNUMBER">%2$s</xliff:g>, епизод <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"„<xliff:g id="PROGRAMNAME">%1$s</xliff:g>“, епизод <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"„<xliff:g id="PROGRAMNAME">%1$s</xliff:g>“, &lt;i&gt;сез. <xliff:g id="SEASONNUMBER">%2$s</xliff:g>, еп. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"„<xliff:g id="PROGRAMNAME">%1$s</xliff:g>“, &lt;i&gt;еп. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-bn/strings.xml b/common/res/values-bn-rBD/strings.xml
similarity index 77%
rename from common/res/values-bn/strings.xml
rename to common/res/values-bn-rBD/strings.xml
index 836a62a..73706be 100644
--- a/common/res/values-bn/strings.xml
+++ b/common/res/values-bn-rBD/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"সম্পন্ন"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"এড়িয়ে যান"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"সিজন <xliff:g id="SEASON_NUMBER">%1$s</xliff:g> , পর্ব <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"পর্ব<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"সিঃ<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: এপিঃ <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"এপিঃ <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> সিজিন<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: পর্ব <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> পর্ব. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;সিজিন<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: পর্ব <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;পর্ব <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-ca/strings.xml b/common/res/values-ca/strings.xml
index 6382648..4ef6c99 100644
--- a/common/res/values-ca/strings.xml
+++ b/common/res/values-ca/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Fet"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Omet"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"Temporada <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>, episodi <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"Episodi <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"Temporada <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>, episodi <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>: <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"Episodi <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>: <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g>: temporada <xliff:g id="SEASONNUMBER">%2$s</xliff:g>, episodi <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g>: episodi <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g>: &lt;i&gt;temp. <xliff:g id="SEASONNUMBER">%2$s</xliff:g>, ep. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g>: &lt;i&gt;ep. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-cs/strings.xml b/common/res/values-cs/strings.xml
index 0be8026..a6aa117 100644
--- a/common/res/values-cs/strings.xml
+++ b/common/res/values-cs/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Hotovo"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Přeskočit"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"S<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>E<xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"E<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"S<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: Ep. <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> – <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"Ep. <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> – <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> S<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Ep. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> Ep. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;S<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Ep. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;Ep. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-da/strings.xml b/common/res/values-da/strings.xml
index 4685b81..3eeb51d 100644
--- a/common/res/values-da/strings.xml
+++ b/common/res/values-da/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Udført"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Spring over"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"S. <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>, afsn. <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"Afsn. <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"S. <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: Afsnit <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>, <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"Afsnit <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> S. <xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Afsn. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> afsn. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;S. <xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Afsn. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;Afsn. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-de/strings.xml b/common/res/values-de/strings.xml
index a487ff8..11e8b0d 100644
--- a/common/res/values-de/strings.xml
+++ b/common/res/values-de/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Fertig"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Überspringen"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"S<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: F<xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"Folge <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"Staffel <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: Folge <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>, <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"Folge <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>, <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g>, Staffel <xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Folge <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g>, Folge <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g>, &lt;i&gt;Staffel <xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Folge <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g>, &lt;i&gt;Folge <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-el/strings.xml b/common/res/values-el/strings.xml
index dba894c..60a7344 100644
--- a/common/res/values-el/strings.xml
+++ b/common/res/values-el/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Τέλος"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Παράβλεψη"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"Σεζ. <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: Επ.<xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"Επ.<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"Σεζ.<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: Επ. <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"Επ. <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> Σεζόν<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Επ. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> Επ. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;S<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Επ. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;Επ. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-en-rAU/strings.xml b/common/res/values-en-rAU/strings.xml
index 0ea27ed..94d1c12 100644
--- a/common/res/values-en-rAU/strings.xml
+++ b/common/res/values-en-rAU/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Finished"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Skip"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"S<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: Ep.<xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"Ep.<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"S<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: Ep. <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"Ep. <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> S<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Ep. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> Ep. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;S<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Ep. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;Ep. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-en-rGB/strings.xml b/common/res/values-en-rGB/strings.xml
index 0ea27ed..94d1c12 100644
--- a/common/res/values-en-rGB/strings.xml
+++ b/common/res/values-en-rGB/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Finished"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Skip"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"S<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: Ep.<xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"Ep.<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"S<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: Ep. <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"Ep. <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> S<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Ep. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> Ep. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;S<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Ep. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;Ep. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-en-rIN/strings.xml b/common/res/values-en-rIN/strings.xml
index 0ea27ed..94d1c12 100644
--- a/common/res/values-en-rIN/strings.xml
+++ b/common/res/values-en-rIN/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Finished"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Skip"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"S<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: Ep.<xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"Ep.<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"S<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: Ep. <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"Ep. <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> S<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Ep. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> Ep. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;S<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Ep. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;Ep. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-es-rUS/strings.xml b/common/res/values-es-rUS/strings.xml
index 87c881b..3a15ff3 100644
--- a/common/res/values-es-rUS/strings.xml
+++ b/common/res/values-es-rUS/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Listo"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Omitir"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"Temporada <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: episodio <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"Episodio <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"Temporada <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>, episodio <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>: <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"Episodio <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>: <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g>: T<xliff:g id="SEASONNUMBER">%2$s</xliff:g>, episodio <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g>: episodio <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;Temporada <xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Episodio <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;Episodio <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-es/strings.xml b/common/res/values-es/strings.xml
index 32536d9..0e7e5ef 100644
--- a/common/res/values-es/strings.xml
+++ b/common/res/values-es/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Listo"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Saltar"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"Temporada <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: episodio <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"Episodio <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"Temporada <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: episodio <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"Episodio <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"Temporada <xliff:g id="SEASONNUMBER">%2$s</xliff:g> de <xliff:g id="PROGRAMNAME">%1$s</xliff:g>, episodio <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"Episodio <xliff:g id="EPISODENUMBER">%2$s</xliff:g> de <xliff:g id="PROGRAMNAME">%1$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"Temporada <xliff:g id="SEASONNUMBER">%2$s</xliff:g> de <xliff:g id="PROGRAMNAME">%1$s</xliff:g>: &lt;i&gt;episodio <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"&lt;i&gt;Episodio <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt; de <xliff:g id="PROGRAMNAME">%1$s</xliff:g>"</string>
 </resources>
diff --git a/common/res/values-et/strings.xml b/common/res/values-et-rEE/strings.xml
similarity index 78%
rename from common/res/values-et/strings.xml
rename to common/res/values-et-rEE/strings.xml
index 9052178..baa39d7 100644
--- a/common/res/values-et/strings.xml
+++ b/common/res/values-et-rEE/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Valmis"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Jäta vahele"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>. hooaeg: <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>. jagu"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>. jagu"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>. hooaeg: <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>. jagu – <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>. jagu – <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> – <xliff:g id="SEASONNUMBER">%2$s</xliff:g>. hooaeg, <xliff:g id="EPISODENUMBER">%3$s</xliff:g>. jagu"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> – <xliff:g id="EPISODENUMBER">%2$s</xliff:g>. jagu"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;<xliff:g id="SEASONNUMBER">%2$s</xliff:g>. h.: <xliff:g id="EPISODENUMBER">%3$s</xliff:g>. jagu &lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt; <xliff:g id="EPISODENUMBER">%2$s</xliff:g>. jagu &lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-eu/strings.xml b/common/res/values-eu-rES/strings.xml
similarity index 78%
rename from common/res/values-eu/strings.xml
rename to common/res/values-eu-rES/strings.xml
index d7ab52a..90e82da 100644
--- a/common/res/values-eu/strings.xml
+++ b/common/res/values-eu-rES/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Eginda"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Saltatu"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>. denboraldiko <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>. atala"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>. atala"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>. denboraldiko <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>. atala: <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>. atala: <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g>, <xliff:g id="SEASONNUMBER">%2$s</xliff:g>. denboraldia: <xliff:g id="EPISODENUMBER">%3$s</xliff:g>. atala"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g>, <xliff:g id="EPISODENUMBER">%2$s</xliff:g>. atala"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;<xliff:g id="SEASONNUMBER">%2$s</xliff:g>. denboraldia: <xliff:g id="EPISODENUMBER">%3$s</xliff:g>. atala&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;<xliff:g id="EPISODENUMBER">%2$s</xliff:g>. atala&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-fa/strings.xml b/common/res/values-fa/strings.xml
index 67e9c4e..55e7c48 100644
--- a/common/res/values-fa/strings.xml
+++ b/common/res/values-fa/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"تمام"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"رد شدن"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"فصل<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: قسمت<xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"اپیزود <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"ف.<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: ق. <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"ق. <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> فصل <xliff:g id="SEASONNUMBER">%2$s</xliff:g>: قسمت <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> قسمت <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"‏<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;فصل<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: قسمت <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"‏<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;قسمت <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-fi/strings.xml b/common/res/values-fi/strings.xml
index 8c6b99b..274aeb5 100644
--- a/common/res/values-fi/strings.xml
+++ b/common/res/values-fi/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Valmis"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Ohita"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"Kausi <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>, jakso <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"Jakso <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"Kausi <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>, jakso <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>: <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"Jakso <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>: <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> kausi <xliff:g id="SEASONNUMBER">%2$s</xliff:g>, jakso <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> jakso <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;K<xliff:g id="SEASONNUMBER">%2$s</xliff:g>, J<xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;J<xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-fr-rCA/strings.xml b/common/res/values-fr-rCA/strings.xml
index ed5678e..4f88b20 100644
--- a/common/res/values-fr-rCA/strings.xml
+++ b/common/res/values-fr-rCA/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Terminé"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Ignorer"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"Saison <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>, ép. <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"Ép. <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"Saison <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>, épisode <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>, « <xliff:g id="EPISODE_TITLE">%3$s</xliff:g> »"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"Épisode <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>, « <xliff:g id="EPISODE_TITLE">%2$s</xliff:g> »"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g>, saison <xliff:g id="SEASONNUMBER">%2$s</xliff:g> : épisode <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g>, épisode <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;S <xliff:g id="SEASONNUMBER">%2$s</xliff:g> : ép. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;Ép. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-fr/strings.xml b/common/res/values-fr/strings.xml
index b5b2810..95408bd 100644
--- a/common/res/values-fr/strings.xml
+++ b/common/res/values-fr/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"OK"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Passer"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"Saison <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>, épisode <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"Épisode <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"S<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>, ép. <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> : <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"Ép. <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> : <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> – S <xliff:g id="SEASONNUMBER">%2$s</xliff:g>, ép. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> – Ép. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> – &lt;i&gt; S <xliff:g id="SEASONNUMBER">%2$s</xliff:g>, ép. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> – &lt;i&gt;, ép. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-gl/strings.xml b/common/res/values-gl-rES/strings.xml
similarity index 78%
rename from common/res/values-gl/strings.xml
rename to common/res/values-gl-rES/strings.xml
index 356ac56..dfcbdfc 100644
--- a/common/res/values-gl/strings.xml
+++ b/common/res/values-gl-rES/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Feito"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Omitir"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"T <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: Ep. <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"Ep. <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"T<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: Ep. <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"Ep. <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> T<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: ep. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g>: ep. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;T<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Ep. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;Ep. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-gu-rIN/strings.xml b/common/res/values-gu-rIN/strings.xml
new file mode 100644
index 0000000..701977f
--- /dev/null
+++ b/common/res/values-gu-rIN/strings.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (C) 2015 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 xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="action_text_done" msgid="298287050387266501">"થઈ ગયું"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"છોડો"</string>
+    <string name="display_episode_number_format" msgid="6040735693510854344">"સિઝન<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: એપિસોડ<xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
+    <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"એપિસોડ<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
+    <string name="display_episode_title_format" msgid="5041103178918130554">"સિઝન<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: એપિસોડ <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
+    <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"એપિસોડ<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g><xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;સિઝન<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: ઍપિસોડ <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;ઍપિસોડ <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
+</resources>
diff --git a/common/res/values-hi/strings.xml b/common/res/values-hi/strings.xml
index 27cae84..7bed8f0 100644
--- a/common/res/values-hi/strings.xml
+++ b/common/res/values-hi/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"हो गया"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"अभी नहीं"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"सीज़न<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: एपिसोड<xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"एपिसोड <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"सीज़न<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: एपिसोड <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"एपिसोड <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> सीज़न<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: एपिसोड <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> एपिसोड <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;सीज़न<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: एपिसोड <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;एपिसोड <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-hr/strings.xml b/common/res/values-hr/strings.xml
index 6612778..7fad7d0 100644
--- a/common/res/values-hr/strings.xml
+++ b/common/res/values-hr/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Gotovo"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Preskoči"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"S. <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: Ep. <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"Ep. <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"S. <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: ep. <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"Ep. <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> <xliff:g id="SEASONNUMBER">%2$s</xliff:g>. s.: <xliff:g id="EPISODENUMBER">%3$s</xliff:g>. ep."</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> <xliff:g id="EPISODENUMBER">%2$s</xliff:g>. ep."</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;S<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Ep. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;Ep. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-hu/strings.xml b/common/res/values-hu/strings.xml
index 138ad85..7b5867e 100644
--- a/common/res/values-hu/strings.xml
+++ b/common/res/values-hu/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Kész"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Kihagyás"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>. évad, <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>. rész"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>. rész"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>. évad, <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>. rész: <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>. rész: <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> – <xliff:g id="SEASONNUMBER">%2$s</xliff:g>. évad, <xliff:g id="EPISODENUMBER">%3$s</xliff:g>. epizód"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> – <xliff:g id="EPISODENUMBER">%2$s</xliff:g>. epizód"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> – &lt;i&gt;<xliff:g id="SEASONNUMBER">%2$s</xliff:g>. évad <xliff:g id="EPISODENUMBER">%3$s</xliff:g>. rész&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> – &lt;i&gt;<xliff:g id="EPISODENUMBER">%2$s</xliff:g>. rész&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-hy/strings.xml b/common/res/values-hy-rAM/strings.xml
similarity index 78%
rename from common/res/values-hy/strings.xml
rename to common/res/values-hy-rAM/strings.xml
index aaa7470..ed13be2 100644
--- a/common/res/values-hy/strings.xml
+++ b/common/res/values-hy-rAM/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Պատրաստ է"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Բաց թողնել"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"Ե <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>՝ դրվ. <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"Դրվ. <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"Ե<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>՝ դրվ. <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"Դրվ. <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> Ե<xliff:g id="SEASONNUMBER">%2$s</xliff:g>՝ Դրվ. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> Դրվ. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;S<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Ep. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;Ep. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-in/strings.xml b/common/res/values-in/strings.xml
index da4b820..89f4d53 100644
--- a/common/res/values-in/strings.xml
+++ b/common/res/values-in/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Selesai"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Lewati"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"S<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: Ep.<xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"Ep.<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"S<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: Ep. <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"Ep. <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> S<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Ep. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> Ep. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;S<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Ep. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;Ep. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-is/strings.xml b/common/res/values-is-rIS/strings.xml
similarity index 78%
rename from common/res/values-is/strings.xml
rename to common/res/values-is-rIS/strings.xml
index 4752940..d68d825 100644
--- a/common/res/values-is/strings.xml
+++ b/common/res/values-is-rIS/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Lokið"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Sleppa"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"S.<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: Þ.<xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>. þáttur"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"S.<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: Þ. <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"Þ. <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> S.<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Þ. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> Þ. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;S<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Þ. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;Þ. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-it/strings.xml b/common/res/values-it/strings.xml
index f61e02f..137d545 100644
--- a/common/res/values-it/strings.xml
+++ b/common/res/values-it/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Fine"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Ignora"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"Stagione <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>, puntata <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"Ep. <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"Stag. <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: punt. <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"Punt. <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> Stag. <xliff:g id="SEASONNUMBER">%2$s</xliff:g>: punt. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> Punt. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;Stag. <xliff:g id="SEASONNUMBER">%2$s</xliff:g>: punt. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;Punt. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-iw/strings.xml b/common/res/values-iw/strings.xml
index 7ad220a..fdc75ce 100644
--- a/common/res/values-iw/strings.xml
+++ b/common/res/values-iw/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"סיום"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"דלג"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"עונה <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: פרק <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"פרק <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"עונה<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: פרק <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"פרק <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> עונה <xliff:g id="SEASONNUMBER">%2$s</xliff:g>: פרק <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> פרק <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"‏<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;עונה <xliff:g id="SEASONNUMBER">%2$s</xliff:g> פרק <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"‏<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;פרק <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-ja/strings.xml b/common/res/values-ja/strings.xml
index 682fd0d..e0aa93b 100644
--- a/common/res/values-ja/strings.xml
+++ b/common/res/values-ja/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"完了"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"スキップ"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"シーズン <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: エピソード <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"エピソード <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"シーズン <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: エピソード <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>「<xliff:g id="EPISODE_TITLE">%3$s</xliff:g>」"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"エピソード <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>「<xliff:g id="EPISODE_TITLE">%2$s</xliff:g>」"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g>、シーズン <xliff:g id="SEASONNUMBER">%2$s</xliff:g>: エピソード <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g>、エピソード <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;S<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Ep. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;Ep. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-ka/strings.xml b/common/res/values-ka-rGE/strings.xml
similarity index 77%
rename from common/res/values-ka/strings.xml
rename to common/res/values-ka-rGE/strings.xml
index 3c7062f..f930c02 100644
--- a/common/res/values-ka/strings.xml
+++ b/common/res/values-ka-rGE/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"მზადაა"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"გამოტოვება"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"სეზ. <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: ეპ. <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"ეპ. <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"სეზ. <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>, ეპ. <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> — <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"ეპ. <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> — <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g>: სეზ. <xliff:g id="SEASONNUMBER">%2$s</xliff:g>, ეპ. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g>: სეზ. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;სეზ.<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: ეპიზ. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;ეპიზ. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-kk/strings.xml b/common/res/values-kk-rKZ/strings.xml
similarity index 77%
rename from common/res/values-kk/strings.xml
rename to common/res/values-kk-rKZ/strings.xml
index 12de7d3..2aca092 100644
--- a/common/res/values-kk/strings.xml
+++ b/common/res/values-kk-rKZ/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Орындалды"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Өткізіп жіберу"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>-маусым, <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>-серия"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>-серия"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>-маусым: <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>-серия, \"<xliff:g id="EPISODE_TITLE">%3$s</xliff:g>\""</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>-серия, \"<xliff:g id="EPISODE_TITLE">%2$s</xliff:g>\""</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g>, <xliff:g id="SEASONNUMBER">%2$s</xliff:g>-маусым, <xliff:g id="EPISODENUMBER">%3$s</xliff:g>-серия"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g>, <xliff:g id="EPISODENUMBER">%2$s</xliff:g>-серия"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g>, &lt;i&gt;<xliff:g id="SEASONNUMBER">%2$s</xliff:g>-маусым: <xliff:g id="EPISODENUMBER">%3$s</xliff:g>-серия&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g>, &lt;i&gt;<xliff:g id="EPISODENUMBER">%2$s</xliff:g>-серия&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-km/strings.xml b/common/res/values-km-rKH/strings.xml
similarity index 77%
rename from common/res/values-km/strings.xml
rename to common/res/values-km-rKH/strings.xml
index b835389..252bd37 100644
--- a/common/res/values-km/strings.xml
+++ b/common/res/values-km-rKH/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"រួចរាល់"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"រំលង"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"រដូវកាល<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>៖ ភាគ<xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"ភាគ៖ <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"រដូវកាលទី <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>៖ វគ្គ <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"វគ្គ <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> រដូវ<xliff:g id="SEASONNUMBER">%2$s</xliff:g>៖ ភាគ <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> ភាគ <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;រដូវកាល​ទី <xliff:g id="SEASONNUMBER">%2$s</xliff:g>៖ ភាគ​ទី <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;ភាគ​ទី <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-kn/strings.xml b/common/res/values-kn-rIN/strings.xml
similarity index 77%
rename from common/res/values-kn/strings.xml
rename to common/res/values-kn-rIN/strings.xml
index 7cb096b..6cfb5ca 100644
--- a/common/res/values-kn/strings.xml
+++ b/common/res/values-kn-rIN/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"ಮುಗಿದಿದೆ"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"ಸ್ಕಿಪ್‌ ಮಾಡಿ"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"ಕಾಲ<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>ಭಾಗ<xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"ಭಾಗ<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"ಸೀ<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: ಸಂ. <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"ಸಂ. <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> ಸೀ<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: ಸಂ. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> ಸಂ. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;ಸೀ<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: ಸಂ. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;ಸಂ. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-ko/strings.xml b/common/res/values-ko/strings.xml
index 923831f..fe8a5c2 100644
--- a/common/res/values-ko/strings.xml
+++ b/common/res/values-ko/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"완료"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"건너뛰기"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"시즌 <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: 에피소드 <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"에피소드 <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"시즌 <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: 에피소드 <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> \'<xliff:g id="EPISODE_TITLE">%3$s</xliff:g>\'"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"에피소드 <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> \'<xliff:g id="EPISODE_TITLE">%2$s</xliff:g>\'"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> 시즌 <xliff:g id="SEASONNUMBER">%2$s</xliff:g>: 에피소드 <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> 에피소드 <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;시즌 <xliff:g id="SEASONNUMBER">%2$s</xliff:g>, 에피소드 <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;에피소드 <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-ky/strings.xml b/common/res/values-ky-rKG/strings.xml
similarity index 78%
rename from common/res/values-ky/strings.xml
rename to common/res/values-ky-rKG/strings.xml
index 8bdfadd..b5b804d 100644
--- a/common/res/values-ky/strings.xml
+++ b/common/res/values-ky-rKG/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Бүттү"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Өткөрүп жиберүү"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>-мезгил: <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>-серия"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>-серия"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"С<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: <xliff:g id="EPISODE_TITLE">%3$s</xliff:g> <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>-серия"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"<xliff:g id="EPISODE_TITLE">%2$s</xliff:g> <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>-серия"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> S<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: <xliff:g id="EPISODENUMBER">%3$s</xliff:g>-эпизод"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> <xliff:g id="EPISODENUMBER">%2$s</xliff:g>-эпизод"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;М<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: С. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;С. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-lo/strings.xml b/common/res/values-lo-rLA/strings.xml
similarity index 78%
rename from common/res/values-lo/strings.xml
rename to common/res/values-lo-rLA/strings.xml
index a6dad51..c7ac4e2 100644
--- a/common/res/values-lo/strings.xml
+++ b/common/res/values-lo-rLA/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"ສຳເລັດແລ້ວ"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"ຂ້າມ"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"S<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: Ep.<xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"Ep.<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"S<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: Ep. <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"Ep. <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> S<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Ep. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> Ep. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;S<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Ep. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;Ep. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-lt/strings.xml b/common/res/values-lt/strings.xml
index 6d6c0ee..2a38d45 100644
--- a/common/res/values-lt/strings.xml
+++ b/common/res/values-lt/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Atlikta"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Praleisti"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"<xliff:g id="SEASON_NUMBER">%1$s</xliff:g> sezonas: <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> serija"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> serija"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"<xliff:g id="SEASON_NUMBER">%1$s</xliff:g> sezonas: <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> serija „<xliff:g id="EPISODE_TITLE">%3$s</xliff:g>“"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> serija „<xliff:g id="EPISODE_TITLE">%2$s</xliff:g>“"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"Programos „<xliff:g id="PROGRAMNAME">%1$s</xliff:g>“ <xliff:g id="SEASONNUMBER">%2$s</xliff:g> sezonas: <xliff:g id="EPISODENUMBER">%3$s</xliff:g> serija"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"Programos „<xliff:g id="PROGRAMNAME">%1$s</xliff:g>“ <xliff:g id="EPISODENUMBER">%2$s</xliff:g> serija"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"Programos „<xliff:g id="PROGRAMNAME">%1$s</xliff:g>“ &lt;i&gt;<xliff:g id="SEASONNUMBER">%2$s</xliff:g> sezonas: <xliff:g id="EPISODENUMBER">%3$s</xliff:g> serija&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"Programos „<xliff:g id="PROGRAMNAME">%1$s</xliff:g>“ &lt;i&gt;<xliff:g id="EPISODENUMBER">%2$s</xliff:g> serija&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-lv/strings.xml b/common/res/values-lv/strings.xml
index f0366a4..473b69f 100644
--- a/common/res/values-lv/strings.xml
+++ b/common/res/values-lv/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Gatavs"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Izlaist"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>. sez., <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>. sēr."</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>. sēr."</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>. sezona: <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>. sērija “<xliff:g id="EPISODE_TITLE">%3$s</xliff:g>”"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>. sērija “<xliff:g id="EPISODE_TITLE">%2$s</xliff:g>”"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g>: <xliff:g id="SEASONNUMBER">%2$s</xliff:g>. sezona, <xliff:g id="EPISODENUMBER">%3$s</xliff:g>. sērija"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g>: <xliff:g id="EPISODENUMBER">%2$s</xliff:g>. sērija"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g>: &lt;i&gt;<xliff:g id="SEASONNUMBER">%2$s</xliff:g>. sezona, <xliff:g id="EPISODENUMBER">%3$s</xliff:g>. sērija&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g>: &lt;i&gt;<xliff:g id="EPISODENUMBER">%2$s</xliff:g>. sērija&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-mk/strings.xml b/common/res/values-mk-rMK/strings.xml
similarity index 77%
rename from common/res/values-mk/strings.xml
rename to common/res/values-mk-rMK/strings.xml
index 73045d3..80603a1 100644
--- a/common/res/values-mk/strings.xml
+++ b/common/res/values-mk-rMK/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Готово"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Прескокни"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"Сез.<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: Еп.<xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"Еп.<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"Сез. <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: Еп. <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"Еп. <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> Сез.<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Еп.. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> Еп. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;Сез.<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Еп. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;Еп. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-ml/strings.xml b/common/res/values-ml-rIN/strings.xml
similarity index 77%
rename from common/res/values-ml/strings.xml
rename to common/res/values-ml-rIN/strings.xml
index 0772768..abe8ded 100644
--- a/common/res/values-ml/strings.xml
+++ b/common/res/values-ml-rIN/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"പൂർത്തിയായി"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"ഒഴിവാക്കുക"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"സീസൺ<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: എപ്പി.<xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"എപ്പി.<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"സീസൺ<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: എപ്പിസോഡ് <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"എപ്പിസോഡ് <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> സീരിയൽ<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: എപ്പിസോഡ് <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> എപ്പിസോഡ് <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;S<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: എപ്പി. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;എപ്പി. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-mn/strings.xml b/common/res/values-mn-rMN/strings.xml
similarity index 78%
rename from common/res/values-mn/strings.xml
rename to common/res/values-mn-rMN/strings.xml
index ff1552e..aec6c26 100644
--- a/common/res/values-mn/strings.xml
+++ b/common/res/values-mn-rMN/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Дууссан"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Алгасах"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"Бүлэг<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: Цуврал.<xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"Анги.<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"Бүлэг<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: Анги. <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"Анги. <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> Бүлэг<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Анги. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> Анги. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;S<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Анги <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;Анги <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-mr/strings.xml b/common/res/values-mr-rIN/strings.xml
similarity index 78%
rename from common/res/values-mr/strings.xml
rename to common/res/values-mr-rIN/strings.xml
index adc669a..1084c7f 100644
--- a/common/res/values-mr/strings.xml
+++ b/common/res/values-mr-rIN/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"पूर्ण झाले"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"वगळा"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"हंगाम<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: भाग<xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"भाग<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"हंगाम<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: भाग. <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"भाग. <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> सत्र<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: भाग <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> भाग <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;S<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: भाग <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;भाग <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-ms/strings.xml b/common/res/values-ms-rMY/strings.xml
similarity index 78%
rename from common/res/values-ms/strings.xml
rename to common/res/values-ms-rMY/strings.xml
index 06eb617..1434368 100644
--- a/common/res/values-ms/strings.xml
+++ b/common/res/values-ms-rMY/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Selesai"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Langkau"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"M<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: Ep.<xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"Ep.<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"M<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: Ep. <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"Ep. <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> S<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Ep. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> Ep. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;M<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Ep. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;Ep. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-my/strings.xml b/common/res/values-my-rMM/strings.xml
similarity index 77%
rename from common/res/values-my/strings.xml
rename to common/res/values-my-rMM/strings.xml
index 977c431..0e9b43c 100644
--- a/common/res/values-my/strings.xml
+++ b/common/res/values-my-rMM/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"ပြီးပါပြီ"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"ကျော်ရန်"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"အတွဲ<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>− အပိုင်း<xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"အပိုင်း <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"အတွဲ<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>− အပိုင်း <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"အပိုင်း <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> အတွဲ<xliff:g id="SEASONNUMBER">%2$s</xliff:g>− အပိုင်း <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> အပိုင်း <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;အတွဲ<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: အပိုင်း <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;အပိုင်း <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-nb/strings.xml b/common/res/values-nb/strings.xml
index 8344a76..61d3607 100644
--- a/common/res/values-nb/strings.xml
+++ b/common/res/values-nb/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Ferdig"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Hopp over"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"Sesong <xliff:g id="SEASON_NUMBER">%1$s</xliff:g> episode <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"Episode <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"Sesong <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: episode <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> – <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"Episode <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> – <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> Sesong <xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Episode <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> Episode <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;S<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Episode <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;Episode <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-ne/strings.xml b/common/res/values-ne-rNP/strings.xml
similarity index 77%
rename from common/res/values-ne/strings.xml
rename to common/res/values-ne-rNP/strings.xml
index 4f3d24c..064fc63 100644
--- a/common/res/values-ne/strings.xml
+++ b/common/res/values-ne-rNP/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"सम्पन्न भयो"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"छाड्नुहोस्"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"सिजन <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: एपिसोड <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"एपिसोड <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"सिजन <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: एपिसोड <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"एपिसोड <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> सिजन <xliff:g id="SEASONNUMBER">%2$s</xliff:g>: एपिसोड <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> एपिसोड <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;S<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: एपिसोड <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;एपिसोड <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-nl/strings.xml b/common/res/values-nl/strings.xml
index 4e5a101..3b60161 100644
--- a/common/res/values-nl/strings.xml
+++ b/common/res/values-nl/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Gereed"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Overslaan"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"S <xliff:g id="SEASON_NUMBER">%1$s</xliff:g> afl. <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"Afl. <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"S. <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: afl. <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"Afl. <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> S<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Afl. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> Afl. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;S<xliff:g id="SEASONNUMBER">%2$s</xliff:g>, A<xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;A <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-pa-rIN/strings.xml b/common/res/values-pa-rIN/strings.xml
new file mode 100644
index 0000000..c32ca9b
--- /dev/null
+++ b/common/res/values-pa-rIN/strings.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (C) 2015 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 xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="action_text_done" msgid="298287050387266501">"ਹੋ ਗਿਆ"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"ਛੱਡੋ"</string>
+    <string name="display_episode_number_format" msgid="6040735693510854344">"ਸੀਜ਼ਨ<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: ਐਪੀਸੋਡ<xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
+    <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"ਐਪੀਸੋਡ<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
+    <string name="display_episode_title_format" msgid="5041103178918130554">"ਸੀਜ਼ਨ<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: ਐਪੀਸੋਡ <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
+    <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"ਐਪੀਸੋਡ <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;S<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: ਐਪੀਸੋਡ <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;ਐਪੀਸੋਡ <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
+</resources>
diff --git a/common/res/values-pl/strings.xml b/common/res/values-pl/strings.xml
index 5161e3b..baa6a78 100644
--- a/common/res/values-pl/strings.xml
+++ b/common/res/values-pl/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Gotowe"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Pomiń"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"Sez. <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: odc. <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"Odc. <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"Sez. <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>, odc. <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>: <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"Odc. <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>: <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> – sez. <xliff:g id="SEASONNUMBER">%2$s</xliff:g>, odc. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g>, odc. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;sez. <xliff:g id="SEASONNUMBER">%2$s</xliff:g>: odc. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;odc. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-pt-rPT/strings.xml b/common/res/values-pt-rPT/strings.xml
index badaae2..9d22b24 100644
--- a/common/res/values-pt-rPT/strings.xml
+++ b/common/res/values-pt-rPT/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Concluído"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Ignorar"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"T. <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: ep. <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"Ep. <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"T<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: ep. <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"Ep. <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> T<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: ep. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> ep. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;T<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: ep. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;ep. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-pt/strings.xml b/common/res/values-pt/strings.xml
index 0fc3e09..e5aed96 100644
--- a/common/res/values-pt/strings.xml
+++ b/common/res/values-pt/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Concluído"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Pular"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"T<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: Ep.<xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"Ep.<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"T<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: Ep. <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"Ep. <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> T<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Ep. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> Ep. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;T <xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Ep. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;Ep. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-ro/strings.xml b/common/res/values-ro/strings.xml
index ae6fc49..370c71d 100644
--- a/common/res/values-ro/strings.xml
+++ b/common/res/values-ro/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Terminat"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Omiteți"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"Sezonul <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>, episodul <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"Episodul <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"Sezonul <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>, episodul <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>: <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"Episodul <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>: <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g>, sezonul <xliff:g id="SEASONNUMBER">%2$s</xliff:g>, episodul <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g>, episodul <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g>, &lt;i&gt;sezonul <xliff:g id="SEASONNUMBER">%2$s</xliff:g>, episodul <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g>, &lt;i&gt;episodul <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-ru/strings.xml b/common/res/values-ru/strings.xml
index 53c341a..afdbcd5 100644
--- a/common/res/values-ru/strings.xml
+++ b/common/res/values-ru/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Готово"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Пропустить"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"Сезон <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>, серия <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"Серия <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"Сезон <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: серия <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>, \"<xliff:g id="EPISODE_TITLE">%3$s</xliff:g>\""</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"Серия <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>, \"<xliff:g id="EPISODE_TITLE">%2$s</xliff:g>\""</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g>, сезон <xliff:g id="SEASONNUMBER">%2$s</xliff:g>, серия <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g>, серия <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;сезон <xliff:g id="SEASONNUMBER">%2$s</xliff:g>, серия <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;серия <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-si/strings.xml b/common/res/values-si-rLK/strings.xml
similarity index 77%
rename from common/res/values-si/strings.xml
rename to common/res/values-si-rLK/strings.xml
index 85fc1f9..59d85a6 100644
--- a/common/res/values-si/strings.xml
+++ b/common/res/values-si-rLK/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"නිමයි"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"මඟ හරින්න"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"වාරය<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>කථාංගය<xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"කථාංගය <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"වාරය<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: කථාංගය <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"කථාංගය <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> වාරය<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: කථාංගය. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> කථාංගය. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;වා<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: කථාංග. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;කථාංග. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-sk/strings.xml b/common/res/values-sk/strings.xml
index 1d1a673..4d6df3c 100644
--- a/common/res/values-sk/strings.xml
+++ b/common/res/values-sk/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Hotovo"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Preskočiť"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"S<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: ep.<xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"E<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"S <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: ep. <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> – <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"Ep. <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> – <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> <xliff:g id="SEASONNUMBER">%2$s</xliff:g>. sezóna: <xliff:g id="EPISODENUMBER">%3$s</xliff:g>. epizóda"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> <xliff:g id="EPISODENUMBER">%2$s</xliff:g>. epizóda"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;S<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Ep. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;Ep. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-sl/strings.xml b/common/res/values-sl/strings.xml
index 26ec614..603d12d 100644
--- a/common/res/values-sl/strings.xml
+++ b/common/res/values-sl/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Končano"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Preskoči"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>. sezona: <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>. epizoda"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>. epizoda"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>. sezona – <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>. epizoda: <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>. epizoda: <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> – <xliff:g id="SEASONNUMBER">%2$s</xliff:g>. sezona: <xliff:g id="EPISODENUMBER">%3$s</xliff:g>. epizoda"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> – <xliff:g id="EPISODENUMBER">%2$s</xliff:g>. epizoda"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;<xliff:g id="SEASONNUMBER">%2$s</xliff:g>. sezona: <xliff:g id="EPISODENUMBER">%3$s</xliff:g>.epizoda&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;<xliff:g id="EPISODENUMBER">%2$s</xliff:g>.epizoda&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-lo/strings.xml b/common/res/values-sq-rAL/strings.xml
similarity index 77%
copy from common/res/values-lo/strings.xml
copy to common/res/values-sq-rAL/strings.xml
index a6dad51..ac18898 100644
--- a/common/res/values-lo/strings.xml
+++ b/common/res/values-sq-rAL/strings.xml
@@ -17,11 +17,12 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="action_text_done" msgid="298287050387266501">"ສຳເລັດແລ້ວ"</string>
+    <string name="action_text_done" msgid="298287050387266501">"U krye"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Kapërce"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"S<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: Ep.<xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"Ep.<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"S<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: Ep. <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"Ep. <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> S<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Ep. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> Ep. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;S<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Ep. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;Ep. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-sr/strings.xml b/common/res/values-sr/strings.xml
index ef7f9ee..b64eb7f 100644
--- a/common/res/values-sr/strings.xml
+++ b/common/res/values-sr/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Готово"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Прескочи"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"Серијал: <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: Епизода: <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>. епизода"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>. серијал: <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>. епизода, <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>. епизода, <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> <xliff:g id="SEASONNUMBER">%2$s</xliff:g>. серијал: <xliff:g id="EPISODENUMBER">%3$s</xliff:g>. епизода"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> <xliff:g id="EPISODENUMBER">%2$s</xliff:g>. епизода"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;<xliff:g id="SEASONNUMBER">%2$s</xliff:g>. серијал: <xliff:g id="EPISODENUMBER">%3$s</xliff:g>. епизода&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt; <xliff:g id="EPISODENUMBER">%2$s</xliff:g>. епозода&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-sv/strings.xml b/common/res/values-sv/strings.xml
index 9911a0d..1474100 100644
--- a/common/res/values-sv/strings.xml
+++ b/common/res/values-sv/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Klar"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Hoppa över"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"Säsong <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>, avsnitt <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"Avsnitt <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"Säsong <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: avsnitt <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> – <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"Avsnitt <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> – <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> Säsong<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: avsnitt <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> avsnitt. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;säsong <xliff:g id="SEASONNUMBER">%2$s</xliff:g>, avsnitt <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;avsnitt <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-sw/strings.xml b/common/res/values-sw/strings.xml
index 7d44ced..0b6883f 100644
--- a/common/res/values-sw/strings.xml
+++ b/common/res/values-sw/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Nimemaliza"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Ruka"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"Msimu wa <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: Kipindi cha <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"Kipindi cha <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"Msimu wa <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: Kipindi cha <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"Kipindi cha <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g>Msimu wa <xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Kipindi cha <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> Kipindi cha <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;Msimu wa <xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Kipindi cha <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;Kipindi cha <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-ta/strings.xml b/common/res/values-ta-rIN/strings.xml
similarity index 77%
rename from common/res/values-ta/strings.xml
rename to common/res/values-ta-rIN/strings.xml
index bc2eed6..7e3faa1 100644
--- a/common/res/values-ta/strings.xml
+++ b/common/res/values-ta-rIN/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"முடிந்தது"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"தவிர்"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"சீ<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: எபி.<xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"எபி.<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"சீ<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: எபி. <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"எபி. <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> சீ<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: எபி. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> எபி. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;சீ<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: எபி. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;எபி. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-te/strings.xml b/common/res/values-te-rIN/strings.xml
similarity index 77%
rename from common/res/values-te/strings.xml
rename to common/res/values-te-rIN/strings.xml
index 80df229..066abcc 100644
--- a/common/res/values-te/strings.xml
+++ b/common/res/values-te-rIN/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"పూర్తయింది"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"దాటవేయి"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"సీ<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: ఎపి.<xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"ఎపి.<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"సీ<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: ఎపి. <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"ఎపి. <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> సీ<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: ఎపి. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> ఎపి. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;సీ.<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: ఎపి. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;ఎపి. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-th/strings.xml b/common/res/values-th/strings.xml
index 5ff9f1f..a9f94b7 100644
--- a/common/res/values-th/strings.xml
+++ b/common/res/values-th/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"เสร็จสิ้น"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"ข้าม"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"ซีซัน <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: ตอนที่ <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"ตอนที่ <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"ซีซัน <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: ตอนที่ <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"ตอนที่ <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> ซีซัน <xliff:g id="SEASONNUMBER">%2$s</xliff:g>: ตอน <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> ตอน <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;ซีซัน <xliff:g id="SEASONNUMBER">%2$s</xliff:g>: ตอน <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;S"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;ตอน <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-tl/strings.xml b/common/res/values-tl/strings.xml
index e6b8bbb..24e1395 100644
--- a/common/res/values-tl/strings.xml
+++ b/common/res/values-tl/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Tapos Na"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Laktawan"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"S<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: Ep.<xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"Ep.<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"S<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: Ep. <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"Ep. <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> S<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Ep. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> Ep. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;S<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Ep. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;Ep. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-tr/strings.xml b/common/res/values-tr/strings.xml
index c25c834..56e375f 100644
--- a/common/res/values-tr/strings.xml
+++ b/common/res/values-tr/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Bitti"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Atla"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"S<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: Böl.<xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"Böl.<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"S<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>. Bölüm <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>. Bölüm <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> <xliff:g id="SEASONNUMBER">%2$s</xliff:g>.S: <xliff:g id="EPISODENUMBER">%3$s</xliff:g>. Böl."</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> <xliff:g id="EPISODENUMBER">%2$s</xliff:g>. Böl."</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;S<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Böl. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;Böl. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-uk/strings.xml b/common/res/values-uk/strings.xml
index 9b67cf4..10bfb26 100644
--- a/common/res/values-uk/strings.xml
+++ b/common/res/values-uk/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Готово"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Пропустити"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"Сезон <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: серія <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"Серія <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"Сезон <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: серія <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> \"<xliff:g id="EPISODE_TITLE">%3$s</xliff:g>\""</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"Серія <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> \"<xliff:g id="EPISODE_TITLE">%2$s</xliff:g>\""</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"\"<xliff:g id="PROGRAMNAME">%1$s</xliff:g>\": сезон <xliff:g id="SEASONNUMBER">%2$s</xliff:g>, серія <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"\"<xliff:g id="PROGRAMNAME">%1$s</xliff:g>\": серія <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"\"<xliff:g id="PROGRAMNAME">%1$s</xliff:g>\": &lt;i&gt;сезон <xliff:g id="SEASONNUMBER">%2$s</xliff:g>, серія <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"\"<xliff:g id="PROGRAMNAME">%1$s</xliff:g>\": &lt;i&gt;серія <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-ur/strings.xml b/common/res/values-ur-rPK/strings.xml
similarity index 77%
rename from common/res/values-ur/strings.xml
rename to common/res/values-ur-rPK/strings.xml
index b04fb3c..9edebcf 100644
--- a/common/res/values-ur/strings.xml
+++ b/common/res/values-ur-rPK/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"ہو گیا"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"نظر انداز کریں"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"سیزن<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: ایپی سوڈ۔<xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"ایپی سوڈ <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"سیزن <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: ایپی سوڈ <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"ایپی سوڈ <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> سیزن <xliff:g id="SEASONNUMBER">%2$s</xliff:g>: ایپی سوڈ <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> ایپی سوڈ <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"‏<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;سیزن<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: ایپی سوڈ <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"‏<xliff:g id="PROGRAMNAME">%1$s</xliff:g>  &lt;i&gt;ایپی سوڈ <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-uz/strings.xml b/common/res/values-uz-rUZ/strings.xml
similarity index 78%
rename from common/res/values-uz/strings.xml
rename to common/res/values-uz-rUZ/strings.xml
index ffa1cf9..1aef80d 100644
--- a/common/res/values-uz/strings.xml
+++ b/common/res/values-uz-rUZ/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Tayyor"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Tashlab ketish"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>-fasl: <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>-qism"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>-qism"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>-fasl: <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>-qism – “<xliff:g id="EPISODE_TITLE">%3$s</xliff:g>”"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>-qism – “<xliff:g id="EPISODE_TITLE">%2$s</xliff:g>”"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g>, <xliff:g id="SEASONNUMBER">%2$s</xliff:g>-fasl <xliff:g id="EPISODENUMBER">%3$s</xliff:g>-qism"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g>, <xliff:g id="EPISODENUMBER">%2$s</xliff:g>-qism"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;<xliff:g id="SEASONNUMBER">%2$s</xliff:g>-fasl <xliff:g id="EPISODENUMBER">%3$s</xliff:g>-qism&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;<xliff:g id="EPISODENUMBER">%2$s</xliff:g>-qism&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-vi/strings.xml b/common/res/values-vi/strings.xml
index 2852bb1..b7f209b 100644
--- a/common/res/values-vi/strings.xml
+++ b/common/res/values-vi/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Xong"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Bỏ qua"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"Phần<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: Tập<xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"Tập<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"Phần <xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: Tập <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"Tập <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> P<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Tập <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> Tập <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;S<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Tập <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;Tập <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-zh-rCN/strings.xml b/common/res/values-zh-rCN/strings.xml
index 25e1337..1eb99db 100644
--- a/common/res/values-zh-rCN/strings.xml
+++ b/common/res/values-zh-rCN/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"完成"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"跳过"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"第 <xliff:g id="SEASON_NUMBER">%1$s</xliff:g> 季:第 <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> 集"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"第 <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> 集"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"第 <xliff:g id="SEASON_NUMBER">%1$s</xliff:g> 季第 <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> 集:<xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"第 <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> 集:<xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"《<xliff:g id="PROGRAMNAME">%1$s</xliff:g>》第 <xliff:g id="SEASONNUMBER">%2$s</xliff:g> 季:第 <xliff:g id="EPISODENUMBER">%3$s</xliff:g> 集"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"《<xliff:g id="PROGRAMNAME">%1$s</xliff:g>》第 <xliff:g id="EPISODENUMBER">%2$s</xliff:g> 集"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"《<xliff:g id="PROGRAMNAME">%1$s</xliff:g>》第 <xliff:g id="SEASONNUMBER">%2$s</xliff:g> 季:第 <xliff:g id="EPISODENUMBER">%3$s</xliff:g> 集&lt;i&gt;&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"《<xliff:g id="PROGRAMNAME">%1$s</xliff:g>》第 <xliff:g id="EPISODENUMBER">%2$s</xliff:g> 集&lt;i&gt;&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-zh-rHK/strings.xml b/common/res/values-zh-rHK/strings.xml
index ed323c6..346db42 100644
--- a/common/res/values-zh-rHK/strings.xml
+++ b/common/res/values-zh-rHK/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"完成"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"略過"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"第 <xliff:g id="SEASON_NUMBER">%1$s</xliff:g> 季:第 <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> 集"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"第 <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> 集"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"第 <xliff:g id="SEASON_NUMBER">%1$s</xliff:g> 季:第 <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> 集 <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"第 <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> 集 <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"《<xliff:g id="PROGRAMNAME">%1$s</xliff:g>》第 <xliff:g id="SEASONNUMBER">%2$s</xliff:g> 季:第 <xliff:g id="EPISODENUMBER">%3$s</xliff:g> 集"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"《<xliff:g id="PROGRAMNAME">%1$s</xliff:g>》第 <xliff:g id="EPISODENUMBER">%2$s</xliff:g> 集"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"《<xliff:g id="PROGRAMNAME">%1$s</xliff:g>》&lt;i&gt;第 <xliff:g id="SEASONNUMBER">%2$s</xliff:g> 季:第 <xliff:g id="EPISODENUMBER">%3$s</xliff:g> 集&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"《<xliff:g id="PROGRAMNAME">%1$s</xliff:g>》&lt;i&gt;第 <xliff:g id="EPISODENUMBER">%2$s</xliff:g> 集&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-zh-rTW/strings.xml b/common/res/values-zh-rTW/strings.xml
index 25e1337..7cc3e3d 100644
--- a/common/res/values-zh-rTW/strings.xml
+++ b/common/res/values-zh-rTW/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"完成"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"略過"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"第 <xliff:g id="SEASON_NUMBER">%1$s</xliff:g> 季:第 <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> 集"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"第 <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> 集"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"第 <xliff:g id="SEASON_NUMBER">%1$s</xliff:g> 季第 <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> 集:<xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"第 <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> 集:<xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"《<xliff:g id="PROGRAMNAME">%1$s</xliff:g>》第 <xliff:g id="SEASONNUMBER">%2$s</xliff:g> 季:第 <xliff:g id="EPISODENUMBER">%3$s</xliff:g> 集"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"《<xliff:g id="PROGRAMNAME">%1$s</xliff:g>》第 <xliff:g id="EPISODENUMBER">%2$s</xliff:g> 集"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"《<xliff:g id="PROGRAMNAME">%1$s</xliff:g>》&lt;i&gt;第 <xliff:g id="SEASONNUMBER">%2$s</xliff:g> 季:第 <xliff:g id="EPISODENUMBER">%3$s</xliff:g> 集&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"《<xliff:g id="PROGRAMNAME">%1$s</xliff:g>》&lt;i&gt;第 <xliff:g id="EPISODENUMBER">%2$s</xliff:g> 集&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values-zu/strings.xml b/common/res/values-zu/strings.xml
index 4574ac0..227a191 100644
--- a/common/res/values-zu/strings.xml
+++ b/common/res/values-zu/strings.xml
@@ -18,10 +18,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done" msgid="298287050387266501">"Kwenziwe"</string>
+    <string name="action_text_skip" msgid="9158414021827546309">"Yeqa"</string>
     <string name="display_episode_number_format" msgid="6040735693510854344">"S<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: Ep.<xliff:g id="EPISODE_NUMBER">%2$s</xliff:g>"</string>
     <string name="display_episode_number_format_no_season_number" msgid="8393554269654325741">"Ep.<xliff:g id="EPISODE_NUMBER">%1$s</xliff:g>"</string>
     <string name="display_episode_title_format" msgid="5041103178918130554">"S<xliff:g id="SEASON_NUMBER">%1$s</xliff:g>: Ep. <xliff:g id="EPISODE_NUMBER">%2$s</xliff:g> <xliff:g id="EPISODE_TITLE">%3$s</xliff:g>"</string>
     <string name="display_episode_title_format_no_season_number" msgid="4558449786705748989">"Ep. <xliff:g id="EPISODE_NUMBER">%1$s</xliff:g> <xliff:g id="EPISODE_TITLE">%2$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number" msgid="5708628769757639737">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> S<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Ep. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>"</string>
-    <string name="program_title_with_episode_number_no_season" msgid="8299170840696856426">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> Ep. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>"</string>
+    <string name="program_title_with_episode_number" msgid="2159336538427523610">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;S<xliff:g id="SEASONNUMBER">%2$s</xliff:g>: Ep. <xliff:g id="EPISODENUMBER">%3$s</xliff:g>&lt;/i&gt;"</string>
+    <string name="program_title_with_episode_number_no_season" msgid="6243727201916342169">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> &lt;i&gt;Ep. <xliff:g id="EPISODENUMBER">%2$s</xliff:g>&lt;/i&gt;"</string>
 </resources>
diff --git a/common/res/values/dimens.xml b/common/res/values/dimens.xml
index 9d6e0e6..be53489 100644
--- a/common/res/values/dimens.xml
+++ b/common/res/values/dimens.xml
@@ -16,10 +16,6 @@
   -->
 
 <resources>
-    <!-- Setup screen -->
-    <dimen name="setup_fragment_enter_from">300dp</dimen>
-    <dimen name="setup_fragment_enter_to">-300dp</dimen>
-
     <!-- Guided step fragment -->
     <dimen name="setup_guidedstep_guidance_section_width_2pane">600dp</dimen>
     <dimen name="setup_guidedstep_guidance_section_width_3pane">476dp</dimen>
@@ -27,10 +23,7 @@
     <dimen name="setup_guidedactions_selector_margin_start">24dp</dimen>
     <dimen name="setup_guidedactions_selector_margin_end">24dp</dimen>
     <dimen name="setup_guidedactions_selector_margin_top">220dp</dimen>
-    <dimen name="setup_guidedactions_item_container_padding_start">40dp</dimen>
-    <dimen name="setup_guidedactions_item_container_padding_end">40dp</dimen>
     <dimen name="setup_guidedactions_vertical_padding">12dp</dimen>
-    <dimen name="setup_guidedactions_vertical_spacing">5dp</dimen>
     <item name="setup_guidedactions_width_weight" format="float" type="string">1</item>
     <dimen name="setup_guidedactions_item_delimiter_padding">10dp</dimen>
 
diff --git a/common/res/values/strings.xml b/common/res/values/strings.xml
index e5b9b62..ec02913 100644
--- a/common/res/values/strings.xml
+++ b/common/res/values/strings.xml
@@ -17,16 +17,32 @@
 
 <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="action_text_done">Done</string>
-    <!-- The episode display format with season and episode number used in series details view. -->
+    <string name="action_text_skip">Skip</string>
+    <!-- The episode display format with season and episode number used in series details view.
+    "S" is an abbreviation for Season and "Ep." is an abbreviation for episode.  ":" is used as a separator.
+    For example, "S1: Ep. 1"-->
     <string name="display_episode_number_format">S<xliff:g id="season_number" example="1">%1$s</xliff:g>: Ep.<xliff:g id="episode_number" example="1">%2$s</xliff:g></string>
-    <!-- The episode display format with episode number used in series details view. -->
+    <!-- The episode display format with episode number used in series details view.
+    "Ep." is an abbreviation for episode.
+    For example, "Ep. 1" -->
     <string name="display_episode_number_format_no_season_number">Ep.<xliff:g id="episode_number" example="1">%1$s</xliff:g></string>
-    <!-- The episode title format displayed on the info banner. For example, "S1: Ep. 1 Winter is coming". -->
+    <!-- The episode title format displayed on the info banner.
+    "S" is an abbreviation for Season and Ep. is an abbreviation for episode.  ":" is used as a separator.
+    For example, "S1: Ep. 1 Winter is coming". -->
     <string name="display_episode_title_format">S<xliff:g id="season_number" example="1">%1$s</xliff:g>: Ep. <xliff:g id="episode_number" example="1">%2$s</xliff:g> <xliff:g id="episode_title" example="Winter is Coming">%3$s</xliff:g></string>
-    <!-- The episode title format displayed on the info banner when the season number is not available. For example, "Ep. 1807 Headline News". -->
+    <!-- The episode title format displayed on the info banner when the season number is not available.
+    "Ep." is an abbreviation for episode.
+    For example, "Ep. 1807 Headline News". -->
     <string name="display_episode_title_format_no_season_number">Ep. <xliff:g id="episode_number" example="1807">%1$s</xliff:g> <xliff:g id="episode_title" example="Headline News">%2$s</xliff:g></string>
-    <!-- Program title with season and episode number used in DVR card views. -->
-    <string name="program_title_with_episode_number"><xliff:g id="programName" example="Big bang theory">%1$s</xliff:g> S<xliff:g id="seasonNumber" example="1">%2$s</xliff:g>: Ep. <xliff:g id="episodeNumber" example="12">%3$s</xliff:g></string>
-    <!-- Program title with episode number used in DVR card views. -->
-    <string name="program_title_with_episode_number_no_season"><xliff:g id="programName" example="Big bang theory">%1$s</xliff:g> Ep. <xliff:g id="episodeNumber" example="12">%2$s</xliff:g></string>
+    <!-- Program title with season and episode number used in DVR card views.
+    HTML tag <i> is a placeholder for styling episode number part.
+    "S" is an abbreviation for Season and "Ep." is an abbreviation for episode.  ":" is used as a separator.
+    For example "Big bang theory <i>S1: Ep. 12</i>"   -->
+    <string name="program_title_with_episode_number"><xliff:g id="programName" example="Big bang theory">%1$s</xliff:g> <![CDATA[<i>]]>S<xliff:g id="seasonNumber" example="1">%2$s</xliff:g>: Ep. <xliff:g id="episodeNumber" example="12">%3$s</xliff:g><![CDATA[</i>]]></string>
+    <!-- Program title with episode number used in DVR card views.
+    HTML tag <i> is a placeholder for styling episode number part.
+    "S" is an abbreviation for Season and "Ep." is an abbreviation for episode.  ":" is used as a separator.
+    For example "Big bang theory <i>Ep. 12</i>"
+    -->
+    <string name="program_title_with_episode_number_no_season"><xliff:g id="programName" example="Big bang theory">%1$s</xliff:g> <![CDATA[<i>]]>Ep. <xliff:g id="episodeNumber" example="12">%2$s</xliff:g><![CDATA[</i>]]></string>
 </resources>
diff --git a/common/res/values/styles.xml b/common/res/values/styles.xml
index 3c3c71c..50ef08f 100644
--- a/common/res/values/styles.xml
+++ b/common/res/values/styles.xml
@@ -57,15 +57,9 @@
         <item name="android:textSize">16sp</item>
     </style>
 
-    <style name="Widget.Setup.GuidedActionsListStyle" parent="Widget.Leanback.GuidedActionsListStyle">
-        <item name="android:elevation">0dp</item>
-    </style>
-
     <style name="Widget.Setup.GuidedActionItemContainerStyle" parent="Widget.Leanback.GuidedActionItemContainerStyle">
         <item name="android:layout_height">64dp</item>
         <item name="android:paddingBottom">@dimen/setup_guidedactions_vertical_padding</item>
-        <item name="android:paddingEnd">@dimen/setup_guidedactions_item_container_padding_end</item>
-        <item name="android:paddingStart">@dimen/setup_guidedactions_item_container_padding_start</item>
         <item name="android:paddingTop">@dimen/setup_guidedactions_vertical_padding</item>
         <item name="android:transitionGroup">true</item>
     </style>
diff --git a/common/res/values/themes.xml b/common/res/values/themes.xml
index 598ae9a..6016daf 100644
--- a/common/res/values/themes.xml
+++ b/common/res/values/themes.xml
@@ -31,7 +31,6 @@
         <item name="guidedActionItemDescriptionStyle">@style/Widget.Setup.GuidedActionItemDescriptionStyle</item>
         <item name="guidedActionsBackground">@color/common_setup_action_background</item>
         <item name="guidedActionsElevation">0dp</item>
-        <item name="guidedActionsListStyle">@style/Widget.Setup.GuidedActionsListStyle</item>
         <item name="guidedActionsSelectorDrawable">@drawable/setup_selector_background</item>
         <item name="guidedStepBackground">@android:color/transparent</item>
         <item name="setupCommonGuidanceBackground">@android:color/transparent</item>
diff --git a/common/src/com/android/tv/common/SharedPreferencesUtils.java b/common/src/com/android/tv/common/SharedPreferencesUtils.java
index fb3d9b5..140c4e6 100644
--- a/common/src/com/android/tv/common/SharedPreferencesUtils.java
+++ b/common/src/com/android/tv/common/SharedPreferencesUtils.java
@@ -35,6 +35,11 @@
     public static final String SHARED_PREF_RECURRING_RUNNER = "sharedPreferencesRecurringRunner";
     public static final String SHARED_PREF_EPG = "epg_preferences";
     public static final String SHARED_PREF_SERIES_RECORDINGS = "seriesRecordings";
+    /** No need to pre-initialize. It's used only on the worker thread. */
+    public static final String SHARED_PREF_CHANNEL_LOGO_URIS = "channelLogoUris";
+    /** Stores the UI related settings */
+    public static final String SHARED_PREF_UI_SETTINGS = "ui_settings";
+    public static final String SHARED_PREF_PREVIEW_PROGRAMS = "previewPrograms";
 
     private static boolean sInitializeCalled;
 
@@ -63,6 +68,7 @@
                     context.getSharedPreferences(SHARED_PREF_EPG, Context.MODE_PRIVATE);
                     context.getSharedPreferences(SHARED_PREF_SERIES_RECORDINGS,
                             Context.MODE_PRIVATE);
+                    context.getSharedPreferences(SHARED_PREF_UI_SETTINGS, Context.MODE_PRIVATE);
                     return null;
                 }
 
diff --git a/common/src/com/android/tv/common/TvCommonUtils.java b/common/src/com/android/tv/common/TvCommonUtils.java
index a88dd3a..c391ad2 100644
--- a/common/src/com/android/tv/common/TvCommonUtils.java
+++ b/common/src/com/android/tv/common/TvCommonUtils.java
@@ -23,6 +23,8 @@
  * Util class for common use in TV app and inputs.
  */
 public final class TvCommonUtils {
+    private static Boolean sRunningInTest;
+
     private TvCommonUtils() { }
 
     /**
@@ -58,12 +60,15 @@
      * the usual devices even the application is running in tests. We need to figure it out by
      * checking whether the class in tv-tests-common module can be loaded or not.
      */
-    public static boolean isRunningInTest() {
-        try {
-            Class.forName("com.android.tv.testing.Utils");
-            return true;
-        } catch (ClassNotFoundException e) {
-            return false;
+    public static synchronized boolean isRunningInTest() {
+        if (sRunningInTest == null) {
+            try {
+                Class.forName("com.android.tv.testing.Utils");
+                sRunningInTest = true;
+            } catch (ClassNotFoundException e) {
+                sRunningInTest = false;
+            }
         }
+        return sRunningInTest;
     }
 }
diff --git a/common/src/com/android/tv/common/TvContentRatingCache.java b/common/src/com/android/tv/common/TvContentRatingCache.java
index 5694cda..8b3c06f 100644
--- a/common/src/com/android/tv/common/TvContentRatingCache.java
+++ b/common/src/com/android/tv/common/TvContentRatingCache.java
@@ -43,6 +43,7 @@
         return INSTANCE;
     }
 
+    // @GuardedBy("TvContentRatingCache.this")
     private final Map<String, TvContentRating[]> mRatingsMultiMap = new ArrayMap<>();
 
     /**
@@ -51,7 +52,7 @@
      * Returns {@code null} if the string is empty or contains no valid ratings.
      */
     @Nullable
-    public TvContentRating[] getRatings(String commaSeparatedRatings) {
+    public synchronized TvContentRating[] getRatings(String commaSeparatedRatings) {
         if (TextUtils.isEmpty(commaSeparatedRatings)) {
             return null;
         }
@@ -136,7 +137,7 @@
     }
 
     @Override
-    public void performTrimMemory(int level) {
+    public synchronized void performTrimMemory(int level) {
         mRatingsMultiMap.clear();
     }
 
diff --git a/common/src/com/android/tv/common/feature/CommonFeatures.java b/common/src/com/android/tv/common/feature/CommonFeatures.java
index d47aa60..62c88ea 100644
--- a/common/src/com/android/tv/common/feature/CommonFeatures.java
+++ b/common/src/com/android/tv/common/feature/CommonFeatures.java
@@ -17,7 +17,6 @@
 package com.android.tv.common.feature;
 
 import static com.android.tv.common.feature.FeatureUtils.AND;
-import static com.android.tv.common.feature.FeatureUtils.OR;
 import static com.android.tv.common.feature.TestableFeature.createTestableFeature;
 
 /**
@@ -34,7 +33,7 @@
      * DVR API is introduced in N, it only works when app runs as a system app.
      */
     public static final TestableFeature DVR = createTestableFeature(
-            AND(OR(Sdk.N_PRE_2_OR_HIGHER, Sdk.AT_LEAST_N), SystemAppFeature.SYSTEM_APP_FEATURE));
+            AND(Sdk.AT_LEAST_N, SystemAppFeature.SYSTEM_APP_FEATURE));
 
     /**
      * ENABLE_RECORDING_REGARDLESS_OF_STORAGE_STATUS
diff --git a/common/src/com/android/tv/common/feature/Sdk.java b/common/src/com/android/tv/common/feature/Sdk.java
index 46a681f..9f99a64 100644
--- a/common/src/com/android/tv/common/feature/Sdk.java
+++ b/common/src/com/android/tv/common/feature/Sdk.java
@@ -18,50 +18,18 @@
 
 import android.content.Context;
 import android.os.Build;
-import android.support.v4.os.BuildCompat;
 
 /**
  *  Holder for SDK version features
  */
 public class Sdk {
-
-    public static final Feature N_PRE_2_OR_HIGHER =
-            new SdkPreviewVersionFeature(Build.VERSION_CODES.M, 2, true);
-
-    private static class SdkPreviewVersionFeature implements Feature {
-        private final int mVersionCode;
-        private final int mPreviewCode;
-        private final boolean mAllowHigherPreview;
-
-        private SdkPreviewVersionFeature(int versionCode, int previewCode,
-                boolean allowHigerPreview) {
-            mVersionCode = versionCode;
-            mPreviewCode = previewCode;
-            mAllowHigherPreview = allowHigerPreview;
-        }
-
-        @Override
-        public boolean isEnabled(Context context) {
-            try {
-                if (mAllowHigherPreview) {
-                    return Build.VERSION.SDK_INT == mVersionCode
-                            && Build.VERSION.PREVIEW_SDK_INT >= mPreviewCode;
-                } else {
-                    return Build.VERSION.SDK_INT == mVersionCode
-                            && Build.VERSION.PREVIEW_SDK_INT == mPreviewCode;
+    public static final Feature AT_LEAST_N =
+            new Feature() {
+                @Override
+                public boolean isEnabled(Context context) {
+                    return Build.VERSION.SDK_INT >= Build.VERSION_CODES.N;
                 }
-            } catch (NoSuchFieldError e) {
-                return false;
-            }
-        }
-    }
-
-    public static final Feature AT_LEAST_N = new Feature() {
-        @Override
-        public boolean isEnabled(Context context) {
-            return BuildCompat.isAtLeastN();
-        }
-    };
+            };
 
     private Sdk() {}
 }
diff --git a/common/src/com/android/tv/common/feature/SharedPreferencesFeature.java b/common/src/com/android/tv/common/feature/SharedPreferencesFeature.java
index a4a79b3..881f53d 100644
--- a/common/src/com/android/tv/common/feature/SharedPreferencesFeature.java
+++ b/common/src/com/android/tv/common/feature/SharedPreferencesFeature.java
@@ -19,7 +19,6 @@
 import android.content.Context;
 import android.content.SharedPreferences;
 import android.util.Log;
-
 import com.android.tv.common.SharedPreferencesUtils;
 
 /**
diff --git a/common/src/com/android/tv/common/feature/TestableFeature.java b/common/src/com/android/tv/common/feature/TestableFeature.java
index a02877e..d7e707a 100644
--- a/common/src/com/android/tv/common/feature/TestableFeature.java
+++ b/common/src/com/android/tv/common/feature/TestableFeature.java
@@ -36,14 +36,29 @@
     private final Feature mDelegate;
     private Boolean mTestValue = null;
 
+    /**
+     * Creates testable feature.
+     */
     public static TestableFeature createTestableFeature(Feature delegate) {
         return new TestableFeature(delegate);
     }
 
+    /**
+     * Creates testable feature with initial value.
+     */
+    public static TestableFeature createTestableFeature(Feature delegate, Boolean initialValue) {
+        return new TestableFeature(delegate, initialValue);
+    }
+
     private TestableFeature(Feature delegate) {
         mDelegate = delegate;
     }
 
+    private TestableFeature(Feature delegate, Boolean initialValue) {
+        mDelegate = delegate;
+        mTestValue = initialValue;
+    }
+
     @VisibleForTesting
     public void enableForTest() {
         if (!TvCommonUtils.isRunningInTest()) {
diff --git a/common/src/com/android/tv/common/ui/setup/SetupGuidedStepFragment.java b/common/src/com/android/tv/common/ui/setup/SetupGuidedStepFragment.java
index bcaefec..88159da 100644
--- a/common/src/com/android/tv/common/ui/setup/SetupGuidedStepFragment.java
+++ b/common/src/com/android/tv/common/ui/setup/SetupGuidedStepFragment.java
@@ -72,9 +72,6 @@
         }
         // gridView Alignment
         VerticalGridView gridView = getGuidedActionsStylist().getActionsGridView();
-        // Workaround of b/28274171
-        // TODO: Remove the following line once b/28274171 is resolved.
-        gridView.setFocusable(true);
         int offset = getResources().getDimensionPixelOffset(
                 R.dimen.setup_guidedactions_selector_margin_top);
         gridView.setWindowAlignmentOffset(offset);
@@ -86,8 +83,6 @@
         ViewGroup group = (ViewGroup) view.findViewById(R.id.content_frame);
         group.setClipChildren(false);
         group.setClipToPadding(false);
-        // Workaround b/26205201
-        view.findViewById(R.id.guidedactions_list2).setFocusable(false);
         return view;
     }
 
diff --git a/common/src/com/android/tv/common/ui/setup/SetupMultiPaneFragment.java b/common/src/com/android/tv/common/ui/setup/SetupMultiPaneFragment.java
index 6324748..b9ad465 100644
--- a/common/src/com/android/tv/common/ui/setup/SetupMultiPaneFragment.java
+++ b/common/src/com/android/tv/common/ui/setup/SetupMultiPaneFragment.java
@@ -34,6 +34,7 @@
     private static final boolean DEBUG = false;
 
     public static final int ACTION_DONE = Integer.MAX_VALUE;
+    public static final int ACTION_SKIP = ACTION_DONE - 1;
 
     private static final String CONTENT_FRAGMENT_TAG = "content_fragment";
 
@@ -53,7 +54,12 @@
         }
         if (needsDoneButton()) {
             setOnClickAction(view.findViewById(R.id.button_done), getActionCategory(), ACTION_DONE);
-        } else {
+        }
+        if (needsSkipButton()) {
+            view.findViewById(R.id.button_skip).setVisibility(View.VISIBLE);
+            setOnClickAction(view.findViewById(R.id.button_skip), getActionCategory(), ACTION_SKIP);
+        }
+        if (!needsDoneButton() && !needsSkipButton()) {
             View doneButtonContainer = view.findViewById(R.id.done_button_container);
             // Use content view to check layout direction while view is being created.
             if (getResources().getConfiguration().getLayoutDirection()
@@ -90,6 +96,10 @@
         return true;
     }
 
+    protected boolean needsSkipButton() {
+        return false;
+    }
+
     @Override
     protected int[] getParentIdsForDelay() {
         return new int[] {R.id.content_fragment, R.id.guidedactions_list};
@@ -99,4 +109,4 @@
     public int[] getSharedElementIds() {
         return new int[] {R.id.action_fragment_background, R.id.done_button_container};
     }
-}
+}
\ No newline at end of file
diff --git a/icu/icu4j/main/classes/core/src/com/ibm/icu/text/SCSU.java b/icu/icu4j/main/classes/core/src/com/ibm/icu/text/SCSU.java
index b12b926..39196fe 100644
--- a/icu/icu4j/main/classes/core/src/com/ibm/icu/text/SCSU.java
+++ b/icu/icu4j/main/classes/core/src/com/ibm/icu/text/SCSU.java
@@ -1,3 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html#License
 /*
  *******************************************************************************
  * Copyright (C) 1996-2007, International Business Machines Corporation and    *
diff --git a/icu/icu4j/main/classes/core/src/com/ibm/icu/text/UnicodeDecompressor.java b/icu/icu4j/main/classes/core/src/com/ibm/icu/text/UnicodeDecompressor.java
index e799ea1..6789469 100644
--- a/icu/icu4j/main/classes/core/src/com/ibm/icu/text/UnicodeDecompressor.java
+++ b/icu/icu4j/main/classes/core/src/com/ibm/icu/text/UnicodeDecompressor.java
@@ -1,3 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html#License
 /*
  *******************************************************************************
  * Copyright (C) 1996-2016, International Business Machines Corporation and    *
diff --git a/jni/Android.mk b/jni/Android.mk
index 684830c..39923a1 100644
--- a/jni/Android.mk
+++ b/jni/Android.mk
@@ -1,12 +1,29 @@
+#
+# Copyright (C) 2017 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    := libtunertvinput_jni
+LOCAL_MODULE := libtunertvinput_jni
 LOCAL_SRC_FILES += tunertvinput_jni.cpp DvbManager.cpp
-LOCAL_SDK_VERSION := 21
+LOCAL_SDK_VERSION := 23
 LOCAL_NDK_STL_VARIANT := stlport_static
 LOCAL_LDLIBS := -llog
 
 include $(BUILD_SHARED_LIBRARY)
+include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/jni/DvbManager.cpp b/jni/DvbManager.cpp
index aa4ed53..941a1fa 100644
--- a/jni/DvbManager.cpp
+++ b/jni/DvbManager.cpp
@@ -42,6 +42,8 @@
           mDemuxFd(-1),
           mDvrFd(-1),
           mPatFilterFd(-1),
+          mDvbApiVersion(DVB_API_VERSION_UNDEFINED),
+          mDeliverySystemType(-1),
           mFeHasLock(false),
           mHasPendingTune(false) {
     jclass clazz = env->FindClass(
@@ -59,16 +61,26 @@
 }
 
 bool DvbManager::isFeLocked() {
-    struct pollfd pollFd;
-    pollFd.fd = mFeFd;
-    pollFd.events = POLLIN;
-    pollFd.revents = 0;
-    int poll_result = poll(&pollFd, NUM_POLLFDS, FE_POLL_TIMEOUT_MS);
-    if (poll_result > 0 && (pollFd.revents & POLLIN)) {
-        struct dvb_frontend_event kevent;
-        memset(&kevent, 0, sizeof(kevent));
-        if (ioctl(mFeFd, FE_GET_EVENT, &kevent) == 0) {
-            return (kevent.status & FE_HAS_LOCK);
+    if (mDvbApiVersion == DVB_API_VERSION5) {
+        fe_status_t status;
+        if (ioctl(mFeFd, FE_READ_STATUS, &status) < 0) {
+            return false;
+        }
+        if (status & FE_HAS_LOCK) {
+            return true;
+        }
+    } else {
+        struct pollfd pollFd;
+        pollFd.fd = mFeFd;
+        pollFd.events = POLLIN;
+        pollFd.revents = 0;
+        int poll_result = poll(&pollFd, NUM_POLLFDS, FE_POLL_TIMEOUT_MS);
+        if (poll_result > 0 && (pollFd.revents & POLLIN)) {
+            struct dvb_frontend_event kevent;
+            memset(&kevent, 0, sizeof(kevent));
+            if (ioctl(mFeFd, FE_GET_EVENT, &kevent) == 0) {
+                return (kevent.status & FE_HAS_LOCK);
+            }
         }
     }
     return false;
@@ -78,38 +90,111 @@
         const int frequency, const char *modulationStr, int timeout_ms) {
     resetExceptFe();
 
-    struct dvb_frontend_parameters feParams;
-    memset(&feParams, 0, sizeof(struct dvb_frontend_parameters));
-    feParams.frequency = frequency;
-    if (strcmp(modulationStr, "8VSB") == 0) {
-        feParams.u.vsb.modulation = VSB_8;
-    } else if (strcmp(modulationStr, "QAM256") == 0) {
-        feParams.u.vsb.modulation = QAM_256;
-    } else {
-        ALOGE("Unrecognized modulation mode : %s", modulationStr);
-        return -1;
-    }
-
-    if (mHasPendingTune) {
-        return -1;
-    }
     if (openDvbFe(env, thiz) != 0) {
         return -1;
     }
-
-    feParams.inversion = INVERSION_AUTO;
-    /* Check frontend capability */
-    struct dvb_frontend_info feInfo;
-    if (ioctl(mFeFd, FE_GET_INFO, &feInfo) != -1) {
-        if (!(feInfo.caps & FE_CAN_INVERSION_AUTO)) {
-            // FE can't do INVERSION_AUTO, trying INVERSION_OFF instead
-            feParams.inversion = INVERSION_OFF;
+    if (mDvbApiVersion == DVB_API_VERSION_UNDEFINED) {
+        struct dtv_property testProps[1] = {
+            { .cmd = DTV_DELIVERY_SYSTEM }
+        };
+        struct dtv_properties feProp = {
+            .num = 1, .props = testProps
+        };
+        // On fugu, DVB_API_VERSION is 5 but it doesn't support FE_SET_PROPERTY. Checking the device
+        // support FE_GET_PROPERTY or not to determine the DVB API version is greater than 5 or not.
+        if (ioctl(mFeFd, FE_GET_PROPERTY, &feProp) == -1) {
+            ALOGD("FE_GET_PROPERTY failed, %s", strerror(errno));
+            mDvbApiVersion = DVB_API_VERSION3;
+        } else {
+            mDvbApiVersion = DVB_API_VERSION5;
         }
     }
 
-    if (ioctl(mFeFd, FE_SET_FRONTEND, &feParams) != 0) {
-        ALOGD("Can't set Frontend : %s", strerror(errno));
-        return -1;
+    if (mDvbApiVersion == DVB_API_VERSION5) {
+        struct dtv_property deliverySystemProperty = {
+            .cmd = DTV_DELIVERY_SYSTEM, .u.data = SYS_ATSC
+        };
+        struct dtv_property frequencyProperty = {
+            .cmd = DTV_FREQUENCY, .u.data = frequency
+        };
+        struct dtv_property modulationProperty = { .cmd = DTV_MODULATION };
+        if (strncmp(modulationStr, "QAM", 3) == 0) {
+            modulationProperty.u.data = QAM_AUTO;
+        } else if (strcmp(modulationStr, "8VSB") == 0) {
+            modulationProperty.u.data = VSB_8;
+        } else {
+            ALOGE("Unrecognized modulation mode : %s", modulationStr);
+            return -1;
+        }
+        struct dtv_property tuneProperty = { .cmd = DTV_TUNE };
+
+        struct dtv_property props[] = {
+                deliverySystemProperty, frequencyProperty, modulationProperty, tuneProperty
+        };
+        struct dtv_properties dtvProperty = {
+            .num = 4, .props = props
+        };
+
+        if (mHasPendingTune) {
+            return -1;
+        }
+        if (ioctl(mFeFd, FE_SET_PROPERTY, &dtvProperty) != 0) {
+            ALOGD("Can't set Frontend : %s", strerror(errno));
+            return -1;
+        }
+    } else {
+        struct dvb_frontend_parameters feParams;
+        memset(&feParams, 0, sizeof(struct dvb_frontend_parameters));
+        feParams.frequency = frequency;
+        feParams.inversion = INVERSION_AUTO;
+        /* Check frontend capability */
+        struct dvb_frontend_info feInfo;
+        if (ioctl(mFeFd, FE_GET_INFO, &feInfo) != -1) {
+            if (!(feInfo.caps & FE_CAN_INVERSION_AUTO)) {
+                // FE can't do INVERSION_AUTO, trying INVERSION_OFF instead
+                feParams.inversion = INVERSION_OFF;
+            }
+        }
+        switch (feInfo.type) {
+            case FE_ATSC:
+                if (strcmp(modulationStr, "8VSB") == 0) {
+                    feParams.u.vsb.modulation = VSB_8;
+                } else if (strncmp(modulationStr, "QAM", 3) == 0) {
+                    feParams.u.vsb.modulation = QAM_AUTO;
+                } else {
+                    ALOGE("Unrecognized modulation mode : %s", modulationStr);
+                    return -1;
+                }
+                break;
+            case FE_OFDM:
+                if (strcmp(modulationStr, "8VSB") == 0) {
+                    feParams.u.ofdm.constellation = VSB_8;
+                } else if (strcmp(modulationStr, "QAM16") == 0) {
+                    feParams.u.ofdm.constellation = QAM_16;
+                } else if (strcmp(modulationStr, "QAM64") == 0) {
+                    feParams.u.ofdm.constellation = QAM_64;
+                } else if (strcmp(modulationStr, "QAM256") == 0) {
+                    feParams.u.ofdm.constellation = QAM_256;
+                } else if (strcmp(modulationStr, "QPSK") == 0) {
+                    feParams.u.ofdm.constellation = QPSK;
+                } else {
+                    ALOGE("Unrecognized modulation mode : %s", modulationStr);
+                    return -1;
+                }
+                break;
+            default:
+                ALOGE("Unsupported delivery system.");
+                return -1;
+        }
+
+        if (mHasPendingTune) {
+            return -1;
+        }
+
+        if (ioctl(mFeFd, FE_SET_FRONTEND, &feParams) != 0) {
+            ALOGD("Can't set Frontend : %s", strerror(errno));
+            return -1;
+        }
     }
 
     int lockSuccessCount = 0;
@@ -238,6 +323,10 @@
         return -1;
     }
 
+    if (mDvbApiVersion == DVB_API_VERSION5) {
+        ioctl(demuxFd, DMX_START, 0);
+    }
+
     if (pid != PAT_PID) {
         mPidFilters.insert(std::pair<int, int>(pid, demuxFd));
     } else {
@@ -337,3 +426,75 @@
 void DvbManager::setHasPendingTune(bool hasPendingTune) {
     mHasPendingTune = hasPendingTune;
 }
+
+int DvbManager::getDeliverySystemType(JNIEnv *env, jobject thiz) {
+    if (mDeliverySystemType != -1) {
+        return mDeliverySystemType;
+    }
+    if (mFeFd == -1) {
+        if ((mFeFd = openDvbFeFromSystemApi(env, thiz)) < 0) {
+            ALOGD("Can't open FE file : %s", strerror(errno));
+            return DELIVERY_SYSTEM_UNDEFINED;
+        }
+    }
+    struct dtv_property testProps[1] = {
+        { .cmd = DTV_DELIVERY_SYSTEM }
+    };
+    struct dtv_properties feProp = {
+        .num = 1, .props = testProps
+    };
+    mDeliverySystemType = DELIVERY_SYSTEM_UNDEFINED;
+    if (ioctl(mFeFd, FE_GET_PROPERTY, &feProp) == -1) {
+        mDvbApiVersion = DVB_API_VERSION3;
+        if (openDvbFe(env, thiz) == 0) {
+            struct dvb_frontend_info info;
+            if (ioctl(mFeFd, FE_GET_INFO, &info) == 0) {
+                switch (info.type) {
+                    case FE_QPSK:
+                        mDeliverySystemType = DELIVERY_SYSTEM_DVBS;
+                        break;
+                    case FE_QAM:
+                        mDeliverySystemType = DELIVERY_SYSTEM_DVBC;
+                        break;
+                    case FE_OFDM:
+                        mDeliverySystemType = DELIVERY_SYSTEM_DVBT;
+                        break;
+                    case FE_ATSC:
+                        mDeliverySystemType = DELIVERY_SYSTEM_ATSC;
+                        break;
+                    default:
+                        mDeliverySystemType = DELIVERY_SYSTEM_UNDEFINED;
+                        break;
+                }
+            }
+        }
+    } else {
+        mDvbApiVersion = DVB_API_VERSION5;
+        switch (feProp.props[0].u.data) {
+            case SYS_DVBT:
+                mDeliverySystemType = DELIVERY_SYSTEM_DVBT;
+                break;
+            case SYS_DVBT2:
+                mDeliverySystemType = DELIVERY_SYSTEM_DVBT2;
+                break;
+            case SYS_DVBS:
+                mDeliverySystemType = DELIVERY_SYSTEM_DVBS;
+                break;
+            case SYS_DVBS2:
+                mDeliverySystemType = DELIVERY_SYSTEM_DVBS2;
+                break;
+            case SYS_DVBC_ANNEX_A:
+            case SYS_DVBC_ANNEX_B:
+            case SYS_DVBC_ANNEX_C:
+                mDeliverySystemType = DELIVERY_SYSTEM_DVBC;
+                break;
+            case SYS_ATSC:
+                mDeliverySystemType = DELIVERY_SYSTEM_ATSC;
+                break;
+            default:
+                mDeliverySystemType = DELIVERY_SYSTEM_UNDEFINED;
+                break;
+        }
+    }
+    return mDeliverySystemType;
+}
\ No newline at end of file
diff --git a/jni/DvbManager.h b/jni/DvbManager.h
index 7475bd4..2252332 100644
--- a/jni/DvbManager.h
+++ b/jni/DvbManager.h
@@ -31,6 +31,9 @@
     static const int DVB_TUNE_STOP_DELAY_MS = 100 * 1000;
     static const int FE_POLL_TIMEOUT_MS = 100;
     static const int PAT_PID = 0;
+    static const int DVB_API_VERSION_UNDEFINED = -1;
+    static const int DVB_API_VERSION3 = 3;
+    static const int DVB_API_VERSION5 = 5;
 
     static const int FILTER_TYPE_OTHER =
             com_android_tv_tuner_TunerHal_FILTER_TYPE_OTHER;
@@ -41,10 +44,28 @@
     static const int FILTER_TYPE_PCR =
             com_android_tv_tuner_TunerHal_FILTER_TYPE_PCR;
 
+    static const int DELIVERY_SYSTEM_UNDEFINED =
+            com_android_tv_tuner_TunerHal_DELIVERY_SYSTEM_UNDEFINED;
+    static const int DELIVERY_SYSTEM_ATSC =
+            com_android_tv_tuner_TunerHal_DELIVERY_SYSTEM_ATSC;
+    static const int DELIVERY_SYSTEM_DVBC =
+            com_android_tv_tuner_TunerHal_DDELIVERY_SYSTEM_DVBC;
+    static const int DELIVERY_SYSTEM_DVBS =
+            com_android_tv_tuner_TunerHal_DELIVERY_SYSTEM_DVBS;
+    static const int DELIVERY_SYSTEM_DVBS2 =
+            com_android_tv_tuner_TunerHal_DELIVERY_SYSTEM_DVBS2;
+    static const int DELIVERY_SYSTEM_DVBT =
+            com_android_tv_tuner_TunerHal_DELIVERY_SYSTEM_DVBT;
+    static const int DELIVERY_SYSTEM_DVBT2 =
+            com_android_tv_tuner_TunerHal_DELIVERY_SYSTEM_DVBT2;
+
+
     int mFeFd;
     int mDemuxFd;
     int mDvrFd;
     int mPatFilterFd;
+    int mDvbApiVersion;
+    int mDeliverySystemType;
     bool mFeHasLock;
     // Flag for pending tune request. Used for canceling the current tune operation.
     bool volatile mHasPendingTune;
@@ -65,6 +86,7 @@
     int startTsPidFilter(JNIEnv *env, jobject thiz, int pid, int filterType);
     void closeAllDvbPidFilter();
     void setHasPendingTune(bool hasPendingTune);
+    int getDeliverySystemType(JNIEnv *env, jobject thiz);
 
 private:
     int openDvbFe(JNIEnv *env, jobject thiz);
diff --git a/jni/minijail/Android.mk b/jni/minijail/Android.mk
new file mode 100644
index 0000000..940237d
--- /dev/null
+++ b/jni/minijail/Android.mk
@@ -0,0 +1,28 @@
+#
+# Copyright (C) 2017 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 := libminijail_jni
+LOCAL_SRC_FILES := minijail.cpp
+LOCAL_CXX_STL := none
+LOCAL_STATIC_LIBRARIES := libc++_static libminijail
+LOCAL_LDLIBS := -llog
+
+include $(BUILD_SHARED_LIBRARY)
diff --git a/jni/minijail/minijail.cpp b/jni/minijail/minijail.cpp
new file mode 100644
index 0000000..9eebc49
--- /dev/null
+++ b/jni/minijail/minijail.cpp
@@ -0,0 +1,65 @@
+/*
+ * Copyright (C) 2017 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.
+ */
+
+#include "minijail.h"
+#include <unistd.h>
+#include <sys/types.h>
+#include <signal.h>
+
+#include <libminijail.h>
+#include <scoped_minijail.h>
+#include <android/log.h>
+
+#ifndef LOG_TAG
+#define LOG_TAG "minijail"
+#endif
+
+#define ALOGE(...) __android_log_print(ANDROID_LOG_ERROR  , LOG_TAG, __VA_ARGS__)
+
+
+/*
+ * Class:     com_android_tv_tuner_exoplayer_ffmpeg_FfmpegDecoderService
+ * Method:    nativeSetupMinijail
+ * Signature: (I)V
+ */
+JNIEXPORT void JNICALL
+Java_com_android_tv_tuner_exoplayer_ffmpeg_FfmpegDecoderService_nativeSetupMinijail
+(JNIEnv *, jobject, jint policyFd) {
+    ScopedMinijail jail{minijail_new()};
+    if (!jail) {
+        ALOGE("Failed to create minijail");
+    }
+
+    minijail_no_new_privs(jail.get());
+    minijail_log_seccomp_filter_failures(jail.get());
+    minijail_use_seccomp_filter(jail.get());
+    minijail_set_seccomp_filter_tsync(jail.get());
+    // Transfer ownership of |policy_fd|.
+    minijail_parse_seccomp_filters_from_fd(jail.get(), policyFd);
+    minijail_enter(jail.get());
+    close(policyFd);
+}
+
+/*
+ * Class:     com_android_tv_tuner_exoplayer_ffmpeg_FfmpegDecoderService
+ * Method:    nativeTestMinijail
+ * Signature: ()V
+ */
+JNIEXPORT void JNICALL
+Java_com_android_tv_tuner_exoplayer_ffmpeg_FfmpegDecoderService_nativeTestMinijail
+(JNIEnv *, jobject) {
+    kill(getpid(), SIGUSR1);
+}
\ No newline at end of file
diff --git a/jni/minijail/minijail.h b/jni/minijail/minijail.h
new file mode 100644
index 0000000..cdf272c
--- /dev/null
+++ b/jni/minijail/minijail.h
@@ -0,0 +1,44 @@
+/* DO NOT EDIT THIS FILE - it is machine generated */
+#include <jni.h>
+/* Header for class com_android_tv_tuner_exoplayer_ffmpeg_FfmpegDecoderService */
+
+#ifndef _Included_com_android_tv_tuner_exoplayer_ffmpeg_FfmpegDecoderService
+#define _Included_com_android_tv_tuner_exoplayer_ffmpeg_FfmpegDecoderService
+#ifdef __cplusplus
+extern "C" {
+#endif
+#undef com_android_tv_tuner_exoplayer_ffmpeg_FfmpegDecoderService_DEBUG
+#define com_android_tv_tuner_exoplayer_ffmpeg_FfmpegDecoderService_DEBUG 0L
+#undef com_android_tv_tuner_exoplayer_ffmpeg_FfmpegDecoderService_MINIJAIL_SETUP_WAIT_TIMEOUT_MS
+#define com_android_tv_tuner_exoplayer_ffmpeg_FfmpegDecoderService_MINIJAIL_SETUP_WAIT_TIMEOUT_MS 5000LL
+/*
+ * Class:     com_android_tv_tuner_exoplayer_ffmpeg_FfmpegDecoderService
+ * Method:    nativeSetupMinijail
+ * Signature: (I)V
+ */
+JNIEXPORT void JNICALL Java_com_android_tv_tuner_exoplayer_ffmpeg_FfmpegDecoderService_nativeSetupMinijail
+  (JNIEnv *, jobject, jint);
+
+/*
+ * Class:     com_android_tv_tuner_exoplayer_ffmpeg_FfmpegDecoderService
+ * Method:    nativeTestMinijail
+ * Signature: ()V
+ */
+JNIEXPORT void JNICALL Java_com_android_tv_tuner_exoplayer_ffmpeg_FfmpegDecoderService_nativeTestMinijail
+  (JNIEnv *, jobject);
+
+#ifdef __cplusplus
+}
+#endif
+#endif
+/* Header for class com_android_tv_tuner_exoplayer_ffmpeg_FfmpegDecoderService_FfmpegDecoder */
+
+#ifndef _Included_com_android_tv_tuner_exoplayer_ffmpeg_FfmpegDecoderService_FfmpegDecoder
+#define _Included_com_android_tv_tuner_exoplayer_ffmpeg_FfmpegDecoderService_FfmpegDecoder
+#ifdef __cplusplus
+extern "C" {
+#endif
+#ifdef __cplusplus
+}
+#endif
+#endif
\ No newline at end of file
diff --git a/jni/tunertvinput_jni.cpp b/jni/tunertvinput_jni.cpp
index bcbc4c2..5b1a161 100644
--- a/jni/tunertvinput_jni.cpp
+++ b/jni/tunertvinput_jni.cpp
@@ -155,3 +155,21 @@
         it->second->setHasPendingTune(hasPendingTune);
     }
 }
+
+/*
+ * Class:     com_android_tv_tuner_TunerHal
+ * Method:    nativeGetDeliverySystemType
+ * Signature: (J)I
+ */
+JNIEXPORT int JNICALL
+Java_com_android_tv_tuner_TunerHal_nativeGetDeliverySystemType
+(JNIEnv *env, jobject thiz, jlong deviceId) {
+    std::map<jlong, DvbManager *>::iterator it = sDvbManagers.find(deviceId);
+    if (it != sDvbManagers.end()) {
+        return it->second->getDeliverySystemType(env, thiz);
+    } else {
+        DvbManager *dvbManager = new DvbManager(env, thiz);
+        sDvbManagers.insert(std::pair<jlong, DvbManager *>(deviceId, dvbManager));
+        return dvbManager->getDeliverySystemType(env, thiz);
+    }
+}
\ No newline at end of file
diff --git a/jni/tunertvinput_jni.h b/jni/tunertvinput_jni.h
index 4ade29e..fcd64d5 100644
--- a/jni/tunertvinput_jni.h
+++ b/jni/tunertvinput_jni.h
@@ -25,6 +25,20 @@
 #define com_android_tv_tuner_TunerHal_DEFAULT_VSB_TUNE_TIMEOUT_MS 2000L
 #undef com_android_tv_tuner_TunerHal_DEFAULT_QAM_TUNE_TIMEOUT_MS
 #define com_android_tv_tuner_TunerHal_DEFAULT_QAM_TUNE_TIMEOUT_MS 4000L
+#undef com_android_tv_tuner_TunerHal_DELIVERY_SYSTEM_UNDEFINED
+#define com_android_tv_tuner_TunerHal_DELIVERY_SYSTEM_UNDEFINED 0L
+#undef com_android_tv_tuner_TunerHal_DELIVERY_SYSTEM_ATSC
+#define com_android_tv_tuner_TunerHal_DELIVERY_SYSTEM_ATSC 1L
+#undef com_android_tv_tuner_TunerHal_DELIVERY_SYSTEM_DVBC
+#define com_android_tv_tuner_TunerHal_DDELIVERY_SYSTEM_DVBC 2L
+#undef com_android_tv_tuner_TunerHal_DELIVERY_SYSTEM_DVBS
+#define com_android_tv_tuner_TunerHal_DELIVERY_SYSTEM_DVBS 3L
+#undef com_android_tv_tuner_TunerHal_DELIVERY_SYSTEM_DVBS2
+#define com_android_tv_tuner_TunerHal_DELIVERY_SYSTEM_DVBS2 4L
+#undef com_android_tv_tuner_TunerHal_DELIVERY_SYSTEM_DVBT
+#define com_android_tv_tuner_TunerHal_DELIVERY_SYSTEM_DVBT 5L
+#undef com_android_tv_tuner_TunerHal_DELIVERY_SYSTEM_DVBT2
+#define com_android_tv_tuner_TunerHal_DELIVERY_SYSTEM_DVBT2 6L
 /*
  * Class:     com_android_tv_tuner_TunerHal
  * Method:    nativeFinalize
@@ -81,6 +95,14 @@
 JNIEXPORT void JNICALL Java_com_android_tv_tuner_TunerHal_nativeSetHasPendingTune
   (JNIEnv *, jobject, jlong, jboolean);
 
+/*
+ * Class:     com_android_tv_tuner_TunerHal
+ * Method:    nativeGetDeliverySystemType
+ * Signature: (J)I
+ */
+JNIEXPORT int JNICALL Java_com_android_tv_tuner_TunerHal_nativeGetDeliverySystemType
+  (JNIEnv *, jobject, jlong);
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/libs/exoplayer_v2.jar b/libs/exoplayer_v2.jar
new file mode 100644
index 0000000..6cfcde9
--- /dev/null
+++ b/libs/exoplayer_v2.jar
Binary files differ
diff --git a/libs/exoplayer_v2_ext_ffmpeg.jar b/libs/exoplayer_v2_ext_ffmpeg.jar
new file mode 100644
index 0000000..6511726
--- /dev/null
+++ b/libs/exoplayer_v2_ext_ffmpeg.jar
Binary files differ
diff --git a/proguard.flags b/proguard.flags
index 6ffed3e..0edd14f 100644
--- a/proguard.flags
+++ b/proguard.flags
@@ -38,6 +38,9 @@
     long getSize();
     void close();
 }
+-keepclasseswithmembers class com.google.android.exoplayer2.ext.ffmpeg {
+   native <methods>;
+}
 
 # Keep method which is used for reflection.
 -keep @com.android.tv.common.annotation.UsedByReflection class *  {*;}
@@ -53,3 +56,4 @@
 
 # Grpc used by epg via reflection
 -keep class io.grpc.internal.DnsNameResolverProvider
+
diff --git a/proto/channel.proto b/proto/channel.proto
index 982a1aa..b4e67e0 100644
--- a/proto/channel.proto
+++ b/proto/channel.proto
@@ -14,6 +14,8 @@
  * limitations under the License.
  */
 
+syntax = 'proto2';
+
 package com.android.tv.tuner.data;
 
 option java_package = "com.android.tv.tuner.data";
@@ -45,12 +47,15 @@
   repeated AtscCaptionTrack caption_tracks = 20;
   optional bool has_caption_track = 21;
   optional AtscServiceType service_type = 22 [default = SERVICE_TYPE_ATSC_DIGITAL_TELEVISION];
+  optional bool recording_prohibited = 23;
+  optional string video_format = 24;
 }
 
 // Enum describing the types of tuner.
 enum TunerType {
   TYPE_TUNER = 0;
   TYPE_FILE = 1;
+  TYPE_NETWORK = 2;
 }
 
 // Enum describing the types of video stream.
diff --git a/proto/track.proto b/proto/track.proto
index 62b8f27..fe60fed 100644
--- a/proto/track.proto
+++ b/proto/track.proto
@@ -14,6 +14,8 @@
  * limitations under the License.
  */
 
+syntax = "proto2";
+
 package com.android.tv.tuner.data;
 
 option java_package = "com.android.tv.tuner.data";
diff --git a/res/drawable-xhdpi/cloud01.png b/res/drawable-xhdpi/cloud01.png
index 2bb6a2a..75f81ce 100644
--- a/res/drawable-xhdpi/cloud01.png
+++ b/res/drawable-xhdpi/cloud01.png
Binary files differ
diff --git a/res/drawable-xhdpi/cloud02.png b/res/drawable-xhdpi/cloud02.png
index 35c9746..25dc3bc 100644
--- a/res/drawable-xhdpi/cloud02.png
+++ b/res/drawable-xhdpi/cloud02.png
Binary files differ
diff --git a/res/drawable-xhdpi/dvr_default_poster.png b/res/drawable-xhdpi/dvr_default_poster.png
index 683a693..fd752af 100644
--- a/res/drawable-xhdpi/dvr_default_poster.png
+++ b/res/drawable-xhdpi/dvr_default_poster.png
Binary files differ
diff --git a/res/drawable-xhdpi/dvr_default_program_art.png b/res/drawable-xhdpi/dvr_default_program_art.png
deleted file mode 100644
index 6a8d68e..0000000
--- a/res/drawable-xhdpi/dvr_default_program_art.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_channel_guide.png b/res/drawable-xhdpi/ic_channel_guide.png
index 526b2f6..8051202 100644
--- a/res/drawable-xhdpi/ic_channel_guide.png
+++ b/res/drawable-xhdpi/ic_channel_guide.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_delete_32dp.png b/res/drawable-xhdpi/ic_delete_32dp.png
index b3e9754..7393a65 100644
--- a/res/drawable-xhdpi/ic_delete_32dp.png
+++ b/res/drawable-xhdpi/ic_delete_32dp.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_developer_mode_tv_white_48dp.png b/res/drawable-xhdpi/ic_developer_mode_tv_white_48dp.png
old mode 100755
new mode 100644
index ab2949b..594af85
--- a/res/drawable-xhdpi/ic_developer_mode_tv_white_48dp.png
+++ b/res/drawable-xhdpi/ic_developer_mode_tv_white_48dp.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_dvr.png b/res/drawable-xhdpi/ic_dvr.png
index 347db04..512ae00 100644
--- a/res/drawable-xhdpi/ic_dvr.png
+++ b/res/drawable-xhdpi/ic_dvr.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_dvr_cancel.png b/res/drawable-xhdpi/ic_dvr_cancel.png
index bc761c7..6d6165e 100644
--- a/res/drawable-xhdpi/ic_dvr_cancel.png
+++ b/res/drawable-xhdpi/ic_dvr_cancel.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_dvr_cancel_32dp.png b/res/drawable-xhdpi/ic_dvr_cancel_32dp.png
index 339247e..8c83468 100644
--- a/res/drawable-xhdpi/ic_dvr_cancel_32dp.png
+++ b/res/drawable-xhdpi/ic_dvr_cancel_32dp.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_dvr_cancel_large.png b/res/drawable-xhdpi/ic_dvr_cancel_large.png
index f3686d0..4a1aed3 100644
--- a/res/drawable-xhdpi/ic_dvr_cancel_large.png
+++ b/res/drawable-xhdpi/ic_dvr_cancel_large.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_dvr_delete.png b/res/drawable-xhdpi/ic_dvr_delete.png
index bcdca67..5054af9 100644
--- a/res/drawable-xhdpi/ic_dvr_delete.png
+++ b/res/drawable-xhdpi/ic_dvr_delete.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_error_recording.png b/res/drawable-xhdpi/ic_error_recording.png
deleted file mode 100644
index 5878c3b..0000000
--- a/res/drawable-xhdpi/ic_error_recording.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_error_white_48dp.png b/res/drawable-xhdpi/ic_error_white_48dp.png
index e8e8ab5..8c2cf1e 100644
--- a/res/drawable-xhdpi/ic_error_white_48dp.png
+++ b/res/drawable-xhdpi/ic_error_white_48dp.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_fresh.png b/res/drawable-xhdpi/ic_fresh.png
deleted file mode 100644
index c1bc958..0000000
--- a/res/drawable-xhdpi/ic_fresh.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_guide_lock.png b/res/drawable-xhdpi/ic_guide_lock.png
index e36bd12..b0efff1 100644
--- a/res/drawable-xhdpi/ic_guide_lock.png
+++ b/res/drawable-xhdpi/ic_guide_lock.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_launcher_s.png b/res/drawable-xhdpi/ic_launcher_s.png
index 8fe7fd5..552992d 100644
--- a/res/drawable-xhdpi/ic_launcher_s.png
+++ b/res/drawable-xhdpi/ic_launcher_s.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_message_lock_no_permission.png b/res/drawable-xhdpi/ic_message_lock_no_permission.png
index bb99697..8fbd256 100644
--- a/res/drawable-xhdpi/ic_message_lock_no_permission.png
+++ b/res/drawable-xhdpi/ic_message_lock_no_permission.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_message_lock_preview.png b/res/drawable-xhdpi/ic_message_lock_preview.png
index 69a5eed..8a99c36 100644
--- a/res/drawable-xhdpi/ic_message_lock_preview.png
+++ b/res/drawable-xhdpi/ic_message_lock_preview.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_pip_option_input.png b/res/drawable-xhdpi/ic_pip_option_input.png
deleted file mode 100644
index 47c5006..0000000
--- a/res/drawable-xhdpi/ic_pip_option_input.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_pip_option_layout1.png b/res/drawable-xhdpi/ic_pip_option_layout1.png
deleted file mode 100644
index 14b2602..0000000
--- a/res/drawable-xhdpi/ic_pip_option_layout1.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_pip_option_layout2.png b/res/drawable-xhdpi/ic_pip_option_layout2.png
deleted file mode 100644
index e5d7727..0000000
--- a/res/drawable-xhdpi/ic_pip_option_layout2.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_pip_option_layout3.png b/res/drawable-xhdpi/ic_pip_option_layout3.png
deleted file mode 100644
index dfe110d..0000000
--- a/res/drawable-xhdpi/ic_pip_option_layout3.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_pip_option_layout4.png b/res/drawable-xhdpi/ic_pip_option_layout4.png
deleted file mode 100644
index 8ab5fa4..0000000
--- a/res/drawable-xhdpi/ic_pip_option_layout4.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_pip_option_layout5.png b/res/drawable-xhdpi/ic_pip_option_layout5.png
deleted file mode 100644
index d6b5364..0000000
--- a/res/drawable-xhdpi/ic_pip_option_layout5.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_pip_option_size.png b/res/drawable-xhdpi/ic_pip_option_size.png
deleted file mode 100644
index 96fb0b0..0000000
--- a/res/drawable-xhdpi/ic_pip_option_size.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_pip_option_swap.png b/res/drawable-xhdpi/ic_pip_option_swap.png
deleted file mode 100644
index fa2088e..0000000
--- a/res/drawable-xhdpi/ic_pip_option_swap.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_pip_option_swap_audio.png b/res/drawable-xhdpi/ic_pip_option_swap_audio.png
deleted file mode 100644
index a5f5431..0000000
--- a/res/drawable-xhdpi/ic_pip_option_swap_audio.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_record_start.png b/res/drawable-xhdpi/ic_record_start.png
index 53e3f03..bae336c 100644
--- a/res/drawable-xhdpi/ic_record_start.png
+++ b/res/drawable-xhdpi/ic_record_start.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_recorded_program.png b/res/drawable-xhdpi/ic_recorded_program.png
deleted file mode 100644
index fe22714..0000000
--- a/res/drawable-xhdpi/ic_recorded_program.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_related_actor.png b/res/drawable-xhdpi/ic_related_actor.png
deleted file mode 100644
index 9b726b9..0000000
--- a/res/drawable-xhdpi/ic_related_actor.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_related_search.png b/res/drawable-xhdpi/ic_related_search.png
deleted file mode 100644
index aa5cd0d..0000000
--- a/res/drawable-xhdpi/ic_related_search.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_schedule_32dp.png b/res/drawable-xhdpi/ic_schedule_32dp.png
index b3e4bb5..a665c6f 100644
--- a/res/drawable-xhdpi/ic_schedule_32dp.png
+++ b/res/drawable-xhdpi/ic_schedule_32dp.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_scheduled_recording.png b/res/drawable-xhdpi/ic_scheduled_recording.png
index 520823a..fbe2cd8 100644
--- a/res/drawable-xhdpi/ic_scheduled_recording.png
+++ b/res/drawable-xhdpi/ic_scheduled_recording.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_scheduled_white.png b/res/drawable-xhdpi/ic_scheduled_white.png
index 49778de..40814e4 100644
--- a/res/drawable-xhdpi/ic_scheduled_white.png
+++ b/res/drawable-xhdpi/ic_scheduled_white.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_setup_antenna.png b/res/drawable-xhdpi/ic_setup_antenna.png
deleted file mode 100644
index bb6d416..0000000
--- a/res/drawable-xhdpi/ic_setup_antenna.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_setup_channels.png b/res/drawable-xhdpi/ic_setup_channels.png
index 03ff850..fcfd596 100644
--- a/res/drawable-xhdpi/ic_setup_channels.png
+++ b/res/drawable-xhdpi/ic_setup_channels.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_tvoption_multi_track.png b/res/drawable-xhdpi/ic_tvoption_multi_track.png
index d1aff33..e0a42e7 100644
--- a/res/drawable-xhdpi/ic_tvoption_multi_track.png
+++ b/res/drawable-xhdpi/ic_tvoption_multi_track.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_tvoption_pip.png b/res/drawable-xhdpi/ic_tvoption_pip.png
index 0f78d83..e5d7727 100644
--- a/res/drawable-xhdpi/ic_tvoption_pip.png
+++ b/res/drawable-xhdpi/ic_tvoption_pip.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_tvoption_pip_off.png b/res/drawable-xhdpi/ic_tvoption_pip_off.png
deleted file mode 100644
index 6001677..0000000
--- a/res/drawable-xhdpi/ic_tvoption_pip_off.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_tvsidepanel_partial_locked.png b/res/drawable-xhdpi/ic_tvsidepanel_partial_locked.png
index 0997a2a..18a12f4 100644
--- a/res/drawable-xhdpi/ic_tvsidepanel_partial_locked.png
+++ b/res/drawable-xhdpi/ic_tvsidepanel_partial_locked.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_warning_gray600_36dp.png b/res/drawable-xhdpi/ic_warning_gray600_36dp.png
index 7c08b8f..8a84d3b 100644
--- a/res/drawable-xhdpi/ic_warning_gray600_36dp.png
+++ b/res/drawable-xhdpi/ic_warning_gray600_36dp.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_warning_white_12dp.png b/res/drawable-xhdpi/ic_warning_white_12dp.png
index 7123470..91856a9 100644
--- a/res/drawable-xhdpi/ic_warning_white_12dp.png
+++ b/res/drawable-xhdpi/ic_warning_white_12dp.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_warning_white_18dp.png b/res/drawable-xhdpi/ic_warning_white_18dp.png
index 1e69e39..13d573e 100644
--- a/res/drawable-xhdpi/ic_warning_white_18dp.png
+++ b/res/drawable-xhdpi/ic_warning_white_18dp.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_warning_white_32dp.png b/res/drawable-xhdpi/ic_warning_white_32dp.png
index f5267b5..86f9877 100644
--- a/res/drawable-xhdpi/ic_warning_white_32dp.png
+++ b/res/drawable-xhdpi/ic_warning_white_32dp.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_warning_white_96dp.png b/res/drawable-xhdpi/ic_warning_white_96dp.png
index de684e4..50d1f29 100644
--- a/res/drawable-xhdpi/ic_warning_white_96dp.png
+++ b/res/drawable-xhdpi/ic_warning_white_96dp.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_welcome_ripple_000.png b/res/drawable-xhdpi/ic_welcome_ripple_000.png
index c4aac06..2ffb55d 100644
--- a/res/drawable-xhdpi/ic_welcome_ripple_000.png
+++ b/res/drawable-xhdpi/ic_welcome_ripple_000.png
Binary files differ
diff --git a/res/drawable-xhdpi/tv_3a_00.png b/res/drawable-xhdpi/tv_3a_00.png
deleted file mode 100644
index ad8f256..0000000
--- a/res/drawable-xhdpi/tv_3a_00.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/tv_error.png b/res/drawable-xhdpi/tv_error.png
deleted file mode 100644
index 718f203..0000000
--- a/res/drawable-xhdpi/tv_error.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/tv_usb_antenna.png b/res/drawable-xhdpi/tv_usb_antenna.png
deleted file mode 100644
index ff6c5cc..0000000
--- a/res/drawable-xhdpi/tv_usb_antenna.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/play_controls_time_indicator.xml b/res/drawable/play_controls_time_indicator.xml
index 16acb10..85fee1f 100644
--- a/res/drawable/play_controls_time_indicator.xml
+++ b/res/drawable/play_controls_time_indicator.xml
@@ -17,7 +17,5 @@
 
 <shape xmlns:android="http://schemas.android.com/apk/res/android"
     android:shape="oval" >
-    <size android:width="@dimen/play_controls_time_indicator_width"
-        android:height="@dimen/play_controls_time_indicator_height" />
     <solid android:color="@color/play_controls_progress_time_indicator_color" />
 </shape>
diff --git a/res/drawable/playback_progress_bar.xml b/res/drawable/playback_progress_bar.xml
new file mode 100644
index 0000000..2a70ec8
--- /dev/null
+++ b/res/drawable/playback_progress_bar.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2017 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.
+  -->
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:id="@android:id/background">
+        <shape>
+            <solid android:color="@color/play_controls_progress_bar_background" />
+        </shape>
+    </item>
+    <item android:id="@android:id/secondaryProgress">
+        <shape>
+            <solid android:color="@color/play_controls_progress_bar_buffered" />
+        </shape>
+    </item>
+    <item android:id="@android:id/progress">
+        <shape>
+            <solid android:color="@color/play_controls_progress_bar_watched" />
+        </shape>
+    </item>
+</layer-list>
\ No newline at end of file
diff --git a/res/drawable/priority_settings_action_item_selected.xml b/res/drawable/priority_settings_action_item_selected.xml
index a1ab18a..3e01731 100644
--- a/res/drawable/priority_settings_action_item_selected.xml
+++ b/res/drawable/priority_settings_action_item_selected.xml
@@ -15,12 +15,8 @@
   ~ limitations under the License.
   -->
 
-<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:left="24dp" android:right="24dp">
-        <shape>
-            <solid android:color="#EEEEEE"/>
-            <corners android:radius="2dp" />
-        </shape>
-    </item>
-</layer-list>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid android:color="#EEEEEE"/>
+    <corners android:radius="2dp" />
+</shape>
 
diff --git a/res/drawable/setup_item_background.xml b/res/drawable/setup_item_background.xml
deleted file mode 100644
index fb3899a..0000000
--- a/res/drawable/setup_item_background.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  ~ Copyright (C) 2015 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.
-  -->
-
-<ripple xmlns:android="http://schemas.android.com/apk/res/android"
-    android:enterFadeDuration="@android:integer/config_shortAnimTime"
-    android:exitFadeDuration="@android:integer/config_shortAnimTime"
-    android:color="?android:attr/colorControlHighlight">
-    <item android:id="@android:id/mask">
-        <shape android:shape="rectangle" >
-            <solid android:color="@android:color/white" />
-            <corners android:radius="2dp" />
-        </shape>
-    </item>
-</ripple>
diff --git a/res/layout/activity_dvr_playback.xml b/res/layout/activity_dvr_playback.xml
index 204001c..02641d8 100644
--- a/res/layout/activity_dvr_playback.xml
+++ b/res/layout/activity_dvr_playback.xml
@@ -34,7 +34,11 @@
     </FrameLayout>
 
     <fragment android:id="@+id/dvr_playback_controls_fragment"
-        android:name="com.android.tv.dvr.ui.DvrPlaybackOverlayFragment"
+        android:name="com.android.tv.dvr.ui.playback.DvrPlaybackOverlayFragment"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent" />
+
+    <FrameLayout android:id="@+id/dvr_playback_side_fragment"
         android:layout_width="match_parent"
         android:layout_height="match_parent" />
 
diff --git a/res/layout/activity_dvr_schedules.xml b/res/layout/activity_dvr_schedules.xml
index 61e1f2a..43b2286 100644
--- a/res/layout/activity_dvr_schedules.xml
+++ b/res/layout/activity_dvr_schedules.xml
@@ -16,6 +16,7 @@
   -->
 
 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/dvr_schedules"
     android:layout_width="match_parent"
     android:layout_height="match_parent">
 
diff --git a/res/layout/activity_tv.xml b/res/layout/activity_tv.xml
index f766ae0..b6a0a3a 100644
--- a/res/layout/activity_tv.xml
+++ b/res/layout/activity_tv.xml
@@ -23,33 +23,11 @@
     android:foreground="@android:color/transparent"
     android:keepScreenOn="true">
 
-    <com.android.tv.ui.AppLayerTvView android:id="@+id/main_tv_view"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:layout_gravity="start|center_vertical" />
-
     <com.android.tv.ui.TunableTvView android:id="@+id/main_tunable_tv_view"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:layout_gravity="start|center_vertical" />
 
-    <com.android.tv.ui.AppLayerTvView android:id="@+id/pip_tv_view"
-        android:layout_marginLeft="@dimen/pipview_margin_horizontal"
-        android:layout_marginRight="@dimen/pipview_margin_horizontal"
-        android:layout_marginTop="@dimen/pipview_margin_top"
-        android:layout_marginBottom="@dimen/pipview_margin_bottom"
-        android:layout_width="@dimen/pipview_small_size_width"
-        android:layout_height="@dimen/pipview_small_size_height" />
-
-    <com.android.tv.ui.TunableTvView android:id="@+id/pip_tunable_tv_view"
-        android:visibility="gone"
-        android:layout_marginLeft="@dimen/pipview_margin_horizontal"
-        android:layout_marginRight="@dimen/pipview_margin_horizontal"
-        android:layout_marginTop="@dimen/pipview_margin_top"
-        android:layout_marginBottom="@dimen/pipview_margin_bottom"
-        android:layout_width="@dimen/pipview_small_size_width"
-        android:layout_height="@dimen/pipview_small_size_height" />
-
     <FrameLayout
         android:id="@+id/scene_container"
         android:layout_height="match_parent"
diff --git a/res/layout/block_screen.xml b/res/layout/block_screen.xml
index 6a04e96..c564efd 100644
--- a/res/layout/block_screen.xml
+++ b/res/layout/block_screen.xml
@@ -16,12 +16,18 @@
   -->
 
 <com.android.tv.ui.BlockScreenView xmlns:android="http://schemas.android.com/apk/res/android"
-    android:orientation="vertical"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:gravity="center"
     android:visibility="gone"
     android:background="@android:color/black">
+
+    <ImageView
+        android:id="@+id/background_image"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:scaleType="fitCenter"
+        android:visibility="gone" />
+
     <!-- This layout is used for the animation -->
     <LinearLayout
         android:id="@+id/block_screen_container"
@@ -43,6 +49,7 @@
                 android:contentDescription="@null" />
             <ImageView
                 android:id="@+id/block_screen_shrunken_icon"
+                android:src="@drawable/ic_message_lock_preview"
                 android:layout_width="@dimen/shrunken_tvview_block_icon_width"
                 android:layout_height="@dimen/shrunken_tvview_block_icon_height"
                 android:layout_gravity="center"
diff --git a/res/layout/dvr_details_description.xml b/res/layout/dvr_details_description.xml
index c5db470..d55688b 100644
--- a/res/layout/dvr_details_description.xml
+++ b/res/layout/dvr_details_description.xml
@@ -40,8 +40,7 @@
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:orientation="vertical"
-        android:background="?android:attr/selectableItemBackground"
-        android:clickable="true">
+        android:background="?android:attr/selectableItemBackground">
 
         <TextView android:id="@+id/dvr_details_description_body"
             android:layout_width="wrap_content"
diff --git a/res/layout/dvr_main.xml b/res/layout/dvr_main.xml
index bac1cc9..6e18a83 100644
--- a/res/layout/dvr_main.xml
+++ b/res/layout/dvr_main.xml
@@ -16,6 +16,6 @@
   -->
 <fragment xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/dvr_frame"
-    android:name="com.android.tv.dvr.ui.DvrBrowseFragment"
+    android:name="com.android.tv.dvr.ui.browse.DvrBrowseFragment"
     android:layout_width="match_parent"
     android:layout_height="match_parent" />
\ No newline at end of file
diff --git a/res/layout/dvr_play.xml b/res/layout/dvr_play.xml
deleted file mode 100644
index 4df1368..0000000
--- a/res/layout/dvr_play.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  ~ Copyright (C) 2015 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
-  -->
-
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
-              android:orientation="vertical"
-              android:layout_width="match_parent"
-              android:layout_height="match_parent">
-    <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:textAppearance="?android:attr/textAppearanceMedium"
-            android:text="@string/no_program_information"
-            android:id="@+id/placeHolderText" android:layout_gravity="center"/>
-</FrameLayout>
\ No newline at end of file
diff --git a/res/layout/dvr_recording_card_view.xml b/res/layout/dvr_recording_card_view.xml
index d3808a3..53a7cf3 100644
--- a/res/layout/dvr_recording_card_view.xml
+++ b/res/layout/dvr_recording_card_view.xml
@@ -16,12 +16,12 @@
 
 <merge xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tv="http://schemas.android.com/apk/res/com.android.tv"
-    android:layout_width="@dimen/dvr_card_layout_width"
+    android:layout_width="wrap_content"
     android:layout_height="wrap_content">
 
     <FrameLayout
-        android:layout_width="@dimen/dvr_card_image_layout_width"
-        android:layout_height="@dimen/dvr_card_image_layout_height"
+        android:layout_width="@dimen/dvr_library_card_image_layout_width"
+        android:layout_height="@dimen/dvr_library_card_image_layout_height"
         android:layout_margin="2dp">
 
         <ImageView android:id="@+id/image"
@@ -35,7 +35,7 @@
         <ProgressBar android:id="@+id/recording_progress"
             style="@android:style/Widget.ProgressBar.Horizontal"
             android:layout_width="match_parent"
-            android:layout_height="@dimen/dvr_card_progress_height"
+            android:layout_height="@dimen/dvr_library_card_progress_height"
             android:mirrorForRtl="false"
             android:progressTint="@color/play_controls_progress_bar_watched"
             android:progressDrawable="@drawable/progress_horizontal"
@@ -70,13 +70,30 @@
         android:background="@color/dvr_card_info"
         tv:layout_viewType="info">
 
-        <TextView android:id="@+id/title"
+        <FrameLayout android:id="@+id/title_area"
             android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_marginBottom="1dp"
-            android:gravity="start"
-            style="@style/dvr_card_view_title_text"
-            tv:layout_viewType="main"/>
+            android:layout_height="@dimen/dvr_library_card_folded_title_height">
+
+            <TextView android:id="@+id/title_one_line"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginBottom="1dp"
+                android:gravity="start"
+                android:maxLines="1"
+                style="@style/dvr_card_view_title_text"
+                tv:layout_viewType="main"/>
+
+            <TextView android:id="@+id/title_two_lines"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginBottom="1dp"
+                android:gravity="start"
+                android:maxLines="2"
+                android:alpha="0"
+                style="@style/dvr_card_view_title_text"
+                tv:layout_viewType="main"/>
+
+        </FrameLayout>
 
         <RelativeLayout
             android:layout_width="match_parent"
diff --git a/res/layout/dvr_schedules_item.xml b/res/layout/dvr_schedules_item.xml
index 1d97cb9..90e1123 100644
--- a/res/layout/dvr_schedules_item.xml
+++ b/res/layout/dvr_schedules_item.xml
@@ -44,19 +44,23 @@
             android:layout_height="match_parent"
             android:alpha="0"/>
 
+        <!-- Make parent focusable in case when the info_container is not focusable.
+             As the actions are GONE when the row is not selected, if info_container is not
+             focusable, there are no focusable views in the row, which causes that the row can't be
+             selected by the DPAD. To avoid this case, the parent should be focusable. -->
         <LinearLayout
             android:orientation="horizontal"
             android:layout_width="match_parent"
-            android:layout_height="match_parent">
+            android:layout_height="match_parent"
+            android:focusable="true"
+            android:descendantFocusability="afterDescendants">
 
             <LinearLayout android:id="@+id/info_container"
                 android:layout_width="0dp"
                 android:layout_height="match_parent"
                 android:layout_marginEnd="@dimen/dvr_schedules_item_section_margin"
                 android:layout_weight="1"
-                android:clickable="true"
-                android:focusableInTouchMode="true"
-                android:focusable="true">
+                android:clickable="true">
 
                 <TextView android:id="@+id/time"
                     android:layout_width="@dimen/dvr_schedules_item_time_width"
diff --git a/res/layout/guided_action_editable.xml b/res/layout/guided_action_editable.xml
new file mode 100644
index 0000000..84f56f8
--- /dev/null
+++ b/res/layout/guided_action_editable.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2017 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.
+  -->
+
+<android.support.v17.leanback.widget.GuidedActionItemContainer
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/guidedactions_editable"
+    style="?attr/guidedActionItemContainerStyle"
+    android:layout_height="88dp">
+
+    <android.support.v17.leanback.widget.NonOverlappingLinearLayout
+        android:id="@+id/guidedactions_item_content"
+        style="?attr/guidedActionItemContentStyle" >
+
+        <EditText
+            android:id="@+id/guidedactions_item_title"
+            android:layout_height="wrap_content"
+            android:layout_width="match_parent"
+            android:textColor="@color/lb_guidedactions_item_unselected_text_color"
+            android:textSize="16sp" />
+
+        <android.support.v17.leanback.widget.GuidedActionEditText
+            android:id="@+id/guidedactions_item_description"
+            style="?attr/guidedActionItemDescriptionStyle" />
+
+    </android.support.v17.leanback.widget.NonOverlappingLinearLayout>
+
+</android.support.v17.leanback.widget.GuidedActionItemContainer>
\ No newline at end of file
diff --git a/res/layout/input_banner.xml b/res/layout/input_banner.xml
index cd8770c..f4035fc 100644
--- a/res/layout/input_banner.xml
+++ b/res/layout/input_banner.xml
@@ -34,6 +34,7 @@
     <TextView android:id="@+id/input_label"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
+        android:maxWidth="@dimen/input_banner_item_label_max_width"
         android:fontFamily="@string/condensed_font"
         android:textColor="@color/select_input_text_color_primary"
         android:singleLine="true"
@@ -44,6 +45,7 @@
         android:layout_marginStart="16dp"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
+        android:maxWidth="@dimen/input_banner_item_label_max_width"
         android:fontFamily="@string/condensed_font"
         android:textColor="@color/select_input_text_color_secondary"
         android:singleLine="true"
diff --git a/res/layout/list_item_dvr_history.xml b/res/layout/list_item_dvr_history.xml
new file mode 100644
index 0000000..a9eb4c0
--- /dev/null
+++ b/res/layout/list_item_dvr_history.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2016 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:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:orientation="horizontal"
+    android:padding="2dp" >
+
+    <TextView
+        android:id="@+id/state"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:paddingStart="4dp"
+        android:paddingEnd="0dp" />
+
+    <TextView
+        android:id="@+id/schedule_time"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:paddingStart="4dp"
+        android:paddingEnd="0dp" />
+
+    <TextView
+        android:id="@+id/program_title"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:paddingStart="4dp"
+        android:paddingEnd="0dp" />
+
+    <TextView
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:paddingStart="4dp"
+        android:paddingEnd="0dp"
+        android:text="@string/dvr_schedules_information_separator" />
+
+    <TextView
+        android:id="@+id/channel_name"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:paddingStart="4dp"
+        android:paddingEnd="0dp" />
+
+</LinearLayout>
diff --git a/res/layout/menu_card_action.xml b/res/layout/menu_card_action.xml
index f17c5b6..e8114b5 100644
--- a/res/layout/menu_card_action.xml
+++ b/res/layout/menu_card_action.xml
@@ -19,50 +19,43 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="@dimen/action_card_width"
     android:layout_height="@dimen/action_card_height"
-    android:orientation="vertical"
     android:focusable="true"
     android:background="@drawable/action_card_background">
 
-    <LinearLayout
-        android:orientation="vertical"
+    <TextView
+        android:id="@+id/action_card_label"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:padding="@dimen/action_card_padding"
-        android:clipChildren="false"
-        android:clipToPadding="false"
-        android:layout_gravity="top">
+        android:layout_alignParentTop="true"
+        android:layout_marginStart="12dp"
+        android:layout_marginEnd="12dp"
+        android:layout_marginTop="6dp"
+        android:fontFamily="@string/condensed_font"
+        android:maxLines="1"
+        android:textColor="@color/action_card_label_color"
+        android:textSize="@dimen/action_card_label_font_size" />
 
-        <TextView
-            android:id="@+id/action_card_label"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="-6dp"
-            android:singleLine="true"
-            android:fontFamily="@string/condensed_font"
-            android:textColor="@color/action_card_label_color"
-            android:textSize="@dimen/action_card_label_font_size" />
-
-        <TextView
-            android:id="@+id/action_card_state"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:paddingTop="4dp"
-            android:singleLine="true"
-            android:fontFamily="@string/condensed_font"
-            android:textColor="@color/action_card_state_color"
-            android:textSize="@dimen/action_card_state_font_size" />
-
-    </LinearLayout>
+    <TextView
+        android:id="@+id/action_card_state"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_below="@id/action_card_label"
+        android:layout_marginStart="12dp"
+        android:layout_marginEnd="12dp"
+        android:paddingTop="4dp"
+        android:fontFamily="@string/condensed_font"
+        android:maxLines="1"
+        android:textColor="@color/action_card_state_color"
+        android:textSize="@dimen/action_card_state_font_size" />
 
     <ImageView
         android:id="@+id/action_card_icon"
         android:layout_width="@dimen/action_card_icon_width"
         android:layout_height="@dimen/action_card_icon_height"
         android:layout_margin="@dimen/action_card_icon_padding"
-        android:layout_gravity="end|bottom"
+        android:layout_alignParentBottom="true"
+        android:layout_alignParentEnd="true"
         android:contentDescription="@null"
-        android:scaleType="fitCenter"
-        android:src="@drawable/ic_tvoption_aspect"
-        android:duplicateParentState="true" />
+        android:scaleType="fitCenter" />
 
 </com.android.tv.menu.ActionCardView>
diff --git a/res/layout/menu_card_app_link.xml b/res/layout/menu_card_app_link.xml
index 918cb78..a7e3bd4 100644
--- a/res/layout/menu_card_app_link.xml
+++ b/res/layout/menu_card_app_link.xml
@@ -33,13 +33,6 @@
             android:layout_gravity="top"
             android:scaleType="centerCrop"/>
 
-        <View android:id="@+id/image_gradient"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:layout_gravity="center_horizontal"
-            android:background="@drawable/card_image_gradient"
-            android:visibility="gone" />
-
         <TextView android:id="@+id/app_info"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
diff --git a/res/layout/menu_card_channel.xml b/res/layout/menu_card_channel.xml
index 4e49636..ed7b827 100644
--- a/res/layout/menu_card_channel.xml
+++ b/res/layout/menu_card_channel.xml
@@ -32,13 +32,6 @@
             android:layout_gravity="top"
             android:scaleType="centerCrop"/>
 
-        <View android:id="@+id/image_gradient"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:layout_gravity="center_horizontal"
-            android:background="@drawable/card_image_gradient"
-            android:visibility="gone" />
-
         <!-- The bottom margin specified in the redline is 8dp, but the redline doesn't consider
              the descenders. So actually, if the bottom margin is set to 8dp, the bottom line of
              the text lies 11dp above the bottom of the poster art due to the descenders.
diff --git a/res/layout/menu_card_dvr.xml b/res/layout/menu_card_dvr.xml
index cc58977..4f15908 100644
--- a/res/layout/menu_card_dvr.xml
+++ b/res/layout/menu_card_dvr.xml
@@ -23,17 +23,15 @@
     android:focusable="true"
     android:clickable="true">
 
-    <FrameLayout
+    <ImageView
         android:layout_width="@dimen/card_image_layout_width"
         android:layout_height="@dimen/card_image_layout_height"
-        android:background="@color/channel_card_guide">
-        <ImageView
-            android:layout_width="82dp"
-            android:layout_height="48dp"
-            android:layout_marginTop="16dp"
-            android:src="@drawable/ic_dvr"
-            android:layout_gravity="center_horizontal" />
-    </FrameLayout>
+        android:background="@color/channel_card_guide"
+        android:paddingBottom="16dp"
+        android:paddingEnd="30dp"
+        android:paddingStart="30dp"
+        android:paddingTop="16dp"
+        android:src="@drawable/ic_dvr" />
 
     <FrameLayout
         android:layout_width="match_parent"
diff --git a/res/layout/menu_card_guide.xml b/res/layout/menu_card_guide.xml
index 6b724b1..c36b7df 100644
--- a/res/layout/menu_card_guide.xml
+++ b/res/layout/menu_card_guide.xml
@@ -23,17 +23,15 @@
     android:focusable="true"
     android:clickable="true">
 
-    <FrameLayout
+    <ImageView
         android:layout_width="@dimen/card_image_layout_width"
         android:layout_height="@dimen/card_image_layout_height"
-        android:background="@color/channel_card_guide">
-        <ImageView
-            android:layout_width="82dp"
-            android:layout_height="48dp"
-            android:layout_marginTop="16dp"
-            android:src="@drawable/ic_channel_guide"
-            android:layout_gravity="center_horizontal" />
-    </FrameLayout>
+        android:background="@color/channel_card_guide"
+        android:paddingBottom="16dp"
+        android:paddingEnd="30dp"
+        android:paddingStart="30dp"
+        android:paddingTop="16dp"
+        android:src="@drawable/ic_channel_guide" />
 
     <TextView
         android:layout_width="match_parent"
diff --git a/res/layout/menu_card_setup.xml b/res/layout/menu_card_setup.xml
index 38abd4e..520cb4e 100644
--- a/res/layout/menu_card_setup.xml
+++ b/res/layout/menu_card_setup.xml
@@ -22,17 +22,15 @@
     android:focusable="true"
     android:clickable="true">
 
-    <FrameLayout
+    <ImageView
         android:layout_width="@dimen/card_image_layout_width"
         android:layout_height="@dimen/card_image_layout_height"
-        android:background="@color/channel_card_guide">
-        <ImageView
-            android:layout_width="82dp"
-            android:layout_height="48dp"
-            android:layout_marginTop="16dp"
-            android:src="@drawable/ic_setup_channels"
-            android:layout_gravity="center_horizontal" />
-    </FrameLayout>
+        android:background="@color/channel_card_guide"
+        android:paddingBottom="16dp"
+        android:paddingEnd="30dp"
+        android:paddingStart="30dp"
+        android:paddingTop="16dp"
+        android:src="@drawable/ic_setup_channels" />
 
     <TextView
         android:layout_width="match_parent"
diff --git a/res/layout/menu_card_text.xml b/res/layout/menu_card_text.xml
index 777b100..7674f81 100644
--- a/res/layout/menu_card_text.xml
+++ b/res/layout/menu_card_text.xml
@@ -16,7 +16,6 @@
   -->
 
 <merge xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tv="http://schemas.android.com/apk/res/com.android.tv"
     android:layout_width="match_parent"
     android:layout_height="wrap_content">
 
diff --git a/res/layout/option_container.xml b/res/layout/option_container.xml
index f053e66..dd8c96c 100644
--- a/res/layout/option_container.xml
+++ b/res/layout/option_container.xml
@@ -22,6 +22,8 @@
     android:layout_gravity="end"
     android:elevation="@dimen/side_panel_elevation"
     android:background="@color/side_panel_background"
+    android:translationX="@dimen/side_panel_enter_offset_x"
+    android:alpha="0.0"
     android:visibility="gone">
 
     <!-- Background for header -->
diff --git a/res/layout/option_fragment.xml b/res/layout/option_fragment.xml
index 39f6749..4a4cbbd 100644
--- a/res/layout/option_fragment.xml
+++ b/res/layout/option_fragment.xml
@@ -41,7 +41,6 @@
         android:clipChildren="false"
         android:clipToPadding="false"
         android:focusable="true"
-        android:paddingTop="@dimen/side_panel_list_padding_top"
         android:paddingBottom="@dimen/side_panel_list_padding_bottom"
         lb:verticalMargin="@dimen/side_panel_list_vertical_margin" />
 
diff --git a/res/layout/option_item_action.xml b/res/layout/option_item_action.xml
index a7a02b2..6dc5b35 100644
--- a/res/layout/option_item_action.xml
+++ b/res/layout/option_item_action.xml
@@ -24,19 +24,8 @@
     android:focusable="true"
     android:background="?android:attr/selectableItemBackground" >
 
-    <ImageView
-        android:id="@+id/icon"
-        android:layout_width="36dp"
-        android:layout_height="36dp"
-        android:layout_weight="0"
-        android:layout_marginEnd="20dp"
-        android:layout_marginTop="14dp"
-        android:layout_marginBottom="14dp"
-        android:contentDescription="@null" />
-
     <include layout="@layout/option_item_common"
-        android:layout_width="0dp"
-        android:layout_height="match_parent"
-        android:layout_weight="1" />
+        android:layout_width="match_parent"
+        android:layout_height="match_parent" />
 
 </LinearLayout>
diff --git a/res/layout/option_item_channel_check.xml b/res/layout/option_item_channel_check.xml
index 2817d2b..f68c2f9 100644
--- a/res/layout/option_item_channel_check.xml
+++ b/res/layout/option_item_channel_check.xml
@@ -28,7 +28,6 @@
         android:id="@+id/check_box"
         android:layout_width="@dimen/option_item_compound_button_width"
         android:layout_height="match_parent"
-        android:layout_weight="0"
         android:background="@null"
         android:clickable="false" />
 
diff --git a/res/layout/option_item_channel_lock.xml b/res/layout/option_item_channel_lock.xml
index f4f65f9..f7b5c9e 100644
--- a/res/layout/option_item_channel_lock.xml
+++ b/res/layout/option_item_channel_lock.xml
@@ -28,7 +28,6 @@
         android:id="@+id/check_box"
         android:layout_width="@dimen/option_item_compound_button_width"
         android:layout_height="match_parent"
-        android:layout_weight="0"
         android:button="@drawable/btn_lock_material_anim"
         android:background="@null"
         android:clickable="false" />
diff --git a/res/layout/option_item_check_box.xml b/res/layout/option_item_check_box.xml
index 1ab2ba4..711e362 100644
--- a/res/layout/option_item_check_box.xml
+++ b/res/layout/option_item_check_box.xml
@@ -28,7 +28,6 @@
         android:id="@+id/check_box"
         android:layout_width="@dimen/option_item_compound_button_width"
         android:layout_height="wrap_content"
-        android:layout_weight="0"
         android:layout_gravity="center"
         android:background="@null"
         android:clickable="false" />
diff --git a/res/layout/option_item_common.xml b/res/layout/option_item_common.xml
index ca0013c..6529421 100644
--- a/res/layout/option_item_common.xml
+++ b/res/layout/option_item_common.xml
@@ -42,7 +42,7 @@
         android:fontFamily="@string/option_item_secondary_text_font"
         android:textSize="@dimen/option_item_secondary_text_size"
         android:textColor="@color/option_item_secondary_text_color"
-        android:maxLines="3"
+        android:maxLines="@integer/option_item_description_max_lines"
         android:ellipsize="end"
         android:focusable="false" />
 
diff --git a/res/layout/option_item_radio_button.xml b/res/layout/option_item_radio_button.xml
index 2e4fa11..35be8c7 100644
--- a/res/layout/option_item_radio_button.xml
+++ b/res/layout/option_item_radio_button.xml
@@ -28,7 +28,6 @@
         android:id="@+id/radio_button"
         android:layout_width="@dimen/option_item_compound_button_width"
         android:layout_height="match_parent"
-        android:layout_weight="0"
         android:background="@null"
         android:clickable="false" />
 
diff --git a/res/layout/option_item_switch.xml b/res/layout/option_item_switch.xml
index 4750ebc..7b5c6ec 100644
--- a/res/layout/option_item_switch.xml
+++ b/res/layout/option_item_switch.xml
@@ -33,7 +33,6 @@
         android:id="@+id/switch_button"
         android:layout_width="@dimen/option_item_compound_button_width"
         android:layout_height="match_parent"
-        android:layout_weight="0"
         android:background="@null"
         android:clickable="false" />
 
diff --git a/res/layout/play_controls_contents.xml b/res/layout/play_controls_contents.xml
index ac61a2d..9afc5f3 100644
--- a/res/layout/play_controls_contents.xml
+++ b/res/layout/play_controls_contents.xml
@@ -16,6 +16,7 @@
   -->
 
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tv="http://schemas.android.com/apk/res-auto"
     android:id="@+id/play_controls"
     style="@style/menu_row_contents_view"
     android:layoutDirection="ltr">
@@ -28,153 +29,118 @@
         android:layout_alignStart="@+id/body"
         android:layout_marginBottom="@dimen/play_controls_time_bottom_margin"
         android:gravity="center"
-        android:singleLine="true"
+        android:maxLines="1"
         android:textColor="@color/play_controls_time_text_color"
         android:textSize="@dimen/play_controls_time_text_size"
         android:fontFamily="@string/font" />
 
-    <LinearLayout
+    <RelativeLayout
         android:id="@id/body"
-        android:orientation="vertical"
         android:layout_width="@dimen/play_controls_width"
         android:layout_height="wrap_content"
         android:layout_below="@id/time_text"
         android:layout_centerHorizontal="true"
         android:background="@drawable/play_controls_body_shape">
 
-        <RelativeLayout
+        <com.android.tv.menu.PlaybackProgressBar
+            android:id="@+id/progress"
             android:layout_width="match_parent"
-            android:layout_height="@dimen/play_controls_progress_height">
-
-            <ImageView
-                android:id="@+id/timeline_bg_start"
-                android:layout_width="wrap_content"
-                android:layout_height="match_parent"
-                android:layout_alignParentStart="true"
-                android:src="@color/play_controls_progress_bar_background" />
-            <ImageView
-                android:id="@+id/watched"
-                android:layout_width="wrap_content"
-                android:layout_height="match_parent"
-                android:layout_toEndOf="@id/timeline_bg_start"
-                android:src="@color/play_controls_progress_bar_watched" />
-            <ImageView
-                android:id="@+id/buffered"
-                android:layout_width="wrap_content"
-                android:layout_height="match_parent"
-                android:layout_toEndOf="@id/watched"
-                android:src="@color/play_controls_progress_bar_buffered" />
-            <ImageView
-                android:id="@+id/timeline_bg_end"
-                android:layout_width="wrap_content"
-                android:layout_height="match_parent"
-                android:layout_alignParentEnd="true"
-                android:layout_toEndOf="@id/buffered"
-                android:src="@color/play_controls_progress_bar_background" />
-
-        </RelativeLayout>
-
-        <FrameLayout
+            android:layout_height="@dimen/play_controls_progress_height"
+            android:layout_alignParentTop="true"
+            tv:progressDrawable="@drawable/playback_progress_bar" />
+        <TextView
             android:id="@+id/background"
             android:layout_width="match_parent"
+            android:layout_height="@dimen/play_controls_button_height"
+            android:layout_below="@id/progress"
+            android:background="@drawable/play_controls_body_background"
+            android:gravity="center"
+            android:maxLines="1"
+            android:textColor="@color/play_controls_unavailable_message_text_color"
+            android:textSize="@dimen/play_controls_unavailable_message_text_size"
+            android:fontFamily="@string/font" />
+        <TextView
+            android:id="@+id/program_start_time"
+            android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:background="@drawable/play_controls_body_background">
+            android:layout_alignParentStart="true"
+            android:layout_below="@id/progress"
+            android:layout_marginStart="@dimen/play_controls_program_time_margin_start"
+            android:layout_marginTop="@dimen/play_controls_program_time_margin_top"
+            android:maxLines="1"
+            android:textColor="@color/play_controls_rec_time_text_color"
+            android:textSize="@dimen/play_controls_rec_time_text_size"
+            android:fontFamily="@string/font" />
+        <TextView
+            android:id="@+id/program_end_time"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_alignParentEnd="true"
+            android:layout_below="@id/progress"
+            android:layout_marginEnd="@dimen/play_controls_program_time_margin_end"
+            android:layout_marginTop="@dimen/play_controls_program_time_margin_top"
+            android:maxLines="1"
+            android:textColor="@color/play_controls_rec_time_text_color"
+            android:textSize="@dimen/play_controls_rec_time_text_size"
+            android:fontFamily="@string/font" />
 
-            <TextView
-                android:id="@+id/program_start_time"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginStart="@dimen/play_controls_program_time_margin_start"
-                android:layout_marginTop="@dimen/play_controls_program_time_margin_top"
-                android:singleLine="true"
-                android:textColor="@color/play_controls_rec_time_text_color"
-                android:textSize="@dimen/play_controls_rec_time_text_size"
-                android:fontFamily="@string/font" />
-            <TextView
-                android:id="@+id/program_end_time"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginEnd="@dimen/play_controls_program_time_margin_end"
-                android:layout_marginTop="@dimen/play_controls_program_time_margin_top"
-                android:layout_gravity="end"
-                android:singleLine="true"
-                android:textColor="@color/play_controls_rec_time_text_color"
-                android:textSize="@dimen/play_controls_rec_time_text_size"
-                android:fontFamily="@string/font" />
+        <com.android.tv.menu.PlayControlsButton
+            android:id="@+id/play_pause"
+            android:layout_width="@dimen/play_controls_button_width"
+            android:layout_height="@dimen/play_controls_button_height"
+            android:layout_below="@id/progress"
+            android:layout_marginLeft="@dimen/play_controls_button_compact_margin"
+            android:layout_marginRight="@dimen/play_controls_button_compact_margin"
+            android:layout_centerHorizontal="true" />
+        <com.android.tv.menu.PlayControlsButton
+            android:id="@+id/rewind"
+            android:layout_width="@dimen/play_controls_button_width"
+            android:layout_height="@dimen/play_controls_button_height"
+            android:layout_below="@id/progress"
+            android:layout_marginLeft="@dimen/play_controls_button_compact_margin"
+            android:layout_marginRight="@dimen/play_controls_button_compact_margin"
+            android:layout_toStartOf="@id/play_pause" />
+        <com.android.tv.menu.PlayControlsButton
+            android:id="@+id/jump_previous"
+            android:layout_width="@dimen/play_controls_button_width"
+            android:layout_height="@dimen/play_controls_button_height"
+            android:layout_below="@id/progress"
+            android:layout_marginLeft="@dimen/play_controls_button_compact_margin"
+            android:layout_marginRight="@dimen/play_controls_button_compact_margin"
+            android:layout_toStartOf="@id/rewind" />
+        <com.android.tv.menu.PlayControlsButton
+            android:id="@+id/fast_forward"
+            android:layout_width="@dimen/play_controls_button_width"
+            android:layout_height="@dimen/play_controls_button_height"
+            android:layout_below="@id/progress"
+            android:layout_marginLeft="@dimen/play_controls_button_compact_margin"
+            android:layout_marginRight="@dimen/play_controls_button_compact_margin"
+            android:layout_toEndOf="@id/play_pause" />
+        <com.android.tv.menu.PlayControlsButton
+            android:id="@+id/jump_next"
+            android:layout_width="@dimen/play_controls_button_width"
+            android:layout_height="@dimen/play_controls_button_height"
+            android:layout_below="@id/progress"
+            android:layout_marginLeft="@dimen/play_controls_button_compact_margin"
+            android:layout_marginRight="@dimen/play_controls_button_compact_margin"
+            android:layout_toEndOf="@id/fast_forward" />
+        <com.android.tv.menu.PlayControlsButton
+            android:id="@+id/record"
+            android:layout_width="@dimen/play_controls_button_width"
+            android:layout_height="@dimen/play_controls_button_height"
+            android:layout_below="@id/progress"
+            android:layout_marginLeft="@dimen/play_controls_button_compact_margin"
+            android:layout_marginRight="@dimen/play_controls_button_compact_margin"
+            android:layout_toEndOf="@id/jump_next" />
+    </RelativeLayout>
 
-            <RelativeLayout
-                android:id="@+id/play_control_bar"
-                android:layout_width="match_parent"
-                android:layout_height="@dimen/play_controls_button_height">
-
-                <com.android.tv.menu.PlayControlsButton
-                    android:id="@+id/play_pause"
-                    android:layout_width="@dimen/play_controls_button_width"
-                    android:layout_height="match_parent"
-                    android:layout_marginLeft="@dimen/play_controls_button_normal_margin"
-                    android:layout_marginRight="@dimen/play_controls_button_normal_margin"
-                    android:layout_centerHorizontal="true" />
-                <com.android.tv.menu.PlayControlsButton
-                    android:id="@+id/rewind"
-                    android:layout_width="@dimen/play_controls_button_width"
-                    android:layout_height="match_parent"
-                    android:layout_marginLeft="@dimen/play_controls_button_normal_margin"
-                    android:layout_marginRight="@dimen/play_controls_button_normal_margin"
-                    android:layout_toLeftOf="@id/play_pause" />
-                <com.android.tv.menu.PlayControlsButton
-                    android:id="@+id/jump_previous"
-                    android:layout_width="@dimen/play_controls_button_width"
-                    android:layout_height="match_parent"
-                    android:layout_marginLeft="@dimen/play_controls_button_normal_margin"
-                    android:layout_marginRight="@dimen/play_controls_button_normal_margin"
-                    android:layout_toLeftOf="@id/rewind" />
-                <com.android.tv.menu.PlayControlsButton
-                    android:id="@+id/fast_forward"
-                    android:layout_width="@dimen/play_controls_button_width"
-                    android:layout_height="match_parent"
-                    android:layout_marginLeft="@dimen/play_controls_button_normal_margin"
-                    android:layout_marginRight="@dimen/play_controls_button_normal_margin"
-                    android:layout_toRightOf="@id/play_pause" />
-                <com.android.tv.menu.PlayControlsButton
-                    android:id="@+id/jump_next"
-                    android:layout_width="@dimen/play_controls_button_width"
-                    android:layout_height="match_parent"
-                    android:layout_marginLeft="@dimen/play_controls_button_normal_margin"
-                    android:layout_marginRight="@dimen/play_controls_button_normal_margin"
-                    android:layout_toRightOf="@id/fast_forward" />
-                <com.android.tv.menu.PlayControlsButton
-                    android:id="@+id/record"
-                    android:layout_width="@dimen/play_controls_button_width"
-                    android:layout_height="match_parent"
-                    android:layout_marginLeft="@dimen/play_controls_button_normal_margin"
-                    android:layout_marginRight="@dimen/play_controls_button_normal_margin"
-                    android:layout_toRightOf="@id/jump_next"
-                    android:visibility="gone" />
-
-            </RelativeLayout>
-
-            <TextView
-                android:id="@+id/unavailable_text"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_gravity="center"
-                android:singleLine="true"
-                android:textColor="@color/play_controls_unavailable_message_text_color"
-                android:textSize="@dimen/play_controls_unavailable_message_text_size"
-                android:fontFamily="@string/font"
-                android:visibility="gone"
-                android:text="@string/play_controls_unavailable" />
-        </FrameLayout>
-    </LinearLayout>
-
-    <ImageView
+    <View
         android:id="@+id/time_indicator"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
+        android:layout_width="@dimen/play_controls_time_indicator_width"
+        android:layout_height="@dimen/play_controls_time_indicator_height"
         android:layout_marginTop="@dimen/play_controls_time_indicator_top_margin"
         android:layout_alignTop="@id/body"
         android:layout_alignStart="@id/body"
         android:background="@drawable/play_controls_time_indicator"
-        android:visibility="invisible"
         android:elevation="1dp" />
 </RelativeLayout>
diff --git a/res/layout/select_input_item.xml b/res/layout/select_input_item.xml
index 1ff6df2..12fedca 100644
--- a/res/layout/select_input_item.xml
+++ b/res/layout/select_input_item.xml
@@ -28,6 +28,7 @@
     <TextView android:id="@+id/input_label"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
+        android:maxWidth="@dimen/input_banner_item_label_max_width"
         android:fontFamily="@string/condensed_font"
         android:singleLine="true"
         android:ellipsize="end"
@@ -37,6 +38,7 @@
         android:layout_marginStart="16dp"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
+        android:maxWidth="@dimen/input_banner_item_label_max_width"
         android:fontFamily="@string/condensed_font"
         android:singleLine="true"
         android:ellipsize="end"
diff --git a/res/layout/tunable_tv_view.xml b/res/layout/tunable_tv_view.xml
index e02fb89..00c9908 100644
--- a/res/layout/tunable_tv_view.xml
+++ b/res/layout/tunable_tv_view.xml
@@ -16,15 +16,14 @@
   -->
 
 <merge xmlns:android="http://schemas.android.com/apk/res/android" >
-    <View
-        android:id="@+id/block_screen_for_tune"
-        android:visibility="gone"
+
+    <com.android.tv.ui.AppLayerTvView android:id="@+id/tv_view"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
-        android:background="@android:color/black" />
+        android:layout_gravity="start|center_vertical" />
 
     <include layout="@layout/block_screen"
-        android:id="@+id/hide_screen" />
+        android:id="@+id/block_screen" />
 
     <ProgressBar
         android:id="@+id/buffering_spinner"
@@ -34,11 +33,8 @@
         android:background="@android:color/transparent"
         android:layout_gravity="center" />
 
-    <include layout="@layout/block_screen"
-        android:id="@+id/block_screen" />
-
     <View
-        android:id="@+id/dim"
+        android:id="@+id/dim_screen"
         android:visibility="gone"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
diff --git a/res/raw/third_party_license_metadata b/res/raw/third_party_license_metadata
new file mode 100755
index 0000000..4a31b62
--- /dev/null
+++ b/res/raw/third_party_license_metadata
@@ -0,0 +1,21 @@
+19:1096 Animal Sniffer
+1140:11358 Apache Commons Codec
+12514:11357 Error Prone
+23885:11358 ExoPlayer
+35266:11358 FasterXML Jackson2
+46640:11358 Google Auto
+58013:11358 Guava JDK5
+69386:11362 Guava JDK7
+80759:11358 J2ObjC
+92129:11358 JSR 250
+103498:11358 OkHttp
+114865:11358 Okio
+126232:10402 gRPC
+136654:11358 instrumentation
+148036:1473 Auth client library
+149521:1602 JSR 305
+151136:1732 Protobuf
+152886:1732 Protobuf Nano
+154631:1561 minijail
+156203:26427 ffmpeg
+182640:19442 icu4j
diff --git a/res/raw/third_party_licenses b/res/raw/third_party_licenses
new file mode 100755
index 0000000..96227dc
--- /dev/null
+++ b/res/raw/third_party_licenses
@@ -0,0 +1,3751 @@
+
+
+Animal Sniffer:
+
+The MIT License
+
+Copyright (c) 2008 Kohsuke Kawaguchi and codehaus.org.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+
+Apache Commons Codec:
+
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   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.
+
+
+Error Prone:
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   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.
+
+
+ExoPlayer:
+
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   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.
+
+
+FasterXML Jackson2:
+
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   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.
+
+
+Google Auto:
+
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   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.
+
+
+Guava JDK5:
+
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   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.
+
+
+Guava JDK7:
+
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   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.
+   
+
+
+J2ObjC:
+
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   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.
+
+
+JSR 250:
+
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   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.
+
+
+OkHttp:
+
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   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.
+
+
+Okio:
+
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   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.
+
+
+gRPC:
+
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        https://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for any such Derivative Works as a whole, provided Your use,
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   Copyright 2015-2017 gRPC authors.
+
+   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
+
+       https://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.
+
+
+instrumentation:
+
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   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.
+
+
+Auth client library:
+
+Copyright 2014, Google Inc. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+   * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+   * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+
+   * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+JSR 305:
+
+Copyright (c) 2007-2009, JSR305 expert group
+All rights reserved.
+
+http://www.opensource.org/licenses/bsd-license.php
+
+Redistribution and use in source and binary forms, with or without 
+modification, are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright notice, 
+      this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright notice, 
+      this list of conditions and the following disclaimer in the documentation 
+      and/or other materials provided with the distribution.
+    * Neither the name of the JSR305 expert group nor the names of its 
+      contributors may be used to endorse or promote products derived from 
+      this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+POSSIBILITY OF SUCH DAMAGE.
+
+
+Protobuf:
+
+Copyright 2008, Google Inc.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+    * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+    * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Code generated by the Protocol Buffer compiler is owned by the owner
+of the input file used when generating it.  This code is not
+standalone and requires a support library to be linked with it.  This
+support library is itself covered by the above license.
+
+
+Protobuf Nano:
+
+Copyright 2008, Google Inc.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+    * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+    * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Code generated by the Protocol Buffer compiler is owned by the owner
+of the input file used when generating it.  This code is not
+standalone and requires a support library to be linked with it.  This
+support library is itself covered by the above license.
+
+
+minijail:
+
+// Copyright 2014 The Chromium OS Authors. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+//    * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+//    * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+//    * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ffmpeg:
+
+		  GNU LESSER GENERAL PUBLIC LICENSE
+		       Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+     51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL.  It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+  This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it.  You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+  When we speak of free software, we are referring to freedom of use,
+not price.  Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+  To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights.  These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+  For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.
+
+  We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+  To protect each distributor, we want to make it very clear that
+there is no warranty for the free library.  Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+  Finally, software patents pose a constant threat to the existence of
+any free program.  We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder.  Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+  Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License.  This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License.  We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+  When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library.  The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom.  The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+  We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License.  It also provides other free software developers Less
+of an advantage over competing non-free programs.  These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries.  However, the Lesser license provides advantages in certain
+special circumstances.
+
+  For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard.  To achieve this, non-free programs must be
+allowed to use the library.  A more frequent case is that a free
+library does the same job as widely used non-free libraries.  In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+  In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software.  For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+  Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+		  GNU LESSER GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+  A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+  The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+  "Source code" for a work means the preferred form of the work for
+making modifications to it.  For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+  Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it).  Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+  1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+  You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+  2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) The modified work must itself be a software library.
+
+    b) You must cause the files modified to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    c) You must cause the whole of the work to be licensed at no
+    charge to all third parties under the terms of this License.
+
+    d) If a facility in the modified Library refers to a function or a
+    table of data to be supplied by an application program that uses
+    the facility, other than as an argument passed when the facility
+    is invoked, then you must make a good faith effort to ensure that,
+    in the event an application does not supply such function or
+    table, the facility still operates, and performs whatever part of
+    its purpose remains meaningful.
+
+    (For example, a function in a library to compute square roots has
+    a purpose that is entirely well-defined independent of the
+    application.  Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must
+    be optional: if the application does not supply it, the square
+    root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.
+
+  Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+  This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+  4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+  If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+  However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+  When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.
+
+  If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+  Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+  6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+  You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:
+
+    a) Accompany the work with the complete corresponding
+    machine-readable source code for the Library including whatever
+    changes were used in the work (which must be distributed under
+    Sections 1 and 2 above); and, if the work is an executable linked
+    with the Library, with the complete machine-readable "work that
+    uses the Library", as object code and/or source code, so that the
+    user can modify the Library and then relink to produce a modified
+    executable containing the modified Library.  (It is understood
+    that the user who changes the contents of definitions files in the
+    Library will not necessarily be able to recompile the application
+    to use the modified definitions.)
+
+    b) Use a suitable shared library mechanism for linking with the
+    Library.  A suitable mechanism is one that (1) uses at run time a
+    copy of the library already present on the user's computer system,
+    rather than copying library functions into the executable, and (2)
+    will operate properly with a modified version of the library, if
+    the user installs one, as long as the modified version is
+    interface-compatible with the version that the work was made with.
+
+    c) Accompany the work with a written offer, valid for at
+    least three years, to give the same user the materials
+    specified in Subsection 6a, above, for a charge no more
+    than the cost of performing this distribution.
+
+    d) If distribution of the work is made by offering access to copy
+    from a designated place, offer equivalent access to copy the above
+    specified materials from the same place.
+
+    e) Verify that the user has already received a copy of these
+    materials or that you have already sent this user a copy.
+
+  For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+  It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+  7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+    a) Accompany the combined library with a copy of the same work
+    based on the Library, uncombined with any other library
+    facilities.  This must be distributed under the terms of the
+    Sections above.
+
+    b) Give prominent notice with the combined library of the fact
+    that part of it is a work based on the Library, and explaining
+    where to find the accompanying uncombined form of the same work.
+
+  8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License.  However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+  9. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+  10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+  11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded.  In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+  13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation.  If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+  14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission.  For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this.  Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+			    NO WARRANTY
+
+  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+
+           How to Apply These Terms to Your New Libraries
+
+  If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change.  You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+  To apply these terms, attach the following notices to the library.  It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the library's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this library; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the
+  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+  <signature of Ty Coon>, 1 April 1990
+  Ty Coon, President of Vice
+
+That's all there is to it!
+
+
+
+icu4j:
+
+COPYRIGHT AND PERMISSION NOTICE (ICU 58 and later)
+
+Copyright © 1991-2016 Unicode, Inc. All rights reserved.
+Distributed under the Terms of Use in http://www.unicode.org/copyright.html
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Unicode data files and any associated documentation
+(the "Data Files") or Unicode software and any associated documentation
+(the "Software") to deal in the Data Files or Software
+without restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, and/or sell copies of
+the Data Files or Software, and to permit persons to whom the Data Files
+or Software are furnished to do so, provided that either
+(a) this copyright and permission notice appear with all copies
+of the Data Files or Software, or
+(b) this copyright and permission notice appear in associated
+Documentation.
+
+THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
+ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT OF THIRD PARTY RIGHTS.
+IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
+NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
+DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THE DATA FILES OR SOFTWARE.
+
+Except as contained in this notice, the name of a copyright holder
+shall not be used in advertising or otherwise to promote the sale,
+use or other dealings in these Data Files or Software without prior
+written authorization of the copyright holder.
+
+---------------------
+
+Third-Party Software Licenses
+
+This section contains third-party software notices and/or additional
+terms for licensed third-party software components included within ICU
+libraries.
+
+1. ICU License - ICU 1.8.1 to ICU 57.1
+
+COPYRIGHT AND PERMISSION NOTICE
+
+Copyright (c) 1995-2016 International Business Machines Corporation and others
+All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, and/or sell copies of the Software, and to permit persons
+to whom the Software is furnished to do so, provided that the above
+copyright notice(s) and this permission notice appear in all copies of
+the Software and that both the above copyright notice(s) and this
+permission notice appear in supporting documentation.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY
+SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER
+RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+Except as contained in this notice, the name of a copyright holder
+shall not be used in advertising or otherwise to promote the sale, use
+or other dealings in this Software without prior written authorization
+of the copyright holder.
+
+All trademarks and registered trademarks mentioned herein are the
+property of their respective owners.
+
+2. Chinese/Japanese Word Break Dictionary Data (cjdict.txt)
+
+ #     The Google Chrome software developed by Google is licensed under
+ # the BSD license. Other software included in this distribution is
+ # provided under other licenses, as set forth below.
+ #
+ #  The BSD License
+ #  http://opensource.org/licenses/bsd-license.php
+ #  Copyright (C) 2006-2008, Google Inc.
+ #
+ #  All rights reserved.
+ #
+ #  Redistribution and use in source and binary forms, with or without
+ # modification, are permitted provided that the following conditions are met:
+ #
+ #  Redistributions of source code must retain the above copyright notice,
+ # this list of conditions and the following disclaimer.
+ #  Redistributions in binary form must reproduce the above
+ # copyright notice, this list of conditions and the following
+ # disclaimer in the documentation and/or other materials provided with
+ # the distribution.
+ #  Neither the name of  Google Inc. nor the names of its
+ # contributors may be used to endorse or promote products derived from
+ # this software without specific prior written permission.
+ #
+ #
+ #  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+ # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ #
+ #
+ #  The word list in cjdict.txt are generated by combining three word lists
+ # listed below with further processing for compound word breaking. The
+ # frequency is generated with an iterative training against Google web
+ # corpora.
+ #
+ #  * Libtabe (Chinese)
+ #    - https://sourceforge.net/project/?group_id=1519
+ #    - Its license terms and conditions are shown below.
+ #
+ #  * IPADIC (Japanese)
+ #    - http://chasen.aist-nara.ac.jp/chasen/distribution.html
+ #    - Its license terms and conditions are shown below.
+ #
+ #  ---------COPYING.libtabe ---- BEGIN--------------------
+ #
+ #  /*
+ #   * Copyrighy (c) 1999 TaBE Project.
+ #   * Copyright (c) 1999 Pai-Hsiang Hsiao.
+ #   * All rights reserved.
+ #   *
+ #   * Redistribution and use in source and binary forms, with or without
+ #   * modification, are permitted provided that the following conditions
+ #   * are met:
+ #   *
+ #   * . Redistributions of source code must retain the above copyright
+ #   *   notice, this list of conditions and the following disclaimer.
+ #   * . Redistributions in binary form must reproduce the above copyright
+ #   *   notice, this list of conditions and the following disclaimer in
+ #   *   the documentation and/or other materials provided with the
+ #   *   distribution.
+ #   * . Neither the name of the TaBE Project nor the names of its
+ #   *   contributors may be used to endorse or promote products derived
+ #   *   from this software without specific prior written permission.
+ #   *
+ #   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ #   * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ #   * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ #   * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ #   * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ #   * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ #   * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ #   * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ #   * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ #   * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ #   * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ #   * OF THE POSSIBILITY OF SUCH DAMAGE.
+ #   */
+ #
+ #  /*
+ #   * Copyright (c) 1999 Computer Systems and Communication Lab,
+ #   *                    Institute of Information Science, Academia
+ #       *                    Sinica. All rights reserved.
+ #   *
+ #   * Redistribution and use in source and binary forms, with or without
+ #   * modification, are permitted provided that the following conditions
+ #   * are met:
+ #   *
+ #   * . Redistributions of source code must retain the above copyright
+ #   *   notice, this list of conditions and the following disclaimer.
+ #   * . Redistributions in binary form must reproduce the above copyright
+ #   *   notice, this list of conditions and the following disclaimer in
+ #   *   the documentation and/or other materials provided with the
+ #   *   distribution.
+ #   * . Neither the name of the Computer Systems and Communication Lab
+ #   *   nor the names of its contributors may be used to endorse or
+ #   *   promote products derived from this software without specific
+ #   *   prior written permission.
+ #   *
+ #   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ #   * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ #   * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ #   * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ #   * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ #   * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ #   * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ #   * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ #   * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ #   * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ #   * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ #   * OF THE POSSIBILITY OF SUCH DAMAGE.
+ #   */
+ #
+ #  Copyright 1996 Chih-Hao Tsai @ Beckman Institute,
+ #      University of Illinois
+ #  c-tsai4@uiuc.edu  http://casper.beckman.uiuc.edu/~c-tsai4
+ #
+ #  ---------------COPYING.libtabe-----END--------------------------------
+ #
+ #
+ #  ---------------COPYING.ipadic-----BEGIN-------------------------------
+ #
+ #  Copyright 2000, 2001, 2002, 2003 Nara Institute of Science
+ #  and Technology.  All Rights Reserved.
+ #
+ #  Use, reproduction, and distribution of this software is permitted.
+ #  Any copy of this software, whether in its original form or modified,
+ #  must include both the above copyright notice and the following
+ #  paragraphs.
+ #
+ #  Nara Institute of Science and Technology (NAIST),
+ #  the copyright holders, disclaims all warranties with regard to this
+ #  software, including all implied warranties of merchantability and
+ #  fitness, in no event shall NAIST be liable for
+ #  any special, indirect or consequential damages or any damages
+ #  whatsoever resulting from loss of use, data or profits, whether in an
+ #  action of contract, negligence or other tortuous action, arising out
+ #  of or in connection with the use or performance of this software.
+ #
+ #  A large portion of the dictionary entries
+ #  originate from ICOT Free Software.  The following conditions for ICOT
+ #  Free Software applies to the current dictionary as well.
+ #
+ #  Each User may also freely distribute the Program, whether in its
+ #  original form or modified, to any third party or parties, PROVIDED
+ #  that the provisions of Section 3 ("NO WARRANTY") will ALWAYS appear
+ #  on, or be attached to, the Program, which is distributed substantially
+ #  in the same form as set out herein and that such intended
+ #  distribution, if actually made, will neither violate or otherwise
+ #  contravene any of the laws and regulations of the countries having
+ #  jurisdiction over the User or the intended distribution itself.
+ #
+ #  NO WARRANTY
+ #
+ #  The program was produced on an experimental basis in the course of the
+ #  research and development conducted during the project and is provided
+ #  to users as so produced on an experimental basis.  Accordingly, the
+ #  program is provided without any warranty whatsoever, whether express,
+ #  implied, statutory or otherwise.  The term "warranty" used herein
+ #  includes, but is not limited to, any warranty of the quality,
+ #  performance, merchantability and fitness for a particular purpose of
+ #  the program and the nonexistence of any infringement or violation of
+ #  any right of any third party.
+ #
+ #  Each user of the program will agree and understand, and be deemed to
+ #  have agreed and understood, that there is no warranty whatsoever for
+ #  the program and, accordingly, the entire risk arising from or
+ #  otherwise connected with the program is assumed by the user.
+ #
+ #  Therefore, neither ICOT, the copyright holder, or any other
+ #  organization that participated in or was otherwise related to the
+ #  development of the program and their respective officials, directors,
+ #  officers and other employees shall be held liable for any and all
+ #  damages, including, without limitation, general, special, incidental
+ #  and consequential damages, arising out of or otherwise in connection
+ #  with the use or inability to use the program or any product, material
+ #  or result produced or otherwise obtained by using the program,
+ #  regardless of whether they have been advised of, or otherwise had
+ #  knowledge of, the possibility of such damages at any time during the
+ #  project or thereafter.  Each user will be deemed to have agreed to the
+ #  foregoing by his or her commencement of use of the program.  The term
+ #  "use" as used herein includes, but is not limited to, the use,
+ #  modification, copying and distribution of the program and the
+ #  production of secondary products from the program.
+ #
+ #  In the case where the program, whether in its original form or
+ #  modified, was distributed or delivered to or received by a user from
+ #  any person, organization or entity other than ICOT, unless it makes or
+ #  grants independently of ICOT any specific warranty to the user in
+ #  writing, such person, organization or entity, will also be exempted
+ #  from and not be held liable to the user for any such damages as noted
+ #  above as far as the program is concerned.
+ #
+ #  ---------------COPYING.ipadic-----END----------------------------------
+
+3. Lao Word Break Dictionary Data (laodict.txt)
+
+ #  Copyright (c) 2013 International Business Machines Corporation
+ #  and others. All Rights Reserved.
+ #
+ # Project: http://code.google.com/p/lao-dictionary/
+ # Dictionary: http://lao-dictionary.googlecode.com/git/Lao-Dictionary.txt
+ # License: http://lao-dictionary.googlecode.com/git/Lao-Dictionary-LICENSE.txt
+ #              (copied below)
+ #
+ #  This file is derived from the above dictionary, with slight
+ #  modifications.
+ #  ----------------------------------------------------------------------
+ #  Copyright (C) 2013 Brian Eugene Wilson, Robert Martin Campbell.
+ #  All rights reserved.
+ #
+ #  Redistribution and use in source and binary forms, with or without
+ #  modification,
+ #  are permitted provided that the following conditions are met:
+ #
+ #
+ # Redistributions of source code must retain the above copyright notice, this
+ #  list of conditions and the following disclaimer. Redistributions in
+ #  binary form must reproduce the above copyright notice, this list of
+ #  conditions and the following disclaimer in the documentation and/or
+ #  other materials provided with the distribution.
+ #
+ #
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ # OF THE POSSIBILITY OF SUCH DAMAGE.
+ #  --------------------------------------------------------------------------
+
+4. Burmese Word Break Dictionary Data (burmesedict.txt)
+
+ #  Copyright (c) 2014 International Business Machines Corporation
+ #  and others. All Rights Reserved.
+ #
+ #  This list is part of a project hosted at:
+ #    github.com/kanyawtech/myanmar-karen-word-lists
+ #
+ #  --------------------------------------------------------------------------
+ #  Copyright (c) 2013, LeRoy Benjamin Sharon
+ #  All rights reserved.
+ #
+ #  Redistribution and use in source and binary forms, with or without
+ #  modification, are permitted provided that the following conditions
+ #  are met: Redistributions of source code must retain the above
+ #  copyright notice, this list of conditions and the following
+ #  disclaimer.  Redistributions in binary form must reproduce the
+ #  above copyright notice, this list of conditions and the following
+ #  disclaimer in the documentation and/or other materials provided
+ #  with the distribution.
+ #
+ #    Neither the name Myanmar Karen Word Lists, nor the names of its
+ #    contributors may be used to endorse or promote products derived
+ #    from this software without specific prior written permission.
+ #
+ #  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+ #  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ #  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ #  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ #  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
+ #  BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ #  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ #  TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ #  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ #  ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
+ #  TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
+ #  THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ #  SUCH DAMAGE.
+ #  --------------------------------------------------------------------------
+
+5. Time Zone Database
+
+  ICU uses the public domain data and code derived from Time Zone
+Database for its time zone support. The ownership of the TZ database
+is explained in BCP 175: Procedure for Maintaining the Time Zone
+Database section 7.
+
+ # 7.  Database Ownership
+ #
+ #    The TZ database itself is not an IETF Contribution or an IETF
+ #    document.  Rather it is a pre-existing and regularly updated work
+ #    that is in the public domain, and is intended to remain in the
+ #    public domain.  Therefore, BCPs 78 [RFC5378] and 79 [RFC3979] do
+ #    not apply to the TZ Database or contributions that individuals make
+ #    to it.  Should any claims be made and substantiated against the TZ
+ #    Database, the organization that is providing the IANA
+ #    Considerations defined in this RFC, under the memorandum of
+ #    understanding with the IETF, currently ICANN, may act in accordance
+ #    with all competent court orders.  No ownership claims will be made
+ #    by ICANN or the IETF Trust on the database or the code.  Any person
+ #    making a contribution to the database or code waives all rights to
+ #    future claims in that contribution or in the TZ Database.
diff --git a/res/transition/dvr_details_shared_element_enter_transition.xml b/res/transition/dvr_details_shared_element_enter_transition.xml
new file mode 100644
index 0000000..d3fc065
--- /dev/null
+++ b/res/transition/dvr_details_shared_element_enter_transition.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+     Copyright (C) 2016 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.
+-->
+
+<transitionSet xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tv="http://schemas.android.com/apk/res-auto">
+    <transition class="com.android.tv.dvr.ui.FadeBackground"
+        android:interpolator="@android:interpolator/linear_out_slow_in"
+        android:duration="500"
+        tv:fadingMode="fade_in">
+        <targets>
+            <target android:targetId="@id/details_frame" />
+            <target android:targetId="@id/details_overview_image" />
+            <target android:targetId="@id/details_overview_right_panel" />
+        </targets>
+    </transition>
+    <!-- The followings are copied from lb_shared_element_enter_transiton.xml -->
+    <fade
+        android:fadingMode="fade_in"
+        android:interpolator="@android:interpolator/linear_out_slow_in"
+        android:startDelay="325"
+        android:duration="150"/>
+    <changeBounds
+        android:interpolator="@android:interpolator/linear_out_slow_in"
+        android:duration="500"/>
+    <changeTransform
+        android:interpolator="@android:interpolator/linear_out_slow_in"
+        android:duration="500"/>
+    <!-- TODO: Change this to changeImageTransform once b/32405620 is fixed. -->
+    <transition class="com.android.tv.dvr.ui.ChangeImageTransformWithScaledParent"
+        android:interpolator="@android:interpolator/linear_out_slow_in"
+        android:duration="500"/>
+</transitionSet>
\ No newline at end of file
diff --git a/res/transition/dvr_details_shared_element_return_transition.xml b/res/transition/dvr_details_shared_element_return_transition.xml
new file mode 100644
index 0000000..ceabca4
--- /dev/null
+++ b/res/transition/dvr_details_shared_element_return_transition.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+     Copyright (C) 2016 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.
+-->
+
+<transitionSet xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tv="http://schemas.android.com/apk/res-auto">
+    <transition class="com.android.tv.dvr.ui.FadeBackground"
+        android:interpolator="@android:interpolator/linear_out_slow_in"
+        android:duration="325"
+        tv:fadingMode="fade_out">
+        <targets>
+            <target android:targetId="@id/details_frame" />
+            <target android:targetId="@id/details_overview_image" />
+            <target android:targetId="@id/details_overview_right_panel" />
+        </targets>
+    </transition>
+    <!-- The followings are copied from lb_shared_element_return_transiton.xml -->
+    <fade
+        android:fadingMode="fade_out"
+        android:interpolator="@android:interpolator/linear_out_slow_in"
+        android:duration="75"/>
+    <changeBounds
+        android:interpolator="@android:interpolator/linear_out_slow_in"
+        android:duration="325"/>
+    <changeTransform
+        android:interpolator="@android:interpolator/linear_out_slow_in"
+        android:duration="325"/>
+    <!-- TODO: Change this to changeImageTransofrm once b/32405620 is fixed. -->
+    <transition class="com.android.tv.dvr.ui.ChangeImageTransformWithScaledParent"
+        android:interpolator="@android:interpolator/linear_out_slow_in"
+        android:duration="325"/>
+</transitionSet>
\ No newline at end of file
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 7778e75..24d484d 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -20,9 +20,8 @@
     <string name="audio_channel_mono" msgid="8812941280022167428">"mono"</string>
     <string name="audio_channel_stereo" msgid="5798223286366598036">"stereo"</string>
     <string name="menu_title_play_controls" msgid="2490237359425190652">"Speelkontroles"</string>
-    <string name="menu_title_channels" msgid="1801845517674690003">"Onlangse kanale"</string>
+    <string name="menu_title_channels" msgid="1949045451672990132">"Kanale"</string>
     <string name="menu_title_options" msgid="7184594626814914022">"TV-opsies"</string>
-    <string name="menu_title_pip_options" msgid="4252934960762407689">"PIP-opsies"</string>
     <string name="play_controls_unavailable" msgid="8900698593131693148">"Speelkontroles onbeskikbaar vir hierdie kanaal"</string>
     <string name="play_controls_description_play_pause" msgid="7225542861669250558">"Speel of laat wag"</string>
     <string name="play_controls_description_fast_forward" msgid="4414963867482448652">"Vinnig vorentoe"</string>
@@ -35,33 +34,15 @@
     <string name="options_item_closed_caption" msgid="5945274655046367170">"Onderskrifte"</string>
     <string name="options_item_display_mode" msgid="7989243076748680140">"Vertoonmodus"</string>
     <string name="options_item_pip" msgid="3951350386626879645">"PIP"</string>
-    <string name="options_item_pip_on" msgid="4647247480009077381">"Aan"</string>
-    <string name="options_item_pip_off" msgid="8799500161592387451">"Af"</string>
     <string name="options_item_multi_audio" msgid="5118851311937896923">"Multi-oudio"</string>
     <string name="options_item_more_channels" msgid="971040969622943300">"Kry meer kanale"</string>
     <string name="options_item_settings" msgid="7623205838542400074">"Instellings"</string>
-    <string name="pip_options_item_source" msgid="1050948525825308652">"Bron"</string>
-    <string name="pip_options_item_swap" msgid="7245362207353732048">"Ruil"</string>
-    <string name="pip_options_item_swap_on" msgid="5647182616484983505">"Aan"</string>
-    <string name="pip_options_item_swap_off" msgid="3023597229417709768">"Af"</string>
-    <string name="pip_options_item_sound" msgid="3107034283791231648">"Klank"</string>
-    <string name="pip_options_item_sound_main" msgid="1063937534112558691">"Hoof"</string>
-    <string name="pip_options_item_sound_pip_window" msgid="435064142351853008">"PIP-venster"</string>
-    <string name="pip_options_item_layout" msgid="5126206342060967651">"Uitleg"</string>
-    <string name="pip_options_item_layout_bottom_right" msgid="5256839015192920238">"Regs onder"</string>
-    <string name="pip_options_item_layout_top_right" msgid="3585067214787055279">"Regs bo"</string>
-    <string name="pip_options_item_layout_top_left" msgid="2173997010201637462">"Links bo"</string>
-    <string name="pip_options_item_layout_bottom_left" msgid="1727197877968915329">"Links onder"</string>
-    <string name="pip_options_item_layout_side_by_side" msgid="9009784972740915779">"Langs mekaar"</string>
-    <string name="pip_options_item_size" msgid="5662894110243750158">"Grootte"</string>
-    <string name="pip_options_item_size_big" msgid="6303301565563444718">"Groot"</string>
-    <string name="pip_options_item_size_small" msgid="7393731186585004206">"Klein"</string>
-    <string name="side_panel_title_pip_input_source" msgid="8722544967592970296">"Invoerbron"</string>
     <string name="input_long_label_for_tuner" msgid="3423514011918382209">"TV (antenna/kabel)"</string>
     <string name="no_program_information" msgid="1049844207745145132">"Geen programinligting nie"</string>
     <string name="program_title_for_no_information" msgid="384451471906070101">"Geen inligting nie"</string>
     <string name="program_title_for_blocked_channel" msgid="5358005891746983819">"Geblokkeerde kanaal"</string>
-    <string name="default_language" msgid="4122326459624337928">"Onbekende taal"</string>
+    <string name="multi_audio_unknown_language" msgid="8639884627225598143">"Onbekende taal"</string>
+    <string name="closed_caption_unknown_language" msgid="4745445516930229353">"Onderskrifte %1$d"</string>
     <string name="side_panel_title_closed_caption" msgid="2513905054082568780">"Onderskrifte"</string>
     <string name="closed_caption_option_item_off" msgid="4824009036785647753">"Af"</string>
     <string name="closed_caption_system_settings" msgid="1856974607743827178">"Pasmaak formatering"</string>
@@ -83,6 +64,7 @@
     <string name="edit_channels_group_divider_for_sd" msgid="5846195382266436167">"SD"</string>
     <string name="side_panel_title_group_by" msgid="1783176601425788939">"Groepeer volgens"</string>
     <string name="program_guide_content_locked" msgid="198056836554559553">"Hierdie program word geblokkeer"</string>
+    <string name="program_guide_content_locked_unrated" msgid="8665707501827594275">"Hierdie program is ongegradeer"</string>
     <string name="program_guide_content_locked_format" msgid="514915272862967389">"Hierdie program is <xliff:g id="RATING">%1$s</xliff:g> gegradeer"</string>
     <string name="msg_no_setup_activity" msgid="7746893144640239857">"Die invoer steun nie outoskandering nie"</string>
     <string name="msg_unable_to_start_setup_activity" msgid="8402612466599977855">"Kan nie outoskandeer vir \'<xliff:g id="TV_INPUT">%s</xliff:g>\' begin nie"</string>
@@ -92,7 +74,6 @@
       <item quantity="one">%1$d kanaal is bygevoeg</item>
     </plurals>
     <string name="msg_no_channel_added" msgid="2882586037409921925">"Geen kanale bygevoeg nie"</string>
-    <string name="input_selector_tuner_label" msgid="6631205039926880892">"Ontvanger"</string>
     <string name="menu_parental_controls" msgid="2474294054521345840">"Ouerkontroles"</string>
     <string name="option_toggle_parental_controls_on" msgid="9122851821454622696">"Aan"</string>
     <string name="option_toggle_parental_controls_off" msgid="7797910199040440618">"Af"</string>
@@ -108,6 +89,8 @@
     <string name="other_countries" msgid="8342216398676184749">"Ander lande"</string>
     <string name="option_no_locked_channel" msgid="2543094883927978444">"Geen"</string>
     <string name="option_no_enabled_rating_system" msgid="4139765018454678381">"Geen"</string>
+    <string name="unrated_rating_name" msgid="1387302638048393814">"Ongegradeer"</string>
+    <string name="option_block_unrated_programs" msgid="1108474218158184706">"Keer ongegradeerde programme"</string>
     <string name="option_rating_none" msgid="5204552587760414879">"Geen"</string>
     <string name="option_rating_high" msgid="8898400296730158893">"Hoë beperkings"</string>
     <string name="option_rating_medium" msgid="6455853836426497151">"Mediumbeperkings"</string>
@@ -124,6 +107,7 @@
     <string name="pin_enter_unlock_channel" msgid="4797922378296393173">"Voer jou PIN in om hierdie kanaal te kyk"</string>
     <string name="pin_enter_unlock_program" msgid="7311628843209871203">"Voer jou PIN in om hierdie program te kyk"</string>
     <string name="pin_enter_unlock_dvr" msgid="1637468108723176684">"Hierdie program is <xliff:g id="RATING">%1$s</xliff:g> gegradeer. Voer jou PIN in om hierdie program te kyk"</string>
+    <string name="pin_enter_unlock_dvr_unrated" msgid="3911986002480028829">"Hierdie program is ongegradeer. Voer jou PIN in om hierdie program te kyk"</string>
     <string name="pin_enter_pin" msgid="249314665028035038">"Voer jou PIN in"</string>
     <string name="pin_enter_create_pin" msgid="3385754356793309946">"Skep \'n PIN om ouerkontroles op te stel"</string>
     <string name="pin_enter_new_pin" msgid="1739471585849790384">"Voer nuwe PIN in"</string>
@@ -135,22 +119,31 @@
     </plurals>
     <string name="pin_toast_wrong" msgid="2126295626095048746">"Die PIN is verkeerd. Probeer weer."</string>
     <string name="pin_toast_not_match" msgid="4283624338659521768">"Probeer weer. PIN stem nie ooreen nie"</string>
+    <string name="postal_code_guidance_title" msgid="4144793072363879833">"Voer jou poskode in."</string>
+    <string name="postal_code_guidance_description" msgid="4224511147377561572">"Regstreekse kanale-program sal die poskode gebruik om \'n volledige programgids vir die TV-kanale te voorsien."</string>
+    <string name="postal_code_action_description" msgid="4428720607051109105">"Voer jou poskode in"</string>
+    <string name="postal_code_invalid_warning" msgid="923373584458340746">"Ongeldige poskode"</string>
     <string name="side_panel_title_settings" msgid="8244327316510918755">"Instellings"</string>
     <string name="settings_channel_source_item_customize_channels" msgid="6115770679732624593">"Pasmaak kanaallys"</string>
     <string name="settings_channel_source_item_customize_channels_description" msgid="8966243790328235580">"Kies kanale vir jou programgids"</string>
     <string name="settings_channel_source_item_setup" msgid="4566190088656419070">"Kanaalbronne"</string>
     <string name="settings_channel_source_item_setup_new_inputs" msgid="4845822152617430787">"Nuwe kanale beskikbaar"</string>
     <string name="settings_parental_controls" msgid="5449397921700749317">"Ouerkontroles"</string>
+    <string name="settings_trickplay" msgid="7762730842781251582">"Tydskuif"</string>
+    <string name="settings_trickplay_description" msgid="3060323976172182519">"Neem op terwyl jy kyk sodat jy regstreekse programme kan onderbreek of terugspeel.\nWaarskuwing: Dit kan die lewe van die interne berging deur die intensiewe gebruik van die berging verkort."</string>
     <string name="settings_menu_licenses" msgid="1257646083838406103">"Oopbronlisensies"</string>
-    <string name="dialog_title_licenses" msgid="4471754920475076623">"Oopbronlisensies"</string>
+    <string name="settings_send_feedback" msgid="6897217561193701829">"Stuur terugvoer"</string>
     <string name="settings_menu_version" msgid="2604030372029921403">"Weergawe"</string>
     <string name="tvview_channel_locked" msgid="6486375335718400728">"Druk Regs en voer jou PIN in om hierdie kanaal te kyk"</string>
     <string name="tvview_content_locked" msgid="391823084917017730">"Druk Regs en voer jou PIN in om hierdie program te kyk"</string>
+    <string name="tvview_content_locked_unrated" msgid="2273799245001356782">"Hierdie program is ongegradeer.\nDruk Regs en voer jou PIN in om hierdie program te kyk"</string>
     <string name="tvview_content_locked_format" msgid="3741874636031338247">"Hierdie program is <xliff:g id="RATING">%1$s</xliff:g> gegradeer.\nDruk Regs en voer jou PIN in om hierdie program te kyk."</string>
     <string name="tvview_channel_locked_no_permission" msgid="677653135227590620">"Gebruik die verstekprogram vir Regstreekse TV om hierdie kanaal te kyk."</string>
     <string name="tvview_content_locked_no_permission" msgid="2279126235895507764">"Gebruik die verstekprogram vir Regstreekse TV om hierdie program te kyk."</string>
+    <string name="tvview_content_locked_unrated_no_permission" msgid="4056090982858455110">"Hierdie program is ongegradeer.\nGebruik die verstekprogram vir Regstreekse TV om hierdie program te kyk."</string>
     <string name="tvview_content_locked_format_no_permission" msgid="5690794624572767106">"Hierdie program is <xliff:g id="RATING">%1$s</xliff:g> gegradeer.\nGebruik die verstekprogram vir Regstreekse TV om hierdie kanaal te kyk."</string>
     <string name="shrunken_tvview_content_locked" msgid="7686397981042364446">"Program is geblokkeer"</string>
+    <string name="shrunken_tvview_content_locked_unrated" msgid="4586881678635960742">"Hierdie program is ongegradeer"</string>
     <string name="shrunken_tvview_content_locked_format" msgid="3720284198877900916">"Hierdie program is <xliff:g id="RATING">%1$s</xliff:g> gegradeer"</string>
     <string name="tvview_msg_audio_only" msgid="1356866203687173329">"Net oudio"</string>
     <string name="tvview_msg_weak_signal" msgid="1095050812622908976">"Swak sein"</string>
@@ -181,8 +174,6 @@
     <string name="intro_description" msgid="7806473686446937307"><b>"Druk KIES"</b>" om na die TV-kieslys te gaan."</string>
     <string name="msg_no_input" msgid="3897674146985427865">"Geen TV-invoer gevind nie"</string>
     <string name="msg_no_specific_input" msgid="2688885987104249852">"Kan nie die TV-invoer vind nie"</string>
-    <string name="msg_no_pip_support" msgid="161508628996629445">"PIP word nie gesteun nie"</string>
-    <string name="msg_no_available_input_by_pip" msgid="7038191654524679666">"Daar is geen beskikbare invoer om met PIP te wys nie"</string>
     <string name="msg_not_passthrough_input" msgid="4502101097091087411">"Instemmertipe is nie geskik nie. Begin asseblief die Live TV-program vir instemmertipe-TV-invoer."</string>
     <string name="msg_tune_failed" msgid="3277419551849972252">"Kon nie instel nie"</string>
     <string name="msg_missing_app" msgid="8291542072400042076">"Geen program is gevind om hierdie handeling te behartig nie."</string>
@@ -226,6 +217,8 @@
       <item quantity="other">%1$d opnames geskeduleer</item>
       <item quantity="one">%1$d opname geskeduleer</item>
     </plurals>
+    <string name="dvr_detail_cancel_recording" msgid="542538232330174145">"Kanselleer opname"</string>
+    <string name="dvr_detail_stop_recording" msgid="3599488040374849367">"Stop opname"</string>
     <string name="dvr_detail_watch" msgid="7085694764364338215">"Kyk"</string>
     <string name="dvr_detail_play_from_beginning" msgid="8475543568260411836">"Speel van begin af"</string>
     <string name="dvr_detail_resume_play" msgid="875591300274416373">"Speel verder"</string>
@@ -258,9 +251,6 @@
     <string name="dvr_priority_description" msgid="8362040921417154645">"As daar te veel programme is wat op dieselfde tyd opgeneem moet word, sal net die programme met die hoër prioriteit opgeneem word."</string>
     <string name="dvr_priority_button_action_save" msgid="4773524273649733008">"Stoor"</string>
     <string name="dvr_priority_action_one_time_recording" msgid="8174297042282719478">"Eenmalige opnames het die hoogste prioriteit"</string>
-    <string name="dvr_action_cancel" msgid="8094060199570272625">"Kanselleer"</string>
-    <string name="dvr_action_error_cancel" msgid="6822474458738023531">"Kanselleer"</string>
-    <string name="dvr_action_error_forget_storage" msgid="5869994565663655638">"Vergeet"</string>
     <string name="dvr_action_stop" msgid="1378723485295471381">"Stop"</string>
     <string name="dvr_action_view_schedules" msgid="7442990695392774263">"Bekyk opnameskedule"</string>
     <string name="dvr_action_record_episode" msgid="8596182676610326327">"Net hierdie een program"</string>
@@ -270,25 +260,28 @@
     <string name="dvr_action_record_instead" msgid="6821164728752215738">"Neem eerder hierdie een op"</string>
     <string name="dvr_action_record_cancel" msgid="8644254745772185288">"Kanselleer hierdie opname"</string>
     <string name="dvr_action_watch_now" msgid="7181211920959075976">"Kyk nou"</string>
+    <string name="dvr_action_delete_recordings" msgid="850785346795261671">"Vee opnames uit …"</string>
     <string name="dvr_epg_program_recordable" msgid="609229576209476903">"Kan opgeneem word"</string>
     <string name="dvr_epg_program_recording_scheduled" msgid="1367741844291055016">"Opname geskeduleer"</string>
     <string name="dvr_epg_program_recording_conflict" msgid="4827911748865195373">"Opneemkonflik"</string>
     <string name="dvr_epg_program_recording_in_progress" msgid="2158340443975313745">"Neem tans op"</string>
     <string name="dvr_epg_program_recording_failed" msgid="5589124519442328896">"Kon nie opneem nie"</string>
-    <string name="dvr_schedule_progress_message_reading_programs" msgid="6502513156469172313">"Lees tans programme om opneemskedules te skep"</string>
-    <string name="dvr_series_schedules_progress_message_reading_programs" msgid="7221275889560136115">"Leesprogramme"</string>
-    <!-- no translation found for dvr_series_schedules_progress_message_updating_programs (6670286486601662465) -->
-    <skip />
+    <string name="dvr_series_progress_message_reading_programs" msgid="2961615820635219355">"Leesprogramme"</string>
+    <string name="dvr_error_insufficient_space_action_view_recent_recordings" msgid="137918938589787623">"Bekyk onlangse opnames"</string>
+    <string name="dvr_error_insufficient_space_title_one_recording" msgid="759510175792505150">"Die opname van <xliff:g id="PROGRAMNAME">%1$s</xliff:g> is nie volledig nie."</string>
+    <string name="dvr_error_insufficient_space_title_two_recordings" msgid="5518578722556227631">"Die opnames van <xliff:g id="PROGRAMNAME_1">%1$s</xliff:g> en <xliff:g id="PROGRAMNAME_2">%2$s</xliff:g> is onvolledig."</string>
+    <string name="dvr_error_insufficient_space_title_three_or_more_recordings" msgid="5104901174884754363">"Die opnames van <xliff:g id="PROGRAMNAME_1">%1$s</xliff:g>, <xliff:g id="PROGRAMNAME_2">%2$s</xliff:g> en <xliff:g id="PROGRAMNAME_3">%3$s</xliff:g> is onvolledig."</string>
+    <string name="dvr_error_insufficient_space_description_one_recording" msgid="9092549220659026111">"Die opname van <xliff:g id="PROGRAMNAME">%1$s</xliff:g> het nie klaargemaak nie weens onvoldoende bergingspasie."</string>
+    <string name="dvr_error_insufficient_space_description_two_recordings" msgid="7712799694720979003">"Die opnames van <xliff:g id="PROGRAMNAME_1">%1$s</xliff:g> en <xliff:g id="PROGRAMNAME_2">%2$s</xliff:g> het nie klaargemaak nie weens onvoldoende bergingspasie."</string>
+    <string name="dvr_error_insufficient_space_description_three_or_more_recordings" msgid="7877855707777832128">"Die opnames van <xliff:g id="PROGRAMNAME_1">%1$s</xliff:g>, <xliff:g id="PROGRAMNAME_2">%2$s</xliff:g> en <xliff:g id="PROGRAMNAME_3">%3$s</xliff:g> het nie klaargemaak nie weens onvoldoende bergingspasie."</string>
     <string name="dvr_error_small_sized_storage_title" msgid="5020225460011469011">"DVR het meer berging nodig"</string>
-    <string name="dvr_error_small_sized_storage_description" msgid="8909789097974895119">"Jy sal programme met DVR kan opneem. DVR werk egter nie op die oomblik nie omdat daar nie genoeg berging op jou toestel beskikbaar is nie. Koppel asseblief \'n eksterne hardeskryf wat <xliff:g id="STORAGE_SIZE">%1$s</xliff:g> GB of groter is en volg die stappe om dit as toestelberging te formateer."</string>
+    <string name="dvr_error_small_sized_storage_description" msgid="8909789097974895119">"Jy sal programme met DVR kan opneem. DVR werk egter nie op die oomblik nie omdat daar nie genoeg berging op jou toestel beskikbaar is nie. Koppel asseblief \'n eksterne hardeskryf wat <xliff:g id="STORAGE_SIZE">%1$d</xliff:g> GB of groter is en volg die stappe om dit as toestelberging te formateer."</string>
+    <string name="dvr_error_no_free_space_title" msgid="881897873932403512">"Te min bergingspasie"</string>
+    <string name="dvr_error_no_free_space_description" msgid="6406038381803431564">"Hierdie program sal nie opgeneem word nie omdat daar te min bergingspasie is. Probeer \'n paar bestaande opnames uitvee."</string>
     <string name="dvr_error_missing_storage_title" msgid="691914341845362669">"Berging ontbreek"</string>
-    <string name="dvr_error_missing_storage_description" msgid="1036680750969954236">"Van die berging wat DVR gebruik, ontbreek. Koppel asseblief die eksterne skyf wat jy vroeër gebruik het om DVR te heraktiveer. Andersins kan jy kies om die berging te vergeet as dit nie meer beskikbaar is nie."</string>
-    <string name="dvr_error_forget_storage_title" msgid="4996547357826788002">"Vergeet berging?"</string>
-    <string name="dvr_error_forget_storage_description" msgid="3973761741009546142">"Al jou opgeneemde inhoud en skedules sal verloor word."</string>
     <string name="dvr_stop_recording_dialog_title" msgid="2587018956502704278">"Stop opname?"</string>
     <string name="dvr_stop_recording_dialog_description" msgid="4637830189399967761">"Die opgeneemde inhoud sal gestoor word."</string>
-    <!-- no translation found for dvr_stop_recording_dialog_description_on_conflict (7876857267536083760) -->
-    <skip />
+    <string name="dvr_stop_recording_dialog_description_on_conflict" msgid="7876857267536083760">"Die opname van <xliff:g id="PROGRAMNAME">%1$s</xliff:g> sal gestaak word omdat dit met hierdie program bots. Die inhoud wat opgeneem is, sal gestoor word."</string>
     <string name="dvr_program_conflict_dialog_title" msgid="109323740107060379">"Opname is geskeduleer, maar daar is botsings"</string>
     <string name="dvr_channel_conflict_dialog_title" msgid="7461033430572027786">"Opname het begin, maar daar is konflikte"</string>
     <string name="dvr_program_conflict_dialog_description_prefix" msgid="5520062013211648196">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> sal opgeneem word."</string>
@@ -306,17 +299,29 @@
     <string name="dvr_already_scheduled_dialog_description" msgid="8170126125996414810">"Dieselfde program is reeds geskeduleer om om <xliff:g id="PROGRAMSTARTTIME">%1$s</xliff:g> opgeneem te word."</string>
     <string name="dvr_already_recorded_dialog_title" msgid="2760294707162057216">"Reeds opgeneem"</string>
     <string name="dvr_already_recorded_dialog_description" msgid="8966051583682746434">"Hierdie program is reeds opgeneem. Dit is in die DVR-biblioteek beskikbaar."</string>
-    <!-- no translation found for dvr_series_recording_dialog_title (3521956660855853797) -->
-    <skip />
-    <!-- no translation found for dvr_series_recording_scheduled_no_conflict (2796926724821316879) -->
-    <!-- no translation found for dvr_series_recording_scheduled_only_this_series_conflict (2800805130979023066) -->
-    <!-- no translation found for dvr_series_recording_scheduled_this_and_other_series_one_conflict (3632394665556633158) -->
-    <!-- no translation found for dvr_series_recording_scheduled_this_and_other_series_conflict (2331412040101938479) -->
-    <!-- no translation found for dvr_series_recording_scheduled_only_other_series_one_conflict (5213169239215104024) -->
-    <!-- no translation found for dvr_series_recording_scheduled_only_other_series_conflict (5159645486201045330) -->
+    <string name="dvr_series_recording_dialog_title" msgid="3521956660855853797">"Reeksopname geskeduleer"</string>
+    <plurals name="dvr_series_scheduled_no_conflict" formatted="false" msgid="6909096418632555251">
+      <item quantity="other"><xliff:g id="NUMBEROFRECORDINGS_2">%1$d</xliff:g> opnames is geskeduleer vir <xliff:g id="SERIESNAME_3">%2$s</xliff:g>.</item>
+      <item quantity="one"><xliff:g id="NUMBEROFRECORDINGS_0">%1$d</xliff:g> opname is geskeduleer vir <xliff:g id="SERIESNAME_1">%2$s</xliff:g>.</item>
+    </plurals>
+    <plurals name="dvr_series_recording_scheduled_only_this_series_conflict" formatted="false" msgid="2341548158607418515">
+      <item quantity="other"><xliff:g id="NUMBEROFRECORDINGS_2">%1$d</xliff:g> opnames is geskeduleer vir <xliff:g id="SERIESNAME_3">%2$s</xliff:g>. <xliff:g id="NUMBEROFCONFLICTRECORDINGS">%3$d</xliff:g> van hulle sal weens oorvleueling nie opgeneem word nie.</item>
+      <item quantity="one"><xliff:g id="NUMBEROFRECORDINGS_0">%1$d</xliff:g> opname is geskeduleer vir <xliff:g id="SERIESNAME_1">%2$s</xliff:g>. Dit sal weens oorvleueling nie opgeneem word nie.</item>
+    </plurals>
+    <plurals name="dvr_series_scheduled_this_and_other_series_conflict" formatted="false" msgid="6123651855499916154">
+      <item quantity="other"><xliff:g id="NUMBEROFRECORDINGS_3">%1$d</xliff:g> opnames is geskeduleer vir <xliff:g id="SERIESNAME_4">%2$s</xliff:g>. <xliff:g id="NUMBEROFCONFLICTEPISODES_5">%3$d</xliff:g> episodes van hierdie reeks en ander reekse sal weens oorvleueling nie opgeneem word nie.</item>
+      <item quantity="one"><xliff:g id="NUMBEROFRECORDINGS_0">%1$d</xliff:g> opname is geskeduleer vir <xliff:g id="SERIESNAME_1">%2$s</xliff:g>. <xliff:g id="NUMBEROFCONFLICTEPISODES_2">%3$d</xliff:g> episodes van hierdie reeks en ander reekse sal weens oorvleueling nie opgeneem word nie.</item>
+    </plurals>
+    <plurals name="dvr_series_scheduled_only_other_series_one_conflict" formatted="false" msgid="8628389493339609682">
+      <item quantity="other"><xliff:g id="NUMBEROFRECORDINGS_2">%1$d</xliff:g> opnames is geskeduleer vir <xliff:g id="SERIESNAME_3">%2$s</xliff:g>. 1 episode van \'n ander reeks sal weens oorvleueling nie opgeneem word nie.</item>
+      <item quantity="one"><xliff:g id="NUMBEROFRECORDINGS_0">%1$d</xliff:g> opname is geskeduleer vir <xliff:g id="SERIESNAME_1">%2$s</xliff:g>. 1 episode van \'n ander reeks sal weens oorvleueling nie opgeneem word nie.</item>
+    </plurals>
+    <plurals name="dvr_series_scheduled_only_other_series_many_conflicts" formatted="false" msgid="1601104768354168073">
+      <item quantity="other"><xliff:g id="NUMBEROFRECORDINGS_3">%1$d</xliff:g> opnames is geskeduleer vir <xliff:g id="SERIESNAME_4">%2$s</xliff:g>. <xliff:g id="NUMBEROFCONFLICTEPISODES_5">%3$d</xliff:g> episodes van \'n ander reeks sal weens oorvleueling nie opgeneem word nie.</item>
+      <item quantity="one"><xliff:g id="NUMBEROFRECORDINGS_0">%1$d</xliff:g> opname is geskeduleer vir <xliff:g id="SERIESNAME_1">%2$s</xliff:g>. <xliff:g id="NUMBEROFCONFLICTEPISODES_2">%3$d</xliff:g> episodes van \'n ander reeks sal weens oorvleueling nie opgeneem word nie.</item>
+    </plurals>
     <string name="dvr_program_not_found" msgid="3282879532038010202">"Kon nie opgeneemde program vind nie."</string>
     <string name="dvr_playback_related_recordings" msgid="6978658039329924961">"Verwante opnames"</string>
-    <string name="dvr_msg_no_program_description" msgid="2521723281247322645">"(Geen programbeskrywing nie)"</string>
     <plurals name="dvr_schedules_section_subtitle" formatted="false" msgid="9180744010405976007">
       <item quantity="other">%1$d opnames</item>
       <item quantity="one">%1$d opname</item>
@@ -336,6 +341,7 @@
     <string name="dvr_series_schedules_stop_dialog_title" msgid="4975886236535334420">"Stop om reeks op te neem?"</string>
     <string name="dvr_series_schedules_stop_dialog_description" msgid="7547266283366940085">"Opgeneemde episodes sal in die DVR-biblioteek beskikbaar bly."</string>
     <string name="dvr_series_schedules_stop_dialog_action_stop" msgid="2351839914865142478">"Stop"</string>
+    <string name="dvr_series_schedules_stopped_empty_state" msgid="1464244804664395151">"Geen episodes is tans op die lug nie."</string>
     <string name="dvr_series_schedules_empty_state" msgid="3407962945399698707">"Geen episodes is beskikbaar nie.\nHulle sal opgeneem word sodra hulle beskikbaar is."</string>
     <plurals name="dvr_schedules_recording_duration" formatted="false" msgid="3701771573063918552">
       <item quantity="other">(%1$d minute)</item>
@@ -347,4 +353,5 @@
     <string name="dvr_date_today_time" msgid="8359696776305244535">"Vandag <xliff:g id="TIME_RANGE">%1$s</xliff:g>"</string>
     <string name="dvr_date_tomorrow_time" msgid="8364654556105292594">"Môre <xliff:g id="TIME_RANGE">%1$s</xliff:g>"</string>
     <string name="program_guide_critic_score" msgid="340530743913585150">"Telling"</string>
+    <string name="recorded_programs_preview_channel" msgid="890404366427245812">"Opgeneemde programme"</string>
 </resources>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index bd63879..5b18121 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -20,9 +20,8 @@
     <string name="audio_channel_mono" msgid="8812941280022167428">"ሞኖ"</string>
     <string name="audio_channel_stereo" msgid="5798223286366598036">"ስቲሪዮ"</string>
     <string name="menu_title_play_controls" msgid="2490237359425190652">"የማጫወቻ መቆጣጠሪያዎች"</string>
-    <string name="menu_title_channels" msgid="1801845517674690003">"የቅርብ ጊዜ ሰርጦች"</string>
+    <string name="menu_title_channels" msgid="1949045451672990132">"ሰርጦች"</string>
     <string name="menu_title_options" msgid="7184594626814914022">"የቴሌቪዥን አማራጮች"</string>
-    <string name="menu_title_pip_options" msgid="4252934960762407689">"የፒአይፒ አማራጮች"</string>
     <string name="play_controls_unavailable" msgid="8900698593131693148">"ለዚህ ሰርጥ የማጫወቻ መቆጣጠሪያዎች አይገኝም"</string>
     <string name="play_controls_description_play_pause" msgid="7225542861669250558">"አጫውት ወይም ለአፍታ አቁም"</string>
     <string name="play_controls_description_fast_forward" msgid="4414963867482448652">"በፍጥነት አሳልፍ"</string>
@@ -35,33 +34,15 @@
     <string name="options_item_closed_caption" msgid="5945274655046367170">"የተዘጉ የስዕል መግለጫዎች"</string>
     <string name="options_item_display_mode" msgid="7989243076748680140">"የማሳያ ሁኔታ"</string>
     <string name="options_item_pip" msgid="3951350386626879645">"ፒአይፒ"</string>
-    <string name="options_item_pip_on" msgid="4647247480009077381">"በርቷል"</string>
-    <string name="options_item_pip_off" msgid="8799500161592387451">"ጠፍቷል"</string>
     <string name="options_item_multi_audio" msgid="5118851311937896923">"ባለብዙ ተሰሚ"</string>
     <string name="options_item_more_channels" msgid="971040969622943300">"ተጨማሪ ሰርጦችን ያግኙ"</string>
     <string name="options_item_settings" msgid="7623205838542400074">"ቅንብሮች"</string>
-    <string name="pip_options_item_source" msgid="1050948525825308652">"ምንጭ"</string>
-    <string name="pip_options_item_swap" msgid="7245362207353732048">"ማገላበጥ"</string>
-    <string name="pip_options_item_swap_on" msgid="5647182616484983505">"በርቷል"</string>
-    <string name="pip_options_item_swap_off" msgid="3023597229417709768">"ጠፍቷል"</string>
-    <string name="pip_options_item_sound" msgid="3107034283791231648">"ድምፅ"</string>
-    <string name="pip_options_item_sound_main" msgid="1063937534112558691">"ዋና"</string>
-    <string name="pip_options_item_sound_pip_window" msgid="435064142351853008">"የፒአይፒ መስኮት"</string>
-    <string name="pip_options_item_layout" msgid="5126206342060967651">"አቀማመጥ"</string>
-    <string name="pip_options_item_layout_bottom_right" msgid="5256839015192920238">"ከታች በስተቀኝ"</string>
-    <string name="pip_options_item_layout_top_right" msgid="3585067214787055279">"ከላይ በስተቀኝ"</string>
-    <string name="pip_options_item_layout_top_left" msgid="2173997010201637462">"ከላይ በስተግራ"</string>
-    <string name="pip_options_item_layout_bottom_left" msgid="1727197877968915329">"ከታች በስተግራ"</string>
-    <string name="pip_options_item_layout_side_by_side" msgid="9009784972740915779">"ጎን ለጎን"</string>
-    <string name="pip_options_item_size" msgid="5662894110243750158">"መጠን"</string>
-    <string name="pip_options_item_size_big" msgid="6303301565563444718">"ትልቅ"</string>
-    <string name="pip_options_item_size_small" msgid="7393731186585004206">"ትንሽ"</string>
-    <string name="side_panel_title_pip_input_source" msgid="8722544967592970296">"የግብዓት ምንጭ"</string>
     <string name="input_long_label_for_tuner" msgid="3423514011918382209">"ቴሌቪዥን (አንቴና/ገመድ)"</string>
     <string name="no_program_information" msgid="1049844207745145132">"ምንም የፕሮግራም መረጃ የለም"</string>
     <string name="program_title_for_no_information" msgid="384451471906070101">"ምንም መረጃ የለም"</string>
     <string name="program_title_for_blocked_channel" msgid="5358005891746983819">"የታገደ ሰርጥ"</string>
-    <string name="default_language" msgid="4122326459624337928">"ያልታወቀ ቋንቋ"</string>
+    <string name="multi_audio_unknown_language" msgid="8639884627225598143">"ያልታወቀ ቋንቋ"</string>
+    <string name="closed_caption_unknown_language" msgid="4745445516930229353">"ዝግ መግለጫ ጽሑፎች %1$d"</string>
     <string name="side_panel_title_closed_caption" msgid="2513905054082568780">"የተዘጉ መግለጫ ጽሑፎች"</string>
     <string name="closed_caption_option_item_off" msgid="4824009036785647753">"ጠፍቷል"</string>
     <string name="closed_caption_system_settings" msgid="1856974607743827178">"ቅርጸትን አብጅ"</string>
@@ -83,6 +64,7 @@
     <string name="edit_channels_group_divider_for_sd" msgid="5846195382266436167">"ኤስዲ"</string>
     <string name="side_panel_title_group_by" msgid="1783176601425788939">"ሰብስብ በ"</string>
     <string name="program_guide_content_locked" msgid="198056836554559553">"ይህ ፕሮግራም ታግዷል"</string>
+    <string name="program_guide_content_locked_unrated" msgid="8665707501827594275">"ይህ ፕሮግራም ደረጃ ያልተሰጠው ነው"</string>
     <string name="program_guide_content_locked_format" msgid="514915272862967389">"ይህ ፕሮግራም <xliff:g id="RATING">%1$s</xliff:g> ደረጃ ነው የተሰጠው"</string>
     <string name="msg_no_setup_activity" msgid="7746893144640239857">"ግብዓቱ ራስ-ቃኝን አይደግፍም።"</string>
     <string name="msg_unable_to_start_setup_activity" msgid="8402612466599977855">"ለ«<xliff:g id="TV_INPUT">%s</xliff:g>» ራስ-ቃኝን መጀመር አልተቻለም"</string>
@@ -92,7 +74,6 @@
       <item quantity="other">%1$d ሰርጦች ታክለዋል</item>
     </plurals>
     <string name="msg_no_channel_added" msgid="2882586037409921925">"ምንም ሰርጦች አልታከሉም"</string>
-    <string name="input_selector_tuner_label" msgid="6631205039926880892">"ማስተካከያ"</string>
     <string name="menu_parental_controls" msgid="2474294054521345840">"የወላጅ ቁጥጥሮች"</string>
     <string name="option_toggle_parental_controls_on" msgid="9122851821454622696">"በርቷል"</string>
     <string name="option_toggle_parental_controls_off" msgid="7797910199040440618">"ጠፍቷል"</string>
@@ -108,6 +89,8 @@
     <string name="other_countries" msgid="8342216398676184749">"ሌሎች አገሮች"</string>
     <string name="option_no_locked_channel" msgid="2543094883927978444">"ምንም"</string>
     <string name="option_no_enabled_rating_system" msgid="4139765018454678381">"ምንም"</string>
+    <string name="unrated_rating_name" msgid="1387302638048393814">"ደረጃ አልተሰጠውም"</string>
+    <string name="option_block_unrated_programs" msgid="1108474218158184706">"ደረጃ ያልተሰጣቸው ፕሮግራሞችን አግድ"</string>
     <string name="option_rating_none" msgid="5204552587760414879">"ምንም"</string>
     <string name="option_rating_high" msgid="8898400296730158893">"ከፍተኛ ገደቦች"</string>
     <string name="option_rating_medium" msgid="6455853836426497151">"መካከለኛ ገደቦች"</string>
@@ -124,6 +107,7 @@
     <string name="pin_enter_unlock_channel" msgid="4797922378296393173">"ይህን ሰርጥ ለመመልከት የእርስዎን ፒን ያስገቡ"</string>
     <string name="pin_enter_unlock_program" msgid="7311628843209871203">"ይህን ፕሮግራም ለመመልከት የእርስዎን ፒን ያስገቡ"</string>
     <string name="pin_enter_unlock_dvr" msgid="1637468108723176684">"ይህ ፕሮግራም የ<xliff:g id="RATING">%1$s</xliff:g> ደረጃ ተሰጥቶታል። ይህን ፕሮግራም ለመመልከት የእርስዎን ፒን ያስገቡ።"</string>
+    <string name="pin_enter_unlock_dvr_unrated" msgid="3911986002480028829">"ይህ ፕሮግራም ደረጃ ያልተሰጠው ነው። ይህን ፕሮግራም ለመከታተል የእርስዎን ፒን ያስገቡት።"</string>
     <string name="pin_enter_pin" msgid="249314665028035038">"የእርስዎን ፒን ያስገቡ"</string>
     <string name="pin_enter_create_pin" msgid="3385754356793309946">"የወላጅ መቆጣጠሪያዎችን ለማዋቀር ፒን ይፍጠሩ።"</string>
     <string name="pin_enter_new_pin" msgid="1739471585849790384">"አዲስ ፒን ያስገቡ"</string>
@@ -135,22 +119,31 @@
     </plurals>
     <string name="pin_toast_wrong" msgid="2126295626095048746">"ይህ ፒን የተሳሳተ ነበር። እንደገና ይሞክሩ።"</string>
     <string name="pin_toast_not_match" msgid="4283624338659521768">"እንደገና ይሞክሩ፣ ፒኑ አይዛመድም"</string>
+    <string name="postal_code_guidance_title" msgid="4144793072363879833">"ዚፕ ኮድዎን ያስገቡ።"</string>
+    <string name="postal_code_guidance_description" msgid="4224511147377561572">"የLive TV መተግበሪያ ለቴሌቪዥን ሰርጦቹ ሙሉ የፕሮግራም ዝርዝር ለማቅረብ ዚፕ ኮዱን ይጠቀማል።"</string>
+    <string name="postal_code_action_description" msgid="4428720607051109105">"ዚፕ ኮድዎን ያስገቡ"</string>
+    <string name="postal_code_invalid_warning" msgid="923373584458340746">"ልክ ያልኾነ ዚፕ ኮድ"</string>
     <string name="side_panel_title_settings" msgid="8244327316510918755">"ቅንብሮች"</string>
     <string name="settings_channel_source_item_customize_channels" msgid="6115770679732624593">"የሰርጥ ዝርዝር አብጅ"</string>
     <string name="settings_channel_source_item_customize_channels_description" msgid="8966243790328235580">"ለፕሮግራሙ መመሪያዎ ሰርጦችን ይምረጡ"</string>
     <string name="settings_channel_source_item_setup" msgid="4566190088656419070">"የሰርጥ ምንጮች"</string>
     <string name="settings_channel_source_item_setup_new_inputs" msgid="4845822152617430787">"አዲስ ሰርጦች ይገኛሉ"</string>
     <string name="settings_parental_controls" msgid="5449397921700749317">"የወላጅ መቆጣጠሪያዎች"</string>
+    <string name="settings_trickplay" msgid="7762730842781251582">"የጊዜ ሽግሽግ"</string>
+    <string name="settings_trickplay_description" msgid="3060323976172182519">"የቀጥታ ስርጭቶችን ባሉበት ለማቆም ወይም ለማጠንጠን እየተመለከቱ ሳለ ይቅረጹ።\nማስጠንቀቂያ፦ ይሄ ባለው ከፍተኛ የማከማቻ ፍጆታ ምክንያት የውስጣዊ ማከማቻ ዕድሜውን ሊቀንስ ይችላል።"</string>
     <string name="settings_menu_licenses" msgid="1257646083838406103">"የክፍት ምንጭ ፍቃዶች"</string>
-    <string name="dialog_title_licenses" msgid="4471754920475076623">"የክፍት ምንጭ ፍቃዶች"</string>
+    <string name="settings_send_feedback" msgid="6897217561193701829">"ግብረ ምላሽ ይላኩ"</string>
     <string name="settings_menu_version" msgid="2604030372029921403">"ስሪት"</string>
     <string name="tvview_channel_locked" msgid="6486375335718400728">"ይህን ሰርጥ ለመመልከት ቀኝን ይጫኑ እና የእርስዎን ፒን ያስገቡ"</string>
     <string name="tvview_content_locked" msgid="391823084917017730">"ይህን ፕሮግራም ለመመልከት ቀኝን ይጫኑ እና የእርስዎን ፒን ያስገቡ"</string>
+    <string name="tvview_content_locked_unrated" msgid="2273799245001356782">"ይህ ፕሮግራም ደረጃ ያልተሰጠው ነው።\nይህን ፕሮግራም ለመመልከት ቀኝን ይጫኑና የእርስዎን ፒን ያስገቡት"</string>
     <string name="tvview_content_locked_format" msgid="3741874636031338247">"ይህ ፕሮግራም <xliff:g id="RATING">%1$s</xliff:g> ደረጃ ነው የተሰጠው።\nይህን ፕሮግራም ለመመልከት ቀኝን ይጫኑ እና የእርስዎን ፒን ያስገቡ።"</string>
     <string name="tvview_channel_locked_no_permission" msgid="677653135227590620">"ይህን ሰርጥ ለመመልከት ነባሪውን የቀጥተኛ ቴሌቪዥን መተግበሪያ ይጠቀሙ።"</string>
     <string name="tvview_content_locked_no_permission" msgid="2279126235895507764">"ይህን ፕሮግራም ለመመልከት ነባሪውን የቀጥተኛ ቴሌቪዥን መተግበሪያ ይጠቀሙ።"</string>
+    <string name="tvview_content_locked_unrated_no_permission" msgid="4056090982858455110">"ይህ ፕሮግራም ደረጃ ያልተሰጠው ነው።\nይህን ፕሮግራም ለመመልከት ነባሪውን የቀጥታ ቴሌቪዥን መተግበሪያ ይጠቀሙ።"</string>
     <string name="tvview_content_locked_format_no_permission" msgid="5690794624572767106">"ይህ ፕሮግራም የ<xliff:g id="RATING">%1$s</xliff:g> ደረጃ ነው የተሰጠው።\nይህን ፕሮግራም ለመመልከት ነባሪውን የቀጥተኛ ቴሌቪዥን መተግበሪያ ይጠቀሙ።"</string>
     <string name="shrunken_tvview_content_locked" msgid="7686397981042364446">"ፕሮግራም ታግዷል"</string>
+    <string name="shrunken_tvview_content_locked_unrated" msgid="4586881678635960742">"ይህ ፕሮግራም ደረጃ ያልተሰጠው ነው"</string>
     <string name="shrunken_tvview_content_locked_format" msgid="3720284198877900916">"ይህ ፕሮግራም <xliff:g id="RATING">%1$s</xliff:g> ደረጃ ነው የተሰጠው"</string>
     <string name="tvview_msg_audio_only" msgid="1356866203687173329">"ኦዲዮ ብቻ"</string>
     <string name="tvview_msg_weak_signal" msgid="1095050812622908976">"ደካማ ምልክት"</string>
@@ -181,8 +174,6 @@
     <string name="intro_description" msgid="7806473686446937307">"የቴሌቪዥን ምናሌውን ለመድረስ "<b>"ምረጥን ይጫኑ"</b>"።"</string>
     <string name="msg_no_input" msgid="3897674146985427865">"ምንም የቴሌቪዥን ግብዓት አልተገኘም"</string>
     <string name="msg_no_specific_input" msgid="2688885987104249852">"የቴሌቪዥን ግብዓቱን ማግኘት አልተቻለም"</string>
-    <string name="msg_no_pip_support" msgid="161508628996629445">"ፒአይፒ አይደገፍም"</string>
-    <string name="msg_no_available_input_by_pip" msgid="7038191654524679666">"ከፒአይፒው ጋር አብሮ ሊታይ የሚችል ግቤት አይገኝም"</string>
     <string name="msg_not_passthrough_input" msgid="4502101097091087411">"የቃኚ አይነት ተገቢ አይደለም። እባክዎ የቃኚ አይነት ቴሌቪዥን ግብዓት ለማግኘት የቀጥተኛ ሰርጦች መተግበሪያውን ያስጀምሩት።"</string>
     <string name="msg_tune_failed" msgid="3277419551849972252">"መቃኘት አልተሳካም"</string>
     <string name="msg_missing_app" msgid="8291542072400042076">"ይህን እርምጃ የሚያከናውን ምንም መተግበሪያ አልተገኘም።"</string>
@@ -226,6 +217,8 @@
       <item quantity="one">%1$d ቀረጻዎች በመርሐግብር ተይዘዋል</item>
       <item quantity="other">%1$d ቀረጻዎች በመርሐግብር ተይዘዋል</item>
     </plurals>
+    <string name="dvr_detail_cancel_recording" msgid="542538232330174145">"መቅረጹን አስቀር"</string>
+    <string name="dvr_detail_stop_recording" msgid="3599488040374849367">"መቅረጽ አቁም"</string>
     <string name="dvr_detail_watch" msgid="7085694764364338215">"ይመልከቱ"</string>
     <string name="dvr_detail_play_from_beginning" msgid="8475543568260411836">"ከመጀመሪያው አጫውት"</string>
     <string name="dvr_detail_resume_play" msgid="875591300274416373">"ከቆመበት ቀጥል"</string>
@@ -258,9 +251,6 @@
     <string name="dvr_priority_description" msgid="8362040921417154645">"በተመሳሳዩ ጊዜ ላይ የሚቀረጹ በጣም ብዙ ፕሮግራሞች ሲኖሩ ከፍ ያለ ቅድሚያ ያላቸው ብቻ ናቸው የሚቀረጹት።"</string>
     <string name="dvr_priority_button_action_save" msgid="4773524273649733008">"አስቀምጥ"</string>
     <string name="dvr_priority_action_one_time_recording" msgid="8174297042282719478">"የአንድ-ጊዜ ቀረጻዎች ከፍተኛ ቅድሚያ ተሰጭነት አላቸው"</string>
-    <string name="dvr_action_cancel" msgid="8094060199570272625">"ይቅር"</string>
-    <string name="dvr_action_error_cancel" msgid="6822474458738023531">"ተወው"</string>
-    <string name="dvr_action_error_forget_storage" msgid="5869994565663655638">"እርሳ"</string>
     <string name="dvr_action_stop" msgid="1378723485295471381">"አቁም"</string>
     <string name="dvr_action_view_schedules" msgid="7442990695392774263">"የምዝገባ መርሐግብርን ይመልከቱ"</string>
     <string name="dvr_action_record_episode" msgid="8596182676610326327">"ይህ ነጠላ ፕሮግራም"</string>
@@ -270,25 +260,28 @@
     <string name="dvr_action_record_instead" msgid="6821164728752215738">"በምትኩ ይሄኛውን ቅረጽ"</string>
     <string name="dvr_action_record_cancel" msgid="8644254745772185288">"ይህን ቀረጻ ተወው"</string>
     <string name="dvr_action_watch_now" msgid="7181211920959075976">"አሁን ይመልከቱ"</string>
+    <string name="dvr_action_delete_recordings" msgid="850785346795261671">"ቀረጻዎችን ሰርዝ…"</string>
     <string name="dvr_epg_program_recordable" msgid="609229576209476903">"ሊቀረጽ የሚችል"</string>
     <string name="dvr_epg_program_recording_scheduled" msgid="1367741844291055016">"ቀረጻ መርሐግብር ተይዞለታል"</string>
     <string name="dvr_epg_program_recording_conflict" msgid="4827911748865195373">"የቀረጻ ግጭት"</string>
     <string name="dvr_epg_program_recording_in_progress" msgid="2158340443975313745">"መቅዳት"</string>
     <string name="dvr_epg_program_recording_failed" msgid="5589124519442328896">"መቅረጽ አልተሳካም"</string>
-    <string name="dvr_schedule_progress_message_reading_programs" msgid="6502513156469172313">"የቀረጻ መርሐግብሮችን ለመፍጠር ፕሮግራሞችን በማንበብ ላይ"</string>
-    <string name="dvr_series_schedules_progress_message_reading_programs" msgid="7221275889560136115">"ፕሮግራሞችን በማንበብ ላይ"</string>
-    <!-- no translation found for dvr_series_schedules_progress_message_updating_programs (6670286486601662465) -->
-    <skip />
+    <string name="dvr_series_progress_message_reading_programs" msgid="2961615820635219355">"ፕሮግራሞችን በማንበብ ላይ"</string>
+    <string name="dvr_error_insufficient_space_action_view_recent_recordings" msgid="137918938589787623">"የቅርብ ጊዜ ቅጂዎችን አሳይ"</string>
+    <string name="dvr_error_insufficient_space_title_one_recording" msgid="759510175792505150">"የ<xliff:g id="PROGRAMNAME">%1$s</xliff:g> ቅጂ አልተጠናቀቀም።"</string>
+    <string name="dvr_error_insufficient_space_title_two_recordings" msgid="5518578722556227631">"የ<xliff:g id="PROGRAMNAME_1">%1$s</xliff:g> እና <xliff:g id="PROGRAMNAME_2">%2$s</xliff:g> ቅጂዎች አልተጠናቀቁም።"</string>
+    <string name="dvr_error_insufficient_space_title_three_or_more_recordings" msgid="5104901174884754363">"የ<xliff:g id="PROGRAMNAME_1">%1$s</xliff:g>፣ <xliff:g id="PROGRAMNAME_2">%2$s</xliff:g> እና <xliff:g id="PROGRAMNAME_3">%3$s</xliff:g> ቅጂዎች አልተጠናቀቁም።"</string>
+    <string name="dvr_error_insufficient_space_description_one_recording" msgid="9092549220659026111">"የ<xliff:g id="PROGRAMNAME">%1$s</xliff:g> ቅጂ ባለው በቂ ያልሆነ ማከማቻ ምክንያት አልተጠናቀቀም።"</string>
+    <string name="dvr_error_insufficient_space_description_two_recordings" msgid="7712799694720979003">"የ<xliff:g id="PROGRAMNAME_1">%1$s</xliff:g> እና <xliff:g id="PROGRAMNAME_2">%2$s</xliff:g> ቅጂዎች ባለው በቂ ያልሆነ ማከማቻ ምክንያት አልተጠናቀቁም።"</string>
+    <string name="dvr_error_insufficient_space_description_three_or_more_recordings" msgid="7877855707777832128">"የ<xliff:g id="PROGRAMNAME_1">%1$s</xliff:g>፣ <xliff:g id="PROGRAMNAME_2">%2$s</xliff:g> እና <xliff:g id="PROGRAMNAME_3">%3$s</xliff:g> ቅጂዎች ባለው በቂ ያልሆነ ማከማቻ ምክንያት አልተጠናቀቁም።"</string>
     <string name="dvr_error_small_sized_storage_title" msgid="5020225460011469011">"ዲቪአር ተጨማሪ ማከማቻ ያስፈልገዋል"</string>
-    <string name="dvr_error_small_sized_storage_description" msgid="8909789097974895119">"ፕሮግራሞችን በዲቪአር መቅረጽ ይችላሉ። ይሁንና አሁን ዲቪአር እንዲሰራ በመሣሪያዎ ላይ በቂ የማከማቻ ቦታ የለም። እባክዎ <xliff:g id="STORAGE_SIZE">%1$s</xliff:g> ጊባ ወይም ከዚያ በላይ የሆነ ውጫዊ አንጻፊ ይሰኩና እንደ የመሣሪያ ማከማቻ ቅርጸት ለመስራት ያሉትን ደረጃዎች ይከተሉ።"</string>
+    <string name="dvr_error_small_sized_storage_description" msgid="8909789097974895119">"ፕሮግራሞችን በዲቪአር መቅረጽ ይችላሉ። ይሁንና አሁን ዲቪአር እንዲሰራ በመሣሪያዎ ላይ በቂ የማከማቻ ቦታ የለም። እባክዎ <xliff:g id="STORAGE_SIZE">%1$d</xliff:g> ጊባ ወይም ከዚያ በላይ የሆነ ውጫዊ አንጻፊ ይሰኩና እንደ የመሣሪያ ማከማቻ ቅርጸት ለመስራት ያሉትን ደረጃዎች ይከተሉ።"</string>
+    <string name="dvr_error_no_free_space_title" msgid="881897873932403512">"በቂ ማከማቻ የለም"</string>
+    <string name="dvr_error_no_free_space_description" msgid="6406038381803431564">"በቂ ማከማቻ ስለሌለ ይህ ፕሮግራም አይቀረጽም። አሁን ያሉ አንዳንድ ቀረጻዎችን ለመሰረዝ ይሞክሩ።"</string>
     <string name="dvr_error_missing_storage_title" msgid="691914341845362669">"የሚጎድል ማከማቻ"</string>
-    <string name="dvr_error_missing_storage_description" msgid="1036680750969954236">"በDVR ጥቅም ላይ የዋለ አንዳንድ ማከማቻ ይጎድላል። DVRን ዳግም ለማንቃት ከዚህ በፊት የሚጠቀሙበትን ውጫዊ አንጻፊ እባክዎ ያገናኙ። በአማራጭነት፣ ከእንግዲህ የማይገኝ ከሆነ ማከማቻውን ለመርሳት መምረጥ ይችላሉ።"</string>
-    <string name="dvr_error_forget_storage_title" msgid="4996547357826788002">"ማከማቻ ይረሳ?"</string>
-    <string name="dvr_error_forget_storage_description" msgid="3973761741009546142">"ሁሉም የእርስዎ የተቀዳ ይዘት እና መርሐግብሮች ይጠፋሉ።"</string>
     <string name="dvr_stop_recording_dialog_title" msgid="2587018956502704278">"መቅረጽ ይቁም?"</string>
     <string name="dvr_stop_recording_dialog_description" msgid="4637830189399967761">"የተቀረጸው ይዘት ይቀመጣል።"</string>
-    <!-- no translation found for dvr_stop_recording_dialog_description_on_conflict (7876857267536083760) -->
-    <skip />
+    <string name="dvr_stop_recording_dialog_description_on_conflict" msgid="7876857267536083760">"የ<xliff:g id="PROGRAMNAME">%1$s</xliff:g> ቀረጻ ከዚህ ፕሮግራም ጋር ስለሚጋጭ ይቆማል። የተቀረጸው ይዘት ይቀመጣል።"</string>
     <string name="dvr_program_conflict_dialog_title" msgid="109323740107060379">"ምዝገባ መርሐግብር ተይዞለታል፣ ነገር ግን ግጭቶች አሉ"</string>
     <string name="dvr_channel_conflict_dialog_title" msgid="7461033430572027786">"ቀረጻ ተጀምሯል፣ ነገር ግን ግጭቶች አሉት"</string>
     <string name="dvr_program_conflict_dialog_description_prefix" msgid="5520062013211648196">"<xliff:g id="PROGRAMNAME">%1$s</xliff:g> ይቀረጻል።"</string>
@@ -306,17 +299,29 @@
     <string name="dvr_already_scheduled_dialog_description" msgid="8170126125996414810">"ተመሳሳዩ ፕሮግራም አስቀድሞ በ<xliff:g id="PROGRAMSTARTTIME">%1$s</xliff:g> ላይ እንዲቀረጽ መርሐግብር ተይዞለታል።"</string>
     <string name="dvr_already_recorded_dialog_title" msgid="2760294707162057216">"አስቀድሞ ተቀርጿል"</string>
     <string name="dvr_already_recorded_dialog_description" msgid="8966051583682746434">"ይህ ፕሮግራም አስቀድሞ ተቀርጿል። በዲቪአር ቤተ-መጽሐፍት ውስጥ ይገኛል።"</string>
-    <!-- no translation found for dvr_series_recording_dialog_title (3521956660855853797) -->
-    <skip />
-    <!-- no translation found for dvr_series_recording_scheduled_no_conflict (2796926724821316879) -->
-    <!-- no translation found for dvr_series_recording_scheduled_only_this_series_conflict (2800805130979023066) -->
-    <!-- no translation found for dvr_series_recording_scheduled_this_and_other_series_one_conflict (3632394665556633158) -->
-    <!-- no translation found for dvr_series_recording_scheduled_this_and_other_series_conflict (2331412040101938479) -->
-    <!-- no translation found for dvr_series_recording_scheduled_only_other_series_one_conflict (5213169239215104024) -->
-    <!-- no translation found for dvr_series_recording_scheduled_only_other_series_conflict (5159645486201045330) -->
+    <string name="dvr_series_recording_dialog_title" msgid="3521956660855853797">"የተከታታዮች ቀረጻ መርሐግብር ተይዞለታል"</string>
+    <plurals name="dvr_series_scheduled_no_conflict" formatted="false" msgid="6909096418632555251">
+      <item quantity="one"><xliff:g id="NUMBEROFRECORDINGS_2">%1$d</xliff:g> ቀረጻዎች ለ<xliff:g id="SERIESNAME_3">%2$s</xliff:g> የጊዜ መርሐግብር ተይዞላቸዋል።</item>
+      <item quantity="other"><xliff:g id="NUMBEROFRECORDINGS_2">%1$d</xliff:g> ቀረጻዎች ለ<xliff:g id="SERIESNAME_3">%2$s</xliff:g> የጊዜ መርሐግብር ተይዞላቸዋል።</item>
+    </plurals>
+    <plurals name="dvr_series_recording_scheduled_only_this_series_conflict" formatted="false" msgid="2341548158607418515">
+      <item quantity="one"><xliff:g id="NUMBEROFRECORDINGS_2">%1$d</xliff:g> ቀረጻዎች ለ<xliff:g id="SERIESNAME_3">%2$s</xliff:g> የጊዜ መርሐግብር ተይዞላቸዋል። ከእነሱ ውስጥ <xliff:g id="NUMBEROFCONFLICTRECORDINGS">%3$d</xliff:g> በግጭቶች ምክንያት አይቀረጹም።</item>
+      <item quantity="other"><xliff:g id="NUMBEROFRECORDINGS_2">%1$d</xliff:g> ቀረጻዎች ለ<xliff:g id="SERIESNAME_3">%2$s</xliff:g> የጊዜ መርሐግብር ተይዞላቸዋል። ከእነሱ ውስጥ <xliff:g id="NUMBEROFCONFLICTRECORDINGS">%3$d</xliff:g> በግጭቶች ምክንያት አይቀረጹም።</item>
+    </plurals>
+    <plurals name="dvr_series_scheduled_this_and_other_series_conflict" formatted="false" msgid="6123651855499916154">
+      <item quantity="one"><xliff:g id="NUMBEROFRECORDINGS_3">%1$d</xliff:g> ቀረጻዎች ለ<xliff:g id="SERIESNAME_4">%2$s</xliff:g> የጊዜ መርሐግብር ተይዞላቸዋል። <xliff:g id="NUMBEROFCONFLICTEPISODES_5">%3$d</xliff:g> የዚህ ተከታታይ እና የሌሎች ተከታታዮች ትርዒት ክፍሎች በግጭቶች ምክንያት አይቀረጹም።</item>
+      <item quantity="other"><xliff:g id="NUMBEROFRECORDINGS_3">%1$d</xliff:g> ቀረጻዎች ለ<xliff:g id="SERIESNAME_4">%2$s</xliff:g> የጊዜ መርሐግብር ተይዞላቸዋል። <xliff:g id="NUMBEROFCONFLICTEPISODES_5">%3$d</xliff:g> የዚህ ተከታታይ እና የሌሎች ተከታታዮች ትርዒት ክፍሎች በግጭቶች ምክንያት አይቀረጹም።</item>
+    </plurals>
+    <plurals name="dvr_series_scheduled_only_other_series_one_conflict" formatted="false" msgid="8628389493339609682">
+      <item quantity="one"><xliff:g id="NUMBEROFRECORDINGS_2">%1$d</xliff:g> ቀረጻዎች ለ<xliff:g id="SERIESNAME_3">%2$s</xliff:g> የጊዜ መርሐግብር ተይዞላቸዋል። 1 የሌሎች ተከታታዮች የትርዒት ክፍል በግጭት ምክንያት አይቀረጽም።</item>
+      <item quantity="other"><xliff:g id="NUMBEROFRECORDINGS_2">%1$d</xliff:g> ቀረጻዎች ለ<xliff:g id="SERIESNAME_3">%2$s</xliff:g> የጊዜ መርሐግብር ተይዞላቸዋል። 1 የሌሎች ተከታታዮች የትርዒት ክፍል በግጭት ምክንያት አይቀረጽም።</item>
+    </plurals>
+    <plurals name="dvr_series_scheduled_only_other_series_many_conflicts" formatted="false" msgid="1601104768354168073">
+      <item quantity="one"><xliff:g id="NUMBEROFRECORDINGS_3">%1$d</xliff:g> ቀረጻዎች ለ<xliff:g id="SERIESNAME_4">%2$s</xliff:g> የጊዜ መርሐግብር ተይዞላቸዋል። <xliff:g id="NUMBEROFCONFLICTEPISODES_5">%3$d</xliff:g> የሌላ ተከታታይ የትዕይንት ክፍሎች በግጭቶች ምክንያት አይቀረጹም።</item>
+      <item quantity="other"><xliff:g id="NUMBEROFRECORDINGS_3">%1$d</xliff:g> ቀረጻዎች ለ<xliff:g id="SERIESNAME_4">%2$s</xliff:g> የጊዜ መርሐግብር ተይዞላቸዋል። <xliff:g id="NUMBEROFCONFLICTEPISODES_5">%3$d</xliff:g> የሌላ ተከታታይ የትዕይንት ክፍሎች በግጭቶች ምክንያት አይቀረጹም።</item>
+    </plurals>
     <string name="dvr_program_not_found" msgid="3282879532038010202">"የተቀረጸ ፕሮግራም አልተገኘም።"</string>
     <string name="dvr_playback_related_recordings" msgid="6978658039329924961">"ተዛማጅ ቀረጻዎች"</string>
-    <string name="dvr_msg_no_program_description" msgid="2521723281247322645">"(ምንም የፕሮግራም መግለጫ የለም)"</string>
     <plurals name="dvr_schedules_section_subtitle" formatted="false" msgid="9180744010405976007">
       <item quantity="one">%1$d ቀረጻዎች</item>
       <item quantity="other">%1$d ቀረጻዎች</item>
@@ -336,6 +341,7 @@
     <string name="dvr_series_schedules_stop_dialog_title" msgid="4975886236535334420">"የተከታታይ ቀረጻ ይቆም?"</string>
     <string name="dvr_series_schedules_stop_dialog_description" msgid="7547266283366940085">"የተቀረጹ ክፍሎች በዲቪአር ቤተ-መጽሐፍቱ ላይ የሚገኙ እንደሆኑ ይቆያሉ።"</string>
     <string name="dvr_series_schedules_stop_dialog_action_stop" msgid="2351839914865142478">"አቁም"</string>
+    <string name="dvr_series_schedules_stopped_empty_state" msgid="1464244804664395151">"ምንም ተከታታይ የትዕይንት ክፍሎች የሉም።"</string>
     <string name="dvr_series_schedules_empty_state" msgid="3407962945399698707">"ምንም ክፍሎች አይገኙም።\nልክ የሚገኙ ሲሆኑ ይቀረጻሉ።"</string>
     <plurals name="dvr_schedules_recording_duration" formatted="false" msgid="3701771573063918552">
       <item quantity="one">(%1$d ደቂቃዎች)</item>
@@ -347,4 +353,5 @@
     <string name="dvr_date_today_time" msgid="8359696776305244535">"<xliff:g id="TIME_RANGE">%1$s</xliff:g> ዛሬ"</string>
     <string name="dvr_date_tomorrow_time" msgid="8364654556105292594">"<xliff:g id="TIME_RANGE">%1$s</xliff:g> ነገ"</string>
     <string name="program_guide_critic_score" msgid="340530743913585150">"ነጥብ"</string>
+    <string name="recorded_programs_preview_channel" msgid="890404366427245812">"የተቀረጹ ፕሮግራሞች"</string>
 </resources>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index f91139b..a1b4720 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -20,9 +20,8 @@
     <string name="audio_channel_mono" msgid="8812941280022167428">"أحادية"</string>
     <string name="audio_channel_stereo" msgid="5798223286366598036">"ستيريو"</string>
     <string name="menu_title_play_controls" msgid="2490237359425190652">"عناصر التحكم في التشغيل"</string>
-    <string name="menu_title_channels" msgid="1801845517674690003">"أحدث القنوات"</string>
+    <string name="menu_title_channels" msgid="1949045451672990132">"القنوات"</string>
     <string name="menu_title_options" msgid="7184594626814914022">"خيارات التلفزيون"</string>
-    <string name="menu_title_pip_options" msgid="4252934960762407689">"‏خيارات PIP"</string>
     <string name="play_controls_unavailable" msgid="8900698593131693148">"عناصر تحكم التشغيل غير متاحة لهذه القناة"</string>
     <string name="play_controls_description_play_pause" msgid="7225542861669250558">"تشغيل الفيديو أو إيقافه مؤقتًا"</string>
     <string name="play_controls_description_fast_forward" msgid="4414963867482448652">"تقديم سريع"</string>
@@ -32,40 +31,22 @@
     <string name="channels_item_program_guide" msgid="2889807207930678418">"دليل البرامج"</string>
     <string name="channels_item_setup" msgid="6557412175737379022">"تتوفر قنوات جديدة"</string>
     <string name="channels_item_app_link_app_launcher" msgid="1395352122187670523">"فتح <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="options_item_closed_caption" msgid="5945274655046367170">"التسميات التوضيحية المغلقة"</string>
+    <string name="options_item_closed_caption" msgid="5945274655046367170">"الترجمة والشرح"</string>
     <string name="options_item_display_mode" msgid="7989243076748680140">"وضع العرض"</string>
     <string name="options_item_pip" msgid="3951350386626879645">"PIP"</string>
-    <string name="options_item_pip_on" msgid="4647247480009077381">"تشغيل"</string>
-    <string name="options_item_pip_off" msgid="8799500161592387451">"إيقاف"</string>
     <string name="options_item_multi_audio" msgid="5118851311937896923">"إعدادات صوتية متعددة"</string>
     <string name="options_item_more_channels" msgid="971040969622943300">"جلب قنوات أخرى"</string>
     <string name="options_item_settings" msgid="7623205838542400074">"الإعدادات"</string>
-    <string name="pip_options_item_source" msgid="1050948525825308652">"المصدر"</string>
-    <string name="pip_options_item_swap" msgid="7245362207353732048">"تبديل"</string>
-    <string name="pip_options_item_swap_on" msgid="5647182616484983505">"تشغيل"</string>
-    <string name="pip_options_item_swap_off" msgid="3023597229417709768">"إيقاف"</string>
-    <string name="pip_options_item_sound" msgid="3107034283791231648">"الصوت"</string>
-    <string name="pip_options_item_sound_main" msgid="1063937534112558691">"الرئيسي"</string>
-    <string name="pip_options_item_sound_pip_window" msgid="435064142351853008">"‏نافذة PIP"</string>
-    <string name="pip_options_item_layout" msgid="5126206342060967651">"التنسيق"</string>
-    <string name="pip_options_item_layout_bottom_right" msgid="5256839015192920238">"أسفل اليمين"</string>
-    <string name="pip_options_item_layout_top_right" msgid="3585067214787055279">"أعلى اليمين"</string>
-    <string name="pip_options_item_layout_top_left" msgid="2173997010201637462">"أعلى اليسار"</string>
-    <string name="pip_options_item_layout_bottom_left" msgid="1727197877968915329">"أسفل اليسار"</string>
-    <string name="pip_options_item_layout_side_by_side" msgid="9009784972740915779">"جنبًا إلى جنب"</string>
-    <string name="pip_options_item_size" msgid="5662894110243750158">"الحجم"</string>
-    <string name="pip_options_item_size_big" msgid="6303301565563444718">"كبيرة"</string>
-    <string name="pip_options_item_size_small" msgid="7393731186585004206">"صغيرة"</string>
-    <string name="side_panel_title_pip_input_source" msgid="8722544967592970296">"مصدر الإدخال"</string>
     <string name="input_long_label_for_tuner" msgid="3423514011918382209">"تلفزيون (هوائي/كابل)"</string>
     <string name="no_program_information" msgid="1049844207745145132">"لا تتوفّر معلومات عن البرنامج"</string>
     <string name="program_title_for_no_information" msgid="384451471906070101">"لا توجد معلومات"</string>
     <string name="program_title_for_blocked_channel" msgid="5358005891746983819">"القناة المحظورة"</string>
-    <string name="default_language" msgid="4122326459624337928">"لغة غير معروفة"</string>
-    <string name="side_panel_title_closed_caption" msgid="2513905054082568780">"التسميات التوضيحية المغلقة"</string>
+    <string name="multi_audio_unknown_language" msgid="8639884627225598143">"لغة غير معروفة"</string>
+    <string name="closed_caption_unknown_language" msgid="4745445516930229353">"‏مقاطع ترجمة وشرح %1$d"</string>
+    <string name="side_panel_title_closed_caption" msgid="2513905054082568780">"الترجمة والشرح"</string>
     <string name="closed_caption_option_item_off" msgid="4824009036785647753">"إيقاف"</string>
     <string name="closed_caption_system_settings" msgid="1856974607743827178">"تخصيص التنسيق"</string>
-    <string name="closed_caption_system_settings_description" msgid="6285276836057964524">"تعيين التفضيلات عبر النظام للتسميات التوضيحية المغلقة"</string>
+    <string name="closed_caption_system_settings_description" msgid="6285276836057964524">"تعيين التفضيلات عبر النظام للترجمة والشرح"</string>
     <string name="side_panel_title_display_mode" msgid="6346286034015991229">"وضع العرض"</string>
     <string name="side_panel_title_multi_audio" msgid="5970537894780855080">"إعدادات صوتية متعددة"</string>
     <string name="multi_audio_channel_mono" msgid="6229173848963557723">"أحادية"</string>
@@ -83,6 +64,7 @@
     <string name="edit_channels_group_divider_for_sd" msgid="5846195382266436167">"دقة قياسية"</string>
     <string name="side_panel_title_group_by" msgid="1783176601425788939">"تجميع بحسب"</string>
     <string name="program_guide_content_locked" msgid="198056836554559553">"تم حظر هذا البرنامج"</string>
+    <string name="program_guide_content_locked_unrated" msgid="8665707501827594275">"لم يتم تقييم هذا البرنامج"</string>
     <string name="program_guide_content_locked_format" msgid="514915272862967389">"تم تصنيف هذا البرنامج على أنه <xliff:g id="RATING">%1$s</xliff:g>."</string>
     <string name="msg_no_setup_activity" msgid="7746893144640239857">"الإدخال ليس متوافقًا مع الفحص التلقائي"</string>
     <string name="msg_unable_to_start_setup_activity" msgid="8402612466599977855">"تعذر بدء البحث التلقائي في \"<xliff:g id="TV_INPUT">%s</xliff:g>\""</string>
@@ -96,7 +78,6 @@
       <item quantity="one">‏تمت إضافة %1$d قناة</item>
     </plurals>
     <string name="msg_no_channel_added" msgid="2882586037409921925">"لم تتم إضافة قنوات"</string>
-    <string name="input_selector_tuner_label" msgid="6631205039926880892">"موالف"</string>
     <string name="menu_parental_controls" msgid="2474294054521345840">"عناصر التحكم الأبوي"</string>
     <string name="option_toggle_parental_controls_on" msgid="9122851821454622696">"تشغيل"</string>
     <string name="option_toggle_parental_controls_off" msgid="7797910199040440618">"إيقاف"</string>
@@ -112,6 +93,8 @@
     <string name="other_countries" msgid="8342216398676184749">"بلدان أخرى"</string>
     <string name="option_no_locked_channel" msgid="2543094883927978444">"لا شيء"</string>
     <string name="option_no_enabled_rating_system" msgid="4139765018454678381">"لا شيء"</string>
+    <string name="unrated_rating_name" msgid="1387302638048393814">"غير مقيَّم"</string>
+    <string name="option_block_unrated_programs" msgid="1108474218158184706">"حظر البرامج غير المقيَّمة"</string>
     <string name="option_rating_none" msgid="5204552587760414879">"لا شيء"</string>
     <string name="option_rating_high" msgid="8898400296730158893">"قيود مرتفعة"</string>
     <string name="option_rating_medium" msgid="6455853836426497151">"قيود متوسّطة"</string>
@@ -128,6 +111,7 @@
     <string name="pin_enter_unlock_channel" msgid="4797922378296393173">"أدخل رقم التعريف الشخصي لمشاهدة هذه القناة"</string>
     <string name="pin_enter_unlock_program" msgid="7311628843209871203">"أدخل رقم التعريف الشخصي لمشاهدة هذا البرنامج"</string>
     <string name="pin_enter_unlock_dvr" msgid="1637468108723176684">"هذا البرنامج يحمل التقييم <xliff:g id="RATING">%1$s</xliff:g>. يمكنك إدخال رقم التعريف الشخصي لمشاهدة هذا البرنامج"</string>
+    <string name="pin_enter_unlock_dvr_unrated" msgid="3911986002480028829">"لم يتم تقييم هذا البرنامج. أدخل رقم التعريف الشخصي لمشاهدة هذا البرنامج"</string>
     <string name="pin_enter_pin" msgid="249314665028035038">"أدخل رقم التعريف الشخصي"</string>
     <string name="pin_enter_create_pin" msgid="3385754356793309946">"لتعيين عناصر التحكم الأبوي، عليك إنشاء رقم تعريف شخصي"</string>
     <string name="pin_enter_new_pin" msgid="1739471585849790384">"إدخال رقم تعريف شخصي جديد"</string>
@@ -143,22 +127,31 @@
     </plurals>
     <string name="pin_toast_wrong" msgid="2126295626095048746">"رقم التعريف الشخصي هذا خاطئ. أعد المحاولة."</string>
     <string name="pin_toast_not_match" msgid="4283624338659521768">"أعد المحاولة، رقم التعريف الشخصي غير مطابق"</string>
+    <string name="postal_code_guidance_title" msgid="4144793072363879833">"أدخل الرمز البريدي."</string>
+    <string name="postal_code_guidance_description" msgid="4224511147377561572">"‏سيستخدم تطبيق Live TV الرمز البريدي لتوفير دليل برامج كامل لقنوات التلفزيون."</string>
+    <string name="postal_code_action_description" msgid="4428720607051109105">"أدخل الرمز البريدي"</string>
+    <string name="postal_code_invalid_warning" msgid="923373584458340746">"الرمز البريدي غير صالح"</string>
     <string name="side_panel_title_settings" msgid="8244327316510918755">"الإعدادات"</string>
     <string name="settings_channel_source_item_customize_channels" msgid="6115770679732624593">"تخصيص قائمة قنوات"</string>
     <string name="settings_channel_source_item_customize_channels_description" msgid="8966243790328235580">"اختر القنوات الخاصة بدليل البرامج."</string>
     <string name="settings_channel_source_item_setup" msgid="4566190088656419070">"مصادر القنوات"</string>
     <string name="settings_channel_source_item_setup_new_inputs" msgid="4845822152617430787">"تتوفر قنوات جديدة."</string>
     <string name="settings_parental_controls" msgid="5449397921700749317">"أدوات الرقابة الأبوية"</string>
+    <string name="settings_trickplay" msgid="7762730842781251582">"الانتقال الزمني"</string>
+    <string name="settings_trickplay_description" msgid="3060323976172182519">"يمكنك التسجيل أثناء المشاهدة حتى يتسنى لك إيقاف بث البرامج المباشرة مؤقتًا أو إرجاع البث إلى أوقات سابقة.\nتحذير: قد يؤدي هذا إلى استهلاك مكثّف لمساحة وحدة التخزين الداخلية؛ ما يؤدي إلى نفادها في فترة قصيرة."</string>
     <string name="settings_menu_licenses" msgid="1257646083838406103">"تراخيص البرامج المفتوحة المصدر"</string>
-    <string name="dialog_title_licenses" msgid="4471754920475076623">"تراخيص البرامج المفتوحة المصدر"</string>
+    <string name="settings_send_feedback" msgid="6897217561193701829">"إرسال تعليقات"</string>
     <string name="settings_menu_version" msgid="2604030372029921403">"الإصدار"</string>
     <string name="tvview_channel_locked" msgid="6486375335718400728">"لمشاهدة هذه القناة، اضغط على اليمين وأدخل رقم التعريف الشخصي"</string>
     <string name="tvview_content_locked" msgid="391823084917017730">"لمشاهدة هذا البرنامج، اضغط على اليمين وأدخل رقم التعريف الشخصي"</string>
+    <string name="tvview_content_locked_unrated" msgid="2273799245001356782">"لم يتم تقييم هذا البرنامج.\nلمشاهدة هذا البرنامج، اضغط على اليمين وأدخل رقم التعريف الشخصي"</string>
     <string name="tvview_content_locked_format" msgid="3741874636031338247">"تم تصنيف هذا البرنامج على أنه <xliff:g id="RATING">%1$s</xliff:g>.\nلمشاهدة هذا البرنامج، اضغط على اليمين وأدخل رقم التعريف الشخصي."</string>
     <string name="tvview_channel_locked_no_permission" msgid="677653135227590620">"‏لمشاهدة هذه القناة، يمكنك استخدام تطبيق Live TV الافتراضي."</string>
     <string name="tvview_content_locked_no_permission" msgid="2279126235895507764">"‏لمشاهدة هذا البرنامج، يمكنك استخدام تطبيق Live TV الافتراضي."</string>
+    <string name="tvview_content_locked_unrated_no_permission" msgid="4056090982858455110">"‏لم يتم تقييم هذا البرنامج.\nلمشاهدة هذا البرنامج، استخدم تطبيق Live TV الافتراضي."</string>
     <string name="tvview_content_locked_format_no_permission" msgid="5690794624572767106">"‏هذا البرنامج يحمل التقييم <xliff:g id="RATING">%1$s</xliff:g>.\nلمشاهدة هذا البرنامج، يمكنك استخدام تطبيق Live TV الافتراضي."</string>
     <string name="shrunken_tvview_content_locked" msgid="7686397981042364446">&qu