<?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>223556</bug_id>
          
          <creation_ts>2021-03-20 10:41:34 -0700</creation_ts>
          <short_desc>AX: textRectsFromMarkers always fails</short_desc>
          <delta_ts>2021-04-02 10:41:56 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Accessibility</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          <dependson>223746</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="chris fleizach">cfleizach</reporter>
          <assigned_to name="chris fleizach">cfleizach</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>samuel_white</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1742024</commentid>
    <comment_count>0</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2021-03-20 10:41:34 -0700</bug_when>
    <thetext>The textRectsFromMarkers:text: method is always failing to return a valid answer because these methods to extend the search range

auto startPosition = visiblePositionForPositionWithOffset(makeContainerOffsetPosition(originalRange.start), -textLength);
auto endPosition = visiblePositionForPositionWithOffset(makeContainerOffsetPosition(originalRange.start), 2 * textLength);

create a range that can&apos;t be iterated</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742025</commentid>
    <comment_count>1</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2021-03-20 10:41:49 -0700</bug_when>
    <thetext>&lt;rdar://74256003&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742027</commentid>
    <comment_count>2</comment_count>
      <attachid>423817</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2021-03-20 10:47:19 -0700</bug_when>
    <thetext>Created attachment 423817
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742259</commentid>
    <comment_count>3</comment_count>
      <attachid>423895</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2021-03-22 09:17:20 -0700</bug_when>
    <thetext>Created attachment 423895
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742598</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-22 17:22:06 -0700</bug_when>
    <thetext>Committed r274826: &lt;https://commits.webkit.org/r274826&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 423895.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743749</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2021-03-25 06:40:31 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 223746</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743789</commentid>
    <comment_count>6</comment_count>
      <attachid>424250</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2021-03-25 09:16:09 -0700</bug_when>
    <thetext>Created attachment 424250
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745525</commentid>
    <comment_count>7</comment_count>
      <attachid>424737</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2021-03-31 00:07:10 -0700</bug_when>
    <thetext>Created attachment 424737
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746566</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-02 10:41:54 -0700</bug_when>
    <thetext>Committed r275425: &lt;https://commits.webkit.org/r275425&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 424737.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423817</attachid>
            <date>2021-03-20 10:47:19 -0700</date>
            <delta_ts>2021-03-22 09:17:20 -0700</delta_ts>
            <desc>patch</desc>
            <filename>file_223556.txt</filename>
            <type>text/plain</type>
            <size>5281</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
Zw0KaW5kZXggNTY3YmE0ODM2MGFkLi4xYzhjZGY0MzRjYWYgMTAwNjQ0DQotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cNCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZw0KQEAgLTEsMyArMSwx
MyBAQA0KKzIwMjEtMDMtMjAgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4N
CisNCisgICAgICAgIEFYOiB0ZXh0UmVjdHNGcm9tTWFya2VycyBhbHdheXMgZmFpbHMNCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM1NTYNCisgICAg
ICAgIDxyZGFyOi8vNzQyNTYwMDM+DQorDQorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4NCisNCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL3RleHQtcmVj
dHMtZm9yLXJhbmdlLW1hdGNoZXMuaHRtbDogQWRkZWQuDQorDQogMjAyMS0wMy0xOSAgQ2hyaXMg
RHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPg0KIA0KICAgICAgICAgUmVzeW5jIHdlYmF1ZGlvIHdl
Yi1wbGF0Zm9ybS10ZXN0cyBmcm9tIHVwc3RyZWFtDQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL3RleHQtcmVjdHMtZm9yLXJhbmdlLW1hdGNoZXMu
aHRtbCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvaW9zLXNpbXVsYXRvci90ZXh0LXJlY3Rz
LWZvci1yYW5nZS1tYXRjaGVzLmh0bWwNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAw
MDAwMDAwMDAuLjZlNWRlY2QzMzdhMQ0KLS0tIC9kZXYvbnVsbA0KKysrIGIvTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL3RleHQtcmVjdHMtZm9yLXJhbmdlLW1hdGNoZXMu
aHRtbA0KQEAgLTAsMCArMSwzNiBAQA0KKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4NCis8aHRtbD4NCisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+DQorICAgIDxib2R5IGlkPSJib2R5IiB0YWJpbmRl
eD0iMCI+DQorICAgICAgICA8ZGl2IHRhYmluZGV4PSIwIiBpZD0idGV4dCI+DQorICAgICAgICBU
aGlzIGlzIHNvbWUgdGVzdGluZyBjb250ZW50LiANCisgICAgICAgIDwvZGl2Pg0KKw0KKyAgICAg
ICAgPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+DQorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4NCisNCisgICAgICAgIDxzY3JpcHQ+DQorDQorICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdHMgdGhhdCB3ZSBhcmUgYWJsZSB0byBnZXQgdGhlIHJlY3RzIGZvciBhIHJhbmdl
IGNvcnJlY3RseSB3aXRoIG1hdGNoaW5nIHRleHQuIik7DQorDQorICAgICAgICAgICAgaWYgKHdp
bmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgew0KKyAgICAgICAgICAgICAgICBhY2Nlc3Np
YmlsaXR5Q29udHJvbGxlci5lbmFibGVFbmhhbmNlZEFjY2Vzc2liaWxpdHkodHJ1ZSk7DQorICAg
ICAgICAgICAgICAgIHZhciB3ZWJBcmVhID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIucm9vdEVs
ZW1lbnQuY2hpbGRBdEluZGV4KDApOw0KKyAgICAgICAgICAgICAgICB2YXIgdGV4dCA9IGFjY2Vz
c2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgidGV4dCIpLmNoaWxkQXRJ
bmRleCgwKTsNCisNCisgICAgICAgICAgICAgICAgLy8gR2V0IHRoZSBtYXJrZXIgcmFuZ2UgZm9y
IHdob2xlIHRleHQgcmFuZ2UNCisgICAgICAgICAgICAgICAgdmFyIHN0YXJ0TWFya2VyID0gdGV4
dC5zdGFydFRleHRNYXJrZXJGb3JUZXh0TWFya2VyUmFuZ2UodGV4dC50ZXh0TWFya2VyUmFuZ2VG
b3JFbGVtZW50KHRleHQpKTsNCisgICAgICAgICAgICAgICAgdmFyIGVuZE1hcmtlciA9IHRleHQu
ZW5kVGV4dE1hcmtlckZvclRleHRNYXJrZXJSYW5nZSh0ZXh0LnRleHRNYXJrZXJSYW5nZUZvckVs
ZW1lbnQodGV4dCkpOw0KKyAgICAgICAgICAgICAgICAgICAgDQorICAgICAgICAgICAgICAgIHZh
ciBtYXJrZXJSYW5nZSA9IHRleHQudGV4dE1hcmtlclJhbmdlRm9yTWFya2VycyhzdGFydE1hcmtl
ciwgZW5kTWFya2VyKTsNCisgICAgICAgICAgICAgICAgdmFyIHJlY3RzRm9yUmFuZ2UgPSB0ZXh0
LnJlY3RzRm9yVGV4dE1hcmtlclJhbmdlKG1hcmtlclJhbmdlLCAidGVzdGluZyIpOw0KKyAgICAg
ICAgICAgICAgICBkZWJ1ZygicmVjdHNSYW5nZTogIiArIHJlY3RzRm9yUmFuZ2UpOw0KKyAgICAg
ICAgICAgIH0NCisNCisgICAgICAgICAgICA8L3NjcmlwdD4NCisNCisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4NCisNCisgICAg
PC9ib2R5Pg0KKzwvaHRtbD4NCisNCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cNCmluZGV4IGFkOTIyNjk5ODFkNy4uODc5ZGZm
YTkyMGM1IDEwMDY0NA0KLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nDQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cNCkBAIC0xLDMgKzEsMTkgQEANCisyMDIxLTAzLTIwICBDaHJp
cyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+DQorDQorICAgICAgICBBWDogdGV4dFJl
Y3RzRnJvbU1hcmtlcnMgYWx3YXlzIGZhaWxzDQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNTU2DQorICAgICAgICA8cmRhcjovLzc0MjU2MDAzPg0K
Kw0KKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuDQorDQorICAgICAgICBUaGUg
dGV4dFJlY3RzRnJvbU1hcmtlcnM6dGV4dDogbWV0aG9kIGlzIGFsd2F5cyBmYWlsaW5nIHRvIHJl
dHVybiBhIHZhbGlkIGFuc3dlciBiZWNhdXNlIHdoZW4gd2UgdHJ5IHRvIGV4dGVuZA0KKyAgICAg
ICAgdGhlIHNlYXJjaCByYW5nZSBvZiB0ZXh0IHRvIHNlYXJjaCwgd2UncmUgY3JlYXRpbmcgYSBy
YW5nZSB0aGF0IGNhbid0IGJlIGl0ZXJhdGVkIHdpdGggYSBDaGFyYWN0ZXJJdGVyYXRvcg0KKw0K
KyAgICAgICAgVGVzdDogYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL3RleHQtcmVjdHMtZm9y
LXJhbmdlLW1hdGNoZXMuaHRtbA0KKw0KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0
Q2FjaGUuY3BwOg0KKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OnJhbmdlTWF0Y2hl
c1RleHROZWFyUmFuZ2UpOg0KKw0KIDIwMjEtMDMtMTkgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBw
bGUuY29tPg0KIA0KICAgICAgICAgTGluayBhZ2FpbnN0IHRoZSBBTkdMRSBTaGFyZWQgTGlicmFy
eQ0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNo
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwDQpp
bmRleCBkYmIxYzRkYWMwMjQuLjIwMTAyNmNmY2UzYiAxMDA2NDQNCi0tLSBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHANCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHANCkBAIC0yMDMzLDE0ICsyMDMzLDIzIEBA
IFNpbXBsZVJhbmdlIEFYT2JqZWN0Q2FjaGU6OnJhbmdlRm9yTm9kZUNvbnRlbnRzKE5vZGUmIG5v
ZGUpDQogICAgIA0KIE9wdGlvbmFsPFNpbXBsZVJhbmdlPiBBWE9iamVjdENhY2hlOjpyYW5nZU1h
dGNoZXNUZXh0TmVhclJhbmdlKGNvbnN0IFNpbXBsZVJhbmdlJiBvcmlnaW5hbFJhbmdlLCBjb25z
dCBTdHJpbmcmIG1hdGNoVGV4dCkNCiB7DQotICAgIC8vIENyZWF0ZSBhIGxhcmdlIGVub3VnaCBy
YW5nZSBmb3Igc2VhcmNoaW5nIHRoZSB0ZXh0IHdpdGhpbi4NCisgICAgLy8gQ3JlYXRlIGEgbGFy
Z2UgZW5vdWdoIHJhbmdlIHRvIGZpbmQgdGhlIHRleHQgd2l0aGluIGl0IHRoYXQncyBiZWluZyBz
ZWFyY2hlZCBmb3IuDQogICAgIHVuc2lnbmVkIHRleHRMZW5ndGggPSBtYXRjaFRleHQubGVuZ3Ro
KCk7DQotICAgIGF1dG8gc3RhcnRQb3NpdGlvbiA9IHZpc2libGVQb3NpdGlvbkZvclBvc2l0aW9u
V2l0aE9mZnNldChtYWtlQ29udGFpbmVyT2Zmc2V0UG9zaXRpb24ob3JpZ2luYWxSYW5nZS5zdGFy
dCksIC10ZXh0TGVuZ3RoKTsNCi0gICAgYXV0byBlbmRQb3NpdGlvbiA9IHZpc2libGVQb3NpdGlv
bkZvclBvc2l0aW9uV2l0aE9mZnNldChtYWtlQ29udGFpbmVyT2Zmc2V0UG9zaXRpb24ob3JpZ2lu
YWxSYW5nZS5zdGFydCksIDIgKiB0ZXh0TGVuZ3RoKTsNCi0gICAgaWYgKHN0YXJ0UG9zaXRpb24u
aXNOdWxsKCkpDQotICAgICAgICBzdGFydFBvc2l0aW9uID0gZmlyc3RQb3NpdGlvbkluT3JCZWZv
cmVOb2RlKG9yaWdpbmFsUmFuZ2Uuc3RhcnQuY29udGFpbmVyLnB0cigpKTsNCi0gICAgaWYgKGVu
ZFBvc2l0aW9uLmlzTnVsbCgpKQ0KLSAgICAgICAgZW5kUG9zaXRpb24gPSBsYXN0UG9zaXRpb25J
bk9yQWZ0ZXJOb2RlKG9yaWdpbmFsUmFuZ2UuZW5kLmNvbnRhaW5lci5wdHIoKSk7DQorICAgIGF1
dG8gc3RhcnRQb3NpdGlvbiA9IFZpc2libGVQb3NpdGlvbihtYWtlQ29udGFpbmVyT2Zmc2V0UG9z
aXRpb24ob3JpZ2luYWxSYW5nZS5zdGFydCkpOw0KKyAgICBmb3IgKHVuc2lnbmVkIGsgPSAwOyBr
IDwgdGV4dExlbmd0aDsgaysrKSB7DQorICAgICAgICBhdXRvIHRlc3RQb3NpdGlvbiA9IHN0YXJ0
UG9zaXRpb24ucHJldmlvdXMoKTsNCisgICAgICAgIGlmICh0ZXN0UG9zaXRpb24uaXNOdWxsKCkp
DQorICAgICAgICAgICAgYnJlYWs7DQorICAgICAgICBzdGFydFBvc2l0aW9uID0gdGVzdFBvc2l0
aW9uOw0KKyAgICB9DQorDQorICAgIGF1dG8gZW5kUG9zaXRpb24gPSBWaXNpYmxlUG9zaXRpb24o
bWFrZUNvbnRhaW5lck9mZnNldFBvc2l0aW9uKG9yaWdpbmFsUmFuZ2UuZW5kKSk7DQorICAgIGZv
ciAodW5zaWduZWQgayA9IDA7IGsgPCB0ZXh0TGVuZ3RoOyBrKyspIHsNCisgICAgICAgIGF1dG8g
dGVzdFBvc2l0aW9uID0gZW5kUG9zaXRpb24ubmV4dCgpOw0KKyAgICAgICAgaWYgKHRlc3RQb3Np
dGlvbi5pc051bGwoKSkNCisgICAgICAgICAgICBicmVhazsNCisgICAgICAgIGVuZFBvc2l0aW9u
ID0gdGVzdFBvc2l0aW9uOw0KKyAgICB9DQogDQogICAgIGF1dG8gc2VhcmNoUmFuZ2UgPSBtYWtl
U2ltcGxlUmFuZ2Uoc3RhcnRQb3NpdGlvbiwgZW5kUG9zaXRpb24pOw0KICAgICBpZiAoIXNlYXJj
aFJhbmdlIHx8IHNlYXJjaFJhbmdlLT5jb2xsYXBzZWQoKSkNCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423895</attachid>
            <date>2021-03-22 09:17:20 -0700</date>
            <delta_ts>2021-03-25 09:16:09 -0700</delta_ts>
            <desc>patch</desc>
            <filename>file_223556.txt</filename>
            <type>text/plain</type>
            <size>5627</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
