<?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>162235</bug_id>
          
          <creation_ts>2016-09-19 14:19:04 -0700</creation_ts>
          <short_desc>Adjust current networking logging</short_desc>
          <delta_ts>2016-09-20 13:06:03 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>WebKit 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>
          <dependson>162233</dependson>
          <blocked>162237</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Keith Rollin">krollin</reporter>
          <assigned_to name="Keith Rollin">krollin</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>japhet</cc>
    
    <cc>koivisto</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1231315</commentid>
    <comment_count>0</comment_count>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2016-09-19 14:19:04 -0700</bug_when>
    <thetext>Update the &quot;always on&quot; network logging in order to better track the loading of a particular resource and to better bind together the resources downloaded for a particular page and frame. Do this by consistently logging pageID, frameID, and resourceID.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1231435</commentid>
    <comment_count>1</comment_count>
      <attachid>289287</attachid>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2016-09-19 17:02:22 -0700</bug_when>
    <thetext>Created attachment 289287
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1231462</commentid>
    <comment_count>2</comment_count>
      <attachid>289294</attachid>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2016-09-19 17:45:53 -0700</bug_when>
    <thetext>Created attachment 289294
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1231463</commentid>
    <comment_count>3</comment_count>
      <attachid>289287</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2016-09-19 17:46:06 -0700</bug_when>
    <thetext>Comment on attachment 289287
Patch

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

&gt; Source/WebKit2/WebProcess/Network/WebResourceLoader.cpp:141
&gt; +    if (!m_hasReceivedData) {
&gt; +        RELEASE_LOG_IF_ALLOWED(&quot;didReceiveData: Started receiving data (pageID = %llu, frameID = %llu, resourceID = %llu)&quot;, m_trackingParameters.pageID, m_trackingParameters.frameID, m_trackingParameters.resourceID);
&gt; +        m_hasReceivedData = true;
&gt; +    }

I think this patch includes also your previous patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1231470</commentid>
    <comment_count>4</comment_count>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2016-09-19 17:51:05 -0700</bug_when>
    <thetext>I think it&apos;s now fixed in patch 289294 in comment #2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1231488</commentid>
    <comment_count>5</comment_count>
      <attachid>289294</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2016-09-19 19:41:05 -0700</bug_when>
    <thetext>Comment on attachment 289294
Patch

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

&gt; Source/WebCore/loader/ResourceLoader.h:151
&gt; +    Frame* frame() const { return m_frame.get(); }

Const accessors should generally return const objects:

const Frame* frame() const { ... }</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1231822</commentid>
    <comment_count>6</comment_count>
      <attachid>289390</attachid>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2016-09-20 11:57:51 -0700</bug_when>
    <thetext>Created attachment 289390
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1231830</commentid>
    <comment_count>7</comment_count>
      <attachid>289390</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-09-20 12:40:42 -0700</bug_when>
    <thetext>Comment on attachment 289390
Patch

Rejecting attachment 289390 from review queue.

krollin@apple.com does not have reviewer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/contributors.json.

- If you do not have reviewer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have reviewer rights please correct the error in Tools/Scripts/webkitpy/common/config/contributors.json by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your reviewer rights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1231833</commentid>
    <comment_count>8</comment_count>
      <attachid>289390</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-09-20 13:05:59 -0700</bug_when>
    <thetext>Comment on attachment 289390
Patch

Clearing flags on attachment: 289390

Committed r206166: &lt;http://trac.webkit.org/changeset/206166&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1231834</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-09-20 13:06:03 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>289287</attachid>
            <date>2016-09-19 17:02:22 -0700</date>
            <delta_ts>2016-09-19 17:58:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-162235-20160919165937.patch</filename>
            <type>text/plain</type>
            <size>23149</size>
            <attacher name="Keith Rollin">krollin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2MTA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjliMGQ1N2RlOWI4MGJm
