<?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>202289</bug_id>
          
          <creation_ts>2019-09-26 14:26:15 -0700</creation_ts>
          <short_desc>Pages frequently fails to enter the back/forward cache due to pending loads</short_desc>
          <delta_ts>2019-09-26 23:17:26 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>202293</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1574628</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-09-26 14:26:15 -0700</bug_when>
    <thetext>Pages frequently fails to enter the back/forward cache due to pending loads. I think we should allow them to enter page cache as long as we&apos;ve fired the load event in the main frame.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574629</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-09-26 14:26:32 -0700</bug_when>
    <thetext>&lt;rdar://problem/55758506&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574635</commentid>
    <comment_count>2</comment_count>
      <attachid>379681</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-09-26 14:38:29 -0700</bug_when>
    <thetext>Created attachment 379681
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574636</commentid>
    <comment_count>3</comment_count>
      <attachid>379682</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-09-26 14:41:40 -0700</bug_when>
    <thetext>Created attachment 379682
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574652</commentid>
    <comment_count>4</comment_count>
      <attachid>379688</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-09-26 15:16:06 -0700</bug_when>
    <thetext>Created attachment 379688
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574732</commentid>
    <comment_count>5</comment_count>
      <attachid>379688</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2019-09-26 22:09:17 -0700</bug_when>
    <thetext>Comment on attachment 379688
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574742</commentid>
    <comment_count>6</comment_count>
      <attachid>379688</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-26 23:17:24 -0700</bug_when>
    <thetext>Comment on attachment 379688
Patch

Clearing flags on attachment: 379688

Committed r250414: &lt;https://trac.webkit.org/changeset/250414&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574743</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-26 23:17:26 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379681</attachid>
            <date>2019-09-26 14:38:29 -0700</date>
            <delta_ts>2019-09-26 14:41:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202289-20190926143829.patch</filename>
            <type>text/plain</type>
            <size>18041</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwMzQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDJhMGQxYmRhYTVkYTY0
MmM0M2MzMGUwZDk3OTk1ZDNjOTc4ZWY4Mi4uZTRmNjZmYjdhMWQ2NTEzZDIxMWRmYjhkNGExMjdl
OWMyMWFjMjI1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE5LTA5LTI2ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUGFnZXMgZnJlcXVlbnRseSBm
YWlscyB0byBlbnRlciB0aGUgYmFjay9mb3J3YXJkIGNhY2hlIGR1ZSB0byBwZW5kaW5nIGxvYWRz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDIyODkK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU1NzU4NTA2PgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFsbG93IHBhZ2VzIHRvIGVudGVyIHRoZSBiYWNr
IC8gZm9yd2FyZCBjYWNoZSwgZXZlbiBpZiB0aGV5IGhhdmUgcGVuZGluZyBsb2FkcywKKyAgICAg
ICAgYXMgbG9uZyBhcyB3ZSd2ZSBmaXJpbmcgdGhlIGxvYWQgZXZlbnQgaW4gdGhlIG1haW4gZnJh
bWUuIE5vdGUgdGhhdCB0aGVzZQorICAgICAgICBwZW5kaW5nIGxvYWRzIGdldCBjYW5jZWxsZWQu
IFRoaXMgd2FzIGNhdXNpbmcgZnJlcXVlbnQgdHJhbnNpZW50IGZhaWx1cmVzIHRvCisgICAgICAg
IGVudGVyIHRoZSBiYWNrIC8gZm9yd2FyZCBjYWNoZSB3aGlsZSBicm93c2luZyAoZS5nLiBvbiB3
ZWF0aGVyLmNvbSkuCisKKyAgICAgICAgVGVzdDogaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2Ut
Y2FjaGUtcGVuZGluZy1sb2FkLmh0bWwKKworICAgICAgICAqIGhpc3RvcnkvUGFnZUNhY2hlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OmNhbkNhY2hlRnJhbWUpOgorICAgICAgICAqIGxvYWRlci9D
cm9zc09yaWdpblByZWZsaWdodENoZWNrZXIuY3BwOgorICAgICAgICAqIGxvYWRlci9Dcm9zc09y
aWdpblByZWZsaWdodENoZWNrZXIuaDoKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRMb2FkZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OnNldE1haW5Eb2N1bWVudEVy
cm9yKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpzdG9wTG9hZGluZyk6Cisg
ICAgICAgICogbG9hZGVyL0RvY3VtZW50TG9hZGVyLmg6CisgICAgICAgICogbG9hZGVyL0RvY3Vt
ZW50VGhyZWFkYWJsZUxvYWRlci5jcHA6CisgICAgICAgICogbG9hZGVyL0RvY3VtZW50VGhyZWFk
YWJsZUxvYWRlci5oOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHA6
CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmg6CisgICAgICAgICogbG9h
ZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlQ2xpZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpDYWNo
ZWRSZXNvdXJjZUNsaWVudDo6ZGVwcmVjYXRlZERpZFJlY2VpdmVDYWNoZWRSZXNvdXJjZSk6Cisg
ICAgICAgICogcGFnZS9EaWFnbm9zdGljTG9nZ2luZ0tleXMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjptYWluRnJhbWVIYXNOb3RGaW5pc2hlZExvYWRpbmdL
ZXkpOgorICAgICAgICAqIHBhZ2UvRGlhZ25vc3RpY0xvZ2dpbmdLZXlzLmg6CisKIDIwMTktMDkt
MjYgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBJREJSZXF1ZXN0
IHNob3VsZCBub3QgcHJldmVudCBhIHBhZ2UgZnJvbSBlbnRlcmluZyB0aGUgYmFjay9mb3J3YXJk
IGNhY2hlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5jcHAKaW5kZXggZDQzZjIxMmE4MDFj
OWIxNDQwOTc5YTY2NzlkMjFjOWQzYzE1YTAwNC4uYjk0YzNhOWY5NmQzNTE2NDNiZWZkNjg3MjBl
MzMyNWEwNGRmOTNjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2Fj
aGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmNwcApAQCAtMTE2
LDE0ICsxMTYsMTAgQEAgc3RhdGljIGJvb2wgY2FuQ2FjaGVGcmFtZShGcmFtZSYgZnJhbWUsIERp
YWdub3N0aWNMb2dnaW5nQ2xpZW50JiBkaWFnbm9zdGljTG9nZ2kKICAgICAgICAgUENMT0coIiBE
ZXRlcm1pbmluZyBpZiBzdWJmcmFtZSB3aXRoIFVSTCAoIiwgY3VycmVudFVSTC5zdHJpbmcoKSwg
IikgY2FuIGJlIGNhY2hlZDoiKTsKICAgICAgCiAgICAgYm9vbCBpc0NhY2hlYWJsZSA9IHRydWU7
Ci0gICAgaWYgKCFkb2N1bWVudExvYWRlci0+bWFpbkRvY3VtZW50RXJyb3IoKS5pc051bGwoKSkg
ewotICAgICAgICBQQ0xPRygiICAgLU1haW4gZG9jdW1lbnQgaGFzIGFuIGVycm9yIik7Ci0gICAg
ICAgIGxvZ1BhZ2VDYWNoZUZhaWx1cmVEaWFnbm9zdGljTWVzc2FnZShkaWFnbm9zdGljTG9nZ2lu
Z0NsaWVudCwgRGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjptYWluRG9jdW1lbnRFcnJvcktleSgpKTsK
LQotICAgICAgICBpZiAoZG9jdW1lbnRMb2FkZXItPm1haW5Eb2N1bWVudEVycm9yKCkuaXNDYW5j
ZWxsYXRpb24oKSAmJiBkb2N1bWVudExvYWRlci0+c3VicmVzb3VyY2VMb2FkZXJzQXJlUGFnZUNh
Y2hlQWNjZXB0YWJsZSgpKQotICAgICAgICAgICAgUENMT0coIiAgICAtQnV0LCBpdCB3YXMgYSBj
YW5jZWxsYXRpb24gYW5kIGFsbCBsb2FkZXJzIGR1cmluZyB0aGUgY2FuY2VsYXRpb24gd2VyZSBs
b2FkaW5nIGltYWdlcyBvciBYSFIuIik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGlzQ2Fj
aGVhYmxlID0gZmFsc2U7CisgICAgaWYgKGZyYW1lLmlzTWFpbkZyYW1lKCkgJiYgIWRvY3VtZW50
TG9hZGVyLT53YXNPbmxvYWREaXNwYXRjaGVkKCkpIHsKKyAgICAgICAgUENMT0coIiAgIC1NYWlu
IGZyYW1lIGhhcyBub3QgZmluaXNoZWQgbG9hZGluZy4iKTsKKyAgICAgICAgbG9nUGFnZUNhY2hl
RmFpbHVyZURpYWdub3N0aWNNZXNzYWdlKGRpYWdub3N0aWNMb2dnaW5nQ2xpZW50LCBEaWFnbm9z
dGljTG9nZ2luZ0tleXM6Om1haW5GcmFtZUhhc05vdEZpbmlzaGVkTG9hZGluZ0tleSgpKTsKKyAg
ICAgICAgaXNDYWNoZWFibGUgPSBmYWxzZTsKICAgICB9CiAgICAgLy8gRG8gbm90IGNhY2hlIGVy
cm9yIHBhZ2VzICh0aGVzZSBjYW4gYmUgcmVjb2duaXplZCBhcyBwYWdlcyB3aXRoIHN1YnN0aXR1
dGUgZGF0YSBvciB1bnJlYWNoYWJsZSBVUkxzKS4KICAgICBpZiAoZG9jdW1lbnRMb2FkZXItPnN1
YnN0aXR1dGVEYXRhKCkuaXNWYWxpZCgpICYmICFkb2N1bWVudExvYWRlci0+c3Vic3RpdHV0ZURh
dGEoKS5mYWlsaW5nVVJMKCkuaXNFbXB0eSgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRDaGVja2VyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodENoZWNrZXIuY3BwCmluZGV4IGQyMTNmMWE2NDJh
ZWU3Zjg0NGRhOTBkNTZkMTU0Y2E1NjA0NzEyYTEuLmIzZGY0MTEwN2RkYmVmZDAzZTNiZDQ0YmZk
MjVhODNlOWJhODFiNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9zc09y
aWdpblByZWZsaWdodENoZWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9z
c09yaWdpblByZWZsaWdodENoZWNrZXIuY3BwCkBAIC0xNjksOSArMTY5LDQgQEAgdm9pZCBDcm9z
c09yaWdpblByZWZsaWdodENoZWNrZXI6OnNldERlZmVyc0xvYWRpbmcoYm9vbCB2YWx1ZSkKICAg
ICAgICAgbV9yZXNvdXJjZS0+c2V0RGVmZXJzTG9hZGluZyh2YWx1ZSk7CiB9CiAKLWJvb2wgQ3Jv
c3NPcmlnaW5QcmVmbGlnaHRDaGVja2VyOjppc1hNTEh0dHBSZXF1ZXN0KCkgY29uc3QKLXsKLSAg
ICByZXR1cm4gbV9sb2FkZXIuaXNYTUxIdHRwUmVxdWVzdCgpOwotfQotCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5Q
cmVmbGlnaHRDaGVja2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVm
bGlnaHRDaGVja2VyLmgKaW5kZXggOWE0MDAyNjA4NDcxYmM4ODU4MjlkYTVjNmMxNzRkYmFmZWZm
ZDQ1OS4uMWE3ZjRlMjFhOTY3ZDFmYzU5OGUzNTNiZTdjZDI5ODJjNGE5ZDBiNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0Q2hlY2tlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodENoZWNrZXIuaApA
QCAtNTksOCArNTksNiBAQCBwcml2YXRlOgogICAgIHN0YXRpYyB2b2lkIGhhbmRsZUxvYWRpbmdG
YWlsdXJlKERvY3VtZW50VGhyZWFkYWJsZUxvYWRlciYsIHVuc2lnbmVkIGxvbmcsIGNvbnN0IFJl
c291cmNlRXJyb3ImKTsKICAgICBzdGF0aWMgdm9pZCB2YWxpZGF0ZVByZWZsaWdodFJlc3BvbnNl
KERvY3VtZW50VGhyZWFkYWJsZUxvYWRlciYsIFJlc291cmNlUmVxdWVzdCYmLCB1bnNpZ25lZCBs
b25nLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJik7CiAKLSAgICBib29sIGlzWE1MSHR0cFJlcXVl
c3QoKSBjb25zdCBmaW5hbDsKLQogICAgIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlciYgbV9sb2Fk
ZXI7CiAgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmF3UmVzb3VyY2U+IG1fcmVzb3Vy
Y2U7CiAgICAgUmVzb3VyY2VSZXF1ZXN0IG1fcmVxdWVzdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RG9jdW1lbnRMb2FkZXIuY3BwCmluZGV4IGYzYTA2M2M0ZWMwZWJmNDI1ZWQ1NDE3N2UwZDA0NTYx
MzQ5Yjc5Y2QuLmM0ODE2ZDQzYjJlOTMwNTBkZDdjNDIzNzMzNzllZDVkMjFhOTUyYTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcApAQCAtMTI1LDYwICsxMjUsNiBA
QCBzdGF0aWMgdm9pZCBzZXRBbGxEZWZlcnNMb2FkaW5nKGNvbnN0IFJlc291cmNlTG9hZGVyTWFw
JiBsb2FkZXJzLCBib29sIGRlZmVycykKICAgICAgICAgbG9hZGVyLT5zZXREZWZlcnNMb2FkaW5n
KGRlZmVycyk7CiB9CiAKLXN0YXRpYyBib29sIHNob3VsZFBlbmRpbmdDYWNoZWRSZXNvdXJjZUxv
YWRQcmV2ZW50UGFnZUNhY2hlKENhY2hlZFJlc291cmNlJiBjYWNoZWRSZXNvdXJjZSkKLXsKLSAg
ICBpZiAoIWNhY2hlZFJlc291cmNlLmlzTG9hZGluZygpKQotICAgICAgICByZXR1cm4gZmFsc2U7
Ci0KLSAgICBzd2l0Y2ggKGNhY2hlZFJlc291cmNlLnR5cGUoKSkgewotICAgIGNhc2UgQ2FjaGVk
UmVzb3VyY2U6OlR5cGU6OkltYWdlUmVzb3VyY2U6Ci0gICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6
VHlwZTo6SWNvbjoKLSAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpCZWFjb246Ci0gICAg
Y2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6UGluZzoKLSAgICBjYXNlIENhY2hlZFJlc291cmNl
OjpUeXBlOjpMaW5rUHJlZmV0Y2g6Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBjYXNlIENh
Y2hlZFJlc291cmNlOjpUeXBlOjpNYWluUmVzb3VyY2U6Ci0gICAgY2FzZSBDYWNoZWRSZXNvdXJj
ZTo6VHlwZTo6Q1NTU3R5bGVTaGVldDoKLSAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpT
Y3JpcHQ6Ci0gICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6Rm9udFJlc291cmNlOgotI2lm
IEVOQUJMRShTVkdfRk9OVFMpCi0gICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6U1ZHRm9u
dFJlc291cmNlOgotI2VuZGlmCi0gICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6TWVkaWFS
ZXNvdXJjZToKLSAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpSYXdSZXNvdXJjZToKLSAg
ICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpTVkdEb2N1bWVudFJlc291cmNlOgotI2lmIEVO
QUJMRShYU0xUKQotICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OlhTTFN0eWxlU2hlZXQ6
Ci0jZW5kaWYKLSNpZiBFTkFCTEUoVklERU9fVFJBQ0spCi0gICAgY2FzZSBDYWNoZWRSZXNvdXJj
ZTo6VHlwZTo6VGV4dFRyYWNrUmVzb3VyY2U6Ci0jZW5kaWYKLSNpZiBFTkFCTEUoQVBQTElDQVRJ
T05fTUFOSUZFU1QpCi0gICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6QXBwbGljYXRpb25N
YW5pZmVzdDoKLSNlbmRpZgotICAgICAgICBicmVhazsKLSAgICB9OwotICAgIHJldHVybiAhY2Fj
aGVkUmVzb3VyY2UuYXJlQWxsQ2xpZW50c1hNTEh0dHBSZXF1ZXN0cygpOwotfQotCi1zdGF0aWMg
Ym9vbCBhcmVBbGxMb2FkZXJzUGFnZUNhY2hlQWNjZXB0YWJsZShjb25zdCBSZXNvdXJjZUxvYWRl
ck1hcCYgbG9hZGVycykKLXsKLSAgICBmb3IgKGF1dG8mIGxvYWRlciA6IGNvcHlUb1ZlY3Rvcihs
b2FkZXJzLnZhbHVlcygpKSkgewotICAgICAgICBpZiAoIWxvYWRlci0+ZnJhbWVMb2FkZXIoKSB8
fCAhbG9hZGVyLT5mcmFtZUxvYWRlcigpLT5mcmFtZSgpLnBhZ2UoKSkKLSAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKLQotICAgICAgICBDYWNoZWRSZXNvdXJjZSogY2FjaGVkUmVzb3VyY2UgPSBN
ZW1vcnlDYWNoZTo6c2luZ2xldG9uKCkucmVzb3VyY2VGb3JSZXF1ZXN0KGxvYWRlci0+cmVxdWVz
dCgpLCBsb2FkZXItPmZyYW1lTG9hZGVyKCktPmZyYW1lKCkucGFnZSgpLT5zZXNzaW9uSUQoKSk7
Ci0gICAgICAgIGlmICghY2FjaGVkUmVzb3VyY2UpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7
Ci0KLSAgICAgICAgLy8gT25seSBpbWFnZSBhbmQgWEhSIGxvYWRzIGRvIG5vdCBwcmV2ZW50IHRo
ZSBwYWdlIGZyb20gZW50ZXJpbmcgdGhlIFBhZ2VDYWNoZS4KLSAgICAgICAgLy8gQWxsIG5vbi1p
bWFnZSBsb2FkcyB3aWxsIHByZXZlbnQgdGhlIHBhZ2UgZnJvbSBlbnRlcmluZyB0aGUgUGFnZUNh
Y2hlLgotICAgICAgICBpZiAoc2hvdWxkUGVuZGluZ0NhY2hlZFJlc291cmNlTG9hZFByZXZlbnRQ
YWdlQ2FjaGUoKmNhY2hlZFJlc291cmNlKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAg
ICB9Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KIERvY3VtZW50TG9hZGVyOjpEb2N1bWVudExvYWRl
cihjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFN1YnN0aXR1dGVEYXRhJiBz
dWJzdGl0dXRlRGF0YSkKICAgICA6IEZyYW1lRGVzdHJ1Y3Rpb25PYnNlcnZlcihudWxscHRyKQog
ICAgICwgbV9jYWNoZWRSZXNvdXJjZUxvYWRlcihDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Y3JlYXRl
KHRoaXMpKQpAQCAtMzE0LDEzICsyNjAsNiBAQCB2b2lkIERvY3VtZW50TG9hZGVyOjpzdG9wTG9h
ZGluZygpCiAgICAgLy8gdG8gc3RvcCBsb2FkaW5nLiBCZWNhdXNlIG9mIHRoaXMsIHdlIG5lZWQg
dG8gc2F2ZSBpdCBzbyB3ZSBkb24ndCByZXR1cm4gZWFybHkuCiAgICAgYm9vbCBsb2FkaW5nID0g
aXNMb2FkaW5nKCk7CiAKLSAgICAvLyBXZSBtYXkgd2FudCB0byBhdWRpdCB0aGUgZXhpc3Rpbmcg
c3VicmVzb3VyY2UgbG9hZGVycyB3aGVuIHdlIGFyZSBvbiBhIHBhZ2Ugd2hpY2ggaGFzIGNvbXBs
ZXRlZAotICAgIC8vIGxvYWRpbmcgYnV0IHRoZXJlIGFyZSBzdWJyZXNvdXJjZSBsb2FkcyBkdXJp
bmcgY2FuY2VsbGF0aW9uLiBUaGlzIG11c3QgYmUgZG9uZSBiZWZvcmUgdGhlCi0gICAgLy8gZnJh
bWUtPnN0b3BMb2FkaW5nKCkgY2FsbCwgd2hpY2ggbWF5IGV2aWN0IHRoZSBDYWNoZWRSZXNvdXJj
ZXMsIHdoaWNoIHdlIHJlbHkgb24gdG8gY2hlY2sKLSAgICAvLyB0aGUgdHlwZSBvZiB0aGUgcmVz
b3VyY2UgbG9hZHMuCi0gICAgaWYgKGxvYWRpbmcgJiYgbV9jb21taXR0ZWQgJiYgIW1haW5SZXNv
dXJjZUxvYWRlcigpICYmICFtX3N1YnJlc291cmNlTG9hZGVycy5pc0VtcHR5KCkpCi0gICAgICAg
IG1fc3VicmVzb3VyY2VMb2FkZXJzQXJlUGFnZUNhY2hlQWNjZXB0YWJsZSA9IGFyZUFsbExvYWRl
cnNQYWdlQ2FjaGVBY2NlcHRhYmxlKG1fc3VicmVzb3VyY2VMb2FkZXJzKTsKLQogICAgIGlmICht
X2NvbW1pdHRlZCkgewogICAgICAgICAvLyBBdHRlbXB0IHRvIHN0b3AgdGhlIGZyYW1lIGlmIHRo
ZSBkb2N1bWVudCBsb2FkZXIgaXMgbG9hZGluZywgb3IgaWYgaXQgaXMgZG9uZSBsb2FkaW5nIGJ1
dAogICAgICAgICAvLyBzdGlsbCAgcGFyc2luZy4gRmFpbHVyZSB0byBkbyBzbyBjYW4gY2F1c2Ug
YSB3b3JsZCBsZWFrLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50
TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuaAppbmRleCA5
OThmZjVhOTdjODY3MGJkMGJjYzY2NzQ5MmIwNzk5MmJlODQwNzIxLi5hODVhMDc2NWY2ZjZiODE2
ZGUyYWNlM2Q1N2NjZDBiMDRiYjYyZTQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRG9jdW1lbnRMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRM
b2FkZXIuaApAQCAtMjY4LDggKzI2OCw2IEBAIHB1YmxpYzoKICAgICBib29sIGRpZENyZWF0ZUds
b2JhbEhpc3RvcnlFbnRyeSgpIGNvbnN0IHsgcmV0dXJuIG1fZGlkQ3JlYXRlR2xvYmFsSGlzdG9y
eUVudHJ5OyB9CiAgICAgdm9pZCBzZXREaWRDcmVhdGVHbG9iYWxIaXN0b3J5RW50cnkoYm9vbCBk
aWRDcmVhdGVHbG9iYWxIaXN0b3J5RW50cnkpIHsgbV9kaWRDcmVhdGVHbG9iYWxIaXN0b3J5RW50
cnkgPSBkaWRDcmVhdGVHbG9iYWxIaXN0b3J5RW50cnk7IH0KIAotICAgIGJvb2wgc3VicmVzb3Vy
Y2VMb2FkZXJzQXJlUGFnZUNhY2hlQWNjZXB0YWJsZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3VicmVz
b3VyY2VMb2FkZXJzQXJlUGFnZUNhY2hlQWNjZXB0YWJsZTsgfQotCiAgICAgdm9pZCBzZXREZWZl
cnNMb2FkaW5nKGJvb2wpOwogICAgIHZvaWQgc2V0TWFpblJlc291cmNlRGF0YUJ1ZmZlcmluZ1Bv
bGljeShEYXRhQnVmZmVyaW5nUG9saWN5KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNwcAppbmRleCA1ZTc5OTE2ODAwYWU4NjA2MTQ3
NDZjOWQxNTExMzk1OTUwMTA0M2FhLi5hOWJmNGI3MTM4MmVhNjRjMTliMzA5OGZiNmQzNTZiNjcy
ZmU1M2QyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRh
YmxlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRh
YmxlTG9hZGVyLmNwcApAQCAtNjU1LDExICs2NTUsNiBAQCBib29sIERvY3VtZW50VGhyZWFkYWJs
ZUxvYWRlcjo6aXNBbGxvd2VkUmVkaXJlY3QoY29uc3QgVVJMJiB1cmwpCiAgICAgcmV0dXJuIG1f
c2FtZU9yaWdpblJlcXVlc3QgJiYgc2VjdXJpdHlPcmlnaW4oKS5jYW5SZXF1ZXN0KHVybCk7CiB9
CiAKLWJvb2wgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjppc1hNTEh0dHBSZXF1ZXN0KCkgY29u
c3QKLXsKLSAgICByZXR1cm4gbV9vcHRpb25zLmluaXRpYXRvciA9PSBjYWNoZWRSZXNvdXJjZVJl
cXVlc3RJbml0aWF0b3JzKCkueG1saHR0cHJlcXVlc3Q7Ci19Ci0KIFNlY3VyaXR5T3JpZ2luJiBE
b2N1bWVudFRocmVhZGFibGVMb2FkZXI6OnNlY3VyaXR5T3JpZ2luKCkgY29uc3QKIHsKICAgICBy
ZXR1cm4gbV9vcmlnaW4gPyAqbV9vcmlnaW4gOiBtX2RvY3VtZW50LnNlY3VyaXR5T3JpZ2luKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9h
ZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmgK
aW5kZXggY2EyNWVjNWJkNzFkYzlhODllMTg1NWZiNmYwYTZmYmIzM2Q5ZTI5My4uZTllNDhkMmNi
YTAwYzY5ZTkxNzk2ZjI5ZDc5NjM2ZmJhMjllYzU4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaApAQCAtMTAyLDggKzEwMiw2IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCBpc0FsbG93ZWRSZWRpcmVjdChjb25zdCBV
UkwmKTsKICAgICAgICAgYm9vbCBpc0FsbG93ZWRCeUNvbnRlbnRTZWN1cml0eVBvbGljeShjb25z
dCBVUkwmLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZCk7
CiAKLSAgICAgICAgYm9vbCBpc1hNTEh0dHBSZXF1ZXN0KCkgY29uc3QgZmluYWw7Ci0KICAgICAg
ICAgU2VjdXJpdHlPcmlnaW4mIHNlY3VyaXR5T3JpZ2luKCkgY29uc3Q7CiAgICAgICAgIGNvbnN0
IENvbnRlbnRTZWN1cml0eVBvbGljeSYgY29udGVudFNlY3VyaXR5UG9saWN5KCkgY29uc3Q7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCmluZGV4
IDc2MWExMGJiOGQxODM2OThhNjg5MDg3MzIxM2Y5ZDQ4ODQ2MWE3NTUuLjcwMzNjNTFkZDlkYjc5
MTExMDBlY2VjMmY3ZTI2ZGM3OGM2ODAyNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcApAQCAtODY5LDE4ICs4NjksNiBAQCB1bnNpZ25lZCBD
YWNoZWRSZXNvdXJjZTo6b3ZlcmhlYWRTaXplKCkgY29uc3QKICAgICByZXR1cm4gc2l6ZW9mKENh
Y2hlZFJlc291cmNlKSArIG1fcmVzcG9uc2UubWVtb3J5VXNhZ2UoKSArIGtBdmVyYWdlQ2xpZW50
c0hhc2hNYXBTaXplICsgbV9yZXNvdXJjZVJlcXVlc3QudXJsKCkuc3RyaW5nKCkubGVuZ3RoKCkg
KiAyOwogfQogCi1ib29sIENhY2hlZFJlc291cmNlOjphcmVBbGxDbGllbnRzWE1MSHR0cFJlcXVl
c3RzKCkgY29uc3QKLXsKLSAgICBpZiAodHlwZSgpICE9IFR5cGU6OlJhd1Jlc291cmNlKQotICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBmb3IgKGF1dG8mIGNsaWVudCA6IG1fY2xpZW50cykg
ewotICAgICAgICBpZiAoIWNsaWVudC5rZXktPmlzWE1MSHR0cFJlcXVlc3QoKSkKLSAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KIHZvaWQgQ2Fj
aGVkUmVzb3VyY2U6OnNldExvYWRQcmlvcml0eShjb25zdCBPcHRpb25hbDxSZXNvdXJjZUxvYWRQ
cmlvcml0eT4mIGxvYWRQcmlvcml0eSkKIHsKICAgICBpZiAobG9hZFByaW9yaXR5KQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaAppbmRleCAyZmZlMmI0MTg3
OTk3ZWVmZGQ0MTVlMGVkYmU4MDJkYzE3MmNhZTZhLi5mYzMwYjBmMjQyNzkxMjkxNzRkOGE0MjY4
ZTVjZGE5ODAwNGFkMGQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkUmVzb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVk
UmVzb3VyY2UuaApAQCAtMTY1LDggKzE2NSw2IEBAIHB1YmxpYzoKIAogICAgIFN1YnJlc291cmNl
TG9hZGVyKiBsb2FkZXIoKSB7IHJldHVybiBtX2xvYWRlci5nZXQoKTsgfQogCi0gICAgYm9vbCBh
cmVBbGxDbGllbnRzWE1MSHR0cFJlcXVlc3RzKCkgY29uc3Q7Ci0KICAgICBib29sIGlzSW1hZ2Uo
KSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6SW1hZ2VSZXNvdXJjZTsgfQogICAgIC8v
IEZJWE1FOiBDYWNoZWRSYXdSZXNvdXJjZSBjb3VsZCBiZSBhIG1haW4gcmVzb3VyY2UsIGFuIGF1
ZGlvL3ZpZGVvIHJlc291cmNlLCBvciBhIHJhdyBYSFIvaWNvbiByZXNvdXJjZS4KICAgICBib29s
IGlzTWFpbk9yTWVkaWFPckljb25PclJhd1Jlc291cmNlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgp
ID09IFR5cGU6Ok1haW5SZXNvdXJjZSB8fCB0eXBlKCkgPT0gVHlwZTo6TWVkaWFSZXNvdXJjZSB8
fCB0eXBlKCkgPT0gVHlwZTo6SWNvbiB8fCB0eXBlKCkgPT0gVHlwZTo6UmF3UmVzb3VyY2UgfHwg
dHlwZSgpID09IFR5cGU6OkJlYWNvbiB8fCB0eXBlKCkgPT0gVHlwZTo6UGluZzsgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlQ2xpZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VDbGllbnQuaAppbmRl
eCAzMGJiMWU4NzY1YjFhNzIxYTU3MzU4MjkxMTljZGI0Mjk5MWFhYjk2Li43OTM2NzdkYjVlNzRj
MTAyMWM4ZTZhMmVjOThkZmQ4MDg3MWFjYjQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VDbGllbnQuaApAQCAtNDEsNyArNDEsNiBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCB+Q2FjaGVkUmVzb3VyY2VDbGllbnQoKSA9IGRlZmF1bHQ7CiAgICAg
dmlydHVhbCB2b2lkIG5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlJikgeyB9CiAgICAgdmly
dHVhbCB2b2lkIGRlcHJlY2F0ZWREaWRSZWNlaXZlQ2FjaGVkUmVzb3VyY2UoQ2FjaGVkUmVzb3Vy
Y2UmKSB7IH0KLSAgICB2aXJ0dWFsIGJvb2wgaXNYTUxIdHRwUmVxdWVzdCgpIGNvbnN0IHsgcmV0
dXJuIGZhbHNlOyB9CiAKICAgICBzdGF0aWMgQ2FjaGVkUmVzb3VyY2VDbGllbnRUeXBlIGV4cGVj
dGVkVHlwZSgpIHsgcmV0dXJuIEJhc2VSZXNvdXJjZVR5cGU7IH0KICAgICB2aXJ0dWFsIENhY2hl
ZFJlc291cmNlQ2xpZW50VHlwZSByZXNvdXJjZUNsaWVudFR5cGUoKSBjb25zdCB7IHJldHVybiBl
eHBlY3RlZFR5cGUoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9EaWFnbm9z
dGljTG9nZ2luZ0tleXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EaWFnbm9zdGljTG9nZ2lu
Z0tleXMuY3BwCmluZGV4IDE3OTZmZTg1YTA1MTE5YWY2YmM3ZWQwZDQxY2VlNGQyN2ZhYTQ3ZDYu
LjU3ZThhYTljN2QxMDE1ZjJhOTU0NTg5NTc5MGJiZGRhMDFjY2U4YWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRGlhZ25vc3RpY0xvZ2dpbmdLZXlzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RpYWdub3N0aWNMb2dnaW5nS2V5cy5jcHAKQEAgLTIzMyw5ICsyMzMsOSBA
QCBTdHJpbmcgRGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjpvdGhlcktleSgpCiAgICAgcmV0dXJuICJv
dGhlciJfczsKIH0KIAotU3RyaW5nIERpYWdub3N0aWNMb2dnaW5nS2V5czo6bWFpbkRvY3VtZW50
RXJyb3JLZXkoKQorU3RyaW5nIERpYWdub3N0aWNMb2dnaW5nS2V5czo6bWFpbkZyYW1lSGFzTm90
RmluaXNoZWRMb2FkaW5nS2V5KCkKIHsKLSAgICByZXR1cm4gIm1haW5Eb2N1bWVudEVycm9yIl9z
OworICAgIHJldHVybiAibWFpbkZyYW1lSGFzTm90RmluaXNoZWRMb2FkaW5nIl9zOwogfQogCiBT
dHJpbmcgRGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjptYWluUmVzb3VyY2VLZXkoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9EaWFnbm9zdGljTG9nZ2luZ0tleXMuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRGlhZ25vc3RpY0xvZ2dpbmdLZXlzLmgKaW5kZXggZmQ5NDRmMDgwMmI0OWJj
NmJiM2NmMDkyYmZlOWJlNDNkZjcxZjA3NC4uZjQwMzRiZDFhZjJkNjFjNWU4NDViYWNhYWJkMjZh
YzlmMjk3YzkwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9EaWFnbm9zdGljTG9n
Z2luZ0tleXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RpYWdub3N0aWNMb2dnaW5nS2V5
cy5oCkBAIC04OCw3ICs4OCw3IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMg
U3RyaW5nIGlzUmVsb2FkSWdub3JpbmdDYWNoZURhdGFLZXkoKTsKICAgICBzdGF0aWMgU3RyaW5n
IGxvYWRpbmdLZXkoKTsKICAgICBzdGF0aWMgU3RyaW5nIGlzTG9hZGluZ0tleSgpOwotICAgIHN0
YXRpYyBTdHJpbmcgbWFpbkRvY3VtZW50RXJyb3JLZXkoKTsKKyAgICBzdGF0aWMgU3RyaW5nIG1h
aW5GcmFtZUhhc05vdEZpbmlzaGVkTG9hZGluZ0tleSgpOwogICAgIHN0YXRpYyBTdHJpbmcgbWFp
blJlc291cmNlS2V5KCk7CiAgICAgc3RhdGljIFN0cmluZyBtZWRpYUxvYWRlZEtleSgpOwogICAg
IHN0YXRpYyBTdHJpbmcgbWVkaWFMb2FkaW5nRmFpbGVkS2V5KCk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNGU0N2Q1MzEx
MzQxZWI5YTNiMTc2NWVjMTczYjhlYWNlN2M0OTBlMy4uZTg3ZTkyNTYzOTY3Yzc3ZTIyMzcxOGVi
ODc0ZGVjYzNmMTU5MGNjNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE5LTA5LTI2ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUGFnZXMgZnJlcXVlbnRseSBm
YWlscyB0byBlbnRlciB0aGUgYmFjay9mb3J3YXJkIGNhY2hlIGR1ZSB0byBwZW5kaW5nIGxvYWRz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDIyODkK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU1NzU4NTA2PgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBsYXlvdXQgdGVzdCBjb3ZlcmFnZS4KKwor
ICAgICAgICAqIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLXBlbmRpbmctbG9hZC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdl
LWNhY2hlLXBlbmRpbmctbG9hZC5odG1sOiBBZGRlZC4KKwogMjAxOS0wOS0yNiAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIElEQlJlcXVlc3Qgc2hvdWxkIG5vdCBw
cmV2ZW50IGEgcGFnZSBmcm9tIGVudGVyaW5nIHRoZSBiYWNrL2ZvcndhcmQgY2FjaGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLXBlbmRp
bmctbG9hZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24v
cGFnZS1jYWNoZS1wZW5kaW5nLWxvYWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRmZGQ3NDY0
YzQ2YTYwZjZmM2NlYTRkYzdhNWE5ZjMzZGNlYmEzNWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcGFnZS1jYWNoZS1wZW5kaW5nLWxvYWQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Rlc3RzIHRoYXQgYSBwYWdlIHdpdGggcGVuZGlu
ZyBzdWJyZXNvdXJjZSBsb2FkcyBnb2VzIGludG8gdGhlIHBhZ2UgY2FjaGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworCitwYWdlc2hvdyAtIG5vdCBmcm9tIGNhY2hlCitwYWdlaGlk
ZSAtIGVudGVyaW5nIGNhY2hlCitwYWdlc2hvdyAtIGZyb20gY2FjaGUKK1BBU1MgUGFnZSBkaWQg
ZW50ZXIgYW5kIHdhcyByZXN0b3JlZCBmcm9tIHRoZSBwYWdlIGNhY2hlCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUtcGVuZGluZy1sb2FkLmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcGFnZS1jYWNoZS1wZW5kaW5nLWxv
YWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMjM4OGNlOTM2M2I2Y2U2Yjg1YTEyNTY3Y2RjNDE5MmM5NmZk
ZGRlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9u
L3BhZ2UtY2FjaGUtcGVuZGluZy1sb2FkLmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24o
J1Rlc3RzIHRoYXQgYSBwYWdlIHdpdGggcGVuZGluZyBzdWJyZXNvdXJjZSBsb2FkcyBnb2VzIGlu
dG8gdGhlIHBhZ2UgY2FjaGUuJyk7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisKK2lm
ICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgi
V2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKKword2luZG93LmFkZEV2ZW50
TGlzdGVuZXIoInBhZ2VzaG93IiwgZnVuY3Rpb24oZXZlbnQpIHsKKyAgICBkZWJ1ZygicGFnZXNo
b3cgLSAiICsgKGV2ZW50LnBlcnNpc3RlZCA/ICIiIDogIm5vdCAiKSArICJmcm9tIGNhY2hlIik7
CisKKyAgICBpZiAoZXZlbnQucGVyc2lzdGVkKSB7CisgICAgICAgIHRlc3RQYXNzZWQoIlBhZ2Ug
ZGlkIGVudGVyIGFuZCB3YXMgcmVzdG9yZWQgZnJvbSB0aGUgcGFnZSBjYWNoZSIpOworICAgICAg
ICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgIH0sIDApOworICAgIH0KK30sIGZhbHNlKTsKKword2luZG93LmFkZEV2ZW50TGlzdGVu
ZXIoInBhZ2VoaWRlIiwgZnVuY3Rpb24oZXZlbnQpIHsKKyAgICBkZWJ1ZygicGFnZWhpZGUgLSAi
ICsgKGV2ZW50LnBlcnNpc3RlZCA/ICIiIDogIm5vdCAiKSArICJlbnRlcmluZyBjYWNoZSIpOwor
ICAgIGlmICghZXZlbnQucGVyc2lzdGVkKSB7CisgICAgICAgIHRlc3RGYWlsZWQoIlBhZ2UgZGlk
IG5vdCBlbnRlciB0aGUgcGFnZSBjYWNoZS4iKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgfQorfSwgZmFsc2UpOworCit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGZ1bmN0
aW9uKCkgeworICAgIHZhciBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpOwor
ICAgIGxpbmsucmVsID0gInN0eWxlc2hlZXQiOworICAgIGxpbmsudHlwZSA9ICJ0ZXh0L2NzcyI7
CisgICAgbGluay5ocmVmID0gIi9pbmNyZW1lbnRhbC9yZXNvdXJjZXMvc2xvdy11dGY4LWNzcy5w
bCI7CisgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChsaW5rKTsKKworICAgIHZhciBzY3Jp
cHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsKKyAgICBzY3JpcHQuYXN5bmMg
PSB0cnVlOworICAgIHNjcmlwdC5zcmMgPSAiL3Jlc291cmNlcy9zbG93LXNjcmlwdC5wbCIKKyAg
ICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHNjcmlwdCk7CisKKyAgICAvLyBUaGlzIG5lZWRz
IHRvIGhhcHBlbiBpbiBhIHNldFRpbWVvdXQgYmVjYXVzZSBhIG5hdmlnYXRpb24gaW5zaWRlIHRo
ZSBvbmxvYWQgaGFuZGxlciB3b3VsZAorICAgIC8vIG5vdCBjcmVhdGUgYSBoaXN0b3J5IGVudHJ5
LgorICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICAvLyBGb3JjZSBhIGJhY2sgbmF2
aWdhdGlvbiBiYWNrIHRvIHRoaXMgcGFnZS4KKyAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0g
InJlc291cmNlcy9wYWdlLWNhY2hlLWhlbHBlci5odG1sIjsKKyAgICB9LCAwKTsKK30sIGZhbHNl
KTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379682</attachid>
            <date>2019-09-26 14:41:40 -0700</date>
            <delta_ts>2019-09-26 15:16:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202289-20190926144139.patch</filename>
            <type>text/plain</type>
            <size>17756</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwMzQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDJhMGQxYmRhYTVkYTY0
MmM0M2MzMGUwZDk3OTk1ZDNjOTc4ZWY4Mi4uMWQxOTk2Y2VjMjFiZDczMWM2ZmZmMDYxNDU1MDBi
ZDM1OWRmZjhkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE5LTA5LTI2ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUGFnZXMgZnJlcXVlbnRseSBm
YWlscyB0byBlbnRlciB0aGUgYmFjay9mb3J3YXJkIGNhY2hlIGR1ZSB0byBwZW5kaW5nIGxvYWRz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDIyODkK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU1NzU4NTA2PgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFsbG93IHBhZ2VzIHRvIGVudGVyIHRoZSBiYWNr
IC8gZm9yd2FyZCBjYWNoZSwgZXZlbiBpZiB0aGV5IGhhdmUgcGVuZGluZyBsb2Fkcy4KKyAgICAg
ICAgTm90ZSB0aGF0IHRoZXNlIHBlbmRpbmcgbG9hZHMgZ2V0IGNhbmNlbGxlZC4gQWxzbyBub3Rl
IHRoYXQgd2Ugd29uJ3QgZW50ZXIgcGFnZQorICAgICAgICBjYWNoZSB1bmxlc3MgdGhlICdsb2Fk
JyBldmVudCBoYXMgYmVlbiBmaXJlZCBpbiB0aGUgbWFpbiBmcmFtZSwgc2luY2UgYQorICAgICAg
ICBIaXN0b3J5SXRlbSB3b3VsZCBub3QgZ2V0IGNyZWF0ZWQgb3RoZXJ3aXNlLiBUaGlzIHdhcyBj
YXVzaW5nIGZyZXF1ZW50IHRyYW5zaWVudAorICAgICAgICBmYWlsdXJlcyB0byBlbnRlciB0aGUg
YmFjayAvIGZvcndhcmQgY2FjaGUgd2hpbGUgYnJvd3NpbmcgKGUuZy4gb24gd2VhdGhlci5jb20p
LgorCisgICAgICAgIFRlc3Q6IGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLXBlbmRp
bmctbG9hZC5odG1sCisKKyAgICAgICAgKiBoaXN0b3J5L1BhZ2VDYWNoZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpjYW5DYWNoZUZyYW1lKToKKyAgICAgICAgKiBsb2FkZXIvQ3Jvc3NPcmlnaW5Q
cmVmbGlnaHRDaGVja2VyLmNwcDoKKyAgICAgICAgKiBsb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGln
aHRDaGVja2VyLmg6CisgICAgICAgICogbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpzZXRNYWluRG9jdW1lbnRFcnJvcik6CisgICAg
ICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6c3RvcExvYWRpbmcpOgorICAgICAgICAqIGxv
YWRlci9Eb2N1bWVudExvYWRlci5oOgorICAgICAgICAqIGxvYWRlci9Eb2N1bWVudFRocmVhZGFi
bGVMb2FkZXIuY3BwOgorICAgICAgICAqIGxvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIu
aDoKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwOgorICAgICAgICAq
IGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZUNsaWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VD
bGllbnQ6OmRlcHJlY2F0ZWREaWRSZWNlaXZlQ2FjaGVkUmVzb3VyY2UpOgorICAgICAgICAqIHBh
Z2UvRGlhZ25vc3RpY0xvZ2dpbmdLZXlzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRpYWdub3N0
aWNMb2dnaW5nS2V5czo6bWFpbkZyYW1lSGFzTm90RmluaXNoZWRMb2FkaW5nS2V5KToKKyAgICAg
ICAgKiBwYWdlL0RpYWdub3N0aWNMb2dnaW5nS2V5cy5oOgorCiAyMDE5LTA5LTI2ICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgSURCUmVxdWVzdCBzaG91bGQgbm90
IHByZXZlbnQgYSBwYWdlIGZyb20gZW50ZXJpbmcgdGhlIGJhY2svZm9yd2FyZCBjYWNoZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuY3BwCmluZGV4IGQ0M2YyMTJhODAxYzliMTQ0MDk3OWE2
Njc5ZDIxYzlkM2MxNWEwMDQuLjZiOTAxZmI1MWIzZWQzZDlhNTZjZDIxOTQ1ZDA4YjFlYzVjOTJi
ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5jcHAKQEAgLTExNiwxNSArMTE2LDYg
QEAgc3RhdGljIGJvb2wgY2FuQ2FjaGVGcmFtZShGcmFtZSYgZnJhbWUsIERpYWdub3N0aWNMb2dn
aW5nQ2xpZW50JiBkaWFnbm9zdGljTG9nZ2kKICAgICAgICAgUENMT0coIiBEZXRlcm1pbmluZyBp
ZiBzdWJmcmFtZSB3aXRoIFVSTCAoIiwgY3VycmVudFVSTC5zdHJpbmcoKSwgIikgY2FuIGJlIGNh
Y2hlZDoiKTsKICAgICAgCiAgICAgYm9vbCBpc0NhY2hlYWJsZSA9IHRydWU7Ci0gICAgaWYgKCFk
b2N1bWVudExvYWRlci0+bWFpbkRvY3VtZW50RXJyb3IoKS5pc051bGwoKSkgewotICAgICAgICBQ
Q0xPRygiICAgLU1haW4gZG9jdW1lbnQgaGFzIGFuIGVycm9yIik7Ci0gICAgICAgIGxvZ1BhZ2VD
YWNoZUZhaWx1cmVEaWFnbm9zdGljTWVzc2FnZShkaWFnbm9zdGljTG9nZ2luZ0NsaWVudCwgRGlh
Z25vc3RpY0xvZ2dpbmdLZXlzOjptYWluRG9jdW1lbnRFcnJvcktleSgpKTsKLQotICAgICAgICBp
ZiAoZG9jdW1lbnRMb2FkZXItPm1haW5Eb2N1bWVudEVycm9yKCkuaXNDYW5jZWxsYXRpb24oKSAm
JiBkb2N1bWVudExvYWRlci0+c3VicmVzb3VyY2VMb2FkZXJzQXJlUGFnZUNhY2hlQWNjZXB0YWJs
ZSgpKQotICAgICAgICAgICAgUENMT0coIiAgICAtQnV0LCBpdCB3YXMgYSBjYW5jZWxsYXRpb24g
YW5kIGFsbCBsb2FkZXJzIGR1cmluZyB0aGUgY2FuY2VsYXRpb24gd2VyZSBsb2FkaW5nIGltYWdl
cyBvciBYSFIuIik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGlzQ2FjaGVhYmxlID0gZmFs
c2U7Ci0gICAgfQogICAgIC8vIERvIG5vdCBjYWNoZSBlcnJvciBwYWdlcyAodGhlc2UgY2FuIGJl
IHJlY29nbml6ZWQgYXMgcGFnZXMgd2l0aCBzdWJzdGl0dXRlIGRhdGEgb3IgdW5yZWFjaGFibGUg
VVJMcykuCiAgICAgaWYgKGRvY3VtZW50TG9hZGVyLT5zdWJzdGl0dXRlRGF0YSgpLmlzVmFsaWQo
KSAmJiAhZG9jdW1lbnRMb2FkZXItPnN1YnN0aXR1dGVEYXRhKCkuZmFpbGluZ1VSTCgpLmlzRW1w
dHkoKSkgewogICAgICAgICBQQ0xPRygiICAgLUZyYW1lIGlzIGFuIGVycm9yIHBhZ2UiKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodENoZWNr
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0Q2hlY2tl
ci5jcHAKaW5kZXggZDIxM2YxYTY0MmFlZTdmODQ0ZGE5MGQ1NmQxNTRjYTU2MDQ3MTJhMS4uYjNk
ZjQxMTA3ZGRiZWZkMDNlM2JkNDRiZmQyNWE4M2U5YmE4MWI2ZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0Q2hlY2tlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0Q2hlY2tlci5jcHAKQEAgLTE2
OSw5ICsxNjksNCBAQCB2b2lkIENyb3NzT3JpZ2luUHJlZmxpZ2h0Q2hlY2tlcjo6c2V0RGVmZXJz
TG9hZGluZyhib29sIHZhbHVlKQogICAgICAgICBtX3Jlc291cmNlLT5zZXREZWZlcnNMb2FkaW5n
KHZhbHVlKTsKIH0KIAotYm9vbCBDcm9zc09yaWdpblByZWZsaWdodENoZWNrZXI6OmlzWE1MSHR0
cFJlcXVlc3QoKSBjb25zdAotewotICAgIHJldHVybiBtX2xvYWRlci5pc1hNTEh0dHBSZXF1ZXN0
KCk7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodENoZWNrZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodENoZWNrZXIuaAppbmRleCA5YTQwMDI2MDg0NzFi
Yzg4NTgyOWRhNWM2YzE3NGRiYWZlZmZkNDU5Li4xYTdmNGUyMWE5NjdkMWZjNTk4ZTM1M2JlN2Nk
Mjk4MmM0YTlkMGI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmln
aW5QcmVmbGlnaHRDaGVja2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3Jp
Z2luUHJlZmxpZ2h0Q2hlY2tlci5oCkBAIC01OSw4ICs1OSw2IEBAIHByaXZhdGU6CiAgICAgc3Rh
dGljIHZvaWQgaGFuZGxlTG9hZGluZ0ZhaWx1cmUoRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyJiwg
dW5zaWduZWQgbG9uZywgY29uc3QgUmVzb3VyY2VFcnJvciYpOwogICAgIHN0YXRpYyB2b2lkIHZh
bGlkYXRlUHJlZmxpZ2h0UmVzcG9uc2UoRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyJiwgUmVzb3Vy
Y2VSZXF1ZXN0JiYsIHVuc2lnbmVkIGxvbmcsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKTsKIAot
ICAgIGJvb2wgaXNYTUxIdHRwUmVxdWVzdCgpIGNvbnN0IGZpbmFsOwotCiAgICAgRG9jdW1lbnRU
aHJlYWRhYmxlTG9hZGVyJiBtX2xvYWRlcjsKICAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNo
ZWRSYXdSZXNvdXJjZT4gbV9yZXNvdXJjZTsKICAgICBSZXNvdXJjZVJlcXVlc3QgbV9yZXF1ZXN0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKaW5kZXggZjNhMDYzYzRl
YzBlYmY0MjVlZDU0MTc3ZTBkMDQ1NjEzNDliNzljZC4uYzQ4MTZkNDNiMmU5MzA1MGRkN2M0MjM3
MzM3OWVkNWQyMWE5NTJhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3Vt
ZW50TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIu
Y3BwCkBAIC0xMjUsNjAgKzEyNSw2IEBAIHN0YXRpYyB2b2lkIHNldEFsbERlZmVyc0xvYWRpbmco
Y29uc3QgUmVzb3VyY2VMb2FkZXJNYXAmIGxvYWRlcnMsIGJvb2wgZGVmZXJzKQogICAgICAgICBs
b2FkZXItPnNldERlZmVyc0xvYWRpbmcoZGVmZXJzKTsKIH0KIAotc3RhdGljIGJvb2wgc2hvdWxk
UGVuZGluZ0NhY2hlZFJlc291cmNlTG9hZFByZXZlbnRQYWdlQ2FjaGUoQ2FjaGVkUmVzb3VyY2Um
IGNhY2hlZFJlc291cmNlKQotewotICAgIGlmICghY2FjaGVkUmVzb3VyY2UuaXNMb2FkaW5nKCkp
Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHN3aXRjaCAoY2FjaGVkUmVzb3VyY2UudHlw
ZSgpKSB7Ci0gICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6SW1hZ2VSZXNvdXJjZToKLSAg
ICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpJY29uOgotICAgIGNhc2UgQ2FjaGVkUmVzb3Vy
Y2U6OlR5cGU6OkJlYWNvbjoKLSAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpQaW5nOgot
ICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OkxpbmtQcmVmZXRjaDoKLSAgICAgICAgcmV0
dXJuIGZhbHNlOwotICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6Ok1haW5SZXNvdXJjZToK
LSAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpDU1NTdHlsZVNoZWV0OgotICAgIGNhc2Ug
Q2FjaGVkUmVzb3VyY2U6OlR5cGU6OlNjcmlwdDoKLSAgICBjYXNlIENhY2hlZFJlc291cmNlOjpU
eXBlOjpGb250UmVzb3VyY2U6Ci0jaWYgRU5BQkxFKFNWR19GT05UUykKLSAgICBjYXNlIENhY2hl
ZFJlc291cmNlOjpUeXBlOjpTVkdGb250UmVzb3VyY2U6Ci0jZW5kaWYKLSAgICBjYXNlIENhY2hl
ZFJlc291cmNlOjpUeXBlOjpNZWRpYVJlc291cmNlOgotICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6
OlR5cGU6OlJhd1Jlc291cmNlOgotICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OlNWR0Rv
Y3VtZW50UmVzb3VyY2U6Ci0jaWYgRU5BQkxFKFhTTFQpCi0gICAgY2FzZSBDYWNoZWRSZXNvdXJj
ZTo6VHlwZTo6WFNMU3R5bGVTaGVldDoKLSNlbmRpZgotI2lmIEVOQUJMRShWSURFT19UUkFDSykK
LSAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpUZXh0VHJhY2tSZXNvdXJjZToKLSNlbmRp
ZgotI2lmIEVOQUJMRShBUFBMSUNBVElPTl9NQU5JRkVTVCkKLSAgICBjYXNlIENhY2hlZFJlc291
cmNlOjpUeXBlOjpBcHBsaWNhdGlvbk1hbmlmZXN0OgotI2VuZGlmCi0gICAgICAgIGJyZWFrOwot
ICAgIH07Ci0gICAgcmV0dXJuICFjYWNoZWRSZXNvdXJjZS5hcmVBbGxDbGllbnRzWE1MSHR0cFJl
cXVlc3RzKCk7Ci19Ci0KLXN0YXRpYyBib29sIGFyZUFsbExvYWRlcnNQYWdlQ2FjaGVBY2NlcHRh
YmxlKGNvbnN0IFJlc291cmNlTG9hZGVyTWFwJiBsb2FkZXJzKQotewotICAgIGZvciAoYXV0byYg
bG9hZGVyIDogY29weVRvVmVjdG9yKGxvYWRlcnMudmFsdWVzKCkpKSB7Ci0gICAgICAgIGlmICgh
bG9hZGVyLT5mcmFtZUxvYWRlcigpIHx8ICFsb2FkZXItPmZyYW1lTG9hZGVyKCktPmZyYW1lKCku
cGFnZSgpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgICAgIENhY2hlZFJlc291
cmNlKiBjYWNoZWRSZXNvdXJjZSA9IE1lbW9yeUNhY2hlOjpzaW5nbGV0b24oKS5yZXNvdXJjZUZv
clJlcXVlc3QobG9hZGVyLT5yZXF1ZXN0KCksIGxvYWRlci0+ZnJhbWVMb2FkZXIoKS0+ZnJhbWUo
KS5wYWdlKCktPnNlc3Npb25JRCgpKTsKLSAgICAgICAgaWYgKCFjYWNoZWRSZXNvdXJjZSkKLSAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgICAgICAvLyBPbmx5IGltYWdlIGFuZCBYSFIg
bG9hZHMgZG8gbm90IHByZXZlbnQgdGhlIHBhZ2UgZnJvbSBlbnRlcmluZyB0aGUgUGFnZUNhY2hl
LgotICAgICAgICAvLyBBbGwgbm9uLWltYWdlIGxvYWRzIHdpbGwgcHJldmVudCB0aGUgcGFnZSBm
cm9tIGVudGVyaW5nIHRoZSBQYWdlQ2FjaGUuCi0gICAgICAgIGlmIChzaG91bGRQZW5kaW5nQ2Fj
aGVkUmVzb3VyY2VMb2FkUHJldmVudFBhZ2VDYWNoZSgqY2FjaGVkUmVzb3VyY2UpKQotICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQogRG9jdW1l
bnRMb2FkZXI6OkRvY3VtZW50TG9hZGVyKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwg
Y29uc3QgU3Vic3RpdHV0ZURhdGEmIHN1YnN0aXR1dGVEYXRhKQogICAgIDogRnJhbWVEZXN0cnVj
dGlvbk9ic2VydmVyKG51bGxwdHIpCiAgICAgLCBtX2NhY2hlZFJlc291cmNlTG9hZGVyKENhY2hl
ZFJlc291cmNlTG9hZGVyOjpjcmVhdGUodGhpcykpCkBAIC0zMTQsMTMgKzI2MCw2IEBAIHZvaWQg
RG9jdW1lbnRMb2FkZXI6OnN0b3BMb2FkaW5nKCkKICAgICAvLyB0byBzdG9wIGxvYWRpbmcuIEJl
Y2F1c2Ugb2YgdGhpcywgd2UgbmVlZCB0byBzYXZlIGl0IHNvIHdlIGRvbid0IHJldHVybiBlYXJs
eS4KICAgICBib29sIGxvYWRpbmcgPSBpc0xvYWRpbmcoKTsKIAotICAgIC8vIFdlIG1heSB3YW50
IHRvIGF1ZGl0IHRoZSBleGlzdGluZyBzdWJyZXNvdXJjZSBsb2FkZXJzIHdoZW4gd2UgYXJlIG9u
IGEgcGFnZSB3aGljaCBoYXMgY29tcGxldGVkCi0gICAgLy8gbG9hZGluZyBidXQgdGhlcmUgYXJl
IHN1YnJlc291cmNlIGxvYWRzIGR1cmluZyBjYW5jZWxsYXRpb24uIFRoaXMgbXVzdCBiZSBkb25l
IGJlZm9yZSB0aGUKLSAgICAvLyBmcmFtZS0+c3RvcExvYWRpbmcoKSBjYWxsLCB3aGljaCBtYXkg
ZXZpY3QgdGhlIENhY2hlZFJlc291cmNlcywgd2hpY2ggd2UgcmVseSBvbiB0byBjaGVjawotICAg
IC8vIHRoZSB0eXBlIG9mIHRoZSByZXNvdXJjZSBsb2Fkcy4KLSAgICBpZiAobG9hZGluZyAmJiBt
X2NvbW1pdHRlZCAmJiAhbWFpblJlc291cmNlTG9hZGVyKCkgJiYgIW1fc3VicmVzb3VyY2VMb2Fk
ZXJzLmlzRW1wdHkoKSkKLSAgICAgICAgbV9zdWJyZXNvdXJjZUxvYWRlcnNBcmVQYWdlQ2FjaGVB
Y2NlcHRhYmxlID0gYXJlQWxsTG9hZGVyc1BhZ2VDYWNoZUFjY2VwdGFibGUobV9zdWJyZXNvdXJj
ZUxvYWRlcnMpOwotCiAgICAgaWYgKG1fY29tbWl0dGVkKSB7CiAgICAgICAgIC8vIEF0dGVtcHQg
dG8gc3RvcCB0aGUgZnJhbWUgaWYgdGhlIGRvY3VtZW50IGxvYWRlciBpcyBsb2FkaW5nLCBvciBp
ZiBpdCBpcyBkb25lIGxvYWRpbmcgYnV0CiAgICAgICAgIC8vIHN0aWxsICBwYXJzaW5nLiBGYWls
dXJlIHRvIGRvIHNvIGNhbiBjYXVzZSBhIHdvcmxkIGxlYWsuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9E
b2N1bWVudExvYWRlci5oCmluZGV4IDk5OGZmNWE5N2M4NjcwYmQwYmNjNjY3NDkyYjA3OTkyYmU4
NDA3MjEuLmE4NWEwNzY1ZjZmNmI4MTZkZTJhY2UzZDU3Y2NkMGIwNGJiNjJlNDMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oCkBAIC0yNjgsOCArMjY4LDYgQEAgcHVibGlj
OgogICAgIGJvb2wgZGlkQ3JlYXRlR2xvYmFsSGlzdG9yeUVudHJ5KCkgY29uc3QgeyByZXR1cm4g
bV9kaWRDcmVhdGVHbG9iYWxIaXN0b3J5RW50cnk7IH0KICAgICB2b2lkIHNldERpZENyZWF0ZUds
b2JhbEhpc3RvcnlFbnRyeShib29sIGRpZENyZWF0ZUdsb2JhbEhpc3RvcnlFbnRyeSkgeyBtX2Rp
ZENyZWF0ZUdsb2JhbEhpc3RvcnlFbnRyeSA9IGRpZENyZWF0ZUdsb2JhbEhpc3RvcnlFbnRyeTsg
fQogCi0gICAgYm9vbCBzdWJyZXNvdXJjZUxvYWRlcnNBcmVQYWdlQ2FjaGVBY2NlcHRhYmxlKCkg
Y29uc3QgeyByZXR1cm4gbV9zdWJyZXNvdXJjZUxvYWRlcnNBcmVQYWdlQ2FjaGVBY2NlcHRhYmxl
OyB9Ci0KICAgICB2b2lkIHNldERlZmVyc0xvYWRpbmcoYm9vbCk7CiAgICAgdm9pZCBzZXRNYWlu
UmVzb3VyY2VEYXRhQnVmZmVyaW5nUG9saWN5KERhdGFCdWZmZXJpbmdQb2xpY3kpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwCmlu
ZGV4IDVlNzk5MTY4MDBhZTg2MDYxNDc0NmM5ZDE1MTEzOTU5NTAxMDQzYWEuLmE5YmY0YjcxMzgy
ZWE2NGMxOWIzMDk4ZmI2ZDM1NmI2NzJmZTUzZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwCkBAIC02NTUsMTEgKzY1NSw2IEBA
IGJvb2wgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjppc0FsbG93ZWRSZWRpcmVjdChjb25zdCBV
UkwmIHVybCkKICAgICByZXR1cm4gbV9zYW1lT3JpZ2luUmVxdWVzdCAmJiBzZWN1cml0eU9yaWdp
bigpLmNhblJlcXVlc3QodXJsKTsKIH0KIAotYm9vbCBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6
OmlzWE1MSHR0cFJlcXVlc3QoKSBjb25zdAotewotICAgIHJldHVybiBtX29wdGlvbnMuaW5pdGlh
dG9yID09IGNhY2hlZFJlc291cmNlUmVxdWVzdEluaXRpYXRvcnMoKS54bWxodHRwcmVxdWVzdDsK
LX0KLQogU2VjdXJpdHlPcmlnaW4mIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6c2VjdXJpdHlP
cmlnaW4oKSBjb25zdAogewogICAgIHJldHVybiBtX29yaWdpbiA/ICptX29yaWdpbiA6IG1fZG9j
dW1lbnQuc2VjdXJpdHlPcmlnaW4oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1
bWVudFRocmVhZGFibGVMb2FkZXIuaAppbmRleCBjYTI1ZWM1YmQ3MWRjOWE4OWUxODU1ZmI2ZjBh
NmZiYjMzZDllMjkzLi5lOWU0OGQyY2JhMDBjNjllOTE3OTZmMjlkNzk2MzZmYmEyOWVjNTg3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5o
CkBAIC0xMDIsOCArMTAyLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIGlz
QWxsb3dlZFJlZGlyZWN0KGNvbnN0IFVSTCYpOwogICAgICAgICBib29sIGlzQWxsb3dlZEJ5Q29u
dGVudFNlY3VyaXR5UG9saWN5KGNvbnN0IFVSTCYsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVk
aXJlY3RSZXNwb25zZVJlY2VpdmVkKTsKIAotICAgICAgICBib29sIGlzWE1MSHR0cFJlcXVlc3Qo
KSBjb25zdCBmaW5hbDsKLQogICAgICAgICBTZWN1cml0eU9yaWdpbiYgc2VjdXJpdHlPcmlnaW4o
KSBjb25zdDsKICAgICAgICAgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5JiBjb250ZW50U2Vj
dXJpdHlQb2xpY3koKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZS5jcHAKaW5kZXggNzYxYTEwYmI4ZDE4MzY5OGE2ODkwODczMjEzZjlkNDg4
NDYxYTc1NS4uNzAzM2M1MWRkOWRiNzkxMTEwMGVjZWMyZjdlMjZkYzc4YzY4MDI3NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCkBAIC04Njks
MTggKzg2OSw2IEBAIHVuc2lnbmVkIENhY2hlZFJlc291cmNlOjpvdmVyaGVhZFNpemUoKSBjb25z
dAogICAgIHJldHVybiBzaXplb2YoQ2FjaGVkUmVzb3VyY2UpICsgbV9yZXNwb25zZS5tZW1vcnlV
c2FnZSgpICsga0F2ZXJhZ2VDbGllbnRzSGFzaE1hcFNpemUgKyBtX3Jlc291cmNlUmVxdWVzdC51
cmwoKS5zdHJpbmcoKS5sZW5ndGgoKSAqIDI7CiB9CiAKLWJvb2wgQ2FjaGVkUmVzb3VyY2U6OmFy
ZUFsbENsaWVudHNYTUxIdHRwUmVxdWVzdHMoKSBjb25zdAotewotICAgIGlmICh0eXBlKCkgIT0g
VHlwZTo6UmF3UmVzb3VyY2UpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGZvciAoYXV0
byYgY2xpZW50IDogbV9jbGllbnRzKSB7Ci0gICAgICAgIGlmICghY2xpZW50LmtleS0+aXNYTUxI
dHRwUmVxdWVzdCgpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgICByZXR1
cm4gdHJ1ZTsKLX0KLQogdm9pZCBDYWNoZWRSZXNvdXJjZTo6c2V0TG9hZFByaW9yaXR5KGNvbnN0
IE9wdGlvbmFsPFJlc291cmNlTG9hZFByaW9yaXR5PiYgbG9hZFByaW9yaXR5KQogewogICAgIGlm
IChsb2FkUHJpb3JpdHkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkUmVzb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNv
dXJjZS5oCmluZGV4IDJmZmUyYjQxODc5OTdlZWZkZDQxNWUwZWRiZTgwMmRjMTcyY2FlNmEuLmZj
MzBiMGYyNDI3OTEyOTE3NGQ4YTQyNjhlNWNkYTk4MDA0YWQwZDYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCkBAIC0xNjUsOCArMTY1LDYgQEAgcHVi
bGljOgogCiAgICAgU3VicmVzb3VyY2VMb2FkZXIqIGxvYWRlcigpIHsgcmV0dXJuIG1fbG9hZGVy
LmdldCgpOyB9CiAKLSAgICBib29sIGFyZUFsbENsaWVudHNYTUxIdHRwUmVxdWVzdHMoKSBjb25z
dDsKLQogICAgIGJvb2wgaXNJbWFnZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpJ
bWFnZVJlc291cmNlOyB9CiAgICAgLy8gRklYTUU6IENhY2hlZFJhd1Jlc291cmNlIGNvdWxkIGJl
IGEgbWFpbiByZXNvdXJjZSwgYW4gYXVkaW8vdmlkZW8gcmVzb3VyY2UsIG9yIGEgcmF3IFhIUi9p
Y29uIHJlc291cmNlLgogICAgIGJvb2wgaXNNYWluT3JNZWRpYU9ySWNvbk9yUmF3UmVzb3VyY2Uo
KSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6TWFpblJlc291cmNlIHx8IHR5cGUoKSA9
PSBUeXBlOjpNZWRpYVJlc291cmNlIHx8IHR5cGUoKSA9PSBUeXBlOjpJY29uIHx8IHR5cGUoKSA9
PSBUeXBlOjpSYXdSZXNvdXJjZSB8fCB0eXBlKCkgPT0gVHlwZTo6QmVhY29uIHx8IHR5cGUoKSA9
PSBUeXBlOjpQaW5nOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkUmVzb3VyY2VDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRSZXNvdXJjZUNsaWVudC5oCmluZGV4IDMwYmIxZTg3NjViMWE3MjFhNTczNTgyOTExOWNkYjQy
OTkxYWFiOTYuLjc5MzY3N2RiNWU3NGMxMDIxYzhlNmEyZWM5OGRmZDgwODcxYWNiNDcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUNsaWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUNsaWVudC5o
CkBAIC00MSw3ICs0MSw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5DYWNoZWRSZXNvdXJjZUNs
aWVudCgpID0gZGVmYXVsdDsKICAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5RmluaXNoZWQoQ2FjaGVk
UmVzb3VyY2UmKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGVwcmVjYXRlZERpZFJlY2VpdmVDYWNo
ZWRSZXNvdXJjZShDYWNoZWRSZXNvdXJjZSYpIHsgfQotICAgIHZpcnR1YWwgYm9vbCBpc1hNTEh0
dHBSZXF1ZXN0KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAogICAgIHN0YXRpYyBDYWNoZWRS
ZXNvdXJjZUNsaWVudFR5cGUgZXhwZWN0ZWRUeXBlKCkgeyByZXR1cm4gQmFzZVJlc291cmNlVHlw
ZTsgfQogICAgIHZpcnR1YWwgQ2FjaGVkUmVzb3VyY2VDbGllbnRUeXBlIHJlc291cmNlQ2xpZW50
VHlwZSgpIGNvbnN0IHsgcmV0dXJuIGV4cGVjdGVkVHlwZSgpOyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0RpYWdub3N0aWNMb2dnaW5nS2V5cy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0RpYWdub3N0aWNMb2dnaW5nS2V5cy5jcHAKaW5kZXggMTc5NmZlODVhMDUxMTlhZjZi
YzdlZDBkNDFjZWU0ZDI3ZmFhNDdkNi4uYjllNjE4NjQ4OWQ0OGZhZGZjYjkzNDViMjJkZjEwNzJh
MWI1NjVhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9EaWFnbm9zdGljTG9nZ2lu
Z0tleXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGlhZ25vc3RpY0xvZ2dpbmdLZXlz
LmNwcApAQCAtMjMzLDExICsyMzMsNiBAQCBTdHJpbmcgRGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjpv
dGhlcktleSgpCiAgICAgcmV0dXJuICJvdGhlciJfczsKIH0KIAotU3RyaW5nIERpYWdub3N0aWNM
b2dnaW5nS2V5czo6bWFpbkRvY3VtZW50RXJyb3JLZXkoKQotewotICAgIHJldHVybiAibWFpbkRv
Y3VtZW50RXJyb3IiX3M7Ci19Ci0KIFN0cmluZyBEaWFnbm9zdGljTG9nZ2luZ0tleXM6Om1haW5S
ZXNvdXJjZUtleSgpCiB7CiAgICAgcmV0dXJuICJtYWluUmVzb3VyY2UiX3M7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RpYWdub3N0aWNMb2dnaW5nS2V5cy5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9EaWFnbm9zdGljTG9nZ2luZ0tleXMuaAppbmRleCBmZDk0NGYwODAyYjQ5YmM2
YmIzY2YwOTJiZmU5YmU0M2RmNzFmMDc0Li5kNDU5YzRkMjRmMzE0MTVlMjZkOThlNGRlNTgwMDQ1
YmY2NWVjYWZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RpYWdub3N0aWNMb2dn
aW5nS2V5cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGlhZ25vc3RpY0xvZ2dpbmdLZXlz
LmgKQEAgLTg4LDcgKzg4LDYgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBT
dHJpbmcgaXNSZWxvYWRJZ25vcmluZ0NhY2hlRGF0YUtleSgpOwogICAgIHN0YXRpYyBTdHJpbmcg
bG9hZGluZ0tleSgpOwogICAgIHN0YXRpYyBTdHJpbmcgaXNMb2FkaW5nS2V5KCk7Ci0gICAgc3Rh
dGljIFN0cmluZyBtYWluRG9jdW1lbnRFcnJvcktleSgpOwogICAgIHN0YXRpYyBTdHJpbmcgbWFp
blJlc291cmNlS2V5KCk7CiAgICAgc3RhdGljIFN0cmluZyBtZWRpYUxvYWRlZEtleSgpOwogICAg
IHN0YXRpYyBTdHJpbmcgbWVkaWFMb2FkaW5nRmFpbGVkS2V5KCk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNGU0N2Q1MzEx
MzQxZWI5YTNiMTc2NWVjMTczYjhlYWNlN2M0OTBlMy4uZTg3ZTkyNTYzOTY3Yzc3ZTIyMzcxOGVi
ODc0ZGVjYzNmMTU5MGNjNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE5LTA5LTI2ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUGFnZXMgZnJlcXVlbnRseSBm
YWlscyB0byBlbnRlciB0aGUgYmFjay9mb3J3YXJkIGNhY2hlIGR1ZSB0byBwZW5kaW5nIGxvYWRz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDIyODkK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU1NzU4NTA2PgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBsYXlvdXQgdGVzdCBjb3ZlcmFnZS4KKwor
ICAgICAgICAqIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLXBlbmRpbmctbG9hZC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdl
LWNhY2hlLXBlbmRpbmctbG9hZC5odG1sOiBBZGRlZC4KKwogMjAxOS0wOS0yNiAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIElEQlJlcXVlc3Qgc2hvdWxkIG5vdCBw
cmV2ZW50IGEgcGFnZSBmcm9tIGVudGVyaW5nIHRoZSBiYWNrL2ZvcndhcmQgY2FjaGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLXBlbmRp
bmctbG9hZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24v
cGFnZS1jYWNoZS1wZW5kaW5nLWxvYWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRmZGQ3NDY0
YzQ2YTYwZjZmM2NlYTRkYzdhNWE5ZjMzZGNlYmEzNWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcGFnZS1jYWNoZS1wZW5kaW5nLWxvYWQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Rlc3RzIHRoYXQgYSBwYWdlIHdpdGggcGVuZGlu
ZyBzdWJyZXNvdXJjZSBsb2FkcyBnb2VzIGludG8gdGhlIHBhZ2UgY2FjaGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworCitwYWdlc2hvdyAtIG5vdCBmcm9tIGNhY2hlCitwYWdlaGlk
ZSAtIGVudGVyaW5nIGNhY2hlCitwYWdlc2hvdyAtIGZyb20gY2FjaGUKK1BBU1MgUGFnZSBkaWQg
ZW50ZXIgYW5kIHdhcyByZXN0b3JlZCBmcm9tIHRoZSBwYWdlIGNhY2hlCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUtcGVuZGluZy1sb2FkLmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcGFnZS1jYWNoZS1wZW5kaW5nLWxv
YWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMjM4OGNlOTM2M2I2Y2U2Yjg1YTEyNTY3Y2RjNDE5MmM5NmZk
ZGRlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9u
L3BhZ2UtY2FjaGUtcGVuZGluZy1sb2FkLmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24o
J1Rlc3RzIHRoYXQgYSBwYWdlIHdpdGggcGVuZGluZyBzdWJyZXNvdXJjZSBsb2FkcyBnb2VzIGlu
dG8gdGhlIHBhZ2UgY2FjaGUuJyk7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisKK2lm
ICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgi
V2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKKword2luZG93LmFkZEV2ZW50
TGlzdGVuZXIoInBhZ2VzaG93IiwgZnVuY3Rpb24oZXZlbnQpIHsKKyAgICBkZWJ1ZygicGFnZXNo
b3cgLSAiICsgKGV2ZW50LnBlcnNpc3RlZCA/ICIiIDogIm5vdCAiKSArICJmcm9tIGNhY2hlIik7
CisKKyAgICBpZiAoZXZlbnQucGVyc2lzdGVkKSB7CisgICAgICAgIHRlc3RQYXNzZWQoIlBhZ2Ug
ZGlkIGVudGVyIGFuZCB3YXMgcmVzdG9yZWQgZnJvbSB0aGUgcGFnZSBjYWNoZSIpOworICAgICAg
ICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgIH0sIDApOworICAgIH0KK30sIGZhbHNlKTsKKword2luZG93LmFkZEV2ZW50TGlzdGVu
ZXIoInBhZ2VoaWRlIiwgZnVuY3Rpb24oZXZlbnQpIHsKKyAgICBkZWJ1ZygicGFnZWhpZGUgLSAi
ICsgKGV2ZW50LnBlcnNpc3RlZCA/ICIiIDogIm5vdCAiKSArICJlbnRlcmluZyBjYWNoZSIpOwor
ICAgIGlmICghZXZlbnQucGVyc2lzdGVkKSB7CisgICAgICAgIHRlc3RGYWlsZWQoIlBhZ2UgZGlk
IG5vdCBlbnRlciB0aGUgcGFnZSBjYWNoZS4iKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgfQorfSwgZmFsc2UpOworCit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGZ1bmN0
aW9uKCkgeworICAgIHZhciBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpOwor
ICAgIGxpbmsucmVsID0gInN0eWxlc2hlZXQiOworICAgIGxpbmsudHlwZSA9ICJ0ZXh0L2NzcyI7
CisgICAgbGluay5ocmVmID0gIi9pbmNyZW1lbnRhbC9yZXNvdXJjZXMvc2xvdy11dGY4LWNzcy5w
bCI7CisgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChsaW5rKTsKKworICAgIHZhciBzY3Jp
cHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsKKyAgICBzY3JpcHQuYXN5bmMg
PSB0cnVlOworICAgIHNjcmlwdC5zcmMgPSAiL3Jlc291cmNlcy9zbG93LXNjcmlwdC5wbCIKKyAg
ICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHNjcmlwdCk7CisKKyAgICAvLyBUaGlzIG5lZWRz
IHRvIGhhcHBlbiBpbiBhIHNldFRpbWVvdXQgYmVjYXVzZSBhIG5hdmlnYXRpb24gaW5zaWRlIHRo
ZSBvbmxvYWQgaGFuZGxlciB3b3VsZAorICAgIC8vIG5vdCBjcmVhdGUgYSBoaXN0b3J5IGVudHJ5
LgorICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICAvLyBGb3JjZSBhIGJhY2sgbmF2
aWdhdGlvbiBiYWNrIHRvIHRoaXMgcGFnZS4KKyAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0g
InJlc291cmNlcy9wYWdlLWNhY2hlLWhlbHBlci5odG1sIjsKKyAgICB9LCAwKTsKK30sIGZhbHNl
KTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379688</attachid>
            <date>2019-09-26 15:16:06 -0700</date>
            <delta_ts>2019-09-26 23:17:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202289-20190926151605.patch</filename>
            <type>text/plain</type>
            <size>17709</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwMzQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDJhMGQxYmRhYTVkYTY0
MmM0M2MzMGUwZDk3OTk1ZDNjOTc4ZWY4Mi4uMWQxOTk2Y2VjMjFiZDczMWM2ZmZmMDYxNDU1MDBi
ZDM1OWRmZjhkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE5LTA5LTI2ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUGFnZXMgZnJlcXVlbnRseSBm
YWlscyB0byBlbnRlciB0aGUgYmFjay9mb3J3YXJkIGNhY2hlIGR1ZSB0byBwZW5kaW5nIGxvYWRz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDIyODkK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU1NzU4NTA2PgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFsbG93IHBhZ2VzIHRvIGVudGVyIHRoZSBiYWNr
IC8gZm9yd2FyZCBjYWNoZSwgZXZlbiBpZiB0aGV5IGhhdmUgcGVuZGluZyBsb2Fkcy4KKyAgICAg
ICAgTm90ZSB0aGF0IHRoZXNlIHBlbmRpbmcgbG9hZHMgZ2V0IGNhbmNlbGxlZC4gQWxzbyBub3Rl
IHRoYXQgd2Ugd29uJ3QgZW50ZXIgcGFnZQorICAgICAgICBjYWNoZSB1bmxlc3MgdGhlICdsb2Fk
JyBldmVudCBoYXMgYmVlbiBmaXJlZCBpbiB0aGUgbWFpbiBmcmFtZSwgc2luY2UgYQorICAgICAg
ICBIaXN0b3J5SXRlbSB3b3VsZCBub3QgZ2V0IGNyZWF0ZWQgb3RoZXJ3aXNlLiBUaGlzIHdhcyBj
YXVzaW5nIGZyZXF1ZW50IHRyYW5zaWVudAorICAgICAgICBmYWlsdXJlcyB0byBlbnRlciB0aGUg
YmFjayAvIGZvcndhcmQgY2FjaGUgd2hpbGUgYnJvd3NpbmcgKGUuZy4gb24gd2VhdGhlci5jb20p
LgorCisgICAgICAgIFRlc3Q6IGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLXBlbmRp
bmctbG9hZC5odG1sCisKKyAgICAgICAgKiBoaXN0b3J5L1BhZ2VDYWNoZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpjYW5DYWNoZUZyYW1lKToKKyAgICAgICAgKiBsb2FkZXIvQ3Jvc3NPcmlnaW5Q
cmVmbGlnaHRDaGVja2VyLmNwcDoKKyAgICAgICAgKiBsb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGln
aHRDaGVja2VyLmg6CisgICAgICAgICogbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpzZXRNYWluRG9jdW1lbnRFcnJvcik6CisgICAg
ICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6c3RvcExvYWRpbmcpOgorICAgICAgICAqIGxv
YWRlci9Eb2N1bWVudExvYWRlci5oOgorICAgICAgICAqIGxvYWRlci9Eb2N1bWVudFRocmVhZGFi
bGVMb2FkZXIuY3BwOgorICAgICAgICAqIGxvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIu
aDoKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwOgorICAgICAgICAq
IGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZUNsaWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VD
bGllbnQ6OmRlcHJlY2F0ZWREaWRSZWNlaXZlQ2FjaGVkUmVzb3VyY2UpOgorICAgICAgICAqIHBh
Z2UvRGlhZ25vc3RpY0xvZ2dpbmdLZXlzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRpYWdub3N0
aWNMb2dnaW5nS2V5czo6bWFpbkZyYW1lSGFzTm90RmluaXNoZWRMb2FkaW5nS2V5KToKKyAgICAg
ICAgKiBwYWdlL0RpYWdub3N0aWNMb2dnaW5nS2V5cy5oOgorCiAyMDE5LTA5LTI2ICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgSURCUmVxdWVzdCBzaG91bGQgbm90
IHByZXZlbnQgYSBwYWdlIGZyb20gZW50ZXJpbmcgdGhlIGJhY2svZm9yd2FyZCBjYWNoZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuY3BwCmluZGV4IGQ0M2YyMTJhODAxYzliMTQ0MDk3OWE2
Njc5ZDIxYzlkM2MxNWEwMDQuLjZiOTAxZmI1MWIzZWQzZDlhNTZjZDIxOTQ1ZDA4YjFlYzVjOTJi
ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5jcHAKQEAgLTExNiwxNSArMTE2LDYg
QEAgc3RhdGljIGJvb2wgY2FuQ2FjaGVGcmFtZShGcmFtZSYgZnJhbWUsIERpYWdub3N0aWNMb2dn
aW5nQ2xpZW50JiBkaWFnbm9zdGljTG9nZ2kKICAgICAgICAgUENMT0coIiBEZXRlcm1pbmluZyBp
ZiBzdWJmcmFtZSB3aXRoIFVSTCAoIiwgY3VycmVudFVSTC5zdHJpbmcoKSwgIikgY2FuIGJlIGNh
Y2hlZDoiKTsKICAgICAgCiAgICAgYm9vbCBpc0NhY2hlYWJsZSA9IHRydWU7Ci0gICAgaWYgKCFk
b2N1bWVudExvYWRlci0+bWFpbkRvY3VtZW50RXJyb3IoKS5pc051bGwoKSkgewotICAgICAgICBQ
Q0xPRygiICAgLU1haW4gZG9jdW1lbnQgaGFzIGFuIGVycm9yIik7Ci0gICAgICAgIGxvZ1BhZ2VD
YWNoZUZhaWx1cmVEaWFnbm9zdGljTWVzc2FnZShkaWFnbm9zdGljTG9nZ2luZ0NsaWVudCwgRGlh
Z25vc3RpY0xvZ2dpbmdLZXlzOjptYWluRG9jdW1lbnRFcnJvcktleSgpKTsKLQotICAgICAgICBp
ZiAoZG9jdW1lbnRMb2FkZXItPm1haW5Eb2N1bWVudEVycm9yKCkuaXNDYW5jZWxsYXRpb24oKSAm
JiBkb2N1bWVudExvYWRlci0+c3VicmVzb3VyY2VMb2FkZXJzQXJlUGFnZUNhY2hlQWNjZXB0YWJs
ZSgpKQotICAgICAgICAgICAgUENMT0coIiAgICAtQnV0LCBpdCB3YXMgYSBjYW5jZWxsYXRpb24g
YW5kIGFsbCBsb2FkZXJzIGR1cmluZyB0aGUgY2FuY2VsYXRpb24gd2VyZSBsb2FkaW5nIGltYWdl
cyBvciBYSFIuIik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGlzQ2FjaGVhYmxlID0gZmFs
c2U7Ci0gICAgfQogICAgIC8vIERvIG5vdCBjYWNoZSBlcnJvciBwYWdlcyAodGhlc2UgY2FuIGJl
IHJlY29nbml6ZWQgYXMgcGFnZXMgd2l0aCBzdWJzdGl0dXRlIGRhdGEgb3IgdW5yZWFjaGFibGUg
VVJMcykuCiAgICAgaWYgKGRvY3VtZW50TG9hZGVyLT5zdWJzdGl0dXRlRGF0YSgpLmlzVmFsaWQo
KSAmJiAhZG9jdW1lbnRMb2FkZXItPnN1YnN0aXR1dGVEYXRhKCkuZmFpbGluZ1VSTCgpLmlzRW1w
dHkoKSkgewogICAgICAgICBQQ0xPRygiICAgLUZyYW1lIGlzIGFuIGVycm9yIHBhZ2UiKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodENoZWNr
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0Q2hlY2tl
ci5jcHAKaW5kZXggZDIxM2YxYTY0MmFlZTdmODQ0ZGE5MGQ1NmQxNTRjYTU2MDQ3MTJhMS4uYjNk
ZjQxMTA3ZGRiZWZkMDNlM2JkNDRiZmQyNWE4M2U5YmE4MWI2ZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0Q2hlY2tlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0Q2hlY2tlci5jcHAKQEAgLTE2
OSw5ICsxNjksNCBAQCB2b2lkIENyb3NzT3JpZ2luUHJlZmxpZ2h0Q2hlY2tlcjo6c2V0RGVmZXJz
TG9hZGluZyhib29sIHZhbHVlKQogICAgICAgICBtX3Jlc291cmNlLT5zZXREZWZlcnNMb2FkaW5n
KHZhbHVlKTsKIH0KIAotYm9vbCBDcm9zc09yaWdpblByZWZsaWdodENoZWNrZXI6OmlzWE1MSHR0
cFJlcXVlc3QoKSBjb25zdAotewotICAgIHJldHVybiBtX2xvYWRlci5pc1hNTEh0dHBSZXF1ZXN0
KCk7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodENoZWNrZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodENoZWNrZXIuaAppbmRleCA5YTQwMDI2MDg0NzFi
Yzg4NTgyOWRhNWM2YzE3NGRiYWZlZmZkNDU5Li4xYTdmNGUyMWE5NjdkMWZjNTk4ZTM1M2JlN2Nk
Mjk4MmM0YTlkMGI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmln
aW5QcmVmbGlnaHRDaGVja2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3Jp
Z2luUHJlZmxpZ2h0Q2hlY2tlci5oCkBAIC01OSw4ICs1OSw2IEBAIHByaXZhdGU6CiAgICAgc3Rh
dGljIHZvaWQgaGFuZGxlTG9hZGluZ0ZhaWx1cmUoRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyJiwg
dW5zaWduZWQgbG9uZywgY29uc3QgUmVzb3VyY2VFcnJvciYpOwogICAgIHN0YXRpYyB2b2lkIHZh
bGlkYXRlUHJlZmxpZ2h0UmVzcG9uc2UoRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyJiwgUmVzb3Vy
Y2VSZXF1ZXN0JiYsIHVuc2lnbmVkIGxvbmcsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKTsKIAot
ICAgIGJvb2wgaXNYTUxIdHRwUmVxdWVzdCgpIGNvbnN0IGZpbmFsOwotCiAgICAgRG9jdW1lbnRU
aHJlYWRhYmxlTG9hZGVyJiBtX2xvYWRlcjsKICAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNo
ZWRSYXdSZXNvdXJjZT4gbV9yZXNvdXJjZTsKICAgICBSZXNvdXJjZVJlcXVlc3QgbV9yZXF1ZXN0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKaW5kZXggZjNhMDYzYzRl
YzBlYmY0MjVlZDU0MTc3ZTBkMDQ1NjEzNDliNzljZC4uYzQ4MTZkNDNiMmU5MzA1MGRkN2M0MjM3
MzM3OWVkNWQyMWE5NTJhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3Vt
ZW50TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIu
Y3BwCkBAIC0xMjUsNjAgKzEyNSw2IEBAIHN0YXRpYyB2b2lkIHNldEFsbERlZmVyc0xvYWRpbmco
Y29uc3QgUmVzb3VyY2VMb2FkZXJNYXAmIGxvYWRlcnMsIGJvb2wgZGVmZXJzKQogICAgICAgICBs
b2FkZXItPnNldERlZmVyc0xvYWRpbmcoZGVmZXJzKTsKIH0KIAotc3RhdGljIGJvb2wgc2hvdWxk
UGVuZGluZ0NhY2hlZFJlc291cmNlTG9hZFByZXZlbnRQYWdlQ2FjaGUoQ2FjaGVkUmVzb3VyY2Um
IGNhY2hlZFJlc291cmNlKQotewotICAgIGlmICghY2FjaGVkUmVzb3VyY2UuaXNMb2FkaW5nKCkp
Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHN3aXRjaCAoY2FjaGVkUmVzb3VyY2UudHlw
ZSgpKSB7Ci0gICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6SW1hZ2VSZXNvdXJjZToKLSAg
ICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpJY29uOgotICAgIGNhc2UgQ2FjaGVkUmVzb3Vy
Y2U6OlR5cGU6OkJlYWNvbjoKLSAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpQaW5nOgot
ICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OkxpbmtQcmVmZXRjaDoKLSAgICAgICAgcmV0
dXJuIGZhbHNlOwotICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6Ok1haW5SZXNvdXJjZToK
LSAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpDU1NTdHlsZVNoZWV0OgotICAgIGNhc2Ug
Q2FjaGVkUmVzb3VyY2U6OlR5cGU6OlNjcmlwdDoKLSAgICBjYXNlIENhY2hlZFJlc291cmNlOjpU
eXBlOjpGb250UmVzb3VyY2U6Ci0jaWYgRU5BQkxFKFNWR19GT05UUykKLSAgICBjYXNlIENhY2hl
ZFJlc291cmNlOjpUeXBlOjpTVkdGb250UmVzb3VyY2U6Ci0jZW5kaWYKLSAgICBjYXNlIENhY2hl
ZFJlc291cmNlOjpUeXBlOjpNZWRpYVJlc291cmNlOgotICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6
OlR5cGU6OlJhd1Jlc291cmNlOgotICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OlNWR0Rv
Y3VtZW50UmVzb3VyY2U6Ci0jaWYgRU5BQkxFKFhTTFQpCi0gICAgY2FzZSBDYWNoZWRSZXNvdXJj
ZTo6VHlwZTo6WFNMU3R5bGVTaGVldDoKLSNlbmRpZgotI2lmIEVOQUJMRShWSURFT19UUkFDSykK
LSAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpUZXh0VHJhY2tSZXNvdXJjZToKLSNlbmRp
ZgotI2lmIEVOQUJMRShBUFBMSUNBVElPTl9NQU5JRkVTVCkKLSAgICBjYXNlIENhY2hlZFJlc291
cmNlOjpUeXBlOjpBcHBsaWNhdGlvbk1hbmlmZXN0OgotI2VuZGlmCi0gICAgICAgIGJyZWFrOwot
ICAgIH07Ci0gICAgcmV0dXJuICFjYWNoZWRSZXNvdXJjZS5hcmVBbGxDbGllbnRzWE1MSHR0cFJl
cXVlc3RzKCk7Ci19Ci0KLXN0YXRpYyBib29sIGFyZUFsbExvYWRlcnNQYWdlQ2FjaGVBY2NlcHRh
YmxlKGNvbnN0IFJlc291cmNlTG9hZGVyTWFwJiBsb2FkZXJzKQotewotICAgIGZvciAoYXV0byYg
bG9hZGVyIDogY29weVRvVmVjdG9yKGxvYWRlcnMudmFsdWVzKCkpKSB7Ci0gICAgICAgIGlmICgh
bG9hZGVyLT5mcmFtZUxvYWRlcigpIHx8ICFsb2FkZXItPmZyYW1lTG9hZGVyKCktPmZyYW1lKCku
cGFnZSgpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgICAgIENhY2hlZFJlc291
cmNlKiBjYWNoZWRSZXNvdXJjZSA9IE1lbW9yeUNhY2hlOjpzaW5nbGV0b24oKS5yZXNvdXJjZUZv
clJlcXVlc3QobG9hZGVyLT5yZXF1ZXN0KCksIGxvYWRlci0+ZnJhbWVMb2FkZXIoKS0+ZnJhbWUo
KS5wYWdlKCktPnNlc3Npb25JRCgpKTsKLSAgICAgICAgaWYgKCFjYWNoZWRSZXNvdXJjZSkKLSAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgICAgICAvLyBPbmx5IGltYWdlIGFuZCBYSFIg
bG9hZHMgZG8gbm90IHByZXZlbnQgdGhlIHBhZ2UgZnJvbSBlbnRlcmluZyB0aGUgUGFnZUNhY2hl
LgotICAgICAgICAvLyBBbGwgbm9uLWltYWdlIGxvYWRzIHdpbGwgcHJldmVudCB0aGUgcGFnZSBm
cm9tIGVudGVyaW5nIHRoZSBQYWdlQ2FjaGUuCi0gICAgICAgIGlmIChzaG91bGRQZW5kaW5nQ2Fj
aGVkUmVzb3VyY2VMb2FkUHJldmVudFBhZ2VDYWNoZSgqY2FjaGVkUmVzb3VyY2UpKQotICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQogRG9jdW1l
bnRMb2FkZXI6OkRvY3VtZW50TG9hZGVyKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwg
Y29uc3QgU3Vic3RpdHV0ZURhdGEmIHN1YnN0aXR1dGVEYXRhKQogICAgIDogRnJhbWVEZXN0cnVj
dGlvbk9ic2VydmVyKG51bGxwdHIpCiAgICAgLCBtX2NhY2hlZFJlc291cmNlTG9hZGVyKENhY2hl
ZFJlc291cmNlTG9hZGVyOjpjcmVhdGUodGhpcykpCkBAIC0zMTQsMTMgKzI2MCw2IEBAIHZvaWQg
RG9jdW1lbnRMb2FkZXI6OnN0b3BMb2FkaW5nKCkKICAgICAvLyB0byBzdG9wIGxvYWRpbmcuIEJl
Y2F1c2Ugb2YgdGhpcywgd2UgbmVlZCB0byBzYXZlIGl0IHNvIHdlIGRvbid0IHJldHVybiBlYXJs
eS4KICAgICBib29sIGxvYWRpbmcgPSBpc0xvYWRpbmcoKTsKIAotICAgIC8vIFdlIG1heSB3YW50
IHRvIGF1ZGl0IHRoZSBleGlzdGluZyBzdWJyZXNvdXJjZSBsb2FkZXJzIHdoZW4gd2UgYXJlIG9u
IGEgcGFnZSB3aGljaCBoYXMgY29tcGxldGVkCi0gICAgLy8gbG9hZGluZyBidXQgdGhlcmUgYXJl
IHN1YnJlc291cmNlIGxvYWRzIGR1cmluZyBjYW5jZWxsYXRpb24uIFRoaXMgbXVzdCBiZSBkb25l
IGJlZm9yZSB0aGUKLSAgICAvLyBmcmFtZS0+c3RvcExvYWRpbmcoKSBjYWxsLCB3aGljaCBtYXkg
ZXZpY3QgdGhlIENhY2hlZFJlc291cmNlcywgd2hpY2ggd2UgcmVseSBvbiB0byBjaGVjawotICAg
IC8vIHRoZSB0eXBlIG9mIHRoZSByZXNvdXJjZSBsb2Fkcy4KLSAgICBpZiAobG9hZGluZyAmJiBt
X2NvbW1pdHRlZCAmJiAhbWFpblJlc291cmNlTG9hZGVyKCkgJiYgIW1fc3VicmVzb3VyY2VMb2Fk
ZXJzLmlzRW1wdHkoKSkKLSAgICAgICAgbV9zdWJyZXNvdXJjZUxvYWRlcnNBcmVQYWdlQ2FjaGVB
Y2NlcHRhYmxlID0gYXJlQWxsTG9hZGVyc1BhZ2VDYWNoZUFjY2VwdGFibGUobV9zdWJyZXNvdXJj
ZUxvYWRlcnMpOwotCiAgICAgaWYgKG1fY29tbWl0dGVkKSB7CiAgICAgICAgIC8vIEF0dGVtcHQg
dG8gc3RvcCB0aGUgZnJhbWUgaWYgdGhlIGRvY3VtZW50IGxvYWRlciBpcyBsb2FkaW5nLCBvciBp
ZiBpdCBpcyBkb25lIGxvYWRpbmcgYnV0CiAgICAgICAgIC8vIHN0aWxsICBwYXJzaW5nLiBGYWls
dXJlIHRvIGRvIHNvIGNhbiBjYXVzZSBhIHdvcmxkIGxlYWsuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9E
b2N1bWVudExvYWRlci5oCmluZGV4IDk5OGZmNWE5N2M4NjcwYmQwYmNjNjY3NDkyYjA3OTkyYmU4
NDA3MjEuLmE4NWEwNzY1ZjZmNmI4MTZkZTJhY2UzZDU3Y2NkMGIwNGJiNjJlNDMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oCkBAIC0yNjgsOCArMjY4LDYgQEAgcHVibGlj
OgogICAgIGJvb2wgZGlkQ3JlYXRlR2xvYmFsSGlzdG9yeUVudHJ5KCkgY29uc3QgeyByZXR1cm4g
bV9kaWRDcmVhdGVHbG9iYWxIaXN0b3J5RW50cnk7IH0KICAgICB2b2lkIHNldERpZENyZWF0ZUds
b2JhbEhpc3RvcnlFbnRyeShib29sIGRpZENyZWF0ZUdsb2JhbEhpc3RvcnlFbnRyeSkgeyBtX2Rp
ZENyZWF0ZUdsb2JhbEhpc3RvcnlFbnRyeSA9IGRpZENyZWF0ZUdsb2JhbEhpc3RvcnlFbnRyeTsg
fQogCi0gICAgYm9vbCBzdWJyZXNvdXJjZUxvYWRlcnNBcmVQYWdlQ2FjaGVBY2NlcHRhYmxlKCkg
Y29uc3QgeyByZXR1cm4gbV9zdWJyZXNvdXJjZUxvYWRlcnNBcmVQYWdlQ2FjaGVBY2NlcHRhYmxl
OyB9Ci0KICAgICB2b2lkIHNldERlZmVyc0xvYWRpbmcoYm9vbCk7CiAgICAgdm9pZCBzZXRNYWlu
UmVzb3VyY2VEYXRhQnVmZmVyaW5nUG9saWN5KERhdGFCdWZmZXJpbmdQb2xpY3kpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwCmlu
ZGV4IDVlNzk5MTY4MDBhZTg2MDYxNDc0NmM5ZDE1MTEzOTU5NTAxMDQzYWEuLmE5YmY0YjcxMzgy
ZWE2NGMxOWIzMDk4ZmI2ZDM1NmI2NzJmZTUzZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwCkBAIC02NTUsMTEgKzY1NSw2IEBA
IGJvb2wgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjppc0FsbG93ZWRSZWRpcmVjdChjb25zdCBV
UkwmIHVybCkKICAgICByZXR1cm4gbV9zYW1lT3JpZ2luUmVxdWVzdCAmJiBzZWN1cml0eU9yaWdp
bigpLmNhblJlcXVlc3QodXJsKTsKIH0KIAotYm9vbCBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6
OmlzWE1MSHR0cFJlcXVlc3QoKSBjb25zdAotewotICAgIHJldHVybiBtX29wdGlvbnMuaW5pdGlh
dG9yID09IGNhY2hlZFJlc291cmNlUmVxdWVzdEluaXRpYXRvcnMoKS54bWxodHRwcmVxdWVzdDsK
LX0KLQogU2VjdXJpdHlPcmlnaW4mIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6c2VjdXJpdHlP
cmlnaW4oKSBjb25zdAogewogICAgIHJldHVybiBtX29yaWdpbiA/ICptX29yaWdpbiA6IG1fZG9j
dW1lbnQuc2VjdXJpdHlPcmlnaW4oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1
bWVudFRocmVhZGFibGVMb2FkZXIuaAppbmRleCBjYTI1ZWM1YmQ3MWRjOWE4OWUxODU1ZmI2ZjBh
NmZiYjMzZDllMjkzLi5lOWU0OGQyY2JhMDBjNjllOTE3OTZmMjlkNzk2MzZmYmEyOWVjNTg3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5o
CkBAIC0xMDIsOCArMTAyLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIGlz
QWxsb3dlZFJlZGlyZWN0KGNvbnN0IFVSTCYpOwogICAgICAgICBib29sIGlzQWxsb3dlZEJ5Q29u
dGVudFNlY3VyaXR5UG9saWN5KGNvbnN0IFVSTCYsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVk
aXJlY3RSZXNwb25zZVJlY2VpdmVkKTsKIAotICAgICAgICBib29sIGlzWE1MSHR0cFJlcXVlc3Qo
KSBjb25zdCBmaW5hbDsKLQogICAgICAgICBTZWN1cml0eU9yaWdpbiYgc2VjdXJpdHlPcmlnaW4o
KSBjb25zdDsKICAgICAgICAgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5JiBjb250ZW50U2Vj
dXJpdHlQb2xpY3koKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZS5jcHAKaW5kZXggNzYxYTEwYmI4ZDE4MzY5OGE2ODkwODczMjEzZjlkNDg4
NDYxYTc1NS4uNzAzM2M1MWRkOWRiNzkxMTEwMGVjZWMyZjdlMjZkYzc4YzY4MDI3NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCkBAIC04Njks
MTggKzg2OSw2IEBAIHVuc2lnbmVkIENhY2hlZFJlc291cmNlOjpvdmVyaGVhZFNpemUoKSBjb25z
dAogICAgIHJldHVybiBzaXplb2YoQ2FjaGVkUmVzb3VyY2UpICsgbV9yZXNwb25zZS5tZW1vcnlV
c2FnZSgpICsga0F2ZXJhZ2VDbGllbnRzSGFzaE1hcFNpemUgKyBtX3Jlc291cmNlUmVxdWVzdC51
cmwoKS5zdHJpbmcoKS5sZW5ndGgoKSAqIDI7CiB9CiAKLWJvb2wgQ2FjaGVkUmVzb3VyY2U6OmFy
ZUFsbENsaWVudHNYTUxIdHRwUmVxdWVzdHMoKSBjb25zdAotewotICAgIGlmICh0eXBlKCkgIT0g
VHlwZTo6UmF3UmVzb3VyY2UpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGZvciAoYXV0
byYgY2xpZW50IDogbV9jbGllbnRzKSB7Ci0gICAgICAgIGlmICghY2xpZW50LmtleS0+aXNYTUxI
dHRwUmVxdWVzdCgpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgICByZXR1
cm4gdHJ1ZTsKLX0KLQogdm9pZCBDYWNoZWRSZXNvdXJjZTo6c2V0TG9hZFByaW9yaXR5KGNvbnN0
IE9wdGlvbmFsPFJlc291cmNlTG9hZFByaW9yaXR5PiYgbG9hZFByaW9yaXR5KQogewogICAgIGlm
IChsb2FkUHJpb3JpdHkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkUmVzb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNv
dXJjZS5oCmluZGV4IDJmZmUyYjQxODc5OTdlZWZkZDQxNWUwZWRiZTgwMmRjMTcyY2FlNmEuLmZj
MzBiMGYyNDI3OTEyOTE3NGQ4YTQyNjhlNWNkYTk4MDA0YWQwZDYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCkBAIC0xNjUsOCArMTY1LDYgQEAgcHVi
bGljOgogCiAgICAgU3VicmVzb3VyY2VMb2FkZXIqIGxvYWRlcigpIHsgcmV0dXJuIG1fbG9hZGVy
LmdldCgpOyB9CiAKLSAgICBib29sIGFyZUFsbENsaWVudHNYTUxIdHRwUmVxdWVzdHMoKSBjb25z
dDsKLQogICAgIGJvb2wgaXNJbWFnZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpJ
bWFnZVJlc291cmNlOyB9CiAgICAgLy8gRklYTUU6IENhY2hlZFJhd1Jlc291cmNlIGNvdWxkIGJl
IGEgbWFpbiByZXNvdXJjZSwgYW4gYXVkaW8vdmlkZW8gcmVzb3VyY2UsIG9yIGEgcmF3IFhIUi9p
Y29uIHJlc291cmNlLgogICAgIGJvb2wgaXNNYWluT3JNZWRpYU9ySWNvbk9yUmF3UmVzb3VyY2Uo
KSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6TWFpblJlc291cmNlIHx8IHR5cGUoKSA9
PSBUeXBlOjpNZWRpYVJlc291cmNlIHx8IHR5cGUoKSA9PSBUeXBlOjpJY29uIHx8IHR5cGUoKSA9
PSBUeXBlOjpSYXdSZXNvdXJjZSB8fCB0eXBlKCkgPT0gVHlwZTo6QmVhY29uIHx8IHR5cGUoKSA9
PSBUeXBlOjpQaW5nOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkUmVzb3VyY2VDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRSZXNvdXJjZUNsaWVudC5oCmluZGV4IDMwYmIxZTg3NjViMWE3MjFhNTczNTgyOTExOWNkYjQy
OTkxYWFiOTYuLjc5MzY3N2RiNWU3NGMxMDIxYzhlNmEyZWM5OGRmZDgwODcxYWNiNDcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUNsaWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUNsaWVudC5o
CkBAIC00MSw3ICs0MSw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5DYWNoZWRSZXNvdXJjZUNs
aWVudCgpID0gZGVmYXVsdDsKICAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5RmluaXNoZWQoQ2FjaGVk
UmVzb3VyY2UmKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGVwcmVjYXRlZERpZFJlY2VpdmVDYWNo
ZWRSZXNvdXJjZShDYWNoZWRSZXNvdXJjZSYpIHsgfQotICAgIHZpcnR1YWwgYm9vbCBpc1hNTEh0
dHBSZXF1ZXN0KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAogICAgIHN0YXRpYyBDYWNoZWRS
ZXNvdXJjZUNsaWVudFR5cGUgZXhwZWN0ZWRUeXBlKCkgeyByZXR1cm4gQmFzZVJlc291cmNlVHlw
ZTsgfQogICAgIHZpcnR1YWwgQ2FjaGVkUmVzb3VyY2VDbGllbnRUeXBlIHJlc291cmNlQ2xpZW50
VHlwZSgpIGNvbnN0IHsgcmV0dXJuIGV4cGVjdGVkVHlwZSgpOyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0RpYWdub3N0aWNMb2dnaW5nS2V5cy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0RpYWdub3N0aWNMb2dnaW5nS2V5cy5jcHAKaW5kZXggMTc5NmZlODVhMDUxMTlhZjZi
YzdlZDBkNDFjZWU0ZDI3ZmFhNDdkNi4uYjllNjE4NjQ4OWQ0OGZhZGZjYjkzNDViMjJkZjEwNzJh
MWI1NjVhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9EaWFnbm9zdGljTG9nZ2lu
Z0tleXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGlhZ25vc3RpY0xvZ2dpbmdLZXlz
LmNwcApAQCAtMjMzLDExICsyMzMsNiBAQCBTdHJpbmcgRGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjpv
dGhlcktleSgpCiAgICAgcmV0dXJuICJvdGhlciJfczsKIH0KIAotU3RyaW5nIERpYWdub3N0aWNM
b2dnaW5nS2V5czo6bWFpbkRvY3VtZW50RXJyb3JLZXkoKQotewotICAgIHJldHVybiAibWFpbkRv
Y3VtZW50RXJyb3IiX3M7Ci19Ci0KIFN0cmluZyBEaWFnbm9zdGljTG9nZ2luZ0tleXM6Om1haW5S
ZXNvdXJjZUtleSgpCiB7CiAgICAgcmV0dXJuICJtYWluUmVzb3VyY2UiX3M7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RpYWdub3N0aWNMb2dnaW5nS2V5cy5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9EaWFnbm9zdGljTG9nZ2luZ0tleXMuaAppbmRleCBmZDk0NGYwODAyYjQ5YmM2
YmIzY2YwOTJiZmU5YmU0M2RmNzFmMDc0Li5kNDU5YzRkMjRmMzE0MTVlMjZkOThlNGRlNTgwMDQ1
YmY2NWVjYWZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RpYWdub3N0aWNMb2dn
aW5nS2V5cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGlhZ25vc3RpY0xvZ2dpbmdLZXlz
LmgKQEAgLTg4LDcgKzg4LDYgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBT
dHJpbmcgaXNSZWxvYWRJZ25vcmluZ0NhY2hlRGF0YUtleSgpOwogICAgIHN0YXRpYyBTdHJpbmcg
bG9hZGluZ0tleSgpOwogICAgIHN0YXRpYyBTdHJpbmcgaXNMb2FkaW5nS2V5KCk7Ci0gICAgc3Rh
dGljIFN0cmluZyBtYWluRG9jdW1lbnRFcnJvcktleSgpOwogICAgIHN0YXRpYyBTdHJpbmcgbWFp
blJlc291cmNlS2V5KCk7CiAgICAgc3RhdGljIFN0cmluZyBtZWRpYUxvYWRlZEtleSgpOwogICAg
IHN0YXRpYyBTdHJpbmcgbWVkaWFMb2FkaW5nRmFpbGVkS2V5KCk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNGU0N2Q1MzEx
MzQxZWI5YTNiMTc2NWVjMTczYjhlYWNlN2M0OTBlMy4uZTg3ZTkyNTYzOTY3Yzc3ZTIyMzcxOGVi
ODc0ZGVjYzNmMTU5MGNjNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE5LTA5LTI2ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUGFnZXMgZnJlcXVlbnRseSBm
YWlscyB0byBlbnRlciB0aGUgYmFjay9mb3J3YXJkIGNhY2hlIGR1ZSB0byBwZW5kaW5nIGxvYWRz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDIyODkK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU1NzU4NTA2PgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBsYXlvdXQgdGVzdCBjb3ZlcmFnZS4KKwor
ICAgICAgICAqIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLXBlbmRpbmctbG9hZC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdl
LWNhY2hlLXBlbmRpbmctbG9hZC5odG1sOiBBZGRlZC4KKwogMjAxOS0wOS0yNiAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIElEQlJlcXVlc3Qgc2hvdWxkIG5vdCBw
cmV2ZW50IGEgcGFnZSBmcm9tIGVudGVyaW5nIHRoZSBiYWNrL2ZvcndhcmQgY2FjaGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLXBlbmRp
bmctbG9hZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24v
cGFnZS1jYWNoZS1wZW5kaW5nLWxvYWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRmZGQ3NDY0
YzQ2YTYwZjZmM2NlYTRkYzdhNWE5ZjMzZGNlYmEzNWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcGFnZS1jYWNoZS1wZW5kaW5nLWxvYWQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Rlc3RzIHRoYXQgYSBwYWdlIHdpdGggcGVuZGlu
ZyBzdWJyZXNvdXJjZSBsb2FkcyBnb2VzIGludG8gdGhlIHBhZ2UgY2FjaGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworCitwYWdlc2hvdyAtIG5vdCBmcm9tIGNhY2hlCitwYWdlaGlk
ZSAtIGVudGVyaW5nIGNhY2hlCitwYWdlc2hvdyAtIGZyb20gY2FjaGUKK1BBU1MgUGFnZSBkaWQg
ZW50ZXIgYW5kIHdhcyByZXN0b3JlZCBmcm9tIHRoZSBwYWdlIGNhY2hlCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUtcGVuZGluZy1sb2FkLmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcGFnZS1jYWNoZS1wZW5kaW5nLWxv
YWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi40NTk1Mzc1ZDIxNzdmMzVmMjBkYWM0YzljZGQ0ZTg4NzNkN2Jl
MDJkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9u
L3BhZ2UtY2FjaGUtcGVuZGluZy1sb2FkLmh0bWwKQEAgLTAsMCArMSw1NCBAQAorPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rl
c3RzIHRoYXQgYSBwYWdlIHdpdGggcGVuZGluZyBzdWJyZXNvdXJjZSBsb2FkcyBnb2VzIGludG8g
dGhlIHBhZ2UgY2FjaGUuJyk7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisKK3dpbmRv
dy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsIGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgZGVi
dWcoInBhZ2VzaG93IC0gIiArIChldmVudC5wZXJzaXN0ZWQgPyAiIiA6ICJub3QgIikgKyAiZnJv
bSBjYWNoZSIpOworCisgICAgaWYgKGV2ZW50LnBlcnNpc3RlZCkgeworICAgICAgICB0ZXN0UGFz
c2VkKCJQYWdlIGRpZCBlbnRlciBhbmQgd2FzIHJlc3RvcmVkIGZyb20gdGhlIHBhZ2UgY2FjaGUi
KTsKKyAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICB9LCAwKTsKKyAgICB9Cit9LCBmYWxzZSk7CisKK3dpbmRvdy5hZGRF
dmVudExpc3RlbmVyKCJwYWdlaGlkZSIsIGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgZGVidWcoInBh
Z2VoaWRlIC0gIiArIChldmVudC5wZXJzaXN0ZWQgPyAiIiA6ICJub3QgIikgKyAiZW50ZXJpbmcg
Y2FjaGUiKTsKKyAgICBpZiAoIWV2ZW50LnBlcnNpc3RlZCkgeworICAgICAgICB0ZXN0RmFpbGVk
KCJQYWdlIGRpZCBub3QgZW50ZXIgdGhlIHBhZ2UgY2FjaGUuIik7CisgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgIH0KK30sIGZhbHNlKTsKKword2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xv
YWQnLCBmdW5jdGlvbigpIHsKKyAgICB2YXIgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ImxpbmsiKTsKKyAgICBsaW5rLnJlbCA9ICJzdHlsZXNoZWV0IjsKKyAgICBsaW5rLnR5cGUgPSAi
dGV4dC9jc3MiOworICAgIGxpbmsuaHJlZiA9ICIvaW5jcmVtZW50YWwvcmVzb3VyY2VzL3Nsb3ct
dXRmOC1jc3MucGwiOworICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQobGluayk7CisKKyAg
ICB2YXIgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7CisgICAgc2Ny
aXB0LmFzeW5jID0gdHJ1ZTsKKyAgICBzY3JpcHQuc3JjID0gIi9yZXNvdXJjZXMvc2xvdy1zY3Jp
cHQucGwiCisgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzY3JpcHQpOworCisgICAgLy8g
VGhpcyBuZWVkcyB0byBoYXBwZW4gaW4gYSBzZXRUaW1lb3V0IGJlY2F1c2UgYSBuYXZpZ2F0aW9u
IGluc2lkZSB0aGUgb25sb2FkIGhhbmRsZXIgd291bGQKKyAgICAvLyBub3QgY3JlYXRlIGEgaGlz
dG9yeSBlbnRyeS4KKyAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgLy8gRm9yY2Ug
YSBiYWNrIG5hdmlnYXRpb24gYmFjayB0byB0aGlzIHBhZ2UuCisgICAgICB3aW5kb3cubG9jYXRp
b24uaHJlZiA9ICJyZXNvdXJjZXMvcGFnZS1jYWNoZS1oZWxwZXIuaHRtbCI7CisgICAgfSwgMCk7
Cit9LCBmYWxzZSk7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>