Zw0KaW5kZXggNTY3YmE0ODM2MGFkLi45M2RjOTcwODk1ZmUgMTAwNjQ0DQotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cNCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZw0KQEAgLTEsMyArMSwx
NCBAQA0KKzIwMjEtMDMtMjAgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4N
CisNCisgICAgICAgIEFYOiB0ZXh0UmVjdHNGcm9tTWFya2VycyBhbHdheXMgZmFpbHMNCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM1NTYNCisgICAg
ICAgIDxyZGFyOi8vNzQyNTYwMDM+DQorDQorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4NCisNCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL3RleHQtcmVj
dHMtZm9yLXJhbmdlLW1hdGNoZXMuaHRtbDogQWRkZWQuDQorICAgICAgICAqIGFjY2Vzc2liaWxp
dHkvaW9zLXNpbXVsYXRvci90ZXh0LXJlY3RzLWZvci1yYW5nZS1tYXRjaGVzLWV4cGVjdGVkLnR4
dDogQWRkZWQuDQorDQogMjAyMS0wMy0xOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29t
Pg0KIA0KICAgICAgICAgUmVzeW5jIHdlYmF1ZGlvIHdlYi1wbGF0Zm9ybS10ZXN0cyBmcm9tIHVw
c3RyZWFtDQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxh
dG9yL3RleHQtcmVjdHMtZm9yLXJhbmdlLW1hdGNoZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL3RleHQtcmVjdHMtZm9yLXJhbmdlLW1hdGNo
ZXMtZXhwZWN0ZWQudHh0DQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMDAw
Li42ODkzODI4ZDkyMGINCi0tLSAvZGV2L251bGwNCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2li
aWxpdHkvaW9zLXNpbXVsYXRvci90ZXh0LXJlY3RzLWZvci1yYW5nZS1tYXRjaGVzLWV4cGVjdGVk
LnR4dA0KQEAgLTAsMCArMSwxMSBAQA0KK1RoaXMgaXMgc29tZSB0ZXN0aW5nIGNvbnRlbnQuDQor
VGhpcyB0ZXN0cyB0aGF0IHdlIGFyZSBhYmxlIHRvIGdldCB0aGUgcmVjdHMgZm9yIGEgcmFuZ2Ug
Y29ycmVjdGx5IHdpdGggbWF0Y2hpbmcgdGV4dC4NCisNCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuDQorDQorDQorUmVjdCBmb3IgcmFuZ2Ugc2hvdWxkIG5vdCBiZSBlbXB0eTogTlNSZWN0OiB7
ezc1LCAyNn0sIHszNywgMTd9fQ0KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUNCisN
CitURVNUIENPTVBMRVRFDQorDQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0
eS9pb3Mtc2ltdWxhdG9yL3RleHQtcmVjdHMtZm9yLXJhbmdlLW1hdGNoZXMuaHRtbCBiL0xheW91
dFRlc3RzL2FjY2Vzc2liaWxpdHkvaW9zLXNpbXVsYXRvci90ZXh0LXJlY3RzLWZvci1yYW5nZS1t
YXRjaGVzLmh0bWwNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwMDAuLmQ5
NzhlMTFmMTBkNw0KLS0tIC9kZXYvbnVsbA0KKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0
eS9pb3Mtc2ltdWxhdG9yL3RleHQtcmVjdHMtZm9yLXJhbmdlLW1hdGNoZXMuaHRtbA0KQEAgLTAs
MCArMSwzMCBAQA0KKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4NCis8aHRtbD4NCisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+DQorICAgIDxib2R5IGlkPSJib2R5IiB0YWJpbmRleD0iMCI+DQorICAg
ICAgICA8ZGl2IHRhYmluZGV4PSIwIiBpZD0idGV4dCI+DQorICAgICAgICBUaGlzIGlzIHNvbWUg
dGVzdGluZyBjb250ZW50LiANCisgICAgICAgIDwvZGl2Pg0KKw0KKyAgICAgICAgPHAgaWQ9ImRl
c2NyaXB0aW9uIj48L3A+DQorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4NCisNCisg
ICAgICAgIDxzY3JpcHQ+DQorDQorICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMg
dGhhdCB3ZSBhcmUgYWJsZSB0byBnZXQgdGhlIHJlY3RzIGZvciBhIHJhbmdlIGNvcnJlY3RseSB3
aXRoIG1hdGNoaW5nIHRleHQuIik7DQorDQorICAgICAgICAgICAgaWYgKHdpbmRvdy5hY2Nlc3Np
YmlsaXR5Q29udHJvbGxlcikgew0KKyAgICAgICAgICAgICAgICBhY2Nlc3NpYmlsaXR5Q29udHJv
bGxlci5lbmFibGVFbmhhbmNlZEFjY2Vzc2liaWxpdHkodHJ1ZSk7DQorICAgICAgICAgICAgICAg
IHZhciB0ZXh0ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIucm9vdEVsZW1lbnQuY2hpbGRBdElu
ZGV4KDApLmNoaWxkQXRJbmRleCgwKTsNCisNCisgICAgICAgICAgICAgICAgdmFyIHJlY3RzRm9y
UmFuZ2UgPSB0ZXh0LnJlY3RzRm9yVGV4dE1hcmtlclJhbmdlKHRleHQudGV4dE1hcmtlclJhbmdl
Rm9yRWxlbWVudCh0ZXh0KSwgInRlc3RpbmciKTsNCisgICAgICAgICAgICAgICAgZGVidWcoIlJl
Y3QgZm9yIHJhbmdlIHNob3VsZCBub3QgYmUgZW1wdHk6ICIgKyByZWN0c0ZvclJhbmdlKTsNCisg
ICAgICAgICAgICB9DQorDQorICAgICAgICAgICAgPC9zY3JpcHQ+DQorDQorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+DQorDQor
ICAgIDwvYm9keT4NCis8L2h0bWw+DQorDQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nDQppbmRleCBhZDkyMjY5OTgxZDcuLjg3
OWRmZmE5MjBjNSAxMDA2NDQNCi0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZw0KKysrIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nDQpAQCAtMSwzICsxLDE5IEBADQorMjAyMS0wMy0yMCAg
Q2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPg0KKw0KKyAgICAgICAgQVg6IHRl
eHRSZWN0c0Zyb21NYXJrZXJzIGFsd2F5cyBmYWlscw0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzU1Ng0KKyAgICAgICAgPHJkYXI6Ly83NDI1NjAw
Mz4NCisNCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLg0KKw0KKyAgICAgICAg
VGhlIHRleHRSZWN0c0Zyb21NYXJrZXJzOnRleHQ6IG1ldGhvZCBpcyBhbHdheXMgZmFpbGluZyB0
byByZXR1cm4gYSB2YWxpZCBhbnN3ZXIgYmVjYXVzZSB3aGVuIHdlIHRyeSB0byBleHRlbmQNCisg
ICAgICAgIHRoZSBzZWFyY2ggcmFuZ2Ugb2YgdGV4dCB0byBzZWFyY2gsIHdlJ3JlIGNyZWF0aW5n
IGEgcmFuZ2UgdGhhdCBjYW4ndCBiZSBpdGVyYXRlZCB3aXRoIGEgQ2hhcmFjdGVySXRlcmF0b3IN
CisNCisgICAgICAgIFRlc3Q6IGFjY2Vzc2liaWxpdHkvaW9zLXNpbXVsYXRvci90ZXh0LXJlY3Rz
LWZvci1yYW5nZS1tYXRjaGVzLmh0bWwNCisNCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BWE9i
amVjdENhY2hlLmNwcDoNCisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpyYW5nZU1h
dGNoZXNUZXh0TmVhclJhbmdlKToNCisNCiAyMDIxLTAzLTE5ICBEZWFuIEphY2tzb24gIDxkaW5v
QGFwcGxlLmNvbT4NCiANCiAgICAgICAgIExpbmsgYWdhaW5zdCB0aGUgQU5HTEUgU2hhcmVkIExp
YnJhcnkNCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0
Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNw
cA0KaW5kZXggZGJiMWM0ZGFjMDI0Li4yMDEwMjZjZmNlM2IgMTAwNjQ0DQotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwDQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwDQpAQCAtMjAzMywxNCArMjAzMywy
MyBAQCBTaW1wbGVSYW5nZSBBWE9iamVjdENhY2hlOjpyYW5nZUZvck5vZGVDb250ZW50cyhOb2Rl
JiBub2RlKQ0KICAgICANCiBPcHRpb25hbDxTaW1wbGVSYW5nZT4gQVhPYmplY3RDYWNoZTo6cmFu
Z2VNYXRjaGVzVGV4dE5lYXJSYW5nZShjb25zdCBTaW1wbGVSYW5nZSYgb3JpZ2luYWxSYW5nZSwg
Y29uc3QgU3RyaW5nJiBtYXRjaFRleHQpDQogew0KLSAgICAvLyBDcmVhdGUgYSBsYXJnZSBlbm91
Z2ggcmFuZ2UgZm9yIHNlYXJjaGluZyB0aGUgdGV4dCB3aXRoaW4uDQorICAgIC8vIENyZWF0ZSBh
IGxhcmdlIGVub3VnaCByYW5nZSB0byBmaW5kIHRoZSB0ZXh0IHdpdGhpbiBpdCB0aGF0J3MgYmVp
bmcgc2VhcmNoZWQgZm9yLg0KICAgICB1bnNpZ25lZCB0ZXh0TGVuZ3RoID0gbWF0Y2hUZXh0Lmxl
bmd0aCgpOw0KLSAgICBhdXRvIHN0YXJ0UG9zaXRpb24gPSB2aXNpYmxlUG9zaXRpb25Gb3JQb3Np
dGlvbldpdGhPZmZzZXQobWFrZUNvbnRhaW5lck9mZnNldFBvc2l0aW9uKG9yaWdpbmFsUmFuZ2Uu
c3RhcnQpLCAtdGV4dExlbmd0aCk7DQotICAgIGF1dG8gZW5kUG9zaXRpb24gPSB2aXNpYmxlUG9z
aXRpb25Gb3JQb3NpdGlvbldpdGhPZmZzZXQobWFrZUNvbnRhaW5lck9mZnNldFBvc2l0aW9uKG9y
aWdpbmFsUmFuZ2Uuc3RhcnQpLCAyICogdGV4dExlbmd0aCk7DQotICAgIGlmIChzdGFydFBvc2l0
aW9uLmlzTnVsbCgpKQ0KLSAgICAgICAgc3RhcnRQb3NpdGlvbiA9IGZpcnN0UG9zaXRpb25Jbk9y
QmVmb3JlTm9kZShvcmlnaW5hbFJhbmdlLnN0YXJ0LmNvbnRhaW5lci5wdHIoKSk7DQotICAgIGlm
IChlbmRQb3NpdGlvbi5pc051bGwoKSkNCi0gICAgICAgIGVuZFBvc2l0aW9uID0gbGFzdFBvc2l0
aW9uSW5PckFmdGVyTm9kZShvcmlnaW5hbFJhbmdlLmVuZC5jb250YWluZXIucHRyKCkpOw0KKyAg
ICBhdXRvIHN0YXJ0UG9zaXRpb24gPSBWaXNpYmxlUG9zaXRpb24obWFrZUNvbnRhaW5lck9mZnNl
dFBvc2l0aW9uKG9yaWdpbmFsUmFuZ2Uuc3RhcnQpKTsNCisgICAgZm9yICh1bnNpZ25lZCBrID0g
MDsgayA8IHRleHRMZW5ndGg7IGsrKykgew0KKyAgICAgICAgYXV0byB0ZXN0UG9zaXRpb24gPSBz
dGFydFBvc2l0aW9uLnByZXZpb3VzKCk7DQorICAgICAgICBpZiAodGVzdFBvc2l0aW9uLmlzTnVs
bCgpKQ0KKyAgICAgICAgICAgIGJyZWFrOw0KKyAgICAgICAgc3RhcnRQb3NpdGlvbiA9IHRlc3RQ
b3NpdGlvbjsNCisgICAgfQ0KKw0KKyAgICBhdXRvIGVuZFBvc2l0aW9uID0gVmlzaWJsZVBvc2l0
aW9uKG1ha2VDb250YWluZXJPZmZzZXRQb3NpdGlvbihvcmlnaW5hbFJhbmdlLmVuZCkpOw0KKyAg
ICBmb3IgKHVuc2lnbmVkIGsgPSAwOyBrIDwgdGV4dExlbmd0aDsgaysrKSB7DQorICAgICAgICBh
dXRvIHRlc3RQb3NpdGlvbiA9IGVuZFBvc2l0aW9uLm5leHQoKTsNCisgICAgICAgIGlmICh0ZXN0
UG9zaXRpb24uaXNOdWxsKCkpDQorICAgICAgICAgICAgYnJlYWs7DQorICAgICAgICBlbmRQb3Np
dGlvbiA9IHRlc3RQb3NpdGlvbjsNCisgICAgfQ0KIA0KICAgICBhdXRvIHNlYXJjaFJhbmdlID0g
bWFrZVNpbXBsZVJhbmdlKHN0YXJ0UG9zaXRpb24sIGVuZFBvc2l0aW9uKTsNCiAgICAgaWYgKCFz
ZWFyY2hSYW5nZSB8fCBzZWFyY2hSYW5nZS0+Y29sbGFwc2VkKCkpDQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424250</attachid>
            <date>2021-03-25 09:16:09 -0700</date>
            <delta_ts>2021-03-31 00:07:10 -0700</delta_ts>
            <desc>patch</desc>
            <filename>file_223556.txt</filename>
            <type>text/plain</type>
            <size>13426</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
