<?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>270496</bug_id>
          
          <creation_ts>2024-03-04 18:32:21 -0800</creation_ts>
          <short_desc>AX: AXPropertyName::{ColumnIndexRange, RowIndexRange} properties are never updated</short_desc>
          <delta_ts>2024-03-05 14:21:25 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Accessibility</component>
          <version>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tyler Wilcock">tyler_w</reporter>
          <assigned_to name="Tyler Wilcock">tyler_w</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>andresg_22</cc>
    
    <cc>apinheiro</cc>
    
    <cc>cfleizach</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jcraig</cc>
    
    <cc>samuel_white</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2018646</commentid>
    <comment_count>0</comment_count>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2024-03-04 18:32:21 -0800</bug_when>
    <thetext>This can cause ATs to miss table content if they use the rowIndexRange and columnIndexRange APIs as inputs to the cellForColumnAndRow API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2018647</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2024-03-04 18:32:35 -0800</bug_when>
    <thetext>&lt;rdar://problem/124046227&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2018648</commentid>
    <comment_count>2</comment_count>
      <attachid>470170</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2024-03-04 18:40:30 -0800</bug_when>
    <thetext>Created attachment 470170
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2018656</commentid>
    <comment_count>3</comment_count>
      <attachid>470171</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2024-03-04 19:18:46 -0800</bug_when>
    <thetext>Created attachment 470171
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2018667</commentid>
    <comment_count>4</comment_count>
      <attachid>470174</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2024-03-04 20:01:24 -0800</bug_when>
    <thetext>Created attachment 470174
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2018686</commentid>
    <comment_count>5</comment_count>
      <attachid>470175</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2024-03-04 22:26:00 -0800</bug_when>
    <thetext>Created attachment 470175
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2018892</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2024-03-05 14:21:23 -0800</bug_when>
    <thetext>Committed 275710@main (6e896e7e4003): &lt;https://commits.webkit.org/275710@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 470175.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>470170</attachid>
            <date>2024-03-04 18:40:30 -0800</date>
            <delta_ts>2024-03-04 19:18:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-270496-20240304184029.patch</filename>
            <type>text/plain</type>
            <size>24386</size>
            <attacher name="Tyler Wilcock">tyler_w</attacher>
            
              <data encoding="base64">RnJvbSBlZmZjMTFmYWNlYzZlMGE0MTY2ZmRkM2Y5YWYzMWRhZmQ1YTY1MmRjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUeWxlciBXaWxjb2NrIDx0eWxlcl93QGFwcGxlLmNvbT4KRGF0
