<?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>175391</bug_id>
          
          <creation_ts>2017-08-09 11:22:07 -0700</creation_ts>
          <short_desc>Teach ScriptExecutionContexts about their SessionID</short_desc>
          <delta_ts>2017-08-09 13:26:44 -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>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=174541</see_also>
          <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="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>aestes</cc>
    
    <cc>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kangil.han</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1337056</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-08-09 11:22:07 -0700</bug_when>
    <thetext>Teach ScriptExecutionContexts about their SessionID

Especially needed to expose SessionIDs to workers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1337070</commentid>
    <comment_count>1</comment_count>
      <attachid>317726</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-08-09 11:57:19 -0700</bug_when>
    <thetext>Created attachment 317726
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1337071</commentid>
    <comment_count>2</comment_count>
      <attachid>317726</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2017-08-09 12:05:10 -0700</bug_when>
    <thetext>Comment on attachment 317726
Patch

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

&gt; Source/WebCore/page/SessionID.cpp:61
&gt; +SessionID SessionID::isolatedCopy() const
&gt; +{
&gt; +    return SessionID { m_sessionID };
&gt; +}

Seems like you could just do a regular copy-by-value in WorkerThreadStartupData instead of adding this, since there&apos;s no actual isolated copying going on here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1337088</commentid>
    <comment_count>3</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-08-09 12:56:14 -0700</bug_when>
    <thetext>(In reply to Andy Estes from comment #2)
&gt; Comment on attachment 317726 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=317726&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/page/SessionID.cpp:61
&gt; &gt; +SessionID SessionID::isolatedCopy() const
&gt; &gt; +{
&gt; &gt; +    return SessionID { m_sessionID };
&gt; &gt; +}
&gt; 
&gt; Seems like you could just do a regular copy-by-value in
&gt; WorkerThreadStartupData instead of adding this, since there&apos;s no actual
&gt; isolated copying going on here.

I much prefer future proofing (future resisting?) any class that is passed cross thread.

By having isolatedCopy() in the SessionID.h header, it suggests to anybody adding any future arguments that they need to account for them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1337090</commentid>
    <comment_count>4</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-08-09 13:04:45 -0700</bug_when>
    <thetext>(In reply to Brady Eidson from comment #3)
&gt; (In reply to Andy Estes from comment #2)
&gt; &gt; Comment on attachment 317726 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=317726&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/page/SessionID.cpp:61
&gt; &gt; &gt; +SessionID SessionID::isolatedCopy() const
&gt; &gt; &gt; +{
&gt; &gt; &gt; +    return SessionID { m_sessionID };
&gt; &gt; &gt; +}
&gt; &gt; 
&gt; &gt; Seems like you could just do a regular copy-by-value in
&gt; &gt; WorkerThreadStartupData instead of adding this, since there&apos;s no actual
&gt; &gt; isolated copying going on here.
&gt; 
&gt; I much prefer future proofing (future resisting?) any class that is passed
&gt; cross thread.
&gt; 
&gt; By having isolatedCopy() in the SessionID.h header, it suggests to anybody
&gt; adding any future arguments that they need to account for them.

s/future arguments/future members/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1337097</commentid>
    <comment_count>5</comment_count>
      <attachid>317726</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-08-09 13:26:01 -0700</bug_when>
    <thetext>Comment on attachment 317726
Patch

Clearing flags on attachment: 317726

Committed r220475: &lt;http://trac.webkit.org/changeset/220475&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1337098</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-08-09 13:26:03 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1337099</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-08-09 13:26:44 -0700</bug_when>
    <thetext>&lt;rdar://problem/33809118&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>317726</attachid>
            <date>2017-08-09 11:57:19 -0700</date>
            <delta_ts>2017-08-09 13:26:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175391-20170809115718.patch</filename>
            <type>text/plain</type>
            <size>32477</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIwNDU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWI1NGNlMTcxNmYyMDZj
NDAwNzAyYzJlZWIwYzdkNTVlYmNkNDhiNC4uNDM1MDZiMDA4NWU0NmQxZTRiZjU3NDI0YjBlY2I4
YmRhNWE5ZThhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDE3LTA4LTA5ICBCcmFk
eSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBUZWFjaCBTY3JpcHRFeGVj
dXRpb25Db250ZXh0cyBhYm91dCB0aGVpciBTZXNzaW9uSUQuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzUzOTEKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMgKE5vIGN1cnJlbnQgY2hh
bmdlIGluIGJlaGF2aW9yKS4KKworICAgICAgICBUdXJucyBvdXQgdGhhdCBXb3JrZXJzIG5lZWQg
dG8ga25vdyB0aGVpciBTZXNzaW9uSUQgZm9yIGZ1dHVyZSBmZWF0dXJlIGRldmVsb3BtZW50Lgor
ICAgICAgICBTbyBsZXQncyB0ZWFjaCBpdCB0byB0aGVtLgorCisgICAgICAgICogZG9tL1Njcmlw
dEV4ZWN1dGlvbkNvbnRleHQuaDogRXhwb3NlIGEgcHVyZSB2aXJ0dWFsIFNlc3Npb25JRCBhY2Nl
c3Nvci4KKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6c2Vzc2lvbklEIGNvbnN0KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKwor
ICAgICAgICAqIHBhZ2UvU2Vzc2lvbklELmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlc3Npb25J
RDo6aXNvbGF0ZWRDb3B5IGNvbnN0KToKKyAgICAgICAgKiBwYWdlL1Nlc3Npb25JRC5oOgorCisg
ICAgICAgICogd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZTo6Y3JlYXRlKToKKyAgICAgICAg
KFdlYkNvcmU6OkRlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlOjpEZWRpY2F0ZWRXb3JrZXJHbG9i
YWxTY29wZSk6CisgICAgICAgICogd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5o
OgorCisgICAgICAgICogd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RGVkaWNhdGVkV29ya2VyVGhyZWFkOjpEZWRpY2F0ZWRXb3JrZXJUaHJlYWQp
OgorICAgICAgICAoV2ViQ29yZTo6RGVkaWNhdGVkV29ya2VyVGhyZWFkOjpjcmVhdGVXb3JrZXJH
bG9iYWxTY29wZSk6CisgICAgICAgICogd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuaDoK
KworICAgICAgICAqIHdvcmtlcnMvV29ya2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtl
cjo6bm90aWZ5RmluaXNoZWQpOgorCisgICAgICAgICogd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29w
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZTo6V29ya2VyR2xvYmFs
U2NvcGUpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaDoKKworICAgICAg
ICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oOgorCisgICAgICAgICogd29ya2Vy
cy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJNZXNz
YWdpbmdQcm94eTo6c3RhcnRXb3JrZXJHbG9iYWxTY29wZSk6CisgICAgICAgICogd29ya2Vycy9X
b3JrZXJNZXNzYWdpbmdQcm94eS5oOgorCisgICAgICAgICogd29ya2Vycy9Xb3JrZXJUaHJlYWQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyVGhyZWFkU3RhcnR1cERhdGE6OldvcmtlclRo
cmVhZFN0YXJ0dXBEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclRocmVhZDo6V29ya2Vy
VGhyZWFkKToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclRocmVhZDo6d29ya2VyVGhyZWFkKToK
KyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclRocmVhZC5oOgorCiAyMDE3LTA4LTA5ICBNczJnZXIg
IDxNczJnZXJAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZW1vdmUgdW5uZWNlc3NhcnkgY29waWVz
IG9mIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6bV9zZXNzaW9ucwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKaW5kZXggNDE0ZGFjZDc4NTY1ZGI4YjM4MTA1MDJiYTk0NjM3N2NkMGQ0NzMwOS4u
NTMwOTMyNGU0NmFhZTdmMWU4ZTIxMWJjMGJhYjkwYTNiOWQzYWI3OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCkBAIC00Njg2LDYgKzQ2ODYsMTIgQEAgVVJMIERvY3VtZW50Ojpjb21wbGV0ZVVS
TChjb25zdCBTdHJpbmcmIHVybCkgY29uc3QKICAgICByZXR1cm4gY29tcGxldGVVUkwodXJsLCBt
X2Jhc2VVUkwpOwogfQogCitTZXNzaW9uSUQgRG9jdW1lbnQ6OnNlc3Npb25JRCgpIGNvbnN0Cit7
CisgICAgYXV0byogcGFnZSA9IHRoaXMtPnBhZ2UoKTsKKyAgICByZXR1cm4gcGFnZSA/IHBhZ2Ut
PnNlc3Npb25JRCgpIDogU2Vzc2lvbklEKCk7Cit9CisKIHZvaWQgRG9jdW1lbnQ6OnNldFBhZ2VD
YWNoZVN0YXRlKFBhZ2VDYWNoZVN0YXRlIHN0YXRlKQogewogICAgIGlmIChtX3BhZ2VDYWNoZVN0
YXRlID09IHN0YXRlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCBiNjBjNmVhOWQyZWQ4YmVlN2Fl
MGI3MWUwNDliZWY4NDAyOWZkMDRkLi5kNzVjYTA1YTk4YTg0MjBkZWJjNWIxYzEwYzBjZjg3Y2I5
MmRiMmRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtNjQ5LDYgKzY0OSw3IEBAIHB1YmxpYzoK
IAogICAgIFdFQkNPUkVfRVhQT1JUIFVSTCBjb21wbGV0ZVVSTChjb25zdCBTdHJpbmcmKSBjb25z
dCBmaW5hbDsKICAgICBVUkwgY29tcGxldGVVUkwoY29uc3QgU3RyaW5nJiwgY29uc3QgVVJMJiBi
YXNlVVJMT3ZlcnJpZGUpIGNvbnN0OworICAgIFNlc3Npb25JRCBzZXNzaW9uSUQoKSBjb25zdCBm
aW5hbDsKIAogICAgIFN0cmluZyB1c2VyQWdlbnQoY29uc3QgVVJMJikgY29uc3QgZmluYWw7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCmluZGV4IGYzNTI4
OTBmYTY0ZGMxMWE5NDIwODg2MTgzNDQxZWZmYzgyZGQ1YmYuLmYwNzEzMzczNDdhMWRjMTcyMjlm
MzliOWVmNjQ5OTQ2Y2NkMjY0NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3Jp
cHRFeGVjdXRpb25Db250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1
dGlvbkNvbnRleHQuaApAQCAtNjEsNiArNjEsNyBAQCBjbGFzcyBQdWJsaWNVUkxNYW5hZ2VyOwog
Y2xhc3MgUmVqZWN0ZWRQcm9taXNlVHJhY2tlcjsKIGNsYXNzIFJlc291cmNlUmVxdWVzdDsKIGNs
YXNzIFNlY3VyaXR5T3JpZ2luOworY2xhc3MgU2Vzc2lvbklEOwogY2xhc3MgU29ja2V0UHJvdmlk
ZXI7CiBjbGFzcyBVUkw7CiAKQEAgLTgxLDYgKzgyLDcgQEAgcHVibGljOgogCiAgICAgdmlydHVh
bCBjb25zdCBVUkwmIHVybCgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIFVSTCBjb21wbGV0ZVVS
TChjb25zdCBTdHJpbmcmIHVybCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgU2Vzc2lvbklEIHNl
c3Npb25JRCgpIGNvbnN0ID0gMDsKIAogICAgIHZpcnR1YWwgU3RyaW5nIHVzZXJBZ2VudChjb25z
dCBVUkwmKSBjb25zdCA9IDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2Vz
c2lvbklELmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2Vzc2lvbklELmNwcAppbmRleCAwYjBh
NzM3MzY5YjcwMDU5MDkzMDM5YzU5MzAyMzhlNTFmNmY0ODMyLi4yZTE1OTUwOGM3MmQwMGE3ZmU2
Y2JmNTg3NzFjNGE1MTlkOWNlOTNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Nl
c3Npb25JRC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXNzaW9uSUQuY3BwCkBAIC01
NSw1ICs1NSw5IEBAIHZvaWQgU2Vzc2lvbklEOjplbmFibGVHZW5lcmF0aW9uUHJvdGVjdGlvbigp
CiAgICAgZ2VuZXJhdGlvblByb3RlY3Rpb25FbmFibGVkID0gdHJ1ZTsKIH0KIAorU2Vzc2lvbklE
IFNlc3Npb25JRDo6aXNvbGF0ZWRDb3B5KCkgY29uc3QKK3sKKyAgICByZXR1cm4gU2Vzc2lvbklE
IHsgbV9zZXNzaW9uSUQgfTsKK30KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXNzaW9uSUQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
U2Vzc2lvbklELmgKaW5kZXggOTJhMzk1NzNkNjU5ZWMxNTkxZDMxZTQ5MjM5NWJmY2FjMmJkZDI0
OS4uMzc4ZjY4OWQxNzQ5Yzc0NDM4MmViODI2NzA1NDUzNmQxYzljMWQzYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9TZXNzaW9uSUQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1Nlc3Npb25JRC5oCkBAIC02NSw2ICs2NSw4IEBAIHB1YmxpYzoKICAgICB0ZW1wbGF0ZTxjbGFz
cyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CiAgICAgdGVtcGxhdGU8Y2xh
c3MgRGVjb2Rlcj4gc3RhdGljIGJvb2wgZGVjb2RlKERlY29kZXImLCBTZXNzaW9uSUQmKTsKIAor
ICAgIFNlc3Npb25JRCBpc29sYXRlZENvcHkoKSBjb25zdDsKKwogcHJpdmF0ZToKICAgICBleHBs
aWNpdCBTZXNzaW9uSUQodWludDY0X3Qgc2Vzc2lvbklEKQogICAgICAgICA6IG1fc2Vzc2lvbklE
KHNlc3Npb25JRCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVk
V29ya2VyR2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRX
b3JrZXJHbG9iYWxTY29wZS5jcHAKaW5kZXggY2I5YjYzNGQwMGM2YjY1YTMzMjBlMWQ4YmFlZDVi
NTdiNzk1YmE1MS4uN2I3M2Y1OTMzZGEyZjM3OTQ2Nzg2MGI5YTEzZDAzMTg5YThmODIxMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29w
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxT
Y29wZS5jcHAKQEAgLTQxLDE2ICs0MSwxNiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVJl
ZjxEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZT4gRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6
OmNyZWF0ZShjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBT
dHJpbmcmIHVzZXJBZ2VudCwgRGVkaWNhdGVkV29ya2VyVGhyZWFkJiB0aHJlYWQsIGNvbnN0IENv
bnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5
UmVzcG9uc2VIZWFkZXJzLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0
eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0
aW1lT3JpZ2luLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSogY29ubmVjdGlvblByb3h5
LCBTb2NrZXRQcm92aWRlciogc29ja2V0UHJvdmlkZXIpCitSZWY8RGVkaWNhdGVkV29ya2VyR2xv
YmFsU2NvcGU+IERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlOjpjcmVhdGUoY29uc3QgVVJMJiB1
cmwsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIERl
ZGljYXRlZFdvcmtlclRocmVhZCYgdGhyZWFkLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lS
ZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgYm9v
bCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0
eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgSURCQ2xpZW50
OjpJREJDb25uZWN0aW9uUHJveHkqIGNvbm5lY3Rpb25Qcm94eSwgU29ja2V0UHJvdmlkZXIqIHNv
Y2tldFByb3ZpZGVyLCBTZXNzaW9uSUQgc2Vzc2lvbklEKQogewotICAgIGF1dG8gY29udGV4dCA9
IGFkb3B0UmVmKCpuZXcgRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUodXJsLCBpZGVudGlmaWVy
LCB1c2VyQWdlbnQsIHRocmVhZCwgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5
UG9saWN5LCBXVEZNb3ZlKHRvcE9yaWdpbiksIHRpbWVPcmlnaW4sIGNvbm5lY3Rpb25Qcm94eSwg
c29ja2V0UHJvdmlkZXIpKTsKKyAgICBhdXRvIGNvbnRleHQgPSBhZG9wdFJlZigqbmV3IERlZGlj
YXRlZFdvcmtlckdsb2JhbFNjb3BlKHVybCwgaWRlbnRpZmllciwgdXNlckFnZW50LCB0aHJlYWQs
IHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgV1RGTW92ZSh0b3BP
cmlnaW4pLCB0aW1lT3JpZ2luLCBjb25uZWN0aW9uUHJveHksIHNvY2tldFByb3ZpZGVyLCBzZXNz
aW9uSUQpKTsKICAgICBpZiAoIXNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBv
bGljeSkKICAgICAgICAgY29udGV4dC0+YXBwbHlDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25z
ZUhlYWRlcnMoY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzKTsKICAgICByZXR1
cm4gY29udGV4dDsKIH0KIAotRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OkRlZGljYXRlZFdv
cmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIs
IGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQmIHRocmVhZCwg
Ym9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1
cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgSURCQ2xp
ZW50OjpJREJDb25uZWN0aW9uUHJveHkqIGNvbm5lY3Rpb25Qcm94eSwgU29ja2V0UHJvdmlkZXIq
IHNvY2tldFByb3ZpZGVyKQotICAgIDogV29ya2VyR2xvYmFsU2NvcGUodXJsLCBpZGVudGlmaWVy
LCB1c2VyQWdlbnQsIHRocmVhZCwgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5
UG9saWN5LCBXVEZNb3ZlKHRvcE9yaWdpbiksIHRpbWVPcmlnaW4sIGNvbm5lY3Rpb25Qcm94eSwg
c29ja2V0UHJvdmlkZXIpCitEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZTo6RGVkaWNhdGVkV29y
a2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwg
Y29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIERlZGljYXRlZFdvcmtlclRocmVhZCYgdGhyZWFkLCBi
b29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgUmVmPFNlY3Vy
aXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBJREJDbGll
bnQ6OklEQkNvbm5lY3Rpb25Qcm94eSogY29ubmVjdGlvblByb3h5LCBTb2NrZXRQcm92aWRlciog
c29ja2V0UHJvdmlkZXIsIFNlc3Npb25JRCBzZXNzaW9uSUQpCisgICAgOiBXb3JrZXJHbG9iYWxT
Y29wZSh1cmwsIGlkZW50aWZpZXIsIHVzZXJBZ2VudCwgdGhyZWFkLCBzaG91bGRCeXBhc3NNYWlu
V29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFdURk1vdmUodG9wT3JpZ2luKSwgdGltZU9yaWdp
biwgY29ubmVjdGlvblByb3h5LCBzb2NrZXRQcm92aWRlciwgc2Vzc2lvbklEKQogewogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNj
b3BlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3Bl
LmgKaW5kZXggYzg2ZThkZTFlNjVmOWZmMGQ0ZGQwZDIyODJmMDgzOGE1ZWVlN2U1Ni4uMmQ1MDhm
MWE4OTM2MWEyOGRjNDU3ZDBlNTczZmI0YjYxYjY0OWYzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaApAQCAtNDgsNyArNDgs
NyBAQCBjbGFzcyBTZXJpYWxpemVkU2NyaXB0VmFsdWU7CiAKIGNsYXNzIERlZGljYXRlZFdvcmtl
ckdsb2JhbFNjb3BlIGZpbmFsIDogcHVibGljIFdvcmtlckdsb2JhbFNjb3BlIHsKIHB1YmxpYzoK
LSAgICBzdGF0aWMgUmVmPERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlPiBjcmVhdGUoY29uc3Qg
VVJMJiwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwg
RGVkaWNhdGVkV29ya2VyVGhyZWFkJiwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9u
c2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xp
Y3ksIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9y
aWdpbiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqLCBTb2NrZXRQcm92aWRlciopOwor
ICAgIHN0YXRpYyBSZWY8RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU+IGNyZWF0ZShjb25zdCBV
UkwmLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBE
ZWRpY2F0ZWRXb3JrZXJUaHJlYWQmLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25z
ZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGlj
eSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3Jp
Z2luLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSosIFNvY2tldFByb3ZpZGVyKiwgU2Vz
c2lvbklEKTsKICAgICB2aXJ0dWFsIH5EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZSgpOwogCiAg
ICAgRXhjZXB0aW9uT3I8dm9pZD4gcG9zdE1lc3NhZ2UoSlNDOjpFeGVjU3RhdGUmLCBKU0M6OkpT
VmFsdWUgbWVzc2FnZSwgVmVjdG9yPEpTQzo6U3Ryb25nPEpTQzo6SlNPYmplY3Q+PiYmKTsKQEAg
LTU4LDcgKzU4LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICB1c2luZyBCYXNlID0gV29ya2Vy
R2xvYmFsU2NvcGU7CiAKLSAgICBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwm
LCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBEZWRp
Y2F0ZWRXb3JrZXJUaHJlYWQmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1
cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGlt
ZSB0aW1lT3JpZ2luLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSosIFNvY2tldFByb3Zp
ZGVyKik7CisgICAgRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiwgY29uc3Qg
U3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgRGVkaWNhdGVkV29y
a2VyVGhyZWFkJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xp
Y3ksIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9y
aWdpbiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqLCBTb2NrZXRQcm92aWRlciosIFNl
c3Npb25JRCk7CiAKICAgICBib29sIGlzRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUoKSBjb25z
dCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gaW1wb3J0U2Ny
aXB0cyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgdXJscykgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlclRocmVhZC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlclRocmVhZC5jcHAKaW5kZXggN2E1MTc0NWZlODEx
ODEwOWUwM2EzNDRmMzhiYzExOTNkYTdlNmMwYy4uYTQ4MzhiNDcwYjNmMDBkMzJjMWRmZDU0Yjcz
N2QwYmI1MjM4MWFmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0
ZWRXb3JrZXJUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVk
V29ya2VyVGhyZWFkLmNwcApAQCAtMzgsOCArMzgsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLURlZGljYXRlZFdvcmtlclRocmVhZDo6RGVkaWNhdGVkV29ya2VyVGhyZWFkKGNvbnN0IFVS
TCYgdXJsLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50
LCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIFdvcmtlckxvYWRlclByb3h5JiB3b3JrZXJMb2Fk
ZXJQcm94eSwgV29ya2VyT2JqZWN0UHJveHkmIHdvcmtlck9iamVjdFByb3h5LCBXb3JrZXJUaHJl
YWRTdGFydE1vZGUgc3RhcnRNb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25z
ZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgYm9vbCBzaG91
bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIGNvbnN0IFNlY3VyaXR5T3Jp
Z2luJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgSURCQ2xpZW50OjpJREJD
b25uZWN0aW9uUHJveHkqIGNvbm5lY3Rpb25Qcm94eSwgU29ja2V0UHJvdmlkZXIqIHNvY2tldFBy
b3ZpZGVyLCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1lRmxhZ3MpCi0gICAgOiBXb3JrZXJUaHJl
YWQodXJsLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIHNvdXJjZUNvZGUsIHdvcmtlckxvYWRlclBy
b3h5LCB3b3JrZXJPYmplY3RQcm94eSwgc3RhcnRNb2RlLCBjb250ZW50U2VjdXJpdHlQb2xpY3lS
ZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGlj
eSwgdG9wT3JpZ2luLCB0aW1lT3JpZ2luLCBjb25uZWN0aW9uUHJveHksIHNvY2tldFByb3ZpZGVy
LCBydW50aW1lRmxhZ3MpCitEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6OkRlZGljYXRlZFdvcmtlclRo
cmVhZChjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJp
bmcmIHVzZXJBZ2VudCwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBXb3JrZXJMb2FkZXJQcm94
eSYgd29ya2VyTG9hZGVyUHJveHksIFdvcmtlck9iamVjdFByb3h5JiB3b3JrZXJPYmplY3RQcm94
eSwgV29ya2VyVGhyZWFkU3RhcnRNb2RlIHN0YXJ0TW9kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5
UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRl
cnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBjb25z
dCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIElE
QkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBjb25uZWN0aW9uUHJveHksIFNvY2tldFByb3Zp
ZGVyKiBzb2NrZXRQcm92aWRlciwgSlNDOjpSdW50aW1lRmxhZ3MgcnVudGltZUZsYWdzLCBTZXNz
aW9uSUQgc2Vzc2lvbklEKQorICAgIDogV29ya2VyVGhyZWFkKHVybCwgaWRlbnRpZmllciwgdXNl
ckFnZW50LCBzb3VyY2VDb2RlLCB3b3JrZXJMb2FkZXJQcm94eSwgd29ya2VyT2JqZWN0UHJveHks
IHN0YXJ0TW9kZSwgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBzaG91bGRC
eXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIHRvcE9yaWdpbiwgdGltZU9yaWdp
biwgY29ubmVjdGlvblByb3h5LCBzb2NrZXRQcm92aWRlciwgcnVudGltZUZsYWdzLCBzZXNzaW9u
SUQpCiAgICAgLCBtX3dvcmtlck9iamVjdFByb3h5KHdvcmtlck9iamVjdFByb3h5KQogewogfQpA
QCAtNDgsOSArNDgsOSBAQCBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6On5EZWRpY2F0ZWRXb3JrZXJU
aHJlYWQoKQogewogfQogCi1SZWY8V29ya2VyR2xvYmFsU2NvcGU+IERlZGljYXRlZFdvcmtlclRo
cmVhZDo6Y3JlYXRlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0cmlu
ZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNvbnN0IENvbnRlbnRTZWN1
cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VI
ZWFkZXJzLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwg
UmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2lu
KQorUmVmPFdvcmtlckdsb2JhbFNjb3BlPiBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6OmNyZWF0ZVdv
cmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIs
IGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNw
b25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgYm9vbCBz
aG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0eU9y
aWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgU2Vzc2lvbklEIHNl
c3Npb25JRCkKIHsKLSAgICByZXR1cm4gRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OmNyZWF0
ZSh1cmwsIGlkZW50aWZpZXIsIHVzZXJBZ2VudCwgKnRoaXMsIGNvbnRlbnRTZWN1cml0eVBvbGlj
eVJlc3BvbnNlSGVhZGVycywgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9s
aWN5LCBXVEZNb3ZlKHRvcE9yaWdpbiksIHRpbWVPcmlnaW4sIGlkYkNvbm5lY3Rpb25Qcm94eSgp
LCBzb2NrZXRQcm92aWRlcigpKTsKKyAgICByZXR1cm4gRGVkaWNhdGVkV29ya2VyR2xvYmFsU2Nv
cGU6OmNyZWF0ZSh1cmwsIGlkZW50aWZpZXIsIHVzZXJBZ2VudCwgKnRoaXMsIGNvbnRlbnRTZWN1
cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNl
Y3VyaXR5UG9saWN5LCBXVEZNb3ZlKHRvcE9yaWdpbiksIHRpbWVPcmlnaW4sIGlkYkNvbm5lY3Rp
b25Qcm94eSgpLCBzb2NrZXRQcm92aWRlcigpLCBzZXNzaW9uSUQpOwogfQogCiB2b2lkIERlZGlj
YXRlZFdvcmtlclRocmVhZDo6cnVuRXZlbnRMb29wKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyVGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL0RlZGljYXRlZFdvcmtlclRocmVhZC5oCmluZGV4IDdjYWJkNThmZGI1YjExM2Y1NThkNGFj
ODRjMDlkZDg0NjFjZDVlYjguLmVjMDEyZjViZmEwNWMxNmJhM2Y3MTE0MmEzMGIwMmVmZTE4ZDZl
NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyVGhy
ZWFkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQu
aApAQCAtNDksMTEgKzQ5LDExIEBAIHB1YmxpYzoKICAgICBXb3JrZXJPYmplY3RQcm94eSYgd29y
a2VyT2JqZWN0UHJveHkoKSBjb25zdCB7IHJldHVybiBtX3dvcmtlck9iamVjdFByb3h5OyB9CiAK
IHByb3RlY3RlZDoKLSAgICBSZWY8V29ya2VyR2xvYmFsU2NvcGU+IGNyZWF0ZVdvcmtlckdsb2Jh
bFNjb3BlKGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5n
JiB1c2VyQWdlbnQsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYs
IGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2Vj
dXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4pIG92ZXJy
aWRlOworICAgIFJlZjxXb3JrZXJHbG9iYWxTY29wZT4gY3JlYXRlV29ya2VyR2xvYmFsU2NvcGUo
Y29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJB
Z2VudCwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBz
aG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0eU9y
aWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgU2Vzc2lvbklEKSBv
dmVycmlkZTsKICAgICB2b2lkIHJ1bkV2ZW50TG9vcCgpIG92ZXJyaWRlOwogCiBwcml2YXRlOgot
ICAgIERlZGljYXRlZFdvcmtlclRocmVhZChjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmIGlkZW50
aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUs
IFdvcmtlckxvYWRlclByb3h5JiwgV29ya2VyT2JqZWN0UHJveHkmLCBXb3JrZXJUaHJlYWRTdGFy
dE1vZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wg
c2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBjb25zdCBTZWN1cml0
eU9yaWdpbiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIElEQkNsaWVudDo6
SURCQ29ubmVjdGlvblByb3h5KiwgU29ja2V0UHJvdmlkZXIqLCBKU0M6OlJ1bnRpbWVGbGFncyk7
CisgICAgRGVkaWNhdGVkV29ya2VyVGhyZWFkKGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgaWRl
bnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNvbnN0IFN0cmluZyYgc291cmNlQ29k
ZSwgV29ya2VyTG9hZGVyUHJveHkmLCBXb3JrZXJPYmplY3RQcm94eSYsIFdvcmtlclRocmVhZFN0
YXJ0TW9kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9v
bCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIGNvbnN0IFNlY3Vy
aXR5T3JpZ2luJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgSURCQ2xpZW50
OjpJREJDb25uZWN0aW9uUHJveHkqLCBTb2NrZXRQcm92aWRlciosIEpTQzo6UnVudGltZUZsYWdz
LCBTZXNzaW9uSUQpOwogCiAgICAgV29ya2VyT2JqZWN0UHJveHkmIG1fd29ya2VyT2JqZWN0UHJv
eHk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCmluZGV4IGRjMjI4MDRkZGUxZTcyZDA5
NWJkZjkxYTgxZjdlMzA4OGExODQ4ZDAuLjQzNjEyZDIzM2RkM2NmYWQ1OGFlNzc2Y2E1YzJiZmI0
MTRjYzU0MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKQEAgLTE2NiwxMSArMTY2LDE0
IEBAIHZvaWQgV29ya2VyOjpkaWRSZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZyBpZGVudGlm
aWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlCiAKIHZvaWQgV29ya2VyOjpub3RpZnlGaW5pc2hl
ZCgpCiB7Ci0gICAgaWYgKG1fc2NyaXB0TG9hZGVyLT5mYWlsZWQoKSkKKyAgICBhdXRvKiBjb250
ZXh0ID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOworICAgIFNlc3Npb25JRCBzZXNzaW9uSUQg
PSBjb250ZXh0ID8gY29udGV4dC0+c2Vzc2lvbklEKCkgOiBTZXNzaW9uSUQoKTsKKworICAgIGlm
IChtX3NjcmlwdExvYWRlci0+ZmFpbGVkKCkgfHwgIXNlc3Npb25JRC5pc1ZhbGlkKCkpCiAgICAg
ICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuZXJyb3JFdmVudCwg
ZmFsc2UsIHRydWUpKTsKICAgICBlbHNlIHsKICAgICAgICAgY29uc3QgQ29udGVudFNlY3VyaXR5
UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRl
cnMgPSBtX2NvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyA/IG1fY29udGVudFNl
Y3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLnZhbHVlKCkgOiBzY3JpcHRFeGVjdXRpb25Db250
ZXh0KCktPmNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT5yZXNwb25zZUhlYWRlcnMoKTsKLSAgICAg
ICAgbV9jb250ZXh0UHJveHkuc3RhcnRXb3JrZXJHbG9iYWxTY29wZShtX3NjcmlwdExvYWRlci0+
dXJsKCksIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+dXNlckFnZW50KG1fc2NyaXB0TG9hZGVy
LT51cmwoKSksIG1fc2NyaXB0TG9hZGVyLT5zY3JpcHQoKSwgY29udGVudFNlY3VyaXR5UG9saWN5
UmVzcG9uc2VIZWFkZXJzLCBtX3Nob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBv
bGljeSwgbV93b3JrZXJDcmVhdGlvblRpbWUsIG1fcnVudGltZUZsYWdzKTsKKyAgICAgICAgbV9j
b250ZXh0UHJveHkuc3RhcnRXb3JrZXJHbG9iYWxTY29wZShtX3NjcmlwdExvYWRlci0+dXJsKCks
IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+dXNlckFnZW50KG1fc2NyaXB0TG9hZGVyLT51cmwo
KSksIG1fc2NyaXB0TG9hZGVyLT5zY3JpcHQoKSwgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9u
c2VIZWFkZXJzLCBtX3Nob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwg
bV93b3JrZXJDcmVhdGlvblRpbWUsIG1fcnVudGltZUZsYWdzLCBzZXNzaW9uSUQpOwogICAgICAg
ICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNjcmlwdEltcG9ydGVkKCpzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCksIG1fc2NyaXB0TG9hZGVyLT5pZGVudGlmaWVyKCksIG1fc2NyaXB0TG9hZGVy
LT5zY3JpcHQoKSk7CiAgICAgfQogICAgIG1fc2NyaXB0TG9hZGVyID0gbnVsbHB0cjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKaW5kZXggMmUyM2IxOTA1
MTk0ZjJhNzU4NWFmZjcwZDcwMjc4YzM0NWRjNGFjYy4uMTgwZjg4ZTY5NTg3ZTBhMDQzZmE2NjUw
YjAzYTYyMDE0ZGI5OTUyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9i
YWxTY29wZS5jcHAKQEAgLTUyLDcgKzUyLDcgQEAgdXNpbmcgbmFtZXNwYWNlIEluc3BlY3RvcjsK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1Xb3JrZXJHbG9iYWxTY29wZTo6V29ya2VyR2xvYmFs
U2NvcGUoY29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3Ry
aW5nJiB1c2VyQWdlbnQsIFdvcmtlclRocmVhZCYgdGhyZWFkLCBib29sIHNob3VsZEJ5cGFzc01h
aW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9y
aWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Q
cm94eSogY29ubmVjdGlvblByb3h5LCBTb2NrZXRQcm92aWRlciogc29ja2V0UHJvdmlkZXIpCitX
b3JrZXJHbG9iYWxTY29wZTo6V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiB1cmwsIGNvbnN0
IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIFdvcmtlclRocmVh
ZCYgdGhyZWFkLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGlj
eSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3Jp
Z2luLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSogY29ubmVjdGlvblByb3h5LCBTb2Nr
ZXRQcm92aWRlciogc29ja2V0UHJvdmlkZXIsIFNlc3Npb25JRCBzZXNzaW9uSUQpCiAgICAgOiBt
X3VybCh1cmwpCiAgICAgLCBtX2lkZW50aWZpZXIoaWRlbnRpZmllcikKICAgICAsIG1fdXNlckFn
ZW50KHVzZXJBZ2VudCkKQEAgLTY3LDYgKzY3LDcgQEAgV29ya2VyR2xvYmFsU2NvcGU6Oldvcmtl
ckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGMK
ICNlbmRpZgogICAgICwgbV9zb2NrZXRQcm92aWRlcihzb2NrZXRQcm92aWRlcikKICAgICAsIG1f
cGVyZm9ybWFuY2UoUGVyZm9ybWFuY2U6OmNyZWF0ZSgqdGhpcywgdGltZU9yaWdpbikpCisgICAg
LCBtX3Nlc3Npb25JRChzZXNzaW9uSUQpCiB7CiAjaWYgIUVOQUJMRShJTkRFWEVEX0RBVEFCQVNF
KQogICAgIFVOVVNFRF9QQVJBTShjb25uZWN0aW9uUHJveHkpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oCmluZGV4IGEwNGJhMjcwOWFlOTY0ZDkwMjMyOTJmYTJh
ZTI3ZGZjNjAyNmI5OWQuLmM1YjBkNTJhYjRjYWNkNjFhMmI5OTQzNGY3NzgzYWVlZTU4MjIzOTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmgKQEAgLTI5LDYg
KzI5LDcgQEAKICNpbmNsdWRlICJCYXNlNjRVdGlsaXRpZXMuaCIKICNpbmNsdWRlICJFdmVudFRh
cmdldC5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKKyNpbmNsdWRlICJT
ZXNzaW9uSUQuaCIKICNpbmNsdWRlICJTdXBwbGVtZW50YWJsZS5oIgogI2luY2x1ZGUgIlVSTC5o
IgogI2luY2x1ZGUgIldvcmtlckV2ZW50UXVldWUuaCIKQEAgLTEwNyw3ICsxMDgsNyBAQCBwdWJs
aWM6CiAgICAgdm9pZCByZW1vdmVBbGxFdmVudExpc3RlbmVycygpIGZpbmFsOwogCiBwcm90ZWN0
ZWQ6Ci0gICAgV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiBpZGVu
dGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgV29ya2VyVGhyZWFkJiwgYm9vbCBzaG91
bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0eU9yaWdp
bj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgSURCQ2xpZW50OjpJREJD
b25uZWN0aW9uUHJveHkqLCBTb2NrZXRQcm92aWRlciopOworICAgIFdvcmtlckdsb2JhbFNjb3Bl
KGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2Vy
QWdlbnQsIFdvcmtlclRocmVhZCYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNl
Y3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNU
aW1lIHRpbWVPcmlnaW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiwgU29ja2V0UHJv
dmlkZXIqLCBTZXNzaW9uSUQpOwogCiAgICAgdm9pZCBhcHBseUNvbnRlbnRTZWN1cml0eVBvbGlj
eVJlc3BvbnNlSGVhZGVycyhjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRl
cnMmKTsKIApAQCAtMTI5LDYgKzEzMCw3IEBAIHByaXZhdGU6CiAKICAgICBTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3QgZmluYWwgeyByZXR1cm4g
Y29uc3RfY2FzdDxXb3JrZXJHbG9iYWxTY29wZSo+KHRoaXMpOyB9CiAgICAgVVJMIGNvbXBsZXRl
VVJMKGNvbnN0IFN0cmluZyYpIGNvbnN0IGZpbmFsOworICAgIFNlc3Npb25JRCBzZXNzaW9uSUQo
KSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Nlc3Npb25JRDsgfQogICAgIFN0cmluZyB1c2VyQWdl
bnQoY29uc3QgVVJMJikgY29uc3QgZmluYWw7CiAgICAgdm9pZCBkaXNhYmxlRXZhbChjb25zdCBT
dHJpbmcmIGVycm9yTWVzc2FnZSkgZmluYWw7CiAgICAgdm9pZCBkaXNhYmxlV2ViQXNzZW1ibHko
Y29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UpIGZpbmFsOwpAQCAtMTc5LDYgKzE4MSw4IEBAIHBy
aXZhdGU6CiAKICAgICBSZWZQdHI8UGVyZm9ybWFuY2U+IG1fcGVyZm9ybWFuY2U7CiAgICAgbXV0
YWJsZSBSZWZQdHI8Q3J5cHRvPiBtX2NyeXB0bzsKKworICAgIFNlc3Npb25JRCBtX3Nlc3Npb25J
RDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5LmgKaW5kZXggOTM4NTU3Mzc1MDhlYmM3MThmN2Ux
Yzk1YmQzZTg3MjYwZmRjYzQ0MS4uNjdhZGY3MDE0NzdiOGZkNDIwZDFiMDgwZGNmMmZiYjgwZjli
NTY5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29w
ZVByb3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVBy
b3h5LmgKQEAgLTM4LDYgKzM4LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ29u
dGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzOworY2xhc3MgU2Vzc2lvbklEOwogY2xh
c3MgVVJMOwogY2xhc3MgV29ya2VyOwogCkBAIC00Niw3ICs0Nyw3IEBAIGNsYXNzIFdvcmtlckds
b2JhbFNjb3BlUHJveHkgewogcHVibGljOgogICAgIHN0YXRpYyBXb3JrZXJHbG9iYWxTY29wZVBy
b3h5JiBjcmVhdGUoV29ya2VyJik7CiAKLSAgICB2aXJ0dWFsIHZvaWQgc3RhcnRXb3JrZXJHbG9i
YWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNv
bnN0IFN0cmluZyYgc291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9u
c2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xp
Y3ksIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgSlNDOjpSdW50aW1lRmxhZ3MpID0gMDsKKyAg
ICB2aXJ0dWFsIHZvaWQgc3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVS
TCwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgY29u
c3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBh
c3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIE1vbm90b25pY1RpbWUgdGltZU9yaWdp
biwgSlNDOjpSdW50aW1lRmxhZ3MsIFNlc3Npb25JRCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCB0
ZXJtaW5hdGVXb3JrZXJHbG9iYWxTY29wZSgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgcG9zdE1l
c3NhZ2VUb1dvcmtlckdsb2JhbFNjb3BlKFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+JiYs
IHN0ZDo6dW5pcXVlX3B0cjxNZXNzYWdlUG9ydENoYW5uZWxBcnJheT4pID0gMDsKICAgICB2aXJ0
dWFsIGJvb2wgaGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3QgPSAwOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcAppbmRleCA3M2JiNzliMWQyNzVh
MWM5MjFkMDdlZDAzYTAxZmIzNzU0MmYxOGUwLi4xOTY1M2Q4YzJiNWU0MGExMmYwMWFjOTVjZDJi
MGU1N2Q0NjMzZjU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1l
c3NhZ2luZ1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3Nh
Z2luZ1Byb3h5LmNwcApAQCAtNzAsNyArNzAsNyBAQCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6fldv
cmtlck1lc3NhZ2luZ1Byb3h5KCkKICAgICAgICAgfHwgKGlzPFdvcmtlckdsb2JhbFNjb3BlPigq
bV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KSAmJiBjdXJyZW50VGhyZWFkKCkgPT0gZG93bmNhc3Q8
V29ya2VyR2xvYmFsU2NvcGU+KCptX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQpLnRocmVhZCgpLnRo
cmVhZElEKCkpKTsKIH0KIAotdm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6c3RhcnRXb3JrZXJH
bG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQs
IGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVz
cG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIGJvb2wg
c2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBNb25vdG9uaWNUaW1l
IHRpbWVPcmlnaW4sIEpTQzo6UnVudGltZUZsYWdzIHJ1bnRpbWVGbGFncykKK3ZvaWQgV29ya2Vy
TWVzc2FnaW5nUHJveHk6OnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRV
UkwsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIGNv
bnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5
UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRT
ZWN1cml0eVBvbGljeSwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBKU0M6OlJ1bnRpbWVGbGFn
cyBydW50aW1lRmxhZ3MsIFNlc3Npb25JRCBzZXNzaW9uSUQpCiB7CiAgICAgLy8gRklYTUU6IFRo
aXMgbmVlZCB0byBiZSByZXZpc2l0ZWQgd2hlbiB3ZSBzdXBwb3J0IG5lc3RlZCB3b3JrZXIgb25l
IGRheQogICAgIEFTU0VSVChtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOwpAQCAtODYsNyArODYs
NyBAQCB2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNv
bnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdAogCiAgICAgU29ja2V0UHJvdmlkZXIqIHNvY2tl
dFByb3ZpZGVyID0gZG9jdW1lbnQuc29ja2V0UHJvdmlkZXIoKTsKIAotICAgIGF1dG8gdGhyZWFk
ID0gRGVkaWNhdGVkV29ya2VyVGhyZWFkOjpjcmVhdGUoc2NyaXB0VVJMLCBpZGVudGlmaWVyLCB1
c2VyQWdlbnQsIHNvdXJjZUNvZGUsICp0aGlzLCAqdGhpcywgc3RhcnRNb2RlLCBjb250ZW50U2Vj
dXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRT
ZWN1cml0eVBvbGljeSwgZG9jdW1lbnQudG9wT3JpZ2luKCksIHRpbWVPcmlnaW4sIHByb3h5LCBz
b2NrZXRQcm92aWRlciwgcnVudGltZUZsYWdzKTsKKyAgICBhdXRvIHRocmVhZCA9IERlZGljYXRl
ZFdvcmtlclRocmVhZDo6Y3JlYXRlKHNjcmlwdFVSTCwgaWRlbnRpZmllciwgdXNlckFnZW50LCBz
b3VyY2VDb2RlLCAqdGhpcywgKnRoaXMsIHN0YXJ0TW9kZSwgY29udGVudFNlY3VyaXR5UG9saWN5
UmVzcG9uc2VIZWFkZXJzLCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xp
Y3ksIGRvY3VtZW50LnRvcE9yaWdpbigpLCB0aW1lT3JpZ2luLCBwcm94eSwgc29ja2V0UHJvdmlk
ZXIsIHJ1bnRpbWVGbGFncywgc2Vzc2lvbklEKTsKIAogICAgIHdvcmtlclRocmVhZENyZWF0ZWQo
dGhyZWFkLmdldCgpKTsKICAgICB0aHJlYWQtPnN0YXJ0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKaW5kZXggYzkwMDA4YjEyZDZiNzgzOTM4M2Ji
M2MxYzJjMzI4YTNiZmE4NzI4Yy4uNzkzYTRjNTA2NTE0ZWZmOTBlZTg3NDFlZmZmYTY1MjYyZWMz
ZjhmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQ
cm94eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHku
aApAQCAtNDUsNyArNDUsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIC8vIEltcGxlbWVudGF0
aW9ucyBvZiBXb3JrZXJHbG9iYWxTY29wZVByb3h5LgogICAgIC8vIChPbmx5IHVzZSB0aGVzZSBm
dW5jdGlvbnMgaW4gdGhlIHdvcmtlciBvYmplY3QgdGhyZWFkLikKLSAgICB2b2lkIHN0YXJ0V29y
a2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgdXNlckFn
ZW50LCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGlj
eVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3Vy
aXR5UG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIEpTQzo6UnVudGltZUZsYWdzKSBm
aW5hbDsKKyAgICB2b2lkIHN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRV
UkwsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIGNv
bnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlw
YXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmln
aW4sIEpTQzo6UnVudGltZUZsYWdzLCBTZXNzaW9uSUQpIGZpbmFsOwogICAgIHZvaWQgdGVybWlu
YXRlV29ya2VyR2xvYmFsU2NvcGUoKSBmaW5hbDsKICAgICB2b2lkIHBvc3RNZXNzYWdlVG9Xb3Jr
ZXJHbG9iYWxTY29wZShSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYmLCBzdGQ6OnVuaXF1
ZV9wdHI8TWVzc2FnZVBvcnRDaGFubmVsQXJyYXk+KSBmaW5hbDsKICAgICBib29sIGhhc1BlbmRp
bmdBY3Rpdml0eSgpIGNvbnN0IGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJUaHJlYWQuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJl
YWQuY3BwCmluZGV4IDdiNWU2NGI0Yjc3ZTg2NTIyZTc0Yzk0YTgwYzBkNzNlNGJkODQxNzIuLmY2
YWI5ZTRlZmUxYjNiZWI4MjVhMzJmZmU2MTlmZDk0MDNmNmQ1NzkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKQEAgLTcyLDcgKzcyLDcgQEAgdW5zaWduZWQgV29ya2Vy
VGhyZWFkOjp3b3JrZXJUaHJlYWRDb3VudCgpCiBzdHJ1Y3QgV29ya2VyVGhyZWFkU3RhcnR1cERh
dGEgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgV29ya2VyVGhyZWFkU3RhcnR1
cERhdGEoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29u
c3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2VyVGhy
ZWFkU3RhcnRNb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMm
LCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgY29uc3Qg
U2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luKTsKKyAg
ICBXb3JrZXJUaHJlYWRTdGFydHVwRGF0YShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3Ry
aW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgY29uc3QgU3RyaW5nJiBz
b3VyY2VDb2RlLCBXb3JrZXJUaHJlYWRTdGFydE1vZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBv
bGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNl
Y3VyaXR5UG9saWN5LCBjb25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBNb25vdG9uaWNU
aW1lIHRpbWVPcmlnaW4sIFNlc3Npb25JRCk7CiAKICAgICBVUkwgbV9zY3JpcHRVUkw7CiAgICAg
U3RyaW5nIG1faWRlbnRpZmllcjsKQEAgLTgzLDkgKzgzLDEwIEBAIHB1YmxpYzoKICAgICBib29s
IG1fc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5OwogICAgIFJlZjxT
ZWN1cml0eU9yaWdpbj4gbV90b3BPcmlnaW47CiAgICAgTW9ub3RvbmljVGltZSBtX3RpbWVPcmln
aW47CisgICAgU2Vzc2lvbklEIG1fc2Vzc2lvbklEOwogfTsKIAotV29ya2VyVGhyZWFkU3RhcnR1
cERhdGE6OldvcmtlclRocmVhZFN0YXJ0dXBEYXRhKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25z
dCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBjb25zdCBTdHJp
bmcmIHNvdXJjZUNvZGUsIFdvcmtlclRocmVhZFN0YXJ0TW9kZSBzdGFydE1vZGUsIGNvbnN0IENv
bnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5
UmVzcG9uc2VIZWFkZXJzLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0
eVBvbGljeSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0
aW1lT3JpZ2luKQorV29ya2VyVGhyZWFkU3RhcnR1cERhdGE6OldvcmtlclRocmVhZFN0YXJ0dXBE
YXRhKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0
IFN0cmluZyYgdXNlckFnZW50LCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIFdvcmtlclRocmVh
ZFN0YXJ0TW9kZSBzdGFydE1vZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNl
SGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBib29sIHNob3Vs
ZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgY29uc3QgU2VjdXJpdHlPcmln
aW4mIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBTZXNzaW9uSUQgc2Vzc2lv
bklEKQogICAgIDogbV9zY3JpcHRVUkwoc2NyaXB0VVJMLmlzb2xhdGVkQ29weSgpKQogICAgICwg
bV9pZGVudGlmaWVyKGlkZW50aWZpZXIuaXNvbGF0ZWRDb3B5KCkpCiAgICAgLCBtX3VzZXJBZ2Vu
dCh1c2VyQWdlbnQuaXNvbGF0ZWRDb3B5KCkpCkBAIC05NSwxNCArOTYsMTUgQEAgV29ya2VyVGhy
ZWFkU3RhcnR1cERhdGE6OldvcmtlclRocmVhZFN0YXJ0dXBEYXRhKGNvbnN0IFVSTCYgc2NyaXB0
VVJMLCBjb25zdCBTdHIKICAgICAsIG1fc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3Vy
aXR5UG9saWN5KHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSkKICAg
ICAsIG1fdG9wT3JpZ2luKHRvcE9yaWdpbi5pc29sYXRlZENvcHkoKSkKICAgICAsIG1fdGltZU9y
aWdpbih0aW1lT3JpZ2luKQorICAgICwgbV9zZXNzaW9uSUQoc2Vzc2lvbklELmlzb2xhdGVkQ29w
eSgpKQogewogfQogCi1Xb3JrZXJUaHJlYWQ6OldvcmtlclRocmVhZChjb25zdCBVUkwmIHNjcmlw
dFVSTCwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwg
Y29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBXb3JrZXJMb2FkZXJQcm94eSYgd29ya2VyTG9hZGVy
UHJveHksIFdvcmtlclJlcG9ydGluZ1Byb3h5JiB3b3JrZXJSZXBvcnRpbmdQcm94eSwgV29ya2Vy
VGhyZWFkU3RhcnRNb2RlIHN0YXJ0TW9kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVz
cG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIGJvb2wg
c2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBjb25zdCBTZWN1cml0
eU9yaWdpbiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIElEQkNsaWVudDo6
SURCQ29ubmVjdGlvblByb3h5KiBjb25uZWN0aW9uUHJveHksIFNvY2tldFByb3ZpZGVyKiBzb2Nr
ZXRQcm92aWRlciwgSlNDOjpSdW50aW1lRmxhZ3MgcnVudGltZUZsYWdzKQorV29ya2VyVGhyZWFk
OjpXb3JrZXJUaHJlYWQoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgaWRlbnRp
ZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwg
V29ya2VyTG9hZGVyUHJveHkmIHdvcmtlckxvYWRlclByb3h5LCBXb3JrZXJSZXBvcnRpbmdQcm94
eSYgd29ya2VyUmVwb3J0aW5nUHJveHksIFdvcmtlclRocmVhZFN0YXJ0TW9kZSBzdGFydE1vZGUs
IGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3Vy
aXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRl
bnRTZWN1cml0eVBvbGljeSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwgTW9ub3Rv
bmljVGltZSB0aW1lT3JpZ2luLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSogY29ubmVj
dGlvblByb3h5LCBTb2NrZXRQcm92aWRlciogc29ja2V0UHJvdmlkZXIsIEpTQzo6UnVudGltZUZs
YWdzIHJ1bnRpbWVGbGFncywgU2Vzc2lvbklEIHNlc3Npb25JRCkKICAgICA6IG1fd29ya2VyTG9h
ZGVyUHJveHkod29ya2VyTG9hZGVyUHJveHkpCiAgICAgLCBtX3dvcmtlclJlcG9ydGluZ1Byb3h5
KHdvcmtlclJlcG9ydGluZ1Byb3h5KQogICAgICwgbV9ydW50aW1lRmxhZ3MocnVudGltZUZsYWdz
KQotICAgICwgbV9zdGFydHVwRGF0YShzdGQ6Om1ha2VfdW5pcXVlPFdvcmtlclRocmVhZFN0YXJ0
dXBEYXRhPihzY3JpcHRVUkwsIGlkZW50aWZpZXIsIHVzZXJBZ2VudCwgc291cmNlQ29kZSwgc3Rh
cnRNb2RlLCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5cGFz
c01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgdG9wT3JpZ2luLCB0aW1lT3JpZ2luKSkK
KyAgICAsIG1fc3RhcnR1cERhdGEoc3RkOjptYWtlX3VuaXF1ZTxXb3JrZXJUaHJlYWRTdGFydHVw
RGF0YT4oc2NyaXB0VVJMLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIHNvdXJjZUNvZGUsIHN0YXJ0
TW9kZSwgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBzaG91bGRCeXBhc3NN
YWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIHRvcE9yaWdpbiwgdGltZU9yaWdpbiwgc2Vz
c2lvbklEKSkKICNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKICAgICAsIG1faWRiQ29ubmVj
dGlvblByb3h5KGNvbm5lY3Rpb25Qcm94eSkKICNlbmRpZgpAQCAtMTU4LDcgKzE2MCw3IEBAIHZv
aWQgV29ya2VyVGhyZWFkOjp3b3JrZXJUaHJlYWQoKQogICAgICAgICAvLyB3aGlsZSBXb3JrZXJU
aHJlYWQ6OnN0b3AoKSBpcyBhY2Nlc3NpbmcgaXQuIE5vdGUgdGhhdCBXb3JrZXJUaHJlYWQ6OnN0
b3AoKSBjYW4KICAgICAgICAgLy8gYmUgY2FsbGVkIGJlZm9yZSB3ZSd2ZSBmaW5pc2hlZCBjcmVh
dGluZyB0aGUgV29ya2VyR2xvYmFsU2NvcGUuCiAgICAgICAgIExvY2tIb2xkZXIgbG9jayhtX3Ro
cmVhZENyZWF0aW9uQW5kV29ya2VyR2xvYmFsU2NvcGVNdXRleCk7Ci0gICAgICAgIG1fd29ya2Vy
R2xvYmFsU2NvcGUgPSBjcmVhdGVXb3JrZXJHbG9iYWxTY29wZShtX3N0YXJ0dXBEYXRhLT5tX3Nj
cmlwdFVSTCwgbV9zdGFydHVwRGF0YS0+bV9pZGVudGlmaWVyLCBtX3N0YXJ0dXBEYXRhLT5tX3Vz
ZXJBZ2VudCwgbV9zdGFydHVwRGF0YS0+bV9jb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhl
YWRlcnMsIG1fc3RhcnR1cERhdGEtPm1fc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3Vy
aXR5UG9saWN5LCBXVEZNb3ZlKG1fc3RhcnR1cERhdGEtPm1fdG9wT3JpZ2luKSwgbV9zdGFydHVw
RGF0YS0+bV90aW1lT3JpZ2luKTsKKyAgICAgICAgbV93b3JrZXJHbG9iYWxTY29wZSA9IGNyZWF0
ZVdvcmtlckdsb2JhbFNjb3BlKG1fc3RhcnR1cERhdGEtPm1fc2NyaXB0VVJMLCBtX3N0YXJ0dXBE
YXRhLT5tX2lkZW50aWZpZXIsIG1fc3RhcnR1cERhdGEtPm1fdXNlckFnZW50LCBtX3N0YXJ0dXBE
YXRhLT5tX2NvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgbV9zdGFydHVwRGF0
YS0+bV9zaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFdURk1vdmUo
bV9zdGFydHVwRGF0YS0+bV90b3BPcmlnaW4pLCBtX3N0YXJ0dXBEYXRhLT5tX3RpbWVPcmlnaW4s
IG1fc3RhcnR1cERhdGEtPm1fc2Vzc2lvbklEKTsKIAogICAgICAgICBzY3JpcHRDb250cm9sbGVy
ID0gbV93b3JrZXJHbG9iYWxTY29wZS0+c2NyaXB0KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlclRocmVhZC5oCmluZGV4IDJmMDQxMzY3MjNiMDFhNTY3ZWZmYjllNDZmNzEwOTI5YTMyZDM2
ZTEuLmM1OTMyMjk2N2ZkNjA3MjdiMjJkMmI0YTVmMzM0NmM3Mzc3ZjVmMTAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuaApAQCAtMzcsNiArMzcsNyBAQCBjbGFzcyBDb250ZW50
U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnM7CiBjbGFzcyBVUkw7CiBjbGFzcyBOb3RpZmlj
YXRpb25DbGllbnQ7CiBjbGFzcyBTZWN1cml0eU9yaWdpbjsKK2NsYXNzIFNlc3Npb25JRDsKIGNs
YXNzIFNvY2tldFByb3ZpZGVyOwogY2xhc3MgV29ya2VyR2xvYmFsU2NvcGU7CiBjbGFzcyBXb3Jr
ZXJMb2FkZXJQcm94eTsKQEAgLTgwLDEwICs4MSwxMCBAQCBwdWJsaWM6CiAgICAgSlNDOjpSdW50
aW1lRmxhZ3MgcnVudGltZUZsYWdzKCkgY29uc3QgeyByZXR1cm4gbV9ydW50aW1lRmxhZ3M7IH0K
IAogcHJvdGVjdGVkOgotICAgIFdvcmtlclRocmVhZChjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcm
IGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBjb25zdCBTdHJpbmcmIHNvdXJj
ZUNvZGUsIFdvcmtlckxvYWRlclByb3h5JiwgV29ya2VyUmVwb3J0aW5nUHJveHkmLCBXb3JrZXJU
aHJlYWRTdGFydE1vZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVy
cyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBjb25z
dCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIElE
QkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiwgU29ja2V0UHJvdmlkZXIqLCBKU0M6OlJ1bnRp
bWVGbGFncyk7CisgICAgV29ya2VyVGhyZWFkKGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgaWRl
bnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNvbnN0IFN0cmluZyYgc291cmNlQ29k
ZSwgV29ya2VyTG9hZGVyUHJveHkmLCBXb3JrZXJSZXBvcnRpbmdQcm94eSYsIFdvcmtlclRocmVh
ZFN0YXJ0TW9kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwg
Ym9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIGNvbnN0IFNl
Y3VyaXR5T3JpZ2luJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgSURCQ2xp
ZW50OjpJREJDb25uZWN0aW9uUHJveHkqLCBTb2NrZXRQcm92aWRlciosIEpTQzo6UnVudGltZUZs
YWdzLCBTZXNzaW9uSUQpOwogCiAgICAgLy8gRmFjdG9yeSBtZXRob2QgZm9yIGNyZWF0aW5nIGEg
bmV3IHdvcmtlciBjb250ZXh0IGZvciB0aGUgdGhyZWFkLgotICAgIHZpcnR1YWwgUmVmPFdvcmtl
ckdsb2JhbFNjb3BlPiBjcmVhdGVXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmLCBjb25zdCBT
dHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBjb25zdCBDb250ZW50
U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3Js
ZENvbnRlbnRTZWN1cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwg
TW9ub3RvbmljVGltZSB0aW1lT3JpZ2luKSA9IDA7CisgICAgdmlydHVhbCBSZWY8V29ya2VyR2xv
YmFsU2NvcGU+IGNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYsIGNvbnN0IFN0cmlu
ZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNvbnN0IENvbnRlbnRTZWN1
cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29u
dGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25v
dG9uaWNUaW1lIHRpbWVPcmlnaW4sIFNlc3Npb25JRCkgPSAwOwogCiAgICAgLy8gRXhlY3V0ZXMg
dGhlIGV2ZW50IGxvb3AgZm9yIHRoZSB3b3JrZXIgdGhyZWFkLiBEZXJpdmVkIGNsYXNzZXMgY2Fu
IG92ZXJyaWRlIHRvIHBlcmZvcm0gYWN0aW9ucyBiZWZvcmUvYWZ0ZXIgZW50ZXJpbmcgdGhlIGV2
ZW50IGxvb3AuCiAgICAgdmlydHVhbCB2b2lkIHJ1bkV2ZW50TG9vcCgpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>