<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>95058</bug_id>
          
          <creation_ts>2012-08-27 01:53:18 -0700</creation_ts>
          <short_desc>[WK2] Add color picker API support for WebKit2</short_desc>
          <delta_ts>2012-09-13 22:08:29 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>91832</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="KwangYong Choi">ky0.choi</reporter>
          <assigned_to name="KwangYong Choi">ky0.choi</assigned_to>
          <cc>abecsi</cc>
    
    <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>gustavo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hausmann</cc>
    
    <cc>kenneth</cc>
    
    <cc>menard</cc>
    
    <cc>mrobinson</cc>
    
    <cc>rakuco</cc>
    
    <cc>tmpsantos</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zoltan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>705062</commentid>
    <comment_count>0</comment_count>
    <who name="KwangYong Choi">ky0.choi</who>
    <bug_when>2012-08-27 01:53:18 -0700</bug_when>
    <thetext>Add color picker API support for WebKit2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708532</commentid>
    <comment_count>1</comment_count>
    <who name="KwangYong Choi">ky0.choi</who>
    <bug_when>2012-08-30 05:47:41 -0700</bug_when>
    <thetext>I implemented this feature to bug 91832.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710551</commentid>
    <comment_count>2</comment_count>
      <attachid>161901</attachid>
    <who name="KwangYong Choi">ky0.choi</who>
    <bug_when>2012-09-03 05:13:02 -0700</bug_when>
    <thetext>Created attachment 161901
Patch

I think, it can be handled separately from bug 91832.

In this patch, there are two UI client callbacks for show/hide color picker. And one set API for setting selected color.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710553</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-03 05:16:30 -0700</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710554</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-03 05:16:52 -0700</bug_when>
    <thetext>Attachment 161901 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/CMakeLists.txt&apos;, u&apos;Source/W...&quot; exit_code: 1
Source/WebKit2/UIProcess/WebColorChooserProxy.h:65:  The parameter name &quot;client&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 1 in 28 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710562</commentid>
    <comment_count>5</comment_count>
      <attachid>161904</attachid>
    <who name="KwangYong Choi">ky0.choi</who>
    <bug_when>2012-09-03 05:27:55 -0700</bug_when>
    <thetext>Created attachment 161904
Patch

Fixed style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710585</commentid>
    <comment_count>6</comment_count>
      <attachid>161904</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-09-03 06:09:33 -0700</bug_when>
    <thetext>Comment on attachment 161904
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=161904&amp;action=review

&gt; Source/WebKit2/Shared/APIObject.h:111
&gt; +        TypeColorPickerResultListener,

Wrong alphabetical order.

&gt; Source/WebKit2/UIProcess/WebColorChooserProxy.h:65
&gt; +    WebColorChooserProxy(Client*);

Missing explicit keyword.

&gt; Source/WebKit2/UIProcess/WebColorPickerResultListenerProxy.h:53
&gt; +    WebColorPickerResultListenerProxy(WebPageProxy*);

ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710763</commentid>
    <comment_count>7</comment_count>
      <attachid>161950</attachid>
    <who name="KwangYong Choi">ky0.choi</who>
    <bug_when>2012-09-03 17:36:05 -0700</bug_when>
    <thetext>Created attachment 161950
Patch

Fixed coding style and added explicit keyword.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710827</commentid>
    <comment_count>8</comment_count>
      <attachid>161950</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-09-03 23:15:38 -0700</bug_when>
    <thetext>Comment on attachment 161950
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=161950&amp;action=review

&gt; Source/WebKit2/UIProcess/API/C/WKColorPickerResultListener.cpp:39
&gt; +void WKColorPickerResultListenerColorSet(WKColorPickerResultListenerRef listenerRef, const WKStringRef color)

WKColorPickerResultListenerColorSet -&gt; WKColorPickerResultListenerSetColor ? We shouldn&apos;t use Yoda style here, this isn&apos;t EFL :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710838</commentid>
    <comment_count>9</comment_count>
      <attachid>161973</attachid>
    <who name="KwangYong Choi">ky0.choi</who>
    <bug_when>2012-09-03 23:48:17 -0700</bug_when>
    <thetext>Created attachment 161973
Patch

WKColorPickerResultListenerColorSet -&gt; WKColorPickerResultListenerSetColor</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714389</commentid>
    <comment_count>10</comment_count>
      <attachid>161973</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-09-07 04:33:38 -0700</bug_when>
    <thetext>Comment on attachment 161973
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=161973&amp;action=review

It looks showColorPicker and hideColorPicker are duplicate with Bug 91832. Do you explain what is difference between this bug and Bug 91832 ?

&gt; Source/WebKit2/UIProcess/API/C/WKColorPickerResultListener.cpp:35
&gt; +{

Missing #if ENABLE() macro.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714425</commentid>
    <comment_count>11</comment_count>
    <who name="KwangYong Choi">ky0.choi</who>
    <bug_when>2012-09-07 05:19:57 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 161973 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=161973&amp;action=review
&gt; 
&gt; It looks showColorPicker and hideColorPicker are duplicate with Bug 91832. Do you explain what is difference between this bug and Bug 91832 ?

This patch has only WK2 C API part. I will change bug 91832 to use this patch. It&apos;s EFL API implementation.

&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/C/WKColorPickerResultListener.cpp:35
&gt; &gt; +{
&gt; 
&gt; Missing #if ENABLE() macro.

I think, WKColorPickerResultListenerGetTypeID() should return TypeColorPickerResultListener always even though ENABLE(COLOR_INPUT_TYPE) is not defined. So I&apos;m not using ENABLE() macro.

WKColorPickerResultListenerGetTypeID() may return 0 instead of TypeColorPickerResultListener?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714436</commentid>
    <comment_count>12</comment_count>
      <attachid>162751</attachid>
    <who name="KwangYong Choi">ky0.choi</who>
    <bug_when>2012-09-07 05:49:52 -0700</bug_when>
    <thetext>Created attachment 162751
Patch

Added #if ENABLE()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715732</commentid>
    <comment_count>13</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-09-09 23:00:48 -0700</bug_when>
    <thetext>Looks find on my side. Simon, could you take a look this patch ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718065</commentid>
    <comment_count>14</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-09-12 01:49:29 -0700</bug_when>
    <thetext>If there is no comment by tomorrow, I&apos;d like to set r+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>720205</commentid>
    <comment_count>15</comment_count>
      <attachid>162751</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-13 18:33:36 -0700</bug_when>
    <thetext>Comment on attachment 162751
Patch

Rejecting attachment 162751 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
hing file Source/WebKit2/win/WebKit2.vcproj
patching file Source/WebKit2/win/WebKit2Generated.make
patching file Tools/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file Tools/MiniBrowser/mac/BrowserWindowController.m
patching file Tools/MiniBrowser/win/BrowserView.cpp
patching file Tools/WebKitTestRunner/TestController.cpp

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--force&apos;, u&apos;--reviewer&apos;, u&apos;Gyuyoung K...&quot; exit_code: 1 cwd: /mnt/git/webkit-commit-queue

Full output: http://queues.webkit.org/results/13845413</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>720245</commentid>
    <comment_count>16</comment_count>
      <attachid>164032</attachid>
    <who name="KwangYong Choi">ky0.choi</who>
    <bug_when>2012-09-13 19:52:23 -0700</bug_when>
    <thetext>Created attachment 164032
Patch

Rebased.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>720246</commentid>
    <comment_count>17</comment_count>
      <attachid>164032</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-09-13 19:54:39 -0700</bug_when>
    <thetext>Comment on attachment 164032
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=164032&amp;action=review

&gt; Source/WebKit2/Shared/API/c/WKBase.h:127
&gt; +typedef const struct OpaqueWKColorPickerResultListener* WKColorPickerResultListenerRef;

Nit: Wrong alphabetical order.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>720252</commentid>
    <comment_count>18</comment_count>
      <attachid>164035</attachid>
    <who name="KwangYong Choi">ky0.choi</who>
    <bug_when>2012-09-13 20:14:30 -0700</bug_when>
    <thetext>Created attachment 164035
Patch

Fixed alphabetical order.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>720305</commentid>
    <comment_count>19</comment_count>
      <attachid>164035</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-13 22:08:23 -0700</bug_when>
    <thetext>Comment on attachment 164035
Patch

Clearing flags on attachment: 164035

Committed r128553: &lt;http://trac.webkit.org/changeset/128553&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>720306</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-13 22:08:29 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161901</attachid>
            <date>2012-09-03 05:13:02 -0700</date>
            <delta_ts>2012-09-03 05:27:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>diff</filename>
            <type>text/plain</type>
            <size>43612</size>
            <attacher name="KwangYong Choi">ky0.choi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYktp
dDIvQ01ha2VMaXN0cy50eHQKaW5kZXggYzQzZGQ0YS4uOWQyYjJkYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0
cy50eHQKQEAgLTIzNCw2ICsyMzQsOCBAQCBTRVQoV2ViS2l0Ml9TT1VSQ0VTCiAgICAgVUlQcm9j
ZXNzL1dlYkJhY2tGb3J3YXJkTGlzdC5jcHAKICAgICBVSVByb2Nlc3MvV2ViQmF0dGVyeU1hbmFn
ZXJQcm94eS5jcHAKICAgICBVSVByb2Nlc3MvV2ViQmF0dGVyeVByb3ZpZGVyLmNwcAorICAgIFVJ
UHJvY2Vzcy9XZWJDb2xvckNob29zZXJQcm94eS5jcHAKKyAgICBVSVByb2Nlc3MvV2ViQ29sb3JQ
aWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5LmNwcAogICAgIFVJUHJvY2Vzcy9XZWJDb25uZWN0aW9u
VG9XZWJQcm9jZXNzLmNwcAogICAgIFVJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcAogICAgIFVJUHJv
Y2Vzcy9XZWJDb250ZXh0Q29ubmVjdGlvbkNsaWVudC5jcHAKQEAgLTI4OSw2ICsyOTEsNyBAQCBT
RVQoV2ViS2l0Ml9TT1VSQ0VTCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLQmFja0ZvcndhcmRMaXN0
SXRlbS5jcHAKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tCYXR0ZXJ5TWFuYWdlci5jcHAKICAgICBV
SVByb2Nlc3MvQVBJL0MvV0tCYXR0ZXJ5U3RhdHVzLmNwcAorICAgIFVJUHJvY2Vzcy9BUEkvQy9X
S0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIuY3BwCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLQ29u
dGV4dC5jcHAKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tDb29raWVNYW5hZ2VyLmNwcAogICAgIFVJ
UHJvY2Vzcy9BUEkvQy9XS0NyZWRlbnRpYWwuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNGFjYmE5ZS4uMjk0
MzI5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY4IEBACisyMDEyLTA5LTAzICBLd2FuZ1lvbmcg
Q2hvaSAgPGt5MC5jaG9pQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtXSzJdIEFkZCBjb2xvciBw
aWNrZXIgQVBJIHN1cHBvcnQgZm9yIFdlYktpdDIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTk1MDU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGNvbG9yIHBpY2tlciBBUEkgdG8g
V2ViS2l0Mi4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEdOVW1ha2Vm
aWxlLmxpc3QuYW06CisgICAgICAgICogU2hhcmVkL0FQSS9jL1dLQmFzZS5oOgorICAgICAgICAq
IFNoYXJlZC9BUElDbGllbnRUcmFpdHMuY3BwOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAg
KiBTaGFyZWQvQVBJQ2xpZW50VHJhaXRzLmg6CisgICAgICAgICogU2hhcmVkL0FQSU9iamVjdC5o
OgorICAgICAgICAqIFRhcmdldC5wcmk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLQVBJ
Q2FzdC5oOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tD
b2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmNwcDogQWRkZWQuCisgICAgICAgIChXS0NvbG9yUGlj
a2VyUmVzdWx0TGlzdGVuZXJHZXRUeXBlSUQpOgorICAgICAgICAoV0tDb2xvclBpY2tlclJlc3Vs
dExpc3RlbmVyQ29sb3JTZXQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS0NvbG9yUGlj
a2VyUmVzdWx0TGlzdGVuZXIuaDogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dL
UGFnZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVJQ2xpZW50LmNwcDoK
KyAgICAgICAgKGF0dGFjaFVJQ2xpZW50VG9WaWV3KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
Q29sb3JDaG9vc2VyUHJveHkuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAg
IChXZWJLaXQ6OldlYkNvbG9yQ2hvb3NlclByb3h5OjpXZWJDb2xvckNob29zZXJQcm94eSk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkNvbG9yQ2hvb3NlclByb3h5Ojp+V2ViQ29sb3JDaG9vc2VyUHJv
eHkpOgorICAgICAgICAoV2ViS2l0OjpXZWJDb2xvckNob29zZXJQcm94eTo6ZW5kQ2hvb3Nlcik6
CisgICAgICAgIChXZWJLaXQ6OldlYkNvbG9yQ2hvb3NlclByb3h5OjpzZXRTZWxlY3RlZENvbG9y
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQ29sb3JDaG9vc2VyUHJveHkuaDoKKyAgICAgICAg
KFdlYkNvbG9yQ2hvb3NlclByb3h5KToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29sb3JDaG9vc2Vy
UHJveHk6OmNyZWF0ZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvbG9yUGlja2VyUmVzdWx0
TGlzdGVuZXJQcm94eS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdl
YktpdDo6V2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5OjpXZWJDb2xvclBpY2tlclJl
c3VsdExpc3RlbmVyUHJveHkpOgorICAgICAgICAoV2ViS2l0OjpXZWJDb2xvclBpY2tlclJlc3Vs
dExpc3RlbmVyUHJveHk6On5XZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHk6OmludmFsaWRh
dGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHk6
OnNldENvbG9yKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0
ZW5lclByb3h5Lmg6IEFkZGVkLgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYkNvbG9y
UGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eSk6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbG9yUGlj
a2VyUmVzdWx0TGlzdGVuZXJQcm94eTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29s
b3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5Ojp0eXBlKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpjbG9zZSk6
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6c2hvd0NvbG9yQ2hvb3Nlcik6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkRW5kQ29sb3JDaG9vc2VyKToKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZVByb3h5Ojpwcm9jZXNzRGlkQ3Jhc2gpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJQYWdl
UHJveHkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJVSUNsaWVudC5jcHA6CisgICAgICAgIChX
ZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJVSUNsaWVudDo6c2hvd0NvbG9yUGlja2VyKToK
KyAgICAgICAgKFdlYktpdDo6V2ViVUlDbGllbnQ6OmhpZGVDb2xvclBpY2tlcik6CisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlVJQ2xpZW50Lmg6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAo
V2ViVUlDbGllbnQpOgorICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiB3aW4vV2ViS2l0Mi52Y3Byb2o6CisgICAgICAgICogd2luL1dlYktpdDJH
ZW5lcmF0ZWQubWFrZToKKwogMjAxMi0wOS0wMiAgQnl1bmd3b28gTGVlICA8Ync4MC5sZWVAZ21h
aWwuY29tPgogCiAgICAgICAgIFtFRkxdIEFkZCBtaXNzaW5nIHNlbWljb2xvbiBhdCB0aGUgZW5k
IG9mIHNvbWUgbGluZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5s
aXN0LmFtIGIvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCBkNDE3YjVm
Li42MGI2NDg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFt
CisrKyBiL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTQ5LDYgKzQ5LDcg
QEAgd2Via2l0Ml9oX2FwaSArPSBcCiAJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tCYWNr
Rm9yd2FyZExpc3RJdGVtLmggXAogCSQoV2ViS2l0MikvVUlQcm9jZXNzL0FQSS9DL1dLQmF0dGVy
eU1hbmFnZXIuaCBcCiAJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tCYXR0ZXJ5U3RhdHVz
LmggXAorCSQoV2ViS2l0MikvVUlQcm9jZXNzL0FQSS9DL1dLQ29sb3JQaWNrZXJSZXN1bHRMaXN0
ZW5lci5oIFwKIAkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuaCBcCiAJJChX
ZWJLaXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0UHJpdmF0ZS5oIFwKIAkkKFdlYktpdDIp
L1VJUHJvY2Vzcy9BUEkvQy9XS0Nvb2tpZU1hbmFnZXIuaCBcCkBAIC01MzAsNiArNTMxLDggQEAg
d2Via2l0Ml9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tC
YXR0ZXJ5TWFuYWdlci5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tCYXR0
ZXJ5U3RhdHVzLmNwcCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQmF0dGVy
eVN0YXR1cy5oIFwKKwlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb2xvclBpY2tl
clJlc3VsdExpc3RlbmVyLmNwcCBcCisJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
Q29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lci5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tDb250ZXh0LmNwcCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
Q29udGV4dC5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0UHJp
dmF0ZS5oIFwKQEAgLTgxNCw3ICs4MTcsMTAgQEAgd2Via2l0Ml9zb3VyY2VzICs9IFwKIAlTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQmF0dGVyeU1hbmFnZXJQcm94eS5oIFwKIAlTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViQmF0dGVyeVByb3ZpZGVyLmNwcCBcCiAJU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYkJhdHRlcnlQcm92aWRlci5oIFwKKwlTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViQ29sb3JDaG9vc2VyUHJveHkuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViQ29sb3JDaG9vc2VyUHJveHkuaCBcCisJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eS5jcHAgXAorCVNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkuaCBcCiAJU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwIFwKIAlTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oIFwKIAlTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL0FQSS9jL1dLQmFzZS5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9j
L1dLQmFzZS5oCmluZGV4IDA2YWEyODYuLmU0ZDA2NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9BUEkvYy9XS0Jhc2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJ
L2MvV0tCYXNlLmgKQEAgLTEyNCw2ICsxMjQsNyBAQCB0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFx
dWVXS1ByZWZlcmVuY2VzKiBXS1ByZWZlcmVuY2VzUmVmOwogdHlwZWRlZiBjb25zdCBzdHJ1Y3Qg
T3BhcXVlV0tQcm90ZWN0aW9uU3BhY2UqIFdLUHJvdGVjdGlvblNwYWNlUmVmOwogdHlwZWRlZiBj
b25zdCBzdHJ1Y3QgT3BhcXVlV0tUZXh0Q2hlY2tlciogV0tUZXh0Q2hlY2tlclJlZjsKIHR5cGVk
ZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLVmlicmF0aW9uKiBXS1ZpYnJhdGlvblJlZjsKK3R5cGVk
ZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lciogV0tDb2xv
clBpY2tlclJlc3VsdExpc3RlbmVyUmVmOwogCiAvKiBXZWJLaXQyIEJ1bmRsZSB0eXBlcyAqLwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJQ2xpZW50VHJhaXRzLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElDbGllbnRUcmFpdHMuY3BwCmluZGV4IGFkM2QyMjAu
LmJhMzY0YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElDbGllbnRUcmFp
dHMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElDbGllbnRUcmFpdHMuY3BwCkBA
IC02NSw2ICs2NSw3IEBAIGNvbnN0IHNpemVfdCBBUElDbGllbnRUcmFpdHM8V0tQYWdlTG9hZGVy
Q2xpZW50Pjo6aW50ZXJmYWNlU2l6ZXNCeVZlcnNpb25bXSA9IHsKIAogY29uc3Qgc2l6ZV90IEFQ
SUNsaWVudFRyYWl0czxXS1BhZ2VVSUNsaWVudD46OmludGVyZmFjZVNpemVzQnlWZXJzaW9uW10g
PSB7CiAgICAgb2Zmc2V0b2YoV0tQYWdlVUlDbGllbnQsIGNyZWF0ZU5ld1BhZ2UpLAorICAgIG9m
ZnNldG9mKFdLUGFnZVVJQ2xpZW50LCBzaG93Q29sb3JQaWNrZXIpLAogICAgIHNpemVvZihXS1Bh
Z2VVSUNsaWVudCkKIH07CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
QVBJQ2xpZW50VHJhaXRzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJQ2xpZW50VHJhaXRz
LmgKaW5kZXggNzM1MmI1Ni4uMzg5NjIwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL0FQSUNsaWVudFRyYWl0cy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElDbGll
bnRUcmFpdHMuaApAQCAtNjMsNyArNjMsNyBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBBUElDbGllbnRU
cmFpdHM8V0tQYWdlTG9hZGVyQ2xpZW50PiB7CiB9OwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBUElD
bGllbnRUcmFpdHM8V0tQYWdlVUlDbGllbnQ+IHsKLSAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGlu
dGVyZmFjZVNpemVzQnlWZXJzaW9uWzJdOworICAgIHN0YXRpYyBjb25zdCBzaXplX3QgaW50ZXJm
YWNlU2l6ZXNCeVZlcnNpb25bM107CiB9OwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBUElDbGllbnRU
cmFpdHM8V0tCdW5kbGVQYWdlRm9ybUNsaWVudD4gewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL0FQSU9iamVjdC5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSU9iamVjdC5o
CmluZGV4IDcwOGVmZmUuLmZjMWVkYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9BUElPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJT2JqZWN0LmgKQEAg
LTEwOCw2ICsxMDgsNyBAQCBwdWJsaWM6CiAgICAgICAgIFR5cGVQcmVmZXJlbmNlcywKICAgICAg
ICAgVHlwZVRleHRDaGVja2VyLAogICAgICAgICBUeXBlVmlicmF0aW9uLAorICAgICAgICBUeXBl
Q29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lciwKIAogICAgICAgICAvLyBCdW5kbGUgdHlwZXMKICAg
ICAgICAgVHlwZUJ1bmRsZSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1RhcmdldC5wcmkg
Yi9Tb3VyY2UvV2ViS2l0Mi9UYXJnZXQucHJpCmluZGV4IDIxZTJkYzEuLmJmZDM0YTkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYktpdDIvVGFy
Z2V0LnByaQpAQCAtMTUwLDYgKzE1MCw3IEBAIEhFQURFUlMgKz0gXAogICAgIFVJUHJvY2Vzcy9B
UEkvQy9XS0JhY2tGb3J3YXJkTGlzdEl0ZW0uaCBcCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLQmF0
dGVyeU1hbmFnZXIuaCBcCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLQmF0dGVyeVN0YXR1cy5oIFwK
KyAgICBVSVByb2Nlc3MvQVBJL0MvV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmggXAogICAg
IFVJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuaCBcCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLQ29u
dGV4dFByaXZhdGUuaCBcCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLQ3JlZGVudGlhbC5oIFwKQEAg
LTIyNSw2ICsyMjYsNyBAQCBIRUFERVJTICs9IFwKICAgICBVSVByb2Nlc3MvV2ViQmF0dGVyeU1h
bmFnZXJQcm94eS5oIFwKICAgICBVSVByb2Nlc3MvV2ViQmF0dGVyeVByb3ZpZGVyLmggXAogICAg
IFVJUHJvY2Vzcy9XZWJDb2xvckNob29zZXJQcm94eS5oIFwKKyAgICBVSVByb2Nlc3MvV2ViQ29s
b3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5LmggXAogICAgIFVJUHJvY2Vzcy9XZWJDb25uZWN0
aW9uVG9XZWJQcm9jZXNzLmggXAogICAgIFVJUHJvY2Vzcy9XZWJDb250ZXh0LmggXAogICAgIFVJ
UHJvY2Vzcy9XZWJDb250ZXh0Q29ubmVjdGlvbkNsaWVudC5oIFwKQEAgLTQ5OSw2ICs1MDEsNyBA
QCBTT1VSQ0VTICs9IFwKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tCYWNrRm9yd2FyZExpc3RJdGVt
LmNwcCBcCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLQmF0dGVyeU1hbmFnZXIuY3BwIFwKICAgICBV
SVByb2Nlc3MvQVBJL0MvV0tCYXR0ZXJ5U3RhdHVzLmNwcCBcCisgICAgVUlQcm9jZXNzL0FQSS9D
L1dLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lci5jcHAgXAogICAgIFVJUHJvY2Vzcy9BUEkvQy9X
S0NvbnRleHQuY3BwIFwKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tDcmVkZW50aWFsLmNwcCBcCiAg
ICAgVUlQcm9jZXNzL0FQSS9DL1dLRGF0YWJhc2VNYW5hZ2VyLmNwcCBcCkBAIC01NjUsNiArNTY4
LDggQEAgU09VUkNFUyArPSBcCiAgICAgVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkTGlzdC5jcHAg
XAogICAgIFVJUHJvY2Vzcy9XZWJCYXR0ZXJ5TWFuYWdlclByb3h5LmNwcCBcCiAgICAgVUlQcm9j
ZXNzL1dlYkJhdHRlcnlQcm92aWRlci5jcHAgXAorICAgIFVJUHJvY2Vzcy9XZWJDb2xvckNob29z
ZXJQcm94eS5jcHAgXAorICAgIFVJUHJvY2Vzcy9XZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVy
UHJveHkuY3BwIFwKICAgICBVSVByb2Nlc3MvV2ViQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAg
XAogICAgIFVJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcCBcCiAgICAgVUlQcm9jZXNzL1dlYkNvbnRl
eHRDb25uZWN0aW9uQ2xpZW50LmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tBUElDYXN0LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
V0tBUElDYXN0LmgKaW5kZXggYzExZjc0MC4uZTgzOWJkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaApAQCAtNjAsNiArNjAsNyBAQCBjbGFzcyBXZWJCYWNr
Rm9yd2FyZExpc3RJdGVtOwogY2xhc3MgV2ViQmF0dGVyeU1hbmFnZXJQcm94eTsKIGNsYXNzIFdl
YkJhdHRlcnlTdGF0dXM7CiBjbGFzcyBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5OworY2xh
c3MgV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5OwogY2xhc3MgV2ViQ29udGV4dDsK
IGNsYXNzIFdlYkNvb2tpZU1hbmFnZXJQcm94eTsKIGNsYXNzIFdlYkNyZWRlbnRpYWw7CkBAIC0x
MzksNiArMTQwLDcgQEAgV0tfQUREX0FQSV9NQVBQSU5HKFdLUmVuZGVyTGF5ZXJSZWYsIFdlYlJl
bmRlckxheWVyKQogV0tfQUREX0FQSV9NQVBQSU5HKFdLUmVuZGVyT2JqZWN0UmVmLCBXZWJSZW5k
ZXJPYmplY3QpCiBXS19BRERfQVBJX01BUFBJTkcoV0tUZXh0Q2hlY2tlclJlZiwgV2ViVGV4dENo
ZWNrZXIpCiBXS19BRERfQVBJX01BUFBJTkcoV0tWaWJyYXRpb25SZWYsIFdlYlZpYnJhdGlvblBy
b3h5KQorV0tfQUREX0FQSV9NQVBQSU5HKFdLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclJlZiwg
V2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5KQogCiAjaWYgRU5BQkxFKElOU1BFQ1RP
UikKIFdLX0FERF9BUElfTUFQUElORyhXS0luc3BlY3RvclJlZiwgV2ViSW5zcGVjdG9yUHJveHkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb2xvclBpY2tl
clJlc3VsdExpc3RlbmVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0Nv
bG9yUGlja2VyUmVzdWx0TGlzdGVuZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLjkxM2M1NzUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmNwcApAQCAtMCwwICsxLDQ0IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV0tD
b2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmgiCisKKyNpbmNsdWRlICJXS0FQSUNhc3QuaCIKKyNp
bmNsdWRlICJXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkuaCIKKwordXNpbmcgbmFt
ZXNwYWNlIFdlYktpdDsKKworV0tUeXBlSUQgV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyR2V0
VHlwZUlEKCkKK3sKKyAgICByZXR1cm4gdG9BUEkoV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5l
clByb3h5OjpBUElUeXBlKTsKK30KKwordm9pZCBXS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJD
b2xvclNldChXS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJSZWYgbGlzdGVuZXJSZWYsIGNvbnN0
IFdLU3RyaW5nUmVmIGNvbG9yKQoreworI2lmIEVOQUJMRShJTlBVVF9UWVBFX0NPTE9SKQorICAg
IHRvSW1wbChsaXN0ZW5lclJlZiktPnNldENvbG9yKHRvV1RGU3RyaW5nKGNvbG9yKSk7CisjZW5k
aWYKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbG9y
UGlja2VyUmVzdWx0TGlzdGVuZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9X
S0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi5iNjRmNmZmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL1dLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lci5oCkBAIC0wLDAgKzEsNDMgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVy
X2gKKyNkZWZpbmUgV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyX2gKKworI2luY2x1ZGUgPFdl
YktpdDIvV0tCYXNlLmg+CisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5k
aWYKKworV0tfRVhQT1JUIFdLVHlwZUlEIFdLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lckdldFR5
cGVJRCgpOworCitXS19FWFBPUlQgdm9pZCBXS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJDb2xv
clNldChXS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJSZWYgbGlzdGVuZXJSZWYsIGNvbnN0IFdL
U3RyaW5nUmVmIGNvbG9yKTsKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2Vu
ZGlmIC8qIFdLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lcl9oICovCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tQYWdlLmgKaW5kZXggZjc5NDYwOC4uYjU0YzJkMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuaApAQCAtMjI1LDYgKzIyNSw4IEBAIHR5cGVkZWYg
dm9pZCAoKldLUGFnZVNhdmVEYXRhVG9GaWxlSW5Eb3dubG9hZHNGb2xkZXJDYWxsYmFjaykoV0tQ
YWdlUmVmIHBhZ2UsIFdLCiB0eXBlZGVmIGJvb2wgKCpXS1BhZ2VTaG91bGRJbnRlcnJ1cHRKYXZh
U2NyaXB0Q2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsK
IHR5cGVkZWYgdm9pZCAoKldLUGFnZURlY2lkZVBvbGljeUZvck5vdGlmaWNhdGlvblBlcm1pc3Np
b25SZXF1ZXN0Q2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBXS1NlY3VyaXR5T3JpZ2luUmVmIG9y
aWdpbiwgV0tOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdFJlZiBwZXJtaXNzaW9uUmVxdWVz
dCwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7CiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VVbmF2YWls
YWJsZVBsdWdpbkJ1dHRvbkNsaWNrZWRDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLUGx1Z2lu
VW5hdmFpbGFiaWxpdHlSZWFzb24gcGx1Z2luVW5hdmFpbGFiaWxpdHlSZWFzb24sIFdLU3RyaW5n
UmVmIG1pbWVUeXBlLCBXS1N0cmluZ1JlZiB1cmwsIFdLU3RyaW5nUmVmIHBsdWdpbnNQYWdlVVJM
LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKK3R5cGVkZWYgdm9pZCAoKldLUGFnZVNob3dDb2xv
clBpY2tlckNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgaW5pdGlhbENvbG9y
LCBXS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJSZWYgbGlzdGVuZXIsIGNvbnN0IHZvaWQqIGNs
aWVudEluZm8pOwordHlwZWRlZiB2b2lkICgqV0tQYWdlSGlkZUNvbG9yUGlja2VyQ2FsbGJhY2sp
KFdLUGFnZVJlZiBwYWdlLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKIAogLy8gRGVwcmVjYXRl
ZCAgICAKIHR5cGVkZWYgV0tQYWdlUmVmICgqV0tQYWdlQ3JlYXRlTmV3UGFnZUNhbGxiYWNrX2Rl
cHJlY2F0ZWRGb3JVc2VXaXRoVjApKFdLUGFnZVJlZiBwYWdlLCBXS0RpY3Rpb25hcnlSZWYgZmVh
dHVyZXMsIFdLRXZlbnRNb2RpZmllcnMgbW9kaWZpZXJzLCBXS0V2ZW50TW91c2VCdXR0b24gbW91
c2VCdXR0b24sIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwpAQCAtMjgxLDEwICsyODMsMTQgQEAg
c3RydWN0IFdLUGFnZVVJQ2xpZW50IHsKICAgICBXS1BhZ2VNb3VzZURpZE1vdmVPdmVyRWxlbWVu
dENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vdXNlRGlkTW92ZU92ZXJF
bGVtZW50OwogICAgIFdLUGFnZURlY2lkZVBvbGljeUZvck5vdGlmaWNhdGlvblBlcm1pc3Npb25S
ZXF1ZXN0Q2FsbGJhY2sgICAgICAgICAgZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0aW9uUGVybWlz
c2lvblJlcXVlc3Q7CiAgICAgV0tQYWdlVW5hdmFpbGFibGVQbHVnaW5CdXR0b25DbGlja2VkQ2Fs
bGJhY2sgICAgICAgICAgICAgICAgICAgICAgICB1bmF2YWlsYWJsZVBsdWdpbkJ1dHRvbkNsaWNr
ZWQ7CisKKyAgICAvLyBWZXJzaW9uIDIKKyAgICBXS1BhZ2VTaG93Q29sb3JQaWNrZXJDYWxsYmFj
ayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dDb2xvclBpY2tlcjsK
KyAgICBXS1BhZ2VIaWRlQ29sb3JQaWNrZXJDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGhpZGVDb2xvclBpY2tlcjsKIH07CiB0eXBlZGVmIHN0cnVjdCBXS1Bh
Z2VVSUNsaWVudCBXS1BhZ2VVSUNsaWVudDsKIAotZW51bSB7IGtXS1BhZ2VVSUNsaWVudEN1cnJl
bnRWZXJzaW9uID0gMSB9OworZW51bSB7IGtXS1BhZ2VVSUNsaWVudEN1cnJlbnRWZXJzaW9uID0g
MiB9OwogCiAvLyBGaW5kIGNsaWVudC4KIHR5cGVkZWYgdm9pZCAoKldLUGFnZURpZEZpbmRTdHJp
bmdDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIHN0cmluZywgdW5zaWduZWQg
bWF0Y2hDb3VudCwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRVSUNsaWVudC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRVSUNsaWVudC5jcHAKaW5kZXggMWQ5ODVkMy4u
NTlkMGIwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2Vi
S2l0VUlDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdFVJQ2xpZW50LmNwcApAQCAtMjA0LDYgKzIwNCw4IEBAIHZvaWQgYXR0YWNoVUlDbGllbnRU
b1ZpZXcoV2ViS2l0V2ViVmlldyogd2ViVmlldykKICAgICAgICAgbW91c2VEaWRNb3ZlT3ZlckVs
ZW1lbnQsCiAgICAgICAgIDAsIC8vIGRlY2lkZVBvbGljeUZvck5vdGlmaWNhdGlvblBlcm1pc3Np
b25SZXF1ZXN0CiAgICAgICAgIDAsIC8vIHVuYXZhaWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZAor
ICAgICAgICAwLCAvLyBzaG93Q29sb3JQaWNrZXIKKyAgICAgICAgMCwgLy8gaGlkZUNvbG9yUGlj
a2VyCiAgICAgfTsKICAgICBXS1BhZ2VSZWYgd2tQYWdlID0gdG9BUEkod2Via2l0V2ViVmlld0Jh
c2VHZXRQYWdlKFdFQktJVF9XRUJfVklFV19CQVNFKHdlYlZpZXcpKSk7CiAgICAgV0tQYWdlU2V0
UGFnZVVJQ2xpZW50KHdrUGFnZSwgJndrVUlDbGllbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYkNvbG9yQ2hvb3NlclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJDb2xvckNob29zZXJQcm94eS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uNzU1NDA0NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJDb2xvckNob29zZXJQcm94eS5jcHAKQEAgLTAsMCArMSw2MCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYkNvbG9y
Q2hvb3NlclByb3h5LmgiCisKKyNpZiBFTkFCTEUoSU5QVVRfVFlQRV9DT0xPUikKKworbmFtZXNw
YWNlIFdlYktpdCB7CisKK1dlYkNvbG9yQ2hvb3NlclByb3h5OjpXZWJDb2xvckNob29zZXJQcm94
eShDbGllbnQqIGNsaWVudCkKKyAgICA6IG1fY2xpZW50KGNsaWVudCkKK3sKK30KKworV2ViQ29s
b3JDaG9vc2VyUHJveHk6On5XZWJDb2xvckNob29zZXJQcm94eSgpCit7Cit9CisKK3ZvaWQgV2Vi
Q29sb3JDaG9vc2VyUHJveHk6OmVuZENob29zZXIoKQoreworICAgIGlmICghbV9jbGllbnQpCisg
ICAgICAgIHJldHVybjsKKworICAgIG1fY2xpZW50LT5kaWRFbmRDb2xvckNob29zZXIoKTsKK30K
Kwordm9pZCBXZWJDb2xvckNob29zZXJQcm94eTo6c2V0U2VsZWN0ZWRDb2xvcihjb25zdCBXZWJD
b3JlOjpDb2xvciYgY29sb3IpCit7CisgICAgaWYgKCFtX2NsaWVudCkKKyAgICAgICAgcmV0dXJu
OworCisgICAgbV9jbGllbnQtPmRpZENob29zZUNvbG9yKGNvbG9yKTsKK30KKworfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoSU5QVVRfVFlQRV9DT0xPUikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb2xvckNob29zZXJQcm94eS5oIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbG9yQ2hvb3NlclByb3h5LmgKaW5kZXggNzkw
NmMxMC4uN2U1NTY4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNv
bG9yQ2hvb3NlclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbG9y
Q2hvb3NlclByb3h5LmgKQEAgLTQ5LDE4ICs0OSwyMCBAQCBwdWJsaWM6CiAgICAgICAgIHZpcnR1
YWwgdm9pZCBkaWRDaG9vc2VDb2xvcihjb25zdCBXZWJDb3JlOjpDb2xvciYpID0gMDsKICAgICAg
ICAgdmlydHVhbCB2b2lkIGRpZEVuZENvbG9yQ2hvb3NlcigpID0gMDsKICAgICB9OwotICAgIHZp
cnR1YWwgfldlYkNvbG9yQ2hvb3NlclByb3h5KCkgeyB9CisKKyAgICBzdGF0aWMgUGFzc1JlZlB0
cjxXZWJDb2xvckNob29zZXJQcm94eT4gY3JlYXRlKENsaWVudCogY2xpZW50KQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJDb2xvckNob29zZXJQcm94eShjbGllbnQpKTsK
KyAgICB9CisgICAgdmlydHVhbCB+V2ViQ29sb3JDaG9vc2VyUHJveHkoKTsKIAogICAgIHZvaWQg
aW52YWxpZGF0ZSgpIHsgbV9jbGllbnQgPSAwOyB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgZW5kQ2hv
b3NlcigpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0U2VsZWN0ZWRDb2xvcihjb25zdCBXZWJD
b3JlOjpDb2xvciYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZW5kQ2hvb3NlcigpOworICAgIHZp
cnR1YWwgdm9pZCBzZXRTZWxlY3RlZENvbG9yKGNvbnN0IFdlYkNvcmU6OkNvbG9yJik7CiAKIHBy
b3RlY3RlZDoKLSAgICBXZWJDb2xvckNob29zZXJQcm94eShDbGllbnQqIGNsaWVudCkKLSAgICAg
ICAgOiBtX2NsaWVudChjbGllbnQpCi0gICAgewotICAgIH0KKyAgICBXZWJDb2xvckNob29zZXJQ
cm94eShDbGllbnQqIGNsaWVudCk7CiAKICAgICBDbGllbnQqIG1fY2xpZW50OwogfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb2xvclBpY2tlclJlc3VsdExpc3Rl
bmVyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbG9yUGlja2VyUmVz
dWx0TGlzdGVuZXJQcm94eS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
MGVlNzlkZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJD
b2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkuY3BwCkBAIC0wLDAgKzEsNjAgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJDb2xvclBp
Y2tlclJlc3VsdExpc3RlbmVyUHJveHkuaCIKKworI2lmIEVOQUJMRShJTlBVVF9UWVBFX0NPTE9S
KQorCisjaW5jbHVkZSAiV2ViUGFnZVByb3h5LmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitX
ZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHk6OldlYkNvbG9yUGlja2VyUmVzdWx0TGlz
dGVuZXJQcm94eShXZWJQYWdlUHJveHkqIHBhZ2UpCisgICAgOiBtX3BhZ2UocGFnZSkKK3sKK30K
KworV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5Ojp+V2ViQ29sb3JQaWNrZXJSZXN1
bHRMaXN0ZW5lclByb3h5KCkKK3sKK30KKwordm9pZCBXZWJDb2xvclBpY2tlclJlc3VsdExpc3Rl
bmVyUHJveHk6OmludmFsaWRhdGUoKQoreworICAgIG1fcGFnZSA9IDA7Cit9CisKK3ZvaWQgV2Vi
Q29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5OjpzZXRDb2xvcihjb25zdCBTdHJpbmcmIGNv
bG9yKQoreworICAgIGlmICghbV9wYWdlKQorICAgICAgICByZXR1cm47CisKKyAgICBtX3BhZ2Ut
PnNldENvbG9yQ2hvb3NlckNvbG9yKFdlYkNvcmU6OkNvbG9yKGNvbG9yKSk7CisgICAgbV9wYWdl
LT5lbmRDb2xvckNob29zZXIoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRp
ZiAvLyBFTkFCTEUoSU5QVVRfVFlQRV9DT0xPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkuaCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZDJkOTQ4Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQ
cm94eS5oCkBAIC0wLDAgKzEsNjIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgU2Ftc3Vu
ZyBFbGVjdHJvbmljcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV2Vi
Q29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5X2gKKyNkZWZpbmUgV2ViQ29sb3JQaWNrZXJS
ZXN1bHRMaXN0ZW5lclByb3h5X2gKKworI2luY2x1ZGUgIkFQSU9iamVjdC5oIgorI2luY2x1ZGUg
PHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0
Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgV2ViUGFn
ZVByb3h5OworCitjbGFzcyBXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkgOiBwdWJs
aWMgQVBJT2JqZWN0IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgY29uc3QgVHlwZSBBUElUeXBlID0g
VHlwZUNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXI7CisKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxX
ZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHk+IGNyZWF0ZShXZWJQYWdlUHJveHkqIHBh
Z2UpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdlYkNvbG9yUGlja2VyUmVz
dWx0TGlzdGVuZXJQcm94eShwYWdlKSk7CisgICAgfQorCisgICAgdmlydHVhbCB+V2ViQ29sb3JQ
aWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5KCk7CisKKyAgICB2b2lkIGludmFsaWRhdGUoKTsKKyAg
ICB2b2lkIHNldENvbG9yKGNvbnN0IFN0cmluZyYpOworCitwcml2YXRlOgorICAgIFdlYkNvbG9y
UGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eShXZWJQYWdlUHJveHkqKTsKKworICAgIHZpcnR1YWwg
VHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gQVBJVHlwZTsgfQorCisgICAgUmVmUHRyPFdlYlBh
Z2VQcm94eT4gbV9wYWdlOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAv
LyBXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHlfaApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCA5ODgxZWIyLi40NGFjMTExIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtNTIsNiArNTIsNyBAQAogI2lu
Y2x1ZGUgIldlYkJhY2tGb3J3YXJkTGlzdC5oIgogI2luY2x1ZGUgIldlYkJhY2tGb3J3YXJkTGlz
dEl0ZW0uaCIKICNpbmNsdWRlICJXZWJDZXJ0aWZpY2F0ZUluZm8uaCIKKyNpbmNsdWRlICJXZWJD
b2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkuaCIKICNpbmNsdWRlICJXZWJDb250ZXh0Lmgi
CiAjaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVQcm94eS5oIgogI2luY2x1ZGUgIldlYkNvbnRleHRV
c2VyTWVzc2FnZUNvZGVycy5oIgpAQCAtNDEyLDYgKzQxMywxMSBAQCB2b2lkIFdlYlBhZ2VQcm94
eTo6Y2xvc2UoKQogICAgICAgICBtX2NvbG9yQ2hvb3Nlci0+aW52YWxpZGF0ZSgpOwogICAgICAg
ICBtX2NvbG9yQ2hvb3NlciA9IG51bGxwdHI7CiAgICAgfQorCisgICAgaWYgKG1fY29sb3JQaWNr
ZXJSZXN1bHRMaXN0ZW5lcikgeworICAgICAgICBtX2NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIt
PmludmFsaWRhdGUoKTsKKyAgICAgICAgbV9jb2xvclBpY2tlclJlc3VsdExpc3RlbmVyID0gbnVs
bHB0cjsKKyAgICB9CiAjZW5kaWYKIAogI2lmIEVOQUJMRShHRU9MT0NBVElPTikKQEAgLTI3MTEs
NyArMjcxNywyMCBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6c2hvd0NvbG9yQ2hvb3Nlcihjb25zdCBX
ZWJDb3JlOjpDb2xvciYgaW5pdGlhbENvbG9yKQogewogICAgIEFTU0VSVCghbV9jb2xvckNob29z
ZXIpOwogCisgICAgaWYgKG1fY29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lcikgeworICAgICAgICBt
X2NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXItPmludmFsaWRhdGUoKTsKKyAgICAgICAgbV9jb2xv
clBpY2tlclJlc3VsdExpc3RlbmVyID0gbnVsbHB0cjsKKyAgICB9CisKKyAgICBtX2NvbG9yUGlj
a2VyUmVzdWx0TGlzdGVuZXIgPSBXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHk6OmNy
ZWF0ZSh0aGlzKTsKKyAgICBtX2NvbG9yQ2hvb3NlciA9IFdlYkNvbG9yQ2hvb3NlclByb3h5Ojpj
cmVhdGUodGhpcyk7CisKKyAgICBpZiAobV91aUNsaWVudC5zaG93Q29sb3JQaWNrZXIodGhpcywg
aW5pdGlhbENvbG9yLnNlcmlhbGl6ZWQoKSwgbV9jb2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmdl
dCgpKSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgbV9jb2xvckNob29zZXIgPSBtX3BhZ2VDbGll
bnQtPmNyZWF0ZUNvbG9yQ2hvb3NlclByb3h5KHRoaXMsIGluaXRpYWxDb2xvcik7CisgICAgaWYg
KCFtX2NvbG9yQ2hvb3NlcikKKyAgICAgICAgZGlkRW5kQ29sb3JDaG9vc2VyKCk7CiB9CiAKIHZv
aWQgV2ViUGFnZVByb3h5OjpzZXRDb2xvckNob29zZXJDb2xvcihjb25zdCBXZWJDb3JlOjpDb2xv
ciYgY29sb3IpCkBAIC0yNzQxLDEyICsyNzYwLDE3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkaWRF
bmRDb2xvckNob29zZXIoKQogICAgIGlmICghaXNWYWxpZCgpKQogICAgICAgICByZXR1cm47CiAK
LSAgICBBU1NFUlQobV9jb2xvckNob29zZXIpOwotCi0gICAgbV9jb2xvckNob29zZXItPmludmFs
aWRhdGUoKTsKLSAgICBtX2NvbG9yQ2hvb3NlciA9IG51bGxwdHI7CisgICAgaWYgKG1fY29sb3JD
aG9vc2VyKSB7CisgICAgICAgIG1fY29sb3JDaG9vc2VyLT5pbnZhbGlkYXRlKCk7CisgICAgICAg
IG1fY29sb3JDaG9vc2VyID0gbnVsbHB0cjsKKyAgICB9CiAKICAgICBtX3Byb2Nlc3MtPnNlbmQo
TWVzc2FnZXM6OldlYlBhZ2U6OkRpZEVuZENvbG9yQ2hvb3NlcigpLCBtX3BhZ2VJRCk7CisKKyAg
ICBtX2NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXItPmludmFsaWRhdGUoKTsKKyAgICBtX2NvbG9y
UGlja2VyUmVzdWx0TGlzdGVuZXIgPSBudWxscHRyOworCisgICAgbV91aUNsaWVudC5oaWRlQ29s
b3JQaWNrZXIodGhpcyk7CiB9CiAjZW5kaWYKIApAQCAtMzUxOCw2ICszNTQyLDExIEBAIHZvaWQg
V2ViUGFnZVByb3h5Ojpwcm9jZXNzRGlkQ3Jhc2goKQogICAgICAgICBtX2NvbG9yQ2hvb3Nlci0+
aW52YWxpZGF0ZSgpOwogICAgICAgICBtX2NvbG9yQ2hvb3NlciA9IG51bGxwdHI7CiAgICAgfQor
CisgICAgaWYgKG1fY29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lcikgeworICAgICAgICBtX2NvbG9y
UGlja2VyUmVzdWx0TGlzdGVuZXItPmludmFsaWRhdGUoKTsKKyAgICAgICAgbV9jb2xvclBpY2tl
clJlc3VsdExpc3RlbmVyID0gbnVsbHB0cjsKKyAgICB9CiAjZW5kaWYKIAogI2lmIEVOQUJMRShH
RU9MT0NBVElPTikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCA5
YTE5YTU2Li45Mzg5ZGFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5o
CkBAIC0xMzgsNiArMTM4LDcgQEAgY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CiBjbGFz
cyBTdHJpbmdQYWlyVmVjdG9yOwogY2xhc3MgV2ViQmFja0ZvcndhcmRMaXN0OwogY2xhc3MgV2Vi
QmFja0ZvcndhcmRMaXN0SXRlbTsKK2NsYXNzIFdlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQ
cm94eTsKIGNsYXNzIFdlYkNvbnRleHRNZW51UHJveHk7CiBjbGFzcyBXZWJEYXRhOwogY2xhc3Mg
V2ViRWRpdENvbW1hbmRQcm94eTsKQEAgLTcxNyw2ICs3MTgsMTEgQEAgcHVibGljOgogCiAgICAg
dm9pZCBwb3N0TWVzc2FnZVRvSW5qZWN0ZWRCdW5kbGUoY29uc3QgU3RyaW5nJiBtZXNzYWdlTmFt
ZSwgQVBJT2JqZWN0KiBtZXNzYWdlQm9keSk7CiAKKyNpZiBFTkFCTEUoSU5QVVRfVFlQRV9DT0xP
UikKKyAgICB2b2lkIHNldENvbG9yQ2hvb3NlckNvbG9yKGNvbnN0IFdlYkNvcmU6OkNvbG9yJik7
CisgICAgdm9pZCBlbmRDb2xvckNob29zZXIoKTsKKyNlbmRpZgorCiBwcml2YXRlOgogICAgIFdl
YlBhZ2VQcm94eShQYWdlQ2xpZW50KiwgUGFzc1JlZlB0cjxXZWJQcm9jZXNzUHJveHk+LCBXZWJQ
YWdlR3JvdXAqLCB1aW50NjRfdCBwYWdlSUQpOwogCkBAIC04NDksOCArODU1LDYgQEAgcHJpdmF0
ZToKIAogI2lmIEVOQUJMRShJTlBVVF9UWVBFX0NPTE9SKQogICAgIHZvaWQgc2hvd0NvbG9yQ2hv
b3Nlcihjb25zdCBXZWJDb3JlOjpDb2xvciYgaW5pdGlhbENvbG9yKTsKLSAgICB2b2lkIHNldENv
bG9yQ2hvb3NlckNvbG9yKGNvbnN0IFdlYkNvcmU6OkNvbG9yJik7Ci0gICAgdm9pZCBlbmRDb2xv
ckNob29zZXIoKTsKICAgICB2b2lkIGRpZENob29zZUNvbG9yKGNvbnN0IFdlYkNvcmU6OkNvbG9y
Jik7CiAgICAgdm9pZCBkaWRFbmRDb2xvckNob29zZXIoKTsKICNlbmRpZgpAQCAtMTEzOSw2ICsx
MTQzLDcgQEAgcHJpdmF0ZToKICNlbmRpZgogI2lmIEVOQUJMRShJTlBVVF9UWVBFX0NPTE9SKQog
ICAgIFJlZlB0cjxXZWJDb2xvckNob29zZXJQcm94eT4gbV9jb2xvckNob29zZXI7CisgICAgUmVm
UHRyPFdlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eT4gbV9jb2xvclBpY2tlclJlc3Vs
dExpc3RlbmVyOwogI2VuZGlmCiAKICAgICB1aW50NjRfdCBtX3BhZ2VJRDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJVSUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViVUlDbGllbnQuY3BwCmluZGV4IGVkMWZiOTMuLmY4OGMwMGEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJVSUNsaWVudC5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlVJQ2xpZW50LmNwcApAQCAtMzEsNiArMzEsNyBAQAog
I2luY2x1ZGUgIk5hdGl2ZVdlYldoZWVsRXZlbnQuaCIKICNpbmNsdWRlICJOb3RpZmljYXRpb25Q
ZXJtaXNzaW9uUmVxdWVzdC5oIgogI2luY2x1ZGUgIldLQVBJQ2FzdC5oIgorI2luY2x1ZGUgIldl
YkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eS5oIgogI2luY2x1ZGUgIldlYk51bWJlci5o
IgogI2luY2x1ZGUgIldlYk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyUHJveHkuaCIKICNpbmNsdWRl
ICJXZWJQYWdlUHJveHkuaCIKQEAgLTQxNyw0ICs0MTgsMjQgQEAgYm9vbCBXZWJVSUNsaWVudDo6
c2hvdWxkSW50ZXJydXB0SmF2YVNjcmlwdChXZWJQYWdlUHJveHkqIHBhZ2UpCiAgICAgcmV0dXJu
IG1fY2xpZW50LnNob3VsZEludGVycnVwdEphdmFTY3JpcHQodG9BUEkocGFnZSksIG1fY2xpZW50
LmNsaWVudEluZm8pOwogfQogCisjaWYgRU5BQkxFKElOUFVUX1RZUEVfQ09MT1IpCitib29sIFdl
YlVJQ2xpZW50OjpzaG93Q29sb3JQaWNrZXIoV2ViUGFnZVByb3h5KiBwYWdlLCBjb25zdCBTdHJp
bmcmIGluaXRpYWxDb2xvciwgV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5KiBsaXN0
ZW5lcikKK3sKKyAgICBpZiAoIW1fY2xpZW50LnNob3dDb2xvclBpY2tlcikKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgbV9jbGllbnQuc2hvd0NvbG9yUGlja2VyKHRvQVBJKHBhZ2UpLCB0
b0FQSShpbml0aWFsQ29sb3IuaW1wbCgpKSwgdG9BUEkobGlzdGVuZXIpLCBtX2NsaWVudC5jbGll
bnRJbmZvKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworYm9vbCBXZWJVSUNsaWVudDo6aGlkZUNv
bG9yUGlja2VyKFdlYlBhZ2VQcm94eSogcGFnZSkKK3sKKyAgICBpZiAoIW1fY2xpZW50LmhpZGVD
b2xvclBpY2tlcikKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgbV9jbGllbnQuaGlkZUNv
bG9yUGlja2VyKHRvQVBJKHBhZ2UpLCBtX2NsaWVudC5jbGllbnRJbmZvKTsKKyAgICByZXR1cm4g
dHJ1ZTsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJVSUNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlVJQ2xpZW50LmgKaW5kZXggMjhjZmI2OC4uOWI1MmJmZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlVJQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlVJQ2xpZW50LmgKQEAgLTQ4LDYgKzQ4LDcgQEAgY2xhc3MgR2VvbG9j
YXRpb25QZXJtaXNzaW9uUmVxdWVzdFByb3h5OwogY2xhc3MgTmF0aXZlV2ViS2V5Ym9hcmRFdmVu
dDsKIGNsYXNzIE5hdGl2ZVdlYldoZWVsRXZlbnQ7CiBjbGFzcyBOb3RpZmljYXRpb25QZXJtaXNz
aW9uUmVxdWVzdDsKK2NsYXNzIFdlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eTsKIGNs
YXNzIFdlYkRhdGE7CiBjbGFzcyBXZWJGcmFtZVByb3h5OwogY2xhc3MgV2ViUGFnZVByb3h5OwpA
QCAtMTE1LDYgKzExNiwxMSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzYXZlRGF0YVRvRmlsZUluRG93
bmxvYWRzRm9sZGVyKFdlYlBhZ2VQcm94eSosIGNvbnN0IFN0cmluZyYgc3VnZ2VzdGVkRmlsZW5h
bWUsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIGNvbnN0IFN0cmluZyYgb3JpZ2luYXRpbmdVUkxT
dHJpbmcsIFdlYkRhdGEqKTsKIAogICAgIGJvb2wgc2hvdWxkSW50ZXJydXB0SmF2YVNjcmlwdChX
ZWJQYWdlUHJveHkqKTsKKworI2lmIEVOQUJMRShJTlBVVF9UWVBFX0NPTE9SKQorICAgIGJvb2wg
c2hvd0NvbG9yUGlja2VyKFdlYlBhZ2VQcm94eSosIGNvbnN0IFN0cmluZyYsIFdlYkNvbG9yUGlj
a2VyUmVzdWx0TGlzdGVuZXJQcm94eSopOworICAgIGJvb2wgaGlkZUNvbG9yUGlja2VyKFdlYlBh
Z2VQcm94eSopOworI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Nv
dXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAyZmNh
MjQwLi42MzNiOGRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCkBAIC05MTMsNiArOTEzLDEwIEBACiAJCUUxRUU1M0U3MTFGOENGRkIw
MENDQkVFNCAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VFZGl0b3JDbGllbnQuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTFFRTUzRTYxMUY4Q0ZGQjAwQ0NC
RUU0IC8qIEluamVjdGVkQnVuZGxlUGFnZUVkaXRvckNsaWVudC5jcHAgKi87IH07CiAJCUVEODJB
N0YyMTI4QzZGQUYwMDQ0NzdCMyAvKiBXS0J1bmRsZVBhZ2VPdmVybGF5LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTIyRjBGRjEyODlGQ0Q5MDA4NUU3
NEYgLyogV0tCdW5kbGVQYWdlT3ZlcmxheS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCUVEQ0E3MUI3MTI4RERBOEMwMDIwMUIyNiAvKiBXS0J1bmRs
ZVBhZ2VPdmVybGF5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDFBMjJGMTAwMTI4OUZDRDkwMDg1RTc0RiAvKiBXS0J1bmRsZVBhZ2VPdmVybGF5LmNw
cCAqLzsgfTsKKwkJRjAzNjk3ODUxNUY0QkU2QjAwQzNBODBFIC8qIFdLQ29sb3JQaWNrZXJSZXN1
bHRMaXN0ZW5lci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBGMDM2OTc4MzE1RjRCRTZCMDBDM0E4MEUgLyogV0tDb2xvclBpY2tlclJlc3VsdExpc3Rl
bmVyLmNwcCAqLzsgfTsKKwkJRjAzNjk3ODYxNUY0QkU2QjAwQzNBODBFIC8qIFdLQ29sb3JQaWNr
ZXJSZXN1bHRMaXN0ZW5lci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRjAzNjk3ODQxNUY0QkU2QjAwQzNBODBFIC8qIFdLQ29sb3JQaWNrZXJSZXN1bHRM
aXN0ZW5lci5oICovOyB9OworCQlGMDM2OTc4ODE1RjRCRjA1MDBDM0E4MEUgLyogV2ViQ29sb3JD
aG9vc2VyUHJveHkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRjAzNjk3ODcxNUY0QkYwNTAwQzNBODBFIC8qIFdlYkNvbG9yQ2hvb3NlclByb3h5LmNw
cCAqLzsgfTsKKwkJRjAzNjk3OEIxNUY0QkYxMzAwQzNBODBFIC8qIFdlYkNvbG9yUGlja2VyUmVz
dWx0TGlzdGVuZXJQcm94eS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBGMDM2OTc4OTE1RjRCRjEzMDBDM0E4MEUgLyogV2ViQ29sb3JQaWNrZXJSZXN1
bHRMaXN0ZW5lclByb3h5LmNwcCAqLzsgfTsKIAkJRjYxMTNFMjUxMjZDRTE4MjAwNTdEMEE3IC8q
IFdlYlVzZXJDb250ZW50VVJMUGF0dGVybi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRjYxMTNFMjQxMjZDRTE4MjAwNTdEMEE3IC8qIFdlYlVzZXJDb250
ZW50VVJMUGF0dGVybi5oICovOyB9OwogCQlGNjExM0UyODEyNkNFMTlCMDA1N0QwQTcgLyogV0tV
c2VyQ29udGVudFVSTFBhdHRlcm4uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRjYxMTNFMjYxMjZDRTE5QjAwNTdEMEE3IC8qIFdLVXNlckNvbnRlbnRV
UkxQYXR0ZXJuLmNwcCAqLzsgfTsKIAkJRjYxMTNFMjkxMjZDRTE5QjAwNTdEMEE3IC8qIFdLVXNl
ckNvbnRlbnRVUkxQYXR0ZXJuLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBGNjExM0UyNzEyNkNFMTlCMDA1N0QwQTcgLyogV0tVc2VyQ29udGVudFVSTFBh
dHRlcm4uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpA
QCAtMjAxMiw2ICsyMDE2LDExIEBACiAJCUUxQ0MxQjhGMTJEN0VBREYwMDYyNTgzOCAvKiBQcmlu
dEluZm9NYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBQcmlu
dEluZm9NYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxRUU1M0RDMTFGOENG
OUYwMENDQkVFNCAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VFZGl0b3JDbGllbnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5qZWN0ZWRCdW5kbGVQYWdlRWRpdG9yQ2xpZW50Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxRUU1M0U2MTFGOENGRkIwMENDQkVFNCAv
KiBJbmplY3RlZEJ1bmRsZVBhZ2VFZGl0b3JDbGllbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSW5qZWN0ZWRCdW5kbGVQYWdlRWRpdG9yQ2xpZW50LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjAzNjk3ODMxNUY0QkU2QjAwQzNBODBFIC8qIFdL
Q29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBXS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlGMDM2OTc4NDE1RjRCRTZCMDBDM0E4MEUgLyogV0tDb2xvclBpY2tl
clJlc3VsdExpc3RlbmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLQ29s
b3JQaWNrZXJSZXN1bHRMaXN0ZW5lci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlG
MDM2OTc4NzE1RjRCRjA1MDBDM0E4MEUgLyogV2ViQ29sb3JDaG9vc2VyUHJveHkuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViQ29sb3JDaG9vc2VyUHJveHkuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGMDM2OTc4OTE1RjRCRjEzMDBDM0E4MEUg
LyogV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5LmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUYwMzY5NzhBMTVGNEJGMTMwMEMzQTgw
RSAvKiBXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY2MTEzRTI0MTI2Q0UxODIwMDU3RDBBNyAvKiBX
ZWJVc2VyQ29udGVudFVSTFBhdHRlcm4uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUY2MTEzRTI2MTI2Q0UxOUIwMDU3RDBBNyAvKiBXS1VzZXJDb250ZW50VVJMUGF0dGVybi5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXS1VzZXJDb250ZW50VVJM
UGF0dGVybi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY2MTEzRTI3MTI2Q0Ux
OUIwMDU3RDBBNyAvKiBXS1VzZXJDb250ZW50VVJMUGF0dGVybi5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBXS1VzZXJDb250ZW50VVJMUGF0dGVybi5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtMjkzNSw3ICsyOTQ0LDEwIEBACiAJCQkJNTEyRTM1RjAxMzBCNjM4
QzAwQUJEMTlBIC8qIFdlYkFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4g
Ki8sCiAJCQkJQkM3MkJBMUIxMUU2NDkwNzAwMUVCNEVBIC8qIFdlYkJhY2tGb3J3YXJkTGlzdC5j
cHAgKi8sCiAJCQkJQkM3MkJBMUMxMUU2NDkwNzAwMUVCNEVBIC8qIFdlYkJhY2tGb3J3YXJkTGlz
dC5oICovLAorCQkJCUYwMzY5Nzg3MTVGNEJGMDUwMEMzQTgwRSAvKiBXZWJDb2xvckNob29zZXJQ
cm94eS5jcHAgKi8sCiAJCQkJM0Y4N0I5QkYxNTg5NDBEODAwOTBGRjYyIC8qIFdlYkNvbG9yQ2hv
b3NlclByb3h5LmggKi8sCisJCQkJRjAzNjk3ODkxNUY0QkYxMzAwQzNBODBFIC8qIFdlYkNvbG9y
UGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eS5jcHAgKi8sCisJCQkJRjAzNjk3OEExNUY0QkYxMzAw
QzNBODBFIC8qIFdlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eS5oICovLAogCQkJCUJD
NEE2MkE1MTQ3NDRFQzYwMDZDNjgxQSAvKiBXZWJDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcCAq
LywKIAkJCQlCQzRBNjJBNjE0NzQ0RUM2MDA2QzY4MUEgLyogV2ViQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzcy5oICovLAogCQkJCUJDQjlFMjQyMTEyMERBQ0EwMEExMzdFMCAvKiBXZWJDb250ZXh0LmNw
cCAqLywKQEAgLTMwNTksNiArMzA3MSw4IEBACiAJCQkJQkM2NDZDMTcxMUREMzk5RjAwNjQ1NUIw
IC8qIFdLQmFja0ZvcndhcmRMaXN0LmggKi8sCiAJCQkJQkM2NDZDMTgxMUREMzk5RjAwNjQ1NUIw
IC8qIFdLQmFja0ZvcndhcmRMaXN0SXRlbS5jcHAgKi8sCiAJCQkJQkM2NDZDMTkxMUREMzk5RjAw
NjQ1NUIwIC8qIFdLQmFja0ZvcndhcmRMaXN0SXRlbS5oICovLAorCQkJCUYwMzY5NzgzMTVGNEJF
NkIwMEMzQTgwRSAvKiBXS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIuY3BwICovLAorCQkJCUYw
MzY5Nzg0MTVGNEJFNkIwMEMzQTgwRSAvKiBXS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIuaCAq
LywKIAkJCQlCQ0I5RTI0QTExMjBFMTVDMDBBMTM3RTAgLyogV0tDb250ZXh0LmNwcCAqLywKIAkJ
CQlCQ0I5RTI0OTExMjBFMTVDMDBBMTM3RTAgLyogV0tDb250ZXh0LmggKi8sCiAJCQkJQkNDOTM4
RTAxMTgwREU0NDAwODVFNUZFIC8qIFdLQ29udGV4dFByaXZhdGUuaCAqLywKQEAgLTQxNDIsNiAr
NDE1Niw3IEBACiAJCQkJQkMxNERGOUYxMjBCNjM1RjAwODI2QzBDIC8qIFdLQnVuZGxlU2NyaXB0
V29ybGQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNDA3NUY2MTI0RkYwMjcwMDY4RjIwQSAvKiBX
S0NlcnRpZmljYXRlSW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM0MDc2MjcxMjRGRjA0MDAw
NjhGMjBBIC8qIFdLQ2VydGlmaWNhdGVJbmZvTWFjLmggaW4gSGVhZGVycyAqLywKKwkJCQlGMDM2
OTc4NjE1RjRCRTZCMDBDM0E4MEUgLyogV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmggaW4g
SGVhZGVycyAqLywKIAkJCQlCQ0EyODRENzE0OTJGMkM3MDAxRjkwNDIgLyogV0tDb25uZWN0aW9u
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzVDNzVDODE0OTU0REE2MDBCQzQ3NzUgLyogV0tDb25u
ZWN0aW9uSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNEE2Mjk3MTQ3MzEzQTAwMDZD
NjgxQSAvKiBXS0Nvbm5lY3Rpb25SZWYuaCBpbiBIZWFkZXJzICovLApAQCAtNDc2OSw2ICs0Nzg0
LDggQEAKIAkJCQk1MThEMkNBRDEyRDUxNTNCMDAzQkI5M0IgLyogV2ViQmFja0ZvcndhcmRMaXN0
SXRlbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzcyQjlGQTExRTY0NzZCMDAxRUI0RUEgLyog
V2ViQmFja0ZvcndhcmRMaXN0UHJveHkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkMxMTFBNUEx
MTJGNEZCQjAwMzM3QkFCIC8qIFdlYkNocm9tZUNsaWVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQlGMDM2OTc4ODE1RjRCRjA1MDBDM0E4MEUgLyogV2ViQ29sb3JDaG9vc2VyUHJveHkuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJRjAzNjk3OEIxNUY0QkYxMzAwQzNBODBFIC8qIFdlYkNvbG9yUGlj
a2VyUmVzdWx0TGlzdGVuZXJQcm94eS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzRBNjI4RjE0
NzMxMkJFMDA2QzY4MUEgLyogV2ViQ29ubmVjdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlC
QzRBNjI5MTE0NzMxMkJFMDA2QzY4MUEgLyogV2ViQ29ubmVjdGlvbkNsaWVudC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlCQ0QzNjc1QzE0OEMyNkMwMDA0NDdFODcgLyogV2ViQ29ubmVjdGlvblRv
VUlQcm9jZXNzLmNwcCBpbiBTb3VyY2VzICovLApAQCAtNDk1MCw2ICs0OTY3LDcgQEAKIAkJCQlC
QzE0REY5RTEyMEI2MzVGMDA4MjZDMEMgLyogV0tCdW5kbGVTY3JpcHRXb3JsZC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlCQzQwNzVGNTEyNEZGMDI3MDA2OEYyMEEgLyogV0tDZXJ0aWZpY2F0ZUlu
Zm8uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM0MDc2MjgxMjRGRjA0MDAwNjhGMjBBIC8qIFdL
Q2VydGlmaWNhdGVJbmZvTWFjLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJRjAzNjk3ODUxNUY0QkU2
QjAwQzNBODBFIC8qIFdLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lci5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlCQ0EyODRENjE0OTJGMkM3MDAxRjkwNDIgLyogV0tDb25uZWN0aW9uLm1tIGluIFNv
dXJjZXMgKi8sCiAJCQkJQkM0QTYyOTYxNDczMTNBMDAwNkM2ODFBIC8qIFdLQ29ubmVjdGlvblJl
Zi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0I5RTI0QzExMjBFMTVDMDBBMTM3RTAgLyogV0tD
b250ZXh0LmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvd2lu
L1dlYktpdDIudmNwcm9qIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIudmNwcm9qCmluZGV4
IGM2NTk1NTQuLmYxYjBmNjUgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQy
LnZjcHJvagorKysgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2oKQEAgLTI4OTks
MTAgKzI4OTksMjIgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZl
UGF0aD0iLi5cVUlQcm9jZXNzXFdlYkNvbG9yQ2hvb3NlclByb3h5LmNwcCIKKwkJCQk+CisJCQk8
L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cVUlQcm9jZXNzXFdlYkNvbG9y
Q2hvb3NlclByb3h5LmgiCiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXFVJUHJvY2Vzc1xXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkuY3Bw
IgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxVSVBy
b2Nlc3NcV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5LmgiCisJCQkJPgorCQkJPC9G
aWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFVJUHJvY2Vzc1xXZWJDb25uZWN0
aW9uVG9XZWJQcm9jZXNzLmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CkBAIC0zMzI5LDYgKzMzNDEs
MTQgQEAKIAkJCQkJCT4KIAkJCQkJPC9GaWxlPgogCQkJCQk8RmlsZQorCQkJCQkJUmVsYXRpdmVQ
YXRoPSIuLlxVSVByb2Nlc3NcQVBJXENcV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmNwcCIK
KwkJCQkJCT4KKwkJCQkJPC9GaWxlPgorCQkJCQk8RmlsZQorCQkJCQkJUmVsYXRpdmVQYXRoPSIu
LlxVSVByb2Nlc3NcQVBJXENcV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmgiCisJCQkJCQk+
CisJCQkJCTwvRmlsZT4KKwkJCQkJPEZpbGUKIAkJCQkJCVJlbGF0aXZlUGF0aD0iLi5cVUlQcm9j
ZXNzXEFQSVxDXFdLQ29udGV4dC5jcHAiCiAJCQkJCQk+CiAJCQkJCTwvRmlsZT4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyR2VuZXJhdGVkLm1ha2UgYi9Tb3VyY2UvV2Vi
S2l0Mi93aW4vV2ViS2l0MkdlbmVyYXRlZC5tYWtlCmluZGV4IGY5M2Y4YTkuLjZmMjcxY2MgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyR2VuZXJhdGVkLm1ha2UKKysrIGIv
U291cmNlL1dlYktpdDIvd2luL1dlYktpdDJHZW5lcmF0ZWQubWFrZQpAQCAtNTEsNiArNTEsNyBA
QCBhbGw6CiAgICAgeGNvcHkgL3kgL2QgIi4uXFVJUHJvY2Vzc1xBUElcQ1xXS0F1dGhlbnRpY2F0
aW9uRGVjaXNpb25MaXN0ZW5lci5oIiAiJUNvbmZpZ3VyYXRpb25CdWlsZERpciVcaW5jbHVkZVxX
ZWJLaXQyIgogICAgIHhjb3B5IC95IC9kICIuLlxVSVByb2Nlc3NcQVBJXENcV0tCYWNrRm9yd2Fy
ZExpc3QuaCIgIiVDb25maWd1cmF0aW9uQnVpbGREaXIlXGluY2x1ZGVcV2ViS2l0MiIKICAgICB4
Y29weSAveSAvZCAiLi5cVUlQcm9jZXNzXEFQSVxDXFdLQmFja0ZvcndhcmRMaXN0SXRlbS5oIiAi
JUNvbmZpZ3VyYXRpb25CdWlsZERpciVcaW5jbHVkZVxXZWJLaXQyIgorICAgIHhjb3B5IC95IC9k
ICIuLlxVSVByb2Nlc3NcQVBJXENcV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmgiICIlQ29u
ZmlndXJhdGlvbkJ1aWxkRGlyJVxpbmNsdWRlXFdlYktpdDIiCiAgICAgeGNvcHkgL3kgL2QgIi4u
XFVJUHJvY2Vzc1xBUElcQ1xXS0NvbnRleHQuaCIgIiVDb25maWd1cmF0aW9uQnVpbGREaXIlXGlu
Y2x1ZGVcV2ViS2l0MiIKICAgICB4Y29weSAveSAvZCAiLi5cVUlQcm9jZXNzXEFQSVxDXFdLQ29u
dGV4dFByaXZhdGUuaCIgIiVDb25maWd1cmF0aW9uQnVpbGREaXIlXGluY2x1ZGVcV2ViS2l0MiIK
ICAgICB4Y29weSAveSAvZCAiLi5cVUlQcm9jZXNzXEFQSVxDXFdLQ29va2llTWFuYWdlci5oIiAi
JUNvbmZpZ3VyYXRpb25CdWlsZERpciVcaW5jbHVkZVxXZWJLaXQyIgpkaWZmIC0tZ2l0IGEvVG9v
bHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDk5NmI0Y2MuLjllNzBjZmYgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyMCBAQAorMjAxMi0wOS0wMyAgS3dhbmdZb25nIENob2kgIDxreTAuY2hvaUBzYW1zdW5nLmNv
bT4KKworICAgICAgICBbV0syXSBBZGQgY29sb3IgcGlja2VyIEFQSSBzdXBwb3J0IGZvciBXZWJL
aXQyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTA1
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluaXRp
YWxpemF0aW9uIGNvZGUgZm9yIGNvbG9yIHBpY2tlciBjYWxsYmFja3MgaW4gVUkgY2xpZW50Lgor
CisgICAgICAgICogTWluaUJyb3dzZXIvbWFjL0Jyb3dzZXJXaW5kb3dDb250cm9sbGVyLm06Cisg
ICAgICAgICgtW0Jyb3dzZXJXaW5kb3dDb250cm9sbGVyIGF3YWtlRnJvbU5pYl0pOgorICAgICAg
ICAqIE1pbmlCcm93c2VyL3dpbi9Ccm93c2VyVmlldy5jcHA6CisgICAgICAgIChCcm93c2VyVmll
dzo6Y3JlYXRlKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OmNyZWF0ZU90aGVyUGFnZSk6CisgICAg
ICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjppbml0aWFsaXplKToKKwogMjAxMi0wOS0wMSAgWGlh
bnpodSBXYW5nICA8d2FuZ3hpYW56aHVAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1
bS1BbmRyb2lkXSBSZW1vdmUgaGFyZC1jb2RlZCBza2lwcGVkIGRpcmVjdG9yaWVzIGluIGNocm9t
aXVtX2FuZHJvaWQucHkKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL21hYy9Ccm93c2Vy
V2luZG93Q29udHJvbGxlci5tIGIvVG9vbHMvTWluaUJyb3dzZXIvbWFjL0Jyb3dzZXJXaW5kb3dD
b250cm9sbGVyLm0KaW5kZXggZTZiNmY1NC4uZDljYjI4NiAxMDA2NDQKLS0tIGEvVG9vbHMvTWlu
aUJyb3dzZXIvbWFjL0Jyb3dzZXJXaW5kb3dDb250cm9sbGVyLm0KKysrIGIvVG9vbHMvTWluaUJy
b3dzZXIvbWFjL0Jyb3dzZXJXaW5kb3dDb250cm9sbGVyLm0KQEAgLTY5NCw2ICs2OTQsOCBAQCAt
ICh2b2lkKWF3YWtlRnJvbU5pYgogICAgICAgICBtb3VzZURpZE1vdmVPdmVyRWxlbWVudCwKICAg
ICAgICAgMCwgLy8gZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QK
ICAgICAgICAgMCwgLy8gdW5hdmFpbGFibGVQbHVnaW5CdXR0b25DbGlja2VkCisgICAgICAgIDAs
IC8vIHNob3dDb2xvclBpY2tlcgorICAgICAgICAwLCAvLyBoaWRlQ29sb3JQaWNrZXIKICAgICB9
OwogICAgIFdLUGFnZVNldFBhZ2VVSUNsaWVudChfd2ViVmlldy5wYWdlUmVmLCAmdWlDbGllbnQp
OwogfQpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvd2luL0Jyb3dzZXJWaWV3LmNwcCBi
L1Rvb2xzL01pbmlCcm93c2VyL3dpbi9Ccm93c2VyVmlldy5jcHAKaW5kZXggMDNhNDZjYi4uMGE2
ODU4ZSAxMDA2NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvd2luL0Jyb3dzZXJWaWV3LmNwcAor
KysgYi9Ub29scy9NaW5pQnJvd3Nlci93aW4vQnJvd3NlclZpZXcuY3BwCkBAIC0xMzAsNiArMTMw
LDEwIEBAIHZvaWQgQnJvd3NlclZpZXc6OmNyZWF0ZShSRUNUIHdlYlZpZXdSZWN0LCBCcm93c2Vy
V2luZG93KiBwYXJlbnRXaW5kb3cpCiAgICAgICAgIDAsICAgICAgICAgIC8qIHNob3VsZEludGVy
cnVwdEphdmFTY3JpcHQgKi8KICAgICAgICAgY3JlYXRlTmV3UGFnZSwKICAgICAgICAgbW91c2VE
aWRNb3ZlT3ZlckVsZW1lbnQsCisgICAgICAgIDAsICAgICAgICAgIC8qIGRlY2lkZVBvbGljeUZv
ck5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0ICovCisgICAgICAgIDAsICAgICAgICAgIC8q
IHVuYXZhaWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZCAqLworICAgICAgICAwLCAgICAgICAgICAv
KiBzaG93Q29sb3JQaWNrZXIgKi8KKyAgICAgICAgMCwgICAgICAgICAgLyogaGlkZUNvbG9yUGlj
a2VyICovCiAgICAgfTsKIAogICAgIFdLUGFnZVNldFBhZ2VVSUNsaWVudChXS1ZpZXdHZXRQYWdl
KG1fd2ViVmlldyksICZ1aUNsaWVudCk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL1Rlc3RDb250cm9sbGVyLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRy
b2xsZXIuY3BwCmluZGV4IGM1NDllODguLmU1ZGRmMTYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvVGVzdENvbnRyb2xsZXIuY3BwCkBAIC0yMjMsNiArMjIzLDggQEAgV0tQYWdlUmVmIFRlc3RD
b250cm9sbGVyOjpjcmVhdGVPdGhlclBhZ2UoV0tQYWdlUmVmIG9sZFBhZ2UsIFdLVVJMUmVxdWVz
dFJlZiwgV0sKICAgICAgICAgMCwgLy8gbW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQKICAgICAgICAg
MCwgLy8gZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QKICAgICAg
ICAgMCwgLy8gdW5hdmFpbGFibGVQbHVnaW5CdXR0b25DbGlja2VkCisgICAgICAgIDAsIC8vIHNo
b3dDb2xvclBpY2tlcgorICAgICAgICAwLCAvLyBoaWRlQ29sb3JQaWNrZXIKICAgICB9OwogICAg
IFdLUGFnZVNldFBhZ2VVSUNsaWVudChuZXdQYWdlLCAmb3RoZXJQYWdlVUlDbGllbnQpOwogCkBA
IC0zOTEsNiArMzkzLDggQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6aW5pdGlhbGl6ZShpbnQgYXJn
YywgY29uc3QgY2hhciogYXJndltdKQogICAgICAgICAwLCAvLyBtb3VzZURpZE1vdmVPdmVyRWxl
bWVudAogICAgICAgICBkZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVz
dCwgLy8gZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QKICAgICAg
ICAgMCwgLy8gdW5hdmFpbGFibGVQbHVnaW5CdXR0b25DbGlja2VkCisgICAgICAgIDAsIC8vIHNo
b3dDb2xvclBpY2tlcgorICAgICAgICAwLCAvLyBoaWRlQ29sb3JQaWNrZXIKICAgICB9OwogICAg
IFdLUGFnZVNldFBhZ2VVSUNsaWVudChtX21haW5XZWJWaWV3LT5wYWdlKCksICZwYWdlVUlDbGll
bnQpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161904</attachid>
            <date>2012-09-03 05:27:55 -0700</date>
            <delta_ts>2012-09-03 17:36:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>diff</filename>
            <type>text/plain</type>
            <size>43605</size>
            <attacher name="KwangYong Choi">ky0.choi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYktp
dDIvQ01ha2VMaXN0cy50eHQKaW5kZXggYzQzZGQ0YS4uOWQyYjJkYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0
cy50eHQKQEAgLTIzNCw2ICsyMzQsOCBAQCBTRVQoV2ViS2l0Ml9TT1VSQ0VTCiAgICAgVUlQcm9j
ZXNzL1dlYkJhY2tGb3J3YXJkTGlzdC5jcHAKICAgICBVSVByb2Nlc3MvV2ViQmF0dGVyeU1hbmFn
ZXJQcm94eS5jcHAKICAgICBVSVByb2Nlc3MvV2ViQmF0dGVyeVByb3ZpZGVyLmNwcAorICAgIFVJ
UHJvY2Vzcy9XZWJDb2xvckNob29zZXJQcm94eS5jcHAKKyAgICBVSVByb2Nlc3MvV2ViQ29sb3JQ
aWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5LmNwcAogICAgIFVJUHJvY2Vzcy9XZWJDb25uZWN0aW9u
VG9XZWJQcm9jZXNzLmNwcAogICAgIFVJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcAogICAgIFVJUHJv
Y2Vzcy9XZWJDb250ZXh0Q29ubmVjdGlvbkNsaWVudC5jcHAKQEAgLTI4OSw2ICsyOTEsNyBAQCBT
RVQoV2ViS2l0Ml9TT1VSQ0VTCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLQmFja0ZvcndhcmRMaXN0
SXRlbS5jcHAKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tCYXR0ZXJ5TWFuYWdlci5jcHAKICAgICBV
SVByb2Nlc3MvQVBJL0MvV0tCYXR0ZXJ5U3RhdHVzLmNwcAorICAgIFVJUHJvY2Vzcy9BUEkvQy9X
S0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIuY3BwCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLQ29u
dGV4dC5jcHAKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tDb29raWVNYW5hZ2VyLmNwcAogICAgIFVJ
UHJvY2Vzcy9BUEkvQy9XS0NyZWRlbnRpYWwuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNGFjYmE5ZS4uMjk0
MzI5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY4IEBACisyMDEyLTA5LTAzICBLd2FuZ1lvbmcg
Q2hvaSAgPGt5MC5jaG9pQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtXSzJdIEFkZCBjb2xvciBw
aWNrZXIgQVBJIHN1cHBvcnQgZm9yIFdlYktpdDIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTk1MDU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGNvbG9yIHBpY2tlciBBUEkgdG8g
V2ViS2l0Mi4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEdOVW1ha2Vm
aWxlLmxpc3QuYW06CisgICAgICAgICogU2hhcmVkL0FQSS9jL1dLQmFzZS5oOgorICAgICAgICAq
IFNoYXJlZC9BUElDbGllbnRUcmFpdHMuY3BwOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAg
KiBTaGFyZWQvQVBJQ2xpZW50VHJhaXRzLmg6CisgICAgICAgICogU2hhcmVkL0FQSU9iamVjdC5o
OgorICAgICAgICAqIFRhcmdldC5wcmk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLQVBJ
Q2FzdC5oOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tD
b2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmNwcDogQWRkZWQuCisgICAgICAgIChXS0NvbG9yUGlj
a2VyUmVzdWx0TGlzdGVuZXJHZXRUeXBlSUQpOgorICAgICAgICAoV0tDb2xvclBpY2tlclJlc3Vs
dExpc3RlbmVyQ29sb3JTZXQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS0NvbG9yUGlj
a2VyUmVzdWx0TGlzdGVuZXIuaDogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dL
UGFnZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVJQ2xpZW50LmNwcDoK
KyAgICAgICAgKGF0dGFjaFVJQ2xpZW50VG9WaWV3KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
Q29sb3JDaG9vc2VyUHJveHkuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAg
IChXZWJLaXQ6OldlYkNvbG9yQ2hvb3NlclByb3h5OjpXZWJDb2xvckNob29zZXJQcm94eSk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkNvbG9yQ2hvb3NlclByb3h5Ojp+V2ViQ29sb3JDaG9vc2VyUHJv
eHkpOgorICAgICAgICAoV2ViS2l0OjpXZWJDb2xvckNob29zZXJQcm94eTo6ZW5kQ2hvb3Nlcik6
CisgICAgICAgIChXZWJLaXQ6OldlYkNvbG9yQ2hvb3NlclByb3h5OjpzZXRTZWxlY3RlZENvbG9y
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQ29sb3JDaG9vc2VyUHJveHkuaDoKKyAgICAgICAg
KFdlYkNvbG9yQ2hvb3NlclByb3h5KToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29sb3JDaG9vc2Vy
UHJveHk6OmNyZWF0ZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvbG9yUGlja2VyUmVzdWx0
TGlzdGVuZXJQcm94eS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdl
YktpdDo6V2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5OjpXZWJDb2xvclBpY2tlclJl
c3VsdExpc3RlbmVyUHJveHkpOgorICAgICAgICAoV2ViS2l0OjpXZWJDb2xvclBpY2tlclJlc3Vs
dExpc3RlbmVyUHJveHk6On5XZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHk6OmludmFsaWRh
dGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHk6
OnNldENvbG9yKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0
ZW5lclByb3h5Lmg6IEFkZGVkLgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYkNvbG9y
UGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eSk6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbG9yUGlj
a2VyUmVzdWx0TGlzdGVuZXJQcm94eTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29s
b3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5Ojp0eXBlKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpjbG9zZSk6
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6c2hvd0NvbG9yQ2hvb3Nlcik6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkRW5kQ29sb3JDaG9vc2VyKToKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZVByb3h5Ojpwcm9jZXNzRGlkQ3Jhc2gpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJQYWdl
UHJveHkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJVSUNsaWVudC5jcHA6CisgICAgICAgIChX
ZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJVSUNsaWVudDo6c2hvd0NvbG9yUGlja2VyKToK
KyAgICAgICAgKFdlYktpdDo6V2ViVUlDbGllbnQ6OmhpZGVDb2xvclBpY2tlcik6CisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlVJQ2xpZW50Lmg6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAo
V2ViVUlDbGllbnQpOgorICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiB3aW4vV2ViS2l0Mi52Y3Byb2o6CisgICAgICAgICogd2luL1dlYktpdDJH
ZW5lcmF0ZWQubWFrZToKKwogMjAxMi0wOS0wMiAgQnl1bmd3b28gTGVlICA8Ync4MC5sZWVAZ21h
aWwuY29tPgogCiAgICAgICAgIFtFRkxdIEFkZCBtaXNzaW5nIHNlbWljb2xvbiBhdCB0aGUgZW5k
IG9mIHNvbWUgbGluZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5s
aXN0LmFtIGIvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCBkNDE3YjVm
Li42MGI2NDg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFt
CisrKyBiL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTQ5LDYgKzQ5LDcg
QEAgd2Via2l0Ml9oX2FwaSArPSBcCiAJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tCYWNr
Rm9yd2FyZExpc3RJdGVtLmggXAogCSQoV2ViS2l0MikvVUlQcm9jZXNzL0FQSS9DL1dLQmF0dGVy
eU1hbmFnZXIuaCBcCiAJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tCYXR0ZXJ5U3RhdHVz
LmggXAorCSQoV2ViS2l0MikvVUlQcm9jZXNzL0FQSS9DL1dLQ29sb3JQaWNrZXJSZXN1bHRMaXN0
ZW5lci5oIFwKIAkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuaCBcCiAJJChX
ZWJLaXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0UHJpdmF0ZS5oIFwKIAkkKFdlYktpdDIp
L1VJUHJvY2Vzcy9BUEkvQy9XS0Nvb2tpZU1hbmFnZXIuaCBcCkBAIC01MzAsNiArNTMxLDggQEAg
d2Via2l0Ml9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tC
YXR0ZXJ5TWFuYWdlci5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tCYXR0
ZXJ5U3RhdHVzLmNwcCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQmF0dGVy
eVN0YXR1cy5oIFwKKwlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb2xvclBpY2tl
clJlc3VsdExpc3RlbmVyLmNwcCBcCisJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
Q29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lci5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tDb250ZXh0LmNwcCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
Q29udGV4dC5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0UHJp
dmF0ZS5oIFwKQEAgLTgxNCw3ICs4MTcsMTAgQEAgd2Via2l0Ml9zb3VyY2VzICs9IFwKIAlTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQmF0dGVyeU1hbmFnZXJQcm94eS5oIFwKIAlTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViQmF0dGVyeVByb3ZpZGVyLmNwcCBcCiAJU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYkJhdHRlcnlQcm92aWRlci5oIFwKKwlTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViQ29sb3JDaG9vc2VyUHJveHkuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViQ29sb3JDaG9vc2VyUHJveHkuaCBcCisJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eS5jcHAgXAorCVNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkuaCBcCiAJU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwIFwKIAlTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oIFwKIAlTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL0FQSS9jL1dLQmFzZS5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9j
L1dLQmFzZS5oCmluZGV4IDA2YWEyODYuLmU0ZDA2NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9BUEkvYy9XS0Jhc2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJ
L2MvV0tCYXNlLmgKQEAgLTEyNCw2ICsxMjQsNyBAQCB0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFx
dWVXS1ByZWZlcmVuY2VzKiBXS1ByZWZlcmVuY2VzUmVmOwogdHlwZWRlZiBjb25zdCBzdHJ1Y3Qg
T3BhcXVlV0tQcm90ZWN0aW9uU3BhY2UqIFdLUHJvdGVjdGlvblNwYWNlUmVmOwogdHlwZWRlZiBj
b25zdCBzdHJ1Y3QgT3BhcXVlV0tUZXh0Q2hlY2tlciogV0tUZXh0Q2hlY2tlclJlZjsKIHR5cGVk
ZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLVmlicmF0aW9uKiBXS1ZpYnJhdGlvblJlZjsKK3R5cGVk
ZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lciogV0tDb2xv
clBpY2tlclJlc3VsdExpc3RlbmVyUmVmOwogCiAvKiBXZWJLaXQyIEJ1bmRsZSB0eXBlcyAqLwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJQ2xpZW50VHJhaXRzLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElDbGllbnRUcmFpdHMuY3BwCmluZGV4IGFkM2QyMjAu
LmJhMzY0YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElDbGllbnRUcmFp
dHMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElDbGllbnRUcmFpdHMuY3BwCkBA
IC02NSw2ICs2NSw3IEBAIGNvbnN0IHNpemVfdCBBUElDbGllbnRUcmFpdHM8V0tQYWdlTG9hZGVy
Q2xpZW50Pjo6aW50ZXJmYWNlU2l6ZXNCeVZlcnNpb25bXSA9IHsKIAogY29uc3Qgc2l6ZV90IEFQ
SUNsaWVudFRyYWl0czxXS1BhZ2VVSUNsaWVudD46OmludGVyZmFjZVNpemVzQnlWZXJzaW9uW10g
PSB7CiAgICAgb2Zmc2V0b2YoV0tQYWdlVUlDbGllbnQsIGNyZWF0ZU5ld1BhZ2UpLAorICAgIG9m
ZnNldG9mKFdLUGFnZVVJQ2xpZW50LCBzaG93Q29sb3JQaWNrZXIpLAogICAgIHNpemVvZihXS1Bh
Z2VVSUNsaWVudCkKIH07CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
QVBJQ2xpZW50VHJhaXRzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJQ2xpZW50VHJhaXRz
LmgKaW5kZXggNzM1MmI1Ni4uMzg5NjIwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL0FQSUNsaWVudFRyYWl0cy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElDbGll
bnRUcmFpdHMuaApAQCAtNjMsNyArNjMsNyBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBBUElDbGllbnRU
cmFpdHM8V0tQYWdlTG9hZGVyQ2xpZW50PiB7CiB9OwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBUElD
bGllbnRUcmFpdHM8V0tQYWdlVUlDbGllbnQ+IHsKLSAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGlu
dGVyZmFjZVNpemVzQnlWZXJzaW9uWzJdOworICAgIHN0YXRpYyBjb25zdCBzaXplX3QgaW50ZXJm
YWNlU2l6ZXNCeVZlcnNpb25bM107CiB9OwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBUElDbGllbnRU
cmFpdHM8V0tCdW5kbGVQYWdlRm9ybUNsaWVudD4gewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL0FQSU9iamVjdC5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSU9iamVjdC5o
CmluZGV4IDcwOGVmZmUuLmZjMWVkYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9BUElPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJT2JqZWN0LmgKQEAg
LTEwOCw2ICsxMDgsNyBAQCBwdWJsaWM6CiAgICAgICAgIFR5cGVQcmVmZXJlbmNlcywKICAgICAg
ICAgVHlwZVRleHRDaGVja2VyLAogICAgICAgICBUeXBlVmlicmF0aW9uLAorICAgICAgICBUeXBl
Q29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lciwKIAogICAgICAgICAvLyBCdW5kbGUgdHlwZXMKICAg
ICAgICAgVHlwZUJ1bmRsZSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1RhcmdldC5wcmkg
Yi9Tb3VyY2UvV2ViS2l0Mi9UYXJnZXQucHJpCmluZGV4IDIxZTJkYzEuLmJmZDM0YTkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYktpdDIvVGFy
Z2V0LnByaQpAQCAtMTUwLDYgKzE1MCw3IEBAIEhFQURFUlMgKz0gXAogICAgIFVJUHJvY2Vzcy9B
UEkvQy9XS0JhY2tGb3J3YXJkTGlzdEl0ZW0uaCBcCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLQmF0
dGVyeU1hbmFnZXIuaCBcCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLQmF0dGVyeVN0YXR1cy5oIFwK
KyAgICBVSVByb2Nlc3MvQVBJL0MvV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmggXAogICAg
IFVJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuaCBcCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLQ29u
dGV4dFByaXZhdGUuaCBcCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLQ3JlZGVudGlhbC5oIFwKQEAg
LTIyNSw2ICsyMjYsNyBAQCBIRUFERVJTICs9IFwKICAgICBVSVByb2Nlc3MvV2ViQmF0dGVyeU1h
bmFnZXJQcm94eS5oIFwKICAgICBVSVByb2Nlc3MvV2ViQmF0dGVyeVByb3ZpZGVyLmggXAogICAg
IFVJUHJvY2Vzcy9XZWJDb2xvckNob29zZXJQcm94eS5oIFwKKyAgICBVSVByb2Nlc3MvV2ViQ29s
b3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5LmggXAogICAgIFVJUHJvY2Vzcy9XZWJDb25uZWN0
aW9uVG9XZWJQcm9jZXNzLmggXAogICAgIFVJUHJvY2Vzcy9XZWJDb250ZXh0LmggXAogICAgIFVJ
UHJvY2Vzcy9XZWJDb250ZXh0Q29ubmVjdGlvbkNsaWVudC5oIFwKQEAgLTQ5OSw2ICs1MDEsNyBA
QCBTT1VSQ0VTICs9IFwKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tCYWNrRm9yd2FyZExpc3RJdGVt
LmNwcCBcCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLQmF0dGVyeU1hbmFnZXIuY3BwIFwKICAgICBV
SVByb2Nlc3MvQVBJL0MvV0tCYXR0ZXJ5U3RhdHVzLmNwcCBcCisgICAgVUlQcm9jZXNzL0FQSS9D
L1dLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lci5jcHAgXAogICAgIFVJUHJvY2Vzcy9BUEkvQy9X
S0NvbnRleHQuY3BwIFwKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tDcmVkZW50aWFsLmNwcCBcCiAg
ICAgVUlQcm9jZXNzL0FQSS9DL1dLRGF0YWJhc2VNYW5hZ2VyLmNwcCBcCkBAIC01NjUsNiArNTY4
LDggQEAgU09VUkNFUyArPSBcCiAgICAgVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkTGlzdC5jcHAg
XAogICAgIFVJUHJvY2Vzcy9XZWJCYXR0ZXJ5TWFuYWdlclByb3h5LmNwcCBcCiAgICAgVUlQcm9j
ZXNzL1dlYkJhdHRlcnlQcm92aWRlci5jcHAgXAorICAgIFVJUHJvY2Vzcy9XZWJDb2xvckNob29z
ZXJQcm94eS5jcHAgXAorICAgIFVJUHJvY2Vzcy9XZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVy
UHJveHkuY3BwIFwKICAgICBVSVByb2Nlc3MvV2ViQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAg
XAogICAgIFVJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcCBcCiAgICAgVUlQcm9jZXNzL1dlYkNvbnRl
eHRDb25uZWN0aW9uQ2xpZW50LmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tBUElDYXN0LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
V0tBUElDYXN0LmgKaW5kZXggYzExZjc0MC4uZTgzOWJkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaApAQCAtNjAsNiArNjAsNyBAQCBjbGFzcyBXZWJCYWNr
Rm9yd2FyZExpc3RJdGVtOwogY2xhc3MgV2ViQmF0dGVyeU1hbmFnZXJQcm94eTsKIGNsYXNzIFdl
YkJhdHRlcnlTdGF0dXM7CiBjbGFzcyBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5OworY2xh
c3MgV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5OwogY2xhc3MgV2ViQ29udGV4dDsK
IGNsYXNzIFdlYkNvb2tpZU1hbmFnZXJQcm94eTsKIGNsYXNzIFdlYkNyZWRlbnRpYWw7CkBAIC0x
MzksNiArMTQwLDcgQEAgV0tfQUREX0FQSV9NQVBQSU5HKFdLUmVuZGVyTGF5ZXJSZWYsIFdlYlJl
bmRlckxheWVyKQogV0tfQUREX0FQSV9NQVBQSU5HKFdLUmVuZGVyT2JqZWN0UmVmLCBXZWJSZW5k
ZXJPYmplY3QpCiBXS19BRERfQVBJX01BUFBJTkcoV0tUZXh0Q2hlY2tlclJlZiwgV2ViVGV4dENo
ZWNrZXIpCiBXS19BRERfQVBJX01BUFBJTkcoV0tWaWJyYXRpb25SZWYsIFdlYlZpYnJhdGlvblBy
b3h5KQorV0tfQUREX0FQSV9NQVBQSU5HKFdLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclJlZiwg
V2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5KQogCiAjaWYgRU5BQkxFKElOU1BFQ1RP
UikKIFdLX0FERF9BUElfTUFQUElORyhXS0luc3BlY3RvclJlZiwgV2ViSW5zcGVjdG9yUHJveHkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb2xvclBpY2tl
clJlc3VsdExpc3RlbmVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0Nv
bG9yUGlja2VyUmVzdWx0TGlzdGVuZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLjkxM2M1NzUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmNwcApAQCAtMCwwICsxLDQ0IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV0tD
b2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmgiCisKKyNpbmNsdWRlICJXS0FQSUNhc3QuaCIKKyNp
bmNsdWRlICJXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkuaCIKKwordXNpbmcgbmFt
ZXNwYWNlIFdlYktpdDsKKworV0tUeXBlSUQgV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyR2V0
VHlwZUlEKCkKK3sKKyAgICByZXR1cm4gdG9BUEkoV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5l
clByb3h5OjpBUElUeXBlKTsKK30KKwordm9pZCBXS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJD
b2xvclNldChXS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJSZWYgbGlzdGVuZXJSZWYsIGNvbnN0
IFdLU3RyaW5nUmVmIGNvbG9yKQoreworI2lmIEVOQUJMRShJTlBVVF9UWVBFX0NPTE9SKQorICAg
IHRvSW1wbChsaXN0ZW5lclJlZiktPnNldENvbG9yKHRvV1RGU3RyaW5nKGNvbG9yKSk7CisjZW5k
aWYKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbG9y
UGlja2VyUmVzdWx0TGlzdGVuZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9X
S0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi5iNjRmNmZmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL1dLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lci5oCkBAIC0wLDAgKzEsNDMgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVy
X2gKKyNkZWZpbmUgV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyX2gKKworI2luY2x1ZGUgPFdl
YktpdDIvV0tCYXNlLmg+CisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5k
aWYKKworV0tfRVhQT1JUIFdLVHlwZUlEIFdLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lckdldFR5
cGVJRCgpOworCitXS19FWFBPUlQgdm9pZCBXS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJDb2xv
clNldChXS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJSZWYgbGlzdGVuZXJSZWYsIGNvbnN0IFdL
U3RyaW5nUmVmIGNvbG9yKTsKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2Vu
ZGlmIC8qIFdLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lcl9oICovCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tQYWdlLmgKaW5kZXggZjc5NDYwOC4uYjU0YzJkMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuaApAQCAtMjI1LDYgKzIyNSw4IEBAIHR5cGVkZWYg
dm9pZCAoKldLUGFnZVNhdmVEYXRhVG9GaWxlSW5Eb3dubG9hZHNGb2xkZXJDYWxsYmFjaykoV0tQ
YWdlUmVmIHBhZ2UsIFdLCiB0eXBlZGVmIGJvb2wgKCpXS1BhZ2VTaG91bGRJbnRlcnJ1cHRKYXZh
U2NyaXB0Q2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsK
IHR5cGVkZWYgdm9pZCAoKldLUGFnZURlY2lkZVBvbGljeUZvck5vdGlmaWNhdGlvblBlcm1pc3Np
b25SZXF1ZXN0Q2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBXS1NlY3VyaXR5T3JpZ2luUmVmIG9y
aWdpbiwgV0tOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdFJlZiBwZXJtaXNzaW9uUmVxdWVz
dCwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7CiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VVbmF2YWls
YWJsZVBsdWdpbkJ1dHRvbkNsaWNrZWRDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLUGx1Z2lu
VW5hdmFpbGFiaWxpdHlSZWFzb24gcGx1Z2luVW5hdmFpbGFiaWxpdHlSZWFzb24sIFdLU3RyaW5n
UmVmIG1pbWVUeXBlLCBXS1N0cmluZ1JlZiB1cmwsIFdLU3RyaW5nUmVmIHBsdWdpbnNQYWdlVVJM
LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKK3R5cGVkZWYgdm9pZCAoKldLUGFnZVNob3dDb2xv
clBpY2tlckNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgaW5pdGlhbENvbG9y
LCBXS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJSZWYgbGlzdGVuZXIsIGNvbnN0IHZvaWQqIGNs
aWVudEluZm8pOwordHlwZWRlZiB2b2lkICgqV0tQYWdlSGlkZUNvbG9yUGlja2VyQ2FsbGJhY2sp
KFdLUGFnZVJlZiBwYWdlLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKIAogLy8gRGVwcmVjYXRl
ZCAgICAKIHR5cGVkZWYgV0tQYWdlUmVmICgqV0tQYWdlQ3JlYXRlTmV3UGFnZUNhbGxiYWNrX2Rl
cHJlY2F0ZWRGb3JVc2VXaXRoVjApKFdLUGFnZVJlZiBwYWdlLCBXS0RpY3Rpb25hcnlSZWYgZmVh
dHVyZXMsIFdLRXZlbnRNb2RpZmllcnMgbW9kaWZpZXJzLCBXS0V2ZW50TW91c2VCdXR0b24gbW91
c2VCdXR0b24sIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwpAQCAtMjgxLDEwICsyODMsMTQgQEAg
c3RydWN0IFdLUGFnZVVJQ2xpZW50IHsKICAgICBXS1BhZ2VNb3VzZURpZE1vdmVPdmVyRWxlbWVu
dENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vdXNlRGlkTW92ZU92ZXJF
bGVtZW50OwogICAgIFdLUGFnZURlY2lkZVBvbGljeUZvck5vdGlmaWNhdGlvblBlcm1pc3Npb25S
ZXF1ZXN0Q2FsbGJhY2sgICAgICAgICAgZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0aW9uUGVybWlz
c2lvblJlcXVlc3Q7CiAgICAgV0tQYWdlVW5hdmFpbGFibGVQbHVnaW5CdXR0b25DbGlja2VkQ2Fs
bGJhY2sgICAgICAgICAgICAgICAgICAgICAgICB1bmF2YWlsYWJsZVBsdWdpbkJ1dHRvbkNsaWNr
ZWQ7CisKKyAgICAvLyBWZXJzaW9uIDIKKyAgICBXS1BhZ2VTaG93Q29sb3JQaWNrZXJDYWxsYmFj
ayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dDb2xvclBpY2tlcjsK
KyAgICBXS1BhZ2VIaWRlQ29sb3JQaWNrZXJDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGhpZGVDb2xvclBpY2tlcjsKIH07CiB0eXBlZGVmIHN0cnVjdCBXS1Bh
Z2VVSUNsaWVudCBXS1BhZ2VVSUNsaWVudDsKIAotZW51bSB7IGtXS1BhZ2VVSUNsaWVudEN1cnJl
bnRWZXJzaW9uID0gMSB9OworZW51bSB7IGtXS1BhZ2VVSUNsaWVudEN1cnJlbnRWZXJzaW9uID0g
MiB9OwogCiAvLyBGaW5kIGNsaWVudC4KIHR5cGVkZWYgdm9pZCAoKldLUGFnZURpZEZpbmRTdHJp
bmdDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIHN0cmluZywgdW5zaWduZWQg
bWF0Y2hDb3VudCwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRVSUNsaWVudC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRVSUNsaWVudC5jcHAKaW5kZXggMWQ5ODVkMy4u
NTlkMGIwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2Vi
S2l0VUlDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdFVJQ2xpZW50LmNwcApAQCAtMjA0LDYgKzIwNCw4IEBAIHZvaWQgYXR0YWNoVUlDbGllbnRU
b1ZpZXcoV2ViS2l0V2ViVmlldyogd2ViVmlldykKICAgICAgICAgbW91c2VEaWRNb3ZlT3ZlckVs
ZW1lbnQsCiAgICAgICAgIDAsIC8vIGRlY2lkZVBvbGljeUZvck5vdGlmaWNhdGlvblBlcm1pc3Np
b25SZXF1ZXN0CiAgICAgICAgIDAsIC8vIHVuYXZhaWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZAor
ICAgICAgICAwLCAvLyBzaG93Q29sb3JQaWNrZXIKKyAgICAgICAgMCwgLy8gaGlkZUNvbG9yUGlj
a2VyCiAgICAgfTsKICAgICBXS1BhZ2VSZWYgd2tQYWdlID0gdG9BUEkod2Via2l0V2ViVmlld0Jh
c2VHZXRQYWdlKFdFQktJVF9XRUJfVklFV19CQVNFKHdlYlZpZXcpKSk7CiAgICAgV0tQYWdlU2V0
UGFnZVVJQ2xpZW50KHdrUGFnZSwgJndrVUlDbGllbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYkNvbG9yQ2hvb3NlclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJDb2xvckNob29zZXJQcm94eS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uNzU1NDA0NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJDb2xvckNob29zZXJQcm94eS5jcHAKQEAgLTAsMCArMSw2MCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYkNvbG9y
Q2hvb3NlclByb3h5LmgiCisKKyNpZiBFTkFCTEUoSU5QVVRfVFlQRV9DT0xPUikKKworbmFtZXNw
YWNlIFdlYktpdCB7CisKK1dlYkNvbG9yQ2hvb3NlclByb3h5OjpXZWJDb2xvckNob29zZXJQcm94
eShDbGllbnQqIGNsaWVudCkKKyAgICA6IG1fY2xpZW50KGNsaWVudCkKK3sKK30KKworV2ViQ29s
b3JDaG9vc2VyUHJveHk6On5XZWJDb2xvckNob29zZXJQcm94eSgpCit7Cit9CisKK3ZvaWQgV2Vi
Q29sb3JDaG9vc2VyUHJveHk6OmVuZENob29zZXIoKQoreworICAgIGlmICghbV9jbGllbnQpCisg
ICAgICAgIHJldHVybjsKKworICAgIG1fY2xpZW50LT5kaWRFbmRDb2xvckNob29zZXIoKTsKK30K
Kwordm9pZCBXZWJDb2xvckNob29zZXJQcm94eTo6c2V0U2VsZWN0ZWRDb2xvcihjb25zdCBXZWJD
b3JlOjpDb2xvciYgY29sb3IpCit7CisgICAgaWYgKCFtX2NsaWVudCkKKyAgICAgICAgcmV0dXJu
OworCisgICAgbV9jbGllbnQtPmRpZENob29zZUNvbG9yKGNvbG9yKTsKK30KKworfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoSU5QVVRfVFlQRV9DT0xPUikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb2xvckNob29zZXJQcm94eS5oIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbG9yQ2hvb3NlclByb3h5LmgKaW5kZXggNzkw
NmMxMC4uYjdiNWU1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNv
bG9yQ2hvb3NlclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbG9y
Q2hvb3NlclByb3h5LmgKQEAgLTQ5LDE4ICs0OSwyMCBAQCBwdWJsaWM6CiAgICAgICAgIHZpcnR1
YWwgdm9pZCBkaWRDaG9vc2VDb2xvcihjb25zdCBXZWJDb3JlOjpDb2xvciYpID0gMDsKICAgICAg
ICAgdmlydHVhbCB2b2lkIGRpZEVuZENvbG9yQ2hvb3NlcigpID0gMDsKICAgICB9OwotICAgIHZp
cnR1YWwgfldlYkNvbG9yQ2hvb3NlclByb3h5KCkgeyB9CisKKyAgICBzdGF0aWMgUGFzc1JlZlB0
cjxXZWJDb2xvckNob29zZXJQcm94eT4gY3JlYXRlKENsaWVudCogY2xpZW50KQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJDb2xvckNob29zZXJQcm94eShjbGllbnQpKTsK
KyAgICB9CisgICAgdmlydHVhbCB+V2ViQ29sb3JDaG9vc2VyUHJveHkoKTsKIAogICAgIHZvaWQg
aW52YWxpZGF0ZSgpIHsgbV9jbGllbnQgPSAwOyB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgZW5kQ2hv
b3NlcigpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0U2VsZWN0ZWRDb2xvcihjb25zdCBXZWJD
b3JlOjpDb2xvciYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZW5kQ2hvb3NlcigpOworICAgIHZp
cnR1YWwgdm9pZCBzZXRTZWxlY3RlZENvbG9yKGNvbnN0IFdlYkNvcmU6OkNvbG9yJik7CiAKIHBy
b3RlY3RlZDoKLSAgICBXZWJDb2xvckNob29zZXJQcm94eShDbGllbnQqIGNsaWVudCkKLSAgICAg
ICAgOiBtX2NsaWVudChjbGllbnQpCi0gICAgewotICAgIH0KKyAgICBXZWJDb2xvckNob29zZXJQ
cm94eShDbGllbnQqKTsKIAogICAgIENsaWVudCogbV9jbGllbnQ7CiB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94
eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0
ZW5lclByb3h5LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZWU3OWRk
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbG9yUGlj
a2VyUmVzdWx0TGlzdGVuZXJQcm94eS5jcHAKQEAgLTAsMCArMSw2MCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYkNvbG9yUGlja2VyUmVz
dWx0TGlzdGVuZXJQcm94eS5oIgorCisjaWYgRU5BQkxFKElOUFVUX1RZUEVfQ09MT1IpCisKKyNp
bmNsdWRlICJXZWJQYWdlUHJveHkuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK1dlYkNvbG9y
UGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eTo6V2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclBy
b3h5KFdlYlBhZ2VQcm94eSogcGFnZSkKKyAgICA6IG1fcGFnZShwYWdlKQoreworfQorCitXZWJD
b2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHk6On5XZWJDb2xvclBpY2tlclJlc3VsdExpc3Rl
bmVyUHJveHkoKQoreworfQorCit2b2lkIFdlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94
eTo6aW52YWxpZGF0ZSgpCit7CisgICAgbV9wYWdlID0gMDsKK30KKwordm9pZCBXZWJDb2xvclBp
Y2tlclJlc3VsdExpc3RlbmVyUHJveHk6OnNldENvbG9yKGNvbnN0IFN0cmluZyYgY29sb3IpCit7
CisgICAgaWYgKCFtX3BhZ2UpCisgICAgICAgIHJldHVybjsKKworICAgIG1fcGFnZS0+c2V0Q29s
b3JDaG9vc2VyQ29sb3IoV2ViQ29yZTo6Q29sb3IoY29sb3IpKTsKKyAgICBtX3BhZ2UtPmVuZENv
bG9yQ2hvb3NlcigpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVO
QUJMRShJTlBVVF9UWVBFX0NPTE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eS5oIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eS5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVkMmQ5NDgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5LmgK
QEAgLTAsMCArMSw2MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0
cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXZWJDb2xvclBp
Y2tlclJlc3VsdExpc3RlbmVyUHJveHlfaAorI2RlZmluZSBXZWJDb2xvclBpY2tlclJlc3VsdExp
c3RlbmVyUHJveHlfaAorCisjaW5jbHVkZSAiQVBJT2JqZWN0LmgiCisjaW5jbHVkZSA8d3RmL1Bh
c3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL3RleHQv
V1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBXZWJQYWdlUHJveHk7
CisKK2NsYXNzIFdlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eSA6IHB1YmxpYyBBUElP
YmplY3QgeworcHVibGljOgorICAgIHN0YXRpYyBjb25zdCBUeXBlIEFQSVR5cGUgPSBUeXBlQ29s
b3JQaWNrZXJSZXN1bHRMaXN0ZW5lcjsKKworICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYkNvbG9y
UGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eT4gY3JlYXRlKFdlYlBhZ2VQcm94eSogcGFnZSkKKyAg
ICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0
ZW5lclByb3h5KHBhZ2UpKTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIH5XZWJDb2xvclBpY2tlclJl
c3VsdExpc3RlbmVyUHJveHkoKTsKKworICAgIHZvaWQgaW52YWxpZGF0ZSgpOworICAgIHZvaWQg
c2V0Q29sb3IoY29uc3QgU3RyaW5nJik7CisKK3ByaXZhdGU6CisgICAgV2ViQ29sb3JQaWNrZXJS
ZXN1bHRMaXN0ZW5lclByb3h5KFdlYlBhZ2VQcm94eSopOworCisgICAgdmlydHVhbCBUeXBlIHR5
cGUoKSBjb25zdCB7IHJldHVybiBBUElUeXBlOyB9CisKKyAgICBSZWZQdHI8V2ViUGFnZVByb3h5
PiBtX3BhZ2U7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFdlYkNv
bG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwCmluZGV4IDk4ODFlYjIuLjQ0YWMxMTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC01Miw2ICs1Miw3IEBACiAjaW5jbHVkZSAi
V2ViQmFja0ZvcndhcmRMaXN0LmgiCiAjaW5jbHVkZSAiV2ViQmFja0ZvcndhcmRMaXN0SXRlbS5o
IgogI2luY2x1ZGUgIldlYkNlcnRpZmljYXRlSW5mby5oIgorI2luY2x1ZGUgIldlYkNvbG9yUGlj
a2VyUmVzdWx0TGlzdGVuZXJQcm94eS5oIgogI2luY2x1ZGUgIldlYkNvbnRleHQuaCIKICNpbmNs
dWRlICJXZWJDb250ZXh0TWVudVByb3h5LmgiCiAjaW5jbHVkZSAiV2ViQ29udGV4dFVzZXJNZXNz
YWdlQ29kZXJzLmgiCkBAIC00MTIsNiArNDEzLDExIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpjbG9z
ZSgpCiAgICAgICAgIG1fY29sb3JDaG9vc2VyLT5pbnZhbGlkYXRlKCk7CiAgICAgICAgIG1fY29s
b3JDaG9vc2VyID0gbnVsbHB0cjsKICAgICB9CisKKyAgICBpZiAobV9jb2xvclBpY2tlclJlc3Vs
dExpc3RlbmVyKSB7CisgICAgICAgIG1fY29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lci0+aW52YWxp
ZGF0ZSgpOworICAgICAgICBtX2NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIgPSBudWxscHRyOwor
ICAgIH0KICNlbmRpZgogCiAjaWYgRU5BQkxFKEdFT0xPQ0FUSU9OKQpAQCAtMjcxMSw3ICsyNzE3
LDIwIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzaG93Q29sb3JDaG9vc2VyKGNvbnN0IFdlYkNvcmU6
OkNvbG9yJiBpbml0aWFsQ29sb3IpCiB7CiAgICAgQVNTRVJUKCFtX2NvbG9yQ2hvb3Nlcik7CiAK
KyAgICBpZiAobV9jb2xvclBpY2tlclJlc3VsdExpc3RlbmVyKSB7CisgICAgICAgIG1fY29sb3JQ
aWNrZXJSZXN1bHRMaXN0ZW5lci0+aW52YWxpZGF0ZSgpOworICAgICAgICBtX2NvbG9yUGlja2Vy
UmVzdWx0TGlzdGVuZXIgPSBudWxscHRyOworICAgIH0KKworICAgIG1fY29sb3JQaWNrZXJSZXN1
bHRMaXN0ZW5lciA9IFdlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eTo6Y3JlYXRlKHRo
aXMpOworICAgIG1fY29sb3JDaG9vc2VyID0gV2ViQ29sb3JDaG9vc2VyUHJveHk6OmNyZWF0ZSh0
aGlzKTsKKworICAgIGlmIChtX3VpQ2xpZW50LnNob3dDb2xvclBpY2tlcih0aGlzLCBpbml0aWFs
Q29sb3Iuc2VyaWFsaXplZCgpLCBtX2NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIuZ2V0KCkpKQor
ICAgICAgICByZXR1cm47CisKICAgICBtX2NvbG9yQ2hvb3NlciA9IG1fcGFnZUNsaWVudC0+Y3Jl
YXRlQ29sb3JDaG9vc2VyUHJveHkodGhpcywgaW5pdGlhbENvbG9yKTsKKyAgICBpZiAoIW1fY29s
b3JDaG9vc2VyKQorICAgICAgICBkaWRFbmRDb2xvckNob29zZXIoKTsKIH0KIAogdm9pZCBXZWJQ
YWdlUHJveHk6OnNldENvbG9yQ2hvb3NlckNvbG9yKGNvbnN0IFdlYkNvcmU6OkNvbG9yJiBjb2xv
cikKQEAgLTI3NDEsMTIgKzI3NjAsMTcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRpZEVuZENvbG9y
Q2hvb3NlcigpCiAgICAgaWYgKCFpc1ZhbGlkKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIEFT
U0VSVChtX2NvbG9yQ2hvb3Nlcik7Ci0KLSAgICBtX2NvbG9yQ2hvb3Nlci0+aW52YWxpZGF0ZSgp
OwotICAgIG1fY29sb3JDaG9vc2VyID0gbnVsbHB0cjsKKyAgICBpZiAobV9jb2xvckNob29zZXIp
IHsKKyAgICAgICAgbV9jb2xvckNob29zZXItPmludmFsaWRhdGUoKTsKKyAgICAgICAgbV9jb2xv
ckNob29zZXIgPSBudWxscHRyOworICAgIH0KIAogICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdl
czo6V2ViUGFnZTo6RGlkRW5kQ29sb3JDaG9vc2VyKCksIG1fcGFnZUlEKTsKKworICAgIG1fY29s
b3JQaWNrZXJSZXN1bHRMaXN0ZW5lci0+aW52YWxpZGF0ZSgpOworICAgIG1fY29sb3JQaWNrZXJS
ZXN1bHRMaXN0ZW5lciA9IG51bGxwdHI7CisKKyAgICBtX3VpQ2xpZW50LmhpZGVDb2xvclBpY2tl
cih0aGlzKTsKIH0KICNlbmRpZgogCkBAIC0zNTE4LDYgKzM1NDIsMTEgQEAgdm9pZCBXZWJQYWdl
UHJveHk6OnByb2Nlc3NEaWRDcmFzaCgpCiAgICAgICAgIG1fY29sb3JDaG9vc2VyLT5pbnZhbGlk
YXRlKCk7CiAgICAgICAgIG1fY29sb3JDaG9vc2VyID0gbnVsbHB0cjsKICAgICB9CisKKyAgICBp
ZiAobV9jb2xvclBpY2tlclJlc3VsdExpc3RlbmVyKSB7CisgICAgICAgIG1fY29sb3JQaWNrZXJS
ZXN1bHRMaXN0ZW5lci0+aW52YWxpZGF0ZSgpOworICAgICAgICBtX2NvbG9yUGlja2VyUmVzdWx0
TGlzdGVuZXIgPSBudWxscHRyOworICAgIH0KICNlbmRpZgogCiAjaWYgRU5BQkxFKEdFT0xPQ0FU
SU9OKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5o
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDlhMTlhNTYu
LjkzODlkYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTEz
OCw2ICsxMzgsNyBAQCBjbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKIGNsYXNzIFN0cmlu
Z1BhaXJWZWN0b3I7CiBjbGFzcyBXZWJCYWNrRm9yd2FyZExpc3Q7CiBjbGFzcyBXZWJCYWNrRm9y
d2FyZExpc3RJdGVtOworY2xhc3MgV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5Owog
Y2xhc3MgV2ViQ29udGV4dE1lbnVQcm94eTsKIGNsYXNzIFdlYkRhdGE7CiBjbGFzcyBXZWJFZGl0
Q29tbWFuZFByb3h5OwpAQCAtNzE3LDYgKzcxOCwxMSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHBv
c3RNZXNzYWdlVG9JbmplY3RlZEJ1bmRsZShjb25zdCBTdHJpbmcmIG1lc3NhZ2VOYW1lLCBBUElP
YmplY3QqIG1lc3NhZ2VCb2R5KTsKIAorI2lmIEVOQUJMRShJTlBVVF9UWVBFX0NPTE9SKQorICAg
IHZvaWQgc2V0Q29sb3JDaG9vc2VyQ29sb3IoY29uc3QgV2ViQ29yZTo6Q29sb3ImKTsKKyAgICB2
b2lkIGVuZENvbG9yQ2hvb3NlcigpOworI2VuZGlmCisKIHByaXZhdGU6CiAgICAgV2ViUGFnZVBy
b3h5KFBhZ2VDbGllbnQqLCBQYXNzUmVmUHRyPFdlYlByb2Nlc3NQcm94eT4sIFdlYlBhZ2VHcm91
cCosIHVpbnQ2NF90IHBhZ2VJRCk7CiAKQEAgLTg0OSw4ICs4NTUsNiBAQCBwcml2YXRlOgogCiAj
aWYgRU5BQkxFKElOUFVUX1RZUEVfQ09MT1IpCiAgICAgdm9pZCBzaG93Q29sb3JDaG9vc2VyKGNv
bnN0IFdlYkNvcmU6OkNvbG9yJiBpbml0aWFsQ29sb3IpOwotICAgIHZvaWQgc2V0Q29sb3JDaG9v
c2VyQ29sb3IoY29uc3QgV2ViQ29yZTo6Q29sb3ImKTsKLSAgICB2b2lkIGVuZENvbG9yQ2hvb3Nl
cigpOwogICAgIHZvaWQgZGlkQ2hvb3NlQ29sb3IoY29uc3QgV2ViQ29yZTo6Q29sb3ImKTsKICAg
ICB2b2lkIGRpZEVuZENvbG9yQ2hvb3NlcigpOwogI2VuZGlmCkBAIC0xMTM5LDYgKzExNDMsNyBA
QCBwcml2YXRlOgogI2VuZGlmCiAjaWYgRU5BQkxFKElOUFVUX1RZUEVfQ09MT1IpCiAgICAgUmVm
UHRyPFdlYkNvbG9yQ2hvb3NlclByb3h5PiBtX2NvbG9yQ2hvb3NlcjsKKyAgICBSZWZQdHI8V2Vi
Q29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5PiBtX2NvbG9yUGlja2VyUmVzdWx0TGlzdGVu
ZXI7CiAjZW5kaWYKIAogICAgIHVpbnQ2NF90IG1fcGFnZUlEOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlVJQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJVSUNsaWVudC5jcHAKaW5kZXggZWQxZmI5My4uZjg4YzAwYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlVJQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViVUlDbGllbnQuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVk
ZSAiTmF0aXZlV2ViV2hlZWxFdmVudC5oIgogI2luY2x1ZGUgIk5vdGlmaWNhdGlvblBlcm1pc3Np
b25SZXF1ZXN0LmgiCiAjaW5jbHVkZSAiV0tBUElDYXN0LmgiCisjaW5jbHVkZSAiV2ViQ29sb3JQ
aWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5LmgiCiAjaW5jbHVkZSAiV2ViTnVtYmVyLmgiCiAjaW5j
bHVkZSAiV2ViT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJQcm94eS5oIgogI2luY2x1ZGUgIldlYlBh
Z2VQcm94eS5oIgpAQCAtNDE3LDQgKzQxOCwyNCBAQCBib29sIFdlYlVJQ2xpZW50OjpzaG91bGRJ
bnRlcnJ1cHRKYXZhU2NyaXB0KFdlYlBhZ2VQcm94eSogcGFnZSkKICAgICByZXR1cm4gbV9jbGll
bnQuc2hvdWxkSW50ZXJydXB0SmF2YVNjcmlwdCh0b0FQSShwYWdlKSwgbV9jbGllbnQuY2xpZW50
SW5mbyk7CiB9CiAKKyNpZiBFTkFCTEUoSU5QVVRfVFlQRV9DT0xPUikKK2Jvb2wgV2ViVUlDbGll
bnQ6OnNob3dDb2xvclBpY2tlcihXZWJQYWdlUHJveHkqIHBhZ2UsIGNvbnN0IFN0cmluZyYgaW5p
dGlhbENvbG9yLCBXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkqIGxpc3RlbmVyKQor
eworICAgIGlmICghbV9jbGllbnQuc2hvd0NvbG9yUGlja2VyKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisKKyAgICBtX2NsaWVudC5zaG93Q29sb3JQaWNrZXIodG9BUEkocGFnZSksIHRvQVBJKGlu
aXRpYWxDb2xvci5pbXBsKCkpLCB0b0FQSShsaXN0ZW5lciksIG1fY2xpZW50LmNsaWVudEluZm8p
OworICAgIHJldHVybiB0cnVlOworfQorCitib29sIFdlYlVJQ2xpZW50OjpoaWRlQ29sb3JQaWNr
ZXIoV2ViUGFnZVByb3h5KiBwYWdlKQoreworICAgIGlmICghbV9jbGllbnQuaGlkZUNvbG9yUGlj
a2VyKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBtX2NsaWVudC5oaWRlQ29sb3JQaWNr
ZXIodG9BUEkocGFnZSksIG1fY2xpZW50LmNsaWVudEluZm8pOworICAgIHJldHVybiB0cnVlOwor
fQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlVJQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViVUlDbGllbnQuaAppbmRleCAyOGNmYjY4Li45YjUyYmZkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViVUlDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViVUlDbGllbnQuaApAQCAtNDgsNiArNDgsNyBAQCBjbGFzcyBHZW9sb2NhdGlvblBl
cm1pc3Npb25SZXF1ZXN0UHJveHk7CiBjbGFzcyBOYXRpdmVXZWJLZXlib2FyZEV2ZW50OwogY2xh
c3MgTmF0aXZlV2ViV2hlZWxFdmVudDsKIGNsYXNzIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1
ZXN0OworY2xhc3MgV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5OwogY2xhc3MgV2Vi
RGF0YTsKIGNsYXNzIFdlYkZyYW1lUHJveHk7CiBjbGFzcyBXZWJQYWdlUHJveHk7CkBAIC0xMTUs
NiArMTE2LDExIEBAIHB1YmxpYzoKICAgICB2b2lkIHNhdmVEYXRhVG9GaWxlSW5Eb3dubG9hZHNG
b2xkZXIoV2ViUGFnZVByb3h5KiwgY29uc3QgU3RyaW5nJiBzdWdnZXN0ZWRGaWxlbmFtZSwgY29u
c3QgU3RyaW5nJiBtaW1lVHlwZSwgY29uc3QgU3RyaW5nJiBvcmlnaW5hdGluZ1VSTFN0cmluZywg
V2ViRGF0YSopOwogCiAgICAgYm9vbCBzaG91bGRJbnRlcnJ1cHRKYXZhU2NyaXB0KFdlYlBhZ2VQ
cm94eSopOworCisjaWYgRU5BQkxFKElOUFVUX1RZUEVfQ09MT1IpCisgICAgYm9vbCBzaG93Q29s
b3JQaWNrZXIoV2ViUGFnZVByb3h5KiwgY29uc3QgU3RyaW5nJiwgV2ViQ29sb3JQaWNrZXJSZXN1
bHRMaXN0ZW5lclByb3h5Kik7CisgICAgYm9vbCBoaWRlQ29sb3JQaWNrZXIoV2ViUGFnZVByb3h5
Kik7CisjZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dl
YktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDJmY2EyNDAuLjYz
M2I4ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTkxMyw2ICs5MTMsMTAgQEAKIAkJRTFFRTUzRTcxMUY4Q0ZGQjAwQ0NCRUU0
IC8qIEluamVjdGVkQnVuZGxlUGFnZUVkaXRvckNsaWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMUVFNTNFNjExRjhDRkZCMDBDQ0JFRTQgLyog
SW5qZWN0ZWRCdW5kbGVQYWdlRWRpdG9yQ2xpZW50LmNwcCAqLzsgfTsKIAkJRUQ4MkE3RjIxMjhD
NkZBRjAwNDQ3N0IzIC8qIFdLQnVuZGxlUGFnZU92ZXJsYXkuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMjJGMEZGMTI4OUZDRDkwMDg1RTc0RiAvKiBX
S0J1bmRsZVBhZ2VPdmVybGF5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJRURDQTcxQjcxMjhEREE4QzAwMjAxQjI2IC8qIFdLQnVuZGxlUGFnZU92
ZXJsYXkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MUEyMkYxMDAxMjg5RkNEOTAwODVFNzRGIC8qIFdLQnVuZGxlUGFnZU92ZXJsYXkuY3BwICovOyB9
OworCQlGMDM2OTc4NTE1RjRCRTZCMDBDM0E4MEUgLyogV0tDb2xvclBpY2tlclJlc3VsdExpc3Rl
bmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYw
MzY5NzgzMTVGNEJFNkIwMEMzQTgwRSAvKiBXS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIuY3Bw
ICovOyB9OworCQlGMDM2OTc4NjE1RjRCRTZCMDBDM0E4MEUgLyogV0tDb2xvclBpY2tlclJlc3Vs
dExpc3RlbmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBGMDM2OTc4NDE1RjRCRTZCMDBDM0E4MEUgLyogV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVy
LmggKi87IH07CisJCUYwMzY5Nzg4MTVGNEJGMDUwMEMzQTgwRSAvKiBXZWJDb2xvckNob29zZXJQ
cm94eS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBG
MDM2OTc4NzE1RjRCRjA1MDBDM0E4MEUgLyogV2ViQ29sb3JDaG9vc2VyUHJveHkuY3BwICovOyB9
OworCQlGMDM2OTc4QjE1RjRCRjEzMDBDM0E4MEUgLyogV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0
ZW5lclByb3h5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEYwMzY5Nzg5MTVGNEJGMTMwMEMzQTgwRSAvKiBXZWJDb2xvclBpY2tlclJlc3VsdExpc3Rl
bmVyUHJveHkuY3BwICovOyB9OwogCQlGNjExM0UyNTEyNkNFMTgyMDA1N0QwQTcgLyogV2ViVXNl
ckNvbnRlbnRVUkxQYXR0ZXJuLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBGNjExM0UyNDEyNkNFMTgyMDA1N0QwQTcgLyogV2ViVXNlckNvbnRlbnRVUkxQ
YXR0ZXJuLmggKi87IH07CiAJCUY2MTEzRTI4MTI2Q0UxOUIwMDU3RDBBNyAvKiBXS1VzZXJDb250
ZW50VVJMUGF0dGVybi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBGNjExM0UyNjEyNkNFMTlCMDA1N0QwQTcgLyogV0tVc2VyQ29udGVudFVSTFBhdHRl
cm4uY3BwICovOyB9OwogCQlGNjExM0UyOTEyNkNFMTlCMDA1N0QwQTcgLyogV0tVc2VyQ29udGVu
dFVSTFBhdHRlcm4uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEY2MTEzRTI3MTI2Q0UxOUIwMDU3RDBBNyAvKiBXS1VzZXJDb250ZW50VVJMUGF0dGVybi5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0yMDEy
LDYgKzIwMTYsMTEgQEAKIAkJRTFDQzFCOEYxMkQ3RUFERjAwNjI1ODM4IC8qIFByaW50SW5mb01h
Yy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFByaW50SW5mb01h
Yy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTFFRTUzREMxMUY4Q0Y5RjAwQ0NC
RUU0IC8qIEluamVjdGVkQnVuZGxlUGFnZUVkaXRvckNsaWVudC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBJbmplY3RlZEJ1bmRsZVBhZ2VFZGl0b3JDbGllbnQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTFFRTUzRTYxMUY4Q0ZGQjAwQ0NCRUU0IC8qIEluamVj
dGVkQnVuZGxlUGFnZUVkaXRvckNsaWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBJbmplY3RlZEJ1bmRsZVBhZ2VFZGl0b3JDbGllbnQuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlGMDM2OTc4MzE1RjRCRTZCMDBDM0E4MEUgLyogV0tDb2xvclBp
Y2tlclJlc3VsdExpc3RlbmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFdLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUYwMzY5Nzg0MTVGNEJFNkIwMEMzQTgwRSAvKiBXS0NvbG9yUGlja2VyUmVzdWx0
TGlzdGVuZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tDb2xvclBpY2tl
clJlc3VsdExpc3RlbmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUYwMzY5Nzg3
MTVGNEJGMDUwMEMzQTgwRSAvKiBXZWJDb2xvckNob29zZXJQcm94eS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJDb2xvckNob29zZXJQcm94eS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUYwMzY5Nzg5MTVGNEJGMTMwMEMzQTgwRSAvKiBXZWJD
b2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjAzNjk3OEExNUY0QkYxMzAwQzNBODBFIC8qIFdl
YkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjYxMTNFMjQxMjZDRTE4MjAwNTdEMEE3IC8qIFdlYlVzZXJD
b250ZW50VVJMUGF0dGVybi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJV
c2VyQ29udGVudFVSTFBhdHRlcm4uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjYx
MTNFMjYxMjZDRTE5QjAwNTdEMEE3IC8qIFdLVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLVXNlckNvbnRlbnRVUkxQYXR0ZXJu
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjYxMTNFMjcxMjZDRTE5QjAwNTdE
MEE3IC8qIFdLVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFdLVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0yOTM1LDcgKzI5NDQsMTAgQEAKIAkJCQk1MTJFMzVGMDEzMEI2MzhDMDBBQkQx
OUEgLyogV2ViQXBwbGljYXRpb25DYWNoZU1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbiAqLywKIAkJ
CQlCQzcyQkExQjExRTY0OTA3MDAxRUI0RUEgLyogV2ViQmFja0ZvcndhcmRMaXN0LmNwcCAqLywK
IAkJCQlCQzcyQkExQzExRTY0OTA3MDAxRUI0RUEgLyogV2ViQmFja0ZvcndhcmRMaXN0LmggKi8s
CisJCQkJRjAzNjk3ODcxNUY0QkYwNTAwQzNBODBFIC8qIFdlYkNvbG9yQ2hvb3NlclByb3h5LmNw
cCAqLywKIAkJCQkzRjg3QjlCRjE1ODk0MEQ4MDA5MEZGNjIgLyogV2ViQ29sb3JDaG9vc2VyUHJv
eHkuaCAqLywKKwkJCQlGMDM2OTc4OTE1RjRCRjEzMDBDM0E4MEUgLyogV2ViQ29sb3JQaWNrZXJS
ZXN1bHRMaXN0ZW5lclByb3h5LmNwcCAqLywKKwkJCQlGMDM2OTc4QTE1RjRCRjEzMDBDM0E4MEUg
LyogV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5LmggKi8sCiAJCQkJQkM0QTYyQTUx
NDc0NEVDNjAwNkM2ODFBIC8qIFdlYkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwICovLAogCQkJ
CUJDNEE2MkE2MTQ3NDRFQzYwMDZDNjgxQSAvKiBXZWJDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgg
Ki8sCiAJCQkJQkNCOUUyNDIxMTIwREFDQTAwQTEzN0UwIC8qIFdlYkNvbnRleHQuY3BwICovLApA
QCAtMzA1OSw2ICszMDcxLDggQEAKIAkJCQlCQzY0NkMxNzExREQzOTlGMDA2NDU1QjAgLyogV0tC
YWNrRm9yd2FyZExpc3QuaCAqLywKIAkJCQlCQzY0NkMxODExREQzOTlGMDA2NDU1QjAgLyogV0tC
YWNrRm9yd2FyZExpc3RJdGVtLmNwcCAqLywKIAkJCQlCQzY0NkMxOTExREQzOTlGMDA2NDU1QjAg
LyogV0tCYWNrRm9yd2FyZExpc3RJdGVtLmggKi8sCisJCQkJRjAzNjk3ODMxNUY0QkU2QjAwQzNB
ODBFIC8qIFdLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lci5jcHAgKi8sCisJCQkJRjAzNjk3ODQx
NUY0QkU2QjAwQzNBODBFIC8qIFdLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lci5oICovLAogCQkJ
CUJDQjlFMjRBMTEyMEUxNUMwMEExMzdFMCAvKiBXS0NvbnRleHQuY3BwICovLAogCQkJCUJDQjlF
MjQ5MTEyMEUxNUMwMEExMzdFMCAvKiBXS0NvbnRleHQuaCAqLywKIAkJCQlCQ0M5MzhFMDExODBE
RTQ0MDA4NUU1RkUgLyogV0tDb250ZXh0UHJpdmF0ZS5oICovLApAQCAtNDE0Miw2ICs0MTU2LDcg
QEAKIAkJCQlCQzE0REY5RjEyMEI2MzVGMDA4MjZDMEMgLyogV0tCdW5kbGVTY3JpcHRXb3JsZC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQkM0MDc1RjYxMjRGRjAyNzAwNjhGMjBBIC8qIFdLQ2VydGlm
aWNhdGVJbmZvLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzQwNzYyNzEyNEZGMDQwMDA2OEYyMEEg
LyogV0tDZXJ0aWZpY2F0ZUluZm9NYWMuaCBpbiBIZWFkZXJzICovLAorCQkJCUYwMzY5Nzg2MTVG
NEJFNkIwMEMzQTgwRSAvKiBXS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDQTI4NEQ3MTQ5MkYyQzcwMDFGOTA0MiAvKiBXS0Nvbm5lY3Rpb24uaCBpbiBI
ZWFkZXJzICovLAogCQkJCUJDNUM3NUM4MTQ5NTREQTYwMEJDNDc3NSAvKiBXS0Nvbm5lY3Rpb25J
bnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM0QTYyOTcxNDczMTNBMDAwNkM2ODFBIC8q
IFdLQ29ubmVjdGlvblJlZi5oIGluIEhlYWRlcnMgKi8sCkBAIC00NzY5LDYgKzQ3ODQsOCBAQAog
CQkJCTUxOEQyQ0FEMTJENTE1M0IwMDNCQjkzQiAvKiBXZWJCYWNrRm9yd2FyZExpc3RJdGVtLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUJDNzJCOUZBMTFFNjQ3NkIwMDFFQjRFQSAvKiBXZWJCYWNr
Rm9yd2FyZExpc3RQcm94eS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzExMUE1QTExMkY0RkJC
MDAzMzdCQUIgLyogV2ViQ2hyb21lQ2xpZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUYwMzY5
Nzg4MTVGNEJGMDUwMEMzQTgwRSAvKiBXZWJDb2xvckNob29zZXJQcm94eS5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQlGMDM2OTc4QjE1RjRCRjEzMDBDM0E4MEUgLyogV2ViQ29sb3JQaWNrZXJSZXN1
bHRMaXN0ZW5lclByb3h5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDNEE2MjhGMTQ3MzEyQkUw
MDZDNjgxQSAvKiBXZWJDb25uZWN0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDNEE2Mjkx
MTQ3MzEyQkUwMDZDNjgxQSAvKiBXZWJDb25uZWN0aW9uQ2xpZW50LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUJDRDM2NzVDMTQ4QzI2QzAwMDQ0N0U4NyAvKiBXZWJDb25uZWN0aW9uVG9VSVByb2Nl
c3MuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC00OTUwLDYgKzQ5NjcsNyBAQAogCQkJCUJDMTRERjlF
MTIwQjYzNUYwMDgyNkMwQyAvKiBXS0J1bmRsZVNjcmlwdFdvcmxkLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUJDNDA3NUY1MTI0RkYwMjcwMDY4RjIwQSAvKiBXS0NlcnRpZmljYXRlSW5mby5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlCQzQwNzYyODEyNEZGMDQwMDA2OEYyMEEgLyogV0tDZXJ0aWZp
Y2F0ZUluZm9NYWMubW0gaW4gU291cmNlcyAqLywKKwkJCQlGMDM2OTc4NTE1RjRCRTZCMDBDM0E4
MEUgLyogV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUJDQTI4NEQ2MTQ5MkYyQzcwMDFGOTA0MiAvKiBXS0Nvbm5lY3Rpb24ubW0gaW4gU291cmNlcyAq
LywKIAkJCQlCQzRBNjI5NjE0NzMxM0EwMDA2QzY4MUEgLyogV0tDb25uZWN0aW9uUmVmLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUJDQjlFMjRDMTEyMEUxNUMwMEExMzdFMCAvKiBXS0NvbnRleHQu
Y3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0
Mi52Y3Byb2ogYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2oKaW5kZXggYzY1OTU1
NC4uZjFiMGY2NSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIudmNwcm9q
CisrKyBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvagpAQCAtMjg5OSwxMCArMjg5
OSwyMiBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIu
LlxVSVByb2Nlc3NcV2ViQ29sb3JDaG9vc2VyUHJveHkuY3BwIgorCQkJCT4KKwkJCTwvRmlsZT4K
KwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxVSVByb2Nlc3NcV2ViQ29sb3JDaG9vc2Vy
UHJveHkuaCIKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0i
Li5cVUlQcm9jZXNzXFdlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eS5jcHAiCisJCQkJ
PgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFVJUHJvY2Vzc1xX
ZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJ
CQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cVUlQcm9jZXNzXFdlYkNvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MuY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KQEAgLTMzMjksNiArMzM0MSwxNCBAQAog
CQkJCQkJPgogCQkJCQk8L0ZpbGU+CiAJCQkJCTxGaWxlCisJCQkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XFVJUHJvY2Vzc1xBUElcQ1xXS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIuY3BwIgorCQkJCQkJ
PgorCQkJCQk8L0ZpbGU+CisJCQkJCTxGaWxlCisJCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFVJUHJv
Y2Vzc1xBUElcQ1xXS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIuaCIKKwkJCQkJCT4KKwkJCQkJ
PC9GaWxlPgorCQkJCQk8RmlsZQogCQkJCQkJUmVsYXRpdmVQYXRoPSIuLlxVSVByb2Nlc3NcQVBJ
XENcV0tDb250ZXh0LmNwcCIKIAkJCQkJCT4KIAkJCQkJPC9GaWxlPgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvd2luL1dlYktpdDJHZW5lcmF0ZWQubWFrZSBiL1NvdXJjZS9XZWJLaXQyL3dp
bi9XZWJLaXQyR2VuZXJhdGVkLm1ha2UKaW5kZXggZjkzZjhhOS4uNmYyNzFjYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDJHZW5lcmF0ZWQubWFrZQorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi93aW4vV2ViS2l0MkdlbmVyYXRlZC5tYWtlCkBAIC01MSw2ICs1MSw3IEBAIGFsbDoK
ICAgICB4Y29weSAveSAvZCAiLi5cVUlQcm9jZXNzXEFQSVxDXFdLQXV0aGVudGljYXRpb25EZWNp
c2lvbkxpc3RlbmVyLmgiICIlQ29uZmlndXJhdGlvbkJ1aWxkRGlyJVxpbmNsdWRlXFdlYktpdDIi
CiAgICAgeGNvcHkgL3kgL2QgIi4uXFVJUHJvY2Vzc1xBUElcQ1xXS0JhY2tGb3J3YXJkTGlzdC5o
IiAiJUNvbmZpZ3VyYXRpb25CdWlsZERpciVcaW5jbHVkZVxXZWJLaXQyIgogICAgIHhjb3B5IC95
IC9kICIuLlxVSVByb2Nlc3NcQVBJXENcV0tCYWNrRm9yd2FyZExpc3RJdGVtLmgiICIlQ29uZmln
dXJhdGlvbkJ1aWxkRGlyJVxpbmNsdWRlXFdlYktpdDIiCisgICAgeGNvcHkgL3kgL2QgIi4uXFVJ
UHJvY2Vzc1xBUElcQ1xXS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIuaCIgIiVDb25maWd1cmF0
aW9uQnVpbGREaXIlXGluY2x1ZGVcV2ViS2l0MiIKICAgICB4Y29weSAveSAvZCAiLi5cVUlQcm9j
ZXNzXEFQSVxDXFdLQ29udGV4dC5oIiAiJUNvbmZpZ3VyYXRpb25CdWlsZERpciVcaW5jbHVkZVxX
ZWJLaXQyIgogICAgIHhjb3B5IC95IC9kICIuLlxVSVByb2Nlc3NcQVBJXENcV0tDb250ZXh0UHJp
dmF0ZS5oIiAiJUNvbmZpZ3VyYXRpb25CdWlsZERpciVcaW5jbHVkZVxXZWJLaXQyIgogICAgIHhj
b3B5IC95IC9kICIuLlxVSVByb2Nlc3NcQVBJXENcV0tDb29raWVNYW5hZ2VyLmgiICIlQ29uZmln
dXJhdGlvbkJ1aWxkRGlyJVxpbmNsdWRlXFdlYktpdDIiCmRpZmYgLS1naXQgYS9Ub29scy9DaGFu
Z2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOTk2YjRjYy4uOWU3MGNmZiAxMDA2NDQKLS0t
IGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBA
CisyMDEyLTA5LTAzICBLd2FuZ1lvbmcgQ2hvaSAgPGt5MC5jaG9pQHNhbXN1bmcuY29tPgorCisg
ICAgICAgIFtXSzJdIEFkZCBjb2xvciBwaWNrZXIgQVBJIHN1cHBvcnQgZm9yIFdlYktpdDIKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk1MDU4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5pdGlhbGl6YXRp
b24gY29kZSBmb3IgY29sb3IgcGlja2VyIGNhbGxiYWNrcyBpbiBVSSBjbGllbnQuCisKKyAgICAg
ICAgKiBNaW5pQnJvd3Nlci9tYWMvQnJvd3NlcldpbmRvd0NvbnRyb2xsZXIubToKKyAgICAgICAg
KC1bQnJvd3NlcldpbmRvd0NvbnRyb2xsZXIgYXdha2VGcm9tTmliXSk6CisgICAgICAgICogTWlu
aUJyb3dzZXIvd2luL0Jyb3dzZXJWaWV3LmNwcDoKKyAgICAgICAgKEJyb3dzZXJWaWV3OjpjcmVh
dGUpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwOgorICAg
ICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6Y3JlYXRlT3RoZXJQYWdlKToKKyAgICAgICAgKFdU
Ujo6VGVzdENvbnRyb2xsZXI6OmluaXRpYWxpemUpOgorCiAyMDEyLTA5LTAxICBYaWFuemh1IFdh
bmcgIDx3YW5neGlhbnpodUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVtLUFuZHJv
aWRdIFJlbW92ZSBoYXJkLWNvZGVkIHNraXBwZWQgZGlyZWN0b3JpZXMgaW4gY2hyb21pdW1fYW5k
cm9pZC5weQpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvbWFjL0Jyb3dzZXJXaW5kb3dD
b250cm9sbGVyLm0gYi9Ub29scy9NaW5pQnJvd3Nlci9tYWMvQnJvd3NlcldpbmRvd0NvbnRyb2xs
ZXIubQppbmRleCBlNmI2ZjU0Li5kOWNiMjg2IDEwMDY0NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nl
ci9tYWMvQnJvd3NlcldpbmRvd0NvbnRyb2xsZXIubQorKysgYi9Ub29scy9NaW5pQnJvd3Nlci9t
YWMvQnJvd3NlcldpbmRvd0NvbnRyb2xsZXIubQpAQCAtNjk0LDYgKzY5NCw4IEBAIC0gKHZvaWQp
YXdha2VGcm9tTmliCiAgICAgICAgIG1vdXNlRGlkTW92ZU92ZXJFbGVtZW50LAogICAgICAgICAw
LCAvLyBkZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdAogICAgICAg
ICAwLCAvLyB1bmF2YWlsYWJsZVBsdWdpbkJ1dHRvbkNsaWNrZWQKKyAgICAgICAgMCwgLy8gc2hv
d0NvbG9yUGlja2VyCisgICAgICAgIDAsIC8vIGhpZGVDb2xvclBpY2tlcgogICAgIH07CiAgICAg
V0tQYWdlU2V0UGFnZVVJQ2xpZW50KF93ZWJWaWV3LnBhZ2VSZWYsICZ1aUNsaWVudCk7CiB9CmRp
ZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci93aW4vQnJvd3NlclZpZXcuY3BwIGIvVG9vbHMv
TWluaUJyb3dzZXIvd2luL0Jyb3dzZXJWaWV3LmNwcAppbmRleCAwM2E0NmNiLi4wYTY4NThlIDEw
MDY0NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci93aW4vQnJvd3NlclZpZXcuY3BwCisrKyBiL1Rv
b2xzL01pbmlCcm93c2VyL3dpbi9Ccm93c2VyVmlldy5jcHAKQEAgLTEzMCw2ICsxMzAsMTAgQEAg
dm9pZCBCcm93c2VyVmlldzo6Y3JlYXRlKFJFQ1Qgd2ViVmlld1JlY3QsIEJyb3dzZXJXaW5kb3cq
IHBhcmVudFdpbmRvdykKICAgICAgICAgMCwgICAgICAgICAgLyogc2hvdWxkSW50ZXJydXB0SmF2
YVNjcmlwdCAqLwogICAgICAgICBjcmVhdGVOZXdQYWdlLAogICAgICAgICBtb3VzZURpZE1vdmVP
dmVyRWxlbWVudCwKKyAgICAgICAgMCwgICAgICAgICAgLyogZGVjaWRlUG9saWN5Rm9yTm90aWZp
Y2F0aW9uUGVybWlzc2lvblJlcXVlc3QgKi8KKyAgICAgICAgMCwgICAgICAgICAgLyogdW5hdmFp
bGFibGVQbHVnaW5CdXR0b25DbGlja2VkICovCisgICAgICAgIDAsICAgICAgICAgIC8qIHNob3dD
b2xvclBpY2tlciAqLworICAgICAgICAwLCAgICAgICAgICAvKiBoaWRlQ29sb3JQaWNrZXIgKi8K
ICAgICB9OwogCiAgICAgV0tQYWdlU2V0UGFnZVVJQ2xpZW50KFdLVmlld0dldFBhZ2UobV93ZWJW
aWV3KSwgJnVpQ2xpZW50KTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVz
dENvbnRyb2xsZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5j
cHAKaW5kZXggYzU0OWU4OC4uZTVkZGYxNiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9UZXN0Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0
Q29udHJvbGxlci5jcHAKQEAgLTIyMyw2ICsyMjMsOCBAQCBXS1BhZ2VSZWYgVGVzdENvbnRyb2xs
ZXI6OmNyZWF0ZU90aGVyUGFnZShXS1BhZ2VSZWYgb2xkUGFnZSwgV0tVUkxSZXF1ZXN0UmVmLCBX
SwogICAgICAgICAwLCAvLyBtb3VzZURpZE1vdmVPdmVyRWxlbWVudAogICAgICAgICAwLCAvLyBk
ZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdAogICAgICAgICAwLCAv
LyB1bmF2YWlsYWJsZVBsdWdpbkJ1dHRvbkNsaWNrZWQKKyAgICAgICAgMCwgLy8gc2hvd0NvbG9y
UGlja2VyCisgICAgICAgIDAsIC8vIGhpZGVDb2xvclBpY2tlcgogICAgIH07CiAgICAgV0tQYWdl
U2V0UGFnZVVJQ2xpZW50KG5ld1BhZ2UsICZvdGhlclBhZ2VVSUNsaWVudCk7CiAKQEAgLTM5MSw2
ICszOTMsOCBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjppbml0aWFsaXplKGludCBhcmdjLCBjb25z
dCBjaGFyKiBhcmd2W10pCiAgICAgICAgIDAsIC8vIG1vdXNlRGlkTW92ZU92ZXJFbGVtZW50CiAg
ICAgICAgIGRlY2lkZVBvbGljeUZvck5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0LCAvLyBk
ZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdAogICAgICAgICAwLCAv
LyB1bmF2YWlsYWJsZVBsdWdpbkJ1dHRvbkNsaWNrZWQKKyAgICAgICAgMCwgLy8gc2hvd0NvbG9y
UGlja2VyCisgICAgICAgIDAsIC8vIGhpZGVDb2xvclBpY2tlcgogICAgIH07CiAgICAgV0tQYWdl
U2V0UGFnZVVJQ2xpZW50KG1fbWFpbldlYlZpZXctPnBhZ2UoKSwgJnBhZ2VVSUNsaWVudCk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161950</attachid>
            <date>2012-09-03 17:36:05 -0700</date>
            <delta_ts>2012-09-03 23:48:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>diff</filename>
            <type>text/plain</type>
            <size>43787</size>
            <attacher name="KwangYong Choi">ky0.choi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYktp
dDIvQ01ha2VMaXN0cy50eHQKaW5kZXggYzQzZGQ0YS4uOWQyYjJkYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0
cy50eHQKQEAgLTIzNCw2ICsyMzQsOCBAQCBTRVQoV2ViS2l0Ml9TT1VSQ0VTCiAgICAgVUlQcm9j
ZXNzL1dlYkJhY2tGb3J3YXJkTGlzdC5jcHAKICAgICBVSVByb2Nlc3MvV2ViQmF0dGVyeU1hbmFn
ZXJQcm94eS5jcHAKICAgICBVSVByb2Nlc3MvV2ViQmF0dGVyeVByb3ZpZGVyLmNwcAorICAgIFVJ
UHJvY2Vzcy9XZWJDb2xvckNob29zZXJQcm94eS5jcHAKKyAgICBVSVByb2Nlc3MvV2ViQ29sb3JQ
aWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5LmNwcAogICAgIFVJUHJvY2Vzcy9XZWJDb25uZWN0aW9u
VG9XZWJQcm9jZXNzLmNwcAogICAgIFVJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcAogICAgIFVJUHJv
Y2Vzcy9XZWJDb250ZXh0Q29ubmVjdGlvbkNsaWVudC5jcHAKQEAgLTI4OSw2ICsyOTEsNyBAQCBT
RVQoV2ViS2l0Ml9TT1VSQ0VTCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLQmFja0ZvcndhcmRMaXN0
SXRlbS5jcHAKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tCYXR0ZXJ5TWFuYWdlci5jcHAKICAgICBV
SVByb2Nlc3MvQVBJL0MvV0tCYXR0ZXJ5U3RhdHVzLmNwcAorICAgIFVJUHJvY2Vzcy9BUEkvQy9X
S0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIuY3BwCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLQ29u
dGV4dC5jcHAKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tDb29raWVNYW5hZ2VyLmNwcAogICAgIFVJ
UHJvY2Vzcy9BUEkvQy9XS0NyZWRlbnRpYWwuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNGFjYmE5ZS4uMjk0
MzI5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY4IEBACisyMDEyLTA5LTAzICBLd2FuZ1lvbmcg
Q2hvaSAgPGt5MC5jaG9pQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtXSzJdIEFkZCBjb2xvciBw
aWNrZXIgQVBJIHN1cHBvcnQgZm9yIFdlYktpdDIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTk1MDU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGNvbG9yIHBpY2tlciBBUEkgdG8g
V2ViS2l0Mi4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEdOVW1ha2Vm
aWxlLmxpc3QuYW06CisgICAgICAgICogU2hhcmVkL0FQSS9jL1dLQmFzZS5oOgorICAgICAgICAq
IFNoYXJlZC9BUElDbGllbnRUcmFpdHMuY3BwOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAg
KiBTaGFyZWQvQVBJQ2xpZW50VHJhaXRzLmg6CisgICAgICAgICogU2hhcmVkL0FQSU9iamVjdC5o
OgorICAgICAgICAqIFRhcmdldC5wcmk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLQVBJ
Q2FzdC5oOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tD
b2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmNwcDogQWRkZWQuCisgICAgICAgIChXS0NvbG9yUGlj
a2VyUmVzdWx0TGlzdGVuZXJHZXRUeXBlSUQpOgorICAgICAgICAoV0tDb2xvclBpY2tlclJlc3Vs
dExpc3RlbmVyQ29sb3JTZXQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS0NvbG9yUGlj
a2VyUmVzdWx0TGlzdGVuZXIuaDogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dL
UGFnZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVJQ2xpZW50LmNwcDoK
KyAgICAgICAgKGF0dGFjaFVJQ2xpZW50VG9WaWV3KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
Q29sb3JDaG9vc2VyUHJveHkuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAg
IChXZWJLaXQ6OldlYkNvbG9yQ2hvb3NlclByb3h5OjpXZWJDb2xvckNob29zZXJQcm94eSk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkNvbG9yQ2hvb3NlclByb3h5Ojp+V2ViQ29sb3JDaG9vc2VyUHJv
eHkpOgorICAgICAgICAoV2ViS2l0OjpXZWJDb2xvckNob29zZXJQcm94eTo6ZW5kQ2hvb3Nlcik6
CisgICAgICAgIChXZWJLaXQ6OldlYkNvbG9yQ2hvb3NlclByb3h5OjpzZXRTZWxlY3RlZENvbG9y
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQ29sb3JDaG9vc2VyUHJveHkuaDoKKyAgICAgICAg
KFdlYkNvbG9yQ2hvb3NlclByb3h5KToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29sb3JDaG9vc2Vy
UHJveHk6OmNyZWF0ZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvbG9yUGlja2VyUmVzdWx0
TGlzdGVuZXJQcm94eS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdl
YktpdDo6V2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5OjpXZWJDb2xvclBpY2tlclJl
c3VsdExpc3RlbmVyUHJveHkpOgorICAgICAgICAoV2ViS2l0OjpXZWJDb2xvclBpY2tlclJlc3Vs
dExpc3RlbmVyUHJveHk6On5XZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHk6OmludmFsaWRh
dGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHk6
OnNldENvbG9yKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0
ZW5lclByb3h5Lmg6IEFkZGVkLgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYkNvbG9y
UGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eSk6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbG9yUGlj
a2VyUmVzdWx0TGlzdGVuZXJQcm94eTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29s
b3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5Ojp0eXBlKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpjbG9zZSk6
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6c2hvd0NvbG9yQ2hvb3Nlcik6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkRW5kQ29sb3JDaG9vc2VyKToKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZVByb3h5Ojpwcm9jZXNzRGlkQ3Jhc2gpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJQYWdl
UHJveHkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJVSUNsaWVudC5jcHA6CisgICAgICAgIChX
ZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJVSUNsaWVudDo6c2hvd0NvbG9yUGlja2VyKToK
KyAgICAgICAgKFdlYktpdDo6V2ViVUlDbGllbnQ6OmhpZGVDb2xvclBpY2tlcik6CisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlVJQ2xpZW50Lmg6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAo
V2ViVUlDbGllbnQpOgorICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiB3aW4vV2ViS2l0Mi52Y3Byb2o6CisgICAgICAgICogd2luL1dlYktpdDJH
ZW5lcmF0ZWQubWFrZToKKwogMjAxMi0wOS0wMiAgQnl1bmd3b28gTGVlICA8Ync4MC5sZWVAZ21h
aWwuY29tPgogCiAgICAgICAgIFtFRkxdIEFkZCBtaXNzaW5nIHNlbWljb2xvbiBhdCB0aGUgZW5k
IG9mIHNvbWUgbGluZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5s
aXN0LmFtIGIvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCBkNDE3YjVm
Li42MGI2NDg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFt
CisrKyBiL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTQ5LDYgKzQ5LDcg
QEAgd2Via2l0Ml9oX2FwaSArPSBcCiAJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tCYWNr
Rm9yd2FyZExpc3RJdGVtLmggXAogCSQoV2ViS2l0MikvVUlQcm9jZXNzL0FQSS9DL1dLQmF0dGVy
eU1hbmFnZXIuaCBcCiAJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tCYXR0ZXJ5U3RhdHVz
LmggXAorCSQoV2ViS2l0MikvVUlQcm9jZXNzL0FQSS9DL1dLQ29sb3JQaWNrZXJSZXN1bHRMaXN0
ZW5lci5oIFwKIAkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuaCBcCiAJJChX
ZWJLaXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0UHJpdmF0ZS5oIFwKIAkkKFdlYktpdDIp
L1VJUHJvY2Vzcy9BUEkvQy9XS0Nvb2tpZU1hbmFnZXIuaCBcCkBAIC01MzAsNiArNTMxLDggQEAg
d2Via2l0Ml9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tC
YXR0ZXJ5TWFuYWdlci5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tCYXR0
ZXJ5U3RhdHVzLmNwcCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQmF0dGVy
eVN0YXR1cy5oIFwKKwlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb2xvclBpY2tl
clJlc3VsdExpc3RlbmVyLmNwcCBcCisJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
Q29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lci5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tDb250ZXh0LmNwcCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
Q29udGV4dC5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0UHJp
dmF0ZS5oIFwKQEAgLTgxNCw3ICs4MTcsMTAgQEAgd2Via2l0Ml9zb3VyY2VzICs9IFwKIAlTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQmF0dGVyeU1hbmFnZXJQcm94eS5oIFwKIAlTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViQmF0dGVyeVByb3ZpZGVyLmNwcCBcCiAJU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYkJhdHRlcnlQcm92aWRlci5oIFwKKwlTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViQ29sb3JDaG9vc2VyUHJveHkuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViQ29sb3JDaG9vc2VyUHJveHkuaCBcCisJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eS5jcHAgXAorCVNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkuaCBcCiAJU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwIFwKIAlTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oIFwKIAlTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL0FQSS9jL1dLQmFzZS5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9j
L1dLQmFzZS5oCmluZGV4IDA2YWEyODYuLmU0ZDA2NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9BUEkvYy9XS0Jhc2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJ
L2MvV0tCYXNlLmgKQEAgLTEyNCw2ICsxMjQsNyBAQCB0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFx
dWVXS1ByZWZlcmVuY2VzKiBXS1ByZWZlcmVuY2VzUmVmOwogdHlwZWRlZiBjb25zdCBzdHJ1Y3Qg
T3BhcXVlV0tQcm90ZWN0aW9uU3BhY2UqIFdLUHJvdGVjdGlvblNwYWNlUmVmOwogdHlwZWRlZiBj
b25zdCBzdHJ1Y3QgT3BhcXVlV0tUZXh0Q2hlY2tlciogV0tUZXh0Q2hlY2tlclJlZjsKIHR5cGVk
ZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLVmlicmF0aW9uKiBXS1ZpYnJhdGlvblJlZjsKK3R5cGVk
ZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lciogV0tDb2xv
clBpY2tlclJlc3VsdExpc3RlbmVyUmVmOwogCiAvKiBXZWJLaXQyIEJ1bmRsZSB0eXBlcyAqLwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJQ2xpZW50VHJhaXRzLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElDbGllbnRUcmFpdHMuY3BwCmluZGV4IGFkM2QyMjAu
LmJhMzY0YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElDbGllbnRUcmFp
dHMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElDbGllbnRUcmFpdHMuY3BwCkBA
IC02NSw2ICs2NSw3IEBAIGNvbnN0IHNpemVfdCBBUElDbGllbnRUcmFpdHM8V0tQYWdlTG9hZGVy
Q2xpZW50Pjo6aW50ZXJmYWNlU2l6ZXNCeVZlcnNpb25bXSA9IHsKIAogY29uc3Qgc2l6ZV90IEFQ
SUNsaWVudFRyYWl0czxXS1BhZ2VVSUNsaWVudD46OmludGVyZmFjZVNpemVzQnlWZXJzaW9uW10g
PSB7CiAgICAgb2Zmc2V0b2YoV0tQYWdlVUlDbGllbnQsIGNyZWF0ZU5ld1BhZ2UpLAorICAgIG9m
ZnNldG9mKFdLUGFnZVVJQ2xpZW50LCBzaG93Q29sb3JQaWNrZXIpLAogICAgIHNpemVvZihXS1Bh
Z2VVSUNsaWVudCkKIH07CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
QVBJQ2xpZW50VHJhaXRzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJQ2xpZW50VHJhaXRz
LmgKaW5kZXggNzM1MmI1Ni4uMzg5NjIwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL0FQSUNsaWVudFRyYWl0cy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElDbGll
bnRUcmFpdHMuaApAQCAtNjMsNyArNjMsNyBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBBUElDbGllbnRU
cmFpdHM8V0tQYWdlTG9hZGVyQ2xpZW50PiB7CiB9OwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBUElD
bGllbnRUcmFpdHM8V0tQYWdlVUlDbGllbnQ+IHsKLSAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGlu
dGVyZmFjZVNpemVzQnlWZXJzaW9uWzJdOworICAgIHN0YXRpYyBjb25zdCBzaXplX3QgaW50ZXJm
YWNlU2l6ZXNCeVZlcnNpb25bM107CiB9OwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBUElDbGllbnRU
cmFpdHM8V0tCdW5kbGVQYWdlRm9ybUNsaWVudD4gewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL0FQSU9iamVjdC5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSU9iamVjdC5o
CmluZGV4IDcwOGVmZmUuLjM0MTgxZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9BUElPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJT2JqZWN0LmgKQEAg
LTc1LDYgKzc1LDcgQEAgcHVibGljOgogICAgICAgICBUeXBlQmF0dGVyeU1hbmFnZXIsCiAgICAg
ICAgIFR5cGVCYXR0ZXJ5U3RhdHVzLAogICAgICAgICBUeXBlQ2FjaGVNYW5hZ2VyLAorICAgICAg
ICBUeXBlQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lciwKICAgICAgICAgVHlwZUNvbnRleHQsCiAg
ICAgICAgIFR5cGVDb29raWVNYW5hZ2VyLAogICAgICAgICBUeXBlRGF0YWJhc2VNYW5hZ2VyLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJLaXQyL1Rh
cmdldC5wcmkKaW5kZXggMjFlMmRjMS4uYmZkMzRhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9UYXJnZXQucHJpCkBAIC0xNTAsNiAr
MTUwLDcgQEAgSEVBREVSUyArPSBcCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLQmFja0ZvcndhcmRM
aXN0SXRlbS5oIFwKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tCYXR0ZXJ5TWFuYWdlci5oIFwKICAg
ICBVSVByb2Nlc3MvQVBJL0MvV0tCYXR0ZXJ5U3RhdHVzLmggXAorICAgIFVJUHJvY2Vzcy9BUEkv
Qy9XS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIuaCBcCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dL
Q29udGV4dC5oIFwKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0UHJpdmF0ZS5oIFwKICAg
ICBVSVByb2Nlc3MvQVBJL0MvV0tDcmVkZW50aWFsLmggXApAQCAtMjI1LDYgKzIyNiw3IEBAIEhF
QURFUlMgKz0gXAogICAgIFVJUHJvY2Vzcy9XZWJCYXR0ZXJ5TWFuYWdlclByb3h5LmggXAogICAg
IFVJUHJvY2Vzcy9XZWJCYXR0ZXJ5UHJvdmlkZXIuaCBcCiAgICAgVUlQcm9jZXNzL1dlYkNvbG9y
Q2hvb3NlclByb3h5LmggXAorICAgIFVJUHJvY2Vzcy9XZWJDb2xvclBpY2tlclJlc3VsdExpc3Rl
bmVyUHJveHkuaCBcCiAgICAgVUlQcm9jZXNzL1dlYkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCBc
CiAgICAgVUlQcm9jZXNzL1dlYkNvbnRleHQuaCBcCiAgICAgVUlQcm9jZXNzL1dlYkNvbnRleHRD
b25uZWN0aW9uQ2xpZW50LmggXApAQCAtNDk5LDYgKzUwMSw3IEBAIFNPVVJDRVMgKz0gXAogICAg
IFVJUHJvY2Vzcy9BUEkvQy9XS0JhY2tGb3J3YXJkTGlzdEl0ZW0uY3BwIFwKICAgICBVSVByb2Nl
c3MvQVBJL0MvV0tCYXR0ZXJ5TWFuYWdlci5jcHAgXAogICAgIFVJUHJvY2Vzcy9BUEkvQy9XS0Jh
dHRlcnlTdGF0dXMuY3BwIFwKKyAgICBVSVByb2Nlc3MvQVBJL0MvV0tDb2xvclBpY2tlclJlc3Vs
dExpc3RlbmVyLmNwcCBcCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5jcHAgXAogICAg
IFVJUHJvY2Vzcy9BUEkvQy9XS0NyZWRlbnRpYWwuY3BwIFwKICAgICBVSVByb2Nlc3MvQVBJL0Mv
V0tEYXRhYmFzZU1hbmFnZXIuY3BwIFwKQEAgLTU2NSw2ICs1NjgsOCBAQCBTT1VSQ0VTICs9IFwK
ICAgICBVSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRMaXN0LmNwcCBcCiAgICAgVUlQcm9jZXNzL1dl
YkJhdHRlcnlNYW5hZ2VyUHJveHkuY3BwIFwKICAgICBVSVByb2Nlc3MvV2ViQmF0dGVyeVByb3Zp
ZGVyLmNwcCBcCisgICAgVUlQcm9jZXNzL1dlYkNvbG9yQ2hvb3NlclByb3h5LmNwcCBcCisgICAg
VUlQcm9jZXNzL1dlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eS5jcHAgXAogICAgIFVJ
UHJvY2Vzcy9XZWJDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcCBcCiAgICAgVUlQcm9jZXNzL1dl
YkNvbnRleHQuY3BwIFwKICAgICBVSVByb2Nlc3MvV2ViQ29udGV4dENvbm5lY3Rpb25DbGllbnQu
Y3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0FQSUNh
c3QuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaAppbmRleCBj
MTFmNzQwLi43ZTQ2YWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvV0tBUElDYXN0LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQVBJ
Q2FzdC5oCkBAIC02MCw2ICs2MCw3IEBAIGNsYXNzIFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW07CiBj
bGFzcyBXZWJCYXR0ZXJ5TWFuYWdlclByb3h5OwogY2xhc3MgV2ViQmF0dGVyeVN0YXR1czsKIGNs
YXNzIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyUHJveHk7CitjbGFzcyBXZWJDb2xvclBpY2tlclJl
c3VsdExpc3RlbmVyUHJveHk7CiBjbGFzcyBXZWJDb250ZXh0OwogY2xhc3MgV2ViQ29va2llTWFu
YWdlclByb3h5OwogY2xhc3MgV2ViQ3JlZGVudGlhbDsKQEAgLTEwMyw2ICsxMDQsNyBAQCBXS19B
RERfQVBJX01BUFBJTkcoV0tCYWNrRm9yd2FyZExpc3RSZWYsIFdlYkJhY2tGb3J3YXJkTGlzdCkK
IFdLX0FERF9BUElfTUFQUElORyhXS0JhdHRlcnlNYW5hZ2VyUmVmLCBXZWJCYXR0ZXJ5TWFuYWdl
clByb3h5KQogV0tfQUREX0FQSV9NQVBQSU5HKFdLQmF0dGVyeVN0YXR1c1JlZiwgV2ViQmF0dGVy
eVN0YXR1cykKIFdLX0FERF9BUElfTUFQUElORyhXS1Jlc291cmNlQ2FjaGVNYW5hZ2VyUmVmLCBX
ZWJSZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5KQorV0tfQUREX0FQSV9NQVBQSU5HKFdLQ29sb3JQ
aWNrZXJSZXN1bHRMaXN0ZW5lclJlZiwgV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5
KQogV0tfQUREX0FQSV9NQVBQSU5HKFdLQ29udGV4dFJlZiwgV2ViQ29udGV4dCkKIFdLX0FERF9B
UElfTUFQUElORyhXS0Nvb2tpZU1hbmFnZXJSZWYsIFdlYkNvb2tpZU1hbmFnZXJQcm94eSkKIFdL
X0FERF9BUElfTUFQUElORyhXS0NyZWRlbnRpYWxSZWYsIFdlYkNyZWRlbnRpYWwpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb2xvclBpY2tlclJlc3VsdExp
c3RlbmVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbG9yUGlja2Vy
UmVzdWx0TGlzdGVuZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkx
M2M1NzUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
V0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmNwcApAQCAtMCwwICsxLDQ0IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV0tDb2xvclBpY2tl
clJlc3VsdExpc3RlbmVyLmgiCisKKyNpbmNsdWRlICJXS0FQSUNhc3QuaCIKKyNpbmNsdWRlICJX
ZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkuaCIKKwordXNpbmcgbmFtZXNwYWNlIFdl
YktpdDsKKworV0tUeXBlSUQgV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyR2V0VHlwZUlEKCkK
K3sKKyAgICByZXR1cm4gdG9BUEkoV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5OjpB
UElUeXBlKTsKK30KKwordm9pZCBXS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJDb2xvclNldChX
S0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJSZWYgbGlzdGVuZXJSZWYsIGNvbnN0IFdLU3RyaW5n
UmVmIGNvbG9yKQoreworI2lmIEVOQUJMRShJTlBVVF9UWVBFX0NPTE9SKQorICAgIHRvSW1wbChs
aXN0ZW5lclJlZiktPnNldENvbG9yKHRvV1RGU3RyaW5nKGNvbG9yKSk7CisjZW5kaWYKK30KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbG9yUGlja2VyUmVz
dWx0TGlzdGVuZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbG9yUGlj
a2VyUmVzdWx0TGlzdGVuZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5i
NjRmNmZmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L1dLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lci5oCkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpZm5kZWYgV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyX2gKKyNkZWZp
bmUgV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyX2gKKworI2luY2x1ZGUgPFdlYktpdDIvV0tC
YXNlLmg+CisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworV0tf
RVhQT1JUIFdLVHlwZUlEIFdLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lckdldFR5cGVJRCgpOwor
CitXS19FWFBPUlQgdm9pZCBXS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJDb2xvclNldChXS0Nv
bG9yUGlja2VyUmVzdWx0TGlzdGVuZXJSZWYgbGlzdGVuZXJSZWYsIGNvbnN0IFdLU3RyaW5nUmVm
IGNvbG9yKTsKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2VuZGlmIC8qIFdL
Q29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lcl9oICovCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvV0tQYWdlLmgKaW5kZXggZjc5NDYwOC4uYjU0YzJkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQy9XS1BhZ2UuaApAQCAtMjI1LDYgKzIyNSw4IEBAIHR5cGVkZWYgdm9pZCAoKldL
UGFnZVNhdmVEYXRhVG9GaWxlSW5Eb3dubG9hZHNGb2xkZXJDYWxsYmFjaykoV0tQYWdlUmVmIHBh
Z2UsIFdLCiB0eXBlZGVmIGJvb2wgKCpXS1BhZ2VTaG91bGRJbnRlcnJ1cHRKYXZhU2NyaXB0Q2Fs
bGJhY2spKFdLUGFnZVJlZiBwYWdlLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKIHR5cGVkZWYg
dm9pZCAoKldLUGFnZURlY2lkZVBvbGljeUZvck5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0
Q2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBXS1NlY3VyaXR5T3JpZ2luUmVmIG9yaWdpbiwgV0tO
b3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdFJlZiBwZXJtaXNzaW9uUmVxdWVzdCwgY29uc3Qg
dm9pZCAqY2xpZW50SW5mbyk7CiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VVbmF2YWlsYWJsZVBsdWdp
bkJ1dHRvbkNsaWNrZWRDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLUGx1Z2luVW5hdmFpbGFi
aWxpdHlSZWFzb24gcGx1Z2luVW5hdmFpbGFiaWxpdHlSZWFzb24sIFdLU3RyaW5nUmVmIG1pbWVU
eXBlLCBXS1N0cmluZ1JlZiB1cmwsIFdLU3RyaW5nUmVmIHBsdWdpbnNQYWdlVVJMLCBjb25zdCB2
b2lkKiBjbGllbnRJbmZvKTsKK3R5cGVkZWYgdm9pZCAoKldLUGFnZVNob3dDb2xvclBpY2tlckNh
bGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgaW5pdGlhbENvbG9yLCBXS0NvbG9y
UGlja2VyUmVzdWx0TGlzdGVuZXJSZWYgbGlzdGVuZXIsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8p
OwordHlwZWRlZiB2b2lkICgqV0tQYWdlSGlkZUNvbG9yUGlja2VyQ2FsbGJhY2spKFdLUGFnZVJl
ZiBwYWdlLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKIAogLy8gRGVwcmVjYXRlZCAgICAKIHR5
cGVkZWYgV0tQYWdlUmVmICgqV0tQYWdlQ3JlYXRlTmV3UGFnZUNhbGxiYWNrX2RlcHJlY2F0ZWRG
b3JVc2VXaXRoVjApKFdLUGFnZVJlZiBwYWdlLCBXS0RpY3Rpb25hcnlSZWYgZmVhdHVyZXMsIFdL
RXZlbnRNb2RpZmllcnMgbW9kaWZpZXJzLCBXS0V2ZW50TW91c2VCdXR0b24gbW91c2VCdXR0b24s
IGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwpAQCAtMjgxLDEwICsyODMsMTQgQEAgc3RydWN0IFdL
UGFnZVVJQ2xpZW50IHsKICAgICBXS1BhZ2VNb3VzZURpZE1vdmVPdmVyRWxlbWVudENhbGxiYWNr
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vdXNlRGlkTW92ZU92ZXJFbGVtZW50Owog
ICAgIFdLUGFnZURlY2lkZVBvbGljeUZvck5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0Q2Fs
bGJhY2sgICAgICAgICAgZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVl
c3Q7CiAgICAgV0tQYWdlVW5hdmFpbGFibGVQbHVnaW5CdXR0b25DbGlja2VkQ2FsbGJhY2sgICAg
ICAgICAgICAgICAgICAgICAgICB1bmF2YWlsYWJsZVBsdWdpbkJ1dHRvbkNsaWNrZWQ7CisKKyAg
ICAvLyBWZXJzaW9uIDIKKyAgICBXS1BhZ2VTaG93Q29sb3JQaWNrZXJDYWxsYmFjayAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dDb2xvclBpY2tlcjsKKyAgICBXS1Bh
Z2VIaWRlQ29sb3JQaWNrZXJDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGhpZGVDb2xvclBpY2tlcjsKIH07CiB0eXBlZGVmIHN0cnVjdCBXS1BhZ2VVSUNsaWVu
dCBXS1BhZ2VVSUNsaWVudDsKIAotZW51bSB7IGtXS1BhZ2VVSUNsaWVudEN1cnJlbnRWZXJzaW9u
ID0gMSB9OworZW51bSB7IGtXS1BhZ2VVSUNsaWVudEN1cnJlbnRWZXJzaW9uID0gMiB9OwogCiAv
LyBGaW5kIGNsaWVudC4KIHR5cGVkZWYgdm9pZCAoKldLUGFnZURpZEZpbmRTdHJpbmdDYWxsYmFj
aykoV0tQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIHN0cmluZywgdW5zaWduZWQgbWF0Y2hDb3Vu
dCwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRVSUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRVSUNsaWVudC5jcHAKaW5kZXggMWQ5ODVkMy4uNTlkMGIwZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VUlDbGll
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVJQ2xp
ZW50LmNwcApAQCAtMjA0LDYgKzIwNCw4IEBAIHZvaWQgYXR0YWNoVUlDbGllbnRUb1ZpZXcoV2Vi
S2l0V2ViVmlldyogd2ViVmlldykKICAgICAgICAgbW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQsCiAg
ICAgICAgIDAsIC8vIGRlY2lkZVBvbGljeUZvck5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0
CiAgICAgICAgIDAsIC8vIHVuYXZhaWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZAorICAgICAgICAw
LCAvLyBzaG93Q29sb3JQaWNrZXIKKyAgICAgICAgMCwgLy8gaGlkZUNvbG9yUGlja2VyCiAgICAg
fTsKICAgICBXS1BhZ2VSZWYgd2tQYWdlID0gdG9BUEkod2Via2l0V2ViVmlld0Jhc2VHZXRQYWdl
KFdFQktJVF9XRUJfVklFV19CQVNFKHdlYlZpZXcpKSk7CiAgICAgV0tQYWdlU2V0UGFnZVVJQ2xp
ZW50KHdrUGFnZSwgJndrVUlDbGllbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYkNvbG9yQ2hvb3NlclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJDb2xvckNob29zZXJQcm94eS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uNzU1NDA0NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJDb2xvckNob29zZXJQcm94eS5jcHAKQEAgLTAsMCArMSw2MCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYkNvbG9yQ2hvb3NlclBy
b3h5LmgiCisKKyNpZiBFTkFCTEUoSU5QVVRfVFlQRV9DT0xPUikKKworbmFtZXNwYWNlIFdlYktp
dCB7CisKK1dlYkNvbG9yQ2hvb3NlclByb3h5OjpXZWJDb2xvckNob29zZXJQcm94eShDbGllbnQq
IGNsaWVudCkKKyAgICA6IG1fY2xpZW50KGNsaWVudCkKK3sKK30KKworV2ViQ29sb3JDaG9vc2Vy
UHJveHk6On5XZWJDb2xvckNob29zZXJQcm94eSgpCit7Cit9CisKK3ZvaWQgV2ViQ29sb3JDaG9v
c2VyUHJveHk6OmVuZENob29zZXIoKQoreworICAgIGlmICghbV9jbGllbnQpCisgICAgICAgIHJl
dHVybjsKKworICAgIG1fY2xpZW50LT5kaWRFbmRDb2xvckNob29zZXIoKTsKK30KKwordm9pZCBX
ZWJDb2xvckNob29zZXJQcm94eTo6c2V0U2VsZWN0ZWRDb2xvcihjb25zdCBXZWJDb3JlOjpDb2xv
ciYgY29sb3IpCit7CisgICAgaWYgKCFtX2NsaWVudCkKKyAgICAgICAgcmV0dXJuOworCisgICAg
bV9jbGllbnQtPmRpZENob29zZUNvbG9yKGNvbG9yKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoSU5QVVRfVFlQRV9DT0xPUikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb2xvckNob29zZXJQcm94eS5oIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYkNvbG9yQ2hvb3NlclByb3h5LmgKaW5kZXggNzkwNmMxMC4uNWRh
NGNjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbG9yQ2hvb3Nl
clByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbG9yQ2hvb3NlclBy
b3h5LmgKQEAgLTQ5LDE4ICs0OSwyMSBAQCBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgdm9pZCBk
aWRDaG9vc2VDb2xvcihjb25zdCBXZWJDb3JlOjpDb2xvciYpID0gMDsKICAgICAgICAgdmlydHVh
bCB2b2lkIGRpZEVuZENvbG9yQ2hvb3NlcigpID0gMDsKICAgICB9OwotICAgIHZpcnR1YWwgfldl
YkNvbG9yQ2hvb3NlclByb3h5KCkgeyB9CisKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJDb2xv
ckNob29zZXJQcm94eT4gY3JlYXRlKENsaWVudCogY2xpZW50KQorICAgIHsKKyAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKG5ldyBXZWJDb2xvckNob29zZXJQcm94eShjbGllbnQpKTsKKyAgICB9CisK
KyAgICB2aXJ0dWFsIH5XZWJDb2xvckNob29zZXJQcm94eSgpOwogCiAgICAgdm9pZCBpbnZhbGlk
YXRlKCkgeyBtX2NsaWVudCA9IDA7IH0KIAotICAgIHZpcnR1YWwgdm9pZCBlbmRDaG9vc2VyKCkg
PSAwOwotICAgIHZpcnR1YWwgdm9pZCBzZXRTZWxlY3RlZENvbG9yKGNvbnN0IFdlYkNvcmU6OkNv
bG9yJikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBlbmRDaG9vc2VyKCk7CisgICAgdmlydHVhbCB2
b2lkIHNldFNlbGVjdGVkQ29sb3IoY29uc3QgV2ViQ29yZTo6Q29sb3ImKTsKIAogcHJvdGVjdGVk
OgotICAgIFdlYkNvbG9yQ2hvb3NlclByb3h5KENsaWVudCogY2xpZW50KQotICAgICAgICA6IG1f
Y2xpZW50KGNsaWVudCkKLSAgICB7Ci0gICAgfQorICAgIGV4cGxpY2l0IFdlYkNvbG9yQ2hvb3Nl
clByb3h5KENsaWVudCopOwogCiAgICAgQ2xpZW50KiBtX2NsaWVudDsKIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclBy
b3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb2xvclBpY2tlclJlc3VsdExp
c3RlbmVyUHJveHkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBlZTc5
ZGQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29sb3JQ
aWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5LmNwcApAQCAtMCwwICsxLDYwIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViQ29sb3JQaWNrZXJS
ZXN1bHRMaXN0ZW5lclByb3h5LmgiCisKKyNpZiBFTkFCTEUoSU5QVVRfVFlQRV9DT0xPUikKKwor
I2luY2x1ZGUgIldlYlBhZ2VQcm94eS5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworV2ViQ29s
b3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5OjpXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVy
UHJveHkoV2ViUGFnZVByb3h5KiBwYWdlKQorICAgIDogbV9wYWdlKHBhZ2UpCit7Cit9CisKK1dl
YkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eTo6fldlYkNvbG9yUGlja2VyUmVzdWx0TGlz
dGVuZXJQcm94eSgpCit7Cit9CisKK3ZvaWQgV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclBy
b3h5OjppbnZhbGlkYXRlKCkKK3sKKyAgICBtX3BhZ2UgPSAwOworfQorCit2b2lkIFdlYkNvbG9y
UGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eTo6c2V0Q29sb3IoY29uc3QgU3RyaW5nJiBjb2xvcikK
K3sKKyAgICBpZiAoIW1fcGFnZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9wYWdlLT5zZXRD
b2xvckNob29zZXJDb2xvcihXZWJDb3JlOjpDb2xvcihjb2xvcikpOworICAgIG1fcGFnZS0+ZW5k
Q29sb3JDaG9vc2VyKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8g
RU5BQkxFKElOUFVUX1RZUEVfQ09MT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5LmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGNlZDVhNgotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHku
aApAQCAtMCwwICsxLDYyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIFNhbXN1bmcgRWxl
Y3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdlYkNvbG9y
UGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eV9oCisjZGVmaW5lIFdlYkNvbG9yUGlja2VyUmVzdWx0
TGlzdGVuZXJQcm94eV9oCisKKyNpbmNsdWRlICJBUElPYmplY3QuaCIKKyNpbmNsdWRlIDx3dGYv
UGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvdGV4
dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYlBhZ2VQcm94
eTsKKworY2xhc3MgV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5IDogcHVibGljIEFQ
SU9iamVjdCB7CitwdWJsaWM6CisgICAgc3RhdGljIGNvbnN0IFR5cGUgQVBJVHlwZSA9IFR5cGVD
b2xvclBpY2tlclJlc3VsdExpc3RlbmVyOworCisgICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViQ29s
b3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5PiBjcmVhdGUoV2ViUGFnZVByb3h5KiBwYWdlKQor
ICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJDb2xvclBpY2tlclJlc3VsdExp
c3RlbmVyUHJveHkocGFnZSkpOworICAgIH0KKworICAgIHZpcnR1YWwgfldlYkNvbG9yUGlja2Vy
UmVzdWx0TGlzdGVuZXJQcm94eSgpOworCisgICAgdm9pZCBpbnZhbGlkYXRlKCk7CisgICAgdm9p
ZCBzZXRDb2xvcihjb25zdCBTdHJpbmcmKTsKKworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBXZWJD
b2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkoV2ViUGFnZVByb3h5Kik7CisKKyAgICB2aXJ0
dWFsIFR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIEFQSVR5cGU7IH0KKworICAgIFJlZlB0cjxX
ZWJQYWdlUHJveHk+IG1fcGFnZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5k
aWYgLy8gV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5X2gKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggOTg4MWViMi4uNDRhYzExMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTUyLDYgKzUyLDcgQEAK
ICNpbmNsdWRlICJXZWJCYWNrRm9yd2FyZExpc3QuaCIKICNpbmNsdWRlICJXZWJCYWNrRm9yd2Fy
ZExpc3RJdGVtLmgiCiAjaW5jbHVkZSAiV2ViQ2VydGlmaWNhdGVJbmZvLmgiCisjaW5jbHVkZSAi
V2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5LmgiCiAjaW5jbHVkZSAiV2ViQ29udGV4
dC5oIgogI2luY2x1ZGUgIldlYkNvbnRleHRNZW51UHJveHkuaCIKICNpbmNsdWRlICJXZWJDb250
ZXh0VXNlck1lc3NhZ2VDb2RlcnMuaCIKQEAgLTQxMiw2ICs0MTMsMTEgQEAgdm9pZCBXZWJQYWdl
UHJveHk6OmNsb3NlKCkKICAgICAgICAgbV9jb2xvckNob29zZXItPmludmFsaWRhdGUoKTsKICAg
ICAgICAgbV9jb2xvckNob29zZXIgPSBudWxscHRyOwogICAgIH0KKworICAgIGlmIChtX2NvbG9y
UGlja2VyUmVzdWx0TGlzdGVuZXIpIHsKKyAgICAgICAgbV9jb2xvclBpY2tlclJlc3VsdExpc3Rl
bmVyLT5pbnZhbGlkYXRlKCk7CisgICAgICAgIG1fY29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lciA9
IG51bGxwdHI7CisgICAgfQogI2VuZGlmCiAKICNpZiBFTkFCTEUoR0VPTE9DQVRJT04pCkBAIC0y
NzExLDcgKzI3MTcsMjAgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnNob3dDb2xvckNob29zZXIoY29u
c3QgV2ViQ29yZTo6Q29sb3ImIGluaXRpYWxDb2xvcikKIHsKICAgICBBU1NFUlQoIW1fY29sb3JD
aG9vc2VyKTsKIAorICAgIGlmIChtX2NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIpIHsKKyAgICAg
ICAgbV9jb2xvclBpY2tlclJlc3VsdExpc3RlbmVyLT5pbnZhbGlkYXRlKCk7CisgICAgICAgIG1f
Y29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lciA9IG51bGxwdHI7CisgICAgfQorCisgICAgbV9jb2xv
clBpY2tlclJlc3VsdExpc3RlbmVyID0gV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5
OjpjcmVhdGUodGhpcyk7CisgICAgbV9jb2xvckNob29zZXIgPSBXZWJDb2xvckNob29zZXJQcm94
eTo6Y3JlYXRlKHRoaXMpOworCisgICAgaWYgKG1fdWlDbGllbnQuc2hvd0NvbG9yUGlja2VyKHRo
aXMsIGluaXRpYWxDb2xvci5zZXJpYWxpemVkKCksIG1fY29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5l
ci5nZXQoKSkpCisgICAgICAgIHJldHVybjsKKwogICAgIG1fY29sb3JDaG9vc2VyID0gbV9wYWdl
Q2xpZW50LT5jcmVhdGVDb2xvckNob29zZXJQcm94eSh0aGlzLCBpbml0aWFsQ29sb3IpOworICAg
IGlmICghbV9jb2xvckNob29zZXIpCisgICAgICAgIGRpZEVuZENvbG9yQ2hvb3NlcigpOwogfQog
CiB2b2lkIFdlYlBhZ2VQcm94eTo6c2V0Q29sb3JDaG9vc2VyQ29sb3IoY29uc3QgV2ViQ29yZTo6
Q29sb3ImIGNvbG9yKQpAQCAtMjc0MSwxMiArMjc2MCwxNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6
ZGlkRW5kQ29sb3JDaG9vc2VyKCkKICAgICBpZiAoIWlzVmFsaWQoKSkKICAgICAgICAgcmV0dXJu
OwogCi0gICAgQVNTRVJUKG1fY29sb3JDaG9vc2VyKTsKLQotICAgIG1fY29sb3JDaG9vc2VyLT5p
bnZhbGlkYXRlKCk7Ci0gICAgbV9jb2xvckNob29zZXIgPSBudWxscHRyOworICAgIGlmIChtX2Nv
bG9yQ2hvb3NlcikgeworICAgICAgICBtX2NvbG9yQ2hvb3Nlci0+aW52YWxpZGF0ZSgpOworICAg
ICAgICBtX2NvbG9yQ2hvb3NlciA9IG51bGxwdHI7CisgICAgfQogCiAgICAgbV9wcm9jZXNzLT5z
ZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpEaWRFbmRDb2xvckNob29zZXIoKSwgbV9wYWdlSUQpOwor
CisgICAgbV9jb2xvclBpY2tlclJlc3VsdExpc3RlbmVyLT5pbnZhbGlkYXRlKCk7CisgICAgbV9j
b2xvclBpY2tlclJlc3VsdExpc3RlbmVyID0gbnVsbHB0cjsKKworICAgIG1fdWlDbGllbnQuaGlk
ZUNvbG9yUGlja2VyKHRoaXMpOwogfQogI2VuZGlmCiAKQEAgLTM1MTgsNiArMzU0MiwxMSBAQCB2
b2lkIFdlYlBhZ2VQcm94eTo6cHJvY2Vzc0RpZENyYXNoKCkKICAgICAgICAgbV9jb2xvckNob29z
ZXItPmludmFsaWRhdGUoKTsKICAgICAgICAgbV9jb2xvckNob29zZXIgPSBudWxscHRyOwogICAg
IH0KKworICAgIGlmIChtX2NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIpIHsKKyAgICAgICAgbV9j
b2xvclBpY2tlclJlc3VsdExpc3RlbmVyLT5pbnZhbGlkYXRlKCk7CisgICAgICAgIG1fY29sb3JQ
aWNrZXJSZXN1bHRMaXN0ZW5lciA9IG51bGxwdHI7CisgICAgfQogI2VuZGlmCiAKICNpZiBFTkFC
TEUoR0VPTE9DQVRJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5k
ZXggOWExOWE1Ni4uOTM4OWRhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaApAQCAtMTM4LDYgKzEzOCw3IEBAIGNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwog
Y2xhc3MgU3RyaW5nUGFpclZlY3RvcjsKIGNsYXNzIFdlYkJhY2tGb3J3YXJkTGlzdDsKIGNsYXNz
IFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW07CitjbGFzcyBXZWJDb2xvclBpY2tlclJlc3VsdExpc3Rl
bmVyUHJveHk7CiBjbGFzcyBXZWJDb250ZXh0TWVudVByb3h5OwogY2xhc3MgV2ViRGF0YTsKIGNs
YXNzIFdlYkVkaXRDb21tYW5kUHJveHk7CkBAIC03MTcsNiArNzE4LDExIEBAIHB1YmxpYzoKIAog
ICAgIHZvaWQgcG9zdE1lc3NhZ2VUb0luamVjdGVkQnVuZGxlKGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZU5hbWUsIEFQSU9iamVjdCogbWVzc2FnZUJvZHkpOwogCisjaWYgRU5BQkxFKElOUFVUX1RZUEVf
Q09MT1IpCisgICAgdm9pZCBzZXRDb2xvckNob29zZXJDb2xvcihjb25zdCBXZWJDb3JlOjpDb2xv
ciYpOworICAgIHZvaWQgZW5kQ29sb3JDaG9vc2VyKCk7CisjZW5kaWYKKwogcHJpdmF0ZToKICAg
ICBXZWJQYWdlUHJveHkoUGFnZUNsaWVudCosIFBhc3NSZWZQdHI8V2ViUHJvY2Vzc1Byb3h5Piwg
V2ViUGFnZUdyb3VwKiwgdWludDY0X3QgcGFnZUlEKTsKIApAQCAtODQ5LDggKzg1NSw2IEBAIHBy
aXZhdGU6CiAKICNpZiBFTkFCTEUoSU5QVVRfVFlQRV9DT0xPUikKICAgICB2b2lkIHNob3dDb2xv
ckNob29zZXIoY29uc3QgV2ViQ29yZTo6Q29sb3ImIGluaXRpYWxDb2xvcik7Ci0gICAgdm9pZCBz
ZXRDb2xvckNob29zZXJDb2xvcihjb25zdCBXZWJDb3JlOjpDb2xvciYpOwotICAgIHZvaWQgZW5k
Q29sb3JDaG9vc2VyKCk7CiAgICAgdm9pZCBkaWRDaG9vc2VDb2xvcihjb25zdCBXZWJDb3JlOjpD
b2xvciYpOwogICAgIHZvaWQgZGlkRW5kQ29sb3JDaG9vc2VyKCk7CiAjZW5kaWYKQEAgLTExMzks
NiArMTE0Myw3IEBAIHByaXZhdGU6CiAjZW5kaWYKICNpZiBFTkFCTEUoSU5QVVRfVFlQRV9DT0xP
UikKICAgICBSZWZQdHI8V2ViQ29sb3JDaG9vc2VyUHJveHk+IG1fY29sb3JDaG9vc2VyOworICAg
IFJlZlB0cjxXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHk+IG1fY29sb3JQaWNrZXJS
ZXN1bHRMaXN0ZW5lcjsKICNlbmRpZgogCiAgICAgdWludDY0X3QgbV9wYWdlSUQ7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViVUlDbGllbnQuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlVJQ2xpZW50LmNwcAppbmRleCBlZDFmYjkzLi5mODhjMDBhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViVUlDbGllbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJVSUNsaWVudC5jcHAKQEAgLTMxLDYgKzMxLDcg
QEAKICNpbmNsdWRlICJOYXRpdmVXZWJXaGVlbEV2ZW50LmgiCiAjaW5jbHVkZSAiTm90aWZpY2F0
aW9uUGVybWlzc2lvblJlcXVlc3QuaCIKICNpbmNsdWRlICJXS0FQSUNhc3QuaCIKKyNpbmNsdWRl
ICJXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkuaCIKICNpbmNsdWRlICJXZWJOdW1i
ZXIuaCIKICNpbmNsdWRlICJXZWJPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclByb3h5LmgiCiAjaW5j
bHVkZSAiV2ViUGFnZVByb3h5LmgiCkBAIC00MTcsNCArNDE4LDI0IEBAIGJvb2wgV2ViVUlDbGll
bnQ6OnNob3VsZEludGVycnVwdEphdmFTY3JpcHQoV2ViUGFnZVByb3h5KiBwYWdlKQogICAgIHJl
dHVybiBtX2NsaWVudC5zaG91bGRJbnRlcnJ1cHRKYXZhU2NyaXB0KHRvQVBJKHBhZ2UpLCBtX2Ns
aWVudC5jbGllbnRJbmZvKTsKIH0KIAorI2lmIEVOQUJMRShJTlBVVF9UWVBFX0NPTE9SKQorYm9v
bCBXZWJVSUNsaWVudDo6c2hvd0NvbG9yUGlja2VyKFdlYlBhZ2VQcm94eSogcGFnZSwgY29uc3Qg
U3RyaW5nJiBpbml0aWFsQ29sb3IsIFdlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eSog
bGlzdGVuZXIpCit7CisgICAgaWYgKCFtX2NsaWVudC5zaG93Q29sb3JQaWNrZXIpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgIG1fY2xpZW50LnNob3dDb2xvclBpY2tlcih0b0FQSShwYWdl
KSwgdG9BUEkoaW5pdGlhbENvbG9yLmltcGwoKSksIHRvQVBJKGxpc3RlbmVyKSwgbV9jbGllbnQu
Y2xpZW50SW5mbyk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK2Jvb2wgV2ViVUlDbGllbnQ6Omhp
ZGVDb2xvclBpY2tlcihXZWJQYWdlUHJveHkqIHBhZ2UpCit7CisgICAgaWYgKCFtX2NsaWVudC5o
aWRlQ29sb3JQaWNrZXIpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIG1fY2xpZW50Lmhp
ZGVDb2xvclBpY2tlcih0b0FQSShwYWdlKSwgbV9jbGllbnQuY2xpZW50SW5mbyk7CisgICAgcmV0
dXJuIHRydWU7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViVUlDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJVSUNsaWVudC5oCmluZGV4IDI4Y2ZiNjguLjliNTJiZmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJVSUNsaWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJVSUNsaWVudC5oCkBAIC00OCw2ICs0OCw3IEBAIGNsYXNzIEdl
b2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RQcm94eTsKIGNsYXNzIE5hdGl2ZVdlYktleWJvYXJk
RXZlbnQ7CiBjbGFzcyBOYXRpdmVXZWJXaGVlbEV2ZW50OwogY2xhc3MgTm90aWZpY2F0aW9uUGVy
bWlzc2lvblJlcXVlc3Q7CitjbGFzcyBXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHk7
CiBjbGFzcyBXZWJEYXRhOwogY2xhc3MgV2ViRnJhbWVQcm94eTsKIGNsYXNzIFdlYlBhZ2VQcm94
eTsKQEAgLTExNSw2ICsxMTYsMTEgQEAgcHVibGljOgogICAgIHZvaWQgc2F2ZURhdGFUb0ZpbGVJ
bkRvd25sb2Fkc0ZvbGRlcihXZWJQYWdlUHJveHkqLCBjb25zdCBTdHJpbmcmIHN1Z2dlc3RlZEZp
bGVuYW1lLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBjb25zdCBTdHJpbmcmIG9yaWdpbmF0aW5n
VVJMU3RyaW5nLCBXZWJEYXRhKik7CiAKICAgICBib29sIHNob3VsZEludGVycnVwdEphdmFTY3Jp
cHQoV2ViUGFnZVByb3h5Kik7CisKKyNpZiBFTkFCTEUoSU5QVVRfVFlQRV9DT0xPUikKKyAgICBi
b29sIHNob3dDb2xvclBpY2tlcihXZWJQYWdlUHJveHkqLCBjb25zdCBTdHJpbmcmLCBXZWJDb2xv
clBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkqKTsKKyAgICBib29sIGhpZGVDb2xvclBpY2tlcihX
ZWJQYWdlUHJveHkqKTsKKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
MmZjYTI0MC4uNjMzYjhkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtOTEzLDYgKzkxMywxMCBAQAogCQlFMUVFNTNFNzExRjhD
RkZCMDBDQ0JFRTQgLyogSW5qZWN0ZWRCdW5kbGVQYWdlRWRpdG9yQ2xpZW50LmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxRUU1M0U2MTFGOENGRkIw
MENDQkVFNCAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VFZGl0b3JDbGllbnQuY3BwICovOyB9OwogCQlF
RDgyQTdGMjEyOEM2RkFGMDA0NDc3QjMgLyogV0tCdW5kbGVQYWdlT3ZlcmxheS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyMkYwRkYxMjg5RkNEOTAw
ODVFNzRGIC8qIFdLQnVuZGxlUGFnZU92ZXJsYXkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFRENBNzFCNzEyOEREQThDMDAyMDFCMjYgLyogV0tC
dW5kbGVQYWdlT3ZlcmxheS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxQTIyRjEwMDEyODlGQ0Q5MDA4NUU3NEYgLyogV0tCdW5kbGVQYWdlT3Zlcmxh
eS5jcHAgKi87IH07CisJCUYwMzY5Nzg1MTVGNEJFNkIwMEMzQTgwRSAvKiBXS0NvbG9yUGlja2Vy
UmVzdWx0TGlzdGVuZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRjAzNjk3ODMxNUY0QkU2QjAwQzNBODBFIC8qIFdLQ29sb3JQaWNrZXJSZXN1bHRM
aXN0ZW5lci5jcHAgKi87IH07CisJCUYwMzY5Nzg2MTVGNEJFNkIwMEMzQTgwRSAvKiBXS0NvbG9y
UGlja2VyUmVzdWx0TGlzdGVuZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEYwMzY5Nzg0MTVGNEJFNkIwMEMzQTgwRSAvKiBXS0NvbG9yUGlja2VyUmVz
dWx0TGlzdGVuZXIuaCAqLzsgfTsKKwkJRjAzNjk3ODgxNUY0QkYwNTAwQzNBODBFIC8qIFdlYkNv
bG9yQ2hvb3NlclByb3h5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEYwMzY5Nzg3MTVGNEJGMDUwMEMzQTgwRSAvKiBXZWJDb2xvckNob29zZXJQcm94
eS5jcHAgKi87IH07CisJCUYwMzY5NzhCMTVGNEJGMTMwMEMzQTgwRSAvKiBXZWJDb2xvclBpY2tl
clJlc3VsdExpc3RlbmVyUHJveHkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRjAzNjk3ODkxNUY0QkYxMzAwQzNBODBFIC8qIFdlYkNvbG9yUGlja2Vy
UmVzdWx0TGlzdGVuZXJQcm94eS5jcHAgKi87IH07CiAJCUY2MTEzRTI1MTI2Q0UxODIwMDU3RDBB
NyAvKiBXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY2MTEzRTI0MTI2Q0UxODIwMDU3RDBBNyAvKiBXZWJVc2Vy
Q29udGVudFVSTFBhdHRlcm4uaCAqLzsgfTsKIAkJRjYxMTNFMjgxMjZDRTE5QjAwNTdEMEE3IC8q
IFdLVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEY2MTEzRTI2MTI2Q0UxOUIwMDU3RDBBNyAvKiBXS1VzZXJDb250
ZW50VVJMUGF0dGVybi5jcHAgKi87IH07CiAJCUY2MTEzRTI5MTI2Q0UxOUIwMDU3RDBBNyAvKiBX
S1VzZXJDb250ZW50VVJMUGF0dGVybi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRjYxMTNFMjcxMjZDRTE5QjAwNTdEMEE3IC8qIFdLVXNlckNvbnRlbnRV
UkxQYXR0ZXJuLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKQEAgLTIwMTIsNiArMjAxNiwxMSBAQAogCQlFMUNDMUI4RjEyRDdFQURGMDA2MjU4MzggLyog
UHJpbnRJbmZvTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
UHJpbnRJbmZvTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMUVFNTNEQzEx
RjhDRjlGMDBDQ0JFRTQgLyogSW5qZWN0ZWRCdW5kbGVQYWdlRWRpdG9yQ2xpZW50LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluamVjdGVkQnVuZGxlUGFnZUVkaXRvckNsaWVu
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMUVFNTNFNjExRjhDRkZCMDBDQ0JF
RTQgLyogSW5qZWN0ZWRCdW5kbGVQYWdlRWRpdG9yQ2xpZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEluamVjdGVkQnVuZGxlUGFnZUVkaXRvckNsaWVudC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUYwMzY5NzgzMTVGNEJFNkIwMEMzQTgwRSAv
KiBXS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjAzNjk3ODQxNUY0QkU2QjAwQzNBODBFIC8qIFdLQ29sb3JQ
aWNrZXJSZXN1bHRMaXN0ZW5lci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBX
S0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJRjAzNjk3ODcxNUY0QkYwNTAwQzNBODBFIC8qIFdlYkNvbG9yQ2hvb3NlclByb3h5LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkNvbG9yQ2hvb3NlclByb3h5
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjAzNjk3ODkxNUY0QkYxMzAwQzNB
ODBFIC8qIFdlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJv
eHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGMDM2OTc4QTE1RjRCRjEzMDBD
M0E4MEUgLyogV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNjExM0UyNDEyNkNFMTgyMDA1N0QwQTcg
LyogV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFdlYlVzZXJDb250ZW50VVJMUGF0dGVybi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlGNjExM0UyNjEyNkNFMTlCMDA1N0QwQTcgLyogV0tVc2VyQ29udGVudFVSTFBhdHRl
cm4uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tVc2VyQ29udGVu
dFVSTFBhdHRlcm4uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNjExM0UyNzEy
NkNFMTlCMDA1N0QwQTcgLyogV0tVc2VyQ29udGVudFVSTFBhdHRlcm4uaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV0tVc2VyQ29udGVudFVSTFBhdHRlcm4uaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI5MzUsNyArMjk0NCwxMCBAQAogCQkJCTUxMkUzNUYwMTMw
QjYzOEMwMEFCRDE5QSAvKiBXZWJBcHBsaWNhdGlvbkNhY2hlTWFuYWdlclByb3h5Lm1lc3NhZ2Vz
LmluICovLAogCQkJCUJDNzJCQTFCMTFFNjQ5MDcwMDFFQjRFQSAvKiBXZWJCYWNrRm9yd2FyZExp
c3QuY3BwICovLAogCQkJCUJDNzJCQTFDMTFFNjQ5MDcwMDFFQjRFQSAvKiBXZWJCYWNrRm9yd2Fy
ZExpc3QuaCAqLywKKwkJCQlGMDM2OTc4NzE1RjRCRjA1MDBDM0E4MEUgLyogV2ViQ29sb3JDaG9v
c2VyUHJveHkuY3BwICovLAogCQkJCTNGODdCOUJGMTU4OTQwRDgwMDkwRkY2MiAvKiBXZWJDb2xv
ckNob29zZXJQcm94eS5oICovLAorCQkJCUYwMzY5Nzg5MTVGNEJGMTMwMEMzQTgwRSAvKiBXZWJD
b2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkuY3BwICovLAorCQkJCUYwMzY5NzhBMTVGNEJG
MTMwMEMzQTgwRSAvKiBXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkuaCAqLywKIAkJ
CQlCQzRBNjJBNTE0NzQ0RUM2MDA2QzY4MUEgLyogV2ViQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5j
cHAgKi8sCiAJCQkJQkM0QTYyQTYxNDc0NEVDNjAwNkM2ODFBIC8qIFdlYkNvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MuaCAqLywKIAkJCQlCQ0I5RTI0MjExMjBEQUNBMDBBMTM3RTAgLyogV2ViQ29udGV4
dC5jcHAgKi8sCkBAIC0zMDU5LDYgKzMwNzEsOCBAQAogCQkJCUJDNjQ2QzE3MTFERDM5OUYwMDY0
NTVCMCAvKiBXS0JhY2tGb3J3YXJkTGlzdC5oICovLAogCQkJCUJDNjQ2QzE4MTFERDM5OUYwMDY0
NTVCMCAvKiBXS0JhY2tGb3J3YXJkTGlzdEl0ZW0uY3BwICovLAogCQkJCUJDNjQ2QzE5MTFERDM5
OUYwMDY0NTVCMCAvKiBXS0JhY2tGb3J3YXJkTGlzdEl0ZW0uaCAqLywKKwkJCQlGMDM2OTc4MzE1
RjRCRTZCMDBDM0E4MEUgLyogV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmNwcCAqLywKKwkJ
CQlGMDM2OTc4NDE1RjRCRTZCMDBDM0E4MEUgLyogV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVy
LmggKi8sCiAJCQkJQkNCOUUyNEExMTIwRTE1QzAwQTEzN0UwIC8qIFdLQ29udGV4dC5jcHAgKi8s
CiAJCQkJQkNCOUUyNDkxMTIwRTE1QzAwQTEzN0UwIC8qIFdLQ29udGV4dC5oICovLAogCQkJCUJD
QzkzOEUwMTE4MERFNDQwMDg1RTVGRSAvKiBXS0NvbnRleHRQcml2YXRlLmggKi8sCkBAIC00MTQy
LDYgKzQxNTYsNyBAQAogCQkJCUJDMTRERjlGMTIwQjYzNUYwMDgyNkMwQyAvKiBXS0J1bmRsZVNj
cmlwdFdvcmxkLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzQwNzVGNjEyNEZGMDI3MDA2OEYyMEEg
LyogV0tDZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNDA3NjI3MTI0RkYw
NDAwMDY4RjIwQSAvKiBXS0NlcnRpZmljYXRlSW5mb01hYy5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
RjAzNjk3ODYxNUY0QkU2QjAwQzNBODBFIC8qIFdLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQkNBMjg0RDcxNDkyRjJDNzAwMUY5MDQyIC8qIFdLQ29ubmVj
dGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM1Qzc1QzgxNDk1NERBNjAwQkM0Nzc1IC8qIFdL
Q29ubmVjdGlvbkludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzRBNjI5NzE0NzMxM0Ew
MDA2QzY4MUEgLyogV0tDb25uZWN0aW9uUmVmLmggaW4gSGVhZGVycyAqLywKQEAgLTQ3NjksNiAr
NDc4NCw4IEBACiAJCQkJNTE4RDJDQUQxMkQ1MTUzQjAwM0JCOTNCIC8qIFdlYkJhY2tGb3J3YXJk
TGlzdEl0ZW0uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM3MkI5RkExMUU2NDc2QjAwMUVCNEVB
IC8qIFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDMTEx
QTVBMTEyRjRGQkIwMDMzN0JBQiAvKiBXZWJDaHJvbWVDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJRjAzNjk3ODgxNUY0QkYwNTAwQzNBODBFIC8qIFdlYkNvbG9yQ2hvb3NlclByb3h5LmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCUYwMzY5NzhCMTVGNEJGMTMwMEMzQTgwRSAvKiBXZWJDb2xv
clBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM0QTYy
OEYxNDczMTJCRTAwNkM2ODFBIC8qIFdlYkNvbm5lY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQkM0QTYyOTExNDczMTJCRTAwNkM2ODFBIC8qIFdlYkNvbm5lY3Rpb25DbGllbnQuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQkNEMzY3NUMxNDhDMjZDMDAwNDQ3RTg3IC8qIFdlYkNvbm5lY3Rp
b25Ub1VJUHJvY2Vzcy5jcHAgaW4gU291cmNlcyAqLywKQEAgLTQ5NTAsNiArNDk2Nyw3IEBACiAJ
CQkJQkMxNERGOUUxMjBCNjM1RjAwODI2QzBDIC8qIFdLQnVuZGxlU2NyaXB0V29ybGQuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQkM0MDc1RjUxMjRGRjAyNzAwNjhGMjBBIC8qIFdLQ2VydGlmaWNh
dGVJbmZvLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDNDA3NjI4MTI0RkYwNDAwMDY4RjIwQSAv
KiBXS0NlcnRpZmljYXRlSW5mb01hYy5tbSBpbiBTb3VyY2VzICovLAorCQkJCUYwMzY5Nzg1MTVG
NEJFNkIwMEMzQTgwRSAvKiBXS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQkNBMjg0RDYxNDkyRjJDNzAwMUY5MDQyIC8qIFdLQ29ubmVjdGlvbi5tbSBp
biBTb3VyY2VzICovLAogCQkJCUJDNEE2Mjk2MTQ3MzEzQTAwMDZDNjgxQSAvKiBXS0Nvbm5lY3Rp
b25SZWYuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNCOUUyNEMxMTIwRTE1QzAwQTEzN0UwIC8q
IFdLQ29udGV4dC5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L3dpbi9XZWJLaXQyLnZjcHJvaiBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvagpp
bmRleCBjNjU5NTU0Li5mMWIwZjY1IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2Vi
S2l0Mi52Y3Byb2oKKysrIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIudmNwcm9qCkBAIC0y
ODk5LDEwICsyODk5LDIyIEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXFVJUHJvY2Vzc1xXZWJDb2xvckNob29zZXJQcm94eS5jcHAiCisJCQkJPgor
CQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFVJUHJvY2Vzc1xXZWJD
b2xvckNob29zZXJQcm94eS5oIgogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVs
YXRpdmVQYXRoPSIuLlxVSVByb2Nlc3NcV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5
LmNwcCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5c
VUlQcm9jZXNzXFdlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eS5oIgorCQkJCT4KKwkJ
CTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxVSVByb2Nlc3NcV2ViQ29u
bmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAiCiAJCQkJPgogCQkJPC9GaWxlPgpAQCAtMzMyOSw2ICsz
MzQxLDE0IEBACiAJCQkJCQk+CiAJCQkJCTwvRmlsZT4KIAkJCQkJPEZpbGUKKwkJCQkJCVJlbGF0
aXZlUGF0aD0iLi5cVUlQcm9jZXNzXEFQSVxDXFdLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lci5j
cHAiCisJCQkJCQk+CisJCQkJCTwvRmlsZT4KKwkJCQkJPEZpbGUKKwkJCQkJCVJlbGF0aXZlUGF0
aD0iLi5cVUlQcm9jZXNzXEFQSVxDXFdLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lci5oIgorCQkJ
CQkJPgorCQkJCQk8L0ZpbGU+CisJCQkJCTxGaWxlCiAJCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFVJ
UHJvY2Vzc1xBUElcQ1xXS0NvbnRleHQuY3BwIgogCQkJCQkJPgogCQkJCQk8L0ZpbGU+CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkdlbmVyYXRlZC5tYWtlIGIvU291cmNl
L1dlYktpdDIvd2luL1dlYktpdDJHZW5lcmF0ZWQubWFrZQppbmRleCBmOTNmOGE5Li42ZjI3MWNj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkdlbmVyYXRlZC5tYWtlCisr
KyBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyR2VuZXJhdGVkLm1ha2UKQEAgLTUxLDYgKzUx
LDcgQEAgYWxsOgogICAgIHhjb3B5IC95IC9kICIuLlxVSVByb2Nlc3NcQVBJXENcV0tBdXRoZW50
aWNhdGlvbkRlY2lzaW9uTGlzdGVuZXIuaCIgIiVDb25maWd1cmF0aW9uQnVpbGREaXIlXGluY2x1
ZGVcV2ViS2l0MiIKICAgICB4Y29weSAveSAvZCAiLi5cVUlQcm9jZXNzXEFQSVxDXFdLQmFja0Zv
cndhcmRMaXN0LmgiICIlQ29uZmlndXJhdGlvbkJ1aWxkRGlyJVxpbmNsdWRlXFdlYktpdDIiCiAg
ICAgeGNvcHkgL3kgL2QgIi4uXFVJUHJvY2Vzc1xBUElcQ1xXS0JhY2tGb3J3YXJkTGlzdEl0ZW0u
aCIgIiVDb25maWd1cmF0aW9uQnVpbGREaXIlXGluY2x1ZGVcV2ViS2l0MiIKKyAgICB4Y29weSAv
eSAvZCAiLi5cVUlQcm9jZXNzXEFQSVxDXFdLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lci5oIiAi
JUNvbmZpZ3VyYXRpb25CdWlsZERpciVcaW5jbHVkZVxXZWJLaXQyIgogICAgIHhjb3B5IC95IC9k
ICIuLlxVSVByb2Nlc3NcQVBJXENcV0tDb250ZXh0LmgiICIlQ29uZmlndXJhdGlvbkJ1aWxkRGly
JVxpbmNsdWRlXFdlYktpdDIiCiAgICAgeGNvcHkgL3kgL2QgIi4uXFVJUHJvY2Vzc1xBUElcQ1xX
S0NvbnRleHRQcml2YXRlLmgiICIlQ29uZmlndXJhdGlvbkJ1aWxkRGlyJVxpbmNsdWRlXFdlYktp
dDIiCiAgICAgeGNvcHkgL3kgL2QgIi4uXFVJUHJvY2Vzc1xBUElcQ1xXS0Nvb2tpZU1hbmFnZXIu
aCIgIiVDb25maWd1cmF0aW9uQnVpbGREaXIlXGluY2x1ZGVcV2ViS2l0MiIKZGlmZiAtLWdpdCBh
L1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA5OTZiNGNjLi45ZTcwY2Zm
IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjAgQEAKKzIwMTItMDktMDMgIEt3YW5nWW9uZyBDaG9pICA8a3kwLmNob2lAc2Ftc3Vu
Zy5jb20+CisKKyAgICAgICAgW1dLMl0gQWRkIGNvbG9yIHBpY2tlciBBUEkgc3VwcG9ydCBmb3Ig
V2ViS2l0MgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
OTUwNTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJ
bml0aWFsaXphdGlvbiBjb2RlIGZvciBjb2xvciBwaWNrZXIgY2FsbGJhY2tzIGluIFVJIGNsaWVu
dC4KKworICAgICAgICAqIE1pbmlCcm93c2VyL21hYy9Ccm93c2VyV2luZG93Q29udHJvbGxlci5t
OgorICAgICAgICAoLVtCcm93c2VyV2luZG93Q29udHJvbGxlciBhd2FrZUZyb21OaWJdKToKKyAg
ICAgICAgKiBNaW5pQnJvd3Nlci93aW4vQnJvd3NlclZpZXcuY3BwOgorICAgICAgICAoQnJvd3Nl
clZpZXc6OmNyZWF0ZSk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxl
ci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpjcmVhdGVPdGhlclBhZ2UpOgor
ICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6aW5pdGlhbGl6ZSk6CisKIDIwMTItMDktMDEg
IFhpYW56aHUgV2FuZyAgPHdhbmd4aWFuemh1QGNocm9taXVtLm9yZz4KIAogICAgICAgICBbQ2hy
b21pdW0tQW5kcm9pZF0gUmVtb3ZlIGhhcmQtY29kZWQgc2tpcHBlZCBkaXJlY3RvcmllcyBpbiBj
aHJvbWl1bV9hbmRyb2lkLnB5CmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9tYWMvQnJv
d3NlcldpbmRvd0NvbnRyb2xsZXIubSBiL1Rvb2xzL01pbmlCcm93c2VyL21hYy9Ccm93c2VyV2lu
ZG93Q29udHJvbGxlci5tCmluZGV4IGU2YjZmNTQuLmQ5Y2IyODYgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L01pbmlCcm93c2VyL21hYy9Ccm93c2VyV2luZG93Q29udHJvbGxlci5tCisrKyBiL1Rvb2xzL01p
bmlCcm93c2VyL21hYy9Ccm93c2VyV2luZG93Q29udHJvbGxlci5tCkBAIC02OTQsNiArNjk0LDgg
QEAgLSAodm9pZClhd2FrZUZyb21OaWIKICAgICAgICAgbW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQs
CiAgICAgICAgIDAsIC8vIGRlY2lkZVBvbGljeUZvck5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1
ZXN0CiAgICAgICAgIDAsIC8vIHVuYXZhaWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZAorICAgICAg
ICAwLCAvLyBzaG93Q29sb3JQaWNrZXIKKyAgICAgICAgMCwgLy8gaGlkZUNvbG9yUGlja2VyCiAg
ICAgfTsKICAgICBXS1BhZ2VTZXRQYWdlVUlDbGllbnQoX3dlYlZpZXcucGFnZVJlZiwgJnVpQ2xp
ZW50KTsKIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9Ccm93c2VyVmlldy5j
cHAgYi9Ub29scy9NaW5pQnJvd3Nlci93aW4vQnJvd3NlclZpZXcuY3BwCmluZGV4IDAzYTQ2Y2Iu
LjBhNjg1OGUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9Ccm93c2VyVmlldy5j
cHAKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIvd2luL0Jyb3dzZXJWaWV3LmNwcApAQCAtMTMwLDYg
KzEzMCwxMCBAQCB2b2lkIEJyb3dzZXJWaWV3OjpjcmVhdGUoUkVDVCB3ZWJWaWV3UmVjdCwgQnJv
d3NlcldpbmRvdyogcGFyZW50V2luZG93KQogICAgICAgICAwLCAgICAgICAgICAvKiBzaG91bGRJ
bnRlcnJ1cHRKYXZhU2NyaXB0ICovCiAgICAgICAgIGNyZWF0ZU5ld1BhZ2UsCiAgICAgICAgIG1v
dXNlRGlkTW92ZU92ZXJFbGVtZW50LAorICAgICAgICAwLCAgICAgICAgICAvKiBkZWNpZGVQb2xp
Y3lGb3JOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdCAqLworICAgICAgICAwLCAgICAgICAg
ICAvKiB1bmF2YWlsYWJsZVBsdWdpbkJ1dHRvbkNsaWNrZWQgKi8KKyAgICAgICAgMCwgICAgICAg
ICAgLyogc2hvd0NvbG9yUGlja2VyICovCisgICAgICAgIDAsICAgICAgICAgIC8qIGhpZGVDb2xv
clBpY2tlciAqLwogICAgIH07CiAKICAgICBXS1BhZ2VTZXRQYWdlVUlDbGllbnQoV0tWaWV3R2V0
UGFnZShtX3dlYlZpZXcpLCAmdWlDbGllbnQpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RD
b250cm9sbGVyLmNwcAppbmRleCBjNTQ5ZTg4Li5lNWRkZjE2IDEwMDY0NAotLS0gYS9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcApAQCAtMjIzLDYgKzIyMyw4IEBAIFdLUGFnZVJlZiBU
ZXN0Q29udHJvbGxlcjo6Y3JlYXRlT3RoZXJQYWdlKFdLUGFnZVJlZiBvbGRQYWdlLCBXS1VSTFJl
cXVlc3RSZWYsIFdLCiAgICAgICAgIDAsIC8vIG1vdXNlRGlkTW92ZU92ZXJFbGVtZW50CiAgICAg
ICAgIDAsIC8vIGRlY2lkZVBvbGljeUZvck5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0CiAg
ICAgICAgIDAsIC8vIHVuYXZhaWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZAorICAgICAgICAwLCAv
LyBzaG93Q29sb3JQaWNrZXIKKyAgICAgICAgMCwgLy8gaGlkZUNvbG9yUGlja2VyCiAgICAgfTsK
ICAgICBXS1BhZ2VTZXRQYWdlVUlDbGllbnQobmV3UGFnZSwgJm90aGVyUGFnZVVJQ2xpZW50KTsK
IApAQCAtMzkxLDYgKzM5Myw4IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OmluaXRpYWxpemUoaW50
IGFyZ2MsIGNvbnN0IGNoYXIqIGFyZ3ZbXSkKICAgICAgICAgMCwgLy8gbW91c2VEaWRNb3ZlT3Zl
ckVsZW1lbnQKICAgICAgICAgZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0aW9uUGVybWlzc2lvblJl
cXVlc3QsIC8vIGRlY2lkZVBvbGljeUZvck5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0CiAg
ICAgICAgIDAsIC8vIHVuYXZhaWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZAorICAgICAgICAwLCAv
LyBzaG93Q29sb3JQaWNrZXIKKyAgICAgICAgMCwgLy8gaGlkZUNvbG9yUGlja2VyCiAgICAgfTsK
ICAgICBXS1BhZ2VTZXRQYWdlVUlDbGllbnQobV9tYWluV2ViVmlldy0+cGFnZSgpLCAmcGFnZVVJ
Q2xpZW50KTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161973</attachid>
            <date>2012-09-03 23:48:17 -0700</date>
            <delta_ts>2012-09-07 05:49:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>diff</filename>
            <type>text/plain</type>
            <size>43787</size>
            <attacher name="KwangYong Choi">ky0.choi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYktp
dDIvQ01ha2VMaXN0cy50eHQKaW5kZXggYzQzZGQ0YS4uOWQyYjJkYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0
cy50eHQKQEAgLTIzNCw2ICsyMzQsOCBAQCBTRVQoV2ViS2l0Ml9TT1VSQ0VTCiAgICAgVUlQcm9j
ZXNzL1dlYkJhY2tGb3J3YXJkTGlzdC5jcHAKICAgICBVSVByb2Nlc3MvV2ViQmF0dGVyeU1hbmFn
ZXJQcm94eS5jcHAKICAgICBVSVByb2Nlc3MvV2ViQmF0dGVyeVByb3ZpZGVyLmNwcAorICAgIFVJ
UHJvY2Vzcy9XZWJDb2xvckNob29zZXJQcm94eS5jcHAKKyAgICBVSVByb2Nlc3MvV2ViQ29sb3JQ
aWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5LmNwcAogICAgIFVJUHJvY2Vzcy9XZWJDb25uZWN0aW9u
VG9XZWJQcm9jZXNzLmNwcAogICAgIFVJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcAogICAgIFVJUHJv
Y2Vzcy9XZWJDb250ZXh0Q29ubmVjdGlvbkNsaWVudC5jcHAKQEAgLTI4OSw2ICsyOTEsNyBAQCBT
RVQoV2ViS2l0Ml9TT1VSQ0VTCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLQmFja0ZvcndhcmRMaXN0
SXRlbS5jcHAKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tCYXR0ZXJ5TWFuYWdlci5jcHAKICAgICBV
SVByb2Nlc3MvQVBJL0MvV0tCYXR0ZXJ5U3RhdHVzLmNwcAorICAgIFVJUHJvY2Vzcy9BUEkvQy9X
S0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIuY3BwCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLQ29u
dGV4dC5jcHAKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tDb29raWVNYW5hZ2VyLmNwcAogICAgIFVJ
UHJvY2Vzcy9BUEkvQy9XS0NyZWRlbnRpYWwuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNGFjYmE5ZS4uMjk0
MzI5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY4IEBACisyMDEyLTA5LTAzICBLd2FuZ1lvbmcg
Q2hvaSAgPGt5MC5jaG9pQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtXSzJdIEFkZCBjb2xvciBw
aWNrZXIgQVBJIHN1cHBvcnQgZm9yIFdlYktpdDIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTk1MDU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGNvbG9yIHBpY2tlciBBUEkgdG8g
V2ViS2l0Mi4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEdOVW1ha2Vm
aWxlLmxpc3QuYW06CisgICAgICAgICogU2hhcmVkL0FQSS9jL1dLQmFzZS5oOgorICAgICAgICAq
IFNoYXJlZC9BUElDbGllbnRUcmFpdHMuY3BwOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAg
KiBTaGFyZWQvQVBJQ2xpZW50VHJhaXRzLmg6CisgICAgICAgICogU2hhcmVkL0FQSU9iamVjdC5o
OgorICAgICAgICAqIFRhcmdldC5wcmk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLQVBJ
Q2FzdC5oOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tD
b2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmNwcDogQWRkZWQuCisgICAgICAgIChXS0NvbG9yUGlj
a2VyUmVzdWx0TGlzdGVuZXJHZXRUeXBlSUQpOgorICAgICAgICAoV0tDb2xvclBpY2tlclJlc3Vs
dExpc3RlbmVyQ29sb3JTZXQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS0NvbG9yUGlj
a2VyUmVzdWx0TGlzdGVuZXIuaDogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dL
UGFnZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVJQ2xpZW50LmNwcDoK
KyAgICAgICAgKGF0dGFjaFVJQ2xpZW50VG9WaWV3KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
Q29sb3JDaG9vc2VyUHJveHkuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAg
IChXZWJLaXQ6OldlYkNvbG9yQ2hvb3NlclByb3h5OjpXZWJDb2xvckNob29zZXJQcm94eSk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkNvbG9yQ2hvb3NlclByb3h5Ojp+V2ViQ29sb3JDaG9vc2VyUHJv
eHkpOgorICAgICAgICAoV2ViS2l0OjpXZWJDb2xvckNob29zZXJQcm94eTo6ZW5kQ2hvb3Nlcik6
CisgICAgICAgIChXZWJLaXQ6OldlYkNvbG9yQ2hvb3NlclByb3h5OjpzZXRTZWxlY3RlZENvbG9y
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQ29sb3JDaG9vc2VyUHJveHkuaDoKKyAgICAgICAg
KFdlYkNvbG9yQ2hvb3NlclByb3h5KToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29sb3JDaG9vc2Vy
UHJveHk6OmNyZWF0ZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvbG9yUGlja2VyUmVzdWx0
TGlzdGVuZXJQcm94eS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdl
YktpdDo6V2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5OjpXZWJDb2xvclBpY2tlclJl
c3VsdExpc3RlbmVyUHJveHkpOgorICAgICAgICAoV2ViS2l0OjpXZWJDb2xvclBpY2tlclJlc3Vs
dExpc3RlbmVyUHJveHk6On5XZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHk6OmludmFsaWRh
dGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHk6
OnNldENvbG9yKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0
ZW5lclByb3h5Lmg6IEFkZGVkLgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYkNvbG9y
UGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eSk6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbG9yUGlj
a2VyUmVzdWx0TGlzdGVuZXJQcm94eTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29s
b3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5Ojp0eXBlKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpjbG9zZSk6
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6c2hvd0NvbG9yQ2hvb3Nlcik6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkRW5kQ29sb3JDaG9vc2VyKToKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZVByb3h5Ojpwcm9jZXNzRGlkQ3Jhc2gpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJQYWdl
UHJveHkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJVSUNsaWVudC5jcHA6CisgICAgICAgIChX
ZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJVSUNsaWVudDo6c2hvd0NvbG9yUGlja2VyKToK
KyAgICAgICAgKFdlYktpdDo6V2ViVUlDbGllbnQ6OmhpZGVDb2xvclBpY2tlcik6CisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlVJQ2xpZW50Lmg6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAo
V2ViVUlDbGllbnQpOgorICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiB3aW4vV2ViS2l0Mi52Y3Byb2o6CisgICAgICAgICogd2luL1dlYktpdDJH
ZW5lcmF0ZWQubWFrZToKKwogMjAxMi0wOS0wMiAgQnl1bmd3b28gTGVlICA8Ync4MC5sZWVAZ21h
aWwuY29tPgogCiAgICAgICAgIFtFRkxdIEFkZCBtaXNzaW5nIHNlbWljb2xvbiBhdCB0aGUgZW5k
IG9mIHNvbWUgbGluZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5s
aXN0LmFtIGIvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCBkNDE3YjVm
Li42MGI2NDg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFt
CisrKyBiL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTQ5LDYgKzQ5LDcg
QEAgd2Via2l0Ml9oX2FwaSArPSBcCiAJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tCYWNr
Rm9yd2FyZExpc3RJdGVtLmggXAogCSQoV2ViS2l0MikvVUlQcm9jZXNzL0FQSS9DL1dLQmF0dGVy
eU1hbmFnZXIuaCBcCiAJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tCYXR0ZXJ5U3RhdHVz
LmggXAorCSQoV2ViS2l0MikvVUlQcm9jZXNzL0FQSS9DL1dLQ29sb3JQaWNrZXJSZXN1bHRMaXN0
ZW5lci5oIFwKIAkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuaCBcCiAJJChX
ZWJLaXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0UHJpdmF0ZS5oIFwKIAkkKFdlYktpdDIp
L1VJUHJvY2Vzcy9BUEkvQy9XS0Nvb2tpZU1hbmFnZXIuaCBcCkBAIC01MzAsNiArNTMxLDggQEAg
d2Via2l0Ml9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tC
YXR0ZXJ5TWFuYWdlci5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tCYXR0
ZXJ5U3RhdHVzLmNwcCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQmF0dGVy
eVN0YXR1cy5oIFwKKwlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb2xvclBpY2tl
clJlc3VsdExpc3RlbmVyLmNwcCBcCisJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
Q29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lci5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tDb250ZXh0LmNwcCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
Q29udGV4dC5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0UHJp
dmF0ZS5oIFwKQEAgLTgxNCw3ICs4MTcsMTAgQEAgd2Via2l0Ml9zb3VyY2VzICs9IFwKIAlTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQmF0dGVyeU1hbmFnZXJQcm94eS5oIFwKIAlTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViQmF0dGVyeVByb3ZpZGVyLmNwcCBcCiAJU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYkJhdHRlcnlQcm92aWRlci5oIFwKKwlTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViQ29sb3JDaG9vc2VyUHJveHkuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViQ29sb3JDaG9vc2VyUHJveHkuaCBcCisJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eS5jcHAgXAorCVNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkuaCBcCiAJU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwIFwKIAlTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oIFwKIAlTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL0FQSS9jL1dLQmFzZS5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9j
L1dLQmFzZS5oCmluZGV4IDA2YWEyODYuLmU0ZDA2NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9BUEkvYy9XS0Jhc2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJ
L2MvV0tCYXNlLmgKQEAgLTEyNCw2ICsxMjQsNyBAQCB0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFx
dWVXS1ByZWZlcmVuY2VzKiBXS1ByZWZlcmVuY2VzUmVmOwogdHlwZWRlZiBjb25zdCBzdHJ1Y3Qg
T3BhcXVlV0tQcm90ZWN0aW9uU3BhY2UqIFdLUHJvdGVjdGlvblNwYWNlUmVmOwogdHlwZWRlZiBj
b25zdCBzdHJ1Y3QgT3BhcXVlV0tUZXh0Q2hlY2tlciogV0tUZXh0Q2hlY2tlclJlZjsKIHR5cGVk
ZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLVmlicmF0aW9uKiBXS1ZpYnJhdGlvblJlZjsKK3R5cGVk
ZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lciogV0tDb2xv
clBpY2tlclJlc3VsdExpc3RlbmVyUmVmOwogCiAvKiBXZWJLaXQyIEJ1bmRsZSB0eXBlcyAqLwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJQ2xpZW50VHJhaXRzLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElDbGllbnRUcmFpdHMuY3BwCmluZGV4IGFkM2QyMjAu
LmJhMzY0YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElDbGllbnRUcmFp
dHMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElDbGllbnRUcmFpdHMuY3BwCkBA
IC02NSw2ICs2NSw3IEBAIGNvbnN0IHNpemVfdCBBUElDbGllbnRUcmFpdHM8V0tQYWdlTG9hZGVy
Q2xpZW50Pjo6aW50ZXJmYWNlU2l6ZXNCeVZlcnNpb25bXSA9IHsKIAogY29uc3Qgc2l6ZV90IEFQ
SUNsaWVudFRyYWl0czxXS1BhZ2VVSUNsaWVudD46OmludGVyZmFjZVNpemVzQnlWZXJzaW9uW10g
PSB7CiAgICAgb2Zmc2V0b2YoV0tQYWdlVUlDbGllbnQsIGNyZWF0ZU5ld1BhZ2UpLAorICAgIG9m
ZnNldG9mKFdLUGFnZVVJQ2xpZW50LCBzaG93Q29sb3JQaWNrZXIpLAogICAgIHNpemVvZihXS1Bh
Z2VVSUNsaWVudCkKIH07CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
QVBJQ2xpZW50VHJhaXRzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJQ2xpZW50VHJhaXRz
LmgKaW5kZXggNzM1MmI1Ni4uMzg5NjIwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL0FQSUNsaWVudFRyYWl0cy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElDbGll
bnRUcmFpdHMuaApAQCAtNjMsNyArNjMsNyBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBBUElDbGllbnRU
cmFpdHM8V0tQYWdlTG9hZGVyQ2xpZW50PiB7CiB9OwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBUElD
bGllbnRUcmFpdHM8V0tQYWdlVUlDbGllbnQ+IHsKLSAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGlu
dGVyZmFjZVNpemVzQnlWZXJzaW9uWzJdOworICAgIHN0YXRpYyBjb25zdCBzaXplX3QgaW50ZXJm
YWNlU2l6ZXNCeVZlcnNpb25bM107CiB9OwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBUElDbGllbnRU
cmFpdHM8V0tCdW5kbGVQYWdlRm9ybUNsaWVudD4gewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL0FQSU9iamVjdC5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSU9iamVjdC5o
CmluZGV4IDcwOGVmZmUuLjM0MTgxZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9BUElPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJT2JqZWN0LmgKQEAg
LTc1LDYgKzc1LDcgQEAgcHVibGljOgogICAgICAgICBUeXBlQmF0dGVyeU1hbmFnZXIsCiAgICAg
ICAgIFR5cGVCYXR0ZXJ5U3RhdHVzLAogICAgICAgICBUeXBlQ2FjaGVNYW5hZ2VyLAorICAgICAg
ICBUeXBlQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lciwKICAgICAgICAgVHlwZUNvbnRleHQsCiAg
ICAgICAgIFR5cGVDb29raWVNYW5hZ2VyLAogICAgICAgICBUeXBlRGF0YWJhc2VNYW5hZ2VyLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJLaXQyL1Rh
cmdldC5wcmkKaW5kZXggMjFlMmRjMS4uYmZkMzRhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9UYXJnZXQucHJpCkBAIC0xNTAsNiAr
MTUwLDcgQEAgSEVBREVSUyArPSBcCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLQmFja0ZvcndhcmRM
aXN0SXRlbS5oIFwKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tCYXR0ZXJ5TWFuYWdlci5oIFwKICAg
ICBVSVByb2Nlc3MvQVBJL0MvV0tCYXR0ZXJ5U3RhdHVzLmggXAorICAgIFVJUHJvY2Vzcy9BUEkv
Qy9XS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIuaCBcCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dL
Q29udGV4dC5oIFwKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0UHJpdmF0ZS5oIFwKICAg
ICBVSVByb2Nlc3MvQVBJL0MvV0tDcmVkZW50aWFsLmggXApAQCAtMjI1LDYgKzIyNiw3IEBAIEhF
QURFUlMgKz0gXAogICAgIFVJUHJvY2Vzcy9XZWJCYXR0ZXJ5TWFuYWdlclByb3h5LmggXAogICAg
IFVJUHJvY2Vzcy9XZWJCYXR0ZXJ5UHJvdmlkZXIuaCBcCiAgICAgVUlQcm9jZXNzL1dlYkNvbG9y
Q2hvb3NlclByb3h5LmggXAorICAgIFVJUHJvY2Vzcy9XZWJDb2xvclBpY2tlclJlc3VsdExpc3Rl
bmVyUHJveHkuaCBcCiAgICAgVUlQcm9jZXNzL1dlYkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCBc
CiAgICAgVUlQcm9jZXNzL1dlYkNvbnRleHQuaCBcCiAgICAgVUlQcm9jZXNzL1dlYkNvbnRleHRD
b25uZWN0aW9uQ2xpZW50LmggXApAQCAtNDk5LDYgKzUwMSw3IEBAIFNPVVJDRVMgKz0gXAogICAg
IFVJUHJvY2Vzcy9BUEkvQy9XS0JhY2tGb3J3YXJkTGlzdEl0ZW0uY3BwIFwKICAgICBVSVByb2Nl
c3MvQVBJL0MvV0tCYXR0ZXJ5TWFuYWdlci5jcHAgXAogICAgIFVJUHJvY2Vzcy9BUEkvQy9XS0Jh
dHRlcnlTdGF0dXMuY3BwIFwKKyAgICBVSVByb2Nlc3MvQVBJL0MvV0tDb2xvclBpY2tlclJlc3Vs
dExpc3RlbmVyLmNwcCBcCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5jcHAgXAogICAg
IFVJUHJvY2Vzcy9BUEkvQy9XS0NyZWRlbnRpYWwuY3BwIFwKICAgICBVSVByb2Nlc3MvQVBJL0Mv
V0tEYXRhYmFzZU1hbmFnZXIuY3BwIFwKQEAgLTU2NSw2ICs1NjgsOCBAQCBTT1VSQ0VTICs9IFwK
ICAgICBVSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRMaXN0LmNwcCBcCiAgICAgVUlQcm9jZXNzL1dl
YkJhdHRlcnlNYW5hZ2VyUHJveHkuY3BwIFwKICAgICBVSVByb2Nlc3MvV2ViQmF0dGVyeVByb3Zp
ZGVyLmNwcCBcCisgICAgVUlQcm9jZXNzL1dlYkNvbG9yQ2hvb3NlclByb3h5LmNwcCBcCisgICAg
VUlQcm9jZXNzL1dlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eS5jcHAgXAogICAgIFVJ
UHJvY2Vzcy9XZWJDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcCBcCiAgICAgVUlQcm9jZXNzL1dl
YkNvbnRleHQuY3BwIFwKICAgICBVSVByb2Nlc3MvV2ViQ29udGV4dENvbm5lY3Rpb25DbGllbnQu
Y3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0FQSUNh
c3QuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaAppbmRleCBj
MTFmNzQwLi43ZTQ2YWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvV0tBUElDYXN0LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQVBJ
Q2FzdC5oCkBAIC02MCw2ICs2MCw3IEBAIGNsYXNzIFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW07CiBj
bGFzcyBXZWJCYXR0ZXJ5TWFuYWdlclByb3h5OwogY2xhc3MgV2ViQmF0dGVyeVN0YXR1czsKIGNs
YXNzIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyUHJveHk7CitjbGFzcyBXZWJDb2xvclBpY2tlclJl
c3VsdExpc3RlbmVyUHJveHk7CiBjbGFzcyBXZWJDb250ZXh0OwogY2xhc3MgV2ViQ29va2llTWFu
YWdlclByb3h5OwogY2xhc3MgV2ViQ3JlZGVudGlhbDsKQEAgLTEwMyw2ICsxMDQsNyBAQCBXS19B
RERfQVBJX01BUFBJTkcoV0tCYWNrRm9yd2FyZExpc3RSZWYsIFdlYkJhY2tGb3J3YXJkTGlzdCkK
IFdLX0FERF9BUElfTUFQUElORyhXS0JhdHRlcnlNYW5hZ2VyUmVmLCBXZWJCYXR0ZXJ5TWFuYWdl
clByb3h5KQogV0tfQUREX0FQSV9NQVBQSU5HKFdLQmF0dGVyeVN0YXR1c1JlZiwgV2ViQmF0dGVy
eVN0YXR1cykKIFdLX0FERF9BUElfTUFQUElORyhXS1Jlc291cmNlQ2FjaGVNYW5hZ2VyUmVmLCBX
ZWJSZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5KQorV0tfQUREX0FQSV9NQVBQSU5HKFdLQ29sb3JQ
aWNrZXJSZXN1bHRMaXN0ZW5lclJlZiwgV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5
KQogV0tfQUREX0FQSV9NQVBQSU5HKFdLQ29udGV4dFJlZiwgV2ViQ29udGV4dCkKIFdLX0FERF9B
UElfTUFQUElORyhXS0Nvb2tpZU1hbmFnZXJSZWYsIFdlYkNvb2tpZU1hbmFnZXJQcm94eSkKIFdL
X0FERF9BUElfTUFQUElORyhXS0NyZWRlbnRpYWxSZWYsIFdlYkNyZWRlbnRpYWwpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb2xvclBpY2tlclJlc3VsdExp
c3RlbmVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbG9yUGlja2Vy
UmVzdWx0TGlzdGVuZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIx
YWFhNGYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
V0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmNwcApAQCAtMCwwICsxLDQ0IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV0tDb2xvclBpY2tl
clJlc3VsdExpc3RlbmVyLmgiCisKKyNpbmNsdWRlICJXS0FQSUNhc3QuaCIKKyNpbmNsdWRlICJX
ZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkuaCIKKwordXNpbmcgbmFtZXNwYWNlIFdl
YktpdDsKKworV0tUeXBlSUQgV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyR2V0VHlwZUlEKCkK
K3sKKyAgICByZXR1cm4gdG9BUEkoV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5OjpB
UElUeXBlKTsKK30KKwordm9pZCBXS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJTZXRDb2xvcihX
S0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJSZWYgbGlzdGVuZXJSZWYsIGNvbnN0IFdLU3RyaW5n
UmVmIGNvbG9yKQoreworI2lmIEVOQUJMRShJTlBVVF9UWVBFX0NPTE9SKQorICAgIHRvSW1wbChs
aXN0ZW5lclJlZiktPnNldENvbG9yKHRvV1RGU3RyaW5nKGNvbG9yKSk7CisjZW5kaWYKK30KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbG9yUGlja2VyUmVz
dWx0TGlzdGVuZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbG9yUGlj
a2VyUmVzdWx0TGlzdGVuZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5i
ZmQ0NzMyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L1dLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lci5oCkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpZm5kZWYgV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyX2gKKyNkZWZp
bmUgV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyX2gKKworI2luY2x1ZGUgPFdlYktpdDIvV0tC
YXNlLmg+CisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworV0tf
RVhQT1JUIFdLVHlwZUlEIFdLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lckdldFR5cGVJRCgpOwor
CitXS19FWFBPUlQgdm9pZCBXS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJTZXRDb2xvcihXS0Nv
bG9yUGlja2VyUmVzdWx0TGlzdGVuZXJSZWYgbGlzdGVuZXJSZWYsIGNvbnN0IFdLU3RyaW5nUmVm
IGNvbG9yKTsKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2VuZGlmIC8qIFdL
Q29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lcl9oICovCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvV0tQYWdlLmgKaW5kZXggZjc5NDYwOC4uYjU0YzJkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQy9XS1BhZ2UuaApAQCAtMjI1LDYgKzIyNSw4IEBAIHR5cGVkZWYgdm9pZCAoKldL
UGFnZVNhdmVEYXRhVG9GaWxlSW5Eb3dubG9hZHNGb2xkZXJDYWxsYmFjaykoV0tQYWdlUmVmIHBh
Z2UsIFdLCiB0eXBlZGVmIGJvb2wgKCpXS1BhZ2VTaG91bGRJbnRlcnJ1cHRKYXZhU2NyaXB0Q2Fs
bGJhY2spKFdLUGFnZVJlZiBwYWdlLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKIHR5cGVkZWYg
dm9pZCAoKldLUGFnZURlY2lkZVBvbGljeUZvck5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0
Q2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBXS1NlY3VyaXR5T3JpZ2luUmVmIG9yaWdpbiwgV0tO
b3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdFJlZiBwZXJtaXNzaW9uUmVxdWVzdCwgY29uc3Qg
dm9pZCAqY2xpZW50SW5mbyk7CiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VVbmF2YWlsYWJsZVBsdWdp
bkJ1dHRvbkNsaWNrZWRDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLUGx1Z2luVW5hdmFpbGFi
aWxpdHlSZWFzb24gcGx1Z2luVW5hdmFpbGFiaWxpdHlSZWFzb24sIFdLU3RyaW5nUmVmIG1pbWVU
eXBlLCBXS1N0cmluZ1JlZiB1cmwsIFdLU3RyaW5nUmVmIHBsdWdpbnNQYWdlVVJMLCBjb25zdCB2
b2lkKiBjbGllbnRJbmZvKTsKK3R5cGVkZWYgdm9pZCAoKldLUGFnZVNob3dDb2xvclBpY2tlckNh
bGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgaW5pdGlhbENvbG9yLCBXS0NvbG9y
UGlja2VyUmVzdWx0TGlzdGVuZXJSZWYgbGlzdGVuZXIsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8p
OwordHlwZWRlZiB2b2lkICgqV0tQYWdlSGlkZUNvbG9yUGlja2VyQ2FsbGJhY2spKFdLUGFnZVJl
ZiBwYWdlLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKIAogLy8gRGVwcmVjYXRlZCAgICAKIHR5
cGVkZWYgV0tQYWdlUmVmICgqV0tQYWdlQ3JlYXRlTmV3UGFnZUNhbGxiYWNrX2RlcHJlY2F0ZWRG
b3JVc2VXaXRoVjApKFdLUGFnZVJlZiBwYWdlLCBXS0RpY3Rpb25hcnlSZWYgZmVhdHVyZXMsIFdL
RXZlbnRNb2RpZmllcnMgbW9kaWZpZXJzLCBXS0V2ZW50TW91c2VCdXR0b24gbW91c2VCdXR0b24s
IGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwpAQCAtMjgxLDEwICsyODMsMTQgQEAgc3RydWN0IFdL
UGFnZVVJQ2xpZW50IHsKICAgICBXS1BhZ2VNb3VzZURpZE1vdmVPdmVyRWxlbWVudENhbGxiYWNr
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vdXNlRGlkTW92ZU92ZXJFbGVtZW50Owog
ICAgIFdLUGFnZURlY2lkZVBvbGljeUZvck5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0Q2Fs
bGJhY2sgICAgICAgICAgZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVl
c3Q7CiAgICAgV0tQYWdlVW5hdmFpbGFibGVQbHVnaW5CdXR0b25DbGlja2VkQ2FsbGJhY2sgICAg
ICAgICAgICAgICAgICAgICAgICB1bmF2YWlsYWJsZVBsdWdpbkJ1dHRvbkNsaWNrZWQ7CisKKyAg
ICAvLyBWZXJzaW9uIDIKKyAgICBXS1BhZ2VTaG93Q29sb3JQaWNrZXJDYWxsYmFjayAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dDb2xvclBpY2tlcjsKKyAgICBXS1Bh
Z2VIaWRlQ29sb3JQaWNrZXJDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGhpZGVDb2xvclBpY2tlcjsKIH07CiB0eXBlZGVmIHN0cnVjdCBXS1BhZ2VVSUNsaWVu
dCBXS1BhZ2VVSUNsaWVudDsKIAotZW51bSB7IGtXS1BhZ2VVSUNsaWVudEN1cnJlbnRWZXJzaW9u
ID0gMSB9OworZW51bSB7IGtXS1BhZ2VVSUNsaWVudEN1cnJlbnRWZXJzaW9uID0gMiB9OwogCiAv
LyBGaW5kIGNsaWVudC4KIHR5cGVkZWYgdm9pZCAoKldLUGFnZURpZEZpbmRTdHJpbmdDYWxsYmFj
aykoV0tQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIHN0cmluZywgdW5zaWduZWQgbWF0Y2hDb3Vu
dCwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRVSUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRVSUNsaWVudC5jcHAKaW5kZXggMWQ5ODVkMy4uNTlkMGIwZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VUlDbGll
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVJQ2xp
ZW50LmNwcApAQCAtMjA0LDYgKzIwNCw4IEBAIHZvaWQgYXR0YWNoVUlDbGllbnRUb1ZpZXcoV2Vi
S2l0V2ViVmlldyogd2ViVmlldykKICAgICAgICAgbW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQsCiAg
ICAgICAgIDAsIC8vIGRlY2lkZVBvbGljeUZvck5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0
CiAgICAgICAgIDAsIC8vIHVuYXZhaWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZAorICAgICAgICAw
LCAvLyBzaG93Q29sb3JQaWNrZXIKKyAgICAgICAgMCwgLy8gaGlkZUNvbG9yUGlja2VyCiAgICAg
fTsKICAgICBXS1BhZ2VSZWYgd2tQYWdlID0gdG9BUEkod2Via2l0V2ViVmlld0Jhc2VHZXRQYWdl
KFdFQktJVF9XRUJfVklFV19CQVNFKHdlYlZpZXcpKSk7CiAgICAgV0tQYWdlU2V0UGFnZVVJQ2xp
ZW50KHdrUGFnZSwgJndrVUlDbGllbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYkNvbG9yQ2hvb3NlclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJDb2xvckNob29zZXJQcm94eS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uNzU1NDA0NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJDb2xvckNob29zZXJQcm94eS5jcHAKQEAgLTAsMCArMSw2MCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYkNvbG9yQ2hvb3NlclBy
b3h5LmgiCisKKyNpZiBFTkFCTEUoSU5QVVRfVFlQRV9DT0xPUikKKworbmFtZXNwYWNlIFdlYktp
dCB7CisKK1dlYkNvbG9yQ2hvb3NlclByb3h5OjpXZWJDb2xvckNob29zZXJQcm94eShDbGllbnQq
IGNsaWVudCkKKyAgICA6IG1fY2xpZW50KGNsaWVudCkKK3sKK30KKworV2ViQ29sb3JDaG9vc2Vy
UHJveHk6On5XZWJDb2xvckNob29zZXJQcm94eSgpCit7Cit9CisKK3ZvaWQgV2ViQ29sb3JDaG9v
c2VyUHJveHk6OmVuZENob29zZXIoKQoreworICAgIGlmICghbV9jbGllbnQpCisgICAgICAgIHJl
dHVybjsKKworICAgIG1fY2xpZW50LT5kaWRFbmRDb2xvckNob29zZXIoKTsKK30KKwordm9pZCBX
ZWJDb2xvckNob29zZXJQcm94eTo6c2V0U2VsZWN0ZWRDb2xvcihjb25zdCBXZWJDb3JlOjpDb2xv
ciYgY29sb3IpCit7CisgICAgaWYgKCFtX2NsaWVudCkKKyAgICAgICAgcmV0dXJuOworCisgICAg
bV9jbGllbnQtPmRpZENob29zZUNvbG9yKGNvbG9yKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoSU5QVVRfVFlQRV9DT0xPUikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb2xvckNob29zZXJQcm94eS5oIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYkNvbG9yQ2hvb3NlclByb3h5LmgKaW5kZXggNzkwNmMxMC4uNWRh
NGNjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbG9yQ2hvb3Nl
clByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbG9yQ2hvb3NlclBy
b3h5LmgKQEAgLTQ5LDE4ICs0OSwyMSBAQCBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgdm9pZCBk
aWRDaG9vc2VDb2xvcihjb25zdCBXZWJDb3JlOjpDb2xvciYpID0gMDsKICAgICAgICAgdmlydHVh
bCB2b2lkIGRpZEVuZENvbG9yQ2hvb3NlcigpID0gMDsKICAgICB9OwotICAgIHZpcnR1YWwgfldl
YkNvbG9yQ2hvb3NlclByb3h5KCkgeyB9CisKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJDb2xv
ckNob29zZXJQcm94eT4gY3JlYXRlKENsaWVudCogY2xpZW50KQorICAgIHsKKyAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKG5ldyBXZWJDb2xvckNob29zZXJQcm94eShjbGllbnQpKTsKKyAgICB9CisK
KyAgICB2aXJ0dWFsIH5XZWJDb2xvckNob29zZXJQcm94eSgpOwogCiAgICAgdm9pZCBpbnZhbGlk
YXRlKCkgeyBtX2NsaWVudCA9IDA7IH0KIAotICAgIHZpcnR1YWwgdm9pZCBlbmRDaG9vc2VyKCkg
PSAwOwotICAgIHZpcnR1YWwgdm9pZCBzZXRTZWxlY3RlZENvbG9yKGNvbnN0IFdlYkNvcmU6OkNv
bG9yJikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBlbmRDaG9vc2VyKCk7CisgICAgdmlydHVhbCB2
b2lkIHNldFNlbGVjdGVkQ29sb3IoY29uc3QgV2ViQ29yZTo6Q29sb3ImKTsKIAogcHJvdGVjdGVk
OgotICAgIFdlYkNvbG9yQ2hvb3NlclByb3h5KENsaWVudCogY2xpZW50KQotICAgICAgICA6IG1f
Y2xpZW50KGNsaWVudCkKLSAgICB7Ci0gICAgfQorICAgIGV4cGxpY2l0IFdlYkNvbG9yQ2hvb3Nl
clByb3h5KENsaWVudCopOwogCiAgICAgQ2xpZW50KiBtX2NsaWVudDsKIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclBy
b3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb2xvclBpY2tlclJlc3VsdExp
c3RlbmVyUHJveHkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBlZTc5
ZGQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29sb3JQ
aWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5LmNwcApAQCAtMCwwICsxLDYwIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViQ29sb3JQaWNrZXJS
ZXN1bHRMaXN0ZW5lclByb3h5LmgiCisKKyNpZiBFTkFCTEUoSU5QVVRfVFlQRV9DT0xPUikKKwor
I2luY2x1ZGUgIldlYlBhZ2VQcm94eS5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworV2ViQ29s
b3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5OjpXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVy
UHJveHkoV2ViUGFnZVByb3h5KiBwYWdlKQorICAgIDogbV9wYWdlKHBhZ2UpCit7Cit9CisKK1dl
YkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eTo6fldlYkNvbG9yUGlja2VyUmVzdWx0TGlz
dGVuZXJQcm94eSgpCit7Cit9CisKK3ZvaWQgV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclBy
b3h5OjppbnZhbGlkYXRlKCkKK3sKKyAgICBtX3BhZ2UgPSAwOworfQorCit2b2lkIFdlYkNvbG9y
UGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eTo6c2V0Q29sb3IoY29uc3QgU3RyaW5nJiBjb2xvcikK
K3sKKyAgICBpZiAoIW1fcGFnZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9wYWdlLT5zZXRD
b2xvckNob29zZXJDb2xvcihXZWJDb3JlOjpDb2xvcihjb2xvcikpOworICAgIG1fcGFnZS0+ZW5k
Q29sb3JDaG9vc2VyKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8g
RU5BQkxFKElOUFVUX1RZUEVfQ09MT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5LmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGNlZDVhNgotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHku
aApAQCAtMCwwICsxLDYyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIFNhbXN1bmcgRWxl
Y3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdlYkNvbG9y
UGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eV9oCisjZGVmaW5lIFdlYkNvbG9yUGlja2VyUmVzdWx0
TGlzdGVuZXJQcm94eV9oCisKKyNpbmNsdWRlICJBUElPYmplY3QuaCIKKyNpbmNsdWRlIDx3dGYv
UGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvdGV4
dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYlBhZ2VQcm94
eTsKKworY2xhc3MgV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5IDogcHVibGljIEFQ
SU9iamVjdCB7CitwdWJsaWM6CisgICAgc3RhdGljIGNvbnN0IFR5cGUgQVBJVHlwZSA9IFR5cGVD
b2xvclBpY2tlclJlc3VsdExpc3RlbmVyOworCisgICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViQ29s
b3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5PiBjcmVhdGUoV2ViUGFnZVByb3h5KiBwYWdlKQor
ICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJDb2xvclBpY2tlclJlc3VsdExp
c3RlbmVyUHJveHkocGFnZSkpOworICAgIH0KKworICAgIHZpcnR1YWwgfldlYkNvbG9yUGlja2Vy
UmVzdWx0TGlzdGVuZXJQcm94eSgpOworCisgICAgdm9pZCBpbnZhbGlkYXRlKCk7CisgICAgdm9p
ZCBzZXRDb2xvcihjb25zdCBTdHJpbmcmKTsKKworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBXZWJD
b2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkoV2ViUGFnZVByb3h5Kik7CisKKyAgICB2aXJ0
dWFsIFR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIEFQSVR5cGU7IH0KKworICAgIFJlZlB0cjxX
ZWJQYWdlUHJveHk+IG1fcGFnZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5k
aWYgLy8gV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5X2gKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggOTg4MWViMi4uNDRhYzExMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTUyLDYgKzUyLDcgQEAK
ICNpbmNsdWRlICJXZWJCYWNrRm9yd2FyZExpc3QuaCIKICNpbmNsdWRlICJXZWJCYWNrRm9yd2Fy
ZExpc3RJdGVtLmgiCiAjaW5jbHVkZSAiV2ViQ2VydGlmaWNhdGVJbmZvLmgiCisjaW5jbHVkZSAi
V2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5LmgiCiAjaW5jbHVkZSAiV2ViQ29udGV4
dC5oIgogI2luY2x1ZGUgIldlYkNvbnRleHRNZW51UHJveHkuaCIKICNpbmNsdWRlICJXZWJDb250
ZXh0VXNlck1lc3NhZ2VDb2RlcnMuaCIKQEAgLTQxMiw2ICs0MTMsMTEgQEAgdm9pZCBXZWJQYWdl
UHJveHk6OmNsb3NlKCkKICAgICAgICAgbV9jb2xvckNob29zZXItPmludmFsaWRhdGUoKTsKICAg
ICAgICAgbV9jb2xvckNob29zZXIgPSBudWxscHRyOwogICAgIH0KKworICAgIGlmIChtX2NvbG9y
UGlja2VyUmVzdWx0TGlzdGVuZXIpIHsKKyAgICAgICAgbV9jb2xvclBpY2tlclJlc3VsdExpc3Rl
bmVyLT5pbnZhbGlkYXRlKCk7CisgICAgICAgIG1fY29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lciA9
IG51bGxwdHI7CisgICAgfQogI2VuZGlmCiAKICNpZiBFTkFCTEUoR0VPTE9DQVRJT04pCkBAIC0y
NzExLDcgKzI3MTcsMjAgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnNob3dDb2xvckNob29zZXIoY29u
c3QgV2ViQ29yZTo6Q29sb3ImIGluaXRpYWxDb2xvcikKIHsKICAgICBBU1NFUlQoIW1fY29sb3JD
aG9vc2VyKTsKIAorICAgIGlmIChtX2NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIpIHsKKyAgICAg
ICAgbV9jb2xvclBpY2tlclJlc3VsdExpc3RlbmVyLT5pbnZhbGlkYXRlKCk7CisgICAgICAgIG1f
Y29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lciA9IG51bGxwdHI7CisgICAgfQorCisgICAgbV9jb2xv
clBpY2tlclJlc3VsdExpc3RlbmVyID0gV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5
OjpjcmVhdGUodGhpcyk7CisgICAgbV9jb2xvckNob29zZXIgPSBXZWJDb2xvckNob29zZXJQcm94
eTo6Y3JlYXRlKHRoaXMpOworCisgICAgaWYgKG1fdWlDbGllbnQuc2hvd0NvbG9yUGlja2VyKHRo
aXMsIGluaXRpYWxDb2xvci5zZXJpYWxpemVkKCksIG1fY29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5l
ci5nZXQoKSkpCisgICAgICAgIHJldHVybjsKKwogICAgIG1fY29sb3JDaG9vc2VyID0gbV9wYWdl
Q2xpZW50LT5jcmVhdGVDb2xvckNob29zZXJQcm94eSh0aGlzLCBpbml0aWFsQ29sb3IpOworICAg
IGlmICghbV9jb2xvckNob29zZXIpCisgICAgICAgIGRpZEVuZENvbG9yQ2hvb3NlcigpOwogfQog
CiB2b2lkIFdlYlBhZ2VQcm94eTo6c2V0Q29sb3JDaG9vc2VyQ29sb3IoY29uc3QgV2ViQ29yZTo6
Q29sb3ImIGNvbG9yKQpAQCAtMjc0MSwxMiArMjc2MCwxNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6
ZGlkRW5kQ29sb3JDaG9vc2VyKCkKICAgICBpZiAoIWlzVmFsaWQoKSkKICAgICAgICAgcmV0dXJu
OwogCi0gICAgQVNTRVJUKG1fY29sb3JDaG9vc2VyKTsKLQotICAgIG1fY29sb3JDaG9vc2VyLT5p
bnZhbGlkYXRlKCk7Ci0gICAgbV9jb2xvckNob29zZXIgPSBudWxscHRyOworICAgIGlmIChtX2Nv
bG9yQ2hvb3NlcikgeworICAgICAgICBtX2NvbG9yQ2hvb3Nlci0+aW52YWxpZGF0ZSgpOworICAg
ICAgICBtX2NvbG9yQ2hvb3NlciA9IG51bGxwdHI7CisgICAgfQogCiAgICAgbV9wcm9jZXNzLT5z
ZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpEaWRFbmRDb2xvckNob29zZXIoKSwgbV9wYWdlSUQpOwor
CisgICAgbV9jb2xvclBpY2tlclJlc3VsdExpc3RlbmVyLT5pbnZhbGlkYXRlKCk7CisgICAgbV9j
b2xvclBpY2tlclJlc3VsdExpc3RlbmVyID0gbnVsbHB0cjsKKworICAgIG1fdWlDbGllbnQuaGlk
ZUNvbG9yUGlja2VyKHRoaXMpOwogfQogI2VuZGlmCiAKQEAgLTM1MTgsNiArMzU0MiwxMSBAQCB2
b2lkIFdlYlBhZ2VQcm94eTo6cHJvY2Vzc0RpZENyYXNoKCkKICAgICAgICAgbV9jb2xvckNob29z
ZXItPmludmFsaWRhdGUoKTsKICAgICAgICAgbV9jb2xvckNob29zZXIgPSBudWxscHRyOwogICAg
IH0KKworICAgIGlmIChtX2NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIpIHsKKyAgICAgICAgbV9j
b2xvclBpY2tlclJlc3VsdExpc3RlbmVyLT5pbnZhbGlkYXRlKCk7CisgICAgICAgIG1fY29sb3JQ
aWNrZXJSZXN1bHRMaXN0ZW5lciA9IG51bGxwdHI7CisgICAgfQogI2VuZGlmCiAKICNpZiBFTkFC
TEUoR0VPTE9DQVRJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5k
ZXggOWExOWE1Ni4uOTM4OWRhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaApAQCAtMTM4LDYgKzEzOCw3IEBAIGNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwog
Y2xhc3MgU3RyaW5nUGFpclZlY3RvcjsKIGNsYXNzIFdlYkJhY2tGb3J3YXJkTGlzdDsKIGNsYXNz
IFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW07CitjbGFzcyBXZWJDb2xvclBpY2tlclJlc3VsdExpc3Rl
bmVyUHJveHk7CiBjbGFzcyBXZWJDb250ZXh0TWVudVByb3h5OwogY2xhc3MgV2ViRGF0YTsKIGNs
YXNzIFdlYkVkaXRDb21tYW5kUHJveHk7CkBAIC03MTcsNiArNzE4LDExIEBAIHB1YmxpYzoKIAog
ICAgIHZvaWQgcG9zdE1lc3NhZ2VUb0luamVjdGVkQnVuZGxlKGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZU5hbWUsIEFQSU9iamVjdCogbWVzc2FnZUJvZHkpOwogCisjaWYgRU5BQkxFKElOUFVUX1RZUEVf
Q09MT1IpCisgICAgdm9pZCBzZXRDb2xvckNob29zZXJDb2xvcihjb25zdCBXZWJDb3JlOjpDb2xv
ciYpOworICAgIHZvaWQgZW5kQ29sb3JDaG9vc2VyKCk7CisjZW5kaWYKKwogcHJpdmF0ZToKICAg
ICBXZWJQYWdlUHJveHkoUGFnZUNsaWVudCosIFBhc3NSZWZQdHI8V2ViUHJvY2Vzc1Byb3h5Piwg
V2ViUGFnZUdyb3VwKiwgdWludDY0X3QgcGFnZUlEKTsKIApAQCAtODQ5LDggKzg1NSw2IEBAIHBy
aXZhdGU6CiAKICNpZiBFTkFCTEUoSU5QVVRfVFlQRV9DT0xPUikKICAgICB2b2lkIHNob3dDb2xv
ckNob29zZXIoY29uc3QgV2ViQ29yZTo6Q29sb3ImIGluaXRpYWxDb2xvcik7Ci0gICAgdm9pZCBz
ZXRDb2xvckNob29zZXJDb2xvcihjb25zdCBXZWJDb3JlOjpDb2xvciYpOwotICAgIHZvaWQgZW5k
Q29sb3JDaG9vc2VyKCk7CiAgICAgdm9pZCBkaWRDaG9vc2VDb2xvcihjb25zdCBXZWJDb3JlOjpD
b2xvciYpOwogICAgIHZvaWQgZGlkRW5kQ29sb3JDaG9vc2VyKCk7CiAjZW5kaWYKQEAgLTExMzks
NiArMTE0Myw3IEBAIHByaXZhdGU6CiAjZW5kaWYKICNpZiBFTkFCTEUoSU5QVVRfVFlQRV9DT0xP
UikKICAgICBSZWZQdHI8V2ViQ29sb3JDaG9vc2VyUHJveHk+IG1fY29sb3JDaG9vc2VyOworICAg
IFJlZlB0cjxXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHk+IG1fY29sb3JQaWNrZXJS
ZXN1bHRMaXN0ZW5lcjsKICNlbmRpZgogCiAgICAgdWludDY0X3QgbV9wYWdlSUQ7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViVUlDbGllbnQuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlVJQ2xpZW50LmNwcAppbmRleCBlZDFmYjkzLi5mODhjMDBhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViVUlDbGllbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJVSUNsaWVudC5jcHAKQEAgLTMxLDYgKzMxLDcg
QEAKICNpbmNsdWRlICJOYXRpdmVXZWJXaGVlbEV2ZW50LmgiCiAjaW5jbHVkZSAiTm90aWZpY2F0
aW9uUGVybWlzc2lvblJlcXVlc3QuaCIKICNpbmNsdWRlICJXS0FQSUNhc3QuaCIKKyNpbmNsdWRl
ICJXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkuaCIKICNpbmNsdWRlICJXZWJOdW1i
ZXIuaCIKICNpbmNsdWRlICJXZWJPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclByb3h5LmgiCiAjaW5j
bHVkZSAiV2ViUGFnZVByb3h5LmgiCkBAIC00MTcsNCArNDE4LDI0IEBAIGJvb2wgV2ViVUlDbGll
bnQ6OnNob3VsZEludGVycnVwdEphdmFTY3JpcHQoV2ViUGFnZVByb3h5KiBwYWdlKQogICAgIHJl
dHVybiBtX2NsaWVudC5zaG91bGRJbnRlcnJ1cHRKYXZhU2NyaXB0KHRvQVBJKHBhZ2UpLCBtX2Ns
aWVudC5jbGllbnRJbmZvKTsKIH0KIAorI2lmIEVOQUJMRShJTlBVVF9UWVBFX0NPTE9SKQorYm9v
bCBXZWJVSUNsaWVudDo6c2hvd0NvbG9yUGlja2VyKFdlYlBhZ2VQcm94eSogcGFnZSwgY29uc3Qg
U3RyaW5nJiBpbml0aWFsQ29sb3IsIFdlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eSog
bGlzdGVuZXIpCit7CisgICAgaWYgKCFtX2NsaWVudC5zaG93Q29sb3JQaWNrZXIpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgIG1fY2xpZW50LnNob3dDb2xvclBpY2tlcih0b0FQSShwYWdl
KSwgdG9BUEkoaW5pdGlhbENvbG9yLmltcGwoKSksIHRvQVBJKGxpc3RlbmVyKSwgbV9jbGllbnQu
Y2xpZW50SW5mbyk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK2Jvb2wgV2ViVUlDbGllbnQ6Omhp
ZGVDb2xvclBpY2tlcihXZWJQYWdlUHJveHkqIHBhZ2UpCit7CisgICAgaWYgKCFtX2NsaWVudC5o
aWRlQ29sb3JQaWNrZXIpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIG1fY2xpZW50Lmhp
ZGVDb2xvclBpY2tlcih0b0FQSShwYWdlKSwgbV9jbGllbnQuY2xpZW50SW5mbyk7CisgICAgcmV0
dXJuIHRydWU7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViVUlDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJVSUNsaWVudC5oCmluZGV4IDI4Y2ZiNjguLjliNTJiZmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJVSUNsaWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJVSUNsaWVudC5oCkBAIC00OCw2ICs0OCw3IEBAIGNsYXNzIEdl
b2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RQcm94eTsKIGNsYXNzIE5hdGl2ZVdlYktleWJvYXJk
RXZlbnQ7CiBjbGFzcyBOYXRpdmVXZWJXaGVlbEV2ZW50OwogY2xhc3MgTm90aWZpY2F0aW9uUGVy
bWlzc2lvblJlcXVlc3Q7CitjbGFzcyBXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHk7
CiBjbGFzcyBXZWJEYXRhOwogY2xhc3MgV2ViRnJhbWVQcm94eTsKIGNsYXNzIFdlYlBhZ2VQcm94
eTsKQEAgLTExNSw2ICsxMTYsMTEgQEAgcHVibGljOgogICAgIHZvaWQgc2F2ZURhdGFUb0ZpbGVJ
bkRvd25sb2Fkc0ZvbGRlcihXZWJQYWdlUHJveHkqLCBjb25zdCBTdHJpbmcmIHN1Z2dlc3RlZEZp
bGVuYW1lLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBjb25zdCBTdHJpbmcmIG9yaWdpbmF0aW5n
VVJMU3RyaW5nLCBXZWJEYXRhKik7CiAKICAgICBib29sIHNob3VsZEludGVycnVwdEphdmFTY3Jp
cHQoV2ViUGFnZVByb3h5Kik7CisKKyNpZiBFTkFCTEUoSU5QVVRfVFlQRV9DT0xPUikKKyAgICBi
b29sIHNob3dDb2xvclBpY2tlcihXZWJQYWdlUHJveHkqLCBjb25zdCBTdHJpbmcmLCBXZWJDb2xv
clBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkqKTsKKyAgICBib29sIGhpZGVDb2xvclBpY2tlcihX
ZWJQYWdlUHJveHkqKTsKKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
MmZjYTI0MC4uNjMzYjhkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtOTEzLDYgKzkxMywxMCBAQAogCQlFMUVFNTNFNzExRjhD
RkZCMDBDQ0JFRTQgLyogSW5qZWN0ZWRCdW5kbGVQYWdlRWRpdG9yQ2xpZW50LmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxRUU1M0U2MTFGOENGRkIw
MENDQkVFNCAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VFZGl0b3JDbGllbnQuY3BwICovOyB9OwogCQlF
RDgyQTdGMjEyOEM2RkFGMDA0NDc3QjMgLyogV0tCdW5kbGVQYWdlT3ZlcmxheS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyMkYwRkYxMjg5RkNEOTAw
ODVFNzRGIC8qIFdLQnVuZGxlUGFnZU92ZXJsYXkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFRENBNzFCNzEyOEREQThDMDAyMDFCMjYgLyogV0tC
dW5kbGVQYWdlT3ZlcmxheS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxQTIyRjEwMDEyODlGQ0Q5MDA4NUU3NEYgLyogV0tCdW5kbGVQYWdlT3Zlcmxh
eS5jcHAgKi87IH07CisJCUYwMzY5Nzg1MTVGNEJFNkIwMEMzQTgwRSAvKiBXS0NvbG9yUGlja2Vy
UmVzdWx0TGlzdGVuZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRjAzNjk3ODMxNUY0QkU2QjAwQzNBODBFIC8qIFdLQ29sb3JQaWNrZXJSZXN1bHRM
aXN0ZW5lci5jcHAgKi87IH07CisJCUYwMzY5Nzg2MTVGNEJFNkIwMEMzQTgwRSAvKiBXS0NvbG9y
UGlja2VyUmVzdWx0TGlzdGVuZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEYwMzY5Nzg0MTVGNEJFNkIwMEMzQTgwRSAvKiBXS0NvbG9yUGlja2VyUmVz
dWx0TGlzdGVuZXIuaCAqLzsgfTsKKwkJRjAzNjk3ODgxNUY0QkYwNTAwQzNBODBFIC8qIFdlYkNv
bG9yQ2hvb3NlclByb3h5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEYwMzY5Nzg3MTVGNEJGMDUwMEMzQTgwRSAvKiBXZWJDb2xvckNob29zZXJQcm94
eS5jcHAgKi87IH07CisJCUYwMzY5NzhCMTVGNEJGMTMwMEMzQTgwRSAvKiBXZWJDb2xvclBpY2tl
clJlc3VsdExpc3RlbmVyUHJveHkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRjAzNjk3ODkxNUY0QkYxMzAwQzNBODBFIC8qIFdlYkNvbG9yUGlja2Vy
UmVzdWx0TGlzdGVuZXJQcm94eS5jcHAgKi87IH07CiAJCUY2MTEzRTI1MTI2Q0UxODIwMDU3RDBB
NyAvKiBXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY2MTEzRTI0MTI2Q0UxODIwMDU3RDBBNyAvKiBXZWJVc2Vy
Q29udGVudFVSTFBhdHRlcm4uaCAqLzsgfTsKIAkJRjYxMTNFMjgxMjZDRTE5QjAwNTdEMEE3IC8q
IFdLVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEY2MTEzRTI2MTI2Q0UxOUIwMDU3RDBBNyAvKiBXS1VzZXJDb250
ZW50VVJMUGF0dGVybi5jcHAgKi87IH07CiAJCUY2MTEzRTI5MTI2Q0UxOUIwMDU3RDBBNyAvKiBX
S1VzZXJDb250ZW50VVJMUGF0dGVybi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRjYxMTNFMjcxMjZDRTE5QjAwNTdEMEE3IC8qIFdLVXNlckNvbnRlbnRV
UkxQYXR0ZXJuLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKQEAgLTIwMTIsNiArMjAxNiwxMSBAQAogCQlFMUNDMUI4RjEyRDdFQURGMDA2MjU4MzggLyog
UHJpbnRJbmZvTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
UHJpbnRJbmZvTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMUVFNTNEQzEx
RjhDRjlGMDBDQ0JFRTQgLyogSW5qZWN0ZWRCdW5kbGVQYWdlRWRpdG9yQ2xpZW50LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluamVjdGVkQnVuZGxlUGFnZUVkaXRvckNsaWVu
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMUVFNTNFNjExRjhDRkZCMDBDQ0JF
RTQgLyogSW5qZWN0ZWRCdW5kbGVQYWdlRWRpdG9yQ2xpZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEluamVjdGVkQnVuZGxlUGFnZUVkaXRvckNsaWVudC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUYwMzY5NzgzMTVGNEJFNkIwMEMzQTgwRSAv
KiBXS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjAzNjk3ODQxNUY0QkU2QjAwQzNBODBFIC8qIFdLQ29sb3JQ
aWNrZXJSZXN1bHRMaXN0ZW5lci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBX
S0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJRjAzNjk3ODcxNUY0QkYwNTAwQzNBODBFIC8qIFdlYkNvbG9yQ2hvb3NlclByb3h5LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkNvbG9yQ2hvb3NlclByb3h5
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjAzNjk3ODkxNUY0QkYxMzAwQzNB
ODBFIC8qIFdlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJv
eHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGMDM2OTc4QTE1RjRCRjEzMDBD
M0E4MEUgLyogV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNjExM0UyNDEyNkNFMTgyMDA1N0QwQTcg
LyogV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFdlYlVzZXJDb250ZW50VVJMUGF0dGVybi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlGNjExM0UyNjEyNkNFMTlCMDA1N0QwQTcgLyogV0tVc2VyQ29udGVudFVSTFBhdHRl
cm4uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tVc2VyQ29udGVu
dFVSTFBhdHRlcm4uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNjExM0UyNzEy
NkNFMTlCMDA1N0QwQTcgLyogV0tVc2VyQ29udGVudFVSTFBhdHRlcm4uaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV0tVc2VyQ29udGVudFVSTFBhdHRlcm4uaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI5MzUsNyArMjk0NCwxMCBAQAogCQkJCTUxMkUzNUYwMTMw
QjYzOEMwMEFCRDE5QSAvKiBXZWJBcHBsaWNhdGlvbkNhY2hlTWFuYWdlclByb3h5Lm1lc3NhZ2Vz
LmluICovLAogCQkJCUJDNzJCQTFCMTFFNjQ5MDcwMDFFQjRFQSAvKiBXZWJCYWNrRm9yd2FyZExp
c3QuY3BwICovLAogCQkJCUJDNzJCQTFDMTFFNjQ5MDcwMDFFQjRFQSAvKiBXZWJCYWNrRm9yd2Fy
ZExpc3QuaCAqLywKKwkJCQlGMDM2OTc4NzE1RjRCRjA1MDBDM0E4MEUgLyogV2ViQ29sb3JDaG9v
c2VyUHJveHkuY3BwICovLAogCQkJCTNGODdCOUJGMTU4OTQwRDgwMDkwRkY2MiAvKiBXZWJDb2xv
ckNob29zZXJQcm94eS5oICovLAorCQkJCUYwMzY5Nzg5MTVGNEJGMTMwMEMzQTgwRSAvKiBXZWJD
b2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkuY3BwICovLAorCQkJCUYwMzY5NzhBMTVGNEJG
MTMwMEMzQTgwRSAvKiBXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkuaCAqLywKIAkJ
CQlCQzRBNjJBNTE0NzQ0RUM2MDA2QzY4MUEgLyogV2ViQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5j
cHAgKi8sCiAJCQkJQkM0QTYyQTYxNDc0NEVDNjAwNkM2ODFBIC8qIFdlYkNvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MuaCAqLywKIAkJCQlCQ0I5RTI0MjExMjBEQUNBMDBBMTM3RTAgLyogV2ViQ29udGV4
dC5jcHAgKi8sCkBAIC0zMDU5LDYgKzMwNzEsOCBAQAogCQkJCUJDNjQ2QzE3MTFERDM5OUYwMDY0
NTVCMCAvKiBXS0JhY2tGb3J3YXJkTGlzdC5oICovLAogCQkJCUJDNjQ2QzE4MTFERDM5OUYwMDY0
NTVCMCAvKiBXS0JhY2tGb3J3YXJkTGlzdEl0ZW0uY3BwICovLAogCQkJCUJDNjQ2QzE5MTFERDM5
OUYwMDY0NTVCMCAvKiBXS0JhY2tGb3J3YXJkTGlzdEl0ZW0uaCAqLywKKwkJCQlGMDM2OTc4MzE1
RjRCRTZCMDBDM0E4MEUgLyogV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmNwcCAqLywKKwkJ
CQlGMDM2OTc4NDE1RjRCRTZCMDBDM0E4MEUgLyogV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVy
LmggKi8sCiAJCQkJQkNCOUUyNEExMTIwRTE1QzAwQTEzN0UwIC8qIFdLQ29udGV4dC5jcHAgKi8s
CiAJCQkJQkNCOUUyNDkxMTIwRTE1QzAwQTEzN0UwIC8qIFdLQ29udGV4dC5oICovLAogCQkJCUJD
QzkzOEUwMTE4MERFNDQwMDg1RTVGRSAvKiBXS0NvbnRleHRQcml2YXRlLmggKi8sCkBAIC00MTQy
LDYgKzQxNTYsNyBAQAogCQkJCUJDMTRERjlGMTIwQjYzNUYwMDgyNkMwQyAvKiBXS0J1bmRsZVNj
cmlwdFdvcmxkLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzQwNzVGNjEyNEZGMDI3MDA2OEYyMEEg
LyogV0tDZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNDA3NjI3MTI0RkYw
NDAwMDY4RjIwQSAvKiBXS0NlcnRpZmljYXRlSW5mb01hYy5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
RjAzNjk3ODYxNUY0QkU2QjAwQzNBODBFIC8qIFdLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQkNBMjg0RDcxNDkyRjJDNzAwMUY5MDQyIC8qIFdLQ29ubmVj
dGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM1Qzc1QzgxNDk1NERBNjAwQkM0Nzc1IC8qIFdL
Q29ubmVjdGlvbkludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzRBNjI5NzE0NzMxM0Ew
MDA2QzY4MUEgLyogV0tDb25uZWN0aW9uUmVmLmggaW4gSGVhZGVycyAqLywKQEAgLTQ3NjksNiAr
NDc4NCw4IEBACiAJCQkJNTE4RDJDQUQxMkQ1MTUzQjAwM0JCOTNCIC8qIFdlYkJhY2tGb3J3YXJk
TGlzdEl0ZW0uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM3MkI5RkExMUU2NDc2QjAwMUVCNEVB
IC8qIFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDMTEx
QTVBMTEyRjRGQkIwMDMzN0JBQiAvKiBXZWJDaHJvbWVDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJRjAzNjk3ODgxNUY0QkYwNTAwQzNBODBFIC8qIFdlYkNvbG9yQ2hvb3NlclByb3h5LmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCUYwMzY5NzhCMTVGNEJGMTMwMEMzQTgwRSAvKiBXZWJDb2xv
clBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM0QTYy
OEYxNDczMTJCRTAwNkM2ODFBIC8qIFdlYkNvbm5lY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQkM0QTYyOTExNDczMTJCRTAwNkM2ODFBIC8qIFdlYkNvbm5lY3Rpb25DbGllbnQuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQkNEMzY3NUMxNDhDMjZDMDAwNDQ3RTg3IC8qIFdlYkNvbm5lY3Rp
b25Ub1VJUHJvY2Vzcy5jcHAgaW4gU291cmNlcyAqLywKQEAgLTQ5NTAsNiArNDk2Nyw3IEBACiAJ
CQkJQkMxNERGOUUxMjBCNjM1RjAwODI2QzBDIC8qIFdLQnVuZGxlU2NyaXB0V29ybGQuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQkM0MDc1RjUxMjRGRjAyNzAwNjhGMjBBIC8qIFdLQ2VydGlmaWNh
dGVJbmZvLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDNDA3NjI4MTI0RkYwNDAwMDY4RjIwQSAv
KiBXS0NlcnRpZmljYXRlSW5mb01hYy5tbSBpbiBTb3VyY2VzICovLAorCQkJCUYwMzY5Nzg1MTVG
NEJFNkIwMEMzQTgwRSAvKiBXS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQkNBMjg0RDYxNDkyRjJDNzAwMUY5MDQyIC8qIFdLQ29ubmVjdGlvbi5tbSBp
biBTb3VyY2VzICovLAogCQkJCUJDNEE2Mjk2MTQ3MzEzQTAwMDZDNjgxQSAvKiBXS0Nvbm5lY3Rp
b25SZWYuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNCOUUyNEMxMTIwRTE1QzAwQTEzN0UwIC8q
IFdLQ29udGV4dC5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L3dpbi9XZWJLaXQyLnZjcHJvaiBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvagpp
bmRleCBjNjU5NTU0Li5mMWIwZjY1IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2Vi
S2l0Mi52Y3Byb2oKKysrIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIudmNwcm9qCkBAIC0y
ODk5LDEwICsyODk5LDIyIEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXFVJUHJvY2Vzc1xXZWJDb2xvckNob29zZXJQcm94eS5jcHAiCisJCQkJPgor
CQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFVJUHJvY2Vzc1xXZWJD
b2xvckNob29zZXJQcm94eS5oIgogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVs
YXRpdmVQYXRoPSIuLlxVSVByb2Nlc3NcV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5
LmNwcCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5c
VUlQcm9jZXNzXFdlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eS5oIgorCQkJCT4KKwkJ
CTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxVSVByb2Nlc3NcV2ViQ29u
bmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAiCiAJCQkJPgogCQkJPC9GaWxlPgpAQCAtMzMyOSw2ICsz
MzQxLDE0IEBACiAJCQkJCQk+CiAJCQkJCTwvRmlsZT4KIAkJCQkJPEZpbGUKKwkJCQkJCVJlbGF0
aXZlUGF0aD0iLi5cVUlQcm9jZXNzXEFQSVxDXFdLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lci5j
cHAiCisJCQkJCQk+CisJCQkJCTwvRmlsZT4KKwkJCQkJPEZpbGUKKwkJCQkJCVJlbGF0aXZlUGF0
aD0iLi5cVUlQcm9jZXNzXEFQSVxDXFdLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lci5oIgorCQkJ
CQkJPgorCQkJCQk8L0ZpbGU+CisJCQkJCTxGaWxlCiAJCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFVJ
UHJvY2Vzc1xBUElcQ1xXS0NvbnRleHQuY3BwIgogCQkJCQkJPgogCQkJCQk8L0ZpbGU+CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkdlbmVyYXRlZC5tYWtlIGIvU291cmNl
L1dlYktpdDIvd2luL1dlYktpdDJHZW5lcmF0ZWQubWFrZQppbmRleCBmOTNmOGE5Li42ZjI3MWNj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkdlbmVyYXRlZC5tYWtlCisr
KyBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyR2VuZXJhdGVkLm1ha2UKQEAgLTUxLDYgKzUx
LDcgQEAgYWxsOgogICAgIHhjb3B5IC95IC9kICIuLlxVSVByb2Nlc3NcQVBJXENcV0tBdXRoZW50
aWNhdGlvbkRlY2lzaW9uTGlzdGVuZXIuaCIgIiVDb25maWd1cmF0aW9uQnVpbGREaXIlXGluY2x1
ZGVcV2ViS2l0MiIKICAgICB4Y29weSAveSAvZCAiLi5cVUlQcm9jZXNzXEFQSVxDXFdLQmFja0Zv
cndhcmRMaXN0LmgiICIlQ29uZmlndXJhdGlvbkJ1aWxkRGlyJVxpbmNsdWRlXFdlYktpdDIiCiAg
ICAgeGNvcHkgL3kgL2QgIi4uXFVJUHJvY2Vzc1xBUElcQ1xXS0JhY2tGb3J3YXJkTGlzdEl0ZW0u
aCIgIiVDb25maWd1cmF0aW9uQnVpbGREaXIlXGluY2x1ZGVcV2ViS2l0MiIKKyAgICB4Y29weSAv
eSAvZCAiLi5cVUlQcm9jZXNzXEFQSVxDXFdLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lci5oIiAi
JUNvbmZpZ3VyYXRpb25CdWlsZERpciVcaW5jbHVkZVxXZWJLaXQyIgogICAgIHhjb3B5IC95IC9k
ICIuLlxVSVByb2Nlc3NcQVBJXENcV0tDb250ZXh0LmgiICIlQ29uZmlndXJhdGlvbkJ1aWxkRGly
JVxpbmNsdWRlXFdlYktpdDIiCiAgICAgeGNvcHkgL3kgL2QgIi4uXFVJUHJvY2Vzc1xBUElcQ1xX
S0NvbnRleHRQcml2YXRlLmgiICIlQ29uZmlndXJhdGlvbkJ1aWxkRGlyJVxpbmNsdWRlXFdlYktp
dDIiCiAgICAgeGNvcHkgL3kgL2QgIi4uXFVJUHJvY2Vzc1xBUElcQ1xXS0Nvb2tpZU1hbmFnZXIu
aCIgIiVDb25maWd1cmF0aW9uQnVpbGREaXIlXGluY2x1ZGVcV2ViS2l0MiIKZGlmZiAtLWdpdCBh
L1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA5OTZiNGNjLi45ZTcwY2Zm
IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjAgQEAKKzIwMTItMDktMDMgIEt3YW5nWW9uZyBDaG9pICA8a3kwLmNob2lAc2Ftc3Vu
Zy5jb20+CisKKyAgICAgICAgW1dLMl0gQWRkIGNvbG9yIHBpY2tlciBBUEkgc3VwcG9ydCBmb3Ig
V2ViS2l0MgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
OTUwNTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJ
bml0aWFsaXphdGlvbiBjb2RlIGZvciBjb2xvciBwaWNrZXIgY2FsbGJhY2tzIGluIFVJIGNsaWVu
dC4KKworICAgICAgICAqIE1pbmlCcm93c2VyL21hYy9Ccm93c2VyV2luZG93Q29udHJvbGxlci5t
OgorICAgICAgICAoLVtCcm93c2VyV2luZG93Q29udHJvbGxlciBhd2FrZUZyb21OaWJdKToKKyAg
ICAgICAgKiBNaW5pQnJvd3Nlci93aW4vQnJvd3NlclZpZXcuY3BwOgorICAgICAgICAoQnJvd3Nl
clZpZXc6OmNyZWF0ZSk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxl
ci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpjcmVhdGVPdGhlclBhZ2UpOgor
ICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6aW5pdGlhbGl6ZSk6CisKIDIwMTItMDktMDEg
IFhpYW56aHUgV2FuZyAgPHdhbmd4aWFuemh1QGNocm9taXVtLm9yZz4KIAogICAgICAgICBbQ2hy
b21pdW0tQW5kcm9pZF0gUmVtb3ZlIGhhcmQtY29kZWQgc2tpcHBlZCBkaXJlY3RvcmllcyBpbiBj
aHJvbWl1bV9hbmRyb2lkLnB5CmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9tYWMvQnJv
d3NlcldpbmRvd0NvbnRyb2xsZXIubSBiL1Rvb2xzL01pbmlCcm93c2VyL21hYy9Ccm93c2VyV2lu
ZG93Q29udHJvbGxlci5tCmluZGV4IGU2YjZmNTQuLmQ5Y2IyODYgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L01pbmlCcm93c2VyL21hYy9Ccm93c2VyV2luZG93Q29udHJvbGxlci5tCisrKyBiL1Rvb2xzL01p
bmlCcm93c2VyL21hYy9Ccm93c2VyV2luZG93Q29udHJvbGxlci5tCkBAIC02OTQsNiArNjk0LDgg
QEAgLSAodm9pZClhd2FrZUZyb21OaWIKICAgICAgICAgbW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQs
CiAgICAgICAgIDAsIC8vIGRlY2lkZVBvbGljeUZvck5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1
ZXN0CiAgICAgICAgIDAsIC8vIHVuYXZhaWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZAorICAgICAg
ICAwLCAvLyBzaG93Q29sb3JQaWNrZXIKKyAgICAgICAgMCwgLy8gaGlkZUNvbG9yUGlja2VyCiAg
ICAgfTsKICAgICBXS1BhZ2VTZXRQYWdlVUlDbGllbnQoX3dlYlZpZXcucGFnZVJlZiwgJnVpQ2xp
ZW50KTsKIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9Ccm93c2VyVmlldy5j
cHAgYi9Ub29scy9NaW5pQnJvd3Nlci93aW4vQnJvd3NlclZpZXcuY3BwCmluZGV4IDAzYTQ2Y2Iu
LjBhNjg1OGUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9Ccm93c2VyVmlldy5j
cHAKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIvd2luL0Jyb3dzZXJWaWV3LmNwcApAQCAtMTMwLDYg
KzEzMCwxMCBAQCB2b2lkIEJyb3dzZXJWaWV3OjpjcmVhdGUoUkVDVCB3ZWJWaWV3UmVjdCwgQnJv
d3NlcldpbmRvdyogcGFyZW50V2luZG93KQogICAgICAgICAwLCAgICAgICAgICAvKiBzaG91bGRJ
bnRlcnJ1cHRKYXZhU2NyaXB0ICovCiAgICAgICAgIGNyZWF0ZU5ld1BhZ2UsCiAgICAgICAgIG1v
dXNlRGlkTW92ZU92ZXJFbGVtZW50LAorICAgICAgICAwLCAgICAgICAgICAvKiBkZWNpZGVQb2xp
Y3lGb3JOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdCAqLworICAgICAgICAwLCAgICAgICAg
ICAvKiB1bmF2YWlsYWJsZVBsdWdpbkJ1dHRvbkNsaWNrZWQgKi8KKyAgICAgICAgMCwgICAgICAg
ICAgLyogc2hvd0NvbG9yUGlja2VyICovCisgICAgICAgIDAsICAgICAgICAgIC8qIGhpZGVDb2xv
clBpY2tlciAqLwogICAgIH07CiAKICAgICBXS1BhZ2VTZXRQYWdlVUlDbGllbnQoV0tWaWV3R2V0
UGFnZShtX3dlYlZpZXcpLCAmdWlDbGllbnQpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RD
b250cm9sbGVyLmNwcAppbmRleCBjNTQ5ZTg4Li5lNWRkZjE2IDEwMDY0NAotLS0gYS9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcApAQCAtMjIzLDYgKzIyMyw4IEBAIFdLUGFnZVJlZiBU
ZXN0Q29udHJvbGxlcjo6Y3JlYXRlT3RoZXJQYWdlKFdLUGFnZVJlZiBvbGRQYWdlLCBXS1VSTFJl
cXVlc3RSZWYsIFdLCiAgICAgICAgIDAsIC8vIG1vdXNlRGlkTW92ZU92ZXJFbGVtZW50CiAgICAg
ICAgIDAsIC8vIGRlY2lkZVBvbGljeUZvck5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0CiAg
ICAgICAgIDAsIC8vIHVuYXZhaWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZAorICAgICAgICAwLCAv
LyBzaG93Q29sb3JQaWNrZXIKKyAgICAgICAgMCwgLy8gaGlkZUNvbG9yUGlja2VyCiAgICAgfTsK
ICAgICBXS1BhZ2VTZXRQYWdlVUlDbGllbnQobmV3UGFnZSwgJm90aGVyUGFnZVVJQ2xpZW50KTsK
IApAQCAtMzkxLDYgKzM5Myw4IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OmluaXRpYWxpemUoaW50
IGFyZ2MsIGNvbnN0IGNoYXIqIGFyZ3ZbXSkKICAgICAgICAgMCwgLy8gbW91c2VEaWRNb3ZlT3Zl
ckVsZW1lbnQKICAgICAgICAgZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0aW9uUGVybWlzc2lvblJl
cXVlc3QsIC8vIGRlY2lkZVBvbGljeUZvck5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0CiAg
ICAgICAgIDAsIC8vIHVuYXZhaWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZAorICAgICAgICAwLCAv
LyBzaG93Q29sb3JQaWNrZXIKKyAgICAgICAgMCwgLy8gaGlkZUNvbG9yUGlja2VyCiAgICAgfTsK
ICAgICBXS1BhZ2VTZXRQYWdlVUlDbGllbnQobV9tYWluV2ViVmlldy0+cGFnZSgpLCAmcGFnZVVJ
Q2xpZW50KTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>162751</attachid>
            <date>2012-09-07 05:49:52 -0700</date>
            <delta_ts>2012-09-13 19:52:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>diff</filename>
            <type>text/plain</type>
            <size>43963</size>
            <attacher name="KwangYong Choi">ky0.choi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYktp
dDIvQ01ha2VMaXN0cy50eHQKaW5kZXggZjJiYTc0Ny4uOTMzNmExYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0
cy50eHQKQEAgLTIzNSw2ICsyMzUsOCBAQCBTRVQoV2ViS2l0Ml9TT1VSQ0VTCiAgICAgVUlQcm9j
ZXNzL1dlYkJhY2tGb3J3YXJkTGlzdC5jcHAKICAgICBVSVByb2Nlc3MvV2ViQmF0dGVyeU1hbmFn
ZXJQcm94eS5jcHAKICAgICBVSVByb2Nlc3MvV2ViQmF0dGVyeVByb3ZpZGVyLmNwcAorICAgIFVJ
UHJvY2Vzcy9XZWJDb2xvckNob29zZXJQcm94eS5jcHAKKyAgICBVSVByb2Nlc3MvV2ViQ29sb3JQ
aWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5LmNwcAogICAgIFVJUHJvY2Vzcy9XZWJDb25uZWN0aW9u
VG9XZWJQcm9jZXNzLmNwcAogICAgIFVJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcAogICAgIFVJUHJv
Y2Vzcy9XZWJDb250ZXh0Q29ubmVjdGlvbkNsaWVudC5jcHAKQEAgLTI5MCw2ICsyOTIsNyBAQCBT
RVQoV2ViS2l0Ml9TT1VSQ0VTCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLQmFja0ZvcndhcmRMaXN0
SXRlbS5jcHAKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tCYXR0ZXJ5TWFuYWdlci5jcHAKICAgICBV
SVByb2Nlc3MvQVBJL0MvV0tCYXR0ZXJ5U3RhdHVzLmNwcAorICAgIFVJUHJvY2Vzcy9BUEkvQy9X
S0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIuY3BwCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLQ29u
dGV4dC5jcHAKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tDb29raWVNYW5hZ2VyLmNwcAogICAgIFVJ
UHJvY2Vzcy9BUEkvQy9XS0NyZWRlbnRpYWwuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYWM3YTUyZS4uNTU0
MjNlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY4IEBACisyMDEyLTA5LTA3ICBLd2FuZ1lvbmcg
Q2hvaSAgPGt5MC5jaG9pQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtXSzJdIEFkZCBjb2xvciBw
aWNrZXIgQVBJIHN1cHBvcnQgZm9yIFdlYktpdDIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTk1MDU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGNvbG9yIHBpY2tlciBBUEkgdG8g
V2ViS2l0Mi4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEdOVW1ha2Vm
aWxlLmxpc3QuYW06CisgICAgICAgICogU2hhcmVkL0FQSS9jL1dLQmFzZS5oOgorICAgICAgICAq
IFNoYXJlZC9BUElDbGllbnRUcmFpdHMuY3BwOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAg
KiBTaGFyZWQvQVBJQ2xpZW50VHJhaXRzLmg6CisgICAgICAgICogU2hhcmVkL0FQSU9iamVjdC5o
OgorICAgICAgICAqIFRhcmdldC5wcmk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLQVBJ
Q2FzdC5oOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tD
b2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmNwcDogQWRkZWQuCisgICAgICAgIChXS0NvbG9yUGlj
a2VyUmVzdWx0TGlzdGVuZXJHZXRUeXBlSUQpOgorICAgICAgICAoV0tDb2xvclBpY2tlclJlc3Vs
dExpc3RlbmVyQ29sb3JTZXQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS0NvbG9yUGlj
a2VyUmVzdWx0TGlzdGVuZXIuaDogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dL
UGFnZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVJQ2xpZW50LmNwcDoK
KyAgICAgICAgKGF0dGFjaFVJQ2xpZW50VG9WaWV3KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
Q29sb3JDaG9vc2VyUHJveHkuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAg
IChXZWJLaXQ6OldlYkNvbG9yQ2hvb3NlclByb3h5OjpXZWJDb2xvckNob29zZXJQcm94eSk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkNvbG9yQ2hvb3NlclByb3h5Ojp+V2ViQ29sb3JDaG9vc2VyUHJv
eHkpOgorICAgICAgICAoV2ViS2l0OjpXZWJDb2xvckNob29zZXJQcm94eTo6ZW5kQ2hvb3Nlcik6
CisgICAgICAgIChXZWJLaXQ6OldlYkNvbG9yQ2hvb3NlclByb3h5OjpzZXRTZWxlY3RlZENvbG9y
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQ29sb3JDaG9vc2VyUHJveHkuaDoKKyAgICAgICAg
KFdlYkNvbG9yQ2hvb3NlclByb3h5KToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29sb3JDaG9vc2Vy
UHJveHk6OmNyZWF0ZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvbG9yUGlja2VyUmVzdWx0
TGlzdGVuZXJQcm94eS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdl
YktpdDo6V2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5OjpXZWJDb2xvclBpY2tlclJl
c3VsdExpc3RlbmVyUHJveHkpOgorICAgICAgICAoV2ViS2l0OjpXZWJDb2xvclBpY2tlclJlc3Vs
dExpc3RlbmVyUHJveHk6On5XZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHk6OmludmFsaWRh
dGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHk6
OnNldENvbG9yKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0
ZW5lclByb3h5Lmg6IEFkZGVkLgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYkNvbG9y
UGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eSk6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbG9yUGlj
a2VyUmVzdWx0TGlzdGVuZXJQcm94eTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29s
b3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5Ojp0eXBlKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpjbG9zZSk6
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6c2hvd0NvbG9yQ2hvb3Nlcik6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkRW5kQ29sb3JDaG9vc2VyKToKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZVByb3h5Ojpwcm9jZXNzRGlkQ3Jhc2gpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJQYWdl
UHJveHkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJVSUNsaWVudC5jcHA6CisgICAgICAgIChX
ZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJVSUNsaWVudDo6c2hvd0NvbG9yUGlja2VyKToK
KyAgICAgICAgKFdlYktpdDo6V2ViVUlDbGllbnQ6OmhpZGVDb2xvclBpY2tlcik6CisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlVJQ2xpZW50Lmg6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAo
V2ViVUlDbGllbnQpOgorICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiB3aW4vV2ViS2l0Mi52Y3Byb2o6CisgICAgICAgICogd2luL1dlYktpdDJH
ZW5lcmF0ZWQubWFrZToKKwogMjAxMi0wOS0wNyAgTWlraGFpbCBQb3pkbnlha292ICA8bWlraGFp
bC5wb3pkbnlha292QGludGVsLmNvbT4KIAogICAgICAgICBbV0syXSBBUElDbGllbnRUcmFpdHM8
V0tQYWdlTG9hZGVyQ2xpZW50PiBhbmQgQVBJQ2xpZW50VHJhaXRzPFdLQnVuZGxlUGFnZUxvYWRl
ckNsaWVudD4gYXJlIG5vdCBpbml0aWFsaXplZCBwcm9wZXJseQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KaW5kZXggZWQxNWQwMy4uZjEwMjQ5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5s
aXN0LmFtCkBAIC00OSw2ICs0OSw3IEBAIHdlYmtpdDJfaF9hcGkgKz0gXAogCSQoV2ViS2l0Mikv
VUlQcm9jZXNzL0FQSS9DL1dLQmFja0ZvcndhcmRMaXN0SXRlbS5oIFwKIAkkKFdlYktpdDIpL1VJ
UHJvY2Vzcy9BUEkvQy9XS0JhdHRlcnlNYW5hZ2VyLmggXAogCSQoV2ViS2l0MikvVUlQcm9jZXNz
L0FQSS9DL1dLQmF0dGVyeVN0YXR1cy5oIFwKKwkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvQy9X
S0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIuaCBcCiAJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJ
L0MvV0tDb250ZXh0LmggXAogCSQoV2ViS2l0MikvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dFBy
aXZhdGUuaCBcCiAJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tDb29raWVNYW5hZ2VyLmgg
XApAQCAtNTMwLDYgKzUzMSw4IEBAIHdlYmtpdDJfc291cmNlcyArPSBcCiAJU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL1dLQmF0dGVyeU1hbmFnZXIuaCBcCiAJU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLQmF0dGVyeVN0YXR1cy5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9XS0JhdHRlcnlTdGF0dXMuaCBcCisJU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL1dLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lci5jcHAgXAorCVNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIuaCBcCiAJU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5jcHAgXAogCVNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuaCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL1dLQ29udGV4dFByaXZhdGUuaCBcCkBAIC04MTQsNyArODE3LDEwIEBAIHdlYmtp
dDJfc291cmNlcyArPSBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkJhdHRlcnlNYW5h
Z2VyUHJveHkuaCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkJhdHRlcnlQcm92aWRl
ci5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJCYXR0ZXJ5UHJvdmlkZXIuaCBc
CisJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbG9yQ2hvb3NlclByb3h5LmNwcCBcCiAJ
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbG9yQ2hvb3NlclByb3h5LmggXAorCVNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkuY3Bw
IFwKKwlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5l
clByb3h5LmggXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzLmNwcCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MuaCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwIFwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0Jhc2UuaCBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0Jhc2UuaAppbmRleCAwNmFhMjg2Li5lNGQwNjY1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tCYXNlLmgKKysrIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLQmFzZS5oCkBAIC0xMjQsNiArMTI0LDcgQEAgdHlw
ZWRlZiBjb25zdCBzdHJ1Y3QgT3BhcXVlV0tQcmVmZXJlbmNlcyogV0tQcmVmZXJlbmNlc1JlZjsK
IHR5cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLUHJvdGVjdGlvblNwYWNlKiBXS1Byb3RlY3Rp
b25TcGFjZVJlZjsKIHR5cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLVGV4dENoZWNrZXIqIFdL
VGV4dENoZWNrZXJSZWY7CiB0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVXS1ZpYnJhdGlvbiog
V0tWaWJyYXRpb25SZWY7Cit0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVXS0NvbG9yUGlja2Vy
UmVzdWx0TGlzdGVuZXIqIFdLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclJlZjsKIAogLyogV2Vi
S2l0MiBCdW5kbGUgdHlwZXMgKi8KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L0FQSUNsaWVudFRyYWl0cy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJQ2xpZW50VHJh
aXRzLmNwcAppbmRleCBhZTEwYTVmLi4zOGJiYWNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQVBJQ2xpZW50VHJhaXRzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
QVBJQ2xpZW50VHJhaXRzLmNwcApAQCAtNjcsNiArNjcsNyBAQCBjb25zdCBzaXplX3QgQVBJQ2xp
ZW50VHJhaXRzPFdLUGFnZUxvYWRlckNsaWVudD46OmludGVyZmFjZVNpemVzQnlWZXJzaW9uW10g
PSB7CiAKIGNvbnN0IHNpemVfdCBBUElDbGllbnRUcmFpdHM8V0tQYWdlVUlDbGllbnQ+OjppbnRl
cmZhY2VTaXplc0J5VmVyc2lvbltdID0gewogICAgIG9mZnNldG9mKFdLUGFnZVVJQ2xpZW50LCBj
cmVhdGVOZXdQYWdlKSwKKyAgICBvZmZzZXRvZihXS1BhZ2VVSUNsaWVudCwgc2hvd0NvbG9yUGlj
a2VyKSwKICAgICBzaXplb2YoV0tQYWdlVUlDbGllbnQpCiB9OwogICAgIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL0FQSUNsaWVudFRyYWl0cy5oIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL0FQSUNsaWVudFRyYWl0cy5oCmluZGV4IDczNTJiNTYuLjM4OTYyMGMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElDbGllbnRUcmFpdHMuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvQVBJQ2xpZW50VHJhaXRzLmgKQEAgLTYzLDcgKzYzLDcgQEAgdGVtcGxh
dGU8PiBzdHJ1Y3QgQVBJQ2xpZW50VHJhaXRzPFdLUGFnZUxvYWRlckNsaWVudD4gewogfTsKIAog
dGVtcGxhdGU8PiBzdHJ1Y3QgQVBJQ2xpZW50VHJhaXRzPFdLUGFnZVVJQ2xpZW50PiB7Ci0gICAg
c3RhdGljIGNvbnN0IHNpemVfdCBpbnRlcmZhY2VTaXplc0J5VmVyc2lvblsyXTsKKyAgICBzdGF0
aWMgY29uc3Qgc2l6ZV90IGludGVyZmFjZVNpemVzQnlWZXJzaW9uWzNdOwogfTsKIAogdGVtcGxh
dGU8PiBzdHJ1Y3QgQVBJQ2xpZW50VHJhaXRzPFdLQnVuZGxlUGFnZUZvcm1DbGllbnQ+IHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElPYmplY3QuaCBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9BUElPYmplY3QuaAppbmRleCA3MDhlZmZlLi4zNDE4MWVjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL0FQSU9iamVjdC5oCkBAIC03NSw2ICs3NSw3IEBAIHB1YmxpYzoKICAgICAgICAgVHlw
ZUJhdHRlcnlNYW5hZ2VyLAogICAgICAgICBUeXBlQmF0dGVyeVN0YXR1cywKICAgICAgICAgVHlw
ZUNhY2hlTWFuYWdlciwKKyAgICAgICAgVHlwZUNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIsCiAg
ICAgICAgIFR5cGVDb250ZXh0LAogICAgICAgICBUeXBlQ29va2llTWFuYWdlciwKICAgICAgICAg
VHlwZURhdGFiYXNlTWFuYWdlciwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1RhcmdldC5w
cmkgYi9Tb3VyY2UvV2ViS2l0Mi9UYXJnZXQucHJpCmluZGV4IDczOTQxMzAuLjQ3MjM3OTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYktpdDIv
VGFyZ2V0LnByaQpAQCAtMTUwLDYgKzE1MCw3IEBAIEhFQURFUlMgKz0gXAogICAgIFVJUHJvY2Vz
cy9BUEkvQy9XS0JhY2tGb3J3YXJkTGlzdEl0ZW0uaCBcCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dL
QmF0dGVyeU1hbmFnZXIuaCBcCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLQmF0dGVyeVN0YXR1cy5o
IFwKKyAgICBVSVByb2Nlc3MvQVBJL0MvV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmggXAog
ICAgIFVJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuaCBcCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dL
Q29udGV4dFByaXZhdGUuaCBcCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLQ3JlZGVudGlhbC5oIFwK
QEAgLTIyNyw2ICsyMjgsNyBAQCBIRUFERVJTICs9IFwKICAgICBVSVByb2Nlc3MvV2ViQmF0dGVy
eU1hbmFnZXJQcm94eS5oIFwKICAgICBVSVByb2Nlc3MvV2ViQmF0dGVyeVByb3ZpZGVyLmggXAog
ICAgIFVJUHJvY2Vzcy9XZWJDb2xvckNob29zZXJQcm94eS5oIFwKKyAgICBVSVByb2Nlc3MvV2Vi
Q29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5LmggXAogICAgIFVJUHJvY2Vzcy9XZWJDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzLmggXAogICAgIFVJUHJvY2Vzcy9XZWJDb250ZXh0LmggXAogICAg
IFVJUHJvY2Vzcy9XZWJDb250ZXh0Q29ubmVjdGlvbkNsaWVudC5oIFwKQEAgLTUwMSw2ICs1MDMs
NyBAQCBTT1VSQ0VTICs9IFwKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tCYWNrRm9yd2FyZExpc3RJ
dGVtLmNwcCBcCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLQmF0dGVyeU1hbmFnZXIuY3BwIFwKICAg
ICBVSVByb2Nlc3MvQVBJL0MvV0tCYXR0ZXJ5U3RhdHVzLmNwcCBcCisgICAgVUlQcm9jZXNzL0FQ
SS9DL1dLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lci5jcHAgXAogICAgIFVJUHJvY2Vzcy9BUEkv
Qy9XS0NvbnRleHQuY3BwIFwKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tDcmVkZW50aWFsLmNwcCBc
CiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLRGF0YWJhc2VNYW5hZ2VyLmNwcCBcCkBAIC01NjgsNiAr
NTcxLDggQEAgU09VUkNFUyArPSBcCiAgICAgVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkTGlzdC5j
cHAgXAogICAgIFVJUHJvY2Vzcy9XZWJCYXR0ZXJ5TWFuYWdlclByb3h5LmNwcCBcCiAgICAgVUlQ
cm9jZXNzL1dlYkJhdHRlcnlQcm92aWRlci5jcHAgXAorICAgIFVJUHJvY2Vzcy9XZWJDb2xvckNo
b29zZXJQcm94eS5jcHAgXAorICAgIFVJUHJvY2Vzcy9XZWJDb2xvclBpY2tlclJlc3VsdExpc3Rl
bmVyUHJveHkuY3BwIFwKICAgICBVSVByb2Nlc3MvV2ViQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5j
cHAgXAogICAgIFVJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcCBcCiAgICAgVUlQcm9jZXNzL1dlYkNv
bnRleHRDb25uZWN0aW9uQ2xpZW50LmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvV0tBUElDYXN0LmgKaW5kZXggYzExZjc0MC4uN2U0NmFjMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaApAQCAtNjAsNiArNjAsNyBAQCBjbGFzcyBXZWJC
YWNrRm9yd2FyZExpc3RJdGVtOwogY2xhc3MgV2ViQmF0dGVyeU1hbmFnZXJQcm94eTsKIGNsYXNz
IFdlYkJhdHRlcnlTdGF0dXM7CiBjbGFzcyBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5Owor
Y2xhc3MgV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5OwogY2xhc3MgV2ViQ29udGV4
dDsKIGNsYXNzIFdlYkNvb2tpZU1hbmFnZXJQcm94eTsKIGNsYXNzIFdlYkNyZWRlbnRpYWw7CkBA
IC0xMDMsNiArMTA0LDcgQEAgV0tfQUREX0FQSV9NQVBQSU5HKFdLQmFja0ZvcndhcmRMaXN0UmVm
LCBXZWJCYWNrRm9yd2FyZExpc3QpCiBXS19BRERfQVBJX01BUFBJTkcoV0tCYXR0ZXJ5TWFuYWdl
clJlZiwgV2ViQmF0dGVyeU1hbmFnZXJQcm94eSkKIFdLX0FERF9BUElfTUFQUElORyhXS0JhdHRl
cnlTdGF0dXNSZWYsIFdlYkJhdHRlcnlTdGF0dXMpCiBXS19BRERfQVBJX01BUFBJTkcoV0tSZXNv
dXJjZUNhY2hlTWFuYWdlclJlZiwgV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eSkKK1dLX0FE
RF9BUElfTUFQUElORyhXS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJSZWYsIFdlYkNvbG9yUGlj
a2VyUmVzdWx0TGlzdGVuZXJQcm94eSkKIFdLX0FERF9BUElfTUFQUElORyhXS0NvbnRleHRSZWYs
IFdlYkNvbnRleHQpCiBXS19BRERfQVBJX01BUFBJTkcoV0tDb29raWVNYW5hZ2VyUmVmLCBXZWJD
b29raWVNYW5hZ2VyUHJveHkpCiBXS19BRERfQVBJX01BUFBJTkcoV0tDcmVkZW50aWFsUmVmLCBX
ZWJDcmVkZW50aWFsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L1dLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi5kZTU1MzlkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lci5jcHAKQEAg
LTAsMCArMSw0OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0cm9u
aWNzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIldLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lci5oIgorCisjaW5jbHVkZSAiV0tB
UElDYXN0LmgiCisjaW5jbHVkZSAiV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5Lmgi
CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CisKK1dLVHlwZUlEIFdLQ29sb3JQaWNrZXJSZXN1
bHRMaXN0ZW5lckdldFR5cGVJRCgpCit7CisjaWYgRU5BQkxFKElOUFVUX1RZUEVfQ09MT1IpCisg
ICAgcmV0dXJuIHRvQVBJKFdlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eTo6QVBJVHlw
ZSk7CisjZWxzZQorICAgIHJldHVybiAwOworI2VuZGlmCit9CisKK3ZvaWQgV0tDb2xvclBpY2tl
clJlc3VsdExpc3RlbmVyU2V0Q29sb3IoV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUmVmIGxp
c3RlbmVyUmVmLCBjb25zdCBXS1N0cmluZ1JlZiBjb2xvcikKK3sKKyNpZiBFTkFCTEUoSU5QVVRf
VFlQRV9DT0xPUikKKyAgICB0b0ltcGwobGlzdGVuZXJSZWYpLT5zZXRDb2xvcih0b1dURlN0cmlu
Zyhjb2xvcikpOworI2VuZGlmCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmZkNDczMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIuaApA
QCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIFNhbXN1bmcgRWxlY3Ry
b25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdLQ29sb3JQaWNr
ZXJSZXN1bHRMaXN0ZW5lcl9oCisjZGVmaW5lIFdLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lcl9o
CisKKyNpbmNsdWRlIDxXZWJLaXQyL1dLQmFzZS5oPgorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4
dGVybiAiQyIgeworI2VuZGlmCisKK1dLX0VYUE9SVCBXS1R5cGVJRCBXS0NvbG9yUGlja2VyUmVz
dWx0TGlzdGVuZXJHZXRUeXBlSUQoKTsKKworV0tfRVhQT1JUIHZvaWQgV0tDb2xvclBpY2tlclJl
c3VsdExpc3RlbmVyU2V0Q29sb3IoV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUmVmIGxpc3Rl
bmVyUmVmLCBjb25zdCBXS1N0cmluZ1JlZiBjb2xvcik7CisKKyNpZmRlZiBfX2NwbHVzcGx1cwor
fQorI2VuZGlmCisKKyNlbmRpZiAvKiBXS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJfaCAqLwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5oCmluZGV4IGY3OTQ2MDguLmI1NGMy
ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmgKQEAgLTIyNSw2ICsy
MjUsOCBAQCB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VTYXZlRGF0YVRvRmlsZUluRG93bmxvYWRzRm9s
ZGVyQ2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBXSwogdHlwZWRlZiBib29sICgqV0tQYWdlU2hv
dWxkSW50ZXJydXB0SmF2YVNjcmlwdENhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgY29uc3Qgdm9p
ZCAqY2xpZW50SW5mbyk7CiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VEZWNpZGVQb2xpY3lGb3JOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdENhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tTZWN1
cml0eU9yaWdpblJlZiBvcmlnaW4sIFdLTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RSZWYg
cGVybWlzc2lvblJlcXVlc3QsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwogdHlwZWRlZiB2b2lk
ICgqV0tQYWdlVW5hdmFpbGFibGVQbHVnaW5CdXR0b25DbGlja2VkQ2FsbGJhY2spKFdLUGFnZVJl
ZiBwYWdlLCBXS1BsdWdpblVuYXZhaWxhYmlsaXR5UmVhc29uIHBsdWdpblVuYXZhaWxhYmlsaXR5
UmVhc29uLCBXS1N0cmluZ1JlZiBtaW1lVHlwZSwgV0tTdHJpbmdSZWYgdXJsLCBXS1N0cmluZ1Jl
ZiBwbHVnaW5zUGFnZVVSTCwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQg
KCpXS1BhZ2VTaG93Q29sb3JQaWNrZXJDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLU3RyaW5n
UmVmIGluaXRpYWxDb2xvciwgV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUmVmIGxpc3RlbmVy
LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKK3R5cGVkZWYgdm9pZCAoKldLUGFnZUhpZGVDb2xv
clBpY2tlckNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7
CiAKIC8vIERlcHJlY2F0ZWQgICAgCiB0eXBlZGVmIFdLUGFnZVJlZiAoKldLUGFnZUNyZWF0ZU5l
d1BhZ2VDYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFYwKShXS1BhZ2VSZWYgcGFnZSwgV0tE
aWN0aW9uYXJ5UmVmIGZlYXR1cmVzLCBXS0V2ZW50TW9kaWZpZXJzIG1vZGlmaWVycywgV0tFdmVu
dE1vdXNlQnV0dG9uIG1vdXNlQnV0dG9uLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKQEAgLTI4
MSwxMCArMjgzLDE0IEBAIHN0cnVjdCBXS1BhZ2VVSUNsaWVudCB7CiAgICAgV0tQYWdlTW91c2VE
aWRNb3ZlT3ZlckVsZW1lbnRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBt
b3VzZURpZE1vdmVPdmVyRWxlbWVudDsKICAgICBXS1BhZ2VEZWNpZGVQb2xpY3lGb3JOb3RpZmlj
YXRpb25QZXJtaXNzaW9uUmVxdWVzdENhbGxiYWNrICAgICAgICAgIGRlY2lkZVBvbGljeUZvck5v
dGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0OwogICAgIFdLUGFnZVVuYXZhaWxhYmxlUGx1Z2lu
QnV0dG9uQ2xpY2tlZENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgdW5hdmFpbGFibGVQ
bHVnaW5CdXR0b25DbGlja2VkOworCisgICAgLy8gVmVyc2lvbiAyCisgICAgV0tQYWdlU2hvd0Nv
bG9yUGlja2VyQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
aG93Q29sb3JQaWNrZXI7CisgICAgV0tQYWdlSGlkZUNvbG9yUGlja2VyQ2FsbGJhY2sgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaWRlQ29sb3JQaWNrZXI7CiB9OwogdHlw
ZWRlZiBzdHJ1Y3QgV0tQYWdlVUlDbGllbnQgV0tQYWdlVUlDbGllbnQ7CiAKLWVudW0geyBrV0tQ
YWdlVUlDbGllbnRDdXJyZW50VmVyc2lvbiA9IDEgfTsKK2VudW0geyBrV0tQYWdlVUlDbGllbnRD
dXJyZW50VmVyc2lvbiA9IDIgfTsKIAogLy8gRmluZCBjbGllbnQuCiB0eXBlZGVmIHZvaWQgKCpX
S1BhZ2VEaWRGaW5kU3RyaW5nQ2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBXS1N0cmluZ1JlZiBz
dHJpbmcsIHVuc2lnbmVkIG1hdGNoQ291bnQsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VUlDbGllbnQu
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VUlDbGllbnQuY3Bw
CmluZGV4IDFkOTg1ZDMuLjU5ZDBiMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdFVJQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRVSUNsaWVudC5jcHAKQEAgLTIwNCw2ICsyMDQsOCBAQCB2b2lk
IGF0dGFjaFVJQ2xpZW50VG9WaWV3KFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCiAgICAgICAgIG1v
dXNlRGlkTW92ZU92ZXJFbGVtZW50LAogICAgICAgICAwLCAvLyBkZWNpZGVQb2xpY3lGb3JOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdAogICAgICAgICAwLCAvLyB1bmF2YWlsYWJsZVBsdWdp
bkJ1dHRvbkNsaWNrZWQKKyAgICAgICAgMCwgLy8gc2hvd0NvbG9yUGlja2VyCisgICAgICAgIDAs
IC8vIGhpZGVDb2xvclBpY2tlcgogICAgIH07CiAgICAgV0tQYWdlUmVmIHdrUGFnZSA9IHRvQVBJ
KHdlYmtpdFdlYlZpZXdCYXNlR2V0UGFnZShXRUJLSVRfV0VCX1ZJRVdfQkFTRSh3ZWJWaWV3KSkp
OwogICAgIFdLUGFnZVNldFBhZ2VVSUNsaWVudCh3a1BhZ2UsICZ3a1VJQ2xpZW50KTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb2xvckNob29zZXJQcm94eS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29sb3JDaG9vc2VyUHJveHkuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1NTQwNDcKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29sb3JDaG9vc2VyUHJveHkuY3BwCkBAIC0w
LDAgKzEsNjAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmlj
cy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNp
bmNsdWRlICJXZWJDb2xvckNob29zZXJQcm94eS5oIgorCisjaWYgRU5BQkxFKElOUFVUX1RZUEVf
Q09MT1IpCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitXZWJDb2xvckNob29zZXJQcm94eTo6V2Vi
Q29sb3JDaG9vc2VyUHJveHkoQ2xpZW50KiBjbGllbnQpCisgICAgOiBtX2NsaWVudChjbGllbnQp
Cit7Cit9CisKK1dlYkNvbG9yQ2hvb3NlclByb3h5Ojp+V2ViQ29sb3JDaG9vc2VyUHJveHkoKQor
eworfQorCit2b2lkIFdlYkNvbG9yQ2hvb3NlclByb3h5OjplbmRDaG9vc2VyKCkKK3sKKyAgICBp
ZiAoIW1fY2xpZW50KQorICAgICAgICByZXR1cm47CisKKyAgICBtX2NsaWVudC0+ZGlkRW5kQ29s
b3JDaG9vc2VyKCk7Cit9CisKK3ZvaWQgV2ViQ29sb3JDaG9vc2VyUHJveHk6OnNldFNlbGVjdGVk
Q29sb3IoY29uc3QgV2ViQ29yZTo6Q29sb3ImIGNvbG9yKQoreworICAgIGlmICghbV9jbGllbnQp
CisgICAgICAgIHJldHVybjsKKworICAgIG1fY2xpZW50LT5kaWRDaG9vc2VDb2xvcihjb2xvcik7
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKElOUFVUX1RZ
UEVfQ09MT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29sb3JD
aG9vc2VyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb2xvckNob29zZXJQ
cm94eS5oCmluZGV4IDc5MDZjMTAuLjVkYTRjYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJDb2xvckNob29zZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJDb2xvckNob29zZXJQcm94eS5oCkBAIC00OSwxOCArNDksMjEgQEAgcHVibGlj
OgogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hvb3NlQ29sb3IoY29uc3QgV2ViQ29yZTo6Q29s
b3ImKSA9IDA7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRFbmRDb2xvckNob29zZXIoKSA9IDA7
CiAgICAgfTsKLSAgICB2aXJ0dWFsIH5XZWJDb2xvckNob29zZXJQcm94eSgpIHsgfQorCisgICAg
c3RhdGljIFBhc3NSZWZQdHI8V2ViQ29sb3JDaG9vc2VyUHJveHk+IGNyZWF0ZShDbGllbnQqIGNs
aWVudCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgV2ViQ29sb3JDaG9vc2Vy
UHJveHkoY2xpZW50KSk7CisgICAgfQorCisgICAgdmlydHVhbCB+V2ViQ29sb3JDaG9vc2VyUHJv
eHkoKTsKIAogICAgIHZvaWQgaW52YWxpZGF0ZSgpIHsgbV9jbGllbnQgPSAwOyB9CiAKLSAgICB2
aXJ0dWFsIHZvaWQgZW5kQ2hvb3NlcigpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0U2VsZWN0
ZWRDb2xvcihjb25zdCBXZWJDb3JlOjpDb2xvciYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZW5k
Q2hvb3NlcigpOworICAgIHZpcnR1YWwgdm9pZCBzZXRTZWxlY3RlZENvbG9yKGNvbnN0IFdlYkNv
cmU6OkNvbG9yJik7CiAKIHByb3RlY3RlZDoKLSAgICBXZWJDb2xvckNob29zZXJQcm94eShDbGll
bnQqIGNsaWVudCkKLSAgICAgICAgOiBtX2NsaWVudChjbGllbnQpCi0gICAgewotICAgIH0KKyAg
ICBleHBsaWNpdCBXZWJDb2xvckNob29zZXJQcm94eShDbGllbnQqKTsKIAogICAgIENsaWVudCog
bV9jbGllbnQ7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNv
bG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5LmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi4wZWU3OWRkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eS5jcHAKQEAg
LTAsMCArMSw2MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0cm9u
aWNzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIldlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eS5oIgorCisjaWYgRU5B
QkxFKElOUFVUX1RZUEVfQ09MT1IpCisKKyNpbmNsdWRlICJXZWJQYWdlUHJveHkuaCIKKworbmFt
ZXNwYWNlIFdlYktpdCB7CisKK1dlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eTo6V2Vi
Q29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5KFdlYlBhZ2VQcm94eSogcGFnZSkKKyAgICA6
IG1fcGFnZShwYWdlKQoreworfQorCitXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHk6
On5XZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkoKQoreworfQorCit2b2lkIFdlYkNv
bG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eTo6aW52YWxpZGF0ZSgpCit7CisgICAgbV9wYWdl
ID0gMDsKK30KKwordm9pZCBXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHk6OnNldENv
bG9yKGNvbnN0IFN0cmluZyYgY29sb3IpCit7CisgICAgaWYgKCFtX3BhZ2UpCisgICAgICAgIHJl
dHVybjsKKworICAgIG1fcGFnZS0+c2V0Q29sb3JDaG9vc2VyQ29sb3IoV2ViQ29yZTo6Q29sb3Io
Y29sb3IpKTsKKyAgICBtX3BhZ2UtPmVuZENvbG9yQ2hvb3NlcigpOworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShJTlBVVF9UWVBFX0NPTE9SKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVu
ZXJQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbG9yUGlja2VyUmVzdWx0
TGlzdGVuZXJQcm94eS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQyOGVi
OGEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29sb3JQ
aWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5LmgKQEAgLTAsMCArMSw2NiBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2lmbmRlZiBXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHlfaAorI2Rl
ZmluZSBXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHlfaAorCisjaWYgRU5BQkxFKElO
UFVUX1RZUEVfQ09MT1IpCisKKyNpbmNsdWRlICJBUElPYmplY3QuaCIKKyNpbmNsdWRlIDx3dGYv
UGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvdGV4
dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYlBhZ2VQcm94
eTsKKworY2xhc3MgV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5IDogcHVibGljIEFQ
SU9iamVjdCB7CitwdWJsaWM6CisgICAgc3RhdGljIGNvbnN0IFR5cGUgQVBJVHlwZSA9IFR5cGVD
b2xvclBpY2tlclJlc3VsdExpc3RlbmVyOworCisgICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViQ29s
b3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5PiBjcmVhdGUoV2ViUGFnZVByb3h5KiBwYWdlKQor
ICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJDb2xvclBpY2tlclJlc3VsdExp
c3RlbmVyUHJveHkocGFnZSkpOworICAgIH0KKworICAgIHZpcnR1YWwgfldlYkNvbG9yUGlja2Vy
UmVzdWx0TGlzdGVuZXJQcm94eSgpOworCisgICAgdm9pZCBpbnZhbGlkYXRlKCk7CisgICAgdm9p
ZCBzZXRDb2xvcihjb25zdCBTdHJpbmcmKTsKKworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBXZWJD
b2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkoV2ViUGFnZVByb3h5Kik7CisKKyAgICB2aXJ0
dWFsIFR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIEFQSVR5cGU7IH0KKworICAgIFJlZlB0cjxX
ZWJQYWdlUHJveHk+IG1fcGFnZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5k
aWYgLy8gRU5BQkxFKElOUFVUX1RZUEVfQ09MT1IpCisKKyNlbmRpZiAvLyBXZWJDb2xvclBpY2tl
clJlc3VsdExpc3RlbmVyUHJveHlfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcAppbmRleCAzM2VhMjQ1Li42MDAzM2M1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcApAQCAtNTIsNiArNTIsNyBAQAogI2luY2x1ZGUgIldlYkJhY2tG
b3J3YXJkTGlzdC5oIgogI2luY2x1ZGUgIldlYkJhY2tGb3J3YXJkTGlzdEl0ZW0uaCIKICNpbmNs
dWRlICJXZWJDZXJ0aWZpY2F0ZUluZm8uaCIKKyNpbmNsdWRlICJXZWJDb2xvclBpY2tlclJlc3Vs
dExpc3RlbmVyUHJveHkuaCIKICNpbmNsdWRlICJXZWJDb250ZXh0LmgiCiAjaW5jbHVkZSAiV2Vi
Q29udGV4dE1lbnVQcm94eS5oIgogI2luY2x1ZGUgIldlYkNvbnRleHRVc2VyTWVzc2FnZUNvZGVy
cy5oIgpAQCAtNDEyLDYgKzQxMywxMSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6Y2xvc2UoKQogICAg
ICAgICBtX2NvbG9yQ2hvb3Nlci0+aW52YWxpZGF0ZSgpOwogICAgICAgICBtX2NvbG9yQ2hvb3Nl
ciA9IG51bGxwdHI7CiAgICAgfQorCisgICAgaWYgKG1fY29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5l
cikgeworICAgICAgICBtX2NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXItPmludmFsaWRhdGUoKTsK
KyAgICAgICAgbV9jb2xvclBpY2tlclJlc3VsdExpc3RlbmVyID0gbnVsbHB0cjsKKyAgICB9CiAj
ZW5kaWYKIAogI2lmIEVOQUJMRShHRU9MT0NBVElPTikKQEAgLTI3MTEsNyArMjcxNywyMCBAQCB2
b2lkIFdlYlBhZ2VQcm94eTo6c2hvd0NvbG9yQ2hvb3Nlcihjb25zdCBXZWJDb3JlOjpDb2xvciYg
aW5pdGlhbENvbG9yKQogewogICAgIEFTU0VSVCghbV9jb2xvckNob29zZXIpOwogCisgICAgaWYg
KG1fY29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lcikgeworICAgICAgICBtX2NvbG9yUGlja2VyUmVz
dWx0TGlzdGVuZXItPmludmFsaWRhdGUoKTsKKyAgICAgICAgbV9jb2xvclBpY2tlclJlc3VsdExp
c3RlbmVyID0gbnVsbHB0cjsKKyAgICB9CisKKyAgICBtX2NvbG9yUGlja2VyUmVzdWx0TGlzdGVu
ZXIgPSBXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHk6OmNyZWF0ZSh0aGlzKTsKKyAg
ICBtX2NvbG9yQ2hvb3NlciA9IFdlYkNvbG9yQ2hvb3NlclByb3h5OjpjcmVhdGUodGhpcyk7CisK
KyAgICBpZiAobV91aUNsaWVudC5zaG93Q29sb3JQaWNrZXIodGhpcywgaW5pdGlhbENvbG9yLnNl
cmlhbGl6ZWQoKSwgbV9jb2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmdldCgpKSkKKyAgICAgICAg
cmV0dXJuOworCiAgICAgbV9jb2xvckNob29zZXIgPSBtX3BhZ2VDbGllbnQtPmNyZWF0ZUNvbG9y
Q2hvb3NlclByb3h5KHRoaXMsIGluaXRpYWxDb2xvcik7CisgICAgaWYgKCFtX2NvbG9yQ2hvb3Nl
cikKKyAgICAgICAgZGlkRW5kQ29sb3JDaG9vc2VyKCk7CiB9CiAKIHZvaWQgV2ViUGFnZVByb3h5
OjpzZXRDb2xvckNob29zZXJDb2xvcihjb25zdCBXZWJDb3JlOjpDb2xvciYgY29sb3IpCkBAIC0y
NzQxLDEyICsyNzYwLDE3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkaWRFbmRDb2xvckNob29zZXIo
KQogICAgIGlmICghaXNWYWxpZCgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBBU1NFUlQobV9j
b2xvckNob29zZXIpOwotCi0gICAgbV9jb2xvckNob29zZXItPmludmFsaWRhdGUoKTsKLSAgICBt
X2NvbG9yQ2hvb3NlciA9IG51bGxwdHI7CisgICAgaWYgKG1fY29sb3JDaG9vc2VyKSB7CisgICAg
ICAgIG1fY29sb3JDaG9vc2VyLT5pbnZhbGlkYXRlKCk7CisgICAgICAgIG1fY29sb3JDaG9vc2Vy
ID0gbnVsbHB0cjsKKyAgICB9CiAKICAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBh
Z2U6OkRpZEVuZENvbG9yQ2hvb3NlcigpLCBtX3BhZ2VJRCk7CisKKyAgICBtX2NvbG9yUGlja2Vy
UmVzdWx0TGlzdGVuZXItPmludmFsaWRhdGUoKTsKKyAgICBtX2NvbG9yUGlja2VyUmVzdWx0TGlz
dGVuZXIgPSBudWxscHRyOworCisgICAgbV91aUNsaWVudC5oaWRlQ29sb3JQaWNrZXIodGhpcyk7
CiB9CiAjZW5kaWYKIApAQCAtMzUyMSw2ICszNTQ1LDExIEBAIHZvaWQgV2ViUGFnZVByb3h5Ojpw
cm9jZXNzRGlkQ3Jhc2goKQogICAgICAgICBtX2NvbG9yQ2hvb3Nlci0+aW52YWxpZGF0ZSgpOwog
ICAgICAgICBtX2NvbG9yQ2hvb3NlciA9IG51bGxwdHI7CiAgICAgfQorCisgICAgaWYgKG1fY29s
b3JQaWNrZXJSZXN1bHRMaXN0ZW5lcikgeworICAgICAgICBtX2NvbG9yUGlja2VyUmVzdWx0TGlz
dGVuZXItPmludmFsaWRhdGUoKTsKKyAgICAgICAgbV9jb2xvclBpY2tlclJlc3VsdExpc3RlbmVy
ID0gbnVsbHB0cjsKKyAgICB9CiAjZW5kaWYKIAogI2lmIEVOQUJMRShHRU9MT0NBVElPTikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCAyMTBjZmQyLi4wZGMxMjgx
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMTM5LDYgKzEz
OSw3IEBAIGNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwogY2xhc3MgU3RyaW5nUGFpclZl
Y3RvcjsKIGNsYXNzIFdlYkJhY2tGb3J3YXJkTGlzdDsKIGNsYXNzIFdlYkJhY2tGb3J3YXJkTGlz
dEl0ZW07CitjbGFzcyBXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHk7CiBjbGFzcyBX
ZWJDb250ZXh0TWVudVByb3h5OwogY2xhc3MgV2ViRGF0YTsKIGNsYXNzIFdlYkVkaXRDb21tYW5k
UHJveHk7CkBAIC03MTgsNiArNzE5LDExIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcG9zdE1lc3Nh
Z2VUb0luamVjdGVkQnVuZGxlKGNvbnN0IFN0cmluZyYgbWVzc2FnZU5hbWUsIEFQSU9iamVjdCog
bWVzc2FnZUJvZHkpOwogCisjaWYgRU5BQkxFKElOUFVUX1RZUEVfQ09MT1IpCisgICAgdm9pZCBz
ZXRDb2xvckNob29zZXJDb2xvcihjb25zdCBXZWJDb3JlOjpDb2xvciYpOworICAgIHZvaWQgZW5k
Q29sb3JDaG9vc2VyKCk7CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBXZWJQYWdlUHJveHkoUGFn
ZUNsaWVudCosIFBhc3NSZWZQdHI8V2ViUHJvY2Vzc1Byb3h5PiwgV2ViUGFnZUdyb3VwKiwgdWlu
dDY0X3QgcGFnZUlEKTsKIApAQCAtODUwLDggKzg1Niw2IEBAIHByaXZhdGU6CiAKICNpZiBFTkFC
TEUoSU5QVVRfVFlQRV9DT0xPUikKICAgICB2b2lkIHNob3dDb2xvckNob29zZXIoY29uc3QgV2Vi
Q29yZTo6Q29sb3ImIGluaXRpYWxDb2xvcik7Ci0gICAgdm9pZCBzZXRDb2xvckNob29zZXJDb2xv
cihjb25zdCBXZWJDb3JlOjpDb2xvciYpOwotICAgIHZvaWQgZW5kQ29sb3JDaG9vc2VyKCk7CiAg
ICAgdm9pZCBkaWRDaG9vc2VDb2xvcihjb25zdCBXZWJDb3JlOjpDb2xvciYpOwogICAgIHZvaWQg
ZGlkRW5kQ29sb3JDaG9vc2VyKCk7CiAjZW5kaWYKQEAgLTExNDAsNiArMTE0NCw3IEBAIHByaXZh
dGU6CiAjZW5kaWYKICNpZiBFTkFCTEUoSU5QVVRfVFlQRV9DT0xPUikKICAgICBSZWZQdHI8V2Vi
Q29sb3JDaG9vc2VyUHJveHk+IG1fY29sb3JDaG9vc2VyOworICAgIFJlZlB0cjxXZWJDb2xvclBp
Y2tlclJlc3VsdExpc3RlbmVyUHJveHk+IG1fY29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lcjsKICNl
bmRpZgogCiAgICAgdWludDY0X3QgbV9wYWdlSUQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViVUlDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlVJQ2xpZW50LmNwcAppbmRleCBlZDFmYjkzLi5mODhjMDBhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViVUlDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJVSUNsaWVudC5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJOYXRp
dmVXZWJXaGVlbEV2ZW50LmgiCiAjaW5jbHVkZSAiTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVl
c3QuaCIKICNpbmNsdWRlICJXS0FQSUNhc3QuaCIKKyNpbmNsdWRlICJXZWJDb2xvclBpY2tlclJl
c3VsdExpc3RlbmVyUHJveHkuaCIKICNpbmNsdWRlICJXZWJOdW1iZXIuaCIKICNpbmNsdWRlICJX
ZWJPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclByb3h5LmgiCiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5
LmgiCkBAIC00MTcsNCArNDE4LDI0IEBAIGJvb2wgV2ViVUlDbGllbnQ6OnNob3VsZEludGVycnVw
dEphdmFTY3JpcHQoV2ViUGFnZVByb3h5KiBwYWdlKQogICAgIHJldHVybiBtX2NsaWVudC5zaG91
bGRJbnRlcnJ1cHRKYXZhU2NyaXB0KHRvQVBJKHBhZ2UpLCBtX2NsaWVudC5jbGllbnRJbmZvKTsK
IH0KIAorI2lmIEVOQUJMRShJTlBVVF9UWVBFX0NPTE9SKQorYm9vbCBXZWJVSUNsaWVudDo6c2hv
d0NvbG9yUGlja2VyKFdlYlBhZ2VQcm94eSogcGFnZSwgY29uc3QgU3RyaW5nJiBpbml0aWFsQ29s
b3IsIFdlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eSogbGlzdGVuZXIpCit7CisgICAg
aWYgKCFtX2NsaWVudC5zaG93Q29sb3JQaWNrZXIpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwor
ICAgIG1fY2xpZW50LnNob3dDb2xvclBpY2tlcih0b0FQSShwYWdlKSwgdG9BUEkoaW5pdGlhbENv
bG9yLmltcGwoKSksIHRvQVBJKGxpc3RlbmVyKSwgbV9jbGllbnQuY2xpZW50SW5mbyk7CisgICAg
cmV0dXJuIHRydWU7Cit9CisKK2Jvb2wgV2ViVUlDbGllbnQ6OmhpZGVDb2xvclBpY2tlcihXZWJQ
YWdlUHJveHkqIHBhZ2UpCit7CisgICAgaWYgKCFtX2NsaWVudC5oaWRlQ29sb3JQaWNrZXIpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIG1fY2xpZW50LmhpZGVDb2xvclBpY2tlcih0b0FQ
SShwYWdlKSwgbV9jbGllbnQuY2xpZW50SW5mbyk7CisgICAgcmV0dXJuIHRydWU7Cit9CisjZW5k
aWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViVUlDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJVSUNs
aWVudC5oCmluZGV4IDI4Y2ZiNjguLjliNTJiZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJVSUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJVSUNsaWVudC5oCkBAIC00OCw2ICs0OCw3IEBAIGNsYXNzIEdlb2xvY2F0aW9uUGVybWlzc2lv
blJlcXVlc3RQcm94eTsKIGNsYXNzIE5hdGl2ZVdlYktleWJvYXJkRXZlbnQ7CiBjbGFzcyBOYXRp
dmVXZWJXaGVlbEV2ZW50OwogY2xhc3MgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3Q7Citj
bGFzcyBXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHk7CiBjbGFzcyBXZWJEYXRhOwog
Y2xhc3MgV2ViRnJhbWVQcm94eTsKIGNsYXNzIFdlYlBhZ2VQcm94eTsKQEAgLTExNSw2ICsxMTYs
MTEgQEAgcHVibGljOgogICAgIHZvaWQgc2F2ZURhdGFUb0ZpbGVJbkRvd25sb2Fkc0ZvbGRlcihX
ZWJQYWdlUHJveHkqLCBjb25zdCBTdHJpbmcmIHN1Z2dlc3RlZEZpbGVuYW1lLCBjb25zdCBTdHJp
bmcmIG1pbWVUeXBlLCBjb25zdCBTdHJpbmcmIG9yaWdpbmF0aW5nVVJMU3RyaW5nLCBXZWJEYXRh
Kik7CiAKICAgICBib29sIHNob3VsZEludGVycnVwdEphdmFTY3JpcHQoV2ViUGFnZVByb3h5Kik7
CisKKyNpZiBFTkFCTEUoSU5QVVRfVFlQRV9DT0xPUikKKyAgICBib29sIHNob3dDb2xvclBpY2tl
cihXZWJQYWdlUHJveHkqLCBjb25zdCBTdHJpbmcmLCBXZWJDb2xvclBpY2tlclJlc3VsdExpc3Rl
bmVyUHJveHkqKTsKKyAgICBib29sIGhpZGVDb2xvclBpY2tlcihXZWJQYWdlUHJveHkqKTsKKyNl
bmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMmZjYTI0MC4uNjMzYjhkYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agpAQCAtOTEzLDYgKzkxMywxMCBAQAogCQlFMUVFNTNFNzExRjhDRkZCMDBDQ0JFRTQgLyogSW5q
ZWN0ZWRCdW5kbGVQYWdlRWRpdG9yQ2xpZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxRUU1M0U2MTFGOENGRkIwMENDQkVFNCAvKiBJbmplY3Rl
ZEJ1bmRsZVBhZ2VFZGl0b3JDbGllbnQuY3BwICovOyB9OwogCQlFRDgyQTdGMjEyOEM2RkFGMDA0
NDc3QjMgLyogV0tCdW5kbGVQYWdlT3ZlcmxheS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyMkYwRkYxMjg5RkNEOTAwODVFNzRGIC8qIFdLQnVuZGxl
UGFnZU92ZXJsYXkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQlFRENBNzFCNzEyOEREQThDMDAyMDFCMjYgLyogV0tCdW5kbGVQYWdlT3ZlcmxheS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTIyRjEw
MDEyODlGQ0Q5MDA4NUU3NEYgLyogV0tCdW5kbGVQYWdlT3ZlcmxheS5jcHAgKi87IH07CisJCUYw
MzY5Nzg1MTVGNEJFNkIwMEMzQTgwRSAvKiBXS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjAzNjk3ODMx
NUY0QkU2QjAwQzNBODBFIC8qIFdLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lci5jcHAgKi87IH07
CisJCUYwMzY5Nzg2MTVGNEJFNkIwMEMzQTgwRSAvKiBXS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVu
ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYwMzY5
Nzg0MTVGNEJFNkIwMEMzQTgwRSAvKiBXS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIuaCAqLzsg
fTsKKwkJRjAzNjk3ODgxNUY0QkYwNTAwQzNBODBFIC8qIFdlYkNvbG9yQ2hvb3NlclByb3h5LmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYwMzY5Nzg3
MTVGNEJGMDUwMEMzQTgwRSAvKiBXZWJDb2xvckNob29zZXJQcm94eS5jcHAgKi87IH07CisJCUYw
MzY5NzhCMTVGNEJGMTMwMEMzQTgwRSAvKiBXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJv
eHkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjAz
Njk3ODkxNUY0QkYxMzAwQzNBODBFIC8qIFdlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94
eS5jcHAgKi87IH07CiAJCUY2MTEzRTI1MTI2Q0UxODIwMDU3RDBBNyAvKiBXZWJVc2VyQ29udGVu
dFVSTFBhdHRlcm4uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEY2MTEzRTI0MTI2Q0UxODIwMDU3RDBBNyAvKiBXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4u
aCAqLzsgfTsKIAkJRjYxMTNFMjgxMjZDRTE5QjAwNTdEMEE3IC8qIFdLVXNlckNvbnRlbnRVUkxQ
YXR0ZXJuLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEY2MTEzRTI2MTI2Q0UxOUIwMDU3RDBBNyAvKiBXS1VzZXJDb250ZW50VVJMUGF0dGVybi5jcHAg
Ki87IH07CiAJCUY2MTEzRTI5MTI2Q0UxOUIwMDU3RDBBNyAvKiBXS1VzZXJDb250ZW50VVJMUGF0
dGVybi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjYx
MTNFMjcxMjZDRTE5QjAwNTdEMEE3IC8qIFdLVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTIwMTIsNiArMjAx
NiwxMSBAQAogCQlFMUNDMUI4RjEyRDdFQURGMDA2MjU4MzggLyogUHJpbnRJbmZvTWFjLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUHJpbnRJbmZvTWFjLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMUVFNTNEQzExRjhDRjlGMDBDQ0JFRTQgLyog
SW5qZWN0ZWRCdW5kbGVQYWdlRWRpdG9yQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEluamVjdGVkQnVuZGxlUGFnZUVkaXRvckNsaWVudC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlFMUVFNTNFNjExRjhDRkZCMDBDQ0JFRTQgLyogSW5qZWN0ZWRCdW5k
bGVQYWdlRWRpdG9yQ2xpZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEluamVjdGVkQnVuZGxlUGFnZUVkaXRvckNsaWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUYwMzY5NzgzMTVGNEJFNkIwMEMzQTgwRSAvKiBXS0NvbG9yUGlja2VyUmVz
dWx0TGlzdGVuZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tD
b2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJRjAzNjk3ODQxNUY0QkU2QjAwQzNBODBFIC8qIFdLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5l
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS0NvbG9yUGlja2VyUmVzdWx0
TGlzdGVuZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjAzNjk3ODcxNUY0QkYw
NTAwQzNBODBFIC8qIFdlYkNvbG9yQ2hvb3NlclByb3h5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkNvbG9yQ2hvb3NlclByb3h5LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJRjAzNjk3ODkxNUY0QkYxMzAwQzNBODBFIC8qIFdlYkNvbG9yUGlj
a2VyUmVzdWx0TGlzdGVuZXJQcm94eS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlGMDM2OTc4QTE1RjRCRjEzMDBDM0E4MEUgLyogV2ViQ29sb3JQ
aWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFdlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlGNjExM0UyNDEyNkNFMTgyMDA1N0QwQTcgLyogV2ViVXNlckNvbnRlbnRV
UkxQYXR0ZXJuLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlVzZXJDb250
ZW50VVJMUGF0dGVybi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNjExM0UyNjEy
NkNFMTlCMDA1N0QwQTcgLyogV0tVc2VyQ29udGVudFVSTFBhdHRlcm4uY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tVc2VyQ29udGVudFVSTFBhdHRlcm4uY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNjExM0UyNzEyNkNFMTlCMDA1N0QwQTcgLyog
V0tVc2VyQ29udGVudFVSTFBhdHRlcm4uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gV0tVc2VyQ29udGVudFVSTFBhdHRlcm4uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTI5MzUsNyArMjk0NCwxMCBAQAogCQkJCTUxMkUzNUYwMTMwQjYzOEMwMEFCRDE5QSAvKiBX
ZWJBcHBsaWNhdGlvbkNhY2hlTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluICovLAogCQkJCUJDNzJC
QTFCMTFFNjQ5MDcwMDFFQjRFQSAvKiBXZWJCYWNrRm9yd2FyZExpc3QuY3BwICovLAogCQkJCUJD
NzJCQTFDMTFFNjQ5MDcwMDFFQjRFQSAvKiBXZWJCYWNrRm9yd2FyZExpc3QuaCAqLywKKwkJCQlG
MDM2OTc4NzE1RjRCRjA1MDBDM0E4MEUgLyogV2ViQ29sb3JDaG9vc2VyUHJveHkuY3BwICovLAog
CQkJCTNGODdCOUJGMTU4OTQwRDgwMDkwRkY2MiAvKiBXZWJDb2xvckNob29zZXJQcm94eS5oICov
LAorCQkJCUYwMzY5Nzg5MTVGNEJGMTMwMEMzQTgwRSAvKiBXZWJDb2xvclBpY2tlclJlc3VsdExp
c3RlbmVyUHJveHkuY3BwICovLAorCQkJCUYwMzY5NzhBMTVGNEJGMTMwMEMzQTgwRSAvKiBXZWJD
b2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkuaCAqLywKIAkJCQlCQzRBNjJBNTE0NzQ0RUM2
MDA2QzY4MUEgLyogV2ViQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAgKi8sCiAJCQkJQkM0QTYy
QTYxNDc0NEVDNjAwNkM2ODFBIC8qIFdlYkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCAqLywKIAkJ
CQlCQ0I5RTI0MjExMjBEQUNBMDBBMTM3RTAgLyogV2ViQ29udGV4dC5jcHAgKi8sCkBAIC0zMDU5
LDYgKzMwNzEsOCBAQAogCQkJCUJDNjQ2QzE3MTFERDM5OUYwMDY0NTVCMCAvKiBXS0JhY2tGb3J3
YXJkTGlzdC5oICovLAogCQkJCUJDNjQ2QzE4MTFERDM5OUYwMDY0NTVCMCAvKiBXS0JhY2tGb3J3
YXJkTGlzdEl0ZW0uY3BwICovLAogCQkJCUJDNjQ2QzE5MTFERDM5OUYwMDY0NTVCMCAvKiBXS0Jh
Y2tGb3J3YXJkTGlzdEl0ZW0uaCAqLywKKwkJCQlGMDM2OTc4MzE1RjRCRTZCMDBDM0E4MEUgLyog
V0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmNwcCAqLywKKwkJCQlGMDM2OTc4NDE1RjRCRTZC
MDBDM0E4MEUgLyogV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmggKi8sCiAJCQkJQkNCOUUy
NEExMTIwRTE1QzAwQTEzN0UwIC8qIFdLQ29udGV4dC5jcHAgKi8sCiAJCQkJQkNCOUUyNDkxMTIw
RTE1QzAwQTEzN0UwIC8qIFdLQ29udGV4dC5oICovLAogCQkJCUJDQzkzOEUwMTE4MERFNDQwMDg1
RTVGRSAvKiBXS0NvbnRleHRQcml2YXRlLmggKi8sCkBAIC00MTQyLDYgKzQxNTYsNyBAQAogCQkJ
CUJDMTRERjlGMTIwQjYzNUYwMDgyNkMwQyAvKiBXS0J1bmRsZVNjcmlwdFdvcmxkLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlCQzQwNzVGNjEyNEZGMDI3MDA2OEYyMEEgLyogV0tDZXJ0aWZpY2F0ZUlu
Zm8uaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNDA3NjI3MTI0RkYwNDAwMDY4RjIwQSAvKiBXS0Nl
cnRpZmljYXRlSW5mb01hYy5oIGluIEhlYWRlcnMgKi8sCisJCQkJRjAzNjk3ODYxNUY0QkU2QjAw
QzNBODBFIC8qIFdLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQkNBMjg0RDcxNDkyRjJDNzAwMUY5MDQyIC8qIFdLQ29ubmVjdGlvbi5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQkM1Qzc1QzgxNDk1NERBNjAwQkM0Nzc1IC8qIFdLQ29ubmVjdGlvbkludGVybmFs
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzRBNjI5NzE0NzMxM0EwMDA2QzY4MUEgLyogV0tDb25u
ZWN0aW9uUmVmLmggaW4gSGVhZGVycyAqLywKQEAgLTQ3NjksNiArNDc4NCw4IEBACiAJCQkJNTE4
RDJDQUQxMkQ1MTUzQjAwM0JCOTNCIC8qIFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0uY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQkM3MkI5RkExMUU2NDc2QjAwMUVCNEVBIC8qIFdlYkJhY2tGb3J3YXJk
TGlzdFByb3h5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDMTExQTVBMTEyRjRGQkIwMDMzN0JB
QiAvKiBXZWJDaHJvbWVDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRjAzNjk3ODgxNUY0
QkYwNTAwQzNBODBFIC8qIFdlYkNvbG9yQ2hvb3NlclByb3h5LmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCUYwMzY5NzhCMTVGNEJGMTMwMEMzQTgwRSAvKiBXZWJDb2xvclBpY2tlclJlc3VsdExpc3Rl
bmVyUHJveHkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM0QTYyOEYxNDczMTJCRTAwNkM2ODFB
IC8qIFdlYkNvbm5lY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM0QTYyOTExNDczMTJC
RTAwNkM2ODFBIC8qIFdlYkNvbm5lY3Rpb25DbGllbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QkNEMzY3NUMxNDhDMjZDMDAwNDQ3RTg3IC8qIFdlYkNvbm5lY3Rpb25Ub1VJUHJvY2Vzcy5jcHAg
aW4gU291cmNlcyAqLywKQEAgLTQ5NTAsNiArNDk2Nyw3IEBACiAJCQkJQkMxNERGOUUxMjBCNjM1
RjAwODI2QzBDIC8qIFdLQnVuZGxlU2NyaXB0V29ybGQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QkM0MDc1RjUxMjRGRjAyNzAwNjhGMjBBIC8qIFdLQ2VydGlmaWNhdGVJbmZvLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUJDNDA3NjI4MTI0RkYwNDAwMDY4RjIwQSAvKiBXS0NlcnRpZmljYXRlSW5m
b01hYy5tbSBpbiBTb3VyY2VzICovLAorCQkJCUYwMzY5Nzg1MTVGNEJFNkIwMEMzQTgwRSAvKiBX
S0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNBMjg0
RDYxNDkyRjJDNzAwMUY5MDQyIC8qIFdLQ29ubmVjdGlvbi5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CUJDNEE2Mjk2MTQ3MzEzQTAwMDZDNjgxQSAvKiBXS0Nvbm5lY3Rpb25SZWYuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQkNCOUUyNEMxMTIwRTE1QzAwQTEzN0UwIC8qIFdLQ29udGV4dC5jcHAgaW4g
U291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJv
aiBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvagppbmRleCBjNjU5NTU0Li5mMWIw
ZjY1IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2oKKysrIGIv
U291cmNlL1dlYktpdDIvd2luL1dlYktpdDIudmNwcm9qCkBAIC0yODk5LDEwICsyODk5LDIyIEBA
CiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFVJUHJv
Y2Vzc1xXZWJDb2xvckNob29zZXJQcm94eS5jcHAiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZp
bGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFVJUHJvY2Vzc1xXZWJDb2xvckNob29zZXJQcm94eS5o
IgogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxVSVBy
b2Nlc3NcV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5LmNwcCIKKwkJCQk+CisJCQk8
L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cVUlQcm9jZXNzXFdlYkNvbG9y
UGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eS5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxl
CiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxVSVByb2Nlc3NcV2ViQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cy5jcHAiCiAJCQkJPgogCQkJPC9GaWxlPgpAQCAtMzMyOSw2ICszMzQxLDE0IEBACiAJCQkJCQk+
CiAJCQkJCTwvRmlsZT4KIAkJCQkJPEZpbGUKKwkJCQkJCVJlbGF0aXZlUGF0aD0iLi5cVUlQcm9j
ZXNzXEFQSVxDXFdLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lci5jcHAiCisJCQkJCQk+CisJCQkJ
CTwvRmlsZT4KKwkJCQkJPEZpbGUKKwkJCQkJCVJlbGF0aXZlUGF0aD0iLi5cVUlQcm9jZXNzXEFQ
SVxDXFdLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lci5oIgorCQkJCQkJPgorCQkJCQk8L0ZpbGU+
CisJCQkJCTxGaWxlCiAJCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFVJUHJvY2Vzc1xBUElcQ1xXS0Nv
bnRleHQuY3BwIgogCQkJCQkJPgogCQkJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi93aW4vV2ViS2l0MkdlbmVyYXRlZC5tYWtlIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktp
dDJHZW5lcmF0ZWQubWFrZQppbmRleCBmOTNmOGE5Li42ZjI3MWNjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi93aW4vV2ViS2l0MkdlbmVyYXRlZC5tYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQy
L3dpbi9XZWJLaXQyR2VuZXJhdGVkLm1ha2UKQEAgLTUxLDYgKzUxLDcgQEAgYWxsOgogICAgIHhj
b3B5IC95IC9kICIuLlxVSVByb2Nlc3NcQVBJXENcV0tBdXRoZW50aWNhdGlvbkRlY2lzaW9uTGlz
dGVuZXIuaCIgIiVDb25maWd1cmF0aW9uQnVpbGREaXIlXGluY2x1ZGVcV2ViS2l0MiIKICAgICB4
Y29weSAveSAvZCAiLi5cVUlQcm9jZXNzXEFQSVxDXFdLQmFja0ZvcndhcmRMaXN0LmgiICIlQ29u
ZmlndXJhdGlvbkJ1aWxkRGlyJVxpbmNsdWRlXFdlYktpdDIiCiAgICAgeGNvcHkgL3kgL2QgIi4u
XFVJUHJvY2Vzc1xBUElcQ1xXS0JhY2tGb3J3YXJkTGlzdEl0ZW0uaCIgIiVDb25maWd1cmF0aW9u
QnVpbGREaXIlXGluY2x1ZGVcV2ViS2l0MiIKKyAgICB4Y29weSAveSAvZCAiLi5cVUlQcm9jZXNz
XEFQSVxDXFdLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lci5oIiAiJUNvbmZpZ3VyYXRpb25CdWls
ZERpciVcaW5jbHVkZVxXZWJLaXQyIgogICAgIHhjb3B5IC95IC9kICIuLlxVSVByb2Nlc3NcQVBJ
XENcV0tDb250ZXh0LmgiICIlQ29uZmlndXJhdGlvbkJ1aWxkRGlyJVxpbmNsdWRlXFdlYktpdDIi
CiAgICAgeGNvcHkgL3kgL2QgIi4uXFVJUHJvY2Vzc1xBUElcQ1xXS0NvbnRleHRQcml2YXRlLmgi
ICIlQ29uZmlndXJhdGlvbkJ1aWxkRGlyJVxpbmNsdWRlXFdlYktpdDIiCiAgICAgeGNvcHkgL3kg
L2QgIi4uXFVJUHJvY2Vzc1xBUElcQ1xXS0Nvb2tpZU1hbmFnZXIuaCIgIiVDb25maWd1cmF0aW9u
QnVpbGREaXIlXGluY2x1ZGVcV2ViS2l0MiIKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCA5MmZhZjJkLi5lN2ZjMmJhIDEwMDY0NAotLS0gYS9Ub29s
cy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTIt
MDktMDcgIEt3YW5nWW9uZyBDaG9pICA8a3kwLmNob2lAc2Ftc3VuZy5jb20+CisKKyAgICAgICAg
W1dLMl0gQWRkIGNvbG9yIHBpY2tlciBBUEkgc3VwcG9ydCBmb3IgV2ViS2l0MgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTUwNTgKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbml0aWFsaXphdGlvbiBjb2Rl
IGZvciBjb2xvciBwaWNrZXIgY2FsbGJhY2tzIGluIFVJIGNsaWVudC4KKworICAgICAgICAqIE1p
bmlCcm93c2VyL21hYy9Ccm93c2VyV2luZG93Q29udHJvbGxlci5tOgorICAgICAgICAoLVtCcm93
c2VyV2luZG93Q29udHJvbGxlciBhd2FrZUZyb21OaWJdKToKKyAgICAgICAgKiBNaW5pQnJvd3Nl
ci93aW4vQnJvd3NlclZpZXcuY3BwOgorICAgICAgICAoQnJvd3NlclZpZXc6OmNyZWF0ZSk6Cisg
ICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChX
VFI6OlRlc3RDb250cm9sbGVyOjpjcmVhdGVPdGhlclBhZ2UpOgorICAgICAgICAoV1RSOjpUZXN0
Q29udHJvbGxlcjo6aW5pdGlhbGl6ZSk6CisKIDIwMTItMDktMDcgIENzYWJhIE9zenRyb2dvbsOh
YyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLiBBZGQgR8OhYm9yIEJh
bGxhYsOhcyBhcyBjb250cmlidXRvci4KZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL21h
Yy9Ccm93c2VyV2luZG93Q29udHJvbGxlci5tIGIvVG9vbHMvTWluaUJyb3dzZXIvbWFjL0Jyb3dz
ZXJXaW5kb3dDb250cm9sbGVyLm0KaW5kZXggZTZiNmY1NC4uZDljYjI4NiAxMDA2NDQKLS0tIGEv
VG9vbHMvTWluaUJyb3dzZXIvbWFjL0Jyb3dzZXJXaW5kb3dDb250cm9sbGVyLm0KKysrIGIvVG9v
bHMvTWluaUJyb3dzZXIvbWFjL0Jyb3dzZXJXaW5kb3dDb250cm9sbGVyLm0KQEAgLTY5NCw2ICs2
OTQsOCBAQCAtICh2b2lkKWF3YWtlRnJvbU5pYgogICAgICAgICBtb3VzZURpZE1vdmVPdmVyRWxl
bWVudCwKICAgICAgICAgMCwgLy8gZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0aW9uUGVybWlzc2lv
blJlcXVlc3QKICAgICAgICAgMCwgLy8gdW5hdmFpbGFibGVQbHVnaW5CdXR0b25DbGlja2VkCisg
ICAgICAgIDAsIC8vIHNob3dDb2xvclBpY2tlcgorICAgICAgICAwLCAvLyBoaWRlQ29sb3JQaWNr
ZXIKICAgICB9OwogICAgIFdLUGFnZVNldFBhZ2VVSUNsaWVudChfd2ViVmlldy5wYWdlUmVmLCAm
dWlDbGllbnQpOwogfQpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvd2luL0Jyb3dzZXJW
aWV3LmNwcCBiL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9Ccm93c2VyVmlldy5jcHAKaW5kZXggMDNh
NDZjYi4uMGE2ODU4ZSAxMDA2NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvd2luL0Jyb3dzZXJW
aWV3LmNwcAorKysgYi9Ub29scy9NaW5pQnJvd3Nlci93aW4vQnJvd3NlclZpZXcuY3BwCkBAIC0x
MzAsNiArMTMwLDEwIEBAIHZvaWQgQnJvd3NlclZpZXc6OmNyZWF0ZShSRUNUIHdlYlZpZXdSZWN0
LCBCcm93c2VyV2luZG93KiBwYXJlbnRXaW5kb3cpCiAgICAgICAgIDAsICAgICAgICAgIC8qIHNo
b3VsZEludGVycnVwdEphdmFTY3JpcHQgKi8KICAgICAgICAgY3JlYXRlTmV3UGFnZSwKICAgICAg
ICAgbW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQsCisgICAgICAgIDAsICAgICAgICAgIC8qIGRlY2lk
ZVBvbGljeUZvck5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0ICovCisgICAgICAgIDAsICAg
ICAgICAgIC8qIHVuYXZhaWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZCAqLworICAgICAgICAwLCAg
ICAgICAgICAvKiBzaG93Q29sb3JQaWNrZXIgKi8KKyAgICAgICAgMCwgICAgICAgICAgLyogaGlk
ZUNvbG9yUGlja2VyICovCiAgICAgfTsKIAogICAgIFdLUGFnZVNldFBhZ2VVSUNsaWVudChXS1Zp
ZXdHZXRQYWdlKG1fd2ViVmlldyksICZ1aUNsaWVudCk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
VGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IGM1NDllODguLmU1ZGRmMTYgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCkBAIC0yMjMsNiArMjIzLDggQEAgV0tQYWdl
UmVmIFRlc3RDb250cm9sbGVyOjpjcmVhdGVPdGhlclBhZ2UoV0tQYWdlUmVmIG9sZFBhZ2UsIFdL
VVJMUmVxdWVzdFJlZiwgV0sKICAgICAgICAgMCwgLy8gbW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQK
ICAgICAgICAgMCwgLy8gZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVl
c3QKICAgICAgICAgMCwgLy8gdW5hdmFpbGFibGVQbHVnaW5CdXR0b25DbGlja2VkCisgICAgICAg
IDAsIC8vIHNob3dDb2xvclBpY2tlcgorICAgICAgICAwLCAvLyBoaWRlQ29sb3JQaWNrZXIKICAg
ICB9OwogICAgIFdLUGFnZVNldFBhZ2VVSUNsaWVudChuZXdQYWdlLCAmb3RoZXJQYWdlVUlDbGll
bnQpOwogCkBAIC0zOTEsNiArMzkzLDggQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6aW5pdGlhbGl6
ZShpbnQgYXJnYywgY29uc3QgY2hhciogYXJndltdKQogICAgICAgICAwLCAvLyBtb3VzZURpZE1v
dmVPdmVyRWxlbWVudAogICAgICAgICBkZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRpb25QZXJtaXNz
aW9uUmVxdWVzdCwgLy8gZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVl
c3QKICAgICAgICAgMCwgLy8gdW5hdmFpbGFibGVQbHVnaW5CdXR0b25DbGlja2VkCisgICAgICAg
IDAsIC8vIHNob3dDb2xvclBpY2tlcgorICAgICAgICAwLCAvLyBoaWRlQ29sb3JQaWNrZXIKICAg
ICB9OwogICAgIFdLUGFnZVNldFBhZ2VVSUNsaWVudChtX21haW5XZWJWaWV3LT5wYWdlKCksICZw
YWdlVUlDbGllbnQpOwogCg==
</data>
<flag name="review"
          id="173951"
          type_id="1"
          status="+"
          setter="gyuyoung.kim"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>164032</attachid>
            <date>2012-09-13 19:52:23 -0700</date>
            <delta_ts>2012-09-13 20:14:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>diff</filename>
            <type>text/plain</type>
            <size>43989</size>
            <attacher name="KwangYong Choi">ky0.choi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYktp
dDIvQ01ha2VMaXN0cy50eHQKaW5kZXggMTZlNmVhYi4uZDAwOTZhYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0
cy50eHQKQEAgLTIzNSw2ICsyMzUsOCBAQCBTRVQoV2ViS2l0Ml9TT1VSQ0VTCiAgICAgVUlQcm9j
ZXNzL1dlYkJhY2tGb3J3YXJkTGlzdC5jcHAKICAgICBVSVByb2Nlc3MvV2ViQmF0dGVyeU1hbmFn
ZXJQcm94eS5jcHAKICAgICBVSVByb2Nlc3MvV2ViQmF0dGVyeVByb3ZpZGVyLmNwcAorICAgIFVJ
UHJvY2Vzcy9XZWJDb2xvckNob29zZXJQcm94eS5jcHAKKyAgICBVSVByb2Nlc3MvV2ViQ29sb3JQ
aWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5LmNwcAogICAgIFVJUHJvY2Vzcy9XZWJDb25uZWN0aW9u
VG9XZWJQcm9jZXNzLmNwcAogICAgIFVJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcAogICAgIFVJUHJv
Y2Vzcy9XZWJDb250ZXh0Q29ubmVjdGlvbkNsaWVudC5jcHAKQEAgLTI5MCw2ICsyOTIsNyBAQCBT
RVQoV2ViS2l0Ml9TT1VSQ0VTCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLQmFja0ZvcndhcmRMaXN0
SXRlbS5jcHAKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tCYXR0ZXJ5TWFuYWdlci5jcHAKICAgICBV
SVByb2Nlc3MvQVBJL0MvV0tCYXR0ZXJ5U3RhdHVzLmNwcAorICAgIFVJUHJvY2Vzcy9BUEkvQy9X
S0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIuY3BwCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLQ29u
dGV4dC5jcHAKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tDb29raWVNYW5hZ2VyLmNwcAogICAgIFVJ
UHJvY2Vzcy9BUEkvQy9XS0NyZWRlbnRpYWwuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNWQ5OTc1Ni4uZjJh
ZmQwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDcwIEBACiAyMDEyLTA5LTEzICBLd2FuZ1lvbmcg
Q2hvaSAgPGt5MC5jaG9pQHNhbXN1bmcuY29tPgogCisgICAgICAgIFtXSzJdIEFkZCBjb2xvciBw
aWNrZXIgQVBJIHN1cHBvcnQgZm9yIFdlYktpdDIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTk1MDU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgR3l1eW91
bmcgS2ltLgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBjb2xvciBwaWNrZXIgQVBJIHRvIFdl
YktpdDIuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmls
ZS5saXN0LmFtOgorICAgICAgICAqIFNoYXJlZC9BUEkvYy9XS0Jhc2UuaDoKKyAgICAgICAgKiBT
aGFyZWQvQVBJQ2xpZW50VHJhaXRzLmNwcDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICog
U2hhcmVkL0FQSUNsaWVudFRyYWl0cy5oOgorICAgICAgICAqIFNoYXJlZC9BUElPYmplY3QuaDoK
KyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS0FQSUNh
c3QuaDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLQ29s
b3JQaWNrZXJSZXN1bHRMaXN0ZW5lci5jcHA6IEFkZGVkLgorICAgICAgICAoV0tDb2xvclBpY2tl
clJlc3VsdExpc3RlbmVyR2V0VHlwZUlEKToKKyAgICAgICAgKFdLQ29sb3JQaWNrZXJSZXN1bHRM
aXN0ZW5lckNvbG9yU2V0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tDb2xvclBpY2tl
clJlc3VsdExpc3RlbmVyLmg6IEFkZGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1Bh
Z2UuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRVSUNsaWVudC5jcHA6Cisg
ICAgICAgIChhdHRhY2hVSUNsaWVudFRvVmlldyk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkNv
bG9yQ2hvb3NlclByb3h5LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAo
V2ViS2l0OjpXZWJDb2xvckNob29zZXJQcm94eTo6V2ViQ29sb3JDaG9vc2VyUHJveHkpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJDb2xvckNob29zZXJQcm94eTo6fldlYkNvbG9yQ2hvb3NlclByb3h5
KToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29sb3JDaG9vc2VyUHJveHk6OmVuZENob29zZXIpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJDb2xvckNob29zZXJQcm94eTo6c2V0U2VsZWN0ZWRDb2xvcik6
CisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvbG9yQ2hvb3NlclByb3h5Lmg6CisgICAgICAgIChX
ZWJDb2xvckNob29zZXJQcm94eSk6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbG9yQ2hvb3NlclBy
b3h5OjpjcmVhdGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJDb2xvclBpY2tlclJlc3VsdExp
c3RlbmVyUHJveHkuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJL
aXQ6OldlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eTo6V2ViQ29sb3JQaWNrZXJSZXN1
bHRMaXN0ZW5lclByb3h5KToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29sb3JQaWNrZXJSZXN1bHRM
aXN0ZW5lclByb3h5Ojp+V2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5KToKKyAgICAg
ICAgKFdlYktpdDo6V2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5OjppbnZhbGlkYXRl
KToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5Ojpz
ZXRDb2xvcik6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVu
ZXJQcm94eS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJDb2xvclBp
Y2tlclJlc3VsdExpc3RlbmVyUHJveHkpOgorICAgICAgICAoV2ViS2l0OjpXZWJDb2xvclBpY2tl
clJlc3VsdExpc3RlbmVyUHJveHk6OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbG9y
UGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eTo6dHlwZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y2xvc2UpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnNob3dDb2xvckNob29zZXIpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZEVuZENvbG9yQ2hvb3Nlcik6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2VQcm94eTo6cHJvY2Vzc0RpZENyYXNoKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViUGFnZVBy
b3h5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViVUlDbGllbnQuY3BwOgorICAgICAgICAoV2Vi
S2l0KToKKyAgICAgICAgKFdlYktpdDo6V2ViVUlDbGllbnQ6OnNob3dDb2xvclBpY2tlcik6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlVJQ2xpZW50OjpoaWRlQ29sb3JQaWNrZXIpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJVSUNsaWVudC5oOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdl
YlVJQ2xpZW50KToKKyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisgICAgICAgICogd2luL1dlYktpdDIudmNwcm9qOgorICAgICAgICAqIHdpbi9XZWJLaXQyR2Vu
ZXJhdGVkLm1ha2U6CisKKzIwMTItMDktMTMgIEt3YW5nWW9uZyBDaG9pICA8a3kwLmNob2lAc2Ft
c3VuZy5jb20+CisKICAgICAgICAgW0VGTF1bV0syXSBJbXBsZW1lbnQgbWlzc2luZyBpbml0aWFs
aXplTG9nQ2hhbm5lbCBmdW5jdGlvbgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9OTY0NzgKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvR05VbWFr
ZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXgg
ZWQxNWQwMy4uZjEwMjQ5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUu
bGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC00OSw2
ICs0OSw3IEBAIHdlYmtpdDJfaF9hcGkgKz0gXAogCSQoV2ViS2l0MikvVUlQcm9jZXNzL0FQSS9D
L1dLQmFja0ZvcndhcmRMaXN0SXRlbS5oIFwKIAkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvQy9X
S0JhdHRlcnlNYW5hZ2VyLmggXAogCSQoV2ViS2l0MikvVUlQcm9jZXNzL0FQSS9DL1dLQmF0dGVy
eVN0YXR1cy5oIFwKKwkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbG9yUGlja2VyUmVz
dWx0TGlzdGVuZXIuaCBcCiAJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0Lmgg
XAogCSQoV2ViS2l0MikvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dFByaXZhdGUuaCBcCiAJJChX
ZWJLaXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tDb29raWVNYW5hZ2VyLmggXApAQCAtNTMwLDYgKzUz
MSw4IEBAIHdlYmtpdDJfc291cmNlcyArPSBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9DL1dLQmF0dGVyeU1hbmFnZXIuaCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L1dLQmF0dGVyeVN0YXR1cy5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9X
S0JhdHRlcnlTdGF0dXMuaCBcCisJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29s
b3JQaWNrZXJSZXN1bHRMaXN0ZW5lci5jcHAgXAorCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIuaCBcCiAJU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLQ29udGV4dC5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS0NvbnRleHQuaCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29u
dGV4dFByaXZhdGUuaCBcCkBAIC04MTQsNyArODE3LDEwIEBAIHdlYmtpdDJfc291cmNlcyArPSBc
CiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkJhdHRlcnlNYW5hZ2VyUHJveHkuaCBcCiAJ
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkJhdHRlcnlQcm92aWRlci5jcHAgXAogCVNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJCYXR0ZXJ5UHJvdmlkZXIuaCBcCisJU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYkNvbG9yQ2hvb3NlclByb3h5LmNwcCBcCiAJU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYkNvbG9yQ2hvb3NlclByb3h5LmggXAorCVNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkuY3BwIFwKKwlTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5LmggXAogCVNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcCBcCiAJ
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCBcCiAJ
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwIFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0Jhc2UuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9BUEkvYy9XS0Jhc2UuaAppbmRleCAyMjIwZTY3Li5mYzQ5YzBmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tCYXNlLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL0FQSS9jL1dLQmFzZS5oCkBAIC0xMjQsNiArMTI0LDcgQEAgdHlwZWRlZiBjb25zdCBzdHJ1
Y3QgT3BhcXVlV0tQcmVmZXJlbmNlcyogV0tQcmVmZXJlbmNlc1JlZjsKIHR5cGVkZWYgY29uc3Qg
c3RydWN0IE9wYXF1ZVdLUHJvdGVjdGlvblNwYWNlKiBXS1Byb3RlY3Rpb25TcGFjZVJlZjsKIHR5
cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLVGV4dENoZWNrZXIqIFdLVGV4dENoZWNrZXJSZWY7
CiB0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVXS1ZpYnJhdGlvbiogV0tWaWJyYXRpb25SZWY7
Cit0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVXS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIq
IFdLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclJlZjsKIAogLyogV2ViS2l0MiBCdW5kbGUgdHlw
ZXMgKi8KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSUNsaWVudFRyYWl0
cy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJQ2xpZW50VHJhaXRzLmNwcAppbmRleCAz
ZjkwOTUyLi43NmYxM2FkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJQ2xp
ZW50VHJhaXRzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJQ2xpZW50VHJhaXRz
LmNwcApAQCAtNjcsNiArNjcsNyBAQCBjb25zdCBzaXplX3QgQVBJQ2xpZW50VHJhaXRzPFdLUGFn
ZUxvYWRlckNsaWVudD46OmludGVyZmFjZVNpemVzQnlWZXJzaW9uW10gPSB7CiAKIGNvbnN0IHNp
emVfdCBBUElDbGllbnRUcmFpdHM8V0tQYWdlVUlDbGllbnQ+OjppbnRlcmZhY2VTaXplc0J5VmVy
c2lvbltdID0gewogICAgIG9mZnNldG9mKFdLUGFnZVVJQ2xpZW50LCBjcmVhdGVOZXdQYWdlKSwK
KyAgICBvZmZzZXRvZihXS1BhZ2VVSUNsaWVudCwgc2hvd0NvbG9yUGlja2VyKSwKICAgICBzaXpl
b2YoV0tQYWdlVUlDbGllbnQpCiB9OwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL0FQSUNsaWVudFRyYWl0cy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSUNsaWVu
dFRyYWl0cy5oCmluZGV4IGNiY2E5YjIuLjNmZDAzY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9BUElDbGllbnRUcmFpdHMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
QVBJQ2xpZW50VHJhaXRzLmgKQEAgLTY3LDcgKzY3LDcgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgQVBJ
Q2xpZW50VHJhaXRzPFdLUGFnZUxvYWRlckNsaWVudD4gewogfTsKIAogdGVtcGxhdGU8PiBzdHJ1
Y3QgQVBJQ2xpZW50VHJhaXRzPFdLUGFnZVVJQ2xpZW50PiB7Ci0gICAgc3RhdGljIGNvbnN0IHNp
emVfdCBpbnRlcmZhY2VTaXplc0J5VmVyc2lvblsyXTsKKyAgICBzdGF0aWMgY29uc3Qgc2l6ZV90
IGludGVyZmFjZVNpemVzQnlWZXJzaW9uWzNdOwogfTsKIAogdGVtcGxhdGU8PiBzdHJ1Y3QgQVBJ
Q2xpZW50VHJhaXRzPFdLQnVuZGxlUGFnZUZvcm1DbGllbnQ+IHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9BUElPYmplY3QuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElP
YmplY3QuaAppbmRleCA3MDhlZmZlLi4zNDE4MWVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQVBJT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSU9iamVj
dC5oCkBAIC03NSw2ICs3NSw3IEBAIHB1YmxpYzoKICAgICAgICAgVHlwZUJhdHRlcnlNYW5hZ2Vy
LAogICAgICAgICBUeXBlQmF0dGVyeVN0YXR1cywKICAgICAgICAgVHlwZUNhY2hlTWFuYWdlciwK
KyAgICAgICAgVHlwZUNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIsCiAgICAgICAgIFR5cGVDb250
ZXh0LAogICAgICAgICBUeXBlQ29va2llTWFuYWdlciwKICAgICAgICAgVHlwZURhdGFiYXNlTWFu
YWdlciwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2Vi
S2l0Mi9UYXJnZXQucHJpCmluZGV4IDM1MDlhMTEuLjliZjc3MzIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYktpdDIvVGFyZ2V0LnByaQpAQCAt
MTUwLDYgKzE1MCw3IEBAIEhFQURFUlMgKz0gXAogICAgIFVJUHJvY2Vzcy9BUEkvQy9XS0JhY2tG
b3J3YXJkTGlzdEl0ZW0uaCBcCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLQmF0dGVyeU1hbmFnZXIu
aCBcCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLQmF0dGVyeVN0YXR1cy5oIFwKKyAgICBVSVByb2Nl
c3MvQVBJL0MvV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmggXAogICAgIFVJUHJvY2Vzcy9B
UEkvQy9XS0NvbnRleHQuaCBcCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dFByaXZhdGUu
aCBcCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLQ3JlZGVudGlhbC5oIFwKQEAgLTIyOCw2ICsyMjks
NyBAQCBIRUFERVJTICs9IFwKICAgICBVSVByb2Nlc3MvV2ViQmF0dGVyeU1hbmFnZXJQcm94eS5o
IFwKICAgICBVSVByb2Nlc3MvV2ViQmF0dGVyeVByb3ZpZGVyLmggXAogICAgIFVJUHJvY2Vzcy9X
ZWJDb2xvckNob29zZXJQcm94eS5oIFwKKyAgICBVSVByb2Nlc3MvV2ViQ29sb3JQaWNrZXJSZXN1
bHRMaXN0ZW5lclByb3h5LmggXAogICAgIFVJUHJvY2Vzcy9XZWJDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzLmggXAogICAgIFVJUHJvY2Vzcy9XZWJDb250ZXh0LmggXAogICAgIFVJUHJvY2Vzcy9XZWJD
b250ZXh0Q29ubmVjdGlvbkNsaWVudC5oIFwKQEAgLTUwMSw2ICs1MDMsNyBAQCBTT1VSQ0VTICs9
IFwKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tCYWNrRm9yd2FyZExpc3RJdGVtLmNwcCBcCiAgICAg
VUlQcm9jZXNzL0FQSS9DL1dLQmF0dGVyeU1hbmFnZXIuY3BwIFwKICAgICBVSVByb2Nlc3MvQVBJ
L0MvV0tCYXR0ZXJ5U3RhdHVzLmNwcCBcCisgICAgVUlQcm9jZXNzL0FQSS9DL1dLQ29sb3JQaWNr
ZXJSZXN1bHRMaXN0ZW5lci5jcHAgXAogICAgIFVJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuY3Bw
IFwKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tDcmVkZW50aWFsLmNwcCBcCiAgICAgVUlQcm9jZXNz
L0FQSS9DL1dLRGF0YWJhc2VNYW5hZ2VyLmNwcCBcCkBAIC01NjksNiArNTcyLDggQEAgU09VUkNF
UyArPSBcCiAgICAgVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkTGlzdC5jcHAgXAogICAgIFVJUHJv
Y2Vzcy9XZWJCYXR0ZXJ5TWFuYWdlclByb3h5LmNwcCBcCiAgICAgVUlQcm9jZXNzL1dlYkJhdHRl
cnlQcm92aWRlci5jcHAgXAorICAgIFVJUHJvY2Vzcy9XZWJDb2xvckNob29zZXJQcm94eS5jcHAg
XAorICAgIFVJUHJvY2Vzcy9XZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkuY3BwIFwK
ICAgICBVSVByb2Nlc3MvV2ViQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAgXAogICAgIFVJUHJv
Y2Vzcy9XZWJDb250ZXh0LmNwcCBcCiAgICAgVUlQcm9jZXNzL1dlYkNvbnRleHRDb25uZWN0aW9u
Q2xpZW50LmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
V0tBUElDYXN0LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0LmgK
aW5kZXggZmU1NWRkOC4uYmE2Mjc3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL1dLQVBJQ2FzdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS0FQSUNhc3QuaApAQCAtNjEsNiArNjEsNyBAQCBjbGFzcyBXZWJCYWNrRm9yd2FyZExpc3RJ
dGVtOwogY2xhc3MgV2ViQmF0dGVyeU1hbmFnZXJQcm94eTsKIGNsYXNzIFdlYkJhdHRlcnlTdGF0
dXM7CiBjbGFzcyBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5OworY2xhc3MgV2ViQ29sb3JQ
aWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5OwogY2xhc3MgV2ViQ29udGV4dDsKIGNsYXNzIFdlYkNv
b2tpZU1hbmFnZXJQcm94eTsKIGNsYXNzIFdlYkNyZWRlbnRpYWw7CkBAIC0xMDQsNiArMTA1LDcg
QEAgV0tfQUREX0FQSV9NQVBQSU5HKFdLQmFja0ZvcndhcmRMaXN0UmVmLCBXZWJCYWNrRm9yd2Fy
ZExpc3QpCiBXS19BRERfQVBJX01BUFBJTkcoV0tCYXR0ZXJ5TWFuYWdlclJlZiwgV2ViQmF0dGVy
eU1hbmFnZXJQcm94eSkKIFdLX0FERF9BUElfTUFQUElORyhXS0JhdHRlcnlTdGF0dXNSZWYsIFdl
YkJhdHRlcnlTdGF0dXMpCiBXS19BRERfQVBJX01BUFBJTkcoV0tSZXNvdXJjZUNhY2hlTWFuYWdl
clJlZiwgV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eSkKK1dLX0FERF9BUElfTUFQUElORyhX
S0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJSZWYsIFdlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVu
ZXJQcm94eSkKIFdLX0FERF9BUElfTUFQUElORyhXS0NvbnRleHRSZWYsIFdlYkNvbnRleHQpCiBX
S19BRERfQVBJX01BUFBJTkcoV0tDb29raWVNYW5hZ2VyUmVmLCBXZWJDb29raWVNYW5hZ2VyUHJv
eHkpCiBXS19BRERfQVBJX01BUFBJTkcoV0tDcmVkZW50aWFsUmVmLCBXZWJDcmVkZW50aWFsKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29sb3JQaWNrZXJS
ZXN1bHRMaXN0ZW5lci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb2xv
clBpY2tlclJlc3VsdExpc3RlbmVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi5kZTU1MzlkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lci5jcHAKQEAgLTAsMCArMSw0OCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldLQ29s
b3JQaWNrZXJSZXN1bHRMaXN0ZW5lci5oIgorCisjaW5jbHVkZSAiV0tBUElDYXN0LmgiCisjaW5j
bHVkZSAiV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5LmgiCisKK3VzaW5nIG5hbWVz
cGFjZSBXZWJLaXQ7CisKK1dLVHlwZUlEIFdLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lckdldFR5
cGVJRCgpCit7CisjaWYgRU5BQkxFKElOUFVUX1RZUEVfQ09MT1IpCisgICAgcmV0dXJuIHRvQVBJ
KFdlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eTo6QVBJVHlwZSk7CisjZWxzZQorICAg
IHJldHVybiAwOworI2VuZGlmCit9CisKK3ZvaWQgV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVy
U2V0Q29sb3IoV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUmVmIGxpc3RlbmVyUmVmLCBjb25z
dCBXS1N0cmluZ1JlZiBjb2xvcikKK3sKKyNpZiBFTkFCTEUoSU5QVVRfVFlQRV9DT0xPUikKKyAg
ICB0b0ltcGwobGlzdGVuZXJSZWYpLT5zZXRDb2xvcih0b1dURlN0cmluZyhjb2xvcikpOworI2Vu
ZGlmCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb2xv
clBpY2tlclJlc3VsdExpc3RlbmVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
V0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uYmZkNDczMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQy9XS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIuaApAQCAtMCwwICsxLDQzIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5l
cl9oCisjZGVmaW5lIFdLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lcl9oCisKKyNpbmNsdWRlIDxX
ZWJLaXQyL1dLQmFzZS5oPgorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2Vu
ZGlmCisKK1dLX0VYUE9SVCBXS1R5cGVJRCBXS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJHZXRU
eXBlSUQoKTsKKworV0tfRVhQT1JUIHZvaWQgV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyU2V0
Q29sb3IoV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUmVmIGxpc3RlbmVyUmVmLCBjb25zdCBX
S1N0cmluZ1JlZiBjb2xvcik7CisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNl
bmRpZiAvKiBXS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJfaCAqLwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5oIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLUGFnZS5oCmluZGV4IDU1NjY4MjYuLjczY2Y2ODEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmgKQEAgLTIyNSw2ICsyMjUsOCBAQCB0eXBlZGVm
IHZvaWQgKCpXS1BhZ2VTYXZlRGF0YVRvRmlsZUluRG93bmxvYWRzRm9sZGVyQ2FsbGJhY2spKFdL
UGFnZVJlZiBwYWdlLCBXSwogdHlwZWRlZiBib29sICgqV0tQYWdlU2hvdWxkSW50ZXJydXB0SmF2
YVNjcmlwdENhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7
CiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VEZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRpb25QZXJtaXNz
aW9uUmVxdWVzdENhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tTZWN1cml0eU9yaWdpblJlZiBv
cmlnaW4sIFdLTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RSZWYgcGVybWlzc2lvblJlcXVl
c3QsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwogdHlwZWRlZiB2b2lkICgqV0tQYWdlVW5hdmFp
bGFibGVQbHVnaW5CdXR0b25DbGlja2VkQ2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBXS1BsdWdp
blVuYXZhaWxhYmlsaXR5UmVhc29uIHBsdWdpblVuYXZhaWxhYmlsaXR5UmVhc29uLCBXS1N0cmlu
Z1JlZiBtaW1lVHlwZSwgV0tTdHJpbmdSZWYgdXJsLCBXS1N0cmluZ1JlZiBwbHVnaW5zUGFnZVVS
TCwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS1BhZ2VTaG93Q29s
b3JQaWNrZXJDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIGluaXRpYWxDb2xv
ciwgV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUmVmIGxpc3RlbmVyLCBjb25zdCB2b2lkKiBj
bGllbnRJbmZvKTsKK3R5cGVkZWYgdm9pZCAoKldLUGFnZUhpZGVDb2xvclBpY2tlckNhbGxiYWNr
KShXS1BhZ2VSZWYgcGFnZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiAKIC8vIERlcHJlY2F0
ZWQgICAgCiB0eXBlZGVmIFdLUGFnZVJlZiAoKldLUGFnZUNyZWF0ZU5ld1BhZ2VDYWxsYmFja19k
ZXByZWNhdGVkRm9yVXNlV2l0aFYwKShXS1BhZ2VSZWYgcGFnZSwgV0tEaWN0aW9uYXJ5UmVmIGZl
YXR1cmVzLCBXS0V2ZW50TW9kaWZpZXJzIG1vZGlmaWVycywgV0tFdmVudE1vdXNlQnV0dG9uIG1v
dXNlQnV0dG9uLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKQEAgLTI4MSwxMCArMjgzLDE0IEBA
IHN0cnVjdCBXS1BhZ2VVSUNsaWVudCB7CiAgICAgV0tQYWdlTW91c2VEaWRNb3ZlT3ZlckVsZW1l
bnRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb3VzZURpZE1vdmVPdmVy
RWxlbWVudDsKICAgICBXS1BhZ2VEZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRpb25QZXJtaXNzaW9u
UmVxdWVzdENhbGxiYWNrICAgICAgICAgIGRlY2lkZVBvbGljeUZvck5vdGlmaWNhdGlvblBlcm1p
c3Npb25SZXF1ZXN0OwogICAgIFdLUGFnZVVuYXZhaWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZENh
bGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgdW5hdmFpbGFibGVQbHVnaW5CdXR0b25DbGlj
a2VkOworCisgICAgLy8gVmVyc2lvbiAyCisgICAgV0tQYWdlU2hvd0NvbG9yUGlja2VyQ2FsbGJh
Y2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93Q29sb3JQaWNrZXI7
CisgICAgV0tQYWdlSGlkZUNvbG9yUGlja2VyQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBoaWRlQ29sb3JQaWNrZXI7CiB9OwogdHlwZWRlZiBzdHJ1Y3QgV0tQ
YWdlVUlDbGllbnQgV0tQYWdlVUlDbGllbnQ7CiAKLWVudW0geyBrV0tQYWdlVUlDbGllbnRDdXJy
ZW50VmVyc2lvbiA9IDEgfTsKK2VudW0geyBrV0tQYWdlVUlDbGllbnRDdXJyZW50VmVyc2lvbiA9
IDIgfTsKIAogLy8gRmluZCBjbGllbnQuCiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VEaWRGaW5kU3Ry
aW5nQ2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBXS1N0cmluZ1JlZiBzdHJpbmcsIHVuc2lnbmVk
IG1hdGNoQ291bnQsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VUlDbGllbnQuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VUlDbGllbnQuY3BwCmluZGV4IDFkOTg1ZDMu
LjU5ZDBiMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdFVJQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9X
ZWJLaXRVSUNsaWVudC5jcHAKQEAgLTIwNCw2ICsyMDQsOCBAQCB2b2lkIGF0dGFjaFVJQ2xpZW50
VG9WaWV3KFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCiAgICAgICAgIG1vdXNlRGlkTW92ZU92ZXJF
bGVtZW50LAogICAgICAgICAwLCAvLyBkZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRpb25QZXJtaXNz
aW9uUmVxdWVzdAogICAgICAgICAwLCAvLyB1bmF2YWlsYWJsZVBsdWdpbkJ1dHRvbkNsaWNrZWQK
KyAgICAgICAgMCwgLy8gc2hvd0NvbG9yUGlja2VyCisgICAgICAgIDAsIC8vIGhpZGVDb2xvclBp
Y2tlcgogICAgIH07CiAgICAgV0tQYWdlUmVmIHdrUGFnZSA9IHRvQVBJKHdlYmtpdFdlYlZpZXdC
YXNlR2V0UGFnZShXRUJLSVRfV0VCX1ZJRVdfQkFTRSh3ZWJWaWV3KSkpOwogICAgIFdLUGFnZVNl
dFBhZ2VVSUNsaWVudCh3a1BhZ2UsICZ3a1VJQ2xpZW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb2xvckNob29zZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViQ29sb3JDaG9vc2VyUHJveHkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLjc1NTQwNDcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViQ29sb3JDaG9vc2VyUHJveHkuY3BwCkBAIC0wLDAgKzEsNjAgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJDb2xv
ckNob29zZXJQcm94eS5oIgorCisjaWYgRU5BQkxFKElOUFVUX1RZUEVfQ09MT1IpCisKK25hbWVz
cGFjZSBXZWJLaXQgeworCitXZWJDb2xvckNob29zZXJQcm94eTo6V2ViQ29sb3JDaG9vc2VyUHJv
eHkoQ2xpZW50KiBjbGllbnQpCisgICAgOiBtX2NsaWVudChjbGllbnQpCit7Cit9CisKK1dlYkNv
bG9yQ2hvb3NlclByb3h5Ojp+V2ViQ29sb3JDaG9vc2VyUHJveHkoKQoreworfQorCit2b2lkIFdl
YkNvbG9yQ2hvb3NlclByb3h5OjplbmRDaG9vc2VyKCkKK3sKKyAgICBpZiAoIW1fY2xpZW50KQor
ICAgICAgICByZXR1cm47CisKKyAgICBtX2NsaWVudC0+ZGlkRW5kQ29sb3JDaG9vc2VyKCk7Cit9
CisKK3ZvaWQgV2ViQ29sb3JDaG9vc2VyUHJveHk6OnNldFNlbGVjdGVkQ29sb3IoY29uc3QgV2Vi
Q29yZTo6Q29sb3ImIGNvbG9yKQoreworICAgIGlmICghbV9jbGllbnQpCisgICAgICAgIHJldHVy
bjsKKworICAgIG1fY2xpZW50LT5kaWRDaG9vc2VDb2xvcihjb2xvcik7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKElOUFVUX1RZUEVfQ09MT1IpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29sb3JDaG9vc2VyUHJveHkuaCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb2xvckNob29zZXJQcm94eS5oCmluZGV4IDc5
MDZjMTAuLjVkYTRjYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJD
b2xvckNob29zZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb2xv
ckNob29zZXJQcm94eS5oCkBAIC00OSwxOCArNDksMjEgQEAgcHVibGljOgogICAgICAgICB2aXJ0
dWFsIHZvaWQgZGlkQ2hvb3NlQ29sb3IoY29uc3QgV2ViQ29yZTo6Q29sb3ImKSA9IDA7CiAgICAg
ICAgIHZpcnR1YWwgdm9pZCBkaWRFbmRDb2xvckNob29zZXIoKSA9IDA7CiAgICAgfTsKLSAgICB2
aXJ0dWFsIH5XZWJDb2xvckNob29zZXJQcm94eSgpIHsgfQorCisgICAgc3RhdGljIFBhc3NSZWZQ
dHI8V2ViQ29sb3JDaG9vc2VyUHJveHk+IGNyZWF0ZShDbGllbnQqIGNsaWVudCkKKyAgICB7Cisg
ICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgV2ViQ29sb3JDaG9vc2VyUHJveHkoY2xpZW50KSk7
CisgICAgfQorCisgICAgdmlydHVhbCB+V2ViQ29sb3JDaG9vc2VyUHJveHkoKTsKIAogICAgIHZv
aWQgaW52YWxpZGF0ZSgpIHsgbV9jbGllbnQgPSAwOyB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgZW5k
Q2hvb3NlcigpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0U2VsZWN0ZWRDb2xvcihjb25zdCBX
ZWJDb3JlOjpDb2xvciYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZW5kQ2hvb3NlcigpOworICAg
IHZpcnR1YWwgdm9pZCBzZXRTZWxlY3RlZENvbG9yKGNvbnN0IFdlYkNvcmU6OkNvbG9yJik7CiAK
IHByb3RlY3RlZDoKLSAgICBXZWJDb2xvckNob29zZXJQcm94eShDbGllbnQqIGNsaWVudCkKLSAg
ICAgICAgOiBtX2NsaWVudChjbGllbnQpCi0gICAgewotICAgIH0KKyAgICBleHBsaWNpdCBXZWJD
b2xvckNob29zZXJQcm94eShDbGllbnQqKTsKIAogICAgIENsaWVudCogbV9jbGllbnQ7CiB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbG9yUGlja2VyUmVzdWx0
TGlzdGVuZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29sb3JQaWNr
ZXJSZXN1bHRMaXN0ZW5lclByb3h5LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi4wZWU3OWRkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eS5jcHAKQEAgLTAsMCArMSw2MCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYkNv
bG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eS5oIgorCisjaWYgRU5BQkxFKElOUFVUX1RZUEVf
Q09MT1IpCisKKyNpbmNsdWRlICJXZWJQYWdlUHJveHkuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7
CisKK1dlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eTo6V2ViQ29sb3JQaWNrZXJSZXN1
bHRMaXN0ZW5lclByb3h5KFdlYlBhZ2VQcm94eSogcGFnZSkKKyAgICA6IG1fcGFnZShwYWdlKQor
eworfQorCitXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHk6On5XZWJDb2xvclBpY2tl
clJlc3VsdExpc3RlbmVyUHJveHkoKQoreworfQorCit2b2lkIFdlYkNvbG9yUGlja2VyUmVzdWx0
TGlzdGVuZXJQcm94eTo6aW52YWxpZGF0ZSgpCit7CisgICAgbV9wYWdlID0gMDsKK30KKwordm9p
ZCBXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHk6OnNldENvbG9yKGNvbnN0IFN0cmlu
ZyYgY29sb3IpCit7CisgICAgaWYgKCFtX3BhZ2UpCisgICAgICAgIHJldHVybjsKKworICAgIG1f
cGFnZS0+c2V0Q29sb3JDaG9vc2VyQ29sb3IoV2ViQ29yZTo6Q29sb3IoY29sb3IpKTsKKyAgICBt
X3BhZ2UtPmVuZENvbG9yQ2hvb3NlcigpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKwor
I2VuZGlmIC8vIEVOQUJMRShJTlBVVF9UWVBFX0NPTE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eS5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eS5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQyOGViOGEKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0
ZW5lclByb3h5LmgKQEAgLTAsMCArMSw2NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBT
YW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRl
ZiBXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHlfaAorI2RlZmluZSBXZWJDb2xvclBp
Y2tlclJlc3VsdExpc3RlbmVyUHJveHlfaAorCisjaWYgRU5BQkxFKElOUFVUX1RZUEVfQ09MT1Ip
CisKKyNpbmNsdWRlICJBUElPYmplY3QuaCIKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgor
I2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4K
KworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYlBhZ2VQcm94eTsKKworY2xhc3MgV2Vi
Q29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5IDogcHVibGljIEFQSU9iamVjdCB7CitwdWJs
aWM6CisgICAgc3RhdGljIGNvbnN0IFR5cGUgQVBJVHlwZSA9IFR5cGVDb2xvclBpY2tlclJlc3Vs
dExpc3RlbmVyOworCisgICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViQ29sb3JQaWNrZXJSZXN1bHRM
aXN0ZW5lclByb3h5PiBjcmVhdGUoV2ViUGFnZVByb3h5KiBwYWdlKQorICAgIHsKKyAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkocGFn
ZSkpOworICAgIH0KKworICAgIHZpcnR1YWwgfldlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQ
cm94eSgpOworCisgICAgdm9pZCBpbnZhbGlkYXRlKCk7CisgICAgdm9pZCBzZXRDb2xvcihjb25z
dCBTdHJpbmcmKTsKKworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBXZWJDb2xvclBpY2tlclJlc3Vs
dExpc3RlbmVyUHJveHkoV2ViUGFnZVByb3h5Kik7CisKKyAgICB2aXJ0dWFsIFR5cGUgdHlwZSgp
IGNvbnN0IHsgcmV0dXJuIEFQSVR5cGU7IH0KKworICAgIFJlZlB0cjxXZWJQYWdlUHJveHk+IG1f
cGFnZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKElO
UFVUX1RZUEVfQ09MT1IpCisKKyNlbmRpZiAvLyBXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVy
UHJveHlfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCA0
YWM2ZDIyLi44ZmQ3MmEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmNwcApAQCAtNTIsNiArNTIsNyBAQAogI2luY2x1ZGUgIldlYkJhY2tGb3J3YXJkTGlzdC5oIgog
I2luY2x1ZGUgIldlYkJhY2tGb3J3YXJkTGlzdEl0ZW0uaCIKICNpbmNsdWRlICJXZWJDZXJ0aWZp
Y2F0ZUluZm8uaCIKKyNpbmNsdWRlICJXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHku
aCIKICNpbmNsdWRlICJXZWJDb250ZXh0LmgiCiAjaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVQcm94
eS5oIgogI2luY2x1ZGUgIldlYkNvbnRleHRVc2VyTWVzc2FnZUNvZGVycy5oIgpAQCAtNDEzLDYg
KzQxNCwxMSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6Y2xvc2UoKQogICAgICAgICBtX2NvbG9yQ2hv
b3Nlci0+aW52YWxpZGF0ZSgpOwogICAgICAgICBtX2NvbG9yQ2hvb3NlciA9IG51bGxwdHI7CiAg
ICAgfQorCisgICAgaWYgKG1fY29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lcikgeworICAgICAgICBt
X2NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXItPmludmFsaWRhdGUoKTsKKyAgICAgICAgbV9jb2xv
clBpY2tlclJlc3VsdExpc3RlbmVyID0gbnVsbHB0cjsKKyAgICB9CiAjZW5kaWYKIAogI2lmIEVO
QUJMRShHRU9MT0NBVElPTikKQEAgLTI3MjQsNyArMjczMCwyMCBAQCB2b2lkIFdlYlBhZ2VQcm94
eTo6c2hvd0NvbG9yQ2hvb3Nlcihjb25zdCBXZWJDb3JlOjpDb2xvciYgaW5pdGlhbENvbG9yLCBj
b25zdCBJbgogewogICAgIEFTU0VSVCghbV9jb2xvckNob29zZXIpOwogCisgICAgaWYgKG1fY29s
b3JQaWNrZXJSZXN1bHRMaXN0ZW5lcikgeworICAgICAgICBtX2NvbG9yUGlja2VyUmVzdWx0TGlz
dGVuZXItPmludmFsaWRhdGUoKTsKKyAgICAgICAgbV9jb2xvclBpY2tlclJlc3VsdExpc3RlbmVy
ID0gbnVsbHB0cjsKKyAgICB9CisKKyAgICBtX2NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIgPSBX
ZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHk6OmNyZWF0ZSh0aGlzKTsKKyAgICBtX2Nv
bG9yQ2hvb3NlciA9IFdlYkNvbG9yQ2hvb3NlclByb3h5OjpjcmVhdGUodGhpcyk7CisKKyAgICBp
ZiAobV91aUNsaWVudC5zaG93Q29sb3JQaWNrZXIodGhpcywgaW5pdGlhbENvbG9yLnNlcmlhbGl6
ZWQoKSwgbV9jb2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmdldCgpKSkKKyAgICAgICAgcmV0dXJu
OworCiAgICAgbV9jb2xvckNob29zZXIgPSBtX3BhZ2VDbGllbnQtPmNyZWF0ZUNvbG9yQ2hvb3Nl
clByb3h5KHRoaXMsIGluaXRpYWxDb2xvciwgZWxlbWVudFJlY3QpOworICAgIGlmICghbV9jb2xv
ckNob29zZXIpCisgICAgICAgIGRpZEVuZENvbG9yQ2hvb3NlcigpOwogfQogCiB2b2lkIFdlYlBh
Z2VQcm94eTo6c2V0Q29sb3JDaG9vc2VyQ29sb3IoY29uc3QgV2ViQ29yZTo6Q29sb3ImIGNvbG9y
KQpAQCAtMjc1NCwxMiArMjc3MywxNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkRW5kQ29sb3JD
aG9vc2VyKCkKICAgICBpZiAoIWlzVmFsaWQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgQVNT
RVJUKG1fY29sb3JDaG9vc2VyKTsKLQotICAgIG1fY29sb3JDaG9vc2VyLT5pbnZhbGlkYXRlKCk7
Ci0gICAgbV9jb2xvckNob29zZXIgPSBudWxscHRyOworICAgIGlmIChtX2NvbG9yQ2hvb3Nlcikg
eworICAgICAgICBtX2NvbG9yQ2hvb3Nlci0+aW52YWxpZGF0ZSgpOworICAgICAgICBtX2NvbG9y
Q2hvb3NlciA9IG51bGxwdHI7CisgICAgfQogCiAgICAgbV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2Vz
OjpXZWJQYWdlOjpEaWRFbmRDb2xvckNob29zZXIoKSwgbV9wYWdlSUQpOworCisgICAgbV9jb2xv
clBpY2tlclJlc3VsdExpc3RlbmVyLT5pbnZhbGlkYXRlKCk7CisgICAgbV9jb2xvclBpY2tlclJl
c3VsdExpc3RlbmVyID0gbnVsbHB0cjsKKworICAgIG1fdWlDbGllbnQuaGlkZUNvbG9yUGlja2Vy
KHRoaXMpOwogfQogI2VuZGlmCiAKQEAgLTM1MzYsNiArMzU2MCwxMSBAQCB2b2lkIFdlYlBhZ2VQ
cm94eTo6cHJvY2Vzc0RpZENyYXNoKCkKICAgICAgICAgbV9jb2xvckNob29zZXItPmludmFsaWRh
dGUoKTsKICAgICAgICAgbV9jb2xvckNob29zZXIgPSBudWxscHRyOwogICAgIH0KKworICAgIGlm
IChtX2NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIpIHsKKyAgICAgICAgbV9jb2xvclBpY2tlclJl
c3VsdExpc3RlbmVyLT5pbnZhbGlkYXRlKCk7CisgICAgICAgIG1fY29sb3JQaWNrZXJSZXN1bHRM
aXN0ZW5lciA9IG51bGxwdHI7CisgICAgfQogI2VuZGlmCiAKICNpZiBFTkFCTEUoR0VPTE9DQVRJ
T04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggZmQwN2M2Zi4u
YzRkMjc0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMTM5
LDYgKzEzOSw3IEBAIGNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwogY2xhc3MgU3RyaW5n
UGFpclZlY3RvcjsKIGNsYXNzIFdlYkJhY2tGb3J3YXJkTGlzdDsKIGNsYXNzIFdlYkJhY2tGb3J3
YXJkTGlzdEl0ZW07CitjbGFzcyBXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHk7CiBj
bGFzcyBXZWJDb250ZXh0TWVudVByb3h5OwogY2xhc3MgV2ViRGF0YTsKIGNsYXNzIFdlYkVkaXRD
b21tYW5kUHJveHk7CkBAIC03MjEsNiArNzIyLDExIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcG9z
dE1lc3NhZ2VUb0luamVjdGVkQnVuZGxlKGNvbnN0IFN0cmluZyYgbWVzc2FnZU5hbWUsIEFQSU9i
amVjdCogbWVzc2FnZUJvZHkpOwogCisjaWYgRU5BQkxFKElOUFVUX1RZUEVfQ09MT1IpCisgICAg
dm9pZCBzZXRDb2xvckNob29zZXJDb2xvcihjb25zdCBXZWJDb3JlOjpDb2xvciYpOworICAgIHZv
aWQgZW5kQ29sb3JDaG9vc2VyKCk7CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBXZWJQYWdlUHJv
eHkoUGFnZUNsaWVudCosIFBhc3NSZWZQdHI8V2ViUHJvY2Vzc1Byb3h5PiwgV2ViUGFnZUdyb3Vw
KiwgdWludDY0X3QgcGFnZUlEKTsKIApAQCAtODUzLDggKzg1OSw2IEBAIHByaXZhdGU6CiAKICNp
ZiBFTkFCTEUoSU5QVVRfVFlQRV9DT0xPUikKICAgICB2b2lkIHNob3dDb2xvckNob29zZXIoY29u
c3QgV2ViQ29yZTo6Q29sb3ImIGluaXRpYWxDb2xvciwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYp
OwotICAgIHZvaWQgc2V0Q29sb3JDaG9vc2VyQ29sb3IoY29uc3QgV2ViQ29yZTo6Q29sb3ImKTsK
LSAgICB2b2lkIGVuZENvbG9yQ2hvb3NlcigpOwogICAgIHZvaWQgZGlkQ2hvb3NlQ29sb3IoY29u
c3QgV2ViQ29yZTo6Q29sb3ImKTsKICAgICB2b2lkIGRpZEVuZENvbG9yQ2hvb3NlcigpOwogI2Vu
ZGlmCkBAIC0xMTQ1LDYgKzExNDksNyBAQCBwcml2YXRlOgogI2VuZGlmCiAjaWYgRU5BQkxFKElO
UFVUX1RZUEVfQ09MT1IpCiAgICAgUmVmUHRyPFdlYkNvbG9yQ2hvb3NlclByb3h5PiBtX2NvbG9y
Q2hvb3NlcjsKKyAgICBSZWZQdHI8V2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5PiBt
X2NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXI7CiAjZW5kaWYKIAogICAgIHVpbnQ2NF90IG1fcGFn
ZUlEOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlVJQ2xpZW50LmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJVSUNsaWVudC5jcHAKaW5kZXggZWQxZmI5
My4uZjg4YzAwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlVJQ2xp
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViVUlDbGllbnQuY3BwCkBA
IC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiTmF0aXZlV2ViV2hlZWxFdmVudC5oIgogI2luY2x1
ZGUgIk5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0LmgiCiAjaW5jbHVkZSAiV0tBUElDYXN0
LmgiCisjaW5jbHVkZSAiV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5LmgiCiAjaW5j
bHVkZSAiV2ViTnVtYmVyLmgiCiAjaW5jbHVkZSAiV2ViT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJQ
cm94eS5oIgogI2luY2x1ZGUgIldlYlBhZ2VQcm94eS5oIgpAQCAtNDE3LDQgKzQxOCwyNCBAQCBi
b29sIFdlYlVJQ2xpZW50OjpzaG91bGRJbnRlcnJ1cHRKYXZhU2NyaXB0KFdlYlBhZ2VQcm94eSog
cGFnZSkKICAgICByZXR1cm4gbV9jbGllbnQuc2hvdWxkSW50ZXJydXB0SmF2YVNjcmlwdCh0b0FQ
SShwYWdlKSwgbV9jbGllbnQuY2xpZW50SW5mbyk7CiB9CiAKKyNpZiBFTkFCTEUoSU5QVVRfVFlQ
RV9DT0xPUikKK2Jvb2wgV2ViVUlDbGllbnQ6OnNob3dDb2xvclBpY2tlcihXZWJQYWdlUHJveHkq
IHBhZ2UsIGNvbnN0IFN0cmluZyYgaW5pdGlhbENvbG9yLCBXZWJDb2xvclBpY2tlclJlc3VsdExp
c3RlbmVyUHJveHkqIGxpc3RlbmVyKQoreworICAgIGlmICghbV9jbGllbnQuc2hvd0NvbG9yUGlj
a2VyKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBtX2NsaWVudC5zaG93Q29sb3JQaWNr
ZXIodG9BUEkocGFnZSksIHRvQVBJKGluaXRpYWxDb2xvci5pbXBsKCkpLCB0b0FQSShsaXN0ZW5l
ciksIG1fY2xpZW50LmNsaWVudEluZm8pOworICAgIHJldHVybiB0cnVlOworfQorCitib29sIFdl
YlVJQ2xpZW50OjpoaWRlQ29sb3JQaWNrZXIoV2ViUGFnZVByb3h5KiBwYWdlKQoreworICAgIGlm
ICghbV9jbGllbnQuaGlkZUNvbG9yUGlja2VyKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICBtX2NsaWVudC5oaWRlQ29sb3JQaWNrZXIodG9BUEkocGFnZSksIG1fY2xpZW50LmNsaWVudElu
Zm8pOworICAgIHJldHVybiB0cnVlOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYktp
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlVJQ2xpZW50LmggYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViVUlDbGllbnQuaAppbmRleCAyOGNmYjY4Li45YjUy
YmZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViVUlDbGllbnQuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViVUlDbGllbnQuaApAQCAtNDgsNiArNDgs
NyBAQCBjbGFzcyBHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0UHJveHk7CiBjbGFzcyBOYXRp
dmVXZWJLZXlib2FyZEV2ZW50OwogY2xhc3MgTmF0aXZlV2ViV2hlZWxFdmVudDsKIGNsYXNzIE5v
dGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0OworY2xhc3MgV2ViQ29sb3JQaWNrZXJSZXN1bHRM
aXN0ZW5lclByb3h5OwogY2xhc3MgV2ViRGF0YTsKIGNsYXNzIFdlYkZyYW1lUHJveHk7CiBjbGFz
cyBXZWJQYWdlUHJveHk7CkBAIC0xMTUsNiArMTE2LDExIEBAIHB1YmxpYzoKICAgICB2b2lkIHNh
dmVEYXRhVG9GaWxlSW5Eb3dubG9hZHNGb2xkZXIoV2ViUGFnZVByb3h5KiwgY29uc3QgU3RyaW5n
JiBzdWdnZXN0ZWRGaWxlbmFtZSwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgY29uc3QgU3RyaW5n
JiBvcmlnaW5hdGluZ1VSTFN0cmluZywgV2ViRGF0YSopOwogCiAgICAgYm9vbCBzaG91bGRJbnRl
cnJ1cHRKYXZhU2NyaXB0KFdlYlBhZ2VQcm94eSopOworCisjaWYgRU5BQkxFKElOUFVUX1RZUEVf
Q09MT1IpCisgICAgYm9vbCBzaG93Q29sb3JQaWNrZXIoV2ViUGFnZVByb3h5KiwgY29uc3QgU3Ry
aW5nJiwgV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5Kik7CisgICAgYm9vbCBoaWRl
Q29sb3JQaWNrZXIoV2ViUGFnZVByb3h5Kik7CisjZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IDRlYTUxNDcuLmIwYzBhNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTkxNyw2ICs5MTcsMTAgQEAKIAkJ
RTFFRTUzRTcxMUY4Q0ZGQjAwQ0NCRUU0IC8qIEluamVjdGVkQnVuZGxlUGFnZUVkaXRvckNsaWVu
dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMUVF
NTNFNjExRjhDRkZCMDBDQ0JFRTQgLyogSW5qZWN0ZWRCdW5kbGVQYWdlRWRpdG9yQ2xpZW50LmNw
cCAqLzsgfTsKIAkJRUQ4MkE3RjIxMjhDNkZBRjAwNDQ3N0IzIC8qIFdLQnVuZGxlUGFnZU92ZXJs
YXkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMjJG
MEZGMTI4OUZDRDkwMDg1RTc0RiAvKiBXS0J1bmRsZVBhZ2VPdmVybGF5LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRURDQTcxQjcxMjhEREE4QzAw
MjAxQjI2IC8qIFdLQnVuZGxlUGFnZU92ZXJsYXkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyMkYxMDAxMjg5RkNEOTAwODVFNzRGIC8qIFdLQnVu
ZGxlUGFnZU92ZXJsYXkuY3BwICovOyB9OworCQlGMDM2OTc4NTE1RjRCRTZCMDBDM0E4MEUgLyog
V0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYwMzY5NzgzMTVGNEJFNkIwMEMzQTgwRSAvKiBXS0NvbG9y
UGlja2VyUmVzdWx0TGlzdGVuZXIuY3BwICovOyB9OworCQlGMDM2OTc4NjE1RjRCRTZCMDBDM0E4
MEUgLyogV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGMDM2OTc4NDE1RjRCRTZCMDBDM0E4MEUgLyogV0tD
b2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmggKi87IH07CisJCUYwMzY5Nzg4MTVGNEJGMDUwMEMz
QTgwRSAvKiBXZWJDb2xvckNob29zZXJQcm94eS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGMDM2OTc4NzE1RjRCRjA1MDBDM0E4MEUgLyogV2ViQ29s
b3JDaG9vc2VyUHJveHkuY3BwICovOyB9OworCQlGMDM2OTc4QjE1RjRCRjEzMDBDM0E4MEUgLyog
V2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5LmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYwMzY5Nzg5MTVGNEJGMTMwMEMzQTgwRSAvKiBX
ZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkuY3BwICovOyB9OwogCQlGNjExM0UyNTEy
NkNFMTgyMDA1N0QwQTcgLyogV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjExM0UyNDEyNkNFMTgyMDA1N0Qw
QTcgLyogV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmggKi87IH07CiAJCUY2MTEzRTI4MTI2Q0Ux
OUIwMDU3RDBBNyAvKiBXS1VzZXJDb250ZW50VVJMUGF0dGVybi5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjExM0UyNjEyNkNFMTlCMDA1N0QwQTcg
LyogV0tVc2VyQ29udGVudFVSTFBhdHRlcm4uY3BwICovOyB9OwogCQlGNjExM0UyOTEyNkNFMTlC
MDA1N0QwQTcgLyogV0tVc2VyQ29udGVudFVSTFBhdHRlcm4uaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY2MTEzRTI3MTI2Q0UxOUIwMDU3RDBBNyAvKiBX
S1VzZXJDb250ZW50VVJMUGF0dGVybi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CkBAIC0yMDIwLDYgKzIwMjQsMTEgQEAKIAkJRTFDQzFCOEYxMkQ3RUFE
RjAwNjI1ODM4IC8qIFByaW50SW5mb01hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IFByaW50SW5mb01hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRTFFRTUzREMxMUY4Q0Y5RjAwQ0NCRUU0IC8qIEluamVjdGVkQnVuZGxlUGFnZUVkaXRvckNs
aWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbmplY3RlZEJ1bmRsZVBh
Z2VFZGl0b3JDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTFFRTUzRTYx
MUY4Q0ZGQjAwQ0NCRUU0IC8qIEluamVjdGVkQnVuZGxlUGFnZUVkaXRvckNsaWVudC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbmplY3RlZEJ1bmRsZVBhZ2VFZGl0
b3JDbGllbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGMDM2OTc4MzE1RjRC
RTZCMDBDM0E4MEUgLyogV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUYwMzY5Nzg0MTVGNEJFNkIwMEMzQTgw
RSAvKiBXS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUYwMzY5Nzg3MTVGNEJGMDUwMEMzQTgwRSAvKiBXZWJDb2xvckNob29z
ZXJQcm94eS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJDb2xv
ckNob29zZXJQcm94eS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUYwMzY5Nzg5
MTVGNEJGMTMwMEMzQTgwRSAvKiBXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViQ29sb3JQaWNrZXJSZXN1
bHRMaXN0ZW5lclByb3h5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjAzNjk3
OEExNUY0QkYxMzAwQzNBODBFIC8qIFdlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb2xvclBpY2tlclJlc3VsdExp
c3RlbmVyUHJveHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjYxMTNFMjQxMjZD
RTE4MjAwNTdEMEE3IC8qIFdlYlVzZXJDb250ZW50VVJMUGF0dGVybi5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4uaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjYxMTNFMjYxMjZDRTE5QjAwNTdEMEE3IC8qIFdLVXNlckNv
bnRlbnRVUkxQYXR0ZXJuLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFdLVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRjYxMTNFMjcxMjZDRTE5QjAwNTdEMEE3IC8qIFdLVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLVXNlckNvbnRlbnRVUkxQYXR0ZXJu
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yOTQ3LDcgKzI5NTYsMTAgQEAKIAkJ
CQk1MTJFMzVGMDEzMEI2MzhDMDBBQkQxOUEgLyogV2ViQXBwbGljYXRpb25DYWNoZU1hbmFnZXJQ
cm94eS5tZXNzYWdlcy5pbiAqLywKIAkJCQlCQzcyQkExQjExRTY0OTA3MDAxRUI0RUEgLyogV2Vi
QmFja0ZvcndhcmRMaXN0LmNwcCAqLywKIAkJCQlCQzcyQkExQzExRTY0OTA3MDAxRUI0RUEgLyog
V2ViQmFja0ZvcndhcmRMaXN0LmggKi8sCisJCQkJRjAzNjk3ODcxNUY0QkYwNTAwQzNBODBFIC8q
IFdlYkNvbG9yQ2hvb3NlclByb3h5LmNwcCAqLywKIAkJCQkzRjg3QjlCRjE1ODk0MEQ4MDA5MEZG
NjIgLyogV2ViQ29sb3JDaG9vc2VyUHJveHkuaCAqLywKKwkJCQlGMDM2OTc4OTE1RjRCRjEzMDBD
M0E4MEUgLyogV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5LmNwcCAqLywKKwkJCQlG
MDM2OTc4QTE1RjRCRjEzMDBDM0E4MEUgLyogV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclBy
b3h5LmggKi8sCiAJCQkJQkM0QTYyQTUxNDc0NEVDNjAwNkM2ODFBIC8qIFdlYkNvbm5lY3Rpb25U
b1dlYlByb2Nlc3MuY3BwICovLAogCQkJCUJDNEE2MkE2MTQ3NDRFQzYwMDZDNjgxQSAvKiBXZWJD
b25uZWN0aW9uVG9XZWJQcm9jZXNzLmggKi8sCiAJCQkJQkNCOUUyNDIxMTIwREFDQTAwQTEzN0Uw
IC8qIFdlYkNvbnRleHQuY3BwICovLApAQCAtMzA3MSw2ICszMDgzLDggQEAKIAkJCQlCQzY0NkMx
NzExREQzOTlGMDA2NDU1QjAgLyogV0tCYWNrRm9yd2FyZExpc3QuaCAqLywKIAkJCQlCQzY0NkMx
ODExREQzOTlGMDA2NDU1QjAgLyogV0tCYWNrRm9yd2FyZExpc3RJdGVtLmNwcCAqLywKIAkJCQlC
QzY0NkMxOTExREQzOTlGMDA2NDU1QjAgLyogV0tCYWNrRm9yd2FyZExpc3RJdGVtLmggKi8sCisJ
CQkJRjAzNjk3ODMxNUY0QkU2QjAwQzNBODBFIC8qIFdLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5l
ci5jcHAgKi8sCisJCQkJRjAzNjk3ODQxNUY0QkU2QjAwQzNBODBFIC8qIFdLQ29sb3JQaWNrZXJS
ZXN1bHRMaXN0ZW5lci5oICovLAogCQkJCUJDQjlFMjRBMTEyMEUxNUMwMEExMzdFMCAvKiBXS0Nv
bnRleHQuY3BwICovLAogCQkJCUJDQjlFMjQ5MTEyMEUxNUMwMEExMzdFMCAvKiBXS0NvbnRleHQu
aCAqLywKIAkJCQlCQ0M5MzhFMDExODBERTQ0MDA4NUU1RkUgLyogV0tDb250ZXh0UHJpdmF0ZS5o
ICovLApAQCAtNDE1NCw2ICs0MTY4LDcgQEAKIAkJCQlCQzE0REY5RjEyMEI2MzVGMDA4MjZDMEMg
LyogV0tCdW5kbGVTY3JpcHRXb3JsZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM0MDc1RjYxMjRG
RjAyNzAwNjhGMjBBIC8qIFdLQ2VydGlmaWNhdGVJbmZvLmggaW4gSGVhZGVycyAqLywKIAkJCQlC
QzQwNzYyNzEyNEZGMDQwMDA2OEYyMEEgLyogV0tDZXJ0aWZpY2F0ZUluZm9NYWMuaCBpbiBIZWFk
ZXJzICovLAorCQkJCUYwMzY5Nzg2MTVGNEJFNkIwMEMzQTgwRSAvKiBXS0NvbG9yUGlja2VyUmVz
dWx0TGlzdGVuZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQTI4NEQ3MTQ5MkYyQzcwMDFGOTA0
MiAvKiBXS0Nvbm5lY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNUM3NUM4MTQ5NTREQTYw
MEJDNDc3NSAvKiBXS0Nvbm5lY3Rpb25JbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM0
QTYyOTcxNDczMTNBMDAwNkM2ODFBIC8qIFdLQ29ubmVjdGlvblJlZi5oIGluIEhlYWRlcnMgKi8s
CkBAIC00NzgzLDYgKzQ3OTgsOCBAQAogCQkJCTUxOEQyQ0FEMTJENTE1M0IwMDNCQjkzQiAvKiBX
ZWJCYWNrRm9yd2FyZExpc3RJdGVtLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDNzJCOUZBMTFF
NjQ3NkIwMDFFQjRFQSAvKiBXZWJCYWNrRm9yd2FyZExpc3RQcm94eS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlCQzExMUE1QTExMkY0RkJCMDAzMzdCQUIgLyogV2ViQ2hyb21lQ2xpZW50LmNwcCBp
biBTb3VyY2VzICovLAorCQkJCUYwMzY5Nzg4MTVGNEJGMDUwMEMzQTgwRSAvKiBXZWJDb2xvckNo
b29zZXJQcm94eS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlGMDM2OTc4QjE1RjRCRjEzMDBDM0E4
MEUgLyogV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUJDNEE2MjhGMTQ3MzEyQkUwMDZDNjgxQSAvKiBXZWJDb25uZWN0aW9uLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUJDNEE2MjkxMTQ3MzEyQkUwMDZDNjgxQSAvKiBXZWJDb25uZWN0aW9u
Q2xpZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDRDM2NzVDMTQ4QzI2QzAwMDQ0N0U4NyAv
KiBXZWJDb25uZWN0aW9uVG9VSVByb2Nlc3MuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC00OTY0LDYg
KzQ5ODEsNyBAQAogCQkJCUJDMTRERjlFMTIwQjYzNUYwMDgyNkMwQyAvKiBXS0J1bmRsZVNjcmlw
dFdvcmxkLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDNDA3NUY1MTI0RkYwMjcwMDY4RjIwQSAv
KiBXS0NlcnRpZmljYXRlSW5mby5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzQwNzYyODEyNEZG
MDQwMDA2OEYyMEEgLyogV0tDZXJ0aWZpY2F0ZUluZm9NYWMubW0gaW4gU291cmNlcyAqLywKKwkJ
CQlGMDM2OTc4NTE1RjRCRTZCMDBDM0E4MEUgLyogV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVy
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDQTI4NEQ2MTQ5MkYyQzcwMDFGOTA0MiAvKiBXS0Nv
bm5lY3Rpb24ubW0gaW4gU291cmNlcyAqLywKIAkJCQlCQzRBNjI5NjE0NzMxM0EwMDA2QzY4MUEg
LyogV0tDb25uZWN0aW9uUmVmLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDQjlFMjRDMTEyMEUx
NUMwMEExMzdFMCAvKiBXS0NvbnRleHQuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2ogYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2Vi
S2l0Mi52Y3Byb2oKaW5kZXggYzY1OTU1NC4uZjFiMGY2NSAxMDA3NTUKLS0tIGEvU291cmNlL1dl
YktpdDIvd2luL1dlYktpdDIudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQy
LnZjcHJvagpAQCAtMjg5OSwxMCArMjg5OSwyMiBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxG
aWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxVSVByb2Nlc3NcV2ViQ29sb3JDaG9vc2VyUHJveHku
Y3BwIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxV
SVByb2Nlc3NcV2ViQ29sb3JDaG9vc2VyUHJveHkuaCIKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8
RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cVUlQcm9jZXNzXFdlYkNvbG9yUGlja2VyUmVzdWx0
TGlzdGVuZXJQcm94eS5jcHAiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXFVJUHJvY2Vzc1xXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHku
aCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cVUlQ
cm9jZXNzXFdlYkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4K
QEAgLTMzMjksNiArMzM0MSwxNCBAQAogCQkJCQkJPgogCQkJCQk8L0ZpbGU+CiAJCQkJCTxGaWxl
CisJCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFVJUHJvY2Vzc1xBUElcQ1xXS0NvbG9yUGlja2VyUmVz
dWx0TGlzdGVuZXIuY3BwIgorCQkJCQkJPgorCQkJCQk8L0ZpbGU+CisJCQkJCTxGaWxlCisJCQkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXFVJUHJvY2Vzc1xBUElcQ1xXS0NvbG9yUGlja2VyUmVzdWx0TGlz
dGVuZXIuaCIKKwkJCQkJCT4KKwkJCQkJPC9GaWxlPgorCQkJCQk8RmlsZQogCQkJCQkJUmVsYXRp
dmVQYXRoPSIuLlxVSVByb2Nlc3NcQVBJXENcV0tDb250ZXh0LmNwcCIKIAkJCQkJCT4KIAkJCQkJ
PC9GaWxlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDJHZW5lcmF0ZWQu
bWFrZSBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyR2VuZXJhdGVkLm1ha2UKaW5kZXggZjkz
ZjhhOS4uNmYyNzFjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDJHZW5l
cmF0ZWQubWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkdlbmVyYXRlZC5tYWtl
CkBAIC01MSw2ICs1MSw3IEBAIGFsbDoKICAgICB4Y29weSAveSAvZCAiLi5cVUlQcm9jZXNzXEFQ
SVxDXFdLQXV0aGVudGljYXRpb25EZWNpc2lvbkxpc3RlbmVyLmgiICIlQ29uZmlndXJhdGlvbkJ1
aWxkRGlyJVxpbmNsdWRlXFdlYktpdDIiCiAgICAgeGNvcHkgL3kgL2QgIi4uXFVJUHJvY2Vzc1xB
UElcQ1xXS0JhY2tGb3J3YXJkTGlzdC5oIiAiJUNvbmZpZ3VyYXRpb25CdWlsZERpciVcaW5jbHVk
ZVxXZWJLaXQyIgogICAgIHhjb3B5IC95IC9kICIuLlxVSVByb2Nlc3NcQVBJXENcV0tCYWNrRm9y
d2FyZExpc3RJdGVtLmgiICIlQ29uZmlndXJhdGlvbkJ1aWxkRGlyJVxpbmNsdWRlXFdlYktpdDIi
CisgICAgeGNvcHkgL3kgL2QgIi4uXFVJUHJvY2Vzc1xBUElcQ1xXS0NvbG9yUGlja2VyUmVzdWx0
TGlzdGVuZXIuaCIgIiVDb25maWd1cmF0aW9uQnVpbGREaXIlXGluY2x1ZGVcV2ViS2l0MiIKICAg
ICB4Y29weSAveSAvZCAiLi5cVUlQcm9jZXNzXEFQSVxDXFdLQ29udGV4dC5oIiAiJUNvbmZpZ3Vy
YXRpb25CdWlsZERpciVcaW5jbHVkZVxXZWJLaXQyIgogICAgIHhjb3B5IC95IC9kICIuLlxVSVBy
b2Nlc3NcQVBJXENcV0tDb250ZXh0UHJpdmF0ZS5oIiAiJUNvbmZpZ3VyYXRpb25CdWlsZERpciVc
aW5jbHVkZVxXZWJLaXQyIgogICAgIHhjb3B5IC95IC9kICIuLlxVSVByb2Nlc3NcQVBJXENcV0tD
b29raWVNYW5hZ2VyLmgiICIlQ29uZmlndXJhdGlvbkJ1aWxkRGlyJVxpbmNsdWRlXFdlYktpdDIi
CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNzg3
MWMxMi4uMzZmN2M5NSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTA5LTEzICBLd2FuZ1lvbmcgQ2hvaSAgPGt5
MC5jaG9pQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtXSzJdIEFkZCBjb2xvciBwaWNrZXIgQVBJ
IHN1cHBvcnQgZm9yIFdlYktpdDIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTk1MDU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgR3l1eW91bmcgS2ltLgor
CisgICAgICAgIEluaXRpYWxpemF0aW9uIGNvZGUgZm9yIGNvbG9yIHBpY2tlciBjYWxsYmFja3Mg
aW4gVUkgY2xpZW50LgorCisgICAgICAgICogTWluaUJyb3dzZXIvbWFjL0Jyb3dzZXJXaW5kb3dD
b250cm9sbGVyLm06CisgICAgICAgICgtW0Jyb3dzZXJXaW5kb3dDb250cm9sbGVyIGF3YWtlRnJv
bU5pYl0pOgorICAgICAgICAqIE1pbmlCcm93c2VyL3dpbi9Ccm93c2VyVmlldy5jcHA6CisgICAg
ICAgIChCcm93c2VyVmlldzo6Y3JlYXRlKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rl
c3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OmNyZWF0ZU90
aGVyUGFnZSk6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjppbml0aWFsaXplKToKKwog
MjAxMi0wOS0xMyAgUGhpbGlwIFJvZ2VycyAgPHBkckBnb29nbGUuY29tPgogCiAgICAgICAgIEFk
ZCBnZW5kZXItbmV1dHJhbCBmb3JtIG9mIHdlYmtpdC1wYXRjaCBsYW5kLWNvd2JveQpkaWZmIC0t
Z2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvbWFjL0Jyb3dzZXJXaW5kb3dDb250cm9sbGVyLm0gYi9U
b29scy9NaW5pQnJvd3Nlci9tYWMvQnJvd3NlcldpbmRvd0NvbnRyb2xsZXIubQppbmRleCBlNmI2
ZjU0Li5kOWNiMjg2IDEwMDY0NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci9tYWMvQnJvd3Nlcldp
bmRvd0NvbnRyb2xsZXIubQorKysgYi9Ub29scy9NaW5pQnJvd3Nlci9tYWMvQnJvd3NlcldpbmRv
d0NvbnRyb2xsZXIubQpAQCAtNjk0LDYgKzY5NCw4IEBAIC0gKHZvaWQpYXdha2VGcm9tTmliCiAg
ICAgICAgIG1vdXNlRGlkTW92ZU92ZXJFbGVtZW50LAogICAgICAgICAwLCAvLyBkZWNpZGVQb2xp
Y3lGb3JOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdAogICAgICAgICAwLCAvLyB1bmF2YWls
YWJsZVBsdWdpbkJ1dHRvbkNsaWNrZWQKKyAgICAgICAgMCwgLy8gc2hvd0NvbG9yUGlja2VyCisg
ICAgICAgIDAsIC8vIGhpZGVDb2xvclBpY2tlcgogICAgIH07CiAgICAgV0tQYWdlU2V0UGFnZVVJ
Q2xpZW50KF93ZWJWaWV3LnBhZ2VSZWYsICZ1aUNsaWVudCk7CiB9CmRpZmYgLS1naXQgYS9Ub29s
cy9NaW5pQnJvd3Nlci93aW4vQnJvd3NlclZpZXcuY3BwIGIvVG9vbHMvTWluaUJyb3dzZXIvd2lu
L0Jyb3dzZXJWaWV3LmNwcAppbmRleCAwM2E0NmNiLi4wYTY4NThlIDEwMDY0NAotLS0gYS9Ub29s
cy9NaW5pQnJvd3Nlci93aW4vQnJvd3NlclZpZXcuY3BwCisrKyBiL1Rvb2xzL01pbmlCcm93c2Vy
L3dpbi9Ccm93c2VyVmlldy5jcHAKQEAgLTEzMCw2ICsxMzAsMTAgQEAgdm9pZCBCcm93c2VyVmll
dzo6Y3JlYXRlKFJFQ1Qgd2ViVmlld1JlY3QsIEJyb3dzZXJXaW5kb3cqIHBhcmVudFdpbmRvdykK
ICAgICAgICAgMCwgICAgICAgICAgLyogc2hvdWxkSW50ZXJydXB0SmF2YVNjcmlwdCAqLwogICAg
ICAgICBjcmVhdGVOZXdQYWdlLAogICAgICAgICBtb3VzZURpZE1vdmVPdmVyRWxlbWVudCwKKyAg
ICAgICAgMCwgICAgICAgICAgLyogZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0aW9uUGVybWlzc2lv
blJlcXVlc3QgKi8KKyAgICAgICAgMCwgICAgICAgICAgLyogdW5hdmFpbGFibGVQbHVnaW5CdXR0
b25DbGlja2VkICovCisgICAgICAgIDAsICAgICAgICAgIC8qIHNob3dDb2xvclBpY2tlciAqLwor
ICAgICAgICAwLCAgICAgICAgICAvKiBoaWRlQ29sb3JQaWNrZXIgKi8KICAgICB9OwogCiAgICAg
V0tQYWdlU2V0UGFnZVVJQ2xpZW50KFdLVmlld0dldFBhZ2UobV93ZWJWaWV3KSwgJnVpQ2xpZW50
KTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3Bw
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKaW5kZXggMDE3OTUy
Mi4uM2RhMzg4MCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJv
bGxlci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAK
QEAgLTIyMyw2ICsyMjMsOCBAQCBXS1BhZ2VSZWYgVGVzdENvbnRyb2xsZXI6OmNyZWF0ZU90aGVy
UGFnZShXS1BhZ2VSZWYgb2xkUGFnZSwgV0tVUkxSZXF1ZXN0UmVmLCBXSwogICAgICAgICAwLCAv
LyBtb3VzZURpZE1vdmVPdmVyRWxlbWVudAogICAgICAgICAwLCAvLyBkZWNpZGVQb2xpY3lGb3JO
b3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdAogICAgICAgICAwLCAvLyB1bmF2YWlsYWJsZVBs
dWdpbkJ1dHRvbkNsaWNrZWQKKyAgICAgICAgMCwgLy8gc2hvd0NvbG9yUGlja2VyCisgICAgICAg
IDAsIC8vIGhpZGVDb2xvclBpY2tlcgogICAgIH07CiAgICAgV0tQYWdlU2V0UGFnZVVJQ2xpZW50
KG5ld1BhZ2UsICZvdGhlclBhZ2VVSUNsaWVudCk7CiAKQEAgLTM5MSw2ICszOTMsOCBAQCB2b2lk
IFRlc3RDb250cm9sbGVyOjppbml0aWFsaXplKGludCBhcmdjLCBjb25zdCBjaGFyKiBhcmd2W10p
CiAgICAgICAgIDAsIC8vIG1vdXNlRGlkTW92ZU92ZXJFbGVtZW50CiAgICAgICAgIGRlY2lkZVBv
bGljeUZvck5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0LCAvLyBkZWNpZGVQb2xpY3lGb3JO
b3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdAogICAgICAgICAwLCAvLyB1bmF2YWlsYWJsZVBs
dWdpbkJ1dHRvbkNsaWNrZWQKKyAgICAgICAgMCwgLy8gc2hvd0NvbG9yUGlja2VyCisgICAgICAg
IDAsIC8vIGhpZGVDb2xvclBpY2tlcgogICAgIH07CiAgICAgV0tQYWdlU2V0UGFnZVVJQ2xpZW50
KG1fbWFpbldlYlZpZXctPnBhZ2UoKSwgJnBhZ2VVSUNsaWVudCk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>164035</attachid>
            <date>2012-09-13 20:14:30 -0700</date>
            <delta_ts>2012-09-13 22:08:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>diff</filename>
            <type>text/plain</type>
            <size>44172</size>
            <attacher name="KwangYong Choi">ky0.choi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYktp
dDIvQ01ha2VMaXN0cy50eHQKaW5kZXggMTZlNmVhYi4uZDAwOTZhYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0
cy50eHQKQEAgLTIzNSw2ICsyMzUsOCBAQCBTRVQoV2ViS2l0Ml9TT1VSQ0VTCiAgICAgVUlQcm9j
ZXNzL1dlYkJhY2tGb3J3YXJkTGlzdC5jcHAKICAgICBVSVByb2Nlc3MvV2ViQmF0dGVyeU1hbmFn
ZXJQcm94eS5jcHAKICAgICBVSVByb2Nlc3MvV2ViQmF0dGVyeVByb3ZpZGVyLmNwcAorICAgIFVJ
UHJvY2Vzcy9XZWJDb2xvckNob29zZXJQcm94eS5jcHAKKyAgICBVSVByb2Nlc3MvV2ViQ29sb3JQ
aWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5LmNwcAogICAgIFVJUHJvY2Vzcy9XZWJDb25uZWN0aW9u
VG9XZWJQcm9jZXNzLmNwcAogICAgIFVJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcAogICAgIFVJUHJv
Y2Vzcy9XZWJDb250ZXh0Q29ubmVjdGlvbkNsaWVudC5jcHAKQEAgLTI5MCw2ICsyOTIsNyBAQCBT
RVQoV2ViS2l0Ml9TT1VSQ0VTCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLQmFja0ZvcndhcmRMaXN0
SXRlbS5jcHAKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tCYXR0ZXJ5TWFuYWdlci5jcHAKICAgICBV
SVByb2Nlc3MvQVBJL0MvV0tCYXR0ZXJ5U3RhdHVzLmNwcAorICAgIFVJUHJvY2Vzcy9BUEkvQy9X
S0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIuY3BwCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLQ29u
dGV4dC5jcHAKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tDb29raWVNYW5hZ2VyLmNwcAogICAgIFVJ
UHJvY2Vzcy9BUEkvQy9XS0NyZWRlbnRpYWwuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNWQ5OTc1Ni4uZjJh
ZmQwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDcwIEBACiAyMDEyLTA5LTEzICBLd2FuZ1lvbmcg
Q2hvaSAgPGt5MC5jaG9pQHNhbXN1bmcuY29tPgogCisgICAgICAgIFtXSzJdIEFkZCBjb2xvciBw
aWNrZXIgQVBJIHN1cHBvcnQgZm9yIFdlYktpdDIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTk1MDU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgR3l1eW91
bmcgS2ltLgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBjb2xvciBwaWNrZXIgQVBJIHRvIFdl
YktpdDIuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmls
ZS5saXN0LmFtOgorICAgICAgICAqIFNoYXJlZC9BUEkvYy9XS0Jhc2UuaDoKKyAgICAgICAgKiBT
aGFyZWQvQVBJQ2xpZW50VHJhaXRzLmNwcDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICog
U2hhcmVkL0FQSUNsaWVudFRyYWl0cy5oOgorICAgICAgICAqIFNoYXJlZC9BUElPYmplY3QuaDoK
KyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS0FQSUNh
c3QuaDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLQ29s
b3JQaWNrZXJSZXN1bHRMaXN0ZW5lci5jcHA6IEFkZGVkLgorICAgICAgICAoV0tDb2xvclBpY2tl
clJlc3VsdExpc3RlbmVyR2V0VHlwZUlEKToKKyAgICAgICAgKFdLQ29sb3JQaWNrZXJSZXN1bHRM
aXN0ZW5lckNvbG9yU2V0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tDb2xvclBpY2tl
clJlc3VsdExpc3RlbmVyLmg6IEFkZGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1Bh
Z2UuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRVSUNsaWVudC5jcHA6Cisg
ICAgICAgIChhdHRhY2hVSUNsaWVudFRvVmlldyk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkNv
bG9yQ2hvb3NlclByb3h5LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAo
V2ViS2l0OjpXZWJDb2xvckNob29zZXJQcm94eTo6V2ViQ29sb3JDaG9vc2VyUHJveHkpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJDb2xvckNob29zZXJQcm94eTo6fldlYkNvbG9yQ2hvb3NlclByb3h5
KToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29sb3JDaG9vc2VyUHJveHk6OmVuZENob29zZXIpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJDb2xvckNob29zZXJQcm94eTo6c2V0U2VsZWN0ZWRDb2xvcik6
CisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvbG9yQ2hvb3NlclByb3h5Lmg6CisgICAgICAgIChX
ZWJDb2xvckNob29zZXJQcm94eSk6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbG9yQ2hvb3NlclBy
b3h5OjpjcmVhdGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJDb2xvclBpY2tlclJlc3VsdExp
c3RlbmVyUHJveHkuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJL
aXQ6OldlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eTo6V2ViQ29sb3JQaWNrZXJSZXN1
bHRMaXN0ZW5lclByb3h5KToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29sb3JQaWNrZXJSZXN1bHRM
aXN0ZW5lclByb3h5Ojp+V2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5KToKKyAgICAg
ICAgKFdlYktpdDo6V2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5OjppbnZhbGlkYXRl
KToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5Ojpz
ZXRDb2xvcik6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVu
ZXJQcm94eS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJDb2xvclBp
Y2tlclJlc3VsdExpc3RlbmVyUHJveHkpOgorICAgICAgICAoV2ViS2l0OjpXZWJDb2xvclBpY2tl
clJlc3VsdExpc3RlbmVyUHJveHk6OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbG9y
UGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eTo6dHlwZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y2xvc2UpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnNob3dDb2xvckNob29zZXIpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZEVuZENvbG9yQ2hvb3Nlcik6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2VQcm94eTo6cHJvY2Vzc0RpZENyYXNoKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViUGFnZVBy
b3h5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViVUlDbGllbnQuY3BwOgorICAgICAgICAoV2Vi
S2l0KToKKyAgICAgICAgKFdlYktpdDo6V2ViVUlDbGllbnQ6OnNob3dDb2xvclBpY2tlcik6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlVJQ2xpZW50OjpoaWRlQ29sb3JQaWNrZXIpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJVSUNsaWVudC5oOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdl
YlVJQ2xpZW50KToKKyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisgICAgICAgICogd2luL1dlYktpdDIudmNwcm9qOgorICAgICAgICAqIHdpbi9XZWJLaXQyR2Vu
ZXJhdGVkLm1ha2U6CisKKzIwMTItMDktMTMgIEt3YW5nWW9uZyBDaG9pICA8a3kwLmNob2lAc2Ft
c3VuZy5jb20+CisKICAgICAgICAgW0VGTF1bV0syXSBJbXBsZW1lbnQgbWlzc2luZyBpbml0aWFs
aXplTG9nQ2hhbm5lbCBmdW5jdGlvbgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9OTY0NzgKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvR05VbWFr
ZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXgg
ZWQxNWQwMy4uZjEwMjQ5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUu
bGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC00OSw2
ICs0OSw3IEBAIHdlYmtpdDJfaF9hcGkgKz0gXAogCSQoV2ViS2l0MikvVUlQcm9jZXNzL0FQSS9D
L1dLQmFja0ZvcndhcmRMaXN0SXRlbS5oIFwKIAkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvQy9X
S0JhdHRlcnlNYW5hZ2VyLmggXAogCSQoV2ViS2l0MikvVUlQcm9jZXNzL0FQSS9DL1dLQmF0dGVy
eVN0YXR1cy5oIFwKKwkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbG9yUGlja2VyUmVz
dWx0TGlzdGVuZXIuaCBcCiAJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0Lmgg
XAogCSQoV2ViS2l0MikvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dFByaXZhdGUuaCBcCiAJJChX
ZWJLaXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tDb29raWVNYW5hZ2VyLmggXApAQCAtNTMwLDYgKzUz
MSw4IEBAIHdlYmtpdDJfc291cmNlcyArPSBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9DL1dLQmF0dGVyeU1hbmFnZXIuaCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L1dLQmF0dGVyeVN0YXR1cy5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9X
S0JhdHRlcnlTdGF0dXMuaCBcCisJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29s
b3JQaWNrZXJSZXN1bHRMaXN0ZW5lci5jcHAgXAorCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIuaCBcCiAJU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLQ29udGV4dC5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS0NvbnRleHQuaCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29u
dGV4dFByaXZhdGUuaCBcCkBAIC04MTQsNyArODE3LDEwIEBAIHdlYmtpdDJfc291cmNlcyArPSBc
CiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkJhdHRlcnlNYW5hZ2VyUHJveHkuaCBcCiAJ
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkJhdHRlcnlQcm92aWRlci5jcHAgXAogCVNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJCYXR0ZXJ5UHJvdmlkZXIuaCBcCisJU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYkNvbG9yQ2hvb3NlclByb3h5LmNwcCBcCiAJU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYkNvbG9yQ2hvb3NlclByb3h5LmggXAorCVNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkuY3BwIFwKKwlTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5LmggXAogCVNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcCBcCiAJ
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCBcCiAJ
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwIFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0Jhc2UuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9BUEkvYy9XS0Jhc2UuaAppbmRleCAyMjIwZTY3Li5hYjZjYTg0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tCYXNlLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL0FQSS9jL1dLQmFzZS5oCkBAIC04OSw2ICs4OSw3IEBAIHR5cGVkZWYgY29uc3Qgc3RydWN0
IE9wYXF1ZVdLQmFja0ZvcndhcmRMaXN0SXRlbSogV0tCYWNrRm9yd2FyZExpc3RJdGVtUmVmOwog
dHlwZWRlZiBjb25zdCBzdHJ1Y3QgT3BhcXVlV0tCYXR0ZXJ5TWFuYWdlciogV0tCYXR0ZXJ5TWFu
YWdlclJlZjsKIHR5cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLQmF0dGVyeVN0YXR1cyogV0tC
YXR0ZXJ5U3RhdHVzUmVmOwogdHlwZWRlZiBjb25zdCBzdHJ1Y3QgT3BhcXVlV0tSZXNvdXJjZUNh
Y2hlTWFuYWdlciogV0tSZXNvdXJjZUNhY2hlTWFuYWdlclJlZjsKK3R5cGVkZWYgY29uc3Qgc3Ry
dWN0IE9wYXF1ZVdLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lciogV0tDb2xvclBpY2tlclJlc3Vs
dExpc3RlbmVyUmVmOwogdHlwZWRlZiBjb25zdCBzdHJ1Y3QgT3BhcXVlV0tDb250ZXh0KiBXS0Nv
bnRleHRSZWY7CiB0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVXS0Nvb2tpZU1hbmFnZXIqIFdL
Q29va2llTWFuYWdlclJlZjsKIHR5cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLQ3JlZGVudGlh
bCogV0tDcmVkZW50aWFsUmVmOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQ
SUNsaWVudFRyYWl0cy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJQ2xpZW50VHJhaXRz
LmNwcAppbmRleCAzZjkwOTUyLi43NmYxM2FkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvQVBJQ2xpZW50VHJhaXRzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJ
Q2xpZW50VHJhaXRzLmNwcApAQCAtNjcsNiArNjcsNyBAQCBjb25zdCBzaXplX3QgQVBJQ2xpZW50
VHJhaXRzPFdLUGFnZUxvYWRlckNsaWVudD46OmludGVyZmFjZVNpemVzQnlWZXJzaW9uW10gPSB7
CiAKIGNvbnN0IHNpemVfdCBBUElDbGllbnRUcmFpdHM8V0tQYWdlVUlDbGllbnQ+OjppbnRlcmZh
Y2VTaXplc0J5VmVyc2lvbltdID0gewogICAgIG9mZnNldG9mKFdLUGFnZVVJQ2xpZW50LCBjcmVh
dGVOZXdQYWdlKSwKKyAgICBvZmZzZXRvZihXS1BhZ2VVSUNsaWVudCwgc2hvd0NvbG9yUGlja2Vy
KSwKICAgICBzaXplb2YoV0tQYWdlVUlDbGllbnQpCiB9OwogICAgIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL0FQSUNsaWVudFRyYWl0cy5oIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL0FQSUNsaWVudFRyYWl0cy5oCmluZGV4IGNiY2E5YjIuLjNmZDAzY2QgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElDbGllbnRUcmFpdHMuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvQVBJQ2xpZW50VHJhaXRzLmgKQEAgLTY3LDcgKzY3LDcgQEAgdGVtcGxhdGU8
PiBzdHJ1Y3QgQVBJQ2xpZW50VHJhaXRzPFdLUGFnZUxvYWRlckNsaWVudD4gewogfTsKIAogdGVt
cGxhdGU8PiBzdHJ1Y3QgQVBJQ2xpZW50VHJhaXRzPFdLUGFnZVVJQ2xpZW50PiB7Ci0gICAgc3Rh
dGljIGNvbnN0IHNpemVfdCBpbnRlcmZhY2VTaXplc0J5VmVyc2lvblsyXTsKKyAgICBzdGF0aWMg
Y29uc3Qgc2l6ZV90IGludGVyZmFjZVNpemVzQnlWZXJzaW9uWzNdOwogfTsKIAogdGVtcGxhdGU8
PiBzdHJ1Y3QgQVBJQ2xpZW50VHJhaXRzPFdLQnVuZGxlUGFnZUZvcm1DbGllbnQ+IHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElPYmplY3QuaCBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9BUElPYmplY3QuaAppbmRleCA3MDhlZmZlLi4zNDE4MWVjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL0FQSU9iamVjdC5oCkBAIC03NSw2ICs3NSw3IEBAIHB1YmxpYzoKICAgICAgICAgVHlwZUJh
dHRlcnlNYW5hZ2VyLAogICAgICAgICBUeXBlQmF0dGVyeVN0YXR1cywKICAgICAgICAgVHlwZUNh
Y2hlTWFuYWdlciwKKyAgICAgICAgVHlwZUNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIsCiAgICAg
ICAgIFR5cGVDb250ZXh0LAogICAgICAgICBUeXBlQ29va2llTWFuYWdlciwKICAgICAgICAgVHlw
ZURhdGFiYXNlTWFuYWdlciwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1RhcmdldC5wcmkg
Yi9Tb3VyY2UvV2ViS2l0Mi9UYXJnZXQucHJpCmluZGV4IDM1MDlhMTEuLjliZjc3MzIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYktpdDIvVGFy
Z2V0LnByaQpAQCAtMTUwLDYgKzE1MCw3IEBAIEhFQURFUlMgKz0gXAogICAgIFVJUHJvY2Vzcy9B
UEkvQy9XS0JhY2tGb3J3YXJkTGlzdEl0ZW0uaCBcCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLQmF0
dGVyeU1hbmFnZXIuaCBcCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLQmF0dGVyeVN0YXR1cy5oIFwK
KyAgICBVSVByb2Nlc3MvQVBJL0MvV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmggXAogICAg
IFVJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuaCBcCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLQ29u
dGV4dFByaXZhdGUuaCBcCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLQ3JlZGVudGlhbC5oIFwKQEAg
LTIyOCw2ICsyMjksNyBAQCBIRUFERVJTICs9IFwKICAgICBVSVByb2Nlc3MvV2ViQmF0dGVyeU1h
bmFnZXJQcm94eS5oIFwKICAgICBVSVByb2Nlc3MvV2ViQmF0dGVyeVByb3ZpZGVyLmggXAogICAg
IFVJUHJvY2Vzcy9XZWJDb2xvckNob29zZXJQcm94eS5oIFwKKyAgICBVSVByb2Nlc3MvV2ViQ29s
b3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5LmggXAogICAgIFVJUHJvY2Vzcy9XZWJDb25uZWN0
aW9uVG9XZWJQcm9jZXNzLmggXAogICAgIFVJUHJvY2Vzcy9XZWJDb250ZXh0LmggXAogICAgIFVJ
UHJvY2Vzcy9XZWJDb250ZXh0Q29ubmVjdGlvbkNsaWVudC5oIFwKQEAgLTUwMSw2ICs1MDMsNyBA
QCBTT1VSQ0VTICs9IFwKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tCYWNrRm9yd2FyZExpc3RJdGVt
LmNwcCBcCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLQmF0dGVyeU1hbmFnZXIuY3BwIFwKICAgICBV
SVByb2Nlc3MvQVBJL0MvV0tCYXR0ZXJ5U3RhdHVzLmNwcCBcCisgICAgVUlQcm9jZXNzL0FQSS9D
L1dLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lci5jcHAgXAogICAgIFVJUHJvY2Vzcy9BUEkvQy9X
S0NvbnRleHQuY3BwIFwKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tDcmVkZW50aWFsLmNwcCBcCiAg
ICAgVUlQcm9jZXNzL0FQSS9DL1dLRGF0YWJhc2VNYW5hZ2VyLmNwcCBcCkBAIC01NjksNiArNTcy
LDggQEAgU09VUkNFUyArPSBcCiAgICAgVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkTGlzdC5jcHAg
XAogICAgIFVJUHJvY2Vzcy9XZWJCYXR0ZXJ5TWFuYWdlclByb3h5LmNwcCBcCiAgICAgVUlQcm9j
ZXNzL1dlYkJhdHRlcnlQcm92aWRlci5jcHAgXAorICAgIFVJUHJvY2Vzcy9XZWJDb2xvckNob29z
ZXJQcm94eS5jcHAgXAorICAgIFVJUHJvY2Vzcy9XZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVy
UHJveHkuY3BwIFwKICAgICBVSVByb2Nlc3MvV2ViQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAg
XAogICAgIFVJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcCBcCiAgICAgVUlQcm9jZXNzL1dlYkNvbnRl
eHRDb25uZWN0aW9uQ2xpZW50LmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tBUElDYXN0LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
V0tBUElDYXN0LmgKaW5kZXggZmU1NWRkOC4uYmE2Mjc3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaApAQCAtNjEsNiArNjEsNyBAQCBjbGFzcyBXZWJCYWNr
Rm9yd2FyZExpc3RJdGVtOwogY2xhc3MgV2ViQmF0dGVyeU1hbmFnZXJQcm94eTsKIGNsYXNzIFdl
YkJhdHRlcnlTdGF0dXM7CiBjbGFzcyBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5OworY2xh
c3MgV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5OwogY2xhc3MgV2ViQ29udGV4dDsK
IGNsYXNzIFdlYkNvb2tpZU1hbmFnZXJQcm94eTsKIGNsYXNzIFdlYkNyZWRlbnRpYWw7CkBAIC0x
MDQsNiArMTA1LDcgQEAgV0tfQUREX0FQSV9NQVBQSU5HKFdLQmFja0ZvcndhcmRMaXN0UmVmLCBX
ZWJCYWNrRm9yd2FyZExpc3QpCiBXS19BRERfQVBJX01BUFBJTkcoV0tCYXR0ZXJ5TWFuYWdlclJl
ZiwgV2ViQmF0dGVyeU1hbmFnZXJQcm94eSkKIFdLX0FERF9BUElfTUFQUElORyhXS0JhdHRlcnlT
dGF0dXNSZWYsIFdlYkJhdHRlcnlTdGF0dXMpCiBXS19BRERfQVBJX01BUFBJTkcoV0tSZXNvdXJj
ZUNhY2hlTWFuYWdlclJlZiwgV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eSkKK1dLX0FERF9B
UElfTUFQUElORyhXS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJSZWYsIFdlYkNvbG9yUGlja2Vy
UmVzdWx0TGlzdGVuZXJQcm94eSkKIFdLX0FERF9BUElfTUFQUElORyhXS0NvbnRleHRSZWYsIFdl
YkNvbnRleHQpCiBXS19BRERfQVBJX01BUFBJTkcoV0tDb29raWVNYW5hZ2VyUmVmLCBXZWJDb29r
aWVNYW5hZ2VyUHJveHkpCiBXS19BRERfQVBJX01BUFBJTkcoV0tDcmVkZW50aWFsUmVmLCBXZWJD
cmVkZW50aWFsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
Q29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi5kZTU1MzlkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lci5jcHAKQEAgLTAs
MCArMSw0OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0cm9uaWNz
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIldLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lci5oIgorCisjaW5jbHVkZSAiV0tBUElD
YXN0LmgiCisjaW5jbHVkZSAiV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5LmgiCisK
K3VzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CisKK1dLVHlwZUlEIFdLQ29sb3JQaWNrZXJSZXN1bHRM
aXN0ZW5lckdldFR5cGVJRCgpCit7CisjaWYgRU5BQkxFKElOUFVUX1RZUEVfQ09MT1IpCisgICAg
cmV0dXJuIHRvQVBJKFdlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eTo6QVBJVHlwZSk7
CisjZWxzZQorICAgIHJldHVybiAwOworI2VuZGlmCit9CisKK3ZvaWQgV0tDb2xvclBpY2tlclJl
c3VsdExpc3RlbmVyU2V0Q29sb3IoV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUmVmIGxpc3Rl
bmVyUmVmLCBjb25zdCBXS1N0cmluZ1JlZiBjb2xvcikKK3sKKyNpZiBFTkFCTEUoSU5QVVRfVFlQ
RV9DT0xPUikKKyAgICB0b0ltcGwobGlzdGVuZXJSZWYpLT5zZXRDb2xvcih0b1dURlN0cmluZyhj
b2xvcikpOworI2VuZGlmCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uYmZkNDczMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIuaApAQCAt
MCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25p
Y3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdLQ29sb3JQaWNrZXJS
ZXN1bHRMaXN0ZW5lcl9oCisjZGVmaW5lIFdLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lcl9oCisK
KyNpbmNsdWRlIDxXZWJLaXQyL1dLQmFzZS5oPgorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVy
biAiQyIgeworI2VuZGlmCisKK1dLX0VYUE9SVCBXS1R5cGVJRCBXS0NvbG9yUGlja2VyUmVzdWx0
TGlzdGVuZXJHZXRUeXBlSUQoKTsKKworV0tfRVhQT1JUIHZvaWQgV0tDb2xvclBpY2tlclJlc3Vs
dExpc3RlbmVyU2V0Q29sb3IoV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUmVmIGxpc3RlbmVy
UmVmLCBjb25zdCBXS1N0cmluZ1JlZiBjb2xvcik7CisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQor
I2VuZGlmCisKKyNlbmRpZiAvKiBXS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJfaCAqLwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5oIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5oCmluZGV4IDU1NjY4MjYuLjczY2Y2ODEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmgKQEAgLTIyNSw2ICsyMjUs
OCBAQCB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VTYXZlRGF0YVRvRmlsZUluRG93bmxvYWRzRm9sZGVy
Q2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBXSwogdHlwZWRlZiBib29sICgqV0tQYWdlU2hvdWxk
SW50ZXJydXB0SmF2YVNjcmlwdENhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgY29uc3Qgdm9pZCAq
Y2xpZW50SW5mbyk7CiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VEZWNpZGVQb2xpY3lGb3JOb3RpZmlj
YXRpb25QZXJtaXNzaW9uUmVxdWVzdENhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tTZWN1cml0
eU9yaWdpblJlZiBvcmlnaW4sIFdLTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RSZWYgcGVy
bWlzc2lvblJlcXVlc3QsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwogdHlwZWRlZiB2b2lkICgq
V0tQYWdlVW5hdmFpbGFibGVQbHVnaW5CdXR0b25DbGlja2VkQ2FsbGJhY2spKFdLUGFnZVJlZiBw
YWdlLCBXS1BsdWdpblVuYXZhaWxhYmlsaXR5UmVhc29uIHBsdWdpblVuYXZhaWxhYmlsaXR5UmVh
c29uLCBXS1N0cmluZ1JlZiBtaW1lVHlwZSwgV0tTdHJpbmdSZWYgdXJsLCBXS1N0cmluZ1JlZiBw
bHVnaW5zUGFnZVVSTCwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpX
S1BhZ2VTaG93Q29sb3JQaWNrZXJDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVm
IGluaXRpYWxDb2xvciwgV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUmVmIGxpc3RlbmVyLCBj
b25zdCB2b2lkKiBjbGllbnRJbmZvKTsKK3R5cGVkZWYgdm9pZCAoKldLUGFnZUhpZGVDb2xvclBp
Y2tlckNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiAK
IC8vIERlcHJlY2F0ZWQgICAgCiB0eXBlZGVmIFdLUGFnZVJlZiAoKldLUGFnZUNyZWF0ZU5ld1Bh
Z2VDYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFYwKShXS1BhZ2VSZWYgcGFnZSwgV0tEaWN0
aW9uYXJ5UmVmIGZlYXR1cmVzLCBXS0V2ZW50TW9kaWZpZXJzIG1vZGlmaWVycywgV0tFdmVudE1v
dXNlQnV0dG9uIG1vdXNlQnV0dG9uLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKQEAgLTI4MSwx
MCArMjgzLDE0IEBAIHN0cnVjdCBXS1BhZ2VVSUNsaWVudCB7CiAgICAgV0tQYWdlTW91c2VEaWRN
b3ZlT3ZlckVsZW1lbnRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb3Vz
ZURpZE1vdmVPdmVyRWxlbWVudDsKICAgICBXS1BhZ2VEZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRp
b25QZXJtaXNzaW9uUmVxdWVzdENhbGxiYWNrICAgICAgICAgIGRlY2lkZVBvbGljeUZvck5vdGlm
aWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0OwogICAgIFdLUGFnZVVuYXZhaWxhYmxlUGx1Z2luQnV0
dG9uQ2xpY2tlZENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgdW5hdmFpbGFibGVQbHVn
aW5CdXR0b25DbGlja2VkOworCisgICAgLy8gVmVyc2lvbiAyCisgICAgV0tQYWdlU2hvd0NvbG9y
UGlja2VyQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93
Q29sb3JQaWNrZXI7CisgICAgV0tQYWdlSGlkZUNvbG9yUGlja2VyQ2FsbGJhY2sgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaWRlQ29sb3JQaWNrZXI7CiB9OwogdHlwZWRl
ZiBzdHJ1Y3QgV0tQYWdlVUlDbGllbnQgV0tQYWdlVUlDbGllbnQ7CiAKLWVudW0geyBrV0tQYWdl
VUlDbGllbnRDdXJyZW50VmVyc2lvbiA9IDEgfTsKK2VudW0geyBrV0tQYWdlVUlDbGllbnRDdXJy
ZW50VmVyc2lvbiA9IDIgfTsKIAogLy8gRmluZCBjbGllbnQuCiB0eXBlZGVmIHZvaWQgKCpXS1Bh
Z2VEaWRGaW5kU3RyaW5nQ2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBXS1N0cmluZ1JlZiBzdHJp
bmcsIHVuc2lnbmVkIG1hdGNoQ291bnQsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VUlDbGllbnQuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VUlDbGllbnQuY3BwCmlu
ZGV4IDFkOTg1ZDMuLjU5ZDBiMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdFVJQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRVSUNsaWVudC5jcHAKQEAgLTIwNCw2ICsyMDQsOCBAQCB2b2lkIGF0
dGFjaFVJQ2xpZW50VG9WaWV3KFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCiAgICAgICAgIG1vdXNl
RGlkTW92ZU92ZXJFbGVtZW50LAogICAgICAgICAwLCAvLyBkZWNpZGVQb2xpY3lGb3JOb3RpZmlj
YXRpb25QZXJtaXNzaW9uUmVxdWVzdAogICAgICAgICAwLCAvLyB1bmF2YWlsYWJsZVBsdWdpbkJ1
dHRvbkNsaWNrZWQKKyAgICAgICAgMCwgLy8gc2hvd0NvbG9yUGlja2VyCisgICAgICAgIDAsIC8v
IGhpZGVDb2xvclBpY2tlcgogICAgIH07CiAgICAgV0tQYWdlUmVmIHdrUGFnZSA9IHRvQVBJKHdl
YmtpdFdlYlZpZXdCYXNlR2V0UGFnZShXRUJLSVRfV0VCX1ZJRVdfQkFTRSh3ZWJWaWV3KSkpOwog
ICAgIFdLUGFnZVNldFBhZ2VVSUNsaWVudCh3a1BhZ2UsICZ3a1VJQ2xpZW50KTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb2xvckNob29zZXJQcm94eS5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29sb3JDaG9vc2VyUHJveHkuY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1NTQwNDcKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29sb3JDaG9vc2VyUHJveHkuY3BwCkBAIC0wLDAg
KzEsNjAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmljcy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNs
dWRlICJXZWJDb2xvckNob29zZXJQcm94eS5oIgorCisjaWYgRU5BQkxFKElOUFVUX1RZUEVfQ09M
T1IpCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitXZWJDb2xvckNob29zZXJQcm94eTo6V2ViQ29s
b3JDaG9vc2VyUHJveHkoQ2xpZW50KiBjbGllbnQpCisgICAgOiBtX2NsaWVudChjbGllbnQpCit7
Cit9CisKK1dlYkNvbG9yQ2hvb3NlclByb3h5Ojp+V2ViQ29sb3JDaG9vc2VyUHJveHkoKQorewor
fQorCit2b2lkIFdlYkNvbG9yQ2hvb3NlclByb3h5OjplbmRDaG9vc2VyKCkKK3sKKyAgICBpZiAo
IW1fY2xpZW50KQorICAgICAgICByZXR1cm47CisKKyAgICBtX2NsaWVudC0+ZGlkRW5kQ29sb3JD
aG9vc2VyKCk7Cit9CisKK3ZvaWQgV2ViQ29sb3JDaG9vc2VyUHJveHk6OnNldFNlbGVjdGVkQ29s
b3IoY29uc3QgV2ViQ29yZTo6Q29sb3ImIGNvbG9yKQoreworICAgIGlmICghbV9jbGllbnQpCisg
ICAgICAgIHJldHVybjsKKworICAgIG1fY2xpZW50LT5kaWRDaG9vc2VDb2xvcihjb2xvcik7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKElOUFVUX1RZUEVf
Q09MT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29sb3JDaG9v
c2VyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb2xvckNob29zZXJQcm94
eS5oCmluZGV4IDc5MDZjMTAuLjVkYTRjYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJDb2xvckNob29zZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJDb2xvckNob29zZXJQcm94eS5oCkBAIC00OSwxOCArNDksMjEgQEAgcHVibGljOgog
ICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hvb3NlQ29sb3IoY29uc3QgV2ViQ29yZTo6Q29sb3Im
KSA9IDA7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRFbmRDb2xvckNob29zZXIoKSA9IDA7CiAg
ICAgfTsKLSAgICB2aXJ0dWFsIH5XZWJDb2xvckNob29zZXJQcm94eSgpIHsgfQorCisgICAgc3Rh
dGljIFBhc3NSZWZQdHI8V2ViQ29sb3JDaG9vc2VyUHJveHk+IGNyZWF0ZShDbGllbnQqIGNsaWVu
dCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgV2ViQ29sb3JDaG9vc2VyUHJv
eHkoY2xpZW50KSk7CisgICAgfQorCisgICAgdmlydHVhbCB+V2ViQ29sb3JDaG9vc2VyUHJveHko
KTsKIAogICAgIHZvaWQgaW52YWxpZGF0ZSgpIHsgbV9jbGllbnQgPSAwOyB9CiAKLSAgICB2aXJ0
dWFsIHZvaWQgZW5kQ2hvb3NlcigpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0U2VsZWN0ZWRD
b2xvcihjb25zdCBXZWJDb3JlOjpDb2xvciYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZW5kQ2hv
b3NlcigpOworICAgIHZpcnR1YWwgdm9pZCBzZXRTZWxlY3RlZENvbG9yKGNvbnN0IFdlYkNvcmU6
OkNvbG9yJik7CiAKIHByb3RlY3RlZDoKLSAgICBXZWJDb2xvckNob29zZXJQcm94eShDbGllbnQq
IGNsaWVudCkKLSAgICAgICAgOiBtX2NsaWVudChjbGllbnQpCi0gICAgewotICAgIH0KKyAgICBl
eHBsaWNpdCBXZWJDb2xvckNob29zZXJQcm94eShDbGllbnQqKTsKIAogICAgIENsaWVudCogbV9j
bGllbnQ7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbG9y
UGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi4wZWU3OWRkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eS5jcHAKQEAgLTAs
MCArMSw2MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0cm9uaWNz
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIldlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eS5oIgorCisjaWYgRU5BQkxF
KElOUFVUX1RZUEVfQ09MT1IpCisKKyNpbmNsdWRlICJXZWJQYWdlUHJveHkuaCIKKworbmFtZXNw
YWNlIFdlYktpdCB7CisKK1dlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eTo6V2ViQ29s
b3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5KFdlYlBhZ2VQcm94eSogcGFnZSkKKyAgICA6IG1f
cGFnZShwYWdlKQoreworfQorCitXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHk6On5X
ZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkoKQoreworfQorCit2b2lkIFdlYkNvbG9y
UGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eTo6aW52YWxpZGF0ZSgpCit7CisgICAgbV9wYWdlID0g
MDsKK30KKwordm9pZCBXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHk6OnNldENvbG9y
KGNvbnN0IFN0cmluZyYgY29sb3IpCit7CisgICAgaWYgKCFtX3BhZ2UpCisgICAgICAgIHJldHVy
bjsKKworICAgIG1fcGFnZS0+c2V0Q29sb3JDaG9vc2VyQ29sb3IoV2ViQ29yZTo6Q29sb3IoY29s
b3IpKTsKKyAgICBtX3BhZ2UtPmVuZENvbG9yQ2hvb3NlcigpOworfQorCit9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShJTlBVVF9UWVBFX0NPTE9SKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJQ
cm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbG9yUGlja2VyUmVzdWx0TGlz
dGVuZXJQcm94eS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQyOGViOGEK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29sb3JQaWNr
ZXJSZXN1bHRMaXN0ZW5lclByb3h5LmgKQEAgLTAsMCArMSw2NiBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2lmbmRlZiBXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHlfaAorI2RlZmlu
ZSBXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHlfaAorCisjaWYgRU5BQkxFKElOUFVU
X1RZUEVfQ09MT1IpCisKKyNpbmNsdWRlICJBUElPYmplY3QuaCIKKyNpbmNsdWRlIDx3dGYvUGFz
c1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9X
VEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYlBhZ2VQcm94eTsK
KworY2xhc3MgV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5IDogcHVibGljIEFQSU9i
amVjdCB7CitwdWJsaWM6CisgICAgc3RhdGljIGNvbnN0IFR5cGUgQVBJVHlwZSA9IFR5cGVDb2xv
clBpY2tlclJlc3VsdExpc3RlbmVyOworCisgICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViQ29sb3JQ
aWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5PiBjcmVhdGUoV2ViUGFnZVByb3h5KiBwYWdlKQorICAg
IHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJDb2xvclBpY2tlclJlc3VsdExpc3Rl
bmVyUHJveHkocGFnZSkpOworICAgIH0KKworICAgIHZpcnR1YWwgfldlYkNvbG9yUGlja2VyUmVz
dWx0TGlzdGVuZXJQcm94eSgpOworCisgICAgdm9pZCBpbnZhbGlkYXRlKCk7CisgICAgdm9pZCBz
ZXRDb2xvcihjb25zdCBTdHJpbmcmKTsKKworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBXZWJDb2xv
clBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkoV2ViUGFnZVByb3h5Kik7CisKKyAgICB2aXJ0dWFs
IFR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIEFQSVR5cGU7IH0KKworICAgIFJlZlB0cjxXZWJQ
YWdlUHJveHk+IG1fcGFnZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYg
Ly8gRU5BQkxFKElOUFVUX1RZUEVfQ09MT1IpCisKKyNlbmRpZiAvLyBXZWJDb2xvclBpY2tlclJl
c3VsdExpc3RlbmVyUHJveHlfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmNwcAppbmRleCA0YWM2ZDIyLi44ZmQ3MmEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcApAQCAtNTIsNiArNTIsNyBAQAogI2luY2x1ZGUgIldlYkJhY2tGb3J3
YXJkTGlzdC5oIgogI2luY2x1ZGUgIldlYkJhY2tGb3J3YXJkTGlzdEl0ZW0uaCIKICNpbmNsdWRl
ICJXZWJDZXJ0aWZpY2F0ZUluZm8uaCIKKyNpbmNsdWRlICJXZWJDb2xvclBpY2tlclJlc3VsdExp
c3RlbmVyUHJveHkuaCIKICNpbmNsdWRlICJXZWJDb250ZXh0LmgiCiAjaW5jbHVkZSAiV2ViQ29u
dGV4dE1lbnVQcm94eS5oIgogI2luY2x1ZGUgIldlYkNvbnRleHRVc2VyTWVzc2FnZUNvZGVycy5o
IgpAQCAtNDEzLDYgKzQxNCwxMSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6Y2xvc2UoKQogICAgICAg
ICBtX2NvbG9yQ2hvb3Nlci0+aW52YWxpZGF0ZSgpOwogICAgICAgICBtX2NvbG9yQ2hvb3NlciA9
IG51bGxwdHI7CiAgICAgfQorCisgICAgaWYgKG1fY29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lcikg
eworICAgICAgICBtX2NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXItPmludmFsaWRhdGUoKTsKKyAg
ICAgICAgbV9jb2xvclBpY2tlclJlc3VsdExpc3RlbmVyID0gbnVsbHB0cjsKKyAgICB9CiAjZW5k
aWYKIAogI2lmIEVOQUJMRShHRU9MT0NBVElPTikKQEAgLTI3MjQsNyArMjczMCwyMCBAQCB2b2lk
IFdlYlBhZ2VQcm94eTo6c2hvd0NvbG9yQ2hvb3Nlcihjb25zdCBXZWJDb3JlOjpDb2xvciYgaW5p
dGlhbENvbG9yLCBjb25zdCBJbgogewogICAgIEFTU0VSVCghbV9jb2xvckNob29zZXIpOwogCisg
ICAgaWYgKG1fY29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lcikgeworICAgICAgICBtX2NvbG9yUGlj
a2VyUmVzdWx0TGlzdGVuZXItPmludmFsaWRhdGUoKTsKKyAgICAgICAgbV9jb2xvclBpY2tlclJl
c3VsdExpc3RlbmVyID0gbnVsbHB0cjsKKyAgICB9CisKKyAgICBtX2NvbG9yUGlja2VyUmVzdWx0
TGlzdGVuZXIgPSBXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHk6OmNyZWF0ZSh0aGlz
KTsKKyAgICBtX2NvbG9yQ2hvb3NlciA9IFdlYkNvbG9yQ2hvb3NlclByb3h5OjpjcmVhdGUodGhp
cyk7CisKKyAgICBpZiAobV91aUNsaWVudC5zaG93Q29sb3JQaWNrZXIodGhpcywgaW5pdGlhbENv
bG9yLnNlcmlhbGl6ZWQoKSwgbV9jb2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmdldCgpKSkKKyAg
ICAgICAgcmV0dXJuOworCiAgICAgbV9jb2xvckNob29zZXIgPSBtX3BhZ2VDbGllbnQtPmNyZWF0
ZUNvbG9yQ2hvb3NlclByb3h5KHRoaXMsIGluaXRpYWxDb2xvciwgZWxlbWVudFJlY3QpOworICAg
IGlmICghbV9jb2xvckNob29zZXIpCisgICAgICAgIGRpZEVuZENvbG9yQ2hvb3NlcigpOwogfQog
CiB2b2lkIFdlYlBhZ2VQcm94eTo6c2V0Q29sb3JDaG9vc2VyQ29sb3IoY29uc3QgV2ViQ29yZTo6
Q29sb3ImIGNvbG9yKQpAQCAtMjc1NCwxMiArMjc3MywxNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6
ZGlkRW5kQ29sb3JDaG9vc2VyKCkKICAgICBpZiAoIWlzVmFsaWQoKSkKICAgICAgICAgcmV0dXJu
OwogCi0gICAgQVNTRVJUKG1fY29sb3JDaG9vc2VyKTsKLQotICAgIG1fY29sb3JDaG9vc2VyLT5p
bnZhbGlkYXRlKCk7Ci0gICAgbV9jb2xvckNob29zZXIgPSBudWxscHRyOworICAgIGlmIChtX2Nv
bG9yQ2hvb3NlcikgeworICAgICAgICBtX2NvbG9yQ2hvb3Nlci0+aW52YWxpZGF0ZSgpOworICAg
ICAgICBtX2NvbG9yQ2hvb3NlciA9IG51bGxwdHI7CisgICAgfQogCiAgICAgbV9wcm9jZXNzLT5z
ZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpEaWRFbmRDb2xvckNob29zZXIoKSwgbV9wYWdlSUQpOwor
CisgICAgbV9jb2xvclBpY2tlclJlc3VsdExpc3RlbmVyLT5pbnZhbGlkYXRlKCk7CisgICAgbV9j
b2xvclBpY2tlclJlc3VsdExpc3RlbmVyID0gbnVsbHB0cjsKKworICAgIG1fdWlDbGllbnQuaGlk
ZUNvbG9yUGlja2VyKHRoaXMpOwogfQogI2VuZGlmCiAKQEAgLTM1MzYsNiArMzU2MCwxMSBAQCB2
b2lkIFdlYlBhZ2VQcm94eTo6cHJvY2Vzc0RpZENyYXNoKCkKICAgICAgICAgbV9jb2xvckNob29z
ZXItPmludmFsaWRhdGUoKTsKICAgICAgICAgbV9jb2xvckNob29zZXIgPSBudWxscHRyOwogICAg
IH0KKworICAgIGlmIChtX2NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIpIHsKKyAgICAgICAgbV9j
b2xvclBpY2tlclJlc3VsdExpc3RlbmVyLT5pbnZhbGlkYXRlKCk7CisgICAgICAgIG1fY29sb3JQ
aWNrZXJSZXN1bHRMaXN0ZW5lciA9IG51bGxwdHI7CisgICAgfQogI2VuZGlmCiAKICNpZiBFTkFC
TEUoR0VPTE9DQVRJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5k
ZXggZmQwN2M2Zi4uYzRkMjc0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaApAQCAtMTM5LDYgKzEzOSw3IEBAIGNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwog
Y2xhc3MgU3RyaW5nUGFpclZlY3RvcjsKIGNsYXNzIFdlYkJhY2tGb3J3YXJkTGlzdDsKIGNsYXNz
IFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW07CitjbGFzcyBXZWJDb2xvclBpY2tlclJlc3VsdExpc3Rl
bmVyUHJveHk7CiBjbGFzcyBXZWJDb250ZXh0TWVudVByb3h5OwogY2xhc3MgV2ViRGF0YTsKIGNs
YXNzIFdlYkVkaXRDb21tYW5kUHJveHk7CkBAIC03MjEsNiArNzIyLDExIEBAIHB1YmxpYzoKIAog
ICAgIHZvaWQgcG9zdE1lc3NhZ2VUb0luamVjdGVkQnVuZGxlKGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZU5hbWUsIEFQSU9iamVjdCogbWVzc2FnZUJvZHkpOwogCisjaWYgRU5BQkxFKElOUFVUX1RZUEVf
Q09MT1IpCisgICAgdm9pZCBzZXRDb2xvckNob29zZXJDb2xvcihjb25zdCBXZWJDb3JlOjpDb2xv
ciYpOworICAgIHZvaWQgZW5kQ29sb3JDaG9vc2VyKCk7CisjZW5kaWYKKwogcHJpdmF0ZToKICAg
ICBXZWJQYWdlUHJveHkoUGFnZUNsaWVudCosIFBhc3NSZWZQdHI8V2ViUHJvY2Vzc1Byb3h5Piwg
V2ViUGFnZUdyb3VwKiwgdWludDY0X3QgcGFnZUlEKTsKIApAQCAtODUzLDggKzg1OSw2IEBAIHBy
aXZhdGU6CiAKICNpZiBFTkFCTEUoSU5QVVRfVFlQRV9DT0xPUikKICAgICB2b2lkIHNob3dDb2xv
ckNob29zZXIoY29uc3QgV2ViQ29yZTo6Q29sb3ImIGluaXRpYWxDb2xvciwgY29uc3QgV2ViQ29y
ZTo6SW50UmVjdCYpOwotICAgIHZvaWQgc2V0Q29sb3JDaG9vc2VyQ29sb3IoY29uc3QgV2ViQ29y
ZTo6Q29sb3ImKTsKLSAgICB2b2lkIGVuZENvbG9yQ2hvb3NlcigpOwogICAgIHZvaWQgZGlkQ2hv
b3NlQ29sb3IoY29uc3QgV2ViQ29yZTo6Q29sb3ImKTsKICAgICB2b2lkIGRpZEVuZENvbG9yQ2hv
b3NlcigpOwogI2VuZGlmCkBAIC0xMTQ1LDYgKzExNDksNyBAQCBwcml2YXRlOgogI2VuZGlmCiAj
aWYgRU5BQkxFKElOUFVUX1RZUEVfQ09MT1IpCiAgICAgUmVmUHRyPFdlYkNvbG9yQ2hvb3NlclBy
b3h5PiBtX2NvbG9yQ2hvb3NlcjsKKyAgICBSZWZQdHI8V2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0
ZW5lclByb3h5PiBtX2NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXI7CiAjZW5kaWYKIAogICAgIHVp
bnQ2NF90IG1fcGFnZUlEOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlVJQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJVSUNsaWVudC5jcHAK
aW5kZXggZWQxZmI5My4uZjg4YzAwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlVJQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViVUlD
bGllbnQuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiTmF0aXZlV2ViV2hlZWxFdmVu
dC5oIgogI2luY2x1ZGUgIk5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0LmgiCiAjaW5jbHVk
ZSAiV0tBUElDYXN0LmgiCisjaW5jbHVkZSAiV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclBy
b3h5LmgiCiAjaW5jbHVkZSAiV2ViTnVtYmVyLmgiCiAjaW5jbHVkZSAiV2ViT3BlblBhbmVsUmVz
dWx0TGlzdGVuZXJQcm94eS5oIgogI2luY2x1ZGUgIldlYlBhZ2VQcm94eS5oIgpAQCAtNDE3LDQg
KzQxOCwyNCBAQCBib29sIFdlYlVJQ2xpZW50OjpzaG91bGRJbnRlcnJ1cHRKYXZhU2NyaXB0KFdl
YlBhZ2VQcm94eSogcGFnZSkKICAgICByZXR1cm4gbV9jbGllbnQuc2hvdWxkSW50ZXJydXB0SmF2
YVNjcmlwdCh0b0FQSShwYWdlKSwgbV9jbGllbnQuY2xpZW50SW5mbyk7CiB9CiAKKyNpZiBFTkFC
TEUoSU5QVVRfVFlQRV9DT0xPUikKK2Jvb2wgV2ViVUlDbGllbnQ6OnNob3dDb2xvclBpY2tlcihX
ZWJQYWdlUHJveHkqIHBhZ2UsIGNvbnN0IFN0cmluZyYgaW5pdGlhbENvbG9yLCBXZWJDb2xvclBp
Y2tlclJlc3VsdExpc3RlbmVyUHJveHkqIGxpc3RlbmVyKQoreworICAgIGlmICghbV9jbGllbnQu
c2hvd0NvbG9yUGlja2VyKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBtX2NsaWVudC5z
aG93Q29sb3JQaWNrZXIodG9BUEkocGFnZSksIHRvQVBJKGluaXRpYWxDb2xvci5pbXBsKCkpLCB0
b0FQSShsaXN0ZW5lciksIG1fY2xpZW50LmNsaWVudEluZm8pOworICAgIHJldHVybiB0cnVlOwor
fQorCitib29sIFdlYlVJQ2xpZW50OjpoaWRlQ29sb3JQaWNrZXIoV2ViUGFnZVByb3h5KiBwYWdl
KQoreworICAgIGlmICghbV9jbGllbnQuaGlkZUNvbG9yUGlja2VyKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICBtX2NsaWVudC5oaWRlQ29sb3JQaWNrZXIodG9BUEkocGFnZSksIG1fY2xp
ZW50LmNsaWVudEluZm8pOworICAgIHJldHVybiB0cnVlOworfQorI2VuZGlmCisKIH0gLy8gbmFt
ZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlVJ
Q2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViVUlDbGllbnQuaAppbmRleCAy
OGNmYjY4Li45YjUyYmZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
VUlDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViVUlDbGllbnQuaApA
QCAtNDgsNiArNDgsNyBAQCBjbGFzcyBHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0UHJveHk7
CiBjbGFzcyBOYXRpdmVXZWJLZXlib2FyZEV2ZW50OwogY2xhc3MgTmF0aXZlV2ViV2hlZWxFdmVu
dDsKIGNsYXNzIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0OworY2xhc3MgV2ViQ29sb3JQ
aWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5OwogY2xhc3MgV2ViRGF0YTsKIGNsYXNzIFdlYkZyYW1l
UHJveHk7CiBjbGFzcyBXZWJQYWdlUHJveHk7CkBAIC0xMTUsNiArMTE2LDExIEBAIHB1YmxpYzoK
ICAgICB2b2lkIHNhdmVEYXRhVG9GaWxlSW5Eb3dubG9hZHNGb2xkZXIoV2ViUGFnZVByb3h5Kiwg
Y29uc3QgU3RyaW5nJiBzdWdnZXN0ZWRGaWxlbmFtZSwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwg
Y29uc3QgU3RyaW5nJiBvcmlnaW5hdGluZ1VSTFN0cmluZywgV2ViRGF0YSopOwogCiAgICAgYm9v
bCBzaG91bGRJbnRlcnJ1cHRKYXZhU2NyaXB0KFdlYlBhZ2VQcm94eSopOworCisjaWYgRU5BQkxF
KElOUFVUX1RZUEVfQ09MT1IpCisgICAgYm9vbCBzaG93Q29sb3JQaWNrZXIoV2ViUGFnZVByb3h5
KiwgY29uc3QgU3RyaW5nJiwgV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5Kik7Cisg
ICAgYm9vbCBoaWRlQ29sb3JQaWNrZXIoV2ViUGFnZVByb3h5Kik7CisjZW5kaWYKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDRlYTUxNDcuLmIwYzBhNGMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTkxNyw2ICs5
MTcsMTAgQEAKIAkJRTFFRTUzRTcxMUY4Q0ZGQjAwQ0NCRUU0IC8qIEluamVjdGVkQnVuZGxlUGFn
ZUVkaXRvckNsaWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBFMUVFNTNFNjExRjhDRkZCMDBDQ0JFRTQgLyogSW5qZWN0ZWRCdW5kbGVQYWdlRWRp
dG9yQ2xpZW50LmNwcCAqLzsgfTsKIAkJRUQ4MkE3RjIxMjhDNkZBRjAwNDQ3N0IzIC8qIFdLQnVu
ZGxlUGFnZU92ZXJsYXkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDFBMjJGMEZGMTI4OUZDRDkwMDg1RTc0RiAvKiBXS0J1bmRsZVBhZ2VPdmVybGF5Lmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRURDQTcx
QjcxMjhEREE4QzAwMjAxQjI2IC8qIFdLQnVuZGxlUGFnZU92ZXJsYXkuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyMkYxMDAxMjg5RkNEOTAwODVF
NzRGIC8qIFdLQnVuZGxlUGFnZU92ZXJsYXkuY3BwICovOyB9OworCQlGMDM2OTc4NTE1RjRCRTZC
MDBDM0E4MEUgLyogV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYwMzY5NzgzMTVGNEJFNkIwMEMzQTgw
RSAvKiBXS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIuY3BwICovOyB9OworCQlGMDM2OTc4NjE1
RjRCRTZCMDBDM0E4MEUgLyogV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGMDM2OTc4NDE1RjRCRTZCMDBD
M0E4MEUgLyogV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmggKi87IH07CisJCUYwMzY5Nzg4
MTVGNEJGMDUwMEMzQTgwRSAvKiBXZWJDb2xvckNob29zZXJQcm94eS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGMDM2OTc4NzE1RjRCRjA1MDBDM0E4
MEUgLyogV2ViQ29sb3JDaG9vc2VyUHJveHkuY3BwICovOyB9OworCQlGMDM2OTc4QjE1RjRCRjEz
MDBDM0E4MEUgLyogV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5LmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYwMzY5Nzg5MTVGNEJGMTMw
MEMzQTgwRSAvKiBXZWJDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkuY3BwICovOyB9Owog
CQlGNjExM0UyNTEyNkNFMTgyMDA1N0QwQTcgLyogV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjExM0UyNDEy
NkNFMTgyMDA1N0QwQTcgLyogV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmggKi87IH07CiAJCUY2
MTEzRTI4MTI2Q0UxOUIwMDU3RDBBNyAvKiBXS1VzZXJDb250ZW50VVJMUGF0dGVybi5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjExM0UyNjEyNkNF
MTlCMDA1N0QwQTcgLyogV0tVc2VyQ29udGVudFVSTFBhdHRlcm4uY3BwICovOyB9OwogCQlGNjEx
M0UyOTEyNkNFMTlCMDA1N0QwQTcgLyogV0tVc2VyQ29udGVudFVSTFBhdHRlcm4uaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY2MTEzRTI3MTI2Q0UxOUIw
MDU3RDBBNyAvKiBXS1VzZXJDb250ZW50VVJMUGF0dGVybi5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0yMDIwLDYgKzIwMjQsMTEgQEAKIAkJRTFD
QzFCOEYxMkQ3RUFERjAwNjI1ODM4IC8qIFByaW50SW5mb01hYy5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFByaW50SW5mb01hYy5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRTFFRTUzREMxMUY4Q0Y5RjAwQ0NCRUU0IC8qIEluamVjdGVkQnVuZGxl
UGFnZUVkaXRvckNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbmpl
Y3RlZEJ1bmRsZVBhZ2VFZGl0b3JDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRTFFRTUzRTYxMUY4Q0ZGQjAwQ0NCRUU0IC8qIEluamVjdGVkQnVuZGxlUGFnZUVkaXRvckNs
aWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbmplY3RlZEJ1
bmRsZVBhZ2VFZGl0b3JDbGllbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlG
MDM2OTc4MzE1RjRCRTZCMDBDM0E4MEUgLyogV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLQ29sb3JQaWNrZXJSZXN1
bHRMaXN0ZW5lci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUYwMzY5Nzg0MTVG
NEJFNkIwMEMzQTgwRSAvKiBXS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUYwMzY5Nzg3MTVGNEJGMDUwMEMzQTgwRSAvKiBX
ZWJDb2xvckNob29zZXJQcm94eS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBXZWJDb2xvckNob29zZXJQcm94eS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUYwMzY5Nzg5MTVGNEJGMTMwMEMzQTgwRSAvKiBXZWJDb2xvclBpY2tlclJlc3VsdExpc3Rl
bmVyUHJveHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViQ29s
b3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJRjAzNjk3OEExNUY0QkYxMzAwQzNBODBFIC8qIFdlYkNvbG9yUGlja2VyUmVzdWx0TGlz
dGVuZXJQcm94eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb2xvclBp
Y2tlclJlc3VsdExpc3RlbmVyUHJveHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RjYxMTNFMjQxMjZDRTE4MjAwNTdEMEE3IC8qIFdlYlVzZXJDb250ZW50VVJMUGF0dGVybi5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4u
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjYxMTNFMjYxMjZDRTE5QjAwNTdEMEE3
IC8qIFdLVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFdLVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRjYxMTNFMjcxMjZDRTE5QjAwNTdEMEE3IC8qIFdLVXNlckNvbnRlbnRV
UkxQYXR0ZXJuLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLVXNlckNvbnRl
bnRVUkxQYXR0ZXJuLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yOTQ3LDcgKzI5
NTYsMTAgQEAKIAkJCQk1MTJFMzVGMDEzMEI2MzhDMDBBQkQxOUEgLyogV2ViQXBwbGljYXRpb25D
YWNoZU1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbiAqLywKIAkJCQlCQzcyQkExQjExRTY0OTA3MDAx
RUI0RUEgLyogV2ViQmFja0ZvcndhcmRMaXN0LmNwcCAqLywKIAkJCQlCQzcyQkExQzExRTY0OTA3
MDAxRUI0RUEgLyogV2ViQmFja0ZvcndhcmRMaXN0LmggKi8sCisJCQkJRjAzNjk3ODcxNUY0QkYw
NTAwQzNBODBFIC8qIFdlYkNvbG9yQ2hvb3NlclByb3h5LmNwcCAqLywKIAkJCQkzRjg3QjlCRjE1
ODk0MEQ4MDA5MEZGNjIgLyogV2ViQ29sb3JDaG9vc2VyUHJveHkuaCAqLywKKwkJCQlGMDM2OTc4
OTE1RjRCRjEzMDBDM0E4MEUgLyogV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5LmNw
cCAqLywKKwkJCQlGMDM2OTc4QTE1RjRCRjEzMDBDM0E4MEUgLyogV2ViQ29sb3JQaWNrZXJSZXN1
bHRMaXN0ZW5lclByb3h5LmggKi8sCiAJCQkJQkM0QTYyQTUxNDc0NEVDNjAwNkM2ODFBIC8qIFdl
YkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwICovLAogCQkJCUJDNEE2MkE2MTQ3NDRFQzYwMDZD
NjgxQSAvKiBXZWJDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmggKi8sCiAJCQkJQkNCOUUyNDIxMTIw
REFDQTAwQTEzN0UwIC8qIFdlYkNvbnRleHQuY3BwICovLApAQCAtMzA3MSw2ICszMDgzLDggQEAK
IAkJCQlCQzY0NkMxNzExREQzOTlGMDA2NDU1QjAgLyogV0tCYWNrRm9yd2FyZExpc3QuaCAqLywK
IAkJCQlCQzY0NkMxODExREQzOTlGMDA2NDU1QjAgLyogV0tCYWNrRm9yd2FyZExpc3RJdGVtLmNw
cCAqLywKIAkJCQlCQzY0NkMxOTExREQzOTlGMDA2NDU1QjAgLyogV0tCYWNrRm9yd2FyZExpc3RJ
dGVtLmggKi8sCisJCQkJRjAzNjk3ODMxNUY0QkU2QjAwQzNBODBFIC8qIFdLQ29sb3JQaWNrZXJS
ZXN1bHRMaXN0ZW5lci5jcHAgKi8sCisJCQkJRjAzNjk3ODQxNUY0QkU2QjAwQzNBODBFIC8qIFdL
Q29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lci5oICovLAogCQkJCUJDQjlFMjRBMTEyMEUxNUMwMEEx
MzdFMCAvKiBXS0NvbnRleHQuY3BwICovLAogCQkJCUJDQjlFMjQ5MTEyMEUxNUMwMEExMzdFMCAv
KiBXS0NvbnRleHQuaCAqLywKIAkJCQlCQ0M5MzhFMDExODBERTQ0MDA4NUU1RkUgLyogV0tDb250
ZXh0UHJpdmF0ZS5oICovLApAQCAtNDE1NCw2ICs0MTY4LDcgQEAKIAkJCQlCQzE0REY5RjEyMEI2
MzVGMDA4MjZDMEMgLyogV0tCdW5kbGVTY3JpcHRXb3JsZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QkM0MDc1RjYxMjRGRjAyNzAwNjhGMjBBIC8qIFdLQ2VydGlmaWNhdGVJbmZvLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCQzQwNzYyNzEyNEZGMDQwMDA2OEYyMEEgLyogV0tDZXJ0aWZpY2F0ZUluZm9N
YWMuaCBpbiBIZWFkZXJzICovLAorCQkJCUYwMzY5Nzg2MTVGNEJFNkIwMEMzQTgwRSAvKiBXS0Nv
bG9yUGlja2VyUmVzdWx0TGlzdGVuZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQTI4NEQ3MTQ5
MkYyQzcwMDFGOTA0MiAvKiBXS0Nvbm5lY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNUM3
NUM4MTQ5NTREQTYwMEJDNDc3NSAvKiBXS0Nvbm5lY3Rpb25JbnRlcm5hbC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQkM0QTYyOTcxNDczMTNBMDAwNkM2ODFBIC8qIFdLQ29ubmVjdGlvblJlZi5oIGlu
IEhlYWRlcnMgKi8sCkBAIC00NzgzLDYgKzQ3OTgsOCBAQAogCQkJCTUxOEQyQ0FEMTJENTE1M0Iw
MDNCQjkzQiAvKiBXZWJCYWNrRm9yd2FyZExpc3RJdGVtLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUJDNzJCOUZBMTFFNjQ3NkIwMDFFQjRFQSAvKiBXZWJCYWNrRm9yd2FyZExpc3RQcm94eS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlCQzExMUE1QTExMkY0RkJCMDAzMzdCQUIgLyogV2ViQ2hyb21l
Q2xpZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUYwMzY5Nzg4MTVGNEJGMDUwMEMzQTgwRSAv
KiBXZWJDb2xvckNob29zZXJQcm94eS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlGMDM2OTc4QjE1
RjRCRjEzMDBDM0E4MEUgLyogV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUJDNEE2MjhGMTQ3MzEyQkUwMDZDNjgxQSAvKiBXZWJDb25uZWN0
aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDNEE2MjkxMTQ3MzEyQkUwMDZDNjgxQSAvKiBX
ZWJDb25uZWN0aW9uQ2xpZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDRDM2NzVDMTQ4QzI2
QzAwMDQ0N0U4NyAvKiBXZWJDb25uZWN0aW9uVG9VSVByb2Nlc3MuY3BwIGluIFNvdXJjZXMgKi8s
CkBAIC00OTY0LDYgKzQ5ODEsNyBAQAogCQkJCUJDMTRERjlFMTIwQjYzNUYwMDgyNkMwQyAvKiBX
S0J1bmRsZVNjcmlwdFdvcmxkLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDNDA3NUY1MTI0RkYw
MjcwMDY4RjIwQSAvKiBXS0NlcnRpZmljYXRlSW5mby5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlC
QzQwNzYyODEyNEZGMDQwMDA2OEYyMEEgLyogV0tDZXJ0aWZpY2F0ZUluZm9NYWMubW0gaW4gU291
cmNlcyAqLywKKwkJCQlGMDM2OTc4NTE1RjRCRTZCMDBDM0E4MEUgLyogV0tDb2xvclBpY2tlclJl
c3VsdExpc3RlbmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDQTI4NEQ2MTQ5MkYyQzcwMDFG
OTA0MiAvKiBXS0Nvbm5lY3Rpb24ubW0gaW4gU291cmNlcyAqLywKIAkJCQlCQzRBNjI5NjE0NzMx
M0EwMDA2QzY4MUEgLyogV0tDb25uZWN0aW9uUmVmLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJD
QjlFMjRDMTEyMEUxNUMwMEExMzdFMCAvKiBXS0NvbnRleHQuY3BwIGluIFNvdXJjZXMgKi8sCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2ogYi9Tb3VyY2UvV2Vi
S2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2oKaW5kZXggYzY1OTU1NC4uZjFiMGY2NSAxMDA3NTUKLS0t
IGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQy
L3dpbi9XZWJLaXQyLnZjcHJvagpAQCAtMjg5OSwxMCArMjg5OSwyMiBAQAogCQkJCT4KIAkJCTwv
RmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxVSVByb2Nlc3NcV2ViQ29sb3JD
aG9vc2VyUHJveHkuY3BwIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRp
dmVQYXRoPSIuLlxVSVByb2Nlc3NcV2ViQ29sb3JDaG9vc2VyUHJveHkuaCIKIAkJCQk+CiAJCQk8
L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cVUlQcm9jZXNzXFdlYkNvbG9y
UGlja2VyUmVzdWx0TGlzdGVuZXJQcm94eS5jcHAiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZp
bGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFVJUHJvY2Vzc1xXZWJDb2xvclBpY2tlclJlc3VsdExp
c3RlbmVyUHJveHkuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZl
UGF0aD0iLi5cVUlQcm9jZXNzXFdlYkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwIgogCQkJCT4K
IAkJCTwvRmlsZT4KQEAgLTMzMjksNiArMzM0MSwxNCBAQAogCQkJCQkJPgogCQkJCQk8L0ZpbGU+
CiAJCQkJCTxGaWxlCisJCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFVJUHJvY2Vzc1xBUElcQ1xXS0Nv
bG9yUGlja2VyUmVzdWx0TGlzdGVuZXIuY3BwIgorCQkJCQkJPgorCQkJCQk8L0ZpbGU+CisJCQkJ
CTxGaWxlCisJCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFVJUHJvY2Vzc1xBUElcQ1xXS0NvbG9yUGlj
a2VyUmVzdWx0TGlzdGVuZXIuaCIKKwkJCQkJCT4KKwkJCQkJPC9GaWxlPgorCQkJCQk8RmlsZQog
CQkJCQkJUmVsYXRpdmVQYXRoPSIuLlxVSVByb2Nlc3NcQVBJXENcV0tDb250ZXh0LmNwcCIKIAkJ
CQkJCT4KIAkJCQkJPC9GaWxlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvd2luL1dlYktp
dDJHZW5lcmF0ZWQubWFrZSBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyR2VuZXJhdGVkLm1h
a2UKaW5kZXggZjkzZjhhOS4uNmYyNzFjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvd2lu
L1dlYktpdDJHZW5lcmF0ZWQubWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mkdl
bmVyYXRlZC5tYWtlCkBAIC01MSw2ICs1MSw3IEBAIGFsbDoKICAgICB4Y29weSAveSAvZCAiLi5c
VUlQcm9jZXNzXEFQSVxDXFdLQXV0aGVudGljYXRpb25EZWNpc2lvbkxpc3RlbmVyLmgiICIlQ29u
ZmlndXJhdGlvbkJ1aWxkRGlyJVxpbmNsdWRlXFdlYktpdDIiCiAgICAgeGNvcHkgL3kgL2QgIi4u
XFVJUHJvY2Vzc1xBUElcQ1xXS0JhY2tGb3J3YXJkTGlzdC5oIiAiJUNvbmZpZ3VyYXRpb25CdWls
ZERpciVcaW5jbHVkZVxXZWJLaXQyIgogICAgIHhjb3B5IC95IC9kICIuLlxVSVByb2Nlc3NcQVBJ
XENcV0tCYWNrRm9yd2FyZExpc3RJdGVtLmgiICIlQ29uZmlndXJhdGlvbkJ1aWxkRGlyJVxpbmNs
dWRlXFdlYktpdDIiCisgICAgeGNvcHkgL3kgL2QgIi4uXFVJUHJvY2Vzc1xBUElcQ1xXS0NvbG9y
UGlja2VyUmVzdWx0TGlzdGVuZXIuaCIgIiVDb25maWd1cmF0aW9uQnVpbGREaXIlXGluY2x1ZGVc
V2ViS2l0MiIKICAgICB4Y29weSAveSAvZCAiLi5cVUlQcm9jZXNzXEFQSVxDXFdLQ29udGV4dC5o
IiAiJUNvbmZpZ3VyYXRpb25CdWlsZERpciVcaW5jbHVkZVxXZWJLaXQyIgogICAgIHhjb3B5IC95
IC9kICIuLlxVSVByb2Nlc3NcQVBJXENcV0tDb250ZXh0UHJpdmF0ZS5oIiAiJUNvbmZpZ3VyYXRp
b25CdWlsZERpciVcaW5jbHVkZVxXZWJLaXQyIgogICAgIHhjb3B5IC95IC9kICIuLlxVSVByb2Nl
c3NcQVBJXENcV0tDb29raWVNYW5hZ2VyLmgiICIlQ29uZmlndXJhdGlvbkJ1aWxkRGlyJVxpbmNs
dWRlXFdlYktpdDIiCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VM
b2cKaW5kZXggNzg3MWMxMi4uMzZmN2M5NSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisr
KyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTA5LTEzICBLd2FuZ1lv
bmcgQ2hvaSAgPGt5MC5jaG9pQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtXSzJdIEFkZCBjb2xv
ciBwaWNrZXIgQVBJIHN1cHBvcnQgZm9yIFdlYktpdDIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk1MDU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgR3l1
eW91bmcgS2ltLgorCisgICAgICAgIEluaXRpYWxpemF0aW9uIGNvZGUgZm9yIGNvbG9yIHBpY2tl
ciBjYWxsYmFja3MgaW4gVUkgY2xpZW50LgorCisgICAgICAgICogTWluaUJyb3dzZXIvbWFjL0Jy
b3dzZXJXaW5kb3dDb250cm9sbGVyLm06CisgICAgICAgICgtW0Jyb3dzZXJXaW5kb3dDb250cm9s
bGVyIGF3YWtlRnJvbU5pYl0pOgorICAgICAgICAqIE1pbmlCcm93c2VyL3dpbi9Ccm93c2VyVmll
dy5jcHA6CisgICAgICAgIChCcm93c2VyVmlldzo6Y3JlYXRlKToKKyAgICAgICAgKiBXZWJLaXRU
ZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xs
ZXI6OmNyZWF0ZU90aGVyUGFnZSk6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjppbml0
aWFsaXplKToKKwogMjAxMi0wOS0xMyAgUGhpbGlwIFJvZ2VycyAgPHBkckBnb29nbGUuY29tPgog
CiAgICAgICAgIEFkZCBnZW5kZXItbmV1dHJhbCBmb3JtIG9mIHdlYmtpdC1wYXRjaCBsYW5kLWNv
d2JveQpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvbWFjL0Jyb3dzZXJXaW5kb3dDb250
cm9sbGVyLm0gYi9Ub29scy9NaW5pQnJvd3Nlci9tYWMvQnJvd3NlcldpbmRvd0NvbnRyb2xsZXIu
bQppbmRleCBlNmI2ZjU0Li5kOWNiMjg2IDEwMDY0NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci9t
YWMvQnJvd3NlcldpbmRvd0NvbnRyb2xsZXIubQorKysgYi9Ub29scy9NaW5pQnJvd3Nlci9tYWMv
QnJvd3NlcldpbmRvd0NvbnRyb2xsZXIubQpAQCAtNjk0LDYgKzY5NCw4IEBAIC0gKHZvaWQpYXdh
a2VGcm9tTmliCiAgICAgICAgIG1vdXNlRGlkTW92ZU92ZXJFbGVtZW50LAogICAgICAgICAwLCAv
LyBkZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdAogICAgICAgICAw
LCAvLyB1bmF2YWlsYWJsZVBsdWdpbkJ1dHRvbkNsaWNrZWQKKyAgICAgICAgMCwgLy8gc2hvd0Nv
bG9yUGlja2VyCisgICAgICAgIDAsIC8vIGhpZGVDb2xvclBpY2tlcgogICAgIH07CiAgICAgV0tQ
YWdlU2V0UGFnZVVJQ2xpZW50KF93ZWJWaWV3LnBhZ2VSZWYsICZ1aUNsaWVudCk7CiB9CmRpZmYg
LS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci93aW4vQnJvd3NlclZpZXcuY3BwIGIvVG9vbHMvTWlu
aUJyb3dzZXIvd2luL0Jyb3dzZXJWaWV3LmNwcAppbmRleCAwM2E0NmNiLi4wYTY4NThlIDEwMDY0
NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci93aW4vQnJvd3NlclZpZXcuY3BwCisrKyBiL1Rvb2xz
L01pbmlCcm93c2VyL3dpbi9Ccm93c2VyVmlldy5jcHAKQEAgLTEzMCw2ICsxMzAsMTAgQEAgdm9p
ZCBCcm93c2VyVmlldzo6Y3JlYXRlKFJFQ1Qgd2ViVmlld1JlY3QsIEJyb3dzZXJXaW5kb3cqIHBh
cmVudFdpbmRvdykKICAgICAgICAgMCwgICAgICAgICAgLyogc2hvdWxkSW50ZXJydXB0SmF2YVNj
cmlwdCAqLwogICAgICAgICBjcmVhdGVOZXdQYWdlLAogICAgICAgICBtb3VzZURpZE1vdmVPdmVy
RWxlbWVudCwKKyAgICAgICAgMCwgICAgICAgICAgLyogZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0
aW9uUGVybWlzc2lvblJlcXVlc3QgKi8KKyAgICAgICAgMCwgICAgICAgICAgLyogdW5hdmFpbGFi
bGVQbHVnaW5CdXR0b25DbGlja2VkICovCisgICAgICAgIDAsICAgICAgICAgIC8qIHNob3dDb2xv
clBpY2tlciAqLworICAgICAgICAwLCAgICAgICAgICAvKiBoaWRlQ29sb3JQaWNrZXIgKi8KICAg
ICB9OwogCiAgICAgV0tQYWdlU2V0UGFnZVVJQ2xpZW50KFdLVmlld0dldFBhZ2UobV93ZWJWaWV3
KSwgJnVpQ2xpZW50KTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENv
bnRyb2xsZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAK
aW5kZXggMDE3OTUyMi4uM2RhMzg4MCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9UZXN0Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29u
dHJvbGxlci5jcHAKQEAgLTIyMyw2ICsyMjMsOCBAQCBXS1BhZ2VSZWYgVGVzdENvbnRyb2xsZXI6
OmNyZWF0ZU90aGVyUGFnZShXS1BhZ2VSZWYgb2xkUGFnZSwgV0tVUkxSZXF1ZXN0UmVmLCBXSwog
ICAgICAgICAwLCAvLyBtb3VzZURpZE1vdmVPdmVyRWxlbWVudAogICAgICAgICAwLCAvLyBkZWNp
ZGVQb2xpY3lGb3JOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdAogICAgICAgICAwLCAvLyB1
bmF2YWlsYWJsZVBsdWdpbkJ1dHRvbkNsaWNrZWQKKyAgICAgICAgMCwgLy8gc2hvd0NvbG9yUGlj
a2VyCisgICAgICAgIDAsIC8vIGhpZGVDb2xvclBpY2tlcgogICAgIH07CiAgICAgV0tQYWdlU2V0
UGFnZVVJQ2xpZW50KG5ld1BhZ2UsICZvdGhlclBhZ2VVSUNsaWVudCk7CiAKQEAgLTM5MSw2ICsz
OTMsOCBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjppbml0aWFsaXplKGludCBhcmdjLCBjb25zdCBj
aGFyKiBhcmd2W10pCiAgICAgICAgIDAsIC8vIG1vdXNlRGlkTW92ZU92ZXJFbGVtZW50CiAgICAg
ICAgIGRlY2lkZVBvbGljeUZvck5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0LCAvLyBkZWNp
ZGVQb2xpY3lGb3JOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdAogICAgICAgICAwLCAvLyB1
bmF2YWlsYWJsZVBsdWdpbkJ1dHRvbkNsaWNrZWQKKyAgICAgICAgMCwgLy8gc2hvd0NvbG9yUGlj
a2VyCisgICAgICAgIDAsIC8vIGhpZGVDb2xvclBpY2tlcgogICAgIH07CiAgICAgV0tQYWdlU2V0
UGFnZVVJQ2xpZW50KG1fbWFpbldlYlZpZXctPnBhZ2UoKSwgJnBhZ2VVSUNsaWVudCk7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>