<?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>212109</bug_id>
          
          <creation_ts>2020-05-19 14:50:28 -0700</creation_ts>
          <short_desc>Update some media logging</short_desc>
          <delta_ts>2020-05-20 10:24:33 -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>Media</component>
          <version>Other</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Carlson">eric.carlson</reporter>
          <assigned_to name="Eric Carlson">eric.carlson</assigned_to>
          <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1654193</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-05-19 14:50:28 -0700</bug_when>
    <thetext>It was helpful to change some media logging from INFO_LOG to ALWAYS_LOG while investigating a bug, so make the change permanent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1654210</commentid>
    <comment_count>1</comment_count>
      <attachid>399775</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-05-19 15:42:33 -0700</bug_when>
    <thetext>Created attachment 399775
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1654260</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-05-19 17:44:13 -0700</bug_when>
    <thetext>Found 1 new test failure: fast/history/page-cache-running-audiocontext.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1654264</commentid>
    <comment_count>3</comment_count>
      <attachid>399792</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-05-19 17:50:53 -0700</bug_when>
    <thetext>Created attachment 399792
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1654273</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-05-19 18:15:44 -0700</bug_when>
    <thetext>Committed r261899: &lt;https://trac.webkit.org/changeset/261899&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 399792.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1654274</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-05-19 18:16:14 -0700</bug_when>
    <thetext>&lt;rdar://problem/63424816&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1654476</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-05-20 09:25:45 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1654477</commentid>
    <comment_count>7</comment_count>
      <attachid>399844</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-05-20 09:25:46 -0700</bug_when>
    <thetext>Created attachment 399844
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1654504</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-05-20 10:24:31 -0700</bug_when>
    <thetext>Committed r261928: &lt;https://trac.webkit.org/changeset/261928&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 399844.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399775</attachid>
            <date>2020-05-19 15:42:33 -0700</date>
            <delta_ts>2020-05-19 17:50:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-212109-20200519154233.patch</filename>
            <type>text/plain</type>
            <size>33553</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxNjk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmRjMGI5YTJjZGE3ZGM2
