<?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>110897</bug_id>
          
          <creation_ts>2013-02-26 11:58:37 -0800</creation_ts>
          <short_desc>REGRESSION(r144074): Causing 20+ crashes on Mac (Requested by bradee-oh on #webkit).</short_desc>
          <delta_ts>2013-02-26 14:59:13 -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>New Bugs</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>fpizlo</cc>
    
    <cc>kling</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>842240</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-26 11:58:37 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/144074 broke the build:
Causing 20+ crashes on Mac (Requested by bradee-oh on #webkit).

This is an automatic bug report generated by the sheriff-bot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842243</commentid>
    <comment_count>1</comment_count>
      <attachid>190337</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-26 11:59:14 -0800</bug_when>
    <thetext>Created attachment 190337
ROLLOUT of r144074

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842405</commentid>
    <comment_count>2</comment_count>
      <attachid>190337</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-26 14:59:10 -0800</bug_when>
    <thetext>Comment on attachment 190337
ROLLOUT of r144074

Clearing flags on attachment: 190337

Committed r144113: &lt;http://trac.webkit.org/changeset/144113&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842406</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-26 14:59:13 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190337</attachid>
            <date>2013-02-26 11:59:14 -0800</date>
            <delta_ts>2013-02-26 14:59:10 -0800</delta_ts>
            <desc>ROLLOUT of r144074</desc>
            <filename>bug-110897-20130226195529.patch</filename>
            <type>text/plain</type>
            <size>39041</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0MDg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBk
OWJjYmQyNjRiMTZhM2U1Mjg5N2RmNTY4ODlkOTA0NzA4YjlkM2RjLi5mZTIzNGU4NWEyZWVhMWFl
YjQ0MDRjMWI0MjdmMGIzN2M1ZjhkMzMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1MSBAQAorMjAxMy0wMi0yNiAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBn
bWFpbC5jb20+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE0NDA3NC4KKyAg
ICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTQ0MDc0CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTA4OTcKKworICAgICAgICBD
YXVzaW5nIDIwKyBjcmFzaGVzIG9uIE1hYyAoUmVxdWVzdGVkIGJ5IGJyYWRlZS1vaCBvbgorICAg
ICAgICAjd2Via2l0KS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEdO
VW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogSmF2YVNjcmlwdENvcmUuZ3lwaToKKyAgICAg
ICAgKiBKYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUu
dmNwcm9qOgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUu
dmN4cHJvajoKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qOgorICAgICAgICAqIFRhcmdldC5wcmk6CisgICAgICAgICogcnVudGltZS9KU0dsb2JhbERh
dGEuY3BwOgorICAgICAgICAoSlNDOjpKU0dsb2JhbERhdGE6OkpTR2xvYmFsRGF0YSk6CisgICAg
ICAgICogcnVudGltZS9KU0dsb2JhbERhdGEuaDoKKyAgICAgICAgKEpTR2xvYmFsRGF0YSk6Cisg
ICAgICAgICogcnVudGltZS9Qcm9wZXJ0eU1hcEhhc2hUYWJsZS5oOgorICAgICAgICAoUHJvcGVy
dHlUYWJsZSk6CisgICAgICAgIChKU0M6OlByb3BlcnR5VGFibGU6OlByb3BlcnR5VGFibGUpOgor
ICAgICAgICAoSlNDKToKKyAgICAgICAgKEpTQzo6UHJvcGVydHlUYWJsZTo6flByb3BlcnR5VGFi
bGUpOgorICAgICAgICAoSlNDOjpQcm9wZXJ0eVRhYmxlOjpjb3B5KToKKyAgICAgICAgKiBydW50
aW1lL1Byb3BlcnR5VGFibGUuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIHJ1bnRpbWUvU3RydWN0
dXJlLmNwcDoKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjptYXRlcmlhbGl6ZVByb3BlcnR5TWFw
KToKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXRpb24pOgorICAg
ICAgICAoSlNDOjpTdHJ1Y3R1cmU6OmNoYW5nZVByb3RvdHlwZVRyYW5zaXRpb24pOgorICAgICAg
ICAoSlNDOjpTdHJ1Y3R1cmU6OmRlc3BlY2lmeUZ1bmN0aW9uVHJhbnNpdGlvbik6CisgICAgICAg
IChKU0M6OlN0cnVjdHVyZTo6YXR0cmlidXRlQ2hhbmdlVHJhbnNpdGlvbik6CisgICAgICAgIChK
U0M6OlN0cnVjdHVyZTo6dG9EaWN0aW9uYXJ5VHJhbnNpdGlvbik6CisgICAgICAgIChKU0M6OlN0
cnVjdHVyZTo6cHJldmVudEV4dGVuc2lvbnNUcmFuc2l0aW9uKToKKyAgICAgICAgKEpTQzo6U3Ry
dWN0dXJlOjpub25Qcm9wZXJ0eVRyYW5zaXRpb24pOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6
OmNvcHlQcm9wZXJ0eVRhYmxlKToKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjpjb3B5UHJvcGVy
dHlUYWJsZUZvclBpbm5pbmcpOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OnB1dFNwZWNpZmlj
VmFsdWUpOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OmNyZWF0ZVByb3BlcnR5TWFwKToKKyAg
ICAgICAgKEpTQzo6U3RydWN0dXJlOjp2aXNpdENoaWxkcmVuKToKKyAgICAgICAgKiBydW50aW1l
L1N0cnVjdHVyZS5oOgorICAgICAgICAoSlNDKToKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjpw
dXRXaWxsR3Jvd091dE9mTGluZVN0b3JhZ2UpOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OmNo
ZWNrT2Zmc2V0Q29uc2lzdGVuY3kpOgorICAgICAgICAoU3RydWN0dXJlKToKKyAgICAgICAgKiBy
dW50aW1lL1N0cnVjdHVyZUlubGluZXMuaDoKKwogMjAxMy0wMi0yNiAgTWljaGFlbCBTYWJvZmYg
IDxtc2Fib2ZmQGFwcGxlLmNvbT4KIAogICAgICAgICBQb3RlbnRpYWwgY3Jhc2ggaW4gWUFSUiBK
SVQgZ2VuZXJhdGVkIGNvZGUgd2hlbiBidWlsZGluZyA2NCBiaXQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
TWFrZUxpc3RzLnR4dAppbmRleCAzYmIzOTEyYTI4YWRjYzA2Yzg0NTYwZmRiODhhOWFhZDZmOWEz
NTE0Li4zYmQ2ODIzMDc3YzllMjIxYmI1Nzc0ZjcxYTIzNTU4NmIxZjgwMWU4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0yODAsNyArMjgwLDYgQEAgc2V0KEphdmFTY3Jp
cHRDb3JlX1NPVVJDRVMKICAgICBydW50aW1lL1Byb3BlcnR5RGVzY3JpcHRvci5jcHAKICAgICBy
dW50aW1lL1Byb3BlcnR5TmFtZUFycmF5LmNwcAogICAgIHJ1bnRpbWUvUHJvcGVydHlTbG90LmNw
cAotICAgIHJ1bnRpbWUvUHJvcGVydHlUYWJsZS5jcHAKICAgICBydW50aW1lL1Byb3RvdHlwZU1h
cC5jcHAKICAgICBydW50aW1lL1JlZ0V4cC5jcHAKICAgICBydW50aW1lL1JlZ0V4cENhY2hlLmNw
cApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0g
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCA1MWQ1YTQx
ZTg1NDJhZDE2ZGY3ZWE0NzQwOTQyMDA1YjRiNzRlYTQxLi5lOGExZjJiOTQzMWIzYzcyZDIwNGRl
Yzg3NzM2ZDUyMDUzZmNlYjMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvR05V
bWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUu
bGlzdC5hbQpAQCAtNzIyLDcgKzcyMiw2IEBAIGphdmFzY3JpcHRjb3JlX3NvdXJjZXMgKz0gXAog
CVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5T2Zmc2V0LmggXAogCVNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5U2xvdC5jcHAgXAogCVNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5U2xvdC5oIFwKLQlTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Qcm9wZXJ0eVRhYmxlLmNwcCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvUHJvdG90eXBlTWFwLmNwcCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
UHJvdG90eXBlTWFwLmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5
U3RvcmFnZS5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS5neXBpIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmd5cGkKaW5k
ZXggYzkwMWNiYzdiNzdjNTBlNWZjYjgyOTRmOWQxOTliMzFkZTdiZDcyMi4uODVmNjQ0NmNjM2Y4
MDgxZjJlZDg2NzNkYjhkOGFlNGNjY2Y4MWNlMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLmd5cGkKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLmd5cGkKQEAgLTc1OSw3ICs3NTksNiBAQAogICAgICAgICAgICAgJ3J1bnRp
bWUvUHJvcGVydHlPZmZzZXQuaCcsCiAgICAgICAgICAgICAncnVudGltZS9Qcm9wZXJ0eVNsb3Qu
Y3BwJywKICAgICAgICAgICAgICdydW50aW1lL1Byb3BlcnR5U2xvdC5oJywKLSAgICAgICAgICAg
ICdydW50aW1lL1Byb3BlcnR5VGFibGUuY3BwJywKICAgICAgICAgICAgICdydW50aW1lL1Byb3Bl
cnR5U3RvcmFnZS5oJywKICAgICAgICAgICAgICdydW50aW1lL1Byb3RlY3QuaCcsCiAgICAgICAg
ICAgICAncnVudGltZS9Qcm90b3R5cGVNYXAuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUudmNwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJv
ai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2oKaW5kZXggNTYwZmIyODhjMWFk
ZThkZjY4NjRiYjRjZTI3NTc3MjQ1MDQxNDEzOC4uNzUxN2E0YWU5MzJkOTQ3MWQ3ZjRhMmJmYTM5
OTczZjBiNzA5MWJhZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2oKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2oKQEAgLTExNzQsMTAgKzExNzQsNiBAQAogCQkJCT4KIAkJ
CTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxydW50aW1lXFByb3Bl
cnR5VGFibGUuY3BwIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQ
YXRoPSIuLlwuLlxydW50aW1lXFByb3RvdHlwZU1hcC5jcHAiCiAJCQkJPgogCQkJPC9GaWxlPgpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ov
SmF2YVNjcmlwdENvcmUudmN4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oKaW5kZXggMGZhOTE0ZmE2OTE3NTYw
ZGU2ZjFhNzlhZWY5OWNlNmVkMWQ0NzJlYS4uMzI1ZTcyNTA5OWM1N2EzMDY4ZmY0OTc0NTI4MzQ3
NjQ3OGYwOGM1OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qCkBAIC0z
MDUsNyArMzA1LDYgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcUHJvcGVy
dHlEZXNjcmlwdG9yLmNwcCIgLz4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1l
XFByb3BlcnR5TmFtZUFycmF5LmNwcCIgLz4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxy
dW50aW1lXFByb3BlcnR5U2xvdC5jcHAiIC8+DQotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
cnVudGltZVxQcm9wZXJ0eVRhYmxlLmNwcCIgLz4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
LlxydW50aW1lXFByb3RvdHlwZU1hcC5jcHAiIC8+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i
Li5ccnVudGltZVxSZWdFeHAuY3BwIiAvPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1
bnRpbWVcUmVnRXhwQ2FjaGUuY3BwIiAvPg0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggOGU5ZGQ4YWJmMzlhY2RiNTZjNmQ2MTVmYmU0OTg3MjRkZmZhZDU5MS4uYmZlMDBiNGRmOTcy
NjRiMDBjMTc4NmE1Nzg0NDA5OWJiMDdjMzI0ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTcwNSw3ICs3MDUsNiBAQAogCQlBN0ZCNjBBNDEwM0Y3REMyMDAxN0EyODYgLyogUHJv
cGVydHlEZXNjcmlwdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEE3RkI2MEEzMTAzRjdEQzIwMDE3QTI4NiAvKiBQcm9wZXJ0eURlc2NyaXB0b3Iu
Y3BwICovOyB9OwogCQlBN0ZCNjEwMDEwNDBDMzhCMDAxN0EyODYgLyogUHJvcGVydHlEZXNjcmlw
dG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0ZC
NjA0QjEwM0Y1RUFCMDAxN0EyODYgLyogUHJvcGVydHlEZXNjcmlwdG9yLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQThBNDc0OEUxNTFBODMwNjAw
NDEyM0ZGIC8qIGxpYldURi5hIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQThBNDc0OEQxNTFBODMwNjAwNDEyM0ZGIC8qIGxpYldURi5hICovOyB9Owot
CQlBREUzOUZGRjE2REQxNDRCMDAwM0NENEEgLyogUHJvcGVydHlUYWJsZS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBRDFDRjA2ODE2RENBQjJEMDBC
OTcxMjMgLyogUHJvcGVydHlUYWJsZS5jcHAgKi87IH07CiAJCUJDMDJFOTBEMEUxODM5REIwMDBG
OTI5NyAvKiBFcnJvckNvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCQzAyRTkwNTBFMTgzOURCMDAwRjkyOTcgLyogRXJyb3JDb25zdHJ1
Y3Rvci5oICovOyB9OwogCQlCQzAyRTkwRjBFMTgzOURCMDAwRjkyOTcgLyogRXJyb3JQcm90b3R5
cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMDJF
OTA3MEUxODM5REIwMDBGOTI5NyAvKiBFcnJvclByb3RvdHlwZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDMDJFOTExMEUxODM5REIwMDBGOTI5
NyAvKiBOYXRpdmVFcnJvckNvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCQzAyRTkwOTBFMTgzOURCMDAwRjkyOTcgLyogTmF0aXZlRXJy
b3JDb25zdHJ1Y3Rvci5oICovOyB9OwpAQCAtMTYyMyw3ICsxNjIyLDYgQEAKIAkJQThBNDc0OEQx
NTFBODMwNjAwNDEyM0ZGIC8qIGxpYldURi5hICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gYXJjaGl2ZS5hcjsgcGF0aCA9IGxpYldURi5hOyBzb3VyY2VU
cmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwogCQlBOEU4OTQzMTBDRDA2MDI0MDAzNjcxNzkg
LyogSlNDYWxsYmFja09iamVjdEZ1bmN0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKU0NhbGxiYWNrT2JqZWN0RnVuY3Rpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUE4RTg5NDMzMENEMDYwM0YwMDM2NzE3OSAvKiBKU0dsb2JhbE9iamVjdC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0dsb2JhbE9iamVjdC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQlBRDFDRjA2ODE2RENBQjJEMDBCOTcxMjMgLyogUHJvcGVy
dHlUYWJsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQcm9wZXJ0
eVRhYmxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkMwMjFCRjIxMzY5MDBD
MzAwRkM1NDY3IC8qIFRvb2xFeGVjdXRhYmxlLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2Nv
bmZpZzsgcGF0aCA9IFRvb2xFeGVjdXRhYmxlLnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlCQzAyRTkwNDBFMTgzOURCMDAwRjkyOTcgLyogRXJyb3JDb25zdHJ1Y3Rvci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBFcnJvckNvbnN0cnVjdG9y
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkMwMkU5MDUwRTE4MzlEQjAwMEY5
Mjk3IC8qIEVycm9yQ29uc3RydWN0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gRXJyb3JDb25zdHJ1Y3Rvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjUx
NCw3ICsyNTEyLDYgQEAKIAkJCQk2NTYyMUU2QjA4OUU4NTk3MDA3NjBGMzUgLyogUHJvcGVydHlT
bG90LmNwcCAqLywKIAkJCQk2NTYyMUU2QzA4OUU4NTk3MDA3NjBGMzUgLyogUHJvcGVydHlTbG90
LmggKi8sCiAJCQkJMEZCN0YzOTAxNUVEOEUzODAwRjE2N0IyIC8qIFByb3BlcnR5U3RvcmFnZS5o
ICovLAotCQkJCUFEMUNGMDY4MTZEQ0FCMkQwMEI5NzEyMyAvKiBQcm9wZXJ0eVRhYmxlLmNwcCAq
LywKIAkJCQk2NUMwMkZCQjA2Mzc0NjJBMDAzRTdFRTYgLyogUHJvdGVjdC5oICovLAogCQkJCTE0
RDg0NEEyMTZBQTJDNzAwMEE2NUFGMCAvKiBQcm90b3R5cGVNYXAuY3BwICovLAogCQkJCTE0RDg0
NEEzMTZBQTJDNzAwMEE2NUFGMCAvKiBQcm90b3R5cGVNYXAuaCAqLywKQEAgLTQwMzQsNyArNDAz
MSw2IEBACiAJCQkJMEZCRTBGNzQxNkMxREIwOTAwODJDNUU4IC8qIERGR1ByZWRpY3Rpb25Jbmpl
Y3Rpb25QaGFzZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkJFMEY3NjE2QzFEQjBGMDA4MkM1
RTggLyogREZHVW5pZmljYXRpb25QaGFzZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjQ5M0FG
QTE2RDBDQUQzMDA4NDUwOEIgLyogU291cmNlUHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8sCi0J
CQkJQURFMzlGRkYxNkREMTQ0QjAwMDNDRDRBIC8qIFByb3BlcnR5VGFibGUuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7
CiAJCX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvVGFyZ2V0LnByaSBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9UYXJnZXQucHJpCmluZGV4IDY2MDhhMDdlZWEyMjhmYzExZGJl
MjQ4ZjE4NWQyZWIwZjJmODNjOTUuLjU4MTQwZjZkNTAyOTE1M2Q4MWNmNDQ0YTlkMTc4NmY0MjVl
M2EwZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9UYXJnZXQucHJpCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9UYXJnZXQucHJpCkBAIC0yOTgsNyArMjk4LDYgQEAgU09V
UkNFUyArPSBcCiAgICAgcnVudGltZS9Qcm9wZXJ0eURlc2NyaXB0b3IuY3BwIFwKICAgICBydW50
aW1lL1Byb3BlcnR5TmFtZUFycmF5LmNwcCBcCiAgICAgcnVudGltZS9Qcm9wZXJ0eVNsb3QuY3Bw
IFwKLSAgICBydW50aW1lL1Byb3BlcnR5VGFibGUuY3BwIFwKICAgICBydW50aW1lL1Byb3RvdHlw
ZU1hcC5jcHAgXAogICAgIHJ1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuY3BwIFwKICAgICBydW50
aW1lL1JlZ0V4cENhY2hlZFJlc3VsdC5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxEYXRhLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTR2xvYmFsRGF0YS5jcHAKaW5kZXggNTA4YTg3NmE4OWM2MDllNmZmYzkxMGY3NTgy
OTcwYjBiZWFiMDNkMi4uYzA2Y2Y1YzgxYjBiZmM0YjFjZDUwMTI0ZDdlZjg2YzI0ZWFlNjQ2NSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxEYXRhLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbERhdGEuY3BwCkBA
IC0yMzIsNyArMjMyLDYgQEAgSlNHbG9iYWxEYXRhOjpKU0dsb2JhbERhdGEoR2xvYmFsRGF0YVR5
cGUgZ2xvYmFsRGF0YVR5cGUsIEhlYXBUeXBlIGhlYXBUeXBlKQogICAgIHVubGlua2VkUHJvZ3Jh
bUNvZGVCbG9ja1N0cnVjdHVyZS5zZXQoKnRoaXMsIFVubGlua2VkUHJvZ3JhbUNvZGVCbG9jazo6
Y3JlYXRlU3RydWN0dXJlKCp0aGlzLCAwLCBqc051bGwoKSkpOwogICAgIHVubGlua2VkRXZhbENv
ZGVCbG9ja1N0cnVjdHVyZS5zZXQoKnRoaXMsIFVubGlua2VkRXZhbENvZGVCbG9jazo6Y3JlYXRl
U3RydWN0dXJlKCp0aGlzLCAwLCBqc051bGwoKSkpOwogICAgIHVubGlua2VkRnVuY3Rpb25Db2Rl
QmxvY2tTdHJ1Y3R1cmUuc2V0KCp0aGlzLCBVbmxpbmtlZEZ1bmN0aW9uQ29kZUJsb2NrOjpjcmVh
dGVTdHJ1Y3R1cmUoKnRoaXMsIDAsIGpzTnVsbCgpKSk7Ci0gICAgcHJvcGVydHlUYWJsZVN0cnVj
dHVyZS5zZXQoKnRoaXMsIFByb3BlcnR5VGFibGU6OmNyZWF0ZVN0cnVjdHVyZSgqdGhpcywgMCwg
anNOdWxsKCkpKTsKICAgICBzbWFsbFN0cmluZ3MuaW5pdGlhbGl6ZUNvbW1vblN0cmluZ3MoKnRo
aXMpOwogCiAgICAgd3RmVGhyZWFkRGF0YSgpLnNldEN1cnJlbnRJZGVudGlmaWVyVGFibGUoZXhp
c3RpbmdFbnRyeUlkZW50aWZpZXJUYWJsZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0dsb2JhbERhdGEuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTR2xvYmFsRGF0YS5oCmluZGV4IDE4OTVhMDZlMTFlZGVlNmY4OGUwNGY5ZmRmYmE0N2Uy
NzlmNjAzMjMuLmRjOTg4MWYxMWM1OTIxZjBmZTg0ZGFhMWM3NDdiMDkwMjhiZWEzZTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsRGF0YS5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsRGF0YS5oCkBAIC0yNTYsNyAr
MjU2LDYgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFN0cm9uZzxTdHJ1Y3R1cmU+IHVubGlu
a2VkUHJvZ3JhbUNvZGVCbG9ja1N0cnVjdHVyZTsKICAgICAgICAgU3Ryb25nPFN0cnVjdHVyZT4g
dW5saW5rZWRFdmFsQ29kZUJsb2NrU3RydWN0dXJlOwogICAgICAgICBTdHJvbmc8U3RydWN0dXJl
PiB1bmxpbmtlZEZ1bmN0aW9uQ29kZUJsb2NrU3RydWN0dXJlOwotICAgICAgICBTdHJvbmc8U3Ry
dWN0dXJlPiBwcm9wZXJ0eVRhYmxlU3RydWN0dXJlOwogCiAgICAgICAgIElkZW50aWZpZXJUYWJs
ZSogaWRlbnRpZmllclRhYmxlOwogICAgICAgICBDb21tb25JZGVudGlmaWVycyogcHJvcGVydHlO
YW1lczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5
TWFwSGFzaFRhYmxlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm9wZXJ0eU1h
cEhhc2hUYWJsZS5oCmluZGV4IDU0ZTI5NzNiMTRjOWQwNjdlYWUxNWNiZjM3NWI2OWQ4MDNiYTc3
NWQuLjI0MjJjNWI5OWYzZTY3MzE1ZGZhYTI4NDc3ZGE4MTU0ZGRlODliZWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5TWFwSGFzaFRhYmxlLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvcGVydHlNYXBIYXNoVGFibGUuaApA
QCAtMjIsNyArMjIsNiBAQAogI2RlZmluZSBQcm9wZXJ0eU1hcEhhc2hUYWJsZV9oCiAKICNpbmNs
dWRlICJQcm9wZXJ0eU9mZnNldC5oIgotI2luY2x1ZGUgIlN0cnVjdHVyZS5oIgogI2luY2x1ZGUg
IldyaXRlQmFycmllci5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoVGFibGUuaD4KICNpbmNsdWRlIDx3
dGYvTWF0aEV4dHJhcy5oPgpAQCAtODYsNyArODUsOCBAQCBzdHJ1Y3QgUHJvcGVydHlNYXBFbnRy
eSB7CiAgICAgfQogfTsKIAotY2xhc3MgUHJvcGVydHlUYWJsZSA6IHB1YmxpYyBKU0NlbGwgewor
Y2xhc3MgUHJvcGVydHlUYWJsZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAKICAg
ICAvLyBUaGlzIGlzIHRoZSBpbXBsZW1lbnRhdGlvbiBmb3IgJ2l0ZXJhdG9yJyBhbmQgJ2NvbnN0
X2l0ZXJhdG9yJywKICAgICAvLyB1c2VkIGZvciBpdGVyYXRpbmcgb3ZlciB0aGUgdGFibGUgaW4g
aW5zZXJ0aW9uIG9yZGVyLgpAQCAtMTI5LDE5ICsxMjksNiBAQCBjbGFzcyBQcm9wZXJ0eVRhYmxl
IDogcHVibGljIEpTQ2VsbCB7CiAgICAgfTsKIAogcHVibGljOgotICAgIHN0YXRpYyBjb25zdCBi
b29sIG5lZWRzRGVzdHJ1Y3Rpb24gPSB0cnVlOwotICAgIHN0YXRpYyBjb25zdCBib29sIGhhc0lt
bW9ydGFsU3RydWN0dXJlID0gdHJ1ZTsKLSAgICBzdGF0aWMgdm9pZCBkZXN0cm95KEpTQ2VsbCop
OwotCi0gICAgc3RhdGljIEpTX0VYUE9SVERBVEEgY29uc3QgQ2xhc3NJbmZvIHNfaW5mbzsKLQot
ICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShKU0dsb2JhbERhdGEmIGdsb2Jh
bERhdGEsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgcHJvdG90eXBlKQot
ICAgIHsKLSAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKGdsb2JhbERhdGEsIGdsb2Jh
bE9iamVjdCwgcHJvdG90eXBlLCBUeXBlSW5mbyhDb21wb3VuZFR5cGUsIE92ZXJyaWRlc1Zpc2l0
Q2hpbGRyZW4pLCAmc19pbmZvKTsKLSAgICB9Ci0KLSAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxk
cmVuKEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7Ci0KICAgICB0eXBlZGVmIFN0cmluZ0ltcGwqIEtl
eVR5cGU7CiAgICAgdHlwZWRlZiBQcm9wZXJ0eU1hcEVudHJ5IFZhbHVlVHlwZTsKIApAQCAtMTU1
LDkgKzE0Miw5IEBAIHB1YmxpYzoKICAgICB0eXBlZGVmIHN0ZDo6cGFpcjxWYWx1ZVR5cGUqLCB1
bnNpZ25lZD4gZmluZF9pdGVyYXRvcjsKIAogICAgIC8vIENvbnN0cnVjdG9yIGlzIHBhc3NlZCBh
biBpbml0aWFsIGNhcGFjaXR5LCBhIFByb3BlcnR5VGFibGUgdG8gY29weSwgb3IgYm90aC4KLSAg
ICBzdGF0aWMgUHJvcGVydHlUYWJsZSogY3JlYXRlKEpTR2xvYmFsRGF0YSYsIHVuc2lnbmVkIGlu
aXRpYWxDYXBhY2l0eSk7Ci0gICAgc3RhdGljIFByb3BlcnR5VGFibGUqIGNsb25lKEpTR2xvYmFs
RGF0YSYsIEpTQ2VsbCogb3duZXIsIGNvbnN0IFByb3BlcnR5VGFibGUmKTsKLSAgICBzdGF0aWMg
UHJvcGVydHlUYWJsZSogY2xvbmUoSlNHbG9iYWxEYXRhJiwgSlNDZWxsKiBvd25lciwgdW5zaWdu
ZWQgaW5pdGlhbENhcGFjaXR5LCBjb25zdCBQcm9wZXJ0eVRhYmxlJik7CisgICAgZXhwbGljaXQg
UHJvcGVydHlUYWJsZSh1bnNpZ25lZCBpbml0aWFsQ2FwYWNpdHkpOworICAgIFByb3BlcnR5VGFi
bGUoSlNHbG9iYWxEYXRhJiwgSlNDZWxsKiwgY29uc3QgUHJvcGVydHlUYWJsZSYpOworICAgIFBy
b3BlcnR5VGFibGUoSlNHbG9iYWxEYXRhJiwgSlNDZWxsKiwgdW5zaWduZWQgaW5pdGlhbENhcGFj
aXR5LCBjb25zdCBQcm9wZXJ0eVRhYmxlJik7CiAgICAgflByb3BlcnR5VGFibGUoKTsKIAogICAg
IC8vIE9yZGVyZWQgaXRlcmF0aW9uIG1ldGhvZHMuCkBAIC0xOTQsNyArMTgxLDcgQEAgcHVibGlj
OgogICAgIFByb3BlcnR5T2Zmc2V0IG5leHRPZmZzZXQoUHJvcGVydHlPZmZzZXQgaW5saW5lQ2Fw
YWNpdHkpOwogCiAgICAgLy8gQ29weSB0aGlzIFByb3BlcnR5VGFibGUsIGVuc3VyaW5nIHRoZSBj
b3B5IGhhcyBhdCBsZWFzdCB0aGUgY2FwYWNpdHkgcHJvdmlkZWQuCi0gICAgUHJvcGVydHlUYWJs
ZSogY29weShKU0dsb2JhbERhdGEmLCBKU0NlbGwqIG93bmVyLCB1bnNpZ25lZCBuZXdDYXBhY2l0
eSk7CisgICAgUGFzc093blB0cjxQcm9wZXJ0eVRhYmxlPiBjb3B5KEpTR2xvYmFsRGF0YSYsIEpT
Q2VsbCogb3duZXIsIHVuc2lnbmVkIG5ld0NhcGFjaXR5KTsKIAogI2lmbmRlZiBOREVCVUcKICAg
ICBzaXplX3Qgc2l6ZUluTWVtb3J5KCk7CkBAIC0yMDIsMTAgKzE4OSw2IEBAIHB1YmxpYzoKICNl
bmRpZgogCiBwcml2YXRlOgotICAgIFByb3BlcnR5VGFibGUoSlNHbG9iYWxEYXRhJiwgdW5zaWdu
ZWQgaW5pdGlhbENhcGFjaXR5KTsKLSAgICBQcm9wZXJ0eVRhYmxlKEpTR2xvYmFsRGF0YSYsIEpT
Q2VsbCosIGNvbnN0IFByb3BlcnR5VGFibGUmKTsKLSAgICBQcm9wZXJ0eVRhYmxlKEpTR2xvYmFs
RGF0YSYsIEpTQ2VsbCosIHVuc2lnbmVkIGluaXRpYWxDYXBhY2l0eSwgY29uc3QgUHJvcGVydHlU
YWJsZSYpOwotCiAgICAgUHJvcGVydHlUYWJsZShjb25zdCBQcm9wZXJ0eVRhYmxlJik7CiAgICAg
Ly8gVXNlZCB0byBpbnNlcnQgYSB2YWx1ZSBrbm93biBub3QgdG8gYmUgaW4gdGhlIHRhYmxlLCBh
bmQgd2hlcmUgd2Uga25vdyBjYXBhY2l0eSB0byBiZSBhdmFpbGFibGUuCiAgICAgdm9pZCByZWlu
c2VydChjb25zdCBWYWx1ZVR5cGUmIGVudHJ5KTsKQEAgLTI1Niw2ICsyMzksNzIgQEAgcHJpdmF0
ZToKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgRW1wdHlFbnRyeUluZGV4ID0gMDsKIH07CiAK
K2lubGluZSBQcm9wZXJ0eVRhYmxlOjpQcm9wZXJ0eVRhYmxlKHVuc2lnbmVkIGluaXRpYWxDYXBh
Y2l0eSkKKyAgICA6IG1faW5kZXhTaXplKHNpemVGb3JDYXBhY2l0eShpbml0aWFsQ2FwYWNpdHkp
KQorICAgICwgbV9pbmRleE1hc2sobV9pbmRleFNpemUgLSAxKQorICAgICwgbV9pbmRleChzdGF0
aWNfY2FzdDx1bnNpZ25lZCo+KGZhc3RaZXJvZWRNYWxsb2MoZGF0YVNpemUoKSkpKQorICAgICwg
bV9rZXlDb3VudCgwKQorICAgICwgbV9kZWxldGVkQ291bnQoMCkKK3sKKyAgICBBU1NFUlQoaXNQ
b3dlck9mMihtX2luZGV4U2l6ZSkpOworfQorCitpbmxpbmUgUHJvcGVydHlUYWJsZTo6UHJvcGVy
dHlUYWJsZShKU0dsb2JhbERhdGEmLCBKU0NlbGwqIG93bmVyLCBjb25zdCBQcm9wZXJ0eVRhYmxl
JiBvdGhlcikKKyAgICA6IG1faW5kZXhTaXplKG90aGVyLm1faW5kZXhTaXplKQorICAgICwgbV9p
bmRleE1hc2sob3RoZXIubV9pbmRleE1hc2spCisgICAgLCBtX2luZGV4KHN0YXRpY19jYXN0PHVu
c2lnbmVkKj4oZmFzdE1hbGxvYyhkYXRhU2l6ZSgpKSkpCisgICAgLCBtX2tleUNvdW50KG90aGVy
Lm1fa2V5Q291bnQpCisgICAgLCBtX2RlbGV0ZWRDb3VudChvdGhlci5tX2RlbGV0ZWRDb3VudCkK
K3sKKyAgICBBU1NFUlQoaXNQb3dlck9mMihtX2luZGV4U2l6ZSkpOworCisgICAgbWVtY3B5KG1f
aW5kZXgsIG90aGVyLm1faW5kZXgsIGRhdGFTaXplKCkpOworCisgICAgaXRlcmF0b3IgZW5kID0g
dGhpcy0+ZW5kKCk7CisgICAgZm9yIChpdGVyYXRvciBpdGVyID0gYmVnaW4oKTsgaXRlciAhPSBl
bmQ7ICsraXRlcikgeworICAgICAgICBpdGVyLT5rZXktPnJlZigpOworICAgICAgICBIZWFwOjp3
cml0ZUJhcnJpZXIob3duZXIsIGl0ZXItPnNwZWNpZmljVmFsdWUuZ2V0KCkpOworICAgIH0KKwor
ICAgIC8vIENvcHkgdGhlIG1fZGVsZXRlZE9mZnNldHMgdmVjdG9yLgorICAgIFZlY3RvcjxQcm9w
ZXJ0eU9mZnNldD4qIG90aGVyRGVsZXRlZE9mZnNldHMgPSBvdGhlci5tX2RlbGV0ZWRPZmZzZXRz
LmdldCgpOworICAgIGlmIChvdGhlckRlbGV0ZWRPZmZzZXRzKQorICAgICAgICBtX2RlbGV0ZWRP
ZmZzZXRzID0gYWRvcHRQdHIobmV3IFZlY3RvcjxQcm9wZXJ0eU9mZnNldD4oKm90aGVyRGVsZXRl
ZE9mZnNldHMpKTsKK30KKworaW5saW5lIFByb3BlcnR5VGFibGU6OlByb3BlcnR5VGFibGUoSlNH
bG9iYWxEYXRhJiwgSlNDZWxsKiBvd25lciwgdW5zaWduZWQgaW5pdGlhbENhcGFjaXR5LCBjb25z
dCBQcm9wZXJ0eVRhYmxlJiBvdGhlcikKKyAgICA6IG1faW5kZXhTaXplKHNpemVGb3JDYXBhY2l0
eShpbml0aWFsQ2FwYWNpdHkpKQorICAgICwgbV9pbmRleE1hc2sobV9pbmRleFNpemUgLSAxKQor
ICAgICwgbV9pbmRleChzdGF0aWNfY2FzdDx1bnNpZ25lZCo+KGZhc3RaZXJvZWRNYWxsb2MoZGF0
YVNpemUoKSkpKQorICAgICwgbV9rZXlDb3VudCgwKQorICAgICwgbV9kZWxldGVkQ291bnQoMCkK
K3sKKyAgICBBU1NFUlQoaXNQb3dlck9mMihtX2luZGV4U2l6ZSkpOworICAgIEFTU0VSVChpbml0
aWFsQ2FwYWNpdHkgPj0gb3RoZXIubV9rZXlDb3VudCk7CisKKyAgICBjb25zdF9pdGVyYXRvciBl
bmQgPSBvdGhlci5lbmQoKTsKKyAgICBmb3IgKGNvbnN0X2l0ZXJhdG9yIGl0ZXIgPSBvdGhlci5i
ZWdpbigpOyBpdGVyICE9IGVuZDsgKytpdGVyKSB7CisgICAgICAgIEFTU0VSVChjYW5JbnNlcnQo
KSk7CisgICAgICAgIHJlaW5zZXJ0KCppdGVyKTsKKyAgICAgICAgaXRlci0+a2V5LT5yZWYoKTsK
KyAgICAgICAgSGVhcDo6d3JpdGVCYXJyaWVyKG93bmVyLCBpdGVyLT5zcGVjaWZpY1ZhbHVlLmdl
dCgpKTsKKyAgICB9CisKKyAgICAvLyBDb3B5IHRoZSBtX2RlbGV0ZWRPZmZzZXRzIHZlY3Rvci4K
KyAgICBWZWN0b3I8UHJvcGVydHlPZmZzZXQ+KiBvdGhlckRlbGV0ZWRPZmZzZXRzID0gb3RoZXIu
bV9kZWxldGVkT2Zmc2V0cy5nZXQoKTsKKyAgICBpZiAob3RoZXJEZWxldGVkT2Zmc2V0cykKKyAg
ICAgICAgbV9kZWxldGVkT2Zmc2V0cyA9IGFkb3B0UHRyKG5ldyBWZWN0b3I8UHJvcGVydHlPZmZz
ZXQ+KCpvdGhlckRlbGV0ZWRPZmZzZXRzKSk7Cit9CisKK2lubGluZSBQcm9wZXJ0eVRhYmxlOjp+
UHJvcGVydHlUYWJsZSgpCit7CisgICAgaXRlcmF0b3IgZW5kID0gdGhpcy0+ZW5kKCk7CisgICAg
Zm9yIChpdGVyYXRvciBpdGVyID0gYmVnaW4oKTsgaXRlciAhPSBlbmQ7ICsraXRlcikKKyAgICAg
ICAgaXRlci0+a2V5LT5kZXJlZigpOworCisgICAgZmFzdEZyZWUobV9pbmRleCk7Cit9CisKIGlu
bGluZSBQcm9wZXJ0eVRhYmxlOjppdGVyYXRvciBQcm9wZXJ0eVRhYmxlOjpiZWdpbigpCiB7CiAg
ICAgcmV0dXJuIGl0ZXJhdG9yKHNraXBEZWxldGVkRW50cmllcyh0YWJsZSgpKSk7CkBAIC00NTMs
MTUgKzUwMiwxNSBAQCBpbmxpbmUgUHJvcGVydHlPZmZzZXQgUHJvcGVydHlUYWJsZTo6bmV4dE9m
ZnNldChQcm9wZXJ0eU9mZnNldCBpbmxpbmVDYXBhY2l0eSkKICAgICByZXR1cm4gb2Zmc2V0Rm9y
UHJvcGVydHlOdW1iZXIoc2l6ZSgpLCBpbmxpbmVDYXBhY2l0eSk7CiB9CiAKLWlubGluZSBQcm9w
ZXJ0eVRhYmxlKiBQcm9wZXJ0eVRhYmxlOjpjb3B5KEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwg
SlNDZWxsKiBvd25lciwgdW5zaWduZWQgbmV3Q2FwYWNpdHkpCitpbmxpbmUgUGFzc093blB0cjxQ
cm9wZXJ0eVRhYmxlPiBQcm9wZXJ0eVRhYmxlOjpjb3B5KEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0
YSwgSlNDZWxsKiBvd25lciwgdW5zaWduZWQgbmV3Q2FwYWNpdHkpCiB7CiAgICAgQVNTRVJUKG5l
d0NhcGFjaXR5ID49IG1fa2V5Q291bnQpOwogCiAgICAgLy8gRmFzdCBjYXNlOyBpZiB0aGUgbmV3
IHRhYmxlIHdpbGwgYmUgdGhlIHNhbWUgbV9pbmRleFNpemUgYXMgdGhpcyBvbmUsIHdlIGNhbiBt
ZW1jcHkgaXQsCiAgICAgLy8gc2F2ZSByZWhhc2hpbmcgYWxsIGtleXMuCiAgICAgaWYgKHNpemVG
b3JDYXBhY2l0eShuZXdDYXBhY2l0eSkgPT0gbV9pbmRleFNpemUpCi0gICAgICAgIHJldHVybiBQ
cm9wZXJ0eVRhYmxlOjpjbG9uZShnbG9iYWxEYXRhLCBvd25lciwgKnRoaXMpOwotICAgIHJldHVy
biBQcm9wZXJ0eVRhYmxlOjpjbG9uZShnbG9iYWxEYXRhLCBvd25lciwgbmV3Q2FwYWNpdHksICp0
aGlzKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBQcm9wZXJ0eVRhYmxlKGdsb2JhbERh
dGEsIG93bmVyLCAqdGhpcykpOworICAgIHJldHVybiBhZG9wdFB0cihuZXcgUHJvcGVydHlUYWJs
ZShnbG9iYWxEYXRhLCBvd25lciwgbmV3Q2FwYWNpdHksICp0aGlzKSk7CiB9CiAKICNpZm5kZWYg
TkRFQlVHCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm9wZXJ0
eVRhYmxlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5VGFibGUu
Y3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5OWQyNjc2MjY1NDc5NmU2YzAyMDM5
NDQ5NDUxODE0ODc2NTBkZjJhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5VGFibGUuY3Bw
CisrKyAvZGV2L251bGwKQEAgLTEsMTQ2ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgotICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25m
aWcuaCIKLSNpbmNsdWRlICJQcm9wZXJ0eU1hcEhhc2hUYWJsZS5oIgotCi0jaW5jbHVkZSAiSlND
SlNWYWx1ZUlubGluZXMuaCIKLSNpbmNsdWRlICJKU0NlbGxJbmxpbmVzLmgiCi0jaW5jbHVkZSAi
U2xvdFZpc2l0b3JJbmxpbmVzLmgiCi0jaW5jbHVkZSAiU3RydWN0dXJlSW5saW5lcy5oIgotCi1u
YW1lc3BhY2UgSlNDIHsKLQotY29uc3QgQ2xhc3NJbmZvIFByb3BlcnR5VGFibGU6OnNfaW5mbyA9
IHsgIlByb3BlcnR5VGFibGUiLCAwLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKFByb3BlcnR5
VGFibGUpIH07Ci0KLVByb3BlcnR5VGFibGUqIFByb3BlcnR5VGFibGU6OmNyZWF0ZShKU0dsb2Jh
bERhdGEmIGdsb2JhbERhdGEsIHVuc2lnbmVkIGluaXRpYWxDYXBhY2l0eSkKLXsKLSAgICBQcm9w
ZXJ0eVRhYmxlKiB0YWJsZSA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPFByb3BlcnR5VGFi
bGU+KGdsb2JhbERhdGEuaGVhcCkpIFByb3BlcnR5VGFibGUoZ2xvYmFsRGF0YSwgaW5pdGlhbENh
cGFjaXR5KTsKLSAgICB0YWJsZS0+ZmluaXNoQ3JlYXRpb24oZ2xvYmFsRGF0YSk7Ci0gICAgcmV0
dXJuIHRhYmxlOwotfQotCi1Qcm9wZXJ0eVRhYmxlKiBQcm9wZXJ0eVRhYmxlOjpjbG9uZShKU0ds
b2JhbERhdGEmIGdsb2JhbERhdGEsIEpTQ2VsbCogb3duZXIsIGNvbnN0IFByb3BlcnR5VGFibGUm
IG90aGVyKQotewotICAgIFByb3BlcnR5VGFibGUqIHRhYmxlID0gbmV3IChOb3ROdWxsLCBhbGxv
Y2F0ZUNlbGw8UHJvcGVydHlUYWJsZT4oZ2xvYmFsRGF0YS5oZWFwKSkgUHJvcGVydHlUYWJsZShn
bG9iYWxEYXRhLCBvd25lciwgb3RoZXIpOwotICAgIHRhYmxlLT5maW5pc2hDcmVhdGlvbihnbG9i
YWxEYXRhKTsKLSAgICByZXR1cm4gdGFibGU7Ci19Ci0KLVByb3BlcnR5VGFibGUqIFByb3BlcnR5
VGFibGU6OmNsb25lKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgSlNDZWxsKiBvd25lciwgdW5z
aWduZWQgaW5pdGlhbENhcGFjaXR5LCBjb25zdCBQcm9wZXJ0eVRhYmxlJiBvdGhlcikKLXsKLSAg
ICBQcm9wZXJ0eVRhYmxlKiB0YWJsZSA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPFByb3Bl
cnR5VGFibGU+KGdsb2JhbERhdGEuaGVhcCkpIFByb3BlcnR5VGFibGUoZ2xvYmFsRGF0YSwgb3du
ZXIsIGluaXRpYWxDYXBhY2l0eSwgb3RoZXIpOwotICAgIHRhYmxlLT5maW5pc2hDcmVhdGlvbihn
bG9iYWxEYXRhKTsKLSAgICByZXR1cm4gdGFibGU7Ci19Ci0KLVByb3BlcnR5VGFibGU6OlByb3Bl
cnR5VGFibGUoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCB1bnNpZ25lZCBpbml0aWFsQ2FwYWNp
dHkpCi0gICAgOiBKU0NlbGwoZ2xvYmFsRGF0YSwgZ2xvYmFsRGF0YS5wcm9wZXJ0eVRhYmxlU3Ry
dWN0dXJlLmdldCgpKQotICAgICwgbV9pbmRleFNpemUoc2l6ZUZvckNhcGFjaXR5KGluaXRpYWxD
YXBhY2l0eSkpCi0gICAgLCBtX2luZGV4TWFzayhtX2luZGV4U2l6ZSAtIDEpCi0gICAgLCBtX2lu
ZGV4KHN0YXRpY19jYXN0PHVuc2lnbmVkKj4oZmFzdFplcm9lZE1hbGxvYyhkYXRhU2l6ZSgpKSkp
Ci0gICAgLCBtX2tleUNvdW50KDApCi0gICAgLCBtX2RlbGV0ZWRDb3VudCgwKQotewotICAgIEFT
U0VSVChpc1Bvd2VyT2YyKG1faW5kZXhTaXplKSk7Ci19Ci0KLVByb3BlcnR5VGFibGU6OlByb3Bl
cnR5VGFibGUoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBKU0NlbGwqIG93bmVyLCBjb25zdCBQ
cm9wZXJ0eVRhYmxlJiBvdGhlcikKLSAgICA6IEpTQ2VsbChnbG9iYWxEYXRhLCBnbG9iYWxEYXRh
LnByb3BlcnR5VGFibGVTdHJ1Y3R1cmUuZ2V0KCkpCi0gICAgLCBtX2luZGV4U2l6ZShvdGhlci5t
X2luZGV4U2l6ZSkKLSAgICAsIG1faW5kZXhNYXNrKG90aGVyLm1faW5kZXhNYXNrKQotICAgICwg
bV9pbmRleChzdGF0aWNfY2FzdDx1bnNpZ25lZCo+KGZhc3RNYWxsb2MoZGF0YVNpemUoKSkpKQot
ICAgICwgbV9rZXlDb3VudChvdGhlci5tX2tleUNvdW50KQotICAgICwgbV9kZWxldGVkQ291bnQo
b3RoZXIubV9kZWxldGVkQ291bnQpCi17Ci0gICAgQVNTRVJUKGlzUG93ZXJPZjIobV9pbmRleFNp
emUpKTsKLQotICAgIG1lbWNweShtX2luZGV4LCBvdGhlci5tX2luZGV4LCBkYXRhU2l6ZSgpKTsK
LQotICAgIGl0ZXJhdG9yIGVuZCA9IHRoaXMtPmVuZCgpOwotICAgIGZvciAoaXRlcmF0b3IgaXRl
ciA9IGJlZ2luKCk7IGl0ZXIgIT0gZW5kOyArK2l0ZXIpIHsKLSAgICAgICAgaXRlci0+a2V5LT5y
ZWYoKTsKLSAgICAgICAgSGVhcDo6d3JpdGVCYXJyaWVyKG93bmVyLCBpdGVyLT5zcGVjaWZpY1Zh
bHVlLmdldCgpKTsKLSAgICB9Ci0KLSAgICAvLyBDb3B5IHRoZSBtX2RlbGV0ZWRPZmZzZXRzIHZl
Y3Rvci4KLSAgICBWZWN0b3I8UHJvcGVydHlPZmZzZXQ+KiBvdGhlckRlbGV0ZWRPZmZzZXRzID0g
b3RoZXIubV9kZWxldGVkT2Zmc2V0cy5nZXQoKTsKLSAgICBpZiAob3RoZXJEZWxldGVkT2Zmc2V0
cykKLSAgICAgICAgbV9kZWxldGVkT2Zmc2V0cyA9IGFkb3B0UHRyKG5ldyBWZWN0b3I8UHJvcGVy
dHlPZmZzZXQ+KCpvdGhlckRlbGV0ZWRPZmZzZXRzKSk7Ci19Ci0KLVByb3BlcnR5VGFibGU6OlBy
b3BlcnR5VGFibGUoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBKU0NlbGwqIG93bmVyLCB1bnNp
Z25lZCBpbml0aWFsQ2FwYWNpdHksIGNvbnN0IFByb3BlcnR5VGFibGUmIG90aGVyKQotICAgIDog
SlNDZWxsKGdsb2JhbERhdGEsIGdsb2JhbERhdGEucHJvcGVydHlUYWJsZVN0cnVjdHVyZS5nZXQo
KSkKLSAgICAsIG1faW5kZXhTaXplKHNpemVGb3JDYXBhY2l0eShpbml0aWFsQ2FwYWNpdHkpKQot
ICAgICwgbV9pbmRleE1hc2sobV9pbmRleFNpemUgLSAxKQotICAgICwgbV9pbmRleChzdGF0aWNf
Y2FzdDx1bnNpZ25lZCo+KGZhc3RaZXJvZWRNYWxsb2MoZGF0YVNpemUoKSkpKQotICAgICwgbV9r
ZXlDb3VudCgwKQotICAgICwgbV9kZWxldGVkQ291bnQoMCkKLXsKLSAgICBBU1NFUlQoaXNQb3dl
ck9mMihtX2luZGV4U2l6ZSkpOwotICAgIEFTU0VSVChpbml0aWFsQ2FwYWNpdHkgPj0gb3RoZXIu
bV9rZXlDb3VudCk7Ci0KLSAgICBjb25zdF9pdGVyYXRvciBlbmQgPSBvdGhlci5lbmQoKTsKLSAg
ICBmb3IgKGNvbnN0X2l0ZXJhdG9yIGl0ZXIgPSBvdGhlci5iZWdpbigpOyBpdGVyICE9IGVuZDsg
KytpdGVyKSB7Ci0gICAgICAgIEFTU0VSVChjYW5JbnNlcnQoKSk7Ci0gICAgICAgIHJlaW5zZXJ0
KCppdGVyKTsKLSAgICAgICAgaXRlci0+a2V5LT5yZWYoKTsKLSAgICAgICAgSGVhcDo6d3JpdGVC
YXJyaWVyKG93bmVyLCBpdGVyLT5zcGVjaWZpY1ZhbHVlLmdldCgpKTsKLSAgICB9Ci0KLSAgICAv
LyBDb3B5IHRoZSBtX2RlbGV0ZWRPZmZzZXRzIHZlY3Rvci4KLSAgICBWZWN0b3I8UHJvcGVydHlP
ZmZzZXQ+KiBvdGhlckRlbGV0ZWRPZmZzZXRzID0gb3RoZXIubV9kZWxldGVkT2Zmc2V0cy5nZXQo
KTsKLSAgICBpZiAob3RoZXJEZWxldGVkT2Zmc2V0cykKLSAgICAgICAgbV9kZWxldGVkT2Zmc2V0
cyA9IGFkb3B0UHRyKG5ldyBWZWN0b3I8UHJvcGVydHlPZmZzZXQ+KCpvdGhlckRlbGV0ZWRPZmZz
ZXRzKSk7Ci19Ci0KLXZvaWQgUHJvcGVydHlUYWJsZTo6ZGVzdHJveShKU0NlbGwqIGNlbGwpCi17
Ci0gICAgc3RhdGljX2Nhc3Q8UHJvcGVydHlUYWJsZSo+KGNlbGwpLT5Qcm9wZXJ0eVRhYmxlOjp+
UHJvcGVydHlUYWJsZSgpOwotfQotCi1Qcm9wZXJ0eVRhYmxlOjp+UHJvcGVydHlUYWJsZSgpCi17
Ci0gICAgaXRlcmF0b3IgZW5kID0gdGhpcy0+ZW5kKCk7Ci0gICAgZm9yIChpdGVyYXRvciBpdGVy
ID0gYmVnaW4oKTsgaXRlciAhPSBlbmQ7ICsraXRlcikKLSAgICAgICAgaXRlci0+a2V5LT5kZXJl
ZigpOwotCi0gICAgZmFzdEZyZWUobV9pbmRleCk7Ci19Ci0KLXZvaWQgUHJvcGVydHlUYWJsZTo6
dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQotewotICAg
IFByb3BlcnR5VGFibGUqIHRoaXNPYmplY3QgPSBqc0Nhc3Q8UHJvcGVydHlUYWJsZSo+KGNlbGwp
OwotICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFModGhpc09iamVjdCwgJnNfaW5mbyk7Ci0g
ICAgQVNTRVJUKHRoaXNPYmplY3QtPnN0cnVjdHVyZSgpLT50eXBlSW5mbygpLm92ZXJyaWRlc1Zp
c2l0Q2hpbGRyZW4oKSk7Ci0KLSAgICBKU0NlbGw6OnZpc2l0Q2hpbGRyZW4odGhpc09iamVjdCwg
dmlzaXRvcik7Ci0KLSAgICBQcm9wZXJ0eVRhYmxlOjppdGVyYXRvciBlbmQgPSB0aGlzT2JqZWN0
LT5lbmQoKTsKLSAgICBmb3IgKFByb3BlcnR5VGFibGU6Oml0ZXJhdG9yIHB0ciA9IHRoaXNPYmpl
Y3QtPmJlZ2luKCk7IHB0ciAhPSBlbmQ7ICsrcHRyKQotICAgICAgICB2aXNpdG9yLmFwcGVuZCgm
cHRyLT5zcGVjaWZpY1ZhbHVlKTsKLX0KLQotfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1N0cnVjdHVyZS5jcHAKaW5kZXggZmM2OWEwMWZjMjA4ODUwMjY1YTBmNWU4OTQ4YmRlZDAz
NWE4MzE0OC4uYjc5YzEwNmVmYzBiY2E5NjhmMzIwZDFjNzY0OTAxMGVlZmVhOTEyMyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwCkBAIC0yNDcsNyArMjQ3
LDcgQEAgdm9pZCBTdHJ1Y3R1cmU6Om1hdGVyaWFsaXplUHJvcGVydHlNYXAoSlNHbG9iYWxEYXRh
JiBnbG9iYWxEYXRhKQogICAgICAgICAgICAgQVNTRVJUKHN0cnVjdHVyZS0+bV9wcm9wZXJ0eVRh
YmxlKTsKICAgICAgICAgICAgIEFTU0VSVCghc3RydWN0dXJlLT5wcmV2aW91c0lEKCkpOwogCi0g
ICAgICAgICAgICBtX3Byb3BlcnR5VGFibGUuc2V0KGdsb2JhbERhdGEsIHRoaXMsIHN0cnVjdHVy
ZS0+bV9wcm9wZXJ0eVRhYmxlLT5jb3B5KGdsb2JhbERhdGEsIDAsIG51bWJlck9mU2xvdHNGb3JM
YXN0T2Zmc2V0KG1fb2Zmc2V0LCBtX2lubGluZUNhcGFjaXR5KSkpOworICAgICAgICAgICAgbV9w
cm9wZXJ0eVRhYmxlID0gc3RydWN0dXJlLT5tX3Byb3BlcnR5VGFibGUtPmNvcHkoZ2xvYmFsRGF0
YSwgMCwgbnVtYmVyT2ZTbG90c0Zvckxhc3RPZmZzZXQobV9vZmZzZXQsIG1faW5saW5lQ2FwYWNp
dHkpKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKQEAgLTI1NSw3ICsyNTUsNyBA
QCB2b2lkIFN0cnVjdHVyZTo6bWF0ZXJpYWxpemVQcm9wZXJ0eU1hcChKU0dsb2JhbERhdGEmIGds
b2JhbERhdGEpCiAgICAgfQogCiAgICAgaWYgKCFtX3Byb3BlcnR5VGFibGUpCi0gICAgICAgIGNy
ZWF0ZVByb3BlcnR5TWFwKGdsb2JhbERhdGEsIG51bWJlck9mU2xvdHNGb3JMYXN0T2Zmc2V0KG1f
b2Zmc2V0LCBtX2lubGluZUNhcGFjaXR5KSk7CisgICAgICAgIGNyZWF0ZVByb3BlcnR5TWFwKG51
bWJlck9mU2xvdHNGb3JMYXN0T2Zmc2V0KG1fb2Zmc2V0LCBtX2lubGluZUNhcGFjaXR5KSk7CiAK
ICAgICBmb3IgKHB0cmRpZmZfdCBpID0gc3RydWN0dXJlcy5zaXplKCkgLSAxOyBpID49IDA7IC0t
aSkgewogICAgICAgICBzdHJ1Y3R1cmUgPSBzdHJ1Y3R1cmVzW2ldOwpAQCAtMzc2LDE2ICszNzYs
MTQgQEAgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmFkZFByb3BlcnR5VHJhbnNpdGlvbihKU0dsb2Jh
bERhdGEmIGdsb2JhbERhdGEsIFN0cnVjdHVyZSoKICAgICBpZiAoc3RydWN0dXJlLT5tX3Byb3Bl
cnR5VGFibGUpIHsKICAgICAgICAgc3RydWN0dXJlLT5jaGVja09mZnNldENvbnNpc3RlbmN5KCk7
CiAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPm1faXNQaW5uZWRQcm9wZXJ0eVRhYmxlKQotICAgICAg
ICAgICAgdHJhbnNpdGlvbi0+bV9wcm9wZXJ0eVRhYmxlLnNldChnbG9iYWxEYXRhLCB0cmFuc2l0
aW9uLCBzdHJ1Y3R1cmUtPm1fcHJvcGVydHlUYWJsZS0+Y29weShnbG9iYWxEYXRhLCB0cmFuc2l0
aW9uLCBzdHJ1Y3R1cmUtPm1fcHJvcGVydHlUYWJsZS0+c2l6ZSgpICsgMSkpOwotICAgICAgICBl
bHNlIHsKLSAgICAgICAgICAgIHRyYW5zaXRpb24tPm1fcHJvcGVydHlUYWJsZS5zZXQoZ2xvYmFs
RGF0YSwgdHJhbnNpdGlvbiwgc3RydWN0dXJlLT5tX3Byb3BlcnR5VGFibGUuZ2V0KCkpOwotICAg
ICAgICAgICAgc3RydWN0dXJlLT5tX3Byb3BlcnR5VGFibGUuY2xlYXIoKTsKLSAgICAgICAgfQor
ICAgICAgICAgICAgdHJhbnNpdGlvbi0+bV9wcm9wZXJ0eVRhYmxlID0gc3RydWN0dXJlLT5tX3By
b3BlcnR5VGFibGUtPmNvcHkoZ2xvYmFsRGF0YSwgdHJhbnNpdGlvbiwgc3RydWN0dXJlLT5tX3By
b3BlcnR5VGFibGUtPnNpemUoKSArIDEpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0cmFu
c2l0aW9uLT5tX3Byb3BlcnR5VGFibGUgPSBzdHJ1Y3R1cmUtPm1fcHJvcGVydHlUYWJsZS5yZWxl
YXNlKCk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgaWYgKHN0cnVjdHVyZS0+cHJldmlvdXNJRCgp
KQogICAgICAgICAgICAgdHJhbnNpdGlvbi0+bWF0ZXJpYWxpemVQcm9wZXJ0eU1hcChnbG9iYWxE
YXRhKTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgdHJhbnNpdGlvbi0+Y3JlYXRlUHJvcGVy
dHlNYXAoZ2xvYmFsRGF0YSk7CisgICAgICAgICAgICB0cmFuc2l0aW9uLT5jcmVhdGVQcm9wZXJ0
eU1hcCgpOwogICAgIH0KICAgICB0cmFuc2l0aW9uLT5tX29mZnNldCA9IHN0cnVjdHVyZS0+bV9v
ZmZzZXQ7CiAKQEAgLTQxNyw3ICs0MTUsNyBAQCBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6Y2hhbmdl
UHJvdG90eXBlVHJhbnNpdGlvbihKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIFN0cnVjdAogICAg
IHRyYW5zaXRpb24tPm1fcHJvdG90eXBlLnNldChnbG9iYWxEYXRhLCB0cmFuc2l0aW9uLCBwcm90
b3R5cGUpOwogCiAgICAgc3RydWN0dXJlLT5tYXRlcmlhbGl6ZVByb3BlcnR5TWFwSWZOZWNlc3Nh
cnkoZ2xvYmFsRGF0YSk7Ci0gICAgdHJhbnNpdGlvbi0+bV9wcm9wZXJ0eVRhYmxlLnNldChnbG9i
YWxEYXRhLCB0cmFuc2l0aW9uLCBzdHJ1Y3R1cmUtPmNvcHlQcm9wZXJ0eVRhYmxlRm9yUGlubmlu
ZyhnbG9iYWxEYXRhLCB0cmFuc2l0aW9uKSk7CisgICAgdHJhbnNpdGlvbi0+bV9wcm9wZXJ0eVRh
YmxlID0gc3RydWN0dXJlLT5jb3B5UHJvcGVydHlUYWJsZUZvclBpbm5pbmcoZ2xvYmFsRGF0YSwg
dHJhbnNpdGlvbik7CiAgICAgdHJhbnNpdGlvbi0+bV9vZmZzZXQgPSBzdHJ1Y3R1cmUtPm1fb2Zm
c2V0OwogICAgIHRyYW5zaXRpb24tPnBpbigpOwogCkBAIC00MzMsNyArNDMxLDcgQEAgU3RydWN0
dXJlKiBTdHJ1Y3R1cmU6OmRlc3BlY2lmeUZ1bmN0aW9uVHJhbnNpdGlvbihKU0dsb2JhbERhdGEm
IGdsb2JhbERhdGEsIFN0cnUKICAgICArK3RyYW5zaXRpb24tPm1fc3BlY2lmaWNGdW5jdGlvblRo
cmFzaENvdW50OwogCiAgICAgc3RydWN0dXJlLT5tYXRlcmlhbGl6ZVByb3BlcnR5TWFwSWZOZWNl
c3NhcnkoZ2xvYmFsRGF0YSk7Ci0gICAgdHJhbnNpdGlvbi0+bV9wcm9wZXJ0eVRhYmxlLnNldChn
bG9iYWxEYXRhLCB0cmFuc2l0aW9uLCBzdHJ1Y3R1cmUtPmNvcHlQcm9wZXJ0eVRhYmxlRm9yUGlu
bmluZyhnbG9iYWxEYXRhLCB0cmFuc2l0aW9uKSk7CisgICAgdHJhbnNpdGlvbi0+bV9wcm9wZXJ0
eVRhYmxlID0gc3RydWN0dXJlLT5jb3B5UHJvcGVydHlUYWJsZUZvclBpbm5pbmcoZ2xvYmFsRGF0
YSwgdHJhbnNpdGlvbik7CiAgICAgdHJhbnNpdGlvbi0+bV9vZmZzZXQgPSBzdHJ1Y3R1cmUtPm1f
b2Zmc2V0OwogICAgIHRyYW5zaXRpb24tPnBpbigpOwogCkBAIC00NTQsNyArNDUyLDcgQEAgU3Ry
dWN0dXJlKiBTdHJ1Y3R1cmU6OmF0dHJpYnV0ZUNoYW5nZVRyYW5zaXRpb24oSlNHbG9iYWxEYXRh
JiBnbG9iYWxEYXRhLCBTdHJ1Y3QKICAgICAgICAgU3RydWN0dXJlKiB0cmFuc2l0aW9uID0gY3Jl
YXRlKGdsb2JhbERhdGEsIHN0cnVjdHVyZSk7CiAKICAgICAgICAgc3RydWN0dXJlLT5tYXRlcmlh
bGl6ZVByb3BlcnR5TWFwSWZOZWNlc3NhcnkoZ2xvYmFsRGF0YSk7Ci0gICAgICAgIHRyYW5zaXRp
b24tPm1fcHJvcGVydHlUYWJsZS5zZXQoZ2xvYmFsRGF0YSwgdHJhbnNpdGlvbiwgc3RydWN0dXJl
LT5jb3B5UHJvcGVydHlUYWJsZUZvclBpbm5pbmcoZ2xvYmFsRGF0YSwgdHJhbnNpdGlvbikpOwor
ICAgICAgICB0cmFuc2l0aW9uLT5tX3Byb3BlcnR5VGFibGUgPSBzdHJ1Y3R1cmUtPmNvcHlQcm9w
ZXJ0eVRhYmxlRm9yUGlubmluZyhnbG9iYWxEYXRhLCB0cmFuc2l0aW9uKTsKICAgICAgICAgdHJh
bnNpdGlvbi0+bV9vZmZzZXQgPSBzdHJ1Y3R1cmUtPm1fb2Zmc2V0OwogICAgICAgICB0cmFuc2l0
aW9uLT5waW4oKTsKICAgICAgICAgCkBAIC00NzcsNyArNDc1LDcgQEAgU3RydWN0dXJlKiBTdHJ1
Y3R1cmU6OnRvRGljdGlvbmFyeVRyYW5zaXRpb24oSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBT
dHJ1Y3R1cmUKICAgICBTdHJ1Y3R1cmUqIHRyYW5zaXRpb24gPSBjcmVhdGUoZ2xvYmFsRGF0YSwg
c3RydWN0dXJlKTsKIAogICAgIHN0cnVjdHVyZS0+bWF0ZXJpYWxpemVQcm9wZXJ0eU1hcElmTmVj
ZXNzYXJ5KGdsb2JhbERhdGEpOwotICAgIHRyYW5zaXRpb24tPm1fcHJvcGVydHlUYWJsZS5zZXQo
Z2xvYmFsRGF0YSwgdHJhbnNpdGlvbiwgc3RydWN0dXJlLT5jb3B5UHJvcGVydHlUYWJsZUZvclBp
bm5pbmcoZ2xvYmFsRGF0YSwgdHJhbnNpdGlvbikpOworICAgIHRyYW5zaXRpb24tPm1fcHJvcGVy
dHlUYWJsZSA9IHN0cnVjdHVyZS0+Y29weVByb3BlcnR5VGFibGVGb3JQaW5uaW5nKGdsb2JhbERh
dGEsIHRyYW5zaXRpb24pOwogICAgIHRyYW5zaXRpb24tPm1fb2Zmc2V0ID0gc3RydWN0dXJlLT5t
X29mZnNldDsKICAgICB0cmFuc2l0aW9uLT5tX2RpY3Rpb25hcnlLaW5kID0ga2luZDsKICAgICB0
cmFuc2l0aW9uLT5waW4oKTsKQEAgLTUzNyw3ICs1MzUsNyBAQCBTdHJ1Y3R1cmUqIFN0cnVjdHVy
ZTo6cHJldmVudEV4dGVuc2lvbnNUcmFuc2l0aW9uKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwg
U3RydQogICAgIC8vIERvbid0IHNldCBtX29mZnNldCwgYXMgb25lIGNhbiBub3QgdHJhbnNpdGlv
biB0byB0aGlzLgogCiAgICAgc3RydWN0dXJlLT5tYXRlcmlhbGl6ZVByb3BlcnR5TWFwSWZOZWNl
c3NhcnkoZ2xvYmFsRGF0YSk7Ci0gICAgdHJhbnNpdGlvbi0+bV9wcm9wZXJ0eVRhYmxlLnNldChn
bG9iYWxEYXRhLCB0cmFuc2l0aW9uLCBzdHJ1Y3R1cmUtPmNvcHlQcm9wZXJ0eVRhYmxlRm9yUGlu
bmluZyhnbG9iYWxEYXRhLCB0cmFuc2l0aW9uKSk7CisgICAgdHJhbnNpdGlvbi0+bV9wcm9wZXJ0
eVRhYmxlID0gc3RydWN0dXJlLT5jb3B5UHJvcGVydHlUYWJsZUZvclBpbm5pbmcoZ2xvYmFsRGF0
YSwgdHJhbnNpdGlvbik7CiAgICAgdHJhbnNpdGlvbi0+bV9vZmZzZXQgPSBzdHJ1Y3R1cmUtPm1f
b2Zmc2V0OwogICAgIHRyYW5zaXRpb24tPm1fcHJldmVudEV4dGVuc2lvbnMgPSB0cnVlOwogICAg
IHRyYW5zaXRpb24tPnBpbigpOwpAQCAtNTc3LDE2ICs1NzUsMTQgQEAgU3RydWN0dXJlKiBTdHJ1
Y3R1cmU6Om5vblByb3BlcnR5VHJhbnNpdGlvbihKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIFN0
cnVjdHVyZSoKICAgICBpZiAoc3RydWN0dXJlLT5tX3Byb3BlcnR5VGFibGUpIHsKICAgICAgICAg
c3RydWN0dXJlLT5jaGVja09mZnNldENvbnNpc3RlbmN5KCk7CiAgICAgICAgIGlmIChzdHJ1Y3R1
cmUtPm1faXNQaW5uZWRQcm9wZXJ0eVRhYmxlKQotICAgICAgICAgICAgdHJhbnNpdGlvbi0+bV9w
cm9wZXJ0eVRhYmxlLnNldChnbG9iYWxEYXRhLCB0cmFuc2l0aW9uLCBzdHJ1Y3R1cmUtPm1fcHJv
cGVydHlUYWJsZS0+Y29weShnbG9iYWxEYXRhLCB0cmFuc2l0aW9uLCBzdHJ1Y3R1cmUtPm1fcHJv
cGVydHlUYWJsZS0+c2l6ZSgpICsgMSkpOwotICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIHRy
YW5zaXRpb24tPm1fcHJvcGVydHlUYWJsZS5zZXQoZ2xvYmFsRGF0YSwgdHJhbnNpdGlvbiwgc3Ry
dWN0dXJlLT5tX3Byb3BlcnR5VGFibGUuZ2V0KCkpOwotICAgICAgICAgICAgc3RydWN0dXJlLT5t
X3Byb3BlcnR5VGFibGUuY2xlYXIoKTsKLSAgICAgICAgfQorICAgICAgICAgICAgdHJhbnNpdGlv
bi0+bV9wcm9wZXJ0eVRhYmxlID0gc3RydWN0dXJlLT5tX3Byb3BlcnR5VGFibGUtPmNvcHkoZ2xv
YmFsRGF0YSwgdHJhbnNpdGlvbiwgc3RydWN0dXJlLT5tX3Byb3BlcnR5VGFibGUtPnNpemUoKSAr
IDEpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0cmFuc2l0aW9uLT5tX3Byb3BlcnR5VGFi
bGUgPSBzdHJ1Y3R1cmUtPm1fcHJvcGVydHlUYWJsZS5yZWxlYXNlKCk7CiAgICAgfSBlbHNlIHsK
ICAgICAgICAgaWYgKHN0cnVjdHVyZS0+cHJldmlvdXNJRCgpKQogICAgICAgICAgICAgdHJhbnNp
dGlvbi0+bWF0ZXJpYWxpemVQcm9wZXJ0eU1hcChnbG9iYWxEYXRhKTsKICAgICAgICAgZWxzZQot
ICAgICAgICAgICAgdHJhbnNpdGlvbi0+Y3JlYXRlUHJvcGVydHlNYXAoZ2xvYmFsRGF0YSk7Cisg
ICAgICAgICAgICB0cmFuc2l0aW9uLT5jcmVhdGVQcm9wZXJ0eU1hcCgpOwogICAgIH0KICAgICAK
ICAgICBzdHJ1Y3R1cmUtPm1fdHJhbnNpdGlvblRhYmxlLmFkZChnbG9iYWxEYXRhLCB0cmFuc2l0
aW9uKTsKQEAgLTc0MSwxOCArNzM3LDE0IEBAIGlubGluZSB2b2lkIFN0cnVjdHVyZTo6Y2hlY2tD
b25zaXN0ZW5jeSgpCiAKICNlbmRpZgogCi1Qcm9wZXJ0eVRhYmxlKiBTdHJ1Y3R1cmU6OmNvcHlQ
cm9wZXJ0eVRhYmxlKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgU3RydWN0dXJlKiBvd25lcikK
K1Bhc3NPd25QdHI8UHJvcGVydHlUYWJsZT4gU3RydWN0dXJlOjpjb3B5UHJvcGVydHlUYWJsZShK
U0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIFN0cnVjdHVyZSogb3duZXIpCiB7Ci0gICAgaWYgKCFt
X3Byb3BlcnR5VGFibGUpCi0gICAgICAgIHJldHVybiAwOwotICAgIHJldHVybiBQcm9wZXJ0eVRh
YmxlOjpjbG9uZShnbG9iYWxEYXRhLCBvd25lciwgKm1fcHJvcGVydHlUYWJsZS5nZXQoKSk7Cisg
ICAgcmV0dXJuIGFkb3B0UHRyKG1fcHJvcGVydHlUYWJsZSA/IG5ldyBQcm9wZXJ0eVRhYmxlKGds
b2JhbERhdGEsIG93bmVyLCAqbV9wcm9wZXJ0eVRhYmxlKSA6IDApOwogfQogCi1Qcm9wZXJ0eVRh
YmxlKiBTdHJ1Y3R1cmU6OmNvcHlQcm9wZXJ0eVRhYmxlRm9yUGlubmluZyhKU0dsb2JhbERhdGEm
IGdsb2JhbERhdGEsIFN0cnVjdHVyZSogb3duZXIpCitQYXNzT3duUHRyPFByb3BlcnR5VGFibGU+
IFN0cnVjdHVyZTo6Y29weVByb3BlcnR5VGFibGVGb3JQaW5uaW5nKEpTR2xvYmFsRGF0YSYgZ2xv
YmFsRGF0YSwgU3RydWN0dXJlKiBvd25lcikKIHsKLSAgICBpZiAobV9wcm9wZXJ0eVRhYmxlKQot
ICAgICAgICByZXR1cm4gUHJvcGVydHlUYWJsZTo6Y2xvbmUoZ2xvYmFsRGF0YSwgb3duZXIsICpt
X3Byb3BlcnR5VGFibGUuZ2V0KCkpOwotICAgIHJldHVybiBQcm9wZXJ0eVRhYmxlOjpjcmVhdGUo
Z2xvYmFsRGF0YSwgbnVtYmVyT2ZTbG90c0Zvckxhc3RPZmZzZXQobV9vZmZzZXQsIG1faW5saW5l
Q2FwYWNpdHkpKTsKKyAgICByZXR1cm4gYWRvcHRQdHIobV9wcm9wZXJ0eVRhYmxlID8gbmV3IFBy
b3BlcnR5VGFibGUoZ2xvYmFsRGF0YSwgb3duZXIsICptX3Byb3BlcnR5VGFibGUpIDogbmV3IFBy
b3BlcnR5VGFibGUobnVtYmVyT2ZTbG90c0Zvckxhc3RPZmZzZXQobV9vZmZzZXQsIG1faW5saW5l
Q2FwYWNpdHkpKSk7CiB9CiAKIFByb3BlcnR5T2Zmc2V0IFN0cnVjdHVyZTo6Z2V0KEpTR2xvYmFs
RGF0YSYgZ2xvYmFsRGF0YSwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgdW5zaWduZWQmIGF0
dHJpYnV0ZXMsIEpTQ2VsbComIHNwZWNpZmljVmFsdWUpCkBAIC04MDksNyArODAxLDcgQEAgUHJv
cGVydHlPZmZzZXQgU3RydWN0dXJlOjpwdXRTcGVjaWZpY1ZhbHVlKEpTR2xvYmFsRGF0YSYgZ2xv
YmFsRGF0YSwgUHJvcGVydHlOYW0KICAgICBTdHJpbmdJbXBsKiByZXAgPSBwcm9wZXJ0eU5hbWUu
dWlkKCk7CiAKICAgICBpZiAoIW1fcHJvcGVydHlUYWJsZSkKLSAgICAgICAgY3JlYXRlUHJvcGVy
dHlNYXAoZ2xvYmFsRGF0YSk7CisgICAgICAgIGNyZWF0ZVByb3BlcnR5TWFwKCk7CiAKICAgICBQ
cm9wZXJ0eU9mZnNldCBuZXdPZmZzZXQgPSBtX3Byb3BlcnR5VGFibGUtPm5leHRPZmZzZXQobV9p
bmxpbmVDYXBhY2l0eSk7CiAKQEAgLTg0MSwxMiArODMzLDEyIEBAIFByb3BlcnR5T2Zmc2V0IFN0
cnVjdHVyZTo6cmVtb3ZlKFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpCiAgICAgcmV0dXJuIG9m
ZnNldDsKIH0KIAotdm9pZCBTdHJ1Y3R1cmU6OmNyZWF0ZVByb3BlcnR5TWFwKEpTR2xvYmFsRGF0
YSYgZ2xvYmFsRGF0YSwgdW5zaWduZWQgY2FwYWNpdHkpCit2b2lkIFN0cnVjdHVyZTo6Y3JlYXRl
UHJvcGVydHlNYXAodW5zaWduZWQgY2FwYWNpdHkpCiB7CiAgICAgQVNTRVJUKCFtX3Byb3BlcnR5
VGFibGUpOwogCiAgICAgY2hlY2tDb25zaXN0ZW5jeSgpOwotICAgIG1fcHJvcGVydHlUYWJsZS5z
ZXQoZ2xvYmFsRGF0YSwgdGhpcywgUHJvcGVydHlUYWJsZTo6Y3JlYXRlKGdsb2JhbERhdGEsIGNh
cGFjaXR5KSk7CisgICAgbV9wcm9wZXJ0eVRhYmxlID0gYWRvcHRQdHIobmV3IFByb3BlcnR5VGFi
bGUoY2FwYWNpdHkpKTsKIH0KIAogdm9pZCBTdHJ1Y3R1cmU6OmdldFByb3BlcnR5TmFtZXNGcm9t
U3RydWN0dXJlKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgUHJvcGVydHlOYW1lQXJyYXkmIHBy
b3BlcnR5TmFtZXMsIEVudW1lcmF0aW9uTW9kZSBtb2RlKQpAQCAtODkwLDEyICs4ODIsMTEgQEAg
dm9pZCBTdHJ1Y3R1cmU6OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRvciYg
dmlzaXRvcikKICAgICB9CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fcHJldmlv
dXNPclJhcmVEYXRhKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9zcGVjaWZp
Y1ZhbHVlSW5QcmV2aW91cyk7Ci0KLSAgICBpZiAodGhpc09iamVjdC0+bV9pc1Bpbm5lZFByb3Bl
cnR5VGFibGUpIHsKLSAgICAgICAgQVNTRVJUKHRoaXNPYmplY3QtPm1fcHJvcGVydHlUYWJsZSk7
Ci0gICAgICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX3Byb3BlcnR5VGFibGUpOwot
ICAgIH0gZWxzZSBpZiAodGhpc09iamVjdC0+bV9wcm9wZXJ0eVRhYmxlKQotICAgICAgICB0aGlz
T2JqZWN0LT5tX3Byb3BlcnR5VGFibGUuY2xlYXIoKTsKKyAgICBpZiAodGhpc09iamVjdC0+bV9w
cm9wZXJ0eVRhYmxlKSB7CisgICAgICAgIFByb3BlcnR5VGFibGU6Oml0ZXJhdG9yIGVuZCA9IHRo
aXNPYmplY3QtPm1fcHJvcGVydHlUYWJsZS0+ZW5kKCk7CisgICAgICAgIGZvciAoUHJvcGVydHlU
YWJsZTo6aXRlcmF0b3IgcHRyID0gdGhpc09iamVjdC0+bV9wcm9wZXJ0eVRhYmxlLT5iZWdpbigp
OyBwdHIgIT0gZW5kOyArK3B0cikKKyAgICAgICAgICAgIHZpc2l0b3IuYXBwZW5kKCZwdHItPnNw
ZWNpZmljVmFsdWUpOworICAgIH0KIH0KIAogYm9vbCBTdHJ1Y3R1cmU6OnByb3RvdHlwZUNoYWlu
TWF5SW50ZXJjZXB0U3RvcmVUbyhKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIFByb3BlcnR5TmFt
ZSBwcm9wZXJ0eU5hbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TdHJ1Y3R1cmUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5o
CmluZGV4IDdjYWI4YmUzM2M3ZjI1YjIyNzg1ZDgyZTU2ZDJmYTIzZDM0MTgxZTguLjIzNTljNmNh
YzhkMjBlMzhlYjk2ZGYxNDQzMmY3ZjI0MzVhZWJjMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1N0cnVjdHVyZS5oCkBAIC0zMSwxNSArMzEsMTYgQEAKICNpbmNsdWRlICJKU0NK
U1ZhbHVlLmgiCiAjaW5jbHVkZSAiSlNDZWxsLmgiCiAjaW5jbHVkZSAiSlNUeXBlLmgiCisjaW5j
bHVkZSAiUHJvcGVydHlNYXBIYXNoVGFibGUuaCIKICNpbmNsdWRlICJQcm9wZXJ0eU5hbWUuaCIK
ICNpbmNsdWRlICJQcm9wZXJ0eU5hbWVBcnJheS5oIgotI2luY2x1ZGUgIlByb3BlcnR5T2Zmc2V0
LmgiCiAjaW5jbHVkZSAiUHJvdGVjdC5oIgogI2luY2x1ZGUgIlN0cnVjdHVyZVJhcmVEYXRhLmgi
CiAjaW5jbHVkZSAiU3RydWN0dXJlVHJhbnNpdGlvblRhYmxlLmgiCiAjaW5jbHVkZSAiSlNUeXBl
SW5mby5oIgogI2luY2x1ZGUgIldhdGNocG9pbnQuaCIKICNpbmNsdWRlICJXZWFrLmgiCisjaW5j
bHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2lu
Y2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSW1wbC5o
PgpAQCAtNTAsNyArNTEsNiBAQCBuYW1lc3BhY2UgSlNDIHsKIGNsYXNzIExMSW50T2Zmc2V0c0V4
dHJhY3RvcjsKIGNsYXNzIFByb3BlcnR5TmFtZUFycmF5OwogY2xhc3MgUHJvcGVydHlOYW1lQXJy
YXlEYXRhOwotY2xhc3MgUHJvcGVydHlUYWJsZTsKIGNsYXNzIFN0cnVjdHVyZUNoYWluOwogY2xh
c3MgU2xvdFZpc2l0b3I7CiBjbGFzcyBKU1N0cmluZzsKQEAgLTEwOCw3ICsxMDgsMjUgQEAgcHVi
bGljOgogICAgIGJvb2wgaXNGcm96ZW4oSlNHbG9iYWxEYXRhJik7CiAgICAgYm9vbCBpc0V4dGVu
c2libGUoKSBjb25zdCB7IHJldHVybiAhbV9wcmV2ZW50RXh0ZW5zaW9uczsgfQogICAgIGJvb2wg
ZGlkVHJhbnNpdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fZGlkVHJhbnNpdGlvbjsgfQotICAgIGJv
b2wgcHV0V2lsbEdyb3dPdXRPZkxpbmVTdG9yYWdlKCk7CisgICAgYm9vbCBwdXRXaWxsR3Jvd091
dE9mTGluZVN0b3JhZ2UoKQorICAgIHsKKyAgICAgICAgY2hlY2tPZmZzZXRDb25zaXN0ZW5jeSgp
OworICAgICAgICAgICAgCisgICAgICAgIEFTU0VSVChvdXRPZkxpbmVDYXBhY2l0eSgpID49IG91
dE9mTGluZVNpemUoKSk7CisgICAgICAgICAgICAKKyAgICAgICAgaWYgKCFtX3Byb3BlcnR5VGFi
bGUpIHsKKyAgICAgICAgICAgIHVuc2lnbmVkIGN1cnJlbnRTaXplID0gbnVtYmVyT2ZPdXRPZkxp
bmVTbG90c0Zvckxhc3RPZmZzZXQobV9vZmZzZXQpOworICAgICAgICAgICAgQVNTRVJUKG91dE9m
TGluZUNhcGFjaXR5KCkgPj0gY3VycmVudFNpemUpOworICAgICAgICAgICAgcmV0dXJuIGN1cnJl
bnRTaXplID09IG91dE9mTGluZUNhcGFjaXR5KCk7CisgICAgICAgIH0KKyAgICAgICAgICAgIAor
ICAgICAgICBBU1NFUlQodG90YWxTdG9yYWdlQ2FwYWNpdHkoKSA+PSBtX3Byb3BlcnR5VGFibGUt
PnByb3BlcnR5U3RvcmFnZVNpemUoKSk7CisgICAgICAgIGlmIChtX3Byb3BlcnR5VGFibGUtPmhh
c0RlbGV0ZWRPZmZzZXQoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAg
IAorICAgICAgICBBU1NFUlQodG90YWxTdG9yYWdlQ2FwYWNpdHkoKSA+PSBtX3Byb3BlcnR5VGFi
bGUtPnNpemUoKSk7CisgICAgICAgIHJldHVybiBtX3Byb3BlcnR5VGFibGUtPnNpemUoKSA9PSB0
b3RhbFN0b3JhZ2VDYXBhY2l0eSgpOworICAgIH0KICAgICBKU19FWFBPUlRfUFJJVkFURSBzaXpl
X3Qgc3VnZ2VzdGVkTmV3T3V0T2ZMaW5lU3RvcmFnZUNhcGFjaXR5KCk7IAogCiAgICAgU3RydWN0
dXJlKiBmbGF0dGVuRGljdGlvbmFyeVN0cnVjdHVyZShKU0dsb2JhbERhdGEmLCBKU09iamVjdCop
OwpAQCAtMzY0LDE0ICszODIsMTQgQEAgcHJpdmF0ZToKICAgICBQcm9wZXJ0eU9mZnNldCBwdXRT
cGVjaWZpY1ZhbHVlKEpTR2xvYmFsRGF0YSYsIFByb3BlcnR5TmFtZSwgdW5zaWduZWQgYXR0cmli
dXRlcywgSlNDZWxsKiBzcGVjaWZpY1ZhbHVlKTsKICAgICBQcm9wZXJ0eU9mZnNldCByZW1vdmUo
UHJvcGVydHlOYW1lKTsKIAotICAgIHZvaWQgY3JlYXRlUHJvcGVydHlNYXAoSlNHbG9iYWxEYXRh
JiwgdW5zaWduZWQga2V5Q291bnQgPSAwKTsKKyAgICB2b2lkIGNyZWF0ZVByb3BlcnR5TWFwKHVu
c2lnbmVkIGtleUNvdW50ID0gMCk7CiAgICAgdm9pZCBjaGVja0NvbnNpc3RlbmN5KCk7CiAKICAg
ICBib29sIGRlc3BlY2lmeUZ1bmN0aW9uKEpTR2xvYmFsRGF0YSYsIFByb3BlcnR5TmFtZSk7CiAg
ICAgdm9pZCBkZXNwZWNpZnlBbGxGdW5jdGlvbnMoSlNHbG9iYWxEYXRhJik7CiAKLSAgICBQcm9w
ZXJ0eVRhYmxlKiBjb3B5UHJvcGVydHlUYWJsZShKU0dsb2JhbERhdGEmLCBTdHJ1Y3R1cmUqIG93
bmVyKTsKLSAgICBQcm9wZXJ0eVRhYmxlKiBjb3B5UHJvcGVydHlUYWJsZUZvclBpbm5pbmcoSlNH
bG9iYWxEYXRhJiwgU3RydWN0dXJlKiBvd25lcik7CisgICAgUGFzc093blB0cjxQcm9wZXJ0eVRh
YmxlPiBjb3B5UHJvcGVydHlUYWJsZShKU0dsb2JhbERhdGEmLCBTdHJ1Y3R1cmUqIG93bmVyKTsK
KyAgICBQYXNzT3duUHRyPFByb3BlcnR5VGFibGU+IGNvcHlQcm9wZXJ0eVRhYmxlRm9yUGlubmlu
ZyhKU0dsb2JhbERhdGEmLCBTdHJ1Y3R1cmUqIG93bmVyKTsKICAgICBKU19FWFBPUlRfUFJJVkFU
RSB2b2lkIG1hdGVyaWFsaXplUHJvcGVydHlNYXAoSlNHbG9iYWxEYXRhJik7CiAgICAgdm9pZCBt
YXRlcmlhbGl6ZVByb3BlcnR5TWFwSWZOZWNlc3NhcnkoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRh
KQogICAgIHsKQEAgLTQyNyw3ICs0NDUsMTkgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuIHN0
YXRpY19jYXN0PFN0cnVjdHVyZVJhcmVEYXRhKj4obV9wcmV2aW91c09yUmFyZURhdGEuZ2V0KCkp
OwogICAgIH0KICAgICAgICAgCi0gICAgYm9vbCBjaGVja09mZnNldENvbnNpc3RlbmN5KCkgY29u
c3Q7CisgICAgQUxXQVlTX0lOTElORSBib29sIGNoZWNrT2Zmc2V0Q29uc2lzdGVuY3koKSBjb25z
dAorICAgIHsKKyAgICAgICAgaWYgKCFtX3Byb3BlcnR5VGFibGUpIHsKKyAgICAgICAgICAgIEFT
U0VSVCghbV9pc1Bpbm5lZFByb3BlcnR5VGFibGUpOworICAgICAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICBSRUxFQVNFX0FTU0VSVChudW1iZXJP
ZlNsb3RzRm9yTGFzdE9mZnNldChtX29mZnNldCwgbV9pbmxpbmVDYXBhY2l0eSkgPT0gbV9wcm9w
ZXJ0eVRhYmxlLT5wcm9wZXJ0eVN0b3JhZ2VTaXplKCkpOworICAgICAgICB1bnNpZ25lZCB0b3Rh
bFNpemUgPSBtX3Byb3BlcnR5VGFibGUtPnByb3BlcnR5U3RvcmFnZVNpemUoKTsKKyAgICAgICAg
UkVMRUFTRV9BU1NFUlQoKHRvdGFsU2l6ZSA8IGlubGluZUNhcGFjaXR5KCkgPyAwIDogdG90YWxT
aXplIC0gaW5saW5lQ2FwYWNpdHkoKSkgPT0gbnVtYmVyT2ZPdXRPZkxpbmVTbG90c0Zvckxhc3RP
ZmZzZXQobV9vZmZzZXQpKTsKKyAgICAgICAgICAgIAorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICB9CiAKICAgICB2b2lkIGFsbG9jYXRlUmFyZURhdGEoSlNHbG9iYWxEYXRhJik7CiAgICAgdm9p
ZCBjbG9uZVJhcmVEYXRhRnJvbShKU0dsb2JhbERhdGEmLCBjb25zdCBTdHJ1Y3R1cmUqKTsKQEAg
LTQ1Miw3ICs0ODIsNyBAQCBwcml2YXRlOgogCiAgICAgU3RydWN0dXJlVHJhbnNpdGlvblRhYmxl
IG1fdHJhbnNpdGlvblRhYmxlOwogCi0gICAgV3JpdGVCYXJyaWVyPFByb3BlcnR5VGFibGU+IG1f
cHJvcGVydHlUYWJsZTsKKyAgICBPd25QdHI8UHJvcGVydHlUYWJsZT4gbV9wcm9wZXJ0eVRhYmxl
OwogCiAgICAgbXV0YWJsZSBJbmxpbmVXYXRjaHBvaW50U2V0IG1fdHJhbnNpdGlvbldhdGNocG9p
bnRTZXQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVj
dHVyZUlubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUlu
bGluZXMuaAppbmRleCAzNTZlMTNlZTUyYTgxNTk1NWQ2NDM2ZmFhYzhlMmJiODFjYjAwNzBjLi41
YmZkMmQ1NmFkNzU0M2UzNGM3OGMyZDQ5OTU0NThlODczMWVhYzdjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlSW5saW5lcy5oCkBAIC0yNiw3ICsyNiw2
IEBACiAjaWZuZGVmIFN0cnVjdHVyZUlubGluZXNfaAogI2RlZmluZSBTdHJ1Y3R1cmVJbmxpbmVz
X2gKIAotI2luY2x1ZGUgIlByb3BlcnR5TWFwSGFzaFRhYmxlLmgiCiAjaW5jbHVkZSAiU3RydWN0
dXJlLmgiCiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtMTgwLDQwICsxNzksNiBAQCBpbmxpbmUgYm9v
bCBTdHJ1Y3R1cmU6OmlzVmFsaWQoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVDaGFpbiogY2Fj
aGVkUHJvdG90eXBlQwogICAgIHJldHVybiBpc1ZhbGlkKGV4ZWMtPmxleGljYWxHbG9iYWxPYmpl
Y3QoKSwgY2FjaGVkUHJvdG90eXBlQ2hhaW4pOwogfQogCi1pbmxpbmUgYm9vbCBTdHJ1Y3R1cmU6
OnB1dFdpbGxHcm93T3V0T2ZMaW5lU3RvcmFnZSgpCi17Ci0gICAgY2hlY2tPZmZzZXRDb25zaXN0
ZW5jeSgpOwotCi0gICAgQVNTRVJUKG91dE9mTGluZUNhcGFjaXR5KCkgPj0gb3V0T2ZMaW5lU2l6
ZSgpKTsKLQotICAgIGlmICghbV9wcm9wZXJ0eVRhYmxlKSB7Ci0gICAgICAgIHVuc2lnbmVkIGN1
cnJlbnRTaXplID0gbnVtYmVyT2ZPdXRPZkxpbmVTbG90c0Zvckxhc3RPZmZzZXQobV9vZmZzZXQp
OwotICAgICAgICBBU1NFUlQob3V0T2ZMaW5lQ2FwYWNpdHkoKSA+PSBjdXJyZW50U2l6ZSk7Ci0g
ICAgICAgIHJldHVybiBjdXJyZW50U2l6ZSA9PSBvdXRPZkxpbmVDYXBhY2l0eSgpOwotICAgIH0K
LQotICAgIEFTU0VSVCh0b3RhbFN0b3JhZ2VDYXBhY2l0eSgpID49IG1fcHJvcGVydHlUYWJsZS0+
cHJvcGVydHlTdG9yYWdlU2l6ZSgpKTsKLSAgICBpZiAobV9wcm9wZXJ0eVRhYmxlLT5oYXNEZWxl
dGVkT2Zmc2V0KCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIEFTU0VSVCh0b3RhbFN0
b3JhZ2VDYXBhY2l0eSgpID49IG1fcHJvcGVydHlUYWJsZS0+c2l6ZSgpKTsKLSAgICByZXR1cm4g
bV9wcm9wZXJ0eVRhYmxlLT5zaXplKCkgPT0gdG90YWxTdG9yYWdlQ2FwYWNpdHkoKTsKLX0KLQot
QUxXQVlTX0lOTElORSBib29sIFN0cnVjdHVyZTo6Y2hlY2tPZmZzZXRDb25zaXN0ZW5jeSgpIGNv
bnN0Ci17Ci0gICAgaWYgKCFtX3Byb3BlcnR5VGFibGUpIHsKLSAgICAgICAgQVNTRVJUKCFtX2lz
UGlubmVkUHJvcGVydHlUYWJsZSk7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLQotICAg
IFJFTEVBU0VfQVNTRVJUKG51bWJlck9mU2xvdHNGb3JMYXN0T2Zmc2V0KG1fb2Zmc2V0LCBtX2lu
bGluZUNhcGFjaXR5KSA9PSBtX3Byb3BlcnR5VGFibGUtPnByb3BlcnR5U3RvcmFnZVNpemUoKSk7
Ci0gICAgdW5zaWduZWQgdG90YWxTaXplID0gbV9wcm9wZXJ0eVRhYmxlLT5wcm9wZXJ0eVN0b3Jh
Z2VTaXplKCk7Ci0gICAgUkVMRUFTRV9BU1NFUlQoKHRvdGFsU2l6ZSA8IGlubGluZUNhcGFjaXR5
KCkgPyAwIDogdG90YWxTaXplIC0gaW5saW5lQ2FwYWNpdHkoKSkgPT0gbnVtYmVyT2ZPdXRPZkxp
bmVTbG90c0Zvckxhc3RPZmZzZXQobV9vZmZzZXQpKTsKLQotICAgIHJldHVybiB0cnVlOwotfQot
CiB9IC8vIG5hbWVzcGFjZSBKU0MKIAogI2VuZGlmIC8vIFN0cnVjdHVyZUlubGluZXNfaAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>