ZmYyMzhjMzkxZmE0NTk0OTk4NGQzYTI0MC4uZGJlNmQyYzk1Zjg3YzM3ODg1ZmY5MmNkOWNiNTA2
YjY2NDJmNGJjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE2LTA5LTE5ICBLZWl0
aCBSb2xsaW4gIDxrcm9sbGluQGFwcGxlLmNvbT4KKworICAgICAgICBBZGp1c3QgY3VycmVudCBu
ZXR3b3JraW5nIGxvZ2dpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE2MjIzNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFVwZGF0ZSB0aGUgImFsd2F5cyBvbiIgbmV0d29yayBsb2dnaW5nIGluIG9yZGVy
IHRvIGJldHRlciB0cmFjayB0aGUKKyAgICAgICAgbG9hZGluZyBvZiBhIHBhcnRpY3VsYXIgcmVz
b3VyY2UgYW5kIHRvIGJldHRlciBiaW5kIHRvZ2V0aGVyIHRoZQorICAgICAgICByZXNvdXJjZXMg
ZG93bmxvYWRlZCBmb3IgYSBwYXJ0aWN1bGFyIHBhZ2UgYW5kIGZyYW1lLiBEbyB0aGlzIGJ5Cisg
ICAgICAgIGNvbnNpc3RlbnRseSBsb2dnaW5nIHBhZ2VJRCwgZnJhbWVJRCwgYW5kIHJlc291cmNl
SUQuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIC0tIHRoZXJlIGFyZSBubyB0ZXN0cyBmb3IgbG9n
Z2luZy4KKworICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZUxvYWRlcjo6Y2hlY2tMb2FkQ29tcGxldGVGb3JUaGlzRnJhbWUpOgorICAgICAg
ICAqIGxvYWRlci9SZXNvdXJjZUxvYWRlci5oOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VM
b2FkZXI6OmZyYW1lKToKKwogMjAxNi0wOS0xOSAgTmFuIFdhbmcgIDxuX3dhbmdAYXBwbGUuY29t
PgogCiAgICAgICAgIEFYOiBBZGQgYWNjZXNzaWJpbGl0eSBzdXBwb3J0IGZvciBkZXRhaWxzIGVs
ZW1lbnQgb24gaU9TCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNjE1ZTM3MTIzZjgxNzA3N2NhNzYyOTg2NDZmMDE4
YmUwMTkxMDE5NC4uYzFlYTlhYTMzZGYyNjYxZjdlYjg2OWE0MDNlY2JmYTM1ODlkNTVhYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDE2LTA5LTE5ICBLZWl0aCBSb2xsaW4gIDxrcm9s
bGluQGFwcGxlLmNvbT4KKworICAgICAgICBBZGp1c3QgY3VycmVudCBuZXR3b3JraW5nIGxvZ2dp
bmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MjIz
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0
ZSB0aGUgImFsd2F5cyBvbiIgbmV0d29yayBsb2dnaW5nIGluIG9yZGVyIHRvIGJldHRlciB0cmFj
ayB0aGUKKyAgICAgICAgbG9hZGluZyBvZiBhIHBhcnRpY3VsYXIgcmVzb3VyY2UgYW5kIHRvIGJl
dHRlciBiaW5kIHRvZ2V0aGVyIHRoZQorICAgICAgICByZXNvdXJjZXMgZG93bmxvYWRlZCBmb3Ig
YSBwYXJ0aWN1bGFyIHBhZ2UgYW5kIGZyYW1lLiBEbyB0aGlzIGJ5CisgICAgICAgIGNvbnNpc3Rl
bnRseSBsb2dnaW5nIHBhZ2VJRCwgZnJhbWVJRCwgYW5kIHJlc291cmNlSUQuCisKKyAgICAgICAg
KiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmRpZEZpbmlzaExvYWRpbmcpOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmRpZEZhaWxMb2FkaW5nKToKKyAgICAgICAg
KFdlYktpdDo6TmV0d29ya1Jlc291cmNlTG9hZGVyOjpjb250aW51ZVdpbGxTZW5kUmVxdWVzdCk6
CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxlTG9hZCk6CisgICAgICAg
IChXZWJLaXQ6OldlYkxvYWRlclN0cmF0ZWd5OjpzdGFydExvY2FsTG9hZCk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViUmVzb3VyY2VMb2FkZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlJlc291
cmNlTG9hZGVyOjpXZWJSZXNvdXJjZUxvYWRlcik6CisgICAgICAgIChXZWJLaXQ6OldlYlJlc291
cmNlTG9hZGVyOjp3aWxsU2VuZFJlcXVlc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJj
ZUxvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3Vy
Y2VMb2FkZXI6OmRpZFJlY2VpdmVEYXRhKToKKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VM
b2FkZXI6OmRpZEZpbmlzaFJlc291cmNlTG9hZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlJlc291
cmNlTG9hZGVyOjpkaWRGYWlsUmVzb3VyY2VMb2FkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUmVz
b3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNvdXJjZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9O
ZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmg6CisKKzIwMTYtMDktMTkgIEtlaXRoIFJvbGxpbiAg
PGtyb2xsaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJlZHVjZSBsb2dnaW5nIGZyb20gV2ViUmVz
b3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVEYXRhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNjIyMzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBPbmx5IGxvZyBvbmNlIGV2ZW4gaWYgY2FsbGVkIG11bHRpcGxl
IHRpbWVzIGZvciBhIHNpbmdsZSByZXNvdXJjZS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvTmV0
d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNl
TG9hZGVyOjpkaWRSZWNlaXZlRGF0YSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dl
YlJlc291cmNlTG9hZGVyLmg6CisKIDIwMTYtMDktMTkgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hy
aXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBPbmx5IG92ZXJyaWRlIFVSTFBhcnNlcjo6
ZW5hYmxlZCBpZiBOU1VzZXJEZWZhdWx0cyBvYmplY3QgZXhpc3RzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0ZyYW1lTG9hZGVyLmNwcAppbmRleCA2YTgxY2JlODFlYzc0NzUyNGJiZmFjZTFjYWNhZWMxNjJj
NTUwYTY2Li4xZjQzMWYzYjcxOGY0MTI2ZGY4ZjUyZDcxYzZmZmUwZjlhNTc5YTZlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTIzMDksNyArMjMwOSw3IEBAIHZvaWQg
RnJhbWVMb2FkZXI6OmNoZWNrTG9hZENvbXBsZXRlRm9yVGhpc0ZyYW1lKCkKICAgICAgICAgICAg
ICAgICBtX2NsaWVudC5kaXNwYXRjaERpZEZhaWxMb2FkKGVycm9yKTsKICAgICAgICAgICAgICAg
ICBsb2FkaW5nRXZlbnQgPSBBWE9iamVjdENhY2hlOjpBWExvYWRpbmdGYWlsZWQ7CiAgICAgICAg
ICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImNo
ZWNrTG9hZENvbXBsZXRlRm9yVGhpc0ZyYW1lOiBGaW5pc2hlZCBmcmFtZSBsb2FkIHdpdGhvdXQg
ZXJyb3IgKGZyYW1lID0gJXAsIG1haW4gPSAlZCkiLCAmbV9mcmFtZSwgbV9mcmFtZS5pc01haW5G
cmFtZSgpKTsKKyAgICAgICAgICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJjaGVja0xv
YWRDb21wbGV0ZUZvclRoaXNGcmFtZTogRmluaXNoZWQgZnJhbWUgbG9hZCAoZnJhbWUgPSAlcCwg
bWFpbiA9ICVkKSIsICZtX2ZyYW1lLCBtX2ZyYW1lLmlzTWFpbkZyYW1lKCkpOwogI2lmIEVOQUJM
RShEQVRBX0RFVEVDVElPTikKICAgICAgICAgICAgICAgICBhdXRvKiBkb2N1bWVudCA9IG1fZnJh
bWUuZG9jdW1lbnQoKTsKICAgICAgICAgICAgICAgICBpZiAobV9mcmFtZS5zZXR0aW5ncygpLmRh
dGFEZXRlY3RvclR5cGVzKCkgIT0gRGF0YURldGVjdG9yVHlwZU5vbmUgJiYgZG9jdW1lbnQpIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5oIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmgKaW5kZXggZDYzOWU2YTljNmNiNzc5
MTUzZjlhNTJmNWUwNTI1YWE3MDYxYzEyYi4uOTg4ZTkwMGNlMjgyZDY3ZWY1Mzc4NWYyYjdiZGVl
YTU5ZDhhNTBiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9h
ZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmgKQEAgLTE0
OCw2ICsxNDgsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCB1bnNjaGVkdWxlKFdURjo6U2NoZWR1bGVQ
YWlyJik7CiAjZW5kaWYKIAorICAgIEZyYW1lKiBmcmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fZnJh
bWUuZ2V0KCk7IH0KICAgICBXRUJDT1JFX0VYUE9SVCBib29sIGlzQWx3YXlzT25Mb2dnaW5nQWxs
b3dlZCgpIGNvbnN0OwogCiBwcm90ZWN0ZWQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAppbmRleCBhNmIxZjJmOWVj
OWZkY2U0NDNmMDE0MzIzMDFjM2Y3MTFhMjZjOGRmLi41NzYxY2ExMGYxZjg1ZTlmZDNjMWU5YTI4
ODljZGVlMDhjNWI0YjQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTI4OSw3ICsyODksNyBAQCB2b2lk
IE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6YWJvcnQoKQogCiBhdXRvIE5ldHdvcmtSZXNvdXJjZUxv
YWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKFJlc291cmNlUmVzcG9uc2UmJiByZWNlaXZlZFJlc3Bv
bnNlKSAtPiBTaG91bGRDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZQogewotICAgIFJFTEVBU0Vf
TE9HX0lGX0FMTE9XRUQoImRpZFJlY2VpdmVSZXNwb25zZTogKHBhZ2VJRCA9ICVsbHUsIGZyYW1l
SUQgPSAlbGx1LCBpc01haW5SZXNvdXJjZSA9ICVkLCBpc1N5bmNocm9ub3VzID0gJWQsIGh0dHBT
dGF0dXNDb2RlID0gJWQpIiwgbV9wYXJhbWV0ZXJzLndlYlBhZ2VJRCwgbV9wYXJhbWV0ZXJzLndl
YkZyYW1lSUQsIGlzTWFpblJlc291cmNlKCksIGlzU3luY2hyb25vdXMoKSwgcmVjZWl2ZWRSZXNw
b25zZS5odHRwU3RhdHVzQ29kZSgpKTsKKyAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJkaWRS
ZWNlaXZlUmVzcG9uc2U6IChwYWdlSUQgPSAlbGx1LCBmcmFtZUlEID0gJWxsdSwgcmVzb3VyY2VJ
RCA9ICVsbHUsIGh0dHBTdGF0dXNDb2RlID0gJWQsIGxlbmd0aCA9ICVsbGQpIiwgbV9wYXJhbWV0
ZXJzLndlYlBhZ2VJRCwgbV9wYXJhbWV0ZXJzLndlYkZyYW1lSUQsIG1fcGFyYW1ldGVycy5pZGVu
dGlmaWVyLCByZWNlaXZlZFJlc3BvbnNlLmh0dHBTdGF0dXNDb2RlKCksIHJlY2VpdmVkUmVzcG9u
c2UuZXhwZWN0ZWRDb250ZW50TGVuZ3RoKCkpOwogCiAgICAgbV9yZXNwb25zZSA9IFdURk1vdmUo
cmVjZWl2ZWRSZXNwb25zZSk7CiAKQEAgLTMzMywxMSArMzMzLDExIEBAIGF1dG8gTmV0d29ya1Jl
c291cmNlTG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UoUmVzb3VyY2VSZXNwb25zZSYmIHJlY2Vp
dmVkUmVzcG9uCiAjZW5kaWYKIAogICAgIGlmIChzaG91bGRDb250aW51ZURpZFJlY2VpdmVSZXNw
b25zZSkgewotICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJkaWRSZWNlaXZlUmVzcG9u
c2U6IFNob3VsZCB3YWl0IGZvciBtZXNzYWdlIGZyb20gV2ViQ29udGVudCBwcm9jZXNzIGJlZm9y
ZSBjb250aW51aW5nIHJlc291cmNlIGxvYWQgKHBhZ2VJRCA9ICVsbHUsIGZyYW1lSUQgPSAlbGx1
LCBpc01haW5SZXNvdXJjZSA9ICVkLCBpc1N5bmNocm9ub3VzID0gJWQpIiwgc3RhdGljX2Nhc3Q8
dW5zaWduZWQgbG9uZyBsb25nPihtX3BhcmFtZXRlcnMud2ViUGFnZUlEKSwgc3RhdGljX2Nhc3Q8
dW5zaWduZWQgbG9uZyBsb25nPihtX3BhcmFtZXRlcnMud2ViRnJhbWVJRCksIGlzTWFpblJlc291
cmNlKCksIGlzU3luY2hyb25vdXMoKSk7CisgICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQo
ImRpZFJlY2VpdmVSZXNwb25zZTogU2hvdWxkIHdhaXQgZm9yIG1lc3NhZ2UgZnJvbSBXZWJDb250
ZW50IHByb2Nlc3MgYmVmb3JlIGNvbnRpbnVpbmcgcmVzb3VyY2UgbG9hZCAocGFnZUlEID0gJWxs
dSwgZnJhbWVJRCA9ICVsbHUsIHJlc291cmNlSUQgPSAlbGx1KSIsIG1fcGFyYW1ldGVycy53ZWJQ
YWdlSUQsIG1fcGFyYW1ldGVycy53ZWJGcmFtZUlELCBtX3BhcmFtZXRlcnMuaWRlbnRpZmllcik7
CiAgICAgICAgIHJldHVybiBTaG91bGRDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZTo6WWVzOwog
ICAgIH0KIAotICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImRpZFJlY2VpdmVSZXNwb25zZTog
U2hvdWxkIG5vdCB3YWl0IGZvciBtZXNzYWdlIGZyb20gV2ViQ29udGVudCBwcm9jZXNzIGJlZm9y
ZSBjb250aW51aW5nIHJlc291cmNlIGxvYWQgKHBhZ2VJRCA9ICVsbHUsIGZyYW1lSUQgPSAlbGx1
LCBpc01haW5SZXNvdXJjZSA9ICVkLCBpc1N5bmNocm9ub3VzID0gJWQpIiwgc3RhdGljX2Nhc3Q8
dW5zaWduZWQgbG9uZyBsb25nPihtX3BhcmFtZXRlcnMud2ViUGFnZUlEKSwgc3RhdGljX2Nhc3Q8
dW5zaWduZWQgbG9uZyBsb25nPihtX3BhcmFtZXRlcnMud2ViRnJhbWVJRCksIGlzTWFpblJlc291
cmNlKCksIGlzU3luY2hyb25vdXMoKSk7CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiZGlk
UmVjZWl2ZVJlc3BvbnNlOiBTaG91bGQgbm90IHdhaXQgZm9yIG1lc3NhZ2UgZnJvbSBXZWJDb250
ZW50IHByb2Nlc3MgYmVmb3JlIGNvbnRpbnVpbmcgcmVzb3VyY2UgbG9hZCAocGFnZUlEID0gJWxs
dSwgZnJhbWVJRCA9ICVsbHUsIHJlc291cmNlSUQgPSAlbGx1KSIsIG1fcGFyYW1ldGVycy53ZWJQ
YWdlSUQsIG1fcGFyYW1ldGVycy53ZWJGcmFtZUlELCBtX3BhcmFtZXRlcnMuaWRlbnRpZmllcik7
CiAgICAgcmV0dXJuIFNob3VsZENvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlOjpObzsKIH0KIApA
QCAtMzcwLDcgKzM3MCw3IEBAIHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZl
QnVmZmVyKFJlZjxTaGFyZWRCdWZmZXI+JiYgYnVmZmVyLCBpbnQgcmVwCiAKIHZvaWQgTmV0d29y
a1Jlc291cmNlTG9hZGVyOjpkaWRGaW5pc2hMb2FkaW5nKGRvdWJsZSBmaW5pc2hUaW1lKQogewot
ICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImRpZEZpbmlzaExvYWRpbmc6IChwYWdlSUQgPSAl
bGx1LCBmcmFtZUlEID0gJWxsdSwgaXNNYWluUmVzb3VyY2UgPSAlZCwgaXNTeW5jaHJvbm91cyA9
ICVkKSIsIHN0YXRpY19jYXN0PHVuc2lnbmVkIGxvbmcgbG9uZz4obV9wYXJhbWV0ZXJzLndlYlBh
Z2VJRCksIHN0YXRpY19jYXN0PHVuc2lnbmVkIGxvbmcgbG9uZz4obV9wYXJhbWV0ZXJzLndlYkZy
YW1lSUQpLCBpc01haW5SZXNvdXJjZSgpLCBpc1N5bmNocm9ub3VzKCkpOworICAgIFJFTEVBU0Vf
TE9HX0lGX0FMTE9XRUQoImRpZEZpbmlzaExvYWRpbmc6IChwYWdlSUQgPSAlbGx1LCBmcmFtZUlE
ID0gJWxsdSwgcmVzb3VyY2VJRCA9ICVsbHUpIiwgbV9wYXJhbWV0ZXJzLndlYlBhZ2VJRCwgbV9w
YXJhbWV0ZXJzLndlYkZyYW1lSUQsIG1fcGFyYW1ldGVycy5pZGVudGlmaWVyKTsKIAogI2lmIEVO
QUJMRShORVRXT1JLX0NBQ0hFKQogICAgIGlmIChtX2NhY2hlRW50cnlGb3JWYWxpZGF0aW9uKSB7
CkBAIC00MDEsNyArNDAxLDcgQEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmRpZEZpbmlz
aExvYWRpbmcoZG91YmxlIGZpbmlzaFRpbWUpCiAKIHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVy
OjpkaWRGYWlsTG9hZGluZyhjb25zdCBSZXNvdXJjZUVycm9yJiBlcnJvcikKIHsKLSAgICBSRUxF
QVNFX0xPR19JRl9BTExPV0VEKCJkaWRGYWlsTG9hZGluZzogKHBhZ2VJRCA9ICVsbHUsIGZyYW1l
SUQgPSAlbGx1LCBpc01haW5SZXNvdXJjZSA9ICVkLCBpc1N5bmNocm9ub3VzID0gJWQsIGlzVGlt
ZW91dCA9ICVkLCBpc0NhbmNlbGxhdGlvbiA9ICVkLCBlcnJDb2RlID0gJWQpIiwgbV9wYXJhbWV0
ZXJzLndlYlBhZ2VJRCwgbV9wYXJhbWV0ZXJzLndlYkZyYW1lSUQsIGlzTWFpblJlc291cmNlKCks
IGlzU3luY2hyb25vdXMoKSwgZXJyb3IuaXNUaW1lb3V0KCksIGVycm9yLmlzQ2FuY2VsbGF0aW9u
KCksIGVycm9yLmVycm9yQ29kZSgpKTsKKyAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJkaWRG
YWlsTG9hZGluZzogKHBhZ2VJRCA9ICVsbHUsIGZyYW1lSUQgPSAlbGx1LCByZXNvdXJjZUlEID0g
JWxsdSwgaXNUaW1lb3V0ID0gJWQsIGlzQ2FuY2VsbGF0aW9uID0gJWQsIGVyckNvZGUgPSAlZCki
LCBtX3BhcmFtZXRlcnMud2ViUGFnZUlELCBtX3BhcmFtZXRlcnMud2ViRnJhbWVJRCwgbV9wYXJh
bWV0ZXJzLmlkZW50aWZpZXIsIGVycm9yLmlzVGltZW91dCgpLCBlcnJvci5pc0NhbmNlbGxhdGlv
bigpLCBlcnJvci5lcnJvckNvZGUoKSk7CiAKICAgICBBU1NFUlQoIWVycm9yLmlzTnVsbCgpKTsK
IApAQCAtNDQ3LDcgKzQ0Nyw3IEBAIHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjp3aWxsU2Vu
ZFJlZGlyZWN0ZWRSZXF1ZXN0KFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsCiAKIHZvaWQgTmV0
d29ya1Jlc291cmNlTG9hZGVyOjpjb250aW51ZVdpbGxTZW5kUmVxdWVzdChSZXNvdXJjZVJlcXVl
c3QmJiBuZXdSZXF1ZXN0KQogewotICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImNvbnRpbnVl
V2lsbFNlbmRSZXF1ZXN0OiAocGFnZUlEID0gJWxsdSwgZnJhbWVJRCA9ICVsbHUsIGlzTWFpblJl
c291cmNlID0gJWQsIGlzU3luY2hyb25vdXMgPSAlZCkiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBs
b25nIGxvbmc+KG1fcGFyYW1ldGVycy53ZWJQYWdlSUQpLCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBs
b25nIGxvbmc+KG1fcGFyYW1ldGVycy53ZWJGcmFtZUlEKSwgaXNNYWluUmVzb3VyY2UoKSwgaXNT
eW5jaHJvbm91cygpKTsKKyAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJjb250aW51ZVdpbGxT
ZW5kUmVxdWVzdDogKHBhZ2VJRCA9ICVsbHUsIGZyYW1lSUQgPSAlbGx1LCByZXNvdXJjZUlEID0g
JWxsdSkiLCBtX3BhcmFtZXRlcnMud2ViUGFnZUlELCBtX3BhcmFtZXRlcnMud2ViRnJhbWVJRCwg
bV9wYXJhbWV0ZXJzLmlkZW50aWZpZXIpOwogCiAjaWYgRU5BQkxFKE5FVFdPUktfQ0FDSEUpCiAg
ICAgaWYgKG1faXNXYWl0aW5nQ29udGludWVXaWxsU2VuZFJlcXVlc3RGb3JDYWNoZWRSZWRpcmVj
dCkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxv
YWRlclN0cmF0ZWd5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJM
b2FkZXJTdHJhdGVneS5jcHAKaW5kZXggMGUyNjdmNzg1MGIyZjM1OWEwZDdhYmEyMjNjZGQwY2Q2
YWNmYWFhZi4uMGE3NTc5ZWYzNTVlNmQyYmJmZDE5OGNlODMyNDQyMGM2ZmFkZDA5YSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3Ry
YXRlZ3kuY3BwCkBAIC0xMzIsMTkgKzEzMiwzMSBAQCB2b2lkIFdlYkxvYWRlclN0cmF0ZWd5Ojpz
Y2hlZHVsZUxvYWQoUmVzb3VyY2VMb2FkZXImIHJlc291cmNlTG9hZGVyLCBDYWNoZWRSZXNvdQog
ICAgIFJlc291cmNlTG9hZElkZW50aWZpZXIgaWRlbnRpZmllciA9IHJlc291cmNlTG9hZGVyLmlk
ZW50aWZpZXIoKTsKICAgICBBU1NFUlQoaWRlbnRpZmllcik7CiAKKyAgICAvLyBGSVhNRTogU29t
ZSBlbnRpdGllcyBpbiBXZWJDb3JlIHVzZSBXZWJDb3JlJ3MgIkVtcHR5RnJhbWVMb2FkZXJDbGll
bnQiIGluc3RlYWQgb2YgaGF2aW5nIGEgcHJvcGVyIFdlYkZyYW1lTG9hZGVyQ2xpZW50LgorICAg
IC8vIEVtcHR5RnJhbWVMb2FkZXJDbGllbnQgc2hvdWxkbid0IGV4aXN0IGFuZCBldmVyeXRoaW5n
IHNob3VsZCBiZSB1c2luZyBhIFdlYkZyYW1lTG9hZGVyQ2xpZW50LAorICAgIC8vIGJ1dCBpbiB0
aGUgbWVhbnRpbWUgd2UgaGF2ZSB0byBtYWtlIHN1cmUgbm90IHRvIG1pcy1jYXN0LgorICAgIFdl
YkZyYW1lTG9hZGVyQ2xpZW50KiB3ZWJGcmFtZUxvYWRlckNsaWVudCA9IHRvV2ViRnJhbWVMb2Fk
ZXJDbGllbnQocmVzb3VyY2VMb2FkZXIuZnJhbWVMb2FkZXIoKS0+Y2xpZW50KCkpOworICAgIFdl
YkZyYW1lKiB3ZWJGcmFtZSA9IHdlYkZyYW1lTG9hZGVyQ2xpZW50ID8gd2ViRnJhbWVMb2FkZXJD
bGllbnQtPndlYkZyYW1lKCkgOiBudWxscHRyOworICAgIFdlYlBhZ2UqIHdlYlBhZ2UgPSB3ZWJG
cmFtZSA/IHdlYkZyYW1lLT5wYWdlKCkgOiBudWxscHRyOworCisgICAgV2ViUmVzb3VyY2VMb2Fk
ZXI6OlRyYWNraW5nUGFyYW1ldGVycyB0cmFja2luZ1BhcmFtZXRlcnM7CisgICAgdHJhY2tpbmdQ
YXJhbWV0ZXJzLnBhZ2VJRCA9IHdlYlBhZ2UgPyB3ZWJQYWdlLT5wYWdlSUQoKSA6IDA7CisgICAg
dHJhY2tpbmdQYXJhbWV0ZXJzLmZyYW1lSUQgPSB3ZWJGcmFtZSA/IHdlYkZyYW1lLT5mcmFtZUlE
KCkgOiAwOworICAgIHRyYWNraW5nUGFyYW1ldGVycy5yZXNvdXJjZUlEID0gaWRlbnRpZmllcjsK
KwogI2lmIEVOQUJMRShXRUJfQVJDSElWRSkgfHwgRU5BQkxFKE1IVE1MKQogICAgIC8vIElmIHRo
ZSBEb2N1bWVudExvYWRlciBzY2hlZHVsZXMgdGhpcyBhcyBhbiBhcmNoaXZlIHJlc291cmNlIGxv
YWQsCiAgICAgLy8gdGhlbiB3ZSBzaG91bGQgcmVtZW1iZXIgdGhlIFJlc291cmNlTG9hZGVyIGlu
IG91ciByZWNvcmRzIGJ1dCBub3Qgc2NoZWR1bGUgaXQgaW4gdGhlIE5ldHdvcmtQcm9jZXNzLgog
ICAgIGlmIChyZXNvdXJjZUxvYWRlci5kb2N1bWVudExvYWRlcigpLT5zY2hlZHVsZUFyY2hpdmVM
b2FkKHJlc291cmNlTG9hZGVyLCByZXNvdXJjZUxvYWRlci5yZXF1ZXN0KCkpKSB7CiAgICAgICAg
IExPRyhOZXR3b3JrU2NoZWR1bGluZywgIihXZWJQcm9jZXNzKSBXZWJMb2FkZXJTdHJhdGVneTo6
c2NoZWR1bGVMb2FkLCB1cmwgJyVzJyB3aWxsIGJlIGhhbmRsZWQgYXMgYW4gYXJjaGl2ZSByZXNv
dXJjZS4iLCByZXNvdXJjZUxvYWRlci51cmwoKS5zdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKLSAg
ICAgICAgbV93ZWJSZXNvdXJjZUxvYWRlcnMuc2V0KGlkZW50aWZpZXIsIFdlYlJlc291cmNlTG9h
ZGVyOjpjcmVhdGUocmVzb3VyY2VMb2FkZXIpKTsKKyAgICAgICAgbV93ZWJSZXNvdXJjZUxvYWRl
cnMuc2V0KGlkZW50aWZpZXIsIFdlYlJlc291cmNlTG9hZGVyOjpjcmVhdGUocmVzb3VyY2VMb2Fk
ZXIsIHRyYWNraW5nUGFyYW1ldGVycykpOwogICAgICAgICByZXR1cm47CiAgICAgfQogI2VuZGlm
CiAKICAgICBpZiAocmVzb3VyY2VMb2FkZXIuZG9jdW1lbnRMb2FkZXIoKS0+YXBwbGljYXRpb25D
YWNoZUhvc3QoKS0+bWF5YmVMb2FkUmVzb3VyY2UocmVzb3VyY2VMb2FkZXIsIHJlc291cmNlTG9h
ZGVyLnJlcXVlc3QoKSwgcmVzb3VyY2VMb2FkZXIucmVxdWVzdCgpLnVybCgpKSkgewogICAgICAg
ICBMT0coTmV0d29ya1NjaGVkdWxpbmcsICIoV2ViUHJvY2VzcykgV2ViTG9hZGVyU3RyYXRlZ3k6
OnNjaGVkdWxlTG9hZCwgdXJsICclcycgd2lsbCBiZSBsb2FkZWQgZnJvbSBhcHBsaWNhdGlvbiBj
YWNoZS4iLCByZXNvdXJjZUxvYWRlci51cmwoKS5zdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKLSAg
ICAgICAgbV93ZWJSZXNvdXJjZUxvYWRlcnMuc2V0KGlkZW50aWZpZXIsIFdlYlJlc291cmNlTG9h
ZGVyOjpjcmVhdGUocmVzb3VyY2VMb2FkZXIpKTsKKyAgICAgICAgbV93ZWJSZXNvdXJjZUxvYWRl
cnMuc2V0KGlkZW50aWZpZXIsIFdlYlJlc291cmNlTG9hZGVyOjpjcmVhdGUocmVzb3VyY2VMb2Fk
ZXIsIHRyYWNraW5nUGFyYW1ldGVycykpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0x
NzcsMTMgKzE4OSw2IEBAIHZvaWQgV2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxlTG9hZChSZXNv
dXJjZUxvYWRlciYgcmVzb3VyY2VMb2FkZXIsIENhY2hlZFJlc291CiAgICAgQ29udGVudFNuaWZm
aW5nUG9saWN5IGNvbnRlbnRTbmlmZmluZ1BvbGljeSA9IHJlc291cmNlTG9hZGVyLnNob3VsZFNu
aWZmQ29udGVudCgpID8gU25pZmZDb250ZW50IDogRG9Ob3RTbmlmZkNvbnRlbnQ7CiAgICAgU3Rv
cmVkQ3JlZGVudGlhbHMgYWxsb3dTdG9yZWRDcmVkZW50aWFscyA9IHJlc291cmNlTG9hZGVyLnNo
b3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlKCkgPyBBbGxvd1N0b3JlZENyZWRlbnRpYWxzIDogRG9O
b3RBbGxvd1N0b3JlZENyZWRlbnRpYWxzOwogCi0gICAgLy8gRklYTUU6IFNvbWUgZW50aXRpZXMg
aW4gV2ViQ29yZSB1c2UgV2ViQ29yZSdzICJFbXB0eUZyYW1lTG9hZGVyQ2xpZW50IiBpbnN0ZWFk
IG9mIGhhdmluZyBhIHByb3BlciBXZWJGcmFtZUxvYWRlckNsaWVudC4KLSAgICAvLyBFbXB0eUZy
YW1lTG9hZGVyQ2xpZW50IHNob3VsZG4ndCBleGlzdCBhbmQgZXZlcnl0aGluZyBzaG91bGQgYmUg
dXNpbmcgYSBXZWJGcmFtZUxvYWRlckNsaWVudCwKLSAgICAvLyBidXQgaW4gdGhlIG1lYW50aW1l
IHdlIGhhdmUgdG8gbWFrZSBzdXJlIG5vdCB0byBtaXMtY2FzdC4KLSAgICBXZWJGcmFtZUxvYWRl
ckNsaWVudCogd2ViRnJhbWVMb2FkZXJDbGllbnQgPSB0b1dlYkZyYW1lTG9hZGVyQ2xpZW50KHJl
c291cmNlTG9hZGVyLmZyYW1lTG9hZGVyKCktPmNsaWVudCgpKTsKLSAgICBXZWJGcmFtZSogd2Vi
RnJhbWUgPSB3ZWJGcmFtZUxvYWRlckNsaWVudCA/IHdlYkZyYW1lTG9hZGVyQ2xpZW50LT53ZWJG
cmFtZSgpIDogMDsKLSAgICBXZWJQYWdlKiB3ZWJQYWdlID0gd2ViRnJhbWUgPyB3ZWJGcmFtZS0+
cGFnZSgpIDogMDsKLQogICAgIE5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzIGxvYWRQYXJh
bWV0ZXJzOwogICAgIGxvYWRQYXJhbWV0ZXJzLmlkZW50aWZpZXIgPSBpZGVudGlmaWVyOwogICAg
IGxvYWRQYXJhbWV0ZXJzLndlYlBhZ2VJRCA9IHdlYlBhZ2UgPyB3ZWJQYWdlLT5wYWdlSUQoKSA6
IDA7CkBAIC0yMDIsMTUgKzIwNywxNSBAQCB2b2lkIFdlYkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVs
ZUxvYWQoUmVzb3VyY2VMb2FkZXImIHJlc291cmNlTG9hZGVyLCBDYWNoZWRSZXNvdQogICAgIEFT
U0VSVCgobG9hZFBhcmFtZXRlcnMud2ViUGFnZUlEICYmIGxvYWRQYXJhbWV0ZXJzLndlYkZyYW1l
SUQpIHx8IGxvYWRQYXJhbWV0ZXJzLmNsaWVudENyZWRlbnRpYWxQb2xpY3kgPT0gQ2xpZW50Q3Jl
ZGVudGlhbFBvbGljeTo6Q2Fubm90QXNrQ2xpZW50Rm9yQ3JlZGVudGlhbHMpOwogCiAgICAgaWYg
KCFXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5uZXR3b3JrQ29ubmVjdGlvbigpLmNvbm5lY3Rpb24o
KS5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6U2NoZWR1bGVS
ZXNvdXJjZUxvYWQobG9hZFBhcmFtZXRlcnMpLCAwKSkgewotICAgICAgICBSRUxFQVNFX0xPR19F
UlJPUl9JRl9BTExPV0VEKCJzY2hlZHVsZUxvYWQ6IFVuYWJsZSB0byBzY2hlZHVsZSByZXNvdXJj
ZSB3aXRoIHRoZSBOZXR3b3JrUHJvY2VzcyAocHJpb3JpdHkgPSAlZCwgcGFnZUlEID0gJWxsdSwg
ZnJhbWVJRCA9ICVsbHUpIiwgc3RhdGljX2Nhc3Q8aW50PihyZXNvdXJjZUxvYWRlci5yZXF1ZXN0
KCkucHJpb3JpdHkoKSksIHN0YXRpY19jYXN0PHVuc2lnbmVkIGxvbmcgbG9uZz4obG9hZFBhcmFt
ZXRlcnMud2ViUGFnZUlEKSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9uZyBsb25nPihsb2FkUGFy
YW1ldGVycy53ZWJGcmFtZUlEKSk7CisgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9X
RUQoInNjaGVkdWxlTG9hZDogVW5hYmxlIHRvIHNjaGVkdWxlIHJlc291cmNlIHdpdGggdGhlIE5l
dHdvcmtQcm9jZXNzIChmcmFtZSA9ICVwLCBwcmlvcml0eSA9ICVkLCBwYWdlSUQgPSAlbGx1LCBm
cmFtZUlEID0gJWxsdSwgcmVzb3VyY2VJRCA9ICVsbHUpIiwgcmVzb3VyY2VMb2FkZXIuZnJhbWUo
KSwgc3RhdGljX2Nhc3Q8aW50PihyZXNvdXJjZUxvYWRlci5yZXF1ZXN0KCkucHJpb3JpdHkoKSks
IGxvYWRQYXJhbWV0ZXJzLndlYlBhZ2VJRCwgbG9hZFBhcmFtZXRlcnMuaWRlbnRpZmllciwgbG9h
ZFBhcmFtZXRlcnMud2ViRnJhbWVJRCk7CiAgICAgICAgIC8vIFdlIHByb2JhYmx5IGZhaWxlZCB0
byBzY2hlZHVsZSB0aGlzIGxvYWQgd2l0aCB0aGUgTmV0d29ya1Byb2Nlc3MgYmVjYXVzZSBpdCBo
YWQgY3Jhc2hlZC4KICAgICAgICAgLy8gVGhpcyBsb2FkIHdpbGwgbmV2ZXIgc3VjY2VlZCBzbyB3
ZSB3aWxsIHNjaGVkdWxlIGl0IHRvIGZhaWwgYXN5bmNocm9ub3VzbHkuCiAgICAgICAgIHNjaGVk
dWxlSW50ZXJuYWxseUZhaWxlZExvYWQocmVzb3VyY2VMb2FkZXIpOwogICAgICAgICByZXR1cm47
CiAgICAgfQogCi0gICAgYXV0byB3ZWJSZXNvdXJjZUxvYWRlciA9IFdlYlJlc291cmNlTG9hZGVy
OjpjcmVhdGUocmVzb3VyY2VMb2FkZXIpOwotICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoInNj
aGVkdWxlTG9hZDogUmVzb3VyY2Ugd2lsbCBiZSBzY2hlZHVsZWQgd2l0aCB0aGUgTmV0d29ya1By
b2Nlc3MgKHByaW9yaXR5ID0gJWQsIHBhZ2VJRCA9ICVsbHUsIGZyYW1lSUQgPSAlbGx1LCBXZWJS
ZXNvdXJjZUxvYWRlciA9ICVwKSIsIHN0YXRpY19jYXN0PGludD4ocmVzb3VyY2VMb2FkZXIucmVx
dWVzdCgpLnByaW9yaXR5KCkpLCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBsb25nIGxvbmc+KGxvYWRQ
YXJhbWV0ZXJzLndlYlBhZ2VJRCksIHN0YXRpY19jYXN0PHVuc2lnbmVkIGxvbmcgbG9uZz4obG9h
ZFBhcmFtZXRlcnMud2ViRnJhbWVJRCksIHdlYlJlc291cmNlTG9hZGVyLnB0cigpKTsKKyAgICBh
dXRvIHdlYlJlc291cmNlTG9hZGVyID0gV2ViUmVzb3VyY2VMb2FkZXI6OmNyZWF0ZShyZXNvdXJj
ZUxvYWRlciwgdHJhY2tpbmdQYXJhbWV0ZXJzKTsKKyAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VE
KCJzY2hlZHVsZUxvYWQ6IFJlc291cmNlIGhhcyBiZWVuIHF1ZXVlZCBmb3Igc2NoZWR1bGluZyB3
aXRoIHRoZSBOZXR3b3JrUHJvY2VzcyAoZnJhbWUgPSAlcCwgcHJpb3JpdHkgPSAlZCwgcGFnZUlE
ID0gJWxsdSwgZnJhbWVJRCA9ICVsbHUsIHJlc291cmNlSUQgPSAlbGx1LCBXZWJSZXNvdXJjZUxv
YWRlciA9ICVwKSIsIHJlc291cmNlTG9hZGVyLmZyYW1lKCksIHN0YXRpY19jYXN0PGludD4ocmVz
b3VyY2VMb2FkZXIucmVxdWVzdCgpLnByaW9yaXR5KCkpLCBsb2FkUGFyYW1ldGVycy53ZWJQYWdl
SUQsIGxvYWRQYXJhbWV0ZXJzLndlYkZyYW1lSUQsIGxvYWRQYXJhbWV0ZXJzLmlkZW50aWZpZXIs
IHdlYlJlc291cmNlTG9hZGVyLnB0cigpKTsKICAgICBtX3dlYlJlc291cmNlTG9hZGVycy5zZXQo
aWRlbnRpZmllciwgV1RGTW92ZSh3ZWJSZXNvdXJjZUxvYWRlcikpOwogfQogCkBAIC0yMzIsNyAr
MjM3LDcgQEAgdm9pZCBXZWJMb2FkZXJTdHJhdGVneTo6aW50ZXJuYWxseUZhaWxlZExvYWRUaW1l
ckZpcmVkKCkKIHZvaWQgV2ViTG9hZGVyU3RyYXRlZ3k6OnN0YXJ0TG9jYWxMb2FkKFdlYkNvcmU6
OlJlc291cmNlTG9hZGVyJiByZXNvdXJjZUxvYWRlcikKIHsKICAgICByZXNvdXJjZUxvYWRlci5z
dGFydCgpOwotICAgIG1fd2ViUmVzb3VyY2VMb2FkZXJzLnNldChyZXNvdXJjZUxvYWRlci5pZGVu
dGlmaWVyKCksIFdlYlJlc291cmNlTG9hZGVyOjpjcmVhdGUocmVzb3VyY2VMb2FkZXIpKTsKKyAg
ICBtX3dlYlJlc291cmNlTG9hZGVycy5zZXQocmVzb3VyY2VMb2FkZXIuaWRlbnRpZmllcigpLCBX
ZWJSZXNvdXJjZUxvYWRlcjo6Y3JlYXRlKHJlc291cmNlTG9hZGVyLCB7IH0pKTsKIH0KIAogdm9p
ZCBXZWJMb2FkZXJTdHJhdGVneTo6cmVtb3ZlKFJlc291cmNlTG9hZGVyKiByZXNvdXJjZUxvYWRl
cikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNv
dXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVz
b3VyY2VMb2FkZXIuY3BwCmluZGV4IDM2NWQ1OTg4YzRjNTUwZDk3NTQ4MGMwNGEwMzdkZmUzZDM3
MjZmMTcuLmQ3MTk3MWM5NmU0ZmU1OTA1ZjI2ZWI4MWNkZjg4OWNiNDVmM2M5ODkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9h
ZGVyLmNwcApAQCAtNDYsMTMgKzQ2LDE0IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBu
YW1lc3BhY2UgV2ViS2l0IHsKIAotUmVmPFdlYlJlc291cmNlTG9hZGVyPiBXZWJSZXNvdXJjZUxv
YWRlcjo6Y3JlYXRlKFJlZjxSZXNvdXJjZUxvYWRlcj4mJiBjb3JlTG9hZGVyKQorUmVmPFdlYlJl
c291cmNlTG9hZGVyPiBXZWJSZXNvdXJjZUxvYWRlcjo6Y3JlYXRlKFJlZjxSZXNvdXJjZUxvYWRl
cj4mJiBjb3JlTG9hZGVyLCBjb25zdCBUcmFja2luZ1BhcmFtZXRlcnMmIHRyYWNraW5nUGFyYW1l
dGVycykKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJSZXNvdXJjZUxvYWRlcihXVEZN
b3ZlKGNvcmVMb2FkZXIpKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViUmVzb3VyY2VM
b2FkZXIoV1RGTW92ZShjb3JlTG9hZGVyKSwgdHJhY2tpbmdQYXJhbWV0ZXJzKSk7CiB9CiAKLVdl
YlJlc291cmNlTG9hZGVyOjpXZWJSZXNvdXJjZUxvYWRlcihSZWY8V2ViQ29yZTo6UmVzb3VyY2VM
b2FkZXI+JiYgY29yZUxvYWRlcikKK1dlYlJlc291cmNlTG9hZGVyOjpXZWJSZXNvdXJjZUxvYWRl
cihSZWY8V2ViQ29yZTo6UmVzb3VyY2VMb2FkZXI+JiYgY29yZUxvYWRlciwgY29uc3QgVHJhY2tp
bmdQYXJhbWV0ZXJzJiB0cmFja2luZ1BhcmFtZXRlcnMpCiAgICAgOiBtX2NvcmVMb2FkZXIoV1RG
TW92ZShjb3JlTG9hZGVyKSkKKyAgICAsIG1fdHJhY2tpbmdQYXJhbWV0ZXJzKHRyYWNraW5nUGFy
YW1ldGVycykKIHsKIH0KIApAQCAtNzgsNyArNzksNyBAQCB2b2lkIFdlYlJlc291cmNlTG9hZGVy
OjpkZXRhY2hGcm9tQ29yZUxvYWRlcigpCiB2b2lkIFdlYlJlc291cmNlTG9hZGVyOjp3aWxsU2Vu
ZFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiYgcHJvcG9zZWRSZXF1ZXN0LCBSZXNvdXJjZVJlc3Bv
bnNlJiYgcmVkaXJlY3RSZXNwb25zZSkKIHsKICAgICBMT0coTmV0d29yaywgIihXZWJQcm9jZXNz
KSBXZWJSZXNvdXJjZUxvYWRlcjo6d2lsbFNlbmRSZXF1ZXN0IHRvICclcyciLCBwcm9wb3NlZFJl
cXVlc3QudXJsKCkuc3RyaW5nKCkubGF0aW4xKCkuZGF0YSgpKTsKLSAgICBSRUxFQVNFX0xPR19J
Rl9BTExPV0VEKCJ3aWxsU2VuZFJlcXVlc3QiKTsKKyAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VE
KCJ3aWxsU2VuZFJlcXVlc3Q6IChwYWdlSUQgPSAlbGx1LCBmcmFtZUlEID0gJWxsdSwgcmVzb3Vy
Y2VJRCA9ICVsbHUpIiwgbV90cmFja2luZ1BhcmFtZXRlcnMucGFnZUlELCBtX3RyYWNraW5nUGFy
YW1ldGVycy5mcmFtZUlELCBtX3RyYWNraW5nUGFyYW1ldGVycy5yZXNvdXJjZUlEKTsKIAogICAg
IFJlZlB0cjxXZWJSZXNvdXJjZUxvYWRlcj4gcHJvdGVjdGVkVGhpcyh0aGlzKTsKIApAQCAtMTAx
LDcgKzEwMiw3IEBAIHZvaWQgV2ViUmVzb3VyY2VMb2FkZXI6OmRpZFNlbmREYXRhKHVpbnQ2NF90
IGJ5dGVzU2VudCwgdWludDY0X3QgdG90YWxCeXRlc1RvQmVTCiB2b2lkIFdlYlJlc291cmNlTG9h
ZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2Us
IGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UpCiB7CiAgICAgTE9H
KE5ldHdvcmssICIoV2ViUHJvY2VzcykgV2ViUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNw
b25zZSBmb3IgJyVzJy4gU3RhdHVzICVkLiIsIG1fY29yZUxvYWRlci0+dXJsKCkuc3RyaW5nKCku
bGF0aW4xKCkuZGF0YSgpLCByZXNwb25zZS5odHRwU3RhdHVzQ29kZSgpKTsKLSAgICBSRUxFQVNF
X0xPR19JRl9BTExPV0VEKCJkaWRSZWNlaXZlUmVzcG9uc2U6IChzdGF0dXMgPSAlZCkiLCByZXNw
b25zZS5odHRwU3RhdHVzQ29kZSgpKTsKKyAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJkaWRS
ZWNlaXZlUmVzcG9uc2U6IChwYWdlSUQgPSAlbGx1LCBmcmFtZUlEID0gJWxsdSwgcmVzb3VyY2VJ
RCA9ICVsbHUsIHN0YXR1cyA9ICVkKSIsIG1fdHJhY2tpbmdQYXJhbWV0ZXJzLnBhZ2VJRCwgbV90
cmFja2luZ1BhcmFtZXRlcnMuZnJhbWVJRCwgbV90cmFja2luZ1BhcmFtZXRlcnMucmVzb3VyY2VJ
RCwgcmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKSk7CiAKICAgICBSZWY8V2ViUmVzb3VyY2VMb2Fk
ZXI+IHByb3RlY3QoKnRoaXMpOwogCkBAIC0xMzMsNyArMTM0LDExIEBAIHZvaWQgV2ViUmVzb3Vy
Y2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNw
b25zZSwgYm9vCiB2b2lkIFdlYlJlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZlRGF0YShjb25zdCBJ
UEM6OkRhdGFSZWZlcmVuY2UmIGRhdGEsIGludDY0X3QgZW5jb2RlZERhdGFMZW5ndGgpCiB7CiAg
ICAgTE9HKE5ldHdvcmssICIoV2ViUHJvY2VzcykgV2ViUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2Vp
dmVEYXRhIG9mIHNpemUgJWx1IGZvciAnJXMnIiwgZGF0YS5zaXplKCksIG1fY29yZUxvYWRlci0+
dXJsKCkuc3RyaW5nKCkubGF0aW4xKCkuZGF0YSgpKTsKLSAgICBSRUxFQVNFX0xPR19JRl9BTExP
V0VEKCJkaWRSZWNlaXZlRGF0YTogKHNpemUgPSAlbHUpIiwgZGF0YS5zaXplKCkpOworCisgICAg
aWYgKCFtX2hhc1JlY2VpdmVkRGF0YSkgeworICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VE
KCJkaWRSZWNlaXZlRGF0YTogU3RhcnRlZCByZWNlaXZpbmcgZGF0YSAocGFnZUlEID0gJWxsdSwg
ZnJhbWVJRCA9ICVsbHUsIHJlc291cmNlSUQgPSAlbGx1KSIsIG1fdHJhY2tpbmdQYXJhbWV0ZXJz
LnBhZ2VJRCwgbV90cmFja2luZ1BhcmFtZXRlcnMuZnJhbWVJRCwgbV90cmFja2luZ1BhcmFtZXRl
cnMucmVzb3VyY2VJRCk7CisgICAgICAgIG1faGFzUmVjZWl2ZWREYXRhID0gdHJ1ZTsKKyAgICB9
CiAKICNpZiBVU0UoUVVJQ0tfTE9PSykKICAgICBpZiAoUXVpY2tMb29rSGFuZGxlKiBxdWlja0xv
b2tIYW5kbGUgPSBtX2NvcmVMb2FkZXItPmRvY3VtZW50TG9hZGVyKCktPnF1aWNrTG9va0hhbmRs
ZSgpKSB7CkBAIC0xNDcsNyArMTUyLDcgQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRlcjo6ZGlkUmVj
ZWl2ZURhdGEoY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBkYXRhLCBpbnQ2NF90IGUKIHZvaWQg
V2ViUmVzb3VyY2VMb2FkZXI6OmRpZEZpbmlzaFJlc291cmNlTG9hZChkb3VibGUgZmluaXNoVGlt
ZSkKIHsKICAgICBMT0coTmV0d29yaywgIihXZWJQcm9jZXNzKSBXZWJSZXNvdXJjZUxvYWRlcjo6
ZGlkRmluaXNoUmVzb3VyY2VMb2FkIGZvciAnJXMnIiwgbV9jb3JlTG9hZGVyLT51cmwoKS5zdHJp
bmcoKS5sYXRpbjEoKS5kYXRhKCkpOwotICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImRpZEZp
bmlzaFJlc291cmNlTG9hZCIpOworICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImRpZEZpbmlz
aFJlc291cmNlTG9hZDogKHBhZ2VJRCA9ICVsbHUsIGZyYW1lSUQgPSAlbGx1LCByZXNvdXJjZUlE
ID0gJWxsdSkiLCBtX3RyYWNraW5nUGFyYW1ldGVycy5wYWdlSUQsIG1fdHJhY2tpbmdQYXJhbWV0
ZXJzLmZyYW1lSUQsIG1fdHJhY2tpbmdQYXJhbWV0ZXJzLnJlc291cmNlSUQpOwogCiAjaWYgVVNF
KFFVSUNLX0xPT0spCiAgICAgaWYgKFF1aWNrTG9va0hhbmRsZSogcXVpY2tMb29rSGFuZGxlID0g
bV9jb3JlTG9hZGVyLT5kb2N1bWVudExvYWRlcigpLT5xdWlja0xvb2tIYW5kbGUoKSkgewpAQCAt
MTYxLDcgKzE2Niw3IEBAIHZvaWQgV2ViUmVzb3VyY2VMb2FkZXI6OmRpZEZpbmlzaFJlc291cmNl
TG9hZChkb3VibGUgZmluaXNoVGltZSkKIHZvaWQgV2ViUmVzb3VyY2VMb2FkZXI6OmRpZEZhaWxS
ZXNvdXJjZUxvYWQoY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCiB7CiAgICAgTE9HKE5ldHdv
cmssICIoV2ViUHJvY2VzcykgV2ViUmVzb3VyY2VMb2FkZXI6OmRpZEZhaWxSZXNvdXJjZUxvYWQg
Zm9yICclcyciLCBtX2NvcmVMb2FkZXItPnVybCgpLnN0cmluZygpLmxhdGluMSgpLmRhdGEoKSk7
Ci0gICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiZGlkRmFpbFJlc291cmNlTG9hZCIpOworICAg
IFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImRpZEZhaWxSZXNvdXJjZUxvYWQ6IChwYWdlSUQgPSAl
bGx1LCBmcmFtZUlEID0gJWxsdSwgcmVzb3VyY2VJRCA9ICVsbHUpIiwgbV90cmFja2luZ1BhcmFt
ZXRlcnMucGFnZUlELCBtX3RyYWNraW5nUGFyYW1ldGVycy5mcmFtZUlELCBtX3RyYWNraW5nUGFy
YW1ldGVycy5yZXNvdXJjZUlEKTsKIAogI2lmIFVTRShRVUlDS19MT09LKQogICAgIGlmIChRdWlj
a0xvb2tIYW5kbGUqIHF1aWNrTG9va0hhbmRsZSA9IG1fY29yZUxvYWRlci0+ZG9jdW1lbnRMb2Fk
ZXIoKS0+cXVpY2tMb29rSGFuZGxlKCkpCkBAIC0xNzYsNyArMTgxLDcgQEAgdm9pZCBXZWJSZXNv
dXJjZUxvYWRlcjo6ZGlkRmFpbFJlc291cmNlTG9hZChjb25zdCBSZXNvdXJjZUVycm9yJiBlcnJv
cikKIHZvaWQgV2ViUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNvdXJjZShjb25zdCBTaGFy
ZWFibGVSZXNvdXJjZTo6SGFuZGxlJiBoYW5kbGUsIGRvdWJsZSBmaW5pc2hUaW1lKQogewogICAg
IExPRyhOZXR3b3JrLCAiKFdlYlByb2Nlc3MpIFdlYlJlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZl
UmVzb3VyY2UgZm9yICclcyciLCBtX2NvcmVMb2FkZXItPnVybCgpLnN0cmluZygpLmxhdGluMSgp
LmRhdGEoKSk7Ci0gICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiZGlkUmVjZWl2ZVJlc291cmNl
Iik7CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiZGlkUmVjZWl2ZVJlc291cmNlOiAocGFn
ZUlEID0gJWxsdSwgZnJhbWVJRCA9ICVsbHUsIHJlc291cmNlSUQgPSAlbGx1KSIsIG1fdHJhY2tp
bmdQYXJhbWV0ZXJzLnBhZ2VJRCwgbV90cmFja2luZ1BhcmFtZXRlcnMuZnJhbWVJRCwgbV90cmFj
a2luZ1BhcmFtZXRlcnMucmVzb3VyY2VJRCk7CiAKICAgICBSZWZQdHI8U2hhcmVkQnVmZmVyPiBi
dWZmZXIgPSBoYW5kbGUudHJ5V3JhcEluU2hhcmVkQnVmZmVyKCk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmgKaW5kZXgg
ZGVhZTNkNGM2MzRhNjQ1NDBkMzA3MzUzNjdiYjU4NzVmMGJlNGE3Ni4uZWMyYzhkNWVkNDRmNjY3
NDQ4YmM0Y2U5MDdlMTdhYjkxNDQ2MGIzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmgKQEAgLTQxLDggKzQxLDYgQEAg
Y2xhc3MgRGF0YVJlZmVyZW5jZTsKIH0KIAogbmFtZXNwYWNlIFdlYkNvcmUgewotY2xhc3MgQ2Vy
dGlmaWNhdGVJbmZvOwotY2xhc3MgUHJvdGVjdGlvblNwYWNlOwogY2xhc3MgUmVzb3VyY2VFcnJv
cjsKIGNsYXNzIFJlc291cmNlTG9hZGVyOwogY2xhc3MgUmVzb3VyY2VSZXF1ZXN0OwpAQCAtNTUs
NyArNTMsMTMgQEAgdHlwZWRlZiB1aW50NjRfdCBSZXNvdXJjZUxvYWRJZGVudGlmaWVyOwogCiBj
bGFzcyBXZWJSZXNvdXJjZUxvYWRlciA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYlJlc291cmNlTG9h
ZGVyPiwgcHVibGljIElQQzo6TWVzc2FnZVNlbmRlciB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJl
ZjxXZWJSZXNvdXJjZUxvYWRlcj4gY3JlYXRlKFJlZjxXZWJDb3JlOjpSZXNvdXJjZUxvYWRlcj4m
Jik7CisgICAgc3RydWN0IFRyYWNraW5nUGFyYW1ldGVycyB7CisgICAgICAgIHVpbnQ2NF90IHBh
Z2VJRCB7IDAgfTsKKyAgICAgICAgdWludDY0X3QgZnJhbWVJRCB7IDAgfTsKKyAgICAgICAgUmVz
b3VyY2VMb2FkSWRlbnRpZmllciByZXNvdXJjZUlEIHsgMCB9OworICAgIH07CisKKyAgICBzdGF0
aWMgUmVmPFdlYlJlc291cmNlTG9hZGVyPiBjcmVhdGUoUmVmPFdlYkNvcmU6OlJlc291cmNlTG9h
ZGVyPiYmLCBjb25zdCBUcmFja2luZ1BhcmFtZXRlcnMmKTsKIAogICAgIH5XZWJSZXNvdXJjZUxv
YWRlcigpOwogCkBAIC02OCw3ICs3Miw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzQWx3YXlzT25M
b2dnaW5nQWxsb3dlZCgpIGNvbnN0OwogCiBwcml2YXRlOgotICAgIFdlYlJlc291cmNlTG9hZGVy
KFJlZjxXZWJDb3JlOjpSZXNvdXJjZUxvYWRlcj4mJik7CisgICAgV2ViUmVzb3VyY2VMb2FkZXIo
UmVmPFdlYkNvcmU6OlJlc291cmNlTG9hZGVyPiYmLCBjb25zdCBUcmFja2luZ1BhcmFtZXRlcnMm
KTsKIAogICAgIC8vIElQQzo6TWVzc2FnZVNlbmRlcgogICAgIElQQzo6Q29ubmVjdGlvbiogbWVz
c2FnZVNlbmRlckNvbm5lY3Rpb24oKSBvdmVycmlkZTsKQEAgLTg1LDYgKzg5LDggQEAgcHJpdmF0
ZToKICNlbmRpZgogCiAgICAgUmVmUHRyPFdlYkNvcmU6OlJlc291cmNlTG9hZGVyPiBtX2NvcmVM
b2FkZXI7CisgICAgVHJhY2tpbmdQYXJhbWV0ZXJzIG1fdHJhY2tpbmdQYXJhbWV0ZXJzOworICAg
IGJvb2wgbV9oYXNSZWNlaXZlZERhdGEgeyBmYWxzZSB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>289294</attachid>
            <date>2016-09-19 17:45:53 -0700</date>
            <delta_ts>2016-09-20 11:57:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-162235-20160919174308.patch</filename>
            <type>text/plain</type>
            <size>22451</size>
            <attacher name="Keith Rollin">krollin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2MTMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmYzMWNiYjc1YWE1Y2M4