MmYzYWEwMGUzNjI5N2E0YTk4ZDE1Mjg0NS4uYTg0OTkxOTM4MGM5ODU4YzczZTc3MWE5ZjEwYTIx
OWY2NWQyM2E5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgzIEBACisyMDIwLTA1LTE5ICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFVwZGF0ZSBzb21l
IG1lZGlhIGxvZ2dpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxMjEwOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gZnVuY3Rpb25hbCBjaGFuZ2UuCisKKyAgICAgICAgKiBo
dG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxl
bWVudDo6aW5zZXJ0ZWRJbnRvQW5jZXN0b3IpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlh
RWxlbWVudDo6ZGlkRmluaXNoSW5zZXJ0aW5nTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
TWVkaWFFbGVtZW50OjpyZW1vdmVkRnJvbUFuY2VzdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxNZWRpYUVsZW1lbnQ6OmNoZWNrUGxheWJhY2tUYXJnZXRDb21wYXRhYmxpdHkpOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6Y2FuUGxheVR5cGUgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6d2FpdEZvclNvdXJjZUNoYW5nZSk6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojpub25lU3VwcG9ydGVkKToKKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhTG9hZGluZ0ZhaWxlZCk6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpmYXN0U2Vlayk6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MTWVkaWFFbGVtZW50OjpzZWVrKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVs
ZW1lbnQ6OnNlZWtJbnRlcm5hbCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50
OjpzZWVrVGFzayk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpmaW5pc2hT
ZWVrKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmN1cnJlbnRNZWRpYVRp
bWUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c2V0UHJlbG9h
ZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpwbGF5SW50ZXJuYWwpOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6cGF1c2VJbnRlcm5hbCk6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpzZXRMb29wKToKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnNldENvbnRyb2xzKToKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxNZWRpYUVsZW1lbnQ6OnNldFZvbHVtZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFF
bGVtZW50OjpzZXRNdXRlZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojpo
YXJkd2FyZU11dGVkU3RhdGVEaWRDaGFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlh
RWxlbWVudDo6Y29uZmlndXJlVGV4dFRyYWNrR3JvdXApOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJUaW1lQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllclZvbHVtZUNoYW5nZWQpOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJNdXRlQ2hhbmdlZCk6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllckR1cmF0aW9uQ2hhbmdl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllclJhdGVD
aGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVy
UGxheWJhY2tTdGF0ZUNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVu
dDo6bWVkaWFQbGF5ZXJSZXNvdXJjZU5vdFN1cHBvcnRlZCk6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllclNpemVDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyUmVuZGVyaW5nTW9kZUNoYW5nZWQpOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJFbmdpbmVVcGRh
dGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyRmly
c3RWaWRlb0ZyYW1lQXZhaWxhYmxlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1l
bnQ6Om1lZGlhUGxheWVyQ2hhcmFjdGVyaXN0aWNDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxNZWRpYUVsZW1lbnQ6OnVwZGF0ZVBsYXlTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MTWVkaWFFbGVtZW50OjpzdG9wKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1l
bnQ6OnN1c3BlbmQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6cmVzdW1l
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnZpc2liaWxpdHlTdGF0ZUNo
YW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6YWRkRXZlbnRMaXN0
ZW5lcik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpyZW1vdmVFdmVudExp
c3RlbmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmVucXVldWVQbGF5
YmFja1RhcmdldEF2YWlsYWJpbGl0eUNoYW5nZWRFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MTWVkaWFFbGVtZW50OjpzZXRTaG91bGRQbGF5VG9QbGF5YmFja1RhcmdldCk6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpyZW1vdGVIYXNBdmFpbGFiaWxpdHlDYWxsYmFj
a3NDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmVudGVyRnVs
bHNjcmVlbik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpleGl0RnVsbHNj
cmVlbik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpkaWRCZWNvbWVGdWxs
c2NyZWVuRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpzZXRD
bG9zZWRDYXB0aW9uc1Zpc2libGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVu
dDo6bWVkaWFDYW5TdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojpz
ZXRTaG91bGREZWxheUxvYWRFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVt
ZW50OjpzdXNwZW5kUGxheWJhY2spOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVu
dDo6cmVzdW1lQXV0b3BsYXlpbmcpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVu
dDo6bWF5UmVzdW1lUGxheWJhY2spOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVu
dDo6ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxNZWRpYUVsZW1lbnQ6OnNldEJ1ZmZlcmluZ1BvbGljeSk6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MTWVkaWFFbGVtZW50OjpwdXJnZUJ1ZmZlcmVkRGF0YUlmUG9zc2libGUpOgorICAgICAgICAq
IHBsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpzZXRTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbjo6YmVnaW5JbnRlcnJ1cHRpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OmVuZEludGVycnVwdGlvbik6CisgICAgICAgIChXZWJD
b3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6Y2xpZW50V2lsbEJlZ2luQXV0b3BsYXlpbmcpOgor
ICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OmNsaWVudFdpbGxCZWdpblBs
YXliYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpwcm9jZXNz
Q2xpZW50V2lsbFBhdXNlUGxheWJhY2spOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1NZWRp
YVNlc3Npb246OmNsaWVudFdpbGxQYXVzZVBsYXliYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlBs
YXRmb3JtTWVkaWFTZXNzaW9uOjpjbGllbnRXaWxsQmVET01TdXNwZW5kZWQpOgorICAgICAgICAo
V2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OnBhdXNlU2Vzc2lvbik6CisgICAgICAgIChX
ZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6c3RvcFNlc3Npb24pOgorICAgICAgICAoV2Vi
Q29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFu
ZCk6CisKIDIwMjAtMDUtMTQgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAg
ICAgICBSZWdyZXNzaW9uKHIyNTQ4NTYpIEZhbWlseSBIZWFsdGggaU9TIGFwcCBpcyBicm9rZW4g
ZHVlIHRvIGxhY2sgZm9yIFdlYlNRTCBzdXBwb3J0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmNwcAppbmRleCBlZjlmYmQ3NDBiMWMzNTVkNzI4OTM3YjY1MjdiNjg4ZmM1OTA3
NDBiLi4xMWUzZjIzMGUwMjIzY2JkYjUxMWI1MjNiZGYzN2ZjMTI5YWM2NGNmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTgxOSw3ICs4MTksNyBAQCBib29s
IEhUTUxNZWRpYUVsZW1lbnQ6OmNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoY29uc3QgTm9kZSYg
Y2hpbGQpIGNvbnN0CiAKIE5vZGU6Okluc2VydGVkSW50b0FuY2VzdG9yUmVzdWx0IEhUTUxNZWRp
YUVsZW1lbnQ6Omluc2VydGVkSW50b0FuY2VzdG9yKEluc2VydGlvblR5cGUgaW5zZXJ0aW9uVHlw
ZSwgQ29udGFpbmVyTm9kZSYgcGFyZW50T2ZJbnNlcnRlZFRyZWUpCiB7Ci0gICAgSU5GT19MT0co
TE9HSURFTlRJRklFUik7CisgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSKTsKIAogICAgIEhU
TUxFbGVtZW50OjppbnNlcnRlZEludG9BbmNlc3RvcihpbnNlcnRpb25UeXBlLCBwYXJlbnRPZklu
c2VydGVkVHJlZSk7CiAgICAgaWYgKGluc2VydGlvblR5cGUuY29ubmVjdGVkVG9Eb2N1bWVudCkK
QEAgLTgzMiw3ICs4MzIsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmRpZEZpbmlzaEluc2Vy
dGluZ05vZGUoKQogewogICAgIFJlZjxIVE1MTWVkaWFFbGVtZW50PiBwcm90ZWN0ZWRUaGlzKCp0
aGlzKTsgLy8gcHJlcGFyZUZvckxvYWQgbWF5IHJlc3VsdCBpbiBhICdiZWZvcmVsb2FkJyBldmVu
dCwgd2hpY2ggY2FuIG1ha2UgYXJiaXRyYXJ5IERPTSBtdXRhdGlvbnMuCiAKLSAgICBJTkZPX0xP
RyhMT0dJREVOVElGSUVSKTsKKyAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIpOwogCiAgICAg
aWYgKG1faW5BY3RpdmVEb2N1bWVudCAmJiBtX25ldHdvcmtTdGF0ZSA9PSBORVRXT1JLX0VNUFRZ
ICYmICFhdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKHNyY0F0dHIpLmlzRW1wdHkoKSkK
ICAgICAgICAgcHJlcGFyZUZvckxvYWQoKTsKQEAgLTg3NSw3ICs4NzUsNyBAQCB2b2lkIEhUTUxN
ZWRpYUVsZW1lbnQ6OnBhdXNlQWZ0ZXJEZXRhY2hlZFRhc2soKQogCiB2b2lkIEhUTUxNZWRpYUVs
ZW1lbnQ6OnJlbW92ZWRGcm9tQW5jZXN0b3IoUmVtb3ZhbFR5cGUgcmVtb3ZhbFR5cGUsIENvbnRh
aW5lck5vZGUmIG9sZFBhcmVudE9mUmVtb3ZlZFRyZWUpCiB7Ci0gICAgSU5GT19MT0coTE9HSURF
TlRJRklFUik7CisgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSKTsKIAogICAgIHNldEluQWN0
aXZlRG9jdW1lbnQoZmFsc2UpOwogICAgIGlmIChyZW1vdmFsVHlwZS5kaXNjb25uZWN0ZWRGcm9t
RG9jdW1lbnQpIHsKQEAgLTEwMjYsNyArMTAyNiw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6
Y2hlY2tQbGF5YmFja1RhcmdldENvbXBhdGFibGl0eSgpCiB7CiAjaWYgRU5BQkxFKFdJUkVMRVNT
X1BMQVlCQUNLX1RBUkdFVCkKICAgICBpZiAobV9pc1BsYXlpbmdUb1dpcmVsZXNzVGFyZ2V0ICYm
ICFtX3BsYXllci0+Y2FuUGxheVRvV2lyZWxlc3NQbGF5YmFja1RhcmdldCgpKSB7Ci0gICAgICAg
IElORk9fTE9HKExPR0lERU5USUZJRVIsICJjYWxsaW5nIHNldFNob3VsZFBsYXlUb1BsYXliYWNr
VGFyZ2V0KGZhbHNlKSIpOworICAgICAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIsICJjYWxs
aW5nIHNldFNob3VsZFBsYXlUb1BsYXliYWNrVGFyZ2V0KGZhbHNlKSIpOwogICAgICAgICBtX2Zh
aWxlZFRvUGxheVRvV2lyZWxlc3NUYXJnZXQgPSB0cnVlOwogICAgICAgICBtX3BsYXllci0+c2V0
U2hvdWxkUGxheVRvUGxheWJhY2tUYXJnZXQoZmFsc2UpOwogICAgIH0KQEAgLTEwOTUsNyArMTA5
NSw3IEBAIFN0cmluZyBIVE1MTWVkaWFFbGVtZW50OjpjYW5QbGF5VHlwZShjb25zdCBTdHJpbmcm
IG1pbWVUeXBlKSBjb25zdAogICAgICAgICAgICAgYnJlYWs7CiAgICAgfQogCi0gICAgSU5GT19M
T0coTE9HSURFTlRJRklFUiwgbWltZVR5cGUsICI6ICIsIGNhblBsYXkpOworICAgIEFMV0FZU19M
T0coTE9HSURFTlRJRklFUiwgbWltZVR5cGUsICI6ICIsIGNhblBsYXkpOwogCiAgICAgcmV0dXJu
IGNhblBsYXk7CiB9CkBAIC0yMDM5LDcgKzIwMzksNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6
OnN0YXJ0UHJvZ3Jlc3NFdmVudFRpbWVyKCkKIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp3YWl0
Rm9yU291cmNlQ2hhbmdlKCkKIHsKLSAgICBJTkZPX0xPRyhMT0dJREVOVElGSUVSKTsKKyAgICBB
TFdBWVNfTE9HKExPR0lERU5USUZJRVIpOwogCiAgICAgc3RvcFBlcmlvZGljVGltZXJzKCk7CiAg
ICAgbV9sb2FkU3RhdGUgPSBXYWl0aW5nRm9yU291cmNlOwpAQCAtMjA1OSw3ICsyMDU5LDcgQEAg
dm9pZCBIVE1MTWVkaWFFbGVtZW50Ojpub25lU3VwcG9ydGVkKCkKICAgICBpZiAobV9lcnJvcikK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgSU5GT19MT0coTE9HSURFTlRJRklFUik7CisgICAgQUxX
QVlTX0xPRyhMT0dJREVOVElGSUVSKTsKIAogICAgIHN0b3BQZXJpb2RpY1RpbWVycygpOwogICAg
IG1fbG9hZFN0YXRlID0gV2FpdGluZ0ZvclNvdXJjZTsKQEAgLTIxODUsNyArMjE4NSw3IEBAIHZv
aWQgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFMb2FkaW5nRmFpbGVkKE1lZGlhUGxheWVyOjpOZXR3
b3JrU3RhdGUgZXJyb3IpCiAgICAgICAgIGlmIChtX2N1cnJlbnRTb3VyY2VOb2RlKQogICAgICAg
ICAgICAgbV9jdXJyZW50U291cmNlTm9kZS0+c2NoZWR1bGVFcnJvckV2ZW50KCk7CiAgICAgICAg
IGVsc2UKLSAgICAgICAgICAgIElORk9fTE9HKExPR0lERU5USUZJRVIsICJlcnJvciBldmVudCBu
b3Qgc2VudCwgPHNvdXJjZT4gd2FzIHJlbW92ZWQiKTsKKyAgICAgICAgICAgIEFMV0FZU19MT0co
TE9HSURFTlRJRklFUiwgImVycm9yIGV2ZW50IG5vdCBzZW50LCA8c291cmNlPiB3YXMgcmVtb3Zl
ZCIpOwogCiAgICAgICAgIC8vIDkuT3RoZXJ3aXNlLjEwIC0gQXN5bmNocm9ub3VzbHkgYXdhaXQg
YSBzdGFibGUgc3RhdGUuIFRoZSBzeW5jaHJvbm91cyBzZWN0aW9uIGNvbnNpc3RzIG9mIGFsbCB0
aGUgcmVtYWluaW5nIHN0ZXBzIG9mIHRoaXMgYWxnb3JpdGhtIHVudGlsIHRoZSBhbGdvcml0aG0g
c2F5cyB0aGUgc3luY2hyb25vdXMgc2VjdGlvbiBoYXMgZW5kZWQuCiAKQEAgLTIxOTMsMTAgKzIx
OTMsMTAgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYUxvYWRpbmdGYWlsZWQoTWVkaWFQ
bGF5ZXI6Ok5ldHdvcmtTdGF0ZSBlcnJvcikKICAgICAgICAgZm9yZ2V0UmVzb3VyY2VTcGVjaWZp
Y1RyYWNrcygpOwogCiAgICAgICAgIGlmIChoYXZlUG90ZW50aWFsU291cmNlQ2hpbGQoKSkgewot
ICAgICAgICAgICAgSU5GT19MT0coTE9HSURFTlRJRklFUiwgInNjaGVkdWxpbmcgbmV4dCA8c291
cmNlPiIpOworICAgICAgICAgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSLCAic2NoZWR1bGlu
ZyBuZXh0IDxzb3VyY2U+Iik7CiAgICAgICAgICAgICBzY2hlZHVsZU5leHRTb3VyY2VDaGlsZCgp
OwogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgSU5GT19MT0coTE9HSURFTlRJRklFUiwg
Im5vIG1vcmUgPHNvdXJjZT4gZWxlbWVudHMsIHdhaXRpbmciKTsKKyAgICAgICAgICAgIEFMV0FZ
U19MT0coTE9HSURFTlRJRklFUiwgIm5vIG1vcmUgPHNvdXJjZT4gZWxlbWVudHMsIHdhaXRpbmci
KTsKICAgICAgICAgICAgIHdhaXRGb3JTb3VyY2VDaGFuZ2UoKTsKICAgICAgICAgfQogCkBAIC0y
ODYyLDcgKzI4NjIsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmZhc3RTZWVrKGRvdWJsZSB0
aW1lKQogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmZhc3RTZWVrKGNvbnN0IE1lZGlhVGltZSYg
dGltZSkKIHsKLSAgICBJTkZPX0xPRyhMT0dJREVOVElGSUVSLCB0aW1lKTsKKyAgICBBTFdBWVNf
TE9HKExPR0lERU5USUZJRVIsIHRpbWUpOwogICAgIC8vIDQuNy4xMC45IFNlZWtpbmcKICAgICAv
LyA5LiBJZiB0aGUgYXBwcm94aW1hdGUtZm9yLXNwZWVkIGZsYWcgaXMgc2V0LCBhZGp1c3QgdGhl
IG5ldyBwbGF5YmFjayBwb3NpdGlvbiB0byBhIHZhbHVlIHRoYXQgd2lsbAogICAgIC8vIGFsbG93
IGZvciBwbGF5YmFjayB0byByZXN1bWUgcHJvbXB0bHkuIElmIG5ldyBwbGF5YmFjayBwb3NpdGlv
biBiZWZvcmUgdGhpcyBzdGVwIGlzIGJlZm9yZSBjdXJyZW50CkBAIC0yODc4LDEzICsyODc4LDEz
IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6ZmFzdFNlZWsoY29uc3QgTWVkaWFUaW1lJiB0aW1l
KQogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNlZWsoY29uc3QgTWVkaWFUaW1lJiB0aW1lKQog
ewotICAgIElORk9fTE9HKExPR0lERU5USUZJRVIsIHRpbWUpOworICAgIEFMV0FZU19MT0coTE9H
SURFTlRJRklFUiwgdGltZSk7CiAgICAgc2Vla1dpdGhUb2xlcmFuY2UodGltZSwgTWVkaWFUaW1l
Ojp6ZXJvVGltZSgpLCBNZWRpYVRpbWU6Onplcm9UaW1lKCksIHRydWUpOwogfQogCiB2b2lkIEhU
TUxNZWRpYUVsZW1lbnQ6OnNlZWtJbnRlcm5hbChjb25zdCBNZWRpYVRpbWUmIHRpbWUpCiB7Ci0g
ICAgSU5GT19MT0coTE9HSURFTlRJRklFUiwgdGltZSk7CisgICAgQUxXQVlTX0xPRyhMT0dJREVO
VElGSUVSLCB0aW1lKTsKICAgICBzZWVrV2l0aFRvbGVyYW5jZSh0aW1lLCBNZWRpYVRpbWU6Onpl
cm9UaW1lKCksIE1lZGlhVGltZTo6emVyb1RpbWUoKSwgZmFsc2UpOwogfQogCkBAIC0yOTc0LDcg
KzI5NzQsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNlZWtUYXNrKCkKICAgICAvLyB0aW1l
IHNjYWxlLCB3ZSB3aWxsIGFzayB0aGUgbWVkaWEgZW5naW5lIHRvICJzZWVrIiB0byB0aGUgY3Vy
cmVudCBtb3ZpZSB0aW1lLCB3aGljaCBtYXkgYmUgYSBub29wIGFuZAogICAgIC8vIG5vdCBnZW5l
cmF0ZSBhIHRpbWVjaGFuZ2VkIGNhbGxiYWNrLiBUaGlzIG1lYW5zIG1fc2Vla2luZyB3aWxsIG5l
dmVyIGJlIGNsZWFyZWQgYW5kIHdlIHdpbGwgbmV2ZXIKICAgICAvLyBmaXJlIGEgJ3NlZWtlZCcg
ZXZlbnQuCi0gICAgaWYgKHdpbGxMb2coV1RGTG9nTGV2ZWw6OkRlYnVnKSkgeworICAgIGlmICh3
aWxsTG9nKFdURkxvZ0xldmVsOjpJbmZvKSkgewogICAgICAgICBNZWRpYVRpbWUgbWVkaWFUaW1l
ID0gbV9wbGF5ZXItPm1lZGlhVGltZUZvclRpbWVWYWx1ZSh0aW1lKTsKICAgICAgICAgaWYgKHRp
bWUgIT0gbWVkaWFUaW1lKQogICAgICAgICAgICAgSU5GT19MT0coTE9HSURFTlRJRklFUiwgdGlt
ZSwgIiBtZWRpYSB0aW1lbGluZSBlcXVpdmFsZW50IGlzICIsIG1lZGlhVGltZSk7CkBAIC0zMDA0
LDcgKzMwMDQsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNlZWtUYXNrKCkKICNlbmRpZgog
CiAgICAgaWYgKG5vU2Vla1JlcXVpcmVkKSB7Ci0gICAgICAgIElORk9fTE9HKExPR0lERU5USUZJ
RVIsICJpZ25vcmVkIHNlZWsgdG8gIiwgdGltZSk7CisgICAgICAgIEFMV0FZU19MT0coTE9HSURF
TlRJRklFUiwgImlnbm9yZWQgc2VlayB0byAiLCB0aW1lKTsKICAgICAgICAgaWYgKHRpbWUgPT0g
bm93KSB7CiAgICAgICAgICAgICBzY2hlZHVsZUV2ZW50KGV2ZW50TmFtZXMoKS5zZWVraW5nRXZl
bnQpOwogICAgICAgICAgICAgc2NoZWR1bGVUaW1ldXBkYXRlRXZlbnQoZmFsc2UpOwpAQCAtMzA0
OSw3ICszMDQ5LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpmaW5pc2hTZWVrKCkKICAgICAv
LyAxNCAtIFNldCB0aGUgc2Vla2luZyBJREwgYXR0cmlidXRlIHRvIGZhbHNlLgogICAgIGNsZWFy
U2Vla2luZygpOwogCi0gICAgSU5GT19MT0coTE9HSURFTlRJRklFUiwgImN1cnJlbnQgdGltZSA9
ICIsIGN1cnJlbnRNZWRpYVRpbWUoKSk7CisgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSLCAi
Y3VycmVudCB0aW1lID0gIiwgY3VycmVudE1lZGlhVGltZSgpKTsKIAogICAgIC8vIDE1IC0gUnVu
IHRoZSB0aW1lIG1hY2hlcyBvbiBzdGVwcy4KICAgICAvLyBIYW5kbGVkIGJ5IG1lZGlhUGxheWVy
VGltZUNoYW5nZWQoKS4KQEAgLTMxMzgsNyArMzEzOCw3IEBAIE1lZGlhVGltZSBIVE1MTWVkaWFF
bGVtZW50OjpjdXJyZW50TWVkaWFUaW1lKCkgY29uc3QKICAgICAgICAgcmV0dXJuIE1lZGlhVGlt
ZTo6emVyb1RpbWUoKTsKIAogICAgIGlmIChtX3NlZWtpbmcpIHsKLSAgICAgICAgSU5GT19MT0co
TE9HSURFTlRJRklFUiwgInNlZWtpbmcsIHJldHVybmluZyIsIG1fbGFzdFNlZWtUaW1lKTsKKyAg
ICAgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSLCAic2Vla2luZywgcmV0dXJuaW5nIiwgbV9s
YXN0U2Vla1RpbWUpOwogICAgICAgICByZXR1cm4gbV9sYXN0U2Vla1RpbWU7CiAgICAgfQogCkBA
IC0zMzg5LDcgKzMzODksNyBAQCBTdHJpbmcgSFRNTE1lZGlhRWxlbWVudDo6cHJlbG9hZCgpIGNv
bnN0CiAKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2V0UHJlbG9hZChjb25zdCBTdHJpbmcmIHBy
ZWxvYWQpCiB7Ci0gICAgSU5GT19MT0coTE9HSURFTlRJRklFUiwgcHJlbG9hZCk7CisgICAgQUxX
QVlTX0xPRyhMT0dJREVOVElGSUVSLCBwcmVsb2FkKTsKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFN
KQogICAgIC8vIGh0dHA6Ly93M2MuZ2l0aHViLmlvL21lZGlhY2FwdHVyZS1tYWluLyNtZWRpYXN0
cmVhbXMtaW4tbWVkaWEtZWxlbWVudHMKICAgICAvLyAicHJlbG9hZCIgLSBPbiBnZXR0aW5nOiBu
b25lLiBPbiBzZXR0aW5nOiBpZ25vcmVkLgpAQCAtMzQ1Myw3ICszNDUzLDcgQEAgdm9pZCBIVE1M
TWVkaWFFbGVtZW50OjpwbGF5SW50ZXJuYWwoKQogICAgIH0KIAogICAgIGlmICghZG9jdW1lbnQo
KS5oYXNCcm93c2luZ0NvbnRleHQoKSkgewotICAgICAgICBJTkZPX0xPRyhMT0dJREVOVElGSUVS
LCAicmV0dXJuaW5nIGJlY2F1c2UgdGhlcmUgaXMgbm8gYnJvd3NpbmcgY29udGV4dCIpOworICAg
ICAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIsICJyZXR1cm5pbmcgYmVjYXVzZSB0aGVyZSBp
cyBubyBicm93c2luZyBjb250ZXh0Iik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTM1
NTUsNyArMzU1NSw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6cGF1c2VJbnRlcm5hbCgpCiAg
ICAgfQogCiAgICAgaWYgKCFkb2N1bWVudCgpLmhhc0Jyb3dzaW5nQ29udGV4dCgpKSB7Ci0gICAg
ICAgIElORk9fTE9HKExPR0lERU5USUZJRVIsICJyZXR1cm5pbmcgYmVjYXVzZSB0aGVyZSBpcyBu
byBicm93c2luZyBjb250ZXh0Iik7CisgICAgICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUiwg
InJldHVybmluZyBiZWNhdXNlIHRoZXJlIGlzIG5vIGJyb3dzaW5nIGNvbnRleHQiKTsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KIApAQCAtMzYxMiw3ICszNjEyLDcgQEAgYm9vbCBIVE1MTWVkaWFF
bGVtZW50Ojpsb29wKCkgY29uc3QKIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzZXRMb29wKGJv
b2wgbG9vcCkKIHsKLSAgICBJTkZPX0xPRyhMT0dJREVOVElGSUVSLCBsb29wKTsKKyAgICBBTFdB
WVNfTE9HKExPR0lERU5USUZJRVIsIGxvb3ApOwogICAgIHNldEJvb2xlYW5BdHRyaWJ1dGUobG9v
cEF0dHIsIGxvb3ApOwogfQogCkBAIC0zNjI5LDcgKzM2MjksNyBAQCBib29sIEhUTUxNZWRpYUVs
ZW1lbnQ6OmNvbnRyb2xzKCkgY29uc3QKIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzZXRDb250
cm9scyhib29sIGNvbnRyb2xzKQogewotICAgIElORk9fTE9HKExPR0lERU5USUZJRVIsIGNvbnRy
b2xzKTsKKyAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIsIGNvbnRyb2xzKTsKICAgICBzZXRC
b29sZWFuQXR0cmlidXRlKGNvbnRyb2xzQXR0ciwgY29udHJvbHMpOwogfQogCkBAIC0zNjQwLDcg
KzM2NDAsNyBAQCBkb3VibGUgSFRNTE1lZGlhRWxlbWVudDo6dm9sdW1lKCkgY29uc3QKIAogRXhj
ZXB0aW9uT3I8dm9pZD4gSFRNTE1lZGlhRWxlbWVudDo6c2V0Vm9sdW1lKGRvdWJsZSB2b2x1bWUp
CiB7Ci0gICAgSU5GT19MT0coTE9HSURFTlRJRklFUiwgdm9sdW1lKTsKKyAgICBBTFdBWVNfTE9H
KExPR0lERU5USUZJRVIsIHZvbHVtZSk7CiAKICAgICBpZiAoISh2b2x1bWUgPj0gMCAmJiB2b2x1
bWUgPD0gMSkpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbmRleFNpemVFcnJvciB9OwpA
QCAtMzY4NCw3ICszNjg0LDcgQEAgYm9vbCBIVE1MTWVkaWFFbGVtZW50OjptdXRlZCgpIGNvbnN0
CiAKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2V0TXV0ZWQoYm9vbCBtdXRlZCkKIHsKLSAgICBJ
TkZPX0xPRyhMT0dJREVOVElGSUVSLCBtdXRlZCk7CisgICAgQUxXQVlTX0xPRyhMT0dJREVOVElG
SUVSLCBtdXRlZCk7CiAKICAgICBib29sIG11dGVkU3RhdGVDaGFuZ2VkID0gbV9tdXRlZCAhPSBt
dXRlZDsKICAgICBpZiAobXV0ZWRTdGF0ZUNoYW5nZWQgfHwgIW1fZXhwbGljaXRseU11dGVkKSB7
CkBAIC0zNzM4LDcgKzM3MzgsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmhhcmR3YXJlTXV0
ZWRTdGF0ZURpZENoYW5nZShBdWRpb1Nlc3Npb24qIHNlc3Npb24pCiAgICAgaWYgKGVmZmVjdGl2
ZU11dGVkKCkgfHwgIXZvbHVtZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBJTkZPX0xPRyhM
T0dJREVOVElGSUVSKTsKKyAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIpOwogICAgIHVzZXJE
aWRJbnRlcmZlcmVXaXRoQXV0b3BsYXkoKTsKIH0KICNlbmRpZgpAQCAtNDE5NCw3ICs0MTk0LDcg
QEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojpjb25maWd1cmVUZXh0VHJhY2tHcm91cChjb25zdCBU
cmFja0dyb3VwJiBncm91cCkKICAgICAgICAgICAgIGN1cnJlbnRseUVuYWJsZWRUcmFja3MuYXBw
ZW5kKHRleHRUcmFjayk7CiAKICAgICAgICAgaW50IHRyYWNrU2NvcmUgPSBjYXB0aW9uUHJlZmVy
ZW5jZXMgPyBjYXB0aW9uUHJlZmVyZW5jZXMtPnRleHRUcmFja1NlbGVjdGlvblNjb3JlKHRleHRU
cmFjay5nZXQoKSwgdGhpcykgOiAwOwotICAgICAgICBJTkZPX0xPRyhMT0dJREVOVElGSUVSLCAi
JyIsIHRleHRUcmFjay0+a2luZEtleXdvcmQoKSwgIicgdHJhY2sgd2l0aCBsYW5ndWFnZSAnIiwg
dGV4dFRyYWNrLT5sYW5ndWFnZSgpLCAiJyBhbmQgQkNQIDQ3IGxhbmd1YWdlICciLCB0ZXh0VHJh
Y2stPnZhbGlkQkNQNDdMYW5ndWFnZSgpLCAiJyBoYXMgc2NvcmUgIiwgdHJhY2tTY29yZSk7Cisg
ICAgICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUiwgIiciLCB0ZXh0VHJhY2stPmtpbmRLZXl3
b3JkKCksICInIHRyYWNrIHdpdGggbGFuZ3VhZ2UgJyIsIHRleHRUcmFjay0+bGFuZ3VhZ2UoKSwg
IicgYW5kIEJDUCA0NyBsYW5ndWFnZSAnIiwgdGV4dFRyYWNrLT52YWxpZEJDUDQ3TGFuZ3VhZ2Uo
KSwgIicgaGFzIHNjb3JlICIsIHRyYWNrU2NvcmUpOwogCiAgICAgICAgIGlmICh0cmFja1Njb3Jl
KSB7CiAKQEAgLTQ3MjIsNyArNDcyMiw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c291cmNl
V2FzUmVtb3ZlZChIVE1MU291cmNlRWxlbWVudCYgc291cmNlKQogCiB2b2lkIEhUTUxNZWRpYUVs
ZW1lbnQ6Om1lZGlhUGxheWVyVGltZUNoYW5nZWQoKQogewotICAgIElORk9fTE9HKExPR0lERU5U
SUZJRVIpOworICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUik7CiAKICNpZiBFTkFCTEUoVklE
RU9fVFJBQ0spCiAgICAgdXBkYXRlQWN0aXZlVGV4dFRyYWNrQ3VlcyhjdXJyZW50TWVkaWFUaW1l
KCkpOwpAQCAtNDc1NCw5ICs0NzU0LDE0IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQ
bGF5ZXJUaW1lQ2hhbmdlZCgpCiAgICAgICAgICAgICBtX3NlbnRFbmRFdmVudCA9IGZhbHNlOwog
ICAgICAgICAgICAgLy8gdGhlbiBzZWVrIHRvIHRoZSBlYXJsaWVzdCBwb3NzaWJsZSBwb3NpdGlv
biBvZiB0aGUgbWVkaWEgcmVzb3VyY2UgYW5kIGFib3J0IHRoZXNlIHN0ZXBzIHdoZW4gdGhlIGRp
cmVjdGlvbiBvZgogICAgICAgICAgICAgLy8gcGxheWJhY2sgaXMgZm9yd2FyZHMsCi0gICAgICAg
ICAgICBpZiAobm93ID49IGR1cikKKyAgICAgICAgICAgIGlmIChub3cgPj0gZHVyKSB7CisgICAg
ICAgICAgICAgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSLCAiY3VycmVudCB0aW1lICgiLCBu
b3csICIpIGlzIGdyZWF0ZXIgdGhlbiBkdXJhdGlvbiAoIiwgZHVyLCAiKSwgbG9vcGluZyIpOwog
ICAgICAgICAgICAgICAgIHNlZWtJbnRlcm5hbChNZWRpYVRpbWU6Onplcm9UaW1lKCkpOworICAg
ICAgICAgICAgfQogICAgICAgICB9IGVsc2UgaWYgKChub3cgPD0gTWVkaWFUaW1lOjp6ZXJvVGlt
ZSgpICYmIHBsYXliYWNrUmF0ZSA8IDApIHx8IChub3cgPj0gZHVyICYmIHBsYXliYWNrUmF0ZSA+
IDApKSB7CisKKyAgICAgICAgICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUiwgImN1cnJlbnQg
dGltZSAoIiwgbm93LCAiKSBpcyBncmVhdGVyIHRoZW4gZHVyYXRpb24gKCIsIGR1ciwgIikgb3Ig
PD0gMCwgcGF1c2luZyIpOworCiAgICAgICAgICAgICAvLyBJZiB0aGUgbWVkaWEgZWxlbWVudCBk
b2VzIG5vdCBoYXZlIGEgY3VycmVudCBtZWRpYSBjb250cm9sbGVyLCBhbmQgdGhlIG1lZGlhIGVs
ZW1lbnQKICAgICAgICAgICAgIC8vIGhhcyBzdGlsbCBlbmRlZCBwbGF5YmFjayBhbmQgcGF1c2Vk
IGlzIGZhbHNlLAogICAgICAgICAgICAgaWYgKCFtX21lZGlhQ29udHJvbGxlciAmJiAhbV9wYXVz
ZWQpIHsKQEAgLTQ4NTAsNyArNDg1NSw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2Vla1Rv
UGxheWJhY2tQb3NpdGlvbkVuZGVkVGltZXJGaXJlZCgpCiAKIHZvaWQgSFRNTE1lZGlhRWxlbWVu
dDo6bWVkaWFQbGF5ZXJWb2x1bWVDaGFuZ2VkKCkKIHsKLSAgICBJTkZPX0xPRyhMT0dJREVOVElG
SUVSKTsKKyAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIpOwogCiAgICAgYmVnaW5Qcm9jZXNz
aW5nTWVkaWFQbGF5ZXJDYWxsYmFjaygpOwogICAgIGlmIChtX3BsYXllcikgewpAQCAtNDg2Niw3
ICs0ODcxLDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllclZvbHVtZUNoYW5n
ZWQoKQogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyTXV0ZUNoYW5nZWQoKQog
ewotICAgIElORk9fTE9HKExPR0lERU5USUZJRVIpOworICAgIEFMV0FZU19MT0coTE9HSURFTlRJ
RklFUik7CiAKICAgICBiZWdpblByb2Nlc3NpbmdNZWRpYVBsYXllckNhbGxiYWNrKCk7CiAgICAg
aWYgKG1fcGxheWVyKQpAQCAtNDg3Niw4ICs0ODgxLDYgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50
OjptZWRpYVBsYXllck11dGVDaGFuZ2VkKCkKIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRp
YVBsYXllckR1cmF0aW9uQ2hhbmdlZCgpCiB7Ci0gICAgSU5GT19MT0coTE9HSURFTlRJRklFUik7
Ci0KICAgICBiZWdpblByb2Nlc3NpbmdNZWRpYVBsYXllckNhbGxiYWNrKCk7CiAKICAgICBzY2hl
ZHVsZUV2ZW50KGV2ZW50TmFtZXMoKS5kdXJhdGlvbmNoYW5nZUV2ZW50KTsKQEAgLTQ4ODUsNiAr
NDg4OCw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJEdXJhdGlvbkNoYW5n
ZWQoKQogCiAgICAgTWVkaWFUaW1lIG5vdyA9IGN1cnJlbnRNZWRpYVRpbWUoKTsKICAgICBNZWRp
YVRpbWUgZHVyID0gZHVyYXRpb25NZWRpYVRpbWUoKTsKKyAgICBBTFdBWVNfTE9HKExPR0lERU5U
SUZJRVIsICJkdXJhdGlvbiA9ICIsIGR1ciwgIiwgY3VycmVudCB0aW1lID0gIiwgbm93KTsKICAg
ICBpZiAobm93ID4gZHVyKQogICAgICAgICBzZWVrSW50ZXJuYWwoZHVyKTsKIApAQCAtNDg5OSw3
ICs0OTAzLDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllclJhdGVDaGFuZ2Vk
KCkKICAgICAvLyB1c2luZyAoZWcuIGl0IGNhbid0IGhhbmRsZSB0aGUgcmF0ZSB3ZSBzZXQpCiAg
ICAgbV9yZXBvcnRlZFBsYXliYWNrUmF0ZSA9IG1fcGxheWVyLT5yYXRlKCk7CiAKLSAgICBJTkZP
X0xPRyhMT0dJREVOVElGSUVSLCAicmF0ZTogIiwgbV9yZXBvcnRlZFBsYXliYWNrUmF0ZSk7Cisg
ICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSLCAicmF0ZTogIiwgbV9yZXBvcnRlZFBsYXliYWNr
UmF0ZSk7CiAKICAgICBpZiAobV9wbGF5aW5nKQogICAgICAgICBpbnZhbGlkYXRlQ2FjaGVkVGlt
ZSgpOwpAQCAtNDkxMSwxMyArNDkxNSwxNCBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlh
UGxheWVyUmF0ZUNoYW5nZWQoKQogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVy
UGxheWJhY2tTdGF0ZUNoYW5nZWQoKQogewotICAgIElORk9fTE9HKExPR0lERU5USUZJRVIpOwot
CiAgICAgaWYgKCFtX3BsYXllciB8fCBtX3BhdXNlZEludGVybmFsKQogICAgICAgICByZXR1cm47
CiAKKyAgICBhdXRvIHBsYXllclBhdXNlZCA9IG1fcGxheWVyLT5wYXVzZWQoKTsKKyAgICBBTFdB
WVNfTE9HKExPR0lERU5USUZJRVIsIHBsYXllclBhdXNlZCk7CisKICAgICBiZWdpblByb2Nlc3Np
bmdNZWRpYVBsYXllckNhbGxiYWNrKCk7Ci0gICAgaWYgKG1fcGxheWVyLT5wYXVzZWQoKSkKKyAg
ICBpZiAocGxheWVyUGF1c2VkKQogICAgICAgICBwYXVzZUludGVybmFsKCk7CiAgICAgZWxzZQog
ICAgICAgICBwbGF5SW50ZXJuYWwoKTsKQEAgLTQ5MjksNyArNDkzNCw3IEBAIHZvaWQgSFRNTE1l
ZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJQbGF5YmFja1N0YXRlQ2hhbmdlZCgpCiAKIHZvaWQgSFRN
TE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJSZXNvdXJjZU5vdFN1cHBvcnRlZCgpCiB7Ci0gICAg
SU5GT19MT0coTE9HSURFTlRJRklFUik7CisgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSKTsK
IAogICAgIC8vIFRoZSBNZWRpYVBsYXllciBjYW1lIGFjcm9zcyBjb250ZW50IHdoaWNoIG5vIGlu
c3RhbGxlZCBlbmdpbmUgc3VwcG9ydHMuCiAgICAgbWVkaWFMb2FkaW5nRmFpbGVkKE1lZGlhUGxh
eWVyOjpOZXR3b3JrU3RhdGU6OkZvcm1hdEVycm9yKTsKQEAgLTQ5NDcsNyArNDk1Miw3IEBAIHZv
aWQgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJSZXBhaW50KCkKIAogdm9pZCBIVE1MTWVk
aWFFbGVtZW50OjptZWRpYVBsYXllclNpemVDaGFuZ2VkKCkKIHsKLSAgICBJTkZPX0xPRyhMT0dJ
REVOVElGSUVSKTsKKyAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIpOwogCiAgICAgaWYgKGlz
PE1lZGlhRG9jdW1lbnQ+KGRvY3VtZW50KCkpICYmIG1fcGxheWVyKQogICAgICAgICBkb3duY2Fz
dDxNZWRpYURvY3VtZW50Pihkb2N1bWVudCgpKS5tZWRpYUVsZW1lbnROYXR1cmFsU2l6ZUNoYW5n
ZWQoZXhwYW5kZWRJbnRTaXplKG1fcGxheWVyLT5uYXR1cmFsU2l6ZSgpKSk7CkBAIC00OTY4LDcg
KzQ5NzMsNyBAQCBib29sIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyUmVuZGVyaW5nQ2Fu
QmVBY2NlbGVyYXRlZCgpCiAKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJSZW5k
ZXJpbmdNb2RlQ2hhbmdlZCgpCiB7Ci0gICAgSU5GT19MT0coTE9HSURFTlRJRklFUik7CisgICAg
QUxXQVlTX0xPRyhMT0dJREVOVElGSUVSKTsKIAogICAgIC8vIEtpY2sgb2ZmIGEgZmFrZSByZWNh
bGNTdHlsZSB0aGF0IHdpbGwgdXBkYXRlIHRoZSBjb21wb3NpdGluZyB0cmVlLgogICAgIGludmFs
aWRhdGVTdHlsZUFuZExheWVyQ29tcG9zaXRpb24oKTsKQEAgLTUwNTMsNyArNTA1OCw3IEBAIHZv
aWQgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFFbmdpbmVXYXNVcGRhdGVkKCkKIAogdm9pZCBIVE1M
TWVkaWFFbGVtZW50OjptZWRpYVBsYXllckVuZ2luZVVwZGF0ZWQoKQogewotICAgIElORk9fTE9H
KExPR0lERU5USUZJRVIsIG1fcGxheWVyLT5lbmdpbmVEZXNjcmlwdGlvbigpKTsKKyAgICBBTFdB
WVNfTE9HKExPR0lERU5USUZJRVIsIG1fcGxheWVyLT5lbmdpbmVEZXNjcmlwdGlvbigpKTsKIAog
I2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAgICAgbV9kcm9wcGVkVmlkZW9GcmFtZXMgPSAwOwpA
QCAtNTA2Niw3ICs1MDcxLDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllckVu
Z2luZVVwZGF0ZWQoKQogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyRmlyc3RW
aWRlb0ZyYW1lQXZhaWxhYmxlKCkKIHsKLSAgICBJTkZPX0xPRyhMT0dJREVOVElGSUVSLCAiY3Vy
cmVudCBkaXNwbGF5IG1vZGUgPSAiLCAoaW50KWRpc3BsYXlNb2RlKCkpOworICAgIEFMV0FZU19M
T0coTE9HSURFTlRJRklFUiwgImN1cnJlbnQgZGlzcGxheSBtb2RlID0gIiwgKGludClkaXNwbGF5
TW9kZSgpKTsKIAogICAgIGJlZ2luUHJvY2Vzc2luZ01lZGlhUGxheWVyQ2FsbGJhY2soKTsKICAg
ICBpZiAoZGlzcGxheU1vZGUoKSA9PSBQb3N0ZXJXYWl0aW5nRm9yVmlkZW8pIHsKQEAgLTUwNzgs
NyArNTA4Myw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJGaXJzdFZpZGVv
RnJhbWVBdmFpbGFibGUoKQogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyQ2hh
cmFjdGVyaXN0aWNDaGFuZ2VkKCkKIHsKLSAgICBJTkZPX0xPRyhMT0dJREVOVElGSUVSKTsKKyAg
ICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIpOwogCiAgICAgYmVnaW5Qcm9jZXNzaW5nTWVkaWFQ
bGF5ZXJDYWxsYmFjaygpOwogCkBAIC01MzE2LDcgKzUzMjEsNyBAQCB2b2lkIEhUTUxNZWRpYUVs
ZW1lbnQ6OnVwZGF0ZVBsYXlTdGF0ZSgpCiAgICAgYm9vbCBzaG91bGRCZVBsYXlpbmcgPSBwb3Rl
bnRpYWxseVBsYXlpbmcoKTsKICAgICBib29sIHBsYXllclBhdXNlZCA9IG1fcGxheWVyLT5wYXVz
ZWQoKTsKIAotICAgIElORk9fTE9HKExPR0lERU5USUZJRVIsICJzaG91bGRCZVBsYXlpbmcgPSAi
LCBzaG91bGRCZVBsYXlpbmcsICIsIHBsYXllclBhdXNlZCA9ICIsIHBsYXllclBhdXNlZCk7Cisg
ICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSLCAic2hvdWxkQmVQbGF5aW5nID0gIiwgc2hvdWxk
QmVQbGF5aW5nLCAiLCBwbGF5ZXJQYXVzZWQgPSAiLCBwbGF5ZXJQYXVzZWQpOwogCiAgICAgaWYg
KHNob3VsZEJlUGxheWluZyAmJiBwbGF5ZXJQYXVzZWQgJiYgbV9tZWRpYVNlc3Npb24tPnJlcXVp
cmVzRnVsbHNjcmVlbkZvclZpZGVvUGxheWJhY2soKSAmJiAobV93YWl0aW5nVG9FbnRlckZ1bGxz
Y3JlZW4gfHwgIWlzRnVsbHNjcmVlbigpKSkgewogICAgICAgICBpZiAoIW1fd2FpdGluZ1RvRW50
ZXJGdWxsc2NyZWVuKQpAQCAtNTYyNSw3ICs1NjMwLDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50
Ojpjb250ZXh0RGVzdHJveWVkKCkKIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzdG9wKCkKIHsK
LSAgICBJTkZPX0xPRyhMT0dJREVOVElGSUVSKTsKKyAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJ
RVIpOwogCiAgICAgUmVmPEhUTUxNZWRpYUVsZW1lbnQ+IHByb3RlY3RlZFRoaXMoKnRoaXMpOwog
ICAgIHN0b3BXaXRob3V0RGVzdHJveWluZ01lZGlhUGxheWVyKCk7CkBAIC01NjQyLDcgKzU2NDcs
NyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnN0b3AoKQogCiB2b2lkIEhUTUxNZWRpYUVsZW1l
bnQ6OnN1c3BlbmQoUmVhc29uRm9yU3VzcGVuc2lvbiByZWFzb24pCiB7Ci0gICAgSU5GT19MT0co
TE9HSURFTlRJRklFUik7CisgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSKTsKICAgICBSZWY8
SFRNTE1lZGlhRWxlbWVudD4gcHJvdGVjdGVkVGhpcygqdGhpcyk7CiAKICAgICBtX3Jlc3VtZVRh
c2tRdWV1ZS5jYW5jZWxUYXNrKCk7CkBAIC01NjYzLDcgKzU2NjgsNyBAQCB2b2lkIEhUTUxNZWRp
YUVsZW1lbnQ6OnN1c3BlbmQoUmVhc29uRm9yU3VzcGVuc2lvbiByZWFzb24pCiAKIHZvaWQgSFRN
TE1lZGlhRWxlbWVudDo6cmVzdW1lKCkKIHsKLSAgICBJTkZPX0xPRyhMT0dJREVOVElGSUVSKTsK
KyAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIpOwogCiAgICAgc2V0SW5BY3RpdmVEb2N1bWVu
dCh0cnVlKTsKIApAQCAtNTcxMSw3ICs1NzE2LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp2
aXNpYmlsaXR5U3RhdGVDaGFuZ2VkKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgbV9lbGVtZW50
SXNIaWRkZW4gPSBlbGVtZW50SXNIaWRkZW47Ci0gICAgSU5GT19MT0coTE9HSURFTlRJRklFUiwg
InZpc2libGUgPSAiLCAhbV9lbGVtZW50SXNIaWRkZW4pOworICAgIEFMV0FZU19MT0coTE9HSURF
TlRJRklFUiwgInZpc2libGUgPSAiLCAhbV9lbGVtZW50SXNIaWRkZW4pOwogCiAgICAgdXBkYXRl
U2xlZXBEaXNhYmxpbmcoKTsKICAgICBtX21lZGlhU2Vzc2lvbi0+dmlzaWJpbGl0eUNoYW5nZWQo
KTsKQEAgLTU4NDQsNyArNTg0OSw3IEBAIGJvb2wgSFRNTE1lZGlhRWxlbWVudDo6YWRkRXZlbnRM
aXN0ZW5lcihjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIFJlZjxFdmVudExpCiAgICAgICAg
IG1fbWVkaWFTZXNzaW9uLT5zZXRIYXNQbGF5YmFja1RhcmdldEF2YWlsYWJpbGl0eUxpc3RlbmVy
cyh0cnVlKTsKICAgICB9CiAKLSAgICBJTkZPX0xPRyhMT0dJREVOVElGSUVSLCAiJ3dlYmtpdHBs
YXliYWNrdGFyZ2V0YXZhaWxhYmlsaXR5Y2hhbmdlZCciKTsKKyAgICBBTFdBWVNfTE9HKExPR0lE
RU5USUZJRVIsICInd2Via2l0cGxheWJhY2t0YXJnZXRhdmFpbGFiaWxpdHljaGFuZ2VkJyIpOwog
CiAgICAgZW5xdWV1ZVBsYXliYWNrVGFyZ2V0QXZhaWxhYmlsaXR5Q2hhbmdlZEV2ZW50KCk7IC8v
IEVuc3VyZSB0aGUgZXZlbnQgbGlzdGVuZXIgZ2V0cyBhdCBsZWFzdCBvbmUgZXZlbnQuCiAgICAg
cmV0dXJuIHRydWU7CkBAIC01ODY0LDcgKzU4NjksNyBAQCBib29sIEhUTUxNZWRpYUVsZW1lbnQ6
OnJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBFdmVudExp
cwogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBib29sIGRpZFJlbW92ZUxhc3RBdmFpbGFi
aWxpdHlDaGFuZ2VkTGlzdGVuZXIgPSAhaGFzRXZlbnRMaXN0ZW5lcnMoZXZlbnROYW1lcygpLndl
YmtpdHBsYXliYWNrdGFyZ2V0YXZhaWxhYmlsaXR5Y2hhbmdlZEV2ZW50KSAmJiAhbV9yZW1vdGUt
Pmhhc0F2YWlsYWJpbGl0eUNhbGxiYWNrcygpOwotICAgIElORk9fTE9HKExPR0lERU5USUZJRVIs
ICJyZW1vdmVkIGxhc3QgbGlzdGVuZXIgPSAiLCBkaWRSZW1vdmVMYXN0QXZhaWxhYmlsaXR5Q2hh
bmdlZExpc3RlbmVyKTsKKyAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIsICJyZW1vdmVkIGxh
c3QgbGlzdGVuZXIgPSAiLCBkaWRSZW1vdmVMYXN0QXZhaWxhYmlsaXR5Q2hhbmdlZExpc3RlbmVy
KTsKICAgICBpZiAoZGlkUmVtb3ZlTGFzdEF2YWlsYWJpbGl0eUNoYW5nZWRMaXN0ZW5lcikgewog
ICAgICAgICBtX2hhc1BsYXliYWNrVGFyZ2V0QXZhaWxhYmlsaXR5TGlzdGVuZXJzID0gZmFsc2U7
CiAgICAgICAgIG1fbWVkaWFTZXNzaW9uLT5zZXRIYXNQbGF5YmFja1RhcmdldEF2YWlsYWJpbGl0
eUxpc3RlbmVycyhmYWxzZSk7CkBAIC01ODc3LDcgKzU4ODIsNyBAQCBib29sIEhUTUxNZWRpYUVs
ZW1lbnQ6OnJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBF
dmVudExpcwogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjplbnF1ZXVlUGxheWJhY2tUYXJnZXRBdmFp
bGFiaWxpdHlDaGFuZ2VkRXZlbnQoKQogewogICAgIGJvb2wgaGFzVGFyZ2V0cyA9IG1fbWVkaWFT
ZXNzaW9uLT5oYXNXaXJlbGVzc1BsYXliYWNrVGFyZ2V0cygpOwotICAgIElORk9fTE9HKExPR0lE
RU5USUZJRVIsICJoYXNUYXJnZXRzID0gIiwgaGFzVGFyZ2V0cyk7CisgICAgQUxXQVlTX0xPRyhM
T0dJREVOVElGSUVSLCAiaGFzVGFyZ2V0cyA9ICIsIGhhc1RhcmdldHMpOwogICAgIGF1dG8gZXZl
bnQgPSBXZWJLaXRQbGF5YmFja1RhcmdldEF2YWlsYWJpbGl0eUV2ZW50OjpjcmVhdGUoZXZlbnRO
YW1lcygpLndlYmtpdHBsYXliYWNrdGFyZ2V0YXZhaWxhYmlsaXR5Y2hhbmdlZEV2ZW50LCBoYXNU
YXJnZXRzKTsKICAgICBldmVudC0+c2V0VGFyZ2V0KHRoaXMpOwogICAgIG1fYXN5bmNFdmVudFF1
ZXVlLT5lbnF1ZXVlRXZlbnQoV1RGTW92ZShldmVudCkpOwpAQCAtNTg5Niw4ICs1OTAxLDYgQEAg
dm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzZXRXaXJlbGVzc1BsYXliYWNrVGFyZ2V0KFJlZjxNZWRp
YVBsYXliYWNrVGFyZ2V0PiYmIGRldmkKIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzZXRTaG91
bGRQbGF5VG9QbGF5YmFja1RhcmdldChib29sIHNob3VsZFBsYXkpCiB7Ci0gICAgQUxXQVlTX0xP
RyhMT0dJREVOVElGSUVSLCBzaG91bGRQbGF5KTsKLQogICAgIGlmIChtX3BsYXllcikgewogICAg
ICAgICBtX3BsYXllci0+c2V0U2hvdWxkUGxheVRvUGxheWJhY2tUYXJnZXQoc2hvdWxkUGxheSk7
CiAgICAgICAgIHNldElzUGxheWluZ1RvV2lyZWxlc3NUYXJnZXQobV9wbGF5ZXItPmlzQ3VycmVu
dFBsYXliYWNrVGFyZ2V0V2lyZWxlc3MoKSk7CkBAIC01OTE1LDcgKzU5MTgsNyBAQCB2b2lkIEhU
TUxNZWRpYUVsZW1lbnQ6OnJlbW90ZUhhc0F2YWlsYWJpbGl0eUNhbGxiYWNrc0NoYW5nZWQoKQog
ICAgIGlmIChtX2hhc1BsYXliYWNrVGFyZ2V0QXZhaWxhYmlsaXR5TGlzdGVuZXJzID09IGhhc0xp
c3RlbmVycykKICAgICAgICAgcmV0dXJuOwogCi0gICAgSU5GT19MT0coTE9HSURFTlRJRklFUiwg
Imhhc0xpc3RlbmVyczogIiwgaGFzTGlzdGVuZXJzKTsKKyAgICBBTFdBWVNfTE9HKExPR0lERU5U
SUZJRVIsICJoYXNMaXN0ZW5lcnM6ICIsIGhhc0xpc3RlbmVycyk7CiAgICAgbV9oYXNQbGF5YmFj
a1RhcmdldEF2YWlsYWJpbGl0eUxpc3RlbmVycyA9IGhhc0xpc3RlbmVyczsKICAgICBtX21lZGlh
U2Vzc2lvbi0+c2V0SGFzUGxheWJhY2tUYXJnZXRBdmFpbGFiaWxpdHlMaXN0ZW5lcnMoaGFzTGlz
dGVuZXJzKTsKICAgICBzY2hlZHVsZVVwZGF0ZU1lZGlhU3RhdGUoKTsKQEAgLTU5ODMsNyArNTk4
Niw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6dG9nZ2xlU3RhbmRhcmRGdWxsc2NyZWVuU3Rh
dGUoKQogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmVudGVyRnVsbHNjcmVlbihWaWRlb0Z1bGxz
Y3JlZW5Nb2RlIG1vZGUpCiB7Ci0gICAgSU5GT19MT0coTE9HSURFTlRJRklFUiwgIiwgbV92aWRl
b0Z1bGxzY3JlZW5Nb2RlID0gIiwgbV92aWRlb0Z1bGxzY3JlZW5Nb2RlLCAiLCBtb2RlID0gIiwg
bW9kZSk7CisgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSLCAiLCBtX3ZpZGVvRnVsbHNjcmVl
bk1vZGUgPSAiLCBtX3ZpZGVvRnVsbHNjcmVlbk1vZGUsICIsIG1vZGUgPSAiLCBtb2RlKTsKICAg
ICBBU1NFUlQobW9kZSAhPSBWaWRlb0Z1bGxzY3JlZW5Nb2RlTm9uZSk7CiAKICAgICBpZiAobV92
aWRlb0Z1bGxzY3JlZW5Nb2RlID09IG1vZGUpCkBAIC02MDA3LDcgKzYwMTAsNyBAQCB2b2lkIEhU
TUxNZWRpYUVsZW1lbnQ6OmVudGVyRnVsbHNjcmVlbihWaWRlb0Z1bGxzY3JlZW5Nb2RlIG1vZGUp
CiAgICAgICAgIGlmIChpczxIVE1MVmlkZW9FbGVtZW50PigqdGhpcykpIHsKICAgICAgICAgICAg
IEhUTUxWaWRlb0VsZW1lbnQmIGFzVmlkZW8gPSBkb3duY2FzdDxIVE1MVmlkZW9FbGVtZW50Pigq
dGhpcyk7CiAgICAgICAgICAgICBpZiAoZG9jdW1lbnQoKS5wYWdlKCktPmNocm9tZSgpLmNsaWVu
dCgpLnN1cHBvcnRzVmlkZW9GdWxsc2NyZWVuKG1vZGUpKSB7Ci0gICAgICAgICAgICAgICAgSU5G
T19MT0coTE9HSURFTlRJRklFUiwgIkVudGVyaW5nIGZ1bGxzY3JlZW4gbW9kZSAiLCBtb2RlLCAi
LCBtX3ZpZGVvRnVsbHNjcmVlblN0YW5kYnkgPSAiLCBtX3ZpZGVvRnVsbHNjcmVlblN0YW5kYnkp
OworICAgICAgICAgICAgICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUiwgIkVudGVyaW5nIGZ1
bGxzY3JlZW4gbW9kZSAiLCBtb2RlLCAiLCBtX3ZpZGVvRnVsbHNjcmVlblN0YW5kYnkgPSAiLCBt
X3ZpZGVvRnVsbHNjcmVlblN0YW5kYnkpOwogCiAgICAgICAgICAgICAgICAgbV90ZW1wb3Jhcmls
eUFsbG93aW5nSW5saW5lUGxheWJhY2tBZnRlckZ1bGxzY3JlZW4gPSBmYWxzZTsKICAgICAgICAg
ICAgICAgICBtX3dhaXRpbmdUb0VudGVyRnVsbHNjcmVlbiA9IHRydWU7CkBAIC02MDI4LDcgKzYw
MzEsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmVudGVyRnVsbHNjcmVlbigpCiAKIHZvaWQg
SFRNTE1lZGlhRWxlbWVudDo6ZXhpdEZ1bGxzY3JlZW4oKQogewotICAgIElORk9fTE9HKExPR0lE
RU5USUZJRVIpOworICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUik7CiAKICAgICBtX3dhaXRp
bmdUb0VudGVyRnVsbHNjcmVlbiA9IGZhbHNlOwogCkBAIC02MTI2LDcgKzYxMjksNyBAQCB2b2lk
IEhUTUxNZWRpYUVsZW1lbnQ6OndpbGxCZWNvbWVGdWxsc2NyZWVuRWxlbWVudCgpCiAKIHZvaWQg
SFRNTE1lZGlhRWxlbWVudDo6ZGlkQmVjb21lRnVsbHNjcmVlbkVsZW1lbnQoKQogewotICAgIElO
Rk9fTE9HKExPR0lERU5USUZJRVIsICIsIGZ1bGxzY3JlZW4gbW9kZSA9ICIsIGZ1bGxzY3JlZW5N
b2RlKCkpOworICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUiwgIiwgZnVsbHNjcmVlbiBtb2Rl
ID0gIiwgZnVsbHNjcmVlbk1vZGUoKSk7CiAgICAgbV93YWl0aW5nVG9FbnRlckZ1bGxzY3JlZW4g
PSBmYWxzZTsKICAgICBzY2hlZHVsZVVwZGF0ZVBsYXlTdGF0ZSgpOwogfQpAQCAtNjMzNSw3ICs2
MzM4LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp1cGRhdGVUZXh0VHJhY2tSZXByZXNlbnRh
dGlvbkltYWdlSWZOZWVkZWQoKQogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNldENsb3NlZENh
cHRpb25zVmlzaWJsZShib29sIGNsb3NlZENhcHRpb25WaXNpYmxlKQogewotICAgIElORk9fTE9H
KExPR0lERU5USUZJRVIsIGNsb3NlZENhcHRpb25WaXNpYmxlKTsKKyAgICBBTFdBWVNfTE9HKExP
R0lERU5USUZJRVIsIGNsb3NlZENhcHRpb25WaXNpYmxlKTsKIAogICAgIG1fY2xvc2VkQ2FwdGlv
bnNWaXNpYmxlID0gZmFsc2U7CiAKQEAgLTYzODgsNyArNjM5MSw3IEBAIHVuc2lnbmVkIEhUTUxN
ZWRpYUVsZW1lbnQ6OndlYmtpdFZpZGVvRGVjb2RlZEJ5dGVDb3VudCgpIGNvbnN0CiB2b2lkIEhU
TUxNZWRpYUVsZW1lbnQ6Om1lZGlhQ2FuU3RhcnQoRG9jdW1lbnQmIGRvY3VtZW50KQogewogICAg
IEFTU0VSVF9VTlVTRUQoZG9jdW1lbnQsICZkb2N1bWVudCA9PSAmdGhpcy0+ZG9jdW1lbnQoKSk7
Ci0gICAgSU5GT19MT0coTE9HSURFTlRJRklFUiwgIm1faXNXYWl0aW5nVW50aWxNZWRpYUNhblN0
YXJ0ID0gIiwgbV9pc1dhaXRpbmdVbnRpbE1lZGlhQ2FuU3RhcnQsICIsIG1fcGF1c2VkSW50ZXJu
YWwgPSAiLCBtX3BhdXNlZEludGVybmFsKTsKKyAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIs
ICJ3YWl0aW5nID0gIiwgbV9pc1dhaXRpbmdVbnRpbE1lZGlhQ2FuU3RhcnQsICIsIHBhdXNlZCA9
ICIsIG1fcGF1c2VkSW50ZXJuYWwpOwogCiAgICAgQVNTRVJUKG1faXNXYWl0aW5nVW50aWxNZWRp
YUNhblN0YXJ0IHx8IG1fcGF1c2VkSW50ZXJuYWwpOwogICAgIGlmIChtX2lzV2FpdGluZ1VudGls
TWVkaWFDYW5TdGFydCkgewpAQCAtNjQwOSw3ICs2NDEyLDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVt
ZW50OjpzZXRTaG91bGREZWxheUxvYWRFdmVudChib29sIHNob3VsZERlbGF5KQogICAgIGlmICht
X3Nob3VsZERlbGF5TG9hZEV2ZW50ID09IHNob3VsZERlbGF5KQogICAgICAgICByZXR1cm47CiAK
LSAgICBJTkZPX0xPRyhMT0dJREVOVElGSUVSLCBzaG91bGREZWxheSk7CisgICAgQUxXQVlTX0xP
RyhMT0dJREVOVElGSUVSLCBzaG91bGREZWxheSk7CiAKICAgICBtX3Nob3VsZERlbGF5TG9hZEV2
ZW50ID0gc2hvdWxkRGVsYXk7CiAgICAgaWYgKHNob3VsZERlbGF5KQpAQCAtNzQ1MywxNCArNzQ1
NiwxNCBAQCBzaXplX3QgSFRNTE1lZGlhRWxlbWVudDo6bWF4aW11bVNvdXJjZUJ1ZmZlclNpemUo
Y29uc3QgU291cmNlQnVmZmVyJiBidWZmZXIpIGNvbgogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6
OnN1c3BlbmRQbGF5YmFjaygpCiB7Ci0gICAgSU5GT19MT0coTE9HSURFTlRJRklFUiwgInBhdXNl
ZCA9ICIsIHBhdXNlZCgpKTsKKyAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIsICJwYXVzZWQg
PSAiLCBwYXVzZWQoKSk7CiAgICAgaWYgKCFwYXVzZWQoKSkKICAgICAgICAgcGF1c2UoKTsKIH0K
IAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpyZXN1bWVBdXRvcGxheWluZygpCiB7Ci0gICAgSU5G
T19MT0coTE9HSURFTlRJRklFUiwgInBhdXNlZCA9ICIsIHBhdXNlZCgpKTsKKyAgICBBTFdBWVNf
TE9HKExPR0lERU5USUZJRVIsICJwYXVzZWQgPSAiLCBwYXVzZWQoKSk7CiAgICAgbV9hdXRvcGxh
eWluZyA9IHRydWU7CiAKICAgICBpZiAoY2FuVHJhbnNpdGlvbkZyb21BdXRvcGxheVRvUGxheSgp
KQpAQCAtNzQ2OSw3ICs3NDcyLDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpyZXN1bWVBdXRv
cGxheWluZygpCiAKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bWF5UmVzdW1lUGxheWJhY2soYm9v
bCBzaG91bGRSZXN1bWUpCiB7Ci0gICAgSU5GT19MT0coTE9HSURFTlRJRklFUiwgInBhdXNlZCA9
ICIsIHBhdXNlZCgpKTsKKyAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIsICJwYXVzZWQgPSAi
LCBwYXVzZWQoKSk7CiAgICAgaWYgKHBhdXNlZCgpICYmIHNob3VsZFJlc3VtZSkKICAgICAgICAg
cGxheSgpOwogfQpAQCAtNzUwOCw3ICs3NTExLDcgQEAgTWVkaWFTZXNzaW9uSWRlbnRpZmllciBI
VE1MTWVkaWFFbGVtZW50OjptZWRpYVNlc3Npb25VbmlxdWVJZGVudGlmaWVyKCkgY29uc3QKIAog
dm9pZCBIVE1MTWVkaWFFbGVtZW50OjpkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUGxh
dGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSBjb21tYW5kLCBjb25z
dCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50KiBhcmd1bWVudCkK
IHsKLSAgICBJTkZPX0xPRyhMT0dJREVOVElGSUVSLCBjb21tYW5kKTsKKyAgICBBTFdBWVNfTE9H
KExPR0lERU5USUZJRVIsIGNvbW1hbmQpOwogCiAgICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgcmVt
b3RlQ29udHJvbFVzZXJHZXN0dXJlKFByb2Nlc3NpbmdVc2VyR2VzdHVyZSwgJmRvY3VtZW50KCkp
OwogICAgIHN3aXRjaCAoY29tbWFuZCkgewpAQCAtNzc1Niw3ICs3NzU5LDcgQEAgdm9pZCBIVE1M
TWVkaWFFbGVtZW50OjpzZXRCdWZmZXJpbmdQb2xpY3koQnVmZmVyaW5nUG9saWN5IHBvbGljeSkK
ICAgICBpZiAocG9saWN5ID09IG1fYnVmZmVyaW5nUG9saWN5KQogICAgICAgICByZXR1cm47CiAK
LSAgICBJTkZPX0xPRyhMT0dJREVOVElGSUVSLCBwb2xpY3kpOworICAgIEFMV0FZU19MT0coTE9H
SURFTlRJRklFUiwgcG9saWN5KTsKIAogICAgIG1fYnVmZmVyaW5nUG9saWN5ID0gcG9saWN5Owog
ICAgIGlmIChtX3BsYXllcikKQEAgLTc3NjUsMTMgKzc3NjgsMTMgQEAgdm9pZCBIVE1MTWVkaWFF
bGVtZW50OjpzZXRCdWZmZXJpbmdQb2xpY3koQnVmZmVyaW5nUG9saWN5IHBvbGljeSkKIAogdm9p
ZCBIVE1MTWVkaWFFbGVtZW50OjpwdXJnZUJ1ZmZlcmVkRGF0YUlmUG9zc2libGUoKQogewotICAg
IElORk9fTE9HKExPR0lERU5USUZJRVIpOworICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUik7
CiAKICAgICBpZiAoIU1lbW9yeVByZXNzdXJlSGFuZGxlcjo6c2luZ2xldG9uKCkuaXNVbmRlck1l
bW9yeVByZXNzdXJlKCkgJiYgbV9tZWRpYVNlc3Npb24tPnByZWZlcnJlZEJ1ZmZlcmluZ1BvbGlj
eSgpID09IEJ1ZmZlcmluZ1BvbGljeTo6RGVmYXVsdCkKICAgICAgICAgcmV0dXJuOwogCiAgICAg
aWYgKGlzUGxheWluZ1RvRXh0ZXJuYWxUYXJnZXQoKSkgewotICAgICAgICBJTkZPX0xPRyhMT0dJ
REVOVElGSUVSLCAiZWFybHkgcmV0dXJuIGJlY2F1c2UgcGxheWluZyB0byB3aXJlbGVzcyB0YXJn
ZXQiKTsKKyAgICAgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSLCAiZWFybHkgcmV0dXJuIGJl
Y2F1c2UgcGxheWluZyB0byB3aXJlbGVzcyB0YXJnZXQiKTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1N
ZWRpYVNlc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1N
ZWRpYVNlc3Npb24uY3BwCmluZGV4IDhlN2Y4YzEyYmU5NWVlZmFhNzcwNDM2MDAzMjEwNmE1YmU5
ODk5OTUuLmFjZGFiMGM3YzY5ZjJlMzNiYWFlNGE5M2NjNmZiMTgwNWU3ODhhMjEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lv
bi5jcHAKQEAgLTEzOSw3ICsxMzksNyBAQCB2b2lkIFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpzZXRT
dGF0ZShTdGF0ZSBzdGF0ZSkKICAgICBpZiAoc3RhdGUgPT0gbV9zdGF0ZSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgSU5GT19MT0coTE9HSURFTlRJRklFUiwgc3RhdGUpOworICAgIEFMV0FZU19M
T0coTE9HSURFTlRJRklFUiwgc3RhdGUpOwogICAgIG1fc3RhdGUgPSBzdGF0ZTsKICAgICBpZiAo
bV9zdGF0ZSA9PSBTdGF0ZTo6UGxheWluZykKICAgICAgICAgbV9oYXNQbGF5ZWRTaW5jZUxhc3RJ
bnRlcnJ1cHRpb24gPSB0cnVlOwpAQCAtMTQ4LDcgKzE0OCw3IEBAIHZvaWQgUGxhdGZvcm1NZWRp
YVNlc3Npb246OnNldFN0YXRlKFN0YXRlIHN0YXRlKQogCiB2b2lkIFBsYXRmb3JtTWVkaWFTZXNz
aW9uOjpiZWdpbkludGVycnVwdGlvbihJbnRlcnJ1cHRpb25UeXBlIHR5cGUpCiB7Ci0gICAgSU5G
T19MT0coTE9HSURFTlRJRklFUiwgInN0YXRlID0gIiwgbV9zdGF0ZSwgIiwgaW50ZXJydXB0aW9u
IHR5cGUgPSAiLCB0eXBlLCAiLCBpbnRlcnJ1cHRpb24gY291bnQgPSAiLCBtX2ludGVycnVwdGlv
bkNvdW50KTsKKyAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIsICJzdGF0ZSA9ICIsIG1fc3Rh
dGUsICIsIGludGVycnVwdGlvbiB0eXBlID0gIiwgdHlwZSwgIiwgaW50ZXJydXB0aW9uIGNvdW50
ID0gIiwgbV9pbnRlcnJ1cHRpb25Db3VudCk7CiAKICAgICAvLyBXaGVuIGludGVycnVwdGlvbnMg
YXJlIG92ZXJyaWRkZW4sIG1faW50ZXJydXB0aW9uVHlwZSBkb2Vzbid0IGdldCBzZXQuCiAgICAg
Ly8gR2l2ZSBuZXN0ZWQgaW50ZXJydXB0aW9ucyBhIGNoYW5jZSB3aGVuIHRoZSBwcmV2aW91cyBp
bnRlcnJ1cHRpb25zIHdlcmUgb3ZlcnJpZGRlbi4KQEAgLTE1Niw3ICsxNTYsNyBAQCB2b2lkIFBs
YXRmb3JtTWVkaWFTZXNzaW9uOjpiZWdpbkludGVycnVwdGlvbihJbnRlcnJ1cHRpb25UeXBlIHR5
cGUpCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmIChjbGllbnQoKS5zaG91bGRPdmVycmlkZUJh
Y2tncm91bmRQbGF5YmFja1Jlc3RyaWN0aW9uKHR5cGUpKSB7Ci0gICAgICAgIElORk9fTE9HKExP
R0lERU5USUZJRVIsICJyZXR1cm5pbmcgZWFybHkgYmVjYXVzZSBjbGllbnQgc2F5cyB0byBvdmVy
cmlkZSBpbnRlcnJ1cHRpb24iKTsKKyAgICAgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSLCAi
cmV0dXJuaW5nIGVhcmx5IGJlY2F1c2UgY2xpZW50IHNheXMgdG8gb3ZlcnJpZGUgaW50ZXJydXB0
aW9uIik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTE3MCwxMCArMTcwLDEwIEBAIHZv
aWQgUGxhdGZvcm1NZWRpYVNlc3Npb246OmJlZ2luSW50ZXJydXB0aW9uKEludGVycnVwdGlvblR5
cGUgdHlwZSkKIAogdm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6ZW5kSW50ZXJydXB0aW9uKEVu
ZEludGVycnVwdGlvbkZsYWdzIGZsYWdzKQogewotICAgIElORk9fTE9HKExPR0lERU5USUZJRVIs
ICJmbGFncyA9ICIsIChpbnQpZmxhZ3MsICIsIHN0YXRlVG9SZXN0b3JlID0gIiwgbV9zdGF0ZVRv
UmVzdG9yZSwgIiwgaW50ZXJydXB0aW9uIGNvdW50ID0gIiwgbV9pbnRlcnJ1cHRpb25Db3VudCk7
CisgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSLCAiZmxhZ3MgPSAiLCAoaW50KWZsYWdzLCAi
LCBzdGF0ZVRvUmVzdG9yZSA9ICIsIG1fc3RhdGVUb1Jlc3RvcmUsICIsIGludGVycnVwdGlvbiBj
b3VudCA9ICIsIG1faW50ZXJydXB0aW9uQ291bnQpOwogCiAgICAgaWYgKCFtX2ludGVycnVwdGlv
bkNvdW50KSB7Ci0gICAgICAgIElORk9fTE9HKExPR0lERU5USUZJRVIsICIhISBpZ25vcmluZyBz
cHVyaW91cyBpbnRlcnJ1cHRpb24gZW5kICEhIik7CisgICAgICAgIEFMV0FZU19MT0coTE9HSURF
TlRJRklFUiwgIiEhIGlnbm9yaW5nIHNwdXJpb3VzIGludGVycnVwdGlvbiBlbmQgISEiKTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMjAwLDEwICsyMDAsMTAgQEAgdm9pZCBQbGF0Zm9y
bU1lZGlhU2Vzc2lvbjo6Y2xpZW50V2lsbEJlZ2luQXV0b3BsYXlpbmcoKQogICAgIGlmIChtX25v
dGlmeWluZ0NsaWVudCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgSU5GT19MT0coTE9HSURFTlRJ
RklFUiwgInN0YXRlID0gIiwgbV9zdGF0ZSk7CisgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVS
LCAic3RhdGUgPSAiLCBtX3N0YXRlKTsKICAgICBpZiAoc3RhdGUoKSA9PSBJbnRlcnJ1cHRlZCkg
ewogICAgICAgICBtX3N0YXRlVG9SZXN0b3JlID0gQXV0b3BsYXlpbmc7Ci0gICAgICAgIElORk9f
TE9HKExPR0lERU5USUZJRVIsICIgICAgICBzZXR0aW5nIHN0YXRlVG9SZXN0b3JlIHRvIFwiQXV0
b3BsYXlpbmdcIiIpOworICAgICAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIsICIgICAgICBz
ZXR0aW5nIHN0YXRlVG9SZXN0b3JlIHRvIFwiQXV0b3BsYXlpbmdcIiIpOwogICAgICAgICByZXR1
cm47CiAgICAgfQogCkBAIC0yMTUsNyArMjE1LDcgQEAgYm9vbCBQbGF0Zm9ybU1lZGlhU2Vzc2lv
bjo6Y2xpZW50V2lsbEJlZ2luUGxheWJhY2soKQogICAgIGlmIChtX25vdGlmeWluZ0NsaWVudCkK
ICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICBJTkZPX0xPRyhMT0dJREVOVElGSUVSLCAic3Rh
dGUgPSAiLCBtX3N0YXRlKTsKKyAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIsICJzdGF0ZSA9
ICIsIG1fc3RhdGUpOwogCiAgICAgaWYgKCFtX21hbmFnZXItPnNlc3Npb25XaWxsQmVnaW5QbGF5
YmFjaygqdGhpcykpIHsKICAgICAgICAgaWYgKHN0YXRlKCkgPT0gSW50ZXJydXB0ZWQpCkBAIC0y
MzIsMTAgKzIzMiwxMCBAQCBib29sIFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpwcm9jZXNzQ2xpZW50
V2lsbFBhdXNlUGxheWJhY2soRGVsYXlDYWxsaW5nVXBkYXRlTm93UAogICAgIGlmIChtX25vdGlm
eWluZ0NsaWVudCkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICBJTkZPX0xPRyhMT0dJREVO
VElGSUVSLCAic3RhdGUgPSAiLCBtX3N0YXRlKTsKKyAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJ
RVIsICJzdGF0ZSA9ICIsIG1fc3RhdGUpOwogICAgIGlmIChzdGF0ZSgpID09IEludGVycnVwdGVk
KSB7CiAgICAgICAgIG1fc3RhdGVUb1Jlc3RvcmUgPSBQYXVzZWQ7Ci0gICAgICAgIElORk9fTE9H
KExPR0lERU5USUZJRVIsICIgICAgICBzZXR0aW5nIHN0YXRlVG9SZXN0b3JlIHRvIFwiUGF1c2Vk
XCIiKTsKKyAgICAgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSLCAiICAgICAgc2V0dGluZyBz
dGF0ZVRvUmVzdG9yZSB0byBcIlBhdXNlZFwiIik7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAg
ICB9CiAgICAgCkBAIC0yNDYsMjMgKzI0NiwyNSBAQCBib29sIFBsYXRmb3JtTWVkaWFTZXNzaW9u
Ojpwcm9jZXNzQ2xpZW50V2lsbFBhdXNlUGxheWJhY2soRGVsYXlDYWxsaW5nVXBkYXRlTm93UAog
CiBib29sIFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpjbGllbnRXaWxsUGF1c2VQbGF5YmFjaygpCiB7
CisgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSKTsKICAgICByZXR1cm4gcHJvY2Vzc0NsaWVu
dFdpbGxQYXVzZVBsYXliYWNrKERlbGF5Q2FsbGluZ1VwZGF0ZU5vd1BsYXlpbmc6Ok5vKTsKIH0K
IAogdm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6Y2xpZW50V2lsbEJlRE9NU3VzcGVuZGVkKCkK
IHsKKyAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIpOwogICAgIHByb2Nlc3NDbGllbnRXaWxs
UGF1c2VQbGF5YmFjayhEZWxheUNhbGxpbmdVcGRhdGVOb3dQbGF5aW5nOjpZZXMpOwogfQogCiB2
b2lkIFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpwYXVzZVNlc3Npb24oKQogewotICAgIElORk9fTE9H
KExPR0lERU5USUZJRVIpOworICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUik7CiAgICAgbV9j
bGllbnQuc3VzcGVuZFBsYXliYWNrKCk7CiB9CiAKIHZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb246
OnN0b3BTZXNzaW9uKCkKIHsKLSAgICBJTkZPX0xPRyhMT0dJREVOVElGSUVSKTsKKyAgICBBTFdB
WVNfTE9HKExPR0lERU5USUZJRVIpOwogICAgIG1fY2xpZW50LnN1c3BlbmRQbGF5YmFjaygpOwog
ICAgIG1fbWFuYWdlci0+cmVtb3ZlU2Vzc2lvbigqdGhpcyk7CiB9CkBAIC0yODQsNyArMjg2LDcg
QEAgYm9vbCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6Y2FuUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21t
YW5kcygpIGNvbnN0CiAKIHZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb246OmRpZFJlY2VpdmVSZW1v
dGVDb250cm9sQ29tbWFuZChSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUgY29tbWFuZCwgY29uc3Qg
UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCogYXJndW1lbnQpCiB7
Ci0gICAgSU5GT19MT0coTE9HSURFTlRJRklFUiwgY29tbWFuZCk7CisgICAgQUxXQVlTX0xPRyhM
T0dJREVOVElGSUVSLCBjb21tYW5kKTsKIAogICAgIG1fY2xpZW50LmRpZFJlY2VpdmVSZW1vdGVD
b250cm9sQ29tbWFuZChjb21tYW5kLCBhcmd1bWVudCk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399792</attachid>
            <date>2020-05-19 17:50:53 -0700</date>
            <delta_ts>2020-05-20 09:25:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-212109-20200519175053.patch</filename>
            <type>text/plain</type>
            <size>35915</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxNjk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmRjMGI5YTJjZGE3ZGM2