ZTogTW9uLCA0IE1hciAyMDI0IDE4OjMyOjM0IC0wODAwClN1YmplY3Q6IFtQQVRDSF0gQVg6IEFY
UHJvcGVydHlOYW1lOjp7Q29sdW1uSW5kZXhSYW5nZSwgUm93SW5kZXhSYW5nZX0KIHByb3BlcnRp
ZXMgYXJlIG5ldmVyIHVwZGF0ZWQgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTI3MDQ5NgogcmRhcjovL3Byb2JsZW0vMTI0MDQ2MjI3CgpSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KClRoaXMgY2FuIGNhdXNlIEFUcyB0byBtaXNzIHRhYmxlIGNvbnRlbnQgaWYgdGhl
eSB1c2UgdGhlIHJvd0luZGV4UmFuZ2UgYW5kIGNvbHVtbkluZGV4UmFuZ2UgQVBJcwphcyBpbnB1
dHMgdG8gdGhlIGNlbGxGb3JDb2x1bW5BbmRSb3cgQVBJLiBGaXggdGhpcyBieSBwb3N0aW5nIGEg
bm90aWZpY2F0aW9uIHdoZW4gdGFibGUgY2VsbHMKbW9kaWZ5IHRoaXMgdGhlaXIgcm93IC8gY29s
dW1uIGluZGV4IGFzIHRoZWlyIHBhcmVudCB0YWJsZSBpcyBiZWluZyBidWlsdC4KClRoaXMgcGF0
Y2ggYWxzbyBhZGRzIGEgbmV3IHBvc3ROb3RpZmljYXRpb24gb3ZlcmxvYWQgdG8gYXZvaWQgdW5u
ZWNlc3NhcnkgbnVsbC1jaGVja2luZyBhbmQgdmVyYm9zaXR5Cm9mIHBhc3NpbmcgYSBoYXJkY29k
ZWQgYG51bGxwdHIgRG9jdW1lbnQqYCBhcmd1bWVudCB0byBwb3N0Tm90aWZpY2F0aW9uKEFjY2Vz
c2liaWxpdHlPYmplY3QqLCBEb2N1bWVudCosIEFYTm90aWZpY2F0aW9uLCBQb3N0VGFyZ2V0ID0g
UG9zdFRhcmdldDo6RWxlbWVudCkuCgpFeGlzdGluZyBub3RpZmljYXRpb25zIEFYQ29sdW1uSW5k
ZXhDaGFuZ2VkIGFuZCBBWFJvd0luZGV4Q2hhbmdlZCBhcmUgcmVwdXJwb3NlZCB0byByZXBvcnQg
dGhpcyBkeW5hbWljIGNoYW5nZSwKYW5kIHR3byBuZXcgbm90aWZpY2F0aW9ucyAoQVhBUklBQ29s
dW1uSW5kZXhDaGFuZ2VkIGFuZCBBWEFSSUFSb3dJbmRleENoYW5nZWQpIGFyZSBhZGRlZCB0byBz
dXBwb3J0IHdoYXQgdGhlIGZvcm1lcgp0d28gbm90aWZpY2F0aW9ucyB1c2VkIHRvIGRvLgoKKiBM
YXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2R5bmFtaWMtYXJpYS1oaWRkZW4tY2VsbC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgoqIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZHluYW1pYy1hcmlhLWhp
ZGRlbi1jZWxsLmh0bWw6IEFkZGVkLgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhM
b2dnZXIuY3BwOgooV2ViQ29yZTo6b3BlcmF0b3I8PCk6CiogU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcDoKKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OnZhbHVl
Q2hhbmdlZCk6CihXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpjb2x1bW5JbmRleENoYW5nZWQpOgoo
V2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6cm93SW5kZXhDaGFuZ2VkKToKKFdlYkNvcmU6OkFYT2Jq
ZWN0Q2FjaGU6OnBvc3ROb3RpZmljYXRpb24pOgooV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6b25U
ZXh0U2VjdXJpdHlDaGFuZ2VkKToKKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6Om9uVGl0bGVDaGFu
Z2UpOgooV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6b25WYWxpZGl0eUNoYW5nZSk6CihXZWJDb3Jl
OjpBWE9iamVjdENhY2hlOjpoYW5kbGVSb2xlQ2hhbmdlZCk6ClRha2UgYSByZWZlcmVuY2UgcmF0
aGVyIHRoYW4gYSBwb2ludGVyIGFzIGFsbCBjYWxsc2l0ZXMgaGF2ZSBhY2Nlc3MgdG8gYQpyZWZl
cmVuY2UuCihXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpoYW5kbGVBdHRyaWJ1dGVDaGFuZ2UpOgoo
V2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6dXBkYXRlSXNvbGF0ZWRUcmVlKToKKFdlYkNvcmU6OkFY
T2JqZWN0Q2FjaGU6OnNlbGVjdGVkVGV4dFJhbmdlVGltZXJGaXJlZCk6CihXZWJDb3JlOjpBWE9i
amVjdENhY2hlOjpvbldpZGdldFZpc2liaWxpdHlDaGFuZ2VkKToKKiBTb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaDoKKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwOgooV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVj
dDo6dXBkYXRlUm9sZSk6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0LmNwcDoKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6
OnVwZGF0ZVJvbGVBZnRlckNoaWxkcmVuQ3JlYXRpb24pOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlLmNwcDoKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlU
YWJsZTo6cmVjb21wdXRlSXNFeHBvc2FibGUpOgooV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVRhYmxl
Ojpjb2x1bW5Db3VudCk6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5VGFibGVDZWxsLmNwcDoKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlUYWJsZUNlbGw6OnNldFJv
d0luZGV4KToKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlUYWJsZUNlbGw6OnNldENvbHVtbkluZGV4
KToKKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZUNlbGwu
aDoKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlUYWJsZUNlbGw6OnNldFJvd0luZGV4KTogRGVsZXRl
ZC4KKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlUYWJsZUNlbGw6OnNldENvbHVtbkluZGV4KTogRGVs
ZXRlZC4KLS0tCiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYTG9nZ2VyLmNwcCAgICAg
fCAgNiArKwogLi4uL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcCAgIHwg
NjAgKysrKysrKysrKy0tLS0tCiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0
Q2FjaGUuaCAgfCAxNiArKystCiAuLi4vYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0
LmNwcCAgICAgfCAgMiArLQogLi4uL0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwICAgICAg
ICAgICAgIHwgIDIgKy0KIC4uLi9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZS5jcHAg
ICAgICB8ICA0ICstCiAuLi4vYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVDZWxsLmNw
cCAgfCAyNCArKysrKysKIC4uLi9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZUNlbGwu
aCAgICB8ICA0ICstCiAuLi4vZHluYW1pYy1hcmlhLWhpZGRlbi1jZWxsLWV4cGVjdGVkLnR4dCAg
ICAgfCAyOSArKysrKysrCiAuLi4vZHluYW1pYy1hcmlhLWhpZGRlbi1jZWxsLmh0bWwgICAgICAg
ICAgICAgfCA3NSArKysrKysrKysrKysrKysrKysrCiAxMCBmaWxlcyBjaGFuZ2VkLCAxOTggaW5z
ZXJ0aW9ucygrKSwgMjQgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVz
dHMvYWNjZXNzaWJpbGl0eS9keW5hbWljLWFyaWEtaGlkZGVuLWNlbGwtZXhwZWN0ZWQudHh0CiBj
cmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9keW5hbWljLWFyaWEt
aGlkZGVuLWNlbGwuaHRtbAoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQVhMb2dnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWExvZ2dlci5j
cHAKaW5kZXggZjVjZjBhMTgyNGExLi5mYjBmZDZkMTc3OGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhMb2dnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQVhMb2dnZXIuY3BwCkBAIC01NTIsNiArNTUyLDEyIEBAIFRleHRTdHJlYW0m
IG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgc3RyZWFtLCBBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNh
dGlvbiBub3RpZmljCiAgICAgY2FzZSBBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbjo6QVhB
dXRvZmlsbFR5cGVDaGFuZ2VkOgogICAgICAgICBzdHJlYW0gPDwgIkFYQXV0b2ZpbGxUeXBlQ2hh
bmdlZCI7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgQVhPYmplY3RDYWNoZTo6QVhOb3RpZmlj
YXRpb246OkFYQVJJQUNvbHVtbkluZGV4Q2hhbmdlZDoKKyAgICAgICAgc3RyZWFtIDw8ICJBWEFS
SUFDb2x1bW5JbmRleENoYW5nZWQiOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEFYT2JqZWN0
Q2FjaGU6OkFYTm90aWZpY2F0aW9uOjpBWEFSSUFSb3dJbmRleENoYW5nZWQ6CisgICAgICAgIHN0
cmVhbSA8PCAiQVhBUklBUm93SW5kZXhDaGFuZ2VkIjsKKyAgICAgICAgYnJlYWs7CiAgICAgY2Fz
ZSBBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbjo6QVhCcmFpbGxlTGFiZWxDaGFuZ2VkOgog
ICAgICAgICBzdHJlYW0gPDwgIkFYQnJhaWxsZUxhYmVsQ2hhbmdlZCI7CiAgICAgICAgIGJyZWFr
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKaW5k
ZXggMmI5NDMwZmNkODE5Li41YjBiNzY2N2JiOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcApAQCAtMTQ1Niw5ICsxNDU2LDIxIEBAIHZvaWQg
QVhPYmplY3RDYWNoZTo6Y2hpbGRyZW5DaGFuZ2VkKEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVj
dCkKIAogdm9pZCBBWE9iamVjdENhY2hlOjp2YWx1ZUNoYW5nZWQoRWxlbWVudCogZWxlbWVudCkK
IHsKLSAgICBwb3N0Tm90aWZpY2F0aW9uKGVsZW1lbnQsIEFYTm90aWZpY2F0aW9uOjpBWFZhbHVl
Q2hhbmdlZCk7CisgICAgcG9zdE5vdGlmaWNhdGlvbihlbGVtZW50LCBBWFZhbHVlQ2hhbmdlZCk7
CiB9CiAKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQordm9pZCBBWE9i
amVjdENhY2hlOjpjb2x1bW5JbmRleENoYW5nZWQoY29uc3QgQWNjZXNzaWJpbGl0eVRhYmxlQ2Vs
bCYgY2VsbCkKK3sKKyAgICBwb3N0Tm90aWZpY2F0aW9uKGNlbGwsIEFYQ29sdW1uSW5kZXhDaGFu
Z2VkKTsKK30KKwordm9pZCBBWE9iamVjdENhY2hlOjpyb3dJbmRleENoYW5nZWQoY29uc3QgQWNj
ZXNzaWJpbGl0eVRhYmxlQ2VsbCYgY2VsbCkKK3sKKyAgICBwb3N0Tm90aWZpY2F0aW9uKGNlbGws
IEFYUm93SW5kZXhDaGFuZ2VkKTsKK30KKyNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWV9J
U09MQVRFRF9UUkVFKQorCiB2b2lkIEFYT2JqZWN0Q2FjaGU6Om5vdGlmaWNhdGlvblBvc3RUaW1l
ckZpcmVkKCkKIHsKICAgICBBWFRSQUNFKG1ha2VTdHJpbmcoIkFYT2JqZWN0Q2FjaGU6Om5vdGlm
aWNhdGlvblBvc3RUaW1lckZpcmVkIDB4Il9zLCBoZXgocmVpbnRlcnByZXRfY2FzdDx1aW50cHRy
X3Q+KHRoaXMpKSkpOwpAQCAtMTU5MCw2ICsxNjAyLDE5IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6
cG9zdE5vdGlmaWNhdGlvbihBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QsIERvY3VtZW50KiBk
b2N1CiAgICAgICAgIG1fbm90aWZpY2F0aW9uUG9zdFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwog
fQogCit2b2lkIEFYT2JqZWN0Q2FjaGU6OnBvc3ROb3RpZmljYXRpb24oY29uc3QgQWNjZXNzaWJp
bGl0eU9iamVjdCYgb2JqZWN0LCBBWE5vdGlmaWNhdGlvbiBub3RpZmljYXRpb24pCit7CisgICAg
QVhUUkFDRShtYWtlU3RyaW5nKCJBWE9iamVjdENhY2hlOjpwb3N0Tm90aWZpY2F0aW9uIDB4Il9z
LCBoZXgocmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KHRoaXMpKSkpOworICAgIEFYTE9HKHN0
ZDo6bWFrZV9wYWlyKG9iamVjdCwgbm90aWZpY2F0aW9uKSk7CisgICAgQVNTRVJUKGlzTWFpblRo
cmVhZCgpKTsKKworICAgIHN0b3BDYWNoaW5nQ29tcHV0ZWRPYmplY3RBdHRyaWJ1dGVzKCk7CisK
KyAgICBtX25vdGlmaWNhdGlvbnNUb1Bvc3QuYXBwZW5kKHN0ZDo6bWFrZV9wYWlyKGNvbnN0X2Nh
c3Q8QWNjZXNzaWJpbGl0eU9iamVjdCo+KCZvYmplY3QpLCBub3RpZmljYXRpb24pKTsKKyAgICBp
ZiAoIW1fbm90aWZpY2F0aW9uUG9zdFRpbWVyLmlzQWN0aXZlKCkpCisgICAgICAgIG1fbm90aWZp
Y2F0aW9uUG9zdFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOworfQorCiB2b2lkIEFYT2JqZWN0Q2Fj
aGU6OmNoZWNrZWRTdGF0ZUNoYW5nZWQoTm9kZSogbm9kZSkKIHsKICAgICBwb3N0Tm90aWZpY2F0
aW9uKG5vZGUsIEFYQ2hlY2tlZFN0YXRlQ2hhbmdlZCk7CkBAIC0xNzkyLDcgKzE4MTcsNyBAQCB2
b2lkIEFYT2JqZWN0Q2FjaGU6Om9uU2VsZWN0ZWRDaGFuZ2VkKE5vZGUqIG5vZGUpCiB2b2lkIEFY
T2JqZWN0Q2FjaGU6Om9uVGV4dFNlY3VyaXR5Q2hhbmdlZChIVE1MSW5wdXRFbGVtZW50JiBpbnB1
dEVsZW1lbnQpCiB7CiAjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKLSAg
ICBwb3N0Tm90aWZpY2F0aW9uKGdldCgmaW5wdXRFbGVtZW50KSwgbnVsbHB0ciwgQVhUZXh0U2Vj
dXJpdHlDaGFuZ2VkKTsKKyAgICBwb3N0Tm90aWZpY2F0aW9uKGdldCgmaW5wdXRFbGVtZW50KSwg
QVhUZXh0U2VjdXJpdHlDaGFuZ2VkKTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKGlucHV0RWxl
bWVudCk7CiAjZW5kaWYKQEAgLTE4MDAsMTIgKzE4MjUsMTIgQEAgdm9pZCBBWE9iamVjdENhY2hl
OjpvblRleHRTZWN1cml0eUNoYW5nZWQoSFRNTElucHV0RWxlbWVudCYgaW5wdXRFbGVtZW50KQog
CiB2b2lkIEFYT2JqZWN0Q2FjaGU6Om9uVGl0bGVDaGFuZ2UoRG9jdW1lbnQmIGRvY3VtZW50KQog
ewotICAgIHBvc3ROb3RpZmljYXRpb24oZ2V0KCZkb2N1bWVudCksIG51bGxwdHIsIEFYVGV4dENo
YW5nZWQpOworICAgIHBvc3ROb3RpZmljYXRpb24oZ2V0KCZkb2N1bWVudCksIEFYVGV4dENoYW5n
ZWQpOwogfQogCiB2b2lkIEFYT2JqZWN0Q2FjaGU6Om9uVmFsaWRpdHlDaGFuZ2UoRWxlbWVudCYg
ZWxlbWVudCkKIHsKLSAgICBwb3N0Tm90aWZpY2F0aW9uKGdldCgmZWxlbWVudCksIG51bGxwdHIs
IEFYSW52YWxpZFN0YXR1c0NoYW5nZWQpOworICAgIHBvc3ROb3RpZmljYXRpb24oZ2V0KCZlbGVt
ZW50KSwgQVhJbnZhbGlkU3RhdHVzQ2hhbmdlZCk7CiB9CiAKIHZvaWQgQVhPYmplY3RDYWNoZTo6
b25UZXh0Q29tcG9zaXRpb25DaGFuZ2UoTm9kZSYgbm9kZSwgQ29tcG9zaXRpb25TdGF0ZSBjb21w
b3NpdGlvblN0YXRlLCBib29sIHZhbHVlQ2hhbmdlZCwgY29uc3QgU3RyaW5nJiB0ZXh0LCBzaXpl
X3QgcG9zaXRpb24sIGJvb2wgaGFuZGxpbmdBY2NlcHRlZENhbmRpZGF0ZSkKQEAgLTI0MDAsMTMg
KzI0MjUsMTMgQEAgdm9pZCBBWE9iamVjdENhY2hlOjpoYW5kbGVSb2xlQ2hhbmdlZChFbGVtZW50
KiBlbGVtZW50LCBjb25zdCBBdG9tU3RyaW5nJiBvbGRWYWwKICAgICBvYmplY3QtPnVwZGF0ZVJv
bGUoKTsKIH0KIAotdm9pZCBBWE9iamVjdENhY2hlOjpoYW5kbGVSb2xlQ2hhbmdlZChBY2Nlc3Np
YmlsaXR5T2JqZWN0KiBheE9iamVjdCkKK3ZvaWQgQVhPYmplY3RDYWNoZTo6aGFuZGxlUm9sZUNo
YW5nZWQoQWNjZXNzaWJpbGl0eU9iamVjdCYgYXhPYmplY3QpCiB7CiAgICAgc3RvcENhY2hpbmdD
b21wdXRlZE9iamVjdEF0dHJpYnV0ZXMoKTsKLSAgICBheE9iamVjdC0+cmVjb21wdXRlSXNJZ25v
cmVkKCk7CisgICAgYXhPYmplY3QucmVjb21wdXRlSXNJZ25vcmVkKCk7CiAKICNpZiBFTkFCTEUo
QUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQotICAgIHBvc3ROb3RpZmljYXRpb24oYXhPYmpl
Y3QsIG51bGxwdHIsIEFYUm9sZUNoYW5nZWQpOworICAgIHBvc3ROb3RpZmljYXRpb24oYXhPYmpl
Y3QsIEFYUm9sZUNoYW5nZWQpOwogI2VuZGlmCiB9CiAKQEAgLTI1MTUsNyArMjU0MCw3IEBAIHZv
aWQgQVhPYmplY3RDYWNoZTo6aGFuZGxlQXR0cmlidXRlQ2hhbmdlKEVsZW1lbnQqIGVsZW1lbnQs
IGNvbnN0IFF1YWxpZmllZE5hbWUmCiAgICAgZWxzZSBpZiAoYXR0ck5hbWUgPT0gbGFuZ0F0dHIp
CiAgICAgICAgIHVwZGF0ZUlzb2xhdGVkVHJlZShnZXQoZWxlbWVudCksIEFYTGFuZ3VhZ2VDaGFu
Z2VkKTsKICAgICBlbHNlIGlmIChhdHRyTmFtZSA9PSBuYW1lQXR0cikKLSAgICAgICAgcG9zdE5v
dGlmaWNhdGlvbihnZXQoZWxlbWVudCksIG51bGxwdHIsIEFYTmFtZUNoYW5nZWQpOworICAgICAg
ICBwb3N0Tm90aWZpY2F0aW9uKGdldChlbGVtZW50KSwgQVhOYW1lQ2hhbmdlZCk7CiAgICAgZWxz
ZSBpZiAoYXR0ck5hbWUgPT0gcGxhY2Vob2xkZXJBdHRyKQogICAgICAgICBwb3N0Tm90aWZpY2F0
aW9uKGVsZW1lbnQsIEFYUGxhY2Vob2xkZXJDaGFuZ2VkKTsKICAgICBlbHNlIGlmIChhdHRyTmFt
ZSA9PSBocmVmQXR0ciB8fCBhdHRyTmFtZSA9PSBzcmNBdHRyKQpAQCAtMjU3Niw3ICsyNjAxLDcg
QEAgdm9pZCBBWE9iamVjdENhY2hlOjpoYW5kbGVBdHRyaWJ1dGVDaGFuZ2UoRWxlbWVudCogZWxl
bWVudCwgY29uc3QgUXVhbGlmaWVkTmFtZSYKICAgICAgICAgcG9zdE5vdGlmaWNhdGlvbihlbGVt
ZW50LCBBWENvbHVtbkNvdW50Q2hhbmdlZCk7CiAgICAgICAgIGRlZmVyUmVjb21wdXRlVGFibGVJ
c0V4cG9zZWQoZHluYW1pY0Rvd25jYXN0PEhUTUxUYWJsZUVsZW1lbnQ+KGVsZW1lbnQpKTsKICAg
ICB9IGVsc2UgaWYgKGF0dHJOYW1lID09IGFyaWFfY29saW5kZXhBdHRyKSB7Ci0gICAgICAgIHBv
c3ROb3RpZmljYXRpb24oZWxlbWVudCwgQVhDb2x1bW5JbmRleENoYW5nZWQpOworICAgICAgICBw
b3N0Tm90aWZpY2F0aW9uKGVsZW1lbnQsIEFYQVJJQUNvbHVtbkluZGV4Q2hhbmdlZCk7CiAgICAg
ICAgIHJlY29tcHV0ZVBhcmVudFRhYmxlUHJvcGVydGllcyhlbGVtZW50LCBUYWJsZVByb3BlcnR5
OjpFeHBvc2VkKTsKICAgICB9IGVsc2UgaWYgKGF0dHJOYW1lID09IGFyaWFfY29sc3BhbkF0dHIp
IHsKICAgICAgICAgcG9zdE5vdGlmaWNhdGlvbihlbGVtZW50LCBBWENvbHVtblNwYW5DaGFuZ2Vk
KTsKQEAgLTI2MDEsNyArMjYyNiw3IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6aGFuZGxlQXR0cmli
dXRlQ2hhbmdlKEVsZW1lbnQqIGVsZW1lbnQsIGNvbnN0IFF1YWxpZmllZE5hbWUmCiAgICAgZWxz
ZSBpZiAoYXR0ck5hbWUgPT0gYXJpYV9wbGFjZWhvbGRlckF0dHIpCiAgICAgICAgIHBvc3ROb3Rp
ZmljYXRpb24oZWxlbWVudCwgQVhQbGFjZWhvbGRlckNoYW5nZWQpOwogICAgIGVsc2UgaWYgKGF0
dHJOYW1lID09IGFyaWFfcm93aW5kZXhBdHRyKSB7Ci0gICAgICAgIHBvc3ROb3RpZmljYXRpb24o
ZWxlbWVudCwgQVhSb3dJbmRleENoYW5nZWQpOworICAgICAgICBwb3N0Tm90aWZpY2F0aW9uKGVs
ZW1lbnQsIEFYQVJJQVJvd0luZGV4Q2hhbmdlZCk7CiAgICAgICAgIHJlY29tcHV0ZVBhcmVudFRh
YmxlUHJvcGVydGllcyhlbGVtZW50LCB7IFRhYmxlUHJvcGVydHk6OkNlbGxTbG90cywgVGFibGVQ
cm9wZXJ0eTo6RXhwb3NlZCB9KTsKICAgICB9CiAgICAgZWxzZSBpZiAoYXR0ck5hbWUgPT0gYXJp
YV92YWx1ZW1heEF0dHIpCkBAIC00MzAyLDYgKzQzMjcsMTIgQEAgdm9pZCBBWE9iamVjdENhY2hl
Ojp1cGRhdGVJc29sYXRlZFRyZWUoY29uc3QgVmVjdG9yPHN0ZDo6cGFpcjxSZWZQdHI8QWNjZXNz
aWJpbGkKICAgICAgICAgY2FzZSBBWEF1dG9maWxsVHlwZUNoYW5nZWQ6CiAgICAgICAgICAgICB0
cmVlLT5xdWV1ZU5vZGVVcGRhdGUobm90aWZpY2F0aW9uLmZpcnN0LT5vYmplY3RJRCgpLCB7IEFY
UHJvcGVydHlOYW1lOjpWYWx1ZUF1dG9maWxsQnV0dG9uVHlwZSB9KTsKICAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICBjYXNlIEFYQVJJQUNvbHVtbkluZGV4Q2hhbmdlZDoKKyAgICAgICAgICAg
IHRyZWUtPnF1ZXVlTm9kZVVwZGF0ZShub3RpZmljYXRpb24uZmlyc3QtPm9iamVjdElEKCksIHsg
QVhQcm9wZXJ0eU5hbWU6OkFYQ29sdW1uSW5kZXggfSk7CisgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgY2FzZSBBWEFSSUFSb3dJbmRleENoYW5nZWQ6CisgICAgICAgICAgICB0cmVlLT5xdWV1
ZU5vZGVVcGRhdGUobm90aWZpY2F0aW9uLmZpcnN0LT5vYmplY3RJRCgpLCB7IEFYUHJvcGVydHlO
YW1lOjpBWFJvd0luZGV4IH0pOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQVhC
cmFpbGxlTGFiZWxDaGFuZ2VkOgogICAgICAgICAgICAgdHJlZS0+cXVldWVOb2RlVXBkYXRlKG5v
dGlmaWNhdGlvbi5maXJzdC0+b2JqZWN0SUQoKSwgeyBBWFByb3BlcnR5TmFtZTo6QnJhaWxsZUxh
YmVsIH0pOwogICAgICAgICAgICAgYnJlYWs7CkBAIC00MzIyLDggKzQzNTMsNiBAQCB2b2lkIEFY
T2JqZWN0Q2FjaGU6OnVwZGF0ZUlzb2xhdGVkVHJlZShjb25zdCBWZWN0b3I8c3RkOjpwYWlyPFJl
ZlB0cjxBY2Nlc3NpYmlsaQogICAgICAgICAgICAgdHJlZS0+cXVldWVOb2RlVXBkYXRlKG5vdGlm
aWNhdGlvbi5maXJzdC0+b2JqZWN0SUQoKSwgeyBBWFByb3BlcnR5TmFtZTo6QVhDb2x1bW5Db3Vu
dCB9KTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIEFYQ29sdW1uSW5kZXhDaGFu
Z2VkOgotICAgICAgICAgICAgdHJlZS0+cXVldWVOb2RlVXBkYXRlKG5vdGlmaWNhdGlvbi5maXJz
dC0+b2JqZWN0SUQoKSwgeyBBWFByb3BlcnR5TmFtZTo6QVhDb2x1bW5JbmRleCB9KTsKLSAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIEFYQ29sdW1uU3BhbkNoYW5nZWQ6CiAgICAgICAg
ICAgICB0cmVlLT5xdWV1ZU5vZGVVcGRhdGUobm90aWZpY2F0aW9uLmZpcnN0LT5vYmplY3RJRCgp
LCB7IEFYUHJvcGVydHlOYW1lOjpDb2x1bW5JbmRleFJhbmdlIH0pOwogICAgICAgICAgICAgYnJl
YWs7CkBAIC00Mzg5LDggKzQ0MTgsNiBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6OnVwZGF0ZUlzb2xh
dGVkVHJlZShjb25zdCBWZWN0b3I8c3RkOjpwYWlyPFJlZlB0cjxBY2Nlc3NpYmlsaQogICAgICAg
ICAgICAgdHJlZS0+cXVldWVOb2RlVXBkYXRlKG5vdGlmaWNhdGlvbi5maXJzdC0+b2JqZWN0SUQo
KSwgeyBBWFByb3BlcnR5TmFtZTo6Um9sZURlc2NyaXB0aW9uIH0pOwogICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIGNhc2UgQVhSb3dJbmRleENoYW5nZWQ6Ci0gICAgICAgICAgICB0cmVlLT5x
dWV1ZU5vZGVVcGRhdGUobm90aWZpY2F0aW9uLmZpcnN0LT5vYmplY3RJRCgpLCB7IEFYUHJvcGVy
dHlOYW1lOjpBWFJvd0luZGV4IH0pOwotICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2Ug
QVhSb3dTcGFuQ2hhbmdlZDoKICAgICAgICAgICAgIHRyZWUtPnF1ZXVlTm9kZVVwZGF0ZShub3Rp
ZmljYXRpb24uZmlyc3QtPm9iamVjdElEKCksIHsgQVhQcm9wZXJ0eU5hbWU6OlJvd0luZGV4UmFu
Z2UgfSk7CiAgICAgICAgICAgICBicmVhazsKQEAgLTUxNTksNyArNTE4Niw3IEBAIHZvaWQgQVhP
YmplY3RDYWNoZTo6c2VsZWN0ZWRUZXh0UmFuZ2VUaW1lckZpcmVkKCkKICAgICBpZiAobV9sYXN0
RGVib3VuY2VkVGV4dFJhbmdlT2JqZWN0LmlzVmFsaWQoKSkgewogICAgICAgICBmb3IgKGF1dG8q
IGF4T2JqZWN0ID0gb2JqZWN0Rm9ySUQobV9sYXN0RGVib3VuY2VkVGV4dFJhbmdlT2JqZWN0KTsg
YXhPYmplY3Q7IGF4T2JqZWN0ID0gYXhPYmplY3QtPnBhcmVudE9iamVjdCgpKSB7CiAgICAgICAg
ICAgICBpZiAoYXhPYmplY3QtPmlzVGV4dENvbnRyb2woKSkKLSAgICAgICAgICAgICAgICBwb3N0
Tm90aWZpY2F0aW9uKGF4T2JqZWN0LCBudWxscHRyLCBBWFNlbGVjdGVkVGV4dENoYW5nZWQpOwor
ICAgICAgICAgICAgICAgIHBvc3ROb3RpZmljYXRpb24oKmF4T2JqZWN0LCBBWFNlbGVjdGVkVGV4
dENoYW5nZWQpOwogICAgICAgICB9CiAgICAgfQogCkBAIC01MTgyLDggKzUyMDksNyBAQCB2b2lk
IEFYT2JqZWN0Q2FjaGU6OnByb2Nlc3NRdWV1ZWRJc29sYXRlZE5vZGVVcGRhdGVzKCkKIHZvaWQg
QVhPYmplY3RDYWNoZTo6b25XaWRnZXRWaXNpYmlsaXR5Q2hhbmdlZChSZW5kZXJXaWRnZXQqIHdp
ZGdldCkKIHsKICNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQotICAgIGlm
IChhdXRvKiBheFdpZGdldCA9IGdldCh3aWRnZXQpKQotICAgICAgICBwb3N0Tm90aWZpY2F0aW9u
KGF4V2lkZ2V0LCBudWxscHRyLCBBWFZpc2liaWxpdHlDaGFuZ2VkKTsKKyAgICBwb3N0Tm90aWZp
Y2F0aW9uKGdldCh3aWRnZXQpLCBBWFZpc2liaWxpdHlDaGFuZ2VkKTsKICNlbHNlCiAgICAgVU5V
U0VEX1BBUkFNKHdpZGdldCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BWE9iamVjdENhY2hlLmgKaW5kZXggMzBkNzY0NzRlZWU4Li5lMmM1NmQ2NGYzZGUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCkBAIC0yMDksNyAr
MjA5LDEzIEBAIHB1YmxpYzoKICAgICB2b2lkIHZhbHVlQ2hhbmdlZChFbGVtZW50Kik7CiAgICAg
dm9pZCBjaGVja2VkU3RhdGVDaGFuZ2VkKE5vZGUqKTsKICAgICB2b2lkIGF1dG9maWxsVHlwZUNo
YW5nZWQoTm9kZSopOwotICAgIHZvaWQgaGFuZGxlUm9sZUNoYW5nZWQoQWNjZXNzaWJpbGl0eU9i
amVjdCopOworICAgIHZvaWQgaGFuZGxlUm9sZUNoYW5nZWQoQWNjZXNzaWJpbGl0eU9iamVjdCYp
OworCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKyAgICB2b2lkIGNv
bHVtbkluZGV4Q2hhbmdlZChjb25zdCBBY2Nlc3NpYmlsaXR5VGFibGVDZWxsJik7CisgICAgdm9p
ZCByb3dJbmRleENoYW5nZWQoY29uc3QgQWNjZXNzaWJpbGl0eVRhYmxlQ2VsbCYpOworI2VuZGlm
CisKICAgICAvLyBDYWxsZWQgd2hlbiBhIFJlbmRlck9iamVjdCBpcyBjcmVhdGVkIGZvciBhbiBF
bGVtZW50LiBEZXBlbmRpbmcgb24gdGhlCiAgICAgLy8gcHJlc2VuY2Ugb2YgYSBSZW5kZXJPYmpl
Y3QsIHdlIG1heSBoYXZlIGluc3RhdGlhdGVkIGFuIEFYUmVuZGVyT2JqZWN0IG9yCiAgICAgLy8g
YW4gQVhOb2RlT2JqZWN0LiBUaGlzIG9jY3VycyB3aGVuIGFuIEVsZW1lbnQgd2l0aCBubyByZW5k
ZXJlciBpcwpAQCAtMzU0LDYgKzM2MCw4IEBAIHB1YmxpYzoKICAgICAgICAgQVhBbm5vdW5jZW1l
bnRSZXF1ZXN0ZWQsCiAgICAgICAgIEFYQXV0b2NvcnJlY3Rpb25PY2N1cmVkLAogICAgICAgICBB
WEF1dG9maWxsVHlwZUNoYW5nZWQsCisgICAgICAgIEFYQVJJQUNvbHVtbkluZGV4Q2hhbmdlZCwK
KyAgICAgICAgQVhBUklBUm93SW5kZXhDaGFuZ2VkLAogICAgICAgICBBWEJyYWlsbGVMYWJlbENo
YW5nZWQsCiAgICAgICAgIEFYQnJhaWxsZVJvbGVEZXNjcmlwdGlvbkNoYW5nZWQsCiAgICAgICAg
IEFYQ2VsbFNsb3RzQ2hhbmdlZCwKQEAgLTQ0Nyw2ICs0NTUsMTIgQEAgcHVibGljOgogICAgIHZv
aWQgcG9zdE5vdGlmaWNhdGlvbihSZW5kZXJPYmplY3QqLCBBWE5vdGlmaWNhdGlvbiwgUG9zdFRh
cmdldCA9IFBvc3RUYXJnZXQ6OkVsZW1lbnQpOwogICAgIHZvaWQgcG9zdE5vdGlmaWNhdGlvbihO
b2RlKiwgQVhOb3RpZmljYXRpb24sIFBvc3RUYXJnZXQgPSBQb3N0VGFyZ2V0OjpFbGVtZW50KTsK
ICAgICB2b2lkIHBvc3ROb3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCosIERvY3VtZW50
KiwgQVhOb3RpZmljYXRpb24sIFBvc3RUYXJnZXQgPSBQb3N0VGFyZ2V0OjpFbGVtZW50KTsKKyAg
ICB2b2lkIHBvc3ROb3RpZmljYXRpb24oY29uc3QgQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0
LCBBWE5vdGlmaWNhdGlvbiBub3RpZmljYXRpb24pCisgICAgeworICAgICAgICBpZiAob2JqZWN0
KQorICAgICAgICAgICAgcG9zdE5vdGlmaWNhdGlvbigqb2JqZWN0LCBub3RpZmljYXRpb24pOwor
ICAgIH0KKyAgICB2b2lkIHBvc3ROb3RpZmljYXRpb24oY29uc3QgQWNjZXNzaWJpbGl0eU9iamVj
dCYsIEFYTm90aWZpY2F0aW9uKTsKICAgICAvLyBSZXF1ZXN0cyBjbGllbnRzIHRvIGFubm91bmNl
IHRvIHRoZSB1c2VyIHRoZSBnaXZlbiBtZXNzYWdlIGluIHRoZSB3YXkgdGhleSBkZWVtIGFwcHJv
cHJpYXRlLgogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYW5ub3VuY2UoY29uc3QgU3RyaW5nJik7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlP
YmplY3QuY3BwCmluZGV4IGJkMGJhNDAwYjdjNy4uYTg2ZjJhZTAyOTE4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKQEAg
LTI4MjcsNyArMjgyNyw3IEBAIHZvaWQgQWNjZXNzaWJpbGl0eU9iamVjdDo6dXBkYXRlUm9sZSgp
CiAgICAgbV9yb2xlID0gZGV0ZXJtaW5lQWNjZXNzaWJpbGl0eVJvbGUoKTsKICAgICBpZiAocHJl
dmlvdXNSb2xlICE9IG1fcm9sZSkgewogICAgICAgICBpZiAoYXV0byogY2FjaGUgPSBheE9iamVj
dENhY2hlKCkpCi0gICAgICAgICAgICBjYWNoZS0+aGFuZGxlUm9sZUNoYW5nZWQodGhpcyk7Cisg
ICAgICAgICAgICBjYWNoZS0+aGFuZGxlUm9sZUNoYW5nZWQoKnRoaXMpOwogICAgIH0KIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVu
ZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVJlbmRlck9iamVjdC5jcHAKaW5kZXggNmEzOTRkZDE3ZjI3Li5mODljZWIyMGE5ODQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9i
amVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
UmVuZGVyT2JqZWN0LmNwcApAQCAtMjU2NCw3ICsyNTY0LDcgQEAgdm9pZCBBY2Nlc3NpYmlsaXR5
UmVuZGVyT2JqZWN0Ojp1cGRhdGVSb2xlQWZ0ZXJDaGlsZHJlbkNyZWF0aW9uKCkKIAogICAgIGlm
IChyb2xlICE9IG1fcm9sZSkgewogICAgICAgICBpZiAoYXV0byogY2FjaGUgPSBheE9iamVjdENh
Y2hlKCkpCi0gICAgICAgICAgICBjYWNoZS0+aGFuZGxlUm9sZUNoYW5nZWQodGhpcyk7CisgICAg
ICAgICAgICBjYWNoZS0+aGFuZGxlUm9sZUNoYW5nZWQoKnRoaXMpOwogICAgIH0KIH0KICAgICAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRh
YmxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxl
LmNwcAppbmRleCA2MmE0MWIzMGI1ZjEuLjA3MWFkZGQ2YzNjMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlLmNwcApAQCAtNDA0LDcg
KzQwNCw3IEBAIHZvaWQgQWNjZXNzaWJpbGl0eVRhYmxlOjpyZWNvbXB1dGVJc0V4cG9zYWJsZSgp
CiAgICAgaWYgKHByZXZpb3VzbHlFeHBvc2FibGUgIT0gbV9pc0V4cG9zYWJsZSkgewogICAgICAg
ICAvLyBBIHRhYmxlJ3Mgcm9sZSB2YWx1ZSBpcyBkZXBlbmRlbnQgb24gd2hldGhlciBpdCdzIGV4
cG9zZWQsIHNvIG5vdGlmeSB0aGUgY2FjaGUgdGhpcyBoYXMgY2hhbmdlZC4KICAgICAgICAgaWYg
KGF1dG8qIGNhY2hlID0gYXhPYmplY3RDYWNoZSgpKQotICAgICAgICAgICAgY2FjaGUtPmhhbmRs
ZVJvbGVDaGFuZ2VkKHRoaXMpOworICAgICAgICAgICAgY2FjaGUtPmhhbmRsZVJvbGVDaGFuZ2Vk
KCp0aGlzKTsKIAogICAgICAgICAvLyBCZWZvcmUgcmVzZXR0aW5nIG91ciBleGlzdGluZyBjaGls
ZHJlbiwgcG9zc2libHkgbG9zaW5nIHJlZmVyZW5jZXMgdG8gdGhlbSwgZW5zdXJlIHdlIHVwZGF0
ZSB0aGVpciByb2xlIChzaW5jZSBhIHRhYmxlIGNlbGwncyByb2xlIGlzIGRlcGVuZGVudCBvbiB3
aGV0aGVyIGl0cyBwYXJlbnQgdGFibGUgaXMgZXhwb3NhYmxlKS4KICAgICAgICAgdXBkYXRlQ2hp
bGRyZW5Sb2xlcygpOwpAQCAtODQ1LDcgKzg0NSw3IEBAIHVuc2lnbmVkIEFjY2Vzc2liaWxpdHlU
YWJsZTo6Y29sdW1uQ291bnQoKQogewogICAgIHVwZGF0ZUNoaWxkcmVuSWZOZWNlc3NhcnkoKTsK
ICAgICAKLSAgICByZXR1cm4gbV9jb2x1bW5zLnNpemUoKTsgICAgCisgICAgcmV0dXJuIG1fY29s
dW1ucy5zaXplKCk7CiB9CiAgICAgCiB1bnNpZ25lZCBBY2Nlc3NpYmlsaXR5VGFibGU6OnJvd0Nv
dW50KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eVRhYmxlQ2VsbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlUYWJsZUNlbGwuY3BwCmluZGV4IDk1NDVmZGI5NzhiMS4uMmVhMDNlNDYyZjg0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZUNl
bGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRh
YmxlQ2VsbC5jcHAKQEAgLTMyOCw2ICszMjgsMzAgQEAgdm9pZCBBY2Nlc3NpYmlsaXR5VGFibGVD
ZWxsOjplbnN1cmVJbmRleGVzVXBUb0RhdGUoKSBjb25zdAogICAgICAgICBwYXJlbnRUYWJsZS0+
ZW5zdXJlQ2VsbEluZGV4ZXNVcFRvRGF0ZSgpOwogfQogCit2b2lkIEFjY2Vzc2liaWxpdHlUYWJs
ZUNlbGw6OnNldFJvd0luZGV4KHVuc2lnbmVkIGluZGV4KQoreworICAgIGlmIChtX3Jvd0luZGV4
ID09IGluZGV4KQorICAgICAgICByZXR1cm47CisgICAgbV9yb3dJbmRleCA9IGluZGV4OworCisj
aWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKyAgICBpZiAoYXV0byogY2Fj
aGUgPSBheE9iamVjdENhY2hlKCkpCisgICAgICAgIGNhY2hlLT5yb3dJbmRleENoYW5nZWQoKnRo
aXMpOworI2VuZGlmCit9CisKK3ZvaWQgQWNjZXNzaWJpbGl0eVRhYmxlQ2VsbDo6c2V0Q29sdW1u
SW5kZXgodW5zaWduZWQgaW5kZXgpCit7CisgICAgaWYgKG1fY29sdW1uSW5kZXggPT0gaW5kZXgp
CisgICAgICAgIHJldHVybjsKKyAgICBtX2NvbHVtbkluZGV4ID0gaW5kZXg7CisKKyNpZiBFTkFC
TEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQorICAgIGlmIChhdXRvKiBjYWNoZSA9IGF4
T2JqZWN0Q2FjaGUoKSkKKyAgICAgICAgY2FjaGUtPmNvbHVtbkluZGV4Q2hhbmdlZCgqdGhpcyk7
CisjZW5kaWYKK30KKwogc3RkOjpwYWlyPHVuc2lnbmVkLCB1bnNpZ25lZD4gQWNjZXNzaWJpbGl0
eVRhYmxlQ2VsbDo6cm93SW5kZXhSYW5nZSgpIGNvbnN0CiB7CiAgICAgZW5zdXJlSW5kZXhlc1Vw
VG9EYXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlUYWJsZUNlbGwuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eVRhYmxlQ2VsbC5oCmluZGV4IDg3NzZiMWRhM2VkMy4uMWM2MmJmOTNlNzEwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZUNl
bGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJs
ZUNlbGwuaApAQCAtNjcsOCArNjcsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCByZXNldEVmZmVjdGl2
ZVJvd1NwYW4oKSB7IG1fZWZmZWN0aXZlUm93U3BhbiA9IDE7IH0KICAgICB2b2lkIHNldEFYQ29s
SW5kZXhGcm9tUm93KGludCBpbmRleCkgeyBtX2F4Q29sSW5kZXhGcm9tUm93ID0gaW5kZXg7IH0K
IAotICAgIHZvaWQgc2V0Um93SW5kZXgodW5zaWduZWQgaW5kZXgpIHsgbV9yb3dJbmRleCA9IGlu
ZGV4OyB9Ci0gICAgdm9pZCBzZXRDb2x1bW5JbmRleCh1bnNpZ25lZCBpbmRleCkgeyBtX2NvbHVt
bkluZGV4ID0gaW5kZXg7IH0KKyAgICB2b2lkIHNldFJvd0luZGV4KHVuc2lnbmVkKTsKKyAgICB2
b2lkIHNldENvbHVtbkluZGV4KHVuc2lnbmVkKTsKIAogI2lmIFVTRShBVFNQSSkKICAgICBpbnQg
YXhDb2x1bW5TcGFuKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmls
aXR5L2R5bmFtaWMtYXJpYS1oaWRkZW4tY2VsbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9h
Y2Nlc3NpYmlsaXR5L2R5bmFtaWMtYXJpYS1oaWRkZW4tY2VsbC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi40YWFhOTNkZGI1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2R5bmFtaWMtYXJpYS1oaWRkZW4t
Y2VsbC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyOSBAQAorVGhpcyB0ZXN0IGVuc3VyZXMgd2Ug
cmVwb3J0IHRoZSByaWdodCBpbmZvcm1hdGlvbiBmb3IgdGFibGVzIHdpdGggcHJlc2VudGF0aW9u
YWwgY2VsbHMuCisKK1BBU1M6IHRhYmxlLnJvd0NvdW50ID09PSAyCitQQVNTOiB0YWJsZS5jb2x1
bW5Db3VudCA9PT0gMgorUEFTUzogYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVs
ZW1lbnRCeUlkKCd0aDAtMScpLnJvd0luZGV4UmFuZ2UoKSA9PT0gJ3swLCAxfScKK1BBU1M6IGFj
Y2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgndGgwLTEnKS5jb2x1
bW5JbmRleFJhbmdlKCkgPT09ICd7MCwgMX0nCitQQVNTOiBhY2Nlc3NpYmlsaXR5Q29udHJvbGxl
ci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3RoMC0yJykucm93SW5kZXhSYW5nZSgpID09PSAnezAs
IDF9JworUEFTUzogYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlk
KCd0aDAtMicpLmNvbHVtbkluZGV4UmFuZ2UoKSA9PT0gJ3sxLCAxfScKK1BBU1M6IGFjY2Vzc2li
aWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgndGQxLTEnKS5yb3dJbmRleFJh
bmdlKCkgPT09ICd7MSwgMX0nCitQQVNTOiBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3Np
YmxlRWxlbWVudEJ5SWQoJ3RkMS0xJykuY29sdW1uSW5kZXhSYW5nZSgpID09PSAnezAsIDF9Jwor
UEFTUzogYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0ZDEt
MicpLnJvd0luZGV4UmFuZ2UoKSA9PT0gJ3sxLCAxfScKK1BBU1M6IGFjY2Vzc2liaWxpdHlDb250
cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgndGQxLTInKS5jb2x1bW5JbmRleFJhbmdlKCkg
PT09ICd7MSwgMX0nCitQQVNTOiB0YWJsZS5jb2x1bW5Db3VudCA9PT0gMworUEFTUzogYWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0aDAtMC1oaWRkZW4nKS5y
b3dJbmRleFJhbmdlKCkgPT09ICd7MCwgMX0nCitQQVNTOiBhY2Nlc3NpYmlsaXR5Q29udHJvbGxl
ci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3RoMC0wLWhpZGRlbicpLmNvbHVtbkluZGV4UmFuZ2Uo
KSA9PT0gJ3swLCAxfScKK1BBU1M6IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVF
bGVtZW50QnlJZCgndGgwLTEnKS5yb3dJbmRleFJhbmdlKCkgPT09ICd7MCwgMX0nCitQQVNTOiBh
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3RoMC0xJykuY29s
dW1uSW5kZXhSYW5nZSgpID09PSAnezEsIDF9JworUEFTUzogYWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0ZDEtMC1oaWRkZW4nKS5yb3dJbmRleFJhbmdlKCkg
PT09ICd7MSwgMX0nCitQQVNTOiBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxl
bWVudEJ5SWQoJ3RkMS0wLWhpZGRlbicpLmNvbHVtbkluZGV4UmFuZ2UoKSA9PT0gJ3swLCAxfScK
K1BBU1M6IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgndGQx
LTEnKS5yb3dJbmRleFJhbmdlKCkgPT09ICd7MSwgMX0nCitQQVNTOiBhY2Nlc3NpYmlsaXR5Q29u
dHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3RkMS0xJykuY29sdW1uSW5kZXhSYW5nZSgp
ID09PSAnezEsIDF9JworUEFTUzogYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVs
ZW1lbnRCeUlkKCd0ZDEtMicpLnJvd0luZGV4UmFuZ2UoKSA9PT0gJ3sxLCAxfScKK1BBU1M6IGFj
Y2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgndGQxLTInKS5jb2x1
bW5JbmRleFJhbmdlKCkgPT09ICd7MiwgMX0nCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorSGVhZGVyIG9uZQlIZWFkZXIgdHdvCUhlYWRlciB0aHJl
ZQorQQlCCUMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZHluYW1pYy1h
cmlhLWhpZGRlbi1jZWxsLmh0bWwgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2R5bmFtaWMt
YXJpYS1oaWRkZW4tY2VsbC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMC4uZWRiZTU2ZDM2YThmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNz
aWJpbGl0eS9keW5hbWljLWFyaWEtaGlkZGVuLWNlbGwuaHRtbApAQCAtMCwwICsxLDc1IEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9hY2Nlc3NpYmlsaXR5LWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+CisKKzx0YWJsZSBpZD0idGFibGUiIHRhYmluZGV4PSIwIj4KKyAg
ICA8dGhlYWQgaWQ9InRoZWFkIj4KKyAgICAgICAgPHRyIGlkPSJ0cjAiPgorICAgICAgICAgICAg
PHRoIGlkPSJ0aDAtMC1oaWRkZW4iIGFyaWEtaGlkZGVuPSJ0cnVlIj5IZWFkZXIgb25lPC90aD4K
KyAgICAgICAgICAgIDx0aCBpZD0idGgwLTEiIHRhYmluZGV4PSIwIiBhcmlhLWNvbGluZGV4PSIx
Ij48c3Ryb25nPkhlYWRlciB0d288L3N0cm9uZz48L3RoPgorICAgICAgICAgICAgPHRoIGlkPSJ0
aDAtMiIgdGFiaW5kZXg9IjAiIGFyaWEtY29saW5kZXg9IjIiPjxzdHJvbmc+SGVhZGVyIHRocmVl
PC9zdHJvbmc+PC90aD4KKyAgICAgICAgPC90cj4KKyAgICA8L3RoZWFkPgorICAgIDx0Ym9keSBp
ZD0idGJvZHkiPgorICAgICAgICA8dHIgaWQ9InRyMSI+CisgICAgICAgICAgICA8dGQgaWQ9InRk
MS0wLWhpZGRlbiIgYXJpYS1oaWRkZW49InRydWUiPkE8L3RkPgorICAgICAgICAgICAgPHRkIGlk
PSJ0ZDEtMSIgdGFiaW5kZXg9IjAiIGFyaWEtY29saW5kZXg9IjEiPkI8L3RkPgorICAgICAgICAg
ICAgPHRkIGlkPSJ0ZDEtMiIgdGFiaW5kZXg9IjAiIGFyaWEtY29saW5kZXg9IjIiPkM8L3RkPgor
ICAgICAgICA8L3RyPgorICAgIDwvdGJvZHk+Cis8L3RhYmxlPgorCis8c2NyaXB0PgordmFyIG91
dHB1dCA9ICJUaGlzIHRlc3QgZW5zdXJlcyB3ZSByZXBvcnQgdGhlIHJpZ2h0IGluZm9ybWF0aW9u
IGZvciB0YWJsZXMgd2l0aCBwcmVzZW50YXRpb25hbCBjZWxscy5cblxuIjsKKworaWYgKHdpbmRv
dy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgeworICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgIHZhciB0YWJsZSA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2li
bGVFbGVtZW50QnlJZCgidGFibGUiKTsKKyAgICBvdXRwdXQgKz0gZXhwZWN0KCJ0YWJsZS5yb3dD
b3VudCIsICIyIik7CisgICAgb3V0cHV0ICs9IGV4cGVjdCgidGFibGUuY29sdW1uQ291bnQiLCAi
MiIpOworCisgICAgb3V0cHV0ICs9IGV4cGVjdCgiYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNj
ZXNzaWJsZUVsZW1lbnRCeUlkKCd0aDAtMScpLnJvd0luZGV4UmFuZ2UoKSIsICInezAsIDF9JyIp
OworICAgIG91dHB1dCArPSBleHBlY3QoImFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2li
bGVFbGVtZW50QnlJZCgndGgwLTEnKS5jb2x1bW5JbmRleFJhbmdlKCkiLCAiJ3swLCAxfSciKTsK
KworICAgIG91dHB1dCArPSBleHBlY3QoImFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2li
bGVFbGVtZW50QnlJZCgndGgwLTInKS5yb3dJbmRleFJhbmdlKCkiLCAiJ3swLCAxfSciKTsKKyAg
ICBvdXRwdXQgKz0gZXhwZWN0KCJhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxl
bWVudEJ5SWQoJ3RoMC0yJykuY29sdW1uSW5kZXhSYW5nZSgpIiwgIid7MSwgMX0nIik7CisKKyAg
ICBvdXRwdXQgKz0gZXhwZWN0KCJhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxl
bWVudEJ5SWQoJ3RkMS0xJykucm93SW5kZXhSYW5nZSgpIiwgIid7MSwgMX0nIik7CisgICAgb3V0
cHV0ICs9IGV4cGVjdCgiYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRC
eUlkKCd0ZDEtMScpLmNvbHVtbkluZGV4UmFuZ2UoKSIsICInezAsIDF9JyIpOworCisgICAgb3V0
cHV0ICs9IGV4cGVjdCgiYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRC
eUlkKCd0ZDEtMicpLnJvd0luZGV4UmFuZ2UoKSIsICInezEsIDF9JyIpOworICAgIG91dHB1dCAr
PSBleHBlY3QoImFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgn
dGQxLTInKS5jb2x1bW5JbmRleFJhbmdlKCkiLCAiJ3sxLCAxfSciKTsKKworICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJ0aDAtMC1oaWRkZW4iKS5yZW1vdmVBdHRyaWJ1dGUoImFyaWEtaGlk
ZGVuIik7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRkMS0wLWhpZGRlbiIpLnJlbW92
ZUF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iKTsKKyAgICBzZXRUaW1lb3V0KGFzeW5jIGZ1bmN0aW9u
KCkgeworICAgICAgICBvdXRwdXQgKz0gYXdhaXQgZXhwZWN0QXN5bmMoInRhYmxlLmNvbHVtbkNv
dW50IiwgIjMiKTsKKworICAgICAgICBvdXRwdXQgKz0gYXdhaXQgZXhwZWN0QXN5bmMoImFjY2Vz
c2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgndGgwLTAtaGlkZGVuJyku
cm93SW5kZXhSYW5nZSgpIiwgIid7MCwgMX0nIik7CisgICAgICAgIG91dHB1dCArPSBhd2FpdCBl
eHBlY3RBc3luYygiYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlk
KCd0aDAtMC1oaWRkZW4nKS5jb2x1bW5JbmRleFJhbmdlKCkiLCAiJ3swLCAxfSciKTsKKworICAg
ICAgICBvdXRwdXQgKz0gYXdhaXQgZXhwZWN0QXN5bmMoImFjY2Vzc2liaWxpdHlDb250cm9sbGVy
LmFjY2Vzc2libGVFbGVtZW50QnlJZCgndGgwLTEnKS5yb3dJbmRleFJhbmdlKCkiLCAiJ3swLCAx
fSciKTsKKyAgICAgICAgb3V0cHV0ICs9IGF3YWl0IGV4cGVjdEFzeW5jKCJhY2Nlc3NpYmlsaXR5
Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3RoMC0xJykuY29sdW1uSW5kZXhSYW5n
ZSgpIiwgIid7MSwgMX0nIik7CisKKyAgICAgICAgb3V0cHV0ICs9IGF3YWl0IGV4cGVjdEFzeW5j
KCJhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3RkMS0wLWhp
ZGRlbicpLnJvd0luZGV4UmFuZ2UoKSIsICInezEsIDF9JyIpOworICAgICAgICBvdXRwdXQgKz0g
YXdhaXQgZXhwZWN0QXN5bmMoImFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVt
ZW50QnlJZCgndGQxLTAtaGlkZGVuJykuY29sdW1uSW5kZXhSYW5nZSgpIiwgIid7MCwgMX0nIik7
CisKKyAgICAgICAgb3V0cHV0ICs9IGV4cGVjdCgiYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNj
ZXNzaWJsZUVsZW1lbnRCeUlkKCd0ZDEtMScpLnJvd0luZGV4UmFuZ2UoKSIsICInezEsIDF9JyIp
OworICAgICAgICBvdXRwdXQgKz0gZXhwZWN0KCJhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nl
c3NpYmxlRWxlbWVudEJ5SWQoJ3RkMS0xJykuY29sdW1uSW5kZXhSYW5nZSgpIiwgIid7MSwgMX0n
Iik7CisKKyAgICAgICAgb3V0cHV0ICs9IGV4cGVjdCgiYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIu
YWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0ZDEtMicpLnJvd0luZGV4UmFuZ2UoKSIsICInezEsIDF9
JyIpOworICAgICAgICBvdXRwdXQgKz0gZXhwZWN0KCJhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5h
Y2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3RkMS0yJykuY29sdW1uSW5kZXhSYW5nZSgpIiwgIid7Miwg
MX0nIik7CisKKyAgICAgICAgZGVidWcob3V0cHV0KTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgfSwgMCk7Cit9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>470171</attachid>
            <date>2024-03-04 19:18:46 -0800</date>
            <delta_ts>2024-03-04 20:01:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-270496-20240304191845.patch</filename>
            <type>text/plain</type>
            <size>24387</size>
            <attacher name="Tyler Wilcock">tyler_w</attacher>
            
              <data encoding="base64">RnJvbSA0MmFjODcwOWNhMmU2NWVjNzczMzJhMWYyMTI4NzJjYTA0MGYwZTJjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUeWxlciBXaWxjb2NrIDx0eWxlcl93QGFwcGxlLmNvbT4KRGF0