Zw0KaW5kZXggMDEyY2I3YWU5YTQxLi5hOTVhMzJjM2IwNmQgMTAwNjQ0DQotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cNCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZw0KQEAgLTEsMyArMSwx
NCBAQA0KKzIwMjEtMDMtMjUgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4N
CisNCisgICAgICAgIEFYOiB0ZXh0UmVjdHNGcm9tTWFya2VycyBhbHdheXMgZmFpbHMNCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM1NTYNCisgICAg
ICAgIDxyZGFyOi8vNzQyNTYwMDM+DQorDQorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4NCisNCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL3RleHQtcmVj
dHMtZm9yLXJhbmdlLW1hdGNoZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4NCisgICAgICAgICogYWNj
ZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL3RleHQtcmVjdHMtZm9yLXJhbmdlLW1hdGNoZXMuaHRt
bDogQWRkZWQuDQorDQogMjAyMS0wMy0yNSAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdl
YmtpdC5vcmc+DQogDQogICAgICAgICBVbnJldmlld2VkLCByZXZlcnRpbmcgcjI3NDgyNiBhbmQg
cjI3NDk2OC4NCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2lvcy1zaW11
bGF0b3IvdGV4dC1yZWN0cy1mb3ItcmFuZ2UtbWF0Y2hlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9hY2Nlc3NpYmlsaXR5L2lvcy1zaW11bGF0b3IvdGV4dC1yZWN0cy1mb3ItcmFuZ2UtbWF0
Y2hlcy1leHBlY3RlZC50eHQNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAw
MDAuLjY4OTM4MjhkOTIwYg0KLS0tIC9kZXYvbnVsbA0KKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNz
aWJpbGl0eS9pb3Mtc2ltdWxhdG9yL3RleHQtcmVjdHMtZm9yLXJhbmdlLW1hdGNoZXMtZXhwZWN0
ZWQudHh0DQpAQCAtMCwwICsxLDExIEBADQorVGhpcyBpcyBzb21lIHRlc3RpbmcgY29udGVudC4N
CitUaGlzIHRlc3RzIHRoYXQgd2UgYXJlIGFibGUgdG8gZ2V0IHRoZSByZWN0cyBmb3IgYSByYW5n
ZSBjb3JyZWN0bHkgd2l0aCBtYXRjaGluZyB0ZXh0Lg0KKw0KK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4NCisNCisNCitSZWN0IGZvciByYW5nZSBzaG91bGQgbm90IGJlIGVtcHR5OiBOU1JlY3Q6
IHt7NzUsIDI2fSwgezM3LCAxN319DQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQ0K
Kw0KK1RFU1QgQ09NUExFVEUNCisNCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmls
aXR5L2lvcy1zaW11bGF0b3IvdGV4dC1yZWN0cy1mb3ItcmFuZ2UtbWF0Y2hlcy5odG1sIGIvTGF5
b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL3RleHQtcmVjdHMtZm9yLXJhbmdl
LW1hdGNoZXMuaHRtbA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwMC4u
ZDk3OGUxMWYxMGQ3DQotLS0gL2Rldi9udWxsDQorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmls
aXR5L2lvcy1zaW11bGF0b3IvdGV4dC1yZWN0cy1mb3ItcmFuZ2UtbWF0Y2hlcy5odG1sDQpAQCAt
MCwwICsxLDMwIEBADQorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPg0KKzxodG1sPg0KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4NCisgICAgPGJvZHkgaWQ9ImJvZHkiIHRhYmluZGV4PSIwIj4NCisg
ICAgICAgIDxkaXYgdGFiaW5kZXg9IjAiIGlkPSJ0ZXh0Ij4NCisgICAgICAgIFRoaXMgaXMgc29t
ZSB0ZXN0aW5nIGNvbnRlbnQuIA0KKyAgICAgICAgPC9kaXY+DQorDQorICAgICAgICA8cCBpZD0i
ZGVzY3JpcHRpb24iPjwvcD4NCisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pg0KKw0K
KyAgICAgICAgPHNjcmlwdD4NCisNCisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
cyB0aGF0IHdlIGFyZSBhYmxlIHRvIGdldCB0aGUgcmVjdHMgZm9yIGEgcmFuZ2UgY29ycmVjdGx5
IHdpdGggbWF0Y2hpbmcgdGV4dC4iKTsNCisNCisgICAgICAgICAgICBpZiAod2luZG93LmFjY2Vz
c2liaWxpdHlDb250cm9sbGVyKSB7DQorICAgICAgICAgICAgICAgIGFjY2Vzc2liaWxpdHlDb250
cm9sbGVyLmVuYWJsZUVuaGFuY2VkQWNjZXNzaWJpbGl0eSh0cnVlKTsNCisgICAgICAgICAgICAg
ICAgdmFyIHRleHQgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5yb290RWxlbWVudC5jaGlsZEF0
SW5kZXgoMCkuY2hpbGRBdEluZGV4KDApOw0KKw0KKyAgICAgICAgICAgICAgICB2YXIgcmVjdHNG
b3JSYW5nZSA9IHRleHQucmVjdHNGb3JUZXh0TWFya2VyUmFuZ2UodGV4dC50ZXh0TWFya2VyUmFu
Z2VGb3JFbGVtZW50KHRleHQpLCAidGVzdGluZyIpOw0KKyAgICAgICAgICAgICAgICBkZWJ1Zygi
UmVjdCBmb3IgcmFuZ2Ugc2hvdWxkIG5vdCBiZSBlbXB0eTogIiArIHJlY3RzRm9yUmFuZ2UpOw0K
KyAgICAgICAgICAgIH0NCisNCisgICAgICAgICAgICA8L3NjcmlwdD4NCisNCisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4NCisN
CisgICAgPC9ib2R5Pg0KKzwvaHRtbD4NCisNCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cNCmluZGV4IDA1NTI5NWFjYmE4OS4u
OTM2NGNhYjE1NTJlIDEwMDY0NA0KLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nDQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cNCkBAIC0xLDMgKzEsMTkgQEANCisyMDIxLTAzLTI1
ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+DQorDQorICAgICAgICBBWDog
dGV4dFJlY3RzRnJvbU1hcmtlcnMgYWx3YXlzIGZhaWxzDQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNTU2DQorICAgICAgICA8cmRhcjovLzc0MjU2
MDAzPg0KKw0KKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuDQorDQorICAgICAg
ICBUaGUgdGV4dFJlY3RzRnJvbU1hcmtlcnM6dGV4dDogbWV0aG9kIGlzIGFsd2F5cyBmYWlsaW5n
IHRvIHJldHVybiBhIHZhbGlkIGFuc3dlciBiZWNhdXNlIHdoZW4gd2UgdHJ5IHRvIGV4dGVuZA0K
KyAgICAgICAgdGhlIHNlYXJjaCByYW5nZSBvZiB0ZXh0IHRvIHNlYXJjaCwgd2UncmUgY3JlYXRp
bmcgYSByYW5nZSB0aGF0IGNhbid0IGJlIGl0ZXJhdGVkIHdpdGggYSBDaGFyYWN0ZXJJdGVyYXRv
ci4NCisNCisgICAgICAgIFRlc3Q6IGFjY2Vzc2liaWxpdHkvaW9zLXNpbXVsYXRvci90ZXh0LXJl
Y3RzLWZvci1yYW5nZS1tYXRjaGVzLmh0bWwNCisNCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9B
WE9iamVjdENhY2hlLmNwcDoNCisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpyYW5n
ZU1hdGNoZXNUZXh0TmVhclJhbmdlKToNCisNCiAyMDIxLTAzLTI1ICBBbGV4IENocmlzdGVuc2Vu
ICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+DQogDQogICAgICAgICBXS0NvbnRlbnRSdWxlTGlz
dCBmaXJzdC1wYXJ0eSBzaG91bGQgaW5jbHVkZSBvdGhlciBzdWJkb21haW5zIG9mIHRoZSBjdXJy
ZW50IHJlZ2lzdHJhYmxlIGRvbWFpbg0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FYT2JqZWN0Q2FjaGUuY3BwDQppbmRleCBkYmIxYzRkYWMwMjQuLjIwMTAyNmNmY2UzYiAxMDA2
NDQNCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAN
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHANCkBA
IC0yMDMzLDE0ICsyMDMzLDIzIEBAIFNpbXBsZVJhbmdlIEFYT2JqZWN0Q2FjaGU6OnJhbmdlRm9y
Tm9kZUNvbnRlbnRzKE5vZGUmIG5vZGUpDQogICAgIA0KIE9wdGlvbmFsPFNpbXBsZVJhbmdlPiBB
WE9iamVjdENhY2hlOjpyYW5nZU1hdGNoZXNUZXh0TmVhclJhbmdlKGNvbnN0IFNpbXBsZVJhbmdl
JiBvcmlnaW5hbFJhbmdlLCBjb25zdCBTdHJpbmcmIG1hdGNoVGV4dCkNCiB7DQotICAgIC8vIENy
ZWF0ZSBhIGxhcmdlIGVub3VnaCByYW5nZSBmb3Igc2VhcmNoaW5nIHRoZSB0ZXh0IHdpdGhpbi4N
CisgICAgLy8gQ3JlYXRlIGEgbGFyZ2UgZW5vdWdoIHJhbmdlIHRvIGZpbmQgdGhlIHRleHQgd2l0
aGluIGl0IHRoYXQncyBiZWluZyBzZWFyY2hlZCBmb3IuDQogICAgIHVuc2lnbmVkIHRleHRMZW5n
dGggPSBtYXRjaFRleHQubGVuZ3RoKCk7DQotICAgIGF1dG8gc3RhcnRQb3NpdGlvbiA9IHZpc2li
bGVQb3NpdGlvbkZvclBvc2l0aW9uV2l0aE9mZnNldChtYWtlQ29udGFpbmVyT2Zmc2V0UG9zaXRp
b24ob3JpZ2luYWxSYW5nZS5zdGFydCksIC10ZXh0TGVuZ3RoKTsNCi0gICAgYXV0byBlbmRQb3Np
dGlvbiA9IHZpc2libGVQb3NpdGlvbkZvclBvc2l0aW9uV2l0aE9mZnNldChtYWtlQ29udGFpbmVy
T2Zmc2V0UG9zaXRpb24ob3JpZ2luYWxSYW5nZS5zdGFydCksIDIgKiB0ZXh0TGVuZ3RoKTsNCi0g
ICAgaWYgKHN0YXJ0UG9zaXRpb24uaXNOdWxsKCkpDQotICAgICAgICBzdGFydFBvc2l0aW9uID0g
Zmlyc3RQb3NpdGlvbkluT3JCZWZvcmVOb2RlKG9yaWdpbmFsUmFuZ2Uuc3RhcnQuY29udGFpbmVy
LnB0cigpKTsNCi0gICAgaWYgKGVuZFBvc2l0aW9uLmlzTnVsbCgpKQ0KLSAgICAgICAgZW5kUG9z
aXRpb24gPSBsYXN0UG9zaXRpb25Jbk9yQWZ0ZXJOb2RlKG9yaWdpbmFsUmFuZ2UuZW5kLmNvbnRh
aW5lci5wdHIoKSk7DQorICAgIGF1dG8gc3RhcnRQb3NpdGlvbiA9IFZpc2libGVQb3NpdGlvbiht
YWtlQ29udGFpbmVyT2Zmc2V0UG9zaXRpb24ob3JpZ2luYWxSYW5nZS5zdGFydCkpOw0KKyAgICBm
b3IgKHVuc2lnbmVkIGsgPSAwOyBrIDwgdGV4dExlbmd0aDsgaysrKSB7DQorICAgICAgICBhdXRv
IHRlc3RQb3NpdGlvbiA9IHN0YXJ0UG9zaXRpb24ucHJldmlvdXMoKTsNCisgICAgICAgIGlmICh0
ZXN0UG9zaXRpb24uaXNOdWxsKCkpDQorICAgICAgICAgICAgYnJlYWs7DQorICAgICAgICBzdGFy
dFBvc2l0aW9uID0gdGVzdFBvc2l0aW9uOw0KKyAgICB9DQorDQorICAgIGF1dG8gZW5kUG9zaXRp
b24gPSBWaXNpYmxlUG9zaXRpb24obWFrZUNvbnRhaW5lck9mZnNldFBvc2l0aW9uKG9yaWdpbmFs
UmFuZ2UuZW5kKSk7DQorICAgIGZvciAodW5zaWduZWQgayA9IDA7IGsgPCB0ZXh0TGVuZ3RoOyBr
KyspIHsNCisgICAgICAgIGF1dG8gdGVzdFBvc2l0aW9uID0gZW5kUG9zaXRpb24ubmV4dCgpOw0K
KyAgICAgICAgaWYgKHRlc3RQb3NpdGlvbi5pc051bGwoKSkNCisgICAgICAgICAgICBicmVhazsN
CisgICAgICAgIGVuZFBvc2l0aW9uID0gdGVzdFBvc2l0aW9uOw0KKyAgICB9DQogDQogICAgIGF1
dG8gc2VhcmNoUmFuZ2UgPSBtYWtlU2ltcGxlUmFuZ2Uoc3RhcnRQb3NpdGlvbiwgZW5kUG9zaXRp
b24pOw0KICAgICBpZiAoIXNlYXJjaFJhbmdlIHx8IHNlYXJjaFJhbmdlLT5jb2xsYXBzZWQoKSkN
CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cNCmluZGV4IGMz
ZjRkZTQzYTdjMy4uYTNmNDhiNWE5NTU0IDEwMDY0NA0KLS0tIGEvVG9vbHMvQ2hhbmdlTG9nDQor
KysgYi9Ub29scy9DaGFuZ2VMb2cNCkBAIC0xLDMgKzEsMjIgQEANCisyMDIxLTAzLTI1ICBDaHJp
cyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+DQorDQorICAgICAgICBBWDogdGV4dFJl
Y3RzRnJvbU1hcmtlcnMgYWx3YXlzIGZhaWxzDQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNTU2DQorICAgICAgICA8cmRhcjovLzc0MjU2MDAzPg0K
Kw0KKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuDQorDQorICAgICAgICAqIFdl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oOg0K
KyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0FjY2Vz
c2liaWxpdHlVSUVsZW1lbnQuaWRsOg0KKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRrLmNwcDoNCisgICAgICAgIChX
VFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJlY3RzRm9yVGV4dE1hcmtlclJhbmdlKToNCisg
ICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9pb3MvQWNjZXNzaWJpbGl0
eVVJRWxlbWVudElPUy5tbToNCisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OnJlY3RzRm9yVGV4dE1hcmtlclJhbmdlKToNCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbToNCisgICAgICAg
IChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJlY3RzRm9yVGV4dE1hcmtlclJhbmdlKToN
CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93aW4vQWNjZXNzaWJp
bGl0eVVJRWxlbWVudFdpbi5jcHA6DQorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjpyZWN0c0ZvclRleHRNYXJrZXJSYW5nZSk6DQorDQogMjAyMS0wMy0yNSAgQWxleCBDaHJp
c3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPg0KIA0KICAgICAgICAgV0tDb250ZW50
UnVsZUxpc3QgZmlyc3QtcGFydHkgc2hvdWxkIGluY2x1ZGUgb3RoZXIgc3ViZG9tYWlucyBvZiB0
aGUgY3VycmVudCByZWdpc3RyYWJsZSBkb21haW4NCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaCBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5o
DQppbmRleCA5M2I3YTc5OTMxNmEuLjI0MTkzYzNhYjE3MiAxMDA2NDQNCi0tLSBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oDQor
KysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlV
SUVsZW1lbnQuaA0KQEAgLTMxNyw2ICszMTcsNyBAQCBwdWJsaWM6DQogICAgIFJlZlB0cjxBY2Nl
c3NpYmlsaXR5VGV4dE1hcmtlcj4gbmV4dFRleHRNYXJrZXIoQWNjZXNzaWJpbGl0eVRleHRNYXJr
ZXIqKTsNCiAgICAgUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IGFjY2Vzc2liaWxpdHlF
bGVtZW50Rm9yVGV4dE1hcmtlcihBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlciopOw0KICAgICBKU1Jl
dGFpblB0cjxKU1N0cmluZ1JlZj4gc3RyaW5nRm9yVGV4dE1hcmtlclJhbmdlKEFjY2Vzc2liaWxp
dHlUZXh0TWFya2VyUmFuZ2UqKTsNCisgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IHJlY3Rz
Rm9yVGV4dE1hcmtlclJhbmdlKEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2UqLCBKU1N0cmlu
Z1JlZik7DQogICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBhdHRyaWJ1dGVkU3RyaW5nRm9y
VGV4dE1hcmtlclJhbmdlKEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2UqKTsNCiAgICAgSlNS
ZXRhaW5QdHI8SlNTdHJpbmdSZWY+IGF0dHJpYnV0ZWRTdHJpbmdGb3JUZXh0TWFya2VyUmFuZ2VX
aXRoT3B0aW9ucyhBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlKiwgYm9vbCk7DQogICAgIGlu
dCB0ZXh0TWFya2VyUmFuZ2VMZW5ndGgoQWNjZXNzaWJpbGl0eVRleHRNYXJrZXJSYW5nZSopOw0K
ZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGlu
Z3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5pZGwgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL0JpbmRpbmdzL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaWRsDQppbmRleCBm
NmQxOWVlMDU3NDYuLjkyNGQwYjU4MjE4ZiAxMDA2NDQNCi0tLSBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5pZGwN
CisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudC5pZGwNCkBAIC0yMzQsNiArMjM0LDcgQEANCiAgICAgQWNjZXNz
aWJpbGl0eVRleHRNYXJrZXIgbmV4dFRleHRNYXJrZXIoQWNjZXNzaWJpbGl0eVRleHRNYXJrZXIg
bWFya2VyKTsNCiAgICAgQWNjZXNzaWJpbGl0eVVJRWxlbWVudCBhY2Nlc3NpYmlsaXR5RWxlbWVu
dEZvclRleHRNYXJrZXIoQWNjZXNzaWJpbGl0eVRleHRNYXJrZXIgbWFya2VyKTsNCiAgICAgRE9N
U3RyaW5nIHN0cmluZ0ZvclRleHRNYXJrZXJSYW5nZShBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJh
bmdlIHJhbmdlKTsNCisgICAgRE9NU3RyaW5nIHJlY3RzRm9yVGV4dE1hcmtlclJhbmdlKEFjY2Vz
c2liaWxpdHlUZXh0TWFya2VyUmFuZ2UgcmFuZ2UsIERPTVN0cmluZyBzZWFyY2hUZXh0KTsNCiAg
ICAgRE9NU3RyaW5nIGF0dHJpYnV0ZWRTdHJpbmdGb3JUZXh0TWFya2VyUmFuZ2UoQWNjZXNzaWJp
bGl0eVRleHRNYXJrZXJSYW5nZSByYW5nZSk7DQogICAgIERPTVN0cmluZyBhdHRyaWJ1dGVkU3Ry
aW5nRm9yVGV4dE1hcmtlclJhbmdlV2l0aE9wdGlvbnMoQWNjZXNzaWJpbGl0eVRleHRNYXJrZXJS
YW5nZSByYW5nZSwgYm9vbGVhbiBpbmNsdWRlU3BlbGxDaGVjayk7DQogICAgIGxvbmcgdGV4dE1h
cmtlclJhbmdlTGVuZ3RoKEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2UgcmFuZ2UpOw0KZGlm
ZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vz
c2liaWxpdHlVSUVsZW1lbnRBdGsuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHANCmluZGV4IGIxZGM0MmM5
ZTA0My4uNGRjZjRjMDM3NjExIDEwMDY0NA0KLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHANCisrKyBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlVSUVs
ZW1lbnRBdGsuY3BwDQpAQCAtMjEyNiw2ICsyMTI2LDEyIEBAIEpTUmV0YWluUHRyPEpTU3RyaW5n
UmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdHJpbmdGb3JUZXh0TWFya2VyUmFuZ2UoQWNj
ZXNzDQogICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOw0KIH0N
CiANCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cmVj
dHNGb3JUZXh0TWFya2VyUmFuZ2UoQWNjZXNzaWJpbGl0eVRleHRNYXJrZXJSYW5nZSogbWFya2Vy
UmFuZ2UsIEpTU3RyaW5nUmVmIHNlYXJjaFRleHQpDQorew0KKyAgICAvLyBGSVhNRTogaW1wbGVt
ZW50DQorICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOw0KK30N
CisNCiBSZWZQdHI8QWNjZXNzaWJpbGl0eVRleHRNYXJrZXJSYW5nZT4gQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6dGV4dE1hcmtlclJhbmdlRm9yTWFya2VycyhBY2Nlc3NpYmlsaXR5VGV4dE1hcmtl
ciogc3RhcnRNYXJrZXIsIEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyKiBlbmRNYXJrZXIpDQogew0K
ICAgICAvLyBGSVhNRTogaW1wbGVtZW50DQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9pb3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudElPUy5tbSBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvaW9zL0FjY2Vzc2liaWxpdHlVSUVs
ZW1lbnRJT1MubW0NCmluZGV4IGRjYjY3YmNjMmE4Ny4uMDMzZmY4NjdmOTc4IDEwMDY0NA0KLS0t
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9pb3MvQWNjZXNzaWJpbGl0
eVVJRWxlbWVudElPUy5tbQ0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9pb3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudElPUy5tbQ0KQEAgLTEwNiw2ICsxMDYsNyBA
QCB0eXBlZGVmIHZvaWQgKCpBWFBvc3RlZE5vdGlmaWNhdGlvbkNhbGxiYWNrKShpZCBlbGVtZW50
LCBOU1N0cmluZyogbm90aWZpY2F0aW9uLA0KIC0gKE5TQXJyYXkgKil0ZXh0TWFya2VyUmFuZ2U7
DQogLSAoTlNJbnRlZ2VyKWxlbmd0aEZvclRleHRNYXJrZXJzOihOU0FycmF5ICopdGV4dE1hcmtl
cnM7DQogLSAoTlNTdHJpbmcgKilzdHJpbmdGb3JUZXh0TWFya2VyczooTlNBcnJheSAqKW1hcmtl
cnM7DQorLSAoTlNBcnJheSAqKXRleHRSZWN0c0Zyb21NYXJrZXJzOihOU0FycmF5ICopbWFya2Vy
cyB3aXRoVGV4dDooTlNTdHJpbmcgKil0ZXh0Ow0KIC0gKGlkKXN0YXJ0T3JFbmRUZXh0TWFya2Vy
Rm9yVGV4dE1hcmtlcnM6KE5TQXJyYXkqKXRleHRNYXJrZXJzIGlzU3RhcnQ6KEJPT0wpaXNTdGFy
dDsNCiAtIChOU0FycmF5ICopdGV4dE1hcmtlclJhbmdlRm9yTWFya2VyczooTlNBcnJheSAqKXRl
eHRNYXJrZXJzOw0KIC0gKE5TSW50ZWdlcilwb3NpdGlvbkZvclRleHRNYXJrZXI6KGlkKW1hcmtl
cjsNCkBAIC0xMTg2LDYgKzExODcsMTQgQEAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OnN0cmluZ0ZvclRleHRNYXJrZXJSYW5nZShBY2Nlc3MNCiAgICAg
cmV0dXJuIFtbbV9lbGVtZW50IHN0cmluZ0ZvclRleHRNYXJrZXJzOnRleHRNYXJrZXJzXSBjcmVh
dGVKU1N0cmluZ1JlZl07DQogfQ0KIA0KK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50OjpyZWN0c0ZvclRleHRNYXJrZXJSYW5nZShBY2Nlc3NpYmlsaXR5VGV4
dE1hcmtlclJhbmdlKiBtYXJrZXJSYW5nZSwgSlNTdHJpbmdSZWYgdGV4dCkNCit7DQorICAgIGlk
IHRleHRNYXJrZXJzID0gbWFya2VyUmFuZ2UtPnBsYXRmb3JtVGV4dE1hcmtlclJhbmdlKCk7DQor
ICAgIGlmICghW3RleHRNYXJrZXJzIGlzS2luZE9mQ2xhc3M6W05TQXJyYXkgY2xhc3NdXSkNCisg
ICAgICAgIHJldHVybiBjcmVhdGVKU1N0cmluZygpOw0KKyAgICByZXR1cm4gW1tbbV9lbGVtZW50
IHRleHRSZWN0c0Zyb21NYXJrZXJzOnRleHRNYXJrZXJzIHdpdGhUZXh0OltOU1N0cmluZyBzdHJp
bmdXaXRoSlNTdHJpbmdSZWY6dGV4dF1dIGNvbXBvbmVudHNKb2luZWRCeVN0cmluZzpAIiwiXSBj
cmVhdGVKU1N0cmluZ1JlZl07DQorfQ0KKw0KIFJlZlB0cjxBY2Nlc3NpYmlsaXR5VGV4dE1hcmtl
clJhbmdlPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp0ZXh0TWFya2VyUmFuZ2VGb3JNYXJrZXJz
KEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyKiBzdGFydE1hcmtlciwgQWNjZXNzaWJpbGl0eVRleHRN
YXJrZXIqIGVuZE1hcmtlcikNCiB7DQogICAgIE5TQXJyYXkgKnRleHRNYXJrZXJzID0gQFtzdGFy
dE1hcmtlci0+cGxhdGZvcm1UZXh0TWFya2VyKCksIGVuZE1hcmtlci0+cGxhdGZvcm1UZXh0TWFy
a2VyKCldOw0KZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tDQppbmRl
eCA2ZDk3YzViZmJkMGQuLjNhNjhjYzA4NDZiNyAxMDA2NDQNCi0tLSBhL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW0N
CisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFjL0FjY2Vzc2li
aWxpdHlVSUVsZW1lbnRNYWMubW0NCkBAIC0xODA4LDYgKzE4MDgsMTIgQEAgSlNSZXRhaW5QdHI8
SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnN0cmluZ0ZvclRleHRNYXJrZXJS
YW5nZShBY2Nlc3MNCiAgICAgcmV0dXJuIG51bGxwdHI7DQogfQ0KIA0KK0pTUmV0YWluUHRyPEpT
U3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpyZWN0c0ZvclRleHRNYXJrZXJSYW5n
ZShBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlKiwgSlNTdHJpbmdSZWYpDQorew0KKyAgICAv
LyBOb3QgaW1wbGVtZW50ZWQgb24gbWFjT1MNCisgICAgcmV0dXJuIG51bGxwdHI7DQorfQ0KKw0K
IFJlZlB0cjxBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlPiBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50Ojp0ZXh0TWFya2VyUmFuZ2VGb3JNYXJrZXJzKEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyKiBz
dGFydE1hcmtlciwgQWNjZXNzaWJpbGl0eVRleHRNYXJrZXIqIGVuZE1hcmtlcikNCiB7DQogICAg
IEJFR0lOX0FYX09CSkNfRVhDRVBUSU9OUw0KZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvd2luL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRXaW4uY3BwIGIv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93aW4vQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudFdpbi5jcHANCmluZGV4IDk3OWNhOTU4ZDg3MS4uZjYxZWU4ZDk3NDViIDEwMDY0NA0K
LS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93aW4vQWNjZXNzaWJp
bGl0eVVJRWxlbWVudFdpbi5jcHANCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvd2luL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRXaW4uY3BwDQpAQCAtODE0LDYgKzgx
NCwxMiBAQCBSZWZQdHI8QWNjZXNzaWJpbGl0eVRleHRNYXJrZXI+IEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6Om5leHRUZXh0TWFya2VyKEFjY2Vzc2liaQ0KICAgICByZXR1cm4gbnVsbHB0cjsNCiB9
DQogDQorSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJl
Y3RzRm9yVGV4dE1hcmtlclJhbmdlKEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2UqLCBKU1N0
cmluZ1JlZikNCit7DQorICAgIG5vdEltcGxlbWVudGVkKCk7DQorICAgIHJldHVybiBudWxscHRy
Ow0KK30NCisNCiBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6c3RyaW5nRm9yVGV4dE1hcmtlclJhbmdlKEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2Uq
KQ0KIHsNCiAgICAgbm90SW1wbGVtZW50ZWQoKTsNCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424737</attachid>
            <date>2021-03-31 00:07:10 -0700</date>
            <delta_ts>2021-04-02 10:41:55 -0700</delta_ts>
            <desc>patch</desc>
            <filename>file_223556.txt</filename>
            <type>text/plain</type>
            <size>13664</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