MmYzYWEwMGUzNjI5N2E0YTk4ZDE1Mjg0NS4uMTIwYmQxMTQ1YjRjZjUxNzBkODc1NTBmNGJhODg2
OGViMjcwMTQ1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgzIEBACisyMDIwLTA1LTE5ICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFVwZGF0ZSBzb21l
IG1lZGlhIGxvZ2dpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxMjEwOQorCisgICAgICAgIFJldmlld2VkIGJ5IEplciBOb2JsZS4KKworICAgICAg
ICBObyBuZXcgdGVzdHMsIG5vIGZ1bmN0aW9uYWwgY2hhbmdlLgorCisgICAgICAgICogaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6
Omluc2VydGVkSW50b0FuY2VzdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1l
bnQ6OmRpZEZpbmlzaEluc2VydGluZ05vZGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlh
RWxlbWVudDo6cmVtb3ZlZEZyb21BbmNlc3Rvcik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVk
aWFFbGVtZW50OjpjaGVja1BsYXliYWNrVGFyZ2V0Q29tcGF0YWJsaXR5KToKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmNhblBsYXlUeXBlIGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OndhaXRGb3JTb3VyY2VDaGFuZ2UpOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6bm9uZVN1cHBvcnRlZCk6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MTWVkaWFFbGVtZW50OjptZWRpYUxvYWRpbmdGYWlsZWQpOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTE1lZGlhRWxlbWVudDo6ZmFzdFNlZWspOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TE1lZGlhRWxlbWVudDo6c2Vlayk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50
OjpzZWVrSW50ZXJuYWwpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c2Vl
a1Rhc2spOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6ZmluaXNoU2Vlayk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpjdXJyZW50TWVkaWFUaW1lIGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnNldFByZWxvYWQpOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6cGxheUludGVybmFsKToKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnBhdXNlSW50ZXJuYWwpOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c2V0TG9vcCk6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MTWVkaWFFbGVtZW50OjpzZXRDb250cm9scyk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVk
aWFFbGVtZW50OjpzZXRWb2x1bWUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVu
dDo6c2V0TXV0ZWQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6aGFyZHdh
cmVNdXRlZFN0YXRlRGlkQ2hhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1l
bnQ6OmNvbmZpZ3VyZVRleHRUcmFja0dyb3VwKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRp
YUVsZW1lbnQ6Om1lZGlhUGxheWVyVGltZUNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJWb2x1bWVDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyTXV0ZUNoYW5nZWQpOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJEdXJhdGlvbkNoYW5nZWQpOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJSYXRlQ2hhbmdl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllclBsYXli
YWNrU3RhdGVDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6Om1l
ZGlhUGxheWVyUmVzb3VyY2VOb3RTdXBwb3J0ZWQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1l
ZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJTaXplQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllclJlbmRlcmluZ01vZGVDaGFuZ2VkKToKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyRW5naW5lVXBkYXRlZCk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllckZpcnN0Vmlk
ZW9GcmFtZUF2YWlsYWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojpt
ZWRpYVBsYXllckNoYXJhY3RlcmlzdGljQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
TWVkaWFFbGVtZW50Ojp1cGRhdGVQbGF5U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1l
ZGlhRWxlbWVudDo6c3RvcCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojpz
dXNwZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnJlc3VtZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojp2aXNpYmlsaXR5U3RhdGVDaGFuZ2Vk
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmFkZEV2ZW50TGlzdGVuZXIp
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6cmVtb3ZlRXZlbnRMaXN0ZW5l
cik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjplbnF1ZXVlUGxheWJhY2tU
YXJnZXRBdmFpbGFiaWxpdHlDaGFuZ2VkRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1l
ZGlhRWxlbWVudDo6c2V0U2hvdWxkUGxheVRvUGxheWJhY2tUYXJnZXQpOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTE1lZGlhRWxlbWVudDo6cmVtb3RlSGFzQXZhaWxhYmlsaXR5Q2FsbGJhY2tzQ2hh
bmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjplbnRlckZ1bGxzY3Jl
ZW4pOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6ZXhpdEZ1bGxzY3JlZW4p
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6ZGlkQmVjb21lRnVsbHNjcmVl
bkVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c2V0Q2xvc2Vk
Q2FwdGlvbnNWaXNpYmxlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6Om1l
ZGlhQ2FuU3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c2V0U2hv
dWxkRGVsYXlMb2FkRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6
c3VzcGVuZFBsYXliYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnJl
c3VtZUF1dG9wbGF5aW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6Om1h
eVJlc3VtZVBsYXliYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmRp
ZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVk
aWFFbGVtZW50OjpzZXRCdWZmZXJpbmdQb2xpY3kpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1l
ZGlhRWxlbWVudDo6cHVyZ2VCdWZmZXJlZERhdGFJZlBvc3NpYmxlKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbjo6c2V0U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZv
cm1NZWRpYVNlc3Npb246OmJlZ2luSW50ZXJydXB0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlBs
YXRmb3JtTWVkaWFTZXNzaW9uOjplbmRJbnRlcnJ1cHRpb24pOgorICAgICAgICAoV2ViQ29yZTo6
UGxhdGZvcm1NZWRpYVNlc3Npb246OmNsaWVudFdpbGxCZWdpbkF1dG9wbGF5aW5nKToKKyAgICAg
ICAgKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpjbGllbnRXaWxsQmVnaW5QbGF5YmFj
ayk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6cHJvY2Vzc0NsaWVu
dFdpbGxQYXVzZVBsYXliYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNz
aW9uOjpjbGllbnRXaWxsUGF1c2VQbGF5YmFjayk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9y
bU1lZGlhU2Vzc2lvbjo6Y2xpZW50V2lsbEJlRE9NU3VzcGVuZGVkKToKKyAgICAgICAgKFdlYkNv
cmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpwYXVzZVNlc3Npb24pOgorICAgICAgICAoV2ViQ29y
ZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OnN0b3BTZXNzaW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQpOgor
CiAyMDIwLTA1LTE0ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAg
UmVncmVzc2lvbihyMjU0ODU2KSBGYW1pbHkgSGVhbHRoIGlPUyBhcHAgaXMgYnJva2VuIGR1ZSB0
byBsYWNrIGZvciBXZWJTUUwgc3VwcG9ydApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHAKaW5kZXggZWY5ZmJkNzQwYjFjMzU1ZDcyODkzN2I2NTI3YjY4OGZjNTkwNzQwYi4u
MTFlM2YyMzBlMDIyM2NiZGI1MTFiNTIzYmRmMzdmYzEyOWFjNjRjZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC04MTksNyArODE5LDcgQEAgYm9vbCBIVE1M
TWVkaWFFbGVtZW50OjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0IE5vZGUmIGNoaWxk
KSBjb25zdAogCiBOb2RlOjpJbnNlcnRlZEludG9BbmNlc3RvclJlc3VsdCBIVE1MTWVkaWFFbGVt
ZW50OjppbnNlcnRlZEludG9BbmNlc3RvcihJbnNlcnRpb25UeXBlIGluc2VydGlvblR5cGUsIENv
bnRhaW5lck5vZGUmIHBhcmVudE9mSW5zZXJ0ZWRUcmVlKQogewotICAgIElORk9fTE9HKExPR0lE
RU5USUZJRVIpOworICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUik7CiAKICAgICBIVE1MRWxl
bWVudDo6aW5zZXJ0ZWRJbnRvQW5jZXN0b3IoaW5zZXJ0aW9uVHlwZSwgcGFyZW50T2ZJbnNlcnRl
ZFRyZWUpOwogICAgIGlmIChpbnNlcnRpb25UeXBlLmNvbm5lY3RlZFRvRG9jdW1lbnQpCkBAIC04
MzIsNyArODMyLDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpkaWRGaW5pc2hJbnNlcnRpbmdO
b2RlKCkKIHsKICAgICBSZWY8SFRNTE1lZGlhRWxlbWVudD4gcHJvdGVjdGVkVGhpcygqdGhpcyk7
IC8vIHByZXBhcmVGb3JMb2FkIG1heSByZXN1bHQgaW4gYSAnYmVmb3JlbG9hZCcgZXZlbnQsIHdo
aWNoIGNhbiBtYWtlIGFyYml0cmFyeSBET00gbXV0YXRpb25zLgogCi0gICAgSU5GT19MT0coTE9H
SURFTlRJRklFUik7CisgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSKTsKIAogICAgIGlmICht
X2luQWN0aXZlRG9jdW1lbnQgJiYgbV9uZXR3b3JrU3RhdGUgPT0gTkVUV09SS19FTVBUWSAmJiAh
YXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihzcmNBdHRyKS5pc0VtcHR5KCkpCiAgICAg
ICAgIHByZXBhcmVGb3JMb2FkKCk7CkBAIC04NzUsNyArODc1LDcgQEAgdm9pZCBIVE1MTWVkaWFF
bGVtZW50OjpwYXVzZUFmdGVyRGV0YWNoZWRUYXNrKCkKIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50
OjpyZW1vdmVkRnJvbUFuY2VzdG9yKFJlbW92YWxUeXBlIHJlbW92YWxUeXBlLCBDb250YWluZXJO
b2RlJiBvbGRQYXJlbnRPZlJlbW92ZWRUcmVlKQogewotICAgIElORk9fTE9HKExPR0lERU5USUZJ
RVIpOworICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUik7CiAKICAgICBzZXRJbkFjdGl2ZURv
Y3VtZW50KGZhbHNlKTsKICAgICBpZiAocmVtb3ZhbFR5cGUuZGlzY29ubmVjdGVkRnJvbURvY3Vt
ZW50KSB7CkBAIC0xMDI2LDcgKzEwMjYsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmNoZWNr
UGxheWJhY2tUYXJnZXRDb21wYXRhYmxpdHkoKQogewogI2lmIEVOQUJMRShXSVJFTEVTU19QTEFZ
QkFDS19UQVJHRVQpCiAgICAgaWYgKG1faXNQbGF5aW5nVG9XaXJlbGVzc1RhcmdldCAmJiAhbV9w
bGF5ZXItPmNhblBsYXlUb1dpcmVsZXNzUGxheWJhY2tUYXJnZXQoKSkgewotICAgICAgICBJTkZP
X0xPRyhMT0dJREVOVElGSUVSLCAiY2FsbGluZyBzZXRTaG91bGRQbGF5VG9QbGF5YmFja1Rhcmdl
dChmYWxzZSkiKTsKKyAgICAgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSLCAiY2FsbGluZyBz
ZXRTaG91bGRQbGF5VG9QbGF5YmFja1RhcmdldChmYWxzZSkiKTsKICAgICAgICAgbV9mYWlsZWRU
b1BsYXlUb1dpcmVsZXNzVGFyZ2V0ID0gdHJ1ZTsKICAgICAgICAgbV9wbGF5ZXItPnNldFNob3Vs
ZFBsYXlUb1BsYXliYWNrVGFyZ2V0KGZhbHNlKTsKICAgICB9CkBAIC0xMDk1LDcgKzEwOTUsNyBA
QCBTdHJpbmcgSFRNTE1lZGlhRWxlbWVudDo6Y2FuUGxheVR5cGUoY29uc3QgU3RyaW5nJiBtaW1l
VHlwZSkgY29uc3QKICAgICAgICAgICAgIGJyZWFrOwogICAgIH0KIAotICAgIElORk9fTE9HKExP
R0lERU5USUZJRVIsIG1pbWVUeXBlLCAiOiAiLCBjYW5QbGF5KTsKKyAgICBBTFdBWVNfTE9HKExP
R0lERU5USUZJRVIsIG1pbWVUeXBlLCAiOiAiLCBjYW5QbGF5KTsKIAogICAgIHJldHVybiBjYW5Q
bGF5OwogfQpAQCAtMjAzOSw3ICsyMDM5LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzdGFy
dFByb2dyZXNzRXZlbnRUaW1lcigpCiAKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6d2FpdEZvclNv
dXJjZUNoYW5nZSgpCiB7Ci0gICAgSU5GT19MT0coTE9HSURFTlRJRklFUik7CisgICAgQUxXQVlT
X0xPRyhMT0dJREVOVElGSUVSKTsKIAogICAgIHN0b3BQZXJpb2RpY1RpbWVycygpOwogICAgIG1f
bG9hZFN0YXRlID0gV2FpdGluZ0ZvclNvdXJjZTsKQEAgLTIwNTksNyArMjA1OSw3IEBAIHZvaWQg
SFRNTE1lZGlhRWxlbWVudDo6bm9uZVN1cHBvcnRlZCgpCiAgICAgaWYgKG1fZXJyb3IpCiAgICAg
ICAgIHJldHVybjsKIAotICAgIElORk9fTE9HKExPR0lERU5USUZJRVIpOworICAgIEFMV0FZU19M
T0coTE9HSURFTlRJRklFUik7CiAKICAgICBzdG9wUGVyaW9kaWNUaW1lcnMoKTsKICAgICBtX2xv
YWRTdGF0ZSA9IFdhaXRpbmdGb3JTb3VyY2U7CkBAIC0yMTg1LDcgKzIxODUsNyBAQCB2b2lkIEhU
TUxNZWRpYUVsZW1lbnQ6Om1lZGlhTG9hZGluZ0ZhaWxlZChNZWRpYVBsYXllcjo6TmV0d29ya1N0
YXRlIGVycm9yKQogICAgICAgICBpZiAobV9jdXJyZW50U291cmNlTm9kZSkKICAgICAgICAgICAg
IG1fY3VycmVudFNvdXJjZU5vZGUtPnNjaGVkdWxlRXJyb3JFdmVudCgpOwogICAgICAgICBlbHNl
Ci0gICAgICAgICAgICBJTkZPX0xPRyhMT0dJREVOVElGSUVSLCAiZXJyb3IgZXZlbnQgbm90IHNl
bnQsIDxzb3VyY2U+IHdhcyByZW1vdmVkIik7CisgICAgICAgICAgICBBTFdBWVNfTE9HKExPR0lE
RU5USUZJRVIsICJlcnJvciBldmVudCBub3Qgc2VudCwgPHNvdXJjZT4gd2FzIHJlbW92ZWQiKTsK
IAogICAgICAgICAvLyA5Lk90aGVyd2lzZS4xMCAtIEFzeW5jaHJvbm91c2x5IGF3YWl0IGEgc3Rh
YmxlIHN0YXRlLiBUaGUgc3luY2hyb25vdXMgc2VjdGlvbiBjb25zaXN0cyBvZiBhbGwgdGhlIHJl
bWFpbmluZyBzdGVwcyBvZiB0aGlzIGFsZ29yaXRobSB1bnRpbCB0aGUgYWxnb3JpdGhtIHNheXMg
dGhlIHN5bmNocm9ub3VzIHNlY3Rpb24gaGFzIGVuZGVkLgogCkBAIC0yMTkzLDEwICsyMTkzLDEw
IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFMb2FkaW5nRmFpbGVkKE1lZGlhUGxheWVy
OjpOZXR3b3JrU3RhdGUgZXJyb3IpCiAgICAgICAgIGZvcmdldFJlc291cmNlU3BlY2lmaWNUcmFj
a3MoKTsKIAogICAgICAgICBpZiAoaGF2ZVBvdGVudGlhbFNvdXJjZUNoaWxkKCkpIHsKLSAgICAg
ICAgICAgIElORk9fTE9HKExPR0lERU5USUZJRVIsICJzY2hlZHVsaW5nIG5leHQgPHNvdXJjZT4i
KTsKKyAgICAgICAgICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUiwgInNjaGVkdWxpbmcgbmV4
dCA8c291cmNlPiIpOwogICAgICAgICAgICAgc2NoZWR1bGVOZXh0U291cmNlQ2hpbGQoKTsKICAg
ICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIElORk9fTE9HKExPR0lERU5USUZJRVIsICJubyBt
b3JlIDxzb3VyY2U+IGVsZW1lbnRzLCB3YWl0aW5nIik7CisgICAgICAgICAgICBBTFdBWVNfTE9H
KExPR0lERU5USUZJRVIsICJubyBtb3JlIDxzb3VyY2U+IGVsZW1lbnRzLCB3YWl0aW5nIik7CiAg
ICAgICAgICAgICB3YWl0Rm9yU291cmNlQ2hhbmdlKCk7CiAgICAgICAgIH0KIApAQCAtMjg2Miw3
ICsyODYyLDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpmYXN0U2Vlayhkb3VibGUgdGltZSkK
IAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpmYXN0U2Vlayhjb25zdCBNZWRpYVRpbWUmIHRpbWUp
CiB7Ci0gICAgSU5GT19MT0coTE9HSURFTlRJRklFUiwgdGltZSk7CisgICAgQUxXQVlTX0xPRyhM
T0dJREVOVElGSUVSLCB0aW1lKTsKICAgICAvLyA0LjcuMTAuOSBTZWVraW5nCiAgICAgLy8gOS4g
SWYgdGhlIGFwcHJveGltYXRlLWZvci1zcGVlZCBmbGFnIGlzIHNldCwgYWRqdXN0IHRoZSBuZXcg
cGxheWJhY2sgcG9zaXRpb24gdG8gYSB2YWx1ZSB0aGF0IHdpbGwKICAgICAvLyBhbGxvdyBmb3Ig
cGxheWJhY2sgdG8gcmVzdW1lIHByb21wdGx5LiBJZiBuZXcgcGxheWJhY2sgcG9zaXRpb24gYmVm
b3JlIHRoaXMgc3RlcCBpcyBiZWZvcmUgY3VycmVudApAQCAtMjg3OCwxMyArMjg3OCwxMyBAQCB2
b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmZhc3RTZWVrKGNvbnN0IE1lZGlhVGltZSYgdGltZSkKIAog
dm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzZWVrKGNvbnN0IE1lZGlhVGltZSYgdGltZSkKIHsKLSAg
ICBJTkZPX0xPRyhMT0dJREVOVElGSUVSLCB0aW1lKTsKKyAgICBBTFdBWVNfTE9HKExPR0lERU5U
SUZJRVIsIHRpbWUpOwogICAgIHNlZWtXaXRoVG9sZXJhbmNlKHRpbWUsIE1lZGlhVGltZTo6emVy
b1RpbWUoKSwgTWVkaWFUaW1lOjp6ZXJvVGltZSgpLCB0cnVlKTsKIH0KIAogdm9pZCBIVE1MTWVk
aWFFbGVtZW50OjpzZWVrSW50ZXJuYWwoY29uc3QgTWVkaWFUaW1lJiB0aW1lKQogewotICAgIElO
Rk9fTE9HKExPR0lERU5USUZJRVIsIHRpbWUpOworICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklF
UiwgdGltZSk7CiAgICAgc2Vla1dpdGhUb2xlcmFuY2UodGltZSwgTWVkaWFUaW1lOjp6ZXJvVGlt
ZSgpLCBNZWRpYVRpbWU6Onplcm9UaW1lKCksIGZhbHNlKTsKIH0KIApAQCAtMjk3NCw3ICsyOTc0
LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzZWVrVGFzaygpCiAgICAgLy8gdGltZSBzY2Fs
ZSwgd2Ugd2lsbCBhc2sgdGhlIG1lZGlhIGVuZ2luZSB0byAic2VlayIgdG8gdGhlIGN1cnJlbnQg
bW92aWUgdGltZSwgd2hpY2ggbWF5IGJlIGEgbm9vcCBhbmQKICAgICAvLyBub3QgZ2VuZXJhdGUg
YSB0aW1lY2hhbmdlZCBjYWxsYmFjay4gVGhpcyBtZWFucyBtX3NlZWtpbmcgd2lsbCBuZXZlciBi
ZSBjbGVhcmVkIGFuZCB3ZSB3aWxsIG5ldmVyCiAgICAgLy8gZmlyZSBhICdzZWVrZWQnIGV2ZW50
LgotICAgIGlmICh3aWxsTG9nKFdURkxvZ0xldmVsOjpEZWJ1ZykpIHsKKyAgICBpZiAod2lsbExv
ZyhXVEZMb2dMZXZlbDo6SW5mbykpIHsKICAgICAgICAgTWVkaWFUaW1lIG1lZGlhVGltZSA9IG1f
cGxheWVyLT5tZWRpYVRpbWVGb3JUaW1lVmFsdWUodGltZSk7CiAgICAgICAgIGlmICh0aW1lICE9
IG1lZGlhVGltZSkKICAgICAgICAgICAgIElORk9fTE9HKExPR0lERU5USUZJRVIsIHRpbWUsICIg
bWVkaWEgdGltZWxpbmUgZXF1aXZhbGVudCBpcyAiLCBtZWRpYVRpbWUpOwpAQCAtMzAwNCw3ICsz
MDA0LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzZWVrVGFzaygpCiAjZW5kaWYKIAogICAg
IGlmIChub1NlZWtSZXF1aXJlZCkgewotICAgICAgICBJTkZPX0xPRyhMT0dJREVOVElGSUVSLCAi
aWdub3JlZCBzZWVrIHRvICIsIHRpbWUpOworICAgICAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJ
RVIsICJpZ25vcmVkIHNlZWsgdG8gIiwgdGltZSk7CiAgICAgICAgIGlmICh0aW1lID09IG5vdykg
ewogICAgICAgICAgICAgc2NoZWR1bGVFdmVudChldmVudE5hbWVzKCkuc2Vla2luZ0V2ZW50KTsK
ICAgICAgICAgICAgIHNjaGVkdWxlVGltZXVwZGF0ZUV2ZW50KGZhbHNlKTsKQEAgLTMwNDksNyAr
MzA0OSw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6ZmluaXNoU2VlaygpCiAgICAgLy8gMTQg
LSBTZXQgdGhlIHNlZWtpbmcgSURMIGF0dHJpYnV0ZSB0byBmYWxzZS4KICAgICBjbGVhclNlZWtp
bmcoKTsKIAotICAgIElORk9fTE9HKExPR0lERU5USUZJRVIsICJjdXJyZW50IHRpbWUgPSAiLCBj
dXJyZW50TWVkaWFUaW1lKCkpOworICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUiwgImN1cnJl
bnQgdGltZSA9ICIsIGN1cnJlbnRNZWRpYVRpbWUoKSk7CiAKICAgICAvLyAxNSAtIFJ1biB0aGUg
dGltZSBtYWNoZXMgb24gc3RlcHMuCiAgICAgLy8gSGFuZGxlZCBieSBtZWRpYVBsYXllclRpbWVD
aGFuZ2VkKCkuCkBAIC0zMTM4LDcgKzMxMzgsNyBAQCBNZWRpYVRpbWUgSFRNTE1lZGlhRWxlbWVu
dDo6Y3VycmVudE1lZGlhVGltZSgpIGNvbnN0CiAgICAgICAgIHJldHVybiBNZWRpYVRpbWU6Onpl
cm9UaW1lKCk7CiAKICAgICBpZiAobV9zZWVraW5nKSB7Ci0gICAgICAgIElORk9fTE9HKExPR0lE
RU5USUZJRVIsICJzZWVraW5nLCByZXR1cm5pbmciLCBtX2xhc3RTZWVrVGltZSk7CisgICAgICAg
IEFMV0FZU19MT0coTE9HSURFTlRJRklFUiwgInNlZWtpbmcsIHJldHVybmluZyIsIG1fbGFzdFNl
ZWtUaW1lKTsKICAgICAgICAgcmV0dXJuIG1fbGFzdFNlZWtUaW1lOwogICAgIH0KIApAQCAtMzM4
OSw3ICszMzg5LDcgQEAgU3RyaW5nIEhUTUxNZWRpYUVsZW1lbnQ6OnByZWxvYWQoKSBjb25zdAog
CiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNldFByZWxvYWQoY29uc3QgU3RyaW5nJiBwcmVsb2Fk
KQogewotICAgIElORk9fTE9HKExPR0lERU5USUZJRVIsIHByZWxvYWQpOworICAgIEFMV0FZU19M
T0coTE9HSURFTlRJRklFUiwgcHJlbG9hZCk7CiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAg
ICAvLyBodHRwOi8vdzNjLmdpdGh1Yi5pby9tZWRpYWNhcHR1cmUtbWFpbi8jbWVkaWFzdHJlYW1z
LWluLW1lZGlhLWVsZW1lbnRzCiAgICAgLy8gInByZWxvYWQiIC0gT24gZ2V0dGluZzogbm9uZS4g
T24gc2V0dGluZzogaWdub3JlZC4KQEAgLTM0NTMsNyArMzQ1Myw3IEBAIHZvaWQgSFRNTE1lZGlh
RWxlbWVudDo6cGxheUludGVybmFsKCkKICAgICB9CiAKICAgICBpZiAoIWRvY3VtZW50KCkuaGFz
QnJvd3NpbmdDb250ZXh0KCkpIHsKLSAgICAgICAgSU5GT19MT0coTE9HSURFTlRJRklFUiwgInJl
dHVybmluZyBiZWNhdXNlIHRoZXJlIGlzIG5vIGJyb3dzaW5nIGNvbnRleHQiKTsKKyAgICAgICAg
QUxXQVlTX0xPRyhMT0dJREVOVElGSUVSLCAicmV0dXJuaW5nIGJlY2F1c2UgdGhlcmUgaXMgbm8g
YnJvd3NpbmcgY29udGV4dCIpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0zNTU1LDcg
KzM1NTUsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnBhdXNlSW50ZXJuYWwoKQogICAgIH0K
IAogICAgIGlmICghZG9jdW1lbnQoKS5oYXNCcm93c2luZ0NvbnRleHQoKSkgewotICAgICAgICBJ
TkZPX0xPRyhMT0dJREVOVElGSUVSLCAicmV0dXJuaW5nIGJlY2F1c2UgdGhlcmUgaXMgbm8gYnJv
d3NpbmcgY29udGV4dCIpOworICAgICAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIsICJyZXR1
cm5pbmcgYmVjYXVzZSB0aGVyZSBpcyBubyBicm93c2luZyBjb250ZXh0Iik7CiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAKQEAgLTM2MTIsNyArMzYxMiw3IEBAIGJvb2wgSFRNTE1lZGlhRWxlbWVu
dDo6bG9vcCgpIGNvbnN0CiAKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2V0TG9vcChib29sIGxv
b3ApCiB7Ci0gICAgSU5GT19MT0coTE9HSURFTlRJRklFUiwgbG9vcCk7CisgICAgQUxXQVlTX0xP
RyhMT0dJREVOVElGSUVSLCBsb29wKTsKICAgICBzZXRCb29sZWFuQXR0cmlidXRlKGxvb3BBdHRy
LCBsb29wKTsKIH0KIApAQCAtMzYyOSw3ICszNjI5LDcgQEAgYm9vbCBIVE1MTWVkaWFFbGVtZW50
Ojpjb250cm9scygpIGNvbnN0CiAKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2V0Q29udHJvbHMo
Ym9vbCBjb250cm9scykKIHsKLSAgICBJTkZPX0xPRyhMT0dJREVOVElGSUVSLCBjb250cm9scyk7
CisgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSLCBjb250cm9scyk7CiAgICAgc2V0Qm9vbGVh
bkF0dHJpYnV0ZShjb250cm9sc0F0dHIsIGNvbnRyb2xzKTsKIH0KIApAQCAtMzY0MCw3ICszNjQw
LDcgQEAgZG91YmxlIEhUTUxNZWRpYUVsZW1lbnQ6OnZvbHVtZSgpIGNvbnN0CiAKIEV4Y2VwdGlv
bk9yPHZvaWQ+IEhUTUxNZWRpYUVsZW1lbnQ6OnNldFZvbHVtZShkb3VibGUgdm9sdW1lKQogewot
ICAgIElORk9fTE9HKExPR0lERU5USUZJRVIsIHZvbHVtZSk7CisgICAgQUxXQVlTX0xPRyhMT0dJ
REVOVElGSUVSLCB2b2x1bWUpOwogCiAgICAgaWYgKCEodm9sdW1lID49IDAgJiYgdm9sdW1lIDw9
IDEpKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW5kZXhTaXplRXJyb3IgfTsKQEAgLTM2
ODQsNyArMzY4NCw3IEBAIGJvb2wgSFRNTE1lZGlhRWxlbWVudDo6bXV0ZWQoKSBjb25zdAogCiB2
b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNldE11dGVkKGJvb2wgbXV0ZWQpCiB7Ci0gICAgSU5GT19M
T0coTE9HSURFTlRJRklFUiwgbXV0ZWQpOworICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUiwg
bXV0ZWQpOwogCiAgICAgYm9vbCBtdXRlZFN0YXRlQ2hhbmdlZCA9IG1fbXV0ZWQgIT0gbXV0ZWQ7
CiAgICAgaWYgKG11dGVkU3RhdGVDaGFuZ2VkIHx8ICFtX2V4cGxpY2l0bHlNdXRlZCkgewpAQCAt
MzczOCw3ICszNzM4LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpoYXJkd2FyZU11dGVkU3Rh
dGVEaWRDaGFuZ2UoQXVkaW9TZXNzaW9uKiBzZXNzaW9uKQogICAgIGlmIChlZmZlY3RpdmVNdXRl
ZCgpIHx8ICF2b2x1bWUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgSU5GT19MT0coTE9HSURF
TlRJRklFUik7CisgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSKTsKICAgICB1c2VyRGlkSW50
ZXJmZXJlV2l0aEF1dG9wbGF5KCk7CiB9CiAjZW5kaWYKQEAgLTQxOTQsNyArNDE5NCw3IEBAIHZv
aWQgSFRNTE1lZGlhRWxlbWVudDo6Y29uZmlndXJlVGV4dFRyYWNrR3JvdXAoY29uc3QgVHJhY2tH
cm91cCYgZ3JvdXApCiAgICAgICAgICAgICBjdXJyZW50bHlFbmFibGVkVHJhY2tzLmFwcGVuZCh0
ZXh0VHJhY2spOwogCiAgICAgICAgIGludCB0cmFja1Njb3JlID0gY2FwdGlvblByZWZlcmVuY2Vz
ID8gY2FwdGlvblByZWZlcmVuY2VzLT50ZXh0VHJhY2tTZWxlY3Rpb25TY29yZSh0ZXh0VHJhY2su
Z2V0KCksIHRoaXMpIDogMDsKLSAgICAgICAgSU5GT19MT0coTE9HSURFTlRJRklFUiwgIiciLCB0
ZXh0VHJhY2stPmtpbmRLZXl3b3JkKCksICInIHRyYWNrIHdpdGggbGFuZ3VhZ2UgJyIsIHRleHRU
cmFjay0+bGFuZ3VhZ2UoKSwgIicgYW5kIEJDUCA0NyBsYW5ndWFnZSAnIiwgdGV4dFRyYWNrLT52
YWxpZEJDUDQ3TGFuZ3VhZ2UoKSwgIicgaGFzIHNjb3JlICIsIHRyYWNrU2NvcmUpOworICAgICAg
ICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIsICInIiwgdGV4dFRyYWNrLT5raW5kS2V5d29yZCgp
LCAiJyB0cmFjayB3aXRoIGxhbmd1YWdlICciLCB0ZXh0VHJhY2stPmxhbmd1YWdlKCksICInIGFu
ZCBCQ1AgNDcgbGFuZ3VhZ2UgJyIsIHRleHRUcmFjay0+dmFsaWRCQ1A0N0xhbmd1YWdlKCksICIn
IGhhcyBzY29yZSAiLCB0cmFja1Njb3JlKTsKIAogICAgICAgICBpZiAodHJhY2tTY29yZSkgewog
CkBAIC00NzIyLDcgKzQ3MjIsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNvdXJjZVdhc1Jl
bW92ZWQoSFRNTFNvdXJjZUVsZW1lbnQmIHNvdXJjZSkKIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50
OjptZWRpYVBsYXllclRpbWVDaGFuZ2VkKCkKIHsKLSAgICBJTkZPX0xPRyhMT0dJREVOVElGSUVS
KTsKKyAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIpOwogCiAjaWYgRU5BQkxFKFZJREVPX1RS
QUNLKQogICAgIHVwZGF0ZUFjdGl2ZVRleHRUcmFja0N1ZXMoY3VycmVudE1lZGlhVGltZSgpKTsK
QEAgLTQ3NTQsOSArNDc1NCwxNCBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVy
VGltZUNoYW5nZWQoKQogICAgICAgICAgICAgbV9zZW50RW5kRXZlbnQgPSBmYWxzZTsKICAgICAg
ICAgICAgIC8vIHRoZW4gc2VlayB0byB0aGUgZWFybGllc3QgcG9zc2libGUgcG9zaXRpb24gb2Yg
dGhlIG1lZGlhIHJlc291cmNlIGFuZCBhYm9ydCB0aGVzZSBzdGVwcyB3aGVuIHRoZSBkaXJlY3Rp
b24gb2YKICAgICAgICAgICAgIC8vIHBsYXliYWNrIGlzIGZvcndhcmRzLAotICAgICAgICAgICAg
aWYgKG5vdyA+PSBkdXIpCisgICAgICAgICAgICBpZiAobm93ID49IGR1cikgeworICAgICAgICAg
ICAgICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUiwgImN1cnJlbnQgdGltZSAoIiwgbm93LCAi
KSBpcyBncmVhdGVyIHRoZW4gZHVyYXRpb24gKCIsIGR1ciwgIiksIGxvb3BpbmciKTsKICAgICAg
ICAgICAgICAgICBzZWVrSW50ZXJuYWwoTWVkaWFUaW1lOjp6ZXJvVGltZSgpKTsKKyAgICAgICAg
ICAgIH0KICAgICAgICAgfSBlbHNlIGlmICgobm93IDw9IE1lZGlhVGltZTo6emVyb1RpbWUoKSAm
JiBwbGF5YmFja1JhdGUgPCAwKSB8fCAobm93ID49IGR1ciAmJiBwbGF5YmFja1JhdGUgPiAwKSkg
eworCisgICAgICAgICAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIsICJjdXJyZW50IHRpbWUg
KCIsIG5vdywgIikgaXMgZ3JlYXRlciB0aGVuIGR1cmF0aW9uICgiLCBkdXIsICIpIG9yIDw9IDAs
IHBhdXNpbmciKTsKKwogICAgICAgICAgICAgLy8gSWYgdGhlIG1lZGlhIGVsZW1lbnQgZG9lcyBu
b3QgaGF2ZSBhIGN1cnJlbnQgbWVkaWEgY29udHJvbGxlciwgYW5kIHRoZSBtZWRpYSBlbGVtZW50
CiAgICAgICAgICAgICAvLyBoYXMgc3RpbGwgZW5kZWQgcGxheWJhY2sgYW5kIHBhdXNlZCBpcyBm
YWxzZSwKICAgICAgICAgICAgIGlmICghbV9tZWRpYUNvbnRyb2xsZXIgJiYgIW1fcGF1c2VkKSB7
CkBAIC00ODUwLDcgKzQ4NTUsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNlZWtUb1BsYXli
YWNrUG9zaXRpb25FbmRlZFRpbWVyRmlyZWQoKQogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6Om1l
ZGlhUGxheWVyVm9sdW1lQ2hhbmdlZCgpCiB7Ci0gICAgSU5GT19MT0coTE9HSURFTlRJRklFUik7
CisgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSKTsKIAogICAgIGJlZ2luUHJvY2Vzc2luZ01l
ZGlhUGxheWVyQ2FsbGJhY2soKTsKICAgICBpZiAobV9wbGF5ZXIpIHsKQEAgLTQ4NjYsNyArNDg3
MSw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJWb2x1bWVDaGFuZ2VkKCkK
IAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllck11dGVDaGFuZ2VkKCkKIHsKLSAg
ICBJTkZPX0xPRyhMT0dJREVOVElGSUVSKTsKKyAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIp
OwogCiAgICAgYmVnaW5Qcm9jZXNzaW5nTWVkaWFQbGF5ZXJDYWxsYmFjaygpOwogICAgIGlmICht
X3BsYXllcikKQEAgLTQ4NzYsOCArNDg4MSw2IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bWVk
aWFQbGF5ZXJNdXRlQ2hhbmdlZCgpCiAKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5
ZXJEdXJhdGlvbkNoYW5nZWQoKQogewotICAgIElORk9fTE9HKExPR0lERU5USUZJRVIpOwotCiAg
ICAgYmVnaW5Qcm9jZXNzaW5nTWVkaWFQbGF5ZXJDYWxsYmFjaygpOwogCiAgICAgc2NoZWR1bGVF
dmVudChldmVudE5hbWVzKCkuZHVyYXRpb25jaGFuZ2VFdmVudCk7CkBAIC00ODg1LDYgKzQ4ODgs
NyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyRHVyYXRpb25DaGFuZ2VkKCkK
IAogICAgIE1lZGlhVGltZSBub3cgPSBjdXJyZW50TWVkaWFUaW1lKCk7CiAgICAgTWVkaWFUaW1l
IGR1ciA9IGR1cmF0aW9uTWVkaWFUaW1lKCk7CisgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVS
LCAiZHVyYXRpb24gPSAiLCBkdXIsICIsIGN1cnJlbnQgdGltZSA9ICIsIG5vdyk7CiAgICAgaWYg
KG5vdyA+IGR1cikKICAgICAgICAgc2Vla0ludGVybmFsKGR1cik7CiAKQEAgLTQ4OTksNyArNDkw
Myw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJSYXRlQ2hhbmdlZCgpCiAg
ICAgLy8gdXNpbmcgKGVnLiBpdCBjYW4ndCBoYW5kbGUgdGhlIHJhdGUgd2Ugc2V0KQogICAgIG1f
cmVwb3J0ZWRQbGF5YmFja1JhdGUgPSBtX3BsYXllci0+cmF0ZSgpOwogCi0gICAgSU5GT19MT0co
TE9HSURFTlRJRklFUiwgInJhdGU6ICIsIG1fcmVwb3J0ZWRQbGF5YmFja1JhdGUpOworICAgIEFM
V0FZU19MT0coTE9HSURFTlRJRklFUiwgInJhdGU6ICIsIG1fcmVwb3J0ZWRQbGF5YmFja1JhdGUp
OwogCiAgICAgaWYgKG1fcGxheWluZykKICAgICAgICAgaW52YWxpZGF0ZUNhY2hlZFRpbWUoKTsK
QEAgLTQ5MTEsMTMgKzQ5MTUsMTQgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXll
clJhdGVDaGFuZ2VkKCkKIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllclBsYXli
YWNrU3RhdGVDaGFuZ2VkKCkKIHsKLSAgICBJTkZPX0xPRyhMT0dJREVOVElGSUVSKTsKLQogICAg
IGlmICghbV9wbGF5ZXIgfHwgbV9wYXVzZWRJbnRlcm5hbCkKICAgICAgICAgcmV0dXJuOwogCisg
ICAgYXV0byBwbGF5ZXJQYXVzZWQgPSBtX3BsYXllci0+cGF1c2VkKCk7CisgICAgQUxXQVlTX0xP
RyhMT0dJREVOVElGSUVSLCBwbGF5ZXJQYXVzZWQpOworCiAgICAgYmVnaW5Qcm9jZXNzaW5nTWVk
aWFQbGF5ZXJDYWxsYmFjaygpOwotICAgIGlmIChtX3BsYXllci0+cGF1c2VkKCkpCisgICAgaWYg
KHBsYXllclBhdXNlZCkKICAgICAgICAgcGF1c2VJbnRlcm5hbCgpOwogICAgIGVsc2UKICAgICAg
ICAgcGxheUludGVybmFsKCk7CkBAIC00OTI5LDcgKzQ5MzQsNyBAQCB2b2lkIEhUTUxNZWRpYUVs
ZW1lbnQ6Om1lZGlhUGxheWVyUGxheWJhY2tTdGF0ZUNoYW5nZWQoKQogCiB2b2lkIEhUTUxNZWRp
YUVsZW1lbnQ6Om1lZGlhUGxheWVyUmVzb3VyY2VOb3RTdXBwb3J0ZWQoKQogewotICAgIElORk9f
TE9HKExPR0lERU5USUZJRVIpOworICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUik7CiAKICAg
ICAvLyBUaGUgTWVkaWFQbGF5ZXIgY2FtZSBhY3Jvc3MgY29udGVudCB3aGljaCBubyBpbnN0YWxs
ZWQgZW5naW5lIHN1cHBvcnRzLgogICAgIG1lZGlhTG9hZGluZ0ZhaWxlZChNZWRpYVBsYXllcjo6
TmV0d29ya1N0YXRlOjpGb3JtYXRFcnJvcik7CkBAIC00OTQ3LDcgKzQ5NTIsNyBAQCB2b2lkIEhU
TUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyUmVwYWludCgpCiAKIHZvaWQgSFRNTE1lZGlhRWxl
bWVudDo6bWVkaWFQbGF5ZXJTaXplQ2hhbmdlZCgpCiB7Ci0gICAgSU5GT19MT0coTE9HSURFTlRJ
RklFUik7CisgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSKTsKIAogICAgIGlmIChpczxNZWRp
YURvY3VtZW50Pihkb2N1bWVudCgpKSAmJiBtX3BsYXllcikKICAgICAgICAgZG93bmNhc3Q8TWVk
aWFEb2N1bWVudD4oZG9jdW1lbnQoKSkubWVkaWFFbGVtZW50TmF0dXJhbFNpemVDaGFuZ2VkKGV4
cGFuZGVkSW50U2l6ZShtX3BsYXllci0+bmF0dXJhbFNpemUoKSkpOwpAQCAtNDk2OCw3ICs0OTcz
LDcgQEAgYm9vbCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllclJlbmRlcmluZ0NhbkJlQWNj
ZWxlcmF0ZWQoKQogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyUmVuZGVyaW5n
TW9kZUNoYW5nZWQoKQogewotICAgIElORk9fTE9HKExPR0lERU5USUZJRVIpOworICAgIEFMV0FZ
U19MT0coTE9HSURFTlRJRklFUik7CiAKICAgICAvLyBLaWNrIG9mZiBhIGZha2UgcmVjYWxjU3R5
bGUgdGhhdCB3aWxsIHVwZGF0ZSB0aGUgY29tcG9zaXRpbmcgdHJlZS4KICAgICBpbnZhbGlkYXRl
U3R5bGVBbmRMYXllckNvbXBvc2l0aW9uKCk7CkBAIC01MDUzLDcgKzUwNTgsNyBAQCB2b2lkIEhU
TUxNZWRpYUVsZW1lbnQ6Om1lZGlhRW5naW5lV2FzVXBkYXRlZCgpCiAKIHZvaWQgSFRNTE1lZGlh
RWxlbWVudDo6bWVkaWFQbGF5ZXJFbmdpbmVVcGRhdGVkKCkKIHsKLSAgICBJTkZPX0xPRyhMT0dJ
REVOVElGSUVSLCBtX3BsYXllci0+ZW5naW5lRGVzY3JpcHRpb24oKSk7CisgICAgQUxXQVlTX0xP
RyhMT0dJREVOVElGSUVSLCBtX3BsYXllci0+ZW5naW5lRGVzY3JpcHRpb24oKSk7CiAKICNpZiBF
TkFCTEUoTUVESUFfU09VUkNFKQogICAgIG1fZHJvcHBlZFZpZGVvRnJhbWVzID0gMDsKQEAgLTUw
NjYsNyArNTA3MSw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJFbmdpbmVV
cGRhdGVkKCkKIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllckZpcnN0VmlkZW9G
cmFtZUF2YWlsYWJsZSgpCiB7Ci0gICAgSU5GT19MT0coTE9HSURFTlRJRklFUiwgImN1cnJlbnQg
ZGlzcGxheSBtb2RlID0gIiwgKGludClkaXNwbGF5TW9kZSgpKTsKKyAgICBBTFdBWVNfTE9HKExP
R0lERU5USUZJRVIsICJjdXJyZW50IGRpc3BsYXkgbW9kZSA9ICIsIChpbnQpZGlzcGxheU1vZGUo
KSk7CiAKICAgICBiZWdpblByb2Nlc3NpbmdNZWRpYVBsYXllckNhbGxiYWNrKCk7CiAgICAgaWYg
KGRpc3BsYXlNb2RlKCkgPT0gUG9zdGVyV2FpdGluZ0ZvclZpZGVvKSB7CkBAIC01MDc4LDcgKzUw
ODMsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyRmlyc3RWaWRlb0ZyYW1l
QXZhaWxhYmxlKCkKIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllckNoYXJhY3Rl
cmlzdGljQ2hhbmdlZCgpCiB7Ci0gICAgSU5GT19MT0coTE9HSURFTlRJRklFUik7CisgICAgQUxX
QVlTX0xPRyhMT0dJREVOVElGSUVSKTsKIAogICAgIGJlZ2luUHJvY2Vzc2luZ01lZGlhUGxheWVy
Q2FsbGJhY2soKTsKIApAQCAtNTMxNiw3ICs1MzIxLDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50
Ojp1cGRhdGVQbGF5U3RhdGUoKQogICAgIGJvb2wgc2hvdWxkQmVQbGF5aW5nID0gcG90ZW50aWFs
bHlQbGF5aW5nKCk7CiAgICAgYm9vbCBwbGF5ZXJQYXVzZWQgPSBtX3BsYXllci0+cGF1c2VkKCk7
CiAKLSAgICBJTkZPX0xPRyhMT0dJREVOVElGSUVSLCAic2hvdWxkQmVQbGF5aW5nID0gIiwgc2hv
dWxkQmVQbGF5aW5nLCAiLCBwbGF5ZXJQYXVzZWQgPSAiLCBwbGF5ZXJQYXVzZWQpOworICAgIEFM
V0FZU19MT0coTE9HSURFTlRJRklFUiwgInNob3VsZEJlUGxheWluZyA9ICIsIHNob3VsZEJlUGxh
eWluZywgIiwgcGxheWVyUGF1c2VkID0gIiwgcGxheWVyUGF1c2VkKTsKIAogICAgIGlmIChzaG91
bGRCZVBsYXlpbmcgJiYgcGxheWVyUGF1c2VkICYmIG1fbWVkaWFTZXNzaW9uLT5yZXF1aXJlc0Z1
bGxzY3JlZW5Gb3JWaWRlb1BsYXliYWNrKCkgJiYgKG1fd2FpdGluZ1RvRW50ZXJGdWxsc2NyZWVu
IHx8ICFpc0Z1bGxzY3JlZW4oKSkpIHsKICAgICAgICAgaWYgKCFtX3dhaXRpbmdUb0VudGVyRnVs
bHNjcmVlbikKQEAgLTU2MjUsNyArNTYzMCw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6Y29u
dGV4dERlc3Ryb3llZCgpCiAKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c3RvcCgpCiB7Ci0gICAg
SU5GT19MT0coTE9HSURFTlRJRklFUik7CisgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSKTsK
IAogICAgIFJlZjxIVE1MTWVkaWFFbGVtZW50PiBwcm90ZWN0ZWRUaGlzKCp0aGlzKTsKICAgICBz
dG9wV2l0aG91dERlc3Ryb3lpbmdNZWRpYVBsYXllcigpOwpAQCAtNTY0Miw3ICs1NjQ3LDcgQEAg
dm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzdG9wKCkKIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojpz
dXNwZW5kKFJlYXNvbkZvclN1c3BlbnNpb24gcmVhc29uKQogewotICAgIElORk9fTE9HKExPR0lE
RU5USUZJRVIpOworICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUik7CiAgICAgUmVmPEhUTUxN
ZWRpYUVsZW1lbnQ+IHByb3RlY3RlZFRoaXMoKnRoaXMpOwogCiAgICAgbV9yZXN1bWVUYXNrUXVl
dWUuY2FuY2VsVGFzaygpOwpAQCAtNTY2Myw3ICs1NjY4LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVt
ZW50OjpzdXNwZW5kKFJlYXNvbkZvclN1c3BlbnNpb24gcmVhc29uKQogCiB2b2lkIEhUTUxNZWRp
YUVsZW1lbnQ6OnJlc3VtZSgpCiB7Ci0gICAgSU5GT19MT0coTE9HSURFTlRJRklFUik7CisgICAg
QUxXQVlTX0xPRyhMT0dJREVOVElGSUVSKTsKIAogICAgIHNldEluQWN0aXZlRG9jdW1lbnQodHJ1
ZSk7CiAKQEAgLTU3MTEsNyArNTcxNiw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6dmlzaWJp
bGl0eVN0YXRlQ2hhbmdlZCgpCiAgICAgICAgIHJldHVybjsKIAogICAgIG1fZWxlbWVudElzSGlk
ZGVuID0gZWxlbWVudElzSGlkZGVuOwotICAgIElORk9fTE9HKExPR0lERU5USUZJRVIsICJ2aXNp
YmxlID0gIiwgIW1fZWxlbWVudElzSGlkZGVuKTsKKyAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJ
RVIsICJ2aXNpYmxlID0gIiwgIW1fZWxlbWVudElzSGlkZGVuKTsKIAogICAgIHVwZGF0ZVNsZWVw
RGlzYWJsaW5nKCk7CiAgICAgbV9tZWRpYVNlc3Npb24tPnZpc2liaWxpdHlDaGFuZ2VkKCk7CkBA
IC01ODQ0LDcgKzU4NDksNyBAQCBib29sIEhUTUxNZWRpYUVsZW1lbnQ6OmFkZEV2ZW50TGlzdGVu
ZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBSZWY8RXZlbnRMaQogICAgICAgICBtX21l
ZGlhU2Vzc2lvbi0+c2V0SGFzUGxheWJhY2tUYXJnZXRBdmFpbGFiaWxpdHlMaXN0ZW5lcnModHJ1
ZSk7CiAgICAgfQogCi0gICAgSU5GT19MT0coTE9HSURFTlRJRklFUiwgIid3ZWJraXRwbGF5YmFj
a3RhcmdldGF2YWlsYWJpbGl0eWNoYW5nZWQnIik7CisgICAgQUxXQVlTX0xPRyhMT0dJREVOVElG
SUVSLCAiJ3dlYmtpdHBsYXliYWNrdGFyZ2V0YXZhaWxhYmlsaXR5Y2hhbmdlZCciKTsKIAogICAg
IGVucXVldWVQbGF5YmFja1RhcmdldEF2YWlsYWJpbGl0eUNoYW5nZWRFdmVudCgpOyAvLyBFbnN1
cmUgdGhlIGV2ZW50IGxpc3RlbmVyIGdldHMgYXQgbGVhc3Qgb25lIGV2ZW50LgogICAgIHJldHVy
biB0cnVlOwpAQCAtNTg2NCw3ICs1ODY5LDcgQEAgYm9vbCBIVE1MTWVkaWFFbGVtZW50OjpyZW1v
dmVFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRMaXMKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgYm9vbCBkaWRSZW1vdmVMYXN0QXZhaWxhYmlsaXR5
Q2hhbmdlZExpc3RlbmVyID0gIWhhc0V2ZW50TGlzdGVuZXJzKGV2ZW50TmFtZXMoKS53ZWJraXRw
bGF5YmFja3RhcmdldGF2YWlsYWJpbGl0eWNoYW5nZWRFdmVudCkgJiYgIW1fcmVtb3RlLT5oYXNB
dmFpbGFiaWxpdHlDYWxsYmFja3MoKTsKLSAgICBJTkZPX0xPRyhMT0dJREVOVElGSUVSLCAicmVt
b3ZlZCBsYXN0IGxpc3RlbmVyID0gIiwgZGlkUmVtb3ZlTGFzdEF2YWlsYWJpbGl0eUNoYW5nZWRM
aXN0ZW5lcik7CisgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSLCAicmVtb3ZlZCBsYXN0IGxp
c3RlbmVyID0gIiwgZGlkUmVtb3ZlTGFzdEF2YWlsYWJpbGl0eUNoYW5nZWRMaXN0ZW5lcik7CiAg
ICAgaWYgKGRpZFJlbW92ZUxhc3RBdmFpbGFiaWxpdHlDaGFuZ2VkTGlzdGVuZXIpIHsKICAgICAg
ICAgbV9oYXNQbGF5YmFja1RhcmdldEF2YWlsYWJpbGl0eUxpc3RlbmVycyA9IGZhbHNlOwogICAg
ICAgICBtX21lZGlhU2Vzc2lvbi0+c2V0SGFzUGxheWJhY2tUYXJnZXRBdmFpbGFiaWxpdHlMaXN0
ZW5lcnMoZmFsc2UpOwpAQCAtNTg3Nyw3ICs1ODgyLDcgQEAgYm9vbCBIVE1MTWVkaWFFbGVtZW50
OjpyZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRM
aXMKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6ZW5xdWV1ZVBsYXliYWNrVGFyZ2V0QXZhaWxhYmls
aXR5Q2hhbmdlZEV2ZW50KCkKIHsKICAgICBib29sIGhhc1RhcmdldHMgPSBtX21lZGlhU2Vzc2lv
bi0+aGFzV2lyZWxlc3NQbGF5YmFja1RhcmdldHMoKTsKLSAgICBJTkZPX0xPRyhMT0dJREVOVElG
SUVSLCAiaGFzVGFyZ2V0cyA9ICIsIGhhc1RhcmdldHMpOworICAgIEFMV0FZU19MT0coTE9HSURF
TlRJRklFUiwgImhhc1RhcmdldHMgPSAiLCBoYXNUYXJnZXRzKTsKICAgICBhdXRvIGV2ZW50ID0g
V2ViS2l0UGxheWJhY2tUYXJnZXRBdmFpbGFiaWxpdHlFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMo
KS53ZWJraXRwbGF5YmFja3RhcmdldGF2YWlsYWJpbGl0eWNoYW5nZWRFdmVudCwgaGFzVGFyZ2V0
cyk7CiAgICAgZXZlbnQtPnNldFRhcmdldCh0aGlzKTsKICAgICBtX2FzeW5jRXZlbnRRdWV1ZS0+
ZW5xdWV1ZUV2ZW50KFdURk1vdmUoZXZlbnQpKTsKQEAgLTU4OTYsOCArNTkwMSw2IEBAIHZvaWQg
SFRNTE1lZGlhRWxlbWVudDo6c2V0V2lyZWxlc3NQbGF5YmFja1RhcmdldChSZWY8TWVkaWFQbGF5
YmFja1RhcmdldD4mJiBkZXZpCiAKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2V0U2hvdWxkUGxh
eVRvUGxheWJhY2tUYXJnZXQoYm9vbCBzaG91bGRQbGF5KQogewotICAgIEFMV0FZU19MT0coTE9H
SURFTlRJRklFUiwgc2hvdWxkUGxheSk7Ci0KICAgICBpZiAobV9wbGF5ZXIpIHsKICAgICAgICAg
bV9wbGF5ZXItPnNldFNob3VsZFBsYXlUb1BsYXliYWNrVGFyZ2V0KHNob3VsZFBsYXkpOwogICAg
ICAgICBzZXRJc1BsYXlpbmdUb1dpcmVsZXNzVGFyZ2V0KG1fcGxheWVyLT5pc0N1cnJlbnRQbGF5
YmFja1RhcmdldFdpcmVsZXNzKCkpOwpAQCAtNTkxNSw3ICs1OTE4LDcgQEAgdm9pZCBIVE1MTWVk
aWFFbGVtZW50OjpyZW1vdGVIYXNBdmFpbGFiaWxpdHlDYWxsYmFja3NDaGFuZ2VkKCkKICAgICBp
ZiAobV9oYXNQbGF5YmFja1RhcmdldEF2YWlsYWJpbGl0eUxpc3RlbmVycyA9PSBoYXNMaXN0ZW5l
cnMpCiAgICAgICAgIHJldHVybjsKIAotICAgIElORk9fTE9HKExPR0lERU5USUZJRVIsICJoYXNM
aXN0ZW5lcnM6ICIsIGhhc0xpc3RlbmVycyk7CisgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVS
LCAiaGFzTGlzdGVuZXJzOiAiLCBoYXNMaXN0ZW5lcnMpOwogICAgIG1faGFzUGxheWJhY2tUYXJn
ZXRBdmFpbGFiaWxpdHlMaXN0ZW5lcnMgPSBoYXNMaXN0ZW5lcnM7CiAgICAgbV9tZWRpYVNlc3Np
b24tPnNldEhhc1BsYXliYWNrVGFyZ2V0QXZhaWxhYmlsaXR5TGlzdGVuZXJzKGhhc0xpc3RlbmVy
cyk7CiAgICAgc2NoZWR1bGVVcGRhdGVNZWRpYVN0YXRlKCk7CkBAIC01OTgzLDcgKzU5ODYsNyBA
QCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnRvZ2dsZVN0YW5kYXJkRnVsbHNjcmVlblN0YXRlKCkK
IAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjplbnRlckZ1bGxzY3JlZW4oVmlkZW9GdWxsc2NyZWVu
TW9kZSBtb2RlKQogewotICAgIElORk9fTE9HKExPR0lERU5USUZJRVIsICIsIG1fdmlkZW9GdWxs
c2NyZWVuTW9kZSA9ICIsIG1fdmlkZW9GdWxsc2NyZWVuTW9kZSwgIiwgbW9kZSA9ICIsIG1vZGUp
OworICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUiwgIiwgbV92aWRlb0Z1bGxzY3JlZW5Nb2Rl
ID0gIiwgbV92aWRlb0Z1bGxzY3JlZW5Nb2RlLCAiLCBtb2RlID0gIiwgbW9kZSk7CiAgICAgQVNT
RVJUKG1vZGUgIT0gVmlkZW9GdWxsc2NyZWVuTW9kZU5vbmUpOwogCiAgICAgaWYgKG1fdmlkZW9G
dWxsc2NyZWVuTW9kZSA9PSBtb2RlKQpAQCAtNjAwNyw3ICs2MDEwLDcgQEAgdm9pZCBIVE1MTWVk
aWFFbGVtZW50OjplbnRlckZ1bGxzY3JlZW4oVmlkZW9GdWxsc2NyZWVuTW9kZSBtb2RlKQogICAg
ICAgICBpZiAoaXM8SFRNTFZpZGVvRWxlbWVudD4oKnRoaXMpKSB7CiAgICAgICAgICAgICBIVE1M
VmlkZW9FbGVtZW50JiBhc1ZpZGVvID0gZG93bmNhc3Q8SFRNTFZpZGVvRWxlbWVudD4oKnRoaXMp
OwogICAgICAgICAgICAgaWYgKGRvY3VtZW50KCkucGFnZSgpLT5jaHJvbWUoKS5jbGllbnQoKS5z
dXBwb3J0c1ZpZGVvRnVsbHNjcmVlbihtb2RlKSkgewotICAgICAgICAgICAgICAgIElORk9fTE9H
KExPR0lERU5USUZJRVIsICJFbnRlcmluZyBmdWxsc2NyZWVuIG1vZGUgIiwgbW9kZSwgIiwgbV92
aWRlb0Z1bGxzY3JlZW5TdGFuZGJ5ID0gIiwgbV92aWRlb0Z1bGxzY3JlZW5TdGFuZGJ5KTsKKyAg
ICAgICAgICAgICAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIsICJFbnRlcmluZyBmdWxsc2Ny
ZWVuIG1vZGUgIiwgbW9kZSwgIiwgbV92aWRlb0Z1bGxzY3JlZW5TdGFuZGJ5ID0gIiwgbV92aWRl
b0Z1bGxzY3JlZW5TdGFuZGJ5KTsKIAogICAgICAgICAgICAgICAgIG1fdGVtcG9yYXJpbHlBbGxv
d2luZ0lubGluZVBsYXliYWNrQWZ0ZXJGdWxsc2NyZWVuID0gZmFsc2U7CiAgICAgICAgICAgICAg
ICAgbV93YWl0aW5nVG9FbnRlckZ1bGxzY3JlZW4gPSB0cnVlOwpAQCAtNjAyOCw3ICs2MDMxLDcg
QEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjplbnRlckZ1bGxzY3JlZW4oKQogCiB2b2lkIEhUTUxN
ZWRpYUVsZW1lbnQ6OmV4aXRGdWxsc2NyZWVuKCkKIHsKLSAgICBJTkZPX0xPRyhMT0dJREVOVElG
SUVSKTsKKyAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIpOwogCiAgICAgbV93YWl0aW5nVG9F
bnRlckZ1bGxzY3JlZW4gPSBmYWxzZTsKIApAQCAtNjEyNiw3ICs2MTI5LDcgQEAgdm9pZCBIVE1M
TWVkaWFFbGVtZW50Ojp3aWxsQmVjb21lRnVsbHNjcmVlbkVsZW1lbnQoKQogCiB2b2lkIEhUTUxN
ZWRpYUVsZW1lbnQ6OmRpZEJlY29tZUZ1bGxzY3JlZW5FbGVtZW50KCkKIHsKLSAgICBJTkZPX0xP
RyhMT0dJREVOVElGSUVSLCAiLCBmdWxsc2NyZWVuIG1vZGUgPSAiLCBmdWxsc2NyZWVuTW9kZSgp
KTsKKyAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIsICIsIGZ1bGxzY3JlZW4gbW9kZSA9ICIs
IGZ1bGxzY3JlZW5Nb2RlKCkpOwogICAgIG1fd2FpdGluZ1RvRW50ZXJGdWxsc2NyZWVuID0gZmFs
c2U7CiAgICAgc2NoZWR1bGVVcGRhdGVQbGF5U3RhdGUoKTsKIH0KQEAgLTYzMzUsNyArNjMzOCw3
IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6dXBkYXRlVGV4dFRyYWNrUmVwcmVzZW50YXRpb25J
bWFnZUlmTmVlZGVkKCkKIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzZXRDbG9zZWRDYXB0aW9u
c1Zpc2libGUoYm9vbCBjbG9zZWRDYXB0aW9uVmlzaWJsZSkKIHsKLSAgICBJTkZPX0xPRyhMT0dJ
REVOVElGSUVSLCBjbG9zZWRDYXB0aW9uVmlzaWJsZSk7CisgICAgQUxXQVlTX0xPRyhMT0dJREVO
VElGSUVSLCBjbG9zZWRDYXB0aW9uVmlzaWJsZSk7CiAKICAgICBtX2Nsb3NlZENhcHRpb25zVmlz
aWJsZSA9IGZhbHNlOwogCkBAIC02Mzg4LDcgKzYzOTEsNyBAQCB1bnNpZ25lZCBIVE1MTWVkaWFF
bGVtZW50Ojp3ZWJraXRWaWRlb0RlY29kZWRCeXRlQ291bnQoKSBjb25zdAogdm9pZCBIVE1MTWVk
aWFFbGVtZW50OjptZWRpYUNhblN0YXJ0KERvY3VtZW50JiBkb2N1bWVudCkKIHsKICAgICBBU1NF
UlRfVU5VU0VEKGRvY3VtZW50LCAmZG9jdW1lbnQgPT0gJnRoaXMtPmRvY3VtZW50KCkpOwotICAg
IElORk9fTE9HKExPR0lERU5USUZJRVIsICJtX2lzV2FpdGluZ1VudGlsTWVkaWFDYW5TdGFydCA9
ICIsIG1faXNXYWl0aW5nVW50aWxNZWRpYUNhblN0YXJ0LCAiLCBtX3BhdXNlZEludGVybmFsID0g
IiwgbV9wYXVzZWRJbnRlcm5hbCk7CisgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSLCAid2Fp
dGluZyA9ICIsIG1faXNXYWl0aW5nVW50aWxNZWRpYUNhblN0YXJ0LCAiLCBwYXVzZWQgPSAiLCBt
X3BhdXNlZEludGVybmFsKTsKIAogICAgIEFTU0VSVChtX2lzV2FpdGluZ1VudGlsTWVkaWFDYW5T
dGFydCB8fCBtX3BhdXNlZEludGVybmFsKTsKICAgICBpZiAobV9pc1dhaXRpbmdVbnRpbE1lZGlh
Q2FuU3RhcnQpIHsKQEAgLTY0MDksNyArNjQxMiw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6
c2V0U2hvdWxkRGVsYXlMb2FkRXZlbnQoYm9vbCBzaG91bGREZWxheSkKICAgICBpZiAobV9zaG91
bGREZWxheUxvYWRFdmVudCA9PSBzaG91bGREZWxheSkKICAgICAgICAgcmV0dXJuOwogCi0gICAg
SU5GT19MT0coTE9HSURFTlRJRklFUiwgc2hvdWxkRGVsYXkpOworICAgIEFMV0FZU19MT0coTE9H
SURFTlRJRklFUiwgc2hvdWxkRGVsYXkpOwogCiAgICAgbV9zaG91bGREZWxheUxvYWRFdmVudCA9
IHNob3VsZERlbGF5OwogICAgIGlmIChzaG91bGREZWxheSkKQEAgLTc0NTMsMTQgKzc0NTYsMTQg
QEAgc2l6ZV90IEhUTUxNZWRpYUVsZW1lbnQ6Om1heGltdW1Tb3VyY2VCdWZmZXJTaXplKGNvbnN0
IFNvdXJjZUJ1ZmZlciYgYnVmZmVyKSBjb24KIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzdXNw
ZW5kUGxheWJhY2soKQogewotICAgIElORk9fTE9HKExPR0lERU5USUZJRVIsICJwYXVzZWQgPSAi
LCBwYXVzZWQoKSk7CisgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSLCAicGF1c2VkID0gIiwg
cGF1c2VkKCkpOwogICAgIGlmICghcGF1c2VkKCkpCiAgICAgICAgIHBhdXNlKCk7CiB9CiAKIHZv
aWQgSFRNTE1lZGlhRWxlbWVudDo6cmVzdW1lQXV0b3BsYXlpbmcoKQogewotICAgIElORk9fTE9H
KExPR0lERU5USUZJRVIsICJwYXVzZWQgPSAiLCBwYXVzZWQoKSk7CisgICAgQUxXQVlTX0xPRyhM
T0dJREVOVElGSUVSLCAicGF1c2VkID0gIiwgcGF1c2VkKCkpOwogICAgIG1fYXV0b3BsYXlpbmcg
PSB0cnVlOwogCiAgICAgaWYgKGNhblRyYW5zaXRpb25Gcm9tQXV0b3BsYXlUb1BsYXkoKSkKQEAg
LTc0NjksNyArNzQ3Miw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6cmVzdW1lQXV0b3BsYXlp
bmcoKQogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6Om1heVJlc3VtZVBsYXliYWNrKGJvb2wgc2hv
dWxkUmVzdW1lKQogewotICAgIElORk9fTE9HKExPR0lERU5USUZJRVIsICJwYXVzZWQgPSAiLCBw
YXVzZWQoKSk7CisgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSLCAicGF1c2VkID0gIiwgcGF1
c2VkKCkpOwogICAgIGlmIChwYXVzZWQoKSAmJiBzaG91bGRSZXN1bWUpCiAgICAgICAgIHBsYXko
KTsKIH0KQEAgLTc1MDgsNyArNzUxMSw3IEBAIE1lZGlhU2Vzc2lvbklkZW50aWZpZXIgSFRNTE1l
ZGlhRWxlbWVudDo6bWVkaWFTZXNzaW9uVW5pcXVlSWRlbnRpZmllcigpIGNvbnN0CiAKIHZvaWQg
SFRNTE1lZGlhRWxlbWVudDo6ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFBsYXRmb3Jt
TWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUgY29tbWFuZCwgY29uc3QgUGxh
dGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCogYXJndW1lbnQpCiB7Ci0g
ICAgSU5GT19MT0coTE9HSURFTlRJRklFUiwgY29tbWFuZCk7CisgICAgQUxXQVlTX0xPRyhMT0dJ
REVOVElGSUVSLCBjb21tYW5kKTsKIAogICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIHJlbW90ZUNv
bnRyb2xVc2VyR2VzdHVyZShQcm9jZXNzaW5nVXNlckdlc3R1cmUsICZkb2N1bWVudCgpKTsKICAg
ICBzd2l0Y2ggKGNvbW1hbmQpIHsKQEAgLTc3NTYsNyArNzc1OSw3IEBAIHZvaWQgSFRNTE1lZGlh
RWxlbWVudDo6c2V0QnVmZmVyaW5nUG9saWN5KEJ1ZmZlcmluZ1BvbGljeSBwb2xpY3kpCiAgICAg
aWYgKHBvbGljeSA9PSBtX2J1ZmZlcmluZ1BvbGljeSkKICAgICAgICAgcmV0dXJuOwogCi0gICAg
SU5GT19MT0coTE9HSURFTlRJRklFUiwgcG9saWN5KTsKKyAgICBBTFdBWVNfTE9HKExPR0lERU5U
SUZJRVIsIHBvbGljeSk7CiAKICAgICBtX2J1ZmZlcmluZ1BvbGljeSA9IHBvbGljeTsKICAgICBp
ZiAobV9wbGF5ZXIpCkBAIC03NzY1LDEzICs3NzY4LDEzIEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVu
dDo6c2V0QnVmZmVyaW5nUG9saWN5KEJ1ZmZlcmluZ1BvbGljeSBwb2xpY3kpCiAKIHZvaWQgSFRN
TE1lZGlhRWxlbWVudDo6cHVyZ2VCdWZmZXJlZERhdGFJZlBvc3NpYmxlKCkKIHsKLSAgICBJTkZP
X0xPRyhMT0dJREVOVElGSUVSKTsKKyAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIpOwogCiAg
ICAgaWYgKCFNZW1vcnlQcmVzc3VyZUhhbmRsZXI6OnNpbmdsZXRvbigpLmlzVW5kZXJNZW1vcnlQ
cmVzc3VyZSgpICYmIG1fbWVkaWFTZXNzaW9uLT5wcmVmZXJyZWRCdWZmZXJpbmdQb2xpY3koKSA9
PSBCdWZmZXJpbmdQb2xpY3k6OkRlZmF1bHQpCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmIChp
c1BsYXlpbmdUb0V4dGVybmFsVGFyZ2V0KCkpIHsKLSAgICAgICAgSU5GT19MT0coTE9HSURFTlRJ
RklFUiwgImVhcmx5IHJldHVybiBiZWNhdXNlIHBsYXlpbmcgdG8gd2lyZWxlc3MgdGFyZ2V0Iik7
CisgICAgICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUiwgImVhcmx5IHJldHVybiBiZWNhdXNl
IHBsYXlpbmcgdG8gd2lyZWxlc3MgdGFyZ2V0Iik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFT
ZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFT
ZXNzaW9uLmNwcAppbmRleCA4ZTdmOGMxMmJlOTVlZWZhYTc3MDQzNjAwMzIxMDZhNWJlOTg5OTk1
Li5hYzA1MWUwYWU2M2EwNTM5YmNjZGZhMjFmZjVhNjMyNjEzZmVjN2QxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uY3Bw
CkBAIC02Niw2ICs2Niw3IEBAIFN0cmluZyBjb252ZXJ0RW51bWVyYXRpb25Ub1N0cmluZyhQbGF0
Zm9ybU1lZGlhU2Vzc2lvbjo6SW50ZXJydXB0aW9uVHlwZSB0eXBlKQogICAgICAgICBNQUtFX1NU
QVRJQ19TVFJJTkdfSU1QTCgiU3VzcGVuZGVkVW5kZXJMb2NrIiksCiAgICAgICAgIE1BS0VfU1RB
VElDX1NUUklOR19JTVBMKCJJbnZpc2libGVBdXRvcGxheSIpLAogICAgICAgICBNQUtFX1NUQVRJ
Q19TVFJJTkdfSU1QTCgiUHJvY2Vzc0luYWN0aXZlIiksCisgICAgICAgIE1BS0VfU1RBVElDX1NU
UklOR19JTVBMKCJQbGF5YmFja1N1c3BlbmRlZCIpLAogICAgIH07CiAgICAgc3RhdGljX2Fzc2Vy
dCghc3RhdGljX2Nhc3Q8c2l6ZV90PihQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6Tm9JbnRlcnJ1cHRp
b24pLCAiUGxhdGZvcm1NZWRpYVNlc3Npb246Ok5vSW50ZXJydXB0aW9uIGlzIG5vdCAwIGFzIGV4
cGVjdGVkIik7CiAgICAgc3RhdGljX2Fzc2VydChzdGF0aWNfY2FzdDxzaXplX3Q+KFBsYXRmb3Jt
TWVkaWFTZXNzaW9uOjpTeXN0ZW1TbGVlcCkgPT0gMSwgIlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpT
eXN0ZW1TbGVlcCBpcyBub3QgMSBhcyBleHBlY3RlZCIpOwpAQCAtNzQsNiArNzUsNyBAQCBTdHJp
bmcgY29udmVydEVudW1lcmF0aW9uVG9TdHJpbmcoUGxhdGZvcm1NZWRpYVNlc3Npb246OkludGVy
cnVwdGlvblR5cGUgdHlwZSkKICAgICBzdGF0aWNfYXNzZXJ0KHN0YXRpY19jYXN0PHNpemVfdD4o
UGxhdGZvcm1NZWRpYVNlc3Npb246OlN1c3BlbmRlZFVuZGVyTG9jaykgPT0gNCwgIlBsYXRmb3Jt
TWVkaWFTZXNzaW9uOjpTdXNwZW5kZWRVbmRlckxvY2sgaXMgbm90IDQgYXMgZXhwZWN0ZWQiKTsK
ICAgICBzdGF0aWNfYXNzZXJ0KHN0YXRpY19jYXN0PHNpemVfdD4oUGxhdGZvcm1NZWRpYVNlc3Np
b246OkludmlzaWJsZUF1dG9wbGF5KSA9PSA1LCAiUGxhdGZvcm1NZWRpYVNlc3Npb246Okludmlz
aWJsZUF1dG9wbGF5IGlzIG5vdCA1IGFzIGV4cGVjdGVkIik7CiAgICAgc3RhdGljX2Fzc2VydChz
dGF0aWNfY2FzdDxzaXplX3Q+KFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpQcm9jZXNzSW5hY3RpdmUp
ID09IDYsICJQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UHJvY2Vzc0luYWN0aXZlIGlzIG5vdCA2IGFz
IGV4cGVjdGVkIik7CisgICAgc3RhdGljX2Fzc2VydChzdGF0aWNfY2FzdDxzaXplX3Q+KFBsYXRm
b3JtTWVkaWFTZXNzaW9uOjpQbGF5YmFja1N1c3BlbmRlZCkgPT0gNywgIlBsYXRmb3JtTWVkaWFT
ZXNzaW9uOjpQbGF5YmFja1N1c3BlbmRlZCBpcyBub3QgNyBhcyBleHBlY3RlZCIpOwogICAgIEFT
U0VSVChzdGF0aWNfY2FzdDxzaXplX3Q+KHR5cGUpIDwgV1RGX0FSUkFZX0xFTkdUSCh2YWx1ZXMp
KTsKICAgICByZXR1cm4gdmFsdWVzW3N0YXRpY19jYXN0PHNpemVfdD4odHlwZSldOwogfQpAQCAt
MTM5LDcgKzE0MSw3IEBAIHZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb246OnNldFN0YXRlKFN0YXRl
IHN0YXRlKQogICAgIGlmIChzdGF0ZSA9PSBtX3N0YXRlKQogICAgICAgICByZXR1cm47CiAKLSAg
ICBJTkZPX0xPRyhMT0dJREVOVElGSUVSLCBzdGF0ZSk7CisgICAgQUxXQVlTX0xPRyhMT0dJREVO
VElGSUVSLCBzdGF0ZSk7CiAgICAgbV9zdGF0ZSA9IHN0YXRlOwogICAgIGlmIChtX3N0YXRlID09
IFN0YXRlOjpQbGF5aW5nKQogICAgICAgICBtX2hhc1BsYXllZFNpbmNlTGFzdEludGVycnVwdGlv
biA9IHRydWU7CkBAIC0xNDgsNyArMTUwLDcgQEAgdm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6
c2V0U3RhdGUoU3RhdGUgc3RhdGUpCiAKIHZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb246OmJlZ2lu
SW50ZXJydXB0aW9uKEludGVycnVwdGlvblR5cGUgdHlwZSkKIHsKLSAgICBJTkZPX0xPRyhMT0dJ
REVOVElGSUVSLCAic3RhdGUgPSAiLCBtX3N0YXRlLCAiLCBpbnRlcnJ1cHRpb24gdHlwZSA9ICIs
IHR5cGUsICIsIGludGVycnVwdGlvbiBjb3VudCA9ICIsIG1faW50ZXJydXB0aW9uQ291bnQpOwor
ICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUiwgInN0YXRlID0gIiwgbV9zdGF0ZSwgIiwgaW50
ZXJydXB0aW9uIHR5cGUgPSAiLCB0eXBlLCAiLCBpbnRlcnJ1cHRpb24gY291bnQgPSAiLCBtX2lu
dGVycnVwdGlvbkNvdW50KTsKIAogICAgIC8vIFdoZW4gaW50ZXJydXB0aW9ucyBhcmUgb3ZlcnJp
ZGRlbiwgbV9pbnRlcnJ1cHRpb25UeXBlIGRvZXNuJ3QgZ2V0IHNldC4KICAgICAvLyBHaXZlIG5l
c3RlZCBpbnRlcnJ1cHRpb25zIGEgY2hhbmNlIHdoZW4gdGhlIHByZXZpb3VzIGludGVycnVwdGlv
bnMgd2VyZSBvdmVycmlkZGVuLgpAQCAtMTU2LDcgKzE1OCw3IEBAIHZvaWQgUGxhdGZvcm1NZWRp
YVNlc3Npb246OmJlZ2luSW50ZXJydXB0aW9uKEludGVycnVwdGlvblR5cGUgdHlwZSkKICAgICAg
ICAgcmV0dXJuOwogCiAgICAgaWYgKGNsaWVudCgpLnNob3VsZE92ZXJyaWRlQmFja2dyb3VuZFBs
YXliYWNrUmVzdHJpY3Rpb24odHlwZSkpIHsKLSAgICAgICAgSU5GT19MT0coTE9HSURFTlRJRklF
UiwgInJldHVybmluZyBlYXJseSBiZWNhdXNlIGNsaWVudCBzYXlzIHRvIG92ZXJyaWRlIGludGVy
cnVwdGlvbiIpOworICAgICAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIsICJyZXR1cm5pbmcg
ZWFybHkgYmVjYXVzZSBjbGllbnQgc2F5cyB0byBvdmVycmlkZSBpbnRlcnJ1cHRpb24iKTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMTcwLDEwICsxNzIsMTAgQEAgdm9pZCBQbGF0Zm9y
bU1lZGlhU2Vzc2lvbjo6YmVnaW5JbnRlcnJ1cHRpb24oSW50ZXJydXB0aW9uVHlwZSB0eXBlKQog
CiB2b2lkIFBsYXRmb3JtTWVkaWFTZXNzaW9uOjplbmRJbnRlcnJ1cHRpb24oRW5kSW50ZXJydXB0
aW9uRmxhZ3MgZmxhZ3MpCiB7Ci0gICAgSU5GT19MT0coTE9HSURFTlRJRklFUiwgImZsYWdzID0g
IiwgKGludClmbGFncywgIiwgc3RhdGVUb1Jlc3RvcmUgPSAiLCBtX3N0YXRlVG9SZXN0b3JlLCAi
LCBpbnRlcnJ1cHRpb24gY291bnQgPSAiLCBtX2ludGVycnVwdGlvbkNvdW50KTsKKyAgICBBTFdB
WVNfTE9HKExPR0lERU5USUZJRVIsICJmbGFncyA9ICIsIChpbnQpZmxhZ3MsICIsIHN0YXRlVG9S
ZXN0b3JlID0gIiwgbV9zdGF0ZVRvUmVzdG9yZSwgIiwgaW50ZXJydXB0aW9uIGNvdW50ID0gIiwg
bV9pbnRlcnJ1cHRpb25Db3VudCk7CiAKICAgICBpZiAoIW1faW50ZXJydXB0aW9uQ291bnQpIHsK
LSAgICAgICAgSU5GT19MT0coTE9HSURFTlRJRklFUiwgIiEhIGlnbm9yaW5nIHNwdXJpb3VzIGlu
dGVycnVwdGlvbiBlbmQgISEiKTsKKyAgICAgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSLCAi
ISEgaWdub3Jpbmcgc3B1cmlvdXMgaW50ZXJydXB0aW9uIGVuZCAhISIpOwogICAgICAgICByZXR1
cm47CiAgICAgfQogCkBAIC0yMDAsMTAgKzIwMiwxMCBAQCB2b2lkIFBsYXRmb3JtTWVkaWFTZXNz
aW9uOjpjbGllbnRXaWxsQmVnaW5BdXRvcGxheWluZygpCiAgICAgaWYgKG1fbm90aWZ5aW5nQ2xp
ZW50KQogICAgICAgICByZXR1cm47CiAKLSAgICBJTkZPX0xPRyhMT0dJREVOVElGSUVSLCAic3Rh
dGUgPSAiLCBtX3N0YXRlKTsKKyAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIsICJzdGF0ZSA9
ICIsIG1fc3RhdGUpOwogICAgIGlmIChzdGF0ZSgpID09IEludGVycnVwdGVkKSB7CiAgICAgICAg
IG1fc3RhdGVUb1Jlc3RvcmUgPSBBdXRvcGxheWluZzsKLSAgICAgICAgSU5GT19MT0coTE9HSURF
TlRJRklFUiwgIiAgICAgIHNldHRpbmcgc3RhdGVUb1Jlc3RvcmUgdG8gXCJBdXRvcGxheWluZ1wi
Iik7CisgICAgICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUiwgIiAgICAgIHNldHRpbmcgc3Rh
dGVUb1Jlc3RvcmUgdG8gXCJBdXRvcGxheWluZ1wiIik7CiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKQEAgLTIxNSw3ICsyMTcsNyBAQCBib29sIFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpjbGllbnRX
aWxsQmVnaW5QbGF5YmFjaygpCiAgICAgaWYgKG1fbm90aWZ5aW5nQ2xpZW50KQogICAgICAgICBy
ZXR1cm4gdHJ1ZTsKIAotICAgIElORk9fTE9HKExPR0lERU5USUZJRVIsICJzdGF0ZSA9ICIsIG1f
c3RhdGUpOworICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUiwgInN0YXRlID0gIiwgbV9zdGF0
ZSk7CiAKICAgICBpZiAoIW1fbWFuYWdlci0+c2Vzc2lvbldpbGxCZWdpblBsYXliYWNrKCp0aGlz
KSkgewogICAgICAgICBpZiAoc3RhdGUoKSA9PSBJbnRlcnJ1cHRlZCkKQEAgLTIzMiwxMCArMjM0
LDEwIEBAIGJvb2wgUGxhdGZvcm1NZWRpYVNlc3Npb246OnByb2Nlc3NDbGllbnRXaWxsUGF1c2VQ
bGF5YmFjayhEZWxheUNhbGxpbmdVcGRhdGVOb3dQCiAgICAgaWYgKG1fbm90aWZ5aW5nQ2xpZW50
KQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIElORk9fTE9HKExPR0lERU5USUZJRVIsICJz
dGF0ZSA9ICIsIG1fc3RhdGUpOworICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUiwgInN0YXRl
ID0gIiwgbV9zdGF0ZSk7CiAgICAgaWYgKHN0YXRlKCkgPT0gSW50ZXJydXB0ZWQpIHsKICAgICAg
ICAgbV9zdGF0ZVRvUmVzdG9yZSA9IFBhdXNlZDsKLSAgICAgICAgSU5GT19MT0coTE9HSURFTlRJ
RklFUiwgIiAgICAgIHNldHRpbmcgc3RhdGVUb1Jlc3RvcmUgdG8gXCJQYXVzZWRcIiIpOworICAg
ICAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIsICIgICAgICBzZXR0aW5nIHN0YXRlVG9SZXN0
b3JlIHRvIFwiUGF1c2VkXCIiKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KICAgICAK
QEAgLTI0NiwyMyArMjQ4LDI1IEBAIGJvb2wgUGxhdGZvcm1NZWRpYVNlc3Npb246OnByb2Nlc3ND
bGllbnRXaWxsUGF1c2VQbGF5YmFjayhEZWxheUNhbGxpbmdVcGRhdGVOb3dQCiAKIGJvb2wgUGxh
dGZvcm1NZWRpYVNlc3Npb246OmNsaWVudFdpbGxQYXVzZVBsYXliYWNrKCkKIHsKKyAgICBBTFdB
WVNfTE9HKExPR0lERU5USUZJRVIpOwogICAgIHJldHVybiBwcm9jZXNzQ2xpZW50V2lsbFBhdXNl
UGxheWJhY2soRGVsYXlDYWxsaW5nVXBkYXRlTm93UGxheWluZzo6Tm8pOwogfQogCiB2b2lkIFBs
YXRmb3JtTWVkaWFTZXNzaW9uOjpjbGllbnRXaWxsQmVET01TdXNwZW5kZWQoKQogeworICAgIEFM
V0FZU19MT0coTE9HSURFTlRJRklFUik7CiAgICAgcHJvY2Vzc0NsaWVudFdpbGxQYXVzZVBsYXli
YWNrKERlbGF5Q2FsbGluZ1VwZGF0ZU5vd1BsYXlpbmc6Olllcyk7CiB9CiAKIHZvaWQgUGxhdGZv
cm1NZWRpYVNlc3Npb246OnBhdXNlU2Vzc2lvbigpCiB7Ci0gICAgSU5GT19MT0coTE9HSURFTlRJ
RklFUik7CisgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSKTsKICAgICBtX2NsaWVudC5zdXNw
ZW5kUGxheWJhY2soKTsKIH0KIAogdm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6c3RvcFNlc3Np
b24oKQogewotICAgIElORk9fTE9HKExPR0lERU5USUZJRVIpOworICAgIEFMV0FZU19MT0coTE9H
SURFTlRJRklFUik7CiAgICAgbV9jbGllbnQuc3VzcGVuZFBsYXliYWNrKCk7CiAgICAgbV9tYW5h
Z2VyLT5yZW1vdmVTZXNzaW9uKCp0aGlzKTsKIH0KQEAgLTI4NCw3ICsyODgsNyBAQCBib29sIFBs
YXRmb3JtTWVkaWFTZXNzaW9uOjpjYW5SZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmRzKCkgY29u
c3QKIAogdm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xD
b21tYW5kKFJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSBjb21tYW5kLCBjb25zdCBQbGF0Zm9ybU1l
ZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50KiBhcmd1bWVudCkKIHsKLSAgICBJTkZP
X0xPRyhMT0dJREVOVElGSUVSLCBjb21tYW5kKTsKKyAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJ
RVIsIGNvbW1hbmQpOwogCiAgICAgbV9jbGllbnQuZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21t
YW5kKGNvbW1hbmQsIGFyZ3VtZW50KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL2lvcy9mdWxsc2NyZWVuL1dLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXJJT1MubW0g
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvZnVsbHNjcmVlbi9XS0Z1bGxTY3JlZW5XaW5k
b3dDb250cm9sbGVySU9TLm1tCmluZGV4IDkxNjRlZWU3YzlkZWM4MzVlNDAzMGUzMzg5ODhhY2E0
YTgyN2I5YzMuLmRkYmRkMTgwNDgyMDk4MjBiZTQ4YzNlMDA1MmE0MjkzZDU5OWYwZjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mdWxsc2NyZWVuL1dLRnVsbFNjcmVl
bldpbmRvd0NvbnRyb2xsZXJJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L2Z1bGxzY3JlZW4vV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxlcklPUy5tbQpAQCAtMTA1MCw2
ICsxMDUwLDExIEBAIHN0YXRpYyBSZXRhaW5QdHI8VUlXaW5kb3c+IG1ha2VXaW5kb3dGcm9tVmll
dyhVSVZpZXcgKikKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorICAgIGlmIChfaW50ZXJhY3Rp
dmVQaW5jaERpc21pc3NHZXN0dXJlUmVjb2duaXplci5nZXQoKS5zdGF0ZSA9PSBVSUdlc3R1cmVS
ZWNvZ25pemVyU3RhdGVDYW5jZWxsZWQpIHsKKyAgICAgICAgW19pbnRlcmFjdGl2ZURpc21pc3NU
cmFuc2l0aW9uQ29vcmRpbmF0b3IgY2FuY2VsSW50ZXJhY3RpdmVUcmFuc2l0aW9uXTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKwogICAgIENHRmxvYXQgc2NhbGUgPSBbX2ludGVyYWN0aXZlUGlu
Y2hEaXNtaXNzR2VzdHVyZVJlY29nbml6ZXIgc2NhbGVdOwogICAgIENHRmxvYXQgdmVsb2NpdHkg
PSBbX2ludGVyYWN0aXZlUGluY2hEaXNtaXNzR2VzdHVyZVJlY29nbml6ZXIgdmVsb2NpdHldOwog
ICAgIENHRmxvYXQgcHJvZ3Jlc3MgPSBzdGQ6Om1pbigxLiwgc3RkOjptYXgoMC4sIDEgLSBzY2Fs
ZSkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399844</attachid>
            <date>2020-05-20 09:25:46 -0700</date>
            <delta_ts>2020-05-20 10:24:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-212109-20200520092546.patch</filename>
            <type>text/plain</type>
            <size>1743</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxOTI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDA0MTcwMmI4MWU0MDczNjMz
