<?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>193885</bug_id>
          
          <creation_ts>2019-01-27 11:17:07 -0800</creation_ts>
          <short_desc>Remove Options::enableSpectreMitigations</short_desc>
          <delta_ts>2020-01-29 17:07:15 -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>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Saam Barati">saam</reporter>
          <assigned_to name="Robin Morisset">rmorisset</assigned_to>
          <cc>annulen</cc>
    
    <cc>benjamin</cc>
    
    <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>gskachkov</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kangil.han</cc>
    
    <cc>keith_miller</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>rmorisset</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>ticaiolima</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1498880</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-01-27 11:17:07 -0800</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577923</commentid>
    <comment_count>1</comment_count>
      <attachid>380460</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2019-10-08 13:45:24 -0700</bug_when>
    <thetext>Created attachment 380460
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1610473</commentid>
    <comment_count>2</comment_count>
      <attachid>388639</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2020-01-23 18:50:08 -0800</bug_when>
    <thetext>Created attachment 388639
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1610505</commentid>
    <comment_count>3</comment_count>
      <attachid>388639</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-01-23 20:34:27 -0800</bug_when>
    <thetext>Comment on attachment 388639
Patch

Can you find out why some bots are red?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1611700</commentid>
    <comment_count>4</comment_count>
      <attachid>388939</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2020-01-27 16:47:30 -0800</bug_when>
    <thetext>Created attachment 388939
Patch

I had just missed some references to Spectre.idl.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612770</commentid>
    <comment_count>5</comment_count>
      <attachid>388939</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-29 17:06:13 -0800</bug_when>
    <thetext>Comment on attachment 388939
Patch

Clearing flags on attachment: 388939

Committed r255406: &lt;https://trac.webkit.org/changeset/255406&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612771</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-29 17:06:15 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612772</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-01-29 17:07:15 -0800</bug_when>
    <thetext>&lt;rdar://problem/59013422&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380460</attachid>
            <date>2019-10-08 13:45:24 -0700</date>
            <delta_ts>2019-10-08 14:11:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patchRemoveSpectreOptions</filename>
            <type>text/plain</type>
            <size>5455</size>
            <attacher name="Robin Morisset">rmorisset</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGE2NTFmOGJkOGI4Li44YjgzNmM0NzgxMCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTktMTAtMDggIFJvYmlu
IE1vcmlzc2V0ICA8cm1vcmlzc2V0QGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgT3B0aW9u
czo6ZW5hYmxlU3BlY3RyZU1pdGlnYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xOTM4ODUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgZW5hYmxlU3BlY3RyZUdhZGdldHMgYW5kIGVuYWJs
ZVNwZWN0cmVNaXRpZ2F0aW9ucworCisgICAgICAgICogZnRsL0ZUTExvd2VyREZHVG9CMy5jcHA6
CisgICAgICAgIChKU0M6OkZUTDo6REZHOjpMb3dlckRGR1RvQjM6Okxvd2VyREZHVG9CMyk6Cisg
ICAgICAgICogaml0L0pJVC5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6SklUKToKKyAgICAgICAg
KiBqaXQvSklULmg6CisgICAgICAgICogcnVudGltZS9PcHRpb25zTGlzdC5oOgorICAgICAgICAq
IHdhc20vV2FzbUIzSVJHZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpXYXNtOjpCM0lSR2Vu
ZXJhdG9yOjphZGRDYWxsSW5kaXJlY3QpOgorCiAyMDE5LTEwLTA3ICBZdXN1a2UgU3V6dWtpICA8
eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgW0pTQ10gQ2xlYW4gdXAgVGh1bmtHZW5lcmF0
b3IncyBuYXRpdmVDYWxsVHJhbXBvbGluZSBnZW5lcmF0b3IgY29kZQpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCmluZGV4IGU0MWJmYzI3ZWQwLi5kMGMx
OWViZjZhMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRG
R1RvQjMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0Iz
LmNwcApAQCAtMTU3LDcgKzE1Nyw2IEBAIHB1YmxpYzoKICAgICAgICAgLCBtX2F2YWlsYWJpbGl0
eUNhbGN1bGF0b3IobV9ncmFwaCkKICAgICAgICAgLCBtX3N0YXRlKHN0YXRlLmdyYXBoKQogICAg
ICAgICAsIG1faW50ZXJwcmV0ZXIoc3RhdGUuZ3JhcGgsIG1fc3RhdGUpCi0gICAgICAgICwgbV9p
bmRleE1hc2tpbmdNb2RlKE9wdGlvbnM6OmVuYWJsZVNwZWN0cmVNaXRpZ2F0aW9ucygpID8gIElu
ZGV4TWFza2luZ0VuYWJsZWQgOiBJbmRleE1hc2tpbmdEaXNhYmxlZCkKICAgICB7CiAgICAgICAg
IGlmIChPcHRpb25zOjp2YWxpZGF0ZUFic3RyYWN0SW50ZXJwcmV0ZXJTdGF0ZSgpKSB7CiAgICAg
ICAgICAgICBwZXJmb3JtTGl2ZW5lc3NBbmFseXNpcyhtX2dyYXBoKTsKQEAgLTE3ODAxLDEwICsx
NzgwMCw2IEBAIHByaXZhdGU6CiAgICAgREZHOjpCYXNpY0Jsb2NrKiBtX25leHRIaWdoQmxvY2s7
CiAgICAgTEJhc2ljQmxvY2sgbV9uZXh0TG93QmxvY2s7CiAKLSAgICBlbnVtIEluZGV4TWFza2lu
Z01vZGUgeyBJbmRleE1hc2tpbmdEaXNhYmxlZCwgSW5kZXhNYXNraW5nRW5hYmxlZCB9OwotCi0g
ICAgSW5kZXhNYXNraW5nTW9kZSBtX2luZGV4TWFza2luZ01vZGU7Ci0KICAgICBOb2RlT3JpZ2lu
IG1fb3JpZ2luOwogICAgIHVuc2lnbmVkIG1fbm9kZUluZGV4OwogICAgIE5vZGUqIG1fbm9kZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcAppbmRleCBlZmFkNTVjMWU0Mi4uNmY5OGU0Mjg5NGMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKQEAgLTgyLDcgKzgyLDYgQEAgSklUOjpKSVQo
Vk0mIHZtLCBDb2RlQmxvY2sqIGNvZGVCbG9jaywgdW5zaWduZWQgbG9vcE9TUkVudHJ5Qnl0ZWNv
ZGVPZmZzZXQpCiAgICAgLCBtX3BjVG9Db2RlT3JpZ2luTWFwQnVpbGRlcih2bSkKICAgICAsIG1f
Y2FuQmVPcHRpbWl6ZWQoZmFsc2UpCiAgICAgLCBtX3Nob3VsZEVtaXRQcm9maWxpbmcoZmFsc2Up
Ci0gICAgLCBtX3Nob3VsZFVzZUluZGV4TWFza2luZyhPcHRpb25zOjplbmFibGVTcGVjdHJlTWl0
aWdhdGlvbnMoKSkKICAgICAsIG1fbG9vcE9TUkVudHJ5Qnl0ZWNvZGVPZmZzZXQobG9vcE9TUkVu
dHJ5Qnl0ZWNvZGVPZmZzZXQpCiB7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAppbmRleCA0Mjdl
OWFlZGY1OS4uNzM3OTdkNzlmZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklULmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaApAQCAtOTY3LDcg
Kzk2Nyw2IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBib29sIG1fY2FuQmVPcHRpbWl6ZWQ7
CiAgICAgICAgIGJvb2wgbV9jYW5CZU9wdGltaXplZE9ySW5saW5lZDsKICAgICAgICAgYm9vbCBt
X3Nob3VsZEVtaXRQcm9maWxpbmc7Ci0gICAgICAgIGJvb2wgbV9zaG91bGRVc2VJbmRleE1hc2tp
bmc7CiAgICAgICAgIHVuc2lnbmVkIG1fbG9vcE9TUkVudHJ5Qnl0ZWNvZGVPZmZzZXQgeyAwIH07
CiAgICAgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0
aW9uc0xpc3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnNMaXN0LmgK
aW5kZXggNDYxZjAzODhmMGEuLmIwYTZjN2FhMmQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9PcHRpb25zTGlzdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL09wdGlvbnNMaXN0LmgKQEAgLTQxNiw4ICs0MTYsNiBAQCBuYW1lc3BhY2UgSlND
IHsKICAgICBcCiAgICAgdihCb29sLCB1c2VXZWJBc3NlbWJseSwgdHJ1ZSwgTm9ybWFsLCAiRXhw
b3NlIHRoZSBXZWJBc3NlbWJseSBnbG9iYWwgb2JqZWN0LiIpIFwKICAgICBcCi0gICAgdihCb29s
LCBlbmFibGVTcGVjdHJlTWl0aWdhdGlvbnMsIHRydWUsIFJlc3RyaWN0ZWQsICJFbmFibGUgU3Bl
Y3RyZSBtaXRpZ2F0aW9ucy4iKSBcCi0gICAgdihCb29sLCBlbmFibGVTcGVjdHJlR2FkZ2V0cywg
ZmFsc2UsIFJlc3RyaWN0ZWQsICJlbmFibGUgZ2FkZ2V0cyB0byB0ZXN0IFNwZWN0cmUgbWl0aWdh
dGlvbnMuIikgXAogICAgIHYoQm9vbCwgemVyb1N0YWNrRnJhbWUsIGZhbHNlLCBOb3JtYWwsICJa
ZXJvIHN0YWNrIGZyYW1lIG9uIGVudHJ5IHRvIGEgZnVuY3Rpb24uIikgXAogICAgIFwKICAgICB2
KEJvb2wsIGZhaWxUb0NvbXBpbGVXZWJBc3NlbWJseUNvZGUsIGZhbHNlLCBOb3JtYWwsICJJZiB0
cnVlLCBubyBXYXNtOjpQbGFuIHdpbGwgc3VjZXNzZnVsbHkgY29tcGlsZSBhIGZ1bmN0aW9uLiIp
IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21CM0lSR2VuZXJh
dG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21CM0lSR2VuZXJhdG9yLmNw
cAppbmRleCA4ZWY3MDc4MDk5Ni4uOGM2ZTZlMmJjODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93YXNtL1dhc21CM0lSR2VuZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd2FzbS9XYXNtQjNJUkdlbmVyYXRvci5jcHAKQEAgLTE2NzYsNyArMTY3Niw2IEBA
IGF1dG8gQjNJUkdlbmVyYXRvcjo6YWRkQ2FsbEluZGlyZWN0KHVuc2lnbmVkIHRhYmxlSW5kZXgs
IGNvbnN0IFNpZ25hdHVyZSYgc2lnbmF0CiAgICAgRXhwcmVzc2lvblR5cGUgY2FsbGFibGVGdW5j
dGlvbkJ1ZmZlcjsKICAgICBFeHByZXNzaW9uVHlwZSBpbnN0YW5jZXNCdWZmZXI7CiAgICAgRXhw
cmVzc2lvblR5cGUgY2FsbGFibGVGdW5jdGlvbkJ1ZmZlckxlbmd0aDsKLSAgICBFeHByZXNzaW9u
VHlwZSBtYXNrOwogICAgIHsKICAgICAgICAgRXhwcmVzc2lvblR5cGUgdGFibGUgPSBtX2N1cnJl
bnRCbG9jay0+YXBwZW5kTmV3PE1lbW9yeVZhbHVlPihtX3Byb2MsIExvYWQsIHBvaW50ZXJUeXBl
KCksIG9yaWdpbigpLAogICAgICAgICAgICAgaW5zdGFuY2VWYWx1ZSgpLCBzYWZlQ2FzdDxpbnQz
Ml90PihJbnN0YW5jZTo6b2Zmc2V0T2ZUYWJsZVB0cihtX251bUltcG9ydEZ1bmN0aW9ucywgdGFi
bGVJbmRleCkpKTsKQEAgLTE2ODYsOSArMTY4NSw2IEBAIGF1dG8gQjNJUkdlbmVyYXRvcjo6YWRk
Q2FsbEluZGlyZWN0KHVuc2lnbmVkIHRhYmxlSW5kZXgsIGNvbnN0IFNpZ25hdHVyZSYgc2lnbmF0
CiAgICAgICAgICAgICB0YWJsZSwgc2FmZUNhc3Q8aW50MzJfdD4oRnVuY1JlZlRhYmxlOjpvZmZz
ZXRPZkluc3RhbmNlcygpKSk7CiAgICAgICAgIGNhbGxhYmxlRnVuY3Rpb25CdWZmZXJMZW5ndGgg
PSBtX2N1cnJlbnRCbG9jay0+YXBwZW5kTmV3PE1lbW9yeVZhbHVlPihtX3Byb2MsIExvYWQsIElu
dDMyLCBvcmlnaW4oKSwKICAgICAgICAgICAgIHRhYmxlLCBzYWZlQ2FzdDxpbnQzMl90PihUYWJs
ZTo6b2Zmc2V0T2ZMZW5ndGgoKSkpOwotICAgICAgICBtYXNrID0gbV9jdXJyZW50QmxvY2stPmFw
cGVuZE5ldzxWYWx1ZT4obV9wcm9jLCBaRXh0MzIsIG9yaWdpbigpLAotICAgICAgICAgICAgbV9j
dXJyZW50QmxvY2stPmFwcGVuZE5ldzxNZW1vcnlWYWx1ZT4obV9wcm9jLCBMb2FkLCBJbnQzMiwg
b3JpZ2luKCksCi0gICAgICAgICAgICAgICAgdGFibGUsIHNhZmVDYXN0PGludDMyX3Q+KFRhYmxl
OjpvZmZzZXRPZk1hc2soKSkpKTsKICAgICB9CiAKICAgICAvLyBDaGVjayB0aGUgaW5kZXggd2Ug
YXJlIGxvb2tpbmcgZm9yIGlzIHZhbGlkLgpAQCAtMTcwMyw5ICsxNjk5LDYgQEAgYXV0byBCM0lS
R2VuZXJhdG9yOjphZGRDYWxsSW5kaXJlY3QodW5zaWduZWQgdGFibGVJbmRleCwgY29uc3QgU2ln
bmF0dXJlJiBzaWduYXQKIAogICAgIGNhbGxlZUluZGV4ID0gbV9jdXJyZW50QmxvY2stPmFwcGVu
ZE5ldzxWYWx1ZT4obV9wcm9jLCBaRXh0MzIsIG9yaWdpbigpLCBjYWxsZWVJbmRleCk7CiAKLSAg
ICBpZiAoT3B0aW9uczo6ZW5hYmxlU3BlY3RyZU1pdGlnYXRpb25zKCkpCi0gICAgICAgIGNhbGxl
ZUluZGV4ID0gbV9jdXJyZW50QmxvY2stPmFwcGVuZE5ldzxWYWx1ZT4obV9wcm9jLCBCaXRBbmQs
IG9yaWdpbigpLCBtYXNrLCBjYWxsZWVJbmRleCk7Ci0KICAgICBFeHByZXNzaW9uVHlwZSBjYWxs
YWJsZUZ1bmN0aW9uOwogICAgIHsKICAgICAgICAgLy8gQ29tcHV0ZSB0aGUgb2Zmc2V0IGluIHRo
ZSB0YWJsZSBpbmRleCBzcGFjZSB3ZSBhcmUgbG9va2luZyBmb3IuCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388639</attachid>
            <date>2020-01-23 18:50:08 -0800</date>
            <delta_ts>2020-01-27 16:47:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch193885</filename>
            <type>text/plain</type>
            <size>28030</size>
            <attacher name="Robin Morisset">rmorisset</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGIwNTc3ZmFhODk5Li5hNWRkNWFjMWMyNSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMjAtMDEtMjMgIFJvYmlu
IE1vcmlzc2V0ICA8cm1vcmlzc2V0QGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgT3B0aW9u
czo6ZW5hYmxlU3BlY3RyZU1pdGlnYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xOTM4ODUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBGcm9tIHdoYXQgSSByZW1lbWJlciB3ZSBkZWNpZGVkIHRvIHJl
bW92ZSB0aGUgc3BlY3RyZS1zcGVjaWZpYyBtaXRpZ2F0aW9ucyB3ZSBoYWQgdHJpZWQgKGluIGZh
dm9yIG9mIHRoaW5ncyBsaWtlIHByb2Nlc3MtcGVyLW9yaWdpbikuCisgICAgICAgIEkgZG9uJ3Qg
dGhpbmsgYW55b25lIGlzIHVzaW5nIHRoZSBTcGVjdHJlR2FkZ2V0IHdlIGhhZCBhZGRlZCBmb3Ig
ZXhwZXJpbWVudHMgZWl0aGVyLgorICAgICAgICBTbyB0aGlzIHBhdGNoIHJlbW92ZXMgdGhlIGZv
bGxvd2luZyB0aHJlZSBvcHRpb25zLCBhbmQgYWxsIHRoZSBjb2RlIHRoYXQgZGVwZW5kZWQgb24g
dGhlbToKKyAgICAgICAgLSBlbmFibGVTcGVjdHJlTWl0aWdhdGlvbnMgKHdhcyB0cnVlLCBvbmx5
IHVzZWQgaW4gb25lIHBsYWNlKQorICAgICAgICAtIGVuYWJsZVNwZWN0cmVHYWRnZXRzICh3YXMg
ZmFsc2UpCisgICAgICAgIC0gemVyb1N0YWNrRnJhbWUgKHdhcyBmYWxzZSwgYW5kIHdhcyBhbiBl
eHBlcmltZW50IGFib3V0IFNwZWN0cmUgdmFyaWFudCA0IGlmIEkgcmVtZW1iZXIgY29ycmVjdGx5
KQorCisgICAgICAgICogYjMvYWlyL0FpckNvZGUuY3BwOgorICAgICAgICAoSlNDOjpCMzo6QWly
OjpkZWZhdWx0UHJvbG9ndWVHZW5lcmF0b3IpOgorICAgICAgICAqIGRmZy9ERkdKSVRDb21waWxl
ci5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6SklUQ29tcGlsZXI6OmNvbXBpbGUpOgorICAgICAg
ICAoSlNDOjpERkc6OkpJVENvbXBpbGVyOjpjb21waWxlRnVuY3Rpb24pOgorICAgICAgICAqIGRm
Zy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVK
SVQ6OmNvbXBpbGVDdXJyZW50QmxvY2spOgorICAgICAgICAqIGZ0bC9GVExMb3dlckRGR1RvQjMu
Y3BwOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdUb0IzOjpsb3dlcik6CisgICAg
ICAgICogaml0L0Fzc2VtYmx5SGVscGVycy5oOgorICAgICAgICAqIGppdC9KSVQuY3BwOgorICAg
ICAgICAoSlNDOjpKSVQ6OmNvbXBpbGVXaXRob3V0TGlua2luZyk6CisgICAgICAgICogcnVudGlt
ZS9PcHRpb25zTGlzdC5oOgorICAgICAgICAqIHdhc20vV2FzbUIzSVJHZW5lcmF0b3IuY3BwOgor
ICAgICAgICAoSlNDOjpXYXNtOjpCM0lSR2VuZXJhdG9yOjphZGRDYWxsSW5kaXJlY3QpOgorICAg
ICAgICAqIHlhcnIvWWFyckpJVC5jcHA6CisgICAgICAgIChKU0M6OllhcnI6OllhcnJHZW5lcmF0
b3I6OmluaXRDYWxsRnJhbWUpOgorCiAyMDIwLTAxLTIzICBSb2JpbiBNb3Jpc3NldCAgPHJtb3Jp
c3NldEBhcHBsZS5jb20+CiAKICAgICAgICAgRG9uJ3QgaW5jbHVkZSBCeXRlY29kZVN0cnVjdHMu
aCBpbiBDb21tb25TbG93UGF0aHMuaApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2IzL2Fpci9BaXJDb2RlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvQWlyQ29k
ZS5jcHAKaW5kZXggZDVkNjljMzBhNTkuLmJiN2I3OGZkNDYzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckNvZGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9iMy9haXIvQWlyQ29kZS5jcHAKQEAgLTQ2LDggKzQ2LDYgQEAgc3RhdGljIHZvaWQgZGVm
YXVsdFByb2xvZ3VlR2VuZXJhdG9yKENDYWxsSGVscGVycyYgaml0LCBDb2RlJiBjb2RlKQogICAg
IGlmIChjb2RlLmZyYW1lU2l6ZSgpKSB7CiAgICAgICAgIEFsbG93TWFjcm9TY3JhdGNoUmVnaXN0
ZXJVc2FnZUlmIGFsbG93U2NyYXRjaChqaXQsIGlzQVJNNjQoKSk7CiAgICAgICAgIGppdC5hZGRQ
dHIoTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW0zMigtY29kZS5mcmFtZVNpemUoKSksIE1hY3Jv
QXNzZW1ibGVyOjpmcmFtZVBvaW50ZXJSZWdpc3RlciwgIE1hY3JvQXNzZW1ibGVyOjpzdGFja1Bv
aW50ZXJSZWdpc3Rlcik7Ci0gICAgICAgIGlmIChPcHRpb25zOjp6ZXJvU3RhY2tGcmFtZSgpKQot
ICAgICAgICAgICAgaml0LmNsZWFyU3RhY2tGcmFtZShNYWNyb0Fzc2VtYmxlcjo6ZnJhbWVQb2lu
dGVyUmVnaXN0ZXIsIE1hY3JvQXNzZW1ibGVyOjpzdGFja1BvaW50ZXJSZWdpc3RlciwgR1BSSW5m
bzo6bm9uQXJnR1BSMCwgY29kZS5mcmFtZVNpemUoKSk7CiAgICAgfQogICAgIAogICAgIGppdC5l
bWl0U2F2ZShjb2RlLmNhbGxlZVNhdmVSZWdpc3RlckF0T2Zmc2V0TGlzdCgpKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29tcGlsZXIuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb21waWxlci5jcHAKaW5kZXggYzU1NDRiYmM1Yzku
LjRmNjFjYzFhOTNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJ
VENvbXBpbGVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvbXBp
bGVyLmNwcApAQCAtMzUzLDggKzM1Myw2IEBAIHZvaWQgSklUQ29tcGlsZXI6OmNvbXBpbGUoKQog
ICAgIGVtaXRTdGFja092ZXJmbG93Q2hlY2soKnRoaXMsIHN0YWNrT3ZlcmZsb3cpOwogCiAgICAg
YWRkUHRyKFRydXN0ZWRJbW0zMigtKG1fZ3JhcGguZnJhbWVSZWdpc3RlckNvdW50KCkgKiBzaXpl
b2YoUmVnaXN0ZXIpKSksIEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCBzdGFja1BvaW50ZXJS
ZWdpc3Rlcik7Ci0gICAgaWYgKE9wdGlvbnM6Onplcm9TdGFja0ZyYW1lKCkpCi0gICAgICAgIGNs
ZWFyU3RhY2tGcmFtZShHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3Rlciwgc3RhY2tQb2ludGVyUmVn
aXN0ZXIsIEdQUkluZm86OnJlZ1QwLCBtX2dyYXBoLmZyYW1lUmVnaXN0ZXJDb3VudCgpICogc2l6
ZW9mKFJlZ2lzdGVyKSk7CiAgICAgY2hlY2tTdGFja1BvaW50ZXJBbGlnbm1lbnQoKTsKICAgICBj
b21waWxlU2V0dXBSZWdpc3RlcnNGb3JFbnRyeSgpOwogICAgIGNvbXBpbGVFbnRyeUV4ZWN1dGlv
bkZsYWcoKTsKQEAgLTQyMiw4ICs0MjAsNiBAQCB2b2lkIEpJVENvbXBpbGVyOjpjb21waWxlRnVu
Y3Rpb24oKQogCiAgICAgLy8gTW92ZSB0aGUgc3RhY2sgcG9pbnRlciBkb3duIHRvIGFjY29tbW9k
YXRlIGxvY2FscwogICAgIGFkZFB0cihUcnVzdGVkSW1tMzIoLShtX2dyYXBoLmZyYW1lUmVnaXN0
ZXJDb3VudCgpICogc2l6ZW9mKFJlZ2lzdGVyKSkpLCBHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3Rl
ciwgc3RhY2tQb2ludGVyUmVnaXN0ZXIpOwotICAgIGlmIChPcHRpb25zOjp6ZXJvU3RhY2tGcmFt
ZSgpKQotICAgICAgICBjbGVhclN0YWNrRnJhbWUoR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIs
IHN0YWNrUG9pbnRlclJlZ2lzdGVyLCBHUFJJbmZvOjpyZWdUMCwgbV9ncmFwaC5mcmFtZVJlZ2lz
dGVyQ291bnQoKSAqIHNpemVvZihSZWdpc3RlcikpOwogICAgIGNoZWNrU3RhY2tQb2ludGVyQWxp
Z25tZW50KCk7CiAKICAgICBjb21waWxlU2V0dXBSZWdpc3RlcnNGb3JFbnRyeSgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAppbmRleCA3YTA3
YjhhODI2ZS4uNjQyYjE2MzU2ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU3BlY3VsYXRpdmVKSVQuY3BwCkBAIC0xODQ4LDggKzE4NDgsNiBAQCB2b2lkIFNwZWN1bGF0
aXZlSklUOjpjb21waWxlQ3VycmVudEJsb2NrKCkKIAogICAgIGlmIChtX2Jsb2NrLT5pc0NhdGNo
RW50cnlwb2ludCkgewogICAgICAgICBtX2ppdC5hZGRQdHIoQ0NhbGxIZWxwZXJzOjpUcnVzdGVk
SW1tMzIoLShtX2ppdC5ncmFwaCgpLmZyYW1lUmVnaXN0ZXJDb3VudCgpICogc2l6ZW9mKFJlZ2lz
dGVyKSkpLCBHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlciwgIENDYWxsSGVscGVyczo6c3RhY2tQ
b2ludGVyUmVnaXN0ZXIpOwotICAgICAgICBpZiAoT3B0aW9uczo6emVyb1N0YWNrRnJhbWUoKSkK
LSAgICAgICAgICAgIG1faml0LmNsZWFyU3RhY2tGcmFtZShHUFJJbmZvOjpjYWxsRnJhbWVSZWdp
c3RlciwgQ0NhbGxIZWxwZXJzOjpzdGFja1BvaW50ZXJSZWdpc3RlciwgR1BSSW5mbzo6cmVnVDAs
IG1faml0LmdyYXBoKCkuZnJhbWVSZWdpc3RlckNvdW50KCkgKiBzaXplb2YoUmVnaXN0ZXIpKTsK
ICAgICAgICAgbV9qaXQuZW1pdFNhdmVDYWxsZWVTYXZlcygpOwogICAgICAgICBtX2ppdC5lbWl0
TWF0ZXJpYWxpemVUYWdDaGVja1JlZ2lzdGVycygpOwogICAgICAgICBtX2ppdC5lbWl0UHV0VG9D
YWxsRnJhbWVIZWFkZXIobV9qaXQuY29kZUJsb2NrKCksIENhbGxGcmFtZVNsb3Q6OmNvZGVCbG9j
ayk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9C
My5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAKaW5k
ZXggMGZlODhkNjdjNzEuLjRkMzQyN2JjODJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCkBAIC0yMDUsOCArMjA1LDYgQEAgcHVibGljOgogICAg
ICAgICAgICAgICAgIFtjb2RlQmxvY2tdIChDQ2FsbEhlbHBlcnMmIGppdCwgQjM6OkFpcjo6Q29k
ZSYgY29kZSkgewogICAgICAgICAgICAgICAgICAgICBBbGxvd01hY3JvU2NyYXRjaFJlZ2lzdGVy
VXNhZ2UgYWxsb3dTY3JhdGNoKGppdCk7CiAgICAgICAgICAgICAgICAgICAgIGppdC5hZGRQdHIo
Q0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoLWNvZGUuZnJhbWVTaXplKCkpLCBHUFJJbmZvOjpj
YWxsRnJhbWVSZWdpc3RlciwgQ0NhbGxIZWxwZXJzOjpzdGFja1BvaW50ZXJSZWdpc3Rlcik7Ci0g
ICAgICAgICAgICAgICAgICAgIGlmIChPcHRpb25zOjp6ZXJvU3RhY2tGcmFtZSgpKQotICAgICAg
ICAgICAgICAgICAgICAgICAgaml0LmNsZWFyU3RhY2tGcmFtZShHUFJJbmZvOjpjYWxsRnJhbWVS
ZWdpc3RlciwgQ0NhbGxIZWxwZXJzOjpzdGFja1BvaW50ZXJSZWdpc3RlciwgR1BSSW5mbzo6cmVn
VDAsIGNvZGUuZnJhbWVTaXplKCkpOwogCiAgICAgICAgICAgICAgICAgICAgIGppdC5lbWl0U2F2
ZShjb2RlLmNhbGxlZVNhdmVSZWdpc3RlckF0T2Zmc2V0TGlzdCgpKTsKICAgICAgICAgICAgICAg
ICAgICAgaml0LmVtaXRQdXRUb0NhbGxGcmFtZUhlYWRlcihjb2RlQmxvY2ssIFZpcnR1YWxSZWdp
c3RlcihDYWxsRnJhbWVTbG90Ojpjb2RlQmxvY2spKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvQXNzZW1ibHlIZWxwZXJzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0Fzc2VtYmx5SGVscGVycy5oCmluZGV4IDY5MzQyZGVmYWZlLi43MjlmNTg0NjM3ZCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Bc3NlbWJseUhlbHBlcnMuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0Fzc2VtYmx5SGVscGVycy5oCkBAIC01MDIsMzAg
KzUwMiw2IEBAIHB1YmxpYzoKICNlbmRpZgogICAgIH0KIAotICAgIHZvaWQgY2xlYXJTdGFja0Zy
YW1lKEdQUlJlZyBjdXJyZW50VG9wLCBHUFJSZWcgbmV3VG9wLCBHUFJSZWcgdGVtcCwgdW5zaWdu
ZWQgZnJhbWVTaXplKQotICAgIHsKLSAgICAgICAgQVNTRVJUKGZyYW1lU2l6ZSAlIHN0YWNrQWxp
Z25tZW50Qnl0ZXMoKSA9PSAwKTsKLSAgICAgICAgaWYgKGZyYW1lU2l6ZSA8PSAxMjgpIHsKLSAg
ICAgICAgICAgIGZvciAodW5zaWduZWQgb2Zmc2V0ID0gMDsgb2Zmc2V0IDwgZnJhbWVTaXplOyBv
ZmZzZXQgKz0gc2l6ZW9mKENQVVJlZ2lzdGVyKSkKLSAgICAgICAgICAgICAgICBzdG9yZVB0cihU
cnVzdGVkSW1tMzIoMCksIEFkZHJlc3MoY3VycmVudFRvcCwgLTggLSBvZmZzZXQpKTsKLSAgICAg
ICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGNvbnN0ZXhwciB1bnNpZ25lZCBzdG9yZUJ5dGVzUGVy
SXRlcmF0aW9uID0gc3RhY2tBbGlnbm1lbnRCeXRlcygpOwotICAgICAgICAgICAgY29uc3RleHBy
IHVuc2lnbmVkIHN0b3Jlc1Blckl0ZXJhdGlvbiA9IHN0b3JlQnl0ZXNQZXJJdGVyYXRpb24gLyBz
aXplb2YoQ1BVUmVnaXN0ZXIpOwotCi0gICAgICAgICAgICBtb3ZlKGN1cnJlbnRUb3AsIHRlbXAp
OwotICAgICAgICAgICAgTGFiZWwgemVyb0xvb3AgPSBsYWJlbCgpOwotICAgICAgICAgICAgc3Vi
UHRyKFRydXN0ZWRJbW0zMihzdG9yZUJ5dGVzUGVySXRlcmF0aW9uKSwgdGVtcCk7Ci0jaWYgQ1BV
KEFSTTY0KQotICAgICAgICAgICAgc3RhdGljX2Fzc2VydChzdG9yZXNQZXJJdGVyYXRpb24gPT0g
MiwgImNsZWFyU3RhY2tGcmFtZSgpIGZvciBBUk02NCBhc3N1bWVzIHN0YWNrIGlzIDE2IGJ5dGUg
YWxpZ25lZCIpOwotICAgICAgICAgICAgc3RvcmVQYWlyNjQoQVJNNjRSZWdpc3RlcnM6OnpyLCBB
Uk02NFJlZ2lzdGVyczo6enIsIHRlbXApOwotI2Vsc2UKLSAgICAgICAgICAgIGZvciAodW5zaWdu
ZWQgaSA9IHN0b3Jlc1Blckl0ZXJhdGlvbjsgaS0tICE9IDA7KQotICAgICAgICAgICAgICAgIHN0
b3JlUHRyKFRydXN0ZWRJbW0zMigwKSwgQWRkcmVzcyh0ZW1wLCBzaXplb2YoQ1BVUmVnaXN0ZXIp
ICogaSkpOwotI2VuZGlmCi0gICAgICAgICAgICBicmFuY2hQdHIoTm90RXF1YWwsIHRlbXAsIG5l
d1RvcCkubGlua1RvKHplcm9Mb29wLCB0aGlzKTsKLSAgICAgICAgfQotICAgIH0KLQogI2lmIENQ
VShYODZfNjQpCiAgICAgc3RhdGljIGNvbnN0ZXhwciBzaXplX3QgcHJvbG9ndWVTdGFja1BvaW50
ZXJEZWx0YSgpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCmluZGV4IGU0MjQ4ZjIy
MjNhLi5mYzk5Nzk4NjU4MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcApAQCAtNzA4LDgg
KzcwOCw2IEBAIHZvaWQgSklUOjpjb21waWxlV2l0aG91dExpbmtpbmcoSklUQ29tcGlsYXRpb25F
ZmZvcnQgZWZmb3J0KQogCiAgICAgbW92ZShyZWdUMSwgc3RhY2tQb2ludGVyUmVnaXN0ZXIpOwog
ICAgIGNoZWNrU3RhY2tQb2ludGVyQWxpZ25tZW50KCk7Ci0gICAgaWYgKE9wdGlvbnM6Onplcm9T
dGFja0ZyYW1lKCkpCi0gICAgICAgIGNsZWFyU3RhY2tGcmFtZShjYWxsRnJhbWVSZWdpc3Rlciwg
c3RhY2tQb2ludGVyUmVnaXN0ZXIsIHJlZ1QwLCBtYXhGcmFtZVNpemUpOwogCiAgICAgZW1pdFNh
dmVDYWxsZWVTYXZlcygpOwogICAgIGVtaXRNYXRlcmlhbGl6ZVRhZ0NoZWNrUmVnaXN0ZXJzKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zTGlzdC5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9uc0xpc3QuaAppbmRleCBiYzU2
OGY4NDEyMi4uYWJkYTRkN2M5YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL09wdGlvbnNMaXN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
T3B0aW9uc0xpc3QuaApAQCAtNDQ0LDEwICs0NDQsNiBAQCBjb25zdGV4cHIgYm9vbCBlbmFibGVX
ZWJBc3NlbWJseVN0cmVhbWluZ0FwaSA9IGZhbHNlOwogICAgIFwKICAgICB2KEJvb2wsIHVzZVdl
YkFzc2VtYmx5LCB0cnVlLCBOb3JtYWwsICJFeHBvc2UgdGhlIFdlYkFzc2VtYmx5IGdsb2JhbCBv
YmplY3QuIikgXAogICAgIFwKLSAgICB2KEJvb2wsIGVuYWJsZVNwZWN0cmVNaXRpZ2F0aW9ucywg
dHJ1ZSwgUmVzdHJpY3RlZCwgIkVuYWJsZSBTcGVjdHJlIG1pdGlnYXRpb25zLiIpIFwKLSAgICB2
KEJvb2wsIGVuYWJsZVNwZWN0cmVHYWRnZXRzLCBmYWxzZSwgUmVzdHJpY3RlZCwgImVuYWJsZSBn
YWRnZXRzIHRvIHRlc3QgU3BlY3RyZSBtaXRpZ2F0aW9ucy4iKSBcCi0gICAgdihCb29sLCB6ZXJv
U3RhY2tGcmFtZSwgZmFsc2UsIE5vcm1hbCwgIlplcm8gc3RhY2sgZnJhbWUgb24gZW50cnkgdG8g
YSBmdW5jdGlvbi4iKSBcCi0gICAgXAogICAgIHYoQm9vbCwgZmFpbFRvQ29tcGlsZVdlYkFzc2Vt
Ymx5Q29kZSwgZmFsc2UsIE5vcm1hbCwgIklmIHRydWUsIG5vIFdhc206OlBsYW4gd2lsbCBzdWNl
c3NmdWxseSBjb21waWxlIGEgZnVuY3Rpb24uIikgXAogICAgIHYoU2l6ZSwgd2ViQXNzZW1ibHlQ
YXJ0aWFsQ29tcGlsZUxpbWl0LCA1MDAwLCBOb3JtYWwsICJMaW1pdCBvbiB0aGUgbnVtYmVyIG9m
IGJ5dGVzIGEgV2FzbTo6UGxhbjo6Y29tcGlsZSBzaG91bGQgYXR0ZW1wdCBiZWZvcmUgY2hlY2tp
bmcgZm9yIG90aGVyIHdvcmsuIikgXAogICAgIHYoVW5zaWduZWQsIHdlYkFzc2VtYmx5QkJRQWly
T3B0aW1pemF0aW9uTGV2ZWwsIDAsIE5vcm1hbCwgIkFpciBPcHRpbWl6YXRpb24gbGV2ZWwgZm9y
IEJCUSBXZWIgQXNzZW1ibHkgbW9kdWxlIGNvbXBpbGF0aW9ucy4iKSBcCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQjNJUkdlbmVyYXRvci5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQjNJUkdlbmVyYXRvci5jcHAKaW5kZXggYzc5ZjQ5OGY5
NGYuLmUwNGM0NjYwN2MyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9X
YXNtQjNJUkdlbmVyYXRvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2Fz
bUIzSVJHZW5lcmF0b3IuY3BwCkBAIC0xNzU0LDcgKzE3NTQsNiBAQCBhdXRvIEIzSVJHZW5lcmF0
b3I6OmFkZENhbGxJbmRpcmVjdCh1bnNpZ25lZCB0YWJsZUluZGV4LCBjb25zdCBTaWduYXR1cmUm
IHNpZ25hdAogICAgIEV4cHJlc3Npb25UeXBlIGNhbGxhYmxlRnVuY3Rpb25CdWZmZXI7CiAgICAg
RXhwcmVzc2lvblR5cGUgaW5zdGFuY2VzQnVmZmVyOwogICAgIEV4cHJlc3Npb25UeXBlIGNhbGxh
YmxlRnVuY3Rpb25CdWZmZXJMZW5ndGg7Ci0gICAgRXhwcmVzc2lvblR5cGUgbWFzazsKICAgICB7
CiAgICAgICAgIEV4cHJlc3Npb25UeXBlIHRhYmxlID0gbV9jdXJyZW50QmxvY2stPmFwcGVuZE5l
dzxNZW1vcnlWYWx1ZT4obV9wcm9jLCBMb2FkLCBwb2ludGVyVHlwZSgpLCBvcmlnaW4oKSwKICAg
ICAgICAgICAgIGluc3RhbmNlVmFsdWUoKSwgc2FmZUNhc3Q8aW50MzJfdD4oSW5zdGFuY2U6Om9m
ZnNldE9mVGFibGVQdHIobV9udW1JbXBvcnRGdW5jdGlvbnMsIHRhYmxlSW5kZXgpKSk7CkBAIC0x
NzY0LDkgKzE3NjMsNiBAQCBhdXRvIEIzSVJHZW5lcmF0b3I6OmFkZENhbGxJbmRpcmVjdCh1bnNp
Z25lZCB0YWJsZUluZGV4LCBjb25zdCBTaWduYXR1cmUmIHNpZ25hdAogICAgICAgICAgICAgdGFi
bGUsIHNhZmVDYXN0PGludDMyX3Q+KEZ1bmNSZWZUYWJsZTo6b2Zmc2V0T2ZJbnN0YW5jZXMoKSkp
OwogICAgICAgICBjYWxsYWJsZUZ1bmN0aW9uQnVmZmVyTGVuZ3RoID0gbV9jdXJyZW50QmxvY2st
PmFwcGVuZE5ldzxNZW1vcnlWYWx1ZT4obV9wcm9jLCBMb2FkLCBJbnQzMiwgb3JpZ2luKCksCiAg
ICAgICAgICAgICB0YWJsZSwgc2FmZUNhc3Q8aW50MzJfdD4oVGFibGU6Om9mZnNldE9mTGVuZ3Ro
KCkpKTsKLSAgICAgICAgbWFzayA9IG1fY3VycmVudEJsb2NrLT5hcHBlbmROZXc8VmFsdWU+KG1f
cHJvYywgWkV4dDMyLCBvcmlnaW4oKSwKLSAgICAgICAgICAgIG1fY3VycmVudEJsb2NrLT5hcHBl
bmROZXc8TWVtb3J5VmFsdWU+KG1fcHJvYywgTG9hZCwgSW50MzIsIG9yaWdpbigpLAotICAgICAg
ICAgICAgICAgIHRhYmxlLCBzYWZlQ2FzdDxpbnQzMl90PihUYWJsZTo6b2Zmc2V0T2ZNYXNrKCkp
KSk7CiAgICAgfQogCiAgICAgLy8gQ2hlY2sgdGhlIGluZGV4IHdlIGFyZSBsb29raW5nIGZvciBp
cyB2YWxpZC4KQEAgLTE3ODEsOSArMTc3Nyw2IEBAIGF1dG8gQjNJUkdlbmVyYXRvcjo6YWRkQ2Fs
bEluZGlyZWN0KHVuc2lnbmVkIHRhYmxlSW5kZXgsIGNvbnN0IFNpZ25hdHVyZSYgc2lnbmF0CiAK
ICAgICBjYWxsZWVJbmRleCA9IG1fY3VycmVudEJsb2NrLT5hcHBlbmROZXc8VmFsdWU+KG1fcHJv
YywgWkV4dDMyLCBvcmlnaW4oKSwgY2FsbGVlSW5kZXgpOwogCi0gICAgaWYgKE9wdGlvbnM6OmVu
YWJsZVNwZWN0cmVNaXRpZ2F0aW9ucygpKQotICAgICAgICBjYWxsZWVJbmRleCA9IG1fY3VycmVu
dEJsb2NrLT5hcHBlbmROZXc8VmFsdWU+KG1fcHJvYywgQml0QW5kLCBvcmlnaW4oKSwgbWFzaywg
Y2FsbGVlSW5kZXgpOwotCiAgICAgRXhwcmVzc2lvblR5cGUgY2FsbGFibGVGdW5jdGlvbjsKICAg
ICB7CiAgICAgICAgIC8vIENvbXB1dGUgdGhlIG9mZnNldCBpbiB0aGUgdGFibGUgaW5kZXggc3Bh
Y2Ugd2UgYXJlIGxvb2tpbmcgZm9yLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3lhcnIvWWFyckpJVC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJySklULmNw
cAppbmRleCBkMmYwZThlMmI2NC4uNjI5YmJlNGY3MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS95YXJyL1lhcnJKSVQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95
YXJyL1lhcnJKSVQuY3BwCkBAIC02MzgsMzEgKzYzOCw4IEBAIGNsYXNzIFlhcnJHZW5lcmF0b3Ig
OiBwdWJsaWMgWWFyckpJVEluZm8sIHByaXZhdGUgTWFjcm9Bc3NlbWJsZXIgewogICAgIHZvaWQg
aW5pdENhbGxGcmFtZSgpCiAgICAgewogICAgICAgICB1bnNpZ25lZCBjYWxsRnJhbWVTaXplSW5C
eXRlcyA9IGFsaWduQ2FsbEZyYW1lU2l6ZUluQnl0ZXMobV9wYXR0ZXJuLm1fYm9keS0+bV9jYWxs
RnJhbWVTaXplKTsKLSAgICAgICAgaWYgKGNhbGxGcmFtZVNpemVJbkJ5dGVzKSB7Ci0jaWYgQ1BV
KFg4Nl82NCkgfHwgQ1BVKEFSTTY0KQotICAgICAgICAgICAgaWYgKE9wdGlvbnM6Onplcm9TdGFj
a0ZyYW1lKCkpIHsKLSAgICAgICAgICAgICAgICAvLyBXZSBuZWVkIHRvIHN0YXJ0IGZyb20gdGhl
IHN0YWNrIHBvaW50ZXIsIGJlY2F1c2Ugd2UgY291bGQgaGF2ZSBzcGlsbGVkIGNhbGxlZSBzYXZl
cwotICAgICAgICAgICAgICAgIG1vdmUoc3RhY2tQb2ludGVyUmVnaXN0ZXIsIHJlZ1QwKTsKLSAg
ICAgICAgICAgICAgICBzdWJQdHIoSW1tMzIoY2FsbEZyYW1lU2l6ZUluQnl0ZXMpLCBzdGFja1Bv
aW50ZXJSZWdpc3Rlcik7Ci0gICAgICAgICAgICAgICAgaWYgKGNhbGxGcmFtZVNpemVJbkJ5dGVz
IDw9IDEyOCkgewotICAgICAgICAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIG9mZnNldCA9IDA7
IG9mZnNldCA8IGNhbGxGcmFtZVNpemVJbkJ5dGVzOyBvZmZzZXQgKz0gc2l6ZW9mKGludHB0cl90
KSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JlUHRyKFRydXN0ZWRJbW0zMigwKSwgQWRk
cmVzcyhyZWdUMCwgLTggLSBvZmZzZXQpKTsKLSAgICAgICAgICAgICAgICB9IGVsc2UgewotICAg
ICAgICAgICAgICAgICAgICBMYWJlbCB6ZXJvTG9vcCA9IGxhYmVsKCk7Ci0gICAgICAgICAgICAg
ICAgICAgIHN1YlB0cihUcnVzdGVkSW1tMzIoc2l6ZW9mKGludHB0cl90KSAqIDIpLCByZWdUMCk7
Ci0jaWYgQ1BVKEFSTTY0KQotICAgICAgICAgICAgICAgICAgICBzdG9yZVBhaXI2NChBUk02NFJl
Z2lzdGVyczo6enIsIEFSTTY0UmVnaXN0ZXJzOjp6ciwgcmVnVDApOwotI2Vsc2UKLSAgICAgICAg
ICAgICAgICAgICAgc3RvcmVQdHIoVHJ1c3RlZEltbTMyKDApLCBBZGRyZXNzKHJlZ1QwKSk7Ci0g
ICAgICAgICAgICAgICAgICAgIHN0b3JlUHRyKFRydXN0ZWRJbW0zMigwKSwgQWRkcmVzcyhyZWdU
MCwgc2l6ZW9mKGludHB0cl90KSkpOwotI2VuZGlmCi0gICAgICAgICAgICAgICAgICAgIGJyYW5j
aFB0cihOb3RFcXVhbCwgcmVnVDAsIHN0YWNrUG9pbnRlclJlZ2lzdGVyKS5saW5rVG8oemVyb0xv
b3AsIHRoaXMpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0gZWxzZQotI2VuZGlm
Ci0gICAgICAgICAgICAgICAgc3ViUHRyKEltbTMyKGNhbGxGcmFtZVNpemVJbkJ5dGVzKSwgc3Rh
Y2tQb2ludGVyUmVnaXN0ZXIpOwotCi0gICAgICAgIH0KKyAgICAgICAgaWYgKGNhbGxGcmFtZVNp
emVJbkJ5dGVzKQorICAgICAgICAgICAgc3ViUHRyKEltbTMyKGNhbGxGcmFtZVNpemVJbkJ5dGVz
KSwgc3RhY2tQb2ludGVyUmVnaXN0ZXIpOwogICAgIH0KICAgICB2b2lkIHJlbW92ZUNhbGxGcmFt
ZSgpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGJmMmJjNTZkNjVkLi4wNjVkY2QzYjA5OCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIwLTAxLTIzICBSb2JpbiBNb3Jpc3NldCAgPHJtb3Jp
c3NldEBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIE9wdGlvbnM6OmVuYWJsZVNwZWN0cmVN
aXRpZ2F0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTkzODg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgRnJvbSB3aGF0IEkgcmVtZW1iZXIgd2UgZGVjaWRlZCB0byByZW1vdmUgdGhlIHNwZWN0cmUt
c3BlY2lmaWMgbWl0aWdhdGlvbnMgd2UgaGFkIHRyaWVkIChpbiBmYXZvciBvZiB0aGluZ3MgbGlr
ZSBwcm9jZXNzLXBlci1vcmlnaW4pLgorICAgICAgICBJIGRvbid0IHRoaW5rIGFueW9uZSBpcyB1
c2luZyB0aGUgU3BlY3RyZUdhZGdldCB3ZSBoYWQgYWRkZWQgZm9yIGV4cGVyaW1lbnRzIGVpdGhl
ci4KKyAgICAgICAgU28gdGhpcyBwYXRjaCByZW1vdmVzIHRoZSBmb2xsb3dpbmcgdGhyZWUgb3B0
aW9ucywgYW5kIGFsbCB0aGUgY29kZSB0aGF0IGRlcGVuZGVkIG9uIHRoZW06CisgICAgICAgIC0g
ZW5hYmxlU3BlY3RyZU1pdGlnYXRpb25zICh3YXMgdHJ1ZSwgb25seSB1c2VkIGluIG9uZSBwbGFj
ZSkKKyAgICAgICAgLSBlbmFibGVTcGVjdHJlR2FkZ2V0cyAod2FzIGZhbHNlKQorICAgICAgICAt
IHplcm9TdGFja0ZyYW1lICh3YXMgZmFsc2UsIGFuZCB3YXMgYW4gZXhwZXJpbWVudCBhYm91dCBT
cGVjdHJlIHZhcmlhbnQgNCBpZiBJIHJlbWVtYmVyIGNvcnJlY3RseSkKKworICAgICAgICBObyBu
ZXcgdGVzdHMgYXMgdGhlcmUgaXMgbm8gbmV3IGJlaGF2aW91ciBhZGRlZC4KKworICAgICAgICAq
IERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICog
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L1dlYkNvcmVCdWlsdGluTmFtZXMuaDoKKyAgICAgICAgKiBkb20vU3BlY3RyZUdhZGdldC5jcHA6
IFJlbW92ZWQuCisgICAgICAgICogZG9tL1NwZWN0cmVHYWRnZXQuaDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBkb20vU3BlY3RyZUdhZGdldC5pZGw6IFJlbW92ZWQuCisgICAgICAgICogcGFnZS9SdW50
aW1lRW5hYmxlZEZlYXR1cmVzLmNwcDoKKyAgICAgICAgKiBwYWdlL1J1bnRpbWVFbmFibGVkRmVh
dHVyZXMuaDoKKwogMjAyMC0wMS0yMyAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUuY29t
PgogCiAgICAgICAgIEVuYWJsZSAtV2NvbmRpdGlvbmFsLXVuaW5pdGlhbGl6ZWQgaW4gV2ViQ29y
ZSBwcm9qZWN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCAyMWZiMWFkYjdhZi4u
YTZmNGE3NjFiZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1h
a2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtNjYyLDcgKzY2
Miw2IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL2RvbS9TaGFkb3dSb290
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9kb20vU2hhZG93Um9vdE1vZGUuaWRsIFwKICAgICAkKFdl
YkNvcmUpL2RvbS9TbG90YWJsZS5pZGwgXAotICAgICQoV2ViQ29yZSkvZG9tL1NwZWN0cmVHYWRn
ZXQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9TdGF0aWNSYW5nZS5pZGwgXAogICAgICQoV2Vi
Q29yZSkvZG9tL1N0cmluZ0NhbGxiYWNrLmlkbCBcCiAgICAgJChXZWJDb3JlKS9kb20vVGV4dC5p
ZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2Vi
Q29yZS9Tb3VyY2VzLnR4dAppbmRleCBlZmIzYWVlZTU0ZC4uYjlhYWE5NDQxMjUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJj
ZXMudHh0CkBAIC05NjEsNyArOTYxLDYgQEAgZG9tL1NoYWRvd1Jvb3QuY3BwCiBkb20vU2ltdWxh
dGVkQ2xpY2suY3BwCiBkb20vU2xvdEFzc2lnbm1lbnQuY3BwCiBkb20vU3BhY2VTcGxpdFN0cmlu
Zy5jcHAKLWRvbS9TcGVjdHJlR2FkZ2V0LmNwcAogZG9tL1N0YXRpY05vZGVMaXN0LmNwcAogZG9t
L1N0YXRpY1JhbmdlLmNwcAogZG9tL1N0cmluZ0NhbGxiYWNrLmNwcApAQCAtMzQyMiw3ICszNDIx
LDYgQEAgSlNTaGFkb3dSb290TW9kZS5jcHAKIEpTU2xvdGFibGUuY3BwCiBKU1NvdXJjZUJ1ZmZl
ci5jcHAKIEpTU291cmNlQnVmZmVyTGlzdC5jcHAKLUpTU3BlY3RyZUdhZGdldC5jcHAKIEpTU3Bl
ZWNoU3ludGhlc2lzLmNwcAogSlNTcGVlY2hTeW50aGVzaXNFdmVudC5jcHAKIEpTU3BlZWNoU3lu
dGhlc2lzVXR0ZXJhbmNlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDY3MmYxY2Y3Y2RjLi4zODU5OGY0M2JkOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAt
MTk4MSw3ICsxOTgxLDYgQEAKIAkJNjU2RDM3M0YwQURCQTVERTAwQTQ1NTREIC8qIFJlc291cmNl
TG9hZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2
NTZEMzcyNzBBREJBNURFMDBBNDU1NEQgLyogUmVzb3VyY2VMb2FkZXIuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk2NTZEMzc0MzBBREJBNURFMDBB
NDU1NEQgLyogTmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1NkQzNzJCMEFEQkE1REUwMEE0NTU0RCAvKiBO
ZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTY1NkQzNzQ4MEFEQkE1REUwMEE0NTU0RCAvKiBTdWJyZXNv
dXJjZUxvYWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNjU2RDM3MzAwQURCQTVERTAwQTQ1NTREIC8qIFN1YnJlc291cmNlTG9hZGVyLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNjU3QUZBRkMyMDA0
N0EyOTAwNTA5NDY0IC8qIFNwZWN0cmVHYWRnZXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1N0FGQUY4MjAwNDc4OTkwMDUwOTQ2NCAvKiBTcGVjdHJl
R2FkZ2V0LmggKi87IH07CiAJCTY1ODQzNjg2MEFFMDFCNzQwMEU1Mzc1MyAvKiBGcmFtZUxvYWRS
ZXF1ZXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2
NTg0MzY4NTBBRTAxQjc0MDBFNTM3NTMgLyogRnJhbWVMb2FkUmVxdWVzdC5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTY1OUE3RDEzMEI2REI0RDkw
MDExNTVCMyAvKiBTdWJzdGl0dXRlRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNjU5QTdEMTIwQjZEQjREOTAwMTE1NUIzIC8qIFN1YnN0aXR1dGVE
YXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
NjU5RERDODMwOUUxOThCQTAwMUJGM0M2IC8qIEpTRG9jdW1lbnQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1OUREQzgxMDlFMTk4QkEwMDFCRjNDNiAv
KiBKU0RvY3VtZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKQEAgLTkyMTMsOSArOTIxMiw2IEBACiAJCTY1NkQzNzI3MEFEQkE1REUwMEE0NTU0RCAv
KiBSZXNvdXJjZUxvYWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVz
b3VyY2VMb2FkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjU2RDM3MkIwQURC
QTVERTAwQTQ1NTREIC8qIE5ldHNjYXBlUGx1Z0luU3RyZWFtTG9hZGVyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBOZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRlci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2NTZEMzczMDBBREJBNURFMDBBNDU1NEQgLyogU3Vi
cmVzb3VyY2VMb2FkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN1YnJl
c291cmNlTG9hZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTY1N0FGQUY4MjAw
NDc4OTkwMDUwOTQ2NCAvKiBTcGVjdHJlR2FkZ2V0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFNwZWN0cmVHYWRnZXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
NjU3QUZBRkEyMDA0Nzg5QTAwNTA5NDY0IC8qIFNwZWN0cmVHYWRnZXQuaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IFNwZWN0cmVHYWRnZXQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQk2NTdBRkFGQjIwMDQ3ODlBMDA1MDk0NjQgLyogU3BlY3RyZUdhZGdldC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTcGVjdHJlR2FkZ2V0LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjU4NDM2ODUwQUUwMUI3NDAwRTUzNzUzIC8qIEZyYW1l
TG9hZFJlcXVlc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZyYW1lTG9h
ZFJlcXVlc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjU5MzkyMzkwOUFFNDM1
QzAwMkM1MzFGIC8qIFVSTE1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBVUkxNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTY1OUE3RDEy
MEI2REI0RDkwMDExNTVCMyAvKiBTdWJzdGl0dXRlRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gU3Vic3RpdHV0ZURhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTI4NDczLDkgKzI4NDY5LDYgQEAKIAkJCQk5QjUzMkVBMjFCQTkyODU3MDAzOEE4Mjcg
LyogU2xvdEFzc2lnbm1lbnQuaCAqLywKIAkJCQlEMDFBMjdBQjEwQzlCRkQ4MDAwMjZBNDIgLyog
U3BhY2VTcGxpdFN0cmluZy5jcHAgKi8sCiAJCQkJRDAxQTI3QUMxMEM5QkZEODAwMDI2QTQyIC8q
IFNwYWNlU3BsaXRTdHJpbmcuaCAqLywKLQkJCQk2NTdBRkFGQjIwMDQ3ODlBMDA1MDk0NjQgLyog
U3BlY3RyZUdhZGdldC5jcHAgKi8sCi0JCQkJNjU3QUZBRjgyMDA0Nzg5OTAwNTA5NDY0IC8qIFNw
ZWN0cmVHYWRnZXQuaCAqLywKLQkJCQk2NTdBRkFGQTIwMDQ3ODlBMDA1MDk0NjQgLyogU3BlY3Ry
ZUdhZGdldC5pZGwgKi8sCiAJCQkJQkM3RkE2MkMwRDFGMEVGRjAwREIyMkE5IC8qIFN0YXRpY05v
ZGVMaXN0LmNwcCAqLywKIAkJCQlCQzdGQTYyQjBEMUYwRUZGMDBEQjIyQTkgLyogU3RhdGljTm9k
ZUxpc3QuaCAqLywKIAkJCQlGNDRFQkJEQTFEQjVERDlEMDAyNzczMzQgLyogU3RhdGljUmFuZ2Uu
Y3BwICovLApAQCAtMzI0NTIsNyArMzI0NDUsNiBAQAogCQkJCTg0QTgxRjQyMEZDN0UwMjcwMDk1
NTMwMCAvKiBTb3VyY2VHcmFwaGljLmggaW4gSGVhZGVycyAqLywKIAkJCQlEMDFBMjdBRTEwQzlC
RkQ4MDAwMjZBNDIgLyogU3BhY2VTcGxpdFN0cmluZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjI2
Q0RFMEYxMTQwNDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmggaW4gSGVhZGVycyAq
LywKLQkJCQk2NTdBRkFGQzIwMDQ3QTI5MDA1MDk0NjQgLyogU3BlY3RyZUdhZGdldC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQUEyQTVBRDQxNkE0ODYxMTAwOTc1QTI1IC8qIFNwZWVjaFN5bnRoZXNp
cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzE0OTM4MDcyMjM0NTUxQTAwMENENzA3IC8qIFNwZWVj
aFN5bnRoZXNpc0NsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQUEyQTVBRDIxNkE0ODYwQTAw
OTc1QTI1IC8qIFNwZWVjaFN5bnRoZXNpc0V2ZW50LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAppbmRleCAyMjhj
OGU5MTcxNy4uNTRlNjFjZGFlNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKQEAgLTIxNSw3ICsyMTUsNiBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgbWFjcm8oU2VydmljZVdvcmtlckdsb2JhbFNjb3BlKSBcCiAgICAgbWFjcm8o
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbikgXAogICAgIG1hY3JvKFNoYWRvd1Jvb3QpIFwKLSAg
ICBtYWNybyhTcGVjdHJlR2FkZ2V0KSBcCiAgICAgbWFjcm8oU3RhdGljUmFuZ2UpIFwKICAgICBt
YWNybyhTdHlsZVByb3BlcnR5TWFwUmVhZE9ubHkpIFwKICAgICBtYWNybyhTdHlsZVByb3BlcnR5
TWFwKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3BlY3RyZUdhZGdldC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vU3BlY3RyZUdhZGdldC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDZkOTViZGQwZmE0Li4wMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vU3BlY3RyZUdhZGdldC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw4MCArMCwwIEBACi0v
KgotKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgot
KgotKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKLSogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0qIGFyZSBtZXQ6Ci0qIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0qICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgot
KgotKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKLSogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKLSogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0qIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0qIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCi0qIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUgotKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0qIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
LSogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KLSovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJTcGVj
dHJlR2FkZ2V0LmgiCi0KLSNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCi0jaW5j
bHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotaW5s
aW5lIFNwZWN0cmVHYWRnZXQ6OlNwZWN0cmVHYWRnZXQoY29uc3QgU3RyaW5nJiB0ZXh0KQotewot
ICAgIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNwZWN0cmVH
YWRnZXRzRW5hYmxlZCgpKSB7Ci0gICAgICAgIG1fZGF0YS5yZXNpemUodGV4dC5sZW5ndGgoKSk7
Ci0gICAgICAgIHNldFJlYWRMZW5ndGgodGV4dC5sZW5ndGgoKSk7Ci0gICAgICAgIG1fZGF0YS5m
aWxsKDApOwotICAgICAgICBtX2RhdGFQdHIgPSBtX2RhdGEuZGF0YSgpOwotCi0gICAgICAgIGZv
ciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9yZWFkTGVuZ3RoOyBpKyspCi0gICAgICAgICAgICBtX2Rh
dGFbaV0gPSB0ZXh0LmNoYXJhY3RlckF0KGkpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIHNldFJl
YWRMZW5ndGgoMCk7Ci0gICAgICAgIG1fZGF0YVB0ciA9IG51bGxwdHI7Ci0gICAgfQotfQotCi1S
ZWY8U3BlY3RyZUdhZGdldD4gU3BlY3RyZUdhZGdldDo6Y3JlYXRlKGNvbnN0IFN0cmluZyYgdGV4
dCkKLXsKLSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTcGVjdHJlR2FkZ2V0KHRleHQpKTsKLX0K
LQotdm9pZCBTcGVjdHJlR2FkZ2V0OjpzZXRSZWFkTGVuZ3RoKHNpemVfdCByZWFkTGVuZ3RoKQot
ewotICAgIG1fcmVhZExlbmd0aCA9IHN0ZDo6bWluKHJlYWRMZW5ndGgsIG1fZGF0YS5zaXplKCkp
OwotfQotCi11bnNpZ25lZCBTcGVjdHJlR2FkZ2V0OjpjaGFyQ29kZUF0KHNpemVfdCBpbmRleCkK
LXsKLSAgICBpZiAoaW5kZXggPCBtX3JlYWRMZW5ndGgpCi0gICAgICAgIHJldHVybiBtX2RhdGFQ
dHJbaW5kZXhdOwotCi0gICAgcmV0dXJuIDA7Ci19Ci0KLXZvaWQgU3BlY3RyZUdhZGdldDo6Y2xm
bHVzaFJlYWRMZW5ndGgoKQotewotI2lmIENQVShYODZfNjQpICYmICFPUyhXSU5ET1dTKQotICAg
IGF1dG8gY2xmbHVzaCA9IFtdICh2b2lkKiBwdHIpIHsKLSAgICAgICAgY2hhciogcHRyVG9GbHVz
aCA9IHN0YXRpY19jYXN0PGNoYXIqPihwdHIpOwotICAgICAgICBhc20gdm9sYXRpbGUgKCJjbGZs
dXNoICUwIiA6OiAibSIoKnB0clRvRmx1c2gpIDogIm1lbW9yeSIpOwotICAgIH07Ci0KLSAgICBj
bGZsdXNoKCZtX3JlYWRMZW5ndGgpOwotI2VuZGlmCi19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TcGVjdHJlR2FkZ2V0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU3BlY3RyZUdhZGdldC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAxZTM4YzZjNTBhNC4uMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1Nw
ZWN0cmVHYWRnZXQuaAorKysgL2Rldi9udWxsCkBAIC0xLDUxICswLDAgQEAKLS8qCi0qIENvcHly
aWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0qCi0qIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAotKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKLSogYXJlIG1ldDoKLSogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAotKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0qICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0qCi0qIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQotKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0qIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCi0qIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0qIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgotKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpbmNsdWRlIDx1bmljb2RlL3VjaGFyLmg+Ci0j
aW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KLSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+Ci0KLW5h
bWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgU3BlY3RyZUdhZGdldCBmaW5hbCA6IHB1YmxpYyBS
ZWZDb3VudGVkPFNwZWN0cmVHYWRnZXQ+IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPFNwZWN0
cmVHYWRnZXQ+IGNyZWF0ZShjb25zdCBTdHJpbmcmKTsKLQotICAgIHZvaWQgc2V0UmVhZExlbmd0
aChzaXplX3QpOwotICAgIHVuc2lnbmVkIGNoYXJDb2RlQXQoc2l6ZV90KTsKLSAgICB2b2lkIGNs
Zmx1c2hSZWFkTGVuZ3RoKCk7Ci0KLXByaXZhdGU6Ci0gICAgU3BlY3RyZUdhZGdldChjb25zdCBT
dHJpbmcmKTsKLQotICAgIHNpemVfdCBtX3JlYWRMZW5ndGg7Ci0gICAgVmVjdG9yPFVDaGFyPiBt
X2RhdGE7Ci0gICAgVUNoYXIqIG1fZGF0YVB0cjsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKLQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NwZWN0cmVHYWRnZXQuaWRsIGIv
U291cmNlL1dlYkNvcmUvZG9tL1NwZWN0cmVHYWRnZXQuaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBhZGY0YmQ4NGMzNi4uMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL1NwZWN0cmVHYWRnZXQuaWRsCisrKyAvZGV2L251bGwKQEAgLTEsMzYgKzAsMCBAQAotLyoK
LSogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSoK
LSogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Ci0qIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotKiBhcmUgbWV0OgotKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCi0qIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0qICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSoK
LSogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQg
QU5ZCi0qIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCi0qIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAg
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAotKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKLSogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0q
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCi0qLwotCi1bCi0gICAgRXhwb3NlZD1XaW5kb3csCi0gICAgRW5hYmxlZEF0
UnVudGltZT1TcGVjdHJlR2FkZ2V0cywKLSAgICBDb25zdHJ1Y3RvcihET01TdHJpbmcgZGF0YSks
Ci0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZQotIF0gaW50ZXJmYWNlIFNwZWN0cmVHYWRn
ZXQgewotICAgIHZvaWQgc2V0UmVhZExlbmd0aCh1bnNpZ25lZCBsb25nIHJlYWRMZW5ndGgpOwot
ICAgIHVuc2lnbmVkIGxvbmcgY2hhckNvZGVBdCh1bnNpZ25lZCBsb25nIGluZGV4KTsKLSAgICB2
b2lkIGNsZmx1c2hSZWFkTGVuZ3RoKCk7Ci19OwotCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9S
dW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcAppbmRleCBlMDliMjBlZjU0ZS4uNjRiNTFmNjVmODYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcApA
QCAtNTksMTEgKzU5LDYgQEAgUnVudGltZUVuYWJsZWRGZWF0dXJlcyYgUnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKQogICAgIHJldHVybiBydW50aW1lRW5hYmxlZEZlYXR1
cmVzOwogfQogCi1ib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNwZWN0cmVHYWRnZXRzRW5h
YmxlZCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIEpTQzo6T3B0aW9uczo6ZW5hYmxlU3BlY3RyZUdh
ZGdldHMoKTsKLX0KLQogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCiBib29sIFJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXM6OnRvdWNoRXZlbnRzRW5hYmxlZCgpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCmluZGV4IDYyMTIxMGFhMDUzLi41OGUw
NmE4ODU4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZl
YXR1cmVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVz
LmgKQEAgLTEzMiw4ICsxMzIsNiBAQCBwdWJsaWM6CiAgICAgYm9vbCBmZXRjaEFQSUtlZXBBbGl2
ZUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2ZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZDsgfQog
ICAgIHZvaWQgc2V0RmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1f
ZmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkID0gaXNFbmFibGVkOyB9CiAKLSAgICBib29sIHNwZWN0
cmVHYWRnZXRzRW5hYmxlZCgpIGNvbnN0OwotCiAgICAgdm9pZCBzZXRJbnNwZWN0b3JBZGRpdGlv
bnNFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faW5zcGVjdG9yQWRkaXRpb25zRW5hYmxlZCA9
IGlzRW5hYmxlZDsgfQogICAgIGJvb2wgaW5zcGVjdG9yQWRkaXRpb25zRW5hYmxlZCgpIGNvbnN0
IHsgcmV0dXJuIG1faW5zcGVjdG9yQWRkaXRpb25zRW5hYmxlZDsgfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388939</attachid>
            <date>2020-01-27 16:47:30 -0800</date>
            <delta_ts>2020-01-29 17:06:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch193885</filename>
            <type>text/plain</type>
            <size>30055</size>
            <attacher name="Robin Morisset">rmorisset</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDYwM2M2ZjEyMmE0Li5mNGNiMWE2YTkzYiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMjAtMDEtMjcgIFJvYmlu
IE1vcmlzc2V0ICA8cm1vcmlzc2V0QGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgT3B0aW9u
czo6ZW5hYmxlU3BlY3RyZU1pdGlnYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xOTM4ODUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBGcm9tIHdoYXQgSSByZW1lbWJlciB3ZSBkZWNpZGVkIHRvIHJl
bW92ZSB0aGUgc3BlY3RyZS1zcGVjaWZpYyBtaXRpZ2F0aW9ucyB3ZSBoYWQgdHJpZWQgKGluIGZh
dm9yIG9mIHRoaW5ncyBsaWtlIHByb2Nlc3MtcGVyLW9yaWdpbikuCisgICAgICAgIEkgZG9uJ3Qg
dGhpbmsgYW55b25lIGlzIHVzaW5nIHRoZSBTcGVjdHJlR2FkZ2V0IHdlIGhhZCBhZGRlZCBmb3Ig
ZXhwZXJpbWVudHMgZWl0aGVyLgorICAgICAgICBTbyB0aGlzIHBhdGNoIHJlbW92ZXMgdGhlIGZv
bGxvd2luZyB0aHJlZSBvcHRpb25zLCBhbmQgYWxsIHRoZSBjb2RlIHRoYXQgZGVwZW5kZWQgb24g
dGhlbToKKyAgICAgICAgLSBlbmFibGVTcGVjdHJlTWl0aWdhdGlvbnMgKHdhcyB0cnVlLCBvbmx5
IHVzZWQgaW4gb25lIHBsYWNlKQorICAgICAgICAtIGVuYWJsZVNwZWN0cmVHYWRnZXRzICh3YXMg
ZmFsc2UpCisgICAgICAgIC0gemVyb1N0YWNrRnJhbWUgKHdhcyBmYWxzZSwgYW5kIHdhcyBhbiBl
eHBlcmltZW50IGFib3V0IFNwZWN0cmUgdmFyaWFudCA0IGlmIEkgcmVtZW1iZXIgY29ycmVjdGx5
KQorCisgICAgICAgICogYjMvYWlyL0FpckNvZGUuY3BwOgorICAgICAgICAoSlNDOjpCMzo6QWly
OjpkZWZhdWx0UHJvbG9ndWVHZW5lcmF0b3IpOgorICAgICAgICAqIGRmZy9ERkdKSVRDb21waWxl
ci5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6SklUQ29tcGlsZXI6OmNvbXBpbGUpOgorICAgICAg
ICAoSlNDOjpERkc6OkpJVENvbXBpbGVyOjpjb21waWxlRnVuY3Rpb24pOgorICAgICAgICAqIGRm
Zy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVK
SVQ6OmNvbXBpbGVDdXJyZW50QmxvY2spOgorICAgICAgICAqIGZ0bC9GVExMb3dlckRGR1RvQjMu
Y3BwOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdUb0IzOjpsb3dlcik6CisgICAg
ICAgICogaml0L0Fzc2VtYmx5SGVscGVycy5oOgorICAgICAgICAqIGppdC9KSVQuY3BwOgorICAg
ICAgICAoSlNDOjpKSVQ6OmNvbXBpbGVXaXRob3V0TGlua2luZyk6CisgICAgICAgICogcnVudGlt
ZS9PcHRpb25zTGlzdC5oOgorICAgICAgICAqIHdhc20vV2FzbUIzSVJHZW5lcmF0b3IuY3BwOgor
ICAgICAgICAoSlNDOjpXYXNtOjpCM0lSR2VuZXJhdG9yOjphZGRDYWxsSW5kaXJlY3QpOgorICAg
ICAgICAqIHlhcnIvWWFyckpJVC5jcHA6CisgICAgICAgIChKU0M6OllhcnI6OllhcnJHZW5lcmF0
b3I6OmluaXRDYWxsRnJhbWUpOgorCiAyMDIwLTAxLTI3ICBEZXZpbiBSb3Vzc28gIDxkcm91c3Nv
QGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiB1bmFibGUgdG8gZXZhbHVhdGUg
aW4gdGhlIGlzb2xhdGVkIHdvcmxkIG9mIGNvbnRlbnQgc2NyaXB0cyBpbmplY3RlZCBieSBzYWZh
cmkgYXBwIGV4dGVuc2lvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9h
aXIvQWlyQ29kZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckNvZGUuY3Bw
CmluZGV4IGQ1ZDY5YzMwYTU5Li5iYjdiNzhmZDQ2MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2IzL2Fpci9BaXJDb2RlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
YjMvYWlyL0FpckNvZGUuY3BwCkBAIC00Niw4ICs0Niw2IEBAIHN0YXRpYyB2b2lkIGRlZmF1bHRQ
cm9sb2d1ZUdlbmVyYXRvcihDQ2FsbEhlbHBlcnMmIGppdCwgQ29kZSYgY29kZSkKICAgICBpZiAo
Y29kZS5mcmFtZVNpemUoKSkgewogICAgICAgICBBbGxvd01hY3JvU2NyYXRjaFJlZ2lzdGVyVXNh
Z2VJZiBhbGxvd1NjcmF0Y2goaml0LCBpc0FSTTY0KCkpOwogICAgICAgICBqaXQuYWRkUHRyKE1h
Y3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tMzIoLWNvZGUuZnJhbWVTaXplKCkpLCBNYWNyb0Fzc2Vt
Ymxlcjo6ZnJhbWVQb2ludGVyUmVnaXN0ZXIsICBNYWNyb0Fzc2VtYmxlcjo6c3RhY2tQb2ludGVy
UmVnaXN0ZXIpOwotICAgICAgICBpZiAoT3B0aW9uczo6emVyb1N0YWNrRnJhbWUoKSkKLSAgICAg
ICAgICAgIGppdC5jbGVhclN0YWNrRnJhbWUoTWFjcm9Bc3NlbWJsZXI6OmZyYW1lUG9pbnRlclJl
Z2lzdGVyLCBNYWNyb0Fzc2VtYmxlcjo6c3RhY2tQb2ludGVyUmVnaXN0ZXIsIEdQUkluZm86Om5v
bkFyZ0dQUjAsIGNvZGUuZnJhbWVTaXplKCkpOwogICAgIH0KICAgICAKICAgICBqaXQuZW1pdFNh
dmUoY29kZS5jYWxsZWVTYXZlUmVnaXN0ZXJBdE9mZnNldExpc3QoKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvbXBpbGVyLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHSklUQ29tcGlsZXIuY3BwCmluZGV4IGM1NTQ0YmJjNWM5Li40ZjYx
Y2MxYTkzYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb21w
aWxlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb21waWxlci5j
cHAKQEAgLTM1Myw4ICszNTMsNiBAQCB2b2lkIEpJVENvbXBpbGVyOjpjb21waWxlKCkKICAgICBl
bWl0U3RhY2tPdmVyZmxvd0NoZWNrKCp0aGlzLCBzdGFja092ZXJmbG93KTsKIAogICAgIGFkZFB0
cihUcnVzdGVkSW1tMzIoLShtX2dyYXBoLmZyYW1lUmVnaXN0ZXJDb3VudCgpICogc2l6ZW9mKFJl
Z2lzdGVyKSkpLCBHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3Rlciwgc3RhY2tQb2ludGVyUmVnaXN0
ZXIpOwotICAgIGlmIChPcHRpb25zOjp6ZXJvU3RhY2tGcmFtZSgpKQotICAgICAgICBjbGVhclN0
YWNrRnJhbWUoR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIsIHN0YWNrUG9pbnRlclJlZ2lzdGVy
LCBHUFJJbmZvOjpyZWdUMCwgbV9ncmFwaC5mcmFtZVJlZ2lzdGVyQ291bnQoKSAqIHNpemVvZihS
ZWdpc3RlcikpOwogICAgIGNoZWNrU3RhY2tQb2ludGVyQWxpZ25tZW50KCk7CiAgICAgY29tcGls
ZVNldHVwUmVnaXN0ZXJzRm9yRW50cnkoKTsKICAgICBjb21waWxlRW50cnlFeGVjdXRpb25GbGFn
KCk7CkBAIC00MjIsOCArNDIwLDYgQEAgdm9pZCBKSVRDb21waWxlcjo6Y29tcGlsZUZ1bmN0aW9u
KCkKIAogICAgIC8vIE1vdmUgdGhlIHN0YWNrIHBvaW50ZXIgZG93biB0byBhY2NvbW1vZGF0ZSBs
b2NhbHMKICAgICBhZGRQdHIoVHJ1c3RlZEltbTMyKC0obV9ncmFwaC5mcmFtZVJlZ2lzdGVyQ291
bnQoKSAqIHNpemVvZihSZWdpc3RlcikpKSwgR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIsIHN0
YWNrUG9pbnRlclJlZ2lzdGVyKTsKLSAgICBpZiAoT3B0aW9uczo6emVyb1N0YWNrRnJhbWUoKSkK
LSAgICAgICAgY2xlYXJTdGFja0ZyYW1lKEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCBzdGFj
a1BvaW50ZXJSZWdpc3RlciwgR1BSSW5mbzo6cmVnVDAsIG1fZ3JhcGguZnJhbWVSZWdpc3RlckNv
dW50KCkgKiBzaXplb2YoUmVnaXN0ZXIpKTsKICAgICBjaGVja1N0YWNrUG9pbnRlckFsaWdubWVu
dCgpOwogCiAgICAgY29tcGlsZVNldHVwUmVnaXN0ZXJzRm9yRW50cnkoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKaW5kZXggN2EwN2I4YTgy
NmUuLjY0MmIxNjM1NmY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1NwZWN1bGF0aXZlSklULmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklULmNwcApAQCAtMTg0OCw4ICsxODQ4LDYgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJ
VDo6Y29tcGlsZUN1cnJlbnRCbG9jaygpCiAKICAgICBpZiAobV9ibG9jay0+aXNDYXRjaEVudHJ5
cG9pbnQpIHsKICAgICAgICAgbV9qaXQuYWRkUHRyKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMy
KC0obV9qaXQuZ3JhcGgoKS5mcmFtZVJlZ2lzdGVyQ291bnQoKSAqIHNpemVvZihSZWdpc3Rlcikp
KSwgR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIsICBDQ2FsbEhlbHBlcnM6OnN0YWNrUG9pbnRl
clJlZ2lzdGVyKTsKLSAgICAgICAgaWYgKE9wdGlvbnM6Onplcm9TdGFja0ZyYW1lKCkpCi0gICAg
ICAgICAgICBtX2ppdC5jbGVhclN0YWNrRnJhbWUoR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIs
IENDYWxsSGVscGVyczo6c3RhY2tQb2ludGVyUmVnaXN0ZXIsIEdQUkluZm86OnJlZ1QwLCBtX2pp
dC5ncmFwaCgpLmZyYW1lUmVnaXN0ZXJDb3VudCgpICogc2l6ZW9mKFJlZ2lzdGVyKSk7CiAgICAg
ICAgIG1faml0LmVtaXRTYXZlQ2FsbGVlU2F2ZXMoKTsKICAgICAgICAgbV9qaXQuZW1pdE1hdGVy
aWFsaXplVGFnQ2hlY2tSZWdpc3RlcnMoKTsKICAgICAgICAgbV9qaXQuZW1pdFB1dFRvQ2FsbEZy
YW1lSGVhZGVyKG1faml0LmNvZGVCbG9jaygpLCBDYWxsRnJhbWVTbG90Ojpjb2RlQmxvY2spOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCmluZGV4IDBm
ZTg4ZDY3YzcxLi40ZDM0MjdiYzgyZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwv
RlRMTG93ZXJERkdUb0IzLmNwcApAQCAtMjA1LDggKzIwNSw2IEBAIHB1YmxpYzoKICAgICAgICAg
ICAgICAgICBbY29kZUJsb2NrXSAoQ0NhbGxIZWxwZXJzJiBqaXQsIEIzOjpBaXI6OkNvZGUmIGNv
ZGUpIHsKICAgICAgICAgICAgICAgICAgICAgQWxsb3dNYWNyb1NjcmF0Y2hSZWdpc3RlclVzYWdl
IGFsbG93U2NyYXRjaChqaXQpOwogICAgICAgICAgICAgICAgICAgICBqaXQuYWRkUHRyKENDYWxs
SGVscGVyczo6VHJ1c3RlZEltbTMyKC1jb2RlLmZyYW1lU2l6ZSgpKSwgR1BSSW5mbzo6Y2FsbEZy
YW1lUmVnaXN0ZXIsIENDYWxsSGVscGVyczo6c3RhY2tQb2ludGVyUmVnaXN0ZXIpOwotICAgICAg
ICAgICAgICAgICAgICBpZiAoT3B0aW9uczo6emVyb1N0YWNrRnJhbWUoKSkKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGppdC5jbGVhclN0YWNrRnJhbWUoR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0
ZXIsIENDYWxsSGVscGVyczo6c3RhY2tQb2ludGVyUmVnaXN0ZXIsIEdQUkluZm86OnJlZ1QwLCBj
b2RlLmZyYW1lU2l6ZSgpKTsKIAogICAgICAgICAgICAgICAgICAgICBqaXQuZW1pdFNhdmUoY29k
ZS5jYWxsZWVTYXZlUmVnaXN0ZXJBdE9mZnNldExpc3QoKSk7CiAgICAgICAgICAgICAgICAgICAg
IGppdC5lbWl0UHV0VG9DYWxsRnJhbWVIZWFkZXIoY29kZUJsb2NrLCBWaXJ0dWFsUmVnaXN0ZXIo
Q2FsbEZyYW1lU2xvdDo6Y29kZUJsb2NrKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0Fzc2VtYmx5SGVscGVycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9B
c3NlbWJseUhlbHBlcnMuaAppbmRleCA2OTM0MmRlZmFmZS4uNzI5ZjU4NDYzN2QgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQXNzZW1ibHlIZWxwZXJzLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Bc3NlbWJseUhlbHBlcnMuaApAQCAtNTAyLDMwICs1MDIs
NiBAQCBwdWJsaWM6CiAjZW5kaWYKICAgICB9CiAKLSAgICB2b2lkIGNsZWFyU3RhY2tGcmFtZShH
UFJSZWcgY3VycmVudFRvcCwgR1BSUmVnIG5ld1RvcCwgR1BSUmVnIHRlbXAsIHVuc2lnbmVkIGZy
YW1lU2l6ZSkKLSAgICB7Ci0gICAgICAgIEFTU0VSVChmcmFtZVNpemUgJSBzdGFja0FsaWdubWVu
dEJ5dGVzKCkgPT0gMCk7Ci0gICAgICAgIGlmIChmcmFtZVNpemUgPD0gMTI4KSB7Ci0gICAgICAg
ICAgICBmb3IgKHVuc2lnbmVkIG9mZnNldCA9IDA7IG9mZnNldCA8IGZyYW1lU2l6ZTsgb2Zmc2V0
ICs9IHNpemVvZihDUFVSZWdpc3RlcikpCi0gICAgICAgICAgICAgICAgc3RvcmVQdHIoVHJ1c3Rl
ZEltbTMyKDApLCBBZGRyZXNzKGN1cnJlbnRUb3AsIC04IC0gb2Zmc2V0KSk7Ci0gICAgICAgIH0g
ZWxzZSB7Ci0gICAgICAgICAgICBjb25zdGV4cHIgdW5zaWduZWQgc3RvcmVCeXRlc1Blckl0ZXJh
dGlvbiA9IHN0YWNrQWxpZ25tZW50Qnl0ZXMoKTsKLSAgICAgICAgICAgIGNvbnN0ZXhwciB1bnNp
Z25lZCBzdG9yZXNQZXJJdGVyYXRpb24gPSBzdG9yZUJ5dGVzUGVySXRlcmF0aW9uIC8gc2l6ZW9m
KENQVVJlZ2lzdGVyKTsKLQotICAgICAgICAgICAgbW92ZShjdXJyZW50VG9wLCB0ZW1wKTsKLSAg
ICAgICAgICAgIExhYmVsIHplcm9Mb29wID0gbGFiZWwoKTsKLSAgICAgICAgICAgIHN1YlB0cihU
cnVzdGVkSW1tMzIoc3RvcmVCeXRlc1Blckl0ZXJhdGlvbiksIHRlbXApOwotI2lmIENQVShBUk02
NCkKLSAgICAgICAgICAgIHN0YXRpY19hc3NlcnQoc3RvcmVzUGVySXRlcmF0aW9uID09IDIsICJj
bGVhclN0YWNrRnJhbWUoKSBmb3IgQVJNNjQgYXNzdW1lcyBzdGFjayBpcyAxNiBieXRlIGFsaWdu
ZWQiKTsKLSAgICAgICAgICAgIHN0b3JlUGFpcjY0KEFSTTY0UmVnaXN0ZXJzOjp6ciwgQVJNNjRS
ZWdpc3RlcnM6OnpyLCB0ZW1wKTsKLSNlbHNlCi0gICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkg
PSBzdG9yZXNQZXJJdGVyYXRpb247IGktLSAhPSAwOykKLSAgICAgICAgICAgICAgICBzdG9yZVB0
cihUcnVzdGVkSW1tMzIoMCksIEFkZHJlc3ModGVtcCwgc2l6ZW9mKENQVVJlZ2lzdGVyKSAqIGkp
KTsKLSNlbmRpZgotICAgICAgICAgICAgYnJhbmNoUHRyKE5vdEVxdWFsLCB0ZW1wLCBuZXdUb3Ap
LmxpbmtUbyh6ZXJvTG9vcCwgdGhpcyk7Ci0gICAgICAgIH0KLSAgICB9Ci0KICNpZiBDUFUoWDg2
XzY0KQogICAgIHN0YXRpYyBjb25zdGV4cHIgc2l6ZV90IHByb2xvZ3VlU3RhY2tQb2ludGVyRGVs
dGEoKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcAppbmRleCBlNDI0OGYyMjIzYS4u
ZmM5OTc5ODY1ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKQEAgLTcwOCw4ICs3MDgs
NiBAQCB2b2lkIEpJVDo6Y29tcGlsZVdpdGhvdXRMaW5raW5nKEpJVENvbXBpbGF0aW9uRWZmb3J0
IGVmZm9ydCkKIAogICAgIG1vdmUocmVnVDEsIHN0YWNrUG9pbnRlclJlZ2lzdGVyKTsKICAgICBj
aGVja1N0YWNrUG9pbnRlckFsaWdubWVudCgpOwotICAgIGlmIChPcHRpb25zOjp6ZXJvU3RhY2tG
cmFtZSgpKQotICAgICAgICBjbGVhclN0YWNrRnJhbWUoY2FsbEZyYW1lUmVnaXN0ZXIsIHN0YWNr
UG9pbnRlclJlZ2lzdGVyLCByZWdUMCwgbWF4RnJhbWVTaXplKTsKIAogICAgIGVtaXRTYXZlQ2Fs
bGVlU2F2ZXMoKTsKICAgICBlbWl0TWF0ZXJpYWxpemVUYWdDaGVja1JlZ2lzdGVycygpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9uc0xpc3QuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnNMaXN0LmgKaW5kZXggNGM0Yzc0MDQw
NTYuLjA0OGM2YjcxZDY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9PcHRpb25zTGlzdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlv
bnNMaXN0LmgKQEAgLTQ0MiwxMCArNDQyLDYgQEAgY29uc3RleHByIGJvb2wgZW5hYmxlV2ViQXNz
ZW1ibHlTdHJlYW1pbmdBcGkgPSBmYWxzZTsKICAgICBcCiAgICAgdihCb29sLCB1c2VXZWJBc3Nl
bWJseSwgdHJ1ZSwgTm9ybWFsLCAiRXhwb3NlIHRoZSBXZWJBc3NlbWJseSBnbG9iYWwgb2JqZWN0
LiIpIFwKICAgICBcCi0gICAgdihCb29sLCBlbmFibGVTcGVjdHJlTWl0aWdhdGlvbnMsIHRydWUs
IFJlc3RyaWN0ZWQsICJFbmFibGUgU3BlY3RyZSBtaXRpZ2F0aW9ucy4iKSBcCi0gICAgdihCb29s
LCBlbmFibGVTcGVjdHJlR2FkZ2V0cywgZmFsc2UsIFJlc3RyaWN0ZWQsICJlbmFibGUgZ2FkZ2V0
cyB0byB0ZXN0IFNwZWN0cmUgbWl0aWdhdGlvbnMuIikgXAotICAgIHYoQm9vbCwgemVyb1N0YWNr
RnJhbWUsIGZhbHNlLCBOb3JtYWwsICJaZXJvIHN0YWNrIGZyYW1lIG9uIGVudHJ5IHRvIGEgZnVu
Y3Rpb24uIikgXAotICAgIFwKICAgICB2KEJvb2wsIGZhaWxUb0NvbXBpbGVXZWJBc3NlbWJseUNv
ZGUsIGZhbHNlLCBOb3JtYWwsICJJZiB0cnVlLCBubyBXYXNtOjpQbGFuIHdpbGwgc3VjZXNzZnVs
bHkgY29tcGlsZSBhIGZ1bmN0aW9uLiIpIFwKICAgICB2KFNpemUsIHdlYkFzc2VtYmx5UGFydGlh
bENvbXBpbGVMaW1pdCwgNTAwMCwgTm9ybWFsLCAiTGltaXQgb24gdGhlIG51bWJlciBvZiBieXRl
cyBhIFdhc206OlBsYW46OmNvbXBpbGUgc2hvdWxkIGF0dGVtcHQgYmVmb3JlIGNoZWNraW5nIGZv
ciBvdGhlciB3b3JrLiIpIFwKICAgICB2KFVuc2lnbmVkLCB3ZWJBc3NlbWJseUJCUUFpck9wdGlt
aXphdGlvbkxldmVsLCAwLCBOb3JtYWwsICJBaXIgT3B0aW1pemF0aW9uIGxldmVsIGZvciBCQlEg
V2ViIEFzc2VtYmx5IG1vZHVsZSBjb21waWxhdGlvbnMuIikgXApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUIzSVJHZW5lcmF0b3IuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3dhc20vV2FzbUIzSVJHZW5lcmF0b3IuY3BwCmluZGV4IGM3OWY0OThmOTRmLi5l
MDRjNDY2MDdjMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUIz
SVJHZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21CM0lS
R2VuZXJhdG9yLmNwcApAQCAtMTc1NCw3ICsxNzU0LDYgQEAgYXV0byBCM0lSR2VuZXJhdG9yOjph
ZGRDYWxsSW5kaXJlY3QodW5zaWduZWQgdGFibGVJbmRleCwgY29uc3QgU2lnbmF0dXJlJiBzaWdu
YXQKICAgICBFeHByZXNzaW9uVHlwZSBjYWxsYWJsZUZ1bmN0aW9uQnVmZmVyOwogICAgIEV4cHJl
c3Npb25UeXBlIGluc3RhbmNlc0J1ZmZlcjsKICAgICBFeHByZXNzaW9uVHlwZSBjYWxsYWJsZUZ1
bmN0aW9uQnVmZmVyTGVuZ3RoOwotICAgIEV4cHJlc3Npb25UeXBlIG1hc2s7CiAgICAgewogICAg
ICAgICBFeHByZXNzaW9uVHlwZSB0YWJsZSA9IG1fY3VycmVudEJsb2NrLT5hcHBlbmROZXc8TWVt
b3J5VmFsdWU+KG1fcHJvYywgTG9hZCwgcG9pbnRlclR5cGUoKSwgb3JpZ2luKCksCiAgICAgICAg
ICAgICBpbnN0YW5jZVZhbHVlKCksIHNhZmVDYXN0PGludDMyX3Q+KEluc3RhbmNlOjpvZmZzZXRP
ZlRhYmxlUHRyKG1fbnVtSW1wb3J0RnVuY3Rpb25zLCB0YWJsZUluZGV4KSkpOwpAQCAtMTc2NCw5
ICsxNzYzLDYgQEAgYXV0byBCM0lSR2VuZXJhdG9yOjphZGRDYWxsSW5kaXJlY3QodW5zaWduZWQg
dGFibGVJbmRleCwgY29uc3QgU2lnbmF0dXJlJiBzaWduYXQKICAgICAgICAgICAgIHRhYmxlLCBz
YWZlQ2FzdDxpbnQzMl90PihGdW5jUmVmVGFibGU6Om9mZnNldE9mSW5zdGFuY2VzKCkpKTsKICAg
ICAgICAgY2FsbGFibGVGdW5jdGlvbkJ1ZmZlckxlbmd0aCA9IG1fY3VycmVudEJsb2NrLT5hcHBl
bmROZXc8TWVtb3J5VmFsdWU+KG1fcHJvYywgTG9hZCwgSW50MzIsIG9yaWdpbigpLAogICAgICAg
ICAgICAgdGFibGUsIHNhZmVDYXN0PGludDMyX3Q+KFRhYmxlOjpvZmZzZXRPZkxlbmd0aCgpKSk7
Ci0gICAgICAgIG1hc2sgPSBtX2N1cnJlbnRCbG9jay0+YXBwZW5kTmV3PFZhbHVlPihtX3Byb2Ms
IFpFeHQzMiwgb3JpZ2luKCksCi0gICAgICAgICAgICBtX2N1cnJlbnRCbG9jay0+YXBwZW5kTmV3
PE1lbW9yeVZhbHVlPihtX3Byb2MsIExvYWQsIEludDMyLCBvcmlnaW4oKSwKLSAgICAgICAgICAg
ICAgICB0YWJsZSwgc2FmZUNhc3Q8aW50MzJfdD4oVGFibGU6Om9mZnNldE9mTWFzaygpKSkpOwog
ICAgIH0KIAogICAgIC8vIENoZWNrIHRoZSBpbmRleCB3ZSBhcmUgbG9va2luZyBmb3IgaXMgdmFs
aWQuCkBAIC0xNzgxLDkgKzE3NzcsNiBAQCBhdXRvIEIzSVJHZW5lcmF0b3I6OmFkZENhbGxJbmRp
cmVjdCh1bnNpZ25lZCB0YWJsZUluZGV4LCBjb25zdCBTaWduYXR1cmUmIHNpZ25hdAogCiAgICAg
Y2FsbGVlSW5kZXggPSBtX2N1cnJlbnRCbG9jay0+YXBwZW5kTmV3PFZhbHVlPihtX3Byb2MsIFpF
eHQzMiwgb3JpZ2luKCksIGNhbGxlZUluZGV4KTsKIAotICAgIGlmIChPcHRpb25zOjplbmFibGVT
cGVjdHJlTWl0aWdhdGlvbnMoKSkKLSAgICAgICAgY2FsbGVlSW5kZXggPSBtX2N1cnJlbnRCbG9j
ay0+YXBwZW5kTmV3PFZhbHVlPihtX3Byb2MsIEJpdEFuZCwgb3JpZ2luKCksIG1hc2ssIGNhbGxl
ZUluZGV4KTsKLQogICAgIEV4cHJlc3Npb25UeXBlIGNhbGxhYmxlRnVuY3Rpb247CiAgICAgewog
ICAgICAgICAvLyBDb21wdXRlIHRoZSBvZmZzZXQgaW4gdGhlIHRhYmxlIGluZGV4IHNwYWNlIHdl
IGFyZSBsb29raW5nIGZvci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJy
L1lhcnJKSVQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyckpJVC5jcHAKaW5k
ZXggZDJmMGU4ZTJiNjQuLjYyOWJiZTRmNzJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUveWFyci9ZYXJySklULmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9Z
YXJySklULmNwcApAQCAtNjM4LDMxICs2MzgsOCBAQCBjbGFzcyBZYXJyR2VuZXJhdG9yIDogcHVi
bGljIFlhcnJKSVRJbmZvLCBwcml2YXRlIE1hY3JvQXNzZW1ibGVyIHsKICAgICB2b2lkIGluaXRD
YWxsRnJhbWUoKQogICAgIHsKICAgICAgICAgdW5zaWduZWQgY2FsbEZyYW1lU2l6ZUluQnl0ZXMg
PSBhbGlnbkNhbGxGcmFtZVNpemVJbkJ5dGVzKG1fcGF0dGVybi5tX2JvZHktPm1fY2FsbEZyYW1l
U2l6ZSk7Ci0gICAgICAgIGlmIChjYWxsRnJhbWVTaXplSW5CeXRlcykgewotI2lmIENQVShYODZf
NjQpIHx8IENQVShBUk02NCkKLSAgICAgICAgICAgIGlmIChPcHRpb25zOjp6ZXJvU3RhY2tGcmFt
ZSgpKSB7Ci0gICAgICAgICAgICAgICAgLy8gV2UgbmVlZCB0byBzdGFydCBmcm9tIHRoZSBzdGFj
ayBwb2ludGVyLCBiZWNhdXNlIHdlIGNvdWxkIGhhdmUgc3BpbGxlZCBjYWxsZWUgc2F2ZXMKLSAg
ICAgICAgICAgICAgICBtb3ZlKHN0YWNrUG9pbnRlclJlZ2lzdGVyLCByZWdUMCk7Ci0gICAgICAg
ICAgICAgICAgc3ViUHRyKEltbTMyKGNhbGxGcmFtZVNpemVJbkJ5dGVzKSwgc3RhY2tQb2ludGVy
UmVnaXN0ZXIpOwotICAgICAgICAgICAgICAgIGlmIChjYWxsRnJhbWVTaXplSW5CeXRlcyA8PSAx
MjgpIHsKLSAgICAgICAgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBvZmZzZXQgPSAwOyBvZmZz
ZXQgPCBjYWxsRnJhbWVTaXplSW5CeXRlczsgb2Zmc2V0ICs9IHNpemVvZihpbnRwdHJfdCkpCi0g
ICAgICAgICAgICAgICAgICAgICAgICBzdG9yZVB0cihUcnVzdGVkSW1tMzIoMCksIEFkZHJlc3Mo
cmVnVDAsIC04IC0gb2Zmc2V0KSk7Ci0gICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAg
ICAgICAgICAgICAgTGFiZWwgemVyb0xvb3AgPSBsYWJlbCgpOwotICAgICAgICAgICAgICAgICAg
ICBzdWJQdHIoVHJ1c3RlZEltbTMyKHNpemVvZihpbnRwdHJfdCkgKiAyKSwgcmVnVDApOwotI2lm
IENQVShBUk02NCkKLSAgICAgICAgICAgICAgICAgICAgc3RvcmVQYWlyNjQoQVJNNjRSZWdpc3Rl
cnM6OnpyLCBBUk02NFJlZ2lzdGVyczo6enIsIHJlZ1QwKTsKLSNlbHNlCi0gICAgICAgICAgICAg
ICAgICAgIHN0b3JlUHRyKFRydXN0ZWRJbW0zMigwKSwgQWRkcmVzcyhyZWdUMCkpOwotICAgICAg
ICAgICAgICAgICAgICBzdG9yZVB0cihUcnVzdGVkSW1tMzIoMCksIEFkZHJlc3MocmVnVDAsIHNp
emVvZihpbnRwdHJfdCkpKTsKLSNlbmRpZgotICAgICAgICAgICAgICAgICAgICBicmFuY2hQdHIo
Tm90RXF1YWwsIHJlZ1QwLCBzdGFja1BvaW50ZXJSZWdpc3RlcikubGlua1RvKHplcm9Mb29wLCB0
aGlzKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9IGVsc2UKLSNlbmRpZgotICAg
ICAgICAgICAgICAgIHN1YlB0cihJbW0zMihjYWxsRnJhbWVTaXplSW5CeXRlcyksIHN0YWNrUG9p
bnRlclJlZ2lzdGVyKTsKLQotICAgICAgICB9CisgICAgICAgIGlmIChjYWxsRnJhbWVTaXplSW5C
eXRlcykKKyAgICAgICAgICAgIHN1YlB0cihJbW0zMihjYWxsRnJhbWVTaXplSW5CeXRlcyksIHN0
YWNrUG9pbnRlclJlZ2lzdGVyKTsKICAgICB9CiAgICAgdm9pZCByZW1vdmVDYWxsRnJhbWUoKQog
ICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNl
L1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMTcyNzFlNGI3YWEuLjAxZTM1MGY2ZDY5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNzY3LDcgKzc2Nyw2IEBAIHNldChXZWJDb3JlX05PTl9T
VkdfSURMX0ZJTEVTCiAgICAgZG9tL1NoYWRvd1Jvb3QuaWRsCiAgICAgZG9tL1NoYWRvd1Jvb3RN
b2RlLmlkbAogICAgIGRvbS9TbG90YWJsZS5pZGwKLSAgICBkb20vU3BlY3RyZUdhZGdldC5pZGwK
ICAgICBkb20vU3RhdGljUmFuZ2UuaWRsCiAgICAgZG9tL1N0cmluZ0NhbGxiYWNrLmlkbAogICAg
IGRvbS9UZXh0LmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDNhYTUzMDZhYmJmLi4xYzYwNWNmNzg5OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIwLTAxLTI3ICBSb2JpbiBNb3Jpc3NldCAgPHJt
b3Jpc3NldEBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIE9wdGlvbnM6OmVuYWJsZVNwZWN0
cmVNaXRpZ2F0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTkzODg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgRnJvbSB3aGF0IEkgcmVtZW1iZXIgd2UgZGVjaWRlZCB0byByZW1vdmUgdGhlIHNwZWN0
cmUtc3BlY2lmaWMgbWl0aWdhdGlvbnMgd2UgaGFkIHRyaWVkIChpbiBmYXZvciBvZiB0aGluZ3Mg
bGlrZSBwcm9jZXNzLXBlci1vcmlnaW4pLgorICAgICAgICBJIGRvbid0IHRoaW5rIGFueW9uZSBp
cyB1c2luZyB0aGUgU3BlY3RyZUdhZGdldCB3ZSBoYWQgYWRkZWQgZm9yIGV4cGVyaW1lbnRzIGVp
dGhlci4KKyAgICAgICAgU28gdGhpcyBwYXRjaCByZW1vdmVzIHRoZSBmb2xsb3dpbmcgdGhyZWUg
b3B0aW9ucywgYW5kIGFsbCB0aGUgY29kZSB0aGF0IGRlcGVuZGVkIG9uIHRoZW06CisgICAgICAg
IC0gZW5hYmxlU3BlY3RyZU1pdGlnYXRpb25zICh3YXMgdHJ1ZSwgb25seSB1c2VkIGluIG9uZSBw
bGFjZSkKKyAgICAgICAgLSBlbmFibGVTcGVjdHJlR2FkZ2V0cyAod2FzIGZhbHNlKQorICAgICAg
ICAtIHplcm9TdGFja0ZyYW1lICh3YXMgZmFsc2UsIGFuZCB3YXMgYW4gZXhwZXJpbWVudCBhYm91
dCBTcGVjdHJlIHZhcmlhbnQgNCBpZiBJIHJlbWVtYmVyIGNvcnJlY3RseSkKKworICAgICAgICBO
byBuZXcgdGVzdHMgYXMgdGhlcmUgaXMgbm8gbmV3IGJlaGF2aW91ciBhZGRlZC4KKworICAgICAg
ICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmls
ZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAg
ICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAg
ICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGlu
Z3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oOgorICAgICAgICAqIGRvbS9TcGVjdHJlR2FkZ2V0
LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBkb20vU3BlY3RyZUdhZGdldC5oOiBSZW1vdmVkLgor
ICAgICAgICAqIGRvbS9TcGVjdHJlR2FkZ2V0LmlkbDogUmVtb3ZlZC4KKyAgICAgICAgKiBwYWdl
L1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwOgorICAgICAgICAqIHBhZ2UvUnVudGltZUVuYWJs
ZWRGZWF0dXJlcy5oOgorCiAyMDIwLTAxLTI3ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxl
LmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBzcGVjdWxhdGl2ZSB3aW4gYnVpbGQgZml4IGFm
dGVyIHIyNTUxOTEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2Zp
bGVsaXN0CmluZGV4IGU1OWJmODJlMjUwLi5jMDI3MDAxNTVmNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC02NTAsNyArNjUwLDYgQEAg
JChQUk9KRUNUX0RJUikvZG9tL1NlY3VyaXR5UG9saWN5VmlvbGF0aW9uRXZlbnQuaWRsCiAkKFBS
T0pFQ1RfRElSKS9kb20vU2hhZG93Um9vdC5pZGwKICQoUFJPSkVDVF9ESVIpL2RvbS9TaGFkb3dS
b290TW9kZS5pZGwKICQoUFJPSkVDVF9ESVIpL2RvbS9TbG90YWJsZS5pZGwKLSQoUFJPSkVDVF9E
SVIpL2RvbS9TcGVjdHJlR2FkZ2V0LmlkbAogJChQUk9KRUNUX0RJUikvZG9tL1N0YXRpY1Jhbmdl
LmlkbAogJChQUk9KRUNUX0RJUikvZG9tL1N0cmluZ0NhbGxiYWNrLmlkbAogJChQUk9KRUNUX0RJ
UikvZG9tL1RleHQuaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy1vdXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1
dC54Y2ZpbGVsaXN0CmluZGV4IDhlZTZhYTdhMjEyLi43OGNlYjUyMDQwZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKKysrIGIvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKQEAgLTE3ODMsOCAr
MTc4Myw2IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
U291cmNlQnVmZmVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNTb3VyY2VCdWZmZXIuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNTb3VyY2VCdWZmZXJMaXN0LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTb3VyY2VCdWZmZXJMaXN0LmgKLSQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU3BlY3RyZUdhZGdldC5jcHAKLSQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU3BlY3RyZUdhZGdl
dC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NwZWVj
aFN5bnRoZXNpcy5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTU3BlZWNoU3ludGhlc2lzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTU3BlZWNoU3ludGhlc2lzRXZlbnQuY3BwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZQppbmRleCBjM2RiZTg2MDg4Yi4uM2E3YjM2YTk2MWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMubWFrZQpAQCAtNjYzLDcgKzY2Myw2IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwK
ICAgICAkKFdlYkNvcmUpL2RvbS9TaGFkb3dSb290LmlkbCBcCiAgICAgJChXZWJDb3JlKS9kb20v
U2hhZG93Um9vdE1vZGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9TbG90YWJsZS5pZGwgXAot
ICAgICQoV2ViQ29yZSkvZG9tL1NwZWN0cmVHYWRnZXQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2Rv
bS9TdGF0aWNSYW5nZS5pZGwgXAogICAgICQoV2ViQ29yZSkvZG9tL1N0cmluZ0NhbGxiYWNrLmlk
bCBcCiAgICAgJChXZWJDb3JlKS9kb20vVGV4dC5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCA4ZTA1
NThhZjY2NS4uYThiN2ZmMDI5ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMu
dHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC05NjEsNyArOTYxLDYgQEAg
ZG9tL1NoYWRvd1Jvb3QuY3BwCiBkb20vU2ltdWxhdGVkQ2xpY2suY3BwCiBkb20vU2xvdEFzc2ln
bm1lbnQuY3BwCiBkb20vU3BhY2VTcGxpdFN0cmluZy5jcHAKLWRvbS9TcGVjdHJlR2FkZ2V0LmNw
cAogZG9tL1N0YXRpY05vZGVMaXN0LmNwcAogZG9tL1N0YXRpY1JhbmdlLmNwcAogZG9tL1N0cmlu
Z0NhbGxiYWNrLmNwcApAQCAtMzQyMyw3ICszNDIyLDYgQEAgSlNTaGFkb3dSb290TW9kZS5jcHAK
IEpTU2xvdGFibGUuY3BwCiBKU1NvdXJjZUJ1ZmZlci5jcHAKIEpTU291cmNlQnVmZmVyTGlzdC5j
cHAKLUpTU3BlY3RyZUdhZGdldC5jcHAKIEpTU3BlZWNoU3ludGhlc2lzLmNwcAogSlNTcGVlY2hT
eW50aGVzaXNFdmVudC5jcHAKIEpTU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlLmNwcApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDkw
ZDUxYmVkMDc4Li44NDEzZmQyOTA3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTk4Miw3ICsxOTgyLDYgQEAKIAkJNjU2RDM3
M0YwQURCQTVERTAwQTQ1NTREIC8qIFJlc291cmNlTG9hZGVyLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NTZEMzcyNzBBREJBNURFMDBBNDU1NEQgLyog
UmVzb3VyY2VMb2FkZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQk2NTZEMzc0MzBBREJBNURFMDBBNDU1NEQgLyogTmV0c2NhcGVQbHVnSW5TdHJl
YW1Mb2FkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDY1NkQzNzJCMEFEQkE1REUwMEE0NTU0RCAvKiBOZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRlci5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTY1NkQz
NzQ4MEFEQkE1REUwMEE0NTU0RCAvKiBTdWJyZXNvdXJjZUxvYWRlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjU2RDM3MzAwQURCQTVERTAwQTQ1NTRE
IC8qIFN1YnJlc291cmNlTG9hZGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKLQkJNjU3QUZBRkMyMDA0N0EyOTAwNTA5NDY0IC8qIFNwZWN0cmVHYWRn
ZXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1N0FG
QUY4MjAwNDc4OTkwMDUwOTQ2NCAvKiBTcGVjdHJlR2FkZ2V0LmggKi87IH07CiAJCTY1ODQzNjg2
MEFFMDFCNzQwMEU1Mzc1MyAvKiBGcmFtZUxvYWRSZXF1ZXN0LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NTg0MzY4NTBBRTAxQjc0MDBFNTM3NTMgLyog
RnJhbWVMb2FkUmVxdWVzdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTY1OUE3RDEzMEI2REI0RDkwMDExNTVCMyAvKiBTdWJzdGl0dXRlRGF0YS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjU5QTdEMTIw
QjZEQjREOTAwMTE1NUIzIC8qIFN1YnN0aXR1dGVEYXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNjU5RERDODMwOUUxOThCQTAwMUJGM0M2IC8q
IEpTRG9jdW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDY1OUREQzgxMDlFMTk4QkEwMDFCRjNDNiAvKiBKU0RvY3VtZW50LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTkyMTgsOSArOTIxNyw2IEBA
CiAJCTY1NkQzNzI3MEFEQkE1REUwMEE0NTU0RCAvKiBSZXNvdXJjZUxvYWRlci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVzb3VyY2VMb2FkZXIuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNjU2RDM3MkIwQURCQTVERTAwQTQ1NTREIC8qIE5ldHNjYXBlUGx1
Z0luU3RyZWFtTG9hZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOZXRz
Y2FwZVBsdWdJblN0cmVhbUxvYWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2
NTZEMzczMDBBREJBNURFMDBBNDU1NEQgLyogU3VicmVzb3VyY2VMb2FkZXIuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN1YnJlc291cmNlTG9hZGVyLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCTY1N0FGQUY4MjAwNDc4OTkwMDUwOTQ2NCAvKiBTcGVjdHJlR2Fk
Z2V0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNwZWN0cmVHYWRnZXQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNjU3QUZBRkEyMDA0Nzg5QTAwNTA5NDY0IC8q
IFNwZWN0cmVHYWRnZXQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFNwZWN0cmVHYWRnZXQu
aWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk2NTdBRkFGQjIwMDQ3ODlBMDA1MDk0
NjQgLyogU3BlY3RyZUdhZGdldC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBTcGVjdHJlR2FkZ2V0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjU4
NDM2ODUwQUUwMUI3NDAwRTUzNzUzIC8qIEZyYW1lTG9hZFJlcXVlc3QuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZyYW1lTG9hZFJlcXVlc3QuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNjU5MzkyMzkwOUFFNDM1QzAwMkM1MzFGIC8qIFVSTE1hYy5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBVUkxNYWMubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTY1OUE3RDEyMEI2REI0RDkwMDExNTVCMyAvKiBTdWJzdGl0
dXRlRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMw
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3Vic3RpdHV0ZURh
dGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI4NDk5LDkgKzI4NDk1LDYgQEAK
IAkJCQk5QjUzMkVBMjFCQTkyODU3MDAzOEE4MjcgLyogU2xvdEFzc2lnbm1lbnQuaCAqLywKIAkJ
CQlEMDFBMjdBQjEwQzlCRkQ4MDAwMjZBNDIgLyogU3BhY2VTcGxpdFN0cmluZy5jcHAgKi8sCiAJ
CQkJRDAxQTI3QUMxMEM5QkZEODAwMDI2QTQyIC8qIFNwYWNlU3BsaXRTdHJpbmcuaCAqLywKLQkJ
CQk2NTdBRkFGQjIwMDQ3ODlBMDA1MDk0NjQgLyogU3BlY3RyZUdhZGdldC5jcHAgKi8sCi0JCQkJ
NjU3QUZBRjgyMDA0Nzg5OTAwNTA5NDY0IC8qIFNwZWN0cmVHYWRnZXQuaCAqLywKLQkJCQk2NTdB
RkFGQTIwMDQ3ODlBMDA1MDk0NjQgLyogU3BlY3RyZUdhZGdldC5pZGwgKi8sCiAJCQkJQkM3RkE2
MkMwRDFGMEVGRjAwREIyMkE5IC8qIFN0YXRpY05vZGVMaXN0LmNwcCAqLywKIAkJCQlCQzdGQTYy
QjBEMUYwRUZGMDBEQjIyQTkgLyogU3RhdGljTm9kZUxpc3QuaCAqLywKIAkJCQlGNDRFQkJEQTFE
QjVERDlEMDAyNzczMzQgLyogU3RhdGljUmFuZ2UuY3BwICovLApAQCAtMzI0ODIsNyArMzI0NzUs
NiBAQAogCQkJCTg0QTgxRjQyMEZDN0UwMjcwMDk1NTMwMCAvKiBTb3VyY2VHcmFwaGljLmggaW4g
SGVhZGVycyAqLywKIAkJCQlEMDFBMjdBRTEwQzlCRkQ4MDAwMjZBNDIgLyogU3BhY2VTcGxpdFN0
cmluZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjI2Q0RFMEYxMTQwNDI0QzAwMUU1QTY4IC8qIFNw
YXRpYWxOYXZpZ2F0aW9uLmggaW4gSGVhZGVycyAqLywKLQkJCQk2NTdBRkFGQzIwMDQ3QTI5MDA1
MDk0NjQgLyogU3BlY3RyZUdhZGdldC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQUEyQTVBRDQxNkE0
ODYxMTAwOTc1QTI1IC8qIFNwZWVjaFN5bnRoZXNpcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzE0
OTM4MDcyMjM0NTUxQTAwMENENzA3IC8qIFNwZWVjaFN5bnRoZXNpc0NsaWVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQUEyQTVBRDIxNkE0ODYwQTAwOTc1QTI1IC8qIFNwZWVjaFN5bnRoZXNpc0V2
ZW50LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dl
YkNvcmVCdWlsdGluTmFtZXMuaAppbmRleCAyMjhjOGU5MTcxNy4uNTRlNjFjZGFlNmIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKQEAg
LTIxNSw3ICsyMTUsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oU2VydmljZVdv
cmtlckdsb2JhbFNjb3BlKSBcCiAgICAgbWFjcm8oU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbikg
XAogICAgIG1hY3JvKFNoYWRvd1Jvb3QpIFwKLSAgICBtYWNybyhTcGVjdHJlR2FkZ2V0KSBcCiAg
ICAgbWFjcm8oU3RhdGljUmFuZ2UpIFwKICAgICBtYWNybyhTdHlsZVByb3BlcnR5TWFwUmVhZE9u
bHkpIFwKICAgICBtYWNybyhTdHlsZVByb3BlcnR5TWFwKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vU3BlY3RyZUdhZGdldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU3BlY3Ry
ZUdhZGdldC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZkOTViZGQwZmE0Li4w
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3BlY3RyZUdhZGdldC5jcHAKKysr
IC9kZXYvbnVsbApAQCAtMSw4MCArMCwwIEBACi0vKgotKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotKgotKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
Ci0qIGFyZSBtZXQ6Ci0qIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0qICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQotKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotKgotKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCi0qIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SCi0qIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAotKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0qIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCi0qIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAotKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSovCi0KLSNpbmNs
dWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJTcGVjdHJlR2FkZ2V0LmgiCi0KLSNpbmNsdWRlICJS
dW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCi0jaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+
Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotaW5saW5lIFNwZWN0cmVHYWRnZXQ6OlNwZWN0cmVH
YWRnZXQoY29uc3QgU3RyaW5nJiB0ZXh0KQotewotICAgIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNwZWN0cmVHYWRnZXRzRW5hYmxlZCgpKSB7Ci0gICAgICAg
IG1fZGF0YS5yZXNpemUodGV4dC5sZW5ndGgoKSk7Ci0gICAgICAgIHNldFJlYWRMZW5ndGgodGV4
dC5sZW5ndGgoKSk7Ci0gICAgICAgIG1fZGF0YS5maWxsKDApOwotICAgICAgICBtX2RhdGFQdHIg
PSBtX2RhdGEuZGF0YSgpOwotCi0gICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9yZWFk
TGVuZ3RoOyBpKyspCi0gICAgICAgICAgICBtX2RhdGFbaV0gPSB0ZXh0LmNoYXJhY3RlckF0KGkp
OwotICAgIH0gZWxzZSB7Ci0gICAgICAgIHNldFJlYWRMZW5ndGgoMCk7Ci0gICAgICAgIG1fZGF0
YVB0ciA9IG51bGxwdHI7Ci0gICAgfQotfQotCi1SZWY8U3BlY3RyZUdhZGdldD4gU3BlY3RyZUdh
ZGdldDo6Y3JlYXRlKGNvbnN0IFN0cmluZyYgdGV4dCkKLXsKLSAgICByZXR1cm4gYWRvcHRSZWYo
Km5ldyBTcGVjdHJlR2FkZ2V0KHRleHQpKTsKLX0KLQotdm9pZCBTcGVjdHJlR2FkZ2V0OjpzZXRS
ZWFkTGVuZ3RoKHNpemVfdCByZWFkTGVuZ3RoKQotewotICAgIG1fcmVhZExlbmd0aCA9IHN0ZDo6
bWluKHJlYWRMZW5ndGgsIG1fZGF0YS5zaXplKCkpOwotfQotCi11bnNpZ25lZCBTcGVjdHJlR2Fk
Z2V0OjpjaGFyQ29kZUF0KHNpemVfdCBpbmRleCkKLXsKLSAgICBpZiAoaW5kZXggPCBtX3JlYWRM
ZW5ndGgpCi0gICAgICAgIHJldHVybiBtX2RhdGFQdHJbaW5kZXhdOwotCi0gICAgcmV0dXJuIDA7
Ci19Ci0KLXZvaWQgU3BlY3RyZUdhZGdldDo6Y2xmbHVzaFJlYWRMZW5ndGgoKQotewotI2lmIENQ
VShYODZfNjQpICYmICFPUyhXSU5ET1dTKQotICAgIGF1dG8gY2xmbHVzaCA9IFtdICh2b2lkKiBw
dHIpIHsKLSAgICAgICAgY2hhciogcHRyVG9GbHVzaCA9IHN0YXRpY19jYXN0PGNoYXIqPihwdHIp
OwotICAgICAgICBhc20gdm9sYXRpbGUgKCJjbGZsdXNoICUwIiA6OiAibSIoKnB0clRvRmx1c2gp
IDogIm1lbW9yeSIpOwotICAgIH07Ci0KLSAgICBjbGZsdXNoKCZtX3JlYWRMZW5ndGgpOwotI2Vu
ZGlmCi19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9TcGVjdHJlR2FkZ2V0LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vU3BlY3RyZUdhZGdl
dC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZTM4YzZjNTBhNC4uMDAwMDAwMDAw
MDAKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NwZWN0cmVHYWRnZXQuaAorKysgL2Rldi9udWxs
CkBAIC0xLDUxICswLDAgQEAKLS8qCi0qIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0qCi0qIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSogYXJlIG1l
dDoKLSogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
Ci0qICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCi0qCi0qIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCi0qIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0qIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCi0qIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQotKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotKi8KLQotI3ByYWdtYSBvbmNlCi0K
LSNpbmNsdWRlIDx1bmljb2RlL3VjaGFyLmg+Ci0jaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4K
LSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3Mg
U3BlY3RyZUdhZGdldCBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPFNwZWN0cmVHYWRnZXQ+IHsK
LXB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPFNwZWN0cmVHYWRnZXQ+IGNyZWF0ZShjb25zdCBTdHJp
bmcmKTsKLQotICAgIHZvaWQgc2V0UmVhZExlbmd0aChzaXplX3QpOwotICAgIHVuc2lnbmVkIGNo
YXJDb2RlQXQoc2l6ZV90KTsKLSAgICB2b2lkIGNsZmx1c2hSZWFkTGVuZ3RoKCk7Ci0KLXByaXZh
dGU6Ci0gICAgU3BlY3RyZUdhZGdldChjb25zdCBTdHJpbmcmKTsKLQotICAgIHNpemVfdCBtX3Jl
YWRMZW5ndGg7Ci0gICAgVmVjdG9yPFVDaGFyPiBtX2RhdGE7Ci0gICAgVUNoYXIqIG1fZGF0YVB0
cjsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL1NwZWN0cmVHYWRnZXQuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL1NwZWN0cmVH
YWRnZXQuaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZGY0YmQ4NGMzNi4uMDAw
MDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NwZWN0cmVHYWRnZXQuaWRsCisrKyAv
ZGV2L251bGwKQEAgLTEsMzYgKzAsMCBAQAotLyoKLSogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSoKLSogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0qIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwot
KiBhcmUgbWV0OgotKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0qIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0qICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSoKLSogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0qIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0qIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgotKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUgotKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKLSogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQotKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKLSogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0qIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0qLwotCi1bCi0gICAg
RXhwb3NlZD1XaW5kb3csCi0gICAgRW5hYmxlZEF0UnVudGltZT1TcGVjdHJlR2FkZ2V0cywKLSAg
ICBDb25zdHJ1Y3RvcihET01TdHJpbmcgZGF0YSksCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZU
YWJsZQotIF0gaW50ZXJmYWNlIFNwZWN0cmVHYWRnZXQgewotICAgIHZvaWQgc2V0UmVhZExlbmd0
aCh1bnNpZ25lZCBsb25nIHJlYWRMZW5ndGgpOwotICAgIHVuc2lnbmVkIGxvbmcgY2hhckNvZGVB
dCh1bnNpZ25lZCBsb25nIGluZGV4KTsKLSAgICB2b2lkIGNsZmx1c2hSZWFkTGVuZ3RoKCk7Ci19
OwotCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVy
ZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcApp
bmRleCBlMDliMjBlZjU0ZS4uNjRiNTFmNjVmODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcApAQCAtNTksMTEgKzU5LDYgQEAgUnVudGltZUVu
YWJsZWRGZWF0dXJlcyYgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKQog
ICAgIHJldHVybiBydW50aW1lRW5hYmxlZEZlYXR1cmVzOwogfQogCi1ib29sIFJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXM6OnNwZWN0cmVHYWRnZXRzRW5hYmxlZCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJu
IEpTQzo6T3B0aW9uczo6ZW5hYmxlU3BlY3RyZUdhZGdldHMoKTsKLX0KLQogI2lmIEVOQUJMRShU
T1VDSF9FVkVOVFMpCiBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnRvdWNoRXZlbnRzRW5h
YmxlZCgpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVF
bmFibGVkRmVhdHVyZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0
dXJlcy5oCmluZGV4IDAwMTJjMWU0YmRmLi5mNmZiMzZlNWQ0NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKQEAgLTEzMiw4ICsxMzIsNiBAQCBwdWJs
aWM6CiAgICAgYm9vbCBmZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBt
X2ZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZDsgfQogICAgIHZvaWQgc2V0RmV0Y2hBUElLZWVwQWxp
dmVFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fZmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkID0g
aXNFbmFibGVkOyB9CiAKLSAgICBib29sIHNwZWN0cmVHYWRnZXRzRW5hYmxlZCgpIGNvbnN0Owot
CiAgICAgdm9pZCBzZXRJbnNwZWN0b3JBZGRpdGlvbnNFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7
IG1faW5zcGVjdG9yQWRkaXRpb25zRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQogICAgIGJvb2wgaW5z
cGVjdG9yQWRkaXRpb25zRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9yQWRkaXRp
b25zRW5hYmxlZDsgfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>