<?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>159566</bug_id>
          <alias>CVE-2016-4707</alias>
          <creation_ts>2016-07-08 09:42:09 -0700</creation_ts>
          <short_desc>Clearing LocalStorage doesn&apos;t also delete -wal and -shm files</short_desc>
          <delta_ts>2017-10-11 10:23:11 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1209149</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-07-08 09:42:09 -0700</bug_when>
    <thetext>Clearing LocalStorage doesn&apos;t also delete -wal and -shm files

This regressed when we enabled WAL logging for our SQLite databases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1209151</commentid>
    <comment_count>1</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-07-08 09:42:35 -0700</bug_when>
    <thetext>&lt;rdar://problem/27206772&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1209154</commentid>
    <comment_count>2</comment_count>
      <attachid>283174</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-07-08 09:44:23 -0700</bug_when>
    <thetext>Created attachment 283174
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1209156</commentid>
    <comment_count>3</comment_count>
      <attachid>283175</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-07-08 09:46:17 -0700</bug_when>
    <thetext>Created attachment 283175
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1209159</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-08 09:47:22 -0700</bug_when>
    <thetext>Attachment 283175 did not pass style-queue:


ERROR: Tools/TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageClear.mm:32:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Tools/TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageClear.mm:79:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 2 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1209163</commentid>
    <comment_count>5</comment_count>
      <attachid>283175</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2016-07-08 09:52:04 -0700</bug_when>
    <thetext>Comment on attachment 283175
Patch

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

&gt; Source/WebKit2/UIProcess/Storage/LocalStorageDatabaseTracker.cpp:340
&gt; +    WebCore::SQLiteFileSystem::deleteDatabaseFile(path);

No need for the WebCore:: in this file.

&gt; Source/WebKit2/UIProcess/Storage/LocalStorageDatabaseTracker.cpp:346
&gt; +        WebCore::SQLiteFileSystem::deleteDatabaseFile(trackerDatabasePath());

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1209165</commentid>
    <comment_count>6</comment_count>
      <attachid>283175</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-07-08 09:56:59 -0700</bug_when>
    <thetext>Comment on attachment 283175
Patch

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

Looks good. If the tests are happy, go ahead and land it! r=me.

&gt; Source/WebCore/ChangeLog:4
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=159566

&lt;rdar://problem/27206772&gt;

&gt; Source/WebKit2/ChangeLog:4
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=159566

&lt;rdar://problem/27206772&gt;

&gt; Tools/ChangeLog:4
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=159566

&lt;rdar://problem/27206772&gt;

&gt; Tools/TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageClear.mm:87
&gt; +    }];

Nice test! :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1209171</commentid>
    <comment_count>7</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-07-08 10:04:12 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/202984</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>283174</attachid>
            <date>2016-07-08 09:44:23 -0700</date>
            <delta_ts>2016-07-08 09:44:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-159566-20160708094348.patch</filename>
            <type>text/plain</type>
            <size>17552</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAyOTM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGYxMjRiY2Q2OTZmNzc0