ZmY2ZDQyZmJlN2ViMWI5MjQwYjEwMWIuLjc5NzBmMGZjNjM3ZGY1YWJjOTYzOGFiMzlhYzhhZTdi
ZTNmMjAxMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjAtMDUtMjAgIEVyaWMgQ2Fy
bHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgVXBkYXRlIHNvbWUgbWVk
aWEgbG9nZ2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjEyMTA5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82MzQyNDgxNj4KKworICAgICAgICBV
bnJldmlld2VkLCByZW1vdmUgYSBjaGFuZ2UgdW5pbnRlbnRpb25hbGx5IGluY2x1ZGVkIGluIHIy
NjE4OTkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL2Z1bGxzY3JlZW4vV0tGdWxsU2NyZWVu
V2luZG93Q29udHJvbGxlcklPUy5tbToKKyAgICAgICAgKC1bV0tGdWxsU2NyZWVuV2luZG93Q29u
dHJvbGxlciBfaW50ZXJhY3RpdmVQaW5jaERpc21pc3NDaGFuZ2VkOl0pOgorCiAyMDIwLTA1LTIw
ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBbTWFjXSBVSSBwcm9j
ZXNzZXMgc3BpbiB3aGVuIGNyZWF0aW5nIHRoZSAiU2hhcmUiIGNvbnRleHQgbWVudSBpdGVtCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvZnVsbHNjcmVlbi9XS0Z1bGxT
Y3JlZW5XaW5kb3dDb250cm9sbGVySU9TLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L2Z1bGxzY3JlZW4vV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxlcklPUy5tbQppbmRleCBkZGJk
ZDE4MDQ4MjA5ODIwYmU0OGMzZTAwNTJhNDI5M2Q1OTlmMGYzLi45MTY0ZWVlN2M5ZGVjODM1ZTQw
MzBlMzM4OTg4YWNhNGE4MjdiOWMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9pb3MvZnVsbHNjcmVlbi9XS0Z1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVySU9TLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mdWxsc2NyZWVuL1dLRnVsbFNjcmVlbldpbmRv
d0NvbnRyb2xsZXJJT1MubW0KQEAgLTEwNTAsMTEgKzEwNTAsNiBAQCBzdGF0aWMgUmV0YWluUHRy
PFVJV2luZG93PiBtYWtlV2luZG93RnJvbVZpZXcoVUlWaWV3ICopCiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAKLSAgICBpZiAoX2ludGVyYWN0aXZlUGluY2hEaXNtaXNzR2VzdHVyZVJlY29nbml6
ZXIuZ2V0KCkuc3RhdGUgPT0gVUlHZXN0dXJlUmVjb2duaXplclN0YXRlQ2FuY2VsbGVkKSB7Ci0g
ICAgICAgIFtfaW50ZXJhY3RpdmVEaXNtaXNzVHJhbnNpdGlvbkNvb3JkaW5hdG9yIGNhbmNlbElu
dGVyYWN0aXZlVHJhbnNpdGlvbl07Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KICAgICBDR0Zs
b2F0IHNjYWxlID0gW19pbnRlcmFjdGl2ZVBpbmNoRGlzbWlzc0dlc3R1cmVSZWNvZ25pemVyIHNj
YWxlXTsKICAgICBDR0Zsb2F0IHZlbG9jaXR5ID0gW19pbnRlcmFjdGl2ZVBpbmNoRGlzbWlzc0dl
c3R1cmVSZWNvZ25pemVyIHZlbG9jaXR5XTsKICAgICBDR0Zsb2F0IHByb2dyZXNzID0gc3RkOjpt
aW4oMS4sIHN0ZDo6bWF4KDAuLCAxIC0gc2NhbGUpKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>