<?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>117635</bug_id>
          
          <creation_ts>2013-06-14 04:01:55 -0700</creation_ts>
          <short_desc>[Qt] Remove Qt specific QTKIT flagged code.</short_desc>
          <delta_ts>2013-06-17 08:16:07 -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>New Bugs</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Brüning">michael.bruning</reporter>
          <assigned_to name="Michael Brüning">michael.bruning</assigned_to>
          <cc>abecsi</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>glenn</cc>
    
    <cc>hausmann</cc>
    
    <cc>jer.noble</cc>
    
    <cc>menard</cc>
    
    <cc>pnormand</cc>
    
    <cc>webkit-ews</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>900498</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Brüning">michael.bruning</who>
    <bug_when>2013-06-14 04:01:55 -0700</bug_when>
    <thetext>[Qt] Remove Qt specific QTKIT flagged code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>900503</commentid>
    <comment_count>1</comment_count>
      <attachid>204699</attachid>
    <who name="Michael Brüning">michael.bruning</who>
    <bug_when>2013-06-14 04:12:21 -0700</bug_when>
    <thetext>Created attachment 204699
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>900565</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2013-06-14 07:44:29 -0700</bug_when>
    <thetext>Should the QTKit-related code protected by &quot;USE(GSTREAMER)&quot; elsewhere (eg. WebVideoFullscreenController.mm) also be removed, or it used by other ports?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>900662</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2013-06-14 14:43:31 -0700</bug_when>
    <thetext>It seems to originate from bug #52280 and appears to be unrelated to this bug. That said, from the Qt side we are not using gstreamer on Mac OS X.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>900988</commentid>
    <comment_count>4</comment_count>
    <who name="Michael Brüning">michael.bruning</who>
    <bug_when>2013-06-17 05:11:22 -0700</bug_when>
    <thetext>It seems that WebVideoFullscreenController.mm is in fact only used by the Mac port, at least telling from the build files.

Philippe, are you aware if this is used by any other port?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>900993</commentid>
    <comment_count>5</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2013-06-17 05:38:08 -0700</bug_when>
    <thetext>Some years ago I added some GStreamer support to the mac wk1 port but nowadays this is unmaintained. Feel free to remove it.

Perhaps one day somebody will step up to add GStreamer support to the mac wk2 port :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>901003</commentid>
    <comment_count>6</comment_count>
      <attachid>204816</attachid>
    <who name="Michael Brüning">michael.bruning</who>
    <bug_when>2013-06-17 06:26:58 -0700</bug_when>
    <thetext>Created attachment 204816
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>901004</commentid>
    <comment_count>7</comment_count>
    <who name="Michael Brüning">michael.bruning</who>
    <bug_when>2013-06-17 06:29:44 -0700</bug_when>
    <thetext>I overlooked a couple of Qt-specific files that were not used anymore due to this change. The new patch removes those.

Eric, I&apos;ll file a new bug for the GStreamer code in the Mac port and cc you, I think it&apos;s nicer to keep theses things separate in case someone wants to enable GStreamer support on Mac again for some reason...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>901006</commentid>
    <comment_count>8</comment_count>
      <attachid>204816</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-06-17 06:35:48 -0700</bug_when>
    <thetext>Comment on attachment 204816
Patch

Attachment 204816 did not pass qt-wk2-ews (qt-wk2):
Output: http://webkit-queues.appspot.com/results/918054</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>901011</commentid>
    <comment_count>9</comment_count>
      <attachid>204818</attachid>
    <who name="Michael Brüning">michael.bruning</who>
    <bug_when>2013-06-17 06:42:49 -0700</bug_when>
    <thetext>Created attachment 204818
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>901026</commentid>
    <comment_count>10</comment_count>
      <attachid>204818</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2013-06-17 07:24:16 -0700</bug_when>
    <thetext>Comment on attachment 204818
Patch

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

&gt; Source/WebKit/mac/WebView/WebView.mm:1528
&gt; +#if PLATFORM(MAC)

Funny to see #if PLATFORM(QT) in this file :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>901034</commentid>
    <comment_count>11</comment_count>
    <who name="Michael Brüning">michael.bruning</who>
    <bug_when>2013-06-17 07:35:45 -0700</bug_when>
    <thetext>Committed r151642: &lt;http://trac.webkit.org/changeset/151642&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>901043</commentid>
    <comment_count>12</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2013-06-17 08:16:07 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; I overlooked a couple of Qt-specific files that were not used anymore due to this change. The new patch removes those.
&gt; 
&gt; Eric, I&apos;ll file a new bug for the GStreamer code in the Mac port and cc you, I think it&apos;s nicer to keep theses things separate in case someone wants to enable GStreamer support on Mac again for some reason...

I agree that keeping these separate is a good idea. Thanks for looking into this!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>204699</attachid>
            <date>2013-06-14 04:12:21 -0700</date>
            <delta_ts>2013-06-17 06:26:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-117635-20130614131038.patch</filename>
            <type>text/plain</type>
            <size>38984</size>
            <attacher name="Michael Brüning">michael.bruning</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUxNTg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzliODlmMzNjYTc3OGIy