OWIxNGMwMmQ5YmIyMmYwMjViNDA1NmQ1Zi4uNzMwMDBlZTAyMTMzYWZmOWQ2NTI3ZDRjM2NhZWYx
NzA2Yzk3MDhlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE2LTA5LTE5ICBLZWl0
aCBSb2xsaW4gIDxrcm9sbGluQGFwcGxlLmNvbT4KKworICAgICAgICBBZGp1c3QgY3VycmVudCBu
ZXR3b3JraW5nIGxvZ2dpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE2MjIzNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFVwZGF0ZSB0aGUgImFsd2F5cyBvbiIgbmV0d29yayBsb2dnaW5nIGluIG9yZGVy
IHRvIGJldHRlciB0cmFjayB0aGUKKyAgICAgICAgbG9hZGluZyBvZiBhIHBhcnRpY3VsYXIgcmVz
b3VyY2UgYW5kIHRvIGJldHRlciBiaW5kIHRvZ2V0aGVyIHRoZQorICAgICAgICByZXNvdXJjZXMg
ZG93bmxvYWRlZCBmb3IgYSBwYXJ0aWN1bGFyIHBhZ2UgYW5kIGZyYW1lLiBEbyB0aGlzIGJ5Cisg
ICAgICAgIGNvbnNpc3RlbnRseSBsb2dnaW5nIHBhZ2VJRCwgZnJhbWVJRCwgYW5kIHJlc291cmNl
SUQuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIC0tIHRoZXJlIGFyZSBubyB0ZXN0cyBmb3IgbG9n
Z2luZy4KKworICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZUxvYWRlcjo6Y2hlY2tMb2FkQ29tcGxldGVGb3JUaGlzRnJhbWUpOgorICAgICAg
ICAqIGxvYWRlci9SZXNvdXJjZUxvYWRlci5oOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VM
b2FkZXI6OmZyYW1lKToKKwogMjAxNi0wOS0xOSAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FA
YXBwbGUuY29tPgogCiAgICAgICAgIFN1cHByZXNzIEphdmFTY3JpcHQgcHJvbXB0cyBlYXJseSBv
biBpbiBjZXJ0YWluIGNhc2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYTI4NzIzYzE3MDdmNTQ3Mjk3NTBhNmRm
ZWU3ZjE1M2YyOWY4OTlhZS4uZGY5YjUxNDcwYjNlNWViNjk2ZWNmNzg3ODA0ODRmMjQyZmY1YTA2
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE2LTA5LTE5ICBLZWl0aCBSb2xsaW4g
IDxrcm9sbGluQGFwcGxlLmNvbT4KKworICAgICAgICBBZGp1c3QgY3VycmVudCBuZXR3b3JraW5n
IGxvZ2dpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE2MjIzNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFVwZGF0ZSB0aGUgImFsd2F5cyBvbiIgbmV0d29yayBsb2dnaW5nIGluIG9yZGVyIHRvIGJldHRl
ciB0cmFjayB0aGUKKyAgICAgICAgbG9hZGluZyBvZiBhIHBhcnRpY3VsYXIgcmVzb3VyY2UgYW5k
IHRvIGJldHRlciBiaW5kIHRvZ2V0aGVyIHRoZQorICAgICAgICByZXNvdXJjZXMgZG93bmxvYWRl
ZCBmb3IgYSBwYXJ0aWN1bGFyIHBhZ2UgYW5kIGZyYW1lLiBEbyB0aGlzIGJ5CisgICAgICAgIGNv
bnNpc3RlbnRseSBsb2dnaW5nIHBhZ2VJRCwgZnJhbWVJRCwgYW5kIHJlc291cmNlSUQuCisKKyAg
ICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmRpZEZpbmlzaExvYWRpbmcpOgorICAg
ICAgICAoV2ViS2l0OjpOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmRpZEZhaWxMb2FkaW5nKToKKyAg
ICAgICAgKFdlYktpdDo6TmV0d29ya1Jlc291cmNlTG9hZGVyOjpjb250aW51ZVdpbGxTZW5kUmVx
dWVzdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxlTG9hZCk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkxvYWRlclN0cmF0ZWd5OjpzdGFydExvY2FsTG9hZCk6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6Oldl
YlJlc291cmNlTG9hZGVyOjpXZWJSZXNvdXJjZUxvYWRlcik6CisgICAgICAgIChXZWJLaXQ6Oldl
YlJlc291cmNlTG9hZGVyOjp3aWxsU2VuZFJlcXVlc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJS
ZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVEYXRhKToKKyAgICAgICAgKFdlYktpdDo6V2ViUmVz
b3VyY2VMb2FkZXI6OmRpZEZpbmlzaFJlc291cmNlTG9hZCk6CisgICAgICAgIChXZWJLaXQ6Oldl
YlJlc291cmNlTG9hZGVyOjpkaWRGYWlsUmVzb3VyY2VMb2FkKToKKyAgICAgICAgKFdlYktpdDo6
V2ViUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNvdXJjZSk6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmg6CisKIDIwMTYtMDktMTkgIEFuZGVycyBD
YXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBTdXBwcmVzcyBKYXZhU2Ny
aXB0IHByb21wdHMgZWFybHkgb24gaW4gY2VydGFpbiBjYXNlcwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9G
cmFtZUxvYWRlci5jcHAKaW5kZXggNmE4MWNiZTgxZWM3NDc1MjRiYmZhY2UxY2FjYWVjMTYyYzU1
MGE2Ni4uMWY0MzFmM2I3MThmNDEyNmRmOGY1MmQ3MWM2ZmZlMGY5YTU3OWE2ZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCkBAIC0yMzA5LDcgKzIzMDksNyBAQCB2b2lkIEZy
YW1lTG9hZGVyOjpjaGVja0xvYWRDb21wbGV0ZUZvclRoaXNGcmFtZSgpCiAgICAgICAgICAgICAg
ICAgbV9jbGllbnQuZGlzcGF0Y2hEaWRGYWlsTG9hZChlcnJvcik7CiAgICAgICAgICAgICAgICAg
bG9hZGluZ0V2ZW50ID0gQVhPYmplY3RDYWNoZTo6QVhMb2FkaW5nRmFpbGVkOwogICAgICAgICAg
ICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJjaGVj
a0xvYWRDb21wbGV0ZUZvclRoaXNGcmFtZTogRmluaXNoZWQgZnJhbWUgbG9hZCB3aXRob3V0IGVy
cm9yIChmcmFtZSA9ICVwLCBtYWluID0gJWQpIiwgJm1fZnJhbWUsIG1fZnJhbWUuaXNNYWluRnJh
bWUoKSk7CisgICAgICAgICAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiY2hlY2tMb2Fk
Q29tcGxldGVGb3JUaGlzRnJhbWU6IEZpbmlzaGVkIGZyYW1lIGxvYWQgKGZyYW1lID0gJXAsIG1h
aW4gPSAlZCkiLCAmbV9mcmFtZSwgbV9mcmFtZS5pc01haW5GcmFtZSgpKTsKICNpZiBFTkFCTEUo
REFUQV9ERVRFQ1RJT04pCiAgICAgICAgICAgICAgICAgYXV0byogZG9jdW1lbnQgPSBtX2ZyYW1l
LmRvY3VtZW50KCk7CiAgICAgICAgICAgICAgICAgaWYgKG1fZnJhbWUuc2V0dGluZ3MoKS5kYXRh
RGV0ZWN0b3JUeXBlcygpICE9IERhdGFEZXRlY3RvclR5cGVOb25lICYmIGRvY3VtZW50KSB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5oCmluZGV4IGQ2MzllNmE5YzZjYjc3OTE1
M2Y5YTUyZjVlMDUyNWFhNzA2MWMxMmIuLjk4OGU5MDBjZTI4MmQ2N2VmNTM3ODVmMmI3YmRlZWE1
OWQ4YTUwYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5oCkBAIC0xNDgs
NiArMTQ4LDcgQEAgcHVibGljOgogICAgIHZvaWQgdW5zY2hlZHVsZShXVEY6OlNjaGVkdWxlUGFp
ciYpOwogI2VuZGlmCiAKKyAgICBGcmFtZSogZnJhbWUoKSBjb25zdCB7IHJldHVybiBtX2ZyYW1l
LmdldCgpOyB9CiAgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBpc0Fsd2F5c09uTG9nZ2luZ0FsbG93
ZWQoKSBjb25zdDsKIAogcHJvdGVjdGVkOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggYTZiMWYyZjllYzlm
ZGNlNDQzZjAxNDMyMzAxYzNmNzExYTI2YzhkZi4uNTc2MWNhMTBmMWY4NWU5ZmQzYzFlOWEyODg5
Y2RlZTA4YzViNGI0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0yODksNyArMjg5LDcgQEAgdm9pZCBO
ZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmFib3J0KCkKIAogYXV0byBOZXR3b3JrUmVzb3VyY2VMb2Fk
ZXI6OmRpZFJlY2VpdmVSZXNwb25zZShSZXNvdXJjZVJlc3BvbnNlJiYgcmVjZWl2ZWRSZXNwb25z
ZSkgLT4gU2hvdWxkQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2UKIHsKLSAgICBSRUxFQVNFX0xP
R19JRl9BTExPV0VEKCJkaWRSZWNlaXZlUmVzcG9uc2U6IChwYWdlSUQgPSAlbGx1LCBmcmFtZUlE
ID0gJWxsdSwgaXNNYWluUmVzb3VyY2UgPSAlZCwgaXNTeW5jaHJvbm91cyA9ICVkLCBodHRwU3Rh
dHVzQ29kZSA9ICVkKSIsIG1fcGFyYW1ldGVycy53ZWJQYWdlSUQsIG1fcGFyYW1ldGVycy53ZWJG
cmFtZUlELCBpc01haW5SZXNvdXJjZSgpLCBpc1N5bmNocm9ub3VzKCksIHJlY2VpdmVkUmVzcG9u
c2UuaHR0cFN0YXR1c0NvZGUoKSk7CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiZGlkUmVj
ZWl2ZVJlc3BvbnNlOiAocGFnZUlEID0gJWxsdSwgZnJhbWVJRCA9ICVsbHUsIHJlc291cmNlSUQg
PSAlbGx1LCBodHRwU3RhdHVzQ29kZSA9ICVkLCBsZW5ndGggPSAlbGxkKSIsIG1fcGFyYW1ldGVy
cy53ZWJQYWdlSUQsIG1fcGFyYW1ldGVycy53ZWJGcmFtZUlELCBtX3BhcmFtZXRlcnMuaWRlbnRp
ZmllciwgcmVjZWl2ZWRSZXNwb25zZS5odHRwU3RhdHVzQ29kZSgpLCByZWNlaXZlZFJlc3BvbnNl
LmV4cGVjdGVkQ29udGVudExlbmd0aCgpKTsKIAogICAgIG1fcmVzcG9uc2UgPSBXVEZNb3ZlKHJl
Y2VpdmVkUmVzcG9uc2UpOwogCkBAIC0zMzMsMTEgKzMzMywxMSBAQCBhdXRvIE5ldHdvcmtSZXNv
dXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKFJlc291cmNlUmVzcG9uc2UmJiByZWNlaXZl
ZFJlc3BvbgogI2VuZGlmCiAKICAgICBpZiAoc2hvdWxkQ29udGludWVEaWRSZWNlaXZlUmVzcG9u
c2UpIHsKLSAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiZGlkUmVjZWl2ZVJlc3BvbnNl
OiBTaG91bGQgd2FpdCBmb3IgbWVzc2FnZSBmcm9tIFdlYkNvbnRlbnQgcHJvY2VzcyBiZWZvcmUg
Y29udGludWluZyByZXNvdXJjZSBsb2FkIChwYWdlSUQgPSAlbGx1LCBmcmFtZUlEID0gJWxsdSwg
aXNNYWluUmVzb3VyY2UgPSAlZCwgaXNTeW5jaHJvbm91cyA9ICVkKSIsIHN0YXRpY19jYXN0PHVu
c2lnbmVkIGxvbmcgbG9uZz4obV9wYXJhbWV0ZXJzLndlYlBhZ2VJRCksIHN0YXRpY19jYXN0PHVu
c2lnbmVkIGxvbmcgbG9uZz4obV9wYXJhbWV0ZXJzLndlYkZyYW1lSUQpLCBpc01haW5SZXNvdXJj
ZSgpLCBpc1N5bmNocm9ub3VzKCkpOworICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJk
aWRSZWNlaXZlUmVzcG9uc2U6IFNob3VsZCB3YWl0IGZvciBtZXNzYWdlIGZyb20gV2ViQ29udGVu
dCBwcm9jZXNzIGJlZm9yZSBjb250aW51aW5nIHJlc291cmNlIGxvYWQgKHBhZ2VJRCA9ICVsbHUs
IGZyYW1lSUQgPSAlbGx1LCByZXNvdXJjZUlEID0gJWxsdSkiLCBtX3BhcmFtZXRlcnMud2ViUGFn
ZUlELCBtX3BhcmFtZXRlcnMud2ViRnJhbWVJRCwgbV9wYXJhbWV0ZXJzLmlkZW50aWZpZXIpOwog
ICAgICAgICByZXR1cm4gU2hvdWxkQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2U6OlllczsKICAg
ICB9CiAKLSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJkaWRSZWNlaXZlUmVzcG9uc2U6IFNo
b3VsZCBub3Qgd2FpdCBmb3IgbWVzc2FnZSBmcm9tIFdlYkNvbnRlbnQgcHJvY2VzcyBiZWZvcmUg
Y29udGludWluZyByZXNvdXJjZSBsb2FkIChwYWdlSUQgPSAlbGx1LCBmcmFtZUlEID0gJWxsdSwg
aXNNYWluUmVzb3VyY2UgPSAlZCwgaXNTeW5jaHJvbm91cyA9ICVkKSIsIHN0YXRpY19jYXN0PHVu
c2lnbmVkIGxvbmcgbG9uZz4obV9wYXJhbWV0ZXJzLndlYlBhZ2VJRCksIHN0YXRpY19jYXN0PHVu
c2lnbmVkIGxvbmcgbG9uZz4obV9wYXJhbWV0ZXJzLndlYkZyYW1lSUQpLCBpc01haW5SZXNvdXJj
ZSgpLCBpc1N5bmNocm9ub3VzKCkpOworICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImRpZFJl
Y2VpdmVSZXNwb25zZTogU2hvdWxkIG5vdCB3YWl0IGZvciBtZXNzYWdlIGZyb20gV2ViQ29udGVu
dCBwcm9jZXNzIGJlZm9yZSBjb250aW51aW5nIHJlc291cmNlIGxvYWQgKHBhZ2VJRCA9ICVsbHUs
IGZyYW1lSUQgPSAlbGx1LCByZXNvdXJjZUlEID0gJWxsdSkiLCBtX3BhcmFtZXRlcnMud2ViUGFn
ZUlELCBtX3BhcmFtZXRlcnMud2ViRnJhbWVJRCwgbV9wYXJhbWV0ZXJzLmlkZW50aWZpZXIpOwog
ICAgIHJldHVybiBTaG91bGRDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZTo6Tm87CiB9CiAKQEAg
LTM3MCw3ICszNzAsNyBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZUJ1
ZmZlcihSZWY8U2hhcmVkQnVmZmVyPiYmIGJ1ZmZlciwgaW50IHJlcAogCiB2b2lkIE5ldHdvcmtS
ZXNvdXJjZUxvYWRlcjo6ZGlkRmluaXNoTG9hZGluZyhkb3VibGUgZmluaXNoVGltZSkKIHsKLSAg
ICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJkaWRGaW5pc2hMb2FkaW5nOiAocGFnZUlEID0gJWxs
dSwgZnJhbWVJRCA9ICVsbHUsIGlzTWFpblJlc291cmNlID0gJWQsIGlzU3luY2hyb25vdXMgPSAl
ZCkiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBsb25nIGxvbmc+KG1fcGFyYW1ldGVycy53ZWJQYWdl
SUQpLCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBsb25nIGxvbmc+KG1fcGFyYW1ldGVycy53ZWJGcmFt
ZUlEKSwgaXNNYWluUmVzb3VyY2UoKSwgaXNTeW5jaHJvbm91cygpKTsKKyAgICBSRUxFQVNFX0xP
R19JRl9BTExPV0VEKCJkaWRGaW5pc2hMb2FkaW5nOiAocGFnZUlEID0gJWxsdSwgZnJhbWVJRCA9
ICVsbHUsIHJlc291cmNlSUQgPSAlbGx1KSIsIG1fcGFyYW1ldGVycy53ZWJQYWdlSUQsIG1fcGFy
YW1ldGVycy53ZWJGcmFtZUlELCBtX3BhcmFtZXRlcnMuaWRlbnRpZmllcik7CiAKICNpZiBFTkFC
TEUoTkVUV09SS19DQUNIRSkKICAgICBpZiAobV9jYWNoZUVudHJ5Rm9yVmFsaWRhdGlvbikgewpA
QCAtNDAxLDcgKzQwMSw3IEBAIHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpkaWRGaW5pc2hM
b2FkaW5nKGRvdWJsZSBmaW5pc2hUaW1lKQogCiB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6
ZGlkRmFpbExvYWRpbmcoY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCiB7Ci0gICAgUkVMRUFT
RV9MT0dfSUZfQUxMT1dFRCgiZGlkRmFpbExvYWRpbmc6IChwYWdlSUQgPSAlbGx1LCBmcmFtZUlE
ID0gJWxsdSwgaXNNYWluUmVzb3VyY2UgPSAlZCwgaXNTeW5jaHJvbm91cyA9ICVkLCBpc1RpbWVv
dXQgPSAlZCwgaXNDYW5jZWxsYXRpb24gPSAlZCwgZXJyQ29kZSA9ICVkKSIsIG1fcGFyYW1ldGVy
cy53ZWJQYWdlSUQsIG1fcGFyYW1ldGVycy53ZWJGcmFtZUlELCBpc01haW5SZXNvdXJjZSgpLCBp
c1N5bmNocm9ub3VzKCksIGVycm9yLmlzVGltZW91dCgpLCBlcnJvci5pc0NhbmNlbGxhdGlvbigp
LCBlcnJvci5lcnJvckNvZGUoKSk7CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiZGlkRmFp
bExvYWRpbmc6IChwYWdlSUQgPSAlbGx1LCBmcmFtZUlEID0gJWxsdSwgcmVzb3VyY2VJRCA9ICVs
bHUsIGlzVGltZW91dCA9ICVkLCBpc0NhbmNlbGxhdGlvbiA9ICVkLCBlcnJDb2RlID0gJWQpIiwg
bV9wYXJhbWV0ZXJzLndlYlBhZ2VJRCwgbV9wYXJhbWV0ZXJzLndlYkZyYW1lSUQsIG1fcGFyYW1l
dGVycy5pZGVudGlmaWVyLCBlcnJvci5pc1RpbWVvdXQoKSwgZXJyb3IuaXNDYW5jZWxsYXRpb24o
KSwgZXJyb3IuZXJyb3JDb2RlKCkpOwogCiAgICAgQVNTRVJUKCFlcnJvci5pc051bGwoKSk7CiAK
QEAgLTQ0Nyw3ICs0NDcsNyBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6d2lsbFNlbmRS
ZWRpcmVjdGVkUmVxdWVzdChSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0LAogCiB2b2lkIE5ldHdv
cmtSZXNvdXJjZUxvYWRlcjo6Y29udGludWVXaWxsU2VuZFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0
JiYgbmV3UmVxdWVzdCkKIHsKLSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJjb250aW51ZVdp
bGxTZW5kUmVxdWVzdDogKHBhZ2VJRCA9ICVsbHUsIGZyYW1lSUQgPSAlbGx1LCBpc01haW5SZXNv
dXJjZSA9ICVkLCBpc1N5bmNocm9ub3VzID0gJWQpIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9u
ZyBsb25nPihtX3BhcmFtZXRlcnMud2ViUGFnZUlEKSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9u
ZyBsb25nPihtX3BhcmFtZXRlcnMud2ViRnJhbWVJRCksIGlzTWFpblJlc291cmNlKCksIGlzU3lu
Y2hyb25vdXMoKSk7CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiY29udGludWVXaWxsU2Vu
ZFJlcXVlc3Q6IChwYWdlSUQgPSAlbGx1LCBmcmFtZUlEID0gJWxsdSwgcmVzb3VyY2VJRCA9ICVs
bHUpIiwgbV9wYXJhbWV0ZXJzLndlYlBhZ2VJRCwgbV9wYXJhbWV0ZXJzLndlYkZyYW1lSUQsIG1f
cGFyYW1ldGVycy5pZGVudGlmaWVyKTsKIAogI2lmIEVOQUJMRShORVRXT1JLX0NBQ0hFKQogICAg
IGlmIChtX2lzV2FpdGluZ0NvbnRpbnVlV2lsbFNlbmRSZXF1ZXN0Rm9yQ2FjaGVkUmVkaXJlY3Qp
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2Fk
ZXJTdHJhdGVneS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9h
ZGVyU3RyYXRlZ3kuY3BwCmluZGV4IDBlMjY3Zjc4NTBiMmYzNTlhMGQ3YWJhMjIzY2RkMGNkNmFj
ZmFhYWYuLjBhNzU3OWVmMzU1ZTZkMmJiZmQxOThjZTgzMjQ0MjBjNmZhZGQwOWEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0
ZWd5LmNwcApAQCAtMTMyLDE5ICsxMzIsMzEgQEAgdm9pZCBXZWJMb2FkZXJTdHJhdGVneTo6c2No
ZWR1bGVMb2FkKFJlc291cmNlTG9hZGVyJiByZXNvdXJjZUxvYWRlciwgQ2FjaGVkUmVzb3UKICAg
ICBSZXNvdXJjZUxvYWRJZGVudGlmaWVyIGlkZW50aWZpZXIgPSByZXNvdXJjZUxvYWRlci5pZGVu
dGlmaWVyKCk7CiAgICAgQVNTRVJUKGlkZW50aWZpZXIpOwogCisgICAgLy8gRklYTUU6IFNvbWUg
ZW50aXRpZXMgaW4gV2ViQ29yZSB1c2UgV2ViQ29yZSdzICJFbXB0eUZyYW1lTG9hZGVyQ2xpZW50
IiBpbnN0ZWFkIG9mIGhhdmluZyBhIHByb3BlciBXZWJGcmFtZUxvYWRlckNsaWVudC4KKyAgICAv
LyBFbXB0eUZyYW1lTG9hZGVyQ2xpZW50IHNob3VsZG4ndCBleGlzdCBhbmQgZXZlcnl0aGluZyBz
aG91bGQgYmUgdXNpbmcgYSBXZWJGcmFtZUxvYWRlckNsaWVudCwKKyAgICAvLyBidXQgaW4gdGhl
IG1lYW50aW1lIHdlIGhhdmUgdG8gbWFrZSBzdXJlIG5vdCB0byBtaXMtY2FzdC4KKyAgICBXZWJG
cmFtZUxvYWRlckNsaWVudCogd2ViRnJhbWVMb2FkZXJDbGllbnQgPSB0b1dlYkZyYW1lTG9hZGVy
Q2xpZW50KHJlc291cmNlTG9hZGVyLmZyYW1lTG9hZGVyKCktPmNsaWVudCgpKTsKKyAgICBXZWJG
cmFtZSogd2ViRnJhbWUgPSB3ZWJGcmFtZUxvYWRlckNsaWVudCA/IHdlYkZyYW1lTG9hZGVyQ2xp
ZW50LT53ZWJGcmFtZSgpIDogbnVsbHB0cjsKKyAgICBXZWJQYWdlKiB3ZWJQYWdlID0gd2ViRnJh
bWUgPyB3ZWJGcmFtZS0+cGFnZSgpIDogbnVsbHB0cjsKKworICAgIFdlYlJlc291cmNlTG9hZGVy
OjpUcmFja2luZ1BhcmFtZXRlcnMgdHJhY2tpbmdQYXJhbWV0ZXJzOworICAgIHRyYWNraW5nUGFy
YW1ldGVycy5wYWdlSUQgPSB3ZWJQYWdlID8gd2ViUGFnZS0+cGFnZUlEKCkgOiAwOworICAgIHRy
YWNraW5nUGFyYW1ldGVycy5mcmFtZUlEID0gd2ViRnJhbWUgPyB3ZWJGcmFtZS0+ZnJhbWVJRCgp
IDogMDsKKyAgICB0cmFja2luZ1BhcmFtZXRlcnMucmVzb3VyY2VJRCA9IGlkZW50aWZpZXI7CisK
ICNpZiBFTkFCTEUoV0VCX0FSQ0hJVkUpIHx8IEVOQUJMRShNSFRNTCkKICAgICAvLyBJZiB0aGUg
RG9jdW1lbnRMb2FkZXIgc2NoZWR1bGVzIHRoaXMgYXMgYW4gYXJjaGl2ZSByZXNvdXJjZSBsb2Fk
LAogICAgIC8vIHRoZW4gd2Ugc2hvdWxkIHJlbWVtYmVyIHRoZSBSZXNvdXJjZUxvYWRlciBpbiBv
dXIgcmVjb3JkcyBidXQgbm90IHNjaGVkdWxlIGl0IGluIHRoZSBOZXR3b3JrUHJvY2Vzcy4KICAg
ICBpZiAocmVzb3VyY2VMb2FkZXIuZG9jdW1lbnRMb2FkZXIoKS0+c2NoZWR1bGVBcmNoaXZlTG9h
ZChyZXNvdXJjZUxvYWRlciwgcmVzb3VyY2VMb2FkZXIucmVxdWVzdCgpKSkgewogICAgICAgICBM
T0coTmV0d29ya1NjaGVkdWxpbmcsICIoV2ViUHJvY2VzcykgV2ViTG9hZGVyU3RyYXRlZ3k6OnNj
aGVkdWxlTG9hZCwgdXJsICclcycgd2lsbCBiZSBoYW5kbGVkIGFzIGFuIGFyY2hpdmUgcmVzb3Vy
Y2UuIiwgcmVzb3VyY2VMb2FkZXIudXJsKCkuc3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7Ci0gICAg
ICAgIG1fd2ViUmVzb3VyY2VMb2FkZXJzLnNldChpZGVudGlmaWVyLCBXZWJSZXNvdXJjZUxvYWRl
cjo6Y3JlYXRlKHJlc291cmNlTG9hZGVyKSk7CisgICAgICAgIG1fd2ViUmVzb3VyY2VMb2FkZXJz
LnNldChpZGVudGlmaWVyLCBXZWJSZXNvdXJjZUxvYWRlcjo6Y3JlYXRlKHJlc291cmNlTG9hZGVy
LCB0cmFja2luZ1BhcmFtZXRlcnMpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICNlbmRpZgog
CiAgICAgaWYgKHJlc291cmNlTG9hZGVyLmRvY3VtZW50TG9hZGVyKCktPmFwcGxpY2F0aW9uQ2Fj
aGVIb3N0KCktPm1heWJlTG9hZFJlc291cmNlKHJlc291cmNlTG9hZGVyLCByZXNvdXJjZUxvYWRl
ci5yZXF1ZXN0KCksIHJlc291cmNlTG9hZGVyLnJlcXVlc3QoKS51cmwoKSkpIHsKICAgICAgICAg
TE9HKE5ldHdvcmtTY2hlZHVsaW5nLCAiKFdlYlByb2Nlc3MpIFdlYkxvYWRlclN0cmF0ZWd5Ojpz
Y2hlZHVsZUxvYWQsIHVybCAnJXMnIHdpbGwgYmUgbG9hZGVkIGZyb20gYXBwbGljYXRpb24gY2Fj
aGUuIiwgcmVzb3VyY2VMb2FkZXIudXJsKCkuc3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7Ci0gICAg
ICAgIG1fd2ViUmVzb3VyY2VMb2FkZXJzLnNldChpZGVudGlmaWVyLCBXZWJSZXNvdXJjZUxvYWRl
cjo6Y3JlYXRlKHJlc291cmNlTG9hZGVyKSk7CisgICAgICAgIG1fd2ViUmVzb3VyY2VMb2FkZXJz
LnNldChpZGVudGlmaWVyLCBXZWJSZXNvdXJjZUxvYWRlcjo6Y3JlYXRlKHJlc291cmNlTG9hZGVy
LCB0cmFja2luZ1BhcmFtZXRlcnMpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMTc3
LDEzICsxODksNiBAQCB2b2lkIFdlYkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVsZUxvYWQoUmVzb3Vy
Y2VMb2FkZXImIHJlc291cmNlTG9hZGVyLCBDYWNoZWRSZXNvdQogICAgIENvbnRlbnRTbmlmZmlu
Z1BvbGljeSBjb250ZW50U25pZmZpbmdQb2xpY3kgPSByZXNvdXJjZUxvYWRlci5zaG91bGRTbmlm
ZkNvbnRlbnQoKSA/IFNuaWZmQ29udGVudCA6IERvTm90U25pZmZDb250ZW50OwogICAgIFN0b3Jl
ZENyZWRlbnRpYWxzIGFsbG93U3RvcmVkQ3JlZGVudGlhbHMgPSByZXNvdXJjZUxvYWRlci5zaG91
bGRVc2VDcmVkZW50aWFsU3RvcmFnZSgpID8gQWxsb3dTdG9yZWRDcmVkZW50aWFscyA6IERvTm90
QWxsb3dTdG9yZWRDcmVkZW50aWFsczsKIAotICAgIC8vIEZJWE1FOiBTb21lIGVudGl0aWVzIGlu
IFdlYkNvcmUgdXNlIFdlYkNvcmUncyAiRW1wdHlGcmFtZUxvYWRlckNsaWVudCIgaW5zdGVhZCBv
ZiBoYXZpbmcgYSBwcm9wZXIgV2ViRnJhbWVMb2FkZXJDbGllbnQuCi0gICAgLy8gRW1wdHlGcmFt
ZUxvYWRlckNsaWVudCBzaG91bGRuJ3QgZXhpc3QgYW5kIGV2ZXJ5dGhpbmcgc2hvdWxkIGJlIHVz
aW5nIGEgV2ViRnJhbWVMb2FkZXJDbGllbnQsCi0gICAgLy8gYnV0IGluIHRoZSBtZWFudGltZSB3
ZSBoYXZlIHRvIG1ha2Ugc3VyZSBub3QgdG8gbWlzLWNhc3QuCi0gICAgV2ViRnJhbWVMb2FkZXJD
bGllbnQqIHdlYkZyYW1lTG9hZGVyQ2xpZW50ID0gdG9XZWJGcmFtZUxvYWRlckNsaWVudChyZXNv
dXJjZUxvYWRlci5mcmFtZUxvYWRlcigpLT5jbGllbnQoKSk7Ci0gICAgV2ViRnJhbWUqIHdlYkZy
YW1lID0gd2ViRnJhbWVMb2FkZXJDbGllbnQgPyB3ZWJGcmFtZUxvYWRlckNsaWVudC0+d2ViRnJh
bWUoKSA6IDA7Ci0gICAgV2ViUGFnZSogd2ViUGFnZSA9IHdlYkZyYW1lID8gd2ViRnJhbWUtPnBh
Z2UoKSA6IDA7Ci0KICAgICBOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycyBsb2FkUGFyYW1l
dGVyczsKICAgICBsb2FkUGFyYW1ldGVycy5pZGVudGlmaWVyID0gaWRlbnRpZmllcjsKICAgICBs
b2FkUGFyYW1ldGVycy53ZWJQYWdlSUQgPSB3ZWJQYWdlID8gd2ViUGFnZS0+cGFnZUlEKCkgOiAw
OwpAQCAtMjAyLDE1ICsyMDcsMTUgQEAgdm9pZCBXZWJMb2FkZXJTdHJhdGVneTo6c2NoZWR1bGVM
b2FkKFJlc291cmNlTG9hZGVyJiByZXNvdXJjZUxvYWRlciwgQ2FjaGVkUmVzb3UKICAgICBBU1NF
UlQoKGxvYWRQYXJhbWV0ZXJzLndlYlBhZ2VJRCAmJiBsb2FkUGFyYW1ldGVycy53ZWJGcmFtZUlE
KSB8fCBsb2FkUGFyYW1ldGVycy5jbGllbnRDcmVkZW50aWFsUG9saWN5ID09IENsaWVudENyZWRl
bnRpYWxQb2xpY3k6OkNhbm5vdEFza0NsaWVudEZvckNyZWRlbnRpYWxzKTsKIAogICAgIGlmICgh
V2ViUHJvY2Vzczo6c2luZ2xldG9uKCkubmV0d29ya0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9uKCku
c2VuZChNZXNzYWdlczo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OlNjaGVkdWxlUmVz
b3VyY2VMb2FkKGxvYWRQYXJhbWV0ZXJzKSwgMCkpIHsKLSAgICAgICAgUkVMRUFTRV9MT0dfRVJS
T1JfSUZfQUxMT1dFRCgic2NoZWR1bGVMb2FkOiBVbmFibGUgdG8gc2NoZWR1bGUgcmVzb3VyY2Ug
d2l0aCB0aGUgTmV0d29ya1Byb2Nlc3MgKHByaW9yaXR5ID0gJWQsIHBhZ2VJRCA9ICVsbHUsIGZy
YW1lSUQgPSAlbGx1KSIsIHN0YXRpY19jYXN0PGludD4ocmVzb3VyY2VMb2FkZXIucmVxdWVzdCgp
LnByaW9yaXR5KCkpLCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBsb25nIGxvbmc+KGxvYWRQYXJhbWV0
ZXJzLndlYlBhZ2VJRCksIHN0YXRpY19jYXN0PHVuc2lnbmVkIGxvbmcgbG9uZz4obG9hZFBhcmFt
ZXRlcnMud2ViRnJhbWVJRCkpOworICAgICAgICBSRUxFQVNFX0xPR19FUlJPUl9JRl9BTExPV0VE
KCJzY2hlZHVsZUxvYWQ6IFVuYWJsZSB0byBzY2hlZHVsZSByZXNvdXJjZSB3aXRoIHRoZSBOZXR3
b3JrUHJvY2VzcyAoZnJhbWUgPSAlcCwgcHJpb3JpdHkgPSAlZCwgcGFnZUlEID0gJWxsdSwgZnJh
bWVJRCA9ICVsbHUsIHJlc291cmNlSUQgPSAlbGx1KSIsIHJlc291cmNlTG9hZGVyLmZyYW1lKCks
IHN0YXRpY19jYXN0PGludD4ocmVzb3VyY2VMb2FkZXIucmVxdWVzdCgpLnByaW9yaXR5KCkpLCBs
b2FkUGFyYW1ldGVycy53ZWJQYWdlSUQsIGxvYWRQYXJhbWV0ZXJzLmlkZW50aWZpZXIsIGxvYWRQ
YXJhbWV0ZXJzLndlYkZyYW1lSUQpOwogICAgICAgICAvLyBXZSBwcm9iYWJseSBmYWlsZWQgdG8g
c2NoZWR1bGUgdGhpcyBsb2FkIHdpdGggdGhlIE5ldHdvcmtQcm9jZXNzIGJlY2F1c2UgaXQgaGFk
IGNyYXNoZWQuCiAgICAgICAgIC8vIFRoaXMgbG9hZCB3aWxsIG5ldmVyIHN1Y2NlZWQgc28gd2Ug
d2lsbCBzY2hlZHVsZSBpdCB0byBmYWlsIGFzeW5jaHJvbm91c2x5LgogICAgICAgICBzY2hlZHVs
ZUludGVybmFsbHlGYWlsZWRMb2FkKHJlc291cmNlTG9hZGVyKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KIAotICAgIGF1dG8gd2ViUmVzb3VyY2VMb2FkZXIgPSBXZWJSZXNvdXJjZUxvYWRlcjo6
Y3JlYXRlKHJlc291cmNlTG9hZGVyKTsKLSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJzY2hl
ZHVsZUxvYWQ6IFJlc291cmNlIHdpbGwgYmUgc2NoZWR1bGVkIHdpdGggdGhlIE5ldHdvcmtQcm9j
ZXNzIChwcmlvcml0eSA9ICVkLCBwYWdlSUQgPSAlbGx1LCBmcmFtZUlEID0gJWxsdSwgV2ViUmVz
b3VyY2VMb2FkZXIgPSAlcCkiLCBzdGF0aWNfY2FzdDxpbnQ+KHJlc291cmNlTG9hZGVyLnJlcXVl
c3QoKS5wcmlvcml0eSgpKSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9uZyBsb25nPihsb2FkUGFy
YW1ldGVycy53ZWJQYWdlSUQpLCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBsb25nIGxvbmc+KGxvYWRQ
YXJhbWV0ZXJzLndlYkZyYW1lSUQpLCB3ZWJSZXNvdXJjZUxvYWRlci5wdHIoKSk7CisgICAgYXV0
byB3ZWJSZXNvdXJjZUxvYWRlciA9IFdlYlJlc291cmNlTG9hZGVyOjpjcmVhdGUocmVzb3VyY2VM
b2FkZXIsIHRyYWNraW5nUGFyYW1ldGVycyk7CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgi
c2NoZWR1bGVMb2FkOiBSZXNvdXJjZSBoYXMgYmVlbiBxdWV1ZWQgZm9yIHNjaGVkdWxpbmcgd2l0
aCB0aGUgTmV0d29ya1Byb2Nlc3MgKGZyYW1lID0gJXAsIHByaW9yaXR5ID0gJWQsIHBhZ2VJRCA9
ICVsbHUsIGZyYW1lSUQgPSAlbGx1LCByZXNvdXJjZUlEID0gJWxsdSwgV2ViUmVzb3VyY2VMb2Fk
ZXIgPSAlcCkiLCByZXNvdXJjZUxvYWRlci5mcmFtZSgpLCBzdGF0aWNfY2FzdDxpbnQ+KHJlc291
cmNlTG9hZGVyLnJlcXVlc3QoKS5wcmlvcml0eSgpKSwgbG9hZFBhcmFtZXRlcnMud2ViUGFnZUlE
LCBsb2FkUGFyYW1ldGVycy53ZWJGcmFtZUlELCBsb2FkUGFyYW1ldGVycy5pZGVudGlmaWVyLCB3
ZWJSZXNvdXJjZUxvYWRlci5wdHIoKSk7CiAgICAgbV93ZWJSZXNvdXJjZUxvYWRlcnMuc2V0KGlk
ZW50aWZpZXIsIFdURk1vdmUod2ViUmVzb3VyY2VMb2FkZXIpKTsKIH0KIApAQCAtMjMyLDcgKzIz
Nyw3IEBAIHZvaWQgV2ViTG9hZGVyU3RyYXRlZ3k6OmludGVybmFsbHlGYWlsZWRMb2FkVGltZXJG
aXJlZCgpCiB2b2lkIFdlYkxvYWRlclN0cmF0ZWd5OjpzdGFydExvY2FsTG9hZChXZWJDb3JlOjpS
ZXNvdXJjZUxvYWRlciYgcmVzb3VyY2VMb2FkZXIpCiB7CiAgICAgcmVzb3VyY2VMb2FkZXIuc3Rh
cnQoKTsKLSAgICBtX3dlYlJlc291cmNlTG9hZGVycy5zZXQocmVzb3VyY2VMb2FkZXIuaWRlbnRp
ZmllcigpLCBXZWJSZXNvdXJjZUxvYWRlcjo6Y3JlYXRlKHJlc291cmNlTG9hZGVyKSk7CisgICAg
bV93ZWJSZXNvdXJjZUxvYWRlcnMuc2V0KHJlc291cmNlTG9hZGVyLmlkZW50aWZpZXIoKSwgV2Vi
UmVzb3VyY2VMb2FkZXI6OmNyZWF0ZShyZXNvdXJjZUxvYWRlciwgeyB9KSk7CiB9CiAKIHZvaWQg
V2ViTG9hZGVyU3RyYXRlZ3k6OnJlbW92ZShSZXNvdXJjZUxvYWRlciogcmVzb3VyY2VMb2FkZXIp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3Vy
Y2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291
cmNlTG9hZGVyLmNwcAppbmRleCAyM2I2OTI4NmMwOGMxNDhlYWM0YjgxMjMzOWJlYTI0MmJiZmMz
OWQyLi5kNzE5NzFjOTZlNGZlNTkwNWYyNmViODFjZGY4ODljYjQ1ZjNjOTg5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRl
ci5jcHAKQEAgLTQ2LDEzICs0NiwxNCBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFt
ZXNwYWNlIFdlYktpdCB7CiAKLVJlZjxXZWJSZXNvdXJjZUxvYWRlcj4gV2ViUmVzb3VyY2VMb2Fk
ZXI6OmNyZWF0ZShSZWY8UmVzb3VyY2VMb2FkZXI+JiYgY29yZUxvYWRlcikKK1JlZjxXZWJSZXNv
dXJjZUxvYWRlcj4gV2ViUmVzb3VyY2VMb2FkZXI6OmNyZWF0ZShSZWY8UmVzb3VyY2VMb2FkZXI+
JiYgY29yZUxvYWRlciwgY29uc3QgVHJhY2tpbmdQYXJhbWV0ZXJzJiB0cmFja2luZ1BhcmFtZXRl
cnMpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViUmVzb3VyY2VMb2FkZXIoV1RGTW92
ZShjb3JlTG9hZGVyKSkpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdlYlJlc291cmNlTG9h
ZGVyKFdURk1vdmUoY29yZUxvYWRlciksIHRyYWNraW5nUGFyYW1ldGVycykpOwogfQogCi1XZWJS
ZXNvdXJjZUxvYWRlcjo6V2ViUmVzb3VyY2VMb2FkZXIoUmVmPFdlYkNvcmU6OlJlc291cmNlTG9h
ZGVyPiYmIGNvcmVMb2FkZXIpCitXZWJSZXNvdXJjZUxvYWRlcjo6V2ViUmVzb3VyY2VMb2FkZXIo
UmVmPFdlYkNvcmU6OlJlc291cmNlTG9hZGVyPiYmIGNvcmVMb2FkZXIsIGNvbnN0IFRyYWNraW5n
UGFyYW1ldGVycyYgdHJhY2tpbmdQYXJhbWV0ZXJzKQogICAgIDogbV9jb3JlTG9hZGVyKFdURk1v
dmUoY29yZUxvYWRlcikpCisgICAgLCBtX3RyYWNraW5nUGFyYW1ldGVycyh0cmFja2luZ1BhcmFt
ZXRlcnMpCiB7CiB9CiAKQEAgLTc4LDcgKzc5LDcgQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRlcjo6
ZGV0YWNoRnJvbUNvcmVMb2FkZXIoKQogdm9pZCBXZWJSZXNvdXJjZUxvYWRlcjo6d2lsbFNlbmRS
ZXF1ZXN0KFJlc291cmNlUmVxdWVzdCYmIHByb3Bvc2VkUmVxdWVzdCwgUmVzb3VyY2VSZXNwb25z
ZSYmIHJlZGlyZWN0UmVzcG9uc2UpCiB7CiAgICAgTE9HKE5ldHdvcmssICIoV2ViUHJvY2Vzcykg
V2ViUmVzb3VyY2VMb2FkZXI6OndpbGxTZW5kUmVxdWVzdCB0byAnJXMnIiwgcHJvcG9zZWRSZXF1
ZXN0LnVybCgpLnN0cmluZygpLmxhdGluMSgpLmRhdGEoKSk7Ci0gICAgUkVMRUFTRV9MT0dfSUZf
QUxMT1dFRCgid2lsbFNlbmRSZXF1ZXN0Iik7CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgi
d2lsbFNlbmRSZXF1ZXN0OiAocGFnZUlEID0gJWxsdSwgZnJhbWVJRCA9ICVsbHUsIHJlc291cmNl
SUQgPSAlbGx1KSIsIG1fdHJhY2tpbmdQYXJhbWV0ZXJzLnBhZ2VJRCwgbV90cmFja2luZ1BhcmFt
ZXRlcnMuZnJhbWVJRCwgbV90cmFja2luZ1BhcmFtZXRlcnMucmVzb3VyY2VJRCk7CiAKICAgICBS
ZWZQdHI8V2ViUmVzb3VyY2VMb2FkZXI+IHByb3RlY3RlZFRoaXModGhpcyk7CiAKQEAgLTEwMSw3
ICsxMDIsNyBAQCB2b2lkIFdlYlJlc291cmNlTG9hZGVyOjpkaWRTZW5kRGF0YSh1aW50NjRfdCBi
eXRlc1NlbnQsIHVpbnQ2NF90IHRvdGFsQnl0ZXNUb0JlUwogdm9pZCBXZWJSZXNvdXJjZUxvYWRl
cjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBi
b29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2VNZXNzYWdlKQogewogICAgIExPRyhO
ZXR3b3JrLCAiKFdlYlByb2Nlc3MpIFdlYlJlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9u
c2UgZm9yICclcycuIFN0YXR1cyAlZC4iLCBtX2NvcmVMb2FkZXItPnVybCgpLnN0cmluZygpLmxh
dGluMSgpLmRhdGEoKSwgcmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKSk7Ci0gICAgUkVMRUFTRV9M
T0dfSUZfQUxMT1dFRCgiZGlkUmVjZWl2ZVJlc3BvbnNlOiAoc3RhdHVzID0gJWQpIiwgcmVzcG9u
c2UuaHR0cFN0YXR1c0NvZGUoKSk7CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiZGlkUmVj
ZWl2ZVJlc3BvbnNlOiAocGFnZUlEID0gJWxsdSwgZnJhbWVJRCA9ICVsbHUsIHJlc291cmNlSUQg
PSAlbGx1LCBzdGF0dXMgPSAlZCkiLCBtX3RyYWNraW5nUGFyYW1ldGVycy5wYWdlSUQsIG1fdHJh
Y2tpbmdQYXJhbWV0ZXJzLmZyYW1lSUQsIG1fdHJhY2tpbmdQYXJhbWV0ZXJzLnJlc291cmNlSUQs
IHJlc3BvbnNlLmh0dHBTdGF0dXNDb2RlKCkpOwogCiAgICAgUmVmPFdlYlJlc291cmNlTG9hZGVy
PiBwcm90ZWN0KCp0aGlzKTsKIApAQCAtMTM1LDcgKzEzNiw3IEBAIHZvaWQgV2ViUmVzb3VyY2VM
b2FkZXI6OmRpZFJlY2VpdmVEYXRhKGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgZGF0YSwgaW50
NjRfdCBlCiAgICAgTE9HKE5ldHdvcmssICIoV2ViUHJvY2VzcykgV2ViUmVzb3VyY2VMb2FkZXI6
OmRpZFJlY2VpdmVEYXRhIG9mIHNpemUgJWx1IGZvciAnJXMnIiwgZGF0YS5zaXplKCksIG1fY29y
ZUxvYWRlci0+dXJsKCkuc3RyaW5nKCkubGF0aW4xKCkuZGF0YSgpKTsKIAogICAgIGlmICghbV9o
YXNSZWNlaXZlZERhdGEpIHsKLSAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiZGlkUmVj
ZWl2ZURhdGE6IChzaXplID0gJWx1KSIsIGRhdGEuc2l6ZSgpKTsKKyAgICAgICAgUkVMRUFTRV9M
T0dfSUZfQUxMT1dFRCgiZGlkUmVjZWl2ZURhdGE6IFN0YXJ0ZWQgcmVjZWl2aW5nIGRhdGEgKHBh
Z2VJRCA9ICVsbHUsIGZyYW1lSUQgPSAlbGx1LCByZXNvdXJjZUlEID0gJWxsdSkiLCBtX3RyYWNr
aW5nUGFyYW1ldGVycy5wYWdlSUQsIG1fdHJhY2tpbmdQYXJhbWV0ZXJzLmZyYW1lSUQsIG1fdHJh
Y2tpbmdQYXJhbWV0ZXJzLnJlc291cmNlSUQpOwogICAgICAgICBtX2hhc1JlY2VpdmVkRGF0YSA9
IHRydWU7CiAgICAgfQogCkBAIC0xNTEsNyArMTUyLDcgQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRl
cjo6ZGlkUmVjZWl2ZURhdGEoY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBkYXRhLCBpbnQ2NF90
IGUKIHZvaWQgV2ViUmVzb3VyY2VMb2FkZXI6OmRpZEZpbmlzaFJlc291cmNlTG9hZChkb3VibGUg
ZmluaXNoVGltZSkKIHsKICAgICBMT0coTmV0d29yaywgIihXZWJQcm9jZXNzKSBXZWJSZXNvdXJj
ZUxvYWRlcjo6ZGlkRmluaXNoUmVzb3VyY2VMb2FkIGZvciAnJXMnIiwgbV9jb3JlTG9hZGVyLT51
cmwoKS5zdHJpbmcoKS5sYXRpbjEoKS5kYXRhKCkpOwotICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9X
RUQoImRpZEZpbmlzaFJlc291cmNlTG9hZCIpOworICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQo
ImRpZEZpbmlzaFJlc291cmNlTG9hZDogKHBhZ2VJRCA9ICVsbHUsIGZyYW1lSUQgPSAlbGx1LCBy
ZXNvdXJjZUlEID0gJWxsdSkiLCBtX3RyYWNraW5nUGFyYW1ldGVycy5wYWdlSUQsIG1fdHJhY2tp
bmdQYXJhbWV0ZXJzLmZyYW1lSUQsIG1fdHJhY2tpbmdQYXJhbWV0ZXJzLnJlc291cmNlSUQpOwog
CiAjaWYgVVNFKFFVSUNLX0xPT0spCiAgICAgaWYgKFF1aWNrTG9va0hhbmRsZSogcXVpY2tMb29r
SGFuZGxlID0gbV9jb3JlTG9hZGVyLT5kb2N1bWVudExvYWRlcigpLT5xdWlja0xvb2tIYW5kbGUo
KSkgewpAQCAtMTY1LDcgKzE2Niw3IEBAIHZvaWQgV2ViUmVzb3VyY2VMb2FkZXI6OmRpZEZpbmlz
aFJlc291cmNlTG9hZChkb3VibGUgZmluaXNoVGltZSkKIHZvaWQgV2ViUmVzb3VyY2VMb2FkZXI6
OmRpZEZhaWxSZXNvdXJjZUxvYWQoY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCiB7CiAgICAg
TE9HKE5ldHdvcmssICIoV2ViUHJvY2VzcykgV2ViUmVzb3VyY2VMb2FkZXI6OmRpZEZhaWxSZXNv
dXJjZUxvYWQgZm9yICclcyciLCBtX2NvcmVMb2FkZXItPnVybCgpLnN0cmluZygpLmxhdGluMSgp
LmRhdGEoKSk7Ci0gICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiZGlkRmFpbFJlc291cmNlTG9h
ZCIpOworICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImRpZEZhaWxSZXNvdXJjZUxvYWQ6IChw
YWdlSUQgPSAlbGx1LCBmcmFtZUlEID0gJWxsdSwgcmVzb3VyY2VJRCA9ICVsbHUpIiwgbV90cmFj
a2luZ1BhcmFtZXRlcnMucGFnZUlELCBtX3RyYWNraW5nUGFyYW1ldGVycy5mcmFtZUlELCBtX3Ry
YWNraW5nUGFyYW1ldGVycy5yZXNvdXJjZUlEKTsKIAogI2lmIFVTRShRVUlDS19MT09LKQogICAg
IGlmIChRdWlja0xvb2tIYW5kbGUqIHF1aWNrTG9va0hhbmRsZSA9IG1fY29yZUxvYWRlci0+ZG9j
dW1lbnRMb2FkZXIoKS0+cXVpY2tMb29rSGFuZGxlKCkpCkBAIC0xODAsNyArMTgxLDcgQEAgdm9p
ZCBXZWJSZXNvdXJjZUxvYWRlcjo6ZGlkRmFpbFJlc291cmNlTG9hZChjb25zdCBSZXNvdXJjZUVy
cm9yJiBlcnJvcikKIHZvaWQgV2ViUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNvdXJjZShj
b25zdCBTaGFyZWFibGVSZXNvdXJjZTo6SGFuZGxlJiBoYW5kbGUsIGRvdWJsZSBmaW5pc2hUaW1l
KQogewogICAgIExPRyhOZXR3b3JrLCAiKFdlYlByb2Nlc3MpIFdlYlJlc291cmNlTG9hZGVyOjpk
aWRSZWNlaXZlUmVzb3VyY2UgZm9yICclcyciLCBtX2NvcmVMb2FkZXItPnVybCgpLnN0cmluZygp
LmxhdGluMSgpLmRhdGEoKSk7Ci0gICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiZGlkUmVjZWl2
ZVJlc291cmNlIik7CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiZGlkUmVjZWl2ZVJlc291
cmNlOiAocGFnZUlEID0gJWxsdSwgZnJhbWVJRCA9ICVsbHUsIHJlc291cmNlSUQgPSAlbGx1KSIs
IG1fdHJhY2tpbmdQYXJhbWV0ZXJzLnBhZ2VJRCwgbV90cmFja2luZ1BhcmFtZXRlcnMuZnJhbWVJ
RCwgbV90cmFja2luZ1BhcmFtZXRlcnMucmVzb3VyY2VJRCk7CiAKICAgICBSZWZQdHI8U2hhcmVk
QnVmZmVyPiBidWZmZXIgPSBoYW5kbGUudHJ5V3JhcEluU2hhcmVkQnVmZmVyKCk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRl
ci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVy
LmgKaW5kZXggZjg2ZDAzOTVkYjIyMDhmZjVkMWI1YmM4ZjA5MzE1MWI2M2Q5OTFhYS4uZWMyYzhk
NWVkNDRmNjY3NDQ4YmM0Y2U5MDdlMTdhYjkxNDQ2MGIzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmgKKysrIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmgKQEAgLTQxLDgg
KzQxLDYgQEAgY2xhc3MgRGF0YVJlZmVyZW5jZTsKIH0KIAogbmFtZXNwYWNlIFdlYkNvcmUgewot
Y2xhc3MgQ2VydGlmaWNhdGVJbmZvOwotY2xhc3MgUHJvdGVjdGlvblNwYWNlOwogY2xhc3MgUmVz
b3VyY2VFcnJvcjsKIGNsYXNzIFJlc291cmNlTG9hZGVyOwogY2xhc3MgUmVzb3VyY2VSZXF1ZXN0
OwpAQCAtNTUsNyArNTMsMTMgQEAgdHlwZWRlZiB1aW50NjRfdCBSZXNvdXJjZUxvYWRJZGVudGlm
aWVyOwogCiBjbGFzcyBXZWJSZXNvdXJjZUxvYWRlciA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYlJl
c291cmNlTG9hZGVyPiwgcHVibGljIElQQzo6TWVzc2FnZVNlbmRlciB7CiBwdWJsaWM6Ci0gICAg
c3RhdGljIFJlZjxXZWJSZXNvdXJjZUxvYWRlcj4gY3JlYXRlKFJlZjxXZWJDb3JlOjpSZXNvdXJj
ZUxvYWRlcj4mJik7CisgICAgc3RydWN0IFRyYWNraW5nUGFyYW1ldGVycyB7CisgICAgICAgIHVp
bnQ2NF90IHBhZ2VJRCB7IDAgfTsKKyAgICAgICAgdWludDY0X3QgZnJhbWVJRCB7IDAgfTsKKyAg
ICAgICAgUmVzb3VyY2VMb2FkSWRlbnRpZmllciByZXNvdXJjZUlEIHsgMCB9OworICAgIH07CisK
KyAgICBzdGF0aWMgUmVmPFdlYlJlc291cmNlTG9hZGVyPiBjcmVhdGUoUmVmPFdlYkNvcmU6OlJl
c291cmNlTG9hZGVyPiYmLCBjb25zdCBUcmFja2luZ1BhcmFtZXRlcnMmKTsKIAogICAgIH5XZWJS
ZXNvdXJjZUxvYWRlcigpOwogCkBAIC02OCw3ICs3Miw3IEBAIHB1YmxpYzoKICAgICBib29sIGlz
QWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpIGNvbnN0OwogCiBwcml2YXRlOgotICAgIFdlYlJlc291
cmNlTG9hZGVyKFJlZjxXZWJDb3JlOjpSZXNvdXJjZUxvYWRlcj4mJik7CisgICAgV2ViUmVzb3Vy
Y2VMb2FkZXIoUmVmPFdlYkNvcmU6OlJlc291cmNlTG9hZGVyPiYmLCBjb25zdCBUcmFja2luZ1Bh
cmFtZXRlcnMmKTsKIAogICAgIC8vIElQQzo6TWVzc2FnZVNlbmRlcgogICAgIElQQzo6Q29ubmVj
dGlvbiogbWVzc2FnZVNlbmRlckNvbm5lY3Rpb24oKSBvdmVycmlkZTsKQEAgLTg1LDYgKzg5LDcg
QEAgcHJpdmF0ZToKICNlbmRpZgogCiAgICAgUmVmUHRyPFdlYkNvcmU6OlJlc291cmNlTG9hZGVy
PiBtX2NvcmVMb2FkZXI7CisgICAgVHJhY2tpbmdQYXJhbWV0ZXJzIG1fdHJhY2tpbmdQYXJhbWV0
ZXJzOwogICAgIGJvb2wgbV9oYXNSZWNlaXZlZERhdGEgeyBmYWxzZSB9OwogfTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>289390</attachid>
            <date>2016-09-20 11:57:51 -0700</date>
            <delta_ts>2016-09-20 13:05:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-162235-20160920115505.patch</filename>
            <type>text/plain</type>
            <size>22457</size>
            <attacher name="Keith Rollin">krollin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2MTMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmYzMWNiYjc1YWE1Y2M4
