<?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>146659</bug_id>
          
          <creation_ts>2015-07-06 16:15:23 -0700</creation_ts>
          <short_desc>[Content Extensions] Remove memory page reporting</short_desc>
          <delta_ts>2015-07-06 16:29:21 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</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="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1107260</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-07-06 16:15:23 -0700</bug_when>
    <thetext>The memory page reporting isn&apos;t correct, and it&apos;s adding noise to code I&apos;m working on.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1107263</commentid>
    <comment_count>1</comment_count>
      <attachid>256252</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-07-06 16:18:00 -0700</bug_when>
    <thetext>Created attachment 256252
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1107264</commentid>
    <comment_count>2</comment_count>
      <attachid>256252</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-07-06 16:21:31 -0700</bug_when>
    <thetext>Comment on attachment 256252
Patch

This is still being used.  We should correct it instead of removing it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1107265</commentid>
    <comment_count>3</comment_count>
      <attachid>256252</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2015-07-06 16:22:03 -0700</bug_when>
    <thetext>Comment on attachment 256252
Patch

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

&gt; Tools/TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:447
&gt; +TEST_F(ContentExtensionTest, DomainTriggersMatchingEverything)

Looks unrelated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1107270</commentid>
    <comment_count>4</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-07-06 16:29:21 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/186383</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>256252</attachid>
            <date>2015-07-06 16:18:00 -0700</date>
            <delta_ts>2015-07-06 16:22:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146659-20150706161702.patch</filename>
            <type>text/plain</type>
            <size>28133</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NjM4MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBACisyMDE1LTA3LTA2ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW0NvbnRlbnQg
RXh0ZW5zaW9uc10gUmVtb3ZlIG1lbW9yeSBwYWdlIHJlcG9ydGluZworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ2NjU5CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBjb250ZW50ZXh0ZW5zaW9ucy9Db21w
aWxlZENvbnRlbnRFeHRlbnNpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudEV4dGVu
c2lvbnM6OkNvbXBpbGVkQ29udGVudEV4dGVuc2lvbjo6fkNvbXBpbGVkQ29udGVudEV4dGVuc2lv
bik6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50RXh0ZW5zaW9uczo6Q29tcGlsZWRDb250ZW50
RXh0ZW5zaW9uOjpnbG9iYWxEaXNwbGF5Tm9uZVNlbGVjdG9ycyk6CisgICAgICAgICogY29udGVu
dGV4dGVuc2lvbnMvQ29tcGlsZWRDb250ZW50RXh0ZW5zaW9uLmg6CisgICAgICAgICogY29udGVu
dGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb250
ZW50RXh0ZW5zaW9uczo6Q29udGVudEV4dGVuc2lvbjo6Z2xvYmFsRGlzcGxheU5vbmVTdHlsZVNo
ZWV0KToKKyAgICAgICAgKiBjb250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpDb250ZW50RXh0ZW5zaW9uczo6Q29udGVudEV4dGVuc2lvbjo6Y29t
cGlsZWRFeHRlbnNpb24pOgorICAgICAgICAqIGNvbnRlbnRleHRlbnNpb25zL0NvbnRlbnRFeHRl
bnNpb25zQmFja2VuZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50RXh0ZW5zaW9uczo6
Q29udGVudEV4dGVuc2lvbnNCYWNrZW5kOjphY3Rpb25zRm9yUmVzb3VyY2VMb2FkKToKKyAgICAg
ICAgKiBjb250ZW50ZXh0ZW5zaW9ucy9ERkFCeXRlY29kZUludGVycHJldGVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNvbnRlbnRFeHRlbnNpb25zOjpnZXRCaXRzKToKKyAgICAgICAgKFdlYkNv
cmU6OkNvbnRlbnRFeHRlbnNpb25zOjpnZXRJbnN0cnVjdGlvbik6CisgICAgICAgIChXZWJDb3Jl
OjpDb250ZW50RXh0ZW5zaW9uczo6anVtcFNpemVJbkJ5dGVzKToKKyAgICAgICAgKFdlYkNvcmU6
OkNvbnRlbnRFeHRlbnNpb25zOjpnZXRKdW1wU2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpDb250
ZW50RXh0ZW5zaW9uczo6Z2V0SnVtcERpc3RhbmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRl
bnRFeHRlbnNpb25zOjpERkFCeXRlY29kZUludGVycHJldGVyOjppbnRlcnByZXRBcHBlbmRBY3Rp
b24pOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudEV4dGVuc2lvbnM6OkRGQUJ5dGVjb2RlSW50
ZXJwcmV0ZXI6OmludGVycHJldFRlc3RGbGFnc0FuZEFwcGVuZEFjdGlvbik6CisgICAgICAgIChX
ZWJDb3JlOjpDb250ZW50RXh0ZW5zaW9uczo6REZBQnl0ZWNvZGVJbnRlcnByZXRlcjo6YWN0aW9u
c0ZvckRlZmF1bHRTdHlsZXNoZWV0RnJvbURGQVJvb3QpOgorICAgICAgICAoV2ViQ29yZTo6Q29u
dGVudEV4dGVuc2lvbnM6OkRGQUJ5dGVjb2RlSW50ZXJwcmV0ZXI6OmludGVycHJldCk6CisgICAg
ICAgICogY29udGVudGV4dGVuc2lvbnMvREZBQnl0ZWNvZGVJbnRlcnByZXRlci5oOgorICAgICAg
ICBEb24ndCBrZWVwIHRyYWNrIG9mIG1lbW9yeSBwYWdlIHVzYWdlLiAgSXQgd2Fzbid0IGV2ZW4g
Y29ycmVjdCBhbnl3YXlzLgorCiAyMDE1LTA3LTA2ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlz
dGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW0NvbnRlbnQgRXh0ZW5zaW9uc10gSW5jcmVh
c2UgbWF4TkZBU2l6ZQpJbmRleDogU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvQ29t
cGlsZWRDb250ZW50RXh0ZW5zaW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9j
b250ZW50ZXh0ZW5zaW9ucy9Db21waWxlZENvbnRlbnRFeHRlbnNpb24uY3BwCShyZXZpc2lvbiAx
ODYzNzUpCisrKyBTb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db21waWxlZENvbnRl
bnRFeHRlbnNpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw5ICszNiw5IEBAIENvbXBpbGVk
Q29udGVudEV4dGVuc2lvbjo6fkNvbXBpbGVkQ29udGUKIHsKIH0KIAotVmVjdG9yPFN0cmluZz4g
Q29tcGlsZWRDb250ZW50RXh0ZW5zaW9uOjpnbG9iYWxEaXNwbGF5Tm9uZVNlbGVjdG9ycyhWZWN0
b3I8Ym9vbD4mIHBhZ2VzVXNlZCkKK1ZlY3RvcjxTdHJpbmc+IENvbXBpbGVkQ29udGVudEV4dGVu
c2lvbjo6Z2xvYmFsRGlzcGxheU5vbmVTZWxlY3RvcnMoKQogewotICAgIERGQUJ5dGVjb2RlSW50
ZXJwcmV0ZXIgaW50ZXJwcmV0ZXIoZmlsdGVyc1dpdGhvdXREb21haW5zQnl0ZWNvZGUoKSwgZmls
dGVyc1dpdGhvdXREb21haW5zQnl0ZWNvZGVMZW5ndGgoKSwgcGFnZXNVc2VkKTsKKyAgICBERkFC
eXRlY29kZUludGVycHJldGVyIGludGVycHJldGVyKGZpbHRlcnNXaXRob3V0RG9tYWluc0J5dGVj
b2RlKCksIGZpbHRlcnNXaXRob3V0RG9tYWluc0J5dGVjb2RlTGVuZ3RoKCkpOwogICAgIERGQUJ5
dGVjb2RlSW50ZXJwcmV0ZXI6OkFjdGlvbnMgYWN0aW9uTG9jYXRpb25zID0gaW50ZXJwcmV0ZXIu
YWN0aW9uc0ZvckRlZmF1bHRTdHlsZXNoZWV0RnJvbURGQVJvb3QoKTsKICAgICAKICAgICBWZWN0
b3I8QWN0aW9uPiBnbG9iYWxBY3Rpb25zOwpJbmRleDogU291cmNlL1dlYkNvcmUvY29udGVudGV4
dGVuc2lvbnMvQ29tcGlsZWRDb250ZW50RXh0ZW5zaW9uLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvQ29tcGlsZWRDb250ZW50RXh0ZW5zaW9uLmgJKHJl
dmlzaW9uIDE4NjM3NSkKKysrIFNvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0NvbXBp
bGVkQ29udGVudEV4dGVuc2lvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC00OCw3ICs0OCw3IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIHVuc2lnbmVkIGRvbWFpbkZpbHRlcnNCeXRlY29kZUxlbmd0aCgp
IGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGNvbnN0IFNlcmlhbGl6ZWRBY3Rpb25CeXRlKiBhY3Rp
b25zKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgdW5zaWduZWQgYWN0aW9uc0xlbmd0aCgpIGNv
bnN0ID0gMDsKLSAgICBWZWN0b3I8U3RyaW5nPiBnbG9iYWxEaXNwbGF5Tm9uZVNlbGVjdG9ycyhW
ZWN0b3I8Ym9vbD4mIHBhZ2VzVXNlZCk7CisgICAgVmVjdG9yPFN0cmluZz4gZ2xvYmFsRGlzcGxh
eU5vbmVTZWxlY3RvcnMoKTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIENvbnRlbnRFeHRlbnNpb25z
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9u
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250
ZW50RXh0ZW5zaW9uLmNwcAkocmV2aXNpb24gMTg2Mzc1KQorKysgU291cmNlL1dlYkNvcmUvY29u
dGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU1
LDcgKzU1LDcgQEAgU3R5bGVTaGVldENvbnRlbnRzKiBDb250ZW50RXh0ZW5zaW9uOjpnbAogCiAg
ICAgbV9wYXJzZWRHbG9iYWxEaXNwbGF5Tm9uZVN0eWxlU2hlZXQgPSB0cnVlOwogCi0gICAgVmVj
dG9yPFN0cmluZz4gc2VsZWN0b3JzID0gbV9jb21waWxlZEV4dGVuc2lvbi0+Z2xvYmFsRGlzcGxh
eU5vbmVTZWxlY3RvcnMobV9wYWdlc1VzZWQpOworICAgIFZlY3RvcjxTdHJpbmc+IHNlbGVjdG9y
cyA9IG1fY29tcGlsZWRFeHRlbnNpb24tPmdsb2JhbERpc3BsYXlOb25lU2VsZWN0b3JzKCk7CiAg
ICAgaWYgKHNlbGVjdG9ycy5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4
dGVuc2lvbi5oCShyZXZpc2lvbiAxODYzNzUpCisrKyBTb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0
ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDcgKzQ4LDYg
QEAgcHVibGljOgogICAgIGNvbnN0IENvbXBpbGVkQ29udGVudEV4dGVuc2lvbiYgY29tcGlsZWRF
eHRlbnNpb24oKSBjb25zdCB7IHJldHVybiBtX2NvbXBpbGVkRXh0ZW5zaW9uLmdldCgpOyB9CiAg
ICAgU3R5bGVTaGVldENvbnRlbnRzKiBnbG9iYWxEaXNwbGF5Tm9uZVN0eWxlU2hlZXQoKTsKIAot
ICAgIG11dGFibGUgVmVjdG9yPGJvb2w+IG1fcGFnZXNVc2VkOwogcHJpdmF0ZToKICAgICBDb250
ZW50RXh0ZW5zaW9uKGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgUmVmPENvbXBpbGVkQ29udGVu
dEV4dGVuc2lvbj4mJik7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25z
L0NvbnRlbnRFeHRlbnNpb25zQmFja2VuZC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvY29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lvbnNCYWNrZW5kLmNwcAkocmV2aXNp
b24gMTg2Mzc1KQorKysgU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4
dGVuc2lvbnNCYWNrZW5kLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODksMTYgKzg5LDE1IEBAIFZl
Y3RvcjxBY3Rpb24+IENvbnRlbnRFeHRlbnNpb25zQmFja2VuZDoKICAgICAgICAgUkVMRUFTRV9B
U1NFUlQoY29udGVudEV4dGVuc2lvbik7CiAgICAgICAgIGNvbnN0IENvbXBpbGVkQ29udGVudEV4
dGVuc2lvbiYgY29tcGlsZWRFeHRlbnNpb24gPSBjb250ZW50RXh0ZW5zaW9uLT5jb21waWxlZEV4
dGVuc2lvbigpOwogICAgICAgICAKLSAgICAgICAgLy8gRklYTUU6IFRoZXNlIHNob3VsZCB1c2Ug
YSBkaWZmZXJlbnQgVmVjdG9yPGJvb2w+IHRvIGtlZXAgdHJhY2sgb2Ygd2hpY2ggbWVtb3J5IHBh
Z2VzIGFyZSB1c2VkIHdoZW4gZG9pbmcgbWVtb3J5IHJlcG9ydGluZy4gT3IganVzdCByZW1vdmUg
dGhlIG1lbW9yeSByZXBvcnRpbmcgY29tcGxldGVseS4KLSAgICAgICAgREZBQnl0ZWNvZGVJbnRl
cnByZXRlciB3aXRob3V0RG9tYWluc0ludGVycHJldGVyKGNvbXBpbGVkRXh0ZW5zaW9uLmZpbHRl
cnNXaXRob3V0RG9tYWluc0J5dGVjb2RlKCksIGNvbXBpbGVkRXh0ZW5zaW9uLmZpbHRlcnNXaXRo
b3V0RG9tYWluc0J5dGVjb2RlTGVuZ3RoKCksIGNvbnRlbnRFeHRlbnNpb24tPm1fcGFnZXNVc2Vk
KTsKKyAgICAgICAgREZBQnl0ZWNvZGVJbnRlcnByZXRlciB3aXRob3V0RG9tYWluc0ludGVycHJl
dGVyKGNvbXBpbGVkRXh0ZW5zaW9uLmZpbHRlcnNXaXRob3V0RG9tYWluc0J5dGVjb2RlKCksIGNv
bXBpbGVkRXh0ZW5zaW9uLmZpbHRlcnNXaXRob3V0RG9tYWluc0J5dGVjb2RlTGVuZ3RoKCkpOwog
ICAgICAgICBERkFCeXRlY29kZUludGVycHJldGVyOjpBY3Rpb25zIHRyaWdnZXJlZEFjdGlvbnMg
PSB3aXRob3V0RG9tYWluc0ludGVycHJldGVyLmludGVycHJldCh1cmxDU3RyaW5nLCBmbGFncyk7
CiAgICAgICAgIAogICAgICAgICAvLyBDaGVjayB0byBzZWUgaWYgdGhlcmUgYXJlIGFueSBhY3Rp
b25zIHRyaWdnZXJlZCB3aXRoIGlmLSBvciB1bmxlc3MtZG9tYWluIGFuZCBjaGVjayB0aGUgZG9t
YWluIGlmIHRoZXJlIGFyZS4KLSAgICAgICAgREZBQnl0ZWNvZGVJbnRlcnByZXRlciB3aXRoRG9t
YWluc0ludGVycHJldGVyKGNvbXBpbGVkRXh0ZW5zaW9uLmZpbHRlcnNXaXRoRG9tYWluc0J5dGVj
b2RlKCksIGNvbXBpbGVkRXh0ZW5zaW9uLmZpbHRlcnNXaXRoRG9tYWluc0J5dGVjb2RlTGVuZ3Ro
KCksIGNvbnRlbnRFeHRlbnNpb24tPm1fcGFnZXNVc2VkKTsKKyAgICAgICAgREZBQnl0ZWNvZGVJ
bnRlcnByZXRlciB3aXRoRG9tYWluc0ludGVycHJldGVyKGNvbXBpbGVkRXh0ZW5zaW9uLmZpbHRl
cnNXaXRoRG9tYWluc0J5dGVjb2RlKCksIGNvbXBpbGVkRXh0ZW5zaW9uLmZpbHRlcnNXaXRoRG9t
YWluc0J5dGVjb2RlTGVuZ3RoKCkpOwogICAgICAgICAKICAgICAgICAgREZBQnl0ZWNvZGVJbnRl
cnByZXRlcjo6QWN0aW9ucyB3aXRoRG9tYWluc1Bvc3NpYmxlQWN0aW9ucyA9IHdpdGhEb21haW5z
SW50ZXJwcmV0ZXIuaW50ZXJwcmV0KHVybENTdHJpbmcsIGZsYWdzKTsKICAgICAgICAgaWYgKCF3
aXRoRG9tYWluc1Bvc3NpYmxlQWN0aW9ucy5pc0VtcHR5KCkpIHsKLSAgICAgICAgICAgIERGQUJ5
dGVjb2RlSW50ZXJwcmV0ZXIgZG9tYWluc0ludGVycHJldGVyKGNvbXBpbGVkRXh0ZW5zaW9uLmRv
bWFpbkZpbHRlcnNCeXRlY29kZSgpLCBjb21waWxlZEV4dGVuc2lvbi5kb21haW5GaWx0ZXJzQnl0
ZWNvZGVMZW5ndGgoKSwgY29udGVudEV4dGVuc2lvbi0+bV9wYWdlc1VzZWQpOworICAgICAgICAg
ICAgREZBQnl0ZWNvZGVJbnRlcnByZXRlciBkb21haW5zSW50ZXJwcmV0ZXIoY29tcGlsZWRFeHRl
bnNpb24uZG9tYWluRmlsdGVyc0J5dGVjb2RlKCksIGNvbXBpbGVkRXh0ZW5zaW9uLmRvbWFpbkZp
bHRlcnNCeXRlY29kZUxlbmd0aCgpKTsKICAgICAgICAgICAgIERGQUJ5dGVjb2RlSW50ZXJwcmV0
ZXI6OkFjdGlvbnMgZG9tYWluc0FjdGlvbnMgPSBkb21haW5zSW50ZXJwcmV0ZXIuaW50ZXJwcmV0
KHJlc291cmNlTG9hZEluZm8ubWFpbkRvY3VtZW50VVJMLmhvc3QoKS51dGY4KCksIGZsYWdzKTsK
ICAgICAgICAgICAgIAogICAgICAgICAgICAgREZBQnl0ZWNvZGVJbnRlcnByZXRlcjo6QWN0aW9u
cyBpZkRvbWFpbkFjdGlvbnM7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9u
cy9ERkFCeXRlY29kZUludGVycHJldGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9jb250ZW50ZXh0ZW5zaW9ucy9ERkFCeXRlY29kZUludGVycHJldGVyLmNwcAkocmV2aXNpb24g
MTg2Mzc1KQorKysgU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvREZBQnl0ZWNvZGVJ
bnRlcnByZXRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM2LDI0ICszNiwxNSBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiBuYW1lc3BhY2UgQ29udGVudEV4dGVuc2lvbnMgewogCiB0ZW1wbGF0ZSA8
dHlwZW5hbWUgSW50VHlwZT4KLXN0YXRpYyBpbmxpbmUgSW50VHlwZSBnZXRCaXRzKGNvbnN0IERG
QUJ5dGVjb2RlKiBieXRlY29kZSwgdWludDMyX3QgYnl0ZWNvZGVMZW5ndGgsIHVpbnQzMl90IGlu
ZGV4LCBWZWN0b3I8Ym9vbD4mIHBhZ2VzVXNlZCkKK3N0YXRpYyBpbmxpbmUgSW50VHlwZSBnZXRC
aXRzKGNvbnN0IERGQUJ5dGVjb2RlKiBieXRlY29kZSwgdWludDMyX3QgYnl0ZWNvZGVMZW5ndGgs
IHVpbnQzMl90IGluZGV4KQogewotI2lmIENPTlRFTlRfRVhURU5TSU9OU19NRU1PUllfUkVQT1JU
SU5HCi0gICAgdWludDMyX3QgcGFnZSA9IGluZGV4IC8gQ09OVEVOVF9FWFRFTlNJT05TX1BBR0Vf
U0laRTsKLSAgICB3aGlsZSAocGFnZXNVc2VkLnNpemUoKSA8IChieXRlY29kZUxlbmd0aCArIENP
TlRFTlRfRVhURU5TSU9OU19QQUdFX1NJWkUgLSAxKSAvIENPTlRFTlRfRVhURU5TSU9OU19QQUdF
X1NJWkUpCi0gICAgICAgIHBhZ2VzVXNlZC5hcHBlbmQoZmFsc2UpOwotICAgIHBhZ2VzVXNlZFtw
YWdlXSA9IHRydWU7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShwYWdlc1VzZWQpOwotI2VuZGlm
CiAgICAgQVNTRVJUX1VOVVNFRChieXRlY29kZUxlbmd0aCwgaW5kZXggKyBzaXplb2YoSW50VHlw
ZSkgPD0gYnl0ZWNvZGVMZW5ndGgpOwogICAgIHJldHVybiAqcmVpbnRlcnByZXRfY2FzdDxjb25z
dCBJbnRUeXBlKj4oJmJ5dGVjb2RlW2luZGV4XSk7CiB9CiAKLS8vIEZJWE1FOiBHZXQgcmlkIG9m
IHBhZ2VzVXNlZC4gV2UgZG9uJ3QgbmVlZCB0byBrZWVwIHRyYWNrIG9mIHRoZSBwYWdlcyB1c2Vk
Lgotc3RhdGljIGlubGluZSBERkFCeXRlY29kZUluc3RydWN0aW9uIGdldEluc3RydWN0aW9uKGNv
bnN0IERGQUJ5dGVjb2RlKiBieXRlY29kZSwgdWludDMyX3QgYnl0ZWNvZGVMZW5ndGgsIHVpbnQz
Ml90IGluZGV4LCBWZWN0b3I8Ym9vbD4mIHBhZ2VzVXNlZCkKK3N0YXRpYyBpbmxpbmUgREZBQnl0
ZWNvZGVJbnN0cnVjdGlvbiBnZXRJbnN0cnVjdGlvbihjb25zdCBERkFCeXRlY29kZSogYnl0ZWNv
ZGUsIHVpbnQzMl90IGJ5dGVjb2RlTGVuZ3RoLCB1aW50MzJfdCBpbmRleCkKIHsKLSAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8REZBQnl0ZWNvZGVJbnN0cnVjdGlvbj4oZ2V0Qml0czx1aW50OF90Pihi
eXRlY29kZSwgYnl0ZWNvZGVMZW5ndGgsIGluZGV4LCBwYWdlc1VzZWQpICYgREZBQnl0ZWNvZGVJ
bnN0cnVjdGlvbk1hc2spOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxERkFCeXRlY29kZUluc3Ry
dWN0aW9uPihnZXRCaXRzPHVpbnQ4X3Q+KGJ5dGVjb2RlLCBieXRlY29kZUxlbmd0aCwgaW5kZXgp
ICYgREZBQnl0ZWNvZGVJbnN0cnVjdGlvbk1hc2spOwogfQogCiBzdGF0aWMgaW5saW5lIHNpemVf
dCBqdW1wU2l6ZUluQnl0ZXMoREZBQnl0ZWNvZGVKdW1wU2l6ZSBqdW1wU2l6ZSkKQEAgLTcwLDIy
ICs2MSwyMiBAQCBzdGF0aWMgaW5saW5lIHNpemVfdCBqdW1wU2l6ZUluQnl0ZXMoREZBCiAgICAg
fQogfQogCi1zdGF0aWMgaW5saW5lIERGQUJ5dGVjb2RlSnVtcFNpemUgZ2V0SnVtcFNpemUoY29u
c3QgREZBQnl0ZWNvZGUqIGJ5dGVjb2RlLCB1aW50MzJfdCBieXRlY29kZUxlbmd0aCwgdWludDMy
X3QgaW5kZXgsIFZlY3Rvcjxib29sPiYgcGFnZXNVc2VkKQorc3RhdGljIGlubGluZSBERkFCeXRl
Y29kZUp1bXBTaXplIGdldEp1bXBTaXplKGNvbnN0IERGQUJ5dGVjb2RlKiBieXRlY29kZSwgdWlu
dDMyX3QgYnl0ZWNvZGVMZW5ndGgsIHVpbnQzMl90IGluZGV4KQogewotICAgIERGQUJ5dGVjb2Rl
SnVtcFNpemUganVtcFNpemUgPSBzdGF0aWNfY2FzdDxERkFCeXRlY29kZUp1bXBTaXplPihnZXRC
aXRzPHVpbnQ4X3Q+KGJ5dGVjb2RlLCBieXRlY29kZUxlbmd0aCwgaW5kZXgsIHBhZ2VzVXNlZCkg
JiBERkFCeXRlY29kZUp1bXBTaXplTWFzayk7CisgICAgREZBQnl0ZWNvZGVKdW1wU2l6ZSBqdW1w
U2l6ZSA9IHN0YXRpY19jYXN0PERGQUJ5dGVjb2RlSnVtcFNpemU+KGdldEJpdHM8dWludDhfdD4o
Ynl0ZWNvZGUsIGJ5dGVjb2RlTGVuZ3RoLCBpbmRleCkgJiBERkFCeXRlY29kZUp1bXBTaXplTWFz
ayk7CiAgICAgQVNTRVJUKGp1bXBTaXplID09IERGQUJ5dGVjb2RlSnVtcFNpemU6OkludDMyIHx8
IGp1bXBTaXplID09IERGQUJ5dGVjb2RlSnVtcFNpemU6OkludDE2IHx8IGp1bXBTaXplID09IERG
QUJ5dGVjb2RlSnVtcFNpemU6OkludDgpOwogICAgIHJldHVybiBqdW1wU2l6ZTsKIH0KIAotc3Rh
dGljIGlubGluZSBpbnQzMl90IGdldEp1bXBEaXN0YW5jZShjb25zdCBERkFCeXRlY29kZSogYnl0
ZWNvZGUsIHVpbnQzMl90IGJ5dGVjb2RlTGVuZ3RoLCB1aW50MzJfdCBpbmRleCwgVmVjdG9yPGJv
b2w+JiBwYWdlc1VzZWQsIERGQUJ5dGVjb2RlSnVtcFNpemUganVtcFNpemUpCitzdGF0aWMgaW5s
aW5lIGludDMyX3QgZ2V0SnVtcERpc3RhbmNlKGNvbnN0IERGQUJ5dGVjb2RlKiBieXRlY29kZSwg
dWludDMyX3QgYnl0ZWNvZGVMZW5ndGgsIHVpbnQzMl90IGluZGV4LCBERkFCeXRlY29kZUp1bXBT
aXplIGp1bXBTaXplKQogewogICAgIHN3aXRjaCAoanVtcFNpemUpIHsKICAgICBjYXNlIEludDg6
Ci0gICAgICAgIHJldHVybiBnZXRCaXRzPGludDhfdD4oYnl0ZWNvZGUsIGJ5dGVjb2RlTGVuZ3Ro
LCBpbmRleCwgcGFnZXNVc2VkKTsKKyAgICAgICAgcmV0dXJuIGdldEJpdHM8aW50OF90PihieXRl
Y29kZSwgYnl0ZWNvZGVMZW5ndGgsIGluZGV4KTsKICAgICBjYXNlIEludDE2OgotICAgICAgICBy
ZXR1cm4gZ2V0Qml0czxpbnQxNl90PihieXRlY29kZSwgYnl0ZWNvZGVMZW5ndGgsIGluZGV4LCBw
YWdlc1VzZWQpOworICAgICAgICByZXR1cm4gZ2V0Qml0czxpbnQxNl90PihieXRlY29kZSwgYnl0
ZWNvZGVMZW5ndGgsIGluZGV4KTsKICAgICBjYXNlIEludDMyOgotICAgICAgICByZXR1cm4gZ2V0
Qml0czxpbnQzMl90PihieXRlY29kZSwgYnl0ZWNvZGVMZW5ndGgsIGluZGV4LCBwYWdlc1VzZWQp
OworICAgICAgICByZXR1cm4gZ2V0Qml0czxpbnQzMl90PihieXRlY29kZSwgYnl0ZWNvZGVMZW5n
dGgsIGluZGV4KTsKICAgICBkZWZhdWx0OgogICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVB
Q0hFRCgpOwogICAgIH0KQEAgLTkzLDEwICs4NCwxMCBAQCBzdGF0aWMgaW5saW5lIGludDMyX3Qg
Z2V0SnVtcERpc3RhbmNlKGNvCiAKIHZvaWQgREZBQnl0ZWNvZGVJbnRlcnByZXRlcjo6aW50ZXJw
cmV0QXBwZW5kQWN0aW9uKHVpbnQzMl90JiBwcm9ncmFtQ291bnRlciwgQWN0aW9ucyYgYWN0aW9u
cywgYm9vbCBpZkRvbWFpbikKIHsKLSAgICBBU1NFUlQoZ2V0SW5zdHJ1Y3Rpb24obV9ieXRlY29k
ZSwgbV9ieXRlY29kZUxlbmd0aCwgcHJvZ3JhbUNvdW50ZXIsIG1fcGFnZXNVc2VkKSA9PSBERkFC
eXRlY29kZUluc3RydWN0aW9uOjpBcHBlbmRBY3Rpb24KLSAgICAgICAgfHwgZ2V0SW5zdHJ1Y3Rp
b24obV9ieXRlY29kZSwgbV9ieXRlY29kZUxlbmd0aCwgcHJvZ3JhbUNvdW50ZXIsIG1fcGFnZXNV
c2VkKSA9PSBERkFCeXRlY29kZUluc3RydWN0aW9uOjpBcHBlbmRBY3Rpb25XaXRoSWZEb21haW4K
LSAgICAgICAgfHwgZ2V0SW5zdHJ1Y3Rpb24obV9ieXRlY29kZSwgbV9ieXRlY29kZUxlbmd0aCwg
cHJvZ3JhbUNvdW50ZXIsIG1fcGFnZXNVc2VkKSA9PSBERkFCeXRlY29kZUluc3RydWN0aW9uOjpB
cHBlbmRBY3Rpb25EZWZhdWx0U3R5bGVzaGVldCk7Ci0gICAgYWN0aW9ucy5hZGQoKGlmRG9tYWlu
ID8gSWZEb21haW5GbGFnIDogMCkgfCBzdGF0aWNfY2FzdDx1aW50NjRfdD4oZ2V0Qml0czx1aW50
MzJfdD4obV9ieXRlY29kZSwgbV9ieXRlY29kZUxlbmd0aCwgcHJvZ3JhbUNvdW50ZXIgKyBzaXpl
b2YoREZBQnl0ZWNvZGVJbnN0cnVjdGlvbiksIG1fcGFnZXNVc2VkKSkpOworICAgIEFTU0VSVChn
ZXRJbnN0cnVjdGlvbihtX2J5dGVjb2RlLCBtX2J5dGVjb2RlTGVuZ3RoLCBwcm9ncmFtQ291bnRl
cikgPT0gREZBQnl0ZWNvZGVJbnN0cnVjdGlvbjo6QXBwZW5kQWN0aW9uCisgICAgICAgIHx8IGdl
dEluc3RydWN0aW9uKG1fYnl0ZWNvZGUsIG1fYnl0ZWNvZGVMZW5ndGgsIHByb2dyYW1Db3VudGVy
KSA9PSBERkFCeXRlY29kZUluc3RydWN0aW9uOjpBcHBlbmRBY3Rpb25XaXRoSWZEb21haW4KKyAg
ICAgICAgfHwgZ2V0SW5zdHJ1Y3Rpb24obV9ieXRlY29kZSwgbV9ieXRlY29kZUxlbmd0aCwgcHJv
Z3JhbUNvdW50ZXIpID09IERGQUJ5dGVjb2RlSW5zdHJ1Y3Rpb246OkFwcGVuZEFjdGlvbkRlZmF1
bHRTdHlsZXNoZWV0KTsKKyAgICBhY3Rpb25zLmFkZCgoaWZEb21haW4gPyBJZkRvbWFpbkZsYWcg
OiAwKSB8IHN0YXRpY19jYXN0PHVpbnQ2NF90PihnZXRCaXRzPHVpbnQzMl90PihtX2J5dGVjb2Rl
LCBtX2J5dGVjb2RlTGVuZ3RoLCBwcm9ncmFtQ291bnRlciArIHNpemVvZihERkFCeXRlY29kZUlu
c3RydWN0aW9uKSkpKTsKICAgICBwcm9ncmFtQ291bnRlciArPSBpbnN0cnVjdGlvblNpemVXaXRo
QXJndW1lbnRzKERGQUJ5dGVjb2RlSW5zdHJ1Y3Rpb246OkFwcGVuZEFjdGlvbik7CiAgICAgQVNT
RVJUKGluc3RydWN0aW9uU2l6ZVdpdGhBcmd1bWVudHMoREZBQnl0ZWNvZGVJbnN0cnVjdGlvbjo6
QXBwZW5kQWN0aW9uKSA9PSBpbnN0cnVjdGlvblNpemVXaXRoQXJndW1lbnRzKERGQUJ5dGVjb2Rl
SW5zdHJ1Y3Rpb246OkFwcGVuZEFjdGlvbldpdGhJZkRvbWFpbikpOwogICAgIEFTU0VSVChpbnN0
cnVjdGlvblNpemVXaXRoQXJndW1lbnRzKERGQUJ5dGVjb2RlSW5zdHJ1Y3Rpb246OkFwcGVuZEFj
dGlvbikgPT0gaW5zdHJ1Y3Rpb25TaXplV2l0aEFyZ3VtZW50cyhERkFCeXRlY29kZUluc3RydWN0
aW9uOjpBcHBlbmRBY3Rpb25EZWZhdWx0U3R5bGVzaGVldCkpOwpAQCAtMTA0LDkgKzk1LDkgQEAg
dm9pZCBERkFCeXRlY29kZUludGVycHJldGVyOjppbnRlcnByZXRBcAogCiB2b2lkIERGQUJ5dGVj
b2RlSW50ZXJwcmV0ZXI6OmludGVycHJldFRlc3RGbGFnc0FuZEFwcGVuZEFjdGlvbih1aW50MzJf
dCYgcHJvZ3JhbUNvdW50ZXIsIHVpbnQxNl90IGZsYWdzLCBBY3Rpb25zJiBhY3Rpb25zLCBib29s
IGlmRG9tYWluKQogewotICAgIEFTU0VSVChnZXRJbnN0cnVjdGlvbihtX2J5dGVjb2RlLCBtX2J5
dGVjb2RlTGVuZ3RoLCBwcm9ncmFtQ291bnRlciwgbV9wYWdlc1VzZWQpID09IERGQUJ5dGVjb2Rl
SW5zdHJ1Y3Rpb246OlRlc3RGbGFnc0FuZEFwcGVuZEFjdGlvbgotICAgICAgICB8fCBnZXRJbnN0
cnVjdGlvbihtX2J5dGVjb2RlLCBtX2J5dGVjb2RlTGVuZ3RoLCBwcm9ncmFtQ291bnRlciwgbV9w
YWdlc1VzZWQpID09IERGQUJ5dGVjb2RlSW5zdHJ1Y3Rpb246OlRlc3RGbGFnc0FuZEFwcGVuZEFj
dGlvbldpdGhJZkRvbWFpbik7Ci0gICAgdWludDE2X3QgZmxhZ3NUb0NoZWNrID0gZ2V0Qml0czx1
aW50MTZfdD4obV9ieXRlY29kZSwgbV9ieXRlY29kZUxlbmd0aCwgcHJvZ3JhbUNvdW50ZXIgKyBz
aXplb2YoREZBQnl0ZWNvZGVJbnN0cnVjdGlvbiksIG1fcGFnZXNVc2VkKTsKKyAgICBBU1NFUlQo
Z2V0SW5zdHJ1Y3Rpb24obV9ieXRlY29kZSwgbV9ieXRlY29kZUxlbmd0aCwgcHJvZ3JhbUNvdW50
ZXIpID09IERGQUJ5dGVjb2RlSW5zdHJ1Y3Rpb246OlRlc3RGbGFnc0FuZEFwcGVuZEFjdGlvbgor
ICAgICAgICB8fCBnZXRJbnN0cnVjdGlvbihtX2J5dGVjb2RlLCBtX2J5dGVjb2RlTGVuZ3RoLCBw
cm9ncmFtQ291bnRlcikgPT0gREZBQnl0ZWNvZGVJbnN0cnVjdGlvbjo6VGVzdEZsYWdzQW5kQXBw
ZW5kQWN0aW9uV2l0aElmRG9tYWluKTsKKyAgICB1aW50MTZfdCBmbGFnc1RvQ2hlY2sgPSBnZXRC
aXRzPHVpbnQxNl90PihtX2J5dGVjb2RlLCBtX2J5dGVjb2RlTGVuZ3RoLCBwcm9ncmFtQ291bnRl
ciArIHNpemVvZihERkFCeXRlY29kZUluc3RydWN0aW9uKSk7CiAKICAgICB1aW50MTZfdCBsb2Fk
VHlwZUZsYWdzID0gZmxhZ3NUb0NoZWNrICYgTG9hZFR5cGVNYXNrOwogICAgIHVpbnQxNl90IHJl
c3NvdXJjZVR5cGVGbGFncyA9IGZsYWdzVG9DaGVjayAmIFJlc291cmNlVHlwZU1hc2s7CkBAIC0x
MTUsNyArMTA2LDcgQEAgdm9pZCBERkFCeXRlY29kZUludGVycHJldGVyOjppbnRlcnByZXRUZQog
ICAgIGJvb2wgcmVzc291cmNlVHlwZU1hdGNoZXMgPSByZXNzb3VyY2VUeXBlRmxhZ3MgPyAocmVz
c291cmNlVHlwZUZsYWdzICYgZmxhZ3MpIDogdHJ1ZTsKICAgICAKICAgICBpZiAobG9hZFR5cGVN
YXRjaGVzICYmIHJlc3NvdXJjZVR5cGVNYXRjaGVzKQotICAgICAgICBhY3Rpb25zLmFkZCgoaWZE
b21haW4gPyBJZkRvbWFpbkZsYWcgOiAwKSB8IHN0YXRpY19jYXN0PHVpbnQ2NF90PihnZXRCaXRz
PHVpbnQzMl90PihtX2J5dGVjb2RlLCBtX2J5dGVjb2RlTGVuZ3RoLCBwcm9ncmFtQ291bnRlciAr
IHNpemVvZihERkFCeXRlY29kZUluc3RydWN0aW9uKSArIHNpemVvZih1aW50MTZfdCksIG1fcGFn
ZXNVc2VkKSkpOworICAgICAgICBhY3Rpb25zLmFkZCgoaWZEb21haW4gPyBJZkRvbWFpbkZsYWcg
OiAwKSB8IHN0YXRpY19jYXN0PHVpbnQ2NF90PihnZXRCaXRzPHVpbnQzMl90PihtX2J5dGVjb2Rl
LCBtX2J5dGVjb2RlTGVuZ3RoLCBwcm9ncmFtQ291bnRlciArIHNpemVvZihERkFCeXRlY29kZUlu
c3RydWN0aW9uKSArIHNpemVvZih1aW50MTZfdCkpKSk7CiAgICAgcHJvZ3JhbUNvdW50ZXIgKz0g
aW5zdHJ1Y3Rpb25TaXplV2l0aEFyZ3VtZW50cyhERkFCeXRlY29kZUluc3RydWN0aW9uOjpUZXN0
RmxhZ3NBbmRBcHBlbmRBY3Rpb24pOwogICAgIEFTU0VSVChpbnN0cnVjdGlvblNpemVXaXRoQXJn
dW1lbnRzKERGQUJ5dGVjb2RlSW5zdHJ1Y3Rpb246OlRlc3RGbGFnc0FuZEFwcGVuZEFjdGlvbikg
PT0gaW5zdHJ1Y3Rpb25TaXplV2l0aEFyZ3VtZW50cyhERkFCeXRlY29kZUluc3RydWN0aW9uOjpU
ZXN0RmxhZ3NBbmRBcHBlbmRBY3Rpb25XaXRoSWZEb21haW4pKTsKIH0KQEAgLTEyNSwxMSArMTE2
LDExIEBAIERGQUJ5dGVjb2RlSW50ZXJwcmV0ZXI6OkFjdGlvbnMgREZBQnl0ZWMKICAgICBBY3Rp
b25zIGFjdGlvbnM7CiAKICAgICAvLyBERkEgaGVhZGVyLgotICAgIHVpbnQzMl90IGRmYUJ5dGVj
b2RlTGVuZ3RoID0gZ2V0Qml0czx1aW50MzJfdD4obV9ieXRlY29kZSwgbV9ieXRlY29kZUxlbmd0
aCwgMCwgbV9wYWdlc1VzZWQpOworICAgIHVpbnQzMl90IGRmYUJ5dGVjb2RlTGVuZ3RoID0gZ2V0
Qml0czx1aW50MzJfdD4obV9ieXRlY29kZSwgbV9ieXRlY29kZUxlbmd0aCwgMCk7CiAgICAgdWlu
dDMyX3QgcHJvZ3JhbUNvdW50ZXIgPSBzaXplb2YodWludDMyX3QpOwogCiAgICAgd2hpbGUgKHBy
b2dyYW1Db3VudGVyIDwgZGZhQnl0ZWNvZGVMZW5ndGgpIHsKLSAgICAgICAgREZBQnl0ZWNvZGVJ
bnN0cnVjdGlvbiBpbnN0cnVjdGlvbiA9IGdldEluc3RydWN0aW9uKG1fYnl0ZWNvZGUsIG1fYnl0
ZWNvZGVMZW5ndGgsIHByb2dyYW1Db3VudGVyLCBtX3BhZ2VzVXNlZCk7CisgICAgICAgIERGQUJ5
dGVjb2RlSW5zdHJ1Y3Rpb24gaW5zdHJ1Y3Rpb24gPSBnZXRJbnN0cnVjdGlvbihtX2J5dGVjb2Rl
LCBtX2J5dGVjb2RlTGVuZ3RoLCBwcm9ncmFtQ291bnRlcik7CiAgICAgICAgIGlmIChpbnN0cnVj
dGlvbiA9PSBERkFCeXRlY29kZUluc3RydWN0aW9uOjpBcHBlbmRBY3Rpb25EZWZhdWx0U3R5bGVz
aGVldCkKICAgICAgICAgICAgIGludGVycHJldEFwcGVuZEFjdGlvbihwcm9ncmFtQ291bnRlciwg
YWN0aW9ucywgZmFsc2UpOwogICAgICAgICBlbHNlIGlmIChpbnN0cnVjdGlvbiA9PSBERkFCeXRl
Y29kZUluc3RydWN0aW9uOjpBcHBlbmRBY3Rpb24pCkBAIC0xNTksMTMgKzE1MCwxMyBAQCBERkFC
eXRlY29kZUludGVycHJldGVyOjpBY3Rpb25zIERGQUJ5dGVjCiAKICAgICAgICAgLy8gREZBIGhl
YWRlci4KICAgICAgICAgdWludDMyX3QgZGZhU3RhcnQgPSBwcm9ncmFtQ291bnRlcjsKLSAgICAg
ICAgdWludDMyX3QgZGZhQnl0ZWNvZGVMZW5ndGggPSBnZXRCaXRzPHVpbnQzMl90PihtX2J5dGVj
b2RlLCBtX2J5dGVjb2RlTGVuZ3RoLCBwcm9ncmFtQ291bnRlciwgbV9wYWdlc1VzZWQpOworICAg
ICAgICB1aW50MzJfdCBkZmFCeXRlY29kZUxlbmd0aCA9IGdldEJpdHM8dWludDMyX3Q+KG1fYnl0
ZWNvZGUsIG1fYnl0ZWNvZGVMZW5ndGgsIHByb2dyYW1Db3VudGVyKTsKICAgICAgICAgcHJvZ3Jh
bUNvdW50ZXIgKz0gc2l6ZW9mKHVpbnQzMl90KTsKIAogICAgICAgICAvLyBTa2lwIHRoZSBkZWZh
dWx0IHN0eWxlc2hlZXQgYWN0aW9ucyBvbiB0aGUgREZBIHJvb3QuIFRoZXNlIGFyZSBhY2Nlc3Nl
ZCB2aWEgYWN0aW9uc0ZvckRlZmF1bHRTdHlsZXNoZWV0RnJvbURGQVJvb3QuCiAgICAgICAgIGlm
ICghZGZhU3RhcnQpIHsKICAgICAgICAgICAgIHdoaWxlIChwcm9ncmFtQ291bnRlciA8IGRmYUJ5
dGVjb2RlTGVuZ3RoKSB7Ci0gICAgICAgICAgICAgICAgREZBQnl0ZWNvZGVJbnN0cnVjdGlvbiBp
bnN0cnVjdGlvbiA9IGdldEluc3RydWN0aW9uKG1fYnl0ZWNvZGUsIG1fYnl0ZWNvZGVMZW5ndGgs
IHByb2dyYW1Db3VudGVyLCBtX3BhZ2VzVXNlZCk7CisgICAgICAgICAgICAgICAgREZBQnl0ZWNv
ZGVJbnN0cnVjdGlvbiBpbnN0cnVjdGlvbiA9IGdldEluc3RydWN0aW9uKG1fYnl0ZWNvZGUsIG1f
Ynl0ZWNvZGVMZW5ndGgsIHByb2dyYW1Db3VudGVyKTsKICAgICAgICAgICAgICAgICBpZiAoaW5z
dHJ1Y3Rpb24gPT0gREZBQnl0ZWNvZGVJbnN0cnVjdGlvbjo6QXBwZW5kQWN0aW9uRGVmYXVsdFN0
eWxlc2hlZXQpCiAgICAgICAgICAgICAgICAgICAgIHByb2dyYW1Db3VudGVyICs9IGluc3RydWN0
aW9uU2l6ZVdpdGhBcmd1bWVudHMoREZBQnl0ZWNvZGVJbnN0cnVjdGlvbjo6QXBwZW5kQWN0aW9u
RGVmYXVsdFN0eWxlc2hlZXQpOwogICAgICAgICAgICAgICAgIGVsc2UgaWYgKGluc3RydWN0aW9u
ID09IERGQUJ5dGVjb2RlSW5zdHJ1Y3Rpb246OkFwcGVuZEFjdGlvbikKQEAgLTE3OCw4ICsxNjks
OCBAQCBERkFCeXRlY29kZUludGVycHJldGVyOjpBY3Rpb25zIERGQUJ5dGVjCiAgICAgICAgICAg
ICBpZiAocHJvZ3JhbUNvdW50ZXIgPj0gbV9ieXRlY29kZUxlbmd0aCkKICAgICAgICAgICAgICAg
ICByZXR1cm4gYWN0aW9uczsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIEFTU0VSVF9X
SVRIX01FU1NBR0UoZ2V0SW5zdHJ1Y3Rpb24obV9ieXRlY29kZSwgbV9ieXRlY29kZUxlbmd0aCwg
cHJvZ3JhbUNvdW50ZXIsIG1fcGFnZXNVc2VkKSAhPSBERkFCeXRlY29kZUluc3RydWN0aW9uOjpB
cHBlbmRBY3Rpb24KLSAgICAgICAgICAgICAgICAmJiBnZXRJbnN0cnVjdGlvbihtX2J5dGVjb2Rl
LCBtX2J5dGVjb2RlTGVuZ3RoLCBwcm9ncmFtQ291bnRlciwgbV9wYWdlc1VzZWQpICE9IERGQUJ5
dGVjb2RlSW5zdHJ1Y3Rpb246OlRlc3RGbGFnc0FuZEFwcGVuZEFjdGlvbiwKKyAgICAgICAgICAg
IEFTU0VSVF9XSVRIX01FU1NBR0UoZ2V0SW5zdHJ1Y3Rpb24obV9ieXRlY29kZSwgbV9ieXRlY29k
ZUxlbmd0aCwgcHJvZ3JhbUNvdW50ZXIpICE9IERGQUJ5dGVjb2RlSW5zdHJ1Y3Rpb246OkFwcGVu
ZEFjdGlvbgorICAgICAgICAgICAgICAgICYmIGdldEluc3RydWN0aW9uKG1fYnl0ZWNvZGUsIG1f
Ynl0ZWNvZGVMZW5ndGgsIHByb2dyYW1Db3VudGVyKSAhPSBERkFCeXRlY29kZUluc3RydWN0aW9u
OjpUZXN0RmxhZ3NBbmRBcHBlbmRBY3Rpb24sCiAgICAgICAgICAgICAgICAgIlRyaWdnZXJzIHRo
YXQgbWF0Y2ggZXZlcnl0aGluZyBzaG91bGQgb25seSBiZSBpbiB0aGUgZmlyc3QgREZBLiIpOwog
ICAgICAgICB9CiAgICAgICAgIApAQCAtMTg5LDcgKzE4MCw3IEBAIERGQUJ5dGVjb2RlSW50ZXJw
cmV0ZXI6OkFjdGlvbnMgREZBQnl0ZWMKICAgICAgICAgYm9vbCB1cmxJbmRleElzQWZ0ZXJFbmRP
ZlN0cmluZyA9IGZhbHNlOwogICAgICAgICB3aGlsZSAodHJ1ZSkgewogICAgICAgICAgICAgQVNT
RVJUKHByb2dyYW1Db3VudGVyIDw9IG1fYnl0ZWNvZGVMZW5ndGgpOwotICAgICAgICAgICAgc3dp
dGNoIChnZXRJbnN0cnVjdGlvbihtX2J5dGVjb2RlLCBtX2J5dGVjb2RlTGVuZ3RoLCBwcm9ncmFt
Q291bnRlciwgbV9wYWdlc1VzZWQpKSB7CisgICAgICAgICAgICBzd2l0Y2ggKGdldEluc3RydWN0
aW9uKG1fYnl0ZWNvZGUsIG1fYnl0ZWNvZGVMZW5ndGgsIHByb2dyYW1Db3VudGVyKSkgewogCiAg
ICAgICAgICAgICBjYXNlIERGQUJ5dGVjb2RlSW5zdHJ1Y3Rpb246OlRlcm1pbmF0ZToKICAgICAg
ICAgICAgICAgICBnb3RvIG5leHRERkE7CkBAIC0yMDAsMTAgKzE5MSwxMCBAQCBERkFCeXRlY29k
ZUludGVycHJldGVyOjpBY3Rpb25zIERGQUJ5dGVjCiAKICAgICAgICAgICAgICAgICAvLyBDaGVj
ayB0byBzZWUgaWYgdGhlIG5leHQgY2hhcmFjdGVyIGluIHRoZSB1cmwgaXMgdGhlIHZhbHVlIHN0
b3JlZCB3aXRoIHRoZSBieXRlY29kZS4KICAgICAgICAgICAgICAgICBjaGFyIGNoYXJhY3RlciA9
IHVybFt1cmxJbmRleF07Ci0gICAgICAgICAgICAgICAgREZBQnl0ZWNvZGVKdW1wU2l6ZSBqdW1w
U2l6ZSA9IGdldEp1bXBTaXplKG1fYnl0ZWNvZGUsIG1fYnl0ZWNvZGVMZW5ndGgsIHByb2dyYW1D
b3VudGVyLCBtX3BhZ2VzVXNlZCk7Ci0gICAgICAgICAgICAgICAgaWYgKGNoYXJhY3RlciA9PSBn
ZXRCaXRzPHVpbnQ4X3Q+KG1fYnl0ZWNvZGUsIG1fYnl0ZWNvZGVMZW5ndGgsIHByb2dyYW1Db3Vu
dGVyICsgc2l6ZW9mKERGQUJ5dGVjb2RlSW5zdHJ1Y3Rpb24pLCBtX3BhZ2VzVXNlZCkpIHsKKyAg
ICAgICAgICAgICAgICBERkFCeXRlY29kZUp1bXBTaXplIGp1bXBTaXplID0gZ2V0SnVtcFNpemUo
bV9ieXRlY29kZSwgbV9ieXRlY29kZUxlbmd0aCwgcHJvZ3JhbUNvdW50ZXIpOworICAgICAgICAg
ICAgICAgIGlmIChjaGFyYWN0ZXIgPT0gZ2V0Qml0czx1aW50OF90PihtX2J5dGVjb2RlLCBtX2J5
dGVjb2RlTGVuZ3RoLCBwcm9ncmFtQ291bnRlciArIHNpemVvZihERkFCeXRlY29kZUluc3RydWN0
aW9uKSkpIHsKICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QganVtcExvY2F0aW9uID0gcHJv
Z3JhbUNvdW50ZXIgKyBzaXplb2YoREZBQnl0ZWNvZGVJbnN0cnVjdGlvbikgKyBzaXplb2YodWlu
dDhfdCk7Ci0gICAgICAgICAgICAgICAgICAgIHByb2dyYW1Db3VudGVyICs9IGdldEp1bXBEaXN0
YW5jZShtX2J5dGVjb2RlLCBtX2J5dGVjb2RlTGVuZ3RoLCBqdW1wTG9jYXRpb24sIG1fcGFnZXNV
c2VkLCBqdW1wU2l6ZSk7CisgICAgICAgICAgICAgICAgICAgIHByb2dyYW1Db3VudGVyICs9IGdl
dEp1bXBEaXN0YW5jZShtX2J5dGVjb2RlLCBtX2J5dGVjb2RlTGVuZ3RoLCBqdW1wTG9jYXRpb24s
IGp1bXBTaXplKTsKICAgICAgICAgICAgICAgICAgICAgaWYgKCFjaGFyYWN0ZXIpCiAgICAgICAg
ICAgICAgICAgICAgICAgICB1cmxJbmRleElzQWZ0ZXJFbmRPZlN0cmluZyA9IHRydWU7CiAgICAg
ICAgICAgICAgICAgICAgIHVybEluZGV4Kys7IC8vIFRoaXMgcmVwcmVzZW50cyBhbiBlZGdlIGlu
IHRoZSBERkEuCkBAIC0yMTgsMTAgKzIwOSwxMCBAQCBERkFCeXRlY29kZUludGVycHJldGVyOjpB
Y3Rpb25zIERGQUJ5dGVjCiAKICAgICAgICAgICAgICAgICAvLyBDaGVjayB0byBzZWUgaWYgdGhl
IG5leHQgY2hhcmFjdGVyIGluIHRoZSB1cmwgaXMgdGhlIHZhbHVlIHN0b3JlZCB3aXRoIHRoZSBi
eXRlY29kZS4KICAgICAgICAgICAgICAgICBjaGFyIGNoYXJhY3RlciA9IHRvQVNDSUlMb3dlcih1
cmxbdXJsSW5kZXhdKTsKLSAgICAgICAgICAgICAgICBERkFCeXRlY29kZUp1bXBTaXplIGp1bXBT
aXplID0gZ2V0SnVtcFNpemUobV9ieXRlY29kZSwgbV9ieXRlY29kZUxlbmd0aCwgcHJvZ3JhbUNv
dW50ZXIsIG1fcGFnZXNVc2VkKTsKLSAgICAgICAgICAgICAgICBpZiAoY2hhcmFjdGVyID09IGdl
dEJpdHM8dWludDhfdD4obV9ieXRlY29kZSwgbV9ieXRlY29kZUxlbmd0aCwgcHJvZ3JhbUNvdW50
ZXIgKyBzaXplb2YoREZBQnl0ZWNvZGVJbnN0cnVjdGlvbiksIG1fcGFnZXNVc2VkKSkgeworICAg
ICAgICAgICAgICAgIERGQUJ5dGVjb2RlSnVtcFNpemUganVtcFNpemUgPSBnZXRKdW1wU2l6ZSht
X2J5dGVjb2RlLCBtX2J5dGVjb2RlTGVuZ3RoLCBwcm9ncmFtQ291bnRlcik7CisgICAgICAgICAg
ICAgICAgaWYgKGNoYXJhY3RlciA9PSBnZXRCaXRzPHVpbnQ4X3Q+KG1fYnl0ZWNvZGUsIG1fYnl0
ZWNvZGVMZW5ndGgsIHByb2dyYW1Db3VudGVyICsgc2l6ZW9mKERGQUJ5dGVjb2RlSW5zdHJ1Y3Rp
b24pKSkgewogICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBqdW1wTG9jYXRpb24gPSBwcm9n
cmFtQ291bnRlciArIHNpemVvZihERkFCeXRlY29kZUluc3RydWN0aW9uKSArIHNpemVvZih1aW50
OF90KTsKLSAgICAgICAgICAgICAgICAgICAgcHJvZ3JhbUNvdW50ZXIgKz0gZ2V0SnVtcERpc3Rh
bmNlKG1fYnl0ZWNvZGUsIG1fYnl0ZWNvZGVMZW5ndGgsIGp1bXBMb2NhdGlvbiwgbV9wYWdlc1Vz
ZWQsIGp1bXBTaXplKTsKKyAgICAgICAgICAgICAgICAgICAgcHJvZ3JhbUNvdW50ZXIgKz0gZ2V0
SnVtcERpc3RhbmNlKG1fYnl0ZWNvZGUsIG1fYnl0ZWNvZGVMZW5ndGgsIGp1bXBMb2NhdGlvbiwg
anVtcFNpemUpOwogICAgICAgICAgICAgICAgICAgICBpZiAoIWNoYXJhY3RlcikKICAgICAgICAg
ICAgICAgICAgICAgICAgIHVybEluZGV4SXNBZnRlckVuZE9mU3RyaW5nID0gdHJ1ZTsKICAgICAg
ICAgICAgICAgICAgICAgdXJsSW5kZXgrKzsgLy8gVGhpcyByZXByZXNlbnRzIGFuIGVkZ2UgaW4g
dGhlIERGQS4KQEAgLTIzNSwxMSArMjI2LDExIEBAIERGQUJ5dGVjb2RlSW50ZXJwcmV0ZXI6OkFj
dGlvbnMgREZBQnl0ZWMKICAgICAgICAgICAgICAgICAgICAgZ290byBuZXh0REZBOwogICAgICAg
ICAgICAgICAgIAogICAgICAgICAgICAgICAgIGNoYXIgY2hhcmFjdGVyID0gdXJsW3VybEluZGV4
XTsKLSAgICAgICAgICAgICAgICBERkFCeXRlY29kZUp1bXBTaXplIGp1bXBTaXplID0gZ2V0SnVt
cFNpemUobV9ieXRlY29kZSwgbV9ieXRlY29kZUxlbmd0aCwgcHJvZ3JhbUNvdW50ZXIsIG1fcGFn
ZXNVc2VkKTsKLSAgICAgICAgICAgICAgICBpZiAoY2hhcmFjdGVyID49IGdldEJpdHM8dWludDhf
dD4obV9ieXRlY29kZSwgbV9ieXRlY29kZUxlbmd0aCwgcHJvZ3JhbUNvdW50ZXIgKyBzaXplb2Yo
REZBQnl0ZWNvZGVJbnN0cnVjdGlvbiksIG1fcGFnZXNVc2VkKQotICAgICAgICAgICAgICAgICAg
ICAmJiBjaGFyYWN0ZXIgPD0gZ2V0Qml0czx1aW50OF90PihtX2J5dGVjb2RlLCBtX2J5dGVjb2Rl
TGVuZ3RoLCBwcm9ncmFtQ291bnRlciArIHNpemVvZihERkFCeXRlY29kZUluc3RydWN0aW9uKSAr
IHNpemVvZih1aW50OF90KSwgbV9wYWdlc1VzZWQpKSB7CisgICAgICAgICAgICAgICAgREZBQnl0
ZWNvZGVKdW1wU2l6ZSBqdW1wU2l6ZSA9IGdldEp1bXBTaXplKG1fYnl0ZWNvZGUsIG1fYnl0ZWNv
ZGVMZW5ndGgsIHByb2dyYW1Db3VudGVyKTsKKyAgICAgICAgICAgICAgICBpZiAoY2hhcmFjdGVy
ID49IGdldEJpdHM8dWludDhfdD4obV9ieXRlY29kZSwgbV9ieXRlY29kZUxlbmd0aCwgcHJvZ3Jh
bUNvdW50ZXIgKyBzaXplb2YoREZBQnl0ZWNvZGVJbnN0cnVjdGlvbikpCisgICAgICAgICAgICAg
ICAgICAgICYmIGNoYXJhY3RlciA8PSBnZXRCaXRzPHVpbnQ4X3Q+KG1fYnl0ZWNvZGUsIG1fYnl0
ZWNvZGVMZW5ndGgsIHByb2dyYW1Db3VudGVyICsgc2l6ZW9mKERGQUJ5dGVjb2RlSW5zdHJ1Y3Rp
b24pICsgc2l6ZW9mKHVpbnQ4X3QpKSkgewogICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBq
dW1wTG9jYXRpb24gPSBwcm9ncmFtQ291bnRlciArIHNpemVvZihERkFCeXRlY29kZUluc3RydWN0
aW9uKSArIDIgKiBzaXplb2YodWludDhfdCk7Ci0gICAgICAgICAgICAgICAgICAgIHByb2dyYW1D
b3VudGVyICs9IGdldEp1bXBEaXN0YW5jZShtX2J5dGVjb2RlLCBtX2J5dGVjb2RlTGVuZ3RoLCBq
dW1wTG9jYXRpb24sIG1fcGFnZXNVc2VkLCBqdW1wU2l6ZSk7CisgICAgICAgICAgICAgICAgICAg
IHByb2dyYW1Db3VudGVyICs9IGdldEp1bXBEaXN0YW5jZShtX2J5dGVjb2RlLCBtX2J5dGVjb2Rl
TGVuZ3RoLCBqdW1wTG9jYXRpb24sIGp1bXBTaXplKTsKICAgICAgICAgICAgICAgICAgICAgaWYg
KCFjaGFyYWN0ZXIpCiAgICAgICAgICAgICAgICAgICAgICAgICB1cmxJbmRleElzQWZ0ZXJFbmRP
ZlN0cmluZyA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgIHVybEluZGV4Kys7IC8vIFRoaXMg
cmVwcmVzZW50cyBhbiBlZGdlIGluIHRoZSBERkEuCkBAIC0yNTMsMTEgKzI0NCwxMSBAQCBERkFC
eXRlY29kZUludGVycHJldGVyOjpBY3Rpb25zIERGQUJ5dGVjCiAgICAgICAgICAgICAgICAgICAg
IGdvdG8gbmV4dERGQTsKICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICBjaGFyIGNo
YXJhY3RlciA9IHRvQVNDSUlMb3dlcih1cmxbdXJsSW5kZXhdKTsKLSAgICAgICAgICAgICAgICBE
RkFCeXRlY29kZUp1bXBTaXplIGp1bXBTaXplID0gZ2V0SnVtcFNpemUobV9ieXRlY29kZSwgbV9i
eXRlY29kZUxlbmd0aCwgcHJvZ3JhbUNvdW50ZXIsIG1fcGFnZXNVc2VkKTsKLSAgICAgICAgICAg
ICAgICBpZiAoY2hhcmFjdGVyID49IGdldEJpdHM8dWludDhfdD4obV9ieXRlY29kZSwgbV9ieXRl
Y29kZUxlbmd0aCwgcHJvZ3JhbUNvdW50ZXIgKyBzaXplb2YoREZBQnl0ZWNvZGVJbnN0cnVjdGlv
biksIG1fcGFnZXNVc2VkKQotICAgICAgICAgICAgICAgICAgICAmJiBjaGFyYWN0ZXIgPD0gZ2V0
Qml0czx1aW50OF90PihtX2J5dGVjb2RlLCBtX2J5dGVjb2RlTGVuZ3RoLCBwcm9ncmFtQ291bnRl
ciArIHNpemVvZihERkFCeXRlY29kZUluc3RydWN0aW9uKSArIHNpemVvZih1aW50OF90KSwgbV9w
YWdlc1VzZWQpKSB7CisgICAgICAgICAgICAgICAgREZBQnl0ZWNvZGVKdW1wU2l6ZSBqdW1wU2l6
ZSA9IGdldEp1bXBTaXplKG1fYnl0ZWNvZGUsIG1fYnl0ZWNvZGVMZW5ndGgsIHByb2dyYW1Db3Vu
dGVyKTsKKyAgICAgICAgICAgICAgICBpZiAoY2hhcmFjdGVyID49IGdldEJpdHM8dWludDhfdD4o
bV9ieXRlY29kZSwgbV9ieXRlY29kZUxlbmd0aCwgcHJvZ3JhbUNvdW50ZXIgKyBzaXplb2YoREZB
Qnl0ZWNvZGVJbnN0cnVjdGlvbikpCisgICAgICAgICAgICAgICAgICAgICYmIGNoYXJhY3RlciA8
PSBnZXRCaXRzPHVpbnQ4X3Q+KG1fYnl0ZWNvZGUsIG1fYnl0ZWNvZGVMZW5ndGgsIHByb2dyYW1D
b3VudGVyICsgc2l6ZW9mKERGQUJ5dGVjb2RlSW5zdHJ1Y3Rpb24pICsgc2l6ZW9mKHVpbnQ4X3Qp
KSkgewogICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBqdW1wTG9jYXRpb24gPSBwcm9ncmFt
Q291bnRlciArIHNpemVvZihERkFCeXRlY29kZUluc3RydWN0aW9uKSArIDIgKiBzaXplb2YodWlu
dDhfdCk7Ci0gICAgICAgICAgICAgICAgICAgIHByb2dyYW1Db3VudGVyICs9IGdldEp1bXBEaXN0
YW5jZShtX2J5dGVjb2RlLCBtX2J5dGVjb2RlTGVuZ3RoLCBqdW1wTG9jYXRpb24sIG1fcGFnZXNV
c2VkLCBqdW1wU2l6ZSk7CisgICAgICAgICAgICAgICAgICAgIHByb2dyYW1Db3VudGVyICs9IGdl
dEp1bXBEaXN0YW5jZShtX2J5dGVjb2RlLCBtX2J5dGVjb2RlTGVuZ3RoLCBqdW1wTG9jYXRpb24s
IGp1bXBTaXplKTsKICAgICAgICAgICAgICAgICAgICAgaWYgKCFjaGFyYWN0ZXIpCiAgICAgICAg
ICAgICAgICAgICAgICAgICB1cmxJbmRleElzQWZ0ZXJFbmRPZlN0cmluZyA9IHRydWU7CiAgICAg
ICAgICAgICAgICAgICAgIHVybEluZGV4Kys7IC8vIFRoaXMgcmVwcmVzZW50cyBhbiBlZGdlIGlu
IHRoZSBERkEuCkBAIC0yNzEsOCArMjYyLDggQEAgREZBQnl0ZWNvZGVJbnRlcnByZXRlcjo6QWN0
aW9ucyBERkFCeXRlYwogICAgICAgICAgICAgICAgICAgICBnb3RvIG5leHRERkE7CiAgICAgICAg
ICAgICAgICAgCiAgICAgICAgICAgICAgICAgdWludDMyX3QganVtcExvY2F0aW9uID0gcHJvZ3Jh
bUNvdW50ZXIgKyBzaXplb2YoREZBQnl0ZWNvZGVJbnN0cnVjdGlvbik7Ci0gICAgICAgICAgICAg
ICAgREZBQnl0ZWNvZGVKdW1wU2l6ZSBqdW1wU2l6ZSA9IGdldEp1bXBTaXplKG1fYnl0ZWNvZGUs
IG1fYnl0ZWNvZGVMZW5ndGgsIHByb2dyYW1Db3VudGVyLCBtX3BhZ2VzVXNlZCk7Ci0gICAgICAg
ICAgICAgICAgcHJvZ3JhbUNvdW50ZXIgKz0gZ2V0SnVtcERpc3RhbmNlKG1fYnl0ZWNvZGUsIG1f
Ynl0ZWNvZGVMZW5ndGgsIGp1bXBMb2NhdGlvbiwgbV9wYWdlc1VzZWQsIGp1bXBTaXplKTsKKyAg
ICAgICAgICAgICAgICBERkFCeXRlY29kZUp1bXBTaXplIGp1bXBTaXplID0gZ2V0SnVtcFNpemUo
bV9ieXRlY29kZSwgbV9ieXRlY29kZUxlbmd0aCwgcHJvZ3JhbUNvdW50ZXIpOworICAgICAgICAg
ICAgICAgIHByb2dyYW1Db3VudGVyICs9IGdldEp1bXBEaXN0YW5jZShtX2J5dGVjb2RlLCBtX2J5
dGVjb2RlTGVuZ3RoLCBqdW1wTG9jYXRpb24sIGp1bXBTaXplKTsKICAgICAgICAgICAgICAgICB1
cmxJbmRleCsrOyAvLyBUaGlzIHJlcHJlc2VudHMgYW4gZWRnZSBpbiB0aGUgREZBLgogICAgICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQpJbmRleDogU291cmNlL1dlYkNvcmUvY29u
dGVudGV4dGVuc2lvbnMvREZBQnl0ZWNvZGVJbnRlcnByZXRlci5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0RGQUJ5dGVjb2RlSW50ZXJwcmV0ZXIuaAko
cmV2aXNpb24gMTg2Mzc1KQorKysgU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvREZB
Qnl0ZWNvZGVJbnRlcnByZXRlci5oCSh3b3JraW5nIGNvcHkpCkBAIC00MSwyMSArNDEsMTEgQEAg
bmFtZXNwYWNlIENvbnRlbnRFeHRlbnNpb25zIHsKIAogY2xhc3MgV0VCQ09SRV9FWFBPUlQgREZB
Qnl0ZWNvZGVJbnRlcnByZXRlciB7CiBwdWJsaWM6Ci0gICAgREZBQnl0ZWNvZGVJbnRlcnByZXRl
cihjb25zdCBERkFCeXRlY29kZSogYnl0ZWNvZGUsIHVuc2lnbmVkIGJ5dGVjb2RlTGVuZ3RoLCBW
ZWN0b3I8Ym9vbD4mIHBhZ2VzVXNlZCkKKyAgICBERkFCeXRlY29kZUludGVycHJldGVyKGNvbnN0
IERGQUJ5dGVjb2RlKiBieXRlY29kZSwgdW5zaWduZWQgYnl0ZWNvZGVMZW5ndGgpCiAgICAgICAg
IDogbV9ieXRlY29kZShieXRlY29kZSkKICAgICAgICAgLCBtX2J5dGVjb2RlTGVuZ3RoKGJ5dGVj
b2RlTGVuZ3RoKQotICAgICAgICAsIG1fcGFnZXNVc2VkKHBhZ2VzVXNlZCkKICAgICB7CiAgICAg
fQotICAgIH5ERkFCeXRlY29kZUludGVycHJldGVyKCkKLSAgICB7Ci0jaWYgQ09OVEVOVF9FWFRF
TlNJT05TX01FTU9SWV9SRVBPUlRJTkcKLSAgICAgICAgc2l6ZV90IHRvdGFsID0gMDsKLSAgICAg
ICAgZm9yIChib29sJiBiIDogbV9wYWdlc1VzZWQpCi0gICAgICAgICAgICB0b3RhbCArPSBiOwot
ICAgICAgICBkYXRhTG9nRigiUGFnZXMgdXNlZDogJXp1IC8gJXp1XG4iLCB0b3RhbCwgbV9wYWdl
c1VzZWQuc2l6ZSgpKTsKLSNlbmRpZgotICAgIH0KICAgICAKICAgICB0eXBlZGVmIEhhc2hTZXQ8
dWludDY0X3QsIERlZmF1bHRIYXNoPHVpbnQ2NF90Pjo6SGFzaCwgV1RGOjpVbnNpZ25lZFdpdGha
ZXJvS2V5SGFzaFRyYWl0czx1aW50NjRfdD4+IEFjdGlvbnM7CiAgICAgCkBAIC02Nyw3ICs1Nyw2
IEBAIHByaXZhdGU6CiAgICAgdm9pZCBpbnRlcnByZXRUZXN0RmxhZ3NBbmRBcHBlbmRBY3Rpb24o
dW5zaWduZWQmIHByb2dyYW1Db3VudGVyLCB1aW50MTZfdCBmbGFncywgQWN0aW9ucyYsIGJvb2wg
aWZEb21haW4pOwogICAgIGNvbnN0IERGQUJ5dGVjb2RlKiBtX2J5dGVjb2RlOwogICAgIGNvbnN0
IHVuc2lnbmVkIG1fYnl0ZWNvZGVMZW5ndGg7Ci0gICAgVmVjdG9yPGJvb2w+JiBtX3BhZ2VzVXNl
ZDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIENvbnRlbnRFeHRlbnNpb25zCkluZGV4OiBUb29scy9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxODYzODIp
CisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAx
NS0wNy0wNiAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgorCisg
ICAgICAgIFtDb250ZW50IEV4dGVuc2lvbnNdIFJlbW92ZSBtZW1vcnkgcGFnZSByZXBvcnRpbmcK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NjY1OQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJDb3JlL0NvbnRlbnRFeHRlbnNpb25zLmNwcDoKKyAgICAgICAgKFRl
c3RXZWJLaXRBUEk6OlRFU1RfRik6CisKIDIwMTUtMDctMDYgIEJlbmphbWluIFBvdWxhaW4gIDxi
ZW5qYW1pbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFtDb250ZW50IEV4dGVuc2lvbnNdIE1ha2Ug
dGhlIERGQSB0cmFuc2l0aW9ucyByYW5nZXMgaW5zdGVhZCBvZiBjaGFyYWN0ZXJzCkluZGV4OiBU
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQ29udGVudEV4dGVuc2lvbnMuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9Db250ZW50RXh0
ZW5zaW9ucy5jcHAJKHJldmlzaW9uIDE4NjM3NSkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViQ29yZS9Db250ZW50RXh0ZW5zaW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ0NCw2
ICs0NDQsMTcgQEAgVEVTVF9GKENvbnRlbnRFeHRlbnNpb25UZXN0LCBEdXBsaWNhdGVkTQogICAg
IHRlc3RSZXF1ZXN0KGJhY2tlbmQsIG1haW5Eb2N1bWVudFJlcXVlc3QoImh0dHBzOi8vcG9zdC5v
cmcvcG9zdCIpLCB7IH0pOwogfQogCitURVNUX0YoQ29udGVudEV4dGVuc2lvblRlc3QsIERvbWFp
blRyaWdnZXJzTWF0Y2hpbmdFdmVyeXRoaW5nKQoreworICAgIGF1dG8gaWZEb21haW5CYWNrZW5k
ID0gbWFrZUJhY2tlbmQoIlt7XCJhY3Rpb25cIjp7XCJ0eXBlXCI6XCJibG9ja1wifSxcInRyaWdn
ZXJcIjp7XCJ1cmwtZmlsdGVyXCI6XCIuKlwiLCBcImlmLWRvbWFpblwiOltcIndlYmtpdC5vcmdc
Il19fV0iKTsKKyAgICB0ZXN0UmVxdWVzdChpZkRvbWFpbkJhY2tlbmQsIG1haW5Eb2N1bWVudFJl
cXVlc3QoImh0dHA6Ly93ZWJraXQub3JnL3Rlc3QuaHRtbCIpLCB7IENvbnRlbnRFeHRlbnNpb25z
OjpBY3Rpb25UeXBlOjpCbG9ja0xvYWQgfSk7CisgICAgdGVzdFJlcXVlc3QoaWZEb21haW5CYWNr
ZW5kLCBtYWluRG9jdW1lbnRSZXF1ZXN0KCJodHRwOi8vbm90X3dlYmtpdC5vcmcvdGVzdC5odG1s
IiksIHsgfSk7CisKKyAgICBhdXRvIHVubGVzc0RvbWFpbkJhY2tlbmQgPSBtYWtlQmFja2VuZCgi
W3tcImFjdGlvblwiOntcInR5cGVcIjpcImJsb2NrXCJ9LFwidHJpZ2dlclwiOntcInVybC1maWx0
ZXJcIjpcIi4qXCIsIFwidW5sZXNzLWRvbWFpblwiOltcIndlYmtpdC5vcmdcIl19fV0iKTsKKyAg
ICB0ZXN0UmVxdWVzdCh1bmxlc3NEb21haW5CYWNrZW5kLCBtYWluRG9jdW1lbnRSZXF1ZXN0KCJo
dHRwOi8vd2Via2l0Lm9yZy90ZXN0Lmh0bWwiKSwgeyB9KTsKKyAgICB0ZXN0UmVxdWVzdCh1bmxl
c3NEb21haW5CYWNrZW5kLCBtYWluRG9jdW1lbnRSZXF1ZXN0KCJodHRwOi8vbm90X3dlYmtpdC5v
cmcvdGVzdC5odG1sIiksIHsgQ29udGVudEV4dGVuc2lvbnM6OkFjdGlvblR5cGU6OkJsb2NrTG9h
ZCB9KTsKK30KKyAgICAKIFRFU1RfRihDb250ZW50RXh0ZW5zaW9uVGVzdCwgRG9tYWluVHJpZ2dl
cnMpCiB7CiAgICAgYXV0byBpZkRvbWFpbkJhY2tlbmQgPSBtYWtlQmFja2VuZCgiW3tcImFjdGlv
blwiOntcInR5cGVcIjpcImJsb2NrXCJ9LFwidHJpZ2dlclwiOntcInVybC1maWx0ZXJcIjpcInRl
c3RcXFxcLmh0bWxcIiwgXCJpZi1kb21haW5cIjpbXCJ3ZWJraXQub3JnXCJdfX1dIik7CkBAIC0x
MTAwLDggKzExMTEsNyBAQCBURVNUX0YoQ29udGVudEV4dGVuc2lvblRlc3QsIFNwbGl0dGluZ0xh
CiAgICAgICAgICAgICBjb21iaW5lZEJ5dGVjb2RlLmFwcGVuZFZlY3RvcihieXRlY29kZSk7CiAg
ICAgICAgIH0KICAgICAgICAgCi0gICAgICAgIFZlY3Rvcjxib29sPiBwYWdlc1VzZWQ7Ci0gICAg
ICAgIENvbnRlbnRFeHRlbnNpb25zOjpERkFCeXRlY29kZUludGVycHJldGVyIGludGVycHJldGVy
KCZjb21iaW5lZEJ5dGVjb2RlWzBdLCBjb21iaW5lZEJ5dGVjb2RlLnNpemUoKSwgcGFnZXNVc2Vk
KTsKKyAgICAgICAgQ29udGVudEV4dGVuc2lvbnM6OkRGQUJ5dGVjb2RlSW50ZXJwcmV0ZXIgaW50
ZXJwcmV0ZXIoJmNvbWJpbmVkQnl0ZWNvZGVbMF0sIGNvbWJpbmVkQnl0ZWNvZGUuc2l6ZSgpKTsK
ICAgICAgICAgCiAgICAgICAgIEVYUEVDVF9FUShpbnRlcnByZXRlci5pbnRlcnByZXQoIkFCQkJY
IiwgMCkuc2l6ZSgpLCAxdWxsKTsKICAgICAgICAgRVhQRUNUX0VRKGludGVycHJldGVyLmludGVy
cHJldCgiQUNDQ1giLCAwKS5zaXplKCksIDF1bGwpOwo=
</data>
<flag name="review"
          id="281323"
          type_id="1"
          status="+"
          setter="benjamin"
    />
          </attachment>
      

    </bug>

</bugzilla>