<?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>236580</bug_id>
          
          <creation_ts>2022-02-14 02:03:04 -0800</creation_ts>
          <short_desc>[CSS Container Queries] Implement full query parser and evaluator</short_desc>
          <delta_ts>2022-02-15 21:04:05 -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>CSS</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=236687</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>229659</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Antti Koivisto">koivisto</assigned_to>
          <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1841169</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-02-14 02:03:04 -0800</bug_when>
    <thetext>So far we have been using the media query parser to parse container queries. It does not support nesting and other necessary features. Also the produced data structure are awkward to evaluate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1841170</commentid>
    <comment_count>1</comment_count>
      <attachid>451874</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-02-14 02:09:06 -0800</bug_when>
    <thetext>Created attachment 451874
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1841188</commentid>
    <comment_count>2</comment_count>
      <attachid>451880</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-02-14 03:38:51 -0800</bug_when>
    <thetext>Created attachment 451880
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1841195</commentid>
    <comment_count>3</comment_count>
      <attachid>451884</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-02-14 04:08:04 -0800</bug_when>
    <thetext>Created attachment 451884
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1841217</commentid>
    <comment_count>4</comment_count>
      <attachid>451894</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-02-14 05:21:17 -0800</bug_when>
    <thetext>Created attachment 451894
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1841285</commentid>
    <comment_count>5</comment_count>
      <attachid>451894</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2022-02-14 09:30:47 -0800</bug_when>
    <thetext>Comment on attachment 451894
Patch

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

&gt; Source/WebCore/css/ContainerQuery.h:45
&gt; +enum class ComparisonOperator : uint8_t { Less, LessOrEqual, Equal, Greater, GreaterOrEqual, True };

I would replace `Less` and `Greater` with `LessThan` and `GreaterThan` (also in the OrEqual variants) as that is usually what we call these.

&gt; Source/WebCore/css/ContainerQueryParser.cpp:42
&gt; +        bool isSizeQuery = equalIgnoringASCIICase(range.peek().value(), &quot;size&quot;);

Could you instead do:

bool isSizeQuery = range.peek().functionId() == CSSValueSize;

?

&gt; Source/WebCore/css/ContainerQueryParser.cpp:89
&gt; +        if (equalIgnoringASCIICase(range.peek().value(), &quot;not&quot;)) {

Again, can this be compared against the CSSValueNot ident rather than the explicit string check?

&gt; Source/WebCore/css/ContainerQueryParser.cpp:143
&gt; +    auto name = nameToken.value().toAtomString();

I think delaying the toAtomString() until it is needed might be a little more efficient and avoid an unnecessary atomization in some cases.

&gt; Source/WebCore/css/ContainerQueryParser.cpp:146
&gt; +        return CQ::SizeFeature { CQ::ComparisonOperator::True, name, { } };

I would WTFMove(name) here.

&gt; Source/WebCore/css/ContainerQueryParser.cpp:161
&gt; +            name = StringView(name).substring(4).toAtomString();

I can&apos;t exactly remember how this works with AtomStrings, but I think you want to instead do something like:

name = name.string().substring(4).toAtomString();

to potentially get the shared substring optimization.

&gt; Source/WebCore/css/ContainerQueryParser.cpp:170
&gt; +    return CQ::SizeFeature { op, name, length };

I would WTFMove(name) here.

&gt; Source/WebCore/style/ContainerQueryEvaluator.cpp:186
&gt; +    // FIXME: Support all features.

An evergreen comment :).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1841309</commentid>
    <comment_count>6</comment_count>
      <attachid>451921</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-02-14 10:16:40 -0800</bug_when>
    <thetext>Created attachment 451921
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1841325</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-02-14 11:07:12 -0800</bug_when>
    <thetext>Committed r289742 (247226@main): &lt;https://commits.webkit.org/247226@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 451921.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1841326</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-02-14 11:08:21 -0800</bug_when>
    <thetext>&lt;rdar://problem/88916234&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451874</attachid>
            <date>2022-02-14 02:09:06 -0800</date>
            <delta_ts>2022-02-14 03:38:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236580-20220214120904.patch</filename>
            <type>text/plain</type>
            <size>46541</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5NzA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzAyNWJhMjg0MWVjMGY2
N2E3Zjg1YWVlYmYwN2U2ZTg5OThiYWFhOC4uYzQ0MjJkNWNiYzU5MDlhZTgyMTFiNDA1MTg1Nzg5
ZTUwMmU0MmVhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDIyLTAyLTE0ICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBbQ1NTIENvbnRhaW5lciBR
dWVyaWVzXSBJbXBsZW1lbnQgZnVsbCBxdWVyeSBwYXJzZXIgYW5kIGV2YWx1YXRvcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2NTgwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU28gZmFyIHdlIGhhdmUg
YmVlbiB1c2luZyB0aGUgbWVkaWEgcXVlcnkgcGFyc2VyIHRvIHBhcnNlIGNvbnRhaW5lciBxdWVy
aWVzLgorICAgICAgICBJdCBkb2VzIG5vdCBzdXBwb3J0IG5lc3RpbmcgYW5kIG90aGVyIG5lY2Vz
c2FyeSBmZWF0dXJlcy4gQWxzbyB0aGUgcHJvZHVjZWQgZGF0YQorICAgICAgICBzdHJ1Y3R1cmUg
YXJlIGF3a3dhcmQgdG8gZXZhbHVhdGUuCisKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAg
ICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogY3NzL0Nv
bnRhaW5lclF1ZXJ5Lmg6CisgICAgICAgICogY3NzL0NvbnRhaW5lclF1ZXJ5UGFyc2VyLmNwcDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDb250YWluZXJRdWVyeVBhcnNlcjo6cGFyc2UpOgor
ICAgICAgICAoV2ViQ29yZTo6Q29udGFpbmVyUXVlcnlQYXJzZXI6OmNvbnN1bWVDb250YWluZXJR
dWVyeSk6CisgICAgICAgIChXZWJDb3JlOjpDb250YWluZXJRdWVyeVBhcnNlcjo6Y29uc3VtZUNv
bmRpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpDb250YWluZXJRdWVyeVBhcnNlcjo6Y29uc3Vt
ZVNpemVRdWVyeSk6CisKKyAgICAgICAgTm8gc3VwcG9ydCBmb3IgcmFuZ2Ugb3BlcmF0b3JzICgn
PCcgZXRjKSB5ZXQuCisKKyAgICAgICAgKiBjc3MvQ29udGFpbmVyUXVlcnlQYXJzZXIuaDogQ29w
aWVkIGZyb20gU291cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5LmguCisgICAgICAgIChX
ZWJDb3JlOjpDb250YWluZXJRdWVyeVBhcnNlcjo6Q29udGFpbmVyUXVlcnlQYXJzZXIpOgorICAg
ICAgICAqIGNzcy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
U1NQYXJzZXJJbXBsOjpjb25zdW1lQ29udGFpbmVyUnVsZSk6CisgICAgICAgICogc3R5bGUvQ29u
dGFpbmVyUXVlcnlFdmFsdWF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OmNvbXB1
dGVTaXplKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpDb250YWluZXJRdWVyeUV2YWx1YXRv
cjo6ZXZhbHVhdGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkNvbnRhaW5lclF1
ZXJ5RXZhbHVhdG9yOjpldmFsdWF0ZVF1ZXJ5IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlN0
eWxlOjpDb250YWluZXJRdWVyeUV2YWx1YXRvcjo6ZXZhbHVhdGVDb25kaXRpb24gY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkNvbnRhaW5lclF1ZXJ5RXZhbHVhdG9yOjpldmFsdWF0
ZVNpemVGZWF0dXJlIGNvbnN0KToKKworICAgICAgICBKdXN0ICd3aWR0aCcgYW5kICdoZWlnaHQn
IGZvciBub3csIG5vdyBuZXcgc2l6ZSBmZWF0dXJlcy4KKworICAgICAgICAqIHN0eWxlL0NvbnRh
aW5lclF1ZXJ5RXZhbHVhdG9yLmg6CisKIDIwMjItMDItMTMgIEFudHRpIEtvaXZpc3RvICA8YW50
dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFtDU1MgQ29udGFpbmVyIFF1ZXJpZXNdIEFkZCBzZXBh
cmF0ZSBDb250YWluZXJRdWVyeSBhbmQgRmlsdGVyZWRDb250YWluZXJRdWVyeSB0eXBlcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3Vy
Y2VzLnR4dAppbmRleCAyMDE5MDU2MmMxMzM2MTY4MzI1YTM0OThlNWIzMWQ0MDgyZGI2N2NiLi5i
Y2IzOWVjMzYwMDk1NDIyNWQ4NWFjZTQ1Y2JmMDliMjM5OTMwNjk0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApA
QCAtNzA0LDYgKzcwNCw3IEBAIGNyeXB0by9rZXlzL0NyeXB0b0tleVJTQS5jcHAKIGNyeXB0by9r
ZXlzL0NyeXB0b0tleVJTQUNvbXBvbmVudHMuY3BwCiBjcnlwdG8va2V5cy9DcnlwdG9LZXlSYXcu
Y3BwCiBjc3MvQmFzaWNTaGFwZUZ1bmN0aW9ucy5jcHAKK2Nzcy9Db250YWluZXJRdWVyeVBhcnNl
ci5jcHAKIGNzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcAogY3NzL0NTU0Jhc2ljU2hhcGVzLmNw
cAogY3NzL0NTU0JvcmRlckltYWdlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGYzYzM1MjRiNDU3NmM0NjVkZTdmZWUxOTMz
OTk0NTliNTkxYjViZjguLmNkZGZmZjY2ZDdiM2JhNzY1NDNiZjk2MjhiMWI0NDU4NTIxZjE4M2Qg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTU0MjksNiArNTQyOSw3IEBACiAJCUU0RUQzRUNDMjc2OEE1MUQwMEYxN0FDOCAvKiBI
YXNTZWxlY3RvckZpbHRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRTRFRDNFQ0EyNzY4QTUxQzAwRjE3QUM4IC8qIEhhc1NlbGVjdG9yRmlsdGVyLmgg
Ki87IH07CiAJCUU0RjBCRTMxMjU3MTJGNkUwMDlFNzQzMSAvKiBDYXJldFJlY3RDb21wdXRhdGlv
bi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRGMEJF
MkUyNTcxMEE3NTAwOUU3NDMxIC8qIENhcmV0UmVjdENvbXB1dGF0aW9uLmggKi87IH07CiAJCUU0
RjE1NzM5MjdCOTI2MTUwMEIzMzBEOCAvKiBDb250YWluZXJRdWVyeS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRGMTU3MzIyN0I2OTkxRjAwQjMzMEQ4
IC8qIENvbnRhaW5lclF1ZXJ5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJRTRGMTU3NDEyN0I5M0I3NzAwQjMzMEQ4IC8qIENvbnRhaW5lclF1ZXJ5
UGFyc2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBF
NEYxNTczRDI3QjkzQjRDMDBCMzMwRDggLyogQ29udGFpbmVyUXVlcnlQYXJzZXIuaCAqLzsgfTsK
IAkJRTRGMzhEMUIyNjI2RjEzQjAwN0IxMDY0IC8qIERlZmF1bHRSZXNvdXJjZUxvYWRQcmlvcml0
eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRGMzhE
MTkyNjI2RjEzQjAwN0IxMDY0IC8qIERlZmF1bHRSZXNvdXJjZUxvYWRQcmlvcml0eS5oICovOyB9
OwogCQlFNEY4MTlDNjI2RkI0RUJGMDA5NEUxNjIgLyogSW5saW5lQm94UGFpbnRlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRGODE5QzUyNkZCNEVC
RjAwOTRFMTYyIC8qIElubGluZUJveFBhaW50ZXIuaCAqLzsgfTsKIAkJRTRGOUVFRjMxNTZEQTAw
NzAwRDIzRTdFIC8qIFN0eWxlU2hlZXRDb250ZW50cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRGOUVFRjExNTZEODRDNDAwRDIzRTdFIC8qIFN0eWxl
U2hlZXRDb250ZW50cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CkBAIC0xNzYxMSw2ICsxNzYxMiw4IEBACiAJCUU0RjBCRTJFMjU3MTBBNzUwMDlFNzQz
MSAvKiBDYXJldFJlY3RDb21wdXRhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBDYXJldFJlY3RDb21wdXRhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlFNEYwQkUzMDI1NzEwQTc2MDA5RTc0MzEgLyogQ2FyZXRSZWN0Q29tcHV0YXRpb24uY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2FyZXRSZWN0Q29tcHV0YXRpb24u
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNEYxNTczMjI3QjY5OTFGMDBCMzMw
RDggLyogQ29udGFpbmVyUXVlcnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29udGFpbmVyUXVlcnkuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTRGMTU3M0QyN0I5M0I0QzAwQjMzMEQ4IC8q
IENvbnRhaW5lclF1ZXJ5UGFyc2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRhaW5lclF1ZXJ5UGFy
c2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUU0RjE1NzNGMjdCOTNCNTgwMEIz
MzBEOCAvKiBDb250YWluZXJRdWVyeVBhcnNlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDb250
YWluZXJRdWVyeVBhcnNlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0RjM4
RDE5MjYyNkYxM0IwMDdCMTA2NCAvKiBEZWZhdWx0UmVzb3VyY2VMb2FkUHJpb3JpdHkuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGVmYXVsdFJlc291cmNlTG9hZFByaW9yaXR5
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0RjM4RDFDMjYyNkYxNDQwMDdCMTA2
NCAvKiBEZWZhdWx0UmVzb3VyY2VMb2FkUHJpb3JpdHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gRGVmYXVsdFJlc291cmNlTG9hZFByaW9yaXR5LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTRGODE5QzIyNkZCNEVBRjAwOTRFMTYyIC8qIElubGlu
ZUJveFBhaW50ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5s
aW5lQm94UGFpbnRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zMTU5Niw2
ICszMTU5OSw4IEBACiAJCQkJRkJENkFGODQxNUVGMjFENDAwOEI3MTEwIC8qIEJhc2ljU2hhcGVG
dW5jdGlvbnMuY3BwICovLAogCQkJCUZCRDZBRjg1MTVFRjIxRDQwMDhCNzExMCAvKiBCYXNpY1No
YXBlRnVuY3Rpb25zLmggKi8sCiAJCQkJRTRGMTU3MzIyN0I2OTkxRjAwQjMzMEQ4IC8qIENvbnRh
aW5lclF1ZXJ5LmggKi8sCisJCQkJRTRGMTU3M0YyN0I5M0I1ODAwQjMzMEQ4IC8qIENvbnRhaW5l
clF1ZXJ5UGFyc2VyLmNwcCAqLywKKwkJCQlFNEYxNTczRDI3QjkzQjRDMDBCMzMwRDggLyogQ29u
dGFpbmVyUXVlcnlQYXJzZXIuaCAqLywKIAkJCQlBODBFNkNEQTBBMTk4OUNBMDA3RkI4QzUgLyog
Q291bnRlci5oICovLAogCQkJCUNBRTlGOTBEMTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3BlY3RS
YXRpb1ZhbHVlLmNwcCAqLywKIAkJCQlDQUU5RjkwRTE0NjQ0MUYwMDBDMjQ1QjAgLyogQ1NTQXNw
ZWN0UmF0aW9WYWx1ZS5oICovLApAQCAtMzM4NzEsNyArMzM4NzYsOSBAQAogCQkJCUU1OTZERDM1
MjUxOTA0MTQwMEMyNzVBNyAvKiBDb250YWN0c1NlbGVjdE9wdGlvbnMuaCBpbiBIZWFkZXJzICov
LAogCQkJCUE4MTg3MjFDMDk3N0QzQzAwMDU4MjZEOSAvKiBDb250YWluZXJOb2RlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlFMUExNDcwODExMTAyQjE1MDBFRUMwRjMgLyogQ29udGFpbmVyTm9kZUFs
Z29yaXRobXMuaCBpbiBIZWFkZXJzICovLAorCQkJCUU0RjE1NzM5MjdCOTI2MTUwMEIzMzBEOCAv
KiBDb250YWluZXJRdWVyeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTRBQUIzODcyN0FBOTVENzAw
OUY1ODk5IC8qIENvbnRhaW5lclF1ZXJ5RXZhbHVhdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQlF
NEYxNTc0MTI3QjkzQjc3MDBCMzMwRDggLyogQ29udGFpbmVyUXVlcnlQYXJzZXIuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTZGQjVFMjE0MjIxRjI0NTMwMDM5ODlDRiAvKiBDb250ZW50Q2hhbmdlT2Jz
ZXJ2ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNUVCOTgxMEU4MjA3MjUwMEIyNTk2NSAvKiBD
b250ZW50RGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFCNDVEMjExQUI4RDFFMjAwMTE3Q0Qy
IC8qIENvbnRlbnRFeHRlbnNpb24uaCBpbiBIZWFkZXJzICovLApAQCAtMzcxODgsNyArMzcxOTUs
NiBAQAogCQkJCUU0NTMyMkFDMTQwQ0UyNjcwMDVBMEY5MiAvKiBTZWxlY3RvclF1ZXJ5LmggaW4g
SGVhZGVycyAqLywKIAkJCQlGNEQ0M0Q2NjIxODgwMzhCMDBFQ0VDQUMgLyogU2VyaWFsaXplZEF0
dGFjaG1lbnREYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMThERjMzNTE4QUFGMTJDMDA3NzNF
NTkgLyogU2VyaWFsaXplZENyeXB0b0tleVdyYXAuaCBpbiBIZWFkZXJzICovLAotCQkJCUU0RjE1
NzM5MjdCOTI2MTUwMEIzMzBEOCAvKiBDb250YWluZXJRdWVyeS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMDc3QUYxNDAxOEY0QUU0MDAwMDFFRDYxIC8qIFNlcmlhbGl6ZWRQbGF0Zm9ybURhdGFDdWUu
aCBpbiBIZWFkZXJzICovLAogCQkJCTA3N0FGMTQzMThGNEIxQkIwMDAxRUQ2MSAvKiBTZXJpYWxp
emVkUGxhdGZvcm1EYXRhQ3VlTWFjLmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzZEMUMxRjIzRjZF
QjVCMDBEOTVCMDYgLyogU2VyaWFsaXplZFBsYXRmb3JtRGF0YUN1ZVZhbHVlLmggaW4gSGVhZGVy
cyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Db250YWluZXJRdWVyeS5oIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5LmgKaW5kZXggOGQ4ZGUwYzAwYzViMjE5
ZTQwZjU4ZDYyNjU2ODQyMDUzYjliNTIwYi4uNzY5NjZkODkzZGU1MDg5N2I0M2VlYWJmYjdjOTNi
YWY3MjQ2ODgxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5LmgKQEAgLTI0LDE3ICsy
NCw1MCBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgIkxlbmd0aC5oIgogI2luY2x1ZGUg
PHd0Zi90ZXh0L0F0b21TdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBN
ZWRpYVF1ZXJ5U2V0OworY2xhc3MgQ1NTUHJpbWl0aXZlVmFsdWU7CiAKLXVzaW5nIENvbnRhaW5l
clF1ZXJ5ID0gTWVkaWFRdWVyeVNldDsKK25hbWVzcGFjZSBDUSB7CisKK3N0cnVjdCBDb250YWlu
ZXJDb25kaXRpb247CitzdHJ1Y3QgU2l6ZUNvbmRpdGlvbjsKK3N0cnVjdCBTaXplRmVhdHVyZTsK
Kworc3RydWN0IFVua25vd25RdWVyeSB7IH07CisKK3VzaW5nIFNpemVRdWVyeSA9IHN0ZDo6dmFy
aWFudDxTaXplQ29uZGl0aW9uLCBTaXplRmVhdHVyZT47Cit1c2luZyBDb250YWluZXJRdWVyeSA9
IHN0ZDo6dmFyaWFudDxDb250YWluZXJDb25kaXRpb24sIFNpemVRdWVyeSwgVW5rbm93blF1ZXJ5
PjsKKworZW51bSBjbGFzcyBMb2dpY2FsT3BlcmF0b3IgOiB1aW50OF90IHsgQW5kLCBPciwgTm90
IH07CitlbnVtIGNsYXNzIENvbXBhcmlzb25PcGVyYXRvciA6IHVpbnQ4X3QgeyBMZXNzLCBMZXNz
T3JFcXVhbCwgRXF1YWwsIEdyZWF0ZXIsIEdyZWF0ZXJPckVxdWFsLCBUcnVlIH07CisKK3N0cnVj
dCBDb250YWluZXJDb25kaXRpb24geworICAgIExvZ2ljYWxPcGVyYXRvciBsb2dpY2FsT3BlcmF0
b3IgeyBMb2dpY2FsT3BlcmF0b3I6OkFuZCB9OworICAgIFZlY3RvcjxDb250YWluZXJRdWVyeT4g
cXVlcmllczsKK307CisKK3N0cnVjdCBTaXplQ29uZGl0aW9uIHsKKyAgICBMb2dpY2FsT3BlcmF0
b3IgbG9naWNhbE9wZXJhdG9yIHsgTG9naWNhbE9wZXJhdG9yOjpBbmQgfTsKKyAgICBWZWN0b3I8
U2l6ZVF1ZXJ5PiBxdWVyaWVzOworfTsKKworc3RydWN0IFNpemVGZWF0dXJlIHsKKyAgICBDb21w
YXJpc29uT3BlcmF0b3IgY29tcGFyaXNvbk9wZXJhdG9yIHsgQ29tcGFyaXNvbk9wZXJhdG9yOjpF
cXVhbCB9OworICAgIEF0b21TdHJpbmcgbmFtZTsKKyAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFs
dWU+IHZhbHVlOworfTsKKworfQorCit1c2luZyBDb250YWluZXJRdWVyeSA9IENROjpDb250YWlu
ZXJRdWVyeTsKIAogc3RydWN0IEZpbHRlcmVkQ29udGFpbmVyUXVlcnkgewogICAgIEF0b21TdHJp
bmcgbmFtZUZpbHRlcjsKLSAgICBSZWY8Q29udGFpbmVyUXVlcnk+IHF1ZXJ5OworICAgIENvbnRh
aW5lclF1ZXJ5IHF1ZXJ5OwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NvbnRhaW5lclF1ZXJ5UGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9Db250YWluZXJR
dWVyeVBhcnNlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWNlODFiYjM1NDExMTNmYjk2YTllYzhkNTcyNmYz
YWE0YzI2NTViYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9Db250YWlu
ZXJRdWVyeVBhcnNlci5jcHAKQEAgLTAsMCArMSwxNzAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNvbnRhaW5lclF1ZXJ5
UGFyc2VyLmgiCisKKyNpbmNsdWRlICJDU1NQcmltaXRpdmVWYWx1ZS5oIgorI2luY2x1ZGUgIkNT
U1Byb3BlcnR5UGFyc2VySGVscGVycy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0ZDo6
b3B0aW9uYWw8Q29udGFpbmVyUXVlcnk+IENvbnRhaW5lclF1ZXJ5UGFyc2VyOjpwYXJzZShDU1NQ
YXJzZXJUb2tlblJhbmdlJiByYW5nZSwgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkK
K3sKKyAgICBDb250YWluZXJRdWVyeVBhcnNlciBwYXJzZXIoY29udGV4dCk7CisgICAgcmV0dXJu
IHBhcnNlci5jb25zdW1lQ29udGFpbmVyUXVlcnkocmFuZ2UpOworfQorCitzdGQ6Om9wdGlvbmFs
PENROjpDb250YWluZXJRdWVyeT4gQ29udGFpbmVyUXVlcnlQYXJzZXI6OmNvbnN1bWVDb250YWlu
ZXJRdWVyeShDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSkKK3sKKyAgICBpZiAocmFuZ2UucGVl
aygpLnR5cGUoKSA9PSBGdW5jdGlvblRva2VuKSB7CisgICAgICAgIGJvb2wgaXNTaXplUXVlcnkg
PSBlcXVhbElnbm9yaW5nQVNDSUlDYXNlKHJhbmdlLnBlZWsoKS52YWx1ZSgpLCAic2l6ZSIpOwor
CisgICAgICAgIGF1dG8gYmxvY2tSYW5nZSA9IHJhbmdlLmNvbnN1bWVCbG9jaygpOworICAgICAg
ICBibG9ja1JhbmdlLmNvbnN1bWVXaGl0ZXNwYWNlKCk7CisKKyAgICAgICAgaWYgKCFpc1NpemVR
dWVyeSkKKyAgICAgICAgICAgIHJldHVybiBDUTo6VW5rbm93blF1ZXJ5IHsgfTsKKworICAgICAg
ICBhdXRvIHNpemVRdWVyeSA9IGNvbnN1bWVTaXplUXVlcnkoYmxvY2tSYW5nZSk7CisgICAgICAg
IGlmICghc2l6ZVF1ZXJ5KQorICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgcmV0dXJu
IHsgKnNpemVRdWVyeSB9OworICAgIH0KKworICAgIGlmIChyYW5nZS5wZWVrKCkudHlwZSgpID09
IExlZnRQYXJlbnRoZXNpc1Rva2VuKSB7CisgICAgICAgIGF1dG8gYmxvY2tSYW5nZSA9IHJhbmdl
LmNvbnN1bWVCbG9jaygpOworICAgICAgICBibG9ja1JhbmdlLmNvbnN1bWVXaGl0ZXNwYWNlKCk7
CisKKyAgICAgICAgLy8gVHJ5IHRvIHBhcnNlIGFzIGEgc2l6ZSBxdWVyeSBmaXJzdC4KKyAgICAg
ICAgYXV0byBibG9ja0ZvclNpemVRdWVyeSA9IGJsb2NrUmFuZ2U7CisgICAgICAgIGlmIChhdXRv
IHNpemVRdWVyeSA9IGNvbnN1bWVTaXplUXVlcnkoYmxvY2tGb3JTaXplUXVlcnkpKQorICAgICAg
ICAgICAgcmV0dXJuIHsgKnNpemVRdWVyeSB9OworCisgICAgICAgIGlmIChhdXRvIGNvbmRpdGlv
biA9IGNvbnN1bWVDb25kaXRpb248Q1E6OkNvbnRhaW5lckNvbmRpdGlvbj4oYmxvY2tSYW5nZSkp
CisgICAgICAgICAgICByZXR1cm4geyBjb25kaXRpb24gfTsKKyAgICB9CisKKyAgICByZXR1cm4g
eyB9OworfQorCit0ZW1wbGF0ZTx0eXBlbmFtZSBDb25kaXRpb25UeXBlPgorc3RkOjpvcHRpb25h
bDxDb25kaXRpb25UeXBlPiBDb250YWluZXJRdWVyeVBhcnNlcjo6Y29uc3VtZUNvbmRpdGlvbihD
U1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSkKK3sKKyAgICBhdXRvIGNvbnN1bWVRdWVyeSA9IFsm
XShDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSkgeworICAgICAgICBpZiBjb25zdGV4cHIgKHN0
ZDo6aXNfc2FtZV92PENROjpDb250YWluZXJDb25kaXRpb24sIENvbmRpdGlvblR5cGU+KQorICAg
ICAgICAgICAgcmV0dXJuIGNvbnN1bWVDb250YWluZXJRdWVyeShyYW5nZSk7CisgICAgICAgIGlm
IGNvbnN0ZXhwciAoc3RkOjppc19zYW1lX3Y8Q1E6OlNpemVDb25kaXRpb24sIENvbmRpdGlvblR5
cGU+KSB7CisgICAgICAgICAgICBpZiAocmFuZ2UucGVlaygpLnR5cGUoKSAhPSBMZWZ0UGFyZW50
aGVzaXNUb2tlbikKKyAgICAgICAgICAgICAgICByZXR1cm4gc3RkOjpvcHRpb25hbDxDUTo6U2l6
ZVF1ZXJ5PigpOworICAgICAgICAgICAgYXV0byBibG9ja1JhbmdlID0gcmFuZ2UuY29uc3VtZUJs
b2NrKCk7CisgICAgICAgICAgICByZXR1cm4gY29uc3VtZVNpemVRdWVyeShibG9ja1JhbmdlKTsK
KyAgICAgICAgfQorICAgIH07CisKKyAgICBpZiAocmFuZ2UucGVlaygpLnR5cGUoKSA9PSBJZGVu
dFRva2VuKSB7CisgICAgICAgIGlmIChlcXVhbElnbm9yaW5nQVNDSUlDYXNlKHJhbmdlLnBlZWso
KS52YWx1ZSgpLCAibm90IikpIHsKKyAgICAgICAgICAgIHJhbmdlLmNvbnN1bWVJbmNsdWRpbmdX
aGl0ZXNwYWNlKCk7CisgICAgICAgICAgICBpZiAoYXV0byBxdWVyeSA9IGNvbnN1bWVRdWVyeShy
YW5nZSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIENvbmRpdGlvblR5cGUgeyBDUTo6TG9naWNh
bE9wZXJhdG9yOjpOb3QsIHsgKnF1ZXJ5IH0gfTsKKyAgICAgICAgICAgIHJldHVybiB7IH07Cisg
ICAgICAgIH0KKyAgICB9CisKKyAgICBDb25kaXRpb25UeXBlIGNvbmRpdGlvbjsKKworICAgIGF1
dG8gcXVlcnkgPSBjb25zdW1lUXVlcnkocmFuZ2UpOworICAgIGlmICghcXVlcnkpCisgICAgICAg
IHJldHVybiB7IH07CisKKyAgICBjb25kaXRpb24ucXVlcmllcy5hcHBlbmQoKnF1ZXJ5KTsKKyAg
ICByYW5nZS5jb25zdW1lV2hpdGVzcGFjZSgpOworCisgICAgd2hpbGUgKCFyYW5nZS5hdEVuZCgp
KSB7CisgICAgICAgIGF1dG8gb3BlcmF0b3JUb2tlbiA9IHJhbmdlLmNvbnN1bWVJbmNsdWRpbmdX
aGl0ZXNwYWNlKCk7CisKKyAgICAgICAgaWYgKG9wZXJhdG9yVG9rZW4udHlwZSgpICE9IElkZW50
VG9rZW4pCisgICAgICAgICAgICByZXR1cm4geyB9OworICAgICAgICBpZiAoZXF1YWxJZ25vcmlu
Z0FTQ0lJQ2FzZShvcGVyYXRvclRva2VuLnZhbHVlKCksICJhbmQiKSkgeworICAgICAgICAgICAg
aWYgKGNvbmRpdGlvbi5xdWVyaWVzLnNpemUoKSA+IDEgJiYgY29uZGl0aW9uLmxvZ2ljYWxPcGVy
YXRvciAhPSBDUTo6TG9naWNhbE9wZXJhdG9yOjpBbmQpCisgICAgICAgICAgICAgICAgcmV0dXJu
IHsgfTsKKyAgICAgICAgICAgIGNvbmRpdGlvbi5sb2dpY2FsT3BlcmF0b3IgPSBDUTo6TG9naWNh
bE9wZXJhdG9yOjpBbmQ7CisgICAgICAgIH0gZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0FTQ0lJQ2Fz
ZShvcGVyYXRvclRva2VuLnZhbHVlKCksICJvciIpKSB7CisgICAgICAgICAgICBpZiAoY29uZGl0
aW9uLnF1ZXJpZXMuc2l6ZSgpID4gMSAmJiBjb25kaXRpb24ubG9naWNhbE9wZXJhdG9yICE9IENR
OjpMb2dpY2FsT3BlcmF0b3I6Ok9yKQorICAgICAgICAgICAgICAgIHJldHVybiB7IH07CisgICAg
ICAgICAgICBjb25kaXRpb24ubG9naWNhbE9wZXJhdG9yID0gQ1E6OkxvZ2ljYWxPcGVyYXRvcjo6
T3I7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgcmV0dXJuIHsgfTsKKworICAgICAgICBh
dXRvIHF1ZXJ5ID0gY29uc3VtZVF1ZXJ5KHJhbmdlKTsKKyAgICAgICAgaWYgKCFxdWVyeSkKKyAg
ICAgICAgICAgIHJldHVybiB7IH07CisKKyAgICAgICAgY29uZGl0aW9uLnF1ZXJpZXMuYXBwZW5k
KCpxdWVyeSk7CisgICAgICAgIHJhbmdlLmNvbnN1bWVXaGl0ZXNwYWNlKCk7CisgICAgfQorCisg
ICAgcmV0dXJuIGNvbmRpdGlvbjsKK30KKworc3RkOjpvcHRpb25hbDxDUTo6U2l6ZVF1ZXJ5PiBD
b250YWluZXJRdWVyeVBhcnNlcjo6Y29uc3VtZVNpemVRdWVyeShDU1NQYXJzZXJUb2tlblJhbmdl
JiByYW5nZSkKK3sKKyAgICBpZiAocmFuZ2UucGVlaygpLnR5cGUoKSAhPSBJZGVudFRva2VuIHx8
IGVxdWFsSWdub3JpbmdBU0NJSUNhc2UocmFuZ2UucGVlaygpLnZhbHVlKCksICJub3QiKSkgewor
ICAgICAgICBhdXRvIHNpemVDb25kaXRpb24gPSBjb25zdW1lQ29uZGl0aW9uPENROjpTaXplQ29u
ZGl0aW9uPihyYW5nZSk7CisgICAgICAgIGlmICghc2l6ZUNvbmRpdGlvbikKKyAgICAgICAgICAg
IHJldHVybiB7IH07CisgICAgICAgIHJldHVybiB7ICpzaXplQ29uZGl0aW9uIH07CisgICAgfQor
CisgICAgYXV0byBuYW1lVG9rZW4gPSByYW5nZS5jb25zdW1lSW5jbHVkaW5nV2hpdGVzcGFjZSgp
OworICAgIGF1dG8gbmFtZSA9IG5hbWVUb2tlbi52YWx1ZSgpLnRvQXRvbVN0cmluZygpOworCisg
ICAgaWYgKHJhbmdlLmF0RW5kKCkpCisgICAgICAgIHJldHVybiBDUTo6U2l6ZUZlYXR1cmUgeyBD
UTo6Q29tcGFyaXNvbk9wZXJhdG9yOjpUcnVlLCBuYW1lLCB7IH0gfTsKKworICAgIGF1dG8gb3BU
b2tlbiA9IHJhbmdlLmNvbnN1bWVJbmNsdWRpbmdXaGl0ZXNwYWNlKCk7CisgICAgaWYgKHJhbmdl
LmF0RW5kKCkpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICBhdXRvIG9wID0gQ1E6OkNvbXBh
cmlzb25PcGVyYXRvcjo6RXF1YWw7CisgICAgaWYgKG9wVG9rZW4udHlwZSgpID09IENvbG9uVG9r
ZW4pIHsKKyAgICAgICAgaWYgKG5hbWUuc3RhcnRzV2l0aCgibWluLSIpKQorICAgICAgICAgICAg
b3AgPSBDUTo6Q29tcGFyaXNvbk9wZXJhdG9yOjpHcmVhdGVyT3JFcXVhbDsKKyAgICAgICAgZWxz
ZSBpZiAobmFtZS5zdGFydHNXaXRoKCJtYXgtIikpCisgICAgICAgICAgICBvcCA9IENROjpDb21w
YXJpc29uT3BlcmF0b3I6Okxlc3NPckVxdWFsOworCisgICAgICAgIGlmIChvcCAhPSBDUTo6Q29t
cGFyaXNvbk9wZXJhdG9yOjpFcXVhbCkKKyAgICAgICAgICAgIG5hbWUgPSBTdHJpbmdWaWV3KG5h
bWUpLnN1YnN0cmluZyg0KS50b0F0b21TdHJpbmcoKTsKKyAgICAgICAgaWYgKG5hbWUuaXNFbXB0
eSgpKQorICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9CisKKyAgICBhdXRvIGxlbmd0aCA9
IENTU1Byb3BlcnR5UGFyc2VySGVscGVyczo6Y29uc3VtZUxlbmd0aChyYW5nZSwgbV9jb250ZXh0
Lm1vZGUsIFZhbHVlUmFuZ2U6Ok5vbk5lZ2F0aXZlKTsKKyAgICBpZiAoIWxlbmd0aCkKKyAgICAg
ICAgcmV0dXJuIHsgfTsKKworICAgIHJldHVybiBDUTo6U2l6ZUZlYXR1cmUgeyBvcCwgbmFtZSwg
bGVuZ3RoIH07Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Db250YWlu
ZXJRdWVyeVBhcnNlci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5UGFyc2Vy
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYjBiYjE5ODIzYmVkMjVkZjc5NDRiYmQ2ZjExMWI1OTI5MThiZWJjYwot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9Db250YWluZXJRdWVyeVBhcnNl
ci5oCkBAIC0wLDAgKzEsNDcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjIgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3By
YWdtYSBvbmNlCisKKyNpbmNsdWRlICJDU1NQYXJzZXJUb2tlbi5oIgorI2luY2x1ZGUgIkNvbnRh
aW5lclF1ZXJ5LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ29udGFpbmVyUXVl
cnlQYXJzZXIgeworcHVibGljOgorICAgIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPENvbnRhaW5lclF1
ZXJ5PiBwYXJzZShDU1NQYXJzZXJUb2tlblJhbmdlJiwgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYp
OworCitwcml2YXRlOgorICAgIHN0ZDo6b3B0aW9uYWw8Q1E6OkNvbnRhaW5lclF1ZXJ5PiBjb25z
dW1lQ29udGFpbmVyUXVlcnkoQ1NTUGFyc2VyVG9rZW5SYW5nZSYpOworICAgIHN0ZDo6b3B0aW9u
YWw8Q1E6OlNpemVRdWVyeT4gY29uc3VtZVNpemVRdWVyeShDU1NQYXJzZXJUb2tlblJhbmdlJik7
CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgQ29uZGl0aW9uVHlwZT4gc3RkOjpvcHRpb25hbDxDb25k
aXRpb25UeXBlPiBjb25zdW1lQ29uZGl0aW9uKENTU1BhcnNlclRva2VuUmFuZ2UmKTsKKworICAg
IENvbnRhaW5lclF1ZXJ5UGFyc2VyKGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRleHQpCisg
ICAgICAgIDogbV9jb250ZXh0KGNvbnRleHQpIHsgfQorCisgICAgY29uc3QgQ1NTUGFyc2VyQ29u
dGV4dCBtX2NvbnRleHQ7Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
cGFyc2VyL0NTU1BhcnNlckltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQ
YXJzZXJJbXBsLmNwcAppbmRleCBmN2Q1NTkyMjA1N2YzNGY0M2VjNmEyM2M4MzM2ZjVkNTJjMWVh
YjMzLi5lMDAwMzYwNGEzMjYxZDgxNWMxMDQzNzBlMmUwMmI1MDAxNjU2YzNkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckltcGwuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5jcHAKQEAgLTQ3LDYgKzQ3LDcgQEAK
ICNpbmNsdWRlICJDU1NTdXBwb3J0c1BhcnNlci5oIgogI2luY2x1ZGUgIkNTU1Rva2VuaXplci5o
IgogI2luY2x1ZGUgIkNTU1ZhcmlhYmxlUGFyc2VyLmgiCisjaW5jbHVkZSAiQ29udGFpbmVyUXVl
cnlQYXJzZXIuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkVsZW1lbnQuaCIK
ICNpbmNsdWRlICJGb250UGFsZXR0ZVZhbHVlcy5oIgpAQCAtODY1LDEyICs4NjYsMTIgQEAgUmVm
UHRyPFN0eWxlUnVsZUNvbnRhaW5lcj4gQ1NTUGFyc2VySW1wbDo6Y29uc3VtZUNvbnRhaW5lclJ1
bGUoQ1NTUGFyc2VyVG9rZW5SYW4KIAogICAgIGF1dG8gbmFtZSA9IGNvbnN1bWVOYW1lKCk7CiAK
LSAgICBhdXRvIHF1ZXJ5ID0gTWVkaWFRdWVyeVBhcnNlcjo6cGFyc2VDb250YWluZXJRdWVyeShw
cmVsdWRlLCBNZWRpYVF1ZXJ5UGFyc2VyQ29udGV4dChtX2NvbnRleHQpKTsKKyAgICBhdXRvIHF1
ZXJ5ID0gQ29udGFpbmVyUXVlcnlQYXJzZXI6OnBhcnNlKHByZWx1ZGUsIG1fY29udGV4dCk7CiAg
ICAgaWYgKCFxdWVyeSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICBpZiAobV9kZWZl
cnJlZFBhcnNlcikKLSAgICAgICAgcmV0dXJuIFN0eWxlUnVsZUNvbnRhaW5lcjo6Y3JlYXRlKHsg
bmFtZSwgcXVlcnkucmVsZWFzZU5vbk51bGwoKSB9LCBtYWtlVW5pcXVlPERlZmVycmVkU3R5bGVH
cm91cFJ1bGVMaXN0PihibG9jaywgKm1fZGVmZXJyZWRQYXJzZXIpKTsKKyAgICAgICAgcmV0dXJu
IFN0eWxlUnVsZUNvbnRhaW5lcjo6Y3JlYXRlKHsgbmFtZSwgKnF1ZXJ5IH0sIG1ha2VVbmlxdWU8
RGVmZXJyZWRTdHlsZUdyb3VwUnVsZUxpc3Q+KGJsb2NrLCAqbV9kZWZlcnJlZFBhcnNlcikpOwog
CiAgICAgVmVjdG9yPFJlZlB0cjxTdHlsZVJ1bGVCYXNlPj4gcnVsZXM7CiAKQEAgLTg4OCw3ICs4
ODksNyBAQCBSZWZQdHI8U3R5bGVSdWxlQ29udGFpbmVyPiBDU1NQYXJzZXJJbXBsOjpjb25zdW1l
Q29udGFpbmVyUnVsZShDU1NQYXJzZXJUb2tlblJhbgogICAgIGlmIChtX29ic2VydmVyV3JhcHBl
cikKICAgICAgICAgbV9vYnNlcnZlcldyYXBwZXItPm9ic2VydmVyKCkuZW5kUnVsZUJvZHkobV9v
YnNlcnZlcldyYXBwZXItPmVuZE9mZnNldChibG9jaykpOwogCi0gICAgcmV0dXJuIFN0eWxlUnVs
ZUNvbnRhaW5lcjo6Y3JlYXRlKHsgbmFtZSwgcXVlcnkucmVsZWFzZU5vbk51bGwoKSB9LCBXVEZN
b3ZlKHJ1bGVzKSk7CisgICAgcmV0dXJuIFN0eWxlUnVsZUNvbnRhaW5lcjo6Y3JlYXRlKHsgbmFt
ZSwgKnF1ZXJ5IH0sIFdURk1vdmUocnVsZXMpKTsKIH0KICAgICAKIFJlZlB0cjxTdHlsZVJ1bGVL
ZXlmcmFtZT4gQ1NTUGFyc2VySW1wbDo6Y29uc3VtZUtleWZyYW1lU3R5bGVSdWxlKENTU1BhcnNl
clRva2VuUmFuZ2UgcHJlbHVkZSwgQ1NTUGFyc2VyVG9rZW5SYW5nZSBibG9jaykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0NvbnRhaW5lclF1ZXJ5RXZhbHVhdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3N0eWxlL0NvbnRhaW5lclF1ZXJ5RXZhbHVhdG9yLmNwcAppbmRleCA1ZjBj
NTU3ODJkMWNhZTY0NjU0YzdkYmYxZmM1ZGJlNDBiZjdjOTZiLi41OWIxNzI5ODZiZjQyYmRiM2E1
YWQxZTAxMTMwN2I0NzliOWU5Y2U1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9D
b250YWluZXJRdWVyeUV2YWx1YXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvQ29u
dGFpbmVyUXVlcnlFdmFsdWF0b3IuY3BwCkBAIC0zNSwzMCArMzUsMjkgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmU6OlN0eWxlIHsKIAorc3RydWN0IENvbnRhaW5lclF1ZXJ5RXZhbHVhdG9yOjpFdmFs
dWF0aW9uQ29udGV4dCB7CisgICAgUmVuZGVyQm94JiByZW5kZXJlcjsKKyAgICBDU1NUb0xlbmd0
aENvbnZlcnNpb25EYXRhIGNvbnZlcnNpb25EYXRhOworfTsKKwogQ29udGFpbmVyUXVlcnlFdmFs
dWF0b3I6OkNvbnRhaW5lclF1ZXJ5RXZhbHVhdG9yKGNvbnN0IFZlY3RvcjxSZWY8Y29uc3QgRWxl
bWVudD4+JiBjb250YWluZXJzKQogICAgIDogbV9jb250YWluZXJzKGNvbnRhaW5lcnMpCiB7CiB9
CiAKLXN0YXRpYyBzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IGNvbXB1dGVTaXplKENTU1ZhbHVl
KiB2YWx1ZSwgY29uc3QgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSYgY29udmVyc2lvbkRhdGEp
CitzdGF0aWMgc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiBjb21wdXRlU2l6ZShjb25zdCBDU1NQ
cmltaXRpdmVWYWx1ZSYgdmFsdWUsIGNvbnN0IENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEmIGNv
bnZlcnNpb25EYXRhKQogewotICAgIGlmICghaXM8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVlKSkK
LSAgICAgICAgcmV0dXJuIHsgfTsKLQotICAgIGF1dG8mIHByaW1pdGl2ZVZhbHVlID0gZG93bmNh
c3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KCp2YWx1ZSk7Ci0gICAgaWYgKHByaW1pdGl2ZVZhbHVlLmlz
TnVtYmVyT3JJbnRlZ2VyKCkpIHsKLSAgICAgICAgaWYgKHByaW1pdGl2ZVZhbHVlLmRvdWJsZVZh
bHVlKCkpCisgICAgaWYgKHZhbHVlLmlzTnVtYmVyT3JJbnRlZ2VyKCkpIHsKKyAgICAgICAgaWYg
KHZhbHVlLmRvdWJsZVZhbHVlKCkpCiAgICAgICAgICAgICByZXR1cm4geyB9OwogICAgICAgICBy
ZXR1cm4gMF9sdTsKICAgICB9CiAKLSAgICBpZiAoIXByaW1pdGl2ZVZhbHVlLmlzTGVuZ3RoKCkp
CisgICAgaWYgKCF2YWx1ZS5pc0xlbmd0aCgpKQogICAgICAgICByZXR1cm4geyB9OwotICAgIHJl
dHVybiBwcmltaXRpdmVWYWx1ZS5jb21wdXRlTGVuZ3RoPExheW91dFVuaXQ+KGNvbnZlcnNpb25E
YXRhKTsKKyAgICByZXR1cm4gdmFsdWUuY29tcHV0ZUxlbmd0aDxMYXlvdXRVbml0Pihjb252ZXJz
aW9uRGF0YSk7CiB9CiAKLWVudW0gY2xhc3MgQ29tcGFyYXRvciB7IExlc3NlciwgR3JlYXRlciwg
TGVzc2VyT3JFcXVhbCwgR3JlYXRlck9yRXF1YWwsIEVxdWFsLCBUcnVlIH07Ci0KIGJvb2wgQ29u
dGFpbmVyUXVlcnlFdmFsdWF0b3I6OmV2YWx1YXRlKGNvbnN0IEZpbHRlcmVkQ29udGFpbmVyUXVl
cnkmIGZpbHRlcmVkQ29udGFpbmVyUXVlcnkpIGNvbnN0CiB7CiAgICAgaWYgKG1fY29udGFpbmVy
cy5pc0VtcHR5KCkpCkBAIC04Myw5MCArODIsMTE0IEBAIGJvb2wgQ29udGFpbmVyUXVlcnlFdmFs
dWF0b3I6OmV2YWx1YXRlKGNvbnN0IEZpbHRlcmVkQ29udGFpbmVyUXVlcnkmIGZpbHRlcmVkQ29u
CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGF1dG8mIHZpZXcgPSByZW5kZXJlci0+dmll
dygpOwotICAgIENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEgY29udmVyc2lvbkRhdGEgeyAmcmVu
ZGVyZXItPnN0eWxlKCksICZ2aWV3LnN0eWxlKCksIG51bGxwdHIsICZ2aWV3LCAxIH07CisgICAg
Q1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSB7ICZyZW5kZXJlci0+c3R5bGUoKSwgJnZpZXcuc3R5
bGUoKSwgbnVsbHB0ciwgJnZpZXcsIDEgfTsKIAotICAgIGF1dG8gZXZhbHVhdGVTaXplID0gWyZd
KGNvbnN0IE1lZGlhUXVlcnlFeHByZXNzaW9uJiBleHByZXNzaW9uLCBDb21wYXJhdG9yIGNvbXBh
cmF0b3IsIGF1dG8mJiBzaXplR2V0dGVyKQotICAgIHsKKyAgICBFdmFsdWF0aW9uQ29udGV4dCBl
dmFsdWF0aW9uQ29udGV4dCB7CisgICAgICAgICpyZW5kZXJlciwKKyAgICAgICAgQ1NTVG9MZW5n
dGhDb252ZXJzaW9uRGF0YSB7ICZyZW5kZXJlci0+c3R5bGUoKSwgJnZpZXcuc3R5bGUoKSwgbnVs
bHB0ciwgJnZpZXcsIDEgfQorICAgIH07CisKKyAgICByZXR1cm4gZXZhbHVhdGVRdWVyeShmaWx0
ZXJlZENvbnRhaW5lclF1ZXJ5LnF1ZXJ5LCBldmFsdWF0aW9uQ29udGV4dCkgPT0gRXZhbHVhdGlv
blJlc3VsdDo6VHJ1ZTsKK30KKworYXV0byBDb250YWluZXJRdWVyeUV2YWx1YXRvcjo6ZXZhbHVh
dGVRdWVyeShjb25zdCBDUTo6Q29udGFpbmVyUXVlcnkmIGNvbnRhaW5lclF1ZXJ5LCBjb25zdCBF
dmFsdWF0aW9uQ29udGV4dCYgY29udGV4dCkgY29uc3QgLT4gRXZhbHVhdGlvblJlc3VsdAorewor
ICAgIHJldHVybiBXVEY6OnN3aXRjaE9uKGNvbnRhaW5lclF1ZXJ5LCBbJl0oY29uc3QgQ1E6OkNv
bnRhaW5lckNvbmRpdGlvbiYgY29udGFpbmVyQ29uZGl0aW9uKSB7CisgICAgICAgIHJldHVybiBl
dmFsdWF0ZUNvbmRpdGlvbihjb250YWluZXJDb25kaXRpb24sIGNvbnRleHQpOworICAgIH0sIFsm
XShjb25zdCBDUTo6U2l6ZVF1ZXJ5JiBzaXplUXVlcnkpIHsKKyAgICAgICAgcmV0dXJuIGV2YWx1
YXRlUXVlcnkoc2l6ZVF1ZXJ5LCBjb250ZXh0KTsKKyAgICB9LCBbJl0oY29uc3QgQ1E6OlVua25v
d25RdWVyeSYpIHsKKyAgICAgICAgcmV0dXJuIEV2YWx1YXRpb25SZXN1bHQ6OlVua25vd247Cisg
ICAgfSk7Cit9CisKK2F1dG8gQ29udGFpbmVyUXVlcnlFdmFsdWF0b3I6OmV2YWx1YXRlUXVlcnko
Y29uc3QgQ1E6OlNpemVRdWVyeSYgc2l6ZVF1ZXJ5LCBjb25zdCBFdmFsdWF0aW9uQ29udGV4dCYg
Y29udGV4dCkgY29uc3QgLT4gRXZhbHVhdGlvblJlc3VsdAoreworICAgIHJldHVybiBXVEY6OnN3
aXRjaE9uKHNpemVRdWVyeSwgWyZdKGNvbnN0IENROjpTaXplQ29uZGl0aW9uJiBzaXplQ29uZGl0
aW9uKSB7CisgICAgICAgIHJldHVybiBldmFsdWF0ZUNvbmRpdGlvbihzaXplQ29uZGl0aW9uLCBj
b250ZXh0KTsKKyAgICB9LCBbJl0oY29uc3QgQ1E6OlNpemVGZWF0dXJlJiBzaXplRmVhdHVyZSkg
eworICAgICAgICByZXR1cm4gZXZhbHVhdGVTaXplRmVhdHVyZShzaXplRmVhdHVyZSwgY29udGV4
dCk7CisgICAgfSk7Cit9CisKK3RlbXBsYXRlPHR5cGVuYW1lIENvbmRpdGlvblR5cGU+CithdXRv
IENvbnRhaW5lclF1ZXJ5RXZhbHVhdG9yOjpldmFsdWF0ZUNvbmRpdGlvbihjb25zdCBDb25kaXRp
b25UeXBlJiBjb25kaXRpb24sIGNvbnN0IEV2YWx1YXRpb25Db250ZXh0JiBjb250ZXh0KSBjb25z
dCAtPiBFdmFsdWF0aW9uUmVzdWx0Cit7CisgICAgaWYgKGNvbmRpdGlvbi5xdWVyaWVzLmlzRW1w
dHkoKSkKKyAgICAgICAgcmV0dXJuIEV2YWx1YXRpb25SZXN1bHQ6OlVua25vd247CisKKyAgICBz
d2l0Y2ggKGNvbmRpdGlvbi5sb2dpY2FsT3BlcmF0b3IpIHsKKyAgICBjYXNlIENROjpMb2dpY2Fs
T3BlcmF0b3I6Ok5vdDogeworICAgICAgICBzd2l0Y2ggKGV2YWx1YXRlUXVlcnkoY29uZGl0aW9u
LnF1ZXJpZXMuZmlyc3QoKSwgY29udGV4dCkpIHsKKyAgICAgICAgY2FzZSBFdmFsdWF0aW9uUmVz
dWx0OjpUcnVlOgorICAgICAgICAgICAgcmV0dXJuIEV2YWx1YXRpb25SZXN1bHQ6OkZhbHNlOwor
ICAgICAgICBjYXNlIEV2YWx1YXRpb25SZXN1bHQ6OkZhbHNlOgorICAgICAgICAgICAgcmV0dXJu
IEV2YWx1YXRpb25SZXN1bHQ6OlRydWU7CisgICAgICAgIGNhc2UgRXZhbHVhdGlvblJlc3VsdDo6
VW5rbm93bjoKKyAgICAgICAgICAgIHJldHVybiBFdmFsdWF0aW9uUmVzdWx0OjpVbmtub3duOwor
ICAgICAgICB9CisgICAgfQorICAgIGNhc2UgQ1E6OkxvZ2ljYWxPcGVyYXRvcjo6QW5kOiB7Cisg
ICAgICAgIGF1dG8gcmVzdWx0ID0gRXZhbHVhdGlvblJlc3VsdDo6VHJ1ZTsKKyAgICAgICAgZm9y
IChhdXRvIHF1ZXJ5IDogY29uZGl0aW9uLnF1ZXJpZXMpIHsKKyAgICAgICAgICAgIGF1dG8gcXVl
cnlSZXN1bHQgPSBldmFsdWF0ZVF1ZXJ5KHF1ZXJ5LCBjb250ZXh0KTsKKyAgICAgICAgICAgIGlm
IChxdWVyeVJlc3VsdCA9PSBFdmFsdWF0aW9uUmVzdWx0OjpGYWxzZSkKKyAgICAgICAgICAgICAg
ICByZXR1cm4gRXZhbHVhdGlvblJlc3VsdDo6RmFsc2U7CisgICAgICAgICAgICBpZiAocXVlcnlS
ZXN1bHQgPT0gRXZhbHVhdGlvblJlc3VsdDo6VW5rbm93bikKKyAgICAgICAgICAgICAgICByZXN1
bHQgPSBFdmFsdWF0aW9uUmVzdWx0OjpVbmtub3duOworICAgICAgICB9CisgICAgICAgIHJldHVy
biByZXN1bHQ7CisgICAgfQorICAgIGNhc2UgQ1E6OkxvZ2ljYWxPcGVyYXRvcjo6T3I6IHsKKyAg
ICAgICAgYXV0byByZXN1bHQgPSBFdmFsdWF0aW9uUmVzdWx0OjpGYWxzZTsKKyAgICAgICAgZm9y
IChhdXRvIHF1ZXJ5IDogY29uZGl0aW9uLnF1ZXJpZXMpIHsKKyAgICAgICAgICAgIGF1dG8gcXVl
cnlSZXN1bHQgPSBldmFsdWF0ZVF1ZXJ5KHF1ZXJ5LCBjb250ZXh0KTsKKyAgICAgICAgICAgIGlm
IChxdWVyeVJlc3VsdCA9PSBFdmFsdWF0aW9uUmVzdWx0OjpUcnVlKQorICAgICAgICAgICAgICAg
IHJldHVybiBFdmFsdWF0aW9uUmVzdWx0OjpUcnVlOworICAgICAgICAgICAgaWYgKHF1ZXJ5UmVz
dWx0ID09IEV2YWx1YXRpb25SZXN1bHQ6OlVua25vd24pCisgICAgICAgICAgICAgICAgcmVzdWx0
ID0gRXZhbHVhdGlvblJlc3VsdDo6VW5rbm93bjsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4g
cmVzdWx0OworICAgIH0KKyAgICB9Cit9CisKK2F1dG8gQ29udGFpbmVyUXVlcnlFdmFsdWF0b3I6
OmV2YWx1YXRlU2l6ZUZlYXR1cmUoY29uc3QgQ1E6OlNpemVGZWF0dXJlJiBzaXplRmVhdHVyZSwg
Y29uc3QgRXZhbHVhdGlvbkNvbnRleHQmIGNvbnRleHQpIGNvbnN0IC0+IEV2YWx1YXRpb25SZXN1
bHQKK3sKKyAgICBhdXRvIGV2YWx1YXRlU2l6ZSA9IFsmXShMYXlvdXRVbml0IHNpemUpIHsKICAg
ICAgICAgc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiBleHByZXNzaW9uU2l6ZTsKIAotICAgICAg
ICBpZiAoY29tcGFyYXRvciAhPSBDb21wYXJhdG9yOjpUcnVlKSB7Ci0gICAgICAgICAgICBleHBy
ZXNzaW9uU2l6ZSA9IGNvbXB1dGVTaXplKGV4cHJlc3Npb24udmFsdWUoKSwgY29udmVyc2lvbkRh
dGEpOworICAgICAgICBpZiAoc2l6ZUZlYXR1cmUuY29tcGFyaXNvbk9wZXJhdG9yICE9IENROjpD
b21wYXJpc29uT3BlcmF0b3I6OlRydWUpIHsKKyAgICAgICAgICAgIGlmICghc2l6ZUZlYXR1cmUu
dmFsdWUpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgZXhwcmVz
c2lvblNpemUgPSBjb21wdXRlU2l6ZSgqc2l6ZUZlYXR1cmUudmFsdWUsIGNvbnRleHQuY29udmVy
c2lvbkRhdGEpOwogICAgICAgICAgICAgaWYgKCFleHByZXNzaW9uU2l6ZSkKICAgICAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KIAotICAgICAgICBhdXRvIHNpemUgPSBzaXpl
R2V0dGVyKCpyZW5kZXJlcik7Ci0KLSAgICAgICAgc3dpdGNoIChjb21wYXJhdG9yKSB7Ci0gICAg
ICAgIGNhc2UgQ29tcGFyYXRvcjo6TGVzc2VyOgorICAgICAgICBzd2l0Y2ggKHNpemVGZWF0dXJl
LmNvbXBhcmlzb25PcGVyYXRvcikgeworICAgICAgICBjYXNlIENROjpDb21wYXJpc29uT3BlcmF0
b3I6Okxlc3M6CiAgICAgICAgICAgICByZXR1cm4gc2l6ZSA8ICpleHByZXNzaW9uU2l6ZTsKLSAg
ICAgICAgY2FzZSBDb21wYXJhdG9yOjpHcmVhdGVyOgorICAgICAgICBjYXNlIENROjpDb21wYXJp
c29uT3BlcmF0b3I6OkdyZWF0ZXI6CiAgICAgICAgICAgICByZXR1cm4gc2l6ZSA+ICpleHByZXNz
aW9uU2l6ZTsKLSAgICAgICAgY2FzZSBDb21wYXJhdG9yOjpMZXNzZXJPckVxdWFsOgorICAgICAg
ICBjYXNlIENROjpDb21wYXJpc29uT3BlcmF0b3I6Okxlc3NPckVxdWFsOgogICAgICAgICAgICAg
cmV0dXJuIHNpemUgPD0gKmV4cHJlc3Npb25TaXplOwotICAgICAgICBjYXNlIENvbXBhcmF0b3I6
OkdyZWF0ZXJPckVxdWFsOgorICAgICAgICBjYXNlIENROjpDb21wYXJpc29uT3BlcmF0b3I6Okdy
ZWF0ZXJPckVxdWFsOgogICAgICAgICAgICAgcmV0dXJuIHNpemUgPj0gKmV4cHJlc3Npb25TaXpl
OwotICAgICAgICBjYXNlIENvbXBhcmF0b3I6OkVxdWFsOgorICAgICAgICBjYXNlIENROjpDb21w
YXJpc29uT3BlcmF0b3I6OkVxdWFsOgogICAgICAgICAgICAgcmV0dXJuIHNpemUgPT0gKmV4cHJl
c3Npb25TaXplOwotICAgICAgICBjYXNlIENvbXBhcmF0b3I6OlRydWU6CisgICAgICAgIGNhc2Ug
Q1E6OkNvbXBhcmlzb25PcGVyYXRvcjo6VHJ1ZToKICAgICAgICAgICAgIHJldHVybiAhIXNpemU7
CiAgICAgICAgIH0KICAgICB9OwogCi0gICAgYXV0byBldmFsdWF0ZVdpZHRoID0gWyZdKGNvbnN0
IE1lZGlhUXVlcnlFeHByZXNzaW9uJiBleHByZXNzaW9uLCBDb21wYXJhdG9yIGNvbXBhcmF0b3Ip
Ci0gICAgewotICAgICAgICByZXR1cm4gZXZhbHVhdGVTaXplKGV4cHJlc3Npb24sIGNvbXBhcmF0
b3IsIFsmXShjb25zdCBSZW5kZXJCb3gmIHJlbmRlcmVyKSB7Ci0gICAgICAgICAgICByZXR1cm4g
cmVuZGVyZXIud2lkdGgoKTsKLSAgICAgICAgfSk7Ci0gICAgfTsKLQotICAgIGF1dG8gZXZhbHVh
dGVIZWlnaHQgPSBbJl0oY29uc3QgTWVkaWFRdWVyeUV4cHJlc3Npb24mIGV4cHJlc3Npb24sIENv
bXBhcmF0b3IgY29tcGFyYXRvcikKLSAgICB7Ci0gICAgICAgIHJldHVybiBldmFsdWF0ZVNpemUo
ZXhwcmVzc2lvbiwgY29tcGFyYXRvciwgWyZdKGNvbnN0IFJlbmRlckJveCYgcmVuZGVyZXIpIHsK
LSAgICAgICAgICAgIHJldHVybiByZW5kZXJlci5oZWlnaHQoKTsKLSAgICAgICAgfSk7Ci0gICAg
fTsKLQotICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7Ci0KLSAgICAvLyBGSVhNRTogVGhpcyBpcyB2
ZXJ5IHJ1ZGltZW50YXJ5LgotICAgIGF1dG8mIHF1ZXJpZXMgPSBmaWx0ZXJlZENvbnRhaW5lclF1
ZXJ5LnF1ZXJ5LT5xdWVyeVZlY3RvcigpOwotICAgIGZvciAoYXV0byYgcXVlcnkgOiBxdWVyaWVz
KSB7Ci0gICAgICAgIGZvciAoYXV0byYgZXhwcmVzc2lvbiA6IHF1ZXJ5LmV4cHJlc3Npb25zKCkp
IHsKLSAgICAgICAgICAgIGlmIChleHByZXNzaW9uLm1lZGlhRmVhdHVyZSgpID09IE1lZGlhRmVh
dHVyZU5hbWVzOjptaW5XaWR0aCkgewotICAgICAgICAgICAgICAgIGlmIChldmFsdWF0ZVdpZHRo
KGV4cHJlc3Npb24sIENvbXBhcmF0b3I6OkdyZWF0ZXJPckVxdWFsKSkKLSAgICAgICAgICAgICAg
ICAgICAgcmVzdWx0ID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIGlmIChleHByZXNzaW9uLm1lZGlhRmVhdHVyZSgpID09IE1lZGlh
RmVhdHVyZU5hbWVzOjptYXhXaWR0aCkgewotICAgICAgICAgICAgICAgIGlmIChldmFsdWF0ZVdp
ZHRoKGV4cHJlc3Npb24sIENvbXBhcmF0b3I6Okxlc3Nlck9yRXF1YWwpKQotICAgICAgICAgICAg
ICAgICAgICByZXN1bHQgPSB0cnVlOwotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAg
ICAgICAgfQotICAgICAgICAgICAgaWYgKGV4cHJlc3Npb24ubWVkaWFGZWF0dXJlKCkgPT0gTWVk
aWFGZWF0dXJlTmFtZXM6OndpZHRoKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGV2YWx1YXRlV2lk
dGgoZXhwcmVzc2lvbiwgZXhwcmVzc2lvbi52YWx1ZSgpID8gQ29tcGFyYXRvcjo6RXF1YWwgOiBD
b21wYXJhdG9yOjpUcnVlKSkKLSAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gdHJ1ZTsKLSAg
ICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChl
eHByZXNzaW9uLm1lZGlhRmVhdHVyZSgpID09IE1lZGlhRmVhdHVyZU5hbWVzOjptaW5IZWlnaHQp
IHsKLSAgICAgICAgICAgICAgICBpZiAoZXZhbHVhdGVIZWlnaHQoZXhwcmVzc2lvbiwgQ29tcGFy
YXRvcjo6R3JlYXRlck9yRXF1YWwpKQotICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSB0cnVl
OwotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgfQotICAgICAgICAgICAg
aWYgKGV4cHJlc3Npb24ubWVkaWFGZWF0dXJlKCkgPT0gTWVkaWFGZWF0dXJlTmFtZXM6Om1heEhl
aWdodCkgewotICAgICAgICAgICAgICAgIGlmIChldmFsdWF0ZUhlaWdodChleHByZXNzaW9uLCBD
b21wYXJhdG9yOjpMZXNzZXJPckVxdWFsKSkKLSAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0g
dHJ1ZTsKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIGlmIChleHByZXNzaW9uLm1lZGlhRmVhdHVyZSgpID09IE1lZGlhRmVhdHVyZU5hbWVzOjpo
ZWlnaHQpIHsKLSAgICAgICAgICAgICAgICBpZiAoZXZhbHVhdGVIZWlnaHQoZXhwcmVzc2lvbiwg
ZXhwcmVzc2lvbi52YWx1ZSgpID8gQ29tcGFyYXRvcjo6RXF1YWwgOiBDb21wYXJhdG9yOjpUcnVl
KSkKLSAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICBj
b250aW51ZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KKyAgICAvLyBGSVhNRTog
U3VwcG9ydCBhbGwgZmVhdHVyZXMuCisgICAgaWYgKHNpemVGZWF0dXJlLm5hbWUgPT0gTWVkaWFG
ZWF0dXJlTmFtZXM6OndpZHRoKQorICAgICAgICByZXR1cm4gZXZhbHVhdGVTaXplKGNvbnRleHQu
cmVuZGVyZXIud2lkdGgoKSkgPyBFdmFsdWF0aW9uUmVzdWx0OjpUcnVlIDogRXZhbHVhdGlvblJl
c3VsdDo6RmFsc2U7CisgICAgaWYgKHNpemVGZWF0dXJlLm5hbWUgPT0gTWVkaWFGZWF0dXJlTmFt
ZXM6OmhlaWdodCkKKyAgICAgICAgcmV0dXJuIGV2YWx1YXRlU2l6ZShjb250ZXh0LnJlbmRlcmVy
LmhlaWdodCgpKSA/IEV2YWx1YXRpb25SZXN1bHQ6OlRydWUgOiBFdmFsdWF0aW9uUmVzdWx0OjpG
YWxzZTsKIAotICAgIHJldHVybiByZXN1bHQ7CisgICAgcmV0dXJuIEV2YWx1YXRpb25SZXN1bHQ6
OlVua25vd247CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0NvbnRh
aW5lclF1ZXJ5RXZhbHVhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Db250YWluZXJRdWVy
eUV2YWx1YXRvci5oCmluZGV4IDhmNmU3MzAwN2Y3NWZhYjViODU0ZTExY2UyMjk3YzA2OWZiNTg5
NzQuLjk5YmUyMjJkMTVkOWY5ZDFhYjA3YTM4Njc0MWQyM2IyOWY0OTljZDYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N0eWxlL0NvbnRhaW5lclF1ZXJ5RXZhbHVhdG9yLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvc3R5bGUvQ29udGFpbmVyUXVlcnlFdmFsdWF0b3IuaApAQCAtMjQsMTEgKzI0
LDExIEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiQ29udGFpbmVyUXVlcnkuaCIKICNp
bmNsdWRlIDx3dGYvUmVmLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RydWN0IEZpbHRl
cmVkQ29udGFpbmVyUXVlcnk7CiBjbGFzcyBFbGVtZW50OwogCiBuYW1lc3BhY2UgU3R5bGUgewpA
QCAtNDAsNiArNDAsMTQgQEAgcHVibGljOgogICAgIGJvb2wgZXZhbHVhdGUoY29uc3QgRmlsdGVy
ZWRDb250YWluZXJRdWVyeSYpIGNvbnN0OwogCiBwcml2YXRlOgorICAgIHN0cnVjdCBFdmFsdWF0
aW9uQ29udGV4dDsKKyAgICBlbnVtIGNsYXNzIEV2YWx1YXRpb25SZXN1bHQgOiB1aW50OF90IHsg
RmFsc2UsIFRydWUsIFVua25vd24gfTsKKworICAgIEV2YWx1YXRpb25SZXN1bHQgZXZhbHVhdGVR
dWVyeShjb25zdCBDUTo6Q29udGFpbmVyUXVlcnkmLCBjb25zdCBFdmFsdWF0aW9uQ29udGV4dCYp
IGNvbnN0OworICAgIEV2YWx1YXRpb25SZXN1bHQgZXZhbHVhdGVRdWVyeShjb25zdCBDUTo6U2l6
ZVF1ZXJ5JiwgY29uc3QgRXZhbHVhdGlvbkNvbnRleHQmKSBjb25zdDsKKyAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBDb25kaXRpb25UeXBlPiBFdmFsdWF0aW9uUmVzdWx0IGV2YWx1YXRlQ29uZGl0aW9u
KGNvbnN0IENvbmRpdGlvblR5cGUmLCBjb25zdCBFdmFsdWF0aW9uQ29udGV4dCYpIGNvbnN0Owor
ICAgIEV2YWx1YXRpb25SZXN1bHQgZXZhbHVhdGVTaXplRmVhdHVyZShjb25zdCBDUTo6U2l6ZUZl
YXR1cmUmLCBjb25zdCBFdmFsdWF0aW9uQ29udGV4dCYpIGNvbnN0OworCiAgICAgY29uc3QgVmVj
dG9yPFJlZjxjb25zdCBFbGVtZW50Pj4mIG1fY29udGFpbmVyczsKIH07CiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzYmUw
NzI0NWQxZWZlZmEwNGNkMWNkZTQ5OThjMDY0ZWJjZDVhYzA4Li45OTE2NTZlODhiZjBlMzE4NzQ4
YjE2NGE5ZjQ4MzY3ZDM5ZmYyMWVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjItMDItMTQg
IEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgorCisgICAgICAgIFtDU1MgQ29udGFp
bmVyIFF1ZXJpZXNdIEltcGxlbWVudCBmdWxsIHF1ZXJ5IHBhcnNlciBhbmQgZXZhbHVhdG9yCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzY1ODAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RFeHBl
Y3RhdGlvbnM6CisKIDIwMjItMDItMTIgIFRpbSBOZ3V5ZW4gIDxudGltQGFwcGxlLmNvbT4KIAog
ICAgICAgICBTa2lwIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdXJsL3RvYXNjaWku
d2luZG93Lmh0bWwgb24gQ2F0YWxpbmEvQmlnIFN1cgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VM
b2cKaW5kZXggYjg0MGUzNzJjMDRkYTJkMDMwZWI2MTcyZDczYjhkMjIyZTE1MjZjOS4uZTFhODU0
NmRlMGYxZjk3NzBjOTg1OWQwZjY2YjBlYjdmNmZjMzBkYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjItMDItMTQgIEFudHRpIEtvaXZpc3RvICA8
YW50dGlAYXBwbGUuY29tPgorCisgICAgICAgIFtDU1MgQ29udGFpbmVyIFF1ZXJpZXNdIEltcGxl
bWVudCBmdWxsIHF1ZXJ5IHBhcnNlciBhbmQgZXZhbHVhdG9yCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzY1ODAKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbmVyLXF1ZXJpZXMvYXQtY29udGFpbmVyLXBhcnNpbmctZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bmVyLXF1ZXJpZXMvY29udGFpbmVyLWZvci1zaGFkb3ctZG9tLnRlbnRhdGl2ZS1leHBlY3RlZC50
eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
ZXItcXVlcmllcy9jb250YWluZXItdHlwZS1pbnZhbGlkYXRpb24tZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1ZXJp
ZXMvcXVlcnktZXZhbHVhdGlvbi1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluZXItcXVlcmllcy9zaXplLWZlYXR1cmUtZXZh
bHVhdGlvbi1leHBlY3RlZC50eHQ6CisKIDIwMjItMDItMTIgIFRpbSBOZ3V5ZW4gIDxudGltQGFw
cGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIHRlc3QgZ2FyZGVuaW5nOiBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3VybC90b2FzY2lpLndpbmRvdy5odG1sCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0
aW9ucwppbmRleCA1MzlmMWNlYmE2YmViOTBlYmE4MTBkZjIzNDkzNDg2NGJlYWEwZDU1Li42N2U4
ZDBjMTM2MDk5NmRkY2NmYTU4YmFmMjQyODIxNjBiMDYyM2Q1IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMK
QEAgLTQ3MTAsNiArNDcxMCw3IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRhaW4taHRtbC1vdmVyZmxvdy0wMDQuaHRtbCBbCiB3ZWJraXQub3Jn
L2IvMjI5NjU5IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW5lci1xdWVyaWVzL2Rpc3BsYXktaW4tY29udGFpbmVyLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMjk2NTkgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1ZXJpZXMvcHNldWRvLWVsZW1lbnRzLTAw
Mi50ZW50YXRpdmUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIyOTY1
OSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
ZXItcXVlcmllcy9tdWx0aWNvbC1pbnNpZGUtY29udGFpbmVyLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KK3dlYmtpdC5vcmcvYi8yMjk2NTkgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1ZXJpZXMvaW5saW5lLXNpemUtYmZjLWZsb2F0
cy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiAKICMgRmxha3kgY3NzLWNvbnRhaW4gdGVzdAog
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12
aXNpYmlsaXR5L2FuaW1hdGlvbi1kaXNwbGF5LWxvY2suaHRtbCBbIEZhaWx1cmUgUGFzcyBdCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluZXItcXVlcmllcy9hdC1jb250YWluZXItcGFyc2luZy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluZXItcXVlcmllcy9hdC1jb250YWluZXItcGFyc2luZy1leHBl
Y3RlZC50eHQKaW5kZXggNTAyYjlmNzY2NzNmNGU5NjJhNDYzMTljMzYxMjg1NTBmMzAzMDEyMy4u
MzA3OTc5OTdmNWViMDA4MGFkNWY4OWY2ZTZiYjVlOWM2ZWI5YWJlYSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGFpbmVyLXF1ZXJpZXMvYXQtY29udGFpbmVyLXBhcnNpbmctZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRhaW5lci1xdWVyaWVzL2F0LWNvbnRhaW5lci1wYXJzaW5nLWV4cGVjdGVkLnR4dApA
QCAtMSwzNiArMSwzNiBAQAogCi1GQUlMIHNpemUod2lkdGgpIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkICJ0cnVlIiBidXQgZ290ICIiCi1GQUlMIHNpemUobWluLXdpZHRoOiAwcHgpIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICIiCi1GQUlMIHNpemUobWF4LXdpZHRoOiAw
cHgpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICIiCi1GQUlMIHNpemUo
aGVpZ2h0KSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiIgotRkFJTCBz
aXplKG1pbi1oZWlnaHQ6IDBweCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBn
b3QgIiIKLUZBSUwgc2l6ZShtYXgtaGVpZ2h0OiAwcHgpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
ICJ0cnVlIiBidXQgZ290ICIiCitQQVNTIHNpemUod2lkdGgpCitQQVNTIHNpemUobWluLXdpZHRo
OiAwcHgpCitQQVNTIHNpemUobWF4LXdpZHRoOiAwcHgpCitQQVNTIHNpemUoaGVpZ2h0KQorUEFT
UyBzaXplKG1pbi1oZWlnaHQ6IDBweCkKK1BBU1Mgc2l6ZShtYXgtaGVpZ2h0OiAwcHgpCiBGQUlM
IHNpemUoYXNwZWN0LXJhdGlvKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdv
dCAiIgotRkFJTCBzaXplKG1pbi1hc3BlY3QtcmF0aW86IDEvMikgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgInRydWUiIGJ1dCBnb3QgIiIKLUZBSUwgc2l6ZShtYXgtYXNwZWN0LXJhdGlvOiAxLzIp
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICIiCi1GQUlMIHNpemUob3Jp
ZW50YXRpb246IHBvcnRyYWl0KSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdv
dCAiIgorRkFJTCBzaXplKG1pbi1hc3BlY3QtcmF0aW86IDEvMikgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgMiBidXQgZ290IDAKK0ZBSUwgc2l6ZShtYXgtYXNwZWN0LXJhdGlvOiAxLzIpIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkIDIgYnV0IGdvdCAwCitGQUlMIHNpemUob3JpZW50YXRpb246IHBv
cnRyYWl0KSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAyIGJ1dCBnb3QgMAogRkFJTCBzaXplKGlu
bGluZS1zaXplKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiIgogRkFJ
TCBzaXplKG1pbi1pbmxpbmUtc2l6ZTogMHB4KSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1
ZSIgYnV0IGdvdCAiIgogRkFJTCBzaXplKG1heC1pbmxpbmUtc2l6ZTogMHB4KSBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiIgogRkFJTCBzaXplKGJsb2NrLXNpemUpIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICIiCiBGQUlMIHNpemUobWluLWJs
b2NrLXNpemU6IDBweCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgIiIK
IEZBSUwgc2l6ZShtYXgtYmxvY2stc2l6ZTogMHB4KSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAi
dHJ1ZSIgYnV0IGdvdCAiIgotRkFJTCBzaXplKHdpZHRoOiAxMDBweCkgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgIiIKLUZBSUwgc2l6ZSgod2lkdGg6IDEwMHB4KSkgYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgIiIKLUZBSUwgc2l6ZShub3QgKHdp
ZHRoOiAxMDBweCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICIiCi1G
QUlMIHNpemUoKHdpZHRoOiAxMDBweCkgYW5kIChoZWlnaHQ6IDEwMHB4KSkgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgIiIKLUZBSUwgc2l6ZSgod2lkdGg6IDUwcHgpIG9y
IChoZWlnaHQ6IDEwMHB4KSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3Qg
IiIKLUZBSUwgc2l6ZSh3aWR0aCA8IDEwMHB4KSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1
ZSIgYnV0IGdvdCAiIgotRkFJTCBzaXplKDEwMHB4IDwgd2lkdGgpIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkICJ0cnVlIiBidXQgZ290ICIiCi1GQUlMIHNpemUoMTAwcHggPCB3aWR0aCA8IDIwMHB4
KSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiIgorUEFTUyBzaXplKHdp
ZHRoOiAxMDBweCkKK1BBU1Mgc2l6ZSgod2lkdGg6IDEwMHB4KSkKK1BBU1Mgc2l6ZShub3QgKHdp
ZHRoOiAxMDBweCkpCitQQVNTIHNpemUoKHdpZHRoOiAxMDBweCkgYW5kIChoZWlnaHQ6IDEwMHB4
KSkKK1BBU1Mgc2l6ZSgod2lkdGg6IDUwcHgpIG9yIChoZWlnaHQ6IDEwMHB4KSkKK1BBU1Mgc2l6
ZSh3aWR0aCA8IDEwMHB4KQorRkFJTCBzaXplKDEwMHB4IDwgd2lkdGgpIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkIDIgYnV0IGdvdCAwCitGQUlMIHNpemUoMTAwcHggPCB3aWR0aCA8IDIwMHB4KSBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAyIGJ1dCBnb3QgMAogUEFTUyBmb28od2lkdGgpCiBQQVNT
IHNpemUoYXNkZikKLVBBU1Mgc2l6ZShyZXNvbHV0aW9uID4gMTAwZHBpKQotUEFTUyBzaXplKHJl
c29sdXRpb246IDE1MGRwaSkKK0ZBSUwgc2l6ZShyZXNvbHV0aW9uID4gMTAwZHBpKSBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAyIGJ1dCBnb3QgMAorRkFJTCBzaXplKHJlc29sdXRpb246IDE1MGRw
aSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMiBidXQgZ290IDAKIFBBU1Mgc2l6ZShjb2xvcikK
LVBBU1Mgc2l6ZShtaW4tY29sb3I6IDEpCi1QQVNTIHNpemUoY29sb3ItaW5kZXggPj0gMSkKLVBB
U1MgKGNvbG9yLWluZGV4ID49IDEpCitGQUlMIHNpemUobWluLWNvbG9yOiAxKSBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAyIGJ1dCBnb3QgMAorRkFJTCBzaXplKGNvbG9yLWluZGV4ID49IDEpIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkIDIgYnV0IGdvdCAwCitGQUlMIChjb2xvci1pbmRleCA+PSAx
KSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAyIGJ1dCBnb3QgMAogUEFTUyBzaXplKGdyaWQpCiBQ
QVNTIChncmlkKQogUEFTUyBzY3JlZW4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW5lci1xdWVyaWVz
L2NvbnRhaW5lci1mb3Itc2hhZG93LWRvbS50ZW50YXRpdmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbmVyLXF1ZXJpZXMvY29udGFpbmVyLWZvci1zaGFkb3ctZG9tLnRlbnRhdGl2ZS1leHBlY3Rl
ZC50eHQKaW5kZXggZDgxZWYyNDM1NjRiYzI1MWMwNGFhYmY5NGUyYWNmMGY0NTVhODBhNy4uZTM3
NmEyYzA5MjBlZjEzYzUzYmNkM2E4MWJjMDkwZDUwNDkyYTViNSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbmVyLXF1ZXJpZXMvY29udGFpbmVyLWZvci1zaGFkb3ctZG9tLnRlbnRhdGl2ZS1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1ZXJpZXMvY29udGFpbmVyLWZvci1zaGFkb3ctZG9t
LnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw2IEBACiAKIEZBSUwgTWF0Y2ggY29u
dGFpbmVyIGluIG91dGVyIHRyZWUgbnVsbCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdk
b2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjaW5jbHVzaXZlLWFuY2VzdG9yLWFjcm9zcy1yb290ID4g
ZGl2Iikuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yJykKLUZBSUwgTWF0Y2ggY29udGFpbmVyIGlu
IHNhbWUgdHJlZSwgbm90IHdhbGtpbmcgZmxhdCB0cmVlIGFuY2VzdG9ycyBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAicmdiKDAsIDEyOCwgMCkiIGJ1dCBnb3QgInJnYigwLCAwLCAwKSIKK1BBU1Mg
TWF0Y2ggY29udGFpbmVyIGluIHNhbWUgdHJlZSwgbm90IHdhbGtpbmcgZmxhdCB0cmVlIGFuY2Vz
dG9ycwogRkFJTCBNYXRjaCBjb250YWluZXIgaW4gOjpzbG90dGVkIHNlbGVjdG9yJ3Mgb3JpZ2lu
YXRpbmcgZWxlbWVudCB0cmVlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMCwgMTI4LCAw
KSIgYnV0IGdvdCAicmdiKDAsIDAsIDApIgogRkFJTCBNYXRjaCBjb250YWluZXIgaW4gb3V0ZXIg
dHJlZSBmb3IgOmhvc3QgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJnYigwLCAxMjgsIDApIiBi
dXQgZ290ICJyZ2IoMCwgMCwgMCkiCiBGQUlMIE1hdGNoIGNvbnRhaW5lciBpbiA6OnBhcnQgc2Vs
ZWN0b3IncyBvcmlnaW5hdGluZyBlbGVtZW50IHRyZWUgbnVsbCBpcyBub3QgYW4gb2JqZWN0IChl
dmFsdWF0aW5nICdkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjaW5jbHVzaXZlLWFuY2VzdG9yLXBh
cnQgPiBkaXYiKS5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3InKQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbmVyLXF1ZXJpZXMvY29udGFpbmVyLXR5cGUtaW52YWxpZGF0aW9uLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRhaW5lci1xdWVyaWVzL2NvbnRhaW5lci10eXBlLWludmFsaWRhdGlvbi1leHBlY3Rl
ZC50eHQKaW5kZXggYzM1MWMyMzdjNzhkY2JmNGY4ZThmNDNmZjk0MmNjMGNmOWFiYjZhOS4uN2Ux
ZmJmMWQyMmNhMmIyYjk1ZjJkZGVmNjg3MjU4ZjlhZjA1ODM4OSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbmVyLXF1ZXJpZXMvY29udGFpbmVyLXR5cGUtaW52YWxpZGF0aW9uLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluZXItcXVlcmllcy9jb250YWluZXItdHlwZS1pbnZhbGlkYXRpb24tZXhw
ZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogVGVzdAogCi1GQUlMIENoYW5naW5nIHRoZSBjb250
YWluZXIgdHlwZSBpbnZhbGlkYXRlcyByZWxldmFudCBkZXNjZW5kYW50cyBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAicmdiKDAsIDEyOCwgMCkiIGJ1dCBnb3QgInJnYigwLCAwLCAwKSIKK0ZBSUwg
Q2hhbmdpbmcgdGhlIGNvbnRhaW5lciB0eXBlIGludmFsaWRhdGVzIHJlbGV2YW50IGRlc2NlbmRh
bnRzIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMCwgMCwgMCkiIGJ1dCBnb3QgInJnYigw
LCAxMjgsIDApIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluZXItcXVlcmllcy9xdWVyeS1ldmFs
dWF0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW5lci1xdWVyaWVzL3F1ZXJ5LWV2YWx1YXRp
b24tZXhwZWN0ZWQudHh0CmluZGV4IDliMWNiMzZhYzVlMWZkMjcwNmJhYzc4NTEyNmFmZGU5MDg2
OWVmMWIuLmUwODA5MmJjMDhhNzQ0ODFlZDUxMjBjMDdhZTI5Mzc2Njk1ZWQ2YTIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW5lci1xdWVyaWVzL3F1ZXJ5LWV2YWx1YXRpb24tZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW5lci1xdWVyaWVzL3F1ZXJ5LWV2YWx1YXRpb24tZXhwZWN0ZWQudHh0CkBA
IC0zLDE4ICszLDE4IEBAIFBBU1Mgc2l6ZSh3aWR0aCkKIFBBU1Mgc2l6ZShoZWlnaHQpCiBQQVNT
IHNpemUodW5rbm93bikKIFBBU1MgdW5rbm93bih3aWR0aCkKLUZBSUwgKHNpemUod2lkdGgpKSBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiZmFsc2UiCitQQVNTIChzaXpl
KHdpZHRoKSkKIFBBU1MgKHNpemUoaGVpZ2h0KSkKIFBBU1MgKHNpemUodW5rbm93bikpCi1GQUlM
ICgoKHNpemUod2lkdGgpKSkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290
ICJmYWxzZSIKK1BBU1MgKCgoc2l6ZSh3aWR0aCkpKSkKIFBBU1MgKCgoc2l6ZShoZWlnaHQpKSkp
CiBQQVNTICgoKHNpemUodW5rbm93bikpKSkKIFBBU1MgKG5vdCBzaXplKHdpZHRoKSkKLUZBSUwg
KG5vdCBzaXplKGhlaWdodCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290
ICJmYWxzZSIKK1BBU1MgKG5vdCBzaXplKGhlaWdodCkpCiBQQVNTIChub3Qgc2l6ZSh1bmtub3du
KSkKIFBBU1MgKG5vdCB1bmtub3duKHdpZHRoKSkKLUZBSUwgKHNpemUod2lkdGgpIGFuZCBzaXpl
KHdpZHRoKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgImZhbHNlIgot
RkFJTCAoc2l6ZSh3aWR0aCkgYW5kIHNpemUod2lkdGgpIGFuZCBzaXplKHdpZHRoKSkgYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgImZhbHNlIgorUEFTUyAoc2l6ZSh3aWR0
aCkgYW5kIHNpemUod2lkdGgpKQorUEFTUyAoc2l6ZSh3aWR0aCkgYW5kIHNpemUod2lkdGgpIGFu
ZCBzaXplKHdpZHRoKSkKIFBBU1MgKHNpemUoaGVpZ2h0KSBhbmQgc2l6ZShoZWlnaHQpKQogUEFT
UyAoc2l6ZShoZWlnaHQpIGFuZCBzaXplKHdpZHRoKSBhbmQgc2l6ZSh3aWR0aCkpCiBQQVNTIChz
aXplKHdpZHRoKSBhbmQgc2l6ZShoZWlnaHQpIGFuZCBzaXplKHdpZHRoKSkKQEAgLTIyLDMwICsy
MiwzMCBAQCBQQVNTIChzaXplKHdpZHRoKSBhbmQgc2l6ZSh3aWR0aCkgYW5kIHNpemUoaGVpZ2h0
KSkKIFBBU1MgKHNpemUodW5rbm93bikgYW5kIHNpemUod2lkdGgpIGFuZCBzaXplKHdpZHRoKSkK
IFBBU1MgKHNpemUod2lkdGgpIGFuZCBzaXplKHVua25vd24pIGFuZCBzaXplKHdpZHRoKSkKIFBB
U1MgKHNpemUod2lkdGgpIGFuZCBzaXplKHdpZHRoKSBhbmQgc2l6ZSh1bmtub3duKSkKLUZBSUwg
KHNpemUod2lkdGgpIG9yIHNpemUod2lkdGgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1
ZSIgYnV0IGdvdCAiZmFsc2UiCi1GQUlMIChzaXplKHdpZHRoKSBvciBzaXplKHdpZHRoKSBvciBz
aXplKHdpZHRoKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgImZhbHNl
IgorUEFTUyAoc2l6ZSh3aWR0aCkgb3Igc2l6ZSh3aWR0aCkpCitQQVNTIChzaXplKHdpZHRoKSBv
ciBzaXplKHdpZHRoKSBvciBzaXplKHdpZHRoKSkKIFBBU1MgKHNpemUoaGVpZ2h0KSBvciBzaXpl
KGhlaWdodCkpCi1GQUlMIChzaXplKGhlaWdodCkgb3Igc2l6ZSh3aWR0aCkgb3Igc2l6ZSh3aWR0
aCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICJmYWxzZSIKLUZBSUwg
KHNpemUod2lkdGgpIG9yIHNpemUoaGVpZ2h0KSBvciBzaXplKHdpZHRoKSkgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgImZhbHNlIgotRkFJTCAoc2l6ZSh3aWR0aCkgb3Ig
c2l6ZSh3aWR0aCkgb3Igc2l6ZShoZWlnaHQpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1
ZSIgYnV0IGdvdCAiZmFsc2UiCi1GQUlMIChzaXplKHVua25vd24pIG9yIHNpemUod2lkdGgpIG9y
IHNpemUod2lkdGgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiZmFs
c2UiCi1GQUlMIChzaXplKHdpZHRoKSBvciBzaXplKHVua25vd24pIG9yIHNpemUod2lkdGgpKSBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiZmFsc2UiCi1GQUlMIChzaXpl
KHdpZHRoKSBvciBzaXplKHdpZHRoKSBvciBzaXplKHVua25vd24pKSBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiZmFsc2UiCi1GQUlMIChzaXplKHVua25vd24pIG9yIHNp
emUoaGVpZ2h0KSBvciBzaXplKHdpZHRoKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUi
IGJ1dCBnb3QgImZhbHNlIgorUEFTUyAoc2l6ZShoZWlnaHQpIG9yIHNpemUod2lkdGgpIG9yIHNp
emUod2lkdGgpKQorUEFTUyAoc2l6ZSh3aWR0aCkgb3Igc2l6ZShoZWlnaHQpIG9yIHNpemUod2lk
dGgpKQorUEFTUyAoc2l6ZSh3aWR0aCkgb3Igc2l6ZSh3aWR0aCkgb3Igc2l6ZShoZWlnaHQpKQor
UEFTUyAoc2l6ZSh1bmtub3duKSBvciBzaXplKHdpZHRoKSBvciBzaXplKHdpZHRoKSkKK1BBU1Mg
KHNpemUod2lkdGgpIG9yIHNpemUodW5rbm93bikgb3Igc2l6ZSh3aWR0aCkpCitQQVNTIChzaXpl
KHdpZHRoKSBvciBzaXplKHdpZHRoKSBvciBzaXplKHVua25vd24pKQorUEFTUyAoc2l6ZSh1bmtu
b3duKSBvciBzaXplKGhlaWdodCkgb3Igc2l6ZSh3aWR0aCkpCiBQQVNTIChub3QgKHNpemUod2lk
dGgpIGFuZCBzaXplKHdpZHRoKSkpCi1GQUlMIChub3QgKHNpemUod2lkdGgpIGFuZCBzaXplKGhl
aWdodCkpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiZmFsc2UiCitQ
QVNTIChub3QgKHNpemUod2lkdGgpIGFuZCBzaXplKGhlaWdodCkpKQogUEFTUyAoc2l6ZSh3aWR0
aCkgYW5kIChub3QgKHNpemUoaGVpZ2h0KSBvciBzaXplKHdpZHRoKSkpKQotRkFJTCAoc2l6ZSho
ZWlnaHQpIG9yIChub3QgKHNpemUoaGVpZ2h0KSBhbmQgc2l6ZSh3aWR0aCkpKSkgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgImZhbHNlIgorUEFTUyAoc2l6ZShoZWlnaHQp
IG9yIChub3QgKHNpemUoaGVpZ2h0KSBhbmQgc2l6ZSh3aWR0aCkpKSkKIFBBU1MgKHNpemUoaGVp
Z2h0KSBvciAoc2l6ZShoZWlnaHQpIGFuZCBzaXplKHdpZHRoKSkpCi1GQUlMIHNpemUoKHdpZHRo
KSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgImZhbHNlIgorUEFTUyBz
aXplKCh3aWR0aCkpCiBQQVNTIHNpemUoKGhlaWdodCkpCiBQQVNTIHNpemUoKHVua25vd24pKQog
UEFTUyB1bmtub3duKCh3aWR0aCkpCiBQQVNTIHNpemUobm90ICh3aWR0aCkpCi1GQUlMIHNpemUo
bm90IChoZWlnaHQpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiZmFs
c2UiCitQQVNTIHNpemUobm90IChoZWlnaHQpKQogUEFTUyBzaXplKG5vdCAodW5rbm93bikpCi1G
QUlMIHNpemUoKHdpZHRoKSBhbmQgKHdpZHRoKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRy
dWUiIGJ1dCBnb3QgImZhbHNlIgotRkFJTCBzaXplKCh3aWR0aCkgYW5kICh3aWR0aCkgYW5kICh3
aWR0aCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICJmYWxzZSIKK1BB
U1Mgc2l6ZSgod2lkdGgpIGFuZCAod2lkdGgpKQorUEFTUyBzaXplKCh3aWR0aCkgYW5kICh3aWR0
aCkgYW5kICh3aWR0aCkpCiBQQVNTIHNpemUoKGhlaWdodCkgYW5kIChoZWlnaHQpKQogUEFTUyBz
aXplKChoZWlnaHQpIGFuZCAod2lkdGgpIGFuZCAod2lkdGgpKQogUEFTUyBzaXplKCh3aWR0aCkg
YW5kIChoZWlnaHQpIGFuZCAod2lkdGgpKQpAQCAtNTMsMTkgKzUzLDE5IEBAIFBBU1Mgc2l6ZSgo
d2lkdGgpIGFuZCAod2lkdGgpIGFuZCAoaGVpZ2h0KSkKIFBBU1Mgc2l6ZSgodW5rbm93bikgYW5k
ICh3aWR0aCkgYW5kICh3aWR0aCkpCiBQQVNTIHNpemUoKHdpZHRoKSBhbmQgKHVua25vd24pIGFu
ZCAod2lkdGgpKQogUEFTUyBzaXplKCh3aWR0aCkgYW5kICh3aWR0aCkgYW5kICh1bmtub3duKSkK
LUZBSUwgc2l6ZSgod2lkdGgpIG9yICh3aWR0aCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0
cnVlIiBidXQgZ290ICJmYWxzZSIKLUZBSUwgc2l6ZSgod2lkdGgpIG9yICh3aWR0aCkgb3IgKHdp
ZHRoKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgImZhbHNlIgorUEFT
UyBzaXplKCh3aWR0aCkgb3IgKHdpZHRoKSkKK1BBU1Mgc2l6ZSgod2lkdGgpIG9yICh3aWR0aCkg
b3IgKHdpZHRoKSkKIFBBU1Mgc2l6ZSgoaGVpZ2h0KSBvciAoaGVpZ2h0KSkKLUZBSUwgc2l6ZSgo
aGVpZ2h0KSBvciAod2lkdGgpIG9yICh3aWR0aCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0
cnVlIiBidXQgZ290ICJmYWxzZSIKLUZBSUwgc2l6ZSgod2lkdGgpIG9yIChoZWlnaHQpIG9yICh3
aWR0aCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICJmYWxzZSIKLUZB
SUwgc2l6ZSgod2lkdGgpIG9yICh3aWR0aCkgb3IgKGhlaWdodCkpIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkICJ0cnVlIiBidXQgZ290ICJmYWxzZSIKLUZBSUwgc2l6ZSgodW5rbm93bikgb3IgKHdp
ZHRoKSBvciAod2lkdGgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAi
ZmFsc2UiCi1GQUlMIHNpemUoKHdpZHRoKSBvciAodW5rbm93bikgb3IgKHdpZHRoKSkgYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgImZhbHNlIgotRkFJTCBzaXplKCh3aWR0
aCkgb3IgKHdpZHRoKSBvciAodW5rbm93bikpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVl
IiBidXQgZ290ICJmYWxzZSIKLUZBSUwgc2l6ZSgodW5rbm93bikgb3IgKGhlaWdodCkgb3IgKHdp
ZHRoKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgImZhbHNlIgorUEFT
UyBzaXplKChoZWlnaHQpIG9yICh3aWR0aCkgb3IgKHdpZHRoKSkKK1BBU1Mgc2l6ZSgod2lkdGgp
IG9yIChoZWlnaHQpIG9yICh3aWR0aCkpCitQQVNTIHNpemUoKHdpZHRoKSBvciAod2lkdGgpIG9y
IChoZWlnaHQpKQorUEFTUyBzaXplKCh1bmtub3duKSBvciAod2lkdGgpIG9yICh3aWR0aCkpCitQ
QVNTIHNpemUoKHdpZHRoKSBvciAodW5rbm93bikgb3IgKHdpZHRoKSkKK1BBU1Mgc2l6ZSgod2lk
dGgpIG9yICh3aWR0aCkgb3IgKHVua25vd24pKQorUEFTUyBzaXplKCh1bmtub3duKSBvciAoaGVp
Z2h0KSBvciAod2lkdGgpKQogUEFTUyBzaXplKG5vdCAoKHdpZHRoKSBhbmQgKHdpZHRoKSkpCi1G
QUlMIHNpemUobm90ICgod2lkdGgpIGFuZCAoaGVpZ2h0KSkpIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkICJ0cnVlIiBidXQgZ290ICJmYWxzZSIKK1BBU1Mgc2l6ZShub3QgKCh3aWR0aCkgYW5kICho
ZWlnaHQpKSkKIFBBU1Mgc2l6ZSgod2lkdGgpIGFuZCAobm90ICgoaGVpZ2h0KSBvciAod2lkdGgp
KSkpCi1GQUlMIHNpemUoKGhlaWdodCkgb3IgKG5vdCAoKGhlaWdodCkgYW5kICh3aWR0aCkpKSkg
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgImZhbHNlIgorUEFTUyBzaXpl
KChoZWlnaHQpIG9yIChub3QgKChoZWlnaHQpIGFuZCAod2lkdGgpKSkpCiBQQVNTIHNpemUoKGhl
aWdodCkgb3IgKChoZWlnaHQpIGFuZCAod2lkdGgpKSkKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bmVyLXF1ZXJpZXMvc2l6ZS1mZWF0dXJlLWV2YWx1YXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbmVyLXF1ZXJpZXMvc2l6ZS1mZWF0dXJlLWV2YWx1YXRpb24tZXhwZWN0ZWQudHh0CmluZGV4
IGMyZjJkNjlhYWIyNDBhMGQxMzAwOWIwMjQ1MTM1NmYxZDkyYzQ3YzQuLjliNGI5N2M2NzQ0MjMx
NjU4ZGYxMDVhYjM0N2ZjM2E0NGM5MDBiZWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW5lci1xdWVy
aWVzL3NpemUtZmVhdHVyZS1ldmFsdWF0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
ZXItcXVlcmllcy9zaXplLWZlYXR1cmUtZXZhbHVhdGlvbi1leHBlY3RlZC50eHQKQEAgLTEsMTIg
KzEsMTIgQEAKIFRlc3QKIAotUEFTUyBzaXplKHdpZHRoIDwgMTAwcHgpICguaG9yaXpvbnRhbCkK
K0ZBSUwgc2l6ZSh3aWR0aCA8IDEwMHB4KSAoLmhvcml6b250YWwpIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkICIiIGJ1dCBnb3QgInRydWUiCiBGQUlMIHNpemUod2lkdGggPj0gMTAwcHgpICguaG9y
aXpvbnRhbCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgIiIKIFBBU1Mg
c2l6ZShtaW4td2lkdGg6IDEwMHB4KSAoLmhvcml6b250YWwpCiBQQVNTIHNpemUobWluLXdpZHRo
OiAxMDFweCkgKC5ob3Jpem9udGFsKQogUEFTUyBzaXplKG1heC13aWR0aDogMTAwcHgpICguaG9y
aXpvbnRhbCkKIFBBU1Mgc2l6ZShtYXgtd2lkdGg6IDk5cHgpICguaG9yaXpvbnRhbCkKLVBBU1Mg
c2l6ZShoZWlnaHQgPCAyMDBweCkgKC5ob3Jpem9udGFsKQorRkFJTCBzaXplKGhlaWdodCA8IDIw
MHB4KSAoLmhvcml6b250YWwpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICIiIGJ1dCBnb3QgInRy
dWUiCiBGQUlMIHNpemUoaGVpZ2h0ID49IDIwMHB4KSAoLmhvcml6b250YWwpIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICIiCiBQQVNTIHNpemUobWluLWhlaWdodDogMjAw
cHgpICguaG9yaXpvbnRhbCkKIFBBU1Mgc2l6ZShtaW4taGVpZ2h0OiAyMDFweCkgKC5ob3Jpem9u
dGFsKQpAQCAtMjgsMTMgKzI4LDEzIEBAIFBBU1Mgc2l6ZShvcmllbnRhdGlvbjogbGFuZHNjYXBl
KSAoLmhvcml6b250YWwpCiBGQUlMIHNpemUob3JpZW50YXRpb246IHBvcnRyYWl0KSAoLmhvcml6
b250YWwpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICIiCiBGQUlMIHNp
emUoYXNwZWN0LXJhdGlvOiAxLzIpICguaG9yaXpvbnRhbCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgInRydWUiIGJ1dCBnb3QgIiIKIFBBU1Mgc2l6ZShhc3BlY3QtcmF0aW86IDIvMSkgKC5ob3Jp
em9udGFsKQotUEFTUyBzaXplKHdpZHRoIDwgMTAwcHgpICgudmVydGljYWwpCitGQUlMIHNpemUo
d2lkdGggPCAxMDBweCkgKC52ZXJ0aWNhbCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIiIgYnV0
IGdvdCAidHJ1ZSIKIEZBSUwgc2l6ZSh3aWR0aCA+PSAxMDBweCkgKC52ZXJ0aWNhbCkgYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgIiIKIFBBU1Mgc2l6ZShtaW4td2lkdGg6
IDEwMHB4KSAoLnZlcnRpY2FsKQogUEFTUyBzaXplKG1pbi13aWR0aDogMTAxcHgpICgudmVydGlj
YWwpCiBQQVNTIHNpemUobWF4LXdpZHRoOiAxMDBweCkgKC52ZXJ0aWNhbCkKIFBBU1Mgc2l6ZSht
YXgtd2lkdGg6IDk5cHgpICgudmVydGljYWwpCi1QQVNTIHNpemUoaGVpZ2h0IDwgMjAwcHgpICgu
dmVydGljYWwpCitGQUlMIHNpemUoaGVpZ2h0IDwgMjAwcHgpICgudmVydGljYWwpIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkICIiIGJ1dCBnb3QgInRydWUiCiBGQUlMIHNpemUoaGVpZ2h0ID49IDIw
MHB4KSAoLnZlcnRpY2FsKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAi
IgogUEFTUyBzaXplKG1pbi1oZWlnaHQ6IDIwMHB4KSAoLnZlcnRpY2FsKQogUEFTUyBzaXplKG1p
bi1oZWlnaHQ6IDIwMXB4KSAoLnZlcnRpY2FsKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451880</attachid>
            <date>2022-02-14 03:38:51 -0800</date>
            <delta_ts>2022-02-14 04:07:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236580-20220214133849.patch</filename>
            <type>text/plain</type>
            <size>46697</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5NzA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzAyNWJhMjg0MWVjMGY2
N2E3Zjg1YWVlYmYwN2U2ZTg5OThiYWFhOC4uYzQ0MjJkNWNiYzU5MDlhZTgyMTFiNDA1MTg1Nzg5
ZTUwMmU0MmVhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDIyLTAyLTE0ICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBbQ1NTIENvbnRhaW5lciBR
dWVyaWVzXSBJbXBsZW1lbnQgZnVsbCBxdWVyeSBwYXJzZXIgYW5kIGV2YWx1YXRvcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2NTgwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU28gZmFyIHdlIGhhdmUg
YmVlbiB1c2luZyB0aGUgbWVkaWEgcXVlcnkgcGFyc2VyIHRvIHBhcnNlIGNvbnRhaW5lciBxdWVy
aWVzLgorICAgICAgICBJdCBkb2VzIG5vdCBzdXBwb3J0IG5lc3RpbmcgYW5kIG90aGVyIG5lY2Vz
c2FyeSBmZWF0dXJlcy4gQWxzbyB0aGUgcHJvZHVjZWQgZGF0YQorICAgICAgICBzdHJ1Y3R1cmUg
YXJlIGF3a3dhcmQgdG8gZXZhbHVhdGUuCisKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAg
ICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogY3NzL0Nv
bnRhaW5lclF1ZXJ5Lmg6CisgICAgICAgICogY3NzL0NvbnRhaW5lclF1ZXJ5UGFyc2VyLmNwcDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDb250YWluZXJRdWVyeVBhcnNlcjo6cGFyc2UpOgor
ICAgICAgICAoV2ViQ29yZTo6Q29udGFpbmVyUXVlcnlQYXJzZXI6OmNvbnN1bWVDb250YWluZXJR
dWVyeSk6CisgICAgICAgIChXZWJDb3JlOjpDb250YWluZXJRdWVyeVBhcnNlcjo6Y29uc3VtZUNv
bmRpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpDb250YWluZXJRdWVyeVBhcnNlcjo6Y29uc3Vt
ZVNpemVRdWVyeSk6CisKKyAgICAgICAgTm8gc3VwcG9ydCBmb3IgcmFuZ2Ugb3BlcmF0b3JzICgn
PCcgZXRjKSB5ZXQuCisKKyAgICAgICAgKiBjc3MvQ29udGFpbmVyUXVlcnlQYXJzZXIuaDogQ29w
aWVkIGZyb20gU291cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5LmguCisgICAgICAgIChX
ZWJDb3JlOjpDb250YWluZXJRdWVyeVBhcnNlcjo6Q29udGFpbmVyUXVlcnlQYXJzZXIpOgorICAg
ICAgICAqIGNzcy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
U1NQYXJzZXJJbXBsOjpjb25zdW1lQ29udGFpbmVyUnVsZSk6CisgICAgICAgICogc3R5bGUvQ29u
dGFpbmVyUXVlcnlFdmFsdWF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OmNvbXB1
dGVTaXplKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpDb250YWluZXJRdWVyeUV2YWx1YXRv
cjo6ZXZhbHVhdGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkNvbnRhaW5lclF1
ZXJ5RXZhbHVhdG9yOjpldmFsdWF0ZVF1ZXJ5IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlN0
eWxlOjpDb250YWluZXJRdWVyeUV2YWx1YXRvcjo6ZXZhbHVhdGVDb25kaXRpb24gY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkNvbnRhaW5lclF1ZXJ5RXZhbHVhdG9yOjpldmFsdWF0
ZVNpemVGZWF0dXJlIGNvbnN0KToKKworICAgICAgICBKdXN0ICd3aWR0aCcgYW5kICdoZWlnaHQn
IGZvciBub3csIG5vdyBuZXcgc2l6ZSBmZWF0dXJlcy4KKworICAgICAgICAqIHN0eWxlL0NvbnRh
aW5lclF1ZXJ5RXZhbHVhdG9yLmg6CisKIDIwMjItMDItMTMgIEFudHRpIEtvaXZpc3RvICA8YW50
dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFtDU1MgQ29udGFpbmVyIFF1ZXJpZXNdIEFkZCBzZXBh
cmF0ZSBDb250YWluZXJRdWVyeSBhbmQgRmlsdGVyZWRDb250YWluZXJRdWVyeSB0eXBlcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3Vy
Y2VzLnR4dAppbmRleCAyMDE5MDU2MmMxMzM2MTY4MzI1YTM0OThlNWIzMWQ0MDgyZGI2N2NiLi5i
Y2IzOWVjMzYwMDk1NDIyNWQ4NWFjZTQ1Y2JmMDliMjM5OTMwNjk0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApA
QCAtNzA0LDYgKzcwNCw3IEBAIGNyeXB0by9rZXlzL0NyeXB0b0tleVJTQS5jcHAKIGNyeXB0by9r
ZXlzL0NyeXB0b0tleVJTQUNvbXBvbmVudHMuY3BwCiBjcnlwdG8va2V5cy9DcnlwdG9LZXlSYXcu
Y3BwCiBjc3MvQmFzaWNTaGFwZUZ1bmN0aW9ucy5jcHAKK2Nzcy9Db250YWluZXJRdWVyeVBhcnNl
ci5jcHAKIGNzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcAogY3NzL0NTU0Jhc2ljU2hhcGVzLmNw
cAogY3NzL0NTU0JvcmRlckltYWdlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGYzYzM1MjRiNDU3NmM0NjVkZTdmZWUxOTMz
OTk0NTliNTkxYjViZjguLmNkZGZmZjY2ZDdiM2JhNzY1NDNiZjk2MjhiMWI0NDU4NTIxZjE4M2Qg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTU0MjksNiArNTQyOSw3IEBACiAJCUU0RUQzRUNDMjc2OEE1MUQwMEYxN0FDOCAvKiBI
YXNTZWxlY3RvckZpbHRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRTRFRDNFQ0EyNzY4QTUxQzAwRjE3QUM4IC8qIEhhc1NlbGVjdG9yRmlsdGVyLmgg
Ki87IH07CiAJCUU0RjBCRTMxMjU3MTJGNkUwMDlFNzQzMSAvKiBDYXJldFJlY3RDb21wdXRhdGlv
bi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRGMEJF
MkUyNTcxMEE3NTAwOUU3NDMxIC8qIENhcmV0UmVjdENvbXB1dGF0aW9uLmggKi87IH07CiAJCUU0
RjE1NzM5MjdCOTI2MTUwMEIzMzBEOCAvKiBDb250YWluZXJRdWVyeS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRGMTU3MzIyN0I2OTkxRjAwQjMzMEQ4
IC8qIENvbnRhaW5lclF1ZXJ5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJRTRGMTU3NDEyN0I5M0I3NzAwQjMzMEQ4IC8qIENvbnRhaW5lclF1ZXJ5
UGFyc2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBF
NEYxNTczRDI3QjkzQjRDMDBCMzMwRDggLyogQ29udGFpbmVyUXVlcnlQYXJzZXIuaCAqLzsgfTsK
IAkJRTRGMzhEMUIyNjI2RjEzQjAwN0IxMDY0IC8qIERlZmF1bHRSZXNvdXJjZUxvYWRQcmlvcml0
eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRGMzhE
MTkyNjI2RjEzQjAwN0IxMDY0IC8qIERlZmF1bHRSZXNvdXJjZUxvYWRQcmlvcml0eS5oICovOyB9
OwogCQlFNEY4MTlDNjI2RkI0RUJGMDA5NEUxNjIgLyogSW5saW5lQm94UGFpbnRlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRGODE5QzUyNkZCNEVC
RjAwOTRFMTYyIC8qIElubGluZUJveFBhaW50ZXIuaCAqLzsgfTsKIAkJRTRGOUVFRjMxNTZEQTAw
NzAwRDIzRTdFIC8qIFN0eWxlU2hlZXRDb250ZW50cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRGOUVFRjExNTZEODRDNDAwRDIzRTdFIC8qIFN0eWxl
U2hlZXRDb250ZW50cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CkBAIC0xNzYxMSw2ICsxNzYxMiw4IEBACiAJCUU0RjBCRTJFMjU3MTBBNzUwMDlFNzQz
MSAvKiBDYXJldFJlY3RDb21wdXRhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBDYXJldFJlY3RDb21wdXRhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlFNEYwQkUzMDI1NzEwQTc2MDA5RTc0MzEgLyogQ2FyZXRSZWN0Q29tcHV0YXRpb24uY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2FyZXRSZWN0Q29tcHV0YXRpb24u
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNEYxNTczMjI3QjY5OTFGMDBCMzMw
RDggLyogQ29udGFpbmVyUXVlcnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29udGFpbmVyUXVlcnkuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTRGMTU3M0QyN0I5M0I0QzAwQjMzMEQ4IC8q
IENvbnRhaW5lclF1ZXJ5UGFyc2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRhaW5lclF1ZXJ5UGFy
c2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUU0RjE1NzNGMjdCOTNCNTgwMEIz
MzBEOCAvKiBDb250YWluZXJRdWVyeVBhcnNlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDb250
YWluZXJRdWVyeVBhcnNlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0RjM4
RDE5MjYyNkYxM0IwMDdCMTA2NCAvKiBEZWZhdWx0UmVzb3VyY2VMb2FkUHJpb3JpdHkuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGVmYXVsdFJlc291cmNlTG9hZFByaW9yaXR5
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0RjM4RDFDMjYyNkYxNDQwMDdCMTA2
NCAvKiBEZWZhdWx0UmVzb3VyY2VMb2FkUHJpb3JpdHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gRGVmYXVsdFJlc291cmNlTG9hZFByaW9yaXR5LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTRGODE5QzIyNkZCNEVBRjAwOTRFMTYyIC8qIElubGlu
ZUJveFBhaW50ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5s
aW5lQm94UGFpbnRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zMTU5Niw2
ICszMTU5OSw4IEBACiAJCQkJRkJENkFGODQxNUVGMjFENDAwOEI3MTEwIC8qIEJhc2ljU2hhcGVG
dW5jdGlvbnMuY3BwICovLAogCQkJCUZCRDZBRjg1MTVFRjIxRDQwMDhCNzExMCAvKiBCYXNpY1No
YXBlRnVuY3Rpb25zLmggKi8sCiAJCQkJRTRGMTU3MzIyN0I2OTkxRjAwQjMzMEQ4IC8qIENvbnRh
aW5lclF1ZXJ5LmggKi8sCisJCQkJRTRGMTU3M0YyN0I5M0I1ODAwQjMzMEQ4IC8qIENvbnRhaW5l
clF1ZXJ5UGFyc2VyLmNwcCAqLywKKwkJCQlFNEYxNTczRDI3QjkzQjRDMDBCMzMwRDggLyogQ29u
dGFpbmVyUXVlcnlQYXJzZXIuaCAqLywKIAkJCQlBODBFNkNEQTBBMTk4OUNBMDA3RkI4QzUgLyog
Q291bnRlci5oICovLAogCQkJCUNBRTlGOTBEMTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3BlY3RS
YXRpb1ZhbHVlLmNwcCAqLywKIAkJCQlDQUU5RjkwRTE0NjQ0MUYwMDBDMjQ1QjAgLyogQ1NTQXNw
ZWN0UmF0aW9WYWx1ZS5oICovLApAQCAtMzM4NzEsNyArMzM4NzYsOSBAQAogCQkJCUU1OTZERDM1
MjUxOTA0MTQwMEMyNzVBNyAvKiBDb250YWN0c1NlbGVjdE9wdGlvbnMuaCBpbiBIZWFkZXJzICov
LAogCQkJCUE4MTg3MjFDMDk3N0QzQzAwMDU4MjZEOSAvKiBDb250YWluZXJOb2RlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlFMUExNDcwODExMTAyQjE1MDBFRUMwRjMgLyogQ29udGFpbmVyTm9kZUFs
Z29yaXRobXMuaCBpbiBIZWFkZXJzICovLAorCQkJCUU0RjE1NzM5MjdCOTI2MTUwMEIzMzBEOCAv
KiBDb250YWluZXJRdWVyeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTRBQUIzODcyN0FBOTVENzAw
OUY1ODk5IC8qIENvbnRhaW5lclF1ZXJ5RXZhbHVhdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQlF
NEYxNTc0MTI3QjkzQjc3MDBCMzMwRDggLyogQ29udGFpbmVyUXVlcnlQYXJzZXIuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTZGQjVFMjE0MjIxRjI0NTMwMDM5ODlDRiAvKiBDb250ZW50Q2hhbmdlT2Jz
ZXJ2ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNUVCOTgxMEU4MjA3MjUwMEIyNTk2NSAvKiBD
b250ZW50RGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFCNDVEMjExQUI4RDFFMjAwMTE3Q0Qy
IC8qIENvbnRlbnRFeHRlbnNpb24uaCBpbiBIZWFkZXJzICovLApAQCAtMzcxODgsNyArMzcxOTUs
NiBAQAogCQkJCUU0NTMyMkFDMTQwQ0UyNjcwMDVBMEY5MiAvKiBTZWxlY3RvclF1ZXJ5LmggaW4g
SGVhZGVycyAqLywKIAkJCQlGNEQ0M0Q2NjIxODgwMzhCMDBFQ0VDQUMgLyogU2VyaWFsaXplZEF0
dGFjaG1lbnREYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMThERjMzNTE4QUFGMTJDMDA3NzNF
NTkgLyogU2VyaWFsaXplZENyeXB0b0tleVdyYXAuaCBpbiBIZWFkZXJzICovLAotCQkJCUU0RjE1
NzM5MjdCOTI2MTUwMEIzMzBEOCAvKiBDb250YWluZXJRdWVyeS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMDc3QUYxNDAxOEY0QUU0MDAwMDFFRDYxIC8qIFNlcmlhbGl6ZWRQbGF0Zm9ybURhdGFDdWUu
aCBpbiBIZWFkZXJzICovLAogCQkJCTA3N0FGMTQzMThGNEIxQkIwMDAxRUQ2MSAvKiBTZXJpYWxp
emVkUGxhdGZvcm1EYXRhQ3VlTWFjLmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzZEMUMxRjIzRjZF
QjVCMDBEOTVCMDYgLyogU2VyaWFsaXplZFBsYXRmb3JtRGF0YUN1ZVZhbHVlLmggaW4gSGVhZGVy
cyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Db250YWluZXJRdWVyeS5oIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5LmgKaW5kZXggOGQ4ZGUwYzAwYzViMjE5
ZTQwZjU4ZDYyNjU2ODQyMDUzYjliNTIwYi4uMGM5NTgyMWE2YmZhNTEwZjQ3NzhkYTZmODQ3YzI2
MDQwZDBkNTc5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5LmgKQEAgLTI4LDEzICsy
OCw0NSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIE1lZGlhUXVlcnlTZXQ7Citj
bGFzcyBDU1NQcmltaXRpdmVWYWx1ZTsKIAotdXNpbmcgQ29udGFpbmVyUXVlcnkgPSBNZWRpYVF1
ZXJ5U2V0OworbmFtZXNwYWNlIENRIHsKKworc3RydWN0IENvbnRhaW5lckNvbmRpdGlvbjsKK3N0
cnVjdCBTaXplQ29uZGl0aW9uOworc3RydWN0IFNpemVGZWF0dXJlOworCitzdHJ1Y3QgVW5rbm93
blF1ZXJ5IHsgfTsKKwordXNpbmcgU2l6ZVF1ZXJ5ID0gc3RkOjp2YXJpYW50PFNpemVDb25kaXRp
b24sIFNpemVGZWF0dXJlPjsKK3VzaW5nIENvbnRhaW5lclF1ZXJ5ID0gc3RkOjp2YXJpYW50PENv
bnRhaW5lckNvbmRpdGlvbiwgU2l6ZVF1ZXJ5LCBVbmtub3duUXVlcnk+OworCitlbnVtIGNsYXNz
IExvZ2ljYWxPcGVyYXRvciA6IHVpbnQ4X3QgeyBBbmQsIE9yLCBOb3QgfTsKK2VudW0gY2xhc3Mg
Q29tcGFyaXNvbk9wZXJhdG9yIDogdWludDhfdCB7IExlc3MsIExlc3NPckVxdWFsLCBFcXVhbCwg
R3JlYXRlciwgR3JlYXRlck9yRXF1YWwsIFRydWUgfTsKKworc3RydWN0IENvbnRhaW5lckNvbmRp
dGlvbiB7CisgICAgTG9naWNhbE9wZXJhdG9yIGxvZ2ljYWxPcGVyYXRvciB7IExvZ2ljYWxPcGVy
YXRvcjo6QW5kIH07CisgICAgVmVjdG9yPENvbnRhaW5lclF1ZXJ5PiBxdWVyaWVzOworfTsKKwor
c3RydWN0IFNpemVDb25kaXRpb24geworICAgIExvZ2ljYWxPcGVyYXRvciBsb2dpY2FsT3BlcmF0
b3IgeyBMb2dpY2FsT3BlcmF0b3I6OkFuZCB9OworICAgIFZlY3RvcjxTaXplUXVlcnk+IHF1ZXJp
ZXM7Cit9OworCitzdHJ1Y3QgU2l6ZUZlYXR1cmUgeworICAgIENvbXBhcmlzb25PcGVyYXRvciBj
b21wYXJpc29uT3BlcmF0b3IgeyBDb21wYXJpc29uT3BlcmF0b3I6OkVxdWFsIH07CisgICAgQXRv
bVN0cmluZyBuYW1lOworICAgIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gdmFsdWU7Cit9Owor
Cit9CisKK3VzaW5nIENvbnRhaW5lclF1ZXJ5ID0gQ1E6OkNvbnRhaW5lclF1ZXJ5OwogCiBzdHJ1
Y3QgRmlsdGVyZWRDb250YWluZXJRdWVyeSB7CiAgICAgQXRvbVN0cmluZyBuYW1lRmlsdGVyOwot
ICAgIFJlZjxDb250YWluZXJRdWVyeT4gcXVlcnk7CisgICAgQ29udGFpbmVyUXVlcnkgcXVlcnk7
CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ29udGFpbmVyUXVlcnlQ
YXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5UGFyc2VyLmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5jMzkyYjhjZTM1NmZhMTlmNDM2MDg3OGRlOTM3MjEzMDJmZjA3MGE1Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5UGFyc2VyLmNw
cApAQCAtMCwwICsxLDE3MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMiBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ29udGFpbmVyUXVlcnlQYXJzZXIuaCIKKworI2lu
Y2x1ZGUgIkNTU1ByaW1pdGl2ZVZhbHVlLmgiCisjaW5jbHVkZSAiQ1NTUHJvcGVydHlQYXJzZXJI
ZWxwZXJzLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RkOjpvcHRpb25hbDxDb250YWlu
ZXJRdWVyeT4gQ29udGFpbmVyUXVlcnlQYXJzZXI6OmNvbnN1bWVDb250YWluZXJRdWVyeShDU1NQ
YXJzZXJUb2tlblJhbmdlJiByYW5nZSwgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkK
K3sKKyAgICBDb250YWluZXJRdWVyeVBhcnNlciBwYXJzZXIoY29udGV4dCk7CisgICAgcmV0dXJu
IHBhcnNlci5jb25zdW1lQ29udGFpbmVyUXVlcnkocmFuZ2UpOworfQorCitzdGQ6Om9wdGlvbmFs
PENROjpDb250YWluZXJRdWVyeT4gQ29udGFpbmVyUXVlcnlQYXJzZXI6OmNvbnN1bWVDb250YWlu
ZXJRdWVyeShDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSkKK3sKKyAgICBpZiAocmFuZ2UucGVl
aygpLnR5cGUoKSA9PSBGdW5jdGlvblRva2VuKSB7CisgICAgICAgIGJvb2wgaXNTaXplUXVlcnkg
PSBlcXVhbElnbm9yaW5nQVNDSUlDYXNlKHJhbmdlLnBlZWsoKS52YWx1ZSgpLCAic2l6ZSIpOwor
CisgICAgICAgIGF1dG8gYmxvY2tSYW5nZSA9IHJhbmdlLmNvbnN1bWVCbG9jaygpOworICAgICAg
ICBibG9ja1JhbmdlLmNvbnN1bWVXaGl0ZXNwYWNlKCk7CisKKyAgICAgICAgaWYgKCFpc1NpemVR
dWVyeSkKKyAgICAgICAgICAgIHJldHVybiBDUTo6VW5rbm93blF1ZXJ5IHsgfTsKKworICAgICAg
ICBhdXRvIHNpemVRdWVyeSA9IGNvbnN1bWVTaXplUXVlcnkoYmxvY2tSYW5nZSk7CisgICAgICAg
IGlmICghc2l6ZVF1ZXJ5KQorICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgcmV0dXJu
IHsgKnNpemVRdWVyeSB9OworICAgIH0KKworICAgIGlmIChyYW5nZS5wZWVrKCkudHlwZSgpID09
IExlZnRQYXJlbnRoZXNpc1Rva2VuKSB7CisgICAgICAgIGF1dG8gYmxvY2tSYW5nZSA9IHJhbmdl
LmNvbnN1bWVCbG9jaygpOworICAgICAgICByYW5nZS5jb25zdW1lV2hpdGVzcGFjZSgpOworCisg
ICAgICAgIGJsb2NrUmFuZ2UuY29uc3VtZVdoaXRlc3BhY2UoKTsKKworICAgICAgICAvLyBUcnkg
dG8gcGFyc2UgYXMgYSBzaXplIHF1ZXJ5IGZpcnN0LgorICAgICAgICBhdXRvIGJsb2NrRm9yU2l6
ZVF1ZXJ5ID0gYmxvY2tSYW5nZTsKKyAgICAgICAgaWYgKGF1dG8gc2l6ZVF1ZXJ5ID0gY29uc3Vt
ZVNpemVRdWVyeShibG9ja0ZvclNpemVRdWVyeSkpCisgICAgICAgICAgICByZXR1cm4geyAqc2l6
ZVF1ZXJ5IH07CisKKyAgICAgICAgaWYgKGF1dG8gY29uZGl0aW9uID0gY29uc3VtZUNvbmRpdGlv
bjxDUTo6Q29udGFpbmVyQ29uZGl0aW9uPihibG9ja1JhbmdlKSkKKyAgICAgICAgICAgIHJldHVy
biB7IGNvbmRpdGlvbiB9OworICAgIH0KKworICAgIHJldHVybiB7IH07Cit9CisKK3RlbXBsYXRl
PHR5cGVuYW1lIENvbmRpdGlvblR5cGU+CitzdGQ6Om9wdGlvbmFsPENvbmRpdGlvblR5cGU+IENv
bnRhaW5lclF1ZXJ5UGFyc2VyOjpjb25zdW1lQ29uZGl0aW9uKENTU1BhcnNlclRva2VuUmFuZ2Um
IHJhbmdlKQoreworICAgIGF1dG8gY29uc3VtZVF1ZXJ5ID0gWyZdKENTU1BhcnNlclRva2VuUmFu
Z2UmIHJhbmdlKSB7CisgICAgICAgIGlmIGNvbnN0ZXhwciAoc3RkOjppc19zYW1lX3Y8Q1E6OkNv
bnRhaW5lckNvbmRpdGlvbiwgQ29uZGl0aW9uVHlwZT4pCisgICAgICAgICAgICByZXR1cm4gY29u
c3VtZUNvbnRhaW5lclF1ZXJ5KHJhbmdlKTsKKyAgICAgICAgaWYgY29uc3RleHByIChzdGQ6Omlz
X3NhbWVfdjxDUTo6U2l6ZUNvbmRpdGlvbiwgQ29uZGl0aW9uVHlwZT4pIHsKKyAgICAgICAgICAg
IGlmIChyYW5nZS5wZWVrKCkudHlwZSgpICE9IExlZnRQYXJlbnRoZXNpc1Rva2VuKQorICAgICAg
ICAgICAgICAgIHJldHVybiBzdGQ6Om9wdGlvbmFsPENROjpTaXplUXVlcnk+KCk7CisgICAgICAg
ICAgICBhdXRvIGJsb2NrUmFuZ2UgPSByYW5nZS5jb25zdW1lQmxvY2soKTsKKyAgICAgICAgICAg
IHJldHVybiBjb25zdW1lU2l6ZVF1ZXJ5KGJsb2NrUmFuZ2UpOworICAgICAgICB9CisgICAgfTsK
KworICAgIGlmIChyYW5nZS5wZWVrKCkudHlwZSgpID09IElkZW50VG9rZW4pIHsKKyAgICAgICAg
aWYgKGVxdWFsSWdub3JpbmdBU0NJSUNhc2UocmFuZ2UucGVlaygpLnZhbHVlKCksICJub3QiKSkg
eworICAgICAgICAgICAgcmFuZ2UuY29uc3VtZUluY2x1ZGluZ1doaXRlc3BhY2UoKTsKKyAgICAg
ICAgICAgIGlmIChhdXRvIHF1ZXJ5ID0gY29uc3VtZVF1ZXJ5KHJhbmdlKSkKKyAgICAgICAgICAg
ICAgICByZXR1cm4gQ29uZGl0aW9uVHlwZSB7IENROjpMb2dpY2FsT3BlcmF0b3I6Ok5vdCwgeyAq
cXVlcnkgfSB9OworICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgfQorICAgIH0KKwor
ICAgIENvbmRpdGlvblR5cGUgY29uZGl0aW9uOworCisgICAgYXV0byBxdWVyeSA9IGNvbnN1bWVR
dWVyeShyYW5nZSk7CisgICAgaWYgKCFxdWVyeSkKKyAgICAgICAgcmV0dXJuIHsgfTsKKworICAg
IGNvbmRpdGlvbi5xdWVyaWVzLmFwcGVuZCgqcXVlcnkpOworICAgIHJhbmdlLmNvbnN1bWVXaGl0
ZXNwYWNlKCk7CisKKyAgICB3aGlsZSAoIXJhbmdlLmF0RW5kKCkpIHsKKyAgICAgICAgYXV0byBv
cGVyYXRvclRva2VuID0gcmFuZ2UuY29uc3VtZUluY2x1ZGluZ1doaXRlc3BhY2UoKTsKKyAgICAg
ICAgaWYgKG9wZXJhdG9yVG9rZW4udHlwZSgpICE9IElkZW50VG9rZW4pCisgICAgICAgICAgICBy
ZXR1cm4geyB9OworCisgICAgICAgIGlmIChlcXVhbElnbm9yaW5nQVNDSUlDYXNlKG9wZXJhdG9y
VG9rZW4udmFsdWUoKSwgImFuZCIpKSB7CisgICAgICAgICAgICBpZiAoY29uZGl0aW9uLnF1ZXJp
ZXMuc2l6ZSgpID4gMSAmJiBjb25kaXRpb24ubG9naWNhbE9wZXJhdG9yICE9IENROjpMb2dpY2Fs
T3BlcmF0b3I6OkFuZCkKKyAgICAgICAgICAgICAgICByZXR1cm4geyB9OworICAgICAgICAgICAg
Y29uZGl0aW9uLmxvZ2ljYWxPcGVyYXRvciA9IENROjpMb2dpY2FsT3BlcmF0b3I6OkFuZDsKKyAg
ICAgICAgfSBlbHNlIGlmIChlcXVhbElnbm9yaW5nQVNDSUlDYXNlKG9wZXJhdG9yVG9rZW4udmFs
dWUoKSwgIm9yIikpIHsKKyAgICAgICAgICAgIGlmIChjb25kaXRpb24ucXVlcmllcy5zaXplKCkg
PiAxICYmIGNvbmRpdGlvbi5sb2dpY2FsT3BlcmF0b3IgIT0gQ1E6OkxvZ2ljYWxPcGVyYXRvcjo6
T3IpCisgICAgICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgICAgIGNvbmRpdGlvbi5s
b2dpY2FsT3BlcmF0b3IgPSBDUTo6TG9naWNhbE9wZXJhdG9yOjpPcjsKKyAgICAgICAgfSBlbHNl
CisgICAgICAgICAgICByZXR1cm4geyB9OworCisgICAgICAgIGF1dG8gcXVlcnkgPSBjb25zdW1l
UXVlcnkocmFuZ2UpOworICAgICAgICBpZiAoIXF1ZXJ5KQorICAgICAgICAgICAgcmV0dXJuIHsg
fTsKKworICAgICAgICBjb25kaXRpb24ucXVlcmllcy5hcHBlbmQoKnF1ZXJ5KTsKKyAgICAgICAg
cmFuZ2UuY29uc3VtZVdoaXRlc3BhY2UoKTsKKyAgICB9CisKKyAgICByZXR1cm4gY29uZGl0aW9u
OworfQorCitzdGQ6Om9wdGlvbmFsPENROjpTaXplUXVlcnk+IENvbnRhaW5lclF1ZXJ5UGFyc2Vy
Ojpjb25zdW1lU2l6ZVF1ZXJ5KENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlKQoreworICAgIGlm
IChyYW5nZS5wZWVrKCkudHlwZSgpICE9IElkZW50VG9rZW4gfHwgZXF1YWxJZ25vcmluZ0FTQ0lJ
Q2FzZShyYW5nZS5wZWVrKCkudmFsdWUoKSwgIm5vdCIpKSB7CisgICAgICAgIGF1dG8gc2l6ZUNv
bmRpdGlvbiA9IGNvbnN1bWVDb25kaXRpb248Q1E6OlNpemVDb25kaXRpb24+KHJhbmdlKTsKKyAg
ICAgICAgaWYgKCFzaXplQ29uZGl0aW9uKQorICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAg
ICAgcmV0dXJuIHsgKnNpemVDb25kaXRpb24gfTsKKyAgICB9CisKKyAgICBhdXRvIG5hbWVUb2tl
biA9IHJhbmdlLmNvbnN1bWVJbmNsdWRpbmdXaGl0ZXNwYWNlKCk7CisgICAgYXV0byBuYW1lID0g
bmFtZVRva2VuLnZhbHVlKCkudG9BdG9tU3RyaW5nKCk7CisKKyAgICBpZiAocmFuZ2UuYXRFbmQo
KSkKKyAgICAgICAgcmV0dXJuIENROjpTaXplRmVhdHVyZSB7IENROjpDb21wYXJpc29uT3BlcmF0
b3I6OlRydWUsIG5hbWUsIHsgfSB9OworCisgICAgYXV0byBvcFRva2VuID0gcmFuZ2UuY29uc3Vt
ZUluY2x1ZGluZ1doaXRlc3BhY2UoKTsKKyAgICBpZiAocmFuZ2UuYXRFbmQoKSkKKyAgICAgICAg
cmV0dXJuIHsgfTsKKworICAgIC8vIEZJWE1FOiBTdXBwb3J0ICc8JyBzdHlsZSBvcGVyYXRvcnMg
YW5kIHJhbmdlcy4KKyAgICBhdXRvIG9wID0gQ1E6OkNvbXBhcmlzb25PcGVyYXRvcjo6RXF1YWw7
CisgICAgaWYgKG9wVG9rZW4udHlwZSgpID09IENvbG9uVG9rZW4pIHsKKyAgICAgICAgaWYgKG5h
bWUuc3RhcnRzV2l0aCgibWluLSIpKQorICAgICAgICAgICAgb3AgPSBDUTo6Q29tcGFyaXNvbk9w
ZXJhdG9yOjpHcmVhdGVyT3JFcXVhbDsKKyAgICAgICAgZWxzZSBpZiAobmFtZS5zdGFydHNXaXRo
KCJtYXgtIikpCisgICAgICAgICAgICBvcCA9IENROjpDb21wYXJpc29uT3BlcmF0b3I6Okxlc3NP
ckVxdWFsOworCisgICAgICAgIGlmIChvcCAhPSBDUTo6Q29tcGFyaXNvbk9wZXJhdG9yOjpFcXVh
bCkKKyAgICAgICAgICAgIG5hbWUgPSBTdHJpbmdWaWV3KG5hbWUpLnN1YnN0cmluZyg0KS50b0F0
b21TdHJpbmcoKTsKKyAgICAgICAgaWYgKG5hbWUuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0
dXJuIHsgfTsKKyAgICB9CisKKyAgICBhdXRvIGxlbmd0aCA9IENTU1Byb3BlcnR5UGFyc2VySGVs
cGVyczo6Y29uc3VtZUxlbmd0aChyYW5nZSwgbV9jb250ZXh0Lm1vZGUsIFZhbHVlUmFuZ2U6Ok5v
bk5lZ2F0aXZlKTsKKyAgICBpZiAoIWxlbmd0aCkKKyAgICAgICAgcmV0dXJuIHsgfTsKKworICAg
IHJldHVybiBDUTo6U2l6ZUZlYXR1cmUgeyBvcCwgbmFtZSwgbGVuZ3RoIH07Cit9CisKK30KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Db250YWluZXJRdWVyeVBhcnNlci5oIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5UGFyc2VyLmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmE0N2M0
Njg1MmZjNDAyYTU2NmU2MmM2YTAxZGI5ZjJjMjRmMzZmZQotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9Db250YWluZXJRdWVyeVBhcnNlci5oCkBAIC0wLDAgKzEsNDcgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRl
ICJDU1NQYXJzZXJUb2tlbi5oIgorI2luY2x1ZGUgIkNvbnRhaW5lclF1ZXJ5LmgiCisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ29udGFpbmVyUXVlcnlQYXJzZXIgeworcHVibGljOgor
ICAgIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPENvbnRhaW5lclF1ZXJ5PiBjb25zdW1lQ29udGFpbmVy
UXVlcnkoQ1NTUGFyc2VyVG9rZW5SYW5nZSYsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmKTsKKwor
cHJpdmF0ZToKKyAgICBzdGQ6Om9wdGlvbmFsPENROjpDb250YWluZXJRdWVyeT4gY29uc3VtZUNv
bnRhaW5lclF1ZXJ5KENTU1BhcnNlclRva2VuUmFuZ2UmKTsKKyAgICBzdGQ6Om9wdGlvbmFsPENR
OjpTaXplUXVlcnk+IGNvbnN1bWVTaXplUXVlcnkoQ1NTUGFyc2VyVG9rZW5SYW5nZSYpOworICAg
IHRlbXBsYXRlPHR5cGVuYW1lIENvbmRpdGlvblR5cGU+IHN0ZDo6b3B0aW9uYWw8Q29uZGl0aW9u
VHlwZT4gY29uc3VtZUNvbmRpdGlvbihDU1NQYXJzZXJUb2tlblJhbmdlJik7CisKKyAgICBDb250
YWluZXJRdWVyeVBhcnNlcihjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0KQorICAgICAg
ICA6IG1fY29udGV4dChjb250ZXh0KSB7IH0KKworICAgIGNvbnN0IENTU1BhcnNlckNvbnRleHQg
bV9jb250ZXh0OworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNl
ci9DU1NQYXJzZXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2Vy
SW1wbC5jcHAKaW5kZXggZjdkNTU5MjIwNTdmMzRmNDNlYzZhMjNjODMzNmY1ZDUyYzFlYWIzMy4u
YzRlZGFhMDY0M2RiNDJhYWM0ZjQ1Nzc2ODBiMWM3OTEwNWMzZWY4MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckltcGwuY3BwCkBAIC00Nyw2ICs0Nyw3IEBACiAjaW5j
bHVkZSAiQ1NTU3VwcG9ydHNQYXJzZXIuaCIKICNpbmNsdWRlICJDU1NUb2tlbml6ZXIuaCIKICNp
bmNsdWRlICJDU1NWYXJpYWJsZVBhcnNlci5oIgorI2luY2x1ZGUgIkNvbnRhaW5lclF1ZXJ5UGFy
c2VyLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFbGVtZW50LmgiCiAjaW5j
bHVkZSAiRm9udFBhbGV0dGVWYWx1ZXMuaCIKQEAgLTg2NSwxMiArODY2LDE2IEBAIFJlZlB0cjxT
dHlsZVJ1bGVDb250YWluZXI+IENTU1BhcnNlckltcGw6OmNvbnN1bWVDb250YWluZXJSdWxlKENT
U1BhcnNlclRva2VuUmFuCiAKICAgICBhdXRvIG5hbWUgPSBjb25zdW1lTmFtZSgpOwogCi0gICAg
YXV0byBxdWVyeSA9IE1lZGlhUXVlcnlQYXJzZXI6OnBhcnNlQ29udGFpbmVyUXVlcnkocHJlbHVk
ZSwgTWVkaWFRdWVyeVBhcnNlckNvbnRleHQobV9jb250ZXh0KSk7CisgICAgYXV0byBxdWVyeSA9
IENvbnRhaW5lclF1ZXJ5UGFyc2VyOjpjb25zdW1lQ29udGFpbmVyUXVlcnkocHJlbHVkZSwgbV9j
b250ZXh0KTsKICAgICBpZiAoIXF1ZXJ5KQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAorICAg
IHByZWx1ZGUuY29uc3VtZVdoaXRlc3BhY2UoKTsKKyAgICBpZiAoIXByZWx1ZGUuYXRFbmQoKSkK
KyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKICAgICBpZiAobV9kZWZlcnJlZFBhcnNlcikKLSAg
ICAgICAgcmV0dXJuIFN0eWxlUnVsZUNvbnRhaW5lcjo6Y3JlYXRlKHsgbmFtZSwgcXVlcnkucmVs
ZWFzZU5vbk51bGwoKSB9LCBtYWtlVW5pcXVlPERlZmVycmVkU3R5bGVHcm91cFJ1bGVMaXN0Pihi
bG9jaywgKm1fZGVmZXJyZWRQYXJzZXIpKTsKKyAgICAgICAgcmV0dXJuIFN0eWxlUnVsZUNvbnRh
aW5lcjo6Y3JlYXRlKHsgbmFtZSwgKnF1ZXJ5IH0sIG1ha2VVbmlxdWU8RGVmZXJyZWRTdHlsZUdy
b3VwUnVsZUxpc3Q+KGJsb2NrLCAqbV9kZWZlcnJlZFBhcnNlcikpOwogCiAgICAgVmVjdG9yPFJl
ZlB0cjxTdHlsZVJ1bGVCYXNlPj4gcnVsZXM7CiAKQEAgLTg4OCw3ICs4OTMsNyBAQCBSZWZQdHI8
U3R5bGVSdWxlQ29udGFpbmVyPiBDU1NQYXJzZXJJbXBsOjpjb25zdW1lQ29udGFpbmVyUnVsZShD
U1NQYXJzZXJUb2tlblJhbgogICAgIGlmIChtX29ic2VydmVyV3JhcHBlcikKICAgICAgICAgbV9v
YnNlcnZlcldyYXBwZXItPm9ic2VydmVyKCkuZW5kUnVsZUJvZHkobV9vYnNlcnZlcldyYXBwZXIt
PmVuZE9mZnNldChibG9jaykpOwogCi0gICAgcmV0dXJuIFN0eWxlUnVsZUNvbnRhaW5lcjo6Y3Jl
YXRlKHsgbmFtZSwgcXVlcnkucmVsZWFzZU5vbk51bGwoKSB9LCBXVEZNb3ZlKHJ1bGVzKSk7Cisg
ICAgcmV0dXJuIFN0eWxlUnVsZUNvbnRhaW5lcjo6Y3JlYXRlKHsgbmFtZSwgKnF1ZXJ5IH0sIFdU
Rk1vdmUocnVsZXMpKTsKIH0KICAgICAKIFJlZlB0cjxTdHlsZVJ1bGVLZXlmcmFtZT4gQ1NTUGFy
c2VySW1wbDo6Y29uc3VtZUtleWZyYW1lU3R5bGVSdWxlKENTU1BhcnNlclRva2VuUmFuZ2UgcHJl
bHVkZSwgQ1NTUGFyc2VyVG9rZW5SYW5nZSBibG9jaykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N0eWxlL0NvbnRhaW5lclF1ZXJ5RXZhbHVhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0
eWxlL0NvbnRhaW5lclF1ZXJ5RXZhbHVhdG9yLmNwcAppbmRleCA1ZjBjNTU3ODJkMWNhZTY0NjU0
YzdkYmYxZmM1ZGJlNDBiZjdjOTZiLi41OWIxNzI5ODZiZjQyYmRiM2E1YWQxZTAxMTMwN2I0Nzli
OWU5Y2U1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Db250YWluZXJRdWVyeUV2
YWx1YXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvQ29udGFpbmVyUXVlcnlFdmFs
dWF0b3IuY3BwCkBAIC0zNSwzMCArMzUsMjkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmU6OlN0eWxl
IHsKIAorc3RydWN0IENvbnRhaW5lclF1ZXJ5RXZhbHVhdG9yOjpFdmFsdWF0aW9uQ29udGV4dCB7
CisgICAgUmVuZGVyQm94JiByZW5kZXJlcjsKKyAgICBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRh
IGNvbnZlcnNpb25EYXRhOworfTsKKwogQ29udGFpbmVyUXVlcnlFdmFsdWF0b3I6OkNvbnRhaW5l
clF1ZXJ5RXZhbHVhdG9yKGNvbnN0IFZlY3RvcjxSZWY8Y29uc3QgRWxlbWVudD4+JiBjb250YWlu
ZXJzKQogICAgIDogbV9jb250YWluZXJzKGNvbnRhaW5lcnMpCiB7CiB9CiAKLXN0YXRpYyBzdGQ6
Om9wdGlvbmFsPExheW91dFVuaXQ+IGNvbXB1dGVTaXplKENTU1ZhbHVlKiB2YWx1ZSwgY29uc3Qg
Q1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSYgY29udmVyc2lvbkRhdGEpCitzdGF0aWMgc3RkOjpv
cHRpb25hbDxMYXlvdXRVbml0PiBjb21wdXRlU2l6ZShjb25zdCBDU1NQcmltaXRpdmVWYWx1ZSYg
dmFsdWUsIGNvbnN0IENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEmIGNvbnZlcnNpb25EYXRhKQog
ewotICAgIGlmICghaXM8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVlKSkKLSAgICAgICAgcmV0dXJu
IHsgfTsKLQotICAgIGF1dG8mIHByaW1pdGl2ZVZhbHVlID0gZG93bmNhc3Q8Q1NTUHJpbWl0aXZl
VmFsdWU+KCp2YWx1ZSk7Ci0gICAgaWYgKHByaW1pdGl2ZVZhbHVlLmlzTnVtYmVyT3JJbnRlZ2Vy
KCkpIHsKLSAgICAgICAgaWYgKHByaW1pdGl2ZVZhbHVlLmRvdWJsZVZhbHVlKCkpCisgICAgaWYg
KHZhbHVlLmlzTnVtYmVyT3JJbnRlZ2VyKCkpIHsKKyAgICAgICAgaWYgKHZhbHVlLmRvdWJsZVZh
bHVlKCkpCiAgICAgICAgICAgICByZXR1cm4geyB9OwogICAgICAgICByZXR1cm4gMF9sdTsKICAg
ICB9CiAKLSAgICBpZiAoIXByaW1pdGl2ZVZhbHVlLmlzTGVuZ3RoKCkpCisgICAgaWYgKCF2YWx1
ZS5pc0xlbmd0aCgpKQogICAgICAgICByZXR1cm4geyB9OwotICAgIHJldHVybiBwcmltaXRpdmVW
YWx1ZS5jb21wdXRlTGVuZ3RoPExheW91dFVuaXQ+KGNvbnZlcnNpb25EYXRhKTsKKyAgICByZXR1
cm4gdmFsdWUuY29tcHV0ZUxlbmd0aDxMYXlvdXRVbml0Pihjb252ZXJzaW9uRGF0YSk7CiB9CiAK
LWVudW0gY2xhc3MgQ29tcGFyYXRvciB7IExlc3NlciwgR3JlYXRlciwgTGVzc2VyT3JFcXVhbCwg
R3JlYXRlck9yRXF1YWwsIEVxdWFsLCBUcnVlIH07Ci0KIGJvb2wgQ29udGFpbmVyUXVlcnlFdmFs
dWF0b3I6OmV2YWx1YXRlKGNvbnN0IEZpbHRlcmVkQ29udGFpbmVyUXVlcnkmIGZpbHRlcmVkQ29u
dGFpbmVyUXVlcnkpIGNvbnN0CiB7CiAgICAgaWYgKG1fY29udGFpbmVycy5pc0VtcHR5KCkpCkBA
IC04Myw5MCArODIsMTE0IEBAIGJvb2wgQ29udGFpbmVyUXVlcnlFdmFsdWF0b3I6OmV2YWx1YXRl
KGNvbnN0IEZpbHRlcmVkQ29udGFpbmVyUXVlcnkmIGZpbHRlcmVkQ29uCiAgICAgICAgIHJldHVy
biBmYWxzZTsKIAogICAgIGF1dG8mIHZpZXcgPSByZW5kZXJlci0+dmlldygpOwotICAgIENTU1Rv
TGVuZ3RoQ29udmVyc2lvbkRhdGEgY29udmVyc2lvbkRhdGEgeyAmcmVuZGVyZXItPnN0eWxlKCks
ICZ2aWV3LnN0eWxlKCksIG51bGxwdHIsICZ2aWV3LCAxIH07CisgICAgQ1NTVG9MZW5ndGhDb252
ZXJzaW9uRGF0YSB7ICZyZW5kZXJlci0+c3R5bGUoKSwgJnZpZXcuc3R5bGUoKSwgbnVsbHB0ciwg
JnZpZXcsIDEgfTsKIAotICAgIGF1dG8gZXZhbHVhdGVTaXplID0gWyZdKGNvbnN0IE1lZGlhUXVl
cnlFeHByZXNzaW9uJiBleHByZXNzaW9uLCBDb21wYXJhdG9yIGNvbXBhcmF0b3IsIGF1dG8mJiBz
aXplR2V0dGVyKQotICAgIHsKKyAgICBFdmFsdWF0aW9uQ29udGV4dCBldmFsdWF0aW9uQ29udGV4
dCB7CisgICAgICAgICpyZW5kZXJlciwKKyAgICAgICAgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0
YSB7ICZyZW5kZXJlci0+c3R5bGUoKSwgJnZpZXcuc3R5bGUoKSwgbnVsbHB0ciwgJnZpZXcsIDEg
fQorICAgIH07CisKKyAgICByZXR1cm4gZXZhbHVhdGVRdWVyeShmaWx0ZXJlZENvbnRhaW5lclF1
ZXJ5LnF1ZXJ5LCBldmFsdWF0aW9uQ29udGV4dCkgPT0gRXZhbHVhdGlvblJlc3VsdDo6VHJ1ZTsK
K30KKworYXV0byBDb250YWluZXJRdWVyeUV2YWx1YXRvcjo6ZXZhbHVhdGVRdWVyeShjb25zdCBD
UTo6Q29udGFpbmVyUXVlcnkmIGNvbnRhaW5lclF1ZXJ5LCBjb25zdCBFdmFsdWF0aW9uQ29udGV4
dCYgY29udGV4dCkgY29uc3QgLT4gRXZhbHVhdGlvblJlc3VsdAoreworICAgIHJldHVybiBXVEY6
OnN3aXRjaE9uKGNvbnRhaW5lclF1ZXJ5LCBbJl0oY29uc3QgQ1E6OkNvbnRhaW5lckNvbmRpdGlv
biYgY29udGFpbmVyQ29uZGl0aW9uKSB7CisgICAgICAgIHJldHVybiBldmFsdWF0ZUNvbmRpdGlv
bihjb250YWluZXJDb25kaXRpb24sIGNvbnRleHQpOworICAgIH0sIFsmXShjb25zdCBDUTo6U2l6
ZVF1ZXJ5JiBzaXplUXVlcnkpIHsKKyAgICAgICAgcmV0dXJuIGV2YWx1YXRlUXVlcnkoc2l6ZVF1
ZXJ5LCBjb250ZXh0KTsKKyAgICB9LCBbJl0oY29uc3QgQ1E6OlVua25vd25RdWVyeSYpIHsKKyAg
ICAgICAgcmV0dXJuIEV2YWx1YXRpb25SZXN1bHQ6OlVua25vd247CisgICAgfSk7Cit9CisKK2F1
dG8gQ29udGFpbmVyUXVlcnlFdmFsdWF0b3I6OmV2YWx1YXRlUXVlcnkoY29uc3QgQ1E6OlNpemVR
dWVyeSYgc2l6ZVF1ZXJ5LCBjb25zdCBFdmFsdWF0aW9uQ29udGV4dCYgY29udGV4dCkgY29uc3Qg
LT4gRXZhbHVhdGlvblJlc3VsdAoreworICAgIHJldHVybiBXVEY6OnN3aXRjaE9uKHNpemVRdWVy
eSwgWyZdKGNvbnN0IENROjpTaXplQ29uZGl0aW9uJiBzaXplQ29uZGl0aW9uKSB7CisgICAgICAg
IHJldHVybiBldmFsdWF0ZUNvbmRpdGlvbihzaXplQ29uZGl0aW9uLCBjb250ZXh0KTsKKyAgICB9
LCBbJl0oY29uc3QgQ1E6OlNpemVGZWF0dXJlJiBzaXplRmVhdHVyZSkgeworICAgICAgICByZXR1
cm4gZXZhbHVhdGVTaXplRmVhdHVyZShzaXplRmVhdHVyZSwgY29udGV4dCk7CisgICAgfSk7Cit9
CisKK3RlbXBsYXRlPHR5cGVuYW1lIENvbmRpdGlvblR5cGU+CithdXRvIENvbnRhaW5lclF1ZXJ5
RXZhbHVhdG9yOjpldmFsdWF0ZUNvbmRpdGlvbihjb25zdCBDb25kaXRpb25UeXBlJiBjb25kaXRp
b24sIGNvbnN0IEV2YWx1YXRpb25Db250ZXh0JiBjb250ZXh0KSBjb25zdCAtPiBFdmFsdWF0aW9u
UmVzdWx0Cit7CisgICAgaWYgKGNvbmRpdGlvbi5xdWVyaWVzLmlzRW1wdHkoKSkKKyAgICAgICAg
cmV0dXJuIEV2YWx1YXRpb25SZXN1bHQ6OlVua25vd247CisKKyAgICBzd2l0Y2ggKGNvbmRpdGlv
bi5sb2dpY2FsT3BlcmF0b3IpIHsKKyAgICBjYXNlIENROjpMb2dpY2FsT3BlcmF0b3I6Ok5vdDog
eworICAgICAgICBzd2l0Y2ggKGV2YWx1YXRlUXVlcnkoY29uZGl0aW9uLnF1ZXJpZXMuZmlyc3Qo
KSwgY29udGV4dCkpIHsKKyAgICAgICAgY2FzZSBFdmFsdWF0aW9uUmVzdWx0OjpUcnVlOgorICAg
ICAgICAgICAgcmV0dXJuIEV2YWx1YXRpb25SZXN1bHQ6OkZhbHNlOworICAgICAgICBjYXNlIEV2
YWx1YXRpb25SZXN1bHQ6OkZhbHNlOgorICAgICAgICAgICAgcmV0dXJuIEV2YWx1YXRpb25SZXN1
bHQ6OlRydWU7CisgICAgICAgIGNhc2UgRXZhbHVhdGlvblJlc3VsdDo6VW5rbm93bjoKKyAgICAg
ICAgICAgIHJldHVybiBFdmFsdWF0aW9uUmVzdWx0OjpVbmtub3duOworICAgICAgICB9CisgICAg
fQorICAgIGNhc2UgQ1E6OkxvZ2ljYWxPcGVyYXRvcjo6QW5kOiB7CisgICAgICAgIGF1dG8gcmVz
dWx0ID0gRXZhbHVhdGlvblJlc3VsdDo6VHJ1ZTsKKyAgICAgICAgZm9yIChhdXRvIHF1ZXJ5IDog
Y29uZGl0aW9uLnF1ZXJpZXMpIHsKKyAgICAgICAgICAgIGF1dG8gcXVlcnlSZXN1bHQgPSBldmFs
dWF0ZVF1ZXJ5KHF1ZXJ5LCBjb250ZXh0KTsKKyAgICAgICAgICAgIGlmIChxdWVyeVJlc3VsdCA9
PSBFdmFsdWF0aW9uUmVzdWx0OjpGYWxzZSkKKyAgICAgICAgICAgICAgICByZXR1cm4gRXZhbHVh
dGlvblJlc3VsdDo6RmFsc2U7CisgICAgICAgICAgICBpZiAocXVlcnlSZXN1bHQgPT0gRXZhbHVh
dGlvblJlc3VsdDo6VW5rbm93bikKKyAgICAgICAgICAgICAgICByZXN1bHQgPSBFdmFsdWF0aW9u
UmVzdWx0OjpVbmtub3duOworICAgICAgICB9CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAg
fQorICAgIGNhc2UgQ1E6OkxvZ2ljYWxPcGVyYXRvcjo6T3I6IHsKKyAgICAgICAgYXV0byByZXN1
bHQgPSBFdmFsdWF0aW9uUmVzdWx0OjpGYWxzZTsKKyAgICAgICAgZm9yIChhdXRvIHF1ZXJ5IDog
Y29uZGl0aW9uLnF1ZXJpZXMpIHsKKyAgICAgICAgICAgIGF1dG8gcXVlcnlSZXN1bHQgPSBldmFs
dWF0ZVF1ZXJ5KHF1ZXJ5LCBjb250ZXh0KTsKKyAgICAgICAgICAgIGlmIChxdWVyeVJlc3VsdCA9
PSBFdmFsdWF0aW9uUmVzdWx0OjpUcnVlKQorICAgICAgICAgICAgICAgIHJldHVybiBFdmFsdWF0
aW9uUmVzdWx0OjpUcnVlOworICAgICAgICAgICAgaWYgKHF1ZXJ5UmVzdWx0ID09IEV2YWx1YXRp
b25SZXN1bHQ6OlVua25vd24pCisgICAgICAgICAgICAgICAgcmVzdWx0ID0gRXZhbHVhdGlvblJl
c3VsdDo6VW5rbm93bjsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0K
KyAgICB9Cit9CisKK2F1dG8gQ29udGFpbmVyUXVlcnlFdmFsdWF0b3I6OmV2YWx1YXRlU2l6ZUZl
YXR1cmUoY29uc3QgQ1E6OlNpemVGZWF0dXJlJiBzaXplRmVhdHVyZSwgY29uc3QgRXZhbHVhdGlv
bkNvbnRleHQmIGNvbnRleHQpIGNvbnN0IC0+IEV2YWx1YXRpb25SZXN1bHQKK3sKKyAgICBhdXRv
IGV2YWx1YXRlU2l6ZSA9IFsmXShMYXlvdXRVbml0IHNpemUpIHsKICAgICAgICAgc3RkOjpvcHRp
b25hbDxMYXlvdXRVbml0PiBleHByZXNzaW9uU2l6ZTsKIAotICAgICAgICBpZiAoY29tcGFyYXRv
ciAhPSBDb21wYXJhdG9yOjpUcnVlKSB7Ci0gICAgICAgICAgICBleHByZXNzaW9uU2l6ZSA9IGNv
bXB1dGVTaXplKGV4cHJlc3Npb24udmFsdWUoKSwgY29udmVyc2lvbkRhdGEpOworICAgICAgICBp
ZiAoc2l6ZUZlYXR1cmUuY29tcGFyaXNvbk9wZXJhdG9yICE9IENROjpDb21wYXJpc29uT3BlcmF0
b3I6OlRydWUpIHsKKyAgICAgICAgICAgIGlmICghc2l6ZUZlYXR1cmUudmFsdWUpCisgICAgICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgZXhwcmVzc2lvblNpemUgPSBjb21w
dXRlU2l6ZSgqc2l6ZUZlYXR1cmUudmFsdWUsIGNvbnRleHQuY29udmVyc2lvbkRhdGEpOwogICAg
ICAgICAgICAgaWYgKCFleHByZXNzaW9uU2l6ZSkKICAgICAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgICAgIH0KIAotICAgICAgICBhdXRvIHNpemUgPSBzaXplR2V0dGVyKCpyZW5kZXJl
cik7Ci0KLSAgICAgICAgc3dpdGNoIChjb21wYXJhdG9yKSB7Ci0gICAgICAgIGNhc2UgQ29tcGFy
YXRvcjo6TGVzc2VyOgorICAgICAgICBzd2l0Y2ggKHNpemVGZWF0dXJlLmNvbXBhcmlzb25PcGVy
YXRvcikgeworICAgICAgICBjYXNlIENROjpDb21wYXJpc29uT3BlcmF0b3I6Okxlc3M6CiAgICAg
ICAgICAgICByZXR1cm4gc2l6ZSA8ICpleHByZXNzaW9uU2l6ZTsKLSAgICAgICAgY2FzZSBDb21w
YXJhdG9yOjpHcmVhdGVyOgorICAgICAgICBjYXNlIENROjpDb21wYXJpc29uT3BlcmF0b3I6Okdy
ZWF0ZXI6CiAgICAgICAgICAgICByZXR1cm4gc2l6ZSA+ICpleHByZXNzaW9uU2l6ZTsKLSAgICAg
ICAgY2FzZSBDb21wYXJhdG9yOjpMZXNzZXJPckVxdWFsOgorICAgICAgICBjYXNlIENROjpDb21w
YXJpc29uT3BlcmF0b3I6Okxlc3NPckVxdWFsOgogICAgICAgICAgICAgcmV0dXJuIHNpemUgPD0g
KmV4cHJlc3Npb25TaXplOwotICAgICAgICBjYXNlIENvbXBhcmF0b3I6OkdyZWF0ZXJPckVxdWFs
OgorICAgICAgICBjYXNlIENROjpDb21wYXJpc29uT3BlcmF0b3I6OkdyZWF0ZXJPckVxdWFsOgog
ICAgICAgICAgICAgcmV0dXJuIHNpemUgPj0gKmV4cHJlc3Npb25TaXplOwotICAgICAgICBjYXNl
IENvbXBhcmF0b3I6OkVxdWFsOgorICAgICAgICBjYXNlIENROjpDb21wYXJpc29uT3BlcmF0b3I6
OkVxdWFsOgogICAgICAgICAgICAgcmV0dXJuIHNpemUgPT0gKmV4cHJlc3Npb25TaXplOwotICAg
ICAgICBjYXNlIENvbXBhcmF0b3I6OlRydWU6CisgICAgICAgIGNhc2UgQ1E6OkNvbXBhcmlzb25P
cGVyYXRvcjo6VHJ1ZToKICAgICAgICAgICAgIHJldHVybiAhIXNpemU7CiAgICAgICAgIH0KICAg
ICB9OwogCi0gICAgYXV0byBldmFsdWF0ZVdpZHRoID0gWyZdKGNvbnN0IE1lZGlhUXVlcnlFeHBy
ZXNzaW9uJiBleHByZXNzaW9uLCBDb21wYXJhdG9yIGNvbXBhcmF0b3IpCi0gICAgewotICAgICAg
ICByZXR1cm4gZXZhbHVhdGVTaXplKGV4cHJlc3Npb24sIGNvbXBhcmF0b3IsIFsmXShjb25zdCBS
ZW5kZXJCb3gmIHJlbmRlcmVyKSB7Ci0gICAgICAgICAgICByZXR1cm4gcmVuZGVyZXIud2lkdGgo
KTsKLSAgICAgICAgfSk7Ci0gICAgfTsKLQotICAgIGF1dG8gZXZhbHVhdGVIZWlnaHQgPSBbJl0o
Y29uc3QgTWVkaWFRdWVyeUV4cHJlc3Npb24mIGV4cHJlc3Npb24sIENvbXBhcmF0b3IgY29tcGFy
YXRvcikKLSAgICB7Ci0gICAgICAgIHJldHVybiBldmFsdWF0ZVNpemUoZXhwcmVzc2lvbiwgY29t
cGFyYXRvciwgWyZdKGNvbnN0IFJlbmRlckJveCYgcmVuZGVyZXIpIHsKLSAgICAgICAgICAgIHJl
dHVybiByZW5kZXJlci5oZWlnaHQoKTsKLSAgICAgICAgfSk7Ci0gICAgfTsKLQotICAgIGJvb2wg
cmVzdWx0ID0gZmFsc2U7Ci0KLSAgICAvLyBGSVhNRTogVGhpcyBpcyB2ZXJ5IHJ1ZGltZW50YXJ5
LgotICAgIGF1dG8mIHF1ZXJpZXMgPSBmaWx0ZXJlZENvbnRhaW5lclF1ZXJ5LnF1ZXJ5LT5xdWVy
eVZlY3RvcigpOwotICAgIGZvciAoYXV0byYgcXVlcnkgOiBxdWVyaWVzKSB7Ci0gICAgICAgIGZv
ciAoYXV0byYgZXhwcmVzc2lvbiA6IHF1ZXJ5LmV4cHJlc3Npb25zKCkpIHsKLSAgICAgICAgICAg
IGlmIChleHByZXNzaW9uLm1lZGlhRmVhdHVyZSgpID09IE1lZGlhRmVhdHVyZU5hbWVzOjptaW5X
aWR0aCkgewotICAgICAgICAgICAgICAgIGlmIChldmFsdWF0ZVdpZHRoKGV4cHJlc3Npb24sIENv
bXBhcmF0b3I6OkdyZWF0ZXJPckVxdWFsKSkKLSAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0g
dHJ1ZTsKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIGlmIChleHByZXNzaW9uLm1lZGlhRmVhdHVyZSgpID09IE1lZGlhRmVhdHVyZU5hbWVzOjpt
YXhXaWR0aCkgewotICAgICAgICAgICAgICAgIGlmIChldmFsdWF0ZVdpZHRoKGV4cHJlc3Npb24s
IENvbXBhcmF0b3I6Okxlc3Nlck9yRXF1YWwpKQotICAgICAgICAgICAgICAgICAgICByZXN1bHQg
PSB0cnVlOwotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgfQotICAgICAg
ICAgICAgaWYgKGV4cHJlc3Npb24ubWVkaWFGZWF0dXJlKCkgPT0gTWVkaWFGZWF0dXJlTmFtZXM6
OndpZHRoKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGV2YWx1YXRlV2lkdGgoZXhwcmVzc2lvbiwg
ZXhwcmVzc2lvbi52YWx1ZSgpID8gQ29tcGFyYXRvcjo6RXF1YWwgOiBDb21wYXJhdG9yOjpUcnVl
KSkKLSAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICBj
b250aW51ZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChleHByZXNzaW9uLm1lZGlh
RmVhdHVyZSgpID09IE1lZGlhRmVhdHVyZU5hbWVzOjptaW5IZWlnaHQpIHsKLSAgICAgICAgICAg
ICAgICBpZiAoZXZhbHVhdGVIZWlnaHQoZXhwcmVzc2lvbiwgQ29tcGFyYXRvcjo6R3JlYXRlck9y
RXF1YWwpKQotICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSB0cnVlOwotICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKGV4cHJlc3Npb24u
bWVkaWFGZWF0dXJlKCkgPT0gTWVkaWFGZWF0dXJlTmFtZXM6Om1heEhlaWdodCkgewotICAgICAg
ICAgICAgICAgIGlmIChldmFsdWF0ZUhlaWdodChleHByZXNzaW9uLCBDb21wYXJhdG9yOjpMZXNz
ZXJPckVxdWFsKSkKLSAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gdHJ1ZTsKLSAgICAgICAg
ICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChleHByZXNz
aW9uLm1lZGlhRmVhdHVyZSgpID09IE1lZGlhRmVhdHVyZU5hbWVzOjpoZWlnaHQpIHsKLSAgICAg
ICAgICAgICAgICBpZiAoZXZhbHVhdGVIZWlnaHQoZXhwcmVzc2lvbiwgZXhwcmVzc2lvbi52YWx1
ZSgpID8gQ29tcGFyYXRvcjo6RXF1YWwgOiBDb21wYXJhdG9yOjpUcnVlKSkKLSAgICAgICAgICAg
ICAgICAgICAgcmVzdWx0ID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KKyAgICAvLyBGSVhNRTogU3VwcG9ydCBhbGwgZmVh
dHVyZXMuCisgICAgaWYgKHNpemVGZWF0dXJlLm5hbWUgPT0gTWVkaWFGZWF0dXJlTmFtZXM6Ondp
ZHRoKQorICAgICAgICByZXR1cm4gZXZhbHVhdGVTaXplKGNvbnRleHQucmVuZGVyZXIud2lkdGgo
KSkgPyBFdmFsdWF0aW9uUmVzdWx0OjpUcnVlIDogRXZhbHVhdGlvblJlc3VsdDo6RmFsc2U7Cisg
ICAgaWYgKHNpemVGZWF0dXJlLm5hbWUgPT0gTWVkaWFGZWF0dXJlTmFtZXM6OmhlaWdodCkKKyAg
ICAgICAgcmV0dXJuIGV2YWx1YXRlU2l6ZShjb250ZXh0LnJlbmRlcmVyLmhlaWdodCgpKSA/IEV2
YWx1YXRpb25SZXN1bHQ6OlRydWUgOiBFdmFsdWF0aW9uUmVzdWx0OjpGYWxzZTsKIAotICAgIHJl
dHVybiByZXN1bHQ7CisgICAgcmV0dXJuIEV2YWx1YXRpb25SZXN1bHQ6OlVua25vd247CiB9CiAK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0NvbnRhaW5lclF1ZXJ5RXZhbHVh
dG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Db250YWluZXJRdWVyeUV2YWx1YXRvci5oCmlu
ZGV4IDhmNmU3MzAwN2Y3NWZhYjViODU0ZTExY2UyMjk3YzA2OWZiNTg5NzQuLjk5YmUyMjJkMTVk
OWY5ZDFhYjA3YTM4Njc0MWQyM2IyOWY0OTljZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N0eWxlL0NvbnRhaW5lclF1ZXJ5RXZhbHVhdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5
bGUvQ29udGFpbmVyUXVlcnlFdmFsdWF0b3IuaApAQCAtMjQsMTEgKzI0LDExIEBACiAKICNwcmFn
bWEgb25jZQogCisjaW5jbHVkZSAiQ29udGFpbmVyUXVlcnkuaCIKICNpbmNsdWRlIDx3dGYvUmVm
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RydWN0IEZpbHRlcmVkQ29udGFpbmVyUXVl
cnk7CiBjbGFzcyBFbGVtZW50OwogCiBuYW1lc3BhY2UgU3R5bGUgewpAQCAtNDAsNiArNDAsMTQg
QEAgcHVibGljOgogICAgIGJvb2wgZXZhbHVhdGUoY29uc3QgRmlsdGVyZWRDb250YWluZXJRdWVy
eSYpIGNvbnN0OwogCiBwcml2YXRlOgorICAgIHN0cnVjdCBFdmFsdWF0aW9uQ29udGV4dDsKKyAg
ICBlbnVtIGNsYXNzIEV2YWx1YXRpb25SZXN1bHQgOiB1aW50OF90IHsgRmFsc2UsIFRydWUsIFVu
a25vd24gfTsKKworICAgIEV2YWx1YXRpb25SZXN1bHQgZXZhbHVhdGVRdWVyeShjb25zdCBDUTo6
Q29udGFpbmVyUXVlcnkmLCBjb25zdCBFdmFsdWF0aW9uQ29udGV4dCYpIGNvbnN0OworICAgIEV2
YWx1YXRpb25SZXN1bHQgZXZhbHVhdGVRdWVyeShjb25zdCBDUTo6U2l6ZVF1ZXJ5JiwgY29uc3Qg
RXZhbHVhdGlvbkNvbnRleHQmKSBjb25zdDsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDb25kaXRp
b25UeXBlPiBFdmFsdWF0aW9uUmVzdWx0IGV2YWx1YXRlQ29uZGl0aW9uKGNvbnN0IENvbmRpdGlv
blR5cGUmLCBjb25zdCBFdmFsdWF0aW9uQ29udGV4dCYpIGNvbnN0OworICAgIEV2YWx1YXRpb25S
ZXN1bHQgZXZhbHVhdGVTaXplRmVhdHVyZShjb25zdCBDUTo6U2l6ZUZlYXR1cmUmLCBjb25zdCBF
dmFsdWF0aW9uQ29udGV4dCYpIGNvbnN0OworCiAgICAgY29uc3QgVmVjdG9yPFJlZjxjb25zdCBF
bGVtZW50Pj4mIG1fY29udGFpbmVyczsKIH07CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzYmUwNzI0NWQxZWZlZmEwNGNk
MWNkZTQ5OThjMDY0ZWJjZDVhYzA4Li45OTE2NTZlODhiZjBlMzE4NzQ4YjE2NGE5ZjQ4MzY3ZDM5
ZmYyMWVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjItMDItMTQgIEFudHRpIEtvaXZpc3Rv
ICA8YW50dGlAYXBwbGUuY29tPgorCisgICAgICAgIFtDU1MgQ29udGFpbmVyIFF1ZXJpZXNdIElt
cGxlbWVudCBmdWxsIHF1ZXJ5IHBhcnNlciBhbmQgZXZhbHVhdG9yCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzY1ODAKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisKIDIw
MjItMDItMTIgIFRpbSBOZ3V5ZW4gIDxudGltQGFwcGxlLmNvbT4KIAogICAgICAgICBTa2lwIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdXJsL3RvYXNjaWkud2luZG93Lmh0bWwgb24g
Q2F0YWxpbmEvQmlnIFN1cgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggYjg0MGUz
NzJjMDRkYTJkMDMwZWI2MTcyZDczYjhkMjIyZTE1MjZjOS4uZTFhODU0NmRlMGYxZjk3NzBjOTg1
OWQwZjY2YjBlYjdmNmZjMzBkYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTYgQEAKKzIwMjItMDItMTQgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29t
PgorCisgICAgICAgIFtDU1MgQ29udGFpbmVyIFF1ZXJpZXNdIEltcGxlbWVudCBmdWxsIHF1ZXJ5
IHBhcnNlciBhbmQgZXZhbHVhdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzY1ODAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bmVyLXF1ZXJpZXMvYXQtY29udGFpbmVyLXBhcnNpbmctZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1ZXJpZXMvY29u
dGFpbmVyLWZvci1zaGFkb3ctZG9tLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluZXItcXVlcmllcy9jb250
YWluZXItdHlwZS1pbnZhbGlkYXRpb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1ZXJpZXMvcXVlcnktZXZhbHVh
dGlvbi1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluZXItcXVlcmllcy9zaXplLWZlYXR1cmUtZXZhbHVhdGlvbi1leHBlY3Rl
ZC50eHQ6CisKIDIwMjItMDItMTIgIFRpbSBOZ3V5ZW4gIDxudGltQGFwcGxlLmNvbT4KIAogICAg
ICAgICBVbnJldmlld2VkIHRlc3QgZ2FyZGVuaW5nOiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3VybC90b2FzY2lpLndpbmRvdy5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9U
ZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA1Mzlm
MWNlYmE2YmViOTBlYmE4MTBkZjIzNDkzNDg2NGJlYWEwZDU1Li42N2U4ZDBjMTM2MDk5NmRkY2Nm
YTU4YmFmMjQyODIxNjBiMDYyM2Q1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0
YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQ3MTAsNiArNDcx
MCw3IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4taHRtbC1vdmVyZmxvdy0wMDQuaHRtbCBbCiB3ZWJraXQub3JnL2IvMjI5NjU5IGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW5lci1xdWVy
aWVzL2Rpc3BsYXktaW4tY29udGFpbmVyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtp
dC5vcmcvYi8yMjk2NTkgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbmVyLXF1ZXJpZXMvcHNldWRvLWVsZW1lbnRzLTAwMi50ZW50YXRpdmUuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIyOTY1OSBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluZXItcXVlcmllcy9tdWx0
aWNvbC1pbnNpZGUtY29udGFpbmVyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KK3dlYmtpdC5v
cmcvYi8yMjk2NTkgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbmVyLXF1ZXJpZXMvaW5saW5lLXNpemUtYmZjLWZsb2F0cy5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCiAKICMgRmxha3kgY3NzLWNvbnRhaW4gdGVzdAogaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2FuaW1h
dGlvbi1kaXNwbGF5LWxvY2suaHRtbCBbIEZhaWx1cmUgUGFzcyBdCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluZXItcXVlcmllcy9hdC1jb250YWluZXItcGFyc2luZy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluZXItcXVlcmllcy9hdC1jb250YWluZXItcGFyc2luZy1leHBlY3RlZC50eHQKaW5kZXgg
NTAyYjlmNzY2NzNmNGU5NjJhNDYzMTljMzYxMjg1NTBmMzAzMDEyMy4uMzA3OTc5OTdmNWViMDA4
MGFkNWY4OWY2ZTZiYjVlOWM2ZWI5YWJlYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1ZXJp
ZXMvYXQtY29udGFpbmVyLXBhcnNpbmctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW5lci1x
dWVyaWVzL2F0LWNvbnRhaW5lci1wYXJzaW5nLWV4cGVjdGVkLnR4dApAQCAtMSwzNiArMSwzNiBA
QAogCi1GQUlMIHNpemUod2lkdGgpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQg
Z290ICIiCi1GQUlMIHNpemUobWluLXdpZHRoOiAwcHgpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
ICJ0cnVlIiBidXQgZ290ICIiCi1GQUlMIHNpemUobWF4LXdpZHRoOiAwcHgpIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICIiCi1GQUlMIHNpemUoaGVpZ2h0KSBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiIgotRkFJTCBzaXplKG1pbi1oZWlnaHQ6
IDBweCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgIiIKLUZBSUwgc2l6
ZShtYXgtaGVpZ2h0OiAwcHgpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290
ICIiCitQQVNTIHNpemUod2lkdGgpCitQQVNTIHNpemUobWluLXdpZHRoOiAwcHgpCitQQVNTIHNp
emUobWF4LXdpZHRoOiAwcHgpCitQQVNTIHNpemUoaGVpZ2h0KQorUEFTUyBzaXplKG1pbi1oZWln
aHQ6IDBweCkKK1BBU1Mgc2l6ZShtYXgtaGVpZ2h0OiAwcHgpCiBGQUlMIHNpemUoYXNwZWN0LXJh
dGlvKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiIgotRkFJTCBzaXpl
KG1pbi1hc3BlY3QtcmF0aW86IDEvMikgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1
dCBnb3QgIiIKLUZBSUwgc2l6ZShtYXgtYXNwZWN0LXJhdGlvOiAxLzIpIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICIiCi1GQUlMIHNpemUob3JpZW50YXRpb246IHBvcnRy
YWl0KSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiIgorRkFJTCBzaXpl
KG1pbi1hc3BlY3QtcmF0aW86IDEvMikgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMiBidXQgZ290
IDAKK0ZBSUwgc2l6ZShtYXgtYXNwZWN0LXJhdGlvOiAxLzIpIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkIDIgYnV0IGdvdCAwCitGQUlMIHNpemUob3JpZW50YXRpb246IHBvcnRyYWl0KSBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAyIGJ1dCBnb3QgMAogRkFJTCBzaXplKGlubGluZS1zaXplKSBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiIgogRkFJTCBzaXplKG1pbi1pbmxp
bmUtc2l6ZTogMHB4KSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiIgog
RkFJTCBzaXplKG1heC1pbmxpbmUtc2l6ZTogMHB4KSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAi
dHJ1ZSIgYnV0IGdvdCAiIgogRkFJTCBzaXplKGJsb2NrLXNpemUpIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkICJ0cnVlIiBidXQgZ290ICIiCiBGQUlMIHNpemUobWluLWJsb2NrLXNpemU6IDBweCkg
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgIiIKIEZBSUwgc2l6ZShtYXgt
YmxvY2stc2l6ZTogMHB4KSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAi
IgotRkFJTCBzaXplKHdpZHRoOiAxMDBweCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUi
IGJ1dCBnb3QgIiIKLUZBSUwgc2l6ZSgod2lkdGg6IDEwMHB4KSkgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgInRydWUiIGJ1dCBnb3QgIiIKLUZBSUwgc2l6ZShub3QgKHdpZHRoOiAxMDBweCkpIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICIiCi1GQUlMIHNpemUoKHdpZHRo
OiAxMDBweCkgYW5kIChoZWlnaHQ6IDEwMHB4KSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRy
dWUiIGJ1dCBnb3QgIiIKLUZBSUwgc2l6ZSgod2lkdGg6IDUwcHgpIG9yIChoZWlnaHQ6IDEwMHB4
KSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgIiIKLUZBSUwgc2l6ZSh3
aWR0aCA8IDEwMHB4KSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiIgot
RkFJTCBzaXplKDEwMHB4IDwgd2lkdGgpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBi
dXQgZ290ICIiCi1GQUlMIHNpemUoMTAwcHggPCB3aWR0aCA8IDIwMHB4KSBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiIgorUEFTUyBzaXplKHdpZHRoOiAxMDBweCkKK1BB
U1Mgc2l6ZSgod2lkdGg6IDEwMHB4KSkKK1BBU1Mgc2l6ZShub3QgKHdpZHRoOiAxMDBweCkpCitQ
QVNTIHNpemUoKHdpZHRoOiAxMDBweCkgYW5kIChoZWlnaHQ6IDEwMHB4KSkKK1BBU1Mgc2l6ZSgo
d2lkdGg6IDUwcHgpIG9yIChoZWlnaHQ6IDEwMHB4KSkKK1BBU1Mgc2l6ZSh3aWR0aCA8IDEwMHB4
KQorRkFJTCBzaXplKDEwMHB4IDwgd2lkdGgpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDIgYnV0
IGdvdCAwCitGQUlMIHNpemUoMTAwcHggPCB3aWR0aCA8IDIwMHB4KSBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCAyIGJ1dCBnb3QgMAogUEFTUyBmb28od2lkdGgpCiBQQVNTIHNpemUoYXNkZikKLVBB
U1Mgc2l6ZShyZXNvbHV0aW9uID4gMTAwZHBpKQotUEFTUyBzaXplKHJlc29sdXRpb246IDE1MGRw
aSkKK0ZBSUwgc2l6ZShyZXNvbHV0aW9uID4gMTAwZHBpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAyIGJ1dCBnb3QgMAorRkFJTCBzaXplKHJlc29sdXRpb246IDE1MGRwaSkgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgMiBidXQgZ290IDAKIFBBU1Mgc2l6ZShjb2xvcikKLVBBU1Mgc2l6ZShtaW4t
Y29sb3I6IDEpCi1QQVNTIHNpemUoY29sb3ItaW5kZXggPj0gMSkKLVBBU1MgKGNvbG9yLWluZGV4
ID49IDEpCitGQUlMIHNpemUobWluLWNvbG9yOiAxKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAy
IGJ1dCBnb3QgMAorRkFJTCBzaXplKGNvbG9yLWluZGV4ID49IDEpIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkIDIgYnV0IGdvdCAwCitGQUlMIChjb2xvci1pbmRleCA+PSAxKSBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAyIGJ1dCBnb3QgMAogUEFTUyBzaXplKGdyaWQpCiBQQVNTIChncmlkKQogUEFT
UyBzY3JlZW4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW5lci1xdWVyaWVzL2NvbnRhaW5lci1mb3It
c2hhZG93LWRvbS50ZW50YXRpdmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1ZXJpZXMv
Y29udGFpbmVyLWZvci1zaGFkb3ctZG9tLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKaW5kZXggZDgx
ZWYyNDM1NjRiYzI1MWMwNGFhYmY5NGUyYWNmMGY0NTVhODBhNy4uZTM3NmEyYzA5MjBlZjEzYzUz
YmNkM2E4MWJjMDkwZDUwNDkyYTViNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1ZXJpZXMv
Y29udGFpbmVyLWZvci1zaGFkb3ctZG9tLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGFpbmVyLXF1ZXJpZXMvY29udGFpbmVyLWZvci1zaGFkb3ctZG9tLnRlbnRhdGl2ZS1leHBl
Y3RlZC50eHQKQEAgLTEsNiArMSw2IEBACiAKIEZBSUwgTWF0Y2ggY29udGFpbmVyIGluIG91dGVy
IHRyZWUgbnVsbCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdkb2N1bWVudC5xdWVyeVNl
bGVjdG9yKCIjaW5jbHVzaXZlLWFuY2VzdG9yLWFjcm9zcy1yb290ID4gZGl2Iikuc2hhZG93Um9v
dC5xdWVyeVNlbGVjdG9yJykKLUZBSUwgTWF0Y2ggY29udGFpbmVyIGluIHNhbWUgdHJlZSwgbm90
IHdhbGtpbmcgZmxhdCB0cmVlIGFuY2VzdG9ycyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmdi
KDAsIDEyOCwgMCkiIGJ1dCBnb3QgInJnYigwLCAwLCAwKSIKK1BBU1MgTWF0Y2ggY29udGFpbmVy
IGluIHNhbWUgdHJlZSwgbm90IHdhbGtpbmcgZmxhdCB0cmVlIGFuY2VzdG9ycwogRkFJTCBNYXRj
aCBjb250YWluZXIgaW4gOjpzbG90dGVkIHNlbGVjdG9yJ3Mgb3JpZ2luYXRpbmcgZWxlbWVudCB0
cmVlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMCwgMTI4LCAwKSIgYnV0IGdvdCAicmdi
KDAsIDAsIDApIgogRkFJTCBNYXRjaCBjb250YWluZXIgaW4gb3V0ZXIgdHJlZSBmb3IgOmhvc3Qg
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJnYigwLCAxMjgsIDApIiBidXQgZ290ICJyZ2IoMCwg
MCwgMCkiCiBGQUlMIE1hdGNoIGNvbnRhaW5lciBpbiA6OnBhcnQgc2VsZWN0b3IncyBvcmlnaW5h
dGluZyBlbGVtZW50IHRyZWUgbnVsbCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdkb2N1
bWVudC5xdWVyeVNlbGVjdG9yKCIjaW5jbHVzaXZlLWFuY2VzdG9yLXBhcnQgPiBkaXYiKS5zaGFk
b3dSb290LnF1ZXJ5U2VsZWN0b3InKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1ZXJpZXMv
Y29udGFpbmVyLXR5cGUtaW52YWxpZGF0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW5lci1x
dWVyaWVzL2NvbnRhaW5lci10eXBlLWludmFsaWRhdGlvbi1leHBlY3RlZC50eHQKaW5kZXggYzM1
MWMyMzdjNzhkY2JmNGY4ZThmNDNmZjk0MmNjMGNmOWFiYjZhOS4uN2UxZmJmMWQyMmNhMmIyYjk1
ZjJkZGVmNjg3MjU4ZjlhZjA1ODM4OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1ZXJpZXMv
Y29udGFpbmVyLXR5cGUtaW52YWxpZGF0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
ZXItcXVlcmllcy9jb250YWluZXItdHlwZS1pbnZhbGlkYXRpb24tZXhwZWN0ZWQudHh0CkBAIC0x
LDQgKzEsNCBAQAogVGVzdAogCi1GQUlMIENoYW5naW5nIHRoZSBjb250YWluZXIgdHlwZSBpbnZh
bGlkYXRlcyByZWxldmFudCBkZXNjZW5kYW50cyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmdi
KDAsIDEyOCwgMCkiIGJ1dCBnb3QgInJnYigwLCAwLCAwKSIKK0ZBSUwgQ2hhbmdpbmcgdGhlIGNv
bnRhaW5lciB0eXBlIGludmFsaWRhdGVzIHJlbGV2YW50IGRlc2NlbmRhbnRzIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkICJyZ2IoMCwgMCwgMCkiIGJ1dCBnb3QgInJnYigwLCAxMjgsIDApIgogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluZXItcXVlcmllcy9xdWVyeS1ldmFsdWF0aW9uLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW5lci1xdWVyaWVzL3F1ZXJ5LWV2YWx1YXRpb24tZXhwZWN0ZWQudHh0
CmluZGV4IDliMWNiMzZhYzVlMWZkMjcwNmJhYzc4NTEyNmFmZGU5MDg2OWVmMWIuLmUwODA5MmJj
MDhhNzQ0ODFlZDUxMjBjMDdhZTI5Mzc2Njk1ZWQ2YTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW5l
ci1xdWVyaWVzL3F1ZXJ5LWV2YWx1YXRpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW5l
ci1xdWVyaWVzL3F1ZXJ5LWV2YWx1YXRpb24tZXhwZWN0ZWQudHh0CkBAIC0zLDE4ICszLDE4IEBA
IFBBU1Mgc2l6ZSh3aWR0aCkKIFBBU1Mgc2l6ZShoZWlnaHQpCiBQQVNTIHNpemUodW5rbm93bikK
IFBBU1MgdW5rbm93bih3aWR0aCkKLUZBSUwgKHNpemUod2lkdGgpKSBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiZmFsc2UiCitQQVNTIChzaXplKHdpZHRoKSkKIFBBU1Mg
KHNpemUoaGVpZ2h0KSkKIFBBU1MgKHNpemUodW5rbm93bikpCi1GQUlMICgoKHNpemUod2lkdGgp
KSkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICJmYWxzZSIKK1BBU1Mg
KCgoc2l6ZSh3aWR0aCkpKSkKIFBBU1MgKCgoc2l6ZShoZWlnaHQpKSkpCiBQQVNTICgoKHNpemUo
dW5rbm93bikpKSkKIFBBU1MgKG5vdCBzaXplKHdpZHRoKSkKLUZBSUwgKG5vdCBzaXplKGhlaWdo
dCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICJmYWxzZSIKK1BBU1Mg
KG5vdCBzaXplKGhlaWdodCkpCiBQQVNTIChub3Qgc2l6ZSh1bmtub3duKSkKIFBBU1MgKG5vdCB1
bmtub3duKHdpZHRoKSkKLUZBSUwgKHNpemUod2lkdGgpIGFuZCBzaXplKHdpZHRoKSkgYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgImZhbHNlIgotRkFJTCAoc2l6ZSh3aWR0
aCkgYW5kIHNpemUod2lkdGgpIGFuZCBzaXplKHdpZHRoKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgInRydWUiIGJ1dCBnb3QgImZhbHNlIgorUEFTUyAoc2l6ZSh3aWR0aCkgYW5kIHNpemUod2lk
dGgpKQorUEFTUyAoc2l6ZSh3aWR0aCkgYW5kIHNpemUod2lkdGgpIGFuZCBzaXplKHdpZHRoKSkK
IFBBU1MgKHNpemUoaGVpZ2h0KSBhbmQgc2l6ZShoZWlnaHQpKQogUEFTUyAoc2l6ZShoZWlnaHQp
IGFuZCBzaXplKHdpZHRoKSBhbmQgc2l6ZSh3aWR0aCkpCiBQQVNTIChzaXplKHdpZHRoKSBhbmQg
c2l6ZShoZWlnaHQpIGFuZCBzaXplKHdpZHRoKSkKQEAgLTIyLDMwICsyMiwzMCBAQCBQQVNTIChz
aXplKHdpZHRoKSBhbmQgc2l6ZSh3aWR0aCkgYW5kIHNpemUoaGVpZ2h0KSkKIFBBU1MgKHNpemUo
dW5rbm93bikgYW5kIHNpemUod2lkdGgpIGFuZCBzaXplKHdpZHRoKSkKIFBBU1MgKHNpemUod2lk
dGgpIGFuZCBzaXplKHVua25vd24pIGFuZCBzaXplKHdpZHRoKSkKIFBBU1MgKHNpemUod2lkdGgp
IGFuZCBzaXplKHdpZHRoKSBhbmQgc2l6ZSh1bmtub3duKSkKLUZBSUwgKHNpemUod2lkdGgpIG9y
IHNpemUod2lkdGgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiZmFs
c2UiCi1GQUlMIChzaXplKHdpZHRoKSBvciBzaXplKHdpZHRoKSBvciBzaXplKHdpZHRoKSkgYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgImZhbHNlIgorUEFTUyAoc2l6ZSh3
aWR0aCkgb3Igc2l6ZSh3aWR0aCkpCitQQVNTIChzaXplKHdpZHRoKSBvciBzaXplKHdpZHRoKSBv
ciBzaXplKHdpZHRoKSkKIFBBU1MgKHNpemUoaGVpZ2h0KSBvciBzaXplKGhlaWdodCkpCi1GQUlM
IChzaXplKGhlaWdodCkgb3Igc2l6ZSh3aWR0aCkgb3Igc2l6ZSh3aWR0aCkpIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICJmYWxzZSIKLUZBSUwgKHNpemUod2lkdGgpIG9y
IHNpemUoaGVpZ2h0KSBvciBzaXplKHdpZHRoKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRy
dWUiIGJ1dCBnb3QgImZhbHNlIgotRkFJTCAoc2l6ZSh3aWR0aCkgb3Igc2l6ZSh3aWR0aCkgb3Ig
c2l6ZShoZWlnaHQpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiZmFs
c2UiCi1GQUlMIChzaXplKHVua25vd24pIG9yIHNpemUod2lkdGgpIG9yIHNpemUod2lkdGgpKSBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiZmFsc2UiCi1GQUlMIChzaXpl
KHdpZHRoKSBvciBzaXplKHVua25vd24pIG9yIHNpemUod2lkdGgpKSBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiZmFsc2UiCi1GQUlMIChzaXplKHdpZHRoKSBvciBzaXpl
KHdpZHRoKSBvciBzaXplKHVua25vd24pKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIg
YnV0IGdvdCAiZmFsc2UiCi1GQUlMIChzaXplKHVua25vd24pIG9yIHNpemUoaGVpZ2h0KSBvciBz
aXplKHdpZHRoKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgImZhbHNl
IgorUEFTUyAoc2l6ZShoZWlnaHQpIG9yIHNpemUod2lkdGgpIG9yIHNpemUod2lkdGgpKQorUEFT
UyAoc2l6ZSh3aWR0aCkgb3Igc2l6ZShoZWlnaHQpIG9yIHNpemUod2lkdGgpKQorUEFTUyAoc2l6
ZSh3aWR0aCkgb3Igc2l6ZSh3aWR0aCkgb3Igc2l6ZShoZWlnaHQpKQorUEFTUyAoc2l6ZSh1bmtu
b3duKSBvciBzaXplKHdpZHRoKSBvciBzaXplKHdpZHRoKSkKK1BBU1MgKHNpemUod2lkdGgpIG9y
IHNpemUodW5rbm93bikgb3Igc2l6ZSh3aWR0aCkpCitQQVNTIChzaXplKHdpZHRoKSBvciBzaXpl
KHdpZHRoKSBvciBzaXplKHVua25vd24pKQorUEFTUyAoc2l6ZSh1bmtub3duKSBvciBzaXplKGhl
aWdodCkgb3Igc2l6ZSh3aWR0aCkpCiBQQVNTIChub3QgKHNpemUod2lkdGgpIGFuZCBzaXplKHdp
ZHRoKSkpCi1GQUlMIChub3QgKHNpemUod2lkdGgpIGFuZCBzaXplKGhlaWdodCkpKSBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiZmFsc2UiCitQQVNTIChub3QgKHNpemUo
d2lkdGgpIGFuZCBzaXplKGhlaWdodCkpKQogUEFTUyAoc2l6ZSh3aWR0aCkgYW5kIChub3QgKHNp
emUoaGVpZ2h0KSBvciBzaXplKHdpZHRoKSkpKQotRkFJTCAoc2l6ZShoZWlnaHQpIG9yIChub3Qg
KHNpemUoaGVpZ2h0KSBhbmQgc2l6ZSh3aWR0aCkpKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
InRydWUiIGJ1dCBnb3QgImZhbHNlIgorUEFTUyAoc2l6ZShoZWlnaHQpIG9yIChub3QgKHNpemUo
aGVpZ2h0KSBhbmQgc2l6ZSh3aWR0aCkpKSkKIFBBU1MgKHNpemUoaGVpZ2h0KSBvciAoc2l6ZSho
ZWlnaHQpIGFuZCBzaXplKHdpZHRoKSkpCi1GQUlMIHNpemUoKHdpZHRoKSkgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgImZhbHNlIgorUEFTUyBzaXplKCh3aWR0aCkpCiBQ
QVNTIHNpemUoKGhlaWdodCkpCiBQQVNTIHNpemUoKHVua25vd24pKQogUEFTUyB1bmtub3duKCh3
aWR0aCkpCiBQQVNTIHNpemUobm90ICh3aWR0aCkpCi1GQUlMIHNpemUobm90IChoZWlnaHQpKSBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiZmFsc2UiCitQQVNTIHNpemUo
bm90IChoZWlnaHQpKQogUEFTUyBzaXplKG5vdCAodW5rbm93bikpCi1GQUlMIHNpemUoKHdpZHRo
KSBhbmQgKHdpZHRoKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgImZh
bHNlIgotRkFJTCBzaXplKCh3aWR0aCkgYW5kICh3aWR0aCkgYW5kICh3aWR0aCkpIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICJmYWxzZSIKK1BBU1Mgc2l6ZSgod2lkdGgp
IGFuZCAod2lkdGgpKQorUEFTUyBzaXplKCh3aWR0aCkgYW5kICh3aWR0aCkgYW5kICh3aWR0aCkp
CiBQQVNTIHNpemUoKGhlaWdodCkgYW5kIChoZWlnaHQpKQogUEFTUyBzaXplKChoZWlnaHQpIGFu
ZCAod2lkdGgpIGFuZCAod2lkdGgpKQogUEFTUyBzaXplKCh3aWR0aCkgYW5kIChoZWlnaHQpIGFu
ZCAod2lkdGgpKQpAQCAtNTMsMTkgKzUzLDE5IEBAIFBBU1Mgc2l6ZSgod2lkdGgpIGFuZCAod2lk
dGgpIGFuZCAoaGVpZ2h0KSkKIFBBU1Mgc2l6ZSgodW5rbm93bikgYW5kICh3aWR0aCkgYW5kICh3
aWR0aCkpCiBQQVNTIHNpemUoKHdpZHRoKSBhbmQgKHVua25vd24pIGFuZCAod2lkdGgpKQogUEFT
UyBzaXplKCh3aWR0aCkgYW5kICh3aWR0aCkgYW5kICh1bmtub3duKSkKLUZBSUwgc2l6ZSgod2lk
dGgpIG9yICh3aWR0aCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICJm
YWxzZSIKLUZBSUwgc2l6ZSgod2lkdGgpIG9yICh3aWR0aCkgb3IgKHdpZHRoKSkgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgImZhbHNlIgorUEFTUyBzaXplKCh3aWR0aCkg
b3IgKHdpZHRoKSkKK1BBU1Mgc2l6ZSgod2lkdGgpIG9yICh3aWR0aCkgb3IgKHdpZHRoKSkKIFBB
U1Mgc2l6ZSgoaGVpZ2h0KSBvciAoaGVpZ2h0KSkKLUZBSUwgc2l6ZSgoaGVpZ2h0KSBvciAod2lk
dGgpIG9yICh3aWR0aCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICJm
YWxzZSIKLUZBSUwgc2l6ZSgod2lkdGgpIG9yIChoZWlnaHQpIG9yICh3aWR0aCkpIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICJmYWxzZSIKLUZBSUwgc2l6ZSgod2lkdGgp
IG9yICh3aWR0aCkgb3IgKGhlaWdodCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBi
dXQgZ290ICJmYWxzZSIKLUZBSUwgc2l6ZSgodW5rbm93bikgb3IgKHdpZHRoKSBvciAod2lkdGgp
KSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiZmFsc2UiCi1GQUlMIHNp
emUoKHdpZHRoKSBvciAodW5rbm93bikgb3IgKHdpZHRoKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgInRydWUiIGJ1dCBnb3QgImZhbHNlIgotRkFJTCBzaXplKCh3aWR0aCkgb3IgKHdpZHRoKSBv
ciAodW5rbm93bikpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICJmYWxz
ZSIKLUZBSUwgc2l6ZSgodW5rbm93bikgb3IgKGhlaWdodCkgb3IgKHdpZHRoKSkgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgImZhbHNlIgorUEFTUyBzaXplKChoZWlnaHQp
IG9yICh3aWR0aCkgb3IgKHdpZHRoKSkKK1BBU1Mgc2l6ZSgod2lkdGgpIG9yIChoZWlnaHQpIG9y
ICh3aWR0aCkpCitQQVNTIHNpemUoKHdpZHRoKSBvciAod2lkdGgpIG9yIChoZWlnaHQpKQorUEFT
UyBzaXplKCh1bmtub3duKSBvciAod2lkdGgpIG9yICh3aWR0aCkpCitQQVNTIHNpemUoKHdpZHRo
KSBvciAodW5rbm93bikgb3IgKHdpZHRoKSkKK1BBU1Mgc2l6ZSgod2lkdGgpIG9yICh3aWR0aCkg
b3IgKHVua25vd24pKQorUEFTUyBzaXplKCh1bmtub3duKSBvciAoaGVpZ2h0KSBvciAod2lkdGgp
KQogUEFTUyBzaXplKG5vdCAoKHdpZHRoKSBhbmQgKHdpZHRoKSkpCi1GQUlMIHNpemUobm90ICgo
d2lkdGgpIGFuZCAoaGVpZ2h0KSkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQg
Z290ICJmYWxzZSIKK1BBU1Mgc2l6ZShub3QgKCh3aWR0aCkgYW5kIChoZWlnaHQpKSkKIFBBU1Mg
c2l6ZSgod2lkdGgpIGFuZCAobm90ICgoaGVpZ2h0KSBvciAod2lkdGgpKSkpCi1GQUlMIHNpemUo
KGhlaWdodCkgb3IgKG5vdCAoKGhlaWdodCkgYW5kICh3aWR0aCkpKSkgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgImZhbHNlIgorUEFTUyBzaXplKChoZWlnaHQpIG9yIChu
b3QgKChoZWlnaHQpIGFuZCAod2lkdGgpKSkpCiBQQVNTIHNpemUoKGhlaWdodCkgb3IgKChoZWln
aHQpIGFuZCAod2lkdGgpKSkKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1ZXJpZXMvc2l6
ZS1mZWF0dXJlLWV2YWx1YXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1ZXJpZXMv
c2l6ZS1mZWF0dXJlLWV2YWx1YXRpb24tZXhwZWN0ZWQudHh0CmluZGV4IGMyZjJkNjlhYWIyNDBh
MGQxMzAwOWIwMjQ1MTM1NmYxZDkyYzQ3YzQuLjliNGI5N2M2NzQ0MjMxNjU4ZGYxMDVhYjM0N2Zj
M2E0NGM5MDBiZWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW5lci1xdWVyaWVzL3NpemUtZmVhdHVy
ZS1ldmFsdWF0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluZXItcXVlcmllcy9zaXpl
LWZlYXR1cmUtZXZhbHVhdGlvbi1leHBlY3RlZC50eHQKQEAgLTEsMTIgKzEsMTIgQEAKIFRlc3QK
IAotUEFTUyBzaXplKHdpZHRoIDwgMTAwcHgpICguaG9yaXpvbnRhbCkKK0ZBSUwgc2l6ZSh3aWR0
aCA8IDEwMHB4KSAoLmhvcml6b250YWwpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICIiIGJ1dCBn
b3QgInRydWUiCiBGQUlMIHNpemUod2lkdGggPj0gMTAwcHgpICguaG9yaXpvbnRhbCkgYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgIiIKIFBBU1Mgc2l6ZShtaW4td2lkdGg6
IDEwMHB4KSAoLmhvcml6b250YWwpCiBQQVNTIHNpemUobWluLXdpZHRoOiAxMDFweCkgKC5ob3Jp
em9udGFsKQogUEFTUyBzaXplKG1heC13aWR0aDogMTAwcHgpICguaG9yaXpvbnRhbCkKIFBBU1Mg
c2l6ZShtYXgtd2lkdGg6IDk5cHgpICguaG9yaXpvbnRhbCkKLVBBU1Mgc2l6ZShoZWlnaHQgPCAy
MDBweCkgKC5ob3Jpem9udGFsKQorRkFJTCBzaXplKGhlaWdodCA8IDIwMHB4KSAoLmhvcml6b250
YWwpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICIiIGJ1dCBnb3QgInRydWUiCiBGQUlMIHNpemUo
aGVpZ2h0ID49IDIwMHB4KSAoLmhvcml6b250YWwpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0
cnVlIiBidXQgZ290ICIiCiBQQVNTIHNpemUobWluLWhlaWdodDogMjAwcHgpICguaG9yaXpvbnRh
bCkKIFBBU1Mgc2l6ZShtaW4taGVpZ2h0OiAyMDFweCkgKC5ob3Jpem9udGFsKQpAQCAtMjgsMTMg
KzI4LDEzIEBAIFBBU1Mgc2l6ZShvcmllbnRhdGlvbjogbGFuZHNjYXBlKSAoLmhvcml6b250YWwp
CiBGQUlMIHNpemUob3JpZW50YXRpb246IHBvcnRyYWl0KSAoLmhvcml6b250YWwpIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICIiCiBGQUlMIHNpemUoYXNwZWN0LXJhdGlv
OiAxLzIpICguaG9yaXpvbnRhbCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBn
b3QgIiIKIFBBU1Mgc2l6ZShhc3BlY3QtcmF0aW86IDIvMSkgKC5ob3Jpem9udGFsKQotUEFTUyBz
aXplKHdpZHRoIDwgMTAwcHgpICgudmVydGljYWwpCitGQUlMIHNpemUod2lkdGggPCAxMDBweCkg
KC52ZXJ0aWNhbCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIiIgYnV0IGdvdCAidHJ1ZSIKIEZB
SUwgc2l6ZSh3aWR0aCA+PSAxMDBweCkgKC52ZXJ0aWNhbCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgInRydWUiIGJ1dCBnb3QgIiIKIFBBU1Mgc2l6ZShtaW4td2lkdGg6IDEwMHB4KSAoLnZlcnRp
Y2FsKQogUEFTUyBzaXplKG1pbi13aWR0aDogMTAxcHgpICgudmVydGljYWwpCiBQQVNTIHNpemUo
bWF4LXdpZHRoOiAxMDBweCkgKC52ZXJ0aWNhbCkKIFBBU1Mgc2l6ZShtYXgtd2lkdGg6IDk5cHgp
ICgudmVydGljYWwpCi1QQVNTIHNpemUoaGVpZ2h0IDwgMjAwcHgpICgudmVydGljYWwpCitGQUlM
IHNpemUoaGVpZ2h0IDwgMjAwcHgpICgudmVydGljYWwpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
ICIiIGJ1dCBnb3QgInRydWUiCiBGQUlMIHNpemUoaGVpZ2h0ID49IDIwMHB4KSAoLnZlcnRpY2Fs
KSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiIgogUEFTUyBzaXplKG1p
bi1oZWlnaHQ6IDIwMHB4KSAoLnZlcnRpY2FsKQogUEFTUyBzaXplKG1pbi1oZWlnaHQ6IDIwMXB4
KSAoLnZlcnRpY2FsKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451884</attachid>
            <date>2022-02-14 04:08:04 -0800</date>
            <delta_ts>2022-02-14 05:21:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236580-20220214140803.patch</filename>
            <type>text/plain</type>
            <size>47042</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5NzA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzAyNWJhMjg0MWVjMGY2
N2E3Zjg1YWVlYmYwN2U2ZTg5OThiYWFhOC4uMTc3MDk4M2ViZjZkNDNlYWM2NjYyYzVkOGU4YWUy
ZDBlM2EyZDg0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDIyLTAyLTE0ICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBbQ1NTIENvbnRhaW5lciBR
dWVyaWVzXSBJbXBsZW1lbnQgZnVsbCBxdWVyeSBwYXJzZXIgYW5kIGV2YWx1YXRvcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2NTgwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU28gZmFyIHdlIGhhdmUg
YmVlbiB1c2luZyB0aGUgbWVkaWEgcXVlcnkgcGFyc2VyIHRvIHBhcnNlIGNvbnRhaW5lciBxdWVy
aWVzLgorICAgICAgICBJdCBkb2VzIG5vdCBzdXBwb3J0IG5lc3RpbmcgYW5kIG90aGVyIG5lY2Vz
c2FyeSBmZWF0dXJlcy4gQWxzbyB0aGUgcHJvZHVjZWQgZGF0YQorICAgICAgICBzdHJ1Y3R1cmVz
IGFyZSBhd2t3YXJkIHRvIGV2YWx1YXRlLgorCisgICAgICAgIGh0dHBzOi8vZHJhZnRzLmNzc3dn
Lm9yZy9jc3MtY29udGFpbi0zLyNjb250YWluZXItcnVsZQorCisgICAgICAgIFRoaXMgcGF0Y2gg
c3VwcG9ydHMgc2l6ZSBxdWVyaWVzIGJ1dCBub3Qgc3R5bGUgcXVlcmllcy4gSXQgc3VwcG9ydHMg
Ym90aCB0aGUgY3VycmVudCBzcGVjCisgICAgICAgIHNpemUgcXVlcnkgc3ludGF4ICJzaXplKGZv
bykiICh1c2VkIGluIFdQVHMpLCBhbmQgdGhlIG5vbi1mdW5jdGlvbiBQT1Igc3ludGF4IGZyb20K
KyAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy1kcmFmdHMvaXNzdWVzLzY4NzAj
aXNzdWVjb21tZW50LTEwMjI0MzA5MTEuCisKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAg
ICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogY3NzL0Nv
bnRhaW5lclF1ZXJ5Lmg6CisgICAgICAgICogY3NzL0NvbnRhaW5lclF1ZXJ5UGFyc2VyLmNwcDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDb250YWluZXJRdWVyeVBhcnNlcjo6cGFyc2UpOgor
ICAgICAgICAoV2ViQ29yZTo6Q29udGFpbmVyUXVlcnlQYXJzZXI6OmNvbnN1bWVDb250YWluZXJR
dWVyeSk6CisgICAgICAgIChXZWJDb3JlOjpDb250YWluZXJRdWVyeVBhcnNlcjo6Y29uc3VtZUNv
bmRpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpDb250YWluZXJRdWVyeVBhcnNlcjo6Y29uc3Vt
ZVNpemVRdWVyeSk6CisKKyAgICAgICAgTm8gc3VwcG9ydCBmb3IgcmFuZ2Ugb3BlcmF0b3JzICgn
PCcgZXRjKSB5ZXQuCisKKyAgICAgICAgKiBjc3MvQ29udGFpbmVyUXVlcnlQYXJzZXIuaDogQ29w
aWVkIGZyb20gU291cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5LmguCisgICAgICAgIChX
ZWJDb3JlOjpDb250YWluZXJRdWVyeVBhcnNlcjo6Q29udGFpbmVyUXVlcnlQYXJzZXIpOgorICAg
ICAgICAqIGNzcy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
U1NQYXJzZXJJbXBsOjpjb25zdW1lQ29udGFpbmVyUnVsZSk6CisgICAgICAgICogc3R5bGUvQ29u
dGFpbmVyUXVlcnlFdmFsdWF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OmNvbXB1
dGVTaXplKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpDb250YWluZXJRdWVyeUV2YWx1YXRv
cjo6ZXZhbHVhdGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkNvbnRhaW5lclF1
ZXJ5RXZhbHVhdG9yOjpldmFsdWF0ZVF1ZXJ5IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlN0
eWxlOjpDb250YWluZXJRdWVyeUV2YWx1YXRvcjo6ZXZhbHVhdGVDb25kaXRpb24gY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkNvbnRhaW5lclF1ZXJ5RXZhbHVhdG9yOjpldmFsdWF0
ZVNpemVGZWF0dXJlIGNvbnN0KToKKworICAgICAgICBKdXN0ICd3aWR0aCcgYW5kICdoZWlnaHQn
IGZvciBub3csIG5vIG5ldyBzaXplIGZlYXR1cmVzIHlldC4KKworICAgICAgICAqIHN0eWxlL0Nv
bnRhaW5lclF1ZXJ5RXZhbHVhdG9yLmg6CisKIDIwMjItMDItMTMgIEFudHRpIEtvaXZpc3RvICA8
YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFtDU1MgQ29udGFpbmVyIFF1ZXJpZXNdIEFkZCBz
ZXBhcmF0ZSBDb250YWluZXJRdWVyeSBhbmQgRmlsdGVyZWRDb250YWluZXJRdWVyeSB0eXBlcwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9T
b3VyY2VzLnR4dAppbmRleCAyMDE5MDU2MmMxMzM2MTY4MzI1YTM0OThlNWIzMWQ0MDgyZGI2N2Ni
Li5iY2IzOWVjMzYwMDk1NDIyNWQ4NWFjZTQ1Y2JmMDliMjM5OTMwNjk0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4
dApAQCAtNzA0LDYgKzcwNCw3IEBAIGNyeXB0by9rZXlzL0NyeXB0b0tleVJTQS5jcHAKIGNyeXB0
by9rZXlzL0NyeXB0b0tleVJTQUNvbXBvbmVudHMuY3BwCiBjcnlwdG8va2V5cy9DcnlwdG9LZXlS
YXcuY3BwCiBjc3MvQmFzaWNTaGFwZUZ1bmN0aW9ucy5jcHAKK2Nzcy9Db250YWluZXJRdWVyeVBh
cnNlci5jcHAKIGNzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcAogY3NzL0NTU0Jhc2ljU2hhcGVz
LmNwcAogY3NzL0NTU0JvcmRlckltYWdlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGYzYzM1MjRiNDU3NmM0NjVkZTdmZWUx
OTMzOTk0NTliNTkxYjViZjguLmNkZGZmZjY2ZDdiM2JhNzY1NDNiZjk2MjhiMWI0NDU4NTIxZjE4
M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTU0MjksNiArNTQyOSw3IEBACiAJCUU0RUQzRUNDMjc2OEE1MUQwMEYxN0FDOCAv
KiBIYXNTZWxlY3RvckZpbHRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRTRFRDNFQ0EyNzY4QTUxQzAwRjE3QUM4IC8qIEhhc1NlbGVjdG9yRmlsdGVy
LmggKi87IH07CiAJCUU0RjBCRTMxMjU3MTJGNkUwMDlFNzQzMSAvKiBDYXJldFJlY3RDb21wdXRh
dGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRG
MEJFMkUyNTcxMEE3NTAwOUU3NDMxIC8qIENhcmV0UmVjdENvbXB1dGF0aW9uLmggKi87IH07CiAJ
CUU0RjE1NzM5MjdCOTI2MTUwMEIzMzBEOCAvKiBDb250YWluZXJRdWVyeS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRGMTU3MzIyN0I2OTkxRjAwQjMz
MEQ4IC8qIENvbnRhaW5lclF1ZXJ5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJRTRGMTU3NDEyN0I5M0I3NzAwQjMzMEQ4IC8qIENvbnRhaW5lclF1
ZXJ5UGFyc2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBFNEYxNTczRDI3QjkzQjRDMDBCMzMwRDggLyogQ29udGFpbmVyUXVlcnlQYXJzZXIuaCAqLzsg
fTsKIAkJRTRGMzhEMUIyNjI2RjEzQjAwN0IxMDY0IC8qIERlZmF1bHRSZXNvdXJjZUxvYWRQcmlv
cml0eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRG
MzhEMTkyNjI2RjEzQjAwN0IxMDY0IC8qIERlZmF1bHRSZXNvdXJjZUxvYWRQcmlvcml0eS5oICov
OyB9OwogCQlFNEY4MTlDNjI2RkI0RUJGMDA5NEUxNjIgLyogSW5saW5lQm94UGFpbnRlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRGODE5QzUyNkZC
NEVCRjAwOTRFMTYyIC8qIElubGluZUJveFBhaW50ZXIuaCAqLzsgfTsKIAkJRTRGOUVFRjMxNTZE
QTAwNzAwRDIzRTdFIC8qIFN0eWxlU2hlZXRDb250ZW50cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRGOUVFRjExNTZEODRDNDAwRDIzRTdFIC8qIFN0
eWxlU2hlZXRDb250ZW50cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CkBAIC0xNzYxMSw2ICsxNzYxMiw4IEBACiAJCUU0RjBCRTJFMjU3MTBBNzUwMDlF
NzQzMSAvKiBDYXJldFJlY3RDb21wdXRhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBDYXJldFJlY3RDb21wdXRhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlFNEYwQkUzMDI1NzEwQTc2MDA5RTc0MzEgLyogQ2FyZXRSZWN0Q29tcHV0YXRpb24uY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2FyZXRSZWN0Q29tcHV0YXRp
b24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNEYxNTczMjI3QjY5OTFGMDBC
MzMwRDggLyogQ29udGFpbmVyUXVlcnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29udGFpbmVyUXVlcnku
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTRGMTU3M0QyN0I5M0I0QzAwQjMzMEQ4
IC8qIENvbnRhaW5lclF1ZXJ5UGFyc2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRhaW5lclF1ZXJ5
UGFyc2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUU0RjE1NzNGMjdCOTNCNTgw
MEIzMzBEOCAvKiBDb250YWluZXJRdWVyeVBhcnNlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBD
b250YWluZXJRdWVyeVBhcnNlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0
RjM4RDE5MjYyNkYxM0IwMDdCMTA2NCAvKiBEZWZhdWx0UmVzb3VyY2VMb2FkUHJpb3JpdHkuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGVmYXVsdFJlc291cmNlTG9hZFByaW9y
aXR5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0RjM4RDFDMjYyNkYxNDQwMDdC
MTA2NCAvKiBEZWZhdWx0UmVzb3VyY2VMb2FkUHJpb3JpdHkuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gRGVmYXVsdFJlc291cmNlTG9hZFByaW9yaXR5LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTRGODE5QzIyNkZCNEVBRjAwOTRFMTYyIC8qIElu
bGluZUJveFBhaW50ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SW5saW5lQm94UGFpbnRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zMTU5
Niw2ICszMTU5OSw4IEBACiAJCQkJRkJENkFGODQxNUVGMjFENDAwOEI3MTEwIC8qIEJhc2ljU2hh
cGVGdW5jdGlvbnMuY3BwICovLAogCQkJCUZCRDZBRjg1MTVFRjIxRDQwMDhCNzExMCAvKiBCYXNp
Y1NoYXBlRnVuY3Rpb25zLmggKi8sCiAJCQkJRTRGMTU3MzIyN0I2OTkxRjAwQjMzMEQ4IC8qIENv
bnRhaW5lclF1ZXJ5LmggKi8sCisJCQkJRTRGMTU3M0YyN0I5M0I1ODAwQjMzMEQ4IC8qIENvbnRh
aW5lclF1ZXJ5UGFyc2VyLmNwcCAqLywKKwkJCQlFNEYxNTczRDI3QjkzQjRDMDBCMzMwRDggLyog
Q29udGFpbmVyUXVlcnlQYXJzZXIuaCAqLywKIAkJCQlBODBFNkNEQTBBMTk4OUNBMDA3RkI4QzUg
LyogQ291bnRlci5oICovLAogCQkJCUNBRTlGOTBEMTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3Bl
Y3RSYXRpb1ZhbHVlLmNwcCAqLywKIAkJCQlDQUU5RjkwRTE0NjQ0MUYwMDBDMjQ1QjAgLyogQ1NT
QXNwZWN0UmF0aW9WYWx1ZS5oICovLApAQCAtMzM4NzEsNyArMzM4NzYsOSBAQAogCQkJCUU1OTZE
RDM1MjUxOTA0MTQwMEMyNzVBNyAvKiBDb250YWN0c1NlbGVjdE9wdGlvbnMuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUE4MTg3MjFDMDk3N0QzQzAwMDU4MjZEOSAvKiBDb250YWluZXJOb2RlLmggaW4g
SGVhZGVycyAqLywKIAkJCQlFMUExNDcwODExMTAyQjE1MDBFRUMwRjMgLyogQ29udGFpbmVyTm9k
ZUFsZ29yaXRobXMuaCBpbiBIZWFkZXJzICovLAorCQkJCUU0RjE1NzM5MjdCOTI2MTUwMEIzMzBE
OCAvKiBDb250YWluZXJRdWVyeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTRBQUIzODcyN0FBOTVE
NzAwOUY1ODk5IC8qIENvbnRhaW5lclF1ZXJ5RXZhbHVhdG9yLmggaW4gSGVhZGVycyAqLywKKwkJ
CQlFNEYxNTc0MTI3QjkzQjc3MDBCMzMwRDggLyogQ29udGFpbmVyUXVlcnlQYXJzZXIuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTZGQjVFMjE0MjIxRjI0NTMwMDM5ODlDRiAvKiBDb250ZW50Q2hhbmdl
T2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNUVCOTgxMEU4MjA3MjUwMEIyNTk2NSAv
KiBDb250ZW50RGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFCNDVEMjExQUI4RDFFMjAwMTE3
Q0QyIC8qIENvbnRlbnRFeHRlbnNpb24uaCBpbiBIZWFkZXJzICovLApAQCAtMzcxODgsNyArMzcx
OTUsNiBAQAogCQkJCUU0NTMyMkFDMTQwQ0UyNjcwMDVBMEY5MiAvKiBTZWxlY3RvclF1ZXJ5Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQlGNEQ0M0Q2NjIxODgwMzhCMDBFQ0VDQUMgLyogU2VyaWFsaXpl
ZEF0dGFjaG1lbnREYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMThERjMzNTE4QUFGMTJDMDA3
NzNFNTkgLyogU2VyaWFsaXplZENyeXB0b0tleVdyYXAuaCBpbiBIZWFkZXJzICovLAotCQkJCUU0
RjE1NzM5MjdCOTI2MTUwMEIzMzBEOCAvKiBDb250YWluZXJRdWVyeS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMDc3QUYxNDAxOEY0QUU0MDAwMDFFRDYxIC8qIFNlcmlhbGl6ZWRQbGF0Zm9ybURhdGFD
dWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3N0FGMTQzMThGNEIxQkIwMDAxRUQ2MSAvKiBTZXJp
YWxpemVkUGxhdGZvcm1EYXRhQ3VlTWFjLmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzZEMUMxRjIz
RjZFQjVCMDBEOTVCMDYgLyogU2VyaWFsaXplZFBsYXRmb3JtRGF0YUN1ZVZhbHVlLmggaW4gSGVh
ZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Db250YWluZXJRdWVyeS5o
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5LmgKaW5kZXggOGQ4ZGUwYzAwYzVi
MjE5ZTQwZjU4ZDYyNjU2ODQyMDUzYjliNTIwYi4uMGM5NTgyMWE2YmZhNTEwZjQ3NzhkYTZmODQ3
YzI2MDQwZDBkNTc5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1
ZXJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5LmgKQEAgLTI4LDEz
ICsyOCw0NSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIE1lZGlhUXVlcnlTZXQ7
CitjbGFzcyBDU1NQcmltaXRpdmVWYWx1ZTsKIAotdXNpbmcgQ29udGFpbmVyUXVlcnkgPSBNZWRp
YVF1ZXJ5U2V0OworbmFtZXNwYWNlIENRIHsKKworc3RydWN0IENvbnRhaW5lckNvbmRpdGlvbjsK
K3N0cnVjdCBTaXplQ29uZGl0aW9uOworc3RydWN0IFNpemVGZWF0dXJlOworCitzdHJ1Y3QgVW5r
bm93blF1ZXJ5IHsgfTsKKwordXNpbmcgU2l6ZVF1ZXJ5ID0gc3RkOjp2YXJpYW50PFNpemVDb25k
aXRpb24sIFNpemVGZWF0dXJlPjsKK3VzaW5nIENvbnRhaW5lclF1ZXJ5ID0gc3RkOjp2YXJpYW50
PENvbnRhaW5lckNvbmRpdGlvbiwgU2l6ZVF1ZXJ5LCBVbmtub3duUXVlcnk+OworCitlbnVtIGNs
YXNzIExvZ2ljYWxPcGVyYXRvciA6IHVpbnQ4X3QgeyBBbmQsIE9yLCBOb3QgfTsKK2VudW0gY2xh
c3MgQ29tcGFyaXNvbk9wZXJhdG9yIDogdWludDhfdCB7IExlc3MsIExlc3NPckVxdWFsLCBFcXVh
bCwgR3JlYXRlciwgR3JlYXRlck9yRXF1YWwsIFRydWUgfTsKKworc3RydWN0IENvbnRhaW5lckNv
bmRpdGlvbiB7CisgICAgTG9naWNhbE9wZXJhdG9yIGxvZ2ljYWxPcGVyYXRvciB7IExvZ2ljYWxP
cGVyYXRvcjo6QW5kIH07CisgICAgVmVjdG9yPENvbnRhaW5lclF1ZXJ5PiBxdWVyaWVzOworfTsK
Kworc3RydWN0IFNpemVDb25kaXRpb24geworICAgIExvZ2ljYWxPcGVyYXRvciBsb2dpY2FsT3Bl
cmF0b3IgeyBMb2dpY2FsT3BlcmF0b3I6OkFuZCB9OworICAgIFZlY3RvcjxTaXplUXVlcnk+IHF1
ZXJpZXM7Cit9OworCitzdHJ1Y3QgU2l6ZUZlYXR1cmUgeworICAgIENvbXBhcmlzb25PcGVyYXRv
ciBjb21wYXJpc29uT3BlcmF0b3IgeyBDb21wYXJpc29uT3BlcmF0b3I6OkVxdWFsIH07CisgICAg
QXRvbVN0cmluZyBuYW1lOworICAgIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gdmFsdWU7Cit9
OworCit9CisKK3VzaW5nIENvbnRhaW5lclF1ZXJ5ID0gQ1E6OkNvbnRhaW5lclF1ZXJ5OwogCiBz
dHJ1Y3QgRmlsdGVyZWRDb250YWluZXJRdWVyeSB7CiAgICAgQXRvbVN0cmluZyBuYW1lRmlsdGVy
OwotICAgIFJlZjxDb250YWluZXJRdWVyeT4gcXVlcnk7CisgICAgQ29udGFpbmVyUXVlcnkgcXVl
cnk7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ29udGFpbmVyUXVl
cnlQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5UGFyc2VyLmNw
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5jMzkyYjhjZTM1NmZhMTlmNDM2MDg3OGRlOTM3MjEzMDJmZjA3MGE1Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5UGFyc2Vy
LmNwcApAQCAtMCwwICsxLDE3MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMiBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQor
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ29udGFpbmVyUXVlcnlQYXJzZXIuaCIKKwor
I2luY2x1ZGUgIkNTU1ByaW1pdGl2ZVZhbHVlLmgiCisjaW5jbHVkZSAiQ1NTUHJvcGVydHlQYXJz
ZXJIZWxwZXJzLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RkOjpvcHRpb25hbDxDb250
YWluZXJRdWVyeT4gQ29udGFpbmVyUXVlcnlQYXJzZXI6OmNvbnN1bWVDb250YWluZXJRdWVyeShD
U1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSwgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4
dCkKK3sKKyAgICBDb250YWluZXJRdWVyeVBhcnNlciBwYXJzZXIoY29udGV4dCk7CisgICAgcmV0
dXJuIHBhcnNlci5jb25zdW1lQ29udGFpbmVyUXVlcnkocmFuZ2UpOworfQorCitzdGQ6Om9wdGlv
bmFsPENROjpDb250YWluZXJRdWVyeT4gQ29udGFpbmVyUXVlcnlQYXJzZXI6OmNvbnN1bWVDb250
YWluZXJRdWVyeShDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSkKK3sKKyAgICBpZiAocmFuZ2Uu
cGVlaygpLnR5cGUoKSA9PSBGdW5jdGlvblRva2VuKSB7CisgICAgICAgIGJvb2wgaXNTaXplUXVl
cnkgPSBlcXVhbElnbm9yaW5nQVNDSUlDYXNlKHJhbmdlLnBlZWsoKS52YWx1ZSgpLCAic2l6ZSIp
OworCisgICAgICAgIGF1dG8gYmxvY2tSYW5nZSA9IHJhbmdlLmNvbnN1bWVCbG9jaygpOworICAg
ICAgICBibG9ja1JhbmdlLmNvbnN1bWVXaGl0ZXNwYWNlKCk7CisKKyAgICAgICAgaWYgKCFpc1Np
emVRdWVyeSkKKyAgICAgICAgICAgIHJldHVybiBDUTo6VW5rbm93blF1ZXJ5IHsgfTsKKworICAg
ICAgICBhdXRvIHNpemVRdWVyeSA9IGNvbnN1bWVTaXplUXVlcnkoYmxvY2tSYW5nZSk7CisgICAg
ICAgIGlmICghc2l6ZVF1ZXJ5KQorICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgcmV0
dXJuIHsgKnNpemVRdWVyeSB9OworICAgIH0KKworICAgIGlmIChyYW5nZS5wZWVrKCkudHlwZSgp
ID09IExlZnRQYXJlbnRoZXNpc1Rva2VuKSB7CisgICAgICAgIGF1dG8gYmxvY2tSYW5nZSA9IHJh
bmdlLmNvbnN1bWVCbG9jaygpOworICAgICAgICByYW5nZS5jb25zdW1lV2hpdGVzcGFjZSgpOwor
CisgICAgICAgIGJsb2NrUmFuZ2UuY29uc3VtZVdoaXRlc3BhY2UoKTsKKworICAgICAgICAvLyBU
cnkgdG8gcGFyc2UgYXMgYSBzaXplIHF1ZXJ5IGZpcnN0LgorICAgICAgICBhdXRvIGJsb2NrRm9y
U2l6ZVF1ZXJ5ID0gYmxvY2tSYW5nZTsKKyAgICAgICAgaWYgKGF1dG8gc2l6ZVF1ZXJ5ID0gY29u
c3VtZVNpemVRdWVyeShibG9ja0ZvclNpemVRdWVyeSkpCisgICAgICAgICAgICByZXR1cm4geyAq
c2l6ZVF1ZXJ5IH07CisKKyAgICAgICAgaWYgKGF1dG8gY29uZGl0aW9uID0gY29uc3VtZUNvbmRp
dGlvbjxDUTo6Q29udGFpbmVyQ29uZGl0aW9uPihibG9ja1JhbmdlKSkKKyAgICAgICAgICAgIHJl
dHVybiB7IGNvbmRpdGlvbiB9OworICAgIH0KKworICAgIHJldHVybiB7IH07Cit9CisKK3RlbXBs
YXRlPHR5cGVuYW1lIENvbmRpdGlvblR5cGU+CitzdGQ6Om9wdGlvbmFsPENvbmRpdGlvblR5cGU+
IENvbnRhaW5lclF1ZXJ5UGFyc2VyOjpjb25zdW1lQ29uZGl0aW9uKENTU1BhcnNlclRva2VuUmFu
Z2UmIHJhbmdlKQoreworICAgIGF1dG8gY29uc3VtZVF1ZXJ5ID0gWyZdKENTU1BhcnNlclRva2Vu
UmFuZ2UmIHJhbmdlKSB7CisgICAgICAgIGlmIGNvbnN0ZXhwciAoc3RkOjppc19zYW1lX3Y8Q1E6
OkNvbnRhaW5lckNvbmRpdGlvbiwgQ29uZGl0aW9uVHlwZT4pCisgICAgICAgICAgICByZXR1cm4g
Y29uc3VtZUNvbnRhaW5lclF1ZXJ5KHJhbmdlKTsKKyAgICAgICAgaWYgY29uc3RleHByIChzdGQ6
OmlzX3NhbWVfdjxDUTo6U2l6ZUNvbmRpdGlvbiwgQ29uZGl0aW9uVHlwZT4pIHsKKyAgICAgICAg
ICAgIGlmIChyYW5nZS5wZWVrKCkudHlwZSgpICE9IExlZnRQYXJlbnRoZXNpc1Rva2VuKQorICAg
ICAgICAgICAgICAgIHJldHVybiBzdGQ6Om9wdGlvbmFsPENROjpTaXplUXVlcnk+KCk7CisgICAg
ICAgICAgICBhdXRvIGJsb2NrUmFuZ2UgPSByYW5nZS5jb25zdW1lQmxvY2soKTsKKyAgICAgICAg
ICAgIHJldHVybiBjb25zdW1lU2l6ZVF1ZXJ5KGJsb2NrUmFuZ2UpOworICAgICAgICB9CisgICAg
fTsKKworICAgIGlmIChyYW5nZS5wZWVrKCkudHlwZSgpID09IElkZW50VG9rZW4pIHsKKyAgICAg
ICAgaWYgKGVxdWFsSWdub3JpbmdBU0NJSUNhc2UocmFuZ2UucGVlaygpLnZhbHVlKCksICJub3Qi
KSkgeworICAgICAgICAgICAgcmFuZ2UuY29uc3VtZUluY2x1ZGluZ1doaXRlc3BhY2UoKTsKKyAg
ICAgICAgICAgIGlmIChhdXRvIHF1ZXJ5ID0gY29uc3VtZVF1ZXJ5KHJhbmdlKSkKKyAgICAgICAg
ICAgICAgICByZXR1cm4gQ29uZGl0aW9uVHlwZSB7IENROjpMb2dpY2FsT3BlcmF0b3I6Ok5vdCwg
eyAqcXVlcnkgfSB9OworICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgfQorICAgIH0K
KworICAgIENvbmRpdGlvblR5cGUgY29uZGl0aW9uOworCisgICAgYXV0byBxdWVyeSA9IGNvbnN1
bWVRdWVyeShyYW5nZSk7CisgICAgaWYgKCFxdWVyeSkKKyAgICAgICAgcmV0dXJuIHsgfTsKKwor
ICAgIGNvbmRpdGlvbi5xdWVyaWVzLmFwcGVuZCgqcXVlcnkpOworICAgIHJhbmdlLmNvbnN1bWVX
aGl0ZXNwYWNlKCk7CisKKyAgICB3aGlsZSAoIXJhbmdlLmF0RW5kKCkpIHsKKyAgICAgICAgYXV0
byBvcGVyYXRvclRva2VuID0gcmFuZ2UuY29uc3VtZUluY2x1ZGluZ1doaXRlc3BhY2UoKTsKKyAg
ICAgICAgaWYgKG9wZXJhdG9yVG9rZW4udHlwZSgpICE9IElkZW50VG9rZW4pCisgICAgICAgICAg
ICByZXR1cm4geyB9OworCisgICAgICAgIGlmIChlcXVhbElnbm9yaW5nQVNDSUlDYXNlKG9wZXJh
dG9yVG9rZW4udmFsdWUoKSwgImFuZCIpKSB7CisgICAgICAgICAgICBpZiAoY29uZGl0aW9uLnF1
ZXJpZXMuc2l6ZSgpID4gMSAmJiBjb25kaXRpb24ubG9naWNhbE9wZXJhdG9yICE9IENROjpMb2dp
Y2FsT3BlcmF0b3I6OkFuZCkKKyAgICAgICAgICAgICAgICByZXR1cm4geyB9OworICAgICAgICAg
ICAgY29uZGl0aW9uLmxvZ2ljYWxPcGVyYXRvciA9IENROjpMb2dpY2FsT3BlcmF0b3I6OkFuZDsK
KyAgICAgICAgfSBlbHNlIGlmIChlcXVhbElnbm9yaW5nQVNDSUlDYXNlKG9wZXJhdG9yVG9rZW4u
dmFsdWUoKSwgIm9yIikpIHsKKyAgICAgICAgICAgIGlmIChjb25kaXRpb24ucXVlcmllcy5zaXpl
KCkgPiAxICYmIGNvbmRpdGlvbi5sb2dpY2FsT3BlcmF0b3IgIT0gQ1E6OkxvZ2ljYWxPcGVyYXRv
cjo6T3IpCisgICAgICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgICAgIGNvbmRpdGlv
bi5sb2dpY2FsT3BlcmF0b3IgPSBDUTo6TG9naWNhbE9wZXJhdG9yOjpPcjsKKyAgICAgICAgfSBl
bHNlCisgICAgICAgICAgICByZXR1cm4geyB9OworCisgICAgICAgIGF1dG8gcXVlcnkgPSBjb25z
dW1lUXVlcnkocmFuZ2UpOworICAgICAgICBpZiAoIXF1ZXJ5KQorICAgICAgICAgICAgcmV0dXJu
IHsgfTsKKworICAgICAgICBjb25kaXRpb24ucXVlcmllcy5hcHBlbmQoKnF1ZXJ5KTsKKyAgICAg
ICAgcmFuZ2UuY29uc3VtZVdoaXRlc3BhY2UoKTsKKyAgICB9CisKKyAgICByZXR1cm4gY29uZGl0
aW9uOworfQorCitzdGQ6Om9wdGlvbmFsPENROjpTaXplUXVlcnk+IENvbnRhaW5lclF1ZXJ5UGFy
c2VyOjpjb25zdW1lU2l6ZVF1ZXJ5KENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlKQoreworICAg
IGlmIChyYW5nZS5wZWVrKCkudHlwZSgpICE9IElkZW50VG9rZW4gfHwgZXF1YWxJZ25vcmluZ0FT
Q0lJQ2FzZShyYW5nZS5wZWVrKCkudmFsdWUoKSwgIm5vdCIpKSB7CisgICAgICAgIGF1dG8gc2l6
ZUNvbmRpdGlvbiA9IGNvbnN1bWVDb25kaXRpb248Q1E6OlNpemVDb25kaXRpb24+KHJhbmdlKTsK
KyAgICAgICAgaWYgKCFzaXplQ29uZGl0aW9uKQorICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAg
ICAgICAgcmV0dXJuIHsgKnNpemVDb25kaXRpb24gfTsKKyAgICB9CisKKyAgICBhdXRvIG5hbWVU
b2tlbiA9IHJhbmdlLmNvbnN1bWVJbmNsdWRpbmdXaGl0ZXNwYWNlKCk7CisgICAgYXV0byBuYW1l
ID0gbmFtZVRva2VuLnZhbHVlKCkudG9BdG9tU3RyaW5nKCk7CisKKyAgICBpZiAocmFuZ2UuYXRF
bmQoKSkKKyAgICAgICAgcmV0dXJuIENROjpTaXplRmVhdHVyZSB7IENROjpDb21wYXJpc29uT3Bl
cmF0b3I6OlRydWUsIG5hbWUsIHsgfSB9OworCisgICAgYXV0byBvcFRva2VuID0gcmFuZ2UuY29u
c3VtZUluY2x1ZGluZ1doaXRlc3BhY2UoKTsKKyAgICBpZiAocmFuZ2UuYXRFbmQoKSkKKyAgICAg
ICAgcmV0dXJuIHsgfTsKKworICAgIC8vIEZJWE1FOiBTdXBwb3J0ICc8JyBzdHlsZSBvcGVyYXRv
cnMgYW5kIHJhbmdlcy4KKyAgICBhdXRvIG9wID0gQ1E6OkNvbXBhcmlzb25PcGVyYXRvcjo6RXF1
YWw7CisgICAgaWYgKG9wVG9rZW4udHlwZSgpID09IENvbG9uVG9rZW4pIHsKKyAgICAgICAgaWYg
KG5hbWUuc3RhcnRzV2l0aCgibWluLSIpKQorICAgICAgICAgICAgb3AgPSBDUTo6Q29tcGFyaXNv
bk9wZXJhdG9yOjpHcmVhdGVyT3JFcXVhbDsKKyAgICAgICAgZWxzZSBpZiAobmFtZS5zdGFydHNX
aXRoKCJtYXgtIikpCisgICAgICAgICAgICBvcCA9IENROjpDb21wYXJpc29uT3BlcmF0b3I6Okxl
c3NPckVxdWFsOworCisgICAgICAgIGlmIChvcCAhPSBDUTo6Q29tcGFyaXNvbk9wZXJhdG9yOjpF
cXVhbCkKKyAgICAgICAgICAgIG5hbWUgPSBTdHJpbmdWaWV3KG5hbWUpLnN1YnN0cmluZyg0KS50
b0F0b21TdHJpbmcoKTsKKyAgICAgICAgaWYgKG5hbWUuaXNFbXB0eSgpKQorICAgICAgICAgICAg
cmV0dXJuIHsgfTsKKyAgICB9CisKKyAgICBhdXRvIGxlbmd0aCA9IENTU1Byb3BlcnR5UGFyc2Vy
SGVscGVyczo6Y29uc3VtZUxlbmd0aChyYW5nZSwgbV9jb250ZXh0Lm1vZGUsIFZhbHVlUmFuZ2U6
Ok5vbk5lZ2F0aXZlKTsKKyAgICBpZiAoIWxlbmd0aCkKKyAgICAgICAgcmV0dXJuIHsgfTsKKwor
ICAgIHJldHVybiBDUTo6U2l6ZUZlYXR1cmUgeyBvcCwgbmFtZSwgbGVuZ3RoIH07Cit9CisKK30K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Db250YWluZXJRdWVyeVBhcnNlci5oIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5UGFyc2VyLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmE0
N2M0Njg1MmZjNDAyYTU2NmU2MmM2YTAxZGI5ZjJjMjRmMzZmZQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9Db250YWluZXJRdWVyeVBhcnNlci5oCkBAIC0wLDAgKzEsNDcg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNs
dWRlICJDU1NQYXJzZXJUb2tlbi5oIgorI2luY2x1ZGUgIkNvbnRhaW5lclF1ZXJ5LmgiCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ29udGFpbmVyUXVlcnlQYXJzZXIgeworcHVibGlj
OgorICAgIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPENvbnRhaW5lclF1ZXJ5PiBjb25zdW1lQ29udGFp
bmVyUXVlcnkoQ1NTUGFyc2VyVG9rZW5SYW5nZSYsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmKTsK
KworcHJpdmF0ZToKKyAgICBzdGQ6Om9wdGlvbmFsPENROjpDb250YWluZXJRdWVyeT4gY29uc3Vt
ZUNvbnRhaW5lclF1ZXJ5KENTU1BhcnNlclRva2VuUmFuZ2UmKTsKKyAgICBzdGQ6Om9wdGlvbmFs
PENROjpTaXplUXVlcnk+IGNvbnN1bWVTaXplUXVlcnkoQ1NTUGFyc2VyVG9rZW5SYW5nZSYpOwor
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIENvbmRpdGlvblR5cGU+IHN0ZDo6b3B0aW9uYWw8Q29uZGl0
aW9uVHlwZT4gY29uc3VtZUNvbmRpdGlvbihDU1NQYXJzZXJUb2tlblJhbmdlJik7CisKKyAgICBD
b250YWluZXJRdWVyeVBhcnNlcihjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0KQorICAg
ICAgICA6IG1fY29udGV4dChjb250ZXh0KSB7IH0KKworICAgIGNvbnN0IENTU1BhcnNlckNvbnRl
eHQgbV9jb250ZXh0OworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3Bh
cnNlci9DU1NQYXJzZXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFy
c2VySW1wbC5jcHAKaW5kZXggZjdkNTU5MjIwNTdmMzRmNDNlYzZhMjNjODMzNmY1ZDUyYzFlYWIz
My4uYzRlZGFhMDY0M2RiNDJhYWM0ZjQ1Nzc2ODBiMWM3OTEwNWMzZWY4MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckltcGwuY3BwCkBAIC00Nyw2ICs0Nyw3IEBACiAj
aW5jbHVkZSAiQ1NTU3VwcG9ydHNQYXJzZXIuaCIKICNpbmNsdWRlICJDU1NUb2tlbml6ZXIuaCIK
ICNpbmNsdWRlICJDU1NWYXJpYWJsZVBhcnNlci5oIgorI2luY2x1ZGUgIkNvbnRhaW5lclF1ZXJ5
UGFyc2VyLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFbGVtZW50LmgiCiAj
aW5jbHVkZSAiRm9udFBhbGV0dGVWYWx1ZXMuaCIKQEAgLTg2NSwxMiArODY2LDE2IEBAIFJlZlB0
cjxTdHlsZVJ1bGVDb250YWluZXI+IENTU1BhcnNlckltcGw6OmNvbnN1bWVDb250YWluZXJSdWxl
KENTU1BhcnNlclRva2VuUmFuCiAKICAgICBhdXRvIG5hbWUgPSBjb25zdW1lTmFtZSgpOwogCi0g
ICAgYXV0byBxdWVyeSA9IE1lZGlhUXVlcnlQYXJzZXI6OnBhcnNlQ29udGFpbmVyUXVlcnkocHJl
bHVkZSwgTWVkaWFRdWVyeVBhcnNlckNvbnRleHQobV9jb250ZXh0KSk7CisgICAgYXV0byBxdWVy
eSA9IENvbnRhaW5lclF1ZXJ5UGFyc2VyOjpjb25zdW1lQ29udGFpbmVyUXVlcnkocHJlbHVkZSwg
bV9jb250ZXh0KTsKICAgICBpZiAoIXF1ZXJ5KQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAor
ICAgIHByZWx1ZGUuY29uc3VtZVdoaXRlc3BhY2UoKTsKKyAgICBpZiAoIXByZWx1ZGUuYXRFbmQo
KSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKICAgICBpZiAobV9kZWZlcnJlZFBhcnNlcikK
LSAgICAgICAgcmV0dXJuIFN0eWxlUnVsZUNvbnRhaW5lcjo6Y3JlYXRlKHsgbmFtZSwgcXVlcnku
cmVsZWFzZU5vbk51bGwoKSB9LCBtYWtlVW5pcXVlPERlZmVycmVkU3R5bGVHcm91cFJ1bGVMaXN0
PihibG9jaywgKm1fZGVmZXJyZWRQYXJzZXIpKTsKKyAgICAgICAgcmV0dXJuIFN0eWxlUnVsZUNv
bnRhaW5lcjo6Y3JlYXRlKHsgbmFtZSwgKnF1ZXJ5IH0sIG1ha2VVbmlxdWU8RGVmZXJyZWRTdHls
ZUdyb3VwUnVsZUxpc3Q+KGJsb2NrLCAqbV9kZWZlcnJlZFBhcnNlcikpOwogCiAgICAgVmVjdG9y
PFJlZlB0cjxTdHlsZVJ1bGVCYXNlPj4gcnVsZXM7CiAKQEAgLTg4OCw3ICs4OTMsNyBAQCBSZWZQ
dHI8U3R5bGVSdWxlQ29udGFpbmVyPiBDU1NQYXJzZXJJbXBsOjpjb25zdW1lQ29udGFpbmVyUnVs
ZShDU1NQYXJzZXJUb2tlblJhbgogICAgIGlmIChtX29ic2VydmVyV3JhcHBlcikKICAgICAgICAg
bV9vYnNlcnZlcldyYXBwZXItPm9ic2VydmVyKCkuZW5kUnVsZUJvZHkobV9vYnNlcnZlcldyYXBw
ZXItPmVuZE9mZnNldChibG9jaykpOwogCi0gICAgcmV0dXJuIFN0eWxlUnVsZUNvbnRhaW5lcjo6
Y3JlYXRlKHsgbmFtZSwgcXVlcnkucmVsZWFzZU5vbk51bGwoKSB9LCBXVEZNb3ZlKHJ1bGVzKSk7
CisgICAgcmV0dXJuIFN0eWxlUnVsZUNvbnRhaW5lcjo6Y3JlYXRlKHsgbmFtZSwgKnF1ZXJ5IH0s
IFdURk1vdmUocnVsZXMpKTsKIH0KICAgICAKIFJlZlB0cjxTdHlsZVJ1bGVLZXlmcmFtZT4gQ1NT
UGFyc2VySW1wbDo6Y29uc3VtZUtleWZyYW1lU3R5bGVSdWxlKENTU1BhcnNlclRva2VuUmFuZ2Ug
cHJlbHVkZSwgQ1NTUGFyc2VyVG9rZW5SYW5nZSBibG9jaykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3N0eWxlL0NvbnRhaW5lclF1ZXJ5RXZhbHVhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3N0eWxlL0NvbnRhaW5lclF1ZXJ5RXZhbHVhdG9yLmNwcAppbmRleCA1ZjBjNTU3ODJkMWNhZTY0
NjU0YzdkYmYxZmM1ZGJlNDBiZjdjOTZiLi41OWIxNzI5ODZiZjQyYmRiM2E1YWQxZTAxMTMwN2I0
NzliOWU5Y2U1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Db250YWluZXJRdWVy
eUV2YWx1YXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvQ29udGFpbmVyUXVlcnlF
dmFsdWF0b3IuY3BwCkBAIC0zNSwzMCArMzUsMjkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmU6OlN0
eWxlIHsKIAorc3RydWN0IENvbnRhaW5lclF1ZXJ5RXZhbHVhdG9yOjpFdmFsdWF0aW9uQ29udGV4
dCB7CisgICAgUmVuZGVyQm94JiByZW5kZXJlcjsKKyAgICBDU1NUb0xlbmd0aENvbnZlcnNpb25E
YXRhIGNvbnZlcnNpb25EYXRhOworfTsKKwogQ29udGFpbmVyUXVlcnlFdmFsdWF0b3I6OkNvbnRh
aW5lclF1ZXJ5RXZhbHVhdG9yKGNvbnN0IFZlY3RvcjxSZWY8Y29uc3QgRWxlbWVudD4+JiBjb250
YWluZXJzKQogICAgIDogbV9jb250YWluZXJzKGNvbnRhaW5lcnMpCiB7CiB9CiAKLXN0YXRpYyBz
dGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IGNvbXB1dGVTaXplKENTU1ZhbHVlKiB2YWx1ZSwgY29u
c3QgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSYgY29udmVyc2lvbkRhdGEpCitzdGF0aWMgc3Rk
OjpvcHRpb25hbDxMYXlvdXRVbml0PiBjb21wdXRlU2l6ZShjb25zdCBDU1NQcmltaXRpdmVWYWx1
ZSYgdmFsdWUsIGNvbnN0IENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEmIGNvbnZlcnNpb25EYXRh
KQogewotICAgIGlmICghaXM8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVlKSkKLSAgICAgICAgcmV0
dXJuIHsgfTsKLQotICAgIGF1dG8mIHByaW1pdGl2ZVZhbHVlID0gZG93bmNhc3Q8Q1NTUHJpbWl0
aXZlVmFsdWU+KCp2YWx1ZSk7Ci0gICAgaWYgKHByaW1pdGl2ZVZhbHVlLmlzTnVtYmVyT3JJbnRl
Z2VyKCkpIHsKLSAgICAgICAgaWYgKHByaW1pdGl2ZVZhbHVlLmRvdWJsZVZhbHVlKCkpCisgICAg
aWYgKHZhbHVlLmlzTnVtYmVyT3JJbnRlZ2VyKCkpIHsKKyAgICAgICAgaWYgKHZhbHVlLmRvdWJs
ZVZhbHVlKCkpCiAgICAgICAgICAgICByZXR1cm4geyB9OwogICAgICAgICByZXR1cm4gMF9sdTsK
ICAgICB9CiAKLSAgICBpZiAoIXByaW1pdGl2ZVZhbHVlLmlzTGVuZ3RoKCkpCisgICAgaWYgKCF2
YWx1ZS5pc0xlbmd0aCgpKQogICAgICAgICByZXR1cm4geyB9OwotICAgIHJldHVybiBwcmltaXRp
dmVWYWx1ZS5jb21wdXRlTGVuZ3RoPExheW91dFVuaXQ+KGNvbnZlcnNpb25EYXRhKTsKKyAgICBy
ZXR1cm4gdmFsdWUuY29tcHV0ZUxlbmd0aDxMYXlvdXRVbml0Pihjb252ZXJzaW9uRGF0YSk7CiB9
CiAKLWVudW0gY2xhc3MgQ29tcGFyYXRvciB7IExlc3NlciwgR3JlYXRlciwgTGVzc2VyT3JFcXVh
bCwgR3JlYXRlck9yRXF1YWwsIEVxdWFsLCBUcnVlIH07Ci0KIGJvb2wgQ29udGFpbmVyUXVlcnlF
dmFsdWF0b3I6OmV2YWx1YXRlKGNvbnN0IEZpbHRlcmVkQ29udGFpbmVyUXVlcnkmIGZpbHRlcmVk
Q29udGFpbmVyUXVlcnkpIGNvbnN0CiB7CiAgICAgaWYgKG1fY29udGFpbmVycy5pc0VtcHR5KCkp
CkBAIC04Myw5MCArODIsMTE0IEBAIGJvb2wgQ29udGFpbmVyUXVlcnlFdmFsdWF0b3I6OmV2YWx1
YXRlKGNvbnN0IEZpbHRlcmVkQ29udGFpbmVyUXVlcnkmIGZpbHRlcmVkQ29uCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKIAogICAgIGF1dG8mIHZpZXcgPSByZW5kZXJlci0+dmlldygpOwotICAgIENT
U1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEgY29udmVyc2lvbkRhdGEgeyAmcmVuZGVyZXItPnN0eWxl
KCksICZ2aWV3LnN0eWxlKCksIG51bGxwdHIsICZ2aWV3LCAxIH07CisgICAgQ1NTVG9MZW5ndGhD
b252ZXJzaW9uRGF0YSB7ICZyZW5kZXJlci0+c3R5bGUoKSwgJnZpZXcuc3R5bGUoKSwgbnVsbHB0
ciwgJnZpZXcsIDEgfTsKIAotICAgIGF1dG8gZXZhbHVhdGVTaXplID0gWyZdKGNvbnN0IE1lZGlh
UXVlcnlFeHByZXNzaW9uJiBleHByZXNzaW9uLCBDb21wYXJhdG9yIGNvbXBhcmF0b3IsIGF1dG8m
JiBzaXplR2V0dGVyKQotICAgIHsKKyAgICBFdmFsdWF0aW9uQ29udGV4dCBldmFsdWF0aW9uQ29u
dGV4dCB7CisgICAgICAgICpyZW5kZXJlciwKKyAgICAgICAgQ1NTVG9MZW5ndGhDb252ZXJzaW9u
RGF0YSB7ICZyZW5kZXJlci0+c3R5bGUoKSwgJnZpZXcuc3R5bGUoKSwgbnVsbHB0ciwgJnZpZXcs
IDEgfQorICAgIH07CisKKyAgICByZXR1cm4gZXZhbHVhdGVRdWVyeShmaWx0ZXJlZENvbnRhaW5l
clF1ZXJ5LnF1ZXJ5LCBldmFsdWF0aW9uQ29udGV4dCkgPT0gRXZhbHVhdGlvblJlc3VsdDo6VHJ1
ZTsKK30KKworYXV0byBDb250YWluZXJRdWVyeUV2YWx1YXRvcjo6ZXZhbHVhdGVRdWVyeShjb25z
dCBDUTo6Q29udGFpbmVyUXVlcnkmIGNvbnRhaW5lclF1ZXJ5LCBjb25zdCBFdmFsdWF0aW9uQ29u
dGV4dCYgY29udGV4dCkgY29uc3QgLT4gRXZhbHVhdGlvblJlc3VsdAoreworICAgIHJldHVybiBX
VEY6OnN3aXRjaE9uKGNvbnRhaW5lclF1ZXJ5LCBbJl0oY29uc3QgQ1E6OkNvbnRhaW5lckNvbmRp
dGlvbiYgY29udGFpbmVyQ29uZGl0aW9uKSB7CisgICAgICAgIHJldHVybiBldmFsdWF0ZUNvbmRp
dGlvbihjb250YWluZXJDb25kaXRpb24sIGNvbnRleHQpOworICAgIH0sIFsmXShjb25zdCBDUTo6
U2l6ZVF1ZXJ5JiBzaXplUXVlcnkpIHsKKyAgICAgICAgcmV0dXJuIGV2YWx1YXRlUXVlcnkoc2l6
ZVF1ZXJ5LCBjb250ZXh0KTsKKyAgICB9LCBbJl0oY29uc3QgQ1E6OlVua25vd25RdWVyeSYpIHsK
KyAgICAgICAgcmV0dXJuIEV2YWx1YXRpb25SZXN1bHQ6OlVua25vd247CisgICAgfSk7Cit9CisK
K2F1dG8gQ29udGFpbmVyUXVlcnlFdmFsdWF0b3I6OmV2YWx1YXRlUXVlcnkoY29uc3QgQ1E6OlNp
emVRdWVyeSYgc2l6ZVF1ZXJ5LCBjb25zdCBFdmFsdWF0aW9uQ29udGV4dCYgY29udGV4dCkgY29u
c3QgLT4gRXZhbHVhdGlvblJlc3VsdAoreworICAgIHJldHVybiBXVEY6OnN3aXRjaE9uKHNpemVR
dWVyeSwgWyZdKGNvbnN0IENROjpTaXplQ29uZGl0aW9uJiBzaXplQ29uZGl0aW9uKSB7CisgICAg
ICAgIHJldHVybiBldmFsdWF0ZUNvbmRpdGlvbihzaXplQ29uZGl0aW9uLCBjb250ZXh0KTsKKyAg
ICB9LCBbJl0oY29uc3QgQ1E6OlNpemVGZWF0dXJlJiBzaXplRmVhdHVyZSkgeworICAgICAgICBy
ZXR1cm4gZXZhbHVhdGVTaXplRmVhdHVyZShzaXplRmVhdHVyZSwgY29udGV4dCk7CisgICAgfSk7
Cit9CisKK3RlbXBsYXRlPHR5cGVuYW1lIENvbmRpdGlvblR5cGU+CithdXRvIENvbnRhaW5lclF1
ZXJ5RXZhbHVhdG9yOjpldmFsdWF0ZUNvbmRpdGlvbihjb25zdCBDb25kaXRpb25UeXBlJiBjb25k
aXRpb24sIGNvbnN0IEV2YWx1YXRpb25Db250ZXh0JiBjb250ZXh0KSBjb25zdCAtPiBFdmFsdWF0
aW9uUmVzdWx0Cit7CisgICAgaWYgKGNvbmRpdGlvbi5xdWVyaWVzLmlzRW1wdHkoKSkKKyAgICAg
ICAgcmV0dXJuIEV2YWx1YXRpb25SZXN1bHQ6OlVua25vd247CisKKyAgICBzd2l0Y2ggKGNvbmRp
dGlvbi5sb2dpY2FsT3BlcmF0b3IpIHsKKyAgICBjYXNlIENROjpMb2dpY2FsT3BlcmF0b3I6Ok5v
dDogeworICAgICAgICBzd2l0Y2ggKGV2YWx1YXRlUXVlcnkoY29uZGl0aW9uLnF1ZXJpZXMuZmly
c3QoKSwgY29udGV4dCkpIHsKKyAgICAgICAgY2FzZSBFdmFsdWF0aW9uUmVzdWx0OjpUcnVlOgor
ICAgICAgICAgICAgcmV0dXJuIEV2YWx1YXRpb25SZXN1bHQ6OkZhbHNlOworICAgICAgICBjYXNl
IEV2YWx1YXRpb25SZXN1bHQ6OkZhbHNlOgorICAgICAgICAgICAgcmV0dXJuIEV2YWx1YXRpb25S
ZXN1bHQ6OlRydWU7CisgICAgICAgIGNhc2UgRXZhbHVhdGlvblJlc3VsdDo6VW5rbm93bjoKKyAg
ICAgICAgICAgIHJldHVybiBFdmFsdWF0aW9uUmVzdWx0OjpVbmtub3duOworICAgICAgICB9Cisg
ICAgfQorICAgIGNhc2UgQ1E6OkxvZ2ljYWxPcGVyYXRvcjo6QW5kOiB7CisgICAgICAgIGF1dG8g
cmVzdWx0ID0gRXZhbHVhdGlvblJlc3VsdDo6VHJ1ZTsKKyAgICAgICAgZm9yIChhdXRvIHF1ZXJ5
IDogY29uZGl0aW9uLnF1ZXJpZXMpIHsKKyAgICAgICAgICAgIGF1dG8gcXVlcnlSZXN1bHQgPSBl
dmFsdWF0ZVF1ZXJ5KHF1ZXJ5LCBjb250ZXh0KTsKKyAgICAgICAgICAgIGlmIChxdWVyeVJlc3Vs
dCA9PSBFdmFsdWF0aW9uUmVzdWx0OjpGYWxzZSkKKyAgICAgICAgICAgICAgICByZXR1cm4gRXZh
bHVhdGlvblJlc3VsdDo6RmFsc2U7CisgICAgICAgICAgICBpZiAocXVlcnlSZXN1bHQgPT0gRXZh
bHVhdGlvblJlc3VsdDo6VW5rbm93bikKKyAgICAgICAgICAgICAgICByZXN1bHQgPSBFdmFsdWF0
aW9uUmVzdWx0OjpVbmtub3duOworICAgICAgICB9CisgICAgICAgIHJldHVybiByZXN1bHQ7Cisg
ICAgfQorICAgIGNhc2UgQ1E6OkxvZ2ljYWxPcGVyYXRvcjo6T3I6IHsKKyAgICAgICAgYXV0byBy
ZXN1bHQgPSBFdmFsdWF0aW9uUmVzdWx0OjpGYWxzZTsKKyAgICAgICAgZm9yIChhdXRvIHF1ZXJ5
IDogY29uZGl0aW9uLnF1ZXJpZXMpIHsKKyAgICAgICAgICAgIGF1dG8gcXVlcnlSZXN1bHQgPSBl
dmFsdWF0ZVF1ZXJ5KHF1ZXJ5LCBjb250ZXh0KTsKKyAgICAgICAgICAgIGlmIChxdWVyeVJlc3Vs
dCA9PSBFdmFsdWF0aW9uUmVzdWx0OjpUcnVlKQorICAgICAgICAgICAgICAgIHJldHVybiBFdmFs
dWF0aW9uUmVzdWx0OjpUcnVlOworICAgICAgICAgICAgaWYgKHF1ZXJ5UmVzdWx0ID09IEV2YWx1
YXRpb25SZXN1bHQ6OlVua25vd24pCisgICAgICAgICAgICAgICAgcmVzdWx0ID0gRXZhbHVhdGlv
blJlc3VsdDo6VW5rbm93bjsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gcmVzdWx0OworICAg
IH0KKyAgICB9Cit9CisKK2F1dG8gQ29udGFpbmVyUXVlcnlFdmFsdWF0b3I6OmV2YWx1YXRlU2l6
ZUZlYXR1cmUoY29uc3QgQ1E6OlNpemVGZWF0dXJlJiBzaXplRmVhdHVyZSwgY29uc3QgRXZhbHVh
dGlvbkNvbnRleHQmIGNvbnRleHQpIGNvbnN0IC0+IEV2YWx1YXRpb25SZXN1bHQKK3sKKyAgICBh
dXRvIGV2YWx1YXRlU2l6ZSA9IFsmXShMYXlvdXRVbml0IHNpemUpIHsKICAgICAgICAgc3RkOjpv
cHRpb25hbDxMYXlvdXRVbml0PiBleHByZXNzaW9uU2l6ZTsKIAotICAgICAgICBpZiAoY29tcGFy
YXRvciAhPSBDb21wYXJhdG9yOjpUcnVlKSB7Ci0gICAgICAgICAgICBleHByZXNzaW9uU2l6ZSA9
IGNvbXB1dGVTaXplKGV4cHJlc3Npb24udmFsdWUoKSwgY29udmVyc2lvbkRhdGEpOworICAgICAg
ICBpZiAoc2l6ZUZlYXR1cmUuY29tcGFyaXNvbk9wZXJhdG9yICE9IENROjpDb21wYXJpc29uT3Bl
cmF0b3I6OlRydWUpIHsKKyAgICAgICAgICAgIGlmICghc2l6ZUZlYXR1cmUudmFsdWUpCisgICAg
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgZXhwcmVzc2lvblNpemUgPSBj
b21wdXRlU2l6ZSgqc2l6ZUZlYXR1cmUudmFsdWUsIGNvbnRleHQuY29udmVyc2lvbkRhdGEpOwog
ICAgICAgICAgICAgaWYgKCFleHByZXNzaW9uU2l6ZSkKICAgICAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgICAgIH0KIAotICAgICAgICBhdXRvIHNpemUgPSBzaXplR2V0dGVyKCpyZW5k
ZXJlcik7Ci0KLSAgICAgICAgc3dpdGNoIChjb21wYXJhdG9yKSB7Ci0gICAgICAgIGNhc2UgQ29t
cGFyYXRvcjo6TGVzc2VyOgorICAgICAgICBzd2l0Y2ggKHNpemVGZWF0dXJlLmNvbXBhcmlzb25P
cGVyYXRvcikgeworICAgICAgICBjYXNlIENROjpDb21wYXJpc29uT3BlcmF0b3I6Okxlc3M6CiAg
ICAgICAgICAgICByZXR1cm4gc2l6ZSA8ICpleHByZXNzaW9uU2l6ZTsKLSAgICAgICAgY2FzZSBD
b21wYXJhdG9yOjpHcmVhdGVyOgorICAgICAgICBjYXNlIENROjpDb21wYXJpc29uT3BlcmF0b3I6
OkdyZWF0ZXI6CiAgICAgICAgICAgICByZXR1cm4gc2l6ZSA+ICpleHByZXNzaW9uU2l6ZTsKLSAg
ICAgICAgY2FzZSBDb21wYXJhdG9yOjpMZXNzZXJPckVxdWFsOgorICAgICAgICBjYXNlIENROjpD
b21wYXJpc29uT3BlcmF0b3I6Okxlc3NPckVxdWFsOgogICAgICAgICAgICAgcmV0dXJuIHNpemUg
PD0gKmV4cHJlc3Npb25TaXplOwotICAgICAgICBjYXNlIENvbXBhcmF0b3I6OkdyZWF0ZXJPckVx
dWFsOgorICAgICAgICBjYXNlIENROjpDb21wYXJpc29uT3BlcmF0b3I6OkdyZWF0ZXJPckVxdWFs
OgogICAgICAgICAgICAgcmV0dXJuIHNpemUgPj0gKmV4cHJlc3Npb25TaXplOwotICAgICAgICBj
YXNlIENvbXBhcmF0b3I6OkVxdWFsOgorICAgICAgICBjYXNlIENROjpDb21wYXJpc29uT3BlcmF0
b3I6OkVxdWFsOgogICAgICAgICAgICAgcmV0dXJuIHNpemUgPT0gKmV4cHJlc3Npb25TaXplOwot
ICAgICAgICBjYXNlIENvbXBhcmF0b3I6OlRydWU6CisgICAgICAgIGNhc2UgQ1E6OkNvbXBhcmlz
b25PcGVyYXRvcjo6VHJ1ZToKICAgICAgICAgICAgIHJldHVybiAhIXNpemU7CiAgICAgICAgIH0K
ICAgICB9OwogCi0gICAgYXV0byBldmFsdWF0ZVdpZHRoID0gWyZdKGNvbnN0IE1lZGlhUXVlcnlF
eHByZXNzaW9uJiBleHByZXNzaW9uLCBDb21wYXJhdG9yIGNvbXBhcmF0b3IpCi0gICAgewotICAg
ICAgICByZXR1cm4gZXZhbHVhdGVTaXplKGV4cHJlc3Npb24sIGNvbXBhcmF0b3IsIFsmXShjb25z
dCBSZW5kZXJCb3gmIHJlbmRlcmVyKSB7Ci0gICAgICAgICAgICByZXR1cm4gcmVuZGVyZXIud2lk
dGgoKTsKLSAgICAgICAgfSk7Ci0gICAgfTsKLQotICAgIGF1dG8gZXZhbHVhdGVIZWlnaHQgPSBb
Jl0oY29uc3QgTWVkaWFRdWVyeUV4cHJlc3Npb24mIGV4cHJlc3Npb24sIENvbXBhcmF0b3IgY29t
cGFyYXRvcikKLSAgICB7Ci0gICAgICAgIHJldHVybiBldmFsdWF0ZVNpemUoZXhwcmVzc2lvbiwg
Y29tcGFyYXRvciwgWyZdKGNvbnN0IFJlbmRlckJveCYgcmVuZGVyZXIpIHsKLSAgICAgICAgICAg
IHJldHVybiByZW5kZXJlci5oZWlnaHQoKTsKLSAgICAgICAgfSk7Ci0gICAgfTsKLQotICAgIGJv
b2wgcmVzdWx0ID0gZmFsc2U7Ci0KLSAgICAvLyBGSVhNRTogVGhpcyBpcyB2ZXJ5IHJ1ZGltZW50
YXJ5LgotICAgIGF1dG8mIHF1ZXJpZXMgPSBmaWx0ZXJlZENvbnRhaW5lclF1ZXJ5LnF1ZXJ5LT5x
dWVyeVZlY3RvcigpOwotICAgIGZvciAoYXV0byYgcXVlcnkgOiBxdWVyaWVzKSB7Ci0gICAgICAg
IGZvciAoYXV0byYgZXhwcmVzc2lvbiA6IHF1ZXJ5LmV4cHJlc3Npb25zKCkpIHsKLSAgICAgICAg
ICAgIGlmIChleHByZXNzaW9uLm1lZGlhRmVhdHVyZSgpID09IE1lZGlhRmVhdHVyZU5hbWVzOjpt
aW5XaWR0aCkgewotICAgICAgICAgICAgICAgIGlmIChldmFsdWF0ZVdpZHRoKGV4cHJlc3Npb24s
IENvbXBhcmF0b3I6OkdyZWF0ZXJPckVxdWFsKSkKLSAgICAgICAgICAgICAgICAgICAgcmVzdWx0
ID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgIGlmIChleHByZXNzaW9uLm1lZGlhRmVhdHVyZSgpID09IE1lZGlhRmVhdHVyZU5hbWVz
OjptYXhXaWR0aCkgewotICAgICAgICAgICAgICAgIGlmIChldmFsdWF0ZVdpZHRoKGV4cHJlc3Np
b24sIENvbXBhcmF0b3I6Okxlc3Nlck9yRXF1YWwpKQotICAgICAgICAgICAgICAgICAgICByZXN1
bHQgPSB0cnVlOwotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgfQotICAg
ICAgICAgICAgaWYgKGV4cHJlc3Npb24ubWVkaWFGZWF0dXJlKCkgPT0gTWVkaWFGZWF0dXJlTmFt
ZXM6OndpZHRoKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGV2YWx1YXRlV2lkdGgoZXhwcmVzc2lv
biwgZXhwcmVzc2lvbi52YWx1ZSgpID8gQ29tcGFyYXRvcjo6RXF1YWwgOiBDb21wYXJhdG9yOjpU
cnVlKSkKLSAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gdHJ1ZTsKLSAgICAgICAgICAgICAg
ICBjb250aW51ZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChleHByZXNzaW9uLm1l
ZGlhRmVhdHVyZSgpID09IE1lZGlhRmVhdHVyZU5hbWVzOjptaW5IZWlnaHQpIHsKLSAgICAgICAg
ICAgICAgICBpZiAoZXZhbHVhdGVIZWlnaHQoZXhwcmVzc2lvbiwgQ29tcGFyYXRvcjo6R3JlYXRl
ck9yRXF1YWwpKQotICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSB0cnVlOwotICAgICAgICAg
ICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKGV4cHJlc3Np
b24ubWVkaWFGZWF0dXJlKCkgPT0gTWVkaWFGZWF0dXJlTmFtZXM6Om1heEhlaWdodCkgewotICAg
ICAgICAgICAgICAgIGlmIChldmFsdWF0ZUhlaWdodChleHByZXNzaW9uLCBDb21wYXJhdG9yOjpM
ZXNzZXJPckVxdWFsKSkKLSAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gdHJ1ZTsKLSAgICAg
ICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChleHBy
ZXNzaW9uLm1lZGlhRmVhdHVyZSgpID09IE1lZGlhRmVhdHVyZU5hbWVzOjpoZWlnaHQpIHsKLSAg
ICAgICAgICAgICAgICBpZiAoZXZhbHVhdGVIZWlnaHQoZXhwcmVzc2lvbiwgZXhwcmVzc2lvbi52
YWx1ZSgpID8gQ29tcGFyYXRvcjo6RXF1YWwgOiBDb21wYXJhdG9yOjpUcnVlKSkKLSAgICAgICAg
ICAgICAgICAgICAgcmVzdWx0ID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KKyAgICAvLyBGSVhNRTogU3VwcG9ydCBhbGwg
ZmVhdHVyZXMuCisgICAgaWYgKHNpemVGZWF0dXJlLm5hbWUgPT0gTWVkaWFGZWF0dXJlTmFtZXM6
OndpZHRoKQorICAgICAgICByZXR1cm4gZXZhbHVhdGVTaXplKGNvbnRleHQucmVuZGVyZXIud2lk
dGgoKSkgPyBFdmFsdWF0aW9uUmVzdWx0OjpUcnVlIDogRXZhbHVhdGlvblJlc3VsdDo6RmFsc2U7
CisgICAgaWYgKHNpemVGZWF0dXJlLm5hbWUgPT0gTWVkaWFGZWF0dXJlTmFtZXM6OmhlaWdodCkK
KyAgICAgICAgcmV0dXJuIGV2YWx1YXRlU2l6ZShjb250ZXh0LnJlbmRlcmVyLmhlaWdodCgpKSA/
IEV2YWx1YXRpb25SZXN1bHQ6OlRydWUgOiBFdmFsdWF0aW9uUmVzdWx0OjpGYWxzZTsKIAotICAg
IHJldHVybiByZXN1bHQ7CisgICAgcmV0dXJuIEV2YWx1YXRpb25SZXN1bHQ6OlVua25vd247CiB9
CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0NvbnRhaW5lclF1ZXJ5RXZh
bHVhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Db250YWluZXJRdWVyeUV2YWx1YXRvci5o
CmluZGV4IDhmNmU3MzAwN2Y3NWZhYjViODU0ZTExY2UyMjk3YzA2OWZiNTg5NzQuLjk5YmUyMjJk
MTVkOWY5ZDFhYjA3YTM4Njc0MWQyM2IyOWY0OTljZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3N0eWxlL0NvbnRhaW5lclF1ZXJ5RXZhbHVhdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
c3R5bGUvQ29udGFpbmVyUXVlcnlFdmFsdWF0b3IuaApAQCAtMjQsMTEgKzI0LDExIEBACiAKICNw
cmFnbWEgb25jZQogCisjaW5jbHVkZSAiQ29udGFpbmVyUXVlcnkuaCIKICNpbmNsdWRlIDx3dGYv
UmVmLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RydWN0IEZpbHRlcmVkQ29udGFpbmVy
UXVlcnk7CiBjbGFzcyBFbGVtZW50OwogCiBuYW1lc3BhY2UgU3R5bGUgewpAQCAtNDAsNiArNDAs
MTQgQEAgcHVibGljOgogICAgIGJvb2wgZXZhbHVhdGUoY29uc3QgRmlsdGVyZWRDb250YWluZXJR
dWVyeSYpIGNvbnN0OwogCiBwcml2YXRlOgorICAgIHN0cnVjdCBFdmFsdWF0aW9uQ29udGV4dDsK
KyAgICBlbnVtIGNsYXNzIEV2YWx1YXRpb25SZXN1bHQgOiB1aW50OF90IHsgRmFsc2UsIFRydWUs
IFVua25vd24gfTsKKworICAgIEV2YWx1YXRpb25SZXN1bHQgZXZhbHVhdGVRdWVyeShjb25zdCBD
UTo6Q29udGFpbmVyUXVlcnkmLCBjb25zdCBFdmFsdWF0aW9uQ29udGV4dCYpIGNvbnN0OworICAg
IEV2YWx1YXRpb25SZXN1bHQgZXZhbHVhdGVRdWVyeShjb25zdCBDUTo6U2l6ZVF1ZXJ5JiwgY29u
c3QgRXZhbHVhdGlvbkNvbnRleHQmKSBjb25zdDsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDb25k
aXRpb25UeXBlPiBFdmFsdWF0aW9uUmVzdWx0IGV2YWx1YXRlQ29uZGl0aW9uKGNvbnN0IENvbmRp
dGlvblR5cGUmLCBjb25zdCBFdmFsdWF0aW9uQ29udGV4dCYpIGNvbnN0OworICAgIEV2YWx1YXRp
b25SZXN1bHQgZXZhbHVhdGVTaXplRmVhdHVyZShjb25zdCBDUTo6U2l6ZUZlYXR1cmUmLCBjb25z
dCBFdmFsdWF0aW9uQ29udGV4dCYpIGNvbnN0OworCiAgICAgY29uc3QgVmVjdG9yPFJlZjxjb25z
dCBFbGVtZW50Pj4mIG1fY29udGFpbmVyczsKIH07CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzYmUwNzI0NWQxZWZlZmEw
NGNkMWNkZTQ5OThjMDY0ZWJjZDVhYzA4Li45OTE2NTZlODhiZjBlMzE4NzQ4YjE2NGE5ZjQ4MzY3
ZDM5ZmYyMWVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjItMDItMTQgIEFudHRpIEtvaXZp
c3RvICA8YW50dGlAYXBwbGUuY29tPgorCisgICAgICAgIFtDU1MgQ29udGFpbmVyIFF1ZXJpZXNd
IEltcGxlbWVudCBmdWxsIHF1ZXJ5IHBhcnNlciBhbmQgZXZhbHVhdG9yCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzY1ODAKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisK
IDIwMjItMDItMTIgIFRpbSBOZ3V5ZW4gIDxudGltQGFwcGxlLmNvbT4KIAogICAgICAgICBTa2lw
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdXJsL3RvYXNjaWkud2luZG93Lmh0bWwg
b24gQ2F0YWxpbmEvQmlnIFN1cgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggYjg0
MGUzNzJjMDRkYTJkMDMwZWI2MTcyZDczYjhkMjIyZTE1MjZjOS4uZTFhODU0NmRlMGYxZjk3NzBj
OTg1OWQwZjY2YjBlYjdmNmZjMzBkYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMjItMDItMTQgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUu
Y29tPgorCisgICAgICAgIFtDU1MgQ29udGFpbmVyIFF1ZXJpZXNdIEltcGxlbWVudCBmdWxsIHF1
ZXJ5IHBhcnNlciBhbmQgZXZhbHVhdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzY1ODAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbmVyLXF1ZXJpZXMvYXQtY29udGFpbmVyLXBhcnNpbmctZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1ZXJpZXMv
Y29udGFpbmVyLWZvci1zaGFkb3ctZG9tLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluZXItcXVlcmllcy9j
b250YWluZXItdHlwZS1pbnZhbGlkYXRpb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1ZXJpZXMvcXVlcnktZXZh
bHVhdGlvbi1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluZXItcXVlcmllcy9zaXplLWZlYXR1cmUtZXZhbHVhdGlvbi1leHBl
Y3RlZC50eHQ6CisKIDIwMjItMDItMTIgIFRpbSBOZ3V5ZW4gIDxudGltQGFwcGxlLmNvbT4KIAog
ICAgICAgICBVbnJldmlld2VkIHRlc3QgZ2FyZGVuaW5nOiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3VybC90b2FzY2lpLndpbmRvdy5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA1
MzlmMWNlYmE2YmViOTBlYmE4MTBkZjIzNDkzNDg2NGJlYWEwZDU1Li42N2U4ZDBjMTM2MDk5NmRk
Y2NmYTU4YmFmMjQyODIxNjBiMDYyM2Q1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhw
ZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQ3MTAsNiAr
NDcxMCw3IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4taHRtbC1vdmVyZmxvdy0wMDQuaHRtbCBbCiB3ZWJraXQub3JnL2IvMjI5NjU5IGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW5lci1x
dWVyaWVzL2Rpc3BsYXktaW4tY29udGFpbmVyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdl
YmtpdC5vcmcvYi8yMjk2NTkgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbmVyLXF1ZXJpZXMvcHNldWRvLWVsZW1lbnRzLTAwMi50ZW50YXRpdmUu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIyOTY1OSBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluZXItcXVlcmllcy9t
dWx0aWNvbC1pbnNpZGUtY29udGFpbmVyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KK3dlYmtp
dC5vcmcvYi8yMjk2NTkgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbmVyLXF1ZXJpZXMvaW5saW5lLXNpemUtYmZjLWZsb2F0cy5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCiAKICMgRmxha3kgY3NzLWNvbnRhaW4gdGVzdAogaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2Fu
aW1hdGlvbi1kaXNwbGF5LWxvY2suaHRtbCBbIEZhaWx1cmUgUGFzcyBdCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluZXItcXVlcmllcy9hdC1jb250YWluZXItcGFyc2luZy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluZXItcXVlcmllcy9hdC1jb250YWluZXItcGFyc2luZy1leHBlY3RlZC50eHQKaW5k
ZXggNTAyYjlmNzY2NzNmNGU5NjJhNDYzMTljMzYxMjg1NTBmMzAzMDEyMy4uMzA3OTc5OTdmNWVi
MDA4MGFkNWY4OWY2ZTZiYjVlOWM2ZWI5YWJlYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1
ZXJpZXMvYXQtY29udGFpbmVyLXBhcnNpbmctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW5l
ci1xdWVyaWVzL2F0LWNvbnRhaW5lci1wYXJzaW5nLWV4cGVjdGVkLnR4dApAQCAtMSwzNiArMSwz
NiBAQAogCi1GQUlMIHNpemUod2lkdGgpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBi
dXQgZ290ICIiCi1GQUlMIHNpemUobWluLXdpZHRoOiAwcHgpIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkICJ0cnVlIiBidXQgZ290ICIiCi1GQUlMIHNpemUobWF4LXdpZHRoOiAwcHgpIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICIiCi1GQUlMIHNpemUoaGVpZ2h0KSBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiIgotRkFJTCBzaXplKG1pbi1oZWln
aHQ6IDBweCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgIiIKLUZBSUwg
c2l6ZShtYXgtaGVpZ2h0OiAwcHgpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQg
Z290ICIiCitQQVNTIHNpemUod2lkdGgpCitQQVNTIHNpemUobWluLXdpZHRoOiAwcHgpCitQQVNT
IHNpemUobWF4LXdpZHRoOiAwcHgpCitQQVNTIHNpemUoaGVpZ2h0KQorUEFTUyBzaXplKG1pbi1o
ZWlnaHQ6IDBweCkKK1BBU1Mgc2l6ZShtYXgtaGVpZ2h0OiAwcHgpCiBGQUlMIHNpemUoYXNwZWN0
LXJhdGlvKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiIgotRkFJTCBz
aXplKG1pbi1hc3BlY3QtcmF0aW86IDEvMikgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUi
IGJ1dCBnb3QgIiIKLUZBSUwgc2l6ZShtYXgtYXNwZWN0LXJhdGlvOiAxLzIpIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICIiCi1GQUlMIHNpemUob3JpZW50YXRpb246IHBv
cnRyYWl0KSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiIgorRkFJTCBz
aXplKG1pbi1hc3BlY3QtcmF0aW86IDEvMikgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMiBidXQg
Z290IDAKK0ZBSUwgc2l6ZShtYXgtYXNwZWN0LXJhdGlvOiAxLzIpIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkIDIgYnV0IGdvdCAwCitGQUlMIHNpemUob3JpZW50YXRpb246IHBvcnRyYWl0KSBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCAyIGJ1dCBnb3QgMAogRkFJTCBzaXplKGlubGluZS1zaXplKSBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiIgogRkFJTCBzaXplKG1pbi1p
bmxpbmUtc2l6ZTogMHB4KSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAi
IgogRkFJTCBzaXplKG1heC1pbmxpbmUtc2l6ZTogMHB4KSBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAidHJ1ZSIgYnV0IGdvdCAiIgogRkFJTCBzaXplKGJsb2NrLXNpemUpIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICIiCiBGQUlMIHNpemUobWluLWJsb2NrLXNpemU6IDBw
eCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgIiIKIEZBSUwgc2l6ZSht
YXgtYmxvY2stc2l6ZTogMHB4KSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdv
dCAiIgotRkFJTCBzaXplKHdpZHRoOiAxMDBweCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRy
dWUiIGJ1dCBnb3QgIiIKLUZBSUwgc2l6ZSgod2lkdGg6IDEwMHB4KSkgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgIiIKLUZBSUwgc2l6ZShub3QgKHdpZHRoOiAxMDBweCkp
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICIiCi1GQUlMIHNpemUoKHdp
ZHRoOiAxMDBweCkgYW5kIChoZWlnaHQ6IDEwMHB4KSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
InRydWUiIGJ1dCBnb3QgIiIKLUZBSUwgc2l6ZSgod2lkdGg6IDUwcHgpIG9yIChoZWlnaHQ6IDEw
MHB4KSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgIiIKLUZBSUwgc2l6
ZSh3aWR0aCA8IDEwMHB4KSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAi
IgotRkFJTCBzaXplKDEwMHB4IDwgd2lkdGgpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVl
IiBidXQgZ290ICIiCi1GQUlMIHNpemUoMTAwcHggPCB3aWR0aCA8IDIwMHB4KSBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiIgorUEFTUyBzaXplKHdpZHRoOiAxMDBweCkK
K1BBU1Mgc2l6ZSgod2lkdGg6IDEwMHB4KSkKK1BBU1Mgc2l6ZShub3QgKHdpZHRoOiAxMDBweCkp
CitQQVNTIHNpemUoKHdpZHRoOiAxMDBweCkgYW5kIChoZWlnaHQ6IDEwMHB4KSkKK1BBU1Mgc2l6
ZSgod2lkdGg6IDUwcHgpIG9yIChoZWlnaHQ6IDEwMHB4KSkKK1BBU1Mgc2l6ZSh3aWR0aCA8IDEw
MHB4KQorRkFJTCBzaXplKDEwMHB4IDwgd2lkdGgpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDIg
YnV0IGdvdCAwCitGQUlMIHNpemUoMTAwcHggPCB3aWR0aCA8IDIwMHB4KSBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAyIGJ1dCBnb3QgMAogUEFTUyBmb28od2lkdGgpCiBQQVNTIHNpemUoYXNkZikK
LVBBU1Mgc2l6ZShyZXNvbHV0aW9uID4gMTAwZHBpKQotUEFTUyBzaXplKHJlc29sdXRpb246IDE1
MGRwaSkKK0ZBSUwgc2l6ZShyZXNvbHV0aW9uID4gMTAwZHBpKSBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAyIGJ1dCBnb3QgMAorRkFJTCBzaXplKHJlc29sdXRpb246IDE1MGRwaSkgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgMiBidXQgZ290IDAKIFBBU1Mgc2l6ZShjb2xvcikKLVBBU1Mgc2l6ZSht
aW4tY29sb3I6IDEpCi1QQVNTIHNpemUoY29sb3ItaW5kZXggPj0gMSkKLVBBU1MgKGNvbG9yLWlu
ZGV4ID49IDEpCitGQUlMIHNpemUobWluLWNvbG9yOiAxKSBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAyIGJ1dCBnb3QgMAorRkFJTCBzaXplKGNvbG9yLWluZGV4ID49IDEpIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkIDIgYnV0IGdvdCAwCitGQUlMIChjb2xvci1pbmRleCA+PSAxKSBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAyIGJ1dCBnb3QgMAogUEFTUyBzaXplKGdyaWQpCiBQQVNTIChncmlkKQog
UEFTUyBzY3JlZW4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW5lci1xdWVyaWVzL2NvbnRhaW5lci1m
b3Itc2hhZG93LWRvbS50ZW50YXRpdmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1ZXJp
ZXMvY29udGFpbmVyLWZvci1zaGFkb3ctZG9tLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKaW5kZXgg
ZDgxZWYyNDM1NjRiYzI1MWMwNGFhYmY5NGUyYWNmMGY0NTVhODBhNy4uZTM3NmEyYzA5MjBlZjEz
YzUzYmNkM2E4MWJjMDkwZDUwNDkyYTViNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1ZXJp
ZXMvY29udGFpbmVyLWZvci1zaGFkb3ctZG9tLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbmVyLXF1ZXJpZXMvY29udGFpbmVyLWZvci1zaGFkb3ctZG9tLnRlbnRhdGl2ZS1l
eHBlY3RlZC50eHQKQEAgLTEsNiArMSw2IEBACiAKIEZBSUwgTWF0Y2ggY29udGFpbmVyIGluIG91
dGVyIHRyZWUgbnVsbCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdkb2N1bWVudC5xdWVy
eVNlbGVjdG9yKCIjaW5jbHVzaXZlLWFuY2VzdG9yLWFjcm9zcy1yb290ID4gZGl2Iikuc2hhZG93
Um9vdC5xdWVyeVNlbGVjdG9yJykKLUZBSUwgTWF0Y2ggY29udGFpbmVyIGluIHNhbWUgdHJlZSwg
bm90IHdhbGtpbmcgZmxhdCB0cmVlIGFuY2VzdG9ycyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAi
cmdiKDAsIDEyOCwgMCkiIGJ1dCBnb3QgInJnYigwLCAwLCAwKSIKK1BBU1MgTWF0Y2ggY29udGFp
bmVyIGluIHNhbWUgdHJlZSwgbm90IHdhbGtpbmcgZmxhdCB0cmVlIGFuY2VzdG9ycwogRkFJTCBN
YXRjaCBjb250YWluZXIgaW4gOjpzbG90dGVkIHNlbGVjdG9yJ3Mgb3JpZ2luYXRpbmcgZWxlbWVu
dCB0cmVlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMCwgMTI4LCAwKSIgYnV0IGdvdCAi
cmdiKDAsIDAsIDApIgogRkFJTCBNYXRjaCBjb250YWluZXIgaW4gb3V0ZXIgdHJlZSBmb3IgOmhv
c3QgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJnYigwLCAxMjgsIDApIiBidXQgZ290ICJyZ2Io
MCwgMCwgMCkiCiBGQUlMIE1hdGNoIGNvbnRhaW5lciBpbiA6OnBhcnQgc2VsZWN0b3IncyBvcmln
aW5hdGluZyBlbGVtZW50IHRyZWUgbnVsbCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdk
b2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjaW5jbHVzaXZlLWFuY2VzdG9yLXBhcnQgPiBkaXYiKS5z
aGFkb3dSb290LnF1ZXJ5U2VsZWN0b3InKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1ZXJp
ZXMvY29udGFpbmVyLXR5cGUtaW52YWxpZGF0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW5l
ci1xdWVyaWVzL2NvbnRhaW5lci10eXBlLWludmFsaWRhdGlvbi1leHBlY3RlZC50eHQKaW5kZXgg
YzM1MWMyMzdjNzhkY2JmNGY4ZThmNDNmZjk0MmNjMGNmOWFiYjZhOS4uN2UxZmJmMWQyMmNhMmIy
Yjk1ZjJkZGVmNjg3MjU4ZjlhZjA1ODM4OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1ZXJp
ZXMvY29udGFpbmVyLXR5cGUtaW52YWxpZGF0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluZXItcXVlcmllcy9jb250YWluZXItdHlwZS1pbnZhbGlkYXRpb24tZXhwZWN0ZWQudHh0CkBA
IC0xLDQgKzEsNCBAQAogVGVzdAogCi1GQUlMIENoYW5naW5nIHRoZSBjb250YWluZXIgdHlwZSBp
bnZhbGlkYXRlcyByZWxldmFudCBkZXNjZW5kYW50cyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAi
cmdiKDAsIDEyOCwgMCkiIGJ1dCBnb3QgInJnYigwLCAwLCAwKSIKK0ZBSUwgQ2hhbmdpbmcgdGhl
IGNvbnRhaW5lciB0eXBlIGludmFsaWRhdGVzIHJlbGV2YW50IGRlc2NlbmRhbnRzIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkICJyZ2IoMCwgMCwgMCkiIGJ1dCBnb3QgInJnYigwLCAxMjgsIDApIgog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluZXItcXVlcmllcy9xdWVyeS1ldmFsdWF0aW9uLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRhaW5lci1xdWVyaWVzL3F1ZXJ5LWV2YWx1YXRpb24tZXhwZWN0ZWQu
dHh0CmluZGV4IDliMWNiMzZhYzVlMWZkMjcwNmJhYzc4NTEyNmFmZGU5MDg2OWVmMWIuLmUwODA5
MmJjMDhhNzQ0ODFlZDUxMjBjMDdhZTI5Mzc2Njk1ZWQ2YTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRh
aW5lci1xdWVyaWVzL3F1ZXJ5LWV2YWx1YXRpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRh
aW5lci1xdWVyaWVzL3F1ZXJ5LWV2YWx1YXRpb24tZXhwZWN0ZWQudHh0CkBAIC0zLDE4ICszLDE4
IEBAIFBBU1Mgc2l6ZSh3aWR0aCkKIFBBU1Mgc2l6ZShoZWlnaHQpCiBQQVNTIHNpemUodW5rbm93
bikKIFBBU1MgdW5rbm93bih3aWR0aCkKLUZBSUwgKHNpemUod2lkdGgpKSBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiZmFsc2UiCitQQVNTIChzaXplKHdpZHRoKSkKIFBB
U1MgKHNpemUoaGVpZ2h0KSkKIFBBU1MgKHNpemUodW5rbm93bikpCi1GQUlMICgoKHNpemUod2lk
dGgpKSkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICJmYWxzZSIKK1BB
U1MgKCgoc2l6ZSh3aWR0aCkpKSkKIFBBU1MgKCgoc2l6ZShoZWlnaHQpKSkpCiBQQVNTICgoKHNp
emUodW5rbm93bikpKSkKIFBBU1MgKG5vdCBzaXplKHdpZHRoKSkKLUZBSUwgKG5vdCBzaXplKGhl
aWdodCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICJmYWxzZSIKK1BB
U1MgKG5vdCBzaXplKGhlaWdodCkpCiBQQVNTIChub3Qgc2l6ZSh1bmtub3duKSkKIFBBU1MgKG5v
dCB1bmtub3duKHdpZHRoKSkKLUZBSUwgKHNpemUod2lkdGgpIGFuZCBzaXplKHdpZHRoKSkgYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgImZhbHNlIgotRkFJTCAoc2l6ZSh3
aWR0aCkgYW5kIHNpemUod2lkdGgpIGFuZCBzaXplKHdpZHRoKSkgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgInRydWUiIGJ1dCBnb3QgImZhbHNlIgorUEFTUyAoc2l6ZSh3aWR0aCkgYW5kIHNpemUo
d2lkdGgpKQorUEFTUyAoc2l6ZSh3aWR0aCkgYW5kIHNpemUod2lkdGgpIGFuZCBzaXplKHdpZHRo
KSkKIFBBU1MgKHNpemUoaGVpZ2h0KSBhbmQgc2l6ZShoZWlnaHQpKQogUEFTUyAoc2l6ZShoZWln
aHQpIGFuZCBzaXplKHdpZHRoKSBhbmQgc2l6ZSh3aWR0aCkpCiBQQVNTIChzaXplKHdpZHRoKSBh
bmQgc2l6ZShoZWlnaHQpIGFuZCBzaXplKHdpZHRoKSkKQEAgLTIyLDMwICsyMiwzMCBAQCBQQVNT
IChzaXplKHdpZHRoKSBhbmQgc2l6ZSh3aWR0aCkgYW5kIHNpemUoaGVpZ2h0KSkKIFBBU1MgKHNp
emUodW5rbm93bikgYW5kIHNpemUod2lkdGgpIGFuZCBzaXplKHdpZHRoKSkKIFBBU1MgKHNpemUo
d2lkdGgpIGFuZCBzaXplKHVua25vd24pIGFuZCBzaXplKHdpZHRoKSkKIFBBU1MgKHNpemUod2lk
dGgpIGFuZCBzaXplKHdpZHRoKSBhbmQgc2l6ZSh1bmtub3duKSkKLUZBSUwgKHNpemUod2lkdGgp
IG9yIHNpemUod2lkdGgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAi
ZmFsc2UiCi1GQUlMIChzaXplKHdpZHRoKSBvciBzaXplKHdpZHRoKSBvciBzaXplKHdpZHRoKSkg
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgImZhbHNlIgorUEFTUyAoc2l6
ZSh3aWR0aCkgb3Igc2l6ZSh3aWR0aCkpCitQQVNTIChzaXplKHdpZHRoKSBvciBzaXplKHdpZHRo
KSBvciBzaXplKHdpZHRoKSkKIFBBU1MgKHNpemUoaGVpZ2h0KSBvciBzaXplKGhlaWdodCkpCi1G
QUlMIChzaXplKGhlaWdodCkgb3Igc2l6ZSh3aWR0aCkgb3Igc2l6ZSh3aWR0aCkpIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICJmYWxzZSIKLUZBSUwgKHNpemUod2lkdGgp
IG9yIHNpemUoaGVpZ2h0KSBvciBzaXplKHdpZHRoKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
InRydWUiIGJ1dCBnb3QgImZhbHNlIgotRkFJTCAoc2l6ZSh3aWR0aCkgb3Igc2l6ZSh3aWR0aCkg
b3Igc2l6ZShoZWlnaHQpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAi
ZmFsc2UiCi1GQUlMIChzaXplKHVua25vd24pIG9yIHNpemUod2lkdGgpIG9yIHNpemUod2lkdGgp
KSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiZmFsc2UiCi1GQUlMIChz
aXplKHdpZHRoKSBvciBzaXplKHVua25vd24pIG9yIHNpemUod2lkdGgpKSBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiZmFsc2UiCi1GQUlMIChzaXplKHdpZHRoKSBvciBz
aXplKHdpZHRoKSBvciBzaXplKHVua25vd24pKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1
ZSIgYnV0IGdvdCAiZmFsc2UiCi1GQUlMIChzaXplKHVua25vd24pIG9yIHNpemUoaGVpZ2h0KSBv
ciBzaXplKHdpZHRoKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgImZh
bHNlIgorUEFTUyAoc2l6ZShoZWlnaHQpIG9yIHNpemUod2lkdGgpIG9yIHNpemUod2lkdGgpKQor
UEFTUyAoc2l6ZSh3aWR0aCkgb3Igc2l6ZShoZWlnaHQpIG9yIHNpemUod2lkdGgpKQorUEFTUyAo
c2l6ZSh3aWR0aCkgb3Igc2l6ZSh3aWR0aCkgb3Igc2l6ZShoZWlnaHQpKQorUEFTUyAoc2l6ZSh1
bmtub3duKSBvciBzaXplKHdpZHRoKSBvciBzaXplKHdpZHRoKSkKK1BBU1MgKHNpemUod2lkdGgp
IG9yIHNpemUodW5rbm93bikgb3Igc2l6ZSh3aWR0aCkpCitQQVNTIChzaXplKHdpZHRoKSBvciBz
aXplKHdpZHRoKSBvciBzaXplKHVua25vd24pKQorUEFTUyAoc2l6ZSh1bmtub3duKSBvciBzaXpl
KGhlaWdodCkgb3Igc2l6ZSh3aWR0aCkpCiBQQVNTIChub3QgKHNpemUod2lkdGgpIGFuZCBzaXpl
KHdpZHRoKSkpCi1GQUlMIChub3QgKHNpemUod2lkdGgpIGFuZCBzaXplKGhlaWdodCkpKSBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiZmFsc2UiCitQQVNTIChub3QgKHNp
emUod2lkdGgpIGFuZCBzaXplKGhlaWdodCkpKQogUEFTUyAoc2l6ZSh3aWR0aCkgYW5kIChub3Qg
KHNpemUoaGVpZ2h0KSBvciBzaXplKHdpZHRoKSkpKQotRkFJTCAoc2l6ZShoZWlnaHQpIG9yIChu
b3QgKHNpemUoaGVpZ2h0KSBhbmQgc2l6ZSh3aWR0aCkpKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgInRydWUiIGJ1dCBnb3QgImZhbHNlIgorUEFTUyAoc2l6ZShoZWlnaHQpIG9yIChub3QgKHNp
emUoaGVpZ2h0KSBhbmQgc2l6ZSh3aWR0aCkpKSkKIFBBU1MgKHNpemUoaGVpZ2h0KSBvciAoc2l6
ZShoZWlnaHQpIGFuZCBzaXplKHdpZHRoKSkpCi1GQUlMIHNpemUoKHdpZHRoKSkgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgImZhbHNlIgorUEFTUyBzaXplKCh3aWR0aCkp
CiBQQVNTIHNpemUoKGhlaWdodCkpCiBQQVNTIHNpemUoKHVua25vd24pKQogUEFTUyB1bmtub3du
KCh3aWR0aCkpCiBQQVNTIHNpemUobm90ICh3aWR0aCkpCi1GQUlMIHNpemUobm90IChoZWlnaHQp
KSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiZmFsc2UiCitQQVNTIHNp
emUobm90IChoZWlnaHQpKQogUEFTUyBzaXplKG5vdCAodW5rbm93bikpCi1GQUlMIHNpemUoKHdp
ZHRoKSBhbmQgKHdpZHRoKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3Qg
ImZhbHNlIgotRkFJTCBzaXplKCh3aWR0aCkgYW5kICh3aWR0aCkgYW5kICh3aWR0aCkpIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICJmYWxzZSIKK1BBU1Mgc2l6ZSgod2lk
dGgpIGFuZCAod2lkdGgpKQorUEFTUyBzaXplKCh3aWR0aCkgYW5kICh3aWR0aCkgYW5kICh3aWR0
aCkpCiBQQVNTIHNpemUoKGhlaWdodCkgYW5kIChoZWlnaHQpKQogUEFTUyBzaXplKChoZWlnaHQp
IGFuZCAod2lkdGgpIGFuZCAod2lkdGgpKQogUEFTUyBzaXplKCh3aWR0aCkgYW5kIChoZWlnaHQp
IGFuZCAod2lkdGgpKQpAQCAtNTMsMTkgKzUzLDE5IEBAIFBBU1Mgc2l6ZSgod2lkdGgpIGFuZCAo
d2lkdGgpIGFuZCAoaGVpZ2h0KSkKIFBBU1Mgc2l6ZSgodW5rbm93bikgYW5kICh3aWR0aCkgYW5k
ICh3aWR0aCkpCiBQQVNTIHNpemUoKHdpZHRoKSBhbmQgKHVua25vd24pIGFuZCAod2lkdGgpKQog
UEFTUyBzaXplKCh3aWR0aCkgYW5kICh3aWR0aCkgYW5kICh1bmtub3duKSkKLUZBSUwgc2l6ZSgo
d2lkdGgpIG9yICh3aWR0aCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290
ICJmYWxzZSIKLUZBSUwgc2l6ZSgod2lkdGgpIG9yICh3aWR0aCkgb3IgKHdpZHRoKSkgYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgImZhbHNlIgorUEFTUyBzaXplKCh3aWR0
aCkgb3IgKHdpZHRoKSkKK1BBU1Mgc2l6ZSgod2lkdGgpIG9yICh3aWR0aCkgb3IgKHdpZHRoKSkK
IFBBU1Mgc2l6ZSgoaGVpZ2h0KSBvciAoaGVpZ2h0KSkKLUZBSUwgc2l6ZSgoaGVpZ2h0KSBvciAo
d2lkdGgpIG9yICh3aWR0aCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290
ICJmYWxzZSIKLUZBSUwgc2l6ZSgod2lkdGgpIG9yIChoZWlnaHQpIG9yICh3aWR0aCkpIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICJmYWxzZSIKLUZBSUwgc2l6ZSgod2lk
dGgpIG9yICh3aWR0aCkgb3IgKGhlaWdodCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVl
IiBidXQgZ290ICJmYWxzZSIKLUZBSUwgc2l6ZSgodW5rbm93bikgb3IgKHdpZHRoKSBvciAod2lk
dGgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiZmFsc2UiCi1GQUlM
IHNpemUoKHdpZHRoKSBvciAodW5rbm93bikgb3IgKHdpZHRoKSkgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgInRydWUiIGJ1dCBnb3QgImZhbHNlIgotRkFJTCBzaXplKCh3aWR0aCkgb3IgKHdpZHRo
KSBvciAodW5rbm93bikpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICJm
YWxzZSIKLUZBSUwgc2l6ZSgodW5rbm93bikgb3IgKGhlaWdodCkgb3IgKHdpZHRoKSkgYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgImZhbHNlIgorUEFTUyBzaXplKChoZWln
aHQpIG9yICh3aWR0aCkgb3IgKHdpZHRoKSkKK1BBU1Mgc2l6ZSgod2lkdGgpIG9yIChoZWlnaHQp
IG9yICh3aWR0aCkpCitQQVNTIHNpemUoKHdpZHRoKSBvciAod2lkdGgpIG9yIChoZWlnaHQpKQor
UEFTUyBzaXplKCh1bmtub3duKSBvciAod2lkdGgpIG9yICh3aWR0aCkpCitQQVNTIHNpemUoKHdp
ZHRoKSBvciAodW5rbm93bikgb3IgKHdpZHRoKSkKK1BBU1Mgc2l6ZSgod2lkdGgpIG9yICh3aWR0
aCkgb3IgKHVua25vd24pKQorUEFTUyBzaXplKCh1bmtub3duKSBvciAoaGVpZ2h0KSBvciAod2lk
dGgpKQogUEFTUyBzaXplKG5vdCAoKHdpZHRoKSBhbmQgKHdpZHRoKSkpCi1GQUlMIHNpemUobm90
ICgod2lkdGgpIGFuZCAoaGVpZ2h0KSkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBi
dXQgZ290ICJmYWxzZSIKK1BBU1Mgc2l6ZShub3QgKCh3aWR0aCkgYW5kIChoZWlnaHQpKSkKIFBB
U1Mgc2l6ZSgod2lkdGgpIGFuZCAobm90ICgoaGVpZ2h0KSBvciAod2lkdGgpKSkpCi1GQUlMIHNp
emUoKGhlaWdodCkgb3IgKG5vdCAoKGhlaWdodCkgYW5kICh3aWR0aCkpKSkgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgImZhbHNlIgorUEFTUyBzaXplKChoZWlnaHQpIG9y
IChub3QgKChoZWlnaHQpIGFuZCAod2lkdGgpKSkpCiBQQVNTIHNpemUoKGhlaWdodCkgb3IgKCho
ZWlnaHQpIGFuZCAod2lkdGgpKSkKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1ZXJpZXMv
c2l6ZS1mZWF0dXJlLWV2YWx1YXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1ZXJp
ZXMvc2l6ZS1mZWF0dXJlLWV2YWx1YXRpb24tZXhwZWN0ZWQudHh0CmluZGV4IGMyZjJkNjlhYWIy
NDBhMGQxMzAwOWIwMjQ1MTM1NmYxZDkyYzQ3YzQuLjliNGI5N2M2NzQ0MjMxNjU4ZGYxMDVhYjM0
N2ZjM2E0NGM5MDBiZWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW5lci1xdWVyaWVzL3NpemUtZmVh
dHVyZS1ldmFsdWF0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluZXItcXVlcmllcy9z
aXplLWZlYXR1cmUtZXZhbHVhdGlvbi1leHBlY3RlZC50eHQKQEAgLTEsMTIgKzEsMTIgQEAKIFRl
c3QKIAotUEFTUyBzaXplKHdpZHRoIDwgMTAwcHgpICguaG9yaXpvbnRhbCkKK0ZBSUwgc2l6ZSh3
aWR0aCA8IDEwMHB4KSAoLmhvcml6b250YWwpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICIiIGJ1
dCBnb3QgInRydWUiCiBGQUlMIHNpemUod2lkdGggPj0gMTAwcHgpICguaG9yaXpvbnRhbCkgYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgIiIKIFBBU1Mgc2l6ZShtaW4td2lk
dGg6IDEwMHB4KSAoLmhvcml6b250YWwpCiBQQVNTIHNpemUobWluLXdpZHRoOiAxMDFweCkgKC5o
b3Jpem9udGFsKQogUEFTUyBzaXplKG1heC13aWR0aDogMTAwcHgpICguaG9yaXpvbnRhbCkKIFBB
U1Mgc2l6ZShtYXgtd2lkdGg6IDk5cHgpICguaG9yaXpvbnRhbCkKLVBBU1Mgc2l6ZShoZWlnaHQg
PCAyMDBweCkgKC5ob3Jpem9udGFsKQorRkFJTCBzaXplKGhlaWdodCA8IDIwMHB4KSAoLmhvcml6
b250YWwpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICIiIGJ1dCBnb3QgInRydWUiCiBGQUlMIHNp
emUoaGVpZ2h0ID49IDIwMHB4KSAoLmhvcml6b250YWwpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
ICJ0cnVlIiBidXQgZ290ICIiCiBQQVNTIHNpemUobWluLWhlaWdodDogMjAwcHgpICguaG9yaXpv
bnRhbCkKIFBBU1Mgc2l6ZShtaW4taGVpZ2h0OiAyMDFweCkgKC5ob3Jpem9udGFsKQpAQCAtMjgs
MTMgKzI4LDEzIEBAIFBBU1Mgc2l6ZShvcmllbnRhdGlvbjogbGFuZHNjYXBlKSAoLmhvcml6b250
YWwpCiBGQUlMIHNpemUob3JpZW50YXRpb246IHBvcnRyYWl0KSAoLmhvcml6b250YWwpIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICIiCiBGQUlMIHNpemUoYXNwZWN0LXJh
dGlvOiAxLzIpICguaG9yaXpvbnRhbCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1
dCBnb3QgIiIKIFBBU1Mgc2l6ZShhc3BlY3QtcmF0aW86IDIvMSkgKC5ob3Jpem9udGFsKQotUEFT
UyBzaXplKHdpZHRoIDwgMTAwcHgpICgudmVydGljYWwpCitGQUlMIHNpemUod2lkdGggPCAxMDBw
eCkgKC52ZXJ0aWNhbCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIiIgYnV0IGdvdCAidHJ1ZSIK
IEZBSUwgc2l6ZSh3aWR0aCA+PSAxMDBweCkgKC52ZXJ0aWNhbCkgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgInRydWUiIGJ1dCBnb3QgIiIKIFBBU1Mgc2l6ZShtaW4td2lkdGg6IDEwMHB4KSAoLnZl
cnRpY2FsKQogUEFTUyBzaXplKG1pbi13aWR0aDogMTAxcHgpICgudmVydGljYWwpCiBQQVNTIHNp
emUobWF4LXdpZHRoOiAxMDBweCkgKC52ZXJ0aWNhbCkKIFBBU1Mgc2l6ZShtYXgtd2lkdGg6IDk5
cHgpICgudmVydGljYWwpCi1QQVNTIHNpemUoaGVpZ2h0IDwgMjAwcHgpICgudmVydGljYWwpCitG
QUlMIHNpemUoaGVpZ2h0IDwgMjAwcHgpICgudmVydGljYWwpIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkICIiIGJ1dCBnb3QgInRydWUiCiBGQUlMIHNpemUoaGVpZ2h0ID49IDIwMHB4KSAoLnZlcnRp
Y2FsKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiIgogUEFTUyBzaXpl
KG1pbi1oZWlnaHQ6IDIwMHB4KSAoLnZlcnRpY2FsKQogUEFTUyBzaXplKG1pbi1oZWlnaHQ6IDIw
MXB4KSAoLnZlcnRpY2FsKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451894</attachid>
            <date>2022-02-14 05:21:17 -0800</date>
            <delta_ts>2022-02-14 10:16:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236580-20220214152115.patch</filename>
            <type>text/plain</type>
            <size>49753</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5NzA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzAyNWJhMjg0MWVjMGY2
N2E3Zjg1YWVlYmYwN2U2ZTg5OThiYWFhOC4uMTc3MDk4M2ViZjZkNDNlYWM2NjYyYzVkOGU4YWUy
ZDBlM2EyZDg0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDIyLTAyLTE0ICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBbQ1NTIENvbnRhaW5lciBR
dWVyaWVzXSBJbXBsZW1lbnQgZnVsbCBxdWVyeSBwYXJzZXIgYW5kIGV2YWx1YXRvcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2NTgwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU28gZmFyIHdlIGhhdmUg
YmVlbiB1c2luZyB0aGUgbWVkaWEgcXVlcnkgcGFyc2VyIHRvIHBhcnNlIGNvbnRhaW5lciBxdWVy
aWVzLgorICAgICAgICBJdCBkb2VzIG5vdCBzdXBwb3J0IG5lc3RpbmcgYW5kIG90aGVyIG5lY2Vz
c2FyeSBmZWF0dXJlcy4gQWxzbyB0aGUgcHJvZHVjZWQgZGF0YQorICAgICAgICBzdHJ1Y3R1cmVz
IGFyZSBhd2t3YXJkIHRvIGV2YWx1YXRlLgorCisgICAgICAgIGh0dHBzOi8vZHJhZnRzLmNzc3dn
Lm9yZy9jc3MtY29udGFpbi0zLyNjb250YWluZXItcnVsZQorCisgICAgICAgIFRoaXMgcGF0Y2gg
c3VwcG9ydHMgc2l6ZSBxdWVyaWVzIGJ1dCBub3Qgc3R5bGUgcXVlcmllcy4gSXQgc3VwcG9ydHMg
Ym90aCB0aGUgY3VycmVudCBzcGVjCisgICAgICAgIHNpemUgcXVlcnkgc3ludGF4ICJzaXplKGZv
bykiICh1c2VkIGluIFdQVHMpLCBhbmQgdGhlIG5vbi1mdW5jdGlvbiBQT1Igc3ludGF4IGZyb20K
KyAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy1kcmFmdHMvaXNzdWVzLzY4NzAj
aXNzdWVjb21tZW50LTEwMjI0MzA5MTEuCisKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAg
ICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogY3NzL0Nv
bnRhaW5lclF1ZXJ5Lmg6CisgICAgICAgICogY3NzL0NvbnRhaW5lclF1ZXJ5UGFyc2VyLmNwcDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDb250YWluZXJRdWVyeVBhcnNlcjo6cGFyc2UpOgor
ICAgICAgICAoV2ViQ29yZTo6Q29udGFpbmVyUXVlcnlQYXJzZXI6OmNvbnN1bWVDb250YWluZXJR
dWVyeSk6CisgICAgICAgIChXZWJDb3JlOjpDb250YWluZXJRdWVyeVBhcnNlcjo6Y29uc3VtZUNv
bmRpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpDb250YWluZXJRdWVyeVBhcnNlcjo6Y29uc3Vt
ZVNpemVRdWVyeSk6CisKKyAgICAgICAgTm8gc3VwcG9ydCBmb3IgcmFuZ2Ugb3BlcmF0b3JzICgn
PCcgZXRjKSB5ZXQuCisKKyAgICAgICAgKiBjc3MvQ29udGFpbmVyUXVlcnlQYXJzZXIuaDogQ29w
aWVkIGZyb20gU291cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5LmguCisgICAgICAgIChX
ZWJDb3JlOjpDb250YWluZXJRdWVyeVBhcnNlcjo6Q29udGFpbmVyUXVlcnlQYXJzZXIpOgorICAg
ICAgICAqIGNzcy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
U1NQYXJzZXJJbXBsOjpjb25zdW1lQ29udGFpbmVyUnVsZSk6CisgICAgICAgICogc3R5bGUvQ29u
dGFpbmVyUXVlcnlFdmFsdWF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OmNvbXB1
dGVTaXplKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpDb250YWluZXJRdWVyeUV2YWx1YXRv
cjo6ZXZhbHVhdGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkNvbnRhaW5lclF1
ZXJ5RXZhbHVhdG9yOjpldmFsdWF0ZVF1ZXJ5IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlN0
eWxlOjpDb250YWluZXJRdWVyeUV2YWx1YXRvcjo6ZXZhbHVhdGVDb25kaXRpb24gY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkNvbnRhaW5lclF1ZXJ5RXZhbHVhdG9yOjpldmFsdWF0
ZVNpemVGZWF0dXJlIGNvbnN0KToKKworICAgICAgICBKdXN0ICd3aWR0aCcgYW5kICdoZWlnaHQn
IGZvciBub3csIG5vIG5ldyBzaXplIGZlYXR1cmVzIHlldC4KKworICAgICAgICAqIHN0eWxlL0Nv
bnRhaW5lclF1ZXJ5RXZhbHVhdG9yLmg6CisKIDIwMjItMDItMTMgIEFudHRpIEtvaXZpc3RvICA8
YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFtDU1MgQ29udGFpbmVyIFF1ZXJpZXNdIEFkZCBz
ZXBhcmF0ZSBDb250YWluZXJRdWVyeSBhbmQgRmlsdGVyZWRDb250YWluZXJRdWVyeSB0eXBlcwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9T
b3VyY2VzLnR4dAppbmRleCAyMDE5MDU2MmMxMzM2MTY4MzI1YTM0OThlNWIzMWQ0MDgyZGI2N2Ni
Li5iY2IzOWVjMzYwMDk1NDIyNWQ4NWFjZTQ1Y2JmMDliMjM5OTMwNjk0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4
dApAQCAtNzA0LDYgKzcwNCw3IEBAIGNyeXB0by9rZXlzL0NyeXB0b0tleVJTQS5jcHAKIGNyeXB0
by9rZXlzL0NyeXB0b0tleVJTQUNvbXBvbmVudHMuY3BwCiBjcnlwdG8va2V5cy9DcnlwdG9LZXlS
YXcuY3BwCiBjc3MvQmFzaWNTaGFwZUZ1bmN0aW9ucy5jcHAKK2Nzcy9Db250YWluZXJRdWVyeVBh
cnNlci5jcHAKIGNzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcAogY3NzL0NTU0Jhc2ljU2hhcGVz
LmNwcAogY3NzL0NTU0JvcmRlckltYWdlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGYzYzM1MjRiNDU3NmM0NjVkZTdmZWUx
OTMzOTk0NTliNTkxYjViZjguLmNkZGZmZjY2ZDdiM2JhNzY1NDNiZjk2MjhiMWI0NDU4NTIxZjE4
M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTU0MjksNiArNTQyOSw3IEBACiAJCUU0RUQzRUNDMjc2OEE1MUQwMEYxN0FDOCAv
KiBIYXNTZWxlY3RvckZpbHRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRTRFRDNFQ0EyNzY4QTUxQzAwRjE3QUM4IC8qIEhhc1NlbGVjdG9yRmlsdGVy
LmggKi87IH07CiAJCUU0RjBCRTMxMjU3MTJGNkUwMDlFNzQzMSAvKiBDYXJldFJlY3RDb21wdXRh
dGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRG
MEJFMkUyNTcxMEE3NTAwOUU3NDMxIC8qIENhcmV0UmVjdENvbXB1dGF0aW9uLmggKi87IH07CiAJ
CUU0RjE1NzM5MjdCOTI2MTUwMEIzMzBEOCAvKiBDb250YWluZXJRdWVyeS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRGMTU3MzIyN0I2OTkxRjAwQjMz
MEQ4IC8qIENvbnRhaW5lclF1ZXJ5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJRTRGMTU3NDEyN0I5M0I3NzAwQjMzMEQ4IC8qIENvbnRhaW5lclF1
ZXJ5UGFyc2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBFNEYxNTczRDI3QjkzQjRDMDBCMzMwRDggLyogQ29udGFpbmVyUXVlcnlQYXJzZXIuaCAqLzsg
fTsKIAkJRTRGMzhEMUIyNjI2RjEzQjAwN0IxMDY0IC8qIERlZmF1bHRSZXNvdXJjZUxvYWRQcmlv
cml0eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRG
MzhEMTkyNjI2RjEzQjAwN0IxMDY0IC8qIERlZmF1bHRSZXNvdXJjZUxvYWRQcmlvcml0eS5oICov
OyB9OwogCQlFNEY4MTlDNjI2RkI0RUJGMDA5NEUxNjIgLyogSW5saW5lQm94UGFpbnRlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRGODE5QzUyNkZC
NEVCRjAwOTRFMTYyIC8qIElubGluZUJveFBhaW50ZXIuaCAqLzsgfTsKIAkJRTRGOUVFRjMxNTZE
QTAwNzAwRDIzRTdFIC8qIFN0eWxlU2hlZXRDb250ZW50cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRGOUVFRjExNTZEODRDNDAwRDIzRTdFIC8qIFN0
eWxlU2hlZXRDb250ZW50cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CkBAIC0xNzYxMSw2ICsxNzYxMiw4IEBACiAJCUU0RjBCRTJFMjU3MTBBNzUwMDlF
NzQzMSAvKiBDYXJldFJlY3RDb21wdXRhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBDYXJldFJlY3RDb21wdXRhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlFNEYwQkUzMDI1NzEwQTc2MDA5RTc0MzEgLyogQ2FyZXRSZWN0Q29tcHV0YXRpb24uY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2FyZXRSZWN0Q29tcHV0YXRp
b24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNEYxNTczMjI3QjY5OTFGMDBC
MzMwRDggLyogQ29udGFpbmVyUXVlcnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29udGFpbmVyUXVlcnku
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTRGMTU3M0QyN0I5M0I0QzAwQjMzMEQ4
IC8qIENvbnRhaW5lclF1ZXJ5UGFyc2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRhaW5lclF1ZXJ5
UGFyc2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUU0RjE1NzNGMjdCOTNCNTgw
MEIzMzBEOCAvKiBDb250YWluZXJRdWVyeVBhcnNlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBD
b250YWluZXJRdWVyeVBhcnNlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0
RjM4RDE5MjYyNkYxM0IwMDdCMTA2NCAvKiBEZWZhdWx0UmVzb3VyY2VMb2FkUHJpb3JpdHkuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGVmYXVsdFJlc291cmNlTG9hZFByaW9y
aXR5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0RjM4RDFDMjYyNkYxNDQwMDdC
MTA2NCAvKiBEZWZhdWx0UmVzb3VyY2VMb2FkUHJpb3JpdHkuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gRGVmYXVsdFJlc291cmNlTG9hZFByaW9yaXR5LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTRGODE5QzIyNkZCNEVBRjAwOTRFMTYyIC8qIElu
bGluZUJveFBhaW50ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SW5saW5lQm94UGFpbnRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zMTU5
Niw2ICszMTU5OSw4IEBACiAJCQkJRkJENkFGODQxNUVGMjFENDAwOEI3MTEwIC8qIEJhc2ljU2hh
cGVGdW5jdGlvbnMuY3BwICovLAogCQkJCUZCRDZBRjg1MTVFRjIxRDQwMDhCNzExMCAvKiBCYXNp
Y1NoYXBlRnVuY3Rpb25zLmggKi8sCiAJCQkJRTRGMTU3MzIyN0I2OTkxRjAwQjMzMEQ4IC8qIENv
bnRhaW5lclF1ZXJ5LmggKi8sCisJCQkJRTRGMTU3M0YyN0I5M0I1ODAwQjMzMEQ4IC8qIENvbnRh
aW5lclF1ZXJ5UGFyc2VyLmNwcCAqLywKKwkJCQlFNEYxNTczRDI3QjkzQjRDMDBCMzMwRDggLyog
Q29udGFpbmVyUXVlcnlQYXJzZXIuaCAqLywKIAkJCQlBODBFNkNEQTBBMTk4OUNBMDA3RkI4QzUg
LyogQ291bnRlci5oICovLAogCQkJCUNBRTlGOTBEMTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3Bl
Y3RSYXRpb1ZhbHVlLmNwcCAqLywKIAkJCQlDQUU5RjkwRTE0NjQ0MUYwMDBDMjQ1QjAgLyogQ1NT
QXNwZWN0UmF0aW9WYWx1ZS5oICovLApAQCAtMzM4NzEsNyArMzM4NzYsOSBAQAogCQkJCUU1OTZE
RDM1MjUxOTA0MTQwMEMyNzVBNyAvKiBDb250YWN0c1NlbGVjdE9wdGlvbnMuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUE4MTg3MjFDMDk3N0QzQzAwMDU4MjZEOSAvKiBDb250YWluZXJOb2RlLmggaW4g
SGVhZGVycyAqLywKIAkJCQlFMUExNDcwODExMTAyQjE1MDBFRUMwRjMgLyogQ29udGFpbmVyTm9k
ZUFsZ29yaXRobXMuaCBpbiBIZWFkZXJzICovLAorCQkJCUU0RjE1NzM5MjdCOTI2MTUwMEIzMzBE
OCAvKiBDb250YWluZXJRdWVyeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTRBQUIzODcyN0FBOTVE
NzAwOUY1ODk5IC8qIENvbnRhaW5lclF1ZXJ5RXZhbHVhdG9yLmggaW4gSGVhZGVycyAqLywKKwkJ
CQlFNEYxNTc0MTI3QjkzQjc3MDBCMzMwRDggLyogQ29udGFpbmVyUXVlcnlQYXJzZXIuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTZGQjVFMjE0MjIxRjI0NTMwMDM5ODlDRiAvKiBDb250ZW50Q2hhbmdl
T2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNUVCOTgxMEU4MjA3MjUwMEIyNTk2NSAv
KiBDb250ZW50RGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFCNDVEMjExQUI4RDFFMjAwMTE3
Q0QyIC8qIENvbnRlbnRFeHRlbnNpb24uaCBpbiBIZWFkZXJzICovLApAQCAtMzcxODgsNyArMzcx
OTUsNiBAQAogCQkJCUU0NTMyMkFDMTQwQ0UyNjcwMDVBMEY5MiAvKiBTZWxlY3RvclF1ZXJ5Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQlGNEQ0M0Q2NjIxODgwMzhCMDBFQ0VDQUMgLyogU2VyaWFsaXpl
ZEF0dGFjaG1lbnREYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMThERjMzNTE4QUFGMTJDMDA3
NzNFNTkgLyogU2VyaWFsaXplZENyeXB0b0tleVdyYXAuaCBpbiBIZWFkZXJzICovLAotCQkJCUU0
RjE1NzM5MjdCOTI2MTUwMEIzMzBEOCAvKiBDb250YWluZXJRdWVyeS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMDc3QUYxNDAxOEY0QUU0MDAwMDFFRDYxIC8qIFNlcmlhbGl6ZWRQbGF0Zm9ybURhdGFD
dWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3N0FGMTQzMThGNEIxQkIwMDAxRUQ2MSAvKiBTZXJp
YWxpemVkUGxhdGZvcm1EYXRhQ3VlTWFjLmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzZEMUMxRjIz
RjZFQjVCMDBEOTVCMDYgLyogU2VyaWFsaXplZFBsYXRmb3JtRGF0YUN1ZVZhbHVlLmggaW4gSGVh
ZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Db250YWluZXJRdWVyeS5o
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5LmgKaW5kZXggOGQ4ZGUwYzAwYzVi
MjE5ZTQwZjU4ZDYyNjU2ODQyMDUzYjliNTIwYi4uMGM5NTgyMWE2YmZhNTEwZjQ3NzhkYTZmODQ3
YzI2MDQwZDBkNTc5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1
ZXJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5LmgKQEAgLTI4LDEz
ICsyOCw0NSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIE1lZGlhUXVlcnlTZXQ7
CitjbGFzcyBDU1NQcmltaXRpdmVWYWx1ZTsKIAotdXNpbmcgQ29udGFpbmVyUXVlcnkgPSBNZWRp
YVF1ZXJ5U2V0OworbmFtZXNwYWNlIENRIHsKKworc3RydWN0IENvbnRhaW5lckNvbmRpdGlvbjsK
K3N0cnVjdCBTaXplQ29uZGl0aW9uOworc3RydWN0IFNpemVGZWF0dXJlOworCitzdHJ1Y3QgVW5r
bm93blF1ZXJ5IHsgfTsKKwordXNpbmcgU2l6ZVF1ZXJ5ID0gc3RkOjp2YXJpYW50PFNpemVDb25k
aXRpb24sIFNpemVGZWF0dXJlPjsKK3VzaW5nIENvbnRhaW5lclF1ZXJ5ID0gc3RkOjp2YXJpYW50
PENvbnRhaW5lckNvbmRpdGlvbiwgU2l6ZVF1ZXJ5LCBVbmtub3duUXVlcnk+OworCitlbnVtIGNs
YXNzIExvZ2ljYWxPcGVyYXRvciA6IHVpbnQ4X3QgeyBBbmQsIE9yLCBOb3QgfTsKK2VudW0gY2xh
c3MgQ29tcGFyaXNvbk9wZXJhdG9yIDogdWludDhfdCB7IExlc3MsIExlc3NPckVxdWFsLCBFcXVh
bCwgR3JlYXRlciwgR3JlYXRlck9yRXF1YWwsIFRydWUgfTsKKworc3RydWN0IENvbnRhaW5lckNv
bmRpdGlvbiB7CisgICAgTG9naWNhbE9wZXJhdG9yIGxvZ2ljYWxPcGVyYXRvciB7IExvZ2ljYWxP
cGVyYXRvcjo6QW5kIH07CisgICAgVmVjdG9yPENvbnRhaW5lclF1ZXJ5PiBxdWVyaWVzOworfTsK
Kworc3RydWN0IFNpemVDb25kaXRpb24geworICAgIExvZ2ljYWxPcGVyYXRvciBsb2dpY2FsT3Bl
cmF0b3IgeyBMb2dpY2FsT3BlcmF0b3I6OkFuZCB9OworICAgIFZlY3RvcjxTaXplUXVlcnk+IHF1
ZXJpZXM7Cit9OworCitzdHJ1Y3QgU2l6ZUZlYXR1cmUgeworICAgIENvbXBhcmlzb25PcGVyYXRv
ciBjb21wYXJpc29uT3BlcmF0b3IgeyBDb21wYXJpc29uT3BlcmF0b3I6OkVxdWFsIH07CisgICAg
QXRvbVN0cmluZyBuYW1lOworICAgIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gdmFsdWU7Cit9
OworCit9CisKK3VzaW5nIENvbnRhaW5lclF1ZXJ5ID0gQ1E6OkNvbnRhaW5lclF1ZXJ5OwogCiBz
dHJ1Y3QgRmlsdGVyZWRDb250YWluZXJRdWVyeSB7CiAgICAgQXRvbVN0cmluZyBuYW1lRmlsdGVy
OwotICAgIFJlZjxDb250YWluZXJRdWVyeT4gcXVlcnk7CisgICAgQ29udGFpbmVyUXVlcnkgcXVl
cnk7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ29udGFpbmVyUXVl
cnlQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5UGFyc2VyLmNw
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5jMzkyYjhjZTM1NmZhMTlmNDM2MDg3OGRlOTM3MjEzMDJmZjA3MGE1Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5UGFyc2Vy
LmNwcApAQCAtMCwwICsxLDE3MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMiBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQor
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ29udGFpbmVyUXVlcnlQYXJzZXIuaCIKKwor
I2luY2x1ZGUgIkNTU1ByaW1pdGl2ZVZhbHVlLmgiCisjaW5jbHVkZSAiQ1NTUHJvcGVydHlQYXJz
ZXJIZWxwZXJzLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RkOjpvcHRpb25hbDxDb250
YWluZXJRdWVyeT4gQ29udGFpbmVyUXVlcnlQYXJzZXI6OmNvbnN1bWVDb250YWluZXJRdWVyeShD
U1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSwgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4
dCkKK3sKKyAgICBDb250YWluZXJRdWVyeVBhcnNlciBwYXJzZXIoY29udGV4dCk7CisgICAgcmV0
dXJuIHBhcnNlci5jb25zdW1lQ29udGFpbmVyUXVlcnkocmFuZ2UpOworfQorCitzdGQ6Om9wdGlv
bmFsPENROjpDb250YWluZXJRdWVyeT4gQ29udGFpbmVyUXVlcnlQYXJzZXI6OmNvbnN1bWVDb250
YWluZXJRdWVyeShDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSkKK3sKKyAgICBpZiAocmFuZ2Uu
cGVlaygpLnR5cGUoKSA9PSBGdW5jdGlvblRva2VuKSB7CisgICAgICAgIGJvb2wgaXNTaXplUXVl
cnkgPSBlcXVhbElnbm9yaW5nQVNDSUlDYXNlKHJhbmdlLnBlZWsoKS52YWx1ZSgpLCAic2l6ZSIp
OworCisgICAgICAgIGF1dG8gYmxvY2tSYW5nZSA9IHJhbmdlLmNvbnN1bWVCbG9jaygpOworICAg
ICAgICBibG9ja1JhbmdlLmNvbnN1bWVXaGl0ZXNwYWNlKCk7CisKKyAgICAgICAgaWYgKCFpc1Np
emVRdWVyeSkKKyAgICAgICAgICAgIHJldHVybiBDUTo6VW5rbm93blF1ZXJ5IHsgfTsKKworICAg
ICAgICBhdXRvIHNpemVRdWVyeSA9IGNvbnN1bWVTaXplUXVlcnkoYmxvY2tSYW5nZSk7CisgICAg
ICAgIGlmICghc2l6ZVF1ZXJ5KQorICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgcmV0
dXJuIHsgKnNpemVRdWVyeSB9OworICAgIH0KKworICAgIGlmIChyYW5nZS5wZWVrKCkudHlwZSgp
ID09IExlZnRQYXJlbnRoZXNpc1Rva2VuKSB7CisgICAgICAgIGF1dG8gYmxvY2tSYW5nZSA9IHJh
bmdlLmNvbnN1bWVCbG9jaygpOworICAgICAgICByYW5nZS5jb25zdW1lV2hpdGVzcGFjZSgpOwor
CisgICAgICAgIGJsb2NrUmFuZ2UuY29uc3VtZVdoaXRlc3BhY2UoKTsKKworICAgICAgICAvLyBU
cnkgdG8gcGFyc2UgYXMgYSBzaXplIHF1ZXJ5IGZpcnN0LgorICAgICAgICBhdXRvIGJsb2NrRm9y
U2l6ZVF1ZXJ5ID0gYmxvY2tSYW5nZTsKKyAgICAgICAgaWYgKGF1dG8gc2l6ZVF1ZXJ5ID0gY29u
c3VtZVNpemVRdWVyeShibG9ja0ZvclNpemVRdWVyeSkpCisgICAgICAgICAgICByZXR1cm4geyAq
c2l6ZVF1ZXJ5IH07CisKKyAgICAgICAgaWYgKGF1dG8gY29uZGl0aW9uID0gY29uc3VtZUNvbmRp
dGlvbjxDUTo6Q29udGFpbmVyQ29uZGl0aW9uPihibG9ja1JhbmdlKSkKKyAgICAgICAgICAgIHJl
dHVybiB7IGNvbmRpdGlvbiB9OworICAgIH0KKworICAgIHJldHVybiB7IH07Cit9CisKK3RlbXBs
YXRlPHR5cGVuYW1lIENvbmRpdGlvblR5cGU+CitzdGQ6Om9wdGlvbmFsPENvbmRpdGlvblR5cGU+
IENvbnRhaW5lclF1ZXJ5UGFyc2VyOjpjb25zdW1lQ29uZGl0aW9uKENTU1BhcnNlclRva2VuUmFu
Z2UmIHJhbmdlKQoreworICAgIGF1dG8gY29uc3VtZVF1ZXJ5ID0gWyZdKENTU1BhcnNlclRva2Vu
UmFuZ2UmIHJhbmdlKSB7CisgICAgICAgIGlmIGNvbnN0ZXhwciAoc3RkOjppc19zYW1lX3Y8Q1E6
OkNvbnRhaW5lckNvbmRpdGlvbiwgQ29uZGl0aW9uVHlwZT4pCisgICAgICAgICAgICByZXR1cm4g
Y29uc3VtZUNvbnRhaW5lclF1ZXJ5KHJhbmdlKTsKKyAgICAgICAgaWYgY29uc3RleHByIChzdGQ6
OmlzX3NhbWVfdjxDUTo6U2l6ZUNvbmRpdGlvbiwgQ29uZGl0aW9uVHlwZT4pIHsKKyAgICAgICAg
ICAgIGlmIChyYW5nZS5wZWVrKCkudHlwZSgpICE9IExlZnRQYXJlbnRoZXNpc1Rva2VuKQorICAg
ICAgICAgICAgICAgIHJldHVybiBzdGQ6Om9wdGlvbmFsPENROjpTaXplUXVlcnk+KCk7CisgICAg
ICAgICAgICBhdXRvIGJsb2NrUmFuZ2UgPSByYW5nZS5jb25zdW1lQmxvY2soKTsKKyAgICAgICAg
ICAgIHJldHVybiBjb25zdW1lU2l6ZVF1ZXJ5KGJsb2NrUmFuZ2UpOworICAgICAgICB9CisgICAg
fTsKKworICAgIGlmIChyYW5nZS5wZWVrKCkudHlwZSgpID09IElkZW50VG9rZW4pIHsKKyAgICAg
ICAgaWYgKGVxdWFsSWdub3JpbmdBU0NJSUNhc2UocmFuZ2UucGVlaygpLnZhbHVlKCksICJub3Qi
KSkgeworICAgICAgICAgICAgcmFuZ2UuY29uc3VtZUluY2x1ZGluZ1doaXRlc3BhY2UoKTsKKyAg
ICAgICAgICAgIGlmIChhdXRvIHF1ZXJ5ID0gY29uc3VtZVF1ZXJ5KHJhbmdlKSkKKyAgICAgICAg
ICAgICAgICByZXR1cm4gQ29uZGl0aW9uVHlwZSB7IENROjpMb2dpY2FsT3BlcmF0b3I6Ok5vdCwg
eyAqcXVlcnkgfSB9OworICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgfQorICAgIH0K
KworICAgIENvbmRpdGlvblR5cGUgY29uZGl0aW9uOworCisgICAgYXV0byBxdWVyeSA9IGNvbnN1
bWVRdWVyeShyYW5nZSk7CisgICAgaWYgKCFxdWVyeSkKKyAgICAgICAgcmV0dXJuIHsgfTsKKwor
ICAgIGNvbmRpdGlvbi5xdWVyaWVzLmFwcGVuZCgqcXVlcnkpOworICAgIHJhbmdlLmNvbnN1bWVX
aGl0ZXNwYWNlKCk7CisKKyAgICB3aGlsZSAoIXJhbmdlLmF0RW5kKCkpIHsKKyAgICAgICAgYXV0
byBvcGVyYXRvclRva2VuID0gcmFuZ2UuY29uc3VtZUluY2x1ZGluZ1doaXRlc3BhY2UoKTsKKyAg
ICAgICAgaWYgKG9wZXJhdG9yVG9rZW4udHlwZSgpICE9IElkZW50VG9rZW4pCisgICAgICAgICAg
ICByZXR1cm4geyB9OworCisgICAgICAgIGlmIChlcXVhbElnbm9yaW5nQVNDSUlDYXNlKG9wZXJh
dG9yVG9rZW4udmFsdWUoKSwgImFuZCIpKSB7CisgICAgICAgICAgICBpZiAoY29uZGl0aW9uLnF1
ZXJpZXMuc2l6ZSgpID4gMSAmJiBjb25kaXRpb24ubG9naWNhbE9wZXJhdG9yICE9IENROjpMb2dp
Y2FsT3BlcmF0b3I6OkFuZCkKKyAgICAgICAgICAgICAgICByZXR1cm4geyB9OworICAgICAgICAg
ICAgY29uZGl0aW9uLmxvZ2ljYWxPcGVyYXRvciA9IENROjpMb2dpY2FsT3BlcmF0b3I6OkFuZDsK
KyAgICAgICAgfSBlbHNlIGlmIChlcXVhbElnbm9yaW5nQVNDSUlDYXNlKG9wZXJhdG9yVG9rZW4u
dmFsdWUoKSwgIm9yIikpIHsKKyAgICAgICAgICAgIGlmIChjb25kaXRpb24ucXVlcmllcy5zaXpl
KCkgPiAxICYmIGNvbmRpdGlvbi5sb2dpY2FsT3BlcmF0b3IgIT0gQ1E6OkxvZ2ljYWxPcGVyYXRv
cjo6T3IpCisgICAgICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgICAgIGNvbmRpdGlv
bi5sb2dpY2FsT3BlcmF0b3IgPSBDUTo6TG9naWNhbE9wZXJhdG9yOjpPcjsKKyAgICAgICAgfSBl
bHNlCisgICAgICAgICAgICByZXR1cm4geyB9OworCisgICAgICAgIGF1dG8gcXVlcnkgPSBjb25z
dW1lUXVlcnkocmFuZ2UpOworICAgICAgICBpZiAoIXF1ZXJ5KQorICAgICAgICAgICAgcmV0dXJu
IHsgfTsKKworICAgICAgICBjb25kaXRpb24ucXVlcmllcy5hcHBlbmQoKnF1ZXJ5KTsKKyAgICAg
ICAgcmFuZ2UuY29uc3VtZVdoaXRlc3BhY2UoKTsKKyAgICB9CisKKyAgICByZXR1cm4gY29uZGl0
aW9uOworfQorCitzdGQ6Om9wdGlvbmFsPENROjpTaXplUXVlcnk+IENvbnRhaW5lclF1ZXJ5UGFy
c2VyOjpjb25zdW1lU2l6ZVF1ZXJ5KENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlKQoreworICAg
IGlmIChyYW5nZS5wZWVrKCkudHlwZSgpICE9IElkZW50VG9rZW4gfHwgZXF1YWxJZ25vcmluZ0FT
Q0lJQ2FzZShyYW5nZS5wZWVrKCkudmFsdWUoKSwgIm5vdCIpKSB7CisgICAgICAgIGF1dG8gc2l6
ZUNvbmRpdGlvbiA9IGNvbnN1bWVDb25kaXRpb248Q1E6OlNpemVDb25kaXRpb24+KHJhbmdlKTsK
KyAgICAgICAgaWYgKCFzaXplQ29uZGl0aW9uKQorICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAg
ICAgICAgcmV0dXJuIHsgKnNpemVDb25kaXRpb24gfTsKKyAgICB9CisKKyAgICBhdXRvIG5hbWVU
b2tlbiA9IHJhbmdlLmNvbnN1bWVJbmNsdWRpbmdXaGl0ZXNwYWNlKCk7CisgICAgYXV0byBuYW1l
ID0gbmFtZVRva2VuLnZhbHVlKCkudG9BdG9tU3RyaW5nKCk7CisKKyAgICBpZiAocmFuZ2UuYXRF
bmQoKSkKKyAgICAgICAgcmV0dXJuIENROjpTaXplRmVhdHVyZSB7IENROjpDb21wYXJpc29uT3Bl
cmF0b3I6OlRydWUsIG5hbWUsIHsgfSB9OworCisgICAgYXV0byBvcFRva2VuID0gcmFuZ2UuY29u
c3VtZUluY2x1ZGluZ1doaXRlc3BhY2UoKTsKKyAgICBpZiAocmFuZ2UuYXRFbmQoKSkKKyAgICAg
ICAgcmV0dXJuIHsgfTsKKworICAgIC8vIEZJWE1FOiBTdXBwb3J0ICc8JyBzdHlsZSBvcGVyYXRv
cnMgYW5kIHJhbmdlcy4KKyAgICBhdXRvIG9wID0gQ1E6OkNvbXBhcmlzb25PcGVyYXRvcjo6RXF1
YWw7CisgICAgaWYgKG9wVG9rZW4udHlwZSgpID09IENvbG9uVG9rZW4pIHsKKyAgICAgICAgaWYg
KG5hbWUuc3RhcnRzV2l0aCgibWluLSIpKQorICAgICAgICAgICAgb3AgPSBDUTo6Q29tcGFyaXNv
bk9wZXJhdG9yOjpHcmVhdGVyT3JFcXVhbDsKKyAgICAgICAgZWxzZSBpZiAobmFtZS5zdGFydHNX
aXRoKCJtYXgtIikpCisgICAgICAgICAgICBvcCA9IENROjpDb21wYXJpc29uT3BlcmF0b3I6Okxl
c3NPckVxdWFsOworCisgICAgICAgIGlmIChvcCAhPSBDUTo6Q29tcGFyaXNvbk9wZXJhdG9yOjpF
cXVhbCkKKyAgICAgICAgICAgIG5hbWUgPSBTdHJpbmdWaWV3KG5hbWUpLnN1YnN0cmluZyg0KS50
b0F0b21TdHJpbmcoKTsKKyAgICAgICAgaWYgKG5hbWUuaXNFbXB0eSgpKQorICAgICAgICAgICAg
cmV0dXJuIHsgfTsKKyAgICB9CisKKyAgICBhdXRvIGxlbmd0aCA9IENTU1Byb3BlcnR5UGFyc2Vy
SGVscGVyczo6Y29uc3VtZUxlbmd0aChyYW5nZSwgbV9jb250ZXh0Lm1vZGUsIFZhbHVlUmFuZ2U6
Ok5vbk5lZ2F0aXZlKTsKKyAgICBpZiAoIWxlbmd0aCkKKyAgICAgICAgcmV0dXJuIHsgfTsKKwor
ICAgIHJldHVybiBDUTo6U2l6ZUZlYXR1cmUgeyBvcCwgbmFtZSwgbGVuZ3RoIH07Cit9CisKK30K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Db250YWluZXJRdWVyeVBhcnNlci5oIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5UGFyc2VyLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmE0
N2M0Njg1MmZjNDAyYTU2NmU2MmM2YTAxZGI5ZjJjMjRmMzZmZQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9Db250YWluZXJRdWVyeVBhcnNlci5oCkBAIC0wLDAgKzEsNDcg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNs
dWRlICJDU1NQYXJzZXJUb2tlbi5oIgorI2luY2x1ZGUgIkNvbnRhaW5lclF1ZXJ5LmgiCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ29udGFpbmVyUXVlcnlQYXJzZXIgeworcHVibGlj
OgorICAgIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPENvbnRhaW5lclF1ZXJ5PiBjb25zdW1lQ29udGFp
bmVyUXVlcnkoQ1NTUGFyc2VyVG9rZW5SYW5nZSYsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmKTsK
KworcHJpdmF0ZToKKyAgICBzdGQ6Om9wdGlvbmFsPENROjpDb250YWluZXJRdWVyeT4gY29uc3Vt
ZUNvbnRhaW5lclF1ZXJ5KENTU1BhcnNlclRva2VuUmFuZ2UmKTsKKyAgICBzdGQ6Om9wdGlvbmFs
PENROjpTaXplUXVlcnk+IGNvbnN1bWVTaXplUXVlcnkoQ1NTUGFyc2VyVG9rZW5SYW5nZSYpOwor
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIENvbmRpdGlvblR5cGU+IHN0ZDo6b3B0aW9uYWw8Q29uZGl0
aW9uVHlwZT4gY29uc3VtZUNvbmRpdGlvbihDU1NQYXJzZXJUb2tlblJhbmdlJik7CisKKyAgICBD
b250YWluZXJRdWVyeVBhcnNlcihjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0KQorICAg
ICAgICA6IG1fY29udGV4dChjb250ZXh0KSB7IH0KKworICAgIGNvbnN0IENTU1BhcnNlckNvbnRl
eHQgbV9jb250ZXh0OworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3Bh
cnNlci9DU1NQYXJzZXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFy
c2VySW1wbC5jcHAKaW5kZXggZjdkNTU5MjIwNTdmMzRmNDNlYzZhMjNjODMzNmY1ZDUyYzFlYWIz
My4uYzRlZGFhMDY0M2RiNDJhYWM0ZjQ1Nzc2ODBiMWM3OTEwNWMzZWY4MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckltcGwuY3BwCkBAIC00Nyw2ICs0Nyw3IEBACiAj
aW5jbHVkZSAiQ1NTU3VwcG9ydHNQYXJzZXIuaCIKICNpbmNsdWRlICJDU1NUb2tlbml6ZXIuaCIK
ICNpbmNsdWRlICJDU1NWYXJpYWJsZVBhcnNlci5oIgorI2luY2x1ZGUgIkNvbnRhaW5lclF1ZXJ5
UGFyc2VyLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFbGVtZW50LmgiCiAj
aW5jbHVkZSAiRm9udFBhbGV0dGVWYWx1ZXMuaCIKQEAgLTg2NSwxMiArODY2LDE2IEBAIFJlZlB0
cjxTdHlsZVJ1bGVDb250YWluZXI+IENTU1BhcnNlckltcGw6OmNvbnN1bWVDb250YWluZXJSdWxl
KENTU1BhcnNlclRva2VuUmFuCiAKICAgICBhdXRvIG5hbWUgPSBjb25zdW1lTmFtZSgpOwogCi0g
ICAgYXV0byBxdWVyeSA9IE1lZGlhUXVlcnlQYXJzZXI6OnBhcnNlQ29udGFpbmVyUXVlcnkocHJl
bHVkZSwgTWVkaWFRdWVyeVBhcnNlckNvbnRleHQobV9jb250ZXh0KSk7CisgICAgYXV0byBxdWVy
eSA9IENvbnRhaW5lclF1ZXJ5UGFyc2VyOjpjb25zdW1lQ29udGFpbmVyUXVlcnkocHJlbHVkZSwg
bV9jb250ZXh0KTsKICAgICBpZiAoIXF1ZXJ5KQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAor
ICAgIHByZWx1ZGUuY29uc3VtZVdoaXRlc3BhY2UoKTsKKyAgICBpZiAoIXByZWx1ZGUuYXRFbmQo
KSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKICAgICBpZiAobV9kZWZlcnJlZFBhcnNlcikK
LSAgICAgICAgcmV0dXJuIFN0eWxlUnVsZUNvbnRhaW5lcjo6Y3JlYXRlKHsgbmFtZSwgcXVlcnku
cmVsZWFzZU5vbk51bGwoKSB9LCBtYWtlVW5pcXVlPERlZmVycmVkU3R5bGVHcm91cFJ1bGVMaXN0
PihibG9jaywgKm1fZGVmZXJyZWRQYXJzZXIpKTsKKyAgICAgICAgcmV0dXJuIFN0eWxlUnVsZUNv
bnRhaW5lcjo6Y3JlYXRlKHsgbmFtZSwgKnF1ZXJ5IH0sIG1ha2VVbmlxdWU8RGVmZXJyZWRTdHls
ZUdyb3VwUnVsZUxpc3Q+KGJsb2NrLCAqbV9kZWZlcnJlZFBhcnNlcikpOwogCiAgICAgVmVjdG9y
PFJlZlB0cjxTdHlsZVJ1bGVCYXNlPj4gcnVsZXM7CiAKQEAgLTg4OCw3ICs4OTMsNyBAQCBSZWZQ
dHI8U3R5bGVSdWxlQ29udGFpbmVyPiBDU1NQYXJzZXJJbXBsOjpjb25zdW1lQ29udGFpbmVyUnVs
ZShDU1NQYXJzZXJUb2tlblJhbgogICAgIGlmIChtX29ic2VydmVyV3JhcHBlcikKICAgICAgICAg
bV9vYnNlcnZlcldyYXBwZXItPm9ic2VydmVyKCkuZW5kUnVsZUJvZHkobV9vYnNlcnZlcldyYXBw
ZXItPmVuZE9mZnNldChibG9jaykpOwogCi0gICAgcmV0dXJuIFN0eWxlUnVsZUNvbnRhaW5lcjo6
Y3JlYXRlKHsgbmFtZSwgcXVlcnkucmVsZWFzZU5vbk51bGwoKSB9LCBXVEZNb3ZlKHJ1bGVzKSk7
CisgICAgcmV0dXJuIFN0eWxlUnVsZUNvbnRhaW5lcjo6Y3JlYXRlKHsgbmFtZSwgKnF1ZXJ5IH0s
IFdURk1vdmUocnVsZXMpKTsKIH0KICAgICAKIFJlZlB0cjxTdHlsZVJ1bGVLZXlmcmFtZT4gQ1NT
UGFyc2VySW1wbDo6Y29uc3VtZUtleWZyYW1lU3R5bGVSdWxlKENTU1BhcnNlclRva2VuUmFuZ2Ug
cHJlbHVkZSwgQ1NTUGFyc2VyVG9rZW5SYW5nZSBibG9jaykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3N0eWxlL0NvbnRhaW5lclF1ZXJ5RXZhbHVhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3N0eWxlL0NvbnRhaW5lclF1ZXJ5RXZhbHVhdG9yLmNwcAppbmRleCA1ZjBjNTU3ODJkMWNhZTY0
NjU0YzdkYmYxZmM1ZGJlNDBiZjdjOTZiLi41OWIxNzI5ODZiZjQyYmRiM2E1YWQxZTAxMTMwN2I0
NzliOWU5Y2U1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Db250YWluZXJRdWVy
eUV2YWx1YXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvQ29udGFpbmVyUXVlcnlF
dmFsdWF0b3IuY3BwCkBAIC0zNSwzMCArMzUsMjkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmU6OlN0
eWxlIHsKIAorc3RydWN0IENvbnRhaW5lclF1ZXJ5RXZhbHVhdG9yOjpFdmFsdWF0aW9uQ29udGV4
dCB7CisgICAgUmVuZGVyQm94JiByZW5kZXJlcjsKKyAgICBDU1NUb0xlbmd0aENvbnZlcnNpb25E
YXRhIGNvbnZlcnNpb25EYXRhOworfTsKKwogQ29udGFpbmVyUXVlcnlFdmFsdWF0b3I6OkNvbnRh
aW5lclF1ZXJ5RXZhbHVhdG9yKGNvbnN0IFZlY3RvcjxSZWY8Y29uc3QgRWxlbWVudD4+JiBjb250
YWluZXJzKQogICAgIDogbV9jb250YWluZXJzKGNvbnRhaW5lcnMpCiB7CiB9CiAKLXN0YXRpYyBz
dGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IGNvbXB1dGVTaXplKENTU1ZhbHVlKiB2YWx1ZSwgY29u
c3QgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSYgY29udmVyc2lvbkRhdGEpCitzdGF0aWMgc3Rk
OjpvcHRpb25hbDxMYXlvdXRVbml0PiBjb21wdXRlU2l6ZShjb25zdCBDU1NQcmltaXRpdmVWYWx1
ZSYgdmFsdWUsIGNvbnN0IENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEmIGNvbnZlcnNpb25EYXRh
KQogewotICAgIGlmICghaXM8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVlKSkKLSAgICAgICAgcmV0
dXJuIHsgfTsKLQotICAgIGF1dG8mIHByaW1pdGl2ZVZhbHVlID0gZG93bmNhc3Q8Q1NTUHJpbWl0
aXZlVmFsdWU+KCp2YWx1ZSk7Ci0gICAgaWYgKHByaW1pdGl2ZVZhbHVlLmlzTnVtYmVyT3JJbnRl
Z2VyKCkpIHsKLSAgICAgICAgaWYgKHByaW1pdGl2ZVZhbHVlLmRvdWJsZVZhbHVlKCkpCisgICAg
aWYgKHZhbHVlLmlzTnVtYmVyT3JJbnRlZ2VyKCkpIHsKKyAgICAgICAgaWYgKHZhbHVlLmRvdWJs
ZVZhbHVlKCkpCiAgICAgICAgICAgICByZXR1cm4geyB9OwogICAgICAgICByZXR1cm4gMF9sdTsK
ICAgICB9CiAKLSAgICBpZiAoIXByaW1pdGl2ZVZhbHVlLmlzTGVuZ3RoKCkpCisgICAgaWYgKCF2
YWx1ZS5pc0xlbmd0aCgpKQogICAgICAgICByZXR1cm4geyB9OwotICAgIHJldHVybiBwcmltaXRp
dmVWYWx1ZS5jb21wdXRlTGVuZ3RoPExheW91dFVuaXQ+KGNvbnZlcnNpb25EYXRhKTsKKyAgICBy
ZXR1cm4gdmFsdWUuY29tcHV0ZUxlbmd0aDxMYXlvdXRVbml0Pihjb252ZXJzaW9uRGF0YSk7CiB9
CiAKLWVudW0gY2xhc3MgQ29tcGFyYXRvciB7IExlc3NlciwgR3JlYXRlciwgTGVzc2VyT3JFcXVh
bCwgR3JlYXRlck9yRXF1YWwsIEVxdWFsLCBUcnVlIH07Ci0KIGJvb2wgQ29udGFpbmVyUXVlcnlF
dmFsdWF0b3I6OmV2YWx1YXRlKGNvbnN0IEZpbHRlcmVkQ29udGFpbmVyUXVlcnkmIGZpbHRlcmVk
Q29udGFpbmVyUXVlcnkpIGNvbnN0CiB7CiAgICAgaWYgKG1fY29udGFpbmVycy5pc0VtcHR5KCkp
CkBAIC04Myw5MCArODIsMTE0IEBAIGJvb2wgQ29udGFpbmVyUXVlcnlFdmFsdWF0b3I6OmV2YWx1
YXRlKGNvbnN0IEZpbHRlcmVkQ29udGFpbmVyUXVlcnkmIGZpbHRlcmVkQ29uCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKIAogICAgIGF1dG8mIHZpZXcgPSByZW5kZXJlci0+dmlldygpOwotICAgIENT
U1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEgY29udmVyc2lvbkRhdGEgeyAmcmVuZGVyZXItPnN0eWxl
KCksICZ2aWV3LnN0eWxlKCksIG51bGxwdHIsICZ2aWV3LCAxIH07CisgICAgQ1NTVG9MZW5ndGhD
b252ZXJzaW9uRGF0YSB7ICZyZW5kZXJlci0+c3R5bGUoKSwgJnZpZXcuc3R5bGUoKSwgbnVsbHB0
ciwgJnZpZXcsIDEgfTsKIAotICAgIGF1dG8gZXZhbHVhdGVTaXplID0gWyZdKGNvbnN0IE1lZGlh
UXVlcnlFeHByZXNzaW9uJiBleHByZXNzaW9uLCBDb21wYXJhdG9yIGNvbXBhcmF0b3IsIGF1dG8m
JiBzaXplR2V0dGVyKQotICAgIHsKKyAgICBFdmFsdWF0aW9uQ29udGV4dCBldmFsdWF0aW9uQ29u
dGV4dCB7CisgICAgICAgICpyZW5kZXJlciwKKyAgICAgICAgQ1NTVG9MZW5ndGhDb252ZXJzaW9u
RGF0YSB7ICZyZW5kZXJlci0+c3R5bGUoKSwgJnZpZXcuc3R5bGUoKSwgbnVsbHB0ciwgJnZpZXcs
IDEgfQorICAgIH07CisKKyAgICByZXR1cm4gZXZhbHVhdGVRdWVyeShmaWx0ZXJlZENvbnRhaW5l
clF1ZXJ5LnF1ZXJ5LCBldmFsdWF0aW9uQ29udGV4dCkgPT0gRXZhbHVhdGlvblJlc3VsdDo6VHJ1
ZTsKK30KKworYXV0byBDb250YWluZXJRdWVyeUV2YWx1YXRvcjo6ZXZhbHVhdGVRdWVyeShjb25z
dCBDUTo6Q29udGFpbmVyUXVlcnkmIGNvbnRhaW5lclF1ZXJ5LCBjb25zdCBFdmFsdWF0aW9uQ29u
dGV4dCYgY29udGV4dCkgY29uc3QgLT4gRXZhbHVhdGlvblJlc3VsdAoreworICAgIHJldHVybiBX
VEY6OnN3aXRjaE9uKGNvbnRhaW5lclF1ZXJ5LCBbJl0oY29uc3QgQ1E6OkNvbnRhaW5lckNvbmRp
dGlvbiYgY29udGFpbmVyQ29uZGl0aW9uKSB7CisgICAgICAgIHJldHVybiBldmFsdWF0ZUNvbmRp
dGlvbihjb250YWluZXJDb25kaXRpb24sIGNvbnRleHQpOworICAgIH0sIFsmXShjb25zdCBDUTo6
U2l6ZVF1ZXJ5JiBzaXplUXVlcnkpIHsKKyAgICAgICAgcmV0dXJuIGV2YWx1YXRlUXVlcnkoc2l6
ZVF1ZXJ5LCBjb250ZXh0KTsKKyAgICB9LCBbJl0oY29uc3QgQ1E6OlVua25vd25RdWVyeSYpIHsK
KyAgICAgICAgcmV0dXJuIEV2YWx1YXRpb25SZXN1bHQ6OlVua25vd247CisgICAgfSk7Cit9CisK
K2F1dG8gQ29udGFpbmVyUXVlcnlFdmFsdWF0b3I6OmV2YWx1YXRlUXVlcnkoY29uc3QgQ1E6OlNp
emVRdWVyeSYgc2l6ZVF1ZXJ5LCBjb25zdCBFdmFsdWF0aW9uQ29udGV4dCYgY29udGV4dCkgY29u
c3QgLT4gRXZhbHVhdGlvblJlc3VsdAoreworICAgIHJldHVybiBXVEY6OnN3aXRjaE9uKHNpemVR
dWVyeSwgWyZdKGNvbnN0IENROjpTaXplQ29uZGl0aW9uJiBzaXplQ29uZGl0aW9uKSB7CisgICAg
ICAgIHJldHVybiBldmFsdWF0ZUNvbmRpdGlvbihzaXplQ29uZGl0aW9uLCBjb250ZXh0KTsKKyAg
ICB9LCBbJl0oY29uc3QgQ1E6OlNpemVGZWF0dXJlJiBzaXplRmVhdHVyZSkgeworICAgICAgICBy
ZXR1cm4gZXZhbHVhdGVTaXplRmVhdHVyZShzaXplRmVhdHVyZSwgY29udGV4dCk7CisgICAgfSk7
Cit9CisKK3RlbXBsYXRlPHR5cGVuYW1lIENvbmRpdGlvblR5cGU+CithdXRvIENvbnRhaW5lclF1
ZXJ5RXZhbHVhdG9yOjpldmFsdWF0ZUNvbmRpdGlvbihjb25zdCBDb25kaXRpb25UeXBlJiBjb25k
aXRpb24sIGNvbnN0IEV2YWx1YXRpb25Db250ZXh0JiBjb250ZXh0KSBjb25zdCAtPiBFdmFsdWF0
aW9uUmVzdWx0Cit7CisgICAgaWYgKGNvbmRpdGlvbi5xdWVyaWVzLmlzRW1wdHkoKSkKKyAgICAg
ICAgcmV0dXJuIEV2YWx1YXRpb25SZXN1bHQ6OlVua25vd247CisKKyAgICBzd2l0Y2ggKGNvbmRp
dGlvbi5sb2dpY2FsT3BlcmF0b3IpIHsKKyAgICBjYXNlIENROjpMb2dpY2FsT3BlcmF0b3I6Ok5v
dDogeworICAgICAgICBzd2l0Y2ggKGV2YWx1YXRlUXVlcnkoY29uZGl0aW9uLnF1ZXJpZXMuZmly
c3QoKSwgY29udGV4dCkpIHsKKyAgICAgICAgY2FzZSBFdmFsdWF0aW9uUmVzdWx0OjpUcnVlOgor
ICAgICAgICAgICAgcmV0dXJuIEV2YWx1YXRpb25SZXN1bHQ6OkZhbHNlOworICAgICAgICBjYXNl
IEV2YWx1YXRpb25SZXN1bHQ6OkZhbHNlOgorICAgICAgICAgICAgcmV0dXJuIEV2YWx1YXRpb25S
ZXN1bHQ6OlRydWU7CisgICAgICAgIGNhc2UgRXZhbHVhdGlvblJlc3VsdDo6VW5rbm93bjoKKyAg
ICAgICAgICAgIHJldHVybiBFdmFsdWF0aW9uUmVzdWx0OjpVbmtub3duOworICAgICAgICB9Cisg
ICAgfQorICAgIGNhc2UgQ1E6OkxvZ2ljYWxPcGVyYXRvcjo6QW5kOiB7CisgICAgICAgIGF1dG8g
cmVzdWx0ID0gRXZhbHVhdGlvblJlc3VsdDo6VHJ1ZTsKKyAgICAgICAgZm9yIChhdXRvIHF1ZXJ5
IDogY29uZGl0aW9uLnF1ZXJpZXMpIHsKKyAgICAgICAgICAgIGF1dG8gcXVlcnlSZXN1bHQgPSBl
dmFsdWF0ZVF1ZXJ5KHF1ZXJ5LCBjb250ZXh0KTsKKyAgICAgICAgICAgIGlmIChxdWVyeVJlc3Vs
dCA9PSBFdmFsdWF0aW9uUmVzdWx0OjpGYWxzZSkKKyAgICAgICAgICAgICAgICByZXR1cm4gRXZh
bHVhdGlvblJlc3VsdDo6RmFsc2U7CisgICAgICAgICAgICBpZiAocXVlcnlSZXN1bHQgPT0gRXZh
bHVhdGlvblJlc3VsdDo6VW5rbm93bikKKyAgICAgICAgICAgICAgICByZXN1bHQgPSBFdmFsdWF0
aW9uUmVzdWx0OjpVbmtub3duOworICAgICAgICB9CisgICAgICAgIHJldHVybiByZXN1bHQ7Cisg
ICAgfQorICAgIGNhc2UgQ1E6OkxvZ2ljYWxPcGVyYXRvcjo6T3I6IHsKKyAgICAgICAgYXV0byBy
ZXN1bHQgPSBFdmFsdWF0aW9uUmVzdWx0OjpGYWxzZTsKKyAgICAgICAgZm9yIChhdXRvIHF1ZXJ5
IDogY29uZGl0aW9uLnF1ZXJpZXMpIHsKKyAgICAgICAgICAgIGF1dG8gcXVlcnlSZXN1bHQgPSBl
dmFsdWF0ZVF1ZXJ5KHF1ZXJ5LCBjb250ZXh0KTsKKyAgICAgICAgICAgIGlmIChxdWVyeVJlc3Vs
dCA9PSBFdmFsdWF0aW9uUmVzdWx0OjpUcnVlKQorICAgICAgICAgICAgICAgIHJldHVybiBFdmFs
dWF0aW9uUmVzdWx0OjpUcnVlOworICAgICAgICAgICAgaWYgKHF1ZXJ5UmVzdWx0ID09IEV2YWx1
YXRpb25SZXN1bHQ6OlVua25vd24pCisgICAgICAgICAgICAgICAgcmVzdWx0ID0gRXZhbHVhdGlv
blJlc3VsdDo6VW5rbm93bjsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gcmVzdWx0OworICAg
IH0KKyAgICB9Cit9CisKK2F1dG8gQ29udGFpbmVyUXVlcnlFdmFsdWF0b3I6OmV2YWx1YXRlU2l6
ZUZlYXR1cmUoY29uc3QgQ1E6OlNpemVGZWF0dXJlJiBzaXplRmVhdHVyZSwgY29uc3QgRXZhbHVh
dGlvbkNvbnRleHQmIGNvbnRleHQpIGNvbnN0IC0+IEV2YWx1YXRpb25SZXN1bHQKK3sKKyAgICBh
dXRvIGV2YWx1YXRlU2l6ZSA9IFsmXShMYXlvdXRVbml0IHNpemUpIHsKICAgICAgICAgc3RkOjpv
cHRpb25hbDxMYXlvdXRVbml0PiBleHByZXNzaW9uU2l6ZTsKIAotICAgICAgICBpZiAoY29tcGFy
YXRvciAhPSBDb21wYXJhdG9yOjpUcnVlKSB7Ci0gICAgICAgICAgICBleHByZXNzaW9uU2l6ZSA9
IGNvbXB1dGVTaXplKGV4cHJlc3Npb24udmFsdWUoKSwgY29udmVyc2lvbkRhdGEpOworICAgICAg
ICBpZiAoc2l6ZUZlYXR1cmUuY29tcGFyaXNvbk9wZXJhdG9yICE9IENROjpDb21wYXJpc29uT3Bl
cmF0b3I6OlRydWUpIHsKKyAgICAgICAgICAgIGlmICghc2l6ZUZlYXR1cmUudmFsdWUpCisgICAg
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgZXhwcmVzc2lvblNpemUgPSBj
b21wdXRlU2l6ZSgqc2l6ZUZlYXR1cmUudmFsdWUsIGNvbnRleHQuY29udmVyc2lvbkRhdGEpOwog
ICAgICAgICAgICAgaWYgKCFleHByZXNzaW9uU2l6ZSkKICAgICAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgICAgIH0KIAotICAgICAgICBhdXRvIHNpemUgPSBzaXplR2V0dGVyKCpyZW5k
ZXJlcik7Ci0KLSAgICAgICAgc3dpdGNoIChjb21wYXJhdG9yKSB7Ci0gICAgICAgIGNhc2UgQ29t
cGFyYXRvcjo6TGVzc2VyOgorICAgICAgICBzd2l0Y2ggKHNpemVGZWF0dXJlLmNvbXBhcmlzb25P
cGVyYXRvcikgeworICAgICAgICBjYXNlIENROjpDb21wYXJpc29uT3BlcmF0b3I6Okxlc3M6CiAg
ICAgICAgICAgICByZXR1cm4gc2l6ZSA8ICpleHByZXNzaW9uU2l6ZTsKLSAgICAgICAgY2FzZSBD
b21wYXJhdG9yOjpHcmVhdGVyOgorICAgICAgICBjYXNlIENROjpDb21wYXJpc29uT3BlcmF0b3I6
OkdyZWF0ZXI6CiAgICAgICAgICAgICByZXR1cm4gc2l6ZSA+ICpleHByZXNzaW9uU2l6ZTsKLSAg
ICAgICAgY2FzZSBDb21wYXJhdG9yOjpMZXNzZXJPckVxdWFsOgorICAgICAgICBjYXNlIENROjpD
b21wYXJpc29uT3BlcmF0b3I6Okxlc3NPckVxdWFsOgogICAgICAgICAgICAgcmV0dXJuIHNpemUg
PD0gKmV4cHJlc3Npb25TaXplOwotICAgICAgICBjYXNlIENvbXBhcmF0b3I6OkdyZWF0ZXJPckVx
dWFsOgorICAgICAgICBjYXNlIENROjpDb21wYXJpc29uT3BlcmF0b3I6OkdyZWF0ZXJPckVxdWFs
OgogICAgICAgICAgICAgcmV0dXJuIHNpemUgPj0gKmV4cHJlc3Npb25TaXplOwotICAgICAgICBj
YXNlIENvbXBhcmF0b3I6OkVxdWFsOgorICAgICAgICBjYXNlIENROjpDb21wYXJpc29uT3BlcmF0
b3I6OkVxdWFsOgogICAgICAgICAgICAgcmV0dXJuIHNpemUgPT0gKmV4cHJlc3Npb25TaXplOwot
ICAgICAgICBjYXNlIENvbXBhcmF0b3I6OlRydWU6CisgICAgICAgIGNhc2UgQ1E6OkNvbXBhcmlz
b25PcGVyYXRvcjo6VHJ1ZToKICAgICAgICAgICAgIHJldHVybiAhIXNpemU7CiAgICAgICAgIH0K
ICAgICB9OwogCi0gICAgYXV0byBldmFsdWF0ZVdpZHRoID0gWyZdKGNvbnN0IE1lZGlhUXVlcnlF
eHByZXNzaW9uJiBleHByZXNzaW9uLCBDb21wYXJhdG9yIGNvbXBhcmF0b3IpCi0gICAgewotICAg
ICAgICByZXR1cm4gZXZhbHVhdGVTaXplKGV4cHJlc3Npb24sIGNvbXBhcmF0b3IsIFsmXShjb25z
dCBSZW5kZXJCb3gmIHJlbmRlcmVyKSB7Ci0gICAgICAgICAgICByZXR1cm4gcmVuZGVyZXIud2lk
dGgoKTsKLSAgICAgICAgfSk7Ci0gICAgfTsKLQotICAgIGF1dG8gZXZhbHVhdGVIZWlnaHQgPSBb
Jl0oY29uc3QgTWVkaWFRdWVyeUV4cHJlc3Npb24mIGV4cHJlc3Npb24sIENvbXBhcmF0b3IgY29t
cGFyYXRvcikKLSAgICB7Ci0gICAgICAgIHJldHVybiBldmFsdWF0ZVNpemUoZXhwcmVzc2lvbiwg
Y29tcGFyYXRvciwgWyZdKGNvbnN0IFJlbmRlckJveCYgcmVuZGVyZXIpIHsKLSAgICAgICAgICAg
IHJldHVybiByZW5kZXJlci5oZWlnaHQoKTsKLSAgICAgICAgfSk7Ci0gICAgfTsKLQotICAgIGJv
b2wgcmVzdWx0ID0gZmFsc2U7Ci0KLSAgICAvLyBGSVhNRTogVGhpcyBpcyB2ZXJ5IHJ1ZGltZW50
YXJ5LgotICAgIGF1dG8mIHF1ZXJpZXMgPSBmaWx0ZXJlZENvbnRhaW5lclF1ZXJ5LnF1ZXJ5LT5x
dWVyeVZlY3RvcigpOwotICAgIGZvciAoYXV0byYgcXVlcnkgOiBxdWVyaWVzKSB7Ci0gICAgICAg
IGZvciAoYXV0byYgZXhwcmVzc2lvbiA6IHF1ZXJ5LmV4cHJlc3Npb25zKCkpIHsKLSAgICAgICAg
ICAgIGlmIChleHByZXNzaW9uLm1lZGlhRmVhdHVyZSgpID09IE1lZGlhRmVhdHVyZU5hbWVzOjpt
aW5XaWR0aCkgewotICAgICAgICAgICAgICAgIGlmIChldmFsdWF0ZVdpZHRoKGV4cHJlc3Npb24s
IENvbXBhcmF0b3I6OkdyZWF0ZXJPckVxdWFsKSkKLSAgICAgICAgICAgICAgICAgICAgcmVzdWx0
ID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgIGlmIChleHByZXNzaW9uLm1lZGlhRmVhdHVyZSgpID09IE1lZGlhRmVhdHVyZU5hbWVz
OjptYXhXaWR0aCkgewotICAgICAgICAgICAgICAgIGlmIChldmFsdWF0ZVdpZHRoKGV4cHJlc3Np
b24sIENvbXBhcmF0b3I6Okxlc3Nlck9yRXF1YWwpKQotICAgICAgICAgICAgICAgICAgICByZXN1
bHQgPSB0cnVlOwotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgfQotICAg
ICAgICAgICAgaWYgKGV4cHJlc3Npb24ubWVkaWFGZWF0dXJlKCkgPT0gTWVkaWFGZWF0dXJlTmFt
ZXM6OndpZHRoKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGV2YWx1YXRlV2lkdGgoZXhwcmVzc2lv
biwgZXhwcmVzc2lvbi52YWx1ZSgpID8gQ29tcGFyYXRvcjo6RXF1YWwgOiBDb21wYXJhdG9yOjpU
cnVlKSkKLSAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gdHJ1ZTsKLSAgICAgICAgICAgICAg
ICBjb250aW51ZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChleHByZXNzaW9uLm1l
ZGlhRmVhdHVyZSgpID09IE1lZGlhRmVhdHVyZU5hbWVzOjptaW5IZWlnaHQpIHsKLSAgICAgICAg
ICAgICAgICBpZiAoZXZhbHVhdGVIZWlnaHQoZXhwcmVzc2lvbiwgQ29tcGFyYXRvcjo6R3JlYXRl
ck9yRXF1YWwpKQotICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSB0cnVlOwotICAgICAgICAg
ICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKGV4cHJlc3Np
b24ubWVkaWFGZWF0dXJlKCkgPT0gTWVkaWFGZWF0dXJlTmFtZXM6Om1heEhlaWdodCkgewotICAg
ICAgICAgICAgICAgIGlmIChldmFsdWF0ZUhlaWdodChleHByZXNzaW9uLCBDb21wYXJhdG9yOjpM
ZXNzZXJPckVxdWFsKSkKLSAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gdHJ1ZTsKLSAgICAg
ICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChleHBy
ZXNzaW9uLm1lZGlhRmVhdHVyZSgpID09IE1lZGlhRmVhdHVyZU5hbWVzOjpoZWlnaHQpIHsKLSAg
ICAgICAgICAgICAgICBpZiAoZXZhbHVhdGVIZWlnaHQoZXhwcmVzc2lvbiwgZXhwcmVzc2lvbi52
YWx1ZSgpID8gQ29tcGFyYXRvcjo6RXF1YWwgOiBDb21wYXJhdG9yOjpUcnVlKSkKLSAgICAgICAg
ICAgICAgICAgICAgcmVzdWx0ID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KKyAgICAvLyBGSVhNRTogU3VwcG9ydCBhbGwg
ZmVhdHVyZXMuCisgICAgaWYgKHNpemVGZWF0dXJlLm5hbWUgPT0gTWVkaWFGZWF0dXJlTmFtZXM6
OndpZHRoKQorICAgICAgICByZXR1cm4gZXZhbHVhdGVTaXplKGNvbnRleHQucmVuZGVyZXIud2lk
dGgoKSkgPyBFdmFsdWF0aW9uUmVzdWx0OjpUcnVlIDogRXZhbHVhdGlvblJlc3VsdDo6RmFsc2U7
CisgICAgaWYgKHNpemVGZWF0dXJlLm5hbWUgPT0gTWVkaWFGZWF0dXJlTmFtZXM6OmhlaWdodCkK
KyAgICAgICAgcmV0dXJuIGV2YWx1YXRlU2l6ZShjb250ZXh0LnJlbmRlcmVyLmhlaWdodCgpKSA/
IEV2YWx1YXRpb25SZXN1bHQ6OlRydWUgOiBFdmFsdWF0aW9uUmVzdWx0OjpGYWxzZTsKIAotICAg
IHJldHVybiByZXN1bHQ7CisgICAgcmV0dXJuIEV2YWx1YXRpb25SZXN1bHQ6OlVua25vd247CiB9
CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0NvbnRhaW5lclF1ZXJ5RXZh
bHVhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Db250YWluZXJRdWVyeUV2YWx1YXRvci5o
CmluZGV4IDhmNmU3MzAwN2Y3NWZhYjViODU0ZTExY2UyMjk3YzA2OWZiNTg5NzQuLjk5YmUyMjJk
MTVkOWY5ZDFhYjA3YTM4Njc0MWQyM2IyOWY0OTljZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3N0eWxlL0NvbnRhaW5lclF1ZXJ5RXZhbHVhdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
c3R5bGUvQ29udGFpbmVyUXVlcnlFdmFsdWF0b3IuaApAQCAtMjQsMTEgKzI0LDExIEBACiAKICNw
cmFnbWEgb25jZQogCisjaW5jbHVkZSAiQ29udGFpbmVyUXVlcnkuaCIKICNpbmNsdWRlIDx3dGYv
UmVmLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RydWN0IEZpbHRlcmVkQ29udGFpbmVy
UXVlcnk7CiBjbGFzcyBFbGVtZW50OwogCiBuYW1lc3BhY2UgU3R5bGUgewpAQCAtNDAsNiArNDAs
MTQgQEAgcHVibGljOgogICAgIGJvb2wgZXZhbHVhdGUoY29uc3QgRmlsdGVyZWRDb250YWluZXJR
dWVyeSYpIGNvbnN0OwogCiBwcml2YXRlOgorICAgIHN0cnVjdCBFdmFsdWF0aW9uQ29udGV4dDsK
KyAgICBlbnVtIGNsYXNzIEV2YWx1YXRpb25SZXN1bHQgOiB1aW50OF90IHsgRmFsc2UsIFRydWUs
IFVua25vd24gfTsKKworICAgIEV2YWx1YXRpb25SZXN1bHQgZXZhbHVhdGVRdWVyeShjb25zdCBD
UTo6Q29udGFpbmVyUXVlcnkmLCBjb25zdCBFdmFsdWF0aW9uQ29udGV4dCYpIGNvbnN0OworICAg
IEV2YWx1YXRpb25SZXN1bHQgZXZhbHVhdGVRdWVyeShjb25zdCBDUTo6U2l6ZVF1ZXJ5JiwgY29u
c3QgRXZhbHVhdGlvbkNvbnRleHQmKSBjb25zdDsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDb25k
aXRpb25UeXBlPiBFdmFsdWF0aW9uUmVzdWx0IGV2YWx1YXRlQ29uZGl0aW9uKGNvbnN0IENvbmRp
dGlvblR5cGUmLCBjb25zdCBFdmFsdWF0aW9uQ29udGV4dCYpIGNvbnN0OworICAgIEV2YWx1YXRp
b25SZXN1bHQgZXZhbHVhdGVTaXplRmVhdHVyZShjb25zdCBDUTo6U2l6ZUZlYXR1cmUmLCBjb25z
dCBFdmFsdWF0aW9uQ29udGV4dCYpIGNvbnN0OworCiAgICAgY29uc3QgVmVjdG9yPFJlZjxjb25z
dCBFbGVtZW50Pj4mIG1fY29udGFpbmVyczsKIH07CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzYmUwNzI0NWQxZWZlZmEw
NGNkMWNkZTQ5OThjMDY0ZWJjZDVhYzA4Li45OTE2NTZlODhiZjBlMzE4NzQ4YjE2NGE5ZjQ4MzY3
ZDM5ZmYyMWVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjItMDItMTQgIEFudHRpIEtvaXZp
c3RvICA8YW50dGlAYXBwbGUuY29tPgorCisgICAgICAgIFtDU1MgQ29udGFpbmVyIFF1ZXJpZXNd
IEltcGxlbWVudCBmdWxsIHF1ZXJ5IHBhcnNlciBhbmQgZXZhbHVhdG9yCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzY1ODAKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisK
IDIwMjItMDItMTIgIFRpbSBOZ3V5ZW4gIDxudGltQGFwcGxlLmNvbT4KIAogICAgICAgICBTa2lw
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdXJsL3RvYXNjaWkud2luZG93Lmh0bWwg
b24gQ2F0YWxpbmEvQmlnIFN1cgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggYjg0
MGUzNzJjMDRkYTJkMDMwZWI2MTcyZDczYjhkMjIyZTE1MjZjOS4uZTFhODU0NmRlMGYxZjk3NzBj
OTg1OWQwZjY2YjBlYjdmNmZjMzBkYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMjItMDItMTQgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUu
Y29tPgorCisgICAgICAgIFtDU1MgQ29udGFpbmVyIFF1ZXJpZXNdIEltcGxlbWVudCBmdWxsIHF1
ZXJ5IHBhcnNlciBhbmQgZXZhbHVhdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzY1ODAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbmVyLXF1ZXJpZXMvYXQtY29udGFpbmVyLXBhcnNpbmctZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1ZXJpZXMv
Y29udGFpbmVyLWZvci1zaGFkb3ctZG9tLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluZXItcXVlcmllcy9j
b250YWluZXItdHlwZS1pbnZhbGlkYXRpb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1ZXJpZXMvcXVlcnktZXZh
bHVhdGlvbi1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluZXItcXVlcmllcy9zaXplLWZlYXR1cmUtZXZhbHVhdGlvbi1leHBl
Y3RlZC50eHQ6CisKIDIwMjItMDItMTIgIFRpbSBOZ3V5ZW4gIDxudGltQGFwcGxlLmNvbT4KIAog
ICAgICAgICBVbnJldmlld2VkIHRlc3QgZ2FyZGVuaW5nOiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3VybC90b2FzY2lpLndpbmRvdy5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA1
MzlmMWNlYmE2YmViOTBlYmE4MTBkZjIzNDkzNDg2NGJlYWEwZDU1Li42N2U4ZDBjMTM2MDk5NmRk
Y2NmYTU4YmFmMjQyODIxNjBiMDYyM2Q1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhw
ZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQ3MTAsNiAr
NDcxMCw3IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4taHRtbC1vdmVyZmxvdy0wMDQuaHRtbCBbCiB3ZWJraXQub3JnL2IvMjI5NjU5IGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW5lci1x
dWVyaWVzL2Rpc3BsYXktaW4tY29udGFpbmVyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdl
YmtpdC5vcmcvYi8yMjk2NTkgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbmVyLXF1ZXJpZXMvcHNldWRvLWVsZW1lbnRzLTAwMi50ZW50YXRpdmUu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIyOTY1OSBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluZXItcXVlcmllcy9t
dWx0aWNvbC1pbnNpZGUtY29udGFpbmVyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KK3dlYmtp
dC5vcmcvYi8yMjk2NTkgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbmVyLXF1ZXJpZXMvaW5saW5lLXNpemUtYmZjLWZsb2F0cy5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCiAKICMgRmxha3kgY3NzLWNvbnRhaW4gdGVzdAogaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2Fu
aW1hdGlvbi1kaXNwbGF5LWxvY2suaHRtbCBbIEZhaWx1cmUgUGFzcyBdCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluZXItcXVlcmllcy9hdC1jb250YWluZXItcGFyc2luZy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluZXItcXVlcmllcy9hdC1jb250YWluZXItcGFyc2luZy1leHBlY3RlZC50eHQKaW5k
ZXggNTAyYjlmNzY2NzNmNGU5NjJhNDYzMTljMzYxMjg1NTBmMzAzMDEyMy4uNzNmY2VkNzI4OTcx
ZjY3OGEyNzcwYjI5M2QwNDM1YzgxYjAxNWVlMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1
ZXJpZXMvYXQtY29udGFpbmVyLXBhcnNpbmctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW5l
ci1xdWVyaWVzL2F0LWNvbnRhaW5lci1wYXJzaW5nLWV4cGVjdGVkLnR4dApAQCAtMSwzNiArMSwz
NiBAQAogCi1GQUlMIHNpemUod2lkdGgpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBi
dXQgZ290ICIiCi1GQUlMIHNpemUobWluLXdpZHRoOiAwcHgpIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkICJ0cnVlIiBidXQgZ290ICIiCi1GQUlMIHNpemUobWF4LXdpZHRoOiAwcHgpIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICIiCi1GQUlMIHNpemUoaGVpZ2h0KSBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiIgotRkFJTCBzaXplKG1pbi1oZWln
aHQ6IDBweCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgIiIKLUZBSUwg
c2l6ZShtYXgtaGVpZ2h0OiAwcHgpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQg
Z290ICIiCitQQVNTIHNpemUod2lkdGgpCitQQVNTIHNpemUobWluLXdpZHRoOiAwcHgpCitQQVNT
IHNpemUobWF4LXdpZHRoOiAwcHgpCitQQVNTIHNpemUoaGVpZ2h0KQorUEFTUyBzaXplKG1pbi1o
ZWlnaHQ6IDBweCkKK1BBU1Mgc2l6ZShtYXgtaGVpZ2h0OiAwcHgpCiBGQUlMIHNpemUoYXNwZWN0
LXJhdGlvKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiIgotRkFJTCBz
aXplKG1pbi1hc3BlY3QtcmF0aW86IDEvMikgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUi
IGJ1dCBnb3QgIiIKLUZBSUwgc2l6ZShtYXgtYXNwZWN0LXJhdGlvOiAxLzIpIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICIiCi1GQUlMIHNpemUob3JpZW50YXRpb246IHBv
cnRyYWl0KSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiIgorRkFJTCBz
aXplKG1pbi1hc3BlY3QtcmF0aW86IDEvMikgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMiBidXQg
Z290IDAKK0ZBSUwgc2l6ZShtYXgtYXNwZWN0LXJhdGlvOiAxLzIpIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkIDIgYnV0IGdvdCAwCitGQUlMIHNpemUob3JpZW50YXRpb246IHBvcnRyYWl0KSBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCAyIGJ1dCBnb3QgMAogRkFJTCBzaXplKGlubGluZS1zaXplKSBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiIgogRkFJTCBzaXplKG1pbi1p
bmxpbmUtc2l6ZTogMHB4KSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAi
IgogRkFJTCBzaXplKG1heC1pbmxpbmUtc2l6ZTogMHB4KSBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAidHJ1ZSIgYnV0IGdvdCAiIgogRkFJTCBzaXplKGJsb2NrLXNpemUpIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICIiCiBGQUlMIHNpemUobWluLWJsb2NrLXNpemU6IDBw
eCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgIiIKIEZBSUwgc2l6ZSht
YXgtYmxvY2stc2l6ZTogMHB4KSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdv
dCAiIgotRkFJTCBzaXplKHdpZHRoOiAxMDBweCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRy
dWUiIGJ1dCBnb3QgIiIKLUZBSUwgc2l6ZSgod2lkdGg6IDEwMHB4KSkgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgIiIKLUZBSUwgc2l6ZShub3QgKHdpZHRoOiAxMDBweCkp
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICIiCi1GQUlMIHNpemUoKHdp
ZHRoOiAxMDBweCkgYW5kIChoZWlnaHQ6IDEwMHB4KSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
InRydWUiIGJ1dCBnb3QgIiIKLUZBSUwgc2l6ZSgod2lkdGg6IDUwcHgpIG9yIChoZWlnaHQ6IDEw
MHB4KSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgIiIKLUZBSUwgc2l6
ZSh3aWR0aCA8IDEwMHB4KSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAi
IgotRkFJTCBzaXplKDEwMHB4IDwgd2lkdGgpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVl
IiBidXQgZ290ICIiCi1GQUlMIHNpemUoMTAwcHggPCB3aWR0aCA8IDIwMHB4KSBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiIgorUEFTUyBzaXplKHdpZHRoOiAxMDBweCkK
K1BBU1Mgc2l6ZSgod2lkdGg6IDEwMHB4KSkKK1BBU1Mgc2l6ZShub3QgKHdpZHRoOiAxMDBweCkp
CitQQVNTIHNpemUoKHdpZHRoOiAxMDBweCkgYW5kIChoZWlnaHQ6IDEwMHB4KSkKK1BBU1Mgc2l6
ZSgod2lkdGg6IDUwcHgpIG9yIChoZWlnaHQ6IDEwMHB4KSkKK1BBU1Mgc2l6ZSh3aWR0aCA8IDEw
MHB4KQorRkFJTCBzaXplKDEwMHB4IDwgd2lkdGgpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDIg
YnV0IGdvdCAwCitGQUlMIHNpemUoMTAwcHggPCB3aWR0aCA8IDIwMHB4KSBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAyIGJ1dCBnb3QgMAogUEFTUyBmb28od2lkdGgpCiBQQVNTIHNpemUoYXNkZikK
LVBBU1Mgc2l6ZShyZXNvbHV0aW9uID4gMTAwZHBpKQotUEFTUyBzaXplKHJlc29sdXRpb246IDE1
MGRwaSkKK0ZBSUwgc2l6ZShyZXNvbHV0aW9uID4gMTAwZHBpKSBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAyIGJ1dCBnb3QgMAorRkFJTCBzaXplKHJlc29sdXRpb246IDE1MGRwaSkgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgMiBidXQgZ290IDAKIFBBU1Mgc2l6ZShjb2xvcikKLVBBU1Mgc2l6ZSht
aW4tY29sb3I6IDEpCi1QQVNTIHNpemUoY29sb3ItaW5kZXggPj0gMSkKLVBBU1MgKGNvbG9yLWlu
ZGV4ID49IDEpCitGQUlMIHNpemUobWluLWNvbG9yOiAxKSBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAyIGJ1dCBnb3QgMAorRkFJTCBzaXplKGNvbG9yLWluZGV4ID49IDEpIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkIDIgYnV0IGdvdCAwCitGQUlMIChjb2xvci1pbmRleCA+PSAxKSBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAyIGJ1dCBnb3QgMAogUEFTUyBzaXplKGdyaWQpCiBQQVNTIChncmlkKQog
UEFTUyBzY3JlZW4KQEAgLTQxLDI4ICs0MSwyOCBAQCBQQVNTIHNjcmVlbiBhbmQgKHdpZHRoOiAx
MDBweCkKIFBBU1Mgc2NyZWVuIG9yICh3aWR0aDogMTAwcHgpCiBQQVNTIG5vdCBzY3JlZW4gYW5k
ICh3aWR0aDogMTAwcHgpCiBQQVNTIG5vdCBzY3JlZW4gb3IgKHdpZHRoOiAxMDBweCkKLUZBSUwg
KHdpZHRoOiAxMDBweCksIChoZWlnaHQ6IDEwMHB4KSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAw
IGJ1dCBnb3QgMQorUEFTUyAod2lkdGg6IDEwMHB4KSwgKGhlaWdodDogMTAwcHgpCiBQQVNTIENv
bnRhaW5lciBzZWxlY3RvcjogIGZvbwogUEFTUyBDb250YWluZXIgc2VsZWN0b3I6ICBmb28KLVBB
U1MgQ29udGFpbmVyIHNlbGVjdG9yOiBuYW1lKGZvbykKLVBBU1MgQ29udGFpbmVyIHNlbGVjdG9y
OiBuYW1lKCBmb28gKQotUEFTUyBDb250YWluZXIgc2VsZWN0b3I6IHR5cGUoc2l6ZSkKLVBBU1Mg
Q29udGFpbmVyIHNlbGVjdG9yOiB0eXBlKCBzaXplICkKLVBBU1MgQ29udGFpbmVyIHNlbGVjdG9y
OiB0eXBlKGlubGluZS1zaXplKQotUEFTUyBDb250YWluZXIgc2VsZWN0b3I6IHR5cGUoYmxvY2st
c2l6ZSkKLVBBU1MgQ29udGFpbmVyIHNlbGVjdG9yOiBuYW1lKGJhcikgdHlwZShibG9jay1zaXpl
KQotUEFTUyBDb250YWluZXIgc2VsZWN0b3I6IHR5cGUoYmxvY2stc2l6ZSkgbmFtZShiYXIpCitG
QUlMIENvbnRhaW5lciBzZWxlY3RvcjogbmFtZShmb28pIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
IDEgYnV0IGdvdCAwCitGQUlMIENvbnRhaW5lciBzZWxlY3RvcjogbmFtZSggZm9vICkgYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgMSBidXQgZ290IDAKK0ZBSUwgQ29udGFpbmVyIHNlbGVjdG9yOiB0
eXBlKHNpemUpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEgYnV0IGdvdCAwCitGQUlMIENvbnRh
aW5lciBzZWxlY3RvcjogdHlwZSggc2l6ZSApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEgYnV0
IGdvdCAwCitGQUlMIENvbnRhaW5lciBzZWxlY3RvcjogdHlwZShpbmxpbmUtc2l6ZSkgYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgMSBidXQgZ290IDAKK0ZBSUwgQ29udGFpbmVyIHNlbGVjdG9yOiB0
eXBlKGJsb2NrLXNpemUpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEgYnV0IGdvdCAwCitGQUlM
IENvbnRhaW5lciBzZWxlY3RvcjogbmFtZShiYXIpIHR5cGUoYmxvY2stc2l6ZSkgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgMSBidXQgZ290IDAKK0ZBSUwgQ29udGFpbmVyIHNlbGVjdG9yOiB0eXBl
KGJsb2NrLXNpemUpIG5hbWUoYmFyKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxIGJ1dCBnb3Qg
MAogUEFTUyBDb250YWluZXIgc2VsZWN0b3I6IGZvbyBmb28KIFBBU1MgQ29udGFpbmVyIHNlbGVj
dG9yOiAxcHgKIFBBU1MgQ29udGFpbmVyIHNlbGVjdG9yOiA1MGdpbAotRkFJTCBDb250YWluZXIg
c2VsZWN0b3I6IG5hbWUoMXB4KSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAwIGJ1dCBnb3QgMQot
RkFJTCBDb250YWluZXIgc2VsZWN0b3I6IHR5cGUoMXB4KSBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAwIGJ1dCBnb3QgMQotRkFJTCBDb250YWluZXIgc2VsZWN0b3I6IHR5cGUocmVkKSBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAwIGJ1dCBnb3QgMQotRkFJTCBDb250YWluZXIgc2VsZWN0b3I6IHR5
cGUoc2l6ZSkgdHlwZShzaXplKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAwIGJ1dCBnb3QgMQot
RkFJTCBDb250YWluZXIgc2VsZWN0b3I6IHR5cGUoaW5saW5lLXNpemUpIHR5cGUoYmxvY2stc2l6
ZSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMCBidXQgZ290IDEKLUZBSUwgQ29udGFpbmVyIHNl
bGVjdG9yOiBuYW1lKGZvbykgbmFtZShiYXIpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDAgYnV0
IGdvdCAxCi1GQUlMIENvbnRhaW5lciBzZWxlY3RvcjogdHlwZShpbmxpbmUtc2l6ZSkgbmFtZShm
b28pIHR5cGUoYmxvY2stc2l6ZSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMCBidXQgZ290IDEK
LUZBSUwgQ29udGFpbmVyIHNlbGVjdG9yOiBuYW1lKGZvbykgdHlwZShzaXplKSBuYW1lKGJhcikg
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMCBidXQgZ290IDEKLUZBSUwgQ29udGFpbmVyIHNlbGVj
dG9yOiBuYW1lKHR5cGUoc2l6ZSkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDAgYnV0IGdvdCAx
Ci1GQUlMIENvbnRhaW5lciBzZWxlY3RvcjogdHlwZShuYW1lKGJhcikpIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkIDAgYnV0IGdvdCAxCitQQVNTIENvbnRhaW5lciBzZWxlY3RvcjogbmFtZSgxcHgp
CitQQVNTIENvbnRhaW5lciBzZWxlY3RvcjogdHlwZSgxcHgpCitQQVNTIENvbnRhaW5lciBzZWxl
Y3RvcjogdHlwZShyZWQpCitQQVNTIENvbnRhaW5lciBzZWxlY3RvcjogdHlwZShzaXplKSB0eXBl
KHNpemUpCitQQVNTIENvbnRhaW5lciBzZWxlY3RvcjogdHlwZShpbmxpbmUtc2l6ZSkgdHlwZShi
bG9jay1zaXplKQorUEFTUyBDb250YWluZXIgc2VsZWN0b3I6IG5hbWUoZm9vKSBuYW1lKGJhcikK
K1BBU1MgQ29udGFpbmVyIHNlbGVjdG9yOiB0eXBlKGlubGluZS1zaXplKSBuYW1lKGZvbykgdHlw
ZShibG9jay1zaXplKQorUEFTUyBDb250YWluZXIgc2VsZWN0b3I6IG5hbWUoZm9vKSB0eXBlKHNp
emUpIG5hbWUoYmFyKQorUEFTUyBDb250YWluZXIgc2VsZWN0b3I6IG5hbWUodHlwZShzaXplKSkK
K1BBU1MgQ29udGFpbmVyIHNlbGVjdG9yOiB0eXBlKG5hbWUoYmFyKSkKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbmVyLXF1ZXJpZXMvY29udGFpbmVyLWZvci1zaGFkb3ctZG9tLnRlbnRhdGl2ZS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluZXItcXVlcmllcy9jb250YWluZXItZm9yLXNoYWRvdy1k
b20udGVudGF0aXZlLWV4cGVjdGVkLnR4dAppbmRleCBkODFlZjI0MzU2NGJjMjUxYzA0YWFiZjk0
ZTJhY2YwZjQ1NWE4MGE3Li5lMzc2YTJjMDkyMGVmMTNjNTNiY2QzYTgxYmMwOTBkNTA0OTJhNWI1
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluZXItcXVlcmllcy9jb250YWluZXItZm9yLXNoYWRvdy1k
b20udGVudGF0aXZlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluZXItcXVlcmllcy9jb250
YWluZXItZm9yLXNoYWRvdy1kb20udGVudGF0aXZlLWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDYg
QEAKIAogRkFJTCBNYXRjaCBjb250YWluZXIgaW4gb3V0ZXIgdHJlZSBudWxsIGlzIG5vdCBhbiBv
YmplY3QgKGV2YWx1YXRpbmcgJ2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNpbmNsdXNpdmUtYW5j
ZXN0b3ItYWNyb3NzLXJvb3QgPiBkaXYiKS5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3InKQotRkFJ
TCBNYXRjaCBjb250YWluZXIgaW4gc2FtZSB0cmVlLCBub3Qgd2Fsa2luZyBmbGF0IHRyZWUgYW5j
ZXN0b3JzIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMCwgMTI4LCAwKSIgYnV0IGdvdCAi
cmdiKDAsIDAsIDApIgorUEFTUyBNYXRjaCBjb250YWluZXIgaW4gc2FtZSB0cmVlLCBub3Qgd2Fs
a2luZyBmbGF0IHRyZWUgYW5jZXN0b3JzCiBGQUlMIE1hdGNoIGNvbnRhaW5lciBpbiA6OnNsb3R0
ZWQgc2VsZWN0b3IncyBvcmlnaW5hdGluZyBlbGVtZW50IHRyZWUgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgInJnYigwLCAxMjgsIDApIiBidXQgZ290ICJyZ2IoMCwgMCwgMCkiCiBGQUlMIE1hdGNo
IGNvbnRhaW5lciBpbiBvdXRlciB0cmVlIGZvciA6aG9zdCBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAicmdiKDAsIDEyOCwgMCkiIGJ1dCBnb3QgInJnYigwLCAwLCAwKSIKIEZBSUwgTWF0Y2ggY29u
dGFpbmVyIGluIDo6cGFydCBzZWxlY3RvcidzIG9yaWdpbmF0aW5nIGVsZW1lbnQgdHJlZSBudWxs
IGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNp
bmNsdXNpdmUtYW5jZXN0b3ItcGFydCA+IGRpdiIpLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3Rvcicp
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluZXItcXVlcmllcy9jb250YWluZXItdHlwZS1pbnZhbGlk
YXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1ZXJpZXMvY29udGFpbmVyLXR5cGUt
aW52YWxpZGF0aW9uLWV4cGVjdGVkLnR4dAppbmRleCBjMzUxYzIzN2M3OGRjYmY0ZjhlOGY0M2Zm
OTQyY2MwY2Y5YWJiNmE5Li43ZTFmYmYxZDIyY2EyYjJiOTVmMmRkZWY2ODcyNThmOWFmMDU4Mzg5
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluZXItcXVlcmllcy9jb250YWluZXItdHlwZS1pbnZhbGlk
YXRpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW5lci1xdWVyaWVzL2NvbnRhaW5lci10
eXBlLWludmFsaWRhdGlvbi1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiBUZXN0CiAKLUZB
SUwgQ2hhbmdpbmcgdGhlIGNvbnRhaW5lciB0eXBlIGludmFsaWRhdGVzIHJlbGV2YW50IGRlc2Nl
bmRhbnRzIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMCwgMTI4LCAwKSIgYnV0IGdvdCAi
cmdiKDAsIDAsIDApIgorRkFJTCBDaGFuZ2luZyB0aGUgY29udGFpbmVyIHR5cGUgaW52YWxpZGF0
ZXMgcmVsZXZhbnQgZGVzY2VuZGFudHMgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJnYigwLCAw
LCAwKSIgYnV0IGdvdCAicmdiKDAsIDEyOCwgMCkiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW5l
ci1xdWVyaWVzL3F1ZXJ5LWV2YWx1YXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1
ZXJpZXMvcXVlcnktZXZhbHVhdGlvbi1leHBlY3RlZC50eHQKaW5kZXggOWIxY2IzNmFjNWUxZmQy
NzA2YmFjNzg1MTI2YWZkZTkwODY5ZWYxYi4uZTA4MDkyYmMwOGE3NDQ4MWVkNTEyMGMwN2FlMjkz
NzY2OTVlZDZhMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1ZXJpZXMvcXVlcnktZXZhbHVh
dGlvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1ZXJpZXMvcXVlcnktZXZhbHVh
dGlvbi1leHBlY3RlZC50eHQKQEAgLTMsMTggKzMsMTggQEAgUEFTUyBzaXplKHdpZHRoKQogUEFT
UyBzaXplKGhlaWdodCkKIFBBU1Mgc2l6ZSh1bmtub3duKQogUEFTUyB1bmtub3duKHdpZHRoKQot
RkFJTCAoc2l6ZSh3aWR0aCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290
ICJmYWxzZSIKK1BBU1MgKHNpemUod2lkdGgpKQogUEFTUyAoc2l6ZShoZWlnaHQpKQogUEFTUyAo
c2l6ZSh1bmtub3duKSkKLUZBSUwgKCgoc2l6ZSh3aWR0aCkpKSkgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgInRydWUiIGJ1dCBnb3QgImZhbHNlIgorUEFTUyAoKChzaXplKHdpZHRoKSkpKQogUEFT
UyAoKChzaXplKGhlaWdodCkpKSkKIFBBU1MgKCgoc2l6ZSh1bmtub3duKSkpKQogUEFTUyAobm90
IHNpemUod2lkdGgpKQotRkFJTCAobm90IHNpemUoaGVpZ2h0KSkgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgInRydWUiIGJ1dCBnb3QgImZhbHNlIgorUEFTUyAobm90IHNpemUoaGVpZ2h0KSkKIFBB
U1MgKG5vdCBzaXplKHVua25vd24pKQogUEFTUyAobm90IHVua25vd24od2lkdGgpKQotRkFJTCAo
c2l6ZSh3aWR0aCkgYW5kIHNpemUod2lkdGgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1
ZSIgYnV0IGdvdCAiZmFsc2UiCi1GQUlMIChzaXplKHdpZHRoKSBhbmQgc2l6ZSh3aWR0aCkgYW5k
IHNpemUod2lkdGgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiZmFs
c2UiCitQQVNTIChzaXplKHdpZHRoKSBhbmQgc2l6ZSh3aWR0aCkpCitQQVNTIChzaXplKHdpZHRo
KSBhbmQgc2l6ZSh3aWR0aCkgYW5kIHNpemUod2lkdGgpKQogUEFTUyAoc2l6ZShoZWlnaHQpIGFu
ZCBzaXplKGhlaWdodCkpCiBQQVNTIChzaXplKGhlaWdodCkgYW5kIHNpemUod2lkdGgpIGFuZCBz
aXplKHdpZHRoKSkKIFBBU1MgKHNpemUod2lkdGgpIGFuZCBzaXplKGhlaWdodCkgYW5kIHNpemUo
d2lkdGgpKQpAQCAtMjIsMzAgKzIyLDMwIEBAIFBBU1MgKHNpemUod2lkdGgpIGFuZCBzaXplKHdp
ZHRoKSBhbmQgc2l6ZShoZWlnaHQpKQogUEFTUyAoc2l6ZSh1bmtub3duKSBhbmQgc2l6ZSh3aWR0
aCkgYW5kIHNpemUod2lkdGgpKQogUEFTUyAoc2l6ZSh3aWR0aCkgYW5kIHNpemUodW5rbm93bikg
YW5kIHNpemUod2lkdGgpKQogUEFTUyAoc2l6ZSh3aWR0aCkgYW5kIHNpemUod2lkdGgpIGFuZCBz
aXplKHVua25vd24pKQotRkFJTCAoc2l6ZSh3aWR0aCkgb3Igc2l6ZSh3aWR0aCkpIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICJmYWxzZSIKLUZBSUwgKHNpemUod2lkdGgp
IG9yIHNpemUod2lkdGgpIG9yIHNpemUod2lkdGgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAi
dHJ1ZSIgYnV0IGdvdCAiZmFsc2UiCitQQVNTIChzaXplKHdpZHRoKSBvciBzaXplKHdpZHRoKSkK
K1BBU1MgKHNpemUod2lkdGgpIG9yIHNpemUod2lkdGgpIG9yIHNpemUod2lkdGgpKQogUEFTUyAo
c2l6ZShoZWlnaHQpIG9yIHNpemUoaGVpZ2h0KSkKLUZBSUwgKHNpemUoaGVpZ2h0KSBvciBzaXpl
KHdpZHRoKSBvciBzaXplKHdpZHRoKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1
dCBnb3QgImZhbHNlIgotRkFJTCAoc2l6ZSh3aWR0aCkgb3Igc2l6ZShoZWlnaHQpIG9yIHNpemUo
d2lkdGgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiZmFsc2UiCi1G
QUlMIChzaXplKHdpZHRoKSBvciBzaXplKHdpZHRoKSBvciBzaXplKGhlaWdodCkpIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICJmYWxzZSIKLUZBSUwgKHNpemUodW5rbm93
bikgb3Igc2l6ZSh3aWR0aCkgb3Igc2l6ZSh3aWR0aCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
ICJ0cnVlIiBidXQgZ290ICJmYWxzZSIKLUZBSUwgKHNpemUod2lkdGgpIG9yIHNpemUodW5rbm93
bikgb3Igc2l6ZSh3aWR0aCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290
ICJmYWxzZSIKLUZBSUwgKHNpemUod2lkdGgpIG9yIHNpemUod2lkdGgpIG9yIHNpemUodW5rbm93
bikpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICJmYWxzZSIKLUZBSUwg
KHNpemUodW5rbm93bikgb3Igc2l6ZShoZWlnaHQpIG9yIHNpemUod2lkdGgpKSBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiZmFsc2UiCitQQVNTIChzaXplKGhlaWdodCkg
b3Igc2l6ZSh3aWR0aCkgb3Igc2l6ZSh3aWR0aCkpCitQQVNTIChzaXplKHdpZHRoKSBvciBzaXpl
KGhlaWdodCkgb3Igc2l6ZSh3aWR0aCkpCitQQVNTIChzaXplKHdpZHRoKSBvciBzaXplKHdpZHRo
KSBvciBzaXplKGhlaWdodCkpCitQQVNTIChzaXplKHVua25vd24pIG9yIHNpemUod2lkdGgpIG9y
IHNpemUod2lkdGgpKQorUEFTUyAoc2l6ZSh3aWR0aCkgb3Igc2l6ZSh1bmtub3duKSBvciBzaXpl
KHdpZHRoKSkKK1BBU1MgKHNpemUod2lkdGgpIG9yIHNpemUod2lkdGgpIG9yIHNpemUodW5rbm93
bikpCitQQVNTIChzaXplKHVua25vd24pIG9yIHNpemUoaGVpZ2h0KSBvciBzaXplKHdpZHRoKSkK
IFBBU1MgKG5vdCAoc2l6ZSh3aWR0aCkgYW5kIHNpemUod2lkdGgpKSkKLUZBSUwgKG5vdCAoc2l6
ZSh3aWR0aCkgYW5kIHNpemUoaGVpZ2h0KSkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVl
IiBidXQgZ290ICJmYWxzZSIKK1BBU1MgKG5vdCAoc2l6ZSh3aWR0aCkgYW5kIHNpemUoaGVpZ2h0
KSkpCiBQQVNTIChzaXplKHdpZHRoKSBhbmQgKG5vdCAoc2l6ZShoZWlnaHQpIG9yIHNpemUod2lk
dGgpKSkpCi1GQUlMIChzaXplKGhlaWdodCkgb3IgKG5vdCAoc2l6ZShoZWlnaHQpIGFuZCBzaXpl
KHdpZHRoKSkpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiZmFsc2Ui
CitQQVNTIChzaXplKGhlaWdodCkgb3IgKG5vdCAoc2l6ZShoZWlnaHQpIGFuZCBzaXplKHdpZHRo
KSkpKQogUEFTUyAoc2l6ZShoZWlnaHQpIG9yIChzaXplKGhlaWdodCkgYW5kIHNpemUod2lkdGgp
KSkKLUZBSUwgc2l6ZSgod2lkdGgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0
IGdvdCAiZmFsc2UiCitQQVNTIHNpemUoKHdpZHRoKSkKIFBBU1Mgc2l6ZSgoaGVpZ2h0KSkKIFBB
U1Mgc2l6ZSgodW5rbm93bikpCiBQQVNTIHVua25vd24oKHdpZHRoKSkKIFBBU1Mgc2l6ZShub3Qg
KHdpZHRoKSkKLUZBSUwgc2l6ZShub3QgKGhlaWdodCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
ICJ0cnVlIiBidXQgZ290ICJmYWxzZSIKK1BBU1Mgc2l6ZShub3QgKGhlaWdodCkpCiBQQVNTIHNp
emUobm90ICh1bmtub3duKSkKLUZBSUwgc2l6ZSgod2lkdGgpIGFuZCAod2lkdGgpKSBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiZmFsc2UiCi1GQUlMIHNpemUoKHdpZHRo
KSBhbmQgKHdpZHRoKSBhbmQgKHdpZHRoKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUi
IGJ1dCBnb3QgImZhbHNlIgorUEFTUyBzaXplKCh3aWR0aCkgYW5kICh3aWR0aCkpCitQQVNTIHNp
emUoKHdpZHRoKSBhbmQgKHdpZHRoKSBhbmQgKHdpZHRoKSkKIFBBU1Mgc2l6ZSgoaGVpZ2h0KSBh
bmQgKGhlaWdodCkpCiBQQVNTIHNpemUoKGhlaWdodCkgYW5kICh3aWR0aCkgYW5kICh3aWR0aCkp
CiBQQVNTIHNpemUoKHdpZHRoKSBhbmQgKGhlaWdodCkgYW5kICh3aWR0aCkpCkBAIC01MywxOSAr
NTMsMTkgQEAgUEFTUyBzaXplKCh3aWR0aCkgYW5kICh3aWR0aCkgYW5kIChoZWlnaHQpKQogUEFT
UyBzaXplKCh1bmtub3duKSBhbmQgKHdpZHRoKSBhbmQgKHdpZHRoKSkKIFBBU1Mgc2l6ZSgod2lk
dGgpIGFuZCAodW5rbm93bikgYW5kICh3aWR0aCkpCiBQQVNTIHNpemUoKHdpZHRoKSBhbmQgKHdp
ZHRoKSBhbmQgKHVua25vd24pKQotRkFJTCBzaXplKCh3aWR0aCkgb3IgKHdpZHRoKSkgYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgImZhbHNlIgotRkFJTCBzaXplKCh3aWR0
aCkgb3IgKHdpZHRoKSBvciAod2lkdGgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIg
YnV0IGdvdCAiZmFsc2UiCitQQVNTIHNpemUoKHdpZHRoKSBvciAod2lkdGgpKQorUEFTUyBzaXpl
KCh3aWR0aCkgb3IgKHdpZHRoKSBvciAod2lkdGgpKQogUEFTUyBzaXplKChoZWlnaHQpIG9yICho
ZWlnaHQpKQotRkFJTCBzaXplKChoZWlnaHQpIG9yICh3aWR0aCkgb3IgKHdpZHRoKSkgYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgImZhbHNlIgotRkFJTCBzaXplKCh3aWR0
aCkgb3IgKGhlaWdodCkgb3IgKHdpZHRoKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUi
IGJ1dCBnb3QgImZhbHNlIgotRkFJTCBzaXplKCh3aWR0aCkgb3IgKHdpZHRoKSBvciAoaGVpZ2h0
KSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgImZhbHNlIgotRkFJTCBz
aXplKCh1bmtub3duKSBvciAod2lkdGgpIG9yICh3aWR0aCkpIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkICJ0cnVlIiBidXQgZ290ICJmYWxzZSIKLUZBSUwgc2l6ZSgod2lkdGgpIG9yICh1bmtub3du
KSBvciAod2lkdGgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiZmFs
c2UiCi1GQUlMIHNpemUoKHdpZHRoKSBvciAod2lkdGgpIG9yICh1bmtub3duKSkgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgImZhbHNlIgotRkFJTCBzaXplKCh1bmtub3du
KSBvciAoaGVpZ2h0KSBvciAod2lkdGgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIg
YnV0IGdvdCAiZmFsc2UiCitQQVNTIHNpemUoKGhlaWdodCkgb3IgKHdpZHRoKSBvciAod2lkdGgp
KQorUEFTUyBzaXplKCh3aWR0aCkgb3IgKGhlaWdodCkgb3IgKHdpZHRoKSkKK1BBU1Mgc2l6ZSgo
d2lkdGgpIG9yICh3aWR0aCkgb3IgKGhlaWdodCkpCitQQVNTIHNpemUoKHVua25vd24pIG9yICh3
aWR0aCkgb3IgKHdpZHRoKSkKK1BBU1Mgc2l6ZSgod2lkdGgpIG9yICh1bmtub3duKSBvciAod2lk
dGgpKQorUEFTUyBzaXplKCh3aWR0aCkgb3IgKHdpZHRoKSBvciAodW5rbm93bikpCitQQVNTIHNp
emUoKHVua25vd24pIG9yIChoZWlnaHQpIG9yICh3aWR0aCkpCiBQQVNTIHNpemUobm90ICgod2lk
dGgpIGFuZCAod2lkdGgpKSkKLUZBSUwgc2l6ZShub3QgKCh3aWR0aCkgYW5kIChoZWlnaHQpKSkg
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgImZhbHNlIgorUEFTUyBzaXpl
KG5vdCAoKHdpZHRoKSBhbmQgKGhlaWdodCkpKQogUEFTUyBzaXplKCh3aWR0aCkgYW5kIChub3Qg
KChoZWlnaHQpIG9yICh3aWR0aCkpKSkKLUZBSUwgc2l6ZSgoaGVpZ2h0KSBvciAobm90ICgoaGVp
Z2h0KSBhbmQgKHdpZHRoKSkpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdv
dCAiZmFsc2UiCitQQVNTIHNpemUoKGhlaWdodCkgb3IgKG5vdCAoKGhlaWdodCkgYW5kICh3aWR0
aCkpKSkKIFBBU1Mgc2l6ZSgoaGVpZ2h0KSBvciAoKGhlaWdodCkgYW5kICh3aWR0aCkpKQogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluZXItcXVlcmllcy9zaXplLWZlYXR1cmUtZXZhbHVhdGlvbi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluZXItcXVlcmllcy9zaXplLWZlYXR1cmUtZXZhbHVhdGlv
bi1leHBlY3RlZC50eHQKaW5kZXggYzJmMmQ2OWFhYjI0MGEwZDEzMDA5YjAyNDUxMzU2ZjFkOTJj
NDdjNC4uOWI0Yjk3YzY3NDQyMzE2NThkZjEwNWFiMzQ3ZmMzYTQ0YzkwMGJlZSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbmVyLXF1ZXJpZXMvc2l6ZS1mZWF0dXJlLWV2YWx1YXRpb24tZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRhaW5lci1xdWVyaWVzL3NpemUtZmVhdHVyZS1ldmFsdWF0aW9uLWV4
cGVjdGVkLnR4dApAQCAtMSwxMiArMSwxMiBAQAogVGVzdAogCi1QQVNTIHNpemUod2lkdGggPCAx
MDBweCkgKC5ob3Jpem9udGFsKQorRkFJTCBzaXplKHdpZHRoIDwgMTAwcHgpICguaG9yaXpvbnRh
bCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIiIgYnV0IGdvdCAidHJ1ZSIKIEZBSUwgc2l6ZSh3
aWR0aCA+PSAxMDBweCkgKC5ob3Jpem9udGFsKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1
ZSIgYnV0IGdvdCAiIgogUEFTUyBzaXplKG1pbi13aWR0aDogMTAwcHgpICguaG9yaXpvbnRhbCkK
IFBBU1Mgc2l6ZShtaW4td2lkdGg6IDEwMXB4KSAoLmhvcml6b250YWwpCiBQQVNTIHNpemUobWF4
LXdpZHRoOiAxMDBweCkgKC5ob3Jpem9udGFsKQogUEFTUyBzaXplKG1heC13aWR0aDogOTlweCkg
KC5ob3Jpem9udGFsKQotUEFTUyBzaXplKGhlaWdodCA8IDIwMHB4KSAoLmhvcml6b250YWwpCitG
QUlMIHNpemUoaGVpZ2h0IDwgMjAwcHgpICguaG9yaXpvbnRhbCkgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgIiIgYnV0IGdvdCAidHJ1ZSIKIEZBSUwgc2l6ZShoZWlnaHQgPj0gMjAwcHgpICguaG9y
aXpvbnRhbCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgIiIKIFBBU1Mg
c2l6ZShtaW4taGVpZ2h0OiAyMDBweCkgKC5ob3Jpem9udGFsKQogUEFTUyBzaXplKG1pbi1oZWln
aHQ6IDIwMXB4KSAoLmhvcml6b250YWwpCkBAIC0yOCwxMyArMjgsMTMgQEAgUEFTUyBzaXplKG9y
aWVudGF0aW9uOiBsYW5kc2NhcGUpICguaG9yaXpvbnRhbCkKIEZBSUwgc2l6ZShvcmllbnRhdGlv
bjogcG9ydHJhaXQpICguaG9yaXpvbnRhbCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUi
IGJ1dCBnb3QgIiIKIEZBSUwgc2l6ZShhc3BlY3QtcmF0aW86IDEvMikgKC5ob3Jpem9udGFsKSBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiIgogUEFTUyBzaXplKGFzcGVj
dC1yYXRpbzogMi8xKSAoLmhvcml6b250YWwpCi1QQVNTIHNpemUod2lkdGggPCAxMDBweCkgKC52
ZXJ0aWNhbCkKK0ZBSUwgc2l6ZSh3aWR0aCA8IDEwMHB4KSAoLnZlcnRpY2FsKSBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAiIiBidXQgZ290ICJ0cnVlIgogRkFJTCBzaXplKHdpZHRoID49IDEwMHB4
KSAoLnZlcnRpY2FsKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiIgog
UEFTUyBzaXplKG1pbi13aWR0aDogMTAwcHgpICgudmVydGljYWwpCiBQQVNTIHNpemUobWluLXdp
ZHRoOiAxMDFweCkgKC52ZXJ0aWNhbCkKIFBBU1Mgc2l6ZShtYXgtd2lkdGg6IDEwMHB4KSAoLnZl
cnRpY2FsKQogUEFTUyBzaXplKG1heC13aWR0aDogOTlweCkgKC52ZXJ0aWNhbCkKLVBBU1Mgc2l6
ZShoZWlnaHQgPCAyMDBweCkgKC52ZXJ0aWNhbCkKK0ZBSUwgc2l6ZShoZWlnaHQgPCAyMDBweCkg
KC52ZXJ0aWNhbCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIiIgYnV0IGdvdCAidHJ1ZSIKIEZB
SUwgc2l6ZShoZWlnaHQgPj0gMjAwcHgpICgudmVydGljYWwpIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkICJ0cnVlIiBidXQgZ290ICIiCiBQQVNTIHNpemUobWluLWhlaWdodDogMjAwcHgpICgudmVy
dGljYWwpCiBQQVNTIHNpemUobWluLWhlaWdodDogMjAxcHgpICgudmVydGljYWwpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451921</attachid>
            <date>2022-02-14 10:16:40 -0800</date>
            <delta_ts>2022-02-14 11:07:14 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-236580-20220214201638.patch</filename>
            <type>text/plain</type>
            <size>50043</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5NzA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzAyNWJhMjg0MWVjMGY2
N2E3Zjg1YWVlYmYwN2U2ZTg5OThiYWFhOC4uYjM0MzY5M2RiYTA5ODllMTI3YjRhNTIyZGI5YjBm
ZmZiZmQ3MjhmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDIyLTAyLTE0ICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBbQ1NTIENvbnRhaW5lciBR
dWVyaWVzXSBJbXBsZW1lbnQgZnVsbCBxdWVyeSBwYXJzZXIgYW5kIGV2YWx1YXRvcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2NTgwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KKworICAgICAgICBTbyBmYXIgd2UgaGF2ZSBiZWVu
IHVzaW5nIHRoZSBtZWRpYSBxdWVyeSBwYXJzZXIgdG8gcGFyc2UgY29udGFpbmVyIHF1ZXJpZXMu
CisgICAgICAgIEl0IGRvZXMgbm90IHN1cHBvcnQgbmVzdGluZyBhbmQgb3RoZXIgbmVjZXNzYXJ5
IGZlYXR1cmVzLiBBbHNvIHRoZSBwcm9kdWNlZCBkYXRhCisgICAgICAgIHN0cnVjdHVyZXMgYXJl
IGF3a3dhcmQgdG8gZXZhbHVhdGUuCisKKyAgICAgICAgaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3Jn
L2Nzcy1jb250YWluLTMvI2NvbnRhaW5lci1ydWxlCisKKyAgICAgICAgVGhpcyBwYXRjaCBzdXBw
b3J0cyBzaXplIHF1ZXJpZXMgYnV0IG5vdCBzdHlsZSBxdWVyaWVzLiBJdCBzdXBwb3J0cyBib3Ro
IHRoZSBjdXJyZW50IHNwZWMKKyAgICAgICAgc2l6ZSBxdWVyeSBzeW50YXggInNpemUoZm9vKSIg
KHVzZWQgaW4gV1BUcyksIGFuZCB0aGUgbm9uLWZ1bmN0aW9uIFBPUiBzeW50YXggZnJvbQorICAg
ICAgICBodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLWRyYWZ0cy9pc3N1ZXMvNjg3MCNpc3N1
ZWNvbW1lbnQtMTAyMjQzMDkxMS4KKworICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAq
IFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBjc3MvQ29udGFp
bmVyUXVlcnkuaDoKKyAgICAgICAgKiBjc3MvQ29udGFpbmVyUXVlcnlQYXJzZXIuY3BwOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OkNvbnRhaW5lclF1ZXJ5UGFyc2VyOjpwYXJzZSk6CisgICAg
ICAgIChXZWJDb3JlOjpDb250YWluZXJRdWVyeVBhcnNlcjo6Y29uc3VtZUNvbnRhaW5lclF1ZXJ5
KToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRhaW5lclF1ZXJ5UGFyc2VyOjpjb25zdW1lQ29uZGl0
aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRhaW5lclF1ZXJ5UGFyc2VyOjpjb25zdW1lU2l6
ZVF1ZXJ5KToKKworICAgICAgICBObyBzdXBwb3J0IGZvciByYW5nZSBvcGVyYXRvcnMgKCc8JyBl
dGMpIHlldC4KKworICAgICAgICAqIGNzcy9Db250YWluZXJRdWVyeVBhcnNlci5oOiBDb3BpZWQg
ZnJvbSBTb3VyY2UvV2ViQ29yZS9jc3MvQ29udGFpbmVyUXVlcnkuaC4KKyAgICAgICAgKFdlYkNv
cmU6OkNvbnRhaW5lclF1ZXJ5UGFyc2VyOjpDb250YWluZXJRdWVyeVBhcnNlcik6CisgICAgICAg
ICogY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Bh
cnNlckltcGw6OmNvbnN1bWVDb250YWluZXJSdWxlKToKKyAgICAgICAgKiBzdHlsZS9Db250YWlu
ZXJRdWVyeUV2YWx1YXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6Y29tcHV0ZVNp
emUpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkNvbnRhaW5lclF1ZXJ5RXZhbHVhdG9yOjpl
dmFsdWF0ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6Q29udGFpbmVyUXVlcnlF
dmFsdWF0b3I6OmV2YWx1YXRlUXVlcnkgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6
OkNvbnRhaW5lclF1ZXJ5RXZhbHVhdG9yOjpldmFsdWF0ZUNvbmRpdGlvbiBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpTdHlsZTo6Q29udGFpbmVyUXVlcnlFdmFsdWF0b3I6OmV2YWx1YXRlU2l6
ZUZlYXR1cmUgY29uc3QpOgorCisgICAgICAgIEp1c3QgJ3dpZHRoJyBhbmQgJ2hlaWdodCcgZm9y
IG5vdywgbm8gbmV3IHNpemUgZmVhdHVyZXMgeWV0LgorCisgICAgICAgICogc3R5bGUvQ29udGFp
bmVyUXVlcnlFdmFsdWF0b3IuaDoKKwogMjAyMi0wMi0xMyAgQW50dGkgS29pdmlzdG8gIDxhbnR0
aUBhcHBsZS5jb20+CiAKICAgICAgICAgW0NTUyBDb250YWluZXIgUXVlcmllc10gQWRkIHNlcGFy
YXRlIENvbnRhaW5lclF1ZXJ5IGFuZCBGaWx0ZXJlZENvbnRhaW5lclF1ZXJ5IHR5cGVzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJj
ZXMudHh0CmluZGV4IDIwMTkwNTYyYzEzMzYxNjgzMjVhMzQ5OGU1YjMxZDQwODJkYjY3Y2IuLmJj
YjM5ZWMzNjAwOTU0MjI1ZDg1YWNlNDVjYmYwOWIyMzk5MzA2OTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBA
IC03MDQsNiArNzA0LDcgQEAgY3J5cHRvL2tleXMvQ3J5cHRvS2V5UlNBLmNwcAogY3J5cHRvL2tl
eXMvQ3J5cHRvS2V5UlNBQ29tcG9uZW50cy5jcHAKIGNyeXB0by9rZXlzL0NyeXB0b0tleVJhdy5j
cHAKIGNzcy9CYXNpY1NoYXBlRnVuY3Rpb25zLmNwcAorY3NzL0NvbnRhaW5lclF1ZXJ5UGFyc2Vy
LmNwcAogY3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUuY3BwCiBjc3MvQ1NTQmFzaWNTaGFwZXMuY3Bw
CiBjc3MvQ1NTQm9yZGVySW1hZ2UuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZjNjMzUyNGI0NTc2YzQ2NWRlN2ZlZTE5MzM5
OTQ1OWI1OTFiNWJmOC4uY2RkZmZmNjZkN2IzYmE3NjU0M2JmOTYyOGIxYjQ0NTg1MjFmMTgzZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agpAQCAtNTQyOSw2ICs1NDI5LDcgQEAKIAkJRTRFRDNFQ0MyNzY4QTUxRDAwRjE3QUM4IC8qIEhh
c1NlbGVjdG9yRmlsdGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBFNEVEM0VDQTI3NjhBNTFDMDBGMTdBQzggLyogSGFzU2VsZWN0b3JGaWx0ZXIuaCAq
LzsgfTsKIAkJRTRGMEJFMzEyNTcxMkY2RTAwOUU3NDMxIC8qIENhcmV0UmVjdENvbXB1dGF0aW9u
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNEYwQkUy
RTI1NzEwQTc1MDA5RTc0MzEgLyogQ2FyZXRSZWN0Q29tcHV0YXRpb24uaCAqLzsgfTsKIAkJRTRG
MTU3MzkyN0I5MjYxNTAwQjMzMEQ4IC8qIENvbnRhaW5lclF1ZXJ5LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNEYxNTczMjI3QjY5OTFGMDBCMzMwRDgg
LyogQ29udGFpbmVyUXVlcnkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQlFNEYxNTc0MTI3QjkzQjc3MDBCMzMwRDggLyogQ29udGFpbmVyUXVlcnlQ
YXJzZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0
RjE1NzNEMjdCOTNCNEMwMEIzMzBEOCAvKiBDb250YWluZXJRdWVyeVBhcnNlci5oICovOyB9Owog
CQlFNEYzOEQxQjI2MjZGMTNCMDA3QjEwNjQgLyogRGVmYXVsdFJlc291cmNlTG9hZFByaW9yaXR5
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNEYzOEQx
OTI2MjZGMTNCMDA3QjEwNjQgLyogRGVmYXVsdFJlc291cmNlTG9hZFByaW9yaXR5LmggKi87IH07
CiAJCUU0RjgxOUM2MjZGQjRFQkYwMDk0RTE2MiAvKiBJbmxpbmVCb3hQYWludGVyLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNEY4MTlDNTI2RkI0RUJG
MDA5NEUxNjIgLyogSW5saW5lQm94UGFpbnRlci5oICovOyB9OwogCQlFNEY5RUVGMzE1NkRBMDA3
MDBEMjNFN0UgLyogU3R5bGVTaGVldENvbnRlbnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNEY5RUVGMTE1NkQ4NEM0MDBEMjNFN0UgLyogU3R5bGVT
aGVldENvbnRlbnRzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKQEAgLTE3NjExLDYgKzE3NjEyLDggQEAKIAkJRTRGMEJFMkUyNTcxMEE3NTAwOUU3NDMx
IC8qIENhcmV0UmVjdENvbXB1dGF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IENhcmV0UmVjdENvbXB1dGF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUU0RjBCRTMwMjU3MTBBNzYwMDlFNzQzMSAvKiBDYXJldFJlY3RDb21wdXRhdGlvbi5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDYXJldFJlY3RDb21wdXRhdGlvbi5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0RjE1NzMyMjdCNjk5MUYwMEIzMzBE
OCAvKiBDb250YWluZXJRdWVyeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb250YWluZXJRdWVyeS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFNEYxNTczRDI3QjkzQjRDMDBCMzMwRDggLyog
Q29udGFpbmVyUXVlcnlQYXJzZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29udGFpbmVyUXVlcnlQYXJz
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTRGMTU3M0YyN0I5M0I1ODAwQjMz
MEQ4IC8qIENvbnRhaW5lclF1ZXJ5UGFyc2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENvbnRh
aW5lclF1ZXJ5UGFyc2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTRGMzhE
MTkyNjI2RjEzQjAwN0IxMDY0IC8qIERlZmF1bHRSZXNvdXJjZUxvYWRQcmlvcml0eS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEZWZhdWx0UmVzb3VyY2VMb2FkUHJpb3JpdHku
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTRGMzhEMUMyNjI2RjE0NDAwN0IxMDY0
IC8qIERlZmF1bHRSZXNvdXJjZUxvYWRQcmlvcml0eS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBEZWZhdWx0UmVzb3VyY2VMb2FkUHJpb3JpdHkuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlFNEY4MTlDMjI2RkI0RUFGMDA5NEUxNjIgLyogSW5saW5l
Qm94UGFpbnRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbmxp
bmVCb3hQYWludGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTMxNTk2LDYg
KzMxNTk5LDggQEAKIAkJCQlGQkQ2QUY4NDE1RUYyMUQ0MDA4QjcxMTAgLyogQmFzaWNTaGFwZUZ1
bmN0aW9ucy5jcHAgKi8sCiAJCQkJRkJENkFGODUxNUVGMjFENDAwOEI3MTEwIC8qIEJhc2ljU2hh
cGVGdW5jdGlvbnMuaCAqLywKIAkJCQlFNEYxNTczMjI3QjY5OTFGMDBCMzMwRDggLyogQ29udGFp
bmVyUXVlcnkuaCAqLywKKwkJCQlFNEYxNTczRjI3QjkzQjU4MDBCMzMwRDggLyogQ29udGFpbmVy
UXVlcnlQYXJzZXIuY3BwICovLAorCQkJCUU0RjE1NzNEMjdCOTNCNEMwMEIzMzBEOCAvKiBDb250
YWluZXJRdWVyeVBhcnNlci5oICovLAogCQkJCUE4MEU2Q0RBMEExOTg5Q0EwMDdGQjhDNSAvKiBD
b3VudGVyLmggKi8sCiAJCQkJQ0FFOUY5MEQxNDY0NDFGMDAwQzI0NUIwIC8qIENTU0FzcGVjdFJh
dGlvVmFsdWUuY3BwICovLAogCQkJCUNBRTlGOTBFMTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3Bl
Y3RSYXRpb1ZhbHVlLmggKi8sCkBAIC0zMzg3MSw3ICszMzg3Niw5IEBACiAJCQkJRTU5NkREMzUy
NTE5MDQxNDAwQzI3NUE3IC8qIENvbnRhY3RzU2VsZWN0T3B0aW9ucy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQTgxODcyMUMwOTc3RDNDMDAwNTgyNkQ5IC8qIENvbnRhaW5lck5vZGUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUUxQTE0NzA4MTExMDJCMTUwMEVFQzBGMyAvKiBDb250YWluZXJOb2RlQWxn
b3JpdGhtcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTRGMTU3MzkyN0I5MjYxNTAwQjMzMEQ4IC8q
IENvbnRhaW5lclF1ZXJ5LmggaW4gSGVhZGVycyAqLywKIAkJCQlFNEFBQjM4NzI3QUE5NUQ3MDA5
RjU4OTkgLyogQ29udGFpbmVyUXVlcnlFdmFsdWF0b3IuaCBpbiBIZWFkZXJzICovLAorCQkJCUU0
RjE1NzQxMjdCOTNCNzcwMEIzMzBEOCAvKiBDb250YWluZXJRdWVyeVBhcnNlci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNkZCNUUyMTQyMjFGMjQ1MzAwMzk4OUNGIC8qIENvbnRlbnRDaGFuZ2VPYnNl
cnZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM1RUI5ODEwRTgyMDcyNTAwQjI1OTY1IC8qIENv
bnRlbnREYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUI0NUQyMTFBQjhEMUUyMDAxMTdDRDIg
LyogQ29udGVudEV4dGVuc2lvbi5oIGluIEhlYWRlcnMgKi8sCkBAIC0zNzE4OCw3ICszNzE5NSw2
IEBACiAJCQkJRTQ1MzIyQUMxNDBDRTI2NzAwNUEwRjkyIC8qIFNlbGVjdG9yUXVlcnkuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUY0RDQzRDY2MjE4ODAzOEIwMEVDRUNBQyAvKiBTZXJpYWxpemVkQXR0
YWNobWVudERhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxOERGMzM1MThBQUYxMkMwMDc3M0U1
OSAvKiBTZXJpYWxpemVkQ3J5cHRvS2V5V3JhcC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJRTRGMTU3
MzkyN0I5MjYxNTAwQjMzMEQ4IC8qIENvbnRhaW5lclF1ZXJ5LmggaW4gSGVhZGVycyAqLywKIAkJ
CQkwNzdBRjE0MDE4RjRBRTQwMDAwMUVENjEgLyogU2VyaWFsaXplZFBsYXRmb3JtRGF0YUN1ZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMDc3QUYxNDMxOEY0QjFCQjAwMDFFRDYxIC8qIFNlcmlhbGl6
ZWRQbGF0Zm9ybURhdGFDdWVNYWMuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3NkQxQzFGMjNGNkVC
NUIwMEQ5NUIwNiAvKiBTZXJpYWxpemVkUGxhdGZvcm1EYXRhQ3VlVmFsdWUuaCBpbiBIZWFkZXJz
ICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4g
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgppbmRleCAyNDJlZmY4ZTZl
N2NlZTJhOWQ0NjVmZGY3YmI0OTU1Mzc3MDdhM2YyLi4zMjcxMzA4YjFlMDZiOTYxZWQ5ZmM0ZWUx
OWFhMDRhMTAyY2ZmYjUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVL
ZXl3b3Jkcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgpA
QCAtMTY0MSwzICsxNjQxLDggQEAgcmF5CiAvLyBmYXJ0aGVzdC1jb3JuZXIKIHNpZGVzCiAvLyBj
b250YWluCisKKy8vIGZvciBAbWVkaWEvQHN1cHBvcnRzL0Bjb250YWluZXIKK2FuZAorb3IKK25v
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ29udGFpbmVyUXVlcnkuaAppbmRleCA4ZDhkZTBjMDBjNWIyMTllNDBm
NThkNjI2NTY4NDIwNTNiOWI1MjBiLi44NTlhMTFlODc4ZjlkZmY0M2NlODAwNTQ1ZDAwMDU0Yjkz
Y2JiYmQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ29udGFpbmVyUXVlcnkuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ29udGFpbmVyUXVlcnkuaApAQCAtMjgsMTMgKzI4LDQ1
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgTWVkaWFRdWVyeVNldDsKK2NsYXNz
IENTU1ByaW1pdGl2ZVZhbHVlOwogCi11c2luZyBDb250YWluZXJRdWVyeSA9IE1lZGlhUXVlcnlT
ZXQ7CituYW1lc3BhY2UgQ1EgeworCitzdHJ1Y3QgQ29udGFpbmVyQ29uZGl0aW9uOworc3RydWN0
IFNpemVDb25kaXRpb247CitzdHJ1Y3QgU2l6ZUZlYXR1cmU7CisKK3N0cnVjdCBVbmtub3duUXVl
cnkgeyB9OworCit1c2luZyBTaXplUXVlcnkgPSBzdGQ6OnZhcmlhbnQ8U2l6ZUNvbmRpdGlvbiwg
U2l6ZUZlYXR1cmU+OwordXNpbmcgQ29udGFpbmVyUXVlcnkgPSBzdGQ6OnZhcmlhbnQ8Q29udGFp
bmVyQ29uZGl0aW9uLCBTaXplUXVlcnksIFVua25vd25RdWVyeT47CisKK2VudW0gY2xhc3MgTG9n
aWNhbE9wZXJhdG9yIDogdWludDhfdCB7IEFuZCwgT3IsIE5vdCB9OworZW51bSBjbGFzcyBDb21w
YXJpc29uT3BlcmF0b3IgOiB1aW50OF90IHsgTGVzc1RoYW4sIExlc3NUaGFuT3JFcXVhbCwgRXF1
YWwsIEdyZWF0ZXJUaGFuLCBHcmVhdGVyVGhhbk9yRXF1YWwsIFRydWUgfTsKKworc3RydWN0IENv
bnRhaW5lckNvbmRpdGlvbiB7CisgICAgTG9naWNhbE9wZXJhdG9yIGxvZ2ljYWxPcGVyYXRvciB7
IExvZ2ljYWxPcGVyYXRvcjo6QW5kIH07CisgICAgVmVjdG9yPENvbnRhaW5lclF1ZXJ5PiBxdWVy
aWVzOworfTsKKworc3RydWN0IFNpemVDb25kaXRpb24geworICAgIExvZ2ljYWxPcGVyYXRvciBs
b2dpY2FsT3BlcmF0b3IgeyBMb2dpY2FsT3BlcmF0b3I6OkFuZCB9OworICAgIFZlY3RvcjxTaXpl
UXVlcnk+IHF1ZXJpZXM7Cit9OworCitzdHJ1Y3QgU2l6ZUZlYXR1cmUgeworICAgIENvbXBhcmlz
b25PcGVyYXRvciBjb21wYXJpc29uT3BlcmF0b3IgeyBDb21wYXJpc29uT3BlcmF0b3I6OkVxdWFs
IH07CisgICAgQXRvbVN0cmluZyBuYW1lOworICAgIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4g
dmFsdWU7Cit9OworCit9CisKK3VzaW5nIENvbnRhaW5lclF1ZXJ5ID0gQ1E6OkNvbnRhaW5lclF1
ZXJ5OwogCiBzdHJ1Y3QgRmlsdGVyZWRDb250YWluZXJRdWVyeSB7CiAgICAgQXRvbVN0cmluZyBu
YW1lRmlsdGVyOwotICAgIFJlZjxDb250YWluZXJRdWVyeT4gcXVlcnk7CisgICAgQ29udGFpbmVy
UXVlcnkgcXVlcnk7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ29u
dGFpbmVyUXVlcnlQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5
UGFyc2VyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZjg3NDIyMmUxMTJmNjdiZTE3MTg5ZWFhZDM5Nzk5NmEy
ODkxYzgxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1
ZXJ5UGFyc2VyLmNwcApAQCAtMCwwICsxLDE3NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAy
MiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ29udGFpbmVyUXVlcnlQYXJz
ZXIuaCIKKworI2luY2x1ZGUgIkNTU1ByaW1pdGl2ZVZhbHVlLmgiCisjaW5jbHVkZSAiQ1NTUHJv
cGVydHlQYXJzZXJIZWxwZXJzLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RkOjpvcHRp
b25hbDxDb250YWluZXJRdWVyeT4gQ29udGFpbmVyUXVlcnlQYXJzZXI6OmNvbnN1bWVDb250YWlu
ZXJRdWVyeShDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSwgY29uc3QgQ1NTUGFyc2VyQ29udGV4
dCYgY29udGV4dCkKK3sKKyAgICBDb250YWluZXJRdWVyeVBhcnNlciBwYXJzZXIoY29udGV4dCk7
CisgICAgcmV0dXJuIHBhcnNlci5jb25zdW1lQ29udGFpbmVyUXVlcnkocmFuZ2UpOworfQorCitz
dGQ6Om9wdGlvbmFsPENROjpDb250YWluZXJRdWVyeT4gQ29udGFpbmVyUXVlcnlQYXJzZXI6OmNv
bnN1bWVDb250YWluZXJRdWVyeShDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSkKK3sKKyAgICBp
ZiAocmFuZ2UucGVlaygpLnR5cGUoKSA9PSBGdW5jdGlvblRva2VuKSB7CisgICAgICAgIGJvb2wg
aXNTaXplUXVlcnkgPSByYW5nZS5wZWVrKCkuZnVuY3Rpb25JZCgpID09IENTU1ZhbHVlU2l6ZTsK
KworICAgICAgICBhdXRvIGJsb2NrUmFuZ2UgPSByYW5nZS5jb25zdW1lQmxvY2soKTsKKyAgICAg
ICAgYmxvY2tSYW5nZS5jb25zdW1lV2hpdGVzcGFjZSgpOworCisgICAgICAgIGlmICghaXNTaXpl
UXVlcnkpCisgICAgICAgICAgICByZXR1cm4gQ1E6OlVua25vd25RdWVyeSB7IH07CisKKyAgICAg
ICAgYXV0byBzaXplUXVlcnkgPSBjb25zdW1lU2l6ZVF1ZXJ5KGJsb2NrUmFuZ2UpOworICAgICAg
ICBpZiAoIXNpemVRdWVyeSkKKyAgICAgICAgICAgIHJldHVybiB7IH07CisgICAgICAgIHJldHVy
biB7ICpzaXplUXVlcnkgfTsKKyAgICB9CisKKyAgICBpZiAocmFuZ2UucGVlaygpLnR5cGUoKSA9
PSBMZWZ0UGFyZW50aGVzaXNUb2tlbikgeworICAgICAgICBhdXRvIGJsb2NrUmFuZ2UgPSByYW5n
ZS5jb25zdW1lQmxvY2soKTsKKyAgICAgICAgcmFuZ2UuY29uc3VtZVdoaXRlc3BhY2UoKTsKKwor
ICAgICAgICBibG9ja1JhbmdlLmNvbnN1bWVXaGl0ZXNwYWNlKCk7CisKKyAgICAgICAgLy8gVHJ5
IHRvIHBhcnNlIGFzIGEgc2l6ZSBxdWVyeSBmaXJzdC4KKyAgICAgICAgYXV0byBibG9ja0ZvclNp
emVRdWVyeSA9IGJsb2NrUmFuZ2U7CisgICAgICAgIGlmIChhdXRvIHNpemVRdWVyeSA9IGNvbnN1
bWVTaXplUXVlcnkoYmxvY2tGb3JTaXplUXVlcnkpKQorICAgICAgICAgICAgcmV0dXJuIHsgKnNp
emVRdWVyeSB9OworCisgICAgICAgIGlmIChhdXRvIGNvbmRpdGlvbiA9IGNvbnN1bWVDb25kaXRp
b248Q1E6OkNvbnRhaW5lckNvbmRpdGlvbj4oYmxvY2tSYW5nZSkpCisgICAgICAgICAgICByZXR1
cm4geyBjb25kaXRpb24gfTsKKyAgICB9CisKKyAgICByZXR1cm4geyB9OworfQorCit0ZW1wbGF0
ZTx0eXBlbmFtZSBDb25kaXRpb25UeXBlPgorc3RkOjpvcHRpb25hbDxDb25kaXRpb25UeXBlPiBD
b250YWluZXJRdWVyeVBhcnNlcjo6Y29uc3VtZUNvbmRpdGlvbihDU1NQYXJzZXJUb2tlblJhbmdl
JiByYW5nZSkKK3sKKyAgICBhdXRvIGNvbnN1bWVRdWVyeSA9IFsmXShDU1NQYXJzZXJUb2tlblJh
bmdlJiByYW5nZSkgeworICAgICAgICBpZiBjb25zdGV4cHIgKHN0ZDo6aXNfc2FtZV92PENROjpD
b250YWluZXJDb25kaXRpb24sIENvbmRpdGlvblR5cGU+KQorICAgICAgICAgICAgcmV0dXJuIGNv
bnN1bWVDb250YWluZXJRdWVyeShyYW5nZSk7CisgICAgICAgIGlmIGNvbnN0ZXhwciAoc3RkOjpp
c19zYW1lX3Y8Q1E6OlNpemVDb25kaXRpb24sIENvbmRpdGlvblR5cGU+KSB7CisgICAgICAgICAg
ICBpZiAocmFuZ2UucGVlaygpLnR5cGUoKSAhPSBMZWZ0UGFyZW50aGVzaXNUb2tlbikKKyAgICAg
ICAgICAgICAgICByZXR1cm4gc3RkOjpvcHRpb25hbDxDUTo6U2l6ZVF1ZXJ5PigpOworICAgICAg
ICAgICAgYXV0byBibG9ja1JhbmdlID0gcmFuZ2UuY29uc3VtZUJsb2NrKCk7CisgICAgICAgICAg
ICByZXR1cm4gY29uc3VtZVNpemVRdWVyeShibG9ja1JhbmdlKTsKKyAgICAgICAgfQorICAgIH07
CisKKyAgICBpZiAocmFuZ2UucGVlaygpLnR5cGUoKSA9PSBJZGVudFRva2VuKSB7CisgICAgICAg
IGlmIChyYW5nZS5wZWVrKCkuaWQoKSA9PSBDU1NWYWx1ZU5vdCkgeworICAgICAgICAgICAgcmFu
Z2UuY29uc3VtZUluY2x1ZGluZ1doaXRlc3BhY2UoKTsKKyAgICAgICAgICAgIGlmIChhdXRvIHF1
ZXJ5ID0gY29uc3VtZVF1ZXJ5KHJhbmdlKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gQ29uZGl0
aW9uVHlwZSB7IENROjpMb2dpY2FsT3BlcmF0b3I6Ok5vdCwgeyAqcXVlcnkgfSB9OworICAgICAg
ICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgfQorICAgIH0KKworICAgIENvbmRpdGlvblR5cGUg
Y29uZGl0aW9uOworCisgICAgYXV0byBxdWVyeSA9IGNvbnN1bWVRdWVyeShyYW5nZSk7CisgICAg
aWYgKCFxdWVyeSkKKyAgICAgICAgcmV0dXJuIHsgfTsKKworICAgIGNvbmRpdGlvbi5xdWVyaWVz
LmFwcGVuZCgqcXVlcnkpOworICAgIHJhbmdlLmNvbnN1bWVXaGl0ZXNwYWNlKCk7CisKKyAgICBh
dXRvIGNvbnN1bWVPcGVyYXRvciA9IFsmXSgpIC0+IHN0ZDo6b3B0aW9uYWw8Q1E6OkxvZ2ljYWxP
cGVyYXRvcj4geworICAgICAgICBhdXRvIG9wZXJhdG9yVG9rZW4gPSByYW5nZS5jb25zdW1lSW5j
bHVkaW5nV2hpdGVzcGFjZSgpOworICAgICAgICBpZiAob3BlcmF0b3JUb2tlbi50eXBlKCkgIT0g
SWRlbnRUb2tlbikKKyAgICAgICAgICAgIHJldHVybiB7IH07CisgICAgICAgIGlmIChvcGVyYXRv
clRva2VuLmlkKCkgPT0gQ1NTVmFsdWVBbmQpCisgICAgICAgICAgICByZXR1cm4gQ1E6OkxvZ2lj
YWxPcGVyYXRvcjo6QW5kOworICAgICAgICBpZiAob3BlcmF0b3JUb2tlbi5pZCgpID09IENTU1Zh
bHVlT3IpCisgICAgICAgICAgICByZXR1cm4gQ1E6OkxvZ2ljYWxPcGVyYXRvcjo6T3I7CisgICAg
ICAgIHJldHVybiB7IH07CisgICAgfTsKKworICAgIHdoaWxlICghcmFuZ2UuYXRFbmQoKSkgewor
ICAgICAgICBhdXRvIG9wID0gY29uc3VtZU9wZXJhdG9yKCk7CisgICAgICAgIGlmICghb3ApCisg
ICAgICAgICAgICByZXR1cm4geyB9OworICAgICAgICBpZiAoY29uZGl0aW9uLnF1ZXJpZXMuc2l6
ZSgpID4gMSAmJiBjb25kaXRpb24ubG9naWNhbE9wZXJhdG9yICE9ICpvcCkKKyAgICAgICAgICAg
IHJldHVybiB7IH07CisKKyAgICAgICAgY29uZGl0aW9uLmxvZ2ljYWxPcGVyYXRvciA9ICpvcDsK
KworICAgICAgICBhdXRvIHF1ZXJ5ID0gY29uc3VtZVF1ZXJ5KHJhbmdlKTsKKyAgICAgICAgaWYg
KCFxdWVyeSkKKyAgICAgICAgICAgIHJldHVybiB7IH07CisKKyAgICAgICAgY29uZGl0aW9uLnF1
ZXJpZXMuYXBwZW5kKCpxdWVyeSk7CisgICAgICAgIHJhbmdlLmNvbnN1bWVXaGl0ZXNwYWNlKCk7
CisgICAgfQorCisgICAgcmV0dXJuIGNvbmRpdGlvbjsKK30KKworc3RkOjpvcHRpb25hbDxDUTo6
U2l6ZVF1ZXJ5PiBDb250YWluZXJRdWVyeVBhcnNlcjo6Y29uc3VtZVNpemVRdWVyeShDU1NQYXJz
ZXJUb2tlblJhbmdlJiByYW5nZSkKK3sKKyAgICBpZiAocmFuZ2UucGVlaygpLnR5cGUoKSAhPSBJ
ZGVudFRva2VuIHx8IHJhbmdlLnBlZWsoKS5pZCgpID09IENTU1ZhbHVlTm90KSB7CisgICAgICAg
IGF1dG8gc2l6ZUNvbmRpdGlvbiA9IGNvbnN1bWVDb25kaXRpb248Q1E6OlNpemVDb25kaXRpb24+
KHJhbmdlKTsKKyAgICAgICAgaWYgKCFzaXplQ29uZGl0aW9uKQorICAgICAgICAgICAgcmV0dXJu
IHsgfTsKKyAgICAgICAgcmV0dXJuIHsgKnNpemVDb25kaXRpb24gfTsKKyAgICB9CisKKyAgICBh
dXRvIG5hbWVUb2tlbiA9IHJhbmdlLmNvbnN1bWVJbmNsdWRpbmdXaGl0ZXNwYWNlKCk7CisgICAg
YXV0byBuYW1lID0gbmFtZVRva2VuLnZhbHVlKCk7CisKKyAgICBpZiAocmFuZ2UuYXRFbmQoKSkK
KyAgICAgICAgcmV0dXJuIENROjpTaXplRmVhdHVyZSB7IENROjpDb21wYXJpc29uT3BlcmF0b3I6
OlRydWUsIG5hbWUudG9BdG9tU3RyaW5nKCksIHsgfSB9OworCisgICAgYXV0byBvcFRva2VuID0g
cmFuZ2UuY29uc3VtZUluY2x1ZGluZ1doaXRlc3BhY2UoKTsKKyAgICBpZiAocmFuZ2UuYXRFbmQo
KSkKKyAgICAgICAgcmV0dXJuIHsgfTsKKworICAgIC8vIEZJWE1FOiBTdXBwb3J0ICc8JyBzdHls
ZSBvcGVyYXRvcnMgYW5kIHJhbmdlcy4KKyAgICBhdXRvIG9wID0gQ1E6OkNvbXBhcmlzb25PcGVy
YXRvcjo6RXF1YWw7CisgICAgaWYgKG9wVG9rZW4udHlwZSgpID09IENvbG9uVG9rZW4pIHsKKyAg
ICAgICAgaWYgKG5hbWUuc3RhcnRzV2l0aCgibWluLSIpKQorICAgICAgICAgICAgb3AgPSBDUTo6
Q29tcGFyaXNvbk9wZXJhdG9yOjpHcmVhdGVyVGhhbk9yRXF1YWw7CisgICAgICAgIGVsc2UgaWYg
KG5hbWUuc3RhcnRzV2l0aCgibWF4LSIpKQorICAgICAgICAgICAgb3AgPSBDUTo6Q29tcGFyaXNv
bk9wZXJhdG9yOjpMZXNzVGhhbk9yRXF1YWw7CisKKyAgICAgICAgaWYgKG9wICE9IENROjpDb21w
YXJpc29uT3BlcmF0b3I6OkVxdWFsKQorICAgICAgICAgICAgbmFtZSA9IG5hbWUuc3Vic3RyaW5n
KDQpOworICAgICAgICBpZiAobmFtZS5pc0VtcHR5KCkpCisgICAgICAgICAgICByZXR1cm4geyB9
OworICAgIH0KKworICAgIGF1dG8gbGVuZ3RoID0gQ1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjpj
b25zdW1lTGVuZ3RoKHJhbmdlLCBtX2NvbnRleHQubW9kZSwgVmFsdWVSYW5nZTo6QWxsKTsKKyAg
ICBpZiAoIWxlbmd0aCkKKyAgICAgICAgcmV0dXJuIHsgfTsKKworICAgIHJldHVybiBDUTo6U2l6
ZUZlYXR1cmUgeyBvcCwgbmFtZS50b0F0b21TdHJpbmcoKSwgbGVuZ3RoIH07Cit9CisKK30KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Db250YWluZXJRdWVyeVBhcnNlci5oIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5UGFyc2VyLmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmE0N2M0
Njg1MmZjNDAyYTU2NmU2MmM2YTAxZGI5ZjJjMjRmMzZmZQotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9Db250YWluZXJRdWVyeVBhcnNlci5oCkBAIC0wLDAgKzEsNDcgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRl
ICJDU1NQYXJzZXJUb2tlbi5oIgorI2luY2x1ZGUgIkNvbnRhaW5lclF1ZXJ5LmgiCisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ29udGFpbmVyUXVlcnlQYXJzZXIgeworcHVibGljOgor
ICAgIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPENvbnRhaW5lclF1ZXJ5PiBjb25zdW1lQ29udGFpbmVy
UXVlcnkoQ1NTUGFyc2VyVG9rZW5SYW5nZSYsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmKTsKKwor
cHJpdmF0ZToKKyAgICBzdGQ6Om9wdGlvbmFsPENROjpDb250YWluZXJRdWVyeT4gY29uc3VtZUNv
bnRhaW5lclF1ZXJ5KENTU1BhcnNlclRva2VuUmFuZ2UmKTsKKyAgICBzdGQ6Om9wdGlvbmFsPENR
OjpTaXplUXVlcnk+IGNvbnN1bWVTaXplUXVlcnkoQ1NTUGFyc2VyVG9rZW5SYW5nZSYpOworICAg
IHRlbXBsYXRlPHR5cGVuYW1lIENvbmRpdGlvblR5cGU+IHN0ZDo6b3B0aW9uYWw8Q29uZGl0aW9u
VHlwZT4gY29uc3VtZUNvbmRpdGlvbihDU1NQYXJzZXJUb2tlblJhbmdlJik7CisKKyAgICBDb250
YWluZXJRdWVyeVBhcnNlcihjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0KQorICAgICAg
ICA6IG1fY29udGV4dChjb250ZXh0KSB7IH0KKworICAgIGNvbnN0IENTU1BhcnNlckNvbnRleHQg
bV9jb250ZXh0OworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNl
ci9DU1NQYXJzZXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2Vy
SW1wbC5jcHAKaW5kZXggZjdkNTU5MjIwNTdmMzRmNDNlYzZhMjNjODMzNmY1ZDUyYzFlYWIzMy4u
YzRlZGFhMDY0M2RiNDJhYWM0ZjQ1Nzc2ODBiMWM3OTEwNWMzZWY4MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckltcGwuY3BwCkBAIC00Nyw2ICs0Nyw3IEBACiAjaW5j
bHVkZSAiQ1NTU3VwcG9ydHNQYXJzZXIuaCIKICNpbmNsdWRlICJDU1NUb2tlbml6ZXIuaCIKICNp
bmNsdWRlICJDU1NWYXJpYWJsZVBhcnNlci5oIgorI2luY2x1ZGUgIkNvbnRhaW5lclF1ZXJ5UGFy
c2VyLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFbGVtZW50LmgiCiAjaW5j
bHVkZSAiRm9udFBhbGV0dGVWYWx1ZXMuaCIKQEAgLTg2NSwxMiArODY2LDE2IEBAIFJlZlB0cjxT
dHlsZVJ1bGVDb250YWluZXI+IENTU1BhcnNlckltcGw6OmNvbnN1bWVDb250YWluZXJSdWxlKENT
U1BhcnNlclRva2VuUmFuCiAKICAgICBhdXRvIG5hbWUgPSBjb25zdW1lTmFtZSgpOwogCi0gICAg
YXV0byBxdWVyeSA9IE1lZGlhUXVlcnlQYXJzZXI6OnBhcnNlQ29udGFpbmVyUXVlcnkocHJlbHVk
ZSwgTWVkaWFRdWVyeVBhcnNlckNvbnRleHQobV9jb250ZXh0KSk7CisgICAgYXV0byBxdWVyeSA9
IENvbnRhaW5lclF1ZXJ5UGFyc2VyOjpjb25zdW1lQ29udGFpbmVyUXVlcnkocHJlbHVkZSwgbV9j
b250ZXh0KTsKICAgICBpZiAoIXF1ZXJ5KQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAorICAg
IHByZWx1ZGUuY29uc3VtZVdoaXRlc3BhY2UoKTsKKyAgICBpZiAoIXByZWx1ZGUuYXRFbmQoKSkK
KyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKICAgICBpZiAobV9kZWZlcnJlZFBhcnNlcikKLSAg
ICAgICAgcmV0dXJuIFN0eWxlUnVsZUNvbnRhaW5lcjo6Y3JlYXRlKHsgbmFtZSwgcXVlcnkucmVs
ZWFzZU5vbk51bGwoKSB9LCBtYWtlVW5pcXVlPERlZmVycmVkU3R5bGVHcm91cFJ1bGVMaXN0Pihi
bG9jaywgKm1fZGVmZXJyZWRQYXJzZXIpKTsKKyAgICAgICAgcmV0dXJuIFN0eWxlUnVsZUNvbnRh
aW5lcjo6Y3JlYXRlKHsgbmFtZSwgKnF1ZXJ5IH0sIG1ha2VVbmlxdWU8RGVmZXJyZWRTdHlsZUdy
b3VwUnVsZUxpc3Q+KGJsb2NrLCAqbV9kZWZlcnJlZFBhcnNlcikpOwogCiAgICAgVmVjdG9yPFJl
ZlB0cjxTdHlsZVJ1bGVCYXNlPj4gcnVsZXM7CiAKQEAgLTg4OCw3ICs4OTMsNyBAQCBSZWZQdHI8
U3R5bGVSdWxlQ29udGFpbmVyPiBDU1NQYXJzZXJJbXBsOjpjb25zdW1lQ29udGFpbmVyUnVsZShD
U1NQYXJzZXJUb2tlblJhbgogICAgIGlmIChtX29ic2VydmVyV3JhcHBlcikKICAgICAgICAgbV9v
YnNlcnZlcldyYXBwZXItPm9ic2VydmVyKCkuZW5kUnVsZUJvZHkobV9vYnNlcnZlcldyYXBwZXIt
PmVuZE9mZnNldChibG9jaykpOwogCi0gICAgcmV0dXJuIFN0eWxlUnVsZUNvbnRhaW5lcjo6Y3Jl
YXRlKHsgbmFtZSwgcXVlcnkucmVsZWFzZU5vbk51bGwoKSB9LCBXVEZNb3ZlKHJ1bGVzKSk7Cisg
ICAgcmV0dXJuIFN0eWxlUnVsZUNvbnRhaW5lcjo6Y3JlYXRlKHsgbmFtZSwgKnF1ZXJ5IH0sIFdU
Rk1vdmUocnVsZXMpKTsKIH0KICAgICAKIFJlZlB0cjxTdHlsZVJ1bGVLZXlmcmFtZT4gQ1NTUGFy
c2VySW1wbDo6Y29uc3VtZUtleWZyYW1lU3R5bGVSdWxlKENTU1BhcnNlclRva2VuUmFuZ2UgcHJl
bHVkZSwgQ1NTUGFyc2VyVG9rZW5SYW5nZSBibG9jaykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N0eWxlL0NvbnRhaW5lclF1ZXJ5RXZhbHVhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0
eWxlL0NvbnRhaW5lclF1ZXJ5RXZhbHVhdG9yLmNwcAppbmRleCA1ZjBjNTU3ODJkMWNhZTY0NjU0
YzdkYmYxZmM1ZGJlNDBiZjdjOTZiLi5mN2FkZTM0MGUyM2NhZTNkZjNiZDI2ODgzNTc2OTY1YmIz
YmNiMTk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Db250YWluZXJRdWVyeUV2
YWx1YXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvQ29udGFpbmVyUXVlcnlFdmFs
dWF0b3IuY3BwCkBAIC0zNSwzMCArMzUsMjkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmU6OlN0eWxl
IHsKIAorc3RydWN0IENvbnRhaW5lclF1ZXJ5RXZhbHVhdG9yOjpFdmFsdWF0aW9uQ29udGV4dCB7
CisgICAgUmVuZGVyQm94JiByZW5kZXJlcjsKKyAgICBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRh
IGNvbnZlcnNpb25EYXRhOworfTsKKwogQ29udGFpbmVyUXVlcnlFdmFsdWF0b3I6OkNvbnRhaW5l
clF1ZXJ5RXZhbHVhdG9yKGNvbnN0IFZlY3RvcjxSZWY8Y29uc3QgRWxlbWVudD4+JiBjb250YWlu
ZXJzKQogICAgIDogbV9jb250YWluZXJzKGNvbnRhaW5lcnMpCiB7CiB9CiAKLXN0YXRpYyBzdGQ6
Om9wdGlvbmFsPExheW91dFVuaXQ+IGNvbXB1dGVTaXplKENTU1ZhbHVlKiB2YWx1ZSwgY29uc3Qg
Q1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSYgY29udmVyc2lvbkRhdGEpCitzdGF0aWMgc3RkOjpv
cHRpb25hbDxMYXlvdXRVbml0PiBjb21wdXRlU2l6ZShjb25zdCBDU1NQcmltaXRpdmVWYWx1ZSYg
dmFsdWUsIGNvbnN0IENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEmIGNvbnZlcnNpb25EYXRhKQog
ewotICAgIGlmICghaXM8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVlKSkKLSAgICAgICAgcmV0dXJu
IHsgfTsKLQotICAgIGF1dG8mIHByaW1pdGl2ZVZhbHVlID0gZG93bmNhc3Q8Q1NTUHJpbWl0aXZl
VmFsdWU+KCp2YWx1ZSk7Ci0gICAgaWYgKHByaW1pdGl2ZVZhbHVlLmlzTnVtYmVyT3JJbnRlZ2Vy
KCkpIHsKLSAgICAgICAgaWYgKHByaW1pdGl2ZVZhbHVlLmRvdWJsZVZhbHVlKCkpCisgICAgaWYg
KHZhbHVlLmlzTnVtYmVyT3JJbnRlZ2VyKCkpIHsKKyAgICAgICAgaWYgKHZhbHVlLmRvdWJsZVZh
bHVlKCkpCiAgICAgICAgICAgICByZXR1cm4geyB9OwogICAgICAgICByZXR1cm4gMF9sdTsKICAg
ICB9CiAKLSAgICBpZiAoIXByaW1pdGl2ZVZhbHVlLmlzTGVuZ3RoKCkpCisgICAgaWYgKCF2YWx1
ZS5pc0xlbmd0aCgpKQogICAgICAgICByZXR1cm4geyB9OwotICAgIHJldHVybiBwcmltaXRpdmVW
YWx1ZS5jb21wdXRlTGVuZ3RoPExheW91dFVuaXQ+KGNvbnZlcnNpb25EYXRhKTsKKyAgICByZXR1
cm4gdmFsdWUuY29tcHV0ZUxlbmd0aDxMYXlvdXRVbml0Pihjb252ZXJzaW9uRGF0YSk7CiB9CiAK
LWVudW0gY2xhc3MgQ29tcGFyYXRvciB7IExlc3NlciwgR3JlYXRlciwgTGVzc2VyT3JFcXVhbCwg
R3JlYXRlck9yRXF1YWwsIEVxdWFsLCBUcnVlIH07Ci0KIGJvb2wgQ29udGFpbmVyUXVlcnlFdmFs
dWF0b3I6OmV2YWx1YXRlKGNvbnN0IEZpbHRlcmVkQ29udGFpbmVyUXVlcnkmIGZpbHRlcmVkQ29u
dGFpbmVyUXVlcnkpIGNvbnN0CiB7CiAgICAgaWYgKG1fY29udGFpbmVycy5pc0VtcHR5KCkpCkBA
IC04Myw5MCArODIsMTE0IEBAIGJvb2wgQ29udGFpbmVyUXVlcnlFdmFsdWF0b3I6OmV2YWx1YXRl
KGNvbnN0IEZpbHRlcmVkQ29udGFpbmVyUXVlcnkmIGZpbHRlcmVkQ29uCiAgICAgICAgIHJldHVy
biBmYWxzZTsKIAogICAgIGF1dG8mIHZpZXcgPSByZW5kZXJlci0+dmlldygpOwotICAgIENTU1Rv
TGVuZ3RoQ29udmVyc2lvbkRhdGEgY29udmVyc2lvbkRhdGEgeyAmcmVuZGVyZXItPnN0eWxlKCks
ICZ2aWV3LnN0eWxlKCksIG51bGxwdHIsICZ2aWV3LCAxIH07CisgICAgQ1NTVG9MZW5ndGhDb252
ZXJzaW9uRGF0YSB7ICZyZW5kZXJlci0+c3R5bGUoKSwgJnZpZXcuc3R5bGUoKSwgbnVsbHB0ciwg
JnZpZXcsIDEgfTsKIAotICAgIGF1dG8gZXZhbHVhdGVTaXplID0gWyZdKGNvbnN0IE1lZGlhUXVl
cnlFeHByZXNzaW9uJiBleHByZXNzaW9uLCBDb21wYXJhdG9yIGNvbXBhcmF0b3IsIGF1dG8mJiBz
aXplR2V0dGVyKQotICAgIHsKKyAgICBFdmFsdWF0aW9uQ29udGV4dCBldmFsdWF0aW9uQ29udGV4
dCB7CisgICAgICAgICpyZW5kZXJlciwKKyAgICAgICAgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0
YSB7ICZyZW5kZXJlci0+c3R5bGUoKSwgJnZpZXcuc3R5bGUoKSwgbnVsbHB0ciwgJnZpZXcsIDEg
fQorICAgIH07CisKKyAgICByZXR1cm4gZXZhbHVhdGVRdWVyeShmaWx0ZXJlZENvbnRhaW5lclF1
ZXJ5LnF1ZXJ5LCBldmFsdWF0aW9uQ29udGV4dCkgPT0gRXZhbHVhdGlvblJlc3VsdDo6VHJ1ZTsK
K30KKworYXV0byBDb250YWluZXJRdWVyeUV2YWx1YXRvcjo6ZXZhbHVhdGVRdWVyeShjb25zdCBD
UTo6Q29udGFpbmVyUXVlcnkmIGNvbnRhaW5lclF1ZXJ5LCBjb25zdCBFdmFsdWF0aW9uQ29udGV4
dCYgY29udGV4dCkgY29uc3QgLT4gRXZhbHVhdGlvblJlc3VsdAoreworICAgIHJldHVybiBXVEY6
OnN3aXRjaE9uKGNvbnRhaW5lclF1ZXJ5LCBbJl0oY29uc3QgQ1E6OkNvbnRhaW5lckNvbmRpdGlv
biYgY29udGFpbmVyQ29uZGl0aW9uKSB7CisgICAgICAgIHJldHVybiBldmFsdWF0ZUNvbmRpdGlv
bihjb250YWluZXJDb25kaXRpb24sIGNvbnRleHQpOworICAgIH0sIFsmXShjb25zdCBDUTo6U2l6
ZVF1ZXJ5JiBzaXplUXVlcnkpIHsKKyAgICAgICAgcmV0dXJuIGV2YWx1YXRlUXVlcnkoc2l6ZVF1
ZXJ5LCBjb250ZXh0KTsKKyAgICB9LCBbJl0oY29uc3QgQ1E6OlVua25vd25RdWVyeSYpIHsKKyAg
ICAgICAgcmV0dXJuIEV2YWx1YXRpb25SZXN1bHQ6OlVua25vd247CisgICAgfSk7Cit9CisKK2F1
dG8gQ29udGFpbmVyUXVlcnlFdmFsdWF0b3I6OmV2YWx1YXRlUXVlcnkoY29uc3QgQ1E6OlNpemVR
dWVyeSYgc2l6ZVF1ZXJ5LCBjb25zdCBFdmFsdWF0aW9uQ29udGV4dCYgY29udGV4dCkgY29uc3Qg
LT4gRXZhbHVhdGlvblJlc3VsdAoreworICAgIHJldHVybiBXVEY6OnN3aXRjaE9uKHNpemVRdWVy
eSwgWyZdKGNvbnN0IENROjpTaXplQ29uZGl0aW9uJiBzaXplQ29uZGl0aW9uKSB7CisgICAgICAg
IHJldHVybiBldmFsdWF0ZUNvbmRpdGlvbihzaXplQ29uZGl0aW9uLCBjb250ZXh0KTsKKyAgICB9
LCBbJl0oY29uc3QgQ1E6OlNpemVGZWF0dXJlJiBzaXplRmVhdHVyZSkgeworICAgICAgICByZXR1
cm4gZXZhbHVhdGVTaXplRmVhdHVyZShzaXplRmVhdHVyZSwgY29udGV4dCk7CisgICAgfSk7Cit9
CisKK3RlbXBsYXRlPHR5cGVuYW1lIENvbmRpdGlvblR5cGU+CithdXRvIENvbnRhaW5lclF1ZXJ5
RXZhbHVhdG9yOjpldmFsdWF0ZUNvbmRpdGlvbihjb25zdCBDb25kaXRpb25UeXBlJiBjb25kaXRp
b24sIGNvbnN0IEV2YWx1YXRpb25Db250ZXh0JiBjb250ZXh0KSBjb25zdCAtPiBFdmFsdWF0aW9u
UmVzdWx0Cit7CisgICAgaWYgKGNvbmRpdGlvbi5xdWVyaWVzLmlzRW1wdHkoKSkKKyAgICAgICAg
cmV0dXJuIEV2YWx1YXRpb25SZXN1bHQ6OlVua25vd247CisKKyAgICBzd2l0Y2ggKGNvbmRpdGlv
bi5sb2dpY2FsT3BlcmF0b3IpIHsKKyAgICBjYXNlIENROjpMb2dpY2FsT3BlcmF0b3I6Ok5vdDog
eworICAgICAgICBzd2l0Y2ggKGV2YWx1YXRlUXVlcnkoY29uZGl0aW9uLnF1ZXJpZXMuZmlyc3Qo
KSwgY29udGV4dCkpIHsKKyAgICAgICAgY2FzZSBFdmFsdWF0aW9uUmVzdWx0OjpUcnVlOgorICAg
ICAgICAgICAgcmV0dXJuIEV2YWx1YXRpb25SZXN1bHQ6OkZhbHNlOworICAgICAgICBjYXNlIEV2
YWx1YXRpb25SZXN1bHQ6OkZhbHNlOgorICAgICAgICAgICAgcmV0dXJuIEV2YWx1YXRpb25SZXN1
bHQ6OlRydWU7CisgICAgICAgIGNhc2UgRXZhbHVhdGlvblJlc3VsdDo6VW5rbm93bjoKKyAgICAg
ICAgICAgIHJldHVybiBFdmFsdWF0aW9uUmVzdWx0OjpVbmtub3duOworICAgICAgICB9CisgICAg
fQorICAgIGNhc2UgQ1E6OkxvZ2ljYWxPcGVyYXRvcjo6QW5kOiB7CisgICAgICAgIGF1dG8gcmVz
dWx0ID0gRXZhbHVhdGlvblJlc3VsdDo6VHJ1ZTsKKyAgICAgICAgZm9yIChhdXRvIHF1ZXJ5IDog
Y29uZGl0aW9uLnF1ZXJpZXMpIHsKKyAgICAgICAgICAgIGF1dG8gcXVlcnlSZXN1bHQgPSBldmFs
dWF0ZVF1ZXJ5KHF1ZXJ5LCBjb250ZXh0KTsKKyAgICAgICAgICAgIGlmIChxdWVyeVJlc3VsdCA9
PSBFdmFsdWF0aW9uUmVzdWx0OjpGYWxzZSkKKyAgICAgICAgICAgICAgICByZXR1cm4gRXZhbHVh
dGlvblJlc3VsdDo6RmFsc2U7CisgICAgICAgICAgICBpZiAocXVlcnlSZXN1bHQgPT0gRXZhbHVh
dGlvblJlc3VsdDo6VW5rbm93bikKKyAgICAgICAgICAgICAgICByZXN1bHQgPSBFdmFsdWF0aW9u
UmVzdWx0OjpVbmtub3duOworICAgICAgICB9CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAg
fQorICAgIGNhc2UgQ1E6OkxvZ2ljYWxPcGVyYXRvcjo6T3I6IHsKKyAgICAgICAgYXV0byByZXN1
bHQgPSBFdmFsdWF0aW9uUmVzdWx0OjpGYWxzZTsKKyAgICAgICAgZm9yIChhdXRvIHF1ZXJ5IDog
Y29uZGl0aW9uLnF1ZXJpZXMpIHsKKyAgICAgICAgICAgIGF1dG8gcXVlcnlSZXN1bHQgPSBldmFs
dWF0ZVF1ZXJ5KHF1ZXJ5LCBjb250ZXh0KTsKKyAgICAgICAgICAgIGlmIChxdWVyeVJlc3VsdCA9
PSBFdmFsdWF0aW9uUmVzdWx0OjpUcnVlKQorICAgICAgICAgICAgICAgIHJldHVybiBFdmFsdWF0
aW9uUmVzdWx0OjpUcnVlOworICAgICAgICAgICAgaWYgKHF1ZXJ5UmVzdWx0ID09IEV2YWx1YXRp
b25SZXN1bHQ6OlVua25vd24pCisgICAgICAgICAgICAgICAgcmVzdWx0ID0gRXZhbHVhdGlvblJl
c3VsdDo6VW5rbm93bjsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0K
KyAgICB9Cit9CisKK2F1dG8gQ29udGFpbmVyUXVlcnlFdmFsdWF0b3I6OmV2YWx1YXRlU2l6ZUZl
YXR1cmUoY29uc3QgQ1E6OlNpemVGZWF0dXJlJiBzaXplRmVhdHVyZSwgY29uc3QgRXZhbHVhdGlv
bkNvbnRleHQmIGNvbnRleHQpIGNvbnN0IC0+IEV2YWx1YXRpb25SZXN1bHQKK3sKKyAgICBhdXRv
IGV2YWx1YXRlU2l6ZSA9IFsmXShMYXlvdXRVbml0IHNpemUpIHsKICAgICAgICAgc3RkOjpvcHRp
b25hbDxMYXlvdXRVbml0PiBleHByZXNzaW9uU2l6ZTsKIAotICAgICAgICBpZiAoY29tcGFyYXRv
ciAhPSBDb21wYXJhdG9yOjpUcnVlKSB7Ci0gICAgICAgICAgICBleHByZXNzaW9uU2l6ZSA9IGNv
bXB1dGVTaXplKGV4cHJlc3Npb24udmFsdWUoKSwgY29udmVyc2lvbkRhdGEpOworICAgICAgICBp
ZiAoc2l6ZUZlYXR1cmUuY29tcGFyaXNvbk9wZXJhdG9yICE9IENROjpDb21wYXJpc29uT3BlcmF0
b3I6OlRydWUpIHsKKyAgICAgICAgICAgIGlmICghc2l6ZUZlYXR1cmUudmFsdWUpCisgICAgICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgZXhwcmVzc2lvblNpemUgPSBjb21w
dXRlU2l6ZSgqc2l6ZUZlYXR1cmUudmFsdWUsIGNvbnRleHQuY29udmVyc2lvbkRhdGEpOwogICAg
ICAgICAgICAgaWYgKCFleHByZXNzaW9uU2l6ZSkKICAgICAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgICAgIH0KIAotICAgICAgICBhdXRvIHNpemUgPSBzaXplR2V0dGVyKCpyZW5kZXJl
cik7Ci0KLSAgICAgICAgc3dpdGNoIChjb21wYXJhdG9yKSB7Ci0gICAgICAgIGNhc2UgQ29tcGFy
YXRvcjo6TGVzc2VyOgorICAgICAgICBzd2l0Y2ggKHNpemVGZWF0dXJlLmNvbXBhcmlzb25PcGVy
YXRvcikgeworICAgICAgICBjYXNlIENROjpDb21wYXJpc29uT3BlcmF0b3I6Okxlc3NUaGFuOgog
ICAgICAgICAgICAgcmV0dXJuIHNpemUgPCAqZXhwcmVzc2lvblNpemU7Ci0gICAgICAgIGNhc2Ug
Q29tcGFyYXRvcjo6R3JlYXRlcjoKKyAgICAgICAgY2FzZSBDUTo6Q29tcGFyaXNvbk9wZXJhdG9y
OjpHcmVhdGVyVGhhbjoKICAgICAgICAgICAgIHJldHVybiBzaXplID4gKmV4cHJlc3Npb25TaXpl
OwotICAgICAgICBjYXNlIENvbXBhcmF0b3I6Okxlc3Nlck9yRXF1YWw6CisgICAgICAgIGNhc2Ug
Q1E6OkNvbXBhcmlzb25PcGVyYXRvcjo6TGVzc1RoYW5PckVxdWFsOgogICAgICAgICAgICAgcmV0
dXJuIHNpemUgPD0gKmV4cHJlc3Npb25TaXplOwotICAgICAgICBjYXNlIENvbXBhcmF0b3I6Okdy
ZWF0ZXJPckVxdWFsOgorICAgICAgICBjYXNlIENROjpDb21wYXJpc29uT3BlcmF0b3I6OkdyZWF0
ZXJUaGFuT3JFcXVhbDoKICAgICAgICAgICAgIHJldHVybiBzaXplID49ICpleHByZXNzaW9uU2l6
ZTsKLSAgICAgICAgY2FzZSBDb21wYXJhdG9yOjpFcXVhbDoKKyAgICAgICAgY2FzZSBDUTo6Q29t
cGFyaXNvbk9wZXJhdG9yOjpFcXVhbDoKICAgICAgICAgICAgIHJldHVybiBzaXplID09ICpleHBy
ZXNzaW9uU2l6ZTsKLSAgICAgICAgY2FzZSBDb21wYXJhdG9yOjpUcnVlOgorICAgICAgICBjYXNl
IENROjpDb21wYXJpc29uT3BlcmF0b3I6OlRydWU6CiAgICAgICAgICAgICByZXR1cm4gISFzaXpl
OwogICAgICAgICB9CiAgICAgfTsKIAotICAgIGF1dG8gZXZhbHVhdGVXaWR0aCA9IFsmXShjb25z
dCBNZWRpYVF1ZXJ5RXhwcmVzc2lvbiYgZXhwcmVzc2lvbiwgQ29tcGFyYXRvciBjb21wYXJhdG9y
KQotICAgIHsKLSAgICAgICAgcmV0dXJuIGV2YWx1YXRlU2l6ZShleHByZXNzaW9uLCBjb21wYXJh
dG9yLCBbJl0oY29uc3QgUmVuZGVyQm94JiByZW5kZXJlcikgewotICAgICAgICAgICAgcmV0dXJu
IHJlbmRlcmVyLndpZHRoKCk7Ci0gICAgICAgIH0pOwotICAgIH07Ci0KLSAgICBhdXRvIGV2YWx1
YXRlSGVpZ2h0ID0gWyZdKGNvbnN0IE1lZGlhUXVlcnlFeHByZXNzaW9uJiBleHByZXNzaW9uLCBD
b21wYXJhdG9yIGNvbXBhcmF0b3IpCi0gICAgewotICAgICAgICByZXR1cm4gZXZhbHVhdGVTaXpl
KGV4cHJlc3Npb24sIGNvbXBhcmF0b3IsIFsmXShjb25zdCBSZW5kZXJCb3gmIHJlbmRlcmVyKSB7
Ci0gICAgICAgICAgICByZXR1cm4gcmVuZGVyZXIuaGVpZ2h0KCk7Ci0gICAgICAgIH0pOwotICAg
IH07Ci0KLSAgICBib29sIHJlc3VsdCA9IGZhbHNlOwotCi0gICAgLy8gRklYTUU6IFRoaXMgaXMg
dmVyeSBydWRpbWVudGFyeS4KLSAgICBhdXRvJiBxdWVyaWVzID0gZmlsdGVyZWRDb250YWluZXJR
dWVyeS5xdWVyeS0+cXVlcnlWZWN0b3IoKTsKLSAgICBmb3IgKGF1dG8mIHF1ZXJ5IDogcXVlcmll
cykgewotICAgICAgICBmb3IgKGF1dG8mIGV4cHJlc3Npb24gOiBxdWVyeS5leHByZXNzaW9ucygp
KSB7Ci0gICAgICAgICAgICBpZiAoZXhwcmVzc2lvbi5tZWRpYUZlYXR1cmUoKSA9PSBNZWRpYUZl
YXR1cmVOYW1lczo6bWluV2lkdGgpIHsKLSAgICAgICAgICAgICAgICBpZiAoZXZhbHVhdGVXaWR0
aChleHByZXNzaW9uLCBDb21wYXJhdG9yOjpHcmVhdGVyT3JFcXVhbCkpCi0gICAgICAgICAgICAg
ICAgICAgIHJlc3VsdCA9IHRydWU7Ci0gICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgICAgICBpZiAoZXhwcmVzc2lvbi5tZWRpYUZlYXR1cmUoKSA9PSBNZWRp
YUZlYXR1cmVOYW1lczo6bWF4V2lkdGgpIHsKLSAgICAgICAgICAgICAgICBpZiAoZXZhbHVhdGVX
aWR0aChleHByZXNzaW9uLCBDb21wYXJhdG9yOjpMZXNzZXJPckVxdWFsKSkKLSAgICAgICAgICAg
ICAgICAgICAgcmVzdWx0ID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIGlmIChleHByZXNzaW9uLm1lZGlhRmVhdHVyZSgpID09IE1l
ZGlhRmVhdHVyZU5hbWVzOjp3aWR0aCkgewotICAgICAgICAgICAgICAgIGlmIChldmFsdWF0ZVdp
ZHRoKGV4cHJlc3Npb24sIGV4cHJlc3Npb24udmFsdWUoKSA/IENvbXBhcmF0b3I6OkVxdWFsIDog
Q29tcGFyYXRvcjo6VHJ1ZSkpCi0gICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRydWU7Ci0g
ICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAo
ZXhwcmVzc2lvbi5tZWRpYUZlYXR1cmUoKSA9PSBNZWRpYUZlYXR1cmVOYW1lczo6bWluSGVpZ2h0
KSB7Ci0gICAgICAgICAgICAgICAgaWYgKGV2YWx1YXRlSGVpZ2h0KGV4cHJlc3Npb24sIENvbXBh
cmF0b3I6OkdyZWF0ZXJPckVxdWFsKSkKLSAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gdHJ1
ZTsKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAg
IGlmIChleHByZXNzaW9uLm1lZGlhRmVhdHVyZSgpID09IE1lZGlhRmVhdHVyZU5hbWVzOjptYXhI
ZWlnaHQpIHsKLSAgICAgICAgICAgICAgICBpZiAoZXZhbHVhdGVIZWlnaHQoZXhwcmVzc2lvbiwg
Q29tcGFyYXRvcjo6TGVzc2VyT3JFcXVhbCkpCi0gICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9
IHRydWU7Ci0gICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICB9Ci0gICAgICAg
ICAgICBpZiAoZXhwcmVzc2lvbi5tZWRpYUZlYXR1cmUoKSA9PSBNZWRpYUZlYXR1cmVOYW1lczo6
aGVpZ2h0KSB7Ci0gICAgICAgICAgICAgICAgaWYgKGV2YWx1YXRlSGVpZ2h0KGV4cHJlc3Npb24s
IGV4cHJlc3Npb24udmFsdWUoKSA/IENvbXBhcmF0b3I6OkVxdWFsIDogQ29tcGFyYXRvcjo6VHJ1
ZSkpCi0gICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRydWU7Ci0gICAgICAgICAgICAgICAg
Y29udGludWU7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9CisgICAgLy8gRklYTUU6
IFN1cHBvcnQgYWxsIGZlYXR1cmVzLgorICAgIGlmIChzaXplRmVhdHVyZS5uYW1lID09IE1lZGlh
RmVhdHVyZU5hbWVzOjp3aWR0aCkKKyAgICAgICAgcmV0dXJuIGV2YWx1YXRlU2l6ZShjb250ZXh0
LnJlbmRlcmVyLndpZHRoKCkpID8gRXZhbHVhdGlvblJlc3VsdDo6VHJ1ZSA6IEV2YWx1YXRpb25S
ZXN1bHQ6OkZhbHNlOworICAgIGlmIChzaXplRmVhdHVyZS5uYW1lID09IE1lZGlhRmVhdHVyZU5h
bWVzOjpoZWlnaHQpCisgICAgICAgIHJldHVybiBldmFsdWF0ZVNpemUoY29udGV4dC5yZW5kZXJl
ci5oZWlnaHQoKSkgPyBFdmFsdWF0aW9uUmVzdWx0OjpUcnVlIDogRXZhbHVhdGlvblJlc3VsdDo6
RmFsc2U7CiAKLSAgICByZXR1cm4gcmVzdWx0OworICAgIHJldHVybiBFdmFsdWF0aW9uUmVzdWx0
OjpVbmtub3duOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Db250
YWluZXJRdWVyeUV2YWx1YXRvci5oIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvQ29udGFpbmVyUXVl
cnlFdmFsdWF0b3IuaAppbmRleCA4ZjZlNzMwMDdmNzVmYWI1Yjg1NGUxMWNlMjI5N2MwNjlmYjU4
OTc0Li45OWJlMjIyZDE1ZDlmOWQxYWIwN2EzODY3NDFkMjNiMjlmNDk5Y2Q2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Db250YWluZXJRdWVyeUV2YWx1YXRvci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N0eWxlL0NvbnRhaW5lclF1ZXJ5RXZhbHVhdG9yLmgKQEAgLTI0LDExICsy
NCwxMSBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgIkNvbnRhaW5lclF1ZXJ5LmgiCiAj
aW5jbHVkZSA8d3RmL1JlZi5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0cnVjdCBGaWx0
ZXJlZENvbnRhaW5lclF1ZXJ5OwogY2xhc3MgRWxlbWVudDsKIAogbmFtZXNwYWNlIFN0eWxlIHsK
QEAgLTQwLDYgKzQwLDE0IEBAIHB1YmxpYzoKICAgICBib29sIGV2YWx1YXRlKGNvbnN0IEZpbHRl
cmVkQ29udGFpbmVyUXVlcnkmKSBjb25zdDsKIAogcHJpdmF0ZToKKyAgICBzdHJ1Y3QgRXZhbHVh
dGlvbkNvbnRleHQ7CisgICAgZW51bSBjbGFzcyBFdmFsdWF0aW9uUmVzdWx0IDogdWludDhfdCB7
IEZhbHNlLCBUcnVlLCBVbmtub3duIH07CisKKyAgICBFdmFsdWF0aW9uUmVzdWx0IGV2YWx1YXRl
UXVlcnkoY29uc3QgQ1E6OkNvbnRhaW5lclF1ZXJ5JiwgY29uc3QgRXZhbHVhdGlvbkNvbnRleHQm
KSBjb25zdDsKKyAgICBFdmFsdWF0aW9uUmVzdWx0IGV2YWx1YXRlUXVlcnkoY29uc3QgQ1E6OlNp
emVRdWVyeSYsIGNvbnN0IEV2YWx1YXRpb25Db250ZXh0JikgY29uc3Q7CisgICAgdGVtcGxhdGU8
dHlwZW5hbWUgQ29uZGl0aW9uVHlwZT4gRXZhbHVhdGlvblJlc3VsdCBldmFsdWF0ZUNvbmRpdGlv
bihjb25zdCBDb25kaXRpb25UeXBlJiwgY29uc3QgRXZhbHVhdGlvbkNvbnRleHQmKSBjb25zdDsK
KyAgICBFdmFsdWF0aW9uUmVzdWx0IGV2YWx1YXRlU2l6ZUZlYXR1cmUoY29uc3QgQ1E6OlNpemVG
ZWF0dXJlJiwgY29uc3QgRXZhbHVhdGlvbkNvbnRleHQmKSBjb25zdDsKKwogICAgIGNvbnN0IFZl
Y3RvcjxSZWY8Y29uc3QgRWxlbWVudD4+JiBtX2NvbnRhaW5lcnM7CiB9OwogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggM2Jl
MDcyNDVkMWVmZWZhMDRjZDFjZGU0OTk4YzA2NGViY2Q1YWMwOC4uMmRiYWI0NjQzYmE5ODViYjYx
ZDBjNzdkZGE5MGEzNDBmYTlmZTM4ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIyLTAyLTE0
ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBbQ1NTIENvbnRh
aW5lciBRdWVyaWVzXSBJbXBsZW1lbnQgZnVsbCBxdWVyeSBwYXJzZXIgYW5kIGV2YWx1YXRvcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2NTgwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KKworICAgICAgICAqIFRlc3RFeHBlY3Rh
dGlvbnM6CisKIDIwMjItMDItMTIgIFRpbSBOZ3V5ZW4gIDxudGltQGFwcGxlLmNvbT4KIAogICAg
ICAgICBTa2lwIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdXJsL3RvYXNjaWkud2lu
ZG93Lmh0bWwgb24gQ2F0YWxpbmEvQmlnIFN1cgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cK
aW5kZXggYjg0MGUzNzJjMDRkYTJkMDMwZWI2MTcyZDczYjhkMjIyZTE1MjZjOS4uN2NlNDkxZWIw
M2EwYjI5Y2YxNmZkNDFmMjhmYzk1YTlkYzgyNzQwNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjItMDItMTQgIEFudHRpIEtvaXZpc3RvICA8YW50
dGlAYXBwbGUuY29tPgorCisgICAgICAgIFtDU1MgQ29udGFpbmVyIFF1ZXJpZXNdIEltcGxlbWVu
dCBmdWxsIHF1ZXJ5IHBhcnNlciBhbmQgZXZhbHVhdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzY1ODAKKworICAgICAgICBSZXZpZXdlZCBieSBT
YW0gV2VpbmlnLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluZXItcXVlcmllcy9hdC1jb250YWluZXItcGFyc2luZy1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluZXItcXVl
cmllcy9jb250YWluZXItZm9yLXNoYWRvdy1kb20udGVudGF0aXZlLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW5lci1xdWVy
aWVzL2NvbnRhaW5lci10eXBlLWludmFsaWRhdGlvbi1leHBlY3RlZC50eHQ6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluZXItcXVlcmllcy9xdWVy
eS1ldmFsdWF0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRhaW5lci1xdWVyaWVzL3NpemUtZmVhdHVyZS1ldmFsdWF0aW9u
LWV4cGVjdGVkLnR4dDoKKwogMjAyMi0wMi0xMiAgVGltIE5ndXllbiAgPG50aW1AYXBwbGUuY29t
PgogCiAgICAgICAgIFVucmV2aWV3ZWQgdGVzdCBnYXJkZW5pbmc6IGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdXJsL3RvYXNjaWkud2luZG93Lmh0bWwKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmlu
ZGV4IDUzOWYxY2ViYTZiZWI5MGViYTgxMGRmMjM0OTM0ODY0YmVhYTBkNTUuLjY3ZThkMGMxMzYw
OTk2ZGRjY2ZhNThiYWYyNDI4MjE2MGIwNjIzZDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rl
c3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNDcx
MCw2ICs0NzEwLDcgQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbi1odG1sLW92ZXJmbG93LTAwNC5odG1sIFsKIHdlYmtpdC5vcmcvYi8yMjk2
NTkgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bmVyLXF1ZXJpZXMvZGlzcGxheS1pbi1jb250YWluZXIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQogd2Via2l0Lm9yZy9iLzIyOTY1OSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluZXItcXVlcmllcy9wc2V1ZG8tZWxlbWVudHMtMDAyLnRlbnRh
dGl2ZS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjI5NjU5IGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW5lci1xdWVy
aWVzL211bHRpY29sLWluc2lkZS1jb250YWluZXIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQor
d2Via2l0Lm9yZy9iLzIyOTY1OSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluZXItcXVlcmllcy9pbmxpbmUtc2l6ZS1iZmMtZmxvYXRzLmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KIAogIyBGbGFreSBjc3MtY29udGFpbiB0ZXN0CiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxp
dHkvYW5pbWF0aW9uLWRpc3BsYXktbG9jay5odG1sIFsgRmFpbHVyZSBQYXNzIF0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW5lci1xdWVyaWVzL2F0LWNvbnRhaW5lci1wYXJzaW5nLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW5lci1xdWVyaWVzL2F0LWNvbnRhaW5lci1wYXJzaW5nLWV4cGVjdGVkLnR4
dAppbmRleCA1MDJiOWY3NjY3M2Y0ZTk2MmE0NjMxOWMzNjEyODU1MGYzMDMwMTIzLi43M2ZjZWQ3
Mjg5NzFmNjc4YTI3NzBiMjkzZDA0MzVjODFiMDE1ZWUwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
ZXItcXVlcmllcy9hdC1jb250YWluZXItcGFyc2luZy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbmVyLXF1ZXJpZXMvYXQtY29udGFpbmVyLXBhcnNpbmctZXhwZWN0ZWQudHh0CkBAIC0xLDM2
ICsxLDM2IEBACiAKLUZBSUwgc2l6ZSh3aWR0aCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRy
dWUiIGJ1dCBnb3QgIiIKLUZBSUwgc2l6ZShtaW4td2lkdGg6IDBweCkgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgIiIKLUZBSUwgc2l6ZShtYXgtd2lkdGg6IDBweCkgYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgIiIKLUZBSUwgc2l6ZShoZWlnaHQp
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICIiCi1GQUlMIHNpemUobWlu
LWhlaWdodDogMHB4KSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiIgot
RkFJTCBzaXplKG1heC1oZWlnaHQ6IDBweCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUi
IGJ1dCBnb3QgIiIKK1BBU1Mgc2l6ZSh3aWR0aCkKK1BBU1Mgc2l6ZShtaW4td2lkdGg6IDBweCkK
K1BBU1Mgc2l6ZShtYXgtd2lkdGg6IDBweCkKK1BBU1Mgc2l6ZShoZWlnaHQpCitQQVNTIHNpemUo
bWluLWhlaWdodDogMHB4KQorUEFTUyBzaXplKG1heC1oZWlnaHQ6IDBweCkKIEZBSUwgc2l6ZShh
c3BlY3QtcmF0aW8pIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICIiCi1G
QUlMIHNpemUobWluLWFzcGVjdC1yYXRpbzogMS8yKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAi
dHJ1ZSIgYnV0IGdvdCAiIgotRkFJTCBzaXplKG1heC1hc3BlY3QtcmF0aW86IDEvMikgYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgIiIKLUZBSUwgc2l6ZShvcmllbnRhdGlv
bjogcG9ydHJhaXQpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICIiCitG
QUlMIHNpemUobWluLWFzcGVjdC1yYXRpbzogMS8yKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAy
IGJ1dCBnb3QgMAorRkFJTCBzaXplKG1heC1hc3BlY3QtcmF0aW86IDEvMikgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgMiBidXQgZ290IDAKK0ZBSUwgc2l6ZShvcmllbnRhdGlvbjogcG9ydHJhaXQp
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDIgYnV0IGdvdCAwCiBGQUlMIHNpemUoaW5saW5lLXNp
emUpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICIiCiBGQUlMIHNpemUo
bWluLWlubGluZS1zaXplOiAwcHgpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQg
Z290ICIiCiBGQUlMIHNpemUobWF4LWlubGluZS1zaXplOiAwcHgpIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkICJ0cnVlIiBidXQgZ290ICIiCiBGQUlMIHNpemUoYmxvY2stc2l6ZSkgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgIiIKIEZBSUwgc2l6ZShtaW4tYmxvY2stc2l6
ZTogMHB4KSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiIgogRkFJTCBz
aXplKG1heC1ibG9jay1zaXplOiAwcHgpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBi
dXQgZ290ICIiCi1GQUlMIHNpemUod2lkdGg6IDEwMHB4KSBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAidHJ1ZSIgYnV0IGdvdCAiIgotRkFJTCBzaXplKCh3aWR0aDogMTAwcHgpKSBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiIgotRkFJTCBzaXplKG5vdCAod2lkdGg6IDEw
MHB4KSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgIiIKLUZBSUwgc2l6
ZSgod2lkdGg6IDEwMHB4KSBhbmQgKGhlaWdodDogMTAwcHgpKSBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAidHJ1ZSIgYnV0IGdvdCAiIgotRkFJTCBzaXplKCh3aWR0aDogNTBweCkgb3IgKGhlaWdo
dDogMTAwcHgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiIgotRkFJ
TCBzaXplKHdpZHRoIDwgMTAwcHgpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQg
Z290ICIiCi1GQUlMIHNpemUoMTAwcHggPCB3aWR0aCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
InRydWUiIGJ1dCBnb3QgIiIKLUZBSUwgc2l6ZSgxMDBweCA8IHdpZHRoIDwgMjAwcHgpIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICIiCitQQVNTIHNpemUod2lkdGg6IDEw
MHB4KQorUEFTUyBzaXplKCh3aWR0aDogMTAwcHgpKQorUEFTUyBzaXplKG5vdCAod2lkdGg6IDEw
MHB4KSkKK1BBU1Mgc2l6ZSgod2lkdGg6IDEwMHB4KSBhbmQgKGhlaWdodDogMTAwcHgpKQorUEFT
UyBzaXplKCh3aWR0aDogNTBweCkgb3IgKGhlaWdodDogMTAwcHgpKQorUEFTUyBzaXplKHdpZHRo
IDwgMTAwcHgpCitGQUlMIHNpemUoMTAwcHggPCB3aWR0aCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgMiBidXQgZ290IDAKK0ZBSUwgc2l6ZSgxMDBweCA8IHdpZHRoIDwgMjAwcHgpIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkIDIgYnV0IGdvdCAwCiBQQVNTIGZvbyh3aWR0aCkKIFBBU1Mgc2l6ZShh
c2RmKQotUEFTUyBzaXplKHJlc29sdXRpb24gPiAxMDBkcGkpCi1QQVNTIHNpemUocmVzb2x1dGlv
bjogMTUwZHBpKQorRkFJTCBzaXplKHJlc29sdXRpb24gPiAxMDBkcGkpIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkIDIgYnV0IGdvdCAwCitGQUlMIHNpemUocmVzb2x1dGlvbjogMTUwZHBpKSBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCAyIGJ1dCBnb3QgMAogUEFTUyBzaXplKGNvbG9yKQotUEFTUyBz
aXplKG1pbi1jb2xvcjogMSkKLVBBU1Mgc2l6ZShjb2xvci1pbmRleCA+PSAxKQotUEFTUyAoY29s
b3ItaW5kZXggPj0gMSkKK0ZBSUwgc2l6ZShtaW4tY29sb3I6IDEpIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkIDIgYnV0IGdvdCAwCitGQUlMIHNpemUoY29sb3ItaW5kZXggPj0gMSkgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgMiBidXQgZ290IDAKK0ZBSUwgKGNvbG9yLWluZGV4ID49IDEpIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkIDIgYnV0IGdvdCAwCiBQQVNTIHNpemUoZ3JpZCkKIFBBU1MgKGdy
aWQpCiBQQVNTIHNjcmVlbgpAQCAtNDEsMjggKzQxLDI4IEBAIFBBU1Mgc2NyZWVuIGFuZCAod2lk
dGg6IDEwMHB4KQogUEFTUyBzY3JlZW4gb3IgKHdpZHRoOiAxMDBweCkKIFBBU1Mgbm90IHNjcmVl
biBhbmQgKHdpZHRoOiAxMDBweCkKIFBBU1Mgbm90IHNjcmVlbiBvciAod2lkdGg6IDEwMHB4KQot
RkFJTCAod2lkdGg6IDEwMHB4KSwgKGhlaWdodDogMTAwcHgpIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkIDAgYnV0IGdvdCAxCitQQVNTICh3aWR0aDogMTAwcHgpLCAoaGVpZ2h0OiAxMDBweCkKIFBB
U1MgQ29udGFpbmVyIHNlbGVjdG9yOiAgZm9vCiBQQVNTIENvbnRhaW5lciBzZWxlY3RvcjogIGZv
bwotUEFTUyBDb250YWluZXIgc2VsZWN0b3I6IG5hbWUoZm9vKQotUEFTUyBDb250YWluZXIgc2Vs
ZWN0b3I6IG5hbWUoIGZvbyApCi1QQVNTIENvbnRhaW5lciBzZWxlY3RvcjogdHlwZShzaXplKQot
UEFTUyBDb250YWluZXIgc2VsZWN0b3I6IHR5cGUoIHNpemUgKQotUEFTUyBDb250YWluZXIgc2Vs
ZWN0b3I6IHR5cGUoaW5saW5lLXNpemUpCi1QQVNTIENvbnRhaW5lciBzZWxlY3RvcjogdHlwZShi
bG9jay1zaXplKQotUEFTUyBDb250YWluZXIgc2VsZWN0b3I6IG5hbWUoYmFyKSB0eXBlKGJsb2Nr
LXNpemUpCi1QQVNTIENvbnRhaW5lciBzZWxlY3RvcjogdHlwZShibG9jay1zaXplKSBuYW1lKGJh
cikKK0ZBSUwgQ29udGFpbmVyIHNlbGVjdG9yOiBuYW1lKGZvbykgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgMSBidXQgZ290IDAKK0ZBSUwgQ29udGFpbmVyIHNlbGVjdG9yOiBuYW1lKCBmb28gKSBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxIGJ1dCBnb3QgMAorRkFJTCBDb250YWluZXIgc2VsZWN0
b3I6IHR5cGUoc2l6ZSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMSBidXQgZ290IDAKK0ZBSUwg
Q29udGFpbmVyIHNlbGVjdG9yOiB0eXBlKCBzaXplICkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
MSBidXQgZ290IDAKK0ZBSUwgQ29udGFpbmVyIHNlbGVjdG9yOiB0eXBlKGlubGluZS1zaXplKSBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxIGJ1dCBnb3QgMAorRkFJTCBDb250YWluZXIgc2VsZWN0
b3I6IHR5cGUoYmxvY2stc2l6ZSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMSBidXQgZ290IDAK
K0ZBSUwgQ29udGFpbmVyIHNlbGVjdG9yOiBuYW1lKGJhcikgdHlwZShibG9jay1zaXplKSBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCAxIGJ1dCBnb3QgMAorRkFJTCBDb250YWluZXIgc2VsZWN0b3I6
IHR5cGUoYmxvY2stc2l6ZSkgbmFtZShiYXIpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEgYnV0
IGdvdCAwCiBQQVNTIENvbnRhaW5lciBzZWxlY3RvcjogZm9vIGZvbwogUEFTUyBDb250YWluZXIg
c2VsZWN0b3I6IDFweAogUEFTUyBDb250YWluZXIgc2VsZWN0b3I6IDUwZ2lsCi1GQUlMIENvbnRh
aW5lciBzZWxlY3RvcjogbmFtZSgxcHgpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDAgYnV0IGdv
dCAxCi1GQUlMIENvbnRhaW5lciBzZWxlY3RvcjogdHlwZSgxcHgpIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkIDAgYnV0IGdvdCAxCi1GQUlMIENvbnRhaW5lciBzZWxlY3RvcjogdHlwZShyZWQpIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkIDAgYnV0IGdvdCAxCi1GQUlMIENvbnRhaW5lciBzZWxlY3Rv
cjogdHlwZShzaXplKSB0eXBlKHNpemUpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDAgYnV0IGdv
dCAxCi1GQUlMIENvbnRhaW5lciBzZWxlY3RvcjogdHlwZShpbmxpbmUtc2l6ZSkgdHlwZShibG9j
ay1zaXplKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAwIGJ1dCBnb3QgMQotRkFJTCBDb250YWlu
ZXIgc2VsZWN0b3I6IG5hbWUoZm9vKSBuYW1lKGJhcikgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
MCBidXQgZ290IDEKLUZBSUwgQ29udGFpbmVyIHNlbGVjdG9yOiB0eXBlKGlubGluZS1zaXplKSBu
YW1lKGZvbykgdHlwZShibG9jay1zaXplKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAwIGJ1dCBn
b3QgMQotRkFJTCBDb250YWluZXIgc2VsZWN0b3I6IG5hbWUoZm9vKSB0eXBlKHNpemUpIG5hbWUo
YmFyKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAwIGJ1dCBnb3QgMQotRkFJTCBDb250YWluZXIg
c2VsZWN0b3I6IG5hbWUodHlwZShzaXplKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMCBidXQg
Z290IDEKLUZBSUwgQ29udGFpbmVyIHNlbGVjdG9yOiB0eXBlKG5hbWUoYmFyKSkgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgMCBidXQgZ290IDEKK1BBU1MgQ29udGFpbmVyIHNlbGVjdG9yOiBuYW1l
KDFweCkKK1BBU1MgQ29udGFpbmVyIHNlbGVjdG9yOiB0eXBlKDFweCkKK1BBU1MgQ29udGFpbmVy
IHNlbGVjdG9yOiB0eXBlKHJlZCkKK1BBU1MgQ29udGFpbmVyIHNlbGVjdG9yOiB0eXBlKHNpemUp
IHR5cGUoc2l6ZSkKK1BBU1MgQ29udGFpbmVyIHNlbGVjdG9yOiB0eXBlKGlubGluZS1zaXplKSB0
eXBlKGJsb2NrLXNpemUpCitQQVNTIENvbnRhaW5lciBzZWxlY3RvcjogbmFtZShmb28pIG5hbWUo
YmFyKQorUEFTUyBDb250YWluZXIgc2VsZWN0b3I6IHR5cGUoaW5saW5lLXNpemUpIG5hbWUoZm9v
KSB0eXBlKGJsb2NrLXNpemUpCitQQVNTIENvbnRhaW5lciBzZWxlY3RvcjogbmFtZShmb28pIHR5
cGUoc2l6ZSkgbmFtZShiYXIpCitQQVNTIENvbnRhaW5lciBzZWxlY3RvcjogbmFtZSh0eXBlKHNp
emUpKQorUEFTUyBDb250YWluZXIgc2VsZWN0b3I6IHR5cGUobmFtZShiYXIpKQogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluZXItcXVlcmllcy9jb250YWluZXItZm9yLXNoYWRvdy1kb20udGVudGF0
aXZlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW5lci1xdWVyaWVzL2NvbnRhaW5lci1mb3Itc2hh
ZG93LWRvbS50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CmluZGV4IGQ4MWVmMjQzNTY0YmMyNTFjMDRh
YWJmOTRlMmFjZjBmNDU1YTgwYTcuLmUzNzZhMmMwOTIwZWYxM2M1M2JjZDNhODFiYzA5MGQ1MDQ5
MmE1YjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW5lci1xdWVyaWVzL2NvbnRhaW5lci1mb3Itc2hh
ZG93LWRvbS50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW5lci1xdWVyaWVz
L2NvbnRhaW5lci1mb3Itc2hhZG93LWRvbS50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CkBAIC0xLDYg
KzEsNiBAQAogCiBGQUlMIE1hdGNoIGNvbnRhaW5lciBpbiBvdXRlciB0cmVlIG51bGwgaXMgbm90
IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2luY2x1c2l2
ZS1hbmNlc3Rvci1hY3Jvc3Mtcm9vdCA+IGRpdiIpLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3Rvcicp
Ci1GQUlMIE1hdGNoIGNvbnRhaW5lciBpbiBzYW1lIHRyZWUsIG5vdCB3YWxraW5nIGZsYXQgdHJl
ZSBhbmNlc3RvcnMgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJnYigwLCAxMjgsIDApIiBidXQg
Z290ICJyZ2IoMCwgMCwgMCkiCitQQVNTIE1hdGNoIGNvbnRhaW5lciBpbiBzYW1lIHRyZWUsIG5v
dCB3YWxraW5nIGZsYXQgdHJlZSBhbmNlc3RvcnMKIEZBSUwgTWF0Y2ggY29udGFpbmVyIGluIDo6
c2xvdHRlZCBzZWxlY3RvcidzIG9yaWdpbmF0aW5nIGVsZW1lbnQgdHJlZSBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAicmdiKDAsIDEyOCwgMCkiIGJ1dCBnb3QgInJnYigwLCAwLCAwKSIKIEZBSUwg
TWF0Y2ggY29udGFpbmVyIGluIG91dGVyIHRyZWUgZm9yIDpob3N0IGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkICJyZ2IoMCwgMTI4LCAwKSIgYnV0IGdvdCAicmdiKDAsIDAsIDApIgogRkFJTCBNYXRj
aCBjb250YWluZXIgaW4gOjpwYXJ0IHNlbGVjdG9yJ3Mgb3JpZ2luYXRpbmcgZWxlbWVudCB0cmVl
IG51bGwgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnZG9jdW1lbnQucXVlcnlTZWxlY3Rv
cigiI2luY2x1c2l2ZS1hbmNlc3Rvci1wYXJ0ID4gZGl2Iikuc2hhZG93Um9vdC5xdWVyeVNlbGVj
dG9yJykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW5lci1xdWVyaWVzL2NvbnRhaW5lci10eXBlLWlu
dmFsaWRhdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluZXItcXVlcmllcy9jb250YWluZXIt
dHlwZS1pbnZhbGlkYXRpb24tZXhwZWN0ZWQudHh0CmluZGV4IGMzNTFjMjM3Yzc4ZGNiZjRmOGU4
ZjQzZmY5NDJjYzBjZjlhYmI2YTkuLjdlMWZiZjFkMjJjYTJiMmI5NWYyZGRlZjY4NzI1OGY5YWYw
NTgzODkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW5lci1xdWVyaWVzL2NvbnRhaW5lci10eXBlLWlu
dmFsaWRhdGlvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1ZXJpZXMvY29udGFp
bmVyLXR5cGUtaW52YWxpZGF0aW9uLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKIFRlc3QK
IAotRkFJTCBDaGFuZ2luZyB0aGUgY29udGFpbmVyIHR5cGUgaW52YWxpZGF0ZXMgcmVsZXZhbnQg
ZGVzY2VuZGFudHMgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJnYigwLCAxMjgsIDApIiBidXQg
Z290ICJyZ2IoMCwgMCwgMCkiCitGQUlMIENoYW5naW5nIHRoZSBjb250YWluZXIgdHlwZSBpbnZh
bGlkYXRlcyByZWxldmFudCBkZXNjZW5kYW50cyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmdi
KDAsIDAsIDApIiBidXQgZ290ICJyZ2IoMCwgMTI4LCAwKSIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbmVyLXF1ZXJpZXMvcXVlcnktZXZhbHVhdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
ZXItcXVlcmllcy9xdWVyeS1ldmFsdWF0aW9uLWV4cGVjdGVkLnR4dAppbmRleCA5YjFjYjM2YWM1
ZTFmZDI3MDZiYWM3ODUxMjZhZmRlOTA4NjllZjFiLi5lMDgwOTJiYzA4YTc0NDgxZWQ1MTIwYzA3
YWUyOTM3NjY5NWVkNmEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluZXItcXVlcmllcy9xdWVyeS1l
dmFsdWF0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluZXItcXVlcmllcy9xdWVyeS1l
dmFsdWF0aW9uLWV4cGVjdGVkLnR4dApAQCAtMywxOCArMywxOCBAQCBQQVNTIHNpemUod2lkdGgp
CiBQQVNTIHNpemUoaGVpZ2h0KQogUEFTUyBzaXplKHVua25vd24pCiBQQVNTIHVua25vd24od2lk
dGgpCi1GQUlMIChzaXplKHdpZHRoKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1
dCBnb3QgImZhbHNlIgorUEFTUyAoc2l6ZSh3aWR0aCkpCiBQQVNTIChzaXplKGhlaWdodCkpCiBQ
QVNTIChzaXplKHVua25vd24pKQotRkFJTCAoKChzaXplKHdpZHRoKSkpKSBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiZmFsc2UiCitQQVNTICgoKHNpemUod2lkdGgpKSkp
CiBQQVNTICgoKHNpemUoaGVpZ2h0KSkpKQogUEFTUyAoKChzaXplKHVua25vd24pKSkpCiBQQVNT
IChub3Qgc2l6ZSh3aWR0aCkpCi1GQUlMIChub3Qgc2l6ZShoZWlnaHQpKSBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiZmFsc2UiCitQQVNTIChub3Qgc2l6ZShoZWlnaHQp
KQogUEFTUyAobm90IHNpemUodW5rbm93bikpCiBQQVNTIChub3QgdW5rbm93bih3aWR0aCkpCi1G
QUlMIChzaXplKHdpZHRoKSBhbmQgc2l6ZSh3aWR0aCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
ICJ0cnVlIiBidXQgZ290ICJmYWxzZSIKLUZBSUwgKHNpemUod2lkdGgpIGFuZCBzaXplKHdpZHRo
KSBhbmQgc2l6ZSh3aWR0aCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290
ICJmYWxzZSIKK1BBU1MgKHNpemUod2lkdGgpIGFuZCBzaXplKHdpZHRoKSkKK1BBU1MgKHNpemUo
d2lkdGgpIGFuZCBzaXplKHdpZHRoKSBhbmQgc2l6ZSh3aWR0aCkpCiBQQVNTIChzaXplKGhlaWdo
dCkgYW5kIHNpemUoaGVpZ2h0KSkKIFBBU1MgKHNpemUoaGVpZ2h0KSBhbmQgc2l6ZSh3aWR0aCkg
YW5kIHNpemUod2lkdGgpKQogUEFTUyAoc2l6ZSh3aWR0aCkgYW5kIHNpemUoaGVpZ2h0KSBhbmQg
c2l6ZSh3aWR0aCkpCkBAIC0yMiwzMCArMjIsMzAgQEAgUEFTUyAoc2l6ZSh3aWR0aCkgYW5kIHNp
emUod2lkdGgpIGFuZCBzaXplKGhlaWdodCkpCiBQQVNTIChzaXplKHVua25vd24pIGFuZCBzaXpl
KHdpZHRoKSBhbmQgc2l6ZSh3aWR0aCkpCiBQQVNTIChzaXplKHdpZHRoKSBhbmQgc2l6ZSh1bmtu
b3duKSBhbmQgc2l6ZSh3aWR0aCkpCiBQQVNTIChzaXplKHdpZHRoKSBhbmQgc2l6ZSh3aWR0aCkg
YW5kIHNpemUodW5rbm93bikpCi1GQUlMIChzaXplKHdpZHRoKSBvciBzaXplKHdpZHRoKSkgYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgImZhbHNlIgotRkFJTCAoc2l6ZSh3
aWR0aCkgb3Igc2l6ZSh3aWR0aCkgb3Igc2l6ZSh3aWR0aCkpIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkICJ0cnVlIiBidXQgZ290ICJmYWxzZSIKK1BBU1MgKHNpemUod2lkdGgpIG9yIHNpemUod2lk
dGgpKQorUEFTUyAoc2l6ZSh3aWR0aCkgb3Igc2l6ZSh3aWR0aCkgb3Igc2l6ZSh3aWR0aCkpCiBQ
QVNTIChzaXplKGhlaWdodCkgb3Igc2l6ZShoZWlnaHQpKQotRkFJTCAoc2l6ZShoZWlnaHQpIG9y
IHNpemUod2lkdGgpIG9yIHNpemUod2lkdGgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1
ZSIgYnV0IGdvdCAiZmFsc2UiCi1GQUlMIChzaXplKHdpZHRoKSBvciBzaXplKGhlaWdodCkgb3Ig
c2l6ZSh3aWR0aCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICJmYWxz
ZSIKLUZBSUwgKHNpemUod2lkdGgpIG9yIHNpemUod2lkdGgpIG9yIHNpemUoaGVpZ2h0KSkgYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgImZhbHNlIgotRkFJTCAoc2l6ZSh1
bmtub3duKSBvciBzaXplKHdpZHRoKSBvciBzaXplKHdpZHRoKSkgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgInRydWUiIGJ1dCBnb3QgImZhbHNlIgotRkFJTCAoc2l6ZSh3aWR0aCkgb3Igc2l6ZSh1
bmtub3duKSBvciBzaXplKHdpZHRoKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1
dCBnb3QgImZhbHNlIgotRkFJTCAoc2l6ZSh3aWR0aCkgb3Igc2l6ZSh3aWR0aCkgb3Igc2l6ZSh1
bmtub3duKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgImZhbHNlIgot
RkFJTCAoc2l6ZSh1bmtub3duKSBvciBzaXplKGhlaWdodCkgb3Igc2l6ZSh3aWR0aCkpIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICJmYWxzZSIKK1BBU1MgKHNpemUoaGVp
Z2h0KSBvciBzaXplKHdpZHRoKSBvciBzaXplKHdpZHRoKSkKK1BBU1MgKHNpemUod2lkdGgpIG9y
IHNpemUoaGVpZ2h0KSBvciBzaXplKHdpZHRoKSkKK1BBU1MgKHNpemUod2lkdGgpIG9yIHNpemUo
d2lkdGgpIG9yIHNpemUoaGVpZ2h0KSkKK1BBU1MgKHNpemUodW5rbm93bikgb3Igc2l6ZSh3aWR0
aCkgb3Igc2l6ZSh3aWR0aCkpCitQQVNTIChzaXplKHdpZHRoKSBvciBzaXplKHVua25vd24pIG9y
IHNpemUod2lkdGgpKQorUEFTUyAoc2l6ZSh3aWR0aCkgb3Igc2l6ZSh3aWR0aCkgb3Igc2l6ZSh1
bmtub3duKSkKK1BBU1MgKHNpemUodW5rbm93bikgb3Igc2l6ZShoZWlnaHQpIG9yIHNpemUod2lk
dGgpKQogUEFTUyAobm90IChzaXplKHdpZHRoKSBhbmQgc2l6ZSh3aWR0aCkpKQotRkFJTCAobm90
IChzaXplKHdpZHRoKSBhbmQgc2l6ZShoZWlnaHQpKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
InRydWUiIGJ1dCBnb3QgImZhbHNlIgorUEFTUyAobm90IChzaXplKHdpZHRoKSBhbmQgc2l6ZSho
ZWlnaHQpKSkKIFBBU1MgKHNpemUod2lkdGgpIGFuZCAobm90IChzaXplKGhlaWdodCkgb3Igc2l6
ZSh3aWR0aCkpKSkKLUZBSUwgKHNpemUoaGVpZ2h0KSBvciAobm90IChzaXplKGhlaWdodCkgYW5k
IHNpemUod2lkdGgpKSkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICJm
YWxzZSIKK1BBU1MgKHNpemUoaGVpZ2h0KSBvciAobm90IChzaXplKGhlaWdodCkgYW5kIHNpemUo
d2lkdGgpKSkpCiBQQVNTIChzaXplKGhlaWdodCkgb3IgKHNpemUoaGVpZ2h0KSBhbmQgc2l6ZSh3
aWR0aCkpKQotRkFJTCBzaXplKCh3aWR0aCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVl
IiBidXQgZ290ICJmYWxzZSIKK1BBU1Mgc2l6ZSgod2lkdGgpKQogUEFTUyBzaXplKChoZWlnaHQp
KQogUEFTUyBzaXplKCh1bmtub3duKSkKIFBBU1MgdW5rbm93bigod2lkdGgpKQogUEFTUyBzaXpl
KG5vdCAod2lkdGgpKQotRkFJTCBzaXplKG5vdCAoaGVpZ2h0KSkgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgInRydWUiIGJ1dCBnb3QgImZhbHNlIgorUEFTUyBzaXplKG5vdCAoaGVpZ2h0KSkKIFBB
U1Mgc2l6ZShub3QgKHVua25vd24pKQotRkFJTCBzaXplKCh3aWR0aCkgYW5kICh3aWR0aCkpIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICJmYWxzZSIKLUZBSUwgc2l6ZSgo
d2lkdGgpIGFuZCAod2lkdGgpIGFuZCAod2lkdGgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAi
dHJ1ZSIgYnV0IGdvdCAiZmFsc2UiCitQQVNTIHNpemUoKHdpZHRoKSBhbmQgKHdpZHRoKSkKK1BB
U1Mgc2l6ZSgod2lkdGgpIGFuZCAod2lkdGgpIGFuZCAod2lkdGgpKQogUEFTUyBzaXplKChoZWln
aHQpIGFuZCAoaGVpZ2h0KSkKIFBBU1Mgc2l6ZSgoaGVpZ2h0KSBhbmQgKHdpZHRoKSBhbmQgKHdp
ZHRoKSkKIFBBU1Mgc2l6ZSgod2lkdGgpIGFuZCAoaGVpZ2h0KSBhbmQgKHdpZHRoKSkKQEAgLTUz
LDE5ICs1MywxOSBAQCBQQVNTIHNpemUoKHdpZHRoKSBhbmQgKHdpZHRoKSBhbmQgKGhlaWdodCkp
CiBQQVNTIHNpemUoKHVua25vd24pIGFuZCAod2lkdGgpIGFuZCAod2lkdGgpKQogUEFTUyBzaXpl
KCh3aWR0aCkgYW5kICh1bmtub3duKSBhbmQgKHdpZHRoKSkKIFBBU1Mgc2l6ZSgod2lkdGgpIGFu
ZCAod2lkdGgpIGFuZCAodW5rbm93bikpCi1GQUlMIHNpemUoKHdpZHRoKSBvciAod2lkdGgpKSBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiZmFsc2UiCi1GQUlMIHNpemUo
KHdpZHRoKSBvciAod2lkdGgpIG9yICh3aWR0aCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0
cnVlIiBidXQgZ290ICJmYWxzZSIKK1BBU1Mgc2l6ZSgod2lkdGgpIG9yICh3aWR0aCkpCitQQVNT
IHNpemUoKHdpZHRoKSBvciAod2lkdGgpIG9yICh3aWR0aCkpCiBQQVNTIHNpemUoKGhlaWdodCkg
b3IgKGhlaWdodCkpCi1GQUlMIHNpemUoKGhlaWdodCkgb3IgKHdpZHRoKSBvciAod2lkdGgpKSBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiZmFsc2UiCi1GQUlMIHNpemUo
KHdpZHRoKSBvciAoaGVpZ2h0KSBvciAod2lkdGgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAi
dHJ1ZSIgYnV0IGdvdCAiZmFsc2UiCi1GQUlMIHNpemUoKHdpZHRoKSBvciAod2lkdGgpIG9yICho
ZWlnaHQpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiZmFsc2UiCi1G
QUlMIHNpemUoKHVua25vd24pIG9yICh3aWR0aCkgb3IgKHdpZHRoKSkgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgImZhbHNlIgotRkFJTCBzaXplKCh3aWR0aCkgb3IgKHVu
a25vd24pIG9yICh3aWR0aCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290
ICJmYWxzZSIKLUZBSUwgc2l6ZSgod2lkdGgpIG9yICh3aWR0aCkgb3IgKHVua25vd24pKSBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiZmFsc2UiCi1GQUlMIHNpemUoKHVu
a25vd24pIG9yIChoZWlnaHQpIG9yICh3aWR0aCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0
cnVlIiBidXQgZ290ICJmYWxzZSIKK1BBU1Mgc2l6ZSgoaGVpZ2h0KSBvciAod2lkdGgpIG9yICh3
aWR0aCkpCitQQVNTIHNpemUoKHdpZHRoKSBvciAoaGVpZ2h0KSBvciAod2lkdGgpKQorUEFTUyBz
aXplKCh3aWR0aCkgb3IgKHdpZHRoKSBvciAoaGVpZ2h0KSkKK1BBU1Mgc2l6ZSgodW5rbm93bikg
b3IgKHdpZHRoKSBvciAod2lkdGgpKQorUEFTUyBzaXplKCh3aWR0aCkgb3IgKHVua25vd24pIG9y
ICh3aWR0aCkpCitQQVNTIHNpemUoKHdpZHRoKSBvciAod2lkdGgpIG9yICh1bmtub3duKSkKK1BB
U1Mgc2l6ZSgodW5rbm93bikgb3IgKGhlaWdodCkgb3IgKHdpZHRoKSkKIFBBU1Mgc2l6ZShub3Qg
KCh3aWR0aCkgYW5kICh3aWR0aCkpKQotRkFJTCBzaXplKG5vdCAoKHdpZHRoKSBhbmQgKGhlaWdo
dCkpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiZmFsc2UiCitQQVNT
IHNpemUobm90ICgod2lkdGgpIGFuZCAoaGVpZ2h0KSkpCiBQQVNTIHNpemUoKHdpZHRoKSBhbmQg
KG5vdCAoKGhlaWdodCkgb3IgKHdpZHRoKSkpKQotRkFJTCBzaXplKChoZWlnaHQpIG9yIChub3Qg
KChoZWlnaHQpIGFuZCAod2lkdGgpKSkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBi
dXQgZ290ICJmYWxzZSIKK1BBU1Mgc2l6ZSgoaGVpZ2h0KSBvciAobm90ICgoaGVpZ2h0KSBhbmQg
KHdpZHRoKSkpKQogUEFTUyBzaXplKChoZWlnaHQpIG9yICgoaGVpZ2h0KSBhbmQgKHdpZHRoKSkp
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW5lci1xdWVyaWVzL3NpemUtZmVhdHVyZS1ldmFsdWF0
aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW5lci1xdWVyaWVzL3NpemUtZmVhdHVyZS1ldmFs
dWF0aW9uLWV4cGVjdGVkLnR4dAppbmRleCBjMmYyZDY5YWFiMjQwYTBkMTMwMDliMDI0NTEzNTZm
MWQ5MmM0N2M0Li45YjRiOTdjNjc0NDIzMTY1OGRmMTA1YWIzNDdmYzNhNDRjOTAwYmVlIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluZXItcXVlcmllcy9zaXplLWZlYXR1cmUtZXZhbHVhdGlvbi1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1ZXJpZXMvc2l6ZS1mZWF0dXJlLWV2YWx1YXRp
b24tZXhwZWN0ZWQudHh0CkBAIC0xLDEyICsxLDEyIEBACiBUZXN0CiAKLVBBU1Mgc2l6ZSh3aWR0
aCA8IDEwMHB4KSAoLmhvcml6b250YWwpCitGQUlMIHNpemUod2lkdGggPCAxMDBweCkgKC5ob3Jp
em9udGFsKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiIiBidXQgZ290ICJ0cnVlIgogRkFJTCBz
aXplKHdpZHRoID49IDEwMHB4KSAoLmhvcml6b250YWwpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
ICJ0cnVlIiBidXQgZ290ICIiCiBQQVNTIHNpemUobWluLXdpZHRoOiAxMDBweCkgKC5ob3Jpem9u
dGFsKQogUEFTUyBzaXplKG1pbi13aWR0aDogMTAxcHgpICguaG9yaXpvbnRhbCkKIFBBU1Mgc2l6
ZShtYXgtd2lkdGg6IDEwMHB4KSAoLmhvcml6b250YWwpCiBQQVNTIHNpemUobWF4LXdpZHRoOiA5
OXB4KSAoLmhvcml6b250YWwpCi1QQVNTIHNpemUoaGVpZ2h0IDwgMjAwcHgpICguaG9yaXpvbnRh
bCkKK0ZBSUwgc2l6ZShoZWlnaHQgPCAyMDBweCkgKC5ob3Jpem9udGFsKSBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAiIiBidXQgZ290ICJ0cnVlIgogRkFJTCBzaXplKGhlaWdodCA+PSAyMDBweCkg
KC5ob3Jpem9udGFsKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidHJ1ZSIgYnV0IGdvdCAiIgog
UEFTUyBzaXplKG1pbi1oZWlnaHQ6IDIwMHB4KSAoLmhvcml6b250YWwpCiBQQVNTIHNpemUobWlu
LWhlaWdodDogMjAxcHgpICguaG9yaXpvbnRhbCkKQEAgLTI4LDEzICsyOCwxMyBAQCBQQVNTIHNp
emUob3JpZW50YXRpb246IGxhbmRzY2FwZSkgKC5ob3Jpem9udGFsKQogRkFJTCBzaXplKG9yaWVu
dGF0aW9uOiBwb3J0cmFpdCkgKC5ob3Jpem9udGFsKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAi
dHJ1ZSIgYnV0IGdvdCAiIgogRkFJTCBzaXplKGFzcGVjdC1yYXRpbzogMS8yKSAoLmhvcml6b250
YWwpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICIiCiBQQVNTIHNpemUo
YXNwZWN0LXJhdGlvOiAyLzEpICguaG9yaXpvbnRhbCkKLVBBU1Mgc2l6ZSh3aWR0aCA8IDEwMHB4
KSAoLnZlcnRpY2FsKQorRkFJTCBzaXplKHdpZHRoIDwgMTAwcHgpICgudmVydGljYWwpIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkICIiIGJ1dCBnb3QgInRydWUiCiBGQUlMIHNpemUod2lkdGggPj0g
MTAwcHgpICgudmVydGljYWwpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cnVlIiBidXQgZ290
ICIiCiBQQVNTIHNpemUobWluLXdpZHRoOiAxMDBweCkgKC52ZXJ0aWNhbCkKIFBBU1Mgc2l6ZSht
aW4td2lkdGg6IDEwMXB4KSAoLnZlcnRpY2FsKQogUEFTUyBzaXplKG1heC13aWR0aDogMTAwcHgp
ICgudmVydGljYWwpCiBQQVNTIHNpemUobWF4LXdpZHRoOiA5OXB4KSAoLnZlcnRpY2FsKQotUEFT
UyBzaXplKGhlaWdodCA8IDIwMHB4KSAoLnZlcnRpY2FsKQorRkFJTCBzaXplKGhlaWdodCA8IDIw
MHB4KSAoLnZlcnRpY2FsKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiIiBidXQgZ290ICJ0cnVl
IgogRkFJTCBzaXplKGhlaWdodCA+PSAyMDBweCkgKC52ZXJ0aWNhbCkgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgInRydWUiIGJ1dCBnb3QgIiIKIFBBU1Mgc2l6ZShtaW4taGVpZ2h0OiAyMDBweCkg
KC52ZXJ0aWNhbCkKIFBBU1Mgc2l6ZShtaW4taGVpZ2h0OiAyMDFweCkgKC52ZXJ0aWNhbCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>