OWIxNGMwMmQ5YmIyMmYwMjViNDA1NmQ1Zi4uMDkzNjcxZjJjNzkyNDZlMzZiNzZkZGFlZTE0M2Ux
MDVjNTlhNGU2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE2LTA5LTE5ICBLZWl0
aCBSb2xsaW4gIDxrcm9sbGluQGFwcGxlLmNvbT4KKworICAgICAgICBBZGp1c3QgY3VycmVudCBu
ZXR3b3JraW5nIGxvZ2dpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE2MjIzNQorCisgICAgICAgIFJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgor
CisgICAgICAgIFVwZGF0ZSB0aGUgImFsd2F5cyBvbiIgbmV0d29yayBsb2dnaW5nIGluIG9yZGVy
IHRvIGJldHRlciB0cmFjayB0aGUKKyAgICAgICAgbG9hZGluZyBvZiBhIHBhcnRpY3VsYXIgcmVz
b3VyY2UgYW5kIHRvIGJldHRlciBiaW5kIHRvZ2V0aGVyIHRoZQorICAgICAgICByZXNvdXJjZXMg
ZG93bmxvYWRlZCBmb3IgYSBwYXJ0aWN1bGFyIHBhZ2UgYW5kIGZyYW1lLiBEbyB0aGlzIGJ5Cisg
ICAgICAgIGNvbnNpc3RlbnRseSBsb2dnaW5nIHBhZ2VJRCwgZnJhbWVJRCwgYW5kIHJlc291cmNl
SUQuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIC0tIHRoZXJlIGFyZSBubyB0ZXN0cyBmb3IgbG9n
Z2luZy4KKworICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZUxvYWRlcjo6Y2hlY2tMb2FkQ29tcGxldGVGb3JUaGlzRnJhbWUpOgorICAgICAg
ICAqIGxvYWRlci9SZXNvdXJjZUxvYWRlci5oOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VM
b2FkZXI6OmZyYW1lKToKKwogMjAxNi0wOS0xOSAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FA
YXBwbGUuY29tPgogCiAgICAgICAgIFN1cHByZXNzIEphdmFTY3JpcHQgcHJvbXB0cyBlYXJseSBv
biBpbiBjZXJ0YWluIGNhc2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYTI4NzIzYzE3MDdmNTQ3Mjk3NTBhNmRm
ZWU3ZjE1M2YyOWY4OTlhZS4uN2E0YjI5YWQyYjM0MDY4YjQ1NDdiYzAxMzUwMGNjZTFmNTZiMzE5
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE2LTA5LTE5ICBLZWl0aCBSb2xsaW4g
IDxrcm9sbGluQGFwcGxlLmNvbT4KKworICAgICAgICBBZGp1c3QgY3VycmVudCBuZXR3b3JraW5n
IGxvZ2dpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE2MjIzNQorCisgICAgICAgIFJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgorCisgICAgICAg
IFVwZGF0ZSB0aGUgImFsd2F5cyBvbiIgbmV0d29yayBsb2dnaW5nIGluIG9yZGVyIHRvIGJldHRl
ciB0cmFjayB0aGUKKyAgICAgICAgbG9hZGluZyBvZiBhIHBhcnRpY3VsYXIgcmVzb3VyY2UgYW5k
IHRvIGJldHRlciBiaW5kIHRvZ2V0aGVyIHRoZQorICAgICAgICByZXNvdXJjZXMgZG93bmxvYWRl
ZCBmb3IgYSBwYXJ0aWN1bGFyIHBhZ2UgYW5kIGZyYW1lLiBEbyB0aGlzIGJ5CisgICAgICAgIGNv
bnNpc3RlbnRseSBsb2dnaW5nIHBhZ2VJRCwgZnJhbWVJRCwgYW5kIHJlc291cmNlSUQuCisKKyAg
ICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmRpZEZpbmlzaExvYWRpbmcpOgorICAg
ICAgICAoV2ViS2l0OjpOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmRpZEZhaWxMb2FkaW5nKToKKyAg
ICAgICAgKFdlYktpdDo6TmV0d29ya1Jlc291cmNlTG9hZGVyOjpjb250aW51ZVdpbGxTZW5kUmVx
dWVzdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxlTG9hZCk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkxvYWRlclN0cmF0ZWd5OjpzdGFydExvY2FsTG9hZCk6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6Oldl
YlJlc291cmNlTG9hZGVyOjpXZWJSZXNvdXJjZUxvYWRlcik6CisgICAgICAgIChXZWJLaXQ6Oldl
YlJlc291cmNlTG9hZGVyOjp3aWxsU2VuZFJlcXVlc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJS
ZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVEYXRhKToKKyAgICAgICAgKFdlYktpdDo6V2ViUmVz
b3VyY2VMb2FkZXI6OmRpZEZpbmlzaFJlc291cmNlTG9hZCk6CisgICAgICAgIChXZWJLaXQ6Oldl
YlJlc291cmNlTG9hZGVyOjpkaWRGYWlsUmVzb3VyY2VMb2FkKToKKyAgICAgICAgKFdlYktpdDo6
V2ViUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNvdXJjZSk6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmg6CisKIDIwMTYtMDktMTkgIEFuZGVycyBD
YXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBTdXBwcmVzcyBKYXZhU2Ny
aXB0IHByb21wdHMgZWFybHkgb24gaW4gY2VydGFpbiBjYXNlcwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9G
cmFtZUxvYWRlci5jcHAKaW5kZXggNmE4MWNiZTgxZWM3NDc1MjRiYmZhY2UxY2FjYWVjMTYyYzU1
MGE2Ni4uMWY0MzFmM2I3MThmNDEyNmRmOGY1MmQ3MWM2ZmZlMGY5YTU3OWE2ZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCkBAIC0yMzA5LDcgKzIzMDksNyBAQCB2b2lkIEZy
YW1lTG9hZGVyOjpjaGVja0xvYWRDb21wbGV0ZUZvclRoaXNGcmFtZSgpCiAgICAgICAgICAgICAg
ICAgbV9jbGllbnQuZGlzcGF0Y2hEaWRGYWlsTG9hZChlcnJvcik7CiAgICAgICAgICAgICAgICAg
bG9hZGluZ0V2ZW50ID0gQVhPYmplY3RDYWNoZTo6QVhMb2FkaW5nRmFpbGVkOwogICAgICAgICAg
ICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJjaGVj
a0xvYWRDb21wbGV0ZUZvclRoaXNGcmFtZTogRmluaXNoZWQgZnJhbWUgbG9hZCB3aXRob3V0IGVy
cm9yIChmcmFtZSA9ICVwLCBtYWluID0gJWQpIiwgJm1fZnJhbWUsIG1fZnJhbWUuaXNNYWluRnJh
bWUoKSk7CisgICAgICAgICAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiY2hlY2tMb2Fk
Q29tcGxldGVGb3JUaGlzRnJhbWU6IEZpbmlzaGVkIGZyYW1lIGxvYWQgKGZyYW1lID0gJXAsIG1h
aW4gPSAlZCkiLCAmbV9mcmFtZSwgbV9mcmFtZS5pc01haW5GcmFtZSgpKTsKICNpZiBFTkFCTEUo
REFUQV9ERVRFQ1RJT04pCiAgICAgICAgICAgICAgICAgYXV0byogZG9jdW1lbnQgPSBtX2ZyYW1l
LmRvY3VtZW50KCk7CiAgICAgICAgICAgICAgICAgaWYgKG1fZnJhbWUuc2V0dGluZ3MoKS5kYXRh
RGV0ZWN0b3JUeXBlcygpICE9IERhdGFEZXRlY3RvclR5cGVOb25lICYmIGRvY3VtZW50KSB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5oCmluZGV4IGQ2MzllNmE5YzZjYjc3OTE1
M2Y5YTUyZjVlMDUyNWFhNzA2MWMxMmIuLmU1YTY0MjVkMDFkMWM3Y2FkZWNmYmEzMzg4MDUxZjJm
MzkzZmFmYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5oCkBAIC0xNDgs
NiArMTQ4LDcgQEAgcHVibGljOgogICAgIHZvaWQgdW5zY2hlZHVsZShXVEY6OlNjaGVkdWxlUGFp
ciYpOwogI2VuZGlmCiAKKyAgICBjb25zdCBGcmFtZSogZnJhbWUoKSBjb25zdCB7IHJldHVybiBt
X2ZyYW1lLmdldCgpOyB9CiAgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBpc0Fsd2F5c09uTG9nZ2lu
Z0FsbG93ZWQoKSBjb25zdDsKIAogcHJvdGVjdGVkOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggYTZiMWYy
ZjllYzlmZGNlNDQzZjAxNDMyMzAxYzNmNzExYTI2YzhkZi4uNTc2MWNhMTBmMWY4NWU5ZmQzYzFl
OWEyODg5Y2RlZTA4YzViNGI0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0yODksNyArMjg5LDcgQEAg
dm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmFib3J0KCkKIAogYXV0byBOZXR3b3JrUmVzb3Vy
Y2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZShSZXNvdXJjZVJlc3BvbnNlJiYgcmVjZWl2ZWRS
ZXNwb25zZSkgLT4gU2hvdWxkQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2UKIHsKLSAgICBSRUxF
QVNFX0xPR19JRl9BTExPV0VEKCJkaWRSZWNlaXZlUmVzcG9uc2U6IChwYWdlSUQgPSAlbGx1LCBm
cmFtZUlEID0gJWxsdSwgaXNNYWluUmVzb3VyY2UgPSAlZCwgaXNTeW5jaHJvbm91cyA9ICVkLCBo
dHRwU3RhdHVzQ29kZSA9ICVkKSIsIG1fcGFyYW1ldGVycy53ZWJQYWdlSUQsIG1fcGFyYW1ldGVy
cy53ZWJGcmFtZUlELCBpc01haW5SZXNvdXJjZSgpLCBpc1N5bmNocm9ub3VzKCksIHJlY2VpdmVk
UmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKSk7CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgi
ZGlkUmVjZWl2ZVJlc3BvbnNlOiAocGFnZUlEID0gJWxsdSwgZnJhbWVJRCA9ICVsbHUsIHJlc291
cmNlSUQgPSAlbGx1LCBodHRwU3RhdHVzQ29kZSA9ICVkLCBsZW5ndGggPSAlbGxkKSIsIG1fcGFy
YW1ldGVycy53ZWJQYWdlSUQsIG1fcGFyYW1ldGVycy53ZWJGcmFtZUlELCBtX3BhcmFtZXRlcnMu
aWRlbnRpZmllciwgcmVjZWl2ZWRSZXNwb25zZS5odHRwU3RhdHVzQ29kZSgpLCByZWNlaXZlZFJl
c3BvbnNlLmV4cGVjdGVkQ29udGVudExlbmd0aCgpKTsKIAogICAgIG1fcmVzcG9uc2UgPSBXVEZN
b3ZlKHJlY2VpdmVkUmVzcG9uc2UpOwogCkBAIC0zMzMsMTEgKzMzMywxMSBAQCBhdXRvIE5ldHdv
cmtSZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKFJlc291cmNlUmVzcG9uc2UmJiBy
ZWNlaXZlZFJlc3BvbgogI2VuZGlmCiAKICAgICBpZiAoc2hvdWxkQ29udGludWVEaWRSZWNlaXZl
UmVzcG9uc2UpIHsKLSAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiZGlkUmVjZWl2ZVJl
c3BvbnNlOiBTaG91bGQgd2FpdCBmb3IgbWVzc2FnZSBmcm9tIFdlYkNvbnRlbnQgcHJvY2VzcyBi
ZWZvcmUgY29udGludWluZyByZXNvdXJjZSBsb2FkIChwYWdlSUQgPSAlbGx1LCBmcmFtZUlEID0g
JWxsdSwgaXNNYWluUmVzb3VyY2UgPSAlZCwgaXNTeW5jaHJvbm91cyA9ICVkKSIsIHN0YXRpY19j
YXN0PHVuc2lnbmVkIGxvbmcgbG9uZz4obV9wYXJhbWV0ZXJzLndlYlBhZ2VJRCksIHN0YXRpY19j
YXN0PHVuc2lnbmVkIGxvbmcgbG9uZz4obV9wYXJhbWV0ZXJzLndlYkZyYW1lSUQpLCBpc01haW5S
ZXNvdXJjZSgpLCBpc1N5bmNocm9ub3VzKCkpOworICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExP
V0VEKCJkaWRSZWNlaXZlUmVzcG9uc2U6IFNob3VsZCB3YWl0IGZvciBtZXNzYWdlIGZyb20gV2Vi
Q29udGVudCBwcm9jZXNzIGJlZm9yZSBjb250aW51aW5nIHJlc291cmNlIGxvYWQgKHBhZ2VJRCA9
ICVsbHUsIGZyYW1lSUQgPSAlbGx1LCByZXNvdXJjZUlEID0gJWxsdSkiLCBtX3BhcmFtZXRlcnMu
d2ViUGFnZUlELCBtX3BhcmFtZXRlcnMud2ViRnJhbWVJRCwgbV9wYXJhbWV0ZXJzLmlkZW50aWZp
ZXIpOwogICAgICAgICByZXR1cm4gU2hvdWxkQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2U6Olll
czsKICAgICB9CiAKLSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJkaWRSZWNlaXZlUmVzcG9u
c2U6IFNob3VsZCBub3Qgd2FpdCBmb3IgbWVzc2FnZSBmcm9tIFdlYkNvbnRlbnQgcHJvY2VzcyBi
ZWZvcmUgY29udGludWluZyByZXNvdXJjZSBsb2FkIChwYWdlSUQgPSAlbGx1LCBmcmFtZUlEID0g
JWxsdSwgaXNNYWluUmVzb3VyY2UgPSAlZCwgaXNTeW5jaHJvbm91cyA9ICVkKSIsIHN0YXRpY19j
YXN0PHVuc2lnbmVkIGxvbmcgbG9uZz4obV9wYXJhbWV0ZXJzLndlYlBhZ2VJRCksIHN0YXRpY19j
YXN0PHVuc2lnbmVkIGxvbmcgbG9uZz4obV9wYXJhbWV0ZXJzLndlYkZyYW1lSUQpLCBpc01haW5S
ZXNvdXJjZSgpLCBpc1N5bmNocm9ub3VzKCkpOworICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQo
ImRpZFJlY2VpdmVSZXNwb25zZTogU2hvdWxkIG5vdCB3YWl0IGZvciBtZXNzYWdlIGZyb20gV2Vi
Q29udGVudCBwcm9jZXNzIGJlZm9yZSBjb250aW51aW5nIHJlc291cmNlIGxvYWQgKHBhZ2VJRCA9
ICVsbHUsIGZyYW1lSUQgPSAlbGx1LCByZXNvdXJjZUlEID0gJWxsdSkiLCBtX3BhcmFtZXRlcnMu
d2ViUGFnZUlELCBtX3BhcmFtZXRlcnMud2ViRnJhbWVJRCwgbV9wYXJhbWV0ZXJzLmlkZW50aWZp
ZXIpOwogICAgIHJldHVybiBTaG91bGRDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZTo6Tm87CiB9
CiAKQEAgLTM3MCw3ICszNzAsNyBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6ZGlkUmVj
ZWl2ZUJ1ZmZlcihSZWY8U2hhcmVkQnVmZmVyPiYmIGJ1ZmZlciwgaW50IHJlcAogCiB2b2lkIE5l
dHdvcmtSZXNvdXJjZUxvYWRlcjo6ZGlkRmluaXNoTG9hZGluZyhkb3VibGUgZmluaXNoVGltZSkK
IHsKLSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJkaWRGaW5pc2hMb2FkaW5nOiAocGFnZUlE
ID0gJWxsdSwgZnJhbWVJRCA9ICVsbHUsIGlzTWFpblJlc291cmNlID0gJWQsIGlzU3luY2hyb25v
dXMgPSAlZCkiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBsb25nIGxvbmc+KG1fcGFyYW1ldGVycy53
ZWJQYWdlSUQpLCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBsb25nIGxvbmc+KG1fcGFyYW1ldGVycy53
ZWJGcmFtZUlEKSwgaXNNYWluUmVzb3VyY2UoKSwgaXNTeW5jaHJvbm91cygpKTsKKyAgICBSRUxF
QVNFX0xPR19JRl9BTExPV0VEKCJkaWRGaW5pc2hMb2FkaW5nOiAocGFnZUlEID0gJWxsdSwgZnJh
bWVJRCA9ICVsbHUsIHJlc291cmNlSUQgPSAlbGx1KSIsIG1fcGFyYW1ldGVycy53ZWJQYWdlSUQs
IG1fcGFyYW1ldGVycy53ZWJGcmFtZUlELCBtX3BhcmFtZXRlcnMuaWRlbnRpZmllcik7CiAKICNp
ZiBFTkFCTEUoTkVUV09SS19DQUNIRSkKICAgICBpZiAobV9jYWNoZUVudHJ5Rm9yVmFsaWRhdGlv
bikgewpAQCAtNDAxLDcgKzQwMSw3IEBAIHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpkaWRG
aW5pc2hMb2FkaW5nKGRvdWJsZSBmaW5pc2hUaW1lKQogCiB2b2lkIE5ldHdvcmtSZXNvdXJjZUxv
YWRlcjo6ZGlkRmFpbExvYWRpbmcoY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCiB7Ci0gICAg
UkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiZGlkRmFpbExvYWRpbmc6IChwYWdlSUQgPSAlbGx1LCBm
cmFtZUlEID0gJWxsdSwgaXNNYWluUmVzb3VyY2UgPSAlZCwgaXNTeW5jaHJvbm91cyA9ICVkLCBp
c1RpbWVvdXQgPSAlZCwgaXNDYW5jZWxsYXRpb24gPSAlZCwgZXJyQ29kZSA9ICVkKSIsIG1fcGFy
YW1ldGVycy53ZWJQYWdlSUQsIG1fcGFyYW1ldGVycy53ZWJGcmFtZUlELCBpc01haW5SZXNvdXJj
ZSgpLCBpc1N5bmNocm9ub3VzKCksIGVycm9yLmlzVGltZW91dCgpLCBlcnJvci5pc0NhbmNlbGxh
dGlvbigpLCBlcnJvci5lcnJvckNvZGUoKSk7CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgi
ZGlkRmFpbExvYWRpbmc6IChwYWdlSUQgPSAlbGx1LCBmcmFtZUlEID0gJWxsdSwgcmVzb3VyY2VJ
RCA9ICVsbHUsIGlzVGltZW91dCA9ICVkLCBpc0NhbmNlbGxhdGlvbiA9ICVkLCBlcnJDb2RlID0g
JWQpIiwgbV9wYXJhbWV0ZXJzLndlYlBhZ2VJRCwgbV9wYXJhbWV0ZXJzLndlYkZyYW1lSUQsIG1f
cGFyYW1ldGVycy5pZGVudGlmaWVyLCBlcnJvci5pc1RpbWVvdXQoKSwgZXJyb3IuaXNDYW5jZWxs
YXRpb24oKSwgZXJyb3IuZXJyb3JDb2RlKCkpOwogCiAgICAgQVNTRVJUKCFlcnJvci5pc051bGwo
KSk7CiAKQEAgLTQ0Nyw3ICs0NDcsNyBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6d2ls
bFNlbmRSZWRpcmVjdGVkUmVxdWVzdChSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0LAogCiB2b2lk
IE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6Y29udGludWVXaWxsU2VuZFJlcXVlc3QoUmVzb3VyY2VS
ZXF1ZXN0JiYgbmV3UmVxdWVzdCkKIHsKLSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJjb250
aW51ZVdpbGxTZW5kUmVxdWVzdDogKHBhZ2VJRCA9ICVsbHUsIGZyYW1lSUQgPSAlbGx1LCBpc01h
aW5SZXNvdXJjZSA9ICVkLCBpc1N5bmNocm9ub3VzID0gJWQpIiwgc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQgbG9uZyBsb25nPihtX3BhcmFtZXRlcnMud2ViUGFnZUlEKSwgc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQgbG9uZyBsb25nPihtX3BhcmFtZXRlcnMud2ViRnJhbWVJRCksIGlzTWFpblJlc291cmNlKCks
IGlzU3luY2hyb25vdXMoKSk7CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiY29udGludWVX
aWxsU2VuZFJlcXVlc3Q6IChwYWdlSUQgPSAlbGx1LCBmcmFtZUlEID0gJWxsdSwgcmVzb3VyY2VJ
RCA9ICVsbHUpIiwgbV9wYXJhbWV0ZXJzLndlYlBhZ2VJRCwgbV9wYXJhbWV0ZXJzLndlYkZyYW1l
SUQsIG1fcGFyYW1ldGVycy5pZGVudGlmaWVyKTsKIAogI2lmIEVOQUJMRShORVRXT1JLX0NBQ0hF
KQogICAgIGlmIChtX2lzV2FpdGluZ0NvbnRpbnVlV2lsbFNlbmRSZXF1ZXN0Rm9yQ2FjaGVkUmVk
aXJlY3QpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9X
ZWJMb2FkZXJTdHJhdGVneS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsv
V2ViTG9hZGVyU3RyYXRlZ3kuY3BwCmluZGV4IDBlMjY3Zjc4NTBiMmYzNTlhMGQ3YWJhMjIzY2Rk
MGNkNmFjZmFhYWYuLjBhNzU3OWVmMzU1ZTZkMmJiZmQxOThjZTgzMjQ0MjBjNmZhZGQwOWEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJh
dGVneS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRl
clN0cmF0ZWd5LmNwcApAQCAtMTMyLDE5ICsxMzIsMzEgQEAgdm9pZCBXZWJMb2FkZXJTdHJhdGVn
eTo6c2NoZWR1bGVMb2FkKFJlc291cmNlTG9hZGVyJiByZXNvdXJjZUxvYWRlciwgQ2FjaGVkUmVz
b3UKICAgICBSZXNvdXJjZUxvYWRJZGVudGlmaWVyIGlkZW50aWZpZXIgPSByZXNvdXJjZUxvYWRl
ci5pZGVudGlmaWVyKCk7CiAgICAgQVNTRVJUKGlkZW50aWZpZXIpOwogCisgICAgLy8gRklYTUU6
IFNvbWUgZW50aXRpZXMgaW4gV2ViQ29yZSB1c2UgV2ViQ29yZSdzICJFbXB0eUZyYW1lTG9hZGVy
Q2xpZW50IiBpbnN0ZWFkIG9mIGhhdmluZyBhIHByb3BlciBXZWJGcmFtZUxvYWRlckNsaWVudC4K
KyAgICAvLyBFbXB0eUZyYW1lTG9hZGVyQ2xpZW50IHNob3VsZG4ndCBleGlzdCBhbmQgZXZlcnl0
aGluZyBzaG91bGQgYmUgdXNpbmcgYSBXZWJGcmFtZUxvYWRlckNsaWVudCwKKyAgICAvLyBidXQg
aW4gdGhlIG1lYW50aW1lIHdlIGhhdmUgdG8gbWFrZSBzdXJlIG5vdCB0byBtaXMtY2FzdC4KKyAg
ICBXZWJGcmFtZUxvYWRlckNsaWVudCogd2ViRnJhbWVMb2FkZXJDbGllbnQgPSB0b1dlYkZyYW1l
TG9hZGVyQ2xpZW50KHJlc291cmNlTG9hZGVyLmZyYW1lTG9hZGVyKCktPmNsaWVudCgpKTsKKyAg
ICBXZWJGcmFtZSogd2ViRnJhbWUgPSB3ZWJGcmFtZUxvYWRlckNsaWVudCA/IHdlYkZyYW1lTG9h
ZGVyQ2xpZW50LT53ZWJGcmFtZSgpIDogbnVsbHB0cjsKKyAgICBXZWJQYWdlKiB3ZWJQYWdlID0g
d2ViRnJhbWUgPyB3ZWJGcmFtZS0+cGFnZSgpIDogbnVsbHB0cjsKKworICAgIFdlYlJlc291cmNl
TG9hZGVyOjpUcmFja2luZ1BhcmFtZXRlcnMgdHJhY2tpbmdQYXJhbWV0ZXJzOworICAgIHRyYWNr
aW5nUGFyYW1ldGVycy5wYWdlSUQgPSB3ZWJQYWdlID8gd2ViUGFnZS0+cGFnZUlEKCkgOiAwOwor
ICAgIHRyYWNraW5nUGFyYW1ldGVycy5mcmFtZUlEID0gd2ViRnJhbWUgPyB3ZWJGcmFtZS0+ZnJh
bWVJRCgpIDogMDsKKyAgICB0cmFja2luZ1BhcmFtZXRlcnMucmVzb3VyY2VJRCA9IGlkZW50aWZp
ZXI7CisKICNpZiBFTkFCTEUoV0VCX0FSQ0hJVkUpIHx8IEVOQUJMRShNSFRNTCkKICAgICAvLyBJ
ZiB0aGUgRG9jdW1lbnRMb2FkZXIgc2NoZWR1bGVzIHRoaXMgYXMgYW4gYXJjaGl2ZSByZXNvdXJj
ZSBsb2FkLAogICAgIC8vIHRoZW4gd2Ugc2hvdWxkIHJlbWVtYmVyIHRoZSBSZXNvdXJjZUxvYWRl
ciBpbiBvdXIgcmVjb3JkcyBidXQgbm90IHNjaGVkdWxlIGl0IGluIHRoZSBOZXR3b3JrUHJvY2Vz
cy4KICAgICBpZiAocmVzb3VyY2VMb2FkZXIuZG9jdW1lbnRMb2FkZXIoKS0+c2NoZWR1bGVBcmNo
aXZlTG9hZChyZXNvdXJjZUxvYWRlciwgcmVzb3VyY2VMb2FkZXIucmVxdWVzdCgpKSkgewogICAg
ICAgICBMT0coTmV0d29ya1NjaGVkdWxpbmcsICIoV2ViUHJvY2VzcykgV2ViTG9hZGVyU3RyYXRl
Z3k6OnNjaGVkdWxlTG9hZCwgdXJsICclcycgd2lsbCBiZSBoYW5kbGVkIGFzIGFuIGFyY2hpdmUg
cmVzb3VyY2UuIiwgcmVzb3VyY2VMb2FkZXIudXJsKCkuc3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7
Ci0gICAgICAgIG1fd2ViUmVzb3VyY2VMb2FkZXJzLnNldChpZGVudGlmaWVyLCBXZWJSZXNvdXJj
ZUxvYWRlcjo6Y3JlYXRlKHJlc291cmNlTG9hZGVyKSk7CisgICAgICAgIG1fd2ViUmVzb3VyY2VM
b2FkZXJzLnNldChpZGVudGlmaWVyLCBXZWJSZXNvdXJjZUxvYWRlcjo6Y3JlYXRlKHJlc291cmNl
TG9hZGVyLCB0cmFja2luZ1BhcmFtZXRlcnMpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICNl
bmRpZgogCiAgICAgaWYgKHJlc291cmNlTG9hZGVyLmRvY3VtZW50TG9hZGVyKCktPmFwcGxpY2F0
aW9uQ2FjaGVIb3N0KCktPm1heWJlTG9hZFJlc291cmNlKHJlc291cmNlTG9hZGVyLCByZXNvdXJj
ZUxvYWRlci5yZXF1ZXN0KCksIHJlc291cmNlTG9hZGVyLnJlcXVlc3QoKS51cmwoKSkpIHsKICAg
ICAgICAgTE9HKE5ldHdvcmtTY2hlZHVsaW5nLCAiKFdlYlByb2Nlc3MpIFdlYkxvYWRlclN0cmF0
ZWd5OjpzY2hlZHVsZUxvYWQsIHVybCAnJXMnIHdpbGwgYmUgbG9hZGVkIGZyb20gYXBwbGljYXRp
b24gY2FjaGUuIiwgcmVzb3VyY2VMb2FkZXIudXJsKCkuc3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7
Ci0gICAgICAgIG1fd2ViUmVzb3VyY2VMb2FkZXJzLnNldChpZGVudGlmaWVyLCBXZWJSZXNvdXJj
ZUxvYWRlcjo6Y3JlYXRlKHJlc291cmNlTG9hZGVyKSk7CisgICAgICAgIG1fd2ViUmVzb3VyY2VM
b2FkZXJzLnNldChpZGVudGlmaWVyLCBXZWJSZXNvdXJjZUxvYWRlcjo6Y3JlYXRlKHJlc291cmNl
TG9hZGVyLCB0cmFja2luZ1BhcmFtZXRlcnMpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApA
QCAtMTc3LDEzICsxODksNiBAQCB2b2lkIFdlYkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVsZUxvYWQo
UmVzb3VyY2VMb2FkZXImIHJlc291cmNlTG9hZGVyLCBDYWNoZWRSZXNvdQogICAgIENvbnRlbnRT
bmlmZmluZ1BvbGljeSBjb250ZW50U25pZmZpbmdQb2xpY3kgPSByZXNvdXJjZUxvYWRlci5zaG91
bGRTbmlmZkNvbnRlbnQoKSA/IFNuaWZmQ29udGVudCA6IERvTm90U25pZmZDb250ZW50OwogICAg
IFN0b3JlZENyZWRlbnRpYWxzIGFsbG93U3RvcmVkQ3JlZGVudGlhbHMgPSByZXNvdXJjZUxvYWRl
ci5zaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZSgpID8gQWxsb3dTdG9yZWRDcmVkZW50aWFscyA6
IERvTm90QWxsb3dTdG9yZWRDcmVkZW50aWFsczsKIAotICAgIC8vIEZJWE1FOiBTb21lIGVudGl0
aWVzIGluIFdlYkNvcmUgdXNlIFdlYkNvcmUncyAiRW1wdHlGcmFtZUxvYWRlckNsaWVudCIgaW5z
dGVhZCBvZiBoYXZpbmcgYSBwcm9wZXIgV2ViRnJhbWVMb2FkZXJDbGllbnQuCi0gICAgLy8gRW1w
dHlGcmFtZUxvYWRlckNsaWVudCBzaG91bGRuJ3QgZXhpc3QgYW5kIGV2ZXJ5dGhpbmcgc2hvdWxk
IGJlIHVzaW5nIGEgV2ViRnJhbWVMb2FkZXJDbGllbnQsCi0gICAgLy8gYnV0IGluIHRoZSBtZWFu
dGltZSB3ZSBoYXZlIHRvIG1ha2Ugc3VyZSBub3QgdG8gbWlzLWNhc3QuCi0gICAgV2ViRnJhbWVM
b2FkZXJDbGllbnQqIHdlYkZyYW1lTG9hZGVyQ2xpZW50ID0gdG9XZWJGcmFtZUxvYWRlckNsaWVu
dChyZXNvdXJjZUxvYWRlci5mcmFtZUxvYWRlcigpLT5jbGllbnQoKSk7Ci0gICAgV2ViRnJhbWUq
IHdlYkZyYW1lID0gd2ViRnJhbWVMb2FkZXJDbGllbnQgPyB3ZWJGcmFtZUxvYWRlckNsaWVudC0+
d2ViRnJhbWUoKSA6IDA7Ci0gICAgV2ViUGFnZSogd2ViUGFnZSA9IHdlYkZyYW1lID8gd2ViRnJh
bWUtPnBhZ2UoKSA6IDA7Ci0KICAgICBOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycyBsb2Fk
UGFyYW1ldGVyczsKICAgICBsb2FkUGFyYW1ldGVycy5pZGVudGlmaWVyID0gaWRlbnRpZmllcjsK
ICAgICBsb2FkUGFyYW1ldGVycy53ZWJQYWdlSUQgPSB3ZWJQYWdlID8gd2ViUGFnZS0+cGFnZUlE
KCkgOiAwOwpAQCAtMjAyLDE1ICsyMDcsMTUgQEAgdm9pZCBXZWJMb2FkZXJTdHJhdGVneTo6c2No
ZWR1bGVMb2FkKFJlc291cmNlTG9hZGVyJiByZXNvdXJjZUxvYWRlciwgQ2FjaGVkUmVzb3UKICAg
ICBBU1NFUlQoKGxvYWRQYXJhbWV0ZXJzLndlYlBhZ2VJRCAmJiBsb2FkUGFyYW1ldGVycy53ZWJG
cmFtZUlEKSB8fCBsb2FkUGFyYW1ldGVycy5jbGllbnRDcmVkZW50aWFsUG9saWN5ID09IENsaWVu
dENyZWRlbnRpYWxQb2xpY3k6OkNhbm5vdEFza0NsaWVudEZvckNyZWRlbnRpYWxzKTsKIAogICAg
IGlmICghV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkubmV0d29ya0Nvbm5lY3Rpb24oKS5jb25uZWN0
aW9uKCkuc2VuZChNZXNzYWdlczo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OlNjaGVk
dWxlUmVzb3VyY2VMb2FkKGxvYWRQYXJhbWV0ZXJzKSwgMCkpIHsKLSAgICAgICAgUkVMRUFTRV9M
T0dfRVJST1JfSUZfQUxMT1dFRCgic2NoZWR1bGVMb2FkOiBVbmFibGUgdG8gc2NoZWR1bGUgcmVz
b3VyY2Ugd2l0aCB0aGUgTmV0d29ya1Byb2Nlc3MgKHByaW9yaXR5ID0gJWQsIHBhZ2VJRCA9ICVs
bHUsIGZyYW1lSUQgPSAlbGx1KSIsIHN0YXRpY19jYXN0PGludD4ocmVzb3VyY2VMb2FkZXIucmVx
dWVzdCgpLnByaW9yaXR5KCkpLCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBsb25nIGxvbmc+KGxvYWRQ
YXJhbWV0ZXJzLndlYlBhZ2VJRCksIHN0YXRpY19jYXN0PHVuc2lnbmVkIGxvbmcgbG9uZz4obG9h
ZFBhcmFtZXRlcnMud2ViRnJhbWVJRCkpOworICAgICAgICBSRUxFQVNFX0xPR19FUlJPUl9JRl9B
TExPV0VEKCJzY2hlZHVsZUxvYWQ6IFVuYWJsZSB0byBzY2hlZHVsZSByZXNvdXJjZSB3aXRoIHRo
ZSBOZXR3b3JrUHJvY2VzcyAoZnJhbWUgPSAlcCwgcHJpb3JpdHkgPSAlZCwgcGFnZUlEID0gJWxs
dSwgZnJhbWVJRCA9ICVsbHUsIHJlc291cmNlSUQgPSAlbGx1KSIsIHJlc291cmNlTG9hZGVyLmZy
YW1lKCksIHN0YXRpY19jYXN0PGludD4ocmVzb3VyY2VMb2FkZXIucmVxdWVzdCgpLnByaW9yaXR5
KCkpLCBsb2FkUGFyYW1ldGVycy53ZWJQYWdlSUQsIGxvYWRQYXJhbWV0ZXJzLmlkZW50aWZpZXIs
IGxvYWRQYXJhbWV0ZXJzLndlYkZyYW1lSUQpOwogICAgICAgICAvLyBXZSBwcm9iYWJseSBmYWls
ZWQgdG8gc2NoZWR1bGUgdGhpcyBsb2FkIHdpdGggdGhlIE5ldHdvcmtQcm9jZXNzIGJlY2F1c2Ug
aXQgaGFkIGNyYXNoZWQuCiAgICAgICAgIC8vIFRoaXMgbG9hZCB3aWxsIG5ldmVyIHN1Y2NlZWQg
c28gd2Ugd2lsbCBzY2hlZHVsZSBpdCB0byBmYWlsIGFzeW5jaHJvbm91c2x5LgogICAgICAgICBz
Y2hlZHVsZUludGVybmFsbHlGYWlsZWRMb2FkKHJlc291cmNlTG9hZGVyKTsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KIAotICAgIGF1dG8gd2ViUmVzb3VyY2VMb2FkZXIgPSBXZWJSZXNvdXJjZUxv
YWRlcjo6Y3JlYXRlKHJlc291cmNlTG9hZGVyKTsKLSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VE
KCJzY2hlZHVsZUxvYWQ6IFJlc291cmNlIHdpbGwgYmUgc2NoZWR1bGVkIHdpdGggdGhlIE5ldHdv
cmtQcm9jZXNzIChwcmlvcml0eSA9ICVkLCBwYWdlSUQgPSAlbGx1LCBmcmFtZUlEID0gJWxsdSwg
V2ViUmVzb3VyY2VMb2FkZXIgPSAlcCkiLCBzdGF0aWNfY2FzdDxpbnQ+KHJlc291cmNlTG9hZGVy
LnJlcXVlc3QoKS5wcmlvcml0eSgpKSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9uZyBsb25nPihs
b2FkUGFyYW1ldGVycy53ZWJQYWdlSUQpLCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBsb25nIGxvbmc+
KGxvYWRQYXJhbWV0ZXJzLndlYkZyYW1lSUQpLCB3ZWJSZXNvdXJjZUxvYWRlci5wdHIoKSk7Cisg
ICAgYXV0byB3ZWJSZXNvdXJjZUxvYWRlciA9IFdlYlJlc291cmNlTG9hZGVyOjpjcmVhdGUocmVz
b3VyY2VMb2FkZXIsIHRyYWNraW5nUGFyYW1ldGVycyk7CisgICAgUkVMRUFTRV9MT0dfSUZfQUxM
T1dFRCgic2NoZWR1bGVMb2FkOiBSZXNvdXJjZSBoYXMgYmVlbiBxdWV1ZWQgZm9yIHNjaGVkdWxp
bmcgd2l0aCB0aGUgTmV0d29ya1Byb2Nlc3MgKGZyYW1lID0gJXAsIHByaW9yaXR5ID0gJWQsIHBh
Z2VJRCA9ICVsbHUsIGZyYW1lSUQgPSAlbGx1LCByZXNvdXJjZUlEID0gJWxsdSwgV2ViUmVzb3Vy
Y2VMb2FkZXIgPSAlcCkiLCByZXNvdXJjZUxvYWRlci5mcmFtZSgpLCBzdGF0aWNfY2FzdDxpbnQ+
KHJlc291cmNlTG9hZGVyLnJlcXVlc3QoKS5wcmlvcml0eSgpKSwgbG9hZFBhcmFtZXRlcnMud2Vi
UGFnZUlELCBsb2FkUGFyYW1ldGVycy53ZWJGcmFtZUlELCBsb2FkUGFyYW1ldGVycy5pZGVudGlm
aWVyLCB3ZWJSZXNvdXJjZUxvYWRlci5wdHIoKSk7CiAgICAgbV93ZWJSZXNvdXJjZUxvYWRlcnMu
c2V0KGlkZW50aWZpZXIsIFdURk1vdmUod2ViUmVzb3VyY2VMb2FkZXIpKTsKIH0KIApAQCAtMjMy
LDcgKzIzNyw3IEBAIHZvaWQgV2ViTG9hZGVyU3RyYXRlZ3k6OmludGVybmFsbHlGYWlsZWRMb2Fk
VGltZXJGaXJlZCgpCiB2b2lkIFdlYkxvYWRlclN0cmF0ZWd5OjpzdGFydExvY2FsTG9hZChXZWJD
b3JlOjpSZXNvdXJjZUxvYWRlciYgcmVzb3VyY2VMb2FkZXIpCiB7CiAgICAgcmVzb3VyY2VMb2Fk
ZXIuc3RhcnQoKTsKLSAgICBtX3dlYlJlc291cmNlTG9hZGVycy5zZXQocmVzb3VyY2VMb2FkZXIu
aWRlbnRpZmllcigpLCBXZWJSZXNvdXJjZUxvYWRlcjo6Y3JlYXRlKHJlc291cmNlTG9hZGVyKSk7
CisgICAgbV93ZWJSZXNvdXJjZUxvYWRlcnMuc2V0KHJlc291cmNlTG9hZGVyLmlkZW50aWZpZXIo
KSwgV2ViUmVzb3VyY2VMb2FkZXI6OmNyZWF0ZShyZXNvdXJjZUxvYWRlciwgeyB9KSk7CiB9CiAK
IHZvaWQgV2ViTG9hZGVyU3RyYXRlZ3k6OnJlbW92ZShSZXNvdXJjZUxvYWRlciogcmVzb3VyY2VM
b2FkZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2Vi
UmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dl
YlJlc291cmNlTG9hZGVyLmNwcAppbmRleCAyM2I2OTI4NmMwOGMxNDhlYWM0YjgxMjMzOWJlYTI0
MmJiZmMzOWQyLi5kNzE5NzFjOTZlNGZlNTkwNWYyNmViODFjZGY4ODljYjQ1ZjNjOTg5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2Fk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJj
ZUxvYWRlci5jcHAKQEAgLTQ2LDEzICs0NiwxNCBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
IAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLVJlZjxXZWJSZXNvdXJjZUxvYWRlcj4gV2ViUmVzb3Vy
Y2VMb2FkZXI6OmNyZWF0ZShSZWY8UmVzb3VyY2VMb2FkZXI+JiYgY29yZUxvYWRlcikKK1JlZjxX
ZWJSZXNvdXJjZUxvYWRlcj4gV2ViUmVzb3VyY2VMb2FkZXI6OmNyZWF0ZShSZWY8UmVzb3VyY2VM
b2FkZXI+JiYgY29yZUxvYWRlciwgY29uc3QgVHJhY2tpbmdQYXJhbWV0ZXJzJiB0cmFja2luZ1Bh
cmFtZXRlcnMpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViUmVzb3VyY2VMb2FkZXIo
V1RGTW92ZShjb3JlTG9hZGVyKSkpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdlYlJlc291
cmNlTG9hZGVyKFdURk1vdmUoY29yZUxvYWRlciksIHRyYWNraW5nUGFyYW1ldGVycykpOwogfQog
Ci1XZWJSZXNvdXJjZUxvYWRlcjo6V2ViUmVzb3VyY2VMb2FkZXIoUmVmPFdlYkNvcmU6OlJlc291
cmNlTG9hZGVyPiYmIGNvcmVMb2FkZXIpCitXZWJSZXNvdXJjZUxvYWRlcjo6V2ViUmVzb3VyY2VM
b2FkZXIoUmVmPFdlYkNvcmU6OlJlc291cmNlTG9hZGVyPiYmIGNvcmVMb2FkZXIsIGNvbnN0IFRy
YWNraW5nUGFyYW1ldGVycyYgdHJhY2tpbmdQYXJhbWV0ZXJzKQogICAgIDogbV9jb3JlTG9hZGVy
KFdURk1vdmUoY29yZUxvYWRlcikpCisgICAgLCBtX3RyYWNraW5nUGFyYW1ldGVycyh0cmFja2lu
Z1BhcmFtZXRlcnMpCiB7CiB9CiAKQEAgLTc4LDcgKzc5LDcgQEAgdm9pZCBXZWJSZXNvdXJjZUxv
YWRlcjo6ZGV0YWNoRnJvbUNvcmVMb2FkZXIoKQogdm9pZCBXZWJSZXNvdXJjZUxvYWRlcjo6d2ls
bFNlbmRSZXF1ZXN0KFJlc291cmNlUmVxdWVzdCYmIHByb3Bvc2VkUmVxdWVzdCwgUmVzb3VyY2VS
ZXNwb25zZSYmIHJlZGlyZWN0UmVzcG9uc2UpCiB7CiAgICAgTE9HKE5ldHdvcmssICIoV2ViUHJv
Y2VzcykgV2ViUmVzb3VyY2VMb2FkZXI6OndpbGxTZW5kUmVxdWVzdCB0byAnJXMnIiwgcHJvcG9z
ZWRSZXF1ZXN0LnVybCgpLnN0cmluZygpLmxhdGluMSgpLmRhdGEoKSk7Ci0gICAgUkVMRUFTRV9M
T0dfSUZfQUxMT1dFRCgid2lsbFNlbmRSZXF1ZXN0Iik7CisgICAgUkVMRUFTRV9MT0dfSUZfQUxM
T1dFRCgid2lsbFNlbmRSZXF1ZXN0OiAocGFnZUlEID0gJWxsdSwgZnJhbWVJRCA9ICVsbHUsIHJl
c291cmNlSUQgPSAlbGx1KSIsIG1fdHJhY2tpbmdQYXJhbWV0ZXJzLnBhZ2VJRCwgbV90cmFja2lu
Z1BhcmFtZXRlcnMuZnJhbWVJRCwgbV90cmFja2luZ1BhcmFtZXRlcnMucmVzb3VyY2VJRCk7CiAK
ICAgICBSZWZQdHI8V2ViUmVzb3VyY2VMb2FkZXI+IHByb3RlY3RlZFRoaXModGhpcyk7CiAKQEAg
LTEwMSw3ICsxMDIsNyBAQCB2b2lkIFdlYlJlc291cmNlTG9hZGVyOjpkaWRTZW5kRGF0YSh1aW50
NjRfdCBieXRlc1NlbnQsIHVpbnQ2NF90IHRvdGFsQnl0ZXNUb0JlUwogdm9pZCBXZWJSZXNvdXJj
ZUxvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3Bv
bnNlLCBib29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2VNZXNzYWdlKQogewogICAg
IExPRyhOZXR3b3JrLCAiKFdlYlByb2Nlc3MpIFdlYlJlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZl
UmVzcG9uc2UgZm9yICclcycuIFN0YXR1cyAlZC4iLCBtX2NvcmVMb2FkZXItPnVybCgpLnN0cmlu
ZygpLmxhdGluMSgpLmRhdGEoKSwgcmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKSk7Ci0gICAgUkVM
RUFTRV9MT0dfSUZfQUxMT1dFRCgiZGlkUmVjZWl2ZVJlc3BvbnNlOiAoc3RhdHVzID0gJWQpIiwg
cmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKSk7CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgi
ZGlkUmVjZWl2ZVJlc3BvbnNlOiAocGFnZUlEID0gJWxsdSwgZnJhbWVJRCA9ICVsbHUsIHJlc291
cmNlSUQgPSAlbGx1LCBzdGF0dXMgPSAlZCkiLCBtX3RyYWNraW5nUGFyYW1ldGVycy5wYWdlSUQs
IG1fdHJhY2tpbmdQYXJhbWV0ZXJzLmZyYW1lSUQsIG1fdHJhY2tpbmdQYXJhbWV0ZXJzLnJlc291
cmNlSUQsIHJlc3BvbnNlLmh0dHBTdGF0dXNDb2RlKCkpOwogCiAgICAgUmVmPFdlYlJlc291cmNl
TG9hZGVyPiBwcm90ZWN0KCp0aGlzKTsKIApAQCAtMTM1LDcgKzEzNiw3IEBAIHZvaWQgV2ViUmVz
b3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVEYXRhKGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgZGF0
YSwgaW50NjRfdCBlCiAgICAgTE9HKE5ldHdvcmssICIoV2ViUHJvY2VzcykgV2ViUmVzb3VyY2VM
b2FkZXI6OmRpZFJlY2VpdmVEYXRhIG9mIHNpemUgJWx1IGZvciAnJXMnIiwgZGF0YS5zaXplKCks
IG1fY29yZUxvYWRlci0+dXJsKCkuc3RyaW5nKCkubGF0aW4xKCkuZGF0YSgpKTsKIAogICAgIGlm
ICghbV9oYXNSZWNlaXZlZERhdGEpIHsKLSAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgi
ZGlkUmVjZWl2ZURhdGE6IChzaXplID0gJWx1KSIsIGRhdGEuc2l6ZSgpKTsKKyAgICAgICAgUkVM
RUFTRV9MT0dfSUZfQUxMT1dFRCgiZGlkUmVjZWl2ZURhdGE6IFN0YXJ0ZWQgcmVjZWl2aW5nIGRh
dGEgKHBhZ2VJRCA9ICVsbHUsIGZyYW1lSUQgPSAlbGx1LCByZXNvdXJjZUlEID0gJWxsdSkiLCBt
X3RyYWNraW5nUGFyYW1ldGVycy5wYWdlSUQsIG1fdHJhY2tpbmdQYXJhbWV0ZXJzLmZyYW1lSUQs
IG1fdHJhY2tpbmdQYXJhbWV0ZXJzLnJlc291cmNlSUQpOwogICAgICAgICBtX2hhc1JlY2VpdmVk
RGF0YSA9IHRydWU7CiAgICAgfQogCkBAIC0xNTEsNyArMTUyLDcgQEAgdm9pZCBXZWJSZXNvdXJj
ZUxvYWRlcjo6ZGlkUmVjZWl2ZURhdGEoY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBkYXRhLCBp
bnQ2NF90IGUKIHZvaWQgV2ViUmVzb3VyY2VMb2FkZXI6OmRpZEZpbmlzaFJlc291cmNlTG9hZChk
b3VibGUgZmluaXNoVGltZSkKIHsKICAgICBMT0coTmV0d29yaywgIihXZWJQcm9jZXNzKSBXZWJS
ZXNvdXJjZUxvYWRlcjo6ZGlkRmluaXNoUmVzb3VyY2VMb2FkIGZvciAnJXMnIiwgbV9jb3JlTG9h
ZGVyLT51cmwoKS5zdHJpbmcoKS5sYXRpbjEoKS5kYXRhKCkpOwotICAgIFJFTEVBU0VfTE9HX0lG
X0FMTE9XRUQoImRpZEZpbmlzaFJlc291cmNlTG9hZCIpOworICAgIFJFTEVBU0VfTE9HX0lGX0FM
TE9XRUQoImRpZEZpbmlzaFJlc291cmNlTG9hZDogKHBhZ2VJRCA9ICVsbHUsIGZyYW1lSUQgPSAl
bGx1LCByZXNvdXJjZUlEID0gJWxsdSkiLCBtX3RyYWNraW5nUGFyYW1ldGVycy5wYWdlSUQsIG1f
dHJhY2tpbmdQYXJhbWV0ZXJzLmZyYW1lSUQsIG1fdHJhY2tpbmdQYXJhbWV0ZXJzLnJlc291cmNl
SUQpOwogCiAjaWYgVVNFKFFVSUNLX0xPT0spCiAgICAgaWYgKFF1aWNrTG9va0hhbmRsZSogcXVp
Y2tMb29rSGFuZGxlID0gbV9jb3JlTG9hZGVyLT5kb2N1bWVudExvYWRlcigpLT5xdWlja0xvb2tI
YW5kbGUoKSkgewpAQCAtMTY1LDcgKzE2Niw3IEBAIHZvaWQgV2ViUmVzb3VyY2VMb2FkZXI6OmRp
ZEZpbmlzaFJlc291cmNlTG9hZChkb3VibGUgZmluaXNoVGltZSkKIHZvaWQgV2ViUmVzb3VyY2VM
b2FkZXI6OmRpZEZhaWxSZXNvdXJjZUxvYWQoY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCiB7
CiAgICAgTE9HKE5ldHdvcmssICIoV2ViUHJvY2VzcykgV2ViUmVzb3VyY2VMb2FkZXI6OmRpZEZh
aWxSZXNvdXJjZUxvYWQgZm9yICclcyciLCBtX2NvcmVMb2FkZXItPnVybCgpLnN0cmluZygpLmxh
dGluMSgpLmRhdGEoKSk7Ci0gICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiZGlkRmFpbFJlc291
cmNlTG9hZCIpOworICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImRpZEZhaWxSZXNvdXJjZUxv
YWQ6IChwYWdlSUQgPSAlbGx1LCBmcmFtZUlEID0gJWxsdSwgcmVzb3VyY2VJRCA9ICVsbHUpIiwg
bV90cmFja2luZ1BhcmFtZXRlcnMucGFnZUlELCBtX3RyYWNraW5nUGFyYW1ldGVycy5mcmFtZUlE
LCBtX3RyYWNraW5nUGFyYW1ldGVycy5yZXNvdXJjZUlEKTsKIAogI2lmIFVTRShRVUlDS19MT09L
KQogICAgIGlmIChRdWlja0xvb2tIYW5kbGUqIHF1aWNrTG9va0hhbmRsZSA9IG1fY29yZUxvYWRl
ci0+ZG9jdW1lbnRMb2FkZXIoKS0+cXVpY2tMb29rSGFuZGxlKCkpCkBAIC0xODAsNyArMTgxLDcg
QEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRlcjo6ZGlkRmFpbFJlc291cmNlTG9hZChjb25zdCBSZXNv
dXJjZUVycm9yJiBlcnJvcikKIHZvaWQgV2ViUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNv
dXJjZShjb25zdCBTaGFyZWFibGVSZXNvdXJjZTo6SGFuZGxlJiBoYW5kbGUsIGRvdWJsZSBmaW5p
c2hUaW1lKQogewogICAgIExPRyhOZXR3b3JrLCAiKFdlYlByb2Nlc3MpIFdlYlJlc291cmNlTG9h
ZGVyOjpkaWRSZWNlaXZlUmVzb3VyY2UgZm9yICclcyciLCBtX2NvcmVMb2FkZXItPnVybCgpLnN0
cmluZygpLmxhdGluMSgpLmRhdGEoKSk7Ci0gICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiZGlk
UmVjZWl2ZVJlc291cmNlIik7CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiZGlkUmVjZWl2
ZVJlc291cmNlOiAocGFnZUlEID0gJWxsdSwgZnJhbWVJRCA9ICVsbHUsIHJlc291cmNlSUQgPSAl
bGx1KSIsIG1fdHJhY2tpbmdQYXJhbWV0ZXJzLnBhZ2VJRCwgbV90cmFja2luZ1BhcmFtZXRlcnMu
ZnJhbWVJRCwgbV90cmFja2luZ1BhcmFtZXRlcnMucmVzb3VyY2VJRCk7CiAKICAgICBSZWZQdHI8
U2hhcmVkQnVmZmVyPiBidWZmZXIgPSBoYW5kbGUudHJ5V3JhcEluU2hhcmVkQnVmZmVyKCk7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJj
ZUxvYWRlci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNl
TG9hZGVyLmgKaW5kZXggZjg2ZDAzOTVkYjIyMDhmZjVkMWI1YmM4ZjA5MzE1MWI2M2Q5OTFhYS4u
ZWMyYzhkNWVkNDRmNjY3NDQ4YmM0Y2U5MDdlMTdhYjkxNDQ2MGIzNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmgKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmgKQEAg
LTQxLDggKzQxLDYgQEAgY2xhc3MgRGF0YVJlZmVyZW5jZTsKIH0KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewotY2xhc3MgQ2VydGlmaWNhdGVJbmZvOwotY2xhc3MgUHJvdGVjdGlvblNwYWNlOwogY2xh
c3MgUmVzb3VyY2VFcnJvcjsKIGNsYXNzIFJlc291cmNlTG9hZGVyOwogY2xhc3MgUmVzb3VyY2VS
ZXF1ZXN0OwpAQCAtNTUsNyArNTMsMTMgQEAgdHlwZWRlZiB1aW50NjRfdCBSZXNvdXJjZUxvYWRJ
ZGVudGlmaWVyOwogCiBjbGFzcyBXZWJSZXNvdXJjZUxvYWRlciA6IHB1YmxpYyBSZWZDb3VudGVk
PFdlYlJlc291cmNlTG9hZGVyPiwgcHVibGljIElQQzo6TWVzc2FnZVNlbmRlciB7CiBwdWJsaWM6
Ci0gICAgc3RhdGljIFJlZjxXZWJSZXNvdXJjZUxvYWRlcj4gY3JlYXRlKFJlZjxXZWJDb3JlOjpS
ZXNvdXJjZUxvYWRlcj4mJik7CisgICAgc3RydWN0IFRyYWNraW5nUGFyYW1ldGVycyB7CisgICAg
ICAgIHVpbnQ2NF90IHBhZ2VJRCB7IDAgfTsKKyAgICAgICAgdWludDY0X3QgZnJhbWVJRCB7IDAg
fTsKKyAgICAgICAgUmVzb3VyY2VMb2FkSWRlbnRpZmllciByZXNvdXJjZUlEIHsgMCB9OworICAg
IH07CisKKyAgICBzdGF0aWMgUmVmPFdlYlJlc291cmNlTG9hZGVyPiBjcmVhdGUoUmVmPFdlYkNv
cmU6OlJlc291cmNlTG9hZGVyPiYmLCBjb25zdCBUcmFja2luZ1BhcmFtZXRlcnMmKTsKIAogICAg
IH5XZWJSZXNvdXJjZUxvYWRlcigpOwogCkBAIC02OCw3ICs3Miw3IEBAIHB1YmxpYzoKICAgICBi
b29sIGlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpIGNvbnN0OwogCiBwcml2YXRlOgotICAgIFdl
YlJlc291cmNlTG9hZGVyKFJlZjxXZWJDb3JlOjpSZXNvdXJjZUxvYWRlcj4mJik7CisgICAgV2Vi
UmVzb3VyY2VMb2FkZXIoUmVmPFdlYkNvcmU6OlJlc291cmNlTG9hZGVyPiYmLCBjb25zdCBUcmFj
a2luZ1BhcmFtZXRlcnMmKTsKIAogICAgIC8vIElQQzo6TWVzc2FnZVNlbmRlcgogICAgIElQQzo6
Q29ubmVjdGlvbiogbWVzc2FnZVNlbmRlckNvbm5lY3Rpb24oKSBvdmVycmlkZTsKQEAgLTg1LDYg
Kzg5LDcgQEAgcHJpdmF0ZToKICNlbmRpZgogCiAgICAgUmVmUHRyPFdlYkNvcmU6OlJlc291cmNl
TG9hZGVyPiBtX2NvcmVMb2FkZXI7CisgICAgVHJhY2tpbmdQYXJhbWV0ZXJzIG1fdHJhY2tpbmdQ
YXJhbWV0ZXJzOwogICAgIGJvb2wgbV9oYXNSZWNlaXZlZERhdGEgeyBmYWxzZSB9OwogfTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>