ZTogTW9uLCA0IE1hciAyMDI0IDE4OjMyOjM0IC0wODAwClN1YmplY3Q6IFtQQVRDSF0gQVg6IEFY
UHJvcGVydHlOYW1lOjp7Q29sdW1uSW5kZXhSYW5nZSwgUm93SW5kZXhSYW5nZX0KIHByb3BlcnRp
ZXMgYXJlIG5ldmVyIHVwZGF0ZWQgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTI3MDQ5NgogcmRhcjovL3Byb2JsZW0vMTI0MDQ2MjI3CgpSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KClRoaXMgY2FuIGNhdXNlIEFUcyB0byBtaXNzIHRhYmxlIGNvbnRlbnQgaWYgdGhl
eSB1c2UgdGhlIHJvd0luZGV4UmFuZ2UgYW5kIGNvbHVtbkluZGV4UmFuZ2UgQVBJcwphcyBpbnB1
dHMgdG8gdGhlIGNlbGxGb3JDb2x1bW5BbmRSb3cgQVBJLiBGaXggdGhpcyBieSBwb3N0aW5nIGEg
bm90aWZpY2F0aW9uIHdoZW4gdGFibGUgY2VsbHMKbW9kaWZ5IHRoaXMgdGhlaXIgcm93IC8gY29s
dW1uIGluZGV4IGFzIHRoZWlyIHBhcmVudCB0YWJsZSBpcyBiZWluZyBidWlsdC4KClRoaXMgcGF0
Y2ggYWxzbyBhZGRzIGEgbmV3IHBvc3ROb3RpZmljYXRpb24gb3ZlcmxvYWQgdG8gYXZvaWQgdW5u
ZWNlc3NhcnkgbnVsbC1jaGVja2luZyBhbmQgdmVyYm9zaXR5Cm9mIHBhc3NpbmcgYSBoYXJkY29k
ZWQgYG51bGxwdHIgRG9jdW1lbnQqYCBhcmd1bWVudCB0byBwb3N0Tm90aWZpY2F0aW9uKEFjY2Vz
c2liaWxpdHlPYmplY3QqLCBEb2N1bWVudCosIEFYTm90aWZpY2F0aW9uLCBQb3N0VGFyZ2V0ID0g
UG9zdFRhcmdldDo6RWxlbWVudCkuCgpFeGlzdGluZyBub3RpZmljYXRpb25zIEFYQ29sdW1uSW5k
ZXhDaGFuZ2VkIGFuZCBBWFJvd0luZGV4Q2hhbmdlZCBhcmUgcmVwdXJwb3NlZCB0byByZXBvcnQg
dGhpcyBkeW5hbWljIGNoYW5nZSwKYW5kIHR3byBuZXcgbm90aWZpY2F0aW9ucyAoQVhBUklBQ29s
dW1uSW5kZXhDaGFuZ2VkIGFuZCBBWEFSSUFSb3dJbmRleENoYW5nZWQpIGFyZSBhZGRlZCB0byBz
dXBwb3J0IHdoYXQgdGhlIGZvcm1lcgp0d28gbm90aWZpY2F0aW9ucyB1c2VkIHRvIGRvLgoKKiBM
YXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2R5bmFtaWMtYXJpYS1oaWRkZW4tY2VsbC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgoqIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZHluYW1pYy1hcmlhLWhp
ZGRlbi1jZWxsLmh0bWw6IEFkZGVkLgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhM
b2dnZXIuY3BwOgooV2ViQ29yZTo6b3BlcmF0b3I8PCk6CiogU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcDoKKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OnZhbHVl
Q2hhbmdlZCk6CihXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpjb2x1bW5JbmRleENoYW5nZWQpOgoo
V2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6cm93SW5kZXhDaGFuZ2VkKToKKFdlYkNvcmU6OkFYT2Jq
ZWN0Q2FjaGU6OnBvc3ROb3RpZmljYXRpb24pOgooV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6b25U
ZXh0U2VjdXJpdHlDaGFuZ2VkKToKKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6Om9uVGl0bGVDaGFu
Z2UpOgooV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6b25WYWxpZGl0eUNoYW5nZSk6CihXZWJDb3Jl
OjpBWE9iamVjdENhY2hlOjpoYW5kbGVSb2xlQ2hhbmdlZCk6ClRha2UgYSByZWZlcmVuY2UgcmF0
aGVyIHRoYW4gYSBwb2ludGVyIGFzIGFsbCBjYWxsc2l0ZXMgaGF2ZSBhY2Nlc3MgdG8gYQpyZWZl
cmVuY2UuCihXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpoYW5kbGVBdHRyaWJ1dGVDaGFuZ2UpOgoo
V2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6dXBkYXRlSXNvbGF0ZWRUcmVlKToKKFdlYkNvcmU6OkFY
T2JqZWN0Q2FjaGU6OnNlbGVjdGVkVGV4dFJhbmdlVGltZXJGaXJlZCk6CihXZWJDb3JlOjpBWE9i
amVjdENhY2hlOjpvbldpZGdldFZpc2liaWxpdHlDaGFuZ2VkKToKKiBTb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaDoKKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwOgooV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVj
dDo6dXBkYXRlUm9sZSk6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0LmNwcDoKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6
OnVwZGF0ZVJvbGVBZnRlckNoaWxkcmVuQ3JlYXRpb24pOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlLmNwcDoKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlU
YWJsZTo6cmVjb21wdXRlSXNFeHBvc2FibGUpOgooV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVRhYmxl
Ojpjb2x1bW5Db3VudCk6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5VGFibGVDZWxsLmNwcDoKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlUYWJsZUNlbGw6OnNldFJv
d0luZGV4KToKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlUYWJsZUNlbGw6OnNldENvbHVtbkluZGV4
KToKKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZUNlbGwu
aDoKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlUYWJsZUNlbGw6OnNldFJvd0luZGV4KTogRGVsZXRl
ZC4KKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlUYWJsZUNlbGw6OnNldENvbHVtbkluZGV4KTogRGVs
ZXRlZC4KLS0tCiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYTG9nZ2VyLmNwcCAgICAg
fCAgNiArKwogLi4uL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcCAgIHwg
NjAgKysrKysrKysrKy0tLS0tCiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0
Q2FjaGUuaCAgfCAxNiArKystCiAuLi4vYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0
LmNwcCAgICAgfCAgMiArLQogLi4uL0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwICAgICAg
ICAgICAgIHwgIDIgKy0KIC4uLi9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZS5jcHAg
ICAgICB8ICA0ICstCiAuLi4vYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVDZWxsLmNw
cCAgfCAyNCArKysrKysKIC4uLi9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZUNlbGwu
aCAgICB8ICA0ICstCiAuLi4vZHluYW1pYy1hcmlhLWhpZGRlbi1jZWxsLWV4cGVjdGVkLnR4dCAg
ICAgfCAyOSArKysrKysrCiAuLi4vZHluYW1pYy1hcmlhLWhpZGRlbi1jZWxsLmh0bWwgICAgICAg
ICAgICAgfCA3NSArKysrKysrKysrKysrKysrKysrCiAxMCBmaWxlcyBjaGFuZ2VkLCAxOTggaW5z
ZXJ0aW9ucygrKSwgMjQgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVz
dHMvYWNjZXNzaWJpbGl0eS9keW5hbWljLWFyaWEtaGlkZGVuLWNlbGwtZXhwZWN0ZWQudHh0CiBj
cmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9keW5hbWljLWFyaWEt
aGlkZGVuLWNlbGwuaHRtbAoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQVhMb2dnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWExvZ2dlci5j
cHAKaW5kZXggZjVjZjBhMTgyNGExLi5mYjBmZDZkMTc3OGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhMb2dnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQVhMb2dnZXIuY3BwCkBAIC01NTIsNiArNTUyLDEyIEBAIFRleHRTdHJlYW0m
IG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgc3RyZWFtLCBBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNh
dGlvbiBub3RpZmljCiAgICAgY2FzZSBBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbjo6QVhB
dXRvZmlsbFR5cGVDaGFuZ2VkOgogICAgICAgICBzdHJlYW0gPDwgIkFYQXV0b2ZpbGxUeXBlQ2hh
bmdlZCI7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgQVhPYmplY3RDYWNoZTo6QVhOb3RpZmlj
YXRpb246OkFYQVJJQUNvbHVtbkluZGV4Q2hhbmdlZDoKKyAgICAgICAgc3RyZWFtIDw8ICJBWEFS
SUFDb2x1bW5JbmRleENoYW5nZWQiOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEFYT2JqZWN0
Q2FjaGU6OkFYTm90aWZpY2F0aW9uOjpBWEFSSUFSb3dJbmRleENoYW5nZWQ6CisgICAgICAgIHN0
cmVhbSA8PCAiQVhBUklBUm93SW5kZXhDaGFuZ2VkIjsKKyAgICAgICAgYnJlYWs7CiAgICAgY2Fz
ZSBBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbjo6QVhCcmFpbGxlTGFiZWxDaGFuZ2VkOgog
ICAgICAgICBzdHJlYW0gPDwgIkFYQnJhaWxsZUxhYmVsQ2hhbmdlZCI7CiAgICAgICAgIGJyZWFr
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKaW5k
ZXggMmI5NDMwZmNkODE5Li5lMzM3NTBiMzA5ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcApAQCAtMTQ1Niw5ICsxNDU2LDIxIEBAIHZvaWQg
QVhPYmplY3RDYWNoZTo6Y2hpbGRyZW5DaGFuZ2VkKEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVj
dCkKIAogdm9pZCBBWE9iamVjdENhY2hlOjp2YWx1ZUNoYW5nZWQoRWxlbWVudCogZWxlbWVudCkK
IHsKLSAgICBwb3N0Tm90aWZpY2F0aW9uKGVsZW1lbnQsIEFYTm90aWZpY2F0aW9uOjpBWFZhbHVl
Q2hhbmdlZCk7CisgICAgcG9zdE5vdGlmaWNhdGlvbihlbGVtZW50LCBBWFZhbHVlQ2hhbmdlZCk7
CiB9CiAKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQordm9pZCBBWE9i
amVjdENhY2hlOjpjb2x1bW5JbmRleENoYW5nZWQoY29uc3QgQWNjZXNzaWJpbGl0eVRhYmxlQ2Vs
bCYgY2VsbCkKK3sKKyAgICBwb3N0Tm90aWZpY2F0aW9uKGNlbGwsIEFYQ29sdW1uSW5kZXhDaGFu
Z2VkKTsKK30KKwordm9pZCBBWE9iamVjdENhY2hlOjpyb3dJbmRleENoYW5nZWQoY29uc3QgQWNj
ZXNzaWJpbGl0eVRhYmxlQ2VsbCYgY2VsbCkKK3sKKyAgICBwb3N0Tm90aWZpY2F0aW9uKGNlbGws
IEFYUm93SW5kZXhDaGFuZ2VkKTsKK30KKyNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWV9J
U09MQVRFRF9UUkVFKQorCiB2b2lkIEFYT2JqZWN0Q2FjaGU6Om5vdGlmaWNhdGlvblBvc3RUaW1l
ckZpcmVkKCkKIHsKICAgICBBWFRSQUNFKG1ha2VTdHJpbmcoIkFYT2JqZWN0Q2FjaGU6Om5vdGlm
aWNhdGlvblBvc3RUaW1lckZpcmVkIDB4Il9zLCBoZXgocmVpbnRlcnByZXRfY2FzdDx1aW50cHRy
X3Q+KHRoaXMpKSkpOwpAQCAtMTU5MCw2ICsxNjAyLDE5IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6
cG9zdE5vdGlmaWNhdGlvbihBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QsIERvY3VtZW50KiBk
b2N1CiAgICAgICAgIG1fbm90aWZpY2F0aW9uUG9zdFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwog
fQogCit2b2lkIEFYT2JqZWN0Q2FjaGU6OnBvc3ROb3RpZmljYXRpb24oY29uc3QgQWNjZXNzaWJp
bGl0eU9iamVjdCYgb2JqZWN0LCBBWE5vdGlmaWNhdGlvbiBub3RpZmljYXRpb24pCit7CisgICAg
QVhUUkFDRShtYWtlU3RyaW5nKCJBWE9iamVjdENhY2hlOjpwb3N0Tm90aWZpY2F0aW9uIDB4Il9z
LCBoZXgocmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KHRoaXMpKSkpOworICAgIEFYTE9HKHN0
ZDo6bWFrZV9wYWlyKCZvYmplY3QsIG5vdGlmaWNhdGlvbikpOworICAgIEFTU0VSVChpc01haW5U
aHJlYWQoKSk7CisKKyAgICBzdG9wQ2FjaGluZ0NvbXB1dGVkT2JqZWN0QXR0cmlidXRlcygpOwor
CisgICAgbV9ub3RpZmljYXRpb25zVG9Qb3N0LmFwcGVuZChzdGQ6Om1ha2VfcGFpcihjb25zdF9j
YXN0PEFjY2Vzc2liaWxpdHlPYmplY3QqPigmb2JqZWN0KSwgbm90aWZpY2F0aW9uKSk7CisgICAg
aWYgKCFtX25vdGlmaWNhdGlvblBvc3RUaW1lci5pc0FjdGl2ZSgpKQorICAgICAgICBtX25vdGlm
aWNhdGlvblBvc3RUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKK30KKwogdm9pZCBBWE9iamVjdENh
Y2hlOjpjaGVja2VkU3RhdGVDaGFuZ2VkKE5vZGUqIG5vZGUpCiB7CiAgICAgcG9zdE5vdGlmaWNh
dGlvbihub2RlLCBBWENoZWNrZWRTdGF0ZUNoYW5nZWQpOwpAQCAtMTc5Miw3ICsxODE3LDcgQEAg
dm9pZCBBWE9iamVjdENhY2hlOjpvblNlbGVjdGVkQ2hhbmdlZChOb2RlKiBub2RlKQogdm9pZCBB
WE9iamVjdENhY2hlOjpvblRleHRTZWN1cml0eUNoYW5nZWQoSFRNTElucHV0RWxlbWVudCYgaW5w
dXRFbGVtZW50KQogewogI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCi0g
ICAgcG9zdE5vdGlmaWNhdGlvbihnZXQoJmlucHV0RWxlbWVudCksIG51bGxwdHIsIEFYVGV4dFNl
Y3VyaXR5Q2hhbmdlZCk7CisgICAgcG9zdE5vdGlmaWNhdGlvbihnZXQoJmlucHV0RWxlbWVudCks
IEFYVGV4dFNlY3VyaXR5Q2hhbmdlZCk7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShpbnB1dEVs
ZW1lbnQpOwogI2VuZGlmCkBAIC0xODAwLDEyICsxODI1LDEyIEBAIHZvaWQgQVhPYmplY3RDYWNo
ZTo6b25UZXh0U2VjdXJpdHlDaGFuZ2VkKEhUTUxJbnB1dEVsZW1lbnQmIGlucHV0RWxlbWVudCkK
IAogdm9pZCBBWE9iamVjdENhY2hlOjpvblRpdGxlQ2hhbmdlKERvY3VtZW50JiBkb2N1bWVudCkK
IHsKLSAgICBwb3N0Tm90aWZpY2F0aW9uKGdldCgmZG9jdW1lbnQpLCBudWxscHRyLCBBWFRleHRD
aGFuZ2VkKTsKKyAgICBwb3N0Tm90aWZpY2F0aW9uKGdldCgmZG9jdW1lbnQpLCBBWFRleHRDaGFu
Z2VkKTsKIH0KIAogdm9pZCBBWE9iamVjdENhY2hlOjpvblZhbGlkaXR5Q2hhbmdlKEVsZW1lbnQm
IGVsZW1lbnQpCiB7Ci0gICAgcG9zdE5vdGlmaWNhdGlvbihnZXQoJmVsZW1lbnQpLCBudWxscHRy
LCBBWEludmFsaWRTdGF0dXNDaGFuZ2VkKTsKKyAgICBwb3N0Tm90aWZpY2F0aW9uKGdldCgmZWxl
bWVudCksIEFYSW52YWxpZFN0YXR1c0NoYW5nZWQpOwogfQogCiB2b2lkIEFYT2JqZWN0Q2FjaGU6
Om9uVGV4dENvbXBvc2l0aW9uQ2hhbmdlKE5vZGUmIG5vZGUsIENvbXBvc2l0aW9uU3RhdGUgY29t
cG9zaXRpb25TdGF0ZSwgYm9vbCB2YWx1ZUNoYW5nZWQsIGNvbnN0IFN0cmluZyYgdGV4dCwgc2l6
ZV90IHBvc2l0aW9uLCBib29sIGhhbmRsaW5nQWNjZXB0ZWRDYW5kaWRhdGUpCkBAIC0yNDAwLDEz
ICsyNDI1LDEzIEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6aGFuZGxlUm9sZUNoYW5nZWQoRWxlbWVu
dCogZWxlbWVudCwgY29uc3QgQXRvbVN0cmluZyYgb2xkVmFsCiAgICAgb2JqZWN0LT51cGRhdGVS
b2xlKCk7CiB9CiAKLXZvaWQgQVhPYmplY3RDYWNoZTo6aGFuZGxlUm9sZUNoYW5nZWQoQWNjZXNz
aWJpbGl0eU9iamVjdCogYXhPYmplY3QpCit2b2lkIEFYT2JqZWN0Q2FjaGU6OmhhbmRsZVJvbGVD
aGFuZ2VkKEFjY2Vzc2liaWxpdHlPYmplY3QmIGF4T2JqZWN0KQogewogICAgIHN0b3BDYWNoaW5n
Q29tcHV0ZWRPYmplY3RBdHRyaWJ1dGVzKCk7Ci0gICAgYXhPYmplY3QtPnJlY29tcHV0ZUlzSWdu
b3JlZCgpOworICAgIGF4T2JqZWN0LnJlY29tcHV0ZUlzSWdub3JlZCgpOwogCiAjaWYgRU5BQkxF
KEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKLSAgICBwb3N0Tm90aWZpY2F0aW9uKGF4T2Jq
ZWN0LCBudWxscHRyLCBBWFJvbGVDaGFuZ2VkKTsKKyAgICBwb3N0Tm90aWZpY2F0aW9uKGF4T2Jq
ZWN0LCBBWFJvbGVDaGFuZ2VkKTsKICNlbmRpZgogfQogCkBAIC0yNTE1LDcgKzI1NDAsNyBAQCB2
b2lkIEFYT2JqZWN0Q2FjaGU6OmhhbmRsZUF0dHJpYnV0ZUNoYW5nZShFbGVtZW50KiBlbGVtZW50
LCBjb25zdCBRdWFsaWZpZWROYW1lJgogICAgIGVsc2UgaWYgKGF0dHJOYW1lID09IGxhbmdBdHRy
KQogICAgICAgICB1cGRhdGVJc29sYXRlZFRyZWUoZ2V0KGVsZW1lbnQpLCBBWExhbmd1YWdlQ2hh
bmdlZCk7CiAgICAgZWxzZSBpZiAoYXR0ck5hbWUgPT0gbmFtZUF0dHIpCi0gICAgICAgIHBvc3RO
b3RpZmljYXRpb24oZ2V0KGVsZW1lbnQpLCBudWxscHRyLCBBWE5hbWVDaGFuZ2VkKTsKKyAgICAg
ICAgcG9zdE5vdGlmaWNhdGlvbihnZXQoZWxlbWVudCksIEFYTmFtZUNoYW5nZWQpOwogICAgIGVs
c2UgaWYgKGF0dHJOYW1lID09IHBsYWNlaG9sZGVyQXR0cikKICAgICAgICAgcG9zdE5vdGlmaWNh
dGlvbihlbGVtZW50LCBBWFBsYWNlaG9sZGVyQ2hhbmdlZCk7CiAgICAgZWxzZSBpZiAoYXR0ck5h
bWUgPT0gaHJlZkF0dHIgfHwgYXR0ck5hbWUgPT0gc3JjQXR0cikKQEAgLTI1NzYsNyArMjYwMSw3
IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6aGFuZGxlQXR0cmlidXRlQ2hhbmdlKEVsZW1lbnQqIGVs
ZW1lbnQsIGNvbnN0IFF1YWxpZmllZE5hbWUmCiAgICAgICAgIHBvc3ROb3RpZmljYXRpb24oZWxl
bWVudCwgQVhDb2x1bW5Db3VudENoYW5nZWQpOwogICAgICAgICBkZWZlclJlY29tcHV0ZVRhYmxl
SXNFeHBvc2VkKGR5bmFtaWNEb3duY2FzdDxIVE1MVGFibGVFbGVtZW50PihlbGVtZW50KSk7CiAg
ICAgfSBlbHNlIGlmIChhdHRyTmFtZSA9PSBhcmlhX2NvbGluZGV4QXR0cikgewotICAgICAgICBw
b3N0Tm90aWZpY2F0aW9uKGVsZW1lbnQsIEFYQ29sdW1uSW5kZXhDaGFuZ2VkKTsKKyAgICAgICAg
cG9zdE5vdGlmaWNhdGlvbihlbGVtZW50LCBBWEFSSUFDb2x1bW5JbmRleENoYW5nZWQpOwogICAg
ICAgICByZWNvbXB1dGVQYXJlbnRUYWJsZVByb3BlcnRpZXMoZWxlbWVudCwgVGFibGVQcm9wZXJ0
eTo6RXhwb3NlZCk7CiAgICAgfSBlbHNlIGlmIChhdHRyTmFtZSA9PSBhcmlhX2NvbHNwYW5BdHRy
KSB7CiAgICAgICAgIHBvc3ROb3RpZmljYXRpb24oZWxlbWVudCwgQVhDb2x1bW5TcGFuQ2hhbmdl
ZCk7CkBAIC0yNjAxLDcgKzI2MjYsNyBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6OmhhbmRsZUF0dHJp
YnV0ZUNoYW5nZShFbGVtZW50KiBlbGVtZW50LCBjb25zdCBRdWFsaWZpZWROYW1lJgogICAgIGVs
c2UgaWYgKGF0dHJOYW1lID09IGFyaWFfcGxhY2Vob2xkZXJBdHRyKQogICAgICAgICBwb3N0Tm90
aWZpY2F0aW9uKGVsZW1lbnQsIEFYUGxhY2Vob2xkZXJDaGFuZ2VkKTsKICAgICBlbHNlIGlmIChh
dHRyTmFtZSA9PSBhcmlhX3Jvd2luZGV4QXR0cikgewotICAgICAgICBwb3N0Tm90aWZpY2F0aW9u
KGVsZW1lbnQsIEFYUm93SW5kZXhDaGFuZ2VkKTsKKyAgICAgICAgcG9zdE5vdGlmaWNhdGlvbihl
bGVtZW50LCBBWEFSSUFSb3dJbmRleENoYW5nZWQpOwogICAgICAgICByZWNvbXB1dGVQYXJlbnRU
YWJsZVByb3BlcnRpZXMoZWxlbWVudCwgeyBUYWJsZVByb3BlcnR5OjpDZWxsU2xvdHMsIFRhYmxl
UHJvcGVydHk6OkV4cG9zZWQgfSk7CiAgICAgfQogICAgIGVsc2UgaWYgKGF0dHJOYW1lID09IGFy
aWFfdmFsdWVtYXhBdHRyKQpAQCAtNDMwMiw2ICs0MzI3LDEyIEBAIHZvaWQgQVhPYmplY3RDYWNo
ZTo6dXBkYXRlSXNvbGF0ZWRUcmVlKGNvbnN0IFZlY3RvcjxzdGQ6OnBhaXI8UmVmUHRyPEFjY2Vz
c2liaWxpCiAgICAgICAgIGNhc2UgQVhBdXRvZmlsbFR5cGVDaGFuZ2VkOgogICAgICAgICAgICAg
dHJlZS0+cXVldWVOb2RlVXBkYXRlKG5vdGlmaWNhdGlvbi5maXJzdC0+b2JqZWN0SUQoKSwgeyBB
WFByb3BlcnR5TmFtZTo6VmFsdWVBdXRvZmlsbEJ1dHRvblR5cGUgfSk7CiAgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgY2FzZSBBWEFSSUFDb2x1bW5JbmRleENoYW5nZWQ6CisgICAgICAgICAg
ICB0cmVlLT5xdWV1ZU5vZGVVcGRhdGUobm90aWZpY2F0aW9uLmZpcnN0LT5vYmplY3RJRCgpLCB7
IEFYUHJvcGVydHlOYW1lOjpBWENvbHVtbkluZGV4IH0pOworICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgIGNhc2UgQVhBUklBUm93SW5kZXhDaGFuZ2VkOgorICAgICAgICAgICAgdHJlZS0+cXVl
dWVOb2RlVXBkYXRlKG5vdGlmaWNhdGlvbi5maXJzdC0+b2JqZWN0SUQoKSwgeyBBWFByb3BlcnR5
TmFtZTo6QVhSb3dJbmRleCB9KTsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIEFY
QnJhaWxsZUxhYmVsQ2hhbmdlZDoKICAgICAgICAgICAgIHRyZWUtPnF1ZXVlTm9kZVVwZGF0ZShu
b3RpZmljYXRpb24uZmlyc3QtPm9iamVjdElEKCksIHsgQVhQcm9wZXJ0eU5hbWU6OkJyYWlsbGVM
YWJlbCB9KTsKICAgICAgICAgICAgIGJyZWFrOwpAQCAtNDMyMiw4ICs0MzUzLDYgQEAgdm9pZCBB
WE9iamVjdENhY2hlOjp1cGRhdGVJc29sYXRlZFRyZWUoY29uc3QgVmVjdG9yPHN0ZDo6cGFpcjxS
ZWZQdHI8QWNjZXNzaWJpbGkKICAgICAgICAgICAgIHRyZWUtPnF1ZXVlTm9kZVVwZGF0ZShub3Rp
ZmljYXRpb24uZmlyc3QtPm9iamVjdElEKCksIHsgQVhQcm9wZXJ0eU5hbWU6OkFYQ29sdW1uQ291
bnQgfSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBBWENvbHVtbkluZGV4Q2hh
bmdlZDoKLSAgICAgICAgICAgIHRyZWUtPnF1ZXVlTm9kZVVwZGF0ZShub3RpZmljYXRpb24uZmly
c3QtPm9iamVjdElEKCksIHsgQVhQcm9wZXJ0eU5hbWU6OkFYQ29sdW1uSW5kZXggfSk7Ci0gICAg
ICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBBWENvbHVtblNwYW5DaGFuZ2VkOgogICAgICAg
ICAgICAgdHJlZS0+cXVldWVOb2RlVXBkYXRlKG5vdGlmaWNhdGlvbi5maXJzdC0+b2JqZWN0SUQo
KSwgeyBBWFByb3BlcnR5TmFtZTo6Q29sdW1uSW5kZXhSYW5nZSB9KTsKICAgICAgICAgICAgIGJy
ZWFrOwpAQCAtNDM4OSw4ICs0NDE4LDYgQEAgdm9pZCBBWE9iamVjdENhY2hlOjp1cGRhdGVJc29s
YXRlZFRyZWUoY29uc3QgVmVjdG9yPHN0ZDo6cGFpcjxSZWZQdHI8QWNjZXNzaWJpbGkKICAgICAg
ICAgICAgIHRyZWUtPnF1ZXVlTm9kZVVwZGF0ZShub3RpZmljYXRpb24uZmlyc3QtPm9iamVjdElE
KCksIHsgQVhQcm9wZXJ0eU5hbWU6OlJvbGVEZXNjcmlwdGlvbiB9KTsKICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICBjYXNlIEFYUm93SW5kZXhDaGFuZ2VkOgotICAgICAgICAgICAgdHJlZS0+
cXVldWVOb2RlVXBkYXRlKG5vdGlmaWNhdGlvbi5maXJzdC0+b2JqZWN0SUQoKSwgeyBBWFByb3Bl
cnR5TmFtZTo6QVhSb3dJbmRleCB9KTsKLSAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNl
IEFYUm93U3BhbkNoYW5nZWQ6CiAgICAgICAgICAgICB0cmVlLT5xdWV1ZU5vZGVVcGRhdGUobm90
aWZpY2F0aW9uLmZpcnN0LT5vYmplY3RJRCgpLCB7IEFYUHJvcGVydHlOYW1lOjpSb3dJbmRleFJh
bmdlIH0pOwogICAgICAgICAgICAgYnJlYWs7CkBAIC01MTU5LDcgKzUxODYsNyBAQCB2b2lkIEFY
T2JqZWN0Q2FjaGU6OnNlbGVjdGVkVGV4dFJhbmdlVGltZXJGaXJlZCgpCiAgICAgaWYgKG1fbGFz
dERlYm91bmNlZFRleHRSYW5nZU9iamVjdC5pc1ZhbGlkKCkpIHsKICAgICAgICAgZm9yIChhdXRv
KiBheE9iamVjdCA9IG9iamVjdEZvcklEKG1fbGFzdERlYm91bmNlZFRleHRSYW5nZU9iamVjdCk7
IGF4T2JqZWN0OyBheE9iamVjdCA9IGF4T2JqZWN0LT5wYXJlbnRPYmplY3QoKSkgewogICAgICAg
ICAgICAgaWYgKGF4T2JqZWN0LT5pc1RleHRDb250cm9sKCkpCi0gICAgICAgICAgICAgICAgcG9z
dE5vdGlmaWNhdGlvbihheE9iamVjdCwgbnVsbHB0ciwgQVhTZWxlY3RlZFRleHRDaGFuZ2VkKTsK
KyAgICAgICAgICAgICAgICBwb3N0Tm90aWZpY2F0aW9uKCpheE9iamVjdCwgQVhTZWxlY3RlZFRl
eHRDaGFuZ2VkKTsKICAgICAgICAgfQogICAgIH0KIApAQCAtNTE4Miw4ICs1MjA5LDcgQEAgdm9p
ZCBBWE9iamVjdENhY2hlOjpwcm9jZXNzUXVldWVkSXNvbGF0ZWROb2RlVXBkYXRlcygpCiB2b2lk
IEFYT2JqZWN0Q2FjaGU6Om9uV2lkZ2V0VmlzaWJpbGl0eUNoYW5nZWQoUmVuZGVyV2lkZ2V0KiB3
aWRnZXQpCiB7CiAjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKLSAgICBp
ZiAoYXV0byogYXhXaWRnZXQgPSBnZXQod2lkZ2V0KSkKLSAgICAgICAgcG9zdE5vdGlmaWNhdGlv
bihheFdpZGdldCwgbnVsbHB0ciwgQVhWaXNpYmlsaXR5Q2hhbmdlZCk7CisgICAgcG9zdE5vdGlm
aWNhdGlvbihnZXQod2lkZ2V0KSwgQVhWaXNpYmlsaXR5Q2hhbmdlZCk7CiAjZWxzZQogICAgIFVO
VVNFRF9QQVJBTSh3aWRnZXQpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQVhPYmplY3RDYWNoZS5oCmluZGV4IDMwZDc2NDc0ZWVlOC4uZTJjNTZkNjRmM2RlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaApAQCAtMjA5LDcg
KzIwOSwxMyBAQCBwdWJsaWM6CiAgICAgdm9pZCB2YWx1ZUNoYW5nZWQoRWxlbWVudCopOwogICAg
IHZvaWQgY2hlY2tlZFN0YXRlQ2hhbmdlZChOb2RlKik7CiAgICAgdm9pZCBhdXRvZmlsbFR5cGVD
aGFuZ2VkKE5vZGUqKTsKLSAgICB2b2lkIGhhbmRsZVJvbGVDaGFuZ2VkKEFjY2Vzc2liaWxpdHlP
YmplY3QqKTsKKyAgICB2b2lkIGhhbmRsZVJvbGVDaGFuZ2VkKEFjY2Vzc2liaWxpdHlPYmplY3Qm
KTsKKworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisgICAgdm9pZCBj
b2x1bW5JbmRleENoYW5nZWQoY29uc3QgQWNjZXNzaWJpbGl0eVRhYmxlQ2VsbCYpOworICAgIHZv
aWQgcm93SW5kZXhDaGFuZ2VkKGNvbnN0IEFjY2Vzc2liaWxpdHlUYWJsZUNlbGwmKTsKKyNlbmRp
ZgorCiAgICAgLy8gQ2FsbGVkIHdoZW4gYSBSZW5kZXJPYmplY3QgaXMgY3JlYXRlZCBmb3IgYW4g
RWxlbWVudC4gRGVwZW5kaW5nIG9uIHRoZQogICAgIC8vIHByZXNlbmNlIG9mIGEgUmVuZGVyT2Jq
ZWN0LCB3ZSBtYXkgaGF2ZSBpbnN0YXRpYXRlZCBhbiBBWFJlbmRlck9iamVjdCBvcgogICAgIC8v
IGFuIEFYTm9kZU9iamVjdC4gVGhpcyBvY2N1cnMgd2hlbiBhbiBFbGVtZW50IHdpdGggbm8gcmVu
ZGVyZXIgaXMKQEAgLTM1NCw2ICszNjAsOCBAQCBwdWJsaWM6CiAgICAgICAgIEFYQW5ub3VuY2Vt
ZW50UmVxdWVzdGVkLAogICAgICAgICBBWEF1dG9jb3JyZWN0aW9uT2NjdXJlZCwKICAgICAgICAg
QVhBdXRvZmlsbFR5cGVDaGFuZ2VkLAorICAgICAgICBBWEFSSUFDb2x1bW5JbmRleENoYW5nZWQs
CisgICAgICAgIEFYQVJJQVJvd0luZGV4Q2hhbmdlZCwKICAgICAgICAgQVhCcmFpbGxlTGFiZWxD
aGFuZ2VkLAogICAgICAgICBBWEJyYWlsbGVSb2xlRGVzY3JpcHRpb25DaGFuZ2VkLAogICAgICAg
ICBBWENlbGxTbG90c0NoYW5nZWQsCkBAIC00NDcsNiArNDU1LDEyIEBAIHB1YmxpYzoKICAgICB2
b2lkIHBvc3ROb3RpZmljYXRpb24oUmVuZGVyT2JqZWN0KiwgQVhOb3RpZmljYXRpb24sIFBvc3RU
YXJnZXQgPSBQb3N0VGFyZ2V0OjpFbGVtZW50KTsKICAgICB2b2lkIHBvc3ROb3RpZmljYXRpb24o
Tm9kZSosIEFYTm90aWZpY2F0aW9uLCBQb3N0VGFyZ2V0ID0gUG9zdFRhcmdldDo6RWxlbWVudCk7
CiAgICAgdm9pZCBwb3N0Tm90aWZpY2F0aW9uKEFjY2Vzc2liaWxpdHlPYmplY3QqLCBEb2N1bWVu
dCosIEFYTm90aWZpY2F0aW9uLCBQb3N0VGFyZ2V0ID0gUG9zdFRhcmdldDo6RWxlbWVudCk7Cisg
ICAgdm9pZCBwb3N0Tm90aWZpY2F0aW9uKGNvbnN0IEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVj
dCwgQVhOb3RpZmljYXRpb24gbm90aWZpY2F0aW9uKQorICAgIHsKKyAgICAgICAgaWYgKG9iamVj
dCkKKyAgICAgICAgICAgIHBvc3ROb3RpZmljYXRpb24oKm9iamVjdCwgbm90aWZpY2F0aW9uKTsK
KyAgICB9CisgICAgdm9pZCBwb3N0Tm90aWZpY2F0aW9uKGNvbnN0IEFjY2Vzc2liaWxpdHlPYmpl
Y3QmLCBBWE5vdGlmaWNhdGlvbik7CiAgICAgLy8gUmVxdWVzdHMgY2xpZW50cyB0byBhbm5vdW5j
ZSB0byB0aGUgdXNlciB0aGUgZ2l2ZW4gbWVzc2FnZSBpbiB0aGUgd2F5IHRoZXkgZGVlbSBhcHBy
b3ByaWF0ZS4KICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGFubm91bmNlKGNvbnN0IFN0cmluZyYp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
T2JqZWN0LmNwcAppbmRleCBiZDBiYTQwMGI3YzcuLmE4NmYyYWUwMjkxOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCkBA
IC0yODI3LDcgKzI4MjcsNyBAQCB2b2lkIEFjY2Vzc2liaWxpdHlPYmplY3Q6OnVwZGF0ZVJvbGUo
KQogICAgIG1fcm9sZSA9IGRldGVybWluZUFjY2Vzc2liaWxpdHlSb2xlKCk7CiAgICAgaWYgKHBy
ZXZpb3VzUm9sZSAhPSBtX3JvbGUpIHsKICAgICAgICAgaWYgKGF1dG8qIGNhY2hlID0gYXhPYmpl
Y3RDYWNoZSgpKQotICAgICAgICAgICAgY2FjaGUtPmhhbmRsZVJvbGVDaGFuZ2VkKHRoaXMpOwor
ICAgICAgICAgICAgY2FjaGUtPmhhbmRsZVJvbGVDaGFuZ2VkKCp0aGlzKTsKICAgICB9CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJl
bmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlSZW5kZXJPYmplY3QuY3BwCmluZGV4IDZhMzk0ZGQxN2YyNy4uZjg5Y2ViMjBhOTg0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJP
YmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVJlbmRlck9iamVjdC5jcHAKQEAgLTI1NjQsNyArMjU2NCw3IEBAIHZvaWQgQWNjZXNzaWJpbGl0
eVJlbmRlck9iamVjdDo6dXBkYXRlUm9sZUFmdGVyQ2hpbGRyZW5DcmVhdGlvbigpCiAKICAgICBp
ZiAocm9sZSAhPSBtX3JvbGUpIHsKICAgICAgICAgaWYgKGF1dG8qIGNhY2hlID0gYXhPYmplY3RD
YWNoZSgpKQotICAgICAgICAgICAgY2FjaGUtPmhhbmRsZVJvbGVDaGFuZ2VkKHRoaXMpOworICAg
ICAgICAgICAgY2FjaGUtPmhhbmRsZVJvbGVDaGFuZ2VkKCp0aGlzKTsKICAgICB9CiB9CiAgICAg
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlU
YWJsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJs
ZS5jcHAKaW5kZXggNjJhNDFiMzBiNWYxLi4wNzFhZGRkNmMzYzMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZS5jcHAKQEAgLTQwNCw3
ICs0MDQsNyBAQCB2b2lkIEFjY2Vzc2liaWxpdHlUYWJsZTo6cmVjb21wdXRlSXNFeHBvc2FibGUo
KQogICAgIGlmIChwcmV2aW91c2x5RXhwb3NhYmxlICE9IG1faXNFeHBvc2FibGUpIHsKICAgICAg
ICAgLy8gQSB0YWJsZSdzIHJvbGUgdmFsdWUgaXMgZGVwZW5kZW50IG9uIHdoZXRoZXIgaXQncyBl
eHBvc2VkLCBzbyBub3RpZnkgdGhlIGNhY2hlIHRoaXMgaGFzIGNoYW5nZWQuCiAgICAgICAgIGlm
IChhdXRvKiBjYWNoZSA9IGF4T2JqZWN0Q2FjaGUoKSkKLSAgICAgICAgICAgIGNhY2hlLT5oYW5k
bGVSb2xlQ2hhbmdlZCh0aGlzKTsKKyAgICAgICAgICAgIGNhY2hlLT5oYW5kbGVSb2xlQ2hhbmdl
ZCgqdGhpcyk7CiAKICAgICAgICAgLy8gQmVmb3JlIHJlc2V0dGluZyBvdXIgZXhpc3RpbmcgY2hp
bGRyZW4sIHBvc3NpYmx5IGxvc2luZyByZWZlcmVuY2VzIHRvIHRoZW0sIGVuc3VyZSB3ZSB1cGRh
dGUgdGhlaXIgcm9sZSAoc2luY2UgYSB0YWJsZSBjZWxsJ3Mgcm9sZSBpcyBkZXBlbmRlbnQgb24g
d2hldGhlciBpdHMgcGFyZW50IHRhYmxlIGlzIGV4cG9zYWJsZSkuCiAgICAgICAgIHVwZGF0ZUNo
aWxkcmVuUm9sZXMoKTsKQEAgLTg0NSw3ICs4NDUsNyBAQCB1bnNpZ25lZCBBY2Nlc3NpYmlsaXR5
VGFibGU6OmNvbHVtbkNvdW50KCkKIHsKICAgICB1cGRhdGVDaGlsZHJlbklmTmVjZXNzYXJ5KCk7
CiAgICAgCi0gICAgcmV0dXJuIG1fY29sdW1ucy5zaXplKCk7ICAgIAorICAgIHJldHVybiBtX2Nv
bHVtbnMuc2l6ZSgpOwogfQogICAgIAogdW5zaWduZWQgQWNjZXNzaWJpbGl0eVRhYmxlOjpyb3dD
b3VudCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlUYWJsZUNlbGwuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5VGFibGVDZWxsLmNwcAppbmRleCA5NTQ1ZmRiOTc4YjEuLjJlYTAzZTQ2MmY4NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVD
ZWxsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlU
YWJsZUNlbGwuY3BwCkBAIC0zMjgsNiArMzI4LDMwIEBAIHZvaWQgQWNjZXNzaWJpbGl0eVRhYmxl
Q2VsbDo6ZW5zdXJlSW5kZXhlc1VwVG9EYXRlKCkgY29uc3QKICAgICAgICAgcGFyZW50VGFibGUt
PmVuc3VyZUNlbGxJbmRleGVzVXBUb0RhdGUoKTsKIH0KIAordm9pZCBBY2Nlc3NpYmlsaXR5VGFi
bGVDZWxsOjpzZXRSb3dJbmRleCh1bnNpZ25lZCBpbmRleCkKK3sKKyAgICBpZiAobV9yb3dJbmRl
eCA9PSBpbmRleCkKKyAgICAgICAgcmV0dXJuOworICAgIG1fcm93SW5kZXggPSBpbmRleDsKKwor
I2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisgICAgaWYgKGF1dG8qIGNh
Y2hlID0gYXhPYmplY3RDYWNoZSgpKQorICAgICAgICBjYWNoZS0+cm93SW5kZXhDaGFuZ2VkKCp0
aGlzKTsKKyNlbmRpZgorfQorCit2b2lkIEFjY2Vzc2liaWxpdHlUYWJsZUNlbGw6OnNldENvbHVt
bkluZGV4KHVuc2lnbmVkIGluZGV4KQoreworICAgIGlmIChtX2NvbHVtbkluZGV4ID09IGluZGV4
KQorICAgICAgICByZXR1cm47CisgICAgbV9jb2x1bW5JbmRleCA9IGluZGV4OworCisjaWYgRU5B
QkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKyAgICBpZiAoYXV0byogY2FjaGUgPSBh
eE9iamVjdENhY2hlKCkpCisgICAgICAgIGNhY2hlLT5jb2x1bW5JbmRleENoYW5nZWQoKnRoaXMp
OworI2VuZGlmCit9CisKIHN0ZDo6cGFpcjx1bnNpZ25lZCwgdW5zaWduZWQ+IEFjY2Vzc2liaWxp
dHlUYWJsZUNlbGw6OnJvd0luZGV4UmFuZ2UoKSBjb25zdAogewogICAgIGVuc3VyZUluZGV4ZXNV
cFRvRGF0ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5VGFibGVDZWxsLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlUYWJsZUNlbGwuaAppbmRleCA4Nzc2YjFkYTNlZDMuLjFjNjJiZjkzZTcxMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVD
ZWxsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFi
bGVDZWxsLmgKQEAgLTY3LDggKzY3LDggQEAgcHVibGljOgogICAgIHZvaWQgcmVzZXRFZmZlY3Rp
dmVSb3dTcGFuKCkgeyBtX2VmZmVjdGl2ZVJvd1NwYW4gPSAxOyB9CiAgICAgdm9pZCBzZXRBWENv
bEluZGV4RnJvbVJvdyhpbnQgaW5kZXgpIHsgbV9heENvbEluZGV4RnJvbVJvdyA9IGluZGV4OyB9
CiAKLSAgICB2b2lkIHNldFJvd0luZGV4KHVuc2lnbmVkIGluZGV4KSB7IG1fcm93SW5kZXggPSBp
bmRleDsgfQotICAgIHZvaWQgc2V0Q29sdW1uSW5kZXgodW5zaWduZWQgaW5kZXgpIHsgbV9jb2x1
bW5JbmRleCA9IGluZGV4OyB9CisgICAgdm9pZCBzZXRSb3dJbmRleCh1bnNpZ25lZCk7CisgICAg
dm9pZCBzZXRDb2x1bW5JbmRleCh1bnNpZ25lZCk7CiAKICNpZiBVU0UoQVRTUEkpCiAgICAgaW50
IGF4Q29sdW1uU3BhbigpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJp
bGl0eS9keW5hbWljLWFyaWEtaGlkZGVuLWNlbGwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS9keW5hbWljLWFyaWEtaGlkZGVuLWNlbGwtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNGFhYTkzZGRiNWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9keW5hbWljLWFyaWEtaGlkZGVu
LWNlbGwtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjkgQEAKK1RoaXMgdGVzdCBlbnN1cmVzIHdl
IHJlcG9ydCB0aGUgcmlnaHQgaW5mb3JtYXRpb24gZm9yIHRhYmxlcyB3aXRoIHByZXNlbnRhdGlv
bmFsIGNlbGxzLgorCitQQVNTOiB0YWJsZS5yb3dDb3VudCA9PT0gMgorUEFTUzogdGFibGUuY29s
dW1uQ291bnQgPT09IDIKK1BBU1M6IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVF
bGVtZW50QnlJZCgndGgwLTEnKS5yb3dJbmRleFJhbmdlKCkgPT09ICd7MCwgMX0nCitQQVNTOiBh
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3RoMC0xJykuY29s
dW1uSW5kZXhSYW5nZSgpID09PSAnezAsIDF9JworUEFTUzogYWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0aDAtMicpLnJvd0luZGV4UmFuZ2UoKSA9PT0gJ3sw
LCAxfScKK1BBU1M6IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJ
ZCgndGgwLTInKS5jb2x1bW5JbmRleFJhbmdlKCkgPT09ICd7MSwgMX0nCitQQVNTOiBhY2Nlc3Np
YmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3RkMS0xJykucm93SW5kZXhS
YW5nZSgpID09PSAnezEsIDF9JworUEFTUzogYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNz
aWJsZUVsZW1lbnRCeUlkKCd0ZDEtMScpLmNvbHVtbkluZGV4UmFuZ2UoKSA9PT0gJ3swLCAxfScK
K1BBU1M6IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgndGQx
LTInKS5yb3dJbmRleFJhbmdlKCkgPT09ICd7MSwgMX0nCitQQVNTOiBhY2Nlc3NpYmlsaXR5Q29u
dHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3RkMS0yJykuY29sdW1uSW5kZXhSYW5nZSgp
ID09PSAnezEsIDF9JworUEFTUzogdGFibGUuY29sdW1uQ291bnQgPT09IDMKK1BBU1M6IGFjY2Vz
c2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgndGgwLTAtaGlkZGVuJyku
cm93SW5kZXhSYW5nZSgpID09PSAnezAsIDF9JworUEFTUzogYWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0aDAtMC1oaWRkZW4nKS5jb2x1bW5JbmRleFJhbmdl
KCkgPT09ICd7MCwgMX0nCitQQVNTOiBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxl
RWxlbWVudEJ5SWQoJ3RoMC0xJykucm93SW5kZXhSYW5nZSgpID09PSAnezAsIDF9JworUEFTUzog
YWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0aDAtMScpLmNv
bHVtbkluZGV4UmFuZ2UoKSA9PT0gJ3sxLCAxfScKK1BBU1M6IGFjY2Vzc2liaWxpdHlDb250cm9s
bGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgndGQxLTAtaGlkZGVuJykucm93SW5kZXhSYW5nZSgp
ID09PSAnezEsIDF9JworUEFTUzogYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVs
ZW1lbnRCeUlkKCd0ZDEtMC1oaWRkZW4nKS5jb2x1bW5JbmRleFJhbmdlKCkgPT09ICd7MCwgMX0n
CitQQVNTOiBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3Rk
MS0xJykucm93SW5kZXhSYW5nZSgpID09PSAnezEsIDF9JworUEFTUzogYWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0ZDEtMScpLmNvbHVtbkluZGV4UmFuZ2Uo
KSA9PT0gJ3sxLCAxfScKK1BBU1M6IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVF
bGVtZW50QnlJZCgndGQxLTInKS5yb3dJbmRleFJhbmdlKCkgPT09ICd7MSwgMX0nCitQQVNTOiBh
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3RkMS0yJykuY29s
dW1uSW5kZXhSYW5nZSgpID09PSAnezIsIDF9JworCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKK0hlYWRlciBvbmUJSGVhZGVyIHR3bwlIZWFkZXIgdGhy
ZWUKK0EJQglDCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2R5bmFtaWMt
YXJpYS1oaWRkZW4tY2VsbC5odG1sIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9keW5hbWlj
LWFyaWEtaGlkZGVuLWNlbGwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAuLmVkYmU1NmQzNmE4ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2FjY2Vz
c2liaWxpdHkvZHluYW1pYy1hcmlhLWhpZGRlbi1jZWxsLmh0bWwKQEAgLTAsMCArMSw3NSBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvYWNjZXNzaWJpbGl0eS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorCis8dGFibGUgaWQ9InRhYmxlIiB0YWJpbmRleD0iMCI+Cisg
ICAgPHRoZWFkIGlkPSJ0aGVhZCI+CisgICAgICAgIDx0ciBpZD0idHIwIj4KKyAgICAgICAgICAg
IDx0aCBpZD0idGgwLTAtaGlkZGVuIiBhcmlhLWhpZGRlbj0idHJ1ZSI+SGVhZGVyIG9uZTwvdGg+
CisgICAgICAgICAgICA8dGggaWQ9InRoMC0xIiB0YWJpbmRleD0iMCIgYXJpYS1jb2xpbmRleD0i
MSI+PHN0cm9uZz5IZWFkZXIgdHdvPC9zdHJvbmc+PC90aD4KKyAgICAgICAgICAgIDx0aCBpZD0i
dGgwLTIiIHRhYmluZGV4PSIwIiBhcmlhLWNvbGluZGV4PSIyIj48c3Ryb25nPkhlYWRlciB0aHJl
ZTwvc3Ryb25nPjwvdGg+CisgICAgICAgIDwvdHI+CisgICAgPC90aGVhZD4KKyAgICA8dGJvZHkg
aWQ9InRib2R5Ij4KKyAgICAgICAgPHRyIGlkPSJ0cjEiPgorICAgICAgICAgICAgPHRkIGlkPSJ0
ZDEtMC1oaWRkZW4iIGFyaWEtaGlkZGVuPSJ0cnVlIj5BPC90ZD4KKyAgICAgICAgICAgIDx0ZCBp
ZD0idGQxLTEiIHRhYmluZGV4PSIwIiBhcmlhLWNvbGluZGV4PSIxIj5CPC90ZD4KKyAgICAgICAg
ICAgIDx0ZCBpZD0idGQxLTIiIHRhYmluZGV4PSIwIiBhcmlhLWNvbGluZGV4PSIyIj5DPC90ZD4K
KyAgICAgICAgPC90cj4KKyAgICA8L3Rib2R5PgorPC90YWJsZT4KKworPHNjcmlwdD4KK3ZhciBv
dXRwdXQgPSAiVGhpcyB0ZXN0IGVuc3VyZXMgd2UgcmVwb3J0IHRoZSByaWdodCBpbmZvcm1hdGlv
biBmb3IgdGFibGVzIHdpdGggcHJlc2VudGF0aW9uYWwgY2VsbHMuXG5cbiI7CisKK2lmICh3aW5k
b3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKKyAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICB2YXIgdGFibGUgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3Np
YmxlRWxlbWVudEJ5SWQoInRhYmxlIik7CisgICAgb3V0cHV0ICs9IGV4cGVjdCgidGFibGUucm93
Q291bnQiLCAiMiIpOworICAgIG91dHB1dCArPSBleHBlY3QoInRhYmxlLmNvbHVtbkNvdW50Iiwg
IjIiKTsKKworICAgIG91dHB1dCArPSBleHBlY3QoImFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFj
Y2Vzc2libGVFbGVtZW50QnlJZCgndGgwLTEnKS5yb3dJbmRleFJhbmdlKCkiLCAiJ3swLCAxfSci
KTsKKyAgICBvdXRwdXQgKz0gZXhwZWN0KCJhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3Np
YmxlRWxlbWVudEJ5SWQoJ3RoMC0xJykuY29sdW1uSW5kZXhSYW5nZSgpIiwgIid7MCwgMX0nIik7
CisKKyAgICBvdXRwdXQgKz0gZXhwZWN0KCJhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3Np
YmxlRWxlbWVudEJ5SWQoJ3RoMC0yJykucm93SW5kZXhSYW5nZSgpIiwgIid7MCwgMX0nIik7Cisg
ICAgb3V0cHV0ICs9IGV4cGVjdCgiYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVs
ZW1lbnRCeUlkKCd0aDAtMicpLmNvbHVtbkluZGV4UmFuZ2UoKSIsICInezEsIDF9JyIpOworCisg
ICAgb3V0cHV0ICs9IGV4cGVjdCgiYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVs
ZW1lbnRCeUlkKCd0ZDEtMScpLnJvd0luZGV4UmFuZ2UoKSIsICInezEsIDF9JyIpOworICAgIG91
dHB1dCArPSBleHBlY3QoImFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50
QnlJZCgndGQxLTEnKS5jb2x1bW5JbmRleFJhbmdlKCkiLCAiJ3swLCAxfSciKTsKKworICAgIG91
dHB1dCArPSBleHBlY3QoImFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50
QnlJZCgndGQxLTInKS5yb3dJbmRleFJhbmdlKCkiLCAiJ3sxLCAxfSciKTsKKyAgICBvdXRwdXQg
Kz0gZXhwZWN0KCJhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQo
J3RkMS0yJykuY29sdW1uSW5kZXhSYW5nZSgpIiwgIid7MSwgMX0nIik7CisKKyAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgidGgwLTAtaGlkZGVuIikucmVtb3ZlQXR0cmlidXRlKCJhcmlhLWhp
ZGRlbiIpOworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZDEtMC1oaWRkZW4iKS5yZW1v
dmVBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIik7CisgICAgc2V0VGltZW91dChhc3luYyBmdW5jdGlv
bigpIHsKKyAgICAgICAgb3V0cHV0ICs9IGF3YWl0IGV4cGVjdEFzeW5jKCJ0YWJsZS5jb2x1bW5D
b3VudCIsICIzIik7CisKKyAgICAgICAgb3V0cHV0ICs9IGF3YWl0IGV4cGVjdEFzeW5jKCJhY2Nl
c3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3RoMC0wLWhpZGRlbicp
LnJvd0luZGV4UmFuZ2UoKSIsICInezAsIDF9JyIpOworICAgICAgICBvdXRwdXQgKz0gYXdhaXQg
ZXhwZWN0QXN5bmMoImFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJ
ZCgndGgwLTAtaGlkZGVuJykuY29sdW1uSW5kZXhSYW5nZSgpIiwgIid7MCwgMX0nIik7CisKKyAg
ICAgICAgb3V0cHV0ICs9IGF3YWl0IGV4cGVjdEFzeW5jKCJhY2Nlc3NpYmlsaXR5Q29udHJvbGxl
ci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3RoMC0xJykucm93SW5kZXhSYW5nZSgpIiwgIid7MCwg
MX0nIik7CisgICAgICAgIG91dHB1dCArPSBhd2FpdCBleHBlY3RBc3luYygiYWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0aDAtMScpLmNvbHVtbkluZGV4UmFu
Z2UoKSIsICInezEsIDF9JyIpOworCisgICAgICAgIG91dHB1dCArPSBhd2FpdCBleHBlY3RBc3lu
YygiYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0ZDEtMC1o
aWRkZW4nKS5yb3dJbmRleFJhbmdlKCkiLCAiJ3sxLCAxfSciKTsKKyAgICAgICAgb3V0cHV0ICs9
IGF3YWl0IGV4cGVjdEFzeW5jKCJhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxl
bWVudEJ5SWQoJ3RkMS0wLWhpZGRlbicpLmNvbHVtbkluZGV4UmFuZ2UoKSIsICInezAsIDF9JyIp
OworCisgICAgICAgIG91dHB1dCArPSBleHBlY3QoImFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFj
Y2Vzc2libGVFbGVtZW50QnlJZCgndGQxLTEnKS5yb3dJbmRleFJhbmdlKCkiLCAiJ3sxLCAxfSci
KTsKKyAgICAgICAgb3V0cHV0ICs9IGV4cGVjdCgiYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNj
ZXNzaWJsZUVsZW1lbnRCeUlkKCd0ZDEtMScpLmNvbHVtbkluZGV4UmFuZ2UoKSIsICInezEsIDF9
JyIpOworCisgICAgICAgIG91dHB1dCArPSBleHBlY3QoImFjY2Vzc2liaWxpdHlDb250cm9sbGVy
LmFjY2Vzc2libGVFbGVtZW50QnlJZCgndGQxLTInKS5yb3dJbmRleFJhbmdlKCkiLCAiJ3sxLCAx
fSciKTsKKyAgICAgICAgb3V0cHV0ICs9IGV4cGVjdCgiYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIu
YWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0ZDEtMicpLmNvbHVtbkluZGV4UmFuZ2UoKSIsICInezIs
IDF9JyIpOworCisgICAgICAgIGRlYnVnKG91dHB1dCk7CisgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgIH0sIDApOworfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>470174</attachid>
            <date>2024-03-04 20:01:24 -0800</date>
            <delta_ts>2024-03-04 22:25:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-270496-20240304200123.patch</filename>
            <type>text/plain</type>
            <size>24311</size>
            <attacher name="Tyler Wilcock">tyler_w</attacher>
            
              <data encoding="base64">RnJvbSA5MGI4ZjVkNjFmNjgyMjljYjRkOTc3ZDYwZmM4N2ZhZWRjZTllNmRlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUeWxlciBXaWxjb2NrIDx0eWxlcl93QGFwcGxlLmNvbT4KRGF0