OGJmYTQ0YjdmZTZkNjdlYWJhMmI5YTY4ZC4uNWU0NzgwYjUzMzJhMGIzMTU3YWQwMzA4YmQ4ODZk
YjU5NDNiOGI2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDEzLTA2LTE0ICBNaWNo
YWVsIEJyw7xuaW5nICA8bWljaGFlbC5icnVuaW5nQGRpZ2lhLmNvbT4KKworICAgICAgICBbUXRd
IFJlbW92ZSBRdCBzcGVjaWZpYyBRVEtJVCBmbGFnZ2VkIGNvZGUuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTc2MzUKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIG5vIGJlaGF2aW91
ciBjaGFuZ2UuCisKKyAgICAgICAgRHVlIHRvIGRpc2FibGluZyBRVEtJVCBmb3IgUXQgaW4gIHIx
NTE1NDYsIHRoZQorICAgICAgICBjb2RlIHRoZSBmbGFncyB0aGF0IGFyZSBub3QgdGFrZW4gaW50
byBhY2NvdW50CisgICAgICAgIGFueW1vcmUgYW5kIHRoZSBjb2RlIHRoYXQgaGFzIGJlZW4gcmVu
ZGVyZWQKKyAgICAgICAgdW5yZWFjaGFibGUgYnkgdGhpcyBhcmUgcmVtb3ZlZC4KKworICAgICAg
ICAqIFRhcmdldC5wcmk6CisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogcGFn
ZS9TZXR0aW5ncy5jcHA6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5oOgorICAgICAgICAqIHBs
YXRmb3JtL0tVUkwuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9TaGFyZWRCdWZmZXIuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9jZi9LVVJMQ0ZOZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6S1VSTDo6
ZmlsZVN5c3RlbVBhdGgpOgorICAgICAgICAqIHBsYXRmb3JtL2NmL1NoYXJlZEJ1ZmZlckNGLmNw
cDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9JbnRSZWN0Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
SW50U2l6ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Omluc3RhbGxlZE1lZGlhRW5naW5lcyk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvY2cvRmxvYXRTaXplQ0cuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2NnL0ludFJlY3RDRy5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFj
L01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
bWFjL01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Lm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQ
bGF5ZXJQcml2YXRlUVRLaXQ6OmNyZWF0ZVFUTW92aWVMYXllcik6CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYVBsYXllclByaXZhdGVRVEtpdDo6cHJlZmVycmVkUmVuZGVyaW5nTW9kZSk6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVRVEtpdDo6cGFpbnQpOgorICAgICAgICAo
LVtXZWJDb3JlTW92aWVPYnNlcnZlciBsYXllckhvc3RDaGFuZ2VkOl0pOgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9TaGFyZWRCdWZmZXJNYWMubW06CisgICAgICAgICgrW1dlYkNvcmVTaGFyZWRC
dWZmZXJEYXRhIGluaXRpYWxpemVdKToKKyAgICAgICAgKFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcjo6
Y3JlYXRlV2l0aENvbnRlbnRzT2ZGaWxlKToKKwogMjAxMy0wNi0xNCAgTWljaGHFgiBQYWt1xYJh
IHZlbCBSdXRrYSAgPG0ucGFrdWxhQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtFRkxdIEZpeCBi
dWlsZCB3aGVuIERSQUdfU1VQUE9SVCBpcyBzZXQgT0ZGCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGY1M2JhYjZlNzNk
MDc4ZWNmNjY5ODQ3YjZkNWQyZGZkZjViMDY3MzIuLmJlZDk4YzFiZmJkNTMxODIxNzNkZWMxZDE5
ZjVjOTRiODZkYmI4MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTMtMDYtMTQgIE1p
Y2hhZWwgQnLDvG5pbmcgIDxtaWNoYWVsLmJydW5pbmdAZGlnaWEuY29tPgorCisgICAgICAgIFtR
dF0gUmVtb3ZlIFF0IHNwZWNpZmljIFFUS0lUIGZsYWdnZWQgY29kZS4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNzYzNQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIER1ZSB0byBkaXNhYmxpbmcgUVRLSVQg
Zm9yIFF0IGluICByMTUxNTQ2LCB0aGUKKyAgICAgICAgY29kZSB0aGUgZmxhZ3MgdGhhdCBhcmUg
bm90IHRha2VuIGludG8gYWNjb3VudAorICAgICAgICBhbnltb3JlIGFuZCB0aGUgY29kZSB0aGF0
IGhhcyBiZWVuIHJlbmRlcmVkCisgICAgICAgIHVucmVhY2hhYmxlIGJ5IHRoaXMgYXJlIHJlbW92
ZWQuCisKKyAgICAgICAgKiBXZWJLaXQxLnBybzoKKwogMjAxMy0wNi0xMyAgQ2hyaXN0b3BoZSBE
dW1leiAgPGNoLmR1bWV6QHNpc2Euc2Ftc3VuZy5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBi
dWlsZCBmaXggYWZ0ZXIgcnIxNTE1NjMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggNjQyMzMxY2Q5Y2Jm
MjlmZDFhMTY5YjFhOTJlYTI0MzY0MzhhZjdkNy4uZjM2MzAzYmFjMGNhMDg5Yzk1YTg0NzM1N2Rk
ZTMzZWFjOTM1NGYyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEzLTA2
LTE0ICBNaWNoYWVsIEJyw7xuaW5nICA8bWljaGFlbC5icnVuaW5nQGRpZ2lhLmNvbT4KKworICAg
ICAgICBbUXRdIFJlbW92ZSBRdCBzcGVjaWZpYyBRVEtJVCBmbGFnZ2VkIGNvZGUuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTc2MzUKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEdWUgdG8gZGlzYWJsaW5n
IFFUS0lUIGZvciBRdCBpbiAgcjE1MTU0NiwgdGhlCisgICAgICAgIGNvZGUgdGhlIGZsYWdzIHRo
YXQgYXJlIG5vdCB0YWtlbiBpbnRvIGFjY291bnQKKyAgICAgICAgYW55bW9yZSBhbmQgdGhlIGNv
ZGUgdGhhdCBoYXMgYmVlbiByZW5kZXJlZAorICAgICAgICB1bnJlYWNoYWJsZSBieSB0aGlzIGFy
ZSByZW1vdmVkLgorCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAoLVtX
ZWJWaWV3IF9wcmVmZXJlbmNlc0NoYW5nZWQ6XSk6CisKIDIwMTMtMDYtMTIgIEFuZGVycyBDYXJs
c3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgdGhlIG5vdGlvbiBv
ZiBpbmFjdGl2ZSBwbHVnLWlucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCAwMDM5ZGY2MGU5ZmIzYjliZmNk
Y2MyYzEzNmI1NDE4MDQ5ZDFjMzdjLi40ZDY3YjZmNzE3OTZlNjllZmE3OWJhMDVmOTg0MGVhMTQ3
MmY5NGM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEzLTA2LTE0ICBNaWNo
YWVsIEJyw7xuaW5nICA8bWljaGFlbC5icnVuaW5nQGRpZ2lhLmNvbT4KKworICAgICAgICBbUXRd
IFJlbW92ZSBRdCBzcGVjaWZpYyBRVEtJVCBmbGFnZ2VkIGNvZGUuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTc2MzUKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEdWUgdG8gZGlzYWJsaW5nIFFUS0lUIGZv
ciBRdCBpbiAgcjE1MTU0NiwgdGhlCisgICAgICAgIGNvZGUgdGhlIGZsYWdzIHRoYXQgYXJlIG5v
dCB0YWtlbiBpbnRvIGFjY291bnQKKyAgICAgICAgYW55bW9yZSBhbmQgdGhlIGNvZGUgdGhhdCBo
YXMgYmVlbiByZW5kZXJlZAorICAgICAgICB1bnJlYWNoYWJsZSBieSB0aGlzIGFyZSByZW1vdmVk
LgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50UXQ6OkNocm9tZUNsaWVudFF0KToKKyAgICAgICAgKFdl
YkNvcmU6OkNocm9tZUNsaWVudFF0Ojp+Q2hyb21lQ2xpZW50UXQpOgorICAgICAgICAqIFdlYkNv
cmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0Lmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRnVs
bFNjcmVlblZpZGVvUXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnVsbFNjcmVlblZpZGVvUXQ6
OkZ1bGxTY3JlZW5WaWRlb1F0KToKKyAgICAgICAgKFdlYkNvcmU6OkZ1bGxTY3JlZW5WaWRlb1F0
Ojp+RnVsbFNjcmVlblZpZGVvUXQpOgorICAgICAgICAoV2ViQ29yZTo6RnVsbFNjcmVlblZpZGVv
UXQ6OmVudGVyRnVsbFNjcmVlbkZvck5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6RnVsbFNjcmVl
blZpZGVvUXQ6OmV4aXRGdWxsU2NyZWVuRm9yTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpGdWxs
U2NyZWVuVmlkZW9RdDo6aXNWYWxpZCk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRnVsbFNj
cmVlblZpZGVvUXQuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9Jbml0V2ViQ29yZVF0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OmluaXRpYWxpemVXZWJDb3JlUXQpOgorCiAyMDEzLTA2LTA1
ICBBbGxhbiBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5AZGlnaWEuY29tPgogCiAgICAg
ICAgIFtRdF0gSGFuZGxlIFJldHVybiBrZXkgd2l0aG91dCBrZXkgdGV4dApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4
IDNhNDc2NWFiYmEwZjQ3NGY3MGNmYjJjNmViNzAwMjY2MTNhMTI0ZGEuLmNkY2U4OTc1YWJiYzY5
Y2Y2MWFmM2Y5NGRhODg3ODE2ZjQxZDA1ZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAor
MjAxMy0wNi0xNCAgTWljaGFlbCBCcsO8bmluZyAgPG1pY2hhZWwuYnJ1bmluZ0BkaWdpYS5jb20+
CisKKyAgICAgICAgW1F0XSBSZW1vdmUgUXQgc3BlY2lmaWMgUVRLSVQgZmxhZ2dlZCBjb2RlLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE3NjM1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRHVlIHRvIGRp
c2FibGluZyBRVEtJVCBmb3IgUXQgaW4gIHIxNTE1NDYsIHRoZQorICAgICAgICBjb2RlIHRoZSBm
bGFncyB0aGF0IGFyZSBub3QgdGFrZW4gaW50byBhY2NvdW50CisgICAgICAgIGFueW1vcmUgYW5k
IHRoZSBjb2RlIHRoYXQgaGFzIGJlZW4gcmVuZGVyZWQKKyAgICAgICAgdW5yZWFjaGFibGUgYnkg
dGhpcyBhcmUgcmVtb3ZlZC4KKworICAgICAgICAqIFRhcmdldC5wcmk6CisgICAgICAgICogVUlQ
cm9jZXNzL3F0L1dlYkNvbnRleHRRdC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHQ6
OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dXBkYXRlUHJlZmVy
ZW5jZXMpOgorICAgICAgICAqIFdlYlByb2Nlc3MvcXQvV2ViUHJvY2Vzc01haW5RdC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NNYWluUXQpOgorCiAyMDEzLTA2LTEzICBNaWNoYcWC
IFBha3XFgmEgdmVsIFJ1dGthICA8bS5wYWt1bGFAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0VG
TF1bV0syXSBXcm9uZyBjb250ZXh0IG1lbnUgYW5kIHBvcHVwIG1lbnUgcG9zaXRpb25zIHdoZW4g
c2Nyb2xsIGlzIGFwcGxpZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkg
Yi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4IDA3YmE4YmQ5NzdhZjc4M2ZkMTE1ZjMw
Y2Q2MWRjNGVmMjRkODRiNmYuLmJmNmU4MmVlOWMzNDNmMjE4M2RlYTlhYTA2YzkwMWNlNmJmODRl
NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dl
YkNvcmUvVGFyZ2V0LnByaQpAQCAtMzMxMCw1MiArMzMxMCw3IEBAIGVuYWJsZT8oVklERU8pIHsK
ICAgICAgICAgcmVuZGVyaW5nL1JlbmRlck1lZGlhQ29udHJvbHMuY3BwIFwKICAgICAgICAgcmVu
ZGVyaW5nL1JlbmRlck1lZGlhQ29udHJvbEVsZW1lbnRzLmNwcAogCi0gICAgdXNlPyhRVEtJVCkg
ewotICAgICAgICBJTkNMVURFUEFUSCArPSBcCi0gICAgICAgICAgICAkJFNPVVJDRV9ESVIvLi4v
V2ViS2l0TGlicmFyaWVzLyBcCi0gICAgICAgICAgICAkJFBXRC9wbGF0Zm9ybS9tYWMgXAotICAg
ICAgICAgICAgJCRQV0QvcGxhdGZvcm0vY2YKLQotCi0gICAgICAgIEhFQURFUlMgKz0gXAotICAg
ICAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Lmgg
XAotICAgICAgICAgICAgcGxhdGZvcm0vbWFjL1dlYkNvcmVPYmpDRXh0cmFzLmggXAotICAgICAg
ICAgICAgcGxhdGZvcm0vcXQvV2ViQ29yZVN5c3RlbUludGVyZmFjZS5oIFwKLSAgICAgICAgICAg
IHBsYXRmb3JtL21hYy9CbG9ja0V4Y2VwdGlvbnMuaCBcCi0gICAgICAgICAgICBwbGF0Zm9ybS9t
YWMvV2ViQ29yZU9iakNFeHRyYXMuaCBcCi0gICAgICAgICAgICBwbGF0Zm9ybS9tYWMvV2ViVmlk
ZW9GdWxsc2NyZWVuQ29udHJvbGxlci5oIFwKLSAgICAgICAgICAgIHBsYXRmb3JtL21hYy9XZWJW
aWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyLmggXAotICAgICAgICAgICAgcGxhdGZv
cm0vbWFjL1dlYldpbmRvd0FuaW1hdGlvbi5oIFwKLSAgICAgICAgICAgIHBsYXRmb3JtL2NmL0NG
VVJMRXh0cmFzLmgKLQotICAgICAgICBTT1VSQ0VTICs9IFwKLSAgICAgICAgICAgIHBsYXRmb3Jt
L21hYy9EaXNwbGF5U2xlZXBEaXNhYmxlci5jcHAgXAotICAgICAgICAgICAgcGxhdGZvcm0vZ3Jh
cGhpY3MvY2cvSW50UmVjdENHLmNwcCBcCi0gICAgICAgICAgICBwbGF0Zm9ybS9ncmFwaGljcy9j
Zy9GbG9hdFNpemVDRy5jcHAgXAotICAgICAgICAgICAgcGxhdGZvcm0vY2YvS1VSTENGTmV0LmNw
cCBcCi0gICAgICAgICAgICBwbGF0Zm9ybS9jZi9DRlVSTEV4dHJhcy5jcHAKLQotICAgICAgICAg
T0JKRUNUSVZFX1NPVVJDRVMgKz0gXAotICAgICAgICAgICAgcGxhdGZvcm0vcXQvV2ViQ29yZVN5
c3RlbUludGVyZmFjZS5tbSBcCi0gICAgICAgICAgICBwbGF0Zm9ybS9tYWMvQmxvY2tFeGNlcHRp
b25zLm1tIFwKLSAgICAgICAgICAgIHBsYXRmb3JtL21hYy9XZWJDb3JlT2JqQ0V4dHJhcy5tbSBc
Ci0gICAgICAgICAgICBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRL
aXQubW0gXAotICAgICAgICAgICAgcGxhdGZvcm0vbWFjL1NoYXJlZEJ1ZmZlck1hYy5tbSBcCi0g
ICAgICAgICAgICBwbGF0Zm9ybS9tYWMvS1VSTE1hYy5tbSBcCi0gICAgICAgICAgICBwbGF0Zm9y
bS90ZXh0L21hYy9TdHJpbmdNYWMubW0gXAotICAgICAgICAgICAgcGxhdGZvcm0vdGV4dC9tYWMv
U3RyaW5nSW1wbE1hYy5tbSBcCi0gICAgICAgICAgICBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvRmxv
YXRTaXplTWFjLm1tIFwKLSAgICAgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9JbnRSZWN0
TWFjLm1tIFwKLSAgICAgICAgICAgIHBsYXRmb3JtL21hYy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250
cm9sbGVyLm1tIFwKLSAgICAgICAgICAgIHBsYXRmb3JtL21hYy9XZWJWaWRlb0Z1bGxzY3JlZW5I
VURXaW5kb3dDb250cm9sbGVyLm1tIFwKLSAgICAgICAgICAgIHBsYXRmb3JtL21hYy9XZWJXaW5k
b3dBbmltYXRpb24ubW0KLQotICAgICAgICBERUZJTkVTKz1OU0dFT01FVFJZX1RZUEVTX1NBTUVf
QVNfQ0dHRU9NRVRSWV9UWVBFUwotICAgICAgICBpc0VxdWFsKFFUX0FSQ0gsICJpMzg2Iikgewot
ICAgICAgICAgICAgREVGSU5FUys9TlNfQlVJTERfMzJfTElLRV82NAotICAgICAgICB9Ci0KLSAg
ICB9IGVsc2U6IHVzZT8oR1NUUkVBTUVSKSB7CisgICAgdXNlPyhHU1RSRUFNRVIpIHsKICAgICAg
ICAgSEVBREVSUyArPSBcCiAgICAgICAgICAgICBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
R1N0cmVhbWVyR1dvcmxkLmggXAogICAgICAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuaCBcCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmlu
CmluZGV4IDVjNmJjYzljMzFiYzg0ZTM1MWNiYTljOGFmNWZmOTEwN2IzMzQ5OGUuLjZhMWE5NGE5
ZDcxYjA0M2E2NTBlMTdlMGY1NGZmNzQ1MmIyMGU1MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBA
IC0yMzcxLDcgKzIzNzEsNyBAQCBfX1pON1dlYkNvcmU4U2V0dGluZ3MyMGdBVkZvdW5kYXRpb25F
bmFibGVkRQogX19aTjdXZWJDb3JlOFNldHRpbmdzMjJzZXRBVkZvdW5kYXRpb25FbmFibGVkRWIK
ICNlbmRpZgogCi0jaWYgUExBVEZPUk0oTUFDKSB8fCAoUExBVEZPUk0oUVQpICYmIFVTRShRVEtJ
VCkpCisjaWYgUExBVEZPUk0oTUFDKQogX19aTjdXZWJDb3JlOFNldHRpbmdzMTNnUVRLaXRFbmFi
bGVkRQogX19aTjdXZWJDb3JlOFNldHRpbmdzMTVzZXRRVEtpdEVuYWJsZWRFYgogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU2V0dGluZ3MuY3BwCmluZGV4IDM4YTA4OTBmZGYzMGU4NDljZWE0NjQ0Y2U5YzI0
YzgwYjljMzgyZGMuLjRkY2UxYzk4NjRjMjFkNmQ5MGIxMWU1OGVkY2M0NWNhZmM0NGQ3YTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCkBAIC03Nyw3ICs3Nyw3IEBAIGJvb2wgU2V0dGluZ3M6
OmdTaG91bGRQYWludE5hdGl2ZUNvbnRyb2xzID0gdHJ1ZTsKIGJvb2wgU2V0dGluZ3M6OmdBVkZv
dW5kYXRpb25FbmFibGVkID0gZmFsc2U7CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKE1BQykgfHwg
KFBMQVRGT1JNKFFUKSAmJiBVU0UoUVRLSVQpKQorI2lmIFBMQVRGT1JNKE1BQykKIGJvb2wgU2V0
dGluZ3M6OmdRVEtpdEVuYWJsZWQgPSB0cnVlOwogI2VuZGlmCiAKQEAgLTUzNyw3ICs1MzcsNyBA
QCB2b2lkIFNldHRpbmdzOjpzZXRBVkZvdW5kYXRpb25FbmFibGVkKGJvb2wgZW5hYmxlZCkKIH0K
ICNlbmRpZgogCi0jaWYgUExBVEZPUk0oTUFDKSB8fCAoUExBVEZPUk0oUVQpICYmIFVTRShRVEtJ
VCkpCisjaWYgUExBVEZPUk0oTUFDKQogdm9pZCBTZXR0aW5nczo6c2V0UVRLaXRFbmFibGVkKGJv
b2wgZW5hYmxlZCkKIHsKICAgICBpZiAoZ1FUS2l0RW5hYmxlZCA9PSBlbmFibGVkKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9TZXR0aW5ncy5oCmluZGV4IGQ2OGE2NDI4MGRmMjZiOGU0NjkyNjRmMjAzOWQxODA2ZWMyZGYz
YzYuLjUxZmE4NTZhYmMzNGM2ZWFlMmFhMmEyNjlkYmMwNWU2MTgwMzg0ZTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1NldHRpbmdzLmgKQEAgLTIxNCw3ICsyMTQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
ICAgIHN0YXRpYyBib29sIGlzQVZGb3VuZGF0aW9uRW5hYmxlZCgpIHsgcmV0dXJuIGdBVkZvdW5k
YXRpb25FbmFibGVkOyB9CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKE1BQykgfHwgKFBMQVRGT1JN
KFFUKSAmJiBVU0UoUVRLSVQpKQorI2lmIFBMQVRGT1JNKE1BQykKICAgICAgICAgc3RhdGljIHZv
aWQgc2V0UVRLaXRFbmFibGVkKGJvb2wgZmxhZyk7CiAgICAgICAgIHN0YXRpYyBib29sIGlzUVRL
aXRFbmFibGVkKCkgeyByZXR1cm4gZ1FUS2l0RW5hYmxlZDsgfQogI2VuZGlmCkBAIC0zMjMsNyAr
MzIzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBzdGF0aWMgYm9vbCBnQVZGb3Vu
ZGF0aW9uRW5hYmxlZDsKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oTUFDKSB8fCAoUExBVEZPUk0o
UVQpICYmIFVTRShRVEtJVCkpCisjaWYgUExBVEZPUk0oTUFDKQogICAgICAgICBzdGF0aWMgYm9v
bCBnUVRLaXRFbmFibGVkOwogI2VuZGlmCiAgICAgICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vS1VSTC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vS1VSTC5oCmlu
ZGV4IDBmOTdmZjg4MGIxZWI0MDg1YjgyNDM3ZGI0M2U0MDUxZTI4ZTg5NmEuLjA3YTQ5MzFmODg0
NjhiYThkMDk0NTA5NTIyMzY2MmZmNWI0NTFjMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0tVUkwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9LVVJMLmgKQEAg
LTM1LDcgKzM1LDcgQEAKIHR5cGVkZWYgY29uc3Qgc3RydWN0IF9fQ0ZVUkwqIENGVVJMUmVmOwog
I2VuZGlmCiAKLSNpZiBQTEFURk9STShNQUMpIHx8IChQTEFURk9STShRVCkgJiYgVVNFKFFUS0lU
KSkKKyNpZiBQTEFURk9STShNQUMpCiBPQkpDX0NMQVNTIE5TVVJMOwogI2VuZGlmCiAKQEAgLTE3
MSw3ICsxNzEsNyBAQCBwdWJsaWM6CiAgICAgUmV0YWluUHRyPENGVVJMUmVmPiBjcmVhdGVDRlVS
TCgpIGNvbnN0OwogI2VuZGlmCiAKLSNpZiBQTEFURk9STShNQUMpIHx8IChQTEFURk9STShRVCkg
JiYgVVNFKFFUS0lUKSkKKyNpZiBQTEFURk9STShNQUMpCiAgICAgS1VSTChOU1VSTCopOwogICAg
IG9wZXJhdG9yIE5TVVJMKigpIGNvbnN0OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TaGFyZWRCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1No
YXJlZEJ1ZmZlci5oCmluZGV4IDdiMDM1NjY0ZDcwZTFlMDI5M2Q1Nzg2ZmYxYjU3MTAxNGUzMzk1
YWYuLjRjMzEyZjkyYzEzMjY0ZDcyY2JjMTRhNzE3YmNjMTU5MjI0MzQzZDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZEJ1ZmZlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1NoYXJlZEJ1ZmZlci5oCkBAIC0zNyw3ICszNyw3IEBACiAjaW5jbHVkZSA8
d3RmL1JldGFpblB0ci5oPgogI2VuZGlmCiAKLSNpZiBQTEFURk9STShNQUMpIHx8IChQTEFURk9S
TShRVCkgJiYgVVNFKFFUS0lUKSkKKyNpZiBQTEFURk9STShNQUMpCiBPQkpDX0NMQVNTIE5TRGF0
YTsKICNlbmRpZgogCkBAIC02Miw3ICs2Miw3IEBAIHB1YmxpYzoKICAgICAKICAgICB+U2hhcmVk
QnVmZmVyKCk7CiAgICAgCi0jaWYgUExBVEZPUk0oTUFDKSB8fCAoUExBVEZPUk0oUVQpICYmIFVT
RShRVEtJVCkpCisjaWYgUExBVEZPUk0oTUFDKQogICAgIE5TRGF0YSAqY3JlYXRlTlNEYXRhKCk7
CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8U2hhcmVkQnVmZmVyPiB3cmFwTlNEYXRhKE5TRGF0YSAq
ZGF0YSk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NmL0tV
UkxDRk5ldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jZi9LVVJMQ0ZOZXQuY3BwCmlu
ZGV4IDNkYTAzOTA3MjRlMDU3YWUyNzA2MzMxZmM5NjlkYTg4YTZmZTRjZjUuLjgxYjdjZmU5Yzhh
YjkxNjc2ZTE4ZTI4MDIwNDJmMTBhNTQ2NTU4N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2NmL0tVUkxDRk5ldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Y2YvS1VSTENGTmV0LmNwcApAQCAtNDcsNyArNDcsNyBAQCBLVVJMOjpLVVJMKENGVVJMUmVmIHVy
bCkKICAgICBwYXJzZSh1cmxCeXRlcy5kYXRhKCkpOwogfQogCi0jaWYgIVBMQVRGT1JNKE1BQykg
JiYgIShQTEFURk9STShRVCkgJiYgVVNFKFFUS0lUKSkKKyNpZiAhUExBVEZPUk0oTUFDKQogUmV0
YWluUHRyPENGVVJMUmVmPiBLVVJMOjpjcmVhdGVDRlVSTCgpIGNvbnN0CiB7CiAgICAgLy8gRklY
TUU6IFdoYXQgc2hvdWxkIHRoaXMgcmV0dXJuIGZvciBpbnZhbGlkIFVSTHM/CkBAIC01OSw3ICs1
OSw2IEBAIFJldGFpblB0cjxDRlVSTFJlZj4gS1VSTDo6Y3JlYXRlQ0ZVUkwoKSBjb25zdAogfQog
I2VuZGlmCiAKLSNpZiAhKFBMQVRGT1JNKFFUKSAmJiBVU0UoUVRLSVQpKQogU3RyaW5nIEtVUkw6
OmZpbGVTeXN0ZW1QYXRoKCkgY29uc3QKIHsKICAgICBSZXRhaW5QdHI8Q0ZVUkxSZWY+IGNmVVJM
ID0gY3JlYXRlQ0ZVUkwoKTsKQEAgLTczLDYgKzcyLDUgQEAgU3RyaW5nIEtVUkw6OmZpbGVTeXN0
ZW1QYXRoKCkgY29uc3QKICNlbmRpZgogICAgIHJldHVybiBhZG9wdENGKENGVVJMQ29weUZpbGVT
eXN0ZW1QYXRoKGNmVVJMLmdldCgpLCBwYXRoU3R5bGUpKS5nZXQoKTsKIH0KLSNlbmRpZgogCiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jZi9TaGFyZWRCdWZmZXJDRi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jZi9TaGFyZWRCdWZmZXJDRi5jcHAKaW5kZXgg
NmUxMmVlYjc4YWJhNWY2YzQwN2E5M2QxMzQ1NjRiNTE5YjFjOGQxOS4uMTg4YTgzNzhmZTI3MTIz
MDY1MTY5YzFkNDU5ZjY3Yjk2ZGUwNmQxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY2YvU2hhcmVkQnVmZmVyQ0YuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2NmL1NoYXJlZEJ1ZmZlckNGLmNwcApAQCAtNDAsNyArNDAsNyBAQCBTaGFyZWRCdWZmZXI6OlNo
YXJlZEJ1ZmZlcihDRkRhdGFSZWYgY2ZEYXRhKQogCiAvLyBNYWMgaXMgYSBDRiBwbGF0Zm9ybSBi
dXQgaGFzIGFuIGV2ZW4gbW9yZSBlZmZpY2llbnQgdmVyc2lvbiBvZiB0aGlzIG1ldGhvZCwKIC8v
IHNvIG9ubHkgdXNlIHRoaXMgdmVyc2lvbiBmb3Igbm9uLU1hYwotI2lmICFQTEFURk9STShNQUMp
ICYmICEoUExBVEZPUk0oUVQpICYmIFVTRShRVEtJVCkpCisjaWYgIVBMQVRGT1JNKE1BQykKIENG
RGF0YVJlZiBTaGFyZWRCdWZmZXI6OmNyZWF0ZUNGRGF0YSgpCiB7CiAgICAgaWYgKG1fY2ZEYXRh
KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNp
emUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0U2l6ZS5oCmluZGV4
IGQwY2YxZDNkZDI4YjVjZGMzNTU2ZGQ1NGU3YzQ4ZDcyZWUyNGZjMDMuLjc3ZWUzZTJmNWExMjcx
Y2ZiYzIwNjY3NDk1YjMwMzZlZjFlNzQyMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0Zsb2F0U2l6ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0Zsb2F0U2l6ZS5oCkBAIC00OSw3ICs0OSw3IEBAIGNsYXNzIEZsb2F0U2l6ZTsK
IHR5cGVkZWYgc3RydWN0IENHU2l6ZSBDR1NpemU7CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKE1B
QykgfHwgKFBMQVRGT1JNKFFUKSAmJiBVU0UoUVRLSVQpKQorI2lmIFBMQVRGT1JNKE1BQykKICNp
ZmRlZiBOU0dFT01FVFJZX1RZUEVTX1NBTUVfQVNfQ0dHRU9NRVRSWV9UWVBFUwogdHlwZWRlZiBz
dHJ1Y3QgQ0dTaXplIE5TU2l6ZTsKICNlbHNlCkBAIC0xMzUsNyArMTM1LDcgQEAgcHVibGljOgog
ICAgIG9wZXJhdG9yIENHU2l6ZSgpIGNvbnN0OwogI2VuZGlmCiAKLSNpZiAoUExBVEZPUk0oTUFD
KSAmJiAhZGVmaW5lZChOU0dFT01FVFJZX1RZUEVTX1NBTUVfQVNfQ0dHRU9NRVRSWV9UWVBFUykp
IHx8IChQTEFURk9STShRVCkgJiYgVVNFKFFUS0lUKSkKKyNpZiAoUExBVEZPUk0oTUFDKSAmJiAh
ZGVmaW5lZChOU0dFT01FVFJZX1RZUEVTX1NBTUVfQVNfQ0dHRU9NRVRSWV9UWVBFUykpCiAgICAg
ZXhwbGljaXQgRmxvYXRTaXplKGNvbnN0IE5TU2l6ZSAmKTsgLy8gZG9uJ3QgZG8gdGhpcyBpbXBs
aWNpdGx5IHNpbmNlIGl0J3MgbG9zc3kKICAgICBvcGVyYXRvciBOU1NpemUoKSBjb25zdDsKICNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVj
dC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5oCmluZGV4IGMw
MWNhYjkxNThhYTk3Y2I0YjFiNGY0YzE0ZDM3MjQ0Nzk3MzEzZjQuLjBlMzNiYmY5NTQ0ZGZmMWZm
YzQ0YmM5ZGUwNGU3NjYzYWY4NThjODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ludFJlY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9JbnRSZWN0LmgKQEAgLTMzLDcgKzMzLDcgQEAKIHR5cGVkZWYgc3RydWN0IENHUmVjdCBD
R1JlY3Q7CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKE1BQykgfHwgKFBMQVRGT1JNKFFUKSAmJiBV
U0UoUVRLSVQpKQorI2lmIFBMQVRGT1JNKE1BQykKICNpZmRlZiBOU0dFT01FVFJZX1RZUEVTX1NB
TUVfQVNfQ0dHRU9NRVRSWV9UWVBFUwogdHlwZWRlZiBzdHJ1Y3QgQ0dSZWN0IE5TUmVjdDsKICNl
bHNlCkBAIC0xOTksNyArMTk5LDcgQEAgcHVibGljOgogICAgIG9wZXJhdG9yIENHUmVjdCgpIGNv
bnN0OwogI2VuZGlmCiAKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChOU0dFT01FVFJZ
X1RZUEVTX1NBTUVfQVNfQ0dHRU9NRVRSWV9UWVBFUykpIHx8IChQTEFURk9STShRVCkgJiYgVVNF
KFFUS0lUKSkKKyNpZiAoUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChOU0dFT01FVFJZX1RZUEVT
X1NBTUVfQVNfQ0dHRU9NRVRSWV9UWVBFUykpCiAgICAgb3BlcmF0b3IgTlNSZWN0KCkgY29uc3Q7
CiAjZW5kaWYKIApAQCAtMjQzLDcgKzI0Myw3IEBAIGlubGluZSBib29sIG9wZXJhdG9yIT0oY29u
c3QgSW50UmVjdCYgYSwgY29uc3QgSW50UmVjdCYgYikKIEludFJlY3QgZW5jbG9zaW5nSW50UmVj
dChjb25zdCBDR1JlY3QmKTsKICNlbmRpZgogCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYgIWRlZmlu
ZWQoTlNHRU9NRVRSWV9UWVBFU19TQU1FX0FTX0NHR0VPTUVUUllfVFlQRVMpKSB8fCAoUExBVEZP
Uk0oUVQpICYmIFVTRShRVEtJVCkpCisjaWYgKFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQoTlNH
RU9NRVRSWV9UWVBFU19TQU1FX0FTX0NHR0VPTUVUUllfVFlQRVMpKQogSW50UmVjdCBlbmNsb3Np
bmdJbnRSZWN0KGNvbnN0IE5TUmVjdCYpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFNpemUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ludFNpemUuaAppbmRleCA5YzI2YzI0OTM2MDk5OTYyMDc0ZGJiNDE2MWM3
NDI0NmYxN2VhMjVlLi5iODQzNTA3YWNhMjU3YjVlMjU5MmNhNjVmODM4YzFlYWEzYjkwNjI0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRTaXplLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50U2l6ZS5oCkBAIC0zMCw3ICsz
MCw3IEBACiB0eXBlZGVmIHN0cnVjdCBDR1NpemUgQ0dTaXplOwogI2VuZGlmCiAKLSNpZiBQTEFU
Rk9STShNQUMpIHx8IChQTEFURk9STShRVCkgJiYgVVNFKFFUS0lUKSkKKyNpZiBQTEFURk9STShN
QUMpCiAjaWZkZWYgTlNHRU9NRVRSWV9UWVBFU19TQU1FX0FTX0NHR0VPTUVUUllfVFlQRVMKIHR5
cGVkZWYgc3RydWN0IENHU2l6ZSBOU1NpemU7CiAjZWxzZQpAQCAtMTMzLDcgKzEzMyw3IEBAIHB1
YmxpYzoKICAgICBvcGVyYXRvciBDR1NpemUoKSBjb25zdDsKICNlbmRpZgogCi0jaWYgKFBMQVRG
T1JNKE1BQykgfHwgKFBMQVRGT1JNKFFUKSAmJiBVU0UoUVRLSVQpKSkgJiYgIWRlZmluZWQoTlNH
RU9NRVRSWV9UWVBFU19TQU1FX0FTX0NHR0VPTUVUUllfVFlQRVMpCisjaWYgUExBVEZPUk0oTUFD
KSAmJiAhZGVmaW5lZChOU0dFT01FVFJZX1RZUEVTX1NBTUVfQVNfQ0dHRU9NRVRSWV9UWVBFUykK
ICAgICBleHBsaWNpdCBJbnRTaXplKGNvbnN0IE5TU2l6ZSAmKTsgLy8gZG9uJ3QgZG8gdGhpcyBp
bXBsaWNpdGx5IHNpbmNlIGl0J3MgbG9zc3kKICAgICBvcGVyYXRvciBOU1NpemUoKSBjb25zdDsK
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVk
aWFQbGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5
ZXIuY3BwCmluZGV4IDUzZTY3ODE3ZjE0NzZkNTVkMTc1YjJlZjZmNjJiNzU1OWY1ZjBjOWQuLjA1
NjJjMTgwNzQwNmY5NzFhN2E1MWM2ZDIxYWMyY2ZkZmY5MGU1MmQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKQEAgLTU3LDcgKzU3LDcg
QEAKICNkZWZpbmUgUGxhdGZvcm1NZWRpYUVuZ2luZUNsYXNzTmFtZSBNZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXIKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oTUFDKSB8fCAoUExBVEZPUk0oUVQp
ICYmIFVTRShRVEtJVCkpCisjaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUgIk1lZGlhUGxheWVy
UHJpdmF0ZVFUS2l0LmgiCiAjaWYgVVNFKEFWRk9VTkRBVElPTikKICNpbmNsdWRlICJNZWRpYVBs
YXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmgiCkBAIC0yMjMsNyArMjIzLDcgQEAgc3RhdGlj
IFZlY3RvcjxNZWRpYVBsYXllckZhY3RvcnkqPiYgaW5zdGFsbGVkTWVkaWFFbmdpbmVzKFJlcXVl
cnlFbmdpbmVPcHRpb25zIHIKICAgICAgICAgfQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShNQUMp
IHx8IChQTEFURk9STShRVCkgJiYgVVNFKFFUS0lUKSkKKyNpZiBQTEFURk9STShNQUMpCiAgICAg
ICAgIGlmIChTZXR0aW5nczo6aXNRVEtpdEVuYWJsZWQoKSkKICAgICAgICAgICAgIE1lZGlhUGxh
eWVyUHJpdmF0ZVFUS2l0OjpyZWdpc3Rlck1lZGlhRW5naW5lKGFkZE1lZGlhRW5naW5lKTsKICNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvRmxv
YXRTaXplQ0cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvRmxvYXRT
aXplQ0cuY3BwCmluZGV4IDBmNWJjNzM4M2JkZWU4ZmZjNzI3NzQyZjYxZDllZWVhOGQxZjEzZTcu
LjE0ZTE0ZmMyYTM5OWRkMTdkYjEyNTIwMjYxNDE0OTI5ZDM2YTlmNjAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0Zsb2F0U2l6ZUNHLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9GbG9hdFNpemVDRy5jcHAKQEAgLTI3
LDcgKzI3LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJGbG9hdFNpemUuaCIK
IAotI2lmIFVTRShDRykgfHwgKFBMQVRGT1JNKFFUKSAmJiBVU0UoUVRLSVQpKQorI2lmIFVTRShD
RykKIAogI2luY2x1ZGUgPEFwcGxpY2F0aW9uU2VydmljZXMvQXBwbGljYXRpb25TZXJ2aWNlcy5o
PgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbnRS
ZWN0Q0cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW50UmVjdENH
LmNwcAppbmRleCBmMWNjZGU0NmZlMTU4Mzg2MjNhYWNiYzljNTEwMzM2OThjY2JiMTAwLi44ZDEw
MjA3YmY5Zjg3NWFhMmQ3ZjZlNzBhYjNiN2NlYjYzZDk5NWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbnRSZWN0Q0cuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ludFJlY3RDRy5jcHAKQEAgLTI2LDcgKzI2LDcg
QEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCiAKLSNpZiBVU0Uo
Q0cpIHx8IChQTEFURk9STShRVCkgJiYgVVNFKFFUS0lUKSkKKyNpZiBVU0UoQ0cpCiAKICNpbmNs
dWRlIDxBcHBsaWNhdGlvblNlcnZpY2VzL0FwcGxpY2F0aW9uU2VydmljZXMuaD4KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxheWVyUHJp
dmF0ZVFUS2l0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQ
bGF5ZXJQcml2YXRlUVRLaXQuaAppbmRleCA4YjExZjgzMjgwMDQyMjJlMDRkZWVhNTNmOWZmYzkz
NmQ5ZTVhYTVmLi5mMjI2Y2RhODc2ZTIzZjcxZWRmNTJmMmQ3MDdiNTY1YjVkYzRlNTQzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQ
cml2YXRlUVRLaXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMv
TWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQuaApAQCAtODYsNyArODYsNyBAQCBwcml2YXRlOgogICAg
IHN0YXRpYyBib29sIGlzQXZhaWxhYmxlKCk7CiAKICAgICBQbGF0Zm9ybU1lZGlhIHBsYXRmb3Jt
TWVkaWEoKSBjb25zdDsKLSNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpICYmICEoUExB
VEZPUk0oUVQpICYmIFVTRShRVEtJVCkpCisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5H
KQogICAgIFBsYXRmb3JtTGF5ZXIqIHBsYXRmb3JtTGF5ZXIoKSBjb25zdDsKICNlbmRpZgogCkBA
IC0xMzksNyArMTM5LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgcHJlcGFyZUZvclJl
bmRlcmluZygpOwogCiAKLSNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpICYmICEoUExB
VEZPUk0oUVQpICYmIFVTRShRVEtJVCkpCisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5H
KQogICAgIGJvb2wgc3VwcG9ydHNBY2NlbGVyYXRlZFJlbmRlcmluZygpIGNvbnN0OwogICAgIHZv
aWQgYWNjZWxlcmF0ZWRSZW5kZXJpbmdTdGF0ZUNoYW5nZWQoKTsKICNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxheWVyUHJpdmF0
ZVFUS2l0Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxh
eWVyUHJpdmF0ZVFUS2l0Lm1tCmluZGV4IGU5NjU5NjUwZjEwNDU5ZWRhZmU5ODIwYTEwZDk4YWYx
NjU3NTcwNDguLmFiMDczYTk1NDU4NzdmZmY1ZWNkY2ViZWI0M2Q2ZGUxNzQzNzk3Y2MgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclBy
aXZhdGVRVEtpdC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMv
TWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQubW0KQEAgLTUxOSw3ICs1MTksNyBAQCB2b2lkIE1lZGlh
UGxheWVyUHJpdmF0ZVFUS2l0OjpkZXN0cm95UVRWaWRlb1JlbmRlcmVyKCkKIHZvaWQgTWVkaWFQ
bGF5ZXJQcml2YXRlUVRLaXQ6OmNyZWF0ZVFUTW92aWVMYXllcigpCiB7CiAgICAgTE9HKE1lZGlh
LCAiTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQ6OmNyZWF0ZVFUTW92aWVMYXllciglcCkiLCB0aGlz
KTsKLSNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpICYmICEoUExBVEZPUk0oUVQpICYm
IFVTRShRVEtJVCkpCisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIGlmICgh
bV9xdE1vdmllKQogICAgICAgICByZXR1cm47CiAKQEAgLTU3MSw3ICs1NzEsNyBAQCBNZWRpYVBs
YXllclByaXZhdGVRVEtpdDo6TWVkaWFSZW5kZXJpbmdNb2RlIE1lZGlhUGxheWVyUHJpdmF0ZVFU
S2l0OjpwcmVmZXJyZWRSZQogICAgIGlmICghbV9wbGF5ZXItPmZyYW1lVmlldygpIHx8ICFtX3F0
TW92aWUpCiAgICAgICAgIHJldHVybiBNZWRpYVJlbmRlcmluZ05vbmU7CiAKLSNpZiBVU0UoQUND
RUxFUkFURURfQ09NUE9TSVRJTkcpICYmICEoUExBVEZPUk0oUVQpICYmIFVTRShRVEtJVCkpCisj
aWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIGlmIChzdXBwb3J0c0FjY2VsZXJh
dGVkUmVuZGVyaW5nKCkgJiYgbV9wbGF5ZXItPm1lZGlhUGxheWVyQ2xpZW50KCktPm1lZGlhUGxh
eWVyUmVuZGVyaW5nQ2FuQmVBY2NlbGVyYXRlZChtX3BsYXllcikpCiAgICAgICAgIHJldHVybiBN
ZWRpYVJlbmRlcmluZ01vdmllTGF5ZXI7CiAjZW5kaWYKQEAgLTY5Myw3ICs2OTMsNyBAQCBQbGF0
Zm9ybU1lZGlhIE1lZGlhUGxheWVyUHJpdmF0ZVFUS2l0OjpwbGF0Zm9ybU1lZGlhKCkgY29uc3QK
ICAgICByZXR1cm4gcG07CiB9CiAKLSNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpICYm
ICEoUExBVEZPUk0oUVQpICYmIFVTRShRVEtJVCkpCisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBP
U0lUSU5HKQogUGxhdGZvcm1MYXllciogTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQ6OnBsYXRmb3Jt
TGF5ZXIoKSBjb25zdAogewogICAgIHJldHVybiBtX3F0VmlkZW9MYXllci5nZXQoKTsKQEAgLTEy
MjcsNyArMTIyNyw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQ6OmRpZEVuZCgpCiAg
ICAgbV9wbGF5ZXItPnRpbWVDaGFuZ2VkKCk7CiB9CiAKLSNpZiBVU0UoQUNDRUxFUkFURURfQ09N
UE9TSVRJTkcpICYmICEoUExBVEZPUk0oUVQpICYmIFVTRShRVEtJVCkpCisjaWYgVVNFKEFDQ0VM
RVJBVEVEX0NPTVBPU0lUSU5HKQogI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
PT0gMTA2MAogc3RhdGljIGJvb2wgbGF5ZXJJc0Rlc2NlbmRlbnRPZihQbGF0Zm9ybUxheWVyKiBj
aGlsZCwgUGxhdGZvcm1MYXllciogZGVzY2VuZGVudCkKIHsKQEAgLTEzMzEsMTggKzEzMzEsNiBA
QCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVFUS2l0OjpwYWludEN1cnJlbnRGcmFtZUluQ29udGV4
dChHcmFwaGljc0NvbnRleHQqIGNvbnRleAogICAgIHBhaW50KGNvbnRleHQsIHIpOwogfQogCi0j
aWYgUExBVEZPUk0oUVQpICYmIFVTRShRVEtJVCkKLXN0YXRpYyBpbmxpbmUgdm9pZCBzd2FwQmdy
VG9SZ2IodWludDMyX3QqIHBpeGVsLCB1aW50MzJfdCB3aWR0aCwgdWludDMyX3QgaGVpZ2h0KQot
ewotICAgIHVpbnQzMl90KiBlbmQgPSBwaXhlbCArICh3aWR0aCAqIGhlaWdodCk7Ci0KLSAgICB3
aGlsZSAocGl4ZWwgPCBlbmQpIHsKLSAgICAgICAgKnBpeGVsID0gKCgqcGl4ZWwgPDwgMTYpICYg
MHhmZjAwMDApIHwgKCgqcGl4ZWwgPj4gMTYpICYgMHhmZikgfCAoKnBpeGVsICYgMHhmZjAwZmYw
MCk7Ci0gICAgICAgICsrcGl4ZWw7Ci0gICAgfQotfQotI2VuZGlmCi0KIHZvaWQgTWVkaWFQbGF5
ZXJQcml2YXRlUVRLaXQ6OnBhaW50KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgSW50
UmVjdCYgcikKIHsKICAgICBpZiAoY29udGV4dC0+cGFpbnRpbmdEaXNhYmxlZCgpIHx8IG1faGFz
VW5zdXBwb3J0ZWRUcmFja3MpCkBAIC0xMzU4LDI2ICsxMzQ2LDEzIEBAIHZvaWQgTWVkaWFQbGF5
ZXJQcml2YXRlUVRLaXQ6OnBhaW50KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgSW50
UmVjdCYgcikKICAgICBGbG9hdFNpemUgc2NhbGVGYWN0b3IoMS4wZiwgLTEuMGYpOwogICAgIElu
dFJlY3QgcGFpbnRSZWN0KEludFBvaW50KDAsIDApLCBJbnRTaXplKHIud2lkdGgoKSwgci5oZWln
aHQoKSkpOwogCi0jaWYgUExBVEZPUk0oUVQpICYmIFVTRShRVEtJVCkKLSAgICBOU0JpdG1hcElt
YWdlUmVwICppbWFnZVJlcCA9IFtbTlNCaXRtYXBJbWFnZVJlcCBhbGxvY10gaW5pdFdpdGhCaXRt
YXBEYXRhUGxhbmVzOiBOVUxMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwaXhlbHNXaWRlOiBwYWludFJlY3Qud2lkdGgoKQotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cGl4ZWxzSGlnaDogcGFpbnRSZWN0LmhlaWdodCgpCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiaXRzUGVyU2FtcGxlOiA4Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
YW1wbGVzUGVyUGl4ZWw6IDQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGhhc0FscGhhOiBZRVMKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzUGxhbmFyOiBOTwotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29sb3JTcGFjZU5hbWU6IE5TQ2FsaWJyYXRlZFJHQkNvbG9yU3BhY2UKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5dGVzUGVyUm93
OiA0ICogcGFpbnRSZWN0LndpZHRoKCkgLy8gMzIgYml0IHBlciBwaXhlbC4KLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpdHNQZXJQ
aXhlbDogMzJdOwotICAgIG5ld0NvbnRleHQgPSBbTlNHcmFwaGljc0NvbnRleHQgZ3JhcGhpY3ND
b250ZXh0V2l0aEJpdG1hcEltYWdlUmVwOiBpbWFnZVJlcF07Ci0jZWxzZQogICAgIEdyYXBoaWNz
Q29udGV4dFN0YXRlU2F2ZXIgc3RhdGVTYXZlcigqY29udGV4dCk7CiAgICAgY29udGV4dC0+dHJh
bnNsYXRlKHIueCgpLCByLnkoKSArIHIuaGVpZ2h0KCkpOwogICAgIGNvbnRleHQtPnNjYWxlKHNj
YWxlRmFjdG9yKTsKICAgICBjb250ZXh0LT5zZXRJbWFnZUludGVycG9sYXRpb25RdWFsaXR5KElu
dGVycG9sYXRpb25Mb3cpOwogCiAgICAgbmV3Q29udGV4dCA9IFtOU0dyYXBoaWNzQ29udGV4dCBn
cmFwaGljc0NvbnRleHRXaXRoR3JhcGhpY3NQb3J0OmNvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgp
IGZsaXBwZWQ6Tk9dOwotI2VuZGlmCisKICAgICAvLyBkcmF3IHRoZSBjdXJyZW50IHZpZGVvIGZy
YW1lCiAgICAgaWYgKHF0VmlkZW9SZW5kZXJlcikgewogICAgICAgICBbTlNHcmFwaGljc0NvbnRl
eHQgc2F2ZUdyYXBoaWNzU3RhdGVdOwpAQCAtMTQzMSwxNCArMTQwNiw2IEBAIHZvaWQgTWVkaWFQ
bGF5ZXJQcml2YXRlUVRLaXQ6OnBhaW50KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3Qg
SW50UmVjdCYgcikKICAgICAgICAgfQogICAgIH0KICNlbmRpZgotI2lmIFBMQVRGT1JNKFFUKSAm
JiBVU0UoUVRLSVQpCi0gICAgdW5zaWduZWQgY2hhciogYml0bWFwID0gW2ltYWdlUmVwIGJpdG1h
cERhdGFdOwotICAgIHN3YXBCZ3JUb1JnYihyZWludGVycHJldF9jYXN0PHVpbnQzMl90Kj4oYml0
bWFwKSwgcGFpbnRSZWN0LndpZHRoKCksIHBhaW50UmVjdC5oZWlnaHQoKSk7Ci0gICAgUUltYWdl
IHZpZGVvRnJhbWUoYml0bWFwLCBwYWludFJlY3Qud2lkdGgoKSwgcGFpbnRSZWN0LmhlaWdodCgp
LCBRSW1hZ2U6OkZvcm1hdF9BUkdCMzIpOwotICAgIFFQYWludGVyKiBwYWludGVyID0gY29udGV4
dC0+cGxhdGZvcm1Db250ZXh0KCk7Ci0gICAgcGFpbnRlci0+ZHJhd0ltYWdlKFFSZWN0KHIpLCB2
aWRlb0ZyYW1lKTsKLSAgICBbaW1hZ2VSZXAgcmVsZWFzZV07Ci0jZW5kaWYKICAgICBFTkRfQkxP
Q0tfT0JKQ19FWENFUFRJT05TOwogICAgIFttX29iamNPYnNlcnZlci5nZXQoKSBzZXREZWxheUNh
bGxiYWNrczpOT107CiB9CkBAIC0xNjc0LDcgKzE2NDEsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJp
dmF0ZVFUS2l0OjpzYXdVbnN1cHBvcnRlZFRyYWNrcygpCiAgICAgbV9wbGF5ZXItPm1lZGlhUGxh
eWVyQ2xpZW50KCktPm1lZGlhUGxheWVyU2F3VW5zdXBwb3J0ZWRUcmFja3MobV9wbGF5ZXIpOwog
fQogCi0jaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKSAmJiAhKFBMQVRGT1JNKFFUKSAm
JiBVU0UoUVRLSVQpKQorI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKIGJvb2wgTWVk
aWFQbGF5ZXJQcml2YXRlUVRLaXQ6OnN1cHBvcnRzQWNjZWxlcmF0ZWRSZW5kZXJpbmcoKSBjb25z
dAogewogICAgIHJldHVybiBpc1JlYWR5Rm9yVmlkZW9TZXR1cCgpICYmIGdldFFUTW92aWVMYXll
ckNsYXNzKCkgIT0gTmlsOwpAQCAtMTgzNyw3ICsxODA0LDcgQEAgdm9pZCBNZWRpYVBsYXllclBy
aXZhdGVRVEtpdDo6c2V0UHJpdmF0ZUJyb3dzaW5nTW9kZShib29sIHByaXZhdGVCcm93c2luZykK
IAogLSAodm9pZClsYXllckhvc3RDaGFuZ2VkOihOU05vdGlmaWNhdGlvbiAqKW5vdGlmaWNhdGlv
bgogewotI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykgJiYgIShQTEFURk9STShRVCkg
JiYgVVNFKFFUS0lUKSkKKyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgQ0FM
YXllciogcm9vdExheWVyID0gc3RhdGljX2Nhc3Q8Q0FMYXllcio+KFtub3RpZmljYXRpb24gb2Jq
ZWN0XSk7CiAgICAgbV9jYWxsYmFjay0+bGF5ZXJIb3N0Q2hhbmdlZChyb290TGF5ZXIpOwogI2Vs
c2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TaGFyZWRCdWZmZXJN
YWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2hhcmVkQnVmZmVyTWFjLm1tCmlu
ZGV4IDk0MTQ3NWJiNWQ1ZmE4NDk0MWI1YmM5NmIzZjQ3NjZmNmVjNjE5ZjQuLjcxNWNhYWU0NDMz
ZmY0MzkzZjI1YTg5NDI1OGU2NmZkMjg2ZjljMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9TaGFyZWRCdWZmZXJNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL1NoYXJlZEJ1ZmZlck1hYy5tbQpAQCAtNDksMTEgKzQ5LDcgQEAgdXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7CiB7CiAjaWYgIVVTRShXRUJfVEhSRUFEKQogICAgIEpTQzo6aW5pdGlh
bGl6ZVRocmVhZGluZygpOwotI2lmIFBMQVRGT1JNKFFUKSAmJiBVU0UoUVRLSVQpCi0gICAgV1RG
Ojppbml0aWFsaXplTWFpblRocmVhZCgpOwotI2Vsc2UKICAgICBXVEY6OmluaXRpYWxpemVNYWlu
VGhyZWFkVG9Qcm9jZXNzTWFpblRocmVhZCgpOwotI2VuZGlmCiAjZW5kaWYgLy8gIVVTRShXRUJf
VEhSRUFEKQogICAgIFdlYkNvcmVPYmpDRmluYWxpemVPbk1haW5UaHJlYWQoc2VsZik7CiB9CkBA
IC0xMTUsNyArMTExLDYgQEAgQ0ZEYXRhUmVmIFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlQ0ZEYXRhKCkK
ICAgICByZXR1cm4gKENGRGF0YVJlZilhZG9wdE5TKFtbV2ViQ29yZVNoYXJlZEJ1ZmZlckRhdGEg
YWxsb2NdIGluaXRXaXRoU2hhcmVkQnVmZmVyOnRoaXNdKS5sZWFrUmVmKCk7CiB9CiAKLSNpZiAh
KFBMQVRGT1JNKFFUKSAmJiBVU0UoUVRLSVQpKQogUGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+IFNo
YXJlZEJ1ZmZlcjo6Y3JlYXRlV2l0aENvbnRlbnRzT2ZGaWxlKGNvbnN0IFN0cmluZyYgZmlsZVBh
dGgpCiB7CiAgICAgTlNEYXRhICpyZXNvdXJjZURhdGEgPSBbTlNEYXRhIGRhdGFXaXRoQ29udGVu
dHNPZkZpbGU6ZmlsZVBhdGhdOwpAQCAtMTIzLDYgKzExOCw1IEBAIFBhc3NSZWZQdHI8U2hhcmVk
QnVmZmVyPiBTaGFyZWRCdWZmZXI6OmNyZWF0ZVdpdGhDb250ZW50c09mRmlsZShjb25zdCBTdHJp
bmcmIGZpCiAgICAgICAgIHJldHVybiBTaGFyZWRCdWZmZXI6OndyYXBOU0RhdGEocmVzb3VyY2VE
YXRhKTsKICAgICByZXR1cm4gMDsKIH0KLSNlbmRpZgogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYktpdDEucHJvIGIvU291cmNlL1dlYktpdC9XZWJLaXQxLnBybwppbmRleCA3ZmJm
OTQxZmE3MWZmZjhjYjdkNjExMWQ4MzQ2YTA1MDcxODA3NWE3Li5iZTA0Y2EzNzAxNWMwY2E0YmZm
ODRlM2ZiZjQwYjQxOGE4MjVmODY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdDEu
cHJvCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0MS5wcm8KQEAgLTExNSwzMCArMTE1LDEwIEBA
IGVuYWJsZT8oSUNPTkRBVEFCQVNFKSB7CiB9CiAKIGVuYWJsZT8oVklERU8pIHsKLSAgICB1c2U/
KFFUS0lUKSB8IHVzZT8oR1NUUkVBTUVSKSB8IHVzZT8oUVRfTVVMVElNRURJQSkgeworICAgIHVz
ZT8oR1NUUkVBTUVSKSB8IHVzZT8oUVRfTVVMVElNRURJQSkgewogICAgICAgICBIRUFERVJTICs9
ICQkUFdEL3F0L1dlYkNvcmVTdXBwb3J0L0Z1bGxTY3JlZW5WaWRlb1F0LmgKICAgICAgICAgU09V
UkNFUyArPSAkJFBXRC9xdC9XZWJDb3JlU3VwcG9ydC9GdWxsU2NyZWVuVmlkZW9RdC5jcHAKICAg
ICB9Ci0KLSAgICB1c2U/KFFUS0lUKSB7Ci0gICAgICAgIElOQ0xVREVQQVRIICs9IFwKLSAgICAg
ICAgICAgICQkUFdELy4uL1dlYkNvcmUvcGxhdGZvcm0vcXQvIFwKLSAgICAgICAgICAgICQkUFdE
Ly4uL1dlYkNvcmUvcGxhdGZvcm0vbWFjLyBcCi0gICAgICAgICAgICAkJFBXRC8uLi8uLi9XZWJL
aXRMaWJyYXJpZXMvCi0KLSAgICAgICAgREVGSU5FUyArPSBOU0dFT01FVFJZX1RZUEVTX1NBTUVf
QVNfQ0dHRU9NRVRSWV9UWVBFUwotICAgICAgICBpc0VxdWFsKFFUX0FSQ0gsICJpMzg2Iikgewot
ICAgICAgICAgICAgREVGSU5FUys9TlNfQlVJTERfMzJfTElLRV82NAotICAgICAgICB9Ci0KLSAg
ICAgICAgSEVBREVSUyArPSBcCi0gICAgICAgICAgICAkJFBXRC9xdC9XZWJDb3JlU3VwcG9ydC9X
ZWJTeXN0ZW1JbnRlcmZhY2UuaCBcCi0gICAgICAgICAgICAkJFBXRC9xdC9XZWJDb3JlU3VwcG9y
dC9RVEtpdEZ1bGxTY3JlZW5WaWRlb0hhbmRsZXIuaAotCi0gICAgICAgIE9CSkVDVElWRV9TT1VS
Q0VTICs9IFwKLSAgICAgICAgICAgICQkUFdEL3F0L1dlYkNvcmVTdXBwb3J0L1dlYlN5c3RlbUlu
dGVyZmFjZS5tbSBcCi0gICAgICAgICAgICAkJFBXRC9xdC9XZWJDb3JlU3VwcG9ydC9RVEtpdEZ1
bGxTY3JlZW5WaWRlb0hhbmRsZXIubW0KLSAgICB9CiB9CiAKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJWaWV3Lm1tCmluZGV4IDhlOWMyNzU4ZDgyNGFlODY3MDJjZjc1MDYyMTZhZmVmMTNkZmRj
M2QuLjQ5NmIwMTkwOWE2ZjhiZTRiYmFjODk4ODQwOTgyMzdhZTM2OTMzOTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTE1MjksNyArMTUyOSw3IEBAIHN0YXRpYyBib29s
IG5lZWRzU2VsZlJldGFpbldoaWxlTG9hZGluZ1F1aXJrKCkKICAgICBzZXR0aW5ncy0+c2V0QVZG
b3VuZGF0aW9uRW5hYmxlZChmYWxzZSk7CiAjZW5kaWYKICNlbmRpZgotI2lmIFBMQVRGT1JNKE1B
QykgfHwgKFBMQVRGT1JNKFFUKSAmJiBVU0UoUVRLSVQpKQorI2lmIFBMQVRGT1JNKE1BQykKICAg
ICBzZXR0aW5ncy0+c2V0UVRLaXRFbmFibGVkKFtwcmVmZXJlbmNlcyBpc1FUS2l0RW5hYmxlZF0p
OwogI2VuZGlmCiAgICAgc2V0dGluZ3MtPnNldE1lZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0
dXJlKFtwcmVmZXJlbmNlcyBtZWRpYVBsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZV0pOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5j
cHAgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmNwcApp
bmRleCBhNjFmYTI3Mjk1ODU0NDQ0NzM0YmNjZDg5MjYzMmFlMWEyMjEzZjNiLi5hYmEwMzdjYzZl
OTdlNTIyNzc4MWI2NDcyMzUxNzc5YmZmODViYjdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmNwcApAQCAtNzYsNyArNzYsNyBAQAog
I2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KIAot
I2lmIEVOQUJMRShWSURFTykgJiYgKChVU0UoR1NUUkVBTUVSKSAmJiBVU0UoTkFUSVZFX0ZVTExT
Q1JFRU5fVklERU8pKSB8fCBVU0UoUVRfTVVMVElNRURJQSkgfHwgVVNFKFFUS0lUKSkKKyNpZiBF
TkFCTEUoVklERU8pICYmICgoVVNFKEdTVFJFQU1FUikgJiYgVVNFKE5BVElWRV9GVUxMU0NSRUVO
X1ZJREVPKSkgfHwgVVNFKFFUX01VTFRJTUVESUEpKQogI2luY2x1ZGUgIkZ1bGxTY3JlZW5WaWRl
b1F0LmgiCiAjaW5jbHVkZSAiSFRNTE1lZGlhRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxOYW1l
cy5oIgpAQCAtMTI3LDcgKzEyNyw3IEBAIGJvb2wgQ2hyb21lQ2xpZW50UXQ6OmR1bXBWaXNpdGVk
TGlua3NDYWxsYmFja3MgPSBmYWxzZTsKIENocm9tZUNsaWVudFF0OjpDaHJvbWVDbGllbnRRdChR
V2ViUGFnZUFkYXB0ZXIqIHdlYlBhZ2VBZGFwdGVyKQogICAgIDogbV93ZWJQYWdlKHdlYlBhZ2VB
ZGFwdGVyKQogICAgICwgbV9ldmVudExvb3AoMCkKLSNpZiBFTkFCTEUoVklERU8pICYmICgoVVNF
KEdTVFJFQU1FUikgJiYgVVNFKE5BVElWRV9GVUxMU0NSRUVOX1ZJREVPKSkgfHwgVVNFKFFUX01V
TFRJTUVESUEpIHx8IFVTRShRVEtJVCkpCisjaWYgRU5BQkxFKFZJREVPKSAmJiAoKFVTRShHU1RS
RUFNRVIpICYmIFVTRShOQVRJVkVfRlVMTFNDUkVFTl9WSURFTykpIHx8IFVTRShRVF9NVUxUSU1F
RElBKSkKICAgICAsIG1fZnVsbFNjcmVlblZpZGVvKDApCiAjZW5kaWYKIHsKQEAgLTEzOSw3ICsx
MzksNyBAQCBDaHJvbWVDbGllbnRRdDo6fkNocm9tZUNsaWVudFF0KCkKICAgICBpZiAobV9ldmVu
dExvb3ApCiAgICAgICAgIG1fZXZlbnRMb29wLT5leGl0KCk7CiAKLSNpZiBFTkFCTEUoVklERU8p
ICYmICgoVVNFKEdTVFJFQU1FUikgJiYgVVNFKE5BVElWRV9GVUxMU0NSRUVOX1ZJREVPKSkgfHwg
VVNFKFFUX01VTFRJTUVESUEpIHx8IFVTRShRVEtJVCkpCisjaWYgRU5BQkxFKFZJREVPKSAmJiAo
KFVTRShHU1RSRUFNRVIpICYmIFVTRShOQVRJVkVfRlVMTFNDUkVFTl9WSURFTykpIHx8IFVTRShR
VF9NVUxUSU1FRElBKSkKICAgICBkZWxldGUgbV9mdWxsU2NyZWVuVmlkZW87CiAjZW5kaWYKIH0K
QEAgLTY3OSw3ICs2NzksNyBAQCBJbnRSZWN0IENocm9tZUNsaWVudFF0Ojp2aXNpYmxlUmVjdEZv
clRpbGVkQmFja2luZ1N0b3JlKCkgY29uc3QKIH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKFZJREVP
KSAmJiAoKFVTRShHU1RSRUFNRVIpICYmIFVTRShOQVRJVkVfRlVMTFNDUkVFTl9WSURFTykpIHx8
IFVTRShRVF9NVUxUSU1FRElBKSB8fCBVU0UoUVRLSVQpKQorI2lmIEVOQUJMRShWSURFTykgJiYg
KChVU0UoR1NUUkVBTUVSKSAmJiBVU0UoTkFUSVZFX0ZVTExTQ1JFRU5fVklERU8pKSB8fCBVU0Uo
UVRfTVVMVElNRURJQSkpCiBGdWxsU2NyZWVuVmlkZW9RdCogQ2hyb21lQ2xpZW50UXQ6OmZ1bGxT
Y3JlZW5WaWRlbygpCiB7CiAgICAgaWYgKCFtX2Z1bGxTY3JlZW5WaWRlbykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaCBiL1NvdXJj
ZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaAppbmRleCA5NjdlZGQy
NzgxODNjMDA2ZDFkMDk1ZjBmMmI1NDBmYmU2MGFmOGM4Li44ZjJkYjI2NWYxYWRkMWM4NGFjYzI0
NTY4ODVkNzMyZGYwZjE3MTEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVT
dXBwb3J0L0Nocm9tZUNsaWVudFF0LmgKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRRdC5oCkBAIC0xNTksNyArMTU5LDcgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgdm9pZCBuZWVkVG91Y2hFdmVudHMoYm9vbCkgeyB9CiAjZW5kaWYKIAotI2lmIEVOQUJM
RShWSURFTykgJiYgKChVU0UoR1NUUkVBTUVSKSAmJiBVU0UoTkFUSVZFX0ZVTExTQ1JFRU5fVklE
RU8pKSB8fCBVU0UoUVRfTVVMVElNRURJQSkgfHwgVVNFKFFUS0lUKSkKKyNpZiBFTkFCTEUoVklE
RU8pICYmICgoVVNFKEdTVFJFQU1FUikgJiYgVVNFKE5BVElWRV9GVUxMU0NSRUVOX1ZJREVPKSkg
fHwgVVNFKFFUX01VTFRJTUVESUEpKQogICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c0Z1bGxzY3Jl
ZW5Gb3JOb2RlKGNvbnN0IE5vZGUqKTsKICAgICB2aXJ0dWFsIHZvaWQgZW50ZXJGdWxsc2NyZWVu
Rm9yTm9kZShOb2RlKik7CiAgICAgdmlydHVhbCB2b2lkIGV4aXRGdWxsc2NyZWVuRm9yTm9kZShO
b2RlKik7CkBAIC0yMTUsNyArMjE1LDcgQEAgcHVibGljOgogICAgIE93blB0cjxSZWZyZXNoQW5p
bWF0aW9uPiBtX3JlZnJlc2hBbmltYXRpb247CiAjZW5kaWYKIAotI2lmIEVOQUJMRShWSURFTykg
JiYgKFVTRShHU1RSRUFNRVIpIHx8IFVTRShRVF9NVUxUSU1FRElBKSB8fCBVU0UoUVRLSVQpKQor
I2lmIEVOQUJMRShWSURFTykgJiYgKFVTRShHU1RSRUFNRVIpIHx8IFVTRShRVF9NVUxUSU1FRElB
KSkKICAgICBGdWxsU2NyZWVuVmlkZW9RdCogbV9mdWxsU2NyZWVuVmlkZW87CiAjZW5kaWYKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GdWxsU2NyZWVuVmlk
ZW9RdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Z1bGxTY3JlZW5WaWRl
b1F0LmNwcAppbmRleCA4NmQzNTRlNTdiYzk0MjhjMGExYTM0NDFmYzNiNjkxZGRkYTlmYzIwLi40
ZjAzYTY0M2FmNzgzOWFkYjg0ZjQ0ZTJiYWQ5MGE2MDk4YWM4YjM4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Z1bGxTY3JlZW5WaWRlb1F0LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Z1bGxTY3JlZW5WaWRlb1F0LmNwcApAQCAt
MzQsMTAgKzM0LDYgQEAKICNpbmNsdWRlICJQbGF0Zm9ybVZpZGVvV2luZG93UHJpdmF0ZS5oIgog
I2VuZGlmCiAKLSNpZiBVU0UoUVRLSVQpCi0jaW5jbHVkZSAiUVRLaXRGdWxsU2NyZWVuVmlkZW9I
YW5kbGVyLmgiCi0jZW5kaWYKLQogI2lmIFVTRShRVF9NVUxUSU1FRElBKQogI2luY2x1ZGUgPFFN
ZWRpYVBsYXllcj4KICNlbmRpZgpAQCAtMTAyLDEwICs5OCw2IEBAIEZ1bGxTY3JlZW5WaWRlb1F0
OjpGdWxsU2NyZWVuVmlkZW9RdChDaHJvbWVDbGllbnRRdCogY2hyb21lQ2xpZW50KQogI2lmIFVT
RShHU1RSRUFNRVIpICYmIFVTRShOQVRJVkVfRlVMTFNDUkVFTl9WSURFTykKICAgICBtX0Z1bGxT
Y3JlZW5WaWRlb0hhbmRsZXJHU3RyZWFtZXIgPSBuZXcgR1N0cmVhbWVyRnVsbFNjcmVlblZpZGVv
SGFuZGxlcjsKICNlbmRpZgotCi0jaWYgVVNFKFFUS0lUKQotICAgIG1fRnVsbFNjcmVlblZpZGVv
SGFuZGxlclFUS2l0ID0gbmV3IFFUS2l0RnVsbFNjcmVlblZpZGVvSGFuZGxlcjsKLSNlbmRpZgog
fQogCiBGdWxsU2NyZWVuVmlkZW9RdDo6fkZ1bGxTY3JlZW5WaWRlb1F0KCkKQEAgLTExNiw5ICsx
MDgsNiBAQCBGdWxsU2NyZWVuVmlkZW9RdDo6fkZ1bGxTY3JlZW5WaWRlb1F0KCkKICNpZiBVU0Uo
R1NUUkVBTUVSKSAmJiBVU0UoTkFUSVZFX0ZVTExTQ1JFRU5fVklERU8pCiAgICAgZGVsZXRlIG1f
RnVsbFNjcmVlblZpZGVvSGFuZGxlckdTdHJlYW1lcjsKICNlbmRpZgotI2lmIFVTRShRVEtJVCkK
LSAgICBkZWxldGUgbV9GdWxsU2NyZWVuVmlkZW9IYW5kbGVyUVRLaXQ7Ci0jZW5kaWYKIH0KIAog
dm9pZCBGdWxsU2NyZWVuVmlkZW9RdDo6ZW50ZXJGdWxsU2NyZWVuRm9yTm9kZShOb2RlKiBub2Rl
KQpAQCAtMTQ3LDEwICsxMzYsNiBAQCB2b2lkIEZ1bGxTY3JlZW5WaWRlb1F0OjplbnRlckZ1bGxT
Y3JlZW5Gb3JOb2RlKE5vZGUqIG5vZGUpCiAgICAgbV9GdWxsU2NyZWVuVmlkZW9IYW5kbGVyR1N0
cmVhbWVyLT5zZXRWaWRlb0VsZW1lbnQobV92aWRlb0VsZW1lbnQpOwogICAgIG1fRnVsbFNjcmVl
blZpZGVvSGFuZGxlckdTdHJlYW1lci0+ZW50ZXJGdWxsU2NyZWVuKCk7CiAjZW5kaWYKLQotI2lm
IFVTRShRVEtJVCkKLSAgICBtX0Z1bGxTY3JlZW5WaWRlb0hhbmRsZXJRVEtpdC0+ZW50ZXJGdWxs
U2NyZWVuKG1fdmlkZW9FbGVtZW50KTsKLSNlbmRpZgogfQogCiB2b2lkIEZ1bGxTY3JlZW5WaWRl
b1F0OjpleGl0RnVsbFNjcmVlbkZvck5vZGUoTm9kZSogbm9kZSkKQEAgLTE3NywxMSArMTYyLDYg
QEAgdm9pZCBGdWxsU2NyZWVuVmlkZW9RdDo6ZXhpdEZ1bGxTY3JlZW5Gb3JOb2RlKE5vZGUqIG5v
ZGUpCiAjaWYgVVNFKEdTVFJFQU1FUikgJiYgVVNFKE5BVElWRV9GVUxMU0NSRUVOX1ZJREVPKQog
ICAgIG1fRnVsbFNjcmVlblZpZGVvSGFuZGxlckdTdHJlYW1lci0+ZXhpdEZ1bGxTY3JlZW4oKTsK
ICNlbmRpZgotCi0jaWYgVVNFKFFUS0lUKQotICAgIG1fRnVsbFNjcmVlblZpZGVvSGFuZGxlclFU
S2l0LT5leGl0RnVsbFNjcmVlbigpOwotI2VuZGlmCi0KIH0KIAogdm9pZCBGdWxsU2NyZWVuVmlk
ZW9RdDo6YWJvdXRUb0Nsb3NlKCkKQEAgLTIxNSw4ICsxOTUsNiBAQCBib29sIEZ1bGxTY3JlZW5W
aWRlb1F0Ojppc1ZhbGlkKCkgY29uc3QKICNlbmRpZgogI2lmIFVTRShHU1RSRUFNRVIpICYmIFVT
RShOQVRJVkVfRlVMTFNDUkVFTl9WSURFTykKICAgICByZXR1cm4gbV9GdWxsU2NyZWVuVmlkZW9I
YW5kbGVyR1N0cmVhbWVyOwotI2VsaWYgVVNFKFFUS0lUKQotICAgIHJldHVybiBtX0Z1bGxTY3Jl
ZW5WaWRlb0hhbmRsZXJRVEtpdDsKICNlbHNlCiAgICAgcmV0dXJuIDA7CiAjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnVsbFNjcmVlblZpZGVvUXQu
aCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnVsbFNjcmVlblZpZGVvUXQuaApp
bmRleCA0MzhhYjNmYmVmZWU5NDZlMjM2YTIzM2VjNTdmZjNmMmM0YmJiM2MzLi5mNWJhMDc5M2M0
NjkxYjE4Y2QyNmUyZjMwMWVjNWEzZjMyM2NiOWQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L3F0L1dlYkNvcmVTdXBwb3J0L0Z1bGxTY3JlZW5WaWRlb1F0LmgKKysrIGIvU291cmNlL1dlYktp
dC9xdC9XZWJDb3JlU3VwcG9ydC9GdWxsU2NyZWVuVmlkZW9RdC5oCkBAIC0zOCw5ICszOCw2IEBA
IGNsYXNzIE5vZGU7CiAjaWYgVVNFKFFUX01VTFRJTUVESUEpCiBjbGFzcyBNZWRpYVBsYXllclBy
aXZhdGVRdDsKICNlbmRpZgotI2lmIFVTRShRVEtJVCkKLWNsYXNzIFFUS2l0RnVsbFNjcmVlblZp
ZGVvSGFuZGxlcjsKLSNlbmRpZgogCiAvLyBXZSBkbyBub3QgdXNlIEVOQUJMRSBvciBVU0UgYmVj
YXVzZSBtb2MgZG9lcyBub3QgZXhwYW5kIHRoZXNlIG1hY3Jvcy4KICNpZiBkZWZpbmVkKFdURl9V
U0VfR1NUUkVBTUVSKSAmJiBXVEZfVVNFX0dTVFJFQU1FUiAmJiBkZWZpbmVkKFdURl9VU0VfTkFU
SVZFX0ZVTExTQ1JFRU5fVklERU8pICYmIFdURl9VU0VfTkFUSVZFX0ZVTExTQ1JFRU5fVklERU8K
QEAgLTkzLDkgKzkwLDYgQEAgcHJpdmF0ZToKICNpZiBVU0UoR1NUUkVBTUVSKSAmJiBVU0UoTkFU
SVZFX0ZVTExTQ1JFRU5fVklERU8pCiAgICAgR1N0cmVhbWVyRnVsbFNjcmVlblZpZGVvSGFuZGxl
ciogbV9GdWxsU2NyZWVuVmlkZW9IYW5kbGVyR1N0cmVhbWVyOwogI2VuZGlmCi0jaWYgVVNFKFFU
S0lUKQotICAgIFFUS2l0RnVsbFNjcmVlblZpZGVvSGFuZGxlciogbV9GdWxsU2NyZWVuVmlkZW9I
YW5kbGVyUVRLaXQ7Ci0jZW5kaWYKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQvSW5pdFdlYkNvcmVRdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0L1dl
YkNvcmVTdXBwb3J0L0luaXRXZWJDb3JlUXQuY3BwCmluZGV4IDBlNDQ1MTJjOGRkZTlhMzg1NjRh
YzkyYTJiMDgzODA3YzA0NGVhYWIuLjhlNTZhZDM0N2U4ZWM5NzQ5NDg5N2E1ZjVlYzk2MDllZTQ4
ZWM2YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvSW5pdFdl
YkNvcmVRdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9Jbml0V2Vi
Q29yZVF0LmNwcApAQCAtNDMsOSArNDMsNiBAQAogI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIu
aCIKICNpbmNsdWRlICJTY3JvbGxiYXJUaGVtZVFTdHlsZS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5
UG9saWN5LmgiCi0jaWYgVVNFKFFUS0lUKQotI2luY2x1ZGUgIldlYlN5c3RlbUludGVyZmFjZS5o
IgotI2VuZGlmCiAKICNpbmNsdWRlICJxd2ViZWxlbWVudF9wLmgiCiAjaW5jbHVkZSA8SmF2YVNj
cmlwdENvcmUvcnVudGltZS9Jbml0aWFsaXplVGhyZWFkaW5nLmg+CkBAIC0xMDcsOSArMTA0LDYg
QEAgUV9ERUNMX0VYUE9SVCB2b2lkIGluaXRpYWxpemVXZWJDb3JlUXQoKQogICAgIFBsYXRmb3Jt
U3RyYXRlZ2llc1F0Ojppbml0aWFsaXplKCk7CiAgICAgUXRXZWJFbGVtZW50UnVudGltZTo6aW5p
dGlhbGl6ZSgpOwogCi0jaWYgVVNFKFFUS0lUKQotICAgIEluaXRXZWJDb3JlU3lzdGVtSW50ZXJm
YWNlKCk7Ci0jZW5kaWYKICAgICBpZiAoIVdlYkNvcmU6Om1lbW9yeUNhY2hlKCktPmRpc2FibGVk
KCkpCiAgICAgICAgIFdlYkNvcmU6Om1lbW9yeUNhY2hlKCktPnNldERlYWREZWNvZGVkRGF0YURl
bGV0aW9uSW50ZXJ2YWwoNjApOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9UYXJnZXQu
cHJpIGIvU291cmNlL1dlYktpdDIvVGFyZ2V0LnByaQppbmRleCA1ZjVkYWQwZGZkZTcyNDQ3YTAw
NWU4MmFhMTNkNGZkNDkxM2U3MzdhLi41OGE2NGFjZmU4MDU1OTU2Njk2M2M4NDc0ZDI2M2MzZWI5
NzczZjViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9UYXJnZXQucHJpCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1RhcmdldC5wcmkKQEAgLTg1MSwxOCArODUxLDYgQEAgaGF2ZT8oUVRRVUlDSykg
ewogfQogCiBtYWM6IHsKLSAgICB1c2U/KFFUS0lUKSB7Ci0gICAgICAgIERFRklORVMgKz0gTlNH
RU9NRVRSWV9UWVBFU19TQU1FX0FTX0NHR0VPTUVUUllfVFlQRVMKLSAgICAgICAgaXNFcXVhbChR
VF9BUkNILCAiaTM4NiIpIHsKLSAgICAgICAgICAgIERFRklORVMrPU5TX0JVSUxEXzMyX0xJS0Vf
NjQKLSAgICAgICAgfQotICAgICAgICBJTkNMVURFUEFUSCArPSBcCi0gICAgICAgICAgICAkJFBX
RC8uLi8uLi9XZWJLaXRMaWJyYXJpZXMvCi0gICAgICAgIEhFQURFUlMgKz0gXAotICAgICAgICAg
ICAgV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9xdC9XZWJTeXN0ZW1JbnRlcmZhY2UuaAotICAg
ICAgICBPQkpFQ1RJVkVfU09VUkNFUyArPSBcCi0gICAgICAgICAgICBXZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L3F0L1dlYlN5c3RlbUludGVyZmFjZS5tbQotICAgIH0KICAgICBJTkNMVURFUEFU
SCArPSBcCiAgICAgICAgIFBsYXRmb3JtL21hYyBcCiAgICAgICAgIFBsYXRmb3JtL0NvcmVJUEMv
bWFjCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvV2ViQ29udGV4dFF0
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9XZWJDb250ZXh0UXQuY3BwCmluZGV4
IDQ0ODI3ZWVkNWMyMWNiYTQwZDY0ZGZmZGRhYWNlYjliYWY5Y2I4OGUuLmI0MWI2ZmI0ZmU5YmM4
ZDUwMjk4M2YyMzUyZDU2ZjU1NDZkZDg2OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9xdC9XZWJDb250ZXh0UXQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9xdC9XZWJDb250ZXh0UXQuY3BwCkBAIC01Nyw5ICs1Nyw2IEBAIHZvaWQgV2ViQ29udGV4dDo6
cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2VzcyhXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
JiBwYXJhCiAgICAgc3RhdGljIFdlYkdlb2xvY2F0aW9uUHJvdmlkZXJRdCogbG9jYXRpb24gPSBX
ZWJHZW9sb2NhdGlvblByb3ZpZGVyUXQ6OmNyZWF0ZSh0b0FQSShzdXBwbGVtZW50PFdlYkdlb2xv
Y2F0aW9uTWFuYWdlclByb3h5PigpKSk7CiAgICAgV0tHZW9sb2NhdGlvbk1hbmFnZXJTZXRQcm92
aWRlcih0b0FQSShzdXBwbGVtZW50PFdlYkdlb2xvY2F0aW9uTWFuYWdlclByb3h5PigpKSwgV2Vi
R2VvbG9jYXRpb25Qcm92aWRlclF0Ojpwcm92aWRlcihsb2NhdGlvbikpOwogI2VuZGlmCi0jaWYg
VVNFKFFUS0lUKQotICAgIEluaXRXZWJDb3JlU3lzdGVtSW50ZXJmYWNlRm9yV0syKCk7Ci0jZW5k
aWYKIH0KIAogdm9pZCBXZWJDb250ZXh0OjpwbGF0Zm9ybUludmFsaWRhdGVDb250ZXh0KCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCBkMDcw
YjQ3Mzg4MmNmMDBmYjIyMGVjYzkxMmFhOWExYjVjNTBlMmZjLi4yYmVhMWFjY2MxMTQ3OTZlZWQ3
MmYwOTNkNjFhMGRlMDNiZjg3NzNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0yNTAwLDcgKzI1MDAsNyBAQCB2b2lkIFdlYlBhZ2U6OnVw
ZGF0ZVByZWZlcmVuY2VzKGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmIHN0b3JlKQogICAgIHNl
dHRpbmdzLT5zZXRBVkZvdW5kYXRpb25FbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShX
ZWJQcmVmZXJlbmNlc0tleTo6aXNBVkZvdW5kYXRpb25FbmFibGVkS2V5KCkpKTsKICNlbmRpZgog
Ci0jaWYgUExBVEZPUk0oTUFDKSB8fCAoUExBVEZPUk0oUVQpICYmIFVTRShRVEtJVCkpCisjaWYg
UExBVEZPUk0oTUFDKQogICAgIHNldHRpbmdzLT5zZXRRVEtpdEVuYWJsZWQoc3RvcmUuZ2V0Qm9v
bFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojppc1FUS2l0RW5hYmxlZEtleSgpKSk7CiAj
ZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9xdC9XZWJQcm9j
ZXNzTWFpblF0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvcXQvV2ViUHJvY2Vzc01h
aW5RdC5jcHAKaW5kZXggZjBiNTFjMTk5MTk0MjU0NzMwYTFjYThlMGM0OGQ4NTAwNTkwZTliMC4u
Y2NkOTNhOTdmNzllYTA5ODUyOWE5MWI4YTQ2MzEwNTQ1M2NmYWU1NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9xdC9XZWJQcm9jZXNzTWFpblF0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL3F0L1dlYlByb2Nlc3NNYWluUXQuY3BwCkBAIC0zOSwxMCAr
MzksNiBAQAogI2luY2x1ZGUgPFdlYkNvcmUvUnVuTG9vcC5oPgogI2luY2x1ZGUgPGVycm5vLmg+
CiAKLSNpZiBVU0UoUVRLSVQpCi0jaW5jbHVkZSAiV2ViU3lzdGVtSW50ZXJmYWNlLmgiCi0jZW5k
aWYKLQogI2lmbmRlZiBOREVCVUcKICNpZiAhT1MoV0lORE9XUykKICNpbmNsdWRlIDx1bmlzdGQu
aD4KQEAgLTIxMywxMCArMjA5LDYgQEAgUV9ERUNMX0VYUE9SVCBpbnQgV2ViUHJvY2Vzc01haW5R
dChRR3VpQXBwbGljYXRpb24qIGFwcCkKIAogICAgIEluaXRpYWxpemVXZWJLaXQyKCk7CiAKLSNp
ZiBVU0UoUVRLSVQpCi0gICAgSW5pdFdlYkNvcmVTeXN0ZW1JbnRlcmZhY2VGb3JXSzIoKTsKLSNl
bmRpZgotCiAgICAgLy8gQ3JlYXRlIHRoZSBjb25uZWN0aW9uLgogICAgIGlmIChhcHAtPmFyZ3Vt
ZW50cygpLnNpemUoKSA8PSAxKSB7CiAgICAgICAgIHFEZWJ1ZygpIDw8ICJFcnJvcjogd3Jvbmcg
bnVtYmVyIG9mIGFyZ3VtZW50cy4iOwpkaWZmIC0tZ2l0IGEvU291cmNlL3dpZGdldHNhcGkucHJp
IGIvU291cmNlL3dpZGdldHNhcGkucHJpCmluZGV4IGFhMDdmN2VjNWZiNzY5MWViMGRmOTNlNGFm
M2JlZGZiMzRjMzcwMWYuLmU4M2RmZjI5Mjc4OTllNzg4ZmFjYjhmZGEyZjNlYzdiYzZmZDkzMzIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS93aWRnZXRzYXBpLnByaQorKysgYi9Tb3VyY2Uvd2lkZ2V0c2Fw
aS5wcmkKQEAgLTE0OSw3ICsxNDksNyBAQCBJTkNMVURFUEFUSCArPSBcCiAgICAgJCRQV0QvcXQv
V2ViQ29yZVN1cHBvcnQKIAogZW5hYmxlPyhWSURFTykgewotICAgICF1c2U/KFFUS0lUKTohdXNl
PyhHU1RSRUFNRVIpOnVzZT8oUVRfTVVMVElNRURJQSkgeworICAgICF1c2U/KEdTVFJFQU1FUik6
dXNlPyhRVF9NVUxUSU1FRElBKSB7CiAgICAgICAgIEhFQURFUlMgKz0gJCRQV0QvV2ViS2l0L3F0
L1dpZGdldFN1cHBvcnQvRnVsbFNjcmVlblZpZGVvV2lkZ2V0LmgKICAgICAgICAgU09VUkNFUyAr
PSAkJFBXRC9XZWJLaXQvcXQvV2lkZ2V0U3VwcG9ydC9GdWxsU2NyZWVuVmlkZW9XaWRnZXQuY3Bw
CiAgICAgfQpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IGNjZGJmZDdj
MmVlM2Y3OTE4ZTVkZWQ3YjZmMmYzZDk1ZGQ4ODM2NTkuLjNmMmEzOWM3ZWNlNTIyY2I0ZjU0ZDhi
MjQ4ZDBmNzc1OWYwYmQ0OTkgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNyBAQAorMjAxMy0wNi0xNCAgTWljaGFlbCBCcsO8bmluZyAgPG1pY2hhZWwu
YnJ1bmluZ0BkaWdpYS5jb20+CisKKyAgICAgICAgW1F0XSBSZW1vdmUgUXQgc3BlY2lmaWMgUVRL
SVQgZmxhZ2dlZCBjb2RlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTE3NjM1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgRHVlIHRvIGRpc2FibGluZyBRVEtJVCBmb3IgUXQgaW4gIHIxNTE1NDYsIHRoZQor
ICAgICAgICBjb2RlIHRoZSBmbGFncyB0aGF0IGFyZSBub3QgdGFrZW4gaW50byBhY2NvdW50Cisg
ICAgICAgIGFueW1vcmUgYW5kIHRoZSBjb2RlIHRoYXQgaGFzIGJlZW4gcmVuZGVyZWQKKyAgICAg
ICAgdW5yZWFjaGFibGUgYnkgdGhpcyBhcmUgcmVtb3ZlZC4KKworICAgICAgICAqIFNvdXJjZS93
aWRnZXRzYXBpLnByaToKKwogMjAxMy0wNi0xNCAgTWFudWVsIFJlZ28gQ2FzYXNub3ZhcyAgPHJl
Z29AaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXVtXSzFdIE1pc3Npbmcgc3ltYm9scwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>204816</attachid>
            <date>2013-06-17 06:26:58 -0700</date>
            <delta_ts>2013-06-17 06:42:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-117635-20130617152511.patch</filename>
            <type>text/plain</type>
            <size>54197</size>
            <attacher name="Michael Brüning">michael.bruning</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUxNjM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmZjNmJmMGViZDdkNmU1
MDA2M2JiZmYxYmM5MDQ5YzQ2M2JiZWNiYS4uMjg0NzBlNTFlZmI1OTVlNjk2Y2UyYWExOWViNDI0
ZTEyZDc5YzlhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDEzLTA2LTE3ICBNaWNo
YWVsIEJyw7xuaW5nICA8bWljaGFlbC5icnVuaW5nQGRpZ2lhLmNvbT4KKworICAgICAgICBbUXRd
IFJlbW92ZSBRdCBzcGVjaWZpYyBRVEtJVCBmbGFnZ2VkIGNvZGUuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTc2MzUKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEdWUgdG8gZGlzYWJsaW5nIFFUS0lUIGZv
ciBRdCBpbiByMTUxNTQ2LCB0aGUKKyAgICAgICAgY29kZSB0aGUgZmxhZ3MgdGhhdCBhcmUgbm90
IHRha2VuIGludG8gYWNjb3VudAorICAgICAgICBhbnltb3JlIGFuZCB0aGUgY29kZSB0aGF0IGhh
cyBiZWVuIHJlbmRlcmVkCisgICAgICAgIHVucmVhY2hhYmxlIGJ5IHRoaXMgYXJlIHJlbW92ZWQu
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBubyBiZWhhdmlvdXJhbCBjaGFuZ2UuCisKKyAgICAg
ICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIHBh
Z2UvU2V0dGluZ3MuY3BwOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9LVVJMLmg6CisgICAgICAgICogcGxhdGZvcm0vU2hhcmVkQnVmZmVyLmg6CisgICAg
ICAgICogcGxhdGZvcm0vY2YvS1VSTENGTmV0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OktVUkw6
OmZpbGVTeXN0ZW1QYXRoKToKKyAgICAgICAgKiBwbGF0Zm9ybS9jZi9TaGFyZWRCdWZmZXJDRi5j
cHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRTaXplLmg6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L0ludFNpemUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjppbnN0YWxsZWRNZWRpYUVuZ2luZXMpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2NnL0Zsb2F0U2l6ZUNHLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jZy9JbnRSZWN0Q0cuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21h
Yy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
UGxheWVyUHJpdmF0ZVFUS2l0OjpjcmVhdGVRVE1vdmllTGF5ZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQ6OnByZWZlcnJlZFJlbmRlcmluZ01vZGUpOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQ6OnBhaW50KToKKyAgICAgICAg
KC1bV2ViQ29yZU1vdmllT2JzZXJ2ZXIgbGF5ZXJIb3N0Q2hhbmdlZDpdKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvU2hhcmVkQnVmZmVyTWFjLm1tOgorICAgICAgICAoK1tXZWJDb3JlU2hhcmVk
QnVmZmVyRGF0YSBpbml0aWFsaXplXSk6CisgICAgICAgIChXZWJDb3JlOjpTaGFyZWRCdWZmZXI6
OmNyZWF0ZVdpdGhDb250ZW50c09mRmlsZSk6CisKIDIwMTMtMDYtMTcgIENhcmxvcyBHYXJjaWEg
Q2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQuIEZpeCBt
YWtlIGRpc3RjaGVjay4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZTJhZWYwMTdkMGM2OWM2NjFiMGQzNDM3M2RjZjJj
M2JmZTAzNjMyMC4uYTk3MDQyNDU2ODcyMjg5N2ExNmQxNWJjOGYxNzMzOTZiMzVmM2Q0MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMy0wNi0xNyAgTWljaGFlbCBCcsO8bmluZyAgPG1p
Y2hhZWwuYnJ1bmluZ0BkaWdpYS5jb20+CisKKyAgICAgICAgW1F0XSBSZW1vdmUgUXQgc3BlY2lm
aWMgUVRLSVQgZmxhZ2dlZCBjb2RlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTE3NjM1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgRHVlIHRvIGRpc2FibGluZyBRVEtJVCBmb3IgUXQgaW4gcjE1MTU0Niwg
dGhlCisgICAgICAgIGNvZGUgdGhlIGZsYWdzIHRoYXQgYXJlIG5vdCB0YWtlbiBpbnRvIGFjY291
bnQKKyAgICAgICAgYW55bW9yZSBhbmQgdGhlIGNvZGUgdGhhdCBoYXMgYmVlbiByZW5kZXJlZAor
ICAgICAgICB1bnJlYWNoYWJsZSBieSB0aGlzIGFyZSByZW1vdmVkLgorCisgICAgICAgICogV2Vi
S2l0MS5wcm86CisKIDIwMTMtMDYtMTQgIEFsYmVydG8gR2FyY2lhICA8YWdhcmNpYUBpZ2FsaWEu
Y29tPgogCiAgICAgICAgIFtCbGFja0JlcnJ5XSBSZW1vdmUgaW1wbGVtZW50YXRpb24gb2YgQ29u
dGV4dE1lbnUgY2xhc3NlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDM5MjZmYjc3YWI5YmIyY2ExNjk1
NjViM2M0YzlkYjM2YzI4ZGIzODUuLmE0OGY4NjQyNzM4NWVhZmVmZTE3Nzg1NzFkNGFkZDMyNzJk
ZGNiMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMy0wNi0xNyAgTWlj
aGFlbCBCcsO8bmluZyAgPG1pY2hhZWwuYnJ1bmluZ0BkaWdpYS5jb20+CisKKyAgICAgICAgW1F0
XSBSZW1vdmUgUXQgc3BlY2lmaWMgUVRLSVQgZmxhZ2dlZCBjb2RlLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE3NjM1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRHVlIHRvIGRpc2FibGluZyBRVEtJVCBm
b3IgUXQgaW4gcjE1MTU0NiwgdGhlCisgICAgICAgIGNvZGUgdGhlIGZsYWdzIHRoYXQgYXJlIG5v
dCB0YWtlbiBpbnRvIGFjY291bnQKKyAgICAgICAgYW55bW9yZSBhbmQgdGhlIGNvZGUgdGhhdCBo
YXMgYmVlbiByZW5kZXJlZAorICAgICAgICB1bnJlYWNoYWJsZSBieSB0aGlzIGFyZSByZW1vdmVk
LgorCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9w
cmVmZXJlbmNlc0NoYW5nZWQ6XSk6CisKIDIwMTMtMDYtMTQgIEdyemVnb3J6IEN6YWprb3dza2kg
IDxnLmN6YWprb3dza2lAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgQ29udGV4dCBtZW51IGdyYW1t
YXIgY2hlY2tpbmcgaXRlbXMgYXJlIGF2YWlsYWJsZSB3aGVuIEdSQU1NQVJfQ0hFQ0tJTkcgbWFj
cm8gaXMgb2ZmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDAwMzlkZjYwZTlmYjNiOWJmY2RjYzJjMTM2YjU0
MTgwNDlkMWMzN2MuLmU1OWFmZGI1N2Q2MzViNTc0N2IzNzNmYmZiZTE4NTI5OWU1MTBlZmEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
cXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTMtMDYtMTcgIE1pY2hhZWwgQnLDvG5p
bmcgIDxtaWNoYWVsLmJydW5pbmdAZGlnaWEuY29tPgorCisgICAgICAgIFtRdF0gUmVtb3ZlIFF0
IHNwZWNpZmljIFFUS0lUIGZsYWdnZWQgY29kZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTExNzYzNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIER1ZSB0byBkaXNhYmxpbmcgUVRLSVQgZm9yIFF0IGluIHIx
NTE1NDYsIHRoZQorICAgICAgICBjb2RlIHRoZSBmbGFncyB0aGF0IGFyZSBub3QgdGFrZW4gaW50
byBhY2NvdW50CisgICAgICAgIGFueW1vcmUgYW5kIHRoZSBjb2RlIHRoYXQgaGFzIGJlZW4gcmVu
ZGVyZWQKKyAgICAgICAgdW5yZWFjaGFibGUgYnkgdGhpcyBhcmUgcmVtb3ZlZC4KKworICAgICAg
ICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNocm9tZUNsaWVudFF0OjpDaHJvbWVDbGllbnRRdCk6CisgICAgICAgIChXZWJDb3JlOjpDaHJv
bWVDbGllbnRRdDo6fkNocm9tZUNsaWVudFF0KToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9D
aHJvbWVDbGllbnRRdC5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Z1bGxTY3JlZW5WaWRl
b1F0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZ1bGxTY3JlZW5WaWRlb1F0OjpGdWxsU2NyZWVu
VmlkZW9RdCk6CisgICAgICAgIChXZWJDb3JlOjpGdWxsU2NyZWVuVmlkZW9RdDo6fkZ1bGxTY3Jl
ZW5WaWRlb1F0KToKKyAgICAgICAgKFdlYkNvcmU6OkZ1bGxTY3JlZW5WaWRlb1F0OjplbnRlckZ1
bGxTY3JlZW5Gb3JOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkZ1bGxTY3JlZW5WaWRlb1F0Ojpl
eGl0RnVsbFNjcmVlbkZvck5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6RnVsbFNjcmVlblZpZGVv
UXQ6OmlzVmFsaWQpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Z1bGxTY3JlZW5WaWRlb1F0
Lmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvSW5pdFdlYkNvcmVRdC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjppbml0aWFsaXplV2ViQ29yZVF0KToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9y
dC9RVEtpdEZ1bGxTY3JlZW5WaWRlb0hhbmRsZXIuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBXZWJD
b3JlU3VwcG9ydC9RVEtpdEZ1bGxTY3JlZW5WaWRlb0hhbmRsZXIubW06IFJlbW92ZWQuCisgICAg
ICAgICogV2ViQ29yZVN1cHBvcnQvV2ViU3lzdGVtSW50ZXJmYWNlLmg6IFJlbW92ZWQuCisgICAg
ICAgICogV2ViQ29yZVN1cHBvcnQvV2ViU3lzdGVtSW50ZXJmYWNlLm1tOiBSZW1vdmVkLgorCiAy
MDEzLTA2LTA1ICBBbGxhbiBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5AZGlnaWEuY29t
PgogCiAgICAgICAgIFtRdF0gSGFuZGxlIFJldHVybiBrZXkgd2l0aG91dCBrZXkgdGV4dApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCmluZGV4IDcyNjY4MDk2ODE5OGEyZGFlMTAyM2IyZjEwOWI4OTZiZDQyYzM3NzUuLjNjNTUw
ZTBjNjQzNWZiY2RiYjIyNTk0N2E2YjE3ZmY3NDg0MTE4NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyNSBAQAorMjAxMy0wNi0xNyAgTWljaGFlbCBCcsO8bmluZyAgPG1pY2hhZWwuYnJ1bmluZ0Bk
aWdpYS5jb20+CisKKyAgICAgICAgW1F0XSBSZW1vdmUgUXQgc3BlY2lmaWMgUVRLSVQgZmxhZ2dl
ZCBjb2RlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTE3NjM1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
RHVlIHRvIGRpc2FibGluZyBRVEtJVCBmb3IgUXQgaW4gcjE1MTU0NiwgdGhlCisgICAgICAgIGNv
ZGUgdGhlIGZsYWdzIHRoYXQgYXJlIG5vdCB0YWtlbiBpbnRvIGFjY291bnQKKyAgICAgICAgYW55
bW9yZSBhbmQgdGhlIGNvZGUgdGhhdCBoYXMgYmVlbiByZW5kZXJlZAorICAgICAgICB1bnJlYWNo
YWJsZSBieSB0aGlzIGFyZSByZW1vdmVkLgorCisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvcXQvV2ViQ29udGV4dFF0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
Q29udGV4dDo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9xdC9XZWJTeXN0ZW1JbnRlcmZhY2UuaDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L3F0L1dlYlN5c3RlbUludGVyZmFjZS5t
bTogUmVtb3ZlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnVwZGF0ZVByZWZlcmVuY2VzKToKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL3F0L1dlYlByb2Nlc3NNYWluUXQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
cm9jZXNzTWFpblF0KToKKwogMjAxMy0wNi0xNCAgR3J6ZWdvcnogQ3phamtvd3NraSAgPGcuY3ph
amtvd3NraUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBDb250ZXh0IG1lbnUgZ3JhbW1hciBjaGVj
a2luZyBpdGVtcyBhcmUgYXZhaWxhYmxlIHdoZW4gR1JBTU1BUl9DSEVDS0lORyBtYWNybyBpcyBv
ZmYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29y
ZS9UYXJnZXQucHJpCmluZGV4IDA3YmE4YmQ5NzdhZjc4M2ZkMTE1ZjMwY2Q2MWRjNGVmMjRkODRi
NmYuLmJmNmU4MmVlOWMzNDNmMjE4M2RlYTlhYTA2YzkwMWNlNmJmODRlNjIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnBy
aQpAQCAtMzMxMCw1MiArMzMxMCw3IEBAIGVuYWJsZT8oVklERU8pIHsKICAgICAgICAgcmVuZGVy
aW5nL1JlbmRlck1lZGlhQ29udHJvbHMuY3BwIFwKICAgICAgICAgcmVuZGVyaW5nL1JlbmRlck1l
ZGlhQ29udHJvbEVsZW1lbnRzLmNwcAogCi0gICAgdXNlPyhRVEtJVCkgewotICAgICAgICBJTkNM
VURFUEFUSCArPSBcCi0gICAgICAgICAgICAkJFNPVVJDRV9ESVIvLi4vV2ViS2l0TGlicmFyaWVz
LyBcCi0gICAgICAgICAgICAkJFBXRC9wbGF0Zm9ybS9tYWMgXAotICAgICAgICAgICAgJCRQV0Qv
cGxhdGZvcm0vY2YKLQotCi0gICAgICAgIEhFQURFUlMgKz0gXAotICAgICAgICAgICAgcGxhdGZv
cm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0LmggXAotICAgICAgICAgICAg
cGxhdGZvcm0vbWFjL1dlYkNvcmVPYmpDRXh0cmFzLmggXAotICAgICAgICAgICAgcGxhdGZvcm0v
cXQvV2ViQ29yZVN5c3RlbUludGVyZmFjZS5oIFwKLSAgICAgICAgICAgIHBsYXRmb3JtL21hYy9C
bG9ja0V4Y2VwdGlvbnMuaCBcCi0gICAgICAgICAgICBwbGF0Zm9ybS9tYWMvV2ViQ29yZU9iakNF
eHRyYXMuaCBcCi0gICAgICAgICAgICBwbGF0Zm9ybS9tYWMvV2ViVmlkZW9GdWxsc2NyZWVuQ29u
dHJvbGxlci5oIFwKLSAgICAgICAgICAgIHBsYXRmb3JtL21hYy9XZWJWaWRlb0Z1bGxzY3JlZW5I
VURXaW5kb3dDb250cm9sbGVyLmggXAotICAgICAgICAgICAgcGxhdGZvcm0vbWFjL1dlYldpbmRv
d0FuaW1hdGlvbi5oIFwKLSAgICAgICAgICAgIHBsYXRmb3JtL2NmL0NGVVJMRXh0cmFzLmgKLQot
ICAgICAgICBTT1VSQ0VTICs9IFwKLSAgICAgICAgICAgIHBsYXRmb3JtL21hYy9EaXNwbGF5U2xl
ZXBEaXNhYmxlci5jcHAgXAotICAgICAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW50UmVj
dENHLmNwcCBcCi0gICAgICAgICAgICBwbGF0Zm9ybS9ncmFwaGljcy9jZy9GbG9hdFNpemVDRy5j
cHAgXAotICAgICAgICAgICAgcGxhdGZvcm0vY2YvS1VSTENGTmV0LmNwcCBcCi0gICAgICAgICAg
ICBwbGF0Zm9ybS9jZi9DRlVSTEV4dHJhcy5jcHAKLQotICAgICAgICAgT0JKRUNUSVZFX1NPVVJD
RVMgKz0gXAotICAgICAgICAgICAgcGxhdGZvcm0vcXQvV2ViQ29yZVN5c3RlbUludGVyZmFjZS5t
bSBcCi0gICAgICAgICAgICBwbGF0Zm9ybS9tYWMvQmxvY2tFeGNlcHRpb25zLm1tIFwKLSAgICAg
ICAgICAgIHBsYXRmb3JtL21hYy9XZWJDb3JlT2JqQ0V4dHJhcy5tbSBcCi0gICAgICAgICAgICBw
bGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQubW0gXAotICAgICAg
ICAgICAgcGxhdGZvcm0vbWFjL1NoYXJlZEJ1ZmZlck1hYy5tbSBcCi0gICAgICAgICAgICBwbGF0
Zm9ybS9tYWMvS1VSTE1hYy5tbSBcCi0gICAgICAgICAgICBwbGF0Zm9ybS90ZXh0L21hYy9TdHJp
bmdNYWMubW0gXAotICAgICAgICAgICAgcGxhdGZvcm0vdGV4dC9tYWMvU3RyaW5nSW1wbE1hYy5t
bSBcCi0gICAgICAgICAgICBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvRmxvYXRTaXplTWFjLm1tIFwK
LSAgICAgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9JbnRSZWN0TWFjLm1tIFwKLSAgICAg
ICAgICAgIHBsYXRmb3JtL21hYy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLm1tIFwKLSAg
ICAgICAgICAgIHBsYXRmb3JtL21hYy9XZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9s
bGVyLm1tIFwKLSAgICAgICAgICAgIHBsYXRmb3JtL21hYy9XZWJXaW5kb3dBbmltYXRpb24ubW0K
LQotICAgICAgICBERUZJTkVTKz1OU0dFT01FVFJZX1RZUEVTX1NBTUVfQVNfQ0dHRU9NRVRSWV9U
WVBFUwotICAgICAgICBpc0VxdWFsKFFUX0FSQ0gsICJpMzg2IikgewotICAgICAgICAgICAgREVG
SU5FUys9TlNfQlVJTERfMzJfTElLRV82NAotICAgICAgICB9Ci0KLSAgICB9IGVsc2U6IHVzZT8o
R1NUUkVBTUVSKSB7CisgICAgdXNlPyhHU1RSRUFNRVIpIHsKICAgICAgICAgSEVBREVSUyArPSBc
CiAgICAgICAgICAgICBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1N0cmVhbWVyR1dvcmxk
LmggXAogICAgICAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lckJhc2UuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDVjNmJjYzlj
MzFiYzg0ZTM1MWNiYTljOGFmNWZmOTEwN2IzMzQ5OGUuLjZhMWE5NGE5ZDcxYjA0M2E2NTBlMTdl
MGY1NGZmNzQ1MmIyMGU1MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhw
LmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0yMzcxLDcgKzIzNzEs
NyBAQCBfX1pON1dlYkNvcmU4U2V0dGluZ3MyMGdBVkZvdW5kYXRpb25FbmFibGVkRQogX19aTjdX
ZWJDb3JlOFNldHRpbmdzMjJzZXRBVkZvdW5kYXRpb25FbmFibGVkRWIKICNlbmRpZgogCi0jaWYg
UExBVEZPUk0oTUFDKSB8fCAoUExBVEZPUk0oUVQpICYmIFVTRShRVEtJVCkpCisjaWYgUExBVEZP
Uk0oTUFDKQogX19aTjdXZWJDb3JlOFNldHRpbmdzMTNnUVRLaXRFbmFibGVkRQogX19aTjdXZWJD
b3JlOFNldHRpbmdzMTVzZXRRVEtpdEVuYWJsZWRFYgogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGlu
Z3MuY3BwCmluZGV4IDM4YTA4OTBmZGYzMGU4NDljZWE0NjQ0Y2U5YzI0YzgwYjljMzgyZGMuLjRk
Y2UxYzk4NjRjMjFkNmQ5MGIxMWU1OGVkY2M0NWNhZmM0NGQ3YTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0
dGluZ3MuY3BwCkBAIC03Nyw3ICs3Nyw3IEBAIGJvb2wgU2V0dGluZ3M6OmdTaG91bGRQYWludE5h
dGl2ZUNvbnRyb2xzID0gdHJ1ZTsKIGJvb2wgU2V0dGluZ3M6OmdBVkZvdW5kYXRpb25FbmFibGVk
ID0gZmFsc2U7CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKE1BQykgfHwgKFBMQVRGT1JNKFFUKSAm
JiBVU0UoUVRLSVQpKQorI2lmIFBMQVRGT1JNKE1BQykKIGJvb2wgU2V0dGluZ3M6OmdRVEtpdEVu
YWJsZWQgPSB0cnVlOwogI2VuZGlmCiAKQEAgLTUzNyw3ICs1MzcsNyBAQCB2b2lkIFNldHRpbmdz
OjpzZXRBVkZvdW5kYXRpb25FbmFibGVkKGJvb2wgZW5hYmxlZCkKIH0KICNlbmRpZgogCi0jaWYg
UExBVEZPUk0oTUFDKSB8fCAoUExBVEZPUk0oUVQpICYmIFVTRShRVEtJVCkpCisjaWYgUExBVEZP
Uk0oTUFDKQogdm9pZCBTZXR0aW5nczo6c2V0UVRLaXRFbmFibGVkKGJvb2wgZW5hYmxlZCkKIHsK
ICAgICBpZiAoZ1FUS2l0RW5hYmxlZCA9PSBlbmFibGVkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9TZXR0aW5ncy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCmlu
ZGV4IGQ2OGE2NDI4MGRmMjZiOGU0NjkyNjRmMjAzOWQxODA2ZWMyZGYzYzYuLjUxZmE4NTZhYmMz
NGM2ZWFlMmFhMmEyNjlkYmMwNWU2MTgwMzg0ZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvU2V0dGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKQEAg
LTIxNCw3ICsyMTQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHN0YXRpYyBib29s
IGlzQVZGb3VuZGF0aW9uRW5hYmxlZCgpIHsgcmV0dXJuIGdBVkZvdW5kYXRpb25FbmFibGVkOyB9
CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKE1BQykgfHwgKFBMQVRGT1JNKFFUKSAmJiBVU0UoUVRL
SVQpKQorI2lmIFBMQVRGT1JNKE1BQykKICAgICAgICAgc3RhdGljIHZvaWQgc2V0UVRLaXRFbmFi
bGVkKGJvb2wgZmxhZyk7CiAgICAgICAgIHN0YXRpYyBib29sIGlzUVRLaXRFbmFibGVkKCkgeyBy
ZXR1cm4gZ1FUS2l0RW5hYmxlZDsgfQogI2VuZGlmCkBAIC0zMjMsNyArMzIzLDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICBzdGF0aWMgYm9vbCBnQVZGb3VuZGF0aW9uRW5hYmxlZDsK
ICNlbmRpZgogCi0jaWYgUExBVEZPUk0oTUFDKSB8fCAoUExBVEZPUk0oUVQpICYmIFVTRShRVEtJ
VCkpCisjaWYgUExBVEZPUk0oTUFDKQogICAgICAgICBzdGF0aWMgYm9vbCBnUVRLaXRFbmFibGVk
OwogI2VuZGlmCiAgICAgICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
S1VSTC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vS1VSTC5oCmluZGV4IDBmOTdmZjg4MGIx
ZWI0MDg1YjgyNDM3ZGI0M2U0MDUxZTI4ZTg5NmEuLjA3YTQ5MzFmODg0NjhiYThkMDk0NTA5NTIy
MzY2MmZmNWI0NTFjMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tVUkwu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9LVVJMLmgKQEAgLTM1LDcgKzM1LDcgQEAK
IHR5cGVkZWYgY29uc3Qgc3RydWN0IF9fQ0ZVUkwqIENGVVJMUmVmOwogI2VuZGlmCiAKLSNpZiBQ
TEFURk9STShNQUMpIHx8IChQTEFURk9STShRVCkgJiYgVVNFKFFUS0lUKSkKKyNpZiBQTEFURk9S
TShNQUMpCiBPQkpDX0NMQVNTIE5TVVJMOwogI2VuZGlmCiAKQEAgLTE3MSw3ICsxNzEsNyBAQCBw
dWJsaWM6CiAgICAgUmV0YWluUHRyPENGVVJMUmVmPiBjcmVhdGVDRlVSTCgpIGNvbnN0OwogI2Vu
ZGlmCiAKLSNpZiBQTEFURk9STShNQUMpIHx8IChQTEFURk9STShRVCkgJiYgVVNFKFFUS0lUKSkK
KyNpZiBQTEFURk9STShNQUMpCiAgICAgS1VSTChOU1VSTCopOwogICAgIG9wZXJhdG9yIE5TVVJM
KigpIGNvbnN0OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
aGFyZWRCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZEJ1ZmZlci5oCmlu
ZGV4IDdiMDM1NjY0ZDcwZTFlMDI5M2Q1Nzg2ZmYxYjU3MTAxNGUzMzk1YWYuLjRjMzEyZjkyYzEz
MjY0ZDcyY2JjMTRhNzE3YmNjMTU5MjI0MzQzZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1NoYXJlZEJ1ZmZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1No
YXJlZEJ1ZmZlci5oCkBAIC0zNyw3ICszNyw3IEBACiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5o
PgogI2VuZGlmCiAKLSNpZiBQTEFURk9STShNQUMpIHx8IChQTEFURk9STShRVCkgJiYgVVNFKFFU
S0lUKSkKKyNpZiBQTEFURk9STShNQUMpCiBPQkpDX0NMQVNTIE5TRGF0YTsKICNlbmRpZgogCkBA
IC02Miw3ICs2Miw3IEBAIHB1YmxpYzoKICAgICAKICAgICB+U2hhcmVkQnVmZmVyKCk7CiAgICAg
Ci0jaWYgUExBVEZPUk0oTUFDKSB8fCAoUExBVEZPUk0oUVQpICYmIFVTRShRVEtJVCkpCisjaWYg
UExBVEZPUk0oTUFDKQogICAgIE5TRGF0YSAqY3JlYXRlTlNEYXRhKCk7CiAgICAgc3RhdGljIFBh
c3NSZWZQdHI8U2hhcmVkQnVmZmVyPiB3cmFwTlNEYXRhKE5TRGF0YSAqZGF0YSk7CiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NmL0tVUkxDRk5ldC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jZi9LVVJMQ0ZOZXQuY3BwCmluZGV4IDNkYTAzOTA3MjRl
MDU3YWUyNzA2MzMxZmM5NjlkYTg4YTZmZTRjZjUuLjgxYjdjZmU5YzhhYjkxNjc2ZTE4ZTI4MDIw
NDJmMTBhNTQ2NTU4N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NmL0tV
UkxDRk5ldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2YvS1VSTENGTmV0LmNw
cApAQCAtNDcsNyArNDcsNyBAQCBLVVJMOjpLVVJMKENGVVJMUmVmIHVybCkKICAgICBwYXJzZSh1
cmxCeXRlcy5kYXRhKCkpOwogfQogCi0jaWYgIVBMQVRGT1JNKE1BQykgJiYgIShQTEFURk9STShR
VCkgJiYgVVNFKFFUS0lUKSkKKyNpZiAhUExBVEZPUk0oTUFDKQogUmV0YWluUHRyPENGVVJMUmVm
PiBLVVJMOjpjcmVhdGVDRlVSTCgpIGNvbnN0CiB7CiAgICAgLy8gRklYTUU6IFdoYXQgc2hvdWxk
IHRoaXMgcmV0dXJuIGZvciBpbnZhbGlkIFVSTHM/CkBAIC01OSw3ICs1OSw2IEBAIFJldGFpblB0
cjxDRlVSTFJlZj4gS1VSTDo6Y3JlYXRlQ0ZVUkwoKSBjb25zdAogfQogI2VuZGlmCiAKLSNpZiAh
KFBMQVRGT1JNKFFUKSAmJiBVU0UoUVRLSVQpKQogU3RyaW5nIEtVUkw6OmZpbGVTeXN0ZW1QYXRo
KCkgY29uc3QKIHsKICAgICBSZXRhaW5QdHI8Q0ZVUkxSZWY+IGNmVVJMID0gY3JlYXRlQ0ZVUkwo
KTsKQEAgLTczLDYgKzcyLDUgQEAgU3RyaW5nIEtVUkw6OmZpbGVTeXN0ZW1QYXRoKCkgY29uc3QK
ICNlbmRpZgogICAgIHJldHVybiBhZG9wdENGKENGVVJMQ29weUZpbGVTeXN0ZW1QYXRoKGNmVVJM
LmdldCgpLCBwYXRoU3R5bGUpKS5nZXQoKTsKIH0KLSNlbmRpZgogCiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jZi9TaGFyZWRCdWZmZXJDRi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9jZi9TaGFyZWRCdWZmZXJDRi5jcHAKaW5kZXggNmUxMmVlYjc4YWJhNWY2
YzQwN2E5M2QxMzQ1NjRiNTE5YjFjOGQxOS4uMTg4YTgzNzhmZTI3MTIzMDY1MTY5YzFkNDU5ZjY3
Yjk2ZGUwNmQxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2YvU2hhcmVk
QnVmZmVyQ0YuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NmL1NoYXJlZEJ1ZmZl
ckNGLmNwcApAQCAtNDAsNyArNDAsNyBAQCBTaGFyZWRCdWZmZXI6OlNoYXJlZEJ1ZmZlcihDRkRh
dGFSZWYgY2ZEYXRhKQogCiAvLyBNYWMgaXMgYSBDRiBwbGF0Zm9ybSBidXQgaGFzIGFuIGV2ZW4g
bW9yZSBlZmZpY2llbnQgdmVyc2lvbiBvZiB0aGlzIG1ldGhvZCwKIC8vIHNvIG9ubHkgdXNlIHRo
aXMgdmVyc2lvbiBmb3Igbm9uLU1hYwotI2lmICFQTEFURk9STShNQUMpICYmICEoUExBVEZPUk0o
UVQpICYmIFVTRShRVEtJVCkpCisjaWYgIVBMQVRGT1JNKE1BQykKIENGRGF0YVJlZiBTaGFyZWRC
dWZmZXI6OmNyZWF0ZUNGRGF0YSgpCiB7CiAgICAgaWYgKG1fY2ZEYXRhKSB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0U2l6ZS5oCmluZGV4IGQwY2YxZDNkZDI4YjVj
ZGMzNTU2ZGQ1NGU3YzQ4ZDcyZWUyNGZjMDMuLjc3ZWUzZTJmNWExMjcxY2ZiYzIwNjY3NDk1YjMw
MzZlZjFlNzQyMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0Zsb2F0U2l6ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0
U2l6ZS5oCkBAIC00OSw3ICs0OSw3IEBAIGNsYXNzIEZsb2F0U2l6ZTsKIHR5cGVkZWYgc3RydWN0
IENHU2l6ZSBDR1NpemU7CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKE1BQykgfHwgKFBMQVRGT1JN
KFFUKSAmJiBVU0UoUVRLSVQpKQorI2lmIFBMQVRGT1JNKE1BQykKICNpZmRlZiBOU0dFT01FVFJZ
X1RZUEVTX1NBTUVfQVNfQ0dHRU9NRVRSWV9UWVBFUwogdHlwZWRlZiBzdHJ1Y3QgQ0dTaXplIE5T
U2l6ZTsKICNlbHNlCkBAIC0xMzUsNyArMTM1LDcgQEAgcHVibGljOgogICAgIG9wZXJhdG9yIENH
U2l6ZSgpIGNvbnN0OwogI2VuZGlmCiAKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChO
U0dFT01FVFJZX1RZUEVTX1NBTUVfQVNfQ0dHRU9NRVRSWV9UWVBFUykpIHx8IChQTEFURk9STShR
VCkgJiYgVVNFKFFUS0lUKSkKKyNpZiAoUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChOU0dFT01F
VFJZX1RZUEVTX1NBTUVfQVNfQ0dHRU9NRVRSWV9UWVBFUykpCiAgICAgZXhwbGljaXQgRmxvYXRT
aXplKGNvbnN0IE5TU2l6ZSAmKTsgLy8gZG9uJ3QgZG8gdGhpcyBpbXBsaWNpdGx5IHNpbmNlIGl0
J3MgbG9zc3kKICAgICBvcGVyYXRvciBOU1NpemUoKSBjb25zdDsKICNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5oCmluZGV4IGMwMWNhYjkxNThhYTk3Y2I0
YjFiNGY0YzE0ZDM3MjQ0Nzk3MzEzZjQuLjBlMzNiYmY5NTQ0ZGZmMWZmYzQ0YmM5ZGUwNGU3NjYz
YWY4NThjODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0lu
dFJlY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmgK
QEAgLTMzLDcgKzMzLDcgQEAKIHR5cGVkZWYgc3RydWN0IENHUmVjdCBDR1JlY3Q7CiAjZW5kaWYK
IAotI2lmIFBMQVRGT1JNKE1BQykgfHwgKFBMQVRGT1JNKFFUKSAmJiBVU0UoUVRLSVQpKQorI2lm
IFBMQVRGT1JNKE1BQykKICNpZmRlZiBOU0dFT01FVFJZX1RZUEVTX1NBTUVfQVNfQ0dHRU9NRVRS
WV9UWVBFUwogdHlwZWRlZiBzdHJ1Y3QgQ0dSZWN0IE5TUmVjdDsKICNlbHNlCkBAIC0xOTksNyAr
MTk5LDcgQEAgcHVibGljOgogICAgIG9wZXJhdG9yIENHUmVjdCgpIGNvbnN0OwogI2VuZGlmCiAK
LSNpZiAoUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChOU0dFT01FVFJZX1RZUEVTX1NBTUVfQVNf
Q0dHRU9NRVRSWV9UWVBFUykpIHx8IChQTEFURk9STShRVCkgJiYgVVNFKFFUS0lUKSkKKyNpZiAo
UExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChOU0dFT01FVFJZX1RZUEVTX1NBTUVfQVNfQ0dHRU9N
RVRSWV9UWVBFUykpCiAgICAgb3BlcmF0b3IgTlNSZWN0KCkgY29uc3Q7CiAjZW5kaWYKIApAQCAt
MjQzLDcgKzI0Myw3IEBAIGlubGluZSBib29sIG9wZXJhdG9yIT0oY29uc3QgSW50UmVjdCYgYSwg
Y29uc3QgSW50UmVjdCYgYikKIEludFJlY3QgZW5jbG9zaW5nSW50UmVjdChjb25zdCBDR1JlY3Qm
KTsKICNlbmRpZgogCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQoTlNHRU9NRVRSWV9U
WVBFU19TQU1FX0FTX0NHR0VPTUVUUllfVFlQRVMpKSB8fCAoUExBVEZPUk0oUVQpICYmIFVTRShR
VEtJVCkpCisjaWYgKFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQoTlNHRU9NRVRSWV9UWVBFU19T
QU1FX0FTX0NHR0VPTUVUUllfVFlQRVMpKQogSW50UmVjdCBlbmNsb3NpbmdJbnRSZWN0KGNvbnN0
IE5TUmVjdCYpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ludFNpemUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0lu
dFNpemUuaAppbmRleCA5YzI2YzI0OTM2MDk5OTYyMDc0ZGJiNDE2MWM3NDI0NmYxN2VhMjVlLi5i
ODQzNTA3YWNhMjU3YjVlMjU5MmNhNjVmODM4YzFlYWEzYjkwNjI0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRTaXplLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50U2l6ZS5oCkBAIC0zMCw3ICszMCw3IEBACiB0eXBlZGVm
IHN0cnVjdCBDR1NpemUgQ0dTaXplOwogI2VuZGlmCiAKLSNpZiBQTEFURk9STShNQUMpIHx8IChQ
TEFURk9STShRVCkgJiYgVVNFKFFUS0lUKSkKKyNpZiBQTEFURk9STShNQUMpCiAjaWZkZWYgTlNH
RU9NRVRSWV9UWVBFU19TQU1FX0FTX0NHR0VPTUVUUllfVFlQRVMKIHR5cGVkZWYgc3RydWN0IENH
U2l6ZSBOU1NpemU7CiAjZWxzZQpAQCAtMTMzLDcgKzEzMyw3IEBAIHB1YmxpYzoKICAgICBvcGVy
YXRvciBDR1NpemUoKSBjb25zdDsKICNlbmRpZgogCi0jaWYgKFBMQVRGT1JNKE1BQykgfHwgKFBM
QVRGT1JNKFFUKSAmJiBVU0UoUVRLSVQpKSkgJiYgIWRlZmluZWQoTlNHRU9NRVRSWV9UWVBFU19T
QU1FX0FTX0NHR0VPTUVUUllfVFlQRVMpCisjaWYgUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChO
U0dFT01FVFJZX1RZUEVTX1NBTUVfQVNfQ0dHRU9NRVRSWV9UWVBFUykKICAgICBleHBsaWNpdCBJ
bnRTaXplKGNvbnN0IE5TU2l6ZSAmKTsgLy8gZG9uJ3QgZG8gdGhpcyBpbXBsaWNpdGx5IHNpbmNl
IGl0J3MgbG9zc3kKICAgICBvcGVyYXRvciBOU1NpemUoKSBjb25zdDsKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCmluZGV4IDAx
NzQ2NWZhYmM5ZDcwYTA4MmM4M2IxYjBlZjQ1MmQ5NzcwZTI0NjQuLjNiMGQ2M2Y3ZTBkZWJkMDEz
MGJlYzlkMDlkNzEzODRmNDYwM2ZlNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKQEAgLTU3LDcgKzU3LDcgQEAKICNkZWZpbmUgUGxh
dGZvcm1NZWRpYUVuZ2luZUNsYXNzTmFtZSBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIKICNl
bmRpZgogCi0jaWYgUExBVEZPUk0oTUFDKSB8fCAoUExBVEZPUk0oUVQpICYmIFVTRShRVEtJVCkp
CisjaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUgIk1lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Lmgi
CiAjaWYgVVNFKEFWRk9VTkRBVElPTikKICNpbmNsdWRlICJNZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb25PYmpDLmgiCkBAIC0yMjMsNyArMjIzLDcgQEAgc3RhdGljIFZlY3RvcjxNZWRpYVBs
YXllckZhY3RvcnkqPiYgaW5zdGFsbGVkTWVkaWFFbmdpbmVzKFJlcXVlcnlFbmdpbmVPcHRpb25z
IHIKICAgICAgICAgfQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShNQUMpIHx8IChQTEFURk9STShR
VCkgJiYgVVNFKFFUS0lUKSkKKyNpZiBQTEFURk9STShNQUMpCiAgICAgICAgIGlmIChTZXR0aW5n
czo6aXNRVEtpdEVuYWJsZWQoKSkKICAgICAgICAgICAgIE1lZGlhUGxheWVyUHJpdmF0ZVFUS2l0
OjpyZWdpc3Rlck1lZGlhRW5naW5lKGFkZE1lZGlhRW5naW5lKTsKICNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvRmxvYXRTaXplQ0cuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvRmxvYXRTaXplQ0cuY3BwCmluZGV4
IDBmNWJjNzM4M2JkZWU4ZmZjNzI3NzQyZjYxZDllZWVhOGQxZjEzZTcuLjE0ZTE0ZmMyYTM5OWRk
MTdkYjEyNTIwMjYxNDE0OTI5ZDM2YTlmNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NnL0Zsb2F0U2l6ZUNHLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jZy9GbG9hdFNpemVDRy5jcHAKQEAgLTI3LDcgKzI3LDcgQEAKICNp
bmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJGbG9hdFNpemUuaCIKIAotI2lmIFVTRShDRykg
fHwgKFBMQVRGT1JNKFFUKSAmJiBVU0UoUVRLSVQpKQorI2lmIFVTRShDRykKIAogI2luY2x1ZGUg
PEFwcGxpY2F0aW9uU2VydmljZXMvQXBwbGljYXRpb25TZXJ2aWNlcy5oPgogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbnRSZWN0Q0cuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW50UmVjdENHLmNwcAppbmRleCBmMWNj
ZGU0NmZlMTU4Mzg2MjNhYWNiYzljNTEwMzM2OThjY2JiMTAwLi44ZDEwMjA3YmY5Zjg3NWFhMmQ3
ZjZlNzBhYjNiN2NlYjYzZDk5NWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jZy9JbnRSZWN0Q0cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NnL0ludFJlY3RDRy5jcHAKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCiAKLSNpZiBVU0UoQ0cpIHx8IChQTEFURk9S
TShRVCkgJiYgVVNFKFFUS0lUKSkKKyNpZiBVU0UoQ0cpCiAKICNpbmNsdWRlIDxBcHBsaWNhdGlv
blNlcnZpY2VzL0FwcGxpY2F0aW9uU2VydmljZXMuaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0LmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRL
aXQuaAppbmRleCA4YjExZjgzMjgwMDQyMjJlMDRkZWVhNTNmOWZmYzkzNmQ5ZTVhYTVmLi5mMjI2
Y2RhODc2ZTIzZjcxZWRmNTJmMmQ3MDdiNTY1YjVkYzRlNTQzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2
YXRlUVRLaXQuaApAQCAtODYsNyArODYsNyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyBib29sIGlz
QXZhaWxhYmxlKCk7CiAKICAgICBQbGF0Zm9ybU1lZGlhIHBsYXRmb3JtTWVkaWEoKSBjb25zdDsK
LSNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpICYmICEoUExBVEZPUk0oUVQpICYmIFVT
RShRVEtJVCkpCisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIFBsYXRmb3Jt
TGF5ZXIqIHBsYXRmb3JtTGF5ZXIoKSBjb25zdDsKICNlbmRpZgogCkBAIC0xMzksNyArMTM5LDcg
QEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgcHJlcGFyZUZvclJlbmRlcmluZygpOwogCiAK
LSNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpICYmICEoUExBVEZPUk0oUVQpICYmIFVT
RShRVEtJVCkpCisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIGJvb2wgc3Vw
cG9ydHNBY2NlbGVyYXRlZFJlbmRlcmluZygpIGNvbnN0OwogICAgIHZvaWQgYWNjZWxlcmF0ZWRS
ZW5kZXJpbmdTdGF0ZUNoYW5nZWQoKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Lm1tIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0
Lm1tCmluZGV4IGU5NjU5NjUwZjEwNDU5ZWRhZmU5ODIwYTEwZDk4YWYxNjU3NTcwNDguLmFiMDcz
YTk1NDU4NzdmZmY1ZWNkY2ViZWI0M2Q2ZGUxNzQzNzk3Y2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2
YXRlUVRLaXQubW0KQEAgLTUxOSw3ICs1MTksNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVFU
S2l0OjpkZXN0cm95UVRWaWRlb1JlbmRlcmVyKCkKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUVRL
aXQ6OmNyZWF0ZVFUTW92aWVMYXllcigpCiB7CiAgICAgTE9HKE1lZGlhLCAiTWVkaWFQbGF5ZXJQ
cml2YXRlUVRLaXQ6OmNyZWF0ZVFUTW92aWVMYXllciglcCkiLCB0aGlzKTsKLSNpZiBVU0UoQUND
RUxFUkFURURfQ09NUE9TSVRJTkcpICYmICEoUExBVEZPUk0oUVQpICYmIFVTRShRVEtJVCkpCisj
aWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIGlmICghbV9xdE1vdmllKQogICAg
ICAgICByZXR1cm47CiAKQEAgLTU3MSw3ICs1NzEsNyBAQCBNZWRpYVBsYXllclByaXZhdGVRVEtp
dDo6TWVkaWFSZW5kZXJpbmdNb2RlIE1lZGlhUGxheWVyUHJpdmF0ZVFUS2l0OjpwcmVmZXJyZWRS
ZQogICAgIGlmICghbV9wbGF5ZXItPmZyYW1lVmlldygpIHx8ICFtX3F0TW92aWUpCiAgICAgICAg
IHJldHVybiBNZWRpYVJlbmRlcmluZ05vbmU7CiAKLSNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9T
SVRJTkcpICYmICEoUExBVEZPUk0oUVQpICYmIFVTRShRVEtJVCkpCisjaWYgVVNFKEFDQ0VMRVJB
VEVEX0NPTVBPU0lUSU5HKQogICAgIGlmIChzdXBwb3J0c0FjY2VsZXJhdGVkUmVuZGVyaW5nKCkg
JiYgbV9wbGF5ZXItPm1lZGlhUGxheWVyQ2xpZW50KCktPm1lZGlhUGxheWVyUmVuZGVyaW5nQ2Fu
QmVBY2NlbGVyYXRlZChtX3BsYXllcikpCiAgICAgICAgIHJldHVybiBNZWRpYVJlbmRlcmluZ01v
dmllTGF5ZXI7CiAjZW5kaWYKQEAgLTY5Myw3ICs2OTMsNyBAQCBQbGF0Zm9ybU1lZGlhIE1lZGlh
UGxheWVyUHJpdmF0ZVFUS2l0OjpwbGF0Zm9ybU1lZGlhKCkgY29uc3QKICAgICByZXR1cm4gcG07
CiB9CiAKLSNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpICYmICEoUExBVEZPUk0oUVQp
ICYmIFVTRShRVEtJVCkpCisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogUGxhdGZv
cm1MYXllciogTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQ6OnBsYXRmb3JtTGF5ZXIoKSBjb25zdAog
ewogICAgIHJldHVybiBtX3F0VmlkZW9MYXllci5nZXQoKTsKQEAgLTEyMjcsNyArMTIyNyw3IEBA
IHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQ6OmRpZEVuZCgpCiAgICAgbV9wbGF5ZXItPnRp
bWVDaGFuZ2VkKCk7CiB9CiAKLSNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpICYmICEo
UExBVEZPUk0oUVQpICYmIFVTRShRVEtJVCkpCisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lU
SU5HKQogI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPT0gMTA2MAogc3RhdGlj
IGJvb2wgbGF5ZXJJc0Rlc2NlbmRlbnRPZihQbGF0Zm9ybUxheWVyKiBjaGlsZCwgUGxhdGZvcm1M
YXllciogZGVzY2VuZGVudCkKIHsKQEAgLTEzMzEsMTggKzEzMzEsNiBAQCB2b2lkIE1lZGlhUGxh
eWVyUHJpdmF0ZVFUS2l0OjpwYWludEN1cnJlbnRGcmFtZUluQ29udGV4dChHcmFwaGljc0NvbnRl
eHQqIGNvbnRleAogICAgIHBhaW50KGNvbnRleHQsIHIpOwogfQogCi0jaWYgUExBVEZPUk0oUVQp
ICYmIFVTRShRVEtJVCkKLXN0YXRpYyBpbmxpbmUgdm9pZCBzd2FwQmdyVG9SZ2IodWludDMyX3Qq
IHBpeGVsLCB1aW50MzJfdCB3aWR0aCwgdWludDMyX3QgaGVpZ2h0KQotewotICAgIHVpbnQzMl90
KiBlbmQgPSBwaXhlbCArICh3aWR0aCAqIGhlaWdodCk7Ci0KLSAgICB3aGlsZSAocGl4ZWwgPCBl
bmQpIHsKLSAgICAgICAgKnBpeGVsID0gKCgqcGl4ZWwgPDwgMTYpICYgMHhmZjAwMDApIHwgKCgq
cGl4ZWwgPj4gMTYpICYgMHhmZikgfCAoKnBpeGVsICYgMHhmZjAwZmYwMCk7Ci0gICAgICAgICsr
cGl4ZWw7Ci0gICAgfQotfQotI2VuZGlmCi0KIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQ6
OnBhaW50KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgSW50UmVjdCYgcikKIHsKICAg
ICBpZiAoY29udGV4dC0+cGFpbnRpbmdEaXNhYmxlZCgpIHx8IG1faGFzVW5zdXBwb3J0ZWRUcmFj
a3MpCkBAIC0xMzU4LDI2ICsxMzQ2LDEzIEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQ6
OnBhaW50KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgSW50UmVjdCYgcikKICAgICBG
bG9hdFNpemUgc2NhbGVGYWN0b3IoMS4wZiwgLTEuMGYpOwogICAgIEludFJlY3QgcGFpbnRSZWN0
KEludFBvaW50KDAsIDApLCBJbnRTaXplKHIud2lkdGgoKSwgci5oZWlnaHQoKSkpOwogCi0jaWYg
UExBVEZPUk0oUVQpICYmIFVTRShRVEtJVCkKLSAgICBOU0JpdG1hcEltYWdlUmVwICppbWFnZVJl
cCA9IFtbTlNCaXRtYXBJbWFnZVJlcCBhbGxvY10gaW5pdFdpdGhCaXRtYXBEYXRhUGxhbmVzOiBO
VUxMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBwaXhlbHNXaWRlOiBwYWludFJlY3Qud2lkdGgoKQotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGl4ZWxzSGlnaDogcGFp
bnRSZWN0LmhlaWdodCgpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBiaXRzUGVyU2FtcGxlOiA4Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYW1wbGVzUGVyUGl4ZWw6
IDQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGhhc0FscGhhOiBZRVMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGlzUGxhbmFyOiBOTwotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3JTcGFjZU5hbWU6
IE5TQ2FsaWJyYXRlZFJHQkNvbG9yU3BhY2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5dGVzUGVyUm93OiA0ICogcGFpbnRSZWN0
LndpZHRoKCkgLy8gMzIgYml0IHBlciBwaXhlbC4KLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpdHNQZXJQaXhlbDogMzJdOwotICAg
IG5ld0NvbnRleHQgPSBbTlNHcmFwaGljc0NvbnRleHQgZ3JhcGhpY3NDb250ZXh0V2l0aEJpdG1h
cEltYWdlUmVwOiBpbWFnZVJlcF07Ci0jZWxzZQogICAgIEdyYXBoaWNzQ29udGV4dFN0YXRlU2F2
ZXIgc3RhdGVTYXZlcigqY29udGV4dCk7CiAgICAgY29udGV4dC0+dHJhbnNsYXRlKHIueCgpLCBy
LnkoKSArIHIuaGVpZ2h0KCkpOwogICAgIGNvbnRleHQtPnNjYWxlKHNjYWxlRmFjdG9yKTsKICAg
ICBjb250ZXh0LT5zZXRJbWFnZUludGVycG9sYXRpb25RdWFsaXR5KEludGVycG9sYXRpb25Mb3cp
OwogCiAgICAgbmV3Q29udGV4dCA9IFtOU0dyYXBoaWNzQ29udGV4dCBncmFwaGljc0NvbnRleHRX
aXRoR3JhcGhpY3NQb3J0OmNvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpIGZsaXBwZWQ6Tk9dOwot
I2VuZGlmCisKICAgICAvLyBkcmF3IHRoZSBjdXJyZW50IHZpZGVvIGZyYW1lCiAgICAgaWYgKHF0
VmlkZW9SZW5kZXJlcikgewogICAgICAgICBbTlNHcmFwaGljc0NvbnRleHQgc2F2ZUdyYXBoaWNz
U3RhdGVdOwpAQCAtMTQzMSwxNCArMTQwNiw2IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUVRL
aXQ6OnBhaW50KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgSW50UmVjdCYgcikKICAg
ICAgICAgfQogICAgIH0KICNlbmRpZgotI2lmIFBMQVRGT1JNKFFUKSAmJiBVU0UoUVRLSVQpCi0g
ICAgdW5zaWduZWQgY2hhciogYml0bWFwID0gW2ltYWdlUmVwIGJpdG1hcERhdGFdOwotICAgIHN3
YXBCZ3JUb1JnYihyZWludGVycHJldF9jYXN0PHVpbnQzMl90Kj4oYml0bWFwKSwgcGFpbnRSZWN0
LndpZHRoKCksIHBhaW50UmVjdC5oZWlnaHQoKSk7Ci0gICAgUUltYWdlIHZpZGVvRnJhbWUoYml0
bWFwLCBwYWludFJlY3Qud2lkdGgoKSwgcGFpbnRSZWN0LmhlaWdodCgpLCBRSW1hZ2U6OkZvcm1h
dF9BUkdCMzIpOwotICAgIFFQYWludGVyKiBwYWludGVyID0gY29udGV4dC0+cGxhdGZvcm1Db250
ZXh0KCk7Ci0gICAgcGFpbnRlci0+ZHJhd0ltYWdlKFFSZWN0KHIpLCB2aWRlb0ZyYW1lKTsKLSAg
ICBbaW1hZ2VSZXAgcmVsZWFzZV07Ci0jZW5kaWYKICAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJ
T05TOwogICAgIFttX29iamNPYnNlcnZlci5nZXQoKSBzZXREZWxheUNhbGxiYWNrczpOT107CiB9
CkBAIC0xNjc0LDcgKzE2NDEsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVFUS2l0OjpzYXdV
bnN1cHBvcnRlZFRyYWNrcygpCiAgICAgbV9wbGF5ZXItPm1lZGlhUGxheWVyQ2xpZW50KCktPm1l
ZGlhUGxheWVyU2F3VW5zdXBwb3J0ZWRUcmFja3MobV9wbGF5ZXIpOwogfQogCi0jaWYgVVNFKEFD
Q0VMRVJBVEVEX0NPTVBPU0lUSU5HKSAmJiAhKFBMQVRGT1JNKFFUKSAmJiBVU0UoUVRLSVQpKQor
I2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRl
UVRLaXQ6OnN1cHBvcnRzQWNjZWxlcmF0ZWRSZW5kZXJpbmcoKSBjb25zdAogewogICAgIHJldHVy
biBpc1JlYWR5Rm9yVmlkZW9TZXR1cCgpICYmIGdldFFUTW92aWVMYXllckNsYXNzKCkgIT0gTmls
OwpAQCAtMTgzNyw3ICsxODA0LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVRVEtpdDo6c2V0
UHJpdmF0ZUJyb3dzaW5nTW9kZShib29sIHByaXZhdGVCcm93c2luZykKIAogLSAodm9pZClsYXll
ckhvc3RDaGFuZ2VkOihOU05vdGlmaWNhdGlvbiAqKW5vdGlmaWNhdGlvbgogewotI2lmIFVTRShB
Q0NFTEVSQVRFRF9DT01QT1NJVElORykgJiYgIShQTEFURk9STShRVCkgJiYgVVNFKFFUS0lUKSkK
KyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgQ0FMYXllciogcm9vdExheWVy
ID0gc3RhdGljX2Nhc3Q8Q0FMYXllcio+KFtub3RpZmljYXRpb24gb2JqZWN0XSk7CiAgICAgbV9j
YWxsYmFjay0+bGF5ZXJIb3N0Q2hhbmdlZChyb290TGF5ZXIpOwogI2Vsc2UKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TaGFyZWRCdWZmZXJNYWMubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2hhcmVkQnVmZmVyTWFjLm1tCmluZGV4IDk0MTQ3NWJiNWQ1
ZmE4NDk0MWI1YmM5NmIzZjQ3NjZmNmVjNjE5ZjQuLjcxNWNhYWU0NDMzZmY0MzkzZjI1YTg5NDI1
OGU2NmZkMjg2ZjljMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9T
aGFyZWRCdWZmZXJNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1NoYXJl
ZEJ1ZmZlck1hYy5tbQpAQCAtNDksMTEgKzQ5LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7
CiB7CiAjaWYgIVVTRShXRUJfVEhSRUFEKQogICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygp
OwotI2lmIFBMQVRGT1JNKFFUKSAmJiBVU0UoUVRLSVQpCi0gICAgV1RGOjppbml0aWFsaXplTWFp
blRocmVhZCgpOwotI2Vsc2UKICAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkVG9Qcm9jZXNz
TWFpblRocmVhZCgpOwotI2VuZGlmCiAjZW5kaWYgLy8gIVVTRShXRUJfVEhSRUFEKQogICAgIFdl
YkNvcmVPYmpDRmluYWxpemVPbk1haW5UaHJlYWQoc2VsZik7CiB9CkBAIC0xMTUsNyArMTExLDYg
QEAgQ0ZEYXRhUmVmIFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlQ0ZEYXRhKCkKICAgICByZXR1cm4gKENG
RGF0YVJlZilhZG9wdE5TKFtbV2ViQ29yZVNoYXJlZEJ1ZmZlckRhdGEgYWxsb2NdIGluaXRXaXRo
U2hhcmVkQnVmZmVyOnRoaXNdKS5sZWFrUmVmKCk7CiB9CiAKLSNpZiAhKFBMQVRGT1JNKFFUKSAm
JiBVU0UoUVRLSVQpKQogUGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+IFNoYXJlZEJ1ZmZlcjo6Y3Jl
YXRlV2l0aENvbnRlbnRzT2ZGaWxlKGNvbnN0IFN0cmluZyYgZmlsZVBhdGgpCiB7CiAgICAgTlNE
YXRhICpyZXNvdXJjZURhdGEgPSBbTlNEYXRhIGRhdGFXaXRoQ29udGVudHNPZkZpbGU6ZmlsZVBh
dGhdOwpAQCAtMTIzLDYgKzExOCw1IEBAIFBhc3NSZWZQdHI8U2hhcmVkQnVmZmVyPiBTaGFyZWRC
dWZmZXI6OmNyZWF0ZVdpdGhDb250ZW50c09mRmlsZShjb25zdCBTdHJpbmcmIGZpCiAgICAgICAg
IHJldHVybiBTaGFyZWRCdWZmZXI6OndyYXBOU0RhdGEocmVzb3VyY2VEYXRhKTsKICAgICByZXR1
cm4gMDsKIH0KLSNlbmRpZgogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdDEu
cHJvIGIvU291cmNlL1dlYktpdC9XZWJLaXQxLnBybwppbmRleCA3ZmJmOTQxZmE3MWZmZjhjYjdk
NjExMWQ4MzQ2YTA1MDcxODA3NWE3Li5iZTA0Y2EzNzAxNWMwY2E0YmZmODRlM2ZiZjQwYjQxOGE4
MjVmODY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdDEucHJvCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViS2l0MS5wcm8KQEAgLTExNSwzMCArMTE1LDEwIEBAIGVuYWJsZT8oSUNPTkRB
VEFCQVNFKSB7CiB9CiAKIGVuYWJsZT8oVklERU8pIHsKLSAgICB1c2U/KFFUS0lUKSB8IHVzZT8o
R1NUUkVBTUVSKSB8IHVzZT8oUVRfTVVMVElNRURJQSkgeworICAgIHVzZT8oR1NUUkVBTUVSKSB8
IHVzZT8oUVRfTVVMVElNRURJQSkgewogICAgICAgICBIRUFERVJTICs9ICQkUFdEL3F0L1dlYkNv
cmVTdXBwb3J0L0Z1bGxTY3JlZW5WaWRlb1F0LmgKICAgICAgICAgU09VUkNFUyArPSAkJFBXRC9x
dC9XZWJDb3JlU3VwcG9ydC9GdWxsU2NyZWVuVmlkZW9RdC5jcHAKICAgICB9Ci0KLSAgICB1c2U/
KFFUS0lUKSB7Ci0gICAgICAgIElOQ0xVREVQQVRIICs9IFwKLSAgICAgICAgICAgICQkUFdELy4u
L1dlYkNvcmUvcGxhdGZvcm0vcXQvIFwKLSAgICAgICAgICAgICQkUFdELy4uL1dlYkNvcmUvcGxh
dGZvcm0vbWFjLyBcCi0gICAgICAgICAgICAkJFBXRC8uLi8uLi9XZWJLaXRMaWJyYXJpZXMvCi0K
LSAgICAgICAgREVGSU5FUyArPSBOU0dFT01FVFJZX1RZUEVTX1NBTUVfQVNfQ0dHRU9NRVRSWV9U
WVBFUwotICAgICAgICBpc0VxdWFsKFFUX0FSQ0gsICJpMzg2IikgewotICAgICAgICAgICAgREVG
SU5FUys9TlNfQlVJTERfMzJfTElLRV82NAotICAgICAgICB9Ci0KLSAgICAgICAgSEVBREVSUyAr
PSBcCi0gICAgICAgICAgICAkJFBXRC9xdC9XZWJDb3JlU3VwcG9ydC9XZWJTeXN0ZW1JbnRlcmZh
Y2UuaCBcCi0gICAgICAgICAgICAkJFBXRC9xdC9XZWJDb3JlU3VwcG9ydC9RVEtpdEZ1bGxTY3Jl
ZW5WaWRlb0hhbmRsZXIuaAotCi0gICAgICAgIE9CSkVDVElWRV9TT1VSQ0VTICs9IFwKLSAgICAg
ICAgICAgICQkUFdEL3F0L1dlYkNvcmVTdXBwb3J0L1dlYlN5c3RlbUludGVyZmFjZS5tbSBcCi0g
ICAgICAgICAgICAkJFBXRC9xdC9XZWJDb3JlU3VwcG9ydC9RVEtpdEZ1bGxTY3JlZW5WaWRlb0hh
bmRsZXIubW0KLSAgICB9CiB9CiAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmlu
ZGV4IGY2Y2YyOWVlODE0ZjgzNjZkNzRlYzI3OTMzNDhjY2U0YTI5ZjJhZDQuLmFhOWZjMjQzNDZl
ZGQ4YWJmMDI5NjRjN2E5ODI3NzFhZmNhYjRhYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YlZpZXcubW0KQEAgLTE1MjUsNyArMTUyNSw3IEBAIHN0YXRpYyBib29sIG5lZWRzU2VsZlJldGFp
bldoaWxlTG9hZGluZ1F1aXJrKCkKICNpZiBVU0UoQVZGT1VOREFUSU9OKQogICAgIHNldHRpbmdz
LT5zZXRBVkZvdW5kYXRpb25FbmFibGVkKFtwcmVmZXJlbmNlcyBpc0FWRm91bmRhdGlvbkVuYWJs
ZWRdKTsKICNlbmRpZgotI2lmIFBMQVRGT1JNKE1BQykgfHwgKFBMQVRGT1JNKFFUKSAmJiBVU0Uo
UVRLSVQpKQorI2lmIFBMQVRGT1JNKE1BQykKICAgICBzZXR0aW5ncy0+c2V0UVRLaXRFbmFibGVk
KFtwcmVmZXJlbmNlcyBpc1FUS2l0RW5hYmxlZF0pOwogI2VuZGlmCiAgICAgc2V0dGluZ3MtPnNl
dE1lZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlKFtwcmVmZXJlbmNlcyBtZWRpYVBsYXli
YWNrUmVxdWlyZXNVc2VyR2VzdHVyZV0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9X
ZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNv
cmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmNwcAppbmRleCBhNjFmYTI3Mjk1ODU0NDQ0NzM0YmNj
ZDg5MjYzMmFlMWEyMjEzZjNiLi5hYmEwMzdjYzZlOTdlNTIyNzc4MWI2NDcyMzUxNzc5YmZmODVi
YjdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNs
aWVudFF0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNs
aWVudFF0LmNwcApAQCAtNzYsNyArNzYsNyBAQAogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5o
PgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KIAotI2lmIEVOQUJMRShWSURFTykgJiYgKChVU0Uo
R1NUUkVBTUVSKSAmJiBVU0UoTkFUSVZFX0ZVTExTQ1JFRU5fVklERU8pKSB8fCBVU0UoUVRfTVVM
VElNRURJQSkgfHwgVVNFKFFUS0lUKSkKKyNpZiBFTkFCTEUoVklERU8pICYmICgoVVNFKEdTVFJF
QU1FUikgJiYgVVNFKE5BVElWRV9GVUxMU0NSRUVOX1ZJREVPKSkgfHwgVVNFKFFUX01VTFRJTUVE
SUEpKQogI2luY2x1ZGUgIkZ1bGxTY3JlZW5WaWRlb1F0LmgiCiAjaW5jbHVkZSAiSFRNTE1lZGlh
RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgpAQCAtMTI3LDcgKzEyNyw3IEBAIGJv
b2wgQ2hyb21lQ2xpZW50UXQ6OmR1bXBWaXNpdGVkTGlua3NDYWxsYmFja3MgPSBmYWxzZTsKIENo
cm9tZUNsaWVudFF0OjpDaHJvbWVDbGllbnRRdChRV2ViUGFnZUFkYXB0ZXIqIHdlYlBhZ2VBZGFw
dGVyKQogICAgIDogbV93ZWJQYWdlKHdlYlBhZ2VBZGFwdGVyKQogICAgICwgbV9ldmVudExvb3Ao
MCkKLSNpZiBFTkFCTEUoVklERU8pICYmICgoVVNFKEdTVFJFQU1FUikgJiYgVVNFKE5BVElWRV9G
VUxMU0NSRUVOX1ZJREVPKSkgfHwgVVNFKFFUX01VTFRJTUVESUEpIHx8IFVTRShRVEtJVCkpCisj
aWYgRU5BQkxFKFZJREVPKSAmJiAoKFVTRShHU1RSRUFNRVIpICYmIFVTRShOQVRJVkVfRlVMTFND
UkVFTl9WSURFTykpIHx8IFVTRShRVF9NVUxUSU1FRElBKSkKICAgICAsIG1fZnVsbFNjcmVlblZp
ZGVvKDApCiAjZW5kaWYKIHsKQEAgLTEzOSw3ICsxMzksNyBAQCBDaHJvbWVDbGllbnRRdDo6fkNo
cm9tZUNsaWVudFF0KCkKICAgICBpZiAobV9ldmVudExvb3ApCiAgICAgICAgIG1fZXZlbnRMb29w
LT5leGl0KCk7CiAKLSNpZiBFTkFCTEUoVklERU8pICYmICgoVVNFKEdTVFJFQU1FUikgJiYgVVNF
KE5BVElWRV9GVUxMU0NSRUVOX1ZJREVPKSkgfHwgVVNFKFFUX01VTFRJTUVESUEpIHx8IFVTRShR
VEtJVCkpCisjaWYgRU5BQkxFKFZJREVPKSAmJiAoKFVTRShHU1RSRUFNRVIpICYmIFVTRShOQVRJ
VkVfRlVMTFNDUkVFTl9WSURFTykpIHx8IFVTRShRVF9NVUxUSU1FRElBKSkKICAgICBkZWxldGUg
bV9mdWxsU2NyZWVuVmlkZW87CiAjZW5kaWYKIH0KQEAgLTY3OSw3ICs2NzksNyBAQCBJbnRSZWN0
IENocm9tZUNsaWVudFF0Ojp2aXNpYmxlUmVjdEZvclRpbGVkQmFja2luZ1N0b3JlKCkgY29uc3QK
IH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKFZJREVPKSAmJiAoKFVTRShHU1RSRUFNRVIpICYmIFVT
RShOQVRJVkVfRlVMTFNDUkVFTl9WSURFTykpIHx8IFVTRShRVF9NVUxUSU1FRElBKSB8fCBVU0Uo
UVRLSVQpKQorI2lmIEVOQUJMRShWSURFTykgJiYgKChVU0UoR1NUUkVBTUVSKSAmJiBVU0UoTkFU
SVZFX0ZVTExTQ1JFRU5fVklERU8pKSB8fCBVU0UoUVRfTVVMVElNRURJQSkpCiBGdWxsU2NyZWVu
VmlkZW9RdCogQ2hyb21lQ2xpZW50UXQ6OmZ1bGxTY3JlZW5WaWRlbygpCiB7CiAgICAgaWYgKCFt
X2Z1bGxTY3JlZW5WaWRlbykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50UXQuaCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQv
Q2hyb21lQ2xpZW50UXQuaAppbmRleCA5NjdlZGQyNzgxODNjMDA2ZDFkMDk1ZjBmMmI1NDBmYmU2
MGFmOGM4Li44ZjJkYjI2NWYxYWRkMWM4NGFjYzI0NTY4ODVkNzMyZGYwZjE3MTEzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmgKKysr
IGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5oCkBAIC0x
NTksNyArMTU5LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBuZWVkVG91Y2hFdmVudHMo
Ym9vbCkgeyB9CiAjZW5kaWYKIAotI2lmIEVOQUJMRShWSURFTykgJiYgKChVU0UoR1NUUkVBTUVS
KSAmJiBVU0UoTkFUSVZFX0ZVTExTQ1JFRU5fVklERU8pKSB8fCBVU0UoUVRfTVVMVElNRURJQSkg
fHwgVVNFKFFUS0lUKSkKKyNpZiBFTkFCTEUoVklERU8pICYmICgoVVNFKEdTVFJFQU1FUikgJiYg
VVNFKE5BVElWRV9GVUxMU0NSRUVOX1ZJREVPKSkgfHwgVVNFKFFUX01VTFRJTUVESUEpKQogICAg
IHZpcnR1YWwgYm9vbCBzdXBwb3J0c0Z1bGxzY3JlZW5Gb3JOb2RlKGNvbnN0IE5vZGUqKTsKICAg
ICB2aXJ0dWFsIHZvaWQgZW50ZXJGdWxsc2NyZWVuRm9yTm9kZShOb2RlKik7CiAgICAgdmlydHVh
bCB2b2lkIGV4aXRGdWxsc2NyZWVuRm9yTm9kZShOb2RlKik7CkBAIC0yMTUsNyArMjE1LDcgQEAg
cHVibGljOgogICAgIE93blB0cjxSZWZyZXNoQW5pbWF0aW9uPiBtX3JlZnJlc2hBbmltYXRpb247
CiAjZW5kaWYKIAotI2lmIEVOQUJMRShWSURFTykgJiYgKFVTRShHU1RSRUFNRVIpIHx8IFVTRShR
VF9NVUxUSU1FRElBKSB8fCBVU0UoUVRLSVQpKQorI2lmIEVOQUJMRShWSURFTykgJiYgKFVTRShH
U1RSRUFNRVIpIHx8IFVTRShRVF9NVUxUSU1FRElBKSkKICAgICBGdWxsU2NyZWVuVmlkZW9RdCog
bV9mdWxsU2NyZWVuVmlkZW87CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9GdWxsU2NyZWVuVmlkZW9RdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0
L1dlYkNvcmVTdXBwb3J0L0Z1bGxTY3JlZW5WaWRlb1F0LmNwcAppbmRleCA4NmQzNTRlNTdiYzk0
MjhjMGExYTM0NDFmYzNiNjkxZGRkYTlmYzIwLi40ZjAzYTY0M2FmNzgzOWFkYjg0ZjQ0ZTJiYWQ5
MGE2MDk4YWM4YjM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0
L0Z1bGxTY3JlZW5WaWRlb1F0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBw
b3J0L0Z1bGxTY3JlZW5WaWRlb1F0LmNwcApAQCAtMzQsMTAgKzM0LDYgQEAKICNpbmNsdWRlICJQ
bGF0Zm9ybVZpZGVvV2luZG93UHJpdmF0ZS5oIgogI2VuZGlmCiAKLSNpZiBVU0UoUVRLSVQpCi0j
aW5jbHVkZSAiUVRLaXRGdWxsU2NyZWVuVmlkZW9IYW5kbGVyLmgiCi0jZW5kaWYKLQogI2lmIFVT
RShRVF9NVUxUSU1FRElBKQogI2luY2x1ZGUgPFFNZWRpYVBsYXllcj4KICNlbmRpZgpAQCAtMTAy
LDEwICs5OCw2IEBAIEZ1bGxTY3JlZW5WaWRlb1F0OjpGdWxsU2NyZWVuVmlkZW9RdChDaHJvbWVD
bGllbnRRdCogY2hyb21lQ2xpZW50KQogI2lmIFVTRShHU1RSRUFNRVIpICYmIFVTRShOQVRJVkVf
RlVMTFNDUkVFTl9WSURFTykKICAgICBtX0Z1bGxTY3JlZW5WaWRlb0hhbmRsZXJHU3RyZWFtZXIg
PSBuZXcgR1N0cmVhbWVyRnVsbFNjcmVlblZpZGVvSGFuZGxlcjsKICNlbmRpZgotCi0jaWYgVVNF
KFFUS0lUKQotICAgIG1fRnVsbFNjcmVlblZpZGVvSGFuZGxlclFUS2l0ID0gbmV3IFFUS2l0RnVs
bFNjcmVlblZpZGVvSGFuZGxlcjsKLSNlbmRpZgogfQogCiBGdWxsU2NyZWVuVmlkZW9RdDo6fkZ1
bGxTY3JlZW5WaWRlb1F0KCkKQEAgLTExNiw5ICsxMDgsNiBAQCBGdWxsU2NyZWVuVmlkZW9RdDo6
fkZ1bGxTY3JlZW5WaWRlb1F0KCkKICNpZiBVU0UoR1NUUkVBTUVSKSAmJiBVU0UoTkFUSVZFX0ZV
TExTQ1JFRU5fVklERU8pCiAgICAgZGVsZXRlIG1fRnVsbFNjcmVlblZpZGVvSGFuZGxlckdTdHJl
YW1lcjsKICNlbmRpZgotI2lmIFVTRShRVEtJVCkKLSAgICBkZWxldGUgbV9GdWxsU2NyZWVuVmlk
ZW9IYW5kbGVyUVRLaXQ7Ci0jZW5kaWYKIH0KIAogdm9pZCBGdWxsU2NyZWVuVmlkZW9RdDo6ZW50
ZXJGdWxsU2NyZWVuRm9yTm9kZShOb2RlKiBub2RlKQpAQCAtMTQ3LDEwICsxMzYsNiBAQCB2b2lk
IEZ1bGxTY3JlZW5WaWRlb1F0OjplbnRlckZ1bGxTY3JlZW5Gb3JOb2RlKE5vZGUqIG5vZGUpCiAg
ICAgbV9GdWxsU2NyZWVuVmlkZW9IYW5kbGVyR1N0cmVhbWVyLT5zZXRWaWRlb0VsZW1lbnQobV92
aWRlb0VsZW1lbnQpOwogICAgIG1fRnVsbFNjcmVlblZpZGVvSGFuZGxlckdTdHJlYW1lci0+ZW50
ZXJGdWxsU2NyZWVuKCk7CiAjZW5kaWYKLQotI2lmIFVTRShRVEtJVCkKLSAgICBtX0Z1bGxTY3Jl
ZW5WaWRlb0hhbmRsZXJRVEtpdC0+ZW50ZXJGdWxsU2NyZWVuKG1fdmlkZW9FbGVtZW50KTsKLSNl
bmRpZgogfQogCiB2b2lkIEZ1bGxTY3JlZW5WaWRlb1F0OjpleGl0RnVsbFNjcmVlbkZvck5vZGUo
Tm9kZSogbm9kZSkKQEAgLTE3NywxMSArMTYyLDYgQEAgdm9pZCBGdWxsU2NyZWVuVmlkZW9RdDo6
ZXhpdEZ1bGxTY3JlZW5Gb3JOb2RlKE5vZGUqIG5vZGUpCiAjaWYgVVNFKEdTVFJFQU1FUikgJiYg
VVNFKE5BVElWRV9GVUxMU0NSRUVOX1ZJREVPKQogICAgIG1fRnVsbFNjcmVlblZpZGVvSGFuZGxl
ckdTdHJlYW1lci0+ZXhpdEZ1bGxTY3JlZW4oKTsKICNlbmRpZgotCi0jaWYgVVNFKFFUS0lUKQot
ICAgIG1fRnVsbFNjcmVlblZpZGVvSGFuZGxlclFUS2l0LT5leGl0RnVsbFNjcmVlbigpOwotI2Vu
ZGlmCi0KIH0KIAogdm9pZCBGdWxsU2NyZWVuVmlkZW9RdDo6YWJvdXRUb0Nsb3NlKCkKQEAgLTIx
NSw4ICsxOTUsNiBAQCBib29sIEZ1bGxTY3JlZW5WaWRlb1F0Ojppc1ZhbGlkKCkgY29uc3QKICNl
bmRpZgogI2lmIFVTRShHU1RSRUFNRVIpICYmIFVTRShOQVRJVkVfRlVMTFNDUkVFTl9WSURFTykK
ICAgICByZXR1cm4gbV9GdWxsU2NyZWVuVmlkZW9IYW5kbGVyR1N0cmVhbWVyOwotI2VsaWYgVVNF
KFFUS0lUKQotICAgIHJldHVybiBtX0Z1bGxTY3JlZW5WaWRlb0hhbmRsZXJRVEtpdDsKICNlbHNl
CiAgICAgcmV0dXJuIDA7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2Vi
Q29yZVN1cHBvcnQvRnVsbFNjcmVlblZpZGVvUXQuaCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29y
ZVN1cHBvcnQvRnVsbFNjcmVlblZpZGVvUXQuaAppbmRleCA0MzhhYjNmYmVmZWU5NDZlMjM2YTIz
M2VjNTdmZjNmMmM0YmJiM2MzLi5mNWJhMDc5M2M0NjkxYjE4Y2QyNmUyZjMwMWVjNWEzZjMyM2Ni
OWQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Z1bGxTY3Jl
ZW5WaWRlb1F0LmgKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GdWxsU2Ny
ZWVuVmlkZW9RdC5oCkBAIC0zOCw5ICszOCw2IEBAIGNsYXNzIE5vZGU7CiAjaWYgVVNFKFFUX01V
TFRJTUVESUEpCiBjbGFzcyBNZWRpYVBsYXllclByaXZhdGVRdDsKICNlbmRpZgotI2lmIFVTRShR
VEtJVCkKLWNsYXNzIFFUS2l0RnVsbFNjcmVlblZpZGVvSGFuZGxlcjsKLSNlbmRpZgogCiAvLyBX
ZSBkbyBub3QgdXNlIEVOQUJMRSBvciBVU0UgYmVjYXVzZSBtb2MgZG9lcyBub3QgZXhwYW5kIHRo
ZXNlIG1hY3Jvcy4KICNpZiBkZWZpbmVkKFdURl9VU0VfR1NUUkVBTUVSKSAmJiBXVEZfVVNFX0dT
VFJFQU1FUiAmJiBkZWZpbmVkKFdURl9VU0VfTkFUSVZFX0ZVTExTQ1JFRU5fVklERU8pICYmIFdU
Rl9VU0VfTkFUSVZFX0ZVTExTQ1JFRU5fVklERU8KQEAgLTkzLDkgKzkwLDYgQEAgcHJpdmF0ZToK
ICNpZiBVU0UoR1NUUkVBTUVSKSAmJiBVU0UoTkFUSVZFX0ZVTExTQ1JFRU5fVklERU8pCiAgICAg
R1N0cmVhbWVyRnVsbFNjcmVlblZpZGVvSGFuZGxlciogbV9GdWxsU2NyZWVuVmlkZW9IYW5kbGVy
R1N0cmVhbWVyOwogI2VuZGlmCi0jaWYgVVNFKFFUS0lUKQotICAgIFFUS2l0RnVsbFNjcmVlblZp
ZGVvSGFuZGxlciogbV9GdWxsU2NyZWVuVmlkZW9IYW5kbGVyUVRLaXQ7Ci0jZW5kaWYKIH07CiAK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvSW5pdFdlYkNv
cmVRdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0luaXRXZWJDb3JlUXQu
Y3BwCmluZGV4IDBlNDQ1MTJjOGRkZTlhMzg1NjRhYzkyYTJiMDgzODA3YzA0NGVhYWIuLjhlNTZh
ZDM0N2U4ZWM5NzQ5NDg5N2E1ZjVlYzk2MDllZTQ4ZWM2YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvSW5pdFdlYkNvcmVRdC5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9xdC9XZWJDb3JlU3VwcG9ydC9Jbml0V2ViQ29yZVF0LmNwcApAQCAtNDMsOSArNDMsNiBA
QAogI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJTY3JvbGxiYXJUaGVt
ZVFTdHlsZS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5UG9saWN5LmgiCi0jaWYgVVNFKFFUS0lUKQot
I2luY2x1ZGUgIldlYlN5c3RlbUludGVyZmFjZS5oIgotI2VuZGlmCiAKICNpbmNsdWRlICJxd2Vi
ZWxlbWVudF9wLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvcnVudGltZS9Jbml0aWFsaXpl
VGhyZWFkaW5nLmg+CkBAIC0xMDcsOSArMTA0LDYgQEAgUV9ERUNMX0VYUE9SVCB2b2lkIGluaXRp
YWxpemVXZWJDb3JlUXQoKQogICAgIFBsYXRmb3JtU3RyYXRlZ2llc1F0Ojppbml0aWFsaXplKCk7
CiAgICAgUXRXZWJFbGVtZW50UnVudGltZTo6aW5pdGlhbGl6ZSgpOwogCi0jaWYgVVNFKFFUS0lU
KQotICAgIEluaXRXZWJDb3JlU3lzdGVtSW50ZXJmYWNlKCk7Ci0jZW5kaWYKICAgICBpZiAoIVdl
YkNvcmU6Om1lbW9yeUNhY2hlKCktPmRpc2FibGVkKCkpCiAgICAgICAgIFdlYkNvcmU6Om1lbW9y
eUNhY2hlKCktPnNldERlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwoNjApOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1FUS2l0RnVsbFNjcmVlblZp
ZGVvSGFuZGxlci5oIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9RVEtpdEZ1bGxT
Y3JlZW5WaWRlb0hhbmRsZXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjhhYzE1
YTA1YzA5NWFiYjJmN2FjMmU4YWJmYWRmNDI1NjI5NDRkOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0
L1FUS2l0RnVsbFNjcmVlblZpZGVvSGFuZGxlci5oCisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAs
MCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3Ig
aXRzIHN1YnNpZGlhcnkoLWllcykKLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBw
dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJz
aW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg
aXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg
ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQg
aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5M
SUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ
bmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBNQSAwMjEx
MC0xMzAxLCBVU0EuCi0gKgotICovCi0KLSNpZm5kZWYgUVRLaXRGdWxsU2NyZWVuVmlkZW9IYW5k
bGVyX2gKLSNkZWZpbmUgUVRLaXRGdWxsU2NyZWVuVmlkZW9IYW5kbGVyX2gKLQotI2luY2x1ZGUg
PHd0Zi9Pd25QdHIuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBIVE1MVmlkZW9F
bGVtZW50OwotCi1jbGFzcyBRVEtpdEZ1bGxTY3JlZW5WaWRlb0hhbmRsZXIgewotICAgIGNsYXNz
IFFUS2l0RnVsbFNjcmVlblZpZGVvSGFuZGxlclByaXZhdGU7Ci1wdWJsaWM6Ci0gICAgUVRLaXRG
dWxsU2NyZWVuVmlkZW9IYW5kbGVyKCk7Ci0gICAgflFUS2l0RnVsbFNjcmVlblZpZGVvSGFuZGxl
cigpOwotICAgIHZvaWQgZW50ZXJGdWxsU2NyZWVuKEhUTUxWaWRlb0VsZW1lbnQqKTsKLSAgICB2
b2lkIGV4aXRGdWxsU2NyZWVuKCk7Ci0KLXByaXZhdGU6Ci0gICAgT3duUHRyPFFUS2l0RnVsbFNj
cmVlblZpZGVvSGFuZGxlclByaXZhdGU+IHByaXZhdGVEYXRhOwotfTsKLQotfQotCi0jZW5kaWYg
Ly8gUVRLaXRGdWxsU2NyZWVuVmlkZW9IYW5kbGVyX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvcXQvV2ViQ29yZVN1cHBvcnQvUVRLaXRGdWxsU2NyZWVuVmlkZW9IYW5kbGVyLm1tIGIvU291
cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9RVEtpdEZ1bGxTY3JlZW5WaWRlb0hhbmRsZXIu
bW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU4NGI5ZmE4ZmU3M2FlMzM0NjRkYTZj
Y2U1NTgyN2MwOTk2ZTdkMzUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9RVEtpdEZ1bGxTY3JlZW5W
aWRlb0hhbmRsZXIubW0KKysrIC9kZXYvbnVsbApAQCAtMSw2NiArMCwwIEBACi0vKgotICogQ29w
eXJpZ2h0IChDKSAyMDExIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgt
aWVzKQotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGlj
ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlz
IGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg
Y29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcg
d2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3Jp
dGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu
IFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAq
Ci0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaW5jbHVkZSAiUVRLaXRGdWxsU2NyZWVu
VmlkZW9IYW5kbGVyLmgiCi0KLSNpbmNsdWRlICJIVE1MVmlkZW9FbGVtZW50LmgiCi0jaW5jbHVk
ZSAiV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5oIgotCi11c2luZyBuYW1lc3BhY2UgV2Vi
Q29yZTsKLQotY2xhc3MgUVRLaXRGdWxsU2NyZWVuVmlkZW9IYW5kbGVyOjpRVEtpdEZ1bGxTY3Jl
ZW5WaWRlb0hhbmRsZXJQcml2YXRlIHsKLXB1YmxpYyA6Ci0gICAgV2ViVmlkZW9GdWxsc2NyZWVu
Q29udHJvbGxlciogbV9GdWxsU2NyZWVuQ29udHJvbGxlcjsKLX07Ci0KLVFUS2l0RnVsbFNjcmVl
blZpZGVvSGFuZGxlcjo6UVRLaXRGdWxsU2NyZWVuVmlkZW9IYW5kbGVyKCkKLSAgICA6IHByaXZh
dGVEYXRhIChhZG9wdFB0cihuZXcgUVRLaXRGdWxsU2NyZWVuVmlkZW9IYW5kbGVyUHJpdmF0ZSkp
Ci17Ci0gICAgcHJpdmF0ZURhdGEtPm1fRnVsbFNjcmVlbkNvbnRyb2xsZXIgPSBuaWw7Ci19Ci0K
LVFUS2l0RnVsbFNjcmVlblZpZGVvSGFuZGxlcjo6flFUS2l0RnVsbFNjcmVlblZpZGVvSGFuZGxl
cigpCi17Ci0gICAgZXhpdEZ1bGxTY3JlZW4oKTsKLX0KLQotdm9pZCBRVEtpdEZ1bGxTY3JlZW5W
aWRlb0hhbmRsZXI6OmVudGVyRnVsbFNjcmVlbihIVE1MVmlkZW9FbGVtZW50KiB2aWRlb0VsZW1l
bnQpCi17Ci0gICAgaWYgKHByaXZhdGVEYXRhLT5tX0Z1bGxTY3JlZW5Db250cm9sbGVyKSB7Ci0g
ICAgICAgIC8vIEZpcnN0IGV4aXQgZnVsbHNjcmVlbiBmb3IgdGhlIG9sZCBtZWRpYUVsZW1lbnQu
Ci0gICAgICAgIGV4aXRGdWxsU2NyZWVuKCk7Ci0gICAgICAgIEFTU0VSVCghcHJpdmF0ZURhdGEt
Pm1fRnVsbFNjcmVlbkNvbnRyb2xsZXIpOwotICAgIH0KLSAgICBpZiAoIXByaXZhdGVEYXRhLT5t
X0Z1bGxTY3JlZW5Db250cm9sbGVyKSB7Ci0gICAgICAgIHByaXZhdGVEYXRhLT5tX0Z1bGxTY3Jl
ZW5Db250cm9sbGVyID0gW1tXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyIGFsbG9jXSBpbml0
XTsKLSAgICAgICAgW3ByaXZhdGVEYXRhLT5tX0Z1bGxTY3JlZW5Db250cm9sbGVyIHNldE1lZGlh
RWxlbWVudDp2aWRlb0VsZW1lbnRdOwotICAgICAgICBOU1NjcmVlbiogY3VycmVudFNjcmVlbiA9
IFtOU1NjcmVlbiBtYWluU2NyZWVuXTsKLSAgICAgICAgW3ByaXZhdGVEYXRhLT5tX0Z1bGxTY3Jl
ZW5Db250cm9sbGVyIGVudGVyRnVsbHNjcmVlbjpjdXJyZW50U2NyZWVuXTsKLSAgICB9Ci19Ci0K
LXZvaWQgUVRLaXRGdWxsU2NyZWVuVmlkZW9IYW5kbGVyOjpleGl0RnVsbFNjcmVlbigpCi17Ci0g
ICAgW3ByaXZhdGVEYXRhLT5tX0Z1bGxTY3JlZW5Db250cm9sbGVyIGV4aXRGdWxsc2NyZWVuXTsK
LSAgICBbcHJpdmF0ZURhdGEtPm1fRnVsbFNjcmVlbkNvbnRyb2xsZXIgcmVsZWFzZV07Ci0gICAg
cHJpdmF0ZURhdGEtPm1fRnVsbFNjcmVlbkNvbnRyb2xsZXIgPSBuaWw7Ci19CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1dlYlN5c3RlbUludGVyZmFjZS5oIGIv
U291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9XZWJTeXN0ZW1JbnRlcmZhY2UuaApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWIwM2Q0YWZjYjJmODI0OTAxMDZkYjA0NDAyZDlh
ODhmYWFlOWU0ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1dlYlN5c3RlbUludGVyZmFjZS5oCisr
KyAvZGV2L251bGwKQEAgLTEsMzYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAyMDA2IEFwcGxl
IENvbXB1dGVyLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0g
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAK
LSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAK
LSAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUi
KSBub3IgdGhlIG5hbWVzIG9mCi0gKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAotICogICAgIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4gCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUK
LSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0gKiAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKLSAqIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0g
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YKLSAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBXZWJTeXN0ZW1J
bnRlcmZhY2VfaAotI2RlZmluZSBXZWJTeXN0ZW1JbnRlcmZhY2VfaAotCi0jaW5jbHVkZSA8c3Rk
aW50Lmg+Ci0KLXZvaWQgSW5pdFdlYkNvcmVTeXN0ZW1JbnRlcmZhY2UoKTsKLQotI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1dlYlN5c3RlbUludGVy
ZmFjZS5tbSBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvV2ViU3lzdGVtSW50ZXJm
YWNlLm1tCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MzU0YWY5NjE4NzQwZGY4ZWFh
YWFmYWU5ZGJkYjRiYjVhZWFiZjljLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvV2ViU3lzdGVtSW50
ZXJmYWNlLm1tCisrKyAvZGV2L251bGwKQEAgLTEsNjYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdo
dCAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqCi0g
KiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uIAotICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBw
bGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKLSAqICAgICBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkCi0gKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLiAKLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQotICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRAotICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQotICogRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMKLSAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSAqIExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RAotICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgotICogVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
LSAqLwotCi0jaW1wb3J0ICJXZWJTeXN0ZW1JbnRlcmZhY2UuaCIKLQotLy8gTmVlZGVkIGZvciBi
dWlsZHMgbm90IHVzaW5nIFBDSCB0byBleHBvc2UgQlVJTERJTkdfIG1hY3Jvcywgc2VlIGJ1ZyAz
Mjc1My4KLSNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KLQotI2ltcG9ydCA8V2ViQ29yZVN5c3Rl
bUludGVyZmFjZS5oPgotI2ltcG9ydCA8V2ViS2l0U3lzdGVtSW50ZXJmYWNlLmg+Ci0KLSNkZWZp
bmUgSU5JVChmdW5jdGlvbikgd2sjI2Z1bmN0aW9uID0gV0sjI2Z1bmN0aW9uCi0KLXZvaWQgSW5p
dFdlYkNvcmVTeXN0ZW1JbnRlcmZhY2Uodm9pZCkKLXsKLSAgICBzdGF0aWMgYm9vbCBkaWRJbml0
OwotICAgIGlmIChkaWRJbml0KQotICAgICAgICByZXR1cm47Ci0KLSAgICBJTklUKFFUSW5jbHVk
ZU9ubHlNb2Rlcm5NZWRpYUZpbGVUeXBlcyk7Ci0gICAgSU5JVChRVE1vdmllRGF0YVJhdGUpOwot
ICAgIElOSVQoUVRNb3ZpZURpc2FibGVDb21wb25lbnQpOwotICAgIElOSVQoUVRNb3ZpZU1heFRp
bWVMb2FkZWQpOwotICAgIElOSVQoUVRNb3ZpZU1heFRpbWVMb2FkZWRDaGFuZ2VOb3RpZmljYXRp
b24pOwotICAgIElOSVQoUVRNb3ZpZU1heFRpbWVTZWVrYWJsZSk7Ci0gICAgSU5JVChRVE1vdmll
R2V0VHlwZSk7Ci0gICAgSU5JVChRVE1vdmllSGFzQ2xvc2VkQ2FwdGlvbnMpOwotICAgIElOSVQo
UVRNb3ZpZVJlc29sdmVkVVJMKTsKLSAgICBJTklUKFFUTW92aWVTZXRTaG93Q2xvc2VkQ2FwdGlv
bnMpOwotICAgIElOSVQoUVRNb3ZpZVNlbGVjdFByZWZlcnJlZEFsdGVybmF0ZXMpOwotICAgIElO
SVQoUVRNb3ZpZVZpZXdTZXREcmF3U3luY2hyb25vdXNseSk7Ci0gICAgSU5JVChRVEdldFNpdGVz
SW5NZWRpYURvd25sb2FkQ2FjaGUpOwotICAgIElOSVQoUVRDbGVhck1lZGlhRG93bmxvYWRDYWNo
ZUZvclNpdGUpOwotICAgIElOSVQoUVRDbGVhck1lZGlhRG93bmxvYWRDYWNoZSk7Ci0gICAgSU5J
VChDcmVhdGVNZWRpYVVJQmFja2dyb3VuZFZpZXcpOwotICAgIElOSVQoQ3JlYXRlTWVkaWFVSUNv
bnRyb2wpOwotICAgIElOSVQoV2luZG93U2V0QWxwaGEpOwotICAgIElOSVQoV2luZG93U2V0U2Nh
bGVkRnJhbWUpOwotCi0gICAgZGlkSW5pdCA9IHRydWU7Ci19CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9UYXJnZXQucHJpIGIvU291cmNlL1dlYktpdDIvVGFyZ2V0LnByaQppbmRleCA1ZjVk
YWQwZGZkZTcyNDQ3YTAwNWU4MmFhMTNkNGZkNDkxM2U3MzdhLi41OGE2NGFjZmU4MDU1OTU2Njk2
M2M4NDc0ZDI2M2MzZWI5NzczZjViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9UYXJnZXQu
cHJpCisrKyBiL1NvdXJjZS9XZWJLaXQyL1RhcmdldC5wcmkKQEAgLTg1MSwxOCArODUxLDYgQEAg
aGF2ZT8oUVRRVUlDSykgewogfQogCiBtYWM6IHsKLSAgICB1c2U/KFFUS0lUKSB7Ci0gICAgICAg
IERFRklORVMgKz0gTlNHRU9NRVRSWV9UWVBFU19TQU1FX0FTX0NHR0VPTUVUUllfVFlQRVMKLSAg
ICAgICAgaXNFcXVhbChRVF9BUkNILCAiaTM4NiIpIHsKLSAgICAgICAgICAgIERFRklORVMrPU5T
X0JVSUxEXzMyX0xJS0VfNjQKLSAgICAgICAgfQotICAgICAgICBJTkNMVURFUEFUSCArPSBcCi0g
ICAgICAgICAgICAkJFBXRC8uLi8uLi9XZWJLaXRMaWJyYXJpZXMvCi0gICAgICAgIEhFQURFUlMg
Kz0gXAotICAgICAgICAgICAgV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9xdC9XZWJTeXN0ZW1J
bnRlcmZhY2UuaAotICAgICAgICBPQkpFQ1RJVkVfU09VUkNFUyArPSBcCi0gICAgICAgICAgICBX
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L3F0L1dlYlN5c3RlbUludGVyZmFjZS5tbQotICAgIH0K
ICAgICBJTkNMVURFUEFUSCArPSBcCiAgICAgICAgIFBsYXRmb3JtL21hYyBcCiAgICAgICAgIFBs
YXRmb3JtL0NvcmVJUEMvbWFjCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
cXQvV2ViQ29udGV4dFF0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9XZWJDb250
ZXh0UXQuY3BwCmluZGV4IDQ0ODI3ZWVkNWMyMWNiYTQwZDY0ZGZmZGRhYWNlYjliYWY5Y2I4OGUu
LmI0MWI2ZmI0ZmU5YmM4ZDUwMjk4M2YyMzUyZDU2ZjU1NDZkZDg2OTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9XZWJDb250ZXh0UXQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9xdC9XZWJDb250ZXh0UXQuY3BwCkBAIC01Nyw5ICs1Nyw2IEBAIHZv
aWQgV2ViQ29udGV4dDo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2VzcyhXZWJQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzJiBwYXJhCiAgICAgc3RhdGljIFdlYkdlb2xvY2F0aW9uUHJvdmlkZXJR
dCogbG9jYXRpb24gPSBXZWJHZW9sb2NhdGlvblByb3ZpZGVyUXQ6OmNyZWF0ZSh0b0FQSShzdXBw
bGVtZW50PFdlYkdlb2xvY2F0aW9uTWFuYWdlclByb3h5PigpKSk7CiAgICAgV0tHZW9sb2NhdGlv
bk1hbmFnZXJTZXRQcm92aWRlcih0b0FQSShzdXBwbGVtZW50PFdlYkdlb2xvY2F0aW9uTWFuYWdl
clByb3h5PigpKSwgV2ViR2VvbG9jYXRpb25Qcm92aWRlclF0Ojpwcm92aWRlcihsb2NhdGlvbikp
OwogI2VuZGlmCi0jaWYgVVNFKFFUS0lUKQotICAgIEluaXRXZWJDb3JlU3lzdGVtSW50ZXJmYWNl
Rm9yV0syKCk7Ci0jZW5kaWYKIH0KIAogdm9pZCBXZWJDb250ZXh0OjpwbGF0Zm9ybUludmFsaWRh
dGVDb250ZXh0KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvcXQvV2ViU3lzdGVtSW50ZXJmYWNlLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L3F0L1dlYlN5c3RlbUludGVyZmFjZS5oCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBlZWMwY2JiMWFlNDA2OWExODA1Y2U4MDI4NTIzN2NhZGJkYTkxNDlk
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvcXQvV2ViU3lzdGVtSW50ZXJmYWNlLmgK
KysrIC9kZXYvbnVsbApAQCAtMSwzMSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IDIwMDYgQXBw
bGUgQ29tcHV0ZXIsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
LSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqCi0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
IAotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
IAotICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBs
ZSIpIG5vciB0aGUgbmFtZXMgb2YKLSAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0gKiAgICAgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLiAKLSAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotICogV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RQotICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWQotICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKLSAqIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsKLSAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAotICogT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
LSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRgotICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSA8c3RkaW50
Lmg+Ci0KLXZvaWQgSW5pdFdlYkNvcmVTeXN0ZW1JbnRlcmZhY2VGb3JXSzIoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvcXQvV2ViU3lzdGVt
SW50ZXJmYWNlLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9x
dC9XZWJTeXN0ZW1JbnRlcmZhY2UubW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFh
MGMwZjYwZjRiYmQyMDBhNmJmZmQ4M2Y3YzgwZDYxYzc1NmU3MjguLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9xdC9XZWJTeXN0ZW1JbnRlcmZhY2UubW0KKysrIC9kZXYvbnVsbApAQCAt
MSw2NiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IDIwMDYsIDIwMDcsIDIwMDgsIDIwMDksIDIw
MTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCi0gKiBhcmUgbWV0OgotICoKLSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCi0g
KiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gCi0g
KiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikg
bm9yIHRoZSBuYW1lcyBvZgotICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKLSAqICAgICBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIAotICoKLSAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0g
KiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwotICogKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOwotICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECi0gKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GCi0gKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbXBvcnQgIldlYlN5c3RlbUlu
dGVyZmFjZS5oIgotCi0vLyBOZWVkZWQgZm9yIGJ1aWxkcyBub3QgdXNpbmcgUENIIHRvIGV4cG9z
ZSBCVUlMRElOR18gbWFjcm9zLCBzZWUgYnVnIDMyNzUzLgotI2luY2x1ZGUgPHd0Zi9QbGF0Zm9y
bS5oPgotCi0jaW1wb3J0IDxXZWJDb3JlU3lzdGVtSW50ZXJmYWNlLmg+Ci0jaW1wb3J0IDxXZWJL
aXRTeXN0ZW1JbnRlcmZhY2UuaD4KLQotI2RlZmluZSBJTklUKGZ1bmN0aW9uKSB3ayMjZnVuY3Rp
b24gPSBXSyMjZnVuY3Rpb24KLQotdm9pZCBJbml0V2ViQ29yZVN5c3RlbUludGVyZmFjZUZvcldL
Mih2b2lkKQotewotICAgIHN0YXRpYyBib29sIGRpZEluaXQ7Ci0gICAgaWYgKGRpZEluaXQpCi0g
ICAgICAgIHJldHVybjsKLQotICAgIElOSVQoUVRJbmNsdWRlT25seU1vZGVybk1lZGlhRmlsZVR5
cGVzKTsKLSAgICBJTklUKFFUTW92aWVEYXRhUmF0ZSk7Ci0gICAgSU5JVChRVE1vdmllRGlzYWJs
ZUNvbXBvbmVudCk7Ci0gICAgSU5JVChRVE1vdmllTWF4VGltZUxvYWRlZCk7Ci0gICAgSU5JVChR
VE1vdmllTWF4VGltZUxvYWRlZENoYW5nZU5vdGlmaWNhdGlvbik7Ci0gICAgSU5JVChRVE1vdmll
TWF4VGltZVNlZWthYmxlKTsKLSAgICBJTklUKFFUTW92aWVHZXRUeXBlKTsKLSAgICBJTklUKFFU
TW92aWVIYXNDbG9zZWRDYXB0aW9ucyk7Ci0gICAgSU5JVChRVE1vdmllUmVzb2x2ZWRVUkwpOwot
ICAgIElOSVQoUVRNb3ZpZVNldFNob3dDbG9zZWRDYXB0aW9ucyk7Ci0gICAgSU5JVChRVE1vdmll
U2VsZWN0UHJlZmVycmVkQWx0ZXJuYXRlcyk7Ci0gICAgSU5JVChRVE1vdmllVmlld1NldERyYXdT
eW5jaHJvbm91c2x5KTsKLSAgICBJTklUKFFUR2V0U2l0ZXNJbk1lZGlhRG93bmxvYWRDYWNoZSk7
Ci0gICAgSU5JVChRVENsZWFyTWVkaWFEb3dubG9hZENhY2hlRm9yU2l0ZSk7Ci0gICAgSU5JVChR
VENsZWFyTWVkaWFEb3dubG9hZENhY2hlKTsKLSAgICBJTklUKENyZWF0ZU1lZGlhVUlCYWNrZ3Jv
dW5kVmlldyk7Ci0gICAgSU5JVChDcmVhdGVNZWRpYVVJQ29udHJvbCk7Ci0gICAgSU5JVChXaW5k
b3dTZXRBbHBoYSk7Ci0gICAgSU5JVChXaW5kb3dTZXRTY2FsZWRGcmFtZSk7Ci0KLSAgICBkaWRJ
bml0ID0gdHJ1ZTsKLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcAppbmRleCBkMDcwYjQ3Mzg4MmNmMDBmYjIyMGVjYzkxMmFhOWExYjVjNTBlMmZjLi4y
YmVhMWFjY2MxMTQ3OTZlZWQ3MmYwOTNkNjFhMGRlMDNiZjg3NzNjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0yNTAwLDcgKzI1MDAsNyBA
QCB2b2lkIFdlYlBhZ2U6OnVwZGF0ZVByZWZlcmVuY2VzKGNvbnN0IFdlYlByZWZlcmVuY2VzU3Rv
cmUmIHN0b3JlKQogICAgIHNldHRpbmdzLT5zZXRBVkZvdW5kYXRpb25FbmFibGVkKHN0b3JlLmdl
dEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6aXNBVkZvdW5kYXRpb25FbmFibGVk
S2V5KCkpKTsKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oTUFDKSB8fCAoUExBVEZPUk0oUVQpICYm
IFVTRShRVEtJVCkpCisjaWYgUExBVEZPUk0oTUFDKQogICAgIHNldHRpbmdzLT5zZXRRVEtpdEVu
YWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojppc1FUS2l0
RW5hYmxlZEtleSgpKSk7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9xdC9XZWJQcm9jZXNzTWFpblF0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvcXQvV2ViUHJvY2Vzc01haW5RdC5jcHAKaW5kZXggZjBiNTFjMTk5MTk0MjU0NzMwYTFjYThl
MGM0OGQ4NTAwNTkwZTliMC4uY2NkOTNhOTdmNzllYTA5ODUyOWE5MWI4YTQ2MzEwNTQ1M2NmYWU1
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9xdC9XZWJQcm9jZXNzTWFp
blF0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL3F0L1dlYlByb2Nlc3NNYWlu
UXQuY3BwCkBAIC0zOSwxMCArMzksNiBAQAogI2luY2x1ZGUgPFdlYkNvcmUvUnVuTG9vcC5oPgog
I2luY2x1ZGUgPGVycm5vLmg+CiAKLSNpZiBVU0UoUVRLSVQpCi0jaW5jbHVkZSAiV2ViU3lzdGVt
SW50ZXJmYWNlLmgiCi0jZW5kaWYKLQogI2lmbmRlZiBOREVCVUcKICNpZiAhT1MoV0lORE9XUykK
ICNpbmNsdWRlIDx1bmlzdGQuaD4KQEAgLTIxMywxMCArMjA5LDYgQEAgUV9ERUNMX0VYUE9SVCBp
bnQgV2ViUHJvY2Vzc01haW5RdChRR3VpQXBwbGljYXRpb24qIGFwcCkKIAogICAgIEluaXRpYWxp
emVXZWJLaXQyKCk7CiAKLSNpZiBVU0UoUVRLSVQpCi0gICAgSW5pdFdlYkNvcmVTeXN0ZW1JbnRl
cmZhY2VGb3JXSzIoKTsKLSNlbmRpZgotCiAgICAgLy8gQ3JlYXRlIHRoZSBjb25uZWN0aW9uLgog
ICAgIGlmIChhcHAtPmFyZ3VtZW50cygpLnNpemUoKSA8PSAxKSB7CiAgICAgICAgIHFEZWJ1Zygp
IDw8ICJFcnJvcjogd3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cy4iOwpkaWZmIC0tZ2l0IGEvU291
cmNlL3dpZGdldHNhcGkucHJpIGIvU291cmNlL3dpZGdldHNhcGkucHJpCmluZGV4IGFhMDdmN2Vj
NWZiNzY5MWViMGRmOTNlNGFmM2JlZGZiMzRjMzcwMWYuLmU4M2RmZjI5Mjc4OTllNzg4ZmFjYjhm
ZGEyZjNlYzdiYzZmZDkzMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS93aWRnZXRzYXBpLnByaQorKysg
Yi9Tb3VyY2Uvd2lkZ2V0c2FwaS5wcmkKQEAgLTE0OSw3ICsxNDksNyBAQCBJTkNMVURFUEFUSCAr
PSBcCiAgICAgJCRQV0QvcXQvV2ViQ29yZVN1cHBvcnQKIAogZW5hYmxlPyhWSURFTykgewotICAg
ICF1c2U/KFFUS0lUKTohdXNlPyhHU1RSRUFNRVIpOnVzZT8oUVRfTVVMVElNRURJQSkgeworICAg
ICF1c2U/KEdTVFJFQU1FUik6dXNlPyhRVF9NVUxUSU1FRElBKSB7CiAgICAgICAgIEhFQURFUlMg
Kz0gJCRQV0QvV2ViS2l0L3F0L1dpZGdldFN1cHBvcnQvRnVsbFNjcmVlblZpZGVvV2lkZ2V0LmgK
ICAgICAgICAgU09VUkNFUyArPSAkJFBXRC9XZWJLaXQvcXQvV2lkZ2V0U3VwcG9ydC9GdWxsU2Ny
ZWVuVmlkZW9XaWRnZXQuY3BwCiAgICAgfQpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdl
TG9nCmluZGV4IGJmNDZiNjlkNDExYWJmMWYzNTljZTQ0ZGE0MWVjNWMyNGY4MWEzM2UuLjM1MmE3
Y2Y5YjVjZjdhNmEwNThkMzk2ZDVjYTk5ZWQ1NjAyOWQ4YzAgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxv
ZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMy0wNi0xNyAgTWljaGFlbCBC
csO8bmluZyAgPG1pY2hhZWwuYnJ1bmluZ0BkaWdpYS5jb20+CisKKyAgICAgICAgW1F0XSBSZW1v
dmUgUXQgc3BlY2lmaWMgUVRLSVQgZmxhZ2dlZCBjb2RlLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE3NjM1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRHVlIHRvIGRpc2FibGluZyBRVEtJVCBmb3IgUXQg
aW4gcjE1MTU0NiwgdGhlCisgICAgICAgIGNvZGUgdGhlIGZsYWdzIHRoYXQgYXJlIG5vdCB0YWtl
biBpbnRvIGFjY291bnQKKyAgICAgICAgYW55bW9yZSBhbmQgdGhlIGNvZGUgdGhhdCBoYXMgYmVl
biByZW5kZXJlZAorICAgICAgICB1bnJlYWNoYWJsZSBieSB0aGlzIGFyZSByZW1vdmVkLgorCisg
ICAgICAgICogU291cmNlL3dpZGdldHNhcGkucHJpOgorCiAyMDEzLTA2LTE3ICBDYXJsb3MgR2Fy
Y2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLiBS
ZW5hbWUgZ29iamVjdF9pbnRyb3NwZWN0aW9uX3JlcXVpcmVkIHZhcmlhYmxlLgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>204818</attachid>
            <date>2013-06-17 06:42:49 -0700</date>
            <delta_ts>2013-06-17 07:24:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-117635-20130617154102.patch</filename>
            <type>text/plain</type>
            <size>54309</size>
            <attacher name="Michael Brüning">michael.bruning</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUxNjM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWJlNzBmOTBkMWE4ZjU0
NWJiNGY0M2IxZGI4NWE5NjFhNjFlNzI5NS4uNGZhMjA4MzkyOGJhYTgxMjc5YjYwNTY2MmEzNzgz
NDc5ZmE0NjYyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDEzLTA2LTE3ICBNaWNo
YWVsIEJyw7xuaW5nICA8bWljaGFlbC5icnVuaW5nQGRpZ2lhLmNvbT4KKworICAgICAgICBbUXRd
IFJlbW92ZSBRdCBzcGVjaWZpYyBRVEtJVCBmbGFnZ2VkIGNvZGUuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTc2MzUKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEdWUgdG8gZGlzYWJsaW5nIFFUS0lUIGZv
ciBRdCBpbiByMTUxNTQ2LCB0aGUKKyAgICAgICAgY29kZSB0aGUgZmxhZ3MgdGhhdCBhcmUgbm90
IHRha2VuIGludG8gYWNjb3VudAorICAgICAgICBhbnltb3JlIGFuZCB0aGUgY29kZSB0aGF0IGhh
cyBiZWVuIHJlbmRlcmVkCisgICAgICAgIHVucmVhY2hhYmxlIGJ5IHRoaXMgYXJlIHJlbW92ZWQu
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBubyBiZWhhdmlvdXJhbCBjaGFuZ2UuCisKKyAgICAg
ICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIHBh
Z2UvU2V0dGluZ3MuY3BwOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9LVVJMLmg6CisgICAgICAgICogcGxhdGZvcm0vU2hhcmVkQnVmZmVyLmg6CisgICAg
ICAgICogcGxhdGZvcm0vY2YvS1VSTENGTmV0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OktVUkw6
OmZpbGVTeXN0ZW1QYXRoKToKKyAgICAgICAgKiBwbGF0Zm9ybS9jZi9TaGFyZWRCdWZmZXJDRi5j
cHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRTaXplLmg6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L0ludFNpemUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjppbnN0YWxsZWRNZWRpYUVuZ2luZXMpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2NnL0Zsb2F0U2l6ZUNHLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jZy9JbnRSZWN0Q0cuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21h
Yy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
UGxheWVyUHJpdmF0ZVFUS2l0OjpjcmVhdGVRVE1vdmllTGF5ZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQ6OnByZWZlcnJlZFJlbmRlcmluZ01vZGUpOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQ6OnBhaW50KToKKyAgICAgICAg
KC1bV2ViQ29yZU1vdmllT2JzZXJ2ZXIgbGF5ZXJIb3N0Q2hhbmdlZDpdKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvU2hhcmVkQnVmZmVyTWFjLm1tOgorICAgICAgICAoK1tXZWJDb3JlU2hhcmVk
QnVmZmVyRGF0YSBpbml0aWFsaXplXSk6CisgICAgICAgIChXZWJDb3JlOjpTaGFyZWRCdWZmZXI6
OmNyZWF0ZVdpdGhDb250ZW50c09mRmlsZSk6CisKIDIwMTMtMDYtMTcgIEdyemVnb3J6IEN6YWpr
b3dza2kgIDxnLmN6YWprb3dza2lAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwg
cm9sbGluZyBvdXQgcjE1MTYzMi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZTJhZWYwMTdkMGM2OWM2NjFiMGQzNDM3
M2RjZjJjM2JmZTAzNjMyMC4uYTk3MDQyNDU2ODcyMjg5N2ExNmQxNWJjOGYxNzMzOTZiMzVmM2Q0
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMy0wNi0xNyAgTWljaGFlbCBCcsO8bmlu
ZyAgPG1pY2hhZWwuYnJ1bmluZ0BkaWdpYS5jb20+CisKKyAgICAgICAgW1F0XSBSZW1vdmUgUXQg
c3BlY2lmaWMgUVRLSVQgZmxhZ2dlZCBjb2RlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE3NjM1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgRHVlIHRvIGRpc2FibGluZyBRVEtJVCBmb3IgUXQgaW4gcjE1
MTU0NiwgdGhlCisgICAgICAgIGNvZGUgdGhlIGZsYWdzIHRoYXQgYXJlIG5vdCB0YWtlbiBpbnRv
IGFjY291bnQKKyAgICAgICAgYW55bW9yZSBhbmQgdGhlIGNvZGUgdGhhdCBoYXMgYmVlbiByZW5k
ZXJlZAorICAgICAgICB1bnJlYWNoYWJsZSBieSB0aGlzIGFyZSByZW1vdmVkLgorCisgICAgICAg
ICogV2ViS2l0MS5wcm86CisKIDIwMTMtMDYtMTQgIEFsYmVydG8gR2FyY2lhICA8YWdhcmNpYUBp
Z2FsaWEuY29tPgogCiAgICAgICAgIFtCbGFja0JlcnJ5XSBSZW1vdmUgaW1wbGVtZW50YXRpb24g
b2YgQ29udGV4dE1lbnUgY2xhc3NlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IGQ0NTI5NjllOWJiMDUw
MzhhYWIxNTJiYjljMTcxNGY1ZTI1MTIwOWUuLmQ2NGYyYTg5ZjAzZjBmZmI0ZGQ5Y2UxZmYyOGY4
OGE1MWI2OTNhM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMy0wNi0x
NyAgTWljaGFlbCBCcsO8bmluZyAgPG1pY2hhZWwuYnJ1bmluZ0BkaWdpYS5jb20+CisKKyAgICAg
ICAgW1F0XSBSZW1vdmUgUXQgc3BlY2lmaWMgUVRLSVQgZmxhZ2dlZCBjb2RlLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE3NjM1CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRHVlIHRvIGRpc2FibGluZyBR
VEtJVCBmb3IgUXQgaW4gcjE1MTU0NiwgdGhlCisgICAgICAgIGNvZGUgdGhlIGZsYWdzIHRoYXQg
YXJlIG5vdCB0YWtlbiBpbnRvIGFjY291bnQKKyAgICAgICAgYW55bW9yZSBhbmQgdGhlIGNvZGUg
dGhhdCBoYXMgYmVlbiByZW5kZXJlZAorICAgICAgICB1bnJlYWNoYWJsZSBieSB0aGlzIGFyZSBy
ZW1vdmVkLgorCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAoLVtXZWJW
aWV3IF9wcmVmZXJlbmNlc0NoYW5nZWQ6XSk6CisKIDIwMTMtMDYtMTcgIEdyemVnb3J6IEN6YWpr
b3dza2kgIDxnLmN6YWprb3dza2lAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwg
cm9sbGluZyBvdXQgcjE1MTYzMi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggMDAzOWRmNjBlOWZiM2I5YmZj
ZGNjMmMxMzZiNTQxODA0OWQxYzM3Yy4uZTU5YWZkYjU3ZDYzNWI1NzQ3YjM3M2ZiZmJlMTg1Mjk5
ZTUxMGVmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMyBAQAorMjAxMy0wNi0xNyAgTWlj
aGFlbCBCcsO8bmluZyAgPG1pY2hhZWwuYnJ1bmluZ0BkaWdpYS5jb20+CisKKyAgICAgICAgW1F0
XSBSZW1vdmUgUXQgc3BlY2lmaWMgUVRLSVQgZmxhZ2dlZCBjb2RlLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE3NjM1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRHVlIHRvIGRpc2FibGluZyBRVEtJVCBm
b3IgUXQgaW4gcjE1MTU0NiwgdGhlCisgICAgICAgIGNvZGUgdGhlIGZsYWdzIHRoYXQgYXJlIG5v
dCB0YWtlbiBpbnRvIGFjY291bnQKKyAgICAgICAgYW55bW9yZSBhbmQgdGhlIGNvZGUgdGhhdCBo
YXMgYmVlbiByZW5kZXJlZAorICAgICAgICB1bnJlYWNoYWJsZSBieSB0aGlzIGFyZSByZW1vdmVk
LgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50UXQ6OkNocm9tZUNsaWVudFF0KToKKyAgICAgICAgKFdl
YkNvcmU6OkNocm9tZUNsaWVudFF0Ojp+Q2hyb21lQ2xpZW50UXQpOgorICAgICAgICAqIFdlYkNv
cmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0Lmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRnVs
bFNjcmVlblZpZGVvUXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnVsbFNjcmVlblZpZGVvUXQ6
OkZ1bGxTY3JlZW5WaWRlb1F0KToKKyAgICAgICAgKFdlYkNvcmU6OkZ1bGxTY3JlZW5WaWRlb1F0
Ojp+RnVsbFNjcmVlblZpZGVvUXQpOgorICAgICAgICAoV2ViQ29yZTo6RnVsbFNjcmVlblZpZGVv
UXQ6OmVudGVyRnVsbFNjcmVlbkZvck5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6RnVsbFNjcmVl
blZpZGVvUXQ6OmV4aXRGdWxsU2NyZWVuRm9yTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpGdWxs
U2NyZWVuVmlkZW9RdDo6aXNWYWxpZCk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRnVsbFNj
cmVlblZpZGVvUXQuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9Jbml0V2ViQ29yZVF0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OmluaXRpYWxpemVXZWJDb3JlUXQpOgorICAgICAgICAqIFdl
YkNvcmVTdXBwb3J0L1FUS2l0RnVsbFNjcmVlblZpZGVvSGFuZGxlci5oOiBSZW1vdmVkLgorICAg
ICAgICAqIFdlYkNvcmVTdXBwb3J0L1FUS2l0RnVsbFNjcmVlblZpZGVvSGFuZGxlci5tbTogUmVt
b3ZlZC4KKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJTeXN0ZW1JbnRlcmZhY2UuaDogUmVt
b3ZlZC4KKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJTeXN0ZW1JbnRlcmZhY2UubW06IFJl
bW92ZWQuCisKIDIwMTMtMDYtMDUgIEFsbGFuIFNhbmRmZWxkIEplbnNlbiAgPGFsbGFuLmplbnNl
bkBkaWdpYS5jb20+CiAKICAgICAgICAgW1F0XSBIYW5kbGUgUmV0dXJuIGtleSB3aXRob3V0IGtl
eSB0ZXh0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKaW5kZXggN2VlMTZkYmVjY2ZhNmYxZjk2ZTU0ZjEzN2FiMGMzMTUwMTg1
YWZlOC4uMjRmMGNjNmIyZDI0MDQ4ODYzMTI0MWI4MTNjYTJmMWQ2ODc0ZDM4YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI1IEBACisyMDEzLTA2LTE3ICBNaWNoYWVsIEJyw7xuaW5nICA8bWljaGFl
bC5icnVuaW5nQGRpZ2lhLmNvbT4KKworICAgICAgICBbUXRdIFJlbW92ZSBRdCBzcGVjaWZpYyBR
VEtJVCBmbGFnZ2VkIGNvZGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMTc2MzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBEdWUgdG8gZGlzYWJsaW5nIFFUS0lUIGZvciBRdCBpbiByMTUxNTQ2LCB0aGUK
KyAgICAgICAgY29kZSB0aGUgZmxhZ3MgdGhhdCBhcmUgbm90IHRha2VuIGludG8gYWNjb3VudAor
ICAgICAgICBhbnltb3JlIGFuZCB0aGUgY29kZSB0aGF0IGhhcyBiZWVuIHJlbmRlcmVkCisgICAg
ICAgIHVucmVhY2hhYmxlIGJ5IHRoaXMgYXJlIHJlbW92ZWQuCisKKyAgICAgICAgKiBUYXJnZXQu
cHJpOgorICAgICAgICAqIFVJUHJvY2Vzcy9xdC9XZWJDb250ZXh0UXQuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJDb250ZXh0OjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L3F0L1dlYlN5c3RlbUludGVyZmFjZS5oOiBS
ZW1vdmVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvcXQvV2ViU3lzdGVt
SW50ZXJmYWNlLm1tOiBSZW1vdmVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvcXQvV2ViUHJvY2Vzc01haW5RdC5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYlByb2Nlc3NNYWluUXQpOgorCiAyMDEzLTA2LTE3ICBHcnplZ29yeiBDemFqa293
c2tpICA8Zy5jemFqa293c2tpQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJv
bGxpbmcgb3V0IHIxNTE2MzIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJp
IGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCAwN2JhOGJkOTc3YWY3ODNmZDExNWYz
MGNkNjFkYzRlZjI0ZDg0YjZmLi5iZjZlODJlZTljMzQzZjIxODNkZWE5YWEwNmM5MDFjZTZiZjg0
ZTYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1RhcmdldC5wcmkKQEAgLTMzMTAsNTIgKzMzMTAsNyBAQCBlbmFibGU/KFZJREVPKSB7
CiAgICAgICAgIHJlbmRlcmluZy9SZW5kZXJNZWRpYUNvbnRyb2xzLmNwcCBcCiAgICAgICAgIHJl
bmRlcmluZy9SZW5kZXJNZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAKIAotICAgIHVzZT8oUVRLSVQp
IHsKLSAgICAgICAgSU5DTFVERVBBVEggKz0gXAotICAgICAgICAgICAgJCRTT1VSQ0VfRElSLy4u
L1dlYktpdExpYnJhcmllcy8gXAotICAgICAgICAgICAgJCRQV0QvcGxhdGZvcm0vbWFjIFwKLSAg
ICAgICAgICAgICQkUFdEL3BsYXRmb3JtL2NmCi0KLQotICAgICAgICBIRUFERVJTICs9IFwKLSAg
ICAgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5o
IFwKLSAgICAgICAgICAgIHBsYXRmb3JtL21hYy9XZWJDb3JlT2JqQ0V4dHJhcy5oIFwKLSAgICAg
ICAgICAgIHBsYXRmb3JtL3F0L1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2UuaCBcCi0gICAgICAgICAg
ICBwbGF0Zm9ybS9tYWMvQmxvY2tFeGNlcHRpb25zLmggXAotICAgICAgICAgICAgcGxhdGZvcm0v
bWFjL1dlYkNvcmVPYmpDRXh0cmFzLmggXAotICAgICAgICAgICAgcGxhdGZvcm0vbWFjL1dlYlZp
ZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIuaCBcCi0gICAgICAgICAgICBwbGF0Zm9ybS9tYWMvV2Vi
VmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxlci5oIFwKLSAgICAgICAgICAgIHBsYXRm
b3JtL21hYy9XZWJXaW5kb3dBbmltYXRpb24uaCBcCi0gICAgICAgICAgICBwbGF0Zm9ybS9jZi9D
RlVSTEV4dHJhcy5oCi0KLSAgICAgICAgU09VUkNFUyArPSBcCi0gICAgICAgICAgICBwbGF0Zm9y
bS9tYWMvRGlzcGxheVNsZWVwRGlzYWJsZXIuY3BwIFwKLSAgICAgICAgICAgIHBsYXRmb3JtL2dy
YXBoaWNzL2NnL0ludFJlY3RDRy5jcHAgXAotICAgICAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2cvRmxvYXRTaXplQ0cuY3BwIFwKLSAgICAgICAgICAgIHBsYXRmb3JtL2NmL0tVUkxDRk5ldC5j
cHAgXAotICAgICAgICAgICAgcGxhdGZvcm0vY2YvQ0ZVUkxFeHRyYXMuY3BwCi0KLSAgICAgICAg
IE9CSkVDVElWRV9TT1VSQ0VTICs9IFwKLSAgICAgICAgICAgIHBsYXRmb3JtL3F0L1dlYkNvcmVT
eXN0ZW1JbnRlcmZhY2UubW0gXAotICAgICAgICAgICAgcGxhdGZvcm0vbWFjL0Jsb2NrRXhjZXB0
aW9ucy5tbSBcCi0gICAgICAgICAgICBwbGF0Zm9ybS9tYWMvV2ViQ29yZU9iakNFeHRyYXMubW0g
XAotICAgICAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxheWVyUHJpdmF0ZVFU
S2l0Lm1tIFwKLSAgICAgICAgICAgIHBsYXRmb3JtL21hYy9TaGFyZWRCdWZmZXJNYWMubW0gXAot
ICAgICAgICAgICAgcGxhdGZvcm0vbWFjL0tVUkxNYWMubW0gXAotICAgICAgICAgICAgcGxhdGZv
cm0vdGV4dC9tYWMvU3RyaW5nTWFjLm1tIFwKLSAgICAgICAgICAgIHBsYXRmb3JtL3RleHQvbWFj
L1N0cmluZ0ltcGxNYWMubW0gXAotICAgICAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0Zs
b2F0U2l6ZU1hYy5tbSBcCi0gICAgICAgICAgICBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvSW50UmVj
dE1hYy5tbSBcCi0gICAgICAgICAgICBwbGF0Zm9ybS9tYWMvV2ViVmlkZW9GdWxsc2NyZWVuQ29u
dHJvbGxlci5tbSBcCi0gICAgICAgICAgICBwbGF0Zm9ybS9tYWMvV2ViVmlkZW9GdWxsc2NyZWVu
SFVEV2luZG93Q29udHJvbGxlci5tbSBcCi0gICAgICAgICAgICBwbGF0Zm9ybS9tYWMvV2ViV2lu
ZG93QW5pbWF0aW9uLm1tCi0KLSAgICAgICAgREVGSU5FUys9TlNHRU9NRVRSWV9UWVBFU19TQU1F
X0FTX0NHR0VPTUVUUllfVFlQRVMKLSAgICAgICAgaXNFcXVhbChRVF9BUkNILCAiaTM4NiIpIHsK
LSAgICAgICAgICAgIERFRklORVMrPU5TX0JVSUxEXzMyX0xJS0VfNjQKLSAgICAgICAgfQotCi0g
ICAgfSBlbHNlOiB1c2U/KEdTVFJFQU1FUikgeworICAgIHVzZT8oR1NUUkVBTUVSKSB7CiAgICAg
ICAgIEhFQURFUlMgKz0gXAogICAgICAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L0dTdHJlYW1lckdXb3JsZC5oIFwKICAgICAgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmggXApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5p
bgppbmRleCA1YzZiY2M5YzMxYmM4NGUzNTFjYmE5YzhhZjVmZjkxMDdiMzM0OThlLi42YTFhOTRh
OWQ3MWIwNDNhNjUwZTE3ZTBmNTRmZjc0NTJiMjBlNTA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpA
QCAtMjM3MSw3ICsyMzcxLDcgQEAgX19aTjdXZWJDb3JlOFNldHRpbmdzMjBnQVZGb3VuZGF0aW9u
RW5hYmxlZEUKIF9fWk43V2ViQ29yZThTZXR0aW5nczIyc2V0QVZGb3VuZGF0aW9uRW5hYmxlZEVi
CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKE1BQykgfHwgKFBMQVRGT1JNKFFUKSAmJiBVU0UoUVRL
SVQpKQorI2lmIFBMQVRGT1JNKE1BQykKIF9fWk43V2ViQ29yZThTZXR0aW5nczEzZ1FUS2l0RW5h
YmxlZEUKIF9fWk43V2ViQ29yZThTZXR0aW5nczE1c2V0UVRLaXRFbmFibGVkRWIKICNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NldHRpbmdzLmNwcAppbmRleCAzOGEwODkwZmRmMzBlODQ5Y2VhNDY0NGNlOWMy
NGM4MGI5YzM4MmRjLi40ZGNlMWM5ODY0YzIxZDZkOTBiMTFlNThlZGNjNDVjYWZjNDRkN2EzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcApAQCAtNzcsNyArNzcsNyBAQCBib29sIFNldHRpbmdz
OjpnU2hvdWxkUGFpbnROYXRpdmVDb250cm9scyA9IHRydWU7CiBib29sIFNldHRpbmdzOjpnQVZG
b3VuZGF0aW9uRW5hYmxlZCA9IGZhbHNlOwogI2VuZGlmCiAKLSNpZiBQTEFURk9STShNQUMpIHx8
IChQTEFURk9STShRVCkgJiYgVVNFKFFUS0lUKSkKKyNpZiBQTEFURk9STShNQUMpCiBib29sIFNl
dHRpbmdzOjpnUVRLaXRFbmFibGVkID0gdHJ1ZTsKICNlbmRpZgogCkBAIC01MzcsNyArNTM3LDcg
QEAgdm9pZCBTZXR0aW5nczo6c2V0QVZGb3VuZGF0aW9uRW5hYmxlZChib29sIGVuYWJsZWQpCiB9
CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKE1BQykgfHwgKFBMQVRGT1JNKFFUKSAmJiBVU0UoUVRL
SVQpKQorI2lmIFBMQVRGT1JNKE1BQykKIHZvaWQgU2V0dGluZ3M6OnNldFFUS2l0RW5hYmxlZChi
b29sIGVuYWJsZWQpCiB7CiAgICAgaWYgKGdRVEtpdEVuYWJsZWQgPT0gZW5hYmxlZCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvU2V0dGluZ3MuaAppbmRleCBkNjhhNjQyODBkZjI2YjhlNDY5MjY0ZjIwMzlkMTgwNmVjMmRm
M2M2Li41MWZhODU2YWJjMzRjNmVhZTJhYTJhMjY5ZGJjMDVlNjE4MDM4NGU1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9TZXR0aW5ncy5oCkBAIC0yMTQsNyArMjE0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
ICAgICBzdGF0aWMgYm9vbCBpc0FWRm91bmRhdGlvbkVuYWJsZWQoKSB7IHJldHVybiBnQVZGb3Vu
ZGF0aW9uRW5hYmxlZDsgfQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShNQUMpIHx8IChQTEFURk9S
TShRVCkgJiYgVVNFKFFUS0lUKSkKKyNpZiBQTEFURk9STShNQUMpCiAgICAgICAgIHN0YXRpYyB2
b2lkIHNldFFUS2l0RW5hYmxlZChib29sIGZsYWcpOwogICAgICAgICBzdGF0aWMgYm9vbCBpc1FU
S2l0RW5hYmxlZCgpIHsgcmV0dXJuIGdRVEtpdEVuYWJsZWQ7IH0KICNlbmRpZgpAQCAtMzIzLDcg
KzMyMyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgc3RhdGljIGJvb2wgZ0FWRm91
bmRhdGlvbkVuYWJsZWQ7CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKE1BQykgfHwgKFBMQVRGT1JN
KFFUKSAmJiBVU0UoUVRLSVQpKQorI2lmIFBMQVRGT1JNKE1BQykKICAgICAgICAgc3RhdGljIGJv
b2wgZ1FUS2l0RW5hYmxlZDsKICNlbmRpZgogICAgICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0tVUkwuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tVUkwuaApp
bmRleCAwZjk3ZmY4ODBiMWViNDA4NWI4MjQzN2RiNDNlNDA1MWUyOGU4OTZhLi4wN2E0OTMxZjg4
NDY4YmE4ZDA5NDUwOTUyMjM2NjJmZjViNDUxYzFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9LVVJMLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vS1VSTC5oCkBA
IC0zNSw3ICszNSw3IEBACiB0eXBlZGVmIGNvbnN0IHN0cnVjdCBfX0NGVVJMKiBDRlVSTFJlZjsK
ICNlbmRpZgogCi0jaWYgUExBVEZPUk0oTUFDKSB8fCAoUExBVEZPUk0oUVQpICYmIFVTRShRVEtJ
VCkpCisjaWYgUExBVEZPUk0oTUFDKQogT0JKQ19DTEFTUyBOU1VSTDsKICNlbmRpZgogCkBAIC0x
NzEsNyArMTcxLDcgQEAgcHVibGljOgogICAgIFJldGFpblB0cjxDRlVSTFJlZj4gY3JlYXRlQ0ZV
UkwoKSBjb25zdDsKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oTUFDKSB8fCAoUExBVEZPUk0oUVQp
ICYmIFVTRShRVEtJVCkpCisjaWYgUExBVEZPUk0oTUFDKQogICAgIEtVUkwoTlNVUkwqKTsKICAg
ICBvcGVyYXRvciBOU1VSTCooKSBjb25zdDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU2hhcmVkQnVmZmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
aGFyZWRCdWZmZXIuaAppbmRleCA3YjAzNTY2NGQ3MGUxZTAyOTNkNTc4NmZmMWI1NzEwMTRlMzM5
NWFmLi40YzMxMmY5MmMxMzI2NGQ3MmNiYzE0YTcxN2JjYzE1OTIyNDM0M2Q0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TaGFyZWRCdWZmZXIuaApAQCAtMzcsNyArMzcsNyBAQAogI2luY2x1ZGUg
PHd0Zi9SZXRhaW5QdHIuaD4KICNlbmRpZgogCi0jaWYgUExBVEZPUk0oTUFDKSB8fCAoUExBVEZP
Uk0oUVQpICYmIFVTRShRVEtJVCkpCisjaWYgUExBVEZPUk0oTUFDKQogT0JKQ19DTEFTUyBOU0Rh
dGE7CiAjZW5kaWYKIApAQCAtNjIsNyArNjIsNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgflNoYXJl
ZEJ1ZmZlcigpOwogICAgIAotI2lmIFBMQVRGT1JNKE1BQykgfHwgKFBMQVRGT1JNKFFUKSAmJiBV
U0UoUVRLSVQpKQorI2lmIFBMQVRGT1JNKE1BQykKICAgICBOU0RhdGEgKmNyZWF0ZU5TRGF0YSgp
OwogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gd3JhcE5TRGF0YShOU0RhdGEg
KmRhdGEpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jZi9L
VVJMQ0ZOZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2YvS1VSTENGTmV0LmNwcApp
bmRleCAzZGEwMzkwNzI0ZTA1N2FlMjcwNjMzMWZjOTY5ZGE4OGE2ZmU0Y2Y1Li44MWI3Y2ZlOWM4
YWI5MTY3NmUxOGUyODAyMDQyZjEwYTU0NjU1ODdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9jZi9LVVJMQ0ZOZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2NmL0tVUkxDRk5ldC5jcHAKQEAgLTQ3LDcgKzQ3LDcgQEAgS1VSTDo6S1VSTChDRlVSTFJlZiB1
cmwpCiAgICAgcGFyc2UodXJsQnl0ZXMuZGF0YSgpKTsKIH0KIAotI2lmICFQTEFURk9STShNQUMp
ICYmICEoUExBVEZPUk0oUVQpICYmIFVTRShRVEtJVCkpCisjaWYgIVBMQVRGT1JNKE1BQykKIFJl
dGFpblB0cjxDRlVSTFJlZj4gS1VSTDo6Y3JlYXRlQ0ZVUkwoKSBjb25zdAogewogICAgIC8vIEZJ
WE1FOiBXaGF0IHNob3VsZCB0aGlzIHJldHVybiBmb3IgaW52YWxpZCBVUkxzPwpAQCAtNTksNyAr
NTksNiBAQCBSZXRhaW5QdHI8Q0ZVUkxSZWY+IEtVUkw6OmNyZWF0ZUNGVVJMKCkgY29uc3QKIH0K
ICNlbmRpZgogCi0jaWYgIShQTEFURk9STShRVCkgJiYgVVNFKFFUS0lUKSkKIFN0cmluZyBLVVJM
OjpmaWxlU3lzdGVtUGF0aCgpIGNvbnN0CiB7CiAgICAgUmV0YWluUHRyPENGVVJMUmVmPiBjZlVS
TCA9IGNyZWF0ZUNGVVJMKCk7CkBAIC03Myw2ICs3Miw1IEBAIFN0cmluZyBLVVJMOjpmaWxlU3lz
dGVtUGF0aCgpIGNvbnN0CiAjZW5kaWYKICAgICByZXR1cm4gYWRvcHRDRihDRlVSTENvcHlGaWxl
U3lzdGVtUGF0aChjZlVSTC5nZXQoKSwgcGF0aFN0eWxlKSkuZ2V0KCk7CiB9Ci0jZW5kaWYKIAog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2YvU2hhcmVkQnVmZmVyQ0Yu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2YvU2hhcmVkQnVmZmVyQ0YuY3BwCmluZGV4
IDZlMTJlZWI3OGFiYTVmNmM0MDdhOTNkMTM0NTY0YjUxOWIxYzhkMTkuLjE4OGE4Mzc4ZmUyNzEy
MzA2NTE2OWMxZDQ1OWY2N2I5NmRlMDZkMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2NmL1NoYXJlZEJ1ZmZlckNGLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9jZi9TaGFyZWRCdWZmZXJDRi5jcHAKQEAgLTQwLDcgKzQwLDcgQEAgU2hhcmVkQnVmZmVyOjpT
aGFyZWRCdWZmZXIoQ0ZEYXRhUmVmIGNmRGF0YSkKIAogLy8gTWFjIGlzIGEgQ0YgcGxhdGZvcm0g
YnV0IGhhcyBhbiBldmVuIG1vcmUgZWZmaWNpZW50IHZlcnNpb24gb2YgdGhpcyBtZXRob2QsCiAv
LyBzbyBvbmx5IHVzZSB0aGlzIHZlcnNpb24gZm9yIG5vbi1NYWMKLSNpZiAhUExBVEZPUk0oTUFD
KSAmJiAhKFBMQVRGT1JNKFFUKSAmJiBVU0UoUVRLSVQpKQorI2lmICFQTEFURk9STShNQUMpCiBD
RkRhdGFSZWYgU2hhcmVkQnVmZmVyOjpjcmVhdGVDRkRhdGEoKQogewogICAgIGlmIChtX2NmRGF0
YSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRT
aXplLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUuaAppbmRl
eCBkMGNmMWQzZGQyOGI1Y2RjMzU1NmRkNTRlN2M0OGQ3MmVlMjRmYzAzLi43N2VlM2UyZjVhMTI3
MWNmYmMyMDY2NzQ5NWIzMDM2ZWYxZTc0MjIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9GbG9hdFNpemUuaApAQCAtNDksNyArNDksNyBAQCBjbGFzcyBGbG9hdFNpemU7
CiB0eXBlZGVmIHN0cnVjdCBDR1NpemUgQ0dTaXplOwogI2VuZGlmCiAKLSNpZiBQTEFURk9STShN
QUMpIHx8IChQTEFURk9STShRVCkgJiYgVVNFKFFUS0lUKSkKKyNpZiBQTEFURk9STShNQUMpCiAj
aWZkZWYgTlNHRU9NRVRSWV9UWVBFU19TQU1FX0FTX0NHR0VPTUVUUllfVFlQRVMKIHR5cGVkZWYg
c3RydWN0IENHU2l6ZSBOU1NpemU7CiAjZWxzZQpAQCAtMTM1LDcgKzEzNSw3IEBAIHB1YmxpYzoK
ICAgICBvcGVyYXRvciBDR1NpemUoKSBjb25zdDsKICNlbmRpZgogCi0jaWYgKFBMQVRGT1JNKE1B
QykgJiYgIWRlZmluZWQoTlNHRU9NRVRSWV9UWVBFU19TQU1FX0FTX0NHR0VPTUVUUllfVFlQRVMp
KSB8fCAoUExBVEZPUk0oUVQpICYmIFVTRShRVEtJVCkpCisjaWYgKFBMQVRGT1JNKE1BQykgJiYg
IWRlZmluZWQoTlNHRU9NRVRSWV9UWVBFU19TQU1FX0FTX0NHR0VPTUVUUllfVFlQRVMpKQogICAg
IGV4cGxpY2l0IEZsb2F0U2l6ZShjb25zdCBOU1NpemUgJik7IC8vIGRvbid0IGRvIHRoaXMgaW1w
bGljaXRseSBzaW5jZSBpdCdzIGxvc3N5CiAgICAgb3BlcmF0b3IgTlNTaXplKCkgY29uc3Q7CiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFJl
Y3QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuaAppbmRleCBj
MDFjYWI5MTU4YWE5N2NiNGIxYjRmNGMxNGQzNzI0NDc5NzMxM2Y0Li4wZTMzYmJmOTU0NGRmZjFm
ZmM0NGJjOWRlMDRlNzY2M2FmODU4YzgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvSW50UmVjdC5oCkBAIC0zMyw3ICszMyw3IEBACiB0eXBlZGVmIHN0cnVjdCBDR1JlY3Qg
Q0dSZWN0OwogI2VuZGlmCiAKLSNpZiBQTEFURk9STShNQUMpIHx8IChQTEFURk9STShRVCkgJiYg
VVNFKFFUS0lUKSkKKyNpZiBQTEFURk9STShNQUMpCiAjaWZkZWYgTlNHRU9NRVRSWV9UWVBFU19T
QU1FX0FTX0NHR0VPTUVUUllfVFlQRVMKIHR5cGVkZWYgc3RydWN0IENHUmVjdCBOU1JlY3Q7CiAj
ZWxzZQpAQCAtMTk5LDcgKzE5OSw3IEBAIHB1YmxpYzoKICAgICBvcGVyYXRvciBDR1JlY3QoKSBj
b25zdDsKICNlbmRpZgogCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQoTlNHRU9NRVRS
WV9UWVBFU19TQU1FX0FTX0NHR0VPTUVUUllfVFlQRVMpKSB8fCAoUExBVEZPUk0oUVQpICYmIFVT
RShRVEtJVCkpCisjaWYgKFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQoTlNHRU9NRVRSWV9UWVBF
U19TQU1FX0FTX0NHR0VPTUVUUllfVFlQRVMpKQogICAgIG9wZXJhdG9yIE5TUmVjdCgpIGNvbnN0
OwogI2VuZGlmCiAKQEAgLTI0Myw3ICsyNDMsNyBAQCBpbmxpbmUgYm9vbCBvcGVyYXRvciE9KGNv
bnN0IEludFJlY3QmIGEsIGNvbnN0IEludFJlY3QmIGIpCiBJbnRSZWN0IGVuY2xvc2luZ0ludFJl
Y3QoY29uc3QgQ0dSZWN0Jik7CiAjZW5kaWYKIAotI2lmIChQTEFURk9STShNQUMpICYmICFkZWZp
bmVkKE5TR0VPTUVUUllfVFlQRVNfU0FNRV9BU19DR0dFT01FVFJZX1RZUEVTKSkgfHwgKFBMQVRG
T1JNKFFUKSAmJiBVU0UoUVRLSVQpKQorI2lmIChQTEFURk9STShNQUMpICYmICFkZWZpbmVkKE5T
R0VPTUVUUllfVFlQRVNfU0FNRV9BU19DR0dFT01FVFJZX1RZUEVTKSkKIEludFJlY3QgZW5jbG9z
aW5nSW50UmVjdChjb25zdCBOU1JlY3QmKTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRTaXplLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9JbnRTaXplLmgKaW5kZXggOWMyNmMyNDkzNjA5OTk2MjA3NGRiYjQxNjFj
NzQyNDZmMTdlYTI1ZS4uYjg0MzUwN2FjYTI1N2I1ZTI1OTJjYTY1ZjgzOGMxZWFhM2I5MDYyNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50U2l6ZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFNpemUuaApAQCAtMzAsNyAr
MzAsNyBAQAogdHlwZWRlZiBzdHJ1Y3QgQ0dTaXplIENHU2l6ZTsKICNlbmRpZgogCi0jaWYgUExB
VEZPUk0oTUFDKSB8fCAoUExBVEZPUk0oUVQpICYmIFVTRShRVEtJVCkpCisjaWYgUExBVEZPUk0o
TUFDKQogI2lmZGVmIE5TR0VPTUVUUllfVFlQRVNfU0FNRV9BU19DR0dFT01FVFJZX1RZUEVTCiB0
eXBlZGVmIHN0cnVjdCBDR1NpemUgTlNTaXplOwogI2Vsc2UKQEAgLTEzMyw3ICsxMzMsNyBAQCBw
dWJsaWM6CiAgICAgb3BlcmF0b3IgQ0dTaXplKCkgY29uc3Q7CiAjZW5kaWYKIAotI2lmIChQTEFU
Rk9STShNQUMpIHx8IChQTEFURk9STShRVCkgJiYgVVNFKFFUS0lUKSkpICYmICFkZWZpbmVkKE5T
R0VPTUVUUllfVFlQRVNfU0FNRV9BU19DR0dFT01FVFJZX1RZUEVTKQorI2lmIFBMQVRGT1JNKE1B
QykgJiYgIWRlZmluZWQoTlNHRU9NRVRSWV9UWVBFU19TQU1FX0FTX0NHR0VPTUVUUllfVFlQRVMp
CiAgICAgZXhwbGljaXQgSW50U2l6ZShjb25zdCBOU1NpemUgJik7IC8vIGRvbid0IGRvIHRoaXMg
aW1wbGljaXRseSBzaW5jZSBpdCdzIGxvc3N5CiAgICAgb3BlcmF0b3IgTlNTaXplKCkgY29uc3Q7
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01l
ZGlhUGxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxh
eWVyLmNwcAppbmRleCAwMTc0NjVmYWJjOWQ3MGEwODJjODNiMWIwZWY0NTJkOTc3MGUyNDY0Li4z
YjBkNjNmN2UwZGViZDAxMzBiZWM5ZDA5ZDcxMzg0ZjQ2MDNmZTUzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCkBAIC01Nyw3ICs1Nyw3
IEBACiAjZGVmaW5lIFBsYXRmb3JtTWVkaWFFbmdpbmVDbGFzc05hbWUgTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKE1BQykgfHwgKFBMQVRGT1JNKFFU
KSAmJiBVU0UoUVRLSVQpKQorI2lmIFBMQVRGT1JNKE1BQykKICNpbmNsdWRlICJNZWRpYVBsYXll
clByaXZhdGVRVEtpdC5oIgogI2lmIFVTRShBVkZPVU5EQVRJT04pCiAjaW5jbHVkZSAiTWVkaWFQ
bGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5oIgpAQCAtMjIzLDcgKzIyMyw3IEBAIHN0YXRp
YyBWZWN0b3I8TWVkaWFQbGF5ZXJGYWN0b3J5Kj4mIGluc3RhbGxlZE1lZGlhRW5naW5lcyhSZXF1
ZXJ5RW5naW5lT3B0aW9ucyByCiAgICAgICAgIH0KICNlbmRpZgogCi0jaWYgUExBVEZPUk0oTUFD
KSB8fCAoUExBVEZPUk0oUVQpICYmIFVTRShRVEtJVCkpCisjaWYgUExBVEZPUk0oTUFDKQogICAg
ICAgICBpZiAoU2V0dGluZ3M6OmlzUVRLaXRFbmFibGVkKCkpCiAgICAgICAgICAgICBNZWRpYVBs
YXllclByaXZhdGVRVEtpdDo6cmVnaXN0ZXJNZWRpYUVuZ2luZShhZGRNZWRpYUVuZ2luZSk7CiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0Zs
b2F0U2l6ZUNHLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0Zsb2F0
U2l6ZUNHLmNwcAppbmRleCAwZjViYzczODNiZGVlOGZmYzcyNzc0MmY2MWQ5ZWVlYThkMWYxM2U3
Li4xNGUxNGZjMmEzOTlkZDE3ZGIxMjUyMDI2MTQxNDkyOWQzNmE5ZjYwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9GbG9hdFNpemVDRy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvRmxvYXRTaXplQ0cuY3BwCkBAIC0y
Nyw3ICsyNyw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRmxvYXRTaXplLmgi
CiAKLSNpZiBVU0UoQ0cpIHx8IChQTEFURk9STShRVCkgJiYgVVNFKFFUS0lUKSkKKyNpZiBVU0Uo
Q0cpCiAKICNpbmNsdWRlIDxBcHBsaWNhdGlvblNlcnZpY2VzL0FwcGxpY2F0aW9uU2VydmljZXMu
aD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW50
UmVjdENHLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ludFJlY3RD
Ry5jcHAKaW5kZXggZjFjY2RlNDZmZTE1ODM4NjIzYWFjYmM5YzUxMDMzNjk4Y2NiYjEwMC4uOGQx
MDIwN2JmOWY4NzVhYTJkN2Y2ZTcwYWIzYjdjZWI2M2Q5OTVkNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW50UmVjdENHLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbnRSZWN0Q0cuY3BwCkBAIC0yNiw3ICsyNiw3
IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogCi0jaWYgVVNF
KENHKSB8fCAoUExBVEZPUk0oUVQpICYmIFVTRShRVEtJVCkpCisjaWYgVVNFKENHKQogCiAjaW5j
bHVkZSA8QXBwbGljYXRpb25TZXJ2aWNlcy9BcHBsaWNhdGlvblNlcnZpY2VzLmg+CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclBy
aXZhdGVRVEtpdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlh
UGxheWVyUHJpdmF0ZVFUS2l0LmgKaW5kZXggOGIxMWY4MzI4MDA0MjIyZTA0ZGVlYTUzZjlmZmM5
MzZkOWU1YWE1Zi4uZjIyNmNkYTg3NmUyM2Y3MWVkZjUyZjJkNzA3YjU2NWI1ZGM0ZTU0MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxheWVy
UHJpdmF0ZVFUS2l0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFj
L01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0LmgKQEAgLTg2LDcgKzg2LDcgQEAgcHJpdmF0ZToKICAg
ICBzdGF0aWMgYm9vbCBpc0F2YWlsYWJsZSgpOwogCiAgICAgUGxhdGZvcm1NZWRpYSBwbGF0Zm9y
bU1lZGlhKCkgY29uc3Q7Ci0jaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKSAmJiAhKFBM
QVRGT1JNKFFUKSAmJiBVU0UoUVRLSVQpKQorI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElO
RykKICAgICBQbGF0Zm9ybUxheWVyKiBwbGF0Zm9ybUxheWVyKCkgY29uc3Q7CiAjZW5kaWYKIApA
QCAtMTM5LDcgKzEzOSw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHByZXBhcmVGb3JS
ZW5kZXJpbmcoKTsKIAogCi0jaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKSAmJiAhKFBM
QVRGT1JNKFFUKSAmJiBVU0UoUVRLSVQpKQorI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElO
RykKICAgICBib29sIHN1cHBvcnRzQWNjZWxlcmF0ZWRSZW5kZXJpbmcoKSBjb25zdDsKICAgICB2
b2lkIGFjY2VsZXJhdGVkUmVuZGVyaW5nU3RhdGVDaGFuZ2VkKCk7CiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZh
dGVRVEtpdC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBs
YXllclByaXZhdGVRVEtpdC5tbQppbmRleCBlOTY1OTY1MGYxMDQ1OWVkYWZlOTgyMGExMGQ5OGFm
MTY1NzU3MDQ4Li5hYjA3M2E5NTQ1ODc3ZmZmNWVjZGNlYmViNDNkNmRlMTc0Mzc5N2NjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQ
cml2YXRlUVRLaXQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFj
L01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Lm1tCkBAIC01MTksNyArNTE5LDcgQEAgdm9pZCBNZWRp
YVBsYXllclByaXZhdGVRVEtpdDo6ZGVzdHJveVFUVmlkZW9SZW5kZXJlcigpCiB2b2lkIE1lZGlh
UGxheWVyUHJpdmF0ZVFUS2l0OjpjcmVhdGVRVE1vdmllTGF5ZXIoKQogewogICAgIExPRyhNZWRp
YSwgIk1lZGlhUGxheWVyUHJpdmF0ZVFUS2l0OjpjcmVhdGVRVE1vdmllTGF5ZXIoJXApIiwgdGhp
cyk7Ci0jaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKSAmJiAhKFBMQVRGT1JNKFFUKSAm
JiBVU0UoUVRLSVQpKQorI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICBpZiAo
IW1fcXRNb3ZpZSkKICAgICAgICAgcmV0dXJuOwogCkBAIC01NzEsNyArNTcxLDcgQEAgTWVkaWFQ
bGF5ZXJQcml2YXRlUVRLaXQ6Ok1lZGlhUmVuZGVyaW5nTW9kZSBNZWRpYVBsYXllclByaXZhdGVR
VEtpdDo6cHJlZmVycmVkUmUKICAgICBpZiAoIW1fcGxheWVyLT5mcmFtZVZpZXcoKSB8fCAhbV9x
dE1vdmllKQogICAgICAgICByZXR1cm4gTWVkaWFSZW5kZXJpbmdOb25lOwogCi0jaWYgVVNFKEFD
Q0VMRVJBVEVEX0NPTVBPU0lUSU5HKSAmJiAhKFBMQVRGT1JNKFFUKSAmJiBVU0UoUVRLSVQpKQor
I2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICBpZiAoc3VwcG9ydHNBY2NlbGVy
YXRlZFJlbmRlcmluZygpICYmIG1fcGxheWVyLT5tZWRpYVBsYXllckNsaWVudCgpLT5tZWRpYVBs
YXllclJlbmRlcmluZ0NhbkJlQWNjZWxlcmF0ZWQobV9wbGF5ZXIpKQogICAgICAgICByZXR1cm4g
TWVkaWFSZW5kZXJpbmdNb3ZpZUxheWVyOwogI2VuZGlmCkBAIC02OTMsNyArNjkzLDcgQEAgUGxh
dGZvcm1NZWRpYSBNZWRpYVBsYXllclByaXZhdGVRVEtpdDo6cGxhdGZvcm1NZWRpYSgpIGNvbnN0
CiAgICAgcmV0dXJuIHBtOwogfQogCi0jaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKSAm
JiAhKFBMQVRGT1JNKFFUKSAmJiBVU0UoUVRLSVQpKQorI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01Q
T1NJVElORykKIFBsYXRmb3JtTGF5ZXIqIE1lZGlhUGxheWVyUHJpdmF0ZVFUS2l0OjpwbGF0Zm9y
bUxheWVyKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9xdFZpZGVvTGF5ZXIuZ2V0KCk7CkBAIC0x
MjI3LDcgKzEyMjcsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVFUS2l0OjpkaWRFbmQoKQog
ICAgIG1fcGxheWVyLT50aW1lQ2hhbmdlZCgpOwogfQogCi0jaWYgVVNFKEFDQ0VMRVJBVEVEX0NP
TVBPU0lUSU5HKSAmJiAhKFBMQVRGT1JNKFFUKSAmJiBVU0UoUVRLSVQpKQorI2lmIFVTRShBQ0NF
TEVSQVRFRF9DT01QT1NJVElORykKICNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVE
ID09IDEwNjAKIHN0YXRpYyBib29sIGxheWVySXNEZXNjZW5kZW50T2YoUGxhdGZvcm1MYXllciog
Y2hpbGQsIFBsYXRmb3JtTGF5ZXIqIGRlc2NlbmRlbnQpCiB7CkBAIC0xMzMxLDE4ICsxMzMxLDYg
QEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVRVEtpdDo6cGFpbnRDdXJyZW50RnJhbWVJbkNvbnRl
eHQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXgKICAgICBwYWludChjb250ZXh0LCByKTsKIH0KIAot
I2lmIFBMQVRGT1JNKFFUKSAmJiBVU0UoUVRLSVQpCi1zdGF0aWMgaW5saW5lIHZvaWQgc3dhcEJn
clRvUmdiKHVpbnQzMl90KiBwaXhlbCwgdWludDMyX3Qgd2lkdGgsIHVpbnQzMl90IGhlaWdodCkK
LXsKLSAgICB1aW50MzJfdCogZW5kID0gcGl4ZWwgKyAod2lkdGggKiBoZWlnaHQpOwotCi0gICAg
d2hpbGUgKHBpeGVsIDwgZW5kKSB7Ci0gICAgICAgICpwaXhlbCA9ICgoKnBpeGVsIDw8IDE2KSAm
IDB4ZmYwMDAwKSB8ICgoKnBpeGVsID4+IDE2KSAmIDB4ZmYpIHwgKCpwaXhlbCAmIDB4ZmYwMGZm
MDApOwotICAgICAgICArK3BpeGVsOwotICAgIH0KLX0KLSNlbmRpZgotCiB2b2lkIE1lZGlhUGxh
eWVyUHJpdmF0ZVFUS2l0OjpwYWludChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IElu
dFJlY3QmIHIpCiB7CiAgICAgaWYgKGNvbnRleHQtPnBhaW50aW5nRGlzYWJsZWQoKSB8fCBtX2hh
c1Vuc3VwcG9ydGVkVHJhY2tzKQpAQCAtMTM1OCwyNiArMTM0NiwxMyBAQCB2b2lkIE1lZGlhUGxh
eWVyUHJpdmF0ZVFUS2l0OjpwYWludChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IElu
dFJlY3QmIHIpCiAgICAgRmxvYXRTaXplIHNjYWxlRmFjdG9yKDEuMGYsIC0xLjBmKTsKICAgICBJ
bnRSZWN0IHBhaW50UmVjdChJbnRQb2ludCgwLCAwKSwgSW50U2l6ZShyLndpZHRoKCksIHIuaGVp
Z2h0KCkpKTsKIAotI2lmIFBMQVRGT1JNKFFUKSAmJiBVU0UoUVRLSVQpCi0gICAgTlNCaXRtYXBJ
bWFnZVJlcCAqaW1hZ2VSZXAgPSBbW05TQml0bWFwSW1hZ2VSZXAgYWxsb2NdIGluaXRXaXRoQml0
bWFwRGF0YVBsYW5lczogTlVMTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcGl4ZWxzV2lkZTogcGFpbnRSZWN0LndpZHRoKCkKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHBpeGVsc0hpZ2g6IHBhaW50UmVjdC5oZWlnaHQoKQotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYml0c1BlclNhbXBsZTogOAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c2FtcGxlc1BlclBpeGVsOiA0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBoYXNBbHBoYTogWUVTCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc1BsYW5hcjogTk8KLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbG9yU3BhY2VOYW1lOiBOU0NhbGlicmF0ZWRSR0JDb2xvclNwYWNlCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieXRlc1BlclJv
dzogNCAqIHBhaW50UmVjdC53aWR0aCgpIC8vIDMyIGJpdCBwZXIgcGl4ZWwuCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiaXRzUGVy
UGl4ZWw6IDMyXTsKLSAgICBuZXdDb250ZXh0ID0gW05TR3JhcGhpY3NDb250ZXh0IGdyYXBoaWNz
Q29udGV4dFdpdGhCaXRtYXBJbWFnZVJlcDogaW1hZ2VSZXBdOwotI2Vsc2UKICAgICBHcmFwaGlj
c0NvbnRleHRTdGF0ZVNhdmVyIHN0YXRlU2F2ZXIoKmNvbnRleHQpOwogICAgIGNvbnRleHQtPnRy
YW5zbGF0ZShyLngoKSwgci55KCkgKyByLmhlaWdodCgpKTsKICAgICBjb250ZXh0LT5zY2FsZShz
Y2FsZUZhY3Rvcik7CiAgICAgY29udGV4dC0+c2V0SW1hZ2VJbnRlcnBvbGF0aW9uUXVhbGl0eShJ
bnRlcnBvbGF0aW9uTG93KTsKIAogICAgIG5ld0NvbnRleHQgPSBbTlNHcmFwaGljc0NvbnRleHQg
Z3JhcGhpY3NDb250ZXh0V2l0aEdyYXBoaWNzUG9ydDpjb250ZXh0LT5wbGF0Zm9ybUNvbnRleHQo
KSBmbGlwcGVkOk5PXTsKLSNlbmRpZgorCiAgICAgLy8gZHJhdyB0aGUgY3VycmVudCB2aWRlbyBm
cmFtZQogICAgIGlmIChxdFZpZGVvUmVuZGVyZXIpIHsKICAgICAgICAgW05TR3JhcGhpY3NDb250
ZXh0IHNhdmVHcmFwaGljc1N0YXRlXTsKQEAgLTE0MzEsMTQgKzE0MDYsNiBAQCB2b2lkIE1lZGlh
UGxheWVyUHJpdmF0ZVFUS2l0OjpwYWludChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0
IEludFJlY3QmIHIpCiAgICAgICAgIH0KICAgICB9CiAjZW5kaWYKLSNpZiBQTEFURk9STShRVCkg
JiYgVVNFKFFUS0lUKQotICAgIHVuc2lnbmVkIGNoYXIqIGJpdG1hcCA9IFtpbWFnZVJlcCBiaXRt
YXBEYXRhXTsKLSAgICBzd2FwQmdyVG9SZ2IocmVpbnRlcnByZXRfY2FzdDx1aW50MzJfdCo+KGJp
dG1hcCksIHBhaW50UmVjdC53aWR0aCgpLCBwYWludFJlY3QuaGVpZ2h0KCkpOwotICAgIFFJbWFn
ZSB2aWRlb0ZyYW1lKGJpdG1hcCwgcGFpbnRSZWN0LndpZHRoKCksIHBhaW50UmVjdC5oZWlnaHQo
KSwgUUltYWdlOjpGb3JtYXRfQVJHQjMyKTsKLSAgICBRUGFpbnRlciogcGFpbnRlciA9IGNvbnRl
eHQtPnBsYXRmb3JtQ29udGV4dCgpOwotICAgIHBhaW50ZXItPmRyYXdJbWFnZShRUmVjdChyKSwg
dmlkZW9GcmFtZSk7Ci0gICAgW2ltYWdlUmVwIHJlbGVhc2VdOwotI2VuZGlmCiAgICAgRU5EX0JM
T0NLX09CSkNfRVhDRVBUSU9OUzsKICAgICBbbV9vYmpjT2JzZXJ2ZXIuZ2V0KCkgc2V0RGVsYXlD
YWxsYmFja3M6Tk9dOwogfQpAQCAtMTY3NCw3ICsxNjQxLDcgQEAgdm9pZCBNZWRpYVBsYXllclBy
aXZhdGVRVEtpdDo6c2F3VW5zdXBwb3J0ZWRUcmFja3MoKQogICAgIG1fcGxheWVyLT5tZWRpYVBs
YXllckNsaWVudCgpLT5tZWRpYVBsYXllclNhd1Vuc3VwcG9ydGVkVHJhY2tzKG1fcGxheWVyKTsK
IH0KIAotI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykgJiYgIShQTEFURk9STShRVCkg
JiYgVVNFKFFUS0lUKSkKKyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiBib29sIE1l
ZGlhUGxheWVyUHJpdmF0ZVFUS2l0OjpzdXBwb3J0c0FjY2VsZXJhdGVkUmVuZGVyaW5nKCkgY29u
c3QKIHsKICAgICByZXR1cm4gaXNSZWFkeUZvclZpZGVvU2V0dXAoKSAmJiBnZXRRVE1vdmllTGF5
ZXJDbGFzcygpICE9IE5pbDsKQEAgLTE4MzcsNyArMTgwNCw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQ
cml2YXRlUVRLaXQ6OnNldFByaXZhdGVCcm93c2luZ01vZGUoYm9vbCBwcml2YXRlQnJvd3Npbmcp
CiAKIC0gKHZvaWQpbGF5ZXJIb3N0Q2hhbmdlZDooTlNOb3RpZmljYXRpb24gKilub3RpZmljYXRp
b24KIHsKLSNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpICYmICEoUExBVEZPUk0oUVQp
ICYmIFVTRShRVEtJVCkpCisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIENB
TGF5ZXIqIHJvb3RMYXllciA9IHN0YXRpY19jYXN0PENBTGF5ZXIqPihbbm90aWZpY2F0aW9uIG9i
amVjdF0pOwogICAgIG1fY2FsbGJhY2stPmxheWVySG9zdENoYW5nZWQocm9vdExheWVyKTsKICNl
bHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2hhcmVkQnVmZmVy
TWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1NoYXJlZEJ1ZmZlck1hYy5tbQpp
bmRleCA5NDE0NzViYjVkNWZhODQ5NDFiNWJjOTZiM2Y0NzY2ZjZlYzYxOWY0Li43MTVjYWFlNDQz
M2ZmNDM5M2YyNWE4OTQyNThlNjZmZDI4NmY5YzFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tYWMvU2hhcmVkQnVmZmVyTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21hYy9TaGFyZWRCdWZmZXJNYWMubW0KQEAgLTQ5LDExICs0OSw3IEBAIHVzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOwogewogI2lmICFVU0UoV0VCX1RIUkVBRCkKICAgICBKU0M6OmluaXRp
YWxpemVUaHJlYWRpbmcoKTsKLSNpZiBQTEFURk9STShRVCkgJiYgVVNFKFFUS0lUKQotICAgIFdU
Rjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKLSNlbHNlCiAgICAgV1RGOjppbml0aWFsaXplTWFp
blRocmVhZFRvUHJvY2Vzc01haW5UaHJlYWQoKTsKLSNlbmRpZgogI2VuZGlmIC8vICFVU0UoV0VC
X1RIUkVBRCkKICAgICBXZWJDb3JlT2JqQ0ZpbmFsaXplT25NYWluVGhyZWFkKHNlbGYpOwogfQpA
QCAtMTE1LDcgKzExMSw2IEBAIENGRGF0YVJlZiBTaGFyZWRCdWZmZXI6OmNyZWF0ZUNGRGF0YSgp
CiAgICAgcmV0dXJuIChDRkRhdGFSZWYpYWRvcHROUyhbW1dlYkNvcmVTaGFyZWRCdWZmZXJEYXRh
IGFsbG9jXSBpbml0V2l0aFNoYXJlZEJ1ZmZlcjp0aGlzXSkubGVha1JlZigpOwogfQogCi0jaWYg
IShQTEFURk9STShRVCkgJiYgVVNFKFFUS0lUKSkKIFBhc3NSZWZQdHI8U2hhcmVkQnVmZmVyPiBT
aGFyZWRCdWZmZXI6OmNyZWF0ZVdpdGhDb250ZW50c09mRmlsZShjb25zdCBTdHJpbmcmIGZpbGVQ
YXRoKQogewogICAgIE5TRGF0YSAqcmVzb3VyY2VEYXRhID0gW05TRGF0YSBkYXRhV2l0aENvbnRl
bnRzT2ZGaWxlOmZpbGVQYXRoXTsKQEAgLTEyMyw2ICsxMTgsNSBAQCBQYXNzUmVmUHRyPFNoYXJl
ZEJ1ZmZlcj4gU2hhcmVkQnVmZmVyOjpjcmVhdGVXaXRoQ29udGVudHNPZkZpbGUoY29uc3QgU3Ry
aW5nJiBmaQogICAgICAgICByZXR1cm4gU2hhcmVkQnVmZmVyOjp3cmFwTlNEYXRhKHJlc291cmNl
RGF0YSk7CiAgICAgcmV0dXJuIDA7CiB9Ci0jZW5kaWYKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJLaXQxLnBybyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0MS5wcm8KaW5kZXggN2Zi
Zjk0MWZhNzFmZmY4Y2I3ZDYxMTFkODM0NmEwNTA3MTgwNzVhNy4uYmUwNGNhMzcwMTVjMGNhNGJm
Zjg0ZTNmYmY0MGI0MThhODI1Zjg2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQx
LnBybworKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdDEucHJvCkBAIC0xMTUsMzAgKzExNSwxMCBA
QCBlbmFibGU/KElDT05EQVRBQkFTRSkgewogfQogCiBlbmFibGU/KFZJREVPKSB7Ci0gICAgdXNl
PyhRVEtJVCkgfCB1c2U/KEdTVFJFQU1FUikgfCB1c2U/KFFUX01VTFRJTUVESUEpIHsKKyAgICB1
c2U/KEdTVFJFQU1FUikgfCB1c2U/KFFUX01VTFRJTUVESUEpIHsKICAgICAgICAgSEVBREVSUyAr
PSAkJFBXRC9xdC9XZWJDb3JlU3VwcG9ydC9GdWxsU2NyZWVuVmlkZW9RdC5oCiAgICAgICAgIFNP
VVJDRVMgKz0gJCRQV0QvcXQvV2ViQ29yZVN1cHBvcnQvRnVsbFNjcmVlblZpZGVvUXQuY3BwCiAg
ICAgfQotCi0gICAgdXNlPyhRVEtJVCkgewotICAgICAgICBJTkNMVURFUEFUSCArPSBcCi0gICAg
ICAgICAgICAkJFBXRC8uLi9XZWJDb3JlL3BsYXRmb3JtL3F0LyBcCi0gICAgICAgICAgICAkJFBX
RC8uLi9XZWJDb3JlL3BsYXRmb3JtL21hYy8gXAotICAgICAgICAgICAgJCRQV0QvLi4vLi4vV2Vi
S2l0TGlicmFyaWVzLwotCi0gICAgICAgIERFRklORVMgKz0gTlNHRU9NRVRSWV9UWVBFU19TQU1F
X0FTX0NHR0VPTUVUUllfVFlQRVMKLSAgICAgICAgaXNFcXVhbChRVF9BUkNILCAiaTM4NiIpIHsK
LSAgICAgICAgICAgIERFRklORVMrPU5TX0JVSUxEXzMyX0xJS0VfNjQKLSAgICAgICAgfQotCi0g
ICAgICAgIEhFQURFUlMgKz0gXAotICAgICAgICAgICAgJCRQV0QvcXQvV2ViQ29yZVN1cHBvcnQv
V2ViU3lzdGVtSW50ZXJmYWNlLmggXAotICAgICAgICAgICAgJCRQV0QvcXQvV2ViQ29yZVN1cHBv
cnQvUVRLaXRGdWxsU2NyZWVuVmlkZW9IYW5kbGVyLmgKLQotICAgICAgICBPQkpFQ1RJVkVfU09V
UkNFUyArPSBcCi0gICAgICAgICAgICAkJFBXRC9xdC9XZWJDb3JlU3VwcG9ydC9XZWJTeXN0ZW1J
bnRlcmZhY2UubW0gXAotICAgICAgICAgICAgJCRQV0QvcXQvV2ViQ29yZVN1cHBvcnQvUVRLaXRG
dWxsU2NyZWVuVmlkZW9IYW5kbGVyLm1tCi0gICAgfQogfQogCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZp
ZXcvV2ViVmlldy5tbQppbmRleCBmNmNmMjllZTgxNGY4MzY2ZDc0ZWMyNzkzMzQ4Y2NlNGEyOWYy
YWQ0Li5hYTlmYzI0MzQ2ZWRkOGFiZjAyOTY0YzdhOTgyNzcxYWZjYWI0YWI2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0xNTI1LDcgKzE1MjUsNyBAQCBzdGF0aWMgYm9v
bCBuZWVkc1NlbGZSZXRhaW5XaGlsZUxvYWRpbmdRdWlyaygpCiAjaWYgVVNFKEFWRk9VTkRBVElP
TikKICAgICBzZXR0aW5ncy0+c2V0QVZGb3VuZGF0aW9uRW5hYmxlZChbcHJlZmVyZW5jZXMgaXNB
VkZvdW5kYXRpb25FbmFibGVkXSk7CiAjZW5kaWYKLSNpZiBQTEFURk9STShNQUMpIHx8IChQTEFU
Rk9STShRVCkgJiYgVVNFKFFUS0lUKSkKKyNpZiBQTEFURk9STShNQUMpCiAgICAgc2V0dGluZ3Mt
PnNldFFUS2l0RW5hYmxlZChbcHJlZmVyZW5jZXMgaXNRVEtpdEVuYWJsZWRdKTsKICNlbmRpZgog
ICAgIHNldHRpbmdzLT5zZXRNZWRpYVBsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZShbcHJlZmVy
ZW5jZXMgbWVkaWFQbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmVdKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwIGIvU291cmNl
L1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHAKaW5kZXggYTYxZmEy
NzI5NTg1NDQ0NDczNGJjY2Q4OTI2MzJhZTFhMjIxM2YzYi4uYWJhMDM3Y2M2ZTk3ZTUyMjc3ODFi
NjQ3MjM1MTc3OWJmZjg1YmI3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3Jl
U3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3Jl
U3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHAKQEAgLTc2LDcgKzc2LDcgQEAKICNpbmNsdWRlIDx3
dGYvQ3VycmVudFRpbWUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAKLSNpZiBFTkFCTEUo
VklERU8pICYmICgoVVNFKEdTVFJFQU1FUikgJiYgVVNFKE5BVElWRV9GVUxMU0NSRUVOX1ZJREVP
KSkgfHwgVVNFKFFUX01VTFRJTUVESUEpIHx8IFVTRShRVEtJVCkpCisjaWYgRU5BQkxFKFZJREVP
KSAmJiAoKFVTRShHU1RSRUFNRVIpICYmIFVTRShOQVRJVkVfRlVMTFNDUkVFTl9WSURFTykpIHx8
IFVTRShRVF9NVUxUSU1FRElBKSkKICNpbmNsdWRlICJGdWxsU2NyZWVuVmlkZW9RdC5oIgogI2lu
Y2x1ZGUgIkhUTUxNZWRpYUVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKQEAgLTEy
Nyw3ICsxMjcsNyBAQCBib29sIENocm9tZUNsaWVudFF0OjpkdW1wVmlzaXRlZExpbmtzQ2FsbGJh
Y2tzID0gZmFsc2U7CiBDaHJvbWVDbGllbnRRdDo6Q2hyb21lQ2xpZW50UXQoUVdlYlBhZ2VBZGFw
dGVyKiB3ZWJQYWdlQWRhcHRlcikKICAgICA6IG1fd2ViUGFnZSh3ZWJQYWdlQWRhcHRlcikKICAg
ICAsIG1fZXZlbnRMb29wKDApCi0jaWYgRU5BQkxFKFZJREVPKSAmJiAoKFVTRShHU1RSRUFNRVIp
ICYmIFVTRShOQVRJVkVfRlVMTFNDUkVFTl9WSURFTykpIHx8IFVTRShRVF9NVUxUSU1FRElBKSB8
fCBVU0UoUVRLSVQpKQorI2lmIEVOQUJMRShWSURFTykgJiYgKChVU0UoR1NUUkVBTUVSKSAmJiBV
U0UoTkFUSVZFX0ZVTExTQ1JFRU5fVklERU8pKSB8fCBVU0UoUVRfTVVMVElNRURJQSkpCiAgICAg
LCBtX2Z1bGxTY3JlZW5WaWRlbygwKQogI2VuZGlmCiB7CkBAIC0xMzksNyArMTM5LDcgQEAgQ2hy
b21lQ2xpZW50UXQ6On5DaHJvbWVDbGllbnRRdCgpCiAgICAgaWYgKG1fZXZlbnRMb29wKQogICAg
ICAgICBtX2V2ZW50TG9vcC0+ZXhpdCgpOwogCi0jaWYgRU5BQkxFKFZJREVPKSAmJiAoKFVTRShH
U1RSRUFNRVIpICYmIFVTRShOQVRJVkVfRlVMTFNDUkVFTl9WSURFTykpIHx8IFVTRShRVF9NVUxU
SU1FRElBKSB8fCBVU0UoUVRLSVQpKQorI2lmIEVOQUJMRShWSURFTykgJiYgKChVU0UoR1NUUkVB
TUVSKSAmJiBVU0UoTkFUSVZFX0ZVTExTQ1JFRU5fVklERU8pKSB8fCBVU0UoUVRfTVVMVElNRURJ
QSkpCiAgICAgZGVsZXRlIG1fZnVsbFNjcmVlblZpZGVvOwogI2VuZGlmCiB9CkBAIC02NzksNyAr
Njc5LDcgQEAgSW50UmVjdCBDaHJvbWVDbGllbnRRdDo6dmlzaWJsZVJlY3RGb3JUaWxlZEJhY2tp
bmdTdG9yZSgpIGNvbnN0CiB9CiAjZW5kaWYKIAotI2lmIEVOQUJMRShWSURFTykgJiYgKChVU0Uo
R1NUUkVBTUVSKSAmJiBVU0UoTkFUSVZFX0ZVTExTQ1JFRU5fVklERU8pKSB8fCBVU0UoUVRfTVVM
VElNRURJQSkgfHwgVVNFKFFUS0lUKSkKKyNpZiBFTkFCTEUoVklERU8pICYmICgoVVNFKEdTVFJF
QU1FUikgJiYgVVNFKE5BVElWRV9GVUxMU0NSRUVOX1ZJREVPKSkgfHwgVVNFKFFUX01VTFRJTUVE
SUEpKQogRnVsbFNjcmVlblZpZGVvUXQqIENocm9tZUNsaWVudFF0OjpmdWxsU2NyZWVuVmlkZW8o
KQogewogICAgIGlmICghbV9mdWxsU2NyZWVuVmlkZW8pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmggYi9Tb3VyY2UvV2ViS2l0L3F0
L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmgKaW5kZXggOTY3ZWRkMjc4MTgzYzAwNmQx
ZDA5NWYwZjJiNTQwZmJlNjBhZjhjOC4uOGYyZGIyNjVmMWFkZDFjODRhY2MyNDU2ODg1ZDczMmRm
MGYxNzExMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJv
bWVDbGllbnRRdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50UXQuaApAQCAtMTU5LDcgKzE1OSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQg
bmVlZFRvdWNoRXZlbnRzKGJvb2wpIHsgfQogI2VuZGlmCiAKLSNpZiBFTkFCTEUoVklERU8pICYm
ICgoVVNFKEdTVFJFQU1FUikgJiYgVVNFKE5BVElWRV9GVUxMU0NSRUVOX1ZJREVPKSkgfHwgVVNF
KFFUX01VTFRJTUVESUEpIHx8IFVTRShRVEtJVCkpCisjaWYgRU5BQkxFKFZJREVPKSAmJiAoKFVT
RShHU1RSRUFNRVIpICYmIFVTRShOQVRJVkVfRlVMTFNDUkVFTl9WSURFTykpIHx8IFVTRShRVF9N
VUxUSU1FRElBKSkKICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNGdWxsc2NyZWVuRm9yTm9kZShj
b25zdCBOb2RlKik7CiAgICAgdmlydHVhbCB2b2lkIGVudGVyRnVsbHNjcmVlbkZvck5vZGUoTm9k
ZSopOwogICAgIHZpcnR1YWwgdm9pZCBleGl0RnVsbHNjcmVlbkZvck5vZGUoTm9kZSopOwpAQCAt
MjE1LDcgKzIxNSw3IEBAIHB1YmxpYzoKICAgICBPd25QdHI8UmVmcmVzaEFuaW1hdGlvbj4gbV9y
ZWZyZXNoQW5pbWF0aW9uOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoVklERU8pICYmIChVU0UoR1NU
UkVBTUVSKSB8fCBVU0UoUVRfTVVMVElNRURJQSkgfHwgVVNFKFFUS0lUKSkKKyNpZiBFTkFCTEUo
VklERU8pICYmIChVU0UoR1NUUkVBTUVSKSB8fCBVU0UoUVRfTVVMVElNRURJQSkpCiAgICAgRnVs
bFNjcmVlblZpZGVvUXQqIG1fZnVsbFNjcmVlblZpZGVvOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnVsbFNjcmVlblZpZGVvUXQuY3BwIGIv
U291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GdWxsU2NyZWVuVmlkZW9RdC5jcHAKaW5k
ZXggODZkMzU0ZTU3YmM5NDI4YzBhMWEzNDQxZmMzYjY5MWRkZGE5ZmMyMC4uNGYwM2E2NDNhZjc4
MzlhZGI4NGY0NGUyYmFkOTBhNjA5OGFjOGIzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9GdWxsU2NyZWVuVmlkZW9RdC5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9xdC9XZWJDb3JlU3VwcG9ydC9GdWxsU2NyZWVuVmlkZW9RdC5jcHAKQEAgLTM0LDEwICszNCw2
IEBACiAjaW5jbHVkZSAiUGxhdGZvcm1WaWRlb1dpbmRvd1ByaXZhdGUuaCIKICNlbmRpZgogCi0j
aWYgVVNFKFFUS0lUKQotI2luY2x1ZGUgIlFUS2l0RnVsbFNjcmVlblZpZGVvSGFuZGxlci5oIgot
I2VuZGlmCi0KICNpZiBVU0UoUVRfTVVMVElNRURJQSkKICNpbmNsdWRlIDxRTWVkaWFQbGF5ZXI+
CiAjZW5kaWYKQEAgLTEwMiwxMCArOTgsNiBAQCBGdWxsU2NyZWVuVmlkZW9RdDo6RnVsbFNjcmVl
blZpZGVvUXQoQ2hyb21lQ2xpZW50UXQqIGNocm9tZUNsaWVudCkKICNpZiBVU0UoR1NUUkVBTUVS
KSAmJiBVU0UoTkFUSVZFX0ZVTExTQ1JFRU5fVklERU8pCiAgICAgbV9GdWxsU2NyZWVuVmlkZW9I
YW5kbGVyR1N0cmVhbWVyID0gbmV3IEdTdHJlYW1lckZ1bGxTY3JlZW5WaWRlb0hhbmRsZXI7CiAj
ZW5kaWYKLQotI2lmIFVTRShRVEtJVCkKLSAgICBtX0Z1bGxTY3JlZW5WaWRlb0hhbmRsZXJRVEtp
dCA9IG5ldyBRVEtpdEZ1bGxTY3JlZW5WaWRlb0hhbmRsZXI7Ci0jZW5kaWYKIH0KIAogRnVsbFNj
cmVlblZpZGVvUXQ6On5GdWxsU2NyZWVuVmlkZW9RdCgpCkBAIC0xMTYsOSArMTA4LDYgQEAgRnVs
bFNjcmVlblZpZGVvUXQ6On5GdWxsU2NyZWVuVmlkZW9RdCgpCiAjaWYgVVNFKEdTVFJFQU1FUikg
JiYgVVNFKE5BVElWRV9GVUxMU0NSRUVOX1ZJREVPKQogICAgIGRlbGV0ZSBtX0Z1bGxTY3JlZW5W
aWRlb0hhbmRsZXJHU3RyZWFtZXI7CiAjZW5kaWYKLSNpZiBVU0UoUVRLSVQpCi0gICAgZGVsZXRl
IG1fRnVsbFNjcmVlblZpZGVvSGFuZGxlclFUS2l0OwotI2VuZGlmCiB9CiAKIHZvaWQgRnVsbFNj
cmVlblZpZGVvUXQ6OmVudGVyRnVsbFNjcmVlbkZvck5vZGUoTm9kZSogbm9kZSkKQEAgLTE0Nywx
MCArMTM2LDYgQEAgdm9pZCBGdWxsU2NyZWVuVmlkZW9RdDo6ZW50ZXJGdWxsU2NyZWVuRm9yTm9k
ZShOb2RlKiBub2RlKQogICAgIG1fRnVsbFNjcmVlblZpZGVvSGFuZGxlckdTdHJlYW1lci0+c2V0
VmlkZW9FbGVtZW50KG1fdmlkZW9FbGVtZW50KTsKICAgICBtX0Z1bGxTY3JlZW5WaWRlb0hhbmRs
ZXJHU3RyZWFtZXItPmVudGVyRnVsbFNjcmVlbigpOwogI2VuZGlmCi0KLSNpZiBVU0UoUVRLSVQp
Ci0gICAgbV9GdWxsU2NyZWVuVmlkZW9IYW5kbGVyUVRLaXQtPmVudGVyRnVsbFNjcmVlbihtX3Zp
ZGVvRWxlbWVudCk7Ci0jZW5kaWYKIH0KIAogdm9pZCBGdWxsU2NyZWVuVmlkZW9RdDo6ZXhpdEZ1
bGxTY3JlZW5Gb3JOb2RlKE5vZGUqIG5vZGUpCkBAIC0xNzcsMTEgKzE2Miw2IEBAIHZvaWQgRnVs
bFNjcmVlblZpZGVvUXQ6OmV4aXRGdWxsU2NyZWVuRm9yTm9kZShOb2RlKiBub2RlKQogI2lmIFVT
RShHU1RSRUFNRVIpICYmIFVTRShOQVRJVkVfRlVMTFNDUkVFTl9WSURFTykKICAgICBtX0Z1bGxT
Y3JlZW5WaWRlb0hhbmRsZXJHU3RyZWFtZXItPmV4aXRGdWxsU2NyZWVuKCk7CiAjZW5kaWYKLQot
I2lmIFVTRShRVEtJVCkKLSAgICBtX0Z1bGxTY3JlZW5WaWRlb0hhbmRsZXJRVEtpdC0+ZXhpdEZ1
bGxTY3JlZW4oKTsKLSNlbmRpZgotCiB9CiAKIHZvaWQgRnVsbFNjcmVlblZpZGVvUXQ6OmFib3V0
VG9DbG9zZSgpCkBAIC0yMTUsOCArMTk1LDYgQEAgYm9vbCBGdWxsU2NyZWVuVmlkZW9RdDo6aXNW
YWxpZCgpIGNvbnN0CiAjZW5kaWYKICNpZiBVU0UoR1NUUkVBTUVSKSAmJiBVU0UoTkFUSVZFX0ZV
TExTQ1JFRU5fVklERU8pCiAgICAgcmV0dXJuIG1fRnVsbFNjcmVlblZpZGVvSGFuZGxlckdTdHJl
YW1lcjsKLSNlbGlmIFVTRShRVEtJVCkKLSAgICByZXR1cm4gbV9GdWxsU2NyZWVuVmlkZW9IYW5k
bGVyUVRLaXQ7CiAjZWxzZQogICAgIHJldHVybiAwOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Z1bGxTY3JlZW5WaWRlb1F0LmggYi9Tb3VyY2Uv
V2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Z1bGxTY3JlZW5WaWRlb1F0LmgKaW5kZXggNDM4YWIz
ZmJlZmVlOTQ2ZTIzNmEyMzNlYzU3ZmYzZjJjNGJiYjNjMy4uZjViYTA3OTNjNDY5MWIxOGNkMjZl
MmYzMDFlYzVhM2YzMjNjYjlkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3Jl
U3VwcG9ydC9GdWxsU2NyZWVuVmlkZW9RdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29y
ZVN1cHBvcnQvRnVsbFNjcmVlblZpZGVvUXQuaApAQCAtMzgsOSArMzgsNiBAQCBjbGFzcyBOb2Rl
OwogI2lmIFVTRShRVF9NVUxUSU1FRElBKQogY2xhc3MgTWVkaWFQbGF5ZXJQcml2YXRlUXQ7CiAj
ZW5kaWYKLSNpZiBVU0UoUVRLSVQpCi1jbGFzcyBRVEtpdEZ1bGxTY3JlZW5WaWRlb0hhbmRsZXI7
Ci0jZW5kaWYKIAogLy8gV2UgZG8gbm90IHVzZSBFTkFCTEUgb3IgVVNFIGJlY2F1c2UgbW9jIGRv
ZXMgbm90IGV4cGFuZCB0aGVzZSBtYWNyb3MuCiAjaWYgZGVmaW5lZChXVEZfVVNFX0dTVFJFQU1F
UikgJiYgV1RGX1VTRV9HU1RSRUFNRVIgJiYgZGVmaW5lZChXVEZfVVNFX05BVElWRV9GVUxMU0NS
RUVOX1ZJREVPKSAmJiBXVEZfVVNFX05BVElWRV9GVUxMU0NSRUVOX1ZJREVPCkBAIC05Myw5ICs5
MCw2IEBAIHByaXZhdGU6CiAjaWYgVVNFKEdTVFJFQU1FUikgJiYgVVNFKE5BVElWRV9GVUxMU0NS
RUVOX1ZJREVPKQogICAgIEdTdHJlYW1lckZ1bGxTY3JlZW5WaWRlb0hhbmRsZXIqIG1fRnVsbFNj
cmVlblZpZGVvSGFuZGxlckdTdHJlYW1lcjsKICNlbmRpZgotI2lmIFVTRShRVEtJVCkKLSAgICBR
VEtpdEZ1bGxTY3JlZW5WaWRlb0hhbmRsZXIqIG1fRnVsbFNjcmVlblZpZGVvSGFuZGxlclFUS2l0
OwotI2VuZGlmCiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVT
dXBwb3J0L0luaXRXZWJDb3JlUXQuY3BwIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9y
dC9Jbml0V2ViQ29yZVF0LmNwcAppbmRleCAwZTQ0NTEyYzhkZGU5YTM4NTY0YWM5MmEyYjA4Mzgw
N2MwNDRlYWFiLi44ZTU2YWQzNDdlOGVjOTc0OTQ4OTdhNWY1ZWM5NjA5ZWU0OGVjNmE0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0luaXRXZWJDb3JlUXQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvSW5pdFdlYkNvcmVRdC5jcHAK
QEAgLTQzLDkgKzQzLDYgQEAKICNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCiAjaW5jbHVk
ZSAiU2Nyb2xsYmFyVGhlbWVRU3R5bGUuaCIKICNpbmNsdWRlICJTZWN1cml0eVBvbGljeS5oIgot
I2lmIFVTRShRVEtJVCkKLSNpbmNsdWRlICJXZWJTeXN0ZW1JbnRlcmZhY2UuaCIKLSNlbmRpZgog
CiAjaW5jbHVkZSAicXdlYmVsZW1lbnRfcC5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSW5pdGlhbGl6ZVRocmVhZGluZy5oPgpAQCAtMTA3LDkgKzEwNCw2IEBAIFFfREVDTF9F
WFBPUlQgdm9pZCBpbml0aWFsaXplV2ViQ29yZVF0KCkKICAgICBQbGF0Zm9ybVN0cmF0ZWdpZXNR
dDo6aW5pdGlhbGl6ZSgpOwogICAgIFF0V2ViRWxlbWVudFJ1bnRpbWU6OmluaXRpYWxpemUoKTsK
IAotI2lmIFVTRShRVEtJVCkKLSAgICBJbml0V2ViQ29yZVN5c3RlbUludGVyZmFjZSgpOwotI2Vu
ZGlmCiAgICAgaWYgKCFXZWJDb3JlOjptZW1vcnlDYWNoZSgpLT5kaXNhYmxlZCgpKQogICAgICAg
ICBXZWJDb3JlOjptZW1vcnlDYWNoZSgpLT5zZXREZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVy
dmFsKDYwKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9R
VEtpdEZ1bGxTY3JlZW5WaWRlb0hhbmRsZXIuaCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1
cHBvcnQvUVRLaXRGdWxsU2NyZWVuVmlkZW9IYW5kbGVyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGY4YWMxNWEwNWMwOTVhYmIyZjdhYzJlOGFiZmFkZjQyNTYyOTQ0ZDguLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9RVEtpdEZ1bGxTY3JlZW5WaWRlb0hhbmRsZXIuaAorKysgL2Rldi9u
dWxsCkBAIC0xLDQ0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgTm9raWEgQ29y
cG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCi0gKgotICogVGhpcyBsaWJyYXJ5
IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMK
LSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24p
IGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBp
biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdB
UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5U
QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05V
Ci0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAq
Ci0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRo
ZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAq
IEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0jaWZuZGVmIFFUS2l0RnVs
bFNjcmVlblZpZGVvSGFuZGxlcl9oCi0jZGVmaW5lIFFUS2l0RnVsbFNjcmVlblZpZGVvSGFuZGxl
cl9oCi0KLSNpbmNsdWRlIDx3dGYvT3duUHRyLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQot
Y2xhc3MgSFRNTFZpZGVvRWxlbWVudDsKLQotY2xhc3MgUVRLaXRGdWxsU2NyZWVuVmlkZW9IYW5k
bGVyIHsKLSAgICBjbGFzcyBRVEtpdEZ1bGxTY3JlZW5WaWRlb0hhbmRsZXJQcml2YXRlOwotcHVi
bGljOgotICAgIFFUS2l0RnVsbFNjcmVlblZpZGVvSGFuZGxlcigpOwotICAgIH5RVEtpdEZ1bGxT
Y3JlZW5WaWRlb0hhbmRsZXIoKTsKLSAgICB2b2lkIGVudGVyRnVsbFNjcmVlbihIVE1MVmlkZW9F
bGVtZW50Kik7Ci0gICAgdm9pZCBleGl0RnVsbFNjcmVlbigpOwotCi1wcml2YXRlOgotICAgIE93
blB0cjxRVEtpdEZ1bGxTY3JlZW5WaWRlb0hhbmRsZXJQcml2YXRlPiBwcml2YXRlRGF0YTsKLX07
Ci0KLX0KLQotI2VuZGlmIC8vIFFUS2l0RnVsbFNjcmVlblZpZGVvSGFuZGxlcl9oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1FUS2l0RnVsbFNjcmVlblZpZGVv
SGFuZGxlci5tbSBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUVRLaXRGdWxsU2Ny
ZWVuVmlkZW9IYW5kbGVyLm1tCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ODRiOWZh
OGZlNzNhZTMzNDY0ZGE2Y2NlNTU4MjdjMDk5NmU3ZDM1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQv
UVRLaXRGdWxsU2NyZWVuVmlkZW9IYW5kbGVyLm1tCisrKyAvZGV2L251bGwKQEAgLTEsNjYgKzAs
MCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3Ig
aXRzIHN1YnNpZGlhcnkoLWllcykKLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBw
dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJz
aW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg
aXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg
ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQg
aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5M
SUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ
bmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBNQSAwMjEx
MC0xMzAxLCBVU0EuCi0gKgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLQotI2luY2x1ZGUg
IlFUS2l0RnVsbFNjcmVlblZpZGVvSGFuZGxlci5oIgotCi0jaW5jbHVkZSAiSFRNTFZpZGVvRWxl
bWVudC5oIgotI2luY2x1ZGUgIldlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIuaCIKLQotdXNp
bmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KLWNsYXNzIFFUS2l0RnVsbFNjcmVlblZpZGVvSGFuZGxl
cjo6UVRLaXRGdWxsU2NyZWVuVmlkZW9IYW5kbGVyUHJpdmF0ZSB7Ci1wdWJsaWMgOgotICAgIFdl
YlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIqIG1fRnVsbFNjcmVlbkNvbnRyb2xsZXI7Ci19Owot
Ci1RVEtpdEZ1bGxTY3JlZW5WaWRlb0hhbmRsZXI6OlFUS2l0RnVsbFNjcmVlblZpZGVvSGFuZGxl
cigpCi0gICAgOiBwcml2YXRlRGF0YSAoYWRvcHRQdHIobmV3IFFUS2l0RnVsbFNjcmVlblZpZGVv
SGFuZGxlclByaXZhdGUpKQotewotICAgIHByaXZhdGVEYXRhLT5tX0Z1bGxTY3JlZW5Db250cm9s
bGVyID0gbmlsOwotfQotCi1RVEtpdEZ1bGxTY3JlZW5WaWRlb0hhbmRsZXI6On5RVEtpdEZ1bGxT
Y3JlZW5WaWRlb0hhbmRsZXIoKQotewotICAgIGV4aXRGdWxsU2NyZWVuKCk7Ci19Ci0KLXZvaWQg
UVRLaXRGdWxsU2NyZWVuVmlkZW9IYW5kbGVyOjplbnRlckZ1bGxTY3JlZW4oSFRNTFZpZGVvRWxl
bWVudCogdmlkZW9FbGVtZW50KQotewotICAgIGlmIChwcml2YXRlRGF0YS0+bV9GdWxsU2NyZWVu
Q29udHJvbGxlcikgewotICAgICAgICAvLyBGaXJzdCBleGl0IGZ1bGxzY3JlZW4gZm9yIHRoZSBv
bGQgbWVkaWFFbGVtZW50LgotICAgICAgICBleGl0RnVsbFNjcmVlbigpOwotICAgICAgICBBU1NF
UlQoIXByaXZhdGVEYXRhLT5tX0Z1bGxTY3JlZW5Db250cm9sbGVyKTsKLSAgICB9Ci0gICAgaWYg
KCFwcml2YXRlRGF0YS0+bV9GdWxsU2NyZWVuQ29udHJvbGxlcikgewotICAgICAgICBwcml2YXRl
RGF0YS0+bV9GdWxsU2NyZWVuQ29udHJvbGxlciA9IFtbV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJv
bGxlciBhbGxvY10gaW5pdF07Ci0gICAgICAgIFtwcml2YXRlRGF0YS0+bV9GdWxsU2NyZWVuQ29u
dHJvbGxlciBzZXRNZWRpYUVsZW1lbnQ6dmlkZW9FbGVtZW50XTsKLSAgICAgICAgTlNTY3JlZW4q
IGN1cnJlbnRTY3JlZW4gPSBbTlNTY3JlZW4gbWFpblNjcmVlbl07Ci0gICAgICAgIFtwcml2YXRl
RGF0YS0+bV9GdWxsU2NyZWVuQ29udHJvbGxlciBlbnRlckZ1bGxzY3JlZW46Y3VycmVudFNjcmVl
bl07Ci0gICAgfQotfQotCi12b2lkIFFUS2l0RnVsbFNjcmVlblZpZGVvSGFuZGxlcjo6ZXhpdEZ1
bGxTY3JlZW4oKQotewotICAgIFtwcml2YXRlRGF0YS0+bV9GdWxsU2NyZWVuQ29udHJvbGxlciBl
eGl0RnVsbHNjcmVlbl07Ci0gICAgW3ByaXZhdGVEYXRhLT5tX0Z1bGxTY3JlZW5Db250cm9sbGVy
IHJlbGVhc2VdOwotICAgIHByaXZhdGVEYXRhLT5tX0Z1bGxTY3JlZW5Db250cm9sbGVyID0gbmls
OwotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9XZWJTeXN0
ZW1JbnRlcmZhY2UuaCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvV2ViU3lzdGVt
SW50ZXJmYWNlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDliMDNkNGFmY2IyZjgy
NDkwMTA2ZGIwNDQwMmQ5YTg4ZmFhZTllNGQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9XZWJTeXN0
ZW1JbnRlcmZhY2UuaAorKysgL2Rldi9udWxsCkBAIC0xLDM2ICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICoKLSAqIDEuICBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4gCi0gKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAg
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gCi0gKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRl
ciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgotICogICAgIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKLSAq
ICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uIAotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5E
IElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0g
KiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBP
UiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UwotICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECi0gKiBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCi0gKiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNp
Zm5kZWYgV2ViU3lzdGVtSW50ZXJmYWNlX2gKLSNkZWZpbmUgV2ViU3lzdGVtSW50ZXJmYWNlX2gK
LQotI2luY2x1ZGUgPHN0ZGludC5oPgotCi12b2lkIEluaXRXZWJDb3JlU3lzdGVtSW50ZXJmYWNl
KCk7Ci0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9y
dC9XZWJTeXN0ZW1JbnRlcmZhY2UubW0gYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0
L1dlYlN5c3RlbUludGVyZmFjZS5tbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODM1
NGFmOTYxODc0MGRmOGVhYWFhZmFlOWRiZGI0YmI1YWVhYmY5Yy4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBw
b3J0L1dlYlN5c3RlbUludGVyZmFjZS5tbQorKysgL2Rldi9udWxsCkBAIC0xLDY2ICswLDAgQEAK
LS8qCi0gKiBDb3B5cmlnaHQgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSwgMjAxMCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAq
IGFyZSBtZXQ6Ci0gKgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKLSAqIDIuICBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKLSAqIDMuICBOZWl0aGVy
IHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVz
IG9mCi0gKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZAotICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4gCi0gKgotICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Ci0gKiBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQKLSAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YKLSAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2ltcG9ydCAiV2ViU3lzdGVtSW50ZXJmYWNlLmgiCi0K
LS8vIE5lZWRlZCBmb3IgYnVpbGRzIG5vdCB1c2luZyBQQ0ggdG8gZXhwb3NlIEJVSUxESU5HXyBt
YWNyb3MsIHNlZSBidWcgMzI3NTMuCi0jaW5jbHVkZSA8d3RmL1BsYXRmb3JtLmg+Ci0KLSNpbXBv
cnQgPFdlYkNvcmVTeXN0ZW1JbnRlcmZhY2UuaD4KLSNpbXBvcnQgPFdlYktpdFN5c3RlbUludGVy
ZmFjZS5oPgotCi0jZGVmaW5lIElOSVQoZnVuY3Rpb24pIHdrIyNmdW5jdGlvbiA9IFdLIyNmdW5j
dGlvbgotCi12b2lkIEluaXRXZWJDb3JlU3lzdGVtSW50ZXJmYWNlKHZvaWQpCi17Ci0gICAgc3Rh
dGljIGJvb2wgZGlkSW5pdDsKLSAgICBpZiAoZGlkSW5pdCkKLSAgICAgICAgcmV0dXJuOwotCi0g
ICAgSU5JVChRVEluY2x1ZGVPbmx5TW9kZXJuTWVkaWFGaWxlVHlwZXMpOwotICAgIElOSVQoUVRN
b3ZpZURhdGFSYXRlKTsKLSAgICBJTklUKFFUTW92aWVEaXNhYmxlQ29tcG9uZW50KTsKLSAgICBJ
TklUKFFUTW92aWVNYXhUaW1lTG9hZGVkKTsKLSAgICBJTklUKFFUTW92aWVNYXhUaW1lTG9hZGVk
Q2hhbmdlTm90aWZpY2F0aW9uKTsKLSAgICBJTklUKFFUTW92aWVNYXhUaW1lU2Vla2FibGUpOwot
ICAgIElOSVQoUVRNb3ZpZUdldFR5cGUpOwotICAgIElOSVQoUVRNb3ZpZUhhc0Nsb3NlZENhcHRp
b25zKTsKLSAgICBJTklUKFFUTW92aWVSZXNvbHZlZFVSTCk7Ci0gICAgSU5JVChRVE1vdmllU2V0
U2hvd0Nsb3NlZENhcHRpb25zKTsKLSAgICBJTklUKFFUTW92aWVTZWxlY3RQcmVmZXJyZWRBbHRl
cm5hdGVzKTsKLSAgICBJTklUKFFUTW92aWVWaWV3U2V0RHJhd1N5bmNocm9ub3VzbHkpOwotICAg
IElOSVQoUVRHZXRTaXRlc0luTWVkaWFEb3dubG9hZENhY2hlKTsKLSAgICBJTklUKFFUQ2xlYXJN
ZWRpYURvd25sb2FkQ2FjaGVGb3JTaXRlKTsKLSAgICBJTklUKFFUQ2xlYXJNZWRpYURvd25sb2Fk
Q2FjaGUpOwotICAgIElOSVQoQ3JlYXRlTWVkaWFVSUJhY2tncm91bmRWaWV3KTsKLSAgICBJTklU
KENyZWF0ZU1lZGlhVUlDb250cm9sKTsKLSAgICBJTklUKFdpbmRvd1NldEFscGhhKTsKLSAgICBJ
TklUKFdpbmRvd1NldFNjYWxlZEZyYW1lKTsKLQotICAgIGRpZEluaXQgPSB0cnVlOwotfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJLaXQyL1Rhcmdl
dC5wcmkKaW5kZXggNWY1ZGFkMGRmZGU3MjQ0N2EwMDVlODJhYTEzZDRmZDQ5MTNlNzM3YS4uNThh
NjRhY2ZlODA1NTk1NjY5NjNjODQ3NGQyNjNjM2ViOTc3M2Y1YiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9UYXJnZXQucHJpCkBAIC04
NTEsMTggKzg1MSw2IEBAIGhhdmU/KFFUUVVJQ0spIHsKIH0KIAogbWFjOiB7Ci0gICAgdXNlPyhR
VEtJVCkgewotICAgICAgICBERUZJTkVTICs9IE5TR0VPTUVUUllfVFlQRVNfU0FNRV9BU19DR0dF
T01FVFJZX1RZUEVTCi0gICAgICAgIGlzRXF1YWwoUVRfQVJDSCwgImkzODYiKSB7Ci0gICAgICAg
ICAgICBERUZJTkVTKz1OU19CVUlMRF8zMl9MSUtFXzY0Ci0gICAgICAgIH0KLSAgICAgICAgSU5D
TFVERVBBVEggKz0gXAotICAgICAgICAgICAgJCRQV0QvLi4vLi4vV2ViS2l0TGlicmFyaWVzLwot
ICAgICAgICBIRUFERVJTICs9IFwKLSAgICAgICAgICAgIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvcXQvV2ViU3lzdGVtSW50ZXJmYWNlLmgKLSAgICAgICAgT0JKRUNUSVZFX1NPVVJDRVMgKz0g
XAotICAgICAgICAgICAgV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9xdC9XZWJTeXN0ZW1JbnRl
cmZhY2UubW0KLSAgICB9CiAgICAgSU5DTFVERVBBVEggKz0gXAogICAgICAgICBQbGF0Zm9ybS9t
YWMgXAogICAgICAgICBQbGF0Zm9ybS9Db3JlSVBDL21hYwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL3F0L1dlYkNvbnRleHRRdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvcXQvV2ViQ29udGV4dFF0LmNwcAppbmRleCA0NDgyN2VlZDVjMjFjYmE0MGQ2NGRmZmRk
YWFjZWI5YmFmOWNiODhlLi43NjYxNTU5ZmU5MmRmZDc5ZGM1YTczM2UzZmEzYjE3NjcwZWRmNTc2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvV2ViQ29udGV4dFF0LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvV2ViQ29udGV4dFF0LmNwcApAQCAt
MzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIkFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmgiCiAjaW5j
bHVkZSAiV0tTaGFyZWRBUElDYXN0LmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycy5oIgotI2luY2x1ZGUgIldlYlN5c3RlbUludGVyZmFjZS5oIgogI2luY2x1ZGUgPFFQ
cm9jZXNzPgogCiAjaWYgRU5BQkxFKEdFT0xPQ0FUSU9OKQpAQCAtNTcsOSArNTYsNiBAQCB2b2lk
IFdlYkNvbnRleHQ6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MoV2ViUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycyYgcGFyYQogICAgIHN0YXRpYyBXZWJHZW9sb2NhdGlvblByb3ZpZGVyUXQq
IGxvY2F0aW9uID0gV2ViR2VvbG9jYXRpb25Qcm92aWRlclF0OjpjcmVhdGUodG9BUEkoc3VwcGxl
bWVudDxXZWJHZW9sb2NhdGlvbk1hbmFnZXJQcm94eT4oKSkpOwogICAgIFdLR2VvbG9jYXRpb25N
YW5hZ2VyU2V0UHJvdmlkZXIodG9BUEkoc3VwcGxlbWVudDxXZWJHZW9sb2NhdGlvbk1hbmFnZXJQ
cm94eT4oKSksIFdlYkdlb2xvY2F0aW9uUHJvdmlkZXJRdDo6cHJvdmlkZXIobG9jYXRpb24pKTsK
ICNlbmRpZgotI2lmIFVTRShRVEtJVCkKLSAgICBJbml0V2ViQ29yZVN5c3RlbUludGVyZmFjZUZv
cldLMigpOwotI2VuZGlmCiB9CiAKIHZvaWQgV2ViQ29udGV4dDo6cGxhdGZvcm1JbnZhbGlkYXRl
Q29udGV4dCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L3F0L1dlYlN5c3RlbUludGVyZmFjZS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9xdC9XZWJTeXN0ZW1JbnRlcmZhY2UuaApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggZWVjMGNiYjFhZTQwNjlhMTgwNWNlODAyODUyMzdjYWRiZGE5MTQ5ZC4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L3F0L1dlYlN5c3RlbUludGVyZmFjZS5oCisr
KyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAyMDA2IEFwcGxl
IENvbXB1dGVyLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0g
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAK
LSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAK
LSAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUi
KSBub3IgdGhlIG5hbWVzIG9mCi0gKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAotICogICAgIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4gCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUK
LSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0gKiAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKLSAqIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0g
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YKLSAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgPHN0ZGludC5o
PgotCi12b2lkIEluaXRXZWJDb3JlU3lzdGVtSW50ZXJmYWNlRm9yV0syKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L3F0L1dlYlN5c3RlbUlu
dGVyZmFjZS5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvcXQv
V2ViU3lzdGVtSW50ZXJmYWNlLm1tCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxYTBj
MGY2MGY0YmJkMjAwYTZiZmZkODNmN2M4MGQ2MWM3NTZlNzI4Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvcXQvV2ViU3lzdGVtSW50ZXJmYWNlLm1tCisrKyAvZGV2L251bGwKQEAgLTEs
NjYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDEw
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwotICogYXJlIG1ldDoKLSAqCi0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAotICog
Mi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uIAotICog
My4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5v
ciB0aGUgbmFtZXMgb2YKLSAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0gKiAgICAgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLiAKLSAqCi0gKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotICogV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICog
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWQotICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKLSAqIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsKLSAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAotICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRgotICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW1wb3J0ICJXZWJTeXN0ZW1JbnRl
cmZhY2UuaCIKLQotLy8gTmVlZGVkIGZvciBidWlsZHMgbm90IHVzaW5nIFBDSCB0byBleHBvc2Ug
QlVJTERJTkdfIG1hY3Jvcywgc2VlIGJ1ZyAzMjc1My4KLSNpbmNsdWRlIDx3dGYvUGxhdGZvcm0u
aD4KLQotI2ltcG9ydCA8V2ViQ29yZVN5c3RlbUludGVyZmFjZS5oPgotI2ltcG9ydCA8V2ViS2l0
U3lzdGVtSW50ZXJmYWNlLmg+Ci0KLSNkZWZpbmUgSU5JVChmdW5jdGlvbikgd2sjI2Z1bmN0aW9u
ID0gV0sjI2Z1bmN0aW9uCi0KLXZvaWQgSW5pdFdlYkNvcmVTeXN0ZW1JbnRlcmZhY2VGb3JXSzIo
dm9pZCkKLXsKLSAgICBzdGF0aWMgYm9vbCBkaWRJbml0OwotICAgIGlmIChkaWRJbml0KQotICAg
ICAgICByZXR1cm47Ci0KLSAgICBJTklUKFFUSW5jbHVkZU9ubHlNb2Rlcm5NZWRpYUZpbGVUeXBl
cyk7Ci0gICAgSU5JVChRVE1vdmllRGF0YVJhdGUpOwotICAgIElOSVQoUVRNb3ZpZURpc2FibGVD
b21wb25lbnQpOwotICAgIElOSVQoUVRNb3ZpZU1heFRpbWVMb2FkZWQpOwotICAgIElOSVQoUVRN
b3ZpZU1heFRpbWVMb2FkZWRDaGFuZ2VOb3RpZmljYXRpb24pOwotICAgIElOSVQoUVRNb3ZpZU1h
eFRpbWVTZWVrYWJsZSk7Ci0gICAgSU5JVChRVE1vdmllR2V0VHlwZSk7Ci0gICAgSU5JVChRVE1v
dmllSGFzQ2xvc2VkQ2FwdGlvbnMpOwotICAgIElOSVQoUVRNb3ZpZVJlc29sdmVkVVJMKTsKLSAg
ICBJTklUKFFUTW92aWVTZXRTaG93Q2xvc2VkQ2FwdGlvbnMpOwotICAgIElOSVQoUVRNb3ZpZVNl
bGVjdFByZWZlcnJlZEFsdGVybmF0ZXMpOwotICAgIElOSVQoUVRNb3ZpZVZpZXdTZXREcmF3U3lu
Y2hyb25vdXNseSk7Ci0gICAgSU5JVChRVEdldFNpdGVzSW5NZWRpYURvd25sb2FkQ2FjaGUpOwot
ICAgIElOSVQoUVRDbGVhck1lZGlhRG93bmxvYWRDYWNoZUZvclNpdGUpOwotICAgIElOSVQoUVRD
bGVhck1lZGlhRG93bmxvYWRDYWNoZSk7Ci0gICAgSU5JVChDcmVhdGVNZWRpYVVJQmFja2dyb3Vu
ZFZpZXcpOwotICAgIElOSVQoQ3JlYXRlTWVkaWFVSUNvbnRyb2wpOwotICAgIElOSVQoV2luZG93
U2V0QWxwaGEpOwotICAgIElOSVQoV2luZG93U2V0U2NhbGVkRnJhbWUpOwotCi0gICAgZGlkSW5p
dCA9IHRydWU7Ci19CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHAKaW5kZXggZDA3MGI0NzM4ODJjZjAwZmIyMjBlY2M5MTJhYTlhMWI1YzUwZTJmYy4uMmJl
YTFhY2NjMTE0Nzk2ZWVkNzJmMDkzZDYxYTBkZTAzYmY4NzczYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMjUwMCw3ICsyNTAwLDcgQEAg
dm9pZCBXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyhjb25zdCBXZWJQcmVmZXJlbmNlc1N0b3Jl
JiBzdG9yZSkKICAgICBzZXR0aW5ncy0+c2V0QVZGb3VuZGF0aW9uRW5hYmxlZChzdG9yZS5nZXRC
b29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmlzQVZGb3VuZGF0aW9uRW5hYmxlZEtl
eSgpKSk7CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKE1BQykgfHwgKFBMQVRGT1JNKFFUKSAmJiBV
U0UoUVRLSVQpKQorI2lmIFBMQVRGT1JNKE1BQykKICAgICBzZXR0aW5ncy0+c2V0UVRLaXRFbmFi
bGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6aXNRVEtpdEVu
YWJsZWRLZXkoKSkpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvcXQvV2ViUHJvY2Vzc01haW5RdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L3F0L1dlYlByb2Nlc3NNYWluUXQuY3BwCmluZGV4IGYwYjUxYzE5OTE5NDI1NDczMGExY2E4ZTBj
NDhkODUwMDU5MGU5YjAuLmNjZDkzYTk3Zjc5ZWEwOTg1MjlhOTFiOGE0NjMxMDU0NTNjZmFlNTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvcXQvV2ViUHJvY2Vzc01haW5R
dC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9xdC9XZWJQcm9jZXNzTWFpblF0
LmNwcApAQCAtMzksMTAgKzM5LDYgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1J1bkxvb3AuaD4KICNp
bmNsdWRlIDxlcnJuby5oPgogCi0jaWYgVVNFKFFUS0lUKQotI2luY2x1ZGUgIldlYlN5c3RlbUlu
dGVyZmFjZS5oIgotI2VuZGlmCi0KICNpZm5kZWYgTkRFQlVHCiAjaWYgIU9TKFdJTkRPV1MpCiAj
aW5jbHVkZSA8dW5pc3RkLmg+CkBAIC0yMTMsMTAgKzIwOSw2IEBAIFFfREVDTF9FWFBPUlQgaW50
IFdlYlByb2Nlc3NNYWluUXQoUUd1aUFwcGxpY2F0aW9uKiBhcHApCiAKICAgICBJbml0aWFsaXpl
V2ViS2l0MigpOwogCi0jaWYgVVNFKFFUS0lUKQotICAgIEluaXRXZWJDb3JlU3lzdGVtSW50ZXJm
YWNlRm9yV0syKCk7Ci0jZW5kaWYKLQogICAgIC8vIENyZWF0ZSB0aGUgY29ubmVjdGlvbi4KICAg
ICBpZiAoYXBwLT5hcmd1bWVudHMoKS5zaXplKCkgPD0gMSkgewogICAgICAgICBxRGVidWcoKSA8
PCAiRXJyb3I6IHdyb25nIG51bWJlciBvZiBhcmd1bWVudHMuIjsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS93aWRnZXRzYXBpLnByaSBiL1NvdXJjZS93aWRnZXRzYXBpLnByaQppbmRleCBhYTA3ZjdlYzVm
Yjc2OTFlYjBkZjkzZTRhZjNiZWRmYjM0YzM3MDFmLi5lODNkZmYyOTI3ODk5ZTc4OGZhY2I4ZmRh
MmYzZWM3YmM2ZmQ5MzMyIDEwMDY0NAotLS0gYS9Tb3VyY2Uvd2lkZ2V0c2FwaS5wcmkKKysrIGIv
U291cmNlL3dpZGdldHNhcGkucHJpCkBAIC0xNDksNyArMTQ5LDcgQEAgSU5DTFVERVBBVEggKz0g
XAogICAgICQkUFdEL3F0L1dlYkNvcmVTdXBwb3J0CiAKIGVuYWJsZT8oVklERU8pIHsKLSAgICAh
dXNlPyhRVEtJVCk6IXVzZT8oR1NUUkVBTUVSKTp1c2U/KFFUX01VTFRJTUVESUEpIHsKKyAgICAh
dXNlPyhHU1RSRUFNRVIpOnVzZT8oUVRfTVVMVElNRURJQSkgewogICAgICAgICBIRUFERVJTICs9
ICQkUFdEL1dlYktpdC9xdC9XaWRnZXRTdXBwb3J0L0Z1bGxTY3JlZW5WaWRlb1dpZGdldC5oCiAg
ICAgICAgIFNPVVJDRVMgKz0gJCRQV0QvV2ViS2l0L3F0L1dpZGdldFN1cHBvcnQvRnVsbFNjcmVl
blZpZGVvV2lkZ2V0LmNwcAogICAgIH0KZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxv
ZwppbmRleCBiZjQ2YjY5ZDQxMWFiZjFmMzU5Y2U0NGRhNDFlYzVjMjRmODFhMzNlLi4zNTJhN2Nm
OWI1Y2Y3YTZhMDU4ZDM5NmQ1Y2E5OWVkNTYwMjlkOGMwIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cK
KysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTMtMDYtMTcgIE1pY2hhZWwgQnLD
vG5pbmcgIDxtaWNoYWVsLmJydW5pbmdAZGlnaWEuY29tPgorCisgICAgICAgIFtRdF0gUmVtb3Zl
IFF0IHNwZWNpZmljIFFUS0lUIGZsYWdnZWQgY29kZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNzYzNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIER1ZSB0byBkaXNhYmxpbmcgUVRLSVQgZm9yIFF0IGlu
IHIxNTE1NDYsIHRoZQorICAgICAgICBjb2RlIHRoZSBmbGFncyB0aGF0IGFyZSBub3QgdGFrZW4g
aW50byBhY2NvdW50CisgICAgICAgIGFueW1vcmUgYW5kIHRoZSBjb2RlIHRoYXQgaGFzIGJlZW4g
cmVuZGVyZWQKKyAgICAgICAgdW5yZWFjaGFibGUgYnkgdGhpcyBhcmUgcmVtb3ZlZC4KKworICAg
ICAgICAqIFNvdXJjZS93aWRnZXRzYXBpLnByaToKKwogMjAxMy0wNi0xNyAgQ2FybG9zIEdhcmNp
YSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gUmVu
YW1lIGdvYmplY3RfaW50cm9zcGVjdGlvbl9yZXF1aXJlZCB2YXJpYWJsZS4K
</data>
<flag name="review"
          id="226220"
          type_id="1"
          status="+"
          setter="hausmann"
    />
          </attachment>
      

    </bug>

</bugzilla>