Zw0KaW5kZXggOGEwYzc3YTJlYmQ2Li5jMjg5NmFiNjlkMjAgMTAwNjQ0DQotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cNCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZw0KQEAgLTEsMyArMSwx
NCBAQA0KKzIwMjEtMDMtMzEgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4N
CisNCisgICAgICAgIEFYOiB0ZXh0UmVjdHNGcm9tTWFya2VycyBhbHdheXMgZmFpbHMNCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM1NTYNCisgICAg
ICAgIDxyZGFyOi8vNzQyNTYwMDM+DQorDQorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4NCisNCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL3RleHQtcmVj
dHMtZm9yLXJhbmdlLW1hdGNoZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4NCisgICAgICAgICogYWNj
ZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL3RleHQtcmVjdHMtZm9yLXJhbmdlLW1hdGNoZXMuaHRt
bDogQWRkZWQuDQorDQogMjAyMS0wMy0zMCAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0
Lm9yZz4NCiANCiAgICAgICAgIFtDU1MgQmFja2dyb3VuZHNdIFdQVCB0ZXN0IGNzcy9jc3MtYmFj
a2dyb3VuZHMvYW5pbWF0aW9ucy9ib3JkZXItaW1hZ2Utd2lkdGgtaW50ZXJwb2xhdGlvbi5odG1s
IGFzc2VydHMNCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2lvcy1zaW11
bGF0b3IvdGV4dC1yZWN0cy1mb3ItcmFuZ2UtbWF0Y2hlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9hY2Nlc3NpYmlsaXR5L2lvcy1zaW11bGF0b3IvdGV4dC1yZWN0cy1mb3ItcmFuZ2UtbWF0
Y2hlcy1leHBlY3RlZC50eHQNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAw
MDAuLjQ0N2Y0OTg5MjY3Ng0KLS0tIC9kZXYvbnVsbA0KKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNz
aWJpbGl0eS9pb3Mtc2ltdWxhdG9yL3RleHQtcmVjdHMtZm9yLXJhbmdlLW1hdGNoZXMtZXhwZWN0
ZWQudHh0DQpAQCAtMCwwICsxLDEyIEBADQorVGhpcyBpcyBzb21lIHRlc3RpbmcgY29udGVudC4N
CitUaGlzIHRlc3RzIHRoYXQgd2UgYXJlIGFibGUgdG8gZ2V0IHRoZSByZWN0cyBmb3IgYSByYW5n
ZSBjb3JyZWN0bHkgd2l0aCBtYXRjaGluZyB0ZXh0Lg0KKw0KK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4NCisNCisNCitSZWN0IGZvciByYW5nZSBzaG91bGQgbm90IGJlIGVtcHR5OiB3aWR0aCA+
IDA6IHRydWUNCitSZWN0IGZvciByYW5nZSBzaG91bGQgbm90IGJlIGVtcHR5OiBoZWlnaHQgPiAw
OiB0cnVlDQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQ0KKw0KK1RFU1QgQ09NUExF
VEUNCisNCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2lvcy1zaW11bGF0
b3IvdGV4dC1yZWN0cy1mb3ItcmFuZ2UtbWF0Y2hlcy5odG1sIGIvTGF5b3V0VGVzdHMvYWNjZXNz
aWJpbGl0eS9pb3Mtc2ltdWxhdG9yL3RleHQtcmVjdHMtZm9yLXJhbmdlLW1hdGNoZXMuaHRtbA0K
bmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwMC4uN2VmZGE2MDgzNGU5DQot
LS0gL2Rldi9udWxsDQorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2lvcy1zaW11bGF0
b3IvdGV4dC1yZWN0cy1mb3ItcmFuZ2UtbWF0Y2hlcy5odG1sDQpAQCAtMCwwICsxLDMyIEBADQor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPg0KKzxodG1sPg0K
KyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4NCisgICAgPGJvZHkgaWQ9ImJvZHkiIHRhYmluZGV4PSIwIj4NCisgICAgICAgIDxkaXYgdGFi
aW5kZXg9IjAiIGlkPSJ0ZXh0Ij4NCisgICAgICAgIFRoaXMgaXMgc29tZSB0ZXN0aW5nIGNvbnRl
bnQuIA0KKyAgICAgICAgPC9kaXY+DQorDQorICAgICAgICA8cCBpZD0iZGVzY3JpcHRpb24iPjwv
cD4NCisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pg0KKw0KKyAgICAgICAgPHNjcmlw
dD4NCisNCisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGF0IHdlIGFyZSBh
YmxlIHRvIGdldCB0aGUgcmVjdHMgZm9yIGEgcmFuZ2UgY29ycmVjdGx5IHdpdGggbWF0Y2hpbmcg
dGV4dC4iKTsNCisNCisgICAgICAgICAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9s
bGVyKSB7DQorICAgICAgICAgICAgICAgIGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmVuYWJsZUVu
aGFuY2VkQWNjZXNzaWJpbGl0eSh0cnVlKTsNCisgICAgICAgICAgICAgICAgdmFyIHRleHQgPSBh
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlci5yb290RWxlbWVudC5jaGlsZEF0SW5kZXgoMCkuY2hpbGRB
dEluZGV4KDApOw0KKw0KKyAgICAgICAgICAgICAgICB2YXIgcmVjdHNGb3JSYW5nZSA9IHRleHQu
cmVjdHNGb3JUZXh0TWFya2VyUmFuZ2UodGV4dC50ZXh0TWFya2VyUmFuZ2VGb3JFbGVtZW50KHRl
eHQpLCAidGVzdGluZyIpOw0KKyAgICAgICAgICAgICAgICB2YXIgc2l6ZSA9IHJlY3RzRm9yUmFu
Z2UubWF0Y2goL3tbXGRdKywgW1xkXSt9LCB7KFtcZF0rKSwgKFtcZF0rKX0vKTsNCisgICAgICAg
ICAgICAgICAgZGVidWcoIlJlY3QgZm9yIHJhbmdlIHNob3VsZCBub3QgYmUgZW1wdHk6IHdpZHRo
ID4gMDogIiArIChzaXplWzFdID4gMCkpOw0KKyAgICAgICAgICAgICAgICBkZWJ1ZygiUmVjdCBm
b3IgcmFuZ2Ugc2hvdWxkIG5vdCBiZSBlbXB0eTogaGVpZ2h0ID4gMDogIiArIChzaXplWzJdID4g
MCkpOw0KKyAgICAgICAgICAgIH0NCisNCisgICAgICAgICAgICA8L3NjcmlwdD4NCisNCisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4NCisNCisgICAgPC9ib2R5Pg0KKzwvaHRtbD4NCisNCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cNCmluZGV4IGYzNTExMDQx
MzlhYS4uZjY1MmYwNjBmZDM5IDEwMDY0NA0KLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
DQorKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cNCkBAIC0xLDMgKzEsMTkgQEANCisyMDIx
LTAzLTMxICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+DQorDQorICAgICAg
ICBBWDogdGV4dFJlY3RzRnJvbU1hcmtlcnMgYWx3YXlzIGZhaWxzDQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNTU2DQorICAgICAgICA8cmRhcjov
Lzc0MjU2MDAzPg0KKw0KKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuDQorDQor
ICAgICAgICBUaGUgdGV4dFJlY3RzRnJvbU1hcmtlcnM6dGV4dDogbWV0aG9kIGlzIGFsd2F5cyBm
YWlsaW5nIHRvIHJldHVybiBhIHZhbGlkIGFuc3dlciBiZWNhdXNlIHdoZW4gd2UgdHJ5IHRvIGV4
dGVuZA0KKyAgICAgICAgdGhlIHNlYXJjaCByYW5nZSBvZiB0ZXh0IHRvIHNlYXJjaCwgd2UncmUg
Y3JlYXRpbmcgYSByYW5nZSB0aGF0IGNhbid0IGJlIGl0ZXJhdGVkIHdpdGggYSBDaGFyYWN0ZXJJ
dGVyYXRvci4NCisNCisgICAgICAgIFRlc3Q6IGFjY2Vzc2liaWxpdHkvaW9zLXNpbXVsYXRvci90
ZXh0LXJlY3RzLWZvci1yYW5nZS1tYXRjaGVzLmh0bWwNCisNCisgICAgICAgICogYWNjZXNzaWJp
bGl0eS9BWE9iamVjdENhY2hlLmNwcDoNCisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hl
OjpyYW5nZU1hdGNoZXNUZXh0TmVhclJhbmdlKToNCisNCiAyMDIxLTAzLTMwICBQZW5nIExpdSAg
PHBlbmcubGl1NkBhcHBsZS5jb20+DQogDQogICAgICAgICBSZW5hbWUgTWVkaWFFbGVtZW50U2Vz
c2lvbjo6cGxheWJhY2tQZXJtaXR0ZWQoKSB0byBNZWRpYUVsZW1lbnRTZXNzaW9uOjpwbGF5YmFj
a1N0YXRlQ2hhbmdlUGVybWl0dGVkKCkNCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BWE9iamVjdENhY2hlLmNwcA0KaW5kZXggZGJiMWM0ZGFjMDI0Li4yMDEwMjZjZmNlM2IgMTAw
NjQ0DQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3Bw
DQorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwDQpA
QCAtMjAzMywxNCArMjAzMywyMyBAQCBTaW1wbGVSYW5nZSBBWE9iamVjdENhY2hlOjpyYW5nZUZv
ck5vZGVDb250ZW50cyhOb2RlJiBub2RlKQ0KICAgICANCiBPcHRpb25hbDxTaW1wbGVSYW5nZT4g
QVhPYmplY3RDYWNoZTo6cmFuZ2VNYXRjaGVzVGV4dE5lYXJSYW5nZShjb25zdCBTaW1wbGVSYW5n
ZSYgb3JpZ2luYWxSYW5nZSwgY29uc3QgU3RyaW5nJiBtYXRjaFRleHQpDQogew0KLSAgICAvLyBD
cmVhdGUgYSBsYXJnZSBlbm91Z2ggcmFuZ2UgZm9yIHNlYXJjaGluZyB0aGUgdGV4dCB3aXRoaW4u
DQorICAgIC8vIENyZWF0ZSBhIGxhcmdlIGVub3VnaCByYW5nZSB0byBmaW5kIHRoZSB0ZXh0IHdp
dGhpbiBpdCB0aGF0J3MgYmVpbmcgc2VhcmNoZWQgZm9yLg0KICAgICB1bnNpZ25lZCB0ZXh0TGVu
Z3RoID0gbWF0Y2hUZXh0Lmxlbmd0aCgpOw0KLSAgICBhdXRvIHN0YXJ0UG9zaXRpb24gPSB2aXNp
YmxlUG9zaXRpb25Gb3JQb3NpdGlvbldpdGhPZmZzZXQobWFrZUNvbnRhaW5lck9mZnNldFBvc2l0
aW9uKG9yaWdpbmFsUmFuZ2Uuc3RhcnQpLCAtdGV4dExlbmd0aCk7DQotICAgIGF1dG8gZW5kUG9z
aXRpb24gPSB2aXNpYmxlUG9zaXRpb25Gb3JQb3NpdGlvbldpdGhPZmZzZXQobWFrZUNvbnRhaW5l
ck9mZnNldFBvc2l0aW9uKG9yaWdpbmFsUmFuZ2Uuc3RhcnQpLCAyICogdGV4dExlbmd0aCk7DQot
ICAgIGlmIChzdGFydFBvc2l0aW9uLmlzTnVsbCgpKQ0KLSAgICAgICAgc3RhcnRQb3NpdGlvbiA9
IGZpcnN0UG9zaXRpb25Jbk9yQmVmb3JlTm9kZShvcmlnaW5hbFJhbmdlLnN0YXJ0LmNvbnRhaW5l
ci5wdHIoKSk7DQotICAgIGlmIChlbmRQb3NpdGlvbi5pc051bGwoKSkNCi0gICAgICAgIGVuZFBv
c2l0aW9uID0gbGFzdFBvc2l0aW9uSW5PckFmdGVyTm9kZShvcmlnaW5hbFJhbmdlLmVuZC5jb250
YWluZXIucHRyKCkpOw0KKyAgICBhdXRvIHN0YXJ0UG9zaXRpb24gPSBWaXNpYmxlUG9zaXRpb24o
bWFrZUNvbnRhaW5lck9mZnNldFBvc2l0aW9uKG9yaWdpbmFsUmFuZ2Uuc3RhcnQpKTsNCisgICAg
Zm9yICh1bnNpZ25lZCBrID0gMDsgayA8IHRleHRMZW5ndGg7IGsrKykgew0KKyAgICAgICAgYXV0
byB0ZXN0UG9zaXRpb24gPSBzdGFydFBvc2l0aW9uLnByZXZpb3VzKCk7DQorICAgICAgICBpZiAo
dGVzdFBvc2l0aW9uLmlzTnVsbCgpKQ0KKyAgICAgICAgICAgIGJyZWFrOw0KKyAgICAgICAgc3Rh
cnRQb3NpdGlvbiA9IHRlc3RQb3NpdGlvbjsNCisgICAgfQ0KKw0KKyAgICBhdXRvIGVuZFBvc2l0
aW9uID0gVmlzaWJsZVBvc2l0aW9uKG1ha2VDb250YWluZXJPZmZzZXRQb3NpdGlvbihvcmlnaW5h
bFJhbmdlLmVuZCkpOw0KKyAgICBmb3IgKHVuc2lnbmVkIGsgPSAwOyBrIDwgdGV4dExlbmd0aDsg
aysrKSB7DQorICAgICAgICBhdXRvIHRlc3RQb3NpdGlvbiA9IGVuZFBvc2l0aW9uLm5leHQoKTsN
CisgICAgICAgIGlmICh0ZXN0UG9zaXRpb24uaXNOdWxsKCkpDQorICAgICAgICAgICAgYnJlYWs7
DQorICAgICAgICBlbmRQb3NpdGlvbiA9IHRlc3RQb3NpdGlvbjsNCisgICAgfQ0KIA0KICAgICBh
dXRvIHNlYXJjaFJhbmdlID0gbWFrZVNpbXBsZVJhbmdlKHN0YXJ0UG9zaXRpb24sIGVuZFBvc2l0
aW9uKTsNCiAgICAgaWYgKCFzZWFyY2hSYW5nZSB8fCBzZWFyY2hSYW5nZS0+Y29sbGFwc2VkKCkp
DQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nDQppbmRleCBj
NDg2ZTQ4NzI0MDAuLjQ5NjEwNzdjZTEwOCAxMDA2NDQNCi0tLSBhL1Rvb2xzL0NoYW5nZUxvZw0K
KysrIGIvVG9vbHMvQ2hhbmdlTG9nDQpAQCAtMSwzICsxLDIyIEBADQorMjAyMS0wMy0zMSAgQ2hy
aXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPg0KKw0KKyAgICAgICAgQVg6IHRleHRS
ZWN0c0Zyb21NYXJrZXJzIGFsd2F5cyBmYWlscw0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzU1Ng0KKyAgICAgICAgPHJkYXI6Ly83NDI1NjAwMz4N
CisNCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLg0KKw0KKyAgICAgICAgKiBX
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaDoN
CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9BY2Nl
c3NpYmlsaXR5VUlFbGVtZW50LmlkbDoNCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHA6DQorICAgICAgICAo
V1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpyZWN0c0ZvclRleHRNYXJrZXJSYW5nZSk6DQor
ICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvaW9zL0FjY2Vzc2liaWxp
dHlVSUVsZW1lbnRJT1MubW06DQorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
OjpyZWN0c0ZvclRleHRNYXJrZXJSYW5nZSk6DQorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW06DQorICAgICAg
ICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpyZWN0c0ZvclRleHRNYXJrZXJSYW5nZSk6
DQorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvd2luL0FjY2Vzc2li
aWxpdHlVSUVsZW1lbnRXaW4uY3BwOg0KKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6cmVjdHNGb3JUZXh0TWFya2VyUmFuZ2UpOg0KKw0KIDIwMjEtMDMtMzAgIEpvbmF0aGFu
IEJlZGFyZCAgPGpiZWRhcmRAYXBwbGUuY29tPg0KIA0KICAgICAgICAgW3Jlc3VsdHNkYnB5XSBS
ZXR1cm4gbmV3LXN0eWxlIGNvbW1pdHMgKEZvbGxvdy11cCBmaXgpDQpkaWZmIC0tZ2l0IGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50
LmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlV
SUVsZW1lbnQuaA0KaW5kZXggM2E4MWQ2NzE3ZTgzLi5jYWM2MTgyNmViYWYgMTAwNjQ0DQotLS0g
YS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQuaA0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nl
c3NpYmlsaXR5VUlFbGVtZW50LmgNCkBAIC0zMTgsNiArMzE4LDcgQEAgcHVibGljOg0KICAgICBS
ZWZQdHI8QWNjZXNzaWJpbGl0eVRleHRNYXJrZXI+IG5leHRUZXh0TWFya2VyKEFjY2Vzc2liaWxp
dHlUZXh0TWFya2VyKik7DQogICAgIFJlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBhY2Nl
c3NpYmlsaXR5RWxlbWVudEZvclRleHRNYXJrZXIoQWNjZXNzaWJpbGl0eVRleHRNYXJrZXIqKTsN
CiAgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IHN0cmluZ0ZvclRleHRNYXJrZXJSYW5nZShB
Y2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlKik7DQorICAgIEpTUmV0YWluUHRyPEpTU3RyaW5n
UmVmPiByZWN0c0ZvclRleHRNYXJrZXJSYW5nZShBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdl
KiwgSlNTdHJpbmdSZWYpOw0KICAgICBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gYXR0cmlidXRl
ZFN0cmluZ0ZvclRleHRNYXJrZXJSYW5nZShBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlKik7
DQogICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBhdHRyaWJ1dGVkU3RyaW5nRm9yVGV4dE1h
cmtlclJhbmdlV2l0aE9wdGlvbnMoQWNjZXNzaWJpbGl0eVRleHRNYXJrZXJSYW5nZSosIGJvb2wp
Ow0KICAgICBpbnQgdGV4dE1hcmtlclJhbmdlTGVuZ3RoKEFjY2Vzc2liaWxpdHlUZXh0TWFya2Vy
UmFuZ2UqKTsNCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL0JpbmRpbmdzL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaWRsIGIvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50Lmlk
bA0KaW5kZXggMzVlYThkMjZjY2ZjLi4yNjI2NWE1Yzg1MGYgMTAwNjQ0DQotLS0gYS9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0FjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQuaWRsDQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0Jp
bmRpbmdzL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaWRsDQpAQCAtMjM1LDYgKzIzNSw3IEBADQog
ICAgIEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyIG5leHRUZXh0TWFya2VyKEFjY2Vzc2liaWxpdHlU
ZXh0TWFya2VyIG1hcmtlcik7DQogICAgIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQgYWNjZXNzaWJp
bGl0eUVsZW1lbnRGb3JUZXh0TWFya2VyKEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyIG1hcmtlcik7
DQogICAgIERPTVN0cmluZyBzdHJpbmdGb3JUZXh0TWFya2VyUmFuZ2UoQWNjZXNzaWJpbGl0eVRl
eHRNYXJrZXJSYW5nZSByYW5nZSk7DQorICAgIERPTVN0cmluZyByZWN0c0ZvclRleHRNYXJrZXJS
YW5nZShBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlIHJhbmdlLCBET01TdHJpbmcgc2VhcmNo
VGV4dCk7DQogICAgIERPTVN0cmluZyBhdHRyaWJ1dGVkU3RyaW5nRm9yVGV4dE1hcmtlclJhbmdl
KEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2UgcmFuZ2UpOw0KICAgICBET01TdHJpbmcgYXR0
cmlidXRlZFN0cmluZ0ZvclRleHRNYXJrZXJSYW5nZVdpdGhPcHRpb25zKEFjY2Vzc2liaWxpdHlU
ZXh0TWFya2VyUmFuZ2UgcmFuZ2UsIGJvb2xlYW4gaW5jbHVkZVNwZWxsQ2hlY2spOw0KICAgICBs
b25nIHRleHRNYXJrZXJSYW5nZUxlbmd0aChBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlIHJh
bmdlKTsNCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L2F0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRrLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdGsuY3BwDQppbmRl
eCBiMWRjNDJjOWUwNDMuLjRkY2Y0YzAzNzYxMSAxMDA2NDQNCi0tLSBhL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdGsuY3Bw
DQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3Np
YmlsaXR5VUlFbGVtZW50QXRrLmNwcA0KQEAgLTIxMjYsNiArMjEyNiwxMiBAQCBKU1JldGFpblB0
cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3RyaW5nRm9yVGV4dE1hcmtl
clJhbmdlKEFjY2Vzcw0KICAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygw
LCAwKTsNCiB9DQogDQorSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OnJlY3RzRm9yVGV4dE1hcmtlclJhbmdlKEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFu
Z2UqIG1hcmtlclJhbmdlLCBKU1N0cmluZ1JlZiBzZWFyY2hUZXh0KQ0KK3sNCisgICAgLy8gRklY
TUU6IGltcGxlbWVudA0KKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygw
LCAwKTsNCit9DQorDQogUmVmUHRyPEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2U+IEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OnRleHRNYXJrZXJSYW5nZUZvck1hcmtlcnMoQWNjZXNzaWJpbGl0
eVRleHRNYXJrZXIqIHN0YXJ0TWFya2VyLCBBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlciogZW5kTWFy
a2VyKQ0KIHsNCiAgICAgLy8gRklYTUU6IGltcGxlbWVudA0KZGlmZiAtLWdpdCBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvaW9zL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRJ
T1MubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2lvcy9BY2Nlc3Np
YmlsaXR5VUlFbGVtZW50SU9TLm1tDQppbmRleCBlZmQwOTg4YmQ4MGEuLjY5MDAyOGRiNjBhYSAx
MDA2NDQNCi0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvaW9zL0Fj
Y2Vzc2liaWxpdHlVSUVsZW1lbnRJT1MubW0NCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvaW9zL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRJT1MubW0NCkBAIC0xMDcs
NiArMTA3LDcgQEAgdHlwZWRlZiB2b2lkICgqQVhQb3N0ZWROb3RpZmljYXRpb25DYWxsYmFjayko
aWQgZWxlbWVudCwgTlNTdHJpbmcqIG5vdGlmaWNhdGlvbiwNCiAtIChOU0FycmF5ICopdGV4dE1h
cmtlclJhbmdlOw0KIC0gKE5TSW50ZWdlcilsZW5ndGhGb3JUZXh0TWFya2VyczooTlNBcnJheSAq
KXRleHRNYXJrZXJzOw0KIC0gKE5TU3RyaW5nICopc3RyaW5nRm9yVGV4dE1hcmtlcnM6KE5TQXJy
YXkgKiltYXJrZXJzOw0KKy0gKE5TQXJyYXkgKil0ZXh0UmVjdHNGcm9tTWFya2VyczooTlNBcnJh
eSAqKW1hcmtlcnMgd2l0aFRleHQ6KE5TU3RyaW5nICopdGV4dDsNCiAtIChpZClzdGFydE9yRW5k
VGV4dE1hcmtlckZvclRleHRNYXJrZXJzOihOU0FycmF5Kil0ZXh0TWFya2VycyBpc1N0YXJ0OihC
T09MKWlzU3RhcnQ7DQogLSAoTlNBcnJheSAqKXRleHRNYXJrZXJSYW5nZUZvck1hcmtlcnM6KE5T
QXJyYXkgKil0ZXh0TWFya2VyczsNCiAtIChOU0ludGVnZXIpcG9zaXRpb25Gb3JUZXh0TWFya2Vy
OihpZCltYXJrZXI7DQpAQCAtMTE5NSw2ICsxMTk2LDE0IEBAIEpTUmV0YWluUHRyPEpTU3RyaW5n
UmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdHJpbmdGb3JUZXh0TWFya2VyUmFuZ2UoQWNj
ZXNzDQogICAgIHJldHVybiBbW21fZWxlbWVudCBzdHJpbmdGb3JUZXh0TWFya2Vyczp0ZXh0TWFy
a2Vyc10gY3JlYXRlSlNTdHJpbmdSZWZdOw0KIH0NCiANCitKU1JldGFpblB0cjxKU1N0cmluZ1Jl
Zj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cmVjdHNGb3JUZXh0TWFya2VyUmFuZ2UoQWNjZXNz
aWJpbGl0eVRleHRNYXJrZXJSYW5nZSogbWFya2VyUmFuZ2UsIEpTU3RyaW5nUmVmIHRleHQpDQor
ew0KKyAgICBpZCB0ZXh0TWFya2VycyA9IG1hcmtlclJhbmdlLT5wbGF0Zm9ybVRleHRNYXJrZXJS
YW5nZSgpOw0KKyAgICBpZiAoIVt0ZXh0TWFya2VycyBpc0tpbmRPZkNsYXNzOltOU0FycmF5IGNs
YXNzXV0pDQorICAgICAgICByZXR1cm4gY3JlYXRlSlNTdHJpbmcoKTsNCisgICAgcmV0dXJuIFtb
W21fZWxlbWVudCB0ZXh0UmVjdHNGcm9tTWFya2Vyczp0ZXh0TWFya2VycyB3aXRoVGV4dDpbTlNT
dHJpbmcgc3RyaW5nV2l0aEpTU3RyaW5nUmVmOnRleHRdXSBjb21wb25lbnRzSm9pbmVkQnlTdHJp
bmc6QCIsIl0gY3JlYXRlSlNTdHJpbmdSZWZdOw0KK30NCisNCiBSZWZQdHI8QWNjZXNzaWJpbGl0
eVRleHRNYXJrZXJSYW5nZT4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dGV4dE1hcmtlclJhbmdl
Rm9yTWFya2VycyhBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlciogc3RhcnRNYXJrZXIsIEFjY2Vzc2li
aWxpdHlUZXh0TWFya2VyKiBlbmRNYXJrZXIpDQogew0KICAgICBOU0FycmF5ICp0ZXh0TWFya2Vy
cyA9IEBbc3RhcnRNYXJrZXItPnBsYXRmb3JtVGV4dE1hcmtlcigpLCBlbmRNYXJrZXItPnBsYXRm
b3JtVGV4dE1hcmtlcigpXTsNCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1h
Yy5tbQ0KaW5kZXggMDc3YzA0OGU5ZmFmLi5kZGQ4ZDU4MDBiZjggMTAwNjQ0DQotLS0gYS9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50TWFjLm1tDQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21h
Yy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tDQpAQCAtMTgxOSw2ICsxODE5LDEyIEBAIEpT
UmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdHJpbmdGb3JU
ZXh0TWFya2VyUmFuZ2UoQWNjZXNzDQogICAgIHJldHVybiBudWxscHRyOw0KIH0NCiANCitKU1Jl
dGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cmVjdHNGb3JUZXh0
TWFya2VyUmFuZ2UoQWNjZXNzaWJpbGl0eVRleHRNYXJrZXJSYW5nZSosIEpTU3RyaW5nUmVmKQ0K
K3sNCisgICAgLy8gTm90IGltcGxlbWVudGVkIG9uIG1hY09TDQorICAgIHJldHVybiBudWxscHRy
Ow0KK30NCisNCiBSZWZQdHI8QWNjZXNzaWJpbGl0eVRleHRNYXJrZXJSYW5nZT4gQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6dGV4dE1hcmtlclJhbmdlRm9yTWFya2VycyhBY2Nlc3NpYmlsaXR5VGV4
dE1hcmtlciogc3RhcnRNYXJrZXIsIEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyKiBlbmRNYXJrZXIp
DQogew0KICAgICBCRUdJTl9BWF9PQkpDX0VYQ0VQVElPTlMNCmRpZmYgLS1naXQgYS9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL3dpbi9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50
V2luLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvd2luL0FjY2Vz
c2liaWxpdHlVSUVsZW1lbnRXaW4uY3BwDQppbmRleCA5NzljYTk1OGQ4NzEuLmY2MWVlOGQ5NzQ1
YiAxMDA2NDQNCi0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvd2lu
L0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRXaW4uY3BwDQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL3dpbi9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50V2luLmNwcA0KQEAg
LTgxNCw2ICs4MTQsMTIgQEAgUmVmUHRyPEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyPiBBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50OjpuZXh0VGV4dE1hcmtlcihBY2Nlc3NpYmkNCiAgICAgcmV0dXJuIG51
bGxwdHI7DQogfQ0KIA0KK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjpyZWN0c0ZvclRleHRNYXJrZXJSYW5nZShBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJh
bmdlKiwgSlNTdHJpbmdSZWYpDQorew0KKyAgICBub3RJbXBsZW1lbnRlZCgpOw0KKyAgICByZXR1
cm4gbnVsbHB0cjsNCit9DQorDQogSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OnN0cmluZ0ZvclRleHRNYXJrZXJSYW5nZShBY2Nlc3NpYmlsaXR5VGV4dE1h
cmtlclJhbmdlKikNCiB7DQogICAgIG5vdEltcGxlbWVudGVkKCk7DQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>