ZTogTW9uLCA0IE1hciAyMDI0IDE4OjMyOjM0IC0wODAwClN1YmplY3Q6IFtQQVRDSF0gQVg6IEFY
UHJvcGVydHlOYW1lOjp7Q29sdW1uSW5kZXhSYW5nZSwgUm93SW5kZXhSYW5nZX0KIHByb3BlcnRp
ZXMgYXJlIG5ldmVyIHVwZGF0ZWQgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTI3MDQ5NgogcmRhcjovL3Byb2JsZW0vMTI0MDQ2MjI3CgpSZXZpZXdlZCBieSBDaHJpcyBG
bGVpemFjaC4KClRoaXMgY2FuIGNhdXNlIEFUcyB0byBtaXNzIHRhYmxlIGNvbnRlbnQgaWYgdGhl
eSB1c2UgdGhlIHJvd0luZGV4UmFuZ2UgYW5kIGNvbHVtbkluZGV4UmFuZ2UgQVBJcwphcyBpbnB1
dHMgdG8gdGhlIGNlbGxGb3JDb2x1bW5BbmRSb3cgQVBJLiBGaXggdGhpcyBieSBwb3N0aW5nIGEg
bm90aWZpY2F0aW9uIHdoZW4gdGFibGUgY2VsbHMKbW9kaWZ5IHRoaXMgdGhlaXIgcm93IC8gY29s
dW1uIGluZGV4IGFzIHRoZWlyIHBhcmVudCB0YWJsZSBpcyBiZWluZyBidWlsdC4KClRoaXMgcGF0
Y2ggYWxzbyBhZGRzIGEgbmV3IHBvc3ROb3RpZmljYXRpb24gb3ZlcmxvYWQgdG8gYXZvaWQgdW5u
ZWNlc3NhcnkgbnVsbC1jaGVja2luZyBhbmQgdmVyYm9zaXR5Cm9mIHBhc3NpbmcgYSBoYXJkY29k
ZWQgYG51bGxwdHIgRG9jdW1lbnQqYCBhcmd1bWVudCB0byBwb3N0Tm90aWZpY2F0aW9uKEFjY2Vz
c2liaWxpdHlPYmplY3QqLCBEb2N1bWVudCosIEFYTm90aWZpY2F0aW9uLCBQb3N0VGFyZ2V0ID0g
UG9zdFRhcmdldDo6RWxlbWVudCkuCgpFeGlzdGluZyBub3RpZmljYXRpb25zIEFYQ29sdW1uSW5k
ZXhDaGFuZ2VkIGFuZCBBWFJvd0luZGV4Q2hhbmdlZCBhcmUgcmVwdXJwb3NlZCB0byByZXBvcnQg
dGhpcyBkeW5hbWljIGNoYW5nZSwKYW5kIHR3byBuZXcgbm90aWZpY2F0aW9ucyAoQVhBUklBQ29s
dW1uSW5kZXhDaGFuZ2VkIGFuZCBBWEFSSUFSb3dJbmRleENoYW5nZWQpIGFyZSBhZGRlZCB0byBz
dXBwb3J0IHdoYXQgdGhlIGZvcm1lcgp0d28gbm90aWZpY2F0aW9ucyB1c2VkIHRvIGRvLgoKKiBM
YXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2R5bmFtaWMtYXJpYS1oaWRkZW4tY2VsbC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgoqIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZHluYW1pYy1hcmlhLWhp
ZGRlbi1jZWxsLmh0bWw6IEFkZGVkLgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhM
b2dnZXIuY3BwOgooV2ViQ29yZTo6b3BlcmF0b3I8PCk6CiogU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcDoKKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OnZhbHVl
Q2hhbmdlZCk6CihXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpjb2x1bW5JbmRleENoYW5nZWQpOgoo
V2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6cm93SW5kZXhDaGFuZ2VkKToKKFdlYkNvcmU6OkFYT2Jq
ZWN0Q2FjaGU6OnBvc3ROb3RpZmljYXRpb24pOgooV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6b25U
ZXh0U2VjdXJpdHlDaGFuZ2VkKToKKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6Om9uVGl0bGVDaGFu
Z2UpOgooV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6b25WYWxpZGl0eUNoYW5nZSk6CihXZWJDb3Jl
OjpBWE9iamVjdENhY2hlOjpoYW5kbGVSb2xlQ2hhbmdlZCk6ClRha2UgYSByZWZlcmVuY2UgcmF0
aGVyIHRoYW4gYSBwb2ludGVyIGFzIGFsbCBjYWxsc2l0ZXMgaGF2ZSBhY2Nlc3MgdG8gYQpyZWZl
cmVuY2UuCihXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpoYW5kbGVBdHRyaWJ1dGVDaGFuZ2UpOgoo
V2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6dXBkYXRlSXNvbGF0ZWRUcmVlKToKKFdlYkNvcmU6OkFY
T2JqZWN0Q2FjaGU6OnNlbGVjdGVkVGV4dFJhbmdlVGltZXJGaXJlZCk6CihXZWJDb3JlOjpBWE9i
amVjdENhY2hlOjpvbldpZGdldFZpc2liaWxpdHlDaGFuZ2VkKToKKiBTb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaDoKKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwOgooV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVj
dDo6dXBkYXRlUm9sZSk6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0LmNwcDoKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6
OnVwZGF0ZVJvbGVBZnRlckNoaWxkcmVuQ3JlYXRpb24pOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlLmNwcDoKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlU
YWJsZTo6cmVjb21wdXRlSXNFeHBvc2FibGUpOgooV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVRhYmxl
Ojpjb2x1bW5Db3VudCk6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5VGFibGVDZWxsLmNwcDoKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlUYWJsZUNlbGw6OnNldFJv
d0luZGV4KToKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlUYWJsZUNlbGw6OnNldENvbHVtbkluZGV4
KToKKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZUNlbGwu
aDoKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlUYWJsZUNlbGw6OnNldFJvd0luZGV4KTogRGVsZXRl
ZC4KKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlUYWJsZUNlbGw6OnNldENvbHVtbkluZGV4KTogRGVs
ZXRlZC4KLS0tCiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYTG9nZ2VyLmNwcCAgICAg
fCAgNiArKwogLi4uL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcCAgIHwg
NjAgKysrKysrKysrKy0tLS0tCiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0
Q2FjaGUuaCAgfCAxNiArKystCiAuLi4vYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0
LmNwcCAgICAgfCAgMiArLQogLi4uL0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwICAgICAg
ICAgICAgIHwgIDIgKy0KIC4uLi9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZS5jcHAg
ICAgICB8ICA0ICstCiAuLi4vYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVDZWxsLmNw
cCAgfCAyNCArKysrKysKIC4uLi9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZUNlbGwu
aCAgICB8ICA0ICstCiAuLi4vZHluYW1pYy1hcmlhLWhpZGRlbi1jZWxsLWV4cGVjdGVkLnR4dCAg
ICAgfCAyOSArKysrKysrCiAuLi4vZHluYW1pYy1hcmlhLWhpZGRlbi1jZWxsLmh0bWwgICAgICAg
ICAgICAgfCA3NSArKysrKysrKysrKysrKysrKysrCiAxMCBmaWxlcyBjaGFuZ2VkLCAxOTggaW5z
ZXJ0aW9ucygrKSwgMjQgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVz
dHMvYWNjZXNzaWJpbGl0eS9keW5hbWljLWFyaWEtaGlkZGVuLWNlbGwtZXhwZWN0ZWQudHh0CiBj
cmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9keW5hbWljLWFyaWEt
aGlkZGVuLWNlbGwuaHRtbAoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQVhMb2dnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWExvZ2dlci5j
cHAKaW5kZXggZjVjZjBhMTgyNGExLi5mYjBmZDZkMTc3OGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhMb2dnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQVhMb2dnZXIuY3BwCkBAIC01NTIsNiArNTUyLDEyIEBAIFRleHRTdHJlYW0m
IG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgc3RyZWFtLCBBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNh
dGlvbiBub3RpZmljCiAgICAgY2FzZSBBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbjo6QVhB
dXRvZmlsbFR5cGVDaGFuZ2VkOgogICAgICAgICBzdHJlYW0gPDwgIkFYQXV0b2ZpbGxUeXBlQ2hh
bmdlZCI7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgQVhPYmplY3RDYWNoZTo6QVhOb3RpZmlj
YXRpb246OkFYQVJJQUNvbHVtbkluZGV4Q2hhbmdlZDoKKyAgICAgICAgc3RyZWFtIDw8ICJBWEFS
SUFDb2x1bW5JbmRleENoYW5nZWQiOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEFYT2JqZWN0
Q2FjaGU6OkFYTm90aWZpY2F0aW9uOjpBWEFSSUFSb3dJbmRleENoYW5nZWQ6CisgICAgICAgIHN0
cmVhbSA8PCAiQVhBUklBUm93SW5kZXhDaGFuZ2VkIjsKKyAgICAgICAgYnJlYWs7CiAgICAgY2Fz
ZSBBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbjo6QVhCcmFpbGxlTGFiZWxDaGFuZ2VkOgog
ICAgICAgICBzdHJlYW0gPDwgIkFYQnJhaWxsZUxhYmVsQ2hhbmdlZCI7CiAgICAgICAgIGJyZWFr
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKaW5k
ZXggMmI5NDMwZmNkODE5Li4zNzE1N2U0NGU0MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcApAQCAtMTQ1Niw5ICsxNDU2LDIxIEBAIHZvaWQg
QVhPYmplY3RDYWNoZTo6Y2hpbGRyZW5DaGFuZ2VkKEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVj
dCkKIAogdm9pZCBBWE9iamVjdENhY2hlOjp2YWx1ZUNoYW5nZWQoRWxlbWVudCogZWxlbWVudCkK
IHsKLSAgICBwb3N0Tm90aWZpY2F0aW9uKGVsZW1lbnQsIEFYTm90aWZpY2F0aW9uOjpBWFZhbHVl
Q2hhbmdlZCk7CisgICAgcG9zdE5vdGlmaWNhdGlvbihlbGVtZW50LCBBWFZhbHVlQ2hhbmdlZCk7
CiB9CiAKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQordm9pZCBBWE9i
amVjdENhY2hlOjpjb2x1bW5JbmRleENoYW5nZWQoQWNjZXNzaWJpbGl0eVRhYmxlQ2VsbCYgY2Vs
bCkKK3sKKyAgICBwb3N0Tm90aWZpY2F0aW9uKGNlbGwsIEFYQ29sdW1uSW5kZXhDaGFuZ2VkKTsK
K30KKwordm9pZCBBWE9iamVjdENhY2hlOjpyb3dJbmRleENoYW5nZWQoQWNjZXNzaWJpbGl0eVRh
YmxlQ2VsbCYgY2VsbCkKK3sKKyAgICBwb3N0Tm90aWZpY2F0aW9uKGNlbGwsIEFYUm93SW5kZXhD
aGFuZ2VkKTsKK30KKyNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVF
KQorCiB2b2lkIEFYT2JqZWN0Q2FjaGU6Om5vdGlmaWNhdGlvblBvc3RUaW1lckZpcmVkKCkKIHsK
ICAgICBBWFRSQUNFKG1ha2VTdHJpbmcoIkFYT2JqZWN0Q2FjaGU6Om5vdGlmaWNhdGlvblBvc3RU
aW1lckZpcmVkIDB4Il9zLCBoZXgocmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KHRoaXMpKSkp
OwpAQCAtMTU5MCw2ICsxNjAyLDE5IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6cG9zdE5vdGlmaWNh
dGlvbihBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QsIERvY3VtZW50KiBkb2N1CiAgICAgICAg
IG1fbm90aWZpY2F0aW9uUG9zdFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCit2b2lkIEFY
T2JqZWN0Q2FjaGU6OnBvc3ROb3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCYgb2JqZWN0
LCBBWE5vdGlmaWNhdGlvbiBub3RpZmljYXRpb24pCit7CisgICAgQVhUUkFDRShtYWtlU3RyaW5n
KCJBWE9iamVjdENhY2hlOjpwb3N0Tm90aWZpY2F0aW9uIDB4Il9zLCBoZXgocmVpbnRlcnByZXRf
Y2FzdDx1aW50cHRyX3Q+KHRoaXMpKSkpOworICAgIEFYTE9HKHN0ZDo6bWFrZV9wYWlyKCZvYmpl
Y3QsIG5vdGlmaWNhdGlvbikpOworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisKKyAgICBz
dG9wQ2FjaGluZ0NvbXB1dGVkT2JqZWN0QXR0cmlidXRlcygpOworCisgICAgbV9ub3RpZmljYXRp
b25zVG9Qb3N0LmFwcGVuZChzdGQ6Om1ha2VfcGFpcigmb2JqZWN0LCBub3RpZmljYXRpb24pKTsK
KyAgICBpZiAoIW1fbm90aWZpY2F0aW9uUG9zdFRpbWVyLmlzQWN0aXZlKCkpCisgICAgICAgIG1f
bm90aWZpY2F0aW9uUG9zdFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOworfQorCiB2b2lkIEFYT2Jq
ZWN0Q2FjaGU6OmNoZWNrZWRTdGF0ZUNoYW5nZWQoTm9kZSogbm9kZSkKIHsKICAgICBwb3N0Tm90
aWZpY2F0aW9uKG5vZGUsIEFYQ2hlY2tlZFN0YXRlQ2hhbmdlZCk7CkBAIC0xNzkyLDcgKzE4MTcs
NyBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6Om9uU2VsZWN0ZWRDaGFuZ2VkKE5vZGUqIG5vZGUpCiB2
b2lkIEFYT2JqZWN0Q2FjaGU6Om9uVGV4dFNlY3VyaXR5Q2hhbmdlZChIVE1MSW5wdXRFbGVtZW50
JiBpbnB1dEVsZW1lbnQpCiB7CiAjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJF
RSkKLSAgICBwb3N0Tm90aWZpY2F0aW9uKGdldCgmaW5wdXRFbGVtZW50KSwgbnVsbHB0ciwgQVhU
ZXh0U2VjdXJpdHlDaGFuZ2VkKTsKKyAgICBwb3N0Tm90aWZpY2F0aW9uKGdldCgmaW5wdXRFbGVt
ZW50KSwgQVhUZXh0U2VjdXJpdHlDaGFuZ2VkKTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKGlu
cHV0RWxlbWVudCk7CiAjZW5kaWYKQEAgLTE4MDAsMTIgKzE4MjUsMTIgQEAgdm9pZCBBWE9iamVj
dENhY2hlOjpvblRleHRTZWN1cml0eUNoYW5nZWQoSFRNTElucHV0RWxlbWVudCYgaW5wdXRFbGVt
ZW50KQogCiB2b2lkIEFYT2JqZWN0Q2FjaGU6Om9uVGl0bGVDaGFuZ2UoRG9jdW1lbnQmIGRvY3Vt
ZW50KQogewotICAgIHBvc3ROb3RpZmljYXRpb24oZ2V0KCZkb2N1bWVudCksIG51bGxwdHIsIEFY
VGV4dENoYW5nZWQpOworICAgIHBvc3ROb3RpZmljYXRpb24oZ2V0KCZkb2N1bWVudCksIEFYVGV4
dENoYW5nZWQpOwogfQogCiB2b2lkIEFYT2JqZWN0Q2FjaGU6Om9uVmFsaWRpdHlDaGFuZ2UoRWxl
bWVudCYgZWxlbWVudCkKIHsKLSAgICBwb3N0Tm90aWZpY2F0aW9uKGdldCgmZWxlbWVudCksIG51
bGxwdHIsIEFYSW52YWxpZFN0YXR1c0NoYW5nZWQpOworICAgIHBvc3ROb3RpZmljYXRpb24oZ2V0
KCZlbGVtZW50KSwgQVhJbnZhbGlkU3RhdHVzQ2hhbmdlZCk7CiB9CiAKIHZvaWQgQVhPYmplY3RD
YWNoZTo6b25UZXh0Q29tcG9zaXRpb25DaGFuZ2UoTm9kZSYgbm9kZSwgQ29tcG9zaXRpb25TdGF0
ZSBjb21wb3NpdGlvblN0YXRlLCBib29sIHZhbHVlQ2hhbmdlZCwgY29uc3QgU3RyaW5nJiB0ZXh0
LCBzaXplX3QgcG9zaXRpb24sIGJvb2wgaGFuZGxpbmdBY2NlcHRlZENhbmRpZGF0ZSkKQEAgLTI0
MDAsMTMgKzI0MjUsMTMgQEAgdm9pZCBBWE9iamVjdENhY2hlOjpoYW5kbGVSb2xlQ2hhbmdlZChF
bGVtZW50KiBlbGVtZW50LCBjb25zdCBBdG9tU3RyaW5nJiBvbGRWYWwKICAgICBvYmplY3QtPnVw
ZGF0ZVJvbGUoKTsKIH0KIAotdm9pZCBBWE9iamVjdENhY2hlOjpoYW5kbGVSb2xlQ2hhbmdlZChB
Y2Nlc3NpYmlsaXR5T2JqZWN0KiBheE9iamVjdCkKK3ZvaWQgQVhPYmplY3RDYWNoZTo6aGFuZGxl
Um9sZUNoYW5nZWQoQWNjZXNzaWJpbGl0eU9iamVjdCYgYXhPYmplY3QpCiB7CiAgICAgc3RvcENh
Y2hpbmdDb21wdXRlZE9iamVjdEF0dHJpYnV0ZXMoKTsKLSAgICBheE9iamVjdC0+cmVjb21wdXRl
SXNJZ25vcmVkKCk7CisgICAgYXhPYmplY3QucmVjb21wdXRlSXNJZ25vcmVkKCk7CiAKICNpZiBF
TkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQotICAgIHBvc3ROb3RpZmljYXRpb24o
YXhPYmplY3QsIG51bGxwdHIsIEFYUm9sZUNoYW5nZWQpOworICAgIHBvc3ROb3RpZmljYXRpb24o
YXhPYmplY3QsIEFYUm9sZUNoYW5nZWQpOwogI2VuZGlmCiB9CiAKQEAgLTI1MTUsNyArMjU0MCw3
IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6aGFuZGxlQXR0cmlidXRlQ2hhbmdlKEVsZW1lbnQqIGVs
ZW1lbnQsIGNvbnN0IFF1YWxpZmllZE5hbWUmCiAgICAgZWxzZSBpZiAoYXR0ck5hbWUgPT0gbGFu
Z0F0dHIpCiAgICAgICAgIHVwZGF0ZUlzb2xhdGVkVHJlZShnZXQoZWxlbWVudCksIEFYTGFuZ3Vh
Z2VDaGFuZ2VkKTsKICAgICBlbHNlIGlmIChhdHRyTmFtZSA9PSBuYW1lQXR0cikKLSAgICAgICAg
cG9zdE5vdGlmaWNhdGlvbihnZXQoZWxlbWVudCksIG51bGxwdHIsIEFYTmFtZUNoYW5nZWQpOwor
ICAgICAgICBwb3N0Tm90aWZpY2F0aW9uKGdldChlbGVtZW50KSwgQVhOYW1lQ2hhbmdlZCk7CiAg
ICAgZWxzZSBpZiAoYXR0ck5hbWUgPT0gcGxhY2Vob2xkZXJBdHRyKQogICAgICAgICBwb3N0Tm90
aWZpY2F0aW9uKGVsZW1lbnQsIEFYUGxhY2Vob2xkZXJDaGFuZ2VkKTsKICAgICBlbHNlIGlmIChh
dHRyTmFtZSA9PSBocmVmQXR0ciB8fCBhdHRyTmFtZSA9PSBzcmNBdHRyKQpAQCAtMjU3Niw3ICsy
NjAxLDcgQEAgdm9pZCBBWE9iamVjdENhY2hlOjpoYW5kbGVBdHRyaWJ1dGVDaGFuZ2UoRWxlbWVu
dCogZWxlbWVudCwgY29uc3QgUXVhbGlmaWVkTmFtZSYKICAgICAgICAgcG9zdE5vdGlmaWNhdGlv
bihlbGVtZW50LCBBWENvbHVtbkNvdW50Q2hhbmdlZCk7CiAgICAgICAgIGRlZmVyUmVjb21wdXRl
VGFibGVJc0V4cG9zZWQoZHluYW1pY0Rvd25jYXN0PEhUTUxUYWJsZUVsZW1lbnQ+KGVsZW1lbnQp
KTsKICAgICB9IGVsc2UgaWYgKGF0dHJOYW1lID09IGFyaWFfY29saW5kZXhBdHRyKSB7Ci0gICAg
ICAgIHBvc3ROb3RpZmljYXRpb24oZWxlbWVudCwgQVhDb2x1bW5JbmRleENoYW5nZWQpOworICAg
ICAgICBwb3N0Tm90aWZpY2F0aW9uKGVsZW1lbnQsIEFYQVJJQUNvbHVtbkluZGV4Q2hhbmdlZCk7
CiAgICAgICAgIHJlY29tcHV0ZVBhcmVudFRhYmxlUHJvcGVydGllcyhlbGVtZW50LCBUYWJsZVBy
b3BlcnR5OjpFeHBvc2VkKTsKICAgICB9IGVsc2UgaWYgKGF0dHJOYW1lID09IGFyaWFfY29sc3Bh
bkF0dHIpIHsKICAgICAgICAgcG9zdE5vdGlmaWNhdGlvbihlbGVtZW50LCBBWENvbHVtblNwYW5D
aGFuZ2VkKTsKQEAgLTI2MDEsNyArMjYyNiw3IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6aGFuZGxl
QXR0cmlidXRlQ2hhbmdlKEVsZW1lbnQqIGVsZW1lbnQsIGNvbnN0IFF1YWxpZmllZE5hbWUmCiAg
ICAgZWxzZSBpZiAoYXR0ck5hbWUgPT0gYXJpYV9wbGFjZWhvbGRlckF0dHIpCiAgICAgICAgIHBv
c3ROb3RpZmljYXRpb24oZWxlbWVudCwgQVhQbGFjZWhvbGRlckNoYW5nZWQpOwogICAgIGVsc2Ug
aWYgKGF0dHJOYW1lID09IGFyaWFfcm93aW5kZXhBdHRyKSB7Ci0gICAgICAgIHBvc3ROb3RpZmlj
YXRpb24oZWxlbWVudCwgQVhSb3dJbmRleENoYW5nZWQpOworICAgICAgICBwb3N0Tm90aWZpY2F0
aW9uKGVsZW1lbnQsIEFYQVJJQVJvd0luZGV4Q2hhbmdlZCk7CiAgICAgICAgIHJlY29tcHV0ZVBh
cmVudFRhYmxlUHJvcGVydGllcyhlbGVtZW50LCB7IFRhYmxlUHJvcGVydHk6OkNlbGxTbG90cywg
VGFibGVQcm9wZXJ0eTo6RXhwb3NlZCB9KTsKICAgICB9CiAgICAgZWxzZSBpZiAoYXR0ck5hbWUg
PT0gYXJpYV92YWx1ZW1heEF0dHIpCkBAIC00MzAyLDYgKzQzMjcsMTIgQEAgdm9pZCBBWE9iamVj
dENhY2hlOjp1cGRhdGVJc29sYXRlZFRyZWUoY29uc3QgVmVjdG9yPHN0ZDo6cGFpcjxSZWZQdHI8
QWNjZXNzaWJpbGkKICAgICAgICAgY2FzZSBBWEF1dG9maWxsVHlwZUNoYW5nZWQ6CiAgICAgICAg
ICAgICB0cmVlLT5xdWV1ZU5vZGVVcGRhdGUobm90aWZpY2F0aW9uLmZpcnN0LT5vYmplY3RJRCgp
LCB7IEFYUHJvcGVydHlOYW1lOjpWYWx1ZUF1dG9maWxsQnV0dG9uVHlwZSB9KTsKICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICBjYXNlIEFYQVJJQUNvbHVtbkluZGV4Q2hhbmdlZDoKKyAgICAg
ICAgICAgIHRyZWUtPnF1ZXVlTm9kZVVwZGF0ZShub3RpZmljYXRpb24uZmlyc3QtPm9iamVjdElE
KCksIHsgQVhQcm9wZXJ0eU5hbWU6OkFYQ29sdW1uSW5kZXggfSk7CisgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgY2FzZSBBWEFSSUFSb3dJbmRleENoYW5nZWQ6CisgICAgICAgICAgICB0cmVl
LT5xdWV1ZU5vZGVVcGRhdGUobm90aWZpY2F0aW9uLmZpcnN0LT5vYmplY3RJRCgpLCB7IEFYUHJv
cGVydHlOYW1lOjpBWFJvd0luZGV4IH0pOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNh
c2UgQVhCcmFpbGxlTGFiZWxDaGFuZ2VkOgogICAgICAgICAgICAgdHJlZS0+cXVldWVOb2RlVXBk
YXRlKG5vdGlmaWNhdGlvbi5maXJzdC0+b2JqZWN0SUQoKSwgeyBBWFByb3BlcnR5TmFtZTo6QnJh
aWxsZUxhYmVsIH0pOwogICAgICAgICAgICAgYnJlYWs7CkBAIC00MzIyLDggKzQzNTMsNiBAQCB2
b2lkIEFYT2JqZWN0Q2FjaGU6OnVwZGF0ZUlzb2xhdGVkVHJlZShjb25zdCBWZWN0b3I8c3RkOjpw
YWlyPFJlZlB0cjxBY2Nlc3NpYmlsaQogICAgICAgICAgICAgdHJlZS0+cXVldWVOb2RlVXBkYXRl
KG5vdGlmaWNhdGlvbi5maXJzdC0+b2JqZWN0SUQoKSwgeyBBWFByb3BlcnR5TmFtZTo6QVhDb2x1
bW5Db3VudCB9KTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIEFYQ29sdW1uSW5k
ZXhDaGFuZ2VkOgotICAgICAgICAgICAgdHJlZS0+cXVldWVOb2RlVXBkYXRlKG5vdGlmaWNhdGlv
bi5maXJzdC0+b2JqZWN0SUQoKSwgeyBBWFByb3BlcnR5TmFtZTo6QVhDb2x1bW5JbmRleCB9KTsK
LSAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIEFYQ29sdW1uU3BhbkNoYW5nZWQ6CiAg
ICAgICAgICAgICB0cmVlLT5xdWV1ZU5vZGVVcGRhdGUobm90aWZpY2F0aW9uLmZpcnN0LT5vYmpl
Y3RJRCgpLCB7IEFYUHJvcGVydHlOYW1lOjpDb2x1bW5JbmRleFJhbmdlIH0pOwogICAgICAgICAg
ICAgYnJlYWs7CkBAIC00Mzg5LDggKzQ0MTgsNiBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6OnVwZGF0
ZUlzb2xhdGVkVHJlZShjb25zdCBWZWN0b3I8c3RkOjpwYWlyPFJlZlB0cjxBY2Nlc3NpYmlsaQog
ICAgICAgICAgICAgdHJlZS0+cXVldWVOb2RlVXBkYXRlKG5vdGlmaWNhdGlvbi5maXJzdC0+b2Jq
ZWN0SUQoKSwgeyBBWFByb3BlcnR5TmFtZTo6Um9sZURlc2NyaXB0aW9uIH0pOwogICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQVhSb3dJbmRleENoYW5nZWQ6Ci0gICAgICAgICAgICB0
cmVlLT5xdWV1ZU5vZGVVcGRhdGUobm90aWZpY2F0aW9uLmZpcnN0LT5vYmplY3RJRCgpLCB7IEFY
UHJvcGVydHlOYW1lOjpBWFJvd0luZGV4IH0pOwotICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IGNhc2UgQVhSb3dTcGFuQ2hhbmdlZDoKICAgICAgICAgICAgIHRyZWUtPnF1ZXVlTm9kZVVwZGF0
ZShub3RpZmljYXRpb24uZmlyc3QtPm9iamVjdElEKCksIHsgQVhQcm9wZXJ0eU5hbWU6OlJvd0lu
ZGV4UmFuZ2UgfSk7CiAgICAgICAgICAgICBicmVhazsKQEAgLTUxNTksNyArNTE4Niw3IEBAIHZv
aWQgQVhPYmplY3RDYWNoZTo6c2VsZWN0ZWRUZXh0UmFuZ2VUaW1lckZpcmVkKCkKICAgICBpZiAo
bV9sYXN0RGVib3VuY2VkVGV4dFJhbmdlT2JqZWN0LmlzVmFsaWQoKSkgewogICAgICAgICBmb3Ig
KGF1dG8qIGF4T2JqZWN0ID0gb2JqZWN0Rm9ySUQobV9sYXN0RGVib3VuY2VkVGV4dFJhbmdlT2Jq
ZWN0KTsgYXhPYmplY3Q7IGF4T2JqZWN0ID0gYXhPYmplY3QtPnBhcmVudE9iamVjdCgpKSB7CiAg
ICAgICAgICAgICBpZiAoYXhPYmplY3QtPmlzVGV4dENvbnRyb2woKSkKLSAgICAgICAgICAgICAg
ICBwb3N0Tm90aWZpY2F0aW9uKGF4T2JqZWN0LCBudWxscHRyLCBBWFNlbGVjdGVkVGV4dENoYW5n
ZWQpOworICAgICAgICAgICAgICAgIHBvc3ROb3RpZmljYXRpb24oKmF4T2JqZWN0LCBBWFNlbGVj
dGVkVGV4dENoYW5nZWQpOwogICAgICAgICB9CiAgICAgfQogCkBAIC01MTgyLDggKzUyMDksNyBA
QCB2b2lkIEFYT2JqZWN0Q2FjaGU6OnByb2Nlc3NRdWV1ZWRJc29sYXRlZE5vZGVVcGRhdGVzKCkK
IHZvaWQgQVhPYmplY3RDYWNoZTo6b25XaWRnZXRWaXNpYmlsaXR5Q2hhbmdlZChSZW5kZXJXaWRn
ZXQqIHdpZGdldCkKIHsKICNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQot
ICAgIGlmIChhdXRvKiBheFdpZGdldCA9IGdldCh3aWRnZXQpKQotICAgICAgICBwb3N0Tm90aWZp
Y2F0aW9uKGF4V2lkZ2V0LCBudWxscHRyLCBBWFZpc2liaWxpdHlDaGFuZ2VkKTsKKyAgICBwb3N0
Tm90aWZpY2F0aW9uKGdldCh3aWRnZXQpLCBBWFZpc2liaWxpdHlDaGFuZ2VkKTsKICNlbHNlCiAg
ICAgVU5VU0VEX1BBUkFNKHdpZGdldCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BWE9iamVjdENhY2hlLmgKaW5kZXggMzBkNzY0NzRlZWU4Li45ZjNhM2ZlZmM3NTUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCkBAIC0y
MDksNyArMjA5LDEzIEBAIHB1YmxpYzoKICAgICB2b2lkIHZhbHVlQ2hhbmdlZChFbGVtZW50Kik7
CiAgICAgdm9pZCBjaGVja2VkU3RhdGVDaGFuZ2VkKE5vZGUqKTsKICAgICB2b2lkIGF1dG9maWxs
VHlwZUNoYW5nZWQoTm9kZSopOwotICAgIHZvaWQgaGFuZGxlUm9sZUNoYW5nZWQoQWNjZXNzaWJp
bGl0eU9iamVjdCopOworICAgIHZvaWQgaGFuZGxlUm9sZUNoYW5nZWQoQWNjZXNzaWJpbGl0eU9i
amVjdCYpOworCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKyAgICB2
b2lkIGNvbHVtbkluZGV4Q2hhbmdlZChBY2Nlc3NpYmlsaXR5VGFibGVDZWxsJik7CisgICAgdm9p
ZCByb3dJbmRleENoYW5nZWQoQWNjZXNzaWJpbGl0eVRhYmxlQ2VsbCYpOworI2VuZGlmCisKICAg
ICAvLyBDYWxsZWQgd2hlbiBhIFJlbmRlck9iamVjdCBpcyBjcmVhdGVkIGZvciBhbiBFbGVtZW50
LiBEZXBlbmRpbmcgb24gdGhlCiAgICAgLy8gcHJlc2VuY2Ugb2YgYSBSZW5kZXJPYmplY3QsIHdl
IG1heSBoYXZlIGluc3RhdGlhdGVkIGFuIEFYUmVuZGVyT2JqZWN0IG9yCiAgICAgLy8gYW4gQVhO
b2RlT2JqZWN0LiBUaGlzIG9jY3VycyB3aGVuIGFuIEVsZW1lbnQgd2l0aCBubyByZW5kZXJlciBp
cwpAQCAtMzU0LDYgKzM2MCw4IEBAIHB1YmxpYzoKICAgICAgICAgQVhBbm5vdW5jZW1lbnRSZXF1
ZXN0ZWQsCiAgICAgICAgIEFYQXV0b2NvcnJlY3Rpb25PY2N1cmVkLAogICAgICAgICBBWEF1dG9m
aWxsVHlwZUNoYW5nZWQsCisgICAgICAgIEFYQVJJQUNvbHVtbkluZGV4Q2hhbmdlZCwKKyAgICAg
ICAgQVhBUklBUm93SW5kZXhDaGFuZ2VkLAogICAgICAgICBBWEJyYWlsbGVMYWJlbENoYW5nZWQs
CiAgICAgICAgIEFYQnJhaWxsZVJvbGVEZXNjcmlwdGlvbkNoYW5nZWQsCiAgICAgICAgIEFYQ2Vs
bFNsb3RzQ2hhbmdlZCwKQEAgLTQ0Nyw2ICs0NTUsMTIgQEAgcHVibGljOgogICAgIHZvaWQgcG9z
dE5vdGlmaWNhdGlvbihSZW5kZXJPYmplY3QqLCBBWE5vdGlmaWNhdGlvbiwgUG9zdFRhcmdldCA9
IFBvc3RUYXJnZXQ6OkVsZW1lbnQpOwogICAgIHZvaWQgcG9zdE5vdGlmaWNhdGlvbihOb2RlKiwg
QVhOb3RpZmljYXRpb24sIFBvc3RUYXJnZXQgPSBQb3N0VGFyZ2V0OjpFbGVtZW50KTsKICAgICB2
b2lkIHBvc3ROb3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCosIERvY3VtZW50KiwgQVhO
b3RpZmljYXRpb24sIFBvc3RUYXJnZXQgPSBQb3N0VGFyZ2V0OjpFbGVtZW50KTsKKyAgICB2b2lk
IHBvc3ROb3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0LCBBWE5vdGlmaWNh
dGlvbiBub3RpZmljYXRpb24pCisgICAgeworICAgICAgICBpZiAob2JqZWN0KQorICAgICAgICAg
ICAgcG9zdE5vdGlmaWNhdGlvbigqb2JqZWN0LCBub3RpZmljYXRpb24pOworICAgIH0KKyAgICB2
b2lkIHBvc3ROb3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCYsIEFYTm90aWZpY2F0aW9u
KTsKICAgICAvLyBSZXF1ZXN0cyBjbGllbnRzIHRvIGFubm91bmNlIHRvIHRoZSB1c2VyIHRoZSBn
aXZlbiBtZXNzYWdlIGluIHRoZSB3YXkgdGhleSBkZWVtIGFwcHJvcHJpYXRlLgogICAgIFdFQkNP
UkVfRVhQT1JUIHZvaWQgYW5ub3VuY2UoY29uc3QgU3RyaW5nJik7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCmluZGV4IGJk
MGJhNDAwYjdjNy4uYTg2ZjJhZTAyOTE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKQEAgLTI4MjcsNyArMjgyNyw3IEBA
IHZvaWQgQWNjZXNzaWJpbGl0eU9iamVjdDo6dXBkYXRlUm9sZSgpCiAgICAgbV9yb2xlID0gZGV0
ZXJtaW5lQWNjZXNzaWJpbGl0eVJvbGUoKTsKICAgICBpZiAocHJldmlvdXNSb2xlICE9IG1fcm9s
ZSkgewogICAgICAgICBpZiAoYXV0byogY2FjaGUgPSBheE9iamVjdENhY2hlKCkpCi0gICAgICAg
ICAgICBjYWNoZS0+aGFuZGxlUm9sZUNoYW5nZWQodGhpcyk7CisgICAgICAgICAgICBjYWNoZS0+
aGFuZGxlUm9sZUNoYW5nZWQoKnRoaXMpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAK
aW5kZXggNmEzOTRkZDE3ZjI3Li5mODljZWIyMGE5ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcApA
QCAtMjU2NCw3ICsyNTY0LDcgQEAgdm9pZCBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Ojp1cGRh
dGVSb2xlQWZ0ZXJDaGlsZHJlbkNyZWF0aW9uKCkKIAogICAgIGlmIChyb2xlICE9IG1fcm9sZSkg
ewogICAgICAgICBpZiAoYXV0byogY2FjaGUgPSBheE9iamVjdENhY2hlKCkpCi0gICAgICAgICAg
ICBjYWNoZS0+aGFuZGxlUm9sZUNoYW5nZWQodGhpcyk7CisgICAgICAgICAgICBjYWNoZS0+aGFu
ZGxlUm9sZUNoYW5nZWQoKnRoaXMpOwogICAgIH0KIH0KICAgICAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlLmNwcAppbmRleCA2MmE0MWIz
MGI1ZjEuLjA3MWFkZGQ2YzNjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5VGFibGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlLmNwcApAQCAtNDA0LDcgKzQwNCw3IEBAIHZvaWQgQWNj
ZXNzaWJpbGl0eVRhYmxlOjpyZWNvbXB1dGVJc0V4cG9zYWJsZSgpCiAgICAgaWYgKHByZXZpb3Vz
bHlFeHBvc2FibGUgIT0gbV9pc0V4cG9zYWJsZSkgewogICAgICAgICAvLyBBIHRhYmxlJ3Mgcm9s
ZSB2YWx1ZSBpcyBkZXBlbmRlbnQgb24gd2hldGhlciBpdCdzIGV4cG9zZWQsIHNvIG5vdGlmeSB0
aGUgY2FjaGUgdGhpcyBoYXMgY2hhbmdlZC4KICAgICAgICAgaWYgKGF1dG8qIGNhY2hlID0gYXhP
YmplY3RDYWNoZSgpKQotICAgICAgICAgICAgY2FjaGUtPmhhbmRsZVJvbGVDaGFuZ2VkKHRoaXMp
OworICAgICAgICAgICAgY2FjaGUtPmhhbmRsZVJvbGVDaGFuZ2VkKCp0aGlzKTsKIAogICAgICAg
ICAvLyBCZWZvcmUgcmVzZXR0aW5nIG91ciBleGlzdGluZyBjaGlsZHJlbiwgcG9zc2libHkgbG9z
aW5nIHJlZmVyZW5jZXMgdG8gdGhlbSwgZW5zdXJlIHdlIHVwZGF0ZSB0aGVpciByb2xlIChzaW5j
ZSBhIHRhYmxlIGNlbGwncyByb2xlIGlzIGRlcGVuZGVudCBvbiB3aGV0aGVyIGl0cyBwYXJlbnQg
dGFibGUgaXMgZXhwb3NhYmxlKS4KICAgICAgICAgdXBkYXRlQ2hpbGRyZW5Sb2xlcygpOwpAQCAt
ODQ1LDcgKzg0NSw3IEBAIHVuc2lnbmVkIEFjY2Vzc2liaWxpdHlUYWJsZTo6Y29sdW1uQ291bnQo
KQogewogICAgIHVwZGF0ZUNoaWxkcmVuSWZOZWNlc3NhcnkoKTsKICAgICAKLSAgICByZXR1cm4g
bV9jb2x1bW5zLnNpemUoKTsgICAgCisgICAgcmV0dXJuIG1fY29sdW1ucy5zaXplKCk7CiB9CiAg
ICAgCiB1bnNpZ25lZCBBY2Nlc3NpYmlsaXR5VGFibGU6OnJvd0NvdW50KCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlQ2VsbC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZUNlbGwuY3Bw
CmluZGV4IDk1NDVmZGI5NzhiMS4uMmVhMDNlNDYyZjg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZUNlbGwuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlQ2VsbC5jcHAKQEAgLTMy
OCw2ICszMjgsMzAgQEAgdm9pZCBBY2Nlc3NpYmlsaXR5VGFibGVDZWxsOjplbnN1cmVJbmRleGVz
VXBUb0RhdGUoKSBjb25zdAogICAgICAgICBwYXJlbnRUYWJsZS0+ZW5zdXJlQ2VsbEluZGV4ZXNV
cFRvRGF0ZSgpOwogfQogCit2b2lkIEFjY2Vzc2liaWxpdHlUYWJsZUNlbGw6OnNldFJvd0luZGV4
KHVuc2lnbmVkIGluZGV4KQoreworICAgIGlmIChtX3Jvd0luZGV4ID09IGluZGV4KQorICAgICAg
ICByZXR1cm47CisgICAgbV9yb3dJbmRleCA9IGluZGV4OworCisjaWYgRU5BQkxFKEFDQ0VTU0lC
SUxJVFlfSVNPTEFURURfVFJFRSkKKyAgICBpZiAoYXV0byogY2FjaGUgPSBheE9iamVjdENhY2hl
KCkpCisgICAgICAgIGNhY2hlLT5yb3dJbmRleENoYW5nZWQoKnRoaXMpOworI2VuZGlmCit9CisK
K3ZvaWQgQWNjZXNzaWJpbGl0eVRhYmxlQ2VsbDo6c2V0Q29sdW1uSW5kZXgodW5zaWduZWQgaW5k
ZXgpCit7CisgICAgaWYgKG1fY29sdW1uSW5kZXggPT0gaW5kZXgpCisgICAgICAgIHJldHVybjsK
KyAgICBtX2NvbHVtbkluZGV4ID0gaW5kZXg7CisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9J
U09MQVRFRF9UUkVFKQorICAgIGlmIChhdXRvKiBjYWNoZSA9IGF4T2JqZWN0Q2FjaGUoKSkKKyAg
ICAgICAgY2FjaGUtPmNvbHVtbkluZGV4Q2hhbmdlZCgqdGhpcyk7CisjZW5kaWYKK30KKwogc3Rk
OjpwYWlyPHVuc2lnbmVkLCB1bnNpZ25lZD4gQWNjZXNzaWJpbGl0eVRhYmxlQ2VsbDo6cm93SW5k
ZXhSYW5nZSgpIGNvbnN0CiB7CiAgICAgZW5zdXJlSW5kZXhlc1VwVG9EYXRlKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZUNlbGwu
aCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlQ2VsbC5o
CmluZGV4IDg3NzZiMWRhM2VkMy4uMWM2MmJmOTNlNzEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZUNlbGwuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZUNlbGwuaApAQCAtNjcsOCAr
NjcsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCByZXNldEVmZmVjdGl2ZVJvd1NwYW4oKSB7IG1fZWZm
ZWN0aXZlUm93U3BhbiA9IDE7IH0KICAgICB2b2lkIHNldEFYQ29sSW5kZXhGcm9tUm93KGludCBp
bmRleCkgeyBtX2F4Q29sSW5kZXhGcm9tUm93ID0gaW5kZXg7IH0KIAotICAgIHZvaWQgc2V0Um93
SW5kZXgodW5zaWduZWQgaW5kZXgpIHsgbV9yb3dJbmRleCA9IGluZGV4OyB9Ci0gICAgdm9pZCBz
ZXRDb2x1bW5JbmRleCh1bnNpZ25lZCBpbmRleCkgeyBtX2NvbHVtbkluZGV4ID0gaW5kZXg7IH0K
KyAgICB2b2lkIHNldFJvd0luZGV4KHVuc2lnbmVkKTsKKyAgICB2b2lkIHNldENvbHVtbkluZGV4
KHVuc2lnbmVkKTsKIAogI2lmIFVTRShBVFNQSSkKICAgICBpbnQgYXhDb2x1bW5TcGFuKCkgY29u
c3Q7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2R5bmFtaWMtYXJpYS1o
aWRkZW4tY2VsbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2R5bmFt
aWMtYXJpYS1oaWRkZW4tY2VsbC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwLi40YWFhOTNkZGI1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9hY2Nlc3NpYmlsaXR5L2R5bmFtaWMtYXJpYS1oaWRkZW4tY2VsbC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwyOSBAQAorVGhpcyB0ZXN0IGVuc3VyZXMgd2UgcmVwb3J0IHRoZSByaWdodCBp
bmZvcm1hdGlvbiBmb3IgdGFibGVzIHdpdGggcHJlc2VudGF0aW9uYWwgY2VsbHMuCisKK1BBU1M6
IHRhYmxlLnJvd0NvdW50ID09PSAyCitQQVNTOiB0YWJsZS5jb2x1bW5Db3VudCA9PT0gMgorUEFT
UzogYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0aDAtMScp
LnJvd0luZGV4UmFuZ2UoKSA9PT0gJ3swLCAxfScKK1BBU1M6IGFjY2Vzc2liaWxpdHlDb250cm9s
bGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgndGgwLTEnKS5jb2x1bW5JbmRleFJhbmdlKCkgPT09
ICd7MCwgMX0nCitQQVNTOiBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVu
dEJ5SWQoJ3RoMC0yJykucm93SW5kZXhSYW5nZSgpID09PSAnezAsIDF9JworUEFTUzogYWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0aDAtMicpLmNvbHVtbklu
ZGV4UmFuZ2UoKSA9PT0gJ3sxLCAxfScKK1BBU1M6IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFj
Y2Vzc2libGVFbGVtZW50QnlJZCgndGQxLTEnKS5yb3dJbmRleFJhbmdlKCkgPT09ICd7MSwgMX0n
CitQQVNTOiBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3Rk
MS0xJykuY29sdW1uSW5kZXhSYW5nZSgpID09PSAnezAsIDF9JworUEFTUzogYWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0ZDEtMicpLnJvd0luZGV4UmFuZ2Uo
KSA9PT0gJ3sxLCAxfScKK1BBU1M6IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVF
bGVtZW50QnlJZCgndGQxLTInKS5jb2x1bW5JbmRleFJhbmdlKCkgPT09ICd7MSwgMX0nCitQQVNT
OiB0YWJsZS5jb2x1bW5Db3VudCA9PT0gMworUEFTUzogYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIu
YWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0aDAtMC1oaWRkZW4nKS5yb3dJbmRleFJhbmdlKCkgPT09
ICd7MCwgMX0nCitQQVNTOiBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVu
dEJ5SWQoJ3RoMC0wLWhpZGRlbicpLmNvbHVtbkluZGV4UmFuZ2UoKSA9PT0gJ3swLCAxfScKK1BB
U1M6IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgndGgwLTEn
KS5yb3dJbmRleFJhbmdlKCkgPT09ICd7MCwgMX0nCitQQVNTOiBhY2Nlc3NpYmlsaXR5Q29udHJv
bGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3RoMC0xJykuY29sdW1uSW5kZXhSYW5nZSgpID09
PSAnezEsIDF9JworUEFTUzogYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1l
bnRCeUlkKCd0ZDEtMC1oaWRkZW4nKS5yb3dJbmRleFJhbmdlKCkgPT09ICd7MSwgMX0nCitQQVNT
OiBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3RkMS0wLWhp
ZGRlbicpLmNvbHVtbkluZGV4UmFuZ2UoKSA9PT0gJ3swLCAxfScKK1BBU1M6IGFjY2Vzc2liaWxp
dHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgndGQxLTEnKS5yb3dJbmRleFJhbmdl
KCkgPT09ICd7MSwgMX0nCitQQVNTOiBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxl
RWxlbWVudEJ5SWQoJ3RkMS0xJykuY29sdW1uSW5kZXhSYW5nZSgpID09PSAnezEsIDF9JworUEFT
UzogYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0ZDEtMicp
LnJvd0luZGV4UmFuZ2UoKSA9PT0gJ3sxLCAxfScKK1BBU1M6IGFjY2Vzc2liaWxpdHlDb250cm9s
bGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgndGQxLTInKS5jb2x1bW5JbmRleFJhbmdlKCkgPT09
ICd7MiwgMX0nCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorSGVhZGVyIG9uZQlIZWFkZXIgdHdvCUhlYWRlciB0aHJlZQorQQlCCUMKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZHluYW1pYy1hcmlhLWhpZGRlbi1jZWxsLmh0
bWwgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2R5bmFtaWMtYXJpYS1oaWRkZW4tY2VsbC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZWRiZTU2ZDM2YThm
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9keW5hbWljLWFy
aWEtaGlkZGVuLWNlbGwuaHRtbApAQCAtMCwwICsxLDc1IEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy9hY2Nlc3NpYmlsaXR5LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
CisKKzx0YWJsZSBpZD0idGFibGUiIHRhYmluZGV4PSIwIj4KKyAgICA8dGhlYWQgaWQ9InRoZWFk
Ij4KKyAgICAgICAgPHRyIGlkPSJ0cjAiPgorICAgICAgICAgICAgPHRoIGlkPSJ0aDAtMC1oaWRk
ZW4iIGFyaWEtaGlkZGVuPSJ0cnVlIj5IZWFkZXIgb25lPC90aD4KKyAgICAgICAgICAgIDx0aCBp
ZD0idGgwLTEiIHRhYmluZGV4PSIwIiBhcmlhLWNvbGluZGV4PSIxIj48c3Ryb25nPkhlYWRlciB0
d288L3N0cm9uZz48L3RoPgorICAgICAgICAgICAgPHRoIGlkPSJ0aDAtMiIgdGFiaW5kZXg9IjAi
IGFyaWEtY29saW5kZXg9IjIiPjxzdHJvbmc+SGVhZGVyIHRocmVlPC9zdHJvbmc+PC90aD4KKyAg
ICAgICAgPC90cj4KKyAgICA8L3RoZWFkPgorICAgIDx0Ym9keSBpZD0idGJvZHkiPgorICAgICAg
ICA8dHIgaWQ9InRyMSI+CisgICAgICAgICAgICA8dGQgaWQ9InRkMS0wLWhpZGRlbiIgYXJpYS1o
aWRkZW49InRydWUiPkE8L3RkPgorICAgICAgICAgICAgPHRkIGlkPSJ0ZDEtMSIgdGFiaW5kZXg9
IjAiIGFyaWEtY29saW5kZXg9IjEiPkI8L3RkPgorICAgICAgICAgICAgPHRkIGlkPSJ0ZDEtMiIg
dGFiaW5kZXg9IjAiIGFyaWEtY29saW5kZXg9IjIiPkM8L3RkPgorICAgICAgICA8L3RyPgorICAg
IDwvdGJvZHk+Cis8L3RhYmxlPgorCis8c2NyaXB0PgordmFyIG91dHB1dCA9ICJUaGlzIHRlc3Qg
ZW5zdXJlcyB3ZSByZXBvcnQgdGhlIHJpZ2h0IGluZm9ybWF0aW9uIGZvciB0YWJsZXMgd2l0aCBw
cmVzZW50YXRpb25hbCBjZWxscy5cblxuIjsKKworaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29u
dHJvbGxlcikgeworICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgIHZhciB0
YWJsZSA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgidGFi
bGUiKTsKKyAgICBvdXRwdXQgKz0gZXhwZWN0KCJ0YWJsZS5yb3dDb3VudCIsICIyIik7CisgICAg
b3V0cHV0ICs9IGV4cGVjdCgidGFibGUuY29sdW1uQ291bnQiLCAiMiIpOworCisgICAgb3V0cHV0
ICs9IGV4cGVjdCgiYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlk
KCd0aDAtMScpLnJvd0luZGV4UmFuZ2UoKSIsICInezAsIDF9JyIpOworICAgIG91dHB1dCArPSBl
eHBlY3QoImFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgndGgw
LTEnKS5jb2x1bW5JbmRleFJhbmdlKCkiLCAiJ3swLCAxfSciKTsKKworICAgIG91dHB1dCArPSBl
eHBlY3QoImFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgndGgw
LTInKS5yb3dJbmRleFJhbmdlKCkiLCAiJ3swLCAxfSciKTsKKyAgICBvdXRwdXQgKz0gZXhwZWN0
KCJhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3RoMC0yJyku
Y29sdW1uSW5kZXhSYW5nZSgpIiwgIid7MSwgMX0nIik7CisKKyAgICBvdXRwdXQgKz0gZXhwZWN0
KCJhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3RkMS0xJyku
cm93SW5kZXhSYW5nZSgpIiwgIid7MSwgMX0nIik7CisgICAgb3V0cHV0ICs9IGV4cGVjdCgiYWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0ZDEtMScpLmNvbHVt
bkluZGV4UmFuZ2UoKSIsICInezAsIDF9JyIpOworCisgICAgb3V0cHV0ICs9IGV4cGVjdCgiYWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0ZDEtMicpLnJvd0lu
ZGV4UmFuZ2UoKSIsICInezEsIDF9JyIpOworICAgIG91dHB1dCArPSBleHBlY3QoImFjY2Vzc2li
aWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgndGQxLTInKS5jb2x1bW5JbmRl
eFJhbmdlKCkiLCAiJ3sxLCAxfSciKTsKKworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0
aDAtMC1oaWRkZW4iKS5yZW1vdmVBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIik7CisgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInRkMS0wLWhpZGRlbiIpLnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1o
aWRkZW4iKTsKKyAgICBzZXRUaW1lb3V0KGFzeW5jIGZ1bmN0aW9uKCkgeworICAgICAgICBvdXRw
dXQgKz0gYXdhaXQgZXhwZWN0QXN5bmMoInRhYmxlLmNvbHVtbkNvdW50IiwgIjMiKTsKKworICAg
ICAgICBvdXRwdXQgKz0gYXdhaXQgZXhwZWN0QXN5bmMoImFjY2Vzc2liaWxpdHlDb250cm9sbGVy
LmFjY2Vzc2libGVFbGVtZW50QnlJZCgndGgwLTAtaGlkZGVuJykucm93SW5kZXhSYW5nZSgpIiwg
Iid7MCwgMX0nIik7CisgICAgICAgIG91dHB1dCArPSBhd2FpdCBleHBlY3RBc3luYygiYWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0aDAtMC1oaWRkZW4nKS5j
b2x1bW5JbmRleFJhbmdlKCkiLCAiJ3swLCAxfSciKTsKKworICAgICAgICBvdXRwdXQgKz0gYXdh
aXQgZXhwZWN0QXN5bmMoImFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50
QnlJZCgndGgwLTEnKS5yb3dJbmRleFJhbmdlKCkiLCAiJ3swLCAxfSciKTsKKyAgICAgICAgb3V0
cHV0ICs9IGF3YWl0IGV4cGVjdEFzeW5jKCJhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3Np
YmxlRWxlbWVudEJ5SWQoJ3RoMC0xJykuY29sdW1uSW5kZXhSYW5nZSgpIiwgIid7MSwgMX0nIik7
CisKKyAgICAgICAgb3V0cHV0ICs9IGF3YWl0IGV4cGVjdEFzeW5jKCJhY2Nlc3NpYmlsaXR5Q29u
dHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3RkMS0wLWhpZGRlbicpLnJvd0luZGV4UmFu
Z2UoKSIsICInezEsIDF9JyIpOworICAgICAgICBvdXRwdXQgKz0gYXdhaXQgZXhwZWN0QXN5bmMo
ImFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgndGQxLTAtaGlk
ZGVuJykuY29sdW1uSW5kZXhSYW5nZSgpIiwgIid7MCwgMX0nIik7CisKKyAgICAgICAgb3V0cHV0
ICs9IGV4cGVjdCgiYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlk
KCd0ZDEtMScpLnJvd0luZGV4UmFuZ2UoKSIsICInezEsIDF9JyIpOworICAgICAgICBvdXRwdXQg
Kz0gZXhwZWN0KCJhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQo
J3RkMS0xJykuY29sdW1uSW5kZXhSYW5nZSgpIiwgIid7MSwgMX0nIik7CisKKyAgICAgICAgb3V0
cHV0ICs9IGV4cGVjdCgiYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRC
eUlkKCd0ZDEtMicpLnJvd0luZGV4UmFuZ2UoKSIsICInezEsIDF9JyIpOworICAgICAgICBvdXRw
dXQgKz0gZXhwZWN0KCJhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5
SWQoJ3RkMS0yJykuY29sdW1uSW5kZXhSYW5nZSgpIiwgIid7MiwgMX0nIik7CisKKyAgICAgICAg
ZGVidWcob3V0cHV0KTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgfSwgMCk7Cit9Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>470175</attachid>
            <date>2024-03-04 22:26:00 -0800</date>
            <delta_ts>2024-03-05 14:21:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-270496-20240304222559.patch</filename>
            <type>text/plain</type>
            <size>24340</size>
            <attacher name="Tyler Wilcock">tyler_w</attacher>
            
              <data encoding="base64">RnJvbSBmNTg1YWYxZDQ4ZGE0NDlmZTQyNTYwMzk1NThmNzliNzJlNzIzODVmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUeWxlciBXaWxjb2NrIDx0eWxlcl93QGFwcGxlLmNvbT4KRGF0
ZTogTW9uLCA0IE1hciAyMDI0IDE4OjMyOjM0IC0wODAwClN1YmplY3Q6IFtQQVRDSF0gQVg6IEFY
UHJvcGVydHlOYW1lOjp7Q29sdW1uSW5kZXhSYW5nZSwgUm93SW5kZXhSYW5nZX0KIHByb3BlcnRp
ZXMgYXJlIG5ldmVyIHVwZGF0ZWQgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTI3MDQ5NgogcmRhcjovL3Byb2JsZW0vMTI0MDQ2MjI3CgpSZXZpZXdlZCBieSBDaHJpcyBG
bGVpemFjaC4KClRoaXMgY2FuIGNhdXNlIEFUcyB0byBtaXNzIHRhYmxlIGNvbnRlbnQgaWYgdGhl
eSB1c2UgdGhlIHJvd0luZGV4UmFuZ2UgYW5kIGNvbHVtbkluZGV4UmFuZ2UgQVBJcwphcyBpbnB1
dHMgdG8gdGhlIGNlbGxGb3JDb2x1bW5BbmRSb3cgQVBJLiBGaXggdGhpcyBieSBwb3N0aW5nIGEg
bm90aWZpY2F0aW9uIHdoZW4gdGFibGUgY2VsbHMKbW9kaWZ5IHRoZWlyIHJvdyAvIGNvbHVtbiBp
bmRleC4KClRoaXMgcGF0Y2ggYWxzbyBhZGRzIGEgbmV3IHBvc3ROb3RpZmljYXRpb24gb3Zlcmxv
YWQgdG8gYXZvaWQgdW5uZWNlc3NhcnkgbnVsbC1jaGVja2luZyBhbmQgdmVyYm9zaXR5Cm9mIHBh
c3NpbmcgYSBoYXJkY29kZWQgYG51bGxwdHIgRG9jdW1lbnQqYCBhcmd1bWVudCB0byBwb3N0Tm90
aWZpY2F0aW9uKEFjY2Vzc2liaWxpdHlPYmplY3QqLCBEb2N1bWVudCosIEFYTm90aWZpY2F0aW9u
LCBQb3N0VGFyZ2V0ID0gUG9zdFRhcmdldDo6RWxlbWVudCkuCgpFeGlzdGluZyBub3RpZmljYXRp
b25zIEFYQ29sdW1uSW5kZXhDaGFuZ2VkIGFuZCBBWFJvd0luZGV4Q2hhbmdlZCBhcmUgcmVwdXJw
b3NlZCB0byByZXBvcnQgdGhpcyBkeW5hbWljIGNoYW5nZSwKYW5kIHR3byBuZXcgbm90aWZpY2F0
aW9ucyAoQVhBUklBQ29sdW1uSW5kZXhDaGFuZ2VkIGFuZCBBWEFSSUFSb3dJbmRleENoYW5nZWQp
IGFyZSBhZGRlZCB0byBzdXBwb3J0IHdoYXQgdGhlIGZvcm1lcgp0d28gbm90aWZpY2F0aW9ucyB1
c2VkIHRvIGRvIChhcyB0aGV5IHdlcmUgb25seSBmaXJlZCB3aGVuIGFyaWEtY29saW5kZXggYW5k
IGFyaWEtcm93aW5kZXggY2hhbmdlZCkuCgoqIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZHlu
YW1pYy1hcmlhLWhpZGRlbi1jZWxsLWV4cGVjdGVkLnR4dDogQWRkZWQuCiogTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS9keW5hbWljLWFyaWEtaGlkZGVuLWNlbGwuaHRtbDogQWRkZWQuCiogU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWExvZ2dlci5jcHA6CihXZWJDb3JlOjpvcGVyYXRv
cjw8KToKKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwOgoo
V2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6dmFsdWVDaGFuZ2VkKToKKFdlYkNvcmU6OkFYT2JqZWN0
Q2FjaGU6OmNvbHVtbkluZGV4Q2hhbmdlZCk6CihXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpyb3dJ
bmRleENoYW5nZWQpOgooV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6cG9zdE5vdGlmaWNhdGlvbik6
CihXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpvblRleHRTZWN1cml0eUNoYW5nZWQpOgooV2ViQ29y
ZTo6QVhPYmplY3RDYWNoZTo6b25UaXRsZUNoYW5nZSk6CihXZWJDb3JlOjpBWE9iamVjdENhY2hl
OjpvblZhbGlkaXR5Q2hhbmdlKToKKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmhhbmRsZVJvbGVD
aGFuZ2VkKToKVGFrZSBhIHJlZmVyZW5jZSByYXRoZXIgdGhhbiBhIHBvaW50ZXIgYXMgYWxsIGNh
bGxzaXRlcyBoYXZlIGFjY2VzcyB0byBhCnJlZmVyZW5jZS4KKFdlYkNvcmU6OkFYT2JqZWN0Q2Fj
aGU6OmhhbmRsZUF0dHJpYnV0ZUNoYW5nZSk6CihXZWJDb3JlOjpBWE9iamVjdENhY2hlOjp1cGRh
dGVJc29sYXRlZFRyZWUpOgooV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6c2VsZWN0ZWRUZXh0UmFu
Z2VUaW1lckZpcmVkKToKKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6Om9uV2lkZ2V0VmlzaWJpbGl0
eUNoYW5nZWQpOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5o
OgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHA6
CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0Ojp1cGRhdGVSb2xlKToKKiBTb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwOgooV2ViQ29y
ZTo6QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6dXBkYXRlUm9sZUFmdGVyQ2hpbGRyZW5DcmVh
dGlvbik6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGUu
Y3BwOgooV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVRhYmxlOjpyZWNvbXB1dGVJc0V4cG9zYWJsZSk6
CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5VGFibGU6OmNvbHVtbkNvdW50KToKKiBTb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZUNlbGwuY3BwOgooV2ViQ29yZTo6
QWNjZXNzaWJpbGl0eVRhYmxlQ2VsbDo6c2V0Um93SW5kZXgpOgooV2ViQ29yZTo6QWNjZXNzaWJp
bGl0eVRhYmxlQ2VsbDo6c2V0Q29sdW1uSW5kZXgpOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlQ2VsbC5oOgooV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVRh
YmxlQ2VsbDo6c2V0Um93SW5kZXgpOiBEZWxldGVkLgooV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVRh
YmxlQ2VsbDo6c2V0Q29sdW1uSW5kZXgpOiBEZWxldGVkLgotLS0KIFNvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQVhMb2dnZXIuY3BwICAgICB8ICA2ICsrCiAuLi4vV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwICAgfCA2MCArKysrKysrKysrLS0tLS0KIFNvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oICB8IDE2ICsrKy0KIC4uLi9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwICAgICB8ICAyICstCiAuLi4vQWNjZXNz
aWJpbGl0eVJlbmRlck9iamVjdC5jcHAgICAgICAgICAgICAgfCAgMiArLQogLi4uL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlLmNwcCAgICAgIHwgIDQgKy0KIC4uLi9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlUYWJsZUNlbGwuY3BwICB8IDI0ICsrKysrKwogLi4uL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlQ2VsbC5oICAgIHwgIDQgKy0KIC4uLi9keW5hbWljLWFy
aWEtaGlkZGVuLWNlbGwtZXhwZWN0ZWQudHh0ICAgICB8IDI5ICsrKysrKysKIC4uLi9keW5hbWlj
LWFyaWEtaGlkZGVuLWNlbGwuaHRtbCAgICAgICAgICAgICB8IDc1ICsrKysrKysrKysrKysrKysr
KysKIDEwIGZpbGVzIGNoYW5nZWQsIDE5OCBpbnNlcnRpb25zKCspLCAyNCBkZWxldGlvbnMoLSkK
IGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2R5bmFtaWMtYXJp
YS1oaWRkZW4tY2VsbC1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0
cy9hY2Nlc3NpYmlsaXR5L2R5bmFtaWMtYXJpYS1oaWRkZW4tY2VsbC5odG1sCgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWExvZ2dlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FYTG9nZ2VyLmNwcAppbmRleCBmNWNmMGExODI0YTEuLmZiMGZk
NmQxNzc4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWExvZ2dl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWExvZ2dlci5jcHAKQEAg
LTU1Miw2ICs1NTIsMTIgQEAgVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiBzdHJl
YW0sIEFYT2JqZWN0Q2FjaGU6OkFYTm90aWZpY2F0aW9uIG5vdGlmaWMKICAgICBjYXNlIEFYT2Jq
ZWN0Q2FjaGU6OkFYTm90aWZpY2F0aW9uOjpBWEF1dG9maWxsVHlwZUNoYW5nZWQ6CiAgICAgICAg
IHN0cmVhbSA8PCAiQVhBdXRvZmlsbFR5cGVDaGFuZ2VkIjsKICAgICAgICAgYnJlYWs7CisgICAg
Y2FzZSBBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbjo6QVhBUklBQ29sdW1uSW5kZXhDaGFu
Z2VkOgorICAgICAgICBzdHJlYW0gPDwgIkFYQVJJQUNvbHVtbkluZGV4Q2hhbmdlZCI7CisgICAg
ICAgIGJyZWFrOworICAgIGNhc2UgQVhPYmplY3RDYWNoZTo6QVhOb3RpZmljYXRpb246OkFYQVJJ
QVJvd0luZGV4Q2hhbmdlZDoKKyAgICAgICAgc3RyZWFtIDw8ICJBWEFSSUFSb3dJbmRleENoYW5n
ZWQiOworICAgICAgICBicmVhazsKICAgICBjYXNlIEFYT2JqZWN0Q2FjaGU6OkFYTm90aWZpY2F0
aW9uOjpBWEJyYWlsbGVMYWJlbENoYW5nZWQ6CiAgICAgICAgIHN0cmVhbSA8PCAiQVhCcmFpbGxl
TGFiZWxDaGFuZ2VkIjsKICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAppbmRleCAyYjk0MzBmY2Q4MTkuLjM3MTU3ZTQ0ZTQy
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3Bw
CkBAIC0xNDU2LDkgKzE0NTYsMjEgQEAgdm9pZCBBWE9iamVjdENhY2hlOjpjaGlsZHJlbkNoYW5n
ZWQoQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0KQogCiB2b2lkIEFYT2JqZWN0Q2FjaGU6OnZh
bHVlQ2hhbmdlZChFbGVtZW50KiBlbGVtZW50KQogewotICAgIHBvc3ROb3RpZmljYXRpb24oZWxl
bWVudCwgQVhOb3RpZmljYXRpb246OkFYVmFsdWVDaGFuZ2VkKTsKKyAgICBwb3N0Tm90aWZpY2F0
aW9uKGVsZW1lbnQsIEFYVmFsdWVDaGFuZ2VkKTsKIH0KIAorI2lmIEVOQUJMRShBQ0NFU1NJQklM
SVRZX0lTT0xBVEVEX1RSRUUpCit2b2lkIEFYT2JqZWN0Q2FjaGU6OmNvbHVtbkluZGV4Q2hhbmdl
ZChBY2Nlc3NpYmlsaXR5VGFibGVDZWxsJiBjZWxsKQoreworICAgIHBvc3ROb3RpZmljYXRpb24o
Y2VsbCwgQVhDb2x1bW5JbmRleENoYW5nZWQpOworfQorCit2b2lkIEFYT2JqZWN0Q2FjaGU6OnJv
d0luZGV4Q2hhbmdlZChBY2Nlc3NpYmlsaXR5VGFibGVDZWxsJiBjZWxsKQoreworICAgIHBvc3RO
b3RpZmljYXRpb24oY2VsbCwgQVhSb3dJbmRleENoYW5nZWQpOworfQorI2VuZGlmIC8vIEVOQUJM
RShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisKIHZvaWQgQVhPYmplY3RDYWNoZTo6bm90
aWZpY2F0aW9uUG9zdFRpbWVyRmlyZWQoKQogewogICAgIEFYVFJBQ0UobWFrZVN0cmluZygiQVhP
YmplY3RDYWNoZTo6bm90aWZpY2F0aW9uUG9zdFRpbWVyRmlyZWQgMHgiX3MsIGhleChyZWludGVy
cHJldF9jYXN0PHVpbnRwdHJfdD4odGhpcykpKSk7CkBAIC0xNTkwLDYgKzE2MDIsMTkgQEAgdm9p
ZCBBWE9iamVjdENhY2hlOjpwb3N0Tm90aWZpY2F0aW9uKEFjY2Vzc2liaWxpdHlPYmplY3QqIG9i
amVjdCwgRG9jdW1lbnQqIGRvY3UKICAgICAgICAgbV9ub3RpZmljYXRpb25Qb3N0VGltZXIuc3Rh
cnRPbmVTaG90KDBfcyk7CiB9CiAKK3ZvaWQgQVhPYmplY3RDYWNoZTo6cG9zdE5vdGlmaWNhdGlv
bihBY2Nlc3NpYmlsaXR5T2JqZWN0JiBvYmplY3QsIEFYTm90aWZpY2F0aW9uIG5vdGlmaWNhdGlv
bikKK3sKKyAgICBBWFRSQUNFKG1ha2VTdHJpbmcoIkFYT2JqZWN0Q2FjaGU6OnBvc3ROb3RpZmlj
YXRpb24gMHgiX3MsIGhleChyZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4odGhpcykpKSk7Cisg
ICAgQVhMT0coc3RkOjptYWtlX3BhaXIoJm9iamVjdCwgbm90aWZpY2F0aW9uKSk7CisgICAgQVNT
RVJUKGlzTWFpblRocmVhZCgpKTsKKworICAgIHN0b3BDYWNoaW5nQ29tcHV0ZWRPYmplY3RBdHRy
aWJ1dGVzKCk7CisKKyAgICBtX25vdGlmaWNhdGlvbnNUb1Bvc3QuYXBwZW5kKHN0ZDo6bWFrZV9w
YWlyKCZvYmplY3QsIG5vdGlmaWNhdGlvbikpOworICAgIGlmICghbV9ub3RpZmljYXRpb25Qb3N0
VGltZXIuaXNBY3RpdmUoKSkKKyAgICAgICAgbV9ub3RpZmljYXRpb25Qb3N0VGltZXIuc3RhcnRP
bmVTaG90KDBfcyk7Cit9CisKIHZvaWQgQVhPYmplY3RDYWNoZTo6Y2hlY2tlZFN0YXRlQ2hhbmdl
ZChOb2RlKiBub2RlKQogewogICAgIHBvc3ROb3RpZmljYXRpb24obm9kZSwgQVhDaGVja2VkU3Rh
dGVDaGFuZ2VkKTsKQEAgLTE3OTIsNyArMTgxNyw3IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6b25T
ZWxlY3RlZENoYW5nZWQoTm9kZSogbm9kZSkKIHZvaWQgQVhPYmplY3RDYWNoZTo6b25UZXh0U2Vj
dXJpdHlDaGFuZ2VkKEhUTUxJbnB1dEVsZW1lbnQmIGlucHV0RWxlbWVudCkKIHsKICNpZiBFTkFC
TEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQotICAgIHBvc3ROb3RpZmljYXRpb24oZ2V0
KCZpbnB1dEVsZW1lbnQpLCBudWxscHRyLCBBWFRleHRTZWN1cml0eUNoYW5nZWQpOworICAgIHBv
c3ROb3RpZmljYXRpb24oZ2V0KCZpbnB1dEVsZW1lbnQpLCBBWFRleHRTZWN1cml0eUNoYW5nZWQp
OwogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0oaW5wdXRFbGVtZW50KTsKICNlbmRpZgpAQCAtMTgw
MCwxMiArMTgyNSwxMiBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6Om9uVGV4dFNlY3VyaXR5Q2hhbmdl
ZChIVE1MSW5wdXRFbGVtZW50JiBpbnB1dEVsZW1lbnQpCiAKIHZvaWQgQVhPYmplY3RDYWNoZTo6
b25UaXRsZUNoYW5nZShEb2N1bWVudCYgZG9jdW1lbnQpCiB7Ci0gICAgcG9zdE5vdGlmaWNhdGlv
bihnZXQoJmRvY3VtZW50KSwgbnVsbHB0ciwgQVhUZXh0Q2hhbmdlZCk7CisgICAgcG9zdE5vdGlm
aWNhdGlvbihnZXQoJmRvY3VtZW50KSwgQVhUZXh0Q2hhbmdlZCk7CiB9CiAKIHZvaWQgQVhPYmpl
Y3RDYWNoZTo6b25WYWxpZGl0eUNoYW5nZShFbGVtZW50JiBlbGVtZW50KQogewotICAgIHBvc3RO
b3RpZmljYXRpb24oZ2V0KCZlbGVtZW50KSwgbnVsbHB0ciwgQVhJbnZhbGlkU3RhdHVzQ2hhbmdl
ZCk7CisgICAgcG9zdE5vdGlmaWNhdGlvbihnZXQoJmVsZW1lbnQpLCBBWEludmFsaWRTdGF0dXND
aGFuZ2VkKTsKIH0KIAogdm9pZCBBWE9iamVjdENhY2hlOjpvblRleHRDb21wb3NpdGlvbkNoYW5n
ZShOb2RlJiBub2RlLCBDb21wb3NpdGlvblN0YXRlIGNvbXBvc2l0aW9uU3RhdGUsIGJvb2wgdmFs
dWVDaGFuZ2VkLCBjb25zdCBTdHJpbmcmIHRleHQsIHNpemVfdCBwb3NpdGlvbiwgYm9vbCBoYW5k
bGluZ0FjY2VwdGVkQ2FuZGlkYXRlKQpAQCAtMjQwMCwxMyArMjQyNSwxMyBAQCB2b2lkIEFYT2Jq
ZWN0Q2FjaGU6OmhhbmRsZVJvbGVDaGFuZ2VkKEVsZW1lbnQqIGVsZW1lbnQsIGNvbnN0IEF0b21T
dHJpbmcmIG9sZFZhbAogICAgIG9iamVjdC0+dXBkYXRlUm9sZSgpOwogfQogCi12b2lkIEFYT2Jq
ZWN0Q2FjaGU6OmhhbmRsZVJvbGVDaGFuZ2VkKEFjY2Vzc2liaWxpdHlPYmplY3QqIGF4T2JqZWN0
KQordm9pZCBBWE9iamVjdENhY2hlOjpoYW5kbGVSb2xlQ2hhbmdlZChBY2Nlc3NpYmlsaXR5T2Jq
ZWN0JiBheE9iamVjdCkKIHsKICAgICBzdG9wQ2FjaGluZ0NvbXB1dGVkT2JqZWN0QXR0cmlidXRl
cygpOwotICAgIGF4T2JqZWN0LT5yZWNvbXB1dGVJc0lnbm9yZWQoKTsKKyAgICBheE9iamVjdC5y
ZWNvbXB1dGVJc0lnbm9yZWQoKTsKIAogI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVE
X1RSRUUpCi0gICAgcG9zdE5vdGlmaWNhdGlvbihheE9iamVjdCwgbnVsbHB0ciwgQVhSb2xlQ2hh
bmdlZCk7CisgICAgcG9zdE5vdGlmaWNhdGlvbihheE9iamVjdCwgQVhSb2xlQ2hhbmdlZCk7CiAj
ZW5kaWYKIH0KIApAQCAtMjUxNSw3ICsyNTQwLDcgQEAgdm9pZCBBWE9iamVjdENhY2hlOjpoYW5k
bGVBdHRyaWJ1dGVDaGFuZ2UoRWxlbWVudCogZWxlbWVudCwgY29uc3QgUXVhbGlmaWVkTmFtZSYK
ICAgICBlbHNlIGlmIChhdHRyTmFtZSA9PSBsYW5nQXR0cikKICAgICAgICAgdXBkYXRlSXNvbGF0
ZWRUcmVlKGdldChlbGVtZW50KSwgQVhMYW5ndWFnZUNoYW5nZWQpOwogICAgIGVsc2UgaWYgKGF0
dHJOYW1lID09IG5hbWVBdHRyKQotICAgICAgICBwb3N0Tm90aWZpY2F0aW9uKGdldChlbGVtZW50
KSwgbnVsbHB0ciwgQVhOYW1lQ2hhbmdlZCk7CisgICAgICAgIHBvc3ROb3RpZmljYXRpb24oZ2V0
KGVsZW1lbnQpLCBBWE5hbWVDaGFuZ2VkKTsKICAgICBlbHNlIGlmIChhdHRyTmFtZSA9PSBwbGFj
ZWhvbGRlckF0dHIpCiAgICAgICAgIHBvc3ROb3RpZmljYXRpb24oZWxlbWVudCwgQVhQbGFjZWhv
bGRlckNoYW5nZWQpOwogICAgIGVsc2UgaWYgKGF0dHJOYW1lID09IGhyZWZBdHRyIHx8IGF0dHJO
YW1lID09IHNyY0F0dHIpCkBAIC0yNTc2LDcgKzI2MDEsNyBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6
OmhhbmRsZUF0dHJpYnV0ZUNoYW5nZShFbGVtZW50KiBlbGVtZW50LCBjb25zdCBRdWFsaWZpZWRO
YW1lJgogICAgICAgICBwb3N0Tm90aWZpY2F0aW9uKGVsZW1lbnQsIEFYQ29sdW1uQ291bnRDaGFu
Z2VkKTsKICAgICAgICAgZGVmZXJSZWNvbXB1dGVUYWJsZUlzRXhwb3NlZChkeW5hbWljRG93bmNh
c3Q8SFRNTFRhYmxlRWxlbWVudD4oZWxlbWVudCkpOwogICAgIH0gZWxzZSBpZiAoYXR0ck5hbWUg
PT0gYXJpYV9jb2xpbmRleEF0dHIpIHsKLSAgICAgICAgcG9zdE5vdGlmaWNhdGlvbihlbGVtZW50
LCBBWENvbHVtbkluZGV4Q2hhbmdlZCk7CisgICAgICAgIHBvc3ROb3RpZmljYXRpb24oZWxlbWVu
dCwgQVhBUklBQ29sdW1uSW5kZXhDaGFuZ2VkKTsKICAgICAgICAgcmVjb21wdXRlUGFyZW50VGFi
bGVQcm9wZXJ0aWVzKGVsZW1lbnQsIFRhYmxlUHJvcGVydHk6OkV4cG9zZWQpOwogICAgIH0gZWxz
ZSBpZiAoYXR0ck5hbWUgPT0gYXJpYV9jb2xzcGFuQXR0cikgewogICAgICAgICBwb3N0Tm90aWZp
Y2F0aW9uKGVsZW1lbnQsIEFYQ29sdW1uU3BhbkNoYW5nZWQpOwpAQCAtMjYwMSw3ICsyNjI2LDcg
QEAgdm9pZCBBWE9iamVjdENhY2hlOjpoYW5kbGVBdHRyaWJ1dGVDaGFuZ2UoRWxlbWVudCogZWxl
bWVudCwgY29uc3QgUXVhbGlmaWVkTmFtZSYKICAgICBlbHNlIGlmIChhdHRyTmFtZSA9PSBhcmlh
X3BsYWNlaG9sZGVyQXR0cikKICAgICAgICAgcG9zdE5vdGlmaWNhdGlvbihlbGVtZW50LCBBWFBs
YWNlaG9sZGVyQ2hhbmdlZCk7CiAgICAgZWxzZSBpZiAoYXR0ck5hbWUgPT0gYXJpYV9yb3dpbmRl
eEF0dHIpIHsKLSAgICAgICAgcG9zdE5vdGlmaWNhdGlvbihlbGVtZW50LCBBWFJvd0luZGV4Q2hh
bmdlZCk7CisgICAgICAgIHBvc3ROb3RpZmljYXRpb24oZWxlbWVudCwgQVhBUklBUm93SW5kZXhD
aGFuZ2VkKTsKICAgICAgICAgcmVjb21wdXRlUGFyZW50VGFibGVQcm9wZXJ0aWVzKGVsZW1lbnQs
IHsgVGFibGVQcm9wZXJ0eTo6Q2VsbFNsb3RzLCBUYWJsZVByb3BlcnR5OjpFeHBvc2VkIH0pOwog
ICAgIH0KICAgICBlbHNlIGlmIChhdHRyTmFtZSA9PSBhcmlhX3ZhbHVlbWF4QXR0cikKQEAgLTQz
MDIsNiArNDMyNywxMiBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6OnVwZGF0ZUlzb2xhdGVkVHJlZShj
b25zdCBWZWN0b3I8c3RkOjpwYWlyPFJlZlB0cjxBY2Nlc3NpYmlsaQogICAgICAgICBjYXNlIEFY
QXV0b2ZpbGxUeXBlQ2hhbmdlZDoKICAgICAgICAgICAgIHRyZWUtPnF1ZXVlTm9kZVVwZGF0ZShu
b3RpZmljYXRpb24uZmlyc3QtPm9iamVjdElEKCksIHsgQVhQcm9wZXJ0eU5hbWU6OlZhbHVlQXV0
b2ZpbGxCdXR0b25UeXBlIH0pOwogICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQVhB
UklBQ29sdW1uSW5kZXhDaGFuZ2VkOgorICAgICAgICAgICAgdHJlZS0+cXVldWVOb2RlVXBkYXRl
KG5vdGlmaWNhdGlvbi5maXJzdC0+b2JqZWN0SUQoKSwgeyBBWFByb3BlcnR5TmFtZTo6QVhDb2x1
bW5JbmRleCB9KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEFYQVJJQVJvd0lu
ZGV4Q2hhbmdlZDoKKyAgICAgICAgICAgIHRyZWUtPnF1ZXVlTm9kZVVwZGF0ZShub3RpZmljYXRp
b24uZmlyc3QtPm9iamVjdElEKCksIHsgQVhQcm9wZXJ0eU5hbWU6OkFYUm93SW5kZXggfSk7Cisg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBBWEJyYWlsbGVMYWJlbENoYW5nZWQ6CiAg
ICAgICAgICAgICB0cmVlLT5xdWV1ZU5vZGVVcGRhdGUobm90aWZpY2F0aW9uLmZpcnN0LT5vYmpl
Y3RJRCgpLCB7IEFYUHJvcGVydHlOYW1lOjpCcmFpbGxlTGFiZWwgfSk7CiAgICAgICAgICAgICBi
cmVhazsKQEAgLTQzMjIsOCArNDM1Myw2IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6dXBkYXRlSXNv
bGF0ZWRUcmVlKGNvbnN0IFZlY3RvcjxzdGQ6OnBhaXI8UmVmUHRyPEFjY2Vzc2liaWxpCiAgICAg
ICAgICAgICB0cmVlLT5xdWV1ZU5vZGVVcGRhdGUobm90aWZpY2F0aW9uLmZpcnN0LT5vYmplY3RJ
RCgpLCB7IEFYUHJvcGVydHlOYW1lOjpBWENvbHVtbkNvdW50IH0pOwogICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIGNhc2UgQVhDb2x1bW5JbmRleENoYW5nZWQ6Ci0gICAgICAgICAgICB0cmVl
LT5xdWV1ZU5vZGVVcGRhdGUobm90aWZpY2F0aW9uLmZpcnN0LT5vYmplY3RJRCgpLCB7IEFYUHJv
cGVydHlOYW1lOjpBWENvbHVtbkluZGV4IH0pOwotICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IGNhc2UgQVhDb2x1bW5TcGFuQ2hhbmdlZDoKICAgICAgICAgICAgIHRyZWUtPnF1ZXVlTm9kZVVw
ZGF0ZShub3RpZmljYXRpb24uZmlyc3QtPm9iamVjdElEKCksIHsgQVhQcm9wZXJ0eU5hbWU6OkNv
bHVtbkluZGV4UmFuZ2UgfSk7CiAgICAgICAgICAgICBicmVhazsKQEAgLTQzODksOCArNDQxOCw2
IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6dXBkYXRlSXNvbGF0ZWRUcmVlKGNvbnN0IFZlY3Rvcjxz
dGQ6OnBhaXI8UmVmUHRyPEFjY2Vzc2liaWxpCiAgICAgICAgICAgICB0cmVlLT5xdWV1ZU5vZGVV
cGRhdGUobm90aWZpY2F0aW9uLmZpcnN0LT5vYmplY3RJRCgpLCB7IEFYUHJvcGVydHlOYW1lOjpS
b2xlRGVzY3JpcHRpb24gfSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBBWFJv
d0luZGV4Q2hhbmdlZDoKLSAgICAgICAgICAgIHRyZWUtPnF1ZXVlTm9kZVVwZGF0ZShub3RpZmlj
YXRpb24uZmlyc3QtPm9iamVjdElEKCksIHsgQVhQcm9wZXJ0eU5hbWU6OkFYUm93SW5kZXggfSk7
Ci0gICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBBWFJvd1NwYW5DaGFuZ2VkOgogICAg
ICAgICAgICAgdHJlZS0+cXVldWVOb2RlVXBkYXRlKG5vdGlmaWNhdGlvbi5maXJzdC0+b2JqZWN0
SUQoKSwgeyBBWFByb3BlcnR5TmFtZTo6Um93SW5kZXhSYW5nZSB9KTsKICAgICAgICAgICAgIGJy
ZWFrOwpAQCAtNTE1OSw3ICs1MTg2LDcgQEAgdm9pZCBBWE9iamVjdENhY2hlOjpzZWxlY3RlZFRl
eHRSYW5nZVRpbWVyRmlyZWQoKQogICAgIGlmIChtX2xhc3REZWJvdW5jZWRUZXh0UmFuZ2VPYmpl
Y3QuaXNWYWxpZCgpKSB7CiAgICAgICAgIGZvciAoYXV0byogYXhPYmplY3QgPSBvYmplY3RGb3JJ
RChtX2xhc3REZWJvdW5jZWRUZXh0UmFuZ2VPYmplY3QpOyBheE9iamVjdDsgYXhPYmplY3QgPSBh
eE9iamVjdC0+cGFyZW50T2JqZWN0KCkpIHsKICAgICAgICAgICAgIGlmIChheE9iamVjdC0+aXNU
ZXh0Q29udHJvbCgpKQotICAgICAgICAgICAgICAgIHBvc3ROb3RpZmljYXRpb24oYXhPYmplY3Qs
IG51bGxwdHIsIEFYU2VsZWN0ZWRUZXh0Q2hhbmdlZCk7CisgICAgICAgICAgICAgICAgcG9zdE5v
dGlmaWNhdGlvbigqYXhPYmplY3QsIEFYU2VsZWN0ZWRUZXh0Q2hhbmdlZCk7CiAgICAgICAgIH0K
ICAgICB9CiAKQEAgLTUxODIsOCArNTIwOSw3IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6cHJvY2Vz
c1F1ZXVlZElzb2xhdGVkTm9kZVVwZGF0ZXMoKQogdm9pZCBBWE9iamVjdENhY2hlOjpvbldpZGdl
dFZpc2liaWxpdHlDaGFuZ2VkKFJlbmRlcldpZGdldCogd2lkZ2V0KQogewogI2lmIEVOQUJMRShB
Q0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCi0gICAgaWYgKGF1dG8qIGF4V2lkZ2V0ID0gZ2V0
KHdpZGdldCkpCi0gICAgICAgIHBvc3ROb3RpZmljYXRpb24oYXhXaWRnZXQsIG51bGxwdHIsIEFY
VmlzaWJpbGl0eUNoYW5nZWQpOworICAgIHBvc3ROb3RpZmljYXRpb24oZ2V0KHdpZGdldCksIEFY
VmlzaWJpbGl0eUNoYW5nZWQpOwogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0od2lkZ2V0KTsKICNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENh
Y2hlLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAppbmRl
eCAzMGQ3NjQ3NGVlZTguLjlmM2EzZmVmYzc1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BWE9iamVjdENhY2hlLmgKQEAgLTIwOSw3ICsyMDksMTMgQEAgcHVibGljOgogICAg
IHZvaWQgdmFsdWVDaGFuZ2VkKEVsZW1lbnQqKTsKICAgICB2b2lkIGNoZWNrZWRTdGF0ZUNoYW5n
ZWQoTm9kZSopOwogICAgIHZvaWQgYXV0b2ZpbGxUeXBlQ2hhbmdlZChOb2RlKik7Ci0gICAgdm9p
ZCBoYW5kbGVSb2xlQ2hhbmdlZChBY2Nlc3NpYmlsaXR5T2JqZWN0Kik7CisgICAgdm9pZCBoYW5k
bGVSb2xlQ2hhbmdlZChBY2Nlc3NpYmlsaXR5T2JqZWN0Jik7CisKKyNpZiBFTkFCTEUoQUNDRVNT
SUJJTElUWV9JU09MQVRFRF9UUkVFKQorICAgIHZvaWQgY29sdW1uSW5kZXhDaGFuZ2VkKEFjY2Vz
c2liaWxpdHlUYWJsZUNlbGwmKTsKKyAgICB2b2lkIHJvd0luZGV4Q2hhbmdlZChBY2Nlc3NpYmls
aXR5VGFibGVDZWxsJik7CisjZW5kaWYKKwogICAgIC8vIENhbGxlZCB3aGVuIGEgUmVuZGVyT2Jq
ZWN0IGlzIGNyZWF0ZWQgZm9yIGFuIEVsZW1lbnQuIERlcGVuZGluZyBvbiB0aGUKICAgICAvLyBw
cmVzZW5jZSBvZiBhIFJlbmRlck9iamVjdCwgd2UgbWF5IGhhdmUgaW5zdGF0aWF0ZWQgYW4gQVhS
ZW5kZXJPYmplY3Qgb3IKICAgICAvLyBhbiBBWE5vZGVPYmplY3QuIFRoaXMgb2NjdXJzIHdoZW4g
YW4gRWxlbWVudCB3aXRoIG5vIHJlbmRlcmVyIGlzCkBAIC0zNTQsNiArMzYwLDggQEAgcHVibGlj
OgogICAgICAgICBBWEFubm91bmNlbWVudFJlcXVlc3RlZCwKICAgICAgICAgQVhBdXRvY29ycmVj
dGlvbk9jY3VyZWQsCiAgICAgICAgIEFYQXV0b2ZpbGxUeXBlQ2hhbmdlZCwKKyAgICAgICAgQVhB
UklBQ29sdW1uSW5kZXhDaGFuZ2VkLAorICAgICAgICBBWEFSSUFSb3dJbmRleENoYW5nZWQsCiAg
ICAgICAgIEFYQnJhaWxsZUxhYmVsQ2hhbmdlZCwKICAgICAgICAgQVhCcmFpbGxlUm9sZURlc2Ny
aXB0aW9uQ2hhbmdlZCwKICAgICAgICAgQVhDZWxsU2xvdHNDaGFuZ2VkLApAQCAtNDQ3LDYgKzQ1
NSwxMiBAQCBwdWJsaWM6CiAgICAgdm9pZCBwb3N0Tm90aWZpY2F0aW9uKFJlbmRlck9iamVjdCos
IEFYTm90aWZpY2F0aW9uLCBQb3N0VGFyZ2V0ID0gUG9zdFRhcmdldDo6RWxlbWVudCk7CiAgICAg
dm9pZCBwb3N0Tm90aWZpY2F0aW9uKE5vZGUqLCBBWE5vdGlmaWNhdGlvbiwgUG9zdFRhcmdldCA9
IFBvc3RUYXJnZXQ6OkVsZW1lbnQpOwogICAgIHZvaWQgcG9zdE5vdGlmaWNhdGlvbihBY2Nlc3Np
YmlsaXR5T2JqZWN0KiwgRG9jdW1lbnQqLCBBWE5vdGlmaWNhdGlvbiwgUG9zdFRhcmdldCA9IFBv
c3RUYXJnZXQ6OkVsZW1lbnQpOworICAgIHZvaWQgcG9zdE5vdGlmaWNhdGlvbihBY2Nlc3NpYmls
aXR5T2JqZWN0KiBvYmplY3QsIEFYTm90aWZpY2F0aW9uIG5vdGlmaWNhdGlvbikKKyAgICB7Cisg
ICAgICAgIGlmIChvYmplY3QpCisgICAgICAgICAgICBwb3N0Tm90aWZpY2F0aW9uKCpvYmplY3Qs
IG5vdGlmaWNhdGlvbik7CisgICAgfQorICAgIHZvaWQgcG9zdE5vdGlmaWNhdGlvbihBY2Nlc3Np
YmlsaXR5T2JqZWN0JiwgQVhOb3RpZmljYXRpb24pOwogICAgIC8vIFJlcXVlc3RzIGNsaWVudHMg
dG8gYW5ub3VuY2UgdG8gdGhlIHVzZXIgdGhlIGdpdmVuIG1lc3NhZ2UgaW4gdGhlIHdheSB0aGV5
IGRlZW0gYXBwcm9wcmlhdGUuCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBhbm5vdW5jZShjb25z
dCBTdHJpbmcmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5T2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eU9iamVjdC5jcHAKaW5kZXggYmQwYmE0MDBiN2M3Li5hODZmMmFlMDI5MTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVj
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2Jq
ZWN0LmNwcApAQCAtMjgyNyw3ICsyODI3LDcgQEAgdm9pZCBBY2Nlc3NpYmlsaXR5T2JqZWN0Ojp1
cGRhdGVSb2xlKCkKICAgICBtX3JvbGUgPSBkZXRlcm1pbmVBY2Nlc3NpYmlsaXR5Um9sZSgpOwog
ICAgIGlmIChwcmV2aW91c1JvbGUgIT0gbV9yb2xlKSB7CiAgICAgICAgIGlmIChhdXRvKiBjYWNo
ZSA9IGF4T2JqZWN0Q2FjaGUoKSkKLSAgICAgICAgICAgIGNhY2hlLT5oYW5kbGVSb2xlQ2hhbmdl
ZCh0aGlzKTsKKyAgICAgICAgICAgIGNhY2hlLT5oYW5kbGVSb2xlQ2hhbmdlZCgqdGhpcyk7CiAg
ICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlSZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAppbmRleCA2YTM5NGRkMTdmMjcuLmY4OWNlYjIw
YTk4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCkBAIC0yNTY0LDcgKzI1NjQsNyBAQCB2b2lkIEFj
Y2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OnVwZGF0ZVJvbGVBZnRlckNoaWxkcmVuQ3JlYXRpb24o
KQogCiAgICAgaWYgKHJvbGUgIT0gbV9yb2xlKSB7CiAgICAgICAgIGlmIChhdXRvKiBjYWNoZSA9
IGF4T2JqZWN0Q2FjaGUoKSkKLSAgICAgICAgICAgIGNhY2hlLT5oYW5kbGVSb2xlQ2hhbmdlZCh0
aGlzKTsKKyAgICAgICAgICAgIGNhY2hlLT5oYW5kbGVSb2xlQ2hhbmdlZCgqdGhpcyk7CiAgICAg
fQogfQogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5VGFibGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5VGFibGUuY3BwCmluZGV4IDYyYTQxYjMwYjVmMS4uMDcxYWRkZDZjM2MzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGUuY3Bw
CkBAIC00MDQsNyArNDA0LDcgQEAgdm9pZCBBY2Nlc3NpYmlsaXR5VGFibGU6OnJlY29tcHV0ZUlz
RXhwb3NhYmxlKCkKICAgICBpZiAocHJldmlvdXNseUV4cG9zYWJsZSAhPSBtX2lzRXhwb3NhYmxl
KSB7CiAgICAgICAgIC8vIEEgdGFibGUncyByb2xlIHZhbHVlIGlzIGRlcGVuZGVudCBvbiB3aGV0
aGVyIGl0J3MgZXhwb3NlZCwgc28gbm90aWZ5IHRoZSBjYWNoZSB0aGlzIGhhcyBjaGFuZ2VkLgog
ICAgICAgICBpZiAoYXV0byogY2FjaGUgPSBheE9iamVjdENhY2hlKCkpCi0gICAgICAgICAgICBj
YWNoZS0+aGFuZGxlUm9sZUNoYW5nZWQodGhpcyk7CisgICAgICAgICAgICBjYWNoZS0+aGFuZGxl
Um9sZUNoYW5nZWQoKnRoaXMpOwogCiAgICAgICAgIC8vIEJlZm9yZSByZXNldHRpbmcgb3VyIGV4
aXN0aW5nIGNoaWxkcmVuLCBwb3NzaWJseSBsb3NpbmcgcmVmZXJlbmNlcyB0byB0aGVtLCBlbnN1
cmUgd2UgdXBkYXRlIHRoZWlyIHJvbGUgKHNpbmNlIGEgdGFibGUgY2VsbCdzIHJvbGUgaXMgZGVw
ZW5kZW50IG9uIHdoZXRoZXIgaXRzIHBhcmVudCB0YWJsZSBpcyBleHBvc2FibGUpLgogICAgICAg
ICB1cGRhdGVDaGlsZHJlblJvbGVzKCk7CkBAIC04NDUsNyArODQ1LDcgQEAgdW5zaWduZWQgQWNj
ZXNzaWJpbGl0eVRhYmxlOjpjb2x1bW5Db3VudCgpCiB7CiAgICAgdXBkYXRlQ2hpbGRyZW5JZk5l
Y2Vzc2FyeSgpOwogICAgIAotICAgIHJldHVybiBtX2NvbHVtbnMuc2l6ZSgpOyAgICAKKyAgICBy
ZXR1cm4gbV9jb2x1bW5zLnNpemUoKTsKIH0KICAgICAKIHVuc2lnbmVkIEFjY2Vzc2liaWxpdHlU
YWJsZTo6cm93Q291bnQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5VGFibGVDZWxsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eVRhYmxlQ2VsbC5jcHAKaW5kZXggOTU0NWZkYjk3OGIxLi4yZWEwM2U0
NjJmODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eVRhYmxlQ2VsbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5VGFibGVDZWxsLmNwcApAQCAtMzI4LDYgKzMyOCwzMCBAQCB2b2lkIEFjY2Vzc2li
aWxpdHlUYWJsZUNlbGw6OmVuc3VyZUluZGV4ZXNVcFRvRGF0ZSgpIGNvbnN0CiAgICAgICAgIHBh
cmVudFRhYmxlLT5lbnN1cmVDZWxsSW5kZXhlc1VwVG9EYXRlKCk7CiB9CiAKK3ZvaWQgQWNjZXNz
aWJpbGl0eVRhYmxlQ2VsbDo6c2V0Um93SW5kZXgodW5zaWduZWQgaW5kZXgpCit7CisgICAgaWYg
KG1fcm93SW5kZXggPT0gaW5kZXgpCisgICAgICAgIHJldHVybjsKKyAgICBtX3Jvd0luZGV4ID0g
aW5kZXg7CisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQorICAgIGlm
IChhdXRvKiBjYWNoZSA9IGF4T2JqZWN0Q2FjaGUoKSkKKyAgICAgICAgY2FjaGUtPnJvd0luZGV4
Q2hhbmdlZCgqdGhpcyk7CisjZW5kaWYKK30KKwordm9pZCBBY2Nlc3NpYmlsaXR5VGFibGVDZWxs
OjpzZXRDb2x1bW5JbmRleCh1bnNpZ25lZCBpbmRleCkKK3sKKyAgICBpZiAobV9jb2x1bW5JbmRl
eCA9PSBpbmRleCkKKyAgICAgICAgcmV0dXJuOworICAgIG1fY29sdW1uSW5kZXggPSBpbmRleDsK
KworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisgICAgaWYgKGF1dG8q
IGNhY2hlID0gYXhPYmplY3RDYWNoZSgpKQorICAgICAgICBjYWNoZS0+Y29sdW1uSW5kZXhDaGFu
Z2VkKCp0aGlzKTsKKyNlbmRpZgorfQorCiBzdGQ6OnBhaXI8dW5zaWduZWQsIHVuc2lnbmVkPiBB
Y2Nlc3NpYmlsaXR5VGFibGVDZWxsOjpyb3dJbmRleFJhbmdlKCkgY29uc3QKIHsKICAgICBlbnN1
cmVJbmRleGVzVXBUb0RhdGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlQ2VsbC5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVDZWxsLmgKaW5kZXggODc3NmIxZGEzZWQzLi4xYzYyYmY5
M2U3MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eVRhYmxlQ2VsbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eVRhYmxlQ2VsbC5oCkBAIC02Nyw4ICs2Nyw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHJl
c2V0RWZmZWN0aXZlUm93U3BhbigpIHsgbV9lZmZlY3RpdmVSb3dTcGFuID0gMTsgfQogICAgIHZv
aWQgc2V0QVhDb2xJbmRleEZyb21Sb3coaW50IGluZGV4KSB7IG1fYXhDb2xJbmRleEZyb21Sb3cg
PSBpbmRleDsgfQogCi0gICAgdm9pZCBzZXRSb3dJbmRleCh1bnNpZ25lZCBpbmRleCkgeyBtX3Jv
d0luZGV4ID0gaW5kZXg7IH0KLSAgICB2b2lkIHNldENvbHVtbkluZGV4KHVuc2lnbmVkIGluZGV4
KSB7IG1fY29sdW1uSW5kZXggPSBpbmRleDsgfQorICAgIHZvaWQgc2V0Um93SW5kZXgodW5zaWdu
ZWQpOworICAgIHZvaWQgc2V0Q29sdW1uSW5kZXgodW5zaWduZWQpOwogCiAjaWYgVVNFKEFUU1BJ
KQogICAgIGludCBheENvbHVtblNwYW4oKSBjb25zdDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2FjY2Vzc2liaWxpdHkvZHluYW1pYy1hcmlhLWhpZGRlbi1jZWxsLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZHluYW1pYy1hcmlhLWhpZGRlbi1jZWxsLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjRhYWE5M2RkYjVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZHluYW1pYy1h
cmlhLWhpZGRlbi1jZWxsLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI5IEBACitUaGlzIHRlc3Qg
ZW5zdXJlcyB3ZSByZXBvcnQgdGhlIHJpZ2h0IGluZm9ybWF0aW9uIGZvciB0YWJsZXMgd2l0aCBw
cmVzZW50YXRpb25hbCBjZWxscy4KKworUEFTUzogdGFibGUucm93Q291bnQgPT09IDIKK1BBU1M6
IHRhYmxlLmNvbHVtbkNvdW50ID09PSAyCitQQVNTOiBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5h
Y2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3RoMC0xJykucm93SW5kZXhSYW5nZSgpID09PSAnezAsIDF9
JworUEFTUzogYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0
aDAtMScpLmNvbHVtbkluZGV4UmFuZ2UoKSA9PT0gJ3swLCAxfScKK1BBU1M6IGFjY2Vzc2liaWxp
dHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgndGgwLTInKS5yb3dJbmRleFJhbmdl
KCkgPT09ICd7MCwgMX0nCitQQVNTOiBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxl
RWxlbWVudEJ5SWQoJ3RoMC0yJykuY29sdW1uSW5kZXhSYW5nZSgpID09PSAnezEsIDF9JworUEFT
UzogYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0ZDEtMScp
LnJvd0luZGV4UmFuZ2UoKSA9PT0gJ3sxLCAxfScKK1BBU1M6IGFjY2Vzc2liaWxpdHlDb250cm9s
bGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgndGQxLTEnKS5jb2x1bW5JbmRleFJhbmdlKCkgPT09
ICd7MCwgMX0nCitQQVNTOiBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVu
dEJ5SWQoJ3RkMS0yJykucm93SW5kZXhSYW5nZSgpID09PSAnezEsIDF9JworUEFTUzogYWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0ZDEtMicpLmNvbHVtbklu
ZGV4UmFuZ2UoKSA9PT0gJ3sxLCAxfScKK1BBU1M6IHRhYmxlLmNvbHVtbkNvdW50ID09PSAzCitQ
QVNTOiBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3RoMC0w
LWhpZGRlbicpLnJvd0luZGV4UmFuZ2UoKSA9PT0gJ3swLCAxfScKK1BBU1M6IGFjY2Vzc2liaWxp
dHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgndGgwLTAtaGlkZGVuJykuY29sdW1u
SW5kZXhSYW5nZSgpID09PSAnezAsIDF9JworUEFTUzogYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIu
YWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0aDAtMScpLnJvd0luZGV4UmFuZ2UoKSA9PT0gJ3swLCAx
fScKK1BBU1M6IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgn
dGgwLTEnKS5jb2x1bW5JbmRleFJhbmdlKCkgPT09ICd7MSwgMX0nCitQQVNTOiBhY2Nlc3NpYmls
aXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3RkMS0wLWhpZGRlbicpLnJvd0lu
ZGV4UmFuZ2UoKSA9PT0gJ3sxLCAxfScKK1BBU1M6IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFj
Y2Vzc2libGVFbGVtZW50QnlJZCgndGQxLTAtaGlkZGVuJykuY29sdW1uSW5kZXhSYW5nZSgpID09
PSAnezAsIDF9JworUEFTUzogYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1l
bnRCeUlkKCd0ZDEtMScpLnJvd0luZGV4UmFuZ2UoKSA9PT0gJ3sxLCAxfScKK1BBU1M6IGFjY2Vz
c2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgndGQxLTEnKS5jb2x1bW5J
bmRleFJhbmdlKCkgPT09ICd7MSwgMX0nCitQQVNTOiBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5h
Y2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3RkMS0yJykucm93SW5kZXhSYW5nZSgpID09PSAnezEsIDF9
JworUEFTUzogYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0
ZDEtMicpLmNvbHVtbkluZGV4UmFuZ2UoKSA9PT0gJ3syLCAxfScKKworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCitIZWFkZXIgb25lCUhlYWRlciB0d28J
SGVhZGVyIHRocmVlCitBCUIJQwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0
eS9keW5hbWljLWFyaWEtaGlkZGVuLWNlbGwuaHRtbCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxp
dHkvZHluYW1pYy1hcmlhLWhpZGRlbi1jZWxsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwLi5lZGJlNTZkMzZhOGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9hY2Nlc3NpYmlsaXR5L2R5bmFtaWMtYXJpYS1oaWRkZW4tY2VsbC5odG1sCkBAIC0wLDAg
KzEsNzUgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2FjY2Vzc2liaWxpdHkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKworPHRhYmxlIGlkPSJ0YWJsZSIgdGFiaW5k
ZXg9IjAiPgorICAgIDx0aGVhZCBpZD0idGhlYWQiPgorICAgICAgICA8dHIgaWQ9InRyMCI+Cisg
ICAgICAgICAgICA8dGggaWQ9InRoMC0wLWhpZGRlbiIgYXJpYS1oaWRkZW49InRydWUiPkhlYWRl
ciBvbmU8L3RoPgorICAgICAgICAgICAgPHRoIGlkPSJ0aDAtMSIgdGFiaW5kZXg9IjAiIGFyaWEt
Y29saW5kZXg9IjEiPjxzdHJvbmc+SGVhZGVyIHR3bzwvc3Ryb25nPjwvdGg+CisgICAgICAgICAg
ICA8dGggaWQ9InRoMC0yIiB0YWJpbmRleD0iMCIgYXJpYS1jb2xpbmRleD0iMiI+PHN0cm9uZz5I
ZWFkZXIgdGhyZWU8L3N0cm9uZz48L3RoPgorICAgICAgICA8L3RyPgorICAgIDwvdGhlYWQ+Cisg
ICAgPHRib2R5IGlkPSJ0Ym9keSI+CisgICAgICAgIDx0ciBpZD0idHIxIj4KKyAgICAgICAgICAg
IDx0ZCBpZD0idGQxLTAtaGlkZGVuIiBhcmlhLWhpZGRlbj0idHJ1ZSI+QTwvdGQ+CisgICAgICAg
ICAgICA8dGQgaWQ9InRkMS0xIiB0YWJpbmRleD0iMCIgYXJpYS1jb2xpbmRleD0iMSI+QjwvdGQ+
CisgICAgICAgICAgICA8dGQgaWQ9InRkMS0yIiB0YWJpbmRleD0iMCIgYXJpYS1jb2xpbmRleD0i
MiI+QzwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgPC90Ym9keT4KKzwvdGFibGU+CisKKzxzY3Jp
cHQ+Cit2YXIgb3V0cHV0ID0gIlRoaXMgdGVzdCBlbnN1cmVzIHdlIHJlcG9ydCB0aGUgcmlnaHQg
aW5mb3JtYXRpb24gZm9yIHRhYmxlcyB3aXRoIHByZXNlbnRhdGlvbmFsIGNlbGxzLlxuXG4iOwor
CitpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CisgICAgd2luZG93LmpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgdmFyIHRhYmxlID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJ0YWJsZSIpOworICAgIG91dHB1dCArPSBleHBlY3Qo
InRhYmxlLnJvd0NvdW50IiwgIjIiKTsKKyAgICBvdXRwdXQgKz0gZXhwZWN0KCJ0YWJsZS5jb2x1
bW5Db3VudCIsICIyIik7CisKKyAgICBvdXRwdXQgKz0gZXhwZWN0KCJhY2Nlc3NpYmlsaXR5Q29u
dHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3RoMC0xJykucm93SW5kZXhSYW5nZSgpIiwg
Iid7MCwgMX0nIik7CisgICAgb3V0cHV0ICs9IGV4cGVjdCgiYWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0aDAtMScpLmNvbHVtbkluZGV4UmFuZ2UoKSIsICIn
ezAsIDF9JyIpOworCisgICAgb3V0cHV0ICs9IGV4cGVjdCgiYWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0aDAtMicpLnJvd0luZGV4UmFuZ2UoKSIsICInezAs
IDF9JyIpOworICAgIG91dHB1dCArPSBleHBlY3QoImFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFj
Y2Vzc2libGVFbGVtZW50QnlJZCgndGgwLTInKS5jb2x1bW5JbmRleFJhbmdlKCkiLCAiJ3sxLCAx
fSciKTsKKworICAgIG91dHB1dCArPSBleHBlY3QoImFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFj
Y2Vzc2libGVFbGVtZW50QnlJZCgndGQxLTEnKS5yb3dJbmRleFJhbmdlKCkiLCAiJ3sxLCAxfSci
KTsKKyAgICBvdXRwdXQgKz0gZXhwZWN0KCJhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3Np
YmxlRWxlbWVudEJ5SWQoJ3RkMS0xJykuY29sdW1uSW5kZXhSYW5nZSgpIiwgIid7MCwgMX0nIik7
CisKKyAgICBvdXRwdXQgKz0gZXhwZWN0KCJhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3Np
YmxlRWxlbWVudEJ5SWQoJ3RkMS0yJykucm93SW5kZXhSYW5nZSgpIiwgIid7MSwgMX0nIik7Cisg
ICAgb3V0cHV0ICs9IGV4cGVjdCgiYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVs
ZW1lbnRCeUlkKCd0ZDEtMicpLmNvbHVtbkluZGV4UmFuZ2UoKSIsICInezEsIDF9JyIpOworCisg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRoMC0wLWhpZGRlbiIpLnJlbW92ZUF0dHJpYnV0
ZSgiYXJpYS1oaWRkZW4iKTsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGQxLTAtaGlk
ZGVuIikucmVtb3ZlQXR0cmlidXRlKCJhcmlhLWhpZGRlbiIpOworICAgIHNldFRpbWVvdXQoYXN5
bmMgZnVuY3Rpb24oKSB7CisgICAgICAgIG91dHB1dCArPSBhd2FpdCBleHBlY3RBc3luYygidGFi
bGUuY29sdW1uQ291bnQiLCAiMyIpOworCisgICAgICAgIG91dHB1dCArPSBhd2FpdCBleHBlY3RB
c3luYygiYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0aDAt
MC1oaWRkZW4nKS5yb3dJbmRleFJhbmdlKCkiLCAiJ3swLCAxfSciKTsKKyAgICAgICAgb3V0cHV0
ICs9IGF3YWl0IGV4cGVjdEFzeW5jKCJhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxl
RWxlbWVudEJ5SWQoJ3RoMC0wLWhpZGRlbicpLmNvbHVtbkluZGV4UmFuZ2UoKSIsICInezAsIDF9
JyIpOworCisgICAgICAgIG91dHB1dCArPSBhd2FpdCBleHBlY3RBc3luYygiYWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0aDAtMScpLnJvd0luZGV4UmFuZ2Uo
KSIsICInezAsIDF9JyIpOworICAgICAgICBvdXRwdXQgKz0gYXdhaXQgZXhwZWN0QXN5bmMoImFj
Y2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgndGgwLTEnKS5jb2x1
bW5JbmRleFJhbmdlKCkiLCAiJ3sxLCAxfSciKTsKKworICAgICAgICBvdXRwdXQgKz0gYXdhaXQg
ZXhwZWN0QXN5bmMoImFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJ
ZCgndGQxLTAtaGlkZGVuJykucm93SW5kZXhSYW5nZSgpIiwgIid7MSwgMX0nIik7CisgICAgICAg
IG91dHB1dCArPSBhd2FpdCBleHBlY3RBc3luYygiYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNj
ZXNzaWJsZUVsZW1lbnRCeUlkKCd0ZDEtMC1oaWRkZW4nKS5jb2x1bW5JbmRleFJhbmdlKCkiLCAi
J3swLCAxfSciKTsKKworICAgICAgICBvdXRwdXQgKz0gZXhwZWN0KCJhY2Nlc3NpYmlsaXR5Q29u
dHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3RkMS0xJykucm93SW5kZXhSYW5nZSgpIiwg
Iid7MSwgMX0nIik7CisgICAgICAgIG91dHB1dCArPSBleHBlY3QoImFjY2Vzc2liaWxpdHlDb250
cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgndGQxLTEnKS5jb2x1bW5JbmRleFJhbmdlKCki
LCAiJ3sxLCAxfSciKTsKKworICAgICAgICBvdXRwdXQgKz0gZXhwZWN0KCJhY2Nlc3NpYmlsaXR5
Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3RkMS0yJykucm93SW5kZXhSYW5nZSgp
IiwgIid7MSwgMX0nIik7CisgICAgICAgIG91dHB1dCArPSBleHBlY3QoImFjY2Vzc2liaWxpdHlD
b250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgndGQxLTInKS5jb2x1bW5JbmRleFJhbmdl
KCkiLCAiJ3syLCAxfSciKTsKKworICAgICAgICBkZWJ1ZyhvdXRwdXQpOworICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICB9LCAwKTsKK30KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgor
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>