ZTgxNDg0YTU2YzhjNWNlYThmYmE0MWEyYi4uYjRhNWMzNzA3ZDA5ZjFiNDgxNzdkM2M5MTYzNzEy
MzFjZDc2OGRhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE2LTA3LTA4ICBCcmFk
eSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBDbGVhcmluZyBMb2NhbFN0
b3JhZ2UgZG9lc24ndCBhbHNvIGRlbGV0ZSAtd2FsIGFuZCAtc2htIGZpbGVzLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU5NTY2CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ292ZXJlZCBieSBuZXcgQVBJ
IHRlc3QuCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisK
KyAgICAgICAgKiBwbGF0Zm9ybS9zcWwvU1FMaXRlRmlsZVN5c3RlbS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTUUxpdGVGaWxlU3lzdGVtOjpkZWxldGVEYXRhYmFzZUZpbGUpOgorICAgICAgICAq
IHBsYXRmb3JtL3NxbC9TUUxpdGVGaWxlU3lzdGVtLmg6CisKIDIwMTYtMDctMDcgIEJyYWR5IEVp
ZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAgICAgIE1vZGVybiBJREI6IFdoZW4gSURC
RGF0YWJhc2Ugb2JqZWN0cyBhcmUgZ2FyYmFnZSBjb2xsZWN0ZWQsIHRoZXkgZG9uJ3QgY2xvc2Ug
dGhlaXIgc2VydmVyIGNvbm5lY3Rpb24uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNzJhMjdiMjM3MjE5ODAzNGM0
YWI4MzQ2MjZjMGMzZTQ1MzFmZWFlZC4uMDMyZDg4Njg5NWU3Njk1YjE3YzQyYWZhMWExMTBjYmJi
MGFkZWEwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE2LTA3LTA4ICBCcmFkeSBF
aWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBDbGVhcmluZyBMb2NhbFN0b3Jh
Z2UgZG9lc24ndCBhbHNvIGRlbGV0ZSAtd2FsIGFuZCAtc2htIGZpbGVzLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU5NTY2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvU3RvcmFnZS9M
b2NhbFN0b3JhZ2VEYXRhYmFzZVRyYWNrZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpMb2NhbFN0
b3JhZ2VEYXRhYmFzZVRyYWNrZXI6OnJlbW92ZURhdGFiYXNlV2l0aE9yaWdpbklkZW50aWZpZXIp
OgorCiAyMDE2LTA3LTA3ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgVXNlIFNvY2tldFByb3ZpZGVyIHRvIGNyZWF0ZSBXZWJTb2NrZXRDaGFu
bmVscwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IGQ4NWUxNjQ2NTAxOTY5ZGQ3YWRiMmI1YzNiMmZlODRhYTJjNmU1ODguLjg4YWNl
YjVmMDhlZjJiNjZmNWUyYmYwYWYyZTNhZWFkMWFkZGJlZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTU0MjAsNyArNTQyMCw3
IEBACiAJCUI1OURENkE5MTE5MDJBNzEwMDdFOTY4NCAvKiBKU1NRTFN0YXRlbWVudEVycm9yQ2Fs
bGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI1
OURENkE3MTE5MDJBNzEwMDdFOTY4NCAvKiBKU1NRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2suaCAq
LzsgfTsKIAkJQjU5REQ2QUExMTkwMkE3MTAwN0U5Njg0IC8qIEpTU1FMU3RhdGVtZW50RXJyb3JD
YWxsYmFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCNTlERDZBODExOTAyQTcxMDA3RTk2ODQgLyogSlNTUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNr
LmNwcCAqLzsgfTsKIAkJQjU5RUQyM0IxODI3MjY3OTAwNkQ1NjRDIC8qIFJlbmRlckFuY2VzdG9y
SXRlcmF0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEI1OUVEMjNBMTgyNzI2NzkwMDZENTY0QyAvKiBSZW5kZXJBbmNlc3Rvckl0ZXJhdG9yLmggKi87
IH07Ci0JCUI1QTY4NDIyMEZGQUJFOTgwMEQyNDY4OSAvKiBTUUxpdGVGaWxlU3lzdGVtLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCNUE2ODQyMTBGRkFC
RTk4MDBEMjQ2ODkgLyogU1FMaXRlRmlsZVN5c3RlbS5oICovOyB9OworCQlCNUE2ODQyMjBGRkFC
RTk4MDBEMjQ2ODkgLyogU1FMaXRlRmlsZVN5c3RlbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjVBNjg0MjEwRkZBQkU5ODAwRDI0Njg5IC8qIFNRTGl0
ZUZpbGVTeXN0ZW0uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQlCNUE2ODQyNDBGRkFCRUFBMDBEMjQ2ODkgLyogU1FMaXRlRmlsZVN5c3RlbS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCNUE2ODQyMzBG
RkFCRUFBMDBEMjQ2ODkgLyogU1FMaXRlRmlsZVN5c3RlbS5jcHAgKi87IH07CiAJCUI1QjY1ODc0
MTg2RkRFNEMwMDlDMjZFOCAvKiBSZW5kZXJQdHIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFERTE2NzM2MTgxMDUwQzMwMDQ2M0EyRSAvKiBSZW5kZXJQ
dHIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlC
NUI3QTE3MDE3QzEwQUE4MDBFNEFBMEEgLyogRWxlbWVudERhdGEuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjVCN0ExNkYxN0MxMDgwNjAwRTRBQTBB
IC8qIEVsZW1lbnREYXRhLmNwcCAqLzsgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3NxbC9TUUxpdGVGaWxlU3lzdGVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3NxbC9TUUxpdGVGaWxlU3lzdGVtLmNwcAppbmRleCA1YjMyMmU0MjI5NTAwNDQ3MTM0YzY5Njc2
YWVmYjkwMjk0MGQ5NDZmLi41YjZjMGEwMGJjNTcxNjJmYTA0Zjg5YTQ0YzYxZWJmMWVjY2NlZmUy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRmlsZVN5c3Rl
bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZUZpbGVTeXN0ZW0u
Y3BwCkBAIC05Miw4ICs5MiwxMCBAQCBib29sIFNRTGl0ZUZpbGVTeXN0ZW06OmRlbGV0ZURhdGFi
YXNlRmlsZShjb25zdCBTdHJpbmcmIGZpbGVOYW1lKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAK
ICAgICAvLyBUcnkgdG8gZGVsZXRlIGJvdGggdGhlIHdhbCBhbmQgc2htIGZpbGVzLCB3aGV0aGVy
IG9yIG5vdCB0aGV5IGFyZSBhY3R1YWxseSB0aGVyZS4KLSAgICBkZWxldGVGaWxlKHdhbEZpbGVO
YW1lKTsKLSAgICBkZWxldGVGaWxlKHNobUZpbGVOYW1lKTsKKyAgICBpZiAoIWRlbGV0ZUZpbGUo
d2FsRmlsZU5hbWUpKQorICAgICAgICBMT0dfRVJST1IoIlVuYWJsZSB0byBkZWxldGUgV0FMIGZp
bGUgJyVzJyIsIHdhbEZpbGVOYW1lLnV0ZjgoKS5kYXRhKCkpOworICAgIGlmICghZGVsZXRlRmls
ZShzaG1GaWxlTmFtZSkpCisgICAgICAgIExPR19FUlJPUigiVW5hYmxlIHRvIGRlbGV0ZSBTSE0g
ZmlsZSAnJXMnIiwgc2htRmlsZU5hbWUudXRmOCgpLmRhdGEoKSk7CiAKICAgICAvLyBJZiBlaXRo
ZXIgdGhlIHdhbCBvciBzaG0gZmlsZXMgcmVtYWluIGFmdGVyIHRoZSBkZWxldGUgYXR0ZW1wdCwg
dGhlIG92ZXJhbGwgZGVsZXRlIG9wZXJhdGlvbiBmYWlsZWQuCiAgICAgcmV0dXJuICFmaWxlRXhp
c3RzKHdhbEZpbGVOYW1lKSAmJiAhZmlsZUV4aXN0cyhzaG1GaWxlTmFtZSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRmlsZVN5c3RlbS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZUZpbGVTeXN0ZW0uaAppbmRleCBkM2U0YzQzZmU2
MmRmYzc3NDVkNDIzODM3ZjAyZTBlYTcxMDM5MWExLi4xOGQ5NDJhYTE4NGY4ZDRjNTE0NDcyZjAz
YmIzMDAzMDU3YTM5Zjk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwv
U1FMaXRlRmlsZVN5c3RlbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxp
dGVGaWxlU3lzdGVtLmgKQEAgLTg4LDcgKzg4LDcgQEAgcHVibGljOgogICAgIC8vIERlbGV0ZXMg
YSBkYXRhYmFzZSBmaWxlLgogICAgIC8vCiAgICAgLy8gZmlsZU5hbWUgLSBUaGUgZmlsZSBuYW1l
LgotICAgIHN0YXRpYyBib29sIGRlbGV0ZURhdGFiYXNlRmlsZShjb25zdCBTdHJpbmcmIGZpbGVO
YW1lKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgYm9vbCBkZWxldGVEYXRhYmFzZUZpbGUo
Y29uc3QgU3RyaW5nJiBmaWxlTmFtZSk7CiAKICNpZiBQTEFURk9STShJT1MpCiAgICAgLy8gVHJ1
bmNhdGVzIGEgZGF0YWJhc2UgZmlsZS4gVXNlZCB3aGVuIE1vYmlsZVNhZmFyaVNldHRpbmdzIGRl
bGV0ZXMgYSBkYXRhYmFzZSBmaWxlLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1N0b3JhZ2UvTG9jYWxTdG9yYWdlRGF0YWJhc2VUcmFja2VyLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9TdG9yYWdlL0xvY2FsU3RvcmFnZURhdGFiYXNlVHJhY2tlci5jcHAKaW5k
ZXggNzVlNmQ5YTRjODQ5NDA4MDdmNDMyOTQ5ODNlOTFhMDg4Yzc5OTlkZS4uZGYxMzYyYTg4Njk3
OTVmZTc3MjllZjljM2Y4MzI5YzZiOWVmMWRlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1N0b3JhZ2UvTG9jYWxTdG9yYWdlRGF0YWJhc2VUcmFja2VyLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvU3RvcmFnZS9Mb2NhbFN0b3JhZ2VEYXRhYmFzZVRyYWNr
ZXIuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiTG9jYWxTdG9yYWdlRGF0YWJhc2VU
cmFja2VyLmgiCiAKICNpbmNsdWRlIDxXZWJDb3JlL0ZpbGVTeXN0ZW0uaD4KKyNpbmNsdWRlIDxX
ZWJDb3JlL1NRTGl0ZUZpbGVzeXN0ZW0uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1NRTGl0ZVN0YXRl
bWVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2VjdXJpdHlPcmlnaW4uaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL1RleHRFbmNvZGluZy5oPgpAQCAtMzM2LDEzICszMzcsMTMgQEAgdm9pZCBMb2NhbFN0
b3JhZ2VEYXRhYmFzZVRyYWNrZXI6OnJlbW92ZURhdGFiYXNlV2l0aE9yaWdpbklkZW50aWZpZXIo
Y29uc3QgU3RyaW4KICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGRlbGV0ZUZpbGUocGF0
aCk7CisgICAgV2ViQ29yZTo6U1FMaXRlRmlsZVN5c3RlbTo6ZGVsZXRlRGF0YWJhc2VGaWxlKHBh
dGgpOwogCiAgICAgbV9vcmlnaW5zLnJlbW92ZShvcmlnaW5JZGVudGlmaWVyKTsKICAgICBpZiAo
bV9vcmlnaW5zLmlzRW1wdHkoKSkgewogICAgICAgICAvLyBUaGVyZSBhcmUgbm8gb3JpZ2lucyBs
ZWZ0OyBkZWxldGUgdGhlIHRyYWNrZXIgZGF0YWJhc2UuCiAgICAgICAgIG1fZGF0YWJhc2UuY2xv
c2UoKTsKLSAgICAgICAgZGVsZXRlRmlsZSh0cmFja2VyRGF0YWJhc2VQYXRoKCkpOworICAgICAg
ICBXZWJDb3JlOjpTUUxpdGVGaWxlU3lzdGVtOjpkZWxldGVEYXRhYmFzZUZpbGUodHJhY2tlckRh
dGFiYXNlUGF0aCgpKTsKICAgICAgICAgZGVsZXRlRW1wdHlEaXJlY3RvcnkobV9sb2NhbFN0b3Jh
Z2VEaXJlY3RvcnkpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9v
bHMvQ2hhbmdlTG9nCmluZGV4IDdlZmEyMmIzYTFmYjEzZTEzMWRlMmIwZWRlYzY1MWYwMDc3MGEw
MmUuLmM3MGE4NjZhNWQxZmFlMjAzZmZmYmUxOTg5MTBmYjY5MmFlZTU4MmYgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAor
MjAxNi0wNy0wOCAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAg
Q2xlYXJpbmcgTG9jYWxTdG9yYWdlIGRvZXNuJ3QgYWxzbyBkZWxldGUgLXdhbCBhbmQgLXNobSBm
aWxlcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1
OTU2NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
VGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Cisg
ICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvTG9jYWxTdG9yYWdlQ2xl
YXIuaHRtbDogQWRkZWQuCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29j
b2EvTG9jYWxTdG9yYWdlQ2xlYXIubW06IEFkZGVkLgorCiAyMDE2LTA3LTA3ICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkOiBhZGQgbXlz
ZWxmIHRvIHRoZSByZXZpZXdlcnMgbGlzdC4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYmE0
NTUwNmY2OWQzYTNkYTU3YzlhOGQ2NmY2NThiYjNjNjJjNGNmYy4uNzU0YTA1Mjg1MmZjYjMwMDIy
YzFkZjM0ZTVkYTY2ZTI5MWZlYTUyZCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTg3LDYg
Kzg3LDggQEAKIAkJNTFDRDFDNzIxQjM4RDQ4NDAwMTQyQ0E1IC8qIG1vZGFsLWFsZXJ0cy1pbi1u
ZXctYWJvdXQtYmxhbmstd2luZG93Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFDRDFDNzExQjM4RDQ4NDAwMTQyQ0E1IC8qIG1vZGFs
LWFsZXJ0cy1pbi1uZXctYWJvdXQtYmxhbmstd2luZG93Lmh0bWwgKi87IH07CiAJCTUxRTVDNzAy
MTkxOUMzQjIwMEQ4QjNFMSAvKiBzaW1wbGUyLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFFNzgwMzYxOTE5QUZGODAwMTgyOUEyIC8q
IHNpbXBsZTIuaHRtbCAqLzsgfTsKIAkJNTFFNUM3MDMxOTE5QzNCMjAwRDhCM0UxIC8qIHNpbXBs
ZTMuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA1MUU3ODAzNzE5MTlBRkY4MDAxODI5QTIgLyogc2ltcGxlMy5odG1sICovOyB9OworCQk1
MUU2QTg5NDFEMkYxQzBBMDBDMDA0QjYgLyogTG9jYWxTdG9yYWdlQ2xlYXIubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUU2QTg5MjFEMkYxQkVDMDBD
MDA0QjYgLyogTG9jYWxTdG9yYWdlQ2xlYXIubW0gKi87IH07CisJCTUxRTZBODk2MUQyRjFDQTcw
MEMwMDRCNiAvKiBMb2NhbFN0b3JhZ2VDbGVhci5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRTZBODk1MUQyRjFDNzcwMEMwMDRCNiAv
KiBMb2NhbFN0b3JhZ2VDbGVhci5odG1sICovOyB9OwogCQk1MUZDRjdBMTE1MzRCMkEwMDAxMDQ0
OTEgLyogU2hvdWxkR29Ub0JhY2tGb3J3YXJkTGlzdEl0ZW1fQnVuZGxlLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRkNGNzk3MTUzNEFDNkQwMDEw
NDQ5MSAvKiBTaG91bGRHb1RvQmFja0ZvcndhcmRMaXN0SXRlbV9CdW5kbGUuY3BwICovOyB9Owog
CQk1MjBCQ0Y0QzE0MUVCMDlFMDA5MzdFQTggLyogV2ViQXJjaGl2ZV9CdW5kbGUuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTIwQkNGNEExNDFFQjA5
RTAwOTM3RUE4IC8qIFdlYkFyY2hpdmVfQnVuZGxlLmNwcCAqLzsgfTsKIAkJNTI0QkJDOUUxOURG
NzJDMDAwMkYxQUYxIC8qIGZpbGUtd2l0aC12aWRlby5odG1sIGluIENvcHkgUmVzb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUyNEJCQzlCMTlERjM3MTQwMDJGMUFG
MSAvKiBmaWxlLXdpdGgtdmlkZW8uaHRtbCAqLzsgfTsKQEAgLTQ3OCw2ICs0ODAsNyBAQAogCQkJ
ZHN0UGF0aCA9IFRlc3RXZWJLaXRBUEkucmVzb3VyY2VzOwogCQkJZHN0U3ViZm9sZGVyU3BlYyA9
IDc7CiAJCQlmaWxlcyA9ICgKKwkJCQk1MUU2QTg5NjFEMkYxQ0E3MDBDMDA0QjYgLyogTG9jYWxT
dG9yYWdlQ2xlYXIuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQk1MUE1ODc4NTFEMjcz
OUUzMDA0QkE5QUYgLyogSW5kZXhlZERCRGF0YWJhc2VQcm9jZXNzS2lsbC0xLmh0bWwgaW4gQ29w
eSBSZXNvdXJjZXMgKi8sCiAJCQkJNTEwNDc3NzcxRDI5OEU3MjAwOTc0N0VCIC8qIElEQkRlbGV0
ZVJlY292ZXJ5Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJNTEwNDc3NzIxRDI5OERE
RDAwOTc0N0VCIC8qIElEQkRlbGV0ZVJlY292ZXJ5LnNxbGl0ZTMgaW4gQ29weSBSZXNvdXJjZXMg
Ki8sCkBAIC03MzIsNiArNzM1LDggQEAKIAkJNTFDRDFDNkExQjM4Q0UzNjAwMTQyQ0E1IC8qIE1v
ZGFsQWxlcnRzLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gTW9k
YWxBbGVydHMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxQ0QxQzcxMUIzOEQ0
ODQwMDE0MkNBNSAvKiBtb2RhbC1hbGVydHMtaW4tbmV3LWFib3V0LWJsYW5rLXdpbmRvdy5odG1s
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5o
dG1sOyBwYXRoID0gIm1vZGFsLWFsZXJ0cy1pbi1uZXctYWJvdXQtYmxhbmstd2luZG93Lmh0bWwi
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MUU1QzcwNDE5MTlFQTVGMDBEOEIzRTEg
LyogU2hvdWxkS2VlcEN1cnJlbnRCYWNrRm9yd2FyZExpc3RJdGVtSW5MaXN0LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNob3VsZEtlZXBDdXJyZW50QmFja0Zvcndh
cmRMaXN0SXRlbUluTGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxRTZB
ODkyMUQyRjFCRUMwMEMwMDRCNiAvKiBMb2NhbFN0b3JhZ2VDbGVhci5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IExvY2FsU3RvcmFnZUNsZWFyLm1tOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk1MUU2QTg5NTFEMkYxQzc3MDBDMDA0QjYgLyogTG9jYWxT
dG9yYWdlQ2xlYXIuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9IExvY2FsU3RvcmFn
ZUNsZWFyLmh0bWw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxRTc4MDM2MTkxOUFG
RjgwMDE4MjlBMiAvKiBzaW1wbGUyLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSBz
aW1wbGUyLmh0bWw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxRTc4MDM3MTkxOUFG
RjgwMDE4MjlBMiAvKiBzaW1wbGUzLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSBz
aW1wbGUzLmh0bWw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxRTkzMDE2MTU2QjEz
RTEwMDRDOTlERiAvKiBXS1BhZ2VHZXRTY2FsZUZhY3Rvck5vdFplcm8uY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tQYWdlR2V0U2NhbGVGYWN0b3JOb3RaZXJvLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTExNzksNiArMTE4NCw3IEBACiAJCQkJ
NTFCMUVFOEQxQzgwRjU4ODAwNjRGQjk4IC8qIEluZGV4ZWREQlBlcnNpc3RlbmNlLm1tICovLAog
CQkJCTM3RDM2RUQ2MUFGNDJFQ0QwMEJBRjVEOSAvKiBMb2FkQWx0ZXJuYXRlSFRNTFN0cmluZy5t
bSAqLywKIAkJCQk1NzkwMUZBQzFDQUYxMkMyMDBFRDY0RjkgLyogTG9hZEludmFsaWRVUkxSZXF1
ZXN0Lm1tICovLAorCQkJCTUxRTZBODkyMUQyRjFCRUMwMEMwMDRCNiAvKiBMb2NhbFN0b3JhZ2VD
bGVhci5tbSAqLywKIAkJCQk1MUNEMUM2QTFCMzhDRTM2MDAxNDJDQTUgLyogTW9kYWxBbGVydHMu
bW0gKi8sCiAJCQkJMUFCQzNERUQxODk5QkU2RDAwNEYwNjI2IC8qIE5hdmlnYXRpb24ubW0gKi8s
CiAJCQkJQ0VBNkNGMjIxOUNDRjVCRDAwNjRGNUE3IC8qIE9wZW5BbmRDbG9zZVdpbmRvdy5tbSAq
LywKQEAgLTEyOTEsNiArMTI5Nyw3IEBACiAJCQkJNTFBNTg3N0MxRDFCM0Q4RDAwNEJBOUFGIC8q
IEluZGV4ZWREQk11bHRpUHJvY2Vzcy0zLmh0bWwgKi8sCiAJCQkJNTFCMUVFOTQxQzgwRkFERDAw
NjRGQjk4IC8qIEluZGV4ZWREQlBlcnNpc3RlbmNlLTEuaHRtbCAqLywKIAkJCQk1MUIxRUU5NTFD
ODBGQUREMDA2NEZCOTggLyogSW5kZXhlZERCUGVyc2lzdGVuY2UtMi5odG1sICovLAorCQkJCTUx
RTZBODk1MUQyRjFDNzcwMEMwMDRCNiAvKiBMb2NhbFN0b3JhZ2VDbGVhci5odG1sICovLAogCQkJ
CTUxNzE0RUIyMUNGOEM3NjEwMDQ3MjNDNCAvKiBXZWJQcm9jZXNzS2lsbElEQkNsZWFudXAtMS5o
dG1sICovLAogCQkJCTUxNzE0RUIzMUNGOEM3NjEwMDQ3MjNDNCAvKiBXZWJQcm9jZXNzS2lsbElE
QkNsZWFudXAtMi5odG1sICovLAogCQkJCTkzQ0ZBODY2MUNFQjlERTEwMDA1NjVBOCAvKiBhdXRv
Zm9jdXNlZC10ZXh0LWlucHV0Lmh0bWwgKi8sCkBAIC0yMDk0LDYgKzIxMDEsNyBAQAogCQkJCTUx
NzE0RUI4MUNGOENBMTcwMDQ3MjNDNCAvKiBXZWJQcm9jZXNzS2lsbElEQkNsZWFudXAubW0gaW4g
U291cmNlcyAqLywKIAkJCQk3Q0NFN0VGQTFBNDExQUU2MDA0NDdDNEMgLyogSGl0VGVzdFJlc3Vs
dE5vZGVIYW5kbGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFQzExQTQxMUE3RTAwNDQ3
QzRDIC8qIEhUTUxDb2xsZWN0aW9uTmFtZWRJdGVtLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJNTFF
NkE4OTQxRDJGMUMwQTAwQzAwNEI2IC8qIExvY2FsU3RvcmFnZUNsZWFyLm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJN0NDRTdFQzIxQTQxMUE3RTAwNDQ3QzRDIC8qIEhUTUxGb3JtQ29sbGVjdGlvbk5h
bWVkSXRlbS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTdDQ0U3RUZCMUE0MTFBRTYwMDQ0N0M0QyAv
KiBJbmplY3RlZEJ1bmRsZUJhc2ljLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDQ0U3RUZDMUE0
MTFBRTYwMDQ0N0M0QyAvKiBJbmplY3RlZEJ1bmRsZUZyYW1lSGl0VGVzdC5jcHAgaW4gU291cmNl
cyAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29h
L0xvY2FsU3RvcmFnZUNsZWFyLmh0bWwgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dDJDb2NvYS9Mb2NhbFN0b3JhZ2VDbGVhci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjExYmRkNmMxNGIzYzU2
MGJiNWE3YjA3ZTYyMjJlYzU3NTIwYmMyODcKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9Mb2NhbFN0b3JhZ2VDbGVhci5odG1sCkBAIC0w
LDAgKzEsNiBAQAorPHNjcmlwdD4KKword2luZG93LmxvY2FsU3RvcmFnZS5mb28gPSAiYmFyIjsK
K3dpbmRvdy53ZWJraXQubWVzc2FnZUhhbmRsZXJzLnRlc3RIYW5kbGVyLnBvc3RNZXNzYWdlKCdH
byBhaGVhZCBhbmQgY2xlYXIgaXQnKTsKKworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9Mb2NhbFN0b3JhZ2VDbGVhci5tbSBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL0xvY2FsU3RvcmFnZUNsZWFyLm1t
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjJkMGFiZjIyY2NhNzJmMzkwNmQ2YTMzNDFjOGE3NTY5OGNlNzBkN2EKLS0t
IC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9M
b2NhbFN0b3JhZ2VDbGVhci5tbQpAQCAtMCwwICsxLDkyIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9y
dCAiY29uZmlnLmgiCisKKyNpbXBvcnQgIlBsYXRmb3JtVXRpbGl0aWVzLmgiCisjaW1wb3J0ICJU
ZXN0LmgiCisjaW1wb3J0IDxXZWJLaXQvV0tQcm9jZXNzUG9vbFByaXZhdGUuaD4KKyNpbXBvcnQg
PFdlYktpdC9XS1VzZXJDb250ZW50Q29udHJvbGxlclByaXZhdGUuaD4KKyNpbXBvcnQgPFdlYktp
dC9XS1dlYnNpdGVEYXRhU3RvcmUuaD4KKyNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdDb25maWd1
cmF0aW9uUHJpdmF0ZS5oPgorI2ltcG9ydCA8V2ViS2l0L1dlYktpdC5oPgorI2ltcG9ydCA8V2Vi
S2l0L19XS1Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5oPgorI2ltcG9ydCA8d3RmL1JldGFpblB0
ci5oPgorCisjaWYgV0tfQVBJX0VOQUJMRUQKKworc3RhdGljIGJvb2wgcmVhZHlUb0NvbnRpbnVl
OworCitAaW50ZXJmYWNlIExvY2FsU3RvcmFnZUNsZWFyTWVzc2FnZUhhbmRsZXIgOiBOU09iamVj
dCA8V0tTY3JpcHRNZXNzYWdlSGFuZGxlcj4KK0BlbmQKKworQGltcGxlbWVudGF0aW9uIExvY2Fs
U3RvcmFnZUNsZWFyTWVzc2FnZUhhbmRsZXIKKworLSAodm9pZCl1c2VyQ29udGVudENvbnRyb2xs
ZXI6KFdLVXNlckNvbnRlbnRDb250cm9sbGVyICopdXNlckNvbnRlbnRDb250cm9sbGVyIGRpZFJl
Y2VpdmVTY3JpcHRNZXNzYWdlOihXS1NjcmlwdE1lc3NhZ2UgKiltZXNzYWdlCit7CisgICAgcmVh
ZHlUb0NvbnRpbnVlID0gdHJ1ZTsKK30KKworQGVuZAorCitURVNUKFdLV2ViVmlldywgTG9jYWxT
dG9yYWdlQ2xlYXIpCit7CisgICAgUmV0YWluUHRyPExvY2FsU3RvcmFnZUNsZWFyTWVzc2FnZUhh
bmRsZXI+IGhhbmRsZXIgPSBhZG9wdE5TKFtbTG9jYWxTdG9yYWdlQ2xlYXJNZXNzYWdlSGFuZGxl
ciBhbGxvY10gaW5pdF0pOworICAgIFJldGFpblB0cjxXS1dlYlZpZXdDb25maWd1cmF0aW9uPiBj
b25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGlu
aXRdKTsKKyAgICBbW2NvbmZpZ3VyYXRpb24gdXNlckNvbnRlbnRDb250cm9sbGVyXSBhZGRTY3Jp
cHRNZXNzYWdlSGFuZGxlcjpoYW5kbGVyLmdldCgpIG5hbWU6QCJ0ZXN0SGFuZGxlciJdOworCisg
ICAgW2NvbmZpZ3VyYXRpb24gX3NldEFsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzOllF
U107CisKKyAgICBSZXRhaW5QdHI8V0tXZWJWaWV3PiB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2Vi
VmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKSBjb25m
aWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0KCldKTsKKworICAgIE5TVVJMUmVxdWVzdCAqcmVx
dWVzdCA9IFtOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W1tOU0J1bmRsZSBtYWluQnVuZGxl
XSBVUkxGb3JSZXNvdXJjZTpAIkxvY2FsU3RvcmFnZUNsZWFyIiB3aXRoRXh0ZW5zaW9uOkAiaHRt
bCIgc3ViZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJjZXMiXV07CisgICAgW3dlYlZp
ZXcgbG9hZFJlcXVlc3Q6cmVxdWVzdF07CisKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4o
JnJlYWR5VG9Db250aW51ZSk7CisgICAgcmVhZHlUb0NvbnRpbnVlID0gZmFsc2U7CisKKyAgICB3
ZWJWaWV3ID0gbmlsOworCisgICAgTlNTdHJpbmcgKmRiUGF0aCA9IFtAIn4vTGlicmFyeS9XZWJL
aXQvVGVzdFdlYktpdEFQSS9XZWJzaXRlRGF0YS9Mb2NhbFN0b3JhZ2UvZmlsZV9fMC5sb2NhbHN0
b3JhZ2UiIHN0cmluZ0J5RXhwYW5kaW5nVGlsZGVJblBhdGhdOworICAgIE5TU3RyaW5nICpkYlNI
TVBhdGggPSBbQCJ+L0xpYnJhcnkvV2ViS2l0L1Rlc3RXZWJLaXRBUEkvV2Vic2l0ZURhdGEvTG9j
YWxTdG9yYWdlL2ZpbGVfXzAubG9jYWxzdG9yYWdlLXNobSIgc3RyaW5nQnlFeHBhbmRpbmdUaWxk
ZUluUGF0aF07CisgICAgTlNTdHJpbmcgKmRiV0FMUGF0aCA9IFtAIn4vTGlicmFyeS9XZWJLaXQv
VGVzdFdlYktpdEFQSS9XZWJzaXRlRGF0YS9Mb2NhbFN0b3JhZ2UvZmlsZV9fMC5sb2NhbHN0b3Jh
Z2Utd2FsIiBzdHJpbmdCeUV4cGFuZGluZ1RpbGRlSW5QYXRoXTsKKyAgICBOU1N0cmluZyAqdHJh
Y2tlclBhdGggPSBbQCJ+L0xpYnJhcnkvV2ViS2l0L1Rlc3RXZWJLaXRBUEkvV2Vic2l0ZURhdGEv
TG9jYWxTdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmRiIiBzdHJpbmdCeUV4cGFuZGluZ1RpbGRlSW5Q
YXRoXTsKKyAgICBOU1N0cmluZyAqdHJhY2tlclNITVBhdGggPSBbQCJ+L0xpYnJhcnkvV2ViS2l0
L1Rlc3RXZWJLaXRBUEkvV2Vic2l0ZURhdGEvTG9jYWxTdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmRi
LXNobSIgc3RyaW5nQnlFeHBhbmRpbmdUaWxkZUluUGF0aF07CisgICAgTlNTdHJpbmcgKnRyYWNr
ZXJXQUxQYXRoID0gW0Aifi9MaWJyYXJ5L1dlYktpdC9UZXN0V2ViS2l0QVBJL1dlYnNpdGVEYXRh
L0xvY2FsU3RvcmFnZS9TdG9yYWdlVHJhY2tlci5kYi13YWwiIHN0cmluZ0J5RXhwYW5kaW5nVGls
ZGVJblBhdGhdOworCisgICAgW1tXS1dlYnNpdGVEYXRhU3RvcmUgZGVmYXVsdERhdGFTdG9yZV0g
cmVtb3ZlRGF0YU9mVHlwZXM6W1dLV2Vic2l0ZURhdGFTdG9yZSBhbGxXZWJzaXRlRGF0YVR5cGVz
XSBtb2RpZmllZFNpbmNlOltOU0RhdGUgZGlzdGFudFBhc3RdIGNvbXBsZXRpb25IYW5kbGVyOl4o
KSB7CisgICAgICAgIEVYUEVDVF9GQUxTRShbW05TRmlsZU1hbmFnZXIgZGVmYXVsdE1hbmFnZXJd
IGZpbGVFeGlzdHNBdFBhdGg6ZGJQYXRoXSk7CisgICAgICAgIEVYUEVDVF9GQUxTRShbW05TRmls
ZU1hbmFnZXIgZGVmYXVsdE1hbmFnZXJdIGZpbGVFeGlzdHNBdFBhdGg6ZGJTSE1QYXRoXSk7Cisg
ICAgICAgIEVYUEVDVF9GQUxTRShbW05TRmlsZU1hbmFnZXIgZGVmYXVsdE1hbmFnZXJdIGZpbGVF
eGlzdHNBdFBhdGg6ZGJXQUxQYXRoXSk7CisgICAgICAgIEVYUEVDVF9GQUxTRShbW05TRmlsZU1h
bmFnZXIgZGVmYXVsdE1hbmFnZXJdIGZpbGVFeGlzdHNBdFBhdGg6dHJhY2tlclBhdGhdKTsKKyAg
ICAgICAgRVhQRUNUX0ZBTFNFKFtbTlNGaWxlTWFuYWdlciBkZWZhdWx0TWFuYWdlcl0gZmlsZUV4
aXN0c0F0UGF0aDp0cmFja2VyU0hNUGF0aF0pOworICAgICAgICBFWFBFQ1RfRkFMU0UoW1tOU0Zp
bGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBmaWxlRXhpc3RzQXRQYXRoOnRyYWNrZXJXQUxQYXRo
XSk7CisgICAgICAgIHJlYWR5VG9Db250aW51ZSA9IHRydWU7CisgICAgfV07CisKKyAgICBUZXN0
V2ViS2l0QVBJOjpVdGlsOjpydW4oJnJlYWR5VG9Db250aW51ZSk7Cit9CisKKyNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>283175</attachid>
            <date>2016-07-08 09:46:17 -0700</date>
            <delta_ts>2016-07-08 09:56:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-159566-20160708094541.patch</filename>
            <type>text/plain</type>
            <size>16460</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAyOTM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGYxMjRiY2Q2OTZmNzc0
ZTgxNDg0YTU2YzhjNWNlYThmYmE0MWEyYi4uNjIwMmEzNDBiZWE4NDRmMzk0ZTZlMzE4ZDk2NmI5
NmQ1M2ZkNzRkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE2LTA3LTA4ICBCcmFk
eSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBDbGVhcmluZyBMb2NhbFN0
b3JhZ2UgZG9lc24ndCBhbHNvIGRlbGV0ZSAtd2FsIGFuZCAtc2htIGZpbGVzLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU5NTY2CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ292ZXJlZCBieSBuZXcgQVBJ
IHRlc3QuCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisK
KyAgICAgICAgKiBwbGF0Zm9ybS9zcWwvU1FMaXRlRmlsZVN5c3RlbS5oOgorCiAyMDE2LTA3LTA3
ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBNb2Rlcm4gSURC
OiBXaGVuIElEQkRhdGFiYXNlIG9iamVjdHMgYXJlIGdhcmJhZ2UgY29sbGVjdGVkLCB0aGV5IGRv
bid0IGNsb3NlIHRoZWlyIHNlcnZlciBjb25uZWN0aW9uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDcyYTI3YjIz
NzIxOTgwMzRjNGFiODM0NjI2YzBjM2U0NTMxZmVhZWQuLjAzMmQ4ODY4OTVlNzY5NWIxN2M0MmFm
YTFhMTEwY2JiYjBhZGVhMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxNi0wNy0w
OCAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQ2xlYXJpbmcg
TG9jYWxTdG9yYWdlIGRvZXNuJ3QgYWxzbyBkZWxldGUgLXdhbCBhbmQgLXNobSBmaWxlcy4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1OTU2NgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNz
L1N0b3JhZ2UvTG9jYWxTdG9yYWdlRGF0YWJhc2VUcmFja2VyLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6TG9jYWxTdG9yYWdlRGF0YWJhc2VUcmFja2VyOjpyZW1vdmVEYXRhYmFzZVdpdGhPcmlnaW5J
ZGVudGlmaWVyKToKKwogMjAxNi0wNy0wNyAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNl
bkB3ZWJraXQub3JnPgogCiAgICAgICAgIFVzZSBTb2NrZXRQcm92aWRlciB0byBjcmVhdGUgV2Vi
U29ja2V0Q2hhbm5lbHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCBkODVlMTY0NjUwMTk2OWRkN2FkYjJiNWMzYjJmZTg0YWEyYzZl
NTg4Li44OGFjZWI1ZjA4ZWYyYjY2ZjVlMmJmMGFmMmUzYWVhZDFhZGRiZWZkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01NDIw
LDcgKzU0MjAsNyBAQAogCQlCNTlERDZBOTExOTAyQTcxMDA3RTk2ODQgLyogSlNTUUxTdGF0ZW1l
bnRFcnJvckNhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCNTlERDZBNzExOTAyQTcxMDA3RTk2ODQgLyogSlNTUUxTdGF0ZW1lbnRFcnJvckNh
bGxiYWNrLmggKi87IH07CiAJCUI1OURENkFBMTE5MDJBNzEwMDdFOTY4NCAvKiBKU1NRTFN0YXRl
bWVudEVycm9yQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQjU5REQ2QTgxMTkwMkE3MTAwN0U5Njg0IC8qIEpTU1FMU3RhdGVtZW50RXJy
b3JDYWxsYmFjay5jcHAgKi87IH07CiAJCUI1OUVEMjNCMTgyNzI2NzkwMDZENTY0QyAvKiBSZW5k
ZXJBbmNlc3Rvckl0ZXJhdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBCNTlFRDIzQTE4MjcyNjc5MDA2RDU2NEMgLyogUmVuZGVyQW5jZXN0b3JJdGVy
YXRvci5oICovOyB9OwotCQlCNUE2ODQyMjBGRkFCRTk4MDBEMjQ2ODkgLyogU1FMaXRlRmlsZVN5
c3RlbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjVB
Njg0MjEwRkZBQkU5ODAwRDI0Njg5IC8qIFNRTGl0ZUZpbGVTeXN0ZW0uaCAqLzsgfTsKKwkJQjVB
Njg0MjIwRkZBQkU5ODAwRDI0Njg5IC8qIFNRTGl0ZUZpbGVTeXN0ZW0uaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI1QTY4NDIxMEZGQUJFOTgwMEQyNDY4
OSAvKiBTUUxpdGVGaWxlU3lzdGVtLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJQjVBNjg0MjQwRkZBQkVBQTAwRDI0Njg5IC8qIFNRTGl0ZUZpbGVT
eXN0ZW0uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QjVBNjg0MjMwRkZBQkVBQTAwRDI0Njg5IC8qIFNRTGl0ZUZpbGVTeXN0ZW0uY3BwICovOyB9Owog
CQlCNUI2NTg3NDE4NkZERTRDMDA5QzI2RTggLyogUmVuZGVyUHRyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBREUxNjczNjE4MTA1MEMzMDA0NjNBMkUg
LyogUmVuZGVyUHRyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJQjVCN0ExNzAxN0MxMEFBODAwRTRBQTBBIC8qIEVsZW1lbnREYXRhLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI1QjdBMTZGMTdDMTA4
MDYwMEU0QUEwQSAvKiBFbGVtZW50RGF0YS5jcHAgKi87IH07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRmlsZVN5c3RlbS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vc3FsL1NRTGl0ZUZpbGVTeXN0ZW0uaAppbmRleCBkM2U0YzQzZmU2MmRmYzc3NDVk
NDIzODM3ZjAyZTBlYTcxMDM5MWExLi4xOGQ5NDJhYTE4NGY4ZDRjNTE0NDcyZjAzYmIzMDAzMDU3
YTM5Zjk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRmls
ZVN5c3RlbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVGaWxlU3lz
dGVtLmgKQEAgLTg4LDcgKzg4LDcgQEAgcHVibGljOgogICAgIC8vIERlbGV0ZXMgYSBkYXRhYmFz
ZSBmaWxlLgogICAgIC8vCiAgICAgLy8gZmlsZU5hbWUgLSBUaGUgZmlsZSBuYW1lLgotICAgIHN0
YXRpYyBib29sIGRlbGV0ZURhdGFiYXNlRmlsZShjb25zdCBTdHJpbmcmIGZpbGVOYW1lKTsKKyAg
ICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgYm9vbCBkZWxldGVEYXRhYmFzZUZpbGUoY29uc3QgU3Ry
aW5nJiBmaWxlTmFtZSk7CiAKICNpZiBQTEFURk9STShJT1MpCiAgICAgLy8gVHJ1bmNhdGVzIGEg
ZGF0YWJhc2UgZmlsZS4gVXNlZCB3aGVuIE1vYmlsZVNhZmFyaVNldHRpbmdzIGRlbGV0ZXMgYSBk
YXRhYmFzZSBmaWxlLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1N0b3Jh
Z2UvTG9jYWxTdG9yYWdlRGF0YWJhc2VUcmFja2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9TdG9yYWdlL0xvY2FsU3RvcmFnZURhdGFiYXNlVHJhY2tlci5jcHAKaW5kZXggNzVlNmQ5
YTRjODQ5NDA4MDdmNDMyOTQ5ODNlOTFhMDg4Yzc5OTlkZS4uZGYxMzYyYTg4Njk3OTVmZTc3Mjll
ZjljM2Y4MzI5YzZiOWVmMWRlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1N0b3JhZ2UvTG9jYWxTdG9yYWdlRGF0YWJhc2VUcmFja2VyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvU3RvcmFnZS9Mb2NhbFN0b3JhZ2VEYXRhYmFzZVRyYWNrZXIuY3BwCkBA
IC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiTG9jYWxTdG9yYWdlRGF0YWJhc2VUcmFja2VyLmgi
CiAKICNpbmNsdWRlIDxXZWJDb3JlL0ZpbGVTeXN0ZW0uaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1NR
TGl0ZUZpbGVzeXN0ZW0uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1NRTGl0ZVN0YXRlbWVudC5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvU2VjdXJpdHlPcmlnaW4uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Rl
eHRFbmNvZGluZy5oPgpAQCAtMzM2LDEzICszMzcsMTMgQEAgdm9pZCBMb2NhbFN0b3JhZ2VEYXRh
YmFzZVRyYWNrZXI6OnJlbW92ZURhdGFiYXNlV2l0aE9yaWdpbklkZW50aWZpZXIoY29uc3QgU3Ry
aW4KICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGRlbGV0ZUZpbGUocGF0aCk7CisgICAg
V2ViQ29yZTo6U1FMaXRlRmlsZVN5c3RlbTo6ZGVsZXRlRGF0YWJhc2VGaWxlKHBhdGgpOwogCiAg
ICAgbV9vcmlnaW5zLnJlbW92ZShvcmlnaW5JZGVudGlmaWVyKTsKICAgICBpZiAobV9vcmlnaW5z
LmlzRW1wdHkoKSkgewogICAgICAgICAvLyBUaGVyZSBhcmUgbm8gb3JpZ2lucyBsZWZ0OyBkZWxl
dGUgdGhlIHRyYWNrZXIgZGF0YWJhc2UuCiAgICAgICAgIG1fZGF0YWJhc2UuY2xvc2UoKTsKLSAg
ICAgICAgZGVsZXRlRmlsZSh0cmFja2VyRGF0YWJhc2VQYXRoKCkpOworICAgICAgICBXZWJDb3Jl
OjpTUUxpdGVGaWxlU3lzdGVtOjpkZWxldGVEYXRhYmFzZUZpbGUodHJhY2tlckRhdGFiYXNlUGF0
aCgpKTsKICAgICAgICAgZGVsZXRlRW1wdHlEaXJlY3RvcnkobV9sb2NhbFN0b3JhZ2VEaXJlY3Rv
cnkpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdl
TG9nCmluZGV4IDdlZmEyMmIzYTFmYjEzZTEzMWRlMmIwZWRlYzY1MWYwMDc3MGEwMmUuLmM3MGE4
NjZhNWQxZmFlMjAzZmZmYmUxOTg5MTBmYjY5MmFlZTU4MmYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0No
YW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNi0wNy0w
OCAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQ2xlYXJpbmcg
TG9jYWxTdG9yYWdlIGRvZXNuJ3QgYWxzbyBkZWxldGUgLXdhbCBhbmQgLXNobSBmaWxlcy4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1OTU2NgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICog
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvTG9jYWxTdG9yYWdlQ2xlYXIuaHRtbDog
QWRkZWQuCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvTG9jYWxT
dG9yYWdlQ2xlYXIubW06IEFkZGVkLgorCiAyMDE2LTA3LTA3ICBQZXIgQXJuZSBWb2xsYW4gIDxw
dm9sbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkOiBhZGQgbXlzZWxmIHRvIHRo
ZSByZXZpZXdlcnMgbGlzdC4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdl
YktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYmE0NTUwNmY2OWQz
YTNkYTU3YzlhOGQ2NmY2NThiYjNjNjJjNGNmYy4uNzU0YTA1Mjg1MmZjYjMwMDIyYzFkZjM0ZTVk
YTY2ZTI5MWZlYTUyZCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0
QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTg3LDYgKzg3LDggQEAK
IAkJNTFDRDFDNzIxQjM4RDQ4NDAwMTQyQ0E1IC8qIG1vZGFsLWFsZXJ0cy1pbi1uZXctYWJvdXQt
Ymxhbmstd2luZG93Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTFDRDFDNzExQjM4RDQ4NDAwMTQyQ0E1IC8qIG1vZGFsLWFsZXJ0cy1p
bi1uZXctYWJvdXQtYmxhbmstd2luZG93Lmh0bWwgKi87IH07CiAJCTUxRTVDNzAyMTkxOUMzQjIw
MEQ4QjNFMSAvKiBzaW1wbGUyLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTFFNzgwMzYxOTE5QUZGODAwMTgyOUEyIC8qIHNpbXBsZTIu
aHRtbCAqLzsgfTsKIAkJNTFFNUM3MDMxOTE5QzNCMjAwRDhCM0UxIC8qIHNpbXBsZTMuaHRtbCBp
biBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUU3
ODAzNzE5MTlBRkY4MDAxODI5QTIgLyogc2ltcGxlMy5odG1sICovOyB9OworCQk1MUU2QTg5NDFE
MkYxQzBBMDBDMDA0QjYgLyogTG9jYWxTdG9yYWdlQ2xlYXIubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUU2QTg5MjFEMkYxQkVDMDBDMDA0QjYgLyog
TG9jYWxTdG9yYWdlQ2xlYXIubW0gKi87IH07CisJCTUxRTZBODk2MUQyRjFDQTcwMEMwMDRCNiAv
KiBMb2NhbFN0b3JhZ2VDbGVhci5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRTZBODk1MUQyRjFDNzcwMEMwMDRCNiAvKiBMb2NhbFN0
b3JhZ2VDbGVhci5odG1sICovOyB9OwogCQk1MUZDRjdBMTE1MzRCMkEwMDAxMDQ0OTEgLyogU2hv
dWxkR29Ub0JhY2tGb3J3YXJkTGlzdEl0ZW1fQnVuZGxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRkNGNzk3MTUzNEFDNkQwMDEwNDQ5MSAvKiBT
aG91bGRHb1RvQmFja0ZvcndhcmRMaXN0SXRlbV9CdW5kbGUuY3BwICovOyB9OwogCQk1MjBCQ0Y0
QzE0MUVCMDlFMDA5MzdFQTggLyogV2ViQXJjaGl2ZV9CdW5kbGUuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTIwQkNGNEExNDFFQjA5RTAwOTM3RUE4
IC8qIFdlYkFyY2hpdmVfQnVuZGxlLmNwcCAqLzsgfTsKIAkJNTI0QkJDOUUxOURGNzJDMDAwMkYx
QUYxIC8qIGZpbGUtd2l0aC12aWRlby5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUyNEJCQzlCMTlERjM3MTQwMDJGMUFGMSAvKiBmaWxl
LXdpdGgtdmlkZW8uaHRtbCAqLzsgfTsKQEAgLTQ3OCw2ICs0ODAsNyBAQAogCQkJZHN0UGF0aCA9
IFRlc3RXZWJLaXRBUEkucmVzb3VyY2VzOwogCQkJZHN0U3ViZm9sZGVyU3BlYyA9IDc7CiAJCQlm
aWxlcyA9ICgKKwkJCQk1MUU2QTg5NjFEMkYxQ0E3MDBDMDA0QjYgLyogTG9jYWxTdG9yYWdlQ2xl
YXIuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQk1MUE1ODc4NTFEMjczOUUzMDA0QkE5
QUYgLyogSW5kZXhlZERCRGF0YWJhc2VQcm9jZXNzS2lsbC0xLmh0bWwgaW4gQ29weSBSZXNvdXJj
ZXMgKi8sCiAJCQkJNTEwNDc3NzcxRDI5OEU3MjAwOTc0N0VCIC8qIElEQkRlbGV0ZVJlY292ZXJ5
Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJNTEwNDc3NzIxRDI5OERERDAwOTc0N0VC
IC8qIElEQkRlbGV0ZVJlY292ZXJ5LnNxbGl0ZTMgaW4gQ29weSBSZXNvdXJjZXMgKi8sCkBAIC03
MzIsNiArNzM1LDggQEAKIAkJNTFDRDFDNkExQjM4Q0UzNjAwMTQyQ0E1IC8qIE1vZGFsQWxlcnRz
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gTW9kYWxBbGVydHMu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxQ0QxQzcxMUIzOEQ0ODQwMDE0MkNB
NSAvKiBtb2RhbC1hbGVydHMtaW4tbmV3LWFib3V0LWJsYW5rLXdpbmRvdy5odG1sICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRo
ID0gIm1vZGFsLWFsZXJ0cy1pbi1uZXctYWJvdXQtYmxhbmstd2luZG93Lmh0bWwiOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk1MUU1QzcwNDE5MTlFQTVGMDBEOEIzRTEgLyogU2hvdWxk
S2VlcEN1cnJlbnRCYWNrRm9yd2FyZExpc3RJdGVtSW5MaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNob3VsZEtlZXBDdXJyZW50QmFja0ZvcndhcmRMaXN0SXRl
bUluTGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxRTZBODkyMUQyRjFC
RUMwMEMwMDRCNiAvKiBMb2NhbFN0b3JhZ2VDbGVhci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IExvY2FsU3RvcmFnZUNsZWFyLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk1MUU2QTg5NTFEMkYxQzc3MDBDMDA0QjYgLyogTG9jYWxTdG9yYWdlQ2xl
YXIuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9IExvY2FsU3RvcmFnZUNsZWFyLmh0
bWw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxRTc4MDM2MTkxOUFGRjgwMDE4MjlB
MiAvKiBzaW1wbGUyLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSBzaW1wbGUyLmh0
bWw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxRTc4MDM3MTkxOUFGRjgwMDE4MjlB
MiAvKiBzaW1wbGUzLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSBzaW1wbGUzLmh0
bWw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxRTkzMDE2MTU2QjEzRTEwMDRDOTlE
RiAvKiBXS1BhZ2VHZXRTY2FsZUZhY3Rvck5vdFplcm8uY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gV0tQYWdlR2V0U2NhbGVGYWN0b3JOb3RaZXJvLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTExNzksNiArMTE4NCw3IEBACiAJCQkJNTFCMUVFOEQx
QzgwRjU4ODAwNjRGQjk4IC8qIEluZGV4ZWREQlBlcnNpc3RlbmNlLm1tICovLAogCQkJCTM3RDM2
RUQ2MUFGNDJFQ0QwMEJBRjVEOSAvKiBMb2FkQWx0ZXJuYXRlSFRNTFN0cmluZy5tbSAqLywKIAkJ
CQk1NzkwMUZBQzFDQUYxMkMyMDBFRDY0RjkgLyogTG9hZEludmFsaWRVUkxSZXF1ZXN0Lm1tICov
LAorCQkJCTUxRTZBODkyMUQyRjFCRUMwMEMwMDRCNiAvKiBMb2NhbFN0b3JhZ2VDbGVhci5tbSAq
LywKIAkJCQk1MUNEMUM2QTFCMzhDRTM2MDAxNDJDQTUgLyogTW9kYWxBbGVydHMubW0gKi8sCiAJ
CQkJMUFCQzNERUQxODk5QkU2RDAwNEYwNjI2IC8qIE5hdmlnYXRpb24ubW0gKi8sCiAJCQkJQ0VB
NkNGMjIxOUNDRjVCRDAwNjRGNUE3IC8qIE9wZW5BbmRDbG9zZVdpbmRvdy5tbSAqLywKQEAgLTEy
OTEsNiArMTI5Nyw3IEBACiAJCQkJNTFBNTg3N0MxRDFCM0Q4RDAwNEJBOUFGIC8qIEluZGV4ZWRE
Qk11bHRpUHJvY2Vzcy0zLmh0bWwgKi8sCiAJCQkJNTFCMUVFOTQxQzgwRkFERDAwNjRGQjk4IC8q
IEluZGV4ZWREQlBlcnNpc3RlbmNlLTEuaHRtbCAqLywKIAkJCQk1MUIxRUU5NTFDODBGQUREMDA2
NEZCOTggLyogSW5kZXhlZERCUGVyc2lzdGVuY2UtMi5odG1sICovLAorCQkJCTUxRTZBODk1MUQy
RjFDNzcwMEMwMDRCNiAvKiBMb2NhbFN0b3JhZ2VDbGVhci5odG1sICovLAogCQkJCTUxNzE0RUIy
MUNGOEM3NjEwMDQ3MjNDNCAvKiBXZWJQcm9jZXNzS2lsbElEQkNsZWFudXAtMS5odG1sICovLAog
CQkJCTUxNzE0RUIzMUNGOEM3NjEwMDQ3MjNDNCAvKiBXZWJQcm9jZXNzS2lsbElEQkNsZWFudXAt
Mi5odG1sICovLAogCQkJCTkzQ0ZBODY2MUNFQjlERTEwMDA1NjVBOCAvKiBhdXRvZm9jdXNlZC10
ZXh0LWlucHV0Lmh0bWwgKi8sCkBAIC0yMDk0LDYgKzIxMDEsNyBAQAogCQkJCTUxNzE0RUI4MUNG
OENBMTcwMDQ3MjNDNCAvKiBXZWJQcm9jZXNzS2lsbElEQkNsZWFudXAubW0gaW4gU291cmNlcyAq
LywKIAkJCQk3Q0NFN0VGQTFBNDExQUU2MDA0NDdDNEMgLyogSGl0VGVzdFJlc3VsdE5vZGVIYW5k
bGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFQzExQTQxMUE3RTAwNDQ3QzRDIC8qIEhU
TUxDb2xsZWN0aW9uTmFtZWRJdGVtLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJNTFFNkE4OTQxRDJG
MUMwQTAwQzAwNEI2IC8qIExvY2FsU3RvcmFnZUNsZWFyLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
N0NDRTdFQzIxQTQxMUE3RTAwNDQ3QzRDIC8qIEhUTUxGb3JtQ29sbGVjdGlvbk5hbWVkSXRlbS5t
bSBpbiBTb3VyY2VzICovLAogCQkJCTdDQ0U3RUZCMUE0MTFBRTYwMDQ0N0M0QyAvKiBJbmplY3Rl
ZEJ1bmRsZUJhc2ljLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDQ0U3RUZDMUE0MTFBRTYwMDQ0
N0M0QyAvKiBJbmplY3RlZEJ1bmRsZUZyYW1lSGl0VGVzdC5jcHAgaW4gU291cmNlcyAqLywKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL0xvY2FsU3Rv
cmFnZUNsZWFyLmh0bWwgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9M
b2NhbFN0b3JhZ2VDbGVhci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjExYmRkNmMxNGIzYzU2MGJiNWE3YjA3
ZTYyMjJlYzU3NTIwYmMyODcKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdDJDb2NvYS9Mb2NhbFN0b3JhZ2VDbGVhci5odG1sCkBAIC0wLDAgKzEsNiBA
QAorPHNjcmlwdD4KKword2luZG93LmxvY2FsU3RvcmFnZS5mb28gPSAiYmFyIjsKK3dpbmRvdy53
ZWJraXQubWVzc2FnZUhhbmRsZXJzLnRlc3RIYW5kbGVyLnBvc3RNZXNzYWdlKCdHbyBhaGVhZCBh
bmQgY2xlYXIgaXQnKTsKKworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9Mb2NhbFN0b3JhZ2VDbGVhci5tbSBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL0xvY2FsU3RvcmFnZUNsZWFyLm1tCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjJkMGFiZjIyY2NhNzJmMzkwNmQ2YTMzNDFjOGE3NTY5OGNlNzBkN2EKLS0tIC9kZXYvbnVs
bAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9Mb2NhbFN0b3Jh
Z2VDbGVhci5tbQpAQCAtMCwwICsxLDkyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmln
LmgiCisKKyNpbXBvcnQgIlBsYXRmb3JtVXRpbGl0aWVzLmgiCisjaW1wb3J0ICJUZXN0LmgiCisj
aW1wb3J0IDxXZWJLaXQvV0tQcm9jZXNzUG9vbFByaXZhdGUuaD4KKyNpbXBvcnQgPFdlYktpdC9X
S1VzZXJDb250ZW50Q29udHJvbGxlclByaXZhdGUuaD4KKyNpbXBvcnQgPFdlYktpdC9XS1dlYnNp
dGVEYXRhU3RvcmUuaD4KKyNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJp
dmF0ZS5oPgorI2ltcG9ydCA8V2ViS2l0L1dlYktpdC5oPgorI2ltcG9ydCA8V2ViS2l0L19XS1By
b2Nlc3NQb29sQ29uZmlndXJhdGlvbi5oPgorI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgorCisj
aWYgV0tfQVBJX0VOQUJMRUQKKworc3RhdGljIGJvb2wgcmVhZHlUb0NvbnRpbnVlOworCitAaW50
ZXJmYWNlIExvY2FsU3RvcmFnZUNsZWFyTWVzc2FnZUhhbmRsZXIgOiBOU09iamVjdCA8V0tTY3Jp
cHRNZXNzYWdlSGFuZGxlcj4KK0BlbmQKKworQGltcGxlbWVudGF0aW9uIExvY2FsU3RvcmFnZUNs
ZWFyTWVzc2FnZUhhbmRsZXIKKworLSAodm9pZCl1c2VyQ29udGVudENvbnRyb2xsZXI6KFdLVXNl
ckNvbnRlbnRDb250cm9sbGVyICopdXNlckNvbnRlbnRDb250cm9sbGVyIGRpZFJlY2VpdmVTY3Jp
cHRNZXNzYWdlOihXS1NjcmlwdE1lc3NhZ2UgKiltZXNzYWdlCit7CisgICAgcmVhZHlUb0NvbnRp
bnVlID0gdHJ1ZTsKK30KKworQGVuZAorCitURVNUKFdLV2ViVmlldywgTG9jYWxTdG9yYWdlQ2xl
YXIpCit7CisgICAgUmV0YWluUHRyPExvY2FsU3RvcmFnZUNsZWFyTWVzc2FnZUhhbmRsZXI+IGhh
bmRsZXIgPSBhZG9wdE5TKFtbTG9jYWxTdG9yYWdlQ2xlYXJNZXNzYWdlSGFuZGxlciBhbGxvY10g
aW5pdF0pOworICAgIFJldGFpblB0cjxXS1dlYlZpZXdDb25maWd1cmF0aW9uPiBjb25maWd1cmF0
aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKKyAg
ICBbW2NvbmZpZ3VyYXRpb24gdXNlckNvbnRlbnRDb250cm9sbGVyXSBhZGRTY3JpcHRNZXNzYWdl
SGFuZGxlcjpoYW5kbGVyLmdldCgpIG5hbWU6QCJ0ZXN0SGFuZGxlciJdOworCisgICAgW2NvbmZp
Z3VyYXRpb24gX3NldEFsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzOllFU107CisKKyAg
ICBSZXRhaW5QdHI8V0tXZWJWaWV3PiB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxv
Y10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKSBjb25maWd1cmF0aW9u
OmNvbmZpZ3VyYXRpb24uZ2V0KCldKTsKKworICAgIE5TVVJMUmVxdWVzdCAqcmVxdWVzdCA9IFtO
U1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JS
ZXNvdXJjZTpAIkxvY2FsU3RvcmFnZUNsZWFyIiB3aXRoRXh0ZW5zaW9uOkAiaHRtbCIgc3ViZGly
ZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJjZXMiXV07CisgICAgW3dlYlZpZXcgbG9hZFJl
cXVlc3Q6cmVxdWVzdF07CisKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJnJlYWR5VG9D
b250aW51ZSk7CisgICAgcmVhZHlUb0NvbnRpbnVlID0gZmFsc2U7CisKKyAgICB3ZWJWaWV3ID0g
bmlsOworCisgICAgTlNTdHJpbmcgKmRiUGF0aCA9IFtAIn4vTGlicmFyeS9XZWJLaXQvVGVzdFdl
YktpdEFQSS9XZWJzaXRlRGF0YS9Mb2NhbFN0b3JhZ2UvZmlsZV9fMC5sb2NhbHN0b3JhZ2UiIHN0
cmluZ0J5RXhwYW5kaW5nVGlsZGVJblBhdGhdOworICAgIE5TU3RyaW5nICpkYlNITVBhdGggPSBb
QCJ+L0xpYnJhcnkvV2ViS2l0L1Rlc3RXZWJLaXRBUEkvV2Vic2l0ZURhdGEvTG9jYWxTdG9yYWdl
L2ZpbGVfXzAubG9jYWxzdG9yYWdlLXNobSIgc3RyaW5nQnlFeHBhbmRpbmdUaWxkZUluUGF0aF07
CisgICAgTlNTdHJpbmcgKmRiV0FMUGF0aCA9IFtAIn4vTGlicmFyeS9XZWJLaXQvVGVzdFdlYktp
dEFQSS9XZWJzaXRlRGF0YS9Mb2NhbFN0b3JhZ2UvZmlsZV9fMC5sb2NhbHN0b3JhZ2Utd2FsIiBz
dHJpbmdCeUV4cGFuZGluZ1RpbGRlSW5QYXRoXTsKKyAgICBOU1N0cmluZyAqdHJhY2tlclBhdGgg
PSBbQCJ+L0xpYnJhcnkvV2ViS2l0L1Rlc3RXZWJLaXRBUEkvV2Vic2l0ZURhdGEvTG9jYWxTdG9y
YWdlL1N0b3JhZ2VUcmFja2VyLmRiIiBzdHJpbmdCeUV4cGFuZGluZ1RpbGRlSW5QYXRoXTsKKyAg
ICBOU1N0cmluZyAqdHJhY2tlclNITVBhdGggPSBbQCJ+L0xpYnJhcnkvV2ViS2l0L1Rlc3RXZWJL
aXRBUEkvV2Vic2l0ZURhdGEvTG9jYWxTdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmRiLXNobSIgc3Ry
aW5nQnlFeHBhbmRpbmdUaWxkZUluUGF0aF07CisgICAgTlNTdHJpbmcgKnRyYWNrZXJXQUxQYXRo
ID0gW0Aifi9MaWJyYXJ5L1dlYktpdC9UZXN0V2ViS2l0QVBJL1dlYnNpdGVEYXRhL0xvY2FsU3Rv
cmFnZS9TdG9yYWdlVHJhY2tlci5kYi13YWwiIHN0cmluZ0J5RXhwYW5kaW5nVGlsZGVJblBhdGhd
OworCisgICAgW1tXS1dlYnNpdGVEYXRhU3RvcmUgZGVmYXVsdERhdGFTdG9yZV0gcmVtb3ZlRGF0
YU9mVHlwZXM6W1dLV2Vic2l0ZURhdGFTdG9yZSBhbGxXZWJzaXRlRGF0YVR5cGVzXSBtb2RpZmll
ZFNpbmNlOltOU0RhdGUgZGlzdGFudFBhc3RdIGNvbXBsZXRpb25IYW5kbGVyOl4oKSB7CisgICAg
ICAgIEVYUEVDVF9GQUxTRShbW05TRmlsZU1hbmFnZXIgZGVmYXVsdE1hbmFnZXJdIGZpbGVFeGlz
dHNBdFBhdGg6ZGJQYXRoXSk7CisgICAgICAgIEVYUEVDVF9GQUxTRShbW05TRmlsZU1hbmFnZXIg
ZGVmYXVsdE1hbmFnZXJdIGZpbGVFeGlzdHNBdFBhdGg6ZGJTSE1QYXRoXSk7CisgICAgICAgIEVY
UEVDVF9GQUxTRShbW05TRmlsZU1hbmFnZXIgZGVmYXVsdE1hbmFnZXJdIGZpbGVFeGlzdHNBdFBh
dGg6ZGJXQUxQYXRoXSk7CisgICAgICAgIEVYUEVDVF9GQUxTRShbW05TRmlsZU1hbmFnZXIgZGVm
YXVsdE1hbmFnZXJdIGZpbGVFeGlzdHNBdFBhdGg6dHJhY2tlclBhdGhdKTsKKyAgICAgICAgRVhQ
RUNUX0ZBTFNFKFtbTlNGaWxlTWFuYWdlciBkZWZhdWx0TWFuYWdlcl0gZmlsZUV4aXN0c0F0UGF0
aDp0cmFja2VyU0hNUGF0aF0pOworICAgICAgICBFWFBFQ1RfRkFMU0UoW1tOU0ZpbGVNYW5hZ2Vy
IGRlZmF1bHRNYW5hZ2VyXSBmaWxlRXhpc3RzQXRQYXRoOnRyYWNrZXJXQUxQYXRoXSk7CisgICAg
ICAgIHJlYWR5VG9Db250aW51ZSA9IHRydWU7CisgICAgfV07CisKKyAgICBUZXN0V2ViS2l0QVBJ
OjpVdGlsOjpydW4oJnJlYWR5VG9Db250aW51ZSk7Cit9CisKKyNlbmRpZgo=
</data>
<flag name="review"
          id="306885"
          type_id="1"
          status="+"
          setter="bfulgham"
    />
          </attachment>
      

    </bug>

